// Auto-generated by tsbundle - do not edit export const files: { path: string; contentBase64: string }[] = [ { "path": "bundle.js", "contentBase64": "dmFyIGNhdD1PYmplY3QuY3JlYXRlLG9hdD1PYmplY3QuZnJlZXplLGEzPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgZGF0PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7dmFyIGU4YT1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lczt2YXIgdDhhPU9iamVjdC5nZXRQcm90b3R5cGVPZixhOGE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgdWF0PShhLGUpPT4oZT1TeW1ib2xbYV0pP2U6U3ltYm9sLmZvcigiU3ltYm9sLiIrYSksajU9YT0+e3Rocm93IFR5cGVFcnJvcihhKX07dmFyIHBhdD0oYSxlLHQpPT5lIGluIGE/YTMoYSxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp0fSk6YVtlXT10O3ZhciBzPShhLGUpPT5hMyhhLCJuYW1lIix7dmFsdWU6ZSxjb25maWd1cmFibGU6ITB9KTt2YXIgZj0oYSxlKT0+KCk9PihhJiYoZT1hKGE9MCkpLGUpO3ZhciB2bz0oYSxlKT0+KCk9PihlfHxhKChlPXtleHBvcnRzOnt9fSkuZXhwb3J0cyxlKSxlLmV4cG9ydHMpLHJ0PShhLGUpPT57Zm9yKHZhciB0IGluIGUpYTMoYSx0LHtnZXQ6ZVt0XSxlbnVtZXJhYmxlOiEwfSl9LHI4YT0oYSxlLHQscik9PntpZihlJiZ0eXBlb2YgZT09Im9iamVjdCJ8fHR5cGVvZiBlPT0iZnVuY3Rpb24iKWZvcihsZXQgaSBvZiBlOGEoZSkpIWE4YS5jYWxsKGEsaSkmJmkhPT10JiZhMyhhLGkse2dldDooKT0+ZVtpXSxlbnVtZXJhYmxlOiEocj1kYXQoZSxpKSl8fHIuZW51bWVyYWJsZX0pO3JldHVybiBhfTt2YXIgQmk9KGEsZSx0KT0+KHQ9YSE9bnVsbD9jYXQodDhhKGEpKTp7fSxyOGEoZXx8IWF8fCFhLl9fZXNNb2R1bGU/YTModCwiZGVmYXVsdCIse3ZhbHVlOmEsZW51bWVyYWJsZTohMH0pOnQsYSkpO3ZhciBBcj1hPT5bLCwsY2F0KGE/Llt1YXQoIm1ldGFkYXRhIildPz9udWxsKV0sZmF0PVsiY2xhc3MiLCJtZXRob2QiLCJnZXR0ZXIiLCJzZXR0ZXIiLCJhY2Nlc3NvciIsImZpZWxkIiwidmFsdWUiLCJnZXQiLCJzZXQiXSxJNz1hPT5hIT09dm9pZCAwJiZ0eXBlb2YgYSE9ImZ1bmN0aW9uIj9qNSgiRnVuY3Rpb24gZXhwZWN0ZWQiKTphLHM4YT0oYSxlLHQscixpKT0+KHtraW5kOmZhdFthXSxuYW1lOmUsbWV0YWRhdGE6cixhZGRJbml0aWFsaXplcjpvPT50Ll8/ajUoIkFscmVhZHkgaW5pdGlhbGl6ZWQiKTppLnB1c2goSTcob3x8bnVsbCkpfSksaThhPShhLGUpPT5wYXQoZSx1YXQoIm1ldGFkYXRhIiksYVszXSksR2U9KGEsZSx0LHIpPT57Zm9yKHZhciBpPTAsbz1hW2U+PjFdLG49byYmby5sZW5ndGg7aTxuO2krKyllJjE/b1tpXS5jYWxsKHQpOnI9b1tpXS5jYWxsKHQscik7cmV0dXJuIHJ9LFN0PShhLGUsdCxyLGksbyk9Pnt2YXIgbixsLGQsYyxwLHU9ZSY3LG09ISEoZSY4KSx2PSEhKGUmMTYpLHg9dT4zP2EubGVuZ3RoKzE6dT9tPzE6MjowLGI9ZmF0W3UrNV0sZz11PjMmJihhW3gtMV09W10pLHk9YVt4XXx8KGFbeF09W10pLGs9dSYmKCF2JiYhbSYmKGk9aS5wcm90b3R5cGUpLHU8NSYmKHU+M3x8IXYpJiZkYXQodTw0P2k6e2dldFt0XSgpe3JldHVybiBuYXQodGhpcyxvKX0sc2V0W3RdKE4pe3JldHVybiBsYXQodGhpcyxvLE4pfX0sdCkpO3U/diYmdTw0JiZzKG8sKHU+Mj8ic2V0ICI6dT4xPyJnZXQgIjoiIikrdCk6cyhpLHQpO2Zvcih2YXIgQz1yLmxlbmd0aC0xO0M+PTA7Qy0tKWM9czhhKHUsdCxkPXt9LGFbM10seSksdSYmKGMuc3RhdGljPW0sYy5wcml2YXRlPXYscD1jLmFjY2Vzcz17aGFzOnY/Tj0+bzhhKGksTik6Tj0+dCBpbiBOfSx1XjMmJihwLmdldD12P049Pih1XjE/bmF0Om44YSkoTixpLHVeND9vOmsuZ2V0KTpOPT5OW3RdKSx1PjImJihwLnNldD12PyhOLF8pPT5sYXQoTixpLF8sdV40P286ay5zZXQpOihOLF8pPT5OW3RdPV8pKSxsPSgwLHJbQ10pKHU/dTw0P3Y/bzprW2JdOnU+ND92b2lkIDA6e2dldDprLmdldCxzZXQ6ay5zZXR9OmksYyksZC5fPTEsdV40fHxsPT09dm9pZCAwP0k3KGwpJiYodT40P2cudW5zaGlmdChsKTp1P3Y/bz1sOmtbYl09bDppPWwpOnR5cGVvZiBsIT0ib2JqZWN0Inx8bD09PW51bGw/ajUoIk9iamVjdCBleHBlY3RlZCIpOihJNyhuPWwuZ2V0KSYmKGsuZ2V0PW4pLEk3KG49bC5zZXQpJiYoay5zZXQ9biksSTcobj1sLmluaXQpJiZnLnVuc2hpZnQobikpO3JldHVybiB1fHxpOGEoYSxpKSxrJiZhMyhpLHQsayksdj91XjQ/bzprOml9LEVyPShhLGUsdCk9PnBhdChhLHR5cGVvZiBlIT0ic3ltYm9sIj9lKyIiOmUsdCksWGllPShhLGUsdCk9PmUuaGFzKGEpfHxqNSgiQ2Fubm90ICIrdCksbzhhPShhLGUpPT5PYmplY3QoZSkhPT1lP2o1KCdDYW5ub3QgdXNlIHRoZSAiaW4iIG9wZXJhdG9yIG9uIHRoaXMgdmFsdWUnKTphLmhhcyhlKSxuYXQ9KGEsZSx0KT0+KFhpZShhLGUsInJlYWQgZnJvbSBwcml2YXRlIGZpZWxkIiksdD90LmNhbGwoYSk6ZS5nZXQoYSkpLE90PShhLGUsdCk9PmUuaGFzKGEpP2o1KCJDYW5ub3QgYWRkIHRoZSBzYW1lIHByaXZhdGUgbWVtYmVyIG1vcmUgdGhhbiBvbmNlIik6ZSBpbnN0YW5jZW9mIFdlYWtTZXQ/ZS5hZGQoYSk6ZS5zZXQoYSx0KSxsYXQ9KGEsZSx0LHIpPT4oWGllKGEsZSwid3JpdGUgdG8gcHJpdmF0ZSBmaWVsZCIpLHI/ci5jYWxsKGEsdCk6ZS5zZXQoYSx0KSx0KSxuOGE9KGEsZSx0KT0+KFhpZShhLGUsImFjY2VzcyBwcml2YXRlIG1ldGhvZCIpLHQpO3ZhciBVNT0oYSxlKT0+b2F0KGEzKGEsInJhdyIse3ZhbHVlOm9hdChlfHxhLnNsaWNlKCkpfSkpO3ZhciBWRyxONyxRaWUsaGF0LFc1LG9hLFgsakcsUjcsSmllPWYoKCk9PntWRz1nbG9iYWxUaGlzLE43PVZHLlNoYWRvd1Jvb3QmJihWRy5TaGFkeUNTUz09PXZvaWQgMHx8VkcuU2hhZHlDU1MubmF0aXZlU2hhZG93KSYmImFkb3B0ZWRTdHlsZVNoZWV0cyJpbiBEb2N1bWVudC5wcm90b3R5cGUmJiJyZXBsYWNlImluIENTU1N0eWxlU2hlZXQucHJvdG90eXBlLFFpZT1TeW1ib2woKSxoYXQ9bmV3IFdlYWtNYXAsVzU9Y2xhc3N7c3RhdGlje3ModGhpcywibiIpfWNvbnN0cnVjdG9yKGUsdCxyKXtpZih0aGlzLl8kY3NzUmVzdWx0JD0hMCxyIT09UWllKXRocm93IEVycm9yKCJDU1NSZXN1bHQgaXMgbm90IGNvbnN0cnVjdGFibGUuIFVzZSBgdW5zYWZlQ1NTYCBvciBgY3NzYCBpbnN0ZWFkLiIpO3RoaXMuY3NzVGV4dD1lLHRoaXMudD10fWdldCBzdHlsZVNoZWV0KCl7bGV0IGU9dGhpcy5vLHQ9dGhpcy50O2lmKE43JiZlPT09dm9pZCAwKXtsZXQgcj10IT09dm9pZCAwJiZ0Lmxlbmd0aD09PTE7ciYmKGU9aGF0LmdldCh0KSksZT09PXZvaWQgMCYmKCh0aGlzLm89ZT1uZXcgQ1NTU3R5bGVTaGVldCkucmVwbGFjZVN5bmModGhpcy5jc3NUZXh0KSxyJiZoYXQuc2V0KHQsZSkpfXJldHVybiBlfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuY3NzVGV4dH19LG9hPXMoYT0+bmV3IFc1KHR5cGVvZiBhPT0ic3RyaW5nIj9hOmErIiIsdm9pZCAwLFFpZSksInIiKSxYPXMoKGEsLi4uZSk9PntsZXQgdD1hLmxlbmd0aD09PTE/YVswXTplLnJlZHVjZSgocixpLG8pPT5yKyhuPT57aWYobi5fJGNzc1Jlc3VsdCQ9PT0hMClyZXR1cm4gbi5jc3NUZXh0O2lmKHR5cGVvZiBuPT0ibnVtYmVyIilyZXR1cm4gbjt0aHJvdyBFcnJvcigiVmFsdWUgcGFzc2VkIHRvICdjc3MnIGZ1bmN0aW9uIG11c3QgYmUgYSAnY3NzJyBmdW5jdGlvbiByZXN1bHQ6ICIrbisiLiBVc2UgJ3Vuc2FmZUNTUycgdG8gcGFzcyBub24tbGl0ZXJhbCB2YWx1ZXMsIGJ1dCB0YWtlIGNhcmUgdG8gZW5zdXJlIHBhZ2Ugc2VjdXJpdHkuIil9KShpKSthW28rMV0sYVswXSk7cmV0dXJuIG5ldyBXNSh0LGEsUWllKX0sImkiKSxqRz1zKChhLGUpPT57aWYoTjcpYS5hZG9wdGVkU3R5bGVTaGVldHM9ZS5tYXAodD0+dCBpbnN0YW5jZW9mIENTU1N0eWxlU2hlZXQ/dDp0LnN0eWxlU2hlZXQpO2Vsc2UgZm9yKGxldCB0IG9mIGUpe2xldCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIiksaT1WRy5saXROb25jZTtpIT09dm9pZCAwJiZyLnNldEF0dHJpYnV0ZSgibm9uY2UiLGkpLHIudGV4dENvbnRlbnQ9dC5jc3NUZXh0LGEuYXBwZW5kQ2hpbGQocil9fSwiUyIpLFI3PU43P2E9PmE6YT0+YSBpbnN0YW5jZW9mIENTU1N0eWxlU2hlZXQ/KGU9PntsZXQgdD0iIjtmb3IobGV0IHIgb2YgZS5jc3NSdWxlcyl0Kz1yLmNzc1RleHQ7cmV0dXJuIG9hKHQpfSkoYSk6YX0pO3ZhciBsOGEsYzhhLGQ4YSx1OGEscDhhLGY4YSxVRyxtYXQsaDhhLG04YSxPNyxHNSxGNyxnYXQsYzIsQjc9ZigoKT0+e0ppZSgpO0ppZSgpOyh7aXM6bDhhLGRlZmluZVByb3BlcnR5OmM4YSxnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6ZDhhLGdldE93blByb3BlcnR5TmFtZXM6dThhLGdldE93blByb3BlcnR5U3ltYm9sczpwOGEsZ2V0UHJvdG90eXBlT2Y6ZjhhfT1PYmplY3QpLFVHPWdsb2JhbFRoaXMsbWF0PVVHLnRydXN0ZWRUeXBlcyxoOGE9bWF0P21hdC5lbXB0eVNjcmlwdDoiIixtOGE9VUcucmVhY3RpdmVFbGVtZW50UG9seWZpbGxTdXBwb3J0LE83PXMoKGEsZSk9PmEsImQiKSxHNT17dG9BdHRyaWJ1dGUoYSxlKXtzd2l0Y2goZSl7Y2FzZSBCb29sZWFuOmE9YT9oOGE6bnVsbDticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OmE9YT09bnVsbD9hOkpTT04uc3RyaW5naWZ5KGEpfXJldHVybiBhfSxmcm9tQXR0cmlidXRlKGEsZSl7bGV0IHQ9YTtzd2l0Y2goZSl7Y2FzZSBCb29sZWFuOnQ9YSE9PW51bGw7YnJlYWs7Y2FzZSBOdW1iZXI6dD1hPT09bnVsbD9udWxsOk51bWJlcihhKTticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OnRyeXt0PUpTT04ucGFyc2UoYSl9Y2F0Y2h7dD1udWxsfX1yZXR1cm4gdH19LEY3PXMoKGEsZSk9PiFsOGEoYSxlKSwiZiIpLGdhdD17YXR0cmlidXRlOiEwLHR5cGU6U3RyaW5nLGNvbnZlcnRlcjpHNSxyZWZsZWN0OiExLHVzZURlZmF1bHQ6ITEsaGFzQ2hhbmdlZDpGN307U3ltYm9sLm1ldGFkYXRhPz89U3ltYm9sKCJtZXRhZGF0YSIpLFVHLmxpdFByb3BlcnR5TWV0YWRhdGE/Pz1uZXcgV2Vha01hcDtjMj1jbGFzcyBleHRlbmRzIEhUTUxFbGVtZW50e3N0YXRpY3tzKHRoaXMsInkiKX1zdGF0aWMgYWRkSW5pdGlhbGl6ZXIoZSl7dGhpcy5fJEVpKCksKHRoaXMubD8/PVtdKS5wdXNoKGUpfXN0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCl7cmV0dXJuIHRoaXMuZmluYWxpemUoKSx0aGlzLl8kRWgmJlsuLi50aGlzLl8kRWgua2V5cygpXX1zdGF0aWMgY3JlYXRlUHJvcGVydHkoZSx0PWdhdCl7aWYodC5zdGF0ZSYmKHQuYXR0cmlidXRlPSExKSx0aGlzLl8kRWkoKSx0aGlzLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShlKSYmKCh0PU9iamVjdC5jcmVhdGUodCkpLndyYXBwZWQ9ITApLHRoaXMuZWxlbWVudFByb3BlcnRpZXMuc2V0KGUsdCksIXQubm9BY2Nlc3Nvcil7bGV0IHI9U3ltYm9sKCksaT10aGlzLmdldFByb3BlcnR5RGVzY3JpcHRvcihlLHIsdCk7aSE9PXZvaWQgMCYmYzhhKHRoaXMucHJvdG90eXBlLGUsaSl9fXN0YXRpYyBnZXRQcm9wZXJ0eURlc2NyaXB0b3IoZSx0LHIpe2xldHtnZXQ6aSxzZXQ6b309ZDhhKHRoaXMucHJvdG90eXBlLGUpPz97Z2V0KCl7cmV0dXJuIHRoaXNbdF19LHNldChuKXt0aGlzW3RdPW59fTtyZXR1cm57Z2V0Omksc2V0KG4pe2xldCBsPWk/LmNhbGwodGhpcyk7bz8uY2FsbCh0aGlzLG4pLHRoaXMucmVxdWVzdFVwZGF0ZShlLGwscil9LGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwfX1zdGF0aWMgZ2V0UHJvcGVydHlPcHRpb25zKGUpe3JldHVybiB0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzLmdldChlKT8/Z2F0fXN0YXRpYyBfJEVpKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eShPNygiZWxlbWVudFByb3BlcnRpZXMiKSkpcmV0dXJuO2xldCBlPWY4YSh0aGlzKTtlLmZpbmFsaXplKCksZS5sIT09dm9pZCAwJiYodGhpcy5sPVsuLi5lLmxdKSx0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzPW5ldyBNYXAoZS5lbGVtZW50UHJvcGVydGllcyl9c3RhdGljIGZpbmFsaXplKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eShPNygiZmluYWxpemVkIikpKXJldHVybjtpZih0aGlzLmZpbmFsaXplZD0hMCx0aGlzLl8kRWkoKSx0aGlzLmhhc093blByb3BlcnR5KE83KCJwcm9wZXJ0aWVzIikpKXtsZXQgdD10aGlzLnByb3BlcnRpZXMscj1bLi4udThhKHQpLC4uLnA4YSh0KV07Zm9yKGxldCBpIG9mIHIpdGhpcy5jcmVhdGVQcm9wZXJ0eShpLHRbaV0pfWxldCBlPXRoaXNbU3ltYm9sLm1ldGFkYXRhXTtpZihlIT09bnVsbCl7bGV0IHQ9bGl0UHJvcGVydHlNZXRhZGF0YS5nZXQoZSk7aWYodCE9PXZvaWQgMClmb3IobGV0W3IsaV1vZiB0KXRoaXMuZWxlbWVudFByb3BlcnRpZXMuc2V0KHIsaSl9dGhpcy5fJEVoPW5ldyBNYXA7Zm9yKGxldFt0LHJdb2YgdGhpcy5lbGVtZW50UHJvcGVydGllcyl7bGV0IGk9dGhpcy5fJEV1KHQscik7aSE9PXZvaWQgMCYmdGhpcy5fJEVoLnNldChpLHQpfXRoaXMuZWxlbWVudFN0eWxlcz10aGlzLmZpbmFsaXplU3R5bGVzKHRoaXMuc3R5bGVzKX1zdGF0aWMgZmluYWxpemVTdHlsZXMoZSl7bGV0IHQ9W107aWYoQXJyYXkuaXNBcnJheShlKSl7bGV0IHI9bmV3IFNldChlLmZsYXQoMS8wKS5yZXZlcnNlKCkpO2ZvcihsZXQgaSBvZiByKXQudW5zaGlmdChSNyhpKSl9ZWxzZSBlIT09dm9pZCAwJiZ0LnB1c2goUjcoZSkpO3JldHVybiB0fXN0YXRpYyBfJEV1KGUsdCl7bGV0IHI9dC5hdHRyaWJ1dGU7cmV0dXJuIHI9PT0hMT92b2lkIDA6dHlwZW9mIHI9PSJzdHJpbmciP3I6dHlwZW9mIGU9PSJzdHJpbmciP2UudG9Mb3dlckNhc2UoKTp2b2lkIDB9Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuXyRFcD12b2lkIDAsdGhpcy5pc1VwZGF0ZVBlbmRpbmc9ITEsdGhpcy5oYXNVcGRhdGVkPSExLHRoaXMuXyRFbT1udWxsLHRoaXMuXyRFdigpfV8kRXYoKXt0aGlzLl8kRVM9bmV3IFByb21pc2UoZT0+dGhpcy5lbmFibGVVcGRhdGluZz1lKSx0aGlzLl8kQUw9bmV3IE1hcCx0aGlzLl8kRV8oKSx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLmNvbnN0cnVjdG9yLmw/LmZvckVhY2goZT0+ZSh0aGlzKSl9YWRkQ29udHJvbGxlcihlKXsodGhpcy5fJEVPPz89bmV3IFNldCkuYWRkKGUpLHRoaXMucmVuZGVyUm9vdCE9PXZvaWQgMCYmdGhpcy5pc0Nvbm5lY3RlZCYmZS5ob3N0Q29ubmVjdGVkPy4oKX1yZW1vdmVDb250cm9sbGVyKGUpe3RoaXMuXyRFTz8uZGVsZXRlKGUpfV8kRV8oKXtsZXQgZT1uZXcgTWFwLHQ9dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcztmb3IobGV0IHIgb2YgdC5rZXlzKCkpdGhpcy5oYXNPd25Qcm9wZXJ0eShyKSYmKGUuc2V0KHIsdGhpc1tyXSksZGVsZXRlIHRoaXNbcl0pO2Uuc2l6ZT4wJiYodGhpcy5fJEVwPWUpfWNyZWF0ZVJlbmRlclJvb3QoKXtsZXQgZT10aGlzLnNoYWRvd1Jvb3Q/P3RoaXMuYXR0YWNoU2hhZG93KHRoaXMuY29uc3RydWN0b3Iuc2hhZG93Um9vdE9wdGlvbnMpO3JldHVybiBqRyhlLHRoaXMuY29uc3RydWN0b3IuZWxlbWVudFN0eWxlcyksZX1jb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMucmVuZGVyUm9vdD8/PXRoaXMuY3JlYXRlUmVuZGVyUm9vdCgpLHRoaXMuZW5hYmxlVXBkYXRpbmcoITApLHRoaXMuXyRFTz8uZm9yRWFjaChlPT5lLmhvc3RDb25uZWN0ZWQ/LigpKX1lbmFibGVVcGRhdGluZyhlKXt9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt0aGlzLl8kRU8/LmZvckVhY2goZT0+ZS5ob3N0RGlzY29ubmVjdGVkPy4oKSl9YXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKGUsdCxyKXt0aGlzLl8kQUsoZSxyKX1fJEVUKGUsdCl7bGV0IHI9dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcy5nZXQoZSksaT10aGlzLmNvbnN0cnVjdG9yLl8kRXUoZSxyKTtpZihpIT09dm9pZCAwJiZyLnJlZmxlY3Q9PT0hMCl7bGV0IG89KHIuY29udmVydGVyPy50b0F0dHJpYnV0ZSE9PXZvaWQgMD9yLmNvbnZlcnRlcjpHNSkudG9BdHRyaWJ1dGUodCxyLnR5cGUpO3RoaXMuXyRFbT1lLG89PW51bGw/dGhpcy5yZW1vdmVBdHRyaWJ1dGUoaSk6dGhpcy5zZXRBdHRyaWJ1dGUoaSxvKSx0aGlzLl8kRW09bnVsbH19XyRBSyhlLHQpe2xldCByPXRoaXMuY29uc3RydWN0b3IsaT1yLl8kRWguZ2V0KGUpO2lmKGkhPT12b2lkIDAmJnRoaXMuXyRFbSE9PWkpe2xldCBvPXIuZ2V0UHJvcGVydHlPcHRpb25zKGkpLG49dHlwZW9mIG8uY29udmVydGVyPT0iZnVuY3Rpb24iP3tmcm9tQXR0cmlidXRlOm8uY29udmVydGVyfTpvLmNvbnZlcnRlcj8uZnJvbUF0dHJpYnV0ZSE9PXZvaWQgMD9vLmNvbnZlcnRlcjpHNTt0aGlzLl8kRW09aTtsZXQgbD1uLmZyb21BdHRyaWJ1dGUodCxvLnR5cGUpO3RoaXNbaV09bD8/dGhpcy5fJEVqPy5nZXQoaSk/P2wsdGhpcy5fJEVtPW51bGx9fXJlcXVlc3RVcGRhdGUoZSx0LHIsaT0hMSxvKXtpZihlIT09dm9pZCAwKXtsZXQgbj10aGlzLmNvbnN0cnVjdG9yO2lmKGk9PT0hMSYmKG89dGhpc1tlXSkscj8/PW4uZ2V0UHJvcGVydHlPcHRpb25zKGUpLCEoKHIuaGFzQ2hhbmdlZD8/RjcpKG8sdCl8fHIudXNlRGVmYXVsdCYmci5yZWZsZWN0JiZvPT09dGhpcy5fJEVqPy5nZXQoZSkmJiF0aGlzLmhhc0F0dHJpYnV0ZShuLl8kRXUoZSxyKSkpKXJldHVybjt0aGlzLkMoZSx0LHIpfXRoaXMuaXNVcGRhdGVQZW5kaW5nPT09ITEmJih0aGlzLl8kRVM9dGhpcy5fJEVQKCkpfUMoZSx0LHt1c2VEZWZhdWx0OnIscmVmbGVjdDppLHdyYXBwZWQ6b30sbil7ciYmISh0aGlzLl8kRWo/Pz1uZXcgTWFwKS5oYXMoZSkmJih0aGlzLl8kRWouc2V0KGUsbj8/dD8/dGhpc1tlXSksbyE9PSEwfHxuIT09dm9pZCAwKXx8KHRoaXMuXyRBTC5oYXMoZSl8fCh0aGlzLmhhc1VwZGF0ZWR8fHJ8fCh0PXZvaWQgMCksdGhpcy5fJEFMLnNldChlLHQpKSxpPT09ITAmJnRoaXMuXyRFbSE9PWUmJih0aGlzLl8kRXE/Pz1uZXcgU2V0KS5hZGQoZSkpfWFzeW5jIF8kRVAoKXt0aGlzLmlzVXBkYXRlUGVuZGluZz0hMDt0cnl7YXdhaXQgdGhpcy5fJEVTfWNhdGNoKHQpe1Byb21pc2UucmVqZWN0KHQpfWxldCBlPXRoaXMuc2NoZWR1bGVVcGRhdGUoKTtyZXR1cm4gZSE9bnVsbCYmYXdhaXQgZSwhdGhpcy5pc1VwZGF0ZVBlbmRpbmd9c2NoZWR1bGVVcGRhdGUoKXtyZXR1cm4gdGhpcy5wZXJmb3JtVXBkYXRlKCl9cGVyZm9ybVVwZGF0ZSgpe2lmKCF0aGlzLmlzVXBkYXRlUGVuZGluZylyZXR1cm47aWYoIXRoaXMuaGFzVXBkYXRlZCl7aWYodGhpcy5yZW5kZXJSb290Pz89dGhpcy5jcmVhdGVSZW5kZXJSb290KCksdGhpcy5fJEVwKXtmb3IobGV0W2ksb11vZiB0aGlzLl8kRXApdGhpc1tpXT1vO3RoaXMuXyRFcD12b2lkIDB9bGV0IHI9dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcztpZihyLnNpemU+MClmb3IobGV0W2ksb11vZiByKXtsZXR7d3JhcHBlZDpufT1vLGw9dGhpc1tpXTtuIT09ITB8fHRoaXMuXyRBTC5oYXMoaSl8fGw9PT12b2lkIDB8fHRoaXMuQyhpLHZvaWQgMCxvLGwpfX1sZXQgZT0hMSx0PXRoaXMuXyRBTDt0cnl7ZT10aGlzLnNob3VsZFVwZGF0ZSh0KSxlPyh0aGlzLndpbGxVcGRhdGUodCksdGhpcy5fJEVPPy5mb3JFYWNoKHI9PnIuaG9zdFVwZGF0ZT8uKCkpLHRoaXMudXBkYXRlKHQpKTp0aGlzLl8kRU0oKX1jYXRjaChyKXt0aHJvdyBlPSExLHRoaXMuXyRFTSgpLHJ9ZSYmdGhpcy5fJEFFKHQpfXdpbGxVcGRhdGUoZSl7fV8kQUUoZSl7dGhpcy5fJEVPPy5mb3JFYWNoKHQ9PnQuaG9zdFVwZGF0ZWQ/LigpKSx0aGlzLmhhc1VwZGF0ZWR8fCh0aGlzLmhhc1VwZGF0ZWQ9ITAsdGhpcy5maXJzdFVwZGF0ZWQoZSkpLHRoaXMudXBkYXRlZChlKX1fJEVNKCl7dGhpcy5fJEFMPW5ldyBNYXAsdGhpcy5pc1VwZGF0ZVBlbmRpbmc9ITF9Z2V0IHVwZGF0ZUNvbXBsZXRlKCl7cmV0dXJuIHRoaXMuZ2V0VXBkYXRlQ29tcGxldGUoKX1nZXRVcGRhdGVDb21wbGV0ZSgpe3JldHVybiB0aGlzLl8kRVN9c2hvdWxkVXBkYXRlKGUpe3JldHVybiEwfXVwZGF0ZShlKXt0aGlzLl8kRXEmJj10aGlzLl8kRXEuZm9yRWFjaCh0PT50aGlzLl8kRVQodCx0aGlzW3RdKSksdGhpcy5fJEVNKCl9dXBkYXRlZChlKXt9Zmlyc3RVcGRhdGVkKGUpe319O2MyLmVsZW1lbnRTdHlsZXM9W10sYzIuc2hhZG93Um9vdE9wdGlvbnM9e21vZGU6Im9wZW4ifSxjMltPNygiZWxlbWVudFByb3BlcnRpZXMiKV09bmV3IE1hcCxjMltPNygiZmluYWxpemVkIildPW5ldyBNYXAsbThhPy4oe1JlYWN0aXZlRWxlbWVudDpjMn0pLChVRy5yZWFjdGl2ZUVsZW1lbnRWZXJzaW9ucz8/PVtdKS5wdXNoKCIyLjEuMiIpfSk7ZnVuY3Rpb24gQ2F0KGEsZSl7aWYoIXJvZShhKXx8IWEuaGFzT3duUHJvcGVydHkoInJhdyIpKXRocm93IEVycm9yKCJpbnZhbGlkIHRlbXBsYXRlIHN0cmluZ3MgYXJyYXkiKTtyZXR1cm4gdmF0IT09dm9pZCAwP3ZhdC5jcmVhdGVIVE1MKGUpOmV9ZnVuY3Rpb24gbzMoYSxlLHQ9YSxyKXtpZihlPT09Y3IpcmV0dXJuIGU7bGV0IGk9ciE9PXZvaWQgMD90Ll8kQ28/LltyXTp0Ll8kQ2wsbz1xNyhlKT92b2lkIDA6ZS5fJGxpdERpcmVjdGl2ZSQ7cmV0dXJuIGk/LmNvbnN0cnVjdG9yIT09byYmKGk/Ll8kQU8/LighMSksbz09PXZvaWQgMD9pPXZvaWQgMDooaT1uZXcgbyhhKSxpLl8kQVQoYSx0LHIpKSxyIT09dm9pZCAwPyh0Ll8kQ28/Pz1bXSlbcl09aTp0Ll8kQ2w9aSksaSE9PXZvaWQgMCYmKGU9bzMoYSxpLl8kQVMoYSxlLnZhbHVlcyksaSxyKSksZX12YXIgZW9lLGJhdCxXRyx2YXQsdG9lLHhsLGFvZSxnOGEscjMsSDcscTcscm9lLHhhdCxzb2UsVjcseWF0LHdhdCxzMyxNYXQsa2F0LFNhdCxpb2Usdyxvb2Usbm9lLGNyLHhyLHphdCxpMyxfYXQsajcsR0csWTUsbjMsWUcsS0csWkcsWEcsbG9lLGI4YSx0MCxKbj1mKCgpPT57ZW9lPWdsb2JhbFRoaXMsYmF0PXMoYT0+YSwiaSIpLFdHPWVvZS50cnVzdGVkVHlwZXMsdmF0PVdHP1dHLmNyZWF0ZVBvbGljeSgibGl0LWh0bWwiLHtjcmVhdGVIVE1MOnMoYT0+YSwiY3JlYXRlSFRNTCIpfSk6dm9pZCAwLHRvZT0iJGxpdCQiLHhsPWBsaXQkJHtNYXRoLnJhbmRvbSgpLnRvRml4ZWQoOSkuc2xpY2UoMil9JGAsYW9lPSI/Iit4bCxnOGE9YDwke2FvZX0+YCxyMz1kb2N1bWVudCxINz1zKCgpPT5yMy5jcmVhdGVDb21tZW50KCIiKSwiYyIpLHE3PXMoYT0+YT09PW51bGx8fHR5cGVvZiBhIT0ib2JqZWN0IiYmdHlwZW9mIGEhPSJmdW5jdGlvbiIsImEiKSxyb2U9QXJyYXkuaXNBcnJheSx4YXQ9cyhhPT5yb2UoYSl8fHR5cGVvZiBhPy5bU3ltYm9sLml0ZXJhdG9yXT09ImZ1bmN0aW9uIiwiZCIpLHNvZT1gWyAJClxmXHJdYCxWNz0vPCg/OighLS18XC9bXmEtekEtWl0pfChcLz9bYS16QS1aXVtePlxzXSopfChcLz8kKSkvZyx5YXQ9Ly0tPi9nLHdhdD0vPi9nLHMzPVJlZ0V4cChgPnwke3NvZX0oPzooW15cXHMiJz49L10rKSgke3NvZX0qPSR7c29lfSooPzpbXiAJClxmXHIiJ1xgPD49XXwoInwnKXwpKXwkKWAsImciKSxNYXQ9LycvZyxrYXQ9LyIvZyxTYXQ9L14oPzpzY3JpcHR8c3R5bGV8dGV4dGFyZWF8dGl0bGUpJC9pLGlvZT1zKGE9PihlLC4uLnQpPT4oe18kbGl0VHlwZSQ6YSxzdHJpbmdzOmUsdmFsdWVzOnR9KSwieCIpLHc9aW9lKDEpLG9vZT1pb2UoMiksbm9lPWlvZSgzKSxjcj1TeW1ib2wuZm9yKCJsaXQtbm9DaGFuZ2UiKSx4cj1TeW1ib2wuZm9yKCJsaXQtbm90aGluZyIpLHphdD1uZXcgV2Vha01hcCxpMz1yMy5jcmVhdGVUcmVlV2Fsa2VyKHIzLDEyOSk7cyhDYXQsIlYiKTtfYXQ9cygoYSxlKT0+e2xldCB0PWEubGVuZ3RoLTEscj1bXSxpLG89ZT09PTI/Ijxzdmc+IjplPT09Mz8iPG1hdGg+IjoiIixuPVY3O2ZvcihsZXQgbD0wO2w8dDtsKyspe2xldCBkPWFbbF0sYyxwLHU9LTEsbT0wO2Zvcig7bTxkLmxlbmd0aCYmKG4ubGFzdEluZGV4PW0scD1uLmV4ZWMoZCkscCE9PW51bGwpOyltPW4ubGFzdEluZGV4LG49PT1WNz9wWzFdPT09IiEtLSI/bj15YXQ6cFsxXSE9PXZvaWQgMD9uPXdhdDpwWzJdIT09dm9pZCAwPyhTYXQudGVzdChwWzJdKSYmKGk9UmVnRXhwKCI8LyIrcFsyXSwiZyIpKSxuPXMzKTpwWzNdIT09dm9pZCAwJiYobj1zMyk6bj09PXMzP3BbMF09PT0iPiI/KG49aT8/VjcsdT0tMSk6cFsxXT09PXZvaWQgMD91PS0yOih1PW4ubGFzdEluZGV4LXBbMl0ubGVuZ3RoLGM9cFsxXSxuPXBbM109PT12b2lkIDA/czM6cFszXT09PSciJz9rYXQ6TWF0KTpuPT09a2F0fHxuPT09TWF0P249czM6bj09PXlhdHx8bj09PXdhdD9uPVY3OihuPXMzLGk9dm9pZCAwKTtsZXQgdj1uPT09czMmJmFbbCsxXS5zdGFydHNXaXRoKCIvPiIpPyIgIjoiIjtvKz1uPT09Vjc/ZCtnOGE6dT49MD8oci5wdXNoKGMpLGQuc2xpY2UoMCx1KSt0b2UrZC5zbGljZSh1KSt4bCt2KTpkK3hsKyh1PT09LTI/bDp2KX1yZXR1cm5bQ2F0KGEsbysoYVt0XXx8Ijw/PiIpKyhlPT09Mj8iPC9zdmc+IjplPT09Mz8iPC9tYXRoPiI6IiIpKSxyXX0sIk4iKSxqNz1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIlMiKX1jb25zdHJ1Y3Rvcih7c3RyaW5nczplLF8kbGl0VHlwZSQ6dH0scil7bGV0IGk7dGhpcy5wYXJ0cz1bXTtsZXQgbz0wLG49MCxsPWUubGVuZ3RoLTEsZD10aGlzLnBhcnRzLFtjLHBdPV9hdChlLHQpO2lmKHRoaXMuZWw9YS5jcmVhdGVFbGVtZW50KGMsciksaTMuY3VycmVudE5vZGU9dGhpcy5lbC5jb250ZW50LHQ9PT0yfHx0PT09Myl7bGV0IHU9dGhpcy5lbC5jb250ZW50LmZpcnN0Q2hpbGQ7dS5yZXBsYWNlV2l0aCguLi51LmNoaWxkTm9kZXMpfWZvcig7KGk9aTMubmV4dE5vZGUoKSkhPT1udWxsJiZkLmxlbmd0aDxsOyl7aWYoaS5ub2RlVHlwZT09PTEpe2lmKGkuaGFzQXR0cmlidXRlcygpKWZvcihsZXQgdSBvZiBpLmdldEF0dHJpYnV0ZU5hbWVzKCkpaWYodS5lbmRzV2l0aCh0b2UpKXtsZXQgbT1wW24rK10sdj1pLmdldEF0dHJpYnV0ZSh1KS5zcGxpdCh4bCkseD0vKFsuP0BdKT8oLiopLy5leGVjKG0pO2QucHVzaCh7dHlwZToxLGluZGV4Om8sbmFtZTp4WzJdLHN0cmluZ3M6dixjdG9yOnhbMV09PT0iLiI/WUc6eFsxXT09PSI/Ij9LRzp4WzFdPT09IkAiP1pHOm4zfSksaS5yZW1vdmVBdHRyaWJ1dGUodSl9ZWxzZSB1LnN0YXJ0c1dpdGgoeGwpJiYoZC5wdXNoKHt0eXBlOjYsaW5kZXg6b30pLGkucmVtb3ZlQXR0cmlidXRlKHUpKTtpZihTYXQudGVzdChpLnRhZ05hbWUpKXtsZXQgdT1pLnRleHRDb250ZW50LnNwbGl0KHhsKSxtPXUubGVuZ3RoLTE7aWYobT4wKXtpLnRleHRDb250ZW50PVdHP1dHLmVtcHR5U2NyaXB0OiIiO2ZvcihsZXQgdj0wO3Y8bTt2KyspaS5hcHBlbmQodVt2XSxINygpKSxpMy5uZXh0Tm9kZSgpLGQucHVzaCh7dHlwZToyLGluZGV4Oisrb30pO2kuYXBwZW5kKHVbbV0sSDcoKSl9fX1lbHNlIGlmKGkubm9kZVR5cGU9PT04KWlmKGkuZGF0YT09PWFvZSlkLnB1c2goe3R5cGU6MixpbmRleDpvfSk7ZWxzZXtsZXQgdT0tMTtmb3IoOyh1PWkuZGF0YS5pbmRleE9mKHhsLHUrMSkpIT09LTE7KWQucHVzaCh7dHlwZTo3LGluZGV4Om99KSx1Kz14bC5sZW5ndGgtMX1vKyt9fXN0YXRpYyBjcmVhdGVFbGVtZW50KGUsdCl7bGV0IHI9cjMuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtyZXR1cm4gci5pbm5lckhUTUw9ZSxyfX07cyhvMywiTSIpO0dHPWNsYXNze3N0YXRpY3tzKHRoaXMsIlIiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMuXyRBVj1bXSx0aGlzLl8kQU49dm9pZCAwLHRoaXMuXyRBRD1lLHRoaXMuXyRBTT10fWdldCBwYXJlbnROb2RlKCl7cmV0dXJuIHRoaXMuXyRBTS5wYXJlbnROb2RlfWdldCBfJEFVKCl7cmV0dXJuIHRoaXMuXyRBTS5fJEFVfXUoZSl7bGV0e2VsOntjb250ZW50OnR9LHBhcnRzOnJ9PXRoaXMuXyRBRCxpPShlPy5jcmVhdGlvblNjb3BlPz9yMykuaW1wb3J0Tm9kZSh0LCEwKTtpMy5jdXJyZW50Tm9kZT1pO2xldCBvPWkzLm5leHROb2RlKCksbj0wLGw9MCxkPXJbMF07Zm9yKDtkIT09dm9pZCAwOyl7aWYobj09PWQuaW5kZXgpe2xldCBjO2QudHlwZT09PTI/Yz1uZXcgWTUobyxvLm5leHRTaWJsaW5nLHRoaXMsZSk6ZC50eXBlPT09MT9jPW5ldyBkLmN0b3IobyxkLm5hbWUsZC5zdHJpbmdzLHRoaXMsZSk6ZC50eXBlPT09NiYmKGM9bmV3IFhHKG8sdGhpcyxlKSksdGhpcy5fJEFWLnB1c2goYyksZD1yWysrbF19biE9PWQ/LmluZGV4JiYobz1pMy5uZXh0Tm9kZSgpLG4rKyl9cmV0dXJuIGkzLmN1cnJlbnROb2RlPXIzLGl9cChlKXtsZXQgdD0wO2ZvcihsZXQgciBvZiB0aGlzLl8kQVYpciE9PXZvaWQgMCYmKHIuc3RyaW5ncyE9PXZvaWQgMD8oci5fJEFJKGUscix0KSx0Kz1yLnN0cmluZ3MubGVuZ3RoLTIpOnIuXyRBSShlW3RdKSksdCsrfX0sWTU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJrIil9Z2V0IF8kQVUoKXtyZXR1cm4gdGhpcy5fJEFNPy5fJEFVPz90aGlzLl8kQ3Z9Y29uc3RydWN0b3IoZSx0LHIsaSl7dGhpcy50eXBlPTIsdGhpcy5fJEFIPXhyLHRoaXMuXyRBTj12b2lkIDAsdGhpcy5fJEFBPWUsdGhpcy5fJEFCPXQsdGhpcy5fJEFNPXIsdGhpcy5vcHRpb25zPWksdGhpcy5fJEN2PWk/LmlzQ29ubmVjdGVkPz8hMH1nZXQgcGFyZW50Tm9kZSgpe2xldCBlPXRoaXMuXyRBQS5wYXJlbnROb2RlLHQ9dGhpcy5fJEFNO3JldHVybiB0IT09dm9pZCAwJiZlPy5ub2RlVHlwZT09PTExJiYoZT10LnBhcmVudE5vZGUpLGV9Z2V0IHN0YXJ0Tm9kZSgpe3JldHVybiB0aGlzLl8kQUF9Z2V0IGVuZE5vZGUoKXtyZXR1cm4gdGhpcy5fJEFCfV8kQUkoZSx0PXRoaXMpe2U9bzModGhpcyxlLHQpLHE3KGUpP2U9PT14cnx8ZT09bnVsbHx8ZT09PSIiPyh0aGlzLl8kQUghPT14ciYmdGhpcy5fJEFSKCksdGhpcy5fJEFIPXhyKTplIT09dGhpcy5fJEFIJiZlIT09Y3ImJnRoaXMuXyhlKTplLl8kbGl0VHlwZSQhPT12b2lkIDA/dGhpcy4kKGUpOmUubm9kZVR5cGUhPT12b2lkIDA/dGhpcy5UKGUpOnhhdChlKT90aGlzLmsoZSk6dGhpcy5fKGUpfU8oZSl7cmV0dXJuIHRoaXMuXyRBQS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMuXyRBQil9VChlKXt0aGlzLl8kQUghPT1lJiYodGhpcy5fJEFSKCksdGhpcy5fJEFIPXRoaXMuTyhlKSl9XyhlKXt0aGlzLl8kQUghPT14ciYmcTcodGhpcy5fJEFIKT90aGlzLl8kQUEubmV4dFNpYmxpbmcuZGF0YT1lOnRoaXMuVChyMy5jcmVhdGVUZXh0Tm9kZShlKSksdGhpcy5fJEFIPWV9JChlKXtsZXR7dmFsdWVzOnQsXyRsaXRUeXBlJDpyfT1lLGk9dHlwZW9mIHI9PSJudW1iZXIiP3RoaXMuXyRBQyhlKTooci5lbD09PXZvaWQgMCYmKHIuZWw9ajcuY3JlYXRlRWxlbWVudChDYXQoci5oLHIuaFswXSksdGhpcy5vcHRpb25zKSkscik7aWYodGhpcy5fJEFIPy5fJEFEPT09aSl0aGlzLl8kQUgucCh0KTtlbHNle2xldCBvPW5ldyBHRyhpLHRoaXMpLG49by51KHRoaXMub3B0aW9ucyk7by5wKHQpLHRoaXMuVChuKSx0aGlzLl8kQUg9b319XyRBQyhlKXtsZXQgdD16YXQuZ2V0KGUuc3RyaW5ncyk7cmV0dXJuIHQ9PT12b2lkIDAmJnphdC5zZXQoZS5zdHJpbmdzLHQ9bmV3IGo3KGUpKSx0fWsoZSl7cm9lKHRoaXMuXyRBSCl8fCh0aGlzLl8kQUg9W10sdGhpcy5fJEFSKCkpO2xldCB0PXRoaXMuXyRBSCxyLGk9MDtmb3IobGV0IG8gb2YgZSlpPT09dC5sZW5ndGg/dC5wdXNoKHI9bmV3IGEodGhpcy5PKEg3KCkpLHRoaXMuTyhINygpKSx0aGlzLHRoaXMub3B0aW9ucykpOnI9dFtpXSxyLl8kQUkobyksaSsrO2k8dC5sZW5ndGgmJih0aGlzLl8kQVIociYmci5fJEFCLm5leHRTaWJsaW5nLGkpLHQubGVuZ3RoPWkpfV8kQVIoZT10aGlzLl8kQUEubmV4dFNpYmxpbmcsdCl7Zm9yKHRoaXMuXyRBUD8uKCExLCEwLHQpO2UhPT10aGlzLl8kQUI7KXtsZXQgcj1iYXQoZSkubmV4dFNpYmxpbmc7YmF0KGUpLnJlbW92ZSgpLGU9cn19c2V0Q29ubmVjdGVkKGUpe3RoaXMuXyRBTT09PXZvaWQgMCYmKHRoaXMuXyRDdj1lLHRoaXMuXyRBUD8uKGUpKX19LG4zPWNsYXNze3N0YXRpY3tzKHRoaXMsIkgiKX1nZXQgdGFnTmFtZSgpe3JldHVybiB0aGlzLmVsZW1lbnQudGFnTmFtZX1nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX1jb25zdHJ1Y3RvcihlLHQscixpLG8pe3RoaXMudHlwZT0xLHRoaXMuXyRBSD14cix0aGlzLl8kQU49dm9pZCAwLHRoaXMuZWxlbWVudD1lLHRoaXMubmFtZT10LHRoaXMuXyRBTT1pLHRoaXMub3B0aW9ucz1vLHIubGVuZ3RoPjJ8fHJbMF0hPT0iInx8clsxXSE9PSIiPyh0aGlzLl8kQUg9QXJyYXkoci5sZW5ndGgtMSkuZmlsbChuZXcgU3RyaW5nKSx0aGlzLnN0cmluZ3M9cik6dGhpcy5fJEFIPXhyfV8kQUkoZSx0PXRoaXMscixpKXtsZXQgbz10aGlzLnN0cmluZ3Msbj0hMTtpZihvPT09dm9pZCAwKWU9bzModGhpcyxlLHQsMCksbj0hcTcoZSl8fGUhPT10aGlzLl8kQUgmJmUhPT1jcixuJiYodGhpcy5fJEFIPWUpO2Vsc2V7bGV0IGw9ZSxkLGM7Zm9yKGU9b1swXSxkPTA7ZDxvLmxlbmd0aC0xO2QrKyljPW8zKHRoaXMsbFtyK2RdLHQsZCksYz09PWNyJiYoYz10aGlzLl8kQUhbZF0pLG58fD0hcTcoYyl8fGMhPT10aGlzLl8kQUhbZF0sYz09PXhyP2U9eHI6ZSE9PXhyJiYoZSs9KGM/PyIiKStvW2QrMV0pLHRoaXMuXyRBSFtkXT1jfW4mJiFpJiZ0aGlzLmooZSl9aihlKXtlPT09eHI/dGhpcy5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSh0aGlzLm5hbWUpOnRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUodGhpcy5uYW1lLGU/PyIiKX19LFlHPWNsYXNzIGV4dGVuZHMgbjN7c3RhdGlje3ModGhpcywiSSIpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnR5cGU9M31qKGUpe3RoaXMuZWxlbWVudFt0aGlzLm5hbWVdPWU9PT14cj92b2lkIDA6ZX19LEtHPWNsYXNzIGV4dGVuZHMgbjN7c3RhdGlje3ModGhpcywiTCIpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnR5cGU9NH1qKGUpe3RoaXMuZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUodGhpcy5uYW1lLCEhZSYmZSE9PXhyKX19LFpHPWNsYXNzIGV4dGVuZHMgbjN7c3RhdGlje3ModGhpcywieiIpfWNvbnN0cnVjdG9yKGUsdCxyLGksbyl7c3VwZXIoZSx0LHIsaSxvKSx0aGlzLnR5cGU9NX1fJEFJKGUsdD10aGlzKXtpZigoZT1vMyh0aGlzLGUsdCwwKT8/eHIpPT09Y3IpcmV0dXJuO2xldCByPXRoaXMuXyRBSCxpPWU9PT14ciYmciE9PXhyfHxlLmNhcHR1cmUhPT1yLmNhcHR1cmV8fGUub25jZSE9PXIub25jZXx8ZS5wYXNzaXZlIT09ci5wYXNzaXZlLG89ZSE9PXhyJiYocj09PXhyfHxpKTtpJiZ0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0aGlzLm5hbWUsdGhpcyxyKSxvJiZ0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLm5hbWUsdGhpcyxlKSx0aGlzLl8kQUg9ZX1oYW5kbGVFdmVudChlKXt0eXBlb2YgdGhpcy5fJEFIPT0iZnVuY3Rpb24iP3RoaXMuXyRBSC5jYWxsKHRoaXMub3B0aW9ucz8uaG9zdD8/dGhpcy5lbGVtZW50LGUpOnRoaXMuXyRBSC5oYW5kbGVFdmVudChlKX19LFhHPWNsYXNze3N0YXRpY3tzKHRoaXMsIloiKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy5lbGVtZW50PWUsdGhpcy50eXBlPTYsdGhpcy5fJEFOPXZvaWQgMCx0aGlzLl8kQU09dCx0aGlzLm9wdGlvbnM9cn1nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX1fJEFJKGUpe28zKHRoaXMsZSl9fSxsb2U9e006dG9lLFA6eGwsQTphb2UsQzoxLEw6X2F0LFI6R0csRDp4YXQsVjpvMyxJOlk1LEg6bjMsTjpLRyxVOlpHLEI6WUcsRjpYR30sYjhhPWVvZS5saXRIdG1sUG9seWZpbGxTdXBwb3J0O2I4YT8uKGo3LFk1KSwoZW9lLmxpdEh0bWxWZXJzaW9ucz8/PVtdKS5wdXNoKCIzLjMuMiIpO3QwPXMoKGEsZSx0KT0+e2xldCByPXQ/LnJlbmRlckJlZm9yZT8/ZSxpPXIuXyRsaXRQYXJ0JDtpZihpPT09dm9pZCAwKXtsZXQgbz10Py5yZW5kZXJCZWZvcmU/P251bGw7ci5fJGxpdFBhcnQkPWk9bmV3IFk1KGUuaW5zZXJ0QmVmb3JlKEg3KCksbyksbyx2b2lkIDAsdD8/e30pfXJldHVybiBpLl8kQUkoYSksaX0sIkQiKX0pO3ZhciBjb2UseWwsdjhhLHg4YSxUYXQ9ZigoKT0+e0I3KCk7QjcoKTtKbigpO0puKCk7Y29lPWdsb2JhbFRoaXMseWw9Y2xhc3MgZXh0ZW5kcyBjMntzdGF0aWN7cyh0aGlzLCJpIil9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucmVuZGVyT3B0aW9ucz17aG9zdDp0aGlzfSx0aGlzLl8kRG89dm9pZCAwfWNyZWF0ZVJlbmRlclJvb3QoKXtsZXQgZT1zdXBlci5jcmVhdGVSZW5kZXJSb290KCk7cmV0dXJuIHRoaXMucmVuZGVyT3B0aW9ucy5yZW5kZXJCZWZvcmU/Pz1lLmZpcnN0Q2hpbGQsZX11cGRhdGUoZSl7bGV0IHQ9dGhpcy5yZW5kZXIoKTt0aGlzLmhhc1VwZGF0ZWR8fCh0aGlzLnJlbmRlck9wdGlvbnMuaXNDb25uZWN0ZWQ9dGhpcy5pc0Nvbm5lY3RlZCksc3VwZXIudXBkYXRlKGUpLHRoaXMuXyREbz10MCh0LHRoaXMucmVuZGVyUm9vdCx0aGlzLnJlbmRlck9wdGlvbnMpfWNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLl8kRG8/LnNldENvbm5lY3RlZCghMCl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuXyREbz8uc2V0Q29ubmVjdGVkKCExKX1yZW5kZXIoKXtyZXR1cm4gY3J9fTt5bC5fJGxpdEVsZW1lbnQkPSEwLHlsLmZpbmFsaXplZD0hMCxjb2UubGl0RWxlbWVudEh5ZHJhdGVTdXBwb3J0Py4oe0xpdEVsZW1lbnQ6eWx9KTt2OGE9Y29lLmxpdEVsZW1lbnRQb2x5ZmlsbFN1cHBvcnQ7djhhPy4oe0xpdEVsZW1lbnQ6eWx9KTt4OGE9e18kQUs6cygoYSxlLHQpPT57YS5fJEFLKGUsdCl9LCJfJEFLIiksXyRBTDpzKGE9PmEuXyRBTCwiXyRBTCIpfTsoY29lLmxpdEVsZW1lbnRWZXJzaW9ucz8/PVtdKS5wdXNoKCI0LjIuMiIpfSk7dmFyIHk4YSxMYXQ9ZigoKT0+e3k4YT0hMX0pO3ZhciBwbj1mKCgpPT57QjcoKTtKbigpO1RhdCgpO0xhdCgpfSk7dmFyIFU3PXZvKFFHPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShRRywiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksUUcudW5pPXZvaWQgMDt2YXIgdzhhPXMoKGE9InVuaSIpPT5gJHthfV8keyJ4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZyxlPT57bGV0IHQ9TWF0aC5yYW5kb20oKSoxNnwwO3JldHVybihlPT09IngiP3Q6dCYzfDgpLnRvU3RyaW5nKDE2KX0pfWAsInVuaSIpO1FHLnVuaT13OGF9KTt2YXIgSkcsYTAsZVk9ZigoKT0+e0pHPWNsYXNze3N0YXRpY3tzKHRoaXMsIkRlZmVycmVkIil9Y2xhaW0oKXtpZih0aGlzLmNsYWltZWQpdGhyb3cgbmV3IEVycm9yKCJEZWZlcnJlZCBhbHJlYWR5IGNsYWltZWQiKTt0aGlzLmNsYWltZWQ9ITB9Z2V0IGR1cmF0aW9uKCl7cmV0dXJuIHRoaXMuc3RvcHBlZEF0P3RoaXMuc3RvcHBlZEF0LXRoaXMuc3RhcnRlZEF0OkRhdGUubm93KCktdGhpcy5zdGFydGVkQXR9Y29uc3RydWN0b3IoKXt0aGlzLmNsYWltZWQ9ITEsdGhpcy5wcm9taXNlPW5ldyBQcm9taXNlKChlLHQpPT57dGhpcy5yZXNvbHZlPXI9Pnt0aGlzLnN0YXR1cz0iZnVsZmlsbGVkIix0aGlzLnN0b3BwZWRBdD1EYXRlLm5vdygpLGUocil9LHRoaXMucmVqZWN0PXI9Pnt0aGlzLnN0YXR1cz0icmVqZWN0ZWQiLHRoaXMuc3RvcHBlZEF0PURhdGUubm93KCksdChyKX0sdGhpcy5zdGFydGVkQXQ9RGF0ZS5ub3coKSx0aGlzLnN0YXR1cz0icGVuZGluZyJ9KX19LGEwPXMoKCk9Pm5ldyBKRywiZGVmZXIiKX0pO3ZhciB0WSxNOGEsJGF0PWYoKCk9PntlWSgpO3RZPWNsYXNze3N0YXRpY3tzKHRoaXMsIkN1bXVsYXRpdmVEZWZlcnJlZCIpfWNvbnN0cnVjdG9yKCl7dGhpcy5hY2N1bXVsYXRlZFByb21pc2VzPVtdLHRoaXMuZGVmZXJyZWQ9YTAoKSx0aGlzLnByb21pc2U9dGhpcy5kZWZlcnJlZC5wcm9taXNlLHNldFRpbWVvdXQoYXN5bmMoKT0+e2Zvcig7dGhpcy5hY2N1bXVsYXRlZFByb21pc2VzLmxlbmd0aD4wOylhd2FpdCB0aGlzLmFjY3VtdWxhdGVkUHJvbWlzZXMuc2hpZnQoKTt0aGlzLmRlZmVycmVkLnJlc29sdmUoKX0sMCl9c3ViRGVmZXIoKXtsZXQgZT1hMCgpO3JldHVybiB0aGlzLmFkZFByb21pc2UoZS5wcm9taXNlKSxlfWFkZFByb21pc2UoZSl7dGhpcy5hY2N1bXVsYXRlZFByb21pc2VzLnB1c2goZSl9fSxNOGE9cygoKT0+bmV3IHRZLCJjdW11bGF0aXZlRGVmZXIiKX0pO3ZhciBldD17fTtydChldCx7Q3VtdWxhdGl2ZURlZmVycmVkOigpPT50WSxEZWZlcnJlZDooKT0+SkcsY3VtdWxhdGl2ZURlZmVyOigpPT5NOGEsZGVmZXI6KCk9PmEwLGZyb21DYWxsYmFjazooKT0+VDhhLGdldEZpcnN0VHJ1ZU9yRmFsc2U6KCk9Pl84YSxtYXA6KCk9Pno4YSxyZWplY3RlZFByb21pc2U6KCk9PlM4YSxyZXNvbHZlZFByb21pc2U6KCk9Pms4YSx0aW1lb3V0QW5kQ29udGludWU6KCk9PkM4YSx0aW1lb3V0V3JhcDooKT0+RGF0fSk7ZnVuY3Rpb24gazhhKGEpe3JldHVybiBQcm9taXNlLnJlc29sdmUoYSl9dmFyIFM4YSx6OGEsRGF0LEM4YSxfOGEsVDhhLFpzPWYoKCk9PntlWSgpOyRhdCgpO2VZKCk7cyhrOGEsInJlc29sdmVkUHJvbWlzZSIpO1M4YT1zKGE9PlByb21pc2UucmVqZWN0KGEpLCJyZWplY3RlZFByb21pc2UiKSx6OGE9cyhhc3luYyhhLGUpPT5Qcm9taXNlLmFsbChhLm1hcChlKSksIm1hcCIpLERhdD1zKGFzeW5jKGEsZSx0PSEwKT0+bmV3IFByb21pc2UoKHIsaSk9PntzZXRUaW1lb3V0KCgpPT57dD9pKG5ldyBFcnJvcigidGltZW91dCIpKTpyKG51bGwpfSxlKSxhLnRoZW4ocixpKX0pLCJ0aW1lb3V0V3JhcCIpLEM4YT1zKGFzeW5jKGEsZT02ZTQpPT5EYXQoYSxlLCExKSwidGltZW91dEFuZENvbnRpbnVlIiksXzhhPXMoYXN5bmMgYT0+e2xldCBlPWEwKCk7Zm9yKGxldCB0IG9mIGEpdC50aGVuKHI9PntyPT09ITAmJmUucmVzb2x2ZSghMCl9KTtyZXR1cm4gUHJvbWlzZS5hbGwoYSkudGhlbigoKT0+e2UucmVzb2x2ZSghMSl9KSxlLnByb21pc2V9LCJnZXRGaXJzdFRydWVPckZhbHNlIiksVDhhPXMoYT0+bmV3IFByb21pc2UoKGUsdCk9PnthKChyLGkpPT57cj90KHIpOmUoaSl9KX0pLCJmcm9tQ2FsbGJhY2siKX0pO3ZhciBhWT1mKCgpPT57WnMoKX0pO2Z1bmN0aW9uIG5hKGEsZSl7aWYodHlwZW9mIGUhPSJmdW5jdGlvbiImJmUhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcoZSkrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZG9lKGEsZSk7ZnVuY3Rpb24gdCgpe3RoaXMuY29uc3RydWN0b3I9YX1zKHQsIl9fIiksYS5wcm90b3R5cGU9ZT09PW51bGw/T2JqZWN0LmNyZWF0ZShlKToodC5wcm90b3R5cGU9ZS5wcm90b3R5cGUsbmV3IHQpfWZ1bmN0aW9uICQ4YShhLGUpe3ZhciB0PXt9O2Zvcih2YXIgciBpbiBhKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLHIpJiZlLmluZGV4T2Yocik8MCYmKHRbcl09YVtyXSk7aWYoYSE9bnVsbCYmdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM9PSJmdW5jdGlvbiIpZm9yKHZhciBpPTAscj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGEpO2k8ci5sZW5ndGg7aSsrKWUuaW5kZXhPZihyW2ldKTwwJiZPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoYSxyW2ldKSYmKHRbcltpXV09YVtyW2ldXSk7cmV0dXJuIHR9ZnVuY3Rpb24gRDhhKGEsZSx0LHIpe3ZhciBpPWFyZ3VtZW50cy5sZW5ndGgsbz1pPDM/ZTpyPT09bnVsbD9yPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KTpyLG47aWYodHlwZW9mIFJlZmxlY3Q9PSJvYmplY3QiJiZ0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZT09ImZ1bmN0aW9uIilvPVJlZmxlY3QuZGVjb3JhdGUoYSxlLHQscik7ZWxzZSBmb3IodmFyIGw9YS5sZW5ndGgtMTtsPj0wO2wtLSkobj1hW2xdKSYmKG89KGk8Mz9uKG8pOmk+Mz9uKGUsdCxvKTpuKGUsdCkpfHxvKTtyZXR1cm4gaT4zJiZvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LG8pLG99ZnVuY3Rpb24gQThhKGEsZSl7cmV0dXJuIGZ1bmN0aW9uKHQscil7ZSh0LHIsYSl9fWZ1bmN0aW9uIEU4YShhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH1mdW5jdGlvbiBQOGEoYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9ZnVuY3Rpb24gSThhKGEpe3JldHVybiB0eXBlb2YgYT09InN5bWJvbCI/YToiIi5jb25jYXQoYSl9ZnVuY3Rpb24gTjhhKGEsZSx0KXtyZXR1cm4gdHlwZW9mIGU9PSJzeW1ib2wiJiYoZT1lLmRlc2NyaXB0aW9uPyJbIi5jb25jYXQoZS5kZXNjcmlwdGlvbiwiXSIpOiIiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwibmFtZSIse2NvbmZpZ3VyYWJsZTohMCx2YWx1ZTp0PyIiLmNvbmNhdCh0LCIgIixlKTplfSl9ZnVuY3Rpb24gUjhhKGEsZSl7aWYodHlwZW9mIFJlZmxlY3Q9PSJvYmplY3QiJiZ0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YT09ImZ1bmN0aW9uIilyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShhLGUpfWZ1bmN0aW9uIGhvZShhLGUsdCxyKXtmdW5jdGlvbiBpKG8pe3JldHVybiBvIGluc3RhbmNlb2YgdD9vOm5ldyB0KGZ1bmN0aW9uKG4pe24obyl9KX1yZXR1cm4gcyhpLCJhZG9wdCIpLG5ldyh0fHwodD1Qcm9taXNlKSkoZnVuY3Rpb24obyxuKXtmdW5jdGlvbiBsKHApe3RyeXtjKHIubmV4dChwKSl9Y2F0Y2godSl7bih1KX19cyhsLCJmdWxmaWxsZWQiKTtmdW5jdGlvbiBkKHApe3RyeXtjKHIudGhyb3cocCkpfWNhdGNoKHUpe24odSl9fXMoZCwicmVqZWN0ZWQiKTtmdW5jdGlvbiBjKHApe3AuZG9uZT9vKHAudmFsdWUpOmkocC52YWx1ZSkudGhlbihsLGQpfXMoYywic3RlcCIpLGMoKHI9ci5hcHBseShhLGV8fFtdKSkubmV4dCgpKX0pfWZ1bmN0aW9uIFc3KGEsZSl7dmFyIHQ9e2xhYmVsOjAsc2VudDpzKGZ1bmN0aW9uKCl7aWYob1swXSYxKXRocm93IG9bMV07cmV0dXJuIG9bMV19LCJzZW50IiksdHJ5czpbXSxvcHM6W119LHIsaSxvLG49T2JqZWN0LmNyZWF0ZSgodHlwZW9mIEl0ZXJhdG9yPT0iZnVuY3Rpb24iP0l0ZXJhdG9yOk9iamVjdCkucHJvdG90eXBlKTtyZXR1cm4gbi5uZXh0PWwoMCksbi50aHJvdz1sKDEpLG4ucmV0dXJuPWwoMiksdHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmKG5bU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksbjtmdW5jdGlvbiBsKGMpe3JldHVybiBmdW5jdGlvbihwKXtyZXR1cm4gZChbYyxwXSl9fWZ1bmN0aW9uIGQoYyl7aWYocil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtuJiYobj0wLGNbMF0mJih0PTApKSx0Oyl0cnl7aWYocj0xLGkmJihvPWNbMF0mMj9pLnJldHVybjpjWzBdP2kudGhyb3d8fCgobz1pLnJldHVybikmJm8uY2FsbChpKSwwKTppLm5leHQpJiYhKG89by5jYWxsKGksY1sxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKGk9MCxvJiYoYz1bY1swXSYyLG8udmFsdWVdKSxjWzBdKXtjYXNlIDA6Y2FzZSAxOm89YzticmVhaztjYXNlIDQ6cmV0dXJuIHQubGFiZWwrKyx7dmFsdWU6Y1sxXSxkb25lOiExfTtjYXNlIDU6dC5sYWJlbCsrLGk9Y1sxXSxjPVswXTtjb250aW51ZTtjYXNlIDc6Yz10Lm9wcy5wb3AoKSx0LnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZihvPXQudHJ5cywhKG89by5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSkmJihjWzBdPT09Nnx8Y1swXT09PTIpKXt0PTA7Y29udGludWV9aWYoY1swXT09PTMmJighb3x8Y1sxXT5vWzBdJiZjWzFdPG9bM10pKXt0LmxhYmVsPWNbMV07YnJlYWt9aWYoY1swXT09PTYmJnQubGFiZWw8b1sxXSl7dC5sYWJlbD1vWzFdLG89YzticmVha31pZihvJiZ0LmxhYmVsPG9bMl0pe3QubGFiZWw9b1syXSx0Lm9wcy5wdXNoKGMpO2JyZWFrfW9bMl0mJnQub3BzLnBvcCgpLHQudHJ5cy5wb3AoKTtjb250aW51ZX1jPWUuY2FsbChhLHQpfWNhdGNoKHApe2M9WzYscF0saT0wfWZpbmFsbHl7cj1vPTB9aWYoY1swXSY1KXRocm93IGNbMV07cmV0dXJue3ZhbHVlOmNbMF0/Y1sxXTp2b2lkIDAsZG9uZTohMH19fWZ1bmN0aW9uIE84YShhLGUpe2Zvcih2YXIgdCBpbiBhKXQhPT0iZGVmYXVsdCImJiFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSx0KSYmcG9lKGUsYSx0KX1mdW5jdGlvbiBtaShhKXt2YXIgZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wuaXRlcmF0b3IsdD1lJiZhW2VdLHI9MDtpZih0KXJldHVybiB0LmNhbGwoYSk7aWYoYSYmdHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIilyZXR1cm57bmV4dDpzKGZ1bmN0aW9uKCl7cmV0dXJuIGEmJnI+PWEubGVuZ3RoJiYoYT12b2lkIDApLHt2YWx1ZTphJiZhW3IrK10sZG9uZTohYX19LCJuZXh0Iil9O3Rocm93IG5ldyBUeXBlRXJyb3IoZT8iT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS4iOiJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIil9ZnVuY3Rpb24gUHIoYSxlKXt2YXIgdD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZhW1N5bWJvbC5pdGVyYXRvcl07aWYoIXQpcmV0dXJuIGE7dmFyIHI9dC5jYWxsKGEpLGksbz1bXSxuO3RyeXtmb3IoOyhlPT09dm9pZCAwfHxlLS0gPjApJiYhKGk9ci5uZXh0KCkpLmRvbmU7KW8ucHVzaChpLnZhbHVlKX1jYXRjaChsKXtuPXtlcnJvcjpsfX1maW5hbGx5e3RyeXtpJiYhaS5kb25lJiYodD1yLnJldHVybikmJnQuY2FsbChyKX1maW5hbGx5e2lmKG4pdGhyb3cgbi5lcnJvcn19cmV0dXJuIG99ZnVuY3Rpb24gRjhhKCl7Zm9yKHZhciBhPVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKWE9YS5jb25jYXQoUHIoYXJndW1lbnRzW2VdKSk7cmV0dXJuIGF9ZnVuY3Rpb24gQjhhKCl7Zm9yKHZhciBhPTAsZT0wLHQ9YXJndW1lbnRzLmxlbmd0aDtlPHQ7ZSsrKWErPWFyZ3VtZW50c1tlXS5sZW5ndGg7Zm9yKHZhciByPUFycmF5KGEpLGk9MCxlPTA7ZTx0O2UrKylmb3IodmFyIG89YXJndW1lbnRzW2VdLG49MCxsPW8ubGVuZ3RoO248bDtuKyssaSsrKXJbaV09b1tuXTtyZXR1cm4gcn1mdW5jdGlvbiBrcyhhLGUsdCl7aWYodHx8YXJndW1lbnRzLmxlbmd0aD09PTIpZm9yKHZhciByPTAsaT1lLmxlbmd0aCxvO3I8aTtyKyspKG98fCEociBpbiBlKSkmJihvfHwobz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLDAscikpLG9bcl09ZVtyXSk7cmV0dXJuIGEuY29uY2F0KG98fEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGUpKX1mdW5jdGlvbiB3bChhKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIHdsPyh0aGlzLnY9YSx0aGlzKTpuZXcgd2woYSl9ZnVuY3Rpb24gbW9lKGEsZSx0KXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7dmFyIHI9dC5hcHBseShhLGV8fFtdKSxpLG89W107cmV0dXJuIGk9T2JqZWN0LmNyZWF0ZSgodHlwZW9mIEFzeW5jSXRlcmF0b3I9PSJmdW5jdGlvbiI/QXN5bmNJdGVyYXRvcjpPYmplY3QpLnByb3RvdHlwZSksbCgibmV4dCIpLGwoInRocm93IiksbCgicmV0dXJuIixuKSxpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxpO2Z1bmN0aW9uIG4odil7cmV0dXJuIGZ1bmN0aW9uKHgpe3JldHVybiBQcm9taXNlLnJlc29sdmUoeCkudGhlbih2LHUpfX1mdW5jdGlvbiBsKHYseCl7clt2XSYmKGlbdl09ZnVuY3Rpb24oYil7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGcseSl7by5wdXNoKFt2LGIsZyx5XSk+MXx8ZCh2LGIpfSl9LHgmJihpW3ZdPXgoaVt2XSkpKX1mdW5jdGlvbiBkKHYseCl7dHJ5e2Moclt2XSh4KSl9Y2F0Y2goYil7bShvWzBdWzNdLGIpfX1mdW5jdGlvbiBjKHYpe3YudmFsdWUgaW5zdGFuY2VvZiB3bD9Qcm9taXNlLnJlc29sdmUodi52YWx1ZS52KS50aGVuKHAsdSk6bShvWzBdWzJdLHYpfWZ1bmN0aW9uIHAodil7ZCgibmV4dCIsdil9ZnVuY3Rpb24gdSh2KXtkKCJ0aHJvdyIsdil9ZnVuY3Rpb24gbSh2LHgpe3YoeCksby5zaGlmdCgpLG8ubGVuZ3RoJiZkKG9bMF1bMF0sb1swXVsxXSl9fWZ1bmN0aW9uIEg4YShhKXt2YXIgZSx0O3JldHVybiBlPXt9LHIoIm5leHQiKSxyKCJ0aHJvdyIsZnVuY3Rpb24oaSl7dGhyb3cgaX0pLHIoInJldHVybiIpLGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlO2Z1bmN0aW9uIHIoaSxvKXtlW2ldPWFbaV0/ZnVuY3Rpb24obil7cmV0dXJuKHQ9IXQpP3t2YWx1ZTp3bChhW2ldKG4pKSxkb25lOiExfTpvP28obik6bn06b319ZnVuY3Rpb24gZ29lKGEpe2lmKCFTeW1ib2wuYXN5bmNJdGVyYXRvcil0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKTt2YXIgZT1hW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSx0O3JldHVybiBlP2UuY2FsbChhKTooYT10eXBlb2YgbWk9PSJmdW5jdGlvbiI/bWkoYSk6YVtTeW1ib2wuaXRlcmF0b3JdKCksdD17fSxyKCJuZXh0IikscigidGhyb3ciKSxyKCJyZXR1cm4iKSx0W1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSx0KTtmdW5jdGlvbiByKG8pe3Rbb109YVtvXSYmZnVuY3Rpb24obil7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGwsZCl7bj1hW29dKG4pLGkobCxkLG4uZG9uZSxuLnZhbHVlKX0pfX1mdW5jdGlvbiBpKG8sbixsLGQpe1Byb21pc2UucmVzb2x2ZShkKS50aGVuKGZ1bmN0aW9uKGMpe28oe3ZhbHVlOmMsZG9uZTpsfSl9LG4pfX1mdW5jdGlvbiBxOGEoYSxlKXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5P09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJyYXciLHt2YWx1ZTplfSk6YS5yYXc9ZSxhfWZ1bmN0aW9uIGo4YShhKXtpZihhJiZhLl9fZXNNb2R1bGUpcmV0dXJuIGE7dmFyIGU9e307aWYoYSE9bnVsbClmb3IodmFyIHQ9Zm9lKGEpLHI9MDtyPHQubGVuZ3RoO3IrKyl0W3JdIT09ImRlZmF1bHQiJiZwb2UoZSxhLHRbcl0pO3JldHVybiBWOGEoZSxhKSxlfWZ1bmN0aW9uIFU4YShhKXtyZXR1cm4gYSYmYS5fX2VzTW9kdWxlP2E6e2RlZmF1bHQ6YX19ZnVuY3Rpb24gVzhhKGEsZSx0LHIpe2lmKHQ9PT0iYSImJiFyKXRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIGdldHRlciIpO2lmKHR5cGVvZiBlPT0iZnVuY3Rpb24iP2EhPT1lfHwhcjohZS5oYXMoYSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHJlYWQgcHJpdmF0ZSBtZW1iZXIgZnJvbSBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0Iik7cmV0dXJuIHQ9PT0ibSI/cjp0PT09ImEiP3IuY2FsbChhKTpyP3IudmFsdWU6ZS5nZXQoYSl9ZnVuY3Rpb24gRzhhKGEsZSx0LHIsaSl7aWYocj09PSJtIil0aHJvdyBuZXcgVHlwZUVycm9yKCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGUiKTtpZihyPT09ImEiJiYhaSl0aHJvdyBuZXcgVHlwZUVycm9yKCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBzZXR0ZXIiKTtpZih0eXBlb2YgZT09ImZ1bmN0aW9uIj9hIT09ZXx8IWk6IWUuaGFzKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCB3cml0ZSBwcml2YXRlIG1lbWJlciB0byBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0Iik7cmV0dXJuIHI9PT0iYSI/aS5jYWxsKGEsdCk6aT9pLnZhbHVlPXQ6ZS5zZXQoYSx0KSx0fWZ1bmN0aW9uIFk4YShhLGUpe2lmKGU9PT1udWxsfHx0eXBlb2YgZSE9Im9iamVjdCImJnR5cGVvZiBlIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCB1c2UgJ2luJyBvcGVyYXRvciBvbiBub24tb2JqZWN0Iik7cmV0dXJuIHR5cGVvZiBhPT0iZnVuY3Rpb24iP2U9PT1hOmEuaGFzKGUpfWZ1bmN0aW9uIEs4YShhLGUsdCl7aWYoZSE9bnVsbCl7aWYodHlwZW9mIGUhPSJvYmplY3QiJiZ0eXBlb2YgZSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQuIik7dmFyIHIsaTtpZih0KXtpZighU3ltYm9sLmFzeW5jRGlzcG9zZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNEaXNwb3NlIGlzIG5vdCBkZWZpbmVkLiIpO3I9ZVtTeW1ib2wuYXN5bmNEaXNwb3NlXX1pZihyPT09dm9pZCAwKXtpZighU3ltYm9sLmRpc3Bvc2UpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmRpc3Bvc2UgaXMgbm90IGRlZmluZWQuIik7cj1lW1N5bWJvbC5kaXNwb3NlXSx0JiYoaT1yKX1pZih0eXBlb2YgciE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3Qgbm90IGRpc3Bvc2FibGUuIik7aSYmKHI9cyhmdW5jdGlvbigpe3RyeXtpLmNhbGwodGhpcyl9Y2F0Y2gobyl7cmV0dXJuIFByb21pc2UucmVqZWN0KG8pfX0sImRpc3Bvc2UiKSksYS5zdGFjay5wdXNoKHt2YWx1ZTplLGRpc3Bvc2U6cixhc3luYzp0fSl9ZWxzZSB0JiZhLnN0YWNrLnB1c2goe2FzeW5jOiEwfSk7cmV0dXJuIGV9ZnVuY3Rpb24gWDhhKGEpe2Z1bmN0aW9uIGUobyl7YS5lcnJvcj1hLmhhc0Vycm9yP25ldyBaOGEobyxhLmVycm9yLCJBbiBlcnJvciB3YXMgc3VwcHJlc3NlZCBkdXJpbmcgZGlzcG9zYWwuIik6byxhLmhhc0Vycm9yPSEwfXMoZSwiZmFpbCIpO3ZhciB0LHI9MDtmdW5jdGlvbiBpKCl7Zm9yKDt0PWEuc3RhY2sucG9wKCk7KXRyeXtpZighdC5hc3luYyYmcj09PTEpcmV0dXJuIHI9MCxhLnN0YWNrLnB1c2godCksUHJvbWlzZS5yZXNvbHZlKCkudGhlbihpKTtpZih0LmRpc3Bvc2Upe3ZhciBvPXQuZGlzcG9zZS5jYWxsKHQudmFsdWUpO2lmKHQuYXN5bmMpcmV0dXJuIHJ8PTIsUHJvbWlzZS5yZXNvbHZlKG8pLnRoZW4oaSxmdW5jdGlvbihuKXtyZXR1cm4gZShuKSxpKCl9KX1lbHNlIHJ8PTF9Y2F0Y2gobil7ZShuKX1pZihyPT09MSlyZXR1cm4gYS5oYXNFcnJvcj9Qcm9taXNlLnJlamVjdChhLmVycm9yKTpQcm9taXNlLnJlc29sdmUoKTtpZihhLmhhc0Vycm9yKXRocm93IGEuZXJyb3J9cmV0dXJuIHMoaSwibmV4dCIpLGkoKX1mdW5jdGlvbiBROGEoYSxlKXtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmciJiYvXlwuXC4/XC8vLnRlc3QoYSk/YS5yZXBsYWNlKC9cLih0c3gpJHwoKD86XC5kKT8pKCg/OlwuW14uL10rPyk/KVwuKFtjbV0/KXRzJC9pLGZ1bmN0aW9uKHQscixpLG8sbil7cmV0dXJuIHI/ZT8iLmpzeCI6Ii5qcyI6aSYmKCFvfHwhbik/dDppK28rIi4iK24udG9Mb3dlckNhc2UoKSsianMifSk6YX12YXIgZG9lLHVvZSxwb2UsVjhhLGZvZSxaOGEsQ0JhLEhhPWYoKCk9Pntkb2U9cyhmdW5jdGlvbihhLGUpe3JldHVybiBkb2U9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHQscil7dC5fX3Byb3RvX189cn18fGZ1bmN0aW9uKHQscil7Zm9yKHZhciBpIGluIHIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsaSkmJih0W2ldPXJbaV0pfSxkb2UoYSxlKX0sImV4dGVuZFN0YXRpY3MiKTtzKG5hLCJfX2V4dGVuZHMiKTt1b2U9cyhmdW5jdGlvbigpe3JldHVybiB1b2U9T2JqZWN0LmFzc2lnbnx8cyhmdW5jdGlvbihlKXtmb3IodmFyIHQscj0xLGk9YXJndW1lbnRzLmxlbmd0aDtyPGk7cisrKXt0PWFyZ3VtZW50c1tyXTtmb3IodmFyIG8gaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxvKSYmKGVbb109dFtvXSl9cmV0dXJuIGV9LCJfX2Fzc2lnbiIpLHVvZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LCJfX2Fzc2lnbiIpO3MoJDhhLCJfX3Jlc3QiKTtzKEQ4YSwiX19kZWNvcmF0ZSIpO3MoQThhLCJfX3BhcmFtIik7cyhFOGEsIl9fZXNEZWNvcmF0ZSIpO3MoUDhhLCJfX3J1bkluaXRpYWxpemVycyIpO3MoSThhLCJfX3Byb3BLZXkiKTtzKE44YSwiX19zZXRGdW5jdGlvbk5hbWUiKTtzKFI4YSwiX19tZXRhZGF0YSIpO3MoaG9lLCJfX2F3YWl0ZXIiKTtzKFc3LCJfX2dlbmVyYXRvciIpO3BvZT1PYmplY3QuY3JlYXRlPyhmdW5jdGlvbihhLGUsdCxyKXtyPT09dm9pZCAwJiYocj10KTt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCk7KCFpfHwoImdldCJpbiBpPyFlLl9fZXNNb2R1bGU6aS53cml0YWJsZXx8aS5jb25maWd1cmFibGUpKSYmKGk9e2VudW1lcmFibGU6ITAsZ2V0OnMoZnVuY3Rpb24oKXtyZXR1cm4gZVt0XX0sImdldCIpfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEscixpKX0pOihmdW5jdGlvbihhLGUsdCxyKXtyPT09dm9pZCAwJiYocj10KSxhW3JdPWVbdF19KTtzKE84YSwiX19leHBvcnRTdGFyIik7cyhtaSwiX192YWx1ZXMiKTtzKFByLCJfX3JlYWQiKTtzKEY4YSwiX19zcHJlYWQiKTtzKEI4YSwiX19zcHJlYWRBcnJheXMiKTtzKGtzLCJfX3NwcmVhZEFycmF5Iik7cyh3bCwiX19hd2FpdCIpO3MobW9lLCJfX2FzeW5jR2VuZXJhdG9yIik7cyhIOGEsIl9fYXN5bmNEZWxlZ2F0b3IiKTtzKGdvZSwiX19hc3luY1ZhbHVlcyIpO3MocThhLCJfX21ha2VUZW1wbGF0ZU9iamVjdCIpO1Y4YT1PYmplY3QuY3JlYXRlPyhmdW5jdGlvbihhLGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCx2YWx1ZTplfSl9KTpmdW5jdGlvbihhLGUpe2EuZGVmYXVsdD1lfSxmb2U9cyhmdW5jdGlvbihhKXtyZXR1cm4gZm9lPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzfHxmdW5jdGlvbihlKXt2YXIgdD1bXTtmb3IodmFyIHIgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmKHRbdC5sZW5ndGhdPXIpO3JldHVybiB0fSxmb2UoYSl9LCJvd25LZXlzIik7cyhqOGEsIl9faW1wb3J0U3RhciIpO3MoVThhLCJfX2ltcG9ydERlZmF1bHQiKTtzKFc4YSwiX19jbGFzc1ByaXZhdGVGaWVsZEdldCIpO3MoRzhhLCJfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0Iik7cyhZOGEsIl9fY2xhc3NQcml2YXRlRmllbGRJbiIpO3MoSzhhLCJfX2FkZERpc3Bvc2FibGVSZXNvdXJjZSIpO1o4YT10eXBlb2YgU3VwcHJlc3NlZEVycm9yPT0iZnVuY3Rpb24iP1N1cHByZXNzZWRFcnJvcjpmdW5jdGlvbihhLGUsdCl7dmFyIHI9bmV3IEVycm9yKHQpO3JldHVybiByLm5hbWU9IlN1cHByZXNzZWRFcnJvciIsci5lcnJvcj1hLHIuc3VwcHJlc3NlZD1lLHJ9O3MoWDhhLCJfX2Rpc3Bvc2VSZXNvdXJjZXMiKTtzKFE4YSwiX19yZXdyaXRlUmVsYXRpdmVJbXBvcnRFeHRlbnNpb24iKTtDQmE9e19fZXh0ZW5kczpuYSxfX2Fzc2lnbjp1b2UsX19yZXN0OiQ4YSxfX2RlY29yYXRlOkQ4YSxfX3BhcmFtOkE4YSxfX2VzRGVjb3JhdGU6RThhLF9fcnVuSW5pdGlhbGl6ZXJzOlA4YSxfX3Byb3BLZXk6SThhLF9fc2V0RnVuY3Rpb25OYW1lOk44YSxfX21ldGFkYXRhOlI4YSxfX2F3YWl0ZXI6aG9lLF9fZ2VuZXJhdG9yOlc3LF9fY3JlYXRlQmluZGluZzpwb2UsX19leHBvcnRTdGFyOk84YSxfX3ZhbHVlczptaSxfX3JlYWQ6UHIsX19zcHJlYWQ6RjhhLF9fc3ByZWFkQXJyYXlzOkI4YSxfX3NwcmVhZEFycmF5OmtzLF9fYXdhaXQ6d2wsX19hc3luY0dlbmVyYXRvcjptb2UsX19hc3luY0RlbGVnYXRvcjpIOGEsX19hc3luY1ZhbHVlczpnb2UsX19tYWtlVGVtcGxhdGVPYmplY3Q6cThhLF9faW1wb3J0U3RhcjpqOGEsX19pbXBvcnREZWZhdWx0OlU4YSxfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0Olc4YSxfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0Okc4YSxfX2NsYXNzUHJpdmF0ZUZpZWxkSW46WThhLF9fYWRkRGlzcG9zYWJsZVJlc291cmNlOks4YSxfX2Rpc3Bvc2VSZXNvdXJjZXM6WDhhLF9fcmV3cml0ZVJlbGF0aXZlSW1wb3J0RXh0ZW5zaW9uOlE4YX19KTtmdW5jdGlvbiBGdChhKXtyZXR1cm4gdHlwZW9mIGE9PSJmdW5jdGlvbiJ9dmFyIFJzPWYoKCk9PntzKEZ0LCJpc0Z1bmN0aW9uIil9KTtmdW5jdGlvbiB4byhhKXt2YXIgZT1zKGZ1bmN0aW9uKHIpe0Vycm9yLmNhbGwociksci5zdGFjaz1uZXcgRXJyb3IoKS5zdGFja30sIl9zdXBlciIpLHQ9YShlKTtyZXR1cm4gdC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShFcnJvci5wcm90b3R5cGUpLHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPXQsdH12YXIgcjA9ZigoKT0+e3MoeG8sImNyZWF0ZUVycm9yQ2xhc3MiKX0pO3ZhciBHNyxib2U9ZigoKT0+e3IwKCk7Rzc9eG8oZnVuY3Rpb24oYSl7cmV0dXJuIHMoZnVuY3Rpb24odCl7YSh0aGlzKSx0aGlzLm1lc3NhZ2U9dD90Lmxlbmd0aCtgIGVycm9ycyBvY2N1cnJlZCBkdXJpbmcgdW5zdWJzY3JpcHRpb246CmArdC5tYXAoZnVuY3Rpb24ocixpKXtyZXR1cm4gaSsxKyIpICIrci50b1N0cmluZygpfSkuam9pbihgCiAgYCk6IiIsdGhpcy5uYW1lPSJVbnN1YnNjcmlwdGlvbkVycm9yIix0aGlzLmVycm9ycz10fSwiVW5zdWJzY3JpcHRpb25FcnJvckltcGwiKX0pfSk7ZnVuY3Rpb24gZTEoYSxlKXtpZihhKXt2YXIgdD1hLmluZGV4T2YoZSk7MDw9dCYmYS5zcGxpY2UodCwxKX19dmFyIEs1PWYoKCk9PntzKGUxLCJhcnJSZW1vdmUiKX0pO2Z1bmN0aW9uIHJZKGEpe3JldHVybiBhIGluc3RhbmNlb2YgV3J8fGEmJiJjbG9zZWQiaW4gYSYmRnQoYS5yZW1vdmUpJiZGdChhLmFkZCkmJkZ0KGEudW5zdWJzY3JpYmUpfWZ1bmN0aW9uIEFhdChhKXtGdChhKT9hKCk6YS51bnN1YnNjcmliZSgpfXZhciBXcix2b2UsZDI9ZigoKT0+e0hhKCk7UnMoKTtib2UoKTtLNSgpO1dyPShmdW5jdGlvbigpe2Z1bmN0aW9uIGEoZSl7dGhpcy5pbml0aWFsVGVhcmRvd249ZSx0aGlzLmNsb3NlZD0hMSx0aGlzLl9wYXJlbnRhZ2U9bnVsbCx0aGlzLl9maW5hbGl6ZXJzPW51bGx9cmV0dXJuIHMoYSwiU3Vic2NyaXB0aW9uIiksYS5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oKXt2YXIgZSx0LHIsaSxvO2lmKCF0aGlzLmNsb3NlZCl7dGhpcy5jbG9zZWQ9ITA7dmFyIG49dGhpcy5fcGFyZW50YWdlO2lmKG4paWYodGhpcy5fcGFyZW50YWdlPW51bGwsQXJyYXkuaXNBcnJheShuKSl0cnl7Zm9yKHZhciBsPW1pKG4pLGQ9bC5uZXh0KCk7IWQuZG9uZTtkPWwubmV4dCgpKXt2YXIgYz1kLnZhbHVlO2MucmVtb3ZlKHRoaXMpfX1jYXRjaChiKXtlPXtlcnJvcjpifX1maW5hbGx5e3RyeXtkJiYhZC5kb25lJiYodD1sLnJldHVybikmJnQuY2FsbChsKX1maW5hbGx5e2lmKGUpdGhyb3cgZS5lcnJvcn19ZWxzZSBuLnJlbW92ZSh0aGlzKTt2YXIgcD10aGlzLmluaXRpYWxUZWFyZG93bjtpZihGdChwKSl0cnl7cCgpfWNhdGNoKGIpe289YiBpbnN0YW5jZW9mIEc3P2IuZXJyb3JzOltiXX12YXIgdT10aGlzLl9maW5hbGl6ZXJzO2lmKHUpe3RoaXMuX2ZpbmFsaXplcnM9bnVsbDt0cnl7Zm9yKHZhciBtPW1pKHUpLHY9bS5uZXh0KCk7IXYuZG9uZTt2PW0ubmV4dCgpKXt2YXIgeD12LnZhbHVlO3RyeXtBYXQoeCl9Y2F0Y2goYil7bz1vPz9bXSxiIGluc3RhbmNlb2YgRzc/bz1rcyhrcyhbXSxQcihvKSksUHIoYi5lcnJvcnMpKTpvLnB1c2goYil9fX1jYXRjaChiKXtyPXtlcnJvcjpifX1maW5hbGx5e3RyeXt2JiYhdi5kb25lJiYoaT1tLnJldHVybikmJmkuY2FsbChtKX1maW5hbGx5e2lmKHIpdGhyb3cgci5lcnJvcn19fWlmKG8pdGhyb3cgbmV3IEc3KG8pfX0sYS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUmJmUhPT10aGlzKWlmKHRoaXMuY2xvc2VkKUFhdChlKTtlbHNle2lmKGUgaW5zdGFuY2VvZiBhKXtpZihlLmNsb3NlZHx8ZS5faGFzUGFyZW50KHRoaXMpKXJldHVybjtlLl9hZGRQYXJlbnQodGhpcyl9KHRoaXMuX2ZpbmFsaXplcnM9KHQ9dGhpcy5fZmluYWxpemVycykhPT1udWxsJiZ0IT09dm9pZCAwP3Q6W10pLnB1c2goZSl9fSxhLnByb3RvdHlwZS5faGFzUGFyZW50PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3BhcmVudGFnZTtyZXR1cm4gdD09PWV8fEFycmF5LmlzQXJyYXkodCkmJnQuaW5jbHVkZXMoZSl9LGEucHJvdG90eXBlLl9hZGRQYXJlbnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fcGFyZW50YWdlO3RoaXMuX3BhcmVudGFnZT1BcnJheS5pc0FycmF5KHQpPyh0LnB1c2goZSksdCk6dD9bdCxlXTplfSxhLnByb3RvdHlwZS5fcmVtb3ZlUGFyZW50PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3BhcmVudGFnZTt0PT09ZT90aGlzLl9wYXJlbnRhZ2U9bnVsbDpBcnJheS5pc0FycmF5KHQpJiZlMSh0LGUpfSxhLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fZmluYWxpemVyczt0JiZlMSh0LGUpLGUgaW5zdGFuY2VvZiBhJiZlLl9yZW1vdmVQYXJlbnQodGhpcyl9LGEuRU1QVFk9KGZ1bmN0aW9uKCl7dmFyIGU9bmV3IGE7cmV0dXJuIGUuY2xvc2VkPSEwLGV9KSgpLGF9KSgpLHZvZT1Xci5FTVBUWTtzKHJZLCJpc1N1YnNjcmlwdGlvbiIpO3MoQWF0LCJleGVjRmluYWxpemVyIil9KTt2YXIgZm4sWjU9ZigoKT0+e2ZuPXtvblVuaGFuZGxlZEVycm9yOm51bGwsb25TdG9wcGVkTm90aWZpY2F0aW9uOm51bGwsUHJvbWlzZTp2b2lkIDAsdXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZzohMSx1c2VEZXByZWNhdGVkTmV4dENvbnRleHQ6ITF9fSk7dmFyIFg1LHhvZT1mKCgpPT57SGEoKTtYNT17c2V0VGltZW91dDpzKGZ1bmN0aW9uKGEsZSl7Zm9yKHZhciB0PVtdLHI9MjtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXRbci0yXT1hcmd1bWVudHNbcl07dmFyIGk9WDUuZGVsZWdhdGU7cmV0dXJuIGk/LnNldFRpbWVvdXQ/aS5zZXRUaW1lb3V0LmFwcGx5KGksa3MoW2EsZV0sUHIodCkpKTpzZXRUaW1lb3V0LmFwcGx5KHZvaWQgMCxrcyhbYSxlXSxQcih0KSkpfSwic2V0VGltZW91dCIpLGNsZWFyVGltZW91dDpzKGZ1bmN0aW9uKGEpe3ZhciBlPVg1LmRlbGVnYXRlO3JldHVybihlPy5jbGVhclRpbWVvdXR8fGNsZWFyVGltZW91dCkoYSl9LCJjbGVhclRpbWVvdXQiKSxkZWxlZ2F0ZTp2b2lkIDB9fSk7ZnVuY3Rpb24gc1koYSl7WDUuc2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBlPWZuLm9uVW5oYW5kbGVkRXJyb3I7aWYoZSllKGEpO2Vsc2UgdGhyb3cgYX0pfXZhciB5b2U9ZigoKT0+e1o1KCk7eG9lKCk7cyhzWSwicmVwb3J0VW5oYW5kbGVkRXJyb3IiKX0pO2Z1bmN0aW9uIGhuKCl7fXZhciBsMz1mKCgpPT57cyhobiwibm9vcCIpfSk7ZnVuY3Rpb24gUGF0KGEpe3JldHVybiB3b2UoIkUiLHZvaWQgMCxhKX1mdW5jdGlvbiBJYXQoYSl7cmV0dXJuIHdvZSgiTiIsYSx2b2lkIDApfWZ1bmN0aW9uIHdvZShhLGUsdCl7cmV0dXJue2tpbmQ6YSx2YWx1ZTplLGVycm9yOnR9fXZhciBFYXQsTmF0PWYoKCk9PntFYXQ9KGZ1bmN0aW9uKCl7cmV0dXJuIHdvZSgiQyIsdm9pZCAwLHZvaWQgMCl9KSgpO3MoUGF0LCJlcnJvck5vdGlmaWNhdGlvbiIpO3MoSWF0LCJuZXh0Tm90aWZpY2F0aW9uIik7cyh3b2UsImNyZWF0ZU5vdGlmaWNhdGlvbiIpfSk7ZnVuY3Rpb24gUTUoYSl7aWYoZm4udXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZyl7dmFyIGU9IWMzO2lmKGUmJihjMz17ZXJyb3JUaHJvd246ITEsZXJyb3I6bnVsbH0pLGEoKSxlKXt2YXIgdD1jMyxyPXQuZXJyb3JUaHJvd24saT10LmVycm9yO2lmKGMzPW51bGwscil0aHJvdyBpfX1lbHNlIGEoKX1mdW5jdGlvbiBSYXQoYSl7Zm4udXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZyYmYzMmJihjMy5lcnJvclRocm93bj0hMCxjMy5lcnJvcj1hKX12YXIgYzMsaVk9ZigoKT0+e1o1KCk7YzM9bnVsbDtzKFE1LCJlcnJvckNvbnRleHQiKTtzKFJhdCwiY2FwdHVyZUVycm9yIil9KTtmdW5jdGlvbiBNb2UoYSxlKXtyZXR1cm4gSjhhLmNhbGwoYSxlKX1mdW5jdGlvbiBvWShhKXtmbi51c2VEZXByZWNhdGVkU3luY2hyb25vdXNFcnJvckhhbmRsaW5nP1JhdChhKTpzWShhKX1mdW5jdGlvbiB0bWEoYSl7dGhyb3cgYX1mdW5jdGlvbiBrb2UoYSxlKXt2YXIgdD1mbi5vblN0b3BwZWROb3RpZmljYXRpb247dCYmWDUuc2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybiB0KGEsZSl9KX12YXIgZDMsSjhhLGVtYSxzMCxhbWEsWTc9ZigoKT0+e0hhKCk7UnMoKTtkMigpO1o1KCk7eW9lKCk7bDMoKTtOYXQoKTt4b2UoKTtpWSgpO2QzPShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUodCl7dmFyIHI9YS5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiByLmlzU3RvcHBlZD0hMSx0PyhyLmRlc3RpbmF0aW9uPXQsclkodCkmJnQuYWRkKHIpKTpyLmRlc3RpbmF0aW9uPWFtYSxyfXJldHVybiBzKGUsIlN1YnNjcmliZXIiKSxlLmNyZWF0ZT1mdW5jdGlvbih0LHIsaSl7cmV0dXJuIG5ldyBzMCh0LHIsaSl9LGUucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24odCl7dGhpcy5pc1N0b3BwZWQ/a29lKElhdCh0KSx0aGlzKTp0aGlzLl9uZXh0KHQpfSxlLnByb3RvdHlwZS5lcnJvcj1mdW5jdGlvbih0KXt0aGlzLmlzU3RvcHBlZD9rb2UoUGF0KHQpLHRoaXMpOih0aGlzLmlzU3RvcHBlZD0hMCx0aGlzLl9lcnJvcih0KSl9LGUucHJvdG90eXBlLmNvbXBsZXRlPWZ1bmN0aW9uKCl7dGhpcy5pc1N0b3BwZWQ/a29lKEVhdCx0aGlzKToodGhpcy5pc1N0b3BwZWQ9ITAsdGhpcy5fY29tcGxldGUoKSl9LGUucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKCl7dGhpcy5jbG9zZWR8fCh0aGlzLmlzU3RvcHBlZD0hMCxhLnByb3RvdHlwZS51bnN1YnNjcmliZS5jYWxsKHRoaXMpLHRoaXMuZGVzdGluYXRpb249bnVsbCl9LGUucHJvdG90eXBlLl9uZXh0PWZ1bmN0aW9uKHQpe3RoaXMuZGVzdGluYXRpb24ubmV4dCh0KX0sZS5wcm90b3R5cGUuX2Vycm9yPWZ1bmN0aW9uKHQpe3RyeXt0aGlzLmRlc3RpbmF0aW9uLmVycm9yKHQpfWZpbmFsbHl7dGhpcy51bnN1YnNjcmliZSgpfX0sZS5wcm90b3R5cGUuX2NvbXBsZXRlPWZ1bmN0aW9uKCl7dHJ5e3RoaXMuZGVzdGluYXRpb24uY29tcGxldGUoKX1maW5hbGx5e3RoaXMudW5zdWJzY3JpYmUoKX19LGV9KShXciksSjhhPUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kO3MoTW9lLCJiaW5kIik7ZW1hPShmdW5jdGlvbigpe2Z1bmN0aW9uIGEoZSl7dGhpcy5wYXJ0aWFsT2JzZXJ2ZXI9ZX1yZXR1cm4gcyhhLCJDb25zdW1lck9ic2VydmVyIiksYS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLnBhcnRpYWxPYnNlcnZlcjtpZih0Lm5leHQpdHJ5e3QubmV4dChlKX1jYXRjaChyKXtvWShyKX19LGEucHJvdG90eXBlLmVycm9yPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMucGFydGlhbE9ic2VydmVyO2lmKHQuZXJyb3IpdHJ5e3QuZXJyb3IoZSl9Y2F0Y2gocil7b1kocil9ZWxzZSBvWShlKX0sYS5wcm90b3R5cGUuY29tcGxldGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnBhcnRpYWxPYnNlcnZlcjtpZihlLmNvbXBsZXRlKXRyeXtlLmNvbXBsZXRlKCl9Y2F0Y2godCl7b1kodCl9fSxhfSkoKSxzMD0oZnVuY3Rpb24oYSl7bmEoZSxhKTtmdW5jdGlvbiBlKHQscixpKXt2YXIgbz1hLmNhbGwodGhpcyl8fHRoaXMsbjtpZihGdCh0KXx8IXQpbj17bmV4dDp0Pz92b2lkIDAsZXJyb3I6cj8/dm9pZCAwLGNvbXBsZXRlOmk/P3ZvaWQgMH07ZWxzZXt2YXIgbDtvJiZmbi51c2VEZXByZWNhdGVkTmV4dENvbnRleHQ/KGw9T2JqZWN0LmNyZWF0ZSh0KSxsLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKCl7cmV0dXJuIG8udW5zdWJzY3JpYmUoKX0sbj17bmV4dDp0Lm5leHQmJk1vZSh0Lm5leHQsbCksZXJyb3I6dC5lcnJvciYmTW9lKHQuZXJyb3IsbCksY29tcGxldGU6dC5jb21wbGV0ZSYmTW9lKHQuY29tcGxldGUsbCl9KTpuPXR9cmV0dXJuIG8uZGVzdGluYXRpb249bmV3IGVtYShuKSxvfXJldHVybiBzKGUsIlNhZmVTdWJzY3JpYmVyIiksZX0pKGQzKTtzKG9ZLCJoYW5kbGVVbmhhbmRsZWRFcnJvciIpO3ModG1hLCJkZWZhdWx0RXJyb3JIYW5kbGVyIik7cyhrb2UsImhhbmRsZVN0b3BwZWROb3RpZmljYXRpb24iKTthbWE9e2Nsb3NlZDohMCxuZXh0OmhuLGVycm9yOnRtYSxjb21wbGV0ZTpobn19KTt2YXIgdTMsSzc9ZigoKT0+e3UzPShmdW5jdGlvbigpe3JldHVybiB0eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wub2JzZXJ2YWJsZXx8IkBAb2JzZXJ2YWJsZSJ9KSgpfSk7ZnVuY3Rpb24gdTIoYSl7cmV0dXJuIGF9dmFyIEo1PWYoKCk9PntzKHUyLCJpZGVudGl0eSIpfSk7ZnVuY3Rpb24gcm1hKCl7Zm9yKHZhciBhPVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKWFbZV09YXJndW1lbnRzW2VdO3JldHVybiBTb2UoYSl9ZnVuY3Rpb24gU29lKGEpe3JldHVybiBhLmxlbmd0aD09PTA/dTI6YS5sZW5ndGg9PT0xP2FbMF06cyhmdW5jdGlvbih0KXtyZXR1cm4gYS5yZWR1Y2UoZnVuY3Rpb24ocixpKXtyZXR1cm4gaShyKX0sdCl9LCJwaXBlZCIpfXZhciB6b2U9ZigoKT0+e0o1KCk7cyhybWEsInBpcGUiKTtzKFNvZSwicGlwZUZyb21BcnJheSIpfSk7ZnVuY3Rpb24gT2F0KGEpe3ZhciBlO3JldHVybihlPWE/P2ZuLlByb21pc2UpIT09bnVsbCYmZSE9PXZvaWQgMD9lOlByb21pc2V9ZnVuY3Rpb24gc21hKGEpe3JldHVybiBhJiZGdChhLm5leHQpJiZGdChhLmVycm9yKSYmRnQoYS5jb21wbGV0ZSl9ZnVuY3Rpb24gaW1hKGEpe3JldHVybiBhJiZhIGluc3RhbmNlb2YgZDN8fHNtYShhKSYmclkoYSl9dmFyIEJ0LEhpPWYoKCk9PntZNygpO2QyKCk7SzcoKTt6b2UoKTtaNSgpO1JzKCk7aVkoKTtCdD0oZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGUpe2UmJih0aGlzLl9zdWJzY3JpYmU9ZSl9cmV0dXJuIHMoYSwiT2JzZXJ2YWJsZSIpLGEucHJvdG90eXBlLmxpZnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IGE7cmV0dXJuIHQuc291cmNlPXRoaXMsdC5vcGVyYXRvcj1lLHR9LGEucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbihlLHQscil7dmFyIGk9dGhpcyxvPWltYShlKT9lOm5ldyBzMChlLHQscik7cmV0dXJuIFE1KGZ1bmN0aW9uKCl7dmFyIG49aSxsPW4ub3BlcmF0b3IsZD1uLnNvdXJjZTtvLmFkZChsP2wuY2FsbChvLGQpOmQ/aS5fc3Vic2NyaWJlKG8pOmkuX3RyeVN1YnNjcmliZShvKSl9KSxvfSxhLnByb3RvdHlwZS5fdHJ5U3Vic2NyaWJlPWZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gdGhpcy5fc3Vic2NyaWJlKGUpfWNhdGNoKHQpe2UuZXJyb3IodCl9fSxhLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcztyZXR1cm4gdD1PYXQodCksbmV3IHQoZnVuY3Rpb24oaSxvKXt2YXIgbj1uZXcgczAoe25leHQ6cyhmdW5jdGlvbihsKXt0cnl7ZShsKX1jYXRjaChkKXtvKGQpLG4udW5zdWJzY3JpYmUoKX19LCJuZXh0IiksZXJyb3I6byxjb21wbGV0ZTppfSk7ci5zdWJzY3JpYmUobil9KX0sYS5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4odD10aGlzLnNvdXJjZSk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0LnN1YnNjcmliZShlKX0sYS5wcm90b3R5cGVbdTNdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGEucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZVt0XT1hcmd1bWVudHNbdF07cmV0dXJuIFNvZShlKSh0aGlzKX0sYS5wcm90b3R5cGUudG9Qcm9taXNlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIGU9T2F0KGUpLG5ldyBlKGZ1bmN0aW9uKHIsaSl7dmFyIG87dC5zdWJzY3JpYmUoZnVuY3Rpb24obil7cmV0dXJuIG89bn0sZnVuY3Rpb24obil7cmV0dXJuIGkobil9LGZ1bmN0aW9uKCl7cmV0dXJuIHIobyl9KX0pfSxhLmNyZWF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IGEoZSl9LGF9KSgpO3MoT2F0LCJnZXRQcm9taXNlQ3RvciIpO3Moc21hLCJpc09ic2VydmVyIik7cyhpbWEsImlzU3Vic2NyaWJlciIpfSk7ZnVuY3Rpb24gQ29lKGEpe3JldHVybiBGdChhPy5saWZ0KX1mdW5jdGlvbiB5YShhKXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoQ29lKGUpKXJldHVybiBlLmxpZnQoZnVuY3Rpb24odCl7dHJ5e3JldHVybiBhKHQsdGhpcyl9Y2F0Y2gocil7dGhpcy5lcnJvcihyKX19KTt0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmFibGUgdG8gbGlmdCB1bmtub3duIE9ic2VydmFibGUgdHlwZSIpfX12YXIgaXM9ZigoKT0+e1JzKCk7cyhDb2UsImhhc0xpZnQiKTtzKHlhLCJvcGVyYXRlIil9KTtmdW5jdGlvbiBsYShhLGUsdCxyLGkpe3JldHVybiBuZXcgRmF0KGEsZSx0LHIsaSl9dmFyIEZhdCxPcz1mKCgpPT57SGEoKTtZNygpO3MobGEsImNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciIpO0ZhdD0oZnVuY3Rpb24oYSl7bmEoZSxhKTtmdW5jdGlvbiBlKHQscixpLG8sbixsKXt2YXIgZD1hLmNhbGwodGhpcyx0KXx8dGhpcztyZXR1cm4gZC5vbkZpbmFsaXplPW4sZC5zaG91bGRVbnN1YnNjcmliZT1sLGQuX25leHQ9cj9mdW5jdGlvbihjKXt0cnl7cihjKX1jYXRjaChwKXt0LmVycm9yKHApfX06YS5wcm90b3R5cGUuX25leHQsZC5fZXJyb3I9bz9mdW5jdGlvbihjKXt0cnl7byhjKX1jYXRjaChwKXt0LmVycm9yKHApfWZpbmFsbHl7dGhpcy51bnN1YnNjcmliZSgpfX06YS5wcm90b3R5cGUuX2Vycm9yLGQuX2NvbXBsZXRlPWk/ZnVuY3Rpb24oKXt0cnl7aSgpfWNhdGNoKGMpe3QuZXJyb3IoYyl9ZmluYWxseXt0aGlzLnVuc3Vic2NyaWJlKCl9fTphLnByb3RvdHlwZS5fY29tcGxldGUsZH1yZXR1cm4gcyhlLCJPcGVyYXRvclN1YnNjcmliZXIiKSxlLnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbigpe3ZhciB0O2lmKCF0aGlzLnNob3VsZFVuc3Vic2NyaWJlfHx0aGlzLnNob3VsZFVuc3Vic2NyaWJlKCkpe3ZhciByPXRoaXMuY2xvc2VkO2EucHJvdG90eXBlLnVuc3Vic2NyaWJlLmNhbGwodGhpcyksIXImJigodD10aGlzLm9uRmluYWxpemUpPT09bnVsbHx8dD09PXZvaWQgMHx8dC5jYWxsKHRoaXMpKX19LGV9KShkMyl9KTtmdW5jdGlvbiBuWSgpe3JldHVybiB5YShmdW5jdGlvbihhLGUpe3ZhciB0PW51bGw7YS5fcmVmQ291bnQrKzt2YXIgcj1sYShlLHZvaWQgMCx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7aWYoIWF8fGEuX3JlZkNvdW50PD0wfHwwPC0tYS5fcmVmQ291bnQpe3Q9bnVsbDtyZXR1cm59dmFyIGk9YS5fY29ubmVjdGlvbixvPXQ7dD1udWxsLGkmJighb3x8aT09PW8pJiZpLnVuc3Vic2NyaWJlKCksZS51bnN1YnNjcmliZSgpfSk7YS5zdWJzY3JpYmUociksci5jbG9zZWR8fCh0PWEuY29ubmVjdCgpKX0pfXZhciBsWT1mKCgpPT57aXMoKTtPcygpO3MoblksInJlZkNvdW50Iil9KTt2YXIgQmF0LEhhdD1mKCgpPT57SGEoKTtIaSgpO2QyKCk7bFkoKTtPcygpO2lzKCk7QmF0PShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUodCxyKXt2YXIgaT1hLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGkuc291cmNlPXQsaS5zdWJqZWN0RmFjdG9yeT1yLGkuX3N1YmplY3Q9bnVsbCxpLl9yZWZDb3VudD0wLGkuX2Nvbm5lY3Rpb249bnVsbCxDb2UodCkmJihpLmxpZnQ9dC5saWZ0KSxpfXJldHVybiBzKGUsIkNvbm5lY3RhYmxlT2JzZXJ2YWJsZSIpLGUucHJvdG90eXBlLl9zdWJzY3JpYmU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZ2V0U3ViamVjdCgpLnN1YnNjcmliZSh0KX0sZS5wcm90b3R5cGUuZ2V0U3ViamVjdD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX3N1YmplY3Q7cmV0dXJuKCF0fHx0LmlzU3RvcHBlZCkmJih0aGlzLl9zdWJqZWN0PXRoaXMuc3ViamVjdEZhY3RvcnkoKSksdGhpcy5fc3ViamVjdH0sZS5wcm90b3R5cGUuX3RlYXJkb3duPWZ1bmN0aW9uKCl7dGhpcy5fcmVmQ291bnQ9MDt2YXIgdD10aGlzLl9jb25uZWN0aW9uO3RoaXMuX3N1YmplY3Q9dGhpcy5fY29ubmVjdGlvbj1udWxsLHQ/LnVuc3Vic2NyaWJlKCl9LGUucHJvdG90eXBlLmNvbm5lY3Q9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLHI9dGhpcy5fY29ubmVjdGlvbjtpZighcil7cj10aGlzLl9jb25uZWN0aW9uPW5ldyBXcjt2YXIgaT10aGlzLmdldFN1YmplY3QoKTtyLmFkZCh0aGlzLnNvdXJjZS5zdWJzY3JpYmUobGEoaSx2b2lkIDAsZnVuY3Rpb24oKXt0Ll90ZWFyZG93bigpLGkuY29tcGxldGUoKX0sZnVuY3Rpb24obyl7dC5fdGVhcmRvd24oKSxpLmVycm9yKG8pfSxmdW5jdGlvbigpe3JldHVybiB0Ll90ZWFyZG93bigpfSkpKSxyLmNsb3NlZCYmKHRoaXMuX2Nvbm5lY3Rpb249bnVsbCxyPVdyLkVNUFRZKX1yZXR1cm4gcn0sZS5wcm90b3R5cGUucmVmQ291bnQ9ZnVuY3Rpb24oKXtyZXR1cm4gblkoKSh0aGlzKX0sZX0pKEJ0KX0pO3ZhciBfb2UscWF0PWYoKCk9Pntfb2U9e25vdzpzKGZ1bmN0aW9uKCl7cmV0dXJuKF9vZS5kZWxlZ2F0ZXx8cGVyZm9ybWFuY2UpLm5vdygpfSwibm93IiksZGVsZWdhdGU6dm9pZCAwfX0pO3ZhciBNbCxUb2U9ZigoKT0+e0hhKCk7ZDIoKTtNbD17c2NoZWR1bGU6cyhmdW5jdGlvbihhKXt2YXIgZT1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUsdD1jYW5jZWxBbmltYXRpb25GcmFtZSxyPU1sLmRlbGVnYXRlO3ImJihlPXIucmVxdWVzdEFuaW1hdGlvbkZyYW1lLHQ9ci5jYW5jZWxBbmltYXRpb25GcmFtZSk7dmFyIGk9ZShmdW5jdGlvbihvKXt0PXZvaWQgMCxhKG8pfSk7cmV0dXJuIG5ldyBXcihmdW5jdGlvbigpe3JldHVybiB0Py4oaSl9KX0sInNjaGVkdWxlIikscmVxdWVzdEFuaW1hdGlvbkZyYW1lOnMoZnVuY3Rpb24oKXtmb3IodmFyIGE9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspYVtlXT1hcmd1bWVudHNbZV07dmFyIHQ9TWwuZGVsZWdhdGU7cmV0dXJuKHQ/LnJlcXVlc3RBbmltYXRpb25GcmFtZXx8cmVxdWVzdEFuaW1hdGlvbkZyYW1lKS5hcHBseSh2b2lkIDAsa3MoW10sUHIoYSkpKX0sInJlcXVlc3RBbmltYXRpb25GcmFtZSIpLGNhbmNlbEFuaW1hdGlvbkZyYW1lOnMoZnVuY3Rpb24oKXtmb3IodmFyIGE9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspYVtlXT1hcmd1bWVudHNbZV07dmFyIHQ9TWwuZGVsZWdhdGU7cmV0dXJuKHQ/LmNhbmNlbEFuaW1hdGlvbkZyYW1lfHxjYW5jZWxBbmltYXRpb25GcmFtZSkuYXBwbHkodm9pZCAwLGtzKFtdLFByKGEpKSl9LCJjYW5jZWxBbmltYXRpb25GcmFtZSIpLGRlbGVnYXRlOnZvaWQgMH19KTtmdW5jdGlvbiBvbWEoYSl7cmV0dXJuIGE/VmF0KGEpOm5tYX1mdW5jdGlvbiBWYXQoYSl7cmV0dXJuIG5ldyBCdChmdW5jdGlvbihlKXt2YXIgdD1hfHxfb2Uscj10Lm5vdygpLGk9MCxvPXMoZnVuY3Rpb24oKXtlLmNsb3NlZHx8KGk9TWwucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKG4pe2k9MDt2YXIgbD10Lm5vdygpO2UubmV4dCh7dGltZXN0YW1wOmE/bDpuLGVsYXBzZWQ6bC1yfSksbygpfSkpfSwicnVuIik7cmV0dXJuIG8oKSxmdW5jdGlvbigpe2kmJk1sLmNhbmNlbEFuaW1hdGlvbkZyYW1lKGkpfX0pfXZhciBubWEsamF0PWYoKCk9PntIaSgpO3FhdCgpO1RvZSgpO3Mob21hLCJhbmltYXRpb25GcmFtZXMiKTtzKFZhdCwiYW5pbWF0aW9uRnJhbWVzRmFjdG9yeSIpO25tYT1WYXQoKX0pO3ZhciBMb2UsJG9lPWYoKCk9PntyMCgpO0xvZT14byhmdW5jdGlvbihhKXtyZXR1cm4gcyhmdW5jdGlvbigpe2EodGhpcyksdGhpcy5uYW1lPSJPYmplY3RVbnN1YnNjcmliZWRFcnJvciIsdGhpcy5tZXNzYWdlPSJvYmplY3QgdW5zdWJzY3JpYmVkIn0sIk9iamVjdFVuc3Vic2NyaWJlZEVycm9ySW1wbCIpfSl9KTt2YXIgZ2ksRG9lLGVoPWYoKCk9PntIYSgpO0hpKCk7ZDIoKTskb2UoKTtLNSgpO2lZKCk7Z2k9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSgpe3ZhciB0PWEuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gdC5jbG9zZWQ9ITEsdC5jdXJyZW50T2JzZXJ2ZXJzPW51bGwsdC5vYnNlcnZlcnM9W10sdC5pc1N0b3BwZWQ9ITEsdC5oYXNFcnJvcj0hMSx0LnRocm93bkVycm9yPW51bGwsdH1yZXR1cm4gcyhlLCJTdWJqZWN0IiksZS5wcm90b3R5cGUubGlmdD1mdW5jdGlvbih0KXt2YXIgcj1uZXcgRG9lKHRoaXMsdGhpcyk7cmV0dXJuIHIub3BlcmF0b3I9dCxyfSxlLnByb3RvdHlwZS5fdGhyb3dJZkNsb3NlZD1mdW5jdGlvbigpe2lmKHRoaXMuY2xvc2VkKXRocm93IG5ldyBMb2V9LGUucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcztRNShmdW5jdGlvbigpe3ZhciBpLG87aWYoci5fdGhyb3dJZkNsb3NlZCgpLCFyLmlzU3RvcHBlZCl7ci5jdXJyZW50T2JzZXJ2ZXJzfHwoci5jdXJyZW50T2JzZXJ2ZXJzPUFycmF5LmZyb20oci5vYnNlcnZlcnMpKTt0cnl7Zm9yKHZhciBuPW1pKHIuY3VycmVudE9ic2VydmVycyksbD1uLm5leHQoKTshbC5kb25lO2w9bi5uZXh0KCkpe3ZhciBkPWwudmFsdWU7ZC5uZXh0KHQpfX1jYXRjaChjKXtpPXtlcnJvcjpjfX1maW5hbGx5e3RyeXtsJiYhbC5kb25lJiYobz1uLnJldHVybikmJm8uY2FsbChuKX1maW5hbGx5e2lmKGkpdGhyb3cgaS5lcnJvcn19fX0pfSxlLnByb3RvdHlwZS5lcnJvcj1mdW5jdGlvbih0KXt2YXIgcj10aGlzO1E1KGZ1bmN0aW9uKCl7aWYoci5fdGhyb3dJZkNsb3NlZCgpLCFyLmlzU3RvcHBlZCl7ci5oYXNFcnJvcj1yLmlzU3RvcHBlZD0hMCxyLnRocm93bkVycm9yPXQ7Zm9yKHZhciBpPXIub2JzZXJ2ZXJzO2kubGVuZ3RoOylpLnNoaWZ0KCkuZXJyb3IodCl9fSl9LGUucHJvdG90eXBlLmNvbXBsZXRlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztRNShmdW5jdGlvbigpe2lmKHQuX3Rocm93SWZDbG9zZWQoKSwhdC5pc1N0b3BwZWQpe3QuaXNTdG9wcGVkPSEwO2Zvcih2YXIgcj10Lm9ic2VydmVycztyLmxlbmd0aDspci5zaGlmdCgpLmNvbXBsZXRlKCl9fSl9LGUucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKCl7dGhpcy5pc1N0b3BwZWQ9dGhpcy5jbG9zZWQ9ITAsdGhpcy5vYnNlcnZlcnM9dGhpcy5jdXJyZW50T2JzZXJ2ZXJzPW51bGx9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwib2JzZXJ2ZWQiLHtnZXQ6cyhmdW5jdGlvbigpe3ZhciB0O3JldHVybigodD10aGlzLm9ic2VydmVycyk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0Lmxlbmd0aCk+MH0sImdldCIpLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUuX3RyeVN1YnNjcmliZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fdGhyb3dJZkNsb3NlZCgpLGEucHJvdG90eXBlLl90cnlTdWJzY3JpYmUuY2FsbCh0aGlzLHQpfSxlLnByb3RvdHlwZS5fc3Vic2NyaWJlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl90aHJvd0lmQ2xvc2VkKCksdGhpcy5fY2hlY2tGaW5hbGl6ZWRTdGF0dXNlcyh0KSx0aGlzLl9pbm5lclN1YnNjcmliZSh0KX0sZS5wcm90b3R5cGUuX2lubmVyU3Vic2NyaWJlPWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMsaT10aGlzLG89aS5oYXNFcnJvcixuPWkuaXNTdG9wcGVkLGw9aS5vYnNlcnZlcnM7cmV0dXJuIG98fG4/dm9lOih0aGlzLmN1cnJlbnRPYnNlcnZlcnM9bnVsbCxsLnB1c2godCksbmV3IFdyKGZ1bmN0aW9uKCl7ci5jdXJyZW50T2JzZXJ2ZXJzPW51bGwsZTEobCx0KX0pKX0sZS5wcm90b3R5cGUuX2NoZWNrRmluYWxpemVkU3RhdHVzZXM9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcyxpPXIuaGFzRXJyb3Isbz1yLnRocm93bkVycm9yLG49ci5pc1N0b3BwZWQ7aT90LmVycm9yKG8pOm4mJnQuY29tcGxldGUoKX0sZS5wcm90b3R5cGUuYXNPYnNlcnZhYmxlPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IEJ0O3JldHVybiB0LnNvdXJjZT10aGlzLHR9LGUuY3JlYXRlPWZ1bmN0aW9uKHQscil7cmV0dXJuIG5ldyBEb2UodCxyKX0sZX0pKEJ0KSxEb2U9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSh0LHIpe3ZhciBpPWEuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gaS5kZXN0aW5hdGlvbj10LGkuc291cmNlPXIsaX1yZXR1cm4gcyhlLCJBbm9ueW1vdXNTdWJqZWN0IiksZS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbih0KXt2YXIgcixpOyhpPShyPXRoaXMuZGVzdGluYXRpb24pPT09bnVsbHx8cj09PXZvaWQgMD92b2lkIDA6ci5uZXh0KT09PW51bGx8fGk9PT12b2lkIDB8fGkuY2FsbChyLHQpfSxlLnByb3RvdHlwZS5lcnJvcj1mdW5jdGlvbih0KXt2YXIgcixpOyhpPShyPXRoaXMuZGVzdGluYXRpb24pPT09bnVsbHx8cj09PXZvaWQgMD92b2lkIDA6ci5lcnJvcik9PT1udWxsfHxpPT09dm9pZCAwfHxpLmNhbGwocix0KX0sZS5wcm90b3R5cGUuY29tcGxldGU9ZnVuY3Rpb24oKXt2YXIgdCxyOyhyPSh0PXRoaXMuZGVzdGluYXRpb24pPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5jb21wbGV0ZSk9PT1udWxsfHxyPT09dm9pZCAwfHxyLmNhbGwodCl9LGUucHJvdG90eXBlLl9zdWJzY3JpYmU9ZnVuY3Rpb24odCl7dmFyIHIsaTtyZXR1cm4oaT0ocj10aGlzLnNvdXJjZSk9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyLnN1YnNjcmliZSh0KSkhPT1udWxsJiZpIT09dm9pZCAwP2k6dm9lfSxlfSkoZ2kpfSk7dmFyIHRoLFVhdD1mKCgpPT57SGEoKTtlaCgpO3RoPShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUodCl7dmFyIHI9YS5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiByLl92YWx1ZT10LHJ9cmV0dXJuIHMoZSwiQmVoYXZpb3JTdWJqZWN0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJ2YWx1ZSIse2dldDpzKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0VmFsdWUoKX0sImdldCIpLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbih0KXt2YXIgcj1hLnByb3RvdHlwZS5fc3Vic2NyaWJlLmNhbGwodGhpcyx0KTtyZXR1cm4hci5jbG9zZWQmJnQubmV4dCh0aGlzLl92YWx1ZSkscn0sZS5wcm90b3R5cGUuZ2V0VmFsdWU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLHI9dC5oYXNFcnJvcixpPXQudGhyb3duRXJyb3Isbz10Ll92YWx1ZTtpZihyKXRocm93IGk7cmV0dXJuIHRoaXMuX3Rocm93SWZDbG9zZWQoKSxvfSxlLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKHQpe2EucHJvdG90eXBlLm5leHQuY2FsbCh0aGlzLHRoaXMuX3ZhbHVlPXQpfSxlfSkoZ2kpfSk7dmFyIFo3LEFvZT1mKCgpPT57Wjc9e25vdzpzKGZ1bmN0aW9uKCl7cmV0dXJuKFo3LmRlbGVnYXRlfHxEYXRlKS5ub3coKX0sIm5vdyIpLGRlbGVnYXRlOnZvaWQgMH19KTt2YXIgYWgsRW9lPWYoKCk9PntIYSgpO2VoKCk7QW9lKCk7YWg9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSh0LHIsaSl7dD09PXZvaWQgMCYmKHQ9MS8wKSxyPT09dm9pZCAwJiYocj0xLzApLGk9PT12b2lkIDAmJihpPVo3KTt2YXIgbz1hLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG8uX2J1ZmZlclNpemU9dCxvLl93aW5kb3dUaW1lPXIsby5fdGltZXN0YW1wUHJvdmlkZXI9aSxvLl9idWZmZXI9W10sby5faW5maW5pdGVUaW1lV2luZG93PSEwLG8uX2luZmluaXRlVGltZVdpbmRvdz1yPT09MS8wLG8uX2J1ZmZlclNpemU9TWF0aC5tYXgoMSx0KSxvLl93aW5kb3dUaW1lPU1hdGgubWF4KDEsciksb31yZXR1cm4gcyhlLCJSZXBsYXlTdWJqZWN0IiksZS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbih0KXt2YXIgcj10aGlzLGk9ci5pc1N0b3BwZWQsbz1yLl9idWZmZXIsbj1yLl9pbmZpbml0ZVRpbWVXaW5kb3csbD1yLl90aW1lc3RhbXBQcm92aWRlcixkPXIuX3dpbmRvd1RpbWU7aXx8KG8ucHVzaCh0KSwhbiYmby5wdXNoKGwubm93KCkrZCkpLHRoaXMuX3RyaW1CdWZmZXIoKSxhLnByb3RvdHlwZS5uZXh0LmNhbGwodGhpcyx0KX0sZS5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbih0KXt0aGlzLl90aHJvd0lmQ2xvc2VkKCksdGhpcy5fdHJpbUJ1ZmZlcigpO2Zvcih2YXIgcj10aGlzLl9pbm5lclN1YnNjcmliZSh0KSxpPXRoaXMsbz1pLl9pbmZpbml0ZVRpbWVXaW5kb3csbj1pLl9idWZmZXIsbD1uLnNsaWNlKCksZD0wO2Q8bC5sZW5ndGgmJiF0LmNsb3NlZDtkKz1vPzE6Mil0Lm5leHQobFtkXSk7cmV0dXJuIHRoaXMuX2NoZWNrRmluYWxpemVkU3RhdHVzZXModCkscn0sZS5wcm90b3R5cGUuX3RyaW1CdWZmZXI9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLHI9dC5fYnVmZmVyU2l6ZSxpPXQuX3RpbWVzdGFtcFByb3ZpZGVyLG89dC5fYnVmZmVyLG49dC5faW5maW5pdGVUaW1lV2luZG93LGw9KG4/MToyKSpyO2lmKHI8MS8wJiZsPG8ubGVuZ3RoJiZvLnNwbGljZSgwLG8ubGVuZ3RoLWwpLCFuKXtmb3IodmFyIGQ9aS5ub3coKSxjPTAscD0xO3A8by5sZW5ndGgmJm9bcF08PWQ7cCs9MiljPXA7YyYmby5zcGxpY2UoMCxjKzEpfX0sZX0pKGdpKX0pO3ZhciBXYXQsR2F0PWYoKCk9PntIYSgpO2VoKCk7V2F0PShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUoKXt2YXIgdD1hIT09bnVsbCYmYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXM7cmV0dXJuIHQuX3ZhbHVlPW51bGwsdC5faGFzVmFsdWU9ITEsdC5faXNDb21wbGV0ZT0hMSx0fXJldHVybiBzKGUsIkFzeW5jU3ViamVjdCIpLGUucHJvdG90eXBlLl9jaGVja0ZpbmFsaXplZFN0YXR1c2VzPWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMsaT1yLmhhc0Vycm9yLG89ci5faGFzVmFsdWUsbj1yLl92YWx1ZSxsPXIudGhyb3duRXJyb3IsZD1yLmlzU3RvcHBlZCxjPXIuX2lzQ29tcGxldGU7aT90LmVycm9yKGwpOihkfHxjKSYmKG8mJnQubmV4dChuKSx0LmNvbXBsZXRlKCkpfSxlLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKHQpe3RoaXMuaXNTdG9wcGVkfHwodGhpcy5fdmFsdWU9dCx0aGlzLl9oYXNWYWx1ZT0hMCl9LGUucHJvdG90eXBlLmNvbXBsZXRlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxyPXQuX2hhc1ZhbHVlLGk9dC5fdmFsdWUsbz10Ll9pc0NvbXBsZXRlO298fCh0aGlzLl9pc0NvbXBsZXRlPSEwLHImJmEucHJvdG90eXBlLm5leHQuY2FsbCh0aGlzLGkpLGEucHJvdG90eXBlLmNvbXBsZXRlLmNhbGwodGhpcykpfSxlfSkoZ2kpfSk7dmFyIFBvZSxZYXQ9ZigoKT0+e0hhKCk7ZDIoKTtQb2U9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSh0LHIpe3JldHVybiBhLmNhbGwodGhpcyl8fHRoaXN9cmV0dXJuIHMoZSwiQWN0aW9uIiksZS5wcm90b3R5cGUuc2NoZWR1bGU9ZnVuY3Rpb24odCxyKXtyZXR1cm4gcj09PXZvaWQgMCYmKHI9MCksdGhpc30sZX0pKFdyKX0pO3ZhciBYNyxLYXQ9ZigoKT0+e0hhKCk7WDc9e3NldEludGVydmFsOnMoZnVuY3Rpb24oYSxlKXtmb3IodmFyIHQ9W10scj0yO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspdFtyLTJdPWFyZ3VtZW50c1tyXTt2YXIgaT1YNy5kZWxlZ2F0ZTtyZXR1cm4gaT8uc2V0SW50ZXJ2YWw/aS5zZXRJbnRlcnZhbC5hcHBseShpLGtzKFthLGVdLFByKHQpKSk6c2V0SW50ZXJ2YWwuYXBwbHkodm9pZCAwLGtzKFthLGVdLFByKHQpKSl9LCJzZXRJbnRlcnZhbCIpLGNsZWFySW50ZXJ2YWw6cyhmdW5jdGlvbihhKXt2YXIgZT1YNy5kZWxlZ2F0ZTtyZXR1cm4oZT8uY2xlYXJJbnRlcnZhbHx8Y2xlYXJJbnRlcnZhbCkoYSl9LCJjbGVhckludGVydmFsIiksZGVsZWdhdGU6dm9pZCAwfX0pO3ZhciB0MSxyaD1mKCgpPT57SGEoKTtZYXQoKTtLYXQoKTtLNSgpO3QxPShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUodCxyKXt2YXIgaT1hLmNhbGwodGhpcyx0LHIpfHx0aGlzO3JldHVybiBpLnNjaGVkdWxlcj10LGkud29yaz1yLGkucGVuZGluZz0hMSxpfXJldHVybiBzKGUsIkFzeW5jQWN0aW9uIiksZS5wcm90b3R5cGUuc2NoZWR1bGU9ZnVuY3Rpb24odCxyKXt2YXIgaTtpZihyPT09dm9pZCAwJiYocj0wKSx0aGlzLmNsb3NlZClyZXR1cm4gdGhpczt0aGlzLnN0YXRlPXQ7dmFyIG89dGhpcy5pZCxuPXRoaXMuc2NoZWR1bGVyO3JldHVybiBvIT1udWxsJiYodGhpcy5pZD10aGlzLnJlY3ljbGVBc3luY0lkKG4sbyxyKSksdGhpcy5wZW5kaW5nPSEwLHRoaXMuZGVsYXk9cix0aGlzLmlkPShpPXRoaXMuaWQpIT09bnVsbCYmaSE9PXZvaWQgMD9pOnRoaXMucmVxdWVzdEFzeW5jSWQobix0aGlzLmlkLHIpLHRoaXN9LGUucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkPWZ1bmN0aW9uKHQscixpKXtyZXR1cm4gaT09PXZvaWQgMCYmKGk9MCksWDcuc2V0SW50ZXJ2YWwodC5mbHVzaC5iaW5kKHQsdGhpcyksaSl9LGUucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkPWZ1bmN0aW9uKHQscixpKXtpZihpPT09dm9pZCAwJiYoaT0wKSxpIT1udWxsJiZ0aGlzLmRlbGF5PT09aSYmdGhpcy5wZW5kaW5nPT09ITEpcmV0dXJuIHI7ciE9bnVsbCYmWDcuY2xlYXJJbnRlcnZhbChyKX0sZS5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbih0LHIpe2lmKHRoaXMuY2xvc2VkKXJldHVybiBuZXcgRXJyb3IoImV4ZWN1dGluZyBhIGNhbmNlbGxlZCBhY3Rpb24iKTt0aGlzLnBlbmRpbmc9ITE7dmFyIGk9dGhpcy5fZXhlY3V0ZSh0LHIpO2lmKGkpcmV0dXJuIGk7dGhpcy5wZW5kaW5nPT09ITEmJnRoaXMuaWQhPW51bGwmJih0aGlzLmlkPXRoaXMucmVjeWNsZUFzeW5jSWQodGhpcy5zY2hlZHVsZXIsdGhpcy5pZCxudWxsKSl9LGUucHJvdG90eXBlLl9leGVjdXRlPWZ1bmN0aW9uKHQscil7dmFyIGk9ITEsbzt0cnl7dGhpcy53b3JrKHQpfWNhdGNoKG4pe2k9ITAsbz1ufHxuZXcgRXJyb3IoIlNjaGVkdWxlZCBhY3Rpb24gdGhyZXcgZmFsc3kgZXJyb3IiKX1pZihpKXJldHVybiB0aGlzLnVuc3Vic2NyaWJlKCksb30sZS5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oKXtpZighdGhpcy5jbG9zZWQpe3ZhciB0PXRoaXMscj10LmlkLGk9dC5zY2hlZHVsZXIsbz1pLmFjdGlvbnM7dGhpcy53b3JrPXRoaXMuc3RhdGU9dGhpcy5zY2hlZHVsZXI9bnVsbCx0aGlzLnBlbmRpbmc9ITEsZTEobyx0aGlzKSxyIT1udWxsJiYodGhpcy5pZD10aGlzLnJlY3ljbGVBc3luY0lkKGkscixudWxsKSksdGhpcy5kZWxheT1udWxsLGEucHJvdG90eXBlLnVuc3Vic2NyaWJlLmNhbGwodGhpcyl9fSxlfSkoUG9lKX0pO2Z1bmN0aW9uIFphdChhKXtyZXR1cm4gYSBpbiBjWT8oZGVsZXRlIGNZW2FdLCEwKTohMX12YXIgbG1hLElvZSxjWSxOb2UsV3FhLFhhdD1mKCgpPT57bG1hPTEsY1k9e307cyhaYXQsImZpbmRBbmRDbGVhckhhbmRsZSIpO05vZT17c2V0SW1tZWRpYXRlOnMoZnVuY3Rpb24oYSl7dmFyIGU9bG1hKys7cmV0dXJuIGNZW2VdPSEwLElvZXx8KElvZT1Qcm9taXNlLnJlc29sdmUoKSksSW9lLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gWmF0KGUpJiZhKCl9KSxlfSwic2V0SW1tZWRpYXRlIiksY2xlYXJJbW1lZGlhdGU6cyhmdW5jdGlvbihhKXtaYXQoYSl9LCJjbGVhckltbWVkaWF0ZSIpfSxXcWE9e3BlbmRpbmc6cyhmdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyhjWSkubGVuZ3RofSwicGVuZGluZyIpfX0pO3ZhciBjbWEsZG1hLFE3LFFhdD1mKCgpPT57SGEoKTtYYXQoKTtjbWE9Tm9lLnNldEltbWVkaWF0ZSxkbWE9Tm9lLmNsZWFySW1tZWRpYXRlLFE3PXtzZXRJbW1lZGlhdGU6cyhmdW5jdGlvbigpe2Zvcih2YXIgYT1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKylhW2VdPWFyZ3VtZW50c1tlXTt2YXIgdD1RNy5kZWxlZ2F0ZTtyZXR1cm4odD8uc2V0SW1tZWRpYXRlfHxjbWEpLmFwcGx5KHZvaWQgMCxrcyhbXSxQcihhKSkpfSwic2V0SW1tZWRpYXRlIiksY2xlYXJJbW1lZGlhdGU6cyhmdW5jdGlvbihhKXt2YXIgZT1RNy5kZWxlZ2F0ZTtyZXR1cm4oZT8uY2xlYXJJbW1lZGlhdGV8fGRtYSkoYSl9LCJjbGVhckltbWVkaWF0ZSIpLGRlbGVnYXRlOnZvaWQgMH19KTt2YXIgUm9lLEphdD1mKCgpPT57SGEoKTtyaCgpO1FhdCgpO1JvZT0oZnVuY3Rpb24oYSl7bmEoZSxhKTtmdW5jdGlvbiBlKHQscil7dmFyIGk9YS5jYWxsKHRoaXMsdCxyKXx8dGhpcztyZXR1cm4gaS5zY2hlZHVsZXI9dCxpLndvcms9cixpfXJldHVybiBzKGUsIkFzYXBBY3Rpb24iKSxlLnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZD1mdW5jdGlvbih0LHIsaSl7cmV0dXJuIGk9PT12b2lkIDAmJihpPTApLGkhPT1udWxsJiZpPjA/YS5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQuY2FsbCh0aGlzLHQscixpKToodC5hY3Rpb25zLnB1c2godGhpcyksdC5fc2NoZWR1bGVkfHwodC5fc2NoZWR1bGVkPVE3LnNldEltbWVkaWF0ZSh0LmZsdXNoLmJpbmQodCx2b2lkIDApKSkpfSxlLnByb3RvdHlwZS5yZWN5Y2xlQXN5bmNJZD1mdW5jdGlvbih0LHIsaSl7dmFyIG87aWYoaT09PXZvaWQgMCYmKGk9MCksaSE9bnVsbD9pPjA6dGhpcy5kZWxheT4wKXJldHVybiBhLnByb3RvdHlwZS5yZWN5Y2xlQXN5bmNJZC5jYWxsKHRoaXMsdCxyLGkpO3ZhciBuPXQuYWN0aW9ucztyIT1udWxsJiYoKG89bltuLmxlbmd0aC0xXSk9PT1udWxsfHxvPT09dm9pZCAwP3ZvaWQgMDpvLmlkKSE9PXImJihRNy5jbGVhckltbWVkaWF0ZShyKSx0Ll9zY2hlZHVsZWQ9PT1yJiYodC5fc2NoZWR1bGVkPXZvaWQgMCkpfSxlfSkodDEpfSk7dmFyIEo3LE9vZT1mKCgpPT57QW9lKCk7Sjc9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShlLHQpe3Q9PT12b2lkIDAmJih0PWEubm93KSx0aGlzLnNjaGVkdWxlckFjdGlvbkN0b3I9ZSx0aGlzLm5vdz10fXJldHVybiBzKGEsIlNjaGVkdWxlciIpLGEucHJvdG90eXBlLnNjaGVkdWxlPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gdD09PXZvaWQgMCYmKHQ9MCksbmV3IHRoaXMuc2NoZWR1bGVyQWN0aW9uQ3Rvcih0aGlzLGUpLnNjaGVkdWxlKHIsdCl9LGEubm93PVo3Lm5vdyxhfSkoKX0pO3ZhciBhMSxzaD1mKCgpPT57SGEoKTtPb2UoKTthMT0oZnVuY3Rpb24oYSl7bmEoZSxhKTtmdW5jdGlvbiBlKHQscil7cj09PXZvaWQgMCYmKHI9Sjcubm93KTt2YXIgaT1hLmNhbGwodGhpcyx0LHIpfHx0aGlzO3JldHVybiBpLmFjdGlvbnM9W10saS5fYWN0aXZlPSExLGl9cmV0dXJuIHMoZSwiQXN5bmNTY2hlZHVsZXIiKSxlLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbih0KXt2YXIgcj10aGlzLmFjdGlvbnM7aWYodGhpcy5fYWN0aXZlKXtyLnB1c2godCk7cmV0dXJufXZhciBpO3RoaXMuX2FjdGl2ZT0hMDtkbyBpZihpPXQuZXhlY3V0ZSh0LnN0YXRlLHQuZGVsYXkpKWJyZWFrO3doaWxlKHQ9ci5zaGlmdCgpKTtpZih0aGlzLl9hY3RpdmU9ITEsaSl7Zm9yKDt0PXIuc2hpZnQoKTspdC51bnN1YnNjcmliZSgpO3Rocm93IGl9fSxlfSkoSjcpfSk7dmFyIEZvZSxlcnQ9ZigoKT0+e0hhKCk7c2goKTtGb2U9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSgpe3JldHVybiBhIT09bnVsbCYmYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIHMoZSwiQXNhcFNjaGVkdWxlciIpLGUucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKHQpe3RoaXMuX2FjdGl2ZT0hMDt2YXIgcj10aGlzLl9zY2hlZHVsZWQ7dGhpcy5fc2NoZWR1bGVkPXZvaWQgMDt2YXIgaT10aGlzLmFjdGlvbnMsbzt0PXR8fGkuc2hpZnQoKTtkbyBpZihvPXQuZXhlY3V0ZSh0LnN0YXRlLHQuZGVsYXkpKWJyZWFrO3doaWxlKCh0PWlbMF0pJiZ0LmlkPT09ciYmaS5zaGlmdCgpKTtpZih0aGlzLl9hY3RpdmU9ITEsbyl7Zm9yKDsodD1pWzBdKSYmdC5pZD09PXImJmkuc2hpZnQoKTspdC51bnN1YnNjcmliZSgpO3Rocm93IG99fSxlfSkoYTEpfSk7dmFyIHRydCx1bWEsYXJ0PWYoKCk9PntKYXQoKTtlcnQoKTt0cnQ9bmV3IEZvZShSb2UpLHVtYT10cnR9KTt2YXIgeW8sQm9lLGtsPWYoKCk9PntyaCgpO3NoKCk7eW89bmV3IGExKHQxKSxCb2U9eW99KTt2YXIgSG9lLHJydD1mKCgpPT57SGEoKTtyaCgpO0hvZT0oZnVuY3Rpb24oYSl7bmEoZSxhKTtmdW5jdGlvbiBlKHQscil7dmFyIGk9YS5jYWxsKHRoaXMsdCxyKXx8dGhpcztyZXR1cm4gaS5zY2hlZHVsZXI9dCxpLndvcms9cixpfXJldHVybiBzKGUsIlF1ZXVlQWN0aW9uIiksZS5wcm90b3R5cGUuc2NoZWR1bGU9ZnVuY3Rpb24odCxyKXtyZXR1cm4gcj09PXZvaWQgMCYmKHI9MCkscj4wP2EucHJvdG90eXBlLnNjaGVkdWxlLmNhbGwodGhpcyx0LHIpOih0aGlzLmRlbGF5PXIsdGhpcy5zdGF0ZT10LHRoaXMuc2NoZWR1bGVyLmZsdXNoKHRoaXMpLHRoaXMpfSxlLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKHQscil7cmV0dXJuIHI+MHx8dGhpcy5jbG9zZWQ/YS5wcm90b3R5cGUuZXhlY3V0ZS5jYWxsKHRoaXMsdCxyKTp0aGlzLl9leGVjdXRlKHQscil9LGUucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkPWZ1bmN0aW9uKHQscixpKXtyZXR1cm4gaT09PXZvaWQgMCYmKGk9MCksaSE9bnVsbCYmaT4wfHxpPT1udWxsJiZ0aGlzLmRlbGF5PjA/YS5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQuY2FsbCh0aGlzLHQscixpKToodC5mbHVzaCh0aGlzKSwwKX0sZX0pKHQxKX0pO3ZhciBxb2Usc3J0PWYoKCk9PntIYSgpO3NoKCk7cW9lPShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUoKXtyZXR1cm4gYSE9PW51bGwmJmEuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfXJldHVybiBzKGUsIlF1ZXVlU2NoZWR1bGVyIiksZX0pKGExKX0pO3ZhciBpcnQscG1hLG9ydD1mKCgpPT57cnJ0KCk7c3J0KCk7aXJ0PW5ldyBxb2UoSG9lKSxwbWE9aXJ0fSk7dmFyIFZvZSxucnQ9ZigoKT0+e0hhKCk7cmgoKTtUb2UoKTtWb2U9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSh0LHIpe3ZhciBpPWEuY2FsbCh0aGlzLHQscil8fHRoaXM7cmV0dXJuIGkuc2NoZWR1bGVyPXQsaS53b3JrPXIsaX1yZXR1cm4gcyhlLCJBbmltYXRpb25GcmFtZUFjdGlvbiIpLGUucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkPWZ1bmN0aW9uKHQscixpKXtyZXR1cm4gaT09PXZvaWQgMCYmKGk9MCksaSE9PW51bGwmJmk+MD9hLnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZC5jYWxsKHRoaXMsdCxyLGkpOih0LmFjdGlvbnMucHVzaCh0aGlzKSx0Ll9zY2hlZHVsZWR8fCh0Ll9zY2hlZHVsZWQ9TWwucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7cmV0dXJuIHQuZmx1c2godm9pZCAwKX0pKSl9LGUucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkPWZ1bmN0aW9uKHQscixpKXt2YXIgbztpZihpPT09dm9pZCAwJiYoaT0wKSxpIT1udWxsP2k+MDp0aGlzLmRlbGF5PjApcmV0dXJuIGEucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkLmNhbGwodGhpcyx0LHIsaSk7dmFyIG49dC5hY3Rpb25zO3IhPW51bGwmJnI9PT10Ll9zY2hlZHVsZWQmJigobz1uW24ubGVuZ3RoLTFdKT09PW51bGx8fG89PT12b2lkIDA/dm9pZCAwOm8uaWQpIT09ciYmKE1sLmNhbmNlbEFuaW1hdGlvbkZyYW1lKHIpLHQuX3NjaGVkdWxlZD12b2lkIDApfSxlfSkodDEpfSk7dmFyIGpvZSxscnQ9ZigoKT0+e0hhKCk7c2goKTtqb2U9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSgpe3JldHVybiBhIT09bnVsbCYmYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIHMoZSwiQW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIiKSxlLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbih0KXt0aGlzLl9hY3RpdmU9ITA7dmFyIHI7dD9yPXQuaWQ6KHI9dGhpcy5fc2NoZWR1bGVkLHRoaXMuX3NjaGVkdWxlZD12b2lkIDApO3ZhciBpPXRoaXMuYWN0aW9ucyxvO3Q9dHx8aS5zaGlmdCgpO2RvIGlmKG89dC5leGVjdXRlKHQuc3RhdGUsdC5kZWxheSkpYnJlYWs7d2hpbGUoKHQ9aVswXSkmJnQuaWQ9PT1yJiZpLnNoaWZ0KCkpO2lmKHRoaXMuX2FjdGl2ZT0hMSxvKXtmb3IoOyh0PWlbMF0pJiZ0LmlkPT09ciYmaS5zaGlmdCgpOyl0LnVuc3Vic2NyaWJlKCk7dGhyb3cgb319LGV9KShhMSl9KTt2YXIgY3J0LGZtYSxkcnQ9ZigoKT0+e25ydCgpO2xydCgpO2NydD1uZXcgam9lKFZvZSksZm1hPWNydH0pO3ZhciB1cnQsVW9lLHBydD1mKCgpPT57SGEoKTtyaCgpO2QyKCk7c2goKTt1cnQ9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSh0LHIpe3Q9PT12b2lkIDAmJih0PVVvZSkscj09PXZvaWQgMCYmKHI9MS8wKTt2YXIgaT1hLmNhbGwodGhpcyx0LGZ1bmN0aW9uKCl7cmV0dXJuIGkuZnJhbWV9KXx8dGhpcztyZXR1cm4gaS5tYXhGcmFtZXM9cixpLmZyYW1lPTAsaS5pbmRleD0tMSxpfXJldHVybiBzKGUsIlZpcnR1YWxUaW1lU2NoZWR1bGVyIiksZS5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcyxyPXQuYWN0aW9ucyxpPXQubWF4RnJhbWVzLG8sbjsobj1yWzBdKSYmbi5kZWxheTw9aSYmKHIuc2hpZnQoKSx0aGlzLmZyYW1lPW4uZGVsYXksIShvPW4uZXhlY3V0ZShuLnN0YXRlLG4uZGVsYXkpKSk7KTtpZihvKXtmb3IoO249ci5zaGlmdCgpOyluLnVuc3Vic2NyaWJlKCk7dGhyb3cgb319LGUuZnJhbWVUaW1lRmFjdG9yPTEwLGV9KShhMSksVW9lPShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUodCxyLGkpe2k9PT12b2lkIDAmJihpPXQuaW5kZXgrPTEpO3ZhciBvPWEuY2FsbCh0aGlzLHQscil8fHRoaXM7cmV0dXJuIG8uc2NoZWR1bGVyPXQsby53b3JrPXIsby5pbmRleD1pLG8uYWN0aXZlPSEwLG8uaW5kZXg9dC5pbmRleD1pLG99cmV0dXJuIHMoZSwiVmlydHVhbEFjdGlvbiIpLGUucHJvdG90eXBlLnNjaGVkdWxlPWZ1bmN0aW9uKHQscil7aWYocj09PXZvaWQgMCYmKHI9MCksTnVtYmVyLmlzRmluaXRlKHIpKXtpZighdGhpcy5pZClyZXR1cm4gYS5wcm90b3R5cGUuc2NoZWR1bGUuY2FsbCh0aGlzLHQscik7dGhpcy5hY3RpdmU9ITE7dmFyIGk9bmV3IGUodGhpcy5zY2hlZHVsZXIsdGhpcy53b3JrKTtyZXR1cm4gdGhpcy5hZGQoaSksaS5zY2hlZHVsZSh0LHIpfWVsc2UgcmV0dXJuIFdyLkVNUFRZfSxlLnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZD1mdW5jdGlvbih0LHIsaSl7aT09PXZvaWQgMCYmKGk9MCksdGhpcy5kZWxheT10LmZyYW1lK2k7dmFyIG89dC5hY3Rpb25zO3JldHVybiBvLnB1c2godGhpcyksby5zb3J0KGUuc29ydEFjdGlvbnMpLDF9LGUucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkPWZ1bmN0aW9uKHQscixpKXtpPT09dm9pZCAwJiYoaT0wKX0sZS5wcm90b3R5cGUuX2V4ZWN1dGU9ZnVuY3Rpb24odCxyKXtpZih0aGlzLmFjdGl2ZT09PSEwKXJldHVybiBhLnByb3RvdHlwZS5fZXhlY3V0ZS5jYWxsKHRoaXMsdCxyKX0sZS5zb3J0QWN0aW9ucz1mdW5jdGlvbih0LHIpe3JldHVybiB0LmRlbGF5PT09ci5kZWxheT90LmluZGV4PT09ci5pbmRleD8wOnQuaW5kZXg+ci5pbmRleD8xOi0xOnQuZGVsYXk+ci5kZWxheT8xOi0xfSxlfSkodDEpfSk7ZnVuY3Rpb24gaG1hKGEpe3JldHVybiBhP21tYShhKTpkWX1mdW5jdGlvbiBtbWEoYSl7cmV0dXJuIG5ldyBCdChmdW5jdGlvbihlKXtyZXR1cm4gYS5zY2hlZHVsZShmdW5jdGlvbigpe3JldHVybiBlLmNvbXBsZXRlKCl9KX0pfXZhciBkWSx1WT1mKCgpPT57SGkoKTtkWT1uZXcgQnQoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY29tcGxldGUoKX0pO3MoaG1hLCJlbXB0eSIpO3MobW1hLCJlbXB0eVNjaGVkdWxlZCIpfSk7ZnVuY3Rpb24gcFkoYSl7cmV0dXJuIGEmJkZ0KGEuc2NoZWR1bGUpfXZhciBXb2U9ZigoKT0+e1JzKCk7cyhwWSwiaXNTY2hlZHVsZXIiKX0pO2Z1bmN0aW9uIEdvZShhKXtyZXR1cm4gYVthLmxlbmd0aC0xXX1mdW5jdGlvbiBmcnQoYSl7cmV0dXJuIEZ0KEdvZShhKSk/YS5wb3AoKTp2b2lkIDB9ZnVuY3Rpb24gcDIoYSl7cmV0dXJuIHBZKEdvZShhKSk/YS5wb3AoKTp2b2lkIDB9ZnVuY3Rpb24gc2phKGEsZSl7cmV0dXJuIHR5cGVvZiBHb2UoYSk9PSJudW1iZXIiP2EucG9wKCk6ZX12YXIgaWg9ZigoKT0+e1JzKCk7V29lKCk7cyhHb2UsImxhc3QiKTtzKGZydCwicG9wUmVzdWx0U2VsZWN0b3IiKTtzKHAyLCJwb3BTY2hlZHVsZXIiKTtzKHNqYSwicG9wTnVtYmVyIil9KTt2YXIgb2gsZlk9ZigoKT0+e29oPXMoKGZ1bmN0aW9uKGEpe3JldHVybiBhJiZ0eXBlb2YgYS5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2YgYSE9ImZ1bmN0aW9uIn0pLCJpc0FycmF5TGlrZSIpfSk7ZnVuY3Rpb24gaFkoYSl7cmV0dXJuIEZ0KGE/LnRoZW4pfXZhciBZb2U9ZigoKT0+e1JzKCk7cyhoWSwiaXNQcm9taXNlIil9KTtmdW5jdGlvbiBtWShhKXtyZXR1cm4gRnQoYVt1M10pfXZhciBLb2U9ZigoKT0+e0s3KCk7UnMoKTtzKG1ZLCJpc0ludGVyb3BPYnNlcnZhYmxlIil9KTtmdW5jdGlvbiBnWShhKXtyZXR1cm4gU3ltYm9sLmFzeW5jSXRlcmF0b3ImJkZ0KGE/LltTeW1ib2wuYXN5bmNJdGVyYXRvcl0pfXZhciBab2U9ZigoKT0+e1JzKCk7cyhnWSwiaXNBc3luY0l0ZXJhYmxlIil9KTtmdW5jdGlvbiBiWShhKXtyZXR1cm4gbmV3IFR5cGVFcnJvcigiWW91IHByb3ZpZGVkICIrKGEhPT1udWxsJiZ0eXBlb2YgYT09Im9iamVjdCI/ImFuIGludmFsaWQgb2JqZWN0IjoiJyIrYSsiJyIpKyIgd2hlcmUgYSBzdHJlYW0gd2FzIGV4cGVjdGVkLiBZb3UgY2FuIHByb3ZpZGUgYW4gT2JzZXJ2YWJsZSwgUHJvbWlzZSwgUmVhZGFibGVTdHJlYW0sIEFycmF5LCBBc3luY0l0ZXJhYmxlLCBvciBJdGVyYWJsZS4iKX12YXIgWG9lPWYoKCk9PntzKGJZLCJjcmVhdGVJbnZhbGlkT2JzZXJ2YWJsZVR5cGVFcnJvciIpfSk7ZnVuY3Rpb24gZ21hKCl7cmV0dXJuIHR5cGVvZiBTeW1ib2whPSJmdW5jdGlvbiJ8fCFTeW1ib2wuaXRlcmF0b3I/IkBAaXRlcmF0b3IiOlN5bWJvbC5pdGVyYXRvcn12YXIgdlksUW9lPWYoKCk9PntzKGdtYSwiZ2V0U3ltYm9sSXRlcmF0b3IiKTt2WT1nbWEoKX0pO2Z1bmN0aW9uIHhZKGEpe3JldHVybiBGdChhPy5bdlldKX12YXIgSm9lPWYoKCk9PntRb2UoKTtScygpO3MoeFksImlzSXRlcmFibGUiKX0pO2Z1bmN0aW9uIHlZKGEpe3JldHVybiBtb2UodGhpcyxhcmd1bWVudHMscyhmdW5jdGlvbigpe3ZhciB0LHIsaSxvO3JldHVybiBXNyh0aGlzLGZ1bmN0aW9uKG4pe3N3aXRjaChuLmxhYmVsKXtjYXNlIDA6dD1hLmdldFJlYWRlcigpLG4ubGFiZWw9MTtjYXNlIDE6bi50cnlzLnB1c2goWzEsLDksMTBdKSxuLmxhYmVsPTI7Y2FzZSAyOnJldHVybls0LHdsKHQucmVhZCgpKV07Y2FzZSAzOnJldHVybiByPW4uc2VudCgpLGk9ci52YWx1ZSxvPXIuZG9uZSxvP1s0LHdsKHZvaWQgMCldOlszLDVdO2Nhc2UgNDpyZXR1cm5bMixuLnNlbnQoKV07Y2FzZSA1OnJldHVybls0LHdsKGkpXTtjYXNlIDY6cmV0dXJuWzQsbi5zZW50KCldO2Nhc2UgNzpyZXR1cm4gbi5zZW50KCksWzMsMl07Y2FzZSA4OnJldHVyblszLDEwXTtjYXNlIDk6cmV0dXJuIHQucmVsZWFzZUxvY2soKSxbN107Y2FzZSAxMDpyZXR1cm5bMl19fSl9LCJyZWFkYWJsZVN0cmVhbUxpa2VUb0FzeW5jR2VuZXJhdG9yXzEiKSl9ZnVuY3Rpb24gd1koYSl7cmV0dXJuIEZ0KGE/LmdldFJlYWRlcil9dmFyIE1ZPWYoKCk9PntIYSgpO1JzKCk7cyh5WSwicmVhZGFibGVTdHJlYW1MaWtlVG9Bc3luY0dlbmVyYXRvciIpO3Mod1ksImlzUmVhZGFibGVTdHJlYW1MaWtlIil9KTtmdW5jdGlvbiBkcihhKXtpZihhIGluc3RhbmNlb2YgQnQpcmV0dXJuIGE7aWYoYSE9bnVsbCl7aWYobVkoYSkpcmV0dXJuIGJtYShhKTtpZihvaChhKSlyZXR1cm4gdm1hKGEpO2lmKGhZKGEpKXJldHVybiB4bWEoYSk7aWYoZ1koYSkpcmV0dXJuIGhydChhKTtpZih4WShhKSlyZXR1cm4geW1hKGEpO2lmKHdZKGEpKXJldHVybiB3bWEoYSl9dGhyb3cgYlkoYSl9ZnVuY3Rpb24gYm1hKGEpe3JldHVybiBuZXcgQnQoZnVuY3Rpb24oZSl7dmFyIHQ9YVt1M10oKTtpZihGdCh0LnN1YnNjcmliZSkpcmV0dXJuIHQuc3Vic2NyaWJlKGUpO3Rocm93IG5ldyBUeXBlRXJyb3IoIlByb3ZpZGVkIG9iamVjdCBkb2VzIG5vdCBjb3JyZWN0bHkgaW1wbGVtZW50IFN5bWJvbC5vYnNlcnZhYmxlIil9KX1mdW5jdGlvbiB2bWEoYSl7cmV0dXJuIG5ldyBCdChmdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PGEubGVuZ3RoJiYhZS5jbG9zZWQ7dCsrKWUubmV4dChhW3RdKTtlLmNvbXBsZXRlKCl9KX1mdW5jdGlvbiB4bWEoYSl7cmV0dXJuIG5ldyBCdChmdW5jdGlvbihlKXthLnRoZW4oZnVuY3Rpb24odCl7ZS5jbG9zZWR8fChlLm5leHQodCksZS5jb21wbGV0ZSgpKX0sZnVuY3Rpb24odCl7cmV0dXJuIGUuZXJyb3IodCl9KS50aGVuKG51bGwsc1kpfSl9ZnVuY3Rpb24geW1hKGEpe3JldHVybiBuZXcgQnQoZnVuY3Rpb24oZSl7dmFyIHQscjt0cnl7Zm9yKHZhciBpPW1pKGEpLG89aS5uZXh0KCk7IW8uZG9uZTtvPWkubmV4dCgpKXt2YXIgbj1vLnZhbHVlO2lmKGUubmV4dChuKSxlLmNsb3NlZClyZXR1cm59fWNhdGNoKGwpe3Q9e2Vycm9yOmx9fWZpbmFsbHl7dHJ5e28mJiFvLmRvbmUmJihyPWkucmV0dXJuKSYmci5jYWxsKGkpfWZpbmFsbHl7aWYodCl0aHJvdyB0LmVycm9yfX1lLmNvbXBsZXRlKCl9KX1mdW5jdGlvbiBocnQoYSl7cmV0dXJuIG5ldyBCdChmdW5jdGlvbihlKXtNbWEoYSxlKS5jYXRjaChmdW5jdGlvbih0KXtyZXR1cm4gZS5lcnJvcih0KX0pfSl9ZnVuY3Rpb24gd21hKGEpe3JldHVybiBocnQoeVkoYSkpfWZ1bmN0aW9uIE1tYShhLGUpe3ZhciB0LHIsaSxvO3JldHVybiBob2UodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIG4sbDtyZXR1cm4gVzcodGhpcyxmdW5jdGlvbihkKXtzd2l0Y2goZC5sYWJlbCl7Y2FzZSAwOmQudHJ5cy5wdXNoKFswLDUsNiwxMV0pLHQ9Z29lKGEpLGQubGFiZWw9MTtjYXNlIDE6cmV0dXJuWzQsdC5uZXh0KCldO2Nhc2UgMjppZihyPWQuc2VudCgpLCEhci5kb25lKXJldHVyblszLDRdO2lmKG49ci52YWx1ZSxlLm5leHQobiksZS5jbG9zZWQpcmV0dXJuWzJdO2QubGFiZWw9MztjYXNlIDM6cmV0dXJuWzMsMV07Y2FzZSA0OnJldHVyblszLDExXTtjYXNlIDU6cmV0dXJuIGw9ZC5zZW50KCksaT17ZXJyb3I6bH0sWzMsMTFdO2Nhc2UgNjpyZXR1cm4gZC50cnlzLnB1c2goWzYsLDksMTBdKSxyJiYhci5kb25lJiYobz10LnJldHVybik/WzQsby5jYWxsKHQpXTpbMyw4XTtjYXNlIDc6ZC5zZW50KCksZC5sYWJlbD04O2Nhc2UgODpyZXR1cm5bMywxMF07Y2FzZSA5OmlmKGkpdGhyb3cgaS5lcnJvcjtyZXR1cm5bN107Y2FzZSAxMDpyZXR1cm5bN107Y2FzZSAxMTpyZXR1cm4gZS5jb21wbGV0ZSgpLFsyXX19KX0pfXZhciBGbz1mKCgpPT57SGEoKTtmWSgpO1lvZSgpO0hpKCk7S29lKCk7Wm9lKCk7WG9lKCk7Sm9lKCk7TVkoKTtScygpO3lvZSgpO0s3KCk7cyhkciwiaW5uZXJGcm9tIik7cyhibWEsImZyb21JbnRlcm9wT2JzZXJ2YWJsZSIpO3Modm1hLCJmcm9tQXJyYXlMaWtlIik7cyh4bWEsImZyb21Qcm9taXNlIik7cyh5bWEsImZyb21JdGVyYWJsZSIpO3MoaHJ0LCJmcm9tQXN5bmNJdGVyYWJsZSIpO3Mod21hLCJmcm9tUmVhZGFibGVTdHJlYW1MaWtlIik7cyhNbWEsInByb2Nlc3MiKX0pO2Z1bmN0aW9uIFNzKGEsZSx0LHIsaSl7cj09PXZvaWQgMCYmKHI9MCksaT09PXZvaWQgMCYmKGk9ITEpO3ZhciBvPWUuc2NoZWR1bGUoZnVuY3Rpb24oKXt0KCksaT9hLmFkZCh0aGlzLnNjaGVkdWxlKG51bGwscikpOnRoaXMudW5zdWJzY3JpYmUoKX0scik7aWYoYS5hZGQobyksIWkpcmV0dXJuIG99dmFyIGkwPWYoKCk9PntzKFNzLCJleGVjdXRlU2NoZWR1bGUiKX0pO2Z1bmN0aW9uIG5oKGEsZSl7cmV0dXJuIGU9PT12b2lkIDAmJihlPTApLHlhKGZ1bmN0aW9uKHQscil7dC5zdWJzY3JpYmUobGEocixmdW5jdGlvbihpKXtyZXR1cm4gU3MocixhLGZ1bmN0aW9uKCl7cmV0dXJuIHIubmV4dChpKX0sZSl9LGZ1bmN0aW9uKCl7cmV0dXJuIFNzKHIsYSxmdW5jdGlvbigpe3JldHVybiByLmNvbXBsZXRlKCl9LGUpfSxmdW5jdGlvbihpKXtyZXR1cm4gU3MocixhLGZ1bmN0aW9uKCl7cmV0dXJuIHIuZXJyb3IoaSl9LGUpfSkpfSl9dmFyIGU5PWYoKCk9PntpMCgpO2lzKCk7T3MoKTtzKG5oLCJvYnNlcnZlT24iKX0pO2Z1bmN0aW9uIGxoKGEsZSl7cmV0dXJuIGU9PT12b2lkIDAmJihlPTApLHlhKGZ1bmN0aW9uKHQscil7ci5hZGQoYS5zY2hlZHVsZShmdW5jdGlvbigpe3JldHVybiB0LnN1YnNjcmliZShyKX0sZSkpfSl9dmFyIHQ5PWYoKCk9PntpcygpO3MobGgsInN1YnNjcmliZU9uIil9KTtmdW5jdGlvbiBtcnQoYSxlKXtyZXR1cm4gZHIoYSkucGlwZShsaChlKSxuaChlKSl9dmFyIGdydD1mKCgpPT57Rm8oKTtlOSgpO3Q5KCk7cyhtcnQsInNjaGVkdWxlT2JzZXJ2YWJsZSIpfSk7ZnVuY3Rpb24gYnJ0KGEsZSl7cmV0dXJuIGRyKGEpLnBpcGUobGgoZSksbmgoZSkpfXZhciB2cnQ9ZigoKT0+e0ZvKCk7ZTkoKTt0OSgpO3MoYnJ0LCJzY2hlZHVsZVByb21pc2UiKX0pO2Z1bmN0aW9uIHhydChhLGUpe3JldHVybiBuZXcgQnQoZnVuY3Rpb24odCl7dmFyIHI9MDtyZXR1cm4gZS5zY2hlZHVsZShmdW5jdGlvbigpe3I9PT1hLmxlbmd0aD90LmNvbXBsZXRlKCk6KHQubmV4dChhW3IrK10pLHQuY2xvc2VkfHx0aGlzLnNjaGVkdWxlKCkpfSl9KX12YXIgeXJ0PWYoKCk9PntIaSgpO3MoeHJ0LCJzY2hlZHVsZUFycmF5Iil9KTtmdW5jdGlvbiB3cnQoYSxlKXtyZXR1cm4gbmV3IEJ0KGZ1bmN0aW9uKHQpe3ZhciByO3JldHVybiBTcyh0LGUsZnVuY3Rpb24oKXtyPWFbdlldKCksU3ModCxlLGZ1bmN0aW9uKCl7dmFyIGksbyxuO3RyeXtpPXIubmV4dCgpLG89aS52YWx1ZSxuPWkuZG9uZX1jYXRjaChsKXt0LmVycm9yKGwpO3JldHVybn1uP3QuY29tcGxldGUoKTp0Lm5leHQobyl9LDAsITApfSksZnVuY3Rpb24oKXtyZXR1cm4gRnQocj8ucmV0dXJuKSYmci5yZXR1cm4oKX19KX12YXIgTXJ0PWYoKCk9PntIaSgpO1FvZSgpO1JzKCk7aTAoKTtzKHdydCwic2NoZWR1bGVJdGVyYWJsZSIpfSk7ZnVuY3Rpb24ga1koYSxlKXtpZighYSl0aHJvdyBuZXcgRXJyb3IoIkl0ZXJhYmxlIGNhbm5vdCBiZSBudWxsIik7cmV0dXJuIG5ldyBCdChmdW5jdGlvbih0KXtTcyh0LGUsZnVuY3Rpb24oKXt2YXIgcj1hW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSgpO1NzKHQsZSxmdW5jdGlvbigpe3IubmV4dCgpLnRoZW4oZnVuY3Rpb24oaSl7aS5kb25lP3QuY29tcGxldGUoKTp0Lm5leHQoaS52YWx1ZSl9KX0sMCwhMCl9KX0pfXZhciBlbmU9ZigoKT0+e0hpKCk7aTAoKTtzKGtZLCJzY2hlZHVsZUFzeW5jSXRlcmFibGUiKX0pO2Z1bmN0aW9uIGtydChhLGUpe3JldHVybiBrWSh5WShhKSxlKX12YXIgU3J0PWYoKCk9PntlbmUoKTtNWSgpO3Moa3J0LCJzY2hlZHVsZVJlYWRhYmxlU3RyZWFtTGlrZSIpfSk7ZnVuY3Rpb24gdG5lKGEsZSl7aWYoYSE9bnVsbCl7aWYobVkoYSkpcmV0dXJuIG1ydChhLGUpO2lmKG9oKGEpKXJldHVybiB4cnQoYSxlKTtpZihoWShhKSlyZXR1cm4gYnJ0KGEsZSk7aWYoZ1koYSkpcmV0dXJuIGtZKGEsZSk7aWYoeFkoYSkpcmV0dXJuIHdydChhLGUpO2lmKHdZKGEpKXJldHVybiBrcnQoYSxlKX10aHJvdyBiWShhKX12YXIgYW5lPWYoKCk9PntncnQoKTt2cnQoKTt5cnQoKTtNcnQoKTtlbmUoKTtLb2UoKTtZb2UoKTtmWSgpO0pvZSgpO1pvZSgpO1hvZSgpO01ZKCk7U3J0KCk7cyh0bmUsInNjaGVkdWxlZCIpfSk7ZnVuY3Rpb24gZjIoYSxlKXtyZXR1cm4gZT90bmUoYSxlKTpkcihhKX12YXIgYTk9ZigoKT0+e2FuZSgpO0ZvKCk7cyhmMiwiZnJvbSIpfSk7ZnVuY3Rpb24gcDMoKXtmb3IodmFyIGE9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspYVtlXT1hcmd1bWVudHNbZV07dmFyIHQ9cDIoYSk7cmV0dXJuIGYyKGEsdCl9dmFyIHJuZT1mKCgpPT57aWgoKTthOSgpO3MocDMsIm9mIil9KTtmdW5jdGlvbiBzbmUoYSxlKXt2YXIgdD1GdChhKT9hOmZ1bmN0aW9uKCl7cmV0dXJuIGF9LHI9cyhmdW5jdGlvbihpKXtyZXR1cm4gaS5lcnJvcih0KCkpfSwiaW5pdCIpO3JldHVybiBuZXcgQnQoZT9mdW5jdGlvbihpKXtyZXR1cm4gZS5zY2hlZHVsZShyLDAsaSl9OnIpfXZhciBpbmU9ZigoKT0+e0hpKCk7UnMoKTtzKHNuZSwidGhyb3dFcnJvciIpfSk7ZnVuY3Rpb24ga21hKGEsZSl7dmFyIHQscixpLG89YSxuPW8ua2luZCxsPW8udmFsdWUsZD1vLmVycm9yO2lmKHR5cGVvZiBuIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIG5vdGlmaWNhdGlvbiwgbWlzc2luZyAia2luZCInKTtuPT09Ik4iPyh0PWUubmV4dCk9PT1udWxsfHx0PT09dm9pZCAwfHx0LmNhbGwoZSxsKTpuPT09IkUiPyhyPWUuZXJyb3IpPT09bnVsbHx8cj09PXZvaWQgMHx8ci5jYWxsKGUsZCk6KGk9ZS5jb21wbGV0ZSk9PT1udWxsfHxpPT09dm9pZCAwfHxpLmNhbGwoZSl9dmFyIG9uZSx6cnQsQ3J0PWYoKCk9Pnt1WSgpO3JuZSgpO2luZSgpO1JzKCk7KGZ1bmN0aW9uKGEpe2EuTkVYVD0iTiIsYS5FUlJPUj0iRSIsYS5DT01QTEVURT0iQyJ9KShvbmV8fChvbmU9e30pKTt6cnQ9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShlLHQscil7dGhpcy5raW5kPWUsdGhpcy52YWx1ZT10LHRoaXMuZXJyb3I9cix0aGlzLmhhc1ZhbHVlPWU9PT0iTiJ9cmV0dXJuIHMoYSwiTm90aWZpY2F0aW9uIiksYS5wcm90b3R5cGUub2JzZXJ2ZT1mdW5jdGlvbihlKXtyZXR1cm4ga21hKHRoaXMsZSl9LGEucHJvdG90eXBlLmRvPWZ1bmN0aW9uKGUsdCxyKXt2YXIgaT10aGlzLG89aS5raW5kLG49aS52YWx1ZSxsPWkuZXJyb3I7cmV0dXJuIG89PT0iTiI/ZT8uKG4pOm89PT0iRSI/dD8uKGwpOnI/LigpfSxhLnByb3RvdHlwZS5hY2NlcHQ9ZnVuY3Rpb24oZSx0LHIpe3ZhciBpO3JldHVybiBGdCgoaT1lKT09PW51bGx8fGk9PT12b2lkIDA/dm9pZCAwOmkubmV4dCk/dGhpcy5vYnNlcnZlKGUpOnRoaXMuZG8oZSx0LHIpfSxhLnByb3RvdHlwZS50b09ic2VydmFibGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5raW5kLHI9ZS52YWx1ZSxpPWUuZXJyb3Isbz10PT09Ik4iP3AzKHIpOnQ9PT0iRSI/c25lKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KTp0PT09IkMiP2RZOjA7aWYoIW8pdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5leHBlY3RlZCBub3RpZmljYXRpb24ga2luZCAiK3QpO3JldHVybiBvfSxhLmNyZWF0ZU5leHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBhKCJOIixlKX0sYS5jcmVhdGVFcnJvcj1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IGEoIkUiLHZvaWQgMCxlKX0sYS5jcmVhdGVDb21wbGV0ZT1mdW5jdGlvbigpe3JldHVybiBhLmNvbXBsZXRlTm90aWZpY2F0aW9ufSxhLmNvbXBsZXRlTm90aWZpY2F0aW9uPW5ldyBhKCJDIiksYX0pKCk7cyhrbWEsIm9ic2VydmVOb3RpZmljYXRpb24iKX0pO3ZhciBfcnQ9ZigoKT0+e30pO3ZhciBTbWEsVHJ0PWYoKCk9PntyMCgpO1NtYT14byhmdW5jdGlvbihhKXtyZXR1cm4gcyhmdW5jdGlvbigpe2EodGhpcyksdGhpcy5uYW1lPSJFbXB0eUVycm9yIix0aGlzLm1lc3NhZ2U9Im5vIGVsZW1lbnRzIGluIHNlcXVlbmNlIn0sIkVtcHR5RXJyb3JJbXBsIil9KX0pO3ZhciBMcnQ9ZigoKT0+e30pO3ZhciAkcnQ9ZigoKT0+e30pO3ZhciB6bWEsRHJ0PWYoKCk9PntyMCgpO3ptYT14byhmdW5jdGlvbihhKXtyZXR1cm4gcyhmdW5jdGlvbigpe2EodGhpcyksdGhpcy5uYW1lPSJBcmd1bWVudE91dE9mUmFuZ2VFcnJvciIsdGhpcy5tZXNzYWdlPSJhcmd1bWVudCBvdXQgb2YgcmFuZ2UifSwiQXJndW1lbnRPdXRPZlJhbmdlRXJyb3JJbXBsIil9KX0pO3ZhciBDbWEsQXJ0PWYoKCk9PntyMCgpO0NtYT14byhmdW5jdGlvbihhKXtyZXR1cm4gcyhmdW5jdGlvbih0KXthKHRoaXMpLHRoaXMubmFtZT0iTm90Rm91bmRFcnJvciIsdGhpcy5tZXNzYWdlPXR9LCJOb3RGb3VuZEVycm9ySW1wbCIpfSl9KTt2YXIgX21hLEVydD1mKCgpPT57cjAoKTtfbWE9eG8oZnVuY3Rpb24oYSl7cmV0dXJuIHMoZnVuY3Rpb24odCl7YSh0aGlzKSx0aGlzLm5hbWU9IlNlcXVlbmNlRXJyb3IiLHRoaXMubWVzc2FnZT10fSwiU2VxdWVuY2VFcnJvckltcGwiKX0pfSk7ZnVuY3Rpb24gU1koYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBEYXRlJiYhaXNOYU4oYSl9dmFyIG5uZT1mKCgpPT57cyhTWSwiaXNWYWxpZERhdGUiKX0pO2Z1bmN0aW9uIElydChhLGUpe3ZhciB0PVNZKGEpP3tmaXJzdDphfTp0eXBlb2YgYT09Im51bWJlciI/e2VhY2g6YX06YSxyPXQuZmlyc3QsaT10LmVhY2gsbz10LndpdGgsbj1vPT09dm9pZCAwP1RtYTpvLGw9dC5zY2hlZHVsZXIsZD1sPT09dm9pZCAwP2U/P3lvOmwsYz10Lm1ldGEscD1jPT09dm9pZCAwP251bGw6YztpZihyPT1udWxsJiZpPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIk5vIHRpbWVvdXQgcHJvdmlkZWQuIik7cmV0dXJuIHlhKGZ1bmN0aW9uKHUsbSl7dmFyIHYseCxiPW51bGwsZz0wLHk9cyhmdW5jdGlvbihrKXt4PVNzKG0sZCxmdW5jdGlvbigpe3RyeXt2LnVuc3Vic2NyaWJlKCksZHIobih7bWV0YTpwLGxhc3RWYWx1ZTpiLHNlZW46Z30pKS5zdWJzY3JpYmUobSl9Y2F0Y2goQyl7bS5lcnJvcihDKX19LGspfSwic3RhcnRUaW1lciIpO3Y9dS5zdWJzY3JpYmUobGEobSxmdW5jdGlvbihrKXt4Py51bnN1YnNjcmliZSgpLGcrKyxtLm5leHQoYj1rKSxpPjAmJnkoaSl9LHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt4Py5jbG9zZWR8fHg/LnVuc3Vic2NyaWJlKCksYj1udWxsfSkpLCFnJiZ5KHIhPW51bGw/dHlwZW9mIHI9PSJudW1iZXIiP3I6K3ItZC5ub3coKTppKX0pfWZ1bmN0aW9uIFRtYShhKXt0aHJvdyBuZXcgUHJ0KGEpfXZhciBQcnQselk9ZigoKT0+e2tsKCk7bm5lKCk7aXMoKTtGbygpO3IwKCk7T3MoKTtpMCgpO1BydD14byhmdW5jdGlvbihhKXtyZXR1cm4gcyhmdW5jdGlvbih0KXt0PT09dm9pZCAwJiYodD1udWxsKSxhKHRoaXMpLHRoaXMubWVzc2FnZT0iVGltZW91dCBoYXMgb2NjdXJyZWQiLHRoaXMubmFtZT0iVGltZW91dEVycm9yIix0aGlzLmluZm89dH0sIlRpbWVvdXRFcnJvckltcGwiKX0pO3MoSXJ0LCJ0aW1lb3V0Iik7cyhUbWEsInRpbWVvdXRFcnJvckZhY3RvcnkiKX0pO2Z1bmN0aW9uIGgyKGEsZSl7cmV0dXJuIHlhKGZ1bmN0aW9uKHQscil7dmFyIGk9MDt0LnN1YnNjcmliZShsYShyLGZ1bmN0aW9uKG8pe3IubmV4dChhLmNhbGwoZSxvLGkrKykpfSkpfSl9dmFyIHI5PWYoKCk9PntpcygpO09zKCk7cyhoMiwibWFwIil9KTtmdW5jdGlvbiAkbWEoYSxlKXtyZXR1cm4gTG1hKGUpP2EuYXBwbHkodm9pZCAwLGtzKFtdLFByKGUpKSk6YShlKX1mdW5jdGlvbiBDWShhKXtyZXR1cm4gaDIoZnVuY3Rpb24oZSl7cmV0dXJuICRtYShhLGUpfSl9dmFyIExtYSxsbmU9ZigoKT0+e0hhKCk7cjkoKTtMbWE9QXJyYXkuaXNBcnJheTtzKCRtYSwiY2FsbE9yQXBwbHkiKTtzKENZLCJtYXBPbmVPck1hbnlBcmdzIil9KTt2YXIgTnJ0PWYoKCk9Pnt9KTt2YXIgUnJ0PWYoKCk9Pnt9KTtmdW5jdGlvbiBPcnQoYSl7aWYoYS5sZW5ndGg9PT0xKXt2YXIgZT1hWzBdO2lmKERtYShlKSlyZXR1cm57YXJnczplLGtleXM6bnVsbH07aWYoSW1hKGUpKXt2YXIgdD1QbWEoZSk7cmV0dXJue2FyZ3M6dC5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIGVbcl19KSxrZXlzOnR9fX1yZXR1cm57YXJnczphLGtleXM6bnVsbH19ZnVuY3Rpb24gSW1hKGEpe3JldHVybiBhJiZ0eXBlb2YgYT09Im9iamVjdCImJkFtYShhKT09PUVtYX12YXIgRG1hLEFtYSxFbWEsUG1hLEZydD1mKCgpPT57RG1hPUFycmF5LmlzQXJyYXksQW1hPU9iamVjdC5nZXRQcm90b3R5cGVPZixFbWE9T2JqZWN0LnByb3RvdHlwZSxQbWE9T2JqZWN0LmtleXM7cyhPcnQsImFyZ3NBcmdBcnJheU9yT2JqZWN0Iik7cyhJbWEsImlzUE9KTyIpfSk7ZnVuY3Rpb24gQnJ0KGEsZSl7cmV0dXJuIGEucmVkdWNlKGZ1bmN0aW9uKHQscixpKXtyZXR1cm4gdFtyXT1lW2ldLHR9LHt9KX12YXIgSHJ0PWYoKCk9PntzKEJydCwiY3JlYXRlT2JqZWN0Iil9KTtmdW5jdGlvbiBjbmUoKXtmb3IodmFyIGE9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspYVtlXT1hcmd1bWVudHNbZV07dmFyIHQ9cDIoYSkscj1mcnQoYSksaT1PcnQoYSksbz1pLmFyZ3Msbj1pLmtleXM7aWYoby5sZW5ndGg9PT0wKXJldHVybiBmMihbXSx0KTt2YXIgbD1uZXcgQnQoTm1hKG8sdCxuP2Z1bmN0aW9uKGQpe3JldHVybiBCcnQobixkKX06dTIpKTtyZXR1cm4gcj9sLnBpcGUoQ1kocikpOmx9ZnVuY3Rpb24gTm1hKGEsZSx0KXtyZXR1cm4gdD09PXZvaWQgMCYmKHQ9dTIpLGZ1bmN0aW9uKHIpe3FydChlLGZ1bmN0aW9uKCl7Zm9yKHZhciBpPWEubGVuZ3RoLG89bmV3IEFycmF5KGkpLG49aSxsPWksZD1zKGZ1bmN0aW9uKHApe3FydChlLGZ1bmN0aW9uKCl7dmFyIHU9ZjIoYVtwXSxlKSxtPSExO3Uuc3Vic2NyaWJlKGxhKHIsZnVuY3Rpb24odil7b1twXT12LG18fChtPSEwLGwtLSksbHx8ci5uZXh0KHQoby5zbGljZSgpKSl9LGZ1bmN0aW9uKCl7LS1ufHxyLmNvbXBsZXRlKCl9KSl9LHIpfSwiX2xvb3BfMSIpLGM9MDtjPGk7YysrKWQoYyl9LHIpfX1mdW5jdGlvbiBxcnQoYSxlLHQpe2E/U3ModCxhLGUpOmUoKX12YXIgVnJ0PWYoKCk9PntIaSgpO0ZydCgpO2E5KCk7SjUoKTtsbmUoKTtpaCgpO0hydCgpO09zKCk7aTAoKTtzKGNuZSwiY29tYmluZUxhdGVzdCIpO3MoTm1hLCJjb21iaW5lTGF0ZXN0SW5pdCIpO3MocXJ0LCJtYXliZVNjaGVkdWxlIil9KTtmdW5jdGlvbiBqcnQoYSxlLHQscixpLG8sbixsKXt2YXIgZD1bXSxjPTAscD0wLHU9ITEsbT1zKGZ1bmN0aW9uKCl7dSYmIWQubGVuZ3RoJiYhYyYmZS5jb21wbGV0ZSgpfSwiY2hlY2tDb21wbGV0ZSIpLHY9cyhmdW5jdGlvbihiKXtyZXR1cm4gYzxyP3goYik6ZC5wdXNoKGIpfSwib3V0ZXJOZXh0IikseD1zKGZ1bmN0aW9uKGIpe28mJmUubmV4dChiKSxjKys7dmFyIGc9ITE7ZHIodChiLHArKykpLnN1YnNjcmliZShsYShlLGZ1bmN0aW9uKHkpe2k/Lih5KSxvP3YoeSk6ZS5uZXh0KHkpfSxmdW5jdGlvbigpe2c9ITB9LHZvaWQgMCxmdW5jdGlvbigpe2lmKGcpdHJ5e2MtLTtmb3IodmFyIHk9cyhmdW5jdGlvbigpe3ZhciBrPWQuc2hpZnQoKTtuP1NzKGUsbixmdW5jdGlvbigpe3JldHVybiB4KGspfSk6eChrKX0sIl9sb29wXzEiKTtkLmxlbmd0aCYmYzxyOyl5KCk7bSgpfWNhdGNoKGspe2UuZXJyb3Ioayl9fSkpfSwiZG9Jbm5lclN1YiIpO3JldHVybiBhLnN1YnNjcmliZShsYShlLHYsZnVuY3Rpb24oKXt1PSEwLG0oKX0pKSxmdW5jdGlvbigpe2w/LigpfX12YXIgVXJ0PWYoKCk9PntGbygpO2kwKCk7T3MoKTtzKGpydCwibWVyZ2VJbnRlcm5hbHMiKX0pO2Z1bmN0aW9uIGYzKGEsZSx0KXtyZXR1cm4gdD09PXZvaWQgMCYmKHQ9MS8wKSxGdChlKT9mMyhmdW5jdGlvbihyLGkpe3JldHVybiBoMihmdW5jdGlvbihvLG4pe3JldHVybiBlKHIsbyxpLG4pfSkoZHIoYShyLGkpKSl9LHQpOih0eXBlb2YgZT09Im51bWJlciImJih0PWUpLHlhKGZ1bmN0aW9uKHIsaSl7cmV0dXJuIGpydChyLGksYSx0KX0pKX12YXIgczk9ZigoKT0+e3I5KCk7Rm8oKTtpcygpO1VydCgpO1JzKCk7cyhmMywibWVyZ2VNYXAiKX0pO2Z1bmN0aW9uIF9ZKGEpe3JldHVybiBhPT09dm9pZCAwJiYoYT0xLzApLGYzKHUyLGEpfXZhciBUWT1mKCgpPT57czkoKTtKNSgpO3MoX1ksIm1lcmdlQWxsIil9KTtmdW5jdGlvbiBMWSgpe3JldHVybiBfWSgxKX12YXIgJFk9ZigoKT0+e1RZKCk7cyhMWSwiY29uY2F0QWxsIil9KTtmdW5jdGlvbiBEWSgpe2Zvcih2YXIgYT1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKylhW2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4gTFkoKShmMihhLHAyKGEpKSl9dmFyIGRuZT1mKCgpPT57JFkoKTtpaCgpO2E5KCk7cyhEWSwiY29uY2F0Iil9KTt2YXIgV3J0PWYoKCk9Pnt9KTt2YXIgR3J0PWYoKCk9Pnt9KTt2YXIgWXJ0PWYoKCk9Pnt9KTtmdW5jdGlvbiBoMyhhLGUsdCxyKXtpZihGdCh0KSYmKHI9dCx0PXZvaWQgMCkscilyZXR1cm4gaDMoYSxlLHQpLnBpcGUoQ1kocikpO3ZhciBpPVByKHFtYShhKT9PbWEubWFwKGZ1bmN0aW9uKGwpe3JldHVybiBmdW5jdGlvbihkKXtyZXR1cm4gYVtsXShlLGQsdCl9fSk6Qm1hKGEpP1JtYS5tYXAoS3J0KGEsZSkpOkhtYShhKT9GbWEubWFwKEtydChhLGUpKTpbXSwyKSxvPWlbMF0sbj1pWzFdO2lmKCFvJiZvaChhKSlyZXR1cm4gZjMoZnVuY3Rpb24obCl7cmV0dXJuIGgzKGwsZSx0KX0pKGRyKGEpKTtpZighbyl0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGV2ZW50IHRhcmdldCIpO3JldHVybiBuZXcgQnQoZnVuY3Rpb24obCl7dmFyIGQ9cyhmdW5jdGlvbigpe2Zvcih2YXIgYz1bXSxwPTA7cDxhcmd1bWVudHMubGVuZ3RoO3ArKyljW3BdPWFyZ3VtZW50c1twXTtyZXR1cm4gbC5uZXh0KDE8Yy5sZW5ndGg/YzpjWzBdKX0sImhhbmRsZXIiKTtyZXR1cm4gbyhkKSxmdW5jdGlvbigpe3JldHVybiBuKGQpfX0pfWZ1bmN0aW9uIEtydChhLGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIGFbdF0oZSxyKX19fWZ1bmN0aW9uIEJtYShhKXtyZXR1cm4gRnQoYS5hZGRMaXN0ZW5lcikmJkZ0KGEucmVtb3ZlTGlzdGVuZXIpfWZ1bmN0aW9uIEhtYShhKXtyZXR1cm4gRnQoYS5vbikmJkZ0KGEub2ZmKX1mdW5jdGlvbiBxbWEoYSl7cmV0dXJuIEZ0KGEuYWRkRXZlbnRMaXN0ZW5lcikmJkZ0KGEucmVtb3ZlRXZlbnRMaXN0ZW5lcil9dmFyIFJtYSxPbWEsRm1hLFpydD1mKCgpPT57SGEoKTtGbygpO0hpKCk7czkoKTtmWSgpO1JzKCk7bG5lKCk7Um1hPVsiYWRkTGlzdGVuZXIiLCJyZW1vdmVMaXN0ZW5lciJdLE9tYT1bImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIl0sRm1hPVsib24iLCJvZmYiXTtzKGgzLCJmcm9tRXZlbnQiKTtzKEtydCwidG9Db21tb25IYW5kbGVyUmVnaXN0cnkiKTtzKEJtYSwiaXNOb2RlU3R5bGVFdmVudEVtaXR0ZXIiKTtzKEhtYSwiaXNKUXVlcnlTdHlsZUV2ZW50RW1pdHRlciIpO3MocW1hLCJpc0V2ZW50VGFyZ2V0Iil9KTt2YXIgWHJ0PWYoKCk9Pnt9KTt2YXIgUXJ0PWYoKCk9Pnt9KTt2YXIgSnJ0PWYoKCk9Pnt9KTtmdW5jdGlvbiBpOShhLGUsdCl7YT09PXZvaWQgMCYmKGE9MCksdD09PXZvaWQgMCYmKHQ9Qm9lKTt2YXIgcj0tMTtyZXR1cm4gZSE9bnVsbCYmKHBZKGUpP3Q9ZTpyPWUpLG5ldyBCdChmdW5jdGlvbihpKXt2YXIgbz1TWShhKT8rYS10Lm5vdygpOmE7bzwwJiYobz0wKTt2YXIgbj0wO3JldHVybiB0LnNjaGVkdWxlKGZ1bmN0aW9uKCl7aS5jbG9zZWR8fChpLm5leHQobisrKSwwPD1yP3RoaXMuc2NoZWR1bGUodm9pZCAwLHIpOmkuY29tcGxldGUoKSl9LG8pfSl9dmFyIEFZPWYoKCk9PntIaSgpO2tsKCk7V29lKCk7bm5lKCk7cyhpOSwidGltZXIiKX0pO2Z1bmN0aW9uIHVuZShhLGUpe3JldHVybiBhPT09dm9pZCAwJiYoYT0wKSxlPT09dm9pZCAwJiYoZT15byksYTwwJiYoYT0wKSxpOShhLGEsZSl9dmFyIGVzdD1mKCgpPT57a2woKTtBWSgpO3ModW5lLCJpbnRlcnZhbCIpfSk7dmFyIHRzdD1mKCgpPT57fSk7ZnVuY3Rpb24gVm1hKCl7cmV0dXJuIGFzdH12YXIgYXN0LHBuZT1mKCgpPT57SGkoKTtsMygpO2FzdD1uZXcgQnQoaG4pO3MoVm1hLCJuZXZlciIpfSk7dmFyIHJzdD1mKCgpPT57fSk7dmFyIHNzdD1mKCgpPT57fSk7ZnVuY3Rpb24gRVkoYSxlKXtyZXR1cm4geWEoZnVuY3Rpb24odCxyKXt2YXIgaT0wO3Quc3Vic2NyaWJlKGxhKHIsZnVuY3Rpb24obyl7cmV0dXJuIGEuY2FsbChlLG8saSsrKSYmci5uZXh0KG8pfSkpfSl9dmFyIGZuZT1mKCgpPT57aXMoKTtPcygpO3MoRVksImZpbHRlciIpfSk7dmFyIGlzdD1mKCgpPT57fSk7dmFyIG9zdD1mKCgpPT57fSk7dmFyIG5zdD1mKCgpPT57fSk7dmFyIGxzdD1mKCgpPT57fSk7dmFyIGNzdD1mKCgpPT57fSk7dmFyIGRzdD1mKCgpPT57fSk7dmFyIGhuZT1mKCgpPT57fSk7dmFyIG1uZT1mKCgpPT57fSk7ZnVuY3Rpb24gUFkoYSl7cmV0dXJuIHlhKGZ1bmN0aW9uKGUsdCl7dmFyIHI9W107cmV0dXJuIGUuc3Vic2NyaWJlKGxhKHQsZnVuY3Rpb24oaSl7cmV0dXJuIHIucHVzaChpKX0sZnVuY3Rpb24oKXt0Lm5leHQociksdC5jb21wbGV0ZSgpfSkpLGRyKGEpLnN1YnNjcmliZShsYSh0LGZ1bmN0aW9uKCl7dmFyIGk9cjtyPVtdLHQubmV4dChpKX0saG4pKSxmdW5jdGlvbigpe3I9bnVsbH19KX12YXIgZ25lPWYoKCk9PntpcygpO2wzKCk7T3MoKTtGbygpO3MoUFksImJ1ZmZlciIpfSk7ZnVuY3Rpb24gSVkoYSxlKXtyZXR1cm4gZT09PXZvaWQgMCYmKGU9bnVsbCksZT1lPz9hLHlhKGZ1bmN0aW9uKHQscil7dmFyIGk9W10sbz0wO3Quc3Vic2NyaWJlKGxhKHIsZnVuY3Rpb24obil7dmFyIGwsZCxjLHAsdT1udWxsO28rKyVlPT09MCYmaS5wdXNoKFtdKTt0cnl7Zm9yKHZhciBtPW1pKGkpLHY9bS5uZXh0KCk7IXYuZG9uZTt2PW0ubmV4dCgpKXt2YXIgeD12LnZhbHVlO3gucHVzaChuKSxhPD14Lmxlbmd0aCYmKHU9dT8/W10sdS5wdXNoKHgpKX19Y2F0Y2goeSl7bD17ZXJyb3I6eX19ZmluYWxseXt0cnl7diYmIXYuZG9uZSYmKGQ9bS5yZXR1cm4pJiZkLmNhbGwobSl9ZmluYWxseXtpZihsKXRocm93IGwuZXJyb3J9fWlmKHUpdHJ5e2Zvcih2YXIgYj1taSh1KSxnPWIubmV4dCgpOyFnLmRvbmU7Zz1iLm5leHQoKSl7dmFyIHg9Zy52YWx1ZTtlMShpLHgpLHIubmV4dCh4KX19Y2F0Y2goeSl7Yz17ZXJyb3I6eX19ZmluYWxseXt0cnl7ZyYmIWcuZG9uZSYmKHA9Yi5yZXR1cm4pJiZwLmNhbGwoYil9ZmluYWxseXtpZihjKXRocm93IGMuZXJyb3J9fX0sZnVuY3Rpb24oKXt2YXIgbixsO3RyeXtmb3IodmFyIGQ9bWkoaSksYz1kLm5leHQoKTshYy5kb25lO2M9ZC5uZXh0KCkpe3ZhciBwPWMudmFsdWU7ci5uZXh0KHApfX1jYXRjaCh1KXtuPXtlcnJvcjp1fX1maW5hbGx5e3RyeXtjJiYhYy5kb25lJiYobD1kLnJldHVybikmJmwuY2FsbChkKX1maW5hbGx5e2lmKG4pdGhyb3cgbi5lcnJvcn19ci5jb21wbGV0ZSgpfSx2b2lkIDAsZnVuY3Rpb24oKXtpPW51bGx9KSl9KX12YXIgYm5lPWYoKCk9PntIYSgpO2lzKCk7T3MoKTtLNSgpO3MoSVksImJ1ZmZlckNvdW50Iil9KTtmdW5jdGlvbiBOWShhKXtmb3IodmFyIGUsdCxyPVtdLGk9MTtpPGFyZ3VtZW50cy5sZW5ndGg7aSsrKXJbaS0xXT1hcmd1bWVudHNbaV07dmFyIG89KGU9cDIocikpIT09bnVsbCYmZSE9PXZvaWQgMD9lOnlvLG49KHQ9clswXSkhPT1udWxsJiZ0IT09dm9pZCAwP3Q6bnVsbCxsPXJbMV18fDEvMDtyZXR1cm4geWEoZnVuY3Rpb24oZCxjKXt2YXIgcD1bXSx1PSExLG09cyhmdW5jdGlvbihiKXt2YXIgZz1iLmJ1ZmZlcix5PWIuc3Viczt5LnVuc3Vic2NyaWJlKCksZTEocCxiKSxjLm5leHQoZyksdSYmdigpfSwiZW1pdCIpLHY9cyhmdW5jdGlvbigpe2lmKHApe3ZhciBiPW5ldyBXcjtjLmFkZChiKTt2YXIgZz1bXSx5PXtidWZmZXI6ZyxzdWJzOmJ9O3AucHVzaCh5KSxTcyhiLG8sZnVuY3Rpb24oKXtyZXR1cm4gbSh5KX0sYSl9fSwic3RhcnRCdWZmZXIiKTtuIT09bnVsbCYmbj49MD9TcyhjLG8sdixuLCEwKTp1PSEwLHYoKTt2YXIgeD1sYShjLGZ1bmN0aW9uKGIpe3ZhciBnLHksaz1wLnNsaWNlKCk7dHJ5e2Zvcih2YXIgQz1taShrKSxOPUMubmV4dCgpOyFOLmRvbmU7Tj1DLm5leHQoKSl7dmFyIF89Ti52YWx1ZSx6PV8uYnVmZmVyO3oucHVzaChiKSxsPD16Lmxlbmd0aCYmbShfKX19Y2F0Y2goTyl7Zz17ZXJyb3I6T319ZmluYWxseXt0cnl7TiYmIU4uZG9uZSYmKHk9Qy5yZXR1cm4pJiZ5LmNhbGwoQyl9ZmluYWxseXtpZihnKXRocm93IGcuZXJyb3J9fX0sZnVuY3Rpb24oKXtmb3IoO3A/Lmxlbmd0aDspYy5uZXh0KHAuc2hpZnQoKS5idWZmZXIpO3g/LnVuc3Vic2NyaWJlKCksYy5jb21wbGV0ZSgpLGMudW5zdWJzY3JpYmUoKX0sdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIHA9bnVsbH0pO2Quc3Vic2NyaWJlKHgpfSl9dmFyIHZuZT1mKCgpPT57SGEoKTtkMigpO2lzKCk7T3MoKTtLNSgpO2tsKCk7aWgoKTtpMCgpO3MoTlksImJ1ZmZlclRpbWUiKX0pO3ZhciB4bmU9ZigoKT0+e30pO3ZhciB5bmU9ZigoKT0+e30pO3ZhciB3bmU9ZigoKT0+e30pO3ZhciBNbmU9ZigoKT0+e30pO3ZhciBrbmU9ZigoKT0+e30pO3ZhciBTbmU9ZigoKT0+e30pO3ZhciB6bmU9ZigoKT0+e30pO3ZhciB1c3Q9ZigoKT0+e30pO3ZhciBDbmU9ZigoKT0+e30pO3ZhciBfbmU9ZigoKT0+e30pO3ZhciBUbmU9ZigoKT0+e30pO3ZhciBwc3Q9ZigoKT0+e30pO3ZhciBMbmU9ZigoKT0+e30pO3ZhciAkbmU9ZigoKT0+e30pO3ZhciBEbmU9ZigoKT0+e30pO2Z1bmN0aW9uIFJZKGEpe3JldHVybiB5YShmdW5jdGlvbihlLHQpe3ZhciByPSExLGk9bnVsbCxvPW51bGwsbj1zKGZ1bmN0aW9uKCl7aWYobz8udW5zdWJzY3JpYmUoKSxvPW51bGwscil7cj0hMTt2YXIgbD1pO2k9bnVsbCx0Lm5leHQobCl9fSwiZW1pdCIpO2Uuc3Vic2NyaWJlKGxhKHQsZnVuY3Rpb24obCl7bz8udW5zdWJzY3JpYmUoKSxyPSEwLGk9bCxvPWxhKHQsbixobiksZHIoYShsKSkuc3Vic2NyaWJlKG8pfSxmdW5jdGlvbigpe24oKSx0LmNvbXBsZXRlKCl9LHZvaWQgMCxmdW5jdGlvbigpe2k9bz1udWxsfSkpfSl9dmFyIEFuZT1mKCgpPT57aXMoKTtsMygpO09zKCk7Rm8oKTtzKFJZLCJkZWJvdW5jZSIpfSk7ZnVuY3Rpb24gT1koYSxlKXtyZXR1cm4gZT09PXZvaWQgMCYmKGU9eW8pLHlhKGZ1bmN0aW9uKHQscil7dmFyIGk9bnVsbCxvPW51bGwsbj1udWxsLGw9cyhmdW5jdGlvbigpe2lmKGkpe2kudW5zdWJzY3JpYmUoKSxpPW51bGw7dmFyIGM9bztvPW51bGwsci5uZXh0KGMpfX0sImVtaXQiKTtmdW5jdGlvbiBkKCl7dmFyIGM9bithLHA9ZS5ub3coKTtpZihwPGMpe2k9dGhpcy5zY2hlZHVsZSh2b2lkIDAsYy1wKSxyLmFkZChpKTtyZXR1cm59bCgpfXMoZCwiZW1pdFdoZW5JZGxlIiksdC5zdWJzY3JpYmUobGEocixmdW5jdGlvbihjKXtvPWMsbj1lLm5vdygpLGl8fChpPWUuc2NoZWR1bGUoZCxhKSxyLmFkZChpKSl9LGZ1bmN0aW9uKCl7bCgpLHIuY29tcGxldGUoKX0sdm9pZCAwLGZ1bmN0aW9uKCl7bz1pPW51bGx9KSl9KX12YXIgRW5lPWYoKCk9PntrbCgpO2lzKCk7T3MoKTtzKE9ZLCJkZWJvdW5jZVRpbWUiKX0pO3ZhciBQbmU9ZigoKT0+e30pO3ZhciBJbmU9ZigoKT0+e30pO3ZhciBObmU9ZigoKT0+e30pO3ZhciBSbmU9ZigoKT0+e30pO3ZhciBPbmU9ZigoKT0+e30pO3ZhciBGbmU9ZigoKT0+e30pO3ZhciBCbmU9ZigoKT0+e30pO3ZhciBIbmU9ZigoKT0+e30pO2Z1bmN0aW9uIGNoKGEsZSl7cmV0dXJuIGU9PT12b2lkIDAmJihlPXUyKSxhPWE/P2ptYSx5YShmdW5jdGlvbih0LHIpe3ZhciBpLG89ITA7dC5zdWJzY3JpYmUobGEocixmdW5jdGlvbihuKXt2YXIgbD1lKG4pOyhvfHwhYShpLGwpKSYmKG89ITEsaT1sLHIubmV4dChuKSl9KSl9KX1mdW5jdGlvbiBqbWEoYSxlKXtyZXR1cm4gYT09PWV9dmFyIHFuZT1mKCgpPT57SjUoKTtpcygpO09zKCk7cyhjaCwiZGlzdGluY3RVbnRpbENoYW5nZWQiKTtzKGptYSwiZGVmYXVsdENvbXBhcmUiKX0pO3ZhciBWbmU9ZigoKT0+e30pO3ZhciBqbmU9ZigoKT0+e30pO3ZhciBVbmU9ZigoKT0+e30pO3ZhciBXbmU9ZigoKT0+e30pO3ZhciBHbmU9ZigoKT0+e30pO3ZhciBZbmU9ZigoKT0+e30pO3ZhciBLbmU9ZigoKT0+e30pO3ZhciBabmU9ZigoKT0+e30pO3ZhciBYbmU9ZigoKT0+e30pO3ZhciBRbmU9ZigoKT0+e30pO3ZhciBKbmU9ZigoKT0+e30pO3ZhciBlMWU9ZigoKT0+e30pO3ZhciB0MWU9ZigoKT0+e30pO3ZhciBhMWU9ZigoKT0+e30pO3ZhciByMWU9ZigoKT0+e30pO3ZhciBzMWU9ZigoKT0+e30pO3ZhciBpMWU9ZigoKT0+e30pO3ZhciBvMWU9ZigoKT0+e30pO3ZhciBuMWU9ZigoKT0+e30pO3ZhciBsMWU9ZigoKT0+e30pO3ZhciBjMWU9ZigoKT0+e30pO3ZhciBkMWU9ZigoKT0+e30pO3ZhciBmc3Q9ZigoKT0+e30pO3ZhciB1MWU9ZigoKT0+e30pO3ZhciBwMWU9ZigoKT0+e30pO3ZhciBmMWU9ZigoKT0+e30pO3ZhciBoMWU9ZigoKT0+e30pO3ZhciBtMWU9ZigoKT0+e30pO3ZhciBnMWU9ZigoKT0+e30pO3ZhciBiMWU9ZigoKT0+e30pO3ZhciB2MWU9ZigoKT0+e30pO3ZhciB4MWU9ZigoKT0+e30pO3ZhciB5MWU9ZigoKT0+e30pO3ZhciB3MWU9ZigoKT0+e30pO3ZhciBNMWU9ZigoKT0+e30pO3ZhciBrMWU9ZigoKT0+e30pO3ZhciBTMWU9ZigoKT0+e30pO3ZhciB6MWU9ZigoKT0+e30pO3ZhciBDMWU9ZigoKT0+e30pO3ZhciBfMWU9ZigoKT0+e30pO3ZhciBUMWU9ZigoKT0+e30pO3ZhciBMMWU9ZigoKT0+e30pO2Z1bmN0aW9uIEZZKGEpe2E9PT12b2lkIDAmJihhPXt9KTt2YXIgZT1hLmNvbm5lY3Rvcix0PWU9PT12b2lkIDA/ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGdpfTplLHI9YS5yZXNldE9uRXJyb3IsaT1yPT09dm9pZCAwPyEwOnIsbz1hLnJlc2V0T25Db21wbGV0ZSxuPW89PT12b2lkIDA/ITA6byxsPWEucmVzZXRPblJlZkNvdW50WmVybyxkPWw9PT12b2lkIDA/ITA6bDtyZXR1cm4gZnVuY3Rpb24oYyl7dmFyIHAsdSxtLHY9MCx4PSExLGI9ITEsZz1zKGZ1bmN0aW9uKCl7dT8udW5zdWJzY3JpYmUoKSx1PXZvaWQgMH0sImNhbmNlbFJlc2V0IikseT1zKGZ1bmN0aW9uKCl7ZygpLHA9bT12b2lkIDAseD1iPSExfSwicmVzZXQiKSxrPXMoZnVuY3Rpb24oKXt2YXIgQz1wO3koKSxDPy51bnN1YnNjcmliZSgpfSwicmVzZXRBbmRVbnN1YnNjcmliZSIpO3JldHVybiB5YShmdW5jdGlvbihDLE4pe3YrKywhYiYmIXgmJmcoKTt2YXIgXz1tPW0/P3QoKTtOLmFkZChmdW5jdGlvbigpe3YtLSx2PT09MCYmIWImJiF4JiYodT0kMWUoayxkKSl9KSxfLnN1YnNjcmliZShOKSwhcCYmdj4wJiYocD1uZXcgczAoe25leHQ6cyhmdW5jdGlvbih6KXtyZXR1cm4gXy5uZXh0KHopfSwibmV4dCIpLGVycm9yOnMoZnVuY3Rpb24oeil7Yj0hMCxnKCksdT0kMWUoeSxpLHopLF8uZXJyb3Ioeil9LCJlcnJvciIpLGNvbXBsZXRlOnMoZnVuY3Rpb24oKXt4PSEwLGcoKSx1PSQxZSh5LG4pLF8uY29tcGxldGUoKX0sImNvbXBsZXRlIil9KSxkcihDKS5zdWJzY3JpYmUocCkpfSkoYyl9fWZ1bmN0aW9uICQxZShhLGUpe2Zvcih2YXIgdD1bXSxyPTI7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3ItMl09YXJndW1lbnRzW3JdO2lmKGU9PT0hMCl7YSgpO3JldHVybn1pZihlIT09ITEpe3ZhciBpPW5ldyBzMCh7bmV4dDpzKGZ1bmN0aW9uKCl7aS51bnN1YnNjcmliZSgpLGEoKX0sIm5leHQiKX0pO3JldHVybiBkcihlLmFwcGx5KHZvaWQgMCxrcyhbXSxQcih0KSkpKS5zdWJzY3JpYmUoaSl9fXZhciBCWT1mKCgpPT57SGEoKTtGbygpO2VoKCk7WTcoKTtpcygpO3MoRlksInNoYXJlIik7cygkMWUsImhhbmRsZVJlc2V0Iil9KTtmdW5jdGlvbiBIWShhLGUsdCl7dmFyIHIsaSxvLG4sbD0hMTtyZXR1cm4gYSYmdHlwZW9mIGE9PSJvYmplY3QiPyhyPWEuYnVmZmVyU2l6ZSxuPXI9PT12b2lkIDA/MS8wOnIsaT1hLndpbmRvd1RpbWUsZT1pPT09dm9pZCAwPzEvMDppLG89YS5yZWZDb3VudCxsPW89PT12b2lkIDA/ITE6byx0PWEuc2NoZWR1bGVyKTpuPWE/PzEvMCxGWSh7Y29ubmVjdG9yOnMoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGFoKG4sZSx0KX0sImNvbm5lY3RvciIpLHJlc2V0T25FcnJvcjohMCxyZXNldE9uQ29tcGxldGU6ITEscmVzZXRPblJlZkNvdW50WmVybzpsfSl9dmFyIEQxZT1mKCgpPT57RW9lKCk7QlkoKTtzKEhZLCJzaGFyZVJlcGxheSIpfSk7dmFyIEExZT1mKCgpPT57fSk7dmFyIEUxZT1mKCgpPT57fSk7dmFyIFAxZT1mKCgpPT57fSk7dmFyIEkxZT1mKCgpPT57fSk7dmFyIE4xZT1mKCgpPT57fSk7ZnVuY3Rpb24gcVkoKXtmb3IodmFyIGE9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspYVtlXT1hcmd1bWVudHNbZV07dmFyIHQ9cDIoYSk7cmV0dXJuIHlhKGZ1bmN0aW9uKHIsaSl7KHQ/RFkoYSxyLHQpOkRZKGEscikpLnN1YnNjcmliZShpKX0pfXZhciBSMWU9ZigoKT0+e2RuZSgpO2loKCk7aXMoKTtzKHFZLCJzdGFydFdpdGgiKX0pO3ZhciBPMWU9ZigoKT0+e30pO3ZhciBGMWU9ZigoKT0+e30pO3ZhciBCMWU9ZigoKT0+e30pO3ZhciBIMWU9ZigoKT0+e30pO2Z1bmN0aW9uIGRoKGEpe3JldHVybiB5YShmdW5jdGlvbihlLHQpe2RyKGEpLnN1YnNjcmliZShsYSh0LGZ1bmN0aW9uKCl7cmV0dXJuIHQuY29tcGxldGUoKX0saG4pKSwhdC5jbG9zZWQmJmUuc3Vic2NyaWJlKHQpfSl9dmFyIHExZT1mKCgpPT57aXMoKTtPcygpO0ZvKCk7bDMoKTtzKGRoLCJ0YWtlVW50aWwiKX0pO3ZhciBWMWU9ZigoKT0+e30pO3ZhciBqMWU9ZigoKT0+e30pO2Z1bmN0aW9uIFZZKGEsZSl7cmV0dXJuIHlhKGZ1bmN0aW9uKHQscil7dmFyIGk9ZT8/e30sbz1pLmxlYWRpbmcsbj1vPT09dm9pZCAwPyEwOm8sbD1pLnRyYWlsaW5nLGQ9bD09PXZvaWQgMD8hMTpsLGM9ITEscD1udWxsLHU9bnVsbCxtPSExLHY9cyhmdW5jdGlvbigpe3U/LnVuc3Vic2NyaWJlKCksdT1udWxsLGQmJihnKCksbSYmci5jb21wbGV0ZSgpKX0sImVuZFRocm90dGxpbmciKSx4PXMoZnVuY3Rpb24oKXt1PW51bGwsbSYmci5jb21wbGV0ZSgpfSwiY2xlYW51cFRocm90dGxpbmciKSxiPXMoZnVuY3Rpb24oeSl7cmV0dXJuIHU9ZHIoYSh5KSkuc3Vic2NyaWJlKGxhKHIsdix4KSl9LCJzdGFydFRocm90dGxlIiksZz1zKGZ1bmN0aW9uKCl7aWYoYyl7Yz0hMTt2YXIgeT1wO3A9bnVsbCxyLm5leHQoeSksIW0mJmIoeSl9fSwic2VuZCIpO3Quc3Vic2NyaWJlKGxhKHIsZnVuY3Rpb24oeSl7Yz0hMCxwPXksISh1JiYhdS5jbG9zZWQpJiYobj9nKCk6Yih5KSl9LGZ1bmN0aW9uKCl7bT0hMCwhKGQmJmMmJnUmJiF1LmNsb3NlZCkmJnIuY29tcGxldGUoKX0pKX0pfXZhciBqWT1mKCgpPT57aXMoKTtPcygpO0ZvKCk7cyhWWSwidGhyb3R0bGUiKX0pO2Z1bmN0aW9uIFVZKGEsZSx0KXtlPT09dm9pZCAwJiYoZT15byk7dmFyIHI9aTkoYSxlKTtyZXR1cm4gVlkoZnVuY3Rpb24oKXtyZXR1cm4gcn0sdCl9dmFyIFUxZT1mKCgpPT57a2woKTtqWSgpO0FZKCk7cyhVWSwidGhyb3R0bGVUaW1lIil9KTtmdW5jdGlvbiBtc3QoYSl7cmV0dXJuIGE9PT12b2lkIDAmJihhPXlvKSx5YShmdW5jdGlvbihlLHQpe3ZhciByPWEubm93KCk7ZS5zdWJzY3JpYmUobGEodCxmdW5jdGlvbihpKXt2YXIgbz1hLm5vdygpLG49by1yO3I9byx0Lm5leHQobmV3IGhzdChpLG4pKX0pKX0pfXZhciBoc3QsVzFlPWYoKCk9PntrbCgpO2lzKCk7T3MoKTtzKG1zdCwidGltZUludGVydmFsIik7aHN0PShmdW5jdGlvbigpe2Z1bmN0aW9uIGEoZSx0KXt0aGlzLnZhbHVlPWUsdGhpcy5pbnRlcnZhbD10fXJldHVybiBzKGEsIlRpbWVJbnRlcnZhbCIpLGF9KSgpfSk7dmFyIEcxZT1mKCgpPT57fSk7dmFyIFkxZT1mKCgpPT57fSk7dmFyIEsxZT1mKCgpPT57fSk7dmFyIFoxZT1mKCgpPT57fSk7dmFyIFgxZT1mKCgpPT57fSk7dmFyIFExZT1mKCgpPT57fSk7dmFyIEoxZT1mKCgpPT57fSk7dmFyIGUyZT1mKCgpPT57fSk7dmFyIHQyZT1mKCgpPT57fSk7dmFyIGdzdD1mKCgpPT57fSk7dmFyIGEyZT1mKCgpPT57fSk7dmFyIHVoPWYoKCk9PntIaSgpO0hhdCgpO0s3KCk7amF0KCk7ZWgoKTtVYXQoKTtFb2UoKTtHYXQoKTthcnQoKTtrbCgpO29ydCgpO2RydCgpO3BydCgpO09vZSgpO2QyKCk7WTcoKTtDcnQoKTt6b2UoKTtsMygpO0o1KCk7X3J0KCk7THJ0KCk7JHJ0KCk7RHJ0KCk7VHJ0KCk7QXJ0KCk7JG9lKCk7RXJ0KCk7elkoKTtib2UoKTtOcnQoKTtScnQoKTtWcnQoKTtkbmUoKTtHcnQoKTtXcnQoKTt1WSgpO1lydCgpO2E5KCk7WnJ0KCk7WHJ0KCk7UXJ0KCk7SnJ0KCk7ZXN0KCk7dHN0KCk7cG5lKCk7cm5lKCk7cnN0KCk7c3N0KCk7aXN0KCk7b3N0KCk7bnN0KCk7aW5lKCk7QVkoKTtsc3QoKTtjc3QoKTthbmUoKTt1WSgpO3BuZSgpO2RzdCgpO1o1KCk7aG5lKCk7bW5lKCk7Z25lKCk7Ym5lKCk7dm5lKCk7eG5lKCk7eW5lKCk7d25lKCk7em5lKCk7U25lKCk7Q25lKCk7JFkoKTtfbmUoKTtUbmUoKTtMbmUoKTskbmUoKTtEbmUoKTtBbmUoKTtFbmUoKTtQbmUoKTtGbmUoKTtPbmUoKTtCbmUoKTtIbmUoKTtxbmUoKTtWbmUoKTtVbmUoKTtXbmUoKTtHbmUoKTtabmUoKTtLbmUoKTtZbmUoKTtYbmUoKTtmbmUoKTtRbmUoKTtKbmUoKTtlMWUoKTt0MWUoKTthMWUoKTtObmUoKTtyMWUoKTtpMWUoKTtyOSgpO1JuZSgpO28xZSgpO24xZSgpO1RZKCk7bDFlKCk7czkoKTtjMWUoKTtkMWUoKTt1MWUoKTtwMWUoKTtmMWUoKTtlOSgpO2gxZSgpO20xZSgpO2cxZSgpO2IxZSgpO3YxZSgpO3gxZSgpO3kxZSgpO3cxZSgpO01uZSgpO00xZSgpO2sxZSgpO1MxZSgpO3oxZSgpO2xZKCk7QzFlKCk7XzFlKCk7VDFlKCk7TDFlKCk7QlkoKTtEMWUoKTtBMWUoKTtFMWUoKTtQMWUoKTtJMWUoKTtOMWUoKTtSMWUoKTt0OSgpO0YxZSgpO08xZSgpO0IxZSgpO0gxZSgpO0luZSgpO3MxZSgpO3ExZSgpO1YxZSgpO2oxZSgpO2pZKCk7VTFlKCk7am5lKCk7VzFlKCk7elkoKTtHMWUoKTtZMWUoKTtrbmUoKTtLMWUoKTtaMWUoKTtYMWUoKTtRMWUoKTtKMWUoKTtlMmUoKTt0MmUoKTthMmUoKX0pO3ZhciBic3Q9ZigoKT0+e30pO3ZhciB2c3Q9ZigoKT0+e30pO3ZhciB4c3Q9ZigoKT0+e2huZSgpO21uZSgpO2duZSgpO2JuZSgpO3ZuZSgpO3huZSgpO3luZSgpO3duZSgpO3puZSgpO1NuZSgpO3VzdCgpO0NuZSgpO3BzdCgpOyRZKCk7X25lKCk7VG5lKCk7TG5lKCk7JG5lKCk7RG5lKCk7QW5lKCk7RW5lKCk7UG5lKCk7Rm5lKCk7T25lKCk7Qm5lKCk7SG5lKCk7cW5lKCk7Vm5lKCk7VW5lKCk7V25lKCk7R25lKCk7Wm5lKCk7S25lKCk7WW5lKCk7WG5lKCk7Zm5lKCk7UW5lKCk7Sm5lKCk7ZTFlKCk7dDFlKCk7YTFlKCk7Tm5lKCk7cjFlKCk7aTFlKCk7cjkoKTtSbmUoKTtvMWUoKTtuMWUoKTtmc3QoKTtUWSgpO2wxZSgpO3M5KCk7YzFlKCk7ZDFlKCk7dTFlKCk7cDFlKCk7ZjFlKCk7ZTkoKTtoMWUoKTttMWUoKTtic3QoKTtnMWUoKTtiMWUoKTt2MWUoKTt4MWUoKTt5MWUoKTt2c3QoKTt3MWUoKTtNbmUoKTtNMWUoKTtrMWUoKTtTMWUoKTt6MWUoKTtsWSgpO0MxZSgpO18xZSgpO1QxZSgpO0wxZSgpO0JZKCk7RDFlKCk7QTFlKCk7RTFlKCk7UDFlKCk7STFlKCk7TjFlKCk7UjFlKCk7dDkoKTtGMWUoKTtPMWUoKTtCMWUoKTtIMWUoKTtJbmUoKTtzMWUoKTtxMWUoKTtWMWUoKTtqMWUoKTtqWSgpO1UxZSgpO2puZSgpO1cxZSgpO3pZKCk7RzFlKCk7WTFlKCk7a25lKCk7SzFlKCk7WjFlKCk7WDFlKCk7UTFlKCk7SjFlKCk7ZTJlKCk7Z3N0KCk7dDJlKCk7YTJlKCl9KTt2YXIgcGg9e307cnQocGgse09ic2VydmFibGU6KCk9PkJ0LFJlcGxheVN1YmplY3Q6KCk9PmFoLFN1YmplY3Q6KCk9PmdpLFN1YnNjcmlwdGlvbjooKT0+V3IsZnJvbTooKT0+ZjIsZnJvbUV2ZW50OigpPT5oMyxvZjooKT0+cDMsb3BzOigpPT53OWF9KTt2YXIgdzlhLFdZPWYoKCk9Pnt1aCgpO3hzdCgpO3c5YT17YnVmZmVyOlBZLGJ1ZmZlckNvdW50OklZLGJ1ZmZlclRpbWU6TlksZGVib3VuY2U6UlksZGVib3VuY2VUaW1lOk9ZLGZpbHRlcjpFWSxtYXA6aDIsc3RhcnRXaXRoOnFZLHRha2VVbnRpbDpkaCx0aHJvdHRsZVRpbWU6VVl9fSk7dmFyIHIyZSx5c3Q9ZigoKT0+e2FZKCk7V1koKTtyMmU9Y2xhc3N7c3RhdGlje3ModGhpcywiT2JzZXJ2YWJsZW1hcCIpfWNvbnN0cnVjdG9yKCl7dGhpcy5vYnNlcnZhYmxlRXZlbnRFbWl0dGVyQnVuZGxlQXJyYXk9bmV3IEFycmF5LHRoaXMub2JzZXJ2YWJsZUV2ZW50VGFyZ2V0QnVuZGxlQXJyYXk9bmV3IEFycmF5fWdldFN1YmplY3RGb3JFbWl0dGVyRXZlbnQoZSx0KXtsZXQgcj10aGlzLm9ic2VydmFibGVFdmVudEVtaXR0ZXJCdW5kbGVBcnJheS5maW5kKGk9PmkuZXZlbnRSZWY9PT1lJiZpLmV2ZW50PT09dCk7aWYocilyZXR1cm4gci5zdWJqZWN0O3tsZXQgaT1oMyhlLHQpLG89bmV3IGdpO2kuc3Vic2NyaWJlKG8pO2xldCBuPXtzdWJqZWN0Om8sZXZlbnRSZWY6ZSxldmVudDp0fTtyZXR1cm4gdGhpcy5vYnNlcnZhYmxlRXZlbnRFbWl0dGVyQnVuZGxlQXJyYXkucHVzaChuKSxuLnN1YmplY3R9fWdldFN1YmplY3RGb3JFdmVudFRhcmdldChlLHQpe2xldCByPXRoaXMub2JzZXJ2YWJsZUV2ZW50VGFyZ2V0QnVuZGxlQXJyYXkuZmluZChpPT5pLmV2ZW50UmVmPT09ZSYmaS5ldmVudD09PXQpO2lmKHIpcmV0dXJuIHIuc3ViamVjdDt7bGV0IG89e3N1YmplY3Q6bmV3IGdpLGV2ZW50UmVmOmUsZXZlbnQ6dH07cmV0dXJuIHRoaXMub2JzZXJ2YWJsZUV2ZW50VGFyZ2V0QnVuZGxlQXJyYXkucHVzaChvKSxvLnN1YmplY3R9fX19KTt2YXIgczJlLHdzdD1mKCgpPT57YVkoKTtXWSgpO3MyZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJPYnNlcnZhYmxlSW50YWtlIil9Y29uc3RydWN0b3IoKXt0aGlzLm9ic2VydmFibGVGdW5jdGlvbnM9e25leHQ6cyhlPT57fSwibmV4dCIpLGNvbXBsZXRlOnMoZT0+e30sImNvbXBsZXRlIil9LHRoaXMuZ2VuZXJhdG9yPW51bGwsdGhpcy5idWZmZXJlZD0hMSx0aGlzLnBheWxvYWRCdWZmZXI9W10sdGhpcy5vYnNlcnZhYmxlPW5ldyBCdChlPT57dGhpcy5vYnNlcnZhYmxlRnVuY3Rpb25zLm5leHQ9KC4uLnQpPT5lLm5leHQodCksdGhpcy5vYnNlcnZhYmxlRnVuY3Rpb25zLmNvbXBsZXRlPSgpPT4odGhpcy5jb21wbGV0ZWREZWZmZXJlZC5yZXNvbHZlKCksZS5jb21wbGV0ZSgpKX0pLHRoaXMuY29tcGxldGVkRGVmZmVyZWQ9ZXQuZGVmZXIoKSx0aGlzLmNvbXBsZXRlZD10aGlzLmNvbXBsZXRlZERlZmZlcmVkLnByb21pc2V9c2V0T2JzZXJ2YWJsZShlKXt0aGlzLm9ic2VydmFibGU9ZX1wdXNoKGUpe3RoaXMuYnVmZmVyZWQ/dGhpcy5wYXlsb2FkQnVmZmVyLnB1c2goZSk6dGhpcy5pbnRlcm5hbFB1c2goZSl9cHVzaE1hbnkoZSl7Zm9yKGxldCB0IG9mIGUpdGhpcy5wdXNoKHQpfXNldEdlbmVyYXRvcihlKXt0aGlzLmdlbmVyYXRvcj1lfW1ha2VCdWZmZXJlZCgpe3RoaXMuYnVmZmVyZWQ9ITB9c3Vic2NyaWJlKC4uLmUpe3JldHVybiB0aGlzLm9ic2VydmFibGUuc3Vic2NyaWJlKC4uLmUpfXJlcXVlc3QoZSl7aWYoZSE9PTApZm9yKGxldCB0PTA7dCE9PWU7dCsrKWlmKHRoaXMucGF5bG9hZEJ1ZmZlci5sZW5ndGg+MCl0aGlzLmludGVybmFsUHVzaCh0aGlzLnBheWxvYWRCdWZmZXIuc2hpZnQoKSk7ZWxzZXtsZXQgcj10aGlzLmdlbmVyYXRvci5uZXh0KCk7dGhpcy5pbnRlcm5hbFB1c2goci52YWx1ZSl9fXNpZ25hbENvbXBsZXRlKCl7dGhpcy5vYnNlcnZhYmxlRnVuY3Rpb25zLmNvbXBsZXRlKCl9aW50ZXJuYWxQdXNoKGUpe3RoaXMub2JzZXJ2YWJsZUZ1bmN0aW9ucy5uZXh0KGUpfX19KTtmdW5jdGlvbiBNOWEoYSl7cmV0dXJuIG5ldyBCdChlPT57bGV0IHQ9cygoKT0+YS5wYXVzZSgpLCJwYXVzZVN0cmVhbSIpLHI9cygoKT0+cHJvY2Vzcy5uZXh0VGljaygoKT0+YS5yZXN1bWUoKSksInJlc3VtZVN0cmVhbSIpLGk9cyhvPT57dCgpLGUubmV4dChvKSxyKCl9LCJvbkRhdGEiKTtyZXR1cm4gYS5vbigiZGF0YSIsaSksYS5vbigiZXJyb3IiLG89PmUuZXJyb3IobykpLGEub24oImVuZCIsKCk9PmUuY29tcGxldGUoKSksYS5vbigiY2xvc2UiLCgpPT5lLmNvbXBsZXRlKCkpLCgpPT57YS5yZW1vdmVMaXN0ZW5lcigiZGF0YSIsaSksYS5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLGUuZXJyb3IpLGEucmVtb3ZlTGlzdGVuZXIoImVuZCIsZS5jb21wbGV0ZSksYS5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLGUuY29tcGxldGUpfX0pfXZhciBNc3Q9ZigoKT0+e3VoKCk7cyhNOWEsImZyb21TdHJlYW1XaXRoQmFja3ByZXNzdXJlIil9KTt2YXIgQ2E9e307cnQoQ2Ese09ic2VydmFibGVJbnRha2U6KCk9PnMyZSxPYnNlcnZhYmxlbWFwOigpPT5yMmUsZnJvbVN0cmVhbVdpdGhCYWNrcHJlc3N1cmU6KCk9Pk05YSxyeGpzOigpPT5waH0pO3ZhciBtMj1mKCgpPT57YVkoKTt5c3QoKTt3c3QoKTtNc3QoKTtXWSgpfSk7ZnVuY3Rpb24gJChhKXtyZXR1cm4oZSx0KT0+dHlwZW9mIHQ9PSJvYmplY3QiP2tzdChhLGUsdCk6KChyLGksbyk9PntsZXQgbj1pLmhhc093blByb3BlcnR5KG8pO3JldHVybiBpLmNvbnN0cnVjdG9yLmNyZWF0ZVByb3BlcnR5KG8sciksbj9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGksbyk6dm9pZCAwfSkoYSxlLHQpfXZhciBrOWEsa3N0LEdZPWYoKCk9PntCNygpO2s5YT17YXR0cmlidXRlOiEwLHR5cGU6U3RyaW5nLGNvbnZlcnRlcjpHNSxyZWZsZWN0OiExLGhhc0NoYW5nZWQ6Rjd9LGtzdD1zKChhPWs5YSxlLHQpPT57bGV0e2tpbmQ6cixtZXRhZGF0YTppfT10LG89Z2xvYmFsVGhpcy5saXRQcm9wZXJ0eU1ldGFkYXRhLmdldChpKTtpZihvPT09dm9pZCAwJiZnbG9iYWxUaGlzLmxpdFByb3BlcnR5TWV0YWRhdGEuc2V0KGksbz1uZXcgTWFwKSxyPT09InNldHRlciImJigoYT1PYmplY3QuY3JlYXRlKGEpKS53cmFwcGVkPSEwKSxvLnNldCh0Lm5hbWUsYSkscj09PSJhY2Nlc3NvciIpe2xldHtuYW1lOm59PXQ7cmV0dXJue3NldChsKXtsZXQgZD1lLmdldC5jYWxsKHRoaXMpO2Uuc2V0LmNhbGwodGhpcyxsKSx0aGlzLnJlcXVlc3RVcGRhdGUobixkLGEsITAsbCl9LGluaXQobCl7cmV0dXJuIGwhPT12b2lkIDAmJnRoaXMuQyhuLHZvaWQgMCxhLGwpLGx9fX1pZihyPT09InNldHRlciIpe2xldHtuYW1lOm59PXQ7cmV0dXJuIGZ1bmN0aW9uKGwpe2xldCBkPXRoaXNbbl07ZS5jYWxsKHRoaXMsbCksdGhpcy5yZXF1ZXN0VXBkYXRlKG4sZCxhLCEwLGwpfX10aHJvdyBFcnJvcigiVW5zdXBwb3J0ZWQgZGVjb3JhdG9yIGxvY2F0aW9uOiAiK3IpfSwiciIpO3MoJCwibiIpfSk7dmFyIFNzdD1mKCgpPT57R1koKX0pO3ZhciB6c3Q9ZigoKT0+e30pO3ZhciBQdD17fTtydChQdCx7VGltZW91dDooKT0+WVksZGVsYXlGb3I6KCk9PkNzdCxkZWxheUZvclJhbmRvbTooKT0+UzlhfSk7dmFyIENzdCxTOWEsWVksU2w9ZigoKT0+e1pzKCk7Q3N0PXMoYXN5bmMoYSxlLHQ9ITEpPT4oYXdhaXQgbmV3IFlZKGEsbnVsbCx0KS5wcm9taXNlLGUpLCJkZWxheUZvciIpLFM5YT1zKGFzeW5jKGEsZSx0LHI9ITEpPT4oYXdhaXQgQ3N0KE1hdGgucmFuZG9tKCkqKGUtYSkrYSxudWxsLHIpLHQpLCJkZWxheUZvclJhbmRvbSIpLFlZPWNsYXNze3N0YXRpY3tzKHRoaXMsIlRpbWVvdXQiKX1jb25zdHJ1Y3RvcihlLHQscj0hMSl7dGhpcy5fY2FuY2VsbGVkPSExLHRoaXMudGltZW91dEluTWlsbGlzPWUsdGhpcy5fZGVmZXJyZWQ9YTAoKSx0aGlzLnByb21pc2U9dGhpcy5fZGVmZXJyZWQucHJvbWlzZSx0aGlzLl90aW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLl9jYW5jZWxsZWR8fHRoaXMuX2RlZmVycmVkLnJlc29sdmUodCl9LGUpLHRoaXMuc3RhcnRlZD1EYXRlLm5vdygpLHImJnRoaXMubWFrZVVucmVmZWQoKX1tYWtlVW5yZWZlZCgpe3RoaXMuX3RpbWVvdXQudW5yZWY/LigpfWNhbmNlbCgpe3RoaXMuX2NhbmNlbGxlZD0hMCxjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCl9Z2V0VGltZUxlZnQoKXtsZXQgZT10aGlzLnN0YXJ0ZWQrdGhpcy50aW1lb3V0SW5NaWxsaXMtRGF0ZS5ub3coKTtyZXR1cm4gZT4wP2U6MH19fSk7dmFyIG1uPXt9O3ZhciBtMz1mKCgpPT57fSk7ZnVuY3Rpb24gZzMoYSl7aWYodHlwZW9mIGEhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgc3RyaW5nIik7cmV0dXJuIGEucmVwbGFjZSgvW3xcXHt9KClbXF1eJCsqPy5dL2csIlxcJCYiKS5yZXBsYWNlKC8tL2csIlxceDJkIil9dmFyIEtZPWYoKCk9PntzKGczLCJlc2NhcGVTdHJpbmdSZWdleHAiKX0pO3ZhciBvOT17fTtydChvOSx7aXNNYXRjaDooKT0+XzlhLG1hdGNoZXI6KCk9PkM5YX0pO2Z1bmN0aW9uIEM5YShhLGUsdCl7cmV0dXJuIFRzdChhLGUsdCwhMSl9ZnVuY3Rpb24gXzlhKGEsZSx0KXtyZXR1cm4gVHN0KGEsZSx0LCEwKS5sZW5ndGg+MH12YXIgaTJlLF9zdCx6OWEsVHN0LExzdD1mKCgpPT57S1koKTtpMmU9bmV3IE1hcCxfc3Q9cygoYSxlKT0+e2lmKCFBcnJheS5pc0FycmF5KGEpKXN3aXRjaCh0eXBlb2YgYSl7Y2FzZSJzdHJpbmciOmE9W2FdO2JyZWFrO2Nhc2UidW5kZWZpbmVkIjphPVtdO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgJyR7ZX0nIHRvIGJlIGEgc3RyaW5nIG9yIGFuIGFycmF5LCBidXQgZ290IGEgdHlwZSBvZiAnJHt0eXBlb2YgYX0nYCl9cmV0dXJuIGEuZmlsdGVyKHQ9PntpZih0eXBlb2YgdCE9InN0cmluZyIpe2lmKHR5cGVvZiB0PiJ1IilyZXR1cm4hMTt0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCAnJHtlfScgdG8gYmUgYW4gYXJyYXkgb2Ygc3RyaW5ncywgYnV0IGZvdW5kIGEgdHlwZSBvZiAnJHt0eXBlb2YgdH0nIGluIHRoZSBhcnJheWApfXJldHVybiEwfSl9LCJzYW5pdGl6ZUFycmF5IiksejlhPXMoKGEsZSk9PntlPXtjYXNlU2Vuc2l0aXZlOiExLC4uLmV9O2xldCB0PWErSlNPTi5zdHJpbmdpZnkoZSk7aWYoaTJlLmhhcyh0KSlyZXR1cm4gaTJlLmdldCh0KTtsZXQgcj1hWzBdPT09IiEiO3ImJihhPWEuc2xpY2UoMSkpLGE9ZzMoYSkucmVwbGFjZSgvXFxcKi9nLCJbXFxzXFxTXSoiKTtsZXQgaT1uZXcgUmVnRXhwKGBeJHthfSRgLGUuY2FzZVNlbnNpdGl2ZT8iIjoiaSIpO3JldHVybiBpLm5lZ2F0ZWQ9cixpMmUuc2V0KHQsaSksaX0sIm1ha2VSZWdleHAiKSxUc3Q9cygoYSxlLHQscik9PntpZihhPV9zdChhLCJpbnB1dHMiKSxlPV9zdChlLCJwYXR0ZXJucyIpLGUubGVuZ3RoPT09MClyZXR1cm5bXTtlPWUubWFwKG49Pno5YShuLHQpKTtsZXR7YWxsUGF0dGVybnM6aX09dHx8e30sbz1bXTtmb3IobGV0IG4gb2YgYSl7bGV0IGwsZD1bLi4uZV0uZmlsbCghMSk7Zm9yKGxldFtjLHBdb2YgZS5lbnRyaWVzKCkpaWYocC50ZXN0KG4pJiYoZFtjXT0hMCxsPSFwLm5lZ2F0ZWQsIWwpKWJyZWFrO2lmKCEobD09PSExfHxsPT09dm9pZCAwJiZlLnNvbWUoYz0+IWMubmVnYXRlZCl8fGkmJmQuc29tZSgoYyxwKT0+IWMmJiFlW3BdLm5lZ2F0ZWQpKSYmKG8ucHVzaChuKSxyKSlicmVha31yZXR1cm4gb30sImJhc2VNYXRjaGVyIik7cyhDOWEsIm1hdGNoZXIiKTtzKF85YSwiaXNNYXRjaCIpfSk7dmFyICRzdD1mKCgpPT57THN0KCl9KTt2YXIgbjk9e307cnQobjkse1NtYXJ0TWF0Y2g6KCk9Pm8yZX0pO3ZhciBvMmUsRHN0PWYoKCk9Pnskc3QoKTtvMmU9Y2xhc3N7c3RhdGlje3ModGhpcywiU21hcnRNYXRjaCIpfWNvbnN0cnVjdG9yKGUpe3RoaXMud2lsZGNhcmQ9ZX1tYXRjaChlKXtyZXR1cm4gbzkuaXNNYXRjaChlLHRoaXMud2lsZGNhcmQpfX19KTt2YXIgdTk9e307cnQodTkse0Nyb246KCk9PlJzdCxDcm9uRGF0ZTooKT0+enMsQ3JvblBhdHRlcm46KCk9PlpZLHNjaGVkdWxlZEpvYnM6KCk9PmZofSk7ZnVuY3Rpb24gbDkoYSl7cmV0dXJuIERhdGUuVVRDKGEueSxhLm0tMSxhLmQsYS5oLGEuaSxhLnMpfWZ1bmN0aW9uIG4yZShhLGUpe3JldHVybiBhLnk9PT1lLnkmJmEubT09PWUubSYmYS5kPT09ZS5kJiZhLmg9PT1lLmgmJmEuaT09PWUuaSYmYS5zPT09ZS5zfWZ1bmN0aW9uIEw5YShhLGUpe2xldCB0PW5ldyBEYXRlKERhdGUucGFyc2UoYSkpO2lmKGlzTmFOKHQpKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBJU084NjAxIHBhc3NlZCB0byB0aW1lem9uZSBwYXJzZXIuIik7bGV0IHI9YS5zdWJzdHJpbmcoOSk7cmV0dXJuIHIuaW5jbHVkZXMoIloiKXx8ci5pbmNsdWRlcygiKyIpfHxyLmluY2x1ZGVzKCItIik/bDJlKHQuZ2V0VVRDRnVsbFllYXIoKSx0LmdldFVUQ01vbnRoKCkrMSx0LmdldFVUQ0RhdGUoKSx0LmdldFVUQ0hvdXJzKCksdC5nZXRVVENNaW51dGVzKCksdC5nZXRVVENTZWNvbmRzKCksIkV0Yy9VVEMiKTpsMmUodC5nZXRGdWxsWWVhcigpLHQuZ2V0TW9udGgoKSsxLHQuZ2V0RGF0ZSgpLHQuZ2V0SG91cnMoKSx0LmdldE1pbnV0ZXMoKSx0LmdldFNlY29uZHMoKSxlKX1mdW5jdGlvbiBBc3QoYSxlLHQpe3JldHVybiBFc3QoTDlhKGEsZSksdCl9ZnVuY3Rpb24gRXN0KGEsZSl7bGV0IHQ9bmV3IERhdGUobDkoYSkpLHI9YzkodCxhLnR6KSxpPWw5KGEpLG89bDkociksbj1pLW8sbD1uZXcgRGF0ZSh0LmdldFRpbWUoKStuKSxkPWM5KGwsYS50eik7aWYobjJlKGQsYSkpe2xldCB1PW5ldyBEYXRlKGwuZ2V0VGltZSgpLTM2ZTUpLG09YzkodSxhLnR6KTtyZXR1cm4gbjJlKG0sYSk/dTpsfWxldCBjPW5ldyBEYXRlKGwuZ2V0VGltZSgpK2w5KGEpLWw5KGQpKSxwPWM5KGMsYS50eik7aWYobjJlKHAsYSkpcmV0dXJuIGM7aWYoZSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgZGF0ZSBwYXNzZWQgdG8gZnJvbVRaKCkiKTtyZXR1cm4gbC5nZXRUaW1lKCk+Yy5nZXRUaW1lKCk/bDpjfWZ1bmN0aW9uIGM5KGEsZSl7bGV0IHQscjt0cnl7dD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCgiZW4tVVMiLHt0aW1lWm9uZTplLHllYXI6Im51bWVyaWMiLG1vbnRoOiJudW1lcmljIixkYXk6Im51bWVyaWMiLGhvdXI6Im51bWVyaWMiLG1pbnV0ZToibnVtZXJpYyIsc2Vjb25kOiJudW1lcmljIixob3VyMTI6ITF9KSxyPXQuZm9ybWF0VG9QYXJ0cyhhKX1jYXRjaChvKXtsZXQgbj1vIGluc3RhbmNlb2YgRXJyb3I/by5tZXNzYWdlOlN0cmluZyhvKTt0aHJvdyBuZXcgUmFuZ2VFcnJvcihgdG9UWjogSW52YWxpZCB0aW1lem9uZSAnJHtlfScgb3IgZGF0ZS4gUGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBJQU5BIHRpbWV6b25lIChlLmcuLCAnQW1lcmljYS9OZXdfWW9yaycsICdFdXJvcGUvU3RvY2tob2xtJykuIE9yaWdpbmFsIGVycm9yOiAke259YCl9bGV0IGk9e3llYXI6MCxtb250aDowLGRheTowLGhvdXI6MCxtaW51dGU6MCxzZWNvbmQ6MH07Zm9yKGxldCBvIG9mIHIpKG8udHlwZT09PSJ5ZWFyInx8by50eXBlPT09Im1vbnRoInx8by50eXBlPT09ImRheSJ8fG8udHlwZT09PSJob3VyInx8by50eXBlPT09Im1pbnV0ZSJ8fG8udHlwZT09PSJzZWNvbmQiKSYmKGlbby50eXBlXT1wYXJzZUludChvLnZhbHVlLDEwKSk7aWYoaXNOYU4oaS55ZWFyKXx8aXNOYU4oaS5tb250aCl8fGlzTmFOKGkuZGF5KXx8aXNOYU4oaS5ob3VyKXx8aXNOYU4oaS5taW51dGUpfHxpc05hTihpLnNlY29uZCkpdGhyb3cgbmV3IEVycm9yKGB0b1RaOiBGYWlsZWQgdG8gcGFyc2UgYWxsIGRhdGUgY29tcG9uZW50cyBmcm9tIHRpbWV6b25lICcke2V9Jy4gVGhpcyBtYXkgaW5kaWNhdGUgYW4gaW52YWxpZCBkYXRlIG9yIHRpbWV6b25lIGNvbmZpZ3VyYXRpb24uIFBhcnNlZCBjb21wb25lbnRzOiAke0pTT04uc3RyaW5naWZ5KGkpfWApO3JldHVybiBpLmhvdXI9PT0yNCYmKGkuaG91cj0wKSx7eTppLnllYXIsbTppLm1vbnRoLGQ6aS5kYXksaDppLmhvdXIsaTppLm1pbnV0ZSxzOmkuc2Vjb25kLHR6OmV9fWZ1bmN0aW9uIGwyZShhLGUsdCxyLGksbyxuKXtyZXR1cm57eTphLG06ZSxkOnQsaDpyLGksczpvLHR6Om59fWZ1bmN0aW9uICQ5YShhKXtpZihhPT09dm9pZCAwJiYoYT17fSksZGVsZXRlIGEubmFtZSxhLmxlZ2FjeU1vZGUhPT12b2lkIDAmJmEuZG9tQW5kRG93PT09dm9pZCAwP2EuZG9tQW5kRG93PSFhLmxlZ2FjeU1vZGU6YS5kb21BbmREb3c9PT12b2lkIDAmJihhLmRvbUFuZERvdz0hMSksYS5sZWdhY3lNb2RlPSFhLmRvbUFuZERvdyxhLnBhdXNlZD1hLnBhdXNlZD09PXZvaWQgMD8hMTphLnBhdXNlZCxhLm1heFJ1bnM9YS5tYXhSdW5zPT09dm9pZCAwPzEvMDphLm1heFJ1bnMsYS5jYXRjaD1hLmNhdGNoPT09dm9pZCAwPyExOmEuY2F0Y2gsYS5pbnRlcnZhbD1hLmludGVydmFsPT09dm9pZCAwPzA6cGFyc2VJbnQoYS5pbnRlcnZhbC50b1N0cmluZygpLDEwKSxhLnV0Y09mZnNldD1hLnV0Y09mZnNldD09PXZvaWQgMD92b2lkIDA6cGFyc2VJbnQoYS51dGNPZmZzZXQudG9TdHJpbmcoKSwxMCksYS5kYXlPZmZzZXQ9YS5kYXlPZmZzZXQ9PT12b2lkIDA/MDpwYXJzZUludChhLmRheU9mZnNldC50b1N0cmluZygpLDEwKSxhLnVucmVmPWEudW5yZWY9PT12b2lkIDA/ITE6YS51bnJlZixhLm1vZGU9YS5tb2RlPT09dm9pZCAwPyJhdXRvIjphLm1vZGUsYS5hbHRlcm5hdGl2ZVdlZWtkYXlzPWEuYWx0ZXJuYXRpdmVXZWVrZGF5cz09PXZvaWQgMD8hMTphLmFsdGVybmF0aXZlV2Vla2RheXMsYS5zbG9wcHlSYW5nZXM9YS5zbG9wcHlSYW5nZXM9PT12b2lkIDA/ITE6YS5zbG9wcHlSYW5nZXMsIVsiYXV0byIsIjUtcGFydCIsIjYtcGFydCIsIjctcGFydCIsIjUtb3ItNi1wYXJ0cyIsIjYtb3ItNy1wYXJ0cyJdLmluY2x1ZGVzKGEubW9kZSkpdGhyb3cgbmV3IEVycm9yKCJDcm9uT3B0aW9uczogbW9kZSBtdXN0IGJlIG9uZSBvZiAnYXV0bycsICc1LXBhcnQnLCAnNi1wYXJ0JywgJzctcGFydCcsICc1LW9yLTYtcGFydHMnLCBvciAnNi1vci03LXBhcnRzJy4iKTtpZihhLnN0YXJ0QXQmJihhLnN0YXJ0QXQ9bmV3IHpzKGEuc3RhcnRBdCxhLnRpbWV6b25lKSksYS5zdG9wQXQmJihhLnN0b3BBdD1uZXcgenMoYS5zdG9wQXQsYS50aW1lem9uZSkpLGEuaW50ZXJ2YWwhPT1udWxsKXtpZihpc05hTihhLmludGVydmFsKSl0aHJvdyBuZXcgRXJyb3IoIkNyb25PcHRpb25zOiBTdXBwbGllZCB2YWx1ZSBmb3IgaW50ZXJ2YWwgaXMgbm90IGEgbnVtYmVyIik7aWYoYS5pbnRlcnZhbDwwKXRocm93IG5ldyBFcnJvcigiQ3Jvbk9wdGlvbnM6IFN1cHBsaWVkIHZhbHVlIGZvciBpbnRlcnZhbCBjYW4gbm90IGJlIG5lZ2F0aXZlIil9aWYoYS51dGNPZmZzZXQhPT12b2lkIDApe2lmKGlzTmFOKGEudXRjT2Zmc2V0KSl0aHJvdyBuZXcgRXJyb3IoIkNyb25PcHRpb25zOiBJbnZhbGlkIHZhbHVlIHBhc3NlZCBmb3IgdXRjT2Zmc2V0LCBzaG91bGQgYmUgbnVtYmVyIHJlcHJlc2VudGluZyBtaW51dGVzIG9mZnNldCBmcm9tIFVUQy4iKTtpZihhLnV0Y09mZnNldDwtODcwfHxhLnV0Y09mZnNldD44NzApdGhyb3cgbmV3IEVycm9yKCJDcm9uT3B0aW9uczogdXRjT2Zmc2V0IG91dCBvZiBib3VuZHMuIik7aWYoYS51dGNPZmZzZXQhPT12b2lkIDAmJmEudGltZXpvbmUpdGhyb3cgbmV3IEVycm9yKCJDcm9uT3B0aW9uczogQ29tYmluaW5nICd1dGNPZmZzZXQnIHdpdGggJ3RpbWV6b25lJyBpcyBub3QgYWxsb3dlZC4iKX1pZihhLnVucmVmIT09ITAmJmEudW5yZWYhPT0hMSl0aHJvdyBuZXcgRXJyb3IoIkNyb25PcHRpb25zOiBVbnJlZiBzaG91bGQgYmUgZWl0aGVyIHRydWUsIGZhbHNlIG9yIHVuZGVmaW5lZChmYWxzZSkuIik7aWYoYS5kYXlPZmZzZXQhPT12b2lkIDAmJmEuZGF5T2Zmc2V0IT09MCYmaXNOYU4oYS5kYXlPZmZzZXQpKXRocm93IG5ldyBFcnJvcigiQ3Jvbk9wdGlvbnM6IEludmFsaWQgdmFsdWUgcGFzc2VkIGZvciBkYXlPZmZzZXQsIHNob3VsZCBiZSBhIG51bWJlciByZXByZXNlbnRpbmcgZGF5cyB0byBvZmZzZXQuIik7cmV0dXJuIGF9ZnVuY3Rpb24gZDkoYSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKT09PSJbb2JqZWN0IEZ1bmN0aW9uXSJ8fHR5cGVvZiBhPT0iZnVuY3Rpb24ifHxhIGluc3RhbmNlb2YgRnVuY3Rpb259ZnVuY3Rpb24gRDlhKGEpe3JldHVybiBkOShhKX1mdW5jdGlvbiBBOWEoYSl7dHlwZW9mIERlbm88InUiJiZ0eXBlb2YgRGVuby51bnJlZlRpbWVyPCJ1Ij9EZW5vLnVucmVmVGltZXIoYSk6YSYmdHlwZW9mIGEudW5yZWY8InUiJiZhLnVucmVmKCl9dmFyIFBzdCxaWSxjMmUsdXIsenMsSXN0LGZoLFJzdCxPc3Q9ZigoKT0+e3MobDksIlQiKTtzKG4yZSwiRCIpO3MoTDlhLCJBIik7cyhBc3QsInYiKTtzKEVzdCwiayIpO3MoYzksImciKTtzKGwyZSwiYiIpO1BzdD1bMSwyLDQsOCwxNl0sWlk9Y2xhc3N7c3RhdGlje3ModGhpcywiQyIpfXBhdHRlcm47dGltZXpvbmU7bW9kZTthbHRlcm5hdGl2ZVdlZWtkYXlzO3Nsb3BweVJhbmdlcztzZWNvbmQ7bWludXRlO2hvdXI7ZGF5O21vbnRoO2RheU9mV2Vlazt5ZWFyO2xhc3REYXlPZk1vbnRoO2xhc3RXZWVrZGF5O25lYXJlc3RXZWVrZGF5cztzdGFyRE9NO3N0YXJET1c7c3RhclllYXI7dXNlQW5kTG9naWM7Y29uc3RydWN0b3IoYSxlLHQpe3RoaXMucGF0dGVybj1hLHRoaXMudGltZXpvbmU9ZSx0aGlzLm1vZGU9dD8ubW9kZT8/ImF1dG8iLHRoaXMuYWx0ZXJuYXRpdmVXZWVrZGF5cz10Py5hbHRlcm5hdGl2ZVdlZWtkYXlzPz8hMSx0aGlzLnNsb3BweVJhbmdlcz10Py5zbG9wcHlSYW5nZXM/PyExLHRoaXMuc2Vjb25kPUFycmF5KDYwKS5maWxsKDApLHRoaXMubWludXRlPUFycmF5KDYwKS5maWxsKDApLHRoaXMuaG91cj1BcnJheSgyNCkuZmlsbCgwKSx0aGlzLmRheT1BcnJheSgzMSkuZmlsbCgwKSx0aGlzLm1vbnRoPUFycmF5KDEyKS5maWxsKDApLHRoaXMuZGF5T2ZXZWVrPUFycmF5KDcpLmZpbGwoMCksdGhpcy55ZWFyPUFycmF5KDFlNCkuZmlsbCgwKSx0aGlzLmxhc3REYXlPZk1vbnRoPSExLHRoaXMubGFzdFdlZWtkYXk9ITEsdGhpcy5uZWFyZXN0V2Vla2RheXM9QXJyYXkoMzEpLmZpbGwoMCksdGhpcy5zdGFyRE9NPSExLHRoaXMuc3RhckRPVz0hMSx0aGlzLnN0YXJZZWFyPSExLHRoaXMudXNlQW5kTG9naWM9ITEsdGhpcy5wYXJzZSgpfXBhcnNlKCl7aWYoISh0eXBlb2YgdGhpcy5wYXR0ZXJuPT0ic3RyaW5nInx8dGhpcy5wYXR0ZXJuIGluc3RhbmNlb2YgU3RyaW5nKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogUGF0dGVybiBoYXMgdG8gYmUgb2YgdHlwZSBzdHJpbmcuIik7dGhpcy5wYXR0ZXJuLmluZGV4T2YoIkAiKT49MCYmKHRoaXMucGF0dGVybj10aGlzLmhhbmRsZU5pY2tuYW1lcyh0aGlzLnBhdHRlcm4pLnRyaW0oKSk7bGV0IGE9dGhpcy5wYXR0ZXJuLm1hdGNoKC9cUysvZyl8fFsiIl0sZT1hLmxlbmd0aDtpZihhLmxlbmd0aDw1fHxhLmxlbmd0aD43KXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBpbnZhbGlkIGNvbmZpZ3VyYXRpb24gZm9ybWF0ICgnIit0aGlzLnBhdHRlcm4rIicpLCBleGFjdGx5IGZpdmUsIHNpeCwgb3Igc2V2ZW4gc3BhY2Ugc2VwYXJhdGVkIHBhcnRzIGFyZSByZXF1aXJlZC4iKTtpZih0aGlzLm1vZGUhPT0iYXV0byIpe2xldCByO3N3aXRjaCh0aGlzLm1vZGUpe2Nhc2UiNS1wYXJ0IjpyPTU7YnJlYWs7Y2FzZSI2LXBhcnQiOnI9NjticmVhaztjYXNlIjctcGFydCI6cj03O2JyZWFrO2Nhc2UiNS1vci02LXBhcnRzIjpyPVs1LDZdO2JyZWFrO2Nhc2UiNi1vci03LXBhcnRzIjpyPVs2LDddO2JyZWFrO2RlZmF1bHQ6cj0wfWlmKCEoQXJyYXkuaXNBcnJheShyKT9yLmluY2x1ZGVzKGUpOmU9PT1yKSl7bGV0IGk9QXJyYXkuaXNBcnJheShyKT9yLmpvaW4oIiBvciAiKTpyLnRvU3RyaW5nKCk7dGhyb3cgbmV3IFR5cGVFcnJvcihgQ3JvblBhdHRlcm46IG1vZGUgJyR7dGhpcy5tb2RlfScgcmVxdWlyZXMgZXhhY3RseSAke2l9IHBhcnRzLCBidXQgcGF0dGVybiAnJHt0aGlzLnBhdHRlcm59JyBoYXMgJHtlfSBwYXJ0cy5gKX19aWYoYS5sZW5ndGg9PT01JiZhLnVuc2hpZnQoIjAiKSxhLmxlbmd0aD09PTYmJmEucHVzaCgiKiIpLGFbM10udG9VcHBlckNhc2UoKT09PSJMVyI/KHRoaXMubGFzdFdlZWtkYXk9ITAsYVszXT0iIik6YVszXS50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIkwiKT49MCYmKGFbM109YVszXS5yZXBsYWNlKC9ML2dpLCIiKSx0aGlzLmxhc3REYXlPZk1vbnRoPSEwKSxhWzNdPT0iKiImJih0aGlzLnN0YXJET009ITApLGFbNl09PSIqIiYmKHRoaXMuc3RhclllYXI9ITApLGFbNF0ubGVuZ3RoPj0zJiYoYVs0XT10aGlzLnJlcGxhY2VBbHBoYU1vbnRocyhhWzRdKSksYVs1XS5sZW5ndGg+PTMmJihhWzVdPXRoaXMuYWx0ZXJuYXRpdmVXZWVrZGF5cz90aGlzLnJlcGxhY2VBbHBoYURheXNRdWFydHooYVs1XSk6dGhpcy5yZXBsYWNlQWxwaGFEYXlzKGFbNV0pKSxhWzVdLnN0YXJ0c1dpdGgoIisiKSYmKHRoaXMudXNlQW5kTG9naWM9ITAsYVs1XT1hWzVdLnN1YnN0cmluZygxKSxhWzVdPT09IiIpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBEYXktb2Ytd2VlayBmaWVsZCBjYW5ub3QgYmUgZW1wdHkgYWZ0ZXIgJysnIG1vZGlmaWVyLiIpO3N3aXRjaChhWzVdPT0iKiImJih0aGlzLnN0YXJET1c9ITApLHRoaXMucGF0dGVybi5pbmRleE9mKCI/Iik+PTAmJihhWzBdPWFbMF0ucmVwbGFjZSgvXD8vZywiKiIpLGFbMV09YVsxXS5yZXBsYWNlKC9cPy9nLCIqIiksYVsyXT1hWzJdLnJlcGxhY2UoL1w/L2csIioiKSxhWzNdPWFbM10ucmVwbGFjZSgvXD8vZywiKiIpLGFbNF09YVs0XS5yZXBsYWNlKC9cPy9nLCIqIiksYVs1XT1hWzVdLnJlcGxhY2UoL1w/L2csIioiKSxhWzZdJiYoYVs2XT1hWzZdLnJlcGxhY2UoL1w/L2csIioiKSkpLHRoaXMubW9kZSl7Y2FzZSI1LXBhcnQiOmFbMF09IjAiLGFbNl09IioiO2JyZWFrO2Nhc2UiNi1wYXJ0IjphWzZdPSIqIjticmVhaztjYXNlIjUtb3ItNi1wYXJ0cyI6YVs2XT0iKiI7YnJlYWs7Y2FzZSI2LW9yLTctcGFydHMiOmJyZWFrO2Nhc2UiNy1wYXJ0IjpjYXNlImF1dG8iOmJyZWFrfXRoaXMudGhyb3dBdElsbGVnYWxDaGFyYWN0ZXJzKGEpLHRoaXMucGFydFRvQXJyYXkoInNlY29uZCIsYVswXSwwLDEpLHRoaXMucGFydFRvQXJyYXkoIm1pbnV0ZSIsYVsxXSwwLDEpLHRoaXMucGFydFRvQXJyYXkoImhvdXIiLGFbMl0sMCwxKSx0aGlzLnBhcnRUb0FycmF5KCJkYXkiLGFbM10sLTEsMSksdGhpcy5wYXJ0VG9BcnJheSgibW9udGgiLGFbNF0sLTEsMSk7bGV0IHQ9dGhpcy5hbHRlcm5hdGl2ZVdlZWtkYXlzPy0xOjA7dGhpcy5wYXJ0VG9BcnJheSgiZGF5T2ZXZWVrIixhWzVdLHQsNjMpLHRoaXMucGFydFRvQXJyYXkoInllYXIiLGFbNl0sMCwxKSwhdGhpcy5hbHRlcm5hdGl2ZVdlZWtkYXlzJiZ0aGlzLmRheU9mV2Vla1s3XSYmKHRoaXMuZGF5T2ZXZWVrWzBdPXRoaXMuZGF5T2ZXZWVrWzddKX1wYXJ0VG9BcnJheShhLGUsdCxyKXtsZXQgaT10aGlzW2FdLG89YT09PSJkYXkiJiZ0aGlzLmxhc3REYXlPZk1vbnRoLG49YT09PSJkYXkiJiZ0aGlzLmxhc3RXZWVrZGF5O2lmKGU9PT0iIiYmIW8mJiFuKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBjb25maWd1cmF0aW9uIGVudHJ5ICIrYSsiICgiK2UrIikgaXMgZW1wdHksIGNoZWNrIGZvciB0cmFpbGluZyBzcGFjZXMuIik7aWYoZT09PSIqIilyZXR1cm4gaS5maWxsKHIpO2xldCBsPWUuc3BsaXQoIiwiKTtpZihsLmxlbmd0aD4xKWZvcihsZXQgZD0wO2Q8bC5sZW5ndGg7ZCsrKXRoaXMucGFydFRvQXJyYXkoYSxsW2RdLHQscik7ZWxzZSBlLmluZGV4T2YoIi0iKSE9PS0xJiZlLmluZGV4T2YoIi8iKSE9PS0xP3RoaXMuaGFuZGxlUmFuZ2VXaXRoU3RlcHBpbmcoZSxhLHQscik6ZS5pbmRleE9mKCItIikhPT0tMT90aGlzLmhhbmRsZVJhbmdlKGUsYSx0LHIpOmUuaW5kZXhPZigiLyIpIT09LTE/dGhpcy5oYW5kbGVTdGVwcGluZyhlLGEsdCxyKTplIT09IiImJnRoaXMuaGFuZGxlTnVtYmVyKGUsYSx0LHIpfXRocm93QXRJbGxlZ2FsQ2hhcmFjdGVycyhhKXtmb3IobGV0IGU9MDtlPGEubGVuZ3RoO2UrKylpZigoZT09PTM/L1teLyowLTksXC1Xd0xsXSsvOmU9PT01Py9bXi8qMC05LFwtI0xsXSsvOi9bXi8qMC05LFwtXSsvKS50ZXN0KGFbZV0pKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBjb25maWd1cmF0aW9uIGVudHJ5ICIrZSsiICgiK2FbZV0rIikgY29udGFpbnMgaWxsZWdhbCBjaGFyYWN0ZXJzLiIpfWhhbmRsZU51bWJlcihhLGUsdCxyKXtsZXQgaT10aGlzLmV4dHJhY3ROdGgoYSxlKSxvPWEudG9VcHBlckNhc2UoKS5pbmNsdWRlcygiVyIpO2lmKGUhPT0iZGF5IiYmbyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogTmVhcmVzdCB3ZWVrZGF5IG1vZGlmaWVyIChXKSBvbmx5IGFsbG93ZWQgaW4gZGF5LW9mLW1vbnRoLiIpO28mJihlPSJuZWFyZXN0V2Vla2RheXMiKTtsZXQgbj1wYXJzZUludChpWzBdLDEwKSt0O2lmKGlzTmFOKG4pKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiAiK2UrIiBpcyBub3QgYSBudW1iZXI6ICciK2ErIiciKTt0aGlzLnNldFBhcnQoZSxuLGlbMV18fHIpfXNldFBhcnQoYSxlLHQpe2lmKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGhpcyxhKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogSW52YWxpZCBwYXJ0IHNwZWNpZmllZDogIithKTtpZihhPT09ImRheU9mV2VlayIpe2lmKGU9PT03JiYoZT0wKSxlPDB8fGU+Nil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ3JvblBhdHRlcm46IEludmFsaWQgdmFsdWUgZm9yIGRheU9mV2VlazogIitlKTt0aGlzLnNldE50aFdlZWtkYXlPZk1vbnRoKGUsdCk7cmV0dXJufWlmKGE9PT0ic2Vjb25kInx8YT09PSJtaW51dGUiKXtpZihlPDB8fGU+PTYwKXRocm93IG5ldyBSYW5nZUVycm9yKCJDcm9uUGF0dGVybjogSW52YWxpZCB2YWx1ZSBmb3IgIithKyI6ICIrZSl9ZWxzZSBpZihhPT09ImhvdXIiKXtpZihlPDB8fGU+PTI0KXRocm93IG5ldyBSYW5nZUVycm9yKCJDcm9uUGF0dGVybjogSW52YWxpZCB2YWx1ZSBmb3IgIithKyI6ICIrZSl9ZWxzZSBpZihhPT09ImRheSJ8fGE9PT0ibmVhcmVzdFdlZWtkYXlzIil7aWYoZTwwfHxlPj0zMSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ3JvblBhdHRlcm46IEludmFsaWQgdmFsdWUgZm9yICIrYSsiOiAiK2UpfWVsc2UgaWYoYT09PSJtb250aCIpe2lmKGU8MHx8ZT49MTIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkNyb25QYXR0ZXJuOiBJbnZhbGlkIHZhbHVlIGZvciAiK2ErIjogIitlKX1lbHNlIGlmKGE9PT0ieWVhciImJihlPDF8fGU+PTFlNCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkNyb25QYXR0ZXJuOiBJbnZhbGlkIHZhbHVlIGZvciAiK2ErIjogIitlKyIgKHN1cHBvcnRlZCByYW5nZTogMS05OTk5KSIpO3RoaXNbYV1bZV09dH12YWxpZGF0ZU5vdE5hTihhLGUpe2lmKGlzTmFOKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoZSl9dmFsaWRhdGVSYW5nZShhLGUsdCxyLGkpe2lmKGE+ZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogRnJvbSB2YWx1ZSBpcyBsYXJnZXIgdGhhbiB0byB2YWx1ZTogJyIraSsiJyIpO2lmKHQhPT12b2lkIDApe2lmKHQ9PT0wKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgc3RlcHBpbmc6IDAiKTtpZih0PnRoaXNbcl0ubGVuZ3RoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIHN0ZXBzIGNhbm5vdCBiZSBncmVhdGVyIHRoYW4gbWF4aW11bSB2YWx1ZSBvZiBwYXJ0ICgiK3RoaXNbcl0ubGVuZ3RoKyIpIil9fWhhbmRsZVJhbmdlV2l0aFN0ZXBwaW5nKGEsZSx0LHIpe2lmKGEudG9VcHBlckNhc2UoKS5pbmNsdWRlcygiVyIpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIFcgaXMgbm90IGFsbG93ZWQgaW4gcmFuZ2VzIHdpdGggc3RlcHBpbmcuIik7bGV0IGk9dGhpcy5leHRyYWN0TnRoKGEsZSksbz1pWzBdLm1hdGNoKC9eKFxkKyktKFxkKylcLyhcZCspJC8pO2lmKG89PT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgcmFuZ2Ugd2l0aCBzdGVwcGluZzogJyIrYSsiJyIpO2xldFssbixsLGRdPW8sYz1wYXJzZUludChuLDEwKSt0LHA9cGFyc2VJbnQobCwxMCkrdCx1PXBhcnNlSW50KGQsMTApO3RoaXMudmFsaWRhdGVOb3ROYU4oYywiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCBsb3dlciByYW5nZSAoTmFOKSIpLHRoaXMudmFsaWRhdGVOb3ROYU4ocCwiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCB1cHBlciByYW5nZSAoTmFOKSIpLHRoaXMudmFsaWRhdGVOb3ROYU4odSwiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCBzdGVwcGluZzogKE5hTikiKSx0aGlzLnZhbGlkYXRlUmFuZ2UoYyxwLHUsZSxhKTtmb3IobGV0IG09YzttPD1wO20rPXUpdGhpcy5zZXRQYXJ0KGUsbSxpWzFdfHxyKX1leHRyYWN0TnRoKGEsZSl7bGV0IHQ9YSxyO2lmKHQuaW5jbHVkZXMoIiMiKSl7aWYoZSE9PSJkYXlPZldlZWsiKXRocm93IG5ldyBFcnJvcigiQ3JvblBhdHRlcm46IG50aCAoIykgb25seSBhbGxvd2VkIGluIGRheS1vZi13ZWVrIGZpZWxkIik7cj10LnNwbGl0KCIjIilbMV0sdD10LnNwbGl0KCIjIilbMF19ZWxzZSBpZih0LnRvVXBwZXJDYXNlKCkuZW5kc1dpdGgoIkwiKSl7aWYoZSE9PSJkYXlPZldlZWsiKXRocm93IG5ldyBFcnJvcigiQ3JvblBhdHRlcm46IEwgbW9kaWZpZXIgb25seSBhbGxvd2VkIGluIGRheS1vZi13ZWVrIGZpZWxkICh1c2UgTCBhbG9uZSBmb3IgZGF5LW9mLW1vbnRoKSIpO3I9IkwiLHQ9dC5zbGljZSgwLC0xKX1yZXR1cm5bdCxyXX1oYW5kbGVSYW5nZShhLGUsdCxyKXtpZihhLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMoIlciKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBXIGlzIG5vdCBhbGxvd2VkIGluIGEgcmFuZ2UuIik7bGV0IGk9dGhpcy5leHRyYWN0TnRoKGEsZSksbz1pWzBdLnNwbGl0KCItIik7aWYoby5sZW5ndGghPT0yKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgcmFuZ2U6ICciK2ErIiciKTtsZXQgbj1wYXJzZUludChvWzBdLDEwKSt0LGw9cGFyc2VJbnQob1sxXSwxMCkrdDt0aGlzLnZhbGlkYXRlTm90TmFOKG4sIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgbG93ZXIgcmFuZ2UgKE5hTikiKSx0aGlzLnZhbGlkYXRlTm90TmFOKGwsIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgdXBwZXIgcmFuZ2UgKE5hTikiKSx0aGlzLnZhbGlkYXRlUmFuZ2UobixsLHZvaWQgMCxlLGEpO2ZvcihsZXQgZD1uO2Q8PWw7ZCsrKXRoaXMuc2V0UGFydChlLGQsaVsxXXx8cil9aGFuZGxlU3RlcHBpbmcoYSxlLHQscil7aWYoYS50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKCJXIikpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgVyBpcyBub3QgYWxsb3dlZCBpbiBwYXJ0cyB3aXRoIHN0ZXBwaW5nLiIpO2xldCBpPXRoaXMuZXh0cmFjdE50aChhLGUpLG89aVswXS5zcGxpdCgiLyIpO2lmKG8ubGVuZ3RoIT09Mil0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBpbGxlZ2FsIHN0ZXBwaW5nOiAnIithKyInIik7aWYodGhpcy5zbG9wcHlSYW5nZXMpb1swXT09PSIiJiYob1swXT0iKiIpO2Vsc2V7aWYob1swXT09PSIiKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIHN0ZXBwaW5nIHdpdGggbWlzc2luZyBwcmVmaXggKCciK2ErIicpIGlzIG5vdCBhbGxvd2VkLiBVc2Ugd2lsZGNhcmQgKCovc3RlcCkgb3IgcmFuZ2UgKG1pbi1tYXgvc3RlcCkgaW5zdGVhZC4iKTtpZihvWzBdIT09IioiKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIHN0ZXBwaW5nIHdpdGggbnVtZXJpYyBwcmVmaXggKCciK2ErIicpIGlzIG5vdCBhbGxvd2VkLiBVc2Ugd2lsZGNhcmQgKCovc3RlcCkgb3IgcmFuZ2UgKG1pbi1tYXgvc3RlcCkgaW5zdGVhZC4iKX1sZXQgbj0wO29bMF0hPT0iKiImJihuPXBhcnNlSW50KG9bMF0sMTApK3QpO2xldCBsPXBhcnNlSW50KG9bMV0sMTApO3RoaXMudmFsaWRhdGVOb3ROYU4obCwiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCBzdGVwcGluZzogKE5hTikiKSx0aGlzLnZhbGlkYXRlUmFuZ2UoMCx0aGlzW2VdLmxlbmd0aC0xLGwsZSxhKTtmb3IobGV0IGQ9bjtkPHRoaXNbZV0ubGVuZ3RoO2QrPWwpdGhpcy5zZXRQYXJ0KGUsZCxpWzFdfHxyKX1yZXBsYWNlQWxwaGFEYXlzKGEpe3JldHVybiBhLnJlcGxhY2UoLy1zdW4vZ2ksIi03IikucmVwbGFjZSgvc3VuL2dpLCIwIikucmVwbGFjZSgvbW9uL2dpLCIxIikucmVwbGFjZSgvdHVlL2dpLCIyIikucmVwbGFjZSgvd2VkL2dpLCIzIikucmVwbGFjZSgvdGh1L2dpLCI0IikucmVwbGFjZSgvZnJpL2dpLCI1IikucmVwbGFjZSgvc2F0L2dpLCI2Iil9cmVwbGFjZUFscGhhRGF5c1F1YXJ0eihhKXtyZXR1cm4gYS5yZXBsYWNlKC9zdW4vZ2ksIjEiKS5yZXBsYWNlKC9tb24vZ2ksIjIiKS5yZXBsYWNlKC90dWUvZ2ksIjMiKS5yZXBsYWNlKC93ZWQvZ2ksIjQiKS5yZXBsYWNlKC90aHUvZ2ksIjUiKS5yZXBsYWNlKC9mcmkvZ2ksIjYiKS5yZXBsYWNlKC9zYXQvZ2ksIjciKX1yZXBsYWNlQWxwaGFNb250aHMoYSl7cmV0dXJuIGEucmVwbGFjZSgvamFuL2dpLCIxIikucmVwbGFjZSgvZmViL2dpLCIyIikucmVwbGFjZSgvbWFyL2dpLCIzIikucmVwbGFjZSgvYXByL2dpLCI0IikucmVwbGFjZSgvbWF5L2dpLCI1IikucmVwbGFjZSgvanVuL2dpLCI2IikucmVwbGFjZSgvanVsL2dpLCI3IikucmVwbGFjZSgvYXVnL2dpLCI4IikucmVwbGFjZSgvc2VwL2dpLCI5IikucmVwbGFjZSgvb2N0L2dpLCIxMCIpLnJlcGxhY2UoL25vdi9naSwiMTEiKS5yZXBsYWNlKC9kZWMvZ2ksIjEyIil9aGFuZGxlTmlja25hbWVzKGEpe2xldCBlPWEudHJpbSgpLnRvTG93ZXJDYXNlKCk7aWYoZT09PSJAeWVhcmx5Inx8ZT09PSJAYW5udWFsbHkiKXJldHVybiIwIDAgMSAxICoiO2lmKGU9PT0iQG1vbnRobHkiKXJldHVybiIwIDAgMSAqICoiO2lmKGU9PT0iQHdlZWtseSIpcmV0dXJuIjAgMCAqICogMCI7aWYoZT09PSJAZGFpbHkifHxlPT09IkBtaWRuaWdodCIpcmV0dXJuIjAgMCAqICogKiI7aWYoZT09PSJAaG91cmx5IilyZXR1cm4iMCAqICogKiAqIjtpZihlPT09IkByZWJvb3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBAcmVib290IGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBlbnZpcm9ubWVudC4gVGhpcyBpcyBhbiBldmVudC1iYXNlZCB0cmlnZ2VyIHRoYXQgcmVxdWlyZXMgc3lzdGVtIHN0YXJ0dXAgZGV0ZWN0aW9uLiIpO3JldHVybiBhfXNldE50aFdlZWtkYXlPZk1vbnRoKGEsZSl7aWYodHlwZW9mIGUhPSJudW1iZXIiJiZlLnRvVXBwZXJDYXNlKCk9PT0iTCIpdGhpcy5kYXlPZldlZWtbYV09dGhpcy5kYXlPZldlZWtbYV18MzI7ZWxzZSBpZihlPT09NjMpdGhpcy5kYXlPZldlZWtbYV09NjM7ZWxzZSBpZihlPDYmJmU+MCl0aGlzLmRheU9mV2Vla1thXT10aGlzLmRheU9mV2Vla1thXXxQc3RbZS0xXTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoYENyb25QYXR0ZXJuOiBudGggd2Vla2RheSBvdXQgb2YgcmFuZ2UsIHNob3VsZCBiZSAxLTUgb3IgTC4gVmFsdWU6ICR7ZX0sIFR5cGU6ICR7dHlwZW9mIGV9YCl9fSxjMmU9WzMxLDI4LDMxLDMwLDMxLDMwLDMxLDMxLDMwLDMxLDMwLDMxXSx1cj1bWyJtb250aCIsInllYXIiLDBdLFsiZGF5IiwibW9udGgiLC0xXSxbImhvdXIiLCJkYXkiLDBdLFsibWludXRlIiwiaG91ciIsMF0sWyJzZWNvbmQiLCJtaW51dGUiLDBdXSx6cz1jbGFzcyBOc3R7c3RhdGlje3ModGhpcywicyIpfXR6O21zO3NlY29uZDttaW51dGU7aG91cjtkYXk7bW9udGg7eWVhcjtjb25zdHJ1Y3RvcihlLHQpe2lmKHRoaXMudHo9dCxlJiZlIGluc3RhbmNlb2YgRGF0ZSlpZighaXNOYU4oZSkpdGhpcy5mcm9tRGF0ZShlKTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25EYXRlOiBJbnZhbGlkIGRhdGUgcGFzc2VkIHRvIENyb25EYXRlIGNvbnN0cnVjdG9yIik7ZWxzZSBpZihlPT1udWxsKXRoaXMuZnJvbURhdGUobmV3IERhdGUpO2Vsc2UgaWYoZSYmdHlwZW9mIGU9PSJzdHJpbmciKXRoaXMuZnJvbVN0cmluZyhlKTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBOc3QpdGhpcy5mcm9tQ3JvbkRhdGUoZSk7ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uRGF0ZTogSW52YWxpZCB0eXBlICgiK3R5cGVvZiBlKyIpIHBhc3NlZCB0byBDcm9uRGF0ZSBjb25zdHJ1Y3RvciIpfWdldExhc3REYXlPZk1vbnRoKGUsdCl7cmV0dXJuIHQhPT0xP2MyZVt0XTpuZXcgRGF0ZShEYXRlLlVUQyhlLHQrMSwwKSkuZ2V0VVRDRGF0ZSgpfWdldExhc3RXZWVrZGF5KGUsdCl7bGV0IHI9dGhpcy5nZXRMYXN0RGF5T2ZNb250aChlLHQpLGk9bmV3IERhdGUoRGF0ZS5VVEMoZSx0LHIpKS5nZXRVVENEYXkoKTtyZXR1cm4gaT09PTA/ci0yOmk9PT02P3ItMTpyfWdldE5lYXJlc3RXZWVrZGF5KGUsdCxyKXtsZXQgaT10aGlzLmdldExhc3REYXlPZk1vbnRoKGUsdCk7aWYocj5pKXJldHVybi0xO2xldCBvPW5ldyBEYXRlKERhdGUuVVRDKGUsdCxyKSkuZ2V0VVRDRGF5KCk7cmV0dXJuIG89PT0wP3I9PT1pP3ItMjpyKzE6bz09PTY/cj09PTE/cisyOnItMTpyfWlzTnRoV2Vla2RheU9mTW9udGgoZSx0LHIsaSl7bGV0IG89bmV3IERhdGUoRGF0ZS5VVEMoZSx0LHIpKS5nZXRVVENEYXkoKSxuPTA7Zm9yKGxldCBsPTE7bDw9cjtsKyspbmV3IERhdGUoRGF0ZS5VVEMoZSx0LGwpKS5nZXRVVENEYXkoKT09PW8mJm4rKztpZihpJjYzJiZQc3Rbbi0xXSZpKXJldHVybiEwO2lmKGkmMzIpe2xldCBsPXRoaXMuZ2V0TGFzdERheU9mTW9udGgoZSx0KTtmb3IobGV0IGQ9cisxO2Q8PWw7ZCsrKWlmKG5ldyBEYXRlKERhdGUuVVRDKGUsdCxkKSkuZ2V0VVRDRGF5KCk9PT1vKXJldHVybiExO3JldHVybiEwfXJldHVybiExfWZyb21EYXRlKGUpe2lmKHRoaXMudHohPT12b2lkIDApaWYodHlwZW9mIHRoaXMudHo9PSJudW1iZXIiKXRoaXMubXM9ZS5nZXRVVENNaWxsaXNlY29uZHMoKSx0aGlzLnNlY29uZD1lLmdldFVUQ1NlY29uZHMoKSx0aGlzLm1pbnV0ZT1lLmdldFVUQ01pbnV0ZXMoKSt0aGlzLnR6LHRoaXMuaG91cj1lLmdldFVUQ0hvdXJzKCksdGhpcy5kYXk9ZS5nZXRVVENEYXRlKCksdGhpcy5tb250aD1lLmdldFVUQ01vbnRoKCksdGhpcy55ZWFyPWUuZ2V0VVRDRnVsbFllYXIoKSx0aGlzLmFwcGx5KCk7ZWxzZSB0cnl7bGV0IHQ9YzkoZSx0aGlzLnR6KTt0aGlzLm1zPWUuZ2V0TWlsbGlzZWNvbmRzKCksdGhpcy5zZWNvbmQ9dC5zLHRoaXMubWludXRlPXQuaSx0aGlzLmhvdXI9dC5oLHRoaXMuZGF5PXQuZCx0aGlzLm1vbnRoPXQubS0xLHRoaXMueWVhcj10Lnl9Y2F0Y2godCl7bGV0IHI9dCBpbnN0YW5jZW9mIEVycm9yP3QubWVzc2FnZTpTdHJpbmcodCk7dGhyb3cgbmV3IFR5cGVFcnJvcihgQ3JvbkRhdGU6IEZhaWxlZCB0byBjb252ZXJ0IGRhdGUgdG8gdGltZXpvbmUgJyR7dGhpcy50en0nLiBUaGlzIG1heSBoYXBwZW4gd2l0aCBpbnZhbGlkIHRpbWV6b25lIG5hbWVzIG9yIGRhdGVzLiBPcmlnaW5hbCBlcnJvcjogJHtyfWApfWVsc2UgdGhpcy5tcz1lLmdldE1pbGxpc2Vjb25kcygpLHRoaXMuc2Vjb25kPWUuZ2V0U2Vjb25kcygpLHRoaXMubWludXRlPWUuZ2V0TWludXRlcygpLHRoaXMuaG91cj1lLmdldEhvdXJzKCksdGhpcy5kYXk9ZS5nZXREYXRlKCksdGhpcy5tb250aD1lLmdldE1vbnRoKCksdGhpcy55ZWFyPWUuZ2V0RnVsbFllYXIoKX1mcm9tQ3JvbkRhdGUoZSl7dGhpcy50ej1lLnR6LHRoaXMueWVhcj1lLnllYXIsdGhpcy5tb250aD1lLm1vbnRoLHRoaXMuZGF5PWUuZGF5LHRoaXMuaG91cj1lLmhvdXIsdGhpcy5taW51dGU9ZS5taW51dGUsdGhpcy5zZWNvbmQ9ZS5zZWNvbmQsdGhpcy5tcz1lLm1zfWFwcGx5KCl7aWYodGhpcy5tb250aD4xMXx8dGhpcy5tb250aDwwfHx0aGlzLmRheT5jMmVbdGhpcy5tb250aF18fHRoaXMuZGF5PDF8fHRoaXMuaG91cj41OXx8dGhpcy5taW51dGU+NTl8fHRoaXMuc2Vjb25kPjU5fHx0aGlzLmhvdXI8MHx8dGhpcy5taW51dGU8MHx8dGhpcy5zZWNvbmQ8MCl7bGV0IGU9bmV3IERhdGUoRGF0ZS5VVEModGhpcy55ZWFyLHRoaXMubW9udGgsdGhpcy5kYXksdGhpcy5ob3VyLHRoaXMubWludXRlLHRoaXMuc2Vjb25kLHRoaXMubXMpKTtyZXR1cm4gdGhpcy5tcz1lLmdldFVUQ01pbGxpc2Vjb25kcygpLHRoaXMuc2Vjb25kPWUuZ2V0VVRDU2Vjb25kcygpLHRoaXMubWludXRlPWUuZ2V0VVRDTWludXRlcygpLHRoaXMuaG91cj1lLmdldFVUQ0hvdXJzKCksdGhpcy5kYXk9ZS5nZXRVVENEYXRlKCksdGhpcy5tb250aD1lLmdldFVUQ01vbnRoKCksdGhpcy55ZWFyPWUuZ2V0VVRDRnVsbFllYXIoKSwhMH1lbHNlIHJldHVybiExfWZyb21TdHJpbmcoZSl7aWYodHlwZW9mIHRoaXMudHo9PSJudW1iZXIiKXtsZXQgdD1Bc3QoZSk7dGhpcy5tcz10LmdldFVUQ01pbGxpc2Vjb25kcygpLHRoaXMuc2Vjb25kPXQuZ2V0VVRDU2Vjb25kcygpLHRoaXMubWludXRlPXQuZ2V0VVRDTWludXRlcygpLHRoaXMuaG91cj10LmdldFVUQ0hvdXJzKCksdGhpcy5kYXk9dC5nZXRVVENEYXRlKCksdGhpcy5tb250aD10LmdldFVUQ01vbnRoKCksdGhpcy55ZWFyPXQuZ2V0VVRDRnVsbFllYXIoKSx0aGlzLmFwcGx5KCl9ZWxzZSByZXR1cm4gdGhpcy5mcm9tRGF0ZShBc3QoZSx0aGlzLnR6KSl9ZmluZE5leHQoZSx0LHIsaSl7cmV0dXJuIHRoaXMuX2ZpbmRNYXRjaChlLHQscixpLDEpfV9maW5kTWF0Y2goZSx0LHIsaSxvKXtsZXQgbj10aGlzW3RdLGw7ci5sYXN0RGF5T2ZNb250aCYmKGw9dGhpcy5nZXRMYXN0RGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCkpO2xldCBkPSFyLnN0YXJET1cmJnQ9PSJkYXkiP25ldyBEYXRlKERhdGUuVVRDKHRoaXMueWVhcix0aGlzLm1vbnRoLDEsMCwwLDAsMCkpLmdldFVUQ0RheSgpOnZvaWQgMCxjPXRoaXNbdF0raSxwPW89PT0xP3U9PnU8clt0XS5sZW5ndGg6dT0+dT49MDtmb3IobGV0IHU9YztwKHUpO3UrPW8pe2xldCBtPXJbdF1bdV07aWYodD09PSJkYXkiJiYhbSl7Zm9yKGxldCB2PTA7djxyLm5lYXJlc3RXZWVrZGF5cy5sZW5ndGg7disrKWlmKHIubmVhcmVzdFdlZWtkYXlzW3ZdKXtsZXQgeD10aGlzLmdldE5lYXJlc3RXZWVrZGF5KHRoaXMueWVhcix0aGlzLm1vbnRoLHYtaSk7aWYoeD09PS0xKWNvbnRpbnVlO2lmKHg9PT11LWkpe209MTticmVha319fWlmKHQ9PT0iZGF5IiYmci5sYXN0V2Vla2RheSl7bGV0IHY9dGhpcy5nZXRMYXN0V2Vla2RheSh0aGlzLnllYXIsdGhpcy5tb250aCk7dS1pPT09diYmKG09MSl9aWYodD09PSJkYXkiJiZyLmxhc3REYXlPZk1vbnRoJiZ1LWk9PWwmJihtPTEpLHQ9PT0iZGF5IiYmIXIuc3RhckRPVyl7bGV0IHY9ci5kYXlPZldlZWtbKGQrKHUtaS0xKSklN107aWYodiYmdiY2Myl2PXRoaXMuaXNOdGhXZWVrZGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCx1LWksdik/MTowO2Vsc2UgaWYodil0aHJvdyBuZXcgRXJyb3IoYENyb25EYXRlOiBJbnZhbGlkIHZhbHVlIGZvciBkYXlPZldlZWsgZW5jb3VudGVyZWQuICR7dn1gKTtyLnVzZUFuZExvZ2ljP209bSYmdjohZS5kb21BbmREb3cmJiFyLnN0YXJET00/bT1tfHx2Om09bSYmdn1pZihtKXJldHVybiB0aGlzW3RdPXUtaSxuIT09dGhpc1t0XT8yOjF9cmV0dXJuIDN9cmVjdXJzZShlLHQscil7aWYocj09PTAmJiFlLnN0YXJZZWFyKXtpZih0aGlzLnllYXI+PTAmJnRoaXMueWVhcjxlLnllYXIubGVuZ3RoJiZlLnllYXJbdGhpcy55ZWFyXT09PTApe2xldCBvPS0xO2ZvcihsZXQgbj10aGlzLnllYXIrMTtuPGUueWVhci5sZW5ndGgmJm48MWU0O24rKylpZihlLnllYXJbbl09PT0xKXtvPW47YnJlYWt9aWYobz09PS0xKXJldHVybiBudWxsO3RoaXMueWVhcj1vLHRoaXMubW9udGg9MCx0aGlzLmRheT0xLHRoaXMuaG91cj0wLHRoaXMubWludXRlPTAsdGhpcy5zZWNvbmQ9MCx0aGlzLm1zPTB9aWYodGhpcy55ZWFyPj0xZTQpcmV0dXJuIG51bGx9bGV0IGk9dGhpcy5maW5kTmV4dCh0LHVyW3JdWzBdLGUsdXJbcl1bMl0pO2lmKGk+MSl7bGV0IG89cisxO2Zvcig7bzx1ci5sZW5ndGg7KXRoaXNbdXJbb11bMF1dPS11cltvXVsyXSxvKys7aWYoaT09PTMpe2lmKHRoaXNbdXJbcl1bMV1dKyssdGhpc1t1cltyXVswXV09LXVyW3JdWzJdLHRoaXMuYXBwbHkoKSxyPT09MCYmIWUuc3RhclllYXIpe2Zvcig7dGhpcy55ZWFyPj0wJiZ0aGlzLnllYXI8ZS55ZWFyLmxlbmd0aCYmZS55ZWFyW3RoaXMueWVhcl09PT0wJiZ0aGlzLnllYXI8MWU0Oyl0aGlzLnllYXIrKztpZih0aGlzLnllYXI+PTFlNHx8dGhpcy55ZWFyPj1lLnllYXIubGVuZ3RoKXJldHVybiBudWxsfXJldHVybiB0aGlzLnJlY3Vyc2UoZSx0LDApfWVsc2UgaWYodGhpcy5hcHBseSgpKXJldHVybiB0aGlzLnJlY3Vyc2UoZSx0LHItMSl9cmV0dXJuIHIrPTEscj49dXIubGVuZ3RoP3RoaXM6KGUuc3RhclllYXI/dGhpcy55ZWFyPj0zZTM6dGhpcy55ZWFyPj0xZTQpP251bGw6dGhpcy5yZWN1cnNlKGUsdCxyKX1pbmNyZW1lbnQoZSx0LHIpe3JldHVybiB0aGlzLnNlY29uZCs9dC5pbnRlcnZhbCE9PXZvaWQgMCYmdC5pbnRlcnZhbD4xJiZyP3QuaW50ZXJ2YWw6MSx0aGlzLm1zPTAsdGhpcy5hcHBseSgpLHRoaXMucmVjdXJzZShlLHQsMCl9ZGVjcmVtZW50KGUsdCl7cmV0dXJuIHRoaXMuc2Vjb25kLT10LmludGVydmFsIT09dm9pZCAwJiZ0LmludGVydmFsPjE/dC5pbnRlcnZhbDoxLHRoaXMubXM9MCx0aGlzLmFwcGx5KCksdGhpcy5yZWN1cnNlQmFja3dhcmQoZSx0LDAsMCl9cmVjdXJzZUJhY2t3YXJkKGUsdCxyLGk9MCl7aWYoaT4xZTQpcmV0dXJuIG51bGw7aWYocj09PTAmJiFlLnN0YXJZZWFyKXtpZih0aGlzLnllYXI+PTAmJnRoaXMueWVhcjxlLnllYXIubGVuZ3RoJiZlLnllYXJbdGhpcy55ZWFyXT09PTApe2xldCBuPS0xO2ZvcihsZXQgbD10aGlzLnllYXItMTtsPj0wO2wtLSlpZihlLnllYXJbbF09PT0xKXtuPWw7YnJlYWt9aWYobj09PS0xKXJldHVybiBudWxsO3RoaXMueWVhcj1uLHRoaXMubW9udGg9MTEsdGhpcy5kYXk9MzEsdGhpcy5ob3VyPTIzLHRoaXMubWludXRlPTU5LHRoaXMuc2Vjb25kPTU5LHRoaXMubXM9MH1pZih0aGlzLnllYXI8MClyZXR1cm4gbnVsbH1sZXQgbz10aGlzLmZpbmRQcmV2aW91cyh0LHVyW3JdWzBdLGUsdXJbcl1bMl0pO2lmKG8+MSl7bGV0IG49cisxO2Zvcig7bjx1ci5sZW5ndGg7KXtsZXQgbD11cltuXVswXSxkPXVyW25dWzJdLGM9dGhpcy5nZXRNYXhQYXR0ZXJuVmFsdWUobCxlLGQpO3RoaXNbbF09YyxuKyt9aWYobz09PTMpe2lmKHRoaXNbdXJbcl1bMV1dLS0scj09PTApe2xldCBwPXRoaXMuZ2V0TGFzdERheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgpO3RoaXMuZGF5PnAmJih0aGlzLmRheT1wKX1pZihyPT09MSlpZih0aGlzLmRheTw9MCl0aGlzLmRheT0xO2Vsc2V7bGV0IHA9dGhpcy55ZWFyLHU9dGhpcy5tb250aDtmb3IoO3U8MDspdSs9MTIscC0tO2Zvcig7dT4xMTspdS09MTIscCsrO2xldCBtPXUhPT0xP2MyZVt1XTpuZXcgRGF0ZShEYXRlLlVUQyhwLHUrMSwwKSkuZ2V0VVRDRGF0ZSgpO3RoaXMuZGF5Pm0mJih0aGlzLmRheT1tKX10aGlzLmFwcGx5KCk7bGV0IGw9dXJbcl1bMF0sZD11cltyXVsyXSxjPXRoaXMuZ2V0TWF4UGF0dGVyblZhbHVlKGwsZSxkKTtpZihsPT09ImRheSIpe2xldCBwPXRoaXMuZ2V0TGFzdERheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgpO3RoaXNbbF09TWF0aC5taW4oYyxwKX1lbHNlIHRoaXNbbF09YztpZih0aGlzLmFwcGx5KCkscj09PTApe2xldCBwPXVyWzFdWzJdLHU9dGhpcy5nZXRNYXhQYXR0ZXJuVmFsdWUoImRheSIsZSxwKSxtPXRoaXMuZ2V0TGFzdERheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgpLHY9TWF0aC5taW4odSxtKTt2IT09dGhpcy5kYXkmJih0aGlzLmRheT12LHRoaXMuaG91cj10aGlzLmdldE1heFBhdHRlcm5WYWx1ZSgiaG91ciIsZSx1clsyXVsyXSksdGhpcy5taW51dGU9dGhpcy5nZXRNYXhQYXR0ZXJuVmFsdWUoIm1pbnV0ZSIsZSx1clszXVsyXSksdGhpcy5zZWNvbmQ9dGhpcy5nZXRNYXhQYXR0ZXJuVmFsdWUoInNlY29uZCIsZSx1cls0XVsyXSkpfWlmKHI9PT0wJiYhZS5zdGFyWWVhcil7Zm9yKDt0aGlzLnllYXI+PTAmJnRoaXMueWVhcjxlLnllYXIubGVuZ3RoJiZlLnllYXJbdGhpcy55ZWFyXT09PTA7KXRoaXMueWVhci0tO2lmKHRoaXMueWVhcjwwKXJldHVybiBudWxsfXJldHVybiB0aGlzLnJlY3Vyc2VCYWNrd2FyZChlLHQsMCxpKzEpfWVsc2UgaWYodGhpcy5hcHBseSgpKXJldHVybiB0aGlzLnJlY3Vyc2VCYWNrd2FyZChlLHQsci0xLGkrMSl9cmV0dXJuIHIrPTEscj49dXIubGVuZ3RoP3RoaXM6dGhpcy55ZWFyPDA/bnVsbDp0aGlzLnJlY3Vyc2VCYWNrd2FyZChlLHQscixpKzEpfWdldE1heFBhdHRlcm5WYWx1ZShlLHQscil7aWYoZT09PSJkYXkiJiZ0Lmxhc3REYXlPZk1vbnRoKXJldHVybiB0aGlzLmdldExhc3REYXlPZk1vbnRoKHRoaXMueWVhcix0aGlzLm1vbnRoKTtpZihlPT09ImRheSImJiF0LnN0YXJET1cpcmV0dXJuIHRoaXMuZ2V0TGFzdERheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgpO2ZvcihsZXQgaT10W2VdLmxlbmd0aC0xO2k+PTA7aS0tKWlmKHRbZV1baV0pcmV0dXJuIGktcjtyZXR1cm4gdFtlXS5sZW5ndGgtMS1yfWZpbmRQcmV2aW91cyhlLHQscixpKXtyZXR1cm4gdGhpcy5fZmluZE1hdGNoKGUsdCxyLGksLTEpfWdldERhdGUoZSl7cmV0dXJuIGV8fHRoaXMudHo9PT12b2lkIDA/bmV3IERhdGUodGhpcy55ZWFyLHRoaXMubW9udGgsdGhpcy5kYXksdGhpcy5ob3VyLHRoaXMubWludXRlLHRoaXMuc2Vjb25kLHRoaXMubXMpOnR5cGVvZiB0aGlzLnR6PT0ibnVtYmVyIj9uZXcgRGF0ZShEYXRlLlVUQyh0aGlzLnllYXIsdGhpcy5tb250aCx0aGlzLmRheSx0aGlzLmhvdXIsdGhpcy5taW51dGUtdGhpcy50eix0aGlzLnNlY29uZCx0aGlzLm1zKSk6RXN0KGwyZSh0aGlzLnllYXIsdGhpcy5tb250aCsxLHRoaXMuZGF5LHRoaXMuaG91cix0aGlzLm1pbnV0ZSx0aGlzLnNlY29uZCx0aGlzLnR6KSwhMSl9Z2V0VGltZSgpe3JldHVybiB0aGlzLmdldERhdGUoITEpLmdldFRpbWUoKX1tYXRjaChlLHQpe2lmKCFlLnN0YXJZZWFyJiYodGhpcy55ZWFyPDB8fHRoaXMueWVhcj49ZS55ZWFyLmxlbmd0aHx8ZS55ZWFyW3RoaXMueWVhcl09PT0wKSlyZXR1cm4hMTtmb3IobGV0IHI9MDtyPHVyLmxlbmd0aDtyKyspe2xldCBpPXVyW3JdWzBdLG89dXJbcl1bMl0sbj10aGlzW2ldO2lmKG4rbzwwfHxuK28+PWVbaV0ubGVuZ3RoKXJldHVybiExO2xldCBsPWVbaV1bbitvXTtpZihpPT09ImRheSIpe2lmKCFsKXtmb3IobGV0IGQ9MDtkPGUubmVhcmVzdFdlZWtkYXlzLmxlbmd0aDtkKyspaWYoZS5uZWFyZXN0V2Vla2RheXNbZF0pe2xldCBjPXRoaXMuZ2V0TmVhcmVzdFdlZWtkYXkodGhpcy55ZWFyLHRoaXMubW9udGgsZC1vKTtpZihjIT09LTEmJmM9PT1uKXtsPTE7YnJlYWt9fX1pZihlLmxhc3RXZWVrZGF5KXtsZXQgZD10aGlzLmdldExhc3RXZWVrZGF5KHRoaXMueWVhcix0aGlzLm1vbnRoKTtuPT09ZCYmKGw9MSl9aWYoZS5sYXN0RGF5T2ZNb250aCl7bGV0IGQ9dGhpcy5nZXRMYXN0RGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCk7bj09PWQmJihsPTEpfWlmKCFlLnN0YXJET1cpe2xldCBkPW5ldyBEYXRlKERhdGUuVVRDKHRoaXMueWVhcix0aGlzLm1vbnRoLDEsMCwwLDAsMCkpLmdldFVUQ0RheSgpLGM9ZS5kYXlPZldlZWtbKGQrKG4tMSkpJTddO2MmJmMmNjMmJihjPXRoaXMuaXNOdGhXZWVrZGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCxuLGMpPzE6MCksZS51c2VBbmRMb2dpYz9sPWwmJmM6IXQuZG9tQW5kRG93JiYhZS5zdGFyRE9NP2w9bHx8YzpsPWwmJmN9fWlmKCFsKXJldHVybiExfXJldHVybiEwfX07cygkOWEsIlIiKTtzKGQ5LCJwIik7cyhEOWEsIl8iKTtzKEE5YSwieCIpO0lzdD0zMCoxZTMsZmg9W10sUnN0PWNsYXNze3N0YXRpY3tzKHRoaXMsIkUiKX1uYW1lO29wdGlvbnM7X3N0YXRlcztmbjtnZXRUeigpe3JldHVybiB0aGlzLm9wdGlvbnMudGltZXpvbmV8fHRoaXMub3B0aW9ucy51dGNPZmZzZXR9YXBwbHlEYXlPZmZzZXQoYSl7aWYodGhpcy5vcHRpb25zLmRheU9mZnNldCE9PXZvaWQgMCYmdGhpcy5vcHRpb25zLmRheU9mZnNldCE9PTApe2xldCBlPXRoaXMub3B0aW9ucy5kYXlPZmZzZXQqMjQqNjAqNjAqMWUzO3JldHVybiBuZXcgRGF0ZShhLmdldFRpbWUoKStlKX1yZXR1cm4gYX1jb25zdHJ1Y3RvcihhLGUsdCl7bGV0IHIsaTtpZihkOShlKSlpPWU7ZWxzZSBpZih0eXBlb2YgZT09Im9iamVjdCIpcj1lO2Vsc2UgaWYoZSE9PXZvaWQgMCl0aHJvdyBuZXcgRXJyb3IoIkNyb246IEludmFsaWQgYXJndW1lbnQgcGFzc2VkIGZvciBvcHRpb25zSW4uIFNob3VsZCBiZSBvbmUgb2YgZnVuY3Rpb24sIG9yIG9iamVjdCAob3B0aW9ucykuIik7aWYoZDkodCkpaT10O2Vsc2UgaWYodHlwZW9mIHQ9PSJvYmplY3QiKXI9dDtlbHNlIGlmKHQhPT12b2lkIDApdGhyb3cgbmV3IEVycm9yKCJDcm9uOiBJbnZhbGlkIGFyZ3VtZW50IHBhc3NlZCBmb3IgZnVuY0luLiBTaG91bGQgYmUgb25lIG9mIGZ1bmN0aW9uLCBvciBvYmplY3QgKG9wdGlvbnMpLiIpO2lmKHRoaXMubmFtZT1yPy5uYW1lLHRoaXMub3B0aW9ucz0kOWEociksdGhpcy5fc3RhdGVzPXtraWxsOiExLGJsb2NraW5nOiExLHByZXZpb3VzUnVuOnZvaWQgMCxjdXJyZW50UnVuOnZvaWQgMCxvbmNlOnZvaWQgMCxjdXJyZW50VGltZW91dDp2b2lkIDAsbWF4UnVuczpyP3IubWF4UnVuczp2b2lkIDAscGF1c2VkOnI/ci5wYXVzZWQ6ITEscGF0dGVybjpuZXcgWlkoIiogKiAqICogKiIsdm9pZCAwLHttb2RlOiJhdXRvIn0pfSxhJiYoYSBpbnN0YW5jZW9mIERhdGV8fHR5cGVvZiBhPT0ic3RyaW5nIiYmYS5pbmRleE9mKCI6Iik+MCk/dGhpcy5fc3RhdGVzLm9uY2U9bmV3IHpzKGEsdGhpcy5nZXRUeigpKTp0aGlzLl9zdGF0ZXMucGF0dGVybj1uZXcgWlkoYSx0aGlzLm9wdGlvbnMudGltZXpvbmUse21vZGU6dGhpcy5vcHRpb25zLm1vZGUsYWx0ZXJuYXRpdmVXZWVrZGF5czp0aGlzLm9wdGlvbnMuYWx0ZXJuYXRpdmVXZWVrZGF5cyxzbG9wcHlSYW5nZXM6dGhpcy5vcHRpb25zLnNsb3BweVJhbmdlc30pLHRoaXMubmFtZSl7aWYoZmguZmluZChvPT5vLm5hbWU9PT10aGlzLm5hbWUpKXRocm93IG5ldyBFcnJvcigiQ3JvbjogVHJpZWQgdG8gaW5pdGlhbGl6ZSBuZXcgbmFtZWQgam9iICciK3RoaXMubmFtZSsiJywgYnV0IG5hbWUgYWxyZWFkeSB0YWtlbi4iKTtmaC5wdXNoKHRoaXMpfXJldHVybiBpIT09dm9pZCAwJiZEOWEoaSkmJih0aGlzLmZuPWksdGhpcy5zY2hlZHVsZSgpKSx0aGlzfW5leHRSdW4oYSl7bGV0IGU9dGhpcy5fbmV4dChhKTtyZXR1cm4gZT90aGlzLmFwcGx5RGF5T2Zmc2V0KGUuZ2V0RGF0ZSghMSkpOm51bGx9bmV4dFJ1bnMoYSxlKXt0aGlzLl9zdGF0ZXMubWF4UnVucyE9PXZvaWQgMCYmYT50aGlzLl9zdGF0ZXMubWF4UnVucyYmKGE9dGhpcy5fc3RhdGVzLm1heFJ1bnMpO2xldCB0PWV8fHRoaXMuX3N0YXRlcy5jdXJyZW50UnVufHx2b2lkIDA7cmV0dXJuIHRoaXMuX2VudW1lcmF0ZVJ1bnMoYSx0LCJuZXh0Iil9cHJldmlvdXNSdW5zKGEsZSl7cmV0dXJuIHRoaXMuX2VudW1lcmF0ZVJ1bnMoYSxlfHx2b2lkIDAsInByZXZpb3VzIil9X2VudW1lcmF0ZVJ1bnMoYSxlLHQpe2xldCByPVtdLGk9ZT9uZXcgenMoZSx0aGlzLmdldFR6KCkpOm51bGwsbz10PT09Im5leHQiP3RoaXMuX25leHQ6dGhpcy5fcHJldmlvdXM7Zm9yKDthLS07KXtsZXQgbj1vLmNhbGwodGhpcyxpKTtpZighbilicmVhaztsZXQgbD1uLmdldERhdGUoITEpO3IucHVzaCh0aGlzLmFwcGx5RGF5T2Zmc2V0KGwpKSxpPW59cmV0dXJuIHJ9bWF0Y2goYSl7aWYodGhpcy5fc3RhdGVzLm9uY2Upe2xldCB0PW5ldyB6cyhhLHRoaXMuZ2V0VHooKSk7dC5tcz0wO2xldCByPW5ldyB6cyh0aGlzLl9zdGF0ZXMub25jZSx0aGlzLmdldFR6KCkpO3JldHVybiByLm1zPTAsdC5nZXRUaW1lKCk9PT1yLmdldFRpbWUoKX1sZXQgZT1uZXcgenMoYSx0aGlzLmdldFR6KCkpO3JldHVybiBlLm1zPTAsZS5tYXRjaCh0aGlzLl9zdGF0ZXMucGF0dGVybix0aGlzLm9wdGlvbnMpfWdldFBhdHRlcm4oKXtpZighdGhpcy5fc3RhdGVzLm9uY2UpcmV0dXJuIHRoaXMuX3N0YXRlcy5wYXR0ZXJuP3RoaXMuX3N0YXRlcy5wYXR0ZXJuLnBhdHRlcm46dm9pZCAwfWdldE9uY2UoKXtyZXR1cm4gdGhpcy5fc3RhdGVzLm9uY2U/dGhpcy5fc3RhdGVzLm9uY2UuZ2V0RGF0ZSgpOm51bGx9aXNSdW5uaW5nKCl7bGV0IGE9dGhpcy5uZXh0UnVuKHRoaXMuX3N0YXRlcy5jdXJyZW50UnVuKSxlPSF0aGlzLl9zdGF0ZXMucGF1c2VkLHQ9dGhpcy5mbiE9PXZvaWQgMCxyPSF0aGlzLl9zdGF0ZXMua2lsbDtyZXR1cm4gZSYmdCYmciYmYSE9PW51bGx9aXNTdG9wcGVkKCl7cmV0dXJuIHRoaXMuX3N0YXRlcy5raWxsfWlzQnVzeSgpe3JldHVybiB0aGlzLl9zdGF0ZXMuYmxvY2tpbmd9Y3VycmVudFJ1bigpe3JldHVybiB0aGlzLl9zdGF0ZXMuY3VycmVudFJ1bj90aGlzLl9zdGF0ZXMuY3VycmVudFJ1bi5nZXREYXRlKCk6bnVsbH1wcmV2aW91c1J1bigpe3JldHVybiB0aGlzLl9zdGF0ZXMucHJldmlvdXNSdW4/dGhpcy5fc3RhdGVzLnByZXZpb3VzUnVuLmdldERhdGUoKTpudWxsfW1zVG9OZXh0KGEpe2xldCBlPXRoaXMuX25leHQoYSk7cmV0dXJuIGU/YSBpbnN0YW5jZW9mIHpzfHxhIGluc3RhbmNlb2YgRGF0ZT9lLmdldFRpbWUoKS1hLmdldFRpbWUoKTplLmdldFRpbWUoKS1uZXcgenMoYSkuZ2V0VGltZSgpOm51bGx9c3RvcCgpe3RoaXMuX3N0YXRlcy5raWxsPSEwLHRoaXMuX3N0YXRlcy5jdXJyZW50VGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuX3N0YXRlcy5jdXJyZW50VGltZW91dCk7bGV0IGE9ZmguaW5kZXhPZih0aGlzKTthPj0wJiZmaC5zcGxpY2UoYSwxKX1wYXVzZSgpe3JldHVybiB0aGlzLl9zdGF0ZXMucGF1c2VkPSEwLCF0aGlzLl9zdGF0ZXMua2lsbH1yZXN1bWUoKXtyZXR1cm4gdGhpcy5fc3RhdGVzLnBhdXNlZD0hMSwhdGhpcy5fc3RhdGVzLmtpbGx9c2NoZWR1bGUoYSl7aWYoYSYmdGhpcy5mbil0aHJvdyBuZXcgRXJyb3IoIkNyb246IEl0IGlzIG5vdCBhbGxvd2VkIHRvIHNjaGVkdWxlIHR3byBmdW5jdGlvbnMgdXNpbmcgdGhlIHNhbWUgQ3JvbmVyIGluc3RhbmNlLiIpO2EmJih0aGlzLmZuPWEpO2xldCBlPXRoaXMubXNUb05leHQoKSx0PXRoaXMubmV4dFJ1bih0aGlzLl9zdGF0ZXMuY3VycmVudFJ1bik7cmV0dXJuIGU9PW51bGx8fGlzTmFOKGUpfHx0PT09bnVsbD90aGlzOihlPklzdCYmKGU9SXN0KSx0aGlzLl9zdGF0ZXMuY3VycmVudFRpbWVvdXQ9c2V0VGltZW91dCgoKT0+dGhpcy5fY2hlY2tUcmlnZ2VyKHQpLGUpLHRoaXMuX3N0YXRlcy5jdXJyZW50VGltZW91dCYmdGhpcy5vcHRpb25zLnVucmVmJiZBOWEodGhpcy5fc3RhdGVzLmN1cnJlbnRUaW1lb3V0KSx0aGlzKX1hc3luYyBfdHJpZ2dlcihhKXt0aGlzLl9zdGF0ZXMuYmxvY2tpbmc9ITAsdGhpcy5fc3RhdGVzLmN1cnJlbnRSdW49bmV3IHpzKHZvaWQgMCx0aGlzLmdldFR6KCkpO3RyeXtpZih0aGlzLm9wdGlvbnMuY2F0Y2gpdHJ5e3RoaXMuZm4hPT12b2lkIDAmJmF3YWl0IHRoaXMuZm4odGhpcyx0aGlzLm9wdGlvbnMuY29udGV4dCl9Y2F0Y2goZSl7aWYoZDkodGhpcy5vcHRpb25zLmNhdGNoKSl0cnl7dGhpcy5vcHRpb25zLmNhdGNoKGUsdGhpcyl9Y2F0Y2h7fX1lbHNlIHRoaXMuZm4hPT12b2lkIDAmJmF3YWl0IHRoaXMuZm4odGhpcyx0aGlzLm9wdGlvbnMuY29udGV4dCl9ZmluYWxseXt0aGlzLl9zdGF0ZXMucHJldmlvdXNSdW49bmV3IHpzKGEsdGhpcy5nZXRUeigpKSx0aGlzLl9zdGF0ZXMuYmxvY2tpbmc9ITF9fWFzeW5jIHRyaWdnZXIoKXthd2FpdCB0aGlzLl90cmlnZ2VyKCl9cnVuc0xlZnQoKXtyZXR1cm4gdGhpcy5fc3RhdGVzLm1heFJ1bnN9X2NoZWNrVHJpZ2dlcihhKXtsZXQgZT1uZXcgRGF0ZSx0PSF0aGlzLl9zdGF0ZXMucGF1c2VkJiZlLmdldFRpbWUoKT49YS5nZXRUaW1lKCkscj10aGlzLl9zdGF0ZXMuYmxvY2tpbmcmJnRoaXMub3B0aW9ucy5wcm90ZWN0O3QmJiFyPyh0aGlzLl9zdGF0ZXMubWF4UnVucyE9PXZvaWQgMCYmdGhpcy5fc3RhdGVzLm1heFJ1bnMtLSx0aGlzLl90cmlnZ2VyKCkpOnQmJnImJmQ5KHRoaXMub3B0aW9ucy5wcm90ZWN0KSYmc2V0VGltZW91dCgoKT0+dGhpcy5vcHRpb25zLnByb3RlY3QodGhpcyksMCksdGhpcy5zY2hlZHVsZSgpfV9uZXh0KGEpe2xldCBlPSEhKGF8fHRoaXMuX3N0YXRlcy5jdXJyZW50UnVuKSx0PSExOyFhJiZ0aGlzLm9wdGlvbnMuc3RhcnRBdCYmdGhpcy5vcHRpb25zLmludGVydmFsJiYoW2EsZV09dGhpcy5fY2FsY3VsYXRlUHJldmlvdXNSdW4oYSxlKSx0PSFhKSxhPW5ldyB6cyhhLHRoaXMuZ2V0VHooKSksdGhpcy5vcHRpb25zLnN0YXJ0QXQmJmEmJmEuZ2V0VGltZSgpPHRoaXMub3B0aW9ucy5zdGFydEF0LmdldFRpbWUoKSYmKGE9dGhpcy5vcHRpb25zLnN0YXJ0QXQpO2xldCByPXRoaXMuX3N0YXRlcy5vbmNlfHxuZXcgenMoYSx0aGlzLmdldFR6KCkpO3JldHVybiF0JiZyIT09dGhpcy5fc3RhdGVzLm9uY2UmJihyPXIuaW5jcmVtZW50KHRoaXMuX3N0YXRlcy5wYXR0ZXJuLHRoaXMub3B0aW9ucyxlKSksdGhpcy5fc3RhdGVzLm9uY2UmJnRoaXMuX3N0YXRlcy5vbmNlLmdldFRpbWUoKTw9YS5nZXRUaW1lKCl8fHI9PT1udWxsfHx0aGlzLl9zdGF0ZXMubWF4UnVucyE9PXZvaWQgMCYmdGhpcy5fc3RhdGVzLm1heFJ1bnM8PTB8fHRoaXMuX3N0YXRlcy5raWxsfHx0aGlzLm9wdGlvbnMuc3RvcEF0JiZyLmdldFRpbWUoKT49dGhpcy5vcHRpb25zLnN0b3BBdC5nZXRUaW1lKCk/bnVsbDpyfV9wcmV2aW91cyhhKXtsZXQgZT1uZXcgenMoYSx0aGlzLmdldFR6KCkpO3RoaXMub3B0aW9ucy5zdG9wQXQmJmUuZ2V0VGltZSgpPnRoaXMub3B0aW9ucy5zdG9wQXQuZ2V0VGltZSgpJiYoZT10aGlzLm9wdGlvbnMuc3RvcEF0KTtsZXQgdD1uZXcgenMoZSx0aGlzLmdldFR6KCkpO3JldHVybiB0aGlzLl9zdGF0ZXMub25jZT90aGlzLl9zdGF0ZXMub25jZS5nZXRUaW1lKCk8ZS5nZXRUaW1lKCk/dGhpcy5fc3RhdGVzLm9uY2U6bnVsbDoodD10LmRlY3JlbWVudCh0aGlzLl9zdGF0ZXMucGF0dGVybix0aGlzLm9wdGlvbnMpLHQ9PT1udWxsfHx0aGlzLm9wdGlvbnMuc3RhcnRBdCYmdC5nZXRUaW1lKCk8dGhpcy5vcHRpb25zLnN0YXJ0QXQuZ2V0VGltZSgpP251bGw6dCl9X2NhbGN1bGF0ZVByZXZpb3VzUnVuKGEsZSl7bGV0IHQ9bmV3IHpzKHZvaWQgMCx0aGlzLmdldFR6KCkpLHI9YTtpZih0aGlzLm9wdGlvbnMuc3RhcnRBdC5nZXRUaW1lKCk8PXQuZ2V0VGltZSgpKXtyPXRoaXMub3B0aW9ucy5zdGFydEF0O2xldCBpPXIuZ2V0VGltZSgpK3RoaXMub3B0aW9ucy5pbnRlcnZhbCoxZTM7Zm9yKDtpPD10LmdldFRpbWUoKTspcj1uZXcgenMocix0aGlzLmdldFR6KCkpLmluY3JlbWVudCh0aGlzLl9zdGF0ZXMucGF0dGVybix0aGlzLm9wdGlvbnMsITApLGk9ci5nZXRUaW1lKCkrdGhpcy5vcHRpb25zLmludGVydmFsKjFlMztlPSEwfXJldHVybiByPT09bnVsbCYmKHI9dm9pZCAwKSxbcixlXX19fSk7dmFyIFFZLHA5LEU5YSxFaXIsZzIsSlksYmksQm8saGgsZDJlLG8wLG1oLGVLLHRLLGFLLHJLLGIzLGdoLFhZLEZzdCx1MmUscDJlLEJzdCxmMmUsSnQ9ZigoKT0+e1FZPTcscDk9MzY1LjI0MjUsRTlhPU1hdGgucG93KDEwLDgpKjI0KjYwKjYwKjFlMyxFaXI9LUU5YSxnMj02MDQ4ZTUsSlk9ODY0ZTUsYmk9NmU0LEJvPTM2ZTUsaGg9MWUzLGQyZT01MjU2MDAsbzA9NDMyMDAsbWg9MTQ0MCxlSz02MCx0Sz0zLGFLPTEyLHJLPTQsYjM9MzYwMCxnaD02MCxYWT1iMyoyNCxGc3Q9WFkqNyx1MmU9WFkqMzY1LjI0MjUscDJlPXUyZS8xMixCc3Q9cDJlKjMsZjJlPVN5bWJvbC5mb3IoImNvbnN0cnVjdERhdGVGcm9tIil9KTtmdW5jdGlvbiBGZShhLGUpe3JldHVybiB0eXBlb2YgYT09ImZ1bmN0aW9uIj9hKGUpOmEmJnR5cGVvZiBhPT0ib2JqZWN0IiYmZjJlIGluIGE/YVtmMmVdKGUpOmEgaW5zdGFuY2VvZiBEYXRlP25ldyBhLmNvbnN0cnVjdG9yKGUpOm5ldyBEYXRlKGUpfXZhciBOaXIsRHQ9ZigoKT0+e0p0KCk7cyhGZSwiY29uc3RydWN0RnJvbSIpO05pcj1GZX0pO2Z1bmN0aW9uIGtlKGEsZSl7cmV0dXJuIEZlKGV8fGEsYSl9dmFyIEJpcixIZT1mKCgpPT57RHQoKTtzKGtlLCJ0b0RhdGUiKTtCaXI9a2V9KTtmdW5jdGlvbiBDcyhhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbik7cmV0dXJuIGlzTmFOKGUpP0ZlKHQ/LmlufHxhLE5hTik6KGUmJnIuc2V0RGF0ZShyLmdldERhdGUoKStlKSxyKX12YXIgVWlyLGIyPWYoKCk9PntEdCgpO0hlKCk7cyhDcywiYWRkRGF5cyIpO1Vpcj1Dc30pO2Z1bmN0aW9uIHYyKGEsZSx0KXtsZXQgcj1rZShhLHQ/LmluKTtpZihpc05hTihlKSlyZXR1cm4gRmUodD8uaW58fGEsTmFOKTtpZighZSlyZXR1cm4gcjtsZXQgaT1yLmdldERhdGUoKSxvPUZlKHQ/LmlufHxhLHIuZ2V0VGltZSgpKTtvLnNldE1vbnRoKHIuZ2V0TW9udGgoKStlKzEsMCk7bGV0IG49by5nZXREYXRlKCk7cmV0dXJuIGk+PW4/bzooci5zZXRGdWxsWWVhcihvLmdldEZ1bGxZZWFyKCksby5nZXRNb250aCgpLGkpLHIpfXZhciBaaXIsYmg9ZigoKT0+e0R0KCk7SGUoKTtzKHYyLCJhZGRNb250aHMiKTtaaXI9djJ9KTtmdW5jdGlvbiBuMChhLGUsdCl7bGV0e3llYXJzOnI9MCxtb250aHM6aT0wLHdlZWtzOm89MCxkYXlzOm49MCxob3VyczpsPTAsbWludXRlczpkPTAsc2Vjb25kczpjPTB9PWUscD1rZShhLHQ/LmluKSx1PWl8fHI/djIocCxpK3IqMTIpOnAsbT1ufHxvP0NzKHUsbitvKjcpOnUsdj1kK2wqNjAsYj0oYyt2KjYwKSoxZTM7cmV0dXJuIEZlKHQ/LmlufHxhLCttK2IpfXZhciByb3IsaDJlPWYoKCk9PntiMigpO2JoKCk7RHQoKTtIZSgpO3MobjAsImFkZCIpO3Jvcj1uMH0pO2Z1bmN0aW9uIHNLKGEsZSl7cmV0dXJuIGtlKGEsZT8uaW4pLmdldERheSgpPT09Nn12YXIgbm9yLG0yZT1mKCgpPT57SGUoKTtzKHNLLCJpc1NhdHVyZGF5Iik7bm9yPXNLfSk7ZnVuY3Rpb24gaUsoYSxlKXtyZXR1cm4ga2UoYSxlPy5pbikuZ2V0RGF5KCk9PT0wfXZhciB1b3IsZzJlPWYoKCk9PntIZSgpO3MoaUssImlzU3VuZGF5Iik7dW9yPWlLfSk7ZnVuY3Rpb24geDIoYSxlKXtsZXQgdD1rZShhLGU/LmluKS5nZXREYXkoKTtyZXR1cm4gdD09PTB8fHQ9PT02fXZhciBnb3IsZjk9ZigoKT0+e0hlKCk7cyh4MiwiaXNXZWVrZW5kIik7Z29yPXgyfSk7ZnVuY3Rpb24gb0soYSxlLHQpe2xldCByPWtlKGEsdD8uaW4pLGk9eDIocix0KTtpZihpc05hTihlKSlyZXR1cm4gRmUodD8uaW4sTmFOKTtsZXQgbz1yLmdldEhvdXJzKCksbj1lPDA/LTE6MSxsPU1hdGgudHJ1bmMoZS81KTtyLnNldERhdGUoci5nZXREYXRlKCkrbCo3KTtsZXQgZD1NYXRoLmFicyhlJTUpO2Zvcig7ZD4wOylyLnNldERhdGUoci5nZXREYXRlKCkrbikseDIocix0KXx8KGQtPTEpO3JldHVybiBpJiZ4MihyLHQpJiZlIT09MCYmKHNLKHIsdCkmJnIuc2V0RGF0ZShyLmdldERhdGUoKSsobjwwPzI6LTEpKSxpSyhyLHQpJiZyLnNldERhdGUoci5nZXREYXRlKCkrKG48MD8xOi0yKSkpLHIuc2V0SG91cnMobykscn12YXIgU29yLGIyZT1mKCgpPT57RHQoKTttMmUoKTtnMmUoKTtmOSgpO0hlKCk7cyhvSywiYWRkQnVzaW5lc3NEYXlzIik7U29yPW9LfSk7ZnVuY3Rpb24gbDAoYSxlLHQpe3JldHVybiBGZSh0Py5pbnx8YSwra2UoYSkrZSl9dmFyIExvcixoOT1mKCgpPT57RHQoKTtIZSgpO3MobDAsImFkZE1pbGxpc2Vjb25kcyIpO0xvcj1sMH0pO2Z1bmN0aW9uIG5LKGEsZSx0KXtyZXR1cm4gbDAoYSxlKkJvLHQpfXZhciBQb3IsdjJlPWYoKCk9PntoOSgpO0p0KCk7cyhuSywiYWRkSG91cnMiKTtQb3I9bkt9KTtmdW5jdGlvbiBxYSgpe3JldHVybiBIc3R9ZnVuY3Rpb24gcXN0KGEpe0hzdD1hfXZhciBIc3Qsdmk9ZigoKT0+e0hzdD17fTtzKHFhLCJnZXREZWZhdWx0T3B0aW9ucyIpO3MocXN0LCJzZXREZWZhdWx0T3B0aW9ucyIpfSk7ZnVuY3Rpb24gdHIoYSxlKXtsZXQgdD1xYSgpLHI9ZT8ud2Vla1N0YXJ0c09uPz9lPy5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/dC53ZWVrU3RhcnRzT24/P3QubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsaT1rZShhLGU/LmluKSxvPWkuZ2V0RGF5KCksbj0obzxyPzc6MCkrby1yO3JldHVybiBpLnNldERhdGUoaS5nZXREYXRlKCktbiksaS5zZXRIb3VycygwLDAsMCwwKSxpfXZhciBIb3IscjE9ZigoKT0+e3ZpKCk7SGUoKTtzKHRyLCJzdGFydE9mV2VlayIpO0hvcj10cn0pO2Z1bmN0aW9uIG5zKGEsZSl7cmV0dXJuIHRyKGEsey4uLmUsd2Vla1N0YXJ0c09uOjF9KX12YXIgVW9yLHkyPWYoKCk9PntyMSgpO3MobnMsInN0YXJ0T2ZJU09XZWVrIik7VW9yPW5zfSk7ZnVuY3Rpb24gcWkoYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0RnVsbFllYXIoKSxpPUZlKHQsMCk7aS5zZXRGdWxsWWVhcihyKzEsMCw0KSxpLnNldEhvdXJzKDAsMCwwLDApO2xldCBvPW5zKGkpLG49RmUodCwwKTtuLnNldEZ1bGxZZWFyKHIsMCw0KSxuLnNldEhvdXJzKDAsMCwwLDApO2xldCBsPW5zKG4pO3JldHVybiB0LmdldFRpbWUoKT49by5nZXRUaW1lKCk/cisxOnQuZ2V0VGltZSgpPj1sLmdldFRpbWUoKT9yOnItMX12YXIgWG9yLGMwPWYoKCk9PntEdCgpO3kyKCk7SGUoKTtzKHFpLCJnZXRJU09XZWVrWWVhciIpO1hvcj1xaX0pO2Z1bmN0aW9uIElyKGEpe2xldCBlPWtlKGEpLHQ9bmV3IERhdGUoRGF0ZS5VVEMoZS5nZXRGdWxsWWVhcigpLGUuZ2V0TW9udGgoKSxlLmdldERhdGUoKSxlLmdldEhvdXJzKCksZS5nZXRNaW51dGVzKCksZS5nZXRTZWNvbmRzKCksZS5nZXRNaWxsaXNlY29uZHMoKSkpO3JldHVybiB0LnNldFVUQ0Z1bGxZZWFyKGUuZ2V0RnVsbFllYXIoKSksK2EtK3R9dmFyIHpsPWYoKCk9PntIZSgpO3MoSXIsImdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMiKX0pO2Z1bmN0aW9uIFR0KGEsLi4uZSl7bGV0IHQ9RmUuYmluZChudWxsLGF8fGUuZmluZChyPT50eXBlb2Ygcj09Im9iamVjdCIpKTtyZXR1cm4gZS5tYXAodCl9dmFyIFVhPWYoKCk9PntEdCgpO3MoVHQsIm5vcm1hbGl6ZURhdGVzIil9KTtmdW5jdGlvbiB3MihhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldEhvdXJzKDAsMCwwLDApLHR9dmFyIG5ucixtOT1mKCgpPT57SGUoKTtzKHcyLCJzdGFydE9mRGF5Iik7bm5yPXcyfSk7ZnVuY3Rpb24gRnMoYSxlLHQpe2xldFtyLGldPVR0KHQ/LmluLGEsZSksbz13MihyKSxuPXcyKGkpLGw9K28tSXIobyksZD0rbi1JcihuKTtyZXR1cm4gTWF0aC5yb3VuZCgobC1kKS9KWSl9dmFyIGhucixDbD1mKCgpPT57emwoKTtVYSgpO0p0KCk7bTkoKTtzKEZzLCJkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMiKTtobnI9RnN9KTtmdW5jdGlvbiBIbyhhLGUpe2xldCB0PXFpKGEsZSkscj1GZShlPy5pbnx8YSwwKTtyZXR1cm4gci5zZXRGdWxsWWVhcih0LDAsNCksci5zZXRIb3VycygwLDAsMCwwKSxucyhyKX12YXIgeW5yLHZoPWYoKCk9PntEdCgpO2MwKCk7eTIoKTtzKEhvLCJzdGFydE9mSVNPV2Vla1llYXIiKTt5bnI9SG99KTtmdW5jdGlvbiBsSyhhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbiksaT1GcyhyLEhvKHIsdCkpLG89RmUodD8uaW58fGEsMCk7cmV0dXJuIG8uc2V0RnVsbFllYXIoZSwwLDQpLG8uc2V0SG91cnMoMCwwLDAsMCkscj1IbyhvKSxyLnNldERhdGUoci5nZXREYXRlKCkraSkscn12YXIgX25yLHgyZT1mKCgpPT57RHQoKTtDbCgpO3ZoKCk7SGUoKTtzKGxLLCJzZXRJU09XZWVrWWVhciIpO19ucj1sS30pO2Z1bmN0aW9uIGNLKGEsZSx0KXtyZXR1cm4gbEsoYSxxaShhLHQpK2UsdCl9dmFyIEFucix5MmU9ZigoKT0+e2MwKCk7eDJlKCk7cyhjSywiYWRkSVNPV2Vla1llYXJzIik7QW5yPWNLfSk7ZnVuY3Rpb24geGgoYSxlLHQpe2xldCByPWtlKGEsdD8uaW4pO3JldHVybiByLnNldFRpbWUoci5nZXRUaW1lKCkrZSpiaSkscn12YXIgUm5yLGRLPWYoKCk9PntKdCgpO0hlKCk7cyh4aCwiYWRkTWludXRlcyIpO1Jucj14aH0pO2Z1bmN0aW9uIHloKGEsZSx0KXtyZXR1cm4gdjIoYSxlKjMsdCl9dmFyIEhucix1Sz1mKCgpPT57YmgoKTtzKHloLCJhZGRRdWFydGVycyIpO0hucj15aH0pO2Z1bmN0aW9uIHBLKGEsZSx0KXtyZXR1cm4gbDAoYSxlKjFlMyx0KX12YXIgVW5yLHcyZT1mKCgpPT57aDkoKTtzKHBLLCJhZGRTZWNvbmRzIik7VW5yPXBLfSk7ZnVuY3Rpb24gZDAoYSxlLHQpe3JldHVybiBDcyhhLGUqNyx0KX12YXIgS25yLGc5PWYoKCk9PntiMigpO3MoZDAsImFkZFdlZWtzIik7S25yPWQwfSk7ZnVuY3Rpb24gZksoYSxlLHQpe3JldHVybiB2MihhLGUqMTIsdCl9dmFyIEpucixNMmU9ZigoKT0+e2JoKCk7cyhmSywiYWRkWWVhcnMiKTtKbnI9Zkt9KTtmdW5jdGlvbiBWc3QoYSxlLHQpe2xldFtyLGldPVsra2UoYS5zdGFydCx0Py5pbiksK2tlKGEuZW5kLHQ/LmluKV0uc29ydCgobCxkKT0+bC1kKSxbbyxuXT1bK2tlKGUuc3RhcnQsdD8uaW4pLCtrZShlLmVuZCx0Py5pbildLnNvcnQoKGwsZCk9PmwtZCk7cmV0dXJuIHQ/LmluY2x1c2l2ZT9yPD1uJiZvPD1pOnI8biYmbzxpfXZhciByMXIsanN0PWYoKCk9PntIZSgpO3MoVnN0LCJhcmVJbnRlcnZhbHNPdmVybGFwcGluZyIpO3Ixcj1Wc3R9KTtmdW5jdGlvbiBoSyhhLGUpe2xldCB0LHI9ZT8uaW47cmV0dXJuIGEuZm9yRWFjaChpPT57IXImJnR5cGVvZiBpPT0ib2JqZWN0IiYmKHI9RmUuYmluZChudWxsLGkpKTtsZXQgbz1rZShpLHIpOyghdHx8dDxvfHxpc05hTigrbykpJiYodD1vKX0pLEZlKHIsdHx8TmFOKX12YXIgbDFyLGsyZT1mKCgpPT57RHQoKTtIZSgpO3MoaEssIm1heCIpO2wxcj1oS30pO2Z1bmN0aW9uIG1LKGEsZSl7bGV0IHQscj1lPy5pbjtyZXR1cm4gYS5mb3JFYWNoKGk9PnshciYmdHlwZW9mIGk9PSJvYmplY3QiJiYocj1GZS5iaW5kKG51bGwsaSkpO2xldCBvPWtlKGkscik7KCF0fHx0Pm98fGlzTmFOKCtvKSkmJih0PW8pfSksRmUocix0fHxOYU4pfXZhciBmMXIsUzJlPWYoKCk9PntEdCgpO0hlKCk7cyhtSywibWluIik7ZjFyPW1LfSk7ZnVuY3Rpb24gVXN0KGEsZSx0KXtsZXRbcixpLG9dPVR0KHQ/LmluLGEsZS5zdGFydCxlLmVuZCk7cmV0dXJuIG1LKFtoSyhbcixpXSx0KSxvXSx0KX12YXIgeDFyLFdzdD1mKCgpPT57VWEoKTtrMmUoKTtTMmUoKTtzKFVzdCwiY2xhbXAiKTt4MXI9VXN0fSk7ZnVuY3Rpb24gZ0soYSxlKXtsZXQgdD0ra2UoYSk7aWYoaXNOYU4odCkpcmV0dXJuIE5hTjtsZXQgcixpO3JldHVybiBlLmZvckVhY2goKG8sbik9PntsZXQgbD1rZShvKTtpZihpc05hTigrbCkpe3I9TmFOLGk9TmFOO3JldHVybn1sZXQgZD1NYXRoLmFicyh0LStsKTsocj09bnVsbHx8ZDxpKSYmKHI9bixpPWQpfSkscn12YXIgazFyLHoyZT1mKCgpPT57SGUoKTtzKGdLLCJjbG9zZXN0SW5kZXhUbyIpO2sxcj1nS30pO2Z1bmN0aW9uIEdzdChhLGUsdCl7bGV0W3IsLi4uaV09VHQodD8uaW4sYSwuLi5lKSxvPWdLKHIsaSk7aWYodHlwZW9mIG89PSJudW1iZXIiJiZpc05hTihvKSlyZXR1cm4gRmUocixOYU4pO2lmKG8hPT12b2lkIDApcmV0dXJuIGlbb119dmFyIEwxcixZc3Q9ZigoKT0+e1VhKCk7ejJlKCk7RHQoKTtzKEdzdCwiY2xvc2VzdFRvIik7TDFyPUdzdH0pO2Z1bmN0aW9uIHhpKGEsZSl7bGV0IHQ9K2tlKGEpLStrZShlKTtyZXR1cm4gdDwwPy0xOnQ+MD8xOnR9dmFyIEUxcix2Mz1mKCgpPT57SGUoKTtzKHhpLCJjb21wYXJlQXNjIik7RTFyPXhpfSk7ZnVuY3Rpb24gS3N0KGEsZSl7bGV0IHQ9K2tlKGEpLStrZShlKTtyZXR1cm4gdD4wPy0xOnQ8MD8xOnR9dmFyIFIxcixac3Q9ZigoKT0+e0hlKCk7cyhLc3QsImNvbXBhcmVEZXNjIik7UjFyPUtzdH0pO2Z1bmN0aW9uIGNhKGEpe3JldHVybiBGZShhLERhdGUubm93KCkpfXZhciBIMXIsX3M9ZigoKT0+e0R0KCk7cyhjYSwiY29uc3RydWN0Tm93Iik7SDFyPWNhfSk7ZnVuY3Rpb24gWHN0KGEpe2xldCBlPU1hdGgudHJ1bmMoYS83KTtyZXR1cm4gZT09PTA/MDplfXZhciBVMXIsUXN0PWYoKCk9PntKdCgpO3MoWHN0LCJkYXlzVG9XZWVrcyIpO1Uxcj1Yc3R9KTtmdW5jdGlvbiBNMihhLGUsdCl7bGV0W3IsaV09VHQodD8uaW4sYSxlKTtyZXR1cm4rdzIocik9PSt3MihpKX12YXIgWjFyLHdoPWYoKCk9PntVYSgpO205KCk7cyhNMiwiaXNTYW1lRGF5Iik7WjFyPU0yfSk7ZnVuY3Rpb24gYksoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBEYXRlfHx0eXBlb2YgYT09Im9iamVjdCImJk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKT09PSJbb2JqZWN0IERhdGVdIn12YXIgSjFyLEMyZT1mKCgpPT57cyhiSywiaXNEYXRlIik7SjFyPWJLfSk7ZnVuY3Rpb24gWHMoYSl7cmV0dXJuISghYksoYSkmJnR5cGVvZiBhIT0ibnVtYmVyInx8aXNOYU4oK2tlKGEpKSl9dmFyIHMycixfbD1mKCgpPT57QzJlKCk7SGUoKTtzKFhzLCJpc1ZhbGlkIik7czJyPVhzfSk7ZnVuY3Rpb24gSnN0KGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpO2lmKCFYcyhyKXx8IVhzKGkpKXJldHVybiBOYU47bGV0IG89RnMocixpKSxuPW88MD8tMToxLGw9TWF0aC50cnVuYyhvLzcpLGQ9bCo1LGM9Q3MoaSxsKjcpO2Zvcig7IU0yKHIsYyk7KWQrPXgyKGMsdCk/MDpuLGM9Q3MoYyxuKTtyZXR1cm4gZD09PTA/MDpkfXZhciBmMnIsZWl0PWYoKCk9PntVYSgpO2IyKCk7Q2woKTt3aCgpO19sKCk7ZjkoKTtzKEpzdCwiZGlmZmVyZW5jZUluQnVzaW5lc3NEYXlzIik7ZjJyPUpzdH0pO2Z1bmN0aW9uIHZLKGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpO3JldHVybiBxaShyLHQpLXFpKGksdCl9dmFyIHYycixfMmU9ZigoKT0+e1VhKCk7YzAoKTtzKHZLLCJkaWZmZXJlbmNlSW5DYWxlbmRhcklTT1dlZWtZZWFycyIpO3Yycj12S30pO2Z1bmN0aW9uIHRpdChhLGUsdCl7bGV0W3IsaV09VHQodD8uaW4sYSxlKSxvPW5zKHIpLG49bnMoaSksbD0rby1JcihvKSxkPStuLUlyKG4pO3JldHVybiBNYXRoLnJvdW5kKChsLWQpL2cyKX12YXIgejJyLGFpdD1mKCgpPT57emwoKTtVYSgpO0p0KCk7eTIoKTtzKHRpdCwiZGlmZmVyZW5jZUluQ2FsZW5kYXJJU09XZWVrcyIpO3oycj10aXR9KTtmdW5jdGlvbiB4MyhhLGUsdCl7bGV0W3IsaV09VHQodD8uaW4sYSxlKSxvPXIuZ2V0RnVsbFllYXIoKS1pLmdldEZ1bGxZZWFyKCksbj1yLmdldE1vbnRoKCktaS5nZXRNb250aCgpO3JldHVybiBvKjEyK259dmFyIEwycix4Sz1mKCgpPT57VWEoKTtzKHgzLCJkaWZmZXJlbmNlSW5DYWxlbmRhck1vbnRocyIpO0wycj14M30pO2Z1bmN0aW9uIGI5KGEsZSl7bGV0IHQ9a2UoYSxlPy5pbik7cmV0dXJuIE1hdGgudHJ1bmModC5nZXRNb250aCgpLzMpKzF9dmFyIEUycixUMmU9ZigoKT0+e0hlKCk7cyhiOSwiZ2V0UXVhcnRlciIpO0Uycj1iOX0pO2Z1bmN0aW9uIE1oKGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpLG89ci5nZXRGdWxsWWVhcigpLWkuZ2V0RnVsbFllYXIoKSxuPWI5KHIpLWI5KGkpO3JldHVybiBvKjQrbn12YXIgTzJyLEwyZT1mKCgpPT57VWEoKTtUMmUoKTtzKE1oLCJkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzIik7TzJyPU1ofSk7ZnVuY3Rpb24geTMoYSxlLHQpe2xldFtyLGldPVR0KHQ/LmluLGEsZSksbz10cihyLHQpLG49dHIoaSx0KSxsPStvLUlyKG8pLGQ9K24tSXIobik7cmV0dXJuIE1hdGgucm91bmQoKGwtZCkvZzIpfXZhciBVMnIseUs9ZigoKT0+e3psKCk7VWEoKTtKdCgpO3IxKCk7cyh5MywiZGlmZmVyZW5jZUluQ2FsZW5kYXJXZWVrcyIpO1Uycj15M30pO2Z1bmN0aW9uIHUwKGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpO3JldHVybiByLmdldEZ1bGxZZWFyKCktaS5nZXRGdWxsWWVhcigpfXZhciBLMnIsd0s9ZigoKT0+e1VhKCk7cyh1MCwiZGlmZmVyZW5jZUluQ2FsZW5kYXJZZWFycyIpO0sycj11MH0pO2Z1bmN0aW9uIGtoKGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpLG89cml0KHIsaSksbj1NYXRoLmFicyhGcyhyLGkpKTtyLnNldERhdGUoci5nZXREYXRlKCktbypuKTtsZXQgbD0rKHJpdChyLGkpPT09LW8pLGQ9byoobi1sKTtyZXR1cm4gZD09PTA/MDpkfWZ1bmN0aW9uIHJpdChhLGUpe2xldCB0PWEuZ2V0RnVsbFllYXIoKS1lLmdldEZ1bGxZZWFyKCl8fGEuZ2V0TW9udGgoKS1lLmdldE1vbnRoKCl8fGEuZ2V0RGF0ZSgpLWUuZ2V0RGF0ZSgpfHxhLmdldEhvdXJzKCktZS5nZXRIb3VycygpfHxhLmdldE1pbnV0ZXMoKS1lLmdldE1pbnV0ZXMoKXx8YS5nZXRTZWNvbmRzKCktZS5nZXRTZWNvbmRzKCl8fGEuZ2V0TWlsbGlzZWNvbmRzKCktZS5nZXRNaWxsaXNlY29uZHMoKTtyZXR1cm4gdDwwPy0xOnQ+MD8xOnR9dmFyIGVscixNSz1mKCgpPT57VWEoKTtDbCgpO3Moa2gsImRpZmZlcmVuY2VJbkRheXMiKTtzKHJpdCwiY29tcGFyZUxvY2FsQXNjIik7ZWxyPWtofSk7ZnVuY3Rpb24geWkoYSl7cmV0dXJuIGU9PntsZXQgcj0oYT9NYXRoW2FdOk1hdGgudHJ1bmMpKGUpO3JldHVybiByPT09MD8wOnJ9fXZhciBUbD1mKCgpPT57cyh5aSwiZ2V0Um91bmRpbmdNZXRob2QiKX0pO2Z1bmN0aW9uIHczKGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpLG89KCtyLStpKS9CbztyZXR1cm4geWkodD8ucm91bmRpbmdNZXRob2QpKG8pfXZhciBsbHIsa0s9ZigoKT0+e1RsKCk7VWEoKTtKdCgpO3ModzMsImRpZmZlcmVuY2VJbkhvdXJzIik7bGxyPXczfSk7ZnVuY3Rpb24gU0soYSxlLHQpe3JldHVybiBjSyhhLC1lLHQpfXZhciBwbHIsJDJlPWYoKCk9Pnt5MmUoKTtzKFNLLCJzdWJJU09XZWVrWWVhcnMiKTtwbHI9U0t9KTtmdW5jdGlvbiBzaXQoYSxlLHQpe2xldFtyLGldPVR0KHQ/LmluLGEsZSksbz14aShyLGkpLG49TWF0aC5hYnModksocixpLHQpKSxsPVNLKHIsbypuLHQpLGQ9Kyh4aShsLGkpPT09LW8pLGM9byoobi1kKTtyZXR1cm4gYz09PTA/MDpjfXZhciB4bHIsaWl0PWYoKCk9PntVYSgpO3YzKCk7XzJlKCk7JDJlKCk7cyhzaXQsImRpZmZlcmVuY2VJbklTT1dlZWtZZWFycyIpO3hscj1zaXR9KTtmdW5jdGlvbiBTaChhLGUpe3JldHVybitrZShhKS0ra2UoZSl9dmFyIGtscix6Sz1mKCgpPT57SGUoKTtzKFNoLCJkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMiKTtrbHI9U2h9KTtmdW5jdGlvbiBNMyhhLGUsdCl7bGV0IHI9U2goYSxlKS9iaTtyZXR1cm4geWkodD8ucm91bmRpbmdNZXRob2QpKHIpfXZhciBMbHIsQ0s9ZigoKT0+e1RsKCk7SnQoKTt6SygpO3MoTTMsImRpZmZlcmVuY2VJbk1pbnV0ZXMiKTtMbHI9TTN9KTtmdW5jdGlvbiB6aChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldEhvdXJzKDIzLDU5LDU5LDk5OSksdH12YXIgRWxyLF9LPWYoKCk9PntIZSgpO3MoemgsImVuZE9mRGF5Iik7RWxyPXpofSk7ZnVuY3Rpb24gQ2goYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0TW9udGgoKTtyZXR1cm4gdC5zZXRGdWxsWWVhcih0LmdldEZ1bGxZZWFyKCkscisxLDApLHQuc2V0SG91cnMoMjMsNTksNTksOTk5KSx0fXZhciBSbHIsVEs9ZigoKT0+e0hlKCk7cyhDaCwiZW5kT2ZNb250aCIpO1Jscj1DaH0pO2Z1bmN0aW9uIExLKGEsZSl7bGV0IHQ9a2UoYSxlPy5pbik7cmV0dXJuK3poKHQsZSk9PStDaCh0LGUpfXZhciBWbHIsRDJlPWYoKCk9PntfSygpO1RLKCk7SGUoKTtzKExLLCJpc0xhc3REYXlPZk1vbnRoIik7VmxyPUxLfSk7ZnVuY3Rpb24gcDAoYSxlLHQpe2xldFtyLGksb109VHQodD8uaW4sYSxhLGUpLG49eGkoaSxvKSxsPU1hdGguYWJzKHgzKGksbykpO2lmKGw8MSlyZXR1cm4gMDtpLmdldE1vbnRoKCk9PT0xJiZpLmdldERhdGUoKT4yNyYmaS5zZXREYXRlKDMwKSxpLnNldE1vbnRoKGkuZ2V0TW9udGgoKS1uKmwpO2xldCBkPXhpKGksbyk9PT0tbjtMSyhyKSYmbD09PTEmJnhpKHIsbyk9PT0xJiYoZD0hMSk7bGV0IGM9bioobC0rZCk7cmV0dXJuIGM9PT0wPzA6Y312YXIgWmxyLHY5PWYoKCk9PntVYSgpO3YzKCk7eEsoKTtEMmUoKTtzKHAwLCJkaWZmZXJlbmNlSW5Nb250aHMiKTtabHI9cDB9KTtmdW5jdGlvbiBvaXQoYSxlLHQpe2xldCByPXAwKGEsZSx0KS8zO3JldHVybiB5aSh0Py5yb3VuZGluZ01ldGhvZCkocil9dmFyIHRjcixuaXQ9ZigoKT0+e1RsKCk7djkoKTtzKG9pdCwiZGlmZmVyZW5jZUluUXVhcnRlcnMiKTt0Y3I9b2l0fSk7ZnVuY3Rpb24gazIoYSxlLHQpe2xldCByPVNoKGEsZSkvMWUzO3JldHVybiB5aSh0Py5yb3VuZGluZ01ldGhvZCkocil9dmFyIG9jcix4OT1mKCgpPT57VGwoKTt6SygpO3MoazIsImRpZmZlcmVuY2VJblNlY29uZHMiKTtvY3I9azJ9KTtmdW5jdGlvbiBsaXQoYSxlLHQpe2xldCByPWtoKGEsZSx0KS83O3JldHVybiB5aSh0Py5yb3VuZGluZ01ldGhvZCkocil9dmFyIHVjcixjaXQ9ZigoKT0+e1RsKCk7TUsoKTtzKGxpdCwiZGlmZmVyZW5jZUluV2Vla3MiKTt1Y3I9bGl0fSk7ZnVuY3Rpb24gJEsoYSxlLHQpe2xldFtyLGldPVR0KHQ/LmluLGEsZSksbz14aShyLGkpLG49TWF0aC5hYnModTAocixpKSk7ci5zZXRGdWxsWWVhcigxNTg0KSxpLnNldEZ1bGxZZWFyKDE1ODQpO2xldCBsPXhpKHIsaSk9PT0tbyxkPW8qKG4tK2wpO3JldHVybiBkPT09MD8wOmR9dmFyIGJjcixBMmU9ZigoKT0+e1VhKCk7djMoKTt3SygpO3MoJEssImRpZmZlcmVuY2VJblllYXJzIik7YmNyPSRLfSk7ZnVuY3Rpb24gQnMoYSxlKXtsZXRbdCxyXT1UdChhLGUuc3RhcnQsZS5lbmQpO3JldHVybntzdGFydDp0LGVuZDpyfX12YXIgUzI9ZigoKT0+e1VhKCk7cyhCcywibm9ybWFsaXplSW50ZXJ2YWwiKX0pO2Z1bmN0aW9uIERLKGEsZSl7bGV0e3N0YXJ0OnQsZW5kOnJ9PUJzKGU/LmluLGEpLGk9K3Q+K3Isbz1pPyt0OityLG49aT9yOnQ7bi5zZXRIb3VycygwLDAsMCwwKTtsZXQgbD1lPy5zdGVwPz8xO2lmKCFsKXJldHVybltdO2w8MCYmKGw9LWwsaT0haSk7bGV0IGQ9W107Zm9yKDsrbjw9bzspZC5wdXNoKEZlKHQsbikpLG4uc2V0RGF0ZShuLmdldERhdGUoKStsKSxuLnNldEhvdXJzKDAsMCwwLDApO3JldHVybiBpP2QucmV2ZXJzZSgpOmR9dmFyIHpjcixFMmU9ZigoKT0+e1MyKCk7RHQoKTtzKERLLCJlYWNoRGF5T2ZJbnRlcnZhbCIpO3pjcj1ES30pO2Z1bmN0aW9uIGRpdChhLGUpe2xldHtzdGFydDp0LGVuZDpyfT1CcyhlPy5pbixhKSxpPSt0PityLG89aT8rdDorcixuPWk/cjp0O24uc2V0TWludXRlcygwLDAsMCk7bGV0IGw9ZT8uc3RlcD8/MTtpZighbClyZXR1cm5bXTtsPDAmJihsPS1sLGk9IWkpO2xldCBkPVtdO2Zvcig7K248PW87KWQucHVzaChGZSh0LG4pKSxuLnNldEhvdXJzKG4uZ2V0SG91cnMoKStsKTtyZXR1cm4gaT9kLnJldmVyc2UoKTpkfXZhciAkY3IsdWl0PWYoKCk9PntTMigpO0R0KCk7cyhkaXQsImVhY2hIb3VyT2ZJbnRlcnZhbCIpOyRjcj1kaXR9KTtmdW5jdGlvbiBwaXQoYSxlKXtsZXR7c3RhcnQ6dCxlbmQ6cn09QnMoZT8uaW4sYSk7dC5zZXRTZWNvbmRzKDAsMCk7bGV0IGk9K3Q+K3Isbz1pPyt0OityLG49aT9yOnQsbD1lPy5zdGVwPz8xO2lmKCFsKXJldHVybltdO2w8MCYmKGw9LWwsaT0haSk7bGV0IGQ9W107Zm9yKDsrbjw9bzspZC5wdXNoKEZlKHQsbikpLG49eGgobixsKTtyZXR1cm4gaT9kLnJldmVyc2UoKTpkfXZhciBOY3IsZml0PWYoKCk9PntTMigpO2RLKCk7RHQoKTtzKHBpdCwiZWFjaE1pbnV0ZU9mSW50ZXJ2YWwiKTtOY3I9cGl0fSk7ZnVuY3Rpb24gaGl0KGEsZSl7bGV0e3N0YXJ0OnQsZW5kOnJ9PUJzKGU/LmluLGEpLGk9K3Q+K3Isbz1pPyt0OityLG49aT9yOnQ7bi5zZXRIb3VycygwLDAsMCwwKSxuLnNldERhdGUoMSk7bGV0IGw9ZT8uc3RlcD8/MTtpZighbClyZXR1cm5bXTtsPDAmJihsPS1sLGk9IWkpO2xldCBkPVtdO2Zvcig7K248PW87KWQucHVzaChGZSh0LG4pKSxuLnNldE1vbnRoKG4uZ2V0TW9udGgoKStsKTtyZXR1cm4gaT9kLnJldmVyc2UoKTpkfXZhciBIY3IsbWl0PWYoKCk9PntTMigpO0R0KCk7cyhoaXQsImVhY2hNb250aE9mSW50ZXJ2YWwiKTtIY3I9aGl0fSk7ZnVuY3Rpb24gejIoYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0TW9udGgoKSxpPXItciUzO3JldHVybiB0LnNldE1vbnRoKGksMSksdC5zZXRIb3VycygwLDAsMCwwKSx0fXZhciBVY3IsQUs9ZigoKT0+e0hlKCk7cyh6Miwic3RhcnRPZlF1YXJ0ZXIiKTtVY3I9ejJ9KTtmdW5jdGlvbiBnaXQoYSxlKXtsZXR7c3RhcnQ6dCxlbmQ6cn09QnMoZT8uaW4sYSksaT0rdD4rcixvPWk/K3oyKHQpOit6MihyKSxuPWk/ejIocik6ejIodCksbD1lPy5zdGVwPz8xO2lmKCFsKXJldHVybltdO2w8MCYmKGw9LWwsaT0haSk7bGV0IGQ9W107Zm9yKDsrbjw9bzspZC5wdXNoKEZlKHQsbikpLG49eWgobixsKTtyZXR1cm4gaT9kLnJldmVyc2UoKTpkfXZhciBRY3IsYml0PWYoKCk9PntTMigpO3VLKCk7RHQoKTtBSygpO3MoZ2l0LCJlYWNoUXVhcnRlck9mSW50ZXJ2YWwiKTtRY3I9Z2l0fSk7ZnVuY3Rpb24gdml0KGEsZSl7bGV0e3N0YXJ0OnQsZW5kOnJ9PUJzKGU/LmluLGEpLGk9K3Q+K3Isbz1pP3RyKHIsZSk6dHIodCxlKSxuPWk/dHIodCxlKTp0cihyLGUpO28uc2V0SG91cnMoMTUpLG4uc2V0SG91cnMoMTUpO2xldCBsPStuLmdldFRpbWUoKSxkPW8sYz1lPy5zdGVwPz8xO2lmKCFjKXJldHVybltdO2M8MCYmKGM9LWMsaT0haSk7bGV0IHA9W107Zm9yKDsrZDw9bDspZC5zZXRIb3VycygwKSxwLnB1c2goRmUodCxkKSksZD1kMChkLGMpLGQuc2V0SG91cnMoMTUpO3JldHVybiBpP3AucmV2ZXJzZSgpOnB9dmFyIGkwcix4aXQ9ZigoKT0+e1MyKCk7ZzkoKTtEdCgpO3IxKCk7cyh2aXQsImVhY2hXZWVrT2ZJbnRlcnZhbCIpO2kwcj12aXR9KTtmdW5jdGlvbiBfaChhLGUpe2xldHtzdGFydDp0LGVuZDpyfT1CcyhlPy5pbixhKSxpPURLKHtzdGFydDp0LGVuZDpyfSxlKSxvPVtdLG49MDtmb3IoO248aS5sZW5ndGg7KXtsZXQgbD1pW24rK107eDIobCkmJm8ucHVzaChGZSh0LGwpKX1yZXR1cm4gb312YXIgcDByLEVLPWYoKCk9PntTMigpO0R0KCk7RTJlKCk7ZjkoKTtzKF9oLCJlYWNoV2Vla2VuZE9mSW50ZXJ2YWwiKTtwMHI9X2h9KTtmdW5jdGlvbiBmMChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldERhdGUoMSksdC5zZXRIb3VycygwLDAsMCwwKSx0fXZhciBnMHIseTk9ZigoKT0+e0hlKCk7cyhmMCwic3RhcnRPZk1vbnRoIik7ZzByPWYwfSk7ZnVuY3Rpb24geWl0KGEsZSl7bGV0IHQ9ZjAoYSxlKSxyPUNoKGEsZSk7cmV0dXJuIF9oKHtzdGFydDp0LGVuZDpyfSxlKX12YXIgTTByLHdpdD1mKCgpPT57RUsoKTtUSygpO3k5KCk7cyh5aXQsImVhY2hXZWVrZW5kT2ZNb250aCIpO00wcj15aXR9KTtmdW5jdGlvbiBQSyhhLGUpe2xldCB0PWtlKGEsZT8uaW4pLHI9dC5nZXRGdWxsWWVhcigpO3JldHVybiB0LnNldEZ1bGxZZWFyKHIrMSwwLDApLHQuc2V0SG91cnMoMjMsNTksNTksOTk5KSx0fXZhciBDMHIsUDJlPWYoKCk9PntIZSgpO3MoUEssImVuZE9mWWVhciIpO0Mwcj1QS30pO2Z1bmN0aW9uIFRoKGEsZSl7bGV0IHQ9a2UoYSxlPy5pbik7cmV0dXJuIHQuc2V0RnVsbFllYXIodC5nZXRGdWxsWWVhcigpLDAsMSksdC5zZXRIb3VycygwLDAsMCwwKSx0fXZhciAkMHIsSUs9ZigoKT0+e0hlKCk7cyhUaCwic3RhcnRPZlllYXIiKTskMHI9VGh9KTtmdW5jdGlvbiBNaXQoYSxlKXtsZXQgdD1UaChhLGUpLHI9UEsoYSxlKTtyZXR1cm4gX2goe3N0YXJ0OnQsZW5kOnJ9LGUpfXZhciBOMHIsa2l0PWYoKCk9PntFSygpO1AyZSgpO0lLKCk7cyhNaXQsImVhY2hXZWVrZW5kT2ZZZWFyIik7TjByPU1pdH0pO2Z1bmN0aW9uIFNpdChhLGUpe2xldHtzdGFydDp0LGVuZDpyfT1CcyhlPy5pbixhKSxpPSt0PityLG89aT8rdDorcixuPWk/cjp0O24uc2V0SG91cnMoMCwwLDAsMCksbi5zZXRNb250aCgwLDEpO2xldCBsPWU/LnN0ZXA/PzE7aWYoIWwpcmV0dXJuW107bDwwJiYobD0tbCxpPSFpKTtsZXQgZD1bXTtmb3IoOytuPD1vOylkLnB1c2goRmUodCxuKSksbi5zZXRGdWxsWWVhcihuLmdldEZ1bGxZZWFyKCkrbCk7cmV0dXJuIGk/ZC5yZXZlcnNlKCk6ZH12YXIgSDByLHppdD1mKCgpPT57UzIoKTtEdCgpO3MoU2l0LCJlYWNoWWVhck9mSW50ZXJ2YWwiKTtIMHI9U2l0fSk7ZnVuY3Rpb24gQ2l0KGEsZSl7bGV0IHQ9a2UoYSxlPy5pbikscj10LmdldEZ1bGxZZWFyKCksaT05K01hdGguZmxvb3Ioci8xMCkqMTA7cmV0dXJuIHQuc2V0RnVsbFllYXIoaSwxMSwzMSksdC5zZXRIb3VycygyMyw1OSw1OSw5OTkpLHR9dmFyIFUwcixfaXQ9ZigoKT0+e0hlKCk7cyhDaXQsImVuZE9mRGVjYWRlIik7VTByPUNpdH0pO2Z1bmN0aW9uIFRpdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldE1pbnV0ZXMoNTksNTksOTk5KSx0fXZhciBLMHIsTGl0PWYoKCk9PntIZSgpO3MoVGl0LCJlbmRPZkhvdXIiKTtLMHI9VGl0fSk7ZnVuY3Rpb24gTksoYSxlKXtsZXQgdD1xYSgpLHI9ZT8ud2Vla1N0YXJ0c09uPz9lPy5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/dC53ZWVrU3RhcnRzT24/P3QubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsaT1rZShhLGU/LmluKSxvPWkuZ2V0RGF5KCksbj0obzxyPy03OjApKzYtKG8tcik7cmV0dXJuIGkuc2V0RGF0ZShpLmdldERhdGUoKStuKSxpLnNldEhvdXJzKDIzLDU5LDU5LDk5OSksaX12YXIgZTRyLEkyZT1mKCgpPT57dmkoKTtIZSgpO3MoTkssImVuZE9mV2VlayIpO2U0cj1OS30pO2Z1bmN0aW9uICRpdChhLGUpe3JldHVybiBOSyhhLHsuLi5lLHdlZWtTdGFydHNPbjoxfSl9dmFyIHM0cixEaXQ9ZigoKT0+e0kyZSgpO3MoJGl0LCJlbmRPZklTT1dlZWsiKTtzNHI9JGl0fSk7ZnVuY3Rpb24gQWl0KGEsZSl7bGV0IHQ9cWkoYSxlKSxyPUZlKGU/LmlufHxhLDApO3Iuc2V0RnVsbFllYXIodCsxLDAsNCksci5zZXRIb3VycygwLDAsMCwwKTtsZXQgaT1ucyhyLGUpO3JldHVybiBpLnNldE1pbGxpc2Vjb25kcyhpLmdldE1pbGxpc2Vjb25kcygpLTEpLGl9dmFyIGQ0cixFaXQ9ZigoKT0+e0R0KCk7YzAoKTt5MigpO3MoQWl0LCJlbmRPZklTT1dlZWtZZWFyIik7ZDRyPUFpdH0pO2Z1bmN0aW9uIFBpdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldFNlY29uZHMoNTksOTk5KSx0fXZhciBoNHIsSWl0PWYoKCk9PntIZSgpO3MoUGl0LCJlbmRPZk1pbnV0ZSIpO2g0cj1QaXR9KTtmdW5jdGlvbiBOaXQoYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0TW9udGgoKSxpPXItciUzKzM7cmV0dXJuIHQuc2V0TW9udGgoaSwwKSx0LnNldEhvdXJzKDIzLDU5LDU5LDk5OSksdH12YXIgdjRyLFJpdD1mKCgpPT57SGUoKTtzKE5pdCwiZW5kT2ZRdWFydGVyIik7djRyPU5pdH0pO2Z1bmN0aW9uIE9pdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldE1pbGxpc2Vjb25kcyg5OTkpLHR9dmFyIE00cixGaXQ9ZigoKT0+e0hlKCk7cyhPaXQsImVuZE9mU2Vjb25kIik7TTRyPU9pdH0pO2Z1bmN0aW9uIEJpdChhKXtyZXR1cm4gemgoRGF0ZS5ub3coKSxhKX12YXIgQzRyLEhpdD1mKCgpPT57X0soKTtzKEJpdCwiZW5kT2ZUb2RheSIpO0M0cj1CaXR9KTtmdW5jdGlvbiBxaXQoYSl7bGV0IGU9Y2EoYT8uaW4pLHQ9ZS5nZXRGdWxsWWVhcigpLHI9ZS5nZXRNb250aCgpLGk9ZS5nZXREYXRlKCksbz1jYShhPy5pbik7cmV0dXJuIG8uc2V0RnVsbFllYXIodCxyLGkrMSksby5zZXRIb3VycygyMyw1OSw1OSw5OTkpLGE/LmluP2EuaW4obyk6b312YXIgJDRyLFZpdD1mKCgpPT57X3MoKTtzKHFpdCwiZW5kT2ZUb21vcnJvdyIpOyQ0cj1xaXR9KTtmdW5jdGlvbiBqaXQoYSl7bGV0IGU9Y2EoYT8uaW4pLHQ9RmUoYT8uaW4sMCk7cmV0dXJuIHQuc2V0RnVsbFllYXIoZS5nZXRGdWxsWWVhcigpLGUuZ2V0TW9udGgoKSxlLmdldERhdGUoKS0xKSx0LnNldEhvdXJzKDIzLDU5LDU5LDk5OSksdH12YXIgSTRyLFVpdD1mKCgpPT57RHQoKTtfcygpO3Moaml0LCJlbmRPZlllc3RlcmRheSIpO0k0cj1qaXR9KTt2YXIgUDlhLFdpdCxHaXQ9ZigoKT0+e1A5YT17bGVzc1RoYW5YU2Vjb25kczp7b25lOiJsZXNzIHRoYW4gYSBzZWNvbmQiLG90aGVyOiJsZXNzIHRoYW4ge3tjb3VudH19IHNlY29uZHMifSx4U2Vjb25kczp7b25lOiIxIHNlY29uZCIsb3RoZXI6Int7Y291bnR9fSBzZWNvbmRzIn0saGFsZkFNaW51dGU6ImhhbGYgYSBtaW51dGUiLGxlc3NUaGFuWE1pbnV0ZXM6e29uZToibGVzcyB0aGFuIGEgbWludXRlIixvdGhlcjoibGVzcyB0aGFuIHt7Y291bnR9fSBtaW51dGVzIn0seE1pbnV0ZXM6e29uZToiMSBtaW51dGUiLG90aGVyOiJ7e2NvdW50fX0gbWludXRlcyJ9LGFib3V0WEhvdXJzOntvbmU6ImFib3V0IDEgaG91ciIsb3RoZXI6ImFib3V0IHt7Y291bnR9fSBob3VycyJ9LHhIb3Vyczp7b25lOiIxIGhvdXIiLG90aGVyOiJ7e2NvdW50fX0gaG91cnMifSx4RGF5czp7b25lOiIxIGRheSIsb3RoZXI6Int7Y291bnR9fSBkYXlzIn0sYWJvdXRYV2Vla3M6e29uZToiYWJvdXQgMSB3ZWVrIixvdGhlcjoiYWJvdXQge3tjb3VudH19IHdlZWtzIn0seFdlZWtzOntvbmU6IjEgd2VlayIsb3RoZXI6Int7Y291bnR9fSB3ZWVrcyJ9LGFib3V0WE1vbnRoczp7b25lOiJhYm91dCAxIG1vbnRoIixvdGhlcjoiYWJvdXQge3tjb3VudH19IG1vbnRocyJ9LHhNb250aHM6e29uZToiMSBtb250aCIsb3RoZXI6Int7Y291bnR9fSBtb250aHMifSxhYm91dFhZZWFyczp7b25lOiJhYm91dCAxIHllYXIiLG90aGVyOiJhYm91dCB7e2NvdW50fX0geWVhcnMifSx4WWVhcnM6e29uZToiMSB5ZWFyIixvdGhlcjoie3tjb3VudH19IHllYXJzIn0sb3ZlclhZZWFyczp7b25lOiJvdmVyIDEgeWVhciIsb3RoZXI6Im92ZXIge3tjb3VudH19IHllYXJzIn0sYWxtb3N0WFllYXJzOntvbmU6ImFsbW9zdCAxIHllYXIiLG90aGVyOiJhbG1vc3Qge3tjb3VudH19IHllYXJzIn19LFdpdD1zKChhLGUsdCk9PntsZXQgcixpPVA5YVthXTtyZXR1cm4gdHlwZW9mIGk9PSJzdHJpbmciP3I9aTplPT09MT9yPWkub25lOnI9aS5vdGhlci5yZXBsYWNlKCJ7e2NvdW50fX0iLGUudG9TdHJpbmcoKSksdD8uYWRkU3VmZml4P3QuY29tcGFyaXNvbiYmdC5jb21wYXJpc29uPjA/ImluICIrcjpyKyIgYWdvIjpyfSwiZm9ybWF0RGlzdGFuY2UiKX0pO2Z1bmN0aW9uIFJLKGEpe3JldHVybihlPXt9KT0+e2xldCB0PWUud2lkdGg/U3RyaW5nKGUud2lkdGgpOmEuZGVmYXVsdFdpZHRoO3JldHVybiBhLmZvcm1hdHNbdF18fGEuZm9ybWF0c1thLmRlZmF1bHRXaWR0aF19fXZhciBZaXQ9ZigoKT0+e3MoUkssImJ1aWxkRm9ybWF0TG9uZ0ZuIil9KTt2YXIgSTlhLE45YSxSOWEsS2l0LFppdD1mKCgpPT57WWl0KCk7STlhPXtmdWxsOiJFRUVFLCBNTU1NIGRvLCB5Iixsb25nOiJNTU1NIGRvLCB5IixtZWRpdW06Ik1NTSBkLCB5IixzaG9ydDoiTU0vZGQveXl5eSJ9LE45YT17ZnVsbDoiaDptbTpzcyBhIHp6enoiLGxvbmc6Img6bW06c3MgYSB6IixtZWRpdW06Img6bW06c3MgYSIsc2hvcnQ6Img6bW0gYSJ9LFI5YT17ZnVsbDoie3tkYXRlfX0gJ2F0JyB7e3RpbWV9fSIsbG9uZzoie3tkYXRlfX0gJ2F0JyB7e3RpbWV9fSIsbWVkaXVtOiJ7e2RhdGV9fSwge3t0aW1lfX0iLHNob3J0OiJ7e2RhdGV9fSwge3t0aW1lfX0ifSxLaXQ9e2RhdGU6Uksoe2Zvcm1hdHM6STlhLGRlZmF1bHRXaWR0aDoiZnVsbCJ9KSx0aW1lOlJLKHtmb3JtYXRzOk45YSxkZWZhdWx0V2lkdGg6ImZ1bGwifSksZGF0ZVRpbWU6Uksoe2Zvcm1hdHM6UjlhLGRlZmF1bHRXaWR0aDoiZnVsbCJ9KX19KTt2YXIgTzlhLFhpdCxRaXQ9ZigoKT0+e085YT17bGFzdFdlZWs6IidsYXN0JyBlZWVlICdhdCcgcCIseWVzdGVyZGF5OiIneWVzdGVyZGF5IGF0JyBwIix0b2RheToiJ3RvZGF5IGF0JyBwIix0b21vcnJvdzoiJ3RvbW9ycm93IGF0JyBwIixuZXh0V2VlazoiZWVlZSAnYXQnIHAiLG90aGVyOiJQIn0sWGl0PXMoKGEsZSx0LHIpPT5POWFbYV0sImZvcm1hdFJlbGF0aXZlIil9KTtmdW5jdGlvbiBMaChhKXtyZXR1cm4oZSx0KT0+e2xldCByPXQ/LmNvbnRleHQ/U3RyaW5nKHQuY29udGV4dCk6InN0YW5kYWxvbmUiLGk7aWYocj09PSJmb3JtYXR0aW5nIiYmYS5mb3JtYXR0aW5nVmFsdWVzKXtsZXQgbj1hLmRlZmF1bHRGb3JtYXR0aW5nV2lkdGh8fGEuZGVmYXVsdFdpZHRoLGw9dD8ud2lkdGg/U3RyaW5nKHQud2lkdGgpOm47aT1hLmZvcm1hdHRpbmdWYWx1ZXNbbF18fGEuZm9ybWF0dGluZ1ZhbHVlc1tuXX1lbHNle2xldCBuPWEuZGVmYXVsdFdpZHRoLGw9dD8ud2lkdGg/U3RyaW5nKHQud2lkdGgpOmEuZGVmYXVsdFdpZHRoO2k9YS52YWx1ZXNbbF18fGEudmFsdWVzW25dfWxldCBvPWEuYXJndW1lbnRDYWxsYmFjaz9hLmFyZ3VtZW50Q2FsbGJhY2soZSk6ZTtyZXR1cm4gaVtvXX19dmFyIEppdD1mKCgpPT57cyhMaCwiYnVpbGRMb2NhbGl6ZUZuIil9KTt2YXIgRjlhLEI5YSxIOWEscTlhLFY5YSxqOWEsVTlhLGVvdCx0b3Q9ZigoKT0+e0ppdCgpO0Y5YT17bmFycm93OlsiQiIsIkEiXSxhYmJyZXZpYXRlZDpbIkJDIiwiQUQiXSx3aWRlOlsiQmVmb3JlIENocmlzdCIsIkFubm8gRG9taW5pIl19LEI5YT17bmFycm93OlsiMSIsIjIiLCIzIiwiNCJdLGFiYnJldmlhdGVkOlsiUTEiLCJRMiIsIlEzIiwiUTQiXSx3aWRlOlsiMXN0IHF1YXJ0ZXIiLCIybmQgcXVhcnRlciIsIjNyZCBxdWFydGVyIiwiNHRoIHF1YXJ0ZXIiXX0sSDlhPXtuYXJyb3c6WyJKIiwiRiIsIk0iLCJBIiwiTSIsIkoiLCJKIiwiQSIsIlMiLCJPIiwiTiIsIkQiXSxhYmJyZXZpYXRlZDpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdLHdpZGU6WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdfSxxOWE9e25hcnJvdzpbIlMiLCJNIiwiVCIsIlciLCJUIiwiRiIsIlMiXSxzaG9ydDpbIlN1IiwiTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIl0sYWJicmV2aWF0ZWQ6WyJTdW4iLCJNb24iLCJUdWUiLCJXZWQiLCJUaHUiLCJGcmkiLCJTYXQiXSx3aWRlOlsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXX0sVjlhPXtuYXJyb3c6e2FtOiJhIixwbToicCIsbWlkbmlnaHQ6Im1pIixub29uOiJuIixtb3JuaW5nOiJtb3JuaW5nIixhZnRlcm5vb246ImFmdGVybm9vbiIsZXZlbmluZzoiZXZlbmluZyIsbmlnaHQ6Im5pZ2h0In0sYWJicmV2aWF0ZWQ6e2FtOiJBTSIscG06IlBNIixtaWRuaWdodDoibWlkbmlnaHQiLG5vb246Im5vb24iLG1vcm5pbmc6Im1vcm5pbmciLGFmdGVybm9vbjoiYWZ0ZXJub29uIixldmVuaW5nOiJldmVuaW5nIixuaWdodDoibmlnaHQifSx3aWRlOnthbToiYS5tLiIscG06InAubS4iLG1pZG5pZ2h0OiJtaWRuaWdodCIsbm9vbjoibm9vbiIsbW9ybmluZzoibW9ybmluZyIsYWZ0ZXJub29uOiJhZnRlcm5vb24iLGV2ZW5pbmc6ImV2ZW5pbmciLG5pZ2h0OiJuaWdodCJ9fSxqOWE9e25hcnJvdzp7YW06ImEiLHBtOiJwIixtaWRuaWdodDoibWkiLG5vb246Im4iLG1vcm5pbmc6ImluIHRoZSBtb3JuaW5nIixhZnRlcm5vb246ImluIHRoZSBhZnRlcm5vb24iLGV2ZW5pbmc6ImluIHRoZSBldmVuaW5nIixuaWdodDoiYXQgbmlnaHQifSxhYmJyZXZpYXRlZDp7YW06IkFNIixwbToiUE0iLG1pZG5pZ2h0OiJtaWRuaWdodCIsbm9vbjoibm9vbiIsbW9ybmluZzoiaW4gdGhlIG1vcm5pbmciLGFmdGVybm9vbjoiaW4gdGhlIGFmdGVybm9vbiIsZXZlbmluZzoiaW4gdGhlIGV2ZW5pbmciLG5pZ2h0OiJhdCBuaWdodCJ9LHdpZGU6e2FtOiJhLm0uIixwbToicC5tLiIsbWlkbmlnaHQ6Im1pZG5pZ2h0Iixub29uOiJub29uIixtb3JuaW5nOiJpbiB0aGUgbW9ybmluZyIsYWZ0ZXJub29uOiJpbiB0aGUgYWZ0ZXJub29uIixldmVuaW5nOiJpbiB0aGUgZXZlbmluZyIsbmlnaHQ6ImF0IG5pZ2h0In19LFU5YT1zKChhLGUpPT57bGV0IHQ9TnVtYmVyKGEpLHI9dCUxMDA7aWYocj4yMHx8cjwxMClzd2l0Y2gociUxMCl7Y2FzZSAxOnJldHVybiB0KyJzdCI7Y2FzZSAyOnJldHVybiB0KyJuZCI7Y2FzZSAzOnJldHVybiB0KyJyZCJ9cmV0dXJuIHQrInRoIn0sIm9yZGluYWxOdW1iZXIiKSxlb3Q9e29yZGluYWxOdW1iZXI6VTlhLGVyYTpMaCh7dmFsdWVzOkY5YSxkZWZhdWx0V2lkdGg6IndpZGUifSkscXVhcnRlcjpMaCh7dmFsdWVzOkI5YSxkZWZhdWx0V2lkdGg6IndpZGUiLGFyZ3VtZW50Q2FsbGJhY2s6cyhhPT5hLTEsImFyZ3VtZW50Q2FsbGJhY2siKX0pLG1vbnRoOkxoKHt2YWx1ZXM6SDlhLGRlZmF1bHRXaWR0aDoid2lkZSJ9KSxkYXk6TGgoe3ZhbHVlczpxOWEsZGVmYXVsdFdpZHRoOiJ3aWRlIn0pLGRheVBlcmlvZDpMaCh7dmFsdWVzOlY5YSxkZWZhdWx0V2lkdGg6IndpZGUiLGZvcm1hdHRpbmdWYWx1ZXM6ajlhLGRlZmF1bHRGb3JtYXR0aW5nV2lkdGg6IndpZGUifSl9fSk7ZnVuY3Rpb24gJGgoYSl7cmV0dXJuKGUsdD17fSk9PntsZXQgcj10LndpZHRoLGk9ciYmYS5tYXRjaFBhdHRlcm5zW3JdfHxhLm1hdGNoUGF0dGVybnNbYS5kZWZhdWx0TWF0Y2hXaWR0aF0sbz1lLm1hdGNoKGkpO2lmKCFvKXJldHVybiBudWxsO2xldCBuPW9bMF0sbD1yJiZhLnBhcnNlUGF0dGVybnNbcl18fGEucGFyc2VQYXR0ZXJuc1thLmRlZmF1bHRQYXJzZVdpZHRoXSxkPUFycmF5LmlzQXJyYXkobCk/RzlhKGwsdT0+dS50ZXN0KG4pKTpXOWEobCx1PT51LnRlc3QobikpLGM7Yz1hLnZhbHVlQ2FsbGJhY2s/YS52YWx1ZUNhbGxiYWNrKGQpOmQsYz10LnZhbHVlQ2FsbGJhY2s/dC52YWx1ZUNhbGxiYWNrKGMpOmM7bGV0IHA9ZS5zbGljZShuLmxlbmd0aCk7cmV0dXJue3ZhbHVlOmMscmVzdDpwfX19ZnVuY3Rpb24gVzlhKGEsZSl7Zm9yKGxldCB0IGluIGEpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsdCkmJmUoYVt0XSkpcmV0dXJuIHR9ZnVuY3Rpb24gRzlhKGEsZSl7Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0KyspaWYoZShhW3RdKSlyZXR1cm4gdH12YXIgYW90PWYoKCk9PntzKCRoLCJidWlsZE1hdGNoRm4iKTtzKFc5YSwiZmluZEtleSIpO3MoRzlhLCJmaW5kSW5kZXgiKX0pO2Z1bmN0aW9uIHJvdChhKXtyZXR1cm4oZSx0PXt9KT0+e2xldCByPWUubWF0Y2goYS5tYXRjaFBhdHRlcm4pO2lmKCFyKXJldHVybiBudWxsO2xldCBpPXJbMF0sbz1lLm1hdGNoKGEucGFyc2VQYXR0ZXJuKTtpZighbylyZXR1cm4gbnVsbDtsZXQgbj1hLnZhbHVlQ2FsbGJhY2s/YS52YWx1ZUNhbGxiYWNrKG9bMF0pOm9bMF07bj10LnZhbHVlQ2FsbGJhY2s/dC52YWx1ZUNhbGxiYWNrKG4pOm47bGV0IGw9ZS5zbGljZShpLmxlbmd0aCk7cmV0dXJue3ZhbHVlOm4scmVzdDpsfX19dmFyIHNvdD1mKCgpPT57cyhyb3QsImJ1aWxkTWF0Y2hQYXR0ZXJuRm4iKX0pO3ZhciBZOWEsSzlhLFo5YSxYOWEsUTlhLEo5YSxlZ2EsdGdhLGFnYSxyZ2Esc2dhLGlnYSxpb3Qsb290PWYoKCk9Pnthb3QoKTtzb3QoKTtZOWE9L14oXGQrKSh0aHxzdHxuZHxyZCk/L2ksSzlhPS9cZCsvaSxaOWE9e25hcnJvdzovXihifGEpL2ksYWJicmV2aWF0ZWQ6L14oYlwuP1xzP2NcLj98YlwuP1xzP2NcLj9ccz9lXC4/fGFcLj9ccz9kXC4/fGNcLj9ccz9lXC4/KS9pLHdpZGU6L14oYmVmb3JlIGNocmlzdHxiZWZvcmUgY29tbW9uIGVyYXxhbm5vIGRvbWluaXxjb21tb24gZXJhKS9pfSxYOWE9e2FueTpbL15iL2ksL14oYXxjKS9pXX0sUTlhPXtuYXJyb3c6L15bMTIzNF0vaSxhYmJyZXZpYXRlZDovXnFbMTIzNF0vaSx3aWRlOi9eWzEyMzRdKHRofHN0fG5kfHJkKT8gcXVhcnRlci9pfSxKOWE9e2FueTpbLzEvaSwvMi9pLC8zL2ksLzQvaV19LGVnYT17bmFycm93Oi9eW2pmbWFzb25kXS9pLGFiYnJldmlhdGVkOi9eKGphbnxmZWJ8bWFyfGFwcnxtYXl8anVufGp1bHxhdWd8c2VwfG9jdHxub3Z8ZGVjKS9pLHdpZGU6L14oamFudWFyeXxmZWJydWFyeXxtYXJjaHxhcHJpbHxtYXl8anVuZXxqdWx5fGF1Z3VzdHxzZXB0ZW1iZXJ8b2N0b2Jlcnxub3ZlbWJlcnxkZWNlbWJlcikvaX0sdGdhPXtuYXJyb3c6Wy9eai9pLC9eZi9pLC9ebS9pLC9eYS9pLC9ebS9pLC9eai9pLC9eai9pLC9eYS9pLC9ecy9pLC9eby9pLC9ebi9pLC9eZC9pXSxhbnk6Wy9eamEvaSwvXmYvaSwvXm1hci9pLC9eYXAvaSwvXm1heS9pLC9eanVuL2ksL15qdWwvaSwvXmF1L2ksL15zL2ksL15vL2ksL15uL2ksL15kL2ldfSxhZ2E9e25hcnJvdzovXltzbXR3Zl0vaSxzaG9ydDovXihzdXxtb3x0dXx3ZXx0aHxmcnxzYSkvaSxhYmJyZXZpYXRlZDovXihzdW58bW9ufHR1ZXx3ZWR8dGh1fGZyaXxzYXQpL2ksd2lkZTovXihzdW5kYXl8bW9uZGF5fHR1ZXNkYXl8d2VkbmVzZGF5fHRodXJzZGF5fGZyaWRheXxzYXR1cmRheSkvaX0scmdhPXtuYXJyb3c6Wy9ecy9pLC9ebS9pLC9edC9pLC9edy9pLC9edC9pLC9eZi9pLC9ecy9pXSxhbnk6Wy9ec3UvaSwvXm0vaSwvXnR1L2ksL153L2ksL150aC9pLC9eZi9pLC9ec2EvaV19LHNnYT17bmFycm93Oi9eKGF8cHxtaXxufChpbiB0aGV8YXQpIChtb3JuaW5nfGFmdGVybm9vbnxldmVuaW5nfG5pZ2h0KSkvaSxhbnk6L14oW2FwXVwuP1xzP21cLj98bWlkbmlnaHR8bm9vbnwoaW4gdGhlfGF0KSAobW9ybmluZ3xhZnRlcm5vb258ZXZlbmluZ3xuaWdodCkpL2l9LGlnYT17YW55OnthbTovXmEvaSxwbTovXnAvaSxtaWRuaWdodDovXm1pL2ksbm9vbjovXm5vL2ksbW9ybmluZzovbW9ybmluZy9pLGFmdGVybm9vbjovYWZ0ZXJub29uL2ksZXZlbmluZzovZXZlbmluZy9pLG5pZ2h0Oi9uaWdodC9pfX0saW90PXtvcmRpbmFsTnVtYmVyOnJvdCh7bWF0Y2hQYXR0ZXJuOlk5YSxwYXJzZVBhdHRlcm46SzlhLHZhbHVlQ2FsbGJhY2s6cyhhPT5wYXJzZUludChhLDEwKSwidmFsdWVDYWxsYmFjayIpfSksZXJhOiRoKHttYXRjaFBhdHRlcm5zOlo5YSxkZWZhdWx0TWF0Y2hXaWR0aDoid2lkZSIscGFyc2VQYXR0ZXJuczpYOWEsZGVmYXVsdFBhcnNlV2lkdGg6ImFueSJ9KSxxdWFydGVyOiRoKHttYXRjaFBhdHRlcm5zOlE5YSxkZWZhdWx0TWF0Y2hXaWR0aDoid2lkZSIscGFyc2VQYXR0ZXJuczpKOWEsZGVmYXVsdFBhcnNlV2lkdGg6ImFueSIsdmFsdWVDYWxsYmFjazpzKGE9PmErMSwidmFsdWVDYWxsYmFjayIpfSksbW9udGg6JGgoe21hdGNoUGF0dGVybnM6ZWdhLGRlZmF1bHRNYXRjaFdpZHRoOiJ3aWRlIixwYXJzZVBhdHRlcm5zOnRnYSxkZWZhdWx0UGFyc2VXaWR0aDoiYW55In0pLGRheTokaCh7bWF0Y2hQYXR0ZXJuczphZ2EsZGVmYXVsdE1hdGNoV2lkdGg6IndpZGUiLHBhcnNlUGF0dGVybnM6cmdhLGRlZmF1bHRQYXJzZVdpZHRoOiJhbnkifSksZGF5UGVyaW9kOiRoKHttYXRjaFBhdHRlcm5zOnNnYSxkZWZhdWx0TWF0Y2hXaWR0aDoiYW55IixwYXJzZVBhdHRlcm5zOmlnYSxkZWZhdWx0UGFyc2VXaWR0aDoiYW55In0pfX0pO3ZhciB3byxkM3Isbm90PWYoKCk9PntHaXQoKTtaaXQoKTtRaXQoKTt0b3QoKTtvb3QoKTt3bz17Y29kZToiZW4tVVMiLGZvcm1hdERpc3RhbmNlOldpdCxmb3JtYXRMb25nOktpdCxmb3JtYXRSZWxhdGl2ZTpYaXQsbG9jYWxpemU6ZW90LG1hdGNoOmlvdCxvcHRpb25zOnt3ZWVrU3RhcnRzT246MCxmaXJzdFdlZWtDb250YWluc0RhdGU6MX19LGQzcj13b30pO3ZhciBrMz1mKCgpPT57bm90KCl9KTtmdW5jdGlvbiBPSyhhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiBGcyh0LFRoKHQpKSsxfXZhciBiM3IsTjJlPWYoKCk9PntDbCgpO0lLKCk7SGUoKTtzKE9LLCJnZXREYXlPZlllYXIiKTtiM3I9T0t9KTtmdW5jdGlvbiBEaChhLGUpe2xldCB0PWtlKGEsZT8uaW4pLHI9K25zKHQpLStIbyh0KTtyZXR1cm4gTWF0aC5yb3VuZChyL2cyKSsxfXZhciBTM3IsRks9ZigoKT0+e0p0KCk7eTIoKTt2aCgpO0hlKCk7cyhEaCwiZ2V0SVNPV2VlayIpO1Mzcj1EaH0pO2Z1bmN0aW9uIGgwKGEsZSl7bGV0IHQ9a2UoYSxlPy5pbikscj10LmdldEZ1bGxZZWFyKCksaT1xYSgpLG89ZT8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9lPy5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/aS5maXJzdFdlZWtDb250YWluc0RhdGU/P2kubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/PzEsbj1GZShlPy5pbnx8YSwwKTtuLnNldEZ1bGxZZWFyKHIrMSwwLG8pLG4uc2V0SG91cnMoMCwwLDAsMCk7bGV0IGw9dHIobixlKSxkPUZlKGU/LmlufHxhLDApO2Quc2V0RnVsbFllYXIociwwLG8pLGQuc2V0SG91cnMoMCwwLDAsMCk7bGV0IGM9dHIoZCxlKTtyZXR1cm4rdD49K2w/cisxOit0Pj0rYz9yOnItMX12YXIgRDNyLHc5PWYoKCk9Pnt2aSgpO0R0KCk7cjEoKTtIZSgpO3MoaDAsImdldFdlZWtZZWFyIik7RDNyPWgwfSk7ZnVuY3Rpb24gUzMoYSxlKXtsZXQgdD1xYSgpLHI9ZT8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9lPy5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/dC5maXJzdFdlZWtDb250YWluc0RhdGU/P3QubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/PzEsaT1oMChhLGUpLG89RmUoZT8uaW58fGEsMCk7cmV0dXJuIG8uc2V0RnVsbFllYXIoaSwwLHIpLG8uc2V0SG91cnMoMCwwLDAsMCksdHIobyxlKX12YXIgTzNyLEJLPWYoKCk9Pnt2aSgpO0R0KCk7dzkoKTtyMSgpO3MoUzMsInN0YXJ0T2ZXZWVrWWVhciIpO08zcj1TM30pO2Z1bmN0aW9uIEFoKGEsZSl7bGV0IHQ9a2UoYSxlPy5pbikscj0rdHIodCxlKS0rUzModCxlKTtyZXR1cm4gTWF0aC5yb3VuZChyL2cyKSsxfXZhciBVM3IsSEs9ZigoKT0+e0p0KCk7cjEoKTtCSygpO0hlKCk7cyhBaCwiZ2V0V2VlayIpO1Uzcj1BaH0pO2Z1bmN0aW9uIGJ0KGEsZSl7bGV0IHQ9YTwwPyItIjoiIixyPU1hdGguYWJzKGEpLnRvU3RyaW5nKCkucGFkU3RhcnQoZSwiMCIpO3JldHVybiB0K3J9dmFyIHozPWYoKCk9PntzKGJ0LCJhZGRMZWFkaW5nWmVyb3MiKX0pO3ZhciBxbyxSMmU9ZigoKT0+e3ozKCk7cW89e3koYSxlKXtsZXQgdD1hLmdldEZ1bGxZZWFyKCkscj10PjA/dDoxLXQ7cmV0dXJuIGJ0KGU9PT0ieXkiP3IlMTAwOnIsZS5sZW5ndGgpfSxNKGEsZSl7bGV0IHQ9YS5nZXRNb250aCgpO3JldHVybiBlPT09Ik0iP1N0cmluZyh0KzEpOmJ0KHQrMSwyKX0sZChhLGUpe3JldHVybiBidChhLmdldERhdGUoKSxlLmxlbmd0aCl9LGEoYSxlKXtsZXQgdD1hLmdldEhvdXJzKCkvMTI+PTE/InBtIjoiYW0iO3N3aXRjaChlKXtjYXNlImEiOmNhc2UiYWEiOnJldHVybiB0LnRvVXBwZXJDYXNlKCk7Y2FzZSJhYWEiOnJldHVybiB0O2Nhc2UiYWFhYWEiOnJldHVybiB0WzBdO2RlZmF1bHQ6cmV0dXJuIHQ9PT0iYW0iPyJhLm0uIjoicC5tLiJ9fSxoKGEsZSl7cmV0dXJuIGJ0KGEuZ2V0SG91cnMoKSUxMnx8MTIsZS5sZW5ndGgpfSxIKGEsZSl7cmV0dXJuIGJ0KGEuZ2V0SG91cnMoKSxlLmxlbmd0aCl9LG0oYSxlKXtyZXR1cm4gYnQoYS5nZXRNaW51dGVzKCksZS5sZW5ndGgpfSxzKGEsZSl7cmV0dXJuIGJ0KGEuZ2V0U2Vjb25kcygpLGUubGVuZ3RoKX0sUyhhLGUpe2xldCB0PWUubGVuZ3RoLHI9YS5nZXRNaWxsaXNlY29uZHMoKSxpPU1hdGgudHJ1bmMocipNYXRoLnBvdygxMCx0LTMpKTtyZXR1cm4gYnQoaSxlLmxlbmd0aCl9fX0pO2Z1bmN0aW9uIGxvdChhLGU9IiIpe2xldCB0PWE+MD8iLSI6IisiLHI9TWF0aC5hYnMoYSksaT1NYXRoLnRydW5jKHIvNjApLG89ciU2MDtyZXR1cm4gbz09PTA/dCtTdHJpbmcoaSk6dCtTdHJpbmcoaSkrZStidChvLDIpfWZ1bmN0aW9uIGNvdChhLGUpe3JldHVybiBhJTYwPT09MD8oYT4wPyItIjoiKyIpK2J0KE1hdGguYWJzKGEpLzYwLDIpOkMzKGEsZSl9ZnVuY3Rpb24gQzMoYSxlPSIiKXtsZXQgdD1hPjA/Ii0iOiIrIixyPU1hdGguYWJzKGEpLGk9YnQoTWF0aC50cnVuYyhyLzYwKSwyKSxvPWJ0KHIlNjAsMik7cmV0dXJuIHQraStlK299dmFyIEVoLE05LGRvdD1mKCgpPT57TjJlKCk7RksoKTtjMCgpO0hLKCk7dzkoKTt6MygpO1IyZSgpO0VoPXthbToiYW0iLHBtOiJwbSIsbWlkbmlnaHQ6Im1pZG5pZ2h0Iixub29uOiJub29uIixtb3JuaW5nOiJtb3JuaW5nIixhZnRlcm5vb246ImFmdGVybm9vbiIsZXZlbmluZzoiZXZlbmluZyIsbmlnaHQ6Im5pZ2h0In0sTTk9e0c6cyhmdW5jdGlvbihhLGUsdCl7bGV0IHI9YS5nZXRGdWxsWWVhcigpPjA/MTowO3N3aXRjaChlKXtjYXNlIkciOmNhc2UiR0ciOmNhc2UiR0dHIjpyZXR1cm4gdC5lcmEocix7d2lkdGg6ImFiYnJldmlhdGVkIn0pO2Nhc2UiR0dHR0ciOnJldHVybiB0LmVyYShyLHt3aWR0aDoibmFycm93In0pO2RlZmF1bHQ6cmV0dXJuIHQuZXJhKHIse3dpZHRoOiJ3aWRlIn0pfX0sIkciKSx5OnMoZnVuY3Rpb24oYSxlLHQpe2lmKGU9PT0ieW8iKXtsZXQgcj1hLmdldEZ1bGxZZWFyKCksaT1yPjA/cjoxLXI7cmV0dXJuIHQub3JkaW5hbE51bWJlcihpLHt1bml0OiJ5ZWFyIn0pfXJldHVybiBxby55KGEsZSl9LCJ5IiksWTpzKGZ1bmN0aW9uKGEsZSx0LHIpe2xldCBpPWgwKGEsciksbz1pPjA/aToxLWk7aWYoZT09PSJZWSIpe2xldCBuPW8lMTAwO3JldHVybiBidChuLDIpfXJldHVybiBlPT09IllvIj90Lm9yZGluYWxOdW1iZXIobyx7dW5pdDoieWVhciJ9KTpidChvLGUubGVuZ3RoKX0sIlkiKSxSOnMoZnVuY3Rpb24oYSxlKXtsZXQgdD1xaShhKTtyZXR1cm4gYnQodCxlLmxlbmd0aCl9LCJSIiksdTpzKGZ1bmN0aW9uKGEsZSl7bGV0IHQ9YS5nZXRGdWxsWWVhcigpO3JldHVybiBidCh0LGUubGVuZ3RoKX0sInUiKSxROnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPU1hdGguY2VpbCgoYS5nZXRNb250aCgpKzEpLzMpO3N3aXRjaChlKXtjYXNlIlEiOnJldHVybiBTdHJpbmcocik7Y2FzZSJRUSI6cmV0dXJuIGJ0KHIsMik7Y2FzZSJRbyI6cmV0dXJuIHQub3JkaW5hbE51bWJlcihyLHt1bml0OiJxdWFydGVyIn0pO2Nhc2UiUVFRIjpyZXR1cm4gdC5xdWFydGVyKHIse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIlFRUVFRIjpyZXR1cm4gdC5xdWFydGVyKHIse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gdC5xdWFydGVyKHIse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sIlEiKSxxOnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPU1hdGguY2VpbCgoYS5nZXRNb250aCgpKzEpLzMpO3N3aXRjaChlKXtjYXNlInEiOnJldHVybiBTdHJpbmcocik7Y2FzZSJxcSI6cmV0dXJuIGJ0KHIsMik7Y2FzZSJxbyI6cmV0dXJuIHQub3JkaW5hbE51bWJlcihyLHt1bml0OiJxdWFydGVyIn0pO2Nhc2UicXFxIjpyZXR1cm4gdC5xdWFydGVyKHIse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlInFxcXFxIjpyZXR1cm4gdC5xdWFydGVyKHIse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7ZGVmYXVsdDpyZXR1cm4gdC5xdWFydGVyKHIse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfX0sInEiKSxNOnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPWEuZ2V0TW9udGgoKTtzd2l0Y2goZSl7Y2FzZSJNIjpjYXNlIk1NIjpyZXR1cm4gcW8uTShhLGUpO2Nhc2UiTW8iOnJldHVybiB0Lm9yZGluYWxOdW1iZXIocisxLHt1bml0OiJtb250aCJ9KTtjYXNlIk1NTSI6cmV0dXJuIHQubW9udGgocix7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiTU1NTU0iOnJldHVybiB0Lm1vbnRoKHIse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gdC5tb250aChyLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LCJNIiksTDpzKGZ1bmN0aW9uKGEsZSx0KXtsZXQgcj1hLmdldE1vbnRoKCk7c3dpdGNoKGUpe2Nhc2UiTCI6cmV0dXJuIFN0cmluZyhyKzEpO2Nhc2UiTEwiOnJldHVybiBidChyKzEsMik7Y2FzZSJMbyI6cmV0dXJuIHQub3JkaW5hbE51bWJlcihyKzEse3VuaXQ6Im1vbnRoIn0pO2Nhc2UiTExMIjpyZXR1cm4gdC5tb250aChyLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJMTExMTCI6cmV0dXJuIHQubW9udGgocix7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtkZWZhdWx0OnJldHVybiB0Lm1vbnRoKHIse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfX0sIkwiKSx3OnMoZnVuY3Rpb24oYSxlLHQscil7bGV0IGk9QWgoYSxyKTtyZXR1cm4gZT09PSJ3byI/dC5vcmRpbmFsTnVtYmVyKGkse3VuaXQ6IndlZWsifSk6YnQoaSxlLmxlbmd0aCl9LCJ3IiksSTpzKGZ1bmN0aW9uKGEsZSx0KXtsZXQgcj1EaChhKTtyZXR1cm4gZT09PSJJbyI/dC5vcmRpbmFsTnVtYmVyKHIse3VuaXQ6IndlZWsifSk6YnQocixlLmxlbmd0aCl9LCJJIiksZDpzKGZ1bmN0aW9uKGEsZSx0KXtyZXR1cm4gZT09PSJkbyI/dC5vcmRpbmFsTnVtYmVyKGEuZ2V0RGF0ZSgpLHt1bml0OiJkYXRlIn0pOnFvLmQoYSxlKX0sImQiKSxEOnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPU9LKGEpO3JldHVybiBlPT09IkRvIj90Lm9yZGluYWxOdW1iZXIocix7dW5pdDoiZGF5T2ZZZWFyIn0pOmJ0KHIsZS5sZW5ndGgpfSwiRCIpLEU6cyhmdW5jdGlvbihhLGUsdCl7bGV0IHI9YS5nZXREYXkoKTtzd2l0Y2goZSl7Y2FzZSJFIjpjYXNlIkVFIjpjYXNlIkVFRSI6cmV0dXJuIHQuZGF5KHIse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkVFRUVFIjpyZXR1cm4gdC5kYXkocix7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkVFRUVFRSI6cmV0dXJuIHQuZGF5KHIse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiB0LmRheShyLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LCJFIiksZTpzKGZ1bmN0aW9uKGEsZSx0LHIpe2xldCBpPWEuZ2V0RGF5KCksbz0oaS1yLndlZWtTdGFydHNPbis4KSU3fHw3O3N3aXRjaChlKXtjYXNlImUiOnJldHVybiBTdHJpbmcobyk7Y2FzZSJlZSI6cmV0dXJuIGJ0KG8sMik7Y2FzZSJlbyI6cmV0dXJuIHQub3JkaW5hbE51bWJlcihvLHt1bml0OiJkYXkifSk7Y2FzZSJlZWUiOnJldHVybiB0LmRheShpLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJlZWVlZSI6cmV0dXJuIHQuZGF5KGkse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJlZWVlZWUiOnJldHVybiB0LmRheShpLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gdC5kYXkoaSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fSwiZSIpLGM6cyhmdW5jdGlvbihhLGUsdCxyKXtsZXQgaT1hLmdldERheSgpLG89KGktci53ZWVrU3RhcnRzT24rOCklN3x8Nztzd2l0Y2goZSl7Y2FzZSJjIjpyZXR1cm4gU3RyaW5nKG8pO2Nhc2UiY2MiOnJldHVybiBidChvLGUubGVuZ3RoKTtjYXNlImNvIjpyZXR1cm4gdC5vcmRpbmFsTnVtYmVyKG8se3VuaXQ6ImRheSJ9KTtjYXNlImNjYyI6cmV0dXJuIHQuZGF5KGkse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlImNjY2NjIjpyZXR1cm4gdC5kYXkoaSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlImNjY2NjYyI6cmV0dXJuIHQuZGF5KGkse3dpZHRoOiJzaG9ydCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtkZWZhdWx0OnJldHVybiB0LmRheShpLHt3aWR0aDoid2lkZSIsY29udGV4dDoic3RhbmRhbG9uZSJ9KX19LCJjIiksaTpzKGZ1bmN0aW9uKGEsZSx0KXtsZXQgcj1hLmdldERheSgpLGk9cj09PTA/NzpyO3N3aXRjaChlKXtjYXNlImkiOnJldHVybiBTdHJpbmcoaSk7Y2FzZSJpaSI6cmV0dXJuIGJ0KGksZS5sZW5ndGgpO2Nhc2UiaW8iOnJldHVybiB0Lm9yZGluYWxOdW1iZXIoaSx7dW5pdDoiZGF5In0pO2Nhc2UiaWlpIjpyZXR1cm4gdC5kYXkocix7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiaWlpaWkiOnJldHVybiB0LmRheShyLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiaWlpaWlpIjpyZXR1cm4gdC5kYXkocix7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIHQuZGF5KHIse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sImkiKSxhOnMoZnVuY3Rpb24oYSxlLHQpe2xldCBpPWEuZ2V0SG91cnMoKS8xMj49MT8icG0iOiJhbSI7c3dpdGNoKGUpe2Nhc2UiYSI6Y2FzZSJhYSI6cmV0dXJuIHQuZGF5UGVyaW9kKGkse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlImFhYSI6cmV0dXJuIHQuZGF5UGVyaW9kKGkse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KS50b0xvd2VyQ2FzZSgpO2Nhc2UiYWFhYWEiOnJldHVybiB0LmRheVBlcmlvZChpLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIHQuZGF5UGVyaW9kKGkse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sImEiKSxiOnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPWEuZ2V0SG91cnMoKSxpO3N3aXRjaChyPT09MTI/aT1FaC5ub29uOnI9PT0wP2k9RWgubWlkbmlnaHQ6aT1yLzEyPj0xPyJwbSI6ImFtIixlKXtjYXNlImIiOmNhc2UiYmIiOnJldHVybiB0LmRheVBlcmlvZChpLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJiYmIiOnJldHVybiB0LmRheVBlcmlvZChpLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSkudG9Mb3dlckNhc2UoKTtjYXNlImJiYmJiIjpyZXR1cm4gdC5kYXlQZXJpb2QoaSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiB0LmRheVBlcmlvZChpLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LCJiIiksQjpzKGZ1bmN0aW9uKGEsZSx0KXtsZXQgcj1hLmdldEhvdXJzKCksaTtzd2l0Y2gocj49MTc/aT1FaC5ldmVuaW5nOnI+PTEyP2k9RWguYWZ0ZXJub29uOnI+PTQ/aT1FaC5tb3JuaW5nOmk9RWgubmlnaHQsZSl7Y2FzZSJCIjpjYXNlIkJCIjpjYXNlIkJCQiI6cmV0dXJuIHQuZGF5UGVyaW9kKGkse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkJCQkJCIjpyZXR1cm4gdC5kYXlQZXJpb2QoaSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiB0LmRheVBlcmlvZChpLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LCJCIiksaDpzKGZ1bmN0aW9uKGEsZSx0KXtpZihlPT09ImhvIil7bGV0IHI9YS5nZXRIb3VycygpJTEyO3JldHVybiByPT09MCYmKHI9MTIpLHQub3JkaW5hbE51bWJlcihyLHt1bml0OiJob3VyIn0pfXJldHVybiBxby5oKGEsZSl9LCJoIiksSDpzKGZ1bmN0aW9uKGEsZSx0KXtyZXR1cm4gZT09PSJIbyI/dC5vcmRpbmFsTnVtYmVyKGEuZ2V0SG91cnMoKSx7dW5pdDoiaG91ciJ9KTpxby5IKGEsZSl9LCJIIiksSzpzKGZ1bmN0aW9uKGEsZSx0KXtsZXQgcj1hLmdldEhvdXJzKCklMTI7cmV0dXJuIGU9PT0iS28iP3Qub3JkaW5hbE51bWJlcihyLHt1bml0OiJob3VyIn0pOmJ0KHIsZS5sZW5ndGgpfSwiSyIpLGs6cyhmdW5jdGlvbihhLGUsdCl7bGV0IHI9YS5nZXRIb3VycygpO3JldHVybiByPT09MCYmKHI9MjQpLGU9PT0ia28iP3Qub3JkaW5hbE51bWJlcihyLHt1bml0OiJob3VyIn0pOmJ0KHIsZS5sZW5ndGgpfSwiayIpLG06cyhmdW5jdGlvbihhLGUsdCl7cmV0dXJuIGU9PT0ibW8iP3Qub3JkaW5hbE51bWJlcihhLmdldE1pbnV0ZXMoKSx7dW5pdDoibWludXRlIn0pOnFvLm0oYSxlKX0sIm0iKSxzOnMoZnVuY3Rpb24oYSxlLHQpe3JldHVybiBlPT09InNvIj90Lm9yZGluYWxOdW1iZXIoYS5nZXRTZWNvbmRzKCkse3VuaXQ6InNlY29uZCJ9KTpxby5zKGEsZSl9LCJzIiksUzpzKGZ1bmN0aW9uKGEsZSl7cmV0dXJuIHFvLlMoYSxlKX0sIlMiKSxYOnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPWEuZ2V0VGltZXpvbmVPZmZzZXQoKTtpZihyPT09MClyZXR1cm4iWiI7c3dpdGNoKGUpe2Nhc2UiWCI6cmV0dXJuIGNvdChyKTtjYXNlIlhYWFgiOmNhc2UiWFgiOnJldHVybiBDMyhyKTtkZWZhdWx0OnJldHVybiBDMyhyLCI6Iil9fSwiWCIpLHg6cyhmdW5jdGlvbihhLGUsdCl7bGV0IHI9YS5nZXRUaW1lem9uZU9mZnNldCgpO3N3aXRjaChlKXtjYXNlIngiOnJldHVybiBjb3Qocik7Y2FzZSJ4eHh4IjpjYXNlInh4IjpyZXR1cm4gQzMocik7ZGVmYXVsdDpyZXR1cm4gQzMociwiOiIpfX0sIngiKSxPOnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPWEuZ2V0VGltZXpvbmVPZmZzZXQoKTtzd2l0Y2goZSl7Y2FzZSJPIjpjYXNlIk9PIjpjYXNlIk9PTyI6cmV0dXJuIkdNVCIrbG90KHIsIjoiKTtkZWZhdWx0OnJldHVybiJHTVQiK0MzKHIsIjoiKX19LCJPIiksejpzKGZ1bmN0aW9uKGEsZSx0KXtsZXQgcj1hLmdldFRpbWV6b25lT2Zmc2V0KCk7c3dpdGNoKGUpe2Nhc2UieiI6Y2FzZSJ6eiI6Y2FzZSJ6enoiOnJldHVybiJHTVQiK2xvdChyLCI6Iik7ZGVmYXVsdDpyZXR1cm4iR01UIitDMyhyLCI6Iil9fSwieiIpLHQ6cyhmdW5jdGlvbihhLGUsdCl7bGV0IHI9TWF0aC50cnVuYygrYS8xZTMpO3JldHVybiBidChyLGUubGVuZ3RoKX0sInQiKSxUOnMoZnVuY3Rpb24oYSxlLHQpe3JldHVybiBidCgrYSxlLmxlbmd0aCl9LCJUIil9O3MobG90LCJmb3JtYXRUaW1lem9uZVNob3J0Iik7cyhjb3QsImZvcm1hdFRpbWV6b25lV2l0aE9wdGlvbmFsTWludXRlcyIpO3MoQzMsImZvcm1hdFRpbWV6b25lIil9KTt2YXIgdW90LHBvdCxvZ2EsbTAsTzJlPWYoKCk9Pnt1b3Q9cygoYSxlKT0+e3N3aXRjaChhKXtjYXNlIlAiOnJldHVybiBlLmRhdGUoe3dpZHRoOiJzaG9ydCJ9KTtjYXNlIlBQIjpyZXR1cm4gZS5kYXRlKHt3aWR0aDoibWVkaXVtIn0pO2Nhc2UiUFBQIjpyZXR1cm4gZS5kYXRlKHt3aWR0aDoibG9uZyJ9KTtkZWZhdWx0OnJldHVybiBlLmRhdGUoe3dpZHRoOiJmdWxsIn0pfX0sImRhdGVMb25nRm9ybWF0dGVyIikscG90PXMoKGEsZSk9Pntzd2l0Y2goYSl7Y2FzZSJwIjpyZXR1cm4gZS50aW1lKHt3aWR0aDoic2hvcnQifSk7Y2FzZSJwcCI6cmV0dXJuIGUudGltZSh7d2lkdGg6Im1lZGl1bSJ9KTtjYXNlInBwcCI6cmV0dXJuIGUudGltZSh7d2lkdGg6ImxvbmcifSk7ZGVmYXVsdDpyZXR1cm4gZS50aW1lKHt3aWR0aDoiZnVsbCJ9KX19LCJ0aW1lTG9uZ0Zvcm1hdHRlciIpLG9nYT1zKChhLGUpPT57bGV0IHQ9YS5tYXRjaCgvKFArKShwKyk/Lyl8fFtdLHI9dFsxXSxpPXRbMl07aWYoIWkpcmV0dXJuIHVvdChhLGUpO2xldCBvO3N3aXRjaChyKXtjYXNlIlAiOm89ZS5kYXRlVGltZSh7d2lkdGg6InNob3J0In0pO2JyZWFrO2Nhc2UiUFAiOm89ZS5kYXRlVGltZSh7d2lkdGg6Im1lZGl1bSJ9KTticmVhaztjYXNlIlBQUCI6bz1lLmRhdGVUaW1lKHt3aWR0aDoibG9uZyJ9KTticmVhaztkZWZhdWx0Om89ZS5kYXRlVGltZSh7d2lkdGg6ImZ1bGwifSk7YnJlYWt9cmV0dXJuIG8ucmVwbGFjZSgie3tkYXRlfX0iLHVvdChyLGUpKS5yZXBsYWNlKCJ7e3RpbWV9fSIscG90KGksZSkpfSwiZGF0ZVRpbWVMb25nRm9ybWF0dGVyIiksbTA9e3A6cG90LFA6b2dhfX0pO2Z1bmN0aW9uIHFLKGEpe3JldHVybiBuZ2EudGVzdChhKX1mdW5jdGlvbiBWSyhhKXtyZXR1cm4gbGdhLnRlc3QoYSl9ZnVuY3Rpb24gazkoYSxlLHQpe2xldCByPWRnYShhLGUsdCk7aWYoY29uc29sZS53YXJuKHIpLGNnYS5pbmNsdWRlcyhhKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcihyKX1mdW5jdGlvbiBkZ2EoYSxlLHQpe2xldCByPWFbMF09PT0iWSI/InllYXJzIjoiZGF5cyBvZiB0aGUgbW9udGgiO3JldHVybmBVc2UgXGAke2EudG9Mb3dlckNhc2UoKX1cYCBpbnN0ZWFkIG9mIFxgJHthfVxgIChpbiBcYCR7ZX1cYCkgZm9yIGZvcm1hdHRpbmcgJHtyfSB0byB0aGUgaW5wdXQgXGAke3R9XGA7IHNlZTogaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdW5pY29kZVRva2Vucy5tZGB9dmFyIG5nYSxsZ2EsY2dhLEYyZT1mKCgpPT57bmdhPS9eRCskLyxsZ2E9L15ZKyQvLGNnYT1bIkQiLCJERCIsIllZIiwiWVlZWSJdO3MocUssImlzUHJvdGVjdGVkRGF5T2ZZZWFyVG9rZW4iKTtzKFZLLCJpc1Byb3RlY3RlZFdlZWtZZWFyVG9rZW4iKTtzKGs5LCJ3YXJuT3JUaHJvd1Byb3RlY3RlZEVycm9yIik7cyhkZ2EsIm1lc3NhZ2UiKX0pO2Z1bmN0aW9uIFM5KGEsZSx0KXtsZXQgcj1xYSgpLGk9dD8ubG9jYWxlPz9yLmxvY2FsZT8/d28sbz10Py5maXJzdFdlZWtDb250YWluc0RhdGU/P3Q/LmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9yLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/ci5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/MSxuPXQ/LndlZWtTdGFydHNPbj8/dD8ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/P3Iud2Vla1N0YXJ0c09uPz9yLmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz8wLGw9a2UoYSx0Py5pbik7aWYoIVhzKGwpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgZD1lLm1hdGNoKHBnYSkubWFwKHA9PntsZXQgdT1wWzBdO2lmKHU9PT0icCJ8fHU9PT0iUCIpe2xldCBtPW0wW3VdO3JldHVybiBtKHAsaS5mb3JtYXRMb25nKX1yZXR1cm4gcH0pLmpvaW4oIiIpLm1hdGNoKHVnYSkubWFwKHA9PntpZihwPT09IicnIilyZXR1cm57aXNUb2tlbjohMSx2YWx1ZToiJyJ9O2xldCB1PXBbMF07aWYodT09PSInIilyZXR1cm57aXNUb2tlbjohMSx2YWx1ZTpnZ2EocCl9O2lmKE05W3VdKXJldHVybntpc1Rva2VuOiEwLHZhbHVlOnB9O2lmKHUubWF0Y2gobWdhKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRm9ybWF0IHN0cmluZyBjb250YWlucyBhbiB1bmVzY2FwZWQgbGF0aW4gYWxwaGFiZXQgY2hhcmFjdGVyIGAiK3UrImAiKTtyZXR1cm57aXNUb2tlbjohMSx2YWx1ZTpwfX0pO2kubG9jYWxpemUucHJlcHJvY2Vzc29yJiYoZD1pLmxvY2FsaXplLnByZXByb2Nlc3NvcihsLGQpKTtsZXQgYz17Zmlyc3RXZWVrQ29udGFpbnNEYXRlOm8sd2Vla1N0YXJ0c09uOm4sbG9jYWxlOml9O3JldHVybiBkLm1hcChwPT57aWYoIXAuaXNUb2tlbilyZXR1cm4gcC52YWx1ZTtsZXQgdT1wLnZhbHVlOyghdD8udXNlQWRkaXRpb25hbFdlZWtZZWFyVG9rZW5zJiZWSyh1KXx8IXQ/LnVzZUFkZGl0aW9uYWxEYXlPZlllYXJUb2tlbnMmJnFLKHUpKSYmazkodSxlLFN0cmluZyhhKSk7bGV0IG09TTlbdVswXV07cmV0dXJuIG0obCx1LGkubG9jYWxpemUsYyl9KS5qb2luKCIiKX1mdW5jdGlvbiBnZ2EoYSl7bGV0IGU9YS5tYXRjaChmZ2EpO3JldHVybiBlP2VbMV0ucmVwbGFjZShoZ2EsIiciKTphfXZhciB1Z2EscGdhLGZnYSxoZ2EsbWdhLHZkcixCMmU9ZigoKT0+e2szKCk7dmkoKTtkb3QoKTtPMmUoKTtGMmUoKTtfbCgpO0hlKCk7dWdhPS9beVlRcU1Md0lkRGVjaWhIS2ttc11vfChcdylcMSp8Jyd8JygnJ3xbXiddKSsoJ3wkKXwuL2cscGdhPS9QK3ArfFArfHArfCcnfCcoJyd8W14nXSkrKCd8JCl8Li9nLGZnYT0vXicoW15dKj8pJz8kLyxoZ2E9LycnL2csbWdhPS9bYS16QS1aXS87cyhTOSwiZm9ybWF0Iik7cyhnZ2EsImNsZWFuRXNjYXBlZFN0cmluZyIpO3Zkcj1TOX0pO2Z1bmN0aW9uIGpLKGEsZSx0KXtsZXQgcj1xYSgpLGk9dD8ubG9jYWxlPz9yLmxvY2FsZT8/d28sbz0yNTIwLG49eGkoYSxlKTtpZihpc05hTihuKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IGw9T2JqZWN0LmFzc2lnbih7fSx0LHthZGRTdWZmaXg6dD8uYWRkU3VmZml4LGNvbXBhcmlzb246bn0pLFtkLGNdPVR0KHQ/LmluLC4uLm4+MD9bZSxhXTpbYSxlXSkscD1rMihjLGQpLHU9KElyKGMpLUlyKGQpKS8xZTMsbT1NYXRoLnJvdW5kKChwLXUpLzYwKSx2O2lmKG08MilyZXR1cm4gdD8uaW5jbHVkZVNlY29uZHM/cDw1P2kuZm9ybWF0RGlzdGFuY2UoImxlc3NUaGFuWFNlY29uZHMiLDUsbCk6cDwxMD9pLmZvcm1hdERpc3RhbmNlKCJsZXNzVGhhblhTZWNvbmRzIiwxMCxsKTpwPDIwP2kuZm9ybWF0RGlzdGFuY2UoImxlc3NUaGFuWFNlY29uZHMiLDIwLGwpOnA8NDA/aS5mb3JtYXREaXN0YW5jZSgiaGFsZkFNaW51dGUiLDAsbCk6cDw2MD9pLmZvcm1hdERpc3RhbmNlKCJsZXNzVGhhblhNaW51dGVzIiwxLGwpOmkuZm9ybWF0RGlzdGFuY2UoInhNaW51dGVzIiwxLGwpOm09PT0wP2kuZm9ybWF0RGlzdGFuY2UoImxlc3NUaGFuWE1pbnV0ZXMiLDEsbCk6aS5mb3JtYXREaXN0YW5jZSgieE1pbnV0ZXMiLG0sbCk7aWYobTw0NSlyZXR1cm4gaS5mb3JtYXREaXN0YW5jZSgieE1pbnV0ZXMiLG0sbCk7aWYobTw5MClyZXR1cm4gaS5mb3JtYXREaXN0YW5jZSgiYWJvdXRYSG91cnMiLDEsbCk7aWYobTxtaCl7bGV0IHg9TWF0aC5yb3VuZChtLzYwKTtyZXR1cm4gaS5mb3JtYXREaXN0YW5jZSgiYWJvdXRYSG91cnMiLHgsbCl9ZWxzZXtpZihtPG8pcmV0dXJuIGkuZm9ybWF0RGlzdGFuY2UoInhEYXlzIiwxLGwpO2lmKG08bzApe2xldCB4PU1hdGgucm91bmQobS9taCk7cmV0dXJuIGkuZm9ybWF0RGlzdGFuY2UoInhEYXlzIix4LGwpfWVsc2UgaWYobTxvMCoyKXJldHVybiB2PU1hdGgucm91bmQobS9vMCksaS5mb3JtYXREaXN0YW5jZSgiYWJvdXRYTW9udGhzIix2LGwpfWlmKHY9cDAoYyxkKSx2PDEyKXtsZXQgeD1NYXRoLnJvdW5kKG0vbzApO3JldHVybiBpLmZvcm1hdERpc3RhbmNlKCJ4TW9udGhzIix4LGwpfWVsc2V7bGV0IHg9diUxMixiPU1hdGgudHJ1bmModi8xMik7cmV0dXJuIHg8Mz9pLmZvcm1hdERpc3RhbmNlKCJhYm91dFhZZWFycyIsYixsKTp4PDk/aS5mb3JtYXREaXN0YW5jZSgib3ZlclhZZWFycyIsYixsKTppLmZvcm1hdERpc3RhbmNlKCJhbG1vc3RYWWVhcnMiLGIrMSxsKX19dmFyIExkcixIMmU9ZigoKT0+e2szKCk7dmkoKTt6bCgpO1VhKCk7djMoKTtKdCgpO3Y5KCk7eDkoKTtzKGpLLCJmb3JtYXREaXN0YW5jZSIpO0xkcj1qS30pO2Z1bmN0aW9uIFVLKGEsZSx0KXtsZXQgcj1xYSgpLGk9dD8ubG9jYWxlPz9yLmxvY2FsZT8/d28sbz14aShhLGUpO2lmKGlzTmFOKG8pKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgbj1PYmplY3QuYXNzaWduKHt9LHQse2FkZFN1ZmZpeDp0Py5hZGRTdWZmaXgsY29tcGFyaXNvbjpvfSksW2wsZF09VHQodD8uaW4sLi4ubz4wP1tlLGFdOlthLGVdKSxjPXlpKHQ/LnJvdW5kaW5nTWV0aG9kPz8icm91bmQiKSxwPWQuZ2V0VGltZSgpLWwuZ2V0VGltZSgpLHU9cC9iaSxtPUlyKGQpLUlyKGwpLHY9KHAtbSkvYmkseD10Py51bml0LGI7aWYoeD9iPXg6dTwxP2I9InNlY29uZCI6dTw2MD9iPSJtaW51dGUiOnU8bWg/Yj0iaG91ciI6djxvMD9iPSJkYXkiOnY8ZDJlP2I9Im1vbnRoIjpiPSJ5ZWFyIixiPT09InNlY29uZCIpe2xldCBnPWMocC8xZTMpO3JldHVybiBpLmZvcm1hdERpc3RhbmNlKCJ4U2Vjb25kcyIsZyxuKX1lbHNlIGlmKGI9PT0ibWludXRlIil7bGV0IGc9Yyh1KTtyZXR1cm4gaS5mb3JtYXREaXN0YW5jZSgieE1pbnV0ZXMiLGcsbil9ZWxzZSBpZihiPT09ImhvdXIiKXtsZXQgZz1jKHUvNjApO3JldHVybiBpLmZvcm1hdERpc3RhbmNlKCJ4SG91cnMiLGcsbil9ZWxzZSBpZihiPT09ImRheSIpe2xldCBnPWModi9taCk7cmV0dXJuIGkuZm9ybWF0RGlzdGFuY2UoInhEYXlzIixnLG4pfWVsc2UgaWYoYj09PSJtb250aCIpe2xldCBnPWModi9vMCk7cmV0dXJuIGc9PT0xMiYmeCE9PSJtb250aCI/aS5mb3JtYXREaXN0YW5jZSgieFllYXJzIiwxLG4pOmkuZm9ybWF0RGlzdGFuY2UoInhNb250aHMiLGcsbil9ZWxzZXtsZXQgZz1jKHYvZDJlKTtyZXR1cm4gaS5mb3JtYXREaXN0YW5jZSgieFllYXJzIixnLG4pfX12YXIgRmRyLHEyZT1mKCgpPT57azMoKTt2aSgpO1RsKCk7emwoKTtVYSgpO3YzKCk7SnQoKTtzKFVLLCJmb3JtYXREaXN0YW5jZVN0cmljdCIpO0Zkcj1VS30pO2Z1bmN0aW9uIGZvdChhLGUpe3JldHVybiBqSyhhLGNhKGEpLGUpfXZhciBqZHIsaG90PWYoKCk9PntfcygpO0gyZSgpO3MoZm90LCJmb3JtYXREaXN0YW5jZVRvTm93Iik7amRyPWZvdH0pO2Z1bmN0aW9uIG1vdChhLGUpe3JldHVybiBVSyhhLGNhKGEpLGUpfXZhciBLZHIsZ290PWYoKCk9PntfcygpO3EyZSgpO3MobW90LCJmb3JtYXREaXN0YW5jZVRvTm93U3RyaWN0Iik7S2RyPW1vdH0pO2Z1bmN0aW9uIGJvdChhLGUpe2xldCB0PXFhKCkscj1lPy5sb2NhbGU/P3QubG9jYWxlPz93byxpPWU/LmZvcm1hdD8/YmdhLG89ZT8uemVybz8/ITEsbj1lPy5kZWxpbWl0ZXI/PyIgIjtyZXR1cm4gci5mb3JtYXREaXN0YW5jZT9pLnJlZHVjZSgoZCxjKT0+e2xldCBwPWB4JHtjLnJlcGxhY2UoLyheLikvLG09Pm0udG9VcHBlckNhc2UoKSl9YCx1PWFbY107cmV0dXJuIHUhPT12b2lkIDAmJihvfHxhW2NdKT9kLmNvbmNhdChyLmZvcm1hdERpc3RhbmNlKHAsdSkpOmR9LFtdKS5qb2luKG4pOiIifXZhciBiZ2EsZTZyLHZvdD1mKCgpPT57azMoKTt2aSgpO2JnYT1bInllYXJzIiwibW9udGhzIiwid2Vla3MiLCJkYXlzIiwiaG91cnMiLCJtaW51dGVzIiwic2Vjb25kcyJdO3MoYm90LCJmb3JtYXREdXJhdGlvbiIpO2U2cj1ib3R9KTtmdW5jdGlvbiB4b3QoYSxlKXtsZXQgdD1rZShhLGU/LmluKTtpZihpc05hTigrdCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgdGltZSB2YWx1ZSIpO2xldCByPWU/LmZvcm1hdD8/ImV4dGVuZGVkIixpPWU/LnJlcHJlc2VudGF0aW9uPz8iY29tcGxldGUiLG89IiIsbj0iIixsPXI9PT0iZXh0ZW5kZWQiPyItIjoiIixkPXI9PT0iZXh0ZW5kZWQiPyI6IjoiIjtpZihpIT09InRpbWUiKXtsZXQgYz1idCh0LmdldERhdGUoKSwyKSxwPWJ0KHQuZ2V0TW9udGgoKSsxLDIpO289YCR7YnQodC5nZXRGdWxsWWVhcigpLDQpfSR7bH0ke3B9JHtsfSR7Y31gfWlmKGkhPT0iZGF0ZSIpe2xldCBjPXQuZ2V0VGltZXpvbmVPZmZzZXQoKTtpZihjIT09MCl7bGV0IGI9TWF0aC5hYnMoYyksZz1idChNYXRoLnRydW5jKGIvNjApLDIpLHk9YnQoYiU2MCwyKTtuPWAke2M8MD8iKyI6Ii0ifSR7Z306JHt5fWB9ZWxzZSBuPSJaIjtsZXQgcD1idCh0LmdldEhvdXJzKCksMiksdT1idCh0LmdldE1pbnV0ZXMoKSwyKSxtPWJ0KHQuZ2V0U2Vjb25kcygpLDIpLHY9bz09PSIiPyIiOiJUIix4PVtwLHUsbV0uam9pbihkKTtvPWAke299JHt2fSR7eH0ke259YH1yZXR1cm4gb312YXIgaTZyLHlvdD1mKCgpPT57ejMoKTtIZSgpO3MoeG90LCJmb3JtYXRJU08iKTtpNnI9eG90fSk7ZnVuY3Rpb24gd290KGEsZSl7bGV0IHQ9a2UoYSxlPy5pbik7aWYoIVhzKHQpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgcj1lPy5mb3JtYXQ/PyJleHRlbmRlZCIsaT1lPy5yZXByZXNlbnRhdGlvbj8/ImNvbXBsZXRlIixvPSIiLG49cj09PSJleHRlbmRlZCI/Ii0iOiIiLGw9cj09PSJleHRlbmRlZCI/IjoiOiIiO2lmKGkhPT0idGltZSIpe2xldCBkPWJ0KHQuZ2V0RGF0ZSgpLDIpLGM9YnQodC5nZXRNb250aCgpKzEsMik7bz1gJHtidCh0LmdldEZ1bGxZZWFyKCksNCl9JHtufSR7Y30ke259JHtkfWB9aWYoaSE9PSJkYXRlIil7bGV0IGQ9YnQodC5nZXRIb3VycygpLDIpLGM9YnQodC5nZXRNaW51dGVzKCksMikscD1idCh0LmdldFNlY29uZHMoKSwyKTtvPWAke299JHtvPT09IiI/IiI6IiAifSR7ZH0ke2x9JHtjfSR7bH0ke3B9YH1yZXR1cm4gb312YXIgdTZyLE1vdD1mKCgpPT57ejMoKTtfbCgpO0hlKCk7cyh3b3QsImZvcm1hdElTTzkwNzUiKTt1NnI9d290fSk7ZnVuY3Rpb24ga290KGEpe2xldHt5ZWFyczplPTAsbW9udGhzOnQ9MCxkYXlzOnI9MCxob3VyczppPTAsbWludXRlczpvPTAsc2Vjb25kczpuPTB9PWE7cmV0dXJuYFAke2V9WSR7dH1NJHtyfURUJHtpfUgke299TSR7bn1TYH12YXIgaDZyLFNvdD1mKCgpPT57cyhrb3QsImZvcm1hdElTT0R1cmF0aW9uIik7aDZyPWtvdH0pO2Z1bmN0aW9uIHpvdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO2lmKCFYcyh0KSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IHI9ZT8uZnJhY3Rpb25EaWdpdHM/PzAsaT1idCh0LmdldERhdGUoKSwyKSxvPWJ0KHQuZ2V0TW9udGgoKSsxLDIpLG49dC5nZXRGdWxsWWVhcigpLGw9YnQodC5nZXRIb3VycygpLDIpLGQ9YnQodC5nZXRNaW51dGVzKCksMiksYz1idCh0LmdldFNlY29uZHMoKSwyKSxwPSIiO2lmKHI+MCl7bGV0IHY9dC5nZXRNaWxsaXNlY29uZHMoKSx4PU1hdGgudHJ1bmModipNYXRoLnBvdygxMCxyLTMpKTtwPSIuIitidCh4LHIpfWxldCB1PSIiLG09dC5nZXRUaW1lem9uZU9mZnNldCgpO2lmKG0hPT0wKXtsZXQgdj1NYXRoLmFicyhtKSx4PWJ0KE1hdGgudHJ1bmModi82MCksMiksYj1idCh2JTYwLDIpO3U9YCR7bTwwPyIrIjoiLSJ9JHt4fToke2J9YH1lbHNlIHU9IloiO3JldHVybmAke259LSR7b30tJHtpfVQke2x9OiR7ZH06JHtjfSR7cH0ke3V9YH12YXIgeTZyLENvdD1mKCgpPT57ejMoKTtfbCgpO0hlKCk7cyh6b3QsImZvcm1hdFJGQzMzMzkiKTt5NnI9em90fSk7ZnVuY3Rpb24gX290KGEpe2xldCBlPWtlKGEpO2lmKCFYcyhlKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IHQ9dmdhW2UuZ2V0VVRDRGF5KCldLHI9YnQoZS5nZXRVVENEYXRlKCksMiksaT14Z2FbZS5nZXRVVENNb250aCgpXSxvPWUuZ2V0VVRDRnVsbFllYXIoKSxuPWJ0KGUuZ2V0VVRDSG91cnMoKSwyKSxsPWJ0KGUuZ2V0VVRDTWludXRlcygpLDIpLGQ9YnQoZS5nZXRVVENTZWNvbmRzKCksMik7cmV0dXJuYCR7dH0sICR7cn0gJHtpfSAke299ICR7bn06JHtsfToke2R9IEdNVGB9dmFyIHZnYSx4Z2EsQzZyLFRvdD1mKCgpPT57ejMoKTtfbCgpO0hlKCk7dmdhPVsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0seGdhPVsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl07cyhfb3QsImZvcm1hdFJGQzcyMzEiKTtDNnI9X290fSk7ZnVuY3Rpb24gTG90KGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpLG89cWEoKSxuPXQ/LmxvY2FsZT8/by5sb2NhbGU/P3dvLGw9dD8ud2Vla1N0YXJ0c09uPz90Py5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/by53ZWVrU3RhcnRzT24/P28ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsZD1GcyhyLGkpO2lmKGlzTmFOKGQpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgYztkPC02P2M9Im90aGVyIjpkPC0xP2M9Imxhc3RXZWVrIjpkPDA/Yz0ieWVzdGVyZGF5IjpkPDE/Yz0idG9kYXkiOmQ8Mj9jPSJ0b21vcnJvdyI6ZDw3P2M9Im5leHRXZWVrIjpjPSJvdGhlciI7bGV0IHA9bi5mb3JtYXRSZWxhdGl2ZShjLHIsaSx7bG9jYWxlOm4sd2Vla1N0YXJ0c09uOmx9KTtyZXR1cm4gUzkocixwLHtsb2NhbGU6bix3ZWVrU3RhcnRzT246bH0pfXZhciBQNnIsJG90PWYoKCk9PntrMygpO3ZpKCk7VWEoKTtDbCgpO0IyZSgpO3MoTG90LCJmb3JtYXRSZWxhdGl2ZSIpO1A2cj1Mb3R9KTtmdW5jdGlvbiBEb3QoYSxlKXtyZXR1cm4ga2UoYSoxZTMsZT8uaW4pfXZhciBPNnIsQW90PWYoKCk9PntIZSgpO3MoRG90LCJmcm9tVW5peFRpbWUiKTtPNnI9RG90fSk7ZnVuY3Rpb24gV0soYSxlKXtyZXR1cm4ga2UoYSxlPy5pbikuZ2V0RGF0ZSgpfXZhciBxNnIsVjJlPWYoKCk9PntIZSgpO3MoV0ssImdldERhdGUiKTtxNnI9V0t9KTtmdW5jdGlvbiBnMChhLGUpe3JldHVybiBrZShhLGU/LmluKS5nZXREYXkoKX12YXIgVzZyLHo5PWYoKCk9PntIZSgpO3MoZzAsImdldERheSIpO1c2cj1nMH0pO2Z1bmN0aW9uIEdLKGEsZSl7bGV0IHQ9a2UoYSxlPy5pbikscj10LmdldEZ1bGxZZWFyKCksaT10LmdldE1vbnRoKCksbz1GZSh0LDApO3JldHVybiBvLnNldEZ1bGxZZWFyKHIsaSsxLDApLG8uc2V0SG91cnMoMCwwLDAsMCksby5nZXREYXRlKCl9dmFyIFg2cixqMmU9ZigoKT0+e0R0KCk7SGUoKTtzKEdLLCJnZXREYXlzSW5Nb250aCIpO1g2cj1HS30pO2Z1bmN0aW9uIFlLKGEsZSl7bGV0IHI9a2UoYSxlPy5pbikuZ2V0RnVsbFllYXIoKTtyZXR1cm4gciU0MDA9PT0wfHxyJTQ9PT0wJiZyJTEwMCE9PTB9dmFyIHR1cixVMmU9ZigoKT0+e0hlKCk7cyhZSywiaXNMZWFwWWVhciIpO3R1cj1ZS30pO2Z1bmN0aW9uIEVvdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiBOdW1iZXIuaXNOYU4oK3QpP05hTjpZSyh0KT8zNjY6MzY1fXZhciBvdXIsUG90PWYoKCk9PntVMmUoKTtIZSgpO3MoRW90LCJnZXREYXlzSW5ZZWFyIik7b3VyPUVvdH0pO2Z1bmN0aW9uIElvdChhLGUpe2xldCByPWtlKGEsZT8uaW4pLmdldEZ1bGxZZWFyKCk7cmV0dXJuIE1hdGguZmxvb3Ioci8xMCkqMTB9dmFyIGR1cixOb3Q9ZigoKT0+e0hlKCk7cyhJb3QsImdldERlY2FkZSIpO2R1cj1Jb3R9KTtmdW5jdGlvbiBLSygpe3JldHVybiBPYmplY3QuYXNzaWduKHt9LHFhKCkpfXZhciBodXIsVzJlPWYoKCk9Pnt2aSgpO3MoS0ssImdldERlZmF1bHRPcHRpb25zIik7aHVyPUtLfSk7ZnVuY3Rpb24gUm90KGEsZSl7cmV0dXJuIGtlKGEsZT8uaW4pLmdldEhvdXJzKCl9dmFyIHZ1cixPb3Q9ZigoKT0+e0hlKCk7cyhSb3QsImdldEhvdXJzIik7dnVyPVJvdH0pO2Z1bmN0aW9uIFpLKGEsZSl7bGV0IHQ9a2UoYSxlPy5pbikuZ2V0RGF5KCk7cmV0dXJuIHQ9PT0wPzc6dH12YXIgTXVyLEcyZT1mKCgpPT57SGUoKTtzKFpLLCJnZXRJU09EYXkiKTtNdXI9Wkt9KTtmdW5jdGlvbiBGb3QoYSxlKXtsZXQgdD1IbyhhLGUpLGk9K0hvKGQwKHQsNjApKS0rdDtyZXR1cm4gTWF0aC5yb3VuZChpL2cyKX12YXIgVHVyLEJvdD1mKCgpPT57ZzkoKTtKdCgpO3ZoKCk7cyhGb3QsImdldElTT1dlZWtzSW5ZZWFyIik7VHVyPUZvdH0pO2Z1bmN0aW9uIEhvdChhKXtyZXR1cm4ga2UoYSkuZ2V0TWlsbGlzZWNvbmRzKCl9dmFyIEF1cixxb3Q9ZigoKT0+e0hlKCk7cyhIb3QsImdldE1pbGxpc2Vjb25kcyIpO0F1cj1Ib3R9KTtmdW5jdGlvbiBWb3QoYSxlKXtyZXR1cm4ga2UoYSxlPy5pbikuZ2V0TWludXRlcygpfXZhciBOdXIsam90PWYoKCk9PntIZSgpO3MoVm90LCJnZXRNaW51dGVzIik7TnVyPVZvdH0pO2Z1bmN0aW9uIFVvdChhLGUpe3JldHVybiBrZShhLGU/LmluKS5nZXRNb250aCgpfXZhciBCdXIsV290PWYoKCk9PntIZSgpO3MoVW90LCJnZXRNb250aCIpO0J1cj1Vb3R9KTtmdW5jdGlvbiBHb3QoYSxlKXtsZXRbdCxyXT1bK2tlKGEuc3RhcnQpLCtrZShhLmVuZCldLnNvcnQoKHUsbSk9PnUtbSksW2ksb109WytrZShlLnN0YXJ0KSwra2UoZS5lbmQpXS5zb3J0KCh1LG0pPT51LW0pO2lmKCEodDxvJiZpPHIpKXJldHVybiAwO2xldCBsPWk8dD90OmksZD1sLUlyKGwpLGM9bz5yP3I6byxwPWMtSXIoYyk7cmV0dXJuIE1hdGguY2VpbCgocC1kKS9KWSl9dmFyIFd1cixZb3Q9ZigoKT0+e3psKCk7SnQoKTtIZSgpO3MoR290LCJnZXRPdmVybGFwcGluZ0RheXNJbkludGVydmFscyIpO1d1cj1Hb3R9KTtmdW5jdGlvbiBLb3QoYSl7cmV0dXJuIGtlKGEpLmdldFNlY29uZHMoKX12YXIgWnVyLFpvdD1mKCgpPT57SGUoKTtzKEtvdCwiZ2V0U2Vjb25kcyIpO1p1cj1Lb3R9KTtmdW5jdGlvbiBYb3QoYSl7cmV0dXJuK2tlKGEpfXZhciBlcHIsUW90PWYoKCk9PntIZSgpO3MoWG90LCJnZXRUaW1lIik7ZXByPVhvdH0pO2Z1bmN0aW9uIEpvdChhKXtyZXR1cm4gTWF0aC50cnVuYygra2UoYSkvMWUzKX12YXIgc3ByLGVudD1mKCgpPT57SGUoKTtzKEpvdCwiZ2V0VW5peFRpbWUiKTtzcHI9Sm90fSk7ZnVuY3Rpb24gdG50KGEsZSl7bGV0IHQ9cWEoKSxyPWU/LndlZWtTdGFydHNPbj8/ZT8ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/P3Qud2Vla1N0YXJ0c09uPz90LmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz8wLGk9V0soa2UoYSxlPy5pbikpO2lmKGlzTmFOKGkpKXJldHVybiBOYU47bGV0IG89ZzAoZjAoYSxlKSksbj1yLW87bjw9MCYmKG4rPTcpO2xldCBsPWktbjtyZXR1cm4gTWF0aC5jZWlsKGwvNykrMX12YXIgcHByLGFudD1mKCgpPT57dmkoKTtWMmUoKTt6OSgpO3k5KCk7SGUoKTtzKHRudCwiZ2V0V2Vla09mTW9udGgiKTtwcHI9dG50fSk7ZnVuY3Rpb24gWEsoYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0TW9udGgoKTtyZXR1cm4gdC5zZXRGdWxsWWVhcih0LmdldEZ1bGxZZWFyKCkscisxLDApLHQuc2V0SG91cnMoMCwwLDAsMCksa2UodCxlPy5pbil9dmFyIGdwcixZMmU9ZigoKT0+e0hlKCk7cyhYSywibGFzdERheU9mTW9udGgiKTtncHI9WEt9KTtmdW5jdGlvbiBybnQoYSxlKXtsZXQgdD1rZShhLGU/LmluKTtyZXR1cm4geTMoWEsodCxlKSxmMCh0LGUpLGUpKzF9dmFyIGtwcixzbnQ9ZigoKT0+e3lLKCk7WTJlKCk7eTkoKTtIZSgpO3Mocm50LCJnZXRXZWVrc0luTW9udGgiKTtrcHI9cm50fSk7ZnVuY3Rpb24gaW50KGEsZSl7cmV0dXJuIGtlKGEsZT8uaW4pLmdldEZ1bGxZZWFyKCl9dmFyIF9wcixvbnQ9ZigoKT0+e0hlKCk7cyhpbnQsImdldFllYXIiKTtfcHI9aW50fSk7ZnVuY3Rpb24gbm50KGEpe3JldHVybiBNYXRoLnRydW5jKGEqQm8pfXZhciBEcHIsbG50PWYoKCk9PntKdCgpO3Mobm50LCJob3Vyc1RvTWlsbGlzZWNvbmRzIik7RHByPW5udH0pO2Z1bmN0aW9uIGNudChhKXtyZXR1cm4gTWF0aC50cnVuYyhhKmVLKX12YXIgSXByLGRudD1mKCgpPT57SnQoKTtzKGNudCwiaG91cnNUb01pbnV0ZXMiKTtJcHI9Y250fSk7ZnVuY3Rpb24gdW50KGEpe3JldHVybiBNYXRoLnRydW5jKGEqYjMpfXZhciBGcHIscG50PWYoKCk9PntKdCgpO3ModW50LCJob3Vyc1RvU2Vjb25kcyIpO0Zwcj11bnR9KTtmdW5jdGlvbiBmbnQoYSxlLHQpe2xldFtyLGldPVR0KHQ/LmluLGEsZSk7aWYoaXNOYU4oK3IpKXRocm93IG5ldyBUeXBlRXJyb3IoIlN0YXJ0IGRhdGUgaXMgaW52YWxpZCIpO2lmKGlzTmFOKCtpKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFbmQgZGF0ZSBpcyBpbnZhbGlkIik7aWYodD8uYXNzZXJ0UG9zaXRpdmUmJityPitpKXRocm93IG5ldyBUeXBlRXJyb3IoIkVuZCBkYXRlIG11c3QgYmUgYWZ0ZXIgc3RhcnQgZGF0ZSIpO3JldHVybntzdGFydDpyLGVuZDppfX12YXIgVnByLGhudD1mKCgpPT57VWEoKTtzKGZudCwiaW50ZXJ2YWwiKTtWcHI9Zm50fSk7ZnVuY3Rpb24gbW50KGEsZSl7bGV0e3N0YXJ0OnQsZW5kOnJ9PUJzKGU/LmluLGEpLGk9e30sbz0kSyhyLHQpO28mJihpLnllYXJzPW8pO2xldCBuPW4wKHQse3llYXJzOmkueWVhcnN9KSxsPXAwKHIsbik7bCYmKGkubW9udGhzPWwpO2xldCBkPW4wKG4se21vbnRoczppLm1vbnRoc30pLGM9a2gocixkKTtjJiYoaS5kYXlzPWMpO2xldCBwPW4wKGQse2RheXM6aS5kYXlzfSksdT13MyhyLHApO3UmJihpLmhvdXJzPXUpO2xldCBtPW4wKHAse2hvdXJzOmkuaG91cnN9KSx2PU0zKHIsbSk7diYmKGkubWludXRlcz12KTtsZXQgeD1uMChtLHttaW51dGVzOmkubWludXRlc30pLGI9azIocix4KTtyZXR1cm4gYiYmKGkuc2Vjb25kcz1iKSxpfXZhciBlZnIsZ250PWYoKCk9PntTMigpO2gyZSgpO01LKCk7a0soKTtDSygpO3Y5KCk7eDkoKTtBMmUoKTtzKG1udCwiaW50ZXJ2YWxUb0R1cmF0aW9uIik7ZWZyPW1udH0pO2Z1bmN0aW9uIGJudChhLGUsdCl7bGV0IHI7cmV0dXJuIHlnYShlKT9yPWU6dD1lLG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHQ/LmxvY2FsZSxyKS5mb3JtYXQoa2UoYSkpfWZ1bmN0aW9uIHlnYShhKXtyZXR1cm4gYSE9PXZvaWQgMCYmISgibG9jYWxlImluIGEpfXZhciBzZnIsdm50PWYoKCk9PntIZSgpO3MoYm50LCJpbnRsRm9ybWF0Iik7cyh5Z2EsImlzRm9ybWF0T3B0aW9ucyIpO3Nmcj1ibnR9KTtmdW5jdGlvbiB4bnQoYSxlLHQpe2xldCByPTAsaSxbbyxuXT1UdCh0Py5pbixhLGUpO2lmKHQ/LnVuaXQpaT10Py51bml0LGk9PT0ic2Vjb25kIj9yPWsyKG8sbik6aT09PSJtaW51dGUiP3I9TTMobyxuKTppPT09ImhvdXIiP3I9dzMobyxuKTppPT09ImRheSI/cj1GcyhvLG4pOmk9PT0id2VlayI/cj15MyhvLG4pOmk9PT0ibW9udGgiP3I9eDMobyxuKTppPT09InF1YXJ0ZXIiP3I9TWgobyxuKTppPT09InllYXIiJiYocj11MChvLG4pKTtlbHNle2xldCBkPWsyKG8sbik7TWF0aC5hYnMoZCk8Z2g/KHI9azIobyxuKSxpPSJzZWNvbmQiKTpNYXRoLmFicyhkKTxiMz8ocj1NMyhvLG4pLGk9Im1pbnV0ZSIpOk1hdGguYWJzKGQpPFhZJiZNYXRoLmFicyhGcyhvLG4pKTwxPyhyPXczKG8sbiksaT0iaG91ciIpOk1hdGguYWJzKGQpPEZzdCYmKHI9RnMobyxuKSkmJk1hdGguYWJzKHIpPDc/aT0iZGF5IjpNYXRoLmFicyhkKTxwMmU/KHI9eTMobyxuKSxpPSJ3ZWVrIik6TWF0aC5hYnMoZCk8QnN0PyhyPXgzKG8sbiksaT0ibW9udGgiKTpNYXRoLmFicyhkKTx1MmU/TWgobyxuKTw0PyhyPU1oKG8sbiksaT0icXVhcnRlciIpOihyPXUwKG8sbiksaT0ieWVhciIpOihyPXUwKG8sbiksaT0ieWVhciIpfXJldHVybiBuZXcgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQodD8ubG9jYWxlLHtudW1lcmljOiJhdXRvIiwuLi50fSkuZm9ybWF0KHIsaSl9dmFyIGJmcix5bnQ9ZigoKT0+e1VhKCk7SnQoKTtDbCgpO3hLKCk7TDJlKCk7eUsoKTt3SygpO2tLKCk7Q0soKTt4OSgpO3MoeG50LCJpbnRsRm9ybWF0RGlzdGFuY2UiKTtiZnI9eG50fSk7ZnVuY3Rpb24gd250KGEsZSl7cmV0dXJuK2tlKGEpPitrZShlKX12YXIgd2ZyLE1udD1mKCgpPT57SGUoKTtzKHdudCwiaXNBZnRlciIpO3dmcj13bnR9KTtmdW5jdGlvbiBrbnQoYSxlKXtyZXR1cm4ra2UoYSk8K2tlKGUpfXZhciB6ZnIsU250PWYoKCk9PntIZSgpO3Moa250LCJpc0JlZm9yZSIpO3pmcj1rbnR9KTtmdW5jdGlvbiB6bnQoYSxlKXtyZXR1cm4ra2UoYSk9PStrZShlKX12YXIgTGZyLENudD1mKCgpPT57SGUoKTtzKHpudCwiaXNFcXVhbCIpO0xmcj16bnR9KTtmdW5jdGlvbiBfbnQoYSxlLHQpe2xldCByPW5ldyBEYXRlKGEsZSx0KTtyZXR1cm4gci5nZXRGdWxsWWVhcigpPT09YSYmci5nZXRNb250aCgpPT09ZSYmci5nZXREYXRlKCk9PT10fXZhciBBZnIsVG50PWYoKCk9PntzKF9udCwiaXNFeGlzdHMiKTtBZnI9X250fSk7ZnVuY3Rpb24gTG50KGEsZSl7cmV0dXJuIGtlKGEsZT8uaW4pLmdldERhdGUoKT09PTF9dmFyIE5mciwkbnQ9ZigoKT0+e0hlKCk7cyhMbnQsImlzRmlyc3REYXlPZk1vbnRoIik7TmZyPUxudH0pO2Z1bmN0aW9uIERudChhLGUpe3JldHVybiBrZShhLGU/LmluKS5nZXREYXkoKT09PTV9dmFyIEJmcixBbnQ9ZigoKT0+e0hlKCk7cyhEbnQsImlzRnJpZGF5Iik7QmZyPURudH0pO2Z1bmN0aW9uIEVudChhKXtyZXR1cm4ra2UoYSk+RGF0ZS5ub3coKX12YXIgamZyLFBudD1mKCgpPT57SGUoKTtzKEVudCwiaXNGdXR1cmUiKTtqZnI9RW50fSk7ZnVuY3Rpb24gUUsoYSxlKXtsZXQgdD13Z2EoZSk/bmV3IGUoMCk6RmUoZSwwKTtyZXR1cm4gdC5zZXRGdWxsWWVhcihhLmdldEZ1bGxZZWFyKCksYS5nZXRNb250aCgpLGEuZ2V0RGF0ZSgpKSx0LnNldEhvdXJzKGEuZ2V0SG91cnMoKSxhLmdldE1pbnV0ZXMoKSxhLmdldFNlY29uZHMoKSxhLmdldE1pbGxpc2Vjb25kcygpKSx0fWZ1bmN0aW9uIHdnYShhKXtyZXR1cm4gdHlwZW9mIGE9PSJmdW5jdGlvbiImJmEucHJvdG90eXBlPy5jb25zdHJ1Y3Rvcj09PWF9dmFyIFlmcixLMmU9ZigoKT0+e0R0KCk7cyhRSywidHJhbnNwb3NlIik7cyh3Z2EsImlzQ29uc3RydWN0b3IiKTtZZnI9UUt9KTt2YXIgTWdhLEpLLGVaLHRaLFoyZT1mKCgpPT57RHQoKTtLMmUoKTtNZ2E9MTAsSks9Y2xhc3N7c3RhdGlje3ModGhpcywiU2V0dGVyIil9c3ViUHJpb3JpdHk9MDt2YWxpZGF0ZShlLHQpe3JldHVybiEwfX0sZVo9Y2xhc3MgZXh0ZW5kcyBKS3tzdGF0aWN7cyh0aGlzLCJWYWx1ZVNldHRlciIpfWNvbnN0cnVjdG9yKGUsdCxyLGksbyl7c3VwZXIoKSx0aGlzLnZhbHVlPWUsdGhpcy52YWxpZGF0ZVZhbHVlPXQsdGhpcy5zZXRWYWx1ZT1yLHRoaXMucHJpb3JpdHk9aSxvJiYodGhpcy5zdWJQcmlvcml0eT1vKX12YWxpZGF0ZShlLHQpe3JldHVybiB0aGlzLnZhbGlkYXRlVmFsdWUoZSx0aGlzLnZhbHVlLHQpfXNldChlLHQscil7cmV0dXJuIHRoaXMuc2V0VmFsdWUoZSx0LHRoaXMudmFsdWUscil9fSx0Wj1jbGFzcyBleHRlbmRzIEpLe3N0YXRpY3tzKHRoaXMsIkRhdGVUaW1lem9uZVNldHRlciIpfXByaW9yaXR5PU1nYTtzdWJQcmlvcml0eT0tMTtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5jb250ZXh0PWV8fChyPT5GZSh0LHIpKX1zZXQoZSx0KXtyZXR1cm4gdC50aW1lc3RhbXBJc1NldD9lOkZlKGUsUUsoZSx0aGlzLmNvbnRleHQpKX19fSk7dmFyIGd0LElhPWYoKCk9PntaMmUoKTtndD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJQYXJzZXIiKX1ydW4oZSx0LHIsaSl7bGV0IG89dGhpcy5wYXJzZShlLHQscixpKTtyZXR1cm4gbz97c2V0dGVyOm5ldyBlWihvLnZhbHVlLHRoaXMudmFsaWRhdGUsdGhpcy5zZXQsdGhpcy5wcmlvcml0eSx0aGlzLnN1YlByaW9yaXR5KSxyZXN0Om8ucmVzdH06bnVsbH12YWxpZGF0ZShlLHQscil7cmV0dXJuITB9fX0pO3ZhciBhWixJbnQ9ZigoKT0+e0lhKCk7YVo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJFcmFQYXJzZXIiKX1wcmlvcml0eT0xNDA7cGFyc2UoZSx0LHIpe3N3aXRjaCh0KXtjYXNlIkciOmNhc2UiR0ciOmNhc2UiR0dHIjpyZXR1cm4gci5lcmEoZSx7d2lkdGg6ImFiYnJldmlhdGVkIn0pfHxyLmVyYShlLHt3aWR0aDoibmFycm93In0pO2Nhc2UiR0dHR0ciOnJldHVybiByLmVyYShlLHt3aWR0aDoibmFycm93In0pO2RlZmF1bHQ6cmV0dXJuIHIuZXJhKGUse3dpZHRoOiJ3aWRlIn0pfHxyLmVyYShlLHt3aWR0aDoiYWJicmV2aWF0ZWQifSl8fHIuZXJhKGUse3dpZHRoOiJuYXJyb3cifSl9fXNldChlLHQscil7cmV0dXJuIHQuZXJhPXIsZS5zZXRGdWxsWWVhcihyLDAsMSksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bIlIiLCJ1IiwidCIsIlQiXX19KTt2YXIgX2EsZ24sd2k9ZigoKT0+e19hPXttb250aDovXigxWzAtMl18MD9cZCkvLGRhdGU6L14oM1swLTFdfFswLTJdP1xkKS8sZGF5T2ZZZWFyOi9eKDM2WzAtNl18M1swLTVdXGR8WzAtMl0/XGQ/XGQpLyx3ZWVrOi9eKDVbMC0zXXxbMC00XT9cZCkvLGhvdXIyM2g6L14oMlswLTNdfFswLTFdP1xkKS8saG91cjI0aDovXigyWzAtNF18WzAtMV0/XGQpLyxob3VyMTFoOi9eKDFbMC0xXXwwP1xkKS8saG91cjEyaDovXigxWzAtMl18MD9cZCkvLG1pbnV0ZTovXlswLTVdP1xkLyxzZWNvbmQ6L15bMC01XT9cZC8sc2luZ2xlRGlnaXQ6L15cZC8sdHdvRGlnaXRzOi9eXGR7MSwyfS8sdGhyZWVEaWdpdHM6L15cZHsxLDN9Lyxmb3VyRGlnaXRzOi9eXGR7MSw0fS8sYW55RGlnaXRzU2lnbmVkOi9eLT9cZCsvLHNpbmdsZURpZ2l0U2lnbmVkOi9eLT9cZC8sdHdvRGlnaXRzU2lnbmVkOi9eLT9cZHsxLDJ9Lyx0aHJlZURpZ2l0c1NpZ25lZDovXi0/XGR7MSwzfS8sZm91ckRpZ2l0c1NpZ25lZDovXi0/XGR7MSw0fS99LGduPXtiYXNpY09wdGlvbmFsTWludXRlczovXihbKy1dKShcZHsyfSkoXGR7Mn0pP3xaLyxiYXNpYzovXihbKy1dKShcZHsyfSkoXGR7Mn0pfFovLGJhc2ljT3B0aW9uYWxTZWNvbmRzOi9eKFsrLV0pKFxkezJ9KShcZHsyfSkoKFxkezJ9KSk/fFovLGV4dGVuZGVkOi9eKFsrLV0pKFxkezJ9KTooXGR7Mn0pfFovLGV4dGVuZGVkT3B0aW9uYWxTZWNvbmRzOi9eKFsrLV0pKFxkezJ9KTooXGR7Mn0pKDooXGR7Mn0pKT98Wi99fSk7ZnVuY3Rpb24gV2EoYSxlKXtyZXR1cm4gYSYme3ZhbHVlOmUoYS52YWx1ZSkscmVzdDphLnJlc3R9fWZ1bmN0aW9uIGthKGEsZSl7bGV0IHQ9ZS5tYXRjaChhKTtyZXR1cm4gdD97dmFsdWU6cGFyc2VJbnQodFswXSwxMCkscmVzdDplLnNsaWNlKHRbMF0ubGVuZ3RoKX06bnVsbH1mdW5jdGlvbiBibihhLGUpe2xldCB0PWUubWF0Y2goYSk7aWYoIXQpcmV0dXJuIG51bGw7aWYodFswXT09PSJaIilyZXR1cm57dmFsdWU6MCxyZXN0OmUuc2xpY2UoMSl9O2xldCByPXRbMV09PT0iKyI/MTotMSxpPXRbMl0/cGFyc2VJbnQodFsyXSwxMCk6MCxvPXRbM10/cGFyc2VJbnQodFszXSwxMCk6MCxuPXRbNV0/cGFyc2VJbnQodFs1XSwxMCk6MDtyZXR1cm57dmFsdWU6ciooaSpCbytvKmJpK24qaGgpLHJlc3Q6ZS5zbGljZSh0WzBdLmxlbmd0aCl9fWZ1bmN0aW9uIHJaKGEpe3JldHVybiBrYShfYS5hbnlEaWdpdHNTaWduZWQsYSl9ZnVuY3Rpb24gWXQoYSxlKXtzd2l0Y2goYSl7Y2FzZSAxOnJldHVybiBrYShfYS5zaW5nbGVEaWdpdCxlKTtjYXNlIDI6cmV0dXJuIGthKF9hLnR3b0RpZ2l0cyxlKTtjYXNlIDM6cmV0dXJuIGthKF9hLnRocmVlRGlnaXRzLGUpO2Nhc2UgNDpyZXR1cm4ga2EoX2EuZm91ckRpZ2l0cyxlKTtkZWZhdWx0OnJldHVybiBrYShuZXcgUmVnRXhwKCJeXFxkezEsIithKyJ9IiksZSl9fWZ1bmN0aW9uIFBoKGEsZSl7c3dpdGNoKGEpe2Nhc2UgMTpyZXR1cm4ga2EoX2Euc2luZ2xlRGlnaXRTaWduZWQsZSk7Y2FzZSAyOnJldHVybiBrYShfYS50d29EaWdpdHNTaWduZWQsZSk7Y2FzZSAzOnJldHVybiBrYShfYS50aHJlZURpZ2l0c1NpZ25lZCxlKTtjYXNlIDQ6cmV0dXJuIGthKF9hLmZvdXJEaWdpdHNTaWduZWQsZSk7ZGVmYXVsdDpyZXR1cm4ga2EobmV3IFJlZ0V4cCgiXi0/XFxkezEsIithKyJ9IiksZSl9fWZ1bmN0aW9uIEloKGEpe3N3aXRjaChhKXtjYXNlIm1vcm5pbmciOnJldHVybiA0O2Nhc2UiZXZlbmluZyI6cmV0dXJuIDE3O2Nhc2UicG0iOmNhc2Uibm9vbiI6Y2FzZSJhZnRlcm5vb24iOnJldHVybiAxMjtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvbiBzWihhLGUpe2xldCB0PWU+MCxyPXQ/ZToxLWUsaTtpZihyPD01MClpPWF8fDEwMDtlbHNle2xldCBvPXIrNTAsbj1NYXRoLnRydW5jKG8vMTAwKSoxMDAsbD1hPj1vJTEwMDtpPWErbi0obD8xMDA6MCl9cmV0dXJuIHQ/aToxLWl9ZnVuY3Rpb24gaVooYSl7cmV0dXJuIGElNDAwPT09MHx8YSU0PT09MCYmYSUxMDAhPT0wfXZhciBWYT1mKCgpPT57SnQoKTt3aSgpO3MoV2EsIm1hcFZhbHVlIik7cyhrYSwicGFyc2VOdW1lcmljUGF0dGVybiIpO3MoYm4sInBhcnNlVGltZXpvbmVQYXR0ZXJuIik7cyhyWiwicGFyc2VBbnlEaWdpdHNTaWduZWQiKTtzKFl0LCJwYXJzZU5EaWdpdHMiKTtzKFBoLCJwYXJzZU5EaWdpdHNTaWduZWQiKTtzKEloLCJkYXlQZXJpb2RFbnVtVG9Ib3VycyIpO3Moc1osIm5vcm1hbGl6ZVR3b0RpZ2l0WWVhciIpO3MoaVosImlzTGVhcFllYXJJbmRleCIpfSk7dmFyIG9aLE5udD1mKCgpPT57SWEoKTtWYSgpO29aPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiWWVhclBhcnNlciIpfXByaW9yaXR5PTEzMDtpbmNvbXBhdGlibGVUb2tlbnM9WyJZIiwiUiIsInUiLCJ3IiwiSSIsImkiLCJlIiwiYyIsInQiLCJUIl07cGFyc2UoZSx0LHIpe2xldCBpPXMobz0+KHt5ZWFyOm8saXNUd29EaWdpdFllYXI6dD09PSJ5eSJ9KSwidmFsdWVDYWxsYmFjayIpO3N3aXRjaCh0KXtjYXNlInkiOnJldHVybiBXYShZdCg0LGUpLGkpO2Nhc2UieW8iOnJldHVybiBXYShyLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoieWVhciJ9KSxpKTtkZWZhdWx0OnJldHVybiBXYShZdCh0Lmxlbmd0aCxlKSxpKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdC5pc1R3b0RpZ2l0WWVhcnx8dC55ZWFyPjB9c2V0KGUsdCxyKXtsZXQgaT1lLmdldEZ1bGxZZWFyKCk7aWYoci5pc1R3b0RpZ2l0WWVhcil7bGV0IG49c1ooci55ZWFyLGkpO3JldHVybiBlLnNldEZ1bGxZZWFyKG4sMCwxKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9bGV0IG89ISgiZXJhImluIHQpfHx0LmVyYT09PTE/ci55ZWFyOjEtci55ZWFyO3JldHVybiBlLnNldEZ1bGxZZWFyKG8sMCwxKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9fX0pO3ZhciBuWixSbnQ9ZigoKT0+e3c5KCk7cjEoKTtJYSgpO1ZhKCk7blo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJMb2NhbFdlZWtZZWFyUGFyc2VyIil9cHJpb3JpdHk9MTMwO3BhcnNlKGUsdCxyKXtsZXQgaT1zKG89Pih7eWVhcjpvLGlzVHdvRGlnaXRZZWFyOnQ9PT0iWVkifSksInZhbHVlQ2FsbGJhY2siKTtzd2l0Y2godCl7Y2FzZSJZIjpyZXR1cm4gV2EoWXQoNCxlKSxpKTtjYXNlIllvIjpyZXR1cm4gV2Eoci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6InllYXIifSksaSk7ZGVmYXVsdDpyZXR1cm4gV2EoWXQodC5sZW5ndGgsZSksaSl9fXZhbGlkYXRlKGUsdCl7cmV0dXJuIHQuaXNUd29EaWdpdFllYXJ8fHQueWVhcj4wfXNldChlLHQscixpKXtsZXQgbz1oMChlLGkpO2lmKHIuaXNUd29EaWdpdFllYXIpe2xldCBsPXNaKHIueWVhcixvKTtyZXR1cm4gZS5zZXRGdWxsWWVhcihsLDAsaS5maXJzdFdlZWtDb250YWluc0RhdGUpLGUuc2V0SG91cnMoMCwwLDAsMCksdHIoZSxpKX1sZXQgbj0hKCJlcmEiaW4gdCl8fHQuZXJhPT09MT9yLnllYXI6MS1yLnllYXI7cmV0dXJuIGUuc2V0RnVsbFllYXIobiwwLGkuZmlyc3RXZWVrQ29udGFpbnNEYXRlKSxlLnNldEhvdXJzKDAsMCwwLDApLHRyKGUsaSl9aW5jb21wYXRpYmxlVG9rZW5zPVsieSIsIlIiLCJ1IiwiUSIsInEiLCJNIiwiTCIsIkkiLCJkIiwiRCIsImkiLCJ0IiwiVCJdfX0pO3ZhciBsWixPbnQ9ZigoKT0+e3kyKCk7RHQoKTtJYSgpO1ZhKCk7bFo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJJU09XZWVrWWVhclBhcnNlciIpfXByaW9yaXR5PTEzMDtwYXJzZShlLHQpe3JldHVybiB0PT09IlIiP1BoKDQsZSk6UGgodC5sZW5ndGgsZSl9c2V0KGUsdCxyKXtsZXQgaT1GZShlLDApO3JldHVybiBpLnNldEZ1bGxZZWFyKHIsMCw0KSxpLnNldEhvdXJzKDAsMCwwLDApLG5zKGkpfWluY29tcGF0aWJsZVRva2Vucz1bIkciLCJ5IiwiWSIsInUiLCJRIiwicSIsIk0iLCJMIiwidyIsImQiLCJEIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciBjWixGbnQ9ZigoKT0+e0lhKCk7VmEoKTtjWj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIkV4dGVuZGVkWWVhclBhcnNlciIpfXByaW9yaXR5PTEzMDtwYXJzZShlLHQpe3JldHVybiB0PT09InUiP1BoKDQsZSk6UGgodC5sZW5ndGgsZSl9c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRGdWxsWWVhcihyLDAsMSksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bIkciLCJ5IiwiWSIsIlIiLCJ3IiwiSSIsImkiLCJlIiwiYyIsInQiLCJUIl19fSk7dmFyIGRaLEJudD1mKCgpPT57SWEoKTtWYSgpO2RaPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiUXVhcnRlclBhcnNlciIpfXByaW9yaXR5PTEyMDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiUSI6Y2FzZSJRUSI6cmV0dXJuIFl0KHQubGVuZ3RoLGUpO2Nhc2UiUW8iOnJldHVybiByLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoicXVhcnRlciJ9KTtjYXNlIlFRUSI6cmV0dXJuIHIucXVhcnRlcihlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIucXVhcnRlcihlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiUVFRUVEiOnJldHVybiByLnF1YXJ0ZXIoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiByLnF1YXJ0ZXIoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIucXVhcnRlcihlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIucXVhcnRlcihlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0xJiZ0PD00fXNldChlLHQscil7cmV0dXJuIGUuc2V0TW9udGgoKHItMSkqMywxKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9aW5jb21wYXRpYmxlVG9rZW5zPVsiWSIsIlIiLCJxIiwiTSIsIkwiLCJ3IiwiSSIsImQiLCJEIiwiaSIsImUiLCJjIiwidCIsIlQiXX19KTt2YXIgdVosSG50PWYoKCk9PntJYSgpO1ZhKCk7dVo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJTdGFuZEFsb25lUXVhcnRlclBhcnNlciIpfXByaW9yaXR5PTEyMDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UicSI6Y2FzZSJxcSI6cmV0dXJuIFl0KHQubGVuZ3RoLGUpO2Nhc2UicW8iOnJldHVybiByLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoicXVhcnRlciJ9KTtjYXNlInFxcSI6cmV0dXJuIHIucXVhcnRlcihlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIucXVhcnRlcihlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2Nhc2UicXFxcXEiOnJldHVybiByLnF1YXJ0ZXIoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtkZWZhdWx0OnJldHVybiByLnF1YXJ0ZXIoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIucXVhcnRlcihlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIucXVhcnRlcihlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0xJiZ0PD00fXNldChlLHQscil7cmV0dXJuIGUuc2V0TW9udGgoKHItMSkqMywxKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9aW5jb21wYXRpYmxlVG9rZW5zPVsiWSIsIlIiLCJRIiwiTSIsIkwiLCJ3IiwiSSIsImQiLCJEIiwiaSIsImUiLCJjIiwidCIsIlQiXX19KTt2YXIgcFoscW50PWYoKCk9Pnt3aSgpO0lhKCk7VmEoKTtwWj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIk1vbnRoUGFyc2VyIil9aW5jb21wYXRpYmxlVG9rZW5zPVsiWSIsIlIiLCJxIiwiUSIsIkwiLCJ3IiwiSSIsIkQiLCJpIiwiZSIsImMiLCJ0IiwiVCJdO3ByaW9yaXR5PTExMDtwYXJzZShlLHQscil7bGV0IGk9cyhvPT5vLTEsInZhbHVlQ2FsbGJhY2siKTtzd2l0Y2godCl7Y2FzZSJNIjpyZXR1cm4gV2Eoa2EoX2EubW9udGgsZSksaSk7Y2FzZSJNTSI6cmV0dXJuIFdhKFl0KDIsZSksaSk7Y2FzZSJNbyI6cmV0dXJuIFdhKHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJtb250aCJ9KSxpKTtjYXNlIk1NTSI6cmV0dXJuIHIubW9udGgoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLm1vbnRoKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJNTU1NTSI6cmV0dXJuIHIubW9udGgoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiByLm1vbnRoKGUse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLm1vbnRoKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5tb250aChlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0wJiZ0PD0xMX1zZXQoZSx0LHIpe3JldHVybiBlLnNldE1vbnRoKHIsMSksZS5zZXRIb3VycygwLDAsMCwwKSxlfX19KTt2YXIgZlosVm50PWYoKCk9Pnt3aSgpO0lhKCk7VmEoKTtmWj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIlN0YW5kQWxvbmVNb250aFBhcnNlciIpfXByaW9yaXR5PTExMDtwYXJzZShlLHQscil7bGV0IGk9cyhvPT5vLTEsInZhbHVlQ2FsbGJhY2siKTtzd2l0Y2godCl7Y2FzZSJMIjpyZXR1cm4gV2Eoa2EoX2EubW9udGgsZSksaSk7Y2FzZSJMTCI6cmV0dXJuIFdhKFl0KDIsZSksaSk7Y2FzZSJMbyI6cmV0dXJuIFdhKHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJtb250aCJ9KSxpKTtjYXNlIkxMTCI6cmV0dXJuIHIubW9udGgoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxyLm1vbnRoKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJMTExMTCI6cmV0dXJuIHIubW9udGgoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtkZWZhdWx0OnJldHVybiByLm1vbnRoKGUse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxyLm1vbnRoKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8ci5tb250aChlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0wJiZ0PD0xMX1zZXQoZSx0LHIpe3JldHVybiBlLnNldE1vbnRoKHIsMSksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bIlkiLCJSIiwicSIsIlEiLCJNIiwidyIsIkkiLCJEIiwiaSIsImUiLCJjIiwidCIsIlQiXX19KTtmdW5jdGlvbiBoWihhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbiksaT1BaChyLHQpLWU7cmV0dXJuIHIuc2V0RGF0ZShyLmdldERhdGUoKS1pKjcpLGtlKHIsdD8uaW4pfXZhciBRNXIsWDJlPWYoKCk9PntISygpO0hlKCk7cyhoWiwic2V0V2VlayIpO1E1cj1oWn0pO3ZhciBtWixqbnQ9ZigoKT0+e1gyZSgpO3IxKCk7d2koKTtJYSgpO1ZhKCk7bVo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJMb2NhbFdlZWtQYXJzZXIiKX1wcmlvcml0eT0xMDA7cGFyc2UoZSx0LHIpe3N3aXRjaCh0KXtjYXNlInciOnJldHVybiBrYShfYS53ZWVrLGUpO2Nhc2Uid28iOnJldHVybiByLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoid2VlayJ9KTtkZWZhdWx0OnJldHVybiBZdCh0Lmxlbmd0aCxlKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MSYmdDw9NTN9c2V0KGUsdCxyLGkpe3JldHVybiB0cihoWihlLHIsaSksaSl9aW5jb21wYXRpYmxlVG9rZW5zPVsieSIsIlIiLCJ1IiwicSIsIlEiLCJNIiwiTCIsIkkiLCJkIiwiRCIsImkiLCJ0IiwiVCJdfX0pO2Z1bmN0aW9uIGdaKGEsZSx0KXtsZXQgcj1rZShhLHQ/LmluKSxpPURoKHIsdCktZTtyZXR1cm4gci5zZXREYXRlKHIuZ2V0RGF0ZSgpLWkqNykscn12YXIgZGhyLFEyZT1mKCgpPT57RksoKTtIZSgpO3MoZ1osInNldElTT1dlZWsiKTtkaHI9Z1p9KTt2YXIgYlosVW50PWYoKCk9PntRMmUoKTt5MigpO3dpKCk7SWEoKTtWYSgpO2JaPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiSVNPV2Vla1BhcnNlciIpfXByaW9yaXR5PTEwMDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiSSI6cmV0dXJuIGthKF9hLndlZWssZSk7Y2FzZSJJbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJ3ZWVrIn0pO2RlZmF1bHQ6cmV0dXJuIFl0KHQubGVuZ3RoLGUpfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0xJiZ0PD01M31zZXQoZSx0LHIpe3JldHVybiBucyhnWihlLHIpKX1pbmNvbXBhdGlibGVUb2tlbnM9WyJ5IiwiWSIsInUiLCJxIiwiUSIsIk0iLCJMIiwidyIsImQiLCJEIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciBrZ2EsU2dhLHZaLFdudD1mKCgpPT57d2koKTtJYSgpO1ZhKCk7a2dhPVszMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV0sU2dhPVszMSwyOSwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV0sdlo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJEYXRlUGFyc2VyIil9cHJpb3JpdHk9OTA7c3ViUHJpb3JpdHk9MTtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiZCI6cmV0dXJuIGthKF9hLmRhdGUsZSk7Y2FzZSJkbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJkYXRlIn0pO2RlZmF1bHQ6cmV0dXJuIFl0KHQubGVuZ3RoLGUpfX12YWxpZGF0ZShlLHQpe2xldCByPWUuZ2V0RnVsbFllYXIoKSxpPWlaKHIpLG89ZS5nZXRNb250aCgpO3JldHVybiBpP3Q+PTEmJnQ8PVNnYVtvXTp0Pj0xJiZ0PD1rZ2Fbb119c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXREYXRlKHIpLGUuc2V0SG91cnMoMCwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJZIiwiUiIsInEiLCJRIiwidyIsIkkiLCJEIiwiaSIsImUiLCJjIiwidCIsIlQiXX19KTt2YXIgeFosR250PWYoKCk9Pnt3aSgpO0lhKCk7VmEoKTt4Wj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIkRheU9mWWVhclBhcnNlciIpfXByaW9yaXR5PTkwO3N1YnByaW9yaXR5PTE7cGFyc2UoZSx0LHIpe3N3aXRjaCh0KXtjYXNlIkQiOmNhc2UiREQiOnJldHVybiBrYShfYS5kYXlPZlllYXIsZSk7Y2FzZSJEbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJkYXRlIn0pO2RlZmF1bHQ6cmV0dXJuIFl0KHQubGVuZ3RoLGUpfX12YWxpZGF0ZShlLHQpe2xldCByPWUuZ2V0RnVsbFllYXIoKTtyZXR1cm4gaVoocik/dD49MSYmdDw9MzY2OnQ+PTEmJnQ8PTM2NX1zZXQoZSx0LHIpe3JldHVybiBlLnNldE1vbnRoKDAsciksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bIlkiLCJSIiwicSIsIlEiLCJNIiwiTCIsInciLCJJIiwiZCIsIkUiLCJpIiwiZSIsImMiLCJ0IiwiVCJdfX0pO2Z1bmN0aW9uIGIwKGEsZSx0KXtsZXQgcj1xYSgpLGk9dD8ud2Vla1N0YXJ0c09uPz90Py5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/ci53ZWVrU3RhcnRzT24/P3IubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsbz1rZShhLHQ/LmluKSxuPW8uZ2V0RGF5KCksZD0oZSU3KzcpJTcsYz03LWkscD1lPDB8fGU+Nj9lLShuK2MpJTc6KGQrYyklNy0obitjKSU3O3JldHVybiBDcyhvLHAsdCl9dmFyIEVocixDOT1mKCgpPT57dmkoKTtiMigpO0hlKCk7cyhiMCwic2V0RGF5Iik7RWhyPWIwfSk7dmFyIHlaLFludD1mKCgpPT57QzkoKTtJYSgpO3laPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiRGF5UGFyc2VyIil9cHJpb3JpdHk9OTA7cGFyc2UoZSx0LHIpe3N3aXRjaCh0KXtjYXNlIkUiOmNhc2UiRUUiOmNhc2UiRUVFIjpyZXR1cm4gci5kYXkoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJFRUVFRSI6cmV0dXJuIHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJFRUVFRUUiOnJldHVybiByLmRheShlLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gci5kYXkoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0wJiZ0PD02fXNldChlLHQscixpKXtyZXR1cm4gZT1iMChlLHIsaSksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bIkQiLCJpIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciB3WixLbnQ9ZigoKT0+e0M5KCk7SWEoKTtWYSgpO3daPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiTG9jYWxEYXlQYXJzZXIiKX1wcmlvcml0eT05MDtwYXJzZShlLHQscixpKXtsZXQgbz1zKG49PntsZXQgbD1NYXRoLmZsb29yKChuLTEpLzcpKjc7cmV0dXJuKG4raS53ZWVrU3RhcnRzT24rNiklNytsfSwidmFsdWVDYWxsYmFjayIpO3N3aXRjaCh0KXtjYXNlImUiOmNhc2UiZWUiOnJldHVybiBXYShZdCh0Lmxlbmd0aCxlKSxvKTtjYXNlImVvIjpyZXR1cm4gV2Eoci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6ImRheSJ9KSxvKTtjYXNlImVlZSI6cmV0dXJuIHIuZGF5KGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiZWVlZWUiOnJldHVybiByLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiZWVlZWVlIjpyZXR1cm4gci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIHIuZGF5KGUse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MCYmdDw9Nn1zZXQoZSx0LHIsaSl7cmV0dXJuIGU9YjAoZSxyLGkpLGUuc2V0SG91cnMoMCwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJ5IiwiUiIsInUiLCJxIiwiUSIsIk0iLCJMIiwiSSIsImQiLCJEIiwiRSIsImkiLCJjIiwidCIsIlQiXX19KTt2YXIgTVosWm50PWYoKCk9PntDOSgpO0lhKCk7VmEoKTtNWj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIlN0YW5kQWxvbmVMb2NhbERheVBhcnNlciIpfXByaW9yaXR5PTkwO3BhcnNlKGUsdCxyLGkpe2xldCBvPXMobj0+e2xldCBsPU1hdGguZmxvb3IoKG4tMSkvNykqNztyZXR1cm4obitpLndlZWtTdGFydHNPbis2KSU3K2x9LCJ2YWx1ZUNhbGxiYWNrIik7c3dpdGNoKHQpe2Nhc2UiYyI6Y2FzZSJjYyI6cmV0dXJuIFdhKFl0KHQubGVuZ3RoLGUpLG8pO2Nhc2UiY28iOnJldHVybiBXYShyLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoiZGF5In0pLG8pO2Nhc2UiY2NjIjpyZXR1cm4gci5kYXkoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxyLmRheShlLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJjY2NjYyI6cmV0dXJuIHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJjY2NjY2MiOnJldHVybiByLmRheShlLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7ZGVmYXVsdDpyZXR1cm4gci5kYXkoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIuZGF5KGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8ci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0wJiZ0PD02fXNldChlLHQscixpKXtyZXR1cm4gZT1iMChlLHIsaSksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bInkiLCJSIiwidSIsInEiLCJRIiwiTSIsIkwiLCJJIiwiZCIsIkQiLCJFIiwiaSIsImUiLCJ0IiwiVCJdfX0pO2Z1bmN0aW9uIGtaKGEsZSx0KXtsZXQgcj1rZShhLHQ/LmluKSxpPVpLKHIsdCksbz1lLWk7cmV0dXJuIENzKHIsbyx0KX12YXIgSmhyLEoyZT1mKCgpPT57YjIoKTtHMmUoKTtIZSgpO3Moa1osInNldElTT0RheSIpO0pocj1rWn0pO3ZhciBTWixYbnQ9ZigoKT0+e0oyZSgpO0lhKCk7VmEoKTtTWj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIklTT0RheVBhcnNlciIpfXByaW9yaXR5PTkwO3BhcnNlKGUsdCxyKXtsZXQgaT1zKG89Pm89PT0wPzc6bywidmFsdWVDYWxsYmFjayIpO3N3aXRjaCh0KXtjYXNlImkiOmNhc2UiaWkiOnJldHVybiBZdCh0Lmxlbmd0aCxlKTtjYXNlImlvIjpyZXR1cm4gci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6ImRheSJ9KTtjYXNlImlpaSI6cmV0dXJuIFdhKHIuZGF5KGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLGkpO2Nhc2UiaWlpaWkiOnJldHVybiBXYShyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLGkpO2Nhc2UiaWlpaWlpIjpyZXR1cm4gV2Eoci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLGkpO2RlZmF1bHQ6cmV0dXJuIFdhKHIuZGF5KGUse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KSxpKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MSYmdDw9N31zZXQoZSx0LHIpe3JldHVybiBlPWtaKGUsciksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bInkiLCJZIiwidSIsInEiLCJRIiwiTSIsIkwiLCJ3IiwiZCIsIkQiLCJFIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciB6WixRbnQ9ZigoKT0+e0lhKCk7VmEoKTt6Wj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIkFNUE1QYXJzZXIiKX1wcmlvcml0eT04MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiYSI6Y2FzZSJhYSI6Y2FzZSJhYWEiOnJldHVybiByLmRheVBlcmlvZChlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5UGVyaW9kKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJhYWFhYSI6cmV0dXJuIHIuZGF5UGVyaW9kKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gci5kYXlQZXJpb2QoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5UGVyaW9kKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXlQZXJpb2QoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRIb3VycyhJaChyKSwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJiIiwiQiIsIkgiLCJrIiwidCIsIlQiXX19KTt2YXIgQ1osSm50PWYoKCk9PntJYSgpO1ZhKCk7Q1o9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJBTVBNTWlkbmlnaHRQYXJzZXIiKX1wcmlvcml0eT04MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiYiI6Y2FzZSJiYiI6Y2FzZSJiYmIiOnJldHVybiByLmRheVBlcmlvZChlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5UGVyaW9kKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJiYmJiYiI6cmV0dXJuIHIuZGF5UGVyaW9kKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gci5kYXlQZXJpb2QoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5UGVyaW9kKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXlQZXJpb2QoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRIb3VycyhJaChyKSwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJhIiwiQiIsIkgiLCJrIiwidCIsIlQiXX19KTt2YXIgX1osZTF0PWYoKCk9PntJYSgpO1ZhKCk7X1o9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJEYXlQZXJpb2RQYXJzZXIiKX1wcmlvcml0eT04MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiQiI6Y2FzZSJCQiI6Y2FzZSJCQkIiOnJldHVybiByLmRheVBlcmlvZChlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5UGVyaW9kKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJCQkJCQiI6cmV0dXJuIHIuZGF5UGVyaW9kKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gci5kYXlQZXJpb2QoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5UGVyaW9kKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXlQZXJpb2QoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRIb3VycyhJaChyKSwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJhIiwiYiIsInQiLCJUIl19fSk7dmFyIFRaLHQxdD1mKCgpPT57d2koKTtJYSgpO1ZhKCk7VFo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJIb3VyMXRvMTJQYXJzZXIiKX1wcmlvcml0eT03MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiaCI6cmV0dXJuIGthKF9hLmhvdXIxMmgsZSk7Y2FzZSJobyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJob3VyIn0pO2RlZmF1bHQ6cmV0dXJuIFl0KHQubGVuZ3RoLGUpfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0xJiZ0PD0xMn1zZXQoZSx0LHIpe2xldCBpPWUuZ2V0SG91cnMoKT49MTI7cmV0dXJuIGkmJnI8MTI/ZS5zZXRIb3VycyhyKzEyLDAsMCwwKTohaSYmcj09PTEyP2Uuc2V0SG91cnMoMCwwLDAsMCk6ZS5zZXRIb3VycyhyLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bIkgiLCJLIiwiayIsInQiLCJUIl19fSk7dmFyIExaLGExdD1mKCgpPT57d2koKTtJYSgpO1ZhKCk7TFo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJIb3VyMHRvMjNQYXJzZXIiKX1wcmlvcml0eT03MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiSCI6cmV0dXJuIGthKF9hLmhvdXIyM2gsZSk7Y2FzZSJIbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJob3VyIn0pO2RlZmF1bHQ6cmV0dXJuIFl0KHQubGVuZ3RoLGUpfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0wJiZ0PD0yM31zZXQoZSx0LHIpe3JldHVybiBlLnNldEhvdXJzKHIsMCwwLDApLGV9aW5jb21wYXRpYmxlVG9rZW5zPVsiYSIsImIiLCJoIiwiSyIsImsiLCJ0IiwiVCJdfX0pO3ZhciAkWixyMXQ9ZigoKT0+e3dpKCk7SWEoKTtWYSgpOyRaPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiSG91cjBUbzExUGFyc2VyIil9cHJpb3JpdHk9NzA7cGFyc2UoZSx0LHIpe3N3aXRjaCh0KXtjYXNlIksiOnJldHVybiBrYShfYS5ob3VyMTFoLGUpO2Nhc2UiS28iOnJldHVybiByLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoiaG91ciJ9KTtkZWZhdWx0OnJldHVybiBZdCh0Lmxlbmd0aCxlKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MCYmdDw9MTF9c2V0KGUsdCxyKXtyZXR1cm4gZS5nZXRIb3VycygpPj0xMiYmcjwxMj9lLnNldEhvdXJzKHIrMTIsMCwwLDApOmUuc2V0SG91cnMociwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJoIiwiSCIsImsiLCJ0IiwiVCJdfX0pO3ZhciBEWixzMXQ9ZigoKT0+e3dpKCk7SWEoKTtWYSgpO0RaPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiSG91cjFUbzI0UGFyc2VyIil9cHJpb3JpdHk9NzA7cGFyc2UoZSx0LHIpe3N3aXRjaCh0KXtjYXNlImsiOnJldHVybiBrYShfYS5ob3VyMjRoLGUpO2Nhc2Uia28iOnJldHVybiByLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoiaG91ciJ9KTtkZWZhdWx0OnJldHVybiBZdCh0Lmxlbmd0aCxlKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MSYmdDw9MjR9c2V0KGUsdCxyKXtsZXQgaT1yPD0yND9yJTI0OnI7cmV0dXJuIGUuc2V0SG91cnMoaSwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJhIiwiYiIsImgiLCJIIiwiSyIsInQiLCJUIl19fSk7dmFyIEFaLGkxdD1mKCgpPT57d2koKTtJYSgpO1ZhKCk7QVo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJNaW51dGVQYXJzZXIiKX1wcmlvcml0eT02MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UibSI6cmV0dXJuIGthKF9hLm1pbnV0ZSxlKTtjYXNlIm1vIjpyZXR1cm4gci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6Im1pbnV0ZSJ9KTtkZWZhdWx0OnJldHVybiBZdCh0Lmxlbmd0aCxlKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MCYmdDw9NTl9c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRNaW51dGVzKHIsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bInQiLCJUIl19fSk7dmFyIEVaLG8xdD1mKCgpPT57d2koKTtJYSgpO1ZhKCk7RVo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJTZWNvbmRQYXJzZXIiKX1wcmlvcml0eT01MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UicyI6cmV0dXJuIGthKF9hLnNlY29uZCxlKTtjYXNlInNvIjpyZXR1cm4gci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6InNlY29uZCJ9KTtkZWZhdWx0OnJldHVybiBZdCh0Lmxlbmd0aCxlKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MCYmdDw9NTl9c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRTZWNvbmRzKHIsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJ0IiwiVCJdfX0pO3ZhciBQWixuMXQ9ZigoKT0+e0lhKCk7VmEoKTtQWj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIkZyYWN0aW9uT2ZTZWNvbmRQYXJzZXIiKX1wcmlvcml0eT0zMDtwYXJzZShlLHQpe2xldCByPXMoaT0+TWF0aC50cnVuYyhpKk1hdGgucG93KDEwLC10Lmxlbmd0aCszKSksInZhbHVlQ2FsbGJhY2siKTtyZXR1cm4gV2EoWXQodC5sZW5ndGgsZSkscil9c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRNaWxsaXNlY29uZHMociksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJ0IiwiVCJdfX0pO3ZhciBJWixsMXQ9ZigoKT0+e0R0KCk7emwoKTt3aSgpO0lhKCk7VmEoKTtJWj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIklTT1RpbWV6b25lV2l0aFpQYXJzZXIiKX1wcmlvcml0eT0xMDtwYXJzZShlLHQpe3N3aXRjaCh0KXtjYXNlIlgiOnJldHVybiBibihnbi5iYXNpY09wdGlvbmFsTWludXRlcyxlKTtjYXNlIlhYIjpyZXR1cm4gYm4oZ24uYmFzaWMsZSk7Y2FzZSJYWFhYIjpyZXR1cm4gYm4oZ24uYmFzaWNPcHRpb25hbFNlY29uZHMsZSk7Y2FzZSJYWFhYWCI6cmV0dXJuIGJuKGduLmV4dGVuZGVkT3B0aW9uYWxTZWNvbmRzLGUpO2RlZmF1bHQ6cmV0dXJuIGJuKGduLmV4dGVuZGVkLGUpfX1zZXQoZSx0LHIpe3JldHVybiB0LnRpbWVzdGFtcElzU2V0P2U6RmUoZSxlLmdldFRpbWUoKS1JcihlKS1yKX1pbmNvbXBhdGlibGVUb2tlbnM9WyJ0IiwiVCIsIngiXX19KTt2YXIgTlosYzF0PWYoKCk9PntEdCgpO3psKCk7d2koKTtJYSgpO1ZhKCk7Tlo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJJU09UaW1lem9uZVBhcnNlciIpfXByaW9yaXR5PTEwO3BhcnNlKGUsdCl7c3dpdGNoKHQpe2Nhc2UieCI6cmV0dXJuIGJuKGduLmJhc2ljT3B0aW9uYWxNaW51dGVzLGUpO2Nhc2UieHgiOnJldHVybiBibihnbi5iYXNpYyxlKTtjYXNlInh4eHgiOnJldHVybiBibihnbi5iYXNpY09wdGlvbmFsU2Vjb25kcyxlKTtjYXNlInh4eHh4IjpyZXR1cm4gYm4oZ24uZXh0ZW5kZWRPcHRpb25hbFNlY29uZHMsZSk7ZGVmYXVsdDpyZXR1cm4gYm4oZ24uZXh0ZW5kZWQsZSl9fXNldChlLHQscil7cmV0dXJuIHQudGltZXN0YW1wSXNTZXQ/ZTpGZShlLGUuZ2V0VGltZSgpLUlyKGUpLXIpfWluY29tcGF0aWJsZVRva2Vucz1bInQiLCJUIiwiWCJdfX0pO3ZhciBSWixkMXQ9ZigoKT0+e0R0KCk7SWEoKTtWYSgpO1JaPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiVGltZXN0YW1wU2Vjb25kc1BhcnNlciIpfXByaW9yaXR5PTQwO3BhcnNlKGUpe3JldHVybiByWihlKX1zZXQoZSx0LHIpe3JldHVybltGZShlLHIqMWUzKSx7dGltZXN0YW1wSXNTZXQ6ITB9XX1pbmNvbXBhdGlibGVUb2tlbnM9IioifX0pO3ZhciBPWix1MXQ9ZigoKT0+e0R0KCk7SWEoKTtWYSgpO09aPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiVGltZXN0YW1wTWlsbGlzZWNvbmRzUGFyc2VyIil9cHJpb3JpdHk9MjA7cGFyc2UoZSl7cmV0dXJuIHJaKGUpfXNldChlLHQscil7cmV0dXJuW0ZlKGUscikse3RpbWVzdGFtcElzU2V0OiEwfV19aW5jb21wYXRpYmxlVG9rZW5zPSIqIn19KTt2YXIgRloscDF0PWYoKCk9PntJbnQoKTtObnQoKTtSbnQoKTtPbnQoKTtGbnQoKTtCbnQoKTtIbnQoKTtxbnQoKTtWbnQoKTtqbnQoKTtVbnQoKTtXbnQoKTtHbnQoKTtZbnQoKTtLbnQoKTtabnQoKTtYbnQoKTtRbnQoKTtKbnQoKTtlMXQoKTt0MXQoKTthMXQoKTtyMXQoKTtzMXQoKTtpMXQoKTtvMXQoKTtuMXQoKTtsMXQoKTtjMXQoKTtkMXQoKTt1MXQoKTtGWj17RzpuZXcgYVoseTpuZXcgb1osWTpuZXcgblosUjpuZXcgbFosdTpuZXcgY1osUTpuZXcgZFoscTpuZXcgdVosTTpuZXcgcFosTDpuZXcgZlosdzpuZXcgbVosSTpuZXcgYlosZDpuZXcgdlosRDpuZXcgeFosRTpuZXcgeVosZTpuZXcgd1osYzpuZXcgTVosaTpuZXcgU1osYTpuZXcgelosYjpuZXcgQ1osQjpuZXcgX1osaDpuZXcgVFosSDpuZXcgTFosSzpuZXcgJFosazpuZXcgRFosbTpuZXcgQVosczpuZXcgRVosUzpuZXcgUFosWDpuZXcgSVoseDpuZXcgTlosdDpuZXcgUlosVDpuZXcgT1p9fSk7ZnVuY3Rpb24gQlooYSxlLHQscil7bGV0IGk9cygoKT0+RmUocj8uaW58fHQsTmFOKSwiaW52YWxpZERhdGUiKSxvPUtLKCksbj1yPy5sb2NhbGU/P28ubG9jYWxlPz93byxsPXI/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/cj8ubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/P28uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9vLmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz8xLGQ9cj8ud2Vla1N0YXJ0c09uPz9yPy5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/by53ZWVrU3RhcnRzT24/P28ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzA7aWYoIWUpcmV0dXJuIGE/aSgpOmtlKHQscj8uaW4pO2xldCBjPXtmaXJzdFdlZWtDb250YWluc0RhdGU6bCx3ZWVrU3RhcnRzT246ZCxsb2NhbGU6bn0scD1bbmV3IHRaKHI/LmluLHQpXSx1PWUubWF0Y2goQ2dhKS5tYXAoZz0+e2xldCB5PWdbMF07aWYoeSBpbiBtMCl7bGV0IGs9bTBbeV07cmV0dXJuIGsoZyxuLmZvcm1hdExvbmcpfXJldHVybiBnfSkuam9pbigiIikubWF0Y2goemdhKSxtPVtdO2ZvcihsZXQgZyBvZiB1KXshcj8udXNlQWRkaXRpb25hbFdlZWtZZWFyVG9rZW5zJiZWSyhnKSYmazkoZyxlLGEpLCFyPy51c2VBZGRpdGlvbmFsRGF5T2ZZZWFyVG9rZW5zJiZxSyhnKSYmazkoZyxlLGEpO2xldCB5PWdbMF0saz1GWlt5XTtpZihrKXtsZXR7aW5jb21wYXRpYmxlVG9rZW5zOkN9PWs7aWYoQXJyYXkuaXNBcnJheShDKSl7bGV0IF89bS5maW5kKHo9PkMuaW5jbHVkZXMoei50b2tlbil8fHoudG9rZW49PT15KTtpZihfKXRocm93IG5ldyBSYW5nZUVycm9yKGBUaGUgZm9ybWF0IHN0cmluZyBtdXN0bid0IGNvbnRhaW4gXGAke18uZnVsbFRva2VufVxgIGFuZCBcYCR7Z31cYCBhdCB0aGUgc2FtZSB0aW1lYCl9ZWxzZSBpZihrLmluY29tcGF0aWJsZVRva2Vucz09PSIqIiYmbS5sZW5ndGg+MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihgVGhlIGZvcm1hdCBzdHJpbmcgbXVzdG4ndCBjb250YWluIFxgJHtnfVxgIGFuZCBhbnkgb3RoZXIgdG9rZW4gYXQgdGhlIHNhbWUgdGltZWApO20ucHVzaCh7dG9rZW46eSxmdWxsVG9rZW46Z30pO2xldCBOPWsucnVuKGEsZyxuLm1hdGNoLGMpO2lmKCFOKXJldHVybiBpKCk7cC5wdXNoKE4uc2V0dGVyKSxhPU4ucmVzdH1lbHNle2lmKHkubWF0Y2goJGdhKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRm9ybWF0IHN0cmluZyBjb250YWlucyBhbiB1bmVzY2FwZWQgbGF0aW4gYWxwaGFiZXQgY2hhcmFjdGVyIGAiK3krImAiKTtpZihnPT09IicnIj9nPSInIjp5PT09IiciJiYoZz1EZ2EoZykpLGEuaW5kZXhPZihnKT09PTApYT1hLnNsaWNlKGcubGVuZ3RoKTtlbHNlIHJldHVybiBpKCl9fWlmKGEubGVuZ3RoPjAmJkxnYS50ZXN0KGEpKXJldHVybiBpKCk7bGV0IHY9cC5tYXAoZz0+Zy5wcmlvcml0eSkuc29ydCgoZyx5KT0+eS1nKS5maWx0ZXIoKGcseSxrKT0+ay5pbmRleE9mKGcpPT09eSkubWFwKGc9PnAuZmlsdGVyKHk9PnkucHJpb3JpdHk9PT1nKS5zb3J0KCh5LGspPT5rLnN1YlByaW9yaXR5LXkuc3ViUHJpb3JpdHkpKS5tYXAoZz0+Z1swXSkseD1rZSh0LHI/LmluKTtpZihpc05hTigreCkpcmV0dXJuIGkoKTtsZXQgYj17fTtmb3IobGV0IGcgb2Ygdil7aWYoIWcudmFsaWRhdGUoeCxjKSlyZXR1cm4gaSgpO2xldCB5PWcuc2V0KHgsYixjKTtBcnJheS5pc0FycmF5KHkpPyh4PXlbMF0sT2JqZWN0LmFzc2lnbihiLHlbMV0pKTp4PXl9cmV0dXJuIHh9ZnVuY3Rpb24gRGdhKGEpe3JldHVybiBhLm1hdGNoKF9nYSlbMV0ucmVwbGFjZShUZ2EsIiciKX12YXIgemdhLENnYSxfZ2EsVGdhLExnYSwkZ2EsYzdyLGVsZT1mKCgpPT57azMoKTtPMmUoKTtGMmUoKTtEdCgpO1cyZSgpO0hlKCk7WjJlKCk7cDF0KCk7emdhPS9beVlRcU1Md0lkRGVjaWhIS2ttc11vfChcdylcMSp8Jyd8JygnJ3xbXiddKSsoJ3wkKXwuL2csQ2dhPS9QK3ArfFArfHArfCcnfCcoJyd8W14nXSkrKCd8JCl8Li9nLF9nYT0vXicoW15dKj8pJz8kLyxUZ2E9LycnL2csTGdhPS9cUy8sJGdhPS9bYS16QS1aXS87cyhCWiwicGFyc2UiKTtzKERnYSwiY2xlYW5Fc2NhcGVkU3RyaW5nIik7YzdyPUJafSk7ZnVuY3Rpb24gZjF0KGEsZSx0KXtyZXR1cm4gWHMoQlooYSxlLG5ldyBEYXRlLHQpKX12YXIgaDdyLGgxdD1mKCgpPT57X2woKTtlbGUoKTtzKGYxdCwiaXNNYXRjaCIpO2g3cj1mMXR9KTtmdW5jdGlvbiBtMXQoYSxlKXtyZXR1cm4ga2UoYSxlPy5pbikuZ2V0RGF5KCk9PT0xfXZhciB2N3IsZzF0PWYoKCk9PntIZSgpO3MobTF0LCJpc01vbmRheSIpO3Y3cj1tMXR9KTtmdW5jdGlvbiBiMXQoYSl7cmV0dXJuK2tlKGEpPERhdGUubm93KCl9dmFyIE03cix2MXQ9ZigoKT0+e0hlKCk7cyhiMXQsImlzUGFzdCIpO003cj1iMXR9KTtmdW5jdGlvbiBfOShhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldE1pbnV0ZXMoMCwwLDApLHR9dmFyIEM3cix0bGU9ZigoKT0+e0hlKCk7cyhfOSwic3RhcnRPZkhvdXIiKTtDN3I9Xzl9KTtmdW5jdGlvbiBIWihhLGUsdCl7bGV0W3IsaV09VHQodD8uaW4sYSxlKTtyZXR1cm4rXzkocik9PStfOShpKX12YXIgRDdyLGFsZT1mKCgpPT57VWEoKTt0bGUoKTtzKEhaLCJpc1NhbWVIb3VyIik7RDdyPUhafSk7ZnVuY3Rpb24gTmgoYSxlLHQpe2xldFtyLGldPVR0KHQ/LmluLGEsZSk7cmV0dXJuK3RyKHIsdCk9PSt0cihpLHQpfXZhciBON3IscVo9ZigoKT0+e1VhKCk7cjEoKTtzKE5oLCJpc1NhbWVXZWVrIik7TjdyPU5ofSk7ZnVuY3Rpb24gVlooYSxlLHQpe3JldHVybiBOaChhLGUsey4uLnQsd2Vla1N0YXJ0c09uOjF9KX12YXIgQjdyLHJsZT1mKCgpPT57cVooKTtzKFZaLCJpc1NhbWVJU09XZWVrIik7QjdyPVZafSk7ZnVuY3Rpb24geDF0KGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpO3JldHVybitIbyhyKT09K0hvKGkpfXZhciBVN3IseTF0PWYoKCk9Pnt2aCgpO1VhKCk7cyh4MXQsImlzU2FtZUlTT1dlZWtZZWFyIik7VTdyPXgxdH0pO2Z1bmN0aW9uIFQ5KGEsZSl7bGV0IHQ9a2UoYSxlPy5pbik7cmV0dXJuIHQuc2V0U2Vjb25kcygwLDApLHR9dmFyIEs3cixzbGU9ZigoKT0+e0hlKCk7cyhUOSwic3RhcnRPZk1pbnV0ZSIpO0s3cj1UOX0pO2Z1bmN0aW9uIGpaKGEsZSl7cmV0dXJuK1Q5KGEpPT0rVDkoZSl9dmFyIEo3cixpbGU9ZigoKT0+e3NsZSgpO3MoalosImlzU2FtZU1pbnV0ZSIpO0o3cj1qWn0pO2Z1bmN0aW9uIFVaKGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpO3JldHVybiByLmdldEZ1bGxZZWFyKCk9PT1pLmdldEZ1bGxZZWFyKCkmJnIuZ2V0TW9udGgoKT09PWkuZ2V0TW9udGgoKX12YXIgcjlyLG9sZT1mKCgpPT57VWEoKTtzKFVaLCJpc1NhbWVNb250aCIpO3I5cj1VWn0pO2Z1bmN0aW9uIFdaKGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpO3JldHVybit6MihyKT09K3oyKGkpfXZhciBsOXIsbmxlPWYoKCk9PntVYSgpO0FLKCk7cyhXWiwiaXNTYW1lUXVhcnRlciIpO2w5cj1XWn0pO2Z1bmN0aW9uIEw5KGEsZSl7bGV0IHQ9a2UoYSxlPy5pbik7cmV0dXJuIHQuc2V0TWlsbGlzZWNvbmRzKDApLHR9dmFyIHA5cixsbGU9ZigoKT0+e0hlKCk7cyhMOSwic3RhcnRPZlNlY29uZCIpO3A5cj1MOX0pO2Z1bmN0aW9uIEdaKGEsZSl7cmV0dXJuK0w5KGEpPT0rTDkoZSl9dmFyIGc5cixjbGU9ZigoKT0+e2xsZSgpO3MoR1osImlzU2FtZVNlY29uZCIpO2c5cj1HWn0pO2Z1bmN0aW9uIFlaKGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpO3JldHVybiByLmdldEZ1bGxZZWFyKCk9PT1pLmdldEZ1bGxZZWFyKCl9dmFyIHk5cixkbGU9ZigoKT0+e1VhKCk7cyhZWiwiaXNTYW1lWWVhciIpO3k5cj1ZWn0pO2Z1bmN0aW9uIHcxdChhLGUpe3JldHVybiBIWihrZShhLGU/LmluKSxjYShlPy5pbnx8YSkpfXZhciBDOXIsTTF0PWYoKCk9PntfcygpO2FsZSgpO0hlKCk7cyh3MXQsImlzVGhpc0hvdXIiKTtDOXI9dzF0fSk7ZnVuY3Rpb24gazF0KGEsZSl7cmV0dXJuIFZaKEZlKGU/LmlufHxhLGEpLGNhKGU/LmlufHxhKSl9dmFyIEE5cixTMXQ9ZigoKT0+e0R0KCk7X3MoKTtybGUoKTtzKGsxdCwiaXNUaGlzSVNPV2VlayIpO0E5cj1rMXR9KTtmdW5jdGlvbiB6MXQoYSl7cmV0dXJuIGpaKGEsY2EoYSkpfXZhciBSOXIsQzF0PWYoKCk9PntfcygpO2lsZSgpO3MoejF0LCJpc1RoaXNNaW51dGUiKTtSOXI9ejF0fSk7ZnVuY3Rpb24gXzF0KGEsZSl7cmV0dXJuIFVaKEZlKGU/LmlufHxhLGEpLGNhKGU/LmlufHxhKSl9dmFyIFY5cixUMXQ9ZigoKT0+e0R0KCk7X3MoKTtvbGUoKTtzKF8xdCwiaXNUaGlzTW9udGgiKTtWOXI9XzF0fSk7ZnVuY3Rpb24gTDF0KGEsZSl7cmV0dXJuIFdaKEZlKGU/LmlufHxhLGEpLGNhKGU/LmlufHxhKSl9dmFyIEs5ciwkMXQ9ZigoKT0+e0R0KCk7X3MoKTtubGUoKTtzKEwxdCwiaXNUaGlzUXVhcnRlciIpO0s5cj1MMXR9KTtmdW5jdGlvbiBEMXQoYSl7cmV0dXJuIEdaKGEsY2EoYSkpfXZhciBlZ3IsQTF0PWYoKCk9PntfcygpO2NsZSgpO3MoRDF0LCJpc1RoaXNTZWNvbmQiKTtlZ3I9RDF0fSk7ZnVuY3Rpb24gRTF0KGEsZSl7cmV0dXJuIE5oKEZlKGU/LmlufHxhLGEpLGNhKGU/LmlufHxhKSxlKX12YXIgb2dyLFAxdD1mKCgpPT57RHQoKTtfcygpO3FaKCk7cyhFMXQsImlzVGhpc1dlZWsiKTtvZ3I9RTF0fSk7ZnVuY3Rpb24gSTF0KGEsZSl7cmV0dXJuIFlaKEZlKGU/LmlufHxhLGEpLGNhKGU/LmlufHxhKSl9dmFyIHBncixOMXQ9ZigoKT0+e0R0KCk7X3MoKTtkbGUoKTtzKEkxdCwiaXNUaGlzWWVhciIpO3Bncj1JMXR9KTtmdW5jdGlvbiBSMXQoYSxlKXtyZXR1cm4ga2UoYSxlPy5pbikuZ2V0RGF5KCk9PT00fXZhciBnZ3IsTzF0PWYoKCk9PntIZSgpO3MoUjF0LCJpc1RodXJzZGF5Iik7Z2dyPVIxdH0pO2Z1bmN0aW9uIEYxdChhLGUpe3JldHVybiBNMihGZShlPy5pbnx8YSxhKSxjYShlPy5pbnx8YSkpfXZhciBNZ3IsQjF0PWYoKCk9PntEdCgpO19zKCk7d2goKTtzKEYxdCwiaXNUb2RheSIpO01ncj1GMXR9KTtmdW5jdGlvbiBIMXQoYSxlKXtyZXR1cm4gTTIoYSxDcyhjYShlPy5pbnx8YSksMSksZSl9dmFyIFRncixxMXQ9ZigoKT0+e2IyKCk7X3MoKTt3aCgpO3MoSDF0LCJpc1RvbW9ycm93Iik7VGdyPUgxdH0pO2Z1bmN0aW9uIFYxdChhLGUpe3JldHVybiBrZShhLGU/LmluKS5nZXREYXkoKT09PTJ9dmFyIEFncixqMXQ9ZigoKT0+e0hlKCk7cyhWMXQsImlzVHVlc2RheSIpO0Fncj1WMXR9KTtmdW5jdGlvbiBVMXQoYSxlKXtyZXR1cm4ga2UoYSxlPy5pbikuZ2V0RGF5KCk9PT0zfXZhciBOZ3IsVzF0PWYoKCk9PntIZSgpO3MoVTF0LCJpc1dlZG5lc2RheSIpO05ncj1VMXR9KTtmdW5jdGlvbiBHMXQoYSxlLHQpe2xldCByPStrZShhLHQ/LmluKSxbaSxvXT1bK2tlKGUuc3RhcnQsdD8uaW4pLCtrZShlLmVuZCx0Py5pbildLnNvcnQoKG4sbCk9Pm4tbCk7cmV0dXJuIHI+PWkmJnI8PW99dmFyIEJncixZMXQ9ZigoKT0+e0hlKCk7cyhHMXQsImlzV2l0aGluSW50ZXJ2YWwiKTtCZ3I9RzF0fSk7ZnVuY3Rpb24gdjAoYSxlLHQpe3JldHVybiBDcyhhLC1lLHQpfXZhciBqZ3IsJDk9ZigoKT0+e2IyKCk7cyh2MCwic3ViRGF5cyIpO2pncj12MH0pO2Z1bmN0aW9uIEsxdChhLGUpe3JldHVybiBNMihGZShlPy5pbnx8YSxhKSx2MChjYShlPy5pbnx8YSksMSkpfXZhciBYZ3IsWjF0PWYoKCk9PntEdCgpO19zKCk7d2goKTskOSgpO3MoSzF0LCJpc1llc3RlcmRheSIpO1hncj1LMXR9KTtmdW5jdGlvbiBYMXQoYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0RnVsbFllYXIoKSxpPTkrTWF0aC5mbG9vcihyLzEwKSoxMDtyZXR1cm4gdC5zZXRGdWxsWWVhcihpKzEsMCwwKSx0LnNldEhvdXJzKDAsMCwwLDApLGtlKHQsZT8uaW4pfXZhciB0YnIsUTF0PWYoKCk9PntIZSgpO3MoWDF0LCJsYXN0RGF5T2ZEZWNhZGUiKTt0YnI9WDF0fSk7ZnVuY3Rpb24gS1ooYSxlKXtsZXQgdD1xYSgpLHI9ZT8ud2Vla1N0YXJ0c09uPz9lPy5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/dC53ZWVrU3RhcnRzT24/P3QubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsaT1rZShhLGU/LmluKSxvPWkuZ2V0RGF5KCksbj0obzxyPy03OjApKzYtKG8tcik7cmV0dXJuIGkuc2V0SG91cnMoMCwwLDAsMCksaS5zZXREYXRlKGkuZ2V0RGF0ZSgpK24pLGl9dmFyIG9icix1bGU9ZigoKT0+e3ZpKCk7SGUoKTtzKEtaLCJsYXN0RGF5T2ZXZWVrIik7b2JyPUtafSk7ZnVuY3Rpb24gSjF0KGEsZSl7cmV0dXJuIEtaKGEsey4uLmUsd2Vla1N0YXJ0c09uOjF9KX12YXIgZGJyLGUydD1mKCgpPT57dWxlKCk7cyhKMXQsImxhc3REYXlPZklTT1dlZWsiKTtkYnI9SjF0fSk7ZnVuY3Rpb24gdDJ0KGEsZSl7bGV0IHQ9cWkoYSxlKSxyPUZlKGU/LmlufHxhLDApO3Iuc2V0RnVsbFllYXIodCsxLDAsNCksci5zZXRIb3VycygwLDAsMCwwKTtsZXQgaT1ucyhyLGUpO3JldHVybiBpLnNldERhdGUoaS5nZXREYXRlKCktMSksaX12YXIgZ2JyLGEydD1mKCgpPT57RHQoKTtjMCgpO3kyKCk7cyh0MnQsImxhc3REYXlPZklTT1dlZWtZZWFyIik7Z2JyPXQydH0pO2Z1bmN0aW9uIHIydChhLGUpe2xldCB0PWtlKGEsZT8uaW4pLHI9dC5nZXRNb250aCgpLGk9ci1yJTMrMztyZXR1cm4gdC5zZXRNb250aChpLDApLHQuc2V0SG91cnMoMCwwLDAsMCksdH12YXIgeWJyLHMydD1mKCgpPT57SGUoKTtzKHIydCwibGFzdERheU9mUXVhcnRlciIpO3licj1yMnR9KTtmdW5jdGlvbiBpMnQoYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0RnVsbFllYXIoKTtyZXR1cm4gdC5zZXRGdWxsWWVhcihyKzEsMCwwKSx0LnNldEhvdXJzKDAsMCwwLDApLHR9dmFyIFNicixvMnQ9ZigoKT0+e0hlKCk7cyhpMnQsImxhc3REYXlPZlllYXIiKTtTYnI9aTJ0fSk7ZnVuY3Rpb24gbjJ0KGEsZSl7bGV0IHQ9a2UoYSk7aWYoIVhzKHQpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgcj1lLm1hdGNoKEFnYSk7cmV0dXJuIHI/ci5tYXAobz0+e2lmKG89PT0iJyciKXJldHVybiInIjtsZXQgbj1vWzBdO2lmKG49PT0iJyIpcmV0dXJuIE5nYShvKTtsZXQgbD1xb1tuXTtpZihsKXJldHVybiBsKHQsbyk7aWYobi5tYXRjaChJZ2EpKXRocm93IG5ldyBSYW5nZUVycm9yKCJGb3JtYXQgc3RyaW5nIGNvbnRhaW5zIGFuIHVuZXNjYXBlZCBsYXRpbiBhbHBoYWJldCBjaGFyYWN0ZXIgYCIrbisiYCIpO3JldHVybiBvfSkuam9pbigiIik6IiJ9ZnVuY3Rpb24gTmdhKGEpe2xldCBlPWEubWF0Y2goRWdhKTtyZXR1cm4gZT9lWzFdLnJlcGxhY2UoUGdhLCInIik6YX12YXIgQWdhLEVnYSxQZ2EsSWdhLCRicixsMnQ9ZigoKT0+e1IyZSgpO19sKCk7SGUoKTtBZ2E9LyhcdylcMSp8Jyd8JygnJ3xbXiddKSsoJ3wkKXwuL2csRWdhPS9eJyhbXl0qPyknPyQvLFBnYT0vJycvZyxJZ2E9L1thLXpBLVpdLztzKG4ydCwibGlnaHRGb3JtYXQiKTtzKE5nYSwiY2xlYW5Fc2NhcGVkU3RyaW5nIik7JGJyPW4ydH0pO2Z1bmN0aW9uIGMydCh7eWVhcnM6YSxtb250aHM6ZSx3ZWVrczp0LGRheXM6cixob3VyczppLG1pbnV0ZXM6byxzZWNvbmRzOm59KXtsZXQgbD0wO2EmJihsKz1hKjM2NS4yNDI1KSxlJiYobCs9ZSooMzY1LjI0MjUvMTIpKSx0JiYobCs9dCo3KSxyJiYobCs9cik7bGV0IGQ9bCoyNCo2MCo2MDtyZXR1cm4gaSYmKGQrPWkqNjAqNjApLG8mJihkKz1vKjYwKSxuJiYoZCs9biksTWF0aC50cnVuYyhkKjFlMyl9dmFyIFBicixkMnQ9ZigoKT0+e0p0KCk7cyhjMnQsIm1pbGxpc2Vjb25kcyIpO1Bicj1jMnR9KTtmdW5jdGlvbiB1MnQoYSl7bGV0IGU9YS9CbztyZXR1cm4gTWF0aC50cnVuYyhlKX12YXIgT2JyLHAydD1mKCgpPT57SnQoKTtzKHUydCwibWlsbGlzZWNvbmRzVG9Ib3VycyIpO09icj11MnR9KTtmdW5jdGlvbiBmMnQoYSl7bGV0IGU9YS9iaTtyZXR1cm4gTWF0aC50cnVuYyhlKX12YXIgcWJyLGgydD1mKCgpPT57SnQoKTtzKGYydCwibWlsbGlzZWNvbmRzVG9NaW51dGVzIik7cWJyPWYydH0pO2Z1bmN0aW9uIG0ydChhKXtsZXQgZT1hL2hoO3JldHVybiBNYXRoLnRydW5jKGUpfXZhciBXYnIsZzJ0PWYoKCk9PntKdCgpO3MobTJ0LCJtaWxsaXNlY29uZHNUb1NlY29uZHMiKTtXYnI9bTJ0fSk7ZnVuY3Rpb24gYjJ0KGEpe2xldCBlPWEvZUs7cmV0dXJuIE1hdGgudHJ1bmMoZSl9dmFyIFpicix2MnQ9ZigoKT0+e0p0KCk7cyhiMnQsIm1pbnV0ZXNUb0hvdXJzIik7WmJyPWIydH0pO2Z1bmN0aW9uIHgydChhKXtyZXR1cm4gTWF0aC50cnVuYyhhKmJpKX12YXIgZXZyLHkydD1mKCgpPT57SnQoKTtzKHgydCwibWludXRlc1RvTWlsbGlzZWNvbmRzIik7ZXZyPXgydH0pO2Z1bmN0aW9uIHcydChhKXtyZXR1cm4gTWF0aC50cnVuYyhhKmdoKX12YXIgc3ZyLE0ydD1mKCgpPT57SnQoKTtzKHcydCwibWludXRlc1RvU2Vjb25kcyIpO3N2cj13MnR9KTtmdW5jdGlvbiBrMnQoYSl7bGV0IGU9YS90SztyZXR1cm4gTWF0aC50cnVuYyhlKX12YXIgbHZyLFMydD1mKCgpPT57SnQoKTtzKGsydCwibW9udGhzVG9RdWFydGVycyIpO2x2cj1rMnR9KTtmdW5jdGlvbiB6MnQoYSl7bGV0IGU9YS9hSztyZXR1cm4gTWF0aC50cnVuYyhlKX12YXIgcHZyLEMydD1mKCgpPT57SnQoKTtzKHoydCwibW9udGhzVG9ZZWFycyIpO3B2cj16MnR9KTtmdW5jdGlvbiBNaShhLGUsdCl7bGV0IHI9ZS1nMChhLHQpO3JldHVybiByPD0wJiYocis9NyksQ3MoYSxyLHQpfXZhciBidnIsTGw9ZigoKT0+e2IyKCk7ejkoKTtzKE1pLCJuZXh0RGF5Iik7YnZyPU1pfSk7ZnVuY3Rpb24gXzJ0KGEsZSl7cmV0dXJuIE1pKGEsNSxlKX12YXIgd3ZyLFQydD1mKCgpPT57TGwoKTtzKF8ydCwibmV4dEZyaWRheSIpO3d2cj1fMnR9KTtmdW5jdGlvbiBMMnQoYSxlKXtyZXR1cm4gTWkoYSwxLGUpfXZhciB6dnIsJDJ0PWYoKCk9PntMbCgpO3MoTDJ0LCJuZXh0TW9uZGF5Iik7enZyPUwydH0pO2Z1bmN0aW9uIEQydChhLGUpe3JldHVybiBNaShhLDYsZSl9dmFyIEx2cixBMnQ9ZigoKT0+e0xsKCk7cyhEMnQsIm5leHRTYXR1cmRheSIpO0x2cj1EMnR9KTtmdW5jdGlvbiBFMnQoYSxlKXtyZXR1cm4gTWkoYSwwLGUpfXZhciBFdnIsUDJ0PWYoKCk9PntMbCgpO3MoRTJ0LCJuZXh0U3VuZGF5Iik7RXZyPUUydH0pO2Z1bmN0aW9uIEkydChhLGUpe3JldHVybiBNaShhLDQsZSl9dmFyIFJ2cixOMnQ9ZigoKT0+e0xsKCk7cyhJMnQsIm5leHRUaHVyc2RheSIpO1J2cj1JMnR9KTtmdW5jdGlvbiBSMnQoYSxlKXtyZXR1cm4gTWkoYSwyLGUpfXZhciBIdnIsTzJ0PWYoKCk9PntMbCgpO3MoUjJ0LCJuZXh0VHVlc2RheSIpO0h2cj1SMnR9KTtmdW5jdGlvbiBGMnQoYSxlKXtyZXR1cm4gTWkoYSwzLGUpfXZhciBVdnIsQjJ0PWYoKCk9PntMbCgpO3MoRjJ0LCJuZXh0V2VkbmVzZGF5Iik7VXZyPUYydH0pO2Z1bmN0aW9uIHEydChhLGUpe2xldCB0PXMoKCk9PkZlKGU/LmluLE5hTiksImludmFsaWREYXRlIikscj1lPy5hZGRpdGlvbmFsRGlnaXRzPz8yLGk9QmdhKGEpLG87aWYoaS5kYXRlKXtsZXQgYz1IZ2EoaS5kYXRlLHIpO289cWdhKGMucmVzdERhdGVTdHJpbmcsYy55ZWFyKX1pZighb3x8aXNOYU4oK28pKXJldHVybiB0KCk7bGV0IG49K28sbD0wLGQ7aWYoaS50aW1lJiYobD1WZ2EoaS50aW1lKSxpc05hTihsKSkpcmV0dXJuIHQoKTtpZihpLnRpbWV6b25lKXtpZihkPWpnYShpLnRpbWV6b25lKSxpc05hTihkKSlyZXR1cm4gdCgpfWVsc2V7bGV0IGM9bmV3IERhdGUobitsKSxwPWtlKDAsZT8uaW4pO3JldHVybiBwLnNldEZ1bGxZZWFyKGMuZ2V0VVRDRnVsbFllYXIoKSxjLmdldFVUQ01vbnRoKCksYy5nZXRVVENEYXRlKCkpLHAuc2V0SG91cnMoYy5nZXRVVENIb3VycygpLGMuZ2V0VVRDTWludXRlcygpLGMuZ2V0VVRDU2Vjb25kcygpLGMuZ2V0VVRDTWlsbGlzZWNvbmRzKCkpLHB9cmV0dXJuIGtlKG4rbCtkLGU/LmluKX1mdW5jdGlvbiBCZ2EoYSl7bGV0IGU9e30sdD1hLnNwbGl0KFpaLmRhdGVUaW1lRGVsaW1pdGVyKSxyO2lmKHQubGVuZ3RoPjIpcmV0dXJuIGU7aWYoLzovLnRlc3QodFswXSk/cj10WzBdOihlLmRhdGU9dFswXSxyPXRbMV0sWloudGltZVpvbmVEZWxpbWl0ZXIudGVzdChlLmRhdGUpJiYoZS5kYXRlPWEuc3BsaXQoWloudGltZVpvbmVEZWxpbWl0ZXIpWzBdLHI9YS5zdWJzdHIoZS5kYXRlLmxlbmd0aCxhLmxlbmd0aCkpKSxyKXtsZXQgaT1aWi50aW1lem9uZS5leGVjKHIpO2k/KGUudGltZT1yLnJlcGxhY2UoaVsxXSwiIiksZS50aW1lem9uZT1pWzFdKTplLnRpbWU9cn1yZXR1cm4gZX1mdW5jdGlvbiBIZ2EoYSxlKXtsZXQgdD1uZXcgUmVnRXhwKCJeKD86KFxcZHs0fXxbKy1dXFxkeyIrKDQrZSkrIn0pfChcXGR7Mn18WystXVxcZHsiKygyK2UpKyJ9KSQpIikscj1hLm1hdGNoKHQpO2lmKCFyKXJldHVybnt5ZWFyOk5hTixyZXN0RGF0ZVN0cmluZzoiIn07bGV0IGk9clsxXT9wYXJzZUludChyWzFdKTpudWxsLG89clsyXT9wYXJzZUludChyWzJdKTpudWxsO3JldHVybnt5ZWFyOm89PT1udWxsP2k6byoxMDAscmVzdERhdGVTdHJpbmc6YS5zbGljZSgoclsxXXx8clsyXSkubGVuZ3RoKX19ZnVuY3Rpb24gcWdhKGEsZSl7aWYoZT09PW51bGwpcmV0dXJuIG5ldyBEYXRlKE5hTik7bGV0IHQ9YS5tYXRjaChSZ2EpO2lmKCF0KXJldHVybiBuZXcgRGF0ZShOYU4pO2xldCByPSEhdFs0XSxpPUQ5KHRbMV0pLG89RDkodFsyXSktMSxuPUQ5KHRbM10pLGw9RDkodFs0XSksZD1EOSh0WzVdKS0xO2lmKHIpcmV0dXJuIEtnYShlLGwsZCk/VWdhKGUsbCxkKTpuZXcgRGF0ZShOYU4pO3tsZXQgYz1uZXcgRGF0ZSgwKTtyZXR1cm4hR2dhKGUsbyxuKXx8IVlnYShlLGkpP25ldyBEYXRlKE5hTik6KGMuc2V0VVRDRnVsbFllYXIoZSxvLE1hdGgubWF4KGksbikpLGMpfX1mdW5jdGlvbiBEOShhKXtyZXR1cm4gYT9wYXJzZUludChhKToxfWZ1bmN0aW9uIFZnYShhKXtsZXQgZT1hLm1hdGNoKE9nYSk7aWYoIWUpcmV0dXJuIE5hTjtsZXQgdD1wbGUoZVsxXSkscj1wbGUoZVsyXSksaT1wbGUoZVszXSk7cmV0dXJuIFpnYSh0LHIsaSk/dCpCbytyKmJpK2kqMWUzOk5hTn1mdW5jdGlvbiBwbGUoYSl7cmV0dXJuIGEmJnBhcnNlRmxvYXQoYS5yZXBsYWNlKCIsIiwiLiIpKXx8MH1mdW5jdGlvbiBqZ2EoYSl7aWYoYT09PSJaIilyZXR1cm4gMDtsZXQgZT1hLm1hdGNoKEZnYSk7aWYoIWUpcmV0dXJuIDA7bGV0IHQ9ZVsxXT09PSIrIj8tMToxLHI9cGFyc2VJbnQoZVsyXSksaT1lWzNdJiZwYXJzZUludChlWzNdKXx8MDtyZXR1cm4gWGdhKHIsaSk/dCoocipCbytpKmJpKTpOYU59ZnVuY3Rpb24gVWdhKGEsZSx0KXtsZXQgcj1uZXcgRGF0ZSgwKTtyLnNldFVUQ0Z1bGxZZWFyKGEsMCw0KTtsZXQgaT1yLmdldFVUQ0RheSgpfHw3LG89KGUtMSkqNyt0KzEtaTtyZXR1cm4gci5zZXRVVENEYXRlKHIuZ2V0VVRDRGF0ZSgpK28pLHJ9ZnVuY3Rpb24gSDJ0KGEpe3JldHVybiBhJTQwMD09PTB8fGElND09PTAmJmElMTAwIT09MH1mdW5jdGlvbiBHZ2EoYSxlLHQpe3JldHVybiBlPj0wJiZlPD0xMSYmdD49MSYmdDw9KFdnYVtlXXx8KEgydChhKT8yOToyOCkpfWZ1bmN0aW9uIFlnYShhLGUpe3JldHVybiBlPj0xJiZlPD0oSDJ0KGEpPzM2NjozNjUpfWZ1bmN0aW9uIEtnYShhLGUsdCl7cmV0dXJuIGU+PTEmJmU8PTUzJiZ0Pj0wJiZ0PD02fWZ1bmN0aW9uIFpnYShhLGUsdCl7cmV0dXJuIGE9PT0yND9lPT09MCYmdD09PTA6dD49MCYmdDw2MCYmZT49MCYmZTw2MCYmYT49MCYmYTwyNX1mdW5jdGlvbiBYZ2EoYSxlKXtyZXR1cm4gZT49MCYmZTw9NTl9dmFyIFpaLFJnYSxPZ2EsRmdhLFdnYSxYdnIsVjJ0PWYoKCk9PntKdCgpO0R0KCk7SGUoKTtzKHEydCwicGFyc2VJU08iKTtaWj17ZGF0ZVRpbWVEZWxpbWl0ZXI6L1tUIF0vLHRpbWVab25lRGVsaW1pdGVyOi9bWiBdL2ksdGltZXpvbmU6LyhbWistXS4qKSQvfSxSZ2E9L14tPyg/OihcZHszfSl8KFxkezJ9KSg/Oi0/KFxkezJ9KSk/fFcoXGR7Mn0pKD86LT8oXGR7MX0pKT98KSQvLE9nYT0vXihcZHsyfSg/OlsuLF1cZCopPykoPzo6PyhcZHsyfSg/OlsuLF1cZCopPykpPyg/Ojo/KFxkezJ9KD86Wy4sXVxkKik/KSk/JC8sRmdhPS9eKFsrLV0pKFxkezJ9KSg/Ojo/KFxkezJ9KSk/JC87cyhCZ2EsInNwbGl0RGF0ZVN0cmluZyIpO3MoSGdhLCJwYXJzZVllYXIiKTtzKHFnYSwicGFyc2VEYXRlIik7cyhEOSwicGFyc2VEYXRlVW5pdCIpO3MoVmdhLCJwYXJzZVRpbWUiKTtzKHBsZSwicGFyc2VUaW1lVW5pdCIpO3MoamdhLCJwYXJzZVRpbWV6b25lIik7cyhVZ2EsImRheU9mSVNPV2Vla1llYXIiKTtXZ2E9WzMxLG51bGwsMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdO3MoSDJ0LCJpc0xlYXBZZWFySW5kZXgiKTtzKEdnYSwidmFsaWRhdGVEYXRlIik7cyhZZ2EsInZhbGlkYXRlRGF5T2ZZZWFyRGF0ZSIpO3MoS2dhLCJ2YWxpZGF0ZVdlZWtEYXRlIik7cyhaZ2EsInZhbGlkYXRlVGltZSIpO3MoWGdhLCJ2YWxpZGF0ZVRpbWV6b25lIik7WHZyPXEydH0pO2Z1bmN0aW9uIGoydChhLGUpe2xldCB0PWEubWF0Y2goLyhcZHs0fSktKFxkezJ9KS0oXGR7Mn0pW1QgXShcZHsyfSk6KFxkezJ9KTooXGR7Mn0pKD86XC4oXGR7MCw3fSkpPyg/Olp8KC4pKFxkezJ9KTo/KFxkezJ9KT8pPy8pO3JldHVybiB0P2tlKERhdGUuVVRDKCt0WzFdLCt0WzJdLTEsK3RbM10sK3RbNF0tKCt0WzldfHwwKSoodFs4XT09Ii0iPy0xOjEpLCt0WzVdLSgrdFsxMF18fDApKih0WzhdPT0iLSI/LTE6MSksK3RbNl0sKygodFs3XXx8IjAiKSsiMDAiKS5zdWJzdHJpbmcoMCwzKSksZT8uaW4pOmtlKE5hTixlPy5pbil9dmFyIHR4cixVMnQ9ZigoKT0+e0hlKCk7cyhqMnQsInBhcnNlSlNPTiIpO3R4cj1qMnR9KTtmdW5jdGlvbiBraShhLGUsdCl7bGV0IHI9ZzAoYSx0KS1lO3JldHVybiByPD0wJiYocis9NyksdjAoYSxyLHQpfXZhciBveHIsJGw9ZigoKT0+e3o5KCk7JDkoKTtzKGtpLCJwcmV2aW91c0RheSIpO294cj1raX0pO2Z1bmN0aW9uIFcydChhLGUpe3JldHVybiBraShhLDUsZSl9dmFyIGR4cixHMnQ9ZigoKT0+eyRsKCk7cyhXMnQsInByZXZpb3VzRnJpZGF5Iik7ZHhyPVcydH0pO2Z1bmN0aW9uIFkydChhLGUpe3JldHVybiBraShhLDEsZSl9dmFyIGh4cixLMnQ9ZigoKT0+eyRsKCk7cyhZMnQsInByZXZpb3VzTW9uZGF5Iik7aHhyPVkydH0pO2Z1bmN0aW9uIFoydChhLGUpe3JldHVybiBraShhLDYsZSl9dmFyIHZ4cixYMnQ9ZigoKT0+eyRsKCk7cyhaMnQsInByZXZpb3VzU2F0dXJkYXkiKTt2eHI9WjJ0fSk7ZnVuY3Rpb24gUTJ0KGEsZSl7cmV0dXJuIGtpKGEsMCxlKX12YXIgTXhyLEoydD1mKCgpPT57JGwoKTtzKFEydCwicHJldmlvdXNTdW5kYXkiKTtNeHI9UTJ0fSk7ZnVuY3Rpb24gZWx0KGEsZSl7cmV0dXJuIGtpKGEsNCxlKX12YXIgQ3hyLHRsdD1mKCgpPT57JGwoKTtzKGVsdCwicHJldmlvdXNUaHVyc2RheSIpO0N4cj1lbHR9KTtmdW5jdGlvbiBhbHQoYSxlKXtyZXR1cm4ga2koYSwyLGUpfXZhciAkeHIscmx0PWYoKCk9PnskbCgpO3MoYWx0LCJwcmV2aW91c1R1ZXNkYXkiKTskeHI9YWx0fSk7ZnVuY3Rpb24gc2x0KGEsZSl7cmV0dXJuIGtpKGEsMyxlKX12YXIgUHhyLGlsdD1mKCgpPT57JGwoKTtzKHNsdCwicHJldmlvdXNXZWRuZXNkYXkiKTtQeHI9c2x0fSk7ZnVuY3Rpb24gb2x0KGEpe3JldHVybiBNYXRoLnRydW5jKGEqdEspfXZhciBPeHIsbmx0PWYoKCk9PntKdCgpO3Mob2x0LCJxdWFydGVyc1RvTW9udGhzIik7T3hyPW9sdH0pO2Z1bmN0aW9uIGxsdChhKXtsZXQgZT1hL3JLO3JldHVybiBNYXRoLnRydW5jKGUpfXZhciBxeHIsY2x0PWYoKCk9PntKdCgpO3MobGx0LCJxdWFydGVyc1RvWWVhcnMiKTtxeHI9bGx0fSk7ZnVuY3Rpb24gZGx0KGEsZSl7bGV0IHQ9ZT8ubmVhcmVzdFRvPz8xO2lmKHQ8MXx8dD4xMilyZXR1cm4gRmUoZT8uaW58fGEsTmFOKTtsZXQgcj1rZShhLGU/LmluKSxpPXIuZ2V0TWludXRlcygpLzYwLG89ci5nZXRTZWNvbmRzKCkvNjAvNjAsbj1yLmdldE1pbGxpc2Vjb25kcygpLzFlMy82MC82MCxsPXIuZ2V0SG91cnMoKStpK28rbixkPWU/LnJvdW5kaW5nTWV0aG9kPz8icm91bmQiLHA9eWkoZCkobC90KSp0O3JldHVybiByLnNldEhvdXJzKHAsMCwwLDApLHJ9dmFyIFl4cix1bHQ9ZigoKT0+e1RsKCk7RHQoKTtIZSgpO3MoZGx0LCJyb3VuZFRvTmVhcmVzdEhvdXJzIik7WXhyPWRsdH0pO2Z1bmN0aW9uIHBsdChhLGUpe2xldCB0PWU/Lm5lYXJlc3RUbz8/MTtpZih0PDF8fHQ+MzApcmV0dXJuIEZlKGEsTmFOKTtsZXQgcj1rZShhLGU/LmluKSxpPXIuZ2V0U2Vjb25kcygpLzYwLG89ci5nZXRNaWxsaXNlY29uZHMoKS8xZTMvNjAsbj1yLmdldE1pbnV0ZXMoKStpK28sbD1lPy5yb3VuZGluZ01ldGhvZD8/InJvdW5kIixjPXlpKGwpKG4vdCkqdDtyZXR1cm4gci5zZXRNaW51dGVzKGMsMCwwKSxyfXZhciBleXIsZmx0PWYoKCk9PntUbCgpO0R0KCk7SGUoKTtzKHBsdCwicm91bmRUb05lYXJlc3RNaW51dGVzIik7ZXlyPXBsdH0pO2Z1bmN0aW9uIGhsdChhKXtsZXQgZT1hL2IzO3JldHVybiBNYXRoLnRydW5jKGUpfXZhciBzeXIsbWx0PWYoKCk9PntKdCgpO3MoaGx0LCJzZWNvbmRzVG9Ib3VycyIpO3N5cj1obHR9KTtmdW5jdGlvbiBnbHQoYSl7cmV0dXJuIGEqaGh9dmFyIGx5cixibHQ9ZigoKT0+e0p0KCk7cyhnbHQsInNlY29uZHNUb01pbGxpc2Vjb25kcyIpO2x5cj1nbHR9KTtmdW5jdGlvbiB2bHQoYSl7bGV0IGU9YS9naDtyZXR1cm4gTWF0aC50cnVuYyhlKX12YXIgcHlyLHhsdD1mKCgpPT57SnQoKTtzKHZsdCwic2Vjb25kc1RvTWludXRlcyIpO3B5cj12bHR9KTtmdW5jdGlvbiBSaChhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbiksaT1yLmdldEZ1bGxZZWFyKCksbz1yLmdldERhdGUoKSxuPUZlKHQ/LmlufHxhLDApO24uc2V0RnVsbFllYXIoaSxlLDE1KSxuLnNldEhvdXJzKDAsMCwwLDApO2xldCBsPUdLKG4pO3JldHVybiByLnNldE1vbnRoKGUsTWF0aC5taW4obyxsKSkscn12YXIgdnlyLFhaPWYoKCk9PntEdCgpO2oyZSgpO0hlKCk7cyhSaCwic2V0TW9udGgiKTt2eXI9Umh9KTtmdW5jdGlvbiB5bHQoYSxlLHQpe2xldCByPWtlKGEsdD8uaW4pO3JldHVybiBpc05hTigrcik/RmUodD8uaW58fGEsTmFOKTooZS55ZWFyIT1udWxsJiZyLnNldEZ1bGxZZWFyKGUueWVhciksZS5tb250aCE9bnVsbCYmKHI9UmgocixlLm1vbnRoKSksZS5kYXRlIT1udWxsJiZyLnNldERhdGUoZS5kYXRlKSxlLmhvdXJzIT1udWxsJiZyLnNldEhvdXJzKGUuaG91cnMpLGUubWludXRlcyE9bnVsbCYmci5zZXRNaW51dGVzKGUubWludXRlcyksZS5zZWNvbmRzIT1udWxsJiZyLnNldFNlY29uZHMoZS5zZWNvbmRzKSxlLm1pbGxpc2Vjb25kcyE9bnVsbCYmci5zZXRNaWxsaXNlY29uZHMoZS5taWxsaXNlY29uZHMpLHIpfXZhciBTeXIsd2x0PWYoKCk9PntEdCgpO1haKCk7SGUoKTtzKHlsdCwic2V0Iik7U3lyPXlsdH0pO2Z1bmN0aW9uIE1sdChhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbik7cmV0dXJuIHIuc2V0RGF0ZShlKSxyfXZhciBUeXIsa2x0PWYoKCk9PntIZSgpO3MoTWx0LCJzZXREYXRlIik7VHlyPU1sdH0pO2Z1bmN0aW9uIFNsdChhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbik7cmV0dXJuIHIuc2V0TW9udGgoMCksci5zZXREYXRlKGUpLHJ9dmFyIEF5cix6bHQ9ZigoKT0+e0hlKCk7cyhTbHQsInNldERheU9mWWVhciIpO0F5cj1TbHR9KTtmdW5jdGlvbiBDbHQoYSl7bGV0IGU9e30sdD1xYSgpO2ZvcihsZXQgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIpJiYoZVtyXT10W3JdKTtmb3IobGV0IHIgaW4gYSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxyKSYmKGFbcl09PT12b2lkIDA/ZGVsZXRlIGVbcl06ZVtyXT1hW3JdKTtxc3QoZSl9dmFyIE55cixfbHQ9ZigoKT0+e3ZpKCk7cyhDbHQsInNldERlZmF1bHRPcHRpb25zIik7TnlyPUNsdH0pO2Z1bmN0aW9uIFRsdChhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbik7cmV0dXJuIHIuc2V0SG91cnMoZSkscn12YXIgQnlyLExsdD1mKCgpPT57SGUoKTtzKFRsdCwic2V0SG91cnMiKTtCeXI9VGx0fSk7ZnVuY3Rpb24gJGx0KGEsZSx0KXtsZXQgcj1rZShhLHQ/LmluKTtyZXR1cm4gci5zZXRNaWxsaXNlY29uZHMoZSkscn12YXIganlyLERsdD1mKCgpPT57SGUoKTtzKCRsdCwic2V0TWlsbGlzZWNvbmRzIik7anlyPSRsdH0pO2Z1bmN0aW9uIEFsdChhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbik7cmV0dXJuIHIuc2V0TWludXRlcyhlKSxyfXZhciBZeXIsRWx0PWYoKCk9PntIZSgpO3MoQWx0LCJzZXRNaW51dGVzIik7WXlyPUFsdH0pO2Z1bmN0aW9uIFBsdChhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbiksaT1NYXRoLnRydW5jKHIuZ2V0TW9udGgoKS8zKSsxLG89ZS1pO3JldHVybiBSaChyLHIuZ2V0TW9udGgoKStvKjMpfXZhciBKeXIsSWx0PWYoKCk9PntYWigpO0hlKCk7cyhQbHQsInNldFF1YXJ0ZXIiKTtKeXI9UGx0fSk7ZnVuY3Rpb24gTmx0KGEsZSx0KXtsZXQgcj1rZShhLHQ/LmluKTtyZXR1cm4gci5zZXRTZWNvbmRzKGUpLHJ9dmFyIHJ3cixSbHQ9ZigoKT0+e0hlKCk7cyhObHQsInNldFNlY29uZHMiKTtyd3I9Tmx0fSk7ZnVuY3Rpb24gT2x0KGEsZSx0KXtsZXQgcj1xYSgpLGk9dD8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz90Py5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/ci5maXJzdFdlZWtDb250YWluc0RhdGU/P3IubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/PzEsbz1GcyhrZShhLHQ/LmluKSxTMyhhLHQpLHQpLG49RmUodD8uaW58fGEsMCk7bi5zZXRGdWxsWWVhcihlLDAsaSksbi5zZXRIb3VycygwLDAsMCwwKTtsZXQgbD1TMyhuLHQpO3JldHVybiBsLnNldERhdGUobC5nZXREYXRlKCkrbyksbH12YXIgdXdyLEZsdD1mKCgpPT57dmkoKTtEdCgpO0NsKCk7QksoKTtIZSgpO3MoT2x0LCJzZXRXZWVrWWVhciIpO3V3cj1PbHR9KTtmdW5jdGlvbiBCbHQoYSxlLHQpe2xldCByPWtlKGEsdD8uaW4pO3JldHVybiBpc05hTigrcik/RmUodD8uaW58fGEsTmFOKTooci5zZXRGdWxsWWVhcihlKSxyKX12YXIgZ3dyLEhsdD1mKCgpPT57RHQoKTtIZSgpO3MoQmx0LCJzZXRZZWFyIik7Z3dyPUJsdH0pO2Z1bmN0aW9uIHFsdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pLHI9dC5nZXRGdWxsWWVhcigpLGk9TWF0aC5mbG9vcihyLzEwKSoxMDtyZXR1cm4gdC5zZXRGdWxsWWVhcihpLDAsMSksdC5zZXRIb3VycygwLDAsMCwwKSx0fXZhciB5d3IsVmx0PWYoKCk9PntIZSgpO3MocWx0LCJzdGFydE9mRGVjYWRlIik7eXdyPXFsdH0pO2Z1bmN0aW9uIGpsdChhKXtyZXR1cm4gdzIoRGF0ZS5ub3coKSxhKX12YXIgU3dyLFVsdD1mKCgpPT57bTkoKTtzKGpsdCwic3RhcnRPZlRvZGF5Iik7U3dyPWpsdH0pO2Z1bmN0aW9uIFdsdChhKXtsZXQgZT1jYShhPy5pbiksdD1lLmdldEZ1bGxZZWFyKCkscj1lLmdldE1vbnRoKCksaT1lLmdldERhdGUoKSxvPUZlKGE/LmluLDApO3JldHVybiBvLnNldEZ1bGxZZWFyKHQscixpKzEpLG8uc2V0SG91cnMoMCwwLDAsMCksb312YXIgTHdyLEdsdD1mKCgpPT57RHQoKTtfcygpO3MoV2x0LCJzdGFydE9mVG9tb3Jyb3ciKTtMd3I9V2x0fSk7ZnVuY3Rpb24gWWx0KGEpe2xldCBlPWNhKGE/LmluKSx0PWUuZ2V0RnVsbFllYXIoKSxyPWUuZ2V0TW9udGgoKSxpPWUuZ2V0RGF0ZSgpLG89Y2EoYT8uaW4pO3JldHVybiBvLnNldEZ1bGxZZWFyKHQscixpLTEpLG8uc2V0SG91cnMoMCwwLDAsMCksb312YXIgRXdyLEtsdD1mKCgpPT57X3MoKTtzKFlsdCwic3RhcnRPZlllc3RlcmRheSIpO0V3cj1ZbHR9KTtmdW5jdGlvbiBRWihhLGUsdCl7cmV0dXJuIHYyKGEsLWUsdCl9dmFyIFJ3cixmbGU9ZigoKT0+e2JoKCk7cyhRWiwic3ViTW9udGhzIik7UndyPVFafSk7ZnVuY3Rpb24gWmx0KGEsZSx0KXtsZXR7eWVhcnM6cj0wLG1vbnRoczppPTAsd2Vla3M6bz0wLGRheXM6bj0wLGhvdXJzOmw9MCxtaW51dGVzOmQ9MCxzZWNvbmRzOmM9MH09ZSxwPVFaKGEsaStyKjEyLHQpLHU9djAocCxuK28qNyx0KSxtPWQrbCo2MCx4PShjK20qNjApKjFlMztyZXR1cm4gRmUodD8uaW58fGEsK3UteCl9dmFyIFZ3cixYbHQ9ZigoKT0+e0R0KCk7JDkoKTtmbGUoKTtzKFpsdCwic3ViIik7VndyPVpsdH0pO2Z1bmN0aW9uIFFsdChhLGUsdCl7cmV0dXJuIG9LKGEsLWUsdCl9dmFyIEd3cixKbHQ9ZigoKT0+e2IyZSgpO3MoUWx0LCJzdWJCdXNpbmVzc0RheXMiKTtHd3I9UWx0fSk7ZnVuY3Rpb24gZWN0KGEsZSx0KXtyZXR1cm4gbksoYSwtZSx0KX12YXIgWHdyLHRjdD1mKCgpPT57djJlKCk7cyhlY3QsInN1YkhvdXJzIik7WHdyPWVjdH0pO2Z1bmN0aW9uIGFjdChhLGUsdCl7cmV0dXJuIGwwKGEsLWUsdCl9dmFyIHRNcixyY3Q9ZigoKT0+e2g5KCk7cyhhY3QsInN1Yk1pbGxpc2Vjb25kcyIpO3RNcj1hY3R9KTtmdW5jdGlvbiBzY3QoYSxlLHQpe3JldHVybiB4aChhLC1lLHQpfXZhciBpTXIsaWN0PWYoKCk9PntkSygpO3Moc2N0LCJzdWJNaW51dGVzIik7aU1yPXNjdH0pO2Z1bmN0aW9uIG9jdChhLGUsdCl7cmV0dXJuIHloKGEsLWUsdCl9dmFyIGNNcixuY3Q9ZigoKT0+e3VLKCk7cyhvY3QsInN1YlF1YXJ0ZXJzIik7Y01yPW9jdH0pO2Z1bmN0aW9uIGxjdChhLGUsdCl7cmV0dXJuIHBLKGEsLWUsdCl9dmFyIGZNcixjY3Q9ZigoKT0+e3cyZSgpO3MobGN0LCJzdWJTZWNvbmRzIik7Zk1yPWxjdH0pO2Z1bmN0aW9uIGRjdChhLGUsdCl7cmV0dXJuIGQwKGEsLWUsdCl9dmFyIGJNcix1Y3Q9ZigoKT0+e2c5KCk7cyhkY3QsInN1YldlZWtzIik7Yk1yPWRjdH0pO2Z1bmN0aW9uIHBjdChhLGUsdCl7cmV0dXJuIGZLKGEsLWUsdCl9dmFyIHdNcixmY3Q9ZigoKT0+e00yZSgpO3MocGN0LCJzdWJZZWFycyIpO3dNcj1wY3R9KTtmdW5jdGlvbiBoY3QoYSl7cmV0dXJuIE1hdGgudHJ1bmMoYSo3KX12YXIgek1yLG1jdD1mKCgpPT57SnQoKTtzKGhjdCwid2Vla3NUb0RheXMiKTt6TXI9aGN0fSk7ZnVuY3Rpb24gZ2N0KGEpe3JldHVybiBNYXRoLnRydW5jKGEqMzY1LjI0MjUpfXZhciBMTXIsYmN0PWYoKCk9PntKdCgpO3MoZ2N0LCJ5ZWFyc1RvRGF5cyIpO0xNcj1nY3R9KTtmdW5jdGlvbiB2Y3QoYSl7cmV0dXJuIE1hdGgudHJ1bmMoYSphSyl9dmFyIEVNcix4Y3Q9ZigoKT0+e0p0KCk7cyh2Y3QsInllYXJzVG9Nb250aHMiKTtFTXI9dmN0fSk7ZnVuY3Rpb24geWN0KGEpe3JldHVybiBNYXRoLnRydW5jKGEqckspfXZhciBSTXIsd2N0PWYoKCk9PntKdCgpO3MoeWN0LCJ5ZWFyc1RvUXVhcnRlcnMiKTtSTXI9eWN0fSk7dmFyIEE5PXt9O3J0KEE5LHthZGQ6KCk9Pm4wLGFkZEJ1c2luZXNzRGF5czooKT0+b0ssYWRkRGF5czooKT0+Q3MsYWRkSG91cnM6KCk9Pm5LLGFkZElTT1dlZWtZZWFyczooKT0+Y0ssYWRkTWlsbGlzZWNvbmRzOigpPT5sMCxhZGRNaW51dGVzOigpPT54aCxhZGRNb250aHM6KCk9PnYyLGFkZFF1YXJ0ZXJzOigpPT55aCxhZGRTZWNvbmRzOigpPT5wSyxhZGRXZWVrczooKT0+ZDAsYWRkWWVhcnM6KCk9PmZLLGFyZUludGVydmFsc092ZXJsYXBwaW5nOigpPT5Wc3QsY2xhbXA6KCk9PlVzdCxjbG9zZXN0SW5kZXhUbzooKT0+Z0ssY2xvc2VzdFRvOigpPT5Hc3QsY29tcGFyZUFzYzooKT0+eGksY29tcGFyZURlc2M6KCk9PktzdCxjb25zdHJ1Y3RGcm9tOigpPT5GZSxjb25zdHJ1Y3ROb3c6KCk9PmNhLGRheXNUb1dlZWtzOigpPT5Yc3QsZGlmZmVyZW5jZUluQnVzaW5lc3NEYXlzOigpPT5Kc3QsZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzOigpPT5GcyxkaWZmZXJlbmNlSW5DYWxlbmRhcklTT1dlZWtZZWFyczooKT0+dkssZGlmZmVyZW5jZUluQ2FsZW5kYXJJU09XZWVrczooKT0+dGl0LGRpZmZlcmVuY2VJbkNhbGVuZGFyTW9udGhzOigpPT54MyxkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzOigpPT5NaCxkaWZmZXJlbmNlSW5DYWxlbmRhcldlZWtzOigpPT55MyxkaWZmZXJlbmNlSW5DYWxlbmRhclllYXJzOigpPT51MCxkaWZmZXJlbmNlSW5EYXlzOigpPT5raCxkaWZmZXJlbmNlSW5Ib3VyczooKT0+dzMsZGlmZmVyZW5jZUluSVNPV2Vla1llYXJzOigpPT5zaXQsZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzOigpPT5TaCxkaWZmZXJlbmNlSW5NaW51dGVzOigpPT5NMyxkaWZmZXJlbmNlSW5Nb250aHM6KCk9PnAwLGRpZmZlcmVuY2VJblF1YXJ0ZXJzOigpPT5vaXQsZGlmZmVyZW5jZUluU2Vjb25kczooKT0+azIsZGlmZmVyZW5jZUluV2Vla3M6KCk9PmxpdCxkaWZmZXJlbmNlSW5ZZWFyczooKT0+JEssZWFjaERheU9mSW50ZXJ2YWw6KCk9PkRLLGVhY2hIb3VyT2ZJbnRlcnZhbDooKT0+ZGl0LGVhY2hNaW51dGVPZkludGVydmFsOigpPT5waXQsZWFjaE1vbnRoT2ZJbnRlcnZhbDooKT0+aGl0LGVhY2hRdWFydGVyT2ZJbnRlcnZhbDooKT0+Z2l0LGVhY2hXZWVrT2ZJbnRlcnZhbDooKT0+dml0LGVhY2hXZWVrZW5kT2ZJbnRlcnZhbDooKT0+X2gsZWFjaFdlZWtlbmRPZk1vbnRoOigpPT55aXQsZWFjaFdlZWtlbmRPZlllYXI6KCk9Pk1pdCxlYWNoWWVhck9mSW50ZXJ2YWw6KCk9PlNpdCxlbmRPZkRheTooKT0+emgsZW5kT2ZEZWNhZGU6KCk9PkNpdCxlbmRPZkhvdXI6KCk9PlRpdCxlbmRPZklTT1dlZWs6KCk9PiRpdCxlbmRPZklTT1dlZWtZZWFyOigpPT5BaXQsZW5kT2ZNaW51dGU6KCk9PlBpdCxlbmRPZk1vbnRoOigpPT5DaCxlbmRPZlF1YXJ0ZXI6KCk9Pk5pdCxlbmRPZlNlY29uZDooKT0+T2l0LGVuZE9mVG9kYXk6KCk9PkJpdCxlbmRPZlRvbW9ycm93OigpPT5xaXQsZW5kT2ZXZWVrOigpPT5OSyxlbmRPZlllYXI6KCk9PlBLLGVuZE9mWWVzdGVyZGF5OigpPT5qaXQsZm9ybWF0OigpPT5TOSxmb3JtYXREYXRlOigpPT5TOSxmb3JtYXREaXN0YW5jZTooKT0+akssZm9ybWF0RGlzdGFuY2VTdHJpY3Q6KCk9PlVLLGZvcm1hdERpc3RhbmNlVG9Ob3c6KCk9PmZvdCxmb3JtYXREaXN0YW5jZVRvTm93U3RyaWN0OigpPT5tb3QsZm9ybWF0RHVyYXRpb246KCk9PmJvdCxmb3JtYXRJU086KCk9PnhvdCxmb3JtYXRJU085MDc1OigpPT53b3QsZm9ybWF0SVNPRHVyYXRpb246KCk9PmtvdCxmb3JtYXRSRkMzMzM5OigpPT56b3QsZm9ybWF0UkZDNzIzMTooKT0+X290LGZvcm1hdFJlbGF0aXZlOigpPT5Mb3QsZm9ybWF0dGVyczooKT0+TTksZnJvbVVuaXhUaW1lOigpPT5Eb3QsZ2V0RGF0ZTooKT0+V0ssZ2V0RGF5OigpPT5nMCxnZXREYXlPZlllYXI6KCk9Pk9LLGdldERheXNJbk1vbnRoOigpPT5HSyxnZXREYXlzSW5ZZWFyOigpPT5Fb3QsZ2V0RGVjYWRlOigpPT5Jb3QsZ2V0RGVmYXVsdE9wdGlvbnM6KCk9PktLLGdldEhvdXJzOigpPT5Sb3QsZ2V0SVNPRGF5OigpPT5aSyxnZXRJU09XZWVrOigpPT5EaCxnZXRJU09XZWVrWWVhcjooKT0+cWksZ2V0SVNPV2Vla3NJblllYXI6KCk9PkZvdCxnZXRNaWxsaXNlY29uZHM6KCk9PkhvdCxnZXRNaW51dGVzOigpPT5Wb3QsZ2V0TW9udGg6KCk9PlVvdCxnZXRPdmVybGFwcGluZ0RheXNJbkludGVydmFsczooKT0+R290LGdldFF1YXJ0ZXI6KCk9PmI5LGdldFNlY29uZHM6KCk9PktvdCxnZXRUaW1lOigpPT5Yb3QsZ2V0VW5peFRpbWU6KCk9PkpvdCxnZXRXZWVrOigpPT5BaCxnZXRXZWVrT2ZNb250aDooKT0+dG50LGdldFdlZWtZZWFyOigpPT5oMCxnZXRXZWVrc0luTW9udGg6KCk9PnJudCxnZXRZZWFyOigpPT5pbnQsaG91cnNUb01pbGxpc2Vjb25kczooKT0+bm50LGhvdXJzVG9NaW51dGVzOigpPT5jbnQsaG91cnNUb1NlY29uZHM6KCk9PnVudCxpbnRlcnZhbDooKT0+Zm50LGludGVydmFsVG9EdXJhdGlvbjooKT0+bW50LGludGxGb3JtYXQ6KCk9PmJudCxpbnRsRm9ybWF0RGlzdGFuY2U6KCk9PnhudCxpc0FmdGVyOigpPT53bnQsaXNCZWZvcmU6KCk9PmtudCxpc0RhdGU6KCk9PmJLLGlzRXF1YWw6KCk9PnpudCxpc0V4aXN0czooKT0+X250LGlzRmlyc3REYXlPZk1vbnRoOigpPT5MbnQsaXNGcmlkYXk6KCk9PkRudCxpc0Z1dHVyZTooKT0+RW50LGlzTGFzdERheU9mTW9udGg6KCk9PkxLLGlzTGVhcFllYXI6KCk9PllLLGlzTWF0Y2g6KCk9PmYxdCxpc01vbmRheTooKT0+bTF0LGlzUGFzdDooKT0+YjF0LGlzU2FtZURheTooKT0+TTIsaXNTYW1lSG91cjooKT0+SFosaXNTYW1lSVNPV2VlazooKT0+VlosaXNTYW1lSVNPV2Vla1llYXI6KCk9PngxdCxpc1NhbWVNaW51dGU6KCk9PmpaLGlzU2FtZU1vbnRoOigpPT5VWixpc1NhbWVRdWFydGVyOigpPT5XWixpc1NhbWVTZWNvbmQ6KCk9PkdaLGlzU2FtZVdlZWs6KCk9Pk5oLGlzU2FtZVllYXI6KCk9PllaLGlzU2F0dXJkYXk6KCk9PnNLLGlzU3VuZGF5OigpPT5pSyxpc1RoaXNIb3VyOigpPT53MXQsaXNUaGlzSVNPV2VlazooKT0+azF0LGlzVGhpc01pbnV0ZTooKT0+ejF0LGlzVGhpc01vbnRoOigpPT5fMXQsaXNUaGlzUXVhcnRlcjooKT0+TDF0LGlzVGhpc1NlY29uZDooKT0+RDF0LGlzVGhpc1dlZWs6KCk9PkUxdCxpc1RoaXNZZWFyOigpPT5JMXQsaXNUaHVyc2RheTooKT0+UjF0LGlzVG9kYXk6KCk9PkYxdCxpc1RvbW9ycm93OigpPT5IMXQsaXNUdWVzZGF5OigpPT5WMXQsaXNWYWxpZDooKT0+WHMsaXNXZWRuZXNkYXk6KCk9PlUxdCxpc1dlZWtlbmQ6KCk9PngyLGlzV2l0aGluSW50ZXJ2YWw6KCk9PkcxdCxpc1llc3RlcmRheTooKT0+SzF0LGxhc3REYXlPZkRlY2FkZTooKT0+WDF0LGxhc3REYXlPZklTT1dlZWs6KCk9PkoxdCxsYXN0RGF5T2ZJU09XZWVrWWVhcjooKT0+dDJ0LGxhc3REYXlPZk1vbnRoOigpPT5YSyxsYXN0RGF5T2ZRdWFydGVyOigpPT5yMnQsbGFzdERheU9mV2VlazooKT0+S1osbGFzdERheU9mWWVhcjooKT0+aTJ0LGxpZ2h0Rm9ybWF0OigpPT5uMnQsbGlnaHRGb3JtYXR0ZXJzOigpPT5xbyxsb25nRm9ybWF0dGVyczooKT0+bTAsbWF4OigpPT5oSyxtaWxsaXNlY29uZHM6KCk9PmMydCxtaWxsaXNlY29uZHNUb0hvdXJzOigpPT51MnQsbWlsbGlzZWNvbmRzVG9NaW51dGVzOigpPT5mMnQsbWlsbGlzZWNvbmRzVG9TZWNvbmRzOigpPT5tMnQsbWluOigpPT5tSyxtaW51dGVzVG9Ib3VyczooKT0+YjJ0LG1pbnV0ZXNUb01pbGxpc2Vjb25kczooKT0+eDJ0LG1pbnV0ZXNUb1NlY29uZHM6KCk9PncydCxtb250aHNUb1F1YXJ0ZXJzOigpPT5rMnQsbW9udGhzVG9ZZWFyczooKT0+ejJ0LG5leHREYXk6KCk9Pk1pLG5leHRGcmlkYXk6KCk9Pl8ydCxuZXh0TW9uZGF5OigpPT5MMnQsbmV4dFNhdHVyZGF5OigpPT5EMnQsbmV4dFN1bmRheTooKT0+RTJ0LG5leHRUaHVyc2RheTooKT0+STJ0LG5leHRUdWVzZGF5OigpPT5SMnQsbmV4dFdlZG5lc2RheTooKT0+RjJ0LHBhcnNlOigpPT5CWixwYXJzZUlTTzooKT0+cTJ0LHBhcnNlSlNPTjooKT0+ajJ0LHBhcnNlcnM6KCk9PkZaLHByZXZpb3VzRGF5OigpPT5raSxwcmV2aW91c0ZyaWRheTooKT0+VzJ0LHByZXZpb3VzTW9uZGF5OigpPT5ZMnQscHJldmlvdXNTYXR1cmRheTooKT0+WjJ0LHByZXZpb3VzU3VuZGF5OigpPT5RMnQscHJldmlvdXNUaHVyc2RheTooKT0+ZWx0LHByZXZpb3VzVHVlc2RheTooKT0+YWx0LHByZXZpb3VzV2VkbmVzZGF5OigpPT5zbHQscXVhcnRlcnNUb01vbnRoczooKT0+b2x0LHF1YXJ0ZXJzVG9ZZWFyczooKT0+bGx0LHJvdW5kVG9OZWFyZXN0SG91cnM6KCk9PmRsdCxyb3VuZFRvTmVhcmVzdE1pbnV0ZXM6KCk9PnBsdCxzZWNvbmRzVG9Ib3VyczooKT0+aGx0LHNlY29uZHNUb01pbGxpc2Vjb25kczooKT0+Z2x0LHNlY29uZHNUb01pbnV0ZXM6KCk9PnZsdCxzZXQ6KCk9PnlsdCxzZXREYXRlOigpPT5NbHQsc2V0RGF5OigpPT5iMCxzZXREYXlPZlllYXI6KCk9PlNsdCxzZXREZWZhdWx0T3B0aW9uczooKT0+Q2x0LHNldEhvdXJzOigpPT5UbHQsc2V0SVNPRGF5OigpPT5rWixzZXRJU09XZWVrOigpPT5nWixzZXRJU09XZWVrWWVhcjooKT0+bEssc2V0TWlsbGlzZWNvbmRzOigpPT4kbHQsc2V0TWludXRlczooKT0+QWx0LHNldE1vbnRoOigpPT5SaCxzZXRRdWFydGVyOigpPT5QbHQsc2V0U2Vjb25kczooKT0+Tmx0LHNldFdlZWs6KCk9PmhaLHNldFdlZWtZZWFyOigpPT5PbHQsc2V0WWVhcjooKT0+Qmx0LHN0YXJ0T2ZEYXk6KCk9PncyLHN0YXJ0T2ZEZWNhZGU6KCk9PnFsdCxzdGFydE9mSG91cjooKT0+Xzksc3RhcnRPZklTT1dlZWs6KCk9Pm5zLHN0YXJ0T2ZJU09XZWVrWWVhcjooKT0+SG8sc3RhcnRPZk1pbnV0ZTooKT0+VDksc3RhcnRPZk1vbnRoOigpPT5mMCxzdGFydE9mUXVhcnRlcjooKT0+ejIsc3RhcnRPZlNlY29uZDooKT0+TDksc3RhcnRPZlRvZGF5OigpPT5qbHQsc3RhcnRPZlRvbW9ycm93OigpPT5XbHQsc3RhcnRPZldlZWs6KCk9PnRyLHN0YXJ0T2ZXZWVrWWVhcjooKT0+UzMsc3RhcnRPZlllYXI6KCk9PlRoLHN0YXJ0T2ZZZXN0ZXJkYXk6KCk9PllsdCxzdWI6KCk9PlpsdCxzdWJCdXNpbmVzc0RheXM6KCk9PlFsdCxzdWJEYXlzOigpPT52MCxzdWJIb3VyczooKT0+ZWN0LHN1YklTT1dlZWtZZWFyczooKT0+U0ssc3ViTWlsbGlzZWNvbmRzOigpPT5hY3Qsc3ViTWludXRlczooKT0+c2N0LHN1Yk1vbnRoczooKT0+UVosc3ViUXVhcnRlcnM6KCk9Pm9jdCxzdWJTZWNvbmRzOigpPT5sY3Qsc3ViV2Vla3M6KCk9PmRjdCxzdWJZZWFyczooKT0+cGN0LHRvRGF0ZTooKT0+a2UsdHJhbnNwb3NlOigpPT5RSyx3ZWVrc1RvRGF5czooKT0+aGN0LHllYXJzVG9EYXlzOigpPT5nY3QseWVhcnNUb01vbnRoczooKT0+dmN0LHllYXJzVG9RdWFydGVyczooKT0+eWN0fSk7dmFyIE1jdD1mKCgpPT57aDJlKCk7YjJlKCk7YjIoKTt2MmUoKTt5MmUoKTtoOSgpO2RLKCk7YmgoKTt1SygpO3cyZSgpO2c5KCk7TTJlKCk7anN0KCk7V3N0KCk7ejJlKCk7WXN0KCk7djMoKTtac3QoKTtEdCgpO19zKCk7UXN0KCk7ZWl0KCk7Q2woKTtfMmUoKTthaXQoKTt4SygpO0wyZSgpO3lLKCk7d0soKTtNSygpO2tLKCk7aWl0KCk7eksoKTtDSygpO3Y5KCk7bml0KCk7eDkoKTtjaXQoKTtBMmUoKTtFMmUoKTt1aXQoKTtmaXQoKTttaXQoKTtiaXQoKTt4aXQoKTtFSygpO3dpdCgpO2tpdCgpO3ppdCgpO19LKCk7X2l0KCk7TGl0KCk7RGl0KCk7RWl0KCk7SWl0KCk7VEsoKTtSaXQoKTtGaXQoKTtIaXQoKTtWaXQoKTtJMmUoKTtQMmUoKTtVaXQoKTtCMmUoKTtIMmUoKTtxMmUoKTtob3QoKTtnb3QoKTt2b3QoKTt5b3QoKTtNb3QoKTtTb3QoKTtDb3QoKTtUb3QoKTskb3QoKTtBb3QoKTtWMmUoKTt6OSgpO04yZSgpO2oyZSgpO1BvdCgpO05vdCgpO1cyZSgpO09vdCgpO0cyZSgpO0ZLKCk7YzAoKTtCb3QoKTtxb3QoKTtqb3QoKTtXb3QoKTtZb3QoKTtUMmUoKTtab3QoKTtRb3QoKTtlbnQoKTtISygpO2FudCgpO3c5KCk7c250KCk7b250KCk7bG50KCk7ZG50KCk7cG50KCk7aG50KCk7Z250KCk7dm50KCk7eW50KCk7TW50KCk7U250KCk7QzJlKCk7Q250KCk7VG50KCk7JG50KCk7QW50KCk7UG50KCk7RDJlKCk7VTJlKCk7aDF0KCk7ZzF0KCk7djF0KCk7d2goKTthbGUoKTtybGUoKTt5MXQoKTtpbGUoKTtvbGUoKTtubGUoKTtjbGUoKTtxWigpO2RsZSgpO20yZSgpO2cyZSgpO00xdCgpO1MxdCgpO0MxdCgpO1QxdCgpOyQxdCgpO0ExdCgpO1AxdCgpO04xdCgpO08xdCgpO0IxdCgpO3ExdCgpO2oxdCgpO19sKCk7VzF0KCk7ZjkoKTtZMXQoKTtaMXQoKTtRMXQoKTtlMnQoKTthMnQoKTtZMmUoKTtzMnQoKTt1bGUoKTtvMnQoKTtsMnQoKTtrMmUoKTtkMnQoKTtwMnQoKTtoMnQoKTtnMnQoKTtTMmUoKTt2MnQoKTt5MnQoKTtNMnQoKTtTMnQoKTtDMnQoKTtMbCgpO1QydCgpOyQydCgpO0EydCgpO1AydCgpO04ydCgpO08ydCgpO0IydCgpO2VsZSgpO1YydCgpO1UydCgpOyRsKCk7RzJ0KCk7SzJ0KCk7WDJ0KCk7SjJ0KCk7dGx0KCk7cmx0KCk7aWx0KCk7bmx0KCk7Y2x0KCk7dWx0KCk7Zmx0KCk7bWx0KCk7Ymx0KCk7eGx0KCk7d2x0KCk7a2x0KCk7QzkoKTt6bHQoKTtfbHQoKTtMbHQoKTtKMmUoKTtRMmUoKTt4MmUoKTtEbHQoKTtFbHQoKTtYWigpO0lsdCgpO1JsdCgpO1gyZSgpO0ZsdCgpO0hsdCgpO205KCk7Vmx0KCk7dGxlKCk7eTIoKTt2aCgpO3NsZSgpO3k5KCk7QUsoKTtsbGUoKTtVbHQoKTtHbHQoKTtyMSgpO0JLKCk7SUsoKTtLbHQoKTtYbHQoKTtKbHQoKTskOSgpO3RjdCgpOyQyZSgpO3JjdCgpO2ljdCgpO2ZsZSgpO25jdCgpO2NjdCgpO3VjdCgpO2ZjdCgpO0hlKCk7SzJlKCk7bWN0KCk7YmN0KCk7eGN0KCk7d2N0KCl9KTt2YXIga2N0PXZvKChobGUsbWxlKT0+eyhmdW5jdGlvbihhLGUpe3R5cGVvZiBobGU9PSJvYmplY3QiJiZ0eXBlb2YgbWxlPCJ1Ij9tbGUuZXhwb3J0cz1lKCk6dHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZD9kZWZpbmUoZSk6KGE9dHlwZW9mIGdsb2JhbFRoaXM8InUiP2dsb2JhbFRoaXM6YXx8c2VsZikuZGF5anM9ZSgpfSkoaGxlLChmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgYT0xZTMsZT02ZTQsdD0zNmU1LHI9Im1pbGxpc2Vjb25kIixpPSJzZWNvbmQiLG89Im1pbnV0ZSIsbj0iaG91ciIsbD0iZGF5IixkPSJ3ZWVrIixjPSJtb250aCIscD0icXVhcnRlciIsdT0ieWVhciIsbT0iZGF0ZSIsdj0iSW52YWxpZCBEYXRlIix4PS9eKFxkezR9KVstL10/KFxkezEsMn0pP1stL10/KFxkezAsMn0pW1R0XHNdKihcZHsxLDJ9KT86PyhcZHsxLDJ9KT86PyhcZHsxLDJ9KT9bLjpdPyhcZCspPyQvLGI9L1xbKFteXF1dKyldfFl7MSw0fXxNezEsNH18RHsxLDJ9fGR7MSw0fXxIezEsMn18aHsxLDJ9fGF8QXxtezEsMn18c3sxLDJ9fFp7MSwyfXxTU1MvZyxnPXtuYW1lOiJlbiIsd2Vla2RheXM6IlN1bmRheV9Nb25kYXlfVHVlc2RheV9XZWRuZXNkYXlfVGh1cnNkYXlfRnJpZGF5X1NhdHVyZGF5Ii5zcGxpdCgiXyIpLG1vbnRoczoiSmFudWFyeV9GZWJydWFyeV9NYXJjaF9BcHJpbF9NYXlfSnVuZV9KdWx5X0F1Z3VzdF9TZXB0ZW1iZXJfT2N0b2Jlcl9Ob3ZlbWJlcl9EZWNlbWJlciIuc3BsaXQoIl8iKSxvcmRpbmFsOnMoZnVuY3Rpb24oUyl7dmFyIFA9WyJ0aCIsInN0IiwibmQiLCJyZCJdLEE9UyUxMDA7cmV0dXJuIlsiK1MrKFBbKEEtMjApJTEwXXx8UFtBXXx8UFswXSkrIl0ifSwib3JkaW5hbCIpfSx5PXMoZnVuY3Rpb24oUyxQLEEpe3ZhciBGPVN0cmluZyhTKTtyZXR1cm4hRnx8Ri5sZW5ndGg+PVA/UzoiIitBcnJheShQKzEtRi5sZW5ndGgpLmpvaW4oQSkrU30sIm0iKSxrPXtzOnksejpzKGZ1bmN0aW9uKFMpe3ZhciBQPS1TLnV0Y09mZnNldCgpLEE9TWF0aC5hYnMoUCksRj1NYXRoLmZsb29yKEEvNjApLFc9QSU2MDtyZXR1cm4oUDw9MD8iKyI6Ii0iKSt5KEYsMiwiMCIpKyI6Iit5KFcsMiwiMCIpfSwieiIpLG06cyhmdW5jdGlvbiBTKFAsQSl7aWYoUC5kYXRlKCk8QS5kYXRlKCkpcmV0dXJuLVMoQSxQKTt2YXIgRj0xMiooQS55ZWFyKCktUC55ZWFyKCkpKyhBLm1vbnRoKCktUC5tb250aCgpKSxXPVAuY2xvbmUoKS5hZGQoRixjKSxqPUEtVzwwLEc9UC5jbG9uZSgpLmFkZChGKyhqPy0xOjEpLGMpO3JldHVybisoLShGKyhBLVcpLyhqP1ctRzpHLVcpKXx8MCl9LCJ0IiksYTpzKGZ1bmN0aW9uKFMpe3JldHVybiBTPDA/TWF0aC5jZWlsKFMpfHwwOk1hdGguZmxvb3IoUyl9LCJhIikscDpzKGZ1bmN0aW9uKFMpe3JldHVybntNOmMseTp1LHc6ZCxkOmwsRDptLGg6bixtOm8sczppLG1zOnIsUTpwfVtTXXx8U3RyaW5nKFN8fCIiKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL3MkLywiIil9LCJwIiksdTpzKGZ1bmN0aW9uKFMpe3JldHVybiBTPT09dm9pZCAwfSwidSIpfSxDPSJlbiIsTj17fTtOW0NdPWc7dmFyIF89IiRpc0RheWpzT2JqZWN0Iix6PXMoZnVuY3Rpb24oUyl7cmV0dXJuIFMgaW5zdGFuY2VvZiBCfHwhKCFTfHwhU1tfXSl9LCJTIiksTz1zKGZ1bmN0aW9uIFMoUCxBLEYpe3ZhciBXO2lmKCFQKXJldHVybiBDO2lmKHR5cGVvZiBQPT0ic3RyaW5nIil7dmFyIGo9UC50b0xvd2VyQ2FzZSgpO05bal0mJihXPWopLEEmJihOW2pdPUEsVz1qKTt2YXIgRz1QLnNwbGl0KCItIik7aWYoIVcmJkcubGVuZ3RoPjEpcmV0dXJuIFMoR1swXSl9ZWxzZXt2YXIgaGU9UC5uYW1lO05baGVdPVAsVz1oZX1yZXR1cm4hRiYmVyYmKEM9VyksV3x8IUYmJkN9LCJ0IiksVD1zKGZ1bmN0aW9uKFMsUCl7aWYoeihTKSlyZXR1cm4gUy5jbG9uZSgpO3ZhciBBPXR5cGVvZiBQPT0ib2JqZWN0Ij9QOnt9O3JldHVybiBBLmRhdGU9UyxBLmFyZ3M9YXJndW1lbnRzLG5ldyBCKEEpfSwiTyIpLEU9aztFLmw9TyxFLmk9eixFLnc9ZnVuY3Rpb24oUyxQKXtyZXR1cm4gVChTLHtsb2NhbGU6UC4kTCx1dGM6UC4kdSx4OlAuJHgsJG9mZnNldDpQLiRvZmZzZXR9KX07dmFyIEI9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gUyhBKXt0aGlzLiRMPU8oQS5sb2NhbGUsbnVsbCwhMCksdGhpcy5wYXJzZShBKSx0aGlzLiR4PXRoaXMuJHh8fEEueHx8e30sdGhpc1tfXT0hMH1zKFMsIk0iKTt2YXIgUD1TLnByb3RvdHlwZTtyZXR1cm4gUC5wYXJzZT1mdW5jdGlvbihBKXt0aGlzLiRkPShmdW5jdGlvbihGKXt2YXIgVz1GLmRhdGUsaj1GLnV0YztpZihXPT09bnVsbClyZXR1cm4gbmV3IERhdGUoTmFOKTtpZihFLnUoVykpcmV0dXJuIG5ldyBEYXRlO2lmKFcgaW5zdGFuY2VvZiBEYXRlKXJldHVybiBuZXcgRGF0ZShXKTtpZih0eXBlb2YgVz09InN0cmluZyImJiEvWiQvaS50ZXN0KFcpKXt2YXIgRz1XLm1hdGNoKHgpO2lmKEcpe3ZhciBoZT1HWzJdLTF8fDAsUj0oR1s3XXx8IjAiKS5zdWJzdHJpbmcoMCwzKTtyZXR1cm4gaj9uZXcgRGF0ZShEYXRlLlVUQyhHWzFdLGhlLEdbM118fDEsR1s0XXx8MCxHWzVdfHwwLEdbNl18fDAsUikpOm5ldyBEYXRlKEdbMV0saGUsR1szXXx8MSxHWzRdfHwwLEdbNV18fDAsR1s2XXx8MCxSKX19cmV0dXJuIG5ldyBEYXRlKFcpfSkoQSksdGhpcy5pbml0KCl9LFAuaW5pdD1mdW5jdGlvbigpe3ZhciBBPXRoaXMuJGQ7dGhpcy4keT1BLmdldEZ1bGxZZWFyKCksdGhpcy4kTT1BLmdldE1vbnRoKCksdGhpcy4kRD1BLmdldERhdGUoKSx0aGlzLiRXPUEuZ2V0RGF5KCksdGhpcy4kSD1BLmdldEhvdXJzKCksdGhpcy4kbT1BLmdldE1pbnV0ZXMoKSx0aGlzLiRzPUEuZ2V0U2Vjb25kcygpLHRoaXMuJG1zPUEuZ2V0TWlsbGlzZWNvbmRzKCl9LFAuJHV0aWxzPWZ1bmN0aW9uKCl7cmV0dXJuIEV9LFAuaXNWYWxpZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRkLnRvU3RyaW5nKCkhPT12fSxQLmlzU2FtZT1mdW5jdGlvbihBLEYpe3ZhciBXPVQoQSk7cmV0dXJuIHRoaXMuc3RhcnRPZihGKTw9VyYmVzw9dGhpcy5lbmRPZihGKX0sUC5pc0FmdGVyPWZ1bmN0aW9uKEEsRil7cmV0dXJuIFQoQSk8dGhpcy5zdGFydE9mKEYpfSxQLmlzQmVmb3JlPWZ1bmN0aW9uKEEsRil7cmV0dXJuIHRoaXMuZW5kT2YoRik8VChBKX0sUC4kZz1mdW5jdGlvbihBLEYsVyl7cmV0dXJuIEUudShBKT90aGlzW0ZdOnRoaXMuc2V0KFcsQSl9LFAudW5peD1mdW5jdGlvbigpe3JldHVybiBNYXRoLmZsb29yKHRoaXMudmFsdWVPZigpLzFlMyl9LFAudmFsdWVPZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRkLmdldFRpbWUoKX0sUC5zdGFydE9mPWZ1bmN0aW9uKEEsRil7dmFyIFc9dGhpcyxqPSEhRS51KEYpfHxGLEc9RS5wKEEpLGhlPXMoZnVuY3Rpb24oWSxRKXt2YXIgSj1FLncoVy4kdT9EYXRlLlVUQyhXLiR5LFEsWSk6bmV3IERhdGUoVy4keSxRLFkpLFcpO3JldHVybiBqP0o6Si5lbmRPZihsKX0sImwiKSxSPXMoZnVuY3Rpb24oWSxRKXtyZXR1cm4gRS53KFcudG9EYXRlKClbWV0uYXBwbHkoVy50b0RhdGUoInMiKSwoaj9bMCwwLDAsMF06WzIzLDU5LDU5LDk5OV0pLnNsaWNlKFEpKSxXKX0sIiQiKSxVPXRoaXMuJFcsbWU9dGhpcy4kTSxJPXRoaXMuJEQscT0ic2V0IisodGhpcy4kdT8iVVRDIjoiIik7c3dpdGNoKEcpe2Nhc2UgdTpyZXR1cm4gaj9oZSgxLDApOmhlKDMxLDExKTtjYXNlIGM6cmV0dXJuIGo/aGUoMSxtZSk6aGUoMCxtZSsxKTtjYXNlIGQ6dmFyIGNlPXRoaXMuJGxvY2FsZSgpLndlZWtTdGFydHx8MCx1ZT0oVTxjZT9VKzc6VSktY2U7cmV0dXJuIGhlKGo/SS11ZTpJKyg2LXVlKSxtZSk7Y2FzZSBsOmNhc2UgbTpyZXR1cm4gUihxKyJIb3VycyIsMCk7Y2FzZSBuOnJldHVybiBSKHErIk1pbnV0ZXMiLDEpO2Nhc2UgbzpyZXR1cm4gUihxKyJTZWNvbmRzIiwyKTtjYXNlIGk6cmV0dXJuIFIocSsiTWlsbGlzZWNvbmRzIiwzKTtkZWZhdWx0OnJldHVybiB0aGlzLmNsb25lKCl9fSxQLmVuZE9mPWZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLnN0YXJ0T2YoQSwhMSl9LFAuJHNldD1mdW5jdGlvbihBLEYpe3ZhciBXLGo9RS5wKEEpLEc9InNldCIrKHRoaXMuJHU/IlVUQyI6IiIpLGhlPShXPXt9LFdbbF09RysiRGF0ZSIsV1ttXT1HKyJEYXRlIixXW2NdPUcrIk1vbnRoIixXW3VdPUcrIkZ1bGxZZWFyIixXW25dPUcrIkhvdXJzIixXW29dPUcrIk1pbnV0ZXMiLFdbaV09RysiU2Vjb25kcyIsV1tyXT1HKyJNaWxsaXNlY29uZHMiLFcpW2pdLFI9aj09PWw/dGhpcy4kRCsoRi10aGlzLiRXKTpGO2lmKGo9PT1jfHxqPT09dSl7dmFyIFU9dGhpcy5jbG9uZSgpLnNldChtLDEpO1UuJGRbaGVdKFIpLFUuaW5pdCgpLHRoaXMuJGQ9VS5zZXQobSxNYXRoLm1pbih0aGlzLiRELFUuZGF5c0luTW9udGgoKSkpLiRkfWVsc2UgaGUmJnRoaXMuJGRbaGVdKFIpO3JldHVybiB0aGlzLmluaXQoKSx0aGlzfSxQLnNldD1mdW5jdGlvbihBLEYpe3JldHVybiB0aGlzLmNsb25lKCkuJHNldChBLEYpfSxQLmdldD1mdW5jdGlvbihBKXtyZXR1cm4gdGhpc1tFLnAoQSldKCl9LFAuYWRkPWZ1bmN0aW9uKEEsRil7dmFyIFcsaj10aGlzO0E9TnVtYmVyKEEpO3ZhciBHPUUucChGKSxoZT1zKGZ1bmN0aW9uKG1lKXt2YXIgST1UKGopO3JldHVybiBFLncoSS5kYXRlKEkuZGF0ZSgpK01hdGgucm91bmQobWUqQSkpLGopfSwieSIpO2lmKEc9PT1jKXJldHVybiB0aGlzLnNldChjLHRoaXMuJE0rQSk7aWYoRz09PXUpcmV0dXJuIHRoaXMuc2V0KHUsdGhpcy4keStBKTtpZihHPT09bClyZXR1cm4gaGUoMSk7aWYoRz09PWQpcmV0dXJuIGhlKDcpO3ZhciBSPShXPXt9LFdbb109ZSxXW25dPXQsV1tpXT1hLFcpW0ddfHwxLFU9dGhpcy4kZC5nZXRUaW1lKCkrQSpSO3JldHVybiBFLncoVSx0aGlzKX0sUC5zdWJ0cmFjdD1mdW5jdGlvbihBLEYpe3JldHVybiB0aGlzLmFkZCgtMSpBLEYpfSxQLmZvcm1hdD1mdW5jdGlvbihBKXt2YXIgRj10aGlzLFc9dGhpcy4kbG9jYWxlKCk7aWYoIXRoaXMuaXNWYWxpZCgpKXJldHVybiBXLmludmFsaWREYXRlfHx2O3ZhciBqPUF8fCJZWVlZLU1NLUREVEhIOm1tOnNzWiIsRz1FLnoodGhpcyksaGU9dGhpcy4kSCxSPXRoaXMuJG0sVT10aGlzLiRNLG1lPVcud2Vla2RheXMsST1XLm1vbnRocyxxPVcubWVyaWRpZW0sY2U9cyhmdW5jdGlvbihRLEosWixnZSl7cmV0dXJuIFEmJihRW0pdfHxRKEYsaikpfHxaW0pdLnNsaWNlKDAsZ2UpfSwiaCIpLHVlPXMoZnVuY3Rpb24oUSl7cmV0dXJuIEUucyhoZSUxMnx8MTIsUSwiMCIpfSwiZCIpLFk9cXx8ZnVuY3Rpb24oUSxKLFope3ZhciBnZT1RPDEyPyJBTSI6IlBNIjtyZXR1cm4gWj9nZS50b0xvd2VyQ2FzZSgpOmdlfTtyZXR1cm4gai5yZXBsYWNlKGIsKGZ1bmN0aW9uKFEsSil7cmV0dXJuIEp8fChmdW5jdGlvbihaKXtzd2l0Y2goWil7Y2FzZSJZWSI6cmV0dXJuIFN0cmluZyhGLiR5KS5zbGljZSgtMik7Y2FzZSJZWVlZIjpyZXR1cm4gRS5zKEYuJHksNCwiMCIpO2Nhc2UiTSI6cmV0dXJuIFUrMTtjYXNlIk1NIjpyZXR1cm4gRS5zKFUrMSwyLCIwIik7Y2FzZSJNTU0iOnJldHVybiBjZShXLm1vbnRoc1Nob3J0LFUsSSwzKTtjYXNlIk1NTU0iOnJldHVybiBjZShJLFUpO2Nhc2UiRCI6cmV0dXJuIEYuJEQ7Y2FzZSJERCI6cmV0dXJuIEUucyhGLiRELDIsIjAiKTtjYXNlImQiOnJldHVybiBTdHJpbmcoRi4kVyk7Y2FzZSJkZCI6cmV0dXJuIGNlKFcud2Vla2RheXNNaW4sRi4kVyxtZSwyKTtjYXNlImRkZCI6cmV0dXJuIGNlKFcud2Vla2RheXNTaG9ydCxGLiRXLG1lLDMpO2Nhc2UiZGRkZCI6cmV0dXJuIG1lW0YuJFddO2Nhc2UiSCI6cmV0dXJuIFN0cmluZyhoZSk7Y2FzZSJISCI6cmV0dXJuIEUucyhoZSwyLCIwIik7Y2FzZSJoIjpyZXR1cm4gdWUoMSk7Y2FzZSJoaCI6cmV0dXJuIHVlKDIpO2Nhc2UiYSI6cmV0dXJuIFkoaGUsUiwhMCk7Y2FzZSJBIjpyZXR1cm4gWShoZSxSLCExKTtjYXNlIm0iOnJldHVybiBTdHJpbmcoUik7Y2FzZSJtbSI6cmV0dXJuIEUucyhSLDIsIjAiKTtjYXNlInMiOnJldHVybiBTdHJpbmcoRi4kcyk7Y2FzZSJzcyI6cmV0dXJuIEUucyhGLiRzLDIsIjAiKTtjYXNlIlNTUyI6cmV0dXJuIEUucyhGLiRtcywzLCIwIik7Y2FzZSJaIjpyZXR1cm4gR31yZXR1cm4gbnVsbH0pKFEpfHxHLnJlcGxhY2UoIjoiLCIiKX0pKX0sUC51dGNPZmZzZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gMTUqLU1hdGgucm91bmQodGhpcy4kZC5nZXRUaW1lem9uZU9mZnNldCgpLzE1KX0sUC5kaWZmPWZ1bmN0aW9uKEEsRixXKXt2YXIgaixHPXRoaXMsaGU9RS5wKEYpLFI9VChBKSxVPShSLnV0Y09mZnNldCgpLXRoaXMudXRjT2Zmc2V0KCkpKmUsbWU9dGhpcy1SLEk9cyhmdW5jdGlvbigpe3JldHVybiBFLm0oRyxSKX0sIkQiKTtzd2l0Y2goaGUpe2Nhc2UgdTpqPUkoKS8xMjticmVhaztjYXNlIGM6aj1JKCk7YnJlYWs7Y2FzZSBwOmo9SSgpLzM7YnJlYWs7Y2FzZSBkOmo9KG1lLVUpLzYwNDhlNTticmVhaztjYXNlIGw6aj0obWUtVSkvODY0ZTU7YnJlYWs7Y2FzZSBuOmo9bWUvdDticmVhaztjYXNlIG86aj1tZS9lO2JyZWFrO2Nhc2UgaTpqPW1lL2E7YnJlYWs7ZGVmYXVsdDpqPW1lfXJldHVybiBXP2o6RS5hKGopfSxQLmRheXNJbk1vbnRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZW5kT2YoYykuJER9LFAuJGxvY2FsZT1mdW5jdGlvbigpe3JldHVybiBOW3RoaXMuJExdfSxQLmxvY2FsZT1mdW5jdGlvbihBLEYpe2lmKCFBKXJldHVybiB0aGlzLiRMO3ZhciBXPXRoaXMuY2xvbmUoKSxqPU8oQSxGLCEwKTtyZXR1cm4gaiYmKFcuJEw9aiksV30sUC5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBFLncodGhpcy4kZCx0aGlzKX0sUC50b0RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IERhdGUodGhpcy52YWx1ZU9mKCkpfSxQLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzVmFsaWQoKT90aGlzLnRvSVNPU3RyaW5nKCk6bnVsbH0sUC50b0lTT1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRkLnRvSVNPU3RyaW5nKCl9LFAudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kZC50b1VUQ1N0cmluZygpfSxTfSkoKSxNPUIucHJvdG90eXBlO3JldHVybiBULnByb3RvdHlwZT1NLFtbIiRtcyIscl0sWyIkcyIsaV0sWyIkbSIsb10sWyIkSCIsbl0sWyIkVyIsbF0sWyIkTSIsY10sWyIkeSIsdV0sWyIkRCIsbV1dLmZvckVhY2goKGZ1bmN0aW9uKFMpe01bU1sxXV09ZnVuY3Rpb24oUCl7cmV0dXJuIHRoaXMuJGcoUCxTWzBdLFNbMV0pfX0pKSxULmV4dGVuZD1mdW5jdGlvbihTLFApe3JldHVybiBTLiRpfHwoUyhQLEIsVCksUy4kaT0hMCksVH0sVC5sb2NhbGU9TyxULmlzRGF5anM9eixULnVuaXg9ZnVuY3Rpb24oUyl7cmV0dXJuIFQoMWUzKlMpfSxULmVuPU5bQ10sVC5Mcz1OLFQucD17fSxUfSkpfSk7dmFyIFNjdD12bygoZ2xlLGJsZSk9PnsoZnVuY3Rpb24oYSxlKXt0eXBlb2YgZ2xlPT0ib2JqZWN0IiYmdHlwZW9mIGJsZTwidSI/YmxlLmV4cG9ydHM9ZSgpOnR5cGVvZiBkZWZpbmU9PSJmdW5jdGlvbiImJmRlZmluZS5hbWQ/ZGVmaW5lKGUpOihhPXR5cGVvZiBnbG9iYWxUaGlzPCJ1Ij9nbG9iYWxUaGlzOmF8fHNlbGYpLmRheWpzX3BsdWdpbl9pc1RvZGF5PWUoKX0pKGdsZSwoZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7cmV0dXJuIGZ1bmN0aW9uKGEsZSx0KXtlLnByb3RvdHlwZS5pc1RvZGF5PWZ1bmN0aW9uKCl7dmFyIHI9IllZWVktTU0tREQiLGk9dCgpO3JldHVybiB0aGlzLmZvcm1hdChyKT09PWkuZm9ybWF0KHIpfX19KSl9KTtmdW5jdGlvbiBRZ2EoYSl7cmV0dXJue2RheXM6TWF0aC50cnVuYyhhLzg2NGU1KSxob3VyczpNYXRoLnRydW5jKGEvMzZlNSUyNCksbWludXRlczpNYXRoLnRydW5jKGEvNmU0JTYwKSxzZWNvbmRzOk1hdGgudHJ1bmMoYS8xZTMlNjApLG1pbGxpc2Vjb25kczpNYXRoLnRydW5jKGElMWUzKSxtaWNyb3NlY29uZHM6TWF0aC50cnVuYyh6Y3QoYSoxZTMpJTFlMyksbmFub3NlY29uZHM6TWF0aC50cnVuYyh6Y3QoYSoxZTYpJTFlMyl9fWZ1bmN0aW9uIEpnYShhKXtyZXR1cm57ZGF5czphLzg2NDAwMDAwbixob3VyczphLzM2MDAwMDBuJTI0bixtaW51dGVzOmEvNjAwMDBuJTYwbixzZWNvbmRzOmEvMTAwMG4lNjBuLG1pbGxpc2Vjb25kczphJTEwMDBuLG1pY3Jvc2Vjb25kczowbixuYW5vc2Vjb25kczowbn19ZnVuY3Rpb24gdmxlKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSJudW1iZXIiOntpZihOdW1iZXIuaXNGaW5pdGUoYSkpcmV0dXJuIFFnYShhKTticmVha31jYXNlImJpZ2ludCI6cmV0dXJuIEpnYShhKX10aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZpbml0ZSBudW1iZXIgb3IgYmlnaW50Iil9dmFyIHpjdCxDY3Q9ZigoKT0+e3pjdD1zKGE9Pk51bWJlci5pc0Zpbml0ZShhKT9hOjAsInRvWmVyb0lmSW5maW5pdHkiKTtzKFFnYSwicGFyc2VOdW1iZXIiKTtzKEpnYSwicGFyc2VCaWdpbnQiKTtzKHZsZSwicGFyc2VNaWxsaXNlY29uZHMiKX0pO2Z1bmN0aW9uIEU5KGEsZSl7bGV0IHQ9dHlwZW9mIGE9PSJiaWdpbnQiO2lmKCF0JiYhTnVtYmVyLmlzRmluaXRlKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgZmluaXRlIG51bWJlciBvciBiaWdpbnQiKTtlPXsuLi5lfTtsZXQgcj1hPDA/Ii0iOiIiO2E9YTwwPy1hOmEsZS5jb2xvbk5vdGF0aW9uJiYoZS5jb21wYWN0PSExLGUuZm9ybWF0U3ViTWlsbGlzZWNvbmRzPSExLGUuc2VwYXJhdGVNaWxsaXNlY29uZHM9ITEsZS52ZXJib3NlPSExKSxlLmNvbXBhY3QmJihlLnVuaXRDb3VudD0xLGUuc2Vjb25kc0RlY2ltYWxEaWdpdHM9MCxlLm1pbGxpc2Vjb25kc0RlY2ltYWxEaWdpdHM9MCk7bGV0IGk9W10sbz1zKChwLHUpPT57bGV0IG09TWF0aC5mbG9vcihwKjEwKip1K2FiYSk7cmV0dXJuKE1hdGgucm91bmQobSkvMTAqKnUpLnRvRml4ZWQodSl9LCJmbG9vckRlY2ltYWxzIiksbj1zKChwLHUsbSx2KT0+e2lmKCEoKGkubGVuZ3RoPT09MHx8IWUuY29sb25Ob3RhdGlvbikmJmViYShwKSYmIShlLmNvbG9uTm90YXRpb24mJm09PT0ibSIpKSl7aWYodj8/PVN0cmluZyhwKSxlLmNvbG9uTm90YXRpb24pe2xldCB4PXYuaW5jbHVkZXMoIi4iKT92LnNwbGl0KCIuIilbMF0ubGVuZ3RoOnYubGVuZ3RoLGI9aS5sZW5ndGg+MD8yOjE7dj0iMCIucmVwZWF0KE1hdGgubWF4KDAsYi14KSkrdn1lbHNlIHYrPWUudmVyYm9zZT8iICIrdGJhKHUscCk6bTtpLnB1c2godil9fSwiYWRkIiksbD12bGUoYSksZD1CaWdJbnQobC5kYXlzKTtpZihlLmhpZGVZZWFyQW5kRGF5cz9uKEJpZ0ludChkKSoyNG4rQmlnSW50KGwuaG91cnMpLCJob3VyIiwiaCIpOihlLmhpZGVZZWFyP24oZCwiZGF5IiwiZCIpOihuKGQvMzY1biwieWVhciIsInkiKSxuKGQlMzY1biwiZGF5IiwiZCIpKSxuKE51bWJlcihsLmhvdXJzKSwiaG91ciIsImgiKSksbihOdW1iZXIobC5taW51dGVzKSwibWludXRlIiwibSIpLCFlLmhpZGVTZWNvbmRzKWlmKGUuc2VwYXJhdGVNaWxsaXNlY29uZHN8fGUuZm9ybWF0U3ViTWlsbGlzZWNvbmRzfHwhZS5jb2xvbk5vdGF0aW9uJiZhPDFlMyYmIWUuc3ViU2Vjb25kc0FzRGVjaW1hbHMpe2xldCBwPU51bWJlcihsLnNlY29uZHMpLHU9TnVtYmVyKGwubWlsbGlzZWNvbmRzKSxtPU51bWJlcihsLm1pY3Jvc2Vjb25kcyksdj1OdW1iZXIobC5uYW5vc2Vjb25kcyk7aWYobihwLCJzZWNvbmQiLCJzIiksZS5mb3JtYXRTdWJNaWxsaXNlY29uZHMpbih1LCJtaWxsaXNlY29uZCIsIm1zIiksbihtLCJtaWNyb3NlY29uZCIsIlx4QjVzIiksbih2LCJuYW5vc2Vjb25kIiwibnMiKTtlbHNle2xldCB4PXUrbS8xZTMrdi8xZTYsYj10eXBlb2YgZS5taWxsaXNlY29uZHNEZWNpbWFsRGlnaXRzPT0ibnVtYmVyIj9lLm1pbGxpc2Vjb25kc0RlY2ltYWxEaWdpdHM6MCxnPXg+PTE/TWF0aC5yb3VuZCh4KTpNYXRoLmNlaWwoeCkseT1iP3gudG9GaXhlZChiKTpnO24oTnVtYmVyLnBhcnNlRmxvYXQoeSksIm1pbGxpc2Vjb25kIiwibXMiLHkpfX1lbHNle2xldCBwPSh0P051bWJlcihhJXJiYSk6YSkvMWUzJTYwLHU9dHlwZW9mIGUuc2Vjb25kc0RlY2ltYWxEaWdpdHM9PSJudW1iZXIiP2Uuc2Vjb25kc0RlY2ltYWxEaWdpdHM6MSxtPW8ocCx1KSx2PWUua2VlcERlY2ltYWxzT25XaG9sZVNlY29uZHM/bTptLnJlcGxhY2UoL1wuMCskLywiIik7bihOdW1iZXIucGFyc2VGbG9hdCh2KSwic2Vjb25kIiwicyIsdil9aWYoaS5sZW5ndGg9PT0wKXJldHVybiByKyIwIisoZS52ZXJib3NlPyIgbWlsbGlzZWNvbmRzIjoibXMiKTtsZXQgYz1lLmNvbG9uTm90YXRpb24/IjoiOiIgIjtyZXR1cm4gdHlwZW9mIGUudW5pdENvdW50PT0ibnVtYmVyIiYmKGk9aS5zbGljZSgwLE1hdGgubWF4KGUudW5pdENvdW50LDEpKSkscitpLmpvaW4oYyl9dmFyIGViYSx0YmEsYWJhLHJiYSxfY3Q9ZigoKT0+e0NjdCgpO2ViYT1zKGE9PmE9PT0wfHxhPT09MG4sImlzWmVybyIpLHRiYT1zKChhLGUpPT5lPT09MXx8ZT09PTFuP2E6YCR7YX1zYCwicGx1cmFsaXplIiksYWJhPTFlLTcscmJhPTI0bio2MG4qNjBuKjEwMDBuO3MoRTksInByZXR0eU1pbGxpc2Vjb25kcyIpfSk7dmFyIF8zLFRjdCx4MD1mKCgpPT57RmgoKTtTbCgpO1pzKCk7T3N0KCk7TWN0KCk7XzM9Qmkoa2N0KCksMSksVGN0PUJpKFNjdCgpLDEpO19jdCgpO18zLmRlZmF1bHQuZXh0ZW5kKFRjdC5kZWZhdWx0KX0pO3ZhciBQOSx4bGU9ZigoKT0+e3gwKCk7eWxlKCk7UDk9Y2xhc3N7c3RhdGlje3ModGhpcywiQ3JvbkpvYiIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLnN0YXR1cz0iaW5pdGlhbCIsdGhpcy5uZXh0RXhlY3V0aW9uVW5peD0wLHRoaXMuY3JvbkV4cHJlc3Npb249dCx0aGlzLmpvYkZ1bmN0aW9uPXIsdGhpcy5jcm9uUGFyc2VyPW5ldyB1OS5Dcm9uKHQpfWNoZWNrRXhlY3V0aW9uKCl7aWYodGhpcy5zdGF0dXM9PT0ic3RvcHBlZCIpcmV0dXJuIHRoaXMubmV4dEV4ZWN1dGlvblVuaXg7aWYodGhpcy5uZXh0RXhlY3V0aW9uVW5peD09PTAmJnRoaXMuZ2V0TmV4dEV4ZWN1dGlvblRpbWUoKSxEYXRlLm5vdygpPnRoaXMubmV4dEV4ZWN1dGlvblVuaXgpe2xldCBlPXRoaXMuam9iRnVuY3Rpb24odGhpcy5uZXh0RXhlY3V0aW9uVW5peCk7ZSBpbnN0YW5jZW9mIFByb21pc2UmJmUuY2F0Y2godD0+Y29uc29sZS5sb2codCkpLHRoaXMubmV4dEV4ZWN1dGlvblVuaXg9dGhpcy5nZXROZXh0RXhlY3V0aW9uVGltZSgpfXJldHVybiB0aGlzLm5leHRFeGVjdXRpb25Vbml4fWdldE5leHRFeGVjdXRpb25UaW1lKCl7cmV0dXJuIHRoaXMubmV4dEV4ZWN1dGlvblVuaXg9RGF0ZS5ub3coKSt0aGlzLmdldFRpbWVUb05leHRFeGVjdXRpb24oKX1nZXRUaW1lVG9OZXh0RXhlY3V0aW9uKCl7cmV0dXJuIHRoaXMuY3JvblBhcnNlci5tc1RvTmV4dCgpfXN0YXJ0KCl7dGhpcy5zdGF0dXM9InN0YXJ0ZWQifXN0b3AoKXt0aGlzLnN0YXR1cz0ic3RvcHBlZCJ9fX0pO3ZhciB3bGUseWxlPWYoKCk9Pnt4MCgpO3hsZSgpO3dsZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJDcm9uTWFuYWdlciIpfWNvbnN0cnVjdG9yKCl7dGhpcy5zdGF0dXM9InN0b3BwZWQiLHRoaXMuY3JvbmpvYnM9bmV3IEdhLk9iamVjdE1hcCx0aGlzLmN5Y2xlV2FrZURlZmVycmVkPW51bGx9d2FrZUN5Y2xlKCl7dGhpcy5jeWNsZVdha2VEZWZlcnJlZCYmdGhpcy5jeWNsZVdha2VEZWZlcnJlZC5zdGF0dXM9PT0icGVuZGluZyImJnRoaXMuY3ljbGVXYWtlRGVmZXJyZWQucmVzb2x2ZSgpfWFkZENyb25qb2IoZSx0KXtsZXQgcj1uZXcgUDkodGhpcyxlLHQpO3JldHVybiB0aGlzLmNyb25qb2JzLmFkZChyKSx0aGlzLnN0YXR1cz09PSJzdGFydGVkIiYmKHIuc3RhcnQoKSx0aGlzLndha2VDeWNsZSgpKSxyfXJlbW92ZUNyb25qb2IoZSl7ZS5zdG9wKCksdGhpcy5jcm9uam9icy5yZW1vdmUoZSksdGhpcy5zdGF0dXM9PT0ic3RhcnRlZCImJnRoaXMud2FrZUN5Y2xlKCl9c3RhcnQoKXtpZih0aGlzLnN0YXR1cyE9PSJzdGFydGVkIil7dGhpcy5zdGF0dXM9InN0YXJ0ZWQiO2ZvcihsZXQgZSBvZiB0aGlzLmNyb25qb2JzLmdldEFycmF5KCkpZS5zdGFydCgpO3RoaXMucnVuQ3JvbkN5Y2xlKCl9fWFzeW5jIHJ1bkNyb25DeWNsZSgpe2Zvcig7dGhpcy5zdGF0dXM9PT0ic3RhcnRlZCI7KXt0aGlzLmN5Y2xlV2FrZURlZmVycmVkPW5ldyBldC5EZWZlcnJlZDtsZXQgZT0xLzA7Zm9yKGxldCB0IG9mIHRoaXMuY3JvbmpvYnMuZ2V0QXJyYXkoKSl7dC5jaGVja0V4ZWN1dGlvbigpO2xldCByPXQuZ2V0VGltZVRvTmV4dEV4ZWN1dGlvbigpO3I8ZSYmKGU9cil9aWYoZTwxLzAmJmU+MCl0aGlzLmV4ZWN1dGlvblRpbWVvdXQ9bmV3IFB0LlRpbWVvdXQoZSksYXdhaXQgUHJvbWlzZS5yYWNlKFt0aGlzLmV4ZWN1dGlvblRpbWVvdXQucHJvbWlzZSx0aGlzLmN5Y2xlV2FrZURlZmVycmVkLnByb21pc2VdKSx0aGlzLmV4ZWN1dGlvblRpbWVvdXQuY2FuY2VsKCk7ZWxzZXtpZihlPD0wKWNvbnRpbnVlO2F3YWl0IHRoaXMuY3ljbGVXYWtlRGVmZXJyZWQucHJvbWlzZX19dGhpcy5jeWNsZVdha2VEZWZlcnJlZD1udWxsfXN0b3AoKXt0aGlzLnN0YXR1cz09PSJzdGFydGVkIiYmKHRoaXMuc3RhdHVzPSJzdG9wcGVkIix0aGlzLmV4ZWN1dGlvblRpbWVvdXQmJnRoaXMuZXhlY3V0aW9uVGltZW91dC5jYW5jZWwoKSx0aGlzLndha2VDeWNsZSgpKTtmb3IobGV0IGUgb2YgdGhpcy5jcm9uam9icy5nZXRBcnJheSgpKWUuc3RvcCgpfX19KTt2YXIgeTAsTWxlLHNiYSxpYmEsa2xlPWYoKCk9Pnt4MCgpO3kwPXt5ZWFyczpzKChhPTEpPT5hKjMxNTRlNywieWVhcnMiKSxtb250aHM6cygoYT0xKT0+YSoyNjI4ZTYsIm1vbnRocyIpLHdlZWtzOnMoKGE9MSk9PmEqNjA0OGU1LCJ3ZWVrcyIpLGRheXM6cygoYT0xKT0+YSo4NjRlNSwiZGF5cyIpLGhvdXJzOnMoKGE9MSk9PmEqMzZlNSwiaG91cnMiKSxtaW51dGVzOnMoKGE9MSk9PmEqNmU0LCJtaW51dGVzIiksc2Vjb25kczpzKChhPTEpPT5hKjFlMywic2Vjb25kcyIpfSxNbGU9cyhhPT57bGV0IGU9MCx0PXMocj0+e2U9ZStyfSwiYWRkTWlsbGlTZWNvbmRzIik7cmV0dXJuIGEueWVhcnMmJnQoeTAueWVhcnMoYS55ZWFycykpLGEubW9udGhzJiZ0KHkwLm1vbnRocyhhLm1vbnRocykpLGEud2Vla3MmJnQoeTAud2Vla3MoYS53ZWVrcykpLGEuZGF5cyYmdCh5MC5kYXlzKGEuZGF5cykpLGEuaG91cnMmJnQoeTAuaG91cnMoYS5ob3VycykpLGEubWludXRlcyYmdCh5MC5taW51dGVzKGEubWludXRlcykpLGEuc2Vjb25kcyYmdCh5MC5zZWNvbmRzKGEuc2Vjb25kcykpLGV9LCJnZXRNaWxsaVNlY29uZHNGcm9tVW5pdHMiKSxzYmE9cyhhPT5FOShhKSwiZ2V0TWlsbGlTZWNvbmRzQXNIdW1hblJlYWRhYmxlU3RyaW5nIiksaWJhPXMoYT0+QTkuZm9ybWF0RGlzdGFuY2VUb05vdyhuZXcgRGF0ZShhKSksImdldE1pbGxpU2Vjb25kc0FzSHVtYW5SZWFkYWJsZUFnb1RpbWUiKX0pO3ZhciBTbGUsTGN0PWYoKCk9Pnt4MCgpO2tsZSgpO1NsZT1jbGFzcyBhIGV4dGVuZHMgRGF0ZXtzdGF0aWN7cyh0aGlzLCJFeHRlbmRlZERhdGUiKX1zdGF0aWMgZnJvbU1pbGxpcyhlKXtyZXR1cm4gbmV3IGEoZSl9c3RhdGljIGZyb21EYXRlKGUpe3JldHVybiBuZXcgYShlLmdldFRpbWUoKSl9c3RhdGljIGZyb21FdXJvcGVhbkRhdGUoZSl7bGV0IHQ9LyguKilcLiguKilcLiguKikvLmV4ZWMoZSksaT1uZXcgRGF0ZShwYXJzZUZsb2F0KHRbM10pLHBhcnNlRmxvYXQodFsyXSktMSxwYXJzZUZsb2F0KHRbMV0pKS5nZXRUaW1lKCk7cmV0dXJuIG5ldyBhKGkpfXN0YXRpYyBmcm9tSHlwaGVkRGF0ZShlKXtsZXQgdD1uZXcgRGF0ZShlKS5nZXRUaW1lKCk7cmV0dXJuIG5ldyBhKHQpfXN0YXRpYyBmcm9tRXVyb3BlYW5EYXRlQW5kVGltZShlLHQ9IjEyOjAwOjAwIixyPSJFdXJvcGUvQmVybGluIil7bGV0IGk9LyguKilcLiguKilcLiguKikvLmV4ZWMoZSksbz1zKGM9PmAwJHtjfWAuc2xpY2UoLTIpLCJzbGljZURhdGUiKSxuPWAke2lbM119LSR7byhpWzJdKX0tJHtvKGlbMV0pfVQke3R9YCxkPV8zLmRlZmF1bHQobikudG9EYXRlKCkuZ2V0VGltZSgpO3JldHVybiBuZXcgYShkKX1jb25zdHJ1Y3RvcihlPURhdGUubm93KCkpe3N1cGVyKGUpfWV4cG9ydFRvRXVyb3BlYW5EYXRlKCl7bGV0IGU9dGhpcy5leHBvcnRUb1VuaXRzKCk7cmV0dXJuYCR7ZS5kYXlTdHJpbmd9LiR7ZS5tb250aFN0cmluZ30uJHtlLnllYXJTdHJpbmd9YH1leHBvcnRUb0h5cGhlZFNvcnRhYmxlRGF0ZSgpe2xldCBlPXRoaXMuZXhwb3J0VG9Vbml0cygpO3JldHVybmAke2UueWVhclN0cmluZ30tJHtlLm1vbnRoU3RyaW5nfS0ke2UuZGF5U3RyaW5nfWB9ZXhwb3J0VG9Vbml0cygpe2xldCBlPVsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSx0PVsiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiLCJTdW5kYXkiXTtyZXR1cm57eWVhcjp0aGlzLmdldEZ1bGxZZWFyKCkseWVhclN0cmluZzpgJHt0aGlzLmdldEZ1bGxZZWFyKCl9YCxtb250aDp0aGlzLmdldE1vbnRoKCkrMSxtb250aFN0cmluZzooIjAiKyh0aGlzLmdldE1vbnRoKCkrMSkpLnNsaWNlKC0yKSxtb250aE5hbWU6ZVt0aGlzLmdldE1vbnRoKCldLGRheTp0aGlzLmdldERhdGUoKSxkYXlTdHJpbmc6KCIwIit0aGlzLmdldERhdGUoKSkuc2xpY2UoLTIpLGRheU9mVGhlV2Vlazp0aGlzLmdldERheSgpLGRheU9mVGhlV2Vla05hbWU6dFt0aGlzLmdldERheSgpXX19Zm9ybWF0KGUpe3JldHVybiBfMy5kZWZhdWx0KHRoaXMuZ2V0VGltZSgpKS5mb3JtYXQoZSl9aXNUb2RheSgpe3JldHVybiBfMy5kZWZhdWx0KHRoaXMuZ2V0VGltZSgpKS5pc1RvZGF5KCl9bGVzc1RpbWVQYXNzZWRUb05vdyhlKXtsZXQgdD1NbGUoZSk7cmV0dXJuIERhdGUubm93KCktdGhpcy5nZXRUaW1lKCk8dH1tb3JlVGltZVBhc3NlZFRvTm93KGUpe3JldHVybiF0aGlzLmxlc3NUaW1lUGFzc2VkVG9Ob3coZSl9fX0pO3ZhciB6bGUsJGN0PWYoKCk9Pnt6bGU9Y2xhc3N7c3RhdGlje3ModGhpcywiSHJ0TWVhc3VyZW1lbnQiKX1jb25zdHJ1Y3Rvcigpe3RoaXMubmFub1NlY29uZHM9bnVsbCx0aGlzLm1pbGxpU2Vjb25kcz1udWxsLHRoaXMuX21pbGxpU3RhcnQ9bnVsbCx0aGlzLl9taWxsaURpZmY9bnVsbCx0aGlzLl9zdGFydGVkPSExfXN0YXJ0KCl7dGhpcy5fc3RhcnRlZD0hMCx0aGlzLl9taWxsaVN0YXJ0PURhdGUubm93KCl9c3RvcCgpe2lmKHRoaXMuX3N0YXJ0ZWQ9PT0hMSl7Y29uc29sZS5sb2coIkhhc24ndCBzdGFydGVkIHlldCIpO3JldHVybn1yZXR1cm4gdGhpcy5fbWlsbGlEaWZmPURhdGUubm93KCktdGhpcy5fbWlsbGlTdGFydCx0aGlzLm5hbm9TZWNvbmRzPXRoaXMuX21pbGxpRGlmZioxZTMsdGhpcy5taWxsaVNlY29uZHM9dGhpcy5fbWlsbGlEaWZmLHRoaXN9cmVzZXQoKXt0aGlzLm5hbm9TZWNvbmRzPW51bGwsdGhpcy5taWxsaVNlY29uZHM9bnVsbCx0aGlzLl9taWxsaVN0YXJ0PW51bGwsdGhpcy5fbWlsbGlEaWZmPW51bGwsdGhpcy5fc3RhcnRlZD0hMX19fSk7dmFyIENsZSxEY3Q9ZigoKT0+e3gwKCk7Q2xlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkludGVydmFsIil9Y29uc3RydWN0b3IoZSl7dGhpcy5zdGF0dXM9ImluaXRpYWwiLHRoaXMuc3RhdHVzQXV0aG9yaXphdGlvbj1udWxsLHRoaXMuaW50ZXJ2YWxKb2JzPVtdLHRoaXMuaW50ZXJ2YWxNaWxsaXNlY29uZHM9ZX1zdGFydCgpe3RoaXMuc3RhdHVzPSJzdGFydGVkIjtsZXQgZT1uZXcgRGF0ZTt0aGlzLnN0YXR1c0F1dGhvcml6YXRpb249ZSxzKGFzeW5jKCk9Pntmb3IoO3RoaXMuc3RhdHVzPT09InN0YXJ0ZWQiJiZ0aGlzLnN0YXR1c0F1dGhvcml6YXRpb249PT1lOylhd2FpdCBQdC5kZWxheUZvcih0aGlzLmludGVydmFsTWlsbGlzZWNvbmRzKSx0aGlzLmV4ZWN1dGVJbnRlcnZhbEpvYnMoKX0sInJ1bkludGVydmFsIikoKX1zdG9wKCl7dGhpcy5zdGF0dXM9InN0b3BwZWQiLHRoaXMuc3RhdHVzQXV0aG9yaXphdGlvbj1udWxsfWFkZEludGVydmFsSm9iKGUpe3RoaXMuaW50ZXJ2YWxKb2JzLnB1c2goZSl9ZXhlY3V0ZUludGVydmFsSm9icygpe2ZvcihsZXQgZSBvZiB0aGlzLmludGVydmFsSm9icyllKCl9fX0pO3ZhciBCaCxfbGU9ZigoKT0+e3gwKCk7Qmg9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJUaW1lU3RhbXAiKX1zdGF0aWMgZnJvbU1pbGxpU2Vjb25kcyhlKXtyZXR1cm4gbmV3IGEoZSl9c3RhdGljIGZyb21UaW1lU3RhbXAoZSl7bGV0IHQ9bmV3IGE7cmV0dXJuIHQuY2hhbmdlPXQubWlsbGlTZWNvbmRzLWUubWlsbGlTZWNvbmRzLHR9Y29uc3RydWN0b3IoZSl7dGhpcy5jaGFuZ2U9bnVsbCxlP3R5cGVvZiBlPT0ibnVtYmVyIiYmKHRoaXMuZGF0ZT1uZXcgRGF0ZShlKSk6dGhpcy5kYXRlPW5ldyBEYXRlLHRoaXMubWlsbGlTZWNvbmRzPXRoaXMuZGF0ZS5nZXRUaW1lKCksdGhpcy5lcG9jaHRpbWU9TWF0aC5mbG9vcih0aGlzLm1pbGxpU2Vjb25kcy8xZTMpfWlzT2xkZXJUaGFuT3RoZXJUaW1lU3RhbXAoZSx0PTApe3JldHVybiB0aGlzLm1pbGxpU2Vjb25kczxlLm1pbGxpU2Vjb25kcy10fWlzT2xkZXJUaGFuKGUsdD0wKXtyZXR1cm4gdGhpcy5taWxsaVNlY29uZHMrdDxlLm1pbGxpU2Vjb25kc31pc1lvdW5nZXJUaGFuT3RoZXJUaW1lU3RhbXAoZSx0PTApe3JldHVybiB0aGlzLm1pbGxpU2Vjb25kcz5lLm1pbGxpU2Vjb25kcyt0fWlzWW91bmdlclRoYW5NaWxsaVNlY29uZHMoZSl7bGV0IHI9bmV3IGEoKS5lcG9jaHRpbWUtZSxpPW5ldyBhKHIpO3JldHVybiB0aGlzLmlzWW91bmdlclRoYW5PdGhlclRpbWVTdGFtcChpKX19fSk7dmFyIFRsZSxBY3Q9ZigoKT0+e3gwKCk7X2xlKCk7VGxlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlRpbWVyIil9Z2V0IHRpbWVMZWZ0KCl7cmV0dXJuIHRoaXMudGltZUluTWlsbGlzZWNvbmRzLXRoaXMucGF1c2VkQXQuY2hhbmdlfWNvbnN0cnVjdG9yKGUpe3RoaXMuc3RhdGU9ImluaXRpYXRlZCIsdGhpcy5jb21wbGV0ZWREZWZlcnJlZD1ldC5kZWZlcigpLHRoaXMudGltZUluTWlsbGlzZWNvbmRzPWUsdGhpcy5jb21wbGV0ZWQ9dGhpcy5jb21wbGV0ZWREZWZlcnJlZC5wcm9taXNlfXN0YXJ0KCl7aWYoIXRoaXMuc3RhcnRlZEF0KXRoaXMuY3VycmVudFRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuY29tcGxldGVkRGVmZXJyZWQucmVzb2x2ZSgpfSx0aGlzLnRpbWVJbk1pbGxpc2Vjb25kcyksdGhpcy5zdGFydGVkQXQ9bmV3IEJoO2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJ0aW1lciBoYXMgYmVlbiBzdGFydGVkIGJlZm9yZS4gUGxlYXNlIHVzZSByZXN1bWUgaW5zdGVhZCIpfXBhdXNlKCl7dGhpcy5zdGFydGVkQXQmJihjbGVhclRpbWVvdXQodGhpcy5jdXJyZW50VGltZW91dCksdGhpcy5jdXJyZW50VGltZW91dD1udWxsLHRoaXMucGF1c2VkQXQ9QmguZnJvbVRpbWVTdGFtcCh0aGlzLnN0YXJ0ZWRBdCkpfXJlc3VtZSgpe2lmKHRoaXMuc3RhcnRlZEF0KXRoaXMuY3VycmVudFRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuY29tcGxldGVkRGVmZXJyZWQucmVzb2x2ZSgpfSx0aGlzLnRpbWVMZWZ0KTtlbHNlIHRocm93IG5ldyBFcnJvcigidGltZXIgaGFzIE5PVCBiZWVuIHN0YXJ0ZWQgYmVmb3JlLiBQbGVhc2UgdXNlIC5zdGFydCgpIGluc3RlYWQiKX1yZXNldCgpe3RoaXMucGF1c2UoKSx0aGlzLnN0YXJ0ZWRBdD1udWxsLHRoaXMucGF1c2VkQXQ9bnVsbH19fSk7dmFyIFQzPXt9O3J0KFQzLHtDcm9uSm9iOigpPT5QOSxDcm9uTWFuYWdlcjooKT0+d2xlLEV4dGVuZGVkRGF0ZTooKT0+U2xlLEhydE1lYXN1cmVtZW50OigpPT56bGUsSW50ZXJ2YWw6KCk9PkNsZSxUaW1lU3RhbXA6KCk9PkJoLFRpbWVyOigpPT5UbGUsZ2V0TWlsbGlTZWNvbmRzQXNIdW1hblJlYWRhYmxlQWdvVGltZTooKT0+aWJhLGdldE1pbGxpU2Vjb25kc0FzSHVtYW5SZWFkYWJsZVN0cmluZzooKT0+c2JhLGdldE1pbGxpU2Vjb25kc0Zyb21Vbml0czooKT0+TWxlLHVuaXRzOigpPT55MH0pO3ZhciBFY3Q9ZigoKT0+e3lsZSgpO3hsZSgpO0xjdCgpOyRjdCgpO0RjdCgpO0FjdCgpO19sZSgpO2tsZSgpfSk7dmFyIEljdD12bygoWF9yLFBjdCk9PnsidXNlIHN0cmljdCI7UGN0LmV4cG9ydHM9Y2xhc3N7c3RhdGlje3ModGhpcywiU3ltYm9sVHJlZU5vZGUiKX1jb25zdHJ1Y3Rvcigpe3RoaXMucGFyZW50PW51bGwsdGhpcy5wcmV2aW91c1NpYmxpbmc9bnVsbCx0aGlzLm5leHRTaWJsaW5nPW51bGwsdGhpcy5maXJzdENoaWxkPW51bGwsdGhpcy5sYXN0Q2hpbGQ9bnVsbCx0aGlzLmNoaWxkcmVuVmVyc2lvbj0wLHRoaXMuY2hpbGRJbmRleENhY2hlZFVwVG89bnVsbCx0aGlzLmNhY2hlZEluZGV4PS0xLHRoaXMuY2FjaGVkSW5kZXhWZXJzaW9uPU5hTn1nZXQgaXNBdHRhY2hlZCgpe3JldHVybiEhKHRoaXMucGFyZW50fHx0aGlzLnByZXZpb3VzU2libGluZ3x8dGhpcy5uZXh0U2libGluZyl9Z2V0IGhhc0NoaWxkcmVuKCl7cmV0dXJuISF0aGlzLmZpcnN0Q2hpbGR9Y2hpbGRyZW5DaGFuZ2VkKCl7dGhpcy5jaGlsZHJlblZlcnNpb249dGhpcy5jaGlsZHJlblZlcnNpb24rMSY0Mjk0OTY3Mjk1LHRoaXMuY2hpbGRJbmRleENhY2hlZFVwVG89bnVsbH1nZXRDYWNoZWRJbmRleChlKXtyZXR1cm4gdGhpcy5jYWNoZWRJbmRleFZlcnNpb24hPT1lLmNoaWxkcmVuVmVyc2lvbj8odGhpcy5jYWNoZWRJbmRleFZlcnNpb249TmFOLC0xKTp0aGlzLmNhY2hlZEluZGV4fXNldENhY2hlZEluZGV4KGUsdCl7dGhpcy5jYWNoZWRJbmRleFZlcnNpb249ZS5jaGlsZHJlblZlcnNpb24sdGhpcy5jYWNoZWRJbmRleD10fX19KTt2YXIgUmN0PXZvKChKX3IsTmN0KT0+eyJ1c2Ugc3RyaWN0IjtOY3QuZXhwb3J0cz1PYmplY3QuZnJlZXplKHtESVNDT05ORUNURUQ6MSxQUkVDRURJTkc6MixGT0xMT1dJTkc6NCxDT05UQUlOUzo4LENPTlRBSU5FRF9CWToxNn0pfSk7dmFyIHFjdD12bygoZVRyLEhjdCk9PnsidXNlIHN0cmljdCI7dmFyIE9jdD1TeW1ib2woKSxGY3Q9U3ltYm9sKCksdzA9U3ltYm9sKCksQmN0PVN5bWJvbCgpLHMxPWNsYXNze3N0YXRpY3tzKHRoaXMsIlRyZWVJdGVyYXRvciIpfWNvbnN0cnVjdG9yKGUsdCxyLGkpe3RoaXNbT2N0XT1lLHRoaXNbRmN0XT10LHRoaXNbdzBdPXIsdGhpc1tCY3RdPWl9bmV4dCgpe2xldCBlPXRoaXNbT2N0XSx0PXRoaXNbQmN0XSxyPXRoaXNbRmN0XTtpZighdGhpc1t3MF0pcmV0dXJue2RvbmU6ITAsdmFsdWU6cn07bGV0IGk9dGhpc1t3MF07cmV0dXJuIHQ9PT0xP3RoaXNbdzBdPWUuX25vZGUoaSkucHJldmlvdXNTaWJsaW5nOnQ9PT0yP3RoaXNbdzBdPWUuX25vZGUoaSkubmV4dFNpYmxpbmc6dD09PTM/dGhpc1t3MF09ZS5fbm9kZShpKS5wYXJlbnQ6dD09PTQ/dGhpc1t3MF09ZS5wcmVjZWRpbmcoaSx7cm9vdDpyfSk6dGhpc1t3MF09ZS5mb2xsb3dpbmcoaSx7cm9vdDpyfSkse2RvbmU6ITEsdmFsdWU6aX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoczEucHJvdG90eXBlLFN5bWJvbC5pdGVyYXRvcix7dmFsdWU6cyhmdW5jdGlvbigpe3JldHVybiB0aGlzfSwidmFsdWUiKSx3cml0YWJsZTohMX0pLHMxLlBSRVY9MSxzMS5ORVhUPTIsczEuUEFSRU5UPTMsczEuUFJFQ0VESU5HPTQsczEuRk9MTE9XSU5HPTUsT2JqZWN0LmZyZWV6ZShzMSksT2JqZWN0LmZyZWV6ZShzMS5wcm90b3R5cGUpLEhjdC5leHBvcnRzPXMxfSk7dmFyIGpjdD12bygoYVRyLFZjdCk9PnsidXNlIHN0cmljdCI7dmFyIG5iYT1JY3QoKSxNMD1SY3QoKSx2bj1xY3QoKTtmdW5jdGlvbiBMbGUoKXtyZXR1cm4hMH1zKExsZSwicmV0dXJuVHJ1ZSIpO2Z1bmN0aW9uIEhoKGEsZSl7cmV0dXJuIGFbYS5sZW5ndGgtMS1lXX1zKEhoLCJyZXZlcnNlQXJyYXlJbmRleCIpO3ZhciBKWj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJTeW1ib2xUcmVlIil9Y29uc3RydWN0b3IoZSl7dGhpcy5zeW1ib2w9U3ltYm9sKGV8fCJTeW1ib2xUcmVlIGRhdGEiKX1pbml0aWFsaXplKGUpe3JldHVybiB0aGlzLl9ub2RlKGUpLGV9X25vZGUoZSl7aWYoIWUpcmV0dXJuIG51bGw7bGV0IHQ9ZVt0aGlzLnN5bWJvbF07cmV0dXJuIHR8fChlW3RoaXMuc3ltYm9sXT1uZXcgbmJhKX1oYXNDaGlsZHJlbihlKXtyZXR1cm4gdGhpcy5fbm9kZShlKS5oYXNDaGlsZHJlbn1maXJzdENoaWxkKGUpe3JldHVybiB0aGlzLl9ub2RlKGUpLmZpcnN0Q2hpbGR9bGFzdENoaWxkKGUpe3JldHVybiB0aGlzLl9ub2RlKGUpLmxhc3RDaGlsZH1wcmV2aW91c1NpYmxpbmcoZSl7cmV0dXJuIHRoaXMuX25vZGUoZSkucHJldmlvdXNTaWJsaW5nfW5leHRTaWJsaW5nKGUpe3JldHVybiB0aGlzLl9ub2RlKGUpLm5leHRTaWJsaW5nfXBhcmVudChlKXtyZXR1cm4gdGhpcy5fbm9kZShlKS5wYXJlbnR9bGFzdEluY2x1c2l2ZURlc2NlbmRhbnQoZSl7bGV0IHQscj1lO2Zvcig7dD10aGlzLl9ub2RlKHIpLmxhc3RDaGlsZDspcj10O3JldHVybiByfXByZWNlZGluZyhlLHQpe2xldCByPXQmJnQucm9vdDtpZihlPT09cilyZXR1cm4gbnVsbDtsZXQgaT10aGlzLl9ub2RlKGUpLnByZXZpb3VzU2libGluZztyZXR1cm4gaT90aGlzLmxhc3RJbmNsdXNpdmVEZXNjZW5kYW50KGkpOnRoaXMuX25vZGUoZSkucGFyZW50fWZvbGxvd2luZyhlLHQpe2xldCByPXQmJnQucm9vdCxvPSEodCYmdC5za2lwQ2hpbGRyZW4pJiZ0aGlzLl9ub2RlKGUpLmZpcnN0Q2hpbGQ7aWYobylyZXR1cm4gbztsZXQgbj1lO2Rve2lmKG49PT1yKXJldHVybiBudWxsO2xldCBsPXRoaXMuX25vZGUobikubmV4dFNpYmxpbmc7aWYobClyZXR1cm4gbDtuPXRoaXMuX25vZGUobikucGFyZW50fXdoaWxlKG4pO3JldHVybiBudWxsfWNoaWxkcmVuVG9BcnJheShlLHQpe2xldCByPXQmJnQuYXJyYXl8fFtdLGk9dCYmdC5maWx0ZXJ8fExsZSxvPXQmJnQudGhpc0FyZ3x8dm9pZCAwLG49dGhpcy5fbm9kZShlKSxsPW4uZmlyc3RDaGlsZCxkPTA7Zm9yKDtsOyl7bGV0IGM9dGhpcy5fbm9kZShsKTtjLnNldENhY2hlZEluZGV4KG4sZCksaS5jYWxsKG8sbCkmJnIucHVzaChsKSxsPWMubmV4dFNpYmxpbmcsKytkfXJldHVybiByfWFuY2VzdG9yc1RvQXJyYXkoZSx0KXtsZXQgcj10JiZ0LmFycmF5fHxbXSxpPXQmJnQuZmlsdGVyfHxMbGUsbz10JiZ0LnRoaXNBcmd8fHZvaWQgMCxuPWU7Zm9yKDtuOylpLmNhbGwobyxuKSYmci5wdXNoKG4pLG49dGhpcy5fbm9kZShuKS5wYXJlbnQ7cmV0dXJuIHJ9dHJlZVRvQXJyYXkoZSx0KXtsZXQgcj10JiZ0LmFycmF5fHxbXSxpPXQmJnQuZmlsdGVyfHxMbGUsbz10JiZ0LnRoaXNBcmd8fHZvaWQgMCxuPWU7Zm9yKDtuOylpLmNhbGwobyxuKSYmci5wdXNoKG4pLG49dGhpcy5mb2xsb3dpbmcobix7cm9vdDplfSk7cmV0dXJuIHJ9Y2hpbGRyZW5JdGVyYXRvcihlLHQpe2xldCByPXQmJnQucmV2ZXJzZSxpPXRoaXMuX25vZGUoZSk7cmV0dXJuIG5ldyB2bih0aGlzLGUscj9pLmxhc3RDaGlsZDppLmZpcnN0Q2hpbGQscj92bi5QUkVWOnZuLk5FWFQpfXByZXZpb3VzU2libGluZ3NJdGVyYXRvcihlKXtyZXR1cm4gbmV3IHZuKHRoaXMsZSx0aGlzLl9ub2RlKGUpLnByZXZpb3VzU2libGluZyx2bi5QUkVWKX1uZXh0U2libGluZ3NJdGVyYXRvcihlKXtyZXR1cm4gbmV3IHZuKHRoaXMsZSx0aGlzLl9ub2RlKGUpLm5leHRTaWJsaW5nLHZuLk5FWFQpfWFuY2VzdG9yc0l0ZXJhdG9yKGUpe3JldHVybiBuZXcgdm4odGhpcyxlLGUsdm4uUEFSRU5UKX10cmVlSXRlcmF0b3IoZSx0KXtsZXQgcj10JiZ0LnJldmVyc2U7cmV0dXJuIG5ldyB2bih0aGlzLGUscj90aGlzLmxhc3RJbmNsdXNpdmVEZXNjZW5kYW50KGUpOmUscj92bi5QUkVDRURJTkc6dm4uRk9MTE9XSU5HKX1pbmRleChlKXtsZXQgdD10aGlzLl9ub2RlKGUpLHI9dGhpcy5fbm9kZSh0LnBhcmVudCk7aWYoIXIpcmV0dXJuLTE7bGV0IGk9dC5nZXRDYWNoZWRJbmRleChyKTtpZihpPj0wKXJldHVybiBpO2k9MDtsZXQgbz1yLmZpcnN0Q2hpbGQ7aWYoci5jaGlsZEluZGV4Q2FjaGVkVXBUbyl7bGV0IG49dGhpcy5fbm9kZShyLmNoaWxkSW5kZXhDYWNoZWRVcFRvKTtvPW4ubmV4dFNpYmxpbmcsaT1uLmdldENhY2hlZEluZGV4KHIpKzF9Zm9yKDtvOyl7bGV0IG49dGhpcy5fbm9kZShvKTtpZihuLnNldENhY2hlZEluZGV4KHIsaSksbz09PWUpYnJlYWs7KytpLG89bi5uZXh0U2libGluZ31yZXR1cm4gci5jaGlsZEluZGV4Q2FjaGVkVXBUbz1lLGl9Y2hpbGRyZW5Db3VudChlKXtsZXQgdD10aGlzLl9ub2RlKGUpO3JldHVybiB0Lmxhc3RDaGlsZD90aGlzLmluZGV4KHQubGFzdENoaWxkKSsxOjB9Y29tcGFyZVRyZWVQb3NpdGlvbihlLHQpe2lmKGU9PT10KXJldHVybiAwO2xldCByPVtdO3tsZXQgcD1lO2Zvcig7cDspe2lmKHA9PT10KXJldHVybiBNMC5DT05UQUlOU3xNMC5QUkVDRURJTkc7ci5wdXNoKHApLHA9dGhpcy5wYXJlbnQocCl9fWxldCBpPVtdO3tsZXQgcD10O2Zvcig7cDspe2lmKHA9PT1lKXJldHVybiBNMC5DT05UQUlORURfQll8TTAuRk9MTE9XSU5HO2kucHVzaChwKSxwPXRoaXMucGFyZW50KHApfX1sZXQgbz1IaChyLDApO2lmKCFvfHxvIT09SGgoaSwwKSlyZXR1cm4gTTAuRElTQ09OTkVDVEVEO2xldCBuPTAsbD1NYXRoLm1pbihyLmxlbmd0aCxpLmxlbmd0aCk7Zm9yKGxldCBwPTA7cDxsOysrcCl7bGV0IHU9SGgocixwKSxtPUhoKGkscCk7aWYodSE9PW0pYnJlYWs7bj1wfWxldCBkPXRoaXMuaW5kZXgoSGgocixuKzEpKTtyZXR1cm4gdGhpcy5pbmRleChIaChpLG4rMSkpPGQ/TTAuUFJFQ0VESU5HOk0wLkZPTExPV0lOR31yZW1vdmUoZSl7bGV0IHQ9dGhpcy5fbm9kZShlKSxyPXRoaXMuX25vZGUodC5wYXJlbnQpLGk9dGhpcy5fbm9kZSh0LnByZXZpb3VzU2libGluZyksbz10aGlzLl9ub2RlKHQubmV4dFNpYmxpbmcpO3JldHVybiByJiYoci5maXJzdENoaWxkPT09ZSYmKHIuZmlyc3RDaGlsZD10Lm5leHRTaWJsaW5nKSxyLmxhc3RDaGlsZD09PWUmJihyLmxhc3RDaGlsZD10LnByZXZpb3VzU2libGluZykpLGkmJihpLm5leHRTaWJsaW5nPXQubmV4dFNpYmxpbmcpLG8mJihvLnByZXZpb3VzU2libGluZz10LnByZXZpb3VzU2libGluZyksdC5wYXJlbnQ9bnVsbCx0LnByZXZpb3VzU2libGluZz1udWxsLHQubmV4dFNpYmxpbmc9bnVsbCx0LmNhY2hlZEluZGV4PS0xLHQuY2FjaGVkSW5kZXhWZXJzaW9uPU5hTixyJiZyLmNoaWxkcmVuQ2hhbmdlZCgpLGV9aW5zZXJ0QmVmb3JlKGUsdCl7bGV0IHI9dGhpcy5fbm9kZShlKSxpPXRoaXMuX25vZGUoci5wcmV2aW91c1NpYmxpbmcpLG89dGhpcy5fbm9kZSh0KSxuPXRoaXMuX25vZGUoci5wYXJlbnQpO2lmKG8uaXNBdHRhY2hlZCl0aHJvdyBFcnJvcigiR2l2ZW4gb2JqZWN0IGlzIGFscmVhZHkgcHJlc2VudCBpbiB0aGlzIFN5bWJvbFRyZWUsIHJlbW92ZSBpdCBmaXJzdCIpO3JldHVybiBvLnBhcmVudD1yLnBhcmVudCxvLnByZXZpb3VzU2libGluZz1yLnByZXZpb3VzU2libGluZyxvLm5leHRTaWJsaW5nPWUsci5wcmV2aW91c1NpYmxpbmc9dCxpJiYoaS5uZXh0U2libGluZz10KSxuJiZuLmZpcnN0Q2hpbGQ9PT1lJiYobi5maXJzdENoaWxkPXQpLG4mJm4uY2hpbGRyZW5DaGFuZ2VkKCksdH1pbnNlcnRBZnRlcihlLHQpe2xldCByPXRoaXMuX25vZGUoZSksaT10aGlzLl9ub2RlKHIubmV4dFNpYmxpbmcpLG89dGhpcy5fbm9kZSh0KSxuPXRoaXMuX25vZGUoci5wYXJlbnQpO2lmKG8uaXNBdHRhY2hlZCl0aHJvdyBFcnJvcigiR2l2ZW4gb2JqZWN0IGlzIGFscmVhZHkgcHJlc2VudCBpbiB0aGlzIFN5bWJvbFRyZWUsIHJlbW92ZSBpdCBmaXJzdCIpO3JldHVybiBvLnBhcmVudD1yLnBhcmVudCxvLnByZXZpb3VzU2libGluZz1lLG8ubmV4dFNpYmxpbmc9ci5uZXh0U2libGluZyxyLm5leHRTaWJsaW5nPXQsaSYmKGkucHJldmlvdXNTaWJsaW5nPXQpLG4mJm4ubGFzdENoaWxkPT09ZSYmKG4ubGFzdENoaWxkPXQpLG4mJm4uY2hpbGRyZW5DaGFuZ2VkKCksdH1wcmVwZW5kQ2hpbGQoZSx0KXtsZXQgcj10aGlzLl9ub2RlKGUpLGk9dGhpcy5fbm9kZSh0KTtpZihpLmlzQXR0YWNoZWQpdGhyb3cgRXJyb3IoIkdpdmVuIG9iamVjdCBpcyBhbHJlYWR5IHByZXNlbnQgaW4gdGhpcyBTeW1ib2xUcmVlLCByZW1vdmUgaXQgZmlyc3QiKTtyZXR1cm4gci5oYXNDaGlsZHJlbj90aGlzLmluc2VydEJlZm9yZShyLmZpcnN0Q2hpbGQsdCk6KGkucGFyZW50PWUsci5maXJzdENoaWxkPXQsci5sYXN0Q2hpbGQ9dCxyLmNoaWxkcmVuQ2hhbmdlZCgpKSx0fWFwcGVuZENoaWxkKGUsdCl7bGV0IHI9dGhpcy5fbm9kZShlKSxpPXRoaXMuX25vZGUodCk7aWYoaS5pc0F0dGFjaGVkKXRocm93IEVycm9yKCJHaXZlbiBvYmplY3QgaXMgYWxyZWFkeSBwcmVzZW50IGluIHRoaXMgU3ltYm9sVHJlZSwgcmVtb3ZlIGl0IGZpcnN0Iik7cmV0dXJuIHIuaGFzQ2hpbGRyZW4/dGhpcy5pbnNlcnRBZnRlcihyLmxhc3RDaGlsZCx0KTooaS5wYXJlbnQ9ZSxyLmZpcnN0Q2hpbGQ9dCxyLmxhc3RDaGlsZD10LHIuY2hpbGRyZW5DaGFuZ2VkKCkpLHR9fTtWY3QuZXhwb3J0cz1KWixKWi5UcmVlUG9zaXRpb249TTB9KTt2YXIgZVgseG49ZigoKT0+e1NsKCk7RHN0KCk7WnMoKTttMigpO0VjdCgpO2VYPUJpKGpjdCgpLDEpfSk7dmFyICRsZSxVY3Q9ZigoKT0+e3huKCk7JGxlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkFzeW5jRXhlY3V0aW9uU3RhY2siKX1leGVjdXRpb25TbG90cz1bXTtpc1Byb2Nlc3Npbmc9ITE7bm9uRXhjbHVzaXZlTWF4Q29uY3VycmVuY3k9MS8wO25vbkV4Y2x1c2l2ZUN1cnJlbnRDb3VudD0wO25vbkV4Y2x1c2l2ZVBlbmRpbmdRdWV1ZT1bXTthc3luYyBnZXRFeGNsdXNpdmVFeGVjdXRpb25TbG90KGUsdCl7bGV0IHI9ZXQuZGVmZXIoKSxpPXtmdW5jVG9FeGVjdXRlOmUsZXhlY3V0aW9uRGVmZXJyZWQ6cix0aW1lb3V0OnQsbW9kZToiZXhjbHVzaXZlIn07cmV0dXJuIHRoaXMuZXhlY3V0aW9uU2xvdHMucHVzaChpKSx0aGlzLnByb2Nlc3NFeGVjdXRpb25TbG90cygpLHIucHJvbWlzZX1hc3luYyBnZXROb25FeGNsdXNpdmVFeGVjdXRpb25TbG90KGUsdCl7bGV0IHI9ZXQuZGVmZXIoKSxpPXtmdW5jVG9FeGVjdXRlOmUsZXhlY3V0aW9uRGVmZXJyZWQ6cix0aW1lb3V0OnQsbW9kZToibm9uZXhjbHVzaXZlIn07cmV0dXJuIHRoaXMuZXhlY3V0aW9uU2xvdHMucHVzaChpKSx0aGlzLnByb2Nlc3NFeGVjdXRpb25TbG90cygpLHIucHJvbWlzZX1zZXROb25FeGNsdXNpdmVNYXhDb25jdXJyZW5jeShlKXtpZighTnVtYmVyLmlzRmluaXRlKGUpfHxlPDEpdGhyb3cgbmV3IEVycm9yKCJub25FeGNsdXNpdmVNYXhDb25jdXJyZW5jeSBtdXN0IGJlIGEgZmluaXRlIG51bWJlciA+PSAxIik7dGhpcy5ub25FeGNsdXNpdmVNYXhDb25jdXJyZW5jeT1lfWdldE5vbkV4Y2x1c2l2ZU1heENvbmN1cnJlbmN5KCl7cmV0dXJuIHRoaXMubm9uRXhjbHVzaXZlTWF4Q29uY3VycmVuY3l9Z2V0QWN0aXZlTm9uRXhjbHVzaXZlQ291bnQoKXtyZXR1cm4gdGhpcy5ub25FeGNsdXNpdmVDdXJyZW50Q291bnR9Z2V0UGVuZGluZ05vbkV4Y2x1c2l2ZUNvdW50KCl7cmV0dXJuIHRoaXMubm9uRXhjbHVzaXZlUGVuZGluZ1F1ZXVlLmxlbmd0aH1hc3luYyBwcm9jZXNzRXhlY3V0aW9uU2xvdHMoKXtpZighdGhpcy5pc1Byb2Nlc3Npbmcpe2Zvcih0aGlzLmlzUHJvY2Vzc2luZz0hMDt0aGlzLmV4ZWN1dGlvblNsb3RzLmxlbmd0aD4wOyl7bGV0IGU9dGhpcy5leGVjdXRpb25TbG90c1swXTtpZihlLm1vZGU9PT0iZXhjbHVzaXZlIilhd2FpdCB0aGlzLmV4ZWN1dGVFeGNsdXNpdmVTbG90KGUpLHRoaXMuZXhlY3V0aW9uU2xvdHMuc2hpZnQoKTtlbHNle2xldCB0PVtdO2Zvcig7dGhpcy5leGVjdXRpb25TbG90cy5sZW5ndGg+MCYmdGhpcy5leGVjdXRpb25TbG90c1swXS5tb2RlPT09Im5vbmV4Y2x1c2l2ZSI7KXQucHVzaCh0aGlzLmV4ZWN1dGlvblNsb3RzLnNoaWZ0KCkpO2F3YWl0IHRoaXMuZXhlY3V0ZU5vbkV4Y2x1c2l2ZVNsb3RzKHQpfX10aGlzLmlzUHJvY2Vzc2luZz0hMX19YXN5bmMgZXhlY3V0ZUV4Y2x1c2l2ZVNsb3QoZSl7dHJ5e2lmKGUudGltZW91dCl7bGV0IHQ9bmV3IFB0LlRpbWVvdXQoZS50aW1lb3V0KTt0cnl7bGV0IHI9YXdhaXQgUHJvbWlzZS5yYWNlKFtlLmZ1bmNUb0V4ZWN1dGUoKSx0LnByb21pc2UudGhlbigoKT0+e3Rocm93IG5ldyBFcnJvcigiVGltZW91dCByZWFjaGVkIil9KV0pO3QuY2FuY2VsKCksZS5leGVjdXRpb25EZWZlcnJlZC5yZXNvbHZlKHIpfWNhdGNoKHIpe3Rocm93IHQuY2FuY2VsKCkscn19ZWxzZXtsZXQgdD1hd2FpdCBlLmZ1bmNUb0V4ZWN1dGUoKTtlLmV4ZWN1dGlvbkRlZmVycmVkLnJlc29sdmUodCl9fWNhdGNoKHQpe2UuZXhlY3V0aW9uRGVmZXJyZWQucmVqZWN0KHQpfX1hc3luYyBleGVjdXRlTm9uRXhjbHVzaXZlU2xvdHMoZSl7bGV0IHQ9ZS5tYXAoYXN5bmMgcj0+e2F3YWl0IHRoaXMud2FpdEZvck5vbkV4Y2x1c2l2ZVNsb3QoKTt0cnl7aWYoci50aW1lb3V0KXtsZXQgaT1uZXcgUHQuVGltZW91dChyLnRpbWVvdXQpO3RyeXtsZXQgbz1hd2FpdCBQcm9taXNlLnJhY2UoW3IuZnVuY1RvRXhlY3V0ZSgpLGkucHJvbWlzZS50aGVuKCgpPT57dGhyb3cgbmV3IEVycm9yKCJUaW1lb3V0IHJlYWNoZWQiKX0pXSk7aS5jYW5jZWwoKSxyLmV4ZWN1dGlvbkRlZmVycmVkLnJlc29sdmUobyl9Y2F0Y2gobyl7dGhyb3cgaS5jYW5jZWwoKSxvfX1lbHNle2xldCBpPWF3YWl0IHIuZnVuY1RvRXhlY3V0ZSgpO3IuZXhlY3V0aW9uRGVmZXJyZWQucmVzb2x2ZShpKX19Y2F0Y2goaSl7ci5leGVjdXRpb25EZWZlcnJlZC5yZWplY3QoaSl9ZmluYWxseXt0aGlzLnJlbGVhc2VOb25FeGNsdXNpdmVTbG90KCl9fSk7YXdhaXQgUHJvbWlzZS5hbGwodCl9d2FpdEZvck5vbkV4Y2x1c2l2ZVNsb3QoKXtyZXR1cm4gdGhpcy5ub25FeGNsdXNpdmVDdXJyZW50Q291bnQ8dGhpcy5ub25FeGNsdXNpdmVNYXhDb25jdXJyZW5jeT8odGhpcy5ub25FeGNsdXNpdmVDdXJyZW50Q291bnQrKyxQcm9taXNlLnJlc29sdmUoKSk6bmV3IFByb21pc2UoZT0+e3RoaXMubm9uRXhjbHVzaXZlUGVuZGluZ1F1ZXVlLnB1c2goKCk9Pnt0aGlzLm5vbkV4Y2x1c2l2ZUN1cnJlbnRDb3VudCsrLGUoKX0pfSl9cmVsZWFzZU5vbkV4Y2x1c2l2ZVNsb3QoKXt0aGlzLm5vbkV4Y2x1c2l2ZUN1cnJlbnRDb3VudC0tO2xldCBlPXRoaXMubm9uRXhjbHVzaXZlUGVuZGluZ1F1ZXVlLnNoaWZ0KCk7ZSYmZSgpfX19KTt2YXIgRGxlLFdjdD1mKCgpPT57eG4oKTtEbGU9Y2xhc3N7c3RhdGlje3ModGhpcywiQmFja3ByZXNzdXJlZEFycmF5Iil9ZGF0YTtoaWdoV2F0ZXJNYXJrO2hhc1NwYWNlPW5ldyBDYS5yeGpzLlN1YmplY3Q7aXRlbXNBdmFpbGFibGU9bmV3IENhLnJ4anMuU3ViamVjdDtpc0Rlc3Ryb3llZD0hMTtjb25zdHJ1Y3RvcihlPTE2KXt0aGlzLmRhdGE9W10sdGhpcy5oaWdoV2F0ZXJNYXJrPWV9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmRhdGEubGVuZ3RofXB1c2goZSl7dGhpcy5kYXRhLnB1c2goZSksdGhpcy5pdGVtc0F2YWlsYWJsZS5uZXh0KCJpdGVtc0F2YWlsYWJsZSIpO2xldCB0PXRoaXMuY2hlY2tTcGFjZUF2YWlsYWJsZSgpO3JldHVybiB0JiZ0aGlzLmhhc1NwYWNlLm5leHQoImhhc1NwYWNlIiksdH1wdXNoTWFueShlKXtmb3IobGV0IHQgb2YgZSl0aGlzLnB1c2godCk7cmV0dXJuIHRoaXMuY2hlY2tTcGFjZUF2YWlsYWJsZSgpfXNoaWZ0KCl7bGV0IGU9dGhpcy5kYXRhLnNoaWZ0KCk7cmV0dXJuIHRoaXMuY2hlY2tTcGFjZUF2YWlsYWJsZSgpJiZ0aGlzLmhhc1NwYWNlLm5leHQoImhhc1NwYWNlIiksZX1wZWVrKCl7cmV0dXJuIHRoaXMuZGF0YVswXX1jaGVja1NwYWNlQXZhaWxhYmxlKCl7cmV0dXJuIHRoaXMuZGF0YS5sZW5ndGg8dGhpcy5oaWdoV2F0ZXJNYXJrfWNoZWNrSGFzSXRlbXMoKXtyZXR1cm4gdGhpcy5kYXRhLmxlbmd0aD4wfXdhaXRGb3JTcGFjZSgpe3JldHVybiBuZXcgUHJvbWlzZShlPT57aWYodGhpcy5jaGVja1NwYWNlQXZhaWxhYmxlKCl8fHRoaXMuaXNEZXN0cm95ZWQpZSgpO2Vsc2V7bGV0IHQ9dGhpcy5oYXNTcGFjZS5zdWJzY3JpYmUoe25leHQ6cygoKT0+e3QudW5zdWJzY3JpYmUoKSxlKCl9LCJuZXh0IiksY29tcGxldGU6cygoKT0+e2UoKX0sImNvbXBsZXRlIil9KX19KX13YWl0Rm9ySXRlbXMoKXtyZXR1cm4gbmV3IFByb21pc2UoZT0+e2lmKHRoaXMuZGF0YS5sZW5ndGg+MHx8dGhpcy5pc0Rlc3Ryb3llZCllKCk7ZWxzZXtsZXQgdD10aGlzLml0ZW1zQXZhaWxhYmxlLnN1YnNjcmliZSh7bmV4dDpzKCgpPT57dC51bnN1YnNjcmliZSgpLGUoKX0sIm5leHQiKSxjb21wbGV0ZTpzKCgpPT57ZSgpfSwiY29tcGxldGUiKX0pfX0pfVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHRoaXMuZGF0YVtTeW1ib2wuaXRlcmF0b3JdKCl9ZGVzdHJveSgpe3RoaXMuaXNEZXN0cm95ZWQ9ITAsdGhpcy5oYXNTcGFjZS5jb21wbGV0ZSgpLHRoaXMuaXRlbXNBdmFpbGFibGUuY29tcGxldGUoKX19fSk7dmFyIEwzLHRYPWYoKCk9Pnt4bigpO0wzPWNsYXNzIGF7c3RhdGlje3ModGhpcywiRmFzdE1hcCIpfW1hcE9iamVjdD1uZXcgTWFwO2lzVW5pcXVlS2V5KGUpe3JldHVybiF0aGlzLm1hcE9iamVjdC5oYXMoZSl9aGFzKGUpe3JldHVybiB0aGlzLm1hcE9iamVjdC5oYXMoZSl9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5tYXBPYmplY3Quc2l6ZX1hZGRUb01hcChlLHQscil7cmV0dXJuIHRoaXMuaXNVbmlxdWVLZXkoZSl8fHImJnIuZm9yY2U/KHRoaXMubWFwT2JqZWN0LnNldChlLHQpLCEwKTohMX1nZXRCeUtleShlKXtyZXR1cm4gdGhpcy5tYXBPYmplY3QuZ2V0KGUpfXJlbW92ZUZyb21NYXAoZSl7bGV0IHQ9dGhpcy5tYXBPYmplY3QuZ2V0KGUpO3JldHVybiB0aGlzLm1hcE9iamVjdC5kZWxldGUoZSksdH1nZXRLZXlzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5tYXBPYmplY3Qua2V5cygpKX12YWx1ZXMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLm1hcE9iamVjdC52YWx1ZXMoKSl9ZW50cmllcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMubWFwT2JqZWN0LmVudHJpZXMoKSl9Y2xlYW4oKXt0aGlzLm1hcE9iamVjdC5jbGVhcigpfWNvbmNhdChlKXtsZXQgdD1uZXcgYTtmb3IobGV0IHIgb2YgdGhpcy5nZXRLZXlzKCkpdC5hZGRUb01hcChyLHRoaXMuZ2V0QnlLZXkocikpO2ZvcihsZXQgciBvZiBlLmdldEtleXMoKSl0LmFkZFRvTWFwKHIsZS5nZXRCeUtleShyKSx7Zm9yY2U6ITB9KTtyZXR1cm4gdH1hZGRBbGxGcm9tT3RoZXIoZSl7Zm9yKGxldCB0IG9mIGUuZ2V0S2V5cygpKXRoaXMuYWRkVG9NYXAodCxlLmdldEJ5S2V5KHQpLHtmb3JjZTohMH0pfWFzeW5jIGZpbmQoZSl7Zm9yKGxldCB0IG9mIHRoaXMuZ2V0S2V5cygpKXtsZXQgcj10aGlzLmdldEJ5S2V5KHQpO2lmKGF3YWl0IGUocikpcmV0dXJuIHJ9fVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHRoaXMubWFwT2JqZWN0LmVudHJpZXMoKX19fSk7dmFyIEdjdCxEbCxJOT1mKCgpPT57eG4oKTt0WCgpO0djdD1zKChhPSJ1bmkiKT0+YCR7YX14eHh4eHh4eHh4eGAucmVwbGFjZSgvW3h5XS9nLGU9PntsZXQgdD1NYXRoLnJhbmRvbSgpKjE2fDA7cmV0dXJuKGU9PT0ieCI/dDp0JjN8OCkudG9TdHJpbmcoMTYpfSksInVuaSIpLERsPWNsYXNzIGF7c3RhdGlje3ModGhpcywiT2JqZWN0TWFwIil9ZmFzdE1hcD1uZXcgTDM7cmV2ZXJzZU1hcD1uZXcgTWFwO2V2ZW50U3ViamVjdD1uZXcgQ2Eucnhqcy5TdWJqZWN0O2NvbnN0cnVjdG9yKCl7fWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5mYXN0TWFwLnNpemV9YWRkTWFwcGVkVW5pcXVlKGUsdCl7dGhpcy5mYXN0TWFwLmFkZFRvTWFwKGUsdCksdGhpcy5yZXZlcnNlTWFwLnNldCh0LGUpfWdldE1hcHBlZFVuaXF1ZShlKXtyZXR1cm4gdGhpcy5mYXN0TWFwLmdldEJ5S2V5KGUpfXJlbW92ZU1hcHBlZFVuaXF1ZShlKXtsZXQgdD10aGlzLmZhc3RNYXAucmVtb3ZlRnJvbU1hcChlKTtyZXR1cm4gdCE9PXZvaWQgMCYmKHRoaXMucmV2ZXJzZU1hcC5kZWxldGUodCksdGhpcy5ldmVudFN1YmplY3QubmV4dCh7b3BlcmF0aW9uOiJyZW1vdmUiLHBheWxvYWQ6dH0pKSx0fWFkZChlKXtsZXQgdD10aGlzLnJldmVyc2VNYXAuZ2V0KGUpO2lmKHQhPT12b2lkIDApcmV0dXJuIHQ7bGV0IHI9R2N0KCJrZXkiKTtyZXR1cm4gdGhpcy5hZGRNYXBwZWRVbmlxdWUocixlKSx0aGlzLmV2ZW50U3ViamVjdC5uZXh0KHtvcGVyYXRpb246ImFkZCIscGF5bG9hZDplfSkscn1hZGRBcnJheShlKXtmb3IobGV0IHQgb2YgZSl0aGlzLmFkZCh0KX1jaGVja0Zvck9iamVjdChlKXtyZXR1cm4gdGhpcy5yZXZlcnNlTWFwLmhhcyhlKX1nZXRLZXlGb3JPYmplY3QoZSl7cmV0dXJuIHRoaXMucmV2ZXJzZU1hcC5nZXQoZSk/P251bGx9YXN5bmMgZmluZChlKXtyZXR1cm4gdGhpcy5mYXN0TWFwLmZpbmQoZSl9ZmluZFN5bmMoZSl7Zm9yKGxldCB0IG9mIHRoaXMuZmFzdE1hcC5nZXRLZXlzKCkpaWYoZSh0aGlzLmZhc3RNYXAuZ2V0QnlLZXkodCkpKXJldHVybiB0aGlzLmdldE1hcHBlZFVuaXF1ZSh0KX1hc3luYyBmaW5kT25lQW5kUmVtb3ZlKGUpe2xldCB0PWF3YWl0IHRoaXMuZmluZChlKTtyZXR1cm4gdCYmdGhpcy5yZW1vdmUodCksdH1maW5kT25lQW5kUmVtb3ZlU3luYyhlKXtsZXQgdD10aGlzLmZpbmRTeW5jKGUpO3JldHVybiB0JiZ0aGlzLnJlbW92ZSh0KSx0fWFzeW5jIGZvckVhY2goZSl7Zm9yKGxldCB0IG9mIHRoaXMuZmFzdE1hcC5nZXRLZXlzKCkpYXdhaXQgZSh0aGlzLmZhc3RNYXAuZ2V0QnlLZXkodCkpfWdldE9uZUFuZFJlbW92ZSgpe2xldCBlPXRoaXMuZmFzdE1hcC5nZXRLZXlzKCk7aWYoZS5sZW5ndGg9PT0wKXJldHVybiBudWxsO3tsZXQgdD1lWzBdLHI9dGhpcy5mYXN0TWFwLnJlbW92ZUZyb21NYXAodCk7cmV0dXJuIHRoaXMucmV2ZXJzZU1hcC5kZWxldGUociksdGhpcy5ldmVudFN1YmplY3QubmV4dCh7b3BlcmF0aW9uOiJyZW1vdmUiLHBheWxvYWQ6cn0pLHJ9fWdldEFycmF5KCl7cmV0dXJuIHRoaXMuZmFzdE1hcC52YWx1ZXMoKX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMuZmFzdE1hcC5zaXplPT09MH1yZW1vdmUoZSl7bGV0IHQ9dGhpcy5yZXZlcnNlTWFwLmdldChlKTtpZih0IT09dm9pZCAwKXtsZXQgcj10aGlzLmZhc3RNYXAucmVtb3ZlRnJvbU1hcCh0KTtyZXR1cm4gdGhpcy5yZXZlcnNlTWFwLmRlbGV0ZShyKSx0aGlzLmV2ZW50U3ViamVjdC5uZXh0KHtvcGVyYXRpb246InJlbW92ZSIscGF5bG9hZDpyfSkscn1yZXR1cm4gbnVsbH13aXBlKCl7bGV0IGU9dGhpcy5mYXN0TWFwLmdldEtleXMoKTtmb3IobGV0IHQgb2YgZSl7bGV0IHI9dGhpcy5mYXN0TWFwLnJlbW92ZUZyb21NYXAodCk7dGhpcy5yZXZlcnNlTWFwLmRlbGV0ZShyKSx0aGlzLmV2ZW50U3ViamVjdC5uZXh0KHtvcGVyYXRpb246InJlbW92ZSIscGF5bG9hZDpyfSl9fWNvbmNhdChlKXtsZXQgdD1uZXcgYTt0LmZhc3RNYXAuYWRkQWxsRnJvbU90aGVyKHRoaXMuZmFzdE1hcCksdC5mYXN0TWFwLmFkZEFsbEZyb21PdGhlcihlLmZhc3RNYXApO2ZvcihsZXQgciBvZiB0LmZhc3RNYXAuZ2V0S2V5cygpKXQucmV2ZXJzZU1hcC5zZXQodC5mYXN0TWFwLmdldEJ5S2V5KHIpLHIpO3JldHVybiB0fWFkZEFsbEZyb21PdGhlcihlKXt0aGlzLmZhc3RNYXAuYWRkQWxsRnJvbU90aGVyKGUuZmFzdE1hcCk7Zm9yKGxldCB0IG9mIGUuZmFzdE1hcC5nZXRLZXlzKCkpdGhpcy5yZXZlcnNlTWFwLnNldChlLmZhc3RNYXAuZ2V0QnlLZXkodCksdCl9bWFwKGUpe3JldHVybiB0aGlzLmdldEFycmF5KCkubWFwKGUpfWZpbHRlcihlKXtyZXR1cm4gdGhpcy5nZXRBcnJheSgpLmZpbHRlcihlKX1yZWR1Y2UoZSx0KXtyZXR1cm4gdGhpcy5nZXRBcnJheSgpLnJlZHVjZShlLHQpfVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHRoaXMuZ2V0QXJyYXkoKVtTeW1ib2wuaXRlcmF0b3JdKCl9ZGVzdHJveSgpe3RoaXMud2lwZSgpLHRoaXMucmV2ZXJzZU1hcC5jbGVhcigpLHRoaXMuZXZlbnRTdWJqZWN0LmNvbXBsZXRlKCl9fX0pO3ZhciBOOSxBbGU9ZigoKT0+e3huKCk7RWxlKCk7Tjk9Y2xhc3N7c3RhdGlje3ModGhpcywiSW50ZXJlc3QiKX1vcHRpb25zO2ludGVyZXN0TWFwUmVmO29yaWdpbmFsSW50ZXJlc3Q7Y29tcGFyaXNvbkZ1bmM7ZGVzdHJ1Y3Rpb25UaW1lcj1uZXcgVDMuVGltZXIoMWU0KTtpc0Z1bGxmaWxsZWQ9ITE7aXNEZXN0cm95ZWQ9ITE7ZnVsbGZpbGxtZW50U3RvcmU9W107bWFya0xvc3RUaW1lb3V0PW51bGw7Z2V0IGNvbXBhcmlzb25TdHJpbmcoKXtyZXR1cm4gdGhpcy5jb21wYXJpc29uRnVuYyh0aGlzLm9yaWdpbmFsSW50ZXJlc3QpfWludGVyZXN0RGVmZXJyZWQ9bmV3IGV0LkRlZmVycmVkO2ludGVyZXN0RnVsbGZpbGxlZD10aGlzLmludGVyZXN0RGVmZXJyZWQucHJvbWlzZTtmdWxsZmlsbEludGVyZXN0KGUpe3RoaXMuaXNGdWxsZmlsbGVkPSEwLHRoaXMuZnVsbGZpbGxtZW50U3RvcmU9W10sdGhpcy5pbnRlcmVzdERlZmVycmVkLnJlc29sdmUoZSksdGhpcy5kZXN0cm95KCl9Y29uc3RydWN0b3IoZSx0LHIsaSl7dGhpcy5pbnRlcmVzdE1hcFJlZj1lLHRoaXMub3JpZ2luYWxJbnRlcmVzdD10LHRoaXMuY29tcGFyaXNvbkZ1bmM9cix0aGlzLm9wdGlvbnM9aSx0aGlzLmRlc3RydWN0aW9uVGltZXIuY29tcGxldGVkLnRoZW4oKCk9Pnt0aGlzLmlzRGVzdHJveWVkfHx0aGlzLmRlc3Ryb3koKX0pLHRoaXMub3B0aW9ucz8ubWFya0xvc3RBZnRlckRlZmF1bHQmJih0aGlzLm1hcmtMb3N0VGltZW91dD1uZXcgUHQuVGltZW91dCh0aGlzLm9wdGlvbnMubWFya0xvc3RBZnRlckRlZmF1bHQpLHRoaXMubWFya0xvc3RUaW1lb3V0LnByb21pc2UudGhlbigoKT0+e3RoaXMuaXNEZXN0cm95ZWR8fHRoaXMubWFya0xvc3QoKX0pKX1kZXN0cm95KCl7dGhpcy5pc0Rlc3Ryb3llZHx8KHRoaXMuaXNEZXN0cm95ZWQ9ITAsdGhpcy5kZXN0cnVjdGlvblRpbWVyLnJlc2V0KCksdGhpcy5tYXJrTG9zdFRpbWVvdXQmJih0aGlzLm1hcmtMb3N0VGltZW91dC5jYW5jZWwoKSx0aGlzLm1hcmtMb3N0VGltZW91dD1udWxsKSx0aGlzLmZ1bGxmaWxsbWVudFN0b3JlPVtdLHRoaXMuaW50ZXJlc3RNYXBSZWYucmVtb3ZlSW50ZXJlc3QodGhpcyksIXRoaXMuaXNGdWxsZmlsbGVkJiZ0aGlzLm9wdGlvbnM/LmRlZmF1bHRGdWxsZmlsbG1lbnQmJih0aGlzLmlzRnVsbGZpbGxlZD0hMCx0aGlzLmludGVyZXN0RGVmZXJyZWQucmVzb2x2ZSh0aGlzLm9wdGlvbnMuZGVmYXVsdEZ1bGxmaWxsbWVudCkpKX1tYXJrTG9zdCgpe3RoaXMuZGVzdHJ1Y3Rpb25UaW1lci5zdGFydCgpfXJlbmV3KCl7dGhpcy5kZXN0cnVjdGlvblRpbWVyLnJlc2V0KCl9fX0pO3ZhciBQbGUsRWxlPWYoKCk9Pnt4bigpO0k5KCk7QWxlKCk7UGxlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkludGVyZXN0TWFwIil9b3B0aW9ucztpbnRlcmVzdE9iamVjdE1hcD1uZXcgRGw7aW50ZXJlc3RzQnlDb21wYXJpc29uU3RyaW5nPW5ldyBNYXA7Y29tcGFyaXNvbkZ1bmM7Y29uc3RydWN0b3IoZSx0PXt9KXt0aGlzLmNvbXBhcmlzb25GdW5jPWUsdGhpcy5vcHRpb25zPXR9YXN5bmMgYWRkSW50ZXJlc3QoZSx0KXtsZXQgcj10aGlzLmNvbXBhcmlzb25GdW5jKGUpLGksbz10aGlzLmludGVyZXN0c0J5Q29tcGFyaXNvblN0cmluZy5nZXQocik7cmV0dXJuIG8/KGk9byxpLnJlbmV3KCkpOihpPW5ldyBOOSh0aGlzLGUsdGhpcy5jb21wYXJpc29uRnVuYyx7bWFya0xvc3RBZnRlckRlZmF1bHQ6dGhpcy5vcHRpb25zLm1hcmtMb3N0QWZ0ZXJEZWZhdWx0LGRlZmF1bHRGdWxsZmlsbG1lbnQ6dH0pLHRoaXMuaW50ZXJlc3RPYmplY3RNYXAuYWRkKGkpLHRoaXMuaW50ZXJlc3RzQnlDb21wYXJpc29uU3RyaW5nLnNldChyLGkpKSx0aGlzLmludGVyZXN0T2JzZXJ2YWJsZS5wdXNoKGkpLGl9aW50ZXJlc3RPYnNlcnZhYmxlPW5ldyBDYS5PYnNlcnZhYmxlSW50YWtlO3JlbW92ZUludGVyZXN0KGUpe3RoaXMuaW50ZXJlc3RPYmplY3RNYXAuZmluZE9uZUFuZFJlbW92ZVN5bmModD0+ZS5jb21wYXJpc29uU3RyaW5nPT09dC5jb21wYXJpc29uU3RyaW5nKSx0aGlzLmludGVyZXN0c0J5Q29tcGFyaXNvblN0cmluZy5kZWxldGUoZS5jb21wYXJpc29uU3RyaW5nKX1jaGVja0ludGVyZXN0KGUpe2xldCB0PXRoaXMuY29tcGFyaXNvbkZ1bmMoZSk7cmV0dXJuIHRoaXMuY2hlY2tJbnRlcmVzdEJ5U3RyaW5nKHQpfWNoZWNrSW50ZXJlc3RCeVN0cmluZyhlKXtyZXR1cm4gdGhpcy5pbnRlcmVzdHNCeUNvbXBhcmlzb25TdHJpbmcuaGFzKGUpfWluZm9ybUxvc3RJbnRlcmVzdChlKXtsZXQgdD10aGlzLmZpbmRJbnRlcmVzdChlKTt0JiZ0Lm1hcmtMb3N0KCl9ZmluZEludGVyZXN0KGUpe2xldCB0PXRoaXMuY29tcGFyaXNvbkZ1bmMoZSk7cmV0dXJuIHRoaXMuaW50ZXJlc3RzQnlDb21wYXJpc29uU3RyaW5nLmdldCh0KT8/bnVsbH1kZXN0cm95KCl7bGV0IGU9dGhpcy5pbnRlcmVzdE9iamVjdE1hcC5nZXRBcnJheSgpO2ZvcihsZXQgdCBvZiBlKXQuZGVzdHJveSgpO3RoaXMuaW50ZXJlc3RPYmplY3RNYXAud2lwZSgpLHRoaXMuaW50ZXJlc3RzQnlDb21wYXJpc29uU3RyaW5nLmNsZWFyKCksdGhpcy5pbnRlcmVzdE9ic2VydmFibGUuc2lnbmFsQ29tcGxldGUoKX19fSk7dmFyIElsZSxZY3Q9ZigoKT0+e3huKCk7SWxlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkxpbWl0ZWRBcnJheSIpfWFycmF5PVtdO2FycmF5TGltaXQ7Y29uc3RydWN0b3IoZSl7dGhpcy5hcnJheUxpbWl0PWV9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmFycmF5Lmxlbmd0aH1hZGRPbmUoZSl7dGhpcy5hcnJheS51bnNoaWZ0KGUpLHRoaXMuYXJyYXkubGVuZ3RoPnRoaXMuYXJyYXlMaW1pdCYmKHRoaXMuYXJyYXkubGVuZ3RoPXRoaXMuYXJyYXlMaW1pdCl9YWRkTWFueShlKXtmb3IobGV0IHQgb2YgZSl0aGlzLmFkZE9uZSh0KX1zZXRMaW1pdChlKXt0aGlzLmFycmF5TGltaXQ9ZSx0aGlzLmFycmF5Lmxlbmd0aD50aGlzLmFycmF5TGltaXQmJih0aGlzLmFycmF5Lmxlbmd0aD10aGlzLmFycmF5TGltaXQpfWdldEF2ZXJhZ2UoKXtpZih0aGlzLmFycmF5Lmxlbmd0aD09PTApcmV0dXJuIDA7aWYodHlwZW9mIHRoaXMuYXJyYXlbMF09PSJudW1iZXIiKXtsZXQgZT0wO2ZvcihsZXQgdCBvZiB0aGlzLmFycmF5KWU9ZSt0O3JldHVybiBlL3RoaXMuYXJyYXkubGVuZ3RofWVsc2UgcmV0dXJuIG51bGx9cmVtb3ZlKGUpe2xldCB0PXRoaXMuYXJyYXkuaW5kZXhPZihlKTtyZXR1cm4gdCE9PS0xPyh0aGlzLmFycmF5LnNwbGljZSh0LDEpLCEwKTohMX1jbGVhcigpe3RoaXMuYXJyYXkubGVuZ3RoPTB9Z2V0QXJyYXkoKXtyZXR1cm5bLi4udGhpcy5hcnJheV19W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpcy5hcnJheVtTeW1ib2wuaXRlcmF0b3JdKCl9fX0pO3ZhciBObGUsS2N0PWYoKCk9Pnt4bigpO0k5KCk7TmxlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkxvb3BUcmFja2VyIil9cmVmZXJlbmNlT2JqZWN0TWFwPW5ldyBEbDtjb25zdHJ1Y3Rvcigpe31jaGVja0FuZFRyYWNrKGUpe3JldHVybiB0aGlzLnJlZmVyZW5jZU9iamVjdE1hcC5jaGVja0Zvck9iamVjdChlKT8hMToodGhpcy5yZWZlcmVuY2VPYmplY3RNYXAuYWRkKGUpLCEwKX1yZXNldCgpe3RoaXMucmVmZXJlbmNlT2JqZWN0TWFwLndpcGUoKX1kZXN0cm95KCl7dGhpcy5yZWZlcmVuY2VPYmplY3RNYXAuZGVzdHJveSgpfX19KTt2YXIgUjksUmxlPWYoKCk9Pnt4bigpO1I5PWNsYXNze3N0YXRpY3tzKHRoaXMsIlN0cmluZ21hcCIpfV9zdHJpbmdBcnJheT1bXTtfdHJpZ2dlclVudGlsVHJ1ZUZ1bmN0aW9uQXJyYXk9W107Y29uc3RydWN0b3IoKXt9YWRkU3RyaW5nKGUpe3RoaXMuX3N0cmluZ0FycmF5LnB1c2goZSksdGhpcy5ub3RpZnlUcmlnZ2VyKCl9YWRkU3RyaW5nQXJyYXkoZSl7Zm9yKGxldCB0IG9mIGUpdGhpcy5hZGRTdHJpbmcodCl9cmVtb3ZlU3RyaW5nKGUpe3RoaXMuX3N0cmluZ0FycmF5PXRoaXMuX3N0cmluZ0FycmF5LmZpbHRlcih0PT50IT09ZSksdGhpcy5ub3RpZnlUcmlnZ2VyKCl9d2lwZSgpe3RoaXMuX3N0cmluZ0FycmF5PVtdLHRoaXMubm90aWZ5VHJpZ2dlcigpfWNoZWNrU3RyaW5nKGUpe3JldHVybiB0aGlzLl9zdHJpbmdBcnJheS5pbmRleE9mKGUpIT09LTF9Y2hlY2tNaW5pbWF0Y2goZSl7bGV0IHQ9bmV3IG45LlNtYXJ0TWF0Y2goZSkscj0hMTtmb3IobGV0IGkgb2YgdGhpcy5fc3RyaW5nQXJyYXkpdC5tYXRjaChpKSYmKHI9ITApO3JldHVybiByfWNoZWNrSXNFbXB0eSgpe3JldHVybiB0aGlzLl9zdHJpbmdBcnJheS5sZW5ndGg9PT0wfWdldFN0cmluZ0FycmF5KCl7bGV0IGU9W107Zm9yKGxldCB0IG9mIHRoaXMuX3N0cmluZ0FycmF5KWUucHVzaCh0KTtyZXR1cm4gZX1yZWdpc3RlclVudGlsVHJ1ZShlLHQpe2xldCByPWV0LmRlZmVyKCk7cmV0dXJuIHRoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5LnB1c2goKCk9PntsZXQgaT1lKHRoaXMuZ2V0U3RyaW5nQXJyYXkoKSk7cmV0dXJuIGk9PT0hMCYmKHQmJnQoKSxyLnJlc29sdmUoKSksaX0pLHRoaXMubm90aWZ5VHJpZ2dlcigpLHIucHJvbWlzZX1ub3RpZnlUcmlnZ2VyKCl7bGV0IGU9dGhpcy5fdHJpZ2dlclVudGlsVHJ1ZUZ1bmN0aW9uQXJyYXkuZmlsdGVyKHQ9PiF0KCkpO3RoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5PWV9ZGVzdHJveSgpe3RoaXMuX3N0cmluZ0FycmF5PVtdLHRoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5PVtdfX19KTt2YXIgTzksT2xlPWYoKCk9Pnt4bigpO085PWNsYXNze3N0YXRpY3tzKHRoaXMsIlRpbWVkQWdncmVndG9yIil9b3B0aW9ucztzdG9yYWdlQXJyYXk9W107aXNTdG9wcGVkPSExO2NvbnN0cnVjdG9yKGUpe3RoaXMub3B0aW9ucz1lfWFnZ3JlZ2F0aW9uVGltZXI7Y2hlY2tBZ2dyZWdhdGlvblN0YXR1cygpe2lmKHRoaXMuaXNTdG9wcGVkKXJldHVybjtsZXQgZT1zKCgpPT57dGhpcy5hZ2dyZWdhdGlvblRpbWVyPW5ldyBUMy5UaW1lcih0aGlzLm9wdGlvbnMuYWdncmVnYXRpb25JbnRlcnZhbEluTWlsbGlzKSx0aGlzLmFnZ3JlZ2F0aW9uVGltZXIuY29tcGxldGVkLnRoZW4oKCk9PntpZih0aGlzLmlzU3RvcHBlZCl7dGhpcy5hZ2dyZWdhdGlvblRpbWVyPW51bGw7cmV0dXJufWxldCB0PXRoaXMuc3RvcmFnZUFycmF5O2lmKHQubGVuZ3RoPT09MCl7dGhpcy5hZ2dyZWdhdGlvblRpbWVyPW51bGw7cmV0dXJufXRoaXMuc3RvcmFnZUFycmF5PVtdLGUoKSx0aGlzLm9wdGlvbnMuZnVuY3Rpb25Gb3JBZ2dyZWdhdGlvbih0KX0pLHRoaXMuYWdncmVnYXRpb25UaW1lci5zdGFydCgpfSwiYWRkQWdncmVnYXRpb25UaW1lciIpO3RoaXMuYWdncmVnYXRpb25UaW1lcnx8ZSgpfWFkZChlKXt0aGlzLmlzU3RvcHBlZHx8KHRoaXMuc3RvcmFnZUFycmF5LnB1c2goZSksdGhpcy5jaGVja0FnZ3JlZ2F0aW9uU3RhdHVzKCkpfXN0b3AoZT0hMSl7aWYodGhpcy5pc1N0b3BwZWQ9ITAsdGhpcy5hZ2dyZWdhdGlvblRpbWVyJiYodGhpcy5hZ2dyZWdhdGlvblRpbWVyLnJlc2V0KCksdGhpcy5hZ2dyZWdhdGlvblRpbWVyPW51bGwpLGUmJnRoaXMuc3RvcmFnZUFycmF5Lmxlbmd0aD4wKXtsZXQgdD10aGlzLnN0b3JhZ2VBcnJheTt0aGlzLnN0b3JhZ2VBcnJheT1bXSx0aGlzLm9wdGlvbnMuZnVuY3Rpb25Gb3JBZ2dyZWdhdGlvbih0KX1lbHNlIHRoaXMuc3RvcmFnZUFycmF5PVtdfXJlc3RhcnQoKXt0aGlzLmlzU3RvcHBlZD0hMX19fSk7dmFyIEZsZSxaY3Q9ZigoKT0+e3huKCk7RmxlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlRyZWUiKX1zeW1ib2xUcmVlO2NvbnN0cnVjdG9yKCl7dGhpcy5zeW1ib2xUcmVlPW5ldyBlWC5kZWZhdWx0fWluaXRpYWxpemUoZSl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5pbml0aWFsaXplKGUpfWhhc0NoaWxkcmVuKGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuaGFzQ2hpbGRyZW4oZSl9Zmlyc3RDaGlsZChlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmZpcnN0Q2hpbGQoZSl9bGFzdENoaWxkKGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUubGFzdENoaWxkKGUpfXByZXZpb3VzU2libGluZyhlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLnByZXZpb3VzU2libGluZyhlKX1uZXh0U2libGluZyhlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLm5leHRTaWJsaW5nKGUpfXBhcmVudChlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLnBhcmVudChlKX1sYXN0SW5jbHVzaXZlRGVzY2VuZGFudChlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmxhc3RJbmNsdXNpdmVEZXNjZW5kYW50KGUpfXByZWNlZGluZyhlLHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUucHJlY2VkaW5nKGUsdCl9Zm9sbG93aW5nKGUsdCl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5mb2xsb3dpbmcoZSx0KX1jaGlsZHJlblRvQXJyYXkoZSx0KXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmNoaWxkcmVuVG9BcnJheShlLHQpfWFuY2VzdG9yc1RvQXJyYXkoZSx0KXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmFuY2VzdG9yc1RvQXJyYXkoZSx0KX10cmVlVG9BcnJheShlLHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUudHJlZVRvQXJyYXkoZSx0KX1jaGlsZHJlbkl0ZXJhdG9yKGUsdCl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5jaGlsZHJlbkl0ZXJhdG9yKGUsdCl9cHJldmlvdXNTaWJsaW5nc0l0ZXJhdG9yKGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUucHJldmlvdXNTaWJsaW5nc0l0ZXJhdG9yKGUpfW5leHRTaWJsaW5nc0l0ZXJhdG9yKGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUubmV4dFNpYmxpbmdzSXRlcmF0b3IoZSl9YW5jZXN0b3JzSXRlcmF0b3IoZSl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5hbmNlc3RvcnNJdGVyYXRvcihlKX10cmVlSXRlcmF0b3IoZSx0KXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLnRyZWVJdGVyYXRvcihlLHQpfWluZGV4KGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuaW5kZXgoZSl9Y2hpbGRyZW5Db3VudChlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmNoaWxkcmVuQ291bnQoZSl9Y29tcGFyZVRyZWVQb3NpdGlvbihlLHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuY29tcGFyZVRyZWVQb3NpdGlvbihlLHQpfXJlbW92ZShlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLnJlbW92ZShlKX1pbnNlcnRCZWZvcmUoZSx0KXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmluc2VydEJlZm9yZShlLHQpfWluc2VydEFmdGVyKGUsdCl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5pbnNlcnRBZnRlcihlLHQpfXByZXBlbmRDaGlsZChlLHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUucHJlcGVuZENoaWxkKGUsdCl9YXBwZW5kQ2hpbGQoZSx0KXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmFwcGVuZENoaWxkKGUsdCl9dG9Kc29uV2l0aEhpZXJhY2h5KGUpe2xldCB0PXMocj0+e2xldCBpPVtdO2lmKHRoaXMuaGFzQ2hpbGRyZW4ocikpe2xldCBvPXRoaXMuY2hpbGRyZW5Ub0FycmF5KHIse30pO2ZvcihsZXQgbiBvZiBvKWkucHVzaCh0KG4pKX1yZXR1cm57ZGF0YTpyLGNoaWxkcmVuOml9fSwiYnVpbGROb2RlIik7cmV0dXJuIHQoZSl9ZnJvbUpzb25XaXRoSGllcmFjaHkoZSx0KXtsZXQgcj1zKChpLG8pPT57bGV0IG49dD90KGkuZGF0YSk6aS5kYXRhO3RoaXMuaW5pdGlhbGl6ZShuKSxvJiZ0aGlzLmFwcGVuZENoaWxkKG8sbik7Zm9yKGxldCBsIG9mIGkuY2hpbGRyZW4pcihsLG4pO3JldHVybiBufSwiYnVpbGRUcmVlIik7cmV0dXJuIHIoZSl9fX0pO3ZhciBHYT17fTtydChHYSx7QXN5bmNFeGVjdXRpb25TdGFjazooKT0+JGxlLEJhY2twcmVzc3VyZWRBcnJheTooKT0+RGxlLEZhc3RNYXA6KCk9PkwzLEludGVyZXN0OigpPT5OOSxJbnRlcmVzdE1hcDooKT0+UGxlLExpbWl0ZWRBcnJheTooKT0+SWxlLExvb3BUcmFja2VyOigpPT5ObGUsT2JqZWN0TWFwOigpPT5EbCxTdHJpbmdtYXA6KCk9PlI5LFRpbWVkQWdncmVnYXRvcjooKT0+TzksVGltZWRBZ2dyZWd0b3I6KCk9Pk85LFRyZWU6KCk9PkZsZSx1bmk6KCk9PkdjdH0pO3ZhciBGaD1mKCgpPT57VWN0KCk7V2N0KCk7dFgoKTtFbGUoKTtBbGUoKTtZY3QoKTtLY3QoKTtJOSgpO1JsZSgpO09sZSgpO09sZSgpO1pjdCgpfSk7dmFyIHowPXt9O3J0KHowLHthcmVVaW50OEFycmF5c0VxdWFsOigpPT5tYmEsYXNzZXJ0VWludDhBcnJheTooKT0+UzAsYXNzZXJ0VWludDhBcnJheU9yQXJyYXlCdWZmZXI6KCk9PnQwdCxiYXNlNjRUb1N0cmluZzooKT0+d2JhLGJhc2U2NFRvVWludDhBcnJheTooKT0+aTB0LGNvbXBhcmVVaW50OEFycmF5czooKT0+Z2JhLGNvbmNhdFVpbnQ4QXJyYXlzOigpPT5oYmEsZ2V0VWludEJFOigpPT56YmEsaGV4VG9VaW50OEFycmF5OigpPT5TYmEsaW5jbHVkZXM6KCk9PkNiYSxpbmRleE9mOigpPT5vMHQsaXNVaW50OEFycmF5OigpPT5CbGUsc3RyaW5nVG9CYXNlNjQ6KCk9PnliYSxzdHJpbmdUb1VpbnQ4QXJyYXk6KCk9PnIwdCx0b1VpbnQ4QXJyYXk6KCk9PmZiYSx1aW50OEFycmF5VG9CYXNlNjQ6KCk9PnMwdCx1aW50OEFycmF5VG9IZXg6KCk9PmtiYSx1aW50OEFycmF5VG9TdHJpbmc6KCk9PmEwdH0pO2Z1bmN0aW9uIFhjdChhLGUsdCl7cmV0dXJuIGE/YS5jb25zdHJ1Y3Rvcj09PWU/ITA6bGJhLmNhbGwoYSk9PT10OiExfWZ1bmN0aW9uIEJsZShhKXtyZXR1cm4gWGN0KGEsVWludDhBcnJheSxjYmEpfWZ1bmN0aW9uIHViYShhKXtyZXR1cm4gWGN0KGEsQXJyYXlCdWZmZXIsZGJhKX1mdW5jdGlvbiBwYmEoYSl7cmV0dXJuIEJsZShhKXx8dWJhKGEpfWZ1bmN0aW9uIFMwKGEpe2lmKCFCbGUoYSkpdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgXGBVaW50OEFycmF5XGAsIGdvdCBcYCR7dHlwZW9mIGF9XGBgKX1mdW5jdGlvbiB0MHQoYSl7aWYoIXBiYShhKSl0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBcYFVpbnQ4QXJyYXlcYCBvciBcYEFycmF5QnVmZmVyXGAsIGdvdCBcYCR7dHlwZW9mIGF9XGBgKX1mdW5jdGlvbiBmYmEoYSl7aWYoYSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKXJldHVybiBuZXcgVWludDhBcnJheShhKTtpZihBcnJheUJ1ZmZlci5pc1ZpZXcoYSkpcmV0dXJuIG5ldyBVaW50OEFycmF5KGEuYnVmZmVyLGEuYnl0ZU9mZnNldCxhLmJ5dGVMZW5ndGgpO3Rocm93IG5ldyBUeXBlRXJyb3IoYFVuc3VwcG9ydGVkIHZhbHVlLCBnb3QgXGAke3R5cGVvZiBhfVxgLmApfWZ1bmN0aW9uIGhiYShhLGUpe2lmKGEubGVuZ3RoPT09MClyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoMCk7ZT8/PWEucmVkdWNlKChpLG8pPT5pK28ubGVuZ3RoLDApO2xldCB0PW5ldyBVaW50OEFycmF5KGUpLHI9MDtmb3IobGV0IGkgb2YgYSlTMChpKSx0LnNldChpLHIpLHIrPWkubGVuZ3RoO3JldHVybiB0fWZ1bmN0aW9uIG1iYShhLGUpe2lmKFMwKGEpLFMwKGUpLGE9PT1lKXJldHVybiEwO2lmKGEubGVuZ3RoIT09ZS5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0KyspaWYoYVt0XSE9PWVbdF0pcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gZ2JhKGEsZSl7UzAoYSksUzAoZSk7bGV0IHQ9TWF0aC5taW4oYS5sZW5ndGgsZS5sZW5ndGgpO2ZvcihsZXQgcj0wO3I8dDtyKyspe2xldCBpPWFbcl0tZVtyXTtpZihpIT09MClyZXR1cm4gTWF0aC5zaWduKGkpfXJldHVybiBNYXRoLnNpZ24oYS5sZW5ndGgtZS5sZW5ndGgpfWZ1bmN0aW9uIGEwdChhLGU9InV0ZjgiKXtyZXR1cm4gdDB0KGEpLFFjdFtlXT8/PW5ldyBnbG9iYWxUaGlzLlRleHREZWNvZGVyKGUpLFFjdFtlXS5kZWNvZGUoYSl9ZnVuY3Rpb24gRjkoYSl7aWYodHlwZW9mIGEhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIFxgc3RyaW5nXGAsIGdvdCBcYCR7dHlwZW9mIGF9XGBgKX1mdW5jdGlvbiByMHQoYSl7cmV0dXJuIEY5KGEpLGJiYS5lbmNvZGUoYSl9ZnVuY3Rpb24gdmJhKGEpe3JldHVybiBhLnJlcGxhY2VBbGwoIisiLCItIikucmVwbGFjZUFsbCgiLyIsIl8iKS5yZXBsYWNlKC89KyQvLCIiKX1mdW5jdGlvbiB4YmEoYSl7bGV0IGU9YS5yZXBsYWNlQWxsKCItIiwiKyIpLnJlcGxhY2VBbGwoIl8iLCIvIiksdD0oNC1lLmxlbmd0aCU0KSU0O3JldHVybiBlKyI9Ii5yZXBlYXQodCl9ZnVuY3Rpb24gczB0KGEse3VybFNhZmU6ZT0hMX09e30pe1MwKGEpO2xldCB0PSIiO2ZvcihsZXQgcj0wO3I8YS5sZW5ndGg7cis9SmN0KXtsZXQgaT1hLnN1YmFycmF5KHIscitKY3QpO3QrPWdsb2JhbFRoaXMuYnRvYShTdHJpbmcuZnJvbUNvZGVQb2ludC5hcHBseSh2b2lkIDAsaSkpfXJldHVybiBlP3ZiYSh0KTp0fWZ1bmN0aW9uIGkwdChhKXtyZXR1cm4gRjkoYSksVWludDhBcnJheS5mcm9tKGdsb2JhbFRoaXMuYXRvYih4YmEoYSkpLGU9PmUuY29kZVBvaW50QXQoMCkpfWZ1bmN0aW9uIHliYShhLHt1cmxTYWZlOmU9ITF9PXt9KXtyZXR1cm4gRjkoYSksczB0KHIwdChhKSx7dXJsU2FmZTplfSl9ZnVuY3Rpb24gd2JhKGEpe3JldHVybiBGOShhKSxhMHQoaTB0KGEpKX1mdW5jdGlvbiBrYmEoYSl7UzAoYSk7bGV0IGU9IiI7Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0KyspZSs9TWJhW2FbdF1dO3JldHVybiBlfWZ1bmN0aW9uIFNiYShhKXtpZihGOShhKSxhLmxlbmd0aCUyIT09MCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgSGV4IHN0cmluZyBsZW5ndGguIik7bGV0IGU9YS5sZW5ndGgvMix0PW5ldyBVaW50OEFycmF5KGUpO2ZvcihsZXQgcj0wO3I8ZTtyKyspe2xldCBpPWUwdFthW3IqMl1dLG89ZTB0W2FbcioyKzFdXTtpZihpPT09dm9pZCAwfHxvPT09dm9pZCAwKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBIZXggY2hhcmFjdGVyIGVuY291bnRlcmVkIGF0IHBvc2l0aW9uICR7cioyfWApO3Rbcl09aTw8NHxvfXJldHVybiB0fWZ1bmN0aW9uIHpiYShhKXtsZXR7Ynl0ZUxlbmd0aDplfT1hO2lmKGU9PT02KXJldHVybiBhLmdldFVpbnQxNigwKSoyKiozMithLmdldFVpbnQzMigyKTtpZihlPT09NSlyZXR1cm4gYS5nZXRVaW50OCgwKSoyKiozMithLmdldFVpbnQzMigxKTtpZihlPT09NClyZXR1cm4gYS5nZXRVaW50MzIoMCk7aWYoZT09PTMpcmV0dXJuIGEuZ2V0VWludDgoMCkqMioqMTYrYS5nZXRVaW50MTYoMSk7aWYoZT09PTIpcmV0dXJuIGEuZ2V0VWludDE2KDApO2lmKGU9PT0xKXJldHVybiBhLmdldFVpbnQ4KDApfWZ1bmN0aW9uIG8wdChhLGUpe2xldCB0PWEubGVuZ3RoLHI9ZS5sZW5ndGg7aWYocj09PTB8fHI+dClyZXR1cm4tMTtsZXQgaT10LXI7Zm9yKGxldCBvPTA7bzw9aTtvKyspe2xldCBuPSEwO2ZvcihsZXQgbD0wO2w8cjtsKyspaWYoYVtvK2xdIT09ZVtsXSl7bj0hMTticmVha31pZihuKXJldHVybiBvfXJldHVybi0xfWZ1bmN0aW9uIENiYShhLGUpe3JldHVybiBvMHQoYSxlKSE9PS0xfXZhciBsYmEsY2JhLGRiYSxRY3QsYmJhLEpjdCxNYmEsZTB0LG4wdD1mKCgpPT57bGJhPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsY2JhPSJbb2JqZWN0IFVpbnQ4QXJyYXldIixkYmE9IltvYmplY3QgQXJyYXlCdWZmZXJdIjtzKFhjdCwiaXNUeXBlIik7cyhCbGUsImlzVWludDhBcnJheSIpO3ModWJhLCJpc0FycmF5QnVmZmVyIik7cyhwYmEsImlzVWludDhBcnJheU9yQXJyYXlCdWZmZXIiKTtzKFMwLCJhc3NlcnRVaW50OEFycmF5Iik7cyh0MHQsImFzc2VydFVpbnQ4QXJyYXlPckFycmF5QnVmZmVyIik7cyhmYmEsInRvVWludDhBcnJheSIpO3MoaGJhLCJjb25jYXRVaW50OEFycmF5cyIpO3MobWJhLCJhcmVVaW50OEFycmF5c0VxdWFsIik7cyhnYmEsImNvbXBhcmVVaW50OEFycmF5cyIpO1FjdD17dXRmODpuZXcgZ2xvYmFsVGhpcy5UZXh0RGVjb2RlcigidXRmOCIpfTtzKGEwdCwidWludDhBcnJheVRvU3RyaW5nIik7cyhGOSwiYXNzZXJ0U3RyaW5nIik7YmJhPW5ldyBnbG9iYWxUaGlzLlRleHRFbmNvZGVyO3MocjB0LCJzdHJpbmdUb1VpbnQ4QXJyYXkiKTtzKHZiYSwiYmFzZTY0VG9CYXNlNjRVcmwiKTtzKHhiYSwiYmFzZTY0VXJsVG9CYXNlNjQiKTtKY3Q9NjU1MzU7cyhzMHQsInVpbnQ4QXJyYXlUb0Jhc2U2NCIpO3MoaTB0LCJiYXNlNjRUb1VpbnQ4QXJyYXkiKTtzKHliYSwic3RyaW5nVG9CYXNlNjQiKTtzKHdiYSwiYmFzZTY0VG9TdHJpbmciKTtNYmE9QXJyYXkuZnJvbSh7bGVuZ3RoOjI1Nn0sKGEsZSk9PmUudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSk7cyhrYmEsInVpbnQ4QXJyYXlUb0hleCIpO2UwdD17MDowLDE6MSwyOjIsMzozLDQ6NCw1OjUsNjo2LDc6Nyw4OjgsOTo5LGE6MTAsYjoxMSxjOjEyLGQ6MTMsZToxNCxmOjE1LEE6MTAsQjoxMSxDOjEyLEQ6MTMsRToxNCxGOjE1fTtzKFNiYSwiaGV4VG9VaW50OEFycmF5Iik7cyh6YmEsImdldFVpbnRCRSIpO3MobzB0LCJpbmRleE9mIik7cyhDYmEsImluY2x1ZGVzIil9KTt2YXIgbDB0PWYoKCk9PntuMHQoKX0pO3ZhciBpMT17fTtydChpMSx7YmFzZTY0VG9VaW50OEFycmF5OigpPT4kYmEsZW5zdXJlUHVyZVVpbnQ4QXJyYXk6KCk9PkViYSxpc0J1ZmZlckxpa2U6KCk9PkFiYSxpc1VpbnQ4QXJyYXk6KCk9PkRiYSx1SW50OEFycmF5RXh0cmFzOigpPT5UYmEsdUludDhBcnJheVRvQmFzZTY0OigpPT5MYmF9KTtmdW5jdGlvbiBMYmEoYSl7cmV0dXJuIHowLnVpbnQ4QXJyYXlUb0Jhc2U2NChhKX1mdW5jdGlvbiAkYmEoYSl7cmV0dXJuIHowLmJhc2U2NFRvVWludDhBcnJheShhKX1mdW5jdGlvbiBBYmEoYSl7cmV0dXJuIGEmJnR5cGVvZiBhLmJ5dGVMZW5ndGg9PSJudW1iZXIiPyEwOnR5cGVvZiBCdWZmZXI8InUiJiZCdWZmZXIuaXNCdWZmZXI/QnVmZmVyLmlzQnVmZmVyKGEpOiExfWZ1bmN0aW9uIEViYShhKXtsZXQgZT1uZXcgVWludDhBcnJheShhLmxlbmd0aCk7cmV0dXJuIGUuc2V0KGEpLGV9dmFyIFRiYSxEYmEsSGxlPWYoKCk9PntsMHQoKTtUYmE9ejA7cyhMYmEsInVJbnQ4QXJyYXlUb0Jhc2U2NCIpO3MoJGJhLCJiYXNlNjRUb1VpbnQ4QXJyYXkiKTtEYmE9cyhhPT56MC5pc1VpbnQ4QXJyYXkoYSksImlzVWludDhBcnJheSIpO3MoQWJhLCJpc0J1ZmZlckxpa2UiKTtzKEViYSwiZW5zdXJlUHVyZVVpbnQ4QXJyYXkiKX0pO3ZhciBCOT1mKCgpPT57WnMoKX0pO3ZhciBIOSxhWD1mKCgpPT57QjkoKTtIOT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJHdWFyZCIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5ndWFyZEZ1bmN0aW9uPWUsdGhpcy5vcHRpb25zPXR9YXN5bmMgZXhlYyhlKXtyZXR1cm4gYXdhaXQgdGhpcy5ndWFyZEZ1bmN0aW9uKGUpfWFzeW5jIGdldEZhaWxlZEhpbnQoZSl7cmV0dXJuIGF3YWl0IHRoaXMuZXhlYyhlKT9udWxsOnRoaXMub3B0aW9ucy5mYWlsZWRIaW50fX19KTt2YXIgcTkscWxlPWYoKCk9PntCOSgpO3E5PWNsYXNzIGV4dGVuZHMgRXJyb3J7c3RhdGlje3ModGhpcywiR3VhcmRFcnJvciIpfWNvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMubmFtZT0iR3VhcmRFcnJvciJ9fX0pO3ZhciBWOSxWbGU9ZigoKT0+e0I5KCk7YVgoKTtWOT1jbGFzcyBleHRlbmRzIEg5e3N0YXRpY3tzKHRoaXMsIkd1YXJkU2V0Iil9Y29uc3RydWN0b3IoZT1bXSl7c3VwZXIoYXN5bmMgdD0+dGhpcy5hbGxHdWFyZHNQYXNzKHQpKSx0aGlzLmd1YXJkcz1lfWFzeW5jIGV4ZWNBbGxXaXRoRGF0YShlLHQ9e21vZGU6InBhcmFsbGVsIixzdG9wT25GYWlsOiExfSl7bGV0IHI9W107Zm9yKGxldCBvIG9mIHRoaXMuZ3VhcmRzKXtsZXQgbj1vLmV4ZWMoZSk7aWYodC5tb2RlPT09InNlcmlhbCImJmF3YWl0IG4sci5wdXNoKG4pLHQuc3RvcE9uRmFpbCYmIWF3YWl0IG4pcmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKHIpfXJldHVybiBhd2FpdCBQcm9taXNlLmFsbChyKX1hc3luYyBhbGxHdWFyZHNQYXNzKGUsdD17bW9kZToicGFyYWxsZWwiLHN0b3BPbkZhaWw6ITF9KXtyZXR1cm4oYXdhaXQgdGhpcy5leGVjQWxsV2l0aERhdGEoZSx0KSkuZXZlcnkoaT0+aSl9YXN5bmMgYW55R3VhcmRzUGFzcyhlKXtyZXR1cm4oYXdhaXQgdGhpcy5leGVjQWxsV2l0aERhdGEoZSx7bW9kZToicGFyYWxsZWwiLHN0b3BPbkZhaWw6ITF9KSkuc29tZShyPT5yKX1nZXRGYWlsZWRIaW50KGUpe2ZvcihsZXQgdCBvZiB0aGlzLmd1YXJkcyl7bGV0IHI9dC5nZXRGYWlsZWRIaW50KGUpO2lmKHIpcmV0dXJuIHJ9fX19KTt2YXIgQWw9e307cnQoQWwse0d1YXJkOigpPT5IOSxHdWFyZEVycm9yOigpPT5xOSxHdWFyZFNldDooKT0+VjkscGFzc0d1YXJkc09yUmVqZWN0OigpPT5QYmF9KTt2YXIgUGJhLGpsZT1mKCgpPT57QjkoKTthWCgpO3FsZSgpO2FYKCk7VmxlKCk7VmxlKCk7cWxlKCk7UGJhPXMoYXN5bmMoYSxlKT0+e2xldCB0PW5ldyBWOShlKTtpZighYXdhaXQgdC5hbGxHdWFyZHNQYXNzKGEpKXtsZXQgaT1hd2FpdCB0LmdldEZhaWxlZEhpbnQoYSk7dGhyb3cgbmV3IHE5KGBHdWFyZHMgZmFpbGVkOgoke2l9CiAgICBgKX19LCJwYXNzR3VhcmRzT3JSZWplY3QiKX0pO3ZhciBxaCxVbGU9ZigoKT0+e3FoPWNsYXNze3N0YXRpY3tzKHRoaXMsIkludGVyY2VwdG9yTWFuYWdlciIpfWNvbnN0cnVjdG9yKCl7dGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzPVtdLHRoaXMucmVzcG9uc2VJbnRlcmNlcHRvcnM9W10sdGhpcy5lcnJvckludGVyY2VwdG9ycz1bXX1hZGRSZXF1ZXN0SW50ZXJjZXB0b3IoZSl7dGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzLnB1c2goZSl9YWRkUmVzcG9uc2VJbnRlcmNlcHRvcihlKXt0aGlzLnJlc3BvbnNlSW50ZXJjZXB0b3JzLnB1c2goZSl9YWRkRXJyb3JJbnRlcmNlcHRvcihlKXt0aGlzLmVycm9ySW50ZXJjZXB0b3JzLnB1c2goZSl9cmVtb3ZlUmVxdWVzdEludGVyY2VwdG9yKGUpe2xldCB0PXRoaXMucmVxdWVzdEludGVyY2VwdG9ycy5pbmRleE9mKGUpO3Q+LTEmJnRoaXMucmVxdWVzdEludGVyY2VwdG9ycy5zcGxpY2UodCwxKX1yZW1vdmVSZXNwb25zZUludGVyY2VwdG9yKGUpe2xldCB0PXRoaXMucmVzcG9uc2VJbnRlcmNlcHRvcnMuaW5kZXhPZihlKTt0Pi0xJiZ0aGlzLnJlc3BvbnNlSW50ZXJjZXB0b3JzLnNwbGljZSh0LDEpfXJlbW92ZUVycm9ySW50ZXJjZXB0b3IoZSl7bGV0IHQ9dGhpcy5lcnJvckludGVyY2VwdG9ycy5pbmRleE9mKGUpO3Q+LTEmJnRoaXMuZXJyb3JJbnRlcmNlcHRvcnMuc3BsaWNlKHQsMSl9Y2xlYXJBbGwoKXt0aGlzLnJlcXVlc3RJbnRlcmNlcHRvcnM9W10sdGhpcy5yZXNwb25zZUludGVyY2VwdG9ycz1bXSx0aGlzLmVycm9ySW50ZXJjZXB0b3JzPVtdfWFzeW5jIHByb2Nlc3NSZXF1ZXN0KGUpe2xldCB0PWU7Zm9yKGxldCByIG9mIHRoaXMucmVxdWVzdEludGVyY2VwdG9ycyl0cnl7dD1hd2FpdCByKHQpfWNhdGNoKGkpe3Rocm93IGF3YWl0IHRoaXMucHJvY2Vzc0Vycm9yKGkgaW5zdGFuY2VvZiBFcnJvcj9pOm5ldyBFcnJvcihTdHJpbmcoaSkpKX1yZXR1cm4gdH1hc3luYyBwcm9jZXNzUmVzcG9uc2UoZSl7bGV0IHQ9ZTtmb3IobGV0IHIgb2YgdGhpcy5yZXNwb25zZUludGVyY2VwdG9ycyl0cnl7dD1hd2FpdCByKHQpfWNhdGNoKGkpe3Rocm93IGF3YWl0IHRoaXMucHJvY2Vzc0Vycm9yKGkgaW5zdGFuY2VvZiBFcnJvcj9pOm5ldyBFcnJvcihTdHJpbmcoaSkpKX1yZXR1cm4gdH1hc3luYyBwcm9jZXNzRXJyb3IoZSl7bGV0IHQ9ZTtmb3IobGV0IHIgb2YgdGhpcy5lcnJvckludGVyY2VwdG9ycyl0cnl7dD1hd2FpdCByKHQpfWNhdGNoKGkpe3Q9aSBpbnN0YW5jZW9mIEVycm9yP2k6bmV3IEVycm9yKFN0cmluZyhpKSl9cmV0dXJuIHR9Z2V0SW50ZXJjZXB0b3JDb3VudHMoKXtyZXR1cm57cmVxdWVzdDp0aGlzLnJlcXVlc3RJbnRlcmNlcHRvcnMubGVuZ3RoLHJlc3BvbnNlOnRoaXMucmVzcG9uc2VJbnRlcmNlcHRvcnMubGVuZ3RoLGVycm9yOnRoaXMuZXJyb3JJbnRlcmNlcHRvcnMubGVuZ3RofX19fSk7dmFyIGMwdD1mKCgpPT57WnMoKX0pO3ZhciBkMHQ9ZigoKT0+e30pO3ZhciBXbGUsdTB0PWYoKCk9PntjMHQoKTtkMHQoKTtXbGU9Y2xhc3N7c3RhdGlje3ModGhpcywiU21hcnRlbnYiKX1jb25zdHJ1Y3Rvcigpe3RoaXMubG9hZGVkU2NyaXB0cz1bXX1hc3luYyBnZXRFbnZBd2FyZU1vZHVsZShlKXtpZih0aGlzLmlzTm9kZSlyZXR1cm4gYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZShlLm5vZGVNb2R1bGVOYW1lKTtpZih0aGlzLmlzQnJvd3NlcilyZXR1cm4gYXdhaXQgdGhpcy5nZXRTYWZlV2ViTW9kdWxlKGUud2ViVXJsQXJnLGUuZ2V0RnVuY3Rpb24pO2NvbnNvbGUuZXJyb3IoInBsYXRmb3JtIGZvciBsb2FkaW5nIG5vdCBzdXBwb3J0ZWQgYnkgc21hcnRlbnYiKX1hc3luYyBnZXRTYWZlTm9kZU1vZHVsZShlLHQpe2lmKCF0aGlzLmlzTm9kZSYmIXRoaXMuaXNEZW5vJiYhdGhpcy5pc0J1bil7Y29uc29sZS5lcnJvcihgWW91IHRyaWVkIHRvIGxvYWQgYSBzZXJ2ZXIgbW9kdWxlIGluIGEgd3JvbmcgY29udGV4dDogJHtlfS4gVGhpcyBkb2VzIG5vdCB0aHJvdy5gKTtyZXR1cm59bGV0IHI9YXdhaXQgbmV3IEZ1bmN0aW9uKGByZXR1cm4gaW1wb3J0KCcke2V9JylgKSgpO3JldHVybiB0JiZhd2FpdCB0KHIpLHJ9YXN5bmMgZ2V0U2FmZVdlYk1vZHVsZShlLHQpe2lmKCF0aGlzLmlzQnJvd3Nlcil7Y29uc29sZS5lcnJvcigiWW91IHRyaWVkIHRvIGxvYWQgYSB3ZWIgbW9kdWxlIGluIGEgd3JvbmcgY29udGV4dCIpO3JldHVybn1pZih0aGlzLmxvYWRlZFNjcmlwdHMuaW5jbHVkZXMoZSkpcmV0dXJuIHQoKTt0aGlzLmxvYWRlZFNjcmlwdHMucHVzaChlKTtsZXQgcj1ldC5kZWZlcigpLGk9Z2xvYmFsVGhpcztpZihpLmltcG9ydFNjcmlwdHMpaS5pbXBvcnRTY3JpcHRzKGUpLHIucmVzb2x2ZSgpO2Vsc2V7bGV0IG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7by5vbmxvYWQ9KCk9PntyLnJlc29sdmUoKX0sby5zcmM9ZSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG8pfXJldHVybiBhd2FpdCByLnByb21pc2UsdCgpfWdldCBydW50aW1lRW52KCl7bGV0IGU9Z2xvYmFsVGhpcztyZXR1cm4gdHlwZW9mIGUuRGVubzwidSImJnR5cGVvZiBlLkRlbm8udmVyc2lvbjwidSI/ImRlbm8iOnR5cGVvZiBlLkJ1bjwidSImJnR5cGVvZiBlLkJ1bi52ZXJzaW9uPCJ1Ij8iYnVuIjp0eXBlb2YgZ2xvYmFsVGhpcy5wcm9jZXNzPCJ1IiYmdHlwZW9mIGdsb2JhbFRoaXMucHJvY2Vzcz8udmVyc2lvbnM/Lm5vZGU8InUiPyJub2RlIjoodHlwZW9mIGdsb2JhbFRoaXMud2luZG93PCJ1IiYmdHlwZW9mIGdsb2JhbFRoaXMuZG9jdW1lbnQ8InUiLCJicm93c2VyIil9Z2V0IGlzQnJvd3Nlcigpe3JldHVybiB0aGlzLnJ1bnRpbWVFbnY9PT0iYnJvd3NlciJ9Z2V0IGlzTm9kZSgpe3JldHVybiB0aGlzLnJ1bnRpbWVFbnY9PT0ibm9kZSJ9Z2V0IGlzRGVubygpe3JldHVybiB0aGlzLnJ1bnRpbWVFbnY9PT0iZGVubyJ9Z2V0IGlzQnVuKCl7cmV0dXJuIHRoaXMucnVudGltZUVudj09PSJidW4ifWdldCB1c2VyQWdlbnQoKXtyZXR1cm4gdGhpcy5pc0Jyb3dzZXI/bmF2aWdhdG9yLnVzZXJBZ2VudDoidW5kZWZpbmVkIn1nZXQgbm9kZVZlcnNpb24oKXtyZXR1cm4gdGhpcy5pc05vZGU/cHJvY2Vzcy52ZXJzaW9uOiJ1bmRlZmluZWQifWdldCBkZW5vVmVyc2lvbigpe3JldHVybiB0aGlzLmlzRGVubz9nbG9iYWxUaGlzLkRlbm8/LnZlcnNpb24/LmRlbm8/PyJ1bmRlZmluZWQiOiJ1bmRlZmluZWQifWdldCBidW5WZXJzaW9uKCl7cmV0dXJuIHRoaXMuaXNCdW4/Z2xvYmFsVGhpcy5CdW4/LnZlcnNpb24/PyJ1bmRlZmluZWQiOiJ1bmRlZmluZWQifWFzeW5jIGdldFNhZmVNb2R1bGVGb3IoZSx0LHIpe2xldCBpO2lmKEFycmF5LmlzQXJyYXkoZSk/aT1lLmZsYXRNYXAobz0+bz09PSJzZXJ2ZXIiP1sibm9kZSIsImRlbm8iLCJidW4iXTpbb10pOmU9PT0ic2VydmVyIj9pPVsibm9kZSIsImRlbm8iLCJidW4iXTppPVtlXSwhaS5pbmNsdWRlcyh0aGlzLnJ1bnRpbWVFbnYpKXtjb25zb2xlLndhcm4oYE1vZHVsZSAiJHt0fSIgcmVxdWVzdGVkIGZvciBydW50aW1lKHMpIFske2kuam9pbigiLCAiKX1dIGJ1dCBjdXJyZW50IHJ1bnRpbWUgaXMgIiR7dGhpcy5ydW50aW1lRW52fSIuIFNraXBwaW5nIGxvYWQuYCk7cmV0dXJufWlmKHRoaXMuaXNOb2RlfHx0aGlzLmlzRGVub3x8dGhpcy5pc0J1bilyZXR1cm4gYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZSh0KTtpZih0aGlzLmlzQnJvd3Nlcil7aWYoIXIpe2NvbnNvbGUuZXJyb3IoYEJyb3dzZXIgbW9kdWxlIGxvYWQgcmVxdWlyZXMgZ2V0RnVuY3Rpb24gcGFyYW1ldGVyIGZvciAiJHt0fSJgKTtyZXR1cm59cmV0dXJuIGF3YWl0IHRoaXMuZ2V0U2FmZVdlYk1vZHVsZSh0LHIpfX1nZXQgaXNDSSgpe3JldHVybiB0aGlzLmlzTm9kZT8hIXByb2Nlc3MuZW52LkNJOiExfWFzeW5jIGlzTWFjQXN5bmMoKXtyZXR1cm4gdGhpcy5pc05vZGV8fHRoaXMuaXNEZW5vfHx0aGlzLmlzQnVuPyhhd2FpdCB0aGlzLmdldFNhZmVOb2RlTW9kdWxlKHRoaXMuaXNEZW5vPyJub2RlOm9zIjoib3MiKSk/LnBsYXRmb3JtKCk9PT0iZGFyd2luIjohMX1hc3luYyBpc1dpbmRvd3NBc3luYygpe3JldHVybiB0aGlzLmlzTm9kZXx8dGhpcy5pc0Rlbm98fHRoaXMuaXNCdW4/KGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUodGhpcy5pc0Rlbm8/Im5vZGU6b3MiOiJvcyIpKT8ucGxhdGZvcm0oKT09PSJ3aW4zMiI6ITF9YXN5bmMgaXNMaW51eEFzeW5jKCl7cmV0dXJuIHRoaXMuaXNOb2RlfHx0aGlzLmlzRGVub3x8dGhpcy5pc0J1bj8oYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZSh0aGlzLmlzRGVubz8ibm9kZTpvcyI6Im9zIikpPy5wbGF0Zm9ybSgpPT09ImxpbnV4IjohMX1hc3luYyBwcmludEVudigpe3RoaXMuaXNOb2RlPyhjb25zb2xlLmxvZygicnVubmluZyBvbiBOT0RFIiksY29uc29sZS5sb2coIm5vZGUgdmVyc2lvbiBpcyAiK3RoaXMubm9kZVZlcnNpb24pKTp0aGlzLmlzRGVubz8oY29uc29sZS5sb2coInJ1bm5pbmcgb24gREVOTyIpLGNvbnNvbGUubG9nKCJkZW5vIHZlcnNpb24gaXMgIit0aGlzLmRlbm9WZXJzaW9uKSk6dGhpcy5pc0J1bj8oY29uc29sZS5sb2coInJ1bm5pbmcgb24gQlVOIiksY29uc29sZS5sb2coImJ1biB2ZXJzaW9uIGlzICIrdGhpcy5idW5WZXJzaW9uKSk6KGNvbnNvbGUubG9nKCJydW5uaW5nIG9uIEJST1dTRVIiKSxjb25zb2xlLmxvZygiYnJvd3NlciBpcyAiK3RoaXMudXNlckFnZW50KSl9fX0pO3ZhciBvMT17fTtydChvMSx7U21hcnRlbnY6KCk9PldsZX0pO3ZhciBqOT1mKCgpPT57dTB0KCl9KTt2YXIgR2xlLFU5PWYoKCk9PntHbGU9QmkoVTcoKSwxKX0pO3ZhciByWD17fTtydChyWCx7Y3JlYXRlQ3J5cHRvUmFuZG9tU3RyaW5nOigpPT5CYmEsY3JlYXRlUmFuZG9tU3RyaW5nOigpPT5GYmF9KTt2YXIgUmJhLE9iYSxGYmEsQmJhLHAwdD1mKCgpPT57VTkoKTtSYmE9cygoYSxlKT0+e2lmKHR5cGVvZiBnbG9iYWxUaGlzPCJ1IiYmZ2xvYmFsVGhpcy5jcnlwdG8mJmdsb2JhbFRoaXMuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyl7bGV0IHQ9ZS1hLHI9bmV3IFVpbnQzMkFycmF5KDEpO3JldHVybiBnbG9iYWxUaGlzLmNyeXB0by5nZXRSYW5kb21WYWx1ZXMociksYStyWzBdJXR9ZWxzZSByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKihlLWEpKSthfSwiZ2V0UmFuZG9tSW50IiksT2JhPXMoKGEsZSx0KT0+e2xldCByPXtBOiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiIsYToiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiLDA6IjAxMjM0NTY3ODkiLCIhIjoiIUAjJCVeJiooKV8rLT1bXXt9fDs6LC48Pj8iLCIqIjoiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkhQCMkJV4mKigpXystPVtde318OzosLjw+PyJ9LGk9YTtlJiZlPmEubGVuZ3RoP2k9YS5yZXBlYXQoTWF0aC5jZWlsKGUvYS5sZW5ndGgpKS5zbGljZSgwLGUpOmUmJihpPWEuc2xpY2UoMCxlKSk7bGV0IG89IiI7Zm9yKGxldCBuIG9mIGkpaWYocltuXSl7bGV0IGw9cltuXSxkPVJiYSgwLGwubGVuZ3RoKTtvKz1sW2RdfWVsc2Ugbys9bjtyZXR1cm4gb30sImN1c3RvbVJhbmRvbWF0aWMiKSxGYmE9cygoYSxlLHQpPT5PYmEoYSxlLHQpLCJjcmVhdGVSYW5kb21TdHJpbmciKSxCYmE9cygoKT0+R2xlLnVuaSgpLCJjcmVhdGVDcnlwdG9SYW5kb21TdHJpbmciKX0pO3ZhciBzWD17fTtydChzWCx7bWFrZUVudk9iamVjdDooKT0+SGJhfSk7dmFyIEhiYSxmMHQ9ZigoKT0+e1U5KCk7SGJhPXMoZnVuY3Rpb24oYSl7bGV0IGU9e30sdD0vKC4qKT0oLiopLztpZih0eXBlb2YgYTwidSIpZm9yKGxldCByIG9mIGEpe2xldCBpPXQuZXhlYyhyKTtpJiYoZVtpWzFdXT1pWzJdKX1yZXR1cm4gZX0sIm1ha2VFbnZPYmplY3QiKX0pO3ZhciAkMz17fTtydCgkMyx7aW5kZW50OigpPT5WYmEsaW5kZW50V2l0aFByZWZpeDooKT0+amJhLG5vcm1hbGl6ZTooKT0+VWJhfSk7dmFyIFlsZSxLbGUscWJhLFZiYSxqYmEsVWJhLGgwdD1mKCgpPT57VTkoKTtZbGU9cyhhPT57bGV0IGU9YS5zcGxpdChgCmApO3JldHVybiBxYmEoZSl9LCJzcGxpdFN0cmluZ0F0TGluZUJyZWFrIiksS2xlPXMoYT0+e2xldCBlPSIiO2ZvcihsZXQgdCBvZiBhKWU9ZSt0K2AKYDtyZXR1cm4gZX0sImpvaW5TdHJpbmdXaXRoTGluZUJyZWFrcyIpLHFiYT1zKGE9PntsZXQgZT0vXltcc10qJC87cmV0dXJuIGUudGVzdChhWzBdKSYmYS5zaGlmdCgpLGUudGVzdChhW2EubGVuZ3RoLTFdKSYmYS5wb3AoKSxhfSwiY2xlYW5TdHJpbmdBcnJheSIpLFZiYT1zKChhLGUpPT57bGV0IHQ9WWxlKGEpO2ZvcihsZXQgaSBvZiB0KWk9IiAiLnJlcGVhdChlKStpO3JldHVybiBLbGUodCl9LCJpbmRlbnQiKSxqYmE9cygoYSxlKT0+e2xldCB0LHI9WWxlKGEpLGk9W107Zm9yKGxldCBvIG9mIHIpaS5wdXNoKGUrbyk7cmV0dXJuIHQ9S2xlKGkpLHR9LCJpbmRlbnRXaXRoUHJlZml4IiksVWJhPXMoYT0+e2xldCBlLHQ9WWxlKGEpLHIsaT0vXihccyopLyxvPS9eKFxzKikkLztmb3IobGV0IGQgb2YgdCl7bGV0IGM9aS5leGVjKGQpLHA9Yz9jWzFdOiIiOyh0eXBlb2Ygcj4idSJ8fHAubGVuZ3RoPHIpJiYhby50ZXN0KGQpJiYocj1wLmxlbmd0aCl9bGV0IG49W10sbD1yfHwwO2ZvcihsZXQgZCBvZiB0KW4ucHVzaChkLnN1YnN0cihsKSk7cmV0dXJuIGU9S2xlKG4pLGV9LCJub3JtYWxpemUiKX0pO3ZhciBpWD17fTtydChpWCx7cmVwbGFjZUFsbDooKT0+bTB0LHN0YW5kYXJkOigpPT5HYmF9KTt2YXIgbTB0LFdiYSxHYmEsZzB0PWYoKCk9PnttMHQ9cygoYSxlLHQpPT5hLnJlcGxhY2UobmV3IFJlZ0V4cChlLCJnIiksdCksInJlcGxhY2VBbGwiKSxXYmE9cyhhPT57bGV0IGU9YS5zcGxpdChgCmApLHQ9MS8wO2ZvcihsZXQgciBvZiBlKWlmKHIudHJpbSgpLmxlbmd0aD4wKXtsZXQgaT1yLm1hdGNoKC9eKFxzKikvKTtpJiYodD1NYXRoLm1pbih0LGlbMV0ubGVuZ3RoKSl9cmV0dXJuIHQ9PT0xLzB8fHQ9PT0wP2E6ZS5tYXAocj0+ci5sZW5ndGg+PXQ/ci5zbGljZSh0KTpyKS5qb2luKGAKYCl9LCJzdHJpcEluZGVudCIpLEdiYT1zKChhLGUpPT57bGV0IHQ9YTtyZXR1cm4oIWV8fGUuc3RyaXBJbmRlbnQpJiYodD1XYmEodCkpLCghZXx8ZS5ub3JtYWxpemVOZXdsaW5lKSYmKHQ9dC5yZXBsYWNlKC9cclxuL2csYApgKSksKCFlfHxlLnJlcGxhY2VUYWJzKSYmKHQ9bTB0KHQsIgkvIiwiICIpKSwoIWV8fGUuc3RyaXBMZWFkaW5nVHJhaWxpbmdFbXB0eUxpbmVzKSYmKHQ9dC5yZXBsYWNlKC9eXHMqW1xyXG5dL2dtLCIiKS5yZXBsYWNlKC9ccypbXHJcbl0kL2dtLCIiKSksKCFlfHxlLnN0cmlwQWxsRW1wdHlMaW5lcykmJih0PXQucmVwbGFjZSgvXlxzKltcclxuXS9nbSwiIikpLHR9LCJzdGFuZGFyZCIpfSk7dmFyIFpsZSxvWCxWaCxYbGU9ZigoKT0+e1psZT17ZW5jb2RlOnMoYT0+e2lmKHR5cGVvZiBCdWZmZXI8InUiKXJldHVybiBCdWZmZXIuZnJvbShhLCJ1dGY4IikudG9TdHJpbmcoImJhc2U2NCIpO2lmKHR5cGVvZiBidG9hPCJ1Iil7bGV0IGU9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGEpLHQ9QXJyYXkuZnJvbShlLHI9PlN0cmluZy5mcm9tQ2hhckNvZGUocikpLmpvaW4oIiIpO3JldHVybiBidG9hKHQpfWVsc2V7bGV0IGU9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iLHQ9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGEpLHI9IiIsaT0wO2Zvcig7aTx0Lmxlbmd0aDspe2xldCBvPXRbaSsrXSxuPWk8dC5sZW5ndGg/dFtpKytdOjAsbD1pPHQubGVuZ3RoP3RbaSsrXTowLGQ9bzw8MTZ8bjw8OHxsO3IrPWUuY2hhckF0KGQ+PjE4JjYzKSxyKz1lLmNoYXJBdChkPj4xMiY2Mykscis9aS0yPHQubGVuZ3RoP2UuY2hhckF0KGQ+PjYmNjMpOiI9IixyKz1pLTE8dC5sZW5ndGg/ZS5jaGFyQXQoZCY2Myk6Ij0ifXJldHVybiByfX0sImVuY29kZSIpLGRlY29kZTpzKGE9PntsZXQgZT1hLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpLnBhZEVuZChhLmxlbmd0aCsoNC1hLmxlbmd0aCU0KSU0LCI9Iik7aWYodHlwZW9mIEJ1ZmZlcjwidSIpcmV0dXJuIEJ1ZmZlci5mcm9tKGUsImJhc2U2NCIpLnRvU3RyaW5nKCJ1dGY4Iik7aWYodHlwZW9mIGF0b2I8InUiKXtsZXQgdD1hdG9iKGUpLHI9bmV3IFVpbnQ4QXJyYXkodC5sZW5ndGgpO2ZvcihsZXQgaT0wO2k8dC5sZW5ndGg7aSsrKXJbaV09dC5jaGFyQ29kZUF0KGkpO3JldHVybiBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUocil9ZWxzZXtsZXQgdD0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIscj1bXSxpPTA7Zm9yKDtpPGUubGVuZ3RoOyl7bGV0IG89dC5pbmRleE9mKGUuY2hhckF0KGkrKykpLG49dC5pbmRleE9mKGUuY2hhckF0KGkrKykpLGw9dC5pbmRleE9mKGUuY2hhckF0KGkrKykpLGQ9dC5pbmRleE9mKGUuY2hhckF0KGkrKykpLGM9bzw8MTh8bjw8MTJ8bDw8NnxkO3IucHVzaChjPj4xNiYyNTUpLGwhPT02NCYmci5wdXNoKGM+PjgmMjU1KSxkIT09NjQmJnIucHVzaChjJjI1NSl9cmV0dXJuIG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShuZXcgVWludDhBcnJheShyKSl9fSwiZGVjb2RlIil9LG9YPWNsYXNze3N0YXRpY3tzKHRoaXMsIkJhc2U2NCIpfWNvbnN0cnVjdG9yKGUsdCl7c3dpdGNoKHQpe2Nhc2Uic3RyaW5nIjp0aGlzLnJlZlN0cmluZz1lO2JyZWFrO2Nhc2UiYmFzZTY0Ijp0aGlzLnJlZlN0cmluZz1WaC5kZWNvZGUoZSk7YnJlYWs7Y2FzZSJiYXNlNjR1cmkiOnRoaXMucmVmU3RyaW5nPVZoLmRlY29kZShlKX19Z2V0IHNpbXBsZVN0cmluZygpe3JldHVybiB0aGlzLnJlZlN0cmluZ31nZXQgYmFzZTY0U3RyaW5nKCl7cmV0dXJuIFZoLmVuY29kZSh0aGlzLnJlZlN0cmluZyl9Z2V0IGJhc2U2NFVyaVN0cmluZygpe3JldHVybiBWaC5lbmNvZGVVcmkodGhpcy5yZWZTdHJpbmcpfX0sVmg9e2VuY29kZTpzKGE9PlpsZS5lbmNvZGUoYSksImVuY29kZSIpLGVuY29kZVVyaTpzKGE9PlpsZS5lbmNvZGUoYSkucmVwbGFjZSgvXCsvZywiLSIpLnJlcGxhY2UoL1wvL2csIl8iKS5yZXBsYWNlKC89L2csIiIpLCJlbmNvZGVVcmkiKSxkZWNvZGU6cyhhPT5abGUuZGVjb2RlKGEpLCJkZWNvZGUiKSxpc0Jhc2U2NDpzKGE9Pi9eKFtBLVphLXowLTkrL117NH0pKihbQS1aYS16MC05Ky9dezN9PXxbQS1aYS16MC05Ky9dezJ9PT0pPyQvLnRlc3QoYSksImlzQmFzZTY0Iil9fSk7dmFyIG5YPXt9O3J0KG5YLHtpc0Jhc2U2NDooKT0+S2JhLGlzVXRmODooKT0+WWJhfSk7dmFyIFliYSxLYmEsYjB0PWYoKCk9PntVOSgpO1hsZSgpO1liYT1zKGE9PntsZXQgdD1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoYSkscj0wO2Zvcig7cjx0Lmxlbmd0aDspe2lmKHRbcl09PT05fHx0W3JdPT09MTB8fHRbcl09PT0xM3x8MzI8PXRbcl0mJnRbcl08PTEyNil7cis9MTtjb250aW51ZX1pZigxOTQ8PXRbcl0mJnRbcl08PTIyMyYmMTI4PD10W3IrMV0mJnRbcisxXTw9MTkxKXtyKz0yO2NvbnRpbnVlfWlmKHRbcl09PT0yMjQmJjE2MDw9dFtyKzFdJiZ0W3IrMV08PTE5MSYmMTI4PD10W3IrMl0mJnRbcisyXTw9MTkxfHwoMjI1PD10W3JdJiZ0W3JdPD0yMzZ8fHRbcl09PT0yMzh8fHRbcl09PT0yMzkpJiYxMjg8PXRbcisxXSYmdFtyKzFdPD0xOTEmJjEyODw9dFtyKzJdJiZ0W3IrMl08PTE5MXx8dFtyXT09PTIzNyYmMTI4PD10W3IrMV0mJnRbcisxXTw9MTU5JiYxMjg8PXRbcisyXSYmdFtyKzJdPD0xOTEpe3IrPTM7Y29udGludWV9aWYodFtyXT09PTI0MCYmMTQ0PD10W3IrMV0mJnRbcisxXTw9MTkxJiYxMjg8PXRbcisyXSYmdFtyKzJdPD0xOTEmJjEyODw9dFtyKzNdJiZ0W3IrM108PTE5MXx8MjQxPD10W3JdJiZ0W3JdPD0yNDMmJjEyODw9dFtyKzFdJiZ0W3IrMV08PTE5MSYmMTI4PD10W3IrMl0mJnRbcisyXTw9MTkxJiYxMjg8PXRbciszXSYmdFtyKzNdPD0xOTF8fHRbcl09PT0yNDQmJjEyODw9dFtyKzFdJiZ0W3IrMV08PTE0MyYmMTI4PD10W3IrMl0mJnRbcisyXTw9MTkxJiYxMjg8PXRbciszXSYmdFtyKzNdPD0xOTEpe3IrPTQ7Y29udGludWV9cmV0dXJuITF9cmV0dXJuITB9LCJpc1V0ZjgiKSxLYmE9cyhhPT57bGV0IGU9L1teQS1aMC05K1wvPV0vaSx0PWEubGVuZ3RoO2lmKCF0fHx0JTQhPT0wfHxlLnRlc3QoYSkpcmV0dXJuITE7bGV0IHI9YS5pbmRleE9mKCI9Iik7cmV0dXJuIHI9PT0tMXx8cj09PXQtMXx8cj09PXQtMiYmYVt0LTFdPT09Ij0ifSwiaXNCYXNlNjQiKX0pO3ZhciBsWCx2MHQ9ZigoKT0+e2xYPWNsYXNze3N0YXRpY3tzKHRoaXMsIkRvbWFpbiIpfWNvbnN0cnVjdG9yKGUpe3RoaXMucHJvdG9jb2w9dGhpcy5fcHJvdG9jb2xSZWdleChlKSx0aGlzLnByb3RvY29sfHwoZT1gaHR0cHM6Ly8ke2V9YCksdGhpcy5ub2RlUGFyc2VkVXJsPW5ldyBVUkwoZSksdGhpcy5wb3J0PXRoaXMubm9kZVBhcnNlZFVybC5wb3J0O2xldCB0PXRoaXMuX2RvbWFpblJlZ2V4KGUucmVwbGFjZSh0aGlzLm5vZGVQYXJzZWRVcmwucGF0aG5hbWUsIiIpKTtbdGhpcy5sZXZlbDEsdGhpcy5sZXZlbDIsdGhpcy5sZXZlbDMsdGhpcy5sZXZlbDQsdGhpcy5sZXZlbDVdPXQsdGhpcy5mdWxsTmFtZT0iIjtmb3IobGV0IHIgb2YgdCl0aGlzLmZ1bGxOYW1lPT09IiI/dGhpcy5mdWxsTmFtZT1yOnRoaXMuZnVsbE5hbWU9cisiLiIrdGhpcy5mdWxsTmFtZTt0aGlzLnpvbmVOYW1lPVt0aGlzLmxldmVsMix0aGlzLmxldmVsMV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIi4iKSx0aGlzLnRvcExldmVsPXRoaXMubGV2ZWwxLHRoaXMuZG9tYWluTmFtZT10aGlzLmxldmVsMix0aGlzLnN1YkRvbWFpbj10aGlzLmxldmVsM31fZG9tYWluUmVnZXgoZSl7bGV0IHI9LyhbYS16QS1aMC05XC1cX10qKVwuezAsMX0oW2EtekEtWjAtOVwtXF9dKilcLnswLDF9KFthLXpBLVowLTlcLVxfXSopXC57MCwxfShbYS16QS1aMC05XC1cX10qKVwuezAsMX0oW2EtekEtWjAtOVwtXF9dKilcLnswLDF9JC8uZXhlYyhlKTtpZighcilyZXR1cm5bXTtsZXQgaT1bLi4ucl0ucmV2ZXJzZSgpO3JldHVybiBpLnBvcCgpLGkuZmlsdGVyKGZ1bmN0aW9uKG4pe3JldHVybiBuIT09IiJ9KX1fcHJvdG9jb2xSZWdleChlKXtsZXQgcj0vXihbYS16QS1aMC05XSopOlwvXC8vLmV4ZWMoZSk7aWYocilyZXR1cm4gclsxXX1fcG9ydFJlZ2V4KGUpe2xldCByPS9eKFthLXpBLVowLTldKik6XC9cLy8uZXhlYyhlKTtpZihyKXJldHVybiByWzFdfX19KTt2YXIgY1gsWmJhLHgwdCx5MHQ9ZigoKT0+e2NYPWNsYXNze3N0YXRpY3tzKHRoaXMsIkdpdFJlcG8iKX1jb25zdHJ1Y3RvcihlLHQpe2xldCByPVpiYShlKTtpZighcil0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZ2l0IHJlcG9zaXRvcnkgVVJMOiAke2V9YCk7dGhpcy5ob3N0PXJbMV0sdGhpcy51c2VyPXJbMl0sdGhpcy5yZXBvPXJbM10sdGhpcy5hY2Nlc3NUb2tlbj10LHRoaXMuc3NoVXJsPXgwdCh0aGlzLmhvc3QsdGhpcy51c2VyLHRoaXMucmVwbyx0aGlzLmFjY2Vzc1Rva2VuLCJzc2giKSx0aGlzLmh0dHBzVXJsPXgwdCh0aGlzLmhvc3QsdGhpcy51c2VyLHRoaXMucmVwbyx0aGlzLmFjY2Vzc1Rva2VuLCJodHRwcyIpfX0sWmJhPXMoZnVuY3Rpb24oYSl7cmV0dXJuLyhbYS16QS1aMC05XC1fXC5dKikoPzpcL3xcOikoW2EtekEtWjAtOVwtX1wuXSopKD86XC8pKFthLXpBLVowLTlcLV9cLl0qKSg/OlwuZ2l0KS8uZXhlYyhhKX0sImdpdFJlZ2V4IikseDB0PXMoZnVuY3Rpb24oYSxlLHQscj0iIixpKXtzd2l0Y2gociE9PSIiJiYocj1yKyJAIiksaSl7Y2FzZSJodHRwcyI6cmV0dXJuImh0dHBzOi8vIityK2ErIi8iK2UrIi8iK3QrIi5naXQiO2Nhc2Uic3NoIjpyZXR1cm4iZ2l0QCIrYSsiOiIrZSsiLyIrdCsiLmdpdCJ9fSwiZ2l0TGluayIpfSk7dmFyIGxzPXt9O3J0KGxzLHtCYXNlNjQ6KCk9Pm9YLERvbWFpbjooKT0+bFgsR2l0UmVwbzooKT0+Y1gsYmFzZTY0OigpPT5WaCxjcmVhdGU6KCk9PnJYLGRvY2tlcjooKT0+c1gsaW5kZW50OigpPT4kMyxub3JtYWxpemU6KCk9PmlYLHR5cGU6KCk9Pm5YfSk7dmFyIGpoPWYoKCk9PntwMHQoKTtmMHQoKTtoMHQoKTtnMHQoKTtiMHQoKTtYbGUoKTt2MHQoKTt5MHQoKX0pO3ZhciBRbGU9dm8oKEJMcix3MHQpPT57InVzZSBzdHJpY3QiO3cwdC5leHBvcnRzPWZ1bmN0aW9uKGEsZSl7ZXx8KGU9e30pLHR5cGVvZiBlPT0iZnVuY3Rpb24iJiYoZT17Y21wOmV9KTt2YXIgdD10eXBlb2YgZS5jeWNsZXM9PSJib29sZWFuIj9lLmN5Y2xlczohMSxyPWUuY21wJiYoZnVuY3Rpb24obyl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihsLGQpe3ZhciBjPXtrZXk6bCx2YWx1ZTpuW2xdfSxwPXtrZXk6ZCx2YWx1ZTpuW2RdfTtyZXR1cm4gbyhjLHApfX19KShlLmNtcCksaT1bXTtyZXR1cm4gcygoZnVuY3Rpb24gbyhuKXtpZihuJiZuLnRvSlNPTiYmdHlwZW9mIG4udG9KU09OPT0iZnVuY3Rpb24iJiYobj1uLnRvSlNPTigpKSxuIT09dm9pZCAwKXtpZih0eXBlb2Ygbj09Im51bWJlciIpcmV0dXJuIGlzRmluaXRlKG4pPyIiK246Im51bGwiO2lmKHR5cGVvZiBuIT0ib2JqZWN0IilyZXR1cm4gSlNPTi5zdHJpbmdpZnkobik7dmFyIGwsZDtpZihBcnJheS5pc0FycmF5KG4pKXtmb3IoZD0iWyIsbD0wO2w8bi5sZW5ndGg7bCsrKWwmJihkKz0iLCIpLGQrPW8obltsXSl8fCJudWxsIjtyZXR1cm4gZCsiXSJ9aWYobj09PW51bGwpcmV0dXJuIm51bGwiO2lmKGkuaW5kZXhPZihuKSE9PS0xKXtpZih0KXJldHVybiBKU09OLnN0cmluZ2lmeSgiX19jeWNsZV9fIik7dGhyb3cgbmV3IFR5cGVFcnJvcigiQ29udmVydGluZyBjaXJjdWxhciBzdHJ1Y3R1cmUgdG8gSlNPTiIpfXZhciBjPWkucHVzaChuKS0xLHA9T2JqZWN0LmtleXMobikuc29ydChyJiZyKG4pKTtmb3IoZD0iIixsPTA7bDxwLmxlbmd0aDtsKyspe3ZhciB1PXBbbF0sbT1vKG5bdV0pO20mJihkJiYoZCs9IiwiKSxkKz1KU09OLnN0cmluZ2lmeSh1KSsiOiIrbSl9cmV0dXJuIGkuc3BsaWNlKGMsMSksInsiK2QrIn0ifX0pLCJzdHJpbmdpZnkiKShhKX19KTt2YXIgTTB0LGRYLEpsZT1mKCgpPT57ajkoKTtqaCgpO00wdD1CaShRbGUoKSwxKSxkWD1NMHQuZGVmYXVsdH0pO2Z1bmN0aW9uIFFiYShhKXtsZXQgZT1rMHQoKTtyZXR1cm4gZT9lLmZyb20oYSkudG9TdHJpbmcoImJhc2U2NCIpOmJ0b2EoU3RyaW5nLmZyb21DaGFyQ29kZSguLi5hKSl9ZnVuY3Rpb24gSmJhKGEpe2xldCBlPWswdCgpO2lmKGUpe2xldCB0PWUuZnJvbShhLCJiYXNlNjQiKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkodC5idWZmZXIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCl9cmV0dXJuIG5ldyBVaW50OEFycmF5KEFycmF5LmZyb20oYXRvYihhKSkubWFwKHQ9PnQuY2hhckNvZGVBdCgwKSkpfWZ1bmN0aW9uIHRjZShhLGUpe3JldHVybiBKU09OLnN0cmluZ2lmeShhLHVYLGUpfWZ1bmN0aW9uIGFjZShhKXtyZXR1cm4gSlNPTi5wYXJzZShhLFMwdCl9ZnVuY3Rpb24gZXZhKGEpe3JldHVybiBDMHQoYSkmJmEudHlwZT09PSJFbmNvZGVkQnVmZmVyIiYmZWNlKGEuZGF0YSl9ZnVuY3Rpb24gdHZhKGEpe3JldHVybiBDMHQoYSkmJmEudHlwZT09PSJCdWZmZXIiJiYoejB0KGEuZGF0YSl8fGVjZShhLmRhdGEpKXx8YSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl9ZnVuY3Rpb24gejB0KGEpe3JldHVybiBBcnJheS5pc0FycmF5KGEpfWZ1bmN0aW9uIGVjZShhKXtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmcifWZ1bmN0aW9uIEMwdChhKXtyZXR1cm4gdHlwZW9mIGE9PSJvYmplY3QiJiZhIT09bnVsbH12YXIgazB0LHVYLFMwdCxfMHQ9ZigoKT0+e0psZSgpO2swdD1zKCgpPT5nbG9iYWxUaGlzLkJ1ZmZlciwiZ2V0Tm9kZUJ1ZmZlciIpO3MoUWJhLCJiYXNlNjRFbmNvZGUiKTtzKEpiYSwiYmFzZTY0RGVjb2RlIik7cyh0Y2UsInN0cmluZ2lmeSIpO3MoYWNlLCJwYXJzZSIpO3VYPXMoKGEsZSk9PntpZih0dmEoZSkpe2xldCB0O2lmKCJkYXRhImluIGUmJnowdChlLmRhdGEpKXQ9bmV3IFVpbnQ4QXJyYXkoZS5kYXRhKTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBVaW50OEFycmF5KXQ9ZTtlbHNlIHJldHVybiBlO3JldHVybnt0eXBlOiJFbmNvZGVkQnVmZmVyIixkYXRhOiJiYXNlNjQ6IitRYmEodCl9fXJldHVybiBlfSwicmVwbGFjZXIiKSxTMHQ9cygoYSxlKT0+e2lmKGV2YShlKSYmZWNlKGUuZGF0YSkmJmUuZGF0YS5zdGFydHNXaXRoKCJiYXNlNjQ6Iikpe2xldCB0PWUuZGF0YS5zbGljZSg3KTtyZXR1cm4gSmJhKHQpfXJldHVybiBlfSwicmV2aXZlciIpO3MoZXZhLCJpc0VuY29kZWRCdWZmZXIiKTtzKHR2YSwiaXNCdWZmZXJMaWtlIik7cyh6MHQsImlzQXJyYXkiKTtzKGVjZSwiaXNTdHJpbmciKTtzKEMwdCwiaXNPYmplY3QiKX0pO3ZhciBUcz17fTtydChUcyx7U21hcnRqc29uOigpPT5zY2UsZGVlcEVxdWFsSnNvbkxTdHJpbmdzOigpPT5jdmEsZGVlcEVxdWFsT2JqZWN0czooKT0+VDB0LGZvbGREZWM6KCk9Pmx2YSxwYXJzZTooKT0+cFgscGFyc2VCYXNlNjQ6KCk9Pm52YSxwYXJzZUpzb25MOigpPT5yY2Usc3RhYmxlT25lV2F5U3RyaW5naWZ5OigpPT5zdmEsc3RyaW5naWZ5OigpPT5EMyxzdHJpbmdpZnlCYXNlNjQ6KCk9Pm92YSxzdHJpbmdpZnlKc29uTDooKT0+cnZhLHN0cmluZ2lmeVByZXR0eTooKT0+aXZhfSk7dmFyIHBYLHJjZSxydmEsc3ZhLEQzLGl2YSxvdmEsbnZhLHNjZSxsdmEsVDB0LGN2YSxVaD1mKCgpPT57SmxlKCk7XzB0KCk7cFg9YWNlLHJjZT1zKGE9PmEuc3BsaXQoYApgKS5yZWR1Y2UoKHIsaSk9PntsZXQgbz1pLnRyaW0oKTtyZXR1cm4gby5sZW5ndGg+MCYmci5wdXNoKHBYKG8pKSxyfSxbXSksInBhcnNlSnNvbkwiKSxydmE9cyhhPT5hLm1hcChlPT5EMyhlKSkuam9pbihgCmApLCJzdHJpbmdpZnlKc29uTCIpLHN2YT1zKChhLGUsdD17fSk9PntsZXQgcj1uZXcgV2Vha1NldCxpPXMobD0+e2lmKGw9PT1udWxsfHx0eXBlb2YgbCE9Im9iamVjdCIpcmV0dXJuIGw7bGV0IGQ9dVgoIiIsbCk7aWYoZCYmZC50eXBlPT09IkVuY29kZWRCdWZmZXIiJiZ0eXBlb2YgZC5kYXRhPT0ic3RyaW5nIilyZXR1cm4gZDtpZihyLmhhcyhsKSlyZXR1cm4iX19jeWNsZV9fIjtpZihyLmFkZChsKSxBcnJheS5pc0FycmF5KGwpKXJldHVybiBsLm1hcChwPT5pKHApKTtsZXQgYz17fTtmb3IobGV0IHAgb2YgT2JqZWN0LmtleXMobCkpdHJ5e2NbcF09aShsW3BdKX1jYXRjaHtjW3BdPSJfX3Vuc2VyaWFsaXphYmxlX18ifXJldHVybiBjfSwic2FuaXRpemUiKSxvPWkoYSksbj17Li4udCxjeWNsZXM6ITB9O2lmKGUmJiFuLmNtcCl7bGV0IGw9bmV3IE1hcDtlLmZvckVhY2goKGQsYyk9Pmwuc2V0KGQsYykpLG4uY21wPShkLGMpPT57bGV0IHA9bC5oYXMoZC5rZXkpP2wuZ2V0KGQua2V5KTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksdT1sLmhhcyhjLmtleSk/bC5nZXQoYy5rZXkpOk51bWJlci5QT1NJVElWRV9JTkZJTklUWTtyZXR1cm4gcCE9PXU/cC11OmQua2V5PGMua2V5Py0xOmQua2V5PmMua2V5PzE6MH19cmV0dXJuIGRYKG8sbil9LCJzdGFibGVPbmVXYXlTdHJpbmdpZnkiKSxEMz1zKChhLGUsdD17fSk9PntsZXQgcj10Y2UoYSk7YT1KU09OLnBhcnNlKHIpO2xldCBpPXsuLi50fTtpZihlJiYhaS5jbXApe2xldCBuPW5ldyBNYXA7ZS5mb3JFYWNoKChsLGQpPT5uLnNldChsLGQpKSxpLmNtcD0obCxkKT0+e2xldCBjPW4uaGFzKGwua2V5KT9uLmdldChsLmtleSk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHA9bi5oYXMoZC5rZXkpP24uZ2V0KGQua2V5KTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7cmV0dXJuIGMhPT1wP2MtcDpsLmtleTxkLmtleT8tMTpsLmtleT5kLmtleT8xOjB9fXJldHVybiBkWChhLGkpfSwic3RyaW5naWZ5IiksaXZhPXMoYT0+e2xldCBlPUQzKGEpLHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCxudWxsLDIpfSwic3RyaW5naWZ5UHJldHR5Iiksb3ZhPXMoKC4uLmEpPT57bGV0IGU9RDMoLi4uYSk7cmV0dXJuIGxzLmJhc2U2NC5lbmNvZGVVcmkoZSl9LCJzdHJpbmdpZnlCYXNlNjQiKSxudmE9cyhhPT57bGV0IGU9bHMuYmFzZTY0LHI9KGUuZGVjb2RlVXJpfHxlLmRlY29kZSkoYSk7cmV0dXJuIHBYKHIpfSwicGFyc2VCYXNlNjQiKSxzY2U9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJTbWFydGpzb24iKX1zdGF0aWMgZW5mb2xkRnJvbU9iamVjdChlKXtsZXQgdD1uZXcgdGhpcyxyPXQuc2F2ZWFibGVQcm9wZXJ0aWVzfHxbXTtmb3IobGV0IGkgaW4gZSlyLmluZGV4T2YoaSkhPT0tMSYmKHRbaV09ZVtpXSk7cmV0dXJuIHR9c3RhdGljIGVuZm9sZEZyb21Kc29uKGUpe2xldCB0PXBYKGUpO3JldHVybiB0aGlzLmVuZm9sZEZyb21PYmplY3QodCl9c2F2ZWFibGVQcm9wZXJ0aWVzPVtdO2ZvbGRUb09iamVjdCgpe2xldCBlPW5ldyBTZXQ7cmV0dXJuIGUuYWRkKHRoaXMpLHRoaXMuZm9sZFRvT2JqZWN0SW50ZXJuYWwoZSl9Zm9sZFRvT2JqZWN0SW50ZXJuYWwoZSl7bGV0IHQ9e30scj1zKG89PntpZihvIGluc3RhbmNlb2YgYSl7aWYoZS5oYXMobykpdGhyb3cgbmV3IEVycm9yKCJjeWNsZSBkZXRlY3RlZCIpO3JldHVybiBlLmFkZChvKSxvLmZvbGRUb09iamVjdEludGVybmFsKGUpfXJldHVybiBBcnJheS5pc0FycmF5KG8pP28ubWFwKG49PnIobikpOnN0cnVjdHVyZWRDbG9uZShvKX0sImZvbGRWYWx1ZSIpLGk9dGhpcy5zYXZlYWJsZVByb3BlcnRpZXN8fFtdO2ZvcihsZXQgbyBvZiBpKXtsZXQgbj10aGlzW29dO3Rbb109cihuKX1yZXR1cm4gdH1mb2xkVG9Kc29uKCl7bGV0IGU9dGhpcy5mb2xkVG9PYmplY3QoKTtyZXR1cm4gRDMoZSl9fSxsdmE9cygoKT0+KGEsZSk9PntsZXQgdD1TdHJpbmcoZS5uYW1lKTtlLmFkZEluaXRpYWxpemVyKGZ1bmN0aW9uKCl7dGhpcy5zYXZlYWJsZVByb3BlcnRpZXN8fCh0aGlzLnNhdmVhYmxlUHJvcGVydGllcz1bXSksdGhpcy5zYXZlYWJsZVByb3BlcnRpZXMuaW5jbHVkZXModCl8fHRoaXMuc2F2ZWFibGVQcm9wZXJ0aWVzLnB1c2godCl9KX0sImZvbGREZWMiKSxUMHQ9cygoYSxlKT0+e2xldCB0PUQzKGEpLHI9RDMoZSk7cmV0dXJuIHQ9PT1yfSwiZGVlcEVxdWFsT2JqZWN0cyIpLGN2YT1zKChhLGUpPT57bGV0IHQ9cmNlKGEpLHI9cmNlKGUpO3JldHVybiBUMHQodCxyKX0sImRlZXBFcXVhbEpzb25MU3RyaW5ncyIpfSk7dmFyIEc5PXt9O3J0KEc5LHtkZWxldGVEQjooKT0+UjB0LG9wZW5EQjooKT0+TjB0LHVud3JhcDooKT0+Vzksd3JhcDooKT0+QzJ9KTtmdW5jdGlvbiBkdmEoKXtyZXR1cm4gTDB0fHwoTDB0PVtJREJEYXRhYmFzZSxJREJPYmplY3RTdG9yZSxJREJJbmRleCxJREJDdXJzb3IsSURCVHJhbnNhY3Rpb25dKX1mdW5jdGlvbiB1dmEoKXtyZXR1cm4gJDB0fHwoJDB0PVtJREJDdXJzb3IucHJvdG90eXBlLmFkdmFuY2UsSURCQ3Vyc29yLnByb3RvdHlwZS5jb250aW51ZSxJREJDdXJzb3IucHJvdG90eXBlLmNvbnRpbnVlUHJpbWFyeUtleV0pfWZ1bmN0aW9uIHB2YShhKXtsZXQgZT1uZXcgUHJvbWlzZSgodCxyKT0+e2xldCBpPXMoKCk9PnthLnJlbW92ZUV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLG8pLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4pfSwidW5saXN0ZW4iKSxvPXMoKCk9Pnt0KEMyKGEucmVzdWx0KSksaSgpfSwic3VjY2VzcyIpLG49cygoKT0+e3IoYS5lcnJvciksaSgpfSwiZXJyb3IiKTthLmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLG8pLGEuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4pfSk7cmV0dXJuIGZYLnNldChlLGEpLGV9ZnVuY3Rpb24gZnZhKGEpe2lmKG9jZS5oYXMoYSkpcmV0dXJuO2xldCBlPW5ldyBQcm9taXNlKCh0LHIpPT57bGV0IGk9cygoKT0+e2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY29tcGxldGUiLG8pLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4pLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLG4pfSwidW5saXN0ZW4iKSxvPXMoKCk9Pnt0KCksaSgpfSwiY29tcGxldGUiKSxuPXMoKCk9PntyKGEuZXJyb3J8fG5ldyBET01FeGNlcHRpb24oIkFib3J0RXJyb3IiLCJBYm9ydEVycm9yIikpLGkoKX0sImVycm9yIik7YS5hZGRFdmVudExpc3RlbmVyKCJjb21wbGV0ZSIsbyksYS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsbiksYS5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsbil9KTtvY2Uuc2V0KGEsZSl9ZnVuY3Rpb24gRDB0KGEpe2xjZT1hKGxjZSl9ZnVuY3Rpb24gaHZhKGEpe3JldHVybiB1dmEoKS5pbmNsdWRlcyhhKT9mdW5jdGlvbiguLi5lKXtyZXR1cm4gYS5hcHBseShXOSh0aGlzKSxlKSxDMih0aGlzLnJlcXVlc3QpfTpmdW5jdGlvbiguLi5lKXtyZXR1cm4gQzIoYS5hcHBseShXOSh0aGlzKSxlKSl9fWZ1bmN0aW9uIG12YShhKXtyZXR1cm4gdHlwZW9mIGE9PSJmdW5jdGlvbiI/aHZhKGEpOihhIGluc3RhbmNlb2YgSURCVHJhbnNhY3Rpb24mJmZ2YShhKSxpY2UoYSxkdmEoKSk/bmV3IFByb3h5KGEsbGNlKTphKX1mdW5jdGlvbiBDMihhKXtpZihhIGluc3RhbmNlb2YgSURCUmVxdWVzdClyZXR1cm4gcHZhKGEpO2lmKG5jZS5oYXMoYSkpcmV0dXJuIG5jZS5nZXQoYSk7bGV0IGU9bXZhKGEpO3JldHVybiBlIT09YSYmKG5jZS5zZXQoYSxlKSxmWC5zZXQoZSxhKSksZX1mdW5jdGlvbiBOMHQoYSxlLHtibG9ja2VkOnQsdXBncmFkZTpyLGJsb2NraW5nOmksdGVybWluYXRlZDpvfT17fSl7bGV0IG49aW5kZXhlZERCLm9wZW4oYSxlKSxsPUMyKG4pO3JldHVybiByJiZuLmFkZEV2ZW50TGlzdGVuZXIoInVwZ3JhZGVuZWVkZWQiLGQ9PntyKEMyKG4ucmVzdWx0KSxkLm9sZFZlcnNpb24sZC5uZXdWZXJzaW9uLEMyKG4udHJhbnNhY3Rpb24pLGQpfSksdCYmbi5hZGRFdmVudExpc3RlbmVyKCJibG9ja2VkIixkPT50KGQub2xkVmVyc2lvbixkLm5ld1ZlcnNpb24sZCkpLGwudGhlbihkPT57byYmZC5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsKCk9Pm8oKSksaSYmZC5hZGRFdmVudExpc3RlbmVyKCJ2ZXJzaW9uY2hhbmdlIixjPT5pKGMub2xkVmVyc2lvbixjLm5ld1ZlcnNpb24sYykpfSkuY2F0Y2goKCk9Pnt9KSxsfWZ1bmN0aW9uIFIwdChhLHtibG9ja2VkOmV9PXt9KXtsZXQgdD1pbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoYSk7cmV0dXJuIGUmJnQuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIscj0+ZShyLm9sZFZlcnNpb24scikpLEMyKHQpLnRoZW4oKCk9Pnt9KX1mdW5jdGlvbiBBMHQoYSxlKXtpZighKGEgaW5zdGFuY2VvZiBJREJEYXRhYmFzZSYmIShlIGluIGEpJiZ0eXBlb2YgZT09InN0cmluZyIpKXJldHVybjtpZihjY2UuZ2V0KGUpKXJldHVybiBjY2UuZ2V0KGUpO2xldCB0PWUucmVwbGFjZSgvRnJvbUluZGV4JC8sIiIpLHI9ZSE9PXQsaT1idmEuaW5jbHVkZXModCk7aWYoISh0IGluKHI/SURCSW5kZXg6SURCT2JqZWN0U3RvcmUpLnByb3RvdHlwZSl8fCEoaXx8Z3ZhLmluY2x1ZGVzKHQpKSlyZXR1cm47bGV0IG89cyhhc3luYyBmdW5jdGlvbihuLC4uLmwpe2xldCBkPXRoaXMudHJhbnNhY3Rpb24obixpPyJyZWFkd3JpdGUiOiJyZWFkb25seSIpLGM9ZC5zdG9yZTtyZXR1cm4gciYmKGM9Yy5pbmRleChsLnNoaWZ0KCkpKSwoYXdhaXQgUHJvbWlzZS5hbGwoW2NbdF0oLi4ubCksaSYmZC5kb25lXSkpWzBdfSwibWV0aG9kIik7cmV0dXJuIGNjZS5zZXQoZSxvKSxvfWFzeW5jIGZ1bmN0aW9uKnl2YSguLi5hKXtsZXQgZT10aGlzO2lmKGUgaW5zdGFuY2VvZiBJREJDdXJzb3J8fChlPWF3YWl0IGUub3BlbkN1cnNvciguLi5hKSksIWUpcmV0dXJuO2U9ZTtsZXQgdD1uZXcgUHJveHkoZSx4dmEpO2ZvcihQMHQuc2V0KHQsZSksZlguc2V0KHQsVzkoZSkpO2U7KXlpZWxkIHQsZT1hd2FpdChkY2UuZ2V0KHQpfHxlLmNvbnRpbnVlKCkpLGRjZS5kZWxldGUodCl9ZnVuY3Rpb24gSTB0KGEsZSl7cmV0dXJuIGU9PT1TeW1ib2wuYXN5bmNJdGVyYXRvciYmaWNlKGEsW0lEQkluZGV4LElEQk9iamVjdFN0b3JlLElEQkN1cnNvcl0pfHxlPT09Iml0ZXJhdGUiJiZpY2UoYSxbSURCSW5kZXgsSURCT2JqZWN0U3RvcmVdKX12YXIgaWNlLEwwdCwkMHQsb2NlLG5jZSxmWCxsY2UsVzksZ3ZhLGJ2YSxjY2UsdnZhLEUwdCxkY2UsUDB0LHh2YSxPMHQ9ZigoKT0+e2ljZT1zKChhLGUpPT5lLnNvbWUodD0+YSBpbnN0YW5jZW9mIHQpLCJpbnN0YW5jZU9mQW55Iik7cyhkdmEsImdldElkYlByb3h5YWJsZVR5cGVzIik7cyh1dmEsImdldEN1cnNvckFkdmFuY2VNZXRob2RzIik7b2NlPW5ldyBXZWFrTWFwLG5jZT1uZXcgV2Vha01hcCxmWD1uZXcgV2Vha01hcDtzKHB2YSwicHJvbWlzaWZ5UmVxdWVzdCIpO3MoZnZhLCJjYWNoZURvbmVQcm9taXNlRm9yVHJhbnNhY3Rpb24iKTtsY2U9e2dldChhLGUsdCl7aWYoYSBpbnN0YW5jZW9mIElEQlRyYW5zYWN0aW9uKXtpZihlPT09ImRvbmUiKXJldHVybiBvY2UuZ2V0KGEpO2lmKGU9PT0ic3RvcmUiKXJldHVybiB0Lm9iamVjdFN0b3JlTmFtZXNbMV0/dm9pZCAwOnQub2JqZWN0U3RvcmUodC5vYmplY3RTdG9yZU5hbWVzWzBdKX1yZXR1cm4gQzIoYVtlXSl9LHNldChhLGUsdCl7cmV0dXJuIGFbZV09dCwhMH0saGFzKGEsZSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBJREJUcmFuc2FjdGlvbiYmKGU9PT0iZG9uZSJ8fGU9PT0ic3RvcmUiKT8hMDplIGluIGF9fTtzKEQwdCwicmVwbGFjZVRyYXBzIik7cyhodmEsIndyYXBGdW5jdGlvbiIpO3MobXZhLCJ0cmFuc2Zvcm1DYWNoYWJsZVZhbHVlIik7cyhDMiwid3JhcCIpO1c5PXMoYT0+ZlguZ2V0KGEpLCJ1bndyYXAiKTtzKE4wdCwib3BlbkRCIik7cyhSMHQsImRlbGV0ZURCIik7Z3ZhPVsiZ2V0IiwiZ2V0S2V5IiwiZ2V0QWxsIiwiZ2V0QWxsS2V5cyIsImNvdW50Il0sYnZhPVsicHV0IiwiYWRkIiwiZGVsZXRlIiwiY2xlYXIiXSxjY2U9bmV3IE1hcDtzKEEwdCwiZ2V0TWV0aG9kIiksRDB0KGE9Pih7Li4uYSxnZXQ6cygoZSx0LHIpPT5BMHQoZSx0KXx8YS5nZXQoZSx0LHIpLCJnZXQiKSxoYXM6cygoZSx0KT0+ISFBMHQoZSx0KXx8YS5oYXMoZSx0KSwiaGFzIil9KSk7dnZhPVsiY29udGludWUiLCJjb250aW51ZVByaW1hcnlLZXkiLCJhZHZhbmNlIl0sRTB0PXt9LGRjZT1uZXcgV2Vha01hcCxQMHQ9bmV3IFdlYWtNYXAseHZhPXtnZXQoYSxlKXtpZighdnZhLmluY2x1ZGVzKGUpKXJldHVybiBhW2VdO2xldCB0PUUwdFtlXTtyZXR1cm4gdHx8KHQ9RTB0W2VdPWZ1bmN0aW9uKC4uLnIpe2RjZS5zZXQodGhpcyxQMHQuZ2V0KHRoaXMpW2VdKC4uLnIpKX0pLHR9fTtzKHl2YSwiaXRlcmF0ZSIpO3MoSTB0LCJpc0l0ZXJhdG9yUHJvcCIpLEQwdChhPT4oey4uLmEsZ2V0KGUsdCxyKXtyZXR1cm4gSTB0KGUsdCk/eXZhOmEuZ2V0KGUsdCxyKX0saGFzKGUsdCl7cmV0dXJuIEkwdChlLHQpfHxhLmhhcyhlLHQpfX0pKX0pO3ZhciB1Y2U9ZigoKT0+e0ZoKCk7ajkoKTtVaCgpO1pzKCk7bTIoKTttMygpO08wdCgpfSk7dmFyIFk5LHBjZT1mKCgpPT57dWNlKCk7WTk9Y2xhc3N7c3RhdGlje3ModGhpcywiV2ViU3RvcmUiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmluaXRDYWxsZWQ9ITEsdGhpcy5yZWFkeURlZmVycmVkPWV0LmRlZmVyKCksdGhpcy5vcHRpb25zPWV9YXN5bmMgaW5pdCgpe2lmKHRoaXMuaW5pdENhbGxlZCl7YXdhaXQgdGhpcy5yZWFkeURlZmVycmVkLnByb21pc2U7cmV0dXJufXRoaXMuaW5pdENhbGxlZD0hMDtsZXQgZT1uZXcgbzEuU21hcnRlbnY7aWYoIWUuaXNCcm93c2VyJiYhZ2xvYmFsVGhpcy5pbmRleGVkREImJihjb25zb2xlLmxvZygiaGV5IiksY29uc29sZS5sb2coZ2xvYmFsVGhpcy5pbmRleGVkREIpLGF3YWl0IGUuZ2V0U2FmZU5vZGVNb2R1bGUoImZha2UtaW5kZXhlZGRiL2F1dG8iKSwhZ2xvYmFsVGhpcy5pbmRleGVkREIpKXtsZXQgdD1hd2FpdCBlLmdldFNhZmVOb2RlTW9kdWxlKCJmYWtlLWluZGV4ZWRkYiIpO2dsb2JhbFRoaXMuaW5kZXhlZERCPW5ldyB0LklEQkZhY3Rvcnl9dGhpcy5kYj1hd2FpdCBHOS5vcGVuREIodGhpcy5vcHRpb25zLmRiTmFtZSwxLHt1cGdyYWRlOnModD0+e3QuY3JlYXRlT2JqZWN0U3RvcmUodGhpcy5vcHRpb25zLnN0b3JlTmFtZSl9LCJ1cGdyYWRlIil9KSx0aGlzLnJlYWR5RGVmZXJyZWQucmVzb2x2ZSgpfWFzeW5jIGdldChlKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5nZXQodGhpcy5vcHRpb25zLnN0b3JlTmFtZSxlKX1hc3luYyBjaGVjayhlKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksISFhd2FpdCB0aGlzLmdldChlKX1hc3luYyBzZXQoZSx0KXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5wdXQodGhpcy5vcHRpb25zLnN0b3JlTmFtZSx0LGUpfWFzeW5jIGRlbGV0ZShlKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5kZWxldGUodGhpcy5vcHRpb25zLnN0b3JlTmFtZSxlKX1hc3luYyBjbGVhcigpe3JldHVybiBhd2FpdCB0aGlzLmluaXQoKSx0aGlzLmRiLmNsZWFyKHRoaXMub3B0aW9ucy5zdG9yZU5hbWUpfWFzeW5jIGtleXMoKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5nZXRBbGxLZXlzKHRoaXMub3B0aW9ucy5zdG9yZU5hbWUpfX19KTt2YXIgZmNlLEIwdD1mKCgpPT57cGNlKCk7dWNlKCk7ZmNlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlR5cGVkcmVxdWVzdENhY2hlIil9Y29uc3RydWN0b3IoZT0iZGVmYXVsdCIpe3RoaXMud2Vic3RvcmU9bmV3IFk5KHtkYk5hbWU6InRyU3RvcmUiLHN0b3JlTmFtZTpgdHJTdG9yZS0ke2V9YH0pfWJ1aWxkS2V5KGUpe3JldHVybiBUcy5zdHJpbmdpZnkoe21ldGhvZDplLm1ldGhvZCxyZXF1ZXN0OmUucmVxdWVzdH0pfWFzeW5jIHNldEJ5UmVxdWVzdChlKXtpZighZS5yZXNwb25zZSl0aHJvdyBuZXcgRXJyb3IoIllvdSBjYW5ub3Qgc3RvcmUgcmVxdWVzdHMgd2l0aG91dCBhIHJlc3BvbnNlIHByZXNlbnQiKTthd2FpdCB0aGlzLndlYnN0b3JlLnNldCh0aGlzLmJ1aWxkS2V5KGUpLGUpfWFzeW5jIGdldEJ5UmVxdWVzdChlKXtyZXR1cm4gYXdhaXQgdGhpcy53ZWJzdG9yZS5nZXQodGhpcy5idWlsZEtleShlKSl9fX0pO3ZhciBuMT17fTtydChuMSx7VHlwZWRyZXF1ZXN0Q2FjaGU6KCk9PmZjZSxXZWJTdG9yZTooKT0+WTl9KTt2YXIgaFg9ZigoKT0+e0IwdCgpO3BjZSgpfSk7dmFyIEs5PWYoKCk9PntTbCgpO2o5KCk7VWgoKTtacygpO2hYKCl9KTt2YXIgV2gsZ1g9ZigoKT0+e0s5KCk7V2g9Y2xhc3N7c3RhdGlje3ModGhpcywiQ2FjaGVTdG9yZSIpfWNvbnN0cnVjdG9yKGU9IndlYnJlcXVlc3QtdjQiLHQ9ImNhY2hlIil7dGhpcy53ZWJzdG9yZT1uZXcgbjEuV2ViU3RvcmUoe2RiTmFtZTplLHN0b3JlTmFtZTp0fSksdGhpcy5pbml0UHJvbWlzZT10aGlzLmluaXQoKX1hc3luYyBpbml0KCl7fWdlbmVyYXRlQ2FjaGVLZXkoZSl7bGV0IHQ9ZS51cmwscj1lLm1ldGhvZDtyZXR1cm4gcj09PSJHRVQiP3Q6YCR7cn06JHt0fWB9YXN5bmMgc2V0KGUsdCl7YXdhaXQgdGhpcy5pbml0UHJvbWlzZSxhd2FpdCB0aGlzLndlYnN0b3JlLnNldChlLHQpfWFzeW5jIGdldChlKXthd2FpdCB0aGlzLmluaXRQcm9taXNlO3RyeXtyZXR1cm4gYXdhaXQgdGhpcy53ZWJzdG9yZS5nZXQoZSl8fG51bGx9Y2F0Y2h7cmV0dXJuIG51bGx9fWFzeW5jIGhhcyhlKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0UHJvbWlzZSxhd2FpdCB0aGlzLndlYnN0b3JlLmNoZWNrKGUpfWFzeW5jIGRlbGV0ZShlKXthd2FpdCB0aGlzLmluaXRQcm9taXNlLGF3YWl0IHRoaXMud2Vic3RvcmUuZGVsZXRlKGUpfWFzeW5jIGNsZWFyKCl7YXdhaXQgdGhpcy5pbml0UHJvbWlzZSxhd2FpdCB0aGlzLndlYnN0b3JlLmNsZWFyKCl9cmVzcG9uc2VGcm9tQ2FjaGVFbnRyeShlKXtsZXQgdD1uZXcgSGVhZGVycyhlLmhlYWRlcnMpO3JldHVybiBuZXcgUmVzcG9uc2UoZS5yZXNwb25zZSx7c3RhdHVzOmUuc3RhdHVzLHN0YXR1c1RleHQ6ZS5zdGF0dXNUZXh0LGhlYWRlcnM6dH0pfWFzeW5jIGNhY2hlRW50cnlGcm9tUmVzcG9uc2UoZSx0LHIpe2xldCBpPXQuY2xvbmUoKSxvPWF3YWl0IGkuYXJyYXlCdWZmZXIoKSxuPXt9O3JldHVybiBpLmhlYWRlcnMuZm9yRWFjaCgobCxkKT0+e25bZF09bH0pLHtyZXNwb25zZTpvLGhlYWRlcnM6bix0aW1lc3RhbXA6RGF0ZS5ub3coKSxldGFnOnI/LmV0YWd8fGkuaGVhZGVycy5nZXQoImV0YWciKXx8dm9pZCAwLGxhc3RNb2RpZmllZDpyPy5sYXN0TW9kaWZpZWR8fGkuaGVhZGVycy5nZXQoImxhc3QtbW9kaWZpZWQiKXx8dm9pZCAwLG1heEFnZTpyPy5tYXhBZ2UsdXJsOmUsc3RhdHVzOmkuc3RhdHVzLHN0YXR1c1RleHQ6aS5zdGF0dXNUZXh0fX1hc3luYyBwcnVuZUV4cGlyZWQoKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0UHJvbWlzZSwwfX19KTtmdW5jdGlvbiB3dmEoYSl7bGV0IGU9e21heEFnZTowLGltbXV0YWJsZTohMSxub0NhY2hlOiExLG5vU3RvcmU6ITEsbXVzdFJldmFsaWRhdGU6ITF9O2lmKCFhKXJldHVybiBlO2xldCB0PWEudG9Mb3dlckNhc2UoKS5zcGxpdCgiLCIpLm1hcChyPT5yLnRyaW0oKSk7Zm9yKGxldCByIG9mIHQpaWYocj09PSJuby1jYWNoZSIpZS5ub0NhY2hlPSEwO2Vsc2UgaWYocj09PSJuby1zdG9yZSIpZS5ub1N0b3JlPSEwO2Vsc2UgaWYocj09PSJpbW11dGFibGUiKWUuaW1tdXRhYmxlPSEwO2Vsc2UgaWYocj09PSJtdXN0LXJldmFsaWRhdGUiKWUubXVzdFJldmFsaWRhdGU9ITA7ZWxzZSBpZihyLnN0YXJ0c1dpdGgoIm1heC1hZ2U9Iikpe2xldCBpPXBhcnNlSW50KHIuc3BsaXQoIj0iKVsxXSwxMCk7aXNOYU4oaSl8fChlLm1heEFnZT1pKjFlMyl9cmV0dXJuIGV9ZnVuY3Rpb24gTXZhKGEpe2lmKGEpdHJ5e3JldHVybiBuZXcgRGF0ZShhKS5nZXRUaW1lKCl9Y2F0Y2h7cmV0dXJufX1mdW5jdGlvbiBfMihhKXtsZXQgZT1hLmdldCgiY2FjaGUtY29udHJvbCIpLHQ9YS5nZXQoImV4cGlyZXMiKSxyPWEuZ2V0KCJldGFnIiksaT1hLmdldCgibGFzdC1tb2RpZmllZCIpLG89d3ZhKGUpO2lmKG8ubWF4QWdlPT09MCYmdCl7bGV0IG49TXZhKHQpO24mJihvLm1heEFnZT1NYXRoLm1heCgwLG4tRGF0ZS5ub3coKSkpfXJldHVybnttYXhBZ2U6by5tYXhBZ2V8fDAsZXRhZzpyfHx2b2lkIDAsbGFzdE1vZGlmaWVkOml8fHZvaWQgMCxpbW11dGFibGU6by5pbW11dGFibGV8fCExLG5vQ2FjaGU6by5ub0NhY2hlfHwhMSxub1N0b3JlOm8ubm9TdG9yZXx8ITEsbXVzdFJldmFsaWRhdGU6by5tdXN0UmV2YWxpZGF0ZXx8ITF9fWZ1bmN0aW9uIFo5KGEsZSl7aWYoZS5ub1N0b3JlKXJldHVybiExO2lmKGUuaW1tdXRhYmxlKXJldHVybiEwO2xldCB0PURhdGUubm93KCktYS50aW1lc3RhbXAscj1hLm1heEFnZXx8ZS5tYXhBZ2V8fDA7cmV0dXJuIHI9PT0wPyExOnQ8cn1mdW5jdGlvbiBYOShhKXtyZXR1cm4gYS5ub0NhY2hlfHxhLm11c3RSZXZhbGlkYXRlfWZ1bmN0aW9uIGJYKGEpe2xldCBlPXt9O3JldHVybiBhLmV0YWcmJihlWyJpZi1ub25lLW1hdGNoIl09YS5ldGFnKSxhLmxhc3RNb2RpZmllZCYmKGVbImlmLW1vZGlmaWVkLXNpbmNlIl09YS5sYXN0TW9kaWZpZWQpLGV9ZnVuY3Rpb24gdlgoYSl7bGV0IGU9e307cmV0dXJuIGEuZm9yRWFjaCgodCxyKT0+e2Vbcl09dH0pLGV9ZnVuY3Rpb24gSDB0KGEpe2xldCBlPW5ldyBIZWFkZXJzO3JldHVybiBPYmplY3QuZW50cmllcyhhKS5mb3JFYWNoKChbdCxyXSk9PntlLnNldCh0LHIpfSksZX12YXIgeFg9ZigoKT0+e3Mod3ZhLCJwYXJzZUNhY2hlQ29udHJvbCIpO3MoTXZhLCJwYXJzZUV4cGlyZXMiKTtzKF8yLCJleHRyYWN0Q2FjaGVNZXRhZGF0YSIpO3MoWjksImlzRnJlc2giKTtzKFg5LCJyZXF1aXJlc1JldmFsaWRhdGlvbiIpO3MoYlgsImNyZWF0ZUNvbmRpdGlvbmFsSGVhZGVycyIpO3ModlgsImhlYWRlcnNUb09iamVjdCIpO3MoSDB0LCJvYmplY3RUb0hlYWRlcnMiKX0pO2Z1bmN0aW9uIHEwdChhKXtzd2l0Y2goYSl7Y2FzZSJuZXR3b3JrLWZpcnN0IjpyZXR1cm4gbmV3IHlYO2Nhc2UiY2FjaGUtZmlyc3QiOnJldHVybiBuZXcgaGNlO2Nhc2Uic3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSI6cmV0dXJuIG5ldyBtY2U7Y2FzZSJuZXR3b3JrLW9ubHkiOnJldHVybiBuZXcgZ2NlO2Nhc2UiY2FjaGUtb25seSI6cmV0dXJuIG5ldyBiY2U7ZGVmYXVsdDpyZXR1cm4gbmV3IHlYfX12YXIgeVgsaGNlLG1jZSxnY2UsYmNlLFYwdD1mKCgpPT57Z1goKTt4WCgpO3lYPWNsYXNze3N0YXRpY3tzKHRoaXMsIk5ldHdvcmtGaXJzdFN0cmF0ZWd5Iil9YXN5bmMgZXhlY3V0ZShlKXt0cnl7bGV0IHQ9YXdhaXQgZS5mZXRjaEZuKGUucmVxdWVzdCk7cmV0dXJuIHQub2smJmF3YWl0IHRoaXMuY2FjaGVSZXNwb25zZShlLHQpLHtyZXNwb25zZTp0LGZyb21DYWNoZTohMSxyZXZhbGlkYXRlZDohMX19Y2F0Y2godCl7ZS5sb2dnaW5nJiZjb25zb2xlLmxvZygiW3dlYnJlcXVlc3RdIE5ldHdvcmsgZmFpbGVkLCB0cnlpbmcgY2FjaGU6Iix0KTtsZXQgcj1hd2FpdCBlLmNhY2hlU3RvcmUuZ2V0KGUuY2FjaGVLZXkpO2lmKHIpcmV0dXJue3Jlc3BvbnNlOmUuY2FjaGVTdG9yZS5yZXNwb25zZUZyb21DYWNoZUVudHJ5KHIpLGZyb21DYWNoZTohMCxyZXZhbGlkYXRlZDohMX07dGhyb3cgdH19YXN5bmMgY2FjaGVSZXNwb25zZShlLHQpe2xldCByPV8yKHQuaGVhZGVycyk7aWYoci5ub1N0b3JlKXJldHVybjtsZXQgaT1hd2FpdCBlLmNhY2hlU3RvcmUuY2FjaGVFbnRyeUZyb21SZXNwb25zZShlLnJlcXVlc3QudXJsLHQscik7YXdhaXQgZS5jYWNoZVN0b3JlLnNldChlLmNhY2hlS2V5LGkpfX0saGNlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkNhY2hlRmlyc3RTdHJhdGVneSIpfWFzeW5jIGV4ZWN1dGUoZSl7bGV0IHQ9YXdhaXQgZS5jYWNoZVN0b3JlLmdldChlLmNhY2hlS2V5KTtpZih0KXtsZXQgbz1fMihuZXcgSGVhZGVycyh0LmhlYWRlcnMpKTtpZihaOSh0LG8pKXJldHVybiBlLmxvZ2dpbmcmJmNvbnNvbGUubG9nKCJbd2VicmVxdWVzdF0gQ2FjaGUgaGl0IChmcmVzaCk6IixlLnJlcXVlc3QudXJsKSx7cmVzcG9uc2U6ZS5jYWNoZVN0b3JlLnJlc3BvbnNlRnJvbUNhY2hlRW50cnkodCksZnJvbUNhY2hlOiEwLHJldmFsaWRhdGVkOiExfTtpZihYOShvKSYmKHQuZXRhZ3x8dC5sYXN0TW9kaWZpZWQpKXJldHVybiBhd2FpdCB0aGlzLnJldmFsaWRhdGUoZSx0KX1lLmxvZ2dpbmcmJmNvbnNvbGUubG9nKCJbd2VicmVxdWVzdF0gQ2FjaGUgbWlzcywgZmV0Y2hpbmc6IixlLnJlcXVlc3QudXJsKTtsZXQgcj1hd2FpdCBlLmZldGNoRm4oZS5yZXF1ZXN0KSxpPV8yKHIuaGVhZGVycyk7aWYoIWkubm9TdG9yZSl7bGV0IG89YXdhaXQgZS5jYWNoZVN0b3JlLmNhY2hlRW50cnlGcm9tUmVzcG9uc2UoZS5yZXF1ZXN0LnVybCxyLGkpO2F3YWl0IGUuY2FjaGVTdG9yZS5zZXQoZS5jYWNoZUtleSxvKX1yZXR1cm57cmVzcG9uc2U6cixmcm9tQ2FjaGU6ITEscmV2YWxpZGF0ZWQ6ITF9fWFzeW5jIHJldmFsaWRhdGUoZSx0KXtsZXQgcj1iWCh0KSxpPW5ldyBSZXF1ZXN0KGUucmVxdWVzdC51cmwse21ldGhvZDplLnJlcXVlc3QubWV0aG9kLGhlYWRlcnM6ey4uLnZYKGUucmVxdWVzdC5oZWFkZXJzKSwuLi5yfX0pO3RyeXtsZXQgbz1hd2FpdCBlLmZldGNoRm4oaSk7aWYoby5zdGF0dXM9PT0zMDQpcmV0dXJuIGUubG9nZ2luZyYmY29uc29sZS5sb2coIlt3ZWJyZXF1ZXN0XSBDYWNoZSByZXZhbGlkYXRlZCAoMzA0KToiLGUucmVxdWVzdC51cmwpLHQudGltZXN0YW1wPURhdGUubm93KCksYXdhaXQgZS5jYWNoZVN0b3JlLnNldChlLmNhY2hlS2V5LHQpLHtyZXNwb25zZTplLmNhY2hlU3RvcmUucmVzcG9uc2VGcm9tQ2FjaGVFbnRyeSh0KSxmcm9tQ2FjaGU6ITAscmV2YWxpZGF0ZWQ6ITB9O2lmKG8ub2spe2xldCBuPV8yKG8uaGVhZGVycyk7aWYoIW4ubm9TdG9yZSl7bGV0IGw9YXdhaXQgZS5jYWNoZVN0b3JlLmNhY2hlRW50cnlGcm9tUmVzcG9uc2UoZS5yZXF1ZXN0LnVybCxvLG4pO2F3YWl0IGUuY2FjaGVTdG9yZS5zZXQoZS5jYWNoZUtleSxsKX19cmV0dXJue3Jlc3BvbnNlOm8sZnJvbUNhY2hlOiExLHJldmFsaWRhdGVkOiEwfX1jYXRjaChvKXtyZXR1cm4gZS5sb2dnaW5nJiZjb25zb2xlLmxvZygiW3dlYnJlcXVlc3RdIFJldmFsaWRhdGlvbiBmYWlsZWQsIHVzaW5nIGNhY2hlOiIsbykse3Jlc3BvbnNlOmUuY2FjaGVTdG9yZS5yZXNwb25zZUZyb21DYWNoZUVudHJ5KHQpLGZyb21DYWNoZTohMCxyZXZhbGlkYXRlZDohMX19fX0sbWNlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlN0YWxlV2hpbGVSZXZhbGlkYXRlU3RyYXRlZ3kiKX1hc3luYyBleGVjdXRlKGUpe2xldCB0PWF3YWl0IGUuY2FjaGVTdG9yZS5nZXQoZS5jYWNoZUtleSk7aWYodCl7bGV0IG89ZS5jYWNoZVN0b3JlLnJlc3BvbnNlRnJvbUNhY2hlRW50cnkodCk7cmV0dXJuIHRoaXMucmV2YWxpZGF0ZUluQmFja2dyb3VuZChlLHQpLmNhdGNoKG49PntlLmxvZ2dpbmcmJmNvbnNvbGUud2FybigiW3dlYnJlcXVlc3RdIEJhY2tncm91bmQgcmV2YWxpZGF0aW9uIGZhaWxlZDoiLG4pfSkse3Jlc3BvbnNlOm8sZnJvbUNhY2hlOiEwLHJldmFsaWRhdGVkOiExfX1sZXQgcj1hd2FpdCBlLmZldGNoRm4oZS5yZXF1ZXN0KSxpPV8yKHIuaGVhZGVycyk7aWYoIWkubm9TdG9yZSYmci5vayl7bGV0IG89YXdhaXQgZS5jYWNoZVN0b3JlLmNhY2hlRW50cnlGcm9tUmVzcG9uc2UoZS5yZXF1ZXN0LnVybCxyLGkpO2F3YWl0IGUuY2FjaGVTdG9yZS5zZXQoZS5jYWNoZUtleSxvKX1yZXR1cm57cmVzcG9uc2U6cixmcm9tQ2FjaGU6ITEscmV2YWxpZGF0ZWQ6ITF9fWFzeW5jIHJldmFsaWRhdGVJbkJhY2tncm91bmQoZSx0KXtsZXQgcj1fMihuZXcgSGVhZGVycyh0LmhlYWRlcnMpKTtpZighKFo5KHQscikmJiFYOShyKSkpdHJ5e2xldCBpPWF3YWl0IGUuZmV0Y2hGbihlLnJlcXVlc3QpO2lmKGkub2spe2xldCBvPV8yKGkuaGVhZGVycyk7aWYoIW8ubm9TdG9yZSl7bGV0IG49YXdhaXQgZS5jYWNoZVN0b3JlLmNhY2hlRW50cnlGcm9tUmVzcG9uc2UoZS5yZXF1ZXN0LnVybCxpLG8pO2F3YWl0IGUuY2FjaGVTdG9yZS5zZXQoZS5jYWNoZUtleSxuKSxlLmxvZ2dpbmcmJmNvbnNvbGUubG9nKCJbd2VicmVxdWVzdF0gQmFja2dyb3VuZCByZXZhbGlkYXRpb24gY29tcGxldGU6IixlLnJlcXVlc3QudXJsKX19fWNhdGNoKGkpe2UubG9nZ2luZyYmY29uc29sZS53YXJuKCJbd2VicmVxdWVzdF0gQmFja2dyb3VuZCByZXZhbGlkYXRpb24gZmFpbGVkOiIsaSl9fX0sZ2NlPWNsYXNze3N0YXRpY3tzKHRoaXMsIk5ldHdvcmtPbmx5U3RyYXRlZ3kiKX1hc3luYyBleGVjdXRlKGUpe3JldHVybntyZXNwb25zZTphd2FpdCBlLmZldGNoRm4oZS5yZXF1ZXN0KSxmcm9tQ2FjaGU6ITEscmV2YWxpZGF0ZWQ6ITF9fX0sYmNlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkNhY2hlT25seVN0cmF0ZWd5Iil9YXN5bmMgZXhlY3V0ZShlKXtsZXQgdD1hd2FpdCBlLmNhY2hlU3RvcmUuZ2V0KGUuY2FjaGVLZXkpO2lmKCF0KXRocm93IG5ldyBFcnJvcihgQ2FjaGUgbWlzcyBmb3IgJHtlLnJlcXVlc3QudXJsfSAoY2FjaGUtb25seSBtb2RlKWApO3JldHVybntyZXNwb25zZTplLmNhY2hlU3RvcmUucmVzcG9uc2VGcm9tQ2FjaGVFbnRyeSh0KSxmcm9tQ2FjaGU6ITAscmV2YWxpZGF0ZWQ6ITF9fX07cyhxMHQsImdldFN0cmF0ZWd5SGFuZGxlciIpfSk7dmFyIEdoLHZjZT1mKCgpPT57Z1goKTtWMHQoKTt4WCgpO0doPWNsYXNze3N0YXRpY3tzKHRoaXMsIkNhY2hlTWFuYWdlciIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5jYWNoZVN0b3JlPW5ldyBXaChlLHQpfWFzeW5jIGV4ZWN1dGUoZSx0LHIpe2xldCBpPXRoaXMuZGV0ZXJtaW5lU3RyYXRlZ3koZSx0KTtpZihpPT09Im5ldHdvcmstb25seSIpcmV0dXJue3Jlc3BvbnNlOmF3YWl0IHIoZSksZnJvbUNhY2hlOiExLHJldmFsaWRhdGVkOiExfTtsZXQgbz10aGlzLmdlbmVyYXRlQ2FjaGVLZXkoZSx0KSxuPXEwdChpKSxsPXtyZXF1ZXN0OmUsY2FjaGVLZXk6byxjYWNoZVN0b3JlOnRoaXMuY2FjaGVTdG9yZSxmZXRjaEZuOnIsbG9nZ2luZzp0LmxvZ2dpbmd9O3JldHVybiBhd2FpdCBuLmV4ZWN1dGUobCl9ZGV0ZXJtaW5lU3RyYXRlZ3koZSx0KXtyZXR1cm4gdC5jYWNoZVN0cmF0ZWd5P3QuY2FjaGVTdHJhdGVneTp0LmNhY2hlP3RoaXMubWFwQ2FjaGVNb2RlVG9TdHJhdGVneSh0LmNhY2hlKTplLmNhY2hlP3RoaXMubWFwQ2FjaGVNb2RlVG9TdHJhdGVneShlLmNhY2hlKToibmV0d29yay1maXJzdCJ9bWFwQ2FjaGVNb2RlVG9TdHJhdGVneShlKXtzd2l0Y2goZSl7Y2FzZSJkZWZhdWx0IjpyZXR1cm4ibmV0d29yay1maXJzdCI7Y2FzZSJuby1zdG9yZSI6Y2FzZSJyZWxvYWQiOnJldHVybiJuZXR3b3JrLW9ubHkiO2Nhc2Uibm8tY2FjaGUiOnJldHVybiJuZXR3b3JrLWZpcnN0IjtjYXNlImZvcmNlLWNhY2hlIjpyZXR1cm4iY2FjaGUtZmlyc3QiO2Nhc2Uib25seS1pZi1jYWNoZWQiOnJldHVybiJjYWNoZS1vbmx5IjtkZWZhdWx0OnJldHVybiJuZXR3b3JrLWZpcnN0In19Z2VuZXJhdGVDYWNoZUtleShlLHQpe3JldHVybiB0LmNhY2hlS2V5P3R5cGVvZiB0LmNhY2hlS2V5PT0iZnVuY3Rpb24iP3QuY2FjaGVLZXkoZSk6dC5jYWNoZUtleTp0aGlzLmNhY2hlU3RvcmUuZ2VuZXJhdGVDYWNoZUtleShlKX1hc3luYyBjbGVhcigpe2F3YWl0IHRoaXMuY2FjaGVTdG9yZS5jbGVhcigpfWFzeW5jIGRlbGV0ZShlKXthd2FpdCB0aGlzLmNhY2hlU3RvcmUuZGVsZXRlKGUpfWFzeW5jIGhhcyhlKXtyZXR1cm4gYXdhaXQgdGhpcy5jYWNoZVN0b3JlLmhhcyhlKX1nZXRTdG9yZSgpe3JldHVybiB0aGlzLmNhY2hlU3RvcmV9fX0pO2Z1bmN0aW9uIGowdChhKXtzd2l0Y2goYSl7Y2FzZSJleHBvbmVudGlhbCI6cmV0dXJuIG5ldyB3WDtjYXNlImxpbmVhciI6cmV0dXJuIG5ldyB4Y2U7Y2FzZSJjb25zdGFudCI6cmV0dXJuIG5ldyB5Y2U7ZGVmYXVsdDpyZXR1cm4gbmV3IHdYfX1mdW5jdGlvbiBVMHQoYSxlPS4xKXtsZXQgdD1hKmUqTWF0aC5yYW5kb20oKTtyZXR1cm4gYSt0fXZhciB3WCx4Y2UseWNlLFcwdD1mKCgpPT57d1g9Y2xhc3N7c3RhdGlje3ModGhpcywiRXhwb25lbnRpYWxCYWNrb2ZmIil9Y2FsY3VsYXRlKGUsdCxyKXtsZXQgaT10Kk1hdGgucG93KDIsZS0xKTtyZXR1cm4gTWF0aC5taW4oaSxyKX19LHhjZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJMaW5lYXJCYWNrb2ZmIil9Y2FsY3VsYXRlKGUsdCxyKXtsZXQgaT10KmU7cmV0dXJuIE1hdGgubWluKGkscil9fSx5Y2U9Y2xhc3N7c3RhdGlje3ModGhpcywiQ29uc3RhbnRCYWNrb2ZmIil9Y2FsY3VsYXRlKGUsdCxyKXtyZXR1cm4gTWF0aC5taW4odCxyKX19O3MoajB0LCJnZXRCYWNrb2ZmQ2FsY3VsYXRvciIpO3MoVTB0LCJhZGRKaXR0ZXIiKX0pO3ZhciBZaCx3Y2U9ZigoKT0+e0s5KCk7VzB0KCk7WWg9Y2xhc3N7c3RhdGlje3ModGhpcywiUmV0cnlNYW5hZ2VyIil9Y29uc3RydWN0b3IoZT17fSl7dGhpcy5vcHRpb25zPXttYXhBdHRlbXB0czplLm1heEF0dGVtcHRzPz8zLGJhY2tvZmY6ZS5iYWNrb2ZmPz8iZXhwb25lbnRpYWwiLGluaXRpYWxEZWxheTplLmluaXRpYWxEZWxheT8/MWUzLG1heERlbGF5OmUubWF4RGVsYXk/PzNlNCxyZXRyeU9uOmUucmV0cnlPbj8/WzQwOCw0MjksNTAwLDUwMiw1MDMsNTA0XSxvblJldHJ5OmUub25SZXRyeT8/KCgpPT57fSl9fWFzeW5jIGV4ZWN1dGUoZSx0KXtsZXQgcixpO2ZvcihsZXQgbz0xO288PXRoaXMub3B0aW9ucy5tYXhBdHRlbXB0cztvKyspdHJ5e2xldCBuPWF3YWl0IGUoKTtpZihuIGluc3RhbmNlb2YgUmVzcG9uc2UmJnRoaXMuc2hvdWxkUmV0cnlSZXNwb25zZShuKSl7aWYoaT1uLG89PT10aGlzLm9wdGlvbnMubWF4QXR0ZW1wdHMpcmV0dXJuIG47bGV0IGw9dGhpcy5jYWxjdWxhdGVEZWxheShvKTt0aGlzLm9wdGlvbnMub25SZXRyeShvLG5ldyBFcnJvcihgSFRUUCAke24uc3RhdHVzfWApLGwpLGF3YWl0IHRoaXMuZGVsYXkobCk7Y29udGludWV9cmV0dXJuIG59Y2F0Y2gobil7cj1uIGluc3RhbmNlb2YgRXJyb3I/bjpuZXcgRXJyb3IoU3RyaW5nKG4pKTtsZXQgbD10P3QobixvKTp0aGlzLnNob3VsZFJldHJ5RXJyb3Iobik7aWYobz09PXRoaXMub3B0aW9ucy5tYXhBdHRlbXB0c3x8IWwpdGhyb3cgcjtsZXQgZD10aGlzLmNhbGN1bGF0ZURlbGF5KG8pO3RoaXMub3B0aW9ucy5vblJldHJ5KG8scixkKSxhd2FpdCB0aGlzLmRlbGF5KGQpfXRocm93IHJ8fG5ldyBFcnJvcigiTWF4IHJldHJ5IGF0dGVtcHRzIHJlYWNoZWQiKX1hc3luYyBleGVjdXRlV2l0aEZhbGxiYWNrcyhlLHQscil7aWYoZS5sZW5ndGg9PT0wKXRocm93IG5ldyBFcnJvcigiTm8gVVJMcyBwcm92aWRlZCBmb3IgZmFsbGJhY2sgZXhlY3V0aW9uIik7bGV0IGksbz1bXTtmb3IobGV0IG4gb2YgZSl0cnl7bGV0IGw9YXdhaXQgdGhpcy5leGVjdXRlKGFzeW5jKCk9PmF3YWl0IHIobix0KSk7aWYobC5zdGF0dXM8NDAwfHxsLnN0YXR1cz49NDAwJiZsLnN0YXR1czw1MDAmJmwuc3RhdHVzIT09NDA4KXJldHVybiBsO28ucHVzaChuKSxpPW5ldyBFcnJvcihgUmVxdWVzdCBmYWlsZWQgd2l0aCBzdGF0dXMgJHtsLnN0YXR1c31gKX1jYXRjaChsKXtvLnB1c2gobiksaT1sIGluc3RhbmNlb2YgRXJyb3I/bDpuZXcgRXJyb3IoU3RyaW5nKGwpKX10aHJvdyBuZXcgRXJyb3IoYEFsbCBVUkxzIGZhaWxlZDogJHtvLmpvaW4oIiwgIil9LiBMYXN0IGVycm9yOiAke2k/Lm1lc3NhZ2V8fCJVbmtub3duIGVycm9yIn1gKX1zaG91bGRSZXRyeVJlc3BvbnNlKGUpe2xldCB0PXRoaXMub3B0aW9ucy5yZXRyeU9uO3JldHVybiB0eXBlb2YgdD09ImZ1bmN0aW9uIj90KGUpOkFycmF5LmlzQXJyYXkodCk/dC5pbmNsdWRlcyhlLnN0YXR1cyk6ITF9c2hvdWxkUmV0cnlFcnJvcihlKXtpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yJiZlLm1lc3NhZ2UuaW5jbHVkZXMoImZldGNoIil8fGUubmFtZT09PSJBYm9ydEVycm9yInx8ZS5tZXNzYWdlLmluY2x1ZGVzKCJ0aW1lb3V0IikpcmV0dXJuITA7bGV0IHQ9dGhpcy5vcHRpb25zLnJldHJ5T247cmV0dXJuIHR5cGVvZiB0PT0iZnVuY3Rpb24iP3Qodm9pZCAwLGUpOiExfWNhbGN1bGF0ZURlbGF5KGUpe2xldCByPWowdCh0aGlzLm9wdGlvbnMuYmFja29mZikuY2FsY3VsYXRlKGUsdGhpcy5vcHRpb25zLmluaXRpYWxEZWxheSx0aGlzLm9wdGlvbnMubWF4RGVsYXkpO3JldHVybiBVMHQocil9YXN5bmMgZGVsYXkoZSl7YXdhaXQgUHQuZGVsYXlGb3IoZSl9fX0pO3ZhciBLaCxNY2U9ZigoKT0+e0s5KCk7S2g9Y2xhc3N7c3RhdGlje3ModGhpcywiUmVxdWVzdERlZHVwbGljYXRvciIpfWNvbnN0cnVjdG9yKCl7dGhpcy5pbkZsaWdodFJlcXVlc3RzPW5ldyBNYXB9Z2VuZXJhdGVLZXkoZSl7bGV0IHQ9ZS51cmwscj1lLm1ldGhvZDtyZXR1cm4gcj09PSJHRVQifHxyPT09IkhFQUQiP2Ake3J9OiR7dH1gOmAke3J9OiR7dH06JHtEYXRlLm5vdygpfWB9YXN5bmMgZXhlY3V0ZShlLHQpe2xldCByPXRoaXMuaW5GbGlnaHRSZXF1ZXN0cy5nZXQoZSk7aWYocilyZXR1cm57cmVzcG9uc2U6KGF3YWl0IHIucHJvbWlzZSkuY2xvbmUoKSx3YXNEZWR1cGxpY2F0ZWQ6ITB9O2xldCBpPWV0LmRlZmVyKCk7dGhpcy5pbkZsaWdodFJlcXVlc3RzLnNldChlLGkpO3RyeXtsZXQgbz1hd2FpdCB0KCk7cmV0dXJuIGkucmVzb2x2ZShvKSx0aGlzLmluRmxpZ2h0UmVxdWVzdHMuZGVsZXRlKGUpLHtyZXNwb25zZTpvLHdhc0RlZHVwbGljYXRlZDohMX19Y2F0Y2gobyl7dGhyb3cgaS5yZWplY3QobyksdGhpcy5pbkZsaWdodFJlcXVlc3RzLmRlbGV0ZShlKSxvfX1pc0luRmxpZ2h0KGUpe3JldHVybiB0aGlzLmluRmxpZ2h0UmVxdWVzdHMuaGFzKGUpfWdldEluRmxpZ2h0Q291bnQoKXtyZXR1cm4gdGhpcy5pbkZsaWdodFJlcXVlc3RzLnNpemV9Y2xlYXIoKXt0aGlzLmluRmxpZ2h0UmVxdWVzdHMuY2xlYXIoKX19fSk7ZnVuY3Rpb24ga3ZhKGEpe2xldCBlPW5ldyBBYm9ydENvbnRyb2xsZXIsdD1uZXcgUHQuVGltZW91dChhLG51bGwpO3JldHVybiB0LnByb21pc2UudGhlbigoKT0+e2UuYWJvcnQoKX0pLHtjb250cm9sbGVyOmUsY2xlYW51cDpzKCgpPT57dC5jYW5jZWwoKX0sImNsZWFudXAiKX19YXN5bmMgZnVuY3Rpb24ga2NlKGEsZSx0KXtsZXR7Y29udHJvbGxlcjpyLGNsZWFudXA6aX09a3ZhKHQpO3RyeXtsZXQgbz1hd2FpdCBmZXRjaChhLHsuLi5lLHNpZ25hbDpyLnNpZ25hbH0pO3JldHVybiBpKCksb31jYXRjaChvKXt0aHJvdyBpKCksbyBpbnN0YW5jZW9mIEVycm9yJiZvLm5hbWU9PT0iQWJvcnRFcnJvciI/bmV3IEVycm9yKGBSZXF1ZXN0IHRpbWVvdXQgYWZ0ZXIgJHt0fW1zOiAke2F9YCk6b319dmFyIEcwdD1mKCgpPT57SzkoKTtzKGt2YSwiY3JlYXRlVGltZW91dENvbnRyb2xsZXIiKTtzKGtjZSwiZmV0Y2hXaXRoVGltZW91dCIpfSk7dmFyIEEzLFNjZT1mKCgpPT57VWxlKCk7dmNlKCk7d2NlKCk7TWNlKCk7RzB0KCk7QTM9Y2xhc3N7c3RhdGlje3ModGhpcywiV2VicmVxdWVzdENsaWVudCIpfWNvbnN0cnVjdG9yKGU9e30pe3RoaXMuZGVmYXVsdE9wdGlvbnM9ZSx0aGlzLmludGVyY2VwdG9yTWFuYWdlcj1uZXcgcWgsdGhpcy5jYWNoZU1hbmFnZXI9bmV3IEdoLHRoaXMuZGVkdXBsaWNhdG9yPW5ldyBLaH1hZGRSZXF1ZXN0SW50ZXJjZXB0b3IoZSl7dGhpcy5pbnRlcmNlcHRvck1hbmFnZXIuYWRkUmVxdWVzdEludGVyY2VwdG9yKGUpfWFkZFJlc3BvbnNlSW50ZXJjZXB0b3IoZSl7dGhpcy5pbnRlcmNlcHRvck1hbmFnZXIuYWRkUmVzcG9uc2VJbnRlcmNlcHRvcihlKX1hZGRFcnJvckludGVyY2VwdG9yKGUpe3RoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLmFkZEVycm9ySW50ZXJjZXB0b3IoZSl9cmVtb3ZlUmVxdWVzdEludGVyY2VwdG9yKGUpe3RoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLnJlbW92ZVJlcXVlc3RJbnRlcmNlcHRvcihlKX1yZW1vdmVSZXNwb25zZUludGVyY2VwdG9yKGUpe3RoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLnJlbW92ZVJlc3BvbnNlSW50ZXJjZXB0b3IoZSl9cmVtb3ZlRXJyb3JJbnRlcmNlcHRvcihlKXt0aGlzLmludGVyY2VwdG9yTWFuYWdlci5yZW1vdmVFcnJvckludGVyY2VwdG9yKGUpfWNsZWFySW50ZXJjZXB0b3JzKCl7dGhpcy5pbnRlcmNlcHRvck1hbmFnZXIuY2xlYXJBbGwoKX1hc3luYyBjbGVhckNhY2hlKCl7YXdhaXQgdGhpcy5jYWNoZU1hbmFnZXIuY2xlYXIoKX1hc3luYyByZXF1ZXN0KGUsdD17fSl7bGV0IHI9ey4uLnRoaXMuZGVmYXVsdE9wdGlvbnMsLi4udH0saTtpZih0eXBlb2YgZT09InN0cmluZyI/aT1uZXcgUmVxdWVzdChlLHIpOmk9ZSxpPWF3YWl0IHRoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3NSZXF1ZXN0KGkpLHIuaW50ZXJjZXB0b3JzPy5yZXF1ZXN0KWZvcihsZXQgbiBvZiByLmludGVyY2VwdG9ycy5yZXF1ZXN0KWk9YXdhaXQgbihpKTtpZihyLmRlZHVwbGljYXRlPz8hMSl7bGV0IG49dGhpcy5kZWR1cGxpY2F0b3IuZ2VuZXJhdGVLZXkoaSk7cmV0dXJuKGF3YWl0IHRoaXMuZGVkdXBsaWNhdG9yLmV4ZWN1dGUobixhc3luYygpPT5hd2FpdCB0aGlzLmV4ZWN1dGVSZXF1ZXN0KGkscikpKS5yZXNwb25zZX1yZXR1cm4gYXdhaXQgdGhpcy5leGVjdXRlUmVxdWVzdChpLHIpfWFzeW5jIGV4ZWN1dGVSZXF1ZXN0KGUsdCl7dHJ5e2xldCByPXR5cGVvZiB0LnJldHJ5PT0ib2JqZWN0Ij90LnJldHJ5OnQucmV0cnk/e306dm9pZCAwLGk9cyhhc3luYyBsPT57bGV0IGQ9dC50aW1lb3V0Pz82ZTQ7cmV0dXJuIGF3YWl0IGtjZShsLnVybCx7bWV0aG9kOmwubWV0aG9kLGhlYWRlcnM6bC5oZWFkZXJzLGJvZHk6bC5ib2R5LC4uLnR9LGQpfSwiZmV0Y2hGbkZvclJlcXVlc3QiKSxvPXMoYXN5bmMobCxkKT0+e2xldCBjPXQudGltZW91dD8/NmU0O3JldHVybiBhd2FpdCBrY2UobCxkLGMpfSwiZmV0Y2hGbkZvckZhbGxiYWNrcyIpLG47aWYocil7bGV0IGw9bmV3IFloKHIpO2lmKHQuZmFsbGJhY2tVcmxzJiZ0LmZhbGxiYWNrVXJscy5sZW5ndGg+MCl7bGV0IGQ9W2UudXJsLC4uLnQuZmFsbGJhY2tVcmxzXTtuPWF3YWl0IGwuZXhlY3V0ZVdpdGhGYWxsYmFja3MoZCx7bWV0aG9kOmUubWV0aG9kLGhlYWRlcnM6ZS5oZWFkZXJzLGJvZHk6ZS5ib2R5LC4uLnR9LG8pfWVsc2Ugbj1hd2FpdCBsLmV4ZWN1dGUoYXN5bmMoKT0+KGF3YWl0IHRoaXMuY2FjaGVNYW5hZ2VyLmV4ZWN1dGUoZSx0LGkpKS5yZXNwb25zZSl9ZWxzZSBuPShhd2FpdCB0aGlzLmNhY2hlTWFuYWdlci5leGVjdXRlKGUsdCxpKSkucmVzcG9uc2U7aWYobj1hd2FpdCB0aGlzLmludGVyY2VwdG9yTWFuYWdlci5wcm9jZXNzUmVzcG9uc2UobiksdC5pbnRlcmNlcHRvcnM/LnJlc3BvbnNlKWZvcihsZXQgbCBvZiB0LmludGVyY2VwdG9ycy5yZXNwb25zZSluPWF3YWl0IGwobik7cmV0dXJuIG59Y2F0Y2gocil7dGhyb3cgYXdhaXQgdGhpcy5pbnRlcmNlcHRvck1hbmFnZXIucHJvY2Vzc0Vycm9yKHIgaW5zdGFuY2VvZiBFcnJvcj9yOm5ldyBFcnJvcihTdHJpbmcocikpKX19YXN5bmMgZ2V0SnNvbihlLHQ9e30pe2xldCByPWF3YWl0IHRoaXMucmVxdWVzdChlLHsuLi50LG1ldGhvZDoiR0VUIixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24iLC4uLnQuaGVhZGVyc3x8e319fSk7aWYoIXIub2spdGhyb3cgbmV3IEVycm9yKGBIVFRQICR7ci5zdGF0dXN9OiAke3Iuc3RhdHVzVGV4dH1gKTtyZXR1cm4gYXdhaXQgci5qc29uKCl9YXN5bmMgcG9zdEpzb24oZSx0LHI9e30pe2xldCBpPWF3YWl0IHRoaXMucmVxdWVzdChlLHsuLi5yLG1ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24iLEFjY2VwdDoiYXBwbGljYXRpb24vanNvbiIsLi4uci5oZWFkZXJzfHx7fX0sYm9keTpKU09OLnN0cmluZ2lmeSh0KX0pO2lmKCFpLm9rKXRocm93IG5ldyBFcnJvcihgSFRUUCAke2kuc3RhdHVzfTogJHtpLnN0YXR1c1RleHR9YCk7cmV0dXJuIGF3YWl0IGkuanNvbigpfWFzeW5jIHB1dEpzb24oZSx0LHI9e30pe2xldCBpPWF3YWl0IHRoaXMucmVxdWVzdChlLHsuLi5yLG1ldGhvZDoiUFVUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiIsQWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIiwuLi5yLmhlYWRlcnN8fHt9fSxib2R5OkpTT04uc3RyaW5naWZ5KHQpfSk7aWYoIWkub2spdGhyb3cgbmV3IEVycm9yKGBIVFRQICR7aS5zdGF0dXN9OiAke2kuc3RhdHVzVGV4dH1gKTtyZXR1cm4gYXdhaXQgaS5qc29uKCl9YXN5bmMgZGVsZXRlSnNvbihlLHQ9e30pe2xldCByPWF3YWl0IHRoaXMucmVxdWVzdChlLHsuLi50LG1ldGhvZDoiREVMRVRFIixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24iLC4uLnQuaGVhZGVyc3x8e319fSk7aWYoIXIub2spdGhyb3cgbmV3IEVycm9yKGBIVFRQICR7ci5zdGF0dXN9OiAke3Iuc3RhdHVzVGV4dH1gKTtyZXR1cm4gYXdhaXQgci5qc29uKCl9fX0pO2FzeW5jIGZ1bmN0aW9uIFZvKGEsZSl7bGV0IHQ9YSBpbnN0YW5jZW9mIFJlcXVlc3Q/YS51cmw6U3RyaW5nKGEpLHI9YSBpbnN0YW5jZW9mIFJlcXVlc3Q/YTpuZXcgUmVxdWVzdCh0LGUpO3JldHVybiBhd2FpdCBsMS5yZXF1ZXN0KHIsZSl9dmFyIGwxLFkwdD1mKCgpPT57U2NlKCk7bDE9bmV3IEEzO3MoVm8sIndlYnJlcXVlc3QiKSxWby5nZXRKc29uPWFzeW5jIGZ1bmN0aW9uKGEsZSl7cmV0dXJuIGF3YWl0IGwxLmdldEpzb24oYSxlKX0sVm8ucG9zdEpzb249YXN5bmMgZnVuY3Rpb24oYSxlLHQpe3JldHVybiBhd2FpdCBsMS5wb3N0SnNvbihhLGUsdCl9LFZvLnB1dEpzb249YXN5bmMgZnVuY3Rpb24oYSxlLHQpe3JldHVybiBhd2FpdCBsMS5wdXRKc29uKGEsZSx0KX0sVm8uZGVsZXRlSnNvbj1hc3luYyBmdW5jdGlvbihhLGUpe3JldHVybiBhd2FpdCBsMS5kZWxldGVKc29uKGEsZSl9LFZvLmFkZFJlcXVlc3RJbnRlcmNlcHRvcj1mdW5jdGlvbihhKXtsMS5hZGRSZXF1ZXN0SW50ZXJjZXB0b3IoYSl9LFZvLmFkZFJlc3BvbnNlSW50ZXJjZXB0b3I9ZnVuY3Rpb24oYSl7bDEuYWRkUmVzcG9uc2VJbnRlcmNlcHRvcihhKX0sVm8uYWRkRXJyb3JJbnRlcmNlcHRvcj1mdW5jdGlvbihhKXtsMS5hZGRFcnJvckludGVyY2VwdG9yKGEpfSxWby5jbGVhckludGVyY2VwdG9ycz1mdW5jdGlvbigpe2wxLmNsZWFySW50ZXJjZXB0b3JzKCl9LFZvLmNsZWFyQ2FjaGU9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBsMS5jbGVhckNhY2hlKCl9LFZvLmNyZWF0ZUNsaWVudD1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IEEzKGEpfSxWby5nZXREZWZhdWx0Q2xpZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGwxfX0pO3ZhciBjMT17fTtydChjMSx7Q2FjaGVNYW5hZ2VyOigpPT5HaCxDYWNoZVN0b3JlOigpPT5XaCxJbnRlcmNlcHRvck1hbmFnZXI6KCk9PnFoLFJlcXVlc3REZWR1cGxpY2F0b3I6KCk9PktoLFJldHJ5TWFuYWdlcjooKT0+WWgsV2VicmVxdWVzdENsaWVudDooKT0+QTMsY3JlYXRlQ29uZGl0aW9uYWxIZWFkZXJzOigpPT5iWCxleHRyYWN0Q2FjaGVNZXRhZGF0YTooKT0+XzIsaGVhZGVyc1RvT2JqZWN0OigpPT52WCxpc0ZyZXNoOigpPT5aOSxvYmplY3RUb0hlYWRlcnM6KCk9PkgwdCxyZXF1aXJlc1JldmFsaWRhdGlvbjooKT0+WDksd2VicmVxdWVzdDooKT0+Vm99KTt2YXIgTVg9ZigoKT0+e1kwdCgpO1NjZSgpO3ZjZSgpO2dYKCk7d2NlKCk7VWxlKCk7TWNlKCk7eFgoKX0pO3ZhciBDMCxfMD1mKCgpPT57bTMoKTtDMD1CaShVNygpLDEpO0ZoKCk7SGxlKCk7U2woKTtqbGUoKTtacygpO01YKCl9KTt2YXIgZDEsWmg9ZigoKT0+e18wKCk7ZDE9Y2xhc3N7c3RhdGlje3ModGhpcywiVHlwZWRSZXNwb25zZUVycm9yIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLmVycm9yVGV4dD1lLHRoaXMuZXJyb3JEYXRhPXR9fX0pO3ZhciBTWCxLMHQ9ZigoKT0+e1poKCk7XzAoKTtTWD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJUeXBlZFRvb2xzIil9Y29uc3RydWN0b3IoKXt0aGlzLmxvY2FsRGF0YT17fX1hc3luYyBwYXNzR3VhcmRzKGUsdCl7bGV0IHI9bmV3IEFsLkd1YXJkU2V0KGUpO2lmKCFhd2FpdCByLmFsbEd1YXJkc1Bhc3ModCkpe2xldCBvPWF3YWl0IHIuZ2V0RmFpbGVkSGludCh0KTt0aHJvdyBuZXcgZDEoYGd1YXJkIGZhaWxlZDogJHtvfWAse2ZhaWxlZEhpbnQ6b30pfX19fSk7dmFyIHpjZSxDY2U9ZigoKT0+e18wKCk7WmgoKTtLMHQoKTt6Y2U9Y2xhc3N7c3RhdGlje3ModGhpcywiVHlwZWRIYW5kbGVyIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLm1ldGhvZD1lLHRoaXMuaGFuZGxlckZ1bmN0aW9uPXR9YXN5bmMgYWRkUmVzcG9uc2UoZSl7aWYoZS5tZXRob2QhPT10aGlzLm1ldGhvZCl0aHJvdyBuZXcgRXJyb3IoInRoaXMgaGFuZGxlciBoYXMgYmVlbiBnaXZlbiBhIHdyb25nIG1ldGhvZCB0byBhbnN3ZXIgdG8uIFBsZWFzZSB1c2UgYSBUeXBlZFJvdXRlciB0byBmaWx0ZXIgcmVxdWVzdHMiKTtsZXQgdCxyPW5ldyBTWDtlLmxvY2FsRGF0YSYmKHIubG9jYWxEYXRhPWUubG9jYWxEYXRhKTtsZXQgaT1hd2FpdCB0aGlzLmhhbmRsZXJGdW5jdGlvbihlLnJlcXVlc3QscikuY2F0Y2gobz0+e28gaW5zdGFuY2VvZiBkMT90PW86Y29uc29sZS5sb2cobyl9KTtyZXR1cm4gdCYmKGUuZXJyb3I9e3RleHQ6dC5lcnJvclRleHQsZGF0YTp0LmVycm9yRGF0YX0pLGkmJihlLnJlc3BvbnNlPWkpLGU/LmNvcnJlbGF0aW9uPy5waGFzZSYmKGUuY29ycmVsYXRpb24ucGhhc2U9InJlc3BvbnNlIiksZX19fSk7dmFyIEUzLFE5PWYoKCk9PntfMCgpO3pYKCk7Q2NlKCk7X2NlKCk7WmgoKTtFMz1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIlR5cGVkUm91dGVyIil9Y29uc3RydWN0b3IoKXt0aGlzLmhvb2tzPXt9LHRoaXMucm91dGVyTWFwPW5ldyBHYS5PYmplY3RNYXAsdGhpcy5oYW5kbGVyTWFwPW5ldyBHYS5PYmplY3RNYXAsdGhpcy5yZWdpc3RlcmVkVmlydHVhbFN0cmVhbXM9bmV3IEdhLk9iamVjdE1hcCx0aGlzLm1pZGRsZXdhcmVzPVtdLHRoaXMuZmlyZUV2ZW50SW50ZXJlc3RNYXA9bmV3IEdhLkludGVyZXN0TWFwKGU9PmUpfXN0YXRpYyBnZXQgZ2xvYmFsSG9va3MoKXtyZXR1cm4gZ2xvYmFsVGhpcy5fX3R5cGVkUm91dGVyR2xvYmFsSG9va3N8fChnbG9iYWxUaGlzLl9fdHlwZWRSb3V0ZXJHbG9iYWxIb29rcz17fSksZ2xvYmFsVGhpcy5fX3R5cGVkUm91dGVyR2xvYmFsSG9va3N9c3RhdGljIHNldCBnbG9iYWxIb29rcyhlKXtnbG9iYWxUaGlzLl9fdHlwZWRSb3V0ZXJHbG9iYWxIb29rcz1lfXN0YXRpYyBzZXRHbG9iYWxIb29rcyhlKXtsZXQgdD1hLmdsb2JhbEhvb2tzO2EuZ2xvYmFsSG9va3M9ey4uLnQsLi4uZX19c3RhdGljIGNsZWFyR2xvYmFsSG9va3MoKXtnbG9iYWxUaGlzLl9fdHlwZWRSb3V0ZXJHbG9iYWxIb29rcz17fX1zZXRIb29rcyhlKXt0aGlzLmhvb2tzPXsuLi50aGlzLmhvb2tzLC4uLmV9fWNhbGxIb29rKGUsdCl7dHJ5e2EuZ2xvYmFsSG9va3NbZV0/Lih0KSx0aGlzLmhvb2tzW2VdPy4odCl9Y2F0Y2gocil7Y29uc29sZS5lcnJvcihgVHlwZWRSb3V0ZXIgaG9vayBlcnJvciAoJHtlfSk6YCxyKX19YWRkTWlkZGxld2FyZShlKXt0aGlzLm1pZGRsZXdhcmVzLnB1c2goZSl9YWRkVHlwZWRIYW5kbGVyKGUpe2lmKHRoaXMuZ2V0VHlwZWRIYW5kbGVyRm9yTWV0aG9kKGUubWV0aG9kKSl0aHJvdyBuZXcgRXJyb3IoYGEgVHlwZWRIYW5kbGVyIGZvciAke2UubWV0aG9kfSBhbHJlZHkgZXhpc3RzISBDYW4ndCBhZGQgYW5vdGhlciBvbmUuYCk7dGhpcy5oYW5kbGVyTWFwLmFkZChlKX1hZGRUeXBlZFJvdXRlcihlKXt0aGlzLnJvdXRlck1hcC5maW5kU3luYyhyPT5yPT09ZSl8fCh0aGlzLnJvdXRlck1hcC5hZGQoZSksZS5hZGRUeXBlZFJvdXRlcih0aGlzKSl9Y2hlY2tGb3JUeXBlZEhhbmRsZXIoZSl7cmV0dXJuISF0aGlzLmdldFR5cGVkSGFuZGxlckZvck1ldGhvZChlKX1nZXRUeXBlZEhhbmRsZXJGb3JNZXRob2QoZSx0PVtdKXt0LnB1c2godGhpcyk7bGV0IHI7cmV0dXJuIHI9dGhpcy5oYW5kbGVyTWFwLmZpbmRTeW5jKGk9PmkubWV0aG9kPT09ZSkscnx8dGhpcy5yb3V0ZXJNYXAuZ2V0QXJyYXkoKS5mb3JFYWNoKGk9PnshciYmIXQuaW5jbHVkZXMoaSkmJihyPWkuZ2V0VHlwZWRIYW5kbGVyRm9yTWV0aG9kKGUsdCkpfSkscn1nZXRUeXBlZEhhbmRsZXJBbmRSb3V0ZXIoZSx0PVtdKXt0LnB1c2godGhpcyk7bGV0IHI9dGhpcy5oYW5kbGVyTWFwLmZpbmRTeW5jKGk9PmkubWV0aG9kPT09ZSk7aWYocilyZXR1cm57aGFuZGxlcjpyLHJvdXRlcjp0aGlzfTtmb3IobGV0IGkgb2YgdGhpcy5yb3V0ZXJNYXAuZ2V0QXJyYXkoKSlpZighdC5pbmNsdWRlcyhpKSl7bGV0IG89aS5nZXRUeXBlZEhhbmRsZXJBbmRSb3V0ZXIoZSx0KTtpZihvKXJldHVybiBvfXJldHVybiBudWxsfXN0YXRpY3t0aGlzLmRlZmF1bHRSb3V0ZU9wdGlvbnM9e2xvY2FsUmVxdWVzdDohMSxza2lwSG9va3M6ITF9fWFzeW5jIHJvdXRlQW5kQWRkUmVzcG9uc2UoZSx0PXt9KXtsZXQgcj17Li4uYS5kZWZhdWx0Um91dGVPcHRpb25zLC4uLnR9O2lmKGU9dTEuZGVjb2RlUGF5bG9hZEZyb21OZXR3b3JrKGUse3R5cGVkcm91dGVyOnRoaXN9KSxlLmxvY2FsRGF0YT1lLmxvY2FsRGF0YXx8e30sZS5sb2NhbERhdGEuZmlyc3RUeXBlZHJvdXRlcj10aGlzLGUubWV0aG9kPT09IiMjVmlydHVhbFN0cmVhbSMjIil7bGV0IGk9YXdhaXQgdGhpcy5oYW5kbGVTdHJlYW1UeXBlZFJlcXVlc3QoZSk7cmV0dXJuIGkubG9jYWxEYXRhPW51bGwsaX1pZihlPy5jb3JyZWxhdGlvbj8ucGhhc2U9PT0icmVxdWVzdCJ8fHIubG9jYWxSZXF1ZXN0KXtsZXQgaT1EYXRlLm5vdygpO3Iuc2tpcEhvb2tzfHx0aGlzLmNhbGxIb29rKCJvbkluY29taW5nUmVxdWVzdCIse2NvcnJlbGF0aW9uSWQ6ZS5jb3JyZWxhdGlvbj8uaWR8fCJ1bmtub3duIixtZXRob2Q6ZS5tZXRob2QsZGlyZWN0aW9uOiJpbmNvbWluZyIscGhhc2U6InJlcXVlc3QiLHRpbWVzdGFtcDppLHBheWxvYWQ6ZS5yZXF1ZXN0fSk7bGV0IG89dGhpcy5nZXRUeXBlZEhhbmRsZXJBbmRSb3V0ZXIoZS5tZXRob2QpO2lmKCFvKXJldHVybiBjb25zb2xlLmxvZyhgQ2Fubm90IGZpbmQgaGFuZGxlciBmb3IgbWV0aG9kbmFtZSAke2UubWV0aG9kfWApLGUuZXJyb3I9e3RleHQ6IlRoZXJlIGlzIG5vIGF2YWlsYWJsZSBtZXRob2QgZm9yIHRoaXMgY2FsbCBvbiB0aGUgc2VydmVyIHNpZGUiLGRhdGE6e319LGUuY29ycmVsYXRpb24ucGhhc2U9InJlc3BvbnNlIixlLmxvY2FsRGF0YT1udWxsLGU9dTEuZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsoZSx7dHlwZWRyb3V0ZXI6dGhpc30pLHIuc2tpcEhvb2tzfHx0aGlzLmNhbGxIb29rKCJvbk91dGdvaW5nUmVzcG9uc2UiLHtjb3JyZWxhdGlvbklkOmUuY29ycmVsYXRpb24/LmlkfHwidW5rbm93biIsbWV0aG9kOmUubWV0aG9kLGRpcmVjdGlvbjoib3V0Z29pbmciLHBoYXNlOiJyZXNwb25zZSIsdGltZXN0YW1wOkRhdGUubm93KCksZHVyYXRpb25NczpEYXRlLm5vdygpLWkscGF5bG9hZDplLnJlc3BvbnNlLGVycm9yOmUuZXJyb3I/LnRleHR9KSxlO2xldHtoYW5kbGVyOm4scm91dGVyOmx9PW87aWYobC5taWRkbGV3YXJlcy5sZW5ndGg+MCl0cnl7Zm9yKGxldCBkIG9mIGwubWlkZGxld2FyZXMpYXdhaXQgZChlKX1jYXRjaChkKXtyZXR1cm4gZCBpbnN0YW5jZW9mIGQxP2UuZXJyb3I9e3RleHQ6ZC5lcnJvclRleHQsZGF0YTpkLmVycm9yRGF0YXx8e319OmUuZXJyb3I9e3RleHQ6ZC5tZXNzYWdlfHwiTWlkZGxld2FyZSBlcnJvciIsZGF0YTp7fX0sZS5jb3JyZWxhdGlvbi5waGFzZT0icmVzcG9uc2UiLGUubG9jYWxEYXRhPW51bGwsZT11MS5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhlLHt0eXBlZHJvdXRlcjp0aGlzfSksci5za2lwSG9va3N8fHRoaXMuY2FsbEhvb2soIm9uT3V0Z29pbmdSZXNwb25zZSIse2NvcnJlbGF0aW9uSWQ6ZS5jb3JyZWxhdGlvbj8uaWR8fCJ1bmtub3duIixtZXRob2Q6ZS5tZXRob2QsZGlyZWN0aW9uOiJvdXRnb2luZyIscGhhc2U6InJlc3BvbnNlIix0aW1lc3RhbXA6RGF0ZS5ub3coKSxkdXJhdGlvbk1zOkRhdGUubm93KCktaSxwYXlsb2FkOmUucmVzcG9uc2UsZXJyb3I6ZS5lcnJvcj8udGV4dH0pLGV9cmV0dXJuIGU9YXdhaXQgbi5hZGRSZXNwb25zZShlKSxlLmxvY2FsRGF0YT1udWxsLGU9dTEuZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsoZSx7dHlwZWRyb3V0ZXI6dGhpc30pLHIuc2tpcEhvb2tzfHx0aGlzLmNhbGxIb29rKCJvbk91dGdvaW5nUmVzcG9uc2UiLHtjb3JyZWxhdGlvbklkOmUuY29ycmVsYXRpb24/LmlkfHwidW5rbm93biIsbWV0aG9kOmUubWV0aG9kLGRpcmVjdGlvbjoib3V0Z29pbmciLHBoYXNlOiJyZXNwb25zZSIsdGltZXN0YW1wOkRhdGUubm93KCksZHVyYXRpb25NczpEYXRlLm5vdygpLWkscGF5bG9hZDplLnJlc3BvbnNlLGVycm9yOmUuZXJyb3I/LnRleHR9KSxlfWVsc2UgcmV0dXJuIGU/LmNvcnJlbGF0aW9uPy5waGFzZT09PSJyZXNwb25zZSI/KHIuc2tpcEhvb2tzfHx0aGlzLmNhbGxIb29rKCJvbkluY29taW5nUmVzcG9uc2UiLHtjb3JyZWxhdGlvbklkOmUuY29ycmVsYXRpb24/LmlkfHwidW5rbm93biIsbWV0aG9kOmUubWV0aG9kLGRpcmVjdGlvbjoiaW5jb21pbmciLHBoYXNlOiJyZXNwb25zZSIsdGltZXN0YW1wOkRhdGUubm93KCkscGF5bG9hZDplLnJlc3BvbnNlLGVycm9yOmUuZXJyb3I/LnRleHR9KSx0aGlzLmZpcmVFdmVudEludGVyZXN0TWFwLmZpbmRJbnRlcmVzdChlLmNvcnJlbGF0aW9uLmlkKT8uZnVsbGZpbGxJbnRlcmVzdChlKSxudWxsKTooY29uc29sZS5sb2coInJlY2VpdmVkIHdlaXJkbHkgc2hhcGVkIHJlcXVlc3QiKSxjb25zb2xlLmxvZyhlKSxudWxsKX1hc3luYyBoYW5kbGVTdHJlYW1UeXBlZFJlcXVlc3QoZSl7bGV0IHQ9YXdhaXQgdGhpcy5yZWdpc3RlcmVkVmlydHVhbFN0cmVhbXMuZmluZChhc3luYyBpPT5pLnN0cmVhbUlkPT09ZS5yZXF1ZXN0LnN0cmVhbUlkKTtpZih0KWNvbnNvbGUubG9nKGBzdWNjZXNzOiBmb3VuZCByZWxldmFudCB2aXJ0dWFsIHN0cmVhbSB3aXRoIGlkICR7ZS5yZXF1ZXN0LnN0cmVhbUlkfWApO2Vsc2UgcmV0dXJuIGNvbnNvbGUubG9nKGBubyByZWxldmFudCB2aXJ0dWFsIHN0cmVhbSBmb3VuZCBmb3Igc3RyZWFtIHdpdGggaWQgJHtlLnJlcXVlc3Quc3RyZWFtSWR9YCksY29uc29sZS5sb2codGhpcy5yZWdpc3RlcmVkVmlydHVhbFN0cmVhbXMuZ2V0QXJyYXkoKSksZTtyZXR1cm4gYXdhaXQgdC5oYW5kbGVTdHJlYW1UcihlKX19fSk7dmFyIFowdCx1MSx6WD1mKCgpPT57XzAoKTtROSgpO1owdD0iIyMjIyMjIyMjIyMjI0NMT1NJTkcgQklUIyMjIyMjIyMjIyMjIyIsdTE9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJWaXJ0dWFsU3RyZWFtIil9c3RhdGljIGVuY29kZVBheWxvYWRGb3JOZXR3b3JrKGUsdCxyLGk9W10pe3JldHVybiFlfHxpMS5pc0J1ZmZlckxpa2UoZSk/ZTplIGluc3RhbmNlb2YgYT8oIWUuc2lkZSYmdC5zZW5kTWV0aG9kJiYoZS5zaWRlPSJyZXF1ZXN0aW5nIixlLnNlbmRNZXRob2Q9dC5zZW5kTWV0aG9kKSwhZS5zaWRlJiZ0LnR5cGVkcm91dGVyJiYoZS5zaWRlPSJyZXNwb25kaW5nIixlLnR5cGVkcm91dGVyPXQudHlwZWRyb3V0ZXIsdC50eXBlZHJvdXRlci5yZWdpc3RlcmVkVmlydHVhbFN0cmVhbXMuYWRkKGUpKSwhci5yZXNwb25zZXx8aS5pbmNsdWRlcygicmVzcG9uc2UiKT8oZS5zdGFydEtlZXBBbGl2ZUxvb3AoKSx7X2lzVmlydHVhbFN0cmVhbTohMCxzdHJlYW1JZDplLnN0cmVhbUlkfSk6e19PQk1JVFRFRF9WSVJUVUFMX1NUUkVBTTohMCxyZWFzb246InBhdGggaXMgdW5kZXIgLnJlcXVlc3Q6IG9ibWl0dGVkIGZvciBkZWR1cGxpY2F0aW9uIHJlYXNvbnMgaW4gcmVzcG9uc2UgY3ljbGUuIn0pOkFycmF5LmlzQXJyYXkoZSk/ZS5tYXAoKG8sbik9PmEuZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsobyx0LHJ8fGUsaS5jb25jYXQoU3RyaW5nKG4pKSkpOmUhPT1udWxsJiZ0eXBlb2YgZT09Im9iamVjdCI/T2JqZWN0LmVudHJpZXMoZSkucmVkdWNlKChvLFtuLGxdKT0+e2xldCBkPWkuY29uY2F0KG4pO3JldHVybiBvW25dPWEuZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsobCx0LHJ8fGUsZCksb30se30pOmV9c3RhdGljIGRlY29kZVBheWxvYWRGcm9tTmV0d29yayhlLHQpe2lmKGkxLmlzQnVmZmVyTGlrZShlKXx8ZSBpbnN0YW5jZW9mIEUzKXJldHVybiBlO2lmKGUhPT1udWxsJiZ0eXBlb2YgZT09Im9iamVjdCIpe2lmKGUgaW5zdGFuY2VvZiBTZXR8fGUgaW5zdGFuY2VvZiBNYXB8fGUgaW5zdGFuY2VvZiBEYXRlfHxlIGluc3RhbmNlb2YgUmVnRXhwfHxlIGluc3RhbmNlb2YgRXJyb3J8fGUgaW5zdGFuY2VvZiBQcm9taXNlfHx0eXBlb2YgZS50aGVuPT0iZnVuY3Rpb24iKXJldHVybiBlO2lmKGUuX2lzVmlydHVhbFN0cmVhbSl7bGV0IHI9bmV3IGE7cmV0dXJuIHIuc3RyZWFtSWQ9ZS5zdHJlYW1JZCwhci5zaWRlJiZ0LnNlbmRNZXRob2QmJihyLnNpZGU9InJlcXVlc3RpbmciLHIuc2VuZE1ldGhvZD10LnNlbmRNZXRob2QpLCFyLnNpZGUmJnQudHlwZWRyb3V0ZXImJihyLnNpZGU9InJlc3BvbmRpbmciLHIudHlwZWRyb3V0ZXI9dC50eXBlZHJvdXRlcix0LnR5cGVkcm91dGVyLnJlZ2lzdGVyZWRWaXJ0dWFsU3RyZWFtcy5hZGQocikpLHIuc3RhcnRLZWVwQWxpdmVMb29wKCkscn1lbHNlIGlmKEFycmF5LmlzQXJyYXkoZSkpe2xldCByPVtdO2ZvcihsZXQgaSBvZiBlKXIucHVzaChhLmRlY29kZVBheWxvYWRGcm9tTmV0d29yayhpLHQpKTtyZXR1cm4gcn1lbHNlIHJldHVybiBPYmplY3Qua2V5cyhlKS5yZWR1Y2UoKHIsaSk9PihyW2ldPWEuZGVjb2RlUGF5bG9hZEZyb21OZXR3b3JrKGVbaV0sdCkscikse30pfWVsc2UgcmV0dXJuIGV9Y29uc3RydWN0b3IoKXt0aGlzLnN0cmVhbUlkPUMwLnVuaSgpLHRoaXMua2VlcEFsaXZlPSEwLHRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheT1uZXcgR2EuQmFja3ByZXNzdXJlZEFycmF5KDE2KSx0aGlzLnJlY2VpdmVCYWNrcHJlc3N1cmVkQXJyYXk9bmV3IEdhLkJhY2twcmVzc3VyZWRBcnJheSgxNil9c3RhdGljIHJlY29uc3RpdHV0ZUJpbmFyeURhdGEoZSl7aWYoZT09bnVsbHx8ZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl8fHR5cGVvZiBCdWZmZXI8InUiJiZCdWZmZXIuaXNCdWZmZXIoZSkpcmV0dXJuIGU7aWYodHlwZW9mIGU9PSJvYmplY3QiKXtpZihlLnR5cGU9PT0iQnVmZmVyIiYmQXJyYXkuaXNBcnJheShlLmRhdGEpKXJldHVybiBuZXcgVWludDhBcnJheShlLmRhdGEpO2xldCB0PU9iamVjdC5rZXlzKGUpO2lmKHQubGVuZ3RoPjAmJnQuZXZlcnkocj0+L15cZCskLy50ZXN0KHIpKSl7bGV0IHI9bmV3IEFycmF5KHQubGVuZ3RoKTtmb3IobGV0IGkgb2YgdClyW051bWJlcihpKV09ZVtpXTtpZihyLmV2ZXJ5KGk9PnR5cGVvZiBpPT0ibnVtYmVyIikpcmV0dXJuIG5ldyBVaW50OEFycmF5KHIpfX1yZXR1cm4gZX1hc3luYyB3b3JrT25RdWV1ZSgpe2lmKHRoaXMud29ya2luZ0RlZmVycmVkKXJldHVybiB0aGlzLndvcmtpbmdEZWZlcnJlZC5wcm9taXNlO2lmKHRoaXMud29ya2luZ0RlZmVycmVkPWV0LmRlZmVyKCksdGhpcy5zaWRlPT09InJlcXVlc3RpbmciKXtsZXQgZT0hdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKSx0PSExLHI9ITEsaT1zKGFzeW5jKCk9PntsZXQgbz1hd2FpdCB0aGlzLnNlbmRNZXRob2Qoe21ldGhvZDoiIyNWaXJ0dWFsU3RyZWFtIyMiLHJlcXVlc3Q6e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDpDMC51bmkoKSxjeWNsZToicmVxdWVzdCIsbWFpblB1cnBvc2U6ImZlZWRiYWNrIixuZXh0OnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5kYXRhLmxlbmd0aD4wLGJhY2twcmVzc3VyZTohdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKX0scmVzcG9uc2U6bnVsbH0pLmNhdGNoKCgpPT57Y29uc29sZS5sb2coInN0cmVhbSBlbmRlZCBpbW1hdHVyZWx5IiksdGhpcy5rZWVwQWxpdmU9ITF9KTtvJiZvLnJlc3BvbnNlJiYocj1vLnJlc3BvbnNlLmJhY2twcmVzc3VyZSx0PW8ucmVzcG9uc2UubmV4dCl9LCJnZXRGZWVkYmFjayIpO2Zvcihhd2FpdCBpKCk7dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjB8fHQ7KXtpZihyKWZvcig7cjspY29uc29sZS5sb2coIndhaXRpbmcgZm9yIGZlZWRiYWNrIGJlY2F1c2Ugb2YgYmFja3ByZXNzdXJlLi4uIiksYXdhaXQgUHQuZGVsYXlGb3IoNTApLGF3YWl0IGkoKTtsZXQgbzt0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCYmKG89dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LnNoaWZ0KCkpO2xldCBuO249YXdhaXQgdGhpcy5zZW5kTWV0aG9kKHttZXRob2Q6IiMjVmlydHVhbFN0cmVhbSMjIixyZXF1ZXN0OntzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6QzAudW5pKCksY3ljbGU6InJlcXVlc3QiLG1haW5QdXJwb3NlOm8/ImNodW5rIjoicmVhZCIsYmFja3ByZXNzdXJlOmUsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCwuLi5vP3tjaHVua0RhdGE6b306e319LHJlc3BvbnNlOm51bGx9KS5jYXRjaCgoKT0+KGNvbnNvbGUubG9nKCJzdHJlYW0gZW5kZWQgaW1tYXR1cmVseSIpLHRoaXMua2VlcEFsaXZlPSExLG51bGwpKSxuJiZuLnJlc3BvbnNlJiZuLnJlc3BvbnNlLmNodW5rRGF0YSYmdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LnB1c2goYS5yZWNvbnN0aXR1dGVCaW5hcnlEYXRhKG4ucmVzcG9uc2UuY2h1bmtEYXRhKSkscj1uJiZuLnJlc3BvbnNlJiZuLnJlc3BvbnNlLmJhY2twcmVzc3VyZSxlPSF0aGlzLnJlY2VpdmVCYWNrcHJlc3N1cmVkQXJyYXkuY2hlY2tTcGFjZUF2YWlsYWJsZSgpLHQ9biYmbi5yZXNwb25zZSYmbi5yZXNwb25zZS5uZXh0fX10aGlzLndvcmtpbmdEZWZlcnJlZC5yZXNvbHZlKCksdGhpcy53b3JraW5nRGVmZXJyZWQ9bnVsbH1hc3luYyBoYW5kbGVTdHJlYW1UcihlKXtpZihlLnJlcXVlc3Qua2VlcEFsaXZlPT09ITAmJnRoaXMua2VlcEFsaXZlPT09ITA/dGhpcy5sYXN0S2VlcEFsaXZlRXZlbnQ9RGF0ZS5ub3coKTplLnJlcXVlc3Qua2VlcEFsaXZlPT09ITEmJih0aGlzLmtlZXBBbGl2ZT0hMSksZS5yZXF1ZXN0Lm1haW5QdXJwb3NlPT09ImtlZXBBbGl2ZSImJihlLnJlc3BvbnNlPXtzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6ZS5yZXF1ZXN0LmN5Y2xlSWQsY3ljbGU6InJlc3BvbnNlIixtYWluUHVycG9zZToia2VlcEFsaXZlIixrZWVwQWxpdmU6dGhpcy5rZWVwQWxpdmUsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCl9KSxlLnJlcXVlc3QubWFpblB1cnBvc2U9PT0iZmVlZGJhY2siJiYoZS5yZXNwb25zZT17c3RyZWFtSWQ6dGhpcy5zdHJlYW1JZCxjeWNsZUlkOmUucmVxdWVzdC5jeWNsZUlkLGN5Y2xlOiJyZXNwb25zZSIsbWFpblB1cnBvc2U6ImZlZWRiYWNrIixuZXh0OnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5kYXRhLmxlbmd0aD4wLGJhY2twcmVzc3VyZTohdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKX0pLGUucmVxdWVzdC5tYWluUHVycG9zZT09PSJjaHVuayIpe2lmKHRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5wdXNoKGEucmVjb25zdGl0dXRlQmluYXJ5RGF0YShlLnJlcXVlc3QuY2h1bmtEYXRhKSksdGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjAmJmUucmVzcG9uc2UuYmFja3ByZXNzdXJlPT09ITEpe2xldCB0PXRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5zaGlmdCgpO2UucmVzcG9uc2U9e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDplLnJlcXVlc3QuY3ljbGVJZCxjeWNsZToicmVzcG9uc2UiLG1haW5QdXJwb3NlOiJjaHVuayIsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MSxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCksY2h1bmtEYXRhOnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5zaGlmdCgpfX1lbHNlIGUucmVzcG9uc2U9e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDplLnJlcXVlc3QuY3ljbGVJZCxjeWNsZToicmVzcG9uc2UiLG1haW5QdXJwb3NlOiJmZWVkYmFjayIsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCl9O2UucmVxdWVzdD1udWxsfXJldHVybiBlfWFzeW5jIGNsZWFudXAoKXt0aGlzLnR5cGVkcm91dGVyJiZ0aGlzLnR5cGVkcm91dGVyLnJlZ2lzdGVyZWRWaXJ0dWFsU3RyZWFtcy5yZW1vdmUodGhpcyl9YXN5bmMgc3RhcnRLZWVwQWxpdmVMb29wKCl7aWYodGhpcy5zaWRlPT09InJlc3BvbmRpbmciKXJldHVybjthd2FpdCBQdC5kZWxheUZvcigwKSxjb25zb2xlLmxvZyhgc3RhcnRpbmcga2VlcGFsaXZlIGxvb3Agb24gc2lkZSAke3RoaXMuc2lkZX1gKTtsZXQgZT0wO2Zvcig7dGhpcy5rZWVwQWxpdmU7KWF3YWl0IHRoaXMudHJpZ2dlcktlZXBBbGl2ZSgpLGF3YWl0IFB0LmRlbGF5Rm9yKDFlMyk7YXdhaXQgUHQuZGVsYXlGb3IoMWUzKSxhd2FpdCB0aGlzLmNsZWFudXAoKSxjb25zb2xlLmxvZyhgY2xlYW5lZCB1cCBmb3Igc3RyZWFtICR7dGhpcy5zdHJlYW1JZH1gKX1hc3luYyB0cmlnZ2VyS2VlcEFsaXZlKCl7aWYodGhpcy5zaWRlPT09InJlcXVlc3RpbmciKXtjb25zb2xlLmxvZygia2VlcGFsaXZlIHNlbnQuIik7bGV0IGU9YXdhaXQgdGhpcy5zZW5kTWV0aG9kKHttZXRob2Q6IiMjVmlydHVhbFN0cmVhbSMjIixyZXF1ZXN0OntzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6QzAudW5pKCksY3ljbGU6InJlcXVlc3QiLG1haW5QdXJwb3NlOiJrZWVwQWxpdmUiLGtlZXBBbGl2ZTp0aGlzLmtlZXBBbGl2ZX0scmVzcG9uc2U6bnVsbH0pLmNhdGNoKCgpPT57dGhpcy5rZWVwQWxpdmU9ITF9KTtlJiZlLnJlc3BvbnNlJiZlLnJlc3BvbnNlLmtlZXBBbGl2ZT09PSExP3RoaXMua2VlcEFsaXZlPSExOnRoaXMubGFzdEtlZXBBbGl2ZUV2ZW50PURhdGUubm93KCksZSYmZS5yZXNwb25zZSYmZS5yZXNwb25zZS5uZXh0JiZ0aGlzLndvcmtPblF1ZXVlKCl9RGF0ZS5ub3coKS10aGlzLmxhc3RLZWVwQWxpdmVFdmVudD4xZTQmJihjb25zb2xlLmxvZyhgY2xvc2luZyBzdHJlYW0gZm9yICR7dGhpcy5zdHJlYW1JZH1gKSx0aGlzLmtlZXBBbGl2ZT0hMSl9YXN5bmMgc2VuZERhdGEoZSl7dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LnB1c2goZSksdGhpcy53b3JrT25RdWV1ZSgpLGF3YWl0IHRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS53YWl0Rm9yU3BhY2UoKX1hc3luYyBmZXRjaERhdGEoKXtyZXR1cm4gdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5Lmhhc1NwYWNlLGF3YWl0IHRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS53YWl0Rm9ySXRlbXMoKSx0aGlzLnJlY2VpdmVCYWNrcHJlc3N1cmVkQXJyYXkuc2hpZnQoKX1hc3luYyByZWFkRnJvbVdlYnN0cmVhbShlLHQ9ITApe2xldCByPWUuZ2V0UmVhZGVyKCksaT0hMTtmb3IoOyFpOyl7bGV0e3ZhbHVlOm8sZG9uZTpufT1hd2FpdCByLnJlYWQoKTtvJiZhd2FpdCB0aGlzLnNlbmREYXRhKG8pLGk9bn10JiZhd2FpdCB0aGlzLmNsb3NlKCEwKX1hc3luYyB3cml0ZVRvV2Vic3RyZWFtKGUpe2xldCB0PWUuZ2V0V3JpdGVyKCk7Zm9yKDt0aGlzLmtlZXBBbGl2ZXx8dGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrSGFzSXRlbXMoKTspe2xldCByPWF3YWl0IHRoaXMuZmV0Y2hEYXRhKCk7aWYocj09PVowdCl7dC5yZWxlYXNlTG9jaygpLGF3YWl0IGUuY2xvc2UoKTticmVha31hd2FpdCB0LndyaXRlKHIpfX1hc3luYyBjbG9zZShlPSExKXtlJiZ0aGlzLnNlbmREYXRhKFowdCksdGhpcy5rZWVwQWxpdmU9ITF9fX0pO3ZhciBUY2UsTGNlPWYoKCk9PntROSgpO18wKCk7VGNlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlR5cGVkVGFyZ2V0Iil9Y29uc3RydWN0b3IoZSl7aWYoZS5wb3N0TWV0aG9kV2l0aFR5cGVkUm91dGVyJiYhZS50eXBlZFJvdXRlclJlZil0aHJvdyBuZXcgRXJyb3IoInlvdSBoYXZlIHRvIHNwZWNpZnkgYSB0eXBlZHJvdXRlciB3aGVuIHVzaW5nIHBvc3RtZXRob2Qgd2l0aCB0eXBlZHJvdXRlciIpO3RoaXMub3B0aW9ucz1lfWFzeW5jIHBvc3QoZSl7bGV0IHQ7dGhpcy5vcHRpb25zLnR5cGVkUm91dGVyUmVmJiYodD1hd2FpdCB0aGlzLm9wdGlvbnMudHlwZWRSb3V0ZXJSZWYuZmlyZUV2ZW50SW50ZXJlc3RNYXAuYWRkSW50ZXJlc3QoZS5jb3JyZWxhdGlvbi5pZCxlKSk7bGV0IGk9YXdhaXQodGhpcy5vcHRpb25zLnBvc3RNZXRob2R8fHRoaXMub3B0aW9ucy5wb3N0TWV0aG9kV2l0aFR5cGVkUm91dGVyKShlKSxvO3JldHVybiB0P289YXdhaXQgdC5pbnRlcmVzdEZ1bGxmaWxsZWQ6aT9vPWk6bz1lLG99fX0pO2Z1bmN0aW9uIFgwdChhLGUpe3RyeXtFMy5nbG9iYWxIb29rc1thXT8uKGUpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IoYFR5cGVkUmVxdWVzdCBob29rIGVycm9yICgke2F9KTpgLHQpfX12YXIgU3ZhLEo5LF9jZT1mKCgpPT57XzAoKTt6WCgpO1poKCk7UTkoKTtMY2UoKTtTdmE9bmV3IGMxLldlYnJlcXVlc3RDbGllbnQ7cyhYMHQsImNhbGxHbG9iYWxIb29rIik7Sjk9Y2xhc3N7c3RhdGlje3ModGhpcywiVHlwZWRSZXF1ZXN0Iil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLnNraXBIb29rcz0hMSx0eXBlb2YgZT09InN0cmluZyI/dGhpcy51cmxFbmRQb2ludD1lOnRoaXMudHlwZWRUYXJnZXQ9ZSx0aGlzLm1ldGhvZD10fWFzeW5jIGZpcmUoZSx0PSExKXtsZXQgcj1EYXRlLm5vdygpLGk9e21ldGhvZDp0aGlzLm1ldGhvZCxyZXF1ZXN0OmUscmVzcG9uc2U6bnVsbCxjb3JyZWxhdGlvbjp7aWQ6QzAudW5pKCkscGhhc2U6InJlcXVlc3QifX07aT11MS5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhpLHtzZW5kTWV0aG9kOnMobj0+dGhpcy5wb3N0VHJPYmplY3QobiksInNlbmRNZXRob2QiKX0pLHRoaXMuc2tpcEhvb2tzfHxYMHQoIm9uT3V0Z29pbmdSZXF1ZXN0Iix7Y29ycmVsYXRpb25JZDppLmNvcnJlbGF0aW9uLmlkLG1ldGhvZDp0aGlzLm1ldGhvZCxkaXJlY3Rpb246Im91dGdvaW5nIixwaGFzZToicmVxdWVzdCIsdGltZXN0YW1wOnIscGF5bG9hZDplfSk7bGV0IG87cmV0dXJuIG89YXdhaXQgdGhpcy5wb3N0VHJPYmplY3QoaSx0KSxvPXUxLmRlY29kZVBheWxvYWRGcm9tTmV0d29yayhvLHtzZW5kTWV0aG9kOnMobj0+dGhpcy5wb3N0VHJPYmplY3QobiksInNlbmRNZXRob2QiKX0pLHRoaXMuc2tpcEhvb2tzfHxYMHQoIm9uSW5jb21pbmdSZXNwb25zZSIse2NvcnJlbGF0aW9uSWQ6aS5jb3JyZWxhdGlvbi5pZCxtZXRob2Q6dGhpcy5tZXRob2QsZGlyZWN0aW9uOiJpbmNvbWluZyIscGhhc2U6InJlc3BvbnNlIix0aW1lc3RhbXA6RGF0ZS5ub3coKSxkdXJhdGlvbk1zOkRhdGUubm93KCktcixwYXlsb2FkOm8/LnJlc3BvbnNlLGVycm9yOm8/LmVycm9yPy50ZXh0fSksby5yZXNwb25zZX1hc3luYyBwb3N0VHJPYmplY3QoZSx0PSExKXtsZXQgcjtpZih0aGlzLnVybEVuZFBvaW50P3I9YXdhaXQgU3ZhLnBvc3RKc29uKHRoaXMudXJsRW5kUG9pbnQsZSx0P3tjYWNoZVN0cmF0ZWd5OiJjYWNoZS1maXJzdCJ9Ont9KTpyPWF3YWl0IHRoaXMudHlwZWRUYXJnZXQucG9zdChlKSxyLmVycm9yKXtpZihjb25zb2xlLmVycm9yKGBtZXRob2Q6ID4+JHt0aGlzLm1ldGhvZH08PCBnb3QgYW4gRVJST1I6ICIke3IuZXJyb3IudGV4dH0iIHdpdGggZGF0YSAke0pTT04uc3RyaW5naWZ5KHIuZXJyb3IuZGF0YSxudWxsLDIpfWApLCFyLnJldHJ5KXRocm93IG5ldyBkMShyLmVycm9yLnRleHQsci5lcnJvci5kYXRhKTtyZXR1cm4gbnVsbH1yZXR1cm4gci5yZXRyeSYmKGNvbnNvbGUubG9nKGBzZXJ2ZXIgcmVxdWVzdGVkIHJldHJ5IGZvciB0aGUgZm9sbG93aW5nIHJlYXNvbjogJHtyLnJldHJ5LnJlYXNvbn1gKSxhd2FpdCBQdC5kZWxheUZvcihyLnJldHJ5LndhaXRGb3JNcykscj1hd2FpdCB0aGlzLnBvc3RUck9iamVjdChlLHQpKSxyfX19KTt2YXIgTW89e307cnQoTW8se1R5cGVkSGFuZGxlcjooKT0+emNlLFR5cGVkUmVxdWVzdDooKT0+SjksVHlwZWRSZXNwb25zZUVycm9yOigpPT5kMSxUeXBlZFJvdXRlcjooKT0+RTMsVHlwZWRUYXJnZXQ6KCk9PlRjZSxWaXJ0dWFsU3RyZWFtOigpPT51MX0pO3ZhciBDWD1mKCgpPT57X2NlKCk7Q2NlKCk7UTkoKTtaaCgpO0xjZSgpO3pYKCl9KTtmdW5jdGlvbiBRMHQoYSl7cmV0dXJuIGEmJnR5cGVvZiBhLnRoZW49PSJmdW5jdGlvbiJ9ZnVuY3Rpb24gVDIoYSxlKXtyZXR1cm4gYXx8KGE9MCksbmV3IFByb21pc2UoZnVuY3Rpb24odCl7cmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gdChlKX0sYSl9KX1mdW5jdGlvbiB0NHQoYSxlKXtyZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKihlLWErMSkrYSl9ZnVuY3Rpb24gRWwoKXtyZXR1cm4gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpfWZ1bmN0aW9uIFBsKCl7dmFyIGE9RGF0ZS5ub3coKSoxZTM7cmV0dXJuIGE8PSRjZSYmKGE9JGNlKzEpLCRjZT1hLGF9ZnVuY3Rpb24gYTR0KCl7cmV0dXJuIHR5cGVvZiBuYXZpZ2F0b3I8InUiJiZ0eXBlb2YgbmF2aWdhdG9yLmxvY2tzPCJ1IiYmdHlwZW9mIG5hdmlnYXRvci5sb2Nrcy5yZXF1ZXN0PT0iZnVuY3Rpb24ifXZhciBKMHQsZTR0LGpvLCRjZSxUMD1mKCgpPT57cyhRMHQsImlzUHJvbWlzZSIpO0owdD1Qcm9taXNlLnJlc29sdmUoITEpLGU0dD1Qcm9taXNlLnJlc29sdmUoITApLGpvPVByb21pc2UucmVzb2x2ZSgpO3MoVDIsInNsZWVwIik7cyh0NHQsInJhbmRvbUludCIpO3MoRWwsInJhbmRvbVRva2VuIik7JGNlPTA7cyhQbCwibWljcm9TZWNvbmRzIik7cyhhNHQsInN1cHBvcnRzV2ViTG9ja0FQSSIpfSk7ZnVuY3Rpb24gX3ZhKGEpe3ZhciBlPXt0aW1lOlBsKCksbWVzc2FnZXNDYWxsYmFjazpudWxsLGJjOm5ldyBCcm9hZGNhc3RDaGFubmVsKGEpLHN1YkZuczpbXX07cmV0dXJuIGUuYmMub25tZXNzYWdlPWZ1bmN0aW9uKHQpe2UubWVzc2FnZXNDYWxsYmFjayYmZS5tZXNzYWdlc0NhbGxiYWNrKHQuZGF0YSl9LGV9ZnVuY3Rpb24gVHZhKGEpe2EuYmMuY2xvc2UoKSxhLnN1YkZucz1bXX1mdW5jdGlvbiBMdmEoYSxlKXt0cnl7cmV0dXJuIGEuYmMucG9zdE1lc3NhZ2UoZSwhMSksam99Y2F0Y2godCl7cmV0dXJuIFByb21pc2UucmVqZWN0KHQpfX1mdW5jdGlvbiAkdmEoYSxlKXthLm1lc3NhZ2VzQ2FsbGJhY2s9ZX1mdW5jdGlvbiBEdmEoKXtpZih0eXBlb2YgZ2xvYmFsVGhpczwidSImJmdsb2JhbFRoaXMuRGVubyYmZ2xvYmFsVGhpcy5EZW5vLmFyZ3MpcmV0dXJuITA7aWYoKHR5cGVvZiB3aW5kb3c8InUifHx0eXBlb2Ygc2VsZjwidSIpJiZ0eXBlb2YgQnJvYWRjYXN0Q2hhbm5lbD09ImZ1bmN0aW9uIil7aWYoQnJvYWRjYXN0Q2hhbm5lbC5fcHVia2V5KXRocm93IG5ldyBFcnJvcigiQnJvYWRjYXN0Q2hhbm5lbDogRG8gbm90IG92ZXJ3cml0ZSB3aW5kb3cuQnJvYWRjYXN0Q2hhbm5lbCB3aXRoIHRoaXMgbW9kdWxlLCB0aGlzIGlzIG5vdCBhIHBvbHlmaWxsIik7cmV0dXJuITB9ZWxzZSByZXR1cm4hMX1mdW5jdGlvbiBBdmEoKXtyZXR1cm4gMTUwfXZhciB6dmEsQ3ZhLHI0dCxzNHQ9ZigoKT0+e1QwKCk7enZhPVBsLEN2YT0ibmF0aXZlIjtzKF92YSwiY3JlYXRlIik7cyhUdmEsImNsb3NlIik7cyhMdmEsInBvc3RNZXNzYWdlIik7cygkdmEsIm9uTWVzc2FnZSIpO3MoRHZhLCJjYW5CZVVzZWQiKTtzKEF2YSwiYXZlcmFnZVJlc3BvbnNlVGltZSIpO3I0dD17Y3JlYXRlOl92YSxjbG9zZTpUdmEsb25NZXNzYWdlOiR2YSxwb3N0TWVzc2FnZTpMdmEsY2FuQmVVc2VkOkR2YSx0eXBlOkN2YSxhdmVyYWdlUmVzcG9uc2VUaW1lOkF2YSxtaWNyb1NlY29uZHM6enZhfX0pO2Z1bmN0aW9uIEV2YShhKXtsZXQgZT1EY2UoKS1hLnR0bCx0PWEubWFwW1N5bWJvbC5pdGVyYXRvcl0oKTtmb3IoOzspe2xldCByPXQubmV4dCgpLnZhbHVlO2lmKCFyKWJyZWFrO2xldCBpPXJbMF07aWYoclsxXTxlKWEubWFwLmRlbGV0ZShpKTtlbHNlIGJyZWFrfX1mdW5jdGlvbiBEY2UoKXtyZXR1cm4gRGF0ZS5ub3coKX12YXIgWGgsQWNlPWYoKCk9PntYaD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJPYmxpdmlvdXNTZXQiKX10dGw7bWFwPW5ldyBNYXA7X3RvPSExO2NvbnN0cnVjdG9yKGUpe3RoaXMudHRsPWV9aGFzKGUpe2xldCB0PXRoaXMubWFwLmdldChlKTtyZXR1cm4gdHlwZW9mIHQ+InUiPyExOnQ8RGNlKCktdGhpcy50dGw/KHRoaXMubWFwLmRlbGV0ZShlKSwhMSk6ITB9YWRkKGUpe3RoaXMubWFwLmRlbGV0ZShlKSx0aGlzLm1hcC5zZXQoZSxEY2UoKSksdGhpcy5fdG98fCh0aGlzLl90bz0hMCxzZXRUaW1lb3V0KCgpPT57dGhpcy5fdG89ITEsRXZhKHRoaXMpfSwwKSl9Y2xlYXIoKXt0aGlzLm1hcC5jbGVhcigpfX07cyhFdmEsInJlbW92ZVRvb09sZFZhbHVlcyIpO3MoRGNlLCJub3ciKX0pO2Z1bmN0aW9uIFAzKCl7dmFyIGE9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT12b2lkIDA/YXJndW1lbnRzWzBdOnt9LGU9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhKSk7cmV0dXJuIHR5cGVvZiBlLndlYldvcmtlclN1cHBvcnQ+InUiJiYoZS53ZWJXb3JrZXJTdXBwb3J0PSEwKSxlLmlkYnx8KGUuaWRiPXt9KSxlLmlkYi50dGx8fChlLmlkYi50dGw9MWUzKjQ1KSxlLmlkYi5mYWxsYmFja0ludGVydmFsfHwoZS5pZGIuZmFsbGJhY2tJbnRlcnZhbD0xNTApLGEuaWRiJiZ0eXBlb2YgYS5pZGIub25jbG9zZT09ImZ1bmN0aW9uIiYmKGUuaWRiLm9uY2xvc2U9YS5pZGIub25jbG9zZSksZS5sb2NhbHN0b3JhZ2V8fChlLmxvY2Fsc3RvcmFnZT17fSksZS5sb2NhbHN0b3JhZ2UucmVtb3ZlVGltZW91dHx8KGUubG9jYWxzdG9yYWdlLnJlbW92ZVRpbWVvdXQ9MWUzKjYwKSxhLm1ldGhvZHMmJihlLm1ldGhvZHM9YS5tZXRob2RzKSxlLm5vZGV8fChlLm5vZGU9e30pLGUubm9kZS50dGx8fChlLm5vZGUudHRsPTFlMyo2MCoyKSxlLm5vZGUubWF4UGFyYWxsZWxXcml0ZXN8fChlLm5vZGUubWF4UGFyYWxsZWxXcml0ZXM9MjA0OCksdHlwZW9mIGUubm9kZS51c2VGYXN0UGF0aD4idSImJihlLm5vZGUudXNlRmFzdFBhdGg9ITApLGV9dmFyIF9YPWYoKCk9PntzKFAzLCJmaWxsT3B0aW9uc1dpdGhEZWZhdWx0cyIpfSk7ZnVuY3Rpb24gaTR0KCl7aWYodHlwZW9mIGluZGV4ZWREQjwidSIpcmV0dXJuIGluZGV4ZWREQjtpZih0eXBlb2Ygd2luZG93PCJ1Iil7aWYodHlwZW9mIHdpbmRvdy5tb3pJbmRleGVkREI8InUiKXJldHVybiB3aW5kb3cubW96SW5kZXhlZERCO2lmKHR5cGVvZiB3aW5kb3cud2Via2l0SW5kZXhlZERCPCJ1IilyZXR1cm4gd2luZG93LndlYmtpdEluZGV4ZWREQjtpZih0eXBlb2Ygd2luZG93Lm1zSW5kZXhlZERCPCJ1IilyZXR1cm4gd2luZG93Lm1zSW5kZXhlZERCfXJldHVybiExfWZ1bmN0aW9uIFRYKGEpe2EuY29tbWl0JiZhLmNvbW1pdCgpfWZ1bmN0aW9uIFJ2YShhKXt2YXIgZT1pNHQoKSx0PUl2YSthLHI9ZS5vcGVuKHQpO3JldHVybiByLm9udXBncmFkZW5lZWRlZD1mdW5jdGlvbihpKXt2YXIgbz1pLnRhcmdldC5yZXN1bHQ7by5jcmVhdGVPYmplY3RTdG9yZShwMSx7a2V5UGF0aDoiaWQiLGF1dG9JbmNyZW1lbnQ6ITB9KX0sbmV3IFByb21pc2UoZnVuY3Rpb24oaSxvKXtyLm9uZXJyb3I9ZnVuY3Rpb24obil7cmV0dXJuIG8obil9LHIub25zdWNjZXNzPWZ1bmN0aW9uKCl7aShyLnJlc3VsdCl9fSl9ZnVuY3Rpb24gT3ZhKGEsZSx0KXt2YXIgcj1EYXRlLm5vdygpLGk9e3V1aWQ6ZSx0aW1lOnIsZGF0YTp0fSxvPWEudHJhbnNhY3Rpb24oW3AxXSwicmVhZHdyaXRlIixlZyk7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4sbCl7by5vbmNvbXBsZXRlPWZ1bmN0aW9uKCl7cmV0dXJuIG4oKX0sby5vbmVycm9yPWZ1bmN0aW9uKGMpe3JldHVybiBsKGMpfTt2YXIgZD1vLm9iamVjdFN0b3JlKHAxKTtkLmFkZChpKSxUWChvKX0pfWZ1bmN0aW9uIEZEcihhKXt2YXIgZT1hLnRyYW5zYWN0aW9uKHAxLCJyZWFkb25seSIsZWcpLHQ9ZS5vYmplY3RTdG9yZShwMSkscj1bXTtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oaSl7dC5vcGVuQ3Vyc29yKCkub25zdWNjZXNzPWZ1bmN0aW9uKG8pe3ZhciBuPW8udGFyZ2V0LnJlc3VsdDtuPyhyLnB1c2gobi52YWx1ZSksbi5jb250aW51ZSgpKTooVFgoZSksaShyKSl9fSl9ZnVuY3Rpb24gRnZhKGEsZSl7dmFyIHQ9YS50cmFuc2FjdGlvbihwMSwicmVhZG9ubHkiLGVnKSxyPXQub2JqZWN0U3RvcmUocDEpLGk9W10sbz1JREJLZXlSYW5nZS5ib3VuZChlKzEsMS8wKTtpZihyLmdldEFsbCl7dmFyIG49ci5nZXRBbGwobyk7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGQsYyl7bi5vbmVycm9yPWZ1bmN0aW9uKHApe3JldHVybiBjKHApfSxuLm9uc3VjY2Vzcz1mdW5jdGlvbihwKXtkKHAudGFyZ2V0LnJlc3VsdCl9fSl9ZnVuY3Rpb24gbCgpe3RyeXtyZXR1cm4gbz1JREJLZXlSYW5nZS5ib3VuZChlKzEsMS8wKSxyLm9wZW5DdXJzb3Iobyl9Y2F0Y2h7cmV0dXJuIHIub3BlbkN1cnNvcigpfX1yZXR1cm4gcyhsLCJvcGVuQ3Vyc29yIiksbmV3IFByb21pc2UoZnVuY3Rpb24oZCxjKXt2YXIgcD1sKCk7cC5vbmVycm9yPWZ1bmN0aW9uKHUpe3JldHVybiBjKHUpfSxwLm9uc3VjY2Vzcz1mdW5jdGlvbih1KXt2YXIgbT11LnRhcmdldC5yZXN1bHQ7bT9tLnZhbHVlLmlkPGUrMT9tLmNvbnRpbnVlKGUrMSk6KGkucHVzaChtLnZhbHVlKSxtLmNvbnRpbnVlKCkpOihUWCh0KSxkKGkpKX19KX1mdW5jdGlvbiBCdmEoYSxlKXtpZihhLmNsb3NlZClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTt2YXIgdD1hLmRiLnRyYW5zYWN0aW9uKHAxLCJyZWFkd3JpdGUiLGVnKSxyPXQub2JqZWN0U3RvcmUocDEpO3JldHVybiBQcm9taXNlLmFsbChlLm1hcChmdW5jdGlvbihpKXt2YXIgbz1yLmRlbGV0ZShpKTtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24obil7by5vbnN1Y2Nlc3M9ZnVuY3Rpb24oKXtyZXR1cm4gbigpfX0pfSkpfWZ1bmN0aW9uIEh2YShhLGUpe3ZhciB0PURhdGUubm93KCktZSxyPWEudHJhbnNhY3Rpb24ocDEsInJlYWRvbmx5IixlZyksaT1yLm9iamVjdFN0b3JlKHAxKSxvPVtdO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihuKXtpLm9wZW5DdXJzb3IoKS5vbnN1Y2Nlc3M9ZnVuY3Rpb24obCl7dmFyIGQ9bC50YXJnZXQucmVzdWx0O2lmKGQpe3ZhciBjPWQudmFsdWU7Yy50aW1lPHQ/KG8ucHVzaChjKSxkLmNvbnRpbnVlKCkpOihUWChyKSxuKG8pKX1lbHNlIG4obyl9fSl9ZnVuY3Rpb24gcXZhKGEpe3JldHVybiBIdmEoYS5kYixhLm9wdGlvbnMuaWRiLnR0bCkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gQnZhKGEsZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWR9KSl9KX1mdW5jdGlvbiBWdmEoYSxlKXtyZXR1cm4gZT1QMyhlKSxSdmEoYSkudGhlbihmdW5jdGlvbih0KXt2YXIgcj17Y2xvc2VkOiExLGxhc3RDdXJzb3JJZDowLGNoYW5uZWxOYW1lOmEsb3B0aW9uczplLHV1aWQ6RWwoKSxlTUlzOm5ldyBYaChlLmlkYi50dGwqMiksd3JpdGVCbG9ja1Byb21pc2U6am8sbWVzc2FnZXNDYWxsYmFjazpudWxsLHJlYWRRdWV1ZVByb21pc2VzOltdLGRiOnR9O3JldHVybiB0Lm9uY2xvc2U9ZnVuY3Rpb24oKXtyLmNsb3NlZD0hMCxlLmlkYi5vbmNsb3NlJiZlLmlkYi5vbmNsb3NlKCl9LG80dChyKSxyfSl9ZnVuY3Rpb24gbzR0KGEpe2EuY2xvc2VkfHxuNHQoYSkudGhlbihmdW5jdGlvbigpe3JldHVybiBUMihhLm9wdGlvbnMuaWRiLmZhbGxiYWNrSW50ZXJ2YWwpfSkudGhlbihmdW5jdGlvbigpe3JldHVybiBvNHQoYSl9KX1mdW5jdGlvbiBqdmEoYSxlKXtyZXR1cm4hKGEudXVpZD09PWUudXVpZHx8ZS5lTUlzLmhhcyhhLmlkKXx8YS5kYXRhLnRpbWU8ZS5tZXNzYWdlc0NhbGxiYWNrVGltZSl9ZnVuY3Rpb24gbjR0KGEpe3JldHVybiBhLmNsb3NlZD9qbzphLm1lc3NhZ2VzQ2FsbGJhY2s/RnZhKGEuZGIsYS5sYXN0Q3Vyc29ySWQpLnRoZW4oZnVuY3Rpb24oZSl7dmFyIHQ9ZS5maWx0ZXIoZnVuY3Rpb24ocil7cmV0dXJuISFyfSkubWFwKGZ1bmN0aW9uKHIpe3JldHVybiByLmlkPmEubGFzdEN1cnNvcklkJiYoYS5sYXN0Q3Vyc29ySWQ9ci5pZCkscn0pLmZpbHRlcihmdW5jdGlvbihyKXtyZXR1cm4ganZhKHIsYSl9KS5zb3J0KGZ1bmN0aW9uKHIsaSl7cmV0dXJuIHIudGltZS1pLnRpbWV9KTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHIpe2EubWVzc2FnZXNDYWxsYmFjayYmKGEuZU1Jcy5hZGQoci5pZCksYS5tZXNzYWdlc0NhbGxiYWNrKHIuZGF0YSkpfSksam99KTpqb31mdW5jdGlvbiBVdmEoYSl7YS5jbG9zZWQ9ITAsYS5kYi5jbG9zZSgpfWZ1bmN0aW9uIFd2YShhLGUpe3JldHVybiBhLndyaXRlQmxvY2tQcm9taXNlPWEud3JpdGVCbG9ja1Byb21pc2UudGhlbihmdW5jdGlvbigpe3JldHVybiBPdmEoYS5kYixhLnV1aWQsZSl9KS50aGVuKGZ1bmN0aW9uKCl7dDR0KDAsMTApPT09MCYmcXZhKGEpfSksYS53cml0ZUJsb2NrUHJvbWlzZX1mdW5jdGlvbiBHdmEoYSxlLHQpe2EubWVzc2FnZXNDYWxsYmFja1RpbWU9dCxhLm1lc3NhZ2VzQ2FsbGJhY2s9ZSxuNHQoYSl9ZnVuY3Rpb24gWXZhKCl7cmV0dXJuISFpNHQoKX1mdW5jdGlvbiBLdmEoYSl7cmV0dXJuIGEuaWRiLmZhbGxiYWNrSW50ZXJ2YWwqMn12YXIgUHZhLEl2YSxwMSxlZyxOdmEsbDR0LGM0dD1mKCgpPT57VDAoKTtBY2UoKTtfWCgpO1B2YT1QbCxJdmE9InB1YmtleS5icm9hZGNhc3QtY2hhbm5lbC0wLSIscDE9Im1lc3NhZ2VzIixlZz17ZHVyYWJpbGl0eToicmVsYXhlZCJ9LE52YT0iaWRiIjtzKGk0dCwiZ2V0SWRiIik7cyhUWCwiY29tbWl0SW5kZXhlZERCVHJhbnNhY3Rpb24iKTtzKFJ2YSwiY3JlYXRlRGF0YWJhc2UiKTtzKE92YSwid3JpdGVNZXNzYWdlIik7cyhGRHIsImdldEFsbE1lc3NhZ2VzIik7cyhGdmEsImdldE1lc3NhZ2VzSGlnaGVyVGhhbiIpO3MoQnZhLCJyZW1vdmVNZXNzYWdlc0J5SWQiKTtzKEh2YSwiZ2V0T2xkTWVzc2FnZXMiKTtzKHF2YSwiY2xlYW5PbGRNZXNzYWdlcyIpO3MoVnZhLCJjcmVhdGUiKTtzKG80dCwiX3JlYWRMb29wIik7cyhqdmEsIl9maWx0ZXJNZXNzYWdlIik7cyhuNHQsInJlYWROZXdNZXNzYWdlcyIpO3MoVXZhLCJjbG9zZSIpO3MoV3ZhLCJwb3N0TWVzc2FnZSIpO3MoR3ZhLCJvbk1lc3NhZ2UiKTtzKFl2YSwiY2FuQmVVc2VkIik7cyhLdmEsImF2ZXJhZ2VSZXNwb25zZVRpbWUiKTtsNHQ9e2NyZWF0ZTpWdmEsY2xvc2U6VXZhLG9uTWVzc2FnZTpHdmEscG9zdE1lc3NhZ2U6V3ZhLGNhbkJlVXNlZDpZdmEsdHlwZTpOdmEsYXZlcmFnZVJlc3BvbnNlVGltZTpLdmEsbWljcm9TZWNvbmRzOlB2YX19KTtmdW5jdGlvbiBkNHQoKXt2YXIgYTtpZih0eXBlb2Ygd2luZG93PiJ1IilyZXR1cm4gbnVsbDt0cnl7YT13aW5kb3cubG9jYWxTdG9yYWdlLGE9d2luZG93WyJpZTgtZXZlbnRsaXN0ZW5lci9zdG9yYWdlIl18fHdpbmRvdy5sb2NhbFN0b3JhZ2V9Y2F0Y2h7fXJldHVybiBhfWZ1bmN0aW9uIHU0dChhKXtyZXR1cm4gWHZhK2F9ZnVuY3Rpb24gSnZhKGEsZSl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHQpe1QyKCkudGhlbihmdW5jdGlvbigpe3ZhciByPXU0dChhLmNoYW5uZWxOYW1lKSxpPXt0b2tlbjpFbCgpLHRpbWU6RGF0ZS5ub3coKSxkYXRhOmUsdXVpZDphLnV1aWR9LG89SlNPTi5zdHJpbmdpZnkoaSk7ZDR0KCkuc2V0SXRlbShyLG8pO3ZhciBuPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpO24uaW5pdEV2ZW50KCJzdG9yYWdlIiwhMCwhMCksbi5rZXk9cixuLm5ld1ZhbHVlPW8sd2luZG93LmRpc3BhdGNoRXZlbnQobiksdCgpfSl9KX1mdW5jdGlvbiBleGEoYSxlKXt2YXIgdD11NHQoYSkscj1zKGZ1bmN0aW9uKG8pe28ua2V5PT09dCYmZShKU09OLnBhcnNlKG8ubmV3VmFsdWUpKX0sImxpc3RlbmVyIik7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdG9yYWdlIixyKSxyfWZ1bmN0aW9uIHR4YShhKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3RvcmFnZSIsYSl9ZnVuY3Rpb24gYXhhKGEsZSl7aWYoZT1QMyhlKSwhcDR0KCkpdGhyb3cgbmV3IEVycm9yKCJCcm9hZGNhc3RDaGFubmVsOiBsb2NhbHN0b3JhZ2UgY2Fubm90IGJlIHVzZWQiKTt2YXIgdD1FbCgpLHI9bmV3IFhoKGUubG9jYWxzdG9yYWdlLnJlbW92ZVRpbWVvdXQpLGk9e2NoYW5uZWxOYW1lOmEsdXVpZDp0LGVNSXM6cn07cmV0dXJuIGkubGlzdGVuZXI9ZXhhKGEsZnVuY3Rpb24obyl7aS5tZXNzYWdlc0NhbGxiYWNrJiZvLnV1aWQhPT10JiYoIW8udG9rZW58fHIuaGFzKG8udG9rZW4pfHxvLmRhdGEudGltZSYmby5kYXRhLnRpbWU8aS5tZXNzYWdlc0NhbGxiYWNrVGltZXx8KHIuYWRkKG8udG9rZW4pLGkubWVzc2FnZXNDYWxsYmFjayhvLmRhdGEpKSl9KSxpfWZ1bmN0aW9uIHJ4YShhKXt0eGEoYS5saXN0ZW5lcil9ZnVuY3Rpb24gc3hhKGEsZSx0KXthLm1lc3NhZ2VzQ2FsbGJhY2tUaW1lPXQsYS5tZXNzYWdlc0NhbGxiYWNrPWV9ZnVuY3Rpb24gcDR0KCl7dmFyIGE9ZDR0KCk7aWYoIWEpcmV0dXJuITE7dHJ5e3ZhciBlPSJfX2Jyb2FkY2FzdGNoYW5uZWxfY2hlY2siO2Euc2V0SXRlbShlLCJ3b3JrcyIpLGEucmVtb3ZlSXRlbShlKX1jYXRjaHtyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBpeGEoKXt2YXIgYT0xMjAsZT1uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7cmV0dXJuIGUuaW5jbHVkZXMoInNhZmFyaSIpJiYhZS5pbmNsdWRlcygiY2hyb21lIik/YSoyOmF9dmFyIFp2YSxYdmEsUXZhLGY0dCxoNHQ9ZigoKT0+e0FjZSgpO19YKCk7VDAoKTtadmE9UGwsWHZhPSJwdWJrZXkuYnJvYWRjYXN0Q2hhbm5lbC0iLFF2YT0ibG9jYWxzdG9yYWdlIjtzKGQ0dCwiZ2V0TG9jYWxTdG9yYWdlIik7cyh1NHQsInN0b3JhZ2VLZXkiKTtzKEp2YSwicG9zdE1lc3NhZ2UiKTtzKGV4YSwiYWRkU3RvcmFnZUV2ZW50TGlzdGVuZXIiKTtzKHR4YSwicmVtb3ZlU3RvcmFnZUV2ZW50TGlzdGVuZXIiKTtzKGF4YSwiY3JlYXRlIik7cyhyeGEsImNsb3NlIik7cyhzeGEsIm9uTWVzc2FnZSIpO3MocDR0LCJjYW5CZVVzZWQiKTtzKGl4YSwiYXZlcmFnZVJlc3BvbnNlVGltZSIpO2Y0dD17Y3JlYXRlOmF4YSxjbG9zZTpyeGEsb25NZXNzYWdlOnN4YSxwb3N0TWVzc2FnZTpKdmEsY2FuQmVVc2VkOnA0dCx0eXBlOlF2YSxhdmVyYWdlUmVzcG9uc2VUaW1lOml4YSxtaWNyb1NlY29uZHM6WnZhfX0pO2Z1bmN0aW9uIG54YShhKXt2YXIgZT17dGltZTptNHQoKSxuYW1lOmEsbWVzc2FnZXNDYWxsYmFjazpudWxsfTtyZXR1cm4gRWNlLmFkZChlKSxlfWZ1bmN0aW9uIGx4YShhKXtFY2UuZGVsZXRlKGEpfWZ1bmN0aW9uIGN4YShhLGUpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbih0KXtyZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpe3ZhciByPUFycmF5LmZyb20oRWNlKTtyLmZvckVhY2goZnVuY3Rpb24oaSl7aS5uYW1lPT09YS5uYW1lJiZpIT09YSYmaS5tZXNzYWdlc0NhbGxiYWNrJiZpLnRpbWU8ZS50aW1lJiZpLm1lc3NhZ2VzQ2FsbGJhY2soZSl9KSx0KCl9LGc0dCl9KX1mdW5jdGlvbiBkeGEoYSxlKXthLm1lc3NhZ2VzQ2FsbGJhY2s9ZX1mdW5jdGlvbiB1eGEoKXtyZXR1cm4hMH1mdW5jdGlvbiBweGEoKXtyZXR1cm4gZzR0fXZhciBtNHQsb3hhLEVjZSxnNHQsYjR0LHY0dD1mKCgpPT57VDAoKTttNHQ9UGwsb3hhPSJzaW11bGF0ZSIsRWNlPW5ldyBTZXQ7cyhueGEsImNyZWF0ZSIpO3MobHhhLCJjbG9zZSIpO2c0dD01O3MoY3hhLCJwb3N0TWVzc2FnZSIpO3MoZHhhLCJvbk1lc3NhZ2UiKTtzKHV4YSwiY2FuQmVVc2VkIik7cyhweGEsImF2ZXJhZ2VSZXNwb25zZVRpbWUiKTtiNHQ9e2NyZWF0ZTpueGEsY2xvc2U6bHhhLG9uTWVzc2FnZTpkeGEscG9zdE1lc3NhZ2U6Y3hhLGNhbkJlVXNlZDp1eGEsdHlwZTpveGEsYXZlcmFnZVJlc3BvbnNlVGltZTpweGEsbWljcm9TZWNvbmRzOm00dH19KTtmdW5jdGlvbiBQY2UoYSl7dmFyIGU9W10uY29uY2F0KGEubWV0aG9kcyx4NHQpLmZpbHRlcihCb29sZWFuKTtpZihhLnR5cGUpe2lmKGEudHlwZT09PSJzaW11bGF0ZSIpcmV0dXJuIGI0dDt2YXIgdD1lLmZpbmQoZnVuY3Rpb24oaSl7cmV0dXJuIGkudHlwZT09PWEudHlwZX0pO2lmKHQpcmV0dXJuIHQ7dGhyb3cgbmV3IEVycm9yKCJtZXRob2QtdHlwZSAiK2EudHlwZSsiIG5vdCBmb3VuZCIpfWEud2ViV29ya2VyU3VwcG9ydHx8KGU9ZS5maWx0ZXIoZnVuY3Rpb24oaSl7cmV0dXJuIGkudHlwZSE9PSJpZGIifSkpO3ZhciByPWUuZmluZChmdW5jdGlvbihpKXtyZXR1cm4gaS5jYW5CZVVzZWQoKX0pO2lmKHIpcmV0dXJuIHI7dGhyb3cgbmV3IEVycm9yKCJObyB1c2FibGUgbWV0aG9kIGZvdW5kIGluICIrSlNPTi5zdHJpbmdpZnkoeDR0Lm1hcChmdW5jdGlvbihpKXtyZXR1cm4gaS50eXBlfSkpKX12YXIgeDR0LHk0dD1mKCgpPT57czR0KCk7YzR0KCk7aDR0KCk7djR0KCk7eDR0PVtyNHQsbDR0LGY0dF07cyhQY2UsImNob29zZU1ldGhvZCIpfSk7ZnVuY3Rpb24gaHhhKGEpe2E9UDMoYSk7dmFyIGU9UGNlKGEpO3JldHVybiBlLnR5cGU9PT0ibm9kZSI/ZS5jbGVhck5vZGVGb2xkZXIoKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuITB9KTpKMHR9ZnVuY3Rpb24gbXhhKGEpe0ljZT1hfWZ1bmN0aW9uIHc0dChhLGUsdCl7dmFyIHI9YS5tZXRob2QubWljcm9TZWNvbmRzKCksaT17dGltZTpyLHR5cGU6ZSxkYXRhOnR9LG89YS5fcHJlcFA/YS5fcHJlcFA6am87cmV0dXJuIG8udGhlbihmdW5jdGlvbigpe3ZhciBuPWEubWV0aG9kLnBvc3RNZXNzYWdlKGEuX3N0YXRlLGkpO3JldHVybiBhLl91TVAuYWRkKG4pLG4uY2F0Y2goKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGEuX3VNUC5kZWxldGUobil9KSxufSl9ZnVuY3Rpb24gZ3hhKGEpe3ZhciBlPWEubWV0aG9kLmNyZWF0ZShhLm5hbWUsYS5vcHRpb25zKTtRMHQoZSk/KGEuX3ByZXBQPWUsZS50aGVuKGZ1bmN0aW9uKHQpe2EuX3N0YXRlPXR9KSk6YS5fc3RhdGU9ZX1mdW5jdGlvbiBNNHQoYSl7cmV0dXJuIGEuX2FkZEVMLm1lc3NhZ2UubGVuZ3RoPjB8fGEuX2FkZEVMLmludGVybmFsLmxlbmd0aD4wfWZ1bmN0aW9uIGs0dChhLGUsdCl7YS5fYWRkRUxbZV0ucHVzaCh0KSxieGEoYSl9ZnVuY3Rpb24gUzR0KGEsZSx0KXthLl9hZGRFTFtlXT1hLl9hZGRFTFtlXS5maWx0ZXIoZnVuY3Rpb24ocil7cmV0dXJuIHIhPT10fSksdnhhKGEpfWZ1bmN0aW9uIGJ4YShhKXtpZighYS5faUwmJk00dChhKSl7dmFyIGU9cyhmdW5jdGlvbihpKXthLl9hZGRFTFtpLnR5cGVdLmZvckVhY2goZnVuY3Rpb24obyl7aS50aW1lPj1vLnRpbWUmJm8uZm4oaS5kYXRhKX0pfSwibGlzdGVuZXJGbiIpLHQ9YS5tZXRob2QubWljcm9TZWNvbmRzKCk7YS5fcHJlcFA/YS5fcHJlcFAudGhlbihmdW5jdGlvbigpe2EuX2lMPSEwLGEubWV0aG9kLm9uTWVzc2FnZShhLl9zdGF0ZSxlLHQpfSk6KGEuX2lMPSEwLGEubWV0aG9kLm9uTWVzc2FnZShhLl9zdGF0ZSxlLHQpKX19ZnVuY3Rpb24gdnhhKGEpe2lmKGEuX2lMJiYhTTR0KGEpKXthLl9pTD0hMTt2YXIgZT1hLm1ldGhvZC5taWNyb1NlY29uZHMoKTthLm1ldGhvZC5vbk1lc3NhZ2UoYS5fc3RhdGUsbnVsbCxlKX19dmFyIE5jZSxmeGEsSTMsSWNlLHo0dD1mKCgpPT57VDAoKTt5NHQoKTtfWCgpO05jZT1uZXcgU2V0LGZ4YT0wLEkzPXMoZnVuY3Rpb24oZSx0KXt0aGlzLmlkPWZ4YSsrLE5jZS5hZGQodGhpcyksdGhpcy5uYW1lPWUsSWNlJiYodD1JY2UpLHRoaXMub3B0aW9ucz1QMyh0KSx0aGlzLm1ldGhvZD1QY2UodGhpcy5vcHRpb25zKSx0aGlzLl9pTD0hMSx0aGlzLl9vbk1MPW51bGwsdGhpcy5fYWRkRUw9e21lc3NhZ2U6W10saW50ZXJuYWw6W119LHRoaXMuX3VNUD1uZXcgU2V0LHRoaXMuX2JlZkM9W10sdGhpcy5fcHJlcFA9bnVsbCxneGEodGhpcyl9LCJCcm9hZGNhc3RDaGFubmVsIik7STMuX3B1YmtleT0hMDtzKGh4YSwiY2xlYXJOb2RlRm9sZGVyIik7cyhteGEsImVuZm9yY2VPcHRpb25zIiksSTMucHJvdG90eXBlPXtwb3N0TWVzc2FnZTpzKGZ1bmN0aW9uKGUpe2lmKHRoaXMuY2xvc2VkKXRocm93IG5ldyBFcnJvcigiQnJvYWRjYXN0Q2hhbm5lbC5wb3N0TWVzc2FnZSgpOiBDYW5ub3QgcG9zdCBtZXNzYWdlIGFmdGVyIGNoYW5uZWwgaGFzIGNsb3NlZCAiK0pTT04uc3RyaW5naWZ5KGUpKTtyZXR1cm4gdzR0KHRoaXMsIm1lc3NhZ2UiLGUpfSwicG9zdE1lc3NhZ2UiKSxwb3N0SW50ZXJuYWw6cyhmdW5jdGlvbihlKXtyZXR1cm4gdzR0KHRoaXMsImludGVybmFsIixlKX0sInBvc3RJbnRlcm5hbCIpLHNldCBvbm1lc3NhZ2UoYSl7dmFyIGU9dGhpcy5tZXRob2QubWljcm9TZWNvbmRzKCksdD17dGltZTplLGZuOmF9O1M0dCh0aGlzLCJtZXNzYWdlIix0aGlzLl9vbk1MKSxhJiZ0eXBlb2YgYT09ImZ1bmN0aW9uIj8odGhpcy5fb25NTD10LGs0dCh0aGlzLCJtZXNzYWdlIix0KSk6dGhpcy5fb25NTD1udWxsfSxhZGRFdmVudExpc3RlbmVyOnMoZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLm1ldGhvZC5taWNyb1NlY29uZHMoKSxpPXt0aW1lOnIsZm46dH07azR0KHRoaXMsZSxpKX0sImFkZEV2ZW50TGlzdGVuZXIiKSxyZW1vdmVFdmVudExpc3RlbmVyOnMoZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLl9hZGRFTFtlXS5maW5kKGZ1bmN0aW9uKGkpe3JldHVybiBpLmZuPT09dH0pO1M0dCh0aGlzLGUscil9LCJyZW1vdmVFdmVudExpc3RlbmVyIiksY2xvc2U6cyhmdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYoIXRoaXMuY2xvc2VkKXtOY2UuZGVsZXRlKHRoaXMpLHRoaXMuY2xvc2VkPSEwO3ZhciB0PXRoaXMuX3ByZXBQP3RoaXMuX3ByZXBQOmpvO3JldHVybiB0aGlzLl9vbk1MPW51bGwsdGhpcy5fYWRkRUwubWVzc2FnZT1bXSx0LnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5hbGwoQXJyYXkuZnJvbShlLl91TVApKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5fYmVmQy5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIHIoKX0pKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZS5tZXRob2QuY2xvc2UoZS5fc3RhdGUpfSl9fSwiY2xvc2UiKSxnZXQgdHlwZSgpe3JldHVybiB0aGlzLm1ldGhvZC50eXBlfSxnZXQgaXNDbG9zZWQoKXtyZXR1cm4gdGhpcy5jbG9zZWR9fTtzKHc0dCwiX3Bvc3QiKTtzKGd4YSwiX3ByZXBhcmVDaGFubmVsIik7cyhNNHQsIl9oYXNNZXNzYWdlTGlzdGVuZXJzIik7cyhrNHQsIl9hZGRMaXN0ZW5lck9iamVjdCIpO3MoUzR0LCJfcmVtb3ZlTGlzdGVuZXJPYmplY3QiKTtzKGJ4YSwiX3N0YXJ0TGlzdGVuaW5nIik7cyh2eGEsIl9zdG9wTGlzdGVuaW5nIil9KTtmdW5jdGlvbiBDNHQoYSl7aWYodHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlPT0iZnVuY3Rpb24iJiZzZWxmIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGUpe3ZhciBlPXNlbGYuY2xvc2UuYmluZChzZWxmKTtzZWxmLmNsb3NlPWZ1bmN0aW9uKCl7cmV0dXJuIGEoKSxlKCl9fWVsc2V7aWYodHlwZW9mIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyIT0iZnVuY3Rpb24iKXJldHVybjt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIixmdW5jdGlvbigpe2EoKX0sITApLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ1bmxvYWQiLGZ1bmN0aW9uKCl7YSgpfSwhMCl9fXZhciBfNHQ9ZigoKT0+e3MoQzR0LCJhZGRCcm93c2VyIil9KTtmdW5jdGlvbiBUNHQoYSl7cHJvY2Vzcy5vbigiZXhpdCIsZnVuY3Rpb24oKXtyZXR1cm4gYSgpfSkscHJvY2Vzcy5vbigiYmVmb3JlRXhpdCIsZnVuY3Rpb24oKXtyZXR1cm4gYSgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gcHJvY2Vzcy5leGl0KCl9KX0pLHByb2Nlc3Mub24oIlNJR0lOVCIsZnVuY3Rpb24oKXtyZXR1cm4gYSgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gcHJvY2Vzcy5leGl0KCl9KX0pLHByb2Nlc3Mub24oInVuY2F1Z2h0RXhjZXB0aW9uIixmdW5jdGlvbihlKXtyZXR1cm4gYSgpLnRoZW4oZnVuY3Rpb24oKXtjb25zb2xlLnRyYWNlKGUpLHByb2Nlc3MuZXhpdCgxMDEpfSl9KX12YXIgTDR0PWYoKCk9PntzKFQ0dCwiYWRkTm9kZSIpfSk7ZnVuY3Rpb24gd3hhKCl7JDR0fHwoJDR0PSEwLHl4YShNeGEpKX1mdW5jdGlvbiBENHQoYSl7aWYod3hhKCksdHlwZW9mIGEhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IEVycm9yKCJMaXN0ZW5lciBpcyBubyBmdW5jdGlvbiIpO04zLmFkZChhKTt2YXIgZT17cmVtb3ZlOnMoZnVuY3Rpb24oKXtyZXR1cm4gTjMuZGVsZXRlKGEpfSwicmVtb3ZlIikscnVuOnMoZnVuY3Rpb24oKXtyZXR1cm4gTjMuZGVsZXRlKGEpLGEoKX0sInJ1biIpfTtyZXR1cm4gZX1mdW5jdGlvbiBNeGEoKXt2YXIgYT1bXTtyZXR1cm4gTjMuZm9yRWFjaChmdW5jdGlvbihlKXthLnB1c2goZSgpKSxOMy5kZWxldGUoZSl9KSxQcm9taXNlLmFsbChhKX1mdW5jdGlvbiBmQXIoKXtOMy5jbGVhcigpfWZ1bmN0aW9uIGhBcigpe3JldHVybiBOMy5zaXplfXZhciB4eGEseXhhLE4zLCQ0dCxBNHQ9ZigoKT0+e180dCgpO0w0dCgpO3h4YT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodHlwZW9mIHByb2Nlc3M8InUiP3Byb2Nlc3M6MCk9PT0iW29iamVjdCBwcm9jZXNzXSIseXhhPXh4YT9UNHQ6QzR0LE4zPW5ldyBTZXQsJDR0PSExO3Mod3hhLCJzdGFydExpc3RlbmluZyIpO3MoRDR0LCJhZGQiKTtzKE14YSwicnVuQWxsIik7cyhmQXIsInJlbW92ZUFsbCIpO3MoaEFyLCJnZXRTaXplIil9KTtmdW5jdGlvbiBJbChhLGUpe3ZhciB0PXtjb250ZXh0OiJsZWFkZXIiLGFjdGlvbjplLHRva2VuOmEudG9rZW59O3JldHVybiBhLmJyb2FkY2FzdENoYW5uZWwucG9zdEludGVybmFsKHQpfWZ1bmN0aW9uIHRnKGEpe2EuaXNMZWFkZXI9ITAsYS5faGFzTGVhZGVyPSEwO3ZhciBlPUQ0dChmdW5jdGlvbigpe3JldHVybiBhLmRpZSgpfSk7YS5fdW5sLnB1c2goZSk7dmFyIHQ9cyhmdW5jdGlvbihpKXtpLmNvbnRleHQ9PT0ibGVhZGVyIiYmaS5hY3Rpb249PT0iYXBwbHkiJiZJbChhLCJ0ZWxsIiksaS5jb250ZXh0PT09ImxlYWRlciImJmkuYWN0aW9uPT09InRlbGwiJiYhYS5fZHBMQyYmKGEuX2RwTEM9ITAsYS5fZHBMKCksSWwoYSwidGVsbCIpKX0sImlzTGVhZGVyTGlzdGVuZXIiKTtyZXR1cm4gYS5icm9hZGNhc3RDaGFubmVsLmFkZEV2ZW50TGlzdGVuZXIoImludGVybmFsIix0KSxhLl9sc3Rucy5wdXNoKHQpLElsKGEsInRlbGwiKX12YXIgTFg9ZigoKT0+e0E0dCgpO3MoSWwsInNlbmRMZWFkZXJNZXNzYWdlIik7cyh0ZywiYmVMZWFkZXIiKX0pO3ZhciBSY2UsRTR0LFA0dD1mKCgpPT57VDAoKTtMWCgpO1JjZT1zKGZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpczt0aGlzLmJyb2FkY2FzdENoYW5uZWw9ZSxlLl9iZWZDLnB1c2goZnVuY3Rpb24oKXtyZXR1cm4gci5kaWUoKX0pLHRoaXMuX29wdGlvbnM9dCx0aGlzLmlzTGVhZGVyPSExLHRoaXMuaXNEZWFkPSExLHRoaXMudG9rZW49RWwoKSx0aGlzLl9sc3Rucz1bXSx0aGlzLl91bmw9W10sdGhpcy5fZHBMPWZ1bmN0aW9uKCl7fSx0aGlzLl9kcExDPSExLHRoaXMuX3dLTUM9e30sdGhpcy5sTj0icHVia2V5LWJjfHwiK2UubWV0aG9kLnR5cGUrInx8IitlLm5hbWV9LCJMZWFkZXJFbGVjdGlvbldlYkxvY2siKSxFNHQ9IkxlYWRlckVsZWN0aW9uV2ViTG9jay5kaWUoKSBjYWxsZWQiO1JjZS5wcm90b3R5cGU9e2hhc0xlYWRlcjpzKGZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gbmF2aWdhdG9yLmxvY2tzLnF1ZXJ5KCkudGhlbihmdW5jdGlvbih0KXt2YXIgcj10LmhlbGQ/dC5oZWxkLmZpbHRlcihmdW5jdGlvbihpKXtyZXR1cm4gaS5uYW1lPT09ZS5sTn0pOltdO3JldHVybiEhKHImJnIubGVuZ3RoPjApfSl9LCJoYXNMZWFkZXIiKSxhd2FpdExlYWRlcnNoaXA6cyhmdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYoIXRoaXMuX3dMTVApe3RoaXMuX3dLTUMuYz1uZXcgQWJvcnRDb250cm9sbGVyO3ZhciB0PW5ldyBQcm9taXNlKGZ1bmN0aW9uKHIsaSl7ZS5fd0tNQy5yZXM9cixlLl93S01DLnJlaj1pfSk7dGhpcy5fd0xNUD1uZXcgUHJvbWlzZShmdW5jdGlvbihyLGkpe25hdmlnYXRvci5sb2Nrcy5yZXF1ZXN0KGUubE4se3NpZ25hbDplLl93S01DLmMuc2lnbmFsfSxmdW5jdGlvbigpe3JldHVybiBlLl93S01DLmM9dm9pZCAwLHRnKGUpLHIoKSx0fSkuY2F0Y2goZnVuY3Rpb24obyl7by5tZXNzYWdlJiZvLm1lc3NhZ2U9PT1FNHR8fChlLl93S01DLnJlaiYmZS5fd0tNQy5yZWoobyksaShvKSl9KX0pfXJldHVybiB0aGlzLl93TE1QfSwiYXdhaXRMZWFkZXJzaGlwIiksc2V0IG9uZHVwbGljYXRlKGEpe30sZGllOnMoZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiB0aGlzLl9sc3Rucy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JldHVybiBlLmJyb2FkY2FzdENoYW5uZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLHQpfSksdGhpcy5fbHN0bnM9W10sdGhpcy5fdW5sLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIHQucmVtb3ZlKCl9KSx0aGlzLl91bmw9W10sdGhpcy5pc0xlYWRlciYmKHRoaXMuaXNMZWFkZXI9ITEpLHRoaXMuaXNEZWFkPSEwLHRoaXMuX3dLTUMucmVzJiZ0aGlzLl93S01DLnJlcygpLHRoaXMuX3dLTUMuYyYmdGhpcy5fd0tNQy5jLmFib3J0KG5ldyBFcnJvcihFNHQpKSxJbCh0aGlzLCJkZWF0aCIpfSwiZGllIil9fSk7ZnVuY3Rpb24ga3hhKGEpe3JldHVybiBhLmlzTGVhZGVyP2pvOm5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe3ZhciB0PSExO2Z1bmN0aW9uIHIoKXt0fHwodD0hMCxhLmJyb2FkY2FzdENoYW5uZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLG8pLGUoITApKX1zKHIsImZpbmlzaCIpLGEuYXBwbHlPbmNlKCkudGhlbihmdW5jdGlvbigpe2EuaXNMZWFkZXImJnIoKX0pO3ZhciBpPXMoZnVuY3Rpb24oKXtyZXR1cm4gVDIoYS5fb3B0aW9ucy5mYWxsYmFja0ludGVydmFsKS50aGVuKGZ1bmN0aW9uKCl7aWYoIShhLmlzRGVhZHx8dCkpaWYoYS5pc0xlYWRlcilyKCk7ZWxzZSByZXR1cm4gYS5hcHBseU9uY2UoITApLnRoZW4oZnVuY3Rpb24oKXthLmlzTGVhZGVyP3IoKTppKCl9KX0pfSwidHJ5T25GYWxsQmFjayIpO2koKTt2YXIgbz1zKGZ1bmN0aW9uKGwpe2wuY29udGV4dD09PSJsZWFkZXIiJiZsLmFjdGlvbj09PSJkZWF0aCImJihhLl9oYXNMZWFkZXI9ITEsYS5hcHBseU9uY2UoKS50aGVuKGZ1bmN0aW9uKCl7YS5pc0xlYWRlciYmcigpfSkpfSwid2hlbkRlYXRoTGlzdGVuZXIiKTthLmJyb2FkY2FzdENoYW5uZWwuYWRkRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLG8pLGEuX2xzdG5zLnB1c2gobyl9KX1mdW5jdGlvbiBTeGEoYSxlKXtyZXR1cm4gYXx8KGE9e30pLGE9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhKSksYS5mYWxsYmFja0ludGVydmFsfHwoYS5mYWxsYmFja0ludGVydmFsPTNlMyksYS5yZXNwb25zZVRpbWV8fChhLnJlc3BvbnNlVGltZT1lLm1ldGhvZC5hdmVyYWdlUmVzcG9uc2VUaW1lKGUub3B0aW9ucykpLGF9ZnVuY3Rpb24genhhKGEsZSl7aWYoYS5fbGVhZGVyRWxlY3Rvcil0aHJvdyBuZXcgRXJyb3IoIkJyb2FkY2FzdENoYW5uZWwgYWxyZWFkeSBoYXMgYSBsZWFkZXItZWxlY3RvciIpO2U9U3hhKGUsYSk7dmFyIHQ9YTR0KCk/bmV3IFJjZShhLGUpOm5ldyBJNHQoYSxlKTtyZXR1cm4gYS5fYmVmQy5wdXNoKGZ1bmN0aW9uKCl7cmV0dXJuIHQuZGllKCl9KSxhLl9sZWFkZXJFbGVjdG9yPXQsdH12YXIgSTR0LE40dD1mKCgpPT57VDAoKTtMWCgpO1A0dCgpO0k0dD1zKGZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpczt0aGlzLmJyb2FkY2FzdENoYW5uZWw9ZSx0aGlzLl9vcHRpb25zPXQsdGhpcy5pc0xlYWRlcj0hMSx0aGlzLl9oYXNMZWFkZXI9ITEsdGhpcy5pc0RlYWQ9ITEsdGhpcy50b2tlbj1FbCgpLHRoaXMuX2FwbFE9am8sdGhpcy5fYXBsUUM9MCx0aGlzLl91bmw9W10sdGhpcy5fbHN0bnM9W10sdGhpcy5fZHBMPWZ1bmN0aW9uKCl7fSx0aGlzLl9kcExDPSExO3ZhciBpPXMoZnVuY3Rpb24obil7bi5jb250ZXh0PT09ImxlYWRlciImJihuLmFjdGlvbj09PSJkZWF0aCImJihyLl9oYXNMZWFkZXI9ITEpLG4uYWN0aW9uPT09InRlbGwiJiYoci5faGFzTGVhZGVyPSEwKSl9LCJoYXNMZWFkZXJMaXN0ZW5lciIpO3RoaXMuYnJvYWRjYXN0Q2hhbm5lbC5hZGRFdmVudExpc3RlbmVyKCJpbnRlcm5hbCIsaSksdGhpcy5fbHN0bnMucHVzaChpKX0sIkxlYWRlckVsZWN0aW9uIik7STR0LnByb3RvdHlwZT17aGFzTGVhZGVyOnMoZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2hhc0xlYWRlcil9LCJoYXNMZWFkZXIiKSxhcHBseU9uY2U6cyhmdW5jdGlvbihlKXt2YXIgdD10aGlzO2lmKHRoaXMuaXNMZWFkZXIpcmV0dXJuIFQyKDAsITApO2lmKHRoaXMuaXNEZWFkKXJldHVybiBUMigwLCExKTtpZih0aGlzLl9hcGxRQz4xKXJldHVybiB0aGlzLl9hcGxRO3ZhciByPXMoZnVuY3Rpb24oKXtpZih0LmlzTGVhZGVyKXJldHVybiBlNHQ7dmFyIG89ITEsbixsPW5ldyBQcm9taXNlKGZ1bmN0aW9uKHApe249cyhmdW5jdGlvbigpe289ITAscCgpfSwic3RvcENyaXRlcmlhUHJvbWlzZVJlc29sdmUiKX0pLGQ9cyhmdW5jdGlvbih1KXt1LmNvbnRleHQ9PT0ibGVhZGVyIiYmdS50b2tlbiE9dC50b2tlbiYmKHUuYWN0aW9uPT09ImFwcGx5IiYmdS50b2tlbj50LnRva2VuJiZuKCksdS5hY3Rpb249PT0idGVsbCImJihuKCksdC5faGFzTGVhZGVyPSEwKSl9LCJoYW5kbGVNZXNzYWdlIik7dC5icm9hZGNhc3RDaGFubmVsLmFkZEV2ZW50TGlzdGVuZXIoImludGVybmFsIixkKTt2YXIgYz1lP3QuX29wdGlvbnMucmVzcG9uc2VUaW1lKjQ6dC5fb3B0aW9ucy5yZXNwb25zZVRpbWU7cmV0dXJuIElsKHQsImFwcGx5IikudGhlbihmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJhY2UoW1QyKGMpLGwudGhlbihmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IpfSldKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gSWwodCwiYXBwbHkiKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yYWNlKFtUMihjKSxsLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKX0pXSl9KS5jYXRjaChmdW5jdGlvbigpe30pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gdC5icm9hZGNhc3RDaGFubmVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImludGVybmFsIixkKSxvPyExOnRnKHQpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4hMH0pfSl9LCJhcHBseVJ1biIpO3JldHVybiB0aGlzLl9hcGxRQz10aGlzLl9hcGxRQysxLHRoaXMuX2FwbFE9dGhpcy5fYXBsUS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHIoKX0pLnRoZW4oZnVuY3Rpb24oKXt0Ll9hcGxRQz10Ll9hcGxRQy0xfSksdGhpcy5fYXBsUS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHQuaXNMZWFkZXJ9KX0sImFwcGx5T25jZSIpLGF3YWl0TGVhZGVyc2hpcDpzKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2FMUHx8KHRoaXMuX2FMUD1reGEodGhpcykpLHRoaXMuX2FMUH0sImF3YWl0TGVhZGVyc2hpcCIpLHNldCBvbmR1cGxpY2F0ZShhKXt0aGlzLl9kcEw9YX0sZGllOnMoZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiB0aGlzLl9sc3Rucy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JldHVybiBlLmJyb2FkY2FzdENoYW5uZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLHQpfSksdGhpcy5fbHN0bnM9W10sdGhpcy5fdW5sLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIHQucmVtb3ZlKCl9KSx0aGlzLl91bmw9W10sdGhpcy5pc0xlYWRlciYmKHRoaXMuX2hhc0xlYWRlcj0hMSx0aGlzLmlzTGVhZGVyPSExKSx0aGlzLmlzRGVhZD0hMCxJbCh0aGlzLCJkZWF0aCIpfSwiZGllIil9O3Moa3hhLCJfYXdhaXRMZWFkZXJzaGlwT25jZSIpO3MoU3hhLCJmaWxsT3B0aW9uc1dpdGhEZWZhdWx0cyIpO3MoenhhLCJjcmVhdGVMZWFkZXJFbGVjdGlvbiIpfSk7dmFyIFI0dD1mKCgpPT57ejR0KCk7TjR0KCk7TFgoKX0pO3ZhciBPNHQ9ZigoKT0+e1NsKCk7bTMoKTtDWCgpO1I0dCgpfSk7dmFyIE9jZSxGY2UsRjR0PWYoKCk9PntPNHQoKTtPY2U9Z2xvYmFsVGhpcy5Ccm9hZGNhc3RDaGFubmVsO09jZXx8KE9jZT1JMyk7RmNlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkRlZXNDb21tcyIpfWNvbnN0cnVjdG9yKCl7dGhpcy5icm9hZGNhc3RDaGFubmVsPW5ldyBPY2UoImRlZXMtY29tbXMiKSx0aGlzLnR5cGVkcm91dGVyPW5ldyBNby5UeXBlZFJvdXRlcix0aGlzLnR5cGVkdGFyZ2V0PW5ldyBNby5UeXBlZFRhcmdldCh7cG9zdE1ldGhvZFdpdGhUeXBlZFJvdXRlcjpzKGFzeW5jIGU9Pnt0aGlzLnBvc3RNZXNzYWdlKGUpfSwicG9zdE1ldGhvZFdpdGhUeXBlZFJvdXRlciIpLHR5cGVkUm91dGVyUmVmOnRoaXMudHlwZWRyb3V0ZXJ9KSx0aGlzLmJyb2FkY2FzdENoYW5uZWwub25tZXNzYWdlPWFzeW5jIGU9PntsZXQgdD1lLm1ldGhvZD9lOmUuZGF0YTtjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeSh0KSk7bGV0IHI9YXdhaXQgdGhpcy50eXBlZHJvdXRlci5yb3V0ZUFuZEFkZFJlc3BvbnNlKHQse3NraXBIb29rczohMH0pO3ImJiFyLmVycm9yJiZ0aGlzLnBvc3RNZXNzYWdlKHIpfX1jcmVhdGVUeXBlZFJlcXVlc3QoZSl7cmV0dXJuIG5ldyBNby5UeXBlZFJlcXVlc3QodGhpcy50eXBlZHRhcmdldCxlKX1hc3luYyBwb3N0TWVzc2FnZShlKXt0aGlzLmJyb2FkY2FzdENoYW5uZWwucG9zdE1lc3NhZ2UoZSl9YXN5bmMgY3JlYXRlVHlwZWRIYW5kbGVyKGUsdCl7dGhpcy50eXBlZHJvdXRlci5hZGRUeXBlZEhhbmRsZXIobmV3IE1vLlR5cGVkSGFuZGxlcihlLHQpKX19fSk7dmFyIGFnPXt9O3J0KGFnLHtEZWVzQ29tbXM6KCk9PkZjZX0pO3ZhciBCNHQ9ZigoKT0+e0Y0dCgpfSk7ZnVuY3Rpb24gVGEoYSl7aWYoYSYmdHlwZW9mIGE9PSJvYmplY3QiKXN3aXRjaChhW1NpXSl7Y2FzZSB5bjpjYXNlIEwyOnJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIGRhKGEpe2lmKGEmJnR5cGVvZiBhPT0ib2JqZWN0Iilzd2l0Y2goYVtTaV0pe2Nhc2Ugcmc6Y2FzZSB5bjpjYXNlIGtvOmNhc2UgTDI6cmV0dXJuITB9cmV0dXJuITF9dmFyIHJnLHNnLHluLCRYLGtvLEwyLFNpLFNvLHpvLENvLHJhLFZ0LF9vLGlnLExhPWYoKCk9PntyZz1TeW1ib2wuZm9yKCJ5YW1sLmFsaWFzIiksc2c9U3ltYm9sLmZvcigieWFtbC5kb2N1bWVudCIpLHluPVN5bWJvbC5mb3IoInlhbWwubWFwIiksJFg9U3ltYm9sLmZvcigieWFtbC5wYWlyIiksa289U3ltYm9sLmZvcigieWFtbC5zY2FsYXIiKSxMMj1TeW1ib2wuZm9yKCJ5YW1sLnNlcSIpLFNpPVN5bWJvbC5mb3IoInlhbWwubm9kZS50eXBlIiksU289cyhhPT4hIWEmJnR5cGVvZiBhPT0ib2JqZWN0IiYmYVtTaV09PT1yZywiaXNBbGlhcyIpLHpvPXMoYT0+ISFhJiZ0eXBlb2YgYT09Im9iamVjdCImJmFbU2ldPT09c2csImlzRG9jdW1lbnQiKSxDbz1zKGE9PiEhYSYmdHlwZW9mIGE9PSJvYmplY3QiJiZhW1NpXT09PXluLCJpc01hcCIpLHJhPXMoYT0+ISFhJiZ0eXBlb2YgYT09Im9iamVjdCImJmFbU2ldPT09JFgsImlzUGFpciIpLFZ0PXMoYT0+ISFhJiZ0eXBlb2YgYT09Im9iamVjdCImJmFbU2ldPT09a28sImlzU2NhbGFyIiksX289cyhhPT4hIWEmJnR5cGVvZiBhPT0ib2JqZWN0IiYmYVtTaV09PT1MMiwiaXNTZXEiKTtzKFRhLCJpc0NvbGxlY3Rpb24iKTtzKGRhLCJpc05vZGUiKTtpZz1zKGE9PihWdChhKXx8VGEoYSkpJiYhIWEuYW5jaG9yLCJoYXNBbmNob3IiKX0pO2Z1bmN0aW9uIFVvKGEsZSl7bGV0IHQ9cTR0KGUpO3pvKGEpP1FoKG51bGwsYS5jb250ZW50cyx0LE9iamVjdC5mcmVlemUoW2FdKSk9PT0kMiYmKGEuY29udGVudHM9bnVsbCk6UWgobnVsbCxhLHQsT2JqZWN0LmZyZWV6ZShbXSkpfWZ1bmN0aW9uIFFoKGEsZSx0LHIpe2xldCBpPVY0dChhLGUsdCxyKTtpZihkYShpKXx8cmEoaSkpcmV0dXJuIGo0dChhLHIsaSksUWgoYSxpLHQscik7aWYodHlwZW9mIGkhPSJzeW1ib2wiKXtpZihUYShlKSl7cj1PYmplY3QuZnJlZXplKHIuY29uY2F0KGUpKTtmb3IobGV0IG89MDtvPGUuaXRlbXMubGVuZ3RoOysrbyl7bGV0IG49UWgobyxlLml0ZW1zW29dLHQscik7aWYodHlwZW9mIG49PSJudW1iZXIiKW89bi0xO2Vsc2V7aWYobj09PVRvKXJldHVybiBUbztuPT09JDImJihlLml0ZW1zLnNwbGljZShvLDEpLG8tPTEpfX19ZWxzZSBpZihyYShlKSl7cj1PYmplY3QuZnJlZXplKHIuY29uY2F0KGUpKTtsZXQgbz1RaCgia2V5IixlLmtleSx0LHIpO2lmKG89PT1UbylyZXR1cm4gVG87bz09PSQyJiYoZS5rZXk9bnVsbCk7bGV0IG49UWgoInZhbHVlIixlLnZhbHVlLHQscik7aWYobj09PVRvKXJldHVybiBUbztuPT09JDImJihlLnZhbHVlPW51bGwpfX1yZXR1cm4gaX1hc3luYyBmdW5jdGlvbiBSMyhhLGUpe2xldCB0PXE0dChlKTt6byhhKT9hd2FpdCBKaChudWxsLGEuY29udGVudHMsdCxPYmplY3QuZnJlZXplKFthXSkpPT09JDImJihhLmNvbnRlbnRzPW51bGwpOmF3YWl0IEpoKG51bGwsYSx0LE9iamVjdC5mcmVlemUoW10pKX1hc3luYyBmdW5jdGlvbiBKaChhLGUsdCxyKXtsZXQgaT1hd2FpdCBWNHQoYSxlLHQscik7aWYoZGEoaSl8fHJhKGkpKXJldHVybiBqNHQoYSxyLGkpLEpoKGEsaSx0LHIpO2lmKHR5cGVvZiBpIT0ic3ltYm9sIil7aWYoVGEoZSkpe3I9T2JqZWN0LmZyZWV6ZShyLmNvbmNhdChlKSk7Zm9yKGxldCBvPTA7bzxlLml0ZW1zLmxlbmd0aDsrK28pe2xldCBuPWF3YWl0IEpoKG8sZS5pdGVtc1tvXSx0LHIpO2lmKHR5cGVvZiBuPT0ibnVtYmVyIilvPW4tMTtlbHNle2lmKG49PT1UbylyZXR1cm4gVG87bj09PSQyJiYoZS5pdGVtcy5zcGxpY2UobywxKSxvLT0xKX19fWVsc2UgaWYocmEoZSkpe3I9T2JqZWN0LmZyZWV6ZShyLmNvbmNhdChlKSk7bGV0IG89YXdhaXQgSmgoImtleSIsZS5rZXksdCxyKTtpZihvPT09VG8pcmV0dXJuIFRvO289PT0kMiYmKGUua2V5PW51bGwpO2xldCBuPWF3YWl0IEpoKCJ2YWx1ZSIsZS52YWx1ZSx0LHIpO2lmKG49PT1UbylyZXR1cm4gVG87bj09PSQyJiYoZS52YWx1ZT1udWxsKX19cmV0dXJuIGl9ZnVuY3Rpb24gcTR0KGEpe3JldHVybiB0eXBlb2YgYT09Im9iamVjdCImJihhLkNvbGxlY3Rpb258fGEuTm9kZXx8YS5WYWx1ZSk/T2JqZWN0LmFzc2lnbih7QWxpYXM6YS5Ob2RlLE1hcDphLk5vZGUsU2NhbGFyOmEuTm9kZSxTZXE6YS5Ob2RlfSxhLlZhbHVlJiZ7TWFwOmEuVmFsdWUsU2NhbGFyOmEuVmFsdWUsU2VxOmEuVmFsdWV9LGEuQ29sbGVjdGlvbiYme01hcDphLkNvbGxlY3Rpb24sU2VxOmEuQ29sbGVjdGlvbn0sYSk6YX1mdW5jdGlvbiBWNHQoYSxlLHQscil7aWYodHlwZW9mIHQ9PSJmdW5jdGlvbiIpcmV0dXJuIHQoYSxlLHIpO2lmKENvKGUpKXJldHVybiB0Lk1hcD8uKGEsZSxyKTtpZihfbyhlKSlyZXR1cm4gdC5TZXE/LihhLGUscik7aWYocmEoZSkpcmV0dXJuIHQuUGFpcj8uKGEsZSxyKTtpZihWdChlKSlyZXR1cm4gdC5TY2FsYXI/LihhLGUscik7aWYoU28oZSkpcmV0dXJuIHQuQWxpYXM/LihhLGUscil9ZnVuY3Rpb24gajR0KGEsZSx0KXtsZXQgcj1lW2UubGVuZ3RoLTFdO2lmKFRhKHIpKXIuaXRlbXNbYV09dDtlbHNlIGlmKHJhKHIpKWE9PT0ia2V5Ij9yLmtleT10OnIudmFsdWU9dDtlbHNlIGlmKHpvKHIpKXIuY29udGVudHM9dDtlbHNle2xldCBpPVNvKHIpPyJhbGlhcyI6InNjYWxhciI7dGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgcmVwbGFjZSBub2RlIHdpdGggJHtpfSBwYXJlbnRgKX19dmFyIFRvLEg0dCwkMixvZz1mKCgpPT57TGEoKTtUbz1TeW1ib2woImJyZWFrIHZpc2l0IiksSDR0PVN5bWJvbCgic2tpcCBjaGlsZHJlbiIpLCQyPVN5bWJvbCgicmVtb3ZlIG5vZGUiKTtzKFVvLCJ2aXNpdCIpLFVvLkJSRUFLPVRvLFVvLlNLSVA9SDR0LFVvLlJFTU9WRT0kMjtzKFFoLCJ2aXNpdF8iKTtzKFIzLCJ2aXNpdEFzeW5jIiksUjMuQlJFQUs9VG8sUjMuU0tJUD1INHQsUjMuUkVNT1ZFPSQyO3MoSmgsInZpc2l0QXN5bmNfIik7cyhxNHQsImluaXRWaXNpdG9yIik7cyhWNHQsImNhbGxWaXNpdG9yIik7cyhqNHQsInJlcGxhY2VOb2RlIil9KTt2YXIgX3hhLFR4YSxmMSxCY2U9ZigoKT0+e0xhKCk7b2coKTtfeGE9eyIhIjoiJTIxIiwiLCI6IiUyQyIsIlsiOiIlNUIiLCJdIjoiJTVEIiwieyI6IiU3QiIsIn0iOiIlN0QifSxUeGE9cyhhPT5hLnJlcGxhY2UoL1shLFtcXXt9XS9nLGU9Pl94YVtlXSksImVzY2FwZVRhZ05hbWUiKSxmMT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkRpcmVjdGl2ZXMiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMuZG9jU3RhcnQ9bnVsbCx0aGlzLmRvY0VuZD0hMSx0aGlzLnlhbWw9T2JqZWN0LmFzc2lnbih7fSxhLmRlZmF1bHRZYW1sLGUpLHRoaXMudGFncz1PYmplY3QuYXNzaWduKHt9LGEuZGVmYXVsdFRhZ3MsdCl9Y2xvbmUoKXtsZXQgZT1uZXcgYSh0aGlzLnlhbWwsdGhpcy50YWdzKTtyZXR1cm4gZS5kb2NTdGFydD10aGlzLmRvY1N0YXJ0LGV9YXREb2N1bWVudCgpe2xldCBlPW5ldyBhKHRoaXMueWFtbCx0aGlzLnRhZ3MpO3N3aXRjaCh0aGlzLnlhbWwudmVyc2lvbil7Y2FzZSIxLjEiOnRoaXMuYXROZXh0RG9jdW1lbnQ9ITA7YnJlYWs7Y2FzZSIxLjIiOnRoaXMuYXROZXh0RG9jdW1lbnQ9ITEsdGhpcy55YW1sPXtleHBsaWNpdDphLmRlZmF1bHRZYW1sLmV4cGxpY2l0LHZlcnNpb246IjEuMiJ9LHRoaXMudGFncz1PYmplY3QuYXNzaWduKHt9LGEuZGVmYXVsdFRhZ3MpO2JyZWFrfXJldHVybiBlfWFkZChlLHQpe3RoaXMuYXROZXh0RG9jdW1lbnQmJih0aGlzLnlhbWw9e2V4cGxpY2l0OmEuZGVmYXVsdFlhbWwuZXhwbGljaXQsdmVyc2lvbjoiMS4xIn0sdGhpcy50YWdzPU9iamVjdC5hc3NpZ24oe30sYS5kZWZhdWx0VGFncyksdGhpcy5hdE5leHREb2N1bWVudD0hMSk7bGV0IHI9ZS50cmltKCkuc3BsaXQoL1sgXHRdKy8pLGk9ci5zaGlmdCgpO3N3aXRjaChpKXtjYXNlIiVUQUciOntpZihyLmxlbmd0aCE9PTImJih0KDAsIiVUQUcgZGlyZWN0aXZlIHNob3VsZCBjb250YWluIGV4YWN0bHkgdHdvIHBhcnRzIiksci5sZW5ndGg8MikpcmV0dXJuITE7bGV0W28sbl09cjtyZXR1cm4gdGhpcy50YWdzW29dPW4sITB9Y2FzZSIlWUFNTCI6e2lmKHRoaXMueWFtbC5leHBsaWNpdD0hMCxyLmxlbmd0aCE9PTEpcmV0dXJuIHQoMCwiJVlBTUwgZGlyZWN0aXZlIHNob3VsZCBjb250YWluIGV4YWN0bHkgb25lIHBhcnQiKSwhMTtsZXRbb109cjtpZihvPT09IjEuMSJ8fG89PT0iMS4yIilyZXR1cm4gdGhpcy55YW1sLnZlcnNpb249bywhMDt7bGV0IG49L15cZCtcLlxkKyQvLnRlc3Qobyk7cmV0dXJuIHQoNixgVW5zdXBwb3J0ZWQgWUFNTCB2ZXJzaW9uICR7b31gLG4pLCExfX1kZWZhdWx0OnJldHVybiB0KDAsYFVua25vd24gZGlyZWN0aXZlICR7aX1gLCEwKSwhMX19dGFnTmFtZShlLHQpe2lmKGU9PT0iISIpcmV0dXJuIiEiO2lmKGVbMF0hPT0iISIpcmV0dXJuIHQoYE5vdCBhIHZhbGlkIHRhZzogJHtlfWApLG51bGw7aWYoZVsxXT09PSI8Iil7bGV0IG49ZS5zbGljZSgyLC0xKTtyZXR1cm4gbj09PSIhInx8bj09PSIhISI/KHQoYFZlcmJhdGltIHRhZ3MgYXJlbid0IHJlc29sdmVkLCBzbyAke2V9IGlzIGludmFsaWQuYCksbnVsbCk6KGVbZS5sZW5ndGgtMV0hPT0iPiImJnQoIlZlcmJhdGltIHRhZ3MgbXVzdCBlbmQgd2l0aCBhID4iKSxuKX1sZXRbLHIsaV09ZS5tYXRjaCgvXiguKiEpKFteIV0qKSQvcyk7aXx8dChgVGhlICR7ZX0gdGFnIGhhcyBubyBzdWZmaXhgKTtsZXQgbz10aGlzLnRhZ3Nbcl07aWYobyl0cnl7cmV0dXJuIG8rZGVjb2RlVVJJQ29tcG9uZW50KGkpfWNhdGNoKG4pe3JldHVybiB0KFN0cmluZyhuKSksbnVsbH1yZXR1cm4gcj09PSIhIj9lOih0KGBDb3VsZCBub3QgcmVzb2x2ZSB0YWc6ICR7ZX1gKSxudWxsKX10YWdTdHJpbmcoZSl7Zm9yKGxldFt0LHJdb2YgT2JqZWN0LmVudHJpZXModGhpcy50YWdzKSlpZihlLnN0YXJ0c1dpdGgocikpcmV0dXJuIHQrVHhhKGUuc3Vic3RyaW5nKHIubGVuZ3RoKSk7cmV0dXJuIGVbMF09PT0iISI/ZTpgITwke2V9PmB9dG9TdHJpbmcoZSl7bGV0IHQ9dGhpcy55YW1sLmV4cGxpY2l0P1tgJVlBTUwgJHt0aGlzLnlhbWwudmVyc2lvbnx8IjEuMiJ9YF06W10scj1PYmplY3QuZW50cmllcyh0aGlzLnRhZ3MpLGk7aWYoZSYmci5sZW5ndGg+MCYmZGEoZS5jb250ZW50cykpe2xldCBvPXt9O1VvKGUuY29udGVudHMsKG4sbCk9PntkYShsKSYmbC50YWcmJihvW2wudGFnXT0hMCl9KSxpPU9iamVjdC5rZXlzKG8pfWVsc2UgaT1bXTtmb3IobGV0W28sbl1vZiByKW89PT0iISEiJiZuPT09InRhZzp5YW1sLm9yZywyMDAyOiJ8fCghZXx8aS5zb21lKGw9Pmwuc3RhcnRzV2l0aChuKSkpJiZ0LnB1c2goYCVUQUcgJHtvfSAke259YCk7cmV0dXJuIHQuam9pbihgCmApfX07ZjEuZGVmYXVsdFlhbWw9e2V4cGxpY2l0OiExLHZlcnNpb246IjEuMiJ9LGYxLmRlZmF1bHRUYWdzPXsiISEiOiJ0YWc6eWFtbC5vcmcsMjAwMjoifX0pO2Z1bmN0aW9uIG5nKGEpe2lmKC9bXHgwMC1ceDE5XHMsW1xde31dLy50ZXN0KGEpKXtsZXQgdD1gQW5jaG9yIG11c3Qgbm90IGNvbnRhaW4gd2hpdGVzcGFjZSBvciBjb250cm9sIGNoYXJhY3RlcnM6ICR7SlNPTi5zdHJpbmdpZnkoYSl9YDt0aHJvdyBuZXcgRXJyb3IodCl9cmV0dXJuITB9ZnVuY3Rpb24gRFgoYSl7bGV0IGU9bmV3IFNldDtyZXR1cm4gVW8oYSx7VmFsdWUodCxyKXtyLmFuY2hvciYmZS5hZGQoci5hbmNob3IpfX0pLGV9ZnVuY3Rpb24gQVgoYSxlKXtmb3IobGV0IHQ9MTs7Kyt0KXtsZXQgcj1gJHthfSR7dH1gO2lmKCFlLmhhcyhyKSlyZXR1cm4gcn19ZnVuY3Rpb24gSGNlKGEsZSl7bGV0IHQ9W10scj1uZXcgTWFwLGk9bnVsbDtyZXR1cm57b25BbmNob3I6cyhvPT57dC5wdXNoKG8pLGk/PyhpPURYKGEpKTtsZXQgbj1BWChlLGkpO3JldHVybiBpLmFkZChuKSxufSwib25BbmNob3IiKSxzZXRBbmNob3JzOnMoKCk9Pntmb3IobGV0IG8gb2YgdCl7bGV0IG49ci5nZXQobyk7aWYodHlwZW9mIG49PSJvYmplY3QiJiZuLmFuY2hvciYmKFZ0KG4ubm9kZSl8fFRhKG4ubm9kZSkpKW4ubm9kZS5hbmNob3I9bi5hbmNob3I7ZWxzZXtsZXQgbD1uZXcgRXJyb3IoIkZhaWxlZCB0byByZXNvbHZlIHJlcGVhdGVkIG9iamVjdCAodGhpcyBzaG91bGQgbm90IGhhcHBlbikiKTt0aHJvdyBsLnNvdXJjZT1vLGx9fX0sInNldEFuY2hvcnMiKSxzb3VyY2VPYmplY3RzOnJ9fXZhciBFWD1mKCgpPT57TGEoKTtvZygpO3MobmcsImFuY2hvcklzVmFsaWQiKTtzKERYLCJhbmNob3JOYW1lcyIpO3MoQVgsImZpbmROZXdBbmNob3IiKTtzKEhjZSwiY3JlYXRlTm9kZUFuY2hvcnMiKX0pO2Z1bmN0aW9uIE5sKGEsZSx0LHIpe2lmKHImJnR5cGVvZiByPT0ib2JqZWN0IilpZihBcnJheS5pc0FycmF5KHIpKWZvcihsZXQgaT0wLG89ci5sZW5ndGg7aTxvOysraSl7bGV0IG49cltpXSxsPU5sKGEscixTdHJpbmcoaSksbik7bD09PXZvaWQgMD9kZWxldGUgcltpXTpsIT09biYmKHJbaV09bCl9ZWxzZSBpZihyIGluc3RhbmNlb2YgTWFwKWZvcihsZXQgaSBvZiBBcnJheS5mcm9tKHIua2V5cygpKSl7bGV0IG89ci5nZXQoaSksbj1ObChhLHIsaSxvKTtuPT09dm9pZCAwP3IuZGVsZXRlKGkpOm4hPT1vJiZyLnNldChpLG4pfWVsc2UgaWYociBpbnN0YW5jZW9mIFNldClmb3IobGV0IGkgb2YgQXJyYXkuZnJvbShyKSl7bGV0IG89TmwoYSxyLGksaSk7bz09PXZvaWQgMD9yLmRlbGV0ZShpKTpvIT09aSYmKHIuZGVsZXRlKGkpLHIuYWRkKG8pKX1lbHNlIGZvcihsZXRbaSxvXW9mIE9iamVjdC5lbnRyaWVzKHIpKXtsZXQgbj1ObChhLHIsaSxvKTtuPT09dm9pZCAwP2RlbGV0ZSByW2ldOm4hPT1vJiYocltpXT1uKX1yZXR1cm4gYS5jYWxsKGUsdCxyKX12YXIgcWNlPWYoKCk9PntzKE5sLCJhcHBseVJldml2ZXIiKX0pO2Z1bmN0aW9uIGNzKGEsZSx0KXtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBhLm1hcCgocixpKT0+Y3MocixTdHJpbmcoaSksdCkpO2lmKGEmJnR5cGVvZiBhLnRvSlNPTj09ImZ1bmN0aW9uIil7aWYoIXR8fCFpZyhhKSlyZXR1cm4gYS50b0pTT04oZSx0KTtsZXQgcj17YWxpYXNDb3VudDowLGNvdW50OjEscmVzOnZvaWQgMH07dC5hbmNob3JzLnNldChhLHIpLHQub25DcmVhdGU9bz0+e3IucmVzPW8sZGVsZXRlIHQub25DcmVhdGV9O2xldCBpPWEudG9KU09OKGUsdCk7cmV0dXJuIHQub25DcmVhdGUmJnQub25DcmVhdGUoaSksaX1yZXR1cm4gdHlwZW9mIGE9PSJiaWdpbnQiJiYhdD8ua2VlcD9OdW1iZXIoYSk6YX12YXIgTDA9ZigoKT0+e0xhKCk7cyhjcywidG9KUyIpfSk7dmFyIFJsLFBYPWYoKCk9PntxY2UoKTtMYSgpO0wwKCk7Umw9Y2xhc3N7c3RhdGlje3ModGhpcywiTm9kZUJhc2UiKX1jb25zdHJ1Y3RvcihlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxTaSx7dmFsdWU6ZX0pfWNsb25lKCl7bGV0IGU9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcyksT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnModGhpcykpO3JldHVybiB0aGlzLnJhbmdlJiYoZS5yYW5nZT10aGlzLnJhbmdlLnNsaWNlKCkpLGV9dG9KUyhlLHttYXBBc01hcDp0LG1heEFsaWFzQ291bnQ6cixvbkFuY2hvcjppLHJldml2ZXI6b309e30pe2lmKCF6byhlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBIGRvY3VtZW50IGFyZ3VtZW50IGlzIHJlcXVpcmVkIik7bGV0IG49e2FuY2hvcnM6bmV3IE1hcCxkb2M6ZSxrZWVwOiEwLG1hcEFzTWFwOnQ9PT0hMCxtYXBLZXlXYXJuZWQ6ITEsbWF4QWxpYXNDb3VudDp0eXBlb2Ygcj09Im51bWJlciI/cjoxMDB9LGw9Y3ModGhpcywiIixuKTtpZih0eXBlb2YgaT09ImZ1bmN0aW9uIilmb3IobGV0e2NvdW50OmQscmVzOmN9b2Ygbi5hbmNob3JzLnZhbHVlcygpKWkoYyxkKTtyZXR1cm4gdHlwZW9mIG89PSJmdW5jdGlvbiI/Tmwobyx7IiI6bH0sIiIsbCk6bH19fSk7ZnVuY3Rpb24gSVgoYSxlLHQpe2lmKFNvKGUpKXtsZXQgcj1lLnJlc29sdmUoYSksaT10JiZyJiZ0LmdldChyKTtyZXR1cm4gaT9pLmNvdW50KmkuYWxpYXNDb3VudDowfWVsc2UgaWYoVGEoZSkpe2xldCByPTA7Zm9yKGxldCBpIG9mIGUuaXRlbXMpe2xldCBvPUlYKGEsaSx0KTtvPnImJihyPW8pfXJldHVybiByfWVsc2UgaWYocmEoZSkpe2xldCByPUlYKGEsZS5rZXksdCksaT1JWChhLGUudmFsdWUsdCk7cmV0dXJuIE1hdGgubWF4KHIsaSl9cmV0dXJuIDF9dmFyIHduLGxnPWYoKCk9PntFWCgpO29nKCk7TGEoKTtQWCgpO0wwKCk7d249Y2xhc3MgZXh0ZW5kcyBSbHtzdGF0aWN7cyh0aGlzLCJBbGlhcyIpfWNvbnN0cnVjdG9yKGUpe3N1cGVyKHJnKSx0aGlzLnNvdXJjZT1lLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJ0YWciLHtzZXQoKXt0aHJvdyBuZXcgRXJyb3IoIkFsaWFzIG5vZGVzIGNhbm5vdCBoYXZlIHRhZ3MiKX19KX1yZXNvbHZlKGUsdCl7aWYodD8ubWF4QWxpYXNDb3VudD09PTApdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKCJBbGlhcyByZXNvbHV0aW9uIGlzIGRpc2FibGVkIik7bGV0IHI7dD8uYWxpYXNSZXNvbHZlQ2FjaGU/cj10LmFsaWFzUmVzb2x2ZUNhY2hlOihyPVtdLFVvKGUse05vZGU6cygobyxuKT0+eyhTbyhuKXx8aWcobikpJiZyLnB1c2gobil9LCJOb2RlIil9KSx0JiYodC5hbGlhc1Jlc29sdmVDYWNoZT1yKSk7bGV0IGk7Zm9yKGxldCBvIG9mIHIpe2lmKG89PT10aGlzKWJyZWFrO28uYW5jaG9yPT09dGhpcy5zb3VyY2UmJihpPW8pfXJldHVybiBpfXRvSlNPTihlLHQpe2lmKCF0KXJldHVybntzb3VyY2U6dGhpcy5zb3VyY2V9O2xldHthbmNob3JzOnIsZG9jOmksbWF4QWxpYXNDb3VudDpvfT10LG49dGhpcy5yZXNvbHZlKGksdCk7aWYoIW4pe2xldCBkPWBVbnJlc29sdmVkIGFsaWFzICh0aGUgYW5jaG9yIG11c3QgYmUgc2V0IGJlZm9yZSB0aGUgYWxpYXMpOiAke3RoaXMuc291cmNlfWA7dGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKGQpfWxldCBsPXIuZ2V0KG4pO2lmKGx8fChjcyhuLG51bGwsdCksbD1yLmdldChuKSksbD8ucmVzPT09dm9pZCAwKXtsZXQgZD0iVGhpcyBzaG91bGQgbm90IGhhcHBlbjogQWxpYXMgYW5jaG9yIHdhcyBub3QgcmVzb2x2ZWQ/Ijt0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoZCl9aWYobz49MCYmKGwuY291bnQrPTEsbC5hbGlhc0NvdW50PT09MCYmKGwuYWxpYXNDb3VudD1JWChpLG4scikpLGwuY291bnQqbC5hbGlhc0NvdW50Pm8pKXtsZXQgZD0iRXhjZXNzaXZlIGFsaWFzIGNvdW50IGluZGljYXRlcyBhIHJlc291cmNlIGV4aGF1c3Rpb24gYXR0YWNrIjt0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoZCl9cmV0dXJuIGwucmVzfXRvU3RyaW5nKGUsdCxyKXtsZXQgaT1gKiR7dGhpcy5zb3VyY2V9YDtpZihlKXtpZihuZyh0aGlzLnNvdXJjZSksZS5vcHRpb25zLnZlcmlmeUFsaWFzT3JkZXImJiFlLmFuY2hvcnMuaGFzKHRoaXMuc291cmNlKSl7bGV0IG89YFVucmVzb2x2ZWQgYWxpYXMgKHRoZSBhbmNob3IgbXVzdCBiZSBzZXQgYmVmb3JlIHRoZSBhbGlhcyk6ICR7dGhpcy5zb3VyY2V9YDt0aHJvdyBuZXcgRXJyb3Iobyl9aWYoZS5pbXBsaWNpdEtleSlyZXR1cm5gJHtpfSBgfXJldHVybiBpfX07cyhJWCwiZ2V0QWxpYXNDb3VudCIpfSk7dmFyIGNnLGh0LGRzPWYoKCk9PntMYSgpO1BYKCk7TDAoKTtjZz1zKGE9PiFhfHx0eXBlb2YgYSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGEhPSJvYmplY3QiLCJpc1NjYWxhclZhbHVlIiksaHQ9Y2xhc3MgZXh0ZW5kcyBSbHtzdGF0aWN7cyh0aGlzLCJTY2FsYXIiKX1jb25zdHJ1Y3RvcihlKXtzdXBlcihrbyksdGhpcy52YWx1ZT1lfXRvSlNPTihlLHQpe3JldHVybiB0Py5rZWVwP3RoaXMudmFsdWU6Y3ModGhpcy52YWx1ZSxlLHQpfXRvU3RyaW5nKCl7cmV0dXJuIFN0cmluZyh0aGlzLnZhbHVlKX19O2h0LkJMT0NLX0ZPTERFRD0iQkxPQ0tfRk9MREVEIixodC5CTE9DS19MSVRFUkFMPSJCTE9DS19MSVRFUkFMIixodC5QTEFJTj0iUExBSU4iLGh0LlFVT1RFX0RPVUJMRT0iUVVPVEVfRE9VQkxFIixodC5RVU9URV9TSU5HTEU9IlFVT1RFX1NJTkdMRSJ9KTtmdW5jdGlvbiAkeGEoYSxlLHQpe2lmKGUpe2xldCByPXQuZmlsdGVyKG89Pm8udGFnPT09ZSksaT1yLmZpbmQobz0+IW8uZm9ybWF0KT8/clswXTtpZighaSl0aHJvdyBuZXcgRXJyb3IoYFRhZyAke2V9IG5vdCBmb3VuZGApO3JldHVybiBpfXJldHVybiB0LmZpbmQocj0+ci5pZGVudGlmeT8uKGEpJiYhci5mb3JtYXQpfWZ1bmN0aW9uIEQyKGEsZSx0KXtpZih6byhhKSYmKGE9YS5jb250ZW50cyksZGEoYSkpcmV0dXJuIGE7aWYocmEoYSkpe2xldCB1PXQuc2NoZW1hW3luXS5jcmVhdGVOb2RlPy4odC5zY2hlbWEsbnVsbCx0KTtyZXR1cm4gdS5pdGVtcy5wdXNoKGEpLHV9KGEgaW5zdGFuY2VvZiBTdHJpbmd8fGEgaW5zdGFuY2VvZiBOdW1iZXJ8fGEgaW5zdGFuY2VvZiBCb29sZWFufHx0eXBlb2YgQmlnSW50PCJ1IiYmYSBpbnN0YW5jZW9mIEJpZ0ludCkmJihhPWEudmFsdWVPZigpKTtsZXR7YWxpYXNEdXBsaWNhdGVPYmplY3RzOnIsb25BbmNob3I6aSxvblRhZ09iajpvLHNjaGVtYTpuLHNvdXJjZU9iamVjdHM6bH09dCxkO2lmKHImJmEmJnR5cGVvZiBhPT0ib2JqZWN0Iil7aWYoZD1sLmdldChhKSxkKXJldHVybiBkLmFuY2hvcj8/KGQuYW5jaG9yPWkoYSkpLG5ldyB3bihkLmFuY2hvcik7ZD17YW5jaG9yOm51bGwsbm9kZTpudWxsfSxsLnNldChhLGQpfWU/LnN0YXJ0c1dpdGgoIiEhIikmJihlPUx4YStlLnNsaWNlKDIpKTtsZXQgYz0keGEoYSxlLG4udGFncyk7aWYoIWMpe2lmKGEmJnR5cGVvZiBhLnRvSlNPTj09ImZ1bmN0aW9uIiYmKGE9YS50b0pTT04oKSksIWF8fHR5cGVvZiBhIT0ib2JqZWN0Iil7bGV0IHU9bmV3IGh0KGEpO3JldHVybiBkJiYoZC5ub2RlPXUpLHV9Yz1hIGluc3RhbmNlb2YgTWFwP25beW5dOlN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoYSk/bltMMl06blt5bl19byYmKG8oYyksZGVsZXRlIHQub25UYWdPYmopO2xldCBwPWM/LmNyZWF0ZU5vZGU/Yy5jcmVhdGVOb2RlKHQuc2NoZW1hLGEsdCk6dHlwZW9mIGM/Lm5vZGVDbGFzcz8uZnJvbT09ImZ1bmN0aW9uIj9jLm5vZGVDbGFzcy5mcm9tKHQuc2NoZW1hLGEsdCk6bmV3IGh0KGEpO3JldHVybiBlP3AudGFnPWU6Yy5kZWZhdWx0fHwocC50YWc9Yy50YWcpLGQmJihkLm5vZGU9cCkscH12YXIgTHhhLGRnPWYoKCk9PntsZygpO0xhKCk7ZHMoKTtMeGE9InRhZzp5YW1sLm9yZywyMDAyOiI7cygkeGEsImZpbmRUYWdPYmplY3QiKTtzKEQyLCJjcmVhdGVOb2RlIil9KTtmdW5jdGlvbiBlOChhLGUsdCl7bGV0IHI9dDtmb3IobGV0IGk9ZS5sZW5ndGgtMTtpPj0wOy0taSl7bGV0IG89ZVtpXTtpZih0eXBlb2Ygbz09Im51bWJlciImJk51bWJlci5pc0ludGVnZXIobykmJm8+PTApe2xldCBuPVtdO25bb109cixyPW59ZWxzZSByPW5ldyBNYXAoW1tvLHJdXSl9cmV0dXJuIEQyKHIsdm9pZCAwLHthbGlhc0R1cGxpY2F0ZU9iamVjdHM6ITEsa2VlcFVuZGVmaW5lZDohMSxvbkFuY2hvcjpzKCgpPT57dGhyb3cgbmV3IEVycm9yKCJUaGlzIHNob3VsZCBub3QgaGFwcGVuLCBwbGVhc2UgcmVwb3J0IGEgYnVnLiIpfSwib25BbmNob3IiKSxzY2hlbWE6YSxzb3VyY2VPYmplY3RzOm5ldyBNYXB9KX12YXIgRjMsTzMsTlg9ZigoKT0+e2RnKCk7TGEoKTtQWCgpO3MoZTgsImNvbGxlY3Rpb25Gcm9tUGF0aCIpO0YzPXMoYT0+YT09bnVsbHx8dHlwZW9mIGE9PSJvYmplY3QiJiYhIWFbU3ltYm9sLml0ZXJhdG9yXSgpLm5leHQoKS5kb25lLCJpc0VtcHR5UGF0aCIpLE8zPWNsYXNzIGV4dGVuZHMgUmx7c3RhdGlje3ModGhpcywiQ29sbGVjdGlvbiIpfWNvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsInNjaGVtYSIse3ZhbHVlOnQsY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITB9KX1jbG9uZShlKXtsZXQgdD1PYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyh0aGlzKSk7cmV0dXJuIGUmJih0LnNjaGVtYT1lKSx0Lml0ZW1zPXQuaXRlbXMubWFwKHI9PmRhKHIpfHxyYShyKT9yLmNsb25lKGUpOnIpLHRoaXMucmFuZ2UmJih0LnJhbmdlPXRoaXMucmFuZ2Uuc2xpY2UoKSksdH1hZGRJbihlLHQpe2lmKEYzKGUpKXRoaXMuYWRkKHQpO2Vsc2V7bGV0W3IsLi4uaV09ZSxvPXRoaXMuZ2V0KHIsITApO2lmKFRhKG8pKW8uYWRkSW4oaSx0KTtlbHNlIGlmKG89PT12b2lkIDAmJnRoaXMuc2NoZW1hKXRoaXMuc2V0KHIsZTgodGhpcy5zY2hlbWEsaSx0KSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIFlBTUwgY29sbGVjdGlvbiBhdCAke3J9LiBSZW1haW5pbmcgcGF0aDogJHtpfWApfX1kZWxldGVJbihlKXtsZXRbdCwuLi5yXT1lO2lmKHIubGVuZ3RoPT09MClyZXR1cm4gdGhpcy5kZWxldGUodCk7bGV0IGk9dGhpcy5nZXQodCwhMCk7aWYoVGEoaSkpcmV0dXJuIGkuZGVsZXRlSW4ocik7dGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBZQU1MIGNvbGxlY3Rpb24gYXQgJHt0fS4gUmVtYWluaW5nIHBhdGg6ICR7cn1gKX1nZXRJbihlLHQpe2xldFtyLC4uLmldPWUsbz10aGlzLmdldChyLCEwKTtyZXR1cm4gaS5sZW5ndGg9PT0wPyF0JiZWdChvKT9vLnZhbHVlOm86VGEobyk/by5nZXRJbihpLHQpOnZvaWQgMH1oYXNBbGxOdWxsVmFsdWVzKGUpe3JldHVybiB0aGlzLml0ZW1zLmV2ZXJ5KHQ9PntpZighcmEodCkpcmV0dXJuITE7bGV0IHI9dC52YWx1ZTtyZXR1cm4gcj09bnVsbHx8ZSYmVnQocikmJnIudmFsdWU9PW51bGwmJiFyLmNvbW1lbnRCZWZvcmUmJiFyLmNvbW1lbnQmJiFyLnRhZ30pfWhhc0luKGUpe2xldFt0LC4uLnJdPWU7aWYoci5sZW5ndGg9PT0wKXJldHVybiB0aGlzLmhhcyh0KTtsZXQgaT10aGlzLmdldCh0LCEwKTtyZXR1cm4gVGEoaSk/aS5oYXNJbihyKTohMX1zZXRJbihlLHQpe2xldFtyLC4uLmldPWU7aWYoaS5sZW5ndGg9PT0wKXRoaXMuc2V0KHIsdCk7ZWxzZXtsZXQgbz10aGlzLmdldChyLCEwKTtpZihUYShvKSlvLnNldEluKGksdCk7ZWxzZSBpZihvPT09dm9pZCAwJiZ0aGlzLnNjaGVtYSl0aGlzLnNldChyLGU4KHRoaXMuc2NoZW1hLGksdCkpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBZQU1MIGNvbGxlY3Rpb24gYXQgJHtyfS4gUmVtYWluaW5nIHBhdGg6ICR7aX1gKX19fX0pO2Z1bmN0aW9uIFdvKGEsZSl7cmV0dXJuL15cbiskLy50ZXN0KGEpP2Euc3Vic3RyaW5nKDEpOmU/YS5yZXBsYWNlKC9eKD8hICokKS9nbSxlKTphfXZhciBWY2UsaDEsdWc9ZigoKT0+e1ZjZT1zKGE9PmEucmVwbGFjZSgvXig/ISQpKD86ICQpPy9nbSwiIyIpLCJzdHJpbmdpZnlDb21tZW50Iik7cyhXbywiaW5kZW50Q29tbWVudCIpO2gxPXMoKGEsZSx0KT0+YS5lbmRzV2l0aChgCmApP1dvKHQsZSk6dC5pbmNsdWRlcyhgCmApP2AKYCtXbyh0LGUpOihhLmVuZHNXaXRoKCIgIik/IiI6IiAiKSt0LCJsaW5lQ29tbWVudCIpfSk7ZnVuY3Rpb24gYTgoYSxlLHQ9ImZsb3ciLHtpbmRlbnRBdFN0YXJ0OnIsbGluZVdpZHRoOmk9ODAsbWluQ29udGVudFdpZHRoOm89MjAsb25Gb2xkOm4sb25PdmVyZmxvdzpsfT17fSl7aWYoIWl8fGk8MClyZXR1cm4gYTtpPG8mJihvPTApO2xldCBkPU1hdGgubWF4KDErbywxK2ktZS5sZW5ndGgpO2lmKGEubGVuZ3RoPD1kKXJldHVybiBhO2xldCBjPVtdLHA9e30sdT1pLWUubGVuZ3RoO3R5cGVvZiByPT0ibnVtYmVyIiYmKHI+aS1NYXRoLm1heCgyLG8pP2MucHVzaCgwKTp1PWktcik7bGV0IG0sdix4PSExLGI9LTEsZz0tMSx5PS0xO3Q9PT1wZyYmKGI9VTR0KGEsYixlLmxlbmd0aCksYiE9PS0xJiYodT1iK2QpKTtmb3IobGV0IEM7Qz1hW2IrPTFdOyl7aWYodD09PXQ4JiZDPT09IlxcIil7c3dpdGNoKGc9YixhW2IrMV0pe2Nhc2UieCI6Yis9MzticmVhaztjYXNlInUiOmIrPTU7YnJlYWs7Y2FzZSJVIjpiKz05O2JyZWFrO2RlZmF1bHQ6Yis9MX15PWJ9aWYoQz09PWAKYCl0PT09cGcmJihiPVU0dChhLGIsZS5sZW5ndGgpKSx1PWIrZS5sZW5ndGgrZCxtPXZvaWQgMDtlbHNle2lmKEM9PT0iICImJnYmJnYhPT0iICImJnYhPT1gCmAmJnYhPT0iCSIpe2xldCBOPWFbYisxXTtOJiZOIT09IiAiJiZOIT09YApgJiZOIT09IgkiJiYobT1iKX1pZihiPj11KWlmKG0pYy5wdXNoKG0pLHU9bStkLG09dm9pZCAwO2Vsc2UgaWYodD09PXQ4KXtmb3IoO3Y9PT0iICJ8fHY9PT0iCSI7KXY9QyxDPWFbYis9MV0seD0hMDtsZXQgTj1iPnkrMT9iLTI6Zy0xO2lmKHBbTl0pcmV0dXJuIGE7Yy5wdXNoKE4pLHBbTl09ITAsdT1OK2QsbT12b2lkIDB9ZWxzZSB4PSEwfXY9Q31pZih4JiZsJiZsKCksYy5sZW5ndGg9PT0wKXJldHVybiBhO24mJm4oKTtsZXQgaz1hLnNsaWNlKDAsY1swXSk7Zm9yKGxldCBDPTA7QzxjLmxlbmd0aDsrK0Mpe2xldCBOPWNbQ10sXz1jW0MrMV18fGEubGVuZ3RoO049PT0wP2s9YAoke2V9JHthLnNsaWNlKDAsXyl9YDoodD09PXQ4JiZwW05dJiYoays9YCR7YVtOXX1cXGApLGsrPWAKJHtlfSR7YS5zbGljZShOKzEsXyl9YCl9cmV0dXJuIGt9ZnVuY3Rpb24gVTR0KGEsZSx0KXtsZXQgcj1lLGk9ZSsxLG89YVtpXTtmb3IoO289PT0iICJ8fG89PT0iCSI7KWlmKGU8aSt0KW89YVsrK2VdO2Vsc2V7ZG8gbz1hWysrZV07d2hpbGUobyYmbyE9PWAKYCk7cj1lLGk9ZSsxLG89YVtpXX1yZXR1cm4gcn12YXIgUlgscGcsdDgsVzR0PWYoKCk9PntSWD0iZmxvdyIscGc9ImJsb2NrIix0OD0icXVvdGVkIjtzKGE4LCJmb2xkRmxvd0xpbmVzIik7cyhVNHQsImNvbnN1bWVNb3JlSW5kZW50ZWRMaW5lcyIpfSk7ZnVuY3Rpb24gRHhhKGEsZSx0KXtpZighZXx8ZTwwKXJldHVybiExO2xldCByPWUtdCxpPWEubGVuZ3RoO2lmKGk8PXIpcmV0dXJuITE7Zm9yKGxldCBvPTAsbj0wO288aTsrK28paWYoYVtvXT09PWAKYCl7aWYoby1uPnIpcmV0dXJuITA7aWYobj1vKzEsaS1uPD1yKXJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIGZnKGEsZSl7bGV0IHQ9SlNPTi5zdHJpbmdpZnkoYSk7aWYoZS5vcHRpb25zLmRvdWJsZVF1b3RlZEFzSlNPTilyZXR1cm4gdDtsZXR7aW1wbGljaXRLZXk6cn09ZSxpPWUub3B0aW9ucy5kb3VibGVRdW90ZWRNaW5NdWx0aUxpbmVMZW5ndGgsbz1lLmluZGVudHx8KEZYKGEpPyIgICI6IiIpLG49IiIsbD0wO2ZvcihsZXQgZD0wLGM9dFtkXTtjO2M9dFsrK2RdKWlmKGM9PT0iICImJnRbZCsxXT09PSJcXCImJnRbZCsyXT09PSJuIiYmKG4rPXQuc2xpY2UobCxkKSsiXFwgIixkKz0xLGw9ZCxjPSJcXCIpLGM9PT0iXFwiKXN3aXRjaCh0W2QrMV0pe2Nhc2UidSI6e24rPXQuc2xpY2UobCxkKTtsZXQgcD10LnN1YnN0cihkKzIsNCk7c3dpdGNoKHApe2Nhc2UiMDAwMCI6bis9IlxcMCI7YnJlYWs7Y2FzZSIwMDA3IjpuKz0iXFxhIjticmVhaztjYXNlIjAwMGIiOm4rPSJcXHYiO2JyZWFrO2Nhc2UiMDAxYiI6bis9IlxcZSI7YnJlYWs7Y2FzZSIwMDg1IjpuKz0iXFxOIjticmVhaztjYXNlIjAwYTAiOm4rPSJcXF8iO2JyZWFrO2Nhc2UiMjAyOCI6bis9IlxcTCI7YnJlYWs7Y2FzZSIyMDI5IjpuKz0iXFxQIjticmVhaztkZWZhdWx0OnAuc3Vic3RyKDAsMik9PT0iMDAiP24rPSJcXHgiK3Auc3Vic3RyKDIpOm4rPXQuc3Vic3RyKGQsNil9ZCs9NSxsPWQrMX1icmVhaztjYXNlIm4iOmlmKHJ8fHRbZCsyXT09PSciJ3x8dC5sZW5ndGg8aSlkKz0xO2Vsc2V7Zm9yKG4rPXQuc2xpY2UobCxkKStgCgpgO3RbZCsyXT09PSJcXCImJnRbZCszXT09PSJuIiYmdFtkKzRdIT09JyInOyluKz1gCmAsZCs9MjtuKz1vLHRbZCsyXT09PSIgIiYmKG4rPSJcXCIpLGQrPTEsbD1kKzF9YnJlYWs7ZGVmYXVsdDpkKz0xfXJldHVybiBuPWw/bit0LnNsaWNlKGwpOnQscj9uOmE4KG4sbyx0OCxPWChlLCExKSl9ZnVuY3Rpb24gamNlKGEsZSl7aWYoZS5vcHRpb25zLnNpbmdsZVF1b3RlPT09ITF8fGUuaW1wbGljaXRLZXkmJmEuaW5jbHVkZXMoYApgKXx8L1sgXHRdXG58XG5bIFx0XS8udGVzdChhKSlyZXR1cm4gZmcoYSxlKTtsZXQgdD1lLmluZGVudHx8KEZYKGEpPyIgICI6IiIpLHI9IiciK2EucmVwbGFjZSgvJy9nLCInJyIpLnJlcGxhY2UoL1xuKy9nLGAkJgoke3R9YCkrIiciO3JldHVybiBlLmltcGxpY2l0S2V5P3I6YTgocix0LFJYLE9YKGUsITEpKX1mdW5jdGlvbiByOChhLGUpe2xldHtzaW5nbGVRdW90ZTp0fT1lLm9wdGlvbnMscjtpZih0PT09ITEpcj1mZztlbHNle2xldCBpPWEuaW5jbHVkZXMoJyInKSxvPWEuaW5jbHVkZXMoIiciKTtpJiYhbz9yPWpjZTpvJiYhaT9yPWZnOnI9dD9qY2U6Zmd9cmV0dXJuIHIoYSxlKX1mdW5jdGlvbiBCWCh7Y29tbWVudDphLHR5cGU6ZSx2YWx1ZTp0fSxyLGksbyl7bGV0e2Jsb2NrUXVvdGU6bixjb21tZW50U3RyaW5nOmwsbGluZVdpZHRoOmR9PXIub3B0aW9ucztpZighbnx8L1xuW1x0IF0rJC8udGVzdCh0KSlyZXR1cm4gcjgodCxyKTtsZXQgYz1yLmluZGVudHx8KHIuZm9yY2VCbG9ja0luZGVudHx8RlgodCk/IiAgIjoiIikscD1uPT09ImxpdGVyYWwiPyEwOm49PT0iZm9sZGVkInx8ZT09PWh0LkJMT0NLX0ZPTERFRD8hMTplPT09aHQuQkxPQ0tfTElURVJBTD8hMDohRHhhKHQsZCxjLmxlbmd0aCk7aWYoIXQpcmV0dXJuIHA/YHwKYDpgPgpgO2xldCB1LG07Zm9yKG09dC5sZW5ndGg7bT4wOy0tbSl7bGV0IF89dFttLTFdO2lmKF8hPT1gCmAmJl8hPT0iCSImJl8hPT0iICIpYnJlYWt9bGV0IHY9dC5zdWJzdHJpbmcobSkseD12LmluZGV4T2YoYApgKTt4PT09LTE/dT0iLSI6dD09PXZ8fHghPT12Lmxlbmd0aC0xPyh1PSIrIixvJiZvKCkpOnU9IiIsdiYmKHQ9dC5zbGljZSgwLC12Lmxlbmd0aCksdlt2Lmxlbmd0aC0xXT09PWAKYCYmKHY9di5zbGljZSgwLC0xKSksdj12LnJlcGxhY2UoVWNlLGAkJiR7Y31gKSk7bGV0IGI9ITEsZyx5PS0xO2ZvcihnPTA7Zzx0Lmxlbmd0aDsrK2cpe2xldCBfPXRbZ107aWYoXz09PSIgIiliPSEwO2Vsc2UgaWYoXz09PWAKYCl5PWc7ZWxzZSBicmVha31sZXQgaz10LnN1YnN0cmluZygwLHk8Zz95KzE6Zyk7ayYmKHQ9dC5zdWJzdHJpbmcoay5sZW5ndGgpLGs9ay5yZXBsYWNlKC9cbisvZyxgJCYke2N9YCkpO2xldCBOPShiP2M/IjIiOiIxIjoiIikrdTtpZihhJiYoTis9IiAiK2woYS5yZXBsYWNlKC8gP1tcclxuXSsvZywiICIpKSxpJiZpKCkpLCFwKXtsZXQgXz10LnJlcGxhY2UoL1xuKy9nLGAKJCZgKS5yZXBsYWNlKC8oPzpefFxuKShbXHQgXS4qKSg/OihbXG5cdCBdKilcbig/IVtcblx0IF0pKT8vZywiJDEkMiIpLnJlcGxhY2UoL1xuKy9nLGAkJiR7Y31gKSx6PSExLE89T1gociwhMCk7biE9PSJmb2xkZWQiJiZlIT09aHQuQkxPQ0tfRk9MREVEJiYoTy5vbk92ZXJmbG93PSgpPT57ej0hMH0pO2xldCBUPWE4KGAke2t9JHtffSR7dn1gLGMscGcsTyk7aWYoIXopcmV0dXJuYD4ke059CiR7Y30ke1R9YH1yZXR1cm4gdD10LnJlcGxhY2UoL1xuKy9nLGAkJiR7Y31gKSxgfCR7Tn0KJHtjfSR7a30ke3R9JHt2fWB9ZnVuY3Rpb24gQXhhKGEsZSx0LHIpe2xldHt0eXBlOmksdmFsdWU6b309YSx7YWN0dWFsU3RyaW5nOm4saW1wbGljaXRLZXk6bCxpbmRlbnQ6ZCxpbmRlbnRTdGVwOmMsaW5GbG93OnB9PWU7aWYobCYmby5pbmNsdWRlcyhgCmApfHxwJiYvW1tcXXt9LF0vLnRlc3QobykpcmV0dXJuIHI4KG8sZSk7aWYoL15bXG5cdCAsW1xde30jJiohfD4nIiVAYF18Xls/LV0kfF5bPy1dWyBcdF18W1xuOl1bIFx0XXxbIFx0XVxufFtcblx0IF0jfFtcblx0IDpdJC8udGVzdChvKSlyZXR1cm4gbHx8cHx8IW8uaW5jbHVkZXMoYApgKT9yOChvLGUpOkJYKGEsZSx0LHIpO2lmKCFsJiYhcCYmaSE9PWh0LlBMQUlOJiZvLmluY2x1ZGVzKGAKYCkpcmV0dXJuIEJYKGEsZSx0LHIpO2lmKEZYKG8pKXtpZihkPT09IiIpcmV0dXJuIGUuZm9yY2VCbG9ja0luZGVudD0hMCxCWChhLGUsdCxyKTtpZihsJiZkPT09YylyZXR1cm4gcjgobyxlKX1sZXQgdT1vLnJlcGxhY2UoL1xuKy9nLGAkJgoke2R9YCk7aWYobil7bGV0IG09cyhiPT5iLmRlZmF1bHQmJmIudGFnIT09InRhZzp5YW1sLm9yZywyMDAyOnN0ciImJmIudGVzdD8udGVzdCh1KSwidGVzdCIpLHtjb21wYXQ6dix0YWdzOnh9PWUuZG9jLnNjaGVtYTtpZih4LnNvbWUobSl8fHY/LnNvbWUobSkpcmV0dXJuIHI4KG8sZSl9cmV0dXJuIGw/dTphOCh1LGQsUlgsT1goZSwhMSkpfWZ1bmN0aW9uIEEyKGEsZSx0LHIpe2xldHtpbXBsaWNpdEtleTppLGluRmxvdzpvfT1lLG49dHlwZW9mIGEudmFsdWU9PSJzdHJpbmciP2E6T2JqZWN0LmFzc2lnbih7fSxhLHt2YWx1ZTpTdHJpbmcoYS52YWx1ZSl9KSx7dHlwZTpsfT1hO2whPT1odC5RVU9URV9ET1VCTEUmJi9bXHgwMC1ceDA4XHgwYi1ceDFmXHg3Zi1ceDlmXHV7RDgwMH0tXHV7REZGRn1dL3UudGVzdChuLnZhbHVlKSYmKGw9aHQuUVVPVEVfRE9VQkxFKTtsZXQgZD1zKHA9Pntzd2l0Y2gocCl7Y2FzZSBodC5CTE9DS19GT0xERUQ6Y2FzZSBodC5CTE9DS19MSVRFUkFMOnJldHVybiBpfHxvP3I4KG4udmFsdWUsZSk6QlgobixlLHQscik7Y2FzZSBodC5RVU9URV9ET1VCTEU6cmV0dXJuIGZnKG4udmFsdWUsZSk7Y2FzZSBodC5RVU9URV9TSU5HTEU6cmV0dXJuIGpjZShuLnZhbHVlLGUpO2Nhc2UgaHQuUExBSU46cmV0dXJuIEF4YShuLGUsdCxyKTtkZWZhdWx0OnJldHVybiBudWxsfX0sIl9zdHJpbmdpZnkiKSxjPWQobCk7aWYoYz09PW51bGwpe2xldHtkZWZhdWx0S2V5VHlwZTpwLGRlZmF1bHRTdHJpbmdUeXBlOnV9PWUub3B0aW9ucyxtPWkmJnB8fHU7aWYoYz1kKG0pLGM9PT1udWxsKXRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgZGVmYXVsdCBzdHJpbmcgdHlwZSAke219YCl9cmV0dXJuIGN9dmFyIE9YLEZYLFVjZSxoZz1mKCgpPT57ZHMoKTtXNHQoKTtPWD1zKChhLGUpPT4oe2luZGVudEF0U3RhcnQ6ZT9hLmluZGVudC5sZW5ndGg6YS5pbmRlbnRBdFN0YXJ0LGxpbmVXaWR0aDphLm9wdGlvbnMubGluZVdpZHRoLG1pbkNvbnRlbnRXaWR0aDphLm9wdGlvbnMubWluQ29udGVudFdpZHRofSksImdldEZvbGRPcHRpb25zIiksRlg9cyhhPT4vXiglfC0tLXxcLlwuXC4pL20udGVzdChhKSwiY29udGFpbnNEb2N1bWVudE1hcmtlciIpO3MoRHhhLCJsaW5lTGVuZ3RoT3ZlckxpbWl0Iik7cyhmZywiZG91YmxlUXVvdGVkU3RyaW5nIik7cyhqY2UsInNpbmdsZVF1b3RlZFN0cmluZyIpO3MocjgsInF1b3RlZFN0cmluZyIpO3RyeXtVY2U9bmV3IFJlZ0V4cChgKF58KD88IQopKQorKD8hCnwkKWAsImciKX1jYXRjaHtVY2U9L1xuKyg/IVxufCQpL2d9cyhCWCwiYmxvY2tTdHJpbmciKTtzKEF4YSwicGxhaW5TdHJpbmciKTtzKEEyLCJzdHJpbmdpZnlTdHJpbmciKX0pO2Z1bmN0aW9uIG1nKGEsZSl7bGV0IHQ9T2JqZWN0LmFzc2lnbih7YmxvY2tRdW90ZTohMCxjb21tZW50U3RyaW5nOlZjZSxkZWZhdWx0S2V5VHlwZTpudWxsLGRlZmF1bHRTdHJpbmdUeXBlOiJQTEFJTiIsZGlyZWN0aXZlczpudWxsLGRvdWJsZVF1b3RlZEFzSlNPTjohMSxkb3VibGVRdW90ZWRNaW5NdWx0aUxpbmVMZW5ndGg6NDAsZmFsc2VTdHI6ImZhbHNlIixmbG93Q29sbGVjdGlvblBhZGRpbmc6ITAsaW5kZW50U2VxOiEwLGxpbmVXaWR0aDo4MCxtaW5Db250ZW50V2lkdGg6MjAsbnVsbFN0cjoibnVsbCIsc2ltcGxlS2V5czohMSxzaW5nbGVRdW90ZTpudWxsLHRyYWlsaW5nQ29tbWE6ITEsdHJ1ZVN0cjoidHJ1ZSIsdmVyaWZ5QWxpYXNPcmRlcjohMH0sYS5zY2hlbWEudG9TdHJpbmdPcHRpb25zLGUpLHI7c3dpdGNoKHQuY29sbGVjdGlvblN0eWxlKXtjYXNlImJsb2NrIjpyPSExO2JyZWFrO2Nhc2UiZmxvdyI6cj0hMDticmVhaztkZWZhdWx0OnI9bnVsbH1yZXR1cm57YW5jaG9yczpuZXcgU2V0LGRvYzphLGZsb3dDb2xsZWN0aW9uUGFkZGluZzp0LmZsb3dDb2xsZWN0aW9uUGFkZGluZz8iICI6IiIsaW5kZW50OiIiLGluZGVudFN0ZXA6dHlwZW9mIHQuaW5kZW50PT0ibnVtYmVyIj8iICIucmVwZWF0KHQuaW5kZW50KToiICAiLGluRmxvdzpyLG9wdGlvbnM6dH19ZnVuY3Rpb24gRXhhKGEsZSl7aWYoZS50YWcpe2xldCBpPWEuZmlsdGVyKG89Pm8udGFnPT09ZS50YWcpO2lmKGkubGVuZ3RoPjApcmV0dXJuIGkuZmluZChvPT5vLmZvcm1hdD09PWUuZm9ybWF0KT8/aVswXX1sZXQgdCxyO2lmKFZ0KGUpKXtyPWUudmFsdWU7bGV0IGk9YS5maWx0ZXIobz0+by5pZGVudGlmeT8uKHIpKTtpZihpLmxlbmd0aD4xKXtsZXQgbz1pLmZpbHRlcihuPT5uLnRlc3QpO28ubGVuZ3RoPjAmJihpPW8pfXQ9aS5maW5kKG89Pm8uZm9ybWF0PT09ZS5mb3JtYXQpPz9pLmZpbmQobz0+IW8uZm9ybWF0KX1lbHNlIHI9ZSx0PWEuZmluZChpPT5pLm5vZGVDbGFzcyYmciBpbnN0YW5jZW9mIGkubm9kZUNsYXNzKTtpZighdCl7bGV0IGk9cj8uY29uc3RydWN0b3I/Lm5hbWU/PyhyPT09bnVsbD8ibnVsbCI6dHlwZW9mIHIpO3Rocm93IG5ldyBFcnJvcihgVGFnIG5vdCByZXNvbHZlZCBmb3IgJHtpfSB2YWx1ZWApfXJldHVybiB0fWZ1bmN0aW9uIFB4YShhLGUse2FuY2hvcnM6dCxkb2M6cn0pe2lmKCFyLmRpcmVjdGl2ZXMpcmV0dXJuIiI7bGV0IGk9W10sbz0oVnQoYSl8fFRhKGEpKSYmYS5hbmNob3I7byYmbmcobykmJih0LmFkZChvKSxpLnB1c2goYCYke299YCkpO2xldCBuPWEudGFnPz8oZS5kZWZhdWx0P251bGw6ZS50YWcpO3JldHVybiBuJiZpLnB1c2goci5kaXJlY3RpdmVzLnRhZ1N0cmluZyhuKSksaS5qb2luKCIgIil9ZnVuY3Rpb24gRTIoYSxlLHQscil7aWYocmEoYSkpcmV0dXJuIGEudG9TdHJpbmcoZSx0LHIpO2lmKFNvKGEpKXtpZihlLmRvYy5kaXJlY3RpdmVzKXJldHVybiBhLnRvU3RyaW5nKGUpO2lmKGUucmVzb2x2ZWRBbGlhc2VzPy5oYXMoYSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHN0cmluZ2lmeSBjaXJjdWxhciBzdHJ1Y3R1cmUgd2l0aG91dCBhbGlhcyBub2RlcyIpO2UucmVzb2x2ZWRBbGlhc2VzP2UucmVzb2x2ZWRBbGlhc2VzLmFkZChhKTplLnJlc29sdmVkQWxpYXNlcz1uZXcgU2V0KFthXSksYT1hLnJlc29sdmUoZS5kb2MpfWxldCBpLG89ZGEoYSk/YTplLmRvYy5jcmVhdGVOb2RlKGEse29uVGFnT2JqOnMoZD0+aT1kLCJvblRhZ09iaiIpfSk7aT8/KGk9RXhhKGUuZG9jLnNjaGVtYS50YWdzLG8pKTtsZXQgbj1QeGEobyxpLGUpO24ubGVuZ3RoPjAmJihlLmluZGVudEF0U3RhcnQ9KGUuaW5kZW50QXRTdGFydD8/MCkrbi5sZW5ndGgrMSk7bGV0IGw9dHlwZW9mIGkuc3RyaW5naWZ5PT0iZnVuY3Rpb24iP2kuc3RyaW5naWZ5KG8sZSx0LHIpOlZ0KG8pP0EyKG8sZSx0LHIpOm8udG9TdHJpbmcoZSx0LHIpO3JldHVybiBuP1Z0KG8pfHxsWzBdPT09InsifHxsWzBdPT09IlsiP2Ake259ICR7bH1gOmAke259CiR7ZS5pbmRlbnR9JHtsfWA6bH12YXIgZ2c9ZigoKT0+e0VYKCk7TGEoKTt1ZygpO2hnKCk7cyhtZywiY3JlYXRlU3RyaW5naWZ5Q29udGV4dCIpO3MoRXhhLCJnZXRUYWdPYmplY3QiKTtzKFB4YSwic3RyaW5naWZ5UHJvcHMiKTtzKEUyLCJzdHJpbmdpZnkiKX0pO2Z1bmN0aW9uIFdjZSh7a2V5OmEsdmFsdWU6ZX0sdCxyLGkpe2xldHthbGxOdWxsVmFsdWVzOm8sZG9jOm4saW5kZW50OmwsaW5kZW50U3RlcDpkLG9wdGlvbnM6e2NvbW1lbnRTdHJpbmc6YyxpbmRlbnRTZXE6cCxzaW1wbGVLZXlzOnV9fT10LG09ZGEoYSkmJmEuY29tbWVudHx8bnVsbDtpZih1KXtpZihtKXRocm93IG5ldyBFcnJvcigiV2l0aCBzaW1wbGUga2V5cywga2V5IG5vZGVzIGNhbm5vdCBoYXZlIGNvbW1lbnRzIik7aWYoVGEoYSl8fCFkYShhKSYmdHlwZW9mIGE9PSJvYmplY3QiKXtsZXQgTz0iV2l0aCBzaW1wbGUga2V5cywgY29sbGVjdGlvbiBjYW5ub3QgYmUgdXNlZCBhcyBhIGtleSB2YWx1ZSI7dGhyb3cgbmV3IEVycm9yKE8pfX1sZXQgdj0hdSYmKCFhfHxtJiZlPT1udWxsJiYhdC5pbkZsb3d8fFRhKGEpfHwoVnQoYSk/YS50eXBlPT09aHQuQkxPQ0tfRk9MREVEfHxhLnR5cGU9PT1odC5CTE9DS19MSVRFUkFMOnR5cGVvZiBhPT0ib2JqZWN0IikpO3Q9T2JqZWN0LmFzc2lnbih7fSx0LHthbGxOdWxsVmFsdWVzOiExLGltcGxpY2l0S2V5OiF2JiYodXx8IW8pLGluZGVudDpsK2R9KTtsZXQgeD0hMSxiPSExLGc9RTIoYSx0LCgpPT54PSEwLCgpPT5iPSEwKTtpZighdiYmIXQuaW5GbG93JiZnLmxlbmd0aD4xMDI0KXtpZih1KXRocm93IG5ldyBFcnJvcigiV2l0aCBzaW1wbGUga2V5cywgc2luZ2xlIGxpbmUgc2NhbGFyIG11c3Qgbm90IHNwYW4gbW9yZSB0aGFuIDEwMjQgY2hhcmFjdGVycyIpO3Y9ITB9aWYodC5pbkZsb3cpe2lmKG98fGU9PW51bGwpcmV0dXJuIHgmJnImJnIoKSxnPT09IiI/Ij8iOnY/YD8gJHtnfWA6Z31lbHNlIGlmKG8mJiF1fHxlPT1udWxsJiZ2KXJldHVybiBnPWA/ICR7Z31gLG0mJiF4P2crPWgxKGcsdC5pbmRlbnQsYyhtKSk6YiYmaSYmaSgpLGc7eCYmKG09bnVsbCksdj8obSYmKGcrPWgxKGcsdC5pbmRlbnQsYyhtKSkpLGc9YD8gJHtnfQoke2x9OmApOihnPWAke2d9OmAsbSYmKGcrPWgxKGcsdC5pbmRlbnQsYyhtKSkpKTtsZXQgeSxrLEM7ZGEoZSk/KHk9ISFlLnNwYWNlQmVmb3JlLGs9ZS5jb21tZW50QmVmb3JlLEM9ZS5jb21tZW50KTooeT0hMSxrPW51bGwsQz1udWxsLGUmJnR5cGVvZiBlPT0ib2JqZWN0IiYmKGU9bi5jcmVhdGVOb2RlKGUpKSksdC5pbXBsaWNpdEtleT0hMSwhdiYmIW0mJlZ0KGUpJiYodC5pbmRlbnRBdFN0YXJ0PWcubGVuZ3RoKzEpLGI9ITEsIXAmJmQubGVuZ3RoPj0yJiYhdC5pbkZsb3cmJiF2JiZfbyhlKSYmIWUuZmxvdyYmIWUudGFnJiYhZS5hbmNob3ImJih0LmluZGVudD10LmluZGVudC5zdWJzdHJpbmcoMikpO2xldCBOPSExLF89RTIoZSx0LCgpPT5OPSEwLCgpPT5iPSEwKSx6PSIgIjtpZihtfHx5fHxrKXtpZih6PXk/YApgOiIiLGspe2xldCBPPWMoayk7eis9YAoke1dvKE8sdC5pbmRlbnQpfWB9Xz09PSIiJiYhdC5pbkZsb3c/ej09PWAKYCYmQyYmKHo9YAoKYCk6eis9YAoke3QuaW5kZW50fWB9ZWxzZSBpZighdiYmVGEoZSkpe2xldCBPPV9bMF0sVD1fLmluZGV4T2YoYApgKSxFPVQhPT0tMSxCPXQuaW5GbG93Pz9lLmZsb3c/P2UuaXRlbXMubGVuZ3RoPT09MDtpZihFfHwhQil7bGV0IE09ITE7aWYoRSYmKE89PT0iJiJ8fE89PT0iISIpKXtsZXQgUz1fLmluZGV4T2YoIiAiKTtPPT09IiYiJiZTIT09LTEmJlM8VCYmX1tTKzFdPT09IiEiJiYoUz1fLmluZGV4T2YoIiAiLFMrMSkpLChTPT09LTF8fFQ8UykmJihNPSEwKX1NfHwoej1gCiR7dC5pbmRlbnR9YCl9fWVsc2UoXz09PSIifHxfWzBdPT09YApgKSYmKHo9IiIpO3JldHVybiBnKz16K18sdC5pbkZsb3c/TiYmciYmcigpOkMmJiFOP2crPWgxKGcsdC5pbmRlbnQsYyhDKSk6YiYmaSYmaSgpLGd9dmFyIEc0dD1mKCgpPT57TGEoKTtkcygpO2dnKCk7dWcoKTtzKFdjZSwic3RyaW5naWZ5UGFpciIpfSk7ZnVuY3Rpb24gSXhhKGEsLi4uZSl7YT09PSJkZWJ1ZyImJmNvbnNvbGUubG9nKC4uLmUpfWZ1bmN0aW9uIGJnKGEsZSl7KGE9PT0iZGVidWcifHxhPT09Indhcm4iKSYmY29uc29sZS53YXJuKGUpfXZhciBHY2U9ZigoKT0+e3MoSXhhLCJkZWJ1ZyIpO3MoYmcsIndhcm4iKX0pO2Z1bmN0aW9uIHFYKGEsZSx0KXtsZXQgcj1ZNHQoYSx0KTtpZihfbyhyKSlmb3IobGV0IGkgb2Ygci5pdGVtcylZY2UoYSxlLGkpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShyKSlmb3IobGV0IGkgb2YgcilZY2UoYSxlLGkpO2Vsc2UgWWNlKGEsZSxyKX1mdW5jdGlvbiBZY2UoYSxlLHQpe2xldCByPVk0dChhLHQpO2lmKCFDbyhyKSl0aHJvdyBuZXcgRXJyb3IoIk1lcmdlIHNvdXJjZXMgbXVzdCBiZSBtYXBzIG9yIG1hcCBhbGlhc2VzIik7bGV0IGk9ci50b0pTT04obnVsbCxhLE1hcCk7Zm9yKGxldFtvLG5db2YgaSllIGluc3RhbmNlb2YgTWFwP2UuaGFzKG8pfHxlLnNldChvLG4pOmUgaW5zdGFuY2VvZiBTZXQ/ZS5hZGQobyk6T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbyl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG8se3ZhbHVlOm4sd3JpdGFibGU6ITAsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gZX1mdW5jdGlvbiBZNHQoYSxlKXtyZXR1cm4gYSYmU28oZSk/ZS5yZXNvbHZlKGEuZG9jLGEpOmV9dmFyIEhYLE1uLEtjZSxWWD1mKCgpPT57TGEoKTtkcygpO0hYPSI8PCIsTW49e2lkZW50aWZ5OnMoYT0+YT09PUhYfHx0eXBlb2YgYT09InN5bWJvbCImJmEuZGVzY3JpcHRpb249PT1IWCwiaWRlbnRpZnkiKSxkZWZhdWx0OiJrZXkiLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6bWVyZ2UiLHRlc3Q6L148PCQvLHJlc29sdmU6cygoKT0+T2JqZWN0LmFzc2lnbihuZXcgaHQoU3ltYm9sKEhYKSkse2FkZFRvSlNNYXA6cVh9KSwicmVzb2x2ZSIpLHN0cmluZ2lmeTpzKCgpPT5IWCwic3RyaW5naWZ5Iil9LEtjZT1zKChhLGUpPT4oTW4uaWRlbnRpZnkoZSl8fFZ0KGUpJiYoIWUudHlwZXx8ZS50eXBlPT09aHQuUExBSU4pJiZNbi5pZGVudGlmeShlLnZhbHVlKSkmJmE/LmRvYy5zY2hlbWEudGFncy5zb21lKHQ9PnQudGFnPT09TW4udGFnJiZ0LmRlZmF1bHQpLCJpc01lcmdlS2V5Iik7cyhxWCwiYWRkTWVyZ2VUb0pTTWFwIik7cyhZY2UsIm1lcmdlVmFsdWUiKTtzKFk0dCwicmVzb2x2ZUFsaWFzVmFsdWUiKX0pO2Z1bmN0aW9uIHZnKGEsZSx7a2V5OnQsdmFsdWU6cn0pe2lmKGRhKHQpJiZ0LmFkZFRvSlNNYXApdC5hZGRUb0pTTWFwKGEsZSxyKTtlbHNlIGlmKEtjZShhLHQpKXFYKGEsZSxyKTtlbHNle2xldCBpPWNzKHQsIiIsYSk7aWYoZSBpbnN0YW5jZW9mIE1hcCllLnNldChpLGNzKHIsaSxhKSk7ZWxzZSBpZihlIGluc3RhbmNlb2YgU2V0KWUuYWRkKGkpO2Vsc2V7bGV0IG89TnhhKHQsaSxhKSxuPWNzKHIsbyxhKTtvIGluIGU/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbyx7dmFsdWU6bix3cml0YWJsZTohMCxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pOmVbb109bn19cmV0dXJuIGV9ZnVuY3Rpb24gTnhhKGEsZSx0KXtpZihlPT09bnVsbClyZXR1cm4iIjtpZih0eXBlb2YgZSE9Im9iamVjdCIpcmV0dXJuIFN0cmluZyhlKTtpZihkYShhKSYmdD8uZG9jKXtsZXQgcj1tZyh0LmRvYyx7fSk7ci5hbmNob3JzPW5ldyBTZXQ7Zm9yKGxldCBvIG9mIHQuYW5jaG9ycy5rZXlzKCkpci5hbmNob3JzLmFkZChvLmFuY2hvcik7ci5pbkZsb3c9ITAsci5pblN0cmluZ2lmeUtleT0hMDtsZXQgaT1hLnRvU3RyaW5nKHIpO2lmKCF0Lm1hcEtleVdhcm5lZCl7bGV0IG89SlNPTi5zdHJpbmdpZnkoaSk7by5sZW5ndGg+NDAmJihvPW8uc3Vic3RyaW5nKDAsMzYpKycuLi4iJyksYmcodC5kb2Mub3B0aW9ucy5sb2dMZXZlbCxgS2V5cyB3aXRoIGNvbGxlY3Rpb24gdmFsdWVzIHdpbGwgYmUgc3RyaW5naWZpZWQgZHVlIHRvIEpTIE9iamVjdCByZXN0cmljdGlvbnM6ICR7b30uIFNldCBtYXBBc01hcDogdHJ1ZSB0byB1c2Ugb2JqZWN0IGtleXMuYCksdC5tYXBLZXlXYXJuZWQ9ITB9cmV0dXJuIGl9cmV0dXJuIEpTT04uc3RyaW5naWZ5KGUpfXZhciBaY2U9ZigoKT0+e0djZSgpO1ZYKCk7Z2coKTtMYSgpO0wwKCk7cyh2ZywiYWRkUGFpclRvSlNNYXAiKTtzKE54YSwic3RyaW5naWZ5S2V5Iil9KTtmdW5jdGlvbiBCMyhhLGUsdCl7bGV0IHI9RDIoYSx2b2lkIDAsdCksaT1EMihlLHZvaWQgMCx0KTtyZXR1cm4gbmV3IHByKHIsaSl9dmFyIHByLCQwPWYoKCk9PntkZygpO0c0dCgpO1pjZSgpO0xhKCk7cyhCMywiY3JlYXRlUGFpciIpO3ByPWNsYXNzIGF7c3RhdGlje3ModGhpcywiUGFpciIpfWNvbnN0cnVjdG9yKGUsdD1udWxsKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxTaSx7dmFsdWU6JFh9KSx0aGlzLmtleT1lLHRoaXMudmFsdWU9dH1jbG9uZShlKXtsZXR7a2V5OnQsdmFsdWU6cn09dGhpcztyZXR1cm4gZGEodCkmJih0PXQuY2xvbmUoZSkpLGRhKHIpJiYocj1yLmNsb25lKGUpKSxuZXcgYSh0LHIpfXRvSlNPTihlLHQpe2xldCByPXQ/Lm1hcEFzTWFwP25ldyBNYXA6e307cmV0dXJuIHZnKHQscix0aGlzKX10b1N0cmluZyhlLHQscil7cmV0dXJuIGU/LmRvYz9XY2UodGhpcyxlLHQscik6SlNPTi5zdHJpbmdpZnkodGhpcyl9fX0pO2Z1bmN0aW9uIHhnKGEsZSx0KXtyZXR1cm4oZS5pbkZsb3c/P2EuZmxvdz9PeGE6UnhhKShhLGUsdCl9ZnVuY3Rpb24gUnhhKHtjb21tZW50OmEsaXRlbXM6ZX0sdCx7YmxvY2tJdGVtUHJlZml4OnIsZmxvd0NoYXJzOmksaXRlbUluZGVudDpvLG9uQ2hvbXBLZWVwOm4sb25Db21tZW50Omx9KXtsZXR7aW5kZW50OmQsb3B0aW9uczp7Y29tbWVudFN0cmluZzpjfX09dCxwPU9iamVjdC5hc3NpZ24oe30sdCx7aW5kZW50Om8sdHlwZTpudWxsfSksdT0hMSxtPVtdO2ZvcihsZXQgeD0wO3g8ZS5sZW5ndGg7Kyt4KXtsZXQgYj1lW3hdLGc9bnVsbDtpZihkYShiKSkhdSYmYi5zcGFjZUJlZm9yZSYmbS5wdXNoKCIiKSxqWCh0LG0sYi5jb21tZW50QmVmb3JlLHUpLGIuY29tbWVudCYmKGc9Yi5jb21tZW50KTtlbHNlIGlmKHJhKGIpKXtsZXQgaz1kYShiLmtleSk/Yi5rZXk6bnVsbDtrJiYoIXUmJmsuc3BhY2VCZWZvcmUmJm0ucHVzaCgiIiksalgodCxtLGsuY29tbWVudEJlZm9yZSx1KSl9dT0hMTtsZXQgeT1FMihiLHAsKCk9Pmc9bnVsbCwoKT0+dT0hMCk7ZyYmKHkrPWgxKHksbyxjKGcpKSksdSYmZyYmKHU9ITEpLG0ucHVzaChyK3kpfWxldCB2O2lmKG0ubGVuZ3RoPT09MCl2PWkuc3RhcnQraS5lbmQ7ZWxzZXt2PW1bMF07Zm9yKGxldCB4PTE7eDxtLmxlbmd0aDsrK3gpe2xldCBiPW1beF07dis9Yj9gCiR7ZH0ke2J9YDpgCmB9fXJldHVybiBhPyh2Kz1gCmArV28oYyhhKSxkKSxsJiZsKCkpOnUmJm4mJm4oKSx2fWZ1bmN0aW9uIE94YSh7aXRlbXM6YX0sZSx7Zmxvd0NoYXJzOnQsaXRlbUluZGVudDpyfSl7bGV0e2luZGVudDppLGluZGVudFN0ZXA6byxmbG93Q29sbGVjdGlvblBhZGRpbmc6bixvcHRpb25zOntjb21tZW50U3RyaW5nOmx9fT1lO3IrPW87bGV0IGQ9T2JqZWN0LmFzc2lnbih7fSxlLHtpbmRlbnQ6cixpbkZsb3c6ITAsdHlwZTpudWxsfSksYz0hMSxwPTAsdT1bXTtmb3IobGV0IHg9MDt4PGEubGVuZ3RoOysreCl7bGV0IGI9YVt4XSxnPW51bGw7aWYoZGEoYikpYi5zcGFjZUJlZm9yZSYmdS5wdXNoKCIiKSxqWChlLHUsYi5jb21tZW50QmVmb3JlLCExKSxiLmNvbW1lbnQmJihnPWIuY29tbWVudCk7ZWxzZSBpZihyYShiKSl7bGV0IGs9ZGEoYi5rZXkpP2Iua2V5Om51bGw7ayYmKGsuc3BhY2VCZWZvcmUmJnUucHVzaCgiIiksalgoZSx1LGsuY29tbWVudEJlZm9yZSwhMSksay5jb21tZW50JiYoYz0hMCkpO2xldCBDPWRhKGIudmFsdWUpP2IudmFsdWU6bnVsbDtDPyhDLmNvbW1lbnQmJihnPUMuY29tbWVudCksQy5jb21tZW50QmVmb3JlJiYoYz0hMCkpOmIudmFsdWU9PW51bGwmJms/LmNvbW1lbnQmJihnPWsuY29tbWVudCl9ZyYmKGM9ITApO2xldCB5PUUyKGIsZCwoKT0+Zz1udWxsKTtjfHwoYz11Lmxlbmd0aD5wfHx5LmluY2x1ZGVzKGAKYCkpLHg8YS5sZW5ndGgtMT95Kz0iLCI6ZS5vcHRpb25zLnRyYWlsaW5nQ29tbWEmJihlLm9wdGlvbnMubGluZVdpZHRoPjAmJihjfHwoYz11LnJlZHVjZSgoayxDKT0+aytDLmxlbmd0aCsyLDIpKyh5Lmxlbmd0aCsyKT5lLm9wdGlvbnMubGluZVdpZHRoKSksYyYmKHkrPSIsIikpLGcmJih5Kz1oMSh5LHIsbChnKSkpLHUucHVzaCh5KSxwPXUubGVuZ3RofWxldHtzdGFydDptLGVuZDp2fT10O2lmKHUubGVuZ3RoPT09MClyZXR1cm4gbSt2O2lmKCFjKXtsZXQgeD11LnJlZHVjZSgoYixnKT0+YitnLmxlbmd0aCsyLDIpO2M9ZS5vcHRpb25zLmxpbmVXaWR0aD4wJiZ4PmUub3B0aW9ucy5saW5lV2lkdGh9aWYoYyl7bGV0IHg9bTtmb3IobGV0IGIgb2YgdSl4Kz1iP2AKJHtvfSR7aX0ke2J9YDpgCmA7cmV0dXJuYCR7eH0KJHtpfSR7dn1gfWVsc2UgcmV0dXJuYCR7bX0ke259JHt1LmpvaW4oIiAiKX0ke259JHt2fWB9ZnVuY3Rpb24galgoe2luZGVudDphLG9wdGlvbnM6e2NvbW1lbnRTdHJpbmc6ZX19LHQscixpKXtpZihyJiZpJiYocj1yLnJlcGxhY2UoL15cbisvLCIiKSkscil7bGV0IG89V28oZShyKSxhKTt0LnB1c2goby50cmltU3RhcnQoKSl9fXZhciBYY2U9ZigoKT0+e0xhKCk7Z2coKTt1ZygpO3MoeGcsInN0cmluZ2lmeUNvbGxlY3Rpb24iKTtzKFJ4YSwic3RyaW5naWZ5QmxvY2tDb2xsZWN0aW9uIik7cyhPeGEsInN0cmluZ2lmeUZsb3dDb2xsZWN0aW9uIik7cyhqWCwiYWRkQ29tbWVudEJlZm9yZSIpfSk7ZnVuY3Rpb24gT2woYSxlKXtsZXQgdD1WdChlKT9lLnZhbHVlOmU7Zm9yKGxldCByIG9mIGEpaWYocmEocikmJihyLmtleT09PWV8fHIua2V5PT09dHx8VnQoci5rZXkpJiZyLmtleS52YWx1ZT09PXQpKXJldHVybiByfXZhciB5cixEMD1mKCgpPT57WGNlKCk7WmNlKCk7TlgoKTtMYSgpOyQwKCk7ZHMoKTtzKE9sLCJmaW5kUGFpciIpO3lyPWNsYXNzIGV4dGVuZHMgTzN7c3RhdGlje3ModGhpcywiWUFNTE1hcCIpfXN0YXRpYyBnZXQgdGFnTmFtZSgpe3JldHVybiJ0YWc6eWFtbC5vcmcsMjAwMjptYXAifWNvbnN0cnVjdG9yKGUpe3N1cGVyKHluLGUpLHRoaXMuaXRlbXM9W119c3RhdGljIGZyb20oZSx0LHIpe2xldHtrZWVwVW5kZWZpbmVkOmkscmVwbGFjZXI6b309cixuPW5ldyB0aGlzKGUpLGw9cygoZCxjKT0+e2lmKHR5cGVvZiBvPT0iZnVuY3Rpb24iKWM9by5jYWxsKHQsZCxjKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkobykmJiFvLmluY2x1ZGVzKGQpKXJldHVybjsoYyE9PXZvaWQgMHx8aSkmJm4uaXRlbXMucHVzaChCMyhkLGMscikpfSwiYWRkIik7aWYodCBpbnN0YW5jZW9mIE1hcClmb3IobGV0W2QsY11vZiB0KWwoZCxjKTtlbHNlIGlmKHQmJnR5cGVvZiB0PT0ib2JqZWN0Iilmb3IobGV0IGQgb2YgT2JqZWN0LmtleXModCkpbChkLHRbZF0pO3JldHVybiB0eXBlb2YgZS5zb3J0TWFwRW50cmllcz09ImZ1bmN0aW9uIiYmbi5pdGVtcy5zb3J0KGUuc29ydE1hcEVudHJpZXMpLG59YWRkKGUsdCl7bGV0IHI7cmEoZSk/cj1lOiFlfHx0eXBlb2YgZSE9Im9iamVjdCJ8fCEoImtleSJpbiBlKT9yPW5ldyBwcihlLGU/LnZhbHVlKTpyPW5ldyBwcihlLmtleSxlLnZhbHVlKTtsZXQgaT1PbCh0aGlzLml0ZW1zLHIua2V5KSxvPXRoaXMuc2NoZW1hPy5zb3J0TWFwRW50cmllcztpZihpKXtpZighdCl0aHJvdyBuZXcgRXJyb3IoYEtleSAke3Iua2V5fSBhbHJlYWR5IHNldGApO1Z0KGkudmFsdWUpJiZjZyhyLnZhbHVlKT9pLnZhbHVlLnZhbHVlPXIudmFsdWU6aS52YWx1ZT1yLnZhbHVlfWVsc2UgaWYobyl7bGV0IG49dGhpcy5pdGVtcy5maW5kSW5kZXgobD0+byhyLGwpPDApO249PT0tMT90aGlzLml0ZW1zLnB1c2gocik6dGhpcy5pdGVtcy5zcGxpY2UobiwwLHIpfWVsc2UgdGhpcy5pdGVtcy5wdXNoKHIpfWRlbGV0ZShlKXtsZXQgdD1PbCh0aGlzLml0ZW1zLGUpO3JldHVybiB0P3RoaXMuaXRlbXMuc3BsaWNlKHRoaXMuaXRlbXMuaW5kZXhPZih0KSwxKS5sZW5ndGg+MDohMX1nZXQoZSx0KXtsZXQgaT1PbCh0aGlzLml0ZW1zLGUpPy52YWx1ZTtyZXR1cm4oIXQmJlZ0KGkpP2kudmFsdWU6aSk/P3ZvaWQgMH1oYXMoZSl7cmV0dXJuISFPbCh0aGlzLml0ZW1zLGUpfXNldChlLHQpe3RoaXMuYWRkKG5ldyBwcihlLHQpLCEwKX10b0pTT04oZSx0LHIpe2xldCBpPXI/bmV3IHI6dD8ubWFwQXNNYXA/bmV3IE1hcDp7fTt0Py5vbkNyZWF0ZSYmdC5vbkNyZWF0ZShpKTtmb3IobGV0IG8gb2YgdGhpcy5pdGVtcyl2Zyh0LGksbyk7cmV0dXJuIGl9dG9TdHJpbmcoZSx0LHIpe2lmKCFlKXJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzKTtmb3IobGV0IGkgb2YgdGhpcy5pdGVtcylpZighcmEoaSkpdGhyb3cgbmV3IEVycm9yKGBNYXAgaXRlbXMgbXVzdCBhbGwgYmUgcGFpcnM7IGZvdW5kICR7SlNPTi5zdHJpbmdpZnkoaSl9IGluc3RlYWRgKTtyZXR1cm4hZS5hbGxOdWxsVmFsdWVzJiZ0aGlzLmhhc0FsbE51bGxWYWx1ZXMoITEpJiYoZT1PYmplY3QuYXNzaWduKHt9LGUse2FsbE51bGxWYWx1ZXM6ITB9KSkseGcodGhpcyxlLHtibG9ja0l0ZW1QcmVmaXg6IiIsZmxvd0NoYXJzOntzdGFydDoieyIsZW5kOiJ9In0saXRlbUluZGVudDplLmluZGVudHx8IiIsb25DaG9tcEtlZXA6cixvbkNvbW1lbnQ6dH0pfX19KTt2YXIga24sczg9ZigoKT0+e0xhKCk7RDAoKTtrbj17Y29sbGVjdGlvbjoibWFwIixkZWZhdWx0OiEwLG5vZGVDbGFzczp5cix0YWc6InRhZzp5YW1sLm9yZywyMDAyOm1hcCIscmVzb2x2ZShhLGUpe3JldHVybiBDbyhhKXx8ZSgiRXhwZWN0ZWQgYSBtYXBwaW5nIGZvciB0aGlzIHRhZyIpLGF9LGNyZWF0ZU5vZGU6cygoYSxlLHQpPT55ci5mcm9tKGEsZSx0KSwiY3JlYXRlTm9kZSIpfX0pO2Z1bmN0aW9uIFVYKGEpe2xldCBlPVZ0KGEpP2EudmFsdWU6YTtyZXR1cm4gZSYmdHlwZW9mIGU9PSJzdHJpbmciJiYoZT1OdW1iZXIoZSkpLHR5cGVvZiBlPT0ibnVtYmVyIiYmTnVtYmVyLmlzSW50ZWdlcihlKSYmZT49MD9lOm51bGx9dmFyIExzLEEwPWYoKCk9PntkZygpO1hjZSgpO05YKCk7TGEoKTtkcygpO0wwKCk7THM9Y2xhc3MgZXh0ZW5kcyBPM3tzdGF0aWN7cyh0aGlzLCJZQU1MU2VxIil9c3RhdGljIGdldCB0YWdOYW1lKCl7cmV0dXJuInRhZzp5YW1sLm9yZywyMDAyOnNlcSJ9Y29uc3RydWN0b3IoZSl7c3VwZXIoTDIsZSksdGhpcy5pdGVtcz1bXX1hZGQoZSl7dGhpcy5pdGVtcy5wdXNoKGUpfWRlbGV0ZShlKXtsZXQgdD1VWChlKTtyZXR1cm4gdHlwZW9mIHQhPSJudW1iZXIiPyExOnRoaXMuaXRlbXMuc3BsaWNlKHQsMSkubGVuZ3RoPjB9Z2V0KGUsdCl7bGV0IHI9VVgoZSk7aWYodHlwZW9mIHIhPSJudW1iZXIiKXJldHVybjtsZXQgaT10aGlzLml0ZW1zW3JdO3JldHVybiF0JiZWdChpKT9pLnZhbHVlOml9aGFzKGUpe2xldCB0PVVYKGUpO3JldHVybiB0eXBlb2YgdD09Im51bWJlciImJnQ8dGhpcy5pdGVtcy5sZW5ndGh9c2V0KGUsdCl7bGV0IHI9VVgoZSk7aWYodHlwZW9mIHIhPSJudW1iZXIiKXRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgYSB2YWxpZCBpbmRleCwgbm90ICR7ZX0uYCk7bGV0IGk9dGhpcy5pdGVtc1tyXTtWdChpKSYmY2codCk/aS52YWx1ZT10OnRoaXMuaXRlbXNbcl09dH10b0pTT04oZSx0KXtsZXQgcj1bXTt0Py5vbkNyZWF0ZSYmdC5vbkNyZWF0ZShyKTtsZXQgaT0wO2ZvcihsZXQgbyBvZiB0aGlzLml0ZW1zKXIucHVzaChjcyhvLFN0cmluZyhpKyspLHQpKTtyZXR1cm4gcn10b1N0cmluZyhlLHQscil7cmV0dXJuIGU/eGcodGhpcyxlLHtibG9ja0l0ZW1QcmVmaXg6Ii0gIixmbG93Q2hhcnM6e3N0YXJ0OiJbIixlbmQ6Il0ifSxpdGVtSW5kZW50OihlLmluZGVudHx8IiIpKyIgICIsb25DaG9tcEtlZXA6cixvbkNvbW1lbnQ6dH0pOkpTT04uc3RyaW5naWZ5KHRoaXMpfXN0YXRpYyBmcm9tKGUsdCxyKXtsZXR7cmVwbGFjZXI6aX09cixvPW5ldyB0aGlzKGUpO2lmKHQmJlN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QodCkpe2xldCBuPTA7Zm9yKGxldCBsIG9mIHQpe2lmKHR5cGVvZiBpPT0iZnVuY3Rpb24iKXtsZXQgZD10IGluc3RhbmNlb2YgU2V0P2w6U3RyaW5nKG4rKyk7bD1pLmNhbGwodCxkLGwpfW8uaXRlbXMucHVzaChEMihsLHZvaWQgMCxyKSl9fXJldHVybiBvfX07cyhVWCwiYXNJdGVtSW5kZXgiKX0pO3ZhciBTbixpOD1mKCgpPT57TGEoKTtBMCgpO1NuPXtjb2xsZWN0aW9uOiJzZXEiLGRlZmF1bHQ6ITAsbm9kZUNsYXNzOkxzLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6c2VxIixyZXNvbHZlKGEsZSl7cmV0dXJuIF9vKGEpfHxlKCJFeHBlY3RlZCBhIHNlcXVlbmNlIGZvciB0aGlzIHRhZyIpLGF9LGNyZWF0ZU5vZGU6cygoYSxlLHQpPT5Mcy5mcm9tKGEsZSx0KSwiY3JlYXRlTm9kZSIpfX0pO3ZhciBGbCx5Zz1mKCgpPT57aGcoKTtGbD17aWRlbnRpZnk6cyhhPT50eXBlb2YgYT09InN0cmluZyIsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOnN0ciIscmVzb2x2ZTpzKGE9PmEsInJlc29sdmUiKSxzdHJpbmdpZnkoYSxlLHQscil7cmV0dXJuIGU9T2JqZWN0LmFzc2lnbih7YWN0dWFsU3RyaW5nOiEwfSxlKSxBMihhLGUsdCxyKX19fSk7dmFyIEUwLFdYPWYoKCk9PntkcygpO0UwPXtpZGVudGlmeTpzKGE9PmE9PW51bGwsImlkZW50aWZ5IiksY3JlYXRlTm9kZTpzKCgpPT5uZXcgaHQobnVsbCksImNyZWF0ZU5vZGUiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6bnVsbCIsdGVzdDovXig/On58W05uXXVsbHxOVUxMKT8kLyxyZXNvbHZlOnMoKCk9Pm5ldyBodChudWxsKSwicmVzb2x2ZSIpLHN0cmluZ2lmeTpzKCh7c291cmNlOmF9LGUpPT50eXBlb2YgYT09InN0cmluZyImJkUwLnRlc3QudGVzdChhKT9hOmUub3B0aW9ucy5udWxsU3RyLCJzdHJpbmdpZnkiKX19KTt2YXIgbzgsUWNlPWYoKCk9PntkcygpO284PXtpZGVudGlmeTpzKGE9PnR5cGVvZiBhPT0iYm9vbGVhbiIsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmJvb2wiLHRlc3Q6L14oPzpbVHRdcnVlfFRSVUV8W0ZmXWFsc2V8RkFMU0UpJC8scmVzb2x2ZTpzKGE9Pm5ldyBodChhWzBdPT09InQifHxhWzBdPT09IlQiKSwicmVzb2x2ZSIpLHN0cmluZ2lmeSh7c291cmNlOmEsdmFsdWU6ZX0sdCl7aWYoYSYmbzgudGVzdC50ZXN0KGEpKXtsZXQgcj1hWzBdPT09InQifHxhWzBdPT09IlQiO2lmKGU9PT1yKXJldHVybiBhfXJldHVybiBlP3Qub3B0aW9ucy50cnVlU3RyOnQub3B0aW9ucy5mYWxzZVN0cn19fSk7ZnVuY3Rpb24gUXMoe2Zvcm1hdDphLG1pbkZyYWN0aW9uRGlnaXRzOmUsdGFnOnQsdmFsdWU6cn0pe2lmKHR5cGVvZiByPT0iYmlnaW50IilyZXR1cm4gU3RyaW5nKHIpO2xldCBpPXR5cGVvZiByPT0ibnVtYmVyIj9yOk51bWJlcihyKTtpZighaXNGaW5pdGUoaSkpcmV0dXJuIGlzTmFOKGkpPyIubmFuIjppPDA/Ii0uaW5mIjoiLmluZiI7bGV0IG89T2JqZWN0LmlzKHIsLTApPyItMCI6SlNPTi5zdHJpbmdpZnkocik7aWYoIWEmJmUmJighdHx8dD09PSJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdCIpJiYvXi0/XGQvLnRlc3QobykmJiFvLmluY2x1ZGVzKCJlIikpe2xldCBuPW8uaW5kZXhPZigiLiIpO248MCYmKG49by5sZW5ndGgsbys9Ii4iKTtsZXQgbD1lLShvLmxlbmd0aC1uLTEpO2Zvcig7bC0tID4wOylvKz0iMCJ9cmV0dXJuIG99dmFyIG44PWYoKCk9PntzKFFzLCJzdHJpbmdpZnlOdW1iZXIiKX0pO3ZhciB3ZyxNZyxrZyxKY2U9ZigoKT0+e2RzKCk7bjgoKTt3Zz17aWRlbnRpZnk6cyhhPT50eXBlb2YgYT09Im51bWJlciIsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmZsb2F0Iix0ZXN0Oi9eKD86Wy0rXT9cLig/OmluZnxJbmZ8SU5GKXxcLm5hbnxcLk5hTnxcLk5BTikkLyxyZXNvbHZlOnMoYT0+YS5zbGljZSgtMykudG9Mb3dlckNhc2UoKT09PSJuYW4iP05hTjphWzBdPT09Ii0iP051bWJlci5ORUdBVElWRV9JTkZJTklUWTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksInJlc29sdmUiKSxzdHJpbmdpZnk6UXN9LE1nPXtpZGVudGlmeTpzKGE9PnR5cGVvZiBhPT0ibnVtYmVyIiwiaWRlbnRpZnkiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQiLGZvcm1hdDoiRVhQIix0ZXN0Oi9eWy0rXT8oPzpcLlswLTldK3xbMC05XSsoPzpcLlswLTldKik/KVtlRV1bLStdP1swLTldKyQvLHJlc29sdmU6cyhhPT5wYXJzZUZsb2F0KGEpLCJyZXNvbHZlIiksc3RyaW5naWZ5KGEpe2xldCBlPU51bWJlcihhLnZhbHVlKTtyZXR1cm4gaXNGaW5pdGUoZSk/ZS50b0V4cG9uZW50aWFsKCk6UXMoYSl9fSxrZz17aWRlbnRpZnk6cyhhPT50eXBlb2YgYT09Im51bWJlciIsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmZsb2F0Iix0ZXN0Oi9eWy0rXT8oPzpcLlswLTldK3xbMC05XStcLlswLTldKikkLyxyZXNvbHZlKGEpe2xldCBlPW5ldyBodChwYXJzZUZsb2F0KGEpKSx0PWEuaW5kZXhPZigiLiIpO3JldHVybiB0IT09LTEmJmFbYS5sZW5ndGgtMV09PT0iMCImJihlLm1pbkZyYWN0aW9uRGlnaXRzPWEubGVuZ3RoLXQtMSksZX0sc3RyaW5naWZ5OlFzfX0pO2Z1bmN0aW9uIEs0dChhLGUsdCl7bGV0e3ZhbHVlOnJ9PWE7cmV0dXJuIEdYKHIpJiZyPj0wP3Qrci50b1N0cmluZyhlKTpRcyhhKX12YXIgR1gsZTBlLFNnLHpnLENnLHQwZT1mKCgpPT57bjgoKTtHWD1zKGE9PnR5cGVvZiBhPT0iYmlnaW50Inx8TnVtYmVyLmlzSW50ZWdlcihhKSwiaW50SWRlbnRpZnkiKSxlMGU9cygoYSxlLHQse2ludEFzQmlnSW50OnJ9KT0+cj9CaWdJbnQoYSk6cGFyc2VJbnQoYS5zdWJzdHJpbmcoZSksdCksImludFJlc29sdmUiKTtzKEs0dCwiaW50U3RyaW5naWZ5Iik7U2c9e2lkZW50aWZ5OnMoYT0+R1goYSkmJmE+PTAsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmludCIsZm9ybWF0OiJPQ1QiLHRlc3Q6L14wb1swLTddKyQvLHJlc29sdmU6cygoYSxlLHQpPT5lMGUoYSwyLDgsdCksInJlc29sdmUiKSxzdHJpbmdpZnk6cyhhPT5LNHQoYSw4LCIwbyIpLCJzdHJpbmdpZnkiKX0semc9e2lkZW50aWZ5OkdYLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjppbnQiLHRlc3Q6L15bLStdP1swLTldKyQvLHJlc29sdmU6cygoYSxlLHQpPT5lMGUoYSwwLDEwLHQpLCJyZXNvbHZlIiksc3RyaW5naWZ5OlFzfSxDZz17aWRlbnRpZnk6cyhhPT5HWChhKSYmYT49MCwiaWRlbnRpZnkiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6aW50Iixmb3JtYXQ6IkhFWCIsdGVzdDovXjB4WzAtOWEtZkEtRl0rJC8scmVzb2x2ZTpzKChhLGUsdCk9PmUwZShhLDIsMTYsdCksInJlc29sdmUiKSxzdHJpbmdpZnk6cyhhPT5LNHQoYSwxNiwiMHgiKSwic3RyaW5naWZ5Iil9fSk7dmFyIGEwZSxaNHQ9ZigoKT0+e3M4KCk7V1goKTtpOCgpO3lnKCk7UWNlKCk7SmNlKCk7dDBlKCk7YTBlPVtrbixTbixGbCxFMCxvOCxTZyx6ZyxDZyx3ZyxNZyxrZ119KTtmdW5jdGlvbiBYNHQoYSl7cmV0dXJuIHR5cGVvZiBhPT0iYmlnaW50Inx8TnVtYmVyLmlzSW50ZWdlcihhKX12YXIgWVgsRnhhLEJ4YSxyMGUsUTR0PWYoKCk9PntkcygpO3M4KCk7aTgoKTtzKFg0dCwiaW50SWRlbnRpZnkiKTtZWD1zKCh7dmFsdWU6YX0pPT5KU09OLnN0cmluZ2lmeShhKSwic3RyaW5naWZ5SlNPTiIpLEZ4YT1be2lkZW50aWZ5OnMoYT0+dHlwZW9mIGE9PSJzdHJpbmciLCJpZGVudGlmeSIpLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpzdHIiLHJlc29sdmU6cyhhPT5hLCJyZXNvbHZlIiksc3RyaW5naWZ5OllYfSx7aWRlbnRpZnk6cyhhPT5hPT1udWxsLCJpZGVudGlmeSIpLGNyZWF0ZU5vZGU6cygoKT0+bmV3IGh0KG51bGwpLCJjcmVhdGVOb2RlIiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOm51bGwiLHRlc3Q6L15udWxsJC8scmVzb2x2ZTpzKCgpPT5udWxsLCJyZXNvbHZlIiksc3RyaW5naWZ5OllYfSx7aWRlbnRpZnk6cyhhPT50eXBlb2YgYT09ImJvb2xlYW4iLCJpZGVudGlmeSIpLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpib29sIix0ZXN0Oi9edHJ1ZSR8XmZhbHNlJC8scmVzb2x2ZTpzKGE9PmE9PT0idHJ1ZSIsInJlc29sdmUiKSxzdHJpbmdpZnk6WVh9LHtpZGVudGlmeTpYNHQsZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmludCIsdGVzdDovXi0/KD86MHxbMS05XVswLTldKikkLyxyZXNvbHZlOnMoKGEsZSx7aW50QXNCaWdJbnQ6dH0pPT50P0JpZ0ludChhKTpwYXJzZUludChhLDEwKSwicmVzb2x2ZSIpLHN0cmluZ2lmeTpzKCh7dmFsdWU6YX0pPT5YNHQoYSk/YS50b1N0cmluZygpOkpTT04uc3RyaW5naWZ5KGEpLCJzdHJpbmdpZnkiKX0se2lkZW50aWZ5OnMoYT0+dHlwZW9mIGE9PSJudW1iZXIiLCJpZGVudGlmeSIpLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdCIsdGVzdDovXi0/KD86MHxbMS05XVswLTldKikoPzpcLlswLTldKik/KD86W2VFXVstK10/WzAtOV0rKT8kLyxyZXNvbHZlOnMoYT0+cGFyc2VGbG9hdChhKSwicmVzb2x2ZSIpLHN0cmluZ2lmeTpZWH1dLEJ4YT17ZGVmYXVsdDohMCx0YWc6IiIsdGVzdDovXi8scmVzb2x2ZShhLGUpe3JldHVybiBlKGBVbnJlc29sdmVkIHBsYWluIHNjYWxhciAke0pTT04uc3RyaW5naWZ5KGEpfWApLGF9fSxyMGU9W2tuLFNuXS5jb25jYXQoRnhhLEJ4YSl9KTt2YXIgbDgsczBlPWYoKCk9PntkcygpO2hnKCk7bDg9e2lkZW50aWZ5OnMoYT0+YSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXksImlkZW50aWZ5IiksZGVmYXVsdDohMSx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmJpbmFyeSIscmVzb2x2ZShhLGUpe2lmKHR5cGVvZiBhdG9iPT0iZnVuY3Rpb24iKXtsZXQgdD1hdG9iKGEucmVwbGFjZSgvW1xuXHJdL2csIiIpKSxyPW5ldyBVaW50OEFycmF5KHQubGVuZ3RoKTtmb3IobGV0IGk9MDtpPHQubGVuZ3RoOysraSlyW2ldPXQuY2hhckNvZGVBdChpKTtyZXR1cm4gcn1lbHNlIHJldHVybiBlKCJUaGlzIGVudmlyb25tZW50IGRvZXMgbm90IHN1cHBvcnQgcmVhZGluZyBiaW5hcnkgdGFnczsgZWl0aGVyIEJ1ZmZlciBvciBhdG9iIGlzIHJlcXVpcmVkIiksYX0sc3RyaW5naWZ5KHtjb21tZW50OmEsdHlwZTplLHZhbHVlOnR9LHIsaSxvKXtpZighdClyZXR1cm4iIjtsZXQgbj10LGw7aWYodHlwZW9mIGJ0b2E9PSJmdW5jdGlvbiIpe2xldCBkPSIiO2ZvcihsZXQgYz0wO2M8bi5sZW5ndGg7KytjKWQrPVN0cmluZy5mcm9tQ2hhckNvZGUobltjXSk7bD1idG9hKGQpfWVsc2UgdGhyb3cgbmV3IEVycm9yKCJUaGlzIGVudmlyb25tZW50IGRvZXMgbm90IHN1cHBvcnQgd3JpdGluZyBiaW5hcnkgdGFnczsgZWl0aGVyIEJ1ZmZlciBvciBidG9hIGlzIHJlcXVpcmVkIik7aWYoZT8/KGU9aHQuQkxPQ0tfTElURVJBTCksZSE9PWh0LlFVT1RFX0RPVUJMRSl7bGV0IGQ9TWF0aC5tYXgoci5vcHRpb25zLmxpbmVXaWR0aC1yLmluZGVudC5sZW5ndGgsci5vcHRpb25zLm1pbkNvbnRlbnRXaWR0aCksYz1NYXRoLmNlaWwobC5sZW5ndGgvZCkscD1uZXcgQXJyYXkoYyk7Zm9yKGxldCB1PTAsbT0wO3U8YzsrK3UsbSs9ZClwW3VdPWwuc3Vic3RyKG0sZCk7bD1wLmpvaW4oZT09PWh0LkJMT0NLX0xJVEVSQUw/YApgOiIgIil9cmV0dXJuIEEyKHtjb21tZW50OmEsdHlwZTplLHZhbHVlOmx9LHIsaSxvKX19fSk7ZnVuY3Rpb24gS1goYSxlKXtpZihfbyhhKSlmb3IobGV0IHQ9MDt0PGEuaXRlbXMubGVuZ3RoOysrdCl7bGV0IHI9YS5pdGVtc1t0XTtpZighcmEocikpe2lmKENvKHIpKXtyLml0ZW1zLmxlbmd0aD4xJiZlKCJFYWNoIHBhaXIgbXVzdCBoYXZlIGl0cyBvd24gc2VxdWVuY2UgaW5kaWNhdG9yIik7bGV0IGk9ci5pdGVtc1swXXx8bmV3IHByKG5ldyBodChudWxsKSk7aWYoci5jb21tZW50QmVmb3JlJiYoaS5rZXkuY29tbWVudEJlZm9yZT1pLmtleS5jb21tZW50QmVmb3JlP2Ake3IuY29tbWVudEJlZm9yZX0KJHtpLmtleS5jb21tZW50QmVmb3JlfWA6ci5jb21tZW50QmVmb3JlKSxyLmNvbW1lbnQpe2xldCBvPWkudmFsdWU/P2kua2V5O28uY29tbWVudD1vLmNvbW1lbnQ/YCR7ci5jb21tZW50fQoke28uY29tbWVudH1gOnIuY29tbWVudH1yPWl9YS5pdGVtc1t0XT1yYShyKT9yOm5ldyBwcihyKX19ZWxzZSBlKCJFeHBlY3RlZCBhIHNlcXVlbmNlIGZvciB0aGlzIHRhZyIpO3JldHVybiBhfWZ1bmN0aW9uIFpYKGEsZSx0KXtsZXR7cmVwbGFjZXI6cn09dCxpPW5ldyBMcyhhKTtpLnRhZz0idGFnOnlhbWwub3JnLDIwMDI6cGFpcnMiO2xldCBvPTA7aWYoZSYmU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChlKSlmb3IobGV0IG4gb2YgZSl7dHlwZW9mIHI9PSJmdW5jdGlvbiImJihuPXIuY2FsbChlLFN0cmluZyhvKyspLG4pKTtsZXQgbCxkO2lmKEFycmF5LmlzQXJyYXkobikpaWYobi5sZW5ndGg9PT0yKWw9blswXSxkPW5bMV07ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBba2V5LCB2YWx1ZV0gdHVwbGU6ICR7bn1gKTtlbHNlIGlmKG4mJm4gaW5zdGFuY2VvZiBPYmplY3Qpe2xldCBjPU9iamVjdC5rZXlzKG4pO2lmKGMubGVuZ3RoPT09MSlsPWNbMF0sZD1uW2xdO2Vsc2UgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgdHVwbGUgd2l0aCBvbmUga2V5LCBub3QgJHtjLmxlbmd0aH0ga2V5c2ApfWVsc2UgbD1uO2kuaXRlbXMucHVzaChCMyhsLGQsdCkpfXJldHVybiBpfXZhciBjOCxYWD1mKCgpPT57TGEoKTskMCgpO2RzKCk7QTAoKTtzKEtYLCJyZXNvbHZlUGFpcnMiKTtzKFpYLCJjcmVhdGVQYWlycyIpO2M4PXtjb2xsZWN0aW9uOiJzZXEiLGRlZmF1bHQ6ITEsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpwYWlycyIscmVzb2x2ZTpLWCxjcmVhdGVOb2RlOlpYfX0pO3ZhciBIMyxkOCxpMGU9ZigoKT0+e0xhKCk7TDAoKTtEMCgpO0EwKCk7WFgoKTtIMz1jbGFzcyBhIGV4dGVuZHMgTHN7c3RhdGlje3ModGhpcywiWUFNTE9NYXAiKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5hZGQ9eXIucHJvdG90eXBlLmFkZC5iaW5kKHRoaXMpLHRoaXMuZGVsZXRlPXlyLnByb3RvdHlwZS5kZWxldGUuYmluZCh0aGlzKSx0aGlzLmdldD15ci5wcm90b3R5cGUuZ2V0LmJpbmQodGhpcyksdGhpcy5oYXM9eXIucHJvdG90eXBlLmhhcy5iaW5kKHRoaXMpLHRoaXMuc2V0PXlyLnByb3RvdHlwZS5zZXQuYmluZCh0aGlzKSx0aGlzLnRhZz1hLnRhZ310b0pTT04oZSx0KXtpZighdClyZXR1cm4gc3VwZXIudG9KU09OKGUpO2xldCByPW5ldyBNYXA7dD8ub25DcmVhdGUmJnQub25DcmVhdGUocik7Zm9yKGxldCBpIG9mIHRoaXMuaXRlbXMpe2xldCBvLG47aWYocmEoaSk/KG89Y3MoaS5rZXksIiIsdCksbj1jcyhpLnZhbHVlLG8sdCkpOm89Y3MoaSwiIix0KSxyLmhhcyhvKSl0aHJvdyBuZXcgRXJyb3IoIk9yZGVyZWQgbWFwcyBtdXN0IG5vdCBpbmNsdWRlIGR1cGxpY2F0ZSBrZXlzIik7ci5zZXQobyxuKX1yZXR1cm4gcn1zdGF0aWMgZnJvbShlLHQscil7bGV0IGk9WlgoZSx0LHIpLG89bmV3IHRoaXM7cmV0dXJuIG8uaXRlbXM9aS5pdGVtcyxvfX07SDMudGFnPSJ0YWc6eWFtbC5vcmcsMjAwMjpvbWFwIjtkOD17Y29sbGVjdGlvbjoic2VxIixpZGVudGlmeTpzKGE9PmEgaW5zdGFuY2VvZiBNYXAsImlkZW50aWZ5Iiksbm9kZUNsYXNzOkgzLGRlZmF1bHQ6ITEsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpvbWFwIixyZXNvbHZlKGEsZSl7bGV0IHQ9S1goYSxlKSxyPVtdO2ZvcihsZXR7a2V5Oml9b2YgdC5pdGVtcylWdChpKSYmKHIuaW5jbHVkZXMoaS52YWx1ZSk/ZShgT3JkZXJlZCBtYXBzIG11c3Qgbm90IGluY2x1ZGUgZHVwbGljYXRlIGtleXM6ICR7aS52YWx1ZX1gKTpyLnB1c2goaS52YWx1ZSkpO3JldHVybiBPYmplY3QuYXNzaWduKG5ldyBIMyx0KX0sY3JlYXRlTm9kZTpzKChhLGUsdCk9PkgzLmZyb20oYSxlLHQpLCJjcmVhdGVOb2RlIil9fSk7ZnVuY3Rpb24gSjR0KHt2YWx1ZTphLHNvdXJjZTplfSx0KXtyZXR1cm4gZSYmKGE/UVg6SlgpLnRlc3QudGVzdChlKT9lOmE/dC5vcHRpb25zLnRydWVTdHI6dC5vcHRpb25zLmZhbHNlU3RyfXZhciBRWCxKWCxlM3Q9ZigoKT0+e2RzKCk7cyhKNHQsImJvb2xTdHJpbmdpZnkiKTtRWD17aWRlbnRpZnk6cyhhPT5hPT09ITAsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmJvb2wiLHRlc3Q6L14oPzpZfHl8W1l5XWVzfFlFU3xbVHRdcnVlfFRSVUV8W09vXW58T04pJC8scmVzb2x2ZTpzKCgpPT5uZXcgaHQoITApLCJyZXNvbHZlIiksc3RyaW5naWZ5Oko0dH0sSlg9e2lkZW50aWZ5OnMoYT0+YT09PSExLCJpZGVudGlmeSIpLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpib29sIix0ZXN0Oi9eKD86TnxufFtObl1vfE5PfFtGZl1hbHNlfEZBTFNFfFtPb11mZnxPRkYpJC8scmVzb2x2ZTpzKCgpPT5uZXcgaHQoITEpLCJyZXNvbHZlIiksc3RyaW5naWZ5Oko0dH19KTt2YXIgbzBlLG4wZSxsMGUsdDN0PWYoKCk9PntkcygpO244KCk7bzBlPXtpZGVudGlmeTpzKGE9PnR5cGVvZiBhPT0ibnVtYmVyIiwiaWRlbnRpZnkiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQiLHRlc3Q6L14oPzpbLStdP1wuKD86aW5mfEluZnxJTkYpfFwubmFufFwuTmFOfFwuTkFOKSQvLHJlc29sdmU6cyhhPT5hLnNsaWNlKC0zKS50b0xvd2VyQ2FzZSgpPT09Im5hbiI/TmFOOmFbMF09PT0iLSI/TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOk51bWJlci5QT1NJVElWRV9JTkZJTklUWSwicmVzb2x2ZSIpLHN0cmluZ2lmeTpRc30sbjBlPXtpZGVudGlmeTpzKGE9PnR5cGVvZiBhPT0ibnVtYmVyIiwiaWRlbnRpZnkiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQiLGZvcm1hdDoiRVhQIix0ZXN0Oi9eWy0rXT8oPzpbMC05XVswLTlfXSopPyg/OlwuWzAtOV9dKik/W2VFXVstK10/WzAtOV0rJC8scmVzb2x2ZTpzKGE9PnBhcnNlRmxvYXQoYS5yZXBsYWNlKC9fL2csIiIpKSwicmVzb2x2ZSIpLHN0cmluZ2lmeShhKXtsZXQgZT1OdW1iZXIoYS52YWx1ZSk7cmV0dXJuIGlzRmluaXRlKGUpP2UudG9FeHBvbmVudGlhbCgpOlFzKGEpfX0sbDBlPXtpZGVudGlmeTpzKGE9PnR5cGVvZiBhPT0ibnVtYmVyIiwiaWRlbnRpZnkiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQiLHRlc3Q6L15bLStdPyg/OlswLTldWzAtOV9dKik/XC5bMC05X10qJC8scmVzb2x2ZShhKXtsZXQgZT1uZXcgaHQocGFyc2VGbG9hdChhLnJlcGxhY2UoL18vZywiIikpKSx0PWEuaW5kZXhPZigiLiIpO2lmKHQhPT0tMSl7bGV0IHI9YS5zdWJzdHJpbmcodCsxKS5yZXBsYWNlKC9fL2csIiIpO3Jbci5sZW5ndGgtMV09PT0iMCImJihlLm1pbkZyYWN0aW9uRGlnaXRzPXIubGVuZ3RoKX1yZXR1cm4gZX0sc3RyaW5naWZ5OlFzfX0pO2Z1bmN0aW9uIGVRKGEsZSx0LHtpbnRBc0JpZ0ludDpyfSl7bGV0IGk9YVswXTtpZigoaT09PSItInx8aT09PSIrIikmJihlKz0xKSxhPWEuc3Vic3RyaW5nKGUpLnJlcGxhY2UoL18vZywiIikscil7c3dpdGNoKHQpe2Nhc2UgMjphPWAwYiR7YX1gO2JyZWFrO2Nhc2UgODphPWAwbyR7YX1gO2JyZWFrO2Nhc2UgMTY6YT1gMHgke2F9YDticmVha31sZXQgbj1CaWdJbnQoYSk7cmV0dXJuIGk9PT0iLSI/QmlnSW50KC0xKSpuOm59bGV0IG89cGFyc2VJbnQoYSx0KTtyZXR1cm4gaT09PSItIj8tMSpvOm99ZnVuY3Rpb24gYzBlKGEsZSx0KXtsZXR7dmFsdWU6cn09YTtpZihfZyhyKSl7bGV0IGk9ci50b1N0cmluZyhlKTtyZXR1cm4gcjwwPyItIit0K2kuc3Vic3RyKDEpOnQraX1yZXR1cm4gUXMoYSl9dmFyIF9nLGQwZSx1MGUscDBlLGYwZSxhM3Q9ZigoKT0+e244KCk7X2c9cyhhPT50eXBlb2YgYT09ImJpZ2ludCJ8fE51bWJlci5pc0ludGVnZXIoYSksImludElkZW50aWZ5Iik7cyhlUSwiaW50UmVzb2x2ZSIpO3MoYzBlLCJpbnRTdHJpbmdpZnkiKTtkMGU9e2lkZW50aWZ5Ol9nLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjppbnQiLGZvcm1hdDoiQklOIix0ZXN0Oi9eWy0rXT8wYlswLTFfXSskLyxyZXNvbHZlOnMoKGEsZSx0KT0+ZVEoYSwyLDIsdCksInJlc29sdmUiKSxzdHJpbmdpZnk6cyhhPT5jMGUoYSwyLCIwYiIpLCJzdHJpbmdpZnkiKX0sdTBlPXtpZGVudGlmeTpfZyxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6aW50Iixmb3JtYXQ6Ik9DVCIsdGVzdDovXlstK10/MFswLTdfXSskLyxyZXNvbHZlOnMoKGEsZSx0KT0+ZVEoYSwxLDgsdCksInJlc29sdmUiKSxzdHJpbmdpZnk6cyhhPT5jMGUoYSw4LCIwIiksInN0cmluZ2lmeSIpfSxwMGU9e2lkZW50aWZ5Ol9nLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjppbnQiLHRlc3Q6L15bLStdP1swLTldWzAtOV9dKiQvLHJlc29sdmU6cygoYSxlLHQpPT5lUShhLDAsMTAsdCksInJlc29sdmUiKSxzdHJpbmdpZnk6UXN9LGYwZT17aWRlbnRpZnk6X2csZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmludCIsZm9ybWF0OiJIRVgiLHRlc3Q6L15bLStdPzB4WzAtOWEtZkEtRl9dKyQvLHJlc29sdmU6cygoYSxlLHQpPT5lUShhLDIsMTYsdCksInJlc29sdmUiKSxzdHJpbmdpZnk6cyhhPT5jMGUoYSwxNiwiMHgiKSwic3RyaW5naWZ5Iil9fSk7dmFyIHEzLHU4LGgwZT1mKCgpPT57TGEoKTskMCgpO0QwKCk7cTM9Y2xhc3MgYSBleHRlbmRzIHlye3N0YXRpY3tzKHRoaXMsIllBTUxTZXQiKX1jb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLnRhZz1hLnRhZ31hZGQoZSl7bGV0IHQ7cmEoZSk/dD1lOmUmJnR5cGVvZiBlPT0ib2JqZWN0IiYmImtleSJpbiBlJiYidmFsdWUiaW4gZSYmZS52YWx1ZT09PW51bGw/dD1uZXcgcHIoZS5rZXksbnVsbCk6dD1uZXcgcHIoZSxudWxsKSxPbCh0aGlzLml0ZW1zLHQua2V5KXx8dGhpcy5pdGVtcy5wdXNoKHQpfWdldChlLHQpe2xldCByPU9sKHRoaXMuaXRlbXMsZSk7cmV0dXJuIXQmJnJhKHIpP1Z0KHIua2V5KT9yLmtleS52YWx1ZTpyLmtleTpyfXNldChlLHQpe2lmKHR5cGVvZiB0IT0iYm9vbGVhbiIpdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBib29sZWFuIHZhbHVlIGZvciBzZXQoa2V5LCB2YWx1ZSkgaW4gYSBZQU1MIHNldCwgbm90ICR7dHlwZW9mIHR9YCk7bGV0IHI9T2wodGhpcy5pdGVtcyxlKTtyJiYhdD90aGlzLml0ZW1zLnNwbGljZSh0aGlzLml0ZW1zLmluZGV4T2YociksMSk6IXImJnQmJnRoaXMuaXRlbXMucHVzaChuZXcgcHIoZSkpfXRvSlNPTihlLHQpe3JldHVybiBzdXBlci50b0pTT04oZSx0LFNldCl9dG9TdHJpbmcoZSx0LHIpe2lmKCFlKXJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzKTtpZih0aGlzLmhhc0FsbE51bGxWYWx1ZXMoITApKXJldHVybiBzdXBlci50b1N0cmluZyhPYmplY3QuYXNzaWduKHt9LGUse2FsbE51bGxWYWx1ZXM6ITB9KSx0LHIpO3Rocm93IG5ldyBFcnJvcigiU2V0IGl0ZW1zIG11c3QgYWxsIGhhdmUgbnVsbCB2YWx1ZXMiKX1zdGF0aWMgZnJvbShlLHQscil7bGV0e3JlcGxhY2VyOml9PXIsbz1uZXcgdGhpcyhlKTtpZih0JiZTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KHQpKWZvcihsZXQgbiBvZiB0KXR5cGVvZiBpPT0iZnVuY3Rpb24iJiYobj1pLmNhbGwodCxuLG4pKSxvLml0ZW1zLnB1c2goQjMobixudWxsLHIpKTtyZXR1cm4gb319O3EzLnRhZz0idGFnOnlhbWwub3JnLDIwMDI6c2V0Ijt1OD17Y29sbGVjdGlvbjoibWFwIixpZGVudGlmeTpzKGE9PmEgaW5zdGFuY2VvZiBTZXQsImlkZW50aWZ5Iiksbm9kZUNsYXNzOnEzLGRlZmF1bHQ6ITEsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpzZXQiLGNyZWF0ZU5vZGU6cygoYSxlLHQpPT5xMy5mcm9tKGEsZSx0KSwiY3JlYXRlTm9kZSIpLHJlc29sdmUoYSxlKXtpZihDbyhhKSl7aWYoYS5oYXNBbGxOdWxsVmFsdWVzKCEwKSlyZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgcTMsYSk7ZSgiU2V0IGl0ZW1zIG11c3QgYWxsIGhhdmUgbnVsbCB2YWx1ZXMiKX1lbHNlIGUoIkV4cGVjdGVkIGEgbWFwcGluZyBmb3IgdGhpcyB0YWciKTtyZXR1cm4gYX19fSk7ZnVuY3Rpb24gbTBlKGEsZSl7bGV0IHQ9YVswXSxyPXQ9PT0iLSJ8fHQ9PT0iKyI/YS5zdWJzdHJpbmcoMSk6YSxpPXMobj0+ZT9CaWdJbnQobik6TnVtYmVyKG4pLCJudW0iKSxvPXIucmVwbGFjZSgvXy9nLCIiKS5zcGxpdCgiOiIpLnJlZHVjZSgobixsKT0+bippKDYwKStpKGwpLGkoMCkpO3JldHVybiB0PT09Ii0iP2koLTEpKm86b31mdW5jdGlvbiByM3QoYSl7bGV0e3ZhbHVlOmV9PWEsdD1zKG49Pm4sIm51bSIpO2lmKHR5cGVvZiBlPT0iYmlnaW50Iil0PXMobj0+QmlnSW50KG4pLCJudW0iKTtlbHNlIGlmKGlzTmFOKGUpfHwhaXNGaW5pdGUoZSkpcmV0dXJuIFFzKGEpO2xldCByPSIiO2U8MCYmKHI9Ii0iLGUqPXQoLTEpKTtsZXQgaT10KDYwKSxvPVtlJWldO3JldHVybiBlPDYwP28udW5zaGlmdCgwKTooZT0oZS1vWzBdKS9pLG8udW5zaGlmdChlJWkpLGU+PTYwJiYoZT0oZS1vWzBdKS9pLG8udW5zaGlmdChlKSkpLHIrby5tYXAobj0+U3RyaW5nKG4pLnBhZFN0YXJ0KDIsIjAiKSkuam9pbigiOiIpLnJlcGxhY2UoLzAwMDAwMFxkKiQvLCIiKX12YXIgVGcsTGcsVjMsZzBlPWYoKCk9PntuOCgpO3MobTBlLCJwYXJzZVNleGFnZXNpbWFsIik7cyhyM3QsInN0cmluZ2lmeVNleGFnZXNpbWFsIik7VGc9e2lkZW50aWZ5OnMoYT0+dHlwZW9mIGE9PSJiaWdpbnQifHxOdW1iZXIuaXNJbnRlZ2VyKGEpLCJpZGVudGlmeSIpLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjppbnQiLGZvcm1hdDoiVElNRSIsdGVzdDovXlstK10/WzAtOV1bMC05X10qKD86OlswLTVdP1swLTldKSskLyxyZXNvbHZlOnMoKGEsZSx7aW50QXNCaWdJbnQ6dH0pPT5tMGUoYSx0KSwicmVzb2x2ZSIpLHN0cmluZ2lmeTpyM3R9LExnPXtpZGVudGlmeTpzKGE9PnR5cGVvZiBhPT0ibnVtYmVyIiwiaWRlbnRpZnkiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQiLGZvcm1hdDoiVElNRSIsdGVzdDovXlstK10/WzAtOV1bMC05X10qKD86OlswLTVdP1swLTldKStcLlswLTlfXSokLyxyZXNvbHZlOnMoYT0+bTBlKGEsITEpLCJyZXNvbHZlIiksc3RyaW5naWZ5OnIzdH0sVjM9e2lkZW50aWZ5OnMoYT0+YSBpbnN0YW5jZW9mIERhdGUsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOnRpbWVzdGFtcCIsdGVzdDpSZWdFeHAoIl4oWzAtOV17NH0pLShbMC05XXsxLDJ9KS0oWzAtOV17MSwyfSkoPzooPzp0fFR8WyBcXHRdKykoWzAtOV17MSwyfSk6KFswLTldezEsMn0pOihbMC05XXsxLDJ9KFxcLlswLTldKyk/KSg/OlsgXFx0XSooWnxbLStdWzAxMl0/WzAtOV0oPzo6WzAtOV17Mn0pPykpPyk/JCIpLHJlc29sdmUoYSl7bGV0IGU9YS5tYXRjaChWMy50ZXN0KTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIiEhdGltZXN0YW1wIGV4cGVjdHMgYSBkYXRlLCBzdGFydGluZyB3aXRoIHl5eXktbW0tZGQiKTtsZXRbLHQscixpLG8sbixsXT1lLm1hcChOdW1iZXIpLGQ9ZVs3XT9OdW1iZXIoKGVbN10rIjAwIikuc3Vic3RyKDEsMykpOjAsYz1EYXRlLlVUQyh0LHItMSxpLG98fDAsbnx8MCxsfHwwLGQpLHA9ZVs4XTtpZihwJiZwIT09IloiKXtsZXQgdT1tMGUocCwhMSk7TWF0aC5hYnModSk8MzAmJih1Kj02MCksYy09NmU0KnV9cmV0dXJuIG5ldyBEYXRlKGMpfSxzdHJpbmdpZnk6cygoe3ZhbHVlOmF9KT0+YT8udG9JU09TdHJpbmcoKS5yZXBsYWNlKC8oVDAwOjAwOjAwKT9cLjAwMFokLywiIik/PyIiLCJzdHJpbmdpZnkiKX19KTt2YXIgdFEsczN0PWYoKCk9PntzOCgpO1dYKCk7aTgoKTt5ZygpO3MwZSgpO2UzdCgpO3QzdCgpO2EzdCgpO1ZYKCk7aTBlKCk7WFgoKTtoMGUoKTtnMGUoKTt0UT1ba24sU24sRmwsRTAsUVgsSlgsZDBlLHUwZSxwMGUsZjBlLG8wZSxuMGUsbDBlLGw4LE1uLGQ4LGM4LHU4LFRnLExnLFYzXX0pO2Z1bmN0aW9uICRnKGEsZSx0KXtsZXQgcj1pM3QuZ2V0KGUpO2lmKHImJiFhKXJldHVybiB0JiYhci5pbmNsdWRlcyhNbik/ci5jb25jYXQoTW4pOnIuc2xpY2UoKTtsZXQgaT1yO2lmKCFpKWlmKEFycmF5LmlzQXJyYXkoYSkpaT1bXTtlbHNle2xldCBvPUFycmF5LmZyb20oaTN0LmtleXMoKSkuZmlsdGVyKG49Pm4hPT0ieWFtbDExIikubWFwKG49PkpTT04uc3RyaW5naWZ5KG4pKS5qb2luKCIsICIpO3Rocm93IG5ldyBFcnJvcihgVW5rbm93biBzY2hlbWEgIiR7ZX0iOyB1c2Ugb25lIG9mICR7b30gb3IgZGVmaW5lIGN1c3RvbVRhZ3MgYXJyYXlgKX1pZihBcnJheS5pc0FycmF5KGEpKWZvcihsZXQgbyBvZiBhKWk9aS5jb25jYXQobyk7ZWxzZSB0eXBlb2YgYT09ImZ1bmN0aW9uIiYmKGk9YShpLnNsaWNlKCkpKTtyZXR1cm4gdCYmKGk9aS5jb25jYXQoTW4pKSxpLnJlZHVjZSgobyxuKT0+e2xldCBsPXR5cGVvZiBuPT0ic3RyaW5nIj9vM3Rbbl06bjtpZighbCl7bGV0IGQ9SlNPTi5zdHJpbmdpZnkobiksYz1PYmplY3Qua2V5cyhvM3QpLm1hcChwPT5KU09OLnN0cmluZ2lmeShwKSkuam9pbigiLCAiKTt0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gY3VzdG9tIHRhZyAke2R9OyB1c2Ugb25lIG9mICR7Y31gKX1yZXR1cm4gby5pbmNsdWRlcyhsKXx8by5wdXNoKGwpLG99LFtdKX12YXIgaTN0LG8zdCxiMGUsbjN0PWYoKCk9PntzOCgpO1dYKCk7aTgoKTt5ZygpO1FjZSgpO0pjZSgpO3QwZSgpO1o0dCgpO1E0dCgpO3MwZSgpO1ZYKCk7aTBlKCk7WFgoKTtzM3QoKTtoMGUoKTtnMGUoKTtpM3Q9bmV3IE1hcChbWyJjb3JlIixhMGVdLFsiZmFpbHNhZmUiLFtrbixTbixGbF1dLFsianNvbiIscjBlXSxbInlhbWwxMSIsdFFdLFsieWFtbC0xLjEiLHRRXV0pLG8zdD17YmluYXJ5Omw4LGJvb2w6bzgsZmxvYXQ6a2csZmxvYXRFeHA6TWcsZmxvYXROYU46d2csZmxvYXRUaW1lOkxnLGludDp6ZyxpbnRIZXg6Q2csaW50T2N0OlNnLGludFRpbWU6VGcsbWFwOmtuLG1lcmdlOk1uLG51bGw6RTAsb21hcDpkOCxwYWlyczpjOCxzZXE6U24sc2V0OnU4LHRpbWVzdGFtcDpWM30sYjBlPXsidGFnOnlhbWwub3JnLDIwMDI6YmluYXJ5IjpsOCwidGFnOnlhbWwub3JnLDIwMDI6bWVyZ2UiOk1uLCJ0YWc6eWFtbC5vcmcsMjAwMjpvbWFwIjpkOCwidGFnOnlhbWwub3JnLDIwMDI6cGFpcnMiOmM4LCJ0YWc6eWFtbC5vcmcsMjAwMjpzZXQiOnU4LCJ0YWc6eWFtbC5vcmcsMjAwMjp0aW1lc3RhbXAiOlYzfTtzKCRnLCJnZXRUYWdzIil9KTt2YXIgSHhhLFAwLHYwZT1mKCgpPT57TGEoKTtzOCgpO2k4KCk7eWcoKTtuM3QoKTtIeGE9cygoYSxlKT0+YS5rZXk8ZS5rZXk/LTE6YS5rZXk+ZS5rZXk/MTowLCJzb3J0TWFwRW50cmllc0J5S2V5IiksUDA9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJTY2hlbWEiKX1jb25zdHJ1Y3Rvcih7Y29tcGF0OmUsY3VzdG9tVGFnczp0LG1lcmdlOnIscmVzb2x2ZUtub3duVGFnczppLHNjaGVtYTpvLHNvcnRNYXBFbnRyaWVzOm4sdG9TdHJpbmdEZWZhdWx0czpsfSl7dGhpcy5jb21wYXQ9QXJyYXkuaXNBcnJheShlKT8kZyhlLCJjb21wYXQiKTplPyRnKG51bGwsZSk6bnVsbCx0aGlzLm5hbWU9dHlwZW9mIG89PSJzdHJpbmciJiZvfHwiY29yZSIsdGhpcy5rbm93blRhZ3M9aT9iMGU6e30sdGhpcy50YWdzPSRnKHQsdGhpcy5uYW1lLHIpLHRoaXMudG9TdHJpbmdPcHRpb25zPWw/P251bGwsT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMseW4se3ZhbHVlOmtufSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsa28se3ZhbHVlOkZsfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsTDIse3ZhbHVlOlNufSksdGhpcy5zb3J0TWFwRW50cmllcz10eXBlb2Ygbj09ImZ1bmN0aW9uIj9uOm49PT0hMD9IeGE6bnVsbH1jbG9uZSgpe2xldCBlPU9iamVjdC5jcmVhdGUoYS5wcm90b3R5cGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnModGhpcykpO3JldHVybiBlLnRhZ3M9dGhpcy50YWdzLnNsaWNlKCksZX19fSk7ZnVuY3Rpb24geDBlKGEsZSl7bGV0IHQ9W10scj1lLmRpcmVjdGl2ZXM9PT0hMDtpZihlLmRpcmVjdGl2ZXMhPT0hMSYmYS5kaXJlY3RpdmVzKXtsZXQgZD1hLmRpcmVjdGl2ZXMudG9TdHJpbmcoYSk7ZD8odC5wdXNoKGQpLHI9ITApOmEuZGlyZWN0aXZlcy5kb2NTdGFydCYmKHI9ITApfXImJnQucHVzaCgiLS0tIik7bGV0IGk9bWcoYSxlKSx7Y29tbWVudFN0cmluZzpvfT1pLm9wdGlvbnM7aWYoYS5jb21tZW50QmVmb3JlKXt0Lmxlbmd0aCE9PTEmJnQudW5zaGlmdCgiIik7bGV0IGQ9byhhLmNvbW1lbnRCZWZvcmUpO3QudW5zaGlmdChXbyhkLCIiKSl9bGV0IG49ITEsbD1udWxsO2lmKGEuY29udGVudHMpe2lmKGRhKGEuY29udGVudHMpKXtpZihhLmNvbnRlbnRzLnNwYWNlQmVmb3JlJiZyJiZ0LnB1c2goIiIpLGEuY29udGVudHMuY29tbWVudEJlZm9yZSl7bGV0IHA9byhhLmNvbnRlbnRzLmNvbW1lbnRCZWZvcmUpO3QucHVzaChXbyhwLCIiKSl9aS5mb3JjZUJsb2NrSW5kZW50PSEhYS5jb21tZW50LGw9YS5jb250ZW50cy5jb21tZW50fWxldCBkPWw/dm9pZCAwOigpPT5uPSEwLGM9RTIoYS5jb250ZW50cyxpLCgpPT5sPW51bGwsZCk7bCYmKGMrPWgxKGMsIiIsbyhsKSkpLChjWzBdPT09InwifHxjWzBdPT09Ij4iKSYmdFt0Lmxlbmd0aC0xXT09PSItLS0iP3RbdC5sZW5ndGgtMV09YC0tLSAke2N9YDp0LnB1c2goYyl9ZWxzZSB0LnB1c2goRTIoYS5jb250ZW50cyxpKSk7aWYoYS5kaXJlY3RpdmVzPy5kb2NFbmQpaWYoYS5jb21tZW50KXtsZXQgZD1vKGEuY29tbWVudCk7ZC5pbmNsdWRlcyhgCmApPyh0LnB1c2goIi4uLiIpLHQucHVzaChXbyhkLCIiKSkpOnQucHVzaChgLi4uICR7ZH1gKX1lbHNlIHQucHVzaCgiLi4uIik7ZWxzZXtsZXQgZD1hLmNvbW1lbnQ7ZCYmbiYmKGQ9ZC5yZXBsYWNlKC9eXG4rLywiIikpLGQmJigoIW58fGwpJiZ0W3QubGVuZ3RoLTFdIT09IiImJnQucHVzaCgiIiksdC5wdXNoKFdvKG8oZCksIiIpKSl9cmV0dXJuIHQuam9pbihgCmApK2AKYH12YXIgbDN0PWYoKCk9PntMYSgpO2dnKCk7dWcoKTtzKHgwZSwic3RyaW5naWZ5RG9jdW1lbnQiKX0pO2Z1bmN0aW9uIHA4KGEpe2lmKFRhKGEpKXJldHVybiEwO3Rocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgYSBZQU1MIGNvbGxlY3Rpb24gYXMgZG9jdW1lbnQgY29udGVudHMiKX12YXIgem4sRGc9ZigoKT0+e2xnKCk7TlgoKTtMYSgpOyQwKCk7TDAoKTt2MGUoKTtsM3QoKTtFWCgpO3FjZSgpO2RnKCk7QmNlKCk7em49Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJEb2N1bWVudCIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLmNvbW1lbnRCZWZvcmU9bnVsbCx0aGlzLmNvbW1lbnQ9bnVsbCx0aGlzLmVycm9ycz1bXSx0aGlzLndhcm5pbmdzPVtdLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLFNpLHt2YWx1ZTpzZ30pO2xldCBpPW51bGw7dHlwZW9mIHQ9PSJmdW5jdGlvbiJ8fEFycmF5LmlzQXJyYXkodCk/aT10OnI9PT12b2lkIDAmJnQmJihyPXQsdD12b2lkIDApO2xldCBvPU9iamVjdC5hc3NpZ24oe2ludEFzQmlnSW50OiExLGtlZXBTb3VyY2VUb2tlbnM6ITEsbG9nTGV2ZWw6Indhcm4iLHByZXR0eUVycm9yczohMCxzdHJpY3Q6ITAsc3RyaW5nS2V5czohMSx1bmlxdWVLZXlzOiEwLHZlcnNpb246IjEuMiJ9LHIpO3RoaXMub3B0aW9ucz1vO2xldHt2ZXJzaW9uOm59PW87cj8uX2RpcmVjdGl2ZXM/KHRoaXMuZGlyZWN0aXZlcz1yLl9kaXJlY3RpdmVzLmF0RG9jdW1lbnQoKSx0aGlzLmRpcmVjdGl2ZXMueWFtbC5leHBsaWNpdCYmKG49dGhpcy5kaXJlY3RpdmVzLnlhbWwudmVyc2lvbikpOnRoaXMuZGlyZWN0aXZlcz1uZXcgZjEoe3ZlcnNpb246bn0pLHRoaXMuc2V0U2NoZW1hKG4sciksdGhpcy5jb250ZW50cz1lPT09dm9pZCAwP251bGw6dGhpcy5jcmVhdGVOb2RlKGUsaSxyKX1jbG9uZSgpe2xldCBlPU9iamVjdC5jcmVhdGUoYS5wcm90b3R5cGUse1tTaV06e3ZhbHVlOnNnfX0pO3JldHVybiBlLmNvbW1lbnRCZWZvcmU9dGhpcy5jb21tZW50QmVmb3JlLGUuY29tbWVudD10aGlzLmNvbW1lbnQsZS5lcnJvcnM9dGhpcy5lcnJvcnMuc2xpY2UoKSxlLndhcm5pbmdzPXRoaXMud2FybmluZ3Muc2xpY2UoKSxlLm9wdGlvbnM9T2JqZWN0LmFzc2lnbih7fSx0aGlzLm9wdGlvbnMpLHRoaXMuZGlyZWN0aXZlcyYmKGUuZGlyZWN0aXZlcz10aGlzLmRpcmVjdGl2ZXMuY2xvbmUoKSksZS5zY2hlbWE9dGhpcy5zY2hlbWEuY2xvbmUoKSxlLmNvbnRlbnRzPWRhKHRoaXMuY29udGVudHMpP3RoaXMuY29udGVudHMuY2xvbmUoZS5zY2hlbWEpOnRoaXMuY29udGVudHMsdGhpcy5yYW5nZSYmKGUucmFuZ2U9dGhpcy5yYW5nZS5zbGljZSgpKSxlfWFkZChlKXtwOCh0aGlzLmNvbnRlbnRzKSYmdGhpcy5jb250ZW50cy5hZGQoZSl9YWRkSW4oZSx0KXtwOCh0aGlzLmNvbnRlbnRzKSYmdGhpcy5jb250ZW50cy5hZGRJbihlLHQpfWNyZWF0ZUFsaWFzKGUsdCl7aWYoIWUuYW5jaG9yKXtsZXQgcj1EWCh0aGlzKTtlLmFuY2hvcj0hdHx8ci5oYXModCk/QVgodHx8ImEiLHIpOnR9cmV0dXJuIG5ldyB3bihlLmFuY2hvcil9Y3JlYXRlTm9kZShlLHQscil7bGV0IGk7aWYodHlwZW9mIHQ9PSJmdW5jdGlvbiIpZT10LmNhbGwoeyIiOmV9LCIiLGUpLGk9dDtlbHNlIGlmKEFycmF5LmlzQXJyYXkodCkpe2xldCBnPXMoaz0+dHlwZW9mIGs9PSJudW1iZXIifHxrIGluc3RhbmNlb2YgU3RyaW5nfHxrIGluc3RhbmNlb2YgTnVtYmVyLCJrZXlUb1N0ciIpLHk9dC5maWx0ZXIoZykubWFwKFN0cmluZyk7eS5sZW5ndGg+MCYmKHQ9dC5jb25jYXQoeSkpLGk9dH1lbHNlIHI9PT12b2lkIDAmJnQmJihyPXQsdD12b2lkIDApO2xldHthbGlhc0R1cGxpY2F0ZU9iamVjdHM6byxhbmNob3JQcmVmaXg6bixmbG93Omwsa2VlcFVuZGVmaW5lZDpkLG9uVGFnT2JqOmMsdGFnOnB9PXI/P3t9LHtvbkFuY2hvcjp1LHNldEFuY2hvcnM6bSxzb3VyY2VPYmplY3RzOnZ9PUhjZSh0aGlzLG58fCJhIikseD17YWxpYXNEdXBsaWNhdGVPYmplY3RzOm8/PyEwLGtlZXBVbmRlZmluZWQ6ZD8/ITEsb25BbmNob3I6dSxvblRhZ09iajpjLHJlcGxhY2VyOmksc2NoZW1hOnRoaXMuc2NoZW1hLHNvdXJjZU9iamVjdHM6dn0sYj1EMihlLHAseCk7cmV0dXJuIGwmJlRhKGIpJiYoYi5mbG93PSEwKSxtKCksYn1jcmVhdGVQYWlyKGUsdCxyPXt9KXtsZXQgaT10aGlzLmNyZWF0ZU5vZGUoZSxudWxsLHIpLG89dGhpcy5jcmVhdGVOb2RlKHQsbnVsbCxyKTtyZXR1cm4gbmV3IHByKGksbyl9ZGVsZXRlKGUpe3JldHVybiBwOCh0aGlzLmNvbnRlbnRzKT90aGlzLmNvbnRlbnRzLmRlbGV0ZShlKTohMX1kZWxldGVJbihlKXtyZXR1cm4gRjMoZSk/dGhpcy5jb250ZW50cz09bnVsbD8hMToodGhpcy5jb250ZW50cz1udWxsLCEwKTpwOCh0aGlzLmNvbnRlbnRzKT90aGlzLmNvbnRlbnRzLmRlbGV0ZUluKGUpOiExfWdldChlLHQpe3JldHVybiBUYSh0aGlzLmNvbnRlbnRzKT90aGlzLmNvbnRlbnRzLmdldChlLHQpOnZvaWQgMH1nZXRJbihlLHQpe3JldHVybiBGMyhlKT8hdCYmVnQodGhpcy5jb250ZW50cyk/dGhpcy5jb250ZW50cy52YWx1ZTp0aGlzLmNvbnRlbnRzOlRhKHRoaXMuY29udGVudHMpP3RoaXMuY29udGVudHMuZ2V0SW4oZSx0KTp2b2lkIDB9aGFzKGUpe3JldHVybiBUYSh0aGlzLmNvbnRlbnRzKT90aGlzLmNvbnRlbnRzLmhhcyhlKTohMX1oYXNJbihlKXtyZXR1cm4gRjMoZSk/dGhpcy5jb250ZW50cyE9PXZvaWQgMDpUYSh0aGlzLmNvbnRlbnRzKT90aGlzLmNvbnRlbnRzLmhhc0luKGUpOiExfXNldChlLHQpe3RoaXMuY29udGVudHM9PW51bGw/dGhpcy5jb250ZW50cz1lOCh0aGlzLnNjaGVtYSxbZV0sdCk6cDgodGhpcy5jb250ZW50cykmJnRoaXMuY29udGVudHMuc2V0KGUsdCl9c2V0SW4oZSx0KXtGMyhlKT90aGlzLmNvbnRlbnRzPXQ6dGhpcy5jb250ZW50cz09bnVsbD90aGlzLmNvbnRlbnRzPWU4KHRoaXMuc2NoZW1hLEFycmF5LmZyb20oZSksdCk6cDgodGhpcy5jb250ZW50cykmJnRoaXMuY29udGVudHMuc2V0SW4oZSx0KX1zZXRTY2hlbWEoZSx0PXt9KXt0eXBlb2YgZT09Im51bWJlciImJihlPVN0cmluZyhlKSk7bGV0IHI7c3dpdGNoKGUpe2Nhc2UiMS4xIjp0aGlzLmRpcmVjdGl2ZXM/dGhpcy5kaXJlY3RpdmVzLnlhbWwudmVyc2lvbj0iMS4xIjp0aGlzLmRpcmVjdGl2ZXM9bmV3IGYxKHt2ZXJzaW9uOiIxLjEifSkscj17cmVzb2x2ZUtub3duVGFnczohMSxzY2hlbWE6InlhbWwtMS4xIn07YnJlYWs7Y2FzZSIxLjIiOmNhc2UibmV4dCI6dGhpcy5kaXJlY3RpdmVzP3RoaXMuZGlyZWN0aXZlcy55YW1sLnZlcnNpb249ZTp0aGlzLmRpcmVjdGl2ZXM9bmV3IGYxKHt2ZXJzaW9uOmV9KSxyPXtyZXNvbHZlS25vd25UYWdzOiEwLHNjaGVtYToiY29yZSJ9O2JyZWFrO2Nhc2UgbnVsbDp0aGlzLmRpcmVjdGl2ZXMmJmRlbGV0ZSB0aGlzLmRpcmVjdGl2ZXMscj1udWxsO2JyZWFrO2RlZmF1bHQ6e2xldCBpPUpTT04uc3RyaW5naWZ5KGUpO3Rocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgJzEuMScsICcxLjInIG9yIG51bGwgYXMgZmlyc3QgYXJndW1lbnQsIGJ1dCBmb3VuZDogJHtpfWApfX1pZih0LnNjaGVtYSBpbnN0YW5jZW9mIE9iamVjdCl0aGlzLnNjaGVtYT10LnNjaGVtYTtlbHNlIGlmKHIpdGhpcy5zY2hlbWE9bmV3IFAwKE9iamVjdC5hc3NpZ24ocix0KSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIldpdGggYSBudWxsIFlBTUwgdmVyc2lvbiwgdGhlIHsgc2NoZW1hOiBTY2hlbWEgfSBvcHRpb24gaXMgcmVxdWlyZWQiKX10b0pTKHtqc29uOmUsanNvbkFyZzp0LG1hcEFzTWFwOnIsbWF4QWxpYXNDb3VudDppLG9uQW5jaG9yOm8scmV2aXZlcjpufT17fSl7bGV0IGw9e2FuY2hvcnM6bmV3IE1hcCxkb2M6dGhpcyxrZWVwOiFlLG1hcEFzTWFwOnI9PT0hMCxtYXBLZXlXYXJuZWQ6ITEsbWF4QWxpYXNDb3VudDp0eXBlb2YgaT09Im51bWJlciI/aToxMDB9LGQ9Y3ModGhpcy5jb250ZW50cyx0Pz8iIixsKTtpZih0eXBlb2Ygbz09ImZ1bmN0aW9uIilmb3IobGV0e2NvdW50OmMscmVzOnB9b2YgbC5hbmNob3JzLnZhbHVlcygpKW8ocCxjKTtyZXR1cm4gdHlwZW9mIG49PSJmdW5jdGlvbiI/Tmwobix7IiI6ZH0sIiIsZCk6ZH10b0pTT04oZSx0KXtyZXR1cm4gdGhpcy50b0pTKHtqc29uOiEwLGpzb25Bcmc6ZSxtYXBBc01hcDohMSxvbkFuY2hvcjp0fSl9dG9TdHJpbmcoZT17fSl7aWYodGhpcy5lcnJvcnMubGVuZ3RoPjApdGhyb3cgbmV3IEVycm9yKCJEb2N1bWVudCB3aXRoIGVycm9ycyBjYW5ub3QgYmUgc3RyaW5naWZpZWQiKTtpZigiaW5kZW50ImluIGUmJighTnVtYmVyLmlzSW50ZWdlcihlLmluZGVudCl8fE51bWJlcihlLmluZGVudCk8PTApKXtsZXQgdD1KU09OLnN0cmluZ2lmeShlLmluZGVudCk7dGhyb3cgbmV3IEVycm9yKGAiaW5kZW50IiBvcHRpb24gbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIsIG5vdCAke3R9YCl9cmV0dXJuIHgwZSh0aGlzLGUpfX07cyhwOCwiYXNzZXJ0Q29sbGVjdGlvbiIpfSk7dmFyIEkwLFZpLE4wLGY4LEFnPWYoKCk9PntJMD1jbGFzcyBleHRlbmRzIEVycm9ye3N0YXRpY3tzKHRoaXMsIllBTUxFcnJvciIpfWNvbnN0cnVjdG9yKGUsdCxyLGkpe3N1cGVyKCksdGhpcy5uYW1lPWUsdGhpcy5jb2RlPXIsdGhpcy5tZXNzYWdlPWksdGhpcy5wb3M9dH19LFZpPWNsYXNzIGV4dGVuZHMgSTB7c3RhdGlje3ModGhpcywiWUFNTFBhcnNlRXJyb3IiKX1jb25zdHJ1Y3RvcihlLHQscil7c3VwZXIoIllBTUxQYXJzZUVycm9yIixlLHQscil9fSxOMD1jbGFzcyBleHRlbmRzIEkwe3N0YXRpY3tzKHRoaXMsIllBTUxXYXJuaW5nIil9Y29uc3RydWN0b3IoZSx0LHIpe3N1cGVyKCJZQU1MV2FybmluZyIsZSx0LHIpfX0sZjg9cygoYSxlKT0+dD0+e2lmKHQucG9zWzBdPT09LTEpcmV0dXJuO3QubGluZVBvcz10LnBvcy5tYXAobD0+ZS5saW5lUG9zKGwpKTtsZXR7bGluZTpyLGNvbDppfT10LmxpbmVQb3NbMF07dC5tZXNzYWdlKz1gIGF0IGxpbmUgJHtyfSwgY29sdW1uICR7aX1gO2xldCBvPWktMSxuPWEuc3Vic3RyaW5nKGUubGluZVN0YXJ0c1tyLTFdLGUubGluZVN0YXJ0c1tyXSkucmVwbGFjZSgvW1xuXHJdKyQvLCIiKTtpZihvPj02MCYmbi5sZW5ndGg+ODApe2xldCBsPU1hdGgubWluKG8tMzksbi5sZW5ndGgtNzkpO249Ilx1MjAyNiIrbi5zdWJzdHJpbmcobCksby09bC0xfWlmKG4ubGVuZ3RoPjgwJiYobj1uLnN1YnN0cmluZygwLDc5KSsiXHUyMDI2Iikscj4xJiYvXiAqJC8udGVzdChuLnN1YnN0cmluZygwLG8pKSl7bGV0IGw9YS5zdWJzdHJpbmcoZS5saW5lU3RhcnRzW3ItMl0sZS5saW5lU3RhcnRzW3ItMV0pO2wubGVuZ3RoPjgwJiYobD1sLnN1YnN0cmluZygwLDc5KStgXHUyMDI2CmApLG49bCtufWlmKC9bXiBdLy50ZXN0KG4pKXtsZXQgbD0xLGQ9dC5saW5lUG9zWzFdO2Q/LmxpbmU9PT1yJiZkLmNvbD5pJiYobD1NYXRoLm1heCgxLE1hdGgubWluKGQuY29sLWksODAtbykpKTtsZXQgYz0iICIucmVwZWF0KG8pKyJeIi5yZXBlYXQobCk7dC5tZXNzYWdlKz1gOgoKJHtufQoke2N9CmB9fSwicHJldHRpZnlFcnJvciIpfSk7ZnVuY3Rpb24gbTEoYSx7ZmxvdzplLGluZGljYXRvcjp0LG5leHQ6cixvZmZzZXQ6aSxvbkVycm9yOm8scGFyZW50SW5kZW50Om4sc3RhcnRPbk5ld2xpbmU6bH0pe2xldCBkPSExLGM9bCxwPWwsdT0iIixtPSIiLHY9ITEseD0hMSxiPW51bGwsZz1udWxsLHk9bnVsbCxrPW51bGwsQz1udWxsLE49bnVsbCxfPW51bGw7Zm9yKGxldCBUIG9mIGEpc3dpdGNoKHgmJihULnR5cGUhPT0ic3BhY2UiJiZULnR5cGUhPT0ibmV3bGluZSImJlQudHlwZSE9PSJjb21tYSImJm8oVC5vZmZzZXQsIk1JU1NJTkdfQ0hBUiIsIlRhZ3MgYW5kIGFuY2hvcnMgbXVzdCBiZSBzZXBhcmF0ZWQgZnJvbSB0aGUgbmV4dCB0b2tlbiBieSB3aGl0ZSBzcGFjZSIpLHg9ITEpLGImJihjJiZULnR5cGUhPT0iY29tbWVudCImJlQudHlwZSE9PSJuZXdsaW5lIiYmbyhiLCJUQUJfQVNfSU5ERU5UIiwiVGFicyBhcmUgbm90IGFsbG93ZWQgYXMgaW5kZW50YXRpb24iKSxiPW51bGwpLFQudHlwZSl7Y2FzZSJzcGFjZSI6IWUmJih0IT09ImRvYy1zdGFydCJ8fHI/LnR5cGUhPT0iZmxvdy1jb2xsZWN0aW9uIikmJlQuc291cmNlLmluY2x1ZGVzKCIJIikmJihiPVQpLHA9ITA7YnJlYWs7Y2FzZSJjb21tZW50Ijp7cHx8byhULCJNSVNTSU5HX0NIQVIiLCJDb21tZW50cyBtdXN0IGJlIHNlcGFyYXRlZCBmcm9tIG90aGVyIHRva2VucyBieSB3aGl0ZSBzcGFjZSBjaGFyYWN0ZXJzIik7bGV0IEU9VC5zb3VyY2Uuc3Vic3RyaW5nKDEpfHwiICI7dT91Kz1tK0U6dT1FLG09IiIsYz0hMTticmVha31jYXNlIm5ld2xpbmUiOmM/dT91Kz1ULnNvdXJjZTooIU58fHQhPT0ic2VxLWl0ZW0taW5kIikmJihkPSEwKTptKz1ULnNvdXJjZSxjPSEwLHY9ITAsKGd8fHkpJiYoaz1UKSxwPSEwO2JyZWFrO2Nhc2UiYW5jaG9yIjpnJiZvKFQsIk1VTFRJUExFX0FOQ0hPUlMiLCJBIG5vZGUgY2FuIGhhdmUgYXQgbW9zdCBvbmUgYW5jaG9yIiksVC5zb3VyY2UuZW5kc1dpdGgoIjoiKSYmbyhULm9mZnNldCtULnNvdXJjZS5sZW5ndGgtMSwiQkFEX0FMSUFTIiwiQW5jaG9yIGVuZGluZyBpbiA6IGlzIGFtYmlndW91cyIsITApLGc9VCxfPz8oXz1ULm9mZnNldCksYz0hMSxwPSExLHg9ITA7YnJlYWs7Y2FzZSJ0YWciOnt5JiZvKFQsIk1VTFRJUExFX1RBR1MiLCJBIG5vZGUgY2FuIGhhdmUgYXQgbW9zdCBvbmUgdGFnIikseT1ULF8/PyhfPVQub2Zmc2V0KSxjPSExLHA9ITEseD0hMDticmVha31jYXNlIHQ6KGd8fHkpJiZvKFQsIkJBRF9QUk9QX09SREVSIixgQW5jaG9ycyBhbmQgdGFncyBtdXN0IGJlIGFmdGVyIHRoZSAke1Quc291cmNlfSBpbmRpY2F0b3JgKSxOJiZvKFQsIlVORVhQRUNURURfVE9LRU4iLGBVbmV4cGVjdGVkICR7VC5zb3VyY2V9IGluICR7ZT8/ImNvbGxlY3Rpb24ifWApLE49VCxjPXQ9PT0ic2VxLWl0ZW0taW5kInx8dD09PSJleHBsaWNpdC1rZXktaW5kIixwPSExO2JyZWFrO2Nhc2UiY29tbWEiOmlmKGUpe0MmJm8oVCwiVU5FWFBFQ1RFRF9UT0tFTiIsYFVuZXhwZWN0ZWQgLCBpbiAke2V9YCksQz1ULGM9ITEscD0hMTticmVha31kZWZhdWx0Om8oVCwiVU5FWFBFQ1RFRF9UT0tFTiIsYFVuZXhwZWN0ZWQgJHtULnR5cGV9IHRva2VuYCksYz0hMSxwPSExfWxldCB6PWFbYS5sZW5ndGgtMV0sTz16P3oub2Zmc2V0K3ouc291cmNlLmxlbmd0aDppO3JldHVybiB4JiZyJiZyLnR5cGUhPT0ic3BhY2UiJiZyLnR5cGUhPT0ibmV3bGluZSImJnIudHlwZSE9PSJjb21tYSImJihyLnR5cGUhPT0ic2NhbGFyInx8ci5zb3VyY2UhPT0iIikmJm8oci5vZmZzZXQsIk1JU1NJTkdfQ0hBUiIsIlRhZ3MgYW5kIGFuY2hvcnMgbXVzdCBiZSBzZXBhcmF0ZWQgZnJvbSB0aGUgbmV4dCB0b2tlbiBieSB3aGl0ZSBzcGFjZSIpLGImJihjJiZiLmluZGVudDw9bnx8cj8udHlwZT09PSJibG9jay1tYXAifHxyPy50eXBlPT09ImJsb2NrLXNlcSIpJiZvKGIsIlRBQl9BU19JTkRFTlQiLCJUYWJzIGFyZSBub3QgYWxsb3dlZCBhcyBpbmRlbnRhdGlvbiIpLHtjb21tYTpDLGZvdW5kOk4sc3BhY2VCZWZvcmU6ZCxjb21tZW50OnUsaGFzTmV3bGluZTp2LGFuY2hvcjpnLHRhZzp5LG5ld2xpbmVBZnRlclByb3A6ayxlbmQ6TyxzdGFydDpfPz9PfX12YXIgRWc9ZigoKT0+e3MobTEsInJlc29sdmVQcm9wcyIpfSk7ZnVuY3Rpb24gQmwoYSl7aWYoIWEpcmV0dXJuIG51bGw7c3dpdGNoKGEudHlwZSl7Y2FzZSJhbGlhcyI6Y2FzZSJzY2FsYXIiOmNhc2UiZG91YmxlLXF1b3RlZC1zY2FsYXIiOmNhc2Uic2luZ2xlLXF1b3RlZC1zY2FsYXIiOmlmKGEuc291cmNlLmluY2x1ZGVzKGAKYCkpcmV0dXJuITA7aWYoYS5lbmQpe2ZvcihsZXQgZSBvZiBhLmVuZClpZihlLnR5cGU9PT0ibmV3bGluZSIpcmV0dXJuITB9cmV0dXJuITE7Y2FzZSJmbG93LWNvbGxlY3Rpb24iOmZvcihsZXQgZSBvZiBhLml0ZW1zKXtmb3IobGV0IHQgb2YgZS5zdGFydClpZih0LnR5cGU9PT0ibmV3bGluZSIpcmV0dXJuITA7aWYoZS5zZXApe2ZvcihsZXQgdCBvZiBlLnNlcClpZih0LnR5cGU9PT0ibmV3bGluZSIpcmV0dXJuITB9aWYoQmwoZS5rZXkpfHxCbChlLnZhbHVlKSlyZXR1cm4hMH1yZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIgYVE9ZigoKT0+e3MoQmwsImNvbnRhaW5zTmV3bGluZSIpfSk7ZnVuY3Rpb24gaDgoYSxlLHQpe2lmKGU/LnR5cGU9PT0iZmxvdy1jb2xsZWN0aW9uIil7bGV0IHI9ZS5lbmRbMF07ci5pbmRlbnQ9PT1hJiYoci5zb3VyY2U9PT0iXSJ8fHIuc291cmNlPT09In0iKSYmQmwoZSkmJnQociwiQkFEX0lOREVOVCIsIkZsb3cgZW5kIGluZGljYXRvciBzaG91bGQgYmUgbW9yZSBpbmRlbnRlZCB0aGFuIHBhcmVudCIsITApfX12YXIgeTBlPWYoKCk9PnthUSgpO3MoaDgsImZsb3dJbmRlbnRDaGVjayIpfSk7ZnVuY3Rpb24gUGcoYSxlLHQpe2xldHt1bmlxdWVLZXlzOnJ9PWEub3B0aW9ucztpZihyPT09ITEpcmV0dXJuITE7bGV0IGk9dHlwZW9mIHI9PSJmdW5jdGlvbiI/cjoobyxuKT0+bz09PW58fFZ0KG8pJiZWdChuKSYmby52YWx1ZT09PW4udmFsdWU7cmV0dXJuIGUuc29tZShvPT5pKG8ua2V5LHQpKX12YXIgdzBlPWYoKCk9PntMYSgpO3MoUGcsIm1hcEluY2x1ZGVzIil9KTtmdW5jdGlvbiBNMGUoe2NvbXBvc2VOb2RlOmEsY29tcG9zZUVtcHR5Tm9kZTplfSx0LHIsaSxvKXtsZXQgbj1vPy5ub2RlQ2xhc3M/P3lyLGw9bmV3IG4odC5zY2hlbWEpO3QuYXRSb290JiYodC5hdFJvb3Q9ITEpO2xldCBkPXIub2Zmc2V0LGM9bnVsbDtmb3IobGV0IHAgb2Ygci5pdGVtcyl7bGV0e3N0YXJ0OnUsa2V5Om0sc2VwOnYsdmFsdWU6eH09cCxiPW0xKHUse2luZGljYXRvcjoiZXhwbGljaXQta2V5LWluZCIsbmV4dDptPz92Py5bMF0sb2Zmc2V0OmQsb25FcnJvcjppLHBhcmVudEluZGVudDpyLmluZGVudCxzdGFydE9uTmV3bGluZTohMH0pLGc9IWIuZm91bmQ7aWYoZyl7aWYobSYmKG0udHlwZT09PSJibG9jay1zZXEiP2koZCwiQkxPQ0tfQVNfSU1QTElDSVRfS0VZIiwiQSBibG9jayBzZXF1ZW5jZSBtYXkgbm90IGJlIHVzZWQgYXMgYW4gaW1wbGljaXQgbWFwIGtleSIpOiJpbmRlbnQiaW4gbSYmbS5pbmRlbnQhPT1yLmluZGVudCYmaShkLCJCQURfSU5ERU5UIixjM3QpKSwhYi5hbmNob3ImJiFiLnRhZyYmIXYpe2M9Yi5lbmQsYi5jb21tZW50JiYobC5jb21tZW50P2wuY29tbWVudCs9YApgK2IuY29tbWVudDpsLmNvbW1lbnQ9Yi5jb21tZW50KTtjb250aW51ZX0oYi5uZXdsaW5lQWZ0ZXJQcm9wfHxCbChtKSkmJmkobT8/dVt1Lmxlbmd0aC0xXSwiTVVMVElMSU5FX0lNUExJQ0lUX0tFWSIsIkltcGxpY2l0IGtleXMgbmVlZCB0byBiZSBvbiBhIHNpbmdsZSBsaW5lIil9ZWxzZSBiLmZvdW5kPy5pbmRlbnQhPT1yLmluZGVudCYmaShkLCJCQURfSU5ERU5UIixjM3QpO3QuYXRLZXk9ITA7bGV0IHk9Yi5lbmQsaz1tP2EodCxtLGIsaSk6ZSh0LHksdSxudWxsLGIsaSk7dC5zY2hlbWEuY29tcGF0JiZoOChyLmluZGVudCxtLGkpLHQuYXRLZXk9ITEsUGcodCxsLml0ZW1zLGspJiZpKHksIkRVUExJQ0FURV9LRVkiLCJNYXAga2V5cyBtdXN0IGJlIHVuaXF1ZSIpO2xldCBDPW0xKHY/P1tdLHtpbmRpY2F0b3I6Im1hcC12YWx1ZS1pbmQiLG5leHQ6eCxvZmZzZXQ6ay5yYW5nZVsyXSxvbkVycm9yOmkscGFyZW50SW5kZW50OnIuaW5kZW50LHN0YXJ0T25OZXdsaW5lOiFtfHxtLnR5cGU9PT0iYmxvY2stc2NhbGFyIn0pO2lmKGQ9Qy5lbmQsQy5mb3VuZCl7ZyYmKHg/LnR5cGU9PT0iYmxvY2stbWFwIiYmIUMuaGFzTmV3bGluZSYmaShkLCJCTE9DS19BU19JTVBMSUNJVF9LRVkiLCJOZXN0ZWQgbWFwcGluZ3MgYXJlIG5vdCBhbGxvd2VkIGluIGNvbXBhY3QgbWFwcGluZ3MiKSx0Lm9wdGlvbnMuc3RyaWN0JiZiLnN0YXJ0PEMuZm91bmQub2Zmc2V0LTEwMjQmJmkoay5yYW5nZSwiS0VZX09WRVJfMTAyNF9DSEFSUyIsIlRoZSA6IGluZGljYXRvciBtdXN0IGJlIGF0IG1vc3QgMTAyNCBjaGFycyBhZnRlciB0aGUgc3RhcnQgb2YgYW4gaW1wbGljaXQgYmxvY2sgbWFwcGluZyBrZXkiKSk7bGV0IE49eD9hKHQseCxDLGkpOmUodCxkLHYsbnVsbCxDLGkpO3Quc2NoZW1hLmNvbXBhdCYmaDgoci5pbmRlbnQseCxpKSxkPU4ucmFuZ2VbMl07bGV0IF89bmV3IHByKGssTik7dC5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMmJihfLnNyY1Rva2VuPXApLGwuaXRlbXMucHVzaChfKX1lbHNle2cmJmkoay5yYW5nZSwiTUlTU0lOR19DSEFSIiwiSW1wbGljaXQgbWFwIGtleXMgbmVlZCB0byBiZSBmb2xsb3dlZCBieSBtYXAgdmFsdWVzIiksQy5jb21tZW50JiYoay5jb21tZW50P2suY29tbWVudCs9YApgK0MuY29tbWVudDprLmNvbW1lbnQ9Qy5jb21tZW50KTtsZXQgTj1uZXcgcHIoayk7dC5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMmJihOLnNyY1Rva2VuPXApLGwuaXRlbXMucHVzaChOKX19cmV0dXJuIGMmJmM8ZCYmaShjLCJJTVBPU1NJQkxFIiwiTWFwIGNvbW1lbnQgd2l0aCB0cmFpbGluZyBjb250ZW50IiksbC5yYW5nZT1bci5vZmZzZXQsZCxjPz9kXSxsfXZhciBjM3QsZDN0PWYoKCk9PnskMCgpO0QwKCk7RWcoKTthUSgpO3kwZSgpO3cwZSgpO2MzdD0iQWxsIG1hcHBpbmcgaXRlbXMgbXVzdCBzdGFydCBhdCB0aGUgc2FtZSBjb2x1bW4iO3MoTTBlLCJyZXNvbHZlQmxvY2tNYXAiKX0pO2Z1bmN0aW9uIGswZSh7Y29tcG9zZU5vZGU6YSxjb21wb3NlRW1wdHlOb2RlOmV9LHQscixpLG8pe2xldCBuPW8/Lm5vZGVDbGFzcz8/THMsbD1uZXcgbih0LnNjaGVtYSk7dC5hdFJvb3QmJih0LmF0Um9vdD0hMSksdC5hdEtleSYmKHQuYXRLZXk9ITEpO2xldCBkPXIub2Zmc2V0LGM9bnVsbDtmb3IobGV0e3N0YXJ0OnAsdmFsdWU6dX1vZiByLml0ZW1zKXtsZXQgbT1tMShwLHtpbmRpY2F0b3I6InNlcS1pdGVtLWluZCIsbmV4dDp1LG9mZnNldDpkLG9uRXJyb3I6aSxwYXJlbnRJbmRlbnQ6ci5pbmRlbnQsc3RhcnRPbk5ld2xpbmU6ITB9KTtpZighbS5mb3VuZClpZihtLmFuY2hvcnx8bS50YWd8fHUpdT8udHlwZT09PSJibG9jay1zZXEiP2kobS5lbmQsIkJBRF9JTkRFTlQiLCJBbGwgc2VxdWVuY2UgaXRlbXMgbXVzdCBzdGFydCBhdCB0aGUgc2FtZSBjb2x1bW4iKTppKGQsIk1JU1NJTkdfQ0hBUiIsIlNlcXVlbmNlIGl0ZW0gd2l0aG91dCAtIGluZGljYXRvciIpO2Vsc2V7Yz1tLmVuZCxtLmNvbW1lbnQmJihsLmNvbW1lbnQ9bS5jb21tZW50KTtjb250aW51ZX1sZXQgdj11P2EodCx1LG0saSk6ZSh0LG0uZW5kLHAsbnVsbCxtLGkpO3Quc2NoZW1hLmNvbXBhdCYmaDgoci5pbmRlbnQsdSxpKSxkPXYucmFuZ2VbMl0sbC5pdGVtcy5wdXNoKHYpfXJldHVybiBsLnJhbmdlPVtyLm9mZnNldCxkLGM/P2RdLGx9dmFyIHUzdD1mKCgpPT57QTAoKTtFZygpO3kwZSgpO3MoazBlLCJyZXNvbHZlQmxvY2tTZXEiKX0pO2Z1bmN0aW9uIGcxKGEsZSx0LHIpe2xldCBpPSIiO2lmKGEpe2xldCBvPSExLG49IiI7Zm9yKGxldCBsIG9mIGEpe2xldHtzb3VyY2U6ZCx0eXBlOmN9PWw7c3dpdGNoKGMpe2Nhc2Uic3BhY2UiOm89ITA7YnJlYWs7Y2FzZSJjb21tZW50Ijp7dCYmIW8mJnIobCwiTUlTU0lOR19DSEFSIiwiQ29tbWVudHMgbXVzdCBiZSBzZXBhcmF0ZWQgZnJvbSBvdGhlciB0b2tlbnMgYnkgd2hpdGUgc3BhY2UgY2hhcmFjdGVycyIpO2xldCBwPWQuc3Vic3RyaW5nKDEpfHwiICI7aT9pKz1uK3A6aT1wLG49IiI7YnJlYWt9Y2FzZSJuZXdsaW5lIjppJiYobis9ZCksbz0hMDticmVhaztkZWZhdWx0OnIobCwiVU5FWFBFQ1RFRF9UT0tFTiIsYFVuZXhwZWN0ZWQgJHtjfSBhdCBub2RlIGVuZGApfWUrPWQubGVuZ3RofX1yZXR1cm57Y29tbWVudDppLG9mZnNldDplfX12YXIgbTg9ZigoKT0+e3MoZzEsInJlc29sdmVFbmQiKX0pO2Z1bmN0aW9uIEMwZSh7Y29tcG9zZU5vZGU6YSxjb21wb3NlRW1wdHlOb2RlOmV9LHQscixpLG8pe2xldCBuPXIuc3RhcnQuc291cmNlPT09InsiLGw9bj8iZmxvdyBtYXAiOiJmbG93IHNlcXVlbmNlIixkPW8/Lm5vZGVDbGFzcz8/KG4/eXI6THMpLGM9bmV3IGQodC5zY2hlbWEpO2MuZmxvdz0hMDtsZXQgcD10LmF0Um9vdDtwJiYodC5hdFJvb3Q9ITEpLHQuYXRLZXkmJih0LmF0S2V5PSExKTtsZXQgdT1yLm9mZnNldCtyLnN0YXJ0LnNvdXJjZS5sZW5ndGg7Zm9yKGxldCBnPTA7ZzxyLml0ZW1zLmxlbmd0aDsrK2cpe2xldCB5PXIuaXRlbXNbZ10se3N0YXJ0Omssa2V5OkMsc2VwOk4sdmFsdWU6X309eSx6PW0xKGsse2Zsb3c6bCxpbmRpY2F0b3I6ImV4cGxpY2l0LWtleS1pbmQiLG5leHQ6Qz8/Tj8uWzBdLG9mZnNldDp1LG9uRXJyb3I6aSxwYXJlbnRJbmRlbnQ6ci5pbmRlbnQsc3RhcnRPbk5ld2xpbmU6ITF9KTtpZighei5mb3VuZCl7aWYoIXouYW5jaG9yJiYhei50YWcmJiFOJiYhXyl7Zz09PTAmJnouY29tbWE/aSh6LmNvbW1hLCJVTkVYUEVDVEVEX1RPS0VOIixgVW5leHBlY3RlZCAsIGluICR7bH1gKTpnPHIuaXRlbXMubGVuZ3RoLTEmJmkoei5zdGFydCwiVU5FWFBFQ1RFRF9UT0tFTiIsYFVuZXhwZWN0ZWQgZW1wdHkgaXRlbSBpbiAke2x9YCksei5jb21tZW50JiYoYy5jb21tZW50P2MuY29tbWVudCs9YApgK3ouY29tbWVudDpjLmNvbW1lbnQ9ei5jb21tZW50KSx1PXouZW5kO2NvbnRpbnVlfSFuJiZ0Lm9wdGlvbnMuc3RyaWN0JiZCbChDKSYmaShDLCJNVUxUSUxJTkVfSU1QTElDSVRfS0VZIiwiSW1wbGljaXQga2V5cyBvZiBmbG93IHNlcXVlbmNlIHBhaXJzIG5lZWQgdG8gYmUgb24gYSBzaW5nbGUgbGluZSIpfWlmKGc9PT0wKXouY29tbWEmJmkoei5jb21tYSwiVU5FWFBFQ1RFRF9UT0tFTiIsYFVuZXhwZWN0ZWQgLCBpbiAke2x9YCk7ZWxzZSBpZih6LmNvbW1hfHxpKHouc3RhcnQsIk1JU1NJTkdfQ0hBUiIsYE1pc3NpbmcgLCBiZXR3ZWVuICR7bH0gaXRlbXNgKSx6LmNvbW1lbnQpe2xldCBPPSIiO2U6Zm9yKGxldCBUIG9mIGspc3dpdGNoKFQudHlwZSl7Y2FzZSJjb21tYSI6Y2FzZSJzcGFjZSI6YnJlYWs7Y2FzZSJjb21tZW50IjpPPVQuc291cmNlLnN1YnN0cmluZygxKTticmVhayBlO2RlZmF1bHQ6YnJlYWsgZX1pZihPKXtsZXQgVD1jLml0ZW1zW2MuaXRlbXMubGVuZ3RoLTFdO3JhKFQpJiYoVD1ULnZhbHVlPz9ULmtleSksVC5jb21tZW50P1QuY29tbWVudCs9YApgK086VC5jb21tZW50PU8sei5jb21tZW50PXouY29tbWVudC5zdWJzdHJpbmcoTy5sZW5ndGgrMSl9fWlmKCFuJiYhTiYmIXouZm91bmQpe2xldCBPPV8/YSh0LF8seixpKTplKHQsei5lbmQsTixudWxsLHosaSk7Yy5pdGVtcy5wdXNoKE8pLHU9Ty5yYW5nZVsyXSx6MGUoXykmJmkoTy5yYW5nZSwiQkxPQ0tfSU5fRkxPVyIsUzBlKX1lbHNle3QuYXRLZXk9ITA7bGV0IE89ei5lbmQsVD1DP2EodCxDLHosaSk6ZSh0LE8sayxudWxsLHosaSk7ejBlKEMpJiZpKFQucmFuZ2UsIkJMT0NLX0lOX0ZMT1ciLFMwZSksdC5hdEtleT0hMTtsZXQgRT1tMShOPz9bXSx7ZmxvdzpsLGluZGljYXRvcjoibWFwLXZhbHVlLWluZCIsbmV4dDpfLG9mZnNldDpULnJhbmdlWzJdLG9uRXJyb3I6aSxwYXJlbnRJbmRlbnQ6ci5pbmRlbnQsc3RhcnRPbk5ld2xpbmU6ITF9KTtpZihFLmZvdW5kKXtpZighbiYmIXouZm91bmQmJnQub3B0aW9ucy5zdHJpY3Qpe2lmKE4pZm9yKGxldCBTIG9mIE4pe2lmKFM9PT1FLmZvdW5kKWJyZWFrO2lmKFMudHlwZT09PSJuZXdsaW5lIil7aShTLCJNVUxUSUxJTkVfSU1QTElDSVRfS0VZIiwiSW1wbGljaXQga2V5cyBvZiBmbG93IHNlcXVlbmNlIHBhaXJzIG5lZWQgdG8gYmUgb24gYSBzaW5nbGUgbGluZSIpO2JyZWFrfX16LnN0YXJ0PEUuZm91bmQub2Zmc2V0LTEwMjQmJmkoRS5mb3VuZCwiS0VZX09WRVJfMTAyNF9DSEFSUyIsIlRoZSA6IGluZGljYXRvciBtdXN0IGJlIGF0IG1vc3QgMTAyNCBjaGFycyBhZnRlciB0aGUgc3RhcnQgb2YgYW4gaW1wbGljaXQgZmxvdyBzZXF1ZW5jZSBrZXkiKX19ZWxzZSBfJiYoInNvdXJjZSJpbiBfJiZfLnNvdXJjZT8uWzBdPT09IjoiP2koXywiTUlTU0lOR19DSEFSIixgTWlzc2luZyBzcGFjZSBhZnRlciA6IGluICR7bH1gKTppKEUuc3RhcnQsIk1JU1NJTkdfQ0hBUiIsYE1pc3NpbmcgLCBvciA6IGJldHdlZW4gJHtsfSBpdGVtc2ApKTtsZXQgQj1fP2EodCxfLEUsaSk6RS5mb3VuZD9lKHQsRS5lbmQsTixudWxsLEUsaSk6bnVsbDtCP3owZShfKSYmaShCLnJhbmdlLCJCTE9DS19JTl9GTE9XIixTMGUpOkUuY29tbWVudCYmKFQuY29tbWVudD9ULmNvbW1lbnQrPWAKYCtFLmNvbW1lbnQ6VC5jb21tZW50PUUuY29tbWVudCk7bGV0IE09bmV3IHByKFQsQik7aWYodC5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMmJihNLnNyY1Rva2VuPXkpLG4pe2xldCBTPWM7UGcodCxTLml0ZW1zLFQpJiZpKE8sIkRVUExJQ0FURV9LRVkiLCJNYXAga2V5cyBtdXN0IGJlIHVuaXF1ZSIpLFMuaXRlbXMucHVzaChNKX1lbHNle2xldCBTPW5ldyB5cih0LnNjaGVtYSk7Uy5mbG93PSEwLFMuaXRlbXMucHVzaChNKTtsZXQgUD0oQj8/VCkucmFuZ2U7Uy5yYW5nZT1bVC5yYW5nZVswXSxQWzFdLFBbMl1dLGMuaXRlbXMucHVzaChTKX11PUI/Qi5yYW5nZVsyXTpFLmVuZH19bGV0IG09bj8ifSI6Il0iLFt2LC4uLnhdPXIuZW5kLGI9dTtpZih2Py5zb3VyY2U9PT1tKWI9di5vZmZzZXQrdi5zb3VyY2UubGVuZ3RoO2Vsc2V7bGV0IGc9bFswXS50b1VwcGVyQ2FzZSgpK2wuc3Vic3RyaW5nKDEpLHk9cD9gJHtnfSBtdXN0IGVuZCB3aXRoIGEgJHttfWA6YCR7Z30gaW4gYmxvY2sgY29sbGVjdGlvbiBtdXN0IGJlIHN1ZmZpY2llbnRseSBpbmRlbnRlZCBhbmQgZW5kIHdpdGggYSAke219YDtpKHUscD8iTUlTU0lOR19DSEFSIjoiQkFEX0lOREVOVCIseSksdiYmdi5zb3VyY2UubGVuZ3RoIT09MSYmeC51bnNoaWZ0KHYpfWlmKHgubGVuZ3RoPjApe2xldCBnPWcxKHgsYix0Lm9wdGlvbnMuc3RyaWN0LGkpO2cuY29tbWVudCYmKGMuY29tbWVudD9jLmNvbW1lbnQrPWAKYCtnLmNvbW1lbnQ6Yy5jb21tZW50PWcuY29tbWVudCksYy5yYW5nZT1bci5vZmZzZXQsYixnLm9mZnNldF19ZWxzZSBjLnJhbmdlPVtyLm9mZnNldCxiLGJdO3JldHVybiBjfXZhciBTMGUsejBlLHAzdD1mKCgpPT57TGEoKTskMCgpO0QwKCk7QTAoKTttOCgpO0VnKCk7YVEoKTt3MGUoKTtTMGU9IkJsb2NrIGNvbGxlY3Rpb25zIGFyZSBub3QgYWxsb3dlZCB3aXRoaW4gZmxvdyBjb2xsZWN0aW9ucyIsejBlPXMoYT0+YSYmKGEudHlwZT09PSJibG9jay1tYXAifHxhLnR5cGU9PT0iYmxvY2stc2VxIiksImlzQmxvY2siKTtzKEMwZSwicmVzb2x2ZUZsb3dDb2xsZWN0aW9uIil9KTtmdW5jdGlvbiBfMGUoYSxlLHQscixpLG8pe2xldCBuPXQudHlwZT09PSJibG9jay1tYXAiP00wZShhLGUsdCxyLG8pOnQudHlwZT09PSJibG9jay1zZXEiP2swZShhLGUsdCxyLG8pOkMwZShhLGUsdCxyLG8pLGw9bi5jb25zdHJ1Y3RvcjtyZXR1cm4gaT09PSIhInx8aT09PWwudGFnTmFtZT8obi50YWc9bC50YWdOYW1lLG4pOihpJiYobi50YWc9aSksbil9ZnVuY3Rpb24gVDBlKGEsZSx0LHIsaSl7bGV0IG89ci50YWcsbj1vP2UuZGlyZWN0aXZlcy50YWdOYW1lKG8uc291cmNlLG09PmkobywiVEFHX1JFU09MVkVfRkFJTEVEIixtKSk6bnVsbDtpZih0LnR5cGU9PT0iYmxvY2stc2VxIil7bGV0e2FuY2hvcjptLG5ld2xpbmVBZnRlclByb3A6dn09cix4PW0mJm8/bS5vZmZzZXQ+by5vZmZzZXQ/bTpvOm0/P287eCYmKCF2fHx2Lm9mZnNldDx4Lm9mZnNldCkmJmkoeCwiTUlTU0lOR19DSEFSIiwiTWlzc2luZyBuZXdsaW5lIGFmdGVyIGJsb2NrIHNlcXVlbmNlIHByb3BzIil9bGV0IGw9dC50eXBlPT09ImJsb2NrLW1hcCI/Im1hcCI6dC50eXBlPT09ImJsb2NrLXNlcSI/InNlcSI6dC5zdGFydC5zb3VyY2U9PT0ieyI/Im1hcCI6InNlcSI7aWYoIW98fCFufHxuPT09IiEifHxuPT09eXIudGFnTmFtZSYmbD09PSJtYXAifHxuPT09THMudGFnTmFtZSYmbD09PSJzZXEiKXJldHVybiBfMGUoYSxlLHQsaSxuKTtsZXQgZD1lLnNjaGVtYS50YWdzLmZpbmQobT0+bS50YWc9PT1uJiZtLmNvbGxlY3Rpb249PT1sKTtpZighZCl7bGV0IG09ZS5zY2hlbWEua25vd25UYWdzW25dO2lmKG0/LmNvbGxlY3Rpb249PT1sKWUuc2NoZW1hLnRhZ3MucHVzaChPYmplY3QuYXNzaWduKHt9LG0se2RlZmF1bHQ6ITF9KSksZD1tO2Vsc2UgcmV0dXJuIG0/aShvLCJCQURfQ09MTEVDVElPTl9UWVBFIixgJHttLnRhZ30gdXNlZCBmb3IgJHtsfSBjb2xsZWN0aW9uLCBidXQgZXhwZWN0cyAke20uY29sbGVjdGlvbj8/InNjYWxhciJ9YCwhMCk6aShvLCJUQUdfUkVTT0xWRV9GQUlMRUQiLGBVbnJlc29sdmVkIHRhZzogJHtufWAsITApLF8wZShhLGUsdCxpLG4pfWxldCBjPV8wZShhLGUsdCxpLG4sZCkscD1kLnJlc29sdmU/LihjLG09PmkobywiVEFHX1JFU09MVkVfRkFJTEVEIixtKSxlLm9wdGlvbnMpPz9jLHU9ZGEocCk/cDpuZXcgaHQocCk7cmV0dXJuIHUucmFuZ2U9Yy5yYW5nZSx1LnRhZz1uLGQ/LmZvcm1hdCYmKHUuZm9ybWF0PWQuZm9ybWF0KSx1fXZhciBmM3Q9ZigoKT0+e0xhKCk7ZHMoKTtEMCgpO0EwKCk7ZDN0KCk7dTN0KCk7cDN0KCk7cyhfMGUsInJlc29sdmVDb2xsZWN0aW9uIik7cyhUMGUsImNvbXBvc2VDb2xsZWN0aW9uIil9KTtmdW5jdGlvbiBJZyhhLGUsdCl7bGV0IHI9ZS5vZmZzZXQsaT1xeGEoZSxhLm9wdGlvbnMuc3RyaWN0LHQpO2lmKCFpKXJldHVybnt2YWx1ZToiIix0eXBlOm51bGwsY29tbWVudDoiIixyYW5nZTpbcixyLHJdfTtsZXQgbz1pLm1vZGU9PT0iPiI/aHQuQkxPQ0tfRk9MREVEOmh0LkJMT0NLX0xJVEVSQUwsbj1lLnNvdXJjZT9WeGEoZS5zb3VyY2UpOltdLGw9bi5sZW5ndGg7Zm9yKGxldCBiPW4ubGVuZ3RoLTE7Yj49MDstLWIpe2xldCBnPW5bYl1bMV07aWYoZz09PSIifHxnPT09IlxyIilsPWI7ZWxzZSBicmVha31pZihsPT09MCl7bGV0IGI9aS5jaG9tcD09PSIrIiYmbi5sZW5ndGg+MD9gCmAucmVwZWF0KE1hdGgubWF4KDEsbi5sZW5ndGgtMSkpOiIiLGc9citpLmxlbmd0aDtyZXR1cm4gZS5zb3VyY2UmJihnKz1lLnNvdXJjZS5sZW5ndGgpLHt2YWx1ZTpiLHR5cGU6byxjb21tZW50OmkuY29tbWVudCxyYW5nZTpbcixnLGddfX1sZXQgZD1lLmluZGVudCtpLmluZGVudCxjPWUub2Zmc2V0K2kubGVuZ3RoLHA9MDtmb3IobGV0IGI9MDtiPGw7KytiKXtsZXRbZyx5XT1uW2JdO2lmKHk9PT0iInx8eT09PSJcciIpaS5pbmRlbnQ9PT0wJiZnLmxlbmd0aD5kJiYoZD1nLmxlbmd0aCk7ZWxzZXtnLmxlbmd0aDxkJiZ0KGMrZy5sZW5ndGgsIk1JU1NJTkdfQ0hBUiIsIkJsb2NrIHNjYWxhcnMgd2l0aCBtb3JlLWluZGVudGVkIGxlYWRpbmcgZW1wdHkgbGluZXMgbXVzdCB1c2UgYW4gZXhwbGljaXQgaW5kZW50YXRpb24gaW5kaWNhdG9yIiksaS5pbmRlbnQ9PT0wJiYoZD1nLmxlbmd0aCkscD1iLGQ9PT0wJiYhYS5hdFJvb3QmJnQoYywiQkFEX0lOREVOVCIsIkJsb2NrIHNjYWxhciB2YWx1ZXMgaW4gY29sbGVjdGlvbnMgbXVzdCBiZSBpbmRlbnRlZCIpO2JyZWFrfWMrPWcubGVuZ3RoK3kubGVuZ3RoKzF9Zm9yKGxldCBiPW4ubGVuZ3RoLTE7Yj49bDstLWIpbltiXVswXS5sZW5ndGg+ZCYmKGw9YisxKTtsZXQgdT0iIixtPSIiLHY9ITE7Zm9yKGxldCBiPTA7YjxwOysrYil1Kz1uW2JdWzBdLnNsaWNlKGQpK2AKYDtmb3IobGV0IGI9cDtiPGw7KytiKXtsZXRbZyx5XT1uW2JdO2MrPWcubGVuZ3RoK3kubGVuZ3RoKzE7bGV0IGs9eVt5Lmxlbmd0aC0xXT09PSJcciI7aWYoayYmKHk9eS5zbGljZSgwLC0xKSkseSYmZy5sZW5ndGg8ZCl7bGV0IE49YEJsb2NrIHNjYWxhciBsaW5lcyBtdXN0IG5vdCBiZSBsZXNzIGluZGVudGVkIHRoYW4gdGhlaXIgJHtpLmluZGVudD8iZXhwbGljaXQgaW5kZW50YXRpb24gaW5kaWNhdG9yIjoiZmlyc3QgbGluZSJ9YDt0KGMteS5sZW5ndGgtKGs/MjoxKSwiQkFEX0lOREVOVCIsTiksZz0iIn1vPT09aHQuQkxPQ0tfTElURVJBTD8odSs9bStnLnNsaWNlKGQpK3ksbT1gCmApOmcubGVuZ3RoPmR8fHlbMF09PT0iCSI/KG09PT0iICI/bT1gCmA6IXYmJm09PT1gCmAmJihtPWAKCmApLHUrPW0rZy5zbGljZShkKSt5LG09YApgLHY9ITApOnk9PT0iIj9tPT09YApgP3UrPWAKYDptPWAKYDoodSs9bSt5LG09IiAiLHY9ITEpfXN3aXRjaChpLmNob21wKXtjYXNlIi0iOmJyZWFrO2Nhc2UiKyI6Zm9yKGxldCBiPWw7YjxuLmxlbmd0aDsrK2IpdSs9YApgK25bYl1bMF0uc2xpY2UoZCk7dVt1Lmxlbmd0aC0xXSE9PWAKYCYmKHUrPWAKYCk7YnJlYWs7ZGVmYXVsdDp1Kz1gCmB9bGV0IHg9citpLmxlbmd0aCtlLnNvdXJjZS5sZW5ndGg7cmV0dXJue3ZhbHVlOnUsdHlwZTpvLGNvbW1lbnQ6aS5jb21tZW50LHJhbmdlOltyLHgseF19fWZ1bmN0aW9uIHF4YSh7b2Zmc2V0OmEscHJvcHM6ZX0sdCxyKXtpZihlWzBdLnR5cGUhPT0iYmxvY2stc2NhbGFyLWhlYWRlciIpcmV0dXJuIHIoZVswXSwiSU1QT1NTSUJMRSIsIkJsb2NrIHNjYWxhciBoZWFkZXIgbm90IGZvdW5kIiksbnVsbDtsZXR7c291cmNlOml9PWVbMF0sbz1pWzBdLG49MCxsPSIiLGQ9LTE7Zm9yKGxldCBtPTE7bTxpLmxlbmd0aDsrK20pe2xldCB2PWlbbV07aWYoIWwmJih2PT09Ii0ifHx2PT09IisiKSlsPXY7ZWxzZXtsZXQgeD1OdW1iZXIodik7IW4mJng/bj14OmQ9PT0tMSYmKGQ9YSttKX19ZCE9PS0xJiZyKGQsIlVORVhQRUNURURfVE9LRU4iLGBCbG9jayBzY2FsYXIgaGVhZGVyIGluY2x1ZGVzIGV4dHJhIGNoYXJhY3RlcnM6ICR7aX1gKTtsZXQgYz0hMSxwPSIiLHU9aS5sZW5ndGg7Zm9yKGxldCBtPTE7bTxlLmxlbmd0aDsrK20pe2xldCB2PWVbbV07c3dpdGNoKHYudHlwZSl7Y2FzZSJzcGFjZSI6Yz0hMDtjYXNlIm5ld2xpbmUiOnUrPXYuc291cmNlLmxlbmd0aDticmVhaztjYXNlImNvbW1lbnQiOnQmJiFjJiZyKHYsIk1JU1NJTkdfQ0hBUiIsIkNvbW1lbnRzIG11c3QgYmUgc2VwYXJhdGVkIGZyb20gb3RoZXIgdG9rZW5zIGJ5IHdoaXRlIHNwYWNlIGNoYXJhY3RlcnMiKSx1Kz12LnNvdXJjZS5sZW5ndGgscD12LnNvdXJjZS5zdWJzdHJpbmcoMSk7YnJlYWs7Y2FzZSJlcnJvciI6cih2LCJVTkVYUEVDVEVEX1RPS0VOIix2Lm1lc3NhZ2UpLHUrPXYuc291cmNlLmxlbmd0aDticmVhaztkZWZhdWx0OntsZXQgeD1gVW5leHBlY3RlZCB0b2tlbiBpbiBibG9jayBzY2FsYXIgaGVhZGVyOiAke3YudHlwZX1gO3IodiwiVU5FWFBFQ1RFRF9UT0tFTiIseCk7bGV0IGI9di5zb3VyY2U7YiYmdHlwZW9mIGI9PSJzdHJpbmciJiYodSs9Yi5sZW5ndGgpfX19cmV0dXJue21vZGU6byxpbmRlbnQ6bixjaG9tcDpsLGNvbW1lbnQ6cCxsZW5ndGg6dX19ZnVuY3Rpb24gVnhhKGEpe2xldCBlPWEuc3BsaXQoL1xuKCAqKS8pLHQ9ZVswXSxyPXQubWF0Y2goL14oICopLyksbz1bcj8uWzFdP1tyWzFdLHQuc2xpY2UoclsxXS5sZW5ndGgpXTpbIiIsdF1dO2ZvcihsZXQgbj0xO248ZS5sZW5ndGg7bis9MilvLnB1c2goW2Vbbl0sZVtuKzFdXSk7cmV0dXJuIG99dmFyIEwwZT1mKCgpPT57ZHMoKTtzKElnLCJyZXNvbHZlQmxvY2tTY2FsYXIiKTtzKHF4YSwicGFyc2VCbG9ja1NjYWxhckhlYWRlciIpO3MoVnhhLCJzcGxpdExpbmVzIil9KTtmdW5jdGlvbiBOZyhhLGUsdCl7bGV0e29mZnNldDpyLHR5cGU6aSxzb3VyY2U6byxlbmQ6bn09YSxsLGQsYz1zKChtLHYseCk9PnQocittLHYseCksIl9vbkVycm9yIik7c3dpdGNoKGkpe2Nhc2Uic2NhbGFyIjpsPWh0LlBMQUlOLGQ9anhhKG8sYyk7YnJlYWs7Y2FzZSJzaW5nbGUtcXVvdGVkLXNjYWxhciI6bD1odC5RVU9URV9TSU5HTEUsZD1VeGEobyxjKTticmVhaztjYXNlImRvdWJsZS1xdW90ZWQtc2NhbGFyIjpsPWh0LlFVT1RFX0RPVUJMRSxkPVd4YShvLGMpO2JyZWFrO2RlZmF1bHQ6cmV0dXJuIHQoYSwiVU5FWFBFQ1RFRF9UT0tFTiIsYEV4cGVjdGVkIGEgZmxvdyBzY2FsYXIgdmFsdWUsIGJ1dCBmb3VuZDogJHtpfWApLHt2YWx1ZToiIix0eXBlOm51bGwsY29tbWVudDoiIixyYW5nZTpbcixyK28ubGVuZ3RoLHIrby5sZW5ndGhdfX1sZXQgcD1yK28ubGVuZ3RoLHU9ZzEobixwLGUsdCk7cmV0dXJue3ZhbHVlOmQsdHlwZTpsLGNvbW1lbnQ6dS5jb21tZW50LHJhbmdlOltyLHAsdS5vZmZzZXRdfX1mdW5jdGlvbiBqeGEoYSxlKXtsZXQgdD0iIjtzd2l0Y2goYVswXSl7Y2FzZSIJIjp0PSJhIHRhYiBjaGFyYWN0ZXIiO2JyZWFrO2Nhc2UiLCI6dD0iZmxvdyBpbmRpY2F0b3IgY2hhcmFjdGVyICwiO2JyZWFrO2Nhc2UiJSI6dD0iZGlyZWN0aXZlIGluZGljYXRvciBjaGFyYWN0ZXIgJSI7YnJlYWs7Y2FzZSJ8IjpjYXNlIj4iOnt0PWBibG9jayBzY2FsYXIgaW5kaWNhdG9yICR7YVswXX1gO2JyZWFrfWNhc2UiQCI6Y2FzZSJgIjp7dD1gcmVzZXJ2ZWQgY2hhcmFjdGVyICR7YVswXX1gO2JyZWFrfX1yZXR1cm4gdCYmZSgwLCJCQURfU0NBTEFSX1NUQVJUIixgUGxhaW4gdmFsdWUgY2Fubm90IHN0YXJ0IHdpdGggJHt0fWApLGgzdChhKX1mdW5jdGlvbiBVeGEoYSxlKXtyZXR1cm4oYVthLmxlbmd0aC0xXSE9PSInInx8YS5sZW5ndGg9PT0xKSYmZShhLmxlbmd0aCwiTUlTU0lOR19DSEFSIiwiTWlzc2luZyBjbG9zaW5nICdxdW90ZSIpLGgzdChhLnNsaWNlKDEsLTEpKS5yZXBsYWNlKC8nJy9nLCInIil9ZnVuY3Rpb24gaDN0KGEpe2xldCBlLHQ7dHJ5e2U9bmV3IFJlZ0V4cChgKC4qPykoPzwhWyAJXSlbIAldKlxyPwpgLCJzeSIpLHQ9bmV3IFJlZ0V4cChgWyAJXSooLio/KSg/Oig/PCFbIAldKVsgCV0qKT9ccj8KYCwic3kiKX1jYXRjaHtlPS8oLio/KVsgXHRdKlxyP1xuL3N5LHQ9L1sgXHRdKiguKj8pWyBcdF0qXHI/XG4vc3l9bGV0IHI9ZS5leGVjKGEpO2lmKCFyKXJldHVybiBhO2xldCBpPXJbMV0sbz0iICIsbj1lLmxhc3RJbmRleDtmb3IodC5sYXN0SW5kZXg9bjtyPXQuZXhlYyhhKTspclsxXT09PSIiP289PT1gCmA/aSs9bzpvPWAKYDooaSs9bytyWzFdLG89IiAiKSxuPXQubGFzdEluZGV4O2xldCBsPS9bIFx0XSooLiopL3N5O3JldHVybiBsLmxhc3RJbmRleD1uLHI9bC5leGVjKGEpLGkrbysocj8uWzFdPz8iIil9ZnVuY3Rpb24gV3hhKGEsZSl7bGV0IHQ9IiI7Zm9yKGxldCByPTE7cjxhLmxlbmd0aC0xOysrcil7bGV0IGk9YVtyXTtpZighKGk9PT0iXHIiJiZhW3IrMV09PT1gCmApKWlmKGk9PT1gCmApe2xldHtmb2xkOm8sb2Zmc2V0Om59PUd4YShhLHIpO3QrPW8scj1ufWVsc2UgaWYoaT09PSJcXCIpe2xldCBvPWFbKytyXSxuPVl4YVtvXTtpZihuKXQrPW47ZWxzZSBpZihvPT09YApgKWZvcihvPWFbcisxXTtvPT09IiAifHxvPT09IgkiOylvPWFbKytyKzFdO2Vsc2UgaWYobz09PSJcciImJmFbcisxXT09PWAKYClmb3Iobz1hWysrcisxXTtvPT09IiAifHxvPT09IgkiOylvPWFbKytyKzFdO2Vsc2UgaWYobz09PSJ4Inx8bz09PSJ1Inx8bz09PSJVIil7bGV0IGw9bz09PSJ4Ij8yOm89PT0idSI/NDo4O3QrPUt4YShhLHIrMSxsLGUpLHIrPWx9ZWxzZXtsZXQgbD1hLnN1YnN0cihyLTEsMik7ZShyLTEsIkJBRF9EUV9FU0NBUEUiLGBJbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZSAke2x9YCksdCs9bH19ZWxzZSBpZihpPT09IiAifHxpPT09IgkiKXtsZXQgbz1yLG49YVtyKzFdO2Zvcig7bj09PSIgInx8bj09PSIJIjspbj1hWysrcisxXTtuIT09YApgJiYhKG49PT0iXHIiJiZhW3IrMl09PT1gCmApJiYodCs9cj5vP2Euc2xpY2UobyxyKzEpOmkpfWVsc2UgdCs9aX1yZXR1cm4oYVthLmxlbmd0aC0xXSE9PSciJ3x8YS5sZW5ndGg9PT0xKSYmZShhLmxlbmd0aCwiTUlTU0lOR19DSEFSIiwnTWlzc2luZyBjbG9zaW5nICJxdW90ZScpLHR9ZnVuY3Rpb24gR3hhKGEsZSl7bGV0IHQ9IiIscj1hW2UrMV07Zm9yKDsocj09PSIgInx8cj09PSIJInx8cj09PWAKYHx8cj09PSJcciIpJiYhKHI9PT0iXHIiJiZhW2UrMl0hPT1gCmApOylyPT09YApgJiYodCs9YApgKSxlKz0xLHI9YVtlKzFdO3JldHVybiB0fHwodD0iICIpLHtmb2xkOnQsb2Zmc2V0OmV9fWZ1bmN0aW9uIEt4YShhLGUsdCxyKXtsZXQgaT1hLnN1YnN0cihlLHQpLG49aS5sZW5ndGg9PT10JiYvXlswLTlhLWZBLUZdKyQvLnRlc3QoaSk/cGFyc2VJbnQoaSwxNik6TmFOO3RyeXtyZXR1cm4gU3RyaW5nLmZyb21Db2RlUG9pbnQobil9Y2F0Y2h7bGV0IGw9YS5zdWJzdHIoZS0yLHQrMik7cmV0dXJuIHIoZS0yLCJCQURfRFFfRVNDQVBFIixgSW52YWxpZCBlc2NhcGUgc2VxdWVuY2UgJHtsfWApLGx9fXZhciBZeGEsJDBlPWYoKCk9PntkcygpO204KCk7cyhOZywicmVzb2x2ZUZsb3dTY2FsYXIiKTtzKGp4YSwicGxhaW5WYWx1ZSIpO3MoVXhhLCJzaW5nbGVRdW90ZWRWYWx1ZSIpO3MoaDN0LCJmb2xkTGluZXMiKTtzKFd4YSwiZG91YmxlUXVvdGVkVmFsdWUiKTtzKEd4YSwiZm9sZE5ld2xpbmUiKTtZeGE9ezA6IlwwIixhOiJceDA3IixiOiJcYiIsZToiXHgxQiIsZjoiXGYiLG46YApgLHI6IlxyIix0OiIJIix2OiJcdiIsTjoiXHg4NSIsXzoiXHhBMCIsTDoiXHUyMDI4IixQOiJcdTIwMjkiLCIgIjoiICIsJyInOiciJywiLyI6Ii8iLCJcXCI6IlxcIiwiCSI6IgkifTtzKEt4YSwicGFyc2VDaGFyQ29kZSIpfSk7ZnVuY3Rpb24gclEoYSxlLHQscil7bGV0e3ZhbHVlOmksdHlwZTpvLGNvbW1lbnQ6bixyYW5nZTpsfT1lLnR5cGU9PT0iYmxvY2stc2NhbGFyIj9JZyhhLGUscik6TmcoZSxhLm9wdGlvbnMuc3RyaWN0LHIpLGQ9dD9hLmRpcmVjdGl2ZXMudGFnTmFtZSh0LnNvdXJjZSx1PT5yKHQsIlRBR19SRVNPTFZFX0ZBSUxFRCIsdSkpOm51bGwsYzthLm9wdGlvbnMuc3RyaW5nS2V5cyYmYS5hdEtleT9jPWEuc2NoZW1hW2tvXTpkP2M9WnhhKGEuc2NoZW1hLGksZCx0LHIpOmUudHlwZT09PSJzY2FsYXIiP2M9WHhhKGEsaSxlLHIpOmM9YS5zY2hlbWFba29dO2xldCBwO3RyeXtsZXQgdT1jLnJlc29sdmUoaSxtPT5yKHQ/P2UsIlRBR19SRVNPTFZFX0ZBSUxFRCIsbSksYS5vcHRpb25zKTtwPVZ0KHUpP3U6bmV3IGh0KHUpfWNhdGNoKHUpe2xldCBtPXUgaW5zdGFuY2VvZiBFcnJvcj91Lm1lc3NhZ2U6U3RyaW5nKHUpO3IodD8/ZSwiVEFHX1JFU09MVkVfRkFJTEVEIixtKSxwPW5ldyBodChpKX1yZXR1cm4gcC5yYW5nZT1sLHAuc291cmNlPWksbyYmKHAudHlwZT1vKSxkJiYocC50YWc9ZCksYy5mb3JtYXQmJihwLmZvcm1hdD1jLmZvcm1hdCksbiYmKHAuY29tbWVudD1uKSxwfWZ1bmN0aW9uIFp4YShhLGUsdCxyLGkpe2lmKHQ9PT0iISIpcmV0dXJuIGFba29dO2xldCBvPVtdO2ZvcihsZXQgbCBvZiBhLnRhZ3MpaWYoIWwuY29sbGVjdGlvbiYmbC50YWc9PT10KWlmKGwuZGVmYXVsdCYmbC50ZXN0KW8ucHVzaChsKTtlbHNlIHJldHVybiBsO2ZvcihsZXQgbCBvZiBvKWlmKGwudGVzdD8udGVzdChlKSlyZXR1cm4gbDtsZXQgbj1hLmtub3duVGFnc1t0XTtyZXR1cm4gbiYmIW4uY29sbGVjdGlvbj8oYS50YWdzLnB1c2goT2JqZWN0LmFzc2lnbih7fSxuLHtkZWZhdWx0OiExLHRlc3Q6dm9pZCAwfSkpLG4pOihpKHIsIlRBR19SRVNPTFZFX0ZBSUxFRCIsYFVucmVzb2x2ZWQgdGFnOiAke3R9YCx0IT09InRhZzp5YW1sLm9yZywyMDAyOnN0ciIpLGFba29dKX1mdW5jdGlvbiBYeGEoe2F0S2V5OmEsZGlyZWN0aXZlczplLHNjaGVtYTp0fSxyLGksbyl7bGV0IG49dC50YWdzLmZpbmQobD0+KGwuZGVmYXVsdD09PSEwfHxhJiZsLmRlZmF1bHQ9PT0ia2V5IikmJmwudGVzdD8udGVzdChyKSl8fHRba29dO2lmKHQuY29tcGF0KXtsZXQgbD10LmNvbXBhdC5maW5kKGQ9PmQuZGVmYXVsdCYmZC50ZXN0Py50ZXN0KHIpKT8/dFtrb107aWYobi50YWchPT1sLnRhZyl7bGV0IGQ9ZS50YWdTdHJpbmcobi50YWcpLGM9ZS50YWdTdHJpbmcobC50YWcpLHA9YFZhbHVlIG1heSBiZSBwYXJzZWQgYXMgZWl0aGVyICR7ZH0gb3IgJHtjfWA7byhpLCJUQUdfUkVTT0xWRV9GQUlMRUQiLHAsITApfX1yZXR1cm4gbn12YXIgbTN0PWYoKCk9PntMYSgpO2RzKCk7TDBlKCk7JDBlKCk7cyhyUSwiY29tcG9zZVNjYWxhciIpO3MoWnhhLCJmaW5kU2NhbGFyVGFnQnlOYW1lIik7cyhYeGEsImZpbmRTY2FsYXJUYWdCeVRlc3QiKX0pO2Z1bmN0aW9uIEQwZShhLGUsdCl7aWYoZSl7dD8/KHQ9ZS5sZW5ndGgpO2ZvcihsZXQgcj10LTE7cj49MDstLXIpe2xldCBpPWVbcl07c3dpdGNoKGkudHlwZSl7Y2FzZSJzcGFjZSI6Y2FzZSJjb21tZW50IjpjYXNlIm5ld2xpbmUiOmEtPWkuc291cmNlLmxlbmd0aDtjb250aW51ZX1mb3IoaT1lWysrcl07aT8udHlwZT09PSJzcGFjZSI7KWErPWkuc291cmNlLmxlbmd0aCxpPWVbKytyXTticmVha319cmV0dXJuIGF9dmFyIGczdD1mKCgpPT57cyhEMGUsImVtcHR5U2NhbGFyUG9zaXRpb24iKX0pO2Z1bmN0aW9uIHNRKGEsZSx0LHIpe2xldCBpPWEuYXRLZXkse3NwYWNlQmVmb3JlOm8sY29tbWVudDpuLGFuY2hvcjpsLHRhZzpkfT10LGMscD0hMDtzd2l0Y2goZS50eXBlKXtjYXNlImFsaWFzIjpjPUp4YShhLGUsciksKGx8fGQpJiZyKGUsIkFMSUFTX1BST1BTIiwiQW4gYWxpYXMgbm9kZSBtdXN0IG5vdCBzcGVjaWZ5IGFueSBwcm9wZXJ0aWVzIik7YnJlYWs7Y2FzZSJzY2FsYXIiOmNhc2Uic2luZ2xlLXF1b3RlZC1zY2FsYXIiOmNhc2UiZG91YmxlLXF1b3RlZC1zY2FsYXIiOmNhc2UiYmxvY2stc2NhbGFyIjpjPXJRKGEsZSxkLHIpLGwmJihjLmFuY2hvcj1sLnNvdXJjZS5zdWJzdHJpbmcoMSkpO2JyZWFrO2Nhc2UiYmxvY2stbWFwIjpjYXNlImJsb2NrLXNlcSI6Y2FzZSJmbG93LWNvbGxlY3Rpb24iOnRyeXtjPVQwZShReGEsYSxlLHQsciksbCYmKGMuYW5jaG9yPWwuc291cmNlLnN1YnN0cmluZygxKSl9Y2F0Y2godSl7bGV0IG09dSBpbnN0YW5jZW9mIEVycm9yP3UubWVzc2FnZTpTdHJpbmcodSk7cihlLCJSRVNPVVJDRV9FWEhBVVNUSU9OIixtKX1icmVhaztkZWZhdWx0OntsZXQgdT1lLnR5cGU9PT0iZXJyb3IiP2UubWVzc2FnZTpgVW5zdXBwb3J0ZWQgdG9rZW4gKHR5cGU6ICR7ZS50eXBlfSlgO3IoZSwiVU5FWFBFQ1RFRF9UT0tFTiIsdSkscD0hMX19cmV0dXJuIGM/PyhjPVJnKGEsZS5vZmZzZXQsdm9pZCAwLG51bGwsdCxyKSksbCYmYy5hbmNob3I9PT0iIiYmcihsLCJCQURfQUxJQVMiLCJBbmNob3IgY2Fubm90IGJlIGFuIGVtcHR5IHN0cmluZyIpLGkmJmEub3B0aW9ucy5zdHJpbmdLZXlzJiYoIVZ0KGMpfHx0eXBlb2YgYy52YWx1ZSE9InN0cmluZyJ8fGMudGFnJiZjLnRhZyE9PSJ0YWc6eWFtbC5vcmcsMjAwMjpzdHIiKSYmcihkPz9lLCJOT05fU1RSSU5HX0tFWSIsIldpdGggc3RyaW5nS2V5cywgYWxsIGtleXMgbXVzdCBiZSBzdHJpbmdzIiksbyYmKGMuc3BhY2VCZWZvcmU9ITApLG4mJihlLnR5cGU9PT0ic2NhbGFyIiYmZS5zb3VyY2U9PT0iIj9jLmNvbW1lbnQ9bjpjLmNvbW1lbnRCZWZvcmU9biksYS5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMmJnAmJihjLnNyY1Rva2VuPWUpLGN9ZnVuY3Rpb24gUmcoYSxlLHQscix7c3BhY2VCZWZvcmU6aSxjb21tZW50Om8sYW5jaG9yOm4sdGFnOmwsZW5kOmR9LGMpe2xldCBwPXt0eXBlOiJzY2FsYXIiLG9mZnNldDpEMGUoZSx0LHIpLGluZGVudDotMSxzb3VyY2U6IiJ9LHU9clEoYSxwLGwsYyk7cmV0dXJuIG4mJih1LmFuY2hvcj1uLnNvdXJjZS5zdWJzdHJpbmcoMSksdS5hbmNob3I9PT0iIiYmYyhuLCJCQURfQUxJQVMiLCJBbmNob3IgY2Fubm90IGJlIGFuIGVtcHR5IHN0cmluZyIpKSxpJiYodS5zcGFjZUJlZm9yZT0hMCksbyYmKHUuY29tbWVudD1vLHUucmFuZ2VbMl09ZCksdX1mdW5jdGlvbiBKeGEoe29wdGlvbnM6YX0se29mZnNldDplLHNvdXJjZTp0LGVuZDpyfSxpKXtsZXQgbz1uZXcgd24odC5zdWJzdHJpbmcoMSkpO28uc291cmNlPT09IiImJmkoZSwiQkFEX0FMSUFTIiwiQWxpYXMgY2Fubm90IGJlIGFuIGVtcHR5IHN0cmluZyIpLG8uc291cmNlLmVuZHNXaXRoKCI6IikmJmkoZSt0Lmxlbmd0aC0xLCJCQURfQUxJQVMiLCJBbGlhcyBlbmRpbmcgaW4gOiBpcyBhbWJpZ3VvdXMiLCEwKTtsZXQgbj1lK3QubGVuZ3RoLGw9ZzEocixuLGEuc3RyaWN0LGkpO3JldHVybiBvLnJhbmdlPVtlLG4sbC5vZmZzZXRdLGwuY29tbWVudCYmKG8uY29tbWVudD1sLmNvbW1lbnQpLG99dmFyIFF4YSxiM3Q9ZigoKT0+e2xnKCk7TGEoKTtmM3QoKTttM3QoKTttOCgpO2czdCgpO1F4YT17Y29tcG9zZU5vZGU6c1EsY29tcG9zZUVtcHR5Tm9kZTpSZ307cyhzUSwiY29tcG9zZU5vZGUiKTtzKFJnLCJjb21wb3NlRW1wdHlOb2RlIik7cyhKeGEsImNvbXBvc2VBbGlhcyIpfSk7ZnVuY3Rpb24gQTBlKGEsZSx7b2Zmc2V0OnQsc3RhcnQ6cix2YWx1ZTppLGVuZDpvfSxuKXtsZXQgbD1PYmplY3QuYXNzaWduKHtfZGlyZWN0aXZlczplfSxhKSxkPW5ldyB6bih2b2lkIDAsbCksYz17YXRLZXk6ITEsYXRSb290OiEwLGRpcmVjdGl2ZXM6ZC5kaXJlY3RpdmVzLG9wdGlvbnM6ZC5vcHRpb25zLHNjaGVtYTpkLnNjaGVtYX0scD1tMShyLHtpbmRpY2F0b3I6ImRvYy1zdGFydCIsbmV4dDppPz9vPy5bMF0sb2Zmc2V0OnQsb25FcnJvcjpuLHBhcmVudEluZGVudDowLHN0YXJ0T25OZXdsaW5lOiEwfSk7cC5mb3VuZCYmKGQuZGlyZWN0aXZlcy5kb2NTdGFydD0hMCxpJiYoaS50eXBlPT09ImJsb2NrLW1hcCJ8fGkudHlwZT09PSJibG9jay1zZXEiKSYmIXAuaGFzTmV3bGluZSYmbihwLmVuZCwiTUlTU0lOR19DSEFSIiwiQmxvY2sgY29sbGVjdGlvbiBjYW5ub3Qgc3RhcnQgb24gc2FtZSBsaW5lIHdpdGggZGlyZWN0aXZlcy1lbmQgbWFya2VyIikpLGQuY29udGVudHM9aT9zUShjLGkscCxuKTpSZyhjLHAuZW5kLHIsbnVsbCxwLG4pO2xldCB1PWQuY29udGVudHMucmFuZ2VbMl0sbT1nMShvLHUsITEsbik7cmV0dXJuIG0uY29tbWVudCYmKGQuY29tbWVudD1tLmNvbW1lbnQpLGQucmFuZ2U9W3QsdSxtLm9mZnNldF0sZH12YXIgdjN0PWYoKCk9PntEZygpO2IzdCgpO204KCk7RWcoKTtzKEEwZSwiY29tcG9zZURvYyIpfSk7ZnVuY3Rpb24gT2coYSl7aWYodHlwZW9mIGE9PSJudW1iZXIiKXJldHVyblthLGErMV07aWYoQXJyYXkuaXNBcnJheShhKSlyZXR1cm4gYS5sZW5ndGg9PT0yP2E6W2FbMF0sYVsxXV07bGV0e29mZnNldDplLHNvdXJjZTp0fT1hO3JldHVybltlLGUrKHR5cGVvZiB0PT0ic3RyaW5nIj90Lmxlbmd0aDoxKV19ZnVuY3Rpb24geDN0KGEpe2xldCBlPSIiLHQ9ITEscj0hMTtmb3IobGV0IGk9MDtpPGEubGVuZ3RoOysraSl7bGV0IG89YVtpXTtzd2l0Y2gob1swXSl7Y2FzZSIjIjplKz0oZT09PSIiPyIiOnI/YAoKYDpgCmApKyhvLnN1YnN0cmluZygxKXx8IiAiKSx0PSEwLHI9ITE7YnJlYWs7Y2FzZSIlIjphW2krMV0/LlswXSE9PSIjIiYmKGkrPTEpLHQ9ITE7YnJlYWs7ZGVmYXVsdDp0fHwocj0hMCksdD0hMX19cmV0dXJue2NvbW1lbnQ6ZSxhZnRlckVtcHR5TGluZTpyfX12YXIgSGwsRTBlPWYoKCk9PntCY2UoKTtEZygpO0FnKCk7TGEoKTt2M3QoKTttOCgpO3MoT2csImdldEVycm9yUG9zIik7cyh4M3QsInBhcnNlUHJlbHVkZSIpO0hsPWNsYXNze3N0YXRpY3tzKHRoaXMsIkNvbXBvc2VyIil9Y29uc3RydWN0b3IoZT17fSl7dGhpcy5kb2M9bnVsbCx0aGlzLmF0RGlyZWN0aXZlcz0hMSx0aGlzLnByZWx1ZGU9W10sdGhpcy5lcnJvcnM9W10sdGhpcy53YXJuaW5ncz1bXSx0aGlzLm9uRXJyb3I9KHQscixpLG8pPT57bGV0IG49T2codCk7bz90aGlzLndhcm5pbmdzLnB1c2gobmV3IE4wKG4scixpKSk6dGhpcy5lcnJvcnMucHVzaChuZXcgVmkobixyLGkpKX0sdGhpcy5kaXJlY3RpdmVzPW5ldyBmMSh7dmVyc2lvbjplLnZlcnNpb258fCIxLjIifSksdGhpcy5vcHRpb25zPWV9ZGVjb3JhdGUoZSx0KXtsZXR7Y29tbWVudDpyLGFmdGVyRW1wdHlMaW5lOml9PXgzdCh0aGlzLnByZWx1ZGUpO2lmKHIpe2xldCBvPWUuY29udGVudHM7aWYodCllLmNvbW1lbnQ9ZS5jb21tZW50P2Ake2UuY29tbWVudH0KJHtyfWA6cjtlbHNlIGlmKGl8fGUuZGlyZWN0aXZlcy5kb2NTdGFydHx8IW8pZS5jb21tZW50QmVmb3JlPXI7ZWxzZSBpZihUYShvKSYmIW8uZmxvdyYmby5pdGVtcy5sZW5ndGg+MCl7bGV0IG49by5pdGVtc1swXTtyYShuKSYmKG49bi5rZXkpO2xldCBsPW4uY29tbWVudEJlZm9yZTtuLmNvbW1lbnRCZWZvcmU9bD9gJHtyfQoke2x9YDpyfWVsc2V7bGV0IG49by5jb21tZW50QmVmb3JlO28uY29tbWVudEJlZm9yZT1uP2Ake3J9CiR7bn1gOnJ9fXQ/KEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGUuZXJyb3JzLHRoaXMuZXJyb3JzKSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShlLndhcm5pbmdzLHRoaXMud2FybmluZ3MpKTooZS5lcnJvcnM9dGhpcy5lcnJvcnMsZS53YXJuaW5ncz10aGlzLndhcm5pbmdzKSx0aGlzLnByZWx1ZGU9W10sdGhpcy5lcnJvcnM9W10sdGhpcy53YXJuaW5ncz1bXX1zdHJlYW1JbmZvKCl7cmV0dXJue2NvbW1lbnQ6eDN0KHRoaXMucHJlbHVkZSkuY29tbWVudCxkaXJlY3RpdmVzOnRoaXMuZGlyZWN0aXZlcyxlcnJvcnM6dGhpcy5lcnJvcnMsd2FybmluZ3M6dGhpcy53YXJuaW5nc319KmNvbXBvc2UoZSx0PSExLHI9LTEpe2ZvcihsZXQgaSBvZiBlKXlpZWxkKnRoaXMubmV4dChpKTt5aWVsZCp0aGlzLmVuZCh0LHIpfSpuZXh0KGUpe3N3aXRjaChlLnR5cGUpe2Nhc2UiZGlyZWN0aXZlIjp0aGlzLmRpcmVjdGl2ZXMuYWRkKGUuc291cmNlLCh0LHIsaSk9PntsZXQgbz1PZyhlKTtvWzBdKz10LHRoaXMub25FcnJvcihvLCJCQURfRElSRUNUSVZFIixyLGkpfSksdGhpcy5wcmVsdWRlLnB1c2goZS5zb3VyY2UpLHRoaXMuYXREaXJlY3RpdmVzPSEwO2JyZWFrO2Nhc2UiZG9jdW1lbnQiOntsZXQgdD1BMGUodGhpcy5vcHRpb25zLHRoaXMuZGlyZWN0aXZlcyxlLHRoaXMub25FcnJvcik7dGhpcy5hdERpcmVjdGl2ZXMmJiF0LmRpcmVjdGl2ZXMuZG9jU3RhcnQmJnRoaXMub25FcnJvcihlLCJNSVNTSU5HX0NIQVIiLCJNaXNzaW5nIGRpcmVjdGl2ZXMtZW5kL2RvYy1zdGFydCBpbmRpY2F0b3IgbGluZSIpLHRoaXMuZGVjb3JhdGUodCwhMSksdGhpcy5kb2MmJih5aWVsZCB0aGlzLmRvYyksdGhpcy5kb2M9dCx0aGlzLmF0RGlyZWN0aXZlcz0hMTticmVha31jYXNlImJ5dGUtb3JkZXItbWFyayI6Y2FzZSJzcGFjZSI6YnJlYWs7Y2FzZSJjb21tZW50IjpjYXNlIm5ld2xpbmUiOnRoaXMucHJlbHVkZS5wdXNoKGUuc291cmNlKTticmVhaztjYXNlImVycm9yIjp7bGV0IHQ9ZS5zb3VyY2U/YCR7ZS5tZXNzYWdlfTogJHtKU09OLnN0cmluZ2lmeShlLnNvdXJjZSl9YDplLm1lc3NhZ2Uscj1uZXcgVmkoT2coZSksIlVORVhQRUNURURfVE9LRU4iLHQpO3RoaXMuYXREaXJlY3RpdmVzfHwhdGhpcy5kb2M/dGhpcy5lcnJvcnMucHVzaChyKTp0aGlzLmRvYy5lcnJvcnMucHVzaChyKTticmVha31jYXNlImRvYy1lbmQiOntpZighdGhpcy5kb2Mpe2xldCByPSJVbmV4cGVjdGVkIGRvYy1lbmQgd2l0aG91dCBwcmVjZWRpbmcgZG9jdW1lbnQiO3RoaXMuZXJyb3JzLnB1c2gobmV3IFZpKE9nKGUpLCJVTkVYUEVDVEVEX1RPS0VOIixyKSk7YnJlYWt9dGhpcy5kb2MuZGlyZWN0aXZlcy5kb2NFbmQ9ITA7bGV0IHQ9ZzEoZS5lbmQsZS5vZmZzZXQrZS5zb3VyY2UubGVuZ3RoLHRoaXMuZG9jLm9wdGlvbnMuc3RyaWN0LHRoaXMub25FcnJvcik7aWYodGhpcy5kZWNvcmF0ZSh0aGlzLmRvYywhMCksdC5jb21tZW50KXtsZXQgcj10aGlzLmRvYy5jb21tZW50O3RoaXMuZG9jLmNvbW1lbnQ9cj9gJHtyfQoke3QuY29tbWVudH1gOnQuY29tbWVudH10aGlzLmRvYy5yYW5nZVsyXT10Lm9mZnNldDticmVha31kZWZhdWx0OnRoaXMuZXJyb3JzLnB1c2gobmV3IFZpKE9nKGUpLCJVTkVYUEVDVEVEX1RPS0VOIixgVW5zdXBwb3J0ZWQgdG9rZW4gJHtlLnR5cGV9YCkpfX0qZW5kKGU9ITEsdD0tMSl7aWYodGhpcy5kb2MpdGhpcy5kZWNvcmF0ZSh0aGlzLmRvYywhMCkseWllbGQgdGhpcy5kb2MsdGhpcy5kb2M9bnVsbDtlbHNlIGlmKGUpe2xldCByPU9iamVjdC5hc3NpZ24oe19kaXJlY3RpdmVzOnRoaXMuZGlyZWN0aXZlc30sdGhpcy5vcHRpb25zKSxpPW5ldyB6bih2b2lkIDAscik7dGhpcy5hdERpcmVjdGl2ZXMmJnRoaXMub25FcnJvcih0LCJNSVNTSU5HX0NIQVIiLCJNaXNzaW5nIGRpcmVjdGl2ZXMtZW5kIGluZGljYXRvciBsaW5lIiksaS5yYW5nZT1bMCx0LHRdLHRoaXMuZGVjb3JhdGUoaSwhMSkseWllbGQgaX19fX0pO2Z1bmN0aW9uIEkwZShhLGU9ITAsdCl7aWYoYSl7bGV0IHI9cygoaSxvLG4pPT57bGV0IGw9dHlwZW9mIGk9PSJudW1iZXIiP2k6QXJyYXkuaXNBcnJheShpKT9pWzBdOmkub2Zmc2V0O2lmKHQpdChsLG8sbik7ZWxzZSB0aHJvdyBuZXcgVmkoW2wsbCsxXSxvLG4pfSwiX29uRXJyb3IiKTtzd2l0Y2goYS50eXBlKXtjYXNlInNjYWxhciI6Y2FzZSJzaW5nbGUtcXVvdGVkLXNjYWxhciI6Y2FzZSJkb3VibGUtcXVvdGVkLXNjYWxhciI6cmV0dXJuIE5nKGEsZSxyKTtjYXNlImJsb2NrLXNjYWxhciI6cmV0dXJuIElnKHtvcHRpb25zOntzdHJpY3Q6ZX19LGEscil9fXJldHVybiBudWxsfWZ1bmN0aW9uIE4wZShhLGUpe2xldHtpbXBsaWNpdEtleTp0PSExLGluZGVudDpyLGluRmxvdzppPSExLG9mZnNldDpvPS0xLHR5cGU6bj0iUExBSU4ifT1lLGw9QTIoe3R5cGU6bix2YWx1ZTphfSx7aW1wbGljaXRLZXk6dCxpbmRlbnQ6cj4wPyIgIi5yZXBlYXQocik6IiIsaW5GbG93Omksb3B0aW9uczp7YmxvY2tRdW90ZTohMCxsaW5lV2lkdGg6LTF9fSksZD1lLmVuZD8/W3t0eXBlOiJuZXdsaW5lIixvZmZzZXQ6LTEsaW5kZW50OnIsc291cmNlOmAKYH1dO3N3aXRjaChsWzBdKXtjYXNlInwiOmNhc2UiPiI6e2xldCBjPWwuaW5kZXhPZihgCmApLHA9bC5zdWJzdHJpbmcoMCxjKSx1PWwuc3Vic3RyaW5nKGMrMSkrYApgLG09W3t0eXBlOiJibG9jay1zY2FsYXItaGVhZGVyIixvZmZzZXQ6byxpbmRlbnQ6cixzb3VyY2U6cH1dO3JldHVybiB5M3QobSxkKXx8bS5wdXNoKHt0eXBlOiJuZXdsaW5lIixvZmZzZXQ6LTEsaW5kZW50OnIsc291cmNlOmAKYH0pLHt0eXBlOiJibG9jay1zY2FsYXIiLG9mZnNldDpvLGluZGVudDpyLHByb3BzOm0sc291cmNlOnV9fWNhc2UnIic6cmV0dXJue3R5cGU6ImRvdWJsZS1xdW90ZWQtc2NhbGFyIixvZmZzZXQ6byxpbmRlbnQ6cixzb3VyY2U6bCxlbmQ6ZH07Y2FzZSInIjpyZXR1cm57dHlwZToic2luZ2xlLXF1b3RlZC1zY2FsYXIiLG9mZnNldDpvLGluZGVudDpyLHNvdXJjZTpsLGVuZDpkfTtkZWZhdWx0OnJldHVybnt0eXBlOiJzY2FsYXIiLG9mZnNldDpvLGluZGVudDpyLHNvdXJjZTpsLGVuZDpkfX19ZnVuY3Rpb24gUjBlKGEsZSx0PXt9KXtsZXR7YWZ0ZXJLZXk6cj0hMSxpbXBsaWNpdEtleTppPSExLGluRmxvdzpvPSExLHR5cGU6bn09dCxsPSJpbmRlbnQiaW4gYT9hLmluZGVudDpudWxsO2lmKHImJnR5cGVvZiBsPT0ibnVtYmVyIiYmKGwrPTIpLCFuKXN3aXRjaChhLnR5cGUpe2Nhc2Uic2luZ2xlLXF1b3RlZC1zY2FsYXIiOm49IlFVT1RFX1NJTkdMRSI7YnJlYWs7Y2FzZSJkb3VibGUtcXVvdGVkLXNjYWxhciI6bj0iUVVPVEVfRE9VQkxFIjticmVhaztjYXNlImJsb2NrLXNjYWxhciI6e2xldCBjPWEucHJvcHNbMF07aWYoYy50eXBlIT09ImJsb2NrLXNjYWxhci1oZWFkZXIiKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBibG9jayBzY2FsYXIgaGVhZGVyIik7bj1jLnNvdXJjZVswXT09PSI+Ij8iQkxPQ0tfRk9MREVEIjoiQkxPQ0tfTElURVJBTCI7YnJlYWt9ZGVmYXVsdDpuPSJQTEFJTiJ9bGV0IGQ9QTIoe3R5cGU6bix2YWx1ZTplfSx7aW1wbGljaXRLZXk6aXx8bD09PW51bGwsaW5kZW50OmwhPT1udWxsJiZsPjA/IiAiLnJlcGVhdChsKToiIixpbkZsb3c6byxvcHRpb25zOntibG9ja1F1b3RlOiEwLGxpbmVXaWR0aDotMX19KTtzd2l0Y2goZFswXSl7Y2FzZSJ8IjpjYXNlIj4iOmV5YShhLGQpO2JyZWFrO2Nhc2UnIic6UDBlKGEsZCwiZG91YmxlLXF1b3RlZC1zY2FsYXIiKTticmVhaztjYXNlIiciOlAwZShhLGQsInNpbmdsZS1xdW90ZWQtc2NhbGFyIik7YnJlYWs7ZGVmYXVsdDpQMGUoYSxkLCJzY2FsYXIiKX19ZnVuY3Rpb24gZXlhKGEsZSl7bGV0IHQ9ZS5pbmRleE9mKGAKYCkscj1lLnN1YnN0cmluZygwLHQpLGk9ZS5zdWJzdHJpbmcodCsxKStgCmA7aWYoYS50eXBlPT09ImJsb2NrLXNjYWxhciIpe2xldCBvPWEucHJvcHNbMF07aWYoby50eXBlIT09ImJsb2NrLXNjYWxhci1oZWFkZXIiKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBibG9jayBzY2FsYXIgaGVhZGVyIik7by5zb3VyY2U9cixhLnNvdXJjZT1pfWVsc2V7bGV0e29mZnNldDpvfT1hLG49ImluZGVudCJpbiBhP2EuaW5kZW50Oi0xLGw9W3t0eXBlOiJibG9jay1zY2FsYXItaGVhZGVyIixvZmZzZXQ6byxpbmRlbnQ6bixzb3VyY2U6cn1dO3kzdChsLCJlbmQiaW4gYT9hLmVuZDp2b2lkIDApfHxsLnB1c2goe3R5cGU6Im5ld2xpbmUiLG9mZnNldDotMSxpbmRlbnQ6bixzb3VyY2U6YApgfSk7Zm9yKGxldCBkIG9mIE9iamVjdC5rZXlzKGEpKWQhPT0idHlwZSImJmQhPT0ib2Zmc2V0IiYmZGVsZXRlIGFbZF07T2JqZWN0LmFzc2lnbihhLHt0eXBlOiJibG9jay1zY2FsYXIiLGluZGVudDpuLHByb3BzOmwsc291cmNlOml9KX19ZnVuY3Rpb24geTN0KGEsZSl7aWYoZSlmb3IobGV0IHQgb2YgZSlzd2l0Y2godC50eXBlKXtjYXNlInNwYWNlIjpjYXNlImNvbW1lbnQiOmEucHVzaCh0KTticmVhaztjYXNlIm5ld2xpbmUiOnJldHVybiBhLnB1c2godCksITB9cmV0dXJuITF9ZnVuY3Rpb24gUDBlKGEsZSx0KXtzd2l0Y2goYS50eXBlKXtjYXNlInNjYWxhciI6Y2FzZSJkb3VibGUtcXVvdGVkLXNjYWxhciI6Y2FzZSJzaW5nbGUtcXVvdGVkLXNjYWxhciI6YS50eXBlPXQsYS5zb3VyY2U9ZTticmVhaztjYXNlImJsb2NrLXNjYWxhciI6e2xldCByPWEucHJvcHMuc2xpY2UoMSksaT1lLmxlbmd0aDthLnByb3BzWzBdLnR5cGU9PT0iYmxvY2stc2NhbGFyLWhlYWRlciImJihpLT1hLnByb3BzWzBdLnNvdXJjZS5sZW5ndGgpO2ZvcihsZXQgbyBvZiByKW8ub2Zmc2V0Kz1pO2RlbGV0ZSBhLnByb3BzLE9iamVjdC5hc3NpZ24oYSx7dHlwZTp0LHNvdXJjZTplLGVuZDpyfSk7YnJlYWt9Y2FzZSJibG9jay1tYXAiOmNhc2UiYmxvY2stc2VxIjp7bGV0IGk9e3R5cGU6Im5ld2xpbmUiLG9mZnNldDphLm9mZnNldCtlLmxlbmd0aCxpbmRlbnQ6YS5pbmRlbnQsc291cmNlOmAKYH07ZGVsZXRlIGEuaXRlbXMsT2JqZWN0LmFzc2lnbihhLHt0eXBlOnQsc291cmNlOmUsZW5kOltpXX0pO2JyZWFrfWRlZmF1bHQ6e2xldCByPSJpbmRlbnQiaW4gYT9hLmluZGVudDotMSxpPSJlbmQiaW4gYSYmQXJyYXkuaXNBcnJheShhLmVuZCk/YS5lbmQuZmlsdGVyKG89Pm8udHlwZT09PSJzcGFjZSJ8fG8udHlwZT09PSJjb21tZW50Inx8by50eXBlPT09Im5ld2xpbmUiKTpbXTtmb3IobGV0IG8gb2YgT2JqZWN0LmtleXMoYSkpbyE9PSJ0eXBlIiYmbyE9PSJvZmZzZXQiJiZkZWxldGUgYVtvXTtPYmplY3QuYXNzaWduKGEse3R5cGU6dCxpbmRlbnQ6cixzb3VyY2U6ZSxlbmQ6aX0pfX19dmFyIHczdD1mKCgpPT57TDBlKCk7JDBlKCk7QWcoKTtoZygpO3MoSTBlLCJyZXNvbHZlQXNTY2FsYXIiKTtzKE4wZSwiY3JlYXRlU2NhbGFyVG9rZW4iKTtzKFIwZSwic2V0U2NhbGFyVmFsdWUiKTtzKGV5YSwic2V0QmxvY2tTY2FsYXJWYWx1ZSIpO3MoeTN0LCJhZGRFbmR0b0Jsb2NrUHJvcHMiKTtzKFAwZSwic2V0Rmxvd1NjYWxhclZhbHVlIil9KTtmdW5jdGlvbiBpUShhKXtzd2l0Y2goYS50eXBlKXtjYXNlImJsb2NrLXNjYWxhciI6e2xldCBlPSIiO2ZvcihsZXQgdCBvZiBhLnByb3BzKWUrPWlRKHQpO3JldHVybiBlK2Euc291cmNlfWNhc2UiYmxvY2stbWFwIjpjYXNlImJsb2NrLXNlcSI6e2xldCBlPSIiO2ZvcihsZXQgdCBvZiBhLml0ZW1zKWUrPW9RKHQpO3JldHVybiBlfWNhc2UiZmxvdy1jb2xsZWN0aW9uIjp7bGV0IGU9YS5zdGFydC5zb3VyY2U7Zm9yKGxldCB0IG9mIGEuaXRlbXMpZSs9b1EodCk7Zm9yKGxldCB0IG9mIGEuZW5kKWUrPXQuc291cmNlO3JldHVybiBlfWNhc2UiZG9jdW1lbnQiOntsZXQgZT1vUShhKTtpZihhLmVuZClmb3IobGV0IHQgb2YgYS5lbmQpZSs9dC5zb3VyY2U7cmV0dXJuIGV9ZGVmYXVsdDp7bGV0IGU9YS5zb3VyY2U7aWYoImVuZCJpbiBhJiZhLmVuZClmb3IobGV0IHQgb2YgYS5lbmQpZSs9dC5zb3VyY2U7cmV0dXJuIGV9fX1mdW5jdGlvbiBvUSh7c3RhcnQ6YSxrZXk6ZSxzZXA6dCx2YWx1ZTpyfSl7bGV0IGk9IiI7Zm9yKGxldCBvIG9mIGEpaSs9by5zb3VyY2U7aWYoZSYmKGkrPWlRKGUpKSx0KWZvcihsZXQgbyBvZiB0KWkrPW8uc291cmNlO3JldHVybiByJiYoaSs9aVEocikpLGl9dmFyIE8wZSxNM3Q9ZigoKT0+e08wZT1zKGE9PiJ0eXBlImluIGE/aVEoYSk6b1EoYSksInN0cmluZ2lmeSIpO3MoaVEsInN0cmluZ2lmeVRva2VuIik7cyhvUSwic3RyaW5naWZ5SXRlbSIpfSk7ZnVuY3Rpb24gcWwoYSxlKXsidHlwZSJpbiBhJiZhLnR5cGU9PT0iZG9jdW1lbnQiJiYoYT17c3RhcnQ6YS5zdGFydCx2YWx1ZTphLnZhbHVlfSksUzN0KE9iamVjdC5mcmVlemUoW10pLGEsZSl9ZnVuY3Rpb24gUzN0KGEsZSx0KXtsZXQgcj10KGUsYSk7aWYodHlwZW9mIHI9PSJzeW1ib2wiKXJldHVybiByO2ZvcihsZXQgaSBvZlsia2V5IiwidmFsdWUiXSl7bGV0IG89ZVtpXTtpZihvJiYiaXRlbXMiaW4gbyl7Zm9yKGxldCBuPTA7bjxvLml0ZW1zLmxlbmd0aDsrK24pe2xldCBsPVMzdChPYmplY3QuZnJlZXplKGEuY29uY2F0KFtbaSxuXV0pKSxvLml0ZW1zW25dLHQpO2lmKHR5cGVvZiBsPT0ibnVtYmVyIiluPWwtMTtlbHNle2lmKGw9PT1GMGUpcmV0dXJuIEYwZTtsPT09azN0JiYoby5pdGVtcy5zcGxpY2UobiwxKSxuLT0xKX19dHlwZW9mIHI9PSJmdW5jdGlvbiImJmk9PT0ia2V5IiYmKHI9cihlLGEpKX19cmV0dXJuIHR5cGVvZiByPT0iZnVuY3Rpb24iP3IoZSxhKTpyfXZhciBGMGUsdHlhLGszdCx6M3Q9ZigoKT0+e0YwZT1TeW1ib2woImJyZWFrIHZpc2l0IiksdHlhPVN5bWJvbCgic2tpcCBjaGlsZHJlbiIpLGszdD1TeW1ib2woInJlbW92ZSBpdGVtIik7cyhxbCwidmlzaXQiKSxxbC5CUkVBSz1GMGUscWwuU0tJUD10eWEscWwuUkVNT1ZFPWszdCxxbC5pdGVtQXRQYXRoPShhLGUpPT57bGV0IHQ9YTtmb3IobGV0W3IsaV1vZiBlKXtsZXQgbz10Py5bcl07aWYobyYmIml0ZW1zImluIG8pdD1vLml0ZW1zW2ldO2Vsc2UgcmV0dXJufXJldHVybiB0fSxxbC5wYXJlbnRDb2xsZWN0aW9uPShhLGUpPT57bGV0IHQ9cWwuaXRlbUF0UGF0aChhLGUuc2xpY2UoMCwtMSkpLHI9ZVtlLmxlbmd0aC0xXVswXSxpPXQ/LltyXTtpZihpJiYiaXRlbXMiaW4gaSlyZXR1cm4gaTt0aHJvdyBuZXcgRXJyb3IoIlBhcmVudCBjb2xsZWN0aW9uIG5vdCBmb3VuZCIpfTtzKFMzdCwiX3Zpc2l0Iil9KTt2YXIgRmc9e307cnQoRmcse0JPTTooKT0+ZzgsRE9DVU1FTlQ6KCk9PmI4LEZMT1dfRU5EOigpPT52OCxTQ0FMQVI6KCk9PmozLGNyZWF0ZVNjYWxhclRva2VuOigpPT5OMGUsaXNDb2xsZWN0aW9uOigpPT5DM3QsaXNTY2FsYXI6KCk9Pl8zdCxwcmV0dHlUb2tlbjooKT0+VDN0LHJlc29sdmVBc1NjYWxhcjooKT0+STBlLHNldFNjYWxhclZhbHVlOigpPT5SMGUsc3RyaW5naWZ5OigpPT5PMGUsdG9rZW5UeXBlOigpPT5uUSx2aXNpdDooKT0+cWx9KTtmdW5jdGlvbiBUM3QoYSl7c3dpdGNoKGEpe2Nhc2UgZzg6cmV0dXJuIjxCT00+IjtjYXNlIGI4OnJldHVybiI8RE9DPiI7Y2FzZSB2ODpyZXR1cm4iPEZMT1dfRU5EPiI7Y2FzZSBqMzpyZXR1cm4iPFNDQUxBUj4iO2RlZmF1bHQ6cmV0dXJuIEpTT04uc3RyaW5naWZ5KGEpfX1mdW5jdGlvbiBuUShhKXtzd2l0Y2goYSl7Y2FzZSBnODpyZXR1cm4iYnl0ZS1vcmRlci1tYXJrIjtjYXNlIGI4OnJldHVybiJkb2MtbW9kZSI7Y2FzZSB2ODpyZXR1cm4iZmxvdy1lcnJvci1lbmQiO2Nhc2UgajM6cmV0dXJuInNjYWxhciI7Y2FzZSItLS0iOnJldHVybiJkb2Mtc3RhcnQiO2Nhc2UiLi4uIjpyZXR1cm4iZG9jLWVuZCI7Y2FzZSIiOmNhc2VgCmA6Y2FzZWBccgpgOnJldHVybiJuZXdsaW5lIjtjYXNlIi0iOnJldHVybiJzZXEtaXRlbS1pbmQiO2Nhc2UiPyI6cmV0dXJuImV4cGxpY2l0LWtleS1pbmQiO2Nhc2UiOiI6cmV0dXJuIm1hcC12YWx1ZS1pbmQiO2Nhc2UieyI6cmV0dXJuImZsb3ctbWFwLXN0YXJ0IjtjYXNlIn0iOnJldHVybiJmbG93LW1hcC1lbmQiO2Nhc2UiWyI6cmV0dXJuImZsb3ctc2VxLXN0YXJ0IjtjYXNlIl0iOnJldHVybiJmbG93LXNlcS1lbmQiO2Nhc2UiLCI6cmV0dXJuImNvbW1hIn1zd2l0Y2goYVswXSl7Y2FzZSIgIjpjYXNlIgkiOnJldHVybiJzcGFjZSI7Y2FzZSIjIjpyZXR1cm4iY29tbWVudCI7Y2FzZSIlIjpyZXR1cm4iZGlyZWN0aXZlLWxpbmUiO2Nhc2UiKiI6cmV0dXJuImFsaWFzIjtjYXNlIiYiOnJldHVybiJhbmNob3IiO2Nhc2UiISI6cmV0dXJuInRhZyI7Y2FzZSInIjpyZXR1cm4ic2luZ2xlLXF1b3RlZC1zY2FsYXIiO2Nhc2UnIic6cmV0dXJuImRvdWJsZS1xdW90ZWQtc2NhbGFyIjtjYXNlInwiOmNhc2UiPiI6cmV0dXJuImJsb2NrLXNjYWxhci1oZWFkZXIifXJldHVybiBudWxsfXZhciBnOCxiOCx2OCxqMyxDM3QsXzN0LGxRPWYoKCk9Pnt3M3QoKTtNM3QoKTt6M3QoKTtnOD0iXHVGRUZGIixiOD0iAiIsdjg9IhgiLGozPSIfIixDM3Q9cyhhPT4hIWEmJiJpdGVtcyJpbiBhLCJpc0NvbGxlY3Rpb24iKSxfM3Q9cyhhPT4hIWEmJihhLnR5cGU9PT0ic2NhbGFyInx8YS50eXBlPT09InNpbmdsZS1xdW90ZWQtc2NhbGFyInx8YS50eXBlPT09ImRvdWJsZS1xdW90ZWQtc2NhbGFyInx8YS50eXBlPT09ImJsb2NrLXNjYWxhciIpLCJpc1NjYWxhciIpO3MoVDN0LCJwcmV0dHlUb2tlbiIpO3MoblEsInRva2VuVHlwZSIpfSk7ZnVuY3Rpb24gYjEoYSl7c3dpdGNoKGEpe2Nhc2Ugdm9pZCAwOmNhc2UiICI6Y2FzZWAKYDpjYXNlIlxyIjpjYXNlIgkiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fXZhciBMM3QsYXlhLGNRLHJ5YSxCMGUsUjAsSDBlPWYoKCk9PntsUSgpO3MoYjEsImlzRW1wdHkiKTtMM3Q9bmV3IFNldCgiMDEyMzQ1Njc4OUFCQ0RFRmFiY2RlZiIpLGF5YT1uZXcgU2V0KCIwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ei0jOy8/OkAmPSskXy4hfionKCkiKSxjUT1uZXcgU2V0KCIsW117fSIpLHJ5YT1uZXcgU2V0KGAgLFtde30KXHIJYCksQjBlPXMoYT0+IWF8fHJ5YS5oYXMoYSksImlzTm90QW5jaG9yQ2hhciIpLFIwPWNsYXNze3N0YXRpY3tzKHRoaXMsIkxleGVyIil9Y29uc3RydWN0b3IoKXt0aGlzLmF0RW5kPSExLHRoaXMuYmxvY2tTY2FsYXJJbmRlbnQ9LTEsdGhpcy5ibG9ja1NjYWxhcktlZXA9ITEsdGhpcy5idWZmZXI9IiIsdGhpcy5mbG93S2V5PSExLHRoaXMuZmxvd0xldmVsPTAsdGhpcy5pbmRlbnROZXh0PTAsdGhpcy5pbmRlbnRWYWx1ZT0wLHRoaXMubGluZUVuZFBvcz1udWxsLHRoaXMubmV4dD1udWxsLHRoaXMucG9zPTB9KmxleChlLHQ9ITEpe2lmKGUpe2lmKHR5cGVvZiBlIT0ic3RyaW5nIil0aHJvdyBUeXBlRXJyb3IoInNvdXJjZSBpcyBub3QgYSBzdHJpbmciKTt0aGlzLmJ1ZmZlcj10aGlzLmJ1ZmZlcj90aGlzLmJ1ZmZlcitlOmUsdGhpcy5saW5lRW5kUG9zPW51bGx9dGhpcy5hdEVuZD0hdDtsZXQgcj10aGlzLm5leHQ/PyJzdHJlYW0iO2Zvcig7ciYmKHR8fHRoaXMuaGFzQ2hhcnMoMSkpOylyPXlpZWxkKnRoaXMucGFyc2VOZXh0KHIpfWF0TGluZUVuZCgpe2xldCBlPXRoaXMucG9zLHQ9dGhpcy5idWZmZXJbZV07Zm9yKDt0PT09IiAifHx0PT09IgkiOyl0PXRoaXMuYnVmZmVyWysrZV07cmV0dXJuIXR8fHQ9PT0iIyJ8fHQ9PT1gCmA/ITA6dD09PSJcciI/dGhpcy5idWZmZXJbZSsxXT09PWAKYDohMX1jaGFyQXQoZSl7cmV0dXJuIHRoaXMuYnVmZmVyW3RoaXMucG9zK2VdfWNvbnRpbnVlU2NhbGFyKGUpe2xldCB0PXRoaXMuYnVmZmVyW2VdO2lmKHRoaXMuaW5kZW50TmV4dD4wKXtsZXQgcj0wO2Zvcig7dD09PSIgIjspdD10aGlzLmJ1ZmZlclsrK3IrZV07aWYodD09PSJcciIpe2xldCBpPXRoaXMuYnVmZmVyW3IrZSsxXTtpZihpPT09YApgfHwhaSYmIXRoaXMuYXRFbmQpcmV0dXJuIGUrcisxfXJldHVybiB0PT09YApgfHxyPj10aGlzLmluZGVudE5leHR8fCF0JiYhdGhpcy5hdEVuZD9lK3I6LTF9aWYodD09PSItInx8dD09PSIuIil7bGV0IHI9dGhpcy5idWZmZXIuc3Vic3RyKGUsMyk7aWYoKHI9PT0iLS0tInx8cj09PSIuLi4iKSYmYjEodGhpcy5idWZmZXJbZSszXSkpcmV0dXJuLTF9cmV0dXJuIGV9Z2V0TGluZSgpe2xldCBlPXRoaXMubGluZUVuZFBvcztyZXR1cm4odHlwZW9mIGUhPSJudW1iZXIifHxlIT09LTEmJmU8dGhpcy5wb3MpJiYoZT10aGlzLmJ1ZmZlci5pbmRleE9mKGAKYCx0aGlzLnBvcyksdGhpcy5saW5lRW5kUG9zPWUpLGU9PT0tMT90aGlzLmF0RW5kP3RoaXMuYnVmZmVyLnN1YnN0cmluZyh0aGlzLnBvcyk6bnVsbDoodGhpcy5idWZmZXJbZS0xXT09PSJcciImJihlLT0xKSx0aGlzLmJ1ZmZlci5zdWJzdHJpbmcodGhpcy5wb3MsZSkpfWhhc0NoYXJzKGUpe3JldHVybiB0aGlzLnBvcytlPD10aGlzLmJ1ZmZlci5sZW5ndGh9c2V0TmV4dChlKXtyZXR1cm4gdGhpcy5idWZmZXI9dGhpcy5idWZmZXIuc3Vic3RyaW5nKHRoaXMucG9zKSx0aGlzLnBvcz0wLHRoaXMubGluZUVuZFBvcz1udWxsLHRoaXMubmV4dD1lLG51bGx9cGVlayhlKXtyZXR1cm4gdGhpcy5idWZmZXIuc3Vic3RyKHRoaXMucG9zLGUpfSpwYXJzZU5leHQoZSl7c3dpdGNoKGUpe2Nhc2Uic3RyZWFtIjpyZXR1cm4geWllbGQqdGhpcy5wYXJzZVN0cmVhbSgpO2Nhc2UibGluZS1zdGFydCI6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VMaW5lU3RhcnQoKTtjYXNlImJsb2NrLXN0YXJ0IjpyZXR1cm4geWllbGQqdGhpcy5wYXJzZUJsb2NrU3RhcnQoKTtjYXNlImRvYyI6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VEb2N1bWVudCgpO2Nhc2UiZmxvdyI6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VGbG93Q29sbGVjdGlvbigpO2Nhc2UicXVvdGVkLXNjYWxhciI6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VRdW90ZWRTY2FsYXIoKTtjYXNlImJsb2NrLXNjYWxhciI6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VCbG9ja1NjYWxhcigpO2Nhc2UicGxhaW4tc2NhbGFyIjpyZXR1cm4geWllbGQqdGhpcy5wYXJzZVBsYWluU2NhbGFyKCl9fSpwYXJzZVN0cmVhbSgpe2xldCBlPXRoaXMuZ2V0TGluZSgpO2lmKGU9PT1udWxsKXJldHVybiB0aGlzLnNldE5leHQoInN0cmVhbSIpO2lmKGVbMF09PT1nOCYmKHlpZWxkKnRoaXMucHVzaENvdW50KDEpLGU9ZS5zdWJzdHJpbmcoMSkpLGVbMF09PT0iJSIpe2xldCB0PWUubGVuZ3RoLHI9ZS5pbmRleE9mKCIjIik7Zm9yKDtyIT09LTE7KXtsZXQgbz1lW3ItMV07aWYobz09PSIgInx8bz09PSIJIil7dD1yLTE7YnJlYWt9ZWxzZSByPWUuaW5kZXhPZigiIyIscisxKX1mb3IoOzspe2xldCBvPWVbdC0xXTtpZihvPT09IiAifHxvPT09IgkiKXQtPTE7ZWxzZSBicmVha31sZXQgaT0oeWllbGQqdGhpcy5wdXNoQ291bnQodCkpKyh5aWVsZCp0aGlzLnB1c2hTcGFjZXMoITApKTtyZXR1cm4geWllbGQqdGhpcy5wdXNoQ291bnQoZS5sZW5ndGgtaSksdGhpcy5wdXNoTmV3bGluZSgpLCJzdHJlYW0ifWlmKHRoaXMuYXRMaW5lRW5kKCkpe2xldCB0PXlpZWxkKnRoaXMucHVzaFNwYWNlcyghMCk7cmV0dXJuIHlpZWxkKnRoaXMucHVzaENvdW50KGUubGVuZ3RoLXQpLHlpZWxkKnRoaXMucHVzaE5ld2xpbmUoKSwic3RyZWFtIn1yZXR1cm4geWllbGQgYjgseWllbGQqdGhpcy5wYXJzZUxpbmVTdGFydCgpfSpwYXJzZUxpbmVTdGFydCgpe2xldCBlPXRoaXMuY2hhckF0KDApO2lmKCFlJiYhdGhpcy5hdEVuZClyZXR1cm4gdGhpcy5zZXROZXh0KCJsaW5lLXN0YXJ0Iik7aWYoZT09PSItInx8ZT09PSIuIil7aWYoIXRoaXMuYXRFbmQmJiF0aGlzLmhhc0NoYXJzKDQpKXJldHVybiB0aGlzLnNldE5leHQoImxpbmUtc3RhcnQiKTtsZXQgdD10aGlzLnBlZWsoMyk7aWYoKHQ9PT0iLS0tInx8dD09PSIuLi4iKSYmYjEodGhpcy5jaGFyQXQoMykpKXJldHVybiB5aWVsZCp0aGlzLnB1c2hDb3VudCgzKSx0aGlzLmluZGVudFZhbHVlPTAsdGhpcy5pbmRlbnROZXh0PTAsdD09PSItLS0iPyJkb2MiOiJzdHJlYW0ifXJldHVybiB0aGlzLmluZGVudFZhbHVlPXlpZWxkKnRoaXMucHVzaFNwYWNlcyghMSksdGhpcy5pbmRlbnROZXh0PnRoaXMuaW5kZW50VmFsdWUmJiFiMSh0aGlzLmNoYXJBdCgxKSkmJih0aGlzLmluZGVudE5leHQ9dGhpcy5pbmRlbnRWYWx1ZSkseWllbGQqdGhpcy5wYXJzZUJsb2NrU3RhcnQoKX0qcGFyc2VCbG9ja1N0YXJ0KCl7bGV0W2UsdF09dGhpcy5wZWVrKDIpO2lmKCF0JiYhdGhpcy5hdEVuZClyZXR1cm4gdGhpcy5zZXROZXh0KCJibG9jay1zdGFydCIpO2lmKChlPT09Ii0ifHxlPT09Ij8ifHxlPT09IjoiKSYmYjEodCkpe2xldCByPSh5aWVsZCp0aGlzLnB1c2hDb3VudCgxKSkrKHlpZWxkKnRoaXMucHVzaFNwYWNlcyghMCkpO3JldHVybiB0aGlzLmluZGVudE5leHQ9dGhpcy5pbmRlbnRWYWx1ZSsxLHRoaXMuaW5kZW50VmFsdWUrPXIseWllbGQqdGhpcy5wYXJzZUJsb2NrU3RhcnQoKX1yZXR1cm4iZG9jIn0qcGFyc2VEb2N1bWVudCgpe3lpZWxkKnRoaXMucHVzaFNwYWNlcyghMCk7bGV0IGU9dGhpcy5nZXRMaW5lKCk7aWYoZT09PW51bGwpcmV0dXJuIHRoaXMuc2V0TmV4dCgiZG9jIik7bGV0IHQ9eWllbGQqdGhpcy5wdXNoSW5kaWNhdG9ycygpO3N3aXRjaChlW3RdKXtjYXNlIiMiOnlpZWxkKnRoaXMucHVzaENvdW50KGUubGVuZ3RoLXQpO2Nhc2Ugdm9pZCAwOnJldHVybiB5aWVsZCp0aGlzLnB1c2hOZXdsaW5lKCkseWllbGQqdGhpcy5wYXJzZUxpbmVTdGFydCgpO2Nhc2UieyI6Y2FzZSJbIjpyZXR1cm4geWllbGQqdGhpcy5wdXNoQ291bnQoMSksdGhpcy5mbG93S2V5PSExLHRoaXMuZmxvd0xldmVsPTEsImZsb3ciO2Nhc2UifSI6Y2FzZSJdIjpyZXR1cm4geWllbGQqdGhpcy5wdXNoQ291bnQoMSksImRvYyI7Y2FzZSIqIjpyZXR1cm4geWllbGQqdGhpcy5wdXNoVW50aWwoQjBlKSwiZG9jIjtjYXNlJyInOmNhc2UiJyI6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VRdW90ZWRTY2FsYXIoKTtjYXNlInwiOmNhc2UiPiI6cmV0dXJuIHQrPXlpZWxkKnRoaXMucGFyc2VCbG9ja1NjYWxhckhlYWRlcigpLHQrPXlpZWxkKnRoaXMucHVzaFNwYWNlcyghMCkseWllbGQqdGhpcy5wdXNoQ291bnQoZS5sZW5ndGgtdCkseWllbGQqdGhpcy5wdXNoTmV3bGluZSgpLHlpZWxkKnRoaXMucGFyc2VCbG9ja1NjYWxhcigpO2RlZmF1bHQ6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VQbGFpblNjYWxhcigpfX0qcGFyc2VGbG93Q29sbGVjdGlvbigpe2xldCBlLHQscj0tMTtkbyBlPXlpZWxkKnRoaXMucHVzaE5ld2xpbmUoKSxlPjA/KHQ9eWllbGQqdGhpcy5wdXNoU3BhY2VzKCExKSx0aGlzLmluZGVudFZhbHVlPXI9dCk6dD0wLHQrPXlpZWxkKnRoaXMucHVzaFNwYWNlcyghMCk7d2hpbGUoZSt0PjApO2xldCBpPXRoaXMuZ2V0TGluZSgpO2lmKGk9PT1udWxsKXJldHVybiB0aGlzLnNldE5leHQoImZsb3ciKTtpZigociE9PS0xJiZyPHRoaXMuaW5kZW50TmV4dCYmaVswXSE9PSIjInx8cj09PTAmJihpLnN0YXJ0c1dpdGgoIi0tLSIpfHxpLnN0YXJ0c1dpdGgoIi4uLiIpKSYmYjEoaVszXSkpJiYhKHI9PT10aGlzLmluZGVudE5leHQtMSYmdGhpcy5mbG93TGV2ZWw9PT0xJiYoaVswXT09PSJdInx8aVswXT09PSJ9IikpKXJldHVybiB0aGlzLmZsb3dMZXZlbD0wLHlpZWxkIHY4LHlpZWxkKnRoaXMucGFyc2VMaW5lU3RhcnQoKTtsZXQgbz0wO2Zvcig7aVtvXT09PSIsIjspbys9eWllbGQqdGhpcy5wdXNoQ291bnQoMSksbys9eWllbGQqdGhpcy5wdXNoU3BhY2VzKCEwKSx0aGlzLmZsb3dLZXk9ITE7c3dpdGNoKG8rPXlpZWxkKnRoaXMucHVzaEluZGljYXRvcnMoKSxpW29dKXtjYXNlIHZvaWQgMDpyZXR1cm4iZmxvdyI7Y2FzZSIjIjpyZXR1cm4geWllbGQqdGhpcy5wdXNoQ291bnQoaS5sZW5ndGgtbyksImZsb3ciO2Nhc2UieyI6Y2FzZSJbIjpyZXR1cm4geWllbGQqdGhpcy5wdXNoQ291bnQoMSksdGhpcy5mbG93S2V5PSExLHRoaXMuZmxvd0xldmVsKz0xLCJmbG93IjtjYXNlIn0iOmNhc2UiXSI6cmV0dXJuIHlpZWxkKnRoaXMucHVzaENvdW50KDEpLHRoaXMuZmxvd0tleT0hMCx0aGlzLmZsb3dMZXZlbC09MSx0aGlzLmZsb3dMZXZlbD8iZmxvdyI6ImRvYyI7Y2FzZSIqIjpyZXR1cm4geWllbGQqdGhpcy5wdXNoVW50aWwoQjBlKSwiZmxvdyI7Y2FzZSciJzpjYXNlIiciOnJldHVybiB0aGlzLmZsb3dLZXk9ITAseWllbGQqdGhpcy5wYXJzZVF1b3RlZFNjYWxhcigpO2Nhc2UiOiI6e2xldCBuPXRoaXMuY2hhckF0KDEpO2lmKHRoaXMuZmxvd0tleXx8YjEobil8fG49PT0iLCIpcmV0dXJuIHRoaXMuZmxvd0tleT0hMSx5aWVsZCp0aGlzLnB1c2hDb3VudCgxKSx5aWVsZCp0aGlzLnB1c2hTcGFjZXMoITApLCJmbG93In1kZWZhdWx0OnJldHVybiB0aGlzLmZsb3dLZXk9ITEseWllbGQqdGhpcy5wYXJzZVBsYWluU2NhbGFyKCl9fSpwYXJzZVF1b3RlZFNjYWxhcigpe2xldCBlPXRoaXMuY2hhckF0KDApLHQ9dGhpcy5idWZmZXIuaW5kZXhPZihlLHRoaXMucG9zKzEpO2lmKGU9PT0iJyIpZm9yKDt0IT09LTEmJnRoaXMuYnVmZmVyW3QrMV09PT0iJyI7KXQ9dGhpcy5idWZmZXIuaW5kZXhPZigiJyIsdCsyKTtlbHNlIGZvcig7dCE9PS0xOyl7bGV0IG89MDtmb3IoO3RoaXMuYnVmZmVyW3QtMS1vXT09PSJcXCI7KW8rPTE7aWYobyUyPT09MClicmVhazt0PXRoaXMuYnVmZmVyLmluZGV4T2YoJyInLHQrMSl9bGV0IHI9dGhpcy5idWZmZXIuc3Vic3RyaW5nKDAsdCksaT1yLmluZGV4T2YoYApgLHRoaXMucG9zKTtpZihpIT09LTEpe2Zvcig7aSE9PS0xOyl7bGV0IG89dGhpcy5jb250aW51ZVNjYWxhcihpKzEpO2lmKG89PT0tMSlicmVhaztpPXIuaW5kZXhPZihgCmAsbyl9aSE9PS0xJiYodD1pLShyW2ktMV09PT0iXHIiPzI6MSkpfWlmKHQ9PT0tMSl7aWYoIXRoaXMuYXRFbmQpcmV0dXJuIHRoaXMuc2V0TmV4dCgicXVvdGVkLXNjYWxhciIpO3Q9dGhpcy5idWZmZXIubGVuZ3RofXJldHVybiB5aWVsZCp0aGlzLnB1c2hUb0luZGV4KHQrMSwhMSksdGhpcy5mbG93TGV2ZWw/ImZsb3ciOiJkb2MifSpwYXJzZUJsb2NrU2NhbGFySGVhZGVyKCl7dGhpcy5ibG9ja1NjYWxhckluZGVudD0tMSx0aGlzLmJsb2NrU2NhbGFyS2VlcD0hMTtsZXQgZT10aGlzLnBvcztmb3IoOzspe2xldCB0PXRoaXMuYnVmZmVyWysrZV07aWYodD09PSIrIil0aGlzLmJsb2NrU2NhbGFyS2VlcD0hMDtlbHNlIGlmKHQ+IjAiJiZ0PD0iOSIpdGhpcy5ibG9ja1NjYWxhckluZGVudD1OdW1iZXIodCktMTtlbHNlIGlmKHQhPT0iLSIpYnJlYWt9cmV0dXJuIHlpZWxkKnRoaXMucHVzaFVudGlsKHQ9PmIxKHQpfHx0PT09IiMiKX0qcGFyc2VCbG9ja1NjYWxhcigpe2xldCBlPXRoaXMucG9zLTEsdD0wLHI7ZTpmb3IobGV0IG89dGhpcy5wb3M7cj10aGlzLmJ1ZmZlcltvXTsrK28pc3dpdGNoKHIpe2Nhc2UiICI6dCs9MTticmVhaztjYXNlYApgOmU9byx0PTA7YnJlYWs7Y2FzZSJcciI6e2xldCBuPXRoaXMuYnVmZmVyW28rMV07aWYoIW4mJiF0aGlzLmF0RW5kKXJldHVybiB0aGlzLnNldE5leHQoImJsb2NrLXNjYWxhciIpO2lmKG49PT1gCmApYnJlYWt9ZGVmYXVsdDpicmVhayBlfWlmKCFyJiYhdGhpcy5hdEVuZClyZXR1cm4gdGhpcy5zZXROZXh0KCJibG9jay1zY2FsYXIiKTtpZih0Pj10aGlzLmluZGVudE5leHQpe3RoaXMuYmxvY2tTY2FsYXJJbmRlbnQ9PT0tMT90aGlzLmluZGVudE5leHQ9dDp0aGlzLmluZGVudE5leHQ9dGhpcy5ibG9ja1NjYWxhckluZGVudCsodGhpcy5pbmRlbnROZXh0PT09MD8xOnRoaXMuaW5kZW50TmV4dCk7ZG97bGV0IG89dGhpcy5jb250aW51ZVNjYWxhcihlKzEpO2lmKG89PT0tMSlicmVhaztlPXRoaXMuYnVmZmVyLmluZGV4T2YoYApgLG8pfXdoaWxlKGUhPT0tMSk7aWYoZT09PS0xKXtpZighdGhpcy5hdEVuZClyZXR1cm4gdGhpcy5zZXROZXh0KCJibG9jay1zY2FsYXIiKTtlPXRoaXMuYnVmZmVyLmxlbmd0aH19bGV0IGk9ZSsxO2ZvcihyPXRoaXMuYnVmZmVyW2ldO3I9PT0iICI7KXI9dGhpcy5idWZmZXJbKytpXTtpZihyPT09IgkiKXtmb3IoO3I9PT0iCSJ8fHI9PT0iICJ8fHI9PT0iXHIifHxyPT09YApgOylyPXRoaXMuYnVmZmVyWysraV07ZT1pLTF9ZWxzZSBpZighdGhpcy5ibG9ja1NjYWxhcktlZXApZG97bGV0IG89ZS0xLG49dGhpcy5idWZmZXJbb107bj09PSJcciImJihuPXRoaXMuYnVmZmVyWy0tb10pO2xldCBsPW87Zm9yKDtuPT09IiAiOyluPXRoaXMuYnVmZmVyWy0tb107aWYobj09PWAKYCYmbz49dGhpcy5wb3MmJm8rMSt0PmwpZT1vO2Vsc2UgYnJlYWt9d2hpbGUoITApO3JldHVybiB5aWVsZCBqMyx5aWVsZCp0aGlzLnB1c2hUb0luZGV4KGUrMSwhMCkseWllbGQqdGhpcy5wYXJzZUxpbmVTdGFydCgpfSpwYXJzZVBsYWluU2NhbGFyKCl7bGV0IGU9dGhpcy5mbG93TGV2ZWw+MCx0PXRoaXMucG9zLTEscj10aGlzLnBvcy0xLGk7Zm9yKDtpPXRoaXMuYnVmZmVyWysrcl07KWlmKGk9PT0iOiIpe2xldCBvPXRoaXMuYnVmZmVyW3IrMV07aWYoYjEobyl8fGUmJmNRLmhhcyhvKSlicmVhazt0PXJ9ZWxzZSBpZihiMShpKSl7bGV0IG89dGhpcy5idWZmZXJbcisxXTtpZihpPT09IlxyIiYmKG89PT1gCmA/KHIrPTEsaT1gCmAsbz10aGlzLmJ1ZmZlcltyKzFdKTp0PXIpLG89PT0iIyJ8fGUmJmNRLmhhcyhvKSlicmVhaztpZihpPT09YApgKXtsZXQgbj10aGlzLmNvbnRpbnVlU2NhbGFyKHIrMSk7aWYobj09PS0xKWJyZWFrO3I9TWF0aC5tYXgocixuLTIpfX1lbHNle2lmKGUmJmNRLmhhcyhpKSlicmVhazt0PXJ9cmV0dXJuIWkmJiF0aGlzLmF0RW5kP3RoaXMuc2V0TmV4dCgicGxhaW4tc2NhbGFyIik6KHlpZWxkIGozLHlpZWxkKnRoaXMucHVzaFRvSW5kZXgodCsxLCEwKSxlPyJmbG93IjoiZG9jIil9KnB1c2hDb3VudChlKXtyZXR1cm4gZT4wPyh5aWVsZCB0aGlzLmJ1ZmZlci5zdWJzdHIodGhpcy5wb3MsZSksdGhpcy5wb3MrPWUsZSk6MH0qcHVzaFRvSW5kZXgoZSx0KXtsZXQgcj10aGlzLmJ1ZmZlci5zbGljZSh0aGlzLnBvcyxlKTtyZXR1cm4gcj8oeWllbGQgcix0aGlzLnBvcys9ci5sZW5ndGgsci5sZW5ndGgpOih0JiYoeWllbGQiIiksMCl9KnB1c2hJbmRpY2F0b3JzKCl7c3dpdGNoKHRoaXMuY2hhckF0KDApKXtjYXNlIiEiOnJldHVybih5aWVsZCp0aGlzLnB1c2hUYWcoKSkrKHlpZWxkKnRoaXMucHVzaFNwYWNlcyghMCkpKyh5aWVsZCp0aGlzLnB1c2hJbmRpY2F0b3JzKCkpO2Nhc2UiJiI6cmV0dXJuKHlpZWxkKnRoaXMucHVzaFVudGlsKEIwZSkpKyh5aWVsZCp0aGlzLnB1c2hTcGFjZXMoITApKSsoeWllbGQqdGhpcy5wdXNoSW5kaWNhdG9ycygpKTtjYXNlIi0iOmNhc2UiPyI6Y2FzZSI6Ijp7bGV0IGU9dGhpcy5mbG93TGV2ZWw+MCx0PXRoaXMuY2hhckF0KDEpO2lmKGIxKHQpfHxlJiZjUS5oYXModCkpcmV0dXJuIGU/dGhpcy5mbG93S2V5JiYodGhpcy5mbG93S2V5PSExKTp0aGlzLmluZGVudE5leHQ9dGhpcy5pbmRlbnRWYWx1ZSsxLCh5aWVsZCp0aGlzLnB1c2hDb3VudCgxKSkrKHlpZWxkKnRoaXMucHVzaFNwYWNlcyghMCkpKyh5aWVsZCp0aGlzLnB1c2hJbmRpY2F0b3JzKCkpfX1yZXR1cm4gMH0qcHVzaFRhZygpe2lmKHRoaXMuY2hhckF0KDEpPT09IjwiKXtsZXQgZT10aGlzLnBvcysyLHQ9dGhpcy5idWZmZXJbZV07Zm9yKDshYjEodCkmJnQhPT0iPiI7KXQ9dGhpcy5idWZmZXJbKytlXTtyZXR1cm4geWllbGQqdGhpcy5wdXNoVG9JbmRleCh0PT09Ij4iP2UrMTplLCExKX1lbHNle2xldCBlPXRoaXMucG9zKzEsdD10aGlzLmJ1ZmZlcltlXTtmb3IoO3Q7KWlmKGF5YS5oYXModCkpdD10aGlzLmJ1ZmZlclsrK2VdO2Vsc2UgaWYodD09PSIlIiYmTDN0Lmhhcyh0aGlzLmJ1ZmZlcltlKzFdKSYmTDN0Lmhhcyh0aGlzLmJ1ZmZlcltlKzJdKSl0PXRoaXMuYnVmZmVyW2UrPTNdO2Vsc2UgYnJlYWs7cmV0dXJuIHlpZWxkKnRoaXMucHVzaFRvSW5kZXgoZSwhMSl9fSpwdXNoTmV3bGluZSgpe2xldCBlPXRoaXMuYnVmZmVyW3RoaXMucG9zXTtyZXR1cm4gZT09PWAKYD95aWVsZCp0aGlzLnB1c2hDb3VudCgxKTplPT09IlxyIiYmdGhpcy5jaGFyQXQoMSk9PT1gCmA/eWllbGQqdGhpcy5wdXNoQ291bnQoMik6MH0qcHVzaFNwYWNlcyhlKXtsZXQgdD10aGlzLnBvcy0xLHI7ZG8gcj10aGlzLmJ1ZmZlclsrK3RdO3doaWxlKHI9PT0iICJ8fGUmJnI9PT0iCSIpO2xldCBpPXQtdGhpcy5wb3M7cmV0dXJuIGk+MCYmKHlpZWxkIHRoaXMuYnVmZmVyLnN1YnN0cih0aGlzLnBvcyxpKSx0aGlzLnBvcz10KSxpfSpwdXNoVW50aWwoZSl7bGV0IHQ9dGhpcy5wb3Mscj10aGlzLmJ1ZmZlclt0XTtmb3IoOyFlKHIpOylyPXRoaXMuYnVmZmVyWysrdF07cmV0dXJuIHlpZWxkKnRoaXMucHVzaFRvSW5kZXgodCwhMSl9fX0pO3ZhciBPMCxxMGU9ZigoKT0+e08wPWNsYXNze3N0YXRpY3tzKHRoaXMsIkxpbmVDb3VudGVyIil9Y29uc3RydWN0b3IoKXt0aGlzLmxpbmVTdGFydHM9W10sdGhpcy5hZGROZXdMaW5lPWU9PnRoaXMubGluZVN0YXJ0cy5wdXNoKGUpLHRoaXMubGluZVBvcz1lPT57bGV0IHQ9MCxyPXRoaXMubGluZVN0YXJ0cy5sZW5ndGg7Zm9yKDt0PHI7KXtsZXQgbz10K3I+PjE7dGhpcy5saW5lU3RhcnRzW29dPGU/dD1vKzE6cj1vfWlmKHRoaXMubGluZVN0YXJ0c1t0XT09PWUpcmV0dXJue2xpbmU6dCsxLGNvbDoxfTtpZih0PT09MClyZXR1cm57bGluZTowLGNvbDplfTtsZXQgaT10aGlzLmxpbmVTdGFydHNbdC0xXTtyZXR1cm57bGluZTp0LGNvbDplLWkrMX19fX19KTtmdW5jdGlvbiBGMChhLGUpe2ZvcihsZXQgdD0wO3Q8YS5sZW5ndGg7Kyt0KWlmKGFbdF0udHlwZT09PWUpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gJDN0KGEpe2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7KytlKXN3aXRjaChhW2VdLnR5cGUpe2Nhc2Uic3BhY2UiOmNhc2UiY29tbWVudCI6Y2FzZSJuZXdsaW5lIjpicmVhaztkZWZhdWx0OnJldHVybiBlfXJldHVybi0xfWZ1bmN0aW9uIEQzdChhKXtzd2l0Y2goYT8udHlwZSl7Y2FzZSJhbGlhcyI6Y2FzZSJzY2FsYXIiOmNhc2Uic2luZ2xlLXF1b3RlZC1zY2FsYXIiOmNhc2UiZG91YmxlLXF1b3RlZC1zY2FsYXIiOmNhc2UiZmxvdy1jb2xsZWN0aW9uIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBkUShhKXtzd2l0Y2goYS50eXBlKXtjYXNlImRvY3VtZW50IjpyZXR1cm4gYS5zdGFydDtjYXNlImJsb2NrLW1hcCI6e2xldCBlPWEuaXRlbXNbYS5pdGVtcy5sZW5ndGgtMV07cmV0dXJuIGUuc2VwPz9lLnN0YXJ0fWNhc2UiYmxvY2stc2VxIjpyZXR1cm4gYS5pdGVtc1thLml0ZW1zLmxlbmd0aC0xXS5zdGFydDtkZWZhdWx0OnJldHVybltdfX1mdW5jdGlvbiB4OChhKXtpZihhLmxlbmd0aD09PTApcmV0dXJuW107bGV0IGU9YS5sZW5ndGg7ZTpmb3IoOy0tZT49MDspc3dpdGNoKGFbZV0udHlwZSl7Y2FzZSJkb2Mtc3RhcnQiOmNhc2UiZXhwbGljaXQta2V5LWluZCI6Y2FzZSJtYXAtdmFsdWUtaW5kIjpjYXNlInNlcS1pdGVtLWluZCI6Y2FzZSJuZXdsaW5lIjpicmVhayBlfWZvcig7YVsrK2VdPy50eXBlPT09InNwYWNlIjspO3JldHVybiBhLnNwbGljZShlLGEubGVuZ3RoKX1mdW5jdGlvbiBBM3QoYSl7aWYoYS5zdGFydC50eXBlPT09ImZsb3ctc2VxLXN0YXJ0Iilmb3IobGV0IGUgb2YgYS5pdGVtcyllLnNlcCYmIWUudmFsdWUmJiFGMChlLnN0YXJ0LCJleHBsaWNpdC1rZXktaW5kIikmJiFGMChlLnNlcCwibWFwLXZhbHVlLWluZCIpJiYoZS5rZXkmJihlLnZhbHVlPWUua2V5KSxkZWxldGUgZS5rZXksRDN0KGUudmFsdWUpP2UudmFsdWUuZW5kP0FycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGUudmFsdWUuZW5kLGUuc2VwKTplLnZhbHVlLmVuZD1lLnNlcDpBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShlLnN0YXJ0LGUuc2VwKSxkZWxldGUgZS5zZXApfXZhciBWbCxWMGU9ZigoKT0+e2xRKCk7SDBlKCk7cyhGMCwiaW5jbHVkZXNUb2tlbiIpO3MoJDN0LCJmaW5kTm9uRW1wdHlJbmRleCIpO3MoRDN0LCJpc0Zsb3dUb2tlbiIpO3MoZFEsImdldFByZXZQcm9wcyIpO3MoeDgsImdldEZpcnN0S2V5U3RhcnRQcm9wcyIpO3MoQTN0LCJmaXhGbG93U2VxSXRlbXMiKTtWbD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJQYXJzZXIiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmF0TmV3TGluZT0hMCx0aGlzLmF0U2NhbGFyPSExLHRoaXMuaW5kZW50PTAsdGhpcy5vZmZzZXQ9MCx0aGlzLm9uS2V5TGluZT0hMSx0aGlzLnN0YWNrPVtdLHRoaXMuc291cmNlPSIiLHRoaXMudHlwZT0iIix0aGlzLmxleGVyPW5ldyBSMCx0aGlzLm9uTmV3TGluZT1lfSpwYXJzZShlLHQ9ITEpe3RoaXMub25OZXdMaW5lJiZ0aGlzLm9mZnNldD09PTAmJnRoaXMub25OZXdMaW5lKDApO2ZvcihsZXQgciBvZiB0aGlzLmxleGVyLmxleChlLHQpKXlpZWxkKnRoaXMubmV4dChyKTt0fHwoeWllbGQqdGhpcy5lbmQoKSl9Km5leHQoZSl7aWYodGhpcy5zb3VyY2U9ZSx0aGlzLmF0U2NhbGFyKXt0aGlzLmF0U2NhbGFyPSExLHlpZWxkKnRoaXMuc3RlcCgpLHRoaXMub2Zmc2V0Kz1lLmxlbmd0aDtyZXR1cm59bGV0IHQ9blEoZSk7aWYodClpZih0PT09InNjYWxhciIpdGhpcy5hdE5ld0xpbmU9ITEsdGhpcy5hdFNjYWxhcj0hMCx0aGlzLnR5cGU9InNjYWxhciI7ZWxzZXtzd2l0Y2godGhpcy50eXBlPXQseWllbGQqdGhpcy5zdGVwKCksdCl7Y2FzZSJuZXdsaW5lIjp0aGlzLmF0TmV3TGluZT0hMCx0aGlzLmluZGVudD0wLHRoaXMub25OZXdMaW5lJiZ0aGlzLm9uTmV3TGluZSh0aGlzLm9mZnNldCtlLmxlbmd0aCk7YnJlYWs7Y2FzZSJzcGFjZSI6dGhpcy5hdE5ld0xpbmUmJmVbMF09PT0iICImJih0aGlzLmluZGVudCs9ZS5sZW5ndGgpO2JyZWFrO2Nhc2UiZXhwbGljaXQta2V5LWluZCI6Y2FzZSJtYXAtdmFsdWUtaW5kIjpjYXNlInNlcS1pdGVtLWluZCI6dGhpcy5hdE5ld0xpbmUmJih0aGlzLmluZGVudCs9ZS5sZW5ndGgpO2JyZWFrO2Nhc2UiZG9jLW1vZGUiOmNhc2UiZmxvdy1lcnJvci1lbmQiOnJldHVybjtkZWZhdWx0OnRoaXMuYXROZXdMaW5lPSExfXRoaXMub2Zmc2V0Kz1lLmxlbmd0aH1lbHNle2xldCByPWBOb3QgYSBZQU1MIHRva2VuOiAke2V9YDt5aWVsZCp0aGlzLnBvcCh7dHlwZToiZXJyb3IiLG9mZnNldDp0aGlzLm9mZnNldCxtZXNzYWdlOnIsc291cmNlOmV9KSx0aGlzLm9mZnNldCs9ZS5sZW5ndGh9fSplbmQoKXtmb3IoO3RoaXMuc3RhY2subGVuZ3RoPjA7KXlpZWxkKnRoaXMucG9wKCl9Z2V0IHNvdXJjZVRva2VuKCl7cmV0dXJue3R5cGU6dGhpcy50eXBlLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsc291cmNlOnRoaXMuc291cmNlfX0qc3RlcCgpe2xldCBlPXRoaXMucGVlaygxKTtpZih0aGlzLnR5cGU9PT0iZG9jLWVuZCImJmU/LnR5cGUhPT0iZG9jLWVuZCIpe2Zvcig7dGhpcy5zdGFjay5sZW5ndGg+MDspeWllbGQqdGhpcy5wb3AoKTt0aGlzLnN0YWNrLnB1c2goe3R5cGU6ImRvYy1lbmQiLG9mZnNldDp0aGlzLm9mZnNldCxzb3VyY2U6dGhpcy5zb3VyY2V9KTtyZXR1cm59aWYoIWUpcmV0dXJuIHlpZWxkKnRoaXMuc3RyZWFtKCk7c3dpdGNoKGUudHlwZSl7Y2FzZSJkb2N1bWVudCI6cmV0dXJuIHlpZWxkKnRoaXMuZG9jdW1lbnQoZSk7Y2FzZSJhbGlhcyI6Y2FzZSJzY2FsYXIiOmNhc2Uic2luZ2xlLXF1b3RlZC1zY2FsYXIiOmNhc2UiZG91YmxlLXF1b3RlZC1zY2FsYXIiOnJldHVybiB5aWVsZCp0aGlzLnNjYWxhcihlKTtjYXNlImJsb2NrLXNjYWxhciI6cmV0dXJuIHlpZWxkKnRoaXMuYmxvY2tTY2FsYXIoZSk7Y2FzZSJibG9jay1tYXAiOnJldHVybiB5aWVsZCp0aGlzLmJsb2NrTWFwKGUpO2Nhc2UiYmxvY2stc2VxIjpyZXR1cm4geWllbGQqdGhpcy5ibG9ja1NlcXVlbmNlKGUpO2Nhc2UiZmxvdy1jb2xsZWN0aW9uIjpyZXR1cm4geWllbGQqdGhpcy5mbG93Q29sbGVjdGlvbihlKTtjYXNlImRvYy1lbmQiOnJldHVybiB5aWVsZCp0aGlzLmRvY3VtZW50RW5kKGUpfXlpZWxkKnRoaXMucG9wKCl9cGVlayhlKXtyZXR1cm4gdGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC1lXX0qcG9wKGUpe2xldCB0PWU/P3RoaXMuc3RhY2sucG9wKCk7aWYoIXQpeWllbGR7dHlwZToiZXJyb3IiLG9mZnNldDp0aGlzLm9mZnNldCxzb3VyY2U6IiIsbWVzc2FnZToiVHJpZWQgdG8gcG9wIGFuIGVtcHR5IHN0YWNrIn07ZWxzZSBpZih0aGlzLnN0YWNrLmxlbmd0aD09PTApeWllbGQgdDtlbHNle2xldCByPXRoaXMucGVlaygxKTtzd2l0Y2godC50eXBlPT09ImJsb2NrLXNjYWxhciI/dC5pbmRlbnQ9ImluZGVudCJpbiByP3IuaW5kZW50OjA6dC50eXBlPT09ImZsb3ctY29sbGVjdGlvbiImJnIudHlwZT09PSJkb2N1bWVudCImJih0LmluZGVudD0wKSx0LnR5cGU9PT0iZmxvdy1jb2xsZWN0aW9uIiYmQTN0KHQpLHIudHlwZSl7Y2FzZSJkb2N1bWVudCI6ci52YWx1ZT10O2JyZWFrO2Nhc2UiYmxvY2stc2NhbGFyIjpyLnByb3BzLnB1c2godCk7YnJlYWs7Y2FzZSJibG9jay1tYXAiOntsZXQgaT1yLml0ZW1zW3IuaXRlbXMubGVuZ3RoLTFdO2lmKGkudmFsdWUpe3IuaXRlbXMucHVzaCh7c3RhcnQ6W10sa2V5OnQsc2VwOltdfSksdGhpcy5vbktleUxpbmU9ITA7cmV0dXJufWVsc2UgaWYoaS5zZXApaS52YWx1ZT10O2Vsc2V7T2JqZWN0LmFzc2lnbihpLHtrZXk6dCxzZXA6W119KSx0aGlzLm9uS2V5TGluZT0haS5leHBsaWNpdEtleTtyZXR1cm59YnJlYWt9Y2FzZSJibG9jay1zZXEiOntsZXQgaT1yLml0ZW1zW3IuaXRlbXMubGVuZ3RoLTFdO2kudmFsdWU/ci5pdGVtcy5wdXNoKHtzdGFydDpbXSx2YWx1ZTp0fSk6aS52YWx1ZT10O2JyZWFrfWNhc2UiZmxvdy1jb2xsZWN0aW9uIjp7bGV0IGk9ci5pdGVtc1tyLml0ZW1zLmxlbmd0aC0xXTshaXx8aS52YWx1ZT9yLml0ZW1zLnB1c2goe3N0YXJ0OltdLGtleTp0LHNlcDpbXX0pOmkuc2VwP2kudmFsdWU9dDpPYmplY3QuYXNzaWduKGkse2tleTp0LHNlcDpbXX0pO3JldHVybn1kZWZhdWx0OnlpZWxkKnRoaXMucG9wKCkseWllbGQqdGhpcy5wb3AodCl9aWYoKHIudHlwZT09PSJkb2N1bWVudCJ8fHIudHlwZT09PSJibG9jay1tYXAifHxyLnR5cGU9PT0iYmxvY2stc2VxIikmJih0LnR5cGU9PT0iYmxvY2stbWFwInx8dC50eXBlPT09ImJsb2NrLXNlcSIpKXtsZXQgaT10Lml0ZW1zW3QuaXRlbXMubGVuZ3RoLTFdO2kmJiFpLnNlcCYmIWkudmFsdWUmJmkuc3RhcnQubGVuZ3RoPjAmJiQzdChpLnN0YXJ0KT09PS0xJiYodC5pbmRlbnQ9PT0wfHxpLnN0YXJ0LmV2ZXJ5KG89Pm8udHlwZSE9PSJjb21tZW50Inx8by5pbmRlbnQ8dC5pbmRlbnQpKSYmKHIudHlwZT09PSJkb2N1bWVudCI/ci5lbmQ9aS5zdGFydDpyLml0ZW1zLnB1c2goe3N0YXJ0Omkuc3RhcnR9KSx0Lml0ZW1zLnNwbGljZSgtMSwxKSl9fX0qc3RyZWFtKCl7c3dpdGNoKHRoaXMudHlwZSl7Y2FzZSJkaXJlY3RpdmUtbGluZSI6eWllbGR7dHlwZToiZGlyZWN0aXZlIixvZmZzZXQ6dGhpcy5vZmZzZXQsc291cmNlOnRoaXMuc291cmNlfTtyZXR1cm47Y2FzZSJieXRlLW9yZGVyLW1hcmsiOmNhc2Uic3BhY2UiOmNhc2UiY29tbWVudCI6Y2FzZSJuZXdsaW5lIjp5aWVsZCB0aGlzLnNvdXJjZVRva2VuO3JldHVybjtjYXNlImRvYy1tb2RlIjpjYXNlImRvYy1zdGFydCI6e2xldCBlPXt0eXBlOiJkb2N1bWVudCIsb2Zmc2V0OnRoaXMub2Zmc2V0LHN0YXJ0OltdfTt0aGlzLnR5cGU9PT0iZG9jLXN0YXJ0IiYmZS5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pLHRoaXMuc3RhY2sucHVzaChlKTtyZXR1cm59fXlpZWxke3R5cGU6ImVycm9yIixvZmZzZXQ6dGhpcy5vZmZzZXQsbWVzc2FnZTpgVW5leHBlY3RlZCAke3RoaXMudHlwZX0gdG9rZW4gaW4gWUFNTCBzdHJlYW1gLHNvdXJjZTp0aGlzLnNvdXJjZX19KmRvY3VtZW50KGUpe2lmKGUudmFsdWUpcmV0dXJuIHlpZWxkKnRoaXMubGluZUVuZChlKTtzd2l0Y2godGhpcy50eXBlKXtjYXNlImRvYy1zdGFydCI6eyQzdChlLnN0YXJ0KSE9PS0xPyh5aWVsZCp0aGlzLnBvcCgpLHlpZWxkKnRoaXMuc3RlcCgpKTplLnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJufWNhc2UiYW5jaG9yIjpjYXNlInRhZyI6Y2FzZSJzcGFjZSI6Y2FzZSJjb21tZW50IjpjYXNlIm5ld2xpbmUiOmUuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm59bGV0IHQ9dGhpcy5zdGFydEJsb2NrVmFsdWUoZSk7dD90aGlzLnN0YWNrLnB1c2godCk6eWllbGR7dHlwZToiZXJyb3IiLG9mZnNldDp0aGlzLm9mZnNldCxtZXNzYWdlOmBVbmV4cGVjdGVkICR7dGhpcy50eXBlfSB0b2tlbiBpbiBZQU1MIGRvY3VtZW50YCxzb3VyY2U6dGhpcy5zb3VyY2V9fSpzY2FsYXIoZSl7aWYodGhpcy50eXBlPT09Im1hcC12YWx1ZS1pbmQiKXtsZXQgdD1kUSh0aGlzLnBlZWsoMikpLHI9eDgodCksaTtlLmVuZD8oaT1lLmVuZCxpLnB1c2godGhpcy5zb3VyY2VUb2tlbiksZGVsZXRlIGUuZW5kKTppPVt0aGlzLnNvdXJjZVRva2VuXTtsZXQgbz17dHlwZToiYmxvY2stbWFwIixvZmZzZXQ6ZS5vZmZzZXQsaW5kZW50OmUuaW5kZW50LGl0ZW1zOlt7c3RhcnQ6cixrZXk6ZSxzZXA6aX1dfTt0aGlzLm9uS2V5TGluZT0hMCx0aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdPW99ZWxzZSB5aWVsZCp0aGlzLmxpbmVFbmQoZSl9KmJsb2NrU2NhbGFyKGUpe3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2Uic3BhY2UiOmNhc2UiY29tbWVudCI6Y2FzZSJuZXdsaW5lIjplLnByb3BzLnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJuO2Nhc2Uic2NhbGFyIjppZihlLnNvdXJjZT10aGlzLnNvdXJjZSx0aGlzLmF0TmV3TGluZT0hMCx0aGlzLmluZGVudD0wLHRoaXMub25OZXdMaW5lKXtsZXQgdD10aGlzLnNvdXJjZS5pbmRleE9mKGAKYCkrMTtmb3IoO3QhPT0wOyl0aGlzLm9uTmV3TGluZSh0aGlzLm9mZnNldCt0KSx0PXRoaXMuc291cmNlLmluZGV4T2YoYApgLHQpKzF9eWllbGQqdGhpcy5wb3AoKTticmVhaztkZWZhdWx0OnlpZWxkKnRoaXMucG9wKCkseWllbGQqdGhpcy5zdGVwKCl9fSpibG9ja01hcChlKXtsZXQgdD1lLml0ZW1zW2UuaXRlbXMubGVuZ3RoLTFdO3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2UibmV3bGluZSI6aWYodGhpcy5vbktleUxpbmU9ITEsdC52YWx1ZSl7bGV0IHI9ImVuZCJpbiB0LnZhbHVlP3QudmFsdWUuZW5kOnZvaWQgMDsoQXJyYXkuaXNBcnJheShyKT9yW3IubGVuZ3RoLTFdOnZvaWQgMCk/LnR5cGU9PT0iY29tbWVudCI/cj8ucHVzaCh0aGlzLnNvdXJjZVRva2VuKTplLml0ZW1zLnB1c2goe3N0YXJ0Olt0aGlzLnNvdXJjZVRva2VuXX0pfWVsc2UgdC5zZXA/dC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTp0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJuO2Nhc2Uic3BhY2UiOmNhc2UiY29tbWVudCI6aWYodC52YWx1ZSllLml0ZW1zLnB1c2goe3N0YXJ0Olt0aGlzLnNvdXJjZVRva2VuXX0pO2Vsc2UgaWYodC5zZXApdC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtlbHNle2lmKHRoaXMuYXRJbmRlbnRlZENvbW1lbnQodC5zdGFydCxlLmluZGVudCkpe2xldCBpPWUuaXRlbXNbZS5pdGVtcy5sZW5ndGgtMl0/LnZhbHVlPy5lbmQ7aWYoQXJyYXkuaXNBcnJheShpKSl7QXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoaSx0LnN0YXJ0KSxpLnB1c2godGhpcy5zb3VyY2VUb2tlbiksZS5pdGVtcy5wb3AoKTtyZXR1cm59fXQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKX1yZXR1cm59aWYodGhpcy5pbmRlbnQ+PWUuaW5kZW50KXtsZXQgcj0hdGhpcy5vbktleUxpbmUmJnRoaXMuaW5kZW50PT09ZS5pbmRlbnQsaT1yJiYodC5zZXB8fHQuZXhwbGljaXRLZXkpJiZ0aGlzLnR5cGUhPT0ic2VxLWl0ZW0taW5kIixvPVtdO2lmKGkmJnQuc2VwJiYhdC52YWx1ZSl7bGV0IG49W107Zm9yKGxldCBsPTA7bDx0LnNlcC5sZW5ndGg7KytsKXtsZXQgZD10LnNlcFtsXTtzd2l0Y2goZC50eXBlKXtjYXNlIm5ld2xpbmUiOm4ucHVzaChsKTticmVhaztjYXNlInNwYWNlIjpicmVhaztjYXNlImNvbW1lbnQiOmQuaW5kZW50PmUuaW5kZW50JiYobi5sZW5ndGg9MCk7YnJlYWs7ZGVmYXVsdDpuLmxlbmd0aD0wfX1uLmxlbmd0aD49MiYmKG89dC5zZXAuc3BsaWNlKG5bMV0pKX1zd2l0Y2godGhpcy50eXBlKXtjYXNlImFuY2hvciI6Y2FzZSJ0YWciOml8fHQudmFsdWU/KG8ucHVzaCh0aGlzLnNvdXJjZVRva2VuKSxlLml0ZW1zLnB1c2goe3N0YXJ0Om99KSx0aGlzLm9uS2V5TGluZT0hMCk6dC5zZXA/dC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTp0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJuO2Nhc2UiZXhwbGljaXQta2V5LWluZCI6IXQuc2VwJiYhdC5leHBsaWNpdEtleT8odC5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pLHQuZXhwbGljaXRLZXk9ITApOml8fHQudmFsdWU/KG8ucHVzaCh0aGlzLnNvdXJjZVRva2VuKSxlLml0ZW1zLnB1c2goe3N0YXJ0Om8sZXhwbGljaXRLZXk6ITB9KSk6dGhpcy5zdGFjay5wdXNoKHt0eXBlOiJibG9jay1tYXAiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDpbdGhpcy5zb3VyY2VUb2tlbl0sZXhwbGljaXRLZXk6ITB9XX0pLHRoaXMub25LZXlMaW5lPSEwO3JldHVybjtjYXNlIm1hcC12YWx1ZS1pbmQiOmlmKHQuZXhwbGljaXRLZXkpaWYodC5zZXApaWYodC52YWx1ZSllLml0ZW1zLnB1c2goe3N0YXJ0OltdLGtleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19KTtlbHNlIGlmKEYwKHQuc2VwLCJtYXAtdmFsdWUtaW5kIikpdGhpcy5zdGFjay5wdXNoKHt0eXBlOiJibG9jay1tYXAiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDpvLGtleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19XX0pO2Vsc2UgaWYoRDN0KHQua2V5KSYmIUYwKHQuc2VwLCJuZXdsaW5lIikpe2xldCBuPXg4KHQuc3RhcnQpLGw9dC5rZXksZD10LnNlcDtkLnB1c2godGhpcy5zb3VyY2VUb2tlbiksZGVsZXRlIHQua2V5LGRlbGV0ZSB0LnNlcCx0aGlzLnN0YWNrLnB1c2goe3R5cGU6ImJsb2NrLW1hcCIsb2Zmc2V0OnRoaXMub2Zmc2V0LGluZGVudDp0aGlzLmluZGVudCxpdGVtczpbe3N0YXJ0Om4sa2V5Omwsc2VwOmR9XX0pfWVsc2Ugby5sZW5ndGg+MD90LnNlcD10LnNlcC5jb25jYXQobyx0aGlzLnNvdXJjZVRva2VuKTp0LnNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO2Vsc2UgaWYoRjAodC5zdGFydCwibmV3bGluZSIpKU9iamVjdC5hc3NpZ24odCx7a2V5Om51bGwsc2VwOlt0aGlzLnNvdXJjZVRva2VuXX0pO2Vsc2V7bGV0IG49eDgodC5zdGFydCk7dGhpcy5zdGFjay5wdXNoKHt0eXBlOiJibG9jay1tYXAiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDpuLGtleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19XX0pfWVsc2UgdC5zZXA/dC52YWx1ZXx8aT9lLml0ZW1zLnB1c2goe3N0YXJ0Om8sa2V5Om51bGwsc2VwOlt0aGlzLnNvdXJjZVRva2VuXX0pOkYwKHQuc2VwLCJtYXAtdmFsdWUtaW5kIik/dGhpcy5zdGFjay5wdXNoKHt0eXBlOiJibG9jay1tYXAiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDpbXSxrZXk6bnVsbCxzZXA6W3RoaXMuc291cmNlVG9rZW5dfV19KTp0LnNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pOk9iamVjdC5hc3NpZ24odCx7a2V5Om51bGwsc2VwOlt0aGlzLnNvdXJjZVRva2VuXX0pO3RoaXMub25LZXlMaW5lPSEwO3JldHVybjtjYXNlImFsaWFzIjpjYXNlInNjYWxhciI6Y2FzZSJzaW5nbGUtcXVvdGVkLXNjYWxhciI6Y2FzZSJkb3VibGUtcXVvdGVkLXNjYWxhciI6e2xldCBuPXRoaXMuZmxvd1NjYWxhcih0aGlzLnR5cGUpO2l8fHQudmFsdWU/KGUuaXRlbXMucHVzaCh7c3RhcnQ6byxrZXk6bixzZXA6W119KSx0aGlzLm9uS2V5TGluZT0hMCk6dC5zZXA/dGhpcy5zdGFjay5wdXNoKG4pOihPYmplY3QuYXNzaWduKHQse2tleTpuLHNlcDpbXX0pLHRoaXMub25LZXlMaW5lPSEwKTtyZXR1cm59ZGVmYXVsdDp7bGV0IG49dGhpcy5zdGFydEJsb2NrVmFsdWUoZSk7aWYobil7aWYobi50eXBlPT09ImJsb2NrLXNlcSIpe2lmKCF0LmV4cGxpY2l0S2V5JiZ0LnNlcCYmIUYwKHQuc2VwLCJuZXdsaW5lIikpe3lpZWxkKnRoaXMucG9wKHt0eXBlOiJlcnJvciIsb2Zmc2V0OnRoaXMub2Zmc2V0LG1lc3NhZ2U6IlVuZXhwZWN0ZWQgYmxvY2stc2VxLWluZCBvbiBzYW1lIGxpbmUgd2l0aCBrZXkiLHNvdXJjZTp0aGlzLnNvdXJjZX0pO3JldHVybn19ZWxzZSByJiZlLml0ZW1zLnB1c2goe3N0YXJ0Om99KTt0aGlzLnN0YWNrLnB1c2gobik7cmV0dXJufX19fXlpZWxkKnRoaXMucG9wKCkseWllbGQqdGhpcy5zdGVwKCl9KmJsb2NrU2VxdWVuY2UoZSl7bGV0IHQ9ZS5pdGVtc1tlLml0ZW1zLmxlbmd0aC0xXTtzd2l0Y2godGhpcy50eXBlKXtjYXNlIm5ld2xpbmUiOmlmKHQudmFsdWUpe2xldCByPSJlbmQiaW4gdC52YWx1ZT90LnZhbHVlLmVuZDp2b2lkIDA7KEFycmF5LmlzQXJyYXkocik/cltyLmxlbmd0aC0xXTp2b2lkIDApPy50eXBlPT09ImNvbW1lbnQiP3I/LnB1c2godGhpcy5zb3VyY2VUb2tlbik6ZS5pdGVtcy5wdXNoKHtzdGFydDpbdGhpcy5zb3VyY2VUb2tlbl19KX1lbHNlIHQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm47Y2FzZSJzcGFjZSI6Y2FzZSJjb21tZW50IjppZih0LnZhbHVlKWUuaXRlbXMucHVzaCh7c3RhcnQ6W3RoaXMuc291cmNlVG9rZW5dfSk7ZWxzZXtpZih0aGlzLmF0SW5kZW50ZWRDb21tZW50KHQuc3RhcnQsZS5pbmRlbnQpKXtsZXQgaT1lLml0ZW1zW2UuaXRlbXMubGVuZ3RoLTJdPy52YWx1ZT8uZW5kO2lmKEFycmF5LmlzQXJyYXkoaSkpe0FycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGksdC5zdGFydCksaS5wdXNoKHRoaXMuc291cmNlVG9rZW4pLGUuaXRlbXMucG9wKCk7cmV0dXJufX10LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbil9cmV0dXJuO2Nhc2UiYW5jaG9yIjpjYXNlInRhZyI6aWYodC52YWx1ZXx8dGhpcy5pbmRlbnQ8PWUuaW5kZW50KWJyZWFrO3Quc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm47Y2FzZSJzZXEtaXRlbS1pbmQiOmlmKHRoaXMuaW5kZW50IT09ZS5pbmRlbnQpYnJlYWs7dC52YWx1ZXx8RjAodC5zdGFydCwic2VxLWl0ZW0taW5kIik/ZS5pdGVtcy5wdXNoKHtzdGFydDpbdGhpcy5zb3VyY2VUb2tlbl19KTp0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJufWlmKHRoaXMuaW5kZW50PmUuaW5kZW50KXtsZXQgcj10aGlzLnN0YXJ0QmxvY2tWYWx1ZShlKTtpZihyKXt0aGlzLnN0YWNrLnB1c2gocik7cmV0dXJufX15aWVsZCp0aGlzLnBvcCgpLHlpZWxkKnRoaXMuc3RlcCgpfSpmbG93Q29sbGVjdGlvbihlKXtsZXQgdD1lLml0ZW1zW2UuaXRlbXMubGVuZ3RoLTFdO2lmKHRoaXMudHlwZT09PSJmbG93LWVycm9yLWVuZCIpe2xldCByO2RvIHlpZWxkKnRoaXMucG9wKCkscj10aGlzLnBlZWsoMSk7d2hpbGUocj8udHlwZT09PSJmbG93LWNvbGxlY3Rpb24iKX1lbHNlIGlmKGUuZW5kLmxlbmd0aD09PTApe3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2UiY29tbWEiOmNhc2UiZXhwbGljaXQta2V5LWluZCI6IXR8fHQuc2VwP2UuaXRlbXMucHVzaCh7c3RhcnQ6W3RoaXMuc291cmNlVG9rZW5dfSk6dC5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO3JldHVybjtjYXNlIm1hcC12YWx1ZS1pbmQiOiF0fHx0LnZhbHVlP2UuaXRlbXMucHVzaCh7c3RhcnQ6W10sa2V5Om51bGwsc2VwOlt0aGlzLnNvdXJjZVRva2VuXX0pOnQuc2VwP3Quc2VwLnB1c2godGhpcy5zb3VyY2VUb2tlbik6T2JqZWN0LmFzc2lnbih0LHtrZXk6bnVsbCxzZXA6W3RoaXMuc291cmNlVG9rZW5dfSk7cmV0dXJuO2Nhc2Uic3BhY2UiOmNhc2UiY29tbWVudCI6Y2FzZSJuZXdsaW5lIjpjYXNlImFuY2hvciI6Y2FzZSJ0YWciOiF0fHx0LnZhbHVlP2UuaXRlbXMucHVzaCh7c3RhcnQ6W3RoaXMuc291cmNlVG9rZW5dfSk6dC5zZXA/dC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTp0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJuO2Nhc2UiYWxpYXMiOmNhc2Uic2NhbGFyIjpjYXNlInNpbmdsZS1xdW90ZWQtc2NhbGFyIjpjYXNlImRvdWJsZS1xdW90ZWQtc2NhbGFyIjp7bGV0IGk9dGhpcy5mbG93U2NhbGFyKHRoaXMudHlwZSk7IXR8fHQudmFsdWU/ZS5pdGVtcy5wdXNoKHtzdGFydDpbXSxrZXk6aSxzZXA6W119KTp0LnNlcD90aGlzLnN0YWNrLnB1c2goaSk6T2JqZWN0LmFzc2lnbih0LHtrZXk6aSxzZXA6W119KTtyZXR1cm59Y2FzZSJmbG93LW1hcC1lbmQiOmNhc2UiZmxvdy1zZXEtZW5kIjplLmVuZC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO3JldHVybn1sZXQgcj10aGlzLnN0YXJ0QmxvY2tWYWx1ZShlKTtyP3RoaXMuc3RhY2sucHVzaChyKTooeWllbGQqdGhpcy5wb3AoKSx5aWVsZCp0aGlzLnN0ZXAoKSl9ZWxzZXtsZXQgcj10aGlzLnBlZWsoMik7aWYoci50eXBlPT09ImJsb2NrLW1hcCImJih0aGlzLnR5cGU9PT0ibWFwLXZhbHVlLWluZCImJnIuaW5kZW50PT09ZS5pbmRlbnR8fHRoaXMudHlwZT09PSJuZXdsaW5lIiYmIXIuaXRlbXNbci5pdGVtcy5sZW5ndGgtMV0uc2VwKSl5aWVsZCp0aGlzLnBvcCgpLHlpZWxkKnRoaXMuc3RlcCgpO2Vsc2UgaWYodGhpcy50eXBlPT09Im1hcC12YWx1ZS1pbmQiJiZyLnR5cGUhPT0iZmxvdy1jb2xsZWN0aW9uIil7bGV0IGk9ZFEociksbz14OChpKTtBM3QoZSk7bGV0IG49ZS5lbmQuc3BsaWNlKDEsZS5lbmQubGVuZ3RoKTtuLnB1c2godGhpcy5zb3VyY2VUb2tlbik7bGV0IGw9e3R5cGU6ImJsb2NrLW1hcCIsb2Zmc2V0OmUub2Zmc2V0LGluZGVudDplLmluZGVudCxpdGVtczpbe3N0YXJ0Om8sa2V5OmUsc2VwOm59XX07dGhpcy5vbktleUxpbmU9ITAsdGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXT1sfWVsc2UgeWllbGQqdGhpcy5saW5lRW5kKGUpfX1mbG93U2NhbGFyKGUpe2lmKHRoaXMub25OZXdMaW5lKXtsZXQgdD10aGlzLnNvdXJjZS5pbmRleE9mKGAKYCkrMTtmb3IoO3QhPT0wOyl0aGlzLm9uTmV3TGluZSh0aGlzLm9mZnNldCt0KSx0PXRoaXMuc291cmNlLmluZGV4T2YoYApgLHQpKzF9cmV0dXJue3R5cGU6ZSxvZmZzZXQ6dGhpcy5vZmZzZXQsaW5kZW50OnRoaXMuaW5kZW50LHNvdXJjZTp0aGlzLnNvdXJjZX19c3RhcnRCbG9ja1ZhbHVlKGUpe3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2UiYWxpYXMiOmNhc2Uic2NhbGFyIjpjYXNlInNpbmdsZS1xdW90ZWQtc2NhbGFyIjpjYXNlImRvdWJsZS1xdW90ZWQtc2NhbGFyIjpyZXR1cm4gdGhpcy5mbG93U2NhbGFyKHRoaXMudHlwZSk7Y2FzZSJibG9jay1zY2FsYXItaGVhZGVyIjpyZXR1cm57dHlwZToiYmxvY2stc2NhbGFyIixvZmZzZXQ6dGhpcy5vZmZzZXQsaW5kZW50OnRoaXMuaW5kZW50LHByb3BzOlt0aGlzLnNvdXJjZVRva2VuXSxzb3VyY2U6IiJ9O2Nhc2UiZmxvdy1tYXAtc3RhcnQiOmNhc2UiZmxvdy1zZXEtc3RhcnQiOnJldHVybnt0eXBlOiJmbG93LWNvbGxlY3Rpb24iLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsc3RhcnQ6dGhpcy5zb3VyY2VUb2tlbixpdGVtczpbXSxlbmQ6W119O2Nhc2Uic2VxLWl0ZW0taW5kIjpyZXR1cm57dHlwZToiYmxvY2stc2VxIixvZmZzZXQ6dGhpcy5vZmZzZXQsaW5kZW50OnRoaXMuaW5kZW50LGl0ZW1zOlt7c3RhcnQ6W3RoaXMuc291cmNlVG9rZW5dfV19O2Nhc2UiZXhwbGljaXQta2V5LWluZCI6e3RoaXMub25LZXlMaW5lPSEwO2xldCB0PWRRKGUpLHI9eDgodCk7cmV0dXJuIHIucHVzaCh0aGlzLnNvdXJjZVRva2VuKSx7dHlwZToiYmxvY2stbWFwIixvZmZzZXQ6dGhpcy5vZmZzZXQsaW5kZW50OnRoaXMuaW5kZW50LGl0ZW1zOlt7c3RhcnQ6cixleHBsaWNpdEtleTohMH1dfX1jYXNlIm1hcC12YWx1ZS1pbmQiOnt0aGlzLm9uS2V5TGluZT0hMDtsZXQgdD1kUShlKSxyPXg4KHQpO3JldHVybnt0eXBlOiJibG9jay1tYXAiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDpyLGtleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19XX19fXJldHVybiBudWxsfWF0SW5kZW50ZWRDb21tZW50KGUsdCl7cmV0dXJuIHRoaXMudHlwZSE9PSJjb21tZW50Inx8dGhpcy5pbmRlbnQ8PXQ/ITE6ZS5ldmVyeShyPT5yLnR5cGU9PT0ibmV3bGluZSJ8fHIudHlwZT09PSJzcGFjZSIpfSpkb2N1bWVudEVuZChlKXt0aGlzLnR5cGUhPT0iZG9jLW1vZGUiJiYoZS5lbmQ/ZS5lbmQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTplLmVuZD1bdGhpcy5zb3VyY2VUb2tlbl0sdGhpcy50eXBlPT09Im5ld2xpbmUiJiYoeWllbGQqdGhpcy5wb3AoKSkpfSpsaW5lRW5kKGUpe3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2UiY29tbWEiOmNhc2UiZG9jLXN0YXJ0IjpjYXNlImRvYy1lbmQiOmNhc2UiZmxvdy1zZXEtZW5kIjpjYXNlImZsb3ctbWFwLWVuZCI6Y2FzZSJtYXAtdmFsdWUtaW5kIjp5aWVsZCp0aGlzLnBvcCgpLHlpZWxkKnRoaXMuc3RlcCgpO2JyZWFrO2Nhc2UibmV3bGluZSI6dGhpcy5vbktleUxpbmU9ITE7ZGVmYXVsdDplLmVuZD9lLmVuZC5wdXNoKHRoaXMuc291cmNlVG9rZW4pOmUuZW5kPVt0aGlzLnNvdXJjZVRva2VuXSx0aGlzLnR5cGU9PT0ibmV3bGluZSImJih5aWVsZCp0aGlzLnBvcCgpKX19fX0pO2Z1bmN0aW9uIEUzdChhKXtsZXQgZT1hLnByZXR0eUVycm9ycyE9PSExO3JldHVybntsaW5lQ291bnRlcjphLmxpbmVDb3VudGVyfHxlJiZuZXcgTzB8fG51bGwscHJldHR5RXJyb3JzOmV9fWZ1bmN0aW9uIHVRKGEsZT17fSl7bGV0e2xpbmVDb3VudGVyOnQscHJldHR5RXJyb3JzOnJ9PUUzdChlKSxpPW5ldyBWbCh0Py5hZGROZXdMaW5lKSxvPW5ldyBIbChlKSxuPUFycmF5LmZyb20oby5jb21wb3NlKGkucGFyc2UoYSkpKTtpZihyJiZ0KWZvcihsZXQgbCBvZiBuKWwuZXJyb3JzLmZvckVhY2goZjgoYSx0KSksbC53YXJuaW5ncy5mb3JFYWNoKGY4KGEsdCkpO3JldHVybiBuLmxlbmd0aD4wP246T2JqZWN0LmFzc2lnbihbXSx7ZW1wdHk6ITB9LG8uc3RyZWFtSW5mbygpKX1mdW5jdGlvbiBCZyhhLGU9e30pe2xldHtsaW5lQ291bnRlcjp0LHByZXR0eUVycm9yczpyfT1FM3QoZSksaT1uZXcgVmwodD8uYWRkTmV3TGluZSksbz1uZXcgSGwoZSksbj1udWxsO2ZvcihsZXQgbCBvZiBvLmNvbXBvc2UoaS5wYXJzZShhKSwhMCxhLmxlbmd0aCkpaWYoIW4pbj1sO2Vsc2UgaWYobi5vcHRpb25zLmxvZ0xldmVsIT09InNpbGVudCIpe24uZXJyb3JzLnB1c2gobmV3IFZpKGwucmFuZ2Uuc2xpY2UoMCwyKSwiTVVMVElQTEVfRE9DUyIsIlNvdXJjZSBjb250YWlucyBtdWx0aXBsZSBkb2N1bWVudHM7IHBsZWFzZSB1c2UgWUFNTC5wYXJzZUFsbERvY3VtZW50cygpIikpO2JyZWFrfXJldHVybiByJiZ0JiYobi5lcnJvcnMuZm9yRWFjaChmOChhLHQpKSxuLndhcm5pbmdzLmZvckVhY2goZjgoYSx0KSkpLG59ZnVuY3Rpb24gcFEoYSxlLHQpe2xldCByO3R5cGVvZiBlPT0iZnVuY3Rpb24iP3I9ZTp0PT09dm9pZCAwJiZlJiZ0eXBlb2YgZT09Im9iamVjdCImJih0PWUpO2xldCBpPUJnKGEsdCk7aWYoIWkpcmV0dXJuIG51bGw7aWYoaS53YXJuaW5ncy5mb3JFYWNoKG89PmJnKGkub3B0aW9ucy5sb2dMZXZlbCxvKSksaS5lcnJvcnMubGVuZ3RoPjApe2lmKGkub3B0aW9ucy5sb2dMZXZlbCE9PSJzaWxlbnQiKXRocm93IGkuZXJyb3JzWzBdO2kuZXJyb3JzPVtdfXJldHVybiBpLnRvSlMoT2JqZWN0LmFzc2lnbih7cmV2aXZlcjpyfSx0KSl9ZnVuY3Rpb24gZlEoYSxlLHQpe2xldCByPW51bGw7aWYodHlwZW9mIGU9PSJmdW5jdGlvbiJ8fEFycmF5LmlzQXJyYXkoZSk/cj1lOnQ9PT12b2lkIDAmJmUmJih0PWUpLHR5cGVvZiB0PT0ic3RyaW5nIiYmKHQ9dC5sZW5ndGgpLHR5cGVvZiB0PT0ibnVtYmVyIil7bGV0IGk9TWF0aC5yb3VuZCh0KTt0PWk8MT92b2lkIDA6aT44P3tpbmRlbnQ6OH06e2luZGVudDppfX1pZihhPT09dm9pZCAwKXtsZXR7a2VlcFVuZGVmaW5lZDppfT10Pz9lPz97fTtpZighaSlyZXR1cm59cmV0dXJuIHpvKGEpJiYhcj9hLnRvU3RyaW5nKHQpOm5ldyB6bihhLHIsdCkudG9TdHJpbmcodCl9dmFyIFAzdD1mKCgpPT57RTBlKCk7RGcoKTtBZygpO0djZSgpO0xhKCk7cTBlKCk7VjBlKCk7cyhFM3QsInBhcnNlT3B0aW9ucyIpO3ModVEsInBhcnNlQWxsRG9jdW1lbnRzIik7cyhCZywicGFyc2VEb2N1bWVudCIpO3MocFEsInBhcnNlIik7cyhmUSwic3RyaW5naWZ5Iil9KTt2YXIgajBlPXt9O3J0KGowZSx7QWxpYXM6KCk9PnduLENTVDooKT0+RmcsQ29tcG9zZXI6KCk9PkhsLERvY3VtZW50OigpPT56bixMZXhlcjooKT0+UjAsTGluZUNvdW50ZXI6KCk9Pk8wLFBhaXI6KCk9PnByLFBhcnNlcjooKT0+VmwsU2NhbGFyOigpPT5odCxTY2hlbWE6KCk9PlAwLFlBTUxFcnJvcjooKT0+STAsWUFNTE1hcDooKT0+eXIsWUFNTFBhcnNlRXJyb3I6KCk9PlZpLFlBTUxTZXE6KCk9PkxzLFlBTUxXYXJuaW5nOigpPT5OMCxpc0FsaWFzOigpPT5Tbyxpc0NvbGxlY3Rpb246KCk9PlRhLGlzRG9jdW1lbnQ6KCk9PnpvLGlzTWFwOigpPT5Dbyxpc05vZGU6KCk9PmRhLGlzUGFpcjooKT0+cmEsaXNTY2FsYXI6KCk9PlZ0LGlzU2VxOigpPT5fbyxwYXJzZTooKT0+cFEscGFyc2VBbGxEb2N1bWVudHM6KCk9PnVRLHBhcnNlRG9jdW1lbnQ6KCk9PkJnLHN0cmluZ2lmeTooKT0+ZlEsdmlzaXQ6KCk9PlVvLHZpc2l0QXN5bmM6KCk9PlIzfSk7dmFyIFUwZT1mKCgpPT57RTBlKCk7RGcoKTt2MGUoKTtBZygpO2xnKCk7TGEoKTskMCgpO2RzKCk7RDAoKTtBMCgpO2xRKCk7SDBlKCk7cTBlKCk7VjBlKCk7UDN0KCk7b2coKX0pO3ZhciBVMz17fTtydChVMyx7QWxpYXM6KCk9PnduLENTVDooKT0+RmcsQ29tcG9zZXI6KCk9PkhsLERvY3VtZW50OigpPT56bixMZXhlcjooKT0+UjAsTGluZUNvdW50ZXI6KCk9Pk8wLFBhaXI6KCk9PnByLFBhcnNlcjooKT0+VmwsU2NhbGFyOigpPT5odCxTY2hlbWE6KCk9PlAwLFlBTUxFcnJvcjooKT0+STAsWUFNTE1hcDooKT0+eXIsWUFNTFBhcnNlRXJyb3I6KCk9PlZpLFlBTUxTZXE6KCk9PkxzLFlBTUxXYXJuaW5nOigpPT5OMCxkZWZhdWx0OigpPT5zeWEsaXNBbGlhczooKT0+U28saXNDb2xsZWN0aW9uOigpPT5UYSxpc0RvY3VtZW50OigpPT56byxpc01hcDooKT0+Q28saXNOb2RlOigpPT5kYSxpc1BhaXI6KCk9PnJhLGlzU2NhbGFyOigpPT5WdCxpc1NlcTooKT0+X28scGFyc2U6KCk9PnBRLHBhcnNlQWxsRG9jdW1lbnRzOigpPT51USxwYXJzZURvY3VtZW50OigpPT5CZyxzdHJpbmdpZnk6KCk9PmZRLHZpc2l0OigpPT5Vbyx2aXNpdEFzeW5jOigpPT5SM30pO3ZhciBzeWEsSTN0PWYoKCk9PntVMGUoKTtVMGUoKTtzeWE9ajBlfSk7dmFyIE4zdD1mKCgpPT57STN0KCl9KTt2YXIgSGc9e307cnQoSGcse2dldFlhbWxEb2NGcm9tU3RyaW5nOigpPT5seWEsb2JqZWN0VG9ZYW1sU3RyaW5nOigpPT5ueWEseWFtbFN0cmluZ1RvT2JqZWN0OigpPT5veWF9KTt2YXIgb3lhLG55YSxseWEsUjN0PWYoKCk9PntOM3QoKTtveWE9cyhhc3luYyBhPT5VMy5wYXJzZShhKSwieWFtbFN0cmluZ1RvT2JqZWN0IiksbnlhPXMoYXN5bmMgYT0+VTMuc3RyaW5naWZ5KGEpLCJvYmplY3RUb1lhbWxTdHJpbmciKSxseWE9cyhhc3luYyBhPT5VMy5wYXJzZURvY3VtZW50KGEpLCJnZXRZYW1sRG9jRnJvbVN0cmluZyIpfSk7ZnVuY3Rpb24gVzBlKGEpe2lmKGEpdGhyb3cgYX12YXIgTzN0PWYoKCk9PntzKFcwZSwiYmFpbCIpfSk7dmFyIEczdD12bygoTEZyLFczdCk9PnsidXNlIHN0cmljdCI7dmFyIGhRPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksRjN0PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsQjN0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxIM3Q9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixxM3Q9cyhmdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIEFycmF5LmlzQXJyYXk9PSJmdW5jdGlvbiI/QXJyYXkuaXNBcnJheShlKTpGM3QuY2FsbChlKT09PSJbb2JqZWN0IEFycmF5XSJ9LCJpc0FycmF5IiksVjN0PXMoZnVuY3Rpb24oZSl7aWYoIWV8fEYzdC5jYWxsKGUpIT09IltvYmplY3QgT2JqZWN0XSIpcmV0dXJuITE7dmFyIHQ9aFEuY2FsbChlLCJjb25zdHJ1Y3RvciIpLHI9ZS5jb25zdHJ1Y3RvciYmZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUmJmhRLmNhbGwoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsImlzUHJvdG90eXBlT2YiKTtpZihlLmNvbnN0cnVjdG9yJiYhdCYmIXIpcmV0dXJuITE7dmFyIGk7Zm9yKGkgaW4gZSk7cmV0dXJuIHR5cGVvZiBpPiJ1Inx8aFEuY2FsbChlLGkpfSwiaXNQbGFpbk9iamVjdCIpLGozdD1zKGZ1bmN0aW9uKGUsdCl7QjN0JiZ0Lm5hbWU9PT0iX19wcm90b19fIj9CM3QoZSx0Lm5hbWUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHZhbHVlOnQubmV3VmFsdWUsd3JpdGFibGU6ITB9KTplW3QubmFtZV09dC5uZXdWYWx1ZX0sInNldFByb3BlcnR5IiksVTN0PXMoZnVuY3Rpb24oZSx0KXtpZih0PT09Il9fcHJvdG9fXyIpaWYoaFEuY2FsbChlLHQpKXtpZihIM3QpcmV0dXJuIEgzdChlLHQpLnZhbHVlfWVsc2UgcmV0dXJuO3JldHVybiBlW3RdfSwiZ2V0UHJvcGVydHkiKTtXM3QuZXhwb3J0cz1zKGZ1bmN0aW9uIGEoKXt2YXIgZSx0LHIsaSxvLG4sbD1hcmd1bWVudHNbMF0sZD0xLGM9YXJndW1lbnRzLmxlbmd0aCxwPSExO2Zvcih0eXBlb2YgbD09ImJvb2xlYW4iJiYocD1sLGw9YXJndW1lbnRzWzFdfHx7fSxkPTIpLChsPT1udWxsfHx0eXBlb2YgbCE9Im9iamVjdCImJnR5cGVvZiBsIT0iZnVuY3Rpb24iKSYmKGw9e30pO2Q8YzsrK2QpaWYoZT1hcmd1bWVudHNbZF0sZSE9bnVsbClmb3IodCBpbiBlKXI9VTN0KGwsdCksaT1VM3QoZSx0KSxsIT09aSYmKHAmJmkmJihWM3QoaSl8fChvPXEzdChpKSkpPyhvPyhvPSExLG49ciYmcTN0KHIpP3I6W10pOm49ciYmVjN0KHIpP3I6e30sajN0KGwse25hbWU6dCxuZXdWYWx1ZTphKHAsbixpKX0pKTp0eXBlb2YgaTwidSImJmozdChsLHtuYW1lOnQsbmV3VmFsdWU6aX0pKTtyZXR1cm4gbH0sImV4dGVuZCIpfSk7dmFyIEIwPWYoKCk9Pnt9KTtmdW5jdGlvbiBxZyhhKXtpZih0eXBlb2YgYSE9Im9iamVjdCJ8fGE9PT1udWxsKXJldHVybiExO2xldCBlPU9iamVjdC5nZXRQcm90b3R5cGVPZihhKTtyZXR1cm4oZT09PW51bGx8fGU9PT1PYmplY3QucHJvdG90eXBlfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk9PT1udWxsKSYmIShTeW1ib2wudG9TdHJpbmdUYWcgaW4gYSkmJiEoU3ltYm9sLml0ZXJhdG9yIGluIGEpfXZhciBZM3Q9ZigoKT0+e3MocWcsImlzUGxhaW5PYmplY3QiKX0pO2Z1bmN0aW9uIEcwZSgpe2xldCBhPVtdLGU9e3J1bjp0LHVzZTpyfTtyZXR1cm4gZTtmdW5jdGlvbiB0KC4uLmkpe2xldCBvPS0xLG49aS5wb3AoKTtpZih0eXBlb2YgbiE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBmdW5jdGlvbiBhcyBsYXN0IGFyZ3VtZW50LCBub3QgIituKTtsKG51bGwsLi4uaSk7ZnVuY3Rpb24gbChkLC4uLmMpe2xldCBwPWFbKytvXSx1PS0xO2lmKGQpe24oZCk7cmV0dXJufWZvcig7Kyt1PGkubGVuZ3RoOykoY1t1XT09PW51bGx8fGNbdV09PT12b2lkIDApJiYoY1t1XT1pW3VdKTtpPWMscD9LM3QocCxsKSguLi5jKTpuKG51bGwsLi4uYyl9cyhsLCJuZXh0Iil9ZnVuY3Rpb24gcihpKXtpZih0eXBlb2YgaSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBgbWlkZGVsd2FyZWAgdG8gYmUgYSBmdW5jdGlvbiwgbm90ICIraSk7cmV0dXJuIGEucHVzaChpKSxlfX1mdW5jdGlvbiBLM3QoYSxlKXtsZXQgdDtyZXR1cm4gcjtmdW5jdGlvbiByKC4uLm4pe2xldCBsPWEubGVuZ3RoPm4ubGVuZ3RoLGQ7bCYmbi5wdXNoKGkpO3RyeXtkPWEuYXBwbHkodGhpcyxuKX1jYXRjaChjKXtsZXQgcD1jO2lmKGwmJnQpdGhyb3cgcDtyZXR1cm4gaShwKX1sfHwoZCYmZC50aGVuJiZ0eXBlb2YgZC50aGVuPT0iZnVuY3Rpb24iP2QudGhlbihvLGkpOmQgaW5zdGFuY2VvZiBFcnJvcj9pKGQpOm8oZCkpfWZ1bmN0aW9uIGkobiwuLi5sKXt0fHwodD0hMCxlKG4sLi4ubCkpfWZ1bmN0aW9uIG8obil7aShudWxsLG4pfX12YXIgWjN0PWYoKCk9PntzKEcwZSwidHJvdWdoIik7cyhLM3QsIndyYXAiKX0pO3ZhciBYM3Q9ZigoKT0+e1ozdCgpfSk7ZnVuY3Rpb24gSDAoYSl7cmV0dXJuIWF8fHR5cGVvZiBhIT0ib2JqZWN0Ij8iIjoicG9zaXRpb24iaW4gYXx8InR5cGUiaW4gYT9RM3QoYS5wb3NpdGlvbik6InN0YXJ0ImluIGF8fCJlbmQiaW4gYT9RM3QoYSk6ImxpbmUiaW4gYXx8ImNvbHVtbiJpbiBhP1kwZShhKToiIn1mdW5jdGlvbiBZMGUoYSl7cmV0dXJuIEozdChhJiZhLmxpbmUpKyI6IitKM3QoYSYmYS5jb2x1bW4pfWZ1bmN0aW9uIFEzdChhKXtyZXR1cm4gWTBlKGEmJmEuc3RhcnQpKyItIitZMGUoYSYmYS5lbmQpfWZ1bmN0aW9uIEozdChhKXtyZXR1cm4gYSYmdHlwZW9mIGE9PSJudW1iZXIiP2E6MX12YXIgZWR0PWYoKCk9PntzKEgwLCJzdHJpbmdpZnlQb3NpdGlvbiIpO3MoWTBlLCJwb2ludCIpO3MoUTN0LCJwb3NpdGlvbiIpO3MoSjN0LCJpbmRleCIpfSk7dmFyIEswZT1mKCgpPT57ZWR0KCl9KTt2YXIgSHMsdGR0PWYoKCk9PntLMGUoKTtIcz1jbGFzcyBleHRlbmRzIEVycm9ye3N0YXRpY3tzKHRoaXMsIlZGaWxlTWVzc2FnZSIpfWNvbnN0cnVjdG9yKGUsdCxyKXtzdXBlcigpLHR5cGVvZiB0PT0ic3RyaW5nIiYmKHI9dCx0PXZvaWQgMCk7bGV0IGk9IiIsbz17fSxuPSExO2lmKHQmJigibGluZSJpbiB0JiYiY29sdW1uImluIHQ/bz17cGxhY2U6dH06InN0YXJ0ImluIHQmJiJlbmQiaW4gdD9vPXtwbGFjZTp0fToidHlwZSJpbiB0P289e2FuY2VzdG9yczpbdF0scGxhY2U6dC5wb3NpdGlvbn06bz17Li4udH0pLHR5cGVvZiBlPT0ic3RyaW5nIj9pPWU6IW8uY2F1c2UmJmUmJihuPSEwLGk9ZS5tZXNzYWdlLG8uY2F1c2U9ZSksIW8ucnVsZUlkJiYhby5zb3VyY2UmJnR5cGVvZiByPT0ic3RyaW5nIil7bGV0IGQ9ci5pbmRleE9mKCI6Iik7ZD09PS0xP28ucnVsZUlkPXI6KG8uc291cmNlPXIuc2xpY2UoMCxkKSxvLnJ1bGVJZD1yLnNsaWNlKGQrMSkpfWlmKCFvLnBsYWNlJiZvLmFuY2VzdG9ycyYmby5hbmNlc3RvcnMpe2xldCBkPW8uYW5jZXN0b3JzW28uYW5jZXN0b3JzLmxlbmd0aC0xXTtkJiYoby5wbGFjZT1kLnBvc2l0aW9uKX1sZXQgbD1vLnBsYWNlJiYic3RhcnQiaW4gby5wbGFjZT9vLnBsYWNlLnN0YXJ0Om8ucGxhY2U7dGhpcy5hbmNlc3RvcnM9by5hbmNlc3RvcnN8fHZvaWQgMCx0aGlzLmNhdXNlPW8uY2F1c2V8fHZvaWQgMCx0aGlzLmNvbHVtbj1sP2wuY29sdW1uOnZvaWQgMCx0aGlzLmZhdGFsPXZvaWQgMCx0aGlzLmZpbGU9IiIsdGhpcy5tZXNzYWdlPWksdGhpcy5saW5lPWw/bC5saW5lOnZvaWQgMCx0aGlzLm5hbWU9SDAoby5wbGFjZSl8fCIxOjEiLHRoaXMucGxhY2U9by5wbGFjZXx8dm9pZCAwLHRoaXMucmVhc29uPXRoaXMubWVzc2FnZSx0aGlzLnJ1bGVJZD1vLnJ1bGVJZHx8dm9pZCAwLHRoaXMuc291cmNlPW8uc291cmNlfHx2b2lkIDAsdGhpcy5zdGFjaz1uJiZvLmNhdXNlJiZ0eXBlb2Ygby5jYXVzZS5zdGFjaz09InN0cmluZyI/by5jYXVzZS5zdGFjazoiIix0aGlzLmFjdHVhbD12b2lkIDAsdGhpcy5leHBlY3RlZD12b2lkIDAsdGhpcy5ub3RlPXZvaWQgMCx0aGlzLnVybD12b2lkIDB9fTtIcy5wcm90b3R5cGUuZmlsZT0iIixIcy5wcm90b3R5cGUubmFtZT0iIixIcy5wcm90b3R5cGUucmVhc29uPSIiLEhzLnByb3RvdHlwZS5tZXNzYWdlPSIiLEhzLnByb3RvdHlwZS5zdGFjaz0iIixIcy5wcm90b3R5cGUuY29sdW1uPXZvaWQgMCxIcy5wcm90b3R5cGUubGluZT12b2lkIDAsSHMucHJvdG90eXBlLmFuY2VzdG9ycz12b2lkIDAsSHMucHJvdG90eXBlLmNhdXNlPXZvaWQgMCxIcy5wcm90b3R5cGUuZmF0YWw9dm9pZCAwLEhzLnByb3RvdHlwZS5wbGFjZT12b2lkIDAsSHMucHJvdG90eXBlLnJ1bGVJZD12b2lkIDAsSHMucHJvdG90eXBlLnNvdXJjZT12b2lkIDB9KTt2YXIgYWR0PWYoKCk9Pnt0ZHQoKX0pO2Z1bmN0aW9uIGN5YShhLGUpe2lmKGUhPT12b2lkIDAmJnR5cGVvZiBlIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCciZXh0IiBhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nJyk7VmcoYSk7bGV0IHQ9MCxyPS0xLGk9YS5sZW5ndGgsbztpZihlPT09dm9pZCAwfHxlLmxlbmd0aD09PTB8fGUubGVuZ3RoPmEubGVuZ3RoKXtmb3IoO2ktLTspaWYoYS5jb2RlUG9pbnRBdChpKT09PTQ3KXtpZihvKXt0PWkrMTticmVha319ZWxzZSByPDAmJihvPSEwLHI9aSsxKTtyZXR1cm4gcjwwPyIiOmEuc2xpY2UodCxyKX1pZihlPT09YSlyZXR1cm4iIjtsZXQgbj0tMSxsPWUubGVuZ3RoLTE7Zm9yKDtpLS07KWlmKGEuY29kZVBvaW50QXQoaSk9PT00Nyl7aWYobyl7dD1pKzE7YnJlYWt9fWVsc2UgbjwwJiYobz0hMCxuPWkrMSksbD4tMSYmKGEuY29kZVBvaW50QXQoaSk9PT1lLmNvZGVQb2ludEF0KGwtLSk/bDwwJiYocj1pKToobD0tMSxyPW4pKTtyZXR1cm4gdD09PXI/cj1uOnI8MCYmKHI9YS5sZW5ndGgpLGEuc2xpY2UodCxyKX1mdW5jdGlvbiBkeWEoYSl7aWYoVmcoYSksYS5sZW5ndGg9PT0wKXJldHVybiIuIjtsZXQgZT0tMSx0PWEubGVuZ3RoLHI7Zm9yKDstLXQ7KWlmKGEuY29kZVBvaW50QXQodCk9PT00Nyl7aWYocil7ZT10O2JyZWFrfX1lbHNlIHJ8fChyPSEwKTtyZXR1cm4gZTwwP2EuY29kZVBvaW50QXQoMCk9PT00Nz8iLyI6Ii4iOmU9PT0xJiZhLmNvZGVQb2ludEF0KDApPT09NDc/Ii8vIjphLnNsaWNlKDAsZSl9ZnVuY3Rpb24gdXlhKGEpe1ZnKGEpO2xldCBlPWEubGVuZ3RoLHQ9LTEscj0wLGk9LTEsbz0wLG47Zm9yKDtlLS07KXtsZXQgbD1hLmNvZGVQb2ludEF0KGUpO2lmKGw9PT00Nyl7aWYobil7cj1lKzE7YnJlYWt9Y29udGludWV9dDwwJiYobj0hMCx0PWUrMSksbD09PTQ2P2k8MD9pPWU6byE9PTEmJihvPTEpOmk+LTEmJihvPS0xKX1yZXR1cm4gaTwwfHx0PDB8fG89PT0wfHxvPT09MSYmaT09PXQtMSYmaT09PXIrMT8iIjphLnNsaWNlKGksdCl9ZnVuY3Rpb24gcHlhKC4uLmEpe2xldCBlPS0xLHQ7Zm9yKDsrK2U8YS5sZW5ndGg7KVZnKGFbZV0pLGFbZV0mJih0PXQ9PT12b2lkIDA/YVtlXTp0KyIvIithW2VdKTtyZXR1cm4gdD09PXZvaWQgMD8iLiI6ZnlhKHQpfWZ1bmN0aW9uIGZ5YShhKXtWZyhhKTtsZXQgZT1hLmNvZGVQb2ludEF0KDApPT09NDcsdD1oeWEoYSwhZSk7cmV0dXJuIHQubGVuZ3RoPT09MCYmIWUmJih0PSIuIiksdC5sZW5ndGg+MCYmYS5jb2RlUG9pbnRBdChhLmxlbmd0aC0xKT09PTQ3JiYodCs9Ii8iKSxlPyIvIit0OnR9ZnVuY3Rpb24gaHlhKGEsZSl7bGV0IHQ9IiIscj0wLGk9LTEsbz0wLG49LTEsbCxkO2Zvcig7KytuPD1hLmxlbmd0aDspe2lmKG48YS5sZW5ndGgpbD1hLmNvZGVQb2ludEF0KG4pO2Vsc2V7aWYobD09PTQ3KWJyZWFrO2w9NDd9aWYobD09PTQ3KXtpZighKGk9PT1uLTF8fG89PT0xKSlpZihpIT09bi0xJiZvPT09Mil7aWYodC5sZW5ndGg8Mnx8ciE9PTJ8fHQuY29kZVBvaW50QXQodC5sZW5ndGgtMSkhPT00Nnx8dC5jb2RlUG9pbnRBdCh0Lmxlbmd0aC0yKSE9PTQ2KXtpZih0Lmxlbmd0aD4yKXtpZihkPXQubGFzdEluZGV4T2YoIi8iKSxkIT09dC5sZW5ndGgtMSl7ZDwwPyh0PSIiLHI9MCk6KHQ9dC5zbGljZSgwLGQpLHI9dC5sZW5ndGgtMS10Lmxhc3RJbmRleE9mKCIvIikpLGk9bixvPTA7Y29udGludWV9fWVsc2UgaWYodC5sZW5ndGg+MCl7dD0iIixyPTAsaT1uLG89MDtjb250aW51ZX19ZSYmKHQ9dC5sZW5ndGg+MD90KyIvLi4iOiIuLiIscj0yKX1lbHNlIHQubGVuZ3RoPjA/dCs9Ii8iK2Euc2xpY2UoaSsxLG4pOnQ9YS5zbGljZShpKzEsbikscj1uLWktMTtpPW4sbz0wfWVsc2UgbD09PTQ2JiZvPi0xP28rKzpvPS0xfXJldHVybiB0fWZ1bmN0aW9uIFZnKGEpe2lmKHR5cGVvZiBhIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCJQYXRoIG11c3QgYmUgYSBzdHJpbmcuIFJlY2VpdmVkICIrSlNPTi5zdHJpbmdpZnkoYSkpfXZhciB2MSxyZHQ9ZigoKT0+e3YxPXtiYXNlbmFtZTpjeWEsZGlybmFtZTpkeWEsZXh0bmFtZTp1eWEsam9pbjpweWEsc2VwOiIvIn07cyhjeWEsImJhc2VuYW1lIik7cyhkeWEsImRpcm5hbWUiKTtzKHV5YSwiZXh0bmFtZSIpO3MocHlhLCJqb2luIik7cyhmeWEsIm5vcm1hbGl6ZSIpO3MoaHlhLCJub3JtYWxpemVTdHJpbmciKTtzKFZnLCJhc3NlcnRQYXRoIil9KTtmdW5jdGlvbiBteWEoKXtyZXR1cm4iLyJ9dmFyIHNkdCxpZHQ9ZigoKT0+e3NkdD17Y3dkOm15YX07cyhteWEsImN3ZCIpfSk7ZnVuY3Rpb24geTgoYSl7cmV0dXJuISEoYSE9PW51bGwmJnR5cGVvZiBhPT0ib2JqZWN0IiYmImhyZWYiaW4gYSYmYS5ocmVmJiYicHJvdG9jb2wiaW4gYSYmYS5wcm90b2NvbCYmYS5hdXRoPT09dm9pZCAwKX12YXIgWjBlPWYoKCk9PntzKHk4LCJpc1VybCIpfSk7ZnVuY3Rpb24gb2R0KGEpe2lmKHR5cGVvZiBhPT0ic3RyaW5nIilhPW5ldyBVUkwoYSk7ZWxzZSBpZigheTgoYSkpe2xldCBlPW5ldyBUeXBlRXJyb3IoJ1RoZSAicGF0aCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIHN0cmluZyBvciBhbiBpbnN0YW5jZSBvZiBVUkwuIFJlY2VpdmVkIGAnK2ErImAiKTt0aHJvdyBlLmNvZGU9IkVSUl9JTlZBTElEX0FSR19UWVBFIixlfWlmKGEucHJvdG9jb2whPT0iZmlsZToiKXtsZXQgZT1uZXcgVHlwZUVycm9yKCJUaGUgVVJMIG11c3QgYmUgb2Ygc2NoZW1lIGZpbGUiKTt0aHJvdyBlLmNvZGU9IkVSUl9JTlZBTElEX1VSTF9TQ0hFTUUiLGV9cmV0dXJuIGd5YShhKX1mdW5jdGlvbiBneWEoYSl7aWYoYS5ob3N0bmFtZSE9PSIiKXtsZXQgcj1uZXcgVHlwZUVycm9yKCdGaWxlIFVSTCBob3N0IG11c3QgYmUgImxvY2FsaG9zdCIgb3IgZW1wdHkgb24gZGFyd2luJyk7dGhyb3cgci5jb2RlPSJFUlJfSU5WQUxJRF9GSUxFX1VSTF9IT1NUIixyfWxldCBlPWEucGF0aG5hbWUsdD0tMTtmb3IoOysrdDxlLmxlbmd0aDspaWYoZS5jb2RlUG9pbnRBdCh0KT09PTM3JiZlLmNvZGVQb2ludEF0KHQrMSk9PT01MCl7bGV0IHI9ZS5jb2RlUG9pbnRBdCh0KzIpO2lmKHI9PT03MHx8cj09PTEwMil7bGV0IGk9bmV3IFR5cGVFcnJvcigiRmlsZSBVUkwgcGF0aCBtdXN0IG5vdCBpbmNsdWRlIGVuY29kZWQgLyBjaGFyYWN0ZXJzIik7dGhyb3cgaS5jb2RlPSJFUlJfSU5WQUxJRF9GSUxFX1VSTF9QQVRIIixpfX1yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGUpfXZhciBuZHQ9ZigoKT0+e1owZSgpO1owZSgpO3Mob2R0LCJ1cmxUb1BhdGgiKTtzKGd5YSwiZ2V0UGF0aEZyb21VUkxQb3NpeCIpfSk7ZnVuY3Rpb24gUTBlKGEsZSl7aWYoYSYmYS5pbmNsdWRlcyh2MS5zZXApKXRocm93IG5ldyBFcnJvcigiYCIrZSsiYCBjYW5ub3QgYmUgYSBwYXRoOiBkaWQgbm90IGV4cGVjdCBgIit2MS5zZXArImAiKX1mdW5jdGlvbiBKMGUoYSxlKXtpZighYSl0aHJvdyBuZXcgRXJyb3IoImAiK2UrImAgY2Fubm90IGJlIGVtcHR5Iil9ZnVuY3Rpb24gbGR0KGEsZSl7aWYoIWEpdGhyb3cgbmV3IEVycm9yKCJTZXR0aW5nIGAiK2UrImAgcmVxdWlyZXMgYHBhdGhgIHRvIGJlIHNldCB0b28iKX1mdW5jdGlvbiBieWEoYSl7cmV0dXJuISEoYSYmdHlwZW9mIGE9PSJvYmplY3QiJiYiYnl0ZUxlbmd0aCJpbiBhJiYiYnl0ZU9mZnNldCJpbiBhKX12YXIgWDBlLGpnLGNkdD1mKCgpPT57YWR0KCk7cmR0KCk7aWR0KCk7bmR0KCk7WDBlPVsiaGlzdG9yeSIsInBhdGgiLCJiYXNlbmFtZSIsInN0ZW0iLCJleHRuYW1lIiwiZGlybmFtZSJdLGpnPWNsYXNze3N0YXRpY3tzKHRoaXMsIlZGaWxlIil9Y29uc3RydWN0b3IoZSl7bGV0IHQ7ZT95OChlKT90PXtwYXRoOmV9OnR5cGVvZiBlPT0ic3RyaW5nInx8YnlhKGUpP3Q9e3ZhbHVlOmV9OnQ9ZTp0PXt9LHRoaXMuY3dkPSJjd2QiaW4gdD8iIjpzZHQuY3dkKCksdGhpcy5kYXRhPXt9LHRoaXMuaGlzdG9yeT1bXSx0aGlzLm1lc3NhZ2VzPVtdLHRoaXMudmFsdWUsdGhpcy5tYXAsdGhpcy5yZXN1bHQsdGhpcy5zdG9yZWQ7bGV0IHI9LTE7Zm9yKDsrK3I8WDBlLmxlbmd0aDspe2xldCBvPVgwZVtyXTtvIGluIHQmJnRbb10hPT12b2lkIDAmJnRbb10hPT1udWxsJiYodGhpc1tvXT1vPT09Imhpc3RvcnkiP1suLi50W29dXTp0W29dKX1sZXQgaTtmb3IoaSBpbiB0KVgwZS5pbmNsdWRlcyhpKXx8KHRoaXNbaV09dFtpXSl9Z2V0IGJhc2VuYW1lKCl7cmV0dXJuIHR5cGVvZiB0aGlzLnBhdGg9PSJzdHJpbmciP3YxLmJhc2VuYW1lKHRoaXMucGF0aCk6dm9pZCAwfXNldCBiYXNlbmFtZShlKXtKMGUoZSwiYmFzZW5hbWUiKSxRMGUoZSwiYmFzZW5hbWUiKSx0aGlzLnBhdGg9djEuam9pbih0aGlzLmRpcm5hbWV8fCIiLGUpfWdldCBkaXJuYW1lKCl7cmV0dXJuIHR5cGVvZiB0aGlzLnBhdGg9PSJzdHJpbmciP3YxLmRpcm5hbWUodGhpcy5wYXRoKTp2b2lkIDB9c2V0IGRpcm5hbWUoZSl7bGR0KHRoaXMuYmFzZW5hbWUsImRpcm5hbWUiKSx0aGlzLnBhdGg9djEuam9pbihlfHwiIix0aGlzLmJhc2VuYW1lKX1nZXQgZXh0bmFtZSgpe3JldHVybiB0eXBlb2YgdGhpcy5wYXRoPT0ic3RyaW5nIj92MS5leHRuYW1lKHRoaXMucGF0aCk6dm9pZCAwfXNldCBleHRuYW1lKGUpe2lmKFEwZShlLCJleHRuYW1lIiksbGR0KHRoaXMuZGlybmFtZSwiZXh0bmFtZSIpLGUpe2lmKGUuY29kZVBvaW50QXQoMCkhPT00Nil0aHJvdyBuZXcgRXJyb3IoImBleHRuYW1lYCBtdXN0IHN0YXJ0IHdpdGggYC5gIik7aWYoZS5pbmNsdWRlcygiLiIsMSkpdGhyb3cgbmV3IEVycm9yKCJgZXh0bmFtZWAgY2Fubm90IGNvbnRhaW4gbXVsdGlwbGUgZG90cyIpfXRoaXMucGF0aD12MS5qb2luKHRoaXMuZGlybmFtZSx0aGlzLnN0ZW0rKGV8fCIiKSl9Z2V0IHBhdGgoKXtyZXR1cm4gdGhpcy5oaXN0b3J5W3RoaXMuaGlzdG9yeS5sZW5ndGgtMV19c2V0IHBhdGgoZSl7eTgoZSkmJihlPW9kdChlKSksSjBlKGUsInBhdGgiKSx0aGlzLnBhdGghPT1lJiZ0aGlzLmhpc3RvcnkucHVzaChlKX1nZXQgc3RlbSgpe3JldHVybiB0eXBlb2YgdGhpcy5wYXRoPT0ic3RyaW5nIj92MS5iYXNlbmFtZSh0aGlzLnBhdGgsdGhpcy5leHRuYW1lKTp2b2lkIDB9c2V0IHN0ZW0oZSl7SjBlKGUsInN0ZW0iKSxRMGUoZSwic3RlbSIpLHRoaXMucGF0aD12MS5qb2luKHRoaXMuZGlybmFtZXx8IiIsZSsodGhpcy5leHRuYW1lfHwiIikpfWZhaWwoZSx0LHIpe2xldCBpPXRoaXMubWVzc2FnZShlLHQscik7dGhyb3cgaS5mYXRhbD0hMCxpfWluZm8oZSx0LHIpe2xldCBpPXRoaXMubWVzc2FnZShlLHQscik7cmV0dXJuIGkuZmF0YWw9dm9pZCAwLGl9bWVzc2FnZShlLHQscil7bGV0IGk9bmV3IEhzKGUsdCxyKTtyZXR1cm4gdGhpcy5wYXRoJiYoaS5uYW1lPXRoaXMucGF0aCsiOiIraS5uYW1lLGkuZmlsZT10aGlzLnBhdGgpLGkuZmF0YWw9ITEsdGhpcy5tZXNzYWdlcy5wdXNoKGkpLGl9dG9TdHJpbmcoZSl7cmV0dXJuIHRoaXMudmFsdWU9PT12b2lkIDA/IiI6dHlwZW9mIHRoaXMudmFsdWU9PSJzdHJpbmciP3RoaXMudmFsdWU6bmV3IFRleHREZWNvZGVyKGV8fHZvaWQgMCkuZGVjb2RlKHRoaXMudmFsdWUpfX07cyhRMGUsImFzc2VydFBhcnQiKTtzKEowZSwiYXNzZXJ0Tm9uRW1wdHkiKTtzKGxkdCwiYXNzZXJ0UGF0aCIpO3MoYnlhLCJpc1VpbnQ4QXJyYXkiKX0pO3ZhciBkZHQ9ZigoKT0+e2NkdCgpfSk7dmFyIHVkdCxwZHQ9ZigoKT0+e3VkdD1zKChmdW5jdGlvbihhKXtsZXQgcj10aGlzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSxpPXJbYV0sbz1zKGZ1bmN0aW9uKCl7cmV0dXJuIGkuYXBwbHkobyxhcmd1bWVudHMpfSwiYXBwbHkiKTtyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKG8sciksb30pLCJDYWxsYWJsZUluc3RhbmNlIil9KTtmdW5jdGlvbiB0NGUoYSxlKXtpZih0eXBlb2YgZSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYCIrYSsiYCB3aXRob3V0IGBwYXJzZXJgIil9ZnVuY3Rpb24gYTRlKGEsZSl7aWYodHlwZW9mIGUhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGAiK2ErImAgd2l0aG91dCBgY29tcGlsZXJgIil9ZnVuY3Rpb24gcjRlKGEsZSl7aWYoZSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBjYWxsIGAiK2ErImAgb24gYSBmcm96ZW4gcHJvY2Vzc29yLlxuQ3JlYXRlIGEgbmV3IHByb2Nlc3NvciBmaXJzdCwgYnkgY2FsbGluZyBpdDogdXNlIGBwcm9jZXNzb3IoKWAgaW5zdGVhZCBvZiBgcHJvY2Vzc29yYC4iKX1mdW5jdGlvbiBmZHQoYSl7aWYoIXFnKGEpfHx0eXBlb2YgYS50eXBlIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBub2RlLCBnb3QgYCIrYSsiYCIpfWZ1bmN0aW9uIGhkdChhLGUsdCl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCJgIithKyJgIGZpbmlzaGVkIGFzeW5jLiBVc2UgYCIrZSsiYCBpbnN0ZWFkIil9ZnVuY3Rpb24gbVEoYSl7cmV0dXJuIHh5YShhKT9hOm5ldyBqZyhhKX1mdW5jdGlvbiB4eWEoYSl7cmV0dXJuISEoYSYmdHlwZW9mIGE9PSJvYmplY3QiJiYibWVzc2FnZSJpbiBhJiYibWVzc2FnZXMiaW4gYSl9ZnVuY3Rpb24geXlhKGEpe3JldHVybiB0eXBlb2YgYT09InN0cmluZyJ8fHd5YShhKX1mdW5jdGlvbiB3eWEoYSl7cmV0dXJuISEoYSYmdHlwZW9mIGE9PSJvYmplY3QiJiYiYnl0ZUxlbmd0aCJpbiBhJiYiYnl0ZU9mZnNldCJpbiBhKX12YXIgZ1EsdnlhLGU0ZSxVZyxtZHQ9ZigoKT0+e08zdCgpO2dRPUJpKEczdCgpLDEpO0IwKCk7WTN0KCk7WDN0KCk7ZGR0KCk7cGR0KCk7dnlhPXt9Lmhhc093blByb3BlcnR5LGU0ZT1jbGFzcyBhIGV4dGVuZHMgdWR0e3N0YXRpY3tzKHRoaXMsIlByb2Nlc3NvciIpfWNvbnN0cnVjdG9yKCl7c3VwZXIoImNvcHkiKSx0aGlzLkNvbXBpbGVyPXZvaWQgMCx0aGlzLlBhcnNlcj12b2lkIDAsdGhpcy5hdHRhY2hlcnM9W10sdGhpcy5jb21waWxlcj12b2lkIDAsdGhpcy5mcmVlemVJbmRleD0tMSx0aGlzLmZyb3plbj12b2lkIDAsdGhpcy5uYW1lc3BhY2U9e30sdGhpcy5wYXJzZXI9dm9pZCAwLHRoaXMudHJhbnNmb3JtZXJzPUcwZSgpfWNvcHkoKXtsZXQgZT1uZXcgYSx0PS0xO2Zvcig7Kyt0PHRoaXMuYXR0YWNoZXJzLmxlbmd0aDspe2xldCByPXRoaXMuYXR0YWNoZXJzW3RdO2UudXNlKC4uLnIpfXJldHVybiBlLmRhdGEoKDAsZ1EuZGVmYXVsdCkoITAse30sdGhpcy5uYW1lc3BhY2UpKSxlfWRhdGEoZSx0KXtyZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmciP2FyZ3VtZW50cy5sZW5ndGg9PT0yPyhyNGUoImRhdGEiLHRoaXMuZnJvemVuKSx0aGlzLm5hbWVzcGFjZVtlXT10LHRoaXMpOnZ5YS5jYWxsKHRoaXMubmFtZXNwYWNlLGUpJiZ0aGlzLm5hbWVzcGFjZVtlXXx8dm9pZCAwOmU/KHI0ZSgiZGF0YSIsdGhpcy5mcm96ZW4pLHRoaXMubmFtZXNwYWNlPWUsdGhpcyk6dGhpcy5uYW1lc3BhY2V9ZnJlZXplKCl7aWYodGhpcy5mcm96ZW4pcmV0dXJuIHRoaXM7bGV0IGU9dGhpcztmb3IoOysrdGhpcy5mcmVlemVJbmRleDx0aGlzLmF0dGFjaGVycy5sZW5ndGg7KXtsZXRbdCwuLi5yXT10aGlzLmF0dGFjaGVyc1t0aGlzLmZyZWV6ZUluZGV4XTtpZihyWzBdPT09ITEpY29udGludWU7clswXT09PSEwJiYoclswXT12b2lkIDApO2xldCBpPXQuY2FsbChlLC4uLnIpO3R5cGVvZiBpPT0iZnVuY3Rpb24iJiZ0aGlzLnRyYW5zZm9ybWVycy51c2UoaSl9cmV0dXJuIHRoaXMuZnJvemVuPSEwLHRoaXMuZnJlZXplSW5kZXg9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHRoaXN9cGFyc2UoZSl7dGhpcy5mcmVlemUoKTtsZXQgdD1tUShlKSxyPXRoaXMucGFyc2VyfHx0aGlzLlBhcnNlcjtyZXR1cm4gdDRlKCJwYXJzZSIscikscihTdHJpbmcodCksdCl9cHJvY2VzcyhlLHQpe2xldCByPXRoaXM7cmV0dXJuIHRoaXMuZnJlZXplKCksdDRlKCJwcm9jZXNzIix0aGlzLnBhcnNlcnx8dGhpcy5QYXJzZXIpLGE0ZSgicHJvY2VzcyIsdGhpcy5jb21waWxlcnx8dGhpcy5Db21waWxlciksdD9pKHZvaWQgMCx0KTpuZXcgUHJvbWlzZShpKTtmdW5jdGlvbiBpKG8sbil7bGV0IGw9bVEoZSksZD1yLnBhcnNlKGwpO3IucnVuKGQsbCxmdW5jdGlvbihwLHUsbSl7aWYocHx8IXV8fCFtKXJldHVybiBjKHApO2xldCB2PXUseD1yLnN0cmluZ2lmeSh2LG0pO3l5YSh4KT9tLnZhbHVlPXg6bS5yZXN1bHQ9eCxjKHAsbSl9KTtmdW5jdGlvbiBjKHAsdSl7cHx8IXU/bihwKTpvP28odSk6dCh2b2lkIDAsdSl9cyhjLCJyZWFsRG9uZSIpfXMoaSwiZXhlY3V0b3IiKX1wcm9jZXNzU3luYyhlKXtsZXQgdD0hMSxyO3JldHVybiB0aGlzLmZyZWV6ZSgpLHQ0ZSgicHJvY2Vzc1N5bmMiLHRoaXMucGFyc2VyfHx0aGlzLlBhcnNlciksYTRlKCJwcm9jZXNzU3luYyIsdGhpcy5jb21waWxlcnx8dGhpcy5Db21waWxlciksdGhpcy5wcm9jZXNzKGUsaSksaGR0KCJwcm9jZXNzU3luYyIsInByb2Nlc3MiLHQpLHI7ZnVuY3Rpb24gaShvLG4pe3Q9ITAsVzBlKG8pLHI9bn1zKGksInJlYWxEb25lIil9cnVuKGUsdCxyKXtmZHQoZSksdGhpcy5mcmVlemUoKTtsZXQgaT10aGlzLnRyYW5zZm9ybWVycztyZXR1cm4hciYmdHlwZW9mIHQ9PSJmdW5jdGlvbiImJihyPXQsdD12b2lkIDApLHI/byh2b2lkIDAscik6bmV3IFByb21pc2Uobyk7ZnVuY3Rpb24gbyhuLGwpe2xldCBkPW1RKHQpO2kucnVuKGUsZCxjKTtmdW5jdGlvbiBjKHAsdSxtKXtsZXQgdj11fHxlO3A/bChwKTpuP24odik6cih2b2lkIDAsdixtKX1zKGMsInJlYWxEb25lIil9cyhvLCJleGVjdXRvciIpfXJ1blN5bmMoZSx0KXtsZXQgcj0hMSxpO3JldHVybiB0aGlzLnJ1bihlLHQsbyksaGR0KCJydW5TeW5jIiwicnVuIixyKSxpO2Z1bmN0aW9uIG8obixsKXtXMGUobiksaT1sLHI9ITB9cyhvLCJyZWFsRG9uZSIpfXN0cmluZ2lmeShlLHQpe3RoaXMuZnJlZXplKCk7bGV0IHI9bVEodCksaT10aGlzLmNvbXBpbGVyfHx0aGlzLkNvbXBpbGVyO3JldHVybiBhNGUoInN0cmluZ2lmeSIsaSksZmR0KGUpLGkoZSxyKX11c2UoZSwuLi50KXtsZXQgcj10aGlzLmF0dGFjaGVycyxpPXRoaXMubmFtZXNwYWNlO2lmKHI0ZSgidXNlIix0aGlzLmZyb3plbiksZSE9bnVsbClpZih0eXBlb2YgZT09ImZ1bmN0aW9uIilkKGUsdCk7ZWxzZSBpZih0eXBlb2YgZT09Im9iamVjdCIpQXJyYXkuaXNBcnJheShlKT9sKGUpOm4oZSk7ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCB1c2FibGUgdmFsdWUsIG5vdCBgIitlKyJgIik7cmV0dXJuIHRoaXM7ZnVuY3Rpb24gbyhjKXtpZih0eXBlb2YgYz09ImZ1bmN0aW9uIilkKGMsW10pO2Vsc2UgaWYodHlwZW9mIGM9PSJvYmplY3QiKWlmKEFycmF5LmlzQXJyYXkoYykpe2xldFtwLC4uLnVdPWM7ZChwLHUpfWVsc2UgbihjKTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIHVzYWJsZSB2YWx1ZSwgbm90IGAiK2MrImAiKX1mdW5jdGlvbiBuKGMpe2lmKCEoInBsdWdpbnMiaW4gYykmJiEoInNldHRpbmdzImluIGMpKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgdXNhYmxlIHZhbHVlIGJ1dCByZWNlaXZlZCBhbiBlbXB0eSBwcmVzZXQsIHdoaWNoIGlzIHByb2JhYmx5IGEgbWlzdGFrZTogcHJlc2V0cyB0eXBpY2FsbHkgY29tZSB3aXRoIGBwbHVnaW5zYCBhbmQgc29tZXRpbWVzIHdpdGggYHNldHRpbmdzYCwgYnV0IHRoaXMgaGFzIG5laXRoZXIiKTtsKGMucGx1Z2lucyksYy5zZXR0aW5ncyYmKGkuc2V0dGluZ3M9KDAsZ1EuZGVmYXVsdCkoITAsaS5zZXR0aW5ncyxjLnNldHRpbmdzKSl9ZnVuY3Rpb24gbChjKXtsZXQgcD0tMTtpZihjIT1udWxsKWlmKEFycmF5LmlzQXJyYXkoYykpZm9yKDsrK3A8Yy5sZW5ndGg7KXtsZXQgdT1jW3BdO28odSl9ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGxpc3Qgb2YgcGx1Z2lucywgbm90IGAiK2MrImAiKX1mdW5jdGlvbiBkKGMscCl7bGV0IHU9LTEsbT0tMTtmb3IoOysrdTxyLmxlbmd0aDspaWYoclt1XVswXT09PWMpe209dTticmVha31pZihtPT09LTEpci5wdXNoKFtjLC4uLnBdKTtlbHNlIGlmKHAubGVuZ3RoPjApe2xldFt2LC4uLnhdPXAsYj1yW21dWzFdO3FnKGIpJiZxZyh2KSYmKHY9KDAsZ1EuZGVmYXVsdCkoITAsYix2KSksclttXT1bYyx2LC4uLnhdfX19fSxVZz1uZXcgZTRlKCkuZnJlZXplKCk7cyh0NGUsImFzc2VydFBhcnNlciIpO3MoYTRlLCJhc3NlcnRDb21waWxlciIpO3MocjRlLCJhc3NlcnRVbmZyb3plbiIpO3MoZmR0LCJhc3NlcnROb2RlIik7cyhoZHQsImFzc2VydERvbmUiKTtzKG1RLCJ2ZmlsZSIpO3MoeHlhLCJsb29rc0xpa2VBVkZpbGUiKTtzKHl5YSwibG9va3NMaWtlQVZhbHVlIik7cyh3eWEsImlzVWludDhBcnJheSIpfSk7dmFyIGdkdD1mKCgpPT57bWR0KCl9KTtmdW5jdGlvbiBNOChhLGUpe2xldCB0PVN0cmluZyhhKTtpZih0eXBlb2YgZSE9InN0cmluZyIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgY2hhcmFjdGVyIik7bGV0IHI9MCxpPXQuaW5kZXhPZihlKTtmb3IoO2khPT0tMTspcisrLGk9dC5pbmRleE9mKGUsaStlLmxlbmd0aCk7cmV0dXJuIHJ9dmFyIHM0ZT1mKCgpPT57cyhNOCwiY2NvdW50Iil9KTtmdW5jdGlvbiBXMyhhKXtyZXR1cm4gYSE9PW51bGwmJihhPDMyfHxhPT09MTI3KX1mdW5jdGlvbiBKZShhKXtyZXR1cm4gYSE9PW51bGwmJmE8LTJ9ZnVuY3Rpb24gdWEoYSl7cmV0dXJuIGEhPT1udWxsJiYoYTwwfHxhPT09MzIpfWZ1bmN0aW9uIEN0KGEpe3JldHVybiBhPT09LTJ8fGE9PT0tMXx8YT09PTMyfWZ1bmN0aW9uIHEwKGEpe3JldHVybiBlO2Z1bmN0aW9uIGUodCl7cmV0dXJuIHQhPT1udWxsJiZ0Pi0xJiZhLnRlc3QoU3RyaW5nLmZyb21DaGFyQ29kZSh0KSl9fXZhciAkcyxOcixiZHQsV2csdmR0LHhkdCxHMyxQMixiYT1mKCgpPT57JHM9cTAoL1tBLVphLXpdLyksTnI9cTAoL1tcZEEtWmEtel0vKSxiZHQ9cTAoL1sjLScqK1wtLTk9P0EtWl4tfl0vKTtzKFczLCJhc2NpaUNvbnRyb2wiKTtXZz1xMCgvXGQvKSx2ZHQ9cTAoL1tcZEEtRmEtZl0vKSx4ZHQ9cTAoL1shLS86LUBbLWB7LX5dLyk7cyhKZSwibWFya2Rvd25MaW5lRW5kaW5nIik7cyh1YSwibWFya2Rvd25MaW5lRW5kaW5nT3JTcGFjZSIpO3MoQ3QsIm1hcmtkb3duU3BhY2UiKTtHMz1xMCgvXHB7UH18XHB7U30vdSksUDI9cTAoL1xzLyk7cyhxMCwicmVnZXhDaGVjayIpfSk7ZnVuY3Rpb24gTXlhKGEpe2xldCBlPVtdLHQ9LTE7Zm9yKDsrK3Q8YS5sZW5ndGg7KWVbdF09amwoYVt0XSk7cmV0dXJuIGJRKHIpO2Z1bmN0aW9uIHIoLi4uaSl7bGV0IG89LTE7Zm9yKDsrK288ZS5sZW5ndGg7KWlmKGVbb10uYXBwbHkodGhpcyxpKSlyZXR1cm4hMDtyZXR1cm4hMX19ZnVuY3Rpb24ga3lhKGEpe2xldCBlPWE7cmV0dXJuIGJRKHQpO2Z1bmN0aW9uIHQocil7bGV0IGk9cixvO2ZvcihvIGluIGEpaWYoaVtvXSE9PWVbb10pcmV0dXJuITE7cmV0dXJuITB9fWZ1bmN0aW9uIFN5YShhKXtyZXR1cm4gYlEoZSk7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdC50eXBlPT09YX19ZnVuY3Rpb24gYlEoYSl7cmV0dXJuIGU7ZnVuY3Rpb24gZSh0LHIsaSl7cmV0dXJuISEoeWR0KHQpJiZhLmNhbGwodGhpcyx0LHR5cGVvZiByPT0ibnVtYmVyIj9yOnZvaWQgMCxpfHx2b2lkIDApKX19ZnVuY3Rpb24genlhKCl7cmV0dXJuITB9ZnVuY3Rpb24geWR0KGEpe3JldHVybiBhIT09bnVsbCYmdHlwZW9mIGE9PSJvYmplY3QiJiYidHlwZSJpbiBhfXZhciB3ZHQsamwsTWR0PWYoKCk9Pnt3ZHQ9cygoZnVuY3Rpb24oYSxlLHQscixpKXtsZXQgbz1qbChlKTtpZih0IT1udWxsJiYodHlwZW9mIHQhPSJudW1iZXIifHx0PDB8fHQ9PT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgcG9zaXRpdmUgZmluaXRlIGluZGV4Iik7aWYociE9bnVsbCYmKCF3ZHQocil8fCFyLmNoaWxkcmVuKSl0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIHBhcmVudCBub2RlIik7aWYocj09bnVsbCE9KHQ9PW51bGwpKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgYm90aCBwYXJlbnQgYW5kIGluZGV4Iik7cmV0dXJuIHlkdChhKT9vLmNhbGwoaSxhLHQscik6ITF9KSwiaXMiKSxqbD1zKChmdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiB6eWE7aWYodHlwZW9mIGE9PSJmdW5jdGlvbiIpcmV0dXJuIGJRKGEpO2lmKHR5cGVvZiBhPT0ib2JqZWN0IilyZXR1cm4gQXJyYXkuaXNBcnJheShhKT9NeWEoYSk6a3lhKGEpO2lmKHR5cGVvZiBhPT0ic3RyaW5nIilyZXR1cm4gU3lhKGEpO3Rocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgZnVuY3Rpb24sIHN0cmluZywgb3Igb2JqZWN0IGFzIHRlc3QiKX0pLCJjb252ZXJ0Iik7cyhNeWEsImFueUZhY3RvcnkiKTtzKGt5YSwicHJvcGVydGllc0ZhY3RvcnkiKTtzKFN5YSwidHlwZUZhY3RvcnkiKTtzKGJRLCJjYXN0RmFjdG9yeSIpO3MoenlhLCJvayIpO3MoeWR0LCJsb29rc0xpa2VBTm9kZSIpfSk7dmFyIHZRPWYoKCk9PntNZHQoKX0pO3ZhciBrZHQ9ZigoKT0+e30pO2Z1bmN0aW9uIEdnKGEsZSx0LHIpe2xldCBpO3R5cGVvZiBlPT0iZnVuY3Rpb24iJiZ0eXBlb2YgdCE9ImZ1bmN0aW9uIj8ocj10LHQ9ZSk6aT1lO2xldCBvPWpsKGkpLG49cj8tMToxO2woYSx2b2lkIDAsW10pKCk7ZnVuY3Rpb24gbChkLGMscCl7bGV0IHU9ZCYmdHlwZW9mIGQ9PSJvYmplY3QiP2Q6e307aWYodHlwZW9mIHUudHlwZT09InN0cmluZyIpe2xldCB2PXR5cGVvZiB1LnRhZ05hbWU9PSJzdHJpbmciP3UudGFnTmFtZTp0eXBlb2YgdS5uYW1lPT0ic3RyaW5nIj91Lm5hbWU6dm9pZCAwO09iamVjdC5kZWZpbmVQcm9wZXJ0eShtLCJuYW1lIix7dmFsdWU6Im5vZGUgKCIrKGQudHlwZSsodj8iPCIrdisiPiI6IiIpKSsiKSJ9KX1yZXR1cm4gbTtmdW5jdGlvbiBtKCl7bGV0IHY9U2R0LHgsYixnO2lmKCghZXx8byhkLGMscFtwLmxlbmd0aC0xXXx8dm9pZCAwKSkmJih2PUN5YSh0KGQscCkpLHZbMF09PT1ZMykpcmV0dXJuIHY7aWYoImNoaWxkcmVuImluIGQmJmQuY2hpbGRyZW4pe2xldCB5PWQ7aWYoeS5jaGlsZHJlbiYmdlswXSE9PXlRKWZvcihiPShyP3kuY2hpbGRyZW4ubGVuZ3RoOi0xKStuLGc9cC5jb25jYXQoeSk7Yj4tMSYmYjx5LmNoaWxkcmVuLmxlbmd0aDspe2xldCBrPXkuY2hpbGRyZW5bYl07aWYoeD1sKGssYixnKSgpLHhbMF09PT1ZMylyZXR1cm4geDtiPXR5cGVvZiB4WzFdPT0ibnVtYmVyIj94WzFdOmIrbn19cmV0dXJuIHZ9fXMobCwiZmFjdG9yeSIpfWZ1bmN0aW9uIEN5YShhKXtyZXR1cm4gQXJyYXkuaXNBcnJheShhKT9hOnR5cGVvZiBhPT0ibnVtYmVyIj9beFEsYV06YT09bnVsbD9TZHQ6W2FdfXZhciBTZHQseFEsWTMseVEsemR0PWYoKCk9Pnt2USgpO2tkdCgpO1NkdD1bXSx4UT0hMCxZMz0hMSx5UT0ic2tpcCI7cyhHZywidmlzaXRQYXJlbnRzIik7cyhDeWEsInRvUmVzdWx0Iil9KTt2YXIgd1E9ZigoKT0+e3pkdCgpfSk7ZnVuY3Rpb24gaTRlKGEsZSx0KXtsZXQgaT1qbCgodHx8e30pLmlnbm9yZXx8W10pLG89X3lhKGUpLG49LTE7Zm9yKDsrK248by5sZW5ndGg7KUdnKGEsInRleHQiLGwpO2Z1bmN0aW9uIGwoYyxwKXtsZXQgdT0tMSxtO2Zvcig7Kyt1PHAubGVuZ3RoOyl7bGV0IHY9cFt1XSx4PW0/bS5jaGlsZHJlbjp2b2lkIDA7aWYoaSh2LHg/eC5pbmRleE9mKHYpOnZvaWQgMCxtKSlyZXR1cm47bT12fWlmKG0pcmV0dXJuIGQoYyxwKX1zKGwsInZpc2l0b3IiKTtmdW5jdGlvbiBkKGMscCl7bGV0IHU9cFtwLmxlbmd0aC0xXSxtPW9bbl1bMF0sdj1vW25dWzFdLHg9MCxnPXUuY2hpbGRyZW4uaW5kZXhPZihjKSx5PSExLGs9W107bS5sYXN0SW5kZXg9MDtsZXQgQz1tLmV4ZWMoYy52YWx1ZSk7Zm9yKDtDOyl7bGV0IE49Qy5pbmRleCxfPXtpbmRleDpDLmluZGV4LGlucHV0OkMuaW5wdXQsc3RhY2s6Wy4uLnAsY119LHo9diguLi5DLF8pO2lmKHR5cGVvZiB6PT0ic3RyaW5nIiYmKHo9ei5sZW5ndGg+MD97dHlwZToidGV4dCIsdmFsdWU6en06dm9pZCAwKSx6PT09ITE/bS5sYXN0SW5kZXg9TisxOih4IT09TiYmay5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpjLnZhbHVlLnNsaWNlKHgsTil9KSxBcnJheS5pc0FycmF5KHopP2sucHVzaCguLi56KTp6JiZrLnB1c2goeikseD1OK0NbMF0ubGVuZ3RoLHk9ITApLCFtLmdsb2JhbClicmVhaztDPW0uZXhlYyhjLnZhbHVlKX1yZXR1cm4geT8oeDxjLnZhbHVlLmxlbmd0aCYmay5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpjLnZhbHVlLnNsaWNlKHgpfSksdS5jaGlsZHJlbi5zcGxpY2UoZywxLC4uLmspKTprPVtjXSxnK2subGVuZ3RofXMoZCwiaGFuZGxlciIpfWZ1bmN0aW9uIF95YShhKXtsZXQgZT1bXTtpZighQXJyYXkuaXNBcnJheShhKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBmaW5kIGFuZCByZXBsYWNlIHR1cGxlIG9yIGxpc3Qgb2YgdHVwbGVzIik7bGV0IHQ9IWFbMF18fEFycmF5LmlzQXJyYXkoYVswXSk/YTpbYV0scj0tMTtmb3IoOysrcjx0Lmxlbmd0aDspe2xldCBpPXRbcl07ZS5wdXNoKFtUeWEoaVswXSksTHlhKGlbMV0pXSl9cmV0dXJuIGV9ZnVuY3Rpb24gVHlhKGEpe3JldHVybiB0eXBlb2YgYT09InN0cmluZyI/bmV3IFJlZ0V4cChnMyhhKSwiZyIpOmF9ZnVuY3Rpb24gTHlhKGEpe3JldHVybiB0eXBlb2YgYT09ImZ1bmN0aW9uIj9hOmZ1bmN0aW9uKCl7cmV0dXJuIGF9fXZhciBDZHQ9ZigoKT0+e0tZKCk7d1EoKTt2USgpO3MoaTRlLCJmaW5kQW5kUmVwbGFjZSIpO3MoX3lhLCJ0b1BhaXJzIik7cyhUeWEsInRvRXhwcmVzc2lvbiIpO3MoTHlhLCJ0b0Z1bmN0aW9uIil9KTt2YXIgX2R0PWYoKCk9PntDZHQoKX0pO2Z1bmN0aW9uIGM0ZSgpe3JldHVybnt0cmFuc2Zvcm1zOltJeWFdLGVudGVyOntsaXRlcmFsQXV0b2xpbms6JHlhLGxpdGVyYWxBdXRvbGlua0VtYWlsOmw0ZSxsaXRlcmFsQXV0b2xpbmtIdHRwOmw0ZSxsaXRlcmFsQXV0b2xpbmtXd3c6bDRlfSxleGl0OntsaXRlcmFsQXV0b2xpbms6UHlhLGxpdGVyYWxBdXRvbGlua0VtYWlsOkV5YSxsaXRlcmFsQXV0b2xpbmtIdHRwOkR5YSxsaXRlcmFsQXV0b2xpbmtXd3c6QXlhfX19ZnVuY3Rpb24gZDRlKCl7cmV0dXJue3Vuc2FmZTpbe2NoYXJhY3RlcjoiQCIsYmVmb3JlOiJbK1xcLS5cXHddIixhZnRlcjoiW1xcLS5cXHddIixpbkNvbnN0cnVjdDpvNGUsbm90SW5Db25zdHJ1Y3Q6bjRlfSx7Y2hhcmFjdGVyOiIuIixiZWZvcmU6IltXd10iLGFmdGVyOiJbXFwtLlxcd10iLGluQ29uc3RydWN0Om80ZSxub3RJbkNvbnN0cnVjdDpuNGV9LHtjaGFyYWN0ZXI6IjoiLGJlZm9yZToiW3BzXSIsYWZ0ZXI6IlxcLyIsaW5Db25zdHJ1Y3Q6bzRlLG5vdEluQ29uc3RydWN0Om40ZX1dfX1mdW5jdGlvbiAkeWEoYSl7dGhpcy5lbnRlcih7dHlwZToibGluayIsdGl0bGU6bnVsbCx1cmw6IiIsY2hpbGRyZW46W119LGEpfWZ1bmN0aW9uIGw0ZShhKXt0aGlzLmNvbmZpZy5lbnRlci5hdXRvbGlua1Byb3RvY29sLmNhbGwodGhpcyxhKX1mdW5jdGlvbiBEeWEoYSl7dGhpcy5jb25maWcuZXhpdC5hdXRvbGlua1Byb3RvY29sLmNhbGwodGhpcyxhKX1mdW5jdGlvbiBBeWEoYSl7dGhpcy5jb25maWcuZXhpdC5kYXRhLmNhbGwodGhpcyxhKTtsZXQgZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2UudHlwZSxlLnVybD0iaHR0cDovLyIrdGhpcy5zbGljZVNlcmlhbGl6ZShhKX1mdW5jdGlvbiBFeWEoYSl7dGhpcy5jb25maWcuZXhpdC5hdXRvbGlua0VtYWlsLmNhbGwodGhpcyxhKX1mdW5jdGlvbiBQeWEoYSl7dGhpcy5leGl0KGEpfWZ1bmN0aW9uIEl5YShhKXtpNGUoYSxbWy8oaHR0cHM/OlwvXC98d3d3KD89XC4pKShbLS5cd10rKShbXiBcdFxyXG5dKikvZ2ksTnlhXSxbLyg/PD1efFxzfFxwe1B9fFxwe1N9KShbLS5cdytdKylAKFstXHddKyg/OlwuWy1cd10rKSspL2d1LFJ5YV1dLHtpZ25vcmU6WyJsaW5rIiwibGlua1JlZmVyZW5jZSJdfSl9ZnVuY3Rpb24gTnlhKGEsZSx0LHIsaSl7bGV0IG89IiI7aWYoIVRkdChpKXx8KC9edy9pLnRlc3QoZSkmJih0PWUrdCxlPSIiLG89Imh0dHA6Ly8iKSwhT3lhKHQpKSlyZXR1cm4hMTtsZXQgbj1GeWEodCtyKTtpZighblswXSlyZXR1cm4hMTtsZXQgbD17dHlwZToibGluayIsdGl0bGU6bnVsbCx1cmw6bytlK25bMF0sY2hpbGRyZW46W3t0eXBlOiJ0ZXh0Iix2YWx1ZTplK25bMF19XX07cmV0dXJuIG5bMV0/W2wse3R5cGU6InRleHQiLHZhbHVlOm5bMV19XTpsfWZ1bmN0aW9uIFJ5YShhLGUsdCxyKXtyZXR1cm4hVGR0KHIsITApfHwvWy1cZF9dJC8udGVzdCh0KT8hMTp7dHlwZToibGluayIsdGl0bGU6bnVsbCx1cmw6Im1haWx0bzoiK2UrIkAiK3QsY2hpbGRyZW46W3t0eXBlOiJ0ZXh0Iix2YWx1ZTplKyJAIit0fV19fWZ1bmN0aW9uIE95YShhKXtsZXQgZT1hLnNwbGl0KCIuIik7cmV0dXJuIShlLmxlbmd0aDwyfHxlW2UubGVuZ3RoLTFdJiYoL18vLnRlc3QoZVtlLmxlbmd0aC0xXSl8fCEvW2EtekEtWlxkXS8udGVzdChlW2UubGVuZ3RoLTFdKSl8fGVbZS5sZW5ndGgtMl0mJigvXy8udGVzdChlW2UubGVuZ3RoLTJdKXx8IS9bYS16QS1aXGRdLy50ZXN0KGVbZS5sZW5ndGgtMl0pKSl9ZnVuY3Rpb24gRnlhKGEpe2xldCBlPS9bISImJyksLjo7PD4/XF19XSskLy5leGVjKGEpO2lmKCFlKXJldHVyblthLHZvaWQgMF07YT1hLnNsaWNlKDAsZS5pbmRleCk7bGV0IHQ9ZVswXSxyPXQuaW5kZXhPZigiKSIpLGk9TTgoYSwiKCIpLG89TTgoYSwiKSIpO2Zvcig7ciE9PS0xJiZpPm87KWErPXQuc2xpY2UoMCxyKzEpLHQ9dC5zbGljZShyKzEpLHI9dC5pbmRleE9mKCIpIiksbysrO3JldHVyblthLHRdfWZ1bmN0aW9uIFRkdChhLGUpe2xldCB0PWEuaW5wdXQuY2hhckNvZGVBdChhLmluZGV4LTEpO3JldHVybihhLmluZGV4PT09MHx8UDIodCl8fEczKHQpKSYmKCFlfHx0IT09NDcpfXZhciBvNGUsbjRlLExkdD1mKCgpPT57czRlKCk7QjAoKTtiYSgpO19kdCgpO280ZT0icGhyYXNpbmciLG40ZT1bImF1dG9saW5rIiwibGluayIsImltYWdlIiwibGFiZWwiXTtzKGM0ZSwiZ2ZtQXV0b2xpbmtMaXRlcmFsRnJvbU1hcmtkb3duIik7cyhkNGUsImdmbUF1dG9saW5rTGl0ZXJhbFRvTWFya2Rvd24iKTtzKCR5YSwiZW50ZXJMaXRlcmFsQXV0b2xpbmsiKTtzKGw0ZSwiZW50ZXJMaXRlcmFsQXV0b2xpbmtWYWx1ZSIpO3MoRHlhLCJleGl0TGl0ZXJhbEF1dG9saW5rSHR0cCIpO3MoQXlhLCJleGl0TGl0ZXJhbEF1dG9saW5rV3d3Iik7cyhFeWEsImV4aXRMaXRlcmFsQXV0b2xpbmtFbWFpbCIpO3MoUHlhLCJleGl0TGl0ZXJhbEF1dG9saW5rIik7cyhJeWEsInRyYW5zZm9ybUdmbUF1dG9saW5rTGl0ZXJhbHMiKTtzKE55YSwiZmluZFVybCIpO3MoUnlhLCJmaW5kRW1haWwiKTtzKE95YSwiaXNDb3JyZWN0RG9tYWluIik7cyhGeWEsInNwbGl0VXJsIik7cyhUZHQsInByZXZpb3VzIil9KTt2YXIgJGR0PWYoKCk9PntMZHQoKX0pO2Z1bmN0aW9uIFJyKGEpe3JldHVybiBhLnJlcGxhY2UoL1tcdFxuXHIgXSsvZywiICIpLnJlcGxhY2UoL14gfCAkL2csIiIpLnRvTG93ZXJDYXNlKCkudG9VcHBlckNhc2UoKX12YXIgVjA9ZigoKT0+e3MoUnIsIm5vcm1hbGl6ZUlkZW50aWZpZXIiKX0pO2Z1bmN0aW9uIEJ5YSgpe3RoaXMuYnVmZmVyKCl9ZnVuY3Rpb24gSHlhKGEpe3RoaXMuZW50ZXIoe3R5cGU6ImZvb3Rub3RlUmVmZXJlbmNlIixpZGVudGlmaWVyOiIiLGxhYmVsOiIifSxhKX1mdW5jdGlvbiBxeWEoKXt0aGlzLmJ1ZmZlcigpfWZ1bmN0aW9uIFZ5YShhKXt0aGlzLmVudGVyKHt0eXBlOiJmb290bm90ZURlZmluaXRpb24iLGlkZW50aWZpZXI6IiIsbGFiZWw6IiIsY2hpbGRyZW46W119LGEpfWZ1bmN0aW9uIGp5YShhKXtsZXQgZT10aGlzLnJlc3VtZSgpLHQ9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTt0LnR5cGUsdC5pZGVudGlmaWVyPVJyKHRoaXMuc2xpY2VTZXJpYWxpemUoYSkpLnRvTG93ZXJDYXNlKCksdC5sYWJlbD1lfWZ1bmN0aW9uIFV5YShhKXt0aGlzLmV4aXQoYSl9ZnVuY3Rpb24gV3lhKGEpe2xldCBlPXRoaXMucmVzdW1lKCksdD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO3QudHlwZSx0LmlkZW50aWZpZXI9UnIodGhpcy5zbGljZVNlcmlhbGl6ZShhKSkudG9Mb3dlckNhc2UoKSx0LmxhYmVsPWV9ZnVuY3Rpb24gR3lhKGEpe3RoaXMuZXhpdChhKX1mdW5jdGlvbiBZeWEoKXtyZXR1cm4iWyJ9ZnVuY3Rpb24gRGR0KGEsZSx0LHIpe2xldCBpPXQuY3JlYXRlVHJhY2tlcihyKSxvPWkubW92ZSgiW14iKSxuPXQuZW50ZXIoImZvb3Rub3RlUmVmZXJlbmNlIiksbD10LmVudGVyKCJyZWZlcmVuY2UiKTtyZXR1cm4gbys9aS5tb3ZlKHQuc2FmZSh0LmFzc29jaWF0aW9uSWQoYSkse2FmdGVyOiJdIixiZWZvcmU6b30pKSxsKCksbigpLG8rPWkubW92ZSgiXSIpLG99ZnVuY3Rpb24gdTRlKCl7cmV0dXJue2VudGVyOntnZm1Gb290bm90ZUNhbGxTdHJpbmc6QnlhLGdmbUZvb3Rub3RlQ2FsbDpIeWEsZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxTdHJpbmc6cXlhLGdmbUZvb3Rub3RlRGVmaW5pdGlvbjpWeWF9LGV4aXQ6e2dmbUZvb3Rub3RlQ2FsbFN0cmluZzpqeWEsZ2ZtRm9vdG5vdGVDYWxsOlV5YSxnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbFN0cmluZzpXeWEsZ2ZtRm9vdG5vdGVEZWZpbml0aW9uOkd5YX19fWZ1bmN0aW9uIHA0ZShhKXtsZXQgZT0hMTtyZXR1cm4gYSYmYS5maXJzdExpbmVCbGFuayYmKGU9ITApLHtoYW5kbGVyczp7Zm9vdG5vdGVEZWZpbml0aW9uOnQsZm9vdG5vdGVSZWZlcmVuY2U6RGR0fSx1bnNhZmU6W3tjaGFyYWN0ZXI6IlsiLGluQ29uc3RydWN0OlsibGFiZWwiLCJwaHJhc2luZyIsInJlZmVyZW5jZSJdfV19O2Z1bmN0aW9uIHQocixpLG8sbil7bGV0IGw9by5jcmVhdGVUcmFja2VyKG4pLGQ9bC5tb3ZlKCJbXiIpLGM9by5lbnRlcigiZm9vdG5vdGVEZWZpbml0aW9uIikscD1vLmVudGVyKCJsYWJlbCIpO3JldHVybiBkKz1sLm1vdmUoby5zYWZlKG8uYXNzb2NpYXRpb25JZChyKSx7YmVmb3JlOmQsYWZ0ZXI6Il0ifSkpLHAoKSxkKz1sLm1vdmUoIl06Iiksci5jaGlsZHJlbiYmci5jaGlsZHJlbi5sZW5ndGg+MCYmKGwuc2hpZnQoNCksZCs9bC5tb3ZlKChlP2AKYDoiICIpK28uaW5kZW50TGluZXMoby5jb250YWluZXJGbG93KHIsbC5jdXJyZW50KCkpLGU/QWR0Okt5YSkpKSxjKCksZH1zKHQsImZvb3Rub3RlRGVmaW5pdGlvbiIpfWZ1bmN0aW9uIEt5YShhLGUsdCl7cmV0dXJuIGU9PT0wP2E6QWR0KGEsZSx0KX1mdW5jdGlvbiBBZHQoYSxlLHQpe3JldHVybih0PyIiOiIgICAgIikrYX12YXIgRWR0PWYoKCk9PntCMCgpO1YwKCk7RGR0LnBlZWs9WXlhO3MoQnlhLCJlbnRlckZvb3Rub3RlQ2FsbFN0cmluZyIpO3MoSHlhLCJlbnRlckZvb3Rub3RlQ2FsbCIpO3MocXlhLCJlbnRlckZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsU3RyaW5nIik7cyhWeWEsImVudGVyRm9vdG5vdGVEZWZpbml0aW9uIik7cyhqeWEsImV4aXRGb290bm90ZUNhbGxTdHJpbmciKTtzKFV5YSwiZXhpdEZvb3Rub3RlQ2FsbCIpO3MoV3lhLCJleGl0Rm9vdG5vdGVEZWZpbml0aW9uTGFiZWxTdHJpbmciKTtzKEd5YSwiZXhpdEZvb3Rub3RlRGVmaW5pdGlvbiIpO3MoWXlhLCJmb290bm90ZVJlZmVyZW5jZVBlZWsiKTtzKERkdCwiZm9vdG5vdGVSZWZlcmVuY2UiKTtzKHU0ZSwiZ2ZtRm9vdG5vdGVGcm9tTWFya2Rvd24iKTtzKHA0ZSwiZ2ZtRm9vdG5vdGVUb01hcmtkb3duIik7cyhLeWEsIm1hcEV4Y2VwdEZpcnN0Iik7cyhBZHQsIm1hcEFsbCIpfSk7dmFyIFBkdD1mKCgpPT57RWR0KCl9KTtmdW5jdGlvbiBmNGUoKXtyZXR1cm57Y2FuQ29udGFpbkVvbHM6WyJkZWxldGUiXSxlbnRlcjp7c3RyaWtldGhyb3VnaDpYeWF9LGV4aXQ6e3N0cmlrZXRocm91Z2g6UXlhfX19ZnVuY3Rpb24gaDRlKCl7cmV0dXJue3Vuc2FmZTpbe2NoYXJhY3RlcjoifiIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIixub3RJbkNvbnN0cnVjdDpaeWF9XSxoYW5kbGVyczp7ZGVsZXRlOklkdH19fWZ1bmN0aW9uIFh5YShhKXt0aGlzLmVudGVyKHt0eXBlOiJkZWxldGUiLGNoaWxkcmVuOltdfSxhKX1mdW5jdGlvbiBReWEoYSl7dGhpcy5leGl0KGEpfWZ1bmN0aW9uIElkdChhLGUsdCxyKXtsZXQgaT10LmNyZWF0ZVRyYWNrZXIociksbz10LmVudGVyKCJzdHJpa2V0aHJvdWdoIiksbj1pLm1vdmUoIn5+Iik7cmV0dXJuIG4rPXQuY29udGFpbmVyUGhyYXNpbmcoYSx7Li4uaS5jdXJyZW50KCksYmVmb3JlOm4sYWZ0ZXI6In4ifSksbis9aS5tb3ZlKCJ+fiIpLG8oKSxufWZ1bmN0aW9uIEp5YSgpe3JldHVybiJ+In12YXIgWnlhLE5kdD1mKCgpPT57WnlhPVsiYXV0b2xpbmsiLCJkZXN0aW5hdGlvbkxpdGVyYWwiLCJkZXN0aW5hdGlvblJhdyIsInJlZmVyZW5jZSIsInRpdGxlUXVvdGUiLCJ0aXRsZUFwb3N0cm9waGUiXTtJZHQucGVlaz1KeWE7cyhmNGUsImdmbVN0cmlrZXRocm91Z2hGcm9tTWFya2Rvd24iKTtzKGg0ZSwiZ2ZtU3RyaWtldGhyb3VnaFRvTWFya2Rvd24iKTtzKFh5YSwiZW50ZXJTdHJpa2V0aHJvdWdoIik7cyhReWEsImV4aXRTdHJpa2V0aHJvdWdoIik7cyhJZHQsImhhbmRsZURlbGV0ZSIpO3MoSnlhLCJwZWVrRGVsZXRlIil9KTt2YXIgUmR0PWYoKCk9PntOZHQoKX0pO2Z1bmN0aW9uIGV3YShhKXtyZXR1cm4gYS5sZW5ndGh9ZnVuY3Rpb24gRmR0KGEsZSl7bGV0IHQ9ZXx8e30scj0odC5hbGlnbnx8W10pLmNvbmNhdCgpLGk9dC5zdHJpbmdMZW5ndGh8fGV3YSxvPVtdLG49W10sbD1bXSxkPVtdLGM9MCxwPS0xO2Zvcig7KytwPGEubGVuZ3RoOyl7bGV0IGI9W10sZz1bXSx5PS0xO2ZvcihhW3BdLmxlbmd0aD5jJiYoYz1hW3BdLmxlbmd0aCk7Kyt5PGFbcF0ubGVuZ3RoOyl7bGV0IGs9dHdhKGFbcF1beV0pO2lmKHQuYWxpZ25EZWxpbWl0ZXJzIT09ITEpe2xldCBDPWkoayk7Z1t5XT1DLChkW3ldPT09dm9pZCAwfHxDPmRbeV0pJiYoZFt5XT1DKX1iLnB1c2goayl9bltwXT1iLGxbcF09Z31sZXQgdT0tMTtpZih0eXBlb2Ygcj09Im9iamVjdCImJiJsZW5ndGgiaW4gcilmb3IoOysrdTxjOylvW3VdPU9kdChyW3VdKTtlbHNle2xldCBiPU9kdChyKTtmb3IoOysrdTxjOylvW3VdPWJ9dT0tMTtsZXQgbT1bXSx2PVtdO2Zvcig7Kyt1PGM7KXtsZXQgYj1vW3VdLGc9IiIseT0iIjtiPT09OTk/KGc9IjoiLHk9IjoiKTpiPT09MTA4P2c9IjoiOmI9PT0xMTQmJih5PSI6Iik7bGV0IGs9dC5hbGlnbkRlbGltaXRlcnM9PT0hMT8xOk1hdGgubWF4KDEsZFt1XS1nLmxlbmd0aC15Lmxlbmd0aCksQz1nKyItIi5yZXBlYXQoaykreTt0LmFsaWduRGVsaW1pdGVycyE9PSExJiYoaz1nLmxlbmd0aCtrK3kubGVuZ3RoLGs+ZFt1XSYmKGRbdV09ayksdlt1XT1rKSxtW3VdPUN9bi5zcGxpY2UoMSwwLG0pLGwuc3BsaWNlKDEsMCx2KSxwPS0xO2xldCB4PVtdO2Zvcig7KytwPG4ubGVuZ3RoOyl7bGV0IGI9bltwXSxnPWxbcF07dT0tMTtsZXQgeT1bXTtmb3IoOysrdTxjOyl7bGV0IGs9Ylt1XXx8IiIsQz0iIixOPSIiO2lmKHQuYWxpZ25EZWxpbWl0ZXJzIT09ITEpe2xldCBfPWRbdV0tKGdbdV18fDApLHo9b1t1XTt6PT09MTE0P0M9IiAiLnJlcGVhdChfKTp6PT09OTk/XyUyPyhDPSIgIi5yZXBlYXQoXy8yKy41KSxOPSIgIi5yZXBlYXQoXy8yLS41KSk6KEM9IiAiLnJlcGVhdChfLzIpLE49Qyk6Tj0iICIucmVwZWF0KF8pfXQuZGVsaW1pdGVyU3RhcnQhPT0hMSYmIXUmJnkucHVzaCgifCIpLHQucGFkZGluZyE9PSExJiYhKHQuYWxpZ25EZWxpbWl0ZXJzPT09ITEmJms9PT0iIikmJih0LmRlbGltaXRlclN0YXJ0IT09ITF8fHUpJiZ5LnB1c2goIiAiKSx0LmFsaWduRGVsaW1pdGVycyE9PSExJiZ5LnB1c2goQykseS5wdXNoKGspLHQuYWxpZ25EZWxpbWl0ZXJzIT09ITEmJnkucHVzaChOKSx0LnBhZGRpbmchPT0hMSYmeS5wdXNoKCIgIiksKHQuZGVsaW1pdGVyRW5kIT09ITF8fHUhPT1jLTEpJiZ5LnB1c2goInwiKX14LnB1c2godC5kZWxpbWl0ZXJFbmQ9PT0hMT95LmpvaW4oIiIpLnJlcGxhY2UoLyArJC8sIiIpOnkuam9pbigiIikpfXJldHVybiB4LmpvaW4oYApgKX1mdW5jdGlvbiB0d2EoYSl7cmV0dXJuIGE9PW51bGw/IiI6U3RyaW5nKGEpfWZ1bmN0aW9uIE9kdChhKXtsZXQgZT10eXBlb2YgYT09InN0cmluZyI/YS5jb2RlUG9pbnRBdCgwKTowO3JldHVybiBlPT09Njd8fGU9PT05OT85OTplPT09NzZ8fGU9PT0xMDg/MTA4OmU9PT04Mnx8ZT09PTExND8xMTQ6MH12YXIgQmR0PWYoKCk9PntzKGV3YSwiZGVmYXVsdFN0cmluZ0xlbmd0aCIpO3MoRmR0LCJtYXJrZG93blRhYmxlIik7cyh0d2EsInNlcmlhbGl6ZSIpO3MoT2R0LCJ0b0FsaWdubWVudCIpfSk7ZnVuY3Rpb24gTVEoYSxlKXtsZXQgdD1lfHx7fTtmdW5jdGlvbiByKGksLi4ubyl7bGV0IG49ci5pbnZhbGlkLGw9ci5oYW5kbGVycztpZihpJiZIZHQuY2FsbChpLGEpKXtsZXQgZD1TdHJpbmcoaVthXSk7bj1IZHQuY2FsbChsLGQpP2xbZF06ci51bmtub3dufWlmKG4pcmV0dXJuIG4uY2FsbCh0aGlzLGksLi4ubyl9cmV0dXJuIHMociwib25lIiksci5oYW5kbGVycz10LmhhbmRsZXJzfHx7fSxyLmludmFsaWQ9dC5pbnZhbGlkLHIudW5rbm93bj10LnVua25vd24scn12YXIgSGR0LG00ZT1mKCgpPT57SGR0PXt9Lmhhc093blByb3BlcnR5O3MoTVEsInp3aXRjaCIpfSk7ZnVuY3Rpb24gZzRlKGEsZSl7bGV0IHQ9LTEscjtpZihlLmV4dGVuc2lvbnMpZm9yKDsrK3Q8ZS5leHRlbnNpb25zLmxlbmd0aDspZzRlKGEsZS5leHRlbnNpb25zW3RdKTtmb3IociBpbiBlKWlmKGF3YS5jYWxsKGUscikpc3dpdGNoKHIpe2Nhc2UiZXh0ZW5zaW9ucyI6YnJlYWs7Y2FzZSJ1bnNhZmUiOntxZHQoYVtyXSxlW3JdKTticmVha31jYXNlImpvaW4iOntxZHQoYVtyXSxlW3JdKTticmVha31jYXNlImhhbmRsZXJzIjp7cndhKGFbcl0sZVtyXSk7YnJlYWt9ZGVmYXVsdDphLm9wdGlvbnNbcl09ZVtyXX1yZXR1cm4gYX1mdW5jdGlvbiBxZHQoYSxlKXtlJiZhLnB1c2goLi4uZSl9ZnVuY3Rpb24gcndhKGEsZSl7ZSYmT2JqZWN0LmFzc2lnbihhLGUpfXZhciBhd2EsVmR0PWYoKCk9Pnthd2E9e30uaGFzT3duUHJvcGVydHk7cyhnNGUsImNvbmZpZ3VyZSIpO3MocWR0LCJsaXN0Iik7cyhyd2EsIm1hcCIpfSk7ZnVuY3Rpb24gamR0KGEsZSx0LHIpe2xldCBpPXQuZW50ZXIoImJsb2NrcXVvdGUiKSxvPXQuY3JlYXRlVHJhY2tlcihyKTtvLm1vdmUoIj4gIiksby5zaGlmdCgyKTtsZXQgbj10LmluZGVudExpbmVzKHQuY29udGFpbmVyRmxvdyhhLG8uY3VycmVudCgpKSxzd2EpO3JldHVybiBpKCksbn1mdW5jdGlvbiBzd2EoYSxlLHQpe3JldHVybiI+IisodD8iIjoiICIpK2F9dmFyIFVkdD1mKCgpPT57cyhqZHQsImJsb2NrcXVvdGUiKTtzKHN3YSwibWFwIil9KTtmdW5jdGlvbiBrUShhLGUpe3JldHVybiBXZHQoYSxlLmluQ29uc3RydWN0LCEwKSYmIVdkdChhLGUubm90SW5Db25zdHJ1Y3QsITEpfWZ1bmN0aW9uIFdkdChhLGUsdCl7aWYodHlwZW9mIGU9PSJzdHJpbmciJiYoZT1bZV0pLCFlfHxlLmxlbmd0aD09PTApcmV0dXJuIHQ7bGV0IHI9LTE7Zm9yKDsrK3I8ZS5sZW5ndGg7KWlmKGEuaW5jbHVkZXMoZVtyXSkpcmV0dXJuITA7cmV0dXJuITF9dmFyIGI0ZT1mKCgpPT57cyhrUSwicGF0dGVybkluU2NvcGUiKTtzKFdkdCwibGlzdEluU2NvcGUiKX0pO2Z1bmN0aW9uIHY0ZShhLGUsdCxyKXtsZXQgaT0tMTtmb3IoOysraTx0LnVuc2FmZS5sZW5ndGg7KWlmKHQudW5zYWZlW2ldLmNoYXJhY3Rlcj09PWAKYCYma1EodC5zdGFjayx0LnVuc2FmZVtpXSkpcmV0dXJuL1sgXHRdLy50ZXN0KHIuYmVmb3JlKT8iIjoiICI7cmV0dXJuYFxcCmB9dmFyIEdkdD1mKCgpPT57YjRlKCk7cyh2NGUsImhhcmRCcmVhayIpfSk7ZnVuY3Rpb24gWWR0KGEsZSl7bGV0IHQ9U3RyaW5nKGEpLHI9dC5pbmRleE9mKGUpLGk9cixvPTAsbj0wO2lmKHR5cGVvZiBlIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBzdWJzdHJpbmciKTtmb3IoO3IhPT0tMTspcj09PWk/KytvPm4mJihuPW8pOm89MSxpPXIrZS5sZW5ndGgscj10LmluZGV4T2YoZSxpKTtyZXR1cm4gbn12YXIgS2R0PWYoKCk9PntzKFlkdCwibG9uZ2VzdFN0cmVhayIpfSk7ZnVuY3Rpb24gWWcoYSxlKXtyZXR1cm4hIShlLm9wdGlvbnMuZmVuY2VzPT09ITEmJmEudmFsdWUmJiFhLmxhbmcmJi9bXiBcclxuXS8udGVzdChhLnZhbHVlKSYmIS9eW1x0IF0qKD86W1xyXG5dfCQpfCg/Ol58W1xyXG5dKVtcdCBdKiQvLnRlc3QoYS52YWx1ZSkpfXZhciB4NGU9ZigoKT0+e3MoWWcsImZvcm1hdENvZGVBc0luZGVudGVkIil9KTtmdW5jdGlvbiBaZHQoYSl7bGV0IGU9YS5vcHRpb25zLmZlbmNlfHwiYCI7aWYoZSE9PSJgIiYmZSE9PSJ+Iil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgY29kZSB3aXRoIGAiK2UrImAgZm9yIGBvcHRpb25zLmZlbmNlYCwgZXhwZWN0ZWQgYGAgYCBgYCBvciBgfmAiKTtyZXR1cm4gZX12YXIgWGR0PWYoKCk9PntzKFpkdCwiY2hlY2tGZW5jZSIpfSk7ZnVuY3Rpb24gUWR0KGEsZSx0LHIpe2xldCBpPVpkdCh0KSxvPWEudmFsdWV8fCIiLG49aT09PSJgIj8iR3JhdmVBY2NlbnQiOiJUaWxkZSI7aWYoWWcoYSx0KSl7bGV0IHU9dC5lbnRlcigiY29kZUluZGVudGVkIiksbT10LmluZGVudExpbmVzKG8saXdhKTtyZXR1cm4gdSgpLG19bGV0IGw9dC5jcmVhdGVUcmFja2VyKHIpLGQ9aS5yZXBlYXQoTWF0aC5tYXgoWWR0KG8saSkrMSwzKSksYz10LmVudGVyKCJjb2RlRmVuY2VkIikscD1sLm1vdmUoZCk7aWYoYS5sYW5nKXtsZXQgdT10LmVudGVyKGBjb2RlRmVuY2VkTGFuZyR7bn1gKTtwKz1sLm1vdmUodC5zYWZlKGEubGFuZyx7YmVmb3JlOnAsYWZ0ZXI6IiAiLGVuY29kZTpbImAiXSwuLi5sLmN1cnJlbnQoKX0pKSx1KCl9aWYoYS5sYW5nJiZhLm1ldGEpe2xldCB1PXQuZW50ZXIoYGNvZGVGZW5jZWRNZXRhJHtufWApO3ArPWwubW92ZSgiICIpLHArPWwubW92ZSh0LnNhZmUoYS5tZXRhLHtiZWZvcmU6cCxhZnRlcjpgCmAsZW5jb2RlOlsiYCJdLC4uLmwuY3VycmVudCgpfSkpLHUoKX1yZXR1cm4gcCs9bC5tb3ZlKGAKYCksbyYmKHArPWwubW92ZShvK2AKYCkpLHArPWwubW92ZShkKSxjKCkscH1mdW5jdGlvbiBpd2EoYSxlLHQpe3JldHVybih0PyIiOiIgICAgIikrYX12YXIgSmR0PWYoKCk9PntLZHQoKTt4NGUoKTtYZHQoKTtzKFFkdCwiY29kZSIpO3MoaXdhLCJtYXAiKX0pO2Z1bmN0aW9uIGs4KGEpe2xldCBlPWEub3B0aW9ucy5xdW90ZXx8JyInO2lmKGUhPT0nIicmJmUhPT0iJyIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIHRpdGxlIHdpdGggYCIrZSsiYCBmb3IgYG9wdGlvbnMucXVvdGVgLCBleHBlY3RlZCBgXCJgLCBvciBgJ2AiKTtyZXR1cm4gZX12YXIgU1E9ZigoKT0+e3MoazgsImNoZWNrUXVvdGUiKX0pO2Z1bmN0aW9uIGU2dChhLGUsdCxyKXtsZXQgaT1rOCh0KSxvPWk9PT0nIic/IlF1b3RlIjoiQXBvc3Ryb3BoZSIsbj10LmVudGVyKCJkZWZpbml0aW9uIiksbD10LmVudGVyKCJsYWJlbCIpLGQ9dC5jcmVhdGVUcmFja2VyKHIpLGM9ZC5tb3ZlKCJbIik7cmV0dXJuIGMrPWQubW92ZSh0LnNhZmUodC5hc3NvY2lhdGlvbklkKGEpLHtiZWZvcmU6YyxhZnRlcjoiXSIsLi4uZC5jdXJyZW50KCl9KSksYys9ZC5tb3ZlKCJdOiAiKSxsKCksIWEudXJsfHwvW1wwLSBcdTAwN0ZdLy50ZXN0KGEudXJsKT8obD10LmVudGVyKCJkZXN0aW5hdGlvbkxpdGVyYWwiKSxjKz1kLm1vdmUoIjwiKSxjKz1kLm1vdmUodC5zYWZlKGEudXJsLHtiZWZvcmU6YyxhZnRlcjoiPiIsLi4uZC5jdXJyZW50KCl9KSksYys9ZC5tb3ZlKCI+IikpOihsPXQuZW50ZXIoImRlc3RpbmF0aW9uUmF3IiksYys9ZC5tb3ZlKHQuc2FmZShhLnVybCx7YmVmb3JlOmMsYWZ0ZXI6YS50aXRsZT8iICI6YApgLC4uLmQuY3VycmVudCgpfSkpKSxsKCksYS50aXRsZSYmKGw9dC5lbnRlcihgdGl0bGUke299YCksYys9ZC5tb3ZlKCIgIitpKSxjKz1kLm1vdmUodC5zYWZlKGEudGl0bGUse2JlZm9yZTpjLGFmdGVyOmksLi4uZC5jdXJyZW50KCl9KSksYys9ZC5tb3ZlKGkpLGwoKSksbigpLGN9dmFyIHQ2dD1mKCgpPT57U1EoKTtzKGU2dCwiZGVmaW5pdGlvbiIpfSk7ZnVuY3Rpb24gYTZ0KGEpe2xldCBlPWEub3B0aW9ucy5lbXBoYXNpc3x8IioiO2lmKGUhPT0iKiImJmUhPT0iXyIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIGVtcGhhc2lzIHdpdGggYCIrZSsiYCBmb3IgYG9wdGlvbnMuZW1waGFzaXNgLCBleHBlY3RlZCBgKmAsIG9yIGBfYCIpO3JldHVybiBlfXZhciByNnQ9ZigoKT0+e3MoYTZ0LCJjaGVja0VtcGhhc2lzIil9KTtmdW5jdGlvbiBHbyhhKXtyZXR1cm4iJiN4IithLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpKyI7In12YXIgUzg9ZigoKT0+e3MoR28sImVuY29kZUNoYXJhY3RlclJlZmVyZW5jZSIpfSk7ZnVuY3Rpb24gVWwoYSl7aWYoYT09PW51bGx8fHVhKGEpfHxQMihhKSlyZXR1cm4gMTtpZihHMyhhKSlyZXR1cm4gMn12YXIgelE9ZigoKT0+e2JhKCk7cyhVbCwiY2xhc3NpZnlDaGFyYWN0ZXIiKX0pO2Z1bmN0aW9uIHo4KGEsZSx0KXtsZXQgcj1VbChhKSxpPVVsKGUpO3JldHVybiByPT09dm9pZCAwP2k9PT12b2lkIDA/dD09PSJfIj97aW5zaWRlOiEwLG91dHNpZGU6ITB9OntpbnNpZGU6ITEsb3V0c2lkZTohMX06aT09PTE/e2luc2lkZTohMCxvdXRzaWRlOiEwfTp7aW5zaWRlOiExLG91dHNpZGU6ITB9OnI9PT0xP2k9PT12b2lkIDA/e2luc2lkZTohMSxvdXRzaWRlOiExfTppPT09MT97aW5zaWRlOiEwLG91dHNpZGU6ITB9OntpbnNpZGU6ITEsb3V0c2lkZTohMX06aT09PXZvaWQgMD97aW5zaWRlOiExLG91dHNpZGU6ITF9Omk9PT0xP3tpbnNpZGU6ITAsb3V0c2lkZTohMX06e2luc2lkZTohMSxvdXRzaWRlOiExfX12YXIgeTRlPWYoKCk9Pnt6USgpO3MoejgsImVuY29kZUluZm8iKX0pO2Z1bmN0aW9uIHc0ZShhLGUsdCxyKXtsZXQgaT1hNnQodCksbz10LmVudGVyKCJlbXBoYXNpcyIpLG49dC5jcmVhdGVUcmFja2VyKHIpLGw9bi5tb3ZlKGkpLGQ9bi5tb3ZlKHQuY29udGFpbmVyUGhyYXNpbmcoYSx7YWZ0ZXI6aSxiZWZvcmU6bCwuLi5uLmN1cnJlbnQoKX0pKSxjPWQuY2hhckNvZGVBdCgwKSxwPXo4KHIuYmVmb3JlLmNoYXJDb2RlQXQoci5iZWZvcmUubGVuZ3RoLTEpLGMsaSk7cC5pbnNpZGUmJihkPUdvKGMpK2Quc2xpY2UoMSkpO2xldCB1PWQuY2hhckNvZGVBdChkLmxlbmd0aC0xKSxtPXo4KHIuYWZ0ZXIuY2hhckNvZGVBdCgwKSx1LGkpO20uaW5zaWRlJiYoZD1kLnNsaWNlKDAsLTEpK0dvKHUpKTtsZXQgdj1uLm1vdmUoaSk7cmV0dXJuIG8oKSx0LmF0dGVudGlvbkVuY29kZVN1cnJvdW5kaW5nSW5mbz17YWZ0ZXI6bS5vdXRzaWRlLGJlZm9yZTpwLm91dHNpZGV9LGwrZCt2fWZ1bmN0aW9uIG93YShhLGUsdCl7cmV0dXJuIHQub3B0aW9ucy5lbXBoYXNpc3x8IioifXZhciBzNnQ9ZigoKT0+e3I2dCgpO1M4KCk7eTRlKCk7dzRlLnBlZWs9b3dhO3ModzRlLCJlbXBoYXNpcyIpO3Mob3dhLCJlbXBoYXNpc1BlZWsiKX0pO2Z1bmN0aW9uIEtnKGEsZSx0LHIpe2xldCBpLG8sbjt0eXBlb2YgZT09ImZ1bmN0aW9uIiYmdHlwZW9mIHQhPSJmdW5jdGlvbiI/KG89dm9pZCAwLG49ZSxpPXQpOihvPWUsbj10LGk9ciksR2coYSxvLGwsaSk7ZnVuY3Rpb24gbChkLGMpe2xldCBwPWNbYy5sZW5ndGgtMV0sdT1wP3AuY2hpbGRyZW4uaW5kZXhPZihkKTp2b2lkIDA7cmV0dXJuIG4oZCx1LHApfXMobCwib3ZlcmxvYWQiKX12YXIgaTZ0PWYoKCk9Pnt3USgpO3dRKCk7cyhLZywidmlzaXQiKX0pO3ZhciBNNGU9ZigoKT0+e2k2dCgpfSk7ZnVuY3Rpb24gSzMoYSxlKXtsZXQgdD1lfHxud2Escj10eXBlb2YgdC5pbmNsdWRlSW1hZ2VBbHQ9PSJib29sZWFuIj90LmluY2x1ZGVJbWFnZUFsdDohMCxpPXR5cGVvZiB0LmluY2x1ZGVIdG1sPT0iYm9vbGVhbiI/dC5pbmNsdWRlSHRtbDohMDtyZXR1cm4gbzZ0KGEscixpKX1mdW5jdGlvbiBvNnQoYSxlLHQpe2lmKGx3YShhKSl7aWYoInZhbHVlImluIGEpcmV0dXJuIGEudHlwZT09PSJodG1sIiYmIXQ/IiI6YS52YWx1ZTtpZihlJiYiYWx0ImluIGEmJmEuYWx0KXJldHVybiBhLmFsdDtpZigiY2hpbGRyZW4iaW4gYSlyZXR1cm4gbjZ0KGEuY2hpbGRyZW4sZSx0KX1yZXR1cm4gQXJyYXkuaXNBcnJheShhKT9uNnQoYSxlLHQpOiIifWZ1bmN0aW9uIG42dChhLGUsdCl7bGV0IHI9W10saT0tMTtmb3IoOysraTxhLmxlbmd0aDspcltpXT1vNnQoYVtpXSxlLHQpO3JldHVybiByLmpvaW4oIiIpfWZ1bmN0aW9uIGx3YShhKXtyZXR1cm4hIShhJiZ0eXBlb2YgYT09Im9iamVjdCIpfXZhciBud2EsbDZ0PWYoKCk9Pntud2E9e307cyhLMywidG9TdHJpbmciKTtzKG82dCwib25lIik7cyhuNnQsImFsbCIpO3MobHdhLCJub2RlIil9KTt2YXIgQ1E9ZigoKT0+e2w2dCgpfSk7ZnVuY3Rpb24gX1EoYSxlKXtsZXQgdD0hMTtyZXR1cm4gS2coYSxmdW5jdGlvbihyKXtpZigidmFsdWUiaW4gciYmL1xyP1xufFxyLy50ZXN0KHIudmFsdWUpfHxyLnR5cGU9PT0iYnJlYWsiKXJldHVybiB0PSEwLFkzfSksISEoKCFhLmRlcHRofHxhLmRlcHRoPDMpJiZLMyhhKSYmKGUub3B0aW9ucy5zZXRleHR8fHQpKX12YXIgazRlPWYoKCk9PntNNGUoKTtDUSgpO3MoX1EsImZvcm1hdEhlYWRpbmdBc1NldGV4dCIpfSk7ZnVuY3Rpb24gYzZ0KGEsZSx0LHIpe2xldCBpPU1hdGgubWF4KE1hdGgubWluKDYsYS5kZXB0aHx8MSksMSksbz10LmNyZWF0ZVRyYWNrZXIocik7aWYoX1EoYSx0KSl7bGV0IHA9dC5lbnRlcigiaGVhZGluZ1NldGV4dCIpLHU9dC5lbnRlcigicGhyYXNpbmciKSxtPXQuY29udGFpbmVyUGhyYXNpbmcoYSx7Li4uby5jdXJyZW50KCksYmVmb3JlOmAKYCxhZnRlcjpgCmB9KTtyZXR1cm4gdSgpLHAoKSxtK2AKYCsoaT09PTE/Ij0iOiItIikucmVwZWF0KG0ubGVuZ3RoLShNYXRoLm1heChtLmxhc3RJbmRleE9mKCJcciIpLG0ubGFzdEluZGV4T2YoYApgKSkrMSkpfWxldCBuPSIjIi5yZXBlYXQoaSksbD10LmVudGVyKCJoZWFkaW5nQXR4IiksZD10LmVudGVyKCJwaHJhc2luZyIpO28ubW92ZShuKyIgIik7bGV0IGM9dC5jb250YWluZXJQaHJhc2luZyhhLHtiZWZvcmU6IiMgIixhZnRlcjpgCmAsLi4uby5jdXJyZW50KCl9KTtyZXR1cm4vXltcdCBdLy50ZXN0KGMpJiYoYz1HbyhjLmNoYXJDb2RlQXQoMCkpK2Muc2xpY2UoMSkpLGM9Yz9uKyIgIitjOm4sdC5vcHRpb25zLmNsb3NlQXR4JiYoYys9IiAiK24pLGQoKSxsKCksY312YXIgZDZ0PWYoKCk9PntTOCgpO2s0ZSgpO3MoYzZ0LCJoZWFkaW5nIil9KTtmdW5jdGlvbiBTNGUoYSl7cmV0dXJuIGEudmFsdWV8fCIifWZ1bmN0aW9uIGN3YSgpe3JldHVybiI8In12YXIgdTZ0PWYoKCk9PntTNGUucGVlaz1jd2E7cyhTNGUsImh0bWwiKTtzKGN3YSwiaHRtbFBlZWsiKX0pO2Z1bmN0aW9uIHo0ZShhLGUsdCxyKXtsZXQgaT1rOCh0KSxvPWk9PT0nIic/IlF1b3RlIjoiQXBvc3Ryb3BoZSIsbj10LmVudGVyKCJpbWFnZSIpLGw9dC5lbnRlcigibGFiZWwiKSxkPXQuY3JlYXRlVHJhY2tlcihyKSxjPWQubW92ZSgiIVsiKTtyZXR1cm4gYys9ZC5tb3ZlKHQuc2FmZShhLmFsdCx7YmVmb3JlOmMsYWZ0ZXI6Il0iLC4uLmQuY3VycmVudCgpfSkpLGMrPWQubW92ZSgiXSgiKSxsKCksIWEudXJsJiZhLnRpdGxlfHwvW1wwLSBcdTAwN0ZdLy50ZXN0KGEudXJsKT8obD10LmVudGVyKCJkZXN0aW5hdGlvbkxpdGVyYWwiKSxjKz1kLm1vdmUoIjwiKSxjKz1kLm1vdmUodC5zYWZlKGEudXJsLHtiZWZvcmU6YyxhZnRlcjoiPiIsLi4uZC5jdXJyZW50KCl9KSksYys9ZC5tb3ZlKCI+IikpOihsPXQuZW50ZXIoImRlc3RpbmF0aW9uUmF3IiksYys9ZC5tb3ZlKHQuc2FmZShhLnVybCx7YmVmb3JlOmMsYWZ0ZXI6YS50aXRsZT8iICI6IikiLC4uLmQuY3VycmVudCgpfSkpKSxsKCksYS50aXRsZSYmKGw9dC5lbnRlcihgdGl0bGUke299YCksYys9ZC5tb3ZlKCIgIitpKSxjKz1kLm1vdmUodC5zYWZlKGEudGl0bGUse2JlZm9yZTpjLGFmdGVyOmksLi4uZC5jdXJyZW50KCl9KSksYys9ZC5tb3ZlKGkpLGwoKSksYys9ZC5tb3ZlKCIpIiksbigpLGN9ZnVuY3Rpb24gZHdhKCl7cmV0dXJuIiEifXZhciBwNnQ9ZigoKT0+e1NRKCk7ejRlLnBlZWs9ZHdhO3MoejRlLCJpbWFnZSIpO3MoZHdhLCJpbWFnZVBlZWsiKX0pO2Z1bmN0aW9uIEM0ZShhLGUsdCxyKXtsZXQgaT1hLnJlZmVyZW5jZVR5cGUsbz10LmVudGVyKCJpbWFnZVJlZmVyZW5jZSIpLG49dC5lbnRlcigibGFiZWwiKSxsPXQuY3JlYXRlVHJhY2tlcihyKSxkPWwubW92ZSgiIVsiKSxjPXQuc2FmZShhLmFsdCx7YmVmb3JlOmQsYWZ0ZXI6Il0iLC4uLmwuY3VycmVudCgpfSk7ZCs9bC5tb3ZlKGMrIl1bIiksbigpO2xldCBwPXQuc3RhY2s7dC5zdGFjaz1bXSxuPXQuZW50ZXIoInJlZmVyZW5jZSIpO2xldCB1PXQuc2FmZSh0LmFzc29jaWF0aW9uSWQoYSkse2JlZm9yZTpkLGFmdGVyOiJdIiwuLi5sLmN1cnJlbnQoKX0pO3JldHVybiBuKCksdC5zdGFjaz1wLG8oKSxpPT09ImZ1bGwifHwhY3x8YyE9PXU/ZCs9bC5tb3ZlKHUrIl0iKTppPT09InNob3J0Y3V0Ij9kPWQuc2xpY2UoMCwtMSk6ZCs9bC5tb3ZlKCJdIiksZH1mdW5jdGlvbiB1d2EoKXtyZXR1cm4iISJ9dmFyIGY2dD1mKCgpPT57QzRlLnBlZWs9dXdhO3MoQzRlLCJpbWFnZVJlZmVyZW5jZSIpO3ModXdhLCJpbWFnZVJlZmVyZW5jZVBlZWsiKX0pO2Z1bmN0aW9uIF80ZShhLGUsdCl7bGV0IHI9YS52YWx1ZXx8IiIsaT0iYCIsbz0tMTtmb3IoO25ldyBSZWdFeHAoIihefFteYF0pIitpKyIoW15gXXwkKSIpLnRlc3Qocik7KWkrPSJgIjtmb3IoL1teIFxyXG5dLy50ZXN0KHIpJiYoL15bIFxyXG5dLy50ZXN0KHIpJiYvWyBcclxuXSQvLnRlc3Qocil8fC9eYHxgJC8udGVzdChyKSkmJihyPSIgIityKyIgIik7KytvPHQudW5zYWZlLmxlbmd0aDspe2xldCBuPXQudW5zYWZlW29dLGw9dC5jb21waWxlUGF0dGVybihuKSxkO2lmKG4uYXRCcmVhaylmb3IoO2Q9bC5leGVjKHIpOyl7bGV0IGM9ZC5pbmRleDtyLmNoYXJDb2RlQXQoYyk9PT0xMCYmci5jaGFyQ29kZUF0KGMtMSk9PT0xMyYmYy0tLHI9ci5zbGljZSgwLGMpKyIgIityLnNsaWNlKGQuaW5kZXgrMSl9fXJldHVybiBpK3IraX1mdW5jdGlvbiBwd2EoKXtyZXR1cm4iYCJ9dmFyIGg2dD1mKCgpPT57XzRlLnBlZWs9cHdhO3MoXzRlLCJpbmxpbmVDb2RlIik7cyhwd2EsImlubGluZUNvZGVQZWVrIil9KTtmdW5jdGlvbiBUNGUoYSxlKXtsZXQgdD1LMyhhKTtyZXR1cm4hISghZS5vcHRpb25zLnJlc291cmNlTGluayYmYS51cmwmJiFhLnRpdGxlJiZhLmNoaWxkcmVuJiZhLmNoaWxkcmVuLmxlbmd0aD09PTEmJmEuY2hpbGRyZW5bMF0udHlwZT09PSJ0ZXh0IiYmKHQ9PT1hLnVybHx8Im1haWx0bzoiK3Q9PT1hLnVybCkmJi9eW2Etel1bYS16Ky4tXSs6L2kudGVzdChhLnVybCkmJiEvW1wwLSA8Plx1MDA3Rl0vLnRlc3QoYS51cmwpKX12YXIgbTZ0PWYoKCk9PntDUSgpO3MoVDRlLCJmb3JtYXRMaW5rQXNBdXRvbGluayIpfSk7ZnVuY3Rpb24gTDRlKGEsZSx0LHIpe2xldCBpPWs4KHQpLG89aT09PSciJz8iUXVvdGUiOiJBcG9zdHJvcGhlIixuPXQuY3JlYXRlVHJhY2tlcihyKSxsLGQ7aWYoVDRlKGEsdCkpe2xldCBwPXQuc3RhY2s7dC5zdGFjaz1bXSxsPXQuZW50ZXIoImF1dG9saW5rIik7bGV0IHU9bi5tb3ZlKCI8Iik7cmV0dXJuIHUrPW4ubW92ZSh0LmNvbnRhaW5lclBocmFzaW5nKGEse2JlZm9yZTp1LGFmdGVyOiI+IiwuLi5uLmN1cnJlbnQoKX0pKSx1Kz1uLm1vdmUoIj4iKSxsKCksdC5zdGFjaz1wLHV9bD10LmVudGVyKCJsaW5rIiksZD10LmVudGVyKCJsYWJlbCIpO2xldCBjPW4ubW92ZSgiWyIpO3JldHVybiBjKz1uLm1vdmUodC5jb250YWluZXJQaHJhc2luZyhhLHtiZWZvcmU6YyxhZnRlcjoiXSgiLC4uLm4uY3VycmVudCgpfSkpLGMrPW4ubW92ZSgiXSgiKSxkKCksIWEudXJsJiZhLnRpdGxlfHwvW1wwLSBcdTAwN0ZdLy50ZXN0KGEudXJsKT8oZD10LmVudGVyKCJkZXN0aW5hdGlvbkxpdGVyYWwiKSxjKz1uLm1vdmUoIjwiKSxjKz1uLm1vdmUodC5zYWZlKGEudXJsLHtiZWZvcmU6YyxhZnRlcjoiPiIsLi4ubi5jdXJyZW50KCl9KSksYys9bi5tb3ZlKCI+IikpOihkPXQuZW50ZXIoImRlc3RpbmF0aW9uUmF3IiksYys9bi5tb3ZlKHQuc2FmZShhLnVybCx7YmVmb3JlOmMsYWZ0ZXI6YS50aXRsZT8iICI6IikiLC4uLm4uY3VycmVudCgpfSkpKSxkKCksYS50aXRsZSYmKGQ9dC5lbnRlcihgdGl0bGUke299YCksYys9bi5tb3ZlKCIgIitpKSxjKz1uLm1vdmUodC5zYWZlKGEudGl0bGUse2JlZm9yZTpjLGFmdGVyOmksLi4ubi5jdXJyZW50KCl9KSksYys9bi5tb3ZlKGkpLGQoKSksYys9bi5tb3ZlKCIpIiksbCgpLGN9ZnVuY3Rpb24gZndhKGEsZSx0KXtyZXR1cm4gVDRlKGEsdCk/IjwiOiJbIn12YXIgZzZ0PWYoKCk9PntTUSgpO202dCgpO0w0ZS5wZWVrPWZ3YTtzKEw0ZSwibGluayIpO3MoZndhLCJsaW5rUGVlayIpfSk7ZnVuY3Rpb24gJDRlKGEsZSx0LHIpe2xldCBpPWEucmVmZXJlbmNlVHlwZSxvPXQuZW50ZXIoImxpbmtSZWZlcmVuY2UiKSxuPXQuZW50ZXIoImxhYmVsIiksbD10LmNyZWF0ZVRyYWNrZXIociksZD1sLm1vdmUoIlsiKSxjPXQuY29udGFpbmVyUGhyYXNpbmcoYSx7YmVmb3JlOmQsYWZ0ZXI6Il0iLC4uLmwuY3VycmVudCgpfSk7ZCs9bC5tb3ZlKGMrIl1bIiksbigpO2xldCBwPXQuc3RhY2s7dC5zdGFjaz1bXSxuPXQuZW50ZXIoInJlZmVyZW5jZSIpO2xldCB1PXQuc2FmZSh0LmFzc29jaWF0aW9uSWQoYSkse2JlZm9yZTpkLGFmdGVyOiJdIiwuLi5sLmN1cnJlbnQoKX0pO3JldHVybiBuKCksdC5zdGFjaz1wLG8oKSxpPT09ImZ1bGwifHwhY3x8YyE9PXU/ZCs9bC5tb3ZlKHUrIl0iKTppPT09InNob3J0Y3V0Ij9kPWQuc2xpY2UoMCwtMSk6ZCs9bC5tb3ZlKCJdIiksZH1mdW5jdGlvbiBod2EoKXtyZXR1cm4iWyJ9dmFyIGI2dD1mKCgpPT57JDRlLnBlZWs9aHdhO3MoJDRlLCJsaW5rUmVmZXJlbmNlIik7cyhod2EsImxpbmtSZWZlcmVuY2VQZWVrIil9KTtmdW5jdGlvbiBDOChhKXtsZXQgZT1hLm9wdGlvbnMuYnVsbGV0fHwiKiI7aWYoZSE9PSIqIiYmZSE9PSIrIiYmZSE9PSItIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgaXRlbXMgd2l0aCBgIitlKyJgIGZvciBgb3B0aW9ucy5idWxsZXRgLCBleHBlY3RlZCBgKmAsIGArYCwgb3IgYC1gIik7cmV0dXJuIGV9dmFyIFRRPWYoKCk9PntzKEM4LCJjaGVja0J1bGxldCIpfSk7ZnVuY3Rpb24gdjZ0KGEpe2xldCBlPUM4KGEpLHQ9YS5vcHRpb25zLmJ1bGxldE90aGVyO2lmKCF0KXJldHVybiBlPT09IioiPyItIjoiKiI7aWYodCE9PSIqIiYmdCE9PSIrIiYmdCE9PSItIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgaXRlbXMgd2l0aCBgIit0KyJgIGZvciBgb3B0aW9ucy5idWxsZXRPdGhlcmAsIGV4cGVjdGVkIGAqYCwgYCtgLCBvciBgLWAiKTtpZih0PT09ZSl0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIGBidWxsZXRgIChgIitlKyJgKSBhbmQgYGJ1bGxldE90aGVyYCAoYCIrdCsiYCkgdG8gYmUgZGlmZmVyZW50Iik7cmV0dXJuIHR9dmFyIHg2dD1mKCgpPT57VFEoKTtzKHY2dCwiY2hlY2tCdWxsZXRPdGhlciIpfSk7ZnVuY3Rpb24geTZ0KGEpe2xldCBlPWEub3B0aW9ucy5idWxsZXRPcmRlcmVkfHwiLiI7aWYoZSE9PSIuIiYmZSE9PSIpIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgaXRlbXMgd2l0aCBgIitlKyJgIGZvciBgb3B0aW9ucy5idWxsZXRPcmRlcmVkYCwgZXhwZWN0ZWQgYC5gIG9yIGApYCIpO3JldHVybiBlfXZhciB3NnQ9ZigoKT0+e3MoeTZ0LCJjaGVja0J1bGxldE9yZGVyZWQiKX0pO2Z1bmN0aW9uIExRKGEpe2xldCBlPWEub3B0aW9ucy5ydWxlfHwiKiI7aWYoZSE9PSIqIiYmZSE9PSItIiYmZSE9PSJfIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgcnVsZXMgd2l0aCBgIitlKyJgIGZvciBgb3B0aW9ucy5ydWxlYCwgZXhwZWN0ZWQgYCpgLCBgLWAsIG9yIGBfYCIpO3JldHVybiBlfXZhciBENGU9ZigoKT0+e3MoTFEsImNoZWNrUnVsZSIpfSk7ZnVuY3Rpb24gTTZ0KGEsZSx0LHIpe2xldCBpPXQuZW50ZXIoImxpc3QiKSxvPXQuYnVsbGV0Q3VycmVudCxuPWEub3JkZXJlZD95NnQodCk6QzgodCksbD1hLm9yZGVyZWQ/bj09PSIuIj8iKSI6Ii4iOnY2dCh0KSxkPWUmJnQuYnVsbGV0TGFzdFVzZWQ/bj09PXQuYnVsbGV0TGFzdFVzZWQ6ITE7aWYoIWEub3JkZXJlZCl7bGV0IHA9YS5jaGlsZHJlbj9hLmNoaWxkcmVuWzBdOnZvaWQgMDtpZigobj09PSIqInx8bj09PSItIikmJnAmJighcC5jaGlsZHJlbnx8IXAuY2hpbGRyZW5bMF0pJiZ0LnN0YWNrW3Quc3RhY2subGVuZ3RoLTFdPT09Imxpc3QiJiZ0LnN0YWNrW3Quc3RhY2subGVuZ3RoLTJdPT09Imxpc3RJdGVtIiYmdC5zdGFja1t0LnN0YWNrLmxlbmd0aC0zXT09PSJsaXN0IiYmdC5zdGFja1t0LnN0YWNrLmxlbmd0aC00XT09PSJsaXN0SXRlbSImJnQuaW5kZXhTdGFja1t0LmluZGV4U3RhY2subGVuZ3RoLTFdPT09MCYmdC5pbmRleFN0YWNrW3QuaW5kZXhTdGFjay5sZW5ndGgtMl09PT0wJiZ0LmluZGV4U3RhY2tbdC5pbmRleFN0YWNrLmxlbmd0aC0zXT09PTAmJihkPSEwKSxMUSh0KT09PW4mJnApe2xldCB1PS0xO2Zvcig7Kyt1PGEuY2hpbGRyZW4ubGVuZ3RoOyl7bGV0IG09YS5jaGlsZHJlblt1XTtpZihtJiZtLnR5cGU9PT0ibGlzdEl0ZW0iJiZtLmNoaWxkcmVuJiZtLmNoaWxkcmVuWzBdJiZtLmNoaWxkcmVuWzBdLnR5cGU9PT0idGhlbWF0aWNCcmVhayIpe2Q9ITA7YnJlYWt9fX19ZCYmKG49bCksdC5idWxsZXRDdXJyZW50PW47bGV0IGM9dC5jb250YWluZXJGbG93KGEscik7cmV0dXJuIHQuYnVsbGV0TGFzdFVzZWQ9bix0LmJ1bGxldEN1cnJlbnQ9byxpKCksY312YXIgazZ0PWYoKCk9PntUUSgpO3g2dCgpO3c2dCgpO0Q0ZSgpO3MoTTZ0LCJsaXN0Iil9KTtmdW5jdGlvbiBTNnQoYSl7bGV0IGU9YS5vcHRpb25zLmxpc3RJdGVtSW5kZW50fHwib25lIjtpZihlIT09InRhYiImJmUhPT0ib25lIiYmZSE9PSJtaXhlZCIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIGl0ZW1zIHdpdGggYCIrZSsiYCBmb3IgYG9wdGlvbnMubGlzdEl0ZW1JbmRlbnRgLCBleHBlY3RlZCBgdGFiYCwgYG9uZWAsIG9yIGBtaXhlZGAiKTtyZXR1cm4gZX12YXIgejZ0PWYoKCk9PntzKFM2dCwiY2hlY2tMaXN0SXRlbUluZGVudCIpfSk7ZnVuY3Rpb24gQzZ0KGEsZSx0LHIpe2xldCBpPVM2dCh0KSxvPXQuYnVsbGV0Q3VycmVudHx8QzgodCk7ZSYmZS50eXBlPT09Imxpc3QiJiZlLm9yZGVyZWQmJihvPSh0eXBlb2YgZS5zdGFydD09Im51bWJlciImJmUuc3RhcnQ+LTE/ZS5zdGFydDoxKSsodC5vcHRpb25zLmluY3JlbWVudExpc3RNYXJrZXI9PT0hMT8wOmUuY2hpbGRyZW4uaW5kZXhPZihhKSkrbyk7bGV0IG49by5sZW5ndGgrMTsoaT09PSJ0YWIifHxpPT09Im1peGVkIiYmKGUmJmUudHlwZT09PSJsaXN0IiYmZS5zcHJlYWR8fGEuc3ByZWFkKSkmJihuPU1hdGguY2VpbChuLzQpKjQpO2xldCBsPXQuY3JlYXRlVHJhY2tlcihyKTtsLm1vdmUobysiICIucmVwZWF0KG4tby5sZW5ndGgpKSxsLnNoaWZ0KG4pO2xldCBkPXQuZW50ZXIoImxpc3RJdGVtIiksYz10LmluZGVudExpbmVzKHQuY29udGFpbmVyRmxvdyhhLGwuY3VycmVudCgpKSxwKTtyZXR1cm4gZCgpLGM7ZnVuY3Rpb24gcCh1LG0sdil7cmV0dXJuIG0/KHY/IiI6IiAiLnJlcGVhdChuKSkrdToodj9vOm8rIiAiLnJlcGVhdChuLW8ubGVuZ3RoKSkrdX1zKHAsIm1hcCIpfXZhciBfNnQ9ZigoKT0+e1RRKCk7ejZ0KCk7cyhDNnQsImxpc3RJdGVtIil9KTtmdW5jdGlvbiBUNnQoYSxlLHQscil7bGV0IGk9dC5lbnRlcigicGFyYWdyYXBoIiksbz10LmVudGVyKCJwaHJhc2luZyIpLG49dC5jb250YWluZXJQaHJhc2luZyhhLHIpO3JldHVybiBvKCksaSgpLG59dmFyIEw2dD1mKCgpPT57cyhUNnQsInBhcmFncmFwaCIpfSk7dmFyIEE0ZSwkNnQ9ZigoKT0+e3ZRKCk7QTRlPWpsKFsiYnJlYWsiLCJkZWxldGUiLCJlbXBoYXNpcyIsImZvb3Rub3RlIiwiZm9vdG5vdGVSZWZlcmVuY2UiLCJpbWFnZSIsImltYWdlUmVmZXJlbmNlIiwiaW5saW5lQ29kZSIsImlubGluZU1hdGgiLCJsaW5rIiwibGlua1JlZmVyZW5jZSIsIm1keEpzeFRleHRFbGVtZW50IiwibWR4VGV4dEV4cHJlc3Npb24iLCJzdHJvbmciLCJ0ZXh0IiwidGV4dERpcmVjdGl2ZSJdKX0pO3ZhciBENnQ9ZigoKT0+eyQ2dCgpfSk7ZnVuY3Rpb24gQTZ0KGEsZSx0LHIpe3JldHVybihhLmNoaWxkcmVuLnNvbWUoZnVuY3Rpb24obil7cmV0dXJuIEE0ZShuKX0pP3QuY29udGFpbmVyUGhyYXNpbmc6dC5jb250YWluZXJGbG93KS5jYWxsKHQsYSxyKX12YXIgRTZ0PWYoKCk9PntENnQoKTtzKEE2dCwicm9vdCIpfSk7ZnVuY3Rpb24gUDZ0KGEpe2xldCBlPWEub3B0aW9ucy5zdHJvbmd8fCIqIjtpZihlIT09IioiJiZlIT09Il8iKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNlcmlhbGl6ZSBzdHJvbmcgd2l0aCBgIitlKyJgIGZvciBgb3B0aW9ucy5zdHJvbmdgLCBleHBlY3RlZCBgKmAsIG9yIGBfYCIpO3JldHVybiBlfXZhciBJNnQ9ZigoKT0+e3MoUDZ0LCJjaGVja1N0cm9uZyIpfSk7ZnVuY3Rpb24gRTRlKGEsZSx0LHIpe2xldCBpPVA2dCh0KSxvPXQuZW50ZXIoInN0cm9uZyIpLG49dC5jcmVhdGVUcmFja2VyKHIpLGw9bi5tb3ZlKGkraSksZD1uLm1vdmUodC5jb250YWluZXJQaHJhc2luZyhhLHthZnRlcjppLGJlZm9yZTpsLC4uLm4uY3VycmVudCgpfSkpLGM9ZC5jaGFyQ29kZUF0KDApLHA9ejgoci5iZWZvcmUuY2hhckNvZGVBdChyLmJlZm9yZS5sZW5ndGgtMSksYyxpKTtwLmluc2lkZSYmKGQ9R28oYykrZC5zbGljZSgxKSk7bGV0IHU9ZC5jaGFyQ29kZUF0KGQubGVuZ3RoLTEpLG09ejgoci5hZnRlci5jaGFyQ29kZUF0KDApLHUsaSk7bS5pbnNpZGUmJihkPWQuc2xpY2UoMCwtMSkrR28odSkpO2xldCB2PW4ubW92ZShpK2kpO3JldHVybiBvKCksdC5hdHRlbnRpb25FbmNvZGVTdXJyb3VuZGluZ0luZm89e2FmdGVyOm0ub3V0c2lkZSxiZWZvcmU6cC5vdXRzaWRlfSxsK2Qrdn1mdW5jdGlvbiBtd2EoYSxlLHQpe3JldHVybiB0Lm9wdGlvbnMuc3Ryb25nfHwiKiJ9dmFyIE42dD1mKCgpPT57STZ0KCk7UzgoKTt5NGUoKTtFNGUucGVlaz1td2E7cyhFNGUsInN0cm9uZyIpO3MobXdhLCJzdHJvbmdQZWVrIil9KTtmdW5jdGlvbiBSNnQoYSxlLHQscil7cmV0dXJuIHQuc2FmZShhLnZhbHVlLHIpfXZhciBPNnQ9ZigoKT0+e3MoUjZ0LCJ0ZXh0Iil9KTtmdW5jdGlvbiBGNnQoYSl7bGV0IGU9YS5vcHRpb25zLnJ1bGVSZXBldGl0aW9ufHwzO2lmKGU8Myl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgcnVsZXMgd2l0aCByZXBldGl0aW9uIGAiK2UrImAgZm9yIGBvcHRpb25zLnJ1bGVSZXBldGl0aW9uYCwgZXhwZWN0ZWQgYDNgIG9yIG1vcmUiKTtyZXR1cm4gZX12YXIgQjZ0PWYoKCk9PntzKEY2dCwiY2hlY2tSdWxlUmVwZXRpdGlvbiIpfSk7ZnVuY3Rpb24gSDZ0KGEsZSx0KXtsZXQgcj0oTFEodCkrKHQub3B0aW9ucy5ydWxlU3BhY2VzPyIgIjoiIikpLnJlcGVhdChGNnQodCkpO3JldHVybiB0Lm9wdGlvbnMucnVsZVNwYWNlcz9yLnNsaWNlKDAsLTEpOnJ9dmFyIHE2dD1mKCgpPT57QjZ0KCk7RDRlKCk7cyhINnQsInRoZW1hdGljQnJlYWsiKX0pO3ZhciBaMyxQNGU9ZigoKT0+e1VkdCgpO0dkdCgpO0pkdCgpO3Q2dCgpO3M2dCgpO2Q2dCgpO3U2dCgpO3A2dCgpO2Y2dCgpO2g2dCgpO2c2dCgpO2I2dCgpO2s2dCgpO182dCgpO0w2dCgpO0U2dCgpO042dCgpO082dCgpO3E2dCgpO1ozPXtibG9ja3F1b3RlOmpkdCxicmVhazp2NGUsY29kZTpRZHQsZGVmaW5pdGlvbjplNnQsZW1waGFzaXM6dzRlLGhhcmRCcmVhazp2NGUsaGVhZGluZzpjNnQsaHRtbDpTNGUsaW1hZ2U6ejRlLGltYWdlUmVmZXJlbmNlOkM0ZSxpbmxpbmVDb2RlOl80ZSxsaW5rOkw0ZSxsaW5rUmVmZXJlbmNlOiQ0ZSxsaXN0Ok02dCxsaXN0SXRlbTpDNnQscGFyYWdyYXBoOlQ2dCxyb290OkE2dCxzdHJvbmc6RTRlLHRleHQ6UjZ0LHRoZW1hdGljQnJlYWs6SDZ0fX0pO2Z1bmN0aW9uIGd3YShhLGUsdCxyKXtpZihlLnR5cGU9PT0iY29kZSImJllnKGUscikmJihhLnR5cGU9PT0ibGlzdCJ8fGEudHlwZT09PWUudHlwZSYmWWcoYSxyKSkpcmV0dXJuITE7aWYoInNwcmVhZCJpbiB0JiZ0eXBlb2YgdC5zcHJlYWQ9PSJib29sZWFuIilyZXR1cm4gYS50eXBlPT09InBhcmFncmFwaCImJihhLnR5cGU9PT1lLnR5cGV8fGUudHlwZT09PSJkZWZpbml0aW9uInx8ZS50eXBlPT09ImhlYWRpbmciJiZfUShlLHIpKT92b2lkIDA6dC5zcHJlYWQ/MTowfXZhciBWNnQsajZ0PWYoKCk9Pnt4NGUoKTtrNGUoKTtWNnQ9W2d3YV07cyhnd2EsImpvaW5EZWZhdWx0cyIpfSk7dmFyIFgzLFU2dCxXNnQ9ZigoKT0+e1gzPVsiYXV0b2xpbmsiLCJkZXN0aW5hdGlvbkxpdGVyYWwiLCJkZXN0aW5hdGlvblJhdyIsInJlZmVyZW5jZSIsInRpdGxlUXVvdGUiLCJ0aXRsZUFwb3N0cm9waGUiXSxVNnQ9W3tjaGFyYWN0ZXI6IgkiLGFmdGVyOiJbXFxyXFxuXSIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIn0se2NoYXJhY3RlcjoiCSIsYmVmb3JlOiJbXFxyXFxuXSIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIn0se2NoYXJhY3RlcjoiCSIsaW5Db25zdHJ1Y3Q6WyJjb2RlRmVuY2VkTGFuZ0dyYXZlQWNjZW50IiwiY29kZUZlbmNlZExhbmdUaWxkZSJdfSx7Y2hhcmFjdGVyOiJcciIsaW5Db25zdHJ1Y3Q6WyJjb2RlRmVuY2VkTGFuZ0dyYXZlQWNjZW50IiwiY29kZUZlbmNlZExhbmdUaWxkZSIsImNvZGVGZW5jZWRNZXRhR3JhdmVBY2NlbnQiLCJjb2RlRmVuY2VkTWV0YVRpbGRlIiwiZGVzdGluYXRpb25MaXRlcmFsIiwiaGVhZGluZ0F0eCJdfSx7Y2hhcmFjdGVyOmAKYCxpbkNvbnN0cnVjdDpbImNvZGVGZW5jZWRMYW5nR3JhdmVBY2NlbnQiLCJjb2RlRmVuY2VkTGFuZ1RpbGRlIiwiY29kZUZlbmNlZE1ldGFHcmF2ZUFjY2VudCIsImNvZGVGZW5jZWRNZXRhVGlsZGUiLCJkZXN0aW5hdGlvbkxpdGVyYWwiLCJoZWFkaW5nQXR4Il19LHtjaGFyYWN0ZXI6IiAiLGFmdGVyOiJbXFxyXFxuXSIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIn0se2NoYXJhY3RlcjoiICIsYmVmb3JlOiJbXFxyXFxuXSIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIn0se2NoYXJhY3RlcjoiICIsaW5Db25zdHJ1Y3Q6WyJjb2RlRmVuY2VkTGFuZ0dyYXZlQWNjZW50IiwiY29kZUZlbmNlZExhbmdUaWxkZSJdfSx7Y2hhcmFjdGVyOiIhIixhZnRlcjoiXFxbIixpbkNvbnN0cnVjdDoicGhyYXNpbmciLG5vdEluQ29uc3RydWN0OlgzfSx7Y2hhcmFjdGVyOiciJyxpbkNvbnN0cnVjdDoidGl0bGVRdW90ZSJ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiIyJ9LHtjaGFyYWN0ZXI6IiMiLGluQ29uc3RydWN0OiJoZWFkaW5nQXR4IixhZnRlcjpgKD86W1xyCl18JClgfSx7Y2hhcmFjdGVyOiImIixhZnRlcjoiWyNBLVphLXpdIixpbkNvbnN0cnVjdDoicGhyYXNpbmcifSx7Y2hhcmFjdGVyOiInIixpbkNvbnN0cnVjdDoidGl0bGVBcG9zdHJvcGhlIn0se2NoYXJhY3RlcjoiKCIsaW5Db25zdHJ1Y3Q6ImRlc3RpbmF0aW9uUmF3In0se2JlZm9yZToiXFxdIixjaGFyYWN0ZXI6IigiLGluQ29uc3RydWN0OiJwaHJhc2luZyIsbm90SW5Db25zdHJ1Y3Q6WDN9LHthdEJyZWFrOiEwLGJlZm9yZToiXFxkKyIsY2hhcmFjdGVyOiIpIn0se2NoYXJhY3RlcjoiKSIsaW5Db25zdHJ1Y3Q6ImRlc3RpbmF0aW9uUmF3In0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiIqIixhZnRlcjpgKD86WyAJXHIKKl0pYH0se2NoYXJhY3RlcjoiKiIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIixub3RJbkNvbnN0cnVjdDpYM30se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiIrIixhZnRlcjpgKD86WyAJXHIKXSlgfSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6Ii0iLGFmdGVyOmAoPzpbIAlccgotXSlgfSx7YXRCcmVhazohMCxiZWZvcmU6IlxcZCsiLGNoYXJhY3RlcjoiLiIsYWZ0ZXI6YCg/OlsgCVxyCl18JClgfSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6IjwiLGFmdGVyOiJbIS8/QS1aYS16XSJ9LHtjaGFyYWN0ZXI6IjwiLGFmdGVyOiJbIS8/QS1aYS16XSIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIixub3RJbkNvbnN0cnVjdDpYM30se2NoYXJhY3RlcjoiPCIsaW5Db25zdHJ1Y3Q6ImRlc3RpbmF0aW9uTGl0ZXJhbCJ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiPSJ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiPiJ9LHtjaGFyYWN0ZXI6Ij4iLGluQ29uc3RydWN0OiJkZXN0aW5hdGlvbkxpdGVyYWwifSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6IlsifSx7Y2hhcmFjdGVyOiJbIixpbkNvbnN0cnVjdDoicGhyYXNpbmciLG5vdEluQ29uc3RydWN0OlgzfSx7Y2hhcmFjdGVyOiJbIixpbkNvbnN0cnVjdDpbImxhYmVsIiwicmVmZXJlbmNlIl19LHtjaGFyYWN0ZXI6IlxcIixhZnRlcjoiW1xcclxcbl0iLGluQ29uc3RydWN0OiJwaHJhc2luZyJ9LHtjaGFyYWN0ZXI6Il0iLGluQ29uc3RydWN0OlsibGFiZWwiLCJyZWZlcmVuY2UiXX0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiJfIn0se2NoYXJhY3RlcjoiXyIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIixub3RJbkNvbnN0cnVjdDpYM30se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiJgIn0se2NoYXJhY3RlcjoiYCIsaW5Db25zdHJ1Y3Q6WyJjb2RlRmVuY2VkTGFuZ0dyYXZlQWNjZW50IiwiY29kZUZlbmNlZE1ldGFHcmF2ZUFjY2VudCJdfSx7Y2hhcmFjdGVyOiJgIixpbkNvbnN0cnVjdDoicGhyYXNpbmciLG5vdEluQ29uc3RydWN0OlgzfSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6In4ifV19KTtmdW5jdGlvbiBqMChhKXtsZXQgZT0iJiIrYSsiOyI7RzZ0LmlubmVySFRNTD1lO2xldCB0PUc2dC50ZXh0Q29udGVudDtyZXR1cm4gdC5jaGFyQ29kZUF0KHQubGVuZ3RoLTEpPT09NTkmJmEhPT0ic2VtaSJ8fHQ9PT1lPyExOnR9dmFyIEc2dCxaZz1mKCgpPT57RzZ0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImkiKTtzKGowLCJkZWNvZGVOYW1lZENoYXJhY3RlclJlZmVyZW5jZSIpfSk7ZnVuY3Rpb24gXzgoYSxlKXtsZXQgdD1OdW1iZXIucGFyc2VJbnQoYSxlKTtyZXR1cm4gdDw5fHx0PT09MTF8fHQ+MTMmJnQ8MzJ8fHQ+MTI2JiZ0PDE2MHx8dD41NTI5NSYmdDw1NzM0NHx8dD42NDk3NSYmdDw2NTAwOHx8KHQmNjU1MzUpPT09NjU1MzV8fCh0JjY1NTM1KT09PTY1NTM0fHx0PjExMTQxMTE/Ilx1RkZGRCI6U3RyaW5nLmZyb21Db2RlUG9pbnQodCl9dmFyICRRPWYoKCk9PntzKF84LCJkZWNvZGVOdW1lcmljQ2hhcmFjdGVyUmVmZXJlbmNlIil9KTtmdW5jdGlvbiBEUShhKXtyZXR1cm4gYS5yZXBsYWNlKGJ3YSx2d2EpfWZ1bmN0aW9uIHZ3YShhLGUsdCl7aWYoZSlyZXR1cm4gZTtpZih0LmNoYXJDb2RlQXQoMCk9PT0zNSl7bGV0IGk9dC5jaGFyQ29kZUF0KDEpLG89aT09PTEyMHx8aT09PTg4O3JldHVybiBfOCh0LnNsaWNlKG8/MjoxKSxvPzE2OjEwKX1yZXR1cm4gajAodCl8fGF9dmFyIGJ3YSxJNGU9ZigoKT0+e1pnKCk7JFEoKTtid2E9L1xcKFshLS86LUBbLWB7LX5dKXwmKCMoPzpcZHsxLDd9fHhbXGRhLWZdezEsNn0pfFtcZGEtel17MSwzMX0pOy9naTtzKERRLCJkZWNvZGVTdHJpbmciKTtzKHZ3YSwiZGVjb2RlIil9KTtmdW5jdGlvbiBZNnQoYSl7cmV0dXJuIGEubGFiZWx8fCFhLmlkZW50aWZpZXI/YS5sYWJlbHx8IiI6RFEoYS5pZGVudGlmaWVyKX12YXIgSzZ0PWYoKCk9PntJNGUoKTtzKFk2dCwiYXNzb2NpYXRpb24iKX0pO2Z1bmN0aW9uIFo2dChhKXtpZighYS5fY29tcGlsZWQpe2xldCBlPShhLmF0QnJlYWs/IltcXHJcXG5dW1xcdCBdKiI6IiIpKyhhLmJlZm9yZT8iKD86IithLmJlZm9yZSsiKSI6IiIpO2EuX2NvbXBpbGVkPW5ldyBSZWdFeHAoKGU/IigiK2UrIikiOiIiKSsoL1t8XFx7fSgpW1xdXiQrKj8uLV0vLnRlc3QoYS5jaGFyYWN0ZXIpPyJcXCI6IiIpK2EuY2hhcmFjdGVyKyhhLmFmdGVyPyIoPzoiK2EuYWZ0ZXIrIikiOiIiKSwiZyIpfXJldHVybiBhLl9jb21waWxlZH12YXIgWDZ0PWYoKCk9PntzKFo2dCwiY29tcGlsZVBhdHRlcm4iKX0pO2Z1bmN0aW9uIFE2dChhLGUsdCl7bGV0IHI9ZS5pbmRleFN0YWNrLGk9YS5jaGlsZHJlbnx8W10sbz1bXSxuPS0xLGw9dC5iZWZvcmUsZDtyLnB1c2goLTEpO2xldCBjPWUuY3JlYXRlVHJhY2tlcih0KTtmb3IoOysrbjxpLmxlbmd0aDspe2xldCBwPWlbbl0sdTtpZihyW3IubGVuZ3RoLTFdPW4sbisxPGkubGVuZ3RoKXtsZXQgeD1lLmhhbmRsZS5oYW5kbGVyc1tpW24rMV0udHlwZV07eCYmeC5wZWVrJiYoeD14LnBlZWspLHU9eD94KGlbbisxXSxhLGUse2JlZm9yZToiIixhZnRlcjoiIiwuLi5jLmN1cnJlbnQoKX0pLmNoYXJBdCgwKToiIn1lbHNlIHU9dC5hZnRlcjtvLmxlbmd0aD4wJiYobD09PSJcciJ8fGw9PT1gCmApJiZwLnR5cGU9PT0iaHRtbCImJihvW28ubGVuZ3RoLTFdPW9bby5sZW5ndGgtMV0ucmVwbGFjZSgvKFxyP1xufFxyKSQvLCIgIiksbD0iICIsYz1lLmNyZWF0ZVRyYWNrZXIodCksYy5tb3ZlKG8uam9pbigiIikpKTtsZXQgbT1lLmhhbmRsZShwLGEsZSx7Li4uYy5jdXJyZW50KCksYWZ0ZXI6dSxiZWZvcmU6bH0pO2QmJmQ9PT1tLnNsaWNlKDAsMSkmJihtPUdvKGQuY2hhckNvZGVBdCgwKSkrbS5zbGljZSgxKSk7bGV0IHY9ZS5hdHRlbnRpb25FbmNvZGVTdXJyb3VuZGluZ0luZm87ZS5hdHRlbnRpb25FbmNvZGVTdXJyb3VuZGluZ0luZm89dm9pZCAwLGQ9dm9pZCAwLHYmJihvLmxlbmd0aD4wJiZ2LmJlZm9yZSYmbD09PW9bby5sZW5ndGgtMV0uc2xpY2UoLTEpJiYob1tvLmxlbmd0aC0xXT1vW28ubGVuZ3RoLTFdLnNsaWNlKDAsLTEpK0dvKGwuY2hhckNvZGVBdCgwKSkpLHYuYWZ0ZXImJihkPXUpKSxjLm1vdmUobSksby5wdXNoKG0pLGw9bS5zbGljZSgtMSl9cmV0dXJuIHIucG9wKCksby5qb2luKCIiKX12YXIgSjZ0PWYoKCk9PntTOCgpO3MoUTZ0LCJjb250YWluZXJQaHJhc2luZyIpfSk7ZnVuY3Rpb24gZXV0KGEsZSx0KXtsZXQgcj1lLmluZGV4U3RhY2ssaT1hLmNoaWxkcmVufHxbXSxvPWUuY3JlYXRlVHJhY2tlcih0KSxuPVtdLGw9LTE7Zm9yKHIucHVzaCgtMSk7KytsPGkubGVuZ3RoOyl7bGV0IGQ9aVtsXTtyW3IubGVuZ3RoLTFdPWwsbi5wdXNoKG8ubW92ZShlLmhhbmRsZShkLGEsZSx7YmVmb3JlOmAKYCxhZnRlcjpgCmAsLi4uby5jdXJyZW50KCl9KSkpLGQudHlwZSE9PSJsaXN0IiYmKGUuYnVsbGV0TGFzdFVzZWQ9dm9pZCAwKSxsPGkubGVuZ3RoLTEmJm4ucHVzaChvLm1vdmUoeHdhKGQsaVtsKzFdLGEsZSkpKX1yZXR1cm4gci5wb3AoKSxuLmpvaW4oIiIpfWZ1bmN0aW9uIHh3YShhLGUsdCxyKXtsZXQgaT1yLmpvaW4ubGVuZ3RoO2Zvcig7aS0tOyl7bGV0IG89ci5qb2luW2ldKGEsZSx0LHIpO2lmKG89PT0hMHx8bz09PTEpYnJlYWs7aWYodHlwZW9mIG89PSJudW1iZXIiKXJldHVybmAKYC5yZXBlYXQoMStvKTtpZihvPT09ITEpcmV0dXJuYAoKPCEtLS0tPgoKYH1yZXR1cm5gCgpgfXZhciB0dXQ9ZigoKT0+e3MoZXV0LCJjb250YWluZXJGbG93Iik7cyh4d2EsImJldHdlZW4iKX0pO2Z1bmN0aW9uIGF1dChhLGUpe2xldCB0PVtdLHI9MCxpPTAsbztmb3IoO289eXdhLmV4ZWMoYSk7KW4oYS5zbGljZShyLG8uaW5kZXgpKSx0LnB1c2gob1swXSkscj1vLmluZGV4K29bMF0ubGVuZ3RoLGkrKztyZXR1cm4gbihhLnNsaWNlKHIpKSx0LmpvaW4oIiIpO2Z1bmN0aW9uIG4obCl7dC5wdXNoKGUobCxpLCFsKSl9cyhuLCJvbmUiKX12YXIgeXdhLHJ1dD1mKCgpPT57eXdhPS9ccj9cbnxcci9nO3MoYXV0LCJpbmRlbnRMaW5lcyIpfSk7ZnVuY3Rpb24gaXV0KGEsZSx0KXtsZXQgcj0odC5iZWZvcmV8fCIiKSsoZXx8IiIpKyh0LmFmdGVyfHwiIiksaT1bXSxvPVtdLG49e30sbD0tMTtmb3IoOysrbDxhLnVuc2FmZS5sZW5ndGg7KXtsZXQgcD1hLnVuc2FmZVtsXTtpZigha1EoYS5zdGFjayxwKSljb250aW51ZTtsZXQgdT1hLmNvbXBpbGVQYXR0ZXJuKHApLG07Zm9yKDttPXUuZXhlYyhyKTspe2xldCB2PSJiZWZvcmUiaW4gcHx8ISFwLmF0QnJlYWsseD0iYWZ0ZXIiaW4gcCxiPW0uaW5kZXgrKHY/bVsxXS5sZW5ndGg6MCk7aS5pbmNsdWRlcyhiKT8obltiXS5iZWZvcmUmJiF2JiYobltiXS5iZWZvcmU9ITEpLG5bYl0uYWZ0ZXImJiF4JiYobltiXS5hZnRlcj0hMSkpOihpLnB1c2goYiksbltiXT17YmVmb3JlOnYsYWZ0ZXI6eH0pfX1pLnNvcnQod3dhKTtsZXQgZD10LmJlZm9yZT90LmJlZm9yZS5sZW5ndGg6MCxjPXIubGVuZ3RoLSh0LmFmdGVyP3QuYWZ0ZXIubGVuZ3RoOjApO2ZvcihsPS0xOysrbDxpLmxlbmd0aDspe2xldCBwPWlbbF07cDxkfHxwPj1jfHxwKzE8YyYmaVtsKzFdPT09cCsxJiZuW3BdLmFmdGVyJiYhbltwKzFdLmJlZm9yZSYmIW5bcCsxXS5hZnRlcnx8aVtsLTFdPT09cC0xJiZuW3BdLmJlZm9yZSYmIW5bcC0xXS5iZWZvcmUmJiFuW3AtMV0uYWZ0ZXJ8fChkIT09cCYmby5wdXNoKHN1dChyLnNsaWNlKGQscCksIlxcIikpLGQ9cCwvWyEtLzotQFstYHstfl0vLnRlc3Qoci5jaGFyQXQocCkpJiYoIXQuZW5jb2RlfHwhdC5lbmNvZGUuaW5jbHVkZXMoci5jaGFyQXQocCkpKT9vLnB1c2goIlxcIik6KG8ucHVzaChHbyhyLmNoYXJDb2RlQXQocCkpKSxkKyspKX1yZXR1cm4gby5wdXNoKHN1dChyLnNsaWNlKGQsYyksdC5hZnRlcikpLG8uam9pbigiIil9ZnVuY3Rpb24gd3dhKGEsZSl7cmV0dXJuIGEtZX1mdW5jdGlvbiBzdXQoYSxlKXtsZXQgdD0vXFwoPz1bIS0vOi1AWy1gey1+XSkvZyxyPVtdLGk9W10sbz1hK2Usbj0tMSxsPTAsZDtmb3IoO2Q9dC5leGVjKG8pOylyLnB1c2goZC5pbmRleCk7Zm9yKDsrK248ci5sZW5ndGg7KWwhPT1yW25dJiZpLnB1c2goYS5zbGljZShsLHJbbl0pKSxpLnB1c2goIlxcIiksbD1yW25dO3JldHVybiBpLnB1c2goYS5zbGljZShsKSksaS5qb2luKCIiKX12YXIgb3V0PWYoKCk9PntTOCgpO2I0ZSgpO3MoaXV0LCJzYWZlIik7cyh3d2EsIm51bWVyaWNhbCIpO3Moc3V0LCJlc2NhcGVCYWNrc2xhc2hlcyIpfSk7ZnVuY3Rpb24gbnV0KGEpe2xldCBlPWF8fHt9LHQ9ZS5ub3d8fHt9LHI9ZS5saW5lU2hpZnR8fDAsaT10LmxpbmV8fDEsbz10LmNvbHVtbnx8MTtyZXR1cm57bW92ZTpkLGN1cnJlbnQ6bixzaGlmdDpsfTtmdW5jdGlvbiBuKCl7cmV0dXJue25vdzp7bGluZTppLGNvbHVtbjpvfSxsaW5lU2hpZnQ6cn19ZnVuY3Rpb24gbChjKXtyKz1jfWZ1bmN0aW9uIGQoYyl7bGV0IHA9Y3x8IiIsdT1wLnNwbGl0KC9ccj9cbnxcci9nKSxtPXVbdS5sZW5ndGgtMV07cmV0dXJuIGkrPXUubGVuZ3RoLTEsbz11Lmxlbmd0aD09PTE/byttLmxlbmd0aDoxK20ubGVuZ3RoK3IscH19dmFyIGx1dD1mKCgpPT57cyhudXQsInRyYWNrIil9KTtmdW5jdGlvbiBONGUoYSxlKXtsZXQgdD1lfHx7fSxyPXthc3NvY2lhdGlvbklkOlk2dCxjb250YWluZXJQaHJhc2luZzp6d2EsY29udGFpbmVyRmxvdzpDd2EsY3JlYXRlVHJhY2tlcjpudXQsY29tcGlsZVBhdHRlcm46WjZ0LGVudGVyOm8saGFuZGxlcnM6ey4uLlozfSxoYW5kbGU6dm9pZCAwLGluZGVudExpbmVzOmF1dCxpbmRleFN0YWNrOltdLGpvaW46Wy4uLlY2dF0sb3B0aW9uczp7fSxzYWZlOl93YSxzdGFjazpbXSx1bnNhZmU6Wy4uLlU2dF19O2c0ZShyLHQpLHIub3B0aW9ucy50aWdodERlZmluaXRpb25zJiZyLmpvaW4ucHVzaChTd2EpLHIuaGFuZGxlPU1RKCJ0eXBlIix7aW52YWxpZDpNd2EsdW5rbm93bjprd2EsaGFuZGxlcnM6ci5oYW5kbGVyc30pO2xldCBpPXIuaGFuZGxlKGEsdm9pZCAwLHIse2JlZm9yZTpgCmAsYWZ0ZXI6YApgLG5vdzp7bGluZToxLGNvbHVtbjoxfSxsaW5lU2hpZnQ6MH0pO3JldHVybiBpJiZpLmNoYXJDb2RlQXQoaS5sZW5ndGgtMSkhPT0xMCYmaS5jaGFyQ29kZUF0KGkubGVuZ3RoLTEpIT09MTMmJihpKz1gCmApLGk7ZnVuY3Rpb24gbyhuKXtyZXR1cm4gci5zdGFjay5wdXNoKG4pLGw7ZnVuY3Rpb24gbCgpe3Iuc3RhY2sucG9wKCl9cyhsLCJleGl0Iil9cyhvLCJlbnRlciIpfWZ1bmN0aW9uIE13YShhKXt0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBoYW5kbGUgdmFsdWUgYCIrYSsiYCwgZXhwZWN0ZWQgbm9kZSIpfWZ1bmN0aW9uIGt3YShhKXtsZXQgZT1hO3Rocm93IG5ldyBFcnJvcigiQ2Fubm90IGhhbmRsZSB1bmtub3duIG5vZGUgYCIrZS50eXBlKyJgIil9ZnVuY3Rpb24gU3dhKGEsZSl7aWYoYS50eXBlPT09ImRlZmluaXRpb24iJiZhLnR5cGU9PT1lLnR5cGUpcmV0dXJuIDB9ZnVuY3Rpb24gendhKGEsZSl7cmV0dXJuIFE2dChhLHRoaXMsZSl9ZnVuY3Rpb24gQ3dhKGEsZSl7cmV0dXJuIGV1dChhLHRoaXMsZSl9ZnVuY3Rpb24gX3dhKGEsZSl7cmV0dXJuIGl1dCh0aGlzLGEsZSl9dmFyIGN1dD1mKCgpPT57bTRlKCk7VmR0KCk7UDRlKCk7ajZ0KCk7VzZ0KCk7SzZ0KCk7WDZ0KCk7SjZ0KCk7dHV0KCk7cnV0KCk7b3V0KCk7bHV0KCk7cyhONGUsInRvTWFya2Rvd24iKTtzKE13YSwiaW52YWxpZCIpO3Moa3dhLCJ1bmtub3duIik7cyhTd2EsImpvaW5EZWZpbml0aW9uIik7cyh6d2EsImNvbnRhaW5lclBocmFzaW5nQm91bmQiKTtzKEN3YSwiY29udGFpbmVyRmxvd0JvdW5kIik7cyhfd2EsInNhZmVCb3VuZCIpfSk7dmFyIEFRPWYoKCk9PntjdXQoKTtQNGUoKX0pO2Z1bmN0aW9uIE80ZSgpe3JldHVybntlbnRlcjp7dGFibGU6VHdhLHRhYmxlRGF0YTpkdXQsdGFibGVIZWFkZXI6ZHV0LHRhYmxlUm93OiR3YX0sZXhpdDp7Y29kZVRleHQ6RHdhLHRhYmxlOkx3YSx0YWJsZURhdGE6UjRlLHRhYmxlSGVhZGVyOlI0ZSx0YWJsZVJvdzpSNGV9fX1mdW5jdGlvbiBUd2EoYSl7bGV0IGU9YS5fYWxpZ247dGhpcy5lbnRlcih7dHlwZToidGFibGUiLGFsaWduOmUubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0PT09Im5vbmUiP251bGw6dH0pLGNoaWxkcmVuOltdfSxhKSx0aGlzLmRhdGEuaW5UYWJsZT0hMH1mdW5jdGlvbiBMd2EoYSl7dGhpcy5leGl0KGEpLHRoaXMuZGF0YS5pblRhYmxlPXZvaWQgMH1mdW5jdGlvbiAkd2EoYSl7dGhpcy5lbnRlcih7dHlwZToidGFibGVSb3ciLGNoaWxkcmVuOltdfSxhKX1mdW5jdGlvbiBSNGUoYSl7dGhpcy5leGl0KGEpfWZ1bmN0aW9uIGR1dChhKXt0aGlzLmVudGVyKHt0eXBlOiJ0YWJsZUNlbGwiLGNoaWxkcmVuOltdfSxhKX1mdW5jdGlvbiBEd2EoYSl7bGV0IGU9dGhpcy5yZXN1bWUoKTt0aGlzLmRhdGEuaW5UYWJsZSYmKGU9ZS5yZXBsYWNlKC9cXChbXFx8XSkvZyxBd2EpKTtsZXQgdD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO3QudHlwZSx0LnZhbHVlPWUsdGhpcy5leGl0KGEpfWZ1bmN0aW9uIEF3YShhLGUpe3JldHVybiBlPT09InwiP2U6YX1mdW5jdGlvbiBGNGUoYSl7bGV0IGU9YXx8e30sdD1lLnRhYmxlQ2VsbFBhZGRpbmcscj1lLnRhYmxlUGlwZUFsaWduLGk9ZS5zdHJpbmdMZW5ndGgsbz10PyIgIjoifCI7cmV0dXJue3Vuc2FmZTpbe2NoYXJhY3RlcjoiXHIiLGluQ29uc3RydWN0OiJ0YWJsZUNlbGwifSx7Y2hhcmFjdGVyOmAKYCxpbkNvbnN0cnVjdDoidGFibGVDZWxsIn0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiJ8IixhZnRlcjoiWwkgOi1dIn0se2NoYXJhY3RlcjoifCIsaW5Db25zdHJ1Y3Q6InRhYmxlQ2VsbCJ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiOiIsYWZ0ZXI6Ii0ifSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6Ii0iLGFmdGVyOiJbOnwtXSJ9XSxoYW5kbGVyczp7aW5saW5lQ29kZTptLHRhYmxlOm4sdGFibGVDZWxsOmQsdGFibGVSb3c6bH19O2Z1bmN0aW9uIG4odix4LGIsZyl7cmV0dXJuIGMocCh2LGIsZyksdi5hbGlnbil9ZnVuY3Rpb24gbCh2LHgsYixnKXtsZXQgeT11KHYsYixnKSxrPWMoW3ldKTtyZXR1cm4gay5zbGljZSgwLGsuaW5kZXhPZihgCmApKX1mdW5jdGlvbiBkKHYseCxiLGcpe2xldCB5PWIuZW50ZXIoInRhYmxlQ2VsbCIpLGs9Yi5lbnRlcigicGhyYXNpbmciKSxDPWIuY29udGFpbmVyUGhyYXNpbmcodix7Li4uZyxiZWZvcmU6byxhZnRlcjpvfSk7cmV0dXJuIGsoKSx5KCksQ31mdW5jdGlvbiBjKHYseCl7cmV0dXJuIEZkdCh2LHthbGlnbjp4LGFsaWduRGVsaW1pdGVyczpyLHBhZGRpbmc6dCxzdHJpbmdMZW5ndGg6aX0pfWZ1bmN0aW9uIHAodix4LGIpe2xldCBnPXYuY2hpbGRyZW4seT0tMSxrPVtdLEM9eC5lbnRlcigidGFibGUiKTtmb3IoOysreTxnLmxlbmd0aDspa1t5XT11KGdbeV0seCxiKTtyZXR1cm4gQygpLGt9ZnVuY3Rpb24gdSh2LHgsYil7bGV0IGc9di5jaGlsZHJlbix5PS0xLGs9W10sQz14LmVudGVyKCJ0YWJsZVJvdyIpO2Zvcig7Kyt5PGcubGVuZ3RoOylrW3ldPWQoZ1t5XSx2LHgsYik7cmV0dXJuIEMoKSxrfWZ1bmN0aW9uIG0odix4LGIpe2xldCBnPVozLmlubGluZUNvZGUodix4LGIpO3JldHVybiBiLnN0YWNrLmluY2x1ZGVzKCJ0YWJsZUNlbGwiKSYmKGc9Zy5yZXBsYWNlKC9cfC9nLCJcXCQmIikpLGd9fXZhciB1dXQ9ZigoKT0+e0IwKCk7QmR0KCk7QVEoKTtzKE80ZSwiZ2ZtVGFibGVGcm9tTWFya2Rvd24iKTtzKFR3YSwiZW50ZXJUYWJsZSIpO3MoTHdhLCJleGl0VGFibGUiKTtzKCR3YSwiZW50ZXJSb3ciKTtzKFI0ZSwiZXhpdCIpO3MoZHV0LCJlbnRlckNlbGwiKTtzKER3YSwiZXhpdENvZGVUZXh0Iik7cyhBd2EsInJlcGxhY2UiKTtzKEY0ZSwiZ2ZtVGFibGVUb01hcmtkb3duIil9KTt2YXIgcHV0PWYoKCk9Pnt1dXQoKX0pO2Z1bmN0aW9uIEI0ZSgpe3JldHVybntleGl0Ont0YXNrTGlzdENoZWNrVmFsdWVDaGVja2VkOmZ1dCx0YXNrTGlzdENoZWNrVmFsdWVVbmNoZWNrZWQ6ZnV0LHBhcmFncmFwaDpFd2F9fX1mdW5jdGlvbiBINGUoKXtyZXR1cm57dW5zYWZlOlt7YXRCcmVhazohMCxjaGFyYWN0ZXI6Ii0iLGFmdGVyOiJbOnwtXSJ9XSxoYW5kbGVyczp7bGlzdEl0ZW06UHdhfX19ZnVuY3Rpb24gZnV0KGEpe2xldCBlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMl07ZS50eXBlLGUuY2hlY2tlZD1hLnR5cGU9PT0idGFza0xpc3RDaGVja1ZhbHVlQ2hlY2tlZCJ9ZnVuY3Rpb24gRXdhKGEpe2xldCBlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMl07aWYoZSYmZS50eXBlPT09Imxpc3RJdGVtIiYmdHlwZW9mIGUuY2hlY2tlZD09ImJvb2xlYW4iKXtsZXQgdD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO3QudHlwZTtsZXQgcj10LmNoaWxkcmVuWzBdO2lmKHImJnIudHlwZT09PSJ0ZXh0Iil7bGV0IGk9ZS5jaGlsZHJlbixvPS0xLG47Zm9yKDsrK288aS5sZW5ndGg7KXtsZXQgbD1pW29dO2lmKGwudHlwZT09PSJwYXJhZ3JhcGgiKXtuPWw7YnJlYWt9fW49PT10JiYoci52YWx1ZT1yLnZhbHVlLnNsaWNlKDEpLHIudmFsdWUubGVuZ3RoPT09MD90LmNoaWxkcmVuLnNoaWZ0KCk6dC5wb3NpdGlvbiYmci5wb3NpdGlvbiYmdHlwZW9mIHIucG9zaXRpb24uc3RhcnQub2Zmc2V0PT0ibnVtYmVyIiYmKHIucG9zaXRpb24uc3RhcnQuY29sdW1uKyssci5wb3NpdGlvbi5zdGFydC5vZmZzZXQrKyx0LnBvc2l0aW9uLnN0YXJ0PU9iamVjdC5hc3NpZ24oe30sci5wb3NpdGlvbi5zdGFydCkpKX19dGhpcy5leGl0KGEpfWZ1bmN0aW9uIFB3YShhLGUsdCxyKXtsZXQgaT1hLmNoaWxkcmVuWzBdLG89dHlwZW9mIGEuY2hlY2tlZD09ImJvb2xlYW4iJiZpJiZpLnR5cGU9PT0icGFyYWdyYXBoIixuPSJbIisoYS5jaGVja2VkPyJ4IjoiICIpKyJdICIsbD10LmNyZWF0ZVRyYWNrZXIocik7byYmbC5tb3ZlKG4pO2xldCBkPVozLmxpc3RJdGVtKGEsZSx0LHsuLi5yLC4uLmwuY3VycmVudCgpfSk7cmV0dXJuIG8mJihkPWQucmVwbGFjZSgvXig/OlsqKy1dfFxkK1wuKShbXHJcbl18IHsxLDN9KS8sYykpLGQ7ZnVuY3Rpb24gYyhwKXtyZXR1cm4gcCtufXMoYywiY2hlY2siKX12YXIgaHV0PWYoKCk9PntCMCgpO0FRKCk7cyhCNGUsImdmbVRhc2tMaXN0SXRlbUZyb21NYXJrZG93biIpO3MoSDRlLCJnZm1UYXNrTGlzdEl0ZW1Ub01hcmtkb3duIik7cyhmdXQsImV4aXRDaGVjayIpO3MoRXdhLCJleGl0UGFyYWdyYXBoV2l0aFRhc2tMaXN0SXRlbSIpO3MoUHdhLCJsaXN0SXRlbVdpdGhUYXNrTGlzdEl0ZW0iKX0pO3ZhciBtdXQ9ZigoKT0+e2h1dCgpfSk7ZnVuY3Rpb24gcTRlKCl7cmV0dXJuW2M0ZSgpLHU0ZSgpLGY0ZSgpLE80ZSgpLEI0ZSgpXX1mdW5jdGlvbiBWNGUoYSl7cmV0dXJue2V4dGVuc2lvbnM6W2Q0ZSgpLHA0ZShhKSxoNGUoKSxGNGUoYSksSDRlKCldfX12YXIgZ3V0PWYoKCk9PnskZHQoKTtQZHQoKTtSZHQoKTtwdXQoKTttdXQoKTtzKHE0ZSwiZ2ZtRnJvbU1hcmtkb3duIik7cyhWNGUsImdmbVRvTWFya2Rvd24iKX0pO3ZhciBidXQ9ZigoKT0+e2d1dCgpfSk7ZnVuY3Rpb24gR3IoYSxlLHQscil7bGV0IGk9YS5sZW5ndGgsbz0wLG47aWYoZTwwP2U9LWU+aT8wOmkrZTplPWU+aT9pOmUsdD10PjA/dDowLHIubGVuZ3RoPDFlNCluPUFycmF5LmZyb20ociksbi51bnNoaWZ0KGUsdCksYS5zcGxpY2UoLi4ubik7ZWxzZSBmb3IodCYmYS5zcGxpY2UoZSx0KTtvPHIubGVuZ3RoOyluPXIuc2xpY2UobyxvKzFlNCksbi51bnNoaWZ0KGUsMCksYS5zcGxpY2UoLi4ubiksbys9MWU0LGUrPTFlNH1mdW5jdGlvbiB1cyhhLGUpe3JldHVybiBhLmxlbmd0aD4wPyhHcihhLGEubGVuZ3RoLDAsZSksYSk6ZX12YXIgSTI9ZigoKT0+e3MoR3IsInNwbGljZSIpO3ModXMsInB1c2giKX0pO2Z1bmN0aW9uIEVRKGEpe2xldCBlPXt9LHQ9LTE7Zm9yKDsrK3Q8YS5sZW5ndGg7KUl3YShlLGFbdF0pO3JldHVybiBlfWZ1bmN0aW9uIEl3YShhLGUpe2xldCB0O2Zvcih0IGluIGUpe2xldCBpPShqNGUuY2FsbChhLHQpP2FbdF06dm9pZCAwKXx8KGFbdF09e30pLG89ZVt0XSxuO2lmKG8pZm9yKG4gaW4gbyl7ajRlLmNhbGwoaSxuKXx8KGlbbl09W10pO2xldCBsPW9bbl07TndhKGlbbl0sQXJyYXkuaXNBcnJheShsKT9sOmw/W2xdOltdKX19fWZ1bmN0aW9uIE53YShhLGUpe2xldCB0PS0xLHI9W107Zm9yKDsrK3Q8ZS5sZW5ndGg7KShlW3RdLmFkZD09PSJhZnRlciI/YTpyKS5wdXNoKGVbdF0pO0dyKGEsMCwwLHIpfWZ1bmN0aW9uIFBRKGEpe2xldCBlPXt9LHQ9LTE7Zm9yKDsrK3Q8YS5sZW5ndGg7KVJ3YShlLGFbdF0pO3JldHVybiBlfWZ1bmN0aW9uIFJ3YShhLGUpe2xldCB0O2Zvcih0IGluIGUpe2xldCBpPShqNGUuY2FsbChhLHQpP2FbdF06dm9pZCAwKXx8KGFbdF09e30pLG89ZVt0XSxuO2lmKG8pZm9yKG4gaW4gbylpW25dPW9bbl19fXZhciBqNGUsSVE9ZigoKT0+e0kyKCk7ajRlPXt9Lmhhc093blByb3BlcnR5O3MoRVEsImNvbWJpbmVFeHRlbnNpb25zIik7cyhJd2EsInN5bnRheEV4dGVuc2lvbiIpO3MoTndhLCJjb25zdHJ1Y3RzIik7cyhQUSwiY29tYmluZUh0bWxFeHRlbnNpb25zIik7cyhSd2EsImh0bWxFeHRlbnNpb24iKX0pO2Z1bmN0aW9uIEc0ZSgpe3JldHVybnt0ZXh0Ok4yfX1mdW5jdGlvbiBCd2EoYSxlLHQpe2xldCByPXRoaXMsaSxvO3JldHVybiBuO2Z1bmN0aW9uIG4odSl7cmV0dXJuIVU0ZSh1KXx8IXp1dC5jYWxsKHIsci5wcmV2aW91cyl8fFc0ZShyLmV2ZW50cyk/dCh1KTooYS5lbnRlcigibGl0ZXJhbEF1dG9saW5rIiksYS5lbnRlcigibGl0ZXJhbEF1dG9saW5rRW1haWwiKSxsKHUpKX1mdW5jdGlvbiBsKHUpe3JldHVybiBVNGUodSk/KGEuY29uc3VtZSh1KSxsKTp1PT09NjQ/KGEuY29uc3VtZSh1KSxkKTp0KHUpfWZ1bmN0aW9uIGQodSl7cmV0dXJuIHU9PT00Nj9hLmNoZWNrKEZ3YSxwLGMpKHUpOnU9PT00NXx8dT09PTk1fHxOcih1KT8obz0hMCxhLmNvbnN1bWUodSksZCk6cCh1KX1mdW5jdGlvbiBjKHUpe3JldHVybiBhLmNvbnN1bWUodSksaT0hMCxkfWZ1bmN0aW9uIHAodSl7cmV0dXJuIG8mJmkmJiRzKHIucHJldmlvdXMpPyhhLmV4aXQoImxpdGVyYWxBdXRvbGlua0VtYWlsIiksYS5leGl0KCJsaXRlcmFsQXV0b2xpbmsiKSxlKHUpKTp0KHUpfX1mdW5jdGlvbiBId2EoYSxlLHQpe2xldCByPXRoaXM7cmV0dXJuIGk7ZnVuY3Rpb24gaShuKXtyZXR1cm4gbiE9PTg3JiZuIT09MTE5fHwha3V0LmNhbGwocixyLnByZXZpb3VzKXx8VzRlKHIuZXZlbnRzKT90KG4pOihhLmVudGVyKCJsaXRlcmFsQXV0b2xpbmsiKSxhLmVudGVyKCJsaXRlcmFsQXV0b2xpbmtXd3ciKSxhLmNoZWNrKE93YSxhLmF0dGVtcHQodnV0LGEuYXR0ZW1wdCh4dXQsbyksdCksdCkobikpfWZ1bmN0aW9uIG8obil7cmV0dXJuIGEuZXhpdCgibGl0ZXJhbEF1dG9saW5rV3d3IiksYS5leGl0KCJsaXRlcmFsQXV0b2xpbmsiKSxlKG4pfX1mdW5jdGlvbiBxd2EoYSxlLHQpe2xldCByPXRoaXMsaT0iIixvPSExO3JldHVybiBuO2Z1bmN0aW9uIG4odSl7cmV0dXJuKHU9PT03Mnx8dT09PTEwNCkmJlN1dC5jYWxsKHIsci5wcmV2aW91cykmJiFXNGUoci5ldmVudHMpPyhhLmVudGVyKCJsaXRlcmFsQXV0b2xpbmsiKSxhLmVudGVyKCJsaXRlcmFsQXV0b2xpbmtIdHRwIiksaSs9U3RyaW5nLmZyb21Db2RlUG9pbnQodSksYS5jb25zdW1lKHUpLGwpOnQodSl9ZnVuY3Rpb24gbCh1KXtpZigkcyh1KSYmaS5sZW5ndGg8NSlyZXR1cm4gaSs9U3RyaW5nLmZyb21Db2RlUG9pbnQodSksYS5jb25zdW1lKHUpLGw7aWYodT09PTU4KXtsZXQgbT1pLnRvTG93ZXJDYXNlKCk7aWYobT09PSJodHRwInx8bT09PSJodHRwcyIpcmV0dXJuIGEuY29uc3VtZSh1KSxkfXJldHVybiB0KHUpfWZ1bmN0aW9uIGQodSl7cmV0dXJuIHU9PT00Nz8oYS5jb25zdW1lKHUpLG8/Yzoobz0hMCxkKSk6dCh1KX1mdW5jdGlvbiBjKHUpe3JldHVybiB1PT09bnVsbHx8VzModSl8fHVhKHUpfHxQMih1KXx8RzModSk/dCh1KTphLmF0dGVtcHQodnV0LGEuYXR0ZW1wdCh4dXQscCksdCkodSl9ZnVuY3Rpb24gcCh1KXtyZXR1cm4gYS5leGl0KCJsaXRlcmFsQXV0b2xpbmtIdHRwIiksYS5leGl0KCJsaXRlcmFsQXV0b2xpbmsiKSxlKHUpfX1mdW5jdGlvbiBWd2EoYSxlLHQpe2xldCByPTA7cmV0dXJuIGk7ZnVuY3Rpb24gaShuKXtyZXR1cm4obj09PTg3fHxuPT09MTE5KSYmcjwzPyhyKyssYS5jb25zdW1lKG4pLGkpOm49PT00NiYmcj09PTM/KGEuY29uc3VtZShuKSxvKTp0KG4pfWZ1bmN0aW9uIG8obil7cmV0dXJuIG49PT1udWxsP3Qobik6ZShuKX19ZnVuY3Rpb24gandhKGEsZSx0KXtsZXQgcixpLG87cmV0dXJuIG47ZnVuY3Rpb24gbihjKXtyZXR1cm4gYz09PTQ2fHxjPT09OTU/YS5jaGVjayh5dXQsZCxsKShjKTpjPT09bnVsbHx8dWEoYyl8fFAyKGMpfHxjIT09NDUmJkczKGMpP2QoYyk6KG89ITAsYS5jb25zdW1lKGMpLG4pfWZ1bmN0aW9uIGwoYyl7cmV0dXJuIGM9PT05NT9yPSEwOihpPXIscj12b2lkIDApLGEuY29uc3VtZShjKSxufWZ1bmN0aW9uIGQoYyl7cmV0dXJuIGl8fHJ8fCFvP3QoYyk6ZShjKX19ZnVuY3Rpb24gVXdhKGEsZSl7bGV0IHQ9MCxyPTA7cmV0dXJuIGk7ZnVuY3Rpb24gaShuKXtyZXR1cm4gbj09PTQwPyh0KyssYS5jb25zdW1lKG4pLGkpOm49PT00MSYmcjx0P28obik6bj09PTMzfHxuPT09MzR8fG49PT0zOHx8bj09PTM5fHxuPT09NDF8fG49PT00Mnx8bj09PTQ0fHxuPT09NDZ8fG49PT01OHx8bj09PTU5fHxuPT09NjB8fG49PT02M3x8bj09PTkzfHxuPT09OTV8fG49PT0xMjY/YS5jaGVjayh5dXQsZSxvKShuKTpuPT09bnVsbHx8dWEobil8fFAyKG4pP2Uobik6KGEuY29uc3VtZShuKSxpKX1mdW5jdGlvbiBvKG4pe3JldHVybiBuPT09NDEmJnIrKyxhLmNvbnN1bWUobiksaX19ZnVuY3Rpb24gV3dhKGEsZSx0KXtyZXR1cm4gcjtmdW5jdGlvbiByKGwpe3JldHVybiBsPT09MzN8fGw9PT0zNHx8bD09PTM5fHxsPT09NDF8fGw9PT00Mnx8bD09PTQ0fHxsPT09NDZ8fGw9PT01OHx8bD09PTU5fHxsPT09NjN8fGw9PT05NXx8bD09PTEyNj8oYS5jb25zdW1lKGwpLHIpOmw9PT0zOD8oYS5jb25zdW1lKGwpLG8pOmw9PT05Mz8oYS5jb25zdW1lKGwpLGkpOmw9PT02MHx8bD09PW51bGx8fHVhKGwpfHxQMihsKT9lKGwpOnQobCl9ZnVuY3Rpb24gaShsKXtyZXR1cm4gbD09PW51bGx8fGw9PT00MHx8bD09PTkxfHx1YShsKXx8UDIobCk/ZShsKTpyKGwpfWZ1bmN0aW9uIG8obCl7cmV0dXJuICRzKGwpP24obCk6dChsKX1mdW5jdGlvbiBuKGwpe3JldHVybiBsPT09NTk/KGEuY29uc3VtZShsKSxyKTokcyhsKT8oYS5jb25zdW1lKGwpLG4pOnQobCl9fWZ1bmN0aW9uIEd3YShhLGUsdCl7cmV0dXJuIHI7ZnVuY3Rpb24gcihvKXtyZXR1cm4gYS5jb25zdW1lKG8pLGl9ZnVuY3Rpb24gaShvKXtyZXR1cm4gTnIobyk/dChvKTplKG8pfX1mdW5jdGlvbiBrdXQoYSl7cmV0dXJuIGE9PT1udWxsfHxhPT09NDB8fGE9PT00Mnx8YT09PTk1fHxhPT09OTF8fGE9PT05M3x8YT09PTEyNnx8dWEoYSl9ZnVuY3Rpb24gU3V0KGEpe3JldHVybiEkcyhhKX1mdW5jdGlvbiB6dXQoYSl7cmV0dXJuIShhPT09NDd8fFU0ZShhKSl9ZnVuY3Rpb24gVTRlKGEpe3JldHVybiBhPT09NDN8fGE9PT00NXx8YT09PTQ2fHxhPT09OTV8fE5yKGEpfWZ1bmN0aW9uIFc0ZShhKXtsZXQgZT1hLmxlbmd0aCx0PSExO2Zvcig7ZS0tOyl7bGV0IHI9YVtlXVsxXTtpZigoci50eXBlPT09ImxhYmVsTGluayJ8fHIudHlwZT09PSJsYWJlbEltYWdlIikmJiFyLl9iYWxhbmNlZCl7dD0hMDticmVha31pZihyLl9nZm1BdXRvbGlua0xpdGVyYWxXYWxrZWRJbnRvKXt0PSExO2JyZWFrfX1yZXR1cm4gYS5sZW5ndGg+MCYmIXQmJihhW2EubGVuZ3RoLTFdWzFdLl9nZm1BdXRvbGlua0xpdGVyYWxXYWxrZWRJbnRvPSEwKSx0fXZhciBPd2EsdnV0LHh1dCx5dXQsRndhLHd1dCxNdXQsV2wsTjIsQ3V0PWYoKCk9PntiYSgpO093YT17dG9rZW5pemU6VndhLHBhcnRpYWw6ITB9LHZ1dD17dG9rZW5pemU6andhLHBhcnRpYWw6ITB9LHh1dD17dG9rZW5pemU6VXdhLHBhcnRpYWw6ITB9LHl1dD17dG9rZW5pemU6V3dhLHBhcnRpYWw6ITB9LEZ3YT17dG9rZW5pemU6R3dhLHBhcnRpYWw6ITB9LHd1dD17bmFtZToid3d3QXV0b2xpbmsiLHRva2VuaXplOkh3YSxwcmV2aW91czprdXR9LE11dD17bmFtZToicHJvdG9jb2xBdXRvbGluayIsdG9rZW5pemU6cXdhLHByZXZpb3VzOlN1dH0sV2w9e25hbWU6ImVtYWlsQXV0b2xpbmsiLHRva2VuaXplOkJ3YSxwcmV2aW91czp6dXR9LE4yPXt9O3MoRzRlLCJnZm1BdXRvbGlua0xpdGVyYWwiKTtmb3IodmFyIFEzPTQ4O1EzPDEyMzspTjJbUTNdPVdsLFEzKyssUTM9PT01OD9RMz02NTpRMz09PTkxJiYoUTM9OTcpO04yWzQzXT1XbCxOMls0NV09V2wsTjJbNDZdPVdsLE4yWzk1XT1XbCxOMls3Ml09W1dsLE11dF0sTjJbMTA0XT1bV2wsTXV0XSxOMls4N109W1dsLHd1dF0sTjJbMTE5XT1bV2wsd3V0XTtzKEJ3YSwidG9rZW5pemVFbWFpbEF1dG9saW5rIik7cyhId2EsInRva2VuaXplV3d3QXV0b2xpbmsiKTtzKHF3YSwidG9rZW5pemVQcm90b2NvbEF1dG9saW5rIik7cyhWd2EsInRva2VuaXplV3d3UHJlZml4Iik7cyhqd2EsInRva2VuaXplRG9tYWluIik7cyhVd2EsInRva2VuaXplUGF0aCIpO3MoV3dhLCJ0b2tlbml6ZVRyYWlsIik7cyhHd2EsInRva2VuaXplRW1haWxEb21haW5Eb3RUcmFpbCIpO3Moa3V0LCJwcmV2aW91c1d3dyIpO3MoU3V0LCJwcmV2aW91c1Byb3RvY29sIik7cyh6dXQsInByZXZpb3VzRW1haWwiKTtzKFU0ZSwiZ2ZtQXRleHQiKTtzKFc0ZSwicHJldmlvdXNVbmJhbGFuY2VkIil9KTtmdW5jdGlvbiBOUShhKXtyZXR1cm4gYS5yZXBsYWNlKC9bIiY8Pl0vZyxlKTtmdW5jdGlvbiBlKHQpe3JldHVybiImIitZd2FbdF0rIjsifX12YXIgWXdhLFk0ZT1mKCgpPT57WXdhPXsnIic6InF1b3QiLCImIjoiYW1wIiwiPCI6Imx0IiwiPiI6Imd0In07cyhOUSwiZW5jb2RlIil9KTtmdW5jdGlvbiBSMihhLGUpe2xldCB0PU5RKFlvKGF8fCIiKSk7aWYoIWUpcmV0dXJuIHQ7bGV0IHI9dC5pbmRleE9mKCI6IiksaT10LmluZGV4T2YoIj8iKSxvPXQuaW5kZXhPZigiIyIpLG49dC5pbmRleE9mKCIvIik7cmV0dXJuIHI8MHx8bj4tMSYmcj5ufHxpPi0xJiZyPml8fG8+LTEmJnI+b3x8ZS50ZXN0KHQuc2xpY2UoMCxyKSk/dDoiIn1mdW5jdGlvbiBZbyhhKXtsZXQgZT1bXSx0PS0xLHI9MCxpPTA7Zm9yKDsrK3Q8YS5sZW5ndGg7KXtsZXQgbz1hLmNoYXJDb2RlQXQodCksbj0iIjtpZihvPT09MzcmJk5yKGEuY2hhckNvZGVBdCh0KzEpKSYmTnIoYS5jaGFyQ29kZUF0KHQrMikpKWk9MjtlbHNlIGlmKG88MTI4KS9bISMkJi07PT8tWl9hLXp+XS8udGVzdChTdHJpbmcuZnJvbUNoYXJDb2RlKG8pKXx8KG49U3RyaW5nLmZyb21DaGFyQ29kZShvKSk7ZWxzZSBpZihvPjU1Mjk1JiZvPDU3MzQ0KXtsZXQgbD1hLmNoYXJDb2RlQXQodCsxKTtvPDU2MzIwJiZsPjU2MzE5JiZsPDU3MzQ0PyhuPVN0cmluZy5mcm9tQ2hhckNvZGUobyxsKSxpPTEpOm49Ilx1RkZGRCJ9ZWxzZSBuPVN0cmluZy5mcm9tQ2hhckNvZGUobyk7biYmKGUucHVzaChhLnNsaWNlKHIsdCksZW5jb2RlVVJJQ29tcG9uZW50KG4pKSxyPXQraSsxLG49IiIpLGkmJih0Kz1pLGk9MCl9cmV0dXJuIGUuam9pbigiIikrYS5zbGljZShyKX12YXIgTzI9ZigoKT0+e2JhKCk7WTRlKCk7cyhSMiwic2FuaXRpemVVcmkiKTtzKFlvLCJub3JtYWxpemVVcmkiKX0pO2Z1bmN0aW9uIFo0ZSgpe3JldHVybntleGl0OntsaXRlcmFsQXV0b2xpbmtFbWFpbDpad2EsbGl0ZXJhbEF1dG9saW5rSHR0cDpYd2EsbGl0ZXJhbEF1dG9saW5rV3d3Okt3YX19fWZ1bmN0aW9uIEt3YShhKXtLNGUuY2FsbCh0aGlzLGEsImh0dHA6Ly8iKX1mdW5jdGlvbiBad2EoYSl7SzRlLmNhbGwodGhpcyxhLCJtYWlsdG86Iil9ZnVuY3Rpb24gWHdhKGEpe0s0ZS5jYWxsKHRoaXMsYSl9ZnVuY3Rpb24gSzRlKGEsZSl7bGV0IHQ9dGhpcy5zbGljZVNlcmlhbGl6ZShhKTt0aGlzLnRhZygnPGEgaHJlZj0iJytSMigoZXx8IiIpK3QpKyciPicpLHRoaXMucmF3KHRoaXMuZW5jb2RlKHQpKSx0aGlzLnRhZygiPC9hPiIpfXZhciBfdXQ9ZigoKT0+e08yKCk7cyhaNGUsImdmbUF1dG9saW5rTGl0ZXJhbEh0bWwiKTtzKEt3YSwibGl0ZXJhbEF1dG9saW5rV3d3Iik7cyhad2EsImxpdGVyYWxBdXRvbGlua0VtYWlsIik7cyhYd2EsImxpdGVyYWxBdXRvbGlua0h0dHAiKTtzKEs0ZSwiYW5jaG9yRnJvbVRva2VuIil9KTt2YXIgVHV0PWYoKCk9PntDdXQoKTtfdXQoKX0pO2Z1bmN0aW9uIFUwKGEsZSx0KXtsZXQgcj1bXSxpPS0xO2Zvcig7KytpPGEubGVuZ3RoOyl7bGV0IG89YVtpXS5yZXNvbHZlQWxsO28mJiFyLmluY2x1ZGVzKG8pJiYoZT1vKGUsdCksci5wdXNoKG8pKX1yZXR1cm4gZX12YXIgWGc9ZigoKT0+e3MoVTAsInJlc29sdmVBbGwiKX0pO2Z1bmN0aW9uIFF3YShhLGUpe2xldCB0PS0xLHIsaSxvLG4sbCxkLGMscDtmb3IoOysrdDxhLmxlbmd0aDspaWYoYVt0XVswXT09PSJlbnRlciImJmFbdF1bMV0udHlwZT09PSJhdHRlbnRpb25TZXF1ZW5jZSImJmFbdF1bMV0uX2Nsb3NlKXtmb3Iocj10O3ItLTspaWYoYVtyXVswXT09PSJleGl0IiYmYVtyXVsxXS50eXBlPT09ImF0dGVudGlvblNlcXVlbmNlIiYmYVtyXVsxXS5fb3BlbiYmZS5zbGljZVNlcmlhbGl6ZShhW3JdWzFdKS5jaGFyQ29kZUF0KDApPT09ZS5zbGljZVNlcmlhbGl6ZShhW3RdWzFdKS5jaGFyQ29kZUF0KDApKXtpZigoYVtyXVsxXS5fY2xvc2V8fGFbdF1bMV0uX29wZW4pJiYoYVt0XVsxXS5lbmQub2Zmc2V0LWFbdF1bMV0uc3RhcnQub2Zmc2V0KSUzJiYhKChhW3JdWzFdLmVuZC5vZmZzZXQtYVtyXVsxXS5zdGFydC5vZmZzZXQrYVt0XVsxXS5lbmQub2Zmc2V0LWFbdF1bMV0uc3RhcnQub2Zmc2V0KSUzKSljb250aW51ZTtkPWFbcl1bMV0uZW5kLm9mZnNldC1hW3JdWzFdLnN0YXJ0Lm9mZnNldD4xJiZhW3RdWzFdLmVuZC5vZmZzZXQtYVt0XVsxXS5zdGFydC5vZmZzZXQ+MT8yOjE7bGV0IHU9ey4uLmFbcl1bMV0uZW5kfSxtPXsuLi5hW3RdWzFdLnN0YXJ0fTtMdXQodSwtZCksTHV0KG0sZCksbj17dHlwZTpkPjE/InN0cm9uZ1NlcXVlbmNlIjoiZW1waGFzaXNTZXF1ZW5jZSIsc3RhcnQ6dSxlbmQ6ey4uLmFbcl1bMV0uZW5kfX0sbD17dHlwZTpkPjE/InN0cm9uZ1NlcXVlbmNlIjoiZW1waGFzaXNTZXF1ZW5jZSIsc3RhcnQ6ey4uLmFbdF1bMV0uc3RhcnR9LGVuZDptfSxvPXt0eXBlOmQ+MT8ic3Ryb25nVGV4dCI6ImVtcGhhc2lzVGV4dCIsc3RhcnQ6ey4uLmFbcl1bMV0uZW5kfSxlbmQ6ey4uLmFbdF1bMV0uc3RhcnR9fSxpPXt0eXBlOmQ+MT8ic3Ryb25nIjoiZW1waGFzaXMiLHN0YXJ0OnsuLi5uLnN0YXJ0fSxlbmQ6ey4uLmwuZW5kfX0sYVtyXVsxXS5lbmQ9ey4uLm4uc3RhcnR9LGFbdF1bMV0uc3RhcnQ9ey4uLmwuZW5kfSxjPVtdLGFbcl1bMV0uZW5kLm9mZnNldC1hW3JdWzFdLnN0YXJ0Lm9mZnNldCYmKGM9dXMoYyxbWyJlbnRlciIsYVtyXVsxXSxlXSxbImV4aXQiLGFbcl1bMV0sZV1dKSksYz11cyhjLFtbImVudGVyIixpLGVdLFsiZW50ZXIiLG4sZV0sWyJleGl0IixuLGVdLFsiZW50ZXIiLG8sZV1dKSxjPXVzKGMsVTAoZS5wYXJzZXIuY29uc3RydWN0cy5pbnNpZGVTcGFuLm51bGwsYS5zbGljZShyKzEsdCksZSkpLGM9dXMoYyxbWyJleGl0IixvLGVdLFsiZW50ZXIiLGwsZV0sWyJleGl0IixsLGVdLFsiZXhpdCIsaSxlXV0pLGFbdF1bMV0uZW5kLm9mZnNldC1hW3RdWzFdLnN0YXJ0Lm9mZnNldD8ocD0yLGM9dXMoYyxbWyJlbnRlciIsYVt0XVsxXSxlXSxbImV4aXQiLGFbdF1bMV0sZV1dKSk6cD0wLEdyKGEsci0xLHQtciszLGMpLHQ9citjLmxlbmd0aC1wLTI7YnJlYWt9fWZvcih0PS0xOysrdDxhLmxlbmd0aDspYVt0XVsxXS50eXBlPT09ImF0dGVudGlvblNlcXVlbmNlIiYmKGFbdF1bMV0udHlwZT0iZGF0YSIpO3JldHVybiBhfWZ1bmN0aW9uIEp3YShhLGUpe2xldCB0PXRoaXMucGFyc2VyLmNvbnN0cnVjdHMuYXR0ZW50aW9uTWFya2Vycy5udWxsLHI9dGhpcy5wcmV2aW91cyxpPVVsKHIpLG87cmV0dXJuIG47ZnVuY3Rpb24gbihkKXtyZXR1cm4gbz1kLGEuZW50ZXIoImF0dGVudGlvblNlcXVlbmNlIiksbChkKX1mdW5jdGlvbiBsKGQpe2lmKGQ9PT1vKXJldHVybiBhLmNvbnN1bWUoZCksbDtsZXQgYz1hLmV4aXQoImF0dGVudGlvblNlcXVlbmNlIikscD1VbChkKSx1PSFwfHxwPT09MiYmaXx8dC5pbmNsdWRlcyhkKSxtPSFpfHxpPT09MiYmcHx8dC5pbmNsdWRlcyhyKTtyZXR1cm4gYy5fb3Blbj0hIShvPT09NDI/dTp1JiYoaXx8IW0pKSxjLl9jbG9zZT0hIShvPT09NDI/bTptJiYocHx8IXUpKSxlKGQpfX1mdW5jdGlvbiBMdXQoYSxlKXthLmNvbHVtbis9ZSxhLm9mZnNldCs9ZSxhLl9idWZmZXJJbmRleCs9ZX12YXIgUWcsJHV0PWYoKCk9PntJMigpO3pRKCk7WGcoKTtRZz17bmFtZToiYXR0ZW50aW9uIixyZXNvbHZlQWxsOlF3YSx0b2tlbml6ZTpKd2F9O3MoUXdhLCJyZXNvbHZlQWxsQXR0ZW50aW9uIik7cyhKd2EsInRva2VuaXplQXR0ZW50aW9uIik7cyhMdXQsIm1vdmVQb2ludCIpfSk7ZnVuY3Rpb24gZU1hKGEsZSx0KXtsZXQgcj0wO3JldHVybiBpO2Z1bmN0aW9uIGkodil7cmV0dXJuIGEuZW50ZXIoImF1dG9saW5rIiksYS5lbnRlcigiYXV0b2xpbmtNYXJrZXIiKSxhLmNvbnN1bWUodiksYS5leGl0KCJhdXRvbGlua01hcmtlciIpLGEuZW50ZXIoImF1dG9saW5rUHJvdG9jb2wiKSxvfWZ1bmN0aW9uIG8odil7cmV0dXJuICRzKHYpPyhhLmNvbnN1bWUodiksbik6dj09PTY0P3Qodik6Yyh2KX1mdW5jdGlvbiBuKHYpe3JldHVybiB2PT09NDN8fHY9PT00NXx8dj09PTQ2fHxOcih2KT8ocj0xLGwodikpOmModil9ZnVuY3Rpb24gbCh2KXtyZXR1cm4gdj09PTU4PyhhLmNvbnN1bWUodikscj0wLGQpOih2PT09NDN8fHY9PT00NXx8dj09PTQ2fHxOcih2KSkmJnIrKzwzMj8oYS5jb25zdW1lKHYpLGwpOihyPTAsYyh2KSl9ZnVuY3Rpb24gZCh2KXtyZXR1cm4gdj09PTYyPyhhLmV4aXQoImF1dG9saW5rUHJvdG9jb2wiKSxhLmVudGVyKCJhdXRvbGlua01hcmtlciIpLGEuY29uc3VtZSh2KSxhLmV4aXQoImF1dG9saW5rTWFya2VyIiksYS5leGl0KCJhdXRvbGluayIpLGUpOnY9PT1udWxsfHx2PT09MzJ8fHY9PT02MHx8VzModik/dCh2KTooYS5jb25zdW1lKHYpLGQpfWZ1bmN0aW9uIGModil7cmV0dXJuIHY9PT02ND8oYS5jb25zdW1lKHYpLHApOmJkdCh2KT8oYS5jb25zdW1lKHYpLGMpOnQodil9ZnVuY3Rpb24gcCh2KXtyZXR1cm4gTnIodik/dSh2KTp0KHYpfWZ1bmN0aW9uIHUodil7cmV0dXJuIHY9PT00Nj8oYS5jb25zdW1lKHYpLHI9MCxwKTp2PT09NjI/KGEuZXhpdCgiYXV0b2xpbmtQcm90b2NvbCIpLnR5cGU9ImF1dG9saW5rRW1haWwiLGEuZW50ZXIoImF1dG9saW5rTWFya2VyIiksYS5jb25zdW1lKHYpLGEuZXhpdCgiYXV0b2xpbmtNYXJrZXIiKSxhLmV4aXQoImF1dG9saW5rIiksZSk6bSh2KX1mdW5jdGlvbiBtKHYpe2lmKCh2PT09NDV8fE5yKHYpKSYmcisrPDYzKXtsZXQgeD12PT09NDU/bTp1O3JldHVybiBhLmNvbnN1bWUodikseH1yZXR1cm4gdCh2KX19dmFyIFg0ZSxEdXQ9ZigoKT0+e2JhKCk7WDRlPXtuYW1lOiJhdXRvbGluayIsdG9rZW5pemU6ZU1hfTtzKGVNYSwidG9rZW5pemVBdXRvbGluayIpfSk7ZnVuY3Rpb24gQXQoYSxlLHQscil7bGV0IGk9cj9yLTE6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLG89MDtyZXR1cm4gbjtmdW5jdGlvbiBuKGQpe3JldHVybiBDdChkKT8oYS5lbnRlcih0KSxsKGQpKTplKGQpfWZ1bmN0aW9uIGwoZCl7cmV0dXJuIEN0KGQpJiZvKys8aT8oYS5jb25zdW1lKGQpLGwpOihhLmV4aXQodCksZShkKSl9fXZhciBZcj1mKCgpPT57YmEoKTtzKEF0LCJmYWN0b3J5U3BhY2UiKX0pO2Z1bmN0aW9uIHRNYShhLGUsdCl7cmV0dXJuIHI7ZnVuY3Rpb24gcihvKXtyZXR1cm4gQ3Qobyk/QXQoYSxpLCJsaW5lUHJlZml4Iikobyk6aShvKX1mdW5jdGlvbiBpKG8pe3JldHVybiBvPT09bnVsbHx8SmUobyk/ZShvKTp0KG8pfX12YXIgRjIsUlE9ZigoKT0+e1lyKCk7YmEoKTtGMj17cGFydGlhbDohMCx0b2tlbml6ZTp0TWF9O3ModE1hLCJ0b2tlbml6ZUJsYW5rTGluZSIpfSk7ZnVuY3Rpb24gYU1hKGEsZSx0KXtsZXQgcj10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkobil7aWYobj09PTYyKXtsZXQgbD1yLmNvbnRhaW5lclN0YXRlO3JldHVybiBsLm9wZW58fChhLmVudGVyKCJibG9ja1F1b3RlIix7X2NvbnRhaW5lcjohMH0pLGwub3Blbj0hMCksYS5lbnRlcigiYmxvY2tRdW90ZVByZWZpeCIpLGEuZW50ZXIoImJsb2NrUXVvdGVNYXJrZXIiKSxhLmNvbnN1bWUobiksYS5leGl0KCJibG9ja1F1b3RlTWFya2VyIiksb31yZXR1cm4gdChuKX1mdW5jdGlvbiBvKG4pe3JldHVybiBDdChuKT8oYS5lbnRlcigiYmxvY2tRdW90ZVByZWZpeFdoaXRlc3BhY2UiKSxhLmNvbnN1bWUobiksYS5leGl0KCJibG9ja1F1b3RlUHJlZml4V2hpdGVzcGFjZSIpLGEuZXhpdCgiYmxvY2tRdW90ZVByZWZpeCIpLGUpOihhLmV4aXQoImJsb2NrUXVvdGVQcmVmaXgiKSxlKG4pKX19ZnVuY3Rpb24gck1hKGEsZSx0KXtsZXQgcj10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkobil7cmV0dXJuIEN0KG4pP0F0KGEsbywibGluZVByZWZpeCIsci5wYXJzZXIuY29uc3RydWN0cy5kaXNhYmxlLm51bGwuaW5jbHVkZXMoImNvZGVJbmRlbnRlZCIpP3ZvaWQgMDo0KShuKTpvKG4pfWZ1bmN0aW9uIG8obil7cmV0dXJuIGEuYXR0ZW1wdChPUSxlLHQpKG4pfX1mdW5jdGlvbiBzTWEoYSl7YS5leGl0KCJibG9ja1F1b3RlIil9dmFyIE9RLEF1dD1mKCgpPT57WXIoKTtiYSgpO09RPXtjb250aW51YXRpb246e3Rva2VuaXplOnJNYX0sZXhpdDpzTWEsbmFtZToiYmxvY2tRdW90ZSIsdG9rZW5pemU6YU1hfTtzKGFNYSwidG9rZW5pemVCbG9ja1F1b3RlU3RhcnQiKTtzKHJNYSwidG9rZW5pemVCbG9ja1F1b3RlQ29udGludWF0aW9uIik7cyhzTWEsImV4aXQiKX0pO2Z1bmN0aW9uIGlNYShhLGUsdCl7cmV0dXJuIHI7ZnVuY3Rpb24gcihvKXtyZXR1cm4gYS5lbnRlcigiY2hhcmFjdGVyRXNjYXBlIiksYS5lbnRlcigiZXNjYXBlTWFya2VyIiksYS5jb25zdW1lKG8pLGEuZXhpdCgiZXNjYXBlTWFya2VyIiksaX1mdW5jdGlvbiBpKG8pe3JldHVybiB4ZHQobyk/KGEuZW50ZXIoImNoYXJhY3RlckVzY2FwZVZhbHVlIiksYS5jb25zdW1lKG8pLGEuZXhpdCgiY2hhcmFjdGVyRXNjYXBlVmFsdWUiKSxhLmV4aXQoImNoYXJhY3RlckVzY2FwZSIpLGUpOnQobyl9fXZhciBGUSxFdXQ9ZigoKT0+e2JhKCk7RlE9e25hbWU6ImNoYXJhY3RlckVzY2FwZSIsdG9rZW5pemU6aU1hfTtzKGlNYSwidG9rZW5pemVDaGFyYWN0ZXJFc2NhcGUiKX0pO2Z1bmN0aW9uIG9NYShhLGUsdCl7bGV0IHI9dGhpcyxpPTAsbyxuO3JldHVybiBsO2Z1bmN0aW9uIGwodSl7cmV0dXJuIGEuZW50ZXIoImNoYXJhY3RlclJlZmVyZW5jZSIpLGEuZW50ZXIoImNoYXJhY3RlclJlZmVyZW5jZU1hcmtlciIpLGEuY29uc3VtZSh1KSxhLmV4aXQoImNoYXJhY3RlclJlZmVyZW5jZU1hcmtlciIpLGR9ZnVuY3Rpb24gZCh1KXtyZXR1cm4gdT09PTM1PyhhLmVudGVyKCJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJOdW1lcmljIiksYS5jb25zdW1lKHUpLGEuZXhpdCgiY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VyTnVtZXJpYyIpLGMpOihhLmVudGVyKCJjaGFyYWN0ZXJSZWZlcmVuY2VWYWx1ZSIpLG89MzEsbj1OcixwKHUpKX1mdW5jdGlvbiBjKHUpe3JldHVybiB1PT09ODh8fHU9PT0xMjA/KGEuZW50ZXIoImNoYXJhY3RlclJlZmVyZW5jZU1hcmtlckhleGFkZWNpbWFsIiksYS5jb25zdW1lKHUpLGEuZXhpdCgiY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VySGV4YWRlY2ltYWwiKSxhLmVudGVyKCJjaGFyYWN0ZXJSZWZlcmVuY2VWYWx1ZSIpLG89NixuPXZkdCxwKTooYS5lbnRlcigiY2hhcmFjdGVyUmVmZXJlbmNlVmFsdWUiKSxvPTcsbj1XZyxwKHUpKX1mdW5jdGlvbiBwKHUpe2lmKHU9PT01OSYmaSl7bGV0IG09YS5leGl0KCJjaGFyYWN0ZXJSZWZlcmVuY2VWYWx1ZSIpO3JldHVybiBuPT09TnImJiFqMChyLnNsaWNlU2VyaWFsaXplKG0pKT90KHUpOihhLmVudGVyKCJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXIiKSxhLmNvbnN1bWUodSksYS5leGl0KCJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXIiKSxhLmV4aXQoImNoYXJhY3RlclJlZmVyZW5jZSIpLGUpfXJldHVybiBuKHUpJiZpKys8bz8oYS5jb25zdW1lKHUpLHApOnQodSl9fXZhciBCUSxQdXQ9ZigoKT0+e1pnKCk7YmEoKTtCUT17bmFtZToiY2hhcmFjdGVyUmVmZXJlbmNlIix0b2tlbml6ZTpvTWF9O3Mob01hLCJ0b2tlbml6ZUNoYXJhY3RlclJlZmVyZW5jZSIpfSk7ZnVuY3Rpb24gbk1hKGEsZSx0KXtsZXQgcj10aGlzLGk9e3BhcnRpYWw6ITAsdG9rZW5pemU6X30sbz0wLG49MCxsO3JldHVybiBkO2Z1bmN0aW9uIGQoeil7cmV0dXJuIGMoeil9ZnVuY3Rpb24gYyh6KXtsZXQgTz1yLmV2ZW50c1tyLmV2ZW50cy5sZW5ndGgtMV07cmV0dXJuIG89TyYmT1sxXS50eXBlPT09ImxpbmVQcmVmaXgiP09bMl0uc2xpY2VTZXJpYWxpemUoT1sxXSwhMCkubGVuZ3RoOjAsbD16LGEuZW50ZXIoImNvZGVGZW5jZWQiKSxhLmVudGVyKCJjb2RlRmVuY2VkRmVuY2UiKSxhLmVudGVyKCJjb2RlRmVuY2VkRmVuY2VTZXF1ZW5jZSIpLHAoeil9ZnVuY3Rpb24gcCh6KXtyZXR1cm4gej09PWw/KG4rKyxhLmNvbnN1bWUoeikscCk6bjwzP3Qoeik6KGEuZXhpdCgiY29kZUZlbmNlZEZlbmNlU2VxdWVuY2UiKSxDdCh6KT9BdChhLHUsIndoaXRlc3BhY2UiKSh6KTp1KHopKX1mdW5jdGlvbiB1KHope3JldHVybiB6PT09bnVsbHx8SmUoeik/KGEuZXhpdCgiY29kZUZlbmNlZEZlbmNlIiksci5pbnRlcnJ1cHQ/ZSh6KTphLmNoZWNrKEl1dCxiLE4pKHopKTooYS5lbnRlcigiY29kZUZlbmNlZEZlbmNlSW5mbyIpLGEuZW50ZXIoImNodW5rU3RyaW5nIix7Y29udGVudFR5cGU6InN0cmluZyJ9KSxtKHopKX1mdW5jdGlvbiBtKHope3JldHVybiB6PT09bnVsbHx8SmUoeik/KGEuZXhpdCgiY2h1bmtTdHJpbmciKSxhLmV4aXQoImNvZGVGZW5jZWRGZW5jZUluZm8iKSx1KHopKTpDdCh6KT8oYS5leGl0KCJjaHVua1N0cmluZyIpLGEuZXhpdCgiY29kZUZlbmNlZEZlbmNlSW5mbyIpLEF0KGEsdiwid2hpdGVzcGFjZSIpKHopKTp6PT09OTYmJno9PT1sP3Qoeik6KGEuY29uc3VtZSh6KSxtKX1mdW5jdGlvbiB2KHope3JldHVybiB6PT09bnVsbHx8SmUoeik/dSh6KTooYS5lbnRlcigiY29kZUZlbmNlZEZlbmNlTWV0YSIpLGEuZW50ZXIoImNodW5rU3RyaW5nIix7Y29udGVudFR5cGU6InN0cmluZyJ9KSx4KHopKX1mdW5jdGlvbiB4KHope3JldHVybiB6PT09bnVsbHx8SmUoeik/KGEuZXhpdCgiY2h1bmtTdHJpbmciKSxhLmV4aXQoImNvZGVGZW5jZWRGZW5jZU1ldGEiKSx1KHopKTp6PT09OTYmJno9PT1sP3Qoeik6KGEuY29uc3VtZSh6KSx4KX1mdW5jdGlvbiBiKHope3JldHVybiBhLmF0dGVtcHQoaSxOLGcpKHopfWZ1bmN0aW9uIGcoeil7cmV0dXJuIGEuZW50ZXIoImxpbmVFbmRpbmciKSxhLmNvbnN1bWUoeiksYS5leGl0KCJsaW5lRW5kaW5nIikseX1mdW5jdGlvbiB5KHope3JldHVybiBvPjAmJkN0KHopP0F0KGEsaywibGluZVByZWZpeCIsbysxKSh6KTprKHopfWZ1bmN0aW9uIGsoeil7cmV0dXJuIHo9PT1udWxsfHxKZSh6KT9hLmNoZWNrKEl1dCxiLE4pKHopOihhLmVudGVyKCJjb2RlRmxvd1ZhbHVlIiksQyh6KSl9ZnVuY3Rpb24gQyh6KXtyZXR1cm4gej09PW51bGx8fEplKHopPyhhLmV4aXQoImNvZGVGbG93VmFsdWUiKSxrKHopKTooYS5jb25zdW1lKHopLEMpfWZ1bmN0aW9uIE4oeil7cmV0dXJuIGEuZXhpdCgiY29kZUZlbmNlZCIpLGUoeil9ZnVuY3Rpb24gXyh6LE8sVCl7bGV0IEU9MDtyZXR1cm4gQjtmdW5jdGlvbiBCKEYpe3JldHVybiB6LmVudGVyKCJsaW5lRW5kaW5nIiksei5jb25zdW1lKEYpLHouZXhpdCgibGluZUVuZGluZyIpLE19ZnVuY3Rpb24gTShGKXtyZXR1cm4gei5lbnRlcigiY29kZUZlbmNlZEZlbmNlIiksQ3QoRik/QXQoeixTLCJsaW5lUHJlZml4IixyLnBhcnNlci5jb25zdHJ1Y3RzLmRpc2FibGUubnVsbC5pbmNsdWRlcygiY29kZUluZGVudGVkIik/dm9pZCAwOjQpKEYpOlMoRil9ZnVuY3Rpb24gUyhGKXtyZXR1cm4gRj09PWw/KHouZW50ZXIoImNvZGVGZW5jZWRGZW5jZVNlcXVlbmNlIiksUChGKSk6VChGKX1mdW5jdGlvbiBQKEYpe3JldHVybiBGPT09bD8oRSsrLHouY29uc3VtZShGKSxQKTpFPj1uPyh6LmV4aXQoImNvZGVGZW5jZWRGZW5jZVNlcXVlbmNlIiksQ3QoRik/QXQoeixBLCJ3aGl0ZXNwYWNlIikoRik6QShGKSk6VChGKX1mdW5jdGlvbiBBKEYpe3JldHVybiBGPT09bnVsbHx8SmUoRik/KHouZXhpdCgiY29kZUZlbmNlZEZlbmNlIiksTyhGKSk6VChGKX19fWZ1bmN0aW9uIGxNYShhLGUsdCl7bGV0IHI9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKG4pe3JldHVybiBuPT09bnVsbD90KG4pOihhLmVudGVyKCJsaW5lRW5kaW5nIiksYS5jb25zdW1lKG4pLGEuZXhpdCgibGluZUVuZGluZyIpLG8pfWZ1bmN0aW9uIG8obil7cmV0dXJuIHIucGFyc2VyLmxhenlbci5ub3coKS5saW5lXT90KG4pOmUobil9fXZhciBJdXQsSFEsTnV0PWYoKCk9PntZcigpO2JhKCk7SXV0PXtwYXJ0aWFsOiEwLHRva2VuaXplOmxNYX0sSFE9e2NvbmNyZXRlOiEwLG5hbWU6ImNvZGVGZW5jZWQiLHRva2VuaXplOm5NYX07cyhuTWEsInRva2VuaXplQ29kZUZlbmNlZCIpO3MobE1hLCJ0b2tlbml6ZU5vbkxhenlDb250aW51YXRpb24iKX0pO2Z1bmN0aW9uIGRNYShhLGUsdCl7bGV0IHI9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKGMpe3JldHVybiBhLmVudGVyKCJjb2RlSW5kZW50ZWQiKSxBdChhLG8sImxpbmVQcmVmaXgiLDUpKGMpfWZ1bmN0aW9uIG8oYyl7bGV0IHA9ci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdO3JldHVybiBwJiZwWzFdLnR5cGU9PT0ibGluZVByZWZpeCImJnBbMl0uc2xpY2VTZXJpYWxpemUocFsxXSwhMCkubGVuZ3RoPj00P24oYyk6dChjKX1mdW5jdGlvbiBuKGMpe3JldHVybiBjPT09bnVsbD9kKGMpOkplKGMpP2EuYXR0ZW1wdChjTWEsbixkKShjKTooYS5lbnRlcigiY29kZUZsb3dWYWx1ZSIpLGwoYykpfWZ1bmN0aW9uIGwoYyl7cmV0dXJuIGM9PT1udWxsfHxKZShjKT8oYS5leGl0KCJjb2RlRmxvd1ZhbHVlIiksbihjKSk6KGEuY29uc3VtZShjKSxsKX1mdW5jdGlvbiBkKGMpe3JldHVybiBhLmV4aXQoImNvZGVJbmRlbnRlZCIpLGUoYyl9fWZ1bmN0aW9uIHVNYShhLGUsdCl7bGV0IHI9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKG4pe3JldHVybiByLnBhcnNlci5sYXp5W3Iubm93KCkubGluZV0/dChuKTpKZShuKT8oYS5lbnRlcigibGluZUVuZGluZyIpLGEuY29uc3VtZShuKSxhLmV4aXQoImxpbmVFbmRpbmciKSxpKTpBdChhLG8sImxpbmVQcmVmaXgiLDUpKG4pfWZ1bmN0aW9uIG8obil7bGV0IGw9ci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdO3JldHVybiBsJiZsWzFdLnR5cGU9PT0ibGluZVByZWZpeCImJmxbMl0uc2xpY2VTZXJpYWxpemUobFsxXSwhMCkubGVuZ3RoPj00P2Uobik6SmUobik/aShuKTp0KG4pfX12YXIgSmcsY01hLFJ1dD1mKCgpPT57WXIoKTtiYSgpO0pnPXtuYW1lOiJjb2RlSW5kZW50ZWQiLHRva2VuaXplOmRNYX0sY01hPXtwYXJ0aWFsOiEwLHRva2VuaXplOnVNYX07cyhkTWEsInRva2VuaXplQ29kZUluZGVudGVkIik7cyh1TWEsInRva2VuaXplRnVydGhlclN0YXJ0Iil9KTtmdW5jdGlvbiBwTWEoYSl7bGV0IGU9YS5sZW5ndGgtNCx0PTMscixpO2lmKChhW3RdWzFdLnR5cGU9PT0ibGluZUVuZGluZyJ8fGFbdF1bMV0udHlwZT09PSJzcGFjZSIpJiYoYVtlXVsxXS50eXBlPT09ImxpbmVFbmRpbmcifHxhW2VdWzFdLnR5cGU9PT0ic3BhY2UiKSl7Zm9yKHI9dDsrK3I8ZTspaWYoYVtyXVsxXS50eXBlPT09ImNvZGVUZXh0RGF0YSIpe2FbdF1bMV0udHlwZT0iY29kZVRleHRQYWRkaW5nIixhW2VdWzFdLnR5cGU9ImNvZGVUZXh0UGFkZGluZyIsdCs9MixlLT0yO2JyZWFrfX1mb3Iocj10LTEsZSsrOysrcjw9ZTspaT09PXZvaWQgMD9yIT09ZSYmYVtyXVsxXS50eXBlIT09ImxpbmVFbmRpbmciJiYoaT1yKToocj09PWV8fGFbcl1bMV0udHlwZT09PSJsaW5lRW5kaW5nIikmJihhW2ldWzFdLnR5cGU9ImNvZGVUZXh0RGF0YSIsciE9PWkrMiYmKGFbaV1bMV0uZW5kPWFbci0xXVsxXS5lbmQsYS5zcGxpY2UoaSsyLHItaS0yKSxlLT1yLWktMixyPWkrMiksaT12b2lkIDApO3JldHVybiBhfWZ1bmN0aW9uIGZNYShhKXtyZXR1cm4gYSE9PTk2fHx0aGlzLmV2ZW50c1t0aGlzLmV2ZW50cy5sZW5ndGgtMV1bMV0udHlwZT09PSJjaGFyYWN0ZXJFc2NhcGUifWZ1bmN0aW9uIGhNYShhLGUsdCl7bGV0IHI9dGhpcyxpPTAsbyxuO3JldHVybiBsO2Z1bmN0aW9uIGwobSl7cmV0dXJuIGEuZW50ZXIoImNvZGVUZXh0IiksYS5lbnRlcigiY29kZVRleHRTZXF1ZW5jZSIpLGQobSl9ZnVuY3Rpb24gZChtKXtyZXR1cm4gbT09PTk2PyhhLmNvbnN1bWUobSksaSsrLGQpOihhLmV4aXQoImNvZGVUZXh0U2VxdWVuY2UiKSxjKG0pKX1mdW5jdGlvbiBjKG0pe3JldHVybiBtPT09bnVsbD90KG0pOm09PT0zMj8oYS5lbnRlcigic3BhY2UiKSxhLmNvbnN1bWUobSksYS5leGl0KCJzcGFjZSIpLGMpOm09PT05Nj8obj1hLmVudGVyKCJjb2RlVGV4dFNlcXVlbmNlIiksbz0wLHUobSkpOkplKG0pPyhhLmVudGVyKCJsaW5lRW5kaW5nIiksYS5jb25zdW1lKG0pLGEuZXhpdCgibGluZUVuZGluZyIpLGMpOihhLmVudGVyKCJjb2RlVGV4dERhdGEiKSxwKG0pKX1mdW5jdGlvbiBwKG0pe3JldHVybiBtPT09bnVsbHx8bT09PTMyfHxtPT09OTZ8fEplKG0pPyhhLmV4aXQoImNvZGVUZXh0RGF0YSIpLGMobSkpOihhLmNvbnN1bWUobSkscCl9ZnVuY3Rpb24gdShtKXtyZXR1cm4gbT09PTk2PyhhLmNvbnN1bWUobSksbysrLHUpOm89PT1pPyhhLmV4aXQoImNvZGVUZXh0U2VxdWVuY2UiKSxhLmV4aXQoImNvZGVUZXh0IiksZShtKSk6KG4udHlwZT0iY29kZVRleHREYXRhIixwKG0pKX19dmFyIFE0ZSxPdXQ9ZigoKT0+e2JhKCk7UTRlPXtuYW1lOiJjb2RlVGV4dCIscHJldmlvdXM6Zk1hLHJlc29sdmU6cE1hLHRva2VuaXplOmhNYX07cyhwTWEsInJlc29sdmVDb2RlVGV4dCIpO3MoZk1hLCJwcmV2aW91cyIpO3MoaE1hLCJ0b2tlbml6ZUNvZGVUZXh0Iil9KTtmdW5jdGlvbiBlYihhLGUpe2xldCB0PTA7aWYoZS5sZW5ndGg8MWU0KWEucHVzaCguLi5lKTtlbHNlIGZvcig7dDxlLmxlbmd0aDspYS5wdXNoKC4uLmUuc2xpY2UodCx0KzFlNCkpLHQrPTFlNH12YXIgdGIsSjRlPWYoKCk9Pnt0Yj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJTcGxpY2VCdWZmZXIiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmxlZnQ9ZT9bLi4uZV06W10sdGhpcy5yaWdodD1bXX1nZXQoZSl7aWYoZTwwfHxlPj10aGlzLmxlZnQubGVuZ3RoK3RoaXMucmlnaHQubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJDYW5ub3QgYWNjZXNzIGluZGV4IGAiK2UrImAgaW4gYSBzcGxpY2UgYnVmZmVyIG9mIHNpemUgYCIrKHRoaXMubGVmdC5sZW5ndGgrdGhpcy5yaWdodC5sZW5ndGgpKyJgIik7cmV0dXJuIGU8dGhpcy5sZWZ0Lmxlbmd0aD90aGlzLmxlZnRbZV06dGhpcy5yaWdodFt0aGlzLnJpZ2h0Lmxlbmd0aC1lK3RoaXMubGVmdC5sZW5ndGgtMV19Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmxlZnQubGVuZ3RoK3RoaXMucmlnaHQubGVuZ3RofXNoaWZ0KCl7cmV0dXJuIHRoaXMuc2V0Q3Vyc29yKDApLHRoaXMucmlnaHQucG9wKCl9c2xpY2UoZSx0KXtsZXQgcj10Pz9OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7cmV0dXJuIHI8dGhpcy5sZWZ0Lmxlbmd0aD90aGlzLmxlZnQuc2xpY2UoZSxyKTplPnRoaXMubGVmdC5sZW5ndGg/dGhpcy5yaWdodC5zbGljZSh0aGlzLnJpZ2h0Lmxlbmd0aC1yK3RoaXMubGVmdC5sZW5ndGgsdGhpcy5yaWdodC5sZW5ndGgtZSt0aGlzLmxlZnQubGVuZ3RoKS5yZXZlcnNlKCk6dGhpcy5sZWZ0LnNsaWNlKGUpLmNvbmNhdCh0aGlzLnJpZ2h0LnNsaWNlKHRoaXMucmlnaHQubGVuZ3RoLXIrdGhpcy5sZWZ0Lmxlbmd0aCkucmV2ZXJzZSgpKX1zcGxpY2UoZSx0LHIpe2xldCBpPXR8fDA7dGhpcy5zZXRDdXJzb3IoTWF0aC50cnVuYyhlKSk7bGV0IG89dGhpcy5yaWdodC5zcGxpY2UodGhpcy5yaWdodC5sZW5ndGgtaSxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpO3JldHVybiByJiZlYih0aGlzLmxlZnQsciksby5yZXZlcnNlKCl9cG9wKCl7cmV0dXJuIHRoaXMuc2V0Q3Vyc29yKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSksdGhpcy5sZWZ0LnBvcCgpfXB1c2goZSl7dGhpcy5zZXRDdXJzb3IoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSx0aGlzLmxlZnQucHVzaChlKX1wdXNoTWFueShlKXt0aGlzLnNldEN1cnNvcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpLGViKHRoaXMubGVmdCxlKX11bnNoaWZ0KGUpe3RoaXMuc2V0Q3Vyc29yKDApLHRoaXMucmlnaHQucHVzaChlKX11bnNoaWZ0TWFueShlKXt0aGlzLnNldEN1cnNvcigwKSxlYih0aGlzLnJpZ2h0LGUucmV2ZXJzZSgpKX1zZXRDdXJzb3IoZSl7aWYoIShlPT09dGhpcy5sZWZ0Lmxlbmd0aHx8ZT50aGlzLmxlZnQubGVuZ3RoJiZ0aGlzLnJpZ2h0Lmxlbmd0aD09PTB8fGU8MCYmdGhpcy5sZWZ0Lmxlbmd0aD09PTApKWlmKGU8dGhpcy5sZWZ0Lmxlbmd0aCl7bGV0IHQ9dGhpcy5sZWZ0LnNwbGljZShlLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7ZWIodGhpcy5yaWdodCx0LnJldmVyc2UoKSl9ZWxzZXtsZXQgdD10aGlzLnJpZ2h0LnNwbGljZSh0aGlzLmxlZnQubGVuZ3RoK3RoaXMucmlnaHQubGVuZ3RoLWUsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTtlYih0aGlzLmxlZnQsdC5yZXZlcnNlKCkpfX19O3MoZWIsImNodW5rZWRQdXNoIil9KTtmdW5jdGlvbiBxUShhKXtsZXQgZT17fSx0PS0xLHIsaSxvLG4sbCxkLGMscD1uZXcgdGIoYSk7Zm9yKDsrK3Q8cC5sZW5ndGg7KXtmb3IoO3QgaW4gZTspdD1lW3RdO2lmKHI9cC5nZXQodCksdCYmclsxXS50eXBlPT09ImNodW5rRmxvdyImJnAuZ2V0KHQtMSlbMV0udHlwZT09PSJsaXN0SXRlbVByZWZpeCImJihkPXJbMV0uX3Rva2VuaXplci5ldmVudHMsbz0wLG88ZC5sZW5ndGgmJmRbb11bMV0udHlwZT09PSJsaW5lRW5kaW5nQmxhbmsiJiYobys9MiksbzxkLmxlbmd0aCYmZFtvXVsxXS50eXBlPT09ImNvbnRlbnQiKSlmb3IoOysrbzxkLmxlbmd0aCYmZFtvXVsxXS50eXBlIT09ImNvbnRlbnQiOylkW29dWzFdLnR5cGU9PT0iY2h1bmtUZXh0IiYmKGRbb11bMV0uX2lzSW5GaXJzdENvbnRlbnRPZkxpc3RJdGVtPSEwLG8rKyk7aWYoclswXT09PSJlbnRlciIpclsxXS5jb250ZW50VHlwZSYmKE9iamVjdC5hc3NpZ24oZSxtTWEocCx0KSksdD1lW3RdLGM9ITApO2Vsc2UgaWYoclsxXS5fY29udGFpbmVyKXtmb3Iobz10LGk9dm9pZCAwO28tLTspaWYobj1wLmdldChvKSxuWzFdLnR5cGU9PT0ibGluZUVuZGluZyJ8fG5bMV0udHlwZT09PSJsaW5lRW5kaW5nQmxhbmsiKW5bMF09PT0iZW50ZXIiJiYoaSYmKHAuZ2V0KGkpWzFdLnR5cGU9ImxpbmVFbmRpbmdCbGFuayIpLG5bMV0udHlwZT0ibGluZUVuZGluZyIsaT1vKTtlbHNlIGlmKCEoblsxXS50eXBlPT09ImxpbmVQcmVmaXgifHxuWzFdLnR5cGU9PT0ibGlzdEl0ZW1JbmRlbnQiKSlicmVhaztpJiYoclsxXS5lbmQ9ey4uLnAuZ2V0KGkpWzFdLnN0YXJ0fSxsPXAuc2xpY2UoaSx0KSxsLnVuc2hpZnQocikscC5zcGxpY2UoaSx0LWkrMSxsKSl9fXJldHVybiBHcihhLDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHAuc2xpY2UoMCkpLCFjfWZ1bmN0aW9uIG1NYShhLGUpe2xldCB0PWEuZ2V0KGUpWzFdLHI9YS5nZXQoZSlbMl0saT1lLTEsbz1bXSxuPXQuX3Rva2VuaXplcjtufHwobj1yLnBhcnNlclt0LmNvbnRlbnRUeXBlXSh0LnN0YXJ0KSx0Ll9jb250ZW50VHlwZVRleHRUcmFpbGluZyYmKG4uX2NvbnRlbnRUeXBlVGV4dFRyYWlsaW5nPSEwKSk7bGV0IGw9bi5ldmVudHMsZD1bXSxjPXt9LHAsdSxtPS0xLHY9dCx4PTAsYj0wLGc9W2JdO2Zvcig7djspe2Zvcig7YS5nZXQoKytpKVsxXSE9PXY7KTtvLnB1c2goaSksdi5fdG9rZW5pemVyfHwocD1yLnNsaWNlU3RyZWFtKHYpLHYubmV4dHx8cC5wdXNoKG51bGwpLHUmJm4uZGVmaW5lU2tpcCh2LnN0YXJ0KSx2Ll9pc0luRmlyc3RDb250ZW50T2ZMaXN0SXRlbSYmKG4uX2dmbVRhc2tsaXN0Rmlyc3RDb250ZW50T2ZMaXN0SXRlbT0hMCksbi53cml0ZShwKSx2Ll9pc0luRmlyc3RDb250ZW50T2ZMaXN0SXRlbSYmKG4uX2dmbVRhc2tsaXN0Rmlyc3RDb250ZW50T2ZMaXN0SXRlbT12b2lkIDApKSx1PXYsdj12Lm5leHR9Zm9yKHY9dDsrK208bC5sZW5ndGg7KWxbbV1bMF09PT0iZXhpdCImJmxbbS0xXVswXT09PSJlbnRlciImJmxbbV1bMV0udHlwZT09PWxbbS0xXVsxXS50eXBlJiZsW21dWzFdLnN0YXJ0LmxpbmUhPT1sW21dWzFdLmVuZC5saW5lJiYoYj1tKzEsZy5wdXNoKGIpLHYuX3Rva2VuaXplcj12b2lkIDAsdi5wcmV2aW91cz12b2lkIDAsdj12Lm5leHQpO2ZvcihuLmV2ZW50cz1bXSx2Pyh2Ll90b2tlbml6ZXI9dm9pZCAwLHYucHJldmlvdXM9dm9pZCAwKTpnLnBvcCgpLG09Zy5sZW5ndGg7bS0tOyl7bGV0IHk9bC5zbGljZShnW21dLGdbbSsxXSksaz1vLnBvcCgpO2QucHVzaChbayxrK3kubGVuZ3RoLTFdKSxhLnNwbGljZShrLDIseSl9Zm9yKGQucmV2ZXJzZSgpLG09LTE7KyttPGQubGVuZ3RoOyljW3grZFttXVswXV09eCtkW21dWzFdLHgrPWRbbV1bMV0tZFttXVswXS0xO3JldHVybiBjfXZhciBlM2U9ZigoKT0+e0kyKCk7SjRlKCk7SjRlKCk7cyhxUSwic3VidG9rZW5pemUiKTtzKG1NYSwic3ViY29udGVudCIpfSk7ZnVuY3Rpb24gYk1hKGEpe3JldHVybiBxUShhKSxhfWZ1bmN0aW9uIHZNYShhLGUpe2xldCB0O3JldHVybiByO2Z1bmN0aW9uIHIobCl7cmV0dXJuIGEuZW50ZXIoImNvbnRlbnQiKSx0PWEuZW50ZXIoImNodW5rQ29udGVudCIse2NvbnRlbnRUeXBlOiJjb250ZW50In0pLGkobCl9ZnVuY3Rpb24gaShsKXtyZXR1cm4gbD09PW51bGw/byhsKTpKZShsKT9hLmNoZWNrKGdNYSxuLG8pKGwpOihhLmNvbnN1bWUobCksaSl9ZnVuY3Rpb24gbyhsKXtyZXR1cm4gYS5leGl0KCJjaHVua0NvbnRlbnQiKSxhLmV4aXQoImNvbnRlbnQiKSxlKGwpfWZ1bmN0aW9uIG4obCl7cmV0dXJuIGEuY29uc3VtZShsKSxhLmV4aXQoImNodW5rQ29udGVudCIpLHQubmV4dD1hLmVudGVyKCJjaHVua0NvbnRlbnQiLHtjb250ZW50VHlwZToiY29udGVudCIscHJldmlvdXM6dH0pLHQ9dC5uZXh0LGl9fWZ1bmN0aW9uIHhNYShhLGUsdCl7bGV0IHI9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKG4pe3JldHVybiBhLmV4aXQoImNodW5rQ29udGVudCIpLGEuZW50ZXIoImxpbmVFbmRpbmciKSxhLmNvbnN1bWUobiksYS5leGl0KCJsaW5lRW5kaW5nIiksQXQoYSxvLCJsaW5lUHJlZml4Iil9ZnVuY3Rpb24gbyhuKXtpZihuPT09bnVsbHx8SmUobikpcmV0dXJuIHQobik7bGV0IGw9ci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdO3JldHVybiFyLnBhcnNlci5jb25zdHJ1Y3RzLmRpc2FibGUubnVsbC5pbmNsdWRlcygiY29kZUluZGVudGVkIikmJmwmJmxbMV0udHlwZT09PSJsaW5lUHJlZml4IiYmbFsyXS5zbGljZVNlcmlhbGl6ZShsWzFdLCEwKS5sZW5ndGg+PTQ/ZShuKTphLmludGVycnVwdChyLnBhcnNlci5jb25zdHJ1Y3RzLmZsb3csdCxlKShuKX19dmFyIHQzZSxnTWEsRnV0PWYoKCk9PntZcigpO2JhKCk7ZTNlKCk7dDNlPXtyZXNvbHZlOmJNYSx0b2tlbml6ZTp2TWF9LGdNYT17cGFydGlhbDohMCx0b2tlbml6ZTp4TWF9O3MoYk1hLCJyZXNvbHZlQ29udGVudCIpO3Modk1hLCJ0b2tlbml6ZUNvbnRlbnQiKTtzKHhNYSwidG9rZW5pemVDb250aW51YXRpb24iKX0pO2Z1bmN0aW9uIFZRKGEsZSx0LHIsaSxvLG4sbCxkKXtsZXQgYz1kfHxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkscD0wO3JldHVybiB1O2Z1bmN0aW9uIHUoeSl7cmV0dXJuIHk9PT02MD8oYS5lbnRlcihyKSxhLmVudGVyKGkpLGEuZW50ZXIobyksYS5jb25zdW1lKHkpLGEuZXhpdChvKSxtKTp5PT09bnVsbHx8eT09PTMyfHx5PT09NDF8fFczKHkpP3QoeSk6KGEuZW50ZXIociksYS5lbnRlcihuKSxhLmVudGVyKGwpLGEuZW50ZXIoImNodW5rU3RyaW5nIix7Y29udGVudFR5cGU6InN0cmluZyJ9KSxiKHkpKX1mdW5jdGlvbiBtKHkpe3JldHVybiB5PT09NjI/KGEuZW50ZXIobyksYS5jb25zdW1lKHkpLGEuZXhpdChvKSxhLmV4aXQoaSksYS5leGl0KHIpLGUpOihhLmVudGVyKGwpLGEuZW50ZXIoImNodW5rU3RyaW5nIix7Y29udGVudFR5cGU6InN0cmluZyJ9KSx2KHkpKX1mdW5jdGlvbiB2KHkpe3JldHVybiB5PT09NjI/KGEuZXhpdCgiY2h1bmtTdHJpbmciKSxhLmV4aXQobCksbSh5KSk6eT09PW51bGx8fHk9PT02MHx8SmUoeSk/dCh5KTooYS5jb25zdW1lKHkpLHk9PT05Mj94OnYpfWZ1bmN0aW9uIHgoeSl7cmV0dXJuIHk9PT02MHx8eT09PTYyfHx5PT09OTI/KGEuY29uc3VtZSh5KSx2KTp2KHkpfWZ1bmN0aW9uIGIoeSl7cmV0dXJuIXAmJih5PT09bnVsbHx8eT09PTQxfHx1YSh5KSk/KGEuZXhpdCgiY2h1bmtTdHJpbmciKSxhLmV4aXQobCksYS5leGl0KG4pLGEuZXhpdChyKSxlKHkpKTpwPGMmJnk9PT00MD8oYS5jb25zdW1lKHkpLHArKyxiKTp5PT09NDE/KGEuY29uc3VtZSh5KSxwLS0sYik6eT09PW51bGx8fHk9PT0zMnx8eT09PTQwfHxXMyh5KT90KHkpOihhLmNvbnN1bWUoeSkseT09PTkyP2c6Yil9ZnVuY3Rpb24gZyh5KXtyZXR1cm4geT09PTQwfHx5PT09NDF8fHk9PT05Mj8oYS5jb25zdW1lKHkpLGIpOmIoeSl9fXZhciBhM2U9ZigoKT0+e2JhKCk7cyhWUSwiZmFjdG9yeURlc3RpbmF0aW9uIil9KTtmdW5jdGlvbiBqUShhLGUsdCxyLGksbyl7bGV0IG49dGhpcyxsPTAsZDtyZXR1cm4gYztmdW5jdGlvbiBjKHYpe3JldHVybiBhLmVudGVyKHIpLGEuZW50ZXIoaSksYS5jb25zdW1lKHYpLGEuZXhpdChpKSxhLmVudGVyKG8pLHB9ZnVuY3Rpb24gcCh2KXtyZXR1cm4gbD45OTl8fHY9PT1udWxsfHx2PT09OTF8fHY9PT05MyYmIWR8fHY9PT05NCYmIWwmJiJfaGlkZGVuRm9vdG5vdGVTdXBwb3J0ImluIG4ucGFyc2VyLmNvbnN0cnVjdHM/dCh2KTp2PT09OTM/KGEuZXhpdChvKSxhLmVudGVyKGkpLGEuY29uc3VtZSh2KSxhLmV4aXQoaSksYS5leGl0KHIpLGUpOkplKHYpPyhhLmVudGVyKCJsaW5lRW5kaW5nIiksYS5jb25zdW1lKHYpLGEuZXhpdCgibGluZUVuZGluZyIpLHApOihhLmVudGVyKCJjaHVua1N0cmluZyIse2NvbnRlbnRUeXBlOiJzdHJpbmcifSksdSh2KSl9ZnVuY3Rpb24gdSh2KXtyZXR1cm4gdj09PW51bGx8fHY9PT05MXx8dj09PTkzfHxKZSh2KXx8bCsrPjk5OT8oYS5leGl0KCJjaHVua1N0cmluZyIpLHAodikpOihhLmNvbnN1bWUodiksZHx8KGQ9IUN0KHYpKSx2PT09OTI/bTp1KX1mdW5jdGlvbiBtKHYpe3JldHVybiB2PT09OTF8fHY9PT05Mnx8dj09PTkzPyhhLmNvbnN1bWUodiksbCsrLHUpOnUodil9fXZhciByM2U9ZigoKT0+e2JhKCk7cyhqUSwiZmFjdG9yeUxhYmVsIil9KTtmdW5jdGlvbiBVUShhLGUsdCxyLGksbyl7bGV0IG47cmV0dXJuIGw7ZnVuY3Rpb24gbChtKXtyZXR1cm4gbT09PTM0fHxtPT09Mzl8fG09PT00MD8oYS5lbnRlcihyKSxhLmVudGVyKGkpLGEuY29uc3VtZShtKSxhLmV4aXQoaSksbj1tPT09NDA/NDE6bSxkKTp0KG0pfWZ1bmN0aW9uIGQobSl7cmV0dXJuIG09PT1uPyhhLmVudGVyKGkpLGEuY29uc3VtZShtKSxhLmV4aXQoaSksYS5leGl0KHIpLGUpOihhLmVudGVyKG8pLGMobSkpfWZ1bmN0aW9uIGMobSl7cmV0dXJuIG09PT1uPyhhLmV4aXQobyksZChuKSk6bT09PW51bGw/dChtKTpKZShtKT8oYS5lbnRlcigibGluZUVuZGluZyIpLGEuY29uc3VtZShtKSxhLmV4aXQoImxpbmVFbmRpbmciKSxBdChhLGMsImxpbmVQcmVmaXgiKSk6KGEuZW50ZXIoImNodW5rU3RyaW5nIix7Y29udGVudFR5cGU6InN0cmluZyJ9KSxwKG0pKX1mdW5jdGlvbiBwKG0pe3JldHVybiBtPT09bnx8bT09PW51bGx8fEplKG0pPyhhLmV4aXQoImNodW5rU3RyaW5nIiksYyhtKSk6KGEuY29uc3VtZShtKSxtPT09OTI/dTpwKX1mdW5jdGlvbiB1KG0pe3JldHVybiBtPT09bnx8bT09PTkyPyhhLmNvbnN1bWUobSkscCk6cChtKX19dmFyIHMzZT1mKCgpPT57WXIoKTtiYSgpO3MoVVEsImZhY3RvcnlUaXRsZSIpfSk7ZnVuY3Rpb24gSjMoYSxlKXtsZXQgdDtyZXR1cm4gcjtmdW5jdGlvbiByKGkpe3JldHVybiBKZShpKT8oYS5lbnRlcigibGluZUVuZGluZyIpLGEuY29uc3VtZShpKSxhLmV4aXQoImxpbmVFbmRpbmciKSx0PSEwLHIpOkN0KGkpP0F0KGEscix0PyJsaW5lUHJlZml4IjoibGluZVN1ZmZpeCIpKGkpOmUoaSl9fXZhciBpM2U9ZigoKT0+e1lyKCk7YmEoKTtzKEozLCJmYWN0b3J5V2hpdGVzcGFjZSIpfSk7ZnVuY3Rpb24gd01hKGEsZSx0KXtsZXQgcj10aGlzLGk7cmV0dXJuIG87ZnVuY3Rpb24gbyh2KXtyZXR1cm4gYS5lbnRlcigiZGVmaW5pdGlvbiIpLG4odil9ZnVuY3Rpb24gbih2KXtyZXR1cm4galEuY2FsbChyLGEsbCx0LCJkZWZpbml0aW9uTGFiZWwiLCJkZWZpbml0aW9uTGFiZWxNYXJrZXIiLCJkZWZpbml0aW9uTGFiZWxTdHJpbmciKSh2KX1mdW5jdGlvbiBsKHYpe3JldHVybiBpPVJyKHIuc2xpY2VTZXJpYWxpemUoci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdWzFdKS5zbGljZSgxLC0xKSksdj09PTU4PyhhLmVudGVyKCJkZWZpbml0aW9uTWFya2VyIiksYS5jb25zdW1lKHYpLGEuZXhpdCgiZGVmaW5pdGlvbk1hcmtlciIpLGQpOnQodil9ZnVuY3Rpb24gZCh2KXtyZXR1cm4gdWEodik/SjMoYSxjKSh2KTpjKHYpfWZ1bmN0aW9uIGModil7cmV0dXJuIFZRKGEscCx0LCJkZWZpbml0aW9uRGVzdGluYXRpb24iLCJkZWZpbml0aW9uRGVzdGluYXRpb25MaXRlcmFsIiwiZGVmaW5pdGlvbkRlc3RpbmF0aW9uTGl0ZXJhbE1hcmtlciIsImRlZmluaXRpb25EZXN0aW5hdGlvblJhdyIsImRlZmluaXRpb25EZXN0aW5hdGlvblN0cmluZyIpKHYpfWZ1bmN0aW9uIHAodil7cmV0dXJuIGEuYXR0ZW1wdCh5TWEsdSx1KSh2KX1mdW5jdGlvbiB1KHYpe3JldHVybiBDdCh2KT9BdChhLG0sIndoaXRlc3BhY2UiKSh2KTptKHYpfWZ1bmN0aW9uIG0odil7cmV0dXJuIHY9PT1udWxsfHxKZSh2KT8oYS5leGl0KCJkZWZpbml0aW9uIiksci5wYXJzZXIuZGVmaW5lZC5wdXNoKGkpLGUodikpOnQodil9fWZ1bmN0aW9uIE1NYShhLGUsdCl7cmV0dXJuIHI7ZnVuY3Rpb24gcihsKXtyZXR1cm4gdWEobCk/SjMoYSxpKShsKTp0KGwpfWZ1bmN0aW9uIGkobCl7cmV0dXJuIFVRKGEsbyx0LCJkZWZpbml0aW9uVGl0bGUiLCJkZWZpbml0aW9uVGl0bGVNYXJrZXIiLCJkZWZpbml0aW9uVGl0bGVTdHJpbmciKShsKX1mdW5jdGlvbiBvKGwpe3JldHVybiBDdChsKT9BdChhLG4sIndoaXRlc3BhY2UiKShsKTpuKGwpfWZ1bmN0aW9uIG4obCl7cmV0dXJuIGw9PT1udWxsfHxKZShsKT9lKGwpOnQobCl9fXZhciBvM2UseU1hLEJ1dD1mKCgpPT57YTNlKCk7cjNlKCk7WXIoKTtzM2UoKTtpM2UoKTtiYSgpO1YwKCk7bzNlPXtuYW1lOiJkZWZpbml0aW9uIix0b2tlbml6ZTp3TWF9LHlNYT17cGFydGlhbDohMCx0b2tlbml6ZTpNTWF9O3Mod01hLCJ0b2tlbml6ZURlZmluaXRpb24iKTtzKE1NYSwidG9rZW5pemVUaXRsZUJlZm9yZSIpfSk7ZnVuY3Rpb24ga01hKGEsZSx0KXtyZXR1cm4gcjtmdW5jdGlvbiByKG8pe3JldHVybiBhLmVudGVyKCJoYXJkQnJlYWtFc2NhcGUiKSxhLmNvbnN1bWUobyksaX1mdW5jdGlvbiBpKG8pe3JldHVybiBKZShvKT8oYS5leGl0KCJoYXJkQnJlYWtFc2NhcGUiKSxlKG8pKTp0KG8pfX12YXIgbjNlLEh1dD1mKCgpPT57YmEoKTtuM2U9e25hbWU6ImhhcmRCcmVha0VzY2FwZSIsdG9rZW5pemU6a01hfTtzKGtNYSwidG9rZW5pemVIYXJkQnJlYWtFc2NhcGUiKX0pO2Z1bmN0aW9uIFNNYShhLGUpe2xldCB0PWEubGVuZ3RoLTIscj0zLGksbztyZXR1cm4gYVtyXVsxXS50eXBlPT09IndoaXRlc3BhY2UiJiYocis9MiksdC0yPnImJmFbdF1bMV0udHlwZT09PSJ3aGl0ZXNwYWNlIiYmKHQtPTIpLGFbdF1bMV0udHlwZT09PSJhdHhIZWFkaW5nU2VxdWVuY2UiJiYocj09PXQtMXx8dC00PnImJmFbdC0yXVsxXS50eXBlPT09IndoaXRlc3BhY2UiKSYmKHQtPXIrMT09PXQ/Mjo0KSx0PnImJihpPXt0eXBlOiJhdHhIZWFkaW5nVGV4dCIsc3RhcnQ6YVtyXVsxXS5zdGFydCxlbmQ6YVt0XVsxXS5lbmR9LG89e3R5cGU6ImNodW5rVGV4dCIsc3RhcnQ6YVtyXVsxXS5zdGFydCxlbmQ6YVt0XVsxXS5lbmQsY29udGVudFR5cGU6InRleHQifSxHcihhLHIsdC1yKzEsW1siZW50ZXIiLGksZV0sWyJlbnRlciIsbyxlXSxbImV4aXQiLG8sZV0sWyJleGl0IixpLGVdXSkpLGF9ZnVuY3Rpb24gek1hKGEsZSx0KXtsZXQgcj0wO3JldHVybiBpO2Z1bmN0aW9uIGkocCl7cmV0dXJuIGEuZW50ZXIoImF0eEhlYWRpbmciKSxvKHApfWZ1bmN0aW9uIG8ocCl7cmV0dXJuIGEuZW50ZXIoImF0eEhlYWRpbmdTZXF1ZW5jZSIpLG4ocCl9ZnVuY3Rpb24gbihwKXtyZXR1cm4gcD09PTM1JiZyKys8Nj8oYS5jb25zdW1lKHApLG4pOnA9PT1udWxsfHx1YShwKT8oYS5leGl0KCJhdHhIZWFkaW5nU2VxdWVuY2UiKSxsKHApKTp0KHApfWZ1bmN0aW9uIGwocCl7cmV0dXJuIHA9PT0zNT8oYS5lbnRlcigiYXR4SGVhZGluZ1NlcXVlbmNlIiksZChwKSk6cD09PW51bGx8fEplKHApPyhhLmV4aXQoImF0eEhlYWRpbmciKSxlKHApKTpDdChwKT9BdChhLGwsIndoaXRlc3BhY2UiKShwKTooYS5lbnRlcigiYXR4SGVhZGluZ1RleHQiKSxjKHApKX1mdW5jdGlvbiBkKHApe3JldHVybiBwPT09MzU/KGEuY29uc3VtZShwKSxkKTooYS5leGl0KCJhdHhIZWFkaW5nU2VxdWVuY2UiKSxsKHApKX1mdW5jdGlvbiBjKHApe3JldHVybiBwPT09bnVsbHx8cD09PTM1fHx1YShwKT8oYS5leGl0KCJhdHhIZWFkaW5nVGV4dCIpLGwocCkpOihhLmNvbnN1bWUocCksYyl9fXZhciBsM2UscXV0PWYoKCk9PntZcigpO2JhKCk7STIoKTtsM2U9e25hbWU6ImhlYWRpbmdBdHgiLHJlc29sdmU6U01hLHRva2VuaXplOnpNYX07cyhTTWEsInJlc29sdmVIZWFkaW5nQXR4Iik7cyh6TWEsInRva2VuaXplSGVhZGluZ0F0eCIpfSk7dmFyIFZ1dCxjM2UsanV0PWYoKCk9PntWdXQ9WyJhZGRyZXNzIiwiYXJ0aWNsZSIsImFzaWRlIiwiYmFzZSIsImJhc2Vmb250IiwiYmxvY2txdW90ZSIsImJvZHkiLCJjYXB0aW9uIiwiY2VudGVyIiwiY29sIiwiY29sZ3JvdXAiLCJkZCIsImRldGFpbHMiLCJkaWFsb2ciLCJkaXIiLCJkaXYiLCJkbCIsImR0IiwiZmllbGRzZXQiLCJmaWdjYXB0aW9uIiwiZmlndXJlIiwiZm9vdGVyIiwiZm9ybSIsImZyYW1lIiwiZnJhbWVzZXQiLCJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiLCJoZWFkIiwiaGVhZGVyIiwiaHIiLCJodG1sIiwiaWZyYW1lIiwibGVnZW5kIiwibGkiLCJsaW5rIiwibWFpbiIsIm1lbnUiLCJtZW51aXRlbSIsIm5hdiIsIm5vZnJhbWVzIiwib2wiLCJvcHRncm91cCIsIm9wdGlvbiIsInAiLCJwYXJhbSIsInNlYXJjaCIsInNlY3Rpb24iLCJzdW1tYXJ5IiwidGFibGUiLCJ0Ym9keSIsInRkIiwidGZvb3QiLCJ0aCIsInRoZWFkIiwidGl0bGUiLCJ0ciIsInRyYWNrIiwidWwiXSxjM2U9WyJwcmUiLCJzY3JpcHQiLCJzdHlsZSIsInRleHRhcmVhIl19KTtmdW5jdGlvbiBUTWEoYSl7bGV0IGU9YS5sZW5ndGg7Zm9yKDtlLS0mJiEoYVtlXVswXT09PSJlbnRlciImJmFbZV1bMV0udHlwZT09PSJodG1sRmxvdyIpOyk7cmV0dXJuIGU+MSYmYVtlLTJdWzFdLnR5cGU9PT0ibGluZVByZWZpeCImJihhW2VdWzFdLnN0YXJ0PWFbZS0yXVsxXS5zdGFydCxhW2UrMV1bMV0uc3RhcnQ9YVtlLTJdWzFdLnN0YXJ0LGEuc3BsaWNlKGUtMiwyKSksYX1mdW5jdGlvbiBMTWEoYSxlLHQpe2xldCByPXRoaXMsaSxvLG4sbCxkO3JldHVybiBjO2Z1bmN0aW9uIGMoSSl7cmV0dXJuIHAoSSl9ZnVuY3Rpb24gcChJKXtyZXR1cm4gYS5lbnRlcigiaHRtbEZsb3ciKSxhLmVudGVyKCJodG1sRmxvd0RhdGEiKSxhLmNvbnN1bWUoSSksdX1mdW5jdGlvbiB1KEkpe3JldHVybiBJPT09MzM/KGEuY29uc3VtZShJKSxtKTpJPT09NDc/KGEuY29uc3VtZShJKSxvPSEwLGIpOkk9PT02Mz8oYS5jb25zdW1lKEkpLGk9MyxyLmludGVycnVwdD9lOlIpOiRzKEkpPyhhLmNvbnN1bWUoSSksbj1TdHJpbmcuZnJvbUNoYXJDb2RlKEkpLGcpOnQoSSl9ZnVuY3Rpb24gbShJKXtyZXR1cm4gST09PTQ1PyhhLmNvbnN1bWUoSSksaT0yLHYpOkk9PT05MT8oYS5jb25zdW1lKEkpLGk9NSxsPTAseCk6JHMoSSk/KGEuY29uc3VtZShJKSxpPTQsci5pbnRlcnJ1cHQ/ZTpSKTp0KEkpfWZ1bmN0aW9uIHYoSSl7cmV0dXJuIEk9PT00NT8oYS5jb25zdW1lKEkpLHIuaW50ZXJydXB0P2U6Uik6dChJKX1mdW5jdGlvbiB4KEkpe2xldCBxPSJDREFUQVsiO3JldHVybiBJPT09cS5jaGFyQ29kZUF0KGwrKyk/KGEuY29uc3VtZShJKSxsPT09cS5sZW5ndGg/ci5pbnRlcnJ1cHQ/ZTpTOngpOnQoSSl9ZnVuY3Rpb24gYihJKXtyZXR1cm4gJHMoSSk/KGEuY29uc3VtZShJKSxuPVN0cmluZy5mcm9tQ2hhckNvZGUoSSksZyk6dChJKX1mdW5jdGlvbiBnKEkpe2lmKEk9PT1udWxsfHxJPT09NDd8fEk9PT02Mnx8dWEoSSkpe2xldCBxPUk9PT00NyxjZT1uLnRvTG93ZXJDYXNlKCk7cmV0dXJuIXEmJiFvJiZjM2UuaW5jbHVkZXMoY2UpPyhpPTEsci5pbnRlcnJ1cHQ/ZShJKTpTKEkpKTpWdXQuaW5jbHVkZXMobi50b0xvd2VyQ2FzZSgpKT8oaT02LHE/KGEuY29uc3VtZShJKSx5KTpyLmludGVycnVwdD9lKEkpOlMoSSkpOihpPTcsci5pbnRlcnJ1cHQmJiFyLnBhcnNlci5sYXp5W3Iubm93KCkubGluZV0/dChJKTpvP2soSSk6QyhJKSl9cmV0dXJuIEk9PT00NXx8TnIoSSk/KGEuY29uc3VtZShJKSxuKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEkpLGcpOnQoSSl9ZnVuY3Rpb24geShJKXtyZXR1cm4gST09PTYyPyhhLmNvbnN1bWUoSSksci5pbnRlcnJ1cHQ/ZTpTKTp0KEkpfWZ1bmN0aW9uIGsoSSl7cmV0dXJuIEN0KEkpPyhhLmNvbnN1bWUoSSksayk6QihJKX1mdW5jdGlvbiBDKEkpe3JldHVybiBJPT09NDc/KGEuY29uc3VtZShJKSxCKTpJPT09NTh8fEk9PT05NXx8JHMoSSk/KGEuY29uc3VtZShJKSxOKTpDdChJKT8oYS5jb25zdW1lKEkpLEMpOkIoSSl9ZnVuY3Rpb24gTihJKXtyZXR1cm4gST09PTQ1fHxJPT09NDZ8fEk9PT01OHx8ST09PTk1fHxOcihJKT8oYS5jb25zdW1lKEkpLE4pOl8oSSl9ZnVuY3Rpb24gXyhJKXtyZXR1cm4gST09PTYxPyhhLmNvbnN1bWUoSSkseik6Q3QoSSk/KGEuY29uc3VtZShJKSxfKTpDKEkpfWZ1bmN0aW9uIHooSSl7cmV0dXJuIEk9PT1udWxsfHxJPT09NjB8fEk9PT02MXx8ST09PTYyfHxJPT09OTY/dChJKTpJPT09MzR8fEk9PT0zOT8oYS5jb25zdW1lKEkpLGQ9SSxPKTpDdChJKT8oYS5jb25zdW1lKEkpLHopOlQoSSl9ZnVuY3Rpb24gTyhJKXtyZXR1cm4gST09PWQ/KGEuY29uc3VtZShJKSxkPW51bGwsRSk6ST09PW51bGx8fEplKEkpP3QoSSk6KGEuY29uc3VtZShJKSxPKX1mdW5jdGlvbiBUKEkpe3JldHVybiBJPT09bnVsbHx8ST09PTM0fHxJPT09Mzl8fEk9PT00N3x8ST09PTYwfHxJPT09NjF8fEk9PT02Mnx8ST09PTk2fHx1YShJKT9fKEkpOihhLmNvbnN1bWUoSSksVCl9ZnVuY3Rpb24gRShJKXtyZXR1cm4gST09PTQ3fHxJPT09NjJ8fEN0KEkpP0MoSSk6dChJKX1mdW5jdGlvbiBCKEkpe3JldHVybiBJPT09NjI/KGEuY29uc3VtZShJKSxNKTp0KEkpfWZ1bmN0aW9uIE0oSSl7cmV0dXJuIEk9PT1udWxsfHxKZShJKT9TKEkpOkN0KEkpPyhhLmNvbnN1bWUoSSksTSk6dChJKX1mdW5jdGlvbiBTKEkpe3JldHVybiBJPT09NDUmJmk9PT0yPyhhLmNvbnN1bWUoSSksVyk6ST09PTYwJiZpPT09MT8oYS5jb25zdW1lKEkpLGopOkk9PT02MiYmaT09PTQ/KGEuY29uc3VtZShJKSxVKTpJPT09NjMmJmk9PT0zPyhhLmNvbnN1bWUoSSksUik6ST09PTkzJiZpPT09NT8oYS5jb25zdW1lKEkpLGhlKTpKZShJKSYmKGk9PT02fHxpPT09Nyk/KGEuZXhpdCgiaHRtbEZsb3dEYXRhIiksYS5jaGVjayhDTWEsbWUsUCkoSSkpOkk9PT1udWxsfHxKZShJKT8oYS5leGl0KCJodG1sRmxvd0RhdGEiKSxQKEkpKTooYS5jb25zdW1lKEkpLFMpfWZ1bmN0aW9uIFAoSSl7cmV0dXJuIGEuY2hlY2soX01hLEEsbWUpKEkpfWZ1bmN0aW9uIEEoSSl7cmV0dXJuIGEuZW50ZXIoImxpbmVFbmRpbmciKSxhLmNvbnN1bWUoSSksYS5leGl0KCJsaW5lRW5kaW5nIiksRn1mdW5jdGlvbiBGKEkpe3JldHVybiBJPT09bnVsbHx8SmUoSSk/UChJKTooYS5lbnRlcigiaHRtbEZsb3dEYXRhIiksUyhJKSl9ZnVuY3Rpb24gVyhJKXtyZXR1cm4gST09PTQ1PyhhLmNvbnN1bWUoSSksUik6UyhJKX1mdW5jdGlvbiBqKEkpe3JldHVybiBJPT09NDc/KGEuY29uc3VtZShJKSxuPSIiLEcpOlMoSSl9ZnVuY3Rpb24gRyhJKXtpZihJPT09NjIpe2xldCBxPW4udG9Mb3dlckNhc2UoKTtyZXR1cm4gYzNlLmluY2x1ZGVzKHEpPyhhLmNvbnN1bWUoSSksVSk6UyhJKX1yZXR1cm4gJHMoSSkmJm4ubGVuZ3RoPDg/KGEuY29uc3VtZShJKSxuKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEkpLEcpOlMoSSl9ZnVuY3Rpb24gaGUoSSl7cmV0dXJuIEk9PT05Mz8oYS5jb25zdW1lKEkpLFIpOlMoSSl9ZnVuY3Rpb24gUihJKXtyZXR1cm4gST09PTYyPyhhLmNvbnN1bWUoSSksVSk6ST09PTQ1JiZpPT09Mj8oYS5jb25zdW1lKEkpLFIpOlMoSSl9ZnVuY3Rpb24gVShJKXtyZXR1cm4gST09PW51bGx8fEplKEkpPyhhLmV4aXQoImh0bWxGbG93RGF0YSIpLG1lKEkpKTooYS5jb25zdW1lKEkpLFUpfWZ1bmN0aW9uIG1lKEkpe3JldHVybiBhLmV4aXQoImh0bWxGbG93IiksZShJKX19ZnVuY3Rpb24gJE1hKGEsZSx0KXtsZXQgcj10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkobil7cmV0dXJuIEplKG4pPyhhLmVudGVyKCJsaW5lRW5kaW5nIiksYS5jb25zdW1lKG4pLGEuZXhpdCgibGluZUVuZGluZyIpLG8pOnQobil9ZnVuY3Rpb24gbyhuKXtyZXR1cm4gci5wYXJzZXIubGF6eVtyLm5vdygpLmxpbmVdP3Qobik6ZShuKX19ZnVuY3Rpb24gRE1hKGEsZSx0KXtyZXR1cm4gcjtmdW5jdGlvbiByKGkpe3JldHVybiBhLmVudGVyKCJsaW5lRW5kaW5nIiksYS5jb25zdW1lKGkpLGEuZXhpdCgibGluZUVuZGluZyIpLGEuYXR0ZW1wdChGMixlLHQpfX12YXIgZDNlLENNYSxfTWEsVXV0PWYoKCk9PntiYSgpO2p1dCgpO1JRKCk7ZDNlPXtjb25jcmV0ZTohMCxuYW1lOiJodG1sRmxvdyIscmVzb2x2ZVRvOlRNYSx0b2tlbml6ZTpMTWF9LENNYT17cGFydGlhbDohMCx0b2tlbml6ZTpETWF9LF9NYT17cGFydGlhbDohMCx0b2tlbml6ZTokTWF9O3MoVE1hLCJyZXNvbHZlVG9IdG1sRmxvdyIpO3MoTE1hLCJ0b2tlbml6ZUh0bWxGbG93Iik7cygkTWEsInRva2VuaXplTm9uTGF6eUNvbnRpbnVhdGlvblN0YXJ0Iik7cyhETWEsInRva2VuaXplQmxhbmtMaW5lQmVmb3JlIil9KTtmdW5jdGlvbiBBTWEoYSxlLHQpe2xldCByPXRoaXMsaSxvLG47cmV0dXJuIGw7ZnVuY3Rpb24gbChSKXtyZXR1cm4gYS5lbnRlcigiaHRtbFRleHQiKSxhLmVudGVyKCJodG1sVGV4dERhdGEiKSxhLmNvbnN1bWUoUiksZH1mdW5jdGlvbiBkKFIpe3JldHVybiBSPT09MzM/KGEuY29uc3VtZShSKSxjKTpSPT09NDc/KGEuY29uc3VtZShSKSxfKTpSPT09NjM/KGEuY29uc3VtZShSKSxDKTokcyhSKT8oYS5jb25zdW1lKFIpLFQpOnQoUil9ZnVuY3Rpb24gYyhSKXtyZXR1cm4gUj09PTQ1PyhhLmNvbnN1bWUoUikscCk6Uj09PTkxPyhhLmNvbnN1bWUoUiksbz0wLHgpOiRzKFIpPyhhLmNvbnN1bWUoUiksayk6dChSKX1mdW5jdGlvbiBwKFIpe3JldHVybiBSPT09NDU/KGEuY29uc3VtZShSKSx2KTp0KFIpfWZ1bmN0aW9uIHUoUil7cmV0dXJuIFI9PT1udWxsP3QoUik6Uj09PTQ1PyhhLmNvbnN1bWUoUiksbSk6SmUoUik/KG49dSxqKFIpKTooYS5jb25zdW1lKFIpLHUpfWZ1bmN0aW9uIG0oUil7cmV0dXJuIFI9PT00NT8oYS5jb25zdW1lKFIpLHYpOnUoUil9ZnVuY3Rpb24gdihSKXtyZXR1cm4gUj09PTYyP1coUik6Uj09PTQ1P20oUik6dShSKX1mdW5jdGlvbiB4KFIpe2xldCBVPSJDREFUQVsiO3JldHVybiBSPT09VS5jaGFyQ29kZUF0KG8rKyk/KGEuY29uc3VtZShSKSxvPT09VS5sZW5ndGg/Yjp4KTp0KFIpfWZ1bmN0aW9uIGIoUil7cmV0dXJuIFI9PT1udWxsP3QoUik6Uj09PTkzPyhhLmNvbnN1bWUoUiksZyk6SmUoUik/KG49YixqKFIpKTooYS5jb25zdW1lKFIpLGIpfWZ1bmN0aW9uIGcoUil7cmV0dXJuIFI9PT05Mz8oYS5jb25zdW1lKFIpLHkpOmIoUil9ZnVuY3Rpb24geShSKXtyZXR1cm4gUj09PTYyP1coUik6Uj09PTkzPyhhLmNvbnN1bWUoUikseSk6YihSKX1mdW5jdGlvbiBrKFIpe3JldHVybiBSPT09bnVsbHx8Uj09PTYyP1coUik6SmUoUik/KG49ayxqKFIpKTooYS5jb25zdW1lKFIpLGspfWZ1bmN0aW9uIEMoUil7cmV0dXJuIFI9PT1udWxsP3QoUik6Uj09PTYzPyhhLmNvbnN1bWUoUiksTik6SmUoUik/KG49QyxqKFIpKTooYS5jb25zdW1lKFIpLEMpfWZ1bmN0aW9uIE4oUil7cmV0dXJuIFI9PT02Mj9XKFIpOkMoUil9ZnVuY3Rpb24gXyhSKXtyZXR1cm4gJHMoUik/KGEuY29uc3VtZShSKSx6KTp0KFIpfWZ1bmN0aW9uIHooUil7cmV0dXJuIFI9PT00NXx8TnIoUik/KGEuY29uc3VtZShSKSx6KTpPKFIpfWZ1bmN0aW9uIE8oUil7cmV0dXJuIEplKFIpPyhuPU8saihSKSk6Q3QoUik/KGEuY29uc3VtZShSKSxPKTpXKFIpfWZ1bmN0aW9uIFQoUil7cmV0dXJuIFI9PT00NXx8TnIoUik/KGEuY29uc3VtZShSKSxUKTpSPT09NDd8fFI9PT02Mnx8dWEoUik/RShSKTp0KFIpfWZ1bmN0aW9uIEUoUil7cmV0dXJuIFI9PT00Nz8oYS5jb25zdW1lKFIpLFcpOlI9PT01OHx8Uj09PTk1fHwkcyhSKT8oYS5jb25zdW1lKFIpLEIpOkplKFIpPyhuPUUsaihSKSk6Q3QoUik/KGEuY29uc3VtZShSKSxFKTpXKFIpfWZ1bmN0aW9uIEIoUil7cmV0dXJuIFI9PT00NXx8Uj09PTQ2fHxSPT09NTh8fFI9PT05NXx8TnIoUik/KGEuY29uc3VtZShSKSxCKTpNKFIpfWZ1bmN0aW9uIE0oUil7cmV0dXJuIFI9PT02MT8oYS5jb25zdW1lKFIpLFMpOkplKFIpPyhuPU0saihSKSk6Q3QoUik/KGEuY29uc3VtZShSKSxNKTpFKFIpfWZ1bmN0aW9uIFMoUil7cmV0dXJuIFI9PT1udWxsfHxSPT09NjB8fFI9PT02MXx8Uj09PTYyfHxSPT09OTY/dChSKTpSPT09MzR8fFI9PT0zOT8oYS5jb25zdW1lKFIpLGk9UixQKTpKZShSKT8obj1TLGooUikpOkN0KFIpPyhhLmNvbnN1bWUoUiksUyk6KGEuY29uc3VtZShSKSxBKX1mdW5jdGlvbiBQKFIpe3JldHVybiBSPT09aT8oYS5jb25zdW1lKFIpLGk9dm9pZCAwLEYpOlI9PT1udWxsP3QoUik6SmUoUik/KG49UCxqKFIpKTooYS5jb25zdW1lKFIpLFApfWZ1bmN0aW9uIEEoUil7cmV0dXJuIFI9PT1udWxsfHxSPT09MzR8fFI9PT0zOXx8Uj09PTYwfHxSPT09NjF8fFI9PT05Nj90KFIpOlI9PT00N3x8Uj09PTYyfHx1YShSKT9FKFIpOihhLmNvbnN1bWUoUiksQSl9ZnVuY3Rpb24gRihSKXtyZXR1cm4gUj09PTQ3fHxSPT09NjJ8fHVhKFIpP0UoUik6dChSKX1mdW5jdGlvbiBXKFIpe3JldHVybiBSPT09NjI/KGEuY29uc3VtZShSKSxhLmV4aXQoImh0bWxUZXh0RGF0YSIpLGEuZXhpdCgiaHRtbFRleHQiKSxlKTp0KFIpfWZ1bmN0aW9uIGooUil7cmV0dXJuIGEuZXhpdCgiaHRtbFRleHREYXRhIiksYS5lbnRlcigibGluZUVuZGluZyIpLGEuY29uc3VtZShSKSxhLmV4aXQoImxpbmVFbmRpbmciKSxHfWZ1bmN0aW9uIEcoUil7cmV0dXJuIEN0KFIpP0F0KGEsaGUsImxpbmVQcmVmaXgiLHIucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKCJjb2RlSW5kZW50ZWQiKT92b2lkIDA6NCkoUik6aGUoUil9ZnVuY3Rpb24gaGUoUil7cmV0dXJuIGEuZW50ZXIoImh0bWxUZXh0RGF0YSIpLG4oUil9fXZhciB1M2UsV3V0PWYoKCk9PntZcigpO2JhKCk7dTNlPXtuYW1lOiJodG1sVGV4dCIsdG9rZW5pemU6QU1hfTtzKEFNYSwidG9rZW5pemVIdG1sVGV4dCIpfSk7ZnVuY3Rpb24gTk1hKGEpe2xldCBlPS0xLHQ9W107Zm9yKDsrK2U8YS5sZW5ndGg7KXtsZXQgcj1hW2VdWzFdO2lmKHQucHVzaChhW2VdKSxyLnR5cGU9PT0ibGFiZWxJbWFnZSJ8fHIudHlwZT09PSJsYWJlbExpbmsifHxyLnR5cGU9PT0ibGFiZWxFbmQiKXtsZXQgaT1yLnR5cGU9PT0ibGFiZWxJbWFnZSI/NDoyO3IudHlwZT0iZGF0YSIsZSs9aX19cmV0dXJuIGEubGVuZ3RoIT09dC5sZW5ndGgmJkdyKGEsMCxhLmxlbmd0aCx0KSxhfWZ1bmN0aW9uIFJNYShhLGUpe2xldCB0PWEubGVuZ3RoLHI9MCxpLG8sbixsO2Zvcig7dC0tOylpZihpPWFbdF1bMV0sbyl7aWYoaS50eXBlPT09ImxpbmsifHxpLnR5cGU9PT0ibGFiZWxMaW5rIiYmaS5faW5hY3RpdmUpYnJlYWs7YVt0XVswXT09PSJlbnRlciImJmkudHlwZT09PSJsYWJlbExpbmsiJiYoaS5faW5hY3RpdmU9ITApfWVsc2UgaWYobil7aWYoYVt0XVswXT09PSJlbnRlciImJihpLnR5cGU9PT0ibGFiZWxJbWFnZSJ8fGkudHlwZT09PSJsYWJlbExpbmsiKSYmIWkuX2JhbGFuY2VkJiYobz10LGkudHlwZSE9PSJsYWJlbExpbmsiKSl7cj0yO2JyZWFrfX1lbHNlIGkudHlwZT09PSJsYWJlbEVuZCImJihuPXQpO2xldCBkPXt0eXBlOmFbb11bMV0udHlwZT09PSJsYWJlbExpbmsiPyJsaW5rIjoiaW1hZ2UiLHN0YXJ0OnsuLi5hW29dWzFdLnN0YXJ0fSxlbmQ6ey4uLmFbYS5sZW5ndGgtMV1bMV0uZW5kfX0sYz17dHlwZToibGFiZWwiLHN0YXJ0OnsuLi5hW29dWzFdLnN0YXJ0fSxlbmQ6ey4uLmFbbl1bMV0uZW5kfX0scD17dHlwZToibGFiZWxUZXh0IixzdGFydDp7Li4uYVtvK3IrMl1bMV0uZW5kfSxlbmQ6ey4uLmFbbi0yXVsxXS5zdGFydH19O3JldHVybiBsPVtbImVudGVyIixkLGVdLFsiZW50ZXIiLGMsZV1dLGw9dXMobCxhLnNsaWNlKG8rMSxvK3IrMykpLGw9dXMobCxbWyJlbnRlciIscCxlXV0pLGw9dXMobCxVMChlLnBhcnNlci5jb25zdHJ1Y3RzLmluc2lkZVNwYW4ubnVsbCxhLnNsaWNlKG8rcis0LG4tMyksZSkpLGw9dXMobCxbWyJleGl0IixwLGVdLGFbbi0yXSxhW24tMV0sWyJleGl0IixjLGVdXSksbD11cyhsLGEuc2xpY2UobisxKSksbD11cyhsLFtbImV4aXQiLGQsZV1dKSxHcihhLG8sYS5sZW5ndGgsbCksYX1mdW5jdGlvbiBPTWEoYSxlLHQpe2xldCByPXRoaXMsaT1yLmV2ZW50cy5sZW5ndGgsbyxuO2Zvcig7aS0tOylpZigoci5ldmVudHNbaV1bMV0udHlwZT09PSJsYWJlbEltYWdlInx8ci5ldmVudHNbaV1bMV0udHlwZT09PSJsYWJlbExpbmsiKSYmIXIuZXZlbnRzW2ldWzFdLl9iYWxhbmNlZCl7bz1yLmV2ZW50c1tpXVsxXTticmVha31yZXR1cm4gbDtmdW5jdGlvbiBsKG0pe3JldHVybiBvP28uX2luYWN0aXZlP3UobSk6KG49ci5wYXJzZXIuZGVmaW5lZC5pbmNsdWRlcyhScihyLnNsaWNlU2VyaWFsaXplKHtzdGFydDpvLmVuZCxlbmQ6ci5ub3coKX0pKSksYS5lbnRlcigibGFiZWxFbmQiKSxhLmVudGVyKCJsYWJlbE1hcmtlciIpLGEuY29uc3VtZShtKSxhLmV4aXQoImxhYmVsTWFya2VyIiksYS5leGl0KCJsYWJlbEVuZCIpLGQpOnQobSl9ZnVuY3Rpb24gZChtKXtyZXR1cm4gbT09PTQwP2EuYXR0ZW1wdChFTWEscCxuP3A6dSkobSk6bT09PTkxP2EuYXR0ZW1wdChQTWEscCxuP2M6dSkobSk6bj9wKG0pOnUobSl9ZnVuY3Rpb24gYyhtKXtyZXR1cm4gYS5hdHRlbXB0KElNYSxwLHUpKG0pfWZ1bmN0aW9uIHAobSl7cmV0dXJuIGUobSl9ZnVuY3Rpb24gdShtKXtyZXR1cm4gby5fYmFsYW5jZWQ9ITAsdChtKX19ZnVuY3Rpb24gRk1hKGEsZSx0KXtyZXR1cm4gcjtmdW5jdGlvbiByKHUpe3JldHVybiBhLmVudGVyKCJyZXNvdXJjZSIpLGEuZW50ZXIoInJlc291cmNlTWFya2VyIiksYS5jb25zdW1lKHUpLGEuZXhpdCgicmVzb3VyY2VNYXJrZXIiKSxpfWZ1bmN0aW9uIGkodSl7cmV0dXJuIHVhKHUpP0ozKGEsbykodSk6byh1KX1mdW5jdGlvbiBvKHUpe3JldHVybiB1PT09NDE/cCh1KTpWUShhLG4sbCwicmVzb3VyY2VEZXN0aW5hdGlvbiIsInJlc291cmNlRGVzdGluYXRpb25MaXRlcmFsIiwicmVzb3VyY2VEZXN0aW5hdGlvbkxpdGVyYWxNYXJrZXIiLCJyZXNvdXJjZURlc3RpbmF0aW9uUmF3IiwicmVzb3VyY2VEZXN0aW5hdGlvblN0cmluZyIsMzIpKHUpfWZ1bmN0aW9uIG4odSl7cmV0dXJuIHVhKHUpP0ozKGEsZCkodSk6cCh1KX1mdW5jdGlvbiBsKHUpe3JldHVybiB0KHUpfWZ1bmN0aW9uIGQodSl7cmV0dXJuIHU9PT0zNHx8dT09PTM5fHx1PT09NDA/VVEoYSxjLHQsInJlc291cmNlVGl0bGUiLCJyZXNvdXJjZVRpdGxlTWFya2VyIiwicmVzb3VyY2VUaXRsZVN0cmluZyIpKHUpOnAodSl9ZnVuY3Rpb24gYyh1KXtyZXR1cm4gdWEodSk/SjMoYSxwKSh1KTpwKHUpfWZ1bmN0aW9uIHAodSl7cmV0dXJuIHU9PT00MT8oYS5lbnRlcigicmVzb3VyY2VNYXJrZXIiKSxhLmNvbnN1bWUodSksYS5leGl0KCJyZXNvdXJjZU1hcmtlciIpLGEuZXhpdCgicmVzb3VyY2UiKSxlKTp0KHUpfX1mdW5jdGlvbiBCTWEoYSxlLHQpe2xldCByPXRoaXM7cmV0dXJuIGk7ZnVuY3Rpb24gaShsKXtyZXR1cm4galEuY2FsbChyLGEsbyxuLCJyZWZlcmVuY2UiLCJyZWZlcmVuY2VNYXJrZXIiLCJyZWZlcmVuY2VTdHJpbmciKShsKX1mdW5jdGlvbiBvKGwpe3JldHVybiByLnBhcnNlci5kZWZpbmVkLmluY2x1ZGVzKFJyKHIuc2xpY2VTZXJpYWxpemUoci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdWzFdKS5zbGljZSgxLC0xKSkpP2UobCk6dChsKX1mdW5jdGlvbiBuKGwpe3JldHVybiB0KGwpfX1mdW5jdGlvbiBITWEoYSxlLHQpe3JldHVybiByO2Z1bmN0aW9uIHIobyl7cmV0dXJuIGEuZW50ZXIoInJlZmVyZW5jZSIpLGEuZW50ZXIoInJlZmVyZW5jZU1hcmtlciIpLGEuY29uc3VtZShvKSxhLmV4aXQoInJlZmVyZW5jZU1hcmtlciIpLGl9ZnVuY3Rpb24gaShvKXtyZXR1cm4gbz09PTkzPyhhLmVudGVyKCJyZWZlcmVuY2VNYXJrZXIiKSxhLmNvbnN1bWUobyksYS5leGl0KCJyZWZlcmVuY2VNYXJrZXIiKSxhLmV4aXQoInJlZmVyZW5jZSIpLGUpOnQobyl9fXZhciBlZCxFTWEsUE1hLElNYSxXUT1mKCgpPT57YTNlKCk7cjNlKCk7czNlKCk7aTNlKCk7YmEoKTtJMigpO1YwKCk7WGcoKTtlZD17bmFtZToibGFiZWxFbmQiLHJlc29sdmVBbGw6Tk1hLHJlc29sdmVUbzpSTWEsdG9rZW5pemU6T01hfSxFTWE9e3Rva2VuaXplOkZNYX0sUE1hPXt0b2tlbml6ZTpCTWF9LElNYT17dG9rZW5pemU6SE1hfTtzKE5NYSwicmVzb2x2ZUFsbExhYmVsRW5kIik7cyhSTWEsInJlc29sdmVUb0xhYmVsRW5kIik7cyhPTWEsInRva2VuaXplTGFiZWxFbmQiKTtzKEZNYSwidG9rZW5pemVSZXNvdXJjZSIpO3MoQk1hLCJ0b2tlbml6ZVJlZmVyZW5jZUZ1bGwiKTtzKEhNYSwidG9rZW5pemVSZWZlcmVuY2VDb2xsYXBzZWQiKX0pO2Z1bmN0aW9uIHFNYShhLGUsdCl7bGV0IHI9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKGwpe3JldHVybiBhLmVudGVyKCJsYWJlbEltYWdlIiksYS5lbnRlcigibGFiZWxJbWFnZU1hcmtlciIpLGEuY29uc3VtZShsKSxhLmV4aXQoImxhYmVsSW1hZ2VNYXJrZXIiKSxvfWZ1bmN0aW9uIG8obCl7cmV0dXJuIGw9PT05MT8oYS5lbnRlcigibGFiZWxNYXJrZXIiKSxhLmNvbnN1bWUobCksYS5leGl0KCJsYWJlbE1hcmtlciIpLGEuZXhpdCgibGFiZWxJbWFnZSIpLG4pOnQobCl9ZnVuY3Rpb24gbihsKXtyZXR1cm4gbD09PTk0JiYiX2hpZGRlbkZvb3Rub3RlU3VwcG9ydCJpbiByLnBhcnNlci5jb25zdHJ1Y3RzP3QobCk6ZShsKX19dmFyIHAzZSxHdXQ9ZigoKT0+e1dRKCk7cDNlPXtuYW1lOiJsYWJlbFN0YXJ0SW1hZ2UiLHJlc29sdmVBbGw6ZWQucmVzb2x2ZUFsbCx0b2tlbml6ZTpxTWF9O3MocU1hLCJ0b2tlbml6ZUxhYmVsU3RhcnRJbWFnZSIpfSk7ZnVuY3Rpb24gVk1hKGEsZSx0KXtsZXQgcj10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkobil7cmV0dXJuIGEuZW50ZXIoImxhYmVsTGluayIpLGEuZW50ZXIoImxhYmVsTWFya2VyIiksYS5jb25zdW1lKG4pLGEuZXhpdCgibGFiZWxNYXJrZXIiKSxhLmV4aXQoImxhYmVsTGluayIpLG99ZnVuY3Rpb24gbyhuKXtyZXR1cm4gbj09PTk0JiYiX2hpZGRlbkZvb3Rub3RlU3VwcG9ydCJpbiByLnBhcnNlci5jb25zdHJ1Y3RzP3Qobik6ZShuKX19dmFyIGYzZSxZdXQ9ZigoKT0+e1dRKCk7ZjNlPXtuYW1lOiJsYWJlbFN0YXJ0TGluayIscmVzb2x2ZUFsbDplZC5yZXNvbHZlQWxsLHRva2VuaXplOlZNYX07cyhWTWEsInRva2VuaXplTGFiZWxTdGFydExpbmsiKX0pO2Z1bmN0aW9uIGpNYShhLGUpe3JldHVybiB0O2Z1bmN0aW9uIHQocil7cmV0dXJuIGEuZW50ZXIoImxpbmVFbmRpbmciKSxhLmNvbnN1bWUociksYS5leGl0KCJsaW5lRW5kaW5nIiksQXQoYSxlLCJsaW5lUHJlZml4Iil9fXZhciBhYixLdXQ9ZigoKT0+e1lyKCk7YmEoKTthYj17bmFtZToibGluZUVuZGluZyIsdG9rZW5pemU6ak1hfTtzKGpNYSwidG9rZW5pemVMaW5lRW5kaW5nIil9KTtmdW5jdGlvbiBVTWEoYSxlLHQpe2xldCByPTAsaTtyZXR1cm4gbztmdW5jdGlvbiBvKGMpe3JldHVybiBhLmVudGVyKCJ0aGVtYXRpY0JyZWFrIiksbihjKX1mdW5jdGlvbiBuKGMpe3JldHVybiBpPWMsbChjKX1mdW5jdGlvbiBsKGMpe3JldHVybiBjPT09aT8oYS5lbnRlcigidGhlbWF0aWNCcmVha1NlcXVlbmNlIiksZChjKSk6cj49MyYmKGM9PT1udWxsfHxKZShjKSk/KGEuZXhpdCgidGhlbWF0aWNCcmVhayIpLGUoYykpOnQoYyl9ZnVuY3Rpb24gZChjKXtyZXR1cm4gYz09PWk/KGEuY29uc3VtZShjKSxyKyssZCk6KGEuZXhpdCgidGhlbWF0aWNCcmVha1NlcXVlbmNlIiksQ3QoYyk/QXQoYSxsLCJ3aGl0ZXNwYWNlIikoYyk6bChjKSl9fXZhciB0ZCxoM2U9ZigoKT0+e1lyKCk7YmEoKTt0ZD17bmFtZToidGhlbWF0aWNCcmVhayIsdG9rZW5pemU6VU1hfTtzKFVNYSwidG9rZW5pemVUaGVtYXRpY0JyZWFrIil9KTtmdW5jdGlvbiBZTWEoYSxlLHQpe2xldCByPXRoaXMsaT1yLmV2ZW50c1tyLmV2ZW50cy5sZW5ndGgtMV0sbz1pJiZpWzFdLnR5cGU9PT0ibGluZVByZWZpeCI/aVsyXS5zbGljZVNlcmlhbGl6ZShpWzFdLCEwKS5sZW5ndGg6MCxuPTA7cmV0dXJuIGw7ZnVuY3Rpb24gbCh2KXtsZXQgeD1yLmNvbnRhaW5lclN0YXRlLnR5cGV8fCh2PT09NDJ8fHY9PT00M3x8dj09PTQ1PyJsaXN0VW5vcmRlcmVkIjoibGlzdE9yZGVyZWQiKTtpZih4PT09Imxpc3RVbm9yZGVyZWQiPyFyLmNvbnRhaW5lclN0YXRlLm1hcmtlcnx8dj09PXIuY29udGFpbmVyU3RhdGUubWFya2VyOldnKHYpKXtpZihyLmNvbnRhaW5lclN0YXRlLnR5cGV8fChyLmNvbnRhaW5lclN0YXRlLnR5cGU9eCxhLmVudGVyKHgse19jb250YWluZXI6ITB9KSkseD09PSJsaXN0VW5vcmRlcmVkIilyZXR1cm4gYS5lbnRlcigibGlzdEl0ZW1QcmVmaXgiKSx2PT09NDJ8fHY9PT00NT9hLmNoZWNrKHRkLHQsYykodik6Yyh2KTtpZighci5pbnRlcnJ1cHR8fHY9PT00OSlyZXR1cm4gYS5lbnRlcigibGlzdEl0ZW1QcmVmaXgiKSxhLmVudGVyKCJsaXN0SXRlbVZhbHVlIiksZCh2KX1yZXR1cm4gdCh2KX1mdW5jdGlvbiBkKHYpe3JldHVybiBXZyh2KSYmKytuPDEwPyhhLmNvbnN1bWUodiksZCk6KCFyLmludGVycnVwdHx8bjwyKSYmKHIuY29udGFpbmVyU3RhdGUubWFya2VyP3Y9PT1yLmNvbnRhaW5lclN0YXRlLm1hcmtlcjp2PT09NDF8fHY9PT00Nik/KGEuZXhpdCgibGlzdEl0ZW1WYWx1ZSIpLGModikpOnQodil9ZnVuY3Rpb24gYyh2KXtyZXR1cm4gYS5lbnRlcigibGlzdEl0ZW1NYXJrZXIiKSxhLmNvbnN1bWUodiksYS5leGl0KCJsaXN0SXRlbU1hcmtlciIpLHIuY29udGFpbmVyU3RhdGUubWFya2VyPXIuY29udGFpbmVyU3RhdGUubWFya2VyfHx2LGEuY2hlY2soRjIsci5pbnRlcnJ1cHQ/dDpwLGEuYXR0ZW1wdChXTWEsbSx1KSl9ZnVuY3Rpb24gcCh2KXtyZXR1cm4gci5jb250YWluZXJTdGF0ZS5pbml0aWFsQmxhbmtMaW5lPSEwLG8rKyxtKHYpfWZ1bmN0aW9uIHUodil7cmV0dXJuIEN0KHYpPyhhLmVudGVyKCJsaXN0SXRlbVByZWZpeFdoaXRlc3BhY2UiKSxhLmNvbnN1bWUodiksYS5leGl0KCJsaXN0SXRlbVByZWZpeFdoaXRlc3BhY2UiKSxtKTp0KHYpfWZ1bmN0aW9uIG0odil7cmV0dXJuIHIuY29udGFpbmVyU3RhdGUuc2l6ZT1vK3Iuc2xpY2VTZXJpYWxpemUoYS5leGl0KCJsaXN0SXRlbVByZWZpeCIpLCEwKS5sZW5ndGgsZSh2KX19ZnVuY3Rpb24gS01hKGEsZSx0KXtsZXQgcj10aGlzO3JldHVybiByLmNvbnRhaW5lclN0YXRlLl9jbG9zZUZsb3c9dm9pZCAwLGEuY2hlY2soRjIsaSxvKTtmdW5jdGlvbiBpKGwpe3JldHVybiByLmNvbnRhaW5lclN0YXRlLmZ1cnRoZXJCbGFua0xpbmVzPXIuY29udGFpbmVyU3RhdGUuZnVydGhlckJsYW5rTGluZXN8fHIuY29udGFpbmVyU3RhdGUuaW5pdGlhbEJsYW5rTGluZSxBdChhLGUsImxpc3RJdGVtSW5kZW50IixyLmNvbnRhaW5lclN0YXRlLnNpemUrMSkobCl9cyhpLCJvbkJsYW5rIik7ZnVuY3Rpb24gbyhsKXtyZXR1cm4gci5jb250YWluZXJTdGF0ZS5mdXJ0aGVyQmxhbmtMaW5lc3x8IUN0KGwpPyhyLmNvbnRhaW5lclN0YXRlLmZ1cnRoZXJCbGFua0xpbmVzPXZvaWQgMCxyLmNvbnRhaW5lclN0YXRlLmluaXRpYWxCbGFua0xpbmU9dm9pZCAwLG4obCkpOihyLmNvbnRhaW5lclN0YXRlLmZ1cnRoZXJCbGFua0xpbmVzPXZvaWQgMCxyLmNvbnRhaW5lclN0YXRlLmluaXRpYWxCbGFua0xpbmU9dm9pZCAwLGEuYXR0ZW1wdChHTWEsZSxuKShsKSl9cyhvLCJub3RCbGFuayIpO2Z1bmN0aW9uIG4obCl7cmV0dXJuIHIuY29udGFpbmVyU3RhdGUuX2Nsb3NlRmxvdz0hMCxyLmludGVycnVwdD12b2lkIDAsQXQoYSxhLmF0dGVtcHQoemksZSx0KSwibGluZVByZWZpeCIsci5wYXJzZXIuY29uc3RydWN0cy5kaXNhYmxlLm51bGwuaW5jbHVkZXMoImNvZGVJbmRlbnRlZCIpP3ZvaWQgMDo0KShsKX1zKG4sIm5vdEluQ3VycmVudEl0ZW0iKX1mdW5jdGlvbiBaTWEoYSxlLHQpe2xldCByPXRoaXM7cmV0dXJuIEF0KGEsaSwibGlzdEl0ZW1JbmRlbnQiLHIuY29udGFpbmVyU3RhdGUuc2l6ZSsxKTtmdW5jdGlvbiBpKG8pe2xldCBuPXIuZXZlbnRzW3IuZXZlbnRzLmxlbmd0aC0xXTtyZXR1cm4gbiYmblsxXS50eXBlPT09Imxpc3RJdGVtSW5kZW50IiYmblsyXS5zbGljZVNlcmlhbGl6ZShuWzFdLCEwKS5sZW5ndGg9PT1yLmNvbnRhaW5lclN0YXRlLnNpemU/ZShvKTp0KG8pfX1mdW5jdGlvbiBYTWEoYSl7YS5leGl0KHRoaXMuY29udGFpbmVyU3RhdGUudHlwZSl9ZnVuY3Rpb24gUU1hKGEsZSx0KXtsZXQgcj10aGlzO3JldHVybiBBdChhLGksImxpc3RJdGVtUHJlZml4V2hpdGVzcGFjZSIsci5wYXJzZXIuY29uc3RydWN0cy5kaXNhYmxlLm51bGwuaW5jbHVkZXMoImNvZGVJbmRlbnRlZCIpP3ZvaWQgMDo1KTtmdW5jdGlvbiBpKG8pe2xldCBuPXIuZXZlbnRzW3IuZXZlbnRzLmxlbmd0aC0xXTtyZXR1cm4hQ3QobykmJm4mJm5bMV0udHlwZT09PSJsaXN0SXRlbVByZWZpeFdoaXRlc3BhY2UiP2Uobyk6dChvKX19dmFyIHppLFdNYSxHTWEsWnV0PWYoKCk9PntZcigpO2JhKCk7UlEoKTtoM2UoKTt6aT17Y29udGludWF0aW9uOnt0b2tlbml6ZTpLTWF9LGV4aXQ6WE1hLG5hbWU6Imxpc3QiLHRva2VuaXplOllNYX0sV01hPXtwYXJ0aWFsOiEwLHRva2VuaXplOlFNYX0sR01hPXtwYXJ0aWFsOiEwLHRva2VuaXplOlpNYX07cyhZTWEsInRva2VuaXplTGlzdFN0YXJ0Iik7cyhLTWEsInRva2VuaXplTGlzdENvbnRpbnVhdGlvbiIpO3MoWk1hLCJ0b2tlbml6ZUluZGVudCIpO3MoWE1hLCJ0b2tlbml6ZUxpc3RFbmQiKTtzKFFNYSwidG9rZW5pemVMaXN0SXRlbVByZWZpeFdoaXRlc3BhY2UiKX0pO2Z1bmN0aW9uIEpNYShhLGUpe2xldCB0PWEubGVuZ3RoLHIsaSxvO2Zvcig7dC0tOylpZihhW3RdWzBdPT09ImVudGVyIil7aWYoYVt0XVsxXS50eXBlPT09ImNvbnRlbnQiKXtyPXQ7YnJlYWt9YVt0XVsxXS50eXBlPT09InBhcmFncmFwaCImJihpPXQpfWVsc2UgYVt0XVsxXS50eXBlPT09ImNvbnRlbnQiJiZhLnNwbGljZSh0LDEpLCFvJiZhW3RdWzFdLnR5cGU9PT0iZGVmaW5pdGlvbiImJihvPXQpO2xldCBuPXt0eXBlOiJzZXRleHRIZWFkaW5nIixzdGFydDp7Li4uYVtyXVsxXS5zdGFydH0sZW5kOnsuLi5hW2EubGVuZ3RoLTFdWzFdLmVuZH19O3JldHVybiBhW2ldWzFdLnR5cGU9InNldGV4dEhlYWRpbmdUZXh0IixvPyhhLnNwbGljZShpLDAsWyJlbnRlciIsbixlXSksYS5zcGxpY2UobysxLDAsWyJleGl0IixhW3JdWzFdLGVdKSxhW3JdWzFdLmVuZD17Li4uYVtvXVsxXS5lbmR9KTphW3JdWzFdPW4sYS5wdXNoKFsiZXhpdCIsbixlXSksYX1mdW5jdGlvbiBla2EoYSxlLHQpe2xldCByPXRoaXMsaTtyZXR1cm4gbztmdW5jdGlvbiBvKGMpe2xldCBwPXIuZXZlbnRzLmxlbmd0aCx1O2Zvcig7cC0tOylpZihyLmV2ZW50c1twXVsxXS50eXBlIT09ImxpbmVFbmRpbmciJiZyLmV2ZW50c1twXVsxXS50eXBlIT09ImxpbmVQcmVmaXgiJiZyLmV2ZW50c1twXVsxXS50eXBlIT09ImNvbnRlbnQiKXt1PXIuZXZlbnRzW3BdWzFdLnR5cGU9PT0icGFyYWdyYXBoIjticmVha31yZXR1cm4hci5wYXJzZXIubGF6eVtyLm5vdygpLmxpbmVdJiYoci5pbnRlcnJ1cHR8fHUpPyhhLmVudGVyKCJzZXRleHRIZWFkaW5nTGluZSIpLGk9YyxuKGMpKTp0KGMpfWZ1bmN0aW9uIG4oYyl7cmV0dXJuIGEuZW50ZXIoInNldGV4dEhlYWRpbmdMaW5lU2VxdWVuY2UiKSxsKGMpfWZ1bmN0aW9uIGwoYyl7cmV0dXJuIGM9PT1pPyhhLmNvbnN1bWUoYyksbCk6KGEuZXhpdCgic2V0ZXh0SGVhZGluZ0xpbmVTZXF1ZW5jZSIpLEN0KGMpP0F0KGEsZCwibGluZVN1ZmZpeCIpKGMpOmQoYykpfWZ1bmN0aW9uIGQoYyl7cmV0dXJuIGM9PT1udWxsfHxKZShjKT8oYS5leGl0KCJzZXRleHRIZWFkaW5nTGluZSIpLGUoYykpOnQoYyl9fXZhciBHUSxYdXQ9ZigoKT0+e1lyKCk7YmEoKTtHUT17bmFtZToic2V0ZXh0VW5kZXJsaW5lIixyZXNvbHZlVG86Sk1hLHRva2VuaXplOmVrYX07cyhKTWEsInJlc29sdmVUb1NldGV4dFVuZGVybGluZSIpO3MoZWthLCJ0b2tlbml6ZVNldGV4dFVuZGVybGluZSIpfSk7dmFyIFlRPWYoKCk9PnskdXQoKTtEdXQoKTtSUSgpO0F1dCgpO0V1dCgpO1B1dCgpO051dCgpO1J1dCgpO091dCgpO0Z1dCgpO0J1dCgpO0h1dCgpO3F1dCgpO1V1dCgpO1d1dCgpO1dRKCk7R3V0KCk7WXV0KCk7S3V0KCk7WnV0KCk7WHV0KCk7aDNlKCl9KTtmdW5jdGlvbiBtM2UoKXtyZXR1cm57ZG9jdW1lbnQ6ezkxOntuYW1lOiJnZm1Gb290bm90ZURlZmluaXRpb24iLHRva2VuaXplOmlrYSxjb250aW51YXRpb246e3Rva2VuaXplOm9rYX0sZXhpdDpua2F9fSx0ZXh0Ons5MTp7bmFtZToiZ2ZtRm9vdG5vdGVDYWxsIix0b2tlbml6ZTpza2F9LDkzOntuYW1lOiJnZm1Qb3RlbnRpYWxGb290bm90ZUNhbGwiLGFkZDoiYWZ0ZXIiLHRva2VuaXplOmFrYSxyZXNvbHZlVG86cmthfX19fWZ1bmN0aW9uIGFrYShhLGUsdCl7bGV0IHI9dGhpcyxpPXIuZXZlbnRzLmxlbmd0aCxvPXIucGFyc2VyLmdmbUZvb3Rub3Rlc3x8KHIucGFyc2VyLmdmbUZvb3Rub3Rlcz1bXSksbjtmb3IoO2ktLTspe2xldCBkPXIuZXZlbnRzW2ldWzFdO2lmKGQudHlwZT09PSJsYWJlbEltYWdlIil7bj1kO2JyZWFrfWlmKGQudHlwZT09PSJnZm1Gb290bm90ZUNhbGwifHxkLnR5cGU9PT0ibGFiZWxMaW5rInx8ZC50eXBlPT09ImxhYmVsInx8ZC50eXBlPT09ImltYWdlInx8ZC50eXBlPT09ImxpbmsiKWJyZWFrfXJldHVybiBsO2Z1bmN0aW9uIGwoZCl7aWYoIW58fCFuLl9iYWxhbmNlZClyZXR1cm4gdChkKTtsZXQgYz1ScihyLnNsaWNlU2VyaWFsaXplKHtzdGFydDpuLmVuZCxlbmQ6ci5ub3coKX0pKTtyZXR1cm4gYy5jb2RlUG9pbnRBdCgwKSE9PTk0fHwhby5pbmNsdWRlcyhjLnNsaWNlKDEpKT90KGQpOihhLmVudGVyKCJnZm1Gb290bm90ZUNhbGxMYWJlbE1hcmtlciIpLGEuY29uc3VtZShkKSxhLmV4aXQoImdmbUZvb3Rub3RlQ2FsbExhYmVsTWFya2VyIiksZShkKSl9fWZ1bmN0aW9uIHJrYShhLGUpe2xldCB0PWEubGVuZ3RoLHI7Zm9yKDt0LS07KWlmKGFbdF1bMV0udHlwZT09PSJsYWJlbEltYWdlIiYmYVt0XVswXT09PSJlbnRlciIpe3I9YVt0XVsxXTticmVha31hW3QrMV1bMV0udHlwZT0iZGF0YSIsYVt0KzNdWzFdLnR5cGU9ImdmbUZvb3Rub3RlQ2FsbExhYmVsTWFya2VyIjtsZXQgaT17dHlwZToiZ2ZtRm9vdG5vdGVDYWxsIixzdGFydDpPYmplY3QuYXNzaWduKHt9LGFbdCszXVsxXS5zdGFydCksZW5kOk9iamVjdC5hc3NpZ24oe30sYVthLmxlbmd0aC0xXVsxXS5lbmQpfSxvPXt0eXBlOiJnZm1Gb290bm90ZUNhbGxNYXJrZXIiLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sYVt0KzNdWzFdLmVuZCksZW5kOk9iamVjdC5hc3NpZ24oe30sYVt0KzNdWzFdLmVuZCl9O28uZW5kLmNvbHVtbisrLG8uZW5kLm9mZnNldCsrLG8uZW5kLl9idWZmZXJJbmRleCsrO2xldCBuPXt0eXBlOiJnZm1Gb290bm90ZUNhbGxTdHJpbmciLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sby5lbmQpLGVuZDpPYmplY3QuYXNzaWduKHt9LGFbYS5sZW5ndGgtMV1bMV0uc3RhcnQpfSxsPXt0eXBlOiJjaHVua1N0cmluZyIsY29udGVudFR5cGU6InN0cmluZyIsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxuLnN0YXJ0KSxlbmQ6T2JqZWN0LmFzc2lnbih7fSxuLmVuZCl9LGQ9W2FbdCsxXSxhW3QrMl0sWyJlbnRlciIsaSxlXSxhW3QrM10sYVt0KzRdLFsiZW50ZXIiLG8sZV0sWyJleGl0IixvLGVdLFsiZW50ZXIiLG4sZV0sWyJlbnRlciIsbCxlXSxbImV4aXQiLGwsZV0sWyJleGl0IixuLGVdLGFbYS5sZW5ndGgtMl0sYVthLmxlbmd0aC0xXSxbImV4aXQiLGksZV1dO3JldHVybiBhLnNwbGljZSh0LGEubGVuZ3RoLXQrMSwuLi5kKSxhfWZ1bmN0aW9uIHNrYShhLGUsdCl7bGV0IHI9dGhpcyxpPXIucGFyc2VyLmdmbUZvb3Rub3Rlc3x8KHIucGFyc2VyLmdmbUZvb3Rub3Rlcz1bXSksbz0wLG47cmV0dXJuIGw7ZnVuY3Rpb24gbCh1KXtyZXR1cm4gYS5lbnRlcigiZ2ZtRm9vdG5vdGVDYWxsIiksYS5lbnRlcigiZ2ZtRm9vdG5vdGVDYWxsTGFiZWxNYXJrZXIiKSxhLmNvbnN1bWUodSksYS5leGl0KCJnZm1Gb290bm90ZUNhbGxMYWJlbE1hcmtlciIpLGR9ZnVuY3Rpb24gZCh1KXtyZXR1cm4gdSE9PTk0P3QodSk6KGEuZW50ZXIoImdmbUZvb3Rub3RlQ2FsbE1hcmtlciIpLGEuY29uc3VtZSh1KSxhLmV4aXQoImdmbUZvb3Rub3RlQ2FsbE1hcmtlciIpLGEuZW50ZXIoImdmbUZvb3Rub3RlQ2FsbFN0cmluZyIpLGEuZW50ZXIoImNodW5rU3RyaW5nIikuY29udGVudFR5cGU9InN0cmluZyIsYyl9ZnVuY3Rpb24gYyh1KXtpZihvPjk5OXx8dT09PTkzJiYhbnx8dT09PW51bGx8fHU9PT05MXx8dWEodSkpcmV0dXJuIHQodSk7aWYodT09PTkzKXthLmV4aXQoImNodW5rU3RyaW5nIik7bGV0IG09YS5leGl0KCJnZm1Gb290bm90ZUNhbGxTdHJpbmciKTtyZXR1cm4gaS5pbmNsdWRlcyhScihyLnNsaWNlU2VyaWFsaXplKG0pKSk/KGEuZW50ZXIoImdmbUZvb3Rub3RlQ2FsbExhYmVsTWFya2VyIiksYS5jb25zdW1lKHUpLGEuZXhpdCgiZ2ZtRm9vdG5vdGVDYWxsTGFiZWxNYXJrZXIiKSxhLmV4aXQoImdmbUZvb3Rub3RlQ2FsbCIpLGUpOnQodSl9cmV0dXJuIHVhKHUpfHwobj0hMCksbysrLGEuY29uc3VtZSh1KSx1PT09OTI/cDpjfWZ1bmN0aW9uIHAodSl7cmV0dXJuIHU9PT05MXx8dT09PTkyfHx1PT09OTM/KGEuY29uc3VtZSh1KSxvKyssYyk6Yyh1KX19ZnVuY3Rpb24gaWthKGEsZSx0KXtsZXQgcj10aGlzLGk9ci5wYXJzZXIuZ2ZtRm9vdG5vdGVzfHwoci5wYXJzZXIuZ2ZtRm9vdG5vdGVzPVtdKSxvLG49MCxsO3JldHVybiBkO2Z1bmN0aW9uIGQoeCl7cmV0dXJuIGEuZW50ZXIoImdmbUZvb3Rub3RlRGVmaW5pdGlvbiIpLl9jb250YWluZXI9ITAsYS5lbnRlcigiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWwiKSxhLmVudGVyKCJnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbE1hcmtlciIpLGEuY29uc3VtZSh4KSxhLmV4aXQoImdmbUZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsTWFya2VyIiksY31mdW5jdGlvbiBjKHgpe3JldHVybiB4PT09OTQ/KGEuZW50ZXIoImdmbUZvb3Rub3RlRGVmaW5pdGlvbk1hcmtlciIpLGEuY29uc3VtZSh4KSxhLmV4aXQoImdmbUZvb3Rub3RlRGVmaW5pdGlvbk1hcmtlciIpLGEuZW50ZXIoImdmbUZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsU3RyaW5nIiksYS5lbnRlcigiY2h1bmtTdHJpbmciKS5jb250ZW50VHlwZT0ic3RyaW5nIixwKTp0KHgpfWZ1bmN0aW9uIHAoeCl7aWYobj45OTl8fHg9PT05MyYmIWx8fHg9PT1udWxsfHx4PT09OTF8fHVhKHgpKXJldHVybiB0KHgpO2lmKHg9PT05Myl7YS5leGl0KCJjaHVua1N0cmluZyIpO2xldCBiPWEuZXhpdCgiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxTdHJpbmciKTtyZXR1cm4gbz1ScihyLnNsaWNlU2VyaWFsaXplKGIpKSxhLmVudGVyKCJnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbE1hcmtlciIpLGEuY29uc3VtZSh4KSxhLmV4aXQoImdmbUZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsTWFya2VyIiksYS5leGl0KCJnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbCIpLG19cmV0dXJuIHVhKHgpfHwobD0hMCksbisrLGEuY29uc3VtZSh4KSx4PT09OTI/dTpwfWZ1bmN0aW9uIHUoeCl7cmV0dXJuIHg9PT05MXx8eD09PTkyfHx4PT09OTM/KGEuY29uc3VtZSh4KSxuKysscCk6cCh4KX1mdW5jdGlvbiBtKHgpe3JldHVybiB4PT09NTg/KGEuZW50ZXIoImRlZmluaXRpb25NYXJrZXIiKSxhLmNvbnN1bWUoeCksYS5leGl0KCJkZWZpbml0aW9uTWFya2VyIiksaS5pbmNsdWRlcyhvKXx8aS5wdXNoKG8pLEF0KGEsdiwiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uV2hpdGVzcGFjZSIpKTp0KHgpfWZ1bmN0aW9uIHYoeCl7cmV0dXJuIGUoeCl9fWZ1bmN0aW9uIG9rYShhLGUsdCl7cmV0dXJuIGEuY2hlY2soRjIsZSxhLmF0dGVtcHQodGthLGUsdCkpfWZ1bmN0aW9uIG5rYShhKXthLmV4aXQoImdmbUZvb3Rub3RlRGVmaW5pdGlvbiIpfWZ1bmN0aW9uIGxrYShhLGUsdCl7bGV0IHI9dGhpcztyZXR1cm4gQXQoYSxpLCJnZm1Gb290bm90ZURlZmluaXRpb25JbmRlbnQiLDUpO2Z1bmN0aW9uIGkobyl7bGV0IG49ci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdO3JldHVybiBuJiZuWzFdLnR5cGU9PT0iZ2ZtRm9vdG5vdGVEZWZpbml0aW9uSW5kZW50IiYmblsyXS5zbGljZVNlcmlhbGl6ZShuWzFdLCEwKS5sZW5ndGg9PT00P2Uobyk6dChvKX19dmFyIHRrYSxRdXQ9ZigoKT0+e1lRKCk7WXIoKTtiYSgpO1YwKCk7dGthPXt0b2tlbml6ZTpsa2EscGFydGlhbDohMH07cyhtM2UsImdmbUZvb3Rub3RlIik7cyhha2EsInRva2VuaXplUG90ZW50aWFsR2ZtRm9vdG5vdGVDYWxsIik7cyhya2EsInJlc29sdmVUb1BvdGVudGlhbEdmbUZvb3Rub3RlQ2FsbCIpO3Moc2thLCJ0b2tlbml6ZUdmbUZvb3Rub3RlQ2FsbCIpO3MoaWthLCJ0b2tlbml6ZURlZmluaXRpb25TdGFydCIpO3Mob2thLCJ0b2tlbml6ZURlZmluaXRpb25Db250aW51YXRpb24iKTtzKG5rYSwiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uRW5kIik7cyhsa2EsInRva2VuaXplSW5kZW50Iil9KTtmdW5jdGlvbiBKdXQoYSxlKXtyZXR1cm4iQmFjayB0byByZWZlcmVuY2UgIisoYSsxKSsoZT4xPyItIitlOiIiKX1mdW5jdGlvbiBnM2UoYSl7bGV0IGU9YXx8ZGthLHQ9ZS5sYWJlbHx8IkZvb3Rub3RlcyIscj1lLmxhYmVsVGFnTmFtZXx8ImgyIixpPWUubGFiZWxBdHRyaWJ1dGVzPT09bnVsbHx8ZS5sYWJlbEF0dHJpYnV0ZXM9PT12b2lkIDA/J2NsYXNzPSJzci1vbmx5Iic6ZS5sYWJlbEF0dHJpYnV0ZXMsbz1lLmJhY2tMYWJlbHx8SnV0LG49ZS5jbG9iYmVyUHJlZml4PT09bnVsbHx8ZS5jbG9iYmVyUHJlZml4PT09dm9pZCAwPyJ1c2VyLWNvbnRlbnQtIjplLmNsb2JiZXJQcmVmaXg7cmV0dXJue2VudGVyOntnZm1Gb290bm90ZURlZmluaXRpb24oKXt0aGlzLmdldERhdGEoInRpZ2h0U3RhY2siKS5wdXNoKCExKX0sZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxTdHJpbmcoKXt0aGlzLmJ1ZmZlcigpfSxnZm1Gb290bm90ZUNhbGxTdHJpbmcoKXt0aGlzLmJ1ZmZlcigpfX0sZXhpdDp7Z2ZtRm9vdG5vdGVEZWZpbml0aW9uKCl7bGV0IGw9dGhpcy5nZXREYXRhKCJnZm1Gb290bm90ZURlZmluaXRpb25zIiksZD10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlRGVmaW5pdGlvblN0YWNrIiksYz10aGlzLmdldERhdGEoInRpZ2h0U3RhY2siKSxwPWQucG9wKCksdT10aGlzLnJlc3VtZSgpO2x8fHRoaXMuc2V0RGF0YSgiZ2ZtRm9vdG5vdGVEZWZpbml0aW9ucyIsbD17fSksY2thLmNhbGwobCxwKXx8KGxbcF09dSksYy5wb3AoKSx0aGlzLnNldERhdGEoInNsdXJwT25lTGluZUVuZGluZyIsITApLHRoaXMuc2V0RGF0YSgibGFzdFdhc1RhZyIpfSxnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbFN0cmluZyhsKXtsZXQgZD10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlRGVmaW5pdGlvblN0YWNrIik7ZHx8dGhpcy5zZXREYXRhKCJnZm1Gb290bm90ZURlZmluaXRpb25TdGFjayIsZD1bXSksZC5wdXNoKFJyKHRoaXMuc2xpY2VTZXJpYWxpemUobCkpKSx0aGlzLnJlc3VtZSgpLHRoaXMuYnVmZmVyKCl9LGdmbUZvb3Rub3RlQ2FsbFN0cmluZyhsKXtsZXQgZD10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlQ2FsbE9yZGVyIiksYz10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlQ2FsbENvdW50cyIpLHA9UnIodGhpcy5zbGljZVNlcmlhbGl6ZShsKSksdTt0aGlzLnJlc3VtZSgpLGR8fHRoaXMuc2V0RGF0YSgiZ2ZtRm9vdG5vdGVDYWxsT3JkZXIiLGQ9W10pLGN8fHRoaXMuc2V0RGF0YSgiZ2ZtRm9vdG5vdGVDYWxsQ291bnRzIixjPXt9KTtsZXQgbT1kLmluZGV4T2YocCksdj1SMihwLnRvTG93ZXJDYXNlKCkpO209PT0tMT8oZC5wdXNoKHApLGNbcF09MSx1PWQubGVuZ3RoKTooY1twXSsrLHU9bSsxKTtsZXQgeD1jW3BdO3RoaXMudGFnKCc8c3VwPjxhIGhyZWY9IiMnK24rImZuLSIrdisnIiBpZD0iJytuKyJmbnJlZi0iK3YrKHg+MT8iLSIreDoiIikrJyIgZGF0YS1mb290bm90ZS1yZWY9IiIgYXJpYS1kZXNjcmliZWRieT0iZm9vdG5vdGUtbGFiZWwiPicrU3RyaW5nKHUpKyI8L2E+PC9zdXA+Iil9LG51bGwoKXtsZXQgbD10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlQ2FsbE9yZGVyIil8fFtdLGQ9dGhpcy5nZXREYXRhKCJnZm1Gb290bm90ZUNhbGxDb3VudHMiKXx8e30sYz10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlRGVmaW5pdGlvbnMiKXx8e30scD0tMTtmb3IobC5sZW5ndGg+MCYmKHRoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoJzxzZWN0aW9uIGRhdGEtZm9vdG5vdGVzPSIiIGNsYXNzPSJmb290bm90ZXMiPjwnK3IrJyBpZD0iZm9vdG5vdGUtbGFiZWwiJysoaT8iICIraToiIikrIj4iKSx0aGlzLnJhdyh0aGlzLmVuY29kZSh0KSksdGhpcy50YWcoIjwvIityKyI+IiksdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPG9sPiIpKTsrK3A8bC5sZW5ndGg7KXtsZXQgdT1sW3BdLG09UjIodS50b0xvd2VyQ2FzZSgpKSx2PTAseD1bXTtmb3IoOysrdjw9ZFt1XTspeC5wdXNoKCc8YSBocmVmPSIjJytuKyJmbnJlZi0iK20rKHY+MT8iLSIrdjoiIikrJyIgZGF0YS1mb290bm90ZS1iYWNrcmVmPSIiIGFyaWEtbGFiZWw9IicrdGhpcy5lbmNvZGUodHlwZW9mIG89PSJzdHJpbmciP286byhwLHYpKSsnIiBjbGFzcz0iZGF0YS1mb290bm90ZS1iYWNrcmVmIj5cdTIxQTknKyh2PjE/IjxzdXA+Iit2KyI8L3N1cD4iOiIiKSsiPC9hPiIpO2xldCBiPXguam9pbigiICIpLGc9ITE7dGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygnPGxpIGlkPSInK24rImZuLSIrbSsnIj4nKSx0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKGNbdV0ucmVwbGFjZSgvPFwvcD4oPzpccj9cbnxccik/JC8sZnVuY3Rpb24oeSl7cmV0dXJuIGc9ITAsIiAiK2IreX0pKSxnfHwodGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZyhiKSksdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC9saT4iKX1sLmxlbmd0aD4wJiYodGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC9vbD4iKSx0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8L3NlY3Rpb24+IikpfX19fXZhciBja2EsZGthLGVwdD1mKCgpPT57VjAoKTtPMigpO2NrYT17fS5oYXNPd25Qcm9wZXJ0eSxka2E9e307cyhKdXQsImRlZmF1bHRCYWNrTGFiZWwiKTtzKGczZSwiZ2ZtRm9vdG5vdGVIdG1sIil9KTt2YXIgdHB0PWYoKCk9PntRdXQoKTtlcHQoKX0pO2Z1bmN0aW9uIGIzZSgpe3JldHVybntlbnRlcjp7c3RyaWtldGhyb3VnaCgpe3RoaXMudGFnKCI8ZGVsPiIpfX0sZXhpdDp7c3RyaWtldGhyb3VnaCgpe3RoaXMudGFnKCI8L2RlbD4iKX19fX12YXIgYXB0PWYoKCk9PntzKGIzZSwiZ2ZtU3RyaWtldGhyb3VnaEh0bWwiKX0pO2Z1bmN0aW9uIHYzZShhKXtsZXQgdD0oYXx8e30pLnNpbmdsZVRpbGRlLHI9e25hbWU6InN0cmlrZXRocm91Z2giLHRva2VuaXplOm8scmVzb2x2ZUFsbDppfTtyZXR1cm4gdD09bnVsbCYmKHQ9ITApLHt0ZXh0OnsxMjY6cn0saW5zaWRlU3Bhbjp7bnVsbDpbcl19LGF0dGVudGlvbk1hcmtlcnM6e251bGw6WzEyNl19fTtmdW5jdGlvbiBpKG4sbCl7bGV0IGQ9LTE7Zm9yKDsrK2Q8bi5sZW5ndGg7KWlmKG5bZF1bMF09PT0iZW50ZXIiJiZuW2RdWzFdLnR5cGU9PT0ic3RyaWtldGhyb3VnaFNlcXVlbmNlVGVtcG9yYXJ5IiYmbltkXVsxXS5fY2xvc2Upe2xldCBjPWQ7Zm9yKDtjLS07KWlmKG5bY11bMF09PT0iZXhpdCImJm5bY11bMV0udHlwZT09PSJzdHJpa2V0aHJvdWdoU2VxdWVuY2VUZW1wb3JhcnkiJiZuW2NdWzFdLl9vcGVuJiZuW2RdWzFdLmVuZC5vZmZzZXQtbltkXVsxXS5zdGFydC5vZmZzZXQ9PT1uW2NdWzFdLmVuZC5vZmZzZXQtbltjXVsxXS5zdGFydC5vZmZzZXQpe25bZF1bMV0udHlwZT0ic3RyaWtldGhyb3VnaFNlcXVlbmNlIixuW2NdWzFdLnR5cGU9InN0cmlrZXRocm91Z2hTZXF1ZW5jZSI7bGV0IHA9e3R5cGU6InN0cmlrZXRocm91Z2giLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sbltjXVsxXS5zdGFydCksZW5kOk9iamVjdC5hc3NpZ24oe30sbltkXVsxXS5lbmQpfSx1PXt0eXBlOiJzdHJpa2V0aHJvdWdoVGV4dCIsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxuW2NdWzFdLmVuZCksZW5kOk9iamVjdC5hc3NpZ24oe30sbltkXVsxXS5zdGFydCl9LG09W1siZW50ZXIiLHAsbF0sWyJlbnRlciIsbltjXVsxXSxsXSxbImV4aXQiLG5bY11bMV0sbF0sWyJlbnRlciIsdSxsXV0sdj1sLnBhcnNlci5jb25zdHJ1Y3RzLmluc2lkZVNwYW4ubnVsbDt2JiZHcihtLG0ubGVuZ3RoLDAsVTAodixuLnNsaWNlKGMrMSxkKSxsKSksR3IobSxtLmxlbmd0aCwwLFtbImV4aXQiLHUsbF0sWyJlbnRlciIsbltkXVsxXSxsXSxbImV4aXQiLG5bZF1bMV0sbF0sWyJleGl0IixwLGxdXSksR3IobixjLTEsZC1jKzMsbSksZD1jK20ubGVuZ3RoLTI7YnJlYWt9fWZvcihkPS0xOysrZDxuLmxlbmd0aDspbltkXVsxXS50eXBlPT09InN0cmlrZXRocm91Z2hTZXF1ZW5jZVRlbXBvcmFyeSImJihuW2RdWzFdLnR5cGU9ImRhdGEiKTtyZXR1cm4gbn1zKGksInJlc29sdmVBbGxTdHJpa2V0aHJvdWdoIik7ZnVuY3Rpb24gbyhuLGwsZCl7bGV0IGM9dGhpcy5wcmV2aW91cyxwPXRoaXMuZXZlbnRzLHU9MDtyZXR1cm4gbTtmdW5jdGlvbiBtKHgpe3JldHVybiBjPT09MTI2JiZwW3AubGVuZ3RoLTFdWzFdLnR5cGUhPT0iY2hhcmFjdGVyRXNjYXBlIj9kKHgpOihuLmVudGVyKCJzdHJpa2V0aHJvdWdoU2VxdWVuY2VUZW1wb3JhcnkiKSx2KHgpKX1mdW5jdGlvbiB2KHgpe2xldCBiPVVsKGMpO2lmKHg9PT0xMjYpcmV0dXJuIHU+MT9kKHgpOihuLmNvbnN1bWUoeCksdSsrLHYpO2lmKHU8MiYmIXQpcmV0dXJuIGQoeCk7bGV0IGc9bi5leGl0KCJzdHJpa2V0aHJvdWdoU2VxdWVuY2VUZW1wb3JhcnkiKSx5PVVsKHgpO3JldHVybiBnLl9vcGVuPSF5fHx5PT09MiYmISFiLGcuX2Nsb3NlPSFifHxiPT09MiYmISF5LGwoeCl9fXMobywidG9rZW5pemVTdHJpa2V0aHJvdWdoIil9dmFyIHJwdD1mKCgpPT57STIoKTt6USgpO1hnKCk7cyh2M2UsImdmbVN0cmlrZXRocm91Z2giKX0pO3ZhciBzcHQ9ZigoKT0+e2FwdCgpO3JwdCgpfSk7ZnVuY3Rpb24geTNlKCl7cmV0dXJue2VudGVyOnt0YWJsZShhKXtsZXQgZT1hLl9hbGlnbjt0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8dGFibGU+IiksdGhpcy5zZXREYXRhKCJ0YWJsZUFsaWduIixlKX0sdGFibGVCb2R5KCl7dGhpcy50YWcoIjx0Ym9keT4iKX0sdGFibGVEYXRhKCl7bGV0IGE9dGhpcy5nZXREYXRhKCJ0YWJsZUFsaWduIiksZT10aGlzLmdldERhdGEoInRhYmxlQ29sdW1uIiksdD14M2VbYVtlXV07dD09PXZvaWQgMD90aGlzLmJ1ZmZlcigpOih0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8dGQiK3QrIj4iKSl9LHRhYmxlSGVhZCgpe3RoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoIjx0aGVhZD4iKX0sdGFibGVIZWFkZXIoKXtsZXQgYT10aGlzLmdldERhdGEoInRhYmxlQWxpZ24iKSxlPXRoaXMuZ2V0RGF0YSgidGFibGVDb2x1bW4iKSx0PXgzZVthW2VdXTt0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8dGgiK3QrIj4iKX0sdGFibGVSb3coKXt0aGlzLnNldERhdGEoInRhYmxlQ29sdW1uIiwwKSx0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8dHI+Iil9fSxleGl0Ontjb2RlVGV4dERhdGEoYSl7bGV0IGU9dGhpcy5zbGljZVNlcmlhbGl6ZShhKTt0aGlzLmdldERhdGEoInRhYmxlQWxpZ24iKSYmKGU9ZS5yZXBsYWNlKC9cXChbXFx8XSkvZyx1a2EpKSx0aGlzLnJhdyh0aGlzLmVuY29kZShlKSl9LHRhYmxlKCl7dGhpcy5zZXREYXRhKCJ0YWJsZUFsaWduIiksdGhpcy5zZXREYXRhKCJzbHVycEFsbExpbmVFbmRpbmdzIiksdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC90YWJsZT4iKX0sdGFibGVCb2R5KCl7dGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC90Ym9keT4iKX0sdGFibGVEYXRhKCl7bGV0IGE9dGhpcy5nZXREYXRhKCJ0YWJsZUFsaWduIiksZT10aGlzLmdldERhdGEoInRhYmxlQ29sdW1uIik7ZSBpbiBhPyh0aGlzLnRhZygiPC90ZD4iKSx0aGlzLnNldERhdGEoInRhYmxlQ29sdW1uIixlKzEpKTp0aGlzLnJlc3VtZSgpfSx0YWJsZUhlYWQoKXt0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8L3RoZWFkPiIpfSx0YWJsZUhlYWRlcigpe2xldCBhPXRoaXMuZ2V0RGF0YSgidGFibGVDb2x1bW4iKTt0aGlzLnRhZygiPC90aD4iKSx0aGlzLnNldERhdGEoInRhYmxlQ29sdW1uIixhKzEpfSx0YWJsZVJvdygpe2xldCBhPXRoaXMuZ2V0RGF0YSgidGFibGVBbGlnbiIpLGU9dGhpcy5nZXREYXRhKCJ0YWJsZUNvbHVtbiIpO2Zvcig7ZTxhLmxlbmd0aDspdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPHRkIit4M2VbYVtlXV0rIj48L3RkPiIpLGUrKzt0aGlzLnNldERhdGEoInRhYmxlQ29sdW1uIixlKSx0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8L3RyPiIpfX19fWZ1bmN0aW9uIHVrYShhLGUpe3JldHVybiBlPT09InwiP2U6YX12YXIgeDNlLGlwdD1mKCgpPT57eDNlPXtub25lOiIiLGxlZnQ6JyBhbGlnbj0ibGVmdCInLHJpZ2h0OicgYWxpZ249InJpZ2h0IicsY2VudGVyOicgYWxpZ249ImNlbnRlciInfTtzKHkzZSwiZ2ZtVGFibGVIdG1sIik7cyh1a2EsInJlcGxhY2UiKX0pO2Z1bmN0aW9uIHBrYShhLGUsdCxyKXtsZXQgaT0wO2lmKCEodD09PTAmJnIubGVuZ3RoPT09MCkpe2Zvcig7aTxhLm1hcC5sZW5ndGg7KXtpZihhLm1hcFtpXVswXT09PWUpe2EubWFwW2ldWzFdKz10LGEubWFwW2ldWzJdLnB1c2goLi4ucik7cmV0dXJufWkrPTF9YS5tYXAucHVzaChbZSx0LHJdKX19dmFyIEtRLG9wdD1mKCgpPT57S1E9Y2xhc3N7c3RhdGlje3ModGhpcywiRWRpdE1hcCIpfWNvbnN0cnVjdG9yKCl7dGhpcy5tYXA9W119YWRkKGUsdCxyKXtwa2EodGhpcyxlLHQscil9Y29uc3VtZShlKXtpZih0aGlzLm1hcC5zb3J0KGZ1bmN0aW9uKG8sbil7cmV0dXJuIG9bMF0tblswXX0pLHRoaXMubWFwLmxlbmd0aD09PTApcmV0dXJuO2xldCB0PXRoaXMubWFwLmxlbmd0aCxyPVtdO2Zvcig7dD4wOyl0LT0xLHIucHVzaChlLnNsaWNlKHRoaXMubWFwW3RdWzBdK3RoaXMubWFwW3RdWzFdKSx0aGlzLm1hcFt0XVsyXSksZS5sZW5ndGg9dGhpcy5tYXBbdF1bMF07ci5wdXNoKGUuc2xpY2UoKSksZS5sZW5ndGg9MDtsZXQgaT1yLnBvcCgpO2Zvcig7aTspe2ZvcihsZXQgbyBvZiBpKWUucHVzaChvKTtpPXIucG9wKCl9dGhpcy5tYXAubGVuZ3RoPTB9fTtzKHBrYSwiYWRkSW1wbGVtZW50YXRpb24iKX0pO2Z1bmN0aW9uIG5wdChhLGUpe2xldCB0PSExLHI9W107Zm9yKDtlPGEubGVuZ3RoOyl7bGV0IGk9YVtlXTtpZih0KXtpZihpWzBdPT09ImVudGVyIilpWzFdLnR5cGU9PT0idGFibGVDb250ZW50IiYmci5wdXNoKGFbZSsxXVsxXS50eXBlPT09InRhYmxlRGVsaW1pdGVyTWFya2VyIj8ibGVmdCI6Im5vbmUiKTtlbHNlIGlmKGlbMV0udHlwZT09PSJ0YWJsZUNvbnRlbnQiKXtpZihhW2UtMV1bMV0udHlwZT09PSJ0YWJsZURlbGltaXRlck1hcmtlciIpe2xldCBvPXIubGVuZ3RoLTE7cltvXT1yW29dPT09ImxlZnQiPyJjZW50ZXIiOiJyaWdodCJ9fWVsc2UgaWYoaVsxXS50eXBlPT09InRhYmxlRGVsaW1pdGVyUm93IilicmVha31lbHNlIGlbMF09PT0iZW50ZXIiJiZpWzFdLnR5cGU9PT0idGFibGVEZWxpbWl0ZXJSb3ciJiYodD0hMCk7ZSs9MX1yZXR1cm4gcn12YXIgbHB0PWYoKCk9PntzKG5wdCwiZ2ZtVGFibGVBbGlnbiIpfSk7ZnVuY3Rpb24gdzNlKCl7cmV0dXJue2Zsb3c6e251bGw6e25hbWU6InRhYmxlIix0b2tlbml6ZTpma2EscmVzb2x2ZUFsbDpoa2F9fX19ZnVuY3Rpb24gZmthKGEsZSx0KXtsZXQgcj10aGlzLGk9MCxvPTAsbjtyZXR1cm4gbDtmdW5jdGlvbiBsKEIpe2xldCBNPXIuZXZlbnRzLmxlbmd0aC0xO2Zvcig7TT4tMTspe2xldCBBPXIuZXZlbnRzW01dWzFdLnR5cGU7aWYoQT09PSJsaW5lRW5kaW5nInx8QT09PSJsaW5lUHJlZml4IilNLS07ZWxzZSBicmVha31sZXQgUz1NPi0xP3IuZXZlbnRzW01dWzFdLnR5cGU6bnVsbCxQPVM9PT0idGFibGVIZWFkInx8Uz09PSJ0YWJsZVJvdyI/ejpkO3JldHVybiBQPT09eiYmci5wYXJzZXIubGF6eVtyLm5vdygpLmxpbmVdP3QoQik6UChCKX1mdW5jdGlvbiBkKEIpe3JldHVybiBhLmVudGVyKCJ0YWJsZUhlYWQiKSxhLmVudGVyKCJ0YWJsZVJvdyIpLGMoQil9ZnVuY3Rpb24gYyhCKXtyZXR1cm4gQj09PTEyNHx8KG49ITAsbys9MSkscChCKX1mdW5jdGlvbiBwKEIpe3JldHVybiBCPT09bnVsbD90KEIpOkplKEIpP28+MT8obz0wLHIuaW50ZXJydXB0PSEwLGEuZXhpdCgidGFibGVSb3ciKSxhLmVudGVyKCJsaW5lRW5kaW5nIiksYS5jb25zdW1lKEIpLGEuZXhpdCgibGluZUVuZGluZyIpLHYpOnQoQik6Q3QoQik/QXQoYSxwLCJ3aGl0ZXNwYWNlIikoQik6KG8rPTEsbiYmKG49ITEsaSs9MSksQj09PTEyND8oYS5lbnRlcigidGFibGVDZWxsRGl2aWRlciIpLGEuY29uc3VtZShCKSxhLmV4aXQoInRhYmxlQ2VsbERpdmlkZXIiKSxuPSEwLHApOihhLmVudGVyKCJkYXRhIiksdShCKSkpfWZ1bmN0aW9uIHUoQil7cmV0dXJuIEI9PT1udWxsfHxCPT09MTI0fHx1YShCKT8oYS5leGl0KCJkYXRhIikscChCKSk6KGEuY29uc3VtZShCKSxCPT09OTI/bTp1KX1mdW5jdGlvbiBtKEIpe3JldHVybiBCPT09OTJ8fEI9PT0xMjQ/KGEuY29uc3VtZShCKSx1KTp1KEIpfWZ1bmN0aW9uIHYoQil7cmV0dXJuIHIuaW50ZXJydXB0PSExLHIucGFyc2VyLmxhenlbci5ub3coKS5saW5lXT90KEIpOihhLmVudGVyKCJ0YWJsZURlbGltaXRlclJvdyIpLG49ITEsQ3QoQik/QXQoYSx4LCJsaW5lUHJlZml4IixyLnBhcnNlci5jb25zdHJ1Y3RzLmRpc2FibGUubnVsbC5pbmNsdWRlcygiY29kZUluZGVudGVkIik/dm9pZCAwOjQpKEIpOngoQikpfWZ1bmN0aW9uIHgoQil7cmV0dXJuIEI9PT00NXx8Qj09PTU4P2coQik6Qj09PTEyND8obj0hMCxhLmVudGVyKCJ0YWJsZUNlbGxEaXZpZGVyIiksYS5jb25zdW1lKEIpLGEuZXhpdCgidGFibGVDZWxsRGl2aWRlciIpLGIpOl8oQil9ZnVuY3Rpb24gYihCKXtyZXR1cm4gQ3QoQik/QXQoYSxnLCJ3aGl0ZXNwYWNlIikoQik6ZyhCKX1mdW5jdGlvbiBnKEIpe3JldHVybiBCPT09NTg/KG8rPTEsbj0hMCxhLmVudGVyKCJ0YWJsZURlbGltaXRlck1hcmtlciIpLGEuY29uc3VtZShCKSxhLmV4aXQoInRhYmxlRGVsaW1pdGVyTWFya2VyIikseSk6Qj09PTQ1PyhvKz0xLHkoQikpOkI9PT1udWxsfHxKZShCKT9OKEIpOl8oQil9ZnVuY3Rpb24geShCKXtyZXR1cm4gQj09PTQ1PyhhLmVudGVyKCJ0YWJsZURlbGltaXRlckZpbGxlciIpLGsoQikpOl8oQil9ZnVuY3Rpb24gayhCKXtyZXR1cm4gQj09PTQ1PyhhLmNvbnN1bWUoQiksayk6Qj09PTU4PyhuPSEwLGEuZXhpdCgidGFibGVEZWxpbWl0ZXJGaWxsZXIiKSxhLmVudGVyKCJ0YWJsZURlbGltaXRlck1hcmtlciIpLGEuY29uc3VtZShCKSxhLmV4aXQoInRhYmxlRGVsaW1pdGVyTWFya2VyIiksQyk6KGEuZXhpdCgidGFibGVEZWxpbWl0ZXJGaWxsZXIiKSxDKEIpKX1mdW5jdGlvbiBDKEIpe3JldHVybiBDdChCKT9BdChhLE4sIndoaXRlc3BhY2UiKShCKTpOKEIpfWZ1bmN0aW9uIE4oQil7cmV0dXJuIEI9PT0xMjQ/eChCKTpCPT09bnVsbHx8SmUoQik/IW58fGkhPT1vP18oQik6KGEuZXhpdCgidGFibGVEZWxpbWl0ZXJSb3ciKSxhLmV4aXQoInRhYmxlSGVhZCIpLGUoQikpOl8oQil9ZnVuY3Rpb24gXyhCKXtyZXR1cm4gdChCKX1mdW5jdGlvbiB6KEIpe3JldHVybiBhLmVudGVyKCJ0YWJsZVJvdyIpLE8oQil9ZnVuY3Rpb24gTyhCKXtyZXR1cm4gQj09PTEyND8oYS5lbnRlcigidGFibGVDZWxsRGl2aWRlciIpLGEuY29uc3VtZShCKSxhLmV4aXQoInRhYmxlQ2VsbERpdmlkZXIiKSxPKTpCPT09bnVsbHx8SmUoQik/KGEuZXhpdCgidGFibGVSb3ciKSxlKEIpKTpDdChCKT9BdChhLE8sIndoaXRlc3BhY2UiKShCKTooYS5lbnRlcigiZGF0YSIpLFQoQikpfWZ1bmN0aW9uIFQoQil7cmV0dXJuIEI9PT1udWxsfHxCPT09MTI0fHx1YShCKT8oYS5leGl0KCJkYXRhIiksTyhCKSk6KGEuY29uc3VtZShCKSxCPT09OTI/RTpUKX1mdW5jdGlvbiBFKEIpe3JldHVybiBCPT09OTJ8fEI9PT0xMjQ/KGEuY29uc3VtZShCKSxUKTpUKEIpfX1mdW5jdGlvbiBoa2EoYSxlKXtsZXQgdD0tMSxyPSEwLGk9MCxvPVswLDAsMCwwXSxuPVswLDAsMCwwXSxsPSExLGQ9MCxjLHAsdSxtPW5ldyBLUTtmb3IoOysrdDxhLmxlbmd0aDspe2xldCB2PWFbdF0seD12WzFdO3ZbMF09PT0iZW50ZXIiP3gudHlwZT09PSJ0YWJsZUhlYWQiPyhsPSExLGQhPT0wJiYoY3B0KG0sZSxkLGMscCkscD12b2lkIDAsZD0wKSxjPXt0eXBlOiJ0YWJsZSIsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSx4LnN0YXJ0KSxlbmQ6T2JqZWN0LmFzc2lnbih7fSx4LmVuZCl9LG0uYWRkKHQsMCxbWyJlbnRlciIsYyxlXV0pKTp4LnR5cGU9PT0idGFibGVSb3cifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJSb3ciPyhyPSEwLHU9dm9pZCAwLG89WzAsMCwwLDBdLG49WzAsdCsxLDAsMF0sbCYmKGw9ITEscD17dHlwZToidGFibGVCb2R5IixzdGFydDpPYmplY3QuYXNzaWduKHt9LHguc3RhcnQpLGVuZDpPYmplY3QuYXNzaWduKHt9LHguZW5kKX0sbS5hZGQodCwwLFtbImVudGVyIixwLGVdXSkpLGk9eC50eXBlPT09InRhYmxlRGVsaW1pdGVyUm93Ij8yOnA/MzoxKTppJiYoeC50eXBlPT09ImRhdGEifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJNYXJrZXIifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJGaWxsZXIiKT8ocj0hMSxuWzJdPT09MCYmKG9bMV0hPT0wJiYoblswXT1uWzFdLHU9WlEobSxlLG8saSx2b2lkIDAsdSksbz1bMCwwLDAsMF0pLG5bMl09dCkpOngudHlwZT09PSJ0YWJsZUNlbGxEaXZpZGVyIiYmKHI/cj0hMToob1sxXSE9PTAmJihuWzBdPW5bMV0sdT1aUShtLGUsbyxpLHZvaWQgMCx1KSksbz1uLG49W29bMV0sdCwwLDBdKSk6eC50eXBlPT09InRhYmxlSGVhZCI/KGw9ITAsZD10KTp4LnR5cGU9PT0idGFibGVSb3cifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJSb3ciPyhkPXQsb1sxXSE9PTA/KG5bMF09blsxXSx1PVpRKG0sZSxvLGksdCx1KSk6blsxXSE9PTAmJih1PVpRKG0sZSxuLGksdCx1KSksaT0wKTppJiYoeC50eXBlPT09ImRhdGEifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJNYXJrZXIifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJGaWxsZXIiKSYmKG5bM109dCl9Zm9yKGQhPT0wJiZjcHQobSxlLGQsYyxwKSxtLmNvbnN1bWUoZS5ldmVudHMpLHQ9LTE7Kyt0PGUuZXZlbnRzLmxlbmd0aDspe2xldCB2PWUuZXZlbnRzW3RdO3ZbMF09PT0iZW50ZXIiJiZ2WzFdLnR5cGU9PT0idGFibGUiJiYodlsxXS5fYWxpZ249bnB0KGUuZXZlbnRzLHQpKX1yZXR1cm4gYX1mdW5jdGlvbiBaUShhLGUsdCxyLGksbyl7bGV0IG49cj09PTE/InRhYmxlSGVhZGVyIjpyPT09Mj8idGFibGVEZWxpbWl0ZXIiOiJ0YWJsZURhdGEiLGw9InRhYmxlQ29udGVudCI7dFswXSE9PTAmJihvLmVuZD1PYmplY3QuYXNzaWduKHt9LFQ4KGUuZXZlbnRzLHRbMF0pKSxhLmFkZCh0WzBdLDAsW1siZXhpdCIsbyxlXV0pKTtsZXQgZD1UOChlLmV2ZW50cyx0WzFdKTtpZihvPXt0eXBlOm4sc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxkKSxlbmQ6T2JqZWN0LmFzc2lnbih7fSxkKX0sYS5hZGQodFsxXSwwLFtbImVudGVyIixvLGVdXSksdFsyXSE9PTApe2xldCBjPVQ4KGUuZXZlbnRzLHRbMl0pLHA9VDgoZS5ldmVudHMsdFszXSksdT17dHlwZTpsLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sYyksZW5kOk9iamVjdC5hc3NpZ24oe30scCl9O2lmKGEuYWRkKHRbMl0sMCxbWyJlbnRlciIsdSxlXV0pLHIhPT0yKXtsZXQgbT1lLmV2ZW50c1t0WzJdXSx2PWUuZXZlbnRzW3RbM11dO2lmKG1bMV0uZW5kPU9iamVjdC5hc3NpZ24oe30sdlsxXS5lbmQpLG1bMV0udHlwZT0iY2h1bmtUZXh0IixtWzFdLmNvbnRlbnRUeXBlPSJ0ZXh0Iix0WzNdPnRbMl0rMSl7bGV0IHg9dFsyXSsxLGI9dFszXS10WzJdLTE7YS5hZGQoeCxiLFtdKX19YS5hZGQodFszXSsxLDAsW1siZXhpdCIsdSxlXV0pfXJldHVybiBpIT09dm9pZCAwJiYoby5lbmQ9T2JqZWN0LmFzc2lnbih7fSxUOChlLmV2ZW50cyxpKSksYS5hZGQoaSwwLFtbImV4aXQiLG8sZV1dKSxvPXZvaWQgMCksb31mdW5jdGlvbiBjcHQoYSxlLHQscixpKXtsZXQgbz1bXSxuPVQ4KGUuZXZlbnRzLHQpO2kmJihpLmVuZD1PYmplY3QuYXNzaWduKHt9LG4pLG8ucHVzaChbImV4aXQiLGksZV0pKSxyLmVuZD1PYmplY3QuYXNzaWduKHt9LG4pLG8ucHVzaChbImV4aXQiLHIsZV0pLGEuYWRkKHQrMSwwLG8pfWZ1bmN0aW9uIFQ4KGEsZSl7bGV0IHQ9YVtlXSxyPXRbMF09PT0iZW50ZXIiPyJzdGFydCI6ImVuZCI7cmV0dXJuIHRbMV1bcl19dmFyIGRwdD1mKCgpPT57WXIoKTtiYSgpO29wdCgpO2xwdCgpO3ModzNlLCJnZm1UYWJsZSIpO3MoZmthLCJ0b2tlbml6ZVRhYmxlIik7cyhoa2EsInJlc29sdmVUYWJsZSIpO3MoWlEsImZsdXNoQ2VsbCIpO3MoY3B0LCJmbHVzaFRhYmxlRW5kIik7cyhUOCwiZ2V0UG9pbnQiKX0pO3ZhciB1cHQ9ZigoKT0+e2lwdCgpO2RwdCgpfSk7ZnVuY3Rpb24gTTNlKCl7cmV0dXJue2V4aXQ6e2h0bWxGbG93RGF0YShhKXtmcHQuY2FsbCh0aGlzLGEscHB0KX0saHRtbFRleHREYXRhKGEpe2ZwdC5jYWxsKHRoaXMsYSxta2EpfX19fWZ1bmN0aW9uIGZwdChhLGUpe2xldCB0PXRoaXMuc2xpY2VTZXJpYWxpemUoYSk7dGhpcy5vcHRpb25zLmFsbG93RGFuZ2Vyb3VzSHRtbCYmKHQ9dC5yZXBsYWNlKGUsIiZsdDskMSQyIikpLHRoaXMucmF3KHRoaXMuZW5jb2RlKHQpKX12YXIgcHB0LG1rYSxocHQ9ZigoKT0+e3BwdD0vPChcLz8pKGlmcmFtZXxub2VtYmVkfG5vZnJhbWVzfHBsYWludGV4dHxzY3JpcHR8c3R5bGV8dGl0bGV8dGV4dGFyZWF8eG1wKSg/PVtcdFxuXGZcciAvPl0pL2dpLG1rYT1uZXcgUmVnRXhwKCJeIitwcHQuc291cmNlLCJpIik7cyhNM2UsImdmbVRhZ2ZpbHRlckh0bWwiKTtzKGZwdCwiZXhpdEh0bWxEYXRhIil9KTt2YXIgbXB0PWYoKCk9PntocHQoKX0pO2Z1bmN0aW9uIGszZSgpe3JldHVybntlbnRlcjp7dGFza0xpc3RDaGVjaygpe3RoaXMudGFnKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giIGRpc2FibGVkPSIiICcpfX0sZXhpdDp7dGFza0xpc3RDaGVjaygpe3RoaXMudGFnKCIvPiIpfSx0YXNrTGlzdENoZWNrVmFsdWVDaGVja2VkKCl7dGhpcy50YWcoJ2NoZWNrZWQ9IiIgJyl9fX19dmFyIGdwdD1mKCgpPT57cyhrM2UsImdmbVRhc2tMaXN0SXRlbUh0bWwiKX0pO2Z1bmN0aW9uIFMzZSgpe3JldHVybnt0ZXh0Ons5MTpna2F9fX1mdW5jdGlvbiBia2EoYSxlLHQpe2xldCByPXRoaXM7cmV0dXJuIGk7ZnVuY3Rpb24gaShkKXtyZXR1cm4gci5wcmV2aW91cyE9PW51bGx8fCFyLl9nZm1UYXNrbGlzdEZpcnN0Q29udGVudE9mTGlzdEl0ZW0/dChkKTooYS5lbnRlcigidGFza0xpc3RDaGVjayIpLGEuZW50ZXIoInRhc2tMaXN0Q2hlY2tNYXJrZXIiKSxhLmNvbnN1bWUoZCksYS5leGl0KCJ0YXNrTGlzdENoZWNrTWFya2VyIiksbyl9ZnVuY3Rpb24gbyhkKXtyZXR1cm4gdWEoZCk/KGEuZW50ZXIoInRhc2tMaXN0Q2hlY2tWYWx1ZVVuY2hlY2tlZCIpLGEuY29uc3VtZShkKSxhLmV4aXQoInRhc2tMaXN0Q2hlY2tWYWx1ZVVuY2hlY2tlZCIpLG4pOmQ9PT04OHx8ZD09PTEyMD8oYS5lbnRlcigidGFza0xpc3RDaGVja1ZhbHVlQ2hlY2tlZCIpLGEuY29uc3VtZShkKSxhLmV4aXQoInRhc2tMaXN0Q2hlY2tWYWx1ZUNoZWNrZWQiKSxuKTp0KGQpfWZ1bmN0aW9uIG4oZCl7cmV0dXJuIGQ9PT05Mz8oYS5lbnRlcigidGFza0xpc3RDaGVja01hcmtlciIpLGEuY29uc3VtZShkKSxhLmV4aXQoInRhc2tMaXN0Q2hlY2tNYXJrZXIiKSxhLmV4aXQoInRhc2tMaXN0Q2hlY2siKSxsKTp0KGQpfWZ1bmN0aW9uIGwoZCl7cmV0dXJuIEplKGQpP2UoZCk6Q3QoZCk/YS5jaGVjayh7dG9rZW5pemU6dmthfSxlLHQpKGQpOnQoZCl9fWZ1bmN0aW9uIHZrYShhLGUsdCl7cmV0dXJuIEF0KGEsciwid2hpdGVzcGFjZSIpO2Z1bmN0aW9uIHIoaSl7cmV0dXJuIGk9PT1udWxsP3QoaSk6ZShpKX19dmFyIGdrYSxicHQ9ZigoKT0+e1lyKCk7YmEoKTtna2E9e25hbWU6InRhc2tsaXN0Q2hlY2siLHRva2VuaXplOmJrYX07cyhTM2UsImdmbVRhc2tMaXN0SXRlbSIpO3MoYmthLCJ0b2tlbml6ZVRhc2tsaXN0Q2hlY2siKTtzKHZrYSwic3BhY2VUaGVuTm9uU3BhY2UiKX0pO3ZhciB2cHQ9ZigoKT0+e2dwdCgpO2JwdCgpfSk7ZnVuY3Rpb24geHB0KGEpe3JldHVybiBFUShbRzRlKCksbTNlKCksdjNlKGEpLHczZSgpLFMzZSgpXSl9ZnVuY3Rpb24gQ0tyKGEpe3JldHVybiBQUShbWjRlKCksZzNlKGEpLGIzZSgpLHkzZSgpLE0zZSgpLGszZSgpXSl9dmFyIHlwdD1mKCgpPT57SVEoKTtUdXQoKTt0cHQoKTtzcHQoKTt1cHQoKTttcHQoKTt2cHQoKTtzKHhwdCwiZ2ZtIik7cyhDS3IsImdmbUh0bWwiKX0pO2Z1bmN0aW9uIEw4KGEpe2xldCBlPXRoaXMsdD1hfHx4a2Escj1lLmRhdGEoKSxpPXIubWljcm9tYXJrRXh0ZW5zaW9uc3x8KHIubWljcm9tYXJrRXh0ZW5zaW9ucz1bXSksbz1yLmZyb21NYXJrZG93bkV4dGVuc2lvbnN8fChyLmZyb21NYXJrZG93bkV4dGVuc2lvbnM9W10pLG49ci50b01hcmtkb3duRXh0ZW5zaW9uc3x8KHIudG9NYXJrZG93bkV4dGVuc2lvbnM9W10pO2kucHVzaCh4cHQodCkpLG8ucHVzaChxNGUoKSksbi5wdXNoKFY0ZSh0KSl9dmFyIHhrYSx3cHQ9ZigoKT0+e2J1dCgpO3lwdCgpO3hrYT17fTtzKEw4LCJyZW1hcmtHZm0iKX0pO3ZhciBNcHQ9ZigoKT0+e3dwdCgpfSk7ZnVuY3Rpb24gejNlKGEpe2xldCBlPWF8fHt9LHQ9ITAscj17fSxpPVtbXV0sbz1bXSxuPVtdLGQ9UFEoW3tlbnRlcjp7YmxvY2tRdW90ZTpGLGNvZGVGZW5jZWQ6aGUsY29kZUZlbmNlZEZlbmNlSW5mbzpnLGNvZGVGZW5jZWRGZW5jZU1ldGE6Zyxjb2RlSW5kZW50ZWQ6bWUsY29kZVRleHQ6ZmUsY29udGVudDp6ZSxkZWZpbml0aW9uOnllLGRlZmluaXRpb25EZXN0aW5hdGlvblN0cmluZzpILGRlZmluaXRpb25MYWJlbFN0cmluZzpnLGRlZmluaXRpb25UaXRsZVN0cmluZzpnLGVtcGhhc2lzOndlLGh0bWxGbG93Omx0LGh0bWxUZXh0OlRlLGltYWdlOnEsbGFiZWw6ZyxsaW5rOmNlLGxpc3RJdGVtTWFya2VyOk0sbGlzdEl0ZW1WYWx1ZTpCLGxpc3RPcmRlcmVkOlQsbGlzdFVub3JkZXJlZDpFLHBhcmFncmFwaDpqLHJlZmVyZW5jZTpnLHJlc291cmNlOkoscmVzb3VyY2VEZXN0aW5hdGlvblN0cmluZzpaLHJlc291cmNlVGl0bGVTdHJpbmc6ZyxzZXRleHRIZWFkaW5nOnFlLHN0cm9uZzpSZX0sZXhpdDp7YXR4SGVhZGluZzokZSxhdHhIZWFkaW5nU2VxdWVuY2U6T2UsYXV0b2xpbmtFbWFpbDp5cyxhdXRvbGlua1Byb3RvY29sOmVyLGJsb2NrUXVvdGU6VyxjaGFyYWN0ZXJFc2NhcGVWYWx1ZTpkZSxjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJIZXhhZGVjaW1hbDpOdCxjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJOdW1lcmljOk50LGNoYXJhY3RlclJlZmVyZW5jZVZhbHVlOlFhLGNvZGVGZW5jZWQ6SSxjb2RlRmVuY2VkRmVuY2U6VSxjb2RlRmVuY2VkRmVuY2VJbmZvOlIsY29kZUZlbmNlZEZlbmNlTWV0YTpPLGNvZGVGbG93VmFsdWU6QWUsY29kZUluZGVudGVkOkksY29kZVRleHQ6YmUsY29kZVRleHREYXRhOmRlLGRhdGE6ZGUsZGVmaW5pdGlvbjp0ZSxkZWZpbml0aW9uRGVzdGluYXRpb25TdHJpbmc6b2UsZGVmaW5pdGlvbkxhYmVsU3RyaW5nOlYsZGVmaW5pdGlvblRpdGxlU3RyaW5nOnNlLGVtcGhhc2lzOlBlLGhhcmRCcmVha0VzY2FwZTpaZSxoYXJkQnJlYWtUcmFpbGluZzpaZSxodG1sRmxvdzp6dCxodG1sRmxvd0RhdGE6ZGUsaHRtbFRleHQ6enQsaHRtbFRleHREYXRhOmRlLGltYWdlOnJlLGxhYmVsOlksbGFiZWxUZXh0OnVlLGxpbmVFbmRpbmc6dmUsbGluazpyZSxsaXN0T3JkZXJlZDpTLGxpc3RVbm9yZGVyZWQ6UCxwYXJhZ3JhcGg6RyxyZWZlcmVuY2U6TyxyZWZlcmVuY2VTdHJpbmc6USxyZXNvdXJjZTpPLHJlc291cmNlRGVzdGluYXRpb25TdHJpbmc6Z2UscmVzb3VyY2VUaXRsZVN0cmluZzphZSxzZXRleHRIZWFkaW5nOk1lLHNldGV4dEhlYWRpbmdMaW5lU2VxdWVuY2U6Q2Usc2V0ZXh0SGVhZGluZ1RleHQ6Y3Qsc3Ryb25nOmZ0LHRoZW1hdGljQnJlYWs6bXR9fSwuLi5lLmh0bWxFeHRlbnNpb25zfHxbXV0pLGM9e2RlZmluaXRpb25zOnIsdGlnaHRTdGFjazpufSxwPXtidWZmZXI6ZyxlbmNvZGU6eixnZXREYXRhOmIsbGluZUVuZGluZ0lmTmVlZGVkOl8sb3B0aW9uczplLHJhdzpDLHJlc3VtZTp5LHNldERhdGE6eCx0YWc6a30sdT1lLmRlZmF1bHRMaW5lRW5kaW5nO3JldHVybiBtO2Z1bmN0aW9uIG0oamUpe2xldCB1dD0tMSxKYT0wLE1yPVtdLCRyPVtdLFZyPVtdO2Zvcig7Kyt1dDxqZS5sZW5ndGg7KSF1JiYoamVbdXRdWzFdLnR5cGU9PT0ibGluZUVuZGluZyJ8fGplW3V0XVsxXS50eXBlPT09ImxpbmVFbmRpbmdCbGFuayIpJiYodT1qZVt1dF1bMl0uc2xpY2VTZXJpYWxpemUoamVbdXRdWzFdKSksKGplW3V0XVsxXS50eXBlPT09Imxpc3RPcmRlcmVkInx8amVbdXRdWzFdLnR5cGU9PT0ibGlzdFVub3JkZXJlZCIpJiYoamVbdXRdWzBdPT09ImVudGVyIj9Nci5wdXNoKHV0KTp2KGplLnNsaWNlKE1yLnBvcCgpLHV0KSkpLGplW3V0XVsxXS50eXBlPT09ImRlZmluaXRpb24iJiYoamVbdXRdWzBdPT09ImVudGVyIj8oVnI9dXMoVnIsamUuc2xpY2UoSmEsdXQpKSxKYT11dCk6KCRyPXVzKCRyLGplLnNsaWNlKEphLHV0KzEpKSxKYT11dCsxKSk7JHI9dXMoJHIsVnIpLCRyPXVzKCRyLGplLnNsaWNlKEphKSksdXQ9LTE7bGV0IERyPSRyO2ZvcihkLmVudGVyLm51bGwmJmQuZW50ZXIubnVsbC5jYWxsKHApOysrdXQ8amUubGVuZ3RoOyl7bGV0IG1vPWRbRHJbdXRdWzBdXSxnbz1Eclt1dF1bMV0udHlwZSxMZT1tb1tnb107a3B0LmNhbGwobW8sZ28pJiZMZSYmTGUuY2FsbCh7c2xpY2VTZXJpYWxpemU6RHJbdXRdWzJdLnNsaWNlU2VyaWFsaXplLC4uLnB9LERyW3V0XVsxXSl9cmV0dXJuIGQuZXhpdC5udWxsJiZkLmV4aXQubnVsbC5jYWxsKHApLGlbMF0uam9pbigiIil9ZnVuY3Rpb24gdihqZSl7bGV0IHV0PWplLmxlbmd0aCxKYT0wLE1yPTAsJHI9ITEsVnI7Zm9yKDsrK0phPHV0Oyl7bGV0IERyPWplW0phXTtpZihEclsxXS5fY29udGFpbmVyKVZyPXZvaWQgMCxEclswXT09PSJlbnRlciI/TXIrKzpNci0tO2Vsc2Ugc3dpdGNoKERyWzFdLnR5cGUpe2Nhc2UibGlzdEl0ZW1QcmVmaXgiOntEclswXT09PSJleGl0IiYmKFZyPSEwKTticmVha31jYXNlImxpbmVQcmVmaXgiOmJyZWFrO2Nhc2UibGluZUVuZGluZ0JsYW5rIjp7RHJbMF09PT0iZW50ZXIiJiYhTXImJihWcj9Wcj12b2lkIDA6JHI9ITApO2JyZWFrfWRlZmF1bHQ6VnI9dm9pZCAwfX1qZVswXVsxXS5fbG9vc2U9JHJ9ZnVuY3Rpb24geChqZSx1dCl7Y1tqZV09dXR9ZnVuY3Rpb24gYihqZSl7cmV0dXJuIGNbamVdfWZ1bmN0aW9uIGcoKXtpLnB1c2goW10pfWZ1bmN0aW9uIHkoKXtyZXR1cm4gaS5wb3AoKS5qb2luKCIiKX1mdW5jdGlvbiBrKGplKXt0JiYoeCgibGFzdFdhc1RhZyIsITApLGlbaS5sZW5ndGgtMV0ucHVzaChqZSkpfWZ1bmN0aW9uIEMoamUpe3goImxhc3RXYXNUYWciKSxpW2kubGVuZ3RoLTFdLnB1c2goamUpfWZ1bmN0aW9uIE4oKXtDKHV8fGAKYCl9ZnVuY3Rpb24gXygpe2xldCBqZT1pW2kubGVuZ3RoLTFdLHV0PWplW2plLmxlbmd0aC0xXSxKYT11dD91dC5jaGFyQ29kZUF0KHV0Lmxlbmd0aC0xKTpudWxsO0phPT09MTB8fEphPT09MTN8fEphPT09bnVsbHx8TigpfWZ1bmN0aW9uIHooamUpe3JldHVybiBiKCJpZ25vcmVFbmNvZGUiKT9qZTpOUShqZSl9ZnVuY3Rpb24gTygpe3koKX1mdW5jdGlvbiBUKGplKXtuLnB1c2goIWplLl9sb29zZSksXygpLGsoIjxvbCIpLHgoImV4cGVjdEZpcnN0SXRlbSIsITApfWZ1bmN0aW9uIEUoamUpe24ucHVzaCghamUuX2xvb3NlKSxfKCksaygiPHVsIikseCgiZXhwZWN0Rmlyc3RJdGVtIiwhMCl9ZnVuY3Rpb24gQihqZSl7aWYoYigiZXhwZWN0Rmlyc3RJdGVtIikpe2xldCB1dD1OdW1iZXIucGFyc2VJbnQodGhpcy5zbGljZVNlcmlhbGl6ZShqZSksMTApO3V0IT09MSYmaygnIHN0YXJ0PSInK3ooU3RyaW5nKHV0KSkrJyInKX19ZnVuY3Rpb24gTSgpe2IoImV4cGVjdEZpcnN0SXRlbSIpP2soIj4iKTpBKCksXygpLGsoIjxsaT4iKSx4KCJleHBlY3RGaXJzdEl0ZW0iKSx4KCJsYXN0V2FzVGFnIil9ZnVuY3Rpb24gUygpe0EoKSxuLnBvcCgpLE4oKSxrKCI8L29sPiIpfWZ1bmN0aW9uIFAoKXtBKCksbi5wb3AoKSxOKCksaygiPC91bD4iKX1mdW5jdGlvbiBBKCl7YigibGFzdFdhc1RhZyIpJiYhYigic2x1cnBBbGxMaW5lRW5kaW5ncyIpJiZfKCksaygiPC9saT4iKSx4KCJzbHVycEFsbExpbmVFbmRpbmdzIil9ZnVuY3Rpb24gRigpe24ucHVzaCghMSksXygpLGsoIjxibG9ja3F1b3RlPiIpfWZ1bmN0aW9uIFcoKXtuLnBvcCgpLF8oKSxrKCI8L2Jsb2NrcXVvdGU+IikseCgic2x1cnBBbGxMaW5lRW5kaW5ncyIpfWZ1bmN0aW9uIGooKXtuW24ubGVuZ3RoLTFdfHwoXygpLGsoIjxwPiIpKSx4KCJzbHVycEFsbExpbmVFbmRpbmdzIil9ZnVuY3Rpb24gRygpe25bbi5sZW5ndGgtMV0/eCgic2x1cnBBbGxMaW5lRW5kaW5ncyIsITApOmsoIjwvcD4iKX1mdW5jdGlvbiBoZSgpe18oKSxrKCI8cHJlPjxjb2RlIikseCgiZmVuY2VzQ291bnQiLDApfWZ1bmN0aW9uIFIoKXtsZXQgamU9eSgpO2soJyBjbGFzcz0ibGFuZ3VhZ2UtJytqZSsnIicpfWZ1bmN0aW9uIFUoKXtsZXQgamU9YigiZmVuY2VzQ291bnQiKXx8MDtqZXx8KGsoIj4iKSx4KCJzbHVycE9uZUxpbmVFbmRpbmciLCEwKSkseCgiZmVuY2VzQ291bnQiLGplKzEpfWZ1bmN0aW9uIG1lKCl7XygpLGsoIjxwcmU+PGNvZGU+Iil9ZnVuY3Rpb24gSSgpe2xldCBqZT1iKCJmZW5jZXNDb3VudCIpO2plIT09dm9pZCAwJiZqZTwyJiZjLnRpZ2h0U3RhY2subGVuZ3RoPjAmJiFiKCJsYXN0V2FzVGFnIikmJk4oKSxiKCJmbG93Q29kZVNlZW5EYXRhIikmJl8oKSxrKCI8L2NvZGU+PC9wcmU+IiksamUhPT12b2lkIDAmJmplPDImJl8oKSx4KCJmbG93Q29kZVNlZW5EYXRhIikseCgiZmVuY2VzQ291bnQiKSx4KCJzbHVycE9uZUxpbmVFbmRpbmciKX1mdW5jdGlvbiBxKCl7by5wdXNoKHtpbWFnZTohMH0pLHQ9dm9pZCAwfWZ1bmN0aW9uIGNlKCl7by5wdXNoKHt9KX1mdW5jdGlvbiB1ZShqZSl7b1tvLmxlbmd0aC0xXS5sYWJlbElkPXRoaXMuc2xpY2VTZXJpYWxpemUoamUpfWZ1bmN0aW9uIFkoKXtvW28ubGVuZ3RoLTFdLmxhYmVsPXkoKX1mdW5jdGlvbiBRKGplKXtvW28ubGVuZ3RoLTFdLnJlZmVyZW5jZUlkPXRoaXMuc2xpY2VTZXJpYWxpemUoamUpfWZ1bmN0aW9uIEooKXtnKCksb1tvLmxlbmd0aC0xXS5kZXN0aW5hdGlvbj0iIn1mdW5jdGlvbiBaKCl7ZygpLHgoImlnbm9yZUVuY29kZSIsITApfWZ1bmN0aW9uIGdlKCl7b1tvLmxlbmd0aC0xXS5kZXN0aW5hdGlvbj15KCkseCgiaWdub3JlRW5jb2RlIil9ZnVuY3Rpb24gYWUoKXtvW28ubGVuZ3RoLTFdLnRpdGxlPXkoKX1mdW5jdGlvbiByZSgpe2xldCBqZT1vLmxlbmd0aC0xLHV0PW9bamVdLEphPXV0LnJlZmVyZW5jZUlkfHx1dC5sYWJlbElkLE1yPXV0LmRlc3RpbmF0aW9uPT09dm9pZCAwP3JbUnIoSmEpXTp1dDtmb3IodD0hMDtqZS0tOylpZihvW2plXS5pbWFnZSl7dD12b2lkIDA7YnJlYWt9dXQuaW1hZ2U/KGsoJzxpbWcgc3JjPSInK1IyKE1yLmRlc3RpbmF0aW9uLGUuYWxsb3dEYW5nZXJvdXNQcm90b2NvbD92b2lkIDA6eWthKSsnIiBhbHQ9IicpLEModXQubGFiZWwpLGsoJyInKSk6aygnPGEgaHJlZj0iJytSMihNci5kZXN0aW5hdGlvbixlLmFsbG93RGFuZ2Vyb3VzUHJvdG9jb2w/dm9pZCAwOlNwdCkrJyInKSxrKE1yLnRpdGxlPycgdGl0bGU9IicrTXIudGl0bGUrJyInOiIiKSx1dC5pbWFnZT9rKCIgLz4iKTooaygiPiIpLEModXQubGFiZWwpLGsoIjwvYT4iKSksby5wb3AoKX1mdW5jdGlvbiB5ZSgpe2coKSxvLnB1c2goe30pfWZ1bmN0aW9uIFYoamUpe3koKSxvW28ubGVuZ3RoLTFdLmxhYmVsSWQ9dGhpcy5zbGljZVNlcmlhbGl6ZShqZSl9ZnVuY3Rpb24gSCgpe2coKSx4KCJpZ25vcmVFbmNvZGUiLCEwKX1mdW5jdGlvbiBvZSgpe29bby5sZW5ndGgtMV0uZGVzdGluYXRpb249eSgpLHgoImlnbm9yZUVuY29kZSIpfWZ1bmN0aW9uIHNlKCl7b1tvLmxlbmd0aC0xXS50aXRsZT15KCl9ZnVuY3Rpb24gdGUoKXtsZXQgamU9b1tvLmxlbmd0aC0xXSx1dD1ScihqZS5sYWJlbElkKTt5KCksa3B0LmNhbGwocix1dCl8fChyW3V0XT1vW28ubGVuZ3RoLTFdKSxvLnBvcCgpfWZ1bmN0aW9uIHplKCl7eCgic2x1cnBBbGxMaW5lRW5kaW5ncyIsITApfWZ1bmN0aW9uIE9lKGplKXtiKCJoZWFkaW5nUmFuayIpfHwoeCgiaGVhZGluZ1JhbmsiLHRoaXMuc2xpY2VTZXJpYWxpemUoamUpLmxlbmd0aCksXygpLGsoIjxoIitiKCJoZWFkaW5nUmFuayIpKyI+IikpfWZ1bmN0aW9uIHFlKCl7ZygpLHgoInNsdXJwQWxsTGluZUVuZGluZ3MiKX1mdW5jdGlvbiBjdCgpe3goInNsdXJwQWxsTGluZUVuZGluZ3MiLCEwKX1mdW5jdGlvbiAkZSgpe2soIjwvaCIrYigiaGVhZGluZ1JhbmsiKSsiPiIpLHgoImhlYWRpbmdSYW5rIil9ZnVuY3Rpb24gQ2UoamUpe3goImhlYWRpbmdSYW5rIix0aGlzLnNsaWNlU2VyaWFsaXplKGplKS5jaGFyQ29kZUF0KDApPT09NjE/MToyKX1mdW5jdGlvbiBNZSgpe2xldCBqZT15KCk7XygpLGsoIjxoIitiKCJoZWFkaW5nUmFuayIpKyI+IiksQyhqZSksaygiPC9oIitiKCJoZWFkaW5nUmFuayIpKyI+IikseCgic2x1cnBBbGxMaW5lRW5kaW5ncyIpLHgoImhlYWRpbmdSYW5rIil9ZnVuY3Rpb24gZGUoamUpe0Moeih0aGlzLnNsaWNlU2VyaWFsaXplKGplKSkpfWZ1bmN0aW9uIHZlKGplKXtpZighYigic2x1cnBBbGxMaW5lRW5kaW5ncyIpKXtpZihiKCJzbHVycE9uZUxpbmVFbmRpbmciKSl7eCgic2x1cnBPbmVMaW5lRW5kaW5nIik7cmV0dXJufWlmKGIoImluQ29kZVRleHQiKSl7QygiICIpO3JldHVybn1DKHoodGhpcy5zbGljZVNlcmlhbGl6ZShqZSkpKX19ZnVuY3Rpb24gQWUoamUpe0Moeih0aGlzLnNsaWNlU2VyaWFsaXplKGplKSkpLHgoImZsb3dDb2RlU2VlbkRhdGEiLCEwKX1mdW5jdGlvbiBaZSgpe2soIjxiciAvPiIpfWZ1bmN0aW9uIGx0KCl7XygpLFRlKCl9ZnVuY3Rpb24genQoKXt4KCJpZ25vcmVFbmNvZGUiKX1mdW5jdGlvbiBUZSgpe2UuYWxsb3dEYW5nZXJvdXNIdG1sJiZ4KCJpZ25vcmVFbmNvZGUiLCEwKX1mdW5jdGlvbiB3ZSgpe2soIjxlbT4iKX1mdW5jdGlvbiBSZSgpe2soIjxzdHJvbmc+Iil9ZnVuY3Rpb24gZmUoKXt4KCJpbkNvZGVUZXh0IiwhMCksaygiPGNvZGU+Iil9ZnVuY3Rpb24gYmUoKXt4KCJpbkNvZGVUZXh0IiksaygiPC9jb2RlPiIpfWZ1bmN0aW9uIFBlKCl7aygiPC9lbT4iKX1mdW5jdGlvbiBmdCgpe2soIjwvc3Ryb25nPiIpfWZ1bmN0aW9uIG10KCl7XygpLGsoIjxociAvPiIpfWZ1bmN0aW9uIE50KGplKXt4KCJjaGFyYWN0ZXJSZWZlcmVuY2VUeXBlIixqZS50eXBlKX1mdW5jdGlvbiBRYShqZSl7bGV0IHV0PXRoaXMuc2xpY2VTZXJpYWxpemUoamUpLEphPWIoImNoYXJhY3RlclJlZmVyZW5jZVR5cGUiKT9fOCh1dCxiKCJjaGFyYWN0ZXJSZWZlcmVuY2VUeXBlIik9PT0iY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VyTnVtZXJpYyI/MTA6MTYpOmowKHV0KTtDKHooSmEpKSx4KCJjaGFyYWN0ZXJSZWZlcmVuY2VUeXBlIil9ZnVuY3Rpb24gZXIoamUpe2xldCB1dD10aGlzLnNsaWNlU2VyaWFsaXplKGplKTtrKCc8YSBocmVmPSInK1IyKHV0LGUuYWxsb3dEYW5nZXJvdXNQcm90b2NvbD92b2lkIDA6U3B0KSsnIj4nKSxDKHoodXQpKSxrKCI8L2E+Iil9ZnVuY3Rpb24geXMoamUpe2xldCB1dD10aGlzLnNsaWNlU2VyaWFsaXplKGplKTtrKCc8YSBocmVmPSInK1IyKCJtYWlsdG86Iit1dCkrJyI+JyksQyh6KHV0KSksaygiPC9hPiIpfX12YXIga3B0LFNwdCx5a2EsQzNlPWYoKCk9PntaZygpO0kyKCk7SVEoKTskUSgpO1k0ZSgpO1YwKCk7TzIoKTtrcHQ9e30uaGFzT3duUHJvcGVydHksU3B0PS9eKGh0dHBzP3xpcmNzP3xtYWlsdG98eG1wcCkkL2kseWthPS9eaHR0cHM/JC9pO3MoejNlLCJjb21waWxlIil9KTtmdW5jdGlvbiB3a2EoYSl7bGV0IGU9YS5hdHRlbXB0KHRoaXMucGFyc2VyLmNvbnN0cnVjdHMuY29udGVudEluaXRpYWwscixpKSx0O3JldHVybiBlO2Z1bmN0aW9uIHIobCl7aWYobD09PW51bGwpe2EuY29uc3VtZShsKTtyZXR1cm59cmV0dXJuIGEuZW50ZXIoImxpbmVFbmRpbmciKSxhLmNvbnN1bWUobCksYS5leGl0KCJsaW5lRW5kaW5nIiksQXQoYSxlLCJsaW5lUHJlZml4Iil9ZnVuY3Rpb24gaShsKXtyZXR1cm4gYS5lbnRlcigicGFyYWdyYXBoIiksbyhsKX1mdW5jdGlvbiBvKGwpe2xldCBkPWEuZW50ZXIoImNodW5rVGV4dCIse2NvbnRlbnRUeXBlOiJ0ZXh0IixwcmV2aW91czp0fSk7cmV0dXJuIHQmJih0Lm5leHQ9ZCksdD1kLG4obCl9ZnVuY3Rpb24gbihsKXtpZihsPT09bnVsbCl7YS5leGl0KCJjaHVua1RleHQiKSxhLmV4aXQoInBhcmFncmFwaCIpLGEuY29uc3VtZShsKTtyZXR1cm59cmV0dXJuIEplKGwpPyhhLmNvbnN1bWUobCksYS5leGl0KCJjaHVua1RleHQiKSxvKTooYS5jb25zdW1lKGwpLG4pfX12YXIgenB0LENwdD1mKCgpPT57WXIoKTtiYSgpO3pwdD17dG9rZW5pemU6d2thfTtzKHdrYSwiaW5pdGlhbGl6ZUNvbnRlbnQiKX0pO2Z1bmN0aW9uIE1rYShhKXtsZXQgZT10aGlzLHQ9W10scj0wLGksbyxuO3JldHVybiBsO2Z1bmN0aW9uIGwoQyl7aWYocjx0Lmxlbmd0aCl7bGV0IE49dFtyXTtyZXR1cm4gZS5jb250YWluZXJTdGF0ZT1OWzFdLGEuYXR0ZW1wdChOWzBdLmNvbnRpbnVhdGlvbixkLGMpKEMpfXJldHVybiBjKEMpfWZ1bmN0aW9uIGQoQyl7aWYocisrLGUuY29udGFpbmVyU3RhdGUuX2Nsb3NlRmxvdyl7ZS5jb250YWluZXJTdGF0ZS5fY2xvc2VGbG93PXZvaWQgMCxpJiZrKCk7bGV0IE49ZS5ldmVudHMubGVuZ3RoLF89Tix6O2Zvcig7Xy0tOylpZihlLmV2ZW50c1tfXVswXT09PSJleGl0IiYmZS5ldmVudHNbX11bMV0udHlwZT09PSJjaHVua0Zsb3ciKXt6PWUuZXZlbnRzW19dWzFdLmVuZDticmVha315KHIpO2xldCBPPU47Zm9yKDtPPGUuZXZlbnRzLmxlbmd0aDspZS5ldmVudHNbT11bMV0uZW5kPXsuLi56fSxPKys7cmV0dXJuIEdyKGUuZXZlbnRzLF8rMSwwLGUuZXZlbnRzLnNsaWNlKE4pKSxlLmV2ZW50cy5sZW5ndGg9TyxjKEMpfXJldHVybiBsKEMpfWZ1bmN0aW9uIGMoQyl7aWYocj09PXQubGVuZ3RoKXtpZighaSlyZXR1cm4gbShDKTtpZihpLmN1cnJlbnRDb25zdHJ1Y3QmJmkuY3VycmVudENvbnN0cnVjdC5jb25jcmV0ZSlyZXR1cm4geChDKTtlLmludGVycnVwdD0hIShpLmN1cnJlbnRDb25zdHJ1Y3QmJiFpLl9nZm1UYWJsZUR5bmFtaWNJbnRlcnJ1cHRIYWNrKX1yZXR1cm4gZS5jb250YWluZXJTdGF0ZT17fSxhLmNoZWNrKF9wdCxwLHUpKEMpfWZ1bmN0aW9uIHAoQyl7cmV0dXJuIGkmJmsoKSx5KHIpLG0oQyl9ZnVuY3Rpb24gdShDKXtyZXR1cm4gZS5wYXJzZXIubGF6eVtlLm5vdygpLmxpbmVdPXIhPT10Lmxlbmd0aCxuPWUubm93KCkub2Zmc2V0LHgoQyl9ZnVuY3Rpb24gbShDKXtyZXR1cm4gZS5jb250YWluZXJTdGF0ZT17fSxhLmF0dGVtcHQoX3B0LHYseCkoQyl9ZnVuY3Rpb24gdihDKXtyZXR1cm4gcisrLHQucHVzaChbZS5jdXJyZW50Q29uc3RydWN0LGUuY29udGFpbmVyU3RhdGVdKSxtKEMpfWZ1bmN0aW9uIHgoQyl7aWYoQz09PW51bGwpe2kmJmsoKSx5KDApLGEuY29uc3VtZShDKTtyZXR1cm59cmV0dXJuIGk9aXx8ZS5wYXJzZXIuZmxvdyhlLm5vdygpKSxhLmVudGVyKCJjaHVua0Zsb3ciLHtfdG9rZW5pemVyOmksY29udGVudFR5cGU6ImZsb3ciLHByZXZpb3VzOm99KSxiKEMpfWZ1bmN0aW9uIGIoQyl7aWYoQz09PW51bGwpe2coYS5leGl0KCJjaHVua0Zsb3ciKSwhMCkseSgwKSxhLmNvbnN1bWUoQyk7cmV0dXJufXJldHVybiBKZShDKT8oYS5jb25zdW1lKEMpLGcoYS5leGl0KCJjaHVua0Zsb3ciKSkscj0wLGUuaW50ZXJydXB0PXZvaWQgMCxsKTooYS5jb25zdW1lKEMpLGIpfWZ1bmN0aW9uIGcoQyxOKXtsZXQgXz1lLnNsaWNlU3RyZWFtKEMpO2lmKE4mJl8ucHVzaChudWxsKSxDLnByZXZpb3VzPW8sbyYmKG8ubmV4dD1DKSxvPUMsaS5kZWZpbmVTa2lwKEMuc3RhcnQpLGkud3JpdGUoXyksZS5wYXJzZXIubGF6eVtDLnN0YXJ0LmxpbmVdKXtsZXQgej1pLmV2ZW50cy5sZW5ndGg7Zm9yKDt6LS07KWlmKGkuZXZlbnRzW3pdWzFdLnN0YXJ0Lm9mZnNldDxuJiYoIWkuZXZlbnRzW3pdWzFdLmVuZHx8aS5ldmVudHNbel1bMV0uZW5kLm9mZnNldD5uKSlyZXR1cm47bGV0IE89ZS5ldmVudHMubGVuZ3RoLFQ9TyxFLEI7Zm9yKDtULS07KWlmKGUuZXZlbnRzW1RdWzBdPT09ImV4aXQiJiZlLmV2ZW50c1tUXVsxXS50eXBlPT09ImNodW5rRmxvdyIpe2lmKEUpe0I9ZS5ldmVudHNbVF1bMV0uZW5kO2JyZWFrfUU9ITB9Zm9yKHkociksej1PO3o8ZS5ldmVudHMubGVuZ3RoOyllLmV2ZW50c1t6XVsxXS5lbmQ9ey4uLkJ9LHorKztHcihlLmV2ZW50cyxUKzEsMCxlLmV2ZW50cy5zbGljZShPKSksZS5ldmVudHMubGVuZ3RoPXp9fWZ1bmN0aW9uIHkoQyl7bGV0IE49dC5sZW5ndGg7Zm9yKDtOLS0gPkM7KXtsZXQgXz10W05dO2UuY29udGFpbmVyU3RhdGU9X1sxXSxfWzBdLmV4aXQuY2FsbChlLGEpfXQubGVuZ3RoPUN9ZnVuY3Rpb24gaygpe2kud3JpdGUoW251bGxdKSxvPXZvaWQgMCxpPXZvaWQgMCxlLmNvbnRhaW5lclN0YXRlLl9jbG9zZUZsb3c9dm9pZCAwfX1mdW5jdGlvbiBra2EoYSxlLHQpe3JldHVybiBBdChhLGEuYXR0ZW1wdCh0aGlzLnBhcnNlci5jb25zdHJ1Y3RzLmRvY3VtZW50LGUsdCksImxpbmVQcmVmaXgiLHRoaXMucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKCJjb2RlSW5kZW50ZWQiKT92b2lkIDA6NCl9dmFyIFRwdCxfcHQsTHB0PWYoKCk9PntZcigpO2JhKCk7STIoKTtUcHQ9e3Rva2VuaXplOk1rYX0sX3B0PXt0b2tlbml6ZTpra2F9O3MoTWthLCJpbml0aWFsaXplRG9jdW1lbnQiKTtzKGtrYSwidG9rZW5pemVDb250YWluZXIiKX0pO2Z1bmN0aW9uIFNrYShhKXtsZXQgZT10aGlzLHQ9YS5hdHRlbXB0KEYyLHIsYS5hdHRlbXB0KHRoaXMucGFyc2VyLmNvbnN0cnVjdHMuZmxvd0luaXRpYWwsaSxBdChhLGEuYXR0ZW1wdCh0aGlzLnBhcnNlci5jb25zdHJ1Y3RzLmZsb3csaSxhLmF0dGVtcHQodDNlLGkpKSwibGluZVByZWZpeCIpKSk7cmV0dXJuIHQ7ZnVuY3Rpb24gcihvKXtpZihvPT09bnVsbCl7YS5jb25zdW1lKG8pO3JldHVybn1yZXR1cm4gYS5lbnRlcigibGluZUVuZGluZ0JsYW5rIiksYS5jb25zdW1lKG8pLGEuZXhpdCgibGluZUVuZGluZ0JsYW5rIiksZS5jdXJyZW50Q29uc3RydWN0PXZvaWQgMCx0fWZ1bmN0aW9uIGkobyl7aWYobz09PW51bGwpe2EuY29uc3VtZShvKTtyZXR1cm59cmV0dXJuIGEuZW50ZXIoImxpbmVFbmRpbmciKSxhLmNvbnN1bWUobyksYS5leGl0KCJsaW5lRW5kaW5nIiksZS5jdXJyZW50Q29uc3RydWN0PXZvaWQgMCx0fX12YXIgJHB0LERwdD1mKCgpPT57WVEoKTtZcigpO2JhKCk7JHB0PXt0b2tlbml6ZTpTa2F9O3MoU2thLCJpbml0aWFsaXplRmxvdyIpfSk7ZnVuY3Rpb24gQXB0KGEpe3JldHVybntyZXNvbHZlQWxsOkVwdChhPT09InRleHQiP3prYTp2b2lkIDApLHRva2VuaXplOmV9O2Z1bmN0aW9uIGUodCl7bGV0IHI9dGhpcyxpPXRoaXMucGFyc2VyLmNvbnN0cnVjdHNbYV0sbz10LmF0dGVtcHQoaSxuLGwpO3JldHVybiBuO2Z1bmN0aW9uIG4ocCl7cmV0dXJuIGMocCk/byhwKTpsKHApfWZ1bmN0aW9uIGwocCl7aWYocD09PW51bGwpe3QuY29uc3VtZShwKTtyZXR1cm59cmV0dXJuIHQuZW50ZXIoImRhdGEiKSx0LmNvbnN1bWUocCksZH1mdW5jdGlvbiBkKHApe3JldHVybiBjKHApPyh0LmV4aXQoImRhdGEiKSxvKHApKToodC5jb25zdW1lKHApLGQpfWZ1bmN0aW9uIGMocCl7aWYocD09PW51bGwpcmV0dXJuITA7bGV0IHU9aVtwXSxtPS0xO2lmKHUpZm9yKDsrK208dS5sZW5ndGg7KXtsZXQgdj11W21dO2lmKCF2LnByZXZpb3VzfHx2LnByZXZpb3VzLmNhbGwocixyLnByZXZpb3VzKSlyZXR1cm4hMH1yZXR1cm4hMX19fWZ1bmN0aW9uIEVwdChhKXtyZXR1cm4gZTtmdW5jdGlvbiBlKHQscil7bGV0IGk9LTEsbztmb3IoOysraTw9dC5sZW5ndGg7KW89PT12b2lkIDA/dFtpXSYmdFtpXVsxXS50eXBlPT09ImRhdGEiJiYobz1pLGkrKyk6KCF0W2ldfHx0W2ldWzFdLnR5cGUhPT0iZGF0YSIpJiYoaSE9PW8rMiYmKHRbb11bMV0uZW5kPXRbaS0xXVsxXS5lbmQsdC5zcGxpY2UobysyLGktby0yKSxpPW8rMiksbz12b2lkIDApO3JldHVybiBhP2EodCxyKTp0fX1mdW5jdGlvbiB6a2EoYSxlKXtsZXQgdD0wO2Zvcig7Kyt0PD1hLmxlbmd0aDspaWYoKHQ9PT1hLmxlbmd0aHx8YVt0XVsxXS50eXBlPT09ImxpbmVFbmRpbmciKSYmYVt0LTFdWzFdLnR5cGU9PT0iZGF0YSIpe2xldCByPWFbdC0xXVsxXSxpPWUuc2xpY2VTdHJlYW0ociksbz1pLmxlbmd0aCxuPS0xLGw9MCxkO2Zvcig7by0tOyl7bGV0IGM9aVtvXTtpZih0eXBlb2YgYz09InN0cmluZyIpe2ZvcihuPWMubGVuZ3RoO2MuY2hhckNvZGVBdChuLTEpPT09MzI7KWwrKyxuLS07aWYobilicmVhaztuPS0xfWVsc2UgaWYoYz09PS0yKWQ9ITAsbCsrO2Vsc2UgaWYoYyE9PS0xKXtvKys7YnJlYWt9fWlmKGUuX2NvbnRlbnRUeXBlVGV4dFRyYWlsaW5nJiZ0PT09YS5sZW5ndGgmJihsPTApLGwpe2xldCBjPXt0eXBlOnQ9PT1hLmxlbmd0aHx8ZHx8bDwyPyJsaW5lU3VmZml4IjoiaGFyZEJyZWFrVHJhaWxpbmciLHN0YXJ0OntfYnVmZmVySW5kZXg6bz9uOnIuc3RhcnQuX2J1ZmZlckluZGV4K24sX2luZGV4OnIuc3RhcnQuX2luZGV4K28sbGluZTpyLmVuZC5saW5lLGNvbHVtbjpyLmVuZC5jb2x1bW4tbCxvZmZzZXQ6ci5lbmQub2Zmc2V0LWx9LGVuZDp7Li4uci5lbmR9fTtyLmVuZD17Li4uYy5zdGFydH0sci5zdGFydC5vZmZzZXQ9PT1yLmVuZC5vZmZzZXQ/T2JqZWN0LmFzc2lnbihyLGMpOihhLnNwbGljZSh0LDAsWyJlbnRlciIsYyxlXSxbImV4aXQiLGMsZV0pLHQrPTIpfXQrK31yZXR1cm4gYX12YXIgUHB0LElwdCxOcHQsXzNlPWYoKCk9PntQcHQ9e3Jlc29sdmVBbGw6RXB0KCl9LElwdD1BcHQoInN0cmluZyIpLE5wdD1BcHQoInRleHQiKTtzKEFwdCwiaW5pdGlhbGl6ZUZhY3RvcnkiKTtzKEVwdCwiY3JlYXRlUmVzb2x2ZXIiKTtzKHprYSwicmVzb2x2ZUFsbExpbmVTdWZmaXhlcyIpfSk7dmFyIFQzZT17fTtydChUM2Use2F0dGVudGlvbk1hcmtlcnM6KCk9PkVrYSxjb250ZW50SW5pdGlhbDooKT0+X2thLGRpc2FibGU6KCk9PlBrYSxkb2N1bWVudDooKT0+Q2thLGZsb3c6KCk9PkxrYSxmbG93SW5pdGlhbDooKT0+VGthLGluc2lkZVNwYW46KCk9PkFrYSxzdHJpbmc6KCk9PiRrYSx0ZXh0OigpPT5Ea2F9KTt2YXIgQ2thLF9rYSxUa2EsTGthLCRrYSxEa2EsQWthLEVrYSxQa2EsUnB0PWYoKCk9PntZUSgpO18zZSgpO0NrYT17NDI6emksNDM6emksNDU6emksNDg6emksNDk6emksNTA6emksNTE6emksNTI6emksNTM6emksNTQ6emksNTU6emksNTY6emksNTc6emksNjI6T1F9LF9rYT17OTE6bzNlfSxUa2E9e1stMl06SmcsWy0xXTpKZywzMjpKZ30sTGthPXszNTpsM2UsNDI6dGQsNDU6W0dRLHRkXSw2MDpkM2UsNjE6R1EsOTU6dGQsOTY6SFEsMTI2OkhRfSwka2E9ezM4OkJRLDkyOkZRfSxEa2E9e1stNV06YWIsWy00XTphYixbLTNdOmFiLDMzOnAzZSwzODpCUSw0MjpRZyw2MDpbWDRlLHUzZV0sOTE6ZjNlLDkyOltuM2UsRlFdLDkzOmVkLDk1OlFnLDk2OlE0ZX0sQWthPXtudWxsOltRZyxQcHRdfSxFa2E9e251bGw6WzQyLDk1XX0sUGthPXtudWxsOltdfX0pO2Z1bmN0aW9uIE9wdChhLGUsdCl7bGV0IHI9e19idWZmZXJJbmRleDotMSxfaW5kZXg6MCxsaW5lOnQmJnQubGluZXx8MSxjb2x1bW46dCYmdC5jb2x1bW58fDEsb2Zmc2V0OnQmJnQub2Zmc2V0fHwwfSxpPXt9LG89W10sbj1bXSxsPVtdLGQ9ITAsYz17YXR0ZW1wdDpFKE8pLGNoZWNrOkUoVCksY29uc3VtZTpOLGVudGVyOl8sZXhpdDp6LGludGVycnVwdDpFKFQse2ludGVycnVwdDohMH0pfSxwPXtjb2RlOm51bGwsY29udGFpbmVyU3RhdGU6e30sZGVmaW5lU2tpcDp5LGV2ZW50czpbXSxub3c6ZyxwYXJzZXI6YSxwcmV2aW91czpudWxsLHNsaWNlU2VyaWFsaXplOngsc2xpY2VTdHJlYW06Yix3cml0ZTp2fSx1PWUudG9rZW5pemUuY2FsbChwLGMpLG07cmV0dXJuIGUucmVzb2x2ZUFsbCYmby5wdXNoKGUpLHA7ZnVuY3Rpb24gdihQKXtyZXR1cm4gbj11cyhuLFApLGsoKSxuW24ubGVuZ3RoLTFdIT09bnVsbD9bXTooQihlLDApLHAuZXZlbnRzPVUwKG8scC5ldmVudHMscCkscC5ldmVudHMpfXModiwid3JpdGUiKTtmdW5jdGlvbiB4KFAsQSl7cmV0dXJuIE5rYShiKFApLEEpfXMoeCwic2xpY2VTZXJpYWxpemUiKTtmdW5jdGlvbiBiKFApe3JldHVybiBJa2EobixQKX1zKGIsInNsaWNlU3RyZWFtIik7ZnVuY3Rpb24gZygpe2xldHtfYnVmZmVySW5kZXg6UCxfaW5kZXg6QSxsaW5lOkYsY29sdW1uOlcsb2Zmc2V0Omp9PXI7cmV0dXJue19idWZmZXJJbmRleDpQLF9pbmRleDpBLGxpbmU6Rixjb2x1bW46VyxvZmZzZXQ6an19cyhnLCJub3ciKTtmdW5jdGlvbiB5KFApe2lbUC5saW5lXT1QLmNvbHVtbixTKCl9cyh5LCJkZWZpbmVTa2lwIik7ZnVuY3Rpb24gaygpe2xldCBQO2Zvcig7ci5faW5kZXg8bi5sZW5ndGg7KXtsZXQgQT1uW3IuX2luZGV4XTtpZih0eXBlb2YgQT09InN0cmluZyIpZm9yKFA9ci5faW5kZXgsci5fYnVmZmVySW5kZXg8MCYmKHIuX2J1ZmZlckluZGV4PTApO3IuX2luZGV4PT09UCYmci5fYnVmZmVySW5kZXg8QS5sZW5ndGg7KUMoQS5jaGFyQ29kZUF0KHIuX2J1ZmZlckluZGV4KSk7ZWxzZSBDKEEpfX1zKGssIm1haW4iKTtmdW5jdGlvbiBDKFApe2Q9dm9pZCAwLG09UCx1PXUoUCl9cyhDLCJnbyIpO2Z1bmN0aW9uIE4oUCl7SmUoUCk/KHIubGluZSsrLHIuY29sdW1uPTEsci5vZmZzZXQrPVA9PT0tMz8yOjEsUygpKTpQIT09LTEmJihyLmNvbHVtbisrLHIub2Zmc2V0KyspLHIuX2J1ZmZlckluZGV4PDA/ci5faW5kZXgrKzooci5fYnVmZmVySW5kZXgrKyxyLl9idWZmZXJJbmRleD09PW5bci5faW5kZXhdLmxlbmd0aCYmKHIuX2J1ZmZlckluZGV4PS0xLHIuX2luZGV4KyspKSxwLnByZXZpb3VzPVAsZD0hMH1zKE4sImNvbnN1bWUiKTtmdW5jdGlvbiBfKFAsQSl7bGV0IEY9QXx8e307cmV0dXJuIEYudHlwZT1QLEYuc3RhcnQ9ZygpLHAuZXZlbnRzLnB1c2goWyJlbnRlciIsRixwXSksbC5wdXNoKEYpLEZ9cyhfLCJlbnRlciIpO2Z1bmN0aW9uIHooUCl7bGV0IEE9bC5wb3AoKTtyZXR1cm4gQS5lbmQ9ZygpLHAuZXZlbnRzLnB1c2goWyJleGl0IixBLHBdKSxBfXMoeiwiZXhpdCIpO2Z1bmN0aW9uIE8oUCxBKXtCKFAsQS5mcm9tKX1zKE8sIm9uc3VjY2Vzc2Z1bGNvbnN0cnVjdCIpO2Z1bmN0aW9uIFQoUCxBKXtBLnJlc3RvcmUoKX1zKFQsIm9uc3VjY2Vzc2Z1bGNoZWNrIik7ZnVuY3Rpb24gRShQLEEpe3JldHVybiBGO2Z1bmN0aW9uIEYoVyxqLEcpe2xldCBoZSxSLFUsbWU7cmV0dXJuIEFycmF5LmlzQXJyYXkoVyk/cShXKToidG9rZW5pemUiaW4gVz9xKFtXXSk6SShXKTtmdW5jdGlvbiBJKFEpe3JldHVybiBKO2Z1bmN0aW9uIEooWil7bGV0IGdlPVohPT1udWxsJiZRW1pdLGFlPVohPT1udWxsJiZRLm51bGwscmU9Wy4uLkFycmF5LmlzQXJyYXkoZ2UpP2dlOmdlP1tnZV06W10sLi4uQXJyYXkuaXNBcnJheShhZSk/YWU6YWU/W2FlXTpbXV07cmV0dXJuIHEocmUpKFopfX1mdW5jdGlvbiBxKFEpe3JldHVybiBoZT1RLFI9MCxRLmxlbmd0aD09PTA/RzpjZShRW1JdKX1mdW5jdGlvbiBjZShRKXtyZXR1cm4gSjtmdW5jdGlvbiBKKFope3JldHVybiBtZT1NKCksVT1RLFEucGFydGlhbHx8KHAuY3VycmVudENvbnN0cnVjdD1RKSxRLm5hbWUmJnAucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKFEubmFtZSk/WShaKTpRLnRva2VuaXplLmNhbGwoQT9PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUocCksQSk6cCxjLHVlLFkpKFopfX1mdW5jdGlvbiB1ZShRKXtyZXR1cm4gZD0hMCxQKFUsbWUpLGp9ZnVuY3Rpb24gWShRKXtyZXR1cm4gZD0hMCxtZS5yZXN0b3JlKCksKytSPGhlLmxlbmd0aD9jZShoZVtSXSk6R319fXMoRSwiY29uc3RydWN0RmFjdG9yeSIpO2Z1bmN0aW9uIEIoUCxBKXtQLnJlc29sdmVBbGwmJiFvLmluY2x1ZGVzKFApJiZvLnB1c2goUCksUC5yZXNvbHZlJiZHcihwLmV2ZW50cyxBLHAuZXZlbnRzLmxlbmd0aC1BLFAucmVzb2x2ZShwLmV2ZW50cy5zbGljZShBKSxwKSksUC5yZXNvbHZlVG8mJihwLmV2ZW50cz1QLnJlc29sdmVUbyhwLmV2ZW50cyxwKSl9cyhCLCJhZGRSZXN1bHQiKTtmdW5jdGlvbiBNKCl7bGV0IFA9ZygpLEE9cC5wcmV2aW91cyxGPXAuY3VycmVudENvbnN0cnVjdCxXPXAuZXZlbnRzLmxlbmd0aCxqPUFycmF5LmZyb20obCk7cmV0dXJue2Zyb206VyxyZXN0b3JlOkd9O2Z1bmN0aW9uIEcoKXtyPVAscC5wcmV2aW91cz1BLHAuY3VycmVudENvbnN0cnVjdD1GLHAuZXZlbnRzLmxlbmd0aD1XLGw9aixTKCl9fXMoTSwic3RvcmUiKTtmdW5jdGlvbiBTKCl7ci5saW5lIGluIGkmJnIuY29sdW1uPDImJihyLmNvbHVtbj1pW3IubGluZV0sci5vZmZzZXQrPWlbci5saW5lXS0xKX1zKFMsImFjY291bnRGb3JQb3RlbnRpYWxTa2lwIil9ZnVuY3Rpb24gSWthKGEsZSl7bGV0IHQ9ZS5zdGFydC5faW5kZXgscj1lLnN0YXJ0Ll9idWZmZXJJbmRleCxpPWUuZW5kLl9pbmRleCxvPWUuZW5kLl9idWZmZXJJbmRleCxuO2lmKHQ9PT1pKW49W2FbdF0uc2xpY2UocixvKV07ZWxzZXtpZihuPWEuc2xpY2UodCxpKSxyPi0xKXtsZXQgbD1uWzBdO3R5cGVvZiBsPT0ic3RyaW5nIj9uWzBdPWwuc2xpY2Uocik6bi5zaGlmdCgpfW8+MCYmbi5wdXNoKGFbaV0uc2xpY2UoMCxvKSl9cmV0dXJuIG59ZnVuY3Rpb24gTmthKGEsZSl7bGV0IHQ9LTEscj1bXSxpO2Zvcig7Kyt0PGEubGVuZ3RoOyl7bGV0IG89YVt0XSxuO2lmKHR5cGVvZiBvPT0ic3RyaW5nIiluPW87ZWxzZSBzd2l0Y2gobyl7Y2FzZS01OntuPSJcciI7YnJlYWt9Y2FzZS00OntuPWAKYDticmVha31jYXNlLTM6e249YFxyCmA7YnJlYWt9Y2FzZS0yOntuPWU/IiAiOiIJIjticmVha31jYXNlLTE6e2lmKCFlJiZpKWNvbnRpbnVlO249IiAiO2JyZWFrfWRlZmF1bHQ6bj1TdHJpbmcuZnJvbUNoYXJDb2RlKG8pfWk9bz09PS0yLHIucHVzaChuKX1yZXR1cm4gci5qb2luKCIiKX12YXIgRnB0PWYoKCk9PntiYSgpO0kyKCk7WGcoKTtzKE9wdCwiY3JlYXRlVG9rZW5pemVyIik7cyhJa2EsInNsaWNlQ2h1bmtzIik7cyhOa2EsInNlcmlhbGl6ZUNodW5rcyIpfSk7ZnVuY3Rpb24gcmIoYSl7bGV0IHI9e2NvbnN0cnVjdHM6RVEoW1QzZSwuLi4oYXx8e30pLmV4dGVuc2lvbnN8fFtdXSksY29udGVudDppKHpwdCksZGVmaW5lZDpbXSxkb2N1bWVudDppKFRwdCksZmxvdzppKCRwdCksbGF6eTp7fSxzdHJpbmc6aShJcHQpLHRleHQ6aShOcHQpfTtyZXR1cm4gcjtmdW5jdGlvbiBpKG8pe3JldHVybiBuO2Z1bmN0aW9uIG4obCl7cmV0dXJuIE9wdChyLG8sbCl9fX12YXIgTDNlPWYoKCk9PntJUSgpO0NwdCgpO0xwdCgpO0RwdCgpO18zZSgpO1JwdCgpO0ZwdCgpO3MocmIsInBhcnNlIil9KTtmdW5jdGlvbiBzYihhKXtmb3IoOyFxUShhKTspO3JldHVybiBhfXZhciAkM2U9ZigoKT0+e2UzZSgpO3Moc2IsInBvc3Rwcm9jZXNzIil9KTtmdW5jdGlvbiBpYigpe2xldCBhPTEsZT0iIix0PSEwLHI7cmV0dXJuIGk7ZnVuY3Rpb24gaShvLG4sbCl7bGV0IGQ9W10sYyxwLHUsbSx2O2ZvcihvPWUrKHR5cGVvZiBvPT0ic3RyaW5nIj9vLnRvU3RyaW5nKCk6bmV3IFRleHREZWNvZGVyKG58fHZvaWQgMCkuZGVjb2RlKG8pKSx1PTAsZT0iIix0JiYoby5jaGFyQ29kZUF0KDApPT09NjUyNzkmJnUrKyx0PXZvaWQgMCk7dTxvLmxlbmd0aDspe2lmKEJwdC5sYXN0SW5kZXg9dSxjPUJwdC5leGVjKG8pLG09YyYmYy5pbmRleCE9PXZvaWQgMD9jLmluZGV4Om8ubGVuZ3RoLHY9by5jaGFyQ29kZUF0KG0pLCFjKXtlPW8uc2xpY2UodSk7YnJlYWt9aWYodj09PTEwJiZ1PT09bSYmcilkLnB1c2goLTMpLHI9dm9pZCAwO2Vsc2Ugc3dpdGNoKHImJihkLnB1c2goLTUpLHI9dm9pZCAwKSx1PG0mJihkLnB1c2goby5zbGljZSh1LG0pKSxhKz1tLXUpLHYpe2Nhc2UgMDp7ZC5wdXNoKDY1NTMzKSxhKys7YnJlYWt9Y2FzZSA5Ontmb3IocD1NYXRoLmNlaWwoYS80KSo0LGQucHVzaCgtMik7YSsrPHA7KWQucHVzaCgtMSk7YnJlYWt9Y2FzZSAxMDp7ZC5wdXNoKC00KSxhPTE7YnJlYWt9ZGVmYXVsdDpyPSEwLGE9MX11PW0rMX1yZXR1cm4gbCYmKHImJmQucHVzaCgtNSksZSYmZC5wdXNoKGUpLGQucHVzaChudWxsKSksZH19dmFyIEJwdCxEM2U9ZigoKT0+e0JwdD0vW1wwXHRcblxyXS9nO3MoaWIsInByZXByb2Nlc3MiKX0pO2Z1bmN0aW9uIERacihhLGUsdCl7cmV0dXJuIHR5cGVvZiBlIT0ic3RyaW5nIiYmKHQ9ZSxlPXZvaWQgMCksejNlKHQpKHNiKHJiKHQpLmRvY3VtZW50KCkud3JpdGUoaWIoKShhLGUsITApKSkpfXZhciBIcHQ9ZigoKT0+e0MzZSgpO0wzZSgpOyQzZSgpO0QzZSgpO0MzZSgpO0wzZSgpOyQzZSgpO0QzZSgpO3MoRFpyLCJtaWNyb21hcmsiKX0pO2Z1bmN0aW9uIEEzZShhLGUsdCl7cmV0dXJuIGUmJnR5cGVvZiBlPT0ib2JqZWN0IiYmKHQ9ZSxlPXZvaWQgMCksUmthKHQpKHNiKHJiKHQpLmRvY3VtZW50KCkud3JpdGUoaWIoKShhLGUsITApKSkpfWZ1bmN0aW9uIFJrYShhKXtsZXQgZT17dHJhbnNmb3JtczpbXSxjYW5Db250YWluRW9sczpbImVtcGhhc2lzIiwiZnJhZ21lbnQiLCJoZWFkaW5nIiwicGFyYWdyYXBoIiwic3Ryb25nIl0sZW50ZXI6e2F1dG9saW5rOm8odGUpLGF1dG9saW5rUHJvdG9jb2w6RSxhdXRvbGlua0VtYWlsOkUsYXR4SGVhZGluZzpvKFYpLGJsb2NrUXVvdGU6byhaKSxjaGFyYWN0ZXJFc2NhcGU6RSxjaGFyYWN0ZXJSZWZlcmVuY2U6RSxjb2RlRmVuY2VkOm8oZ2UpLGNvZGVGZW5jZWRGZW5jZUluZm86bixjb2RlRmVuY2VkRmVuY2VNZXRhOm4sY29kZUluZGVudGVkOm8oZ2UsbiksY29kZVRleHQ6byhhZSxuKSxjb2RlVGV4dERhdGE6RSxkYXRhOkUsY29kZUZsb3dWYWx1ZTpFLGRlZmluaXRpb246byhyZSksZGVmaW5pdGlvbkRlc3RpbmF0aW9uU3RyaW5nOm4sZGVmaW5pdGlvbkxhYmVsU3RyaW5nOm4sZGVmaW5pdGlvblRpdGxlU3RyaW5nOm4sZW1waGFzaXM6byh5ZSksaGFyZEJyZWFrRXNjYXBlOm8oSCksaGFyZEJyZWFrVHJhaWxpbmc6byhIKSxodG1sRmxvdzpvKG9lLG4pLGh0bWxGbG93RGF0YTpFLGh0bWxUZXh0Om8ob2UsbiksaHRtbFRleHREYXRhOkUsaW1hZ2U6byhzZSksbGFiZWw6bixsaW5rOm8odGUpLGxpc3RJdGVtOm8oT2UpLGxpc3RJdGVtVmFsdWU6bSxsaXN0T3JkZXJlZDpvKHplLHUpLGxpc3RVbm9yZGVyZWQ6byh6ZSkscGFyYWdyYXBoOm8ocWUpLHJlZmVyZW5jZTpJLHJlZmVyZW5jZVN0cmluZzpuLHJlc291cmNlRGVzdGluYXRpb25TdHJpbmc6bixyZXNvdXJjZVRpdGxlU3RyaW5nOm4sc2V0ZXh0SGVhZGluZzpvKFYpLHN0cm9uZzpvKGN0KSx0aGVtYXRpY0JyZWFrOm8oQ2UpfSxleGl0OnthdHhIZWFkaW5nOmQoKSxhdHhIZWFkaW5nU2VxdWVuY2U6XyxhdXRvbGluazpkKCksYXV0b2xpbmtFbWFpbDpKLGF1dG9saW5rUHJvdG9jb2w6USxibG9ja1F1b3RlOmQoKSxjaGFyYWN0ZXJFc2NhcGVWYWx1ZTpCLGNoYXJhY3RlclJlZmVyZW5jZU1hcmtlckhleGFkZWNpbWFsOmNlLGNoYXJhY3RlclJlZmVyZW5jZU1hcmtlck51bWVyaWM6Y2UsY2hhcmFjdGVyUmVmZXJlbmNlVmFsdWU6dWUsY2hhcmFjdGVyUmVmZXJlbmNlOlksY29kZUZlbmNlZDpkKGcpLGNvZGVGZW5jZWRGZW5jZTpiLGNvZGVGZW5jZWRGZW5jZUluZm86dixjb2RlRmVuY2VkRmVuY2VNZXRhOngsY29kZUZsb3dWYWx1ZTpCLGNvZGVJbmRlbnRlZDpkKHkpLGNvZGVUZXh0OmQoRiksY29kZVRleHREYXRhOkIsZGF0YTpCLGRlZmluaXRpb246ZCgpLGRlZmluaXRpb25EZXN0aW5hdGlvblN0cmluZzpOLGRlZmluaXRpb25MYWJlbFN0cmluZzprLGRlZmluaXRpb25UaXRsZVN0cmluZzpDLGVtcGhhc2lzOmQoKSxoYXJkQnJlYWtFc2NhcGU6ZChTKSxoYXJkQnJlYWtUcmFpbGluZzpkKFMpLGh0bWxGbG93OmQoUCksaHRtbEZsb3dEYXRhOkIsaHRtbFRleHQ6ZChBKSxodG1sVGV4dERhdGE6QixpbWFnZTpkKGopLGxhYmVsOmhlLGxhYmVsVGV4dDpHLGxpbmVFbmRpbmc6TSxsaW5rOmQoVyksbGlzdEl0ZW06ZCgpLGxpc3RPcmRlcmVkOmQoKSxsaXN0VW5vcmRlcmVkOmQoKSxwYXJhZ3JhcGg6ZCgpLHJlZmVyZW5jZVN0cmluZzpxLHJlc291cmNlRGVzdGluYXRpb25TdHJpbmc6UixyZXNvdXJjZVRpdGxlU3RyaW5nOlUscmVzb3VyY2U6bWUsc2V0ZXh0SGVhZGluZzpkKFQpLHNldGV4dEhlYWRpbmdMaW5lU2VxdWVuY2U6TyxzZXRleHRIZWFkaW5nVGV4dDp6LHN0cm9uZzpkKCksdGhlbWF0aWNCcmVhazpkKCl9fTtWcHQoZSwoYXx8e30pLm1kYXN0RXh0ZW5zaW9uc3x8W10pO2xldCB0PXt9O3JldHVybiByO2Z1bmN0aW9uIHIoTWUpe2xldCBkZT17dHlwZToicm9vdCIsY2hpbGRyZW46W119LHZlPXtzdGFjazpbZGVdLHRva2VuU3RhY2s6W10sY29uZmlnOmUsZW50ZXI6bCxleGl0OmMsYnVmZmVyOm4scmVzdW1lOnAsZGF0YTp0fSxBZT1bXSxaZT0tMTtmb3IoOysrWmU8TWUubGVuZ3RoOylpZihNZVtaZV1bMV0udHlwZT09PSJsaXN0T3JkZXJlZCJ8fE1lW1plXVsxXS50eXBlPT09Imxpc3RVbm9yZGVyZWQiKWlmKE1lW1plXVswXT09PSJlbnRlciIpQWUucHVzaChaZSk7ZWxzZXtsZXQgbHQ9QWUucG9wKCk7WmU9aShNZSxsdCxaZSl9Zm9yKFplPS0xOysrWmU8TWUubGVuZ3RoOyl7bGV0IGx0PWVbTWVbWmVdWzBdXTtxcHQuY2FsbChsdCxNZVtaZV1bMV0udHlwZSkmJmx0W01lW1plXVsxXS50eXBlXS5jYWxsKE9iamVjdC5hc3NpZ24oe3NsaWNlU2VyaWFsaXplOk1lW1plXVsyXS5zbGljZVNlcmlhbGl6ZX0sdmUpLE1lW1plXVsxXSl9aWYodmUudG9rZW5TdGFjay5sZW5ndGg+MCl7bGV0IGx0PXZlLnRva2VuU3RhY2tbdmUudG9rZW5TdGFjay5sZW5ndGgtMV07KGx0WzFdfHxqcHQpLmNhbGwodmUsdm9pZCAwLGx0WzBdKX1mb3IoZGUucG9zaXRpb249e3N0YXJ0OlcwKE1lLmxlbmd0aD4wP01lWzBdWzFdLnN0YXJ0OntsaW5lOjEsY29sdW1uOjEsb2Zmc2V0OjB9KSxlbmQ6VzAoTWUubGVuZ3RoPjA/TWVbTWUubGVuZ3RoLTJdWzFdLmVuZDp7bGluZToxLGNvbHVtbjoxLG9mZnNldDowfSl9LFplPS0xOysrWmU8ZS50cmFuc2Zvcm1zLmxlbmd0aDspZGU9ZS50cmFuc2Zvcm1zW1plXShkZSl8fGRlO3JldHVybiBkZX1mdW5jdGlvbiBpKE1lLGRlLHZlKXtsZXQgQWU9ZGUtMSxaZT0tMSxsdD0hMSx6dCxUZSx3ZSxSZTtmb3IoOysrQWU8PXZlOyl7bGV0IGZlPU1lW0FlXTtzd2l0Y2goZmVbMV0udHlwZSl7Y2FzZSJsaXN0VW5vcmRlcmVkIjpjYXNlImxpc3RPcmRlcmVkIjpjYXNlImJsb2NrUXVvdGUiOntmZVswXT09PSJlbnRlciI/WmUrKzpaZS0tLFJlPXZvaWQgMDticmVha31jYXNlImxpbmVFbmRpbmdCbGFuayI6e2ZlWzBdPT09ImVudGVyIiYmKHp0JiYhUmUmJiFaZSYmIXdlJiYod2U9QWUpLFJlPXZvaWQgMCk7YnJlYWt9Y2FzZSJsaW5lUHJlZml4IjpjYXNlImxpc3RJdGVtVmFsdWUiOmNhc2UibGlzdEl0ZW1NYXJrZXIiOmNhc2UibGlzdEl0ZW1QcmVmaXgiOmNhc2UibGlzdEl0ZW1QcmVmaXhXaGl0ZXNwYWNlIjpicmVhaztkZWZhdWx0OlJlPXZvaWQgMH1pZighWmUmJmZlWzBdPT09ImVudGVyIiYmZmVbMV0udHlwZT09PSJsaXN0SXRlbVByZWZpeCJ8fFplPT09LTEmJmZlWzBdPT09ImV4aXQiJiYoZmVbMV0udHlwZT09PSJsaXN0VW5vcmRlcmVkInx8ZmVbMV0udHlwZT09PSJsaXN0T3JkZXJlZCIpKXtpZih6dCl7bGV0IGJlPUFlO2ZvcihUZT12b2lkIDA7YmUtLTspe2xldCBQZT1NZVtiZV07aWYoUGVbMV0udHlwZT09PSJsaW5lRW5kaW5nInx8UGVbMV0udHlwZT09PSJsaW5lRW5kaW5nQmxhbmsiKXtpZihQZVswXT09PSJleGl0Iiljb250aW51ZTtUZSYmKE1lW1RlXVsxXS50eXBlPSJsaW5lRW5kaW5nQmxhbmsiLGx0PSEwKSxQZVsxXS50eXBlPSJsaW5lRW5kaW5nIixUZT1iZX1lbHNlIGlmKCEoUGVbMV0udHlwZT09PSJsaW5lUHJlZml4Inx8UGVbMV0udHlwZT09PSJibG9ja1F1b3RlUHJlZml4Inx8UGVbMV0udHlwZT09PSJibG9ja1F1b3RlUHJlZml4V2hpdGVzcGFjZSJ8fFBlWzFdLnR5cGU9PT0iYmxvY2tRdW90ZU1hcmtlciJ8fFBlWzFdLnR5cGU9PT0ibGlzdEl0ZW1JbmRlbnQiKSlicmVha313ZSYmKCFUZXx8d2U8VGUpJiYoenQuX3NwcmVhZD0hMCksenQuZW5kPU9iamVjdC5hc3NpZ24oe30sVGU/TWVbVGVdWzFdLnN0YXJ0OmZlWzFdLmVuZCksTWUuc3BsaWNlKFRlfHxBZSwwLFsiZXhpdCIsenQsZmVbMl1dKSxBZSsrLHZlKyt9aWYoZmVbMV0udHlwZT09PSJsaXN0SXRlbVByZWZpeCIpe2xldCBiZT17dHlwZToibGlzdEl0ZW0iLF9zcHJlYWQ6ITEsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxmZVsxXS5zdGFydCksZW5kOnZvaWQgMH07enQ9YmUsTWUuc3BsaWNlKEFlLDAsWyJlbnRlciIsYmUsZmVbMl1dKSxBZSsrLHZlKyssd2U9dm9pZCAwLFJlPSEwfX19cmV0dXJuIE1lW2RlXVsxXS5fc3ByZWFkPWx0LHZlfWZ1bmN0aW9uIG8oTWUsZGUpe3JldHVybiB2ZTtmdW5jdGlvbiB2ZShBZSl7bC5jYWxsKHRoaXMsTWUoQWUpLEFlKSxkZSYmZGUuY2FsbCh0aGlzLEFlKX19ZnVuY3Rpb24gbigpe3RoaXMuc3RhY2sucHVzaCh7dHlwZToiZnJhZ21lbnQiLGNoaWxkcmVuOltdfSl9ZnVuY3Rpb24gbChNZSxkZSx2ZSl7dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXS5jaGlsZHJlbi5wdXNoKE1lKSx0aGlzLnN0YWNrLnB1c2goTWUpLHRoaXMudG9rZW5TdGFjay5wdXNoKFtkZSx2ZXx8dm9pZCAwXSksTWUucG9zaXRpb249e3N0YXJ0OlcwKGRlLnN0YXJ0KSxlbmQ6dm9pZCAwfX1mdW5jdGlvbiBkKE1lKXtyZXR1cm4gZGU7ZnVuY3Rpb24gZGUodmUpe01lJiZNZS5jYWxsKHRoaXMsdmUpLGMuY2FsbCh0aGlzLHZlKX19ZnVuY3Rpb24gYyhNZSxkZSl7bGV0IHZlPXRoaXMuc3RhY2sucG9wKCksQWU9dGhpcy50b2tlblN0YWNrLnBvcCgpO2lmKEFlKUFlWzBdLnR5cGUhPT1NZS50eXBlJiYoZGU/ZGUuY2FsbCh0aGlzLE1lLEFlWzBdKTooQWVbMV18fGpwdCkuY2FsbCh0aGlzLE1lLEFlWzBdKSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBjbG9zZSBgIitNZS50eXBlKyJgICgiK0gwKHtzdGFydDpNZS5zdGFydCxlbmQ6TWUuZW5kfSkrIik6IGl0XHUyMDE5cyBub3Qgb3BlbiIpO3ZlLnBvc2l0aW9uLmVuZD1XMChNZS5lbmQpfWZ1bmN0aW9uIHAoKXtyZXR1cm4gSzModGhpcy5zdGFjay5wb3AoKSl9ZnVuY3Rpb24gdSgpe3RoaXMuZGF0YS5leHBlY3RpbmdGaXJzdExpc3RJdGVtVmFsdWU9ITB9ZnVuY3Rpb24gbShNZSl7aWYodGhpcy5kYXRhLmV4cGVjdGluZ0ZpcnN0TGlzdEl0ZW1WYWx1ZSl7bGV0IGRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMl07ZGUuc3RhcnQ9TnVtYmVyLnBhcnNlSW50KHRoaXMuc2xpY2VTZXJpYWxpemUoTWUpLDEwKSx0aGlzLmRhdGEuZXhwZWN0aW5nRmlyc3RMaXN0SXRlbVZhbHVlPXZvaWQgMH19ZnVuY3Rpb24gdigpe2xldCBNZT10aGlzLnJlc3VtZSgpLGRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ZGUubGFuZz1NZX1mdW5jdGlvbiB4KCl7bGV0IE1lPXRoaXMucmVzdW1lKCksZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtkZS5tZXRhPU1lfWZ1bmN0aW9uIGIoKXt0aGlzLmRhdGEuZmxvd0NvZGVJbnNpZGV8fCh0aGlzLmJ1ZmZlcigpLHRoaXMuZGF0YS5mbG93Q29kZUluc2lkZT0hMCl9ZnVuY3Rpb24gZygpe2xldCBNZT10aGlzLnJlc3VtZSgpLGRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ZGUudmFsdWU9TWUucmVwbGFjZSgvXihccj9cbnxccil8KFxyP1xufFxyKSQvZywiIiksdGhpcy5kYXRhLmZsb3dDb2RlSW5zaWRlPXZvaWQgMH1mdW5jdGlvbiB5KCl7bGV0IE1lPXRoaXMucmVzdW1lKCksZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtkZS52YWx1ZT1NZS5yZXBsYWNlKC8oXHI/XG58XHIpJC9nLCIiKX1mdW5jdGlvbiBrKE1lKXtsZXQgZGU9dGhpcy5yZXN1bWUoKSx2ZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO3ZlLmxhYmVsPWRlLHZlLmlkZW50aWZpZXI9UnIodGhpcy5zbGljZVNlcmlhbGl6ZShNZSkpLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gQygpe2xldCBNZT10aGlzLnJlc3VtZSgpLGRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ZGUudGl0bGU9TWV9ZnVuY3Rpb24gTigpe2xldCBNZT10aGlzLnJlc3VtZSgpLGRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ZGUudXJsPU1lfWZ1bmN0aW9uIF8oTWUpe2xldCBkZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2lmKCFkZS5kZXB0aCl7bGV0IHZlPXRoaXMuc2xpY2VTZXJpYWxpemUoTWUpLmxlbmd0aDtkZS5kZXB0aD12ZX19ZnVuY3Rpb24geigpe3RoaXMuZGF0YS5zZXRleHRIZWFkaW5nU2x1cnBMaW5lRW5kaW5nPSEwfWZ1bmN0aW9uIE8oTWUpe2xldCBkZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2RlLmRlcHRoPXRoaXMuc2xpY2VTZXJpYWxpemUoTWUpLmNvZGVQb2ludEF0KDApPT09NjE/MToyfWZ1bmN0aW9uIFQoKXt0aGlzLmRhdGEuc2V0ZXh0SGVhZGluZ1NsdXJwTGluZUVuZGluZz12b2lkIDB9ZnVuY3Rpb24gRShNZSl7bGV0IHZlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV0uY2hpbGRyZW4sQWU9dmVbdmUubGVuZ3RoLTFdOyghQWV8fEFlLnR5cGUhPT0idGV4dCIpJiYoQWU9JGUoKSxBZS5wb3NpdGlvbj17c3RhcnQ6VzAoTWUuc3RhcnQpLGVuZDp2b2lkIDB9LHZlLnB1c2goQWUpKSx0aGlzLnN0YWNrLnB1c2goQWUpfWZ1bmN0aW9uIEIoTWUpe2xldCBkZT10aGlzLnN0YWNrLnBvcCgpO2RlLnZhbHVlKz10aGlzLnNsaWNlU2VyaWFsaXplKE1lKSxkZS5wb3NpdGlvbi5lbmQ9VzAoTWUuZW5kKX1mdW5jdGlvbiBNKE1lKXtsZXQgZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtpZih0aGlzLmRhdGEuYXRIYXJkQnJlYWspe2xldCB2ZT1kZS5jaGlsZHJlbltkZS5jaGlsZHJlbi5sZW5ndGgtMV07dmUucG9zaXRpb24uZW5kPVcwKE1lLmVuZCksdGhpcy5kYXRhLmF0SGFyZEJyZWFrPXZvaWQgMDtyZXR1cm59IXRoaXMuZGF0YS5zZXRleHRIZWFkaW5nU2x1cnBMaW5lRW5kaW5nJiZlLmNhbkNvbnRhaW5Fb2xzLmluY2x1ZGVzKGRlLnR5cGUpJiYoRS5jYWxsKHRoaXMsTWUpLEIuY2FsbCh0aGlzLE1lKSl9ZnVuY3Rpb24gUygpe3RoaXMuZGF0YS5hdEhhcmRCcmVhaz0hMH1mdW5jdGlvbiBQKCl7bGV0IE1lPXRoaXMucmVzdW1lKCksZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtkZS52YWx1ZT1NZX1mdW5jdGlvbiBBKCl7bGV0IE1lPXRoaXMucmVzdW1lKCksZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtkZS52YWx1ZT1NZX1mdW5jdGlvbiBGKCl7bGV0IE1lPXRoaXMucmVzdW1lKCksZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtkZS52YWx1ZT1NZX1mdW5jdGlvbiBXKCl7bGV0IE1lPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07aWYodGhpcy5kYXRhLmluUmVmZXJlbmNlKXtsZXQgZGU9dGhpcy5kYXRhLnJlZmVyZW5jZVR5cGV8fCJzaG9ydGN1dCI7TWUudHlwZSs9IlJlZmVyZW5jZSIsTWUucmVmZXJlbmNlVHlwZT1kZSxkZWxldGUgTWUudXJsLGRlbGV0ZSBNZS50aXRsZX1lbHNlIGRlbGV0ZSBNZS5pZGVudGlmaWVyLGRlbGV0ZSBNZS5sYWJlbDt0aGlzLmRhdGEucmVmZXJlbmNlVHlwZT12b2lkIDB9ZnVuY3Rpb24gaigpe2xldCBNZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2lmKHRoaXMuZGF0YS5pblJlZmVyZW5jZSl7bGV0IGRlPXRoaXMuZGF0YS5yZWZlcmVuY2VUeXBlfHwic2hvcnRjdXQiO01lLnR5cGUrPSJSZWZlcmVuY2UiLE1lLnJlZmVyZW5jZVR5cGU9ZGUsZGVsZXRlIE1lLnVybCxkZWxldGUgTWUudGl0bGV9ZWxzZSBkZWxldGUgTWUuaWRlbnRpZmllcixkZWxldGUgTWUubGFiZWw7dGhpcy5kYXRhLnJlZmVyZW5jZVR5cGU9dm9pZCAwfWZ1bmN0aW9uIEcoTWUpe2xldCBkZT10aGlzLnNsaWNlU2VyaWFsaXplKE1lKSx2ZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTJdO3ZlLmxhYmVsPURRKGRlKSx2ZS5pZGVudGlmaWVyPVJyKGRlKS50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIGhlKCl7bGV0IE1lPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV0sZGU9dGhpcy5yZXN1bWUoKSx2ZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2lmKHRoaXMuZGF0YS5pblJlZmVyZW5jZT0hMCx2ZS50eXBlPT09ImxpbmsiKXtsZXQgQWU9TWUuY2hpbGRyZW47dmUuY2hpbGRyZW49QWV9ZWxzZSB2ZS5hbHQ9ZGV9ZnVuY3Rpb24gUigpe2xldCBNZT10aGlzLnJlc3VtZSgpLGRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ZGUudXJsPU1lfWZ1bmN0aW9uIFUoKXtsZXQgTWU9dGhpcy5yZXN1bWUoKSxkZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2RlLnRpdGxlPU1lfWZ1bmN0aW9uIG1lKCl7dGhpcy5kYXRhLmluUmVmZXJlbmNlPXZvaWQgMH1mdW5jdGlvbiBJKCl7dGhpcy5kYXRhLnJlZmVyZW5jZVR5cGU9ImNvbGxhcHNlZCJ9ZnVuY3Rpb24gcShNZSl7bGV0IGRlPXRoaXMucmVzdW1lKCksdmU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTt2ZS5sYWJlbD1kZSx2ZS5pZGVudGlmaWVyPVJyKHRoaXMuc2xpY2VTZXJpYWxpemUoTWUpKS50b0xvd2VyQ2FzZSgpLHRoaXMuZGF0YS5yZWZlcmVuY2VUeXBlPSJmdWxsIn1mdW5jdGlvbiBjZShNZSl7dGhpcy5kYXRhLmNoYXJhY3RlclJlZmVyZW5jZVR5cGU9TWUudHlwZX1mdW5jdGlvbiB1ZShNZSl7bGV0IGRlPXRoaXMuc2xpY2VTZXJpYWxpemUoTWUpLHZlPXRoaXMuZGF0YS5jaGFyYWN0ZXJSZWZlcmVuY2VUeXBlLEFlO3ZlPyhBZT1fOChkZSx2ZT09PSJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJOdW1lcmljIj8xMDoxNiksdGhpcy5kYXRhLmNoYXJhY3RlclJlZmVyZW5jZVR5cGU9dm9pZCAwKTpBZT1qMChkZSk7bGV0IFplPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07WmUudmFsdWUrPUFlfWZ1bmN0aW9uIFkoTWUpe2xldCBkZT10aGlzLnN0YWNrLnBvcCgpO2RlLnBvc2l0aW9uLmVuZD1XMChNZS5lbmQpfWZ1bmN0aW9uIFEoTWUpe0IuY2FsbCh0aGlzLE1lKTtsZXQgZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtkZS51cmw9dGhpcy5zbGljZVNlcmlhbGl6ZShNZSl9ZnVuY3Rpb24gSihNZSl7Qi5jYWxsKHRoaXMsTWUpO2xldCBkZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2RlLnVybD0ibWFpbHRvOiIrdGhpcy5zbGljZVNlcmlhbGl6ZShNZSl9ZnVuY3Rpb24gWigpe3JldHVybnt0eXBlOiJibG9ja3F1b3RlIixjaGlsZHJlbjpbXX19ZnVuY3Rpb24gZ2UoKXtyZXR1cm57dHlwZToiY29kZSIsbGFuZzpudWxsLG1ldGE6bnVsbCx2YWx1ZToiIn19ZnVuY3Rpb24gYWUoKXtyZXR1cm57dHlwZToiaW5saW5lQ29kZSIsdmFsdWU6IiJ9fWZ1bmN0aW9uIHJlKCl7cmV0dXJue3R5cGU6ImRlZmluaXRpb24iLGlkZW50aWZpZXI6IiIsbGFiZWw6bnVsbCx0aXRsZTpudWxsLHVybDoiIn19ZnVuY3Rpb24geWUoKXtyZXR1cm57dHlwZToiZW1waGFzaXMiLGNoaWxkcmVuOltdfX1mdW5jdGlvbiBWKCl7cmV0dXJue3R5cGU6ImhlYWRpbmciLGRlcHRoOjAsY2hpbGRyZW46W119fWZ1bmN0aW9uIEgoKXtyZXR1cm57dHlwZToiYnJlYWsifX1mdW5jdGlvbiBvZSgpe3JldHVybnt0eXBlOiJodG1sIix2YWx1ZToiIn19ZnVuY3Rpb24gc2UoKXtyZXR1cm57dHlwZToiaW1hZ2UiLHRpdGxlOm51bGwsdXJsOiIiLGFsdDpudWxsfX1mdW5jdGlvbiB0ZSgpe3JldHVybnt0eXBlOiJsaW5rIix0aXRsZTpudWxsLHVybDoiIixjaGlsZHJlbjpbXX19ZnVuY3Rpb24gemUoTWUpe3JldHVybnt0eXBlOiJsaXN0IixvcmRlcmVkOk1lLnR5cGU9PT0ibGlzdE9yZGVyZWQiLHN0YXJ0Om51bGwsc3ByZWFkOk1lLl9zcHJlYWQsY2hpbGRyZW46W119fWZ1bmN0aW9uIE9lKE1lKXtyZXR1cm57dHlwZToibGlzdEl0ZW0iLHNwcmVhZDpNZS5fc3ByZWFkLGNoZWNrZWQ6bnVsbCxjaGlsZHJlbjpbXX19ZnVuY3Rpb24gcWUoKXtyZXR1cm57dHlwZToicGFyYWdyYXBoIixjaGlsZHJlbjpbXX19ZnVuY3Rpb24gY3QoKXtyZXR1cm57dHlwZToic3Ryb25nIixjaGlsZHJlbjpbXX19ZnVuY3Rpb24gJGUoKXtyZXR1cm57dHlwZToidGV4dCIsdmFsdWU6IiJ9fWZ1bmN0aW9uIENlKCl7cmV0dXJue3R5cGU6InRoZW1hdGljQnJlYWsifX19ZnVuY3Rpb24gVzAoYSl7cmV0dXJue2xpbmU6YS5saW5lLGNvbHVtbjphLmNvbHVtbixvZmZzZXQ6YS5vZmZzZXR9fWZ1bmN0aW9uIFZwdChhLGUpe2xldCB0PS0xO2Zvcig7Kyt0PGUubGVuZ3RoOyl7bGV0IHI9ZVt0XTtBcnJheS5pc0FycmF5KHIpP1ZwdChhLHIpOk9rYShhLHIpfX1mdW5jdGlvbiBPa2EoYSxlKXtsZXQgdDtmb3IodCBpbiBlKWlmKHFwdC5jYWxsKGUsdCkpc3dpdGNoKHQpe2Nhc2UiY2FuQ29udGFpbkVvbHMiOntsZXQgcj1lW3RdO3ImJmFbdF0ucHVzaCguLi5yKTticmVha31jYXNlInRyYW5zZm9ybXMiOntsZXQgcj1lW3RdO3ImJmFbdF0ucHVzaCguLi5yKTticmVha31jYXNlImVudGVyIjpjYXNlImV4aXQiOntsZXQgcj1lW3RdO3ImJk9iamVjdC5hc3NpZ24oYVt0XSxyKTticmVha319fWZ1bmN0aW9uIGpwdChhLGUpe3Rocm93IGE/bmV3IEVycm9yKCJDYW5ub3QgY2xvc2UgYCIrYS50eXBlKyJgICgiK0gwKHtzdGFydDphLnN0YXJ0LGVuZDphLmVuZH0pKyIpOiBhIGRpZmZlcmVudCB0b2tlbiAoYCIrZS50eXBlKyJgLCAiK0gwKHtzdGFydDplLnN0YXJ0LGVuZDplLmVuZH0pKyIpIGlzIG9wZW4iKTpuZXcgRXJyb3IoIkNhbm5vdCBjbG9zZSBkb2N1bWVudCwgYSB0b2tlbiAoYCIrZS50eXBlKyJgLCAiK0gwKHtzdGFydDplLnN0YXJ0LGVuZDplLmVuZH0pKyIpIGlzIHN0aWxsIG9wZW4iKX12YXIgcXB0LFVwdD1mKCgpPT57Q1EoKTtIcHQoKTskUSgpO0k0ZSgpO1YwKCk7WmcoKTtLMGUoKTtxcHQ9e30uaGFzT3duUHJvcGVydHk7cyhBM2UsImZyb21NYXJrZG93biIpO3MoUmthLCJjb21waWxlciIpO3MoVzAsInBvaW50Iik7cyhWcHQsImNvbmZpZ3VyZSIpO3MoT2thLCJleHRlbnNpb24iKTtzKGpwdCwiZGVmYXVsdE9uRXJyb3IiKX0pO3ZhciBXcHQ9ZigoKT0+e1VwdCgpfSk7ZnVuY3Rpb24gJDgoYSl7bGV0IGU9dGhpcztlLnBhcnNlcj10O2Z1bmN0aW9uIHQocil7cmV0dXJuIEEzZShyLHsuLi5lLmRhdGEoInNldHRpbmdzIiksLi4uYSxleHRlbnNpb25zOmUuZGF0YSgibWljcm9tYXJrRXh0ZW5zaW9ucyIpfHxbXSxtZGFzdEV4dGVuc2lvbnM6ZS5kYXRhKCJmcm9tTWFya2Rvd25FeHRlbnNpb25zIil8fFtdfSl9cyh0LCJwYXJzZXIiKX12YXIgR3B0PWYoKCk9PntXcHQoKTtzKCQ4LCJyZW1hcmtQYXJzZSIpfSk7dmFyIFlwdD1mKCgpPT57R3B0KCl9KTt2YXIgS3B0PXZvKChlWHIsRTNlKT0+eyhmdW5jdGlvbigpe3ZhciBhO3R5cGVvZiBFM2U8InUiP2E9RTNlLmV4cG9ydHM9cjphPShmdW5jdGlvbigpe3JldHVybiB0aGlzfHwoMCxldmFsKSgidGhpcyIpfSkoKSxhLmZvcm1hdD1yLGEudnNwcmludGY9dCx0eXBlb2YgY29uc29sZTwidSImJnR5cGVvZiBjb25zb2xlLmxvZz09ImZ1bmN0aW9uIiYmKGEucHJpbnRmPWUpO2Z1bmN0aW9uIGUoKXtjb25zb2xlLmxvZyhyLmFwcGx5KG51bGwsYXJndW1lbnRzKSl9cyhlLCJwcmludGYiKTtmdW5jdGlvbiB0KGksbyl7cmV0dXJuIHIuYXBwbHkobnVsbCxbaV0uY29uY2F0KG8pKX1zKHQsInZzcHJpbnRmIik7ZnVuY3Rpb24gcihpKXtmb3IodmFyIG89MSxuPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSxsPTAsZD1pLmxlbmd0aCxjPSIiLHAsdT0hMSxtLHYseD0hMSxiLGc9cyhmdW5jdGlvbigpe3JldHVybiBuW28rK119LCJuZXh0QXJnIikseT1zKGZ1bmN0aW9uKCl7Zm9yKHZhciBrPSIiOy9cZC8udGVzdChpW2xdKTspays9aVtsKytdLHA9aVtsXTtyZXR1cm4gay5sZW5ndGg+MD9wYXJzZUludChrKTpudWxsfSwic2x1cnBOdW1iZXIiKTtsPGQ7KytsKWlmKHA9aVtsXSx1KXN3aXRjaCh1PSExLHA9PSIuIj8oeD0hMSxwPWlbKytsXSk6cD09IjAiJiZpW2wrMV09PSIuIj8oeD0hMCxsKz0yLHA9aVtsXSk6eD0hMCxiPXkoKSxwKXtjYXNlImIiOmMrPXBhcnNlSW50KGcoKSwxMCkudG9TdHJpbmcoMik7YnJlYWs7Y2FzZSJjIjptPWcoKSx0eXBlb2YgbT09InN0cmluZyJ8fG0gaW5zdGFuY2VvZiBTdHJpbmc/Yys9bTpjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KG0sMTApKTticmVhaztjYXNlImQiOmMrPXBhcnNlSW50KGcoKSwxMCk7YnJlYWs7Y2FzZSJmIjp2PVN0cmluZyhwYXJzZUZsb2F0KGcoKSkudG9GaXhlZChifHw2KSksYys9eD92OnYucmVwbGFjZSgvXjAvLCIiKTticmVhaztjYXNlImoiOmMrPUpTT04uc3RyaW5naWZ5KGcoKSk7YnJlYWs7Y2FzZSJvIjpjKz0iMCIrcGFyc2VJbnQoZygpLDEwKS50b1N0cmluZyg4KTticmVhaztjYXNlInMiOmMrPWcoKTticmVhaztjYXNlIngiOmMrPSIweCIrcGFyc2VJbnQoZygpLDEwKS50b1N0cmluZygxNik7YnJlYWs7Y2FzZSJYIjpjKz0iMHgiK3BhcnNlSW50KGcoKSwxMCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7YnJlYWs7ZGVmYXVsdDpjKz1wO2JyZWFrfWVsc2UgcD09PSIlIj91PSEwOmMrPXA7cmV0dXJuIGN9cyhyLCJmb3JtYXQiKX0pKCl9KTtmdW5jdGlvbiBhZChhKXtyZXR1cm4gZS5kaXNwbGF5TmFtZT1hLmRpc3BsYXlOYW1lfHxhLm5hbWUsZTtmdW5jdGlvbiBlKHQsLi4ucil7bGV0IGk9dCYmKDAsWnB0LmRlZmF1bHQpKHQsLi4ucik7cmV0dXJuIG5ldyBhKGkpfXMoZSwiRm9ybWF0dGVkRXJyb3IiKX12YXIgWnB0LG9iLFhwdD1mKCgpPT57WnB0PUJpKEtwdCgpLDEpLG9iPU9iamVjdC5hc3NpZ24oYWQoRXJyb3IpLHtldmFsOmFkKEV2YWxFcnJvcikscmFuZ2U6YWQoUmFuZ2VFcnJvcikscmVmZXJlbmNlOmFkKFJlZmVyZW5jZUVycm9yKSxzeW50YXg6YWQoU3ludGF4RXJyb3IpLHR5cGU6YWQoVHlwZUVycm9yKSx1cmk6YWQoVVJJRXJyb3IpfSk7cyhhZCwiY3JlYXRlIil9KTtmdW5jdGlvbiBEOChhKXtsZXQgZT1bXSx0PS0xLHI9QXJyYXkuaXNBcnJheShhKT9hOmE/W2FdOlsieWFtbCJdO2Zvcig7Kyt0PHIubGVuZ3RoOyllW3RdPUZrYShyW3RdKTtyZXR1cm4gZX1mdW5jdGlvbiBGa2EoYSl7bGV0IGU9YTtpZih0eXBlb2YgZT09InN0cmluZyIpe2lmKCFYUS5jYWxsKFFwdCxlKSl0aHJvdyBvYigiTWlzc2luZyBtYXR0ZXIgZGVmaW5pdGlvbiBmb3IgYCVzYCIsZSk7ZT17dHlwZTplLG1hcmtlcjpRcHRbZV19fWVsc2UgaWYodHlwZW9mIGUhPSJvYmplY3QiKXRocm93IG9iKCJFeHBlY3RlZCBtYXR0ZXIgdG8gYmUgYW4gb2JqZWN0LCBub3QgYCVqYCIsZSk7aWYoIVhRLmNhbGwoZSwidHlwZSIpKXRocm93IG9iKCJNaXNzaW5nIGB0eXBlYCBpbiBtYXR0ZXIgYCVqYCIsZSk7aWYoIVhRLmNhbGwoZSwiZmVuY2UiKSYmIVhRLmNhbGwoZSwibWFya2VyIikpdGhyb3cgb2IoIk1pc3NpbmcgYG1hcmtlcmAgb3IgYGZlbmNlYCBpbiBtYXR0ZXIgYCVqYCIsZSk7cmV0dXJuIGV9dmFyIFhRLFFwdCxQM2U9ZigoKT0+e1hwdCgpO1hRPXt9Lmhhc093blByb3BlcnR5LFFwdD17eWFtbDoiLSIsdG9tbDoiKyJ9O3MoRDgsInRvTWF0dGVycyIpO3MoRmthLCJtYXR0ZXIiKX0pO2Z1bmN0aW9uIE4zZShhKXtsZXQgZT1EOChhKSx0PXt9LHI9LTE7Zm9yKDsrK3I8ZS5sZW5ndGg7KXtsZXQgaT1lW3JdLG89STNlKGksIm9wZW4iKS5jaGFyQ29kZUF0KDApLG49QmthKGkpLGw9dFtvXTtBcnJheS5pc0FycmF5KGwpP2wucHVzaChuKTp0W29dPVtuXX1yZXR1cm57Zmxvdzp0fX1mdW5jdGlvbiBCa2EoYSl7bGV0IGU9YS5hbnl3aGVyZSx0PWEudHlwZSxyPXQrIkZlbmNlIixpPXIrIlNlcXVlbmNlIixvPXQrIlZhbHVlIixuPXt0b2tlbml6ZTpwLHBhcnRpYWw6ITB9LGwsZD0wO3JldHVybnt0b2tlbml6ZTpjLGNvbmNyZXRlOiEwfTtmdW5jdGlvbiBjKHUsbSx2KXtsZXQgeD10aGlzO3JldHVybiBiO2Z1bmN0aW9uIGIoTyl7bGV0IFQ9eC5ub3coKTtyZXR1cm4gVC5jb2x1bW49PT0xJiYoVC5saW5lPT09MXx8ZSkmJihsPUkzZShhLCJvcGVuIiksZD0wLE89PT1sLmNoYXJDb2RlQXQoZCkpPyh1LmVudGVyKHQpLHUuZW50ZXIociksdS5lbnRlcihpKSxnKE8pKTp2KE8pfWZ1bmN0aW9uIGcoTyl7cmV0dXJuIGQ9PT1sLmxlbmd0aD8odS5leGl0KGkpLEN0KE8pPyh1LmVudGVyKCJ3aGl0ZXNwYWNlIikseShPKSk6ayhPKSk6Tz09PWwuY2hhckNvZGVBdChkKyspPyh1LmNvbnN1bWUoTyksZyk6dihPKX1mdW5jdGlvbiB5KE8pe3JldHVybiBDdChPKT8odS5jb25zdW1lKE8pLHkpOih1LmV4aXQoIndoaXRlc3BhY2UiKSxrKE8pKX1mdW5jdGlvbiBrKE8pe3JldHVybiBKZShPKT8odS5leGl0KHIpLHUuZW50ZXIoImxpbmVFbmRpbmciKSx1LmNvbnN1bWUoTyksdS5leGl0KCJsaW5lRW5kaW5nIiksbD1JM2UoYSwiY2xvc2UiKSxkPTAsdS5hdHRlbXB0KG4seixDKSk6dihPKX1mdW5jdGlvbiBDKE8pe3JldHVybiBPPT09bnVsbHx8SmUoTyk/XyhPKToodS5lbnRlcihvKSxOKE8pKX1mdW5jdGlvbiBOKE8pe3JldHVybiBPPT09bnVsbHx8SmUoTyk/KHUuZXhpdChvKSxfKE8pKToodS5jb25zdW1lKE8pLE4pfWZ1bmN0aW9uIF8oTyl7cmV0dXJuIE89PT1udWxsP3YoTyk6KHUuZW50ZXIoImxpbmVFbmRpbmciKSx1LmNvbnN1bWUoTyksdS5leGl0KCJsaW5lRW5kaW5nIiksdS5hdHRlbXB0KG4seixDKSl9ZnVuY3Rpb24geihPKXtyZXR1cm4gdS5leGl0KHQpLG0oTyl9fWZ1bmN0aW9uIHAodSxtLHYpe2xldCB4PTA7cmV0dXJuIGI7ZnVuY3Rpb24gYihDKXtyZXR1cm4gQz09PWwuY2hhckNvZGVBdCh4KT8odS5lbnRlcihyKSx1LmVudGVyKGkpLGcoQykpOnYoQyl9ZnVuY3Rpb24gZyhDKXtyZXR1cm4geD09PWwubGVuZ3RoPyh1LmV4aXQoaSksQ3QoQyk/KHUuZW50ZXIoIndoaXRlc3BhY2UiKSx5KEMpKTprKEMpKTpDPT09bC5jaGFyQ29kZUF0KHgrKyk/KHUuY29uc3VtZShDKSxnKTp2KEMpfWZ1bmN0aW9uIHkoQyl7cmV0dXJuIEN0KEMpPyh1LmNvbnN1bWUoQykseSk6KHUuZXhpdCgid2hpdGVzcGFjZSIpLGsoQykpfWZ1bmN0aW9uIGsoQyl7cmV0dXJuIEM9PT1udWxsfHxKZShDKT8odS5leGl0KHIpLG0oQykpOnYoQyl9fX1mdW5jdGlvbiBJM2UoYSxlKXtyZXR1cm4gYS5tYXJrZXI/SnB0KGEubWFya2VyLGUpLnJlcGVhdCgzKTpKcHQoYS5mZW5jZSxlKX1mdW5jdGlvbiBKcHQoYSxlKXtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmciP2E6YVtlXX12YXIgZWZ0PWYoKCk9PntiYSgpO1AzZSgpO3MoTjNlLCJmcm9udG1hdHRlciIpO3MoQmthLCJjcmVhdGVDb25zdHJ1Y3QiKTtzKEkzZSwiZmVuY2UiKTtzKEpwdCwicGljayIpfSk7dmFyIHRmdD1mKCgpPT57fSk7dmFyIFIzZT1mKCgpPT57ZWZ0KCk7dGZ0KCk7UDNlKCl9KTtmdW5jdGlvbiBGM2UoYSl7bGV0IGU9RDgoYSksdD17fSxyPXt9LGk9LTE7Zm9yKDsrK2k8ZS5sZW5ndGg7KXtsZXQgbz1lW2ldO3Rbby50eXBlXT1Ia2EobykscltvLnR5cGVdPXFrYSxyW28udHlwZSsiVmFsdWUiXT1Wa2F9cmV0dXJue2VudGVyOnQsZXhpdDpyfX1mdW5jdGlvbiBIa2EoYSl7cmV0dXJuIGU7ZnVuY3Rpb24gZSh0KXt0aGlzLmVudGVyKHt0eXBlOmEudHlwZSx2YWx1ZToiIn0sdCksdGhpcy5idWZmZXIoKX19ZnVuY3Rpb24gcWthKGEpe2xldCBlPXRoaXMucmVzdW1lKCksdD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdOyJ2YWx1ZSJpbiB0LHRoaXMuZXhpdChhKSx0LnZhbHVlPWUucmVwbGFjZSgvXihccj9cbnxccil8KFxyP1xufFxyKSQvZywiIil9ZnVuY3Rpb24gVmthKGEpe3RoaXMuY29uZmlnLmVudGVyLmRhdGEuY2FsbCh0aGlzLGEpLHRoaXMuY29uZmlnLmV4aXQuZGF0YS5jYWxsKHRoaXMsYSl9ZnVuY3Rpb24gQjNlKGEpe2xldCBlPVtdLHQ9e30scj1EOChhKSxpPS0xO2Zvcig7KytpPHIubGVuZ3RoOyl7bGV0IG89cltpXTt0W28udHlwZV09amthKG8pO2xldCBuPU8zZShvLCJvcGVuIik7ZS5wdXNoKHthdEJyZWFrOiEwLGNoYXJhY3RlcjpuLmNoYXJBdCgwKSxhZnRlcjpnMyhuLmNoYXJBdCgxKSl9KX1yZXR1cm57dW5zYWZlOmUsaGFuZGxlcnM6dH19ZnVuY3Rpb24gamthKGEpe2xldCBlPU8zZShhLCJvcGVuIiksdD1PM2UoYSwiY2xvc2UiKTtyZXR1cm4gcjtmdW5jdGlvbiByKGkpe3JldHVybiBlKyhpLnZhbHVlP2AKYCtpLnZhbHVlOiIiKStgCmArdH19ZnVuY3Rpb24gTzNlKGEsZSl7cmV0dXJuIGEubWFya2VyP2FmdChhLm1hcmtlcixlKS5yZXBlYXQoMyk6YWZ0KGEuZmVuY2UsZSl9ZnVuY3Rpb24gYWZ0KGEsZSl7cmV0dXJuIHR5cGVvZiBhPT0ic3RyaW5nIj9hOmFbZV19dmFyIHJmdD1mKCgpPT57QjAoKTtSM2UoKTtLWSgpO3MoRjNlLCJmcm9udG1hdHRlckZyb21NYXJrZG93biIpO3MoSGthLCJvcGVuZXIiKTtzKHFrYSwiY2xvc2UiKTtzKFZrYSwidmFsdWUiKTtzKEIzZSwiZnJvbnRtYXR0ZXJUb01hcmtkb3duIik7cyhqa2EsImhhbmRsZXIiKTtzKE8zZSwiZmVuY2UiKTtzKGFmdCwicGljayIpfSk7dmFyIHNmdD1mKCgpPT57cmZ0KCl9KTtmdW5jdGlvbiBBOChhKXtsZXQgZT10aGlzLHQ9YXx8VWthLHI9ZS5kYXRhKCksaT1yLm1pY3JvbWFya0V4dGVuc2lvbnN8fChyLm1pY3JvbWFya0V4dGVuc2lvbnM9W10pLG89ci5mcm9tTWFya2Rvd25FeHRlbnNpb25zfHwoci5mcm9tTWFya2Rvd25FeHRlbnNpb25zPVtdKSxuPXIudG9NYXJrZG93bkV4dGVuc2lvbnN8fChyLnRvTWFya2Rvd25FeHRlbnNpb25zPVtdKTtpLnB1c2goTjNlKHQpKSxvLnB1c2goRjNlKHQpKSxuLnB1c2goQjNlKHQpKX12YXIgVWthLGlmdD1mKCgpPT57c2Z0KCk7UjNlKCk7VWthPSJ5YW1sIjtzKEE4LCJyZW1hcmtGcm9udG1hdHRlciIpfSk7dmFyIG9mdD1mKCgpPT57aWZ0KCl9KTt2YXIgSDNlPWYoKCk9Pnt9KTt2YXIgV2thLG5mdCxHa2EsYUosbGZ0PWYoKCk9PntIM2UoKTtXa2E9dHlwZW9mIHNlbGY9PSJvYmplY3QiP3NlbGY6Z2xvYmFsVGhpcyxuZnQ9cygoYSxlKT0+e3N3aXRjaChhKXtjYXNlIkZ1bmN0aW9uIjpjYXNlIlNoYXJlZFdvcmtlciI6Y2FzZSJXb3JrZXIiOmNhc2UiZXZhbCI6Y2FzZSJzZXRJbnRlcnZhbCI6Y2FzZSJzZXRUaW1lb3V0Ijp0aHJvdyBuZXcgVHlwZUVycm9yKCJ1bmFibGUgdG8gZGVzZXJpYWxpemUgIithKX1yZXR1cm4gbmV3IFdrYVthXShlKX0sImd1YXJkIiksR2thPXMoKGEsZSk9PntsZXQgdD1zKChpLG8pPT4oYS5zZXQobyxpKSxpKSwiYXMiKSxyPXMoaT0+e2lmKGEuaGFzKGkpKXJldHVybiBhLmdldChpKTtsZXRbbyxuXT1lW2ldO3N3aXRjaChvKXtjYXNlIDA6Y2FzZS0xOnJldHVybiB0KG4saSk7Y2FzZSAxOntsZXQgbD10KFtdLGkpO2ZvcihsZXQgZCBvZiBuKWwucHVzaChyKGQpKTtyZXR1cm4gbH1jYXNlIDI6e2xldCBsPXQoe30saSk7Zm9yKGxldFtkLGNdb2YgbilsW3IoZCldPXIoYyk7cmV0dXJuIGx9Y2FzZSAzOnJldHVybiB0KG5ldyBEYXRlKG4pLGkpO2Nhc2UgNDp7bGV0e3NvdXJjZTpsLGZsYWdzOmR9PW47cmV0dXJuIHQobmV3IFJlZ0V4cChsLGQpLGkpfWNhc2UgNTp7bGV0IGw9dChuZXcgTWFwLGkpO2ZvcihsZXRbZCxjXW9mIG4pbC5zZXQocihkKSxyKGMpKTtyZXR1cm4gbH1jYXNlIDY6e2xldCBsPXQobmV3IFNldCxpKTtmb3IobGV0IGQgb2YgbilsLmFkZChyKGQpKTtyZXR1cm4gbH1jYXNlIDc6e2xldHtuYW1lOmwsbWVzc2FnZTpkfT1uO3JldHVybiB0KG5mdChsLGQpLGkpfWNhc2UgODpyZXR1cm4gdChCaWdJbnQobiksaSk7Y2FzZSJCaWdJbnQiOnJldHVybiB0KE9iamVjdChCaWdJbnQobikpLGkpO2Nhc2UiQXJyYXlCdWZmZXIiOnJldHVybiB0KG5ldyBVaW50OEFycmF5KG4pLmJ1ZmZlcixuKTtjYXNlIkRhdGFWaWV3Ijp7bGV0e2J1ZmZlcjpsfT1uZXcgVWludDhBcnJheShuKTtyZXR1cm4gdChuZXcgRGF0YVZpZXcobCksbil9fXJldHVybiB0KG5mdChvLG4pLGkpfSwidW5wYWlyIik7cmV0dXJuIHJ9LCJkZXNlcmlhbGl6ZXIiKSxhSj1zKGE9PkdrYShuZXcgTWFwLGEpKDApLCJkZXNlcmlhbGl6ZSIpfSk7dmFyIFA4LFlrYSxLa2EsY2IsckosWmthLHNKLGNmdD1mKCgpPT57SDNlKCk7UDg9IiIse3RvU3RyaW5nOllrYX09e30se2tleXM6S2thfT1PYmplY3QsY2I9cyhhPT57bGV0IGU9dHlwZW9mIGE7aWYoZSE9PSJvYmplY3QifHwhYSlyZXR1cm5bMCxlXTtsZXQgdD1Za2EuY2FsbChhKS5zbGljZSg4LC0xKTtzd2l0Y2godCl7Y2FzZSJBcnJheSI6cmV0dXJuWzEsUDhdO2Nhc2UiT2JqZWN0IjpyZXR1cm5bMixQOF07Y2FzZSJEYXRlIjpyZXR1cm5bMyxQOF07Y2FzZSJSZWdFeHAiOnJldHVybls0LFA4XTtjYXNlIk1hcCI6cmV0dXJuWzUsUDhdO2Nhc2UiU2V0IjpyZXR1cm5bNixQOF07Y2FzZSJEYXRhVmlldyI6cmV0dXJuWzEsdF19cmV0dXJuIHQuaW5jbHVkZXMoIkFycmF5Iik/WzEsdF06dC5pbmNsdWRlcygiRXJyb3IiKT9bNyx0XTpbMix0XX0sInR5cGVPZiIpLHJKPXMoKFthLGVdKT0+YT09PTAmJihlPT09ImZ1bmN0aW9uInx8ZT09PSJzeW1ib2wiKSwic2hvdWxkU2tpcCIpLFprYT1zKChhLGUsdCxyKT0+e2xldCBpPXMoKG4sbCk9PntsZXQgZD1yLnB1c2gobiktMTtyZXR1cm4gdC5zZXQobCxkKSxkfSwiYXMiKSxvPXMobj0+e2lmKHQuaGFzKG4pKXJldHVybiB0LmdldChuKTtsZXRbbCxkXT1jYihuKTtzd2l0Y2gobCl7Y2FzZSAwOntsZXQgcD1uO3N3aXRjaChkKXtjYXNlImJpZ2ludCI6bD04LHA9bi50b1N0cmluZygpO2JyZWFrO2Nhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjppZihhKXRocm93IG5ldyBUeXBlRXJyb3IoInVuYWJsZSB0byBzZXJpYWxpemUgIitkKTtwPW51bGw7YnJlYWs7Y2FzZSJ1bmRlZmluZWQiOnJldHVybiBpKFstMV0sbil9cmV0dXJuIGkoW2wscF0sbil9Y2FzZSAxOntpZihkKXtsZXQgbT1uO3JldHVybiBkPT09IkRhdGFWaWV3Ij9tPW5ldyBVaW50OEFycmF5KG4uYnVmZmVyKTpkPT09IkFycmF5QnVmZmVyIiYmKG09bmV3IFVpbnQ4QXJyYXkobikpLGkoW2QsWy4uLm1dXSxuKX1sZXQgcD1bXSx1PWkoW2wscF0sbik7Zm9yKGxldCBtIG9mIG4pcC5wdXNoKG8obSkpO3JldHVybiB1fWNhc2UgMjp7aWYoZClzd2l0Y2goZCl7Y2FzZSJCaWdJbnQiOnJldHVybiBpKFtkLG4udG9TdHJpbmcoKV0sbik7Y2FzZSJCb29sZWFuIjpjYXNlIk51bWJlciI6Y2FzZSJTdHJpbmciOnJldHVybiBpKFtkLG4udmFsdWVPZigpXSxuKX1pZihlJiYidG9KU09OImluIG4pcmV0dXJuIG8obi50b0pTT04oKSk7bGV0IHA9W10sdT1pKFtsLHBdLG4pO2ZvcihsZXQgbSBvZiBLa2EobikpKGF8fCFySihjYihuW21dKSkpJiZwLnB1c2goW28obSksbyhuW21dKV0pO3JldHVybiB1fWNhc2UgMzpyZXR1cm4gaShbbCxuLnRvSVNPU3RyaW5nKCldLG4pO2Nhc2UgNDp7bGV0e3NvdXJjZTpwLGZsYWdzOnV9PW47cmV0dXJuIGkoW2wse3NvdXJjZTpwLGZsYWdzOnV9XSxuKX1jYXNlIDU6e2xldCBwPVtdLHU9aShbbCxwXSxuKTtmb3IobGV0W20sdl1vZiBuKShhfHwhKHJKKGNiKG0pKXx8ckooY2IodikpKSkmJnAucHVzaChbbyhtKSxvKHYpXSk7cmV0dXJuIHV9Y2FzZSA2OntsZXQgcD1bXSx1PWkoW2wscF0sbik7Zm9yKGxldCBtIG9mIG4pKGF8fCFySihjYihtKSkpJiZwLnB1c2gobyhtKSk7cmV0dXJuIHV9fWxldHttZXNzYWdlOmN9PW47cmV0dXJuIGkoW2wse25hbWU6ZCxtZXNzYWdlOmN9XSxuKX0sInBhaXIiKTtyZXR1cm4gb30sInNlcmlhbGl6ZXIiKSxzSj1zKChhLHtqc29uOmUsbG9zc3k6dH09e30pPT57bGV0IHI9W107cmV0dXJuIFprYSghKGV8fHQpLCEhZSxuZXcgTWFwLHIpKGEpLHJ9LCJzZXJpYWxpemUiKX0pO3ZhciBHMCxpSj1mKCgpPT57bGZ0KCk7Y2Z0KCk7RzA9dHlwZW9mIHN0cnVjdHVyZWRDbG9uZT09ImZ1bmN0aW9uIj8oYSxlKT0+ZSYmKCJqc29uImluIGV8fCJsb3NzeSJpbiBlKT9hSihzSihhLGUpKTpzdHJ1Y3R1cmVkQ2xvbmUoYSk6KGEsZSk9PmFKKHNKKGEsZSkpfSk7ZnVuY3Rpb24gZGZ0KGEpe3JldHVybiBlO2Z1bmN0aW9uIGUodCl7bGV0IHI9dCYmdC5wb3NpdGlvbiYmdC5wb3NpdGlvblthXXx8e307aWYodHlwZW9mIHIubGluZT09Im51bWJlciImJnIubGluZT4wJiZ0eXBlb2Ygci5jb2x1bW49PSJudW1iZXIiJiZyLmNvbHVtbj4wKXJldHVybntsaW5lOnIubGluZSxjb2x1bW46ci5jb2x1bW4sb2Zmc2V0OnR5cGVvZiByLm9mZnNldD09Im51bWJlciImJnIub2Zmc2V0Pi0xP3Iub2Zmc2V0OnZvaWQgMH19fWZ1bmN0aW9uIGRiKGEpe2xldCBlPW5KKGEpLHQ9b0ooYSk7aWYoZSYmdClyZXR1cm57c3RhcnQ6ZSxlbmQ6dH19dmFyIG9KLG5KLHVmdD1mKCgpPT57b0o9ZGZ0KCJlbmQiKSxuSj1kZnQoInN0YXJ0Iik7cyhkZnQsInBvaW50Iik7cyhkYiwicG9zaXRpb24iKX0pO3ZhciBsSj1mKCgpPT57dWZ0KCl9KTt2YXIgcmQsY0osVTNlPWYoKCk9PntyZD1bImFyaWFEZXNjcmliZWRCeSIsImFyaWFMYWJlbCIsImFyaWFMYWJlbGxlZEJ5Il0sY0o9e2FuY2VzdG9yczp7dGJvZHk6WyJ0YWJsZSJdLHRkOlsidGFibGUiXSx0aDpbInRhYmxlIl0sdGhlYWQ6WyJ0YWJsZSJdLHRmb290OlsidGFibGUiXSx0cjpbInRhYmxlIl19LGF0dHJpYnV0ZXM6e2E6Wy4uLnJkLCJkYXRhRm9vdG5vdGVCYWNrcmVmIiwiZGF0YUZvb3Rub3RlUmVmIixbImNsYXNzTmFtZSIsImRhdGEtZm9vdG5vdGUtYmFja3JlZiJdLCJocmVmIl0sYmxvY2txdW90ZTpbImNpdGUiXSxjb2RlOltbImNsYXNzTmFtZSIsL15sYW5ndWFnZS0uL11dLGRlbDpbImNpdGUiXSxkaXY6WyJpdGVtU2NvcGUiLCJpdGVtVHlwZSJdLGRsOlsuLi5yZF0saDI6W1siY2xhc3NOYW1lIiwic3Itb25seSJdXSxpbWc6Wy4uLnJkLCJsb25nRGVzYyIsInNyYyJdLGlucHV0OltbImRpc2FibGVkIiwhMF0sWyJ0eXBlIiwiY2hlY2tib3giXV0saW5zOlsiY2l0ZSJdLGxpOltbImNsYXNzTmFtZSIsInRhc2stbGlzdC1pdGVtIl1dLG9sOlsuLi5yZCxbImNsYXNzTmFtZSIsImNvbnRhaW5zLXRhc2stbGlzdCJdXSxxOlsiY2l0ZSJdLHNlY3Rpb246WyJkYXRhRm9vdG5vdGVzIixbImNsYXNzTmFtZSIsImZvb3Rub3RlcyJdXSxzb3VyY2U6WyJzcmNTZXQiXSxzdW1tYXJ5OlsuLi5yZF0sdGFibGU6Wy4uLnJkXSx1bDpbLi4ucmQsWyJjbGFzc05hbWUiLCJjb250YWlucy10YXNrLWxpc3QiXV0sIioiOlsiYWJiciIsImFjY2VwdCIsImFjY2VwdENoYXJzZXQiLCJhY2Nlc3NLZXkiLCJhY3Rpb24iLCJhbGlnbiIsImFsdCIsImF4aXMiLCJib3JkZXIiLCJjZWxsUGFkZGluZyIsImNlbGxTcGFjaW5nIiwiY2hhciIsImNoYXJPZmYiLCJjaGFyU2V0IiwiY2hlY2tlZCIsImNsZWFyIiwiY29sU3BhbiIsImNvbG9yIiwiY29scyIsImNvbXBhY3QiLCJjb29yZHMiLCJkYXRlVGltZSIsImRpciIsImVuY1R5cGUiLCJmcmFtZSIsImhTcGFjZSIsImhlYWRlcnMiLCJoZWlnaHQiLCJocmVmTGFuZyIsImh0bWxGb3IiLCJpZCIsImlzTWFwIiwiaXRlbVByb3AiLCJsYWJlbCIsImxhbmciLCJtYXhMZW5ndGgiLCJtZWRpYSIsIm1ldGhvZCIsIm11bHRpcGxlIiwibmFtZSIsIm5vSHJlZiIsIm5vU2hhZGUiLCJub1dyYXAiLCJvcGVuIiwicHJvbXB0IiwicmVhZE9ubHkiLCJyZXYiLCJyb3dTcGFuIiwicm93cyIsInJ1bGVzIiwic2NvcGUiLCJzZWxlY3RlZCIsInNoYXBlIiwic2l6ZSIsInNwYW4iLCJzdGFydCIsInN1bW1hcnkiLCJ0YWJJbmRleCIsInRpdGxlIiwidXNlTWFwIiwidkFsaWduIiwidmFsdWUiLCJ3aWR0aCJdfSxjbG9iYmVyOlsiYXJpYURlc2NyaWJlZEJ5IiwiYXJpYUxhYmVsbGVkQnkiLCJpZCIsIm5hbWUiXSxjbG9iYmVyUHJlZml4OiJ1c2VyLWNvbnRlbnQtIixwcm90b2NvbHM6e2NpdGU6WyJodHRwIiwiaHR0cHMiXSxocmVmOlsiaHR0cCIsImh0dHBzIiwiaXJjIiwiaXJjcyIsIm1haWx0byIsInhtcHAiXSxsb25nRGVzYzpbImh0dHAiLCJodHRwcyJdLHNyYzpbImh0dHAiLCJodHRwcyJdfSxyZXF1aXJlZDp7aW5wdXQ6e2Rpc2FibGVkOiEwLHR5cGU6ImNoZWNrYm94In19LHN0cmlwOlsic2NyaXB0Il0sdGFnTmFtZXM6WyJhIiwiYiIsImJsb2NrcXVvdGUiLCJiciIsImNvZGUiLCJkZCIsImRlbCIsImRldGFpbHMiLCJkaXYiLCJkbCIsImR0IiwiZW0iLCJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiLCJociIsImkiLCJpbWciLCJpbnB1dCIsImlucyIsImtiZCIsImxpIiwib2wiLCJwIiwicGljdHVyZSIsInByZSIsInEiLCJycCIsInJ0IiwicnVieSIsInMiLCJzYW1wIiwic2VjdGlvbiIsInNvdXJjZSIsInNwYW4iLCJzdHJpa2UiLCJzdHJvbmciLCJzdWIiLCJzdW1tYXJ5Iiwic3VwIiwidGFibGUiLCJ0Ym9keSIsInRkIiwidGZvb3QiLCJ0aCIsInRoZWFkIiwidHIiLCJ0dCIsInVsIiwidmFyIl19fSk7ZnVuY3Rpb24gVzNlKGEsZSl7bGV0IHQ9e3R5cGU6InJvb3QiLGNoaWxkcmVuOltdfSxyPXtzY2hlbWE6ZT97Li4uY0osLi4uZX06Y0osc3RhY2s6W119LGk9cGZ0KHIsYSk7cmV0dXJuIGkmJihBcnJheS5pc0FycmF5KGkpP2kubGVuZ3RoPT09MT90PWlbMF06dC5jaGlsZHJlbj1pOnQ9aSksdH1mdW5jdGlvbiBwZnQoYSxlKXtpZihlJiZ0eXBlb2YgZT09Im9iamVjdCIpe2xldCB0PWU7c3dpdGNoKHR5cGVvZiB0LnR5cGU9PSJzdHJpbmciP3QudHlwZToiIil7Y2FzZSJjb21tZW50IjpyZXR1cm4gWGthKGEsdCk7Y2FzZSJkb2N0eXBlIjpyZXR1cm4gUWthKGEsdCk7Y2FzZSJlbGVtZW50IjpyZXR1cm4gSmthKGEsdCk7Y2FzZSJyb290IjpyZXR1cm4gZVNhKGEsdCk7Y2FzZSJ0ZXh0IjpyZXR1cm4gdFNhKGEsdCk7ZGVmYXVsdDp9fX1mdW5jdGlvbiBYa2EoYSxlKXtpZihhLnNjaGVtYS5hbGxvd0NvbW1lbnRzKXtsZXQgdD10eXBlb2YgZS52YWx1ZT09InN0cmluZyI/ZS52YWx1ZToiIixyPXQuaW5kZXhPZigiLS0+Iiksbz17dHlwZToiY29tbWVudCIsdmFsdWU6cjwwP3Q6dC5zbGljZSgwLHIpfTtyZXR1cm4gdWIobyxlKSxvfX1mdW5jdGlvbiBRa2EoYSxlKXtpZihhLnNjaGVtYS5hbGxvd0RvY3R5cGVzKXtsZXQgdD17dHlwZToiZG9jdHlwZSJ9O3JldHVybiB1Yih0LGUpLHR9fWZ1bmN0aW9uIEprYShhLGUpe2xldCB0PXR5cGVvZiBlLnRhZ05hbWU9PSJzdHJpbmciP2UudGFnTmFtZToiIjthLnN0YWNrLnB1c2godCk7bGV0IHI9ZmZ0KGEsZS5jaGlsZHJlbiksaT1hU2EoYSxlLnByb3BlcnRpZXMpO2Euc3RhY2sucG9wKCk7bGV0IG89ITE7aWYodCYmdCE9PSIqIiYmKCFhLnNjaGVtYS50YWdOYW1lc3x8YS5zY2hlbWEudGFnTmFtZXMuaW5jbHVkZXModCkpJiYobz0hMCxhLnNjaGVtYS5hbmNlc3RvcnMmJlkwLmNhbGwoYS5zY2hlbWEuYW5jZXN0b3JzLHQpKSl7bGV0IGw9YS5zY2hlbWEuYW5jZXN0b3JzW3RdLGQ9LTE7Zm9yKG89ITE7KytkPGwubGVuZ3RoOylhLnN0YWNrLmluY2x1ZGVzKGxbZF0pJiYobz0hMCl9aWYoIW8pcmV0dXJuIGEuc2NoZW1hLnN0cmlwJiYhYS5zY2hlbWEuc3RyaXAuaW5jbHVkZXModCk/cjp2b2lkIDA7bGV0IG49e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6dCxwcm9wZXJ0aWVzOmksY2hpbGRyZW46cn07cmV0dXJuIHViKG4sZSksbn1mdW5jdGlvbiBlU2EoYSxlKXtsZXQgcj17dHlwZToicm9vdCIsY2hpbGRyZW46ZmZ0KGEsZS5jaGlsZHJlbil9O3JldHVybiB1YihyLGUpLHJ9ZnVuY3Rpb24gdFNhKGEsZSl7bGV0IHI9e3R5cGU6InRleHQiLHZhbHVlOnR5cGVvZiBlLnZhbHVlPT0ic3RyaW5nIj9lLnZhbHVlOiIifTtyZXR1cm4gdWIocixlKSxyfWZ1bmN0aW9uIGZmdChhLGUpe2xldCB0PVtdO2lmKEFycmF5LmlzQXJyYXkoZSkpe2xldCByPWUsaT0tMTtmb3IoOysraTxyLmxlbmd0aDspe2xldCBvPXBmdChhLHJbaV0pO28mJihBcnJheS5pc0FycmF5KG8pP3QucHVzaCguLi5vKTp0LnB1c2gobykpfX1yZXR1cm4gdH1mdW5jdGlvbiBhU2EoYSxlKXtsZXQgdD1hLnN0YWNrW2Euc3RhY2subGVuZ3RoLTFdLHI9YS5zY2hlbWEuYXR0cmlidXRlcyxpPWEuc2NoZW1hLnJlcXVpcmVkLG89ciYmWTAuY2FsbChyLHQpP3JbdF06dm9pZCAwLG49ciYmWTAuY2FsbChyLCIqIik/clsiKiJdOnZvaWQgMCxsPWUmJnR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9LGQ9e30sYztmb3IoYyBpbiBsKWlmKFkwLmNhbGwobCxjKSl7bGV0IHA9bFtjXSx1PWhmdChhLGdmdChvLGMpLGMscCk7dT09bnVsbCYmKHU9aGZ0KGEsZ2Z0KG4sYyksYyxwKSksdSE9bnVsbCYmKGRbY109dSl9aWYoaSYmWTAuY2FsbChpLHQpKXtsZXQgcD1pW3RdO2ZvcihjIGluIHApWTAuY2FsbChwLGMpJiYhWTAuY2FsbChkLGMpJiYoZFtjXT1wW2NdKX1yZXR1cm4gZH1mdW5jdGlvbiBoZnQoYSxlLHQscil7cmV0dXJuIGU/QXJyYXkuaXNBcnJheShyKT9yU2EoYSxlLHQscik6bWZ0KGEsZSx0LHIpOnZvaWQgMH1mdW5jdGlvbiByU2EoYSxlLHQscil7bGV0IGk9LTEsbz1bXTtmb3IoOysraTxyLmxlbmd0aDspe2xldCBuPW1mdChhLGUsdCxyW2ldKTsodHlwZW9mIG49PSJudW1iZXIifHx0eXBlb2Ygbj09InN0cmluZyIpJiZvLnB1c2gobil9cmV0dXJuIG99ZnVuY3Rpb24gbWZ0KGEsZSx0LHIpe2lmKCEodHlwZW9mIHIhPSJib29sZWFuIiYmdHlwZW9mIHIhPSJudW1iZXIiJiZ0eXBlb2YgciE9InN0cmluZyIpJiZzU2EoYSx0LHIpKXtpZih0eXBlb2YgZT09Im9iamVjdCImJmUubGVuZ3RoPjEpe2xldCBpPSExLG89MDtmb3IoOysrbzxlLmxlbmd0aDspe2xldCBuPWVbb107aWYobiYmdHlwZW9mIG49PSJvYmplY3QiJiYiZmxhZ3MiaW4gbil7aWYobi50ZXN0KFN0cmluZyhyKSkpe2k9ITA7YnJlYWt9fWVsc2UgaWYobj09PXIpe2k9ITA7YnJlYWt9fWlmKCFpKXJldHVybn1yZXR1cm4gYS5zY2hlbWEuY2xvYmJlciYmYS5zY2hlbWEuY2xvYmJlclByZWZpeCYmYS5zY2hlbWEuY2xvYmJlci5pbmNsdWRlcyh0KT9hLnNjaGVtYS5jbG9iYmVyUHJlZml4K3I6cn19ZnVuY3Rpb24gc1NhKGEsZSx0KXtsZXQgcj1hLnNjaGVtYS5wcm90b2NvbHMmJlkwLmNhbGwoYS5zY2hlbWEucHJvdG9jb2xzLGUpP2Euc2NoZW1hLnByb3RvY29sc1tlXTp2b2lkIDA7aWYoIXJ8fHIubGVuZ3RoPT09MClyZXR1cm4hMDtsZXQgaT1TdHJpbmcodCksbz1pLmluZGV4T2YoIjoiKSxuPWkuaW5kZXhPZigiPyIpLGw9aS5pbmRleE9mKCIjIiksZD1pLmluZGV4T2YoIi8iKTtpZihvPDB8fGQ+LTEmJm8+ZHx8bj4tMSYmbz5ufHxsPi0xJiZvPmwpcmV0dXJuITA7bGV0IGM9LTE7Zm9yKDsrK2M8ci5sZW5ndGg7KXtsZXQgcD1yW2NdO2lmKG89PT1wLmxlbmd0aCYmaS5zbGljZSgwLHAubGVuZ3RoKT09PXApcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gdWIoYSxlKXtsZXQgdD1kYihlKTtlLmRhdGEmJihhLmRhdGE9RzAoZS5kYXRhKSksdCYmKGEucG9zaXRpb249dCl9ZnVuY3Rpb24gZ2Z0KGEsZSl7bGV0IHQscj0tMTtpZihhKWZvcig7KytyPGEubGVuZ3RoOyl7bGV0IGk9YVtyXSxvPXR5cGVvZiBpPT0ic3RyaW5nIj9pOmlbMF07aWYobz09PWUpcmV0dXJuIGk7bz09PSJkYXRhKiImJih0PWkpfWlmKGUubGVuZ3RoPjQmJmUuc2xpY2UoMCw0KS50b0xvd2VyQ2FzZSgpPT09ImRhdGEiKXJldHVybiB0fXZhciBZMCxiZnQ9ZigoKT0+e2lKKCk7bEooKTtVM2UoKTtZMD17fS5oYXNPd25Qcm9wZXJ0eTtzKFczZSwic2FuaXRpemUiKTtzKHBmdCwidHJhbnNmb3JtIik7cyhYa2EsImNvbW1lbnQiKTtzKFFrYSwiZG9jdHlwZSIpO3MoSmthLCJlbGVtZW50Iik7cyhlU2EsInJvb3QiKTtzKHRTYSwidGV4dCIpO3MoZmZ0LCJjaGlsZHJlbiIpO3MoYVNhLCJwcm9wZXJ0aWVzIik7cyhoZnQsInByb3BlcnR5VmFsdWUiKTtzKHJTYSwicHJvcGVydHlWYWx1ZU1hbnkiKTtzKG1mdCwicHJvcGVydHlWYWx1ZVByaW1pdGl2ZSIpO3Moc1NhLCJzYWZlUHJvdG9jb2wiKTtzKHViLCJwYXRjaCIpO3MoZ2Z0LCJmaW5kRGVmaW5pdGlvbiIpfSk7dmFyIHZmdD1mKCgpPT57YmZ0KCk7VTNlKCl9KTtmdW5jdGlvbiB4ZnQoYSxlKXtsZXQgdD17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiYmxvY2txdW90ZSIscHJvcGVydGllczp7fSxjaGlsZHJlbjphLndyYXAoYS5hbGwoZSksITApfTtyZXR1cm4gYS5wYXRjaChlLHQpLGEuYXBwbHlEYXRhKGUsdCl9dmFyIHlmdD1mKCgpPT57cyh4ZnQsImJsb2NrcXVvdGUiKX0pO2Z1bmN0aW9uIHdmdChhLGUpe2xldCB0PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJiciIscHJvcGVydGllczp7fSxjaGlsZHJlbjpbXX07cmV0dXJuIGEucGF0Y2goZSx0KSxbYS5hcHBseURhdGEoZSx0KSx7dHlwZToidGV4dCIsdmFsdWU6YApgfV19dmFyIE1mdD1mKCgpPT57cyh3ZnQsImhhcmRCcmVhayIpfSk7ZnVuY3Rpb24ga2Z0KGEsZSl7bGV0IHQ9ZS52YWx1ZT9lLnZhbHVlK2AKYDoiIixyPXt9LGk9ZS5sYW5nP2UubGFuZy5zcGxpdCgvXHMrLyk6W107aS5sZW5ndGg+MCYmKHIuY2xhc3NOYW1lPVsibGFuZ3VhZ2UtIitpWzBdXSk7bGV0IG89e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImNvZGUiLHByb3BlcnRpZXM6cixjaGlsZHJlbjpbe3R5cGU6InRleHQiLHZhbHVlOnR9XX07cmV0dXJuIGUubWV0YSYmKG8uZGF0YT17bWV0YTplLm1ldGF9KSxhLnBhdGNoKGUsbyksbz1hLmFwcGx5RGF0YShlLG8pLG89e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InByZSIscHJvcGVydGllczp7fSxjaGlsZHJlbjpbb119LGEucGF0Y2goZSxvKSxvfXZhciBTZnQ9ZigoKT0+e3Moa2Z0LCJjb2RlIil9KTtmdW5jdGlvbiB6ZnQoYSxlKXtsZXQgdD17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiZGVsIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEuYWxsKGUpfTtyZXR1cm4gYS5wYXRjaChlLHQpLGEuYXBwbHlEYXRhKGUsdCl9dmFyIENmdD1mKCgpPT57cyh6ZnQsInN0cmlrZXRocm91Z2giKX0pO2Z1bmN0aW9uIF9mdChhLGUpe2xldCB0PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJlbSIscHJvcGVydGllczp7fSxjaGlsZHJlbjphLmFsbChlKX07cmV0dXJuIGEucGF0Y2goZSx0KSxhLmFwcGx5RGF0YShlLHQpfXZhciBUZnQ9ZigoKT0+e3MoX2Z0LCJlbXBoYXNpcyIpfSk7ZnVuY3Rpb24gTGZ0KGEsZSl7bGV0IHQ9dHlwZW9mIGEub3B0aW9ucy5jbG9iYmVyUHJlZml4PT0ic3RyaW5nIj9hLm9wdGlvbnMuY2xvYmJlclByZWZpeDoidXNlci1jb250ZW50LSIscj1TdHJpbmcoZS5pZGVudGlmaWVyKS50b1VwcGVyQ2FzZSgpLGk9WW8oci50b0xvd2VyQ2FzZSgpKSxvPWEuZm9vdG5vdGVPcmRlci5pbmRleE9mKHIpLG4sbD1hLmZvb3Rub3RlQ291bnRzLmdldChyKTtsPT09dm9pZCAwPyhsPTAsYS5mb290bm90ZU9yZGVyLnB1c2gociksbj1hLmZvb3Rub3RlT3JkZXIubGVuZ3RoKTpuPW8rMSxsKz0xLGEuZm9vdG5vdGVDb3VudHMuc2V0KHIsbCk7bGV0IGQ9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImEiLHByb3BlcnRpZXM6e2hyZWY6IiMiK3QrImZuLSIraSxpZDp0KyJmbnJlZi0iK2krKGw+MT8iLSIrbDoiIiksZGF0YUZvb3Rub3RlUmVmOiEwLGFyaWFEZXNjcmliZWRCeTpbImZvb3Rub3RlLWxhYmVsIl19LGNoaWxkcmVuOlt7dHlwZToidGV4dCIsdmFsdWU6U3RyaW5nKG4pfV19O2EucGF0Y2goZSxkKTtsZXQgYz17dHlwZToiZWxlbWVudCIsdGFnTmFtZToic3VwIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOltkXX07cmV0dXJuIGEucGF0Y2goZSxjKSxhLmFwcGx5RGF0YShlLGMpfXZhciAkZnQ9ZigoKT0+e08yKCk7cyhMZnQsImZvb3Rub3RlUmVmZXJlbmNlIil9KTtmdW5jdGlvbiBEZnQoYSxlKXtsZXQgdD17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiaCIrZS5kZXB0aCxwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEuYWxsKGUpfTtyZXR1cm4gYS5wYXRjaChlLHQpLGEuYXBwbHlEYXRhKGUsdCl9dmFyIEFmdD1mKCgpPT57cyhEZnQsImhlYWRpbmciKX0pO2Z1bmN0aW9uIEVmdChhLGUpe2lmKGEub3B0aW9ucy5hbGxvd0Rhbmdlcm91c0h0bWwpe2xldCB0PXt0eXBlOiJyYXciLHZhbHVlOmUudmFsdWV9O3JldHVybiBhLnBhdGNoKGUsdCksYS5hcHBseURhdGEoZSx0KX19dmFyIFBmdD1mKCgpPT57cyhFZnQsImh0bWwiKX0pO2Z1bmN0aW9uIGRKKGEsZSl7bGV0IHQ9ZS5yZWZlcmVuY2VUeXBlLHI9Il0iO2lmKHQ9PT0iY29sbGFwc2VkIj9yKz0iW10iOnQ9PT0iZnVsbCImJihyKz0iWyIrKGUubGFiZWx8fGUuaWRlbnRpZmllcikrIl0iKSxlLnR5cGU9PT0iaW1hZ2VSZWZlcmVuY2UiKXJldHVyblt7dHlwZToidGV4dCIsdmFsdWU6IiFbIitlLmFsdCtyfV07bGV0IGk9YS5hbGwoZSksbz1pWzBdO28mJm8udHlwZT09PSJ0ZXh0Ij9vLnZhbHVlPSJbIitvLnZhbHVlOmkudW5zaGlmdCh7dHlwZToidGV4dCIsdmFsdWU6IlsifSk7bGV0IG49aVtpLmxlbmd0aC0xXTtyZXR1cm4gbiYmbi50eXBlPT09InRleHQiP24udmFsdWUrPXI6aS5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpyfSksaX12YXIgRzNlPWYoKCk9PntzKGRKLCJyZXZlcnQiKX0pO2Z1bmN0aW9uIElmdChhLGUpe2xldCB0PVN0cmluZyhlLmlkZW50aWZpZXIpLnRvVXBwZXJDYXNlKCkscj1hLmRlZmluaXRpb25CeUlkLmdldCh0KTtpZighcilyZXR1cm4gZEooYSxlKTtsZXQgaT17c3JjOllvKHIudXJsfHwiIiksYWx0OmUuYWx0fTtyLnRpdGxlIT09bnVsbCYmci50aXRsZSE9PXZvaWQgMCYmKGkudGl0bGU9ci50aXRsZSk7bGV0IG89e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImltZyIscHJvcGVydGllczppLGNoaWxkcmVuOltdfTtyZXR1cm4gYS5wYXRjaChlLG8pLGEuYXBwbHlEYXRhKGUsbyl9dmFyIE5mdD1mKCgpPT57TzIoKTtHM2UoKTtzKElmdCwiaW1hZ2VSZWZlcmVuY2UiKX0pO2Z1bmN0aW9uIFJmdChhLGUpe2xldCB0PXtzcmM6WW8oZS51cmwpfTtlLmFsdCE9PW51bGwmJmUuYWx0IT09dm9pZCAwJiYodC5hbHQ9ZS5hbHQpLGUudGl0bGUhPT1udWxsJiZlLnRpdGxlIT09dm9pZCAwJiYodC50aXRsZT1lLnRpdGxlKTtsZXQgcj17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiaW1nIixwcm9wZXJ0aWVzOnQsY2hpbGRyZW46W119O3JldHVybiBhLnBhdGNoKGUsciksYS5hcHBseURhdGEoZSxyKX12YXIgT2Z0PWYoKCk9PntPMigpO3MoUmZ0LCJpbWFnZSIpfSk7ZnVuY3Rpb24gRmZ0KGEsZSl7bGV0IHQ9e3R5cGU6InRleHQiLHZhbHVlOmUudmFsdWUucmVwbGFjZSgvXHI/XG58XHIvZywiICIpfTthLnBhdGNoKGUsdCk7bGV0IHI9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImNvZGUiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46W3RdfTtyZXR1cm4gYS5wYXRjaChlLHIpLGEuYXBwbHlEYXRhKGUscil9dmFyIEJmdD1mKCgpPT57cyhGZnQsImlubGluZUNvZGUiKX0pO2Z1bmN0aW9uIEhmdChhLGUpe2xldCB0PVN0cmluZyhlLmlkZW50aWZpZXIpLnRvVXBwZXJDYXNlKCkscj1hLmRlZmluaXRpb25CeUlkLmdldCh0KTtpZighcilyZXR1cm4gZEooYSxlKTtsZXQgaT17aHJlZjpZbyhyLnVybHx8IiIpfTtyLnRpdGxlIT09bnVsbCYmci50aXRsZSE9PXZvaWQgMCYmKGkudGl0bGU9ci50aXRsZSk7bGV0IG89e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImEiLHByb3BlcnRpZXM6aSxjaGlsZHJlbjphLmFsbChlKX07cmV0dXJuIGEucGF0Y2goZSxvKSxhLmFwcGx5RGF0YShlLG8pfXZhciBxZnQ9ZigoKT0+e08yKCk7RzNlKCk7cyhIZnQsImxpbmtSZWZlcmVuY2UiKX0pO2Z1bmN0aW9uIFZmdChhLGUpe2xldCB0PXtocmVmOllvKGUudXJsKX07ZS50aXRsZSE9PW51bGwmJmUudGl0bGUhPT12b2lkIDAmJih0LnRpdGxlPWUudGl0bGUpO2xldCByPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJhIixwcm9wZXJ0aWVzOnQsY2hpbGRyZW46YS5hbGwoZSl9O3JldHVybiBhLnBhdGNoKGUsciksYS5hcHBseURhdGEoZSxyKX12YXIgamZ0PWYoKCk9PntPMigpO3MoVmZ0LCJsaW5rIil9KTtmdW5jdGlvbiBXZnQoYSxlLHQpe2xldCByPWEuYWxsKGUpLGk9dD9pU2EodCk6VWZ0KGUpLG89e30sbj1bXTtpZih0eXBlb2YgZS5jaGVja2VkPT0iYm9vbGVhbiIpe2xldCBwPXJbMF0sdTtwJiZwLnR5cGU9PT0iZWxlbWVudCImJnAudGFnTmFtZT09PSJwIj91PXA6KHU9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InAiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46W119LHIudW5zaGlmdCh1KSksdS5jaGlsZHJlbi5sZW5ndGg+MCYmdS5jaGlsZHJlbi51bnNoaWZ0KHt0eXBlOiJ0ZXh0Iix2YWx1ZToiICJ9KSx1LmNoaWxkcmVuLnVuc2hpZnQoe3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImlucHV0Iixwcm9wZXJ0aWVzOnt0eXBlOiJjaGVja2JveCIsY2hlY2tlZDplLmNoZWNrZWQsZGlzYWJsZWQ6ITB9LGNoaWxkcmVuOltdfSksby5jbGFzc05hbWU9WyJ0YXNrLWxpc3QtaXRlbSJdfWxldCBsPS0xO2Zvcig7KytsPHIubGVuZ3RoOyl7bGV0IHA9cltsXTsoaXx8bCE9PTB8fHAudHlwZSE9PSJlbGVtZW50Inx8cC50YWdOYW1lIT09InAiKSYmbi5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpgCmB9KSxwLnR5cGU9PT0iZWxlbWVudCImJnAudGFnTmFtZT09PSJwIiYmIWk/bi5wdXNoKC4uLnAuY2hpbGRyZW4pOm4ucHVzaChwKX1sZXQgZD1yW3IubGVuZ3RoLTFdO2QmJihpfHxkLnR5cGUhPT0iZWxlbWVudCJ8fGQudGFnTmFtZSE9PSJwIikmJm4ucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6YApgfSk7bGV0IGM9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImxpIixwcm9wZXJ0aWVzOm8sY2hpbGRyZW46bn07cmV0dXJuIGEucGF0Y2goZSxjKSxhLmFwcGx5RGF0YShlLGMpfWZ1bmN0aW9uIGlTYShhKXtsZXQgZT0hMTtpZihhLnR5cGU9PT0ibGlzdCIpe2U9YS5zcHJlYWR8fCExO2xldCB0PWEuY2hpbGRyZW4scj0tMTtmb3IoOyFlJiYrK3I8dC5sZW5ndGg7KWU9VWZ0KHRbcl0pfXJldHVybiBlfWZ1bmN0aW9uIFVmdChhKXtsZXQgZT1hLnNwcmVhZDtyZXR1cm4gZT8/YS5jaGlsZHJlbi5sZW5ndGg+MX12YXIgR2Z0PWYoKCk9PntzKFdmdCwibGlzdEl0ZW0iKTtzKGlTYSwibGlzdExvb3NlIik7cyhVZnQsImxpc3RJdGVtTG9vc2UiKX0pO2Z1bmN0aW9uIFlmdChhLGUpe2xldCB0PXt9LHI9YS5hbGwoZSksaT0tMTtmb3IodHlwZW9mIGUuc3RhcnQ9PSJudW1iZXIiJiZlLnN0YXJ0IT09MSYmKHQuc3RhcnQ9ZS5zdGFydCk7KytpPHIubGVuZ3RoOyl7bGV0IG49cltpXTtpZihuLnR5cGU9PT0iZWxlbWVudCImJm4udGFnTmFtZT09PSJsaSImJm4ucHJvcGVydGllcyYmQXJyYXkuaXNBcnJheShuLnByb3BlcnRpZXMuY2xhc3NOYW1lKSYmbi5wcm9wZXJ0aWVzLmNsYXNzTmFtZS5pbmNsdWRlcygidGFzay1saXN0LWl0ZW0iKSl7dC5jbGFzc05hbWU9WyJjb250YWlucy10YXNrLWxpc3QiXTticmVha319bGV0IG89e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ZS5vcmRlcmVkPyJvbCI6InVsIixwcm9wZXJ0aWVzOnQsY2hpbGRyZW46YS53cmFwKHIsITApfTtyZXR1cm4gYS5wYXRjaChlLG8pLGEuYXBwbHlEYXRhKGUsbyl9dmFyIEtmdD1mKCgpPT57cyhZZnQsImxpc3QiKX0pO2Z1bmN0aW9uIFpmdChhLGUpe2xldCB0PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJwIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEuYWxsKGUpfTtyZXR1cm4gYS5wYXRjaChlLHQpLGEuYXBwbHlEYXRhKGUsdCl9dmFyIFhmdD1mKCgpPT57cyhaZnQsInBhcmFncmFwaCIpfSk7ZnVuY3Rpb24gUWZ0KGEsZSl7bGV0IHQ9e3R5cGU6InJvb3QiLGNoaWxkcmVuOmEud3JhcChhLmFsbChlKSl9O3JldHVybiBhLnBhdGNoKGUsdCksYS5hcHBseURhdGEoZSx0KX12YXIgSmZ0PWYoKCk9PntzKFFmdCwicm9vdCIpfSk7ZnVuY3Rpb24gZTV0KGEsZSl7bGV0IHQ9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InN0cm9uZyIscHJvcGVydGllczp7fSxjaGlsZHJlbjphLmFsbChlKX07cmV0dXJuIGEucGF0Y2goZSx0KSxhLmFwcGx5RGF0YShlLHQpfXZhciB0NXQ9ZigoKT0+e3MoZTV0LCJzdHJvbmciKX0pO2Z1bmN0aW9uIGE1dChhLGUpe2xldCB0PWEuYWxsKGUpLHI9dC5zaGlmdCgpLGk9W107aWYocil7bGV0IG49e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InRoZWFkIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEud3JhcChbcl0sITApfTthLnBhdGNoKGUuY2hpbGRyZW5bMF0sbiksaS5wdXNoKG4pfWlmKHQubGVuZ3RoPjApe2xldCBuPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJ0Ym9keSIscHJvcGVydGllczp7fSxjaGlsZHJlbjphLndyYXAodCwhMCl9LGw9bkooZS5jaGlsZHJlblsxXSksZD1vSihlLmNoaWxkcmVuW2UuY2hpbGRyZW4ubGVuZ3RoLTFdKTtsJiZkJiYobi5wb3NpdGlvbj17c3RhcnQ6bCxlbmQ6ZH0pLGkucHVzaChuKX1sZXQgbz17dHlwZToiZWxlbWVudCIsdGFnTmFtZToidGFibGUiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46YS53cmFwKGksITApfTtyZXR1cm4gYS5wYXRjaChlLG8pLGEuYXBwbHlEYXRhKGUsbyl9dmFyIHI1dD1mKCgpPT57bEooKTtzKGE1dCwidGFibGUiKX0pO2Z1bmN0aW9uIHM1dChhLGUsdCl7bGV0IHI9dD90LmNoaWxkcmVuOnZvaWQgMCxvPShyP3IuaW5kZXhPZihlKToxKT09PTA/InRoIjoidGQiLG49dCYmdC50eXBlPT09InRhYmxlIj90LmFsaWduOnZvaWQgMCxsPW4/bi5sZW5ndGg6ZS5jaGlsZHJlbi5sZW5ndGgsZD0tMSxjPVtdO2Zvcig7KytkPGw7KXtsZXQgdT1lLmNoaWxkcmVuW2RdLG09e30sdj1uP25bZF06dm9pZCAwO3YmJihtLmFsaWduPXYpO2xldCB4PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOm8scHJvcGVydGllczptLGNoaWxkcmVuOltdfTt1JiYoeC5jaGlsZHJlbj1hLmFsbCh1KSxhLnBhdGNoKHUseCkseD1hLmFwcGx5RGF0YSh1LHgpKSxjLnB1c2goeCl9bGV0IHA9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InRyIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEud3JhcChjLCEwKX07cmV0dXJuIGEucGF0Y2goZSxwKSxhLmFwcGx5RGF0YShlLHApfXZhciBpNXQ9ZigoKT0+e3MoczV0LCJ0YWJsZVJvdyIpfSk7ZnVuY3Rpb24gbzV0KGEsZSl7bGV0IHQ9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InRkIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEuYWxsKGUpfTtyZXR1cm4gYS5wYXRjaChlLHQpLGEuYXBwbHlEYXRhKGUsdCl9dmFyIG41dD1mKCgpPT57cyhvNXQsInRhYmxlQ2VsbCIpfSk7ZnVuY3Rpb24gYzV0KGEpe2xldCBlPVN0cmluZyhhKSx0PS9ccj9cbnxcci9nLHI9dC5leGVjKGUpLGk9MCxvPVtdO2Zvcig7cjspby5wdXNoKGw1dChlLnNsaWNlKGksci5pbmRleCksaT4wLCEwKSxyWzBdKSxpPXIuaW5kZXgrclswXS5sZW5ndGgscj10LmV4ZWMoZSk7cmV0dXJuIG8ucHVzaChsNXQoZS5zbGljZShpKSxpPjAsITEpKSxvLmpvaW4oIiIpfWZ1bmN0aW9uIGw1dChhLGUsdCl7bGV0IHI9MCxpPWEubGVuZ3RoO2lmKGUpe2xldCBvPWEuY29kZVBvaW50QXQocik7Zm9yKDtvPT09OXx8bz09PTMyOylyKyssbz1hLmNvZGVQb2ludEF0KHIpfWlmKHQpe2xldCBvPWEuY29kZVBvaW50QXQoaS0xKTtmb3IoO289PT05fHxvPT09MzI7KWktLSxvPWEuY29kZVBvaW50QXQoaS0xKX1yZXR1cm4gaT5yP2Euc2xpY2UocixpKToiIn12YXIgUVFyLEpRcixkNXQ9ZigoKT0+e1FRcj05LEpRcj0zMjtzKGM1dCwidHJpbUxpbmVzIik7cyhsNXQsInRyaW1MaW5lIil9KTtmdW5jdGlvbiB1NXQoYSxlKXtsZXQgdD17dHlwZToidGV4dCIsdmFsdWU6YzV0KFN0cmluZyhlLnZhbHVlKSl9O3JldHVybiBhLnBhdGNoKGUsdCksYS5hcHBseURhdGEoZSx0KX12YXIgcDV0PWYoKCk9PntkNXQoKTtzKHU1dCwidGV4dCIpfSk7ZnVuY3Rpb24gZjV0KGEsZSl7bGV0IHQ9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImhyIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOltdfTtyZXR1cm4gYS5wYXRjaChlLHQpLGEuYXBwbHlEYXRhKGUsdCl9dmFyIGg1dD1mKCgpPT57cyhmNXQsInRoZW1hdGljQnJlYWsiKX0pO2Z1bmN0aW9uIHVKKCl7fXZhciBZM2UsSzNlPWYoKCk9Pnt5ZnQoKTtNZnQoKTtTZnQoKTtDZnQoKTtUZnQoKTskZnQoKTtBZnQoKTtQZnQoKTtOZnQoKTtPZnQoKTtCZnQoKTtxZnQoKTtqZnQoKTtHZnQoKTtLZnQoKTtYZnQoKTtKZnQoKTt0NXQoKTtyNXQoKTtpNXQoKTtuNXQoKTtwNXQoKTtoNXQoKTtZM2U9e2Jsb2NrcXVvdGU6eGZ0LGJyZWFrOndmdCxjb2RlOmtmdCxkZWxldGU6emZ0LGVtcGhhc2lzOl9mdCxmb290bm90ZVJlZmVyZW5jZTpMZnQsaGVhZGluZzpEZnQsaHRtbDpFZnQsaW1hZ2VSZWZlcmVuY2U6SWZ0LGltYWdlOlJmdCxpbmxpbmVDb2RlOkZmdCxsaW5rUmVmZXJlbmNlOkhmdCxsaW5rOlZmdCxsaXN0SXRlbTpXZnQsbGlzdDpZZnQscGFyYWdyYXBoOlpmdCxyb290OlFmdCxzdHJvbmc6ZTV0LHRhYmxlOmE1dCx0YWJsZUNlbGw6bzV0LHRhYmxlUm93OnM1dCx0ZXh0OnU1dCx0aGVtYXRpY0JyZWFrOmY1dCx0b21sOnVKLHlhbWw6dUosZGVmaW5pdGlvbjp1Sixmb290bm90ZURlZmluaXRpb246dUp9O3ModUosImlnbm9yZSIpfSk7ZnVuY3Rpb24gbTV0KGEsZSl7bGV0IHQ9W3t0eXBlOiJ0ZXh0Iix2YWx1ZToiXHUyMUE5In1dO3JldHVybiBlPjEmJnQucHVzaCh7dHlwZToiZWxlbWVudCIsdGFnTmFtZToic3VwIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOlt7dHlwZToidGV4dCIsdmFsdWU6U3RyaW5nKGUpfV19KSx0fWZ1bmN0aW9uIGc1dChhLGUpe3JldHVybiJCYWNrIHRvIHJlZmVyZW5jZSAiKyhhKzEpKyhlPjE/Ii0iK2U6IiIpfWZ1bmN0aW9uIGI1dChhKXtsZXQgZT10eXBlb2YgYS5vcHRpb25zLmNsb2JiZXJQcmVmaXg9PSJzdHJpbmciP2Eub3B0aW9ucy5jbG9iYmVyUHJlZml4OiJ1c2VyLWNvbnRlbnQtIix0PWEub3B0aW9ucy5mb290bm90ZUJhY2tDb250ZW50fHxtNXQscj1hLm9wdGlvbnMuZm9vdG5vdGVCYWNrTGFiZWx8fGc1dCxpPWEub3B0aW9ucy5mb290bm90ZUxhYmVsfHwiRm9vdG5vdGVzIixvPWEub3B0aW9ucy5mb290bm90ZUxhYmVsVGFnTmFtZXx8ImgyIixuPWEub3B0aW9ucy5mb290bm90ZUxhYmVsUHJvcGVydGllc3x8e2NsYXNzTmFtZTpbInNyLW9ubHkiXX0sbD1bXSxkPS0xO2Zvcig7KytkPGEuZm9vdG5vdGVPcmRlci5sZW5ndGg7KXtsZXQgYz1hLmZvb3Rub3RlQnlJZC5nZXQoYS5mb290bm90ZU9yZGVyW2RdKTtpZighYyljb250aW51ZTtsZXQgcD1hLmFsbChjKSx1PVN0cmluZyhjLmlkZW50aWZpZXIpLnRvVXBwZXJDYXNlKCksbT1Zbyh1LnRvTG93ZXJDYXNlKCkpLHY9MCx4PVtdLGI9YS5mb290bm90ZUNvdW50cy5nZXQodSk7Zm9yKDtiIT09dm9pZCAwJiYrK3Y8PWI7KXt4Lmxlbmd0aD4wJiZ4LnB1c2goe3R5cGU6InRleHQiLHZhbHVlOiIgIn0pO2xldCBrPXR5cGVvZiB0PT0ic3RyaW5nIj90OnQoZCx2KTt0eXBlb2Ygaz09InN0cmluZyImJihrPXt0eXBlOiJ0ZXh0Iix2YWx1ZTprfSkseC5wdXNoKHt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJhIixwcm9wZXJ0aWVzOntocmVmOiIjIitlKyJmbnJlZi0iK20rKHY+MT8iLSIrdjoiIiksZGF0YUZvb3Rub3RlQmFja3JlZjoiIixhcmlhTGFiZWw6dHlwZW9mIHI9PSJzdHJpbmciP3I6cihkLHYpLGNsYXNzTmFtZTpbImRhdGEtZm9vdG5vdGUtYmFja3JlZiJdfSxjaGlsZHJlbjpBcnJheS5pc0FycmF5KGspP2s6W2tdfSl9bGV0IGc9cFtwLmxlbmd0aC0xXTtpZihnJiZnLnR5cGU9PT0iZWxlbWVudCImJmcudGFnTmFtZT09PSJwIil7bGV0IGs9Zy5jaGlsZHJlbltnLmNoaWxkcmVuLmxlbmd0aC0xXTtrJiZrLnR5cGU9PT0idGV4dCI/ay52YWx1ZSs9IiAiOmcuY2hpbGRyZW4ucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6IiAifSksZy5jaGlsZHJlbi5wdXNoKC4uLngpfWVsc2UgcC5wdXNoKC4uLngpO2xldCB5PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJsaSIscHJvcGVydGllczp7aWQ6ZSsiZm4tIittfSxjaGlsZHJlbjphLndyYXAocCwhMCl9O2EucGF0Y2goYyx5KSxsLnB1c2goeSl9aWYobC5sZW5ndGghPT0wKXJldHVybnt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJzZWN0aW9uIixwcm9wZXJ0aWVzOntkYXRhRm9vdG5vdGVzOiEwLGNsYXNzTmFtZTpbImZvb3Rub3RlcyJdfSxjaGlsZHJlbjpbe3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6byxwcm9wZXJ0aWVzOnsuLi5HMChuKSxpZDoiZm9vdG5vdGUtbGFiZWwifSxjaGlsZHJlbjpbe3R5cGU6InRleHQiLHZhbHVlOml9XX0se3R5cGU6InRleHQiLHZhbHVlOmAKYH0se3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6Im9sIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEud3JhcChsLCEwKX0se3R5cGU6InRleHQiLHZhbHVlOmAKYH1dfX12YXIgWjNlPWYoKCk9PntpSigpO08yKCk7cyhtNXQsImRlZmF1bHRGb290bm90ZUJhY2tDb250ZW50Iik7cyhnNXQsImRlZmF1bHRGb290bm90ZUJhY2tMYWJlbCIpO3MoYjV0LCJmb290ZXIiKX0pO2Z1bmN0aW9uIHg1dChhLGUpe2xldCB0PWV8fG9TYSxyPW5ldyBNYXAsaT1uZXcgTWFwLG89bmV3IE1hcCxuPXsuLi5ZM2UsLi4udC5oYW5kbGVyc30sbD17YWxsOmMsYXBwbHlEYXRhOmxTYSxkZWZpbml0aW9uQnlJZDpyLGZvb3Rub3RlQnlJZDppLGZvb3Rub3RlQ291bnRzOm8sZm9vdG5vdGVPcmRlcjpbXSxoYW5kbGVyczpuLG9uZTpkLG9wdGlvbnM6dCxwYXRjaDpuU2Esd3JhcDpkU2F9O3JldHVybiBLZyhhLGZ1bmN0aW9uKHApe2lmKHAudHlwZT09PSJkZWZpbml0aW9uInx8cC50eXBlPT09ImZvb3Rub3RlRGVmaW5pdGlvbiIpe2xldCB1PXAudHlwZT09PSJkZWZpbml0aW9uIj9yOmksbT1TdHJpbmcocC5pZGVudGlmaWVyKS50b1VwcGVyQ2FzZSgpO3UuaGFzKG0pfHx1LnNldChtLHApfX0pLGw7ZnVuY3Rpb24gZChwLHUpe2xldCBtPXAudHlwZSx2PWwuaGFuZGxlcnNbbV07aWYoWDNlLmNhbGwobC5oYW5kbGVycyxtKSYmdilyZXR1cm4gdihsLHAsdSk7aWYobC5vcHRpb25zLnBhc3NUaHJvdWdoJiZsLm9wdGlvbnMucGFzc1Rocm91Z2guaW5jbHVkZXMobSkpe2lmKCJjaGlsZHJlbiJpbiBwKXtsZXR7Y2hpbGRyZW46YiwuLi5nfT1wLHk9RzAoZyk7cmV0dXJuIHkuY2hpbGRyZW49bC5hbGwocCkseX1yZXR1cm4gRzAocCl9cmV0dXJuKGwub3B0aW9ucy51bmtub3duSGFuZGxlcnx8Y1NhKShsLHAsdSl9cyhkLCJvbmUiKTtmdW5jdGlvbiBjKHApe2xldCB1PVtdO2lmKCJjaGlsZHJlbiJpbiBwKXtsZXQgbT1wLmNoaWxkcmVuLHY9LTE7Zm9yKDsrK3Y8bS5sZW5ndGg7KXtsZXQgeD1sLm9uZShtW3ZdLHApO2lmKHgpe2lmKHYmJm1bdi0xXS50eXBlPT09ImJyZWFrIiYmKCFBcnJheS5pc0FycmF5KHgpJiZ4LnR5cGU9PT0idGV4dCImJih4LnZhbHVlPXY1dCh4LnZhbHVlKSksIUFycmF5LmlzQXJyYXkoeCkmJngudHlwZT09PSJlbGVtZW50Iikpe2xldCBiPXguY2hpbGRyZW5bMF07YiYmYi50eXBlPT09InRleHQiJiYoYi52YWx1ZT12NXQoYi52YWx1ZSkpfUFycmF5LmlzQXJyYXkoeCk/dS5wdXNoKC4uLngpOnUucHVzaCh4KX19fXJldHVybiB1fXMoYywiYWxsIil9ZnVuY3Rpb24gblNhKGEsZSl7YS5wb3NpdGlvbiYmKGUucG9zaXRpb249ZGIoYSkpfWZ1bmN0aW9uIGxTYShhLGUpe2xldCB0PWU7aWYoYSYmYS5kYXRhKXtsZXQgcj1hLmRhdGEuaE5hbWUsaT1hLmRhdGEuaENoaWxkcmVuLG89YS5kYXRhLmhQcm9wZXJ0aWVzO2lmKHR5cGVvZiByPT0ic3RyaW5nIilpZih0LnR5cGU9PT0iZWxlbWVudCIpdC50YWdOYW1lPXI7ZWxzZXtsZXQgbj0iY2hpbGRyZW4iaW4gdD90LmNoaWxkcmVuOlt0XTt0PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOnIscHJvcGVydGllczp7fSxjaGlsZHJlbjpufX10LnR5cGU9PT0iZWxlbWVudCImJm8mJk9iamVjdC5hc3NpZ24odC5wcm9wZXJ0aWVzLEcwKG8pKSwiY2hpbGRyZW4iaW4gdCYmdC5jaGlsZHJlbiYmaSE9PW51bGwmJmkhPT12b2lkIDAmJih0LmNoaWxkcmVuPWkpfXJldHVybiB0fWZ1bmN0aW9uIGNTYShhLGUpe2xldCB0PWUuZGF0YXx8e30scj0idmFsdWUiaW4gZSYmIShYM2UuY2FsbCh0LCJoUHJvcGVydGllcyIpfHxYM2UuY2FsbCh0LCJoQ2hpbGRyZW4iKSk/e3R5cGU6InRleHQiLHZhbHVlOmUudmFsdWV9Ont0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJkaXYiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46YS5hbGwoZSl9O3JldHVybiBhLnBhdGNoKGUsciksYS5hcHBseURhdGEoZSxyKX1mdW5jdGlvbiBkU2EoYSxlKXtsZXQgdD1bXSxyPS0xO2ZvcihlJiZ0LnB1c2goe3R5cGU6InRleHQiLHZhbHVlOmAKYH0pOysrcjxhLmxlbmd0aDspciYmdC5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpgCmB9KSx0LnB1c2goYVtyXSk7cmV0dXJuIGUmJmEubGVuZ3RoPjAmJnQucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6YApgfSksdH1mdW5jdGlvbiB2NXQoYSl7bGV0IGU9MCx0PWEuY2hhckNvZGVBdChlKTtmb3IoO3Q9PT05fHx0PT09MzI7KWUrKyx0PWEuY2hhckNvZGVBdChlKTtyZXR1cm4gYS5zbGljZShlKX12YXIgWDNlLG9TYSx5NXQ9ZigoKT0+e2lKKCk7TTRlKCk7bEooKTtLM2UoKTtYM2U9e30uaGFzT3duUHJvcGVydHksb1NhPXt9O3MoeDV0LCJjcmVhdGVTdGF0ZSIpO3MoblNhLCJwYXRjaCIpO3MobFNhLCJhcHBseURhdGEiKTtzKGNTYSwiZGVmYXVsdFVua25vd25IYW5kbGVyIik7cyhkU2EsIndyYXAiKTtzKHY1dCwidHJpbU1hcmtkb3duU3BhY2VTdGFydCIpfSk7ZnVuY3Rpb24gUTNlKGEsZSl7bGV0IHQ9eDV0KGEsZSkscj10Lm9uZShhLHZvaWQgMCksaT1iNXQodCksbz1BcnJheS5pc0FycmF5KHIpP3t0eXBlOiJyb290IixjaGlsZHJlbjpyfTpyfHx7dHlwZToicm9vdCIsY2hpbGRyZW46W119O3JldHVybiBpJiYoImNoaWxkcmVuImluIG8sby5jaGlsZHJlbi5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpgCmB9LGkpKSxvfXZhciB3NXQ9ZigoKT0+e0IwKCk7WjNlKCk7eTV0KCk7cyhRM2UsInRvSGFzdCIpfSk7dmFyIE01dD1mKCgpPT57SzNlKCk7dzV0KCk7WjNlKCl9KTt2YXIgazV0LFM1dD1mKCgpPT57azV0PVsiYXJlYSIsImJhc2UiLCJiYXNlZm9udCIsImJnc291bmQiLCJiciIsImNvbCIsImNvbW1hbmQiLCJlbWJlZCIsImZyYW1lIiwiaHIiLCJpbWFnZSIsImltZyIsImlucHV0Iiwia2V5Z2VuIiwibGluayIsIm1ldGEiLCJwYXJhbSIsInNvdXJjZSIsInRyYWNrIiwid2JyIl19KTt2YXIgR2wsSjNlPWYoKCk9PntHbD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJTY2hlbWEiKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy5ub3JtYWw9dCx0aGlzLnByb3BlcnR5PWUsciYmKHRoaXMuc3BhY2U9cil9fTtHbC5wcm90b3R5cGUubm9ybWFsPXt9LEdsLnByb3RvdHlwZS5wcm9wZXJ0eT17fSxHbC5wcm90b3R5cGUuc3BhY2U9dm9pZCAwfSk7ZnVuY3Rpb24gZWRlKGEsZSl7bGV0IHQ9e30scj17fTtmb3IobGV0IGkgb2YgYSlPYmplY3QuYXNzaWduKHQsaS5wcm9wZXJ0eSksT2JqZWN0LmFzc2lnbihyLGkubm9ybWFsKTtyZXR1cm4gbmV3IEdsKHQscixlKX12YXIgejV0PWYoKCk9PntKM2UoKTtzKGVkZSwibWVyZ2UiKX0pO2Z1bmN0aW9uIEk4KGEpe3JldHVybiBhLnRvTG93ZXJDYXNlKCl9dmFyIHBKPWYoKCk9PntzKEk4LCJub3JtYWxpemUiKX0pO3ZhciBxcyx0ZGU9ZigoKT0+e3FzPWNsYXNze3N0YXRpY3tzKHRoaXMsIkluZm8iKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMuYXR0cmlidXRlPXQsdGhpcy5wcm9wZXJ0eT1lfX07cXMucHJvdG90eXBlLmF0dHJpYnV0ZT0iIixxcy5wcm90b3R5cGUuYm9vbGVhbmlzaD0hMSxxcy5wcm90b3R5cGUuYm9vbGVhbj0hMSxxcy5wcm90b3R5cGUuY29tbWFPclNwYWNlU2VwYXJhdGVkPSExLHFzLnByb3RvdHlwZS5jb21tYVNlcGFyYXRlZD0hMSxxcy5wcm90b3R5cGUuZGVmaW5lZD0hMSxxcy5wcm90b3R5cGUubXVzdFVzZVByb3BlcnR5PSExLHFzLnByb3RvdHlwZS5udW1iZXI9ITEscXMucHJvdG90eXBlLm92ZXJsb2FkZWRCb29sZWFuPSExLHFzLnByb3RvdHlwZS5wcm9wZXJ0eT0iIixxcy5wcm90b3R5cGUuc3BhY2VTZXBhcmF0ZWQ9ITEscXMucHJvdG90eXBlLnNwYWNlPXZvaWQgMH0pO3ZhciBwYj17fTtydChwYix7Ym9vbGVhbjooKT0+VXQsYm9vbGVhbmlzaDooKT0+T3IsY29tbWFPclNwYWNlU2VwYXJhdGVkOigpPT5Mbyxjb21tYVNlcGFyYXRlZDooKT0+SzAsbnVtYmVyOigpPT5ZZSxvdmVybG9hZGVkQm9vbGVhbjooKT0+Zkosc3BhY2VTZXBhcmF0ZWQ6KCk9PllhfSk7ZnVuY3Rpb24gc2QoKXtyZXR1cm4gMioqKyt1U2F9dmFyIHVTYSxVdCxPcixmSixZZSxZYSxLMCxMbyxmYj1mKCgpPT57dVNhPTAsVXQ9c2QoKSxPcj1zZCgpLGZKPXNkKCksWWU9c2QoKSxZYT1zZCgpLEswPXNkKCksTG89c2QoKTtzKHNkLCJpbmNyZW1lbnQiKX0pO2Z1bmN0aW9uIEM1dChhLGUsdCl7dCYmKGFbZV09dCl9dmFyIGFkZSxpZCxyZGU9ZigoKT0+e3RkZSgpO2ZiKCk7YWRlPU9iamVjdC5rZXlzKHBiKSxpZD1jbGFzcyBleHRlbmRzIHFze3N0YXRpY3tzKHRoaXMsIkRlZmluZWRJbmZvIil9Y29uc3RydWN0b3IoZSx0LHIsaSl7bGV0IG89LTE7aWYoc3VwZXIoZSx0KSxDNXQodGhpcywic3BhY2UiLGkpLHR5cGVvZiByPT0ibnVtYmVyIilmb3IoOysrbzxhZGUubGVuZ3RoOyl7bGV0IG49YWRlW29dO0M1dCh0aGlzLGFkZVtvXSwociZwYltuXSk9PT1wYltuXSl9fX07aWQucHJvdG90eXBlLmRlZmluZWQ9ITA7cyhDNXQsIm1hcmsiKX0pO2Z1bmN0aW9uIENuKGEpe2xldCBlPXt9LHQ9e307Zm9yKGxldFtyLGldb2YgT2JqZWN0LmVudHJpZXMoYS5wcm9wZXJ0aWVzKSl7bGV0IG89bmV3IGlkKHIsYS50cmFuc2Zvcm0oYS5hdHRyaWJ1dGVzfHx7fSxyKSxpLGEuc3BhY2UpO2EubXVzdFVzZVByb3BlcnR5JiZhLm11c3RVc2VQcm9wZXJ0eS5pbmNsdWRlcyhyKSYmKG8ubXVzdFVzZVByb3BlcnR5PSEwKSxlW3JdPW8sdFtJOChyKV09cix0W0k4KG8uYXR0cmlidXRlKV09cn1yZXR1cm4gbmV3IEdsKGUsdCxhLnNwYWNlKX12YXIgb2Q9ZigoKT0+e3BKKCk7cmRlKCk7SjNlKCk7cyhDbiwiY3JlYXRlIil9KTt2YXIgc2RlLF81dD1mKCgpPT57b2QoKTtmYigpO3NkZT1Dbih7cHJvcGVydGllczp7YXJpYUFjdGl2ZURlc2NlbmRhbnQ6bnVsbCxhcmlhQXRvbWljOk9yLGFyaWFBdXRvQ29tcGxldGU6bnVsbCxhcmlhQnVzeTpPcixhcmlhQ2hlY2tlZDpPcixhcmlhQ29sQ291bnQ6WWUsYXJpYUNvbEluZGV4OlllLGFyaWFDb2xTcGFuOlllLGFyaWFDb250cm9sczpZYSxhcmlhQ3VycmVudDpudWxsLGFyaWFEZXNjcmliZWRCeTpZYSxhcmlhRGV0YWlsczpudWxsLGFyaWFEaXNhYmxlZDpPcixhcmlhRHJvcEVmZmVjdDpZYSxhcmlhRXJyb3JNZXNzYWdlOm51bGwsYXJpYUV4cGFuZGVkOk9yLGFyaWFGbG93VG86WWEsYXJpYUdyYWJiZWQ6T3IsYXJpYUhhc1BvcHVwOm51bGwsYXJpYUhpZGRlbjpPcixhcmlhSW52YWxpZDpudWxsLGFyaWFLZXlTaG9ydGN1dHM6bnVsbCxhcmlhTGFiZWw6bnVsbCxhcmlhTGFiZWxsZWRCeTpZYSxhcmlhTGV2ZWw6WWUsYXJpYUxpdmU6bnVsbCxhcmlhTW9kYWw6T3IsYXJpYU11bHRpTGluZTpPcixhcmlhTXVsdGlTZWxlY3RhYmxlOk9yLGFyaWFPcmllbnRhdGlvbjpudWxsLGFyaWFPd25zOllhLGFyaWFQbGFjZWhvbGRlcjpudWxsLGFyaWFQb3NJblNldDpZZSxhcmlhUHJlc3NlZDpPcixhcmlhUmVhZE9ubHk6T3IsYXJpYVJlbGV2YW50Om51bGwsYXJpYVJlcXVpcmVkOk9yLGFyaWFSb2xlRGVzY3JpcHRpb246WWEsYXJpYVJvd0NvdW50OlllLGFyaWFSb3dJbmRleDpZZSxhcmlhUm93U3BhbjpZZSxhcmlhU2VsZWN0ZWQ6T3IsYXJpYVNldFNpemU6WWUsYXJpYVNvcnQ6bnVsbCxhcmlhVmFsdWVNYXg6WWUsYXJpYVZhbHVlTWluOlllLGFyaWFWYWx1ZU5vdzpZZSxhcmlhVmFsdWVUZXh0Om51bGwscm9sZTpudWxsfSx0cmFuc2Zvcm0oYSxlKXtyZXR1cm4gZT09PSJyb2xlIj9lOiJhcmlhLSIrZS5zbGljZSg0KS50b0xvd2VyQ2FzZSgpfX0pfSk7ZnVuY3Rpb24gaEooYSxlKXtyZXR1cm4gZSBpbiBhP2FbZV06ZX12YXIgaWRlPWYoKCk9PntzKGhKLCJjYXNlU2Vuc2l0aXZlVHJhbnNmb3JtIil9KTtmdW5jdGlvbiBtSihhLGUpe3JldHVybiBoSihhLGUudG9Mb3dlckNhc2UoKSl9dmFyIG9kZT1mKCgpPT57aWRlKCk7cyhtSiwiY2FzZUluc2Vuc2l0aXZlVHJhbnNmb3JtIil9KTt2YXIgVDV0LEw1dD1mKCgpPT57b2RlKCk7b2QoKTtmYigpO1Q1dD1Dbih7YXR0cmlidXRlczp7YWNjZXB0Y2hhcnNldDoiYWNjZXB0LWNoYXJzZXQiLGNsYXNzbmFtZToiY2xhc3MiLGh0bWxmb3I6ImZvciIsaHR0cGVxdWl2OiJodHRwLWVxdWl2In0sbXVzdFVzZVByb3BlcnR5OlsiY2hlY2tlZCIsIm11bHRpcGxlIiwibXV0ZWQiLCJzZWxlY3RlZCJdLHByb3BlcnRpZXM6e2FiYnI6bnVsbCxhY2NlcHQ6SzAsYWNjZXB0Q2hhcnNldDpZYSxhY2Nlc3NLZXk6WWEsYWN0aW9uOm51bGwsYWxsb3c6bnVsbCxhbGxvd0Z1bGxTY3JlZW46VXQsYWxsb3dQYXltZW50UmVxdWVzdDpVdCxhbGxvd1VzZXJNZWRpYTpVdCxhbHQ6bnVsbCxhczpudWxsLGFzeW5jOlV0LGF1dG9DYXBpdGFsaXplOm51bGwsYXV0b0NvbXBsZXRlOllhLGF1dG9Gb2N1czpVdCxhdXRvUGxheTpVdCxibG9ja2luZzpZYSxjYXB0dXJlOm51bGwsY2hhclNldDpudWxsLGNoZWNrZWQ6VXQsY2l0ZTpudWxsLGNsYXNzTmFtZTpZYSxjb2xzOlllLGNvbFNwYW46bnVsbCxjb250ZW50Om51bGwsY29udGVudEVkaXRhYmxlOk9yLGNvbnRyb2xzOlV0LGNvbnRyb2xzTGlzdDpZYSxjb29yZHM6WWV8SzAsY3Jvc3NPcmlnaW46bnVsbCxkYXRhOm51bGwsZGF0ZVRpbWU6bnVsbCxkZWNvZGluZzpudWxsLGRlZmF1bHQ6VXQsZGVmZXI6VXQsZGlyOm51bGwsZGlyTmFtZTpudWxsLGRpc2FibGVkOlV0LGRvd25sb2FkOmZKLGRyYWdnYWJsZTpPcixlbmNUeXBlOm51bGwsZW50ZXJLZXlIaW50Om51bGwsZmV0Y2hQcmlvcml0eTpudWxsLGZvcm06bnVsbCxmb3JtQWN0aW9uOm51bGwsZm9ybUVuY1R5cGU6bnVsbCxmb3JtTWV0aG9kOm51bGwsZm9ybU5vVmFsaWRhdGU6VXQsZm9ybVRhcmdldDpudWxsLGhlYWRlcnM6WWEsaGVpZ2h0OlllLGhpZGRlbjpmSixoaWdoOlllLGhyZWY6bnVsbCxocmVmTGFuZzpudWxsLGh0bWxGb3I6WWEsaHR0cEVxdWl2OllhLGlkOm51bGwsaW1hZ2VTaXplczpudWxsLGltYWdlU3JjU2V0Om51bGwsaW5lcnQ6VXQsaW5wdXRNb2RlOm51bGwsaW50ZWdyaXR5Om51bGwsaXM6bnVsbCxpc01hcDpVdCxpdGVtSWQ6bnVsbCxpdGVtUHJvcDpZYSxpdGVtUmVmOllhLGl0ZW1TY29wZTpVdCxpdGVtVHlwZTpZYSxraW5kOm51bGwsbGFiZWw6bnVsbCxsYW5nOm51bGwsbGFuZ3VhZ2U6bnVsbCxsaXN0Om51bGwsbG9hZGluZzpudWxsLGxvb3A6VXQsbG93OlllLG1hbmlmZXN0Om51bGwsbWF4Om51bGwsbWF4TGVuZ3RoOlllLG1lZGlhOm51bGwsbWV0aG9kOm51bGwsbWluOm51bGwsbWluTGVuZ3RoOlllLG11bHRpcGxlOlV0LG11dGVkOlV0LG5hbWU6bnVsbCxub25jZTpudWxsLG5vTW9kdWxlOlV0LG5vVmFsaWRhdGU6VXQsb25BYm9ydDpudWxsLG9uQWZ0ZXJQcmludDpudWxsLG9uQXV4Q2xpY2s6bnVsbCxvbkJlZm9yZU1hdGNoOm51bGwsb25CZWZvcmVQcmludDpudWxsLG9uQmVmb3JlVG9nZ2xlOm51bGwsb25CZWZvcmVVbmxvYWQ6bnVsbCxvbkJsdXI6bnVsbCxvbkNhbmNlbDpudWxsLG9uQ2FuUGxheTpudWxsLG9uQ2FuUGxheVRocm91Z2g6bnVsbCxvbkNoYW5nZTpudWxsLG9uQ2xpY2s6bnVsbCxvbkNsb3NlOm51bGwsb25Db250ZXh0TG9zdDpudWxsLG9uQ29udGV4dE1lbnU6bnVsbCxvbkNvbnRleHRSZXN0b3JlZDpudWxsLG9uQ29weTpudWxsLG9uQ3VlQ2hhbmdlOm51bGwsb25DdXQ6bnVsbCxvbkRibENsaWNrOm51bGwsb25EcmFnOm51bGwsb25EcmFnRW5kOm51bGwsb25EcmFnRW50ZXI6bnVsbCxvbkRyYWdFeGl0Om51bGwsb25EcmFnTGVhdmU6bnVsbCxvbkRyYWdPdmVyOm51bGwsb25EcmFnU3RhcnQ6bnVsbCxvbkRyb3A6bnVsbCxvbkR1cmF0aW9uQ2hhbmdlOm51bGwsb25FbXB0aWVkOm51bGwsb25FbmRlZDpudWxsLG9uRXJyb3I6bnVsbCxvbkZvY3VzOm51bGwsb25Gb3JtRGF0YTpudWxsLG9uSGFzaENoYW5nZTpudWxsLG9uSW5wdXQ6bnVsbCxvbkludmFsaWQ6bnVsbCxvbktleURvd246bnVsbCxvbktleVByZXNzOm51bGwsb25LZXlVcDpudWxsLG9uTGFuZ3VhZ2VDaGFuZ2U6bnVsbCxvbkxvYWQ6bnVsbCxvbkxvYWRlZERhdGE6bnVsbCxvbkxvYWRlZE1ldGFkYXRhOm51bGwsb25Mb2FkRW5kOm51bGwsb25Mb2FkU3RhcnQ6bnVsbCxvbk1lc3NhZ2U6bnVsbCxvbk1lc3NhZ2VFcnJvcjpudWxsLG9uTW91c2VEb3duOm51bGwsb25Nb3VzZUVudGVyOm51bGwsb25Nb3VzZUxlYXZlOm51bGwsb25Nb3VzZU1vdmU6bnVsbCxvbk1vdXNlT3V0Om51bGwsb25Nb3VzZU92ZXI6bnVsbCxvbk1vdXNlVXA6bnVsbCxvbk9mZmxpbmU6bnVsbCxvbk9ubGluZTpudWxsLG9uUGFnZUhpZGU6bnVsbCxvblBhZ2VTaG93Om51bGwsb25QYXN0ZTpudWxsLG9uUGF1c2U6bnVsbCxvblBsYXk6bnVsbCxvblBsYXlpbmc6bnVsbCxvblBvcFN0YXRlOm51bGwsb25Qcm9ncmVzczpudWxsLG9uUmF0ZUNoYW5nZTpudWxsLG9uUmVqZWN0aW9uSGFuZGxlZDpudWxsLG9uUmVzZXQ6bnVsbCxvblJlc2l6ZTpudWxsLG9uU2Nyb2xsOm51bGwsb25TY3JvbGxFbmQ6bnVsbCxvblNlY3VyaXR5UG9saWN5VmlvbGF0aW9uOm51bGwsb25TZWVrZWQ6bnVsbCxvblNlZWtpbmc6bnVsbCxvblNlbGVjdDpudWxsLG9uU2xvdENoYW5nZTpudWxsLG9uU3RhbGxlZDpudWxsLG9uU3RvcmFnZTpudWxsLG9uU3VibWl0Om51bGwsb25TdXNwZW5kOm51bGwsb25UaW1lVXBkYXRlOm51bGwsb25Ub2dnbGU6bnVsbCxvblVuaGFuZGxlZFJlamVjdGlvbjpudWxsLG9uVW5sb2FkOm51bGwsb25Wb2x1bWVDaGFuZ2U6bnVsbCxvbldhaXRpbmc6bnVsbCxvbldoZWVsOm51bGwsb3BlbjpVdCxvcHRpbXVtOlllLHBhdHRlcm46bnVsbCxwaW5nOllhLHBsYWNlaG9sZGVyOm51bGwscGxheXNJbmxpbmU6VXQscG9wb3ZlcjpudWxsLHBvcG92ZXJUYXJnZXQ6bnVsbCxwb3BvdmVyVGFyZ2V0QWN0aW9uOm51bGwscG9zdGVyOm51bGwscHJlbG9hZDpudWxsLHJlYWRPbmx5OlV0LHJlZmVycmVyUG9saWN5Om51bGwscmVsOllhLHJlcXVpcmVkOlV0LHJldmVyc2VkOlV0LHJvd3M6WWUscm93U3BhbjpZZSxzYW5kYm94OllhLHNjb3BlOm51bGwsc2NvcGVkOlV0LHNlYW1sZXNzOlV0LHNlbGVjdGVkOlV0LHNoYWRvd1Jvb3RDbG9uYWJsZTpVdCxzaGFkb3dSb290RGVsZWdhdGVzRm9jdXM6VXQsc2hhZG93Um9vdE1vZGU6bnVsbCxzaGFwZTpudWxsLHNpemU6WWUsc2l6ZXM6bnVsbCxzbG90Om51bGwsc3BhbjpZZSxzcGVsbENoZWNrOk9yLHNyYzpudWxsLHNyY0RvYzpudWxsLHNyY0xhbmc6bnVsbCxzcmNTZXQ6bnVsbCxzdGFydDpZZSxzdGVwOm51bGwsc3R5bGU6bnVsbCx0YWJJbmRleDpZZSx0YXJnZXQ6bnVsbCx0aXRsZTpudWxsLHRyYW5zbGF0ZTpudWxsLHR5cGU6bnVsbCx0eXBlTXVzdE1hdGNoOlV0LHVzZU1hcDpudWxsLHZhbHVlOk9yLHdpZHRoOlllLHdyYXA6bnVsbCx3cml0aW5nU3VnZ2VzdGlvbnM6bnVsbCxhbGlnbjpudWxsLGFMaW5rOm51bGwsYXJjaGl2ZTpZYSxheGlzOm51bGwsYmFja2dyb3VuZDpudWxsLGJnQ29sb3I6bnVsbCxib3JkZXI6WWUsYm9yZGVyQ29sb3I6bnVsbCxib3R0b21NYXJnaW46WWUsY2VsbFBhZGRpbmc6bnVsbCxjZWxsU3BhY2luZzpudWxsLGNoYXI6bnVsbCxjaGFyT2ZmOm51bGwsY2xhc3NJZDpudWxsLGNsZWFyOm51bGwsY29kZTpudWxsLGNvZGVCYXNlOm51bGwsY29kZVR5cGU6bnVsbCxjb2xvcjpudWxsLGNvbXBhY3Q6VXQsZGVjbGFyZTpVdCxldmVudDpudWxsLGZhY2U6bnVsbCxmcmFtZTpudWxsLGZyYW1lQm9yZGVyOm51bGwsaFNwYWNlOlllLGxlZnRNYXJnaW46WWUsbGluazpudWxsLGxvbmdEZXNjOm51bGwsbG93U3JjOm51bGwsbWFyZ2luSGVpZ2h0OlllLG1hcmdpbldpZHRoOlllLG5vUmVzaXplOlV0LG5vSHJlZjpVdCxub1NoYWRlOlV0LG5vV3JhcDpVdCxvYmplY3Q6bnVsbCxwcm9maWxlOm51bGwscHJvbXB0Om51bGwscmV2Om51bGwscmlnaHRNYXJnaW46WWUscnVsZXM6bnVsbCxzY2hlbWU6bnVsbCxzY3JvbGxpbmc6T3Isc3RhbmRieTpudWxsLHN1bW1hcnk6bnVsbCx0ZXh0Om51bGwsdG9wTWFyZ2luOlllLHZhbHVlVHlwZTpudWxsLHZlcnNpb246bnVsbCx2QWxpZ246bnVsbCx2TGluazpudWxsLHZTcGFjZTpZZSxhbGxvd1RyYW5zcGFyZW5jeTpudWxsLGF1dG9Db3JyZWN0Om51bGwsYXV0b1NhdmU6bnVsbCxkaXNhYmxlUGljdHVyZUluUGljdHVyZTpVdCxkaXNhYmxlUmVtb3RlUGxheWJhY2s6VXQscHJlZml4Om51bGwscHJvcGVydHk6bnVsbCxyZXN1bHRzOlllLHNlY3VyaXR5Om51bGwsdW5zZWxlY3RhYmxlOm51bGx9LHNwYWNlOiJodG1sIix0cmFuc2Zvcm06bUp9KX0pO3ZhciAkNXQsRDV0PWYoKCk9PntpZGUoKTtvZCgpO2ZiKCk7JDV0PUNuKHthdHRyaWJ1dGVzOnthY2NlbnRIZWlnaHQ6ImFjY2VudC1oZWlnaHQiLGFsaWdubWVudEJhc2VsaW5lOiJhbGlnbm1lbnQtYmFzZWxpbmUiLGFyYWJpY0Zvcm06ImFyYWJpYy1mb3JtIixiYXNlbGluZVNoaWZ0OiJiYXNlbGluZS1zaGlmdCIsY2FwSGVpZ2h0OiJjYXAtaGVpZ2h0IixjbGFzc05hbWU6ImNsYXNzIixjbGlwUGF0aDoiY2xpcC1wYXRoIixjbGlwUnVsZToiY2xpcC1ydWxlIixjb2xvckludGVycG9sYXRpb246ImNvbG9yLWludGVycG9sYXRpb24iLGNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnM6ImNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycyIsY29sb3JQcm9maWxlOiJjb2xvci1wcm9maWxlIixjb2xvclJlbmRlcmluZzoiY29sb3ItcmVuZGVyaW5nIixjcm9zc09yaWdpbjoiY3Jvc3NvcmlnaW4iLGRhdGFUeXBlOiJkYXRhdHlwZSIsZG9taW5hbnRCYXNlbGluZToiZG9taW5hbnQtYmFzZWxpbmUiLGVuYWJsZUJhY2tncm91bmQ6ImVuYWJsZS1iYWNrZ3JvdW5kIixmaWxsT3BhY2l0eToiZmlsbC1vcGFjaXR5IixmaWxsUnVsZToiZmlsbC1ydWxlIixmbG9vZENvbG9yOiJmbG9vZC1jb2xvciIsZmxvb2RPcGFjaXR5OiJmbG9vZC1vcGFjaXR5Iixmb250RmFtaWx5OiJmb250LWZhbWlseSIsZm9udFNpemU6ImZvbnQtc2l6ZSIsZm9udFNpemVBZGp1c3Q6ImZvbnQtc2l6ZS1hZGp1c3QiLGZvbnRTdHJldGNoOiJmb250LXN0cmV0Y2giLGZvbnRTdHlsZToiZm9udC1zdHlsZSIsZm9udFZhcmlhbnQ6ImZvbnQtdmFyaWFudCIsZm9udFdlaWdodDoiZm9udC13ZWlnaHQiLGdseXBoTmFtZToiZ2x5cGgtbmFtZSIsZ2x5cGhPcmllbnRhdGlvbkhvcml6b250YWw6ImdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwiLGdseXBoT3JpZW50YXRpb25WZXJ0aWNhbDoiZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwiLGhyZWZMYW5nOiJocmVmbGFuZyIsaG9yaXpBZHZYOiJob3Jpei1hZHYteCIsaG9yaXpPcmlnaW5YOiJob3Jpei1vcmlnaW4teCIsaG9yaXpPcmlnaW5ZOiJob3Jpei1vcmlnaW4teSIsaW1hZ2VSZW5kZXJpbmc6ImltYWdlLXJlbmRlcmluZyIsbGV0dGVyU3BhY2luZzoibGV0dGVyLXNwYWNpbmciLGxpZ2h0aW5nQ29sb3I6ImxpZ2h0aW5nLWNvbG9yIixtYXJrZXJFbmQ6Im1hcmtlci1lbmQiLG1hcmtlck1pZDoibWFya2VyLW1pZCIsbWFya2VyU3RhcnQ6Im1hcmtlci1zdGFydCIsbmF2RG93bjoibmF2LWRvd24iLG5hdkRvd25MZWZ0OiJuYXYtZG93bi1sZWZ0IixuYXZEb3duUmlnaHQ6Im5hdi1kb3duLXJpZ2h0IixuYXZMZWZ0OiJuYXYtbGVmdCIsbmF2TmV4dDoibmF2LW5leHQiLG5hdlByZXY6Im5hdi1wcmV2IixuYXZSaWdodDoibmF2LXJpZ2h0IixuYXZVcDoibmF2LXVwIixuYXZVcExlZnQ6Im5hdi11cC1sZWZ0IixuYXZVcFJpZ2h0OiJuYXYtdXAtcmlnaHQiLG9uQWJvcnQ6Im9uYWJvcnQiLG9uQWN0aXZhdGU6Im9uYWN0aXZhdGUiLG9uQWZ0ZXJQcmludDoib25hZnRlcnByaW50IixvbkJlZm9yZVByaW50OiJvbmJlZm9yZXByaW50IixvbkJlZ2luOiJvbmJlZ2luIixvbkNhbmNlbDoib25jYW5jZWwiLG9uQ2FuUGxheToib25jYW5wbGF5IixvbkNhblBsYXlUaHJvdWdoOiJvbmNhbnBsYXl0aHJvdWdoIixvbkNoYW5nZToib25jaGFuZ2UiLG9uQ2xpY2s6Im9uY2xpY2siLG9uQ2xvc2U6Im9uY2xvc2UiLG9uQ29weToib25jb3B5IixvbkN1ZUNoYW5nZToib25jdWVjaGFuZ2UiLG9uQ3V0OiJvbmN1dCIsb25EYmxDbGljazoib25kYmxjbGljayIsb25EcmFnOiJvbmRyYWciLG9uRHJhZ0VuZDoib25kcmFnZW5kIixvbkRyYWdFbnRlcjoib25kcmFnZW50ZXIiLG9uRHJhZ0V4aXQ6Im9uZHJhZ2V4aXQiLG9uRHJhZ0xlYXZlOiJvbmRyYWdsZWF2ZSIsb25EcmFnT3Zlcjoib25kcmFnb3ZlciIsb25EcmFnU3RhcnQ6Im9uZHJhZ3N0YXJ0IixvbkRyb3A6Im9uZHJvcCIsb25EdXJhdGlvbkNoYW5nZToib25kdXJhdGlvbmNoYW5nZSIsb25FbXB0aWVkOiJvbmVtcHRpZWQiLG9uRW5kOiJvbmVuZCIsb25FbmRlZDoib25lbmRlZCIsb25FcnJvcjoib25lcnJvciIsb25Gb2N1czoib25mb2N1cyIsb25Gb2N1c0luOiJvbmZvY3VzaW4iLG9uRm9jdXNPdXQ6Im9uZm9jdXNvdXQiLG9uSGFzaENoYW5nZToib25oYXNoY2hhbmdlIixvbklucHV0OiJvbmlucHV0IixvbkludmFsaWQ6Im9uaW52YWxpZCIsb25LZXlEb3duOiJvbmtleWRvd24iLG9uS2V5UHJlc3M6Im9ua2V5cHJlc3MiLG9uS2V5VXA6Im9ua2V5dXAiLG9uTG9hZDoib25sb2FkIixvbkxvYWRlZERhdGE6Im9ubG9hZGVkZGF0YSIsb25Mb2FkZWRNZXRhZGF0YToib25sb2FkZWRtZXRhZGF0YSIsb25Mb2FkU3RhcnQ6Im9ubG9hZHN0YXJ0Iixvbk1lc3NhZ2U6Im9ubWVzc2FnZSIsb25Nb3VzZURvd246Im9ubW91c2Vkb3duIixvbk1vdXNlRW50ZXI6Im9ubW91c2VlbnRlciIsb25Nb3VzZUxlYXZlOiJvbm1vdXNlbGVhdmUiLG9uTW91c2VNb3ZlOiJvbm1vdXNlbW92ZSIsb25Nb3VzZU91dDoib25tb3VzZW91dCIsb25Nb3VzZU92ZXI6Im9ubW91c2VvdmVyIixvbk1vdXNlVXA6Im9ubW91c2V1cCIsb25Nb3VzZVdoZWVsOiJvbm1vdXNld2hlZWwiLG9uT2ZmbGluZToib25vZmZsaW5lIixvbk9ubGluZToib25vbmxpbmUiLG9uUGFnZUhpZGU6Im9ucGFnZWhpZGUiLG9uUGFnZVNob3c6Im9ucGFnZXNob3ciLG9uUGFzdGU6Im9ucGFzdGUiLG9uUGF1c2U6Im9ucGF1c2UiLG9uUGxheToib25wbGF5IixvblBsYXlpbmc6Im9ucGxheWluZyIsb25Qb3BTdGF0ZToib25wb3BzdGF0ZSIsb25Qcm9ncmVzczoib25wcm9ncmVzcyIsb25SYXRlQ2hhbmdlOiJvbnJhdGVjaGFuZ2UiLG9uUmVwZWF0OiJvbnJlcGVhdCIsb25SZXNldDoib25yZXNldCIsb25SZXNpemU6Im9ucmVzaXplIixvblNjcm9sbDoib25zY3JvbGwiLG9uU2Vla2VkOiJvbnNlZWtlZCIsb25TZWVraW5nOiJvbnNlZWtpbmciLG9uU2VsZWN0OiJvbnNlbGVjdCIsb25TaG93OiJvbnNob3ciLG9uU3RhbGxlZDoib25zdGFsbGVkIixvblN0b3JhZ2U6Im9uc3RvcmFnZSIsb25TdWJtaXQ6Im9uc3VibWl0IixvblN1c3BlbmQ6Im9uc3VzcGVuZCIsb25UaW1lVXBkYXRlOiJvbnRpbWV1cGRhdGUiLG9uVG9nZ2xlOiJvbnRvZ2dsZSIsb25VbmxvYWQ6Im9udW5sb2FkIixvblZvbHVtZUNoYW5nZToib252b2x1bWVjaGFuZ2UiLG9uV2FpdGluZzoib253YWl0aW5nIixvblpvb206Im9uem9vbSIsb3ZlcmxpbmVQb3NpdGlvbjoib3ZlcmxpbmUtcG9zaXRpb24iLG92ZXJsaW5lVGhpY2tuZXNzOiJvdmVybGluZS10aGlja25lc3MiLHBhaW50T3JkZXI6InBhaW50LW9yZGVyIixwYW5vc2UxOiJwYW5vc2UtMSIscG9pbnRlckV2ZW50czoicG9pbnRlci1ldmVudHMiLHJlZmVycmVyUG9saWN5OiJyZWZlcnJlcnBvbGljeSIscmVuZGVyaW5nSW50ZW50OiJyZW5kZXJpbmctaW50ZW50IixzaGFwZVJlbmRlcmluZzoic2hhcGUtcmVuZGVyaW5nIixzdG9wQ29sb3I6InN0b3AtY29sb3IiLHN0b3BPcGFjaXR5OiJzdG9wLW9wYWNpdHkiLHN0cmlrZXRocm91Z2hQb3NpdGlvbjoic3RyaWtldGhyb3VnaC1wb3NpdGlvbiIsc3RyaWtldGhyb3VnaFRoaWNrbmVzczoic3RyaWtldGhyb3VnaC10aGlja25lc3MiLHN0cm9rZURhc2hBcnJheToic3Ryb2tlLWRhc2hhcnJheSIsc3Ryb2tlRGFzaE9mZnNldDoic3Ryb2tlLWRhc2hvZmZzZXQiLHN0cm9rZUxpbmVDYXA6InN0cm9rZS1saW5lY2FwIixzdHJva2VMaW5lSm9pbjoic3Ryb2tlLWxpbmVqb2luIixzdHJva2VNaXRlckxpbWl0OiJzdHJva2UtbWl0ZXJsaW1pdCIsc3Ryb2tlT3BhY2l0eToic3Ryb2tlLW9wYWNpdHkiLHN0cm9rZVdpZHRoOiJzdHJva2Utd2lkdGgiLHRhYkluZGV4OiJ0YWJpbmRleCIsdGV4dEFuY2hvcjoidGV4dC1hbmNob3IiLHRleHREZWNvcmF0aW9uOiJ0ZXh0LWRlY29yYXRpb24iLHRleHRSZW5kZXJpbmc6InRleHQtcmVuZGVyaW5nIix0cmFuc2Zvcm1PcmlnaW46InRyYW5zZm9ybS1vcmlnaW4iLHR5cGVPZjoidHlwZW9mIix1bmRlcmxpbmVQb3NpdGlvbjoidW5kZXJsaW5lLXBvc2l0aW9uIix1bmRlcmxpbmVUaGlja25lc3M6InVuZGVybGluZS10aGlja25lc3MiLHVuaWNvZGVCaWRpOiJ1bmljb2RlLWJpZGkiLHVuaWNvZGVSYW5nZToidW5pY29kZS1yYW5nZSIsdW5pdHNQZXJFbToidW5pdHMtcGVyLWVtIix2QWxwaGFiZXRpYzoidi1hbHBoYWJldGljIix2SGFuZ2luZzoidi1oYW5naW5nIix2SWRlb2dyYXBoaWM6InYtaWRlb2dyYXBoaWMiLHZNYXRoZW1hdGljYWw6InYtbWF0aGVtYXRpY2FsIix2ZWN0b3JFZmZlY3Q6InZlY3Rvci1lZmZlY3QiLHZlcnRBZHZZOiJ2ZXJ0LWFkdi15Iix2ZXJ0T3JpZ2luWDoidmVydC1vcmlnaW4teCIsdmVydE9yaWdpblk6InZlcnQtb3JpZ2luLXkiLHdvcmRTcGFjaW5nOiJ3b3JkLXNwYWNpbmciLHdyaXRpbmdNb2RlOiJ3cml0aW5nLW1vZGUiLHhIZWlnaHQ6IngtaGVpZ2h0IixwbGF5YmFja09yZGVyOiJwbGF5YmFja29yZGVyIix0aW1lbGluZUJlZ2luOiJ0aW1lbGluZWJlZ2luIn0scHJvcGVydGllczp7YWJvdXQ6TG8sYWNjZW50SGVpZ2h0OlllLGFjY3VtdWxhdGU6bnVsbCxhZGRpdGl2ZTpudWxsLGFsaWdubWVudEJhc2VsaW5lOm51bGwsYWxwaGFiZXRpYzpZZSxhbXBsaXR1ZGU6WWUsYXJhYmljRm9ybTpudWxsLGFzY2VudDpZZSxhdHRyaWJ1dGVOYW1lOm51bGwsYXR0cmlidXRlVHlwZTpudWxsLGF6aW11dGg6WWUsYmFuZHdpZHRoOm51bGwsYmFzZWxpbmVTaGlmdDpudWxsLGJhc2VGcmVxdWVuY3k6bnVsbCxiYXNlUHJvZmlsZTpudWxsLGJib3g6bnVsbCxiZWdpbjpudWxsLGJpYXM6WWUsYnk6bnVsbCxjYWxjTW9kZTpudWxsLGNhcEhlaWdodDpZZSxjbGFzc05hbWU6WWEsY2xpcDpudWxsLGNsaXBQYXRoOm51bGwsY2xpcFBhdGhVbml0czpudWxsLGNsaXBSdWxlOm51bGwsY29sb3I6bnVsbCxjb2xvckludGVycG9sYXRpb246bnVsbCxjb2xvckludGVycG9sYXRpb25GaWx0ZXJzOm51bGwsY29sb3JQcm9maWxlOm51bGwsY29sb3JSZW5kZXJpbmc6bnVsbCxjb250ZW50Om51bGwsY29udGVudFNjcmlwdFR5cGU6bnVsbCxjb250ZW50U3R5bGVUeXBlOm51bGwsY3Jvc3NPcmlnaW46bnVsbCxjdXJzb3I6bnVsbCxjeDpudWxsLGN5Om51bGwsZDpudWxsLGRhdGFUeXBlOm51bGwsZGVmYXVsdEFjdGlvbjpudWxsLGRlc2NlbnQ6WWUsZGlmZnVzZUNvbnN0YW50OlllLGRpcmVjdGlvbjpudWxsLGRpc3BsYXk6bnVsbCxkdXI6bnVsbCxkaXZpc29yOlllLGRvbWluYW50QmFzZWxpbmU6bnVsbCxkb3dubG9hZDpVdCxkeDpudWxsLGR5Om51bGwsZWRnZU1vZGU6bnVsbCxlZGl0YWJsZTpudWxsLGVsZXZhdGlvbjpZZSxlbmFibGVCYWNrZ3JvdW5kOm51bGwsZW5kOm51bGwsZXZlbnQ6bnVsbCxleHBvbmVudDpZZSxleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOm51bGwsZmlsbDpudWxsLGZpbGxPcGFjaXR5OlllLGZpbGxSdWxlOm51bGwsZmlsdGVyOm51bGwsZmlsdGVyUmVzOm51bGwsZmlsdGVyVW5pdHM6bnVsbCxmbG9vZENvbG9yOm51bGwsZmxvb2RPcGFjaXR5Om51bGwsZm9jdXNhYmxlOm51bGwsZm9jdXNIaWdobGlnaHQ6bnVsbCxmb250RmFtaWx5Om51bGwsZm9udFNpemU6bnVsbCxmb250U2l6ZUFkanVzdDpudWxsLGZvbnRTdHJldGNoOm51bGwsZm9udFN0eWxlOm51bGwsZm9udFZhcmlhbnQ6bnVsbCxmb250V2VpZ2h0Om51bGwsZm9ybWF0Om51bGwsZnI6bnVsbCxmcm9tOm51bGwsZng6bnVsbCxmeTpudWxsLGcxOkswLGcyOkswLGdseXBoTmFtZTpLMCxnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbDpudWxsLGdseXBoT3JpZW50YXRpb25WZXJ0aWNhbDpudWxsLGdseXBoUmVmOm51bGwsZ3JhZGllbnRUcmFuc2Zvcm06bnVsbCxncmFkaWVudFVuaXRzOm51bGwsaGFuZGxlcjpudWxsLGhhbmdpbmc6WWUsaGF0Y2hDb250ZW50VW5pdHM6bnVsbCxoYXRjaFVuaXRzOm51bGwsaGVpZ2h0Om51bGwsaHJlZjpudWxsLGhyZWZMYW5nOm51bGwsaG9yaXpBZHZYOlllLGhvcml6T3JpZ2luWDpZZSxob3Jpek9yaWdpblk6WWUsaWQ6bnVsbCxpZGVvZ3JhcGhpYzpZZSxpbWFnZVJlbmRlcmluZzpudWxsLGluaXRpYWxWaXNpYmlsaXR5Om51bGwsaW46bnVsbCxpbjI6bnVsbCxpbnRlcmNlcHQ6WWUsazpZZSxrMTpZZSxrMjpZZSxrMzpZZSxrNDpZZSxrZXJuZWxNYXRyaXg6TG8sa2VybmVsVW5pdExlbmd0aDpudWxsLGtleVBvaW50czpudWxsLGtleVNwbGluZXM6bnVsbCxrZXlUaW1lczpudWxsLGtlcm5pbmc6bnVsbCxsYW5nOm51bGwsbGVuZ3RoQWRqdXN0Om51bGwsbGV0dGVyU3BhY2luZzpudWxsLGxpZ2h0aW5nQ29sb3I6bnVsbCxsaW1pdGluZ0NvbmVBbmdsZTpZZSxsb2NhbDpudWxsLG1hcmtlckVuZDpudWxsLG1hcmtlck1pZDpudWxsLG1hcmtlclN0YXJ0Om51bGwsbWFya2VySGVpZ2h0Om51bGwsbWFya2VyVW5pdHM6bnVsbCxtYXJrZXJXaWR0aDpudWxsLG1hc2s6bnVsbCxtYXNrQ29udGVudFVuaXRzOm51bGwsbWFza1VuaXRzOm51bGwsbWF0aGVtYXRpY2FsOm51bGwsbWF4Om51bGwsbWVkaWE6bnVsbCxtZWRpYUNoYXJhY3RlckVuY29kaW5nOm51bGwsbWVkaWFDb250ZW50RW5jb2RpbmdzOm51bGwsbWVkaWFTaXplOlllLG1lZGlhVGltZTpudWxsLG1ldGhvZDpudWxsLG1pbjpudWxsLG1vZGU6bnVsbCxuYW1lOm51bGwsbmF2RG93bjpudWxsLG5hdkRvd25MZWZ0Om51bGwsbmF2RG93blJpZ2h0Om51bGwsbmF2TGVmdDpudWxsLG5hdk5leHQ6bnVsbCxuYXZQcmV2Om51bGwsbmF2UmlnaHQ6bnVsbCxuYXZVcDpudWxsLG5hdlVwTGVmdDpudWxsLG5hdlVwUmlnaHQ6bnVsbCxudW1PY3RhdmVzOm51bGwsb2JzZXJ2ZXI6bnVsbCxvZmZzZXQ6bnVsbCxvbkFib3J0Om51bGwsb25BY3RpdmF0ZTpudWxsLG9uQWZ0ZXJQcmludDpudWxsLG9uQmVmb3JlUHJpbnQ6bnVsbCxvbkJlZ2luOm51bGwsb25DYW5jZWw6bnVsbCxvbkNhblBsYXk6bnVsbCxvbkNhblBsYXlUaHJvdWdoOm51bGwsb25DaGFuZ2U6bnVsbCxvbkNsaWNrOm51bGwsb25DbG9zZTpudWxsLG9uQ29weTpudWxsLG9uQ3VlQ2hhbmdlOm51bGwsb25DdXQ6bnVsbCxvbkRibENsaWNrOm51bGwsb25EcmFnOm51bGwsb25EcmFnRW5kOm51bGwsb25EcmFnRW50ZXI6bnVsbCxvbkRyYWdFeGl0Om51bGwsb25EcmFnTGVhdmU6bnVsbCxvbkRyYWdPdmVyOm51bGwsb25EcmFnU3RhcnQ6bnVsbCxvbkRyb3A6bnVsbCxvbkR1cmF0aW9uQ2hhbmdlOm51bGwsb25FbXB0aWVkOm51bGwsb25FbmQ6bnVsbCxvbkVuZGVkOm51bGwsb25FcnJvcjpudWxsLG9uRm9jdXM6bnVsbCxvbkZvY3VzSW46bnVsbCxvbkZvY3VzT3V0Om51bGwsb25IYXNoQ2hhbmdlOm51bGwsb25JbnB1dDpudWxsLG9uSW52YWxpZDpudWxsLG9uS2V5RG93bjpudWxsLG9uS2V5UHJlc3M6bnVsbCxvbktleVVwOm51bGwsb25Mb2FkOm51bGwsb25Mb2FkZWREYXRhOm51bGwsb25Mb2FkZWRNZXRhZGF0YTpudWxsLG9uTG9hZFN0YXJ0Om51bGwsb25NZXNzYWdlOm51bGwsb25Nb3VzZURvd246bnVsbCxvbk1vdXNlRW50ZXI6bnVsbCxvbk1vdXNlTGVhdmU6bnVsbCxvbk1vdXNlTW92ZTpudWxsLG9uTW91c2VPdXQ6bnVsbCxvbk1vdXNlT3ZlcjpudWxsLG9uTW91c2VVcDpudWxsLG9uTW91c2VXaGVlbDpudWxsLG9uT2ZmbGluZTpudWxsLG9uT25saW5lOm51bGwsb25QYWdlSGlkZTpudWxsLG9uUGFnZVNob3c6bnVsbCxvblBhc3RlOm51bGwsb25QYXVzZTpudWxsLG9uUGxheTpudWxsLG9uUGxheWluZzpudWxsLG9uUG9wU3RhdGU6bnVsbCxvblByb2dyZXNzOm51bGwsb25SYXRlQ2hhbmdlOm51bGwsb25SZXBlYXQ6bnVsbCxvblJlc2V0Om51bGwsb25SZXNpemU6bnVsbCxvblNjcm9sbDpudWxsLG9uU2Vla2VkOm51bGwsb25TZWVraW5nOm51bGwsb25TZWxlY3Q6bnVsbCxvblNob3c6bnVsbCxvblN0YWxsZWQ6bnVsbCxvblN0b3JhZ2U6bnVsbCxvblN1Ym1pdDpudWxsLG9uU3VzcGVuZDpudWxsLG9uVGltZVVwZGF0ZTpudWxsLG9uVG9nZ2xlOm51bGwsb25VbmxvYWQ6bnVsbCxvblZvbHVtZUNoYW5nZTpudWxsLG9uV2FpdGluZzpudWxsLG9uWm9vbTpudWxsLG9wYWNpdHk6bnVsbCxvcGVyYXRvcjpudWxsLG9yZGVyOm51bGwsb3JpZW50Om51bGwsb3JpZW50YXRpb246bnVsbCxvcmlnaW46bnVsbCxvdmVyZmxvdzpudWxsLG92ZXJsYXk6bnVsbCxvdmVybGluZVBvc2l0aW9uOlllLG92ZXJsaW5lVGhpY2tuZXNzOlllLHBhaW50T3JkZXI6bnVsbCxwYW5vc2UxOm51bGwscGF0aDpudWxsLHBhdGhMZW5ndGg6WWUscGF0dGVybkNvbnRlbnRVbml0czpudWxsLHBhdHRlcm5UcmFuc2Zvcm06bnVsbCxwYXR0ZXJuVW5pdHM6bnVsbCxwaGFzZTpudWxsLHBpbmc6WWEscGl0Y2g6bnVsbCxwbGF5YmFja09yZGVyOm51bGwscG9pbnRlckV2ZW50czpudWxsLHBvaW50czpudWxsLHBvaW50c0F0WDpZZSxwb2ludHNBdFk6WWUscG9pbnRzQXRaOlllLHByZXNlcnZlQWxwaGE6bnVsbCxwcmVzZXJ2ZUFzcGVjdFJhdGlvOm51bGwscHJpbWl0aXZlVW5pdHM6bnVsbCxwcm9wYWdhdGU6bnVsbCxwcm9wZXJ0eTpMbyxyOm51bGwscmFkaXVzOm51bGwscmVmZXJyZXJQb2xpY3k6bnVsbCxyZWZYOm51bGwscmVmWTpudWxsLHJlbDpMbyxyZXY6TG8scmVuZGVyaW5nSW50ZW50Om51bGwscmVwZWF0Q291bnQ6bnVsbCxyZXBlYXREdXI6bnVsbCxyZXF1aXJlZEV4dGVuc2lvbnM6TG8scmVxdWlyZWRGZWF0dXJlczpMbyxyZXF1aXJlZEZvbnRzOkxvLHJlcXVpcmVkRm9ybWF0czpMbyxyZXNvdXJjZTpudWxsLHJlc3RhcnQ6bnVsbCxyZXN1bHQ6bnVsbCxyb3RhdGU6bnVsbCxyeDpudWxsLHJ5Om51bGwsc2NhbGU6bnVsbCxzZWVkOm51bGwsc2hhcGVSZW5kZXJpbmc6bnVsbCxzaWRlOm51bGwsc2xvcGU6bnVsbCxzbmFwc2hvdFRpbWU6bnVsbCxzcGVjdWxhckNvbnN0YW50OlllLHNwZWN1bGFyRXhwb25lbnQ6WWUsc3ByZWFkTWV0aG9kOm51bGwsc3BhY2luZzpudWxsLHN0YXJ0T2Zmc2V0Om51bGwsc3RkRGV2aWF0aW9uOm51bGwsc3RlbWg6bnVsbCxzdGVtdjpudWxsLHN0aXRjaFRpbGVzOm51bGwsc3RvcENvbG9yOm51bGwsc3RvcE9wYWNpdHk6bnVsbCxzdHJpa2V0aHJvdWdoUG9zaXRpb246WWUsc3RyaWtldGhyb3VnaFRoaWNrbmVzczpZZSxzdHJpbmc6bnVsbCxzdHJva2U6bnVsbCxzdHJva2VEYXNoQXJyYXk6TG8sc3Ryb2tlRGFzaE9mZnNldDpudWxsLHN0cm9rZUxpbmVDYXA6bnVsbCxzdHJva2VMaW5lSm9pbjpudWxsLHN0cm9rZU1pdGVyTGltaXQ6WWUsc3Ryb2tlT3BhY2l0eTpZZSxzdHJva2VXaWR0aDpudWxsLHN0eWxlOm51bGwsc3VyZmFjZVNjYWxlOlllLHN5bmNCZWhhdmlvcjpudWxsLHN5bmNCZWhhdmlvckRlZmF1bHQ6bnVsbCxzeW5jTWFzdGVyOm51bGwsc3luY1RvbGVyYW5jZTpudWxsLHN5bmNUb2xlcmFuY2VEZWZhdWx0Om51bGwsc3lzdGVtTGFuZ3VhZ2U6TG8sdGFiSW5kZXg6WWUsdGFibGVWYWx1ZXM6bnVsbCx0YXJnZXQ6bnVsbCx0YXJnZXRYOlllLHRhcmdldFk6WWUsdGV4dEFuY2hvcjpudWxsLHRleHREZWNvcmF0aW9uOm51bGwsdGV4dFJlbmRlcmluZzpudWxsLHRleHRMZW5ndGg6bnVsbCx0aW1lbGluZUJlZ2luOm51bGwsdGl0bGU6bnVsbCx0cmFuc2Zvcm1CZWhhdmlvcjpudWxsLHR5cGU6bnVsbCx0eXBlT2Y6TG8sdG86bnVsbCx0cmFuc2Zvcm06bnVsbCx0cmFuc2Zvcm1PcmlnaW46bnVsbCx1MTpudWxsLHUyOm51bGwsdW5kZXJsaW5lUG9zaXRpb246WWUsdW5kZXJsaW5lVGhpY2tuZXNzOlllLHVuaWNvZGU6bnVsbCx1bmljb2RlQmlkaTpudWxsLHVuaWNvZGVSYW5nZTpudWxsLHVuaXRzUGVyRW06WWUsdmFsdWVzOm51bGwsdkFscGhhYmV0aWM6WWUsdk1hdGhlbWF0aWNhbDpZZSx2ZWN0b3JFZmZlY3Q6bnVsbCx2SGFuZ2luZzpZZSx2SWRlb2dyYXBoaWM6WWUsdmVyc2lvbjpudWxsLHZlcnRBZHZZOlllLHZlcnRPcmlnaW5YOlllLHZlcnRPcmlnaW5ZOlllLHZpZXdCb3g6bnVsbCx2aWV3VGFyZ2V0Om51bGwsdmlzaWJpbGl0eTpudWxsLHdpZHRoOm51bGwsd2lkdGhzOm51bGwsd29yZFNwYWNpbmc6bnVsbCx3cml0aW5nTW9kZTpudWxsLHg6bnVsbCx4MTpudWxsLHgyOm51bGwseENoYW5uZWxTZWxlY3RvcjpudWxsLHhIZWlnaHQ6WWUseTpudWxsLHkxOm51bGwseTI6bnVsbCx5Q2hhbm5lbFNlbGVjdG9yOm51bGwsejpudWxsLHpvb21BbmRQYW46bnVsbH0sc3BhY2U6InN2ZyIsdHJhbnNmb3JtOmhKfSl9KTt2YXIgbmRlLEE1dD1mKCgpPT57b2QoKTtuZGU9Q24oe3Byb3BlcnRpZXM6e3hMaW5rQWN0dWF0ZTpudWxsLHhMaW5rQXJjUm9sZTpudWxsLHhMaW5rSHJlZjpudWxsLHhMaW5rUm9sZTpudWxsLHhMaW5rU2hvdzpudWxsLHhMaW5rVGl0bGU6bnVsbCx4TGlua1R5cGU6bnVsbH0sc3BhY2U6InhsaW5rIix0cmFuc2Zvcm0oYSxlKXtyZXR1cm4ieGxpbms6IitlLnNsaWNlKDUpLnRvTG93ZXJDYXNlKCl9fSl9KTt2YXIgbGRlLEU1dD1mKCgpPT57b2QoKTtvZGUoKTtsZGU9Q24oe2F0dHJpYnV0ZXM6e3htbG5zeGxpbms6InhtbG5zOnhsaW5rIn0scHJvcGVydGllczp7eG1sbnNYTGluazpudWxsLHhtbG5zOm51bGx9LHNwYWNlOiJ4bWxucyIsdHJhbnNmb3JtOm1KfSl9KTt2YXIgY2RlLFA1dD1mKCgpPT57b2QoKTtjZGU9Q24oe3Byb3BlcnRpZXM6e3htbEJhc2U6bnVsbCx4bWxMYW5nOm51bGwseG1sU3BhY2U6bnVsbH0sc3BhY2U6InhtbCIsdHJhbnNmb3JtKGEsZSl7cmV0dXJuInhtbDoiK2Uuc2xpY2UoMykudG9Mb3dlckNhc2UoKX19KX0pO3ZhciBJNXQ9ZigoKT0+e30pO2Z1bmN0aW9uIGRkZShhLGUpe2xldCB0PUk4KGUpLHI9ZSxpPXFzO2lmKHQgaW4gYS5ub3JtYWwpcmV0dXJuIGEucHJvcGVydHlbYS5ub3JtYWxbdF1dO2lmKHQubGVuZ3RoPjQmJnQuc2xpY2UoMCw0KT09PSJkYXRhIiYmZlNhLnRlc3QoZSkpe2lmKGUuY2hhckF0KDQpPT09Ii0iKXtsZXQgbz1lLnNsaWNlKDUpLnJlcGxhY2UoTjV0LG1TYSk7cj0iZGF0YSIrby5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStvLnNsaWNlKDEpfWVsc2V7bGV0IG89ZS5zbGljZSg0KTtpZighTjV0LnRlc3Qobykpe2xldCBuPW8ucmVwbGFjZShwU2EsaFNhKTtuLmNoYXJBdCgwKSE9PSItIiYmKG49Ii0iK24pLGU9ImRhdGEiK259fWk9aWR9cmV0dXJuIG5ldyBpKHIsZSl9ZnVuY3Rpb24gaFNhKGEpe3JldHVybiItIithLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gbVNhKGEpe3JldHVybiBhLmNoYXJBdCgxKS50b1VwcGVyQ2FzZSgpfXZhciBwU2EsTjV0LGZTYSxSNXQ9ZigoKT0+e3JkZSgpO3RkZSgpO3BKKCk7cFNhPS9bQS1aXS9nLE41dD0vLVthLXpdL2csZlNhPS9eZGF0YVstXHcuOl0rJC9pO3MoZGRlLCJmaW5kIik7cyhoU2EsImtlYmFiIik7cyhtU2EsImNhbWVsY2FzZSIpfSk7dmFyIE81dCxnSix1ZGU9ZigoKT0+e3o1dCgpO181dCgpO0w1dCgpO0Q1dCgpO0E1dCgpO0U1dCgpO1A1dCgpO0k1dCgpO1I1dCgpO3BKKCk7TzV0PWVkZShbc2RlLFQ1dCxuZGUsbGRlLGNkZV0sImh0bWwiKSxnSj1lZGUoW3NkZSwkNXQsbmRlLGxkZSxjZGVdLCJzdmciKX0pO2Z1bmN0aW9uIHBkZShhLGUpe2lmKGE9YS5yZXBsYWNlKGUuc3Vic2V0P3lTYShlLnN1YnNldCk6Z1NhLHIpLGUuc3Vic2V0fHxlLmVzY2FwZU9ubHkpcmV0dXJuIGE7cmV0dXJuIGEucmVwbGFjZShiU2EsdCkucmVwbGFjZSh2U2Escik7ZnVuY3Rpb24gdChpLG8sbil7cmV0dXJuIGUuZm9ybWF0KChpLmNoYXJDb2RlQXQoMCktNTUyOTYpKjEwMjQraS5jaGFyQ29kZUF0KDEpLTU2MzIwKzY1NTM2LG4uY2hhckNvZGVBdChvKzIpLGUpfWZ1bmN0aW9uIHIoaSxvLG4pe3JldHVybiBlLmZvcm1hdChpLmNoYXJDb2RlQXQoMCksbi5jaGFyQ29kZUF0KG8rMSksZSl9fWZ1bmN0aW9uIHlTYShhKXtsZXQgZT1GNXQuZ2V0KGEpO3JldHVybiBlfHwoZT13U2EoYSksRjV0LnNldChhLGUpKSxlfWZ1bmN0aW9uIHdTYShhKXtsZXQgZT1bXSx0PS0xO2Zvcig7Kyt0PGEubGVuZ3RoOyllLnB1c2goYVt0XS5yZXBsYWNlKHhTYSwiXFwkJiIpKTtyZXR1cm4gbmV3IFJlZ0V4cCgiKD86IitlLmpvaW4oInwiKSsiKSIsImciKX12YXIgZ1NhLGJTYSx2U2EseFNhLEY1dCxCNXQ9ZigoKT0+e2dTYT0vWyImJzw+YF0vZyxiU2E9L1tcdUQ4MDAtXHVEQkZGXVtcdURDMDAtXHVERkZGXS9nLHZTYT0vW1x4MDEtXHRcdlxmXHgwRS1ceDFGXHg3Rlx4ODFceDhEXHg4Rlx4OTBceDlEXHhBMC1cdUZGRkZdL2cseFNhPS9bfFxce30oKVtcXV4kKyo/Ll0vZyxGNXQ9bmV3IFdlYWtNYXA7cyhwZGUsImNvcmUiKTtzKHlTYSwiY2hhcmFjdGVyc1RvRXhwcmVzc2lvbkNhY2hlZCIpO3Mod1NhLCJjaGFyYWN0ZXJzVG9FeHByZXNzaW9uIil9KTtmdW5jdGlvbiBINXQoYSxlLHQpe2xldCByPSImI3giK2EudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7cmV0dXJuIHQmJmUmJiFNU2EudGVzdChTdHJpbmcuZnJvbUNoYXJDb2RlKGUpKT9yOnIrIjsifXZhciBNU2EscTV0PWYoKCk9PntNU2E9L1tcZEEtRmEtZl0vO3MoSDV0LCJ0b0hleGFkZWNpbWFsIil9KTtmdW5jdGlvbiBWNXQoYSxlLHQpe2xldCByPSImIyIrU3RyaW5nKGEpO3JldHVybiB0JiZlJiYha1NhLnRlc3QoU3RyaW5nLmZyb21DaGFyQ29kZShlKSk/cjpyKyI7In12YXIga1NhLGo1dD1mKCgpPT57a1NhPS9cZC87cyhWNXQsInRvRGVjaW1hbCIpfSk7dmFyIFU1dCxXNXQ9ZigoKT0+e1U1dD1bIkFFbGlnIiwiQU1QIiwiQWFjdXRlIiwiQWNpcmMiLCJBZ3JhdmUiLCJBcmluZyIsIkF0aWxkZSIsIkF1bWwiLCJDT1BZIiwiQ2NlZGlsIiwiRVRIIiwiRWFjdXRlIiwiRWNpcmMiLCJFZ3JhdmUiLCJFdW1sIiwiR1QiLCJJYWN1dGUiLCJJY2lyYyIsIklncmF2ZSIsIkl1bWwiLCJMVCIsIk50aWxkZSIsIk9hY3V0ZSIsIk9jaXJjIiwiT2dyYXZlIiwiT3NsYXNoIiwiT3RpbGRlIiwiT3VtbCIsIlFVT1QiLCJSRUciLCJUSE9STiIsIlVhY3V0ZSIsIlVjaXJjIiwiVWdyYXZlIiwiVXVtbCIsIllhY3V0ZSIsImFhY3V0ZSIsImFjaXJjIiwiYWN1dGUiLCJhZWxpZyIsImFncmF2ZSIsImFtcCIsImFyaW5nIiwiYXRpbGRlIiwiYXVtbCIsImJydmJhciIsImNjZWRpbCIsImNlZGlsIiwiY2VudCIsImNvcHkiLCJjdXJyZW4iLCJkZWciLCJkaXZpZGUiLCJlYWN1dGUiLCJlY2lyYyIsImVncmF2ZSIsImV0aCIsImV1bWwiLCJmcmFjMTIiLCJmcmFjMTQiLCJmcmFjMzQiLCJndCIsImlhY3V0ZSIsImljaXJjIiwiaWV4Y2wiLCJpZ3JhdmUiLCJpcXVlc3QiLCJpdW1sIiwibGFxdW8iLCJsdCIsIm1hY3IiLCJtaWNybyIsIm1pZGRvdCIsIm5ic3AiLCJub3QiLCJudGlsZGUiLCJvYWN1dGUiLCJvY2lyYyIsIm9ncmF2ZSIsIm9yZGYiLCJvcmRtIiwib3NsYXNoIiwib3RpbGRlIiwib3VtbCIsInBhcmEiLCJwbHVzbW4iLCJwb3VuZCIsInF1b3QiLCJyYXF1byIsInJlZyIsInNlY3QiLCJzaHkiLCJzdXAxIiwic3VwMiIsInN1cDMiLCJzemxpZyIsInRob3JuIiwidGltZXMiLCJ1YWN1dGUiLCJ1Y2lyYyIsInVncmF2ZSIsInVtbCIsInV1bWwiLCJ5YWN1dGUiLCJ5ZW4iLCJ5dW1sIl19KTt2YXIgYkosRzV0PWYoKCk9PntiSj17bmJzcDoiXHhBMCIsaWV4Y2w6Ilx4QTEiLGNlbnQ6Ilx4QTIiLHBvdW5kOiJceEEzIixjdXJyZW46Ilx4QTQiLHllbjoiXHhBNSIsYnJ2YmFyOiJceEE2IixzZWN0OiJceEE3Iix1bWw6Ilx4QTgiLGNvcHk6Ilx4QTkiLG9yZGY6Ilx4QUEiLGxhcXVvOiJceEFCIixub3Q6Ilx4QUMiLHNoeToiXHhBRCIscmVnOiJceEFFIixtYWNyOiJceEFGIixkZWc6Ilx4QjAiLHBsdXNtbjoiXHhCMSIsc3VwMjoiXHhCMiIsc3VwMzoiXHhCMyIsYWN1dGU6Ilx4QjQiLG1pY3JvOiJceEI1IixwYXJhOiJceEI2IixtaWRkb3Q6Ilx4QjciLGNlZGlsOiJceEI4IixzdXAxOiJceEI5IixvcmRtOiJceEJBIixyYXF1bzoiXHhCQiIsZnJhYzE0OiJceEJDIixmcmFjMTI6Ilx4QkQiLGZyYWMzNDoiXHhCRSIsaXF1ZXN0OiJceEJGIixBZ3JhdmU6Ilx4QzAiLEFhY3V0ZToiXHhDMSIsQWNpcmM6Ilx4QzIiLEF0aWxkZToiXHhDMyIsQXVtbDoiXHhDNCIsQXJpbmc6Ilx4QzUiLEFFbGlnOiJceEM2IixDY2VkaWw6Ilx4QzciLEVncmF2ZToiXHhDOCIsRWFjdXRlOiJceEM5IixFY2lyYzoiXHhDQSIsRXVtbDoiXHhDQiIsSWdyYXZlOiJceENDIixJYWN1dGU6Ilx4Q0QiLEljaXJjOiJceENFIixJdW1sOiJceENGIixFVEg6Ilx4RDAiLE50aWxkZToiXHhEMSIsT2dyYXZlOiJceEQyIixPYWN1dGU6Ilx4RDMiLE9jaXJjOiJceEQ0IixPdGlsZGU6Ilx4RDUiLE91bWw6Ilx4RDYiLHRpbWVzOiJceEQ3IixPc2xhc2g6Ilx4RDgiLFVncmF2ZToiXHhEOSIsVWFjdXRlOiJceERBIixVY2lyYzoiXHhEQiIsVXVtbDoiXHhEQyIsWWFjdXRlOiJceEREIixUSE9STjoiXHhERSIsc3psaWc6Ilx4REYiLGFncmF2ZToiXHhFMCIsYWFjdXRlOiJceEUxIixhY2lyYzoiXHhFMiIsYXRpbGRlOiJceEUzIixhdW1sOiJceEU0IixhcmluZzoiXHhFNSIsYWVsaWc6Ilx4RTYiLGNjZWRpbDoiXHhFNyIsZWdyYXZlOiJceEU4IixlYWN1dGU6Ilx4RTkiLGVjaXJjOiJceEVBIixldW1sOiJceEVCIixpZ3JhdmU6Ilx4RUMiLGlhY3V0ZToiXHhFRCIsaWNpcmM6Ilx4RUUiLGl1bWw6Ilx4RUYiLGV0aDoiXHhGMCIsbnRpbGRlOiJceEYxIixvZ3JhdmU6Ilx4RjIiLG9hY3V0ZToiXHhGMyIsb2NpcmM6Ilx4RjQiLG90aWxkZToiXHhGNSIsb3VtbDoiXHhGNiIsZGl2aWRlOiJceEY3Iixvc2xhc2g6Ilx4RjgiLHVncmF2ZToiXHhGOSIsdWFjdXRlOiJceEZBIix1Y2lyYzoiXHhGQiIsdXVtbDoiXHhGQyIseWFjdXRlOiJceEZEIix0aG9ybjoiXHhGRSIseXVtbDoiXHhGRiIsZm5vZjoiXHUwMTkyIixBbHBoYToiXHUwMzkxIixCZXRhOiJcdTAzOTIiLEdhbW1hOiJcdTAzOTMiLERlbHRhOiJcdTAzOTQiLEVwc2lsb246Ilx1MDM5NSIsWmV0YToiXHUwMzk2IixFdGE6Ilx1MDM5NyIsVGhldGE6Ilx1MDM5OCIsSW90YToiXHUwMzk5IixLYXBwYToiXHUwMzlBIixMYW1iZGE6Ilx1MDM5QiIsTXU6Ilx1MDM5QyIsTnU6Ilx1MDM5RCIsWGk6Ilx1MDM5RSIsT21pY3JvbjoiXHUwMzlGIixQaToiXHUwM0EwIixSaG86Ilx1MDNBMSIsU2lnbWE6Ilx1MDNBMyIsVGF1OiJcdTAzQTQiLFVwc2lsb246Ilx1MDNBNSIsUGhpOiJcdTAzQTYiLENoaToiXHUwM0E3IixQc2k6Ilx1MDNBOCIsT21lZ2E6Ilx1MDNBOSIsYWxwaGE6Ilx1MDNCMSIsYmV0YToiXHUwM0IyIixnYW1tYToiXHUwM0IzIixkZWx0YToiXHUwM0I0IixlcHNpbG9uOiJcdTAzQjUiLHpldGE6Ilx1MDNCNiIsZXRhOiJcdTAzQjciLHRoZXRhOiJcdTAzQjgiLGlvdGE6Ilx1MDNCOSIsa2FwcGE6Ilx1MDNCQSIsbGFtYmRhOiJcdTAzQkIiLG11OiJcdTAzQkMiLG51OiJcdTAzQkQiLHhpOiJcdTAzQkUiLG9taWNyb246Ilx1MDNCRiIscGk6Ilx1MDNDMCIscmhvOiJcdTAzQzEiLHNpZ21hZjoiXHUwM0MyIixzaWdtYToiXHUwM0MzIix0YXU6Ilx1MDNDNCIsdXBzaWxvbjoiXHUwM0M1IixwaGk6Ilx1MDNDNiIsY2hpOiJcdTAzQzciLHBzaToiXHUwM0M4IixvbWVnYToiXHUwM0M5Iix0aGV0YXN5bToiXHUwM0QxIix1cHNpaDoiXHUwM0QyIixwaXY6Ilx1MDNENiIsYnVsbDoiXHUyMDIyIixoZWxsaXA6Ilx1MjAyNiIscHJpbWU6Ilx1MjAzMiIsUHJpbWU6Ilx1MjAzMyIsb2xpbmU6Ilx1MjAzRSIsZnJhc2w6Ilx1MjA0NCIsd2VpZXJwOiJcdTIxMTgiLGltYWdlOiJcdTIxMTEiLHJlYWw6Ilx1MjExQyIsdHJhZGU6Ilx1MjEyMiIsYWxlZnN5bToiXHUyMTM1IixsYXJyOiJcdTIxOTAiLHVhcnI6Ilx1MjE5MSIscmFycjoiXHUyMTkyIixkYXJyOiJcdTIxOTMiLGhhcnI6Ilx1MjE5NCIsY3JhcnI6Ilx1MjFCNSIsbEFycjoiXHUyMUQwIix1QXJyOiJcdTIxRDEiLHJBcnI6Ilx1MjFEMiIsZEFycjoiXHUyMUQzIixoQXJyOiJcdTIxRDQiLGZvcmFsbDoiXHUyMjAwIixwYXJ0OiJcdTIyMDIiLGV4aXN0OiJcdTIyMDMiLGVtcHR5OiJcdTIyMDUiLG5hYmxhOiJcdTIyMDciLGlzaW46Ilx1MjIwOCIsbm90aW46Ilx1MjIwOSIsbmk6Ilx1MjIwQiIscHJvZDoiXHUyMjBGIixzdW06Ilx1MjIxMSIsbWludXM6Ilx1MjIxMiIsbG93YXN0OiJcdTIyMTciLHJhZGljOiJcdTIyMUEiLHByb3A6Ilx1MjIxRCIsaW5maW46Ilx1MjIxRSIsYW5nOiJcdTIyMjAiLGFuZDoiXHUyMjI3IixvcjoiXHUyMjI4IixjYXA6Ilx1MjIyOSIsY3VwOiJcdTIyMkEiLGludDoiXHUyMjJCIix0aGVyZTQ6Ilx1MjIzNCIsc2ltOiJcdTIyM0MiLGNvbmc6Ilx1MjI0NSIsYXN5bXA6Ilx1MjI0OCIsbmU6Ilx1MjI2MCIsZXF1aXY6Ilx1MjI2MSIsbGU6Ilx1MjI2NCIsZ2U6Ilx1MjI2NSIsc3ViOiJcdTIyODIiLHN1cDoiXHUyMjgzIixuc3ViOiJcdTIyODQiLHN1YmU6Ilx1MjI4NiIsc3VwZToiXHUyMjg3IixvcGx1czoiXHUyMjk1IixvdGltZXM6Ilx1MjI5NyIscGVycDoiXHUyMkE1IixzZG90OiJcdTIyQzUiLGxjZWlsOiJcdTIzMDgiLHJjZWlsOiJcdTIzMDkiLGxmbG9vcjoiXHUyMzBBIixyZmxvb3I6Ilx1MjMwQiIsbGFuZzoiXHUyMzI5IixyYW5nOiJcdTIzMkEiLGxvejoiXHUyNUNBIixzcGFkZXM6Ilx1MjY2MCIsY2x1YnM6Ilx1MjY2MyIsaGVhcnRzOiJcdTI2NjUiLGRpYW1zOiJcdTI2NjYiLHF1b3Q6JyInLGFtcDoiJiIsbHQ6IjwiLGd0OiI+IixPRWxpZzoiXHUwMTUyIixvZWxpZzoiXHUwMTUzIixTY2Fyb246Ilx1MDE2MCIsc2Nhcm9uOiJcdTAxNjEiLFl1bWw6Ilx1MDE3OCIsY2lyYzoiXHUwMkM2Iix0aWxkZToiXHUwMkRDIixlbnNwOiJcdTIwMDIiLGVtc3A6Ilx1MjAwMyIsdGhpbnNwOiJcdTIwMDkiLHp3bmo6Ilx1MjAwQyIsendqOiJcdTIwMEQiLGxybToiXHUyMDBFIixybG06Ilx1MjAwRiIsbmRhc2g6Ilx1MjAxMyIsbWRhc2g6Ilx1MjAxNCIsbHNxdW86Ilx1MjAxOCIscnNxdW86Ilx1MjAxOSIsc2JxdW86Ilx1MjAxQSIsbGRxdW86Ilx1MjAxQyIscmRxdW86Ilx1MjAxRCIsYmRxdW86Ilx1MjAxRSIsZGFnZ2VyOiJcdTIwMjAiLERhZ2dlcjoiXHUyMDIxIixwZXJtaWw6Ilx1MjAzMCIsbHNhcXVvOiJcdTIwMzkiLHJzYXF1bzoiXHUyMDNBIixldXJvOiJcdTIwQUMifX0pO3ZhciBZNXQsSzV0PWYoKCk9PntZNXQ9WyJjZW50IiwiY29weSIsImRpdmlkZSIsImd0IiwibHQiLCJub3QiLCJwYXJhIiwidGltZXMiXX0pO2Z1bmN0aW9uIFg1dChhLGUsdCxyKXtsZXQgaT1TdHJpbmcuZnJvbUNoYXJDb2RlKGEpO2lmKFo1dC5jYWxsKGZkZSxpKSl7bGV0IG89ZmRlW2ldLG49IiYiK287cmV0dXJuIHQmJlU1dC5pbmNsdWRlcyhvKSYmIVk1dC5pbmNsdWRlcyhvKSYmKCFyfHxlJiZlIT09NjEmJlNTYS50ZXN0KFN0cmluZy5mcm9tQ2hhckNvZGUoZSkpKT9uOm4rIjsifXJldHVybiIifXZhciBaNXQsZmRlLHZKLFNTYSxRNXQ9ZigoKT0+e1c1dCgpO0c1dCgpO0s1dCgpO1o1dD17fS5oYXNPd25Qcm9wZXJ0eSxmZGU9e307Zm9yKHZKIGluIGJKKVo1dC5jYWxsKGJKLHZKKSYmKGZkZVtiSlt2Sl1dPXZKKTtTU2E9L1teXGRBLVphLXpdLztzKFg1dCwidG9OYW1lZCIpfSk7ZnVuY3Rpb24gSjV0KGEsZSx0KXtsZXQgcj1INXQoYSxlLHQub21pdE9wdGlvbmFsU2VtaWNvbG9ucyksaTtpZigodC51c2VOYW1lZFJlZmVyZW5jZXN8fHQudXNlU2hvcnRlc3RSZWZlcmVuY2VzKSYmKGk9WDV0KGEsZSx0Lm9taXRPcHRpb25hbFNlbWljb2xvbnMsdC5hdHRyaWJ1dGUpKSwodC51c2VTaG9ydGVzdFJlZmVyZW5jZXN8fCFpKSYmdC51c2VTaG9ydGVzdFJlZmVyZW5jZXMpe2xldCBvPVY1dChhLGUsdC5vbWl0T3B0aW9uYWxTZW1pY29sb25zKTtvLmxlbmd0aDxyLmxlbmd0aCYmKHI9byl9cmV0dXJuIGkmJighdC51c2VTaG9ydGVzdFJlZmVyZW5jZXN8fGkubGVuZ3RoPHIubGVuZ3RoKT9pOnJ9dmFyIGVodD1mKCgpPT57cTV0KCk7ajV0KCk7UTV0KCk7cyhKNXQsImZvcm1hdFNtYXJ0Iil9KTtmdW5jdGlvbiB0aHQoYSl7cmV0dXJuIiYjeCIrYS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKSsiOyJ9dmFyIGFodD1mKCgpPT57cyh0aHQsImZvcm1hdEJhc2ljIil9KTtmdW5jdGlvbiBZbChhLGUpe3JldHVybiBwZGUoYSxPYmplY3QuYXNzaWduKHtmb3JtYXQ6SjV0fSxlKSl9ZnVuY3Rpb24gX3RzKGEsZSl7cmV0dXJuIHBkZShhLE9iamVjdC5hc3NpZ24oe2Zvcm1hdDp0aHR9LGUpKX12YXIgcmh0PWYoKCk9PntCNXQoKTtlaHQoKTthaHQoKTtzKFlsLCJzdHJpbmdpZnlFbnRpdGllcyIpO3MoX3RzLCJzdHJpbmdpZnlFbnRpdGllc0xpZ2h0Iil9KTt2YXIgeEo9ZigoKT0+e3JodCgpfSk7ZnVuY3Rpb24gc2h0KGEsZSx0LHIpe3JldHVybiByLnNldHRpbmdzLmJvZ3VzQ29tbWVudHM/Ijw/IitZbChhLnZhbHVlLE9iamVjdC5hc3NpZ24oe30sci5zZXR0aW5ncy5jaGFyYWN0ZXJSZWZlcmVuY2VzLHtzdWJzZXQ6Q1NhfSkpKyI+IjoiPCEtLSIrYS52YWx1ZS5yZXBsYWNlKHpTYSxpKSsiLS0+IjtmdW5jdGlvbiBpKG8pe3JldHVybiBZbChvLE9iamVjdC5hc3NpZ24oe30sci5zZXR0aW5ncy5jaGFyYWN0ZXJSZWZlcmVuY2VzLHtzdWJzZXQ6X1NhfSkpfX12YXIgelNhLENTYSxfU2EsaWh0PWYoKCk9Pnt4SigpO3pTYT0vXj58Xi0+fDwhLS18LS0+fC0tIT58PCEtJC9nLENTYT1bIj4iXSxfU2E9WyI8IiwiPiJdO3Moc2h0LCJjb21tZW50Iil9KTtmdW5jdGlvbiBvaHQoYSxlLHQscil7cmV0dXJuIjwhIisoci5zZXR0aW5ncy51cHBlckRvY3R5cGU/IkRPQ1RZUEUiOiJkb2N0eXBlIikrKHIuc2V0dGluZ3MudGlnaHREb2N0eXBlPyIiOiIgIikrImh0bWw+In12YXIgbmh0PWYoKCk9PntzKG9odCwiZG9jdHlwZSIpfSk7ZnVuY3Rpb24gUnRzKGEpe2xldCBlPVtdLHQ9U3RyaW5nKGF8fCIiKSxyPXQuaW5kZXhPZigiLCIpLGk9MCxvPSExO2Zvcig7IW87KXtyPT09LTEmJihyPXQubGVuZ3RoLG89ITApO2xldCBuPXQuc2xpY2UoaSxyKS50cmltKCk7KG58fCFvKSYmZS5wdXNoKG4pLGk9cisxLHI9dC5pbmRleE9mKCIsIixpKX1yZXR1cm4gZX1mdW5jdGlvbiBsaHQoYSxlKXtsZXQgdD1lfHx7fTtyZXR1cm4oYVthLmxlbmd0aC0xXT09PSIiP1suLi5hLCIiXTphKS5qb2luKCh0LnBhZFJpZ2h0PyIgIjoiIikrIiwiKyh0LnBhZExlZnQ9PT0hMT8iIjoiICIpKS50cmltKCl9dmFyIGNodD1mKCgpPT57cyhSdHMsInBhcnNlIik7cyhsaHQsInN0cmluZ2lmeSIpfSk7ZnVuY3Rpb24gQnRzKGEpe2xldCBlPVN0cmluZyhhfHwiIikudHJpbSgpO3JldHVybiBlP2Uuc3BsaXQoL1sgXHRcblxyXGZdKy9nKTpbXX1mdW5jdGlvbiBkaHQoYSl7cmV0dXJuIGEuam9pbigiICIpLnRyaW0oKX12YXIgdWh0PWYoKCk9PntzKEJ0cywicGFyc2UiKTtzKGRodCwic3RyaW5naWZ5Iil9KTtmdW5jdGlvbiBuZChhKXtyZXR1cm4gdHlwZW9mIGE9PSJvYmplY3QiP2EudHlwZT09PSJ0ZXh0Ij9waHQoYS52YWx1ZSk6ITE6cGh0KGEpfWZ1bmN0aW9uIHBodChhKXtyZXR1cm4gYS5yZXBsYWNlKFRTYSwiIik9PT0iIn12YXIgVFNhLGZodD1mKCgpPT57VFNhPS9bIFx0XG5cZlxyXS9nO3MobmQsIndoaXRlc3BhY2UiKTtzKHBodCwiZW1wdHkiKX0pO3ZhciB5Sj1mKCgpPT57Zmh0KCl9KTtmdW5jdGlvbiBoaHQoYSl7cmV0dXJuIGU7ZnVuY3Rpb24gZSh0LHIsaSl7bGV0IG89dD90LmNoaWxkcmVuOkxTYSxuPShyfHwwKSthLGw9b1tuXTtpZighaSlmb3IoO2wmJm5kKGwpOyluKz1hLGw9b1tuXTtyZXR1cm4gbH19dmFyIEtyLGhkZSxMU2EsbWRlPWYoKCk9Pnt5SigpO0tyPWhodCgxKSxoZGU9aGh0KC0xKSxMU2E9W107cyhoaHQsInNpYmxpbmdzIil9KTtmdW5jdGlvbiB3SihhKXtyZXR1cm4gZTtmdW5jdGlvbiBlKHQscixpKXtyZXR1cm4gJFNhLmNhbGwoYSx0LnRhZ05hbWUpJiZhW3QudGFnTmFtZV0odCxyLGkpfX12YXIgJFNhLGdkZT1mKCgpPT57JFNhPXt9Lmhhc093blByb3BlcnR5O3Mod0osIm9taXNzaW9uIil9KTtmdW5jdGlvbiBiZGUoYSxlLHQpe2xldCByPUtyKHQsZSwhMCk7cmV0dXJuIXJ8fHIudHlwZSE9PSJjb21tZW50IiYmIShyLnR5cGU9PT0idGV4dCImJm5kKHIudmFsdWUuY2hhckF0KDApKSl9ZnVuY3Rpb24gRFNhKGEsZSx0KXtsZXQgcj1Lcih0LGUpO3JldHVybiFyfHxyLnR5cGUhPT0iY29tbWVudCJ9ZnVuY3Rpb24gQVNhKGEsZSx0KXtsZXQgcj1Lcih0LGUpO3JldHVybiFyfHxyLnR5cGUhPT0iY29tbWVudCJ9ZnVuY3Rpb24gRVNhKGEsZSx0KXtsZXQgcj1Lcih0LGUpO3JldHVybiByP3IudHlwZT09PSJlbGVtZW50IiYmKHIudGFnTmFtZT09PSJhZGRyZXNzInx8ci50YWdOYW1lPT09ImFydGljbGUifHxyLnRhZ05hbWU9PT0iYXNpZGUifHxyLnRhZ05hbWU9PT0iYmxvY2txdW90ZSJ8fHIudGFnTmFtZT09PSJkZXRhaWxzInx8ci50YWdOYW1lPT09ImRpdiJ8fHIudGFnTmFtZT09PSJkbCJ8fHIudGFnTmFtZT09PSJmaWVsZHNldCJ8fHIudGFnTmFtZT09PSJmaWdjYXB0aW9uInx8ci50YWdOYW1lPT09ImZpZ3VyZSJ8fHIudGFnTmFtZT09PSJmb290ZXIifHxyLnRhZ05hbWU9PT0iZm9ybSJ8fHIudGFnTmFtZT09PSJoMSJ8fHIudGFnTmFtZT09PSJoMiJ8fHIudGFnTmFtZT09PSJoMyJ8fHIudGFnTmFtZT09PSJoNCJ8fHIudGFnTmFtZT09PSJoNSJ8fHIudGFnTmFtZT09PSJoNiJ8fHIudGFnTmFtZT09PSJoZWFkZXIifHxyLnRhZ05hbWU9PT0iaGdyb3VwInx8ci50YWdOYW1lPT09ImhyInx8ci50YWdOYW1lPT09Im1haW4ifHxyLnRhZ05hbWU9PT0ibWVudSJ8fHIudGFnTmFtZT09PSJuYXYifHxyLnRhZ05hbWU9PT0ib2wifHxyLnRhZ05hbWU9PT0icCJ8fHIudGFnTmFtZT09PSJwcmUifHxyLnRhZ05hbWU9PT0ic2VjdGlvbiJ8fHIudGFnTmFtZT09PSJ0YWJsZSJ8fHIudGFnTmFtZT09PSJ1bCIpOiF0fHwhKHQudHlwZT09PSJlbGVtZW50IiYmKHQudGFnTmFtZT09PSJhInx8dC50YWdOYW1lPT09ImF1ZGlvInx8dC50YWdOYW1lPT09ImRlbCJ8fHQudGFnTmFtZT09PSJpbnMifHx0LnRhZ05hbWU9PT0ibWFwInx8dC50YWdOYW1lPT09Im5vc2NyaXB0Inx8dC50YWdOYW1lPT09InZpZGVvIikpfWZ1bmN0aW9uIFBTYShhLGUsdCl7bGV0IHI9S3IodCxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiZyLnRhZ05hbWU9PT0ibGkifWZ1bmN0aW9uIElTYShhLGUsdCl7bGV0IHI9S3IodCxlKTtyZXR1cm4hIShyJiZyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0iZHQifHxyLnRhZ05hbWU9PT0iZGQiKSl9ZnVuY3Rpb24gTlNhKGEsZSx0KXtsZXQgcj1Lcih0LGUpO3JldHVybiFyfHxyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0iZHQifHxyLnRhZ05hbWU9PT0iZGQiKX1mdW5jdGlvbiBtaHQoYSxlLHQpe2xldCByPUtyKHQsZSk7cmV0dXJuIXJ8fHIudHlwZT09PSJlbGVtZW50IiYmKHIudGFnTmFtZT09PSJycCJ8fHIudGFnTmFtZT09PSJydCIpfWZ1bmN0aW9uIFJTYShhLGUsdCl7bGV0IHI9S3IodCxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiZyLnRhZ05hbWU9PT0ib3B0Z3JvdXAifWZ1bmN0aW9uIE9TYShhLGUsdCl7bGV0IHI9S3IodCxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiYoci50YWdOYW1lPT09Im9wdGlvbiJ8fHIudGFnTmFtZT09PSJvcHRncm91cCIpfWZ1bmN0aW9uIEZTYShhLGUsdCl7bGV0IHI9S3IodCxlKTtyZXR1cm4hIShyJiZyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0idGJvZHkifHxyLnRhZ05hbWU9PT0idGZvb3QiKSl9ZnVuY3Rpb24gQlNhKGEsZSx0KXtsZXQgcj1Lcih0LGUpO3JldHVybiFyfHxyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0idGJvZHkifHxyLnRhZ05hbWU9PT0idGZvb3QiKX1mdW5jdGlvbiBIU2EoYSxlLHQpe3JldHVybiFLcih0LGUpfWZ1bmN0aW9uIHFTYShhLGUsdCl7bGV0IHI9S3IodCxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiZyLnRhZ05hbWU9PT0idHIifWZ1bmN0aW9uIGdodChhLGUsdCl7bGV0IHI9S3IodCxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiYoci50YWdOYW1lPT09InRkInx8ci50YWdOYW1lPT09InRoIil9dmFyIGhiLHZkZT1mKCgpPT57eUooKTttZGUoKTtnZGUoKTtoYj13Sih7Ym9keTpBU2EsY2FwdGlvbjpiZGUsY29sZ3JvdXA6YmRlLGRkOk5TYSxkdDpJU2EsaGVhZDpiZGUsaHRtbDpEU2EsbGk6UFNhLG9wdGdyb3VwOlJTYSxvcHRpb246T1NhLHA6RVNhLHJwOm1odCxydDptaHQsdGJvZHk6QlNhLHRkOmdodCx0Zm9vdDpIU2EsdGg6Z2h0LHRoZWFkOkZTYSx0cjpxU2F9KTtzKGJkZSwiaGVhZE9yQ29sZ3JvdXBPckNhcHRpb24iKTtzKERTYSwiaHRtbCIpO3MoQVNhLCJib2R5Iik7cyhFU2EsInAiKTtzKFBTYSwibGkiKTtzKElTYSwiZHQiKTtzKE5TYSwiZGQiKTtzKG1odCwicnVieUVsZW1lbnQiKTtzKFJTYSwib3B0Z3JvdXAiKTtzKE9TYSwib3B0aW9uIik7cyhGU2EsInRoZWFkIik7cyhCU2EsInRib2R5Iik7cyhIU2EsInRmb290Iik7cyhxU2EsInRyIik7cyhnaHQsImNlbGxzIil9KTtmdW5jdGlvbiBWU2EoYSl7bGV0IGU9S3IoYSwtMSk7cmV0dXJuIWV8fGUudHlwZSE9PSJjb21tZW50In1mdW5jdGlvbiBqU2EoYSl7bGV0IGU9bmV3IFNldDtmb3IobGV0IHIgb2YgYS5jaGlsZHJlbilpZihyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0iYmFzZSJ8fHIudGFnTmFtZT09PSJ0aXRsZSIpKXtpZihlLmhhcyhyLnRhZ05hbWUpKXJldHVybiExO2UuYWRkKHIudGFnTmFtZSl9bGV0IHQ9YS5jaGlsZHJlblswXTtyZXR1cm4hdHx8dC50eXBlPT09ImVsZW1lbnQifWZ1bmN0aW9uIFVTYShhKXtsZXQgZT1LcihhLC0xLCEwKTtyZXR1cm4hZXx8ZS50eXBlIT09ImNvbW1lbnQiJiYhKGUudHlwZT09PSJ0ZXh0IiYmbmQoZS52YWx1ZS5jaGFyQXQoMCkpKSYmIShlLnR5cGU9PT0iZWxlbWVudCImJihlLnRhZ05hbWU9PT0ibWV0YSJ8fGUudGFnTmFtZT09PSJsaW5rInx8ZS50YWdOYW1lPT09InNjcmlwdCJ8fGUudGFnTmFtZT09PSJzdHlsZSJ8fGUudGFnTmFtZT09PSJ0ZW1wbGF0ZSIpKX1mdW5jdGlvbiBXU2EoYSxlLHQpe2xldCByPWhkZSh0LGUpLGk9S3IoYSwtMSwhMCk7cmV0dXJuIHQmJnImJnIudHlwZT09PSJlbGVtZW50IiYmci50YWdOYW1lPT09ImNvbGdyb3VwIiYmaGIocix0LmNoaWxkcmVuLmluZGV4T2YociksdCk/ITE6ISEoaSYmaS50eXBlPT09ImVsZW1lbnQiJiZpLnRhZ05hbWU9PT0iY29sIil9ZnVuY3Rpb24gR1NhKGEsZSx0KXtsZXQgcj1oZGUodCxlKSxpPUtyKGEsLTEpO3JldHVybiB0JiZyJiZyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0idGhlYWQifHxyLnRhZ05hbWU9PT0idGJvZHkiKSYmaGIocix0LmNoaWxkcmVuLmluZGV4T2YociksdCk/ITE6ISEoaSYmaS50eXBlPT09ImVsZW1lbnQiJiZpLnRhZ05hbWU9PT0idHIiKX12YXIgYmh0LHZodD1mKCgpPT57eUooKTttZGUoKTt2ZGUoKTtnZGUoKTtiaHQ9d0ooe2JvZHk6VVNhLGNvbGdyb3VwOldTYSxoZWFkOmpTYSxodG1sOlZTYSx0Ym9keTpHU2F9KTtzKFZTYSwiaHRtbCIpO3MoalNhLCJoZWFkIik7cyhVU2EsImJvZHkiKTtzKFdTYSwiY29sZ3JvdXAiKTtzKEdTYSwidGJvZHkiKX0pO2Z1bmN0aW9uIHhodChhLGUsdCxyKXtsZXQgaT1yLnNjaGVtYSxvPWkuc3BhY2U9PT0ic3ZnIj8hMTpyLnNldHRpbmdzLm9taXRPcHRpb25hbFRhZ3Msbj1pLnNwYWNlPT09InN2ZyI/ci5zZXR0aW5ncy5jbG9zZUVtcHR5RWxlbWVudHM6ci5zZXR0aW5ncy52b2lkcy5pbmNsdWRlcyhhLnRhZ05hbWUudG9Mb3dlckNhc2UoKSksbD1bXSxkO2kuc3BhY2U9PT0iaHRtbCImJmEudGFnTmFtZT09PSJzdmciJiYoci5zY2hlbWE9Z0opO2xldCBjPVlTYShyLGEucHJvcGVydGllcykscD1yLmFsbChpLnNwYWNlPT09Imh0bWwiJiZhLnRhZ05hbWU9PT0idGVtcGxhdGUiP2EuY29udGVudDphKTtyZXR1cm4gci5zY2hlbWE9aSxwJiYobj0hMSksKGN8fCFvfHwhYmh0KGEsZSx0KSkmJihsLnB1c2goIjwiLGEudGFnTmFtZSxjPyIgIitjOiIiKSxuJiYoaS5zcGFjZT09PSJzdmcifHxyLnNldHRpbmdzLmNsb3NlU2VsZkNsb3NpbmcpJiYoZD1jLmNoYXJBdChjLmxlbmd0aC0xKSwoIXIuc2V0dGluZ3MudGlnaHRTZWxmQ2xvc2luZ3x8ZD09PSIvInx8ZCYmZCE9PSciJyYmZCE9PSInIikmJmwucHVzaCgiICIpLGwucHVzaCgiLyIpKSxsLnB1c2goIj4iKSksbC5wdXNoKHApLCFuJiYoIW98fCFoYihhLGUsdCkpJiZsLnB1c2goIjwvIithLnRhZ05hbWUrIj4iKSxsLmpvaW4oIiIpfWZ1bmN0aW9uIFlTYShhLGUpe2xldCB0PVtdLHI9LTEsaTtpZihlKXtmb3IoaSBpbiBlKWlmKGVbaV0hPT1udWxsJiZlW2ldIT09dm9pZCAwKXtsZXQgbz1LU2EoYSxpLGVbaV0pO28mJnQucHVzaChvKX19Zm9yKDsrK3I8dC5sZW5ndGg7KXtsZXQgbz1hLnNldHRpbmdzLnRpZ2h0QXR0cmlidXRlcz90W3JdLmNoYXJBdCh0W3JdLmxlbmd0aC0xKTp2b2lkIDA7ciE9PXQubGVuZ3RoLTEmJm8hPT0nIicmJm8hPT0iJyImJih0W3JdKz0iICIpfXJldHVybiB0LmpvaW4oIiIpfWZ1bmN0aW9uIEtTYShhLGUsdCl7bGV0IHI9ZGRlKGEuc2NoZW1hLGUpLGk9YS5zZXR0aW5ncy5hbGxvd1BhcnNlRXJyb3JzJiZhLnNjaGVtYS5zcGFjZT09PSJodG1sIj8wOjEsbz1hLnNldHRpbmdzLmFsbG93RGFuZ2Vyb3VzQ2hhcmFjdGVycz8wOjEsbj1hLnF1b3RlLGw7aWYoci5vdmVybG9hZGVkQm9vbGVhbiYmKHQ9PT1yLmF0dHJpYnV0ZXx8dD09PSIiKT90PSEwOihyLmJvb2xlYW58fHIub3ZlcmxvYWRlZEJvb2xlYW4pJiYodHlwZW9mIHQhPSJzdHJpbmcifHx0PT09ci5hdHRyaWJ1dGV8fHQ9PT0iIikmJih0PSEhdCksdD09bnVsbHx8dD09PSExfHx0eXBlb2YgdD09Im51bWJlciImJk51bWJlci5pc05hTih0KSlyZXR1cm4iIjtsZXQgZD1ZbChyLmF0dHJpYnV0ZSxPYmplY3QuYXNzaWduKHt9LGEuc2V0dGluZ3MuY2hhcmFjdGVyUmVmZXJlbmNlcyx7c3Vic2V0Ok1KLm5hbWVbaV1bb119KSk7cmV0dXJuIHQ9PT0hMHx8KHQ9QXJyYXkuaXNBcnJheSh0KT8oci5jb21tYVNlcGFyYXRlZD9saHQ6ZGh0KSh0LHtwYWRMZWZ0OiFhLnNldHRpbmdzLnRpZ2h0Q29tbWFTZXBhcmF0ZWRMaXN0c30pOlN0cmluZyh0KSxhLnNldHRpbmdzLmNvbGxhcHNlRW1wdHlBdHRyaWJ1dGVzJiYhdCk/ZDooYS5zZXR0aW5ncy5wcmVmZXJVbnF1b3RlZCYmKGw9WWwodCxPYmplY3QuYXNzaWduKHt9LGEuc2V0dGluZ3MuY2hhcmFjdGVyUmVmZXJlbmNlcyx7YXR0cmlidXRlOiEwLHN1YnNldDpNSi51bnF1b3RlZFtpXVtvXX0pKSksbCE9PXQmJihhLnNldHRpbmdzLnF1b3RlU21hcnQmJk04KHQsbik+TTgodCxhLmFsdGVybmF0aXZlKSYmKG49YS5hbHRlcm5hdGl2ZSksbD1uK1lsKHQsT2JqZWN0LmFzc2lnbih7fSxhLnNldHRpbmdzLmNoYXJhY3RlclJlZmVyZW5jZXMse3N1YnNldDoobj09PSInIj9NSi5zaW5nbGU6TUouZG91YmxlKVtpXVtvXSxhdHRyaWJ1dGU6ITB9KSkrbiksZCsobCYmIj0iK2wpKX12YXIgTUoseWh0PWYoKCk9PntzNGUoKTtjaHQoKTt1ZGUoKTt1aHQoKTt4SigpO3ZkZSgpO3ZodCgpO01KPXtuYW1lOltbYAkKXGZcciAmLz0+YC5zcGxpdCgiIiksYAkKXGZcciAiJicvPT5cYGAuc3BsaXQoIiIpXSxbYFwwCQpcZlxyICImJy88PT5gLnNwbGl0KCIiKSxgXDAJClxmXHIgIiYnLzw9PlxgYC5zcGxpdCgiIildXSx1bnF1b3RlZDpbW2AJClxmXHIgJj5gLnNwbGl0KCIiKSxgXDAJClxmXHIgIiYnPD0+XGBgLnNwbGl0KCIiKV0sW2BcMAkKXGZcciAiJic8PT5cYGAuc3BsaXQoIiIpLGBcMAkKXGZcciAiJic8PT5cYGAuc3BsaXQoIiIpXV0sc2luZ2xlOltbIiYnIi5zcGxpdCgiIiksIlwiJidgIi5zcGxpdCgiIildLFsiXDAmJyIuc3BsaXQoIiIpLCJcMFwiJidgIi5zcGxpdCgiIildXSxkb3VibGU6W1snIiYnLnNwbGl0KCIiKSwiXCImJ2AiLnNwbGl0KCIiKV0sWydcMCImJy5zcGxpdCgiIiksIlwwXCImJ2AiLnNwbGl0KCIiKV1dfTtzKHhodCwiZWxlbWVudCIpO3MoWVNhLCJzZXJpYWxpemVBdHRyaWJ1dGVzIik7cyhLU2EsInNlcmlhbGl6ZUF0dHJpYnV0ZSIpfSk7ZnVuY3Rpb24ga0ooYSxlLHQscil7cmV0dXJuIHQmJnQudHlwZT09PSJlbGVtZW50IiYmKHQudGFnTmFtZT09PSJzY3JpcHQifHx0LnRhZ05hbWU9PT0ic3R5bGUiKT9hLnZhbHVlOllsKGEudmFsdWUsT2JqZWN0LmFzc2lnbih7fSxyLnNldHRpbmdzLmNoYXJhY3RlclJlZmVyZW5jZXMse3N1YnNldDpaU2F9KSl9dmFyIFpTYSx4ZGU9ZigoKT0+e3hKKCk7WlNhPVsiPCIsIiYiXTtzKGtKLCJ0ZXh0Iil9KTtmdW5jdGlvbiB3aHQoYSxlLHQscil7cmV0dXJuIHIuc2V0dGluZ3MuYWxsb3dEYW5nZXJvdXNIdG1sP2EudmFsdWU6a0ooYSxlLHQscil9dmFyIE1odD1mKCgpPT57eGRlKCk7cyh3aHQsInJhdyIpfSk7ZnVuY3Rpb24ga2h0KGEsZSx0LHIpe3JldHVybiByLmFsbChhKX12YXIgU2h0PWYoKCk9PntzKGtodCwicm9vdCIpfSk7ZnVuY3Rpb24gWFNhKGEpe3Rocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgbm9kZSwgbm90IGAiK2ErImAiKX1mdW5jdGlvbiBRU2EoYSl7bGV0IGU9YTt0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBjb21waWxlIHVua25vd24gbm9kZSBgIitlLnR5cGUrImAiKX12YXIgemh0LENodD1mKCgpPT57bTRlKCk7aWh0KCk7bmh0KCk7eWh0KCk7TWh0KCk7U2h0KCk7eGRlKCk7emh0PU1RKCJ0eXBlIix7aW52YWxpZDpYU2EsdW5rbm93bjpRU2EsaGFuZGxlcnM6e2NvbW1lbnQ6c2h0LGRvY3R5cGU6b2h0LGVsZW1lbnQ6eGh0LHJhdzp3aHQscm9vdDpraHQsdGV4dDprSn19KTtzKFhTYSwiaW52YWxpZCIpO3MoUVNhLCJ1bmtub3duIil9KTtmdW5jdGlvbiB5ZGUoYSxlKXtsZXQgdD1lfHxKU2Escj10LnF1b3RlfHwnIicsaT1yPT09JyInPyInIjonIic7aWYociE9PSciJyYmciE9PSInIil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgcXVvdGUgYCIrcisiYCwgZXhwZWN0ZWQgYCdgIG9yIGBcImAiKTtyZXR1cm57b25lOmF6YSxhbGw6cnphLHNldHRpbmdzOntvbWl0T3B0aW9uYWxUYWdzOnQub21pdE9wdGlvbmFsVGFnc3x8ITEsYWxsb3dQYXJzZUVycm9yczp0LmFsbG93UGFyc2VFcnJvcnN8fCExLGFsbG93RGFuZ2Vyb3VzQ2hhcmFjdGVyczp0LmFsbG93RGFuZ2Vyb3VzQ2hhcmFjdGVyc3x8ITEscXVvdGVTbWFydDp0LnF1b3RlU21hcnR8fCExLHByZWZlclVucXVvdGVkOnQucHJlZmVyVW5xdW90ZWR8fCExLHRpZ2h0QXR0cmlidXRlczp0LnRpZ2h0QXR0cmlidXRlc3x8ITEsdXBwZXJEb2N0eXBlOnQudXBwZXJEb2N0eXBlfHwhMSx0aWdodERvY3R5cGU6dC50aWdodERvY3R5cGV8fCExLGJvZ3VzQ29tbWVudHM6dC5ib2d1c0NvbW1lbnRzfHwhMSx0aWdodENvbW1hU2VwYXJhdGVkTGlzdHM6dC50aWdodENvbW1hU2VwYXJhdGVkTGlzdHN8fCExLHRpZ2h0U2VsZkNsb3Npbmc6dC50aWdodFNlbGZDbG9zaW5nfHwhMSxjb2xsYXBzZUVtcHR5QXR0cmlidXRlczp0LmNvbGxhcHNlRW1wdHlBdHRyaWJ1dGVzfHwhMSxhbGxvd0Rhbmdlcm91c0h0bWw6dC5hbGxvd0Rhbmdlcm91c0h0bWx8fCExLHZvaWRzOnQudm9pZHN8fGs1dCxjaGFyYWN0ZXJSZWZlcmVuY2VzOnQuY2hhcmFjdGVyUmVmZXJlbmNlc3x8ZXphLGNsb3NlU2VsZkNsb3Npbmc6dC5jbG9zZVNlbGZDbG9zaW5nfHwhMSxjbG9zZUVtcHR5RWxlbWVudHM6dC5jbG9zZUVtcHR5RWxlbWVudHN8fCExfSxzY2hlbWE6dC5zcGFjZT09PSJzdmciP2dKOk81dCxxdW90ZTpyLGFsdGVybmF0aXZlOml9Lm9uZShBcnJheS5pc0FycmF5KGEpP3t0eXBlOiJyb290IixjaGlsZHJlbjphfTphLHZvaWQgMCx2b2lkIDApfWZ1bmN0aW9uIGF6YShhLGUsdCl7cmV0dXJuIHpodChhLGUsdCx0aGlzKX1mdW5jdGlvbiByemEoYSl7bGV0IGU9W10sdD1hJiZhLmNoaWxkcmVufHx0emEscj0tMTtmb3IoOysrcjx0Lmxlbmd0aDspZVtyXT10aGlzLm9uZSh0W3JdLHIsYSk7cmV0dXJuIGUuam9pbigiIil9dmFyIEpTYSxlemEsdHphLF9odD1mKCgpPT57UzV0KCk7dWRlKCk7Q2h0KCk7SlNhPXt9LGV6YT17fSx0emE9W107cyh5ZGUsInRvSHRtbCIpO3MoYXphLCJvbmUiKTtzKHJ6YSwiYWxsIil9KTt2YXIgVGh0PWYoKCk9PntfaHQoKX0pO2Z1bmN0aW9uIE44KGEpe2xldCBlPXRoaXMse2hhbmRsZXJzOnQsc2FuaXRpemU6ciwuLi5pfT1hfHxzemEsbz0hMSxuO3R5cGVvZiByPT0iYm9vbGVhbiI/bz0hcjpyJiYobj1yKSxlLmNvbXBpbGVyPWw7ZnVuY3Rpb24gbChkLGMpe2xldCBwPVEzZShkLHtoYW5kbGVyczp0LGFsbG93RGFuZ2Vyb3VzSHRtbDpvfSksdT1vP3A6VzNlKHAsbiksbT15ZGUodSx7Li4uaSxhbGxvd0Rhbmdlcm91c0h0bWw6b30pO3JldHVybiBjLmV4dG5hbWUmJihjLmV4dG5hbWU9Ii5odG1sIiksZCYmZC50eXBlPT09InJvb3QiJiZtJiYvW15cclxuXS8udGVzdChtLmNoYXJBdChtLmxlbmd0aC0xKSk/bStgCmA6bX1zKGwsImNvbXBpbGVyIil9dmFyIHN6YSxMaHQ9ZigoKT0+e3ZmdCgpO001dCgpO1RodCgpO3N6YT17fTtzKE44LCJyZW1hcmtIdG1sIil9KTt2YXIgJGh0PWYoKCk9PntMaHQoKX0pO2Z1bmN0aW9uIFI4KGEpe2xldCBlPXRoaXM7ZS5jb21waWxlcj10O2Z1bmN0aW9uIHQocil7cmV0dXJuIE40ZShyLHsuLi5lLmRhdGEoInNldHRpbmdzIiksLi4uYSxleHRlbnNpb25zOmUuZGF0YSgidG9NYXJrZG93bkV4dGVuc2lvbnMiKXx8W119KX1zKHQsImNvbXBpbGVyIil9dmFyIERodD1mKCgpPT57QVEoKTtzKFI4LCJyZW1hcmtTdHJpbmdpZnkiKX0pO3ZhciBBaHQ9ZigoKT0+e0RodCgpfSk7ZnVuY3Rpb24gaXphKGEpe2Zvcih2YXIgZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspe3ZhciB0PWFyZ3VtZW50c1tlXTtmb3IodmFyIHIgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKGFbcl09dFtyXSl9cmV0dXJuIGF9ZnVuY3Rpb24gd2RlKGEsZSl7cmV0dXJuIEFycmF5KGUrMSkuam9pbihhKX1mdW5jdGlvbiBFaHQoYSl7cmV0dXJuIGEucmVwbGFjZSgvXlxuKi8sIiIpfWZ1bmN0aW9uIFBodChhKXtmb3IodmFyIGU9YS5sZW5ndGg7ZT4wJiZhW2UtMV09PT1gCmA7KWUtLTtyZXR1cm4gYS5zdWJzdHJpbmcoMCxlKX1mdW5jdGlvbiBJaHQoYSl7cmV0dXJuIFBodChFaHQoYSkpfWZ1bmN0aW9uIE1kZShhKXtyZXR1cm4ga2RlKGEsb3phKX1mdW5jdGlvbiBSaHQoYSl7cmV0dXJuIGtkZShhLE5odCl9ZnVuY3Rpb24gbnphKGEpe3JldHVybiBGaHQoYSxOaHQpfWZ1bmN0aW9uIGx6YShhKXtyZXR1cm4ga2RlKGEsT2h0KX1mdW5jdGlvbiBjemEoYSl7cmV0dXJuIEZodChhLE9odCl9ZnVuY3Rpb24ga2RlKGEsZSl7cmV0dXJuIGUuaW5kZXhPZihhLm5vZGVOYW1lKT49MH1mdW5jdGlvbiBGaHQoYSxlKXtyZXR1cm4gYS5nZXRFbGVtZW50c0J5VGFnTmFtZSYmZS5zb21lKGZ1bmN0aW9uKHQpe3JldHVybiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lKHQpLmxlbmd0aH0pfWZ1bmN0aW9uIEJodChhKXtyZXR1cm4gZHphLnJlZHVjZShmdW5jdGlvbihlLHQpe3JldHVybiBlLnJlcGxhY2UodFswXSx0WzFdKX0sYSl9ZnVuY3Rpb24gU0ooYSl7cmV0dXJuIGE/YS5yZXBsYWNlKC8oXG4rXHMqKSsvZyxgCmApOiIifWZ1bmN0aW9uIFNkZShhKXt2YXIgZT1hLnJlcGxhY2UoLyhbPD4oKV0pL2csIlxcJDEiKTtyZXR1cm4gZS5pbmRleE9mKCIgIik+PTA/IjwiK2UrIj4iOmV9ZnVuY3Rpb24gemRlKGEpe3JldHVybiBhLnJlcGxhY2UoLyIvZywnXFwiJyl9ZnVuY3Rpb24gSGh0KGEpe3RoaXMub3B0aW9ucz1hLHRoaXMuX2tlZXA9W10sdGhpcy5fcmVtb3ZlPVtdLHRoaXMuYmxhbmtSdWxlPXtyZXBsYWNlbWVudDphLmJsYW5rUmVwbGFjZW1lbnR9LHRoaXMua2VlcFJlcGxhY2VtZW50PWEua2VlcFJlcGxhY2VtZW50LHRoaXMuZGVmYXVsdFJ1bGU9e3JlcGxhY2VtZW50OmEuZGVmYXVsdFJlcGxhY2VtZW50fSx0aGlzLmFycmF5PVtdO2Zvcih2YXIgZSBpbiBhLnJ1bGVzKXRoaXMuYXJyYXkucHVzaChhLnJ1bGVzW2VdKX1mdW5jdGlvbiBDZGUoYSxlLHQpe2Zvcih2YXIgcj0wO3I8YS5sZW5ndGg7cisrKXt2YXIgaT1hW3JdO2lmKHV6YShpLGUsdCkpcmV0dXJuIGl9fWZ1bmN0aW9uIHV6YShhLGUsdCl7dmFyIHI9YS5maWx0ZXI7aWYodHlwZW9mIHI9PSJzdHJpbmciKXtpZihyPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXJldHVybiEwfWVsc2UgaWYoQXJyYXkuaXNBcnJheShyKSl7aWYoci5pbmRleE9mKGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk+LTEpcmV0dXJuITB9ZWxzZSBpZih0eXBlb2Ygcj09ImZ1bmN0aW9uIil7aWYoci5jYWxsKGEsZSx0KSlyZXR1cm4hMH1lbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoImBmaWx0ZXJgIG5lZWRzIHRvIGJlIGEgc3RyaW5nLCBhcnJheSwgb3IgZnVuY3Rpb24iKX1mdW5jdGlvbiBwemEoYSl7dmFyIGU9YS5lbGVtZW50LHQ9YS5pc0Jsb2NrLHI9YS5pc1ZvaWQsaT1hLmlzUHJlfHxmdW5jdGlvbih1KXtyZXR1cm4gdS5ub2RlTmFtZT09PSJQUkUifTtpZighKCFlLmZpcnN0Q2hpbGR8fGkoZSkpKXtmb3IodmFyIG89bnVsbCxuPSExLGw9bnVsbCxkPXFodChsLGUsaSk7ZCE9PWU7KXtpZihkLm5vZGVUeXBlPT09M3x8ZC5ub2RlVHlwZT09PTQpe3ZhciBjPWQuZGF0YS5yZXBsYWNlKC9bIFxyXG5cdF0rL2csIiAiKTtpZigoIW98fC8gJC8udGVzdChvLmRhdGEpKSYmIW4mJmNbMF09PT0iICImJihjPWMuc3Vic3RyKDEpKSwhYyl7ZD1fZGUoZCk7Y29udGludWV9ZC5kYXRhPWMsbz1kfWVsc2UgaWYoZC5ub2RlVHlwZT09PTEpdChkKXx8ZC5ub2RlTmFtZT09PSJCUiI/KG8mJihvLmRhdGE9by5kYXRhLnJlcGxhY2UoLyAkLywiIikpLG89bnVsbCxuPSExKTpyKGQpfHxpKGQpPyhvPW51bGwsbj0hMCk6byYmKG49ITEpO2Vsc2V7ZD1fZGUoZCk7Y29udGludWV9dmFyIHA9cWh0KGwsZCxpKTtsPWQsZD1wfW8mJihvLmRhdGE9by5kYXRhLnJlcGxhY2UoLyAkLywiIiksby5kYXRhfHxfZGUobykpfX1mdW5jdGlvbiBfZGUoYSl7dmFyIGU9YS5uZXh0U2libGluZ3x8YS5wYXJlbnROb2RlO3JldHVybiBhLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSksZX1mdW5jdGlvbiBxaHQoYSxlLHQpe3JldHVybiBhJiZhLnBhcmVudE5vZGU9PT1lfHx0KGUpP2UubmV4dFNpYmxpbmd8fGUucGFyZW50Tm9kZTplLmZpcnN0Q2hpbGR8fGUubmV4dFNpYmxpbmd8fGUucGFyZW50Tm9kZX1mdW5jdGlvbiBmemEoKXt2YXIgYT1UZGUuRE9NUGFyc2VyLGU9ITE7dHJ5e25ldyBhKCkucGFyc2VGcm9tU3RyaW5nKCIiLCJ0ZXh0L2h0bWwiKSYmKGU9ITApfWNhdGNoe31yZXR1cm4gZX1mdW5jdGlvbiBoemEoKXt2YXIgYT1zKGZ1bmN0aW9uKCl7fSwiUGFyc2VyIik7cmV0dXJuIG16YSgpP2EucHJvdG90eXBlLnBhcnNlRnJvbVN0cmluZz1mdW5jdGlvbihlKXt2YXIgdD1uZXcgd2luZG93LkFjdGl2ZVhPYmplY3QoImh0bWxmaWxlIik7cmV0dXJuIHQuZGVzaWduTW9kZT0ib24iLHQub3BlbigpLHQud3JpdGUoZSksdC5jbG9zZSgpLHR9OmEucHJvdG90eXBlLnBhcnNlRnJvbVN0cmluZz1mdW5jdGlvbihlKXt2YXIgdD1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpO3JldHVybiB0Lm9wZW4oKSx0LndyaXRlKGUpLHQuY2xvc2UoKSx0fSxhfWZ1bmN0aW9uIG16YSgpe3ZhciBhPSExO3RyeXtkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLm9wZW4oKX1jYXRjaHtUZGUuQWN0aXZlWE9iamVjdCYmKGE9ITApfXJldHVybiBhfWZ1bmN0aW9uIGJ6YShhLGUpe3ZhciB0O2lmKHR5cGVvZiBhPT0ic3RyaW5nIil7dmFyIHI9dnphKCkucGFyc2VGcm9tU3RyaW5nKCc8eC10dXJuZG93biBpZD0idHVybmRvd24tcm9vdCI+JythKyI8L3gtdHVybmRvd24+IiwidGV4dC9odG1sIik7dD1yLmdldEVsZW1lbnRCeUlkKCJ0dXJuZG93bi1yb290Iil9ZWxzZSB0PWEuY2xvbmVOb2RlKCEwKTtyZXR1cm4gcHphKHtlbGVtZW50OnQsaXNCbG9jazpNZGUsaXNWb2lkOlJodCxpc1ByZTplLnByZWZvcm1hdHRlZENvZGU/eHphOm51bGx9KSx0fWZ1bmN0aW9uIHZ6YSgpe3JldHVybiBMZGU9TGRlfHxuZXcgZ3phLExkZX1mdW5jdGlvbiB4emEoYSl7cmV0dXJuIGEubm9kZU5hbWU9PT0iUFJFInx8YS5ub2RlTmFtZT09PSJDT0RFIn1mdW5jdGlvbiB5emEoYSxlKXtyZXR1cm4gYS5pc0Jsb2NrPU1kZShhKSxhLmlzQ29kZT1hLm5vZGVOYW1lPT09IkNPREUifHxhLnBhcmVudE5vZGUuaXNDb2RlLGEuaXNCbGFuaz13emEoYSksYS5mbGFua2luZ1doaXRlc3BhY2U9TXphKGEsZSksYX1mdW5jdGlvbiB3emEoYSl7cmV0dXJuIVJodChhKSYmIWx6YShhKSYmL15ccyokL2kudGVzdChhLnRleHRDb250ZW50KSYmIW56YShhKSYmIWN6YShhKX1mdW5jdGlvbiBNemEoYSxlKXtpZihhLmlzQmxvY2t8fGUucHJlZm9ybWF0dGVkQ29kZSYmYS5pc0NvZGUpcmV0dXJue2xlYWRpbmc6IiIsdHJhaWxpbmc6IiJ9O3ZhciB0PWt6YShhLnRleHRDb250ZW50KTtyZXR1cm4gdC5sZWFkaW5nQXNjaWkmJlZodCgibGVmdCIsYSxlKSYmKHQubGVhZGluZz10LmxlYWRpbmdOb25Bc2NpaSksdC50cmFpbGluZ0FzY2lpJiZWaHQoInJpZ2h0IixhLGUpJiYodC50cmFpbGluZz10LnRyYWlsaW5nTm9uQXNjaWkpLHtsZWFkaW5nOnQubGVhZGluZyx0cmFpbGluZzp0LnRyYWlsaW5nfX1mdW5jdGlvbiBremEoYSl7dmFyIGU9YS5tYXRjaCgvXigoWyBcdFxyXG5dKikoXHMqKSkoPzooPz1cUylbXHNcU10qXFMpPygoXHMqPykoWyBcdFxyXG5dKikpJC8pO3JldHVybntsZWFkaW5nOmVbMV0sbGVhZGluZ0FzY2lpOmVbMl0sbGVhZGluZ05vbkFzY2lpOmVbM10sdHJhaWxpbmc6ZVs0XSx0cmFpbGluZ05vbkFzY2lpOmVbNV0sdHJhaWxpbmdBc2NpaTplWzZdfX1mdW5jdGlvbiBWaHQoYSxlLHQpe3ZhciByLGksbztyZXR1cm4gYT09PSJsZWZ0Ij8ocj1lLnByZXZpb3VzU2libGluZyxpPS8gJC8pOihyPWUubmV4dFNpYmxpbmcsaT0vXiAvKSxyJiYoci5ub2RlVHlwZT09PTM/bz1pLnRlc3Qoci5ub2RlVmFsdWUpOnQucHJlZm9ybWF0dGVkQ29kZSYmci5ub2RlTmFtZT09PSJDT0RFIj9vPSExOnIubm9kZVR5cGU9PT0xJiYhTWRlKHIpJiYobz1pLnRlc3Qoci50ZXh0Q29udGVudCkpKSxvfWZ1bmN0aW9uIFowKGEpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFowKSlyZXR1cm4gbmV3IFowKGEpO3ZhciBlPXtydWxlczpDaSxoZWFkaW5nU3R5bGU6InNldGV4dCIsaHI6IiogKiAqIixidWxsZXRMaXN0TWFya2VyOiIqIixjb2RlQmxvY2tTdHlsZToiaW5kZW50ZWQiLGZlbmNlOiJgYGAiLGVtRGVsaW1pdGVyOiJfIixzdHJvbmdEZWxpbWl0ZXI6IioqIixsaW5rU3R5bGU6ImlubGluZWQiLGxpbmtSZWZlcmVuY2VTdHlsZToiZnVsbCIsYnI6IiAgIixwcmVmb3JtYXR0ZWRDb2RlOiExLGJsYW5rUmVwbGFjZW1lbnQ6cyhmdW5jdGlvbih0LHIpe3JldHVybiByLmlzQmxvY2s/YAoKYDoiIn0sImJsYW5rUmVwbGFjZW1lbnQiKSxrZWVwUmVwbGFjZW1lbnQ6cyhmdW5jdGlvbih0LHIpe3JldHVybiByLmlzQmxvY2s/YAoKYCtyLm91dGVySFRNTCtgCgpgOnIub3V0ZXJIVE1MfSwia2VlcFJlcGxhY2VtZW50IiksZGVmYXVsdFJlcGxhY2VtZW50OnMoZnVuY3Rpb24odCxyKXtyZXR1cm4gci5pc0Jsb2NrP2AKCmArdCtgCgpgOnR9LCJkZWZhdWx0UmVwbGFjZW1lbnQiKX07dGhpcy5vcHRpb25zPWl6YSh7fSxlLGEpLHRoaXMucnVsZXM9bmV3IEhodCh0aGlzLm9wdGlvbnMpfWZ1bmN0aW9uIGpodChhKXt2YXIgZT10aGlzO3JldHVybiBTemEuY2FsbChhLmNoaWxkTm9kZXMsZnVuY3Rpb24odCxyKXtyPW5ldyB5emEocixlLm9wdGlvbnMpO3ZhciBpPSIiO3JldHVybiByLm5vZGVUeXBlPT09Mz9pPXIuaXNDb2RlP3Iubm9kZVZhbHVlOmUuZXNjYXBlKHIubm9kZVZhbHVlKTpyLm5vZGVUeXBlPT09MSYmKGk9Q3phLmNhbGwoZSxyKSksVWh0KHQsaSl9LCIiKX1mdW5jdGlvbiB6emEoYSl7dmFyIGU9dGhpcztyZXR1cm4gdGhpcy5ydWxlcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3R5cGVvZiB0LmFwcGVuZD09ImZ1bmN0aW9uIiYmKGE9VWh0KGEsdC5hcHBlbmQoZS5vcHRpb25zKSkpfSksYS5yZXBsYWNlKC9eW1x0XHJcbl0rLywiIikucmVwbGFjZSgvW1x0XHJcblxzXSskLywiIil9ZnVuY3Rpb24gQ3phKGEpe3ZhciBlPXRoaXMucnVsZXMuZm9yTm9kZShhKSx0PWpodC5jYWxsKHRoaXMsYSkscj1hLmZsYW5raW5nV2hpdGVzcGFjZTtyZXR1cm4oci5sZWFkaW5nfHxyLnRyYWlsaW5nKSYmKHQ9dC50cmltKCkpLHIubGVhZGluZytlLnJlcGxhY2VtZW50KHQsYSx0aGlzLm9wdGlvbnMpK3IudHJhaWxpbmd9ZnVuY3Rpb24gVWh0KGEsZSl7dmFyIHQ9UGh0KGEpLHI9RWh0KGUpLGk9TWF0aC5tYXgoYS5sZW5ndGgtdC5sZW5ndGgsZS5sZW5ndGgtci5sZW5ndGgpLG89YAoKYC5zdWJzdHJpbmcoMCxpKTtyZXR1cm4gdCtvK3J9ZnVuY3Rpb24gX3phKGEpe3JldHVybiBhIT1udWxsJiYodHlwZW9mIGE9PSJzdHJpbmcifHxhLm5vZGVUeXBlJiYoYS5ub2RlVHlwZT09PTF8fGEubm9kZVR5cGU9PT05fHxhLm5vZGVUeXBlPT09MTEpKX12YXIgb3phLE5odCxPaHQsZHphLENpLFRkZSxnemEsTGRlLFN6YSxXaHQ9ZigoKT0+e3MoaXphLCJleHRlbmQiKTtzKHdkZSwicmVwZWF0Iik7cyhFaHQsInRyaW1MZWFkaW5nTmV3bGluZXMiKTtzKFBodCwidHJpbVRyYWlsaW5nTmV3bGluZXMiKTtzKElodCwidHJpbU5ld2xpbmVzIik7b3phPVsiQUREUkVTUyIsIkFSVElDTEUiLCJBU0lERSIsIkFVRElPIiwiQkxPQ0tRVU9URSIsIkJPRFkiLCJDQU5WQVMiLCJDRU5URVIiLCJERCIsIkRJUiIsIkRJViIsIkRMIiwiRFQiLCJGSUVMRFNFVCIsIkZJR0NBUFRJT04iLCJGSUdVUkUiLCJGT09URVIiLCJGT1JNIiwiRlJBTUVTRVQiLCJIMSIsIkgyIiwiSDMiLCJINCIsIkg1IiwiSDYiLCJIRUFERVIiLCJIR1JPVVAiLCJIUiIsIkhUTUwiLCJJU0lOREVYIiwiTEkiLCJNQUlOIiwiTUVOVSIsIk5BViIsIk5PRlJBTUVTIiwiTk9TQ1JJUFQiLCJPTCIsIk9VVFBVVCIsIlAiLCJQUkUiLCJTRUNUSU9OIiwiVEFCTEUiLCJUQk9EWSIsIlREIiwiVEZPT1QiLCJUSCIsIlRIRUFEIiwiVFIiLCJVTCJdO3MoTWRlLCJpc0Jsb2NrIik7Tmh0PVsiQVJFQSIsIkJBU0UiLCJCUiIsIkNPTCIsIkNPTU1BTkQiLCJFTUJFRCIsIkhSIiwiSU1HIiwiSU5QVVQiLCJLRVlHRU4iLCJMSU5LIiwiTUVUQSIsIlBBUkFNIiwiU09VUkNFIiwiVFJBQ0siLCJXQlIiXTtzKFJodCwiaXNWb2lkIik7cyhuemEsImhhc1ZvaWQiKTtPaHQ9WyJBIiwiVEFCTEUiLCJUSEVBRCIsIlRCT0RZIiwiVEZPT1QiLCJUSCIsIlREIiwiSUZSQU1FIiwiU0NSSVBUIiwiQVVESU8iLCJWSURFTyJdO3MobHphLCJpc01lYW5pbmdmdWxXaGVuQmxhbmsiKTtzKGN6YSwiaGFzTWVhbmluZ2Z1bFdoZW5CbGFuayIpO3Moa2RlLCJpcyIpO3MoRmh0LCJoYXMiKTtkemE9W1svXFwvZywiXFxcXCJdLFsvXCovZywiXFwqIl0sWy9eLS9nLCJcXC0iXSxbL15cKyAvZywiXFwrICJdLFsvXig9KykvZywiXFwkMSJdLFsvXigjezEsNn0pIC9nLCJcXCQxICJdLFsvYC9nLCJcXGAiXSxbL15+fn4vZywiXFx+fn4iXSxbL1xbL2csIlxcWyJdLFsvXF0vZywiXFxdIl0sWy9ePi9nLCJcXD4iXSxbL18vZywiXFxfIl0sWy9eKFxkKylcLiAvZywiJDFcXC4gIl1dO3MoQmh0LCJlc2NhcGVNYXJrZG93biIpO0NpPXt9O0NpLnBhcmFncmFwaD17ZmlsdGVyOiJwIixyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGEpe3JldHVybmAKCmArYStgCgpgfSwicmVwbGFjZW1lbnQiKX0sQ2kubGluZUJyZWFrPXtmaWx0ZXI6ImJyIixyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGEsZSx0KXtyZXR1cm4gdC5icitgCmB9LCJyZXBsYWNlbWVudCIpfSxDaS5oZWFkaW5nPXtmaWx0ZXI6WyJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiXSxyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGEsZSx0KXt2YXIgcj1OdW1iZXIoZS5ub2RlTmFtZS5jaGFyQXQoMSkpO2lmKHQuaGVhZGluZ1N0eWxlPT09InNldGV4dCImJnI8Myl7dmFyIGk9d2RlKHI9PT0xPyI9IjoiLSIsYS5sZW5ndGgpO3JldHVybmAKCmArYStgCmAraStgCgpgfWVsc2UgcmV0dXJuYAoKYCt3ZGUoIiMiLHIpKyIgIithK2AKCmB9LCJyZXBsYWNlbWVudCIpfSxDaS5ibG9ja3F1b3RlPXtmaWx0ZXI6ImJsb2NrcXVvdGUiLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oYSl7cmV0dXJuIGE9SWh0KGEpLnJlcGxhY2UoL14vZ20sIj4gIiksYAoKYCthK2AKCmB9LCJyZXBsYWNlbWVudCIpfSxDaS5saXN0PXtmaWx0ZXI6WyJ1bCIsIm9sIl0scmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4gdC5ub2RlTmFtZT09PSJMSSImJnQubGFzdEVsZW1lbnRDaGlsZD09PWU/YApgK2E6YAoKYCthK2AKCmB9LCJyZXBsYWNlbWVudCIpfSxDaS5saXN0SXRlbT17ZmlsdGVyOiJsaSIscmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUsdCl7dmFyIHI9dC5idWxsZXRMaXN0TWFya2VyKyIgICAiLGk9ZS5wYXJlbnROb2RlO2lmKGkubm9kZU5hbWU9PT0iT0wiKXt2YXIgbz1pLmdldEF0dHJpYnV0ZSgic3RhcnQiKSxuPUFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoaS5jaGlsZHJlbixlKTtyPShvP051bWJlcihvKStuOm4rMSkrIi4gICJ9dmFyIGw9L1xuJC8udGVzdChhKTtyZXR1cm4gYT1JaHQoYSkrKGw/YApgOiIiKSxhPWEucmVwbGFjZSgvXG4vZ20sYApgKyIgIi5yZXBlYXQoci5sZW5ndGgpKSxyK2ErKGUubmV4dFNpYmxpbmc/YApgOiIiKX0sInJlcGxhY2VtZW50Iil9LENpLmluZGVudGVkQ29kZUJsb2NrPXtmaWx0ZXI6cyhmdW5jdGlvbihhLGUpe3JldHVybiBlLmNvZGVCbG9ja1N0eWxlPT09ImluZGVudGVkIiYmYS5ub2RlTmFtZT09PSJQUkUiJiZhLmZpcnN0Q2hpbGQmJmEuZmlyc3RDaGlsZC5ub2RlTmFtZT09PSJDT0RFIn0sImZpbHRlciIpLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oYSxlLHQpe3JldHVybmAKCiAgICBgK2UuZmlyc3RDaGlsZC50ZXh0Q29udGVudC5yZXBsYWNlKC9cbi9nLGAKICAgIGApK2AKCmB9LCJyZXBsYWNlbWVudCIpfSxDaS5mZW5jZWRDb2RlQmxvY2s9e2ZpbHRlcjpzKGZ1bmN0aW9uKGEsZSl7cmV0dXJuIGUuY29kZUJsb2NrU3R5bGU9PT0iZmVuY2VkIiYmYS5ub2RlTmFtZT09PSJQUkUiJiZhLmZpcnN0Q2hpbGQmJmEuZmlyc3RDaGlsZC5ub2RlTmFtZT09PSJDT0RFIn0sImZpbHRlciIpLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1lLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIixpPShyLm1hdGNoKC9sYW5ndWFnZS0oXFMrKS8pfHxbbnVsbCwiIl0pWzFdLG89ZS5maXJzdENoaWxkLnRleHRDb250ZW50LG49dC5mZW5jZS5jaGFyQXQoMCksbD0zLGQ9bmV3IFJlZ0V4cCgiXiIrbisiezMsfSIsImdtIiksYztjPWQuZXhlYyhvKTspY1swXS5sZW5ndGg+PWwmJihsPWNbMF0ubGVuZ3RoKzEpO3ZhciBwPXdkZShuLGwpO3JldHVybmAKCmArcCtpK2AKYCtvLnJlcGxhY2UoL1xuJC8sIiIpK2AKYCtwK2AKCmB9LCJyZXBsYWNlbWVudCIpfSxDaS5ob3Jpem9udGFsUnVsZT17ZmlsdGVyOiJociIscmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUsdCl7cmV0dXJuYAoKYCt0LmhyK2AKCmB9LCJyZXBsYWNlbWVudCIpfSxDaS5pbmxpbmVMaW5rPXtmaWx0ZXI6cyhmdW5jdGlvbihhLGUpe3JldHVybiBlLmxpbmtTdHlsZT09PSJpbmxpbmVkIiYmYS5ub2RlTmFtZT09PSJBIiYmYS5nZXRBdHRyaWJ1dGUoImhyZWYiKX0sImZpbHRlciIpLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oYSxlKXt2YXIgdD1TZGUoZS5nZXRBdHRyaWJ1dGUoImhyZWYiKSkscj16ZGUoU0ooZS5nZXRBdHRyaWJ1dGUoInRpdGxlIikpKSxpPXI/JyAiJytyKyciJzoiIjtyZXR1cm4iWyIrYSsiXSgiK3QraSsiKSJ9LCJyZXBsYWNlbWVudCIpfSxDaS5yZWZlcmVuY2VMaW5rPXtmaWx0ZXI6cyhmdW5jdGlvbihhLGUpe3JldHVybiBlLmxpbmtTdHlsZT09PSJyZWZlcmVuY2VkIiYmYS5ub2RlTmFtZT09PSJBIiYmYS5nZXRBdHRyaWJ1dGUoImhyZWYiKX0sImZpbHRlciIpLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oYSxlLHQpe3ZhciByPVNkZShlLmdldEF0dHJpYnV0ZSgiaHJlZiIpKSxpPVNKKGUuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpKTtpJiYoaT0nICInK3pkZShpKSsnIicpO3ZhciBvLG47c3dpdGNoKHQubGlua1JlZmVyZW5jZVN0eWxlKXtjYXNlImNvbGxhcHNlZCI6bz0iWyIrYSsiXVtdIixuPSJbIithKyJdOiAiK3IraTticmVhaztjYXNlInNob3J0Y3V0IjpvPSJbIithKyJdIixuPSJbIithKyJdOiAiK3IraTticmVhaztkZWZhdWx0OnZhciBsPXRoaXMucmVmZXJlbmNlcy5sZW5ndGgrMTtvPSJbIithKyJdWyIrbCsiXSIsbj0iWyIrbCsiXTogIityK2l9cmV0dXJuIHRoaXMucmVmZXJlbmNlcy5wdXNoKG4pLG99LCJyZXBsYWNlbWVudCIpLHJlZmVyZW5jZXM6W10sYXBwZW5kOnMoZnVuY3Rpb24oYSl7dmFyIGU9IiI7cmV0dXJuIHRoaXMucmVmZXJlbmNlcy5sZW5ndGgmJihlPWAKCmArdGhpcy5yZWZlcmVuY2VzLmpvaW4oYApgKStgCgpgLHRoaXMucmVmZXJlbmNlcz1bXSksZX0sImFwcGVuZCIpfSxDaS5lbXBoYXNpcz17ZmlsdGVyOlsiZW0iLCJpIl0scmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUsdCl7cmV0dXJuIGEudHJpbSgpP3QuZW1EZWxpbWl0ZXIrYSt0LmVtRGVsaW1pdGVyOiIifSwicmVwbGFjZW1lbnQiKX0sQ2kuc3Ryb25nPXtmaWx0ZXI6WyJzdHJvbmciLCJiIl0scmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUsdCl7cmV0dXJuIGEudHJpbSgpP3Quc3Ryb25nRGVsaW1pdGVyK2ErdC5zdHJvbmdEZWxpbWl0ZXI6IiJ9LCJyZXBsYWNlbWVudCIpfSxDaS5jb2RlPXtmaWx0ZXI6cyhmdW5jdGlvbihhKXt2YXIgZT1hLnByZXZpb3VzU2libGluZ3x8YS5uZXh0U2libGluZyx0PWEucGFyZW50Tm9kZS5ub2RlTmFtZT09PSJQUkUiJiYhZTtyZXR1cm4gYS5ub2RlTmFtZT09PSJDT0RFIiYmIXR9LCJmaWx0ZXIiKSxyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiIiO2E9YS5yZXBsYWNlKC9ccj9cbnxcci9nLCIgIik7Zm9yKHZhciBlPS9eYHxeIC4qP1teIF0uKiAkfGAkLy50ZXN0KGEpPyIgIjoiIix0PSJgIixyPWEubWF0Y2goL2ArL2dtKXx8W107ci5pbmRleE9mKHQpIT09LTE7KXQ9dCsiYCI7cmV0dXJuIHQrZSthK2UrdH0sInJlcGxhY2VtZW50Iil9LENpLmltYWdlPXtmaWx0ZXI6ImltZyIscmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUpe3ZhciB0PUJodChTSihlLmdldEF0dHJpYnV0ZSgiYWx0IikpKSxyPVNkZShlLmdldEF0dHJpYnV0ZSgic3JjIil8fCIiKSxpPVNKKGUuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpKSxvPWk/JyAiJyt6ZGUoaSkrJyInOiIiO3JldHVybiByPyIhWyIrdCsiXSgiK3IrbysiKSI6IiJ9LCJyZXBsYWNlbWVudCIpfTtzKFNKLCJjbGVhbkF0dHJpYnV0ZSIpO3MoU2RlLCJlc2NhcGVMaW5rRGVzdGluYXRpb24iKTtzKHpkZSwiZXNjYXBlTGlua1RpdGxlIik7cyhIaHQsIlJ1bGVzIiksSGh0LnByb3RvdHlwZT17YWRkOnMoZnVuY3Rpb24oYSxlKXt0aGlzLmFycmF5LnVuc2hpZnQoZSl9LCJhZGQiKSxrZWVwOnMoZnVuY3Rpb24oYSl7dGhpcy5fa2VlcC51bnNoaWZ0KHtmaWx0ZXI6YSxyZXBsYWNlbWVudDp0aGlzLmtlZXBSZXBsYWNlbWVudH0pfSwia2VlcCIpLHJlbW92ZTpzKGZ1bmN0aW9uKGEpe3RoaXMuX3JlbW92ZS51bnNoaWZ0KHtmaWx0ZXI6YSxyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKCl7cmV0dXJuIiJ9LCJyZXBsYWNlbWVudCIpfSl9LCJyZW1vdmUiKSxmb3JOb2RlOnMoZnVuY3Rpb24oYSl7aWYoYS5pc0JsYW5rKXJldHVybiB0aGlzLmJsYW5rUnVsZTt2YXIgZTtyZXR1cm4oZT1DZGUodGhpcy5hcnJheSxhLHRoaXMub3B0aW9ucykpfHwoZT1DZGUodGhpcy5fa2VlcCxhLHRoaXMub3B0aW9ucykpfHwoZT1DZGUodGhpcy5fcmVtb3ZlLGEsdGhpcy5vcHRpb25zKSk/ZTp0aGlzLmRlZmF1bHRSdWxlfSwiZm9yTm9kZSIpLGZvckVhY2g6cyhmdW5jdGlvbihhKXtmb3IodmFyIGU9MDtlPHRoaXMuYXJyYXkubGVuZ3RoO2UrKylhKHRoaXMuYXJyYXlbZV0sZSl9LCJmb3JFYWNoIil9O3MoQ2RlLCJmaW5kUnVsZSIpO3ModXphLCJmaWx0ZXJWYWx1ZSIpO3MocHphLCJjb2xsYXBzZVdoaXRlc3BhY2UiKTtzKF9kZSwicmVtb3ZlIik7cyhxaHQsIm5leHQiKTtUZGU9dHlwZW9mIHdpbmRvdzwidSI/d2luZG93Ont9O3MoZnphLCJjYW5QYXJzZUhUTUxOYXRpdmVseSIpO3MoaHphLCJjcmVhdGVIVE1MUGFyc2VyIik7cyhtemEsInNob3VsZFVzZUFjdGl2ZVgiKTtnemE9ZnphKCk/VGRlLkRPTVBhcnNlcjpoemEoKTtzKGJ6YSwiUm9vdE5vZGUiKTtzKHZ6YSwiaHRtbFBhcnNlciIpO3MoeHphLCJpc1ByZU9yQ29kZSIpO3MoeXphLCJOb2RlIik7cyh3emEsImlzQmxhbmsiKTtzKE16YSwiZmxhbmtpbmdXaGl0ZXNwYWNlIik7cyhremEsImVkZ2VXaGl0ZXNwYWNlIik7cyhWaHQsImlzRmxhbmtlZEJ5V2hpdGVzcGFjZSIpO1N6YT1BcnJheS5wcm90b3R5cGUucmVkdWNlO3MoWjAsIlR1cm5kb3duU2VydmljZSIpLFowLnByb3RvdHlwZT17dHVybmRvd246cyhmdW5jdGlvbihhKXtpZighX3phKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoYSsiIGlzIG5vdCBhIHN0cmluZywgb3IgYW4gZWxlbWVudC9kb2N1bWVudC9mcmFnbWVudCBub2RlLiIpO2lmKGE9PT0iIilyZXR1cm4iIjt2YXIgZT1qaHQuY2FsbCh0aGlzLG5ldyBiemEoYSx0aGlzLm9wdGlvbnMpKTtyZXR1cm4genphLmNhbGwodGhpcyxlKX0sInR1cm5kb3duIiksdXNlOnMoZnVuY3Rpb24oYSl7aWYoQXJyYXkuaXNBcnJheShhKSlmb3IodmFyIGU9MDtlPGEubGVuZ3RoO2UrKyl0aGlzLnVzZShhW2VdKTtlbHNlIGlmKHR5cGVvZiBhPT0iZnVuY3Rpb24iKWEodGhpcyk7ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJwbHVnaW4gbXVzdCBiZSBhIEZ1bmN0aW9uIG9yIGFuIEFycmF5IG9mIEZ1bmN0aW9ucyIpO3JldHVybiB0aGlzfSwidXNlIiksYWRkUnVsZTpzKGZ1bmN0aW9uKGEsZSl7cmV0dXJuIHRoaXMucnVsZXMuYWRkKGEsZSksdGhpc30sImFkZFJ1bGUiKSxrZWVwOnMoZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucnVsZXMua2VlcChhKSx0aGlzfSwia2VlcCIpLHJlbW92ZTpzKGZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJ1bGVzLnJlbW92ZShhKSx0aGlzfSwicmVtb3ZlIiksZXNjYXBlOnMoZnVuY3Rpb24oYSl7cmV0dXJuIEJodChhKX0sImVzY2FwZSIpfTtzKGpodCwicHJvY2VzcyIpO3MoenphLCJwb3N0UHJvY2VzcyIpO3MoQ3phLCJyZXBsYWNlbWVudEZvck5vZGUiKTtzKFVodCwiam9pbiIpO3MoX3phLCJjYW5Db252ZXJ0Iil9KTt2YXIgSWRlPXt9O3J0KElkZSx7Z2ZtOigpPT5LaHQsaGlnaGxpZ2h0ZWRDb2RlQmxvY2s6KCk9PkRkZSxzdHJpa2V0aHJvdWdoOigpPT5BZGUsdGFibGVzOigpPT5FZGUsdGFza0xpc3RJdGVtczooKT0+UGRlfSk7ZnVuY3Rpb24gRGRlKGEpe2EuYWRkUnVsZSgiaGlnaGxpZ2h0ZWRDb2RlQmxvY2siLHtmaWx0ZXI6cyhmdW5jdGlvbihlKXt2YXIgdD1lLmZpcnN0Q2hpbGQ7cmV0dXJuIGUubm9kZU5hbWU9PT0iRElWIiYmR2h0LnRlc3QoZS5jbGFzc05hbWUpJiZ0JiZ0Lm5vZGVOYW1lPT09IlBSRSJ9LCJmaWx0ZXIiKSxyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGUsdCxyKXt2YXIgaT10LmNsYXNzTmFtZXx8IiIsbz0oaS5tYXRjaChHaHQpfHxbbnVsbCwiIl0pWzFdO3JldHVybmAKCmArci5mZW5jZStvK2AKYCt0LmZpcnN0Q2hpbGQudGV4dENvbnRlbnQrYApgK3IuZmVuY2UrYAoKYH0sInJlcGxhY2VtZW50Iil9KX1mdW5jdGlvbiBBZGUoYSl7YS5hZGRSdWxlKCJzdHJpa2V0aHJvdWdoIix7ZmlsdGVyOlsiZGVsIiwicyIsInN0cmlrZSJdLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oZSl7cmV0dXJuIn4iK2UrIn4ifSwicmVwbGFjZW1lbnQiKX0pfWZ1bmN0aW9uICRkZShhKXt2YXIgZT1hLnBhcmVudE5vZGU7cmV0dXJuIGUubm9kZU5hbWU9PT0iVEhFQUQifHxlLmZpcnN0Q2hpbGQ9PT1hJiYoZS5ub2RlTmFtZT09PSJUQUJMRSJ8fCR6YShlKSkmJkx6YS5jYWxsKGEuY2hpbGROb2RlcyxmdW5jdGlvbih0KXtyZXR1cm4gdC5ub2RlTmFtZT09PSJUSCJ9KX1mdW5jdGlvbiAkemEoYSl7dmFyIGU9YS5wcmV2aW91c1NpYmxpbmc7cmV0dXJuIGEubm9kZU5hbWU9PT0iVEJPRFkiJiYoIWV8fGUubm9kZU5hbWU9PT0iVEhFQUQiJiYvXlxzKiQvaS50ZXN0KGUudGV4dENvbnRlbnQpKX1mdW5jdGlvbiBZaHQoYSxlKXt2YXIgdD1UemEuY2FsbChlLnBhcmVudE5vZGUuY2hpbGROb2RlcyxlKSxyPSIgIjtyZXR1cm4gdD09PTAmJihyPSJ8ICIpLHIrYSsiIHwifWZ1bmN0aW9uIEVkZShhKXthLmtlZXAoZnVuY3Rpb24odCl7cmV0dXJuIHQubm9kZU5hbWU9PT0iVEFCTEUiJiYhJGRlKHQucm93c1swXSl9KTtmb3IodmFyIGUgaW4gTzgpYS5hZGRSdWxlKGUsTzhbZV0pfWZ1bmN0aW9uIFBkZShhKXthLmFkZFJ1bGUoInRhc2tMaXN0SXRlbXMiLHtmaWx0ZXI6cyhmdW5jdGlvbihlKXtyZXR1cm4gZS50eXBlPT09ImNoZWNrYm94IiYmZS5wYXJlbnROb2RlLm5vZGVOYW1lPT09IkxJIn0sImZpbHRlciIpLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oZSx0KXtyZXR1cm4odC5jaGVja2VkPyJbeF0iOiJbIF0iKSsiICJ9LCJyZXBsYWNlbWVudCIpfSl9ZnVuY3Rpb24gS2h0KGEpe2EudXNlKFtEZGUsQWRlLEVkZSxQZGVdKX12YXIgR2h0LFR6YSxMemEsTzgsWmh0PWYoKCk9PntHaHQ9L2hpZ2hsaWdodC0oPzp0ZXh0fHNvdXJjZSktKFthLXowLTldKykvO3MoRGRlLCJoaWdobGlnaHRlZENvZGVCbG9jayIpO3MoQWRlLCJzdHJpa2V0aHJvdWdoIik7VHphPUFycmF5LnByb3RvdHlwZS5pbmRleE9mLEx6YT1BcnJheS5wcm90b3R5cGUuZXZlcnksTzg9e307TzgudGFibGVDZWxsPXtmaWx0ZXI6WyJ0aCIsInRkIl0scmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUpe3JldHVybiBZaHQoYSxlKX0sInJlcGxhY2VtZW50Iil9LE84LnRhYmxlUm93PXtmaWx0ZXI6InRyIixyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGEsZSl7dmFyIHQ9IiIscj17bGVmdDoiOi0tIixyaWdodDoiLS06IixjZW50ZXI6IjotOiJ9O2lmKCRkZShlKSlmb3IodmFyIGk9MDtpPGUuY2hpbGROb2Rlcy5sZW5ndGg7aSsrKXt2YXIgbz0iLS0tIixuPShlLmNoaWxkTm9kZXNbaV0uZ2V0QXR0cmlidXRlKCJhbGlnbiIpfHwiIikudG9Mb3dlckNhc2UoKTtuJiYobz1yW25dfHxvKSx0Kz1ZaHQobyxlLmNoaWxkTm9kZXNbaV0pfXJldHVybmAKYCthKyh0P2AKYCt0OiIiKX0sInJlcGxhY2VtZW50Iil9LE84LnRhYmxlPXtmaWx0ZXI6cyhmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlTmFtZT09PSJUQUJMRSImJiRkZShhLnJvd3NbMF0pfSwiZmlsdGVyIikscmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhKXtyZXR1cm4gYT1hLnJlcGxhY2UoYAoKYCxgCmApLGAKCmArYStgCgpgfSwicmVwbGFjZW1lbnQiKX0sTzgudGFibGVTZWN0aW9uPXtmaWx0ZXI6WyJ0aGVhZCIsInRib2R5IiwidGZvb3QiXSxyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGEpe3JldHVybiBhfSwicmVwbGFjZW1lbnQiKX07cygkZGUsImlzSGVhZGluZ1JvdyIpO3MoJHphLCJpc0ZpcnN0VGJvZHkiKTtzKFlodCwiY2VsbCIpO3MoRWRlLCJ0YWJsZXMiKTtzKFBkZSwidGFza0xpc3RJdGVtcyIpO3MoS2h0LCJnZm0iKX0pO3ZhciBOZGUsUmRlPWYoKCk9PntSM3QoKTtnZHQoKTtNcHQoKTtZcHQoKTtvZnQoKTskaHQoKTtBaHQoKTtXaHQoKTtaaHQoKTtOZGU9SWRlfSk7dmFyIER6YSx6SixRaHQ9ZigoKT0+e1JkZSgpO0R6YT1zKGE9PmEudHlwZT09PSJ5YW1sIiYmInZhbHVlImluIGEmJnR5cGVvZiBhLnZhbHVlPT0ic3RyaW5nIiwiaXNZYW1sTm9kZSIpLHpKPWNsYXNzIGF7c3RhdGlje3ModGhpcywiTWRQYXJzZWRSZXN1bHQiKX1jb25zdHJ1Y3Rvcigpe3RoaXMub3JpZ2luYWxTdHJpbmc9IiIsdGhpcy50aXRsZT0iIix0aGlzLmh0bWw9IiIsdGhpcy5mcm9udG1hdHRlckRhdGE9e319c3RhdGljIGFzeW5jIGNyZWF0ZUZyb21NYXJrZG93blN0cmluZyhlKXtsZXQgdD1uZXcgYTtyZXR1cm4gYXdhaXQgdC51cGRhdGVGcm9tTWFya2Rvd25TdHJpbmcoZSksdH1hc3luYyB1cGRhdGVGcm9tTWFya2Rvd25TdHJpbmcoZSl7dGhpcy5vcmlnaW5hbFN0cmluZz1lO2xldCB0LHI9YXdhaXQgVWcoKS51c2UoJDgpLnVzZShMOCkudXNlKEE4LFsieWFtbCIsInRvbWwiXSkudXNlKFI4KS51c2UoTjgpLnVzZSgoKT0+aT0+e2xldCBvPWkuY2hpbGRyZW4uZmluZChEemEpO28mJih0PW8udmFsdWUpfSkucHJvY2VzcyhlKTt0aGlzLmh0bWw9ci50b1N0cmluZygpLHQ/dGhpcy5mcm9udG1hdHRlckRhdGE9YXdhaXQgSGcueWFtbFN0cmluZ1RvT2JqZWN0KHQpOnRoaXMuZnJvbnRtYXR0ZXJEYXRhPXt9fX19KTt2YXIgbWI9e307cnQobWIse1NtYXJ0TWFya2Rvd246KCk9Pk9kZX0pO3ZhciBPZGUsSmh0PWYoKCk9PntSZGUoKTtRaHQoKTtPZGU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJTbWFydE1hcmtkb3duIil9c3RhdGljIGFzeW5jIGVhc3lNYXJrZG93blRvSHRtbChlKXtyZXR1cm4oYXdhaXQgbmV3IGEoKS5nZXRNZFBhcnNlZFJlc3VsdEZyb21NYXJrZG93bihlKSkuaHRtbH1jb25zdHJ1Y3Rvcigpe31hc3luYyBnZXRNZFBhcnNlZFJlc3VsdEZyb21NYXJrZG93bihlKXtyZXR1cm4gYXdhaXQgekouY3JlYXRlRnJvbU1hcmtkb3duU3RyaW5nKGUpfWh0bWxUb01hcmtkb3duKGUpe2xldCB0PW5ldyBaMCh7aGVhZGluZ1N0eWxlOiJhdHgiLGNvZGVCbG9ja1N0eWxlOiJmZW5jZWQifSk7cmV0dXJuIHQudXNlKE5kZS5nZm0pLHQudHVybmRvd24oZSl9fX0pO3ZhciBpOHQ9dm8oeDE9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHgxLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx4MS5QYXRoRXJyb3I9eDEuVG9rZW5EYXRhPXZvaWQgMCx4MS5wYXJzZT1IZGUseDEuY29tcGlsZT1JemEseDEubWF0Y2g9UnphLHgxLnBhdGhUb1JlZ2V4cD1hOHQseDEuc3RyaW5naWZ5PUZ6YTt2YXIgRmRlPSIvIixCZGU9cyhhPT5hLCJOT09QX1ZBTFVFIiksQXphPS9eWyRfXHB7SURfU3RhcnR9XSQvdSxlOHQ9L15bJFx1MjAwY1x1MjAwZFxwe0lEX0NvbnRpbnVlfV0kL3UsRXphPS9eWyRfXHB7SURfU3RhcnR9XVskXHUyMDBjXHUyMDBkXHB7SURfQ29udGludWV9XSokL3U7ZnVuY3Rpb24gUHphKGEpe3JldHVybiBhLnJlcGxhY2UoL1t7fSgpXFtcXSs/IToqXFxdL2csIlxcJCYiKX1zKFB6YSwiZXNjYXBlVGV4dCIpO2Z1bmN0aW9uIEtsKGEpe3JldHVybiBhLnJlcGxhY2UoL1suKyo/XiR7fSgpW1xdfC9cXF0vZywiXFwkJiIpfXMoS2wsImVzY2FwZSIpO3ZhciBDSj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJUb2tlbkRhdGEiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMudG9rZW5zPWUsdGhpcy5vcmlnaW5hbFBhdGg9dH19O3gxLlRva2VuRGF0YT1DSjt2YXIgQjI9Y2xhc3MgZXh0ZW5kcyBUeXBlRXJyb3J7c3RhdGlje3ModGhpcywiUGF0aEVycm9yIil9Y29uc3RydWN0b3IoZSx0KXtsZXQgcj1lO3QmJihyKz1gOiAke3R9YCkscis9IjsgdmlzaXQgaHR0cHM6Ly9naXQubmV3L3BhdGhUb1JlZ2V4cEVycm9yIGZvciBpbmZvIixzdXBlcihyKSx0aGlzLm9yaWdpbmFsUGF0aD10fX07eDEuUGF0aEVycm9yPUIyO2Z1bmN0aW9uIEhkZShhLGU9e30pe2xldHtlbmNvZGVQYXRoOnQ9QmRlfT1lLHI9Wy4uLmFdLGk9MDtmdW5jdGlvbiBvKG4pe2xldCBsPVtdLGQ9IiI7ZnVuY3Rpb24gYygpe2QmJihsLnB1c2goe3R5cGU6InRleHQiLHZhbHVlOnQoZCl9KSxkPSIiKX1mb3IocyhjLCJ3cml0ZVBhdGgiKTtpPHIubGVuZ3RoOyl7bGV0IHA9cltpKytdO2lmKHA9PT1uKXJldHVybiBjKCksbDtpZihwPT09IlxcIil7aWYoaT09PXIubGVuZ3RoKXRocm93IG5ldyBCMihgVW5leHBlY3RlZCBlbmQgYWZ0ZXIgXFwgYXQgaW5kZXggJHtpfWAsYSk7ZCs9cltpKytdO2NvbnRpbnVlfWlmKHA9PT0iOiJ8fHA9PT0iKiIpe2xldCB1PXA9PT0iOiI/InBhcmFtIjoid2lsZGNhcmQiLG09IiI7aWYoQXphLnRlc3QocltpXSkpZG8gbSs9cltpKytdO3doaWxlKGU4dC50ZXN0KHJbaV0pKTtlbHNlIGlmKHJbaV09PT0nIicpe2xldCB2PWk7Zm9yKDtpPHIubGVuZ3RoOyl7aWYoclsrK2ldPT09JyInKXtpKyssdj0wO2JyZWFrfXJbaV09PT0iXFwiJiZpKyssbSs9cltpXX1pZih2KXRocm93IG5ldyBCMihgVW50ZXJtaW5hdGVkIHF1b3RlIGF0IGluZGV4ICR7dn1gLGEpfWlmKCFtKXRocm93IG5ldyBCMihgTWlzc2luZyBwYXJhbWV0ZXIgbmFtZSBhdCBpbmRleCAke2l9YCxhKTtjKCksbC5wdXNoKHt0eXBlOnUsbmFtZTptfSk7Y29udGludWV9aWYocD09PSJ7Iil7YygpLGwucHVzaCh7dHlwZToiZ3JvdXAiLHRva2VuczpvKCJ9Iil9KTtjb250aW51ZX1pZihwPT09In0ifHxwPT09IigifHxwPT09IikifHxwPT09IlsifHxwPT09Il0ifHxwPT09IisifHxwPT09Ij8ifHxwPT09IiEiKXRocm93IG5ldyBCMihgVW5leHBlY3RlZCAke3B9IGF0IGluZGV4ICR7aS0xfWAsYSk7ZCs9cH1pZihuKXRocm93IG5ldyBCMihgVW5leHBlY3RlZCBlbmQgYXQgaW5kZXggJHtpfSwgZXhwZWN0ZWQgJHtufWAsYSk7cmV0dXJuIGMoKSxsfXJldHVybiBzKG8sImNvbnN1bWVVbnRpbCIpLG5ldyBDSihvKCIiKSxhKX1zKEhkZSwicGFyc2UiKTtmdW5jdGlvbiBJemEoYSxlPXt9KXtsZXR7ZW5jb2RlOnQ9ZW5jb2RlVVJJQ29tcG9uZW50LGRlbGltaXRlcjpyPUZkZX09ZSxpPXR5cGVvZiBhPT0ib2JqZWN0Ij9hOkhkZShhLGUpLG89dDh0KGkudG9rZW5zLHIsdCk7cmV0dXJuIHMoZnVuY3Rpb24obD17fSl7bGV0IGQ9W10sYz1vKGwsZCk7aWYoZC5sZW5ndGgpdGhyb3cgbmV3IFR5cGVFcnJvcihgTWlzc2luZyBwYXJhbWV0ZXJzOiAke2Quam9pbigiLCAiKX1gKTtyZXR1cm4gY30sInBhdGgiKX1zKEl6YSwiY29tcGlsZSIpO2Z1bmN0aW9uIHQ4dChhLGUsdCl7bGV0IHI9YS5tYXAoaT0+TnphKGksZSx0KSk7cmV0dXJuKGksbyk9PntsZXQgbj0iIjtmb3IobGV0IGwgb2YgciluKz1sKGksbyk7cmV0dXJuIG59fXModDh0LCJ0b2tlbnNUb0Z1bmN0aW9uIik7ZnVuY3Rpb24gTnphKGEsZSx0KXtpZihhLnR5cGU9PT0idGV4dCIpcmV0dXJuKCk9PmEudmFsdWU7aWYoYS50eXBlPT09Imdyb3VwIil7bGV0IGk9dDh0KGEudG9rZW5zLGUsdCk7cmV0dXJuKG8sbik9PntsZXQgbD1uLmxlbmd0aCxkPWkobyxuKTtyZXR1cm4gbi5sZW5ndGg9PT1sP2Q6KG4ubGVuZ3RoPWwsIiIpfX1sZXQgcj10fHxCZGU7cmV0dXJuIGEudHlwZT09PSJ3aWxkY2FyZCImJnQhPT0hMT8oaSxvKT0+e2xldCBuPWlbYS5uYW1lXTtpZihuPT1udWxsKXJldHVybiBvLnB1c2goYS5uYW1lKSwiIjtpZighQXJyYXkuaXNBcnJheShuKXx8bi5sZW5ndGg9PT0wKXRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkICIke2EubmFtZX0iIHRvIGJlIGEgbm9uLWVtcHR5IGFycmF5YCk7bGV0IGw9IiI7Zm9yKGxldCBkPTA7ZDxuLmxlbmd0aDtkKyspe2lmKHR5cGVvZiBuW2RdIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCAiJHthLm5hbWV9LyR7ZH0iIHRvIGJlIGEgc3RyaW5nYCk7ZD4wJiYobCs9ZSksbCs9cihuW2RdKX1yZXR1cm4gbH06KGksbyk9PntsZXQgbj1pW2EubmFtZV07aWYobj09bnVsbClyZXR1cm4gby5wdXNoKGEubmFtZSksIiI7aWYodHlwZW9mIG4hPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkICIke2EubmFtZX0iIHRvIGJlIGEgc3RyaW5nYCk7cmV0dXJuIHIobil9fXMoTnphLCJ0b2tlblRvRnVuY3Rpb24iKTtmdW5jdGlvbiBSemEoYSxlPXt9KXtsZXR7ZGVjb2RlOnQ9ZGVjb2RlVVJJQ29tcG9uZW50LGRlbGltaXRlcjpyPUZkZX09ZSx7cmVnZXhwOmksa2V5czpvfT1hOHQoYSxlKSxuPW8ubWFwKGw9PnQ9PT0hMT9CZGU6bC50eXBlPT09InBhcmFtIj90OmQ9PmQuc3BsaXQocikubWFwKHQpKTtyZXR1cm4gcyhmdW5jdGlvbihkKXtsZXQgYz1pLmV4ZWMoZCk7aWYoIWMpcmV0dXJuITE7bGV0IHA9Y1swXSx1PU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGxldCBtPTE7bTxjLmxlbmd0aDttKyspe2lmKGNbbV09PT12b2lkIDApY29udGludWU7bGV0IHY9b1ttLTFdLHg9blttLTFdO3Vbdi5uYW1lXT14KGNbbV0pfXJldHVybntwYXRoOnAscGFyYW1zOnV9fSwibWF0Y2giKX1zKFJ6YSwibWF0Y2giKTtmdW5jdGlvbiBhOHQoYSxlPXt9KXtsZXR7ZGVsaW1pdGVyOnQ9RmRlLGVuZDpyPSEwLHNlbnNpdGl2ZTppPSExLHRyYWlsaW5nOm89ITB9PWUsbj1bXSxsPSIiLGQ9MDtmdW5jdGlvbiBjKHUpe2lmKEFycmF5LmlzQXJyYXkodSkpe2ZvcihsZXQgdiBvZiB1KWModik7cmV0dXJufWxldCBtPXR5cGVvZiB1PT0ib2JqZWN0Ij91OkhkZSh1LGUpO3FkZShtLnRva2VucywwLFtdLHY9PntpZihkPj0yNTYpdGhyb3cgbmV3IEIyKCJUb28gbWFueSBwYXRoIGNvbWJpbmF0aW9ucyIsbS5vcmlnaW5hbFBhdGgpO2Q+MCYmKGwrPSJ8IiksbCs9T3phKHYsdCxuLG0ub3JpZ2luYWxQYXRoKSxkKyt9KX1zKGMsInByb2Nlc3MiKSxjKGEpO2xldCBwPWBeKD86JHtsfSlgO3JldHVybiBvJiYocCs9Iig/OiIrS2wodCkrIiQpPyIpLHArPXI/IiQiOiIoPz0iK0tsKHQpKyJ8JCkiLHtyZWdleHA6bmV3IFJlZ0V4cChwLGk/IiI6ImkiKSxrZXlzOm59fXMoYTh0LCJwYXRoVG9SZWdleHAiKTtmdW5jdGlvbiBxZGUoYSxlLHQscil7Zm9yKDtlPGEubGVuZ3RoOyl7bGV0IGk9YVtlKytdO2lmKGkudHlwZT09PSJncm91cCIpe2xldCBvPXQubGVuZ3RoO3FkZShpLnRva2VucywwLHQsbj0+cWRlKGEsZSxuLHIpKSx0Lmxlbmd0aD1vO2NvbnRpbnVlfXQucHVzaChpKX1yKHQpfXMocWRlLCJmbGF0dGVuIik7ZnVuY3Rpb24gT3phKGEsZSx0LHIpe2xldCBpPSIiLG89IiIsbj0iIixsPTAsZD0wLGM9MDtmdW5jdGlvbiBwKG0sdil7Zm9yKDttPGEubGVuZ3RoOyl7bGV0IHg9YVttKytdO2lmKHgudHlwZT09PXYpcmV0dXJuITA7aWYoeC50eXBlPT09InRleHQiJiZ4LnZhbHVlLmluY2x1ZGVzKGUpKWJyZWFrfXJldHVybiExfXMocCwiaGFzSW5TZWdtZW50Iik7ZnVuY3Rpb24gdShtKXtsZXQgdj0iIjtmb3IoO208YS5sZW5ndGg7KXtsZXQgeD1hW20rK107aWYoeC50eXBlIT09InRleHQiKWJyZWFrO3YrPXgudmFsdWV9cmV0dXJuIHZ9Zm9yKHModSwicGVla1RleHQiKTtjPGEubGVuZ3RoOyl7bGV0IG09YVtjKytdO2lmKG0udHlwZT09PSJ0ZXh0Iil7aSs9S2wobS52YWx1ZSksbys9bS52YWx1ZSxsPT09MiYmKG4rPW0udmFsdWUpLG0udmFsdWUuaW5jbHVkZXMoZSkmJihkPTApO2NvbnRpbnVlfWlmKG0udHlwZT09PSJwYXJhbSJ8fG0udHlwZT09PSJ3aWxkY2FyZCIpe2lmKGwmJiFvKXRocm93IG5ldyBCMihgTWlzc2luZyB0ZXh0IGJlZm9yZSAiJHttLm5hbWV9IiAke20udHlwZX1gLHIpO20udHlwZT09PSJwYXJhbSI/KGkrPWQmMj9gKCR7WDAoZSxvKX0rKWA6cChjLCJ3aWxkY2FyZCIpP2AoJHtYMChlLHUoYykpfSspYDpkJjE/YCgke1gwKGUsbyl9K3wke0tsKG8pfSlgOmAoJHtYMChlLCIiKX0rKWAsZHw9bD0xKTooaSs9ZCYyP2AoJHtYMChvLCIiKX0rKWA6bj9gKCR7WDAobiwiIil9K3wke1gwKGUsIiIpfSspYDoiKFteXSspIixuPSIiLGR8PWw9MiksdC5wdXNoKG0pLG89IiI7Y29udGludWV9dGhyb3cgbmV3IFR5cGVFcnJvcihgVW5rbm93biB0b2tlbiB0eXBlOiAke20udHlwZX1gKX1yZXR1cm4gaX1zKE96YSwidG9SZWdFeHBTb3VyY2UiKTtmdW5jdGlvbiBYMChhLGUpe3JldHVybiBlLmxlbmd0aD5hLmxlbmd0aD9YMChlLGEpOihhPT09ZSYmKGU9IiIpLGUubGVuZ3RoPjE/YCg/Oig/ISR7S2woYSl9fCR7S2woZSl9KVteXSlgOmEubGVuZ3RoPjE/YCg/Oig/ISR7S2woYSl9KVteJHtLbChlKX1dKWA6YFteJHtLbChhK2UpfV1gKX1zKFgwLCJuZWdhdGUiKTtmdW5jdGlvbiByOHQoYSxlKXtsZXQgdD0iIjtmb3IoO2U8YS5sZW5ndGg7KXtsZXQgcj1hW2UrK107aWYoci50eXBlPT09InRleHQiKXt0Kz1QemEoci52YWx1ZSk7Y29udGludWV9aWYoci50eXBlPT09Imdyb3VwIil7dCs9InsiK3I4dChyLnRva2VucywwKSsifSI7Y29udGludWV9aWYoci50eXBlPT09InBhcmFtIil7dCs9IjoiK3M4dChyLm5hbWUsYVtlXSk7Y29udGludWV9aWYoci50eXBlPT09IndpbGRjYXJkIil7dCs9IioiK3M4dChyLm5hbWUsYVtlXSk7Y29udGludWV9dGhyb3cgbmV3IFR5cGVFcnJvcihgVW5rbm93biB0b2tlbiB0eXBlOiAke3IudHlwZX1gKX1yZXR1cm4gdH1zKHI4dCwic3RyaW5naWZ5VG9rZW5zIik7ZnVuY3Rpb24gRnphKGEpe3JldHVybiByOHQoYS50b2tlbnMsMCl9cyhGemEsInN0cmluZ2lmeSIpO2Z1bmN0aW9uIHM4dChhLGUpe3JldHVybiFFemEudGVzdChhKXx8ZT8udHlwZT09PSJ0ZXh0IiYmZTh0LnRlc3QoZS52YWx1ZVswXSk/SlNPTi5zdHJpbmdpZnkoYSk6YX1zKHM4dCwic3RyaW5naWZ5TmFtZSIpfSk7dmFyIFZkZSxqZGU9ZigoKT0+e0ZoKCk7bTIoKTtWZGU9QmkoaTh0KCksMSl9KTt2YXIgX0osbzh0PWYoKCk9PntqZGUoKTtfSj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJRdWVyeVBhcmFtcyIpfWNvbnN0cnVjdG9yKCl7fWdldEFsbEFzT2JqZWN0KCl7bGV0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKGUuZW50cmllcygpKX1zZXRRdWVyeVBhcmFtKGUsdCxyPSJyZXBsYWNlIil7dmFyIGk9bmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtpLnNldChlLHQpLHI9PT0icHVzaCI/aGlzdG9yeS5wdXNoU3RhdGUobnVsbCxudWxsLCI/IitpLnRvU3RyaW5nKCkpOmhpc3RvcnkucmVwbGFjZVN0YXRlKG51bGwsbnVsbCwiPyIraS50b1N0cmluZygpKX1kZWxldGVRdWVyeVBhcmFtKGUsdD0icmVwbGFjZSIpe3ZhciByPW5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7ci5kZWxldGUoZSksdD09PSJwdXNoIj9oaXN0b3J5LnB1c2hTdGF0ZShudWxsLG51bGwsIj8iK3IudG9TdHJpbmcoKSk6aGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCxudWxsLCI/IityLnRvU3RyaW5nKCkpfWdldFF1ZXJ5UGFyYW0oZSl7cmV0dXJuIHRoaXMuZ2V0QWxsQXNPYmplY3QoKVtlXX19fSk7dmFyIHlycyxVZGUsbjh0PWYoKCk9PntqZGUoKTtvOHQoKTt5cnM9cyhhPT57Y29uc29sZS5sb2coYCVjW1JvdXRlcl0lYyAke2F9YCwiY29sb3I6IHJnYigyNTUsIDEwNSwgMTAwKTsiLCJjb2xvcjogaW5oZXJpdCIpfSwicm91dGVMb2ciKSxVZGU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJTbWFydFJvdXRlciIpfWNvbnN0cnVjdG9yKGUsdD0iIil7dGhpcy5vcHRpb25zPXtkZWJ1ZzohMX0sdGhpcy5xdWVyeVBhcmFtcz1uZXcgX0osdGhpcy5yb3V0ZXM9W10sdGhpcy5vcHRpb25zPXsuLi50aGlzLm9wdGlvbnMsLi4uZX0sdGhpcy5iYXNlUGF0aD10LHRoaXMucG9wc3RhdGVMaXN0ZW5lcj1yPT57ci5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2hhbmRsZVJvdXRlU3RhdGUoKX0sd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIix0aGlzLnBvcHN0YXRlTGlzdGVuZXIpfWNyZWF0ZVN1YlJvdXRlcihlLHQpe2xldCByPWAke3RoaXMuYmFzZVBhdGh9JHtlfWA7cmV0dXJuIG5ldyBhKHsuLi50aGlzLm9wdGlvbnMsLi4udH0scil9YXN5bmMgcHVzaFVybChlPSIvIix0PXt9KXtsZXQgcj1gJHt0aGlzLmJhc2VQYXRofSR7ZX1gO3IhPT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWU/d2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKHQsd2luZG93LmRvY3VtZW50LnRpdGxlLHIpOndpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSh0LHdpbmRvdy5kb2N1bWVudC50aXRsZSxyKSxhd2FpdCB0aGlzLl9oYW5kbGVSb3V0ZVN0YXRlKCl9b24oZSx0KXtsZXQgcj1gJHt0aGlzLmJhc2VQYXRofSR7ZX1gLGk9e21hdGNoRnVuY3Rpb246VmRlLm1hdGNoKHIpLGhhbmRsZXI6dH07cmV0dXJuIHRoaXMucm91dGVzLnB1c2goaSkscygoKT0+e3RoaXMucm91dGVzLnNwbGljZSh0aGlzLnJvdXRlcy5pbmRleE9mKGkpLDEpfSwicmVtb3ZlRnVuY3Rpb24iKX1hc3luYyBfaGFuZGxlUm91dGVTdGF0ZSgpe2xldCBlPXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSx0PXRoaXMucm91dGVzLmZpbHRlcihyPT4hIXIubWF0Y2hGdW5jdGlvbihlKSk7Zm9yKGxldCByIG9mIHQpe2xldCBpPXIubWF0Y2hGdW5jdGlvbihlKTtyLmhhbmRsZXIoey4uLmkudmFsdWVPZigpLHF1ZXJ5UGFyYW1zOnRoaXMucXVlcnlQYXJhbXMuZ2V0QWxsQXNPYmplY3QoKX0pfX1kZXN0cm95KCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIix0aGlzLnBvcHN0YXRlTGlzdGVuZXIpLHRoaXMucm91dGVzPVtdfX19KTt2YXIgbGQ9e307cnQobGQse1NtYXJ0Um91dGVyOigpPT5VZGV9KTt2YXIgbDh0PWYoKCk9PntuOHQoKX0pO3ZhciBjOHQ9ZigoKT0+e2o5KCk7VWgoKX0pO2Z1bmN0aW9uIEgyKGEsZSl7cmV0dXJuIGE+Pj5lfGE8PDMyLWV9ZnVuY3Rpb24ganphKGEsZSl7bGV0IHQ9ZVswXSxyPWVbMV0saT1lWzJdLG89ZVszXSxuPWVbNF0sbD1lWzVdLGQ9ZVs2XSxjPWVbN107Zm9yKGxldCBwPTA7cDw2NDtwKyspe2lmKHA+PTE2KXtsZXQgeT1IMihhW3AtMTVdLDcpXkgyKGFbcC0xNV0sMTgpXmFbcC0xNV0+Pj4zLGs9SDIoYVtwLTJdLDE3KV5IMihhW3AtMl0sMTkpXmFbcC0yXT4+PjEwO2FbcF09YVtwLTE2XSt5K2FbcC03XStrPj4+MH1sZXQgdT1IMihuLDYpXkgyKG4sMTEpXkgyKG4sMjUpLG09biZsXn5uJmQsdj1jK3UrbStxemFbcF0rYVtwXT4+PjAseD1IMih0LDIpXkgyKHQsMTMpXkgyKHQsMjIpLGI9dCZyXnQmaV5yJmksZz14K2I+Pj4wO2M9ZCxkPWwsbD1uLG49byt2Pj4+MCxvPWksaT1yLHI9dCx0PXYrZz4+PjB9ZVswXT1lWzBdK3Q+Pj4wLGVbMV09ZVsxXStyPj4+MCxlWzJdPWVbMl0raT4+PjAsZVszXT1lWzNdK28+Pj4wLGVbNF09ZVs0XStuPj4+MCxlWzVdPWVbNV0rbD4+PjAsZVs2XT1lWzZdK2Q+Pj4wLGVbN109ZVs3XStjPj4+MH1mdW5jdGlvbiBXZGUoYSl7bGV0IGU9Wy4uLlZ6YV0sdD1hLmxlbmd0aCxyPXQqOCxpPXQlNjQ8NTY/NTYtdCU2NDoxMjAtdCU2NCxvPW5ldyBVaW50OEFycmF5KHQraSs4KTtvLnNldChhKSxvW3RdPTEyODtsZXQgbj1uZXcgRGF0YVZpZXcoby5idWZmZXIpO24uc2V0VWludDMyKG8ubGVuZ3RoLTgsMCwhMSksbi5zZXRVaW50MzIoby5sZW5ndGgtNCxyPj4+MCwhMSk7Zm9yKGxldCBkPTA7ZDxvLmxlbmd0aDtkKz02NCl7bGV0IGM9bmV3IEFycmF5KDY0KTtmb3IobGV0IHA9MDtwPDE2O3ArKyljW3BdPW4uZ2V0VWludDMyKGQrcCo0LCExKTtqemEoYyxlKX1sZXQgbD0iIjtmb3IobGV0IGQ9MDtkPDg7ZCsrKWwrPWVbZF0udG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDgsIjAiKTtyZXR1cm4gbH12YXIgcXphLFZ6YSxkOHQ9ZigoKT0+e3F6YT1bMTExNjM1MjQwOCwxODk5NDQ3NDQxLDMwNDkzMjM0NzEsMzkyMTAwOTU3Myw5NjE5ODcxNjMsMTUwODk3MDk5MywyNDUzNjM1NzQ4LDI4NzA3NjMyMjEsMzYyNDM4MTA4MCwzMTA1OTg0MDEsNjA3MjI1Mjc4LDE0MjY4ODE5ODcsMTkyNTA3ODM4OCwyMTYyMDc4MjA2LDI2MTQ4ODgxMDMsMzI0ODIyMjU4MCwzODM1MzkwNDAxLDQwMjIyMjQ3NzQsMjY0MzQ3MDc4LDYwNDgwNzYyOCw3NzAyNTU5ODMsMTI0OTE1MDEyMiwxNTU1MDgxNjkyLDE5OTYwNjQ5ODYsMjU1NDIyMDg4MiwyODIxODM0MzQ5LDI5NTI5OTY4MDgsMzIxMDMxMzY3MSwzMzM2NTcxODkxLDM1ODQ1Mjg3MTEsMTEzOTI2OTkzLDMzODI0MTg5NSw2NjYzMDcyMDUsNzczNTI5OTEyLDEyOTQ3NTczNzIsMTM5NjE4MjI5MSwxNjk1MTgzNzAwLDE5ODY2NjEwNTEsMjE3NzAyNjM1MCwyNDU2OTU2MDM3LDI3MzA0ODU5MjEsMjgyMDMwMjQxMSwzMjU5NzMwODAwLDMzNDU3NjQ3NzEsMzUxNjA2NTgxNywzNjAwMzUyODA0LDQwOTQ1NzE5MDksMjc1NDIzMzQ0LDQzMDIyNzczNCw1MDY5NDg2MTYsNjU5MDYwNTU2LDg4Mzk5Nzg3Nyw5NTgxMzk1NzEsMTMyMjgyMjIxOCwxNTM3MDAyMDYzLDE3NDc4NzM3NzksMTk1NTU2MjIyMiwyMDI0MTA0ODE1LDIyMjc3MzA0NTIsMjM2MTg1MjQyNCwyNDI4NDM2NDc0LDI3NTY3MzQxODcsMzIwNDAzMTQ3OSwzMzI5MzI1Mjk4XSxWemE9WzE3NzkwMzM3MDMsMzE0NDEzNDI3NywxMDEzOTA0MjQyLDI3NzM0ODA3NjIsMTM1OTg5MzExOSwyNjAwODIyOTI0LDUyODczNDYzNSwxNTQxNDU5MjI1XTtzKEgyLCJyb3RyIik7cyhqemEsInNoYTI1NlRyYW5zZm9ybSIpO3MoV2RlLCJzaGEyNTZGYWxsYmFjayIpfSk7dmFyIGdiPXt9O3J0KGdiLHttZDVGcm9tU3RyaW5nOigpPT5aemEsc2hhMjU2RnJvbUJ1ZmZlcjooKT0+V3phLHNoYTI1NkZyb21GaWxlOigpPT5LemEsc2hhMjU2RnJvbVN0cmVhbTooKT0+WXphLHNoYTI1NkZyb21TdHJpbmc6KCk9PmY4dCxzaGEyNTZGcm9tU3RyaW5nU3luYzooKT0+VXphLHNoYTI2NUZyb21PYmplY3Q6KCk9Pkd6YX0pO3ZhciB1OHQscDh0LGY4dCxVemEsV3phLEd6YSxZemEsS3phLFp6YSxoOHQ9ZigoKT0+e2M4dCgpO2Q4dCgpO3U4dD1zKGE9PntsZXQgZT1bXSx0PW5ldyBEYXRhVmlldyhhKTtmb3IobGV0IHI9MDtyPHQuYnl0ZUxlbmd0aDtyKz00KXtsZXQgbz10LmdldFVpbnQzMihyKS50b1N0cmluZygxNiksbj0iMDAwMDAwMDAiLGw9KG4rbykuc2xpY2UoLW4ubGVuZ3RoKTtlLnB1c2gobCl9cmV0dXJuIGUuam9pbigiIil9LCJoZXgiKSxwOHQ9cygoKT0+dHlwZW9mIGNyeXB0bzwidSImJmNyeXB0by5zdWJ0bGUhPT12b2lkIDAsImlzQ3J5cHRvU3VidGxlQXZhaWxhYmxlIiksZjh0PXMoYXN5bmMgYT0+e2xldCBlPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShhKTtpZihwOHQoKSl7bGV0IHQ9YXdhaXQgY3J5cHRvLnN1YnRsZS5kaWdlc3QoIlNIQS0yNTYiLGUpO3JldHVybiB1OHQodCl9ZWxzZSByZXR1cm4gV2RlKGUpfSwic2hhMjU2RnJvbVN0cmluZyIpLFV6YT1zKGE9Pnt0aHJvdyBjb25zb2xlLndhcm4oInNoYTI1NkZyb21TdHJpbmdTeW5jIGlzIG5vdCB0cnVseSBzeW5jaHJvbm91cyBpbiBicm93c2VyIGVudmlyb25tZW50IiksbmV3IEVycm9yKCJzaGEyNTZGcm9tU3RyaW5nU3luYyBpcyBub3Qgc3VwcG9ydGVkIGluIGJyb3dzZXIgZW52aXJvbm1lbnQuIFVzZSBzaGEyNTZGcm9tU3RyaW5nIGluc3RlYWQuIil9LCJzaGEyNTZGcm9tU3RyaW5nU3luYyIpLFd6YT1zKGFzeW5jIGE9PntpZihwOHQoKSl7bGV0IGU7aWYoYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpe2xldCBpPWE7ZT1pLmJ1ZmZlci5zbGljZShpLmJ5dGVPZmZzZXQsaS5ieXRlT2Zmc2V0K2kuYnl0ZUxlbmd0aCl9ZWxzZSBlPWE7bGV0IHQ9YXdhaXQgY3J5cHRvLnN1YnRsZS5kaWdlc3QoIlNIQS0yNTYiLGUpO3JldHVybiB1OHQodCl9ZWxzZXtsZXQgZT1hIGluc3RhbmNlb2YgVWludDhBcnJheT9hOm5ldyBVaW50OEFycmF5KGEpO3JldHVybiBXZGUoZSl9fSwic2hhMjU2RnJvbUJ1ZmZlciIpLEd6YT1zKGFzeW5jIGE9PntsZXQgZT1Ucy5zdHJpbmdpZnkoYSk7cmV0dXJuIGF3YWl0IGY4dChlKX0sInNoYTI2NUZyb21PYmplY3QiKSxZemE9cyhhPT57dGhyb3cgbmV3IEVycm9yKCJzaGEyNTZGcm9tU3RyZWFtIGlzIG5vdCBzdXBwb3J0ZWQgaW4gYnJvd3NlciBlbnZpcm9ubWVudCIpfSwic2hhMjU2RnJvbVN0cmVhbSIpLEt6YT1zKGFzeW5jIGE9Pnt0aHJvdyBuZXcgRXJyb3IoInNoYTI1NkZyb21GaWxlIGlzIG5vdCBzdXBwb3J0ZWQgaW4gYnJvd3NlciBlbnZpcm9ubWVudCIpfSwic2hhMjU2RnJvbUZpbGUiKSxaemE9cyhhc3luYyBhPT57dGhyb3cgbmV3IEVycm9yKCJtZDVGcm9tU3RyaW5nIGlzIG5vdCBzdXBwb3J0ZWQgaW4gYnJvd3NlciBlbnZpcm9ubWVudC4gV2ViIENyeXB0byBBUEkgZG9lcyBub3Qgc3VwcG9ydCBNRDUuIil9LCJtZDVGcm9tU3RyaW5nIil9KTt2YXIgVEo9ZigoKT0+e2g4dCgpO1VoKCk7WnMoKTttMigpO2hYKCl9KTt2YXIgYmIsR2RlPWYoKCk9PntMSigpO2JiPWNsYXNze3N0YXRpY3tzKHRoaXMsIlN0YXRlQWN0aW9uIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLnN0YXRlUGFydFJlZj1lLHRoaXMuYWN0aW9uRGVmPXR9dHJpZ2dlcihlKXtyZXR1cm4gdGhpcy5zdGF0ZVBhcnRSZWYuZGlzcGF0Y2hBY3Rpb24odGhpcyxlKX19fSk7ZnVuY3Rpb24gUXphKCl7cmV0dXJuIHR5cGVvZiBkb2N1bWVudD4idSI/cDMoITApOm5ldyBCdChhPT57YS5uZXh0KCFkb2N1bWVudC5oaWRkZW4pO2xldCBlPXMoKCk9PmEubmV4dCghZG9jdW1lbnQuaGlkZGVuKSwiaGFuZGxlciIpO3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixlKSwoKT0+ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsZSl9KX12YXIgRjgsWWRlPWYoKCk9Pnt1aCgpO3MoUXphLCJjcmVhdGVWaXNpYmlsaXR5T2JzZXJ2YWJsZSIpO0Y4PWNsYXNze3N0YXRpY3tzKHRoaXMsIlN0YXRlUHJvY2VzcyIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5zdGF0dXNTdWJqZWN0PW5ldyB0aCgiaWRsZSIpLHRoaXMucHJvZHVjZXJTdWJzY3JpcHRpb249bnVsbCx0aGlzLmF1dG9QYXVzZVN1YnNjcmlwdGlvbj1udWxsLHRoaXMucHJvY2Vzc2luZ1F1ZXVlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuc3RhdGVQYXJ0UmVmPWUsdGhpcy5wcm9kdWNlckZuPXQucHJvZHVjZXIsdGhpcy5yZWR1Y2VyPXQucmVkdWNlcix0aGlzLnNpZGVFZmZlY3Q9dC5zaWRlRWZmZWN0LHRoaXMuYXV0b1BhdXNlT3B0aW9uPXQuYXV0b1BhdXNlPz8hMX1nZXQgc3RhdHVzKCl7cmV0dXJuIHRoaXMuc3RhdHVzU3ViamVjdC5nZXRWYWx1ZSgpfWdldCBzdGF0dXMkKCl7cmV0dXJuIHRoaXMuc3RhdHVzU3ViamVjdC5hc09ic2VydmFibGUoKX1zdGFydCgpe2lmKHRoaXMuc3RhdHVzPT09ImRpc3Bvc2VkIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzdGFydCBhIGRpc3Bvc2VkIHByb2Nlc3MiKTt0aGlzLnN0YXR1cyE9PSJydW5uaW5nIiYmKHRoaXMuc3RhdHVzU3ViamVjdC5uZXh0KCJydW5uaW5nIiksdGhpcy5zdWJzY3JpYmVQcm9kdWNlcigpLHRoaXMuc2V0dXBBdXRvUGF1c2UoKSl9cGF1c2UoKXtpZih0aGlzLnN0YXR1cz09PSJkaXNwb3NlZCIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgcGF1c2UgYSBkaXNwb3NlZCBwcm9jZXNzIik7dGhpcy5zdGF0dXM9PT0icnVubmluZyImJih0aGlzLnN0YXR1c1N1YmplY3QubmV4dCgicGF1c2VkIiksdGhpcy51bnN1YnNjcmliZVByb2R1Y2VyKCkpfXJlc3VtZSgpe2lmKHRoaXMuc3RhdHVzPT09ImRpc3Bvc2VkIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCByZXN1bWUgYSBkaXNwb3NlZCBwcm9jZXNzIik7dGhpcy5zdGF0dXM9PT0icGF1c2VkIiYmKHRoaXMuc3RhdHVzU3ViamVjdC5uZXh0KCJydW5uaW5nIiksdGhpcy5zdWJzY3JpYmVQcm9kdWNlcigpKX1kaXNwb3NlKCl7dGhpcy5zdGF0dXMhPT0iZGlzcG9zZWQiJiYodGhpcy51bnN1YnNjcmliZVByb2R1Y2VyKCksdGhpcy50ZWFyZG93bkF1dG9QYXVzZSgpLHRoaXMuc3RhdHVzU3ViamVjdC5uZXh0KCJkaXNwb3NlZCIpLHRoaXMuc3RhdHVzU3ViamVjdC5jb21wbGV0ZSgpLHRoaXMuc3RhdGVQYXJ0UmVmLl9yZW1vdmVQcm9jZXNzKHRoaXMpKX1zdWJzY3JpYmVQcm9kdWNlcigpe3RoaXMudW5zdWJzY3JpYmVQcm9kdWNlcigpO2xldCBlPXRoaXMucHJvZHVjZXJGbigpO3RoaXMucHJvZHVjZXJTdWJzY3JpcHRpb249ZS5zdWJzY3JpYmUoe25leHQ6cyh0PT57dGhpcy5wcm9jZXNzaW5nUXVldWU9dGhpcy5wcm9jZXNzaW5nUXVldWUudGhlbihhc3luYygpPT57dHJ5e2lmKHRoaXMuc2lkZUVmZmVjdClhd2FpdCB0aGlzLnNpZGVFZmZlY3QodCk7ZWxzZSBpZih0aGlzLnJlZHVjZXIpe2xldCByPXRoaXMuc3RhdGVQYXJ0UmVmLmdldFN0YXRlKCk7ciE9PXZvaWQgMCYmYXdhaXQgdGhpcy5zdGF0ZVBhcnRSZWYuc2V0U3RhdGUodGhpcy5yZWR1Y2VyKHIsdCkpfX1jYXRjaChyKXtjb25zb2xlLmVycm9yKCJTdGF0ZVByb2Nlc3MgdmFsdWUgaGFuZGxpbmcgZXJyb3I6IixyKX19KX0sIm5leHQiKSxlcnJvcjpzKHQ9Pntjb25zb2xlLmVycm9yKCJTdGF0ZVByb2Nlc3MgcHJvZHVjZXIgZXJyb3I6Iix0KSx0aGlzLnN0YXR1cz09PSJydW5uaW5nIiYmKHRoaXMuc3RhdHVzU3ViamVjdC5uZXh0KCJwYXVzZWQiKSx0aGlzLnVuc3Vic2NyaWJlUHJvZHVjZXIoKSl9LCJlcnJvciIpfSl9dW5zdWJzY3JpYmVQcm9kdWNlcigpe3RoaXMucHJvZHVjZXJTdWJzY3JpcHRpb24mJih0aGlzLnByb2R1Y2VyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5wcm9kdWNlclN1YnNjcmlwdGlvbj1udWxsKX1zZXR1cEF1dG9QYXVzZSgpe2lmKHRoaXMudGVhcmRvd25BdXRvUGF1c2UoKSwhdGhpcy5hdXRvUGF1c2VPcHRpb24pcmV0dXJuO2xldCBlPXRoaXMuYXV0b1BhdXNlT3B0aW9uPT09InZpc2liaWxpdHkiP1F6YSgpOnRoaXMuYXV0b1BhdXNlT3B0aW9uO3RoaXMuYXV0b1BhdXNlU3Vic2NyaXB0aW9uPWUuc3Vic2NyaWJlKHQ9PnshdCYmdGhpcy5zdGF0dXM9PT0icnVubmluZyI/dGhpcy5wYXVzZSgpOnQmJnRoaXMuc3RhdHVzPT09InBhdXNlZCImJnRoaXMucmVzdW1lKCl9KX10ZWFyZG93bkF1dG9QYXVzZSgpe3RoaXMuYXV0b1BhdXNlU3Vic2NyaXB0aW9uJiYodGhpcy5hdXRvUGF1c2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLmF1dG9QYXVzZVN1YnNjcmlwdGlvbj1udWxsKX19fSk7ZnVuY3Rpb24gSnphKGEpe3JldHVybiBuZXcgQnQoZT0+e2lmKGEuYWJvcnRlZCl7ZS5uZXh0KCksZS5jb21wbGV0ZSgpO3JldHVybn1sZXQgdD1zKCgpPT57ZS5uZXh0KCksZS5jb21wbGV0ZSgpfSwiaGFuZGxlciIpO3JldHVybiBhLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0Iix0KSwoKT0+YS5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIsdCl9KX12YXIgdmIsTEo9ZigoKT0+e1RKKCk7dWgoKTtHZGUoKTtZZGUoKTtzKEp6YSwiZnJvbUFib3J0U2lnbmFsIik7dmI9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJTdGF0ZVBhcnQiKX1zdGF0aWN7dGhpcy5NQVhfTkVTVEVEX0RJU1BBVENIX0RFUFRIPTEwfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5zdGF0ZT1uZXcgdGgodm9pZCAwKSx0aGlzLmRpc3Bvc2VkPSExLHRoaXMuY3VtdWxhdGl2ZURlZmVycmVkPWV0LmN1bXVsYXRpdmVEZWZlcigpLHRoaXMubXV0YXRpb25RdWV1ZT1Qcm9taXNlLnJlc29sdmUoKSx0aGlzLnBlbmRpbmdDdW11bGF0aXZlTm90aWZpY2F0aW9uPW51bGwsdGhpcy53ZWJTdG9yZT1udWxsLHRoaXMubWlkZGxld2FyZXM9W10sdGhpcy5wcm9jZXNzZXM9W10sdGhpcy5zZWxlY3RvckNhY2hlPW5ldyBXZWFrTWFwLHRoaXMuZGVmYXVsdFNlbGVjdE9ic2VydmFibGU9bnVsbCx0aGlzLm5hbWU9ZSx0JiYodGhpcy53ZWJTdG9yZU9wdGlvbnM9dCl9YXN5bmMgaW5pdCgpe2lmKHRoaXMud2ViU3RvcmVPcHRpb25zKXt0aGlzLndlYlN0b3JlPW5ldyBuMS5XZWJTdG9yZSh0aGlzLndlYlN0b3JlT3B0aW9ucyksYXdhaXQgdGhpcy53ZWJTdG9yZS5pbml0KCk7bGV0IGU9YXdhaXQgdGhpcy53ZWJTdG9yZS5nZXQoU3RyaW5nKHRoaXMubmFtZSkpO2UmJnRoaXMudmFsaWRhdGVTdGF0ZShlKSYmKHRoaXMuc3RhdGVTdG9yZT1lLGF3YWl0IHRoaXMubm90aWZ5Q2hhbmdlKCkpfX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLnN0YXRlU3RvcmV9YWRkTWlkZGxld2FyZShlKXtyZXR1cm4gdGhpcy5taWRkbGV3YXJlcy5wdXNoKGUpLCgpPT57bGV0IHQ9dGhpcy5taWRkbGV3YXJlcy5pbmRleE9mKGUpO3QhPT0tMSYmdGhpcy5taWRkbGV3YXJlcy5zcGxpY2UodCwxKX19YXN5bmMgc2V0U3RhdGUoZSl7aWYodGhpcy5kaXNwb3NlZCl0aHJvdyBuZXcgRXJyb3IoYFN0YXRlUGFydCAnJHt0aGlzLm5hbWV9JyBoYXMgYmVlbiBkaXNwb3NlZGApO3JldHVybiB0aGlzLm11dGF0aW9uUXVldWU9dGhpcy5tdXRhdGlvblF1ZXVlLnRoZW4oKCk9PnRoaXMuYXBwbHlTdGF0ZShlKSwoKT0+dGhpcy5hcHBseVN0YXRlKGUpKX1hc3luYyBhcHBseVN0YXRlKGUpe2xldCB0PWU7Zm9yKGxldCByIG9mIHRoaXMubWlkZGxld2FyZXMpdD1hd2FpdCByKHQsdGhpcy5zdGF0ZVN0b3JlKTtpZighdGhpcy52YWxpZGF0ZVN0YXRlKHQpKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzdGF0ZSBzdHJ1Y3R1cmUgZm9yIHN0YXRlIHBhcnQgJyR7dGhpcy5uYW1lfSdgKTtyZXR1cm4gdGhpcy53ZWJTdG9yZSYmYXdhaXQgdGhpcy53ZWJTdG9yZS5zZXQoU3RyaW5nKHRoaXMubmFtZSksdCksdGhpcy5zdGF0ZVN0b3JlPXQsYXdhaXQgdGhpcy5ub3RpZnlDaGFuZ2UoKSx0aGlzLnN0YXRlU3RvcmV9dmFsaWRhdGVTdGF0ZShlKXtyZXR1cm4gZSE9bnVsbH1hc3luYyBub3RpZnlDaGFuZ2UoKXtsZXQgZT10aGlzLnN0YXRlU3RvcmU7aWYoZT09PXZvaWQgMClyZXR1cm47aWYodGhpcy5zbWFydHN0YXRlUmVmPy5pc0JhdGNoaW5nKXt0aGlzLnNtYXJ0c3RhdGVSZWYucmVnaXN0ZXJQZW5kaW5nTm90aWZpY2F0aW9uKHRoaXMpO3JldHVybn1sZXQgdD1zKGFzeW5jIHI9PmF3YWl0IGdiLnNoYTI1NkZyb21TdHJpbmcoVHMuc3RhYmxlT25lV2F5U3RyaW5naWZ5KHIpKSwiY3JlYXRlU3RhdGVIYXNoIik7dHJ5e2xldCByPWF3YWl0IHQoZSk7aWYodGhpcy5sYXN0U3RhdGVOb3RpZmljYXRpb25QYXlsb2FkSGFzaCYmcj09PXRoaXMubGFzdFN0YXRlTm90aWZpY2F0aW9uUGF5bG9hZEhhc2gpcmV0dXJuO3RoaXMubGFzdFN0YXRlTm90aWZpY2F0aW9uUGF5bG9hZEhhc2g9cn1jYXRjaChyKXtjb25zb2xlLmVycm9yKGBTdGF0ZSBoYXNoIGNvbXB1dGF0aW9uIGZhaWxlZCBmb3IgJyR7dGhpcy5uYW1lfSc6YCxyKX10aGlzLnN0YXRlLm5leHQoZSl9bm90aWZ5Q2hhbmdlQ3VtdWxhdGl2ZSgpe3RoaXMucGVuZGluZ0N1bXVsYXRpdmVOb3RpZmljYXRpb24mJmNsZWFyVGltZW91dCh0aGlzLnBlbmRpbmdDdW11bGF0aXZlTm90aWZpY2F0aW9uKSx0aGlzLnBlbmRpbmdDdW11bGF0aXZlTm90aWZpY2F0aW9uPXNldFRpbWVvdXQoKCk9Pnt0aGlzLnBlbmRpbmdDdW11bGF0aXZlTm90aWZpY2F0aW9uPW51bGwsdGhpcy5zdGF0ZVN0b3JlIT09dm9pZCAwJiZ0aGlzLm5vdGlmeUNoYW5nZSgpLmNhdGNoKGU9Pntjb25zb2xlLmVycm9yKGBub3RpZnlDaGFuZ2VDdW11bGF0aXZlIGZhaWxlZCBmb3IgJyR7dGhpcy5uYW1lfSc6YCxlKX0pfSwwKX1zZWxlY3QoZSx0KXtsZXQgcj10Py5zaWduYWwhPW51bGw7aWYoIXIpe2lmKGUpe2lmKHRoaXMuc2VsZWN0b3JDYWNoZS5oYXMoZSkpcmV0dXJuIHRoaXMuc2VsZWN0b3JDYWNoZS5nZXQoZSl9ZWxzZSBpZih0aGlzLmRlZmF1bHRTZWxlY3RPYnNlcnZhYmxlKXJldHVybiB0aGlzLmRlZmF1bHRTZWxlY3RPYnNlcnZhYmxlfWxldCBpPWV8fChkPT5kKSxvPVN5bWJvbCgic2VsZWN0b3ItZXJyb3IiKSxuPXRoaXMuc3RhdGUucGlwZShDYS5yeGpzLm9wcy5maWx0ZXIoZD0+ZCE9PXZvaWQgMCksQ2Eucnhqcy5vcHMubWFwKGQ9Pnt0cnl7cmV0dXJuIGkoZCl9Y2F0Y2goYyl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoYFNlbGVjdG9yIGVycm9yIGluIHN0YXRlIHBhcnQgJyR7dGhpcy5uYW1lfSc6YCxjKSxvfX0pLENhLnJ4anMub3BzLmZpbHRlcihkPT5kIT09byksY2goKGQsYyk9PkpTT04uc3RyaW5naWZ5KGQpPT09SlNPTi5zdHJpbmdpZnkoYykpKTtpZihyKXJldHVybiBuPW4ucGlwZShkaChKemEodC5zaWduYWwpKSksbjtsZXQgbD1uLnBpcGUoSFkoe2J1ZmZlclNpemU6MSxyZWZDb3VudDohMH0pKTtyZXR1cm4gZT90aGlzLnNlbGVjdG9yQ2FjaGUuc2V0KGUsbCk6dGhpcy5kZWZhdWx0U2VsZWN0T2JzZXJ2YWJsZT1sLGx9Y3JlYXRlQWN0aW9uKGUpe3JldHVybiBuZXcgYmIodGhpcyxlKX1jcmVhdGVBY3Rpb25Db250ZXh0KGUpe2xldCB0PXRoaXM7cmV0dXJue2Rpc3BhdGNoOnMoYXN5bmMocixpKT0+e2lmKGU+PWEuTUFYX05FU1RFRF9ESVNQQVRDSF9ERVBUSCl0aHJvdyBuZXcgRXJyb3IoYE1heGltdW0gbmVzdGVkIGFjdGlvbiBkaXNwYXRjaCBkZXB0aCAoJHthLk1BWF9ORVNURURfRElTUEFUQ0hfREVQVEh9KSBleGNlZWRlZC4gQ2hlY2sgZm9yIGNpcmN1bGFyIGFjdGlvbiBkaXNwYXRjaGVzLmApO2xldCBvPXQuY3JlYXRlQWN0aW9uQ29udGV4dChlKzEpLG49YXdhaXQgci5hY3Rpb25EZWYodCxpLG8pO3JldHVybiB0LmFwcGx5U3RhdGUobil9LCJkaXNwYXRjaCIpfX1hc3luYyBkaXNwYXRjaEFjdGlvbihlLHQpe2lmKHRoaXMuZGlzcG9zZWQpdGhyb3cgbmV3IEVycm9yKGBTdGF0ZVBhcnQgJyR7dGhpcy5uYW1lfScgaGFzIGJlZW4gZGlzcG9zZWRgKTthd2FpdCB0aGlzLmN1bXVsYXRpdmVEZWZlcnJlZC5wcm9taXNlO2xldCByPXMoYXN5bmMoKT0+e2xldCBpPXRoaXMuY3JlYXRlQWN0aW9uQ29udGV4dCgwKSxvPWF3YWl0IGUuYWN0aW9uRGVmKHRoaXMsdCxpKTtyZXR1cm4gdGhpcy5hcHBseVN0YXRlKG8pfSwiZXhlY3V0ZSIpO3JldHVybiB0aGlzLm11dGF0aW9uUXVldWU9dGhpcy5tdXRhdGlvblF1ZXVlLnRoZW4ocixyKX1hc3luYyB3YWl0VW50aWxQcmVzZW50KGUsdCl7bGV0IHIsaTt0eXBlb2YgdD09Im51bWJlciI/cj10OnQmJihyPXQudGltZW91dE1zLGk9dC5zaWduYWwpO2xldCBvPWV0LmRlZmVyKCksbj10aGlzLnNlbGVjdChlKSxsPSExO2lmKGk/LmFib3J0ZWQpdGhyb3cgbmV3IEVycm9yKCJBYm9ydGVkIik7bGV0IGQ9bi5zdWJzY3JpYmUodT0+e3UhPW51bGwmJiFsJiYobD0hMCxvLnJlc29sdmUodSkpfSksYztyJiYoYz1zZXRUaW1lb3V0KCgpPT57bHx8KGw9ITAsZC51bnN1YnNjcmliZSgpLG8ucmVqZWN0KG5ldyBFcnJvcihgd2FpdFVudGlsUHJlc2VudCB0aW1lZCBvdXQgYWZ0ZXIgJHtyfW1zYCkpKX0scikpO2xldCBwPWk/KCk9PntsfHwobD0hMCxkLnVuc3Vic2NyaWJlKCksYyYmY2xlYXJUaW1lb3V0KGMpLG8ucmVqZWN0KG5ldyBFcnJvcigiQWJvcnRlZCIpKSl9OnZvaWQgMDtpJiZwJiZpLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixwKTt0cnl7cmV0dXJuIGF3YWl0IG8ucHJvbWlzZX1maW5hbGx5e2QudW5zdWJzY3JpYmUoKSxjJiZjbGVhclRpbWVvdXQoYyksaSYmcCYmaS5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIscCl9fWFzeW5jIHN0YXRlU2V0dXAoZSl7bGV0IHQ9ZSh0aGlzKTt0aGlzLmN1bXVsYXRpdmVEZWZlcnJlZC5hZGRQcm9taXNlKHQpLGF3YWl0IHRoaXMuc2V0U3RhdGUoYXdhaXQgdCl9Y3JlYXRlUHJvY2VzcyhlKXtpZih0aGlzLmRpc3Bvc2VkKXRocm93IG5ldyBFcnJvcihgU3RhdGVQYXJ0ICcke3RoaXMubmFtZX0nIGhhcyBiZWVuIGRpc3Bvc2VkYCk7bGV0IHQ9bmV3IEY4KHRoaXMsZSk7cmV0dXJuIHRoaXMucHJvY2Vzc2VzLnB1c2godCksZS5hdXRvU3RhcnQmJnQuc3RhcnQoKSx0fWNyZWF0ZVNjaGVkdWxlZEFjdGlvbihlKXtpZih0aGlzLmRpc3Bvc2VkKXRocm93IG5ldyBFcnJvcihgU3RhdGVQYXJ0ICcke3RoaXMubmFtZX0nIGhhcyBiZWVuIGRpc3Bvc2VkYCk7bGV0IHQ9bmV3IEY4KHRoaXMse3Byb2R1Y2VyOnMoKCk9PnVuZShlLmludGVydmFsTXMpLCJwcm9kdWNlciIpLHNpZGVFZmZlY3Q6cyhhc3luYygpPT57YXdhaXQgZS5hY3Rpb24udHJpZ2dlcihlLnBheWxvYWQpfSwic2lkZUVmZmVjdCIpLGF1dG9QYXVzZTplLmF1dG9QYXVzZT8/ITF9KTtyZXR1cm4gdGhpcy5wcm9jZXNzZXMucHVzaCh0KSx0LnN0YXJ0KCksdH1fcmVtb3ZlUHJvY2VzcyhlKXtsZXQgdD10aGlzLnByb2Nlc3Nlcy5pbmRleE9mKGUpO3QhPT0tMSYmdGhpcy5wcm9jZXNzZXMuc3BsaWNlKHQsMSl9ZGlzcG9zZSgpe2lmKCF0aGlzLmRpc3Bvc2VkKXt0aGlzLmRpc3Bvc2VkPSEwO2ZvcihsZXQgZSBvZlsuLi50aGlzLnByb2Nlc3Nlc10pZS5kaXNwb3NlKCk7dGhpcy5wcm9jZXNzZXMubGVuZ3RoPTAsdGhpcy5zdGF0ZS5jb21wbGV0ZSgpLHRoaXMubXV0YXRpb25RdWV1ZT1Qcm9taXNlLnJlc29sdmUoKSx0aGlzLnBlbmRpbmdDdW11bGF0aXZlTm90aWZpY2F0aW9uJiYoY2xlYXJUaW1lb3V0KHRoaXMucGVuZGluZ0N1bXVsYXRpdmVOb3RpZmljYXRpb24pLHRoaXMucGVuZGluZ0N1bXVsYXRpdmVOb3RpZmljYXRpb249bnVsbCksdGhpcy5taWRkbGV3YXJlcy5sZW5ndGg9MCx0aGlzLnNlbGVjdG9yQ2FjaGU9bmV3IFdlYWtNYXAsdGhpcy5kZWZhdWx0U2VsZWN0T2JzZXJ2YWJsZT1udWxsLHRoaXMud2ViU3RvcmU9bnVsbCx0aGlzLnNtYXJ0c3RhdGVSZWY9dm9pZCAwLHRoaXMuc3RhdGVTdG9yZT12b2lkIDB9fX19KTtmdW5jdGlvbiBLZGUoYSxlKXtyZXR1cm4gY25lKGEubWFwKHQ9PnQuc2VsZWN0KCkpKS5waXBlKGgyKHQ9PmUoLi4udCkpLGNoKCh0LHIpPT5KU09OLnN0cmluZ2lmeSh0KT09PUpTT04uc3RyaW5naWZ5KHIpKSl9dmFyIFpkZT1mKCgpPT57VEooKTt1aCgpO3MoS2RlLCJjb21wdXRlZCIpfSk7dmFyIFhkZSxtOHQ9ZigoKT0+e1RKKCk7TEooKTtaZGUoKTtYZGU9Y2xhc3N7c3RhdGlje3ModGhpcywiU21hcnRzdGF0ZSIpfWNvbnN0cnVjdG9yKCl7dGhpcy5zdGF0ZVBhcnRNYXA9e30sdGhpcy5wZW5kaW5nU3RhdGVQYXJ0Q3JlYXRpb249bmV3IE1hcCx0aGlzLmJhdGNoRGVwdGg9MCx0aGlzLmlzRmx1c2hpbmc9ITEsdGhpcy5wZW5kaW5nTm90aWZpY2F0aW9ucz1uZXcgU2V0fWdldCBpc0JhdGNoaW5nKCl7cmV0dXJuIHRoaXMuYmF0Y2hEZXB0aD4wfXJlZ2lzdGVyUGVuZGluZ05vdGlmaWNhdGlvbihlKXt0aGlzLnBlbmRpbmdOb3RpZmljYXRpb25zLmFkZChlKX1hc3luYyBiYXRjaChlKXt0aGlzLmJhdGNoRGVwdGgrKzt0cnl7YXdhaXQgZSgpfWZpbmFsbHl7aWYodGhpcy5iYXRjaERlcHRoLS0sdGhpcy5iYXRjaERlcHRoPT09MCYmIXRoaXMuaXNGbHVzaGluZyl7dGhpcy5pc0ZsdXNoaW5nPSEwO3RyeXtmb3IoO3RoaXMucGVuZGluZ05vdGlmaWNhdGlvbnMuc2l6ZT4wOyl7bGV0IHQ9Wy4uLnRoaXMucGVuZGluZ05vdGlmaWNhdGlvbnNdO3RoaXMucGVuZGluZ05vdGlmaWNhdGlvbnMuY2xlYXIoKTtmb3IobGV0IHIgb2YgdCl0cnl7YXdhaXQgci5ub3RpZnlDaGFuZ2UoKX1jYXRjaChpKXtjb25zb2xlLmVycm9yKCJFcnJvciBmbHVzaGluZyBub3RpZmljYXRpb24gZm9yIHN0YXRlIHBhcnQ6IixpKX19fWZpbmFsbHl7dGhpcy5pc0ZsdXNoaW5nPSExfX19fWNvbXB1dGVkKGUsdCl7cmV0dXJuIEtkZShlLHQpfWRpc3Bvc2UoKXtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXModGhpcy5zdGF0ZVBhcnRNYXApKXtsZXQgdD10aGlzLnN0YXRlUGFydE1hcFtlXTt0JiZ0LmRpc3Bvc2UoKX10aGlzLnN0YXRlUGFydE1hcD17fSx0aGlzLnBlbmRpbmdTdGF0ZVBhcnRDcmVhdGlvbi5jbGVhcigpLHRoaXMucGVuZGluZ05vdGlmaWNhdGlvbnMuY2xlYXIoKX1hc3luYyBnZXRTdGF0ZVBhcnQoZSx0LHI9InNvZnQiKXtsZXQgaT10aGlzLnBlbmRpbmdTdGF0ZVBhcnRDcmVhdGlvbi5nZXQoZSk7aWYoaSlyZXR1cm4gaTtsZXQgbz10aGlzLnN0YXRlUGFydE1hcFtlXTtpZihvKXN3aXRjaChyKXtjYXNlIm1hbmRhdG9yeSI6dGhyb3cgbmV3IEVycm9yKGBTdGF0ZSBwYXJ0ICcke2V9JyBhbHJlYWR5IGV4aXN0cywgYnV0IGluaXRNb2RlIGlzICdtYW5kYXRvcnknYCk7Y2FzZSJmb3JjZSI6by5kaXNwb3NlKCk7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gb31lbHNlIGlmKHQ9PT12b2lkIDApdGhyb3cgbmV3IEVycm9yKGBTdGF0ZSBwYXJ0ICcke2V9JyBkb2VzIG5vdCBleGlzdCBhbmQgbm8gaW5pdGlhbCBzdGF0ZSBwcm92aWRlZGApO2xldCBuPXRoaXMuY3JlYXRlU3RhdGVQYXJ0KGUsdCxyKTt0aGlzLnBlbmRpbmdTdGF0ZVBhcnRDcmVhdGlvbi5zZXQoZSxuKTt0cnl7cmV0dXJuIGF3YWl0IG59ZmluYWxseXt0aGlzLnBlbmRpbmdTdGF0ZVBhcnRDcmVhdGlvbi5kZWxldGUoZSl9fWFzeW5jIGNyZWF0ZVN0YXRlUGFydChlLHQscj0ic29mdCIpe2xldCBpPW5ldyB2YihlLHI9PT0icGVyc2lzdGVudCI/e2RiTmFtZToic21hcnRzdGF0ZSIsc3RvcmVOYW1lOmV9OnZvaWQgMCk7aS5zbWFydHN0YXRlUmVmPXRoaXMsYXdhaXQgaS5pbml0KCk7bGV0IG89aS5nZXRTdGF0ZSgpO3JldHVybiByPT09InBlcnNpc3RlbnQiJiZvIT09dm9pZCAwP2F3YWl0IGkuc2V0U3RhdGUoey4uLnQsLi4ub30pOmF3YWl0IGkuc2V0U3RhdGUodCksdGhpcy5zdGF0ZVBhcnRNYXBbZV09aSxpfX19KTtmdW5jdGlvbiBlQ2EoYSxlKXtsZXR7Y29udGV4dDp0LHN0YXRlUGFydDpyLHNlbGVjdG9yRm46aX09ZSxvPW5ldyBTZXQsbj1yLnNlbGVjdChpKS5zdWJzY3JpYmUoYz0+e2ZvcihsZXQgcCBvZiBvKXAoYyl9KSxsPXMoKCk9PntsZXQgYz1yLmdldFN0YXRlKCk7aWYoYyE9PXZvaWQgMClyZXR1cm4gaT9pKGMpOmN9LCJnZXRWYWx1ZSIpLGQ9cyhjPT57bGV0IHA9Yyx1PXAuZGV0YWlsO2lmKCEoIXV8fHUuY29udGV4dCE9PXQpKWlmKHAuc3RvcFByb3BhZ2F0aW9uKCksdS5zdWJzY3JpYmUpe2xldCBtPXUuY2FsbGJhY2s7by5hZGQobSk7bGV0IHY9cygoKT0+by5kZWxldGUobSksInVuc3Vic2NyaWJlIik7bShsKCksdil9ZWxzZSB1LmNhbGxiYWNrKGwoKSl9LCJoYW5kbGVyIik7cmV0dXJuIGEuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dC1yZXF1ZXN0IixkKSwoKT0+e2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY29udGV4dC1yZXF1ZXN0IixkKSxuLnVuc3Vic2NyaWJlKCksby5jbGVhcigpfX12YXIgZzh0PWYoKCk9PntzKGVDYSwiYXR0YWNoQ29udGV4dFByb3ZpZGVyIil9KTt2YXIgY2Q9e307cnQoY2Qse1NtYXJ0c3RhdGU6KCk9PlhkZSxTdGF0ZUFjdGlvbjooKT0+YmIsU3RhdGVQYXJ0OigpPT52YixTdGF0ZVByb2Nlc3M6KCk9PkY4LGF0dGFjaENvbnRleHRQcm92aWRlcjooKT0+ZUNhLGNvbXB1dGVkOigpPT5LZGV9KTt2YXIgYjh0PWYoKCk9PnttOHQoKTtMSigpO0dkZSgpO1pkZSgpO2c4dCgpO1lkZSgpfSk7dmFyIHY4dD1mKCgpPT57fSk7dmFyIFFkZSx4OHQ9ZigoKT0+e3Y4dCgpO1FkZT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIlNtYXJ0dXJsIil9c3RhdGljIGNyZWF0ZUZyb21VcmwoZSx0KXtsZXQgcj1uZXcgVVJMKGUpLGk9e30sbz1bXTtyLnNlYXJjaCYmci5zZWFyY2gucmVwbGFjZSgiPyIsIiIpLnNwbGl0KCImIikubWFwKGM9PntvLnB1c2goe2tleTpjLnNwbGl0KCI9IilbMF0sdmFsdWU6Yy5zcGxpdCgiPSIpWzFdfSl9KTtmb3IobGV0IGMgb2YgbylpW2Mua2V5XT1jLnZhbHVlO2lmKHQ/LnNlYXJjaFBhcmFtcylmb3IobGV0IGMgb2YgT2JqZWN0LmtleXModC5zZWFyY2hQYXJhbXMpKWlbY109dC5zZWFyY2hQYXJhbXNbY107bGV0IG49ci5wYXRobmFtZXx8IiI7aWYoT2JqZWN0LmtleXMoaSkubGVuZ3RoPjApe24rPSI/IjtsZXQgYz0hMDtmb3IobGV0IHAgb2YgT2JqZWN0LmtleXMoaSkpYz9jPSExOm4rPSImIixuKz1gJHtwfT0ke2lbcF19YH1sZXQgbD17Li4ucixocmVmOnIuaHJlZixvcmlnaW46ci5vcmlnaW4scHJvdG9jb2w6ci5wcm90b2NvbCx1c2VybmFtZTpyLnVzZXJuYW1lLHBhc3N3b3JkOnIucGFzc3dvcmQsaG9zdDpyLmhvc3QsaG9zdG5hbWU6ci5ob3N0bmFtZSxwb3J0OnIucG9ydCxwYXRoOm4scGF0aG5hbWU6ci5wYXRobmFtZSxzZWFyY2g6ci5zZWFyY2gsc2VhcmNoUGFyYW1zOmksaGFzaDpyLmhhc2h9OyFsLnBvcnQmJmwucHJvdG9jb2w9PT0iaHR0cHM6IiYmKGwucG9ydD0iNDQzIiksIWwucG9ydCYmbC5wcm90b2NvbD09PSJodHRwOiImJihsLnBvcnQ9IjgwIik7bGV0IGQ9bmV3IGE7cmV0dXJuIE9iamVjdC5hc3NpZ24oZCxsKSxkfXN0YXRpYyBjcmVhdGVGcm9tUGFyc2VkVXJsKGUpe2xldCB0PW5ldyBhO3JldHVybiBPYmplY3QuYXNzaWduKHQsZSksdH1jb25zdHJ1Y3Rvcigpe3RoaXMuc2VhcmNoUGFyYW1zPXt9fWNsb25lKCl7bGV0IGU9bmV3IGE7cmV0dXJuIE9iamVjdC5hc3NpZ24oZSx0aGlzKSxlLnNlYXJjaFBhcmFtcz17Li4udGhpcy5zZWFyY2hQYXJhbXN9LGV9c2V0KGUsdCl7cmV0dXJuIHRoaXNbZV09dCx0aGlzfXRvU3RyaW5nKCl7bGV0IGU9IiI7cmV0dXJuIHRoaXMudXNlcm5hbWUmJiF0aGlzLnBhc3N3b3JkJiYoZT1gJHt0aGlzLnVzZXJuYW1lfUBgKSx0aGlzLnVzZXJuYW1lJiZ0aGlzLnBhc3N3b3JkJiYoZT1gJHt0aGlzLnVzZXJuYW1lfToke3RoaXMucGFzc3dvcmR9QGApLGAke3RoaXMucHJvdG9jb2x9Ly8ke2V9JHt0aGlzLmhvc3RuYW1lfToke3RoaXMucG9ydH0ke3RoaXMucGF0aH1gfX19KTt2YXIgeTE9e307cnQoeTEse1NtYXJ0dXJsOigpPT5RZGV9KTt2YXIgSmRlPWYoKCk9Pnt4OHQoKX0pO3ZhciB5OHQ9ZigoKT0+e30pO3ZhciBlNmU9ZigoKT0+e19uKCk7X24oKX0pO3ZhciB3OHQ9ZigoKT0+e30pO3ZhciBNOHQ9ZigoKT0+e30pO3ZhciBrOHQ9ZigoKT0+e30pO3ZhciBTOHQ9ZigoKT0+e30pO3ZhciB0NmU9e307dmFyIGE2ZT1mKCgpPT57dzh0KCk7TTh0KCk7azh0KCk7Uzh0KCl9KTt2YXIgejh0PWYoKCk9PnthNmUoKTskSigpfSk7dmFyIEM4dD1mKCgpPT57X24oKX0pO3ZhciBfOHQ9ZigoKT0+e30pO3ZhciBUOHQ9ZigoKT0+e19uKCl9KTt2YXIgTDh0PWYoKCk9PntfbigpfSk7dmFyICQ4dD1mKCgpPT57fSk7dmFyIEQ4dD1mKCgpPT57fSk7dmFyIEE4dD1mKCgpPT57fSk7dmFyIHI2ZT17fTt2YXIgREo9ZigoKT0+e0M4dCgpO184dCgpO1Q4dCgpO0w4dCgpOyQ4dCgpO0Q4dCgpO0E4dCgpfSk7dmFyIEU4dD1mKCgpPT57REooKTtlNmUoKX0pO3ZhciBQOHQ9ZigoKT0+eyRKKCk7REooKX0pO3ZhciBJOHQ9ZigoKT0+e30pO3ZhciBOOHQ9ZigoKT0+e30pO3ZhciBzNmU9e307dmFyICRKPWYoKCk9Pnt5OHQoKTtlNmUoKTt6OHQoKTtFOHQoKTtQOHQoKTtJOHQoKTtOOHQoKX0pO3ZhciBSOHQ9ZigoKT0+e30pO3ZhciBPOHQ9ZigoKT0+e30pO3ZhciBpNmU9e307dmFyIEY4dD1mKCgpPT57Ujh0KCk7Tzh0KCl9KTt2YXIgQjh0PWYoKCk9Pnt9KTt2YXIgSDh0PWYoKCk9Pnt9KTt2YXIgbzZlPXt9O3ZhciBxOHQ9ZigoKT0+e0I4dCgpO0g4dCgpfSk7dmFyIG42ZT17fTt2YXIgVjh0PWYoKCk9Pnt9KTt2YXIgbDZlPWYoKCk9PntfbigpfSk7dmFyIGo4dD1mKCgpPT57X24oKX0pO3ZhciBVOHQ9ZigoKT0+e2w2ZSgpfSk7dmFyIGM2ZT17fTt2YXIgVzh0PWYoKCk9PntsNmUoKTtqOHQoKTtVOHQoKX0pO3ZhciBHOHQ9ZigoKT0+e30pO3ZhciBZOHQ9ZigoKT0+e30pO3ZhciBkNmU9e307dmFyIEs4dD1mKCgpPT57Rzh0KCk7WTh0KCl9KTt2YXIgdTZlPWYoKCk9Pnt9KTt2YXIgcDZlLFo4dD1mKCgpPT57dTZlKCk7cDZlPWNsYXNze3N0YXRpY3tzKHRoaXMsIklDbmFtZURlc2NyaXB0b3IiKX19fSk7dmFyIFg4dD1mKCgpPT57fSk7dmFyIFE4dD1mKCgpPT57fSk7dmFyIEo4dD1mKCgpPT57fSk7dmFyIGVtdD1mKCgpPT57fSk7dmFyIHRtdD1mKCgpPT57fSk7dmFyIGFtdD1mKCgpPT57fSk7dmFyIHJtdD1mKCgpPT57fSk7dmFyIHNtdD1mKCgpPT57fSk7dmFyIGltdD1mKCgpPT57fSk7dmFyIG9tdD1mKCgpPT57fSk7dmFyIEFKPXt9O3J0KEFKLHtJQ25hbWVEZXNjcmlwdG9yOigpPT5wNmV9KTt2YXIgbm10PWYoKCk9Pnt1NmUoKTtaOHQoKTtYOHQoKTtROHQoKTtKOHQoKTtlbXQoKTt0bXQoKTthbXQoKTtybXQoKTtzbXQoKTtpbXQoKTtvbXQoKX0pO3ZhciBmNmU9ZigoKT0+e30pO3ZhciBsbXQ9ZigoKT0+e2Y2ZSgpfSk7dmFyIGg2ZT17fTt2YXIgY210PWYoKCk9PntsbXQoKTtmNmUoKX0pO3ZhciBtNmU9e307dmFyIGRtdD1mKCgpPT57fSk7dmFyIHVtdD1mKCgpPT57fSk7dmFyIHBtdD1mKCgpPT57fSk7dmFyIGZtdD1mKCgpPT57fSk7dmFyIGc2ZT17fTt2YXIgaG10PWYoKCk9Pnt1bXQoKTtwbXQoKTtmbXQoKX0pO3ZhciBtbXQ9ZigoKT0+e30pO3ZhciB4Yj17fTtydCh4Yix7YnVzaW5lc3M6KCk9PnM2ZSxjb2RlOigpPT5pNmUsY29udGFpbmVyOigpPT5vNmUsY29udGVudDooKT0+YzZlLGRhdGFiYXNlOigpPT50NmUsZGVzY3JpcHRvcnM6KCk9Pm42ZSxmaW5hbmNlOigpPT5yNmUsZ2VuZXJhbDooKT0+ZDZlLG5ldHdvcms6KCk9PkFKLHNhYXM6KCk9Pmg2ZSxzdG9yYWdlOigpPT5tNmUsd2Vic2l0ZTooKT0+ZzZlfSk7dmFyIF9uPWYoKCk9PnskSigpO0Y4dCgpO3E4dCgpO2E2ZSgpO1Y4dCgpO0RKKCk7Vzh0KCk7Szh0KCk7bm10KCk7Y210KCk7ZG10KCk7aG10KCk7bW10KCl9KTt2YXIgWmw9ZigoKT0+e1pzKCk7X24oKX0pO3ZhciBFSj1mKCgpPT57WmwoKX0pO3ZhciBRMCx5Yj1mKCgpPT57WmwoKTtRMD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJUYWciKX1jb25zdHJ1Y3Rvcigpe3RoaXMudGFnTGV2ZWw9ImxldmVsYm91bmQifWFwcGVuZFRvRG9tKCl7IXRoaXMuZWxlbWVudFJlZi5wYXJlbnRFbGVtZW50JiYhdGhpcy5lbGVtZW50UmVmLnBhcmVudE5vZGUmJmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50UmVmKX1yZW1vdmVGcm9tRG9tKCl7dGhpcy5lbGVtZW50UmVmLnBhcmVudEVsZW1lbnQ/dGhpcy5lbGVtZW50UmVmLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50UmVmKTp0aGlzLmVsZW1lbnRSZWYucGFyZW50Tm9kZSYmdGhpcy5lbGVtZW50UmVmLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50UmVmKX19fSk7dmFyIGRkLFBKPWYoKCk9PntabCgpO0VKKCk7eWIoKTtkZD1jbGFzcyBhIGV4dGVuZHMgUTB7c3RhdGlje3ModGhpcywiSnNvbkxkVGFnIil9c3RhdGljIGNyZWF0ZUNvbXBhbnlKc29uTGQoZSl7bGV0IHQ9eyJAY29udGV4dCI6Imh0dHBzOi8vc2NoZW1hLm9yZyIsIkB0eXBlIjoiQ29ycG9yYXRpb24iLG5hbWU6ZS5uYW1lLGFsdGVybmF0ZU5hbWU6ZS5uYW1lLnJlcGxhY2UoIiBHbWJIIiwiIiksdXJsOmUud2Vic2l0ZSxsb2dvOmUubG9nb1VybCxjb250YWN0UG9pbnQ6eyJAdHlwZSI6IkNvbnRhY3RQb2ludCIsdGVsZXBob25lOmUucGhvbmUsY29udGFjdFR5cGU6ImN1c3RvbWVyIHNlcnZpY2UiLGFyZWFTZXJ2ZWQ6IkRFIixhdmFpbGFibGVMYW5ndWFnZTpbImVuIiwiR2VybWFuIl19LHNhbWVBczpbXX0scj1lLnNvY2lhbHM/LmZpbmQobj0+bi50eXBlPT09ImZhY2Vib29rIik/LnVybDtyJiZ0LnNhbWVBcy5wdXNoKHIpO2xldCBpPWUuc29jaWFscz8uZmluZChuPT5uLnR5cGU9PT0idHdpdHRlciIpPy51cmw7cmV0dXJuIGkmJnQuc2FtZUFzLnB1c2goaSksbmV3IGEodCl9c3RhdGljIGNyZWF0ZU5ld3NBcnRpY2xlSnNvbkxkKGUpe2xldCB0PXsiQGNvbnRleHQiOiJodHRwczovL3NjaGVtYS5vcmciLCJAdHlwZSI6Ik5ld3NBcnRpY2xlIixtYWluRW50aXR5T2ZQYWdlOnsiQHR5cGUiOiJXZWJQYWdlIiwiQGlkIjp3aW5kb3cubG9jYXRpb24uaHJlZn0saGVhZGxpbmU6IkFydGljbGUgaGVhZGxpbmUiLGltYWdlOltlLmZlYXR1cmVkSW1hZ2VVcmxdLGRhdGVQdWJsaXNoZWQ6bmV3IERhdGUoZS50aW1lc3RhbXApLnRvSVNPU3RyaW5nKCksZGF0ZU1vZGlmaWVkOm5ldyBEYXRlKGUudGltZXN0YW1wKS50b0lTT1N0cmluZygpLGF1dGhvcjp7IkB0eXBlIjoiUGVyc29uIixuYW1lOmAke2UuYXV0aG9yLmZpcnN0TmFtZX0gJHtlLmF1dGhvci5zdXJOYW1lfWB9LHB1Ymxpc2hlcjp7IkB0eXBlIjoiT3JnYW5pemF0aW9uIixuYW1lOmUuYXV0aG9yLnN1ck5hbWUsbG9nbzp7IkB0eXBlIjoiSW1hZ2VPYmplY3QiLHVybDplLmF1dGhvci5zdXJOYW1lfX0sZGVzY3JpcHRpb246ZS5hdXRob3IuZmlyc3ROYW1lfTtyZXR1cm4gbmV3IGEodCl9c3RhdGljIGNyZWF0ZVByb2R1Y3RKc29uTGQoZSx0KXtsZXQgcj17IkBjb250ZXh0IjoiaHR0cHM6Ly9zY2hlbWEub3JnIiwiQHR5cGUiOiJTb2Z0d2FyZUFwcGxpY2F0aW9uIixuYW1lOmUubmFtZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLG9wZXJhdGluZ1N5c3RlbTplLm9zLGFwcGxpY2F0aW9uQ2F0ZWdvcnk6ZS5jYXRlZ29yeSxvZmZlcnM6eyJAdHlwZSI6Ik9mZmVyIixuYW1lOiJVc2VyLWJhc2VkIFBsYW4iLHByaWNlU3BlY2lmaWNhdGlvbjp7IkB0eXBlIjoiUHJvcGVydHlWYWx1ZVNwZWNpZmljYXRpb24iLHZhbHVlTmFtZToiTnVtYmVyIG9mIFVzZXJzIix2YWx1ZVJlcXVpcmVkOiEwLHByaWNlOiI0Ljk5IixwcmljZUN1cnJlbmN5OiJFVVIifX0scHVibGlzaGVyOnQ/dGhpcy5jcmVhdGVDb21wYW55SnNvbkxkKHQpLmVsZW1lbnRSZWYudGV4dENvbnRlbnQ6dm9pZCAwLHNjcmVlbnNob3Q6Imh0dHBzOi8vd3d3LnNvY2lhbC5pby9zY3JlZW5zaG90LnBuZyIsdXJsOiJodHRwczovL3d3dy5zb2NpYWwuaW8vIn07cmV0dXJuIG5ldyBhKHIpfWNvbnN0cnVjdG9yKGUpe3N1cGVyKCk7bGV0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7dC50eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIix0LnRleHQ9SlNPTi5zdHJpbmdpZnkoZSksdGhpcy5lbGVtZW50UmVmPXR9fX0pO3ZhciBqaSxJSj1mKCgpPT57WmwoKTt5YigpO2ppPWNsYXNzIGEgZXh0ZW5kcyBRMHtzdGF0aWN7cyh0aGlzLCJPcGVuZ3JhcGhUYWciKX1zdGF0aWMgY3JlYXRlTmV3c0FydGljbGVPZ1RhZ3MoZSl7bGV0IHQ9W107cmV0dXJuIHQucHVzaChuZXcgYSgib2c6dXJsIixlLnVybD8/Z2xvYmFsVGhpcy5sb2NhdGlvbi5ocmVmKSksdC5wdXNoKG5ldyBhKCJvZzp0aXRsZSIsZS50aXRsZSkpLHQucHVzaChuZXcgYSgib2c6ZGVzY3JpcHRpb24iLGUuY29udGVudCkpLHQucHVzaChuZXcgYSgib2c6aW1hZ2UiLGUuZmVhdHVyZWRJbWFnZVVybD8/IiIpKSx0fXN0YXRpYyBjcmVhdGVQcm9kdWN0T2dUYWdzKGUpe2xldCB0PVtdO3JldHVybiB0LnB1c2gobmV3IGEoIm9nOnR5cGUiLCJwcm9kdWN0IikpLHQucHVzaChuZXcgYSgib2c6dXJsIixnbG9iYWxUaGlzLmxvY2F0aW9uLmhyZWYpKSx0LnB1c2gobmV3IGEoIm9nOnRpdGxlIixgJHtlLm5hbWV9IC0gJHtlLnNsb2dhbn1gKSksdC5wdXNoKG5ldyBhKCJvZzpzaXRlX25hbWUiLGUubmFtZSkpLHQucHVzaChuZXcgYSgib2c6ZGVzY3JpcHRpb24iLGUuZGVzY3JpcHRpb24pKSx0LnB1c2gobmV3IGEoIm9nOmltYWdlIixlLmxvZ29MaW5rKSksdH1zdGF0aWMgY3JlYXRlQ29tcGFueU9nVGFncyhlKXtsZXQgdD1bXTtyZXR1cm4gdC5wdXNoKG5ldyBhKCJvZzp0eXBlIiwiY29tcGFueSIpKSx0LnB1c2gobmV3IGEoIm9nOnVybCIsZ2xvYmFsVGhpcy5sb2NhdGlvbi5ocmVmKSksdC5wdXNoKG5ldyBhKCJvZzp0aXRsZSIsZS5uYW1lKSksdC5wdXNoKG5ldyBhKCJvZzpzaXRlX25hbWUiLGUubmFtZSkpLHQucHVzaChuZXcgYSgib2c6ZGVzY3JpcHRpb24iLGUuZGVzY3JpcHRpb24pKSx0LnB1c2gobmV3IGEoIm9nOmltYWdlIixlLmxvZ29Vcmw/PyIiKSksdH1jb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCk7bGV0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibWV0YSIpO3Iuc2V0QXR0cmlidXRlKCJwcm9wZXJ0eSIsZSksci5jb250ZW50PXQsdGhpcy5lbGVtZW50UmVmPXJ9fX0pO3ZhciBCOCxiNmU9ZigoKT0+e3liKCk7UEooKTtJSigpO3Y2ZSgpO1psKCk7Qjg9Y2xhc3N7c3RhdGlje3ModGhpcywiVGFnTGV2ZWwiKX1zZXQgdGl0bGUoZSl7dGhpcy50aXRsZVN0b3JlPWUsdGhpcy5zdGF0ZT09PSJlbmFibGVkIiYmKGRvY3VtZW50LnRpdGxlPXRoaXMudGl0bGVTdG9yZSl9Z2V0IHRpdGxlKCl7cmV0dXJuIHRoaXMudGl0bGVTdG9yZX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMudGFncz1bXSx0aGlzLnN0YXRlPSJkaXNhYmxlZCIsdGhpcy50YWdNYW5hZ2VyUmVmPWUsdGhpcy50eXBlPXR9YWRkVGFnKGUpe2lmKGUgaW5zdGFuY2VvZiBBcnJheSlmb3IobGV0IHQgb2YgZSl0aGlzLmFkZFRhZyh0KTtlbHNlIHRoaXMudGFncy5wdXNoKGUpLHRoaXMuc3RhdGU9PT0iZW5hYmxlZCImJmUuYXBwZW5kVG9Eb20oKX1hc3luYyBhZGRDb21wYW55SW5mbyhlKXt0aGlzLmFkZFRhZyhkZC5jcmVhdGVDb21wYW55SnNvbkxkKGUpKSx0aGlzLmFkZFRhZyhuZXcgamkoIm9nOnR5cGUiLCJidXNpbmVzcy5idXNpbmVzcyIpKSx0aGlzLmFkZFRhZyhuZXcgamkoIm9nOnRpdGxlIixlLm5hbWUpKSx0aGlzLmFkZFRhZyhuZXcgamkoIm9nOnVybCIsZS53ZWJzaXRlPz8iIikpLHRoaXMuYWRkVGFnKG5ldyBqaSgib2c6aW1hZ2UiLGUubG9nb1VybD8/IiIpKSx0aGlzLmFkZFRhZyhuZXcgamkoImJ1c2luZXNzOmNvbnRhY3RfZGF0YTpzdHJlZXRfYWRkcmVzcyIsYCR7ZS5hZGRyZXNzLnN0cmVldE5hbWV9ICR7ZS5hZGRyZXNzLmhvdXNlTnVtYmVyfWApKSx0aGlzLmFkZFRhZyhuZXcgamkoImJ1c2luZXNzOmNvbnRhY3RfZGF0YTpsb2NhbGl0eSIsZS5hZGRyZXNzLnBvc3RhbENvZGUpKSx0aGlzLmFkZFRhZyhuZXcgamkoImJ1c2luZXNzOmNvbnRhY3RfZGF0YTpyZWdpb24iLGUuYWRkcmVzcy5jaXR5KSksdGhpcy5hZGRUYWcobmV3IGppKCJidXNpbmVzczpjb250YWN0X2RhdGE6cG9zdGFsX2NvZGUiLGUuYWRkcmVzcy5wb3N0YWxDb2RlKSksdGhpcy5hZGRUYWcobmV3IGppKCJidXNpbmVzczpjb250YWN0X2RhdGE6Y291bnRyeV9uYW1lIixlLmFkZHJlc3MuY291bnRyeSkpfWFkZE5ld3NBcnRpY2xlSW5mbyhlKXt0aGlzLmFkZFRhZyhkZC5jcmVhdGVOZXdzQXJ0aWNsZUpzb25MZChlKSksdGhpcy5hZGRUYWcoamkuY3JlYXRlTmV3c0FydGljbGVPZ1RhZ3MoZSkpfWFkZFByb2R1Y3RJbmZvKGUsdCl7dGhpcy5hZGRUYWcoZGQuY3JlYXRlUHJvZHVjdEpzb25MZChlLHQpKSx0aGlzLmFkZFRhZyhqaS5jcmVhdGVQcm9kdWN0T2dUYWdzKGUpKX1hc3luYyBlbmFibGUoKXt0aGlzLnRpdGxlJiYoZG9jdW1lbnQudGl0bGU9dGhpcy50aXRsZSk7Zm9yKGxldCBlIG9mIHRoaXMudGFncyllLmFwcGVuZFRvRG9tKCk7dGhpcy5zdGF0ZT0iZW5hYmxlZCJ9YXN5bmMgZGlzYWJsZSgpe2ZvcihsZXQgZSBvZiB0aGlzLnRhZ3MpZS5yZW1vdmVGcm9tRG9tKCk7dGhpcy5zdGF0ZT0iZGlzYWJsZWQifX19KTt2YXIgVG4seDZlPWYoKCk9Pnt5YigpO1RuPWNsYXNzIGV4dGVuZHMgUTB7c3RhdGlje3ModGhpcywiTWV0YVRhZyIpfWNvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKTtsZXQgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJtZXRhIik7ci5uYW1lPWUsci5jb250ZW50PXQsdGhpcy5lbGVtZW50UmVmPXJ9fX0pO3ZhciBOSix2NmU9ZigoKT0+e2I2ZSgpO1psKCk7RUooKTt4NmUoKTtQSigpO0lKKCk7Tko9Y2xhc3N7c3RhdGlje3ModGhpcywiVGFnTWFuYWdlciIpfWNvbnN0cnVjdG9yKCl7dGhpcy5nbG9iYWxMZXZlbD1uZXcgQjgodGhpcywiZ2xvYmFsIiksdGhpcy5iYXNlTGV2ZWw9bmV3IEI4KHRoaXMsImJhc2UiKX1hc3luYyBzZXR1cChlKXtzd2l0Y2godGhpcy5nbG9iYWxMZXZlbC5hZGRUYWcobmV3IFRuKCJnb29nbGUiLCJub3RyYW5zbGF0ZSIpKSx0aGlzLmdsb2JhbExldmVsLmFkZFRhZyhuZXcgVG4oInJldmlzaXQtYWZ0ZXIiLCIxIGRheXMiKSksZS50d2l0dGVySGFuZGxlJiYodGhpcy5nbG9iYWxMZXZlbC5hZGRUYWcobmV3IFRuKCJ0d2l0dGVyOmNhcmQiLCJzdW1tYXJ5X2xhcmdlX2ltYWdlIikpLHRoaXMuZ2xvYmFsTGV2ZWwuYWRkVGFnKG5ldyBUbigidHdpdHRlcjpzaXRlIixlLnR3aXR0ZXJIYW5kbGUpKSx0aGlzLmdsb2JhbExldmVsLmFkZFRhZyhuZXcgVG4oInR3aXR0ZXI6Y3JlYXRvciIsZS50d2l0dGVySGFuZGxlKSkpLHRoaXMuYmFzZUxldmVsLnRpdGxlPWUudGl0bGUsZS5kZXNjcmlwdGlvbiYmdGhpcy5iYXNlTGV2ZWwuYWRkVGFnKG5ldyBUbigiZGVzY3JpcHRpb24iLGUuZGVzY3JpcHRpb24pKSxlLmNhbm9uaWNhbERvbWFpbiYmdGhpcy5iYXNlTGV2ZWwuYWRkVGFnKG5ldyBUbigiY2Fub25pY2FsIixlLmNhbm9uaWNhbERvbWFpbikpLCEwKXtjYXNlKGUubGRDb21wYW55JiYhZS5sZFByb2R1Y3QpOnRoaXMuYmFzZUxldmVsLmFkZENvbXBhbnlJbmZvKGUubGRDb21wYW55KTticmVhaztjYXNlISFlLmxkUHJvZHVjdDp0aGlzLmJhc2VMZXZlbC5hZGRQcm9kdWN0SW5mbyhlLmxkUHJvZHVjdCxlLmxkQ29tcGFueSk7YnJlYWt9YXdhaXQgdGhpcy5nbG9iYWxMZXZlbC5lbmFibGUoKSx0aGlzLmFjdGl2ZUxldmVsPXRoaXMuYmFzZUxldmVsLGF3YWl0IHRoaXMuYWN0aXZlTGV2ZWwuZW5hYmxlKCl9YXN5bmMgc2V0U3ViUGFnZUxldmVsKGUpe2xldCB0PW5ldyBCOCh0aGlzLCJzdWJwYWdlIik7cmV0dXJuIHQudGl0bGU9ZS50aXRsZSxlLmRlc2NyaXB0aW9uJiZ0LmFkZFRhZyhuZXcgVG4oImRlc2NyaXB0aW9uIixlLmRlc2NyaXB0aW9uKSksYXdhaXQgdGhpcy5hY3RpdmVMZXZlbC5kaXNhYmxlKCksdGhpcy5hY3RpdmVMZXZlbD10LGF3YWl0IHRoaXMuYWN0aXZlTGV2ZWwuZW5hYmxlKCksdH1hc3luYyByZXZlcnRUb0Jhc2VMZXZlbCgpe3RoaXMuYWN0aXZlTGV2ZWwhPT10aGlzLmJhc2VMZXZlbCYmKGF3YWl0IHRoaXMuYWN0aXZlTGV2ZWwuZGlzYWJsZSgpLHRoaXMuYWN0aXZlTGV2ZWw9dGhpcy5iYXNlTGV2ZWwsYXdhaXQgdGhpcy5hY3RpdmVMZXZlbC5lbmFibGUoKSl9fX0pO3ZhciB3YixnbXQ9ZigoKT0+e1psKCk7RUooKTt2NmUoKTtiNmUoKTt3Yj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJXZWJTZXR1cCIpfWNvbnN0cnVjdG9yKGUpe3RoaXMudGFnTWFuYWdlcj1uZXcgTkosdGhpcy5yZWFkeURlZmVycmVkPWV0LmRlZmVyKCksdGhpcy5yZWFkeUZvclNtYXJ0c3NyRGVmZXJyZWQ9ZXQuZGVmZXIoKSx0aGlzLnJlYWR5UHJvbWlzZT10aGlzLnJlYWR5RGVmZXJyZWQucHJvbWlzZSx0aGlzLnJlYWR5Rm9yU21hcnRzc3JQcm9taXNlPXRoaXMucmVhZHlGb3JTbWFydHNzckRlZmVycmVkLnByb21pc2UsdGhpcy5vcHRpb25zPWUsdGhpcy5zZXR1cCgpLnRoZW4oKCk9Pnt0aGlzLnJlYWR5RGVmZXJyZWQucmVzb2x2ZSgpLHRoaXMub3B0aW9ucy5zbWFydHNzcldhaXRGb3JSZWFkeVNpZ25hbHx8dGhpcy5yZWFkeUZvclNtYXJ0c3NyRGVmZXJyZWQucmVzb2x2ZSgpfSl9YXN5bmMgc2V0dXAoZSl7ZSYmKHRoaXMub3B0aW9ucz1lKSxhd2FpdCB0aGlzLnRhZ01hbmFnZXIuc2V0dXAodGhpcy5vcHRpb25zLm1ldGFPYmplY3QpfXJldmVydFRvQmFzZUxldmVsKCl7dGhpcy50YWdNYW5hZ2VyLnJldmVydFRvQmFzZUxldmVsKCl9YXN5bmMgc2V0U3ViTGV2ZWwoZSl7cmV0dXJuIGF3YWl0IHRoaXMudGFnTWFuYWdlci5zZXRTdWJQYWdlTGV2ZWwoZSl9Zmxhc2hUaXRsZShlKXt9aW5mb3JtUmVhZHlGb3JTbWFydHNzcigpe3RoaXMub3B0aW9ucy5zbWFydHNzcldhaXRGb3JSZWFkeVNpZ25hbHx8Y29uc29sZS5lcnJvcigiWW91IGhhdmUgbm90IGluZGljYXRlZCB0aGF0IHlvdSBpbmZvcm0gc21hcnRzc3IgYnkgYSBkZWRpY2F0ZWQgc2lnbmFsISBQbGVhc2UgY29uc2lkZXIgZG9pbmcgc28hIiksdGhpcy5yZWFkeUZvclNtYXJ0c3NyRGVmZXJyZWQucmVzb2x2ZSgpfX19KTt2YXIgeTZlLGJtdD1mKCgpPT57WmwoKTt5NmU9Y2xhc3N7c3RhdGlje3ModGhpcywiVGl0bGUiKX19fSk7dmFyIHc2ZT17fTtydCh3NmUse0pzb25MZFRhZzooKT0+ZGQsTWV0YVRhZzooKT0+VG4sT3BlbmdyYXBoVGFnOigpPT5qaSxUaXRsZTooKT0+eTZlLFdlYlNldHVwOigpPT53Yn0pO3ZhciBSSj1mKCgpPT57Z210KCk7eDZlKCk7SUooKTtQSigpO2JtdCgpfSk7ZnVuY3Rpb24gdm10KGEsZSx0KXtyZXR1cm4gTWF0aC5tYXgoYSxNYXRoLm1pbihlLHQpKX1mdW5jdGlvbiByQ2EoYSxlLHQpe3JldHVybigxLXQpKmErdCplfWZ1bmN0aW9uIHNDYShhLGUsdCxyKXtyZXR1cm4gckNhKGEsZSwxLU1hdGguZXhwKC10KnIpKX1mdW5jdGlvbiBpQ2EoYSxlKXtyZXR1cm4oYSVlK2UpJWV9ZnVuY3Rpb24gbkNhKGEsZSl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uKC4uLnIpe2xldCBpPXRoaXM7Y2xlYXJUaW1lb3V0KHQpLHQ9c2V0VGltZW91dCgoKT0+e3Q9dm9pZCAwLGEuYXBwbHkoaSxyKX0sZSl9fXZhciBhQ2Esb0NhLGxDYSx4bXQseW10LEowLGNDYSx3bXQsTWIsTW10PWYoKCk9PnthQ2E9IjEuMy4xNyI7cyh2bXQsImNsYW1wIik7cyhyQ2EsImxlcnAiKTtzKHNDYSwiZGFtcCIpO3MoaUNhLCJtb2R1bG8iKTtvQ2E9Y2xhc3N7c3RhdGlje3ModGhpcywiQW5pbWF0ZSIpfWlzUnVubmluZz0hMTt2YWx1ZT0wO2Zyb209MDt0bz0wO2N1cnJlbnRUaW1lPTA7bGVycDtkdXJhdGlvbjtlYXNpbmc7b25VcGRhdGU7YWR2YW5jZShhKXtpZighdGhpcy5pc1J1bm5pbmcpcmV0dXJuO2xldCBlPSExO2lmKHRoaXMuZHVyYXRpb24mJnRoaXMuZWFzaW5nKXt0aGlzLmN1cnJlbnRUaW1lKz1hO2xldCB0PXZtdCgwLHRoaXMuY3VycmVudFRpbWUvdGhpcy5kdXJhdGlvbiwxKTtlPXQ+PTE7bGV0IHI9ZT8xOnRoaXMuZWFzaW5nKHQpO3RoaXMudmFsdWU9dGhpcy5mcm9tKyh0aGlzLnRvLXRoaXMuZnJvbSkqcn1lbHNlIHRoaXMubGVycD8odGhpcy52YWx1ZT1zQ2EodGhpcy52YWx1ZSx0aGlzLnRvLHRoaXMubGVycCo2MCxhKSxNYXRoLnJvdW5kKHRoaXMudmFsdWUpPT09dGhpcy50byYmKHRoaXMudmFsdWU9dGhpcy50byxlPSEwKSk6KHRoaXMudmFsdWU9dGhpcy50byxlPSEwKTtlJiZ0aGlzLnN0b3AoKSx0aGlzLm9uVXBkYXRlPy4odGhpcy52YWx1ZSxlKX1zdG9wKCl7dGhpcy5pc1J1bm5pbmc9ITF9ZnJvbVRvKGEsZSx7bGVycDp0LGR1cmF0aW9uOnIsZWFzaW5nOmksb25TdGFydDpvLG9uVXBkYXRlOm59KXt0aGlzLmZyb209dGhpcy52YWx1ZT1hLHRoaXMudG89ZSx0aGlzLmxlcnA9dCx0aGlzLmR1cmF0aW9uPXIsdGhpcy5lYXNpbmc9aSx0aGlzLmN1cnJlbnRUaW1lPTAsdGhpcy5pc1J1bm5pbmc9ITAsbz8uKCksdGhpcy5vblVwZGF0ZT1ufX07cyhuQ2EsImRlYm91bmNlIik7bENhPWNsYXNze3N0YXRpY3tzKHRoaXMsIkRpbWVuc2lvbnMiKX1jb25zdHJ1Y3RvcihhLGUse2F1dG9SZXNpemU6dD0hMCxkZWJvdW5jZTpyPTI1MH09e30pe3RoaXMud3JhcHBlcj1hLHRoaXMuY29udGVudD1lLHQmJih0aGlzLmRlYm91bmNlZFJlc2l6ZT1uQ2EodGhpcy5yZXNpemUsciksdGhpcy53cmFwcGVyIGluc3RhbmNlb2YgV2luZG93P3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuZGVib3VuY2VkUmVzaXplLCExKToodGhpcy53cmFwcGVyUmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKHRoaXMuZGVib3VuY2VkUmVzaXplKSx0aGlzLndyYXBwZXJSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMud3JhcHBlcikpLHRoaXMuY29udGVudFJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcih0aGlzLmRlYm91bmNlZFJlc2l6ZSksdGhpcy5jb250ZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmNvbnRlbnQpKSx0aGlzLnJlc2l6ZSgpfXdpZHRoPTA7aGVpZ2h0PTA7c2Nyb2xsSGVpZ2h0PTA7c2Nyb2xsV2lkdGg9MDtkZWJvdW5jZWRSZXNpemU7d3JhcHBlclJlc2l6ZU9ic2VydmVyO2NvbnRlbnRSZXNpemVPYnNlcnZlcjtkZXN0cm95KCl7dGhpcy53cmFwcGVyUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKSx0aGlzLmNvbnRlbnRSZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpLHRoaXMud3JhcHBlcj09PXdpbmRvdyYmdGhpcy5kZWJvdW5jZWRSZXNpemUmJndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuZGVib3VuY2VkUmVzaXplLCExKX1yZXNpemU9cygoKT0+e3RoaXMub25XcmFwcGVyUmVzaXplKCksdGhpcy5vbkNvbnRlbnRSZXNpemUoKX0sInJlc2l6ZSIpO29uV3JhcHBlclJlc2l6ZT1zKCgpPT57dGhpcy53cmFwcGVyIGluc3RhbmNlb2YgV2luZG93Pyh0aGlzLndpZHRoPXdpbmRvdy5pbm5lcldpZHRoLHRoaXMuaGVpZ2h0PXdpbmRvdy5pbm5lckhlaWdodCk6KHRoaXMud2lkdGg9dGhpcy53cmFwcGVyLmNsaWVudFdpZHRoLHRoaXMuaGVpZ2h0PXRoaXMud3JhcHBlci5jbGllbnRIZWlnaHQpfSwib25XcmFwcGVyUmVzaXplIik7b25Db250ZW50UmVzaXplPXMoKCk9Pnt0aGlzLndyYXBwZXIgaW5zdGFuY2VvZiBXaW5kb3c/KHRoaXMuc2Nyb2xsSGVpZ2h0PXRoaXMuY29udGVudC5zY3JvbGxIZWlnaHQsdGhpcy5zY3JvbGxXaWR0aD10aGlzLmNvbnRlbnQuc2Nyb2xsV2lkdGgpOih0aGlzLnNjcm9sbEhlaWdodD10aGlzLndyYXBwZXIuc2Nyb2xsSGVpZ2h0LHRoaXMuc2Nyb2xsV2lkdGg9dGhpcy53cmFwcGVyLnNjcm9sbFdpZHRoKX0sIm9uQ29udGVudFJlc2l6ZSIpO2dldCBsaW1pdCgpe3JldHVybnt4OnRoaXMuc2Nyb2xsV2lkdGgtdGhpcy53aWR0aCx5OnRoaXMuc2Nyb2xsSGVpZ2h0LXRoaXMuaGVpZ2h0fX19LHhtdD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJFbWl0dGVyIil9ZXZlbnRzPXt9O2VtaXQoYSwuLi5lKXtsZXQgdD10aGlzLmV2ZW50c1thXXx8W107Zm9yKGxldCByPTAsaT10Lmxlbmd0aDtyPGk7cisrKXRbcl0/LiguLi5lKX1vbihhLGUpe3JldHVybiB0aGlzLmV2ZW50c1thXT8ucHVzaChlKXx8KHRoaXMuZXZlbnRzW2FdPVtlXSksKCk9Pnt0aGlzLmV2ZW50c1thXT10aGlzLmV2ZW50c1thXT8uZmlsdGVyKHQ9PmUhPT10KX19b2ZmKGEsZSl7dGhpcy5ldmVudHNbYV09dGhpcy5ldmVudHNbYV0/LmZpbHRlcih0PT5lIT09dCl9ZGVzdHJveSgpe3RoaXMuZXZlbnRzPXt9fX0seW10PTEwMC82LEowPXtwYXNzaXZlOiExfSxjQ2E9Y2xhc3N7c3RhdGlje3ModGhpcywiVmlydHVhbFNjcm9sbCIpfWNvbnN0cnVjdG9yKGEsZT17d2hlZWxNdWx0aXBsaWVyOjEsdG91Y2hNdWx0aXBsaWVyOjF9KXt0aGlzLmVsZW1lbnQ9YSx0aGlzLm9wdGlvbnM9ZSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLm9uV2luZG93UmVzaXplLCExKSx0aGlzLm9uV2luZG93UmVzaXplKCksdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLm9uV2hlZWwsSjApLHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLm9uVG91Y2hTdGFydCxKMCksdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5vblRvdWNoTW92ZSxKMCksdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLm9uVG91Y2hFbmQsSjApfXRvdWNoU3RhcnQ9e3g6MCx5OjB9O2xhc3REZWx0YT17eDowLHk6MH07d2luZG93PXt3aWR0aDowLGhlaWdodDowfTtlbWl0dGVyPW5ldyB4bXQ7b24oYSxlKXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uKGEsZSl9ZGVzdHJveSgpe3RoaXMuZW1pdHRlci5kZXN0cm95KCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5vbldpbmRvd1Jlc2l6ZSwhMSksdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLm9uV2hlZWwsSjApLHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLm9uVG91Y2hTdGFydCxKMCksdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5vblRvdWNoTW92ZSxKMCksdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLm9uVG91Y2hFbmQsSjApfW9uVG91Y2hTdGFydD1zKGE9PntsZXR7Y2xpZW50WDplLGNsaWVudFk6dH09YS50YXJnZXRUb3VjaGVzP2EudGFyZ2V0VG91Y2hlc1swXTphO3RoaXMudG91Y2hTdGFydC54PWUsdGhpcy50b3VjaFN0YXJ0Lnk9dCx0aGlzLmxhc3REZWx0YT17eDowLHk6MH0sdGhpcy5lbWl0dGVyLmVtaXQoInNjcm9sbCIse2RlbHRhWDowLGRlbHRhWTowLGV2ZW50OmF9KX0sIm9uVG91Y2hTdGFydCIpO29uVG91Y2hNb3ZlPXMoYT0+e2xldHtjbGllbnRYOmUsY2xpZW50WTp0fT1hLnRhcmdldFRvdWNoZXM/YS50YXJnZXRUb3VjaGVzWzBdOmEscj0tKGUtdGhpcy50b3VjaFN0YXJ0LngpKnRoaXMub3B0aW9ucy50b3VjaE11bHRpcGxpZXIsaT0tKHQtdGhpcy50b3VjaFN0YXJ0LnkpKnRoaXMub3B0aW9ucy50b3VjaE11bHRpcGxpZXI7dGhpcy50b3VjaFN0YXJ0Lng9ZSx0aGlzLnRvdWNoU3RhcnQueT10LHRoaXMubGFzdERlbHRhPXt4OnIseTppfSx0aGlzLmVtaXR0ZXIuZW1pdCgic2Nyb2xsIix7ZGVsdGFYOnIsZGVsdGFZOmksZXZlbnQ6YX0pfSwib25Ub3VjaE1vdmUiKTtvblRvdWNoRW5kPXMoYT0+e3RoaXMuZW1pdHRlci5lbWl0KCJzY3JvbGwiLHtkZWx0YVg6dGhpcy5sYXN0RGVsdGEueCxkZWx0YVk6dGhpcy5sYXN0RGVsdGEueSxldmVudDphfSl9LCJvblRvdWNoRW5kIik7b25XaGVlbD1zKGE9PntsZXR7ZGVsdGFYOmUsZGVsdGFZOnQsZGVsdGFNb2RlOnJ9PWEsaT1yPT09MT95bXQ6cj09PTI/dGhpcy53aW5kb3cud2lkdGg6MSxvPXI9PT0xP3ltdDpyPT09Mj90aGlzLndpbmRvdy5oZWlnaHQ6MTtlKj1pLHQqPW8sZSo9dGhpcy5vcHRpb25zLndoZWVsTXVsdGlwbGllcix0Kj10aGlzLm9wdGlvbnMud2hlZWxNdWx0aXBsaWVyLHRoaXMuZW1pdHRlci5lbWl0KCJzY3JvbGwiLHtkZWx0YVg6ZSxkZWx0YVk6dCxldmVudDphfSl9LCJvbldoZWVsIik7b25XaW5kb3dSZXNpemU9cygoKT0+e3RoaXMud2luZG93PXt3aWR0aDp3aW5kb3cuaW5uZXJXaWR0aCxoZWlnaHQ6d2luZG93LmlubmVySGVpZ2h0fX0sIm9uV2luZG93UmVzaXplIil9LHdtdD1zKGE9Pk1hdGgubWluKDEsMS4wMDEtTWF0aC5wb3coMiwtMTAqYSkpLCJkZWZhdWx0RWFzaW5nIiksTWI9Y2xhc3N7c3RhdGlje3ModGhpcywiTGVuaXMiKX1faXNTY3JvbGxpbmc9ITE7X2lzU3RvcHBlZD0hMTtfaXNMb2NrZWQ9ITE7X3ByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQ9ITE7X3Jlc2V0VmVsb2NpdHlUaW1lb3V0PW51bGw7X3JhZklkPW51bGw7aXNUb3VjaGluZzt0aW1lPTA7dXNlckRhdGE9e307bGFzdFZlbG9jaXR5PTA7dmVsb2NpdHk9MDtkaXJlY3Rpb249MDtvcHRpb25zO3RhcmdldFNjcm9sbDthbmltYXRlZFNjcm9sbDthbmltYXRlPW5ldyBvQ2E7ZW1pdHRlcj1uZXcgeG10O2RpbWVuc2lvbnM7dmlydHVhbFNjcm9sbDtjb25zdHJ1Y3Rvcih7d3JhcHBlcjphPXdpbmRvdyxjb250ZW50OmU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGV2ZW50c1RhcmdldDp0PWEsc21vb3RoV2hlZWw6cj0hMCxzeW5jVG91Y2g6aT0hMSxzeW5jVG91Y2hMZXJwOm89LjA3NSx0b3VjaEluZXJ0aWFFeHBvbmVudDpuPTEuNyxkdXJhdGlvbjpsLGVhc2luZzpkLGxlcnA6Yz0uMSxpbmZpbml0ZTpwPSExLG9yaWVudGF0aW9uOnU9InZlcnRpY2FsIixnZXN0dXJlT3JpZW50YXRpb246bT11PT09Imhvcml6b250YWwiPyJib3RoIjoidmVydGljYWwiLHRvdWNoTXVsdGlwbGllcjp2PTEsd2hlZWxNdWx0aXBsaWVyOng9MSxhdXRvUmVzaXplOmI9ITAscHJldmVudDpnLHZpcnR1YWxTY3JvbGw6eSxvdmVyc2Nyb2xsOms9ITAsYXV0b1JhZjpDPSExLGFuY2hvcnM6Tj0hMSxhdXRvVG9nZ2xlOl89ITEsYWxsb3dOZXN0ZWRTY3JvbGw6ej0hMSxfX2V4cGVyaW1lbnRhbF9fbmFpdmVEaW1lbnNpb25zOk89ITEsbmFpdmVEaW1lbnNpb25zOlQ9TyxzdG9wSW5lcnRpYU9uTmF2aWdhdGU6RT0hMX09e30pe3dpbmRvdy5sZW5pc1ZlcnNpb249YUNhLCghYXx8YT09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkmJihhPXdpbmRvdyksdHlwZW9mIGw9PSJudW1iZXIiJiZ0eXBlb2YgZCE9ImZ1bmN0aW9uIj9kPXdtdDp0eXBlb2YgZD09ImZ1bmN0aW9uIiYmdHlwZW9mIGwhPSJudW1iZXIiJiYobD0xKSx0aGlzLm9wdGlvbnM9e3dyYXBwZXI6YSxjb250ZW50OmUsZXZlbnRzVGFyZ2V0OnQsc21vb3RoV2hlZWw6cixzeW5jVG91Y2g6aSxzeW5jVG91Y2hMZXJwOm8sdG91Y2hJbmVydGlhRXhwb25lbnQ6bixkdXJhdGlvbjpsLGVhc2luZzpkLGxlcnA6YyxpbmZpbml0ZTpwLGdlc3R1cmVPcmllbnRhdGlvbjptLG9yaWVudGF0aW9uOnUsdG91Y2hNdWx0aXBsaWVyOnYsd2hlZWxNdWx0aXBsaWVyOngsYXV0b1Jlc2l6ZTpiLHByZXZlbnQ6Zyx2aXJ0dWFsU2Nyb2xsOnksb3ZlcnNjcm9sbDprLGF1dG9SYWY6QyxhbmNob3JzOk4sYXV0b1RvZ2dsZTpfLGFsbG93TmVzdGVkU2Nyb2xsOnosbmFpdmVEaW1lbnNpb25zOlQsc3RvcEluZXJ0aWFPbk5hdmlnYXRlOkV9LHRoaXMuZGltZW5zaW9ucz1uZXcgbENhKGEsZSx7YXV0b1Jlc2l6ZTpifSksdGhpcy51cGRhdGVDbGFzc05hbWUoKSx0aGlzLnRhcmdldFNjcm9sbD10aGlzLmFuaW1hdGVkU2Nyb2xsPXRoaXMuYWN0dWFsU2Nyb2xsLHRoaXMub3B0aW9ucy53cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5vbk5hdGl2ZVNjcm9sbCwhMSksdGhpcy5vcHRpb25zLndyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsZW5kIix0aGlzLm9uU2Nyb2xsRW5kLHtjYXB0dXJlOiEwfSksKHRoaXMub3B0aW9ucy5hbmNob3JzfHx0aGlzLm9wdGlvbnMuc3RvcEluZXJ0aWFPbk5hdmlnYXRlKSYmdGhpcy5vcHRpb25zLndyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMub25DbGljaywhMSksdGhpcy5vcHRpb25zLndyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLHRoaXMub25Qb2ludGVyRG93biwhMSksdGhpcy52aXJ0dWFsU2Nyb2xsPW5ldyBjQ2EodCx7dG91Y2hNdWx0aXBsaWVyOnYsd2hlZWxNdWx0aXBsaWVyOnh9KSx0aGlzLnZpcnR1YWxTY3JvbGwub24oInNjcm9sbCIsdGhpcy5vblZpcnR1YWxTY3JvbGwpLHRoaXMub3B0aW9ucy5hdXRvVG9nZ2xlJiYodGhpcy5jaGVja092ZXJmbG93KCksdGhpcy5yb290RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIix0aGlzLm9uVHJhbnNpdGlvbkVuZCx7cGFzc2l2ZTohMH0pKSx0aGlzLm9wdGlvbnMuYXV0b1JhZiYmKHRoaXMuX3JhZklkPXJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLnJhZikpfWRlc3Ryb3koKXt0aGlzLmVtaXR0ZXIuZGVzdHJveSgpLHRoaXMub3B0aW9ucy53cmFwcGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5vbk5hdGl2ZVNjcm9sbCwhMSksdGhpcy5vcHRpb25zLndyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsZW5kIix0aGlzLm9uU2Nyb2xsRW5kLHtjYXB0dXJlOiEwfSksdGhpcy5vcHRpb25zLndyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLHRoaXMub25Qb2ludGVyRG93biwhMSksKHRoaXMub3B0aW9ucy5hbmNob3JzfHx0aGlzLm9wdGlvbnMuc3RvcEluZXJ0aWFPbk5hdmlnYXRlKSYmdGhpcy5vcHRpb25zLndyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMub25DbGljaywhMSksdGhpcy52aXJ0dWFsU2Nyb2xsLmRlc3Ryb3koKSx0aGlzLmRpbWVuc2lvbnMuZGVzdHJveSgpLHRoaXMuY2xlYW5VcENsYXNzTmFtZSgpLHRoaXMuX3JhZklkJiZjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yYWZJZCl9b24oYSxlKXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uKGEsZSl9b2ZmKGEsZSl7cmV0dXJuIHRoaXMuZW1pdHRlci5vZmYoYSxlKX1vblNjcm9sbEVuZD1zKGE9PnthIGluc3RhbmNlb2YgQ3VzdG9tRXZlbnR8fCh0aGlzLmlzU2Nyb2xsaW5nPT09InNtb290aCJ8fHRoaXMuaXNTY3JvbGxpbmc9PT0hMSkmJmEuc3RvcFByb3BhZ2F0aW9uKCl9LCJvblNjcm9sbEVuZCIpO2Rpc3BhdGNoU2Nyb2xsZW5kRXZlbnQ9cygoKT0+e3RoaXMub3B0aW9ucy53cmFwcGVyLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzY3JvbGxlbmQiLHtidWJibGVzOnRoaXMub3B0aW9ucy53cmFwcGVyPT09d2luZG93LGRldGFpbDp7bGVuaXNTY3JvbGxFbmQ6ITB9fSkpfSwiZGlzcGF0Y2hTY3JvbGxlbmRFdmVudCIpO2dldCBvdmVyZmxvdygpe2xldCBhPXRoaXMuaXNIb3Jpem9udGFsPyJvdmVyZmxvdy14Ijoib3ZlcmZsb3cteSI7cmV0dXJuIGdldENvbXB1dGVkU3R5bGUodGhpcy5yb290RWxlbWVudClbYV19Y2hlY2tPdmVyZmxvdygpe1siaGlkZGVuIiwiY2xpcCJdLmluY2x1ZGVzKHRoaXMub3ZlcmZsb3cpP3RoaXMuaW50ZXJuYWxTdG9wKCk6dGhpcy5pbnRlcm5hbFN0YXJ0KCl9b25UcmFuc2l0aW9uRW5kPXMoYT0+e2EucHJvcGVydHlOYW1lLmluY2x1ZGVzKCJvdmVyZmxvdyIpJiZ0aGlzLmNoZWNrT3ZlcmZsb3coKX0sIm9uVHJhbnNpdGlvbkVuZCIpO3NldFNjcm9sbChhKXt0aGlzLmlzSG9yaXpvbnRhbD90aGlzLm9wdGlvbnMud3JhcHBlci5zY3JvbGxUbyh7bGVmdDphLGJlaGF2aW9yOiJpbnN0YW50In0pOnRoaXMub3B0aW9ucy53cmFwcGVyLnNjcm9sbFRvKHt0b3A6YSxiZWhhdmlvcjoiaW5zdGFudCJ9KX1vbkNsaWNrPXMoYT0+e2xldCB0PWEuY29tcG9zZWRQYXRoKCkuZmlsdGVyKHI9PnIgaW5zdGFuY2VvZiBIVE1MQW5jaG9yRWxlbWVudCYmci5nZXRBdHRyaWJ1dGUoImhyZWYiKSk7aWYodGhpcy5vcHRpb25zLmFuY2hvcnMpe2xldCByPXQuZmluZChpPT5pLmdldEF0dHJpYnV0ZSgiaHJlZiIpPy5pbmNsdWRlcygiIyIpKTtpZihyKXtsZXQgaT1yLmdldEF0dHJpYnV0ZSgiaHJlZiIpO2lmKGkpe2xldCBvPXR5cGVvZiB0aGlzLm9wdGlvbnMuYW5jaG9ycz09Im9iamVjdCImJnRoaXMub3B0aW9ucy5hbmNob3JzP3RoaXMub3B0aW9ucy5hbmNob3JzOnZvaWQgMCxuPWAjJHtpLnNwbGl0KCIjIilbMV19YDt0aGlzLnNjcm9sbFRvKG4sbyl9fX10aGlzLm9wdGlvbnMuc3RvcEluZXJ0aWFPbk5hdmlnYXRlJiZ0LmZpbmQoaT0+aS5ob3N0PT09d2luZG93LmxvY2F0aW9uLmhvc3QpJiZ0aGlzLnJlc2V0KCl9LCJvbkNsaWNrIik7b25Qb2ludGVyRG93bj1zKGE9PnthLmJ1dHRvbj09PTEmJnRoaXMucmVzZXQoKX0sIm9uUG9pbnRlckRvd24iKTtvblZpcnR1YWxTY3JvbGw9cyhhPT57aWYodHlwZW9mIHRoaXMub3B0aW9ucy52aXJ0dWFsU2Nyb2xsPT0iZnVuY3Rpb24iJiZ0aGlzLm9wdGlvbnMudmlydHVhbFNjcm9sbChhKT09PSExKXJldHVybjtsZXR7ZGVsdGFYOmUsZGVsdGFZOnQsZXZlbnQ6cn09YTtpZih0aGlzLmVtaXR0ZXIuZW1pdCgidmlydHVhbC1zY3JvbGwiLHtkZWx0YVg6ZSxkZWx0YVk6dCxldmVudDpyfSksci5jdHJsS2V5fHxyLmxlbmlzU3RvcFByb3BhZ2F0aW9uKXJldHVybjtsZXQgaT1yLnR5cGUuaW5jbHVkZXMoInRvdWNoIiksbz1yLnR5cGUuaW5jbHVkZXMoIndoZWVsIik7dGhpcy5pc1RvdWNoaW5nPXIudHlwZT09PSJ0b3VjaHN0YXJ0Inx8ci50eXBlPT09InRvdWNobW92ZSI7bGV0IG49ZT09PTAmJnQ9PT0wO2lmKHRoaXMub3B0aW9ucy5zeW5jVG91Y2gmJmkmJnIudHlwZT09PSJ0b3VjaHN0YXJ0IiYmbiYmIXRoaXMuaXNTdG9wcGVkJiYhdGhpcy5pc0xvY2tlZCl7dGhpcy5yZXNldCgpO3JldHVybn1sZXQgZD10aGlzLm9wdGlvbnMuZ2VzdHVyZU9yaWVudGF0aW9uPT09InZlcnRpY2FsIiYmdD09PTB8fHRoaXMub3B0aW9ucy5nZXN0dXJlT3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCImJmU9PT0wO2lmKG58fGQpcmV0dXJuO2xldCBjPXIuY29tcG9zZWRQYXRoKCk7Yz1jLnNsaWNlKDAsYy5pbmRleE9mKHRoaXMucm9vdEVsZW1lbnQpKTtsZXQgcD10aGlzLm9wdGlvbnMucHJldmVudDtpZihjLmZpbmQoZz0+ZyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYodHlwZW9mIHA9PSJmdW5jdGlvbiImJnA/LihnKXx8Zy5oYXNBdHRyaWJ1dGU/LigiZGF0YS1sZW5pcy1wcmV2ZW50Iil8fGkmJmcuaGFzQXR0cmlidXRlPy4oImRhdGEtbGVuaXMtcHJldmVudC10b3VjaCIpfHxvJiZnLmhhc0F0dHJpYnV0ZT8uKCJkYXRhLWxlbmlzLXByZXZlbnQtd2hlZWwiKXx8dGhpcy5vcHRpb25zLmFsbG93TmVzdGVkU2Nyb2xsJiZ0aGlzLmNoZWNrTmVzdGVkU2Nyb2xsKGcse2RlbHRhWDplLGRlbHRhWTp0fSkpKSlyZXR1cm47aWYodGhpcy5pc1N0b3BwZWR8fHRoaXMuaXNMb2NrZWQpe3IuY2FuY2VsYWJsZSYmci5wcmV2ZW50RGVmYXVsdCgpO3JldHVybn1pZighKHRoaXMub3B0aW9ucy5zeW5jVG91Y2gmJml8fHRoaXMub3B0aW9ucy5zbW9vdGhXaGVlbCYmbykpe3RoaXMuaXNTY3JvbGxpbmc9Im5hdGl2ZSIsdGhpcy5hbmltYXRlLnN0b3AoKSxyLmxlbmlzU3RvcFByb3BhZ2F0aW9uPSEwO3JldHVybn1sZXQgbT10O3RoaXMub3B0aW9ucy5nZXN0dXJlT3JpZW50YXRpb249PT0iYm90aCI/bT1NYXRoLmFicyh0KT5NYXRoLmFicyhlKT90OmU6dGhpcy5vcHRpb25zLmdlc3R1cmVPcmllbnRhdGlvbj09PSJob3Jpem9udGFsIiYmKG09ZSksKCF0aGlzLm9wdGlvbnMub3ZlcnNjcm9sbHx8dGhpcy5vcHRpb25zLmluZmluaXRlfHx0aGlzLm9wdGlvbnMud3JhcHBlciE9PXdpbmRvdyYmdGhpcy5saW1pdD4wJiYodGhpcy5hbmltYXRlZFNjcm9sbD4wJiZ0aGlzLmFuaW1hdGVkU2Nyb2xsPHRoaXMubGltaXR8fHRoaXMuYW5pbWF0ZWRTY3JvbGw9PT0wJiZ0PjB8fHRoaXMuYW5pbWF0ZWRTY3JvbGw9PT10aGlzLmxpbWl0JiZ0PDApKSYmKHIubGVuaXNTdG9wUHJvcGFnYXRpb249ITApLHIuY2FuY2VsYWJsZSYmci5wcmV2ZW50RGVmYXVsdCgpO2xldCB2PWkmJnRoaXMub3B0aW9ucy5zeW5jVG91Y2gsYj1pJiZyLnR5cGU9PT0idG91Y2hlbmQiO2ImJihtPU1hdGguc2lnbih0aGlzLnZlbG9jaXR5KSpNYXRoLnBvdyhNYXRoLmFicyh0aGlzLnZlbG9jaXR5KSx0aGlzLm9wdGlvbnMudG91Y2hJbmVydGlhRXhwb25lbnQpKSx0aGlzLnNjcm9sbFRvKHRoaXMudGFyZ2V0U2Nyb2xsK20se3Byb2dyYW1tYXRpYzohMSwuLi52P3tsZXJwOmI/dGhpcy5vcHRpb25zLnN5bmNUb3VjaExlcnA6MX06e2xlcnA6dGhpcy5vcHRpb25zLmxlcnAsZHVyYXRpb246dGhpcy5vcHRpb25zLmR1cmF0aW9uLGVhc2luZzp0aGlzLm9wdGlvbnMuZWFzaW5nfX0pfSwib25WaXJ0dWFsU2Nyb2xsIik7cmVzaXplKCl7dGhpcy5kaW1lbnNpb25zLnJlc2l6ZSgpLHRoaXMuYW5pbWF0ZWRTY3JvbGw9dGhpcy50YXJnZXRTY3JvbGw9dGhpcy5hY3R1YWxTY3JvbGwsdGhpcy5lbWl0KCl9ZW1pdCgpe3RoaXMuZW1pdHRlci5lbWl0KCJzY3JvbGwiLHRoaXMpfW9uTmF0aXZlU2Nyb2xsPXMoKCk9PntpZih0aGlzLl9yZXNldFZlbG9jaXR5VGltZW91dCE9PW51bGwmJihjbGVhclRpbWVvdXQodGhpcy5fcmVzZXRWZWxvY2l0eVRpbWVvdXQpLHRoaXMuX3Jlc2V0VmVsb2NpdHlUaW1lb3V0PW51bGwpLHRoaXMuX3ByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQpe3RoaXMuX3ByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQ9ITE7cmV0dXJufWlmKHRoaXMuaXNTY3JvbGxpbmc9PT0hMXx8dGhpcy5pc1Njcm9sbGluZz09PSJuYXRpdmUiKXtsZXQgYT10aGlzLmFuaW1hdGVkU2Nyb2xsO3RoaXMuYW5pbWF0ZWRTY3JvbGw9dGhpcy50YXJnZXRTY3JvbGw9dGhpcy5hY3R1YWxTY3JvbGwsdGhpcy5sYXN0VmVsb2NpdHk9dGhpcy52ZWxvY2l0eSx0aGlzLnZlbG9jaXR5PXRoaXMuYW5pbWF0ZWRTY3JvbGwtYSx0aGlzLmRpcmVjdGlvbj1NYXRoLnNpZ24odGhpcy5hbmltYXRlZFNjcm9sbC1hKSx0aGlzLmlzU3RvcHBlZHx8KHRoaXMuaXNTY3JvbGxpbmc9Im5hdGl2ZSIpLHRoaXMuZW1pdCgpLHRoaXMudmVsb2NpdHkhPT0wJiYodGhpcy5fcmVzZXRWZWxvY2l0eVRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMubGFzdFZlbG9jaXR5PXRoaXMudmVsb2NpdHksdGhpcy52ZWxvY2l0eT0wLHRoaXMuaXNTY3JvbGxpbmc9ITEsdGhpcy5lbWl0KCl9LDQwMCkpfX0sIm9uTmF0aXZlU2Nyb2xsIik7cmVzZXQoKXt0aGlzLmlzTG9ja2VkPSExLHRoaXMuaXNTY3JvbGxpbmc9ITEsdGhpcy5hbmltYXRlZFNjcm9sbD10aGlzLnRhcmdldFNjcm9sbD10aGlzLmFjdHVhbFNjcm9sbCx0aGlzLmxhc3RWZWxvY2l0eT10aGlzLnZlbG9jaXR5PTAsdGhpcy5hbmltYXRlLnN0b3AoKX1zdGFydCgpe2lmKHRoaXMuaXNTdG9wcGVkKXtpZih0aGlzLm9wdGlvbnMuYXV0b1RvZ2dsZSl7dGhpcy5yb290RWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgib3ZlcmZsb3ciKTtyZXR1cm59dGhpcy5pbnRlcm5hbFN0YXJ0KCl9fWludGVybmFsU3RhcnQoKXt0aGlzLmlzU3RvcHBlZCYmKHRoaXMucmVzZXQoKSx0aGlzLmlzU3RvcHBlZD0hMSx0aGlzLmVtaXQoKSl9c3RvcCgpe2lmKCF0aGlzLmlzU3RvcHBlZCl7aWYodGhpcy5vcHRpb25zLmF1dG9Ub2dnbGUpe3RoaXMucm9vdEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoIm92ZXJmbG93IiwiY2xpcCIpO3JldHVybn10aGlzLmludGVybmFsU3RvcCgpfX1pbnRlcm5hbFN0b3AoKXt0aGlzLmlzU3RvcHBlZHx8KHRoaXMucmVzZXQoKSx0aGlzLmlzU3RvcHBlZD0hMCx0aGlzLmVtaXQoKSl9cmFmPXMoYT0+e2xldCBlPWEtKHRoaXMudGltZXx8YSk7dGhpcy50aW1lPWEsdGhpcy5hbmltYXRlLmFkdmFuY2UoZSouMDAxKSx0aGlzLm9wdGlvbnMuYXV0b1JhZiYmKHRoaXMuX3JhZklkPXJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLnJhZikpfSwicmFmIik7c2Nyb2xsVG8oYSx7b2Zmc2V0OmU9MCxpbW1lZGlhdGU6dD0hMSxsb2NrOnI9ITEscHJvZ3JhbW1hdGljOmk9ITAsbGVycDpvPWk/dGhpcy5vcHRpb25zLmxlcnA6dm9pZCAwLGR1cmF0aW9uOm49aT90aGlzLm9wdGlvbnMuZHVyYXRpb246dm9pZCAwLGVhc2luZzpsPWk/dGhpcy5vcHRpb25zLmVhc2luZzp2b2lkIDAsb25TdGFydDpkLG9uQ29tcGxldGU6Yyxmb3JjZTpwPSExLHVzZXJEYXRhOnV9PXt9KXtpZighKCh0aGlzLmlzU3RvcHBlZHx8dGhpcy5pc0xvY2tlZCkmJiFwKSl7aWYodHlwZW9mIGE9PSJzdHJpbmciJiZbInRvcCIsImxlZnQiLCJzdGFydCIsIiMiXS5pbmNsdWRlcyhhKSlhPTA7ZWxzZSBpZih0eXBlb2YgYT09InN0cmluZyImJlsiYm90dG9tIiwicmlnaHQiLCJlbmQiXS5pbmNsdWRlcyhhKSlhPXRoaXMubGltaXQ7ZWxzZXtsZXQgbTtpZih0eXBlb2YgYT09InN0cmluZyI/KG09ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhKSxtfHwoYT09PSIjdG9wIj9hPTA6Y29uc29sZS53YXJuKCJMZW5pczogVGFyZ2V0IG5vdCBmb3VuZCIsYSkpKTphIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmE/Lm5vZGVUeXBlJiYobT1hKSxtKXtpZih0aGlzLm9wdGlvbnMud3JhcHBlciE9PXdpbmRvdyl7bGV0IHg9dGhpcy5yb290RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlLT10aGlzLmlzSG9yaXpvbnRhbD94LmxlZnQ6eC50b3B9bGV0IHY9bS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTthPSh0aGlzLmlzSG9yaXpvbnRhbD92LmxlZnQ6di50b3ApK3RoaXMuYW5pbWF0ZWRTY3JvbGx9fWlmKHR5cGVvZiBhPT0ibnVtYmVyIil7aWYoYSs9ZSxhPU1hdGgucm91bmQoYSksdGhpcy5vcHRpb25zLmluZmluaXRlKXtpZihpKXt0aGlzLnRhcmdldFNjcm9sbD10aGlzLmFuaW1hdGVkU2Nyb2xsPXRoaXMuc2Nyb2xsO2xldCBtPWEtdGhpcy5hbmltYXRlZFNjcm9sbDttPnRoaXMubGltaXQvMj9hPWEtdGhpcy5saW1pdDptPC10aGlzLmxpbWl0LzImJihhPWErdGhpcy5saW1pdCl9fWVsc2UgYT12bXQoMCxhLHRoaXMubGltaXQpO2lmKGE9PT10aGlzLnRhcmdldFNjcm9sbCl7ZD8uKHRoaXMpLGM/Lih0aGlzKTtyZXR1cm59aWYodGhpcy51c2VyRGF0YT11Pz97fSx0KXt0aGlzLmFuaW1hdGVkU2Nyb2xsPXRoaXMudGFyZ2V0U2Nyb2xsPWEsdGhpcy5zZXRTY3JvbGwodGhpcy5zY3JvbGwpLHRoaXMucmVzZXQoKSx0aGlzLnByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQoKSx0aGlzLmVtaXQoKSxjPy4odGhpcyksdGhpcy51c2VyRGF0YT17fSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLmRpc3BhdGNoU2Nyb2xsZW5kRXZlbnQoKX0pO3JldHVybn1pfHwodGhpcy50YXJnZXRTY3JvbGw9YSksdHlwZW9mIG49PSJudW1iZXIiJiZ0eXBlb2YgbCE9ImZ1bmN0aW9uIj9sPXdtdDp0eXBlb2YgbD09ImZ1bmN0aW9uIiYmdHlwZW9mIG4hPSJudW1iZXIiJiYobj0xKSx0aGlzLmFuaW1hdGUuZnJvbVRvKHRoaXMuYW5pbWF0ZWRTY3JvbGwsYSx7ZHVyYXRpb246bixlYXNpbmc6bCxsZXJwOm8sb25TdGFydDpzKCgpPT57ciYmKHRoaXMuaXNMb2NrZWQ9ITApLHRoaXMuaXNTY3JvbGxpbmc9InNtb290aCIsZD8uKHRoaXMpfSwib25TdGFydCIpLG9uVXBkYXRlOnMoKG0sdik9Pnt0aGlzLmlzU2Nyb2xsaW5nPSJzbW9vdGgiLHRoaXMubGFzdFZlbG9jaXR5PXRoaXMudmVsb2NpdHksdGhpcy52ZWxvY2l0eT1tLXRoaXMuYW5pbWF0ZWRTY3JvbGwsdGhpcy5kaXJlY3Rpb249TWF0aC5zaWduKHRoaXMudmVsb2NpdHkpLHRoaXMuYW5pbWF0ZWRTY3JvbGw9bSx0aGlzLnNldFNjcm9sbCh0aGlzLnNjcm9sbCksaSYmKHRoaXMudGFyZ2V0U2Nyb2xsPW0pLHZ8fHRoaXMuZW1pdCgpLHYmJih0aGlzLnJlc2V0KCksdGhpcy5lbWl0KCksYz8uKHRoaXMpLHRoaXMudXNlckRhdGE9e30scmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5kaXNwYXRjaFNjcm9sbGVuZEV2ZW50KCl9KSx0aGlzLnByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQoKSl9LCJvblVwZGF0ZSIpfSl9fX1wcmV2ZW50TmV4dE5hdGl2ZVNjcm9sbEV2ZW50KCl7dGhpcy5fcHJldmVudE5leHROYXRpdmVTY3JvbGxFdmVudD0hMCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLl9wcmV2ZW50TmV4dE5hdGl2ZVNjcm9sbEV2ZW50PSExfSl9Y2hlY2tOZXN0ZWRTY3JvbGwoYSx7ZGVsdGFYOmUsZGVsdGFZOnR9KXtsZXQgcj1EYXRlLm5vdygpLGk9YS5fbGVuaXM/Pz17fSxvLG4sbCxkLGMscCx1LG0sdj10aGlzLm9wdGlvbnMuZ2VzdHVyZU9yaWVudGF0aW9uO2lmKHItKGkudGltZT8/MCk+MmUzKXtpLnRpbWU9RGF0ZS5ub3coKTtsZXQgXz13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShhKTtpLmNvbXB1dGVkU3R5bGU9XztsZXQgej1fLm92ZXJmbG93WCxPPV8ub3ZlcmZsb3dZO2lmKG89WyJhdXRvIiwib3ZlcmxheSIsInNjcm9sbCJdLmluY2x1ZGVzKHopLG49WyJhdXRvIiwib3ZlcmxheSIsInNjcm9sbCJdLmluY2x1ZGVzKE8pLGkuaGFzT3ZlcmZsb3dYPW8saS5oYXNPdmVyZmxvd1k9biwhbyYmIW58fHY9PT0idmVydGljYWwiJiYhbnx8dj09PSJob3Jpem9udGFsIiYmIW8pcmV0dXJuITE7Yz1hLnNjcm9sbFdpZHRoLHA9YS5zY3JvbGxIZWlnaHQsdT1hLmNsaWVudFdpZHRoLG09YS5jbGllbnRIZWlnaHQsbD1jPnUsZD1wPm0saS5pc1Njcm9sbGFibGVYPWwsaS5pc1Njcm9sbGFibGVZPWQsaS5zY3JvbGxXaWR0aD1jLGkuc2Nyb2xsSGVpZ2h0PXAsaS5jbGllbnRXaWR0aD11LGkuY2xpZW50SGVpZ2h0PW19ZWxzZSBsPWkuaXNTY3JvbGxhYmxlWCxkPWkuaXNTY3JvbGxhYmxlWSxvPWkuaGFzT3ZlcmZsb3dYLG49aS5oYXNPdmVyZmxvd1ksYz1pLnNjcm9sbFdpZHRoLHA9aS5zY3JvbGxIZWlnaHQsdT1pLmNsaWVudFdpZHRoLG09aS5jbGllbnRIZWlnaHQ7aWYoIW8mJiFufHwhbCYmIWR8fHY9PT0idmVydGljYWwiJiYoIW58fCFkKXx8dj09PSJob3Jpem9udGFsIiYmKCFvfHwhbCkpcmV0dXJuITE7bGV0IHg7aWYodj09PSJob3Jpem9udGFsIil4PSJ4IjtlbHNlIGlmKHY9PT0idmVydGljYWwiKXg9InkiO2Vsc2V7bGV0IF89ZSE9PTAsej10IT09MDtfJiZvJiZsJiYoeD0ieCIpLHomJm4mJmQmJih4PSJ5Iil9aWYoIXgpcmV0dXJuITE7bGV0IGIsZyx5LGssQztpZih4PT09IngiKWI9YS5zY3JvbGxMZWZ0LGc9Yy11LHk9ZSxrPW8sQz1sO2Vsc2UgaWYoeD09PSJ5IiliPWEuc2Nyb2xsVG9wLGc9cC1tLHk9dCxrPW4sQz1kO2Vsc2UgcmV0dXJuITE7cmV0dXJuKHk+MD9iPGc6Yj4wKSYmayYmQ31nZXQgcm9vdEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5vcHRpb25zLndyYXBwZXI9PT13aW5kb3c/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OnRoaXMub3B0aW9ucy53cmFwcGVyfWdldCBsaW1pdCgpe3JldHVybiB0aGlzLm9wdGlvbnMubmFpdmVEaW1lbnNpb25zP3RoaXMuaXNIb3Jpem9udGFsP3RoaXMucm9vdEVsZW1lbnQuc2Nyb2xsV2lkdGgtdGhpcy5yb290RWxlbWVudC5jbGllbnRXaWR0aDp0aGlzLnJvb3RFbGVtZW50LnNjcm9sbEhlaWdodC10aGlzLnJvb3RFbGVtZW50LmNsaWVudEhlaWdodDp0aGlzLmRpbWVuc2lvbnMubGltaXRbdGhpcy5pc0hvcml6b250YWw/IngiOiJ5Il19Z2V0IGlzSG9yaXpvbnRhbCgpe3JldHVybiB0aGlzLm9wdGlvbnMub3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCJ9Z2V0IGFjdHVhbFNjcm9sbCgpe2xldCBhPXRoaXMub3B0aW9ucy53cmFwcGVyO3JldHVybiB0aGlzLmlzSG9yaXpvbnRhbD9hLnNjcm9sbFg/P2Euc2Nyb2xsTGVmdDphLnNjcm9sbFk/P2Euc2Nyb2xsVG9wfWdldCBzY3JvbGwoKXtyZXR1cm4gdGhpcy5vcHRpb25zLmluZmluaXRlP2lDYSh0aGlzLmFuaW1hdGVkU2Nyb2xsLHRoaXMubGltaXQpOnRoaXMuYW5pbWF0ZWRTY3JvbGx9Z2V0IHByb2dyZXNzKCl7cmV0dXJuIHRoaXMubGltaXQ9PT0wPzE6dGhpcy5zY3JvbGwvdGhpcy5saW1pdH1nZXQgaXNTY3JvbGxpbmcoKXtyZXR1cm4gdGhpcy5faXNTY3JvbGxpbmd9c2V0IGlzU2Nyb2xsaW5nKGEpe3RoaXMuX2lzU2Nyb2xsaW5nIT09YSYmKHRoaXMuX2lzU2Nyb2xsaW5nPWEsdGhpcy51cGRhdGVDbGFzc05hbWUoKSl9Z2V0IGlzU3RvcHBlZCgpe3JldHVybiB0aGlzLl9pc1N0b3BwZWR9c2V0IGlzU3RvcHBlZChhKXt0aGlzLl9pc1N0b3BwZWQhPT1hJiYodGhpcy5faXNTdG9wcGVkPWEsdGhpcy51cGRhdGVDbGFzc05hbWUoKSl9Z2V0IGlzTG9ja2VkKCl7cmV0dXJuIHRoaXMuX2lzTG9ja2VkfXNldCBpc0xvY2tlZChhKXt0aGlzLl9pc0xvY2tlZCE9PWEmJih0aGlzLl9pc0xvY2tlZD1hLHRoaXMudXBkYXRlQ2xhc3NOYW1lKCkpfWdldCBpc1Ntb290aCgpe3JldHVybiB0aGlzLmlzU2Nyb2xsaW5nPT09InNtb290aCJ9Z2V0IGNsYXNzTmFtZSgpe2xldCBhPSJsZW5pcyI7cmV0dXJuIHRoaXMub3B0aW9ucy5hdXRvVG9nZ2xlJiYoYSs9IiBsZW5pcy1hdXRvVG9nZ2xlIiksdGhpcy5pc1N0b3BwZWQmJihhKz0iIGxlbmlzLXN0b3BwZWQiKSx0aGlzLmlzTG9ja2VkJiYoYSs9IiBsZW5pcy1sb2NrZWQiKSx0aGlzLmlzU2Nyb2xsaW5nJiYoYSs9IiBsZW5pcy1zY3JvbGxpbmciKSx0aGlzLmlzU2Nyb2xsaW5nPT09InNtb290aCImJihhKz0iIGxlbmlzLXNtb290aCIpLGF9dXBkYXRlQ2xhc3NOYW1lKCl7dGhpcy5jbGVhblVwQ2xhc3NOYW1lKCksdGhpcy5yb290RWxlbWVudC5jbGFzc05hbWU9YCR7dGhpcy5yb290RWxlbWVudC5jbGFzc05hbWV9ICR7dGhpcy5jbGFzc05hbWV9YC50cmltKCl9Y2xlYW5VcENsYXNzTmFtZSgpe3RoaXMucm9vdEVsZW1lbnQuY2xhc3NOYW1lPXRoaXMucm9vdEVsZW1lbnQuY2xhc3NOYW1lLnJlcGxhY2UoL2xlbmlzKC1cdyspPy9nLCIiKS50cmltKCl9fX0pO3ZhciBrbXQ9dm8oKE02ZSxrNmUpPT57KGZ1bmN0aW9uKGEsZSl7dHlwZW9mIE02ZT09Im9iamVjdCImJnR5cGVvZiBrNmU8InUiP2s2ZS5leHBvcnRzPWUoKTp0eXBlb2YgZGVmaW5lPT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kP2RlZmluZShlKTooYT1hfHxzZWxmLGEuU3dlZXRTY3JvbGw9ZSgpKX0pKE02ZSxmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgYT1zKGZ1bmN0aW9uKCl7cmV0dXJuIGE9T2JqZWN0LmFzc2lnbnx8cyhmdW5jdGlvbihRKXtmb3IodmFyIEosWj0xLGdlPWFyZ3VtZW50cy5sZW5ndGg7WjxnZTtaKyspe0o9YXJndW1lbnRzW1pdO2Zvcih2YXIgYWUgaW4gSilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoSixhZSkmJihRW2FlXT1KW2FlXSl9cmV0dXJuIFF9LCJfX2Fzc2lnbiIpLGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSwiX19hc3NpZ24iKSxlPSEhKHR5cGVvZiB3aW5kb3c8InUiJiZ3aW5kb3cuZG9jdW1lbnQmJndpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KSx0PWU/d2luZG93Lmhpc3RvcnkmJiJwdXNoU3RhdGUiaW4gd2luZG93Lmhpc3RvcnkmJndpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCE9PSJmaWxlOiI6ITEscj0oZnVuY3Rpb24oKXt2YXIgWT0hMTtpZighZSlyZXR1cm4gWTt0cnl7dmFyIFE9d2luZG93LEo9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OnMoZnVuY3Rpb24oKXtZPSEwfSwiZ2V0Iil9KTtRLmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsSiksUS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLEopfWNhdGNoe31yZXR1cm4gWX0pKCksaT1zKGZ1bmN0aW9uKFkpe3JldHVybiB0eXBlb2YgWT09InN0cmluZyJ9LCJpc1N0cmluZyIpLG89cyhmdW5jdGlvbihZKXtyZXR1cm4gdHlwZW9mIFk9PSJmdW5jdGlvbiJ9LCJpc0Z1bmN0aW9uIiksbj1zKGZ1bmN0aW9uKFkpe3JldHVybiBBcnJheS5pc0FycmF5KFkpfSwiaXNBcnJheSIpLGw9cyhmdW5jdGlvbihZKXtyZXR1cm4hbihZKSYmWS1wYXJzZUZsb2F0KFkpKzE+PTB9LCJpc051bWVyaWMiKSxkPXMoZnVuY3Rpb24oWSxRKXtyZXR1cm4gWSYmWS5oYXNPd25Qcm9wZXJ0eShRKX0sImhhc1Byb3AiKSxjPWU/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZS5iaW5kKHdpbmRvdyk6bnVsbCxwPWU/d2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lLmJpbmQod2luZG93KTpudWxsLHU9TWF0aC5jb3MsbT1NYXRoLnNpbix2PU1hdGgucG93LHg9TWF0aC5zcXJ0LGI9TWF0aC5QSSxnPXtsaW5lYXI6cyhmdW5jdGlvbihZKXtyZXR1cm4gWX0sImxpbmVhciIpLGVhc2VJblF1YWQ6cyhmdW5jdGlvbihZLFEsSixaLGdlKXtyZXR1cm4gWiooUS89Z2UpKlErSn0sImVhc2VJblF1YWQiKSxlYXNlT3V0UXVhZDpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybi1aKihRLz1nZSkqKFEtMikrSn0sImVhc2VPdXRRdWFkIiksZWFzZUluT3V0UXVhZDpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybihRLz1nZS8yKTwxP1ovMipRKlErSjotWi8yKigtLVEqKFEtMiktMSkrSn0sImVhc2VJbk91dFF1YWQiKSxlYXNlSW5DdWJpYzpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybiBaKihRLz1nZSkqUSpRK0p9LCJlYXNlSW5DdWJpYyIpLGVhc2VPdXRDdWJpYzpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybiBaKigoUT1RL2dlLTEpKlEqUSsxKStKfSwiZWFzZU91dEN1YmljIiksZWFzZUluT3V0Q3ViaWM6cyhmdW5jdGlvbihZLFEsSixaLGdlKXtyZXR1cm4oUS89Z2UvMik8MT9aLzIqUSpRKlErSjpaLzIqKChRLT0yKSpRKlErMikrSn0sImVhc2VJbk91dEN1YmljIiksZWFzZUluUXVhcnQ6cyhmdW5jdGlvbihZLFEsSixaLGdlKXtyZXR1cm4gWiooUS89Z2UpKlEqUSpRK0p9LCJlYXNlSW5RdWFydCIpLGVhc2VPdXRRdWFydDpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybi1aKigoUT1RL2dlLTEpKlEqUSpRLTEpK0p9LCJlYXNlT3V0UXVhcnQiKSxlYXNlSW5PdXRRdWFydDpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybihRLz1nZS8yKTwxP1ovMipRKlEqUSpRK0o6LVovMiooKFEtPTIpKlEqUSpRLTIpK0p9LCJlYXNlSW5PdXRRdWFydCIpLGVhc2VJblF1aW50OnMoZnVuY3Rpb24oWSxRLEosWixnZSl7cmV0dXJuIFoqKFEvPWdlKSpRKlEqUSpRK0p9LCJlYXNlSW5RdWludCIpLGVhc2VPdXRRdWludDpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybiBaKigoUT1RL2dlLTEpKlEqUSpRKlErMSkrSn0sImVhc2VPdXRRdWludCIpLGVhc2VJbk91dFF1aW50OnMoZnVuY3Rpb24oWSxRLEosWixnZSl7cmV0dXJuKFEvPWdlLzIpPDE/Wi8yKlEqUSpRKlEqUStKOlovMiooKFEtPTIpKlEqUSpRKlErMikrSn0sImVhc2VJbk91dFF1aW50IiksZWFzZUluU2luZTpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybi1aKnUoUS9nZSooYi8yKSkrWitKfSwiZWFzZUluU2luZSIpLGVhc2VPdXRTaW5lOnMoZnVuY3Rpb24oWSxRLEosWixnZSl7cmV0dXJuIFoqbShRL2dlKihiLzIpKStKfSwiZWFzZU91dFNpbmUiKSxlYXNlSW5PdXRTaW5lOnMoZnVuY3Rpb24oWSxRLEosWixnZSl7cmV0dXJuLVovMioodShiKlEvZ2UpLTEpK0p9LCJlYXNlSW5PdXRTaW5lIiksZWFzZUluRXhwbzpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybiBRPT09MD9KOloqdigyLDEwKihRL2dlLTEpKStKfSwiZWFzZUluRXhwbyIpLGVhc2VPdXRFeHBvOnMoZnVuY3Rpb24oWSxRLEosWixnZSl7cmV0dXJuIFE9PT1nZT9KK1o6WiooLXYoMiwtMTAqUS9nZSkrMSkrSn0sImVhc2VPdXRFeHBvIiksZWFzZUluT3V0RXhwbzpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybiBRPT09MD9KOlE9PT1nZT9KK1o6KFEvPWdlLzIpPDE/Wi8yKnYoMiwxMCooUS0xKSkrSjpaLzIqKC12KDIsLTEwKi0tUSkrMikrSn0sImVhc2VJbk91dEV4cG8iKSxlYXNlSW5DaXJjOnMoZnVuY3Rpb24oWSxRLEosWixnZSl7cmV0dXJuLVoqKHgoMS0oUS89Z2UpKlEpLTEpK0p9LCJlYXNlSW5DaXJjIiksZWFzZU91dENpcmM6cyhmdW5jdGlvbihZLFEsSixaLGdlKXtyZXR1cm4gWip4KDEtKFE9US9nZS0xKSpRKStKfSwiZWFzZU91dENpcmMiKSxlYXNlSW5PdXRDaXJjOnMoZnVuY3Rpb24oWSxRLEosWixnZSl7cmV0dXJuKFEvPWdlLzIpPDE/LVovMiooeCgxLVEqUSktMSkrSjpaLzIqKHgoMS0oUS09MikqUSkrMSkrSn0sImVhc2VJbk91dENpcmMiKX0seT1zKGZ1bmN0aW9uKFkpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChZP2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoWSk6W10pfSwiJCQiKSxrPXMoZnVuY3Rpb24oWSl7cmV0dXJuIHkoWSkuc2hpZnQoKXx8bnVsbH0sIiQiKSxDPXMoZnVuY3Rpb24oWSl7cmV0dXJuIFkgaW5zdGFuY2VvZiBFbGVtZW50fSwiaXNFbGVtZW50IiksTj1zKGZ1bmN0aW9uKFkpe3JldHVybiBZPT09d2luZG93fSwiaXNXaW5kb3ciKSxfPXMoZnVuY3Rpb24oWSl7cmV0dXJuIFk9PT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnR8fFk9PT1kb2N1bWVudC5ib2R5fSwiaXNSb290Q29udGFpbmVyIiksej1zKGZ1bmN0aW9uKFksUSl7aWYoQyhRKSlyZXR1cm4gWT09PVE7Zm9yKHZhciBKPXkoUSksWj1KLmxlbmd0aDstLVo+PTAmJkpbWl0hPT1ZOyk7cmV0dXJuIFo+LTF9LCJtYXRjaGVzIiksTz1zKGZ1bmN0aW9uKFkpe3JldHVybiBNYXRoLm1heChZLnNjcm9sbEhlaWdodCxZLmNsaWVudEhlaWdodCxZLm9mZnNldEhlaWdodCl9LCJnZXRIZWlnaHQiKSxUPXMoZnVuY3Rpb24oWSl7cmV0dXJuIE1hdGgubWF4KFkuc2Nyb2xsV2lkdGgsWS5jbGllbnRXaWR0aCxZLm9mZnNldFdpZHRoKX0sImdldFdpZHRoIiksRT1zKGZ1bmN0aW9uKFkpe3JldHVybnt3aWR0aDpUKFkpLGhlaWdodDpPKFkpfX0sImdldFNpemUiKSxCPXMoZnVuY3Rpb24oWSl7dmFyIFE9TihZKXx8XyhZKTtyZXR1cm57dmlld3BvcnQ6e3dpZHRoOlE/TWF0aC5taW4od2luZG93LmlubmVyV2lkdGgsZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKTpZLmNsaWVudFdpZHRoLGhlaWdodDpRP3dpbmRvdy5pbm5lckhlaWdodDpZLmNsaWVudEhlaWdodH0sc2l6ZTpRP3t3aWR0aDpNYXRoLm1heChUKGRvY3VtZW50LmJvZHkpLFQoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSksaGVpZ2h0Ok1hdGgubWF4KE8oZG9jdW1lbnQuYm9keSksTyhkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpKX06RShZKX19LCJnZXRWaWV3cG9ydEFuZEVsZW1lbnRTaXplcyIpLE09e3k6InNjcm9sbFRvcCIseDoic2Nyb2xsTGVmdCJ9LFM9e3k6InBhZ2VZT2Zmc2V0Iix4OiJwYWdlWE9mZnNldCJ9LFA9cyhmdW5jdGlvbihZLFEpe3JldHVybiBOKFkpP1lbU1tRXV06WVtNW1FdXX0sImdldFNjcm9sbCIpLEE9cyhmdW5jdGlvbihZLFEsSil7aWYoTihZKSl7dmFyIFo9Sj09PSJ5IjtZLnNjcm9sbFRvKFo/WS5wYWdlWE9mZnNldDpRLFo/UTpZLnBhZ2VZT2Zmc2V0KX1lbHNlIFlbTVtKXV09UX0sInNldFNjcm9sbCIpLEY9cyhmdW5jdGlvbihZLFEpe3ZhciBKPVkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoSi53aWR0aHx8Si5oZWlnaHQpe3ZhciBaPXt0b3A6MCxsZWZ0OjB9LGdlPXZvaWQgMDtpZihOKFEpfHxfKFEpKWdlPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxaLnRvcD13aW5kb3dbUy55XSxaLmxlZnQ9d2luZG93W1MueF07ZWxzZXtnZT1RO3ZhciBhZT1nZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtaLnRvcD1hZS50b3AqLTErZ2VbTS55XSxaLmxlZnQ9YWUubGVmdCotMStnZVtNLnhdfXJldHVybnt0b3A6Si50b3ArWi50b3AtZ2UuY2xpZW50VG9wLGxlZnQ6Si5sZWZ0K1oubGVmdC1nZS5jbGllbnRMZWZ0fX1yZXR1cm4gSn0sImdldE9mZnNldCIpLFc9KGZ1bmN0aW9uKCl7cmV0dXJuIGU/Im9ud2hlZWwiaW4gZG9jdW1lbnQ/IndoZWVsIjoibW91c2V3aGVlbCI6IndoZWVsIn0pKCksaj1zKGZ1bmN0aW9uKFkpe3JldHVybiBZPT09IndoZWVsIj9XOll9LCJldmVudE5hbWUiKSxHPXMoZnVuY3Rpb24oWSxRLEosWixnZSl7Si5zcGxpdCgiICIpLmZvckVhY2goZnVuY3Rpb24oYWUpe1lbUV0oaihhZSksWixyP3twYXNzaXZlOmdlfTohMSl9KX0sImFwcGx5IiksaGU9cyhmdW5jdGlvbihZLFEsSixaKXtyZXR1cm4gRyhZLCJhZGRFdmVudExpc3RlbmVyIixRLEosWil9LCJhZGRFdmVudCIpLFI9cyhmdW5jdGlvbihZLFEsSixaKXtyZXR1cm4gRyhZLCJyZW1vdmVFdmVudExpc3RlbmVyIixRLEosWil9LCJyZW1vdmVFdmVudCIpLFU9L14oXCt8LSk9KFxkKyg/OlwuXGQrKT8pJC8sbWU9cyhmdW5jdGlvbihZLFEpe3ZhciBKPXt0b3A6MCxsZWZ0OjAscmVsYXRpdmU6ITF9O2lmKGQoWSwidG9wIil8fGQoWSwibGVmdCIpKUo9YSh7fSxKLFkpO2Vsc2UgaWYobihZKSlpZihZLmxlbmd0aD4xKUoudG9wPVlbMF0sSi5sZWZ0PVlbMV07ZWxzZSBpZihZLmxlbmd0aD09PTEpSi50b3A9UT9ZWzBdOjAsSi5sZWZ0PVE/MDpZWzBdO2Vsc2UgcmV0dXJuIG51bGw7ZWxzZSBpZihsKFkpKVE/Si50b3A9WTpKLmxlZnQ9WTtlbHNlIGlmKGkoWSkpe3ZhciBaPVkudHJpbSgpLm1hdGNoKFUpO2lmKCFaKXJldHVybiBudWxsO3ZhciBnZT1aWzFdLGFlPXBhcnNlSW50KFpbMl0sMTApO2dlPT09IisiPyhKLnRvcD1RP2FlOjAsSi5sZWZ0PVE/MDphZSk6KEoudG9wPVE/LWFlOjAsSi5sZWZ0PVE/MDotYWUpLEoucmVsYXRpdmU9ITB9ZWxzZSByZXR1cm4gbnVsbDtyZXR1cm4gSn0sInBhcnNlQ29vcmRpbmF0ZSIpLEk9e3RyaWdnZXI6IltkYXRhLXNjcm9sbF0iLGhlYWRlcjoiW2RhdGEtc2Nyb2xsLWhlYWRlcl0iLGR1cmF0aW9uOjFlMyxlYXNpbmc6ImVhc2VPdXRRdWludCIsb2Zmc2V0OjAsdmVydGljYWw6ITAsaG9yaXpvbnRhbDohMSxjYW5jZWxsYWJsZTohMCx1cGRhdGVVUkw6ITEscHJldmVudERlZmF1bHQ6ITAsc3RvcFByb3BhZ2F0aW9uOiEwLGJlZm9yZTpudWxsLGFmdGVyOm51bGwsY2FuY2VsOm51bGwsY29tcGxldGU6bnVsbCxzdGVwOm51bGx9LHE9ImNsaWNrIixjZT0id2hlZWwgdG91Y2hzdGFydCB0b3VjaG1vdmUiLHVlPShmdW5jdGlvbigpe2Z1bmN0aW9uIFkoUSxKKXt2YXIgWj10aGlzO3RoaXMuJGVsPW51bGwsdGhpcy5jdHg9eyR0cmlnZ2VyOm51bGwsb3B0czpudWxsLHByb2dyZXNzOiExLHBvczpudWxsLHN0YXJ0UG9zOm51bGwsZWFzaW5nOm51bGwsc3RhcnQ6MCxpZDowLGNhbmNlbDohMSxoYXNoOm51bGx9LHRoaXMubG9vcD1mdW5jdGlvbihhZSl7dmFyIHJlPVoseWU9cmUuJGVsLFY9cmUuY3R4O2lmKFYuc3RhcnR8fChWLnN0YXJ0PWFlKSwhVi5wcm9ncmVzc3x8IXllKXtaLnN0b3AoKTtyZXR1cm59dmFyIEg9Vi5vcHRzLG9lPVYucG9zLHNlPVYuc3RhcnQsdGU9Vi5zdGFydFBvcyx6ZT1WLmVhc2luZyxPZT1ILmR1cmF0aW9uLHFlPXt0b3A6InkiLGxlZnQ6IngifSxjdD1hZS1zZSwkZT1NYXRoLm1pbigxLE1hdGgubWF4KGN0L09lLDApKTtPYmplY3Qua2V5cyhvZSkuZm9yRWFjaChmdW5jdGlvbihDZSl7dmFyIE1lPW9lW0NlXSxkZT10ZVtDZV0sdmU9TWUtZGU7aWYodmUhPT0wKXt2YXIgQWU9emUoJGUsT2UqJGUsMCwxLE9lKTtBKHllLE1hdGgucm91bmQoZGUrdmUqQWUpLHFlW0NlXSl9fSksY3Q8PU9lPyhaLmhvb2soSCwic3RlcCIsJGUpLFYuaWQ9WS5yYWYoWi5sb29wKSk6Wi5zdG9wKCEwKX0sdGhpcy5oYW5kbGVDbGljaz1mdW5jdGlvbihhZSl7Zm9yKHZhciByZT1aLm9wdHMseWU9YWUudGFyZ2V0O3llJiZ5ZSE9PWRvY3VtZW50O3llPXllLnBhcmVudE5vZGUpaWYoeih5ZSxyZS50cmlnZ2VyKSl7dmFyIFY9SlNPTi5wYXJzZSh5ZS5nZXRBdHRyaWJ1dGUoImRhdGEtc2Nyb2xsLW9wdGlvbnMiKXx8Int9IiksSD15ZS5nZXRBdHRyaWJ1dGUoImRhdGEtc2Nyb2xsIiksb2U9SHx8eWUuZ2V0QXR0cmlidXRlKCJocmVmIiksc2U9YSh7fSxyZSxWKSx0ZT1zZS5wcmV2ZW50RGVmYXVsdCx6ZT1zZS5zdG9wUHJvcGFnYXRpb24sT2U9c2UudmVydGljYWwscWU9c2UuaG9yaXpvbnRhbDt0ZSYmYWUucHJldmVudERlZmF1bHQoKSx6ZSYmYWUuc3RvcFByb3BhZ2F0aW9uKCksWi5jdHguJHRyaWdnZXI9eWUscWUmJk9lP1oudG8ob2Usc2UpOk9lP1oudG9Ub3Aob2Usc2UpOnFlJiZaLnRvTGVmdChvZSxzZSk7YnJlYWt9fSx0aGlzLmhhbmRsZVN0b3A9ZnVuY3Rpb24oYWUpe3ZhciByZT1aLmN0eCx5ZT1yZS5vcHRzO3llJiZ5ZS5jYW5jZWxsYWJsZT8ocmUuY2FuY2VsPSEwLFouc3RvcCgpKTphZS5wcmV2ZW50RGVmYXVsdCgpfSx0aGlzLm9wdHM9YSh7fSxJLFF8fHt9KTt2YXIgZ2U9bnVsbDtlJiYodHlwZW9mIEo9PSJzdHJpbmciP2dlPWsoSik6SiE9bnVsbD9nZT1KOmdlPXdpbmRvdyksdGhpcy4kZWw9Z2UsZ2UmJnRoaXMuYmluZCghMCwhMSl9cmV0dXJuIHMoWSwiU3dlZXRTY3JvbGwiKSxZLmNyZWF0ZT1mdW5jdGlvbihRLEope3JldHVybiBuZXcgWShRLEopfSxZLnByb3RvdHlwZS50bz1mdW5jdGlvbihRLEope2lmKGUpe3ZhciBaPXRoaXMsZ2U9Wi4kZWwsYWU9Wi5jdHgscmU9Wi5vcHRzLHllPWFlLiR0cmlnZ2VyLFY9YSh7fSxyZSxKfHx7fSksSD1WLm9mZnNldCxvZT1WLnZlcnRpY2FsLHNlPVYuaG9yaXpvbnRhbCx0ZT1DKFYuaGVhZGVyKT9WLmhlYWRlcjprKFYuaGVhZGVyKSx6ZT0vXiMvLE9lPWkoUSkmJnplLnRlc3QoUSk/UTpudWxsO2lmKGFlLm9wdHM9VixhZS5jYW5jZWw9ITEsYWUuaGFzaD1PZSx0aGlzLnN0b3AoKSwhIWdlKXt2YXIgcWU9bWUoSCxvZSksY3Q9bWUoUSxvZSksJGU9e3RvcDowLGxlZnQ6MH07aWYoY3QpaWYoY3QucmVsYXRpdmUpe3ZhciBDZT1QKGdlLG9lPyJ5IjoieCIpOyRlLnRvcD1vZT9DZStjdC50b3A6Y3QudG9wLCRlLmxlZnQ9b2U/Y3QubGVmdDpDZStjdC5sZWZ0fWVsc2UgJGU9Y3Q7ZWxzZSBpZihpKFEpJiZRIT09IiMiKXt2YXIgTWU9ayhRKTtpZighTWUpcmV0dXJuOyRlPUYoTWUsZ2UpfXFlJiYoJGUudG9wKz1xZS50b3AsJGUubGVmdCs9cWUubGVmdCksdGUmJigkZS50b3A9TWF0aC5tYXgoMCwkZS50b3AtRSh0ZSkuaGVpZ2h0KSk7dmFyIGRlPUIoZ2UpLHZlPWRlLnZpZXdwb3J0LEFlPWRlLnNpemU7aWYoJGUudG9wPW9lP01hdGgubWF4KDAsTWF0aC5taW4oQWUuaGVpZ2h0LXZlLmhlaWdodCwkZS50b3ApKTpQKGdlLCJ5IiksJGUubGVmdD1zZT9NYXRoLm1heCgwLE1hdGgubWluKEFlLndpZHRoLXZlLndpZHRoLCRlLmxlZnQpKTpQKGdlLCJ4IiksdGhpcy5ob29rKFYsImJlZm9yZSIsJGUseWUpPT09ITEpe2FlLm9wdHM9bnVsbDtyZXR1cm59YWUucG9zPSRlLHRoaXMuc3RhcnQoViksdGhpcy5iaW5kKCExLCEwKX19fSxZLnByb3RvdHlwZS50b1RvcD1mdW5jdGlvbihRLEope3RoaXMudG8oUSxhKHt9LEp8fHt9LHt2ZXJ0aWNhbDohMCxob3Jpem9udGFsOiExfSkpfSxZLnByb3RvdHlwZS50b0xlZnQ9ZnVuY3Rpb24oUSxKKXt0aGlzLnRvKFEsYSh7fSxKfHx7fSx7dmVydGljYWw6ITEsaG9yaXpvbnRhbDohMH0pKX0sWS5wcm90b3R5cGUudG9FbGVtZW50PWZ1bmN0aW9uKFEsSil7dmFyIFo9dGhpcy4kZWw7IWV8fCFafHx0aGlzLnRvKEYoUSxaKSxKfHx7fSl9LFkucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oUSl7UT09PXZvaWQgMCYmKFE9ITEpO3ZhciBKPXRoaXMsWj1KLiRlbCxnZT1KLmN0eCxhZT1nZS5wb3M7IVp8fCFnZS5wcm9ncmVzc3x8KFkuY2FmKGdlLmlkKSxnZS5wcm9ncmVzcz0hMSxnZS5zdGFydD0wLGdlLmlkPTAsUSYmYWUmJihBKFosYWUubGVmdCwieCIpLEEoWixhZS50b3AsInkiKSksdGhpcy5jb21wbGV0ZSgpKX0sWS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKFEpe2lmKHRoaXMuJGVsKXt2YXIgSj1hKHt9LHRoaXMub3B0cyxRKTt0aGlzLnN0b3AoKSx0aGlzLnVuYmluZCghMCwhMCksdGhpcy5vcHRzPUosdGhpcy5iaW5kKCEwLCExKX19LFkucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLiRlbCYmKHRoaXMuc3RvcCgpLHRoaXMudW5iaW5kKCEwLCEwKSx0aGlzLiRlbD1udWxsKX0sWS5wcm90b3R5cGUub25CZWZvcmU9ZnVuY3Rpb24oUSxKKXtyZXR1cm4hMH0sWS5wcm90b3R5cGUub25TdGVwPWZ1bmN0aW9uKFEpe30sWS5wcm90b3R5cGUub25BZnRlcj1mdW5jdGlvbihRLEope30sWS5wcm90b3R5cGUub25DYW5jZWw9ZnVuY3Rpb24oKXt9LFkucHJvdG90eXBlLm9uQ29tcGxldGU9ZnVuY3Rpb24oUSl7fSxZLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbihRKXt2YXIgSj10aGlzLmN0eDtKLm9wdHM9USxKLnByb2dyZXNzPSEwLEouZWFzaW5nPW8oUS5lYXNpbmcpP1EuZWFzaW5nOmdbUS5lYXNpbmddO3ZhciBaPXRoaXMuJGVsLGdlPXt0b3A6UChaLCJ5IiksbGVmdDpQKFosIngiKX07Si5zdGFydFBvcz1nZSxKLmlkPVkucmFmKHRoaXMubG9vcCl9LFkucHJvdG90eXBlLmNvbXBsZXRlPWZ1bmN0aW9uKCl7dmFyIFE9dGhpcyxKPVEuJGVsLFo9US5jdHgsZ2U9Wi5oYXNoLGFlPVouY2FuY2VsLHJlPVoub3B0cyx5ZT1aLnBvcyxWPVouJHRyaWdnZXI7aWYoISghSnx8IXJlKSl7aWYoZ2UhPW51bGwmJmdlIT09d2luZG93LmxvY2F0aW9uLmhhc2gpe3ZhciBIPXJlLnVwZGF0ZVVSTDtlJiZ0JiZIIT09ITEmJndpbmRvdy5oaXN0b3J5W0g9PT0icmVwbGFjZSI/InJlcGxhY2VTdGF0ZSI6InB1c2hTdGF0ZSJdKG51bGwsIiIsZ2UpfXRoaXMudW5iaW5kKCExLCEwKSxaLm9wdHM9bnVsbCxaLiR0cmlnZ2VyPW51bGwsYWU/dGhpcy5ob29rKHJlLCJjYW5jZWwiKTp0aGlzLmhvb2socmUsImFmdGVyIix5ZSxWKSx0aGlzLmhvb2socmUsImNvbXBsZXRlIixhZSl9fSxZLnByb3RvdHlwZS5ob29rPWZ1bmN0aW9uKFEsSil7Zm9yKHZhciBaPVtdLGdlPTI7Z2U8YXJndW1lbnRzLmxlbmd0aDtnZSsrKVpbZ2UtMl09YXJndW1lbnRzW2dlXTt2YXIgYWUscmU9UVtKXSx5ZSxWO3JldHVybiBvKHJlKSYmKHllPXJlLmFwcGx5KHRoaXMsWi5jb25jYXQoW3RoaXNdKSkpLFY9KGFlPXRoaXMpWyJvbiIrKEpbMF0udG9VcHBlckNhc2UoKStKLnNsaWNlKDEpKV0uYXBwbHkoYWUsWikseWUhPT12b2lkIDA/eWU6Vn0sWS5wcm90b3R5cGUuYmluZD1mdW5jdGlvbihRLEope3ZhciBaPXRoaXMsZ2U9Wi4kZWwsYWU9Wi5jdHgub3B0cztnZSYmKFEmJmhlKGdlLHEsdGhpcy5oYW5kbGVDbGljaywhMSksSiYmaGUoZ2UsY2UsdGhpcy5oYW5kbGVTdG9wLGFlP2FlLmNhbmNlbGxhYmxlOiEwKSl9LFkucHJvdG90eXBlLnVuYmluZD1mdW5jdGlvbihRLEope3ZhciBaPXRoaXMsZ2U9Wi4kZWwsYWU9Wi5jdHgub3B0cztnZSYmKFEmJlIoZ2UscSx0aGlzLmhhbmRsZUNsaWNrLCExKSxKJiZSKGdlLGNlLHRoaXMuaGFuZGxlU3RvcCxhZT9hZS5jYW5jZWxsYWJsZTohMCkpfSxZLnJhZj1jLFkuY2FmPXAsWX0pKCk7cmV0dXJuIHVlfSl9KTt2YXIgSDgsZENhLHE4PWYoKCk9PntCNHQoKTtDWCgpO1NsKCk7VWgoKTtKaHQoKTtacygpO2w4dCgpO20yKCk7Yjh0KCk7amgoKTtKZGUoKTtNWCgpO1JKKCk7aFgoKTtJOSgpO1JsZSgpO3RYKCk7TW10KCk7SDg9Qmkoa210KCksMSksZENhPXtPYmplY3RNYXA6RGwsU3RyaW5nbWFwOlI5LEZhc3RNYXA6TDN9fSk7dmFyIGtyPXt9O3J0KGtyLHtjb250YWluZXJDb250ZXh0U3R5bGVzOigpPT5mQ2EsY3NzRm9yQ29uc3RyYWludDooKT0+dUNhLGNzc0ZvckNvbnN0cmFpbnRDb250YWluZXI6KCk9PnBDYSxjc3NGb3JDb250YWluZXI6KCk9PiRtdCxjc3NGb3JEZXNrdG9wOigpPT5oQ2EsY3NzRm9yTm90ZWJvb2s6KCk9Pm1DYSxjc3NGb3JQaGFibGV0OigpPT5iQ2EsY3NzRm9yUGhvbmU6KCk9PnZDYSxjc3NGb3JUYWJsZXQ6KCk9PmdDYSxjc3NGb3JWaWV3cG9ydDooKT0+dWQsZGVza3RvcDooKT0+em10LG5vdGVib29rOigpPT5DbXQscGhhYmxldDooKT0+VG10LHBob25lOigpPT5MbXQsdGFibGV0OigpPT5fbXR9KTt2YXIgem10LENtdCxfbXQsVG10LExtdCxTbXQsdWQsJG10LHVDYSxwQ2EsZkNhLGhDYSxtQ2EsZ0NhLGJDYSx2Q2EsUzZlPWYoKCk9PntWOCgpO3BuKCk7em10PTE2MDAsQ210PTEyNDAsX210PTEwMjQsVG10PTYwMCxMbXQ9NDAwLFNtdD1zKGE9PntsZXQgZT1bXTtyZXR1cm4gYS5taW5XaWR0aCYmZS5wdXNoKGAobWluLXdpZHRoOiAke2EubWluV2lkdGh9cHgpYCksYS5tYXhXaWR0aCYmZS5wdXNoKGAobWF4LXdpZHRoOiAke2EubWF4V2lkdGh9cHgpYCksZS5qb2luKCIgYW5kICIpfSwiYnVpbGRDb25kaXRpb24iKSx1ZD1zKChhLGUpPT5vYShgCiAgICBAY29udGFpbmVyIHdjY1Rvb2xzVmlld3BvcnQgJHtlfSB7CiAgICAgICR7YS5jc3NUZXh0fQogICAgfQogICAgQG1lZGlhICR7ZX0gewogICAgICAke2EuY3NzVGV4dH0KICAgIH0KICBgKSwiY3NzRm9yVmlld3BvcnQiKSwkbXQ9cygoYSxlLHQpPT5vYShgCiAgICBAY29udGFpbmVyICR7dH0gJHtlfSB7CiAgICAgICR7YS5jc3NUZXh0fQogICAgfQogIGApLCJjc3NGb3JDb250YWluZXIiKSx1Q2E9cyhhPT5lPT51ZChlLFNtdChhKSksImNzc0ZvckNvbnN0cmFpbnQiKSxwQ2E9cygoYSxlKT0+dD0+JG10KHQsU210KGEpLGUpLCJjc3NGb3JDb25zdHJhaW50Q29udGFpbmVyIiksZkNhPXMoYT0+WGAKICA6aG9zdCB7CiAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7CiAgICBjb250YWluZXItbmFtZTogJHtvYShhKX07CiAgfQpgLCJjb250YWluZXJDb250ZXh0U3R5bGVzIiksaENhPXMoYT0+dWQoYSxgKG1pbi13aWR0aDogJHt6bXR9cHgpYCksImNzc0ZvckRlc2t0b3AiKSxtQ2E9cyhhPT51ZChhLGAobWF4LXdpZHRoOiAke0NtdH1weClgKSwiY3NzRm9yTm90ZWJvb2siKSxnQ2E9cyhhPT51ZChhLGAobWF4LXdpZHRoOiAke19tdH1weClgKSwiY3NzRm9yVGFibGV0IiksYkNhPXMoYT0+dWQoYSxgKG1heC13aWR0aDogJHtUbXR9cHgpYCksImNzc0ZvclBoYWJsZXQiKSx2Q2E9cyhhPT51ZChhLGAobWF4LXdpZHRoOiAke0xtdH1weClgKSwiY3NzRm9yUGhvbmUiKX0pO3ZhciBGSixEbXQ9ZigoKT0+e3E4KCk7Rko9Y2xhc3N7c3RhdGlje3ModGhpcywiU2Nyb2xsZXIiKX1kb210b29sc0luc3RhbmNlO2Rpc3Bvc2VkPSExO3Njcm9sbENhbGxiYWNrcz1bXTtsZW5pc0luc3RhbmNlPW51bGw7bGVuaXNTY3JvbGxVbnN1YnNjcmliZT1udWxsO25hdGl2ZVNjcm9sbExpc3RlbmVyQXR0YWNoZWQ9ITE7aGFuZGxlTmF0aXZlU2Nyb2xsPXMoZT0+e3RoaXMuZXhlY3V0ZVNjcm9sbENhbGxiYWNrcygpfSwiaGFuZGxlTmF0aXZlU2Nyb2xsIik7aGFuZGxlTGVuaXNTY3JvbGw9cyhlPT57dGhpcy5leGVjdXRlU2Nyb2xsQ2FsbGJhY2tzKCl9LCJoYW5kbGVMZW5pc1Njcm9sbCIpO2NvbnN0cnVjdG9yKGUpe3RoaXMuZG9tdG9vbHNJbnN0YW5jZT1lLHRoaXMuYXR0YWNoTmF0aXZlU2Nyb2xsTGlzdGVuZXIoKX1zd2VldFNjcm9sbGVyPW5ldyBIOC5kZWZhdWx0KHt9KTthc3luYyB0b0VsZW1lbnQoZSx0KXt0aGlzLnN3ZWV0U2Nyb2xsZXIudG9FbGVtZW50KGUsdCksdD8uZHVyYXRpb24mJmF3YWl0IFB0LmRlbGF5Rm9yKHQuZHVyYXRpb24pfWFzeW5jIGRldGVjdE5hdGl2ZVNtb290aFNjcm9sbCgpe2xldCBlPWdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5zY3JvbGxCZWhhdmlvcix0PWRvY3VtZW50LmJvZHk/Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5zY3JvbGxCZWhhdmlvcjoiYXV0byI7aWYoZT09PSJzbW9vdGgifHx0PT09InNtb290aCIpcmV0dXJuITA7bGV0IHI9ZXQuZGVmZXIoKSxpPTEyLG89MyxuPS43NSxsPTEyMDAsZD1bXSxjPXModj0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIscCksd2luZG93LmNsZWFyVGltZW91dChtKSxyLnJlc29sdmUodil9LCJmaW5hbGl6ZSIpO2Z1bmN0aW9uIHAodil7ZC5wdXNoKHYuZGVsdGFZKSxkLmxlbmd0aD49aSYmdSgpfXMocCwib25XaGVlbCIpO2Z1bmN0aW9uIHUoKXtpZihkLmxlbmd0aDwyKXtjKCExKTtyZXR1cm59bGV0IHY9ZC5sZW5ndGgtMSx4PTA7Zm9yKGxldCBnPTA7Zzx2O2crKylNYXRoLmFicyhkW2crMV0tZFtnXSk8PW8mJngrKztsZXQgYj14L3Y7YyhiPj1uKX1zKHUsImFuYWx5emVFdmVudHMiKTtsZXQgbT13aW5kb3cuc2V0VGltZW91dCgoKT0+e3UoKX0sbCk7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIscCx7cGFzc2l2ZTohMH0pLHIucHJvbWlzZX1hc3luYyBlbmFibGVMZW5pc1Njcm9sbChlKXtpZih0aGlzLmRpc3Bvc2VkKXJldHVybjt0aGlzLmxlbmlzSW5zdGFuY2UmJnRoaXMuZGlzYWJsZUxlbmlzU2Nyb2xsKCk7bGV0IHQ9bmV3IE1iKHthdXRvUmFmOiEwfSk7aWYoZT8uZGlzYWJsZU9uTmF0aXZlU21vb3RoU2Nyb2xsJiZhd2FpdCB0aGlzLmRldGVjdE5hdGl2ZVNtb290aFNjcm9sbCgpKXt0LmRlc3Ryb3koKTtyZXR1cm59dGhpcy5sZW5pc0luc3RhbmNlPXQsdGhpcy5kZXRhY2hOYXRpdmVTY3JvbGxMaXN0ZW5lcigpLHRoaXMuYXR0YWNoTGVuaXNTY3JvbGxMaXN0ZW5lcigpfWRpc2FibGVMZW5pc1Njcm9sbCgpe3RoaXMubGVuaXNJbnN0YW5jZSYmKHRoaXMuZGV0YWNoTGVuaXNTY3JvbGxMaXN0ZW5lcigpLHRoaXMubGVuaXNJbnN0YW5jZS5kZXN0cm95KCksdGhpcy5sZW5pc0luc3RhbmNlPW51bGwsdGhpcy5hdHRhY2hOYXRpdmVTY3JvbGxMaXN0ZW5lcigpKX1vblNjcm9sbChlKXtyZXR1cm4gdGhpcy5zY3JvbGxDYWxsYmFja3MucHVzaChlKSwoKT0+e3RoaXMuc2Nyb2xsQ2FsbGJhY2tzPXRoaXMuc2Nyb2xsQ2FsbGJhY2tzLmZpbHRlcih0PT50IT09ZSl9fWV4ZWN1dGVTY3JvbGxDYWxsYmFja3MoKXt0aGlzLnNjcm9sbENhbGxiYWNrcy5mb3JFYWNoKGU9Pnt0cnl7ZSgpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IoIkVycm9yIGluIHNjcm9sbCBjYWxsYmFjazoiLHQpfX0pfWF0dGFjaE5hdGl2ZVNjcm9sbExpc3RlbmVyKCl7dGhpcy5uYXRpdmVTY3JvbGxMaXN0ZW5lckF0dGFjaGVkfHx0aGlzLmRpc3Bvc2VkfHwod2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5oYW5kbGVOYXRpdmVTY3JvbGwpLHRoaXMubmF0aXZlU2Nyb2xsTGlzdGVuZXJBdHRhY2hlZD0hMCl9ZGV0YWNoTmF0aXZlU2Nyb2xsTGlzdGVuZXIoKXt0aGlzLm5hdGl2ZVNjcm9sbExpc3RlbmVyQXR0YWNoZWQmJih3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLmhhbmRsZU5hdGl2ZVNjcm9sbCksdGhpcy5uYXRpdmVTY3JvbGxMaXN0ZW5lckF0dGFjaGVkPSExKX1hdHRhY2hMZW5pc1Njcm9sbExpc3RlbmVyKCl7dGhpcy5sZW5pc0luc3RhbmNlJiYhdGhpcy5sZW5pc1Njcm9sbFVuc3Vic2NyaWJlJiYodGhpcy5sZW5pc1Njcm9sbFVuc3Vic2NyaWJlPXRoaXMubGVuaXNJbnN0YW5jZS5vbigic2Nyb2xsIix0aGlzLmhhbmRsZUxlbmlzU2Nyb2xsKSl9ZGV0YWNoTGVuaXNTY3JvbGxMaXN0ZW5lcigpe3RoaXMubGVuaXNTY3JvbGxVbnN1YnNjcmliZSYmKHRoaXMubGVuaXNTY3JvbGxVbnN1YnNjcmliZSgpLHRoaXMubGVuaXNTY3JvbGxVbnN1YnNjcmliZT1udWxsKX1kaXNwb3NlKCl7dGhpcy5kaXNwb3NlZHx8KHRoaXMuZGlzcG9zZWQ9ITAsdGhpcy5kZXRhY2hMZW5pc1Njcm9sbExpc3RlbmVyKCksdGhpcy5sZW5pc0luc3RhbmNlPy5kZXN0cm95KCksdGhpcy5sZW5pc0luc3RhbmNlPW51bGwsdGhpcy5kZXRhY2hOYXRpdmVTY3JvbGxMaXN0ZW5lcigpLHRoaXMuc2Nyb2xsQ2FsbGJhY2tzPVtdLHRoaXMuc3dlZXRTY3JvbGxlci5kZXN0cm95KCkpfX19KTt2YXIgQkosQW10PWYoKCk9PntWOCgpO3E4KCk7Qko9Y2xhc3N7c3RhdGlje3ModGhpcywiVGhlbWVNYW5hZ2VyIil9ZG9tdG9vbHNSZWY7Z29CcmlnaHRCb29sZWFuPSExO3ByZWZlcnJlZENvbG9yU2NoZW1lTWVkaWFNYXRjaD13aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBsaWdodCkiKTt0aGVtZU9ic2VydmFibGU9bmV3IENhLnJ4anMuUmVwbGF5U3ViamVjdCgxKTthdXRvbWF0aWNHbG9iYWxUaGVtZUNoYW5nZVN1YnNjcmlwdGlvbj1udWxsO3ByZWZlcnJlZENvbG9yU2NoZW1lQ2hhbmdlSGFuZGxlcj1zKGU9Pnt0aGlzLmdvQnJpZ2h0Qm9vbGVhbj1lLm1hdGNoZXMsdGhpcy51cGRhdGVBbGxDb25uZWN0ZWRFbGVtZW50cygpfSwicHJlZmVycmVkQ29sb3JTY2hlbWVDaGFuZ2VIYW5kbGVyIik7Y29uc3RydWN0b3IoZSl7dGhpcy5kb210b29sc1JlZj1lLHRoaXMuZ29CcmlnaHRCb29sZWFuPXRoaXMucHJlZmVycmVkQ29sb3JTY2hlbWVNZWRpYU1hdGNoLm1hdGNoZXMsdGhpcy5wcmVmZXJyZWRDb2xvclNjaGVtZU1lZGlhTWF0Y2guYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLnByZWZlcnJlZENvbG9yU2NoZW1lQ2hhbmdlSGFuZGxlciksdGhpcy51cGRhdGVBbGxDb25uZWN0ZWRFbGVtZW50cygpfWFzeW5jIGVuYWJsZUF1dG9tYXRpY0dsb2JhbFRoZW1lQ2hhbmdlKCl7YXdhaXQgdGhpcy5kb210b29sc1JlZi5kb21SZWFkeS5wcm9taXNlLHRoaXMuYXV0b21hdGljR2xvYmFsVGhlbWVDaGFuZ2VTdWJzY3JpcHRpb258fCh0aGlzLmF1dG9tYXRpY0dsb2JhbFRoZW1lQ2hhbmdlU3Vic2NyaXB0aW9uPXRoaXMudGhlbWVPYnNlcnZhYmxlLnN1YnNjcmliZSh7bmV4dDpzKGU9Pntkb2N1bWVudC5ib2R5LnN0eWxlLmJhY2tncm91bmQ9ZT8iI2ZmZiI6IiMwMDAifSwibmV4dCIpfSkpfXVwZGF0ZUFsbENvbm5lY3RlZEVsZW1lbnRzKCl7dGhpcy5kb210b29sc1JlZi5kaXNwb3NlZHx8dGhpcy50aGVtZU9ic2VydmFibGUubmV4dCh0aGlzLmdvQnJpZ2h0Qm9vbGVhbil9Z29CcmlnaHQoKXt0aGlzLmdvQnJpZ2h0Qm9vbGVhbj0hMCx0aGlzLnVwZGF0ZUFsbENvbm5lY3RlZEVsZW1lbnRzKCl9Z29EYXJrKCl7dGhpcy5nb0JyaWdodEJvb2xlYW49ITEsdGhpcy51cGRhdGVBbGxDb25uZWN0ZWRFbGVtZW50cygpfXRvZ2dsZURhcmtCcmlnaHQoKXt0aGlzLmdvQnJpZ2h0Qm9vbGVhbj0hdGhpcy5nb0JyaWdodEJvb2xlYW4sdGhpcy51cGRhdGVBbGxDb25uZWN0ZWRFbGVtZW50cygpfWRpc3Bvc2UoKXt0aGlzLnByZWZlcnJlZENvbG9yU2NoZW1lTWVkaWFNYXRjaC5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHRoaXMucHJlZmVycmVkQ29sb3JTY2hlbWVDaGFuZ2VIYW5kbGVyKSx0aGlzLmF1dG9tYXRpY0dsb2JhbFRoZW1lQ2hhbmdlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpLHRoaXMuYXV0b21hdGljR2xvYmFsVGhlbWVDaGFuZ2VTdWJzY3JpcHRpb249bnVsbCx0aGlzLnRoZW1lT2JzZXJ2YWJsZS5jb21wbGV0ZSgpfX19KTt2YXIgTmUsSEosRW10PWYoKCk9PntxOCgpOyhmdW5jdGlvbihhKXthW2EuQmFja3NwYWNlPThdPSJCYWNrc3BhY2UiLGFbYS5UYWI9OV09IlRhYiIsYVthLkVudGVyPTEzXT0iRW50ZXIiLGFbYS5TaGlmdD0xNl09IlNoaWZ0IixhW2EuQ3RybD0xN109IkN0cmwiLGFbYS5BbHQ9MThdPSJBbHQiLGFbYS5QYXVzZUJyZWFrPTE5XT0iUGF1c2VCcmVhayIsYVthLkNhcHNMb2NrPTIwXT0iQ2Fwc0xvY2siLGFbYS5Fc2NhcGU9MjddPSJFc2NhcGUiLGFbYS5TcGFjZT0zMl09IlNwYWNlIixhW2EuUGFnZVVwPTMzXT0iUGFnZVVwIixhW2EuUGFnZURvd249MzRdPSJQYWdlRG93biIsYVthLkVuZD0zNV09IkVuZCIsYVthLkhvbWU9MzZdPSJIb21lIixhW2EuTGVmdEFycm93PTM3XT0iTGVmdEFycm93IixhW2EuVXBBcnJvdz0zOF09IlVwQXJyb3ciLGFbYS5SaWdodEFycm93PTM5XT0iUmlnaHRBcnJvdyIsYVthLkRvd25BcnJvdz00MF09IkRvd25BcnJvdyIsYVthLkluc2VydD00NV09Ikluc2VydCIsYVthLkRlbGV0ZT00Nl09IkRlbGV0ZSIsYVthLlplcm89NDhdPSJaZXJvIixhW2EuQ2xvc2VkUGFyZW49NDhdPSJDbG9zZWRQYXJlbiIsYVthLk9uZT00OV09Ik9uZSIsYVthLkV4Y2xhbWF0aW9uTWFyaz00OV09IkV4Y2xhbWF0aW9uTWFyayIsYVthLlR3bz01MF09IlR3byIsYVthLkF0U2lnbj01MF09IkF0U2lnbiIsYVthLlRocmVlPTUxXT0iVGhyZWUiLGFbYS5Qb3VuZFNpZ249NTFdPSJQb3VuZFNpZ24iLGFbYS5IYXNoPTUxXT0iSGFzaCIsYVthLkZvdXI9NTJdPSJGb3VyIixhW2EuRG9sbGFyU2lnbj01Ml09IkRvbGxhclNpZ24iLGFbYS5GaXZlPTUzXT0iRml2ZSIsYVthLlBlcmNlbnRTaWduPTUzXT0iUGVyY2VudFNpZ24iLGFbYS5TaXg9NTRdPSJTaXgiLGFbYS5DYXJldD01NF09IkNhcmV0IixhW2EuSGF0PTU0XT0iSGF0IixhW2EuU2V2ZW49NTVdPSJTZXZlbiIsYVthLkFtcGVyc2FuZD01NV09IkFtcGVyc2FuZCIsYVthLkVpZ2h0PTU2XT0iRWlnaHQiLGFbYS5TdGFyPTU2XT0iU3RhciIsYVthLkFzdGVyaWs9NTZdPSJBc3RlcmlrIixhW2EuTmluZT01N109Ik5pbmUiLGFbYS5PcGVuUGFyZW49NTddPSJPcGVuUGFyZW4iLGFbYS5BPTY1XT0iQSIsYVthLkI9NjZdPSJCIixhW2EuQz02N109IkMiLGFbYS5EPTY4XT0iRCIsYVthLkU9NjldPSJFIixhW2EuRj03MF09IkYiLGFbYS5HPTcxXT0iRyIsYVthLkg9NzJdPSJIIixhW2EuST03M109IkkiLGFbYS5KPTc0XT0iSiIsYVthLks9NzVdPSJLIixhW2EuTD03Nl09IkwiLGFbYS5NPTc3XT0iTSIsYVthLk49NzhdPSJOIixhW2EuTz03OV09Ik8iLGFbYS5QPTgwXT0iUCIsYVthLlE9ODFdPSJRIixhW2EuUj04Ml09IlIiLGFbYS5TPTgzXT0iUyIsYVthLlQ9ODRdPSJUIixhW2EuVT04NV09IlUiLGFbYS5WPTg2XT0iViIsYVthLlc9ODddPSJXIixhW2EuWD04OF09IlgiLGFbYS5ZPTg5XT0iWSIsYVthLlo9OTBdPSJaIixhW2EuTGVmdFdpbmRvd0tleT05MV09IkxlZnRXaW5kb3dLZXkiLGFbYS5SaWdodFdpbmRvd0tleT05Ml09IlJpZ2h0V2luZG93S2V5IixhW2EuU2VsZWN0S2V5PTkzXT0iU2VsZWN0S2V5IixhW2EuTnVtcGFkMD05Nl09Ik51bXBhZDAiLGFbYS5OdW1wYWQxPTk3XT0iTnVtcGFkMSIsYVthLk51bXBhZDI9OThdPSJOdW1wYWQyIixhW2EuTnVtcGFkMz05OV09Ik51bXBhZDMiLGFbYS5OdW1wYWQ0PTEwMF09Ik51bXBhZDQiLGFbYS5OdW1wYWQ1PTEwMV09Ik51bXBhZDUiLGFbYS5OdW1wYWQ2PTEwMl09Ik51bXBhZDYiLGFbYS5OdW1wYWQ3PTEwM109Ik51bXBhZDciLGFbYS5OdW1wYWQ4PTEwNF09Ik51bXBhZDgiLGFbYS5OdW1wYWQ5PTEwNV09Ik51bXBhZDkiLGFbYS5NdWx0aXBseT0xMDZdPSJNdWx0aXBseSIsYVthLkFkZD0xMDddPSJBZGQiLGFbYS5TdWJ0cmFjdD0xMDldPSJTdWJ0cmFjdCIsYVthLkRlY2ltYWxQb2ludD0xMTBdPSJEZWNpbWFsUG9pbnQiLGFbYS5EaXZpZGU9MTExXT0iRGl2aWRlIixhW2EuRjE9MTEyXT0iRjEiLGFbYS5GMj0xMTNdPSJGMiIsYVthLkYzPTExNF09IkYzIixhW2EuRjQ9MTE1XT0iRjQiLGFbYS5GNT0xMTZdPSJGNSIsYVthLkY2PTExN109IkY2IixhW2EuRjc9MTE4XT0iRjciLGFbYS5GOD0xMTldPSJGOCIsYVthLkY5PTEyMF09IkY5IixhW2EuRjEwPTEyMV09IkYxMCIsYVthLkYxMT0xMjJdPSJGMTEiLGFbYS5GMTI9MTIzXT0iRjEyIixhW2EuTnVtTG9jaz0xNDRdPSJOdW1Mb2NrIixhW2EuU2Nyb2xsTG9jaz0xNDVdPSJTY3JvbGxMb2NrIixhW2EuU2VtaUNvbG9uPTE4Nl09IlNlbWlDb2xvbiIsYVthLkVxdWFscz0xODddPSJFcXVhbHMiLGFbYS5Db21tYT0xODhdPSJDb21tYSIsYVthLkRhc2g9MTg5XT0iRGFzaCIsYVthLlBlcmlvZD0xOTBdPSJQZXJpb2QiLGFbYS5VbmRlclNjb3JlPTE4OV09IlVuZGVyU2NvcmUiLGFbYS5QbHVzU2lnbj0xODddPSJQbHVzU2lnbiIsYVthLkZvcndhcmRTbGFzaD0xOTFdPSJGb3J3YXJkU2xhc2giLGFbYS5UaWxkZT0xOTJdPSJUaWxkZSIsYVthLkdyYXZlQWNjZW50PTE5Ml09IkdyYXZlQWNjZW50IixhW2EuT3BlbkJyYWNrZXQ9MjE5XT0iT3BlbkJyYWNrZXQiLGFbYS5DbG9zZWRCcmFja2V0PTIyMV09IkNsb3NlZEJyYWNrZXQiLGFbYS5RdW90ZT0yMjJdPSJRdW90ZSJ9KShOZXx8KE5lPXt9KSk7SEo9Y2xhc3N7c3RhdGlje3ModGhpcywiS2V5Ym9hcmQiKX1kb21Ob2RlO21hcENvbWJvc1RvSGFuZGxlcnM9bmV3IE1hcDtwcmVzc2VkS2V5cz1uZXcgU2V0O2xpc3RlbmluZz0hMTtjb25zdHJ1Y3RvcihlKXt0aGlzLmRvbU5vZGU9ZSx0aGlzLnN0YXJ0TGlzdGVuaW5nKCl9a2V5RW51bT1OZTtvbihlKXtsZXQgdD1uZXcgQ2Eucnhqcy5TdWJqZWN0O3JldHVybiB0aGlzLnJlZ2lzdGVyS2V5cyhlLHQpLHR9dHJpZ2dlcktleVByZXNzKGUpe2xldCB0PXRoaXMubm9ybWFsaXplS2V5cyhlKTtmb3IobGV0IHIgb2YgdCl0aGlzLnByZXNzZWRLZXlzLmFkZChyKTt0aGlzLmNoZWNrTWF0Y2hpbmdLZXlib2FyZFN1YmplY3RzKHRoaXMuY3JlYXRlS2V5Ym9hcmRFdmVudCh0KSk7Zm9yKGxldCByIG9mIHQpdGhpcy5wcmVzc2VkS2V5cy5kZWxldGUocil9c3RhcnRMaXN0ZW5pbmcoKXt0aGlzLmxpc3RlbmluZ3x8KHRoaXMuZG9tTm9kZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLmhhbmRsZUtleURvd24pLHRoaXMuZG9tTm9kZS5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5oYW5kbGVLZXlVcCksdGhpcy5saXN0ZW5pbmc9ITApfXN0b3BMaXN0ZW5pbmcoKXt0aGlzLmxpc3RlbmluZyYmKHRoaXMuZG9tTm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLmhhbmRsZUtleURvd24pLHRoaXMuZG9tTm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5oYW5kbGVLZXlVcCksdGhpcy5saXN0ZW5pbmc9ITEpfWNsZWFyKCl7dGhpcy5zdG9wTGlzdGVuaW5nKCk7Zm9yKGxldCBlIG9mIHRoaXMubWFwQ29tYm9zVG9IYW5kbGVycy52YWx1ZXMoKSlmb3IobGV0IHQgb2YgZS5zdWJqZWN0cyl0LmNvbXBsZXRlKCk7dGhpcy5tYXBDb21ib3NUb0hhbmRsZXJzLmNsZWFyKCksdGhpcy5wcmVzc2VkS2V5cy5jbGVhcigpfWRpc3Bvc2UoKXt0aGlzLmNsZWFyKCl9aGFuZGxlS2V5RG93bj1zKGU9PntsZXQgdD10aGlzLnJlc29sdmVLZXkoZSk7dCE9PW51bGwmJih0aGlzLnByZXNzZWRLZXlzLmFkZCh0KSx0aGlzLmNoZWNrTWF0Y2hpbmdLZXlib2FyZFN1YmplY3RzKGUpKX0sImhhbmRsZUtleURvd24iKTtjaGVja01hdGNoaW5nS2V5Ym9hcmRTdWJqZWN0cyhlKXt0aGlzLm1hcENvbWJvc1RvSGFuZGxlcnMuZm9yRWFjaCh0PT57aWYodGhpcy5hcmVBbGxLZXlzUHJlc3NlZCh0LmtleXMpKWZvcihsZXQgciBvZiB0LnN1YmplY3RzKXIubmV4dChlKX0pfWhhbmRsZUtleVVwPXMoZT0+e2xldCB0PXRoaXMucmVzb2x2ZUtleShlKTt0IT09bnVsbCYmdGhpcy5wcmVzc2VkS2V5cy5kZWxldGUodCl9LCJoYW5kbGVLZXlVcCIpO2FyZUFsbEtleXNQcmVzc2VkKGUpe2xldCB0PSEwO3JldHVybiBlLmZvckVhY2gocj0+e3RoaXMucHJlc3NlZEtleXMuaGFzKHIpfHwodD0hMSl9KSx0fXJlZ2lzdGVyS2V5cyhlLHQpe2xldCByPXRoaXMubm9ybWFsaXplS2V5cyhlKSxpPXIuam9pbigiKyIpLG89dGhpcy5tYXBDb21ib3NUb0hhbmRsZXJzLmdldChpKTtpZighbyl7dGhpcy5tYXBDb21ib3NUb0hhbmRsZXJzLnNldChpLHtrZXlzOnIsc3ViamVjdHM6W3RdfSk7cmV0dXJufW8uc3ViamVjdHMucHVzaCh0KX1ub3JtYWxpemVLZXlzKGUpe3JldHVyblsuLi5uZXcgU2V0KGUpXS5zb3J0KCh0LHIpPT50LXIpfXJlc29sdmVLZXkoZSl7cmV0dXJuIHRoaXMucmVzb2x2ZUtleUZyb21Db2RlKGUuY29kZSk/P3RoaXMucmVzb2x2ZUtleUZyb21LZXkoZS5rZXkpPz90aGlzLnJlc29sdmVLZXlGcm9tS2V5Q29kZShlLmtleUNvZGUpfXJlc29sdmVLZXlGcm9tQ29kZShlKXtpZighZSlyZXR1cm4gbnVsbDtpZihlLnN0YXJ0c1dpdGgoIktleSIpJiZlLmxlbmd0aD09PTQpcmV0dXJuIE5lW2Uuc2xpY2UoMyldPz9udWxsO2lmKGUuc3RhcnRzV2l0aCgiRGlnaXQiKSYmZS5sZW5ndGg9PT02KXJldHVybiB0aGlzLnJlc29sdmVLZXlGcm9tS2V5KGUuc2xpY2UoNSkpO3N3aXRjaChlKXtjYXNlIkJhY2tzcGFjZSI6cmV0dXJuIE5lLkJhY2tzcGFjZTtjYXNlIlRhYiI6cmV0dXJuIE5lLlRhYjtjYXNlIkVudGVyIjpjYXNlIk51bXBhZEVudGVyIjpyZXR1cm4gTmUuRW50ZXI7Y2FzZSJTaGlmdExlZnQiOmNhc2UiU2hpZnRSaWdodCI6cmV0dXJuIE5lLlNoaWZ0O2Nhc2UiQ29udHJvbExlZnQiOmNhc2UiQ29udHJvbFJpZ2h0IjpyZXR1cm4gTmUuQ3RybDtjYXNlIkFsdExlZnQiOmNhc2UiQWx0UmlnaHQiOnJldHVybiBOZS5BbHQ7Y2FzZSJQYXVzZSI6cmV0dXJuIE5lLlBhdXNlQnJlYWs7Y2FzZSJDYXBzTG9jayI6cmV0dXJuIE5lLkNhcHNMb2NrO2Nhc2UiRXNjYXBlIjpyZXR1cm4gTmUuRXNjYXBlO2Nhc2UiU3BhY2UiOnJldHVybiBOZS5TcGFjZTtjYXNlIlBhZ2VVcCI6cmV0dXJuIE5lLlBhZ2VVcDtjYXNlIlBhZ2VEb3duIjpyZXR1cm4gTmUuUGFnZURvd247Y2FzZSJFbmQiOnJldHVybiBOZS5FbmQ7Y2FzZSJIb21lIjpyZXR1cm4gTmUuSG9tZTtjYXNlIkFycm93TGVmdCI6cmV0dXJuIE5lLkxlZnRBcnJvdztjYXNlIkFycm93VXAiOnJldHVybiBOZS5VcEFycm93O2Nhc2UiQXJyb3dSaWdodCI6cmV0dXJuIE5lLlJpZ2h0QXJyb3c7Y2FzZSJBcnJvd0Rvd24iOnJldHVybiBOZS5Eb3duQXJyb3c7Y2FzZSJJbnNlcnQiOnJldHVybiBOZS5JbnNlcnQ7Y2FzZSJEZWxldGUiOnJldHVybiBOZS5EZWxldGU7Y2FzZSJNZXRhTGVmdCI6cmV0dXJuIE5lLkxlZnRXaW5kb3dLZXk7Y2FzZSJNZXRhUmlnaHQiOnJldHVybiBOZS5SaWdodFdpbmRvd0tleTtjYXNlIkNvbnRleHRNZW51IjpyZXR1cm4gTmUuU2VsZWN0S2V5O2Nhc2UiTnVtcGFkMCI6cmV0dXJuIE5lLk51bXBhZDA7Y2FzZSJOdW1wYWQxIjpyZXR1cm4gTmUuTnVtcGFkMTtjYXNlIk51bXBhZDIiOnJldHVybiBOZS5OdW1wYWQyO2Nhc2UiTnVtcGFkMyI6cmV0dXJuIE5lLk51bXBhZDM7Y2FzZSJOdW1wYWQ0IjpyZXR1cm4gTmUuTnVtcGFkNDtjYXNlIk51bXBhZDUiOnJldHVybiBOZS5OdW1wYWQ1O2Nhc2UiTnVtcGFkNiI6cmV0dXJuIE5lLk51bXBhZDY7Y2FzZSJOdW1wYWQ3IjpyZXR1cm4gTmUuTnVtcGFkNztjYXNlIk51bXBhZDgiOnJldHVybiBOZS5OdW1wYWQ4O2Nhc2UiTnVtcGFkOSI6cmV0dXJuIE5lLk51bXBhZDk7Y2FzZSJOdW1wYWRNdWx0aXBseSI6cmV0dXJuIE5lLk11bHRpcGx5O2Nhc2UiTnVtcGFkQWRkIjpyZXR1cm4gTmUuQWRkO2Nhc2UiTnVtcGFkU3VidHJhY3QiOnJldHVybiBOZS5TdWJ0cmFjdDtjYXNlIk51bXBhZERlY2ltYWwiOnJldHVybiBOZS5EZWNpbWFsUG9pbnQ7Y2FzZSJOdW1wYWREaXZpZGUiOnJldHVybiBOZS5EaXZpZGU7Y2FzZSJGMSI6cmV0dXJuIE5lLkYxO2Nhc2UiRjIiOnJldHVybiBOZS5GMjtjYXNlIkYzIjpyZXR1cm4gTmUuRjM7Y2FzZSJGNCI6cmV0dXJuIE5lLkY0O2Nhc2UiRjUiOnJldHVybiBOZS5GNTtjYXNlIkY2IjpyZXR1cm4gTmUuRjY7Y2FzZSJGNyI6cmV0dXJuIE5lLkY3O2Nhc2UiRjgiOnJldHVybiBOZS5GODtjYXNlIkY5IjpyZXR1cm4gTmUuRjk7Y2FzZSJGMTAiOnJldHVybiBOZS5GMTA7Y2FzZSJGMTEiOnJldHVybiBOZS5GMTE7Y2FzZSJGMTIiOnJldHVybiBOZS5GMTI7Y2FzZSJOdW1Mb2NrIjpyZXR1cm4gTmUuTnVtTG9jaztjYXNlIlNjcm9sbExvY2siOnJldHVybiBOZS5TY3JvbGxMb2NrO2Nhc2UiU2VtaWNvbG9uIjpyZXR1cm4gTmUuU2VtaUNvbG9uO2Nhc2UiRXF1YWwiOnJldHVybiBOZS5FcXVhbHM7Y2FzZSJDb21tYSI6cmV0dXJuIE5lLkNvbW1hO2Nhc2UiTWludXMiOnJldHVybiBOZS5EYXNoO2Nhc2UiUGVyaW9kIjpyZXR1cm4gTmUuUGVyaW9kO2Nhc2UiU2xhc2giOnJldHVybiBOZS5Gb3J3YXJkU2xhc2g7Y2FzZSJCYWNrcXVvdGUiOnJldHVybiBOZS5UaWxkZTtjYXNlIkJyYWNrZXRMZWZ0IjpyZXR1cm4gTmUuT3BlbkJyYWNrZXQ7Y2FzZSJCcmFja2V0UmlnaHQiOnJldHVybiBOZS5DbG9zZWRCcmFja2V0O2Nhc2UiUXVvdGUiOnJldHVybiBOZS5RdW90ZTtkZWZhdWx0OnJldHVybiBudWxsfX1yZXNvbHZlS2V5RnJvbUtleShlKXtpZighZSlyZXR1cm4gbnVsbDtpZihlLmxlbmd0aD09PTEpe2xldCB0PWUudG9VcHBlckNhc2UoKTtpZih0Pj0iQSImJnQ8PSJaIilyZXR1cm4gTmVbdF0/P251bGw7c3dpdGNoKGUpe2Nhc2UiMCI6cmV0dXJuIE5lLlplcm87Y2FzZSIxIjpyZXR1cm4gTmUuT25lO2Nhc2UiMiI6cmV0dXJuIE5lLlR3bztjYXNlIjMiOnJldHVybiBOZS5UaHJlZTtjYXNlIjQiOnJldHVybiBOZS5Gb3VyO2Nhc2UiNSI6cmV0dXJuIE5lLkZpdmU7Y2FzZSI2IjpyZXR1cm4gTmUuU2l4O2Nhc2UiNyI6cmV0dXJuIE5lLlNldmVuO2Nhc2UiOCI6cmV0dXJuIE5lLkVpZ2h0O2Nhc2UiOSI6cmV0dXJuIE5lLk5pbmU7Y2FzZSIgIjpyZXR1cm4gTmUuU3BhY2U7Y2FzZSI7IjpyZXR1cm4gTmUuU2VtaUNvbG9uO2Nhc2UiPSI6cmV0dXJuIE5lLkVxdWFscztjYXNlIiwiOnJldHVybiBOZS5Db21tYTtjYXNlIi0iOnJldHVybiBOZS5EYXNoO2Nhc2UiLiI6cmV0dXJuIE5lLlBlcmlvZDtjYXNlIi8iOnJldHVybiBOZS5Gb3J3YXJkU2xhc2g7Y2FzZSJgIjpyZXR1cm4gTmUuVGlsZGU7Y2FzZSJbIjpyZXR1cm4gTmUuT3BlbkJyYWNrZXQ7Y2FzZSJdIjpyZXR1cm4gTmUuQ2xvc2VkQnJhY2tldDtjYXNlIiciOnJldHVybiBOZS5RdW90ZTtkZWZhdWx0OnJldHVybiBudWxsfX1zd2l0Y2goZSl7Y2FzZSJCYWNrc3BhY2UiOnJldHVybiBOZS5CYWNrc3BhY2U7Y2FzZSJUYWIiOnJldHVybiBOZS5UYWI7Y2FzZSJFbnRlciI6cmV0dXJuIE5lLkVudGVyO2Nhc2UiU2hpZnQiOnJldHVybiBOZS5TaGlmdDtjYXNlIkNvbnRyb2wiOnJldHVybiBOZS5DdHJsO2Nhc2UiQWx0IjpyZXR1cm4gTmUuQWx0O2Nhc2UiUGF1c2UiOnJldHVybiBOZS5QYXVzZUJyZWFrO2Nhc2UiQ2Fwc0xvY2siOnJldHVybiBOZS5DYXBzTG9jaztjYXNlIkVzY2FwZSI6cmV0dXJuIE5lLkVzY2FwZTtjYXNlIlBhZ2VVcCI6cmV0dXJuIE5lLlBhZ2VVcDtjYXNlIlBhZ2VEb3duIjpyZXR1cm4gTmUuUGFnZURvd247Y2FzZSJFbmQiOnJldHVybiBOZS5FbmQ7Y2FzZSJIb21lIjpyZXR1cm4gTmUuSG9tZTtjYXNlIkFycm93TGVmdCI6cmV0dXJuIE5lLkxlZnRBcnJvdztjYXNlIkFycm93VXAiOnJldHVybiBOZS5VcEFycm93O2Nhc2UiQXJyb3dSaWdodCI6cmV0dXJuIE5lLlJpZ2h0QXJyb3c7Y2FzZSJBcnJvd0Rvd24iOnJldHVybiBOZS5Eb3duQXJyb3c7Y2FzZSJJbnNlcnQiOnJldHVybiBOZS5JbnNlcnQ7Y2FzZSJEZWxldGUiOnJldHVybiBOZS5EZWxldGU7Y2FzZSJNZXRhIjpyZXR1cm4gTmUuTGVmdFdpbmRvd0tleTtjYXNlIkNvbnRleHRNZW51IjpyZXR1cm4gTmUuU2VsZWN0S2V5O2Nhc2UiTnVtTG9jayI6cmV0dXJuIE5lLk51bUxvY2s7Y2FzZSJTY3JvbGxMb2NrIjpyZXR1cm4gTmUuU2Nyb2xsTG9jaztkZWZhdWx0OnJldHVybiBudWxsfX1yZXNvbHZlS2V5RnJvbUtleUNvZGUoZSl7cmV0dXJuIHR5cGVvZiBlIT0ibnVtYmVyIj9udWxsOnR5cGVvZiBOZVtlXTwidSI/ZTpudWxsfWNyZWF0ZUtleWJvYXJkRXZlbnQoZSl7bGV0IHQ9ZVtlLmxlbmd0aC0xXT8/TmUuRW50ZXIscj10aGlzLmdldEtleURlc2NyaXB0b3IodCk7cmV0dXJuIG5ldyBLZXlib2FyZEV2ZW50KCJrZXlkb3duIix7a2V5OnIua2V5LGNvZGU6ci5jb2RlLGN0cmxLZXk6ZS5pbmNsdWRlcyhOZS5DdHJsKSxzaGlmdEtleTplLmluY2x1ZGVzKE5lLlNoaWZ0KSxhbHRLZXk6ZS5pbmNsdWRlcyhOZS5BbHQpLG1ldGFLZXk6ZS5pbmNsdWRlcyhOZS5MZWZ0V2luZG93S2V5KXx8ZS5pbmNsdWRlcyhOZS5SaWdodFdpbmRvd0tleSl9KX1nZXRLZXlEZXNjcmlwdG9yKGUpe3N3aXRjaChlKXtjYXNlIE5lLkN0cmw6cmV0dXJue2tleToiQ29udHJvbCIsY29kZToiQ29udHJvbExlZnQifTtjYXNlIE5lLlNoaWZ0OnJldHVybntrZXk6IlNoaWZ0Iixjb2RlOiJTaGlmdExlZnQifTtjYXNlIE5lLkFsdDpyZXR1cm57a2V5OiJBbHQiLGNvZGU6IkFsdExlZnQifTtjYXNlIE5lLkVudGVyOnJldHVybntrZXk6IkVudGVyIixjb2RlOiJFbnRlciJ9O2Nhc2UgTmUuU3BhY2U6cmV0dXJue2tleToiICIsY29kZToiU3BhY2UifTtkZWZhdWx0OntsZXQgdD1OZVtlXTtpZih0JiZ0Lmxlbmd0aD09PTEmJnQ+PSJBIiYmdDw9IloiKXJldHVybntrZXk6dC50b0xvd2VyQ2FzZSgpLGNvZGU6YEtleSR7dH1gfTtpZihlPj1OZS5aZXJvJiZlPD1OZS5OaW5lKXtsZXQgcj1TdHJpbmcoZS1OZS5aZXJvKTtyZXR1cm57a2V5OnIsY29kZTpgRGlnaXQke3J9YH19cmV0dXJue2tleTp0Pz8iVW5pZGVudGlmaWVkIixjb2RlOiJVbmlkZW50aWZpZWQifX19fX19KTt2YXIgX2ksVjg9ZigoKT0+e3E4KCk7UzZlKCk7RG10KCk7UkooKTtBbXQoKTtFbXQoKTtfaT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkRvbVRvb2xzIil9c3RhdGljIGluaXRpYWxpemF0aW9uUHJvbWlzZT1udWxsO3N0YXRpYyBhc3luYyBzZXR1cERvbVRvb2xzKGU9e30pe2lmKGUuaWdub3JlR2xvYmFsKXtsZXQgdD1uZXcgYShlKTtyZXR1cm4gYXdhaXQgdC5pbml0aWFsaXphdGlvblByb21pc2UsdH1pZihnbG9iYWxUaGlzLmRlZXNEb21Ub29scyYmIWdsb2JhbFRoaXMuZGVlc0RvbVRvb2xzLmRpc3Bvc2VkKXJldHVybiBhd2FpdCBnbG9iYWxUaGlzLmRlZXNEb21Ub29scy5pbml0aWFsaXphdGlvblByb21pc2UsZ2xvYmFsVGhpcy5kZWVzRG9tVG9vbHM7aWYoIWEuaW5pdGlhbGl6YXRpb25Qcm9taXNlKXtsZXQgdD1uZXcgYShlKTtnbG9iYWxUaGlzLmRlZXNEb21Ub29scz10LGEuaW5pdGlhbGl6YXRpb25Qcm9taXNlPXQuaW5pdGlhbGl6YXRpb25Qcm9taXNlLnRoZW4oKCk9PnQpLmNhdGNoKHI9Pnt0aHJvdyBnbG9iYWxUaGlzLmRlZXNEb21Ub29scz09PXQmJihnbG9iYWxUaGlzLmRlZXNEb21Ub29scz12b2lkIDApLGEuaW5pdGlhbGl6YXRpb25Qcm9taXNlPW51bGwscn0pfXJldHVybiBhd2FpdCBhLmluaXRpYWxpemF0aW9uUHJvbWlzZX1zdGF0aWMgZ2V0R2xvYmFsRG9tVG9vbHNTeW5jKCl7bGV0IGU9Z2xvYmFsVGhpcy5kZWVzRG9tVG9vbHM7aWYoIWV8fGUuZGlzcG9zZWQpdGhyb3cgbmV3IEVycm9yKCJZb3UgdHJpZWQgdG8gYWNjZXNzIGRvbXRvb2xzIHN5bmNocm9ub3VzbHkgdG9vIGVhcmx5Iik7cmV0dXJuIGV9ZWxlbWVudHM9e2hlYWRFbGVtZW50Om51bGwsYm9keUVsZW1lbnQ6bnVsbH07d2Vic2V0dXA9bmV3IHdiKHttZXRhT2JqZWN0Ont0aXRsZToiIn19KTtzbWFydHN0YXRlPW5ldyBjZC5TbWFydHN0YXRlO2RvbVRvb2xzU3RhdGVQYXJ0PXRoaXMuc21hcnRzdGF0ZS5nZXRTdGF0ZVBhcnQoImRvbXRvb2xzIix7dmlydHVhbFZpZXdwb3J0OiJuYXRpdmUiLGp3dDoiIn0pO3JvdXRlcj1uZXcgbGQuU21hcnRSb3V0ZXIoe2RlYnVnOiExfSk7Y29udmVuaWVuY2U9e3R5cGVkcmVxdWVzdDpNbyxzbWFydGRlbGF5OlB0LHNtYXJ0anNvbjpUcyxzbWFydHVybDp5MX07ZGVlc0NvbW1zPW5ldyBhZy5EZWVzQ29tbXM7c2Nyb2xsZXI9bmV3IEZKKHRoaXMpO3RoZW1lTWFuYWdlcj1uZXcgQkoodGhpcyk7a2V5Ym9hcmQ9bnVsbDtkaXNwb3NlZD0hMTtkb21Ub29sc1JlYWR5PWV0LmRlZmVyKCk7ZG9tUmVhZHk9ZXQuZGVmZXIoKTtnbG9iYWxTdHlsZXNSZWFkeT1ldC5kZWZlcigpO2luaXRpYWxpemF0aW9uUHJvbWlzZTttYW5hZ2VkRG9tTm9kZXM9W107cmVhZHlTdGF0ZUNoYW5nZWRGdW5jPXMoKCk9Pnt0aGlzLnRyeU1hcmtEb21SZWFkeSgpfSwicmVhZHlTdGF0ZUNoYW5nZWRGdW5jIik7Y29uc3RydWN0b3IoZSl7dGhpcy5pbml0aWFsaXphdGlvblByb21pc2U9dGhpcy5pbml0aWFsaXplKCl9cnVuT25jZVByb21pc2VNYXA9bmV3IE1hcDthc3luYyBpbml0aWFsaXplKCl7dGhpcy50cnlNYXJrRG9tUmVhZHkoKSx0aGlzLmRvbVJlYWR5LnN0YXR1cz09PSJwZW5kaW5nIiYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicmVhZHlzdGF0ZWNoYW5nZSIsdGhpcy5yZWFkeVN0YXRlQ2hhbmdlZEZ1bmMpLHRoaXMuZG9tVG9vbHNSZWFkeS5zdGF0dXM9PT0icGVuZGluZyImJnRoaXMuZG9tVG9vbHNSZWFkeS5yZXNvbHZlKCl9dHJ5TWFya0RvbVJlYWR5KCl7dGhpcy5kaXNwb3NlZHx8dGhpcy5kb21SZWFkeS5zdGF0dXMhPT0icGVuZGluZyJ8fGRvY3VtZW50LnJlYWR5U3RhdGUhPT0iaW50ZXJhY3RpdmUiJiZkb2N1bWVudC5yZWFkeVN0YXRlIT09ImNvbXBsZXRlInx8IWRvY3VtZW50LmhlYWR8fCFkb2N1bWVudC5ib2R5fHwodGhpcy5lbGVtZW50cy5oZWFkRWxlbWVudD1kb2N1bWVudC5oZWFkLHRoaXMuZWxlbWVudHMuYm9keUVsZW1lbnQ9ZG9jdW1lbnQuYm9keSx0aGlzLmtleWJvYXJkfHwodGhpcy5rZXlib2FyZD1uZXcgSEooZG9jdW1lbnQuYm9keSkpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlYWR5c3RhdGVjaGFuZ2UiLHRoaXMucmVhZHlTdGF0ZUNoYW5nZWRGdW5jKSx0aGlzLmRvbVJlYWR5LnJlc29sdmUoKSl9dHJhY2tNYW5hZ2VkRG9tTm9kZShlKXtyZXR1cm4gdGhpcy5tYW5hZ2VkRG9tTm9kZXMucHVzaChlKSxlfWdldEhlYWRPckJvZHlFbGVtZW50KCl7bGV0IGU9dGhpcy5lbGVtZW50cy5oZWFkRWxlbWVudHx8ZG9jdW1lbnQuaGVhZHx8dGhpcy5lbGVtZW50cy5ib2R5RWxlbWVudHx8ZG9jdW1lbnQuYm9keTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkRvbVRvb2xzIGNvdWxkIG5vdCBmaW5kIGEgRE9NIHRhcmdldCBlbGVtZW50IHRvIGF0dGFjaCByZXNvdXJjZXMgdG8iKTtyZXR1cm4gZX1hc3luYyBydW5PbmNlKGUsdCl7bGV0IHI9dGhpcy5ydW5PbmNlUHJvbWlzZU1hcC5nZXQoZSk7cmV0dXJuIHJ8fChyPVByb21pc2UucmVzb2x2ZSgpLnRoZW4oYXN5bmMoKT0+YXdhaXQgdCgpKSx0aGlzLnJ1bk9uY2VQcm9taXNlTWFwLnNldChlLHIpKSxhd2FpdCByfWFzeW5jIHNldEdsb2JhbFN0eWxlcyhlKXthd2FpdCB0aGlzLmRvbVJlYWR5LnByb21pc2U7bGV0IHQ9dGhpcy50cmFja01hbmFnZWREb21Ob2RlKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIikpO3QudHlwZT0idGV4dC9jc3MiLHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZSkpLHRoaXMuZ2V0SGVhZE9yQm9keUVsZW1lbnQoKS5hcHBlbmRDaGlsZCh0KX1hc3luYyBzZXRFeHRlcm5hbFNjcmlwdChlKXthd2FpdCB0aGlzLmRvbVJlYWR5LnByb21pc2U7bGV0IHQ9ZXQuZGVmZXIoKSxyPXRoaXMudHJhY2tNYW5hZ2VkRG9tTm9kZShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSk7ci5zcmM9ZSxyLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57dC5yZXNvbHZlKCl9KSxyLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e3QucmVqZWN0KG5ldyBFcnJvcihgRmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgc2NyaXB0OiAke2V9YCkpfSksdGhpcy5nZXRIZWFkT3JCb2R5RWxlbWVudCgpLmFwcGVuZChyKSxhd2FpdCB0LnByb21pc2V9YXN5bmMgc2V0RXh0ZXJuYWxDc3MoZSl7YXdhaXQgdGhpcy5kb21SZWFkeS5wcm9taXNlO2xldCB0PWV0LmRlZmVyKCkscj10aGlzLnRyYWNrTWFuYWdlZERvbU5vZGUoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpKTtyLnJlbD0ic3R5bGVzaGVldCIsci5jcm9zc09yaWdpbj0iYW5vbnltb3VzIixyLmhyZWY9ZSxyLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57dC5yZXNvbHZlKCl9KSxyLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e3QucmVqZWN0KG5ldyBFcnJvcihgRmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgc3R5bGVzaGVldDogJHtlfWApKX0pLHRoaXMuZ2V0SGVhZE9yQm9keUVsZW1lbnQoKS5hcHBlbmQociksYXdhaXQgdC5wcm9taXNlfWFzeW5jIHNldFdlYnNpdGVJbmZvKGUpe2F3YWl0IHRoaXMud2Vic2V0dXAuc2V0dXAoZSksYXdhaXQgdGhpcy53ZWJzZXR1cC5yZWFkeVByb21pc2V9ZGlzcG9zZSgpe2lmKCF0aGlzLmRpc3Bvc2VkKXt0aGlzLmRpc3Bvc2VkPSEwLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlYWR5c3RhdGVjaGFuZ2UiLHRoaXMucmVhZHlTdGF0ZUNoYW5nZWRGdW5jKSx0aGlzLmtleWJvYXJkPy5kaXNwb3NlKCksdGhpcy5rZXlib2FyZD1udWxsLHRoaXMuc2Nyb2xsZXIuZGlzcG9zZSgpLHRoaXMudGhlbWVNYW5hZ2VyLmRpc3Bvc2UoKTtmb3IobGV0IGUgb2YgdGhpcy5tYW5hZ2VkRG9tTm9kZXMpZS5yZW1vdmUoKTt0aGlzLm1hbmFnZWREb21Ob2Rlcy5sZW5ndGg9MCxnbG9iYWxUaGlzLmRlZXNEb21Ub29scz09PXRoaXMmJihnbG9iYWxUaGlzLmRlZXNEb21Ub29scz12b2lkIDAsYS5pbml0aWFsaXphdGlvblByb21pc2U9bnVsbCl9fX19KTt2YXIgcUosUG10LEltdD1mKCgpPT57VjgoKTtwbigpO3FKPSgoKT0+e2xldCBhPW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiTWFjIE9TIFgiKT09PS0xP1hgYC5jc3NUZXh0OiIiO3JldHVybiBYYAogICAgLyogd2lkdGggKi8KICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICB3aWR0aDogMHB4OwogICAgfQogICAgYm9keSB7CiAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsKICAgIH0KICBgLmNzc1RleHR9KSgpLFBtdD1YYAogIC8qCiAgQGZvbnQtZmFjZSB7CiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJzsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbWF0ZXJpYWxpY29ucy92NDIvZmxVaFJxNnR6WmNsUUVKLVZkZy1JdWlhRHNOY0loUTh0US53b2ZmMikKICAgICAgZm9ybWF0KCd3b2ZmMicpOwogIH0gKi8KCiAgLyogZ2xvYmFsIGJvZHkgc3R5bGVzICovCiAgYm9keSB7CiAgICBtYXJnaW46IDBweDsKICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsICdJbnRlcicsIHNhbnMtc2VyaWY7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIH0KCiAgLyogc2Nyb2xsIGJhciBzdHlsZXMgKi8KICAke29hKHFKKX0KYC5jc3NUZXh0fSk7dmFyIGFyPXt9O3J0KGFyLHtzZXR1cDooKT0+d0NhLHN0YXRpY1N0eWxlczooKT0+eENhLHN0eWxlczooKT0+eUNhfSk7dmFyIHhDYSx5Q2Esd0NhLE5tdD1mKCgpPT57VjgoKTtJbXQoKTtwbigpO3hDYT1YYAogICogewogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzLCBjb2xvciAwLjFzOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICB9CgogIDpob3N0IHsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCAnSW50ZXInLCBzYW5zLXNlcmlmOwogIH0KCiAgJHtvYShxSil9CmAseUNhPXdgCiAgPHN0eWxlPgogICAgKiB7CiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcywgY29sb3IgMC4xczsKICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIH0KCiAgICA6aG9zdCB7CiAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsICdJbnRlcicsIHNhbnMtc2VyaWY7CiAgICB9CgogICAgJHtxSn0KICA8L3N0eWxlPgpgLHdDYT1zKGFzeW5jKGEsZT17fSk9PntsZXQgdD1hd2FpdCBfaS5zZXR1cERvbVRvb2xzKGUpO3JldHVybiBhd2FpdCB0LnJ1bk9uY2UoImVsZW1lbnRCYXNpY1NldHVwIixhc3luYygpPT57YXdhaXQgdC5zZXRHbG9iYWxTdHlsZXMoUG10KX0pLHQuZ2xvYmFsU3R5bGVzUmVhZHkuc3RhdHVzPT09InBlbmRpbmciJiZ0Lmdsb2JhbFN0eWxlc1JlYWR5LnJlc29sdmUoKSxhd2FpdCB0Lmdsb2JhbFN0eWxlc1JlYWR5LnByb21pc2UsdH0sInNldHVwIil9KTt2YXIgVko9e307cnQoVkose2Nzc0dyaWRDb2x1bW5zOigpPT5NQ2F9KTt2YXIgTUNhLFJtdD1mKCgpPT57TUNhPXMoKGEsZSk9PntsZXQgdD0iIjtmb3IobGV0IHI9MDtyPGE7cisrKXQrPWAgY2FsYygoMTAwJS8ke2F9KSAtICgke2UqKGEtMSl9cHgvJHthfSkpYDtyZXR1cm4gdH0sImNzc0dyaWRDb2x1bW5zIil9KTt2YXIgSHQ9e307cnQoSHQse1N3ZWV0U2Nyb2xsOigpPT5IOC5kZWZhdWx0LHNtYXJ0ZGVsYXk6KCk9PlB0LHNtYXJ0bWFya2Rvd246KCk9Pm1iLHNtYXJ0cHJvbWlzZTooKT0+ZXQsc21hcnRyb3V0ZXI6KCk9PmxkLHNtYXJ0cng6KCk9PkNhLHNtYXJ0c3RhdGU6KCk9PmNkLHNtYXJ0c3RyaW5nOigpPT5scyxzbWFydHVybDooKT0+eTEsdHlwZWRyZXF1ZXN0OigpPT5Nb30pO3ZhciBPbXQ9ZigoKT0+e3E4KCl9KTt2YXIgRXQ9e307cnQoRXQse0RvbVRvb2xzOigpPT5faSxUeXBlZFJlcXVlc3Q6KCk9Pko5LGJyZWFrcG9pbnRzOigpPT5rcixjc3M6KCk9PlZKLGVsZW1lbnRCYXNpYzooKT0+YXIscGx1Z2luczooKT0+SHR9KTt2YXIgZWE9ZigoKT0+e3pzdCgpO05tdCgpO1M2ZSgpO1JtdCgpO1Y4KCk7Q1goKTtSSigpO09tdCgpfSk7dmFyIHo2ZSxlNCxDNmU9ZigoKT0+e3o2ZT1CaShVNygpLDEpO20yKCk7cG4oKTtTc3QoKTtlYSgpO2U0PXtjc3M6WCx1bnNhZmVDU1M6b2EsTGl0RWxlbWVudDp5bCxwcm9wZXJ0eTokfX0pO3ZhciBqSixCbXQ9ZigoKT0+e3BuKCk7QzZlKCk7ZWEoKTtqSj1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkNzc01hbmFnZXIiKX1zdGF0aWMgaW5zdGFuY2U9bnVsbDtzdGF0aWMgZ2V0U2luZ2xldG9uKCl7cmV0dXJuIGEuaW5zdGFuY2V8fChhLmluc3RhbmNlPW5ldyBhKSxhLmluc3RhbmNlfWRvbXRvb2xzUHJvbWlzZT1faS5zZXR1cERvbVRvb2xzKCk7Z29CcmlnaHQ9ITE7YmRWYXJUcmlwbGV0U3RvcmU9W107Y29uc3RydWN0b3IoKXt0aGlzLmRvbXRvb2xzUHJvbWlzZS50aGVuKGFzeW5jIGU9PntlLnRoZW1lTWFuYWdlci50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKGFzeW5jIHQ9Pnt0aGlzLmdvQnJpZ2h0PXQsYXdhaXQgZS5kb21SZWFkeS5wcm9taXNlO2ZvcihsZXQgciBvZiB0aGlzLmJkVmFyVHJpcGxldFN0b3JlKWRvY3VtZW50LmJvZHkuc3R5bGUuc2V0UHJvcGVydHkoci5jc3NWYXJOYW1lLHRoaXMuZ29CcmlnaHQ/ci5icmlnaHRWYWx1ZTpyLmRhcmtWYWx1ZSl9KX0pfWdldCBkZWZhdWx0U3R5bGVzKCl7cmV0dXJuIGFyLnN0YXRpY1N0eWxlc31nZXRDb250YWluZXJOYW1lRnJvbUNsYXNzKGUpe3JldHVybiBlLmlzfHxlLm5hbWUucmVwbGFjZSgvKFthLXpdKShbQS1aXSkvZywiJDEtJDIiKS50b0xvd2VyQ2FzZSgpfWNzc0ZvckRlc2t0b3AoZSx0KXtyZXR1cm4gdD9vYShrci5jc3NGb3JDb250YWluZXIoZSxgKG1pbi13aWR0aDogJHtrci5kZXNrdG9wfXB4KWAsdGhpcy5nZXRDb250YWluZXJOYW1lRnJvbUNsYXNzKHQpKSk6b2Eoa3IuY3NzRm9yRGVza3RvcChlKSl9Y3NzRm9yTm90ZWJvb2soZSx0KXtyZXR1cm4gdD9vYShrci5jc3NGb3JDb250YWluZXIoZSxgKG1heC13aWR0aDogJHtrci5ub3RlYm9va31weClgLHRoaXMuZ2V0Q29udGFpbmVyTmFtZUZyb21DbGFzcyh0KSkpOm9hKGtyLmNzc0Zvck5vdGVib29rKGUpKX1jc3NGb3JUYWJsZXQoZSx0KXtyZXR1cm4gdD9vYShrci5jc3NGb3JDb250YWluZXIoZSxgKG1heC13aWR0aDogJHtrci50YWJsZXR9cHgpYCx0aGlzLmdldENvbnRhaW5lck5hbWVGcm9tQ2xhc3ModCkpKTpvYShrci5jc3NGb3JUYWJsZXQoZSkpfWNzc0ZvclBoYWJsZXQoZSx0KXtyZXR1cm4gdD9vYShrci5jc3NGb3JDb250YWluZXIoZSxgKG1heC13aWR0aDogJHtrci5waGFibGV0fXB4KWAsdGhpcy5nZXRDb250YWluZXJOYW1lRnJvbUNsYXNzKHQpKSk6b2Eoa3IuY3NzRm9yUGhhYmxldChlKSl9Y3NzRm9yUGhvbmUoZSx0KXtyZXR1cm4gdD9vYShrci5jc3NGb3JDb250YWluZXIoZSxgKG1heC13aWR0aDogJHtrci5waG9uZX1weClgLHRoaXMuZ2V0Q29udGFpbmVyTmFtZUZyb21DbGFzcyh0KSkpOm9hKGtyLmNzc0ZvclBob25lKGUpKX1jc3NGb3JDb25zdHJhaW50KGUpe3JldHVybiB0PT5vYShrci5jc3NGb3JDb25zdHJhaW50KGUpKHQpKX1iZFRoZW1lKGUsdCl7bGV0IHIsaTtfaS5nZXRHbG9iYWxEb21Ub29sc1N5bmMoKT9pPV9pLmdldEdsb2JhbERvbVRvb2xzU3luYygpLnRoZW1lTWFuYWdlci5nb0JyaWdodEJvb2xlYW4/ZTp0Omk9dDtsZXQgbz10aGlzLmJkVmFyVHJpcGxldFN0b3JlLmZpbmQobj0+bi5kYXJrVmFsdWU9PT10JiZuLmJyaWdodFZhbHVlPT09ZSk7aWYobylyPW8uY3NzVmFyTmFtZTtlbHNle2xldCBuPXtjc3NWYXJOYW1lOmAtLSR7ejZlLnVuaSgpfWAsYnJpZ2h0VmFsdWU6ZSxkYXJrVmFsdWU6dH07dGhpcy5iZFZhclRyaXBsZXRTdG9yZS5wdXNoKG4pLHRoaXMuZG9tdG9vbHNQcm9taXNlLnRoZW4oYXN5bmMgbD0+e2F3YWl0IGwuZG9tUmVhZHkucHJvbWlzZSxkb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KG4uY3NzVmFyTmFtZSxpKX0pLHI9bi5jc3NWYXJOYW1lfXJldHVybiBlNC51bnNhZmVDU1MoYHZhcigke3J9LCAke2l9KWApfWNzc0dyaWRDb2x1bW5zPXMoKGUsdCk9PntsZXQgcj0iIjtmb3IobGV0IGk9MDtpPGU7aSsrKXIrPWAgY2FsYygoMTAwJS8ke2V9KSAtICgke3QqKGUtMSl9cHgvJHtlfSkpYDtyZXR1cm4gZTQudW5zYWZlQ1NTKHIpfSwiY3NzR3JpZENvbHVtbnMiKX19KTt2YXIgXzZlLGtDYSxUNmUsU0NhLEhtdCxVSixYbCx6Q2EsQ0NhLHFtdD1mKCgpPT57Sm4oKTtfNmU9U3ltYm9sLmZvcigiIiksa0NhPXMoYT0+e2lmKGE/LnI9PT1fNmUpcmV0dXJuIGE/Ll8kbGl0U3RhdGljJH0sIm8iKSxUNmU9cyhhPT4oe18kbGl0U3RhdGljJDphLHI6XzZlfSksInMiKSxTQ2E9cygoYSwuLi5lKT0+KHtfJGxpdFN0YXRpYyQ6ZS5yZWR1Y2UoKHQscixpKT0+dCsobz0+e2lmKG8uXyRsaXRTdGF0aWMkIT09dm9pZCAwKXJldHVybiBvLl8kbGl0U3RhdGljJDt0aHJvdyBFcnJvcihgVmFsdWUgcGFzc2VkIHRvICdsaXRlcmFsJyBmdW5jdGlvbiBtdXN0IGJlIGEgJ2xpdGVyYWwnIHJlc3VsdDogJHtvfS4gVXNlICd1bnNhZmVTdGF0aWMnIHRvIHBhc3Mgbm9uLWxpdGVyYWwgdmFsdWVzLCBidXQKICAgICAgICAgICAgdGFrZSBjYXJlIHRvIGVuc3VyZSBwYWdlIHNlY3VyaXR5LmApfSkocikrYVtpKzFdLGFbMF0pLHI6XzZlfSksImkiKSxIbXQ9bmV3IE1hcCxVSj1zKGE9PihlLC4uLnQpPT57bGV0IHI9dC5sZW5ndGgsaSxvLG49W10sbD1bXSxkLGM9MCxwPSExO2Zvcig7YzxyOyl7Zm9yKGQ9ZVtjXTtjPHImJihvPXRbY10sKGk9a0NhKG8pKSE9PXZvaWQgMCk7KWQrPWkrZVsrK2NdLHA9ITA7YyE9PXImJmwucHVzaChvKSxuLnB1c2goZCksYysrfWlmKGM9PT1yJiZuLnB1c2goZVtyXSkscCl7bGV0IHU9bi5qb2luKCIkJGxpdCQkIik7KGU9SG10LmdldCh1KSk9PT12b2lkIDAmJihuLnJhdz1uLEhtdC5zZXQodSxlPW4pKSx0PWx9cmV0dXJuIGEoZSwuLi50KX0sIm4iKSxYbD1VSih3KSx6Q2E9VUoob29lKSxDQ2E9VUoobm9lKX0pO3ZhciBWbXQ9ZigoKT0+e3FtdCgpfSk7dmFyIHEyLHBzLExuLFFsPWYoKCk9PntxMj17QVRUUklCVVRFOjEsQ0hJTEQ6MixQUk9QRVJUWTozLEJPT0xFQU5fQVRUUklCVVRFOjQsRVZFTlQ6NSxFTEVNRU5UOjZ9LHBzPXMoYT0+KC4uLmUpPT4oe18kbGl0RGlyZWN0aXZlJDphLHZhbHVlczplfSksImUiKSxMbj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJpIil9Y29uc3RydWN0b3IoZSl7fWdldCBfJEFVKCl7cmV0dXJuIHRoaXMuXyRBTS5fJEFVfV8kQVQoZSx0LHIpe3RoaXMuXyRDdD1lLHRoaXMuXyRBTT10LHRoaXMuXyRDaT1yfV8kQVMoZSx0KXtyZXR1cm4gdGhpcy51cGRhdGUoZSx0KX11cGRhdGUoZSx0KXtyZXR1cm4gdGhpcy5yZW5kZXIoLi4udCl9fX0pO3ZhciBqOCxrYixqbXQ9ZigoKT0+e0puKCk7UWwoKTtqOD1jbGFzcyBleHRlbmRzIExue3N0YXRpY3tzKHRoaXMsImUiKX1jb25zdHJ1Y3RvcihlKXtpZihzdXBlcihlKSx0aGlzLml0PXhyLGUudHlwZSE9PXEyLkNISUxEKXRocm93IEVycm9yKHRoaXMuY29uc3RydWN0b3IuZGlyZWN0aXZlTmFtZSsiKCkgY2FuIG9ubHkgYmUgdXNlZCBpbiBjaGlsZCBiaW5kaW5ncyIpfXJlbmRlcihlKXtpZihlPT09eHJ8fGU9PW51bGwpcmV0dXJuIHRoaXMuX3Q9dm9pZCAwLHRoaXMuaXQ9ZTtpZihlPT09Y3IpcmV0dXJuIGU7aWYodHlwZW9mIGUhPSJzdHJpbmciKXRocm93IEVycm9yKHRoaXMuY29uc3RydWN0b3IuZGlyZWN0aXZlTmFtZSsiKCkgY2FsbGVkIHdpdGggYSBub24tc3RyaW5nIHZhbHVlIik7aWYoZT09PXRoaXMuaXQpcmV0dXJuIHRoaXMuX3Q7dGhpcy5pdD1lO2xldCB0PVtlXTtyZXR1cm4gdC5yYXc9dCx0aGlzLl90PXtfJGxpdFR5cGUkOnRoaXMuY29uc3RydWN0b3IucmVzdWx0VHlwZSxzdHJpbmdzOnQsdmFsdWVzOltdfX19O2o4LmRpcmVjdGl2ZU5hbWU9InVuc2FmZUhUTUwiLGo4LnJlc3VsdFR5cGU9MTtrYj1wcyhqOCl9KTt2YXIgVW10PWYoKCk9PntqbXQoKX0pO3ZhciBMNmUsJDZlPWYoKCk9PntMNmU9cyhhPT4oZSx0KT0+e3QhPT12b2lkIDA/dC5hZGRJbml0aWFsaXplcigoKT0+e2N1c3RvbUVsZW1lbnRzLmRlZmluZShhLGUpfSk6Y3VzdG9tRWxlbWVudHMuZGVmaW5lKGEsZSl9LCJ0Iil9KTt2YXIgV210PWYoKCk9PnskNmUoKX0pO2Z1bmN0aW9uIGllKGEpe3JldHVybihlLHQpPT57aWYoZS5pcz1hLGUubmFtZSl7bGV0IHI9X0NhKGUubmFtZSk7ciE9PWEmJmNvbnNvbGUud2FybihgW2RlZXMtZWxlbWVudF0gQ2xhc3MgIiR7ZS5uYW1lfSIga2ViYWItY2FzZXMgdG8gIiR7cn0iIGJ1dCB0YWcgaXMgIiR7YX0iLiBDb250YWluZXIgcXVlcmllcyB1c2UgLmlzICgiJHthfSIpLmApfXJldHVybiBMNmUoYSkoZSx0KX19dmFyIF9DYSxHbXQ9ZigoKT0+e1dtdCgpO19DYT1zKGE9PmEucmVwbGFjZSgvKFthLXpdKShbQS1aXSkvZywiJDEtJDIiKS50b0xvd2VyQ2FzZSgpLCJjYW1lbFRvS2ViYWIiKTtzKGllLCJjdXN0b21FbGVtZW50Iil9KTtmdW5jdGlvbiBLKGEpe3JldHVybiAkKHsuLi5hLHN0YXRlOiEwLGF0dHJpYnV0ZTohMX0pfXZhciBZbXQ9ZigoKT0+e0dZKCk7cyhLLCJyIil9KTtmdW5jdGlvbiBUQ2EoYSl7cmV0dXJuKGUsdCk9PntsZXQgcj10eXBlb2YgZT09ImZ1bmN0aW9uIj9lOmVbdF07T2JqZWN0LmFzc2lnbihyLGEpfX12YXIgS210PWYoKCk9PntzKFRDYSwidCIpfSk7dmFyICRuLFU4PWYoKCk9Pnskbj1zKChhLGUsdCk9Pih0LmNvbmZpZ3VyYWJsZT0hMCx0LmVudW1lcmFibGU9ITAsUmVmbGVjdC5kZWNvcmF0ZSYmdHlwZW9mIGUhPSJvYmplY3QiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxlLHQpLHQpLCJlIil9KTtmdW5jdGlvbiBENmUoYSxlKXtyZXR1cm4odCxyLGkpPT57bGV0IG89cyhuPT5uLnJlbmRlclJvb3Q/LnF1ZXJ5U2VsZWN0b3IoYSk/P251bGwsIm8iKTtpZihlKXtsZXR7Z2V0Om4sc2V0Omx9PXR5cGVvZiByPT0ib2JqZWN0Ij90Omk/PygoKT0+e2xldCBkPVN5bWJvbCgpO3JldHVybntnZXQoKXtyZXR1cm4gdGhpc1tkXX0sc2V0KGMpe3RoaXNbZF09Y319fSkoKTtyZXR1cm4gJG4odCxyLHtnZXQoKXtsZXQgZD1uLmNhbGwodGhpcyk7cmV0dXJuIGQ9PT12b2lkIDAmJihkPW8odGhpcyksKGQhPT1udWxsfHx0aGlzLmhhc1VwZGF0ZWQpJiZsLmNhbGwodGhpcyxkKSksZH19KX1yZXR1cm4gJG4odCxyLHtnZXQoKXtyZXR1cm4gbyh0aGlzKX19KX19dmFyIFptdD1mKCgpPT57VTgoKTtzKEQ2ZSwiZSIpfSk7ZnVuY3Rpb24gQTZlKGEpe3JldHVybihlLHQpPT4kbihlLHQse2dldCgpe3JldHVybih0aGlzLnJlbmRlclJvb3Q/PyhMQ2E/Pz1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkpKS5xdWVyeVNlbGVjdG9yQWxsKGEpfX0pfXZhciBMQ2EsWG10PWYoKCk9PntVOCgpO3MoQTZlLCJyIil9KTtmdW5jdGlvbiBFNmUoYSl7cmV0dXJuKGUsdCk9PiRuKGUsdCx7YXN5bmMgZ2V0KCl7cmV0dXJuIGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5yZW5kZXJSb290Py5xdWVyeVNlbGVjdG9yKGEpPz9udWxsfX0pfXZhciBRbXQ9ZigoKT0+e1U4KCk7cyhFNmUsInIiKX0pO2Z1bmN0aW9uICRDYShhKXtyZXR1cm4oZSx0KT0+e2xldHtzbG90OnIsc2VsZWN0b3I6aX09YT8/e30sbz0ic2xvdCIrKHI/YFtuYW1lPSR7cn1dYDoiOm5vdChbbmFtZV0pIik7cmV0dXJuICRuKGUsdCx7Z2V0KCl7bGV0IG49dGhpcy5yZW5kZXJSb290Py5xdWVyeVNlbGVjdG9yKG8pLGw9bj8uYXNzaWduZWRFbGVtZW50cyhhKT8/W107cmV0dXJuIGk9PT12b2lkIDA/bDpsLmZpbHRlcihkPT5kLm1hdGNoZXMoaSkpfX0pfX12YXIgSm10PWYoKCk9PntVOCgpO3MoJENhLCJvIil9KTtmdW5jdGlvbiBEQ2EoYSl7cmV0dXJuKGUsdCk9PntsZXR7c2xvdDpyfT1hPz97fSxpPSJzbG90Iisocj9gW25hbWU9JHtyfV1gOiI6bm90KFtuYW1lXSkiKTtyZXR1cm4gJG4oZSx0LHtnZXQoKXtyZXR1cm4gdGhpcy5yZW5kZXJSb290Py5xdWVyeVNlbGVjdG9yKGkpPy5hc3NpZ25lZE5vZGVzKGEpPz9bXX19KX19dmFyIGU3dD1mKCgpPT57VTgoKTtzKERDYSwibiIpfSk7dmFyIHQ3dD1mKCgpPT57JDZlKCk7R1koKTtZbXQoKTtLbXQoKTtabXQoKTtYbXQoKTtRbXQoKTtKbXQoKTtlN3QoKX0pO3ZhciBhN3QsV0oscGUscjd0PWYoKCk9PntDNmUoKTtwbigpO2E3dD1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sV0o9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHBlPSgoKT0+e2xldCBhPWU0LkxpdEVsZW1lbnQsZSx0PVtdLHI9W10saSxvPVtdLG49W107cmV0dXJuIGNsYXNzIGV4dGVuZHMgYXtzdGF0aWN7cyh0aGlzLCJEZWVzRWxlbWVudCIpfXN0YXRpY3tsZXQgZD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShhW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtlPVtlNC5wcm9wZXJ0eSh7dHlwZTpCb29sZWFufSldLGk9W2U0LnByb3BlcnR5KCldLGE3dCh0aGlzLG51bGwsZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImdvQnJpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGM9PiJnb0JyaWdodCJpbiBjLCJoYXMiKSxnZXQ6cyhjPT5jLmdvQnJpZ2h0LCJnZXQiKSxzZXQ6cygoYyxwKT0+e2MuZ29CcmlnaHQ9cH0sInNldCIpfSxtZXRhZGF0YTpkfSx0LHIpLGE3dCh0aGlzLG51bGwsaSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRvbXRvb2xzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGM9PiJkb210b29scyJpbiBjLCJoYXMiKSxnZXQ6cyhjPT5jLmRvbXRvb2xzLCJnZXQiKSxzZXQ6cygoYyxwKT0+e2MuZG9tdG9vbHM9cH0sInNldCIpfSxtZXRhZGF0YTpkfSxvLG4pLGQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZH0pfXN0YXRpYyBnZXRDb250YWluZXJOYW1lKCl7cmV0dXJuIHRoaXMuaXN8fHRoaXMubmFtZS5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCl9c3RhdGljIGNzc0ZvckNvbnN0cmFpbnQoZCl7cmV0dXJuIGM9PkV0LmJyZWFrcG9pbnRzLmNzc0ZvckNvbnN0cmFpbnRDb250YWluZXIoZCx0aGlzLmdldENvbnRhaW5lck5hbWUoKSkoYyl9I2U9V0oodGhpcyx0LCExKTtnZXQgZ29CcmlnaHQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZ29CcmlnaHQoZCl7dGhpcy4jZT1kfWRvbXRvb2xzUHJvbWlzZT1XSih0aGlzLHIpOyN0PVdKKHRoaXMsbyx2b2lkIDApO2dldCBkb210b29scygpe3JldHVybiB0aGlzLiN0fXNldCBkb210b29scyhkKXt0aGlzLiN0PWR9cnhTdWJzY3JpcHRpb25zPShXSih0aGlzLG4pLFtdKTt0aGVtZVN1YnNjcmlwdGlvbjtlbGVtZW50RG9tUmVhZHlEZWZlcnJlZD1FdC5wbHVnaW5zLnNtYXJ0cHJvbWlzZS5kZWZlcigpO2VsZW1lbnREb21SZWFkeT10aGlzLmVsZW1lbnREb21SZWFkeURlZmVycmVkLnByb21pc2U7Y29uc3RydWN0b3IoZD17fSl7c3VwZXIoKSx0aGlzLmRvbXRvb2xzUHJvbWlzZT1FdC5lbGVtZW50QmFzaWMuc2V0dXAodGhpcyxkKSx0aGlzLmRvbXRvb2xzUHJvbWlzZS50aGVuKGM9Pnt0aGlzLmRvbXRvb2xzPWN9KX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7bGV0IGQ9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2U7dGhpcy50aGVtZVN1YnNjcmlwdGlvbj1kLnRoZW1lTWFuYWdlci50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKGM9Pnt0aGlzLmdvQnJpZ2h0PWMsdGhpcy50aGVtZUNoYW5nZWQmJnRoaXMudGhlbWVDaGFuZ2VkKGMpfSksdGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnRoZW1lU3Vic2NyaXB0aW9uKTtmb3IobGV0IGMgb2YgdGhpcy5zdGFydHVwRnVuY3Rpb25zKWF3YWl0IGMoKTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWVzRWxlbWVudENvbm5lY3RlZCIpKX1maXJzdFVwZGF0ZWQoZCl7c3VwZXIuZmlyc3RVcGRhdGVkKGQpLHRoaXMuZWxlbWVudERvbVJlYWR5RGVmZXJyZWQucmVzb2x2ZSgpfXN0YXJ0dXBGdW5jdGlvbnM9W107cmVnaXN0ZXJTdGFydHVwRnVuY3Rpb24oZCl7dGhpcy5zdGFydHVwRnVuY3Rpb25zLnB1c2goZCl9Z2FyYmFnZUZ1bmN0aW9ucz1bXTtyZWdpc3RlckdhcmJhZ2VGdW5jdGlvbihkKXt0aGlzLmdhcmJhZ2VGdW5jdGlvbnMucHVzaChkKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7Zm9yKGxldCBkIG9mIHRoaXMucnhTdWJzY3JpcHRpb25zKWQudW5zdWJzY3JpYmUoKTtmb3IobGV0IGQgb2YgdGhpcy5nYXJiYWdlRnVuY3Rpb25zKWF3YWl0IGQoKTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWVzRWxlbWVudERpc2Nvbm5lY3RlZCIpKX19fSkoKX0pO2Z1bmN0aW9uIEdKKCl7cmV0dXJuIGZ1bmN0aW9uKGEpe2xldCBlPWEuaXN8fGEubmFtZS5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCksdD1hLm5hbWU/QUNhKGEubmFtZSk6bnVsbDtpZih0JiZ0IT09ZSl7bGV0IG89cyhsPT5sJiZsLmNzc1RleHQmJmwuY3NzVGV4dC5pbmNsdWRlcyhgQGNvbnRhaW5lciAke3R9YCk/b2EobC5jc3NUZXh0LnJlcGxhY2VBbGwoYEBjb250YWluZXIgJHt0fWAsYEBjb250YWluZXIgJHtlfWApKTpsLCJmaXhTdHlsZSIpLG49YS5zdHlsZXM7QXJyYXkuaXNBcnJheShuKT9hLnN0eWxlcz1uLm1hcChvKTpuJiYoYS5zdHlsZXM9byhuKSl9bGV0IHI9a3IuY29udGFpbmVyQ29udGV4dFN0eWxlcyhlKSxpPWEuc3R5bGVzO3JldHVybiBBcnJheS5pc0FycmF5KGkpP2Euc3R5bGVzPVsuLi5pLHJdOmk/YS5zdHlsZXM9W2kscl06YS5zdHlsZXM9W3JdLGF9fXZhciBBQ2Esczd0PWYoKCk9PntwbigpO2VhKCk7QUNhPXMoYT0+YS5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCksImNhbWVsVG9LZWJhYiIpO3MoR0osImNvbnRhaW5lclJlc3BvbnNpdmUiKX0pO3ZhciBFQ2EsaTd0LFA2ZSxQQ2EsSUNhLE5DYSxSQ2EsT0NhLEk2ZSxvN3QsSmwsdzEsRkNhLFNiLE42ZSx6YixSNmUsVzg9ZigoKT0+e0puKCk7KHtJOkVDYX09bG9lKSxpN3Q9cyhhPT5hLCJpIiksUDZlPXMoYT0+YT09PW51bGx8fHR5cGVvZiBhIT0ib2JqZWN0IiYmdHlwZW9mIGEhPSJmdW5jdGlvbiIsIm4iKSxQQ2E9e0hUTUw6MSxTVkc6MixNQVRITUw6M30sSUNhPXMoKGEsZSk9PmU9PT12b2lkIDA/YT8uXyRsaXRUeXBlJCE9PXZvaWQgMDphPy5fJGxpdFR5cGUkPT09ZSwibCIpLE5DYT1zKGE9PmE/Ll8kbGl0VHlwZSQ/LmghPW51bGwsImQiKSxSQ2E9cyhhPT5hPy5fJGxpdERpcmVjdGl2ZSQhPT12b2lkIDAsImMiKSxPQ2E9cyhhPT5hPy5fJGxpdERpcmVjdGl2ZSQsImYiKSxJNmU9cyhhPT5hLnN0cmluZ3M9PT12b2lkIDAsInIiKSxvN3Q9cygoKT0+ZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiIiksInMiKSxKbD1zKChhLGUsdCk9PntsZXQgcj1hLl8kQUEucGFyZW50Tm9kZSxpPWU9PT12b2lkIDA/YS5fJEFCOmUuXyRBQTtpZih0PT09dm9pZCAwKXtsZXQgbz1yLmluc2VydEJlZm9yZShvN3QoKSxpKSxuPXIuaW5zZXJ0QmVmb3JlKG83dCgpLGkpO3Q9bmV3IEVDYShvLG4sYSxhLm9wdGlvbnMpfWVsc2V7bGV0IG89dC5fJEFCLm5leHRTaWJsaW5nLG49dC5fJEFNLGw9biE9PWE7aWYobCl7bGV0IGQ7dC5fJEFRPy4oYSksdC5fJEFNPWEsdC5fJEFQIT09dm9pZCAwJiYoZD1hLl8kQVUpIT09bi5fJEFVJiZ0Ll8kQVAoZCl9aWYobyE9PWl8fGwpe2xldCBkPXQuXyRBQTtmb3IoO2QhPT1vOyl7bGV0IGM9aTd0KGQpLm5leHRTaWJsaW5nO2k3dChyKS5pbnNlcnRCZWZvcmUoZCxpKSxkPWN9fX1yZXR1cm4gdH0sInYiKSx3MT1zKChhLGUsdD1hKT0+KGEuXyRBSShlLHQpLGEpLCJ1IiksRkNhPXt9LFNiPXMoKGEsZT1GQ2EpPT5hLl8kQUg9ZSwicCIpLE42ZT1zKGE9PmEuXyRBSCwiTSIpLHpiPXMoYT0+e2EuXyRBUigpLGEuXyRBQS5yZW1vdmUoKX0sImgiKSxSNmU9cyhhPT57YS5fJEFSKCl9LCJqIil9KTtmdW5jdGlvbiBCQ2EoYSl7dGhpcy5fJEFOIT09dm9pZCAwPyhZSih0aGlzKSx0aGlzLl8kQU09YSxuN3QodGhpcykpOnRoaXMuXyRBTT1hfWZ1bmN0aW9uIEhDYShhLGU9ITEsdD0wKXtsZXQgcj10aGlzLl8kQUgsaT10aGlzLl8kQU47aWYoaSE9PXZvaWQgMCYmaS5zaXplIT09MClpZihlKWlmKEFycmF5LmlzQXJyYXkocikpZm9yKGxldCBvPXQ7bzxyLmxlbmd0aDtvKyspQ2IocltvXSwhMSksWUoocltvXSk7ZWxzZSByIT1udWxsJiYoQ2IociwhMSksWUoocikpO2Vsc2UgQ2IodGhpcyxhKX12YXIgQ2IsWUosbjd0LHFDYSxLbyxLSj1mKCgpPT57VzgoKTtRbCgpO1FsKCk7Q2I9cygoYSxlKT0+e2xldCB0PWEuXyRBTjtpZih0PT09dm9pZCAwKXJldHVybiExO2ZvcihsZXQgciBvZiB0KXIuXyRBTz8uKGUsITEpLENiKHIsZSk7cmV0dXJuITB9LCJzIiksWUo9cyhhPT57bGV0IGUsdDtkb3tpZigoZT1hLl8kQU0pPT09dm9pZCAwKWJyZWFrO3Q9ZS5fJEFOLHQuZGVsZXRlKGEpLGE9ZX13aGlsZSh0Py5zaXplPT09MCl9LCJvIiksbjd0PXMoYT0+e2ZvcihsZXQgZTtlPWEuXyRBTTthPWUpe2xldCB0PWUuXyRBTjtpZih0PT09dm9pZCAwKWUuXyRBTj10PW5ldyBTZXQ7ZWxzZSBpZih0LmhhcyhhKSlicmVhazt0LmFkZChhKSxxQ2EoZSl9fSwiciIpO3MoQkNhLCJoIik7cyhIQ2EsIm4iKTtxQ2E9cyhhPT57YS50eXBlPT1xMi5DSElMRCYmKGEuXyRBUD8/PUhDYSxhLl8kQVE/Pz1CQ2EpfSwiYyIpLEtvPWNsYXNzIGV4dGVuZHMgTG57c3RhdGlje3ModGhpcywiZiIpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl8kQU49dm9pZCAwfV8kQVQoZSx0LHIpe3N1cGVyLl8kQVQoZSx0LHIpLG43dCh0aGlzKSx0aGlzLmlzQ29ubmVjdGVkPWUuXyRBVX1fJEFPKGUsdD0hMCl7ZSE9PXRoaXMuaXNDb25uZWN0ZWQmJih0aGlzLmlzQ29ubmVjdGVkPWUsZT90aGlzLnJlY29ubmVjdGVkPy4oKTp0aGlzLmRpc2Nvbm5lY3RlZD8uKCkpLHQmJihDYih0aGlzLGUpLFlKKHRoaXMpKX1zZXRWYWx1ZShlKXtpZihJNmUodGhpcy5fJEN0KSl0aGlzLl8kQ3QuXyRBSShlLHRoaXMpO2Vsc2V7bGV0IHQ9Wy4uLnRoaXMuXyRDdC5fJEFIXTt0W3RoaXMuXyRDaV09ZSx0aGlzLl8kQ3QuXyRBSSh0LHRoaXMsMCl9fWRpc2Nvbm5lY3RlZCgpe31yZWNvbm5lY3RlZCgpe319fSk7dmFyIFpKPWYoKCk9PntLSigpfSk7dmFyIE82ZSxsN3QsVkNhLGM3dD1mKCgpPT57cG4oKTtaSigpO082ZT1jbGFzcyBleHRlbmRzIEtve3N0YXRpY3tzKHRoaXMsIlJlc29sdmVEaXJlY3RpdmUiKX1wcm9taXNlO2hhc1Byb21pc2VTZXR0bGVkPSExO3JlbmRlcihlKXtyZXR1cm4gdGhpcy5wcm9taXNlIT09ZSYmKHRoaXMucHJvbWlzZT1lLHRoaXMuaXNDb25uZWN0ZWQmJnRoaXMuaGFuZGxlUHJvbWlzZShlKSksY3J9aGFuZGxlUHJvbWlzZShlKXt0aGlzLmhhc1Byb21pc2VTZXR0bGVkPSExLGUudGhlbih0PT57dGhpcy5wcm9taXNlPT09ZSYmIXRoaXMuaGFzUHJvbWlzZVNldHRsZWQmJih0aGlzLnNldFZhbHVlKHQpLHRoaXMuaGFzUHJvbWlzZVNldHRsZWQ9ITApfSkuY2F0Y2godD0+e3RoaXMucHJvbWlzZT09PWUmJiF0aGlzLmhhc1Byb21pc2VTZXR0bGVkJiYodGhpcy5zZXRWYWx1ZSh0KSx0aGlzLmhhc1Byb21pc2VTZXR0bGVkPSEwKX0pfWRpc2Nvbm5lY3RlZCgpe3RoaXMuaGFzUHJvbWlzZVNldHRsZWQ9ITB9cmVjb25uZWN0ZWQoKXt0aGlzLmhhc1Byb21pc2VTZXR0bGVkfHx0aGlzLmhhbmRsZVByb21pc2UodGhpcy5wcm9taXNlKX19LGw3dD1wcyhPNmUpLFZDYT1zKGE9Pmw3dChhKCkpLCJyZXNvbHZlRXhlYyIpfSk7dmFyIEY2ZSxqQ2EsZDd0PWYoKCk9PntwbigpO1pKKCk7bTIoKTtGNmU9Y2xhc3MgZXh0ZW5kcyBLb3tzdGF0aWN7cyh0aGlzLCJTdWJzY3JpYmVEaXJlY3RpdmUiKX1vYnNlcnZhYmxlO3N1Yj1udWxsO3JlbmRlcihlKXtyZXR1cm4gdGhpcy5vYnNlcnZhYmxlIT09ZSYmKHRoaXMuc3ViPy51bnN1YnNjcmliZSgpLHRoaXMub2JzZXJ2YWJsZT1lLHRoaXMuaXNDb25uZWN0ZWQmJnRoaXMuc3Vic2NyaWJlKGUpKSxjcn1zdWJzY3JpYmUoZSl7dGhpcy5zdWI9ZS5zdWJzY3JpYmUodD0+e3RoaXMuc2V0VmFsdWUodCl9KX1kaXNjb25uZWN0ZWQoKXt0aGlzLnN1Yj8udW5zdWJzY3JpYmUoKX1yZWNvbm5lY3RlZCgpe3RoaXMuc3Vic2NyaWJlKHRoaXMub2JzZXJ2YWJsZSl9fSxqQ2E9cHMoRjZlKX0pO3ZhciBCNmUsdTd0LHA3dD1mKCgpPT57cG4oKTtaSigpO20yKCk7QjZlPWNsYXNzIGV4dGVuZHMgS297c3RhdGlje3ModGhpcywiU3Vic2NyaWJlV2l0aFRlbXBsYXRlRGlyZWN0aXZlIil9b2JzZXJ2YWJsZTt0ZW1wbGF0ZUZuO3N1Yj1udWxsO3JlbmRlcihlLHQpe3JldHVybih0aGlzLm9ic2VydmFibGUhPT1lfHx0aGlzLnRlbXBsYXRlRm4hPT10KSYmKHRoaXMuc3ViPy51bnN1YnNjcmliZSgpLHRoaXMub2JzZXJ2YWJsZT1lLHRoaXMudGVtcGxhdGVGbj10LHRoaXMuaXNDb25uZWN0ZWQmJnRoaXMuc3RhcnRTdWJzY3JpcHRpb24oKSksY3J9c3RhcnRTdWJzY3JpcHRpb24oKXt0aGlzLnN1Yj10aGlzLm9ic2VydmFibGUuc3Vic2NyaWJlKGU9PntsZXQgdD10aGlzLnRlbXBsYXRlRm4oZSk7dGhpcy5zZXRWYWx1ZSh0KX0pfWRpc2Nvbm5lY3RlZCgpe3RoaXMuc3ViPy51bnN1YnNjcmliZSgpfXJlY29ubmVjdGVkKCl7dGhpcy5zdGFydFN1YnNjcmlwdGlvbigpfX0sdTd0PXBzKEI2ZSl9KTt2YXIgSDZlLHBkLGZkLHE2ZT1mKCgpPT57SDZlPXMoYXN5bmMoYSxlKT0+e2ZvciBhd2FpdChsZXQgdCBvZiBhKWlmKGF3YWl0IGUodCk9PT0hMSlyZXR1cm59LCJ0IikscGQ9Y2xhc3N7c3RhdGlje3ModGhpcywicyIpfWNvbnN0cnVjdG9yKGUpe3RoaXMuRz1lfWRpc2Nvbm5lY3QoKXt0aGlzLkc9dm9pZCAwfXJlY29ubmVjdChlKXt0aGlzLkc9ZX1kZXJlZigpe3JldHVybiB0aGlzLkd9fSxmZD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJpIil9Y29uc3RydWN0b3IoKXt0aGlzLlk9dm9pZCAwLHRoaXMuWj12b2lkIDB9Z2V0KCl7cmV0dXJuIHRoaXMuWX1wYXVzZSgpe3RoaXMuWT8/PW5ldyBQcm9taXNlKGU9PnRoaXMuWj1lKX1yZXN1bWUoKXt0aGlzLlo/LigpLHRoaXMuWT10aGlzLlo9dm9pZCAwfX19KTt2YXIgZjd0LGg3dCxYSixWNmUsbTd0PWYoKCk9PntKbigpO1c4KCk7S0ooKTtxNmUoKTtRbCgpO2Y3dD1zKGE9PiFQNmUoYSkmJnR5cGVvZiBhLnRoZW49PSJmdW5jdGlvbiIsIm4iKSxoN3Q9MTA3Mzc0MTgyMyxYSj1jbGFzcyBleHRlbmRzIEtve3N0YXRpY3tzKHRoaXMsImMiKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fJEN3dD1oN3QsdGhpcy5fJENidD1bXSx0aGlzLl8kQ0s9bmV3IHBkKHRoaXMpLHRoaXMuXyRDWD1uZXcgZmR9cmVuZGVyKC4uLmUpe3JldHVybiBlLmZpbmQodD0+IWY3dCh0KSk/P2NyfXVwZGF0ZShlLHQpe2xldCByPXRoaXMuXyRDYnQsaT1yLmxlbmd0aDt0aGlzLl8kQ2J0PXQ7bGV0IG89dGhpcy5fJENLLG49dGhpcy5fJENYO3RoaXMuaXNDb25uZWN0ZWR8fHRoaXMuZGlzY29ubmVjdGVkKCk7Zm9yKGxldCBsPTA7bDx0Lmxlbmd0aCYmIShsPnRoaXMuXyRDd3QpO2wrKyl7bGV0IGQ9dFtsXTtpZighZjd0KGQpKXJldHVybiB0aGlzLl8kQ3d0PWwsZDtsPGkmJmQ9PT1yW2xdfHwodGhpcy5fJEN3dD1oN3QsaT0wLFByb21pc2UucmVzb2x2ZShkKS50aGVuKGFzeW5jIGM9Pntmb3IoO24uZ2V0KCk7KWF3YWl0IG4uZ2V0KCk7bGV0IHA9by5kZXJlZigpO2lmKHAhPT12b2lkIDApe2xldCB1PXAuXyRDYnQuaW5kZXhPZihkKTt1Pi0xJiZ1PHAuXyRDd3QmJihwLl8kQ3d0PXUscC5zZXRWYWx1ZShjKSl9fSkpfXJldHVybiBjcn1kaXNjb25uZWN0ZWQoKXt0aGlzLl8kQ0suZGlzY29ubmVjdCgpLHRoaXMuXyRDWC5wYXVzZSgpfXJlY29ubmVjdGVkKCl7dGhpcy5fJENLLnJlY29ubmVjdCh0aGlzKSx0aGlzLl8kQ1gucmVzdW1lKCl9fSxWNmU9cHMoWEopfSk7dmFyIGc3dD1mKCgpPT57bTd0KCl9KTt2YXIgRzgsVUNhLGI3dD1mKCgpPT57Sm4oKTtLSigpO3E2ZSgpO1FsKCk7Rzg9Y2xhc3MgZXh0ZW5kcyBLb3tzdGF0aWN7cyh0aGlzLCJvIil9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuXyRDSz1uZXcgcGQodGhpcyksdGhpcy5fJENYPW5ldyBmZH1yZW5kZXIoZSx0KXtyZXR1cm4gY3J9dXBkYXRlKGUsW3Qscl0pe2lmKHRoaXMuaXNDb25uZWN0ZWR8fHRoaXMuZGlzY29ubmVjdGVkKCksdD09PXRoaXMuXyRDSilyZXR1cm4gY3I7dGhpcy5fJENKPXQ7bGV0IGk9MCx7XyRDSzpvLF8kQ1g6bn09dGhpcztyZXR1cm4gSDZlKHQsYXN5bmMgbD0+e2Zvcig7bi5nZXQoKTspYXdhaXQgbi5nZXQoKTtsZXQgZD1vLmRlcmVmKCk7aWYoZCE9PXZvaWQgMCl7aWYoZC5fJENKIT09dClyZXR1cm4hMTtyIT09dm9pZCAwJiYobD1yKGwsaSkpLGQuY29tbWl0VmFsdWUobCxpKSxpKyt9cmV0dXJuITB9KSxjcn1jb21taXRWYWx1ZShlLHQpe3RoaXMuc2V0VmFsdWUoZSl9ZGlzY29ubmVjdGVkKCl7dGhpcy5fJENLLmRpc2Nvbm5lY3QoKSx0aGlzLl8kQ1gucGF1c2UoKX1yZWNvbm5lY3RlZCgpe3RoaXMuXyRDSy5yZWNvbm5lY3QodGhpcyksdGhpcy5fJENYLnJlc3VtZSgpfX0sVUNhPXBzKEc4KX0pO3ZhciBqNmUsdjd0PWYoKCk9PntRbCgpO2I3dCgpO1c4KCk7ajZlPXBzKGNsYXNzIGV4dGVuZHMgRzh7Y29uc3RydWN0b3IoYSl7aWYoc3VwZXIoYSksYS50eXBlIT09cTIuQ0hJTEQpdGhyb3cgRXJyb3IoImFzeW5jQXBwZW5kIGNhbiBvbmx5IGJlIHVzZWQgaW4gY2hpbGQgZXhwcmVzc2lvbnMiKX11cGRhdGUoYSxlKXtyZXR1cm4gdGhpcy5fJEN0dD1hLHN1cGVyLnVwZGF0ZShhLGUpfWNvbW1pdFZhbHVlKGEsZSl7ZT09PTAmJlI2ZSh0aGlzLl8kQ3R0KTtsZXQgdD1KbCh0aGlzLl8kQ3R0KTt3MSh0LGEpfX0pfSk7dmFyIHg3dD1mKCgpPT57djd0KCl9KTt2YXIgVTZlLHk3dD1mKCgpPT57Sm4oKTtRbCgpO1c4KCk7VTZlPXBzKGNsYXNzIGV4dGVuZHMgTG57Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMua2V5PXhyfXJlbmRlcihhLGUpe3JldHVybiB0aGlzLmtleT1hLGV9dXBkYXRlKGEsW2UsdF0pe3JldHVybiBlIT09dGhpcy5rZXkmJihTYihhKSx0aGlzLmtleT1lKSx0fX0pfSk7dmFyIHc3dD1mKCgpPT57eTd0KCl9KTt2YXIgTTd0LFc2ZSxrN3Q9ZigoKT0+e0puKCk7UWwoKTtXOCgpO003dD1zKChhLGUsdCk9PntsZXQgcj1uZXcgTWFwO2ZvcihsZXQgaT1lO2k8PXQ7aSsrKXIuc2V0KGFbaV0saSk7cmV0dXJuIHJ9LCJ1IiksVzZlPXBzKGNsYXNzIGV4dGVuZHMgTG57Y29uc3RydWN0b3IoYSl7aWYoc3VwZXIoYSksYS50eXBlIT09cTIuQ0hJTEQpdGhyb3cgRXJyb3IoInJlcGVhdCgpIGNhbiBvbmx5IGJlIHVzZWQgaW4gdGV4dCBleHByZXNzaW9ucyIpfWR0KGEsZSx0KXtsZXQgcjt0PT09dm9pZCAwP3Q9ZTplIT09dm9pZCAwJiYocj1lKTtsZXQgaT1bXSxvPVtdLG49MDtmb3IobGV0IGwgb2YgYSlpW25dPXI/cihsLG4pOm4sb1tuXT10KGwsbiksbisrO3JldHVybnt2YWx1ZXM6byxrZXlzOml9fXJlbmRlcihhLGUsdCl7cmV0dXJuIHRoaXMuZHQoYSxlLHQpLnZhbHVlc311cGRhdGUoYSxbZSx0LHJdKXtsZXQgaT1ONmUoYSkse3ZhbHVlczpvLGtleXM6bn09dGhpcy5kdChlLHQscik7aWYoIUFycmF5LmlzQXJyYXkoaSkpcmV0dXJuIHRoaXMudXQ9bixvO2xldCBsPXRoaXMudXQ/Pz1bXSxkPVtdLGMscCx1PTAsbT1pLmxlbmd0aC0xLHY9MCx4PW8ubGVuZ3RoLTE7Zm9yKDt1PD1tJiZ2PD14OylpZihpW3VdPT09bnVsbCl1Kys7ZWxzZSBpZihpW21dPT09bnVsbCltLS07ZWxzZSBpZihsW3VdPT09blt2XSlkW3ZdPXcxKGlbdV0sb1t2XSksdSsrLHYrKztlbHNlIGlmKGxbbV09PT1uW3hdKWRbeF09dzEoaVttXSxvW3hdKSxtLS0seC0tO2Vsc2UgaWYobFt1XT09PW5beF0pZFt4XT13MShpW3VdLG9beF0pLEpsKGEsZFt4KzFdLGlbdV0pLHUrKyx4LS07ZWxzZSBpZihsW21dPT09blt2XSlkW3ZdPXcxKGlbbV0sb1t2XSksSmwoYSxpW3VdLGlbbV0pLG0tLSx2Kys7ZWxzZSBpZihjPT09dm9pZCAwJiYoYz1NN3Qobix2LHgpLHA9TTd0KGwsdSxtKSksYy5oYXMobFt1XSkpaWYoYy5oYXMobFttXSkpe2xldCBiPXAuZ2V0KG5bdl0pLGc9YiE9PXZvaWQgMD9pW2JdOm51bGw7aWYoZz09PW51bGwpe2xldCB5PUpsKGEsaVt1XSk7dzEoeSxvW3ZdKSxkW3ZdPXl9ZWxzZSBkW3ZdPXcxKGcsb1t2XSksSmwoYSxpW3VdLGcpLGlbYl09bnVsbDt2Kyt9ZWxzZSB6YihpW21dKSxtLS07ZWxzZSB6YihpW3VdKSx1Kys7Zm9yKDt2PD14Oyl7bGV0IGI9SmwoYSxkW3grMV0pO3cxKGIsb1t2XSksZFt2KytdPWJ9Zm9yKDt1PD1tOyl7bGV0IGI9aVt1KytdO2IhPT1udWxsJiZ6YihiKX1yZXR1cm4gdGhpcy51dD1uLFNiKGEsZCksY3J9fSl9KTt2YXIgUzd0PWYoKCk9PntrN3QoKX0pO3ZhciBabz17fTtydChabyx7YXN5bmNBcHBlbmQ6KCk9Pmo2ZSxrZXllZDooKT0+VTZlLHJlcGVhdDooKT0+VzZlLHJlc29sdmU6KCk9Pmw3dCxyZXNvbHZlRXhlYzooKT0+VkNhLHN1YnNjcmliZTooKT0+akNhLHN1YnNjcmliZVdpdGhUZW1wbGF0ZTooKT0+dTd0LHVudGlsOigpPT5WNmV9KTt2YXIgejd0PWYoKCk9PntjN3QoKTtkN3QoKTtwN3QoKTtnN3QoKTt4N3QoKTt3N3QoKTtTN3QoKX0pO3ZhciBoZD17fTtydChoZCx7RGVlc0VsZW1lbnQ6KCk9PnBlLGNvbnRhaW5lclJlc3BvbnNpdmU6KCk9PkdKLGNzczooKT0+WCxjc3NNYW5hZ2VyOigpPT5oLGN1c3RvbUVsZW1lbnQ6KCk9PmllLGRpcmVjdGl2ZXM6KCk9PlpvLGRvbXRvb2xzOigpPT5FdCxodG1sOigpPT53LHByb3BlcnR5OigpPT4kLHF1ZXJ5OigpPT5ENmUscXVlcnlBbGw6KCk9PkE2ZSxxdWVyeUFzeW5jOigpPT5FNmUscmVuZGVyOigpPT50MCxzdGF0ZTooKT0+SyxzdGF0aWM6KCk9PlhsLHVuc2FmZUNTUzooKT0+b2EsdW5zYWZlSFRNTDooKT0+a2IsdW5zYWZlU3RhdGljOigpPT5UNmV9KTt2YXIgaCxsZT1mKCgpPT57Qm10KCk7cG4oKTtWbXQoKTtVbXQoKTtHbXQoKTt0N3QoKTtlYSgpO3I3dCgpO3M3dCgpO3o3dCgpO2g9akouZ2V0U2luZ2xldG9uKCl9KTtmdW5jdGlvbiBXQ2EoYSxlKXtsZXQgdD1Ec1thXTtyZXR1cm4gdHlwZW9mIHQ9PSJvYmplY3QiJiZlP3RbZV18fCJhdXRvIjp0eXBlb2YgdD09Im51bWJlciI/dDoiYXV0byJ9dmFyIERzLEdDYSxRSixadCxVaT1mKCgpPT57RHM9e2Jhc2U6e2NvbnRlbnQ6ImF1dG8iLGlucHV0RWxlbWVudHM6MX0sZml4ZWQ6e2FwcEJhcjoxMCxzaWRlTWVudToxMCxtb2JpbGVOYXY6MjUwfSxiYWNrZHJvcDp7ZHJvcGRvd246MTk5OSxtb2RhbDoyOTk5LGNvbnRleHRNZW51OjM5OTl9LG92ZXJsYXk6e2Ryb3Bkb3duOjJlMyxtb2RhbDozZTMsY29udGV4dE1lbnU6NGUzLHRvYXN0OjVlM30sbW9kYWxEcm9wZG93bjozNTAwLHd5c2l3eWdNZW51czo0NTAwfTtzKFdDYSwiZ2V0WkluZGV4Iik7R0NhPXsiZGVlcy1tb2RhbCI6RHMub3ZlcmxheS5tb2RhbCwiZGVlcy13aW5kb3dsYXllciI6RHMub3ZlcmxheS5kcm9wZG93biwiZGVlcy1jb250ZXh0bWVudSI6RHMub3ZlcmxheS5jb250ZXh0TWVudSwiZGVlcy10b2FzdCI6RHMub3ZlcmxheS50b2FzdCwiZGVlcy1hcHB1aS1tYWlubWVudSI6RHMuZml4ZWQuYXBwQmFyLCJkZWVzLW1vYmlsZW5hdmlnYXRpb24iOkRzLmZpeGVkLm1vYmlsZU5hdiwiZGVlcy1zbGFzaC1tZW51IjpEcy53eXNpd3lnTWVudXMsImRlZXMtZm9ybWF0dGluZy1tZW51IjpEcy53eXNpd3lnTWVudXN9LFFKPWNsYXNzIGF7c3RhdGlje3ModGhpcywiWkluZGV4UmVnaXN0cnkiKX1zdGF0aWMgaW5zdGFuY2U7YWN0aXZlRWxlbWVudHM9bmV3IFNldDtlbGVtZW50WkluZGV4TWFwPW5ldyBXZWFrTWFwO2N1cnJlbnRaSW5kZXg9MWUzO2NvbnN0cnVjdG9yKCl7fXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBhLmluc3RhbmNlfHwoYS5pbnN0YW5jZT1uZXcgYSksYS5pbnN0YW5jZX1nZXROZXh0WkluZGV4KCl7cmV0dXJuIHRoaXMuY3VycmVudFpJbmRleCs9MTAsdGhpcy5jdXJyZW50WkluZGV4fXJlZ2lzdGVyKGUsdCl7dGhpcy5hY3RpdmVFbGVtZW50cy5hZGQoZSksdGhpcy5lbGVtZW50WkluZGV4TWFwLnNldChlLHQpfXVucmVnaXN0ZXIoZSl7dGhpcy5hY3RpdmVFbGVtZW50cy5kZWxldGUoZSksdGhpcy5lbGVtZW50WkluZGV4TWFwLmRlbGV0ZShlKSx0aGlzLmFjdGl2ZUVsZW1lbnRzLnNpemU9PT0wJiYodGhpcy5jdXJyZW50WkluZGV4PTFlMyl9Z2V0RWxlbWVudFpJbmRleChlKXtyZXR1cm4gdGhpcy5lbGVtZW50WkluZGV4TWFwLmdldChlKX1nZXRBY3RpdmVDb3VudCgpe3JldHVybiB0aGlzLmFjdGl2ZUVsZW1lbnRzLnNpemV9Z2V0Q3VycmVudFpJbmRleCgpe3JldHVybiB0aGlzLmN1cnJlbnRaSW5kZXh9Y2xlYXIoKXt0aGlzLmFjdGl2ZUVsZW1lbnRzLmNsZWFyKCksdGhpcy5lbGVtZW50WkluZGV4TWFwPW5ldyBXZWFrTWFwLHRoaXMuY3VycmVudFpJbmRleD0xZTN9Z2V0QWN0aXZlRWxlbWVudHNJbk9yZGVyKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5hY3RpdmVFbGVtZW50cykuc29ydCgoZSx0KT0+e2xldCByPXRoaXMuZWxlbWVudFpJbmRleE1hcC5nZXQoZSl8fDAsaT10aGlzLmVsZW1lbnRaSW5kZXhNYXAuZ2V0KHQpfHwwO3JldHVybiByLWl9KX19LFp0PVFKLmdldEluc3RhbmNlKCl9KTt2YXIgWG8sRnIsQnIsRWUsUWU9ZigoKT0+e2xlKCk7WG89e2NvbG9yczp7bGlnaHQ6e2JnUHJpbWFyeToiaHNsKDAgMCUgMTAwJSkiLGJnU2Vjb25kYXJ5OiJoc2woMCAwJSA5OCUpIixiZ1RlcnRpYXJ5OiJoc2woMCAwJSA5NiUpIix0ZXh0UHJpbWFyeToiaHNsKDAgMCUgMy45JSkiLHRleHRTZWNvbmRhcnk6ImhzbCgwIDAlIDIwJSkiLHRleHRNdXRlZDoiaHNsKDAgMCUgNDUlKSIsdGV4dFdhcm06IiM3ODcxNmMiLGJvcmRlckRlZmF1bHQ6ImhzbCgwIDAlIDg5LjglKSIsYm9yZGVyU3VidGxlOiJoc2woMCAwJSA5MyUpIixib3JkZXJTdHJvbmc6ImhzbCgwIDAlIDgwJSkiLGFjY2VudFByaW1hcnk6IiMzYjgyZjYiLGFjY2VudFN1Y2Nlc3M6IiMyMmM1NWUiLGFjY2VudFdhcm5pbmc6IiNmNTllMGIiLGFjY2VudEVycm9yOiIjZWY0NDQ0IixiYWRnZURlZmF1bHRCZzoiI2Y0ZjRmNSIsYmFkZ2VEZWZhdWx0Rmc6IiMzZjNmNDYiLGJhZGdlU3VjY2Vzc0JnOiIjZGNmY2U3IixiYWRnZVN1Y2Nlc3NGZzoiIzE2NjUzNCIsYmFkZ2VXYXJuaW5nQmc6IiNmZWYzYzciLGJhZGdlV2FybmluZ0ZnOiIjOTI0MDBlIixiYWRnZUVycm9yQmc6IiNmZWUyZTIiLGJhZGdlRXJyb3JGZzoiIzk5MWIxYiJ9LGRhcms6e2JnUHJpbWFyeToiaHNsKDAgMCUgMy45JSkiLGJnU2Vjb25kYXJ5OiJoc2woMCAwJSAzLjklKSIsYmdUZXJ0aWFyeToiaHNsKDAgMCUgNyUpIix0ZXh0UHJpbWFyeToiaHNsKDAgMCUgOTglKSIsdGV4dFNlY29uZGFyeToiaHNsKDAgMCUgNjMuOSUpIix0ZXh0TXV0ZWQ6ImhzbCgwIDAlIDU1JSkiLHRleHRXYXJtOiIjYjVhOTlhIixib3JkZXJEZWZhdWx0OiJoc2woMCAwJSAxNC45JSkiLGJvcmRlclN1YnRsZToiaHNsKDAgMCUgMTElKSIsYm9yZGVyU3Ryb25nOiJoc2woMCAwJSAyMCUpIixhY2NlbnRQcmltYXJ5OiIjM2I4MmY2IixhY2NlbnRTdWNjZXNzOiIjMjJjNTVlIixhY2NlbnRXYXJuaW5nOiIjZjU5ZTBiIixhY2NlbnRFcnJvcjoiI2VmNDQ0NCIsYmFkZ2VEZWZhdWx0Qmc6IiMyNzI3MmEiLGJhZGdlRGVmYXVsdEZnOiIjYTFhMWFhIixiYWRnZVN1Y2Nlc3NCZzoiIzE0NTMyZCIsYmFkZ2VTdWNjZXNzRmc6IiM0YWRlODAiLGJhZGdlV2FybmluZ0JnOiIjNDUxYTAzIixiYWRnZVdhcm5pbmdGZzoiI2ZiYmYyNCIsYmFkZ2VFcnJvckJnOiIjNDUwYTBhIixiYWRnZUVycm9yRmc6IiNmODcxNzEifX0sc3BhY2luZzp7eHM6IjRweCIsc206IjhweCIsbWQ6IjEycHgiLGxnOiIxNnB4Iix4bDoiMjRweCIsIjJ4bCI6IjMycHgiLCIzeGwiOiI0OHB4In0scmFkaXVzOnt4czoiMnB4IixzbToiNHB4IixtZDoiNnB4IixsZzoiOHB4Iix4bDoiMTJweCIsZnVsbDoiOTk5cHgifSxzaGFkb3dzOnt4czoiMCAxcHggMnB4IDAgcmdiKDAgMCAwIC8gMC4wNSkiLHNtOiIwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpIixtZDoiMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSkiLGxnOiIwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSkifSx0cmFuc2l0aW9uczp7ZmFzdDoiMC4xcyIsZGVmYXVsdDoiMC4xNXMiLHNsb3c6IjAuMnMiLHNsb3dlcjoiMC4zcyJ9LGNvbnRyb2xIZWlnaHRzOntzbToiMzJweCIsbWQ6IjM2cHgiLGxnOiI0MHB4Iix4bDoiNDhweCJ9fSxGcj1Yby5jb2xvcnMubGlnaHQsQnI9WG8uY29sb3JzLmRhcmssRWU9WGAKICA6aG9zdCB7CiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBDb2xvcnMg4oCUIEJhY2tncm91bmQgKGZyb20gdGhlbWVEZWZhdWx0cykKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5OiAke2guYmRUaGVtZShGci5iZ1ByaW1hcnksQnIuYmdQcmltYXJ5KX07CiAgICAtLWRlZXMtY29sb3ItYmctc2Vjb25kYXJ5OiAke2guYmRUaGVtZShGci5iZ1NlY29uZGFyeSxCci5iZ1NlY29uZGFyeSl9OwogICAgLS1kZWVzLWNvbG9yLWJnLXRlcnRpYXJ5OiAke2guYmRUaGVtZShGci5iZ1RlcnRpYXJ5LEJyLmJnVGVydGlhcnkpfTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBDb2xvcnMg4oCUIFRleHQgKGZyb20gdGhlbWVEZWZhdWx0cykKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnk6ICR7aC5iZFRoZW1lKEZyLnRleHRQcmltYXJ5LEJyLnRleHRQcmltYXJ5KX07CiAgICAtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnk6ICR7aC5iZFRoZW1lKEZyLnRleHRTZWNvbmRhcnksQnIudGV4dFNlY29uZGFyeSl9OwogICAgLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQ6ICR7aC5iZFRoZW1lKEZyLnRleHRNdXRlZCxCci50ZXh0TXV0ZWQpfTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBDb2xvcnMg4oCUIEJvcmRlciAoZnJvbSB0aGVtZURlZmF1bHRzKQogICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0OiAke2guYmRUaGVtZShGci5ib3JkZXJEZWZhdWx0LEJyLmJvcmRlckRlZmF1bHQpfTsKICAgIC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlOiAke2guYmRUaGVtZShGci5ib3JkZXJTdWJ0bGUsQnIuYm9yZGVyU3VidGxlKX07CiAgICAtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZzogJHtoLmJkVGhlbWUoRnIuYm9yZGVyU3Ryb25nLEJyLmJvcmRlclN0cm9uZyl9OwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIENvbG9ycyDigJQgV2FybSBUZXh0IChmcm9tIHRoZW1lRGVmYXVsdHMpCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtY29sb3ItdGV4dC13YXJtOiAke2guYmRUaGVtZShGci50ZXh0V2FybSxCci50ZXh0V2FybSl9OwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIENvbG9ycyDigJQgQWNjZW50IChmcm9tIHRoZW1lRGVmYXVsdHMpCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtY29sb3ItYWNjZW50LXByaW1hcnk6ICR7aC5iZFRoZW1lKEZyLmFjY2VudFByaW1hcnksQnIuYWNjZW50UHJpbWFyeSl9OwogICAgLS1kZWVzLWNvbG9yLWFjY2VudC1zdWNjZXNzOiAke2guYmRUaGVtZShGci5hY2NlbnRTdWNjZXNzLEJyLmFjY2VudFN1Y2Nlc3MpfTsKICAgIC0tZGVlcy1jb2xvci1hY2NlbnQtd2FybmluZzogJHtoLmJkVGhlbWUoRnIuYWNjZW50V2FybmluZyxCci5hY2NlbnRXYXJuaW5nKX07CiAgICAtLWRlZXMtY29sb3ItYWNjZW50LWVycm9yOiAke2guYmRUaGVtZShGci5hY2NlbnRFcnJvcixCci5hY2NlbnRFcnJvcil9OwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIENvbG9ycyDigJQgQmFkZ2UgKGZyb20gdGhlbWVEZWZhdWx0cykKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1jb2xvci1iYWRnZS1kZWZhdWx0LWJnOiAke2guYmRUaGVtZShGci5iYWRnZURlZmF1bHRCZyxCci5iYWRnZURlZmF1bHRCZyl9OwogICAgLS1kZWVzLWNvbG9yLWJhZGdlLWRlZmF1bHQtZmc6ICR7aC5iZFRoZW1lKEZyLmJhZGdlRGVmYXVsdEZnLEJyLmJhZGdlRGVmYXVsdEZnKX07CiAgICAtLWRlZXMtY29sb3ItYmFkZ2Utc3VjY2Vzcy1iZzogJHtoLmJkVGhlbWUoRnIuYmFkZ2VTdWNjZXNzQmcsQnIuYmFkZ2VTdWNjZXNzQmcpfTsKICAgIC0tZGVlcy1jb2xvci1iYWRnZS1zdWNjZXNzLWZnOiAke2guYmRUaGVtZShGci5iYWRnZVN1Y2Nlc3NGZyxCci5iYWRnZVN1Y2Nlc3NGZyl9OwogICAgLS1kZWVzLWNvbG9yLWJhZGdlLXdhcm5pbmctYmc6ICR7aC5iZFRoZW1lKEZyLmJhZGdlV2FybmluZ0JnLEJyLmJhZGdlV2FybmluZ0JnKX07CiAgICAtLWRlZXMtY29sb3ItYmFkZ2Utd2FybmluZy1mZzogJHtoLmJkVGhlbWUoRnIuYmFkZ2VXYXJuaW5nRmcsQnIuYmFkZ2VXYXJuaW5nRmcpfTsKICAgIC0tZGVlcy1jb2xvci1iYWRnZS1lcnJvci1iZzogJHtoLmJkVGhlbWUoRnIuYmFkZ2VFcnJvckJnLEJyLmJhZGdlRXJyb3JCZyl9OwogICAgLS1kZWVzLWNvbG9yLWJhZGdlLWVycm9yLWZnOiAke2guYmRUaGVtZShGci5iYWRnZUVycm9yRmcsQnIuYmFkZ2VFcnJvckZnKX07CgogICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICogQ29sb3JzIOKAlCBJbnRlcmFjdGl2ZSBTdGF0ZXMKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1jb2xvci1ob3ZlcjogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpIil9OwogICAgLS1kZWVzLWNvbG9yLWFjdGl2ZTogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNikiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgLS1kZWVzLWNvbG9yLXByZXNzZWQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDgpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSIpfTsKICAgIC0tZGVlcy1jb2xvci1yb3ctaG92ZXI6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjA2KSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMDgpIil9OwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIENvbG9ycyDigJQgRm9jdXMgUmluZwogICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLS1kZWVzLWNvbG9yLWZvY3VzLXJpbmc6ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC40KSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjQpIil9OwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIENvbG9ycyDigJQgVG9vbHRpcCAoaW52ZXJ0ZWQgY29udHJhc3QpCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtY29sb3ItdG9vbHRpcC1iZzogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgLS1kZWVzLWNvbG9yLXRvb2x0aXAtZmc6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzE4MTgxYiIpfTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBDb2xvcnMg4oCUIExpbmsKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1jb2xvci1saW5rOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAtLWRlZXMtY29sb3ItbGluay1ob3ZlcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjOTNiYmZkIil9OwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIENvbG9ycyDigJQgQ29kZQogICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLS1kZWVzLWNvbG9yLWNvZGUtYmc6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDYpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIil9OwogICAgLS1kZWVzLWNvbG9yLWNvZGUtYmxvY2stYmc6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBDb2xvcnMg4oCUIFNlbGVjdGlvbgogICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLS1kZWVzLWNvbG9yLXNlbGVjdGlvbjogJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMykiKX07CgogICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICogQ29sb3JzIOKAlCBTY3JvbGxiYXIKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1jb2xvci1zY3JvbGxiYXItdGh1bWI6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMTUpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSIpfTsKICAgIC0tZGVlcy1jb2xvci1zY3JvbGxiYXItdGh1bWItaG92ZXI6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMjUpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSIpfTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBTcGFjaW5nIFNjYWxlCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtc3BhY2luZy14czogNHB4OwogICAgLS1kZWVzLXNwYWNpbmctc206IDhweDsKICAgIC0tZGVlcy1zcGFjaW5nLW1kOiAxMnB4OwogICAgLS1kZWVzLXNwYWNpbmctbGc6IDE2cHg7CiAgICAtLWRlZXMtc3BhY2luZy14bDogMjRweDsKICAgIC0tZGVlcy1zcGFjaW5nLTJ4bDogMzJweDsKICAgIC0tZGVlcy1zcGFjaW5nLTN4bDogNDhweDsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBCb3JkZXIgUmFkaXVzIFNjYWxlCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtcmFkaXVzLXhzOiAycHg7CiAgICAtLWRlZXMtcmFkaXVzLXNtOiA0cHg7CiAgICAtLWRlZXMtcmFkaXVzLW1kOiA2cHg7CiAgICAtLWRlZXMtcmFkaXVzLWxnOiA4cHg7CiAgICAtLWRlZXMtcmFkaXVzLXhsOiAxMnB4OwogICAgLS1kZWVzLXJhZGl1cy1mdWxsOiA5OTlweDsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBTaGFkb3cgRWxldmF0aW9uIFNjYWxlCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtc2hhZG93LXhzOiAwIDFweCAycHggMCByZ2IoMCAwIDAgLyAwLjA1KTsKICAgIC0tZGVlcy1zaGFkb3ctc206IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICAtLWRlZXMtc2hhZG93LW1kOiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTsKICAgIC0tZGVlcy1zaGFkb3ctbGc6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBUcmFuc2l0aW9uIER1cmF0aW9uIFNjYWxlCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtdHJhbnNpdGlvbi1mYXN0OiAwLjFzOwogICAgLS1kZWVzLXRyYW5zaXRpb24tZGVmYXVsdDogMC4xNXM7CiAgICAtLWRlZXMtdHJhbnNpdGlvbi1zbG93OiAwLjJzOwogICAgLS1kZWVzLXRyYW5zaXRpb24tc2xvd2VyOiAwLjNzOwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIENvbnRyb2wgSGVpZ2h0IFNjYWxlCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtY29udHJvbC1oZWlnaHQtc206IDMycHg7CiAgICAtLWRlZXMtY29udHJvbC1oZWlnaHQtbWQ6IDM2cHg7CiAgICAtLWRlZXMtY29udHJvbC1oZWlnaHQtbGc6IDQwcHg7CiAgICAtLWRlZXMtY29udHJvbC1oZWlnaHQteGw6IDQ4cHg7CiAgfQpgfSk7dmFyIFZzPWYoKCk9PntacygpO19uKCl9KTt2YXIgQzd0LF83dD1mKCgpPT57bGUoKTtWcygpO1pyKCk7Qzd0PXMoKCk9PndgCjxzdHlsZT4KICAud2l0aE1hcmdpbiB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbjogMjBweDsKICB9CiAgLmRlbW8tY29udGFpbmVyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAyMHB4OwogICAgcGFkZGluZzogMjBweDsKICAgIG1pbi1oZWlnaHQ6IDQwMHB4OwogIH0KICAuZGVtby1hcmVhIHsKICAgIHBhZGRpbmc6IDQwcHg7CiAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBjdXJzb3I6IGNvbnRleHQtbWVudTsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yczsKICB9CiAgLmRlbW8tYXJlYTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDIpOwogIH0KPC9zdHlsZT4KPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogIDxkZWVzLXBhbmVsIGhlYWRpbmc9IkJhc2ljIENvbnRleHQgTWVudSB3aXRoIE5lc3RlZCBTdWJtZW51cyI+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLWFyZWEiIEBjb250ZXh0bWVudT0ke2E9Pnt0YS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhhLFt7bmFtZToiRmlsZSIsaWNvbk5hbWU6ImZpbGVUZXh0IixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6Ik5ldyIsaWNvbk5hbWU6ImZpbGVQbHVzIixzaG9ydGN1dDoiQ21kK04iLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJOZXcgZmlsZSIpLCJhY3Rpb24iKX0se25hbWU6Ik9wZW4iLGljb25OYW1lOiJmb2xkZXJPcGVuIixzaG9ydGN1dDoiQ21kK08iLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIGZpbGUiKSwiYWN0aW9uIil9LHtuYW1lOiJTYXZlIixpY29uTmFtZToic2F2ZSIsc2hvcnRjdXQ6IkNtZCtTIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiU2F2ZSIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJFeHBvcnQgYXMgUERGIixpY29uTmFtZToiZG93bmxvYWQiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJFeHBvcnQgUERGIiksImFjdGlvbiIpfSx7bmFtZToiRXhwb3J0IGFzIEhUTUwiLGljb25OYW1lOiJjb2RlIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRXhwb3J0IEhUTUwiKSwiYWN0aW9uIil9XX0se25hbWU6IkVkaXQiLGljb25OYW1lOiJlZGl0MyIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJDdXQiLGljb25OYW1lOiJzY2lzc29ycyIsc2hvcnRjdXQ6IkNtZCtYIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQ3V0IiksImFjdGlvbiIpfSx7bmFtZToiQ29weSIsaWNvbk5hbWU6ImNvcHkiLHNob3J0Y3V0OiJDbWQrQyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkNvcHkiKSwiYWN0aW9uIil9LHtuYW1lOiJQYXN0ZSIsaWNvbk5hbWU6ImNsaXBib2FyZCIsc2hvcnRjdXQ6IkNtZCtWIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiUGFzdGUiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiRmluZCIsaWNvbk5hbWU6InNlYXJjaCIsc2hvcnRjdXQ6IkNtZCtGIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRmluZCIpLCJhY3Rpb24iKX0se25hbWU6IlJlcGxhY2UiLGljb25OYW1lOiJyZXBlYXQiLHNob3J0Y3V0OiJDbWQrSCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlJlcGxhY2UiKSwiYWN0aW9uIil9XX0se25hbWU6IlZpZXciLGljb25OYW1lOiJleWUiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiWm9vbSBJbiIsaWNvbk5hbWU6Inpvb21JbiIsc2hvcnRjdXQ6IkNtZCsrIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiWm9vbSBpbiIpLCJhY3Rpb24iKX0se25hbWU6Ilpvb20gT3V0IixpY29uTmFtZToiem9vbU91dCIsc2hvcnRjdXQ6IkNtZCstIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiWm9vbSBvdXQiKSwiYWN0aW9uIil9LHtuYW1lOiJSZXNldCBab29tIixpY29uTmFtZToibWF4aW1pemUyIixzaG9ydGN1dDoiQ21kKzAiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJSZXNldCB6b29tIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkZ1bGwgU2NyZWVuIixpY29uTmFtZToibWF4aW1pemUiLHNob3J0Y3V0OiJGMTEiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJGdWxsIHNjcmVlbiIpLCJhY3Rpb24iKX1dfSx7ZGl2aWRlcjohMH0se25hbWU6IlNldHRpbmdzIixpY29uTmFtZToic2V0dGluZ3MiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJTZXR0aW5ncyIpLCJhY3Rpb24iKX0se25hbWU6IkhlbHAiLGljb25OYW1lOiJoZWxwQ2lyY2xlIixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IkRvY3VtZW50YXRpb24iLGljb25OYW1lOiJib29rIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRG9jdW1lbnRhdGlvbiIpLCJhY3Rpb24iKX0se25hbWU6IktleWJvYXJkIFNob3J0Y3V0cyIsaWNvbk5hbWU6ImtleWJvYXJkIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiU2hvcnRjdXRzIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkFib3V0IixpY29uTmFtZToiaW5mbyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkFib3V0IiksImFjdGlvbiIpfV19XSl9fT4KICAgICAgPGgzPlJpZ2h0LWNsaWNrIGFueXdoZXJlIGluIHRoaXMgYXJlYTwvaDM+CiAgICAgIDxwPkEgY29udGV4dCBtZW51IHdpdGggbmVzdGVkIHN1Ym1lbnVzIHdpbGwgYXBwZWFyPC9wPgogICAgPC9kaXY+CiAgPC9kZWVzLXBhbmVsPgogIDxkZWVzLXBhbmVsIGhlYWRpbmc9IkNvbXBvbmVudC1TcGVjaWZpYyBDb250ZXh0IE1lbnUiPgogICAgPGRlZXMtYnV0dG9uIHN0eWxlPSJtYXJnaW46IDIwcHg7IiBAY29udGV4dG1lbnU9JHthPT57dGEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoYSxbe25hbWU6IkJ1dHRvbiBBY3Rpb25zIixpY29uTmFtZToibW91c2VQb2ludGVyIixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IkNsaWNrIixpY29uTmFtZToibW91c2UiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJDbGljayBhY3Rpb24iKSwiYWN0aW9uIil9LHtuYW1lOiJEb3VibGUgQ2xpY2siLGljb25OYW1lOiJ6YXAiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJEb3VibGUgY2xpY2siKSwiYWN0aW9uIil9LHtuYW1lOiJMb25nIFByZXNzIixpY29uTmFtZToiY2xvY2siLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJMb25nIHByZXNzIiksImFjdGlvbiIpfV19LHtuYW1lOiJCdXR0b24gU3RhdGUiLGljb25OYW1lOiJ0b2dnbGVMZWZ0IixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IkVuYWJsZSIsaWNvbk5hbWU6ImNoZWNrQ2lyY2xlIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRW5hYmxlIiksImFjdGlvbiIpfSx7bmFtZToiRGlzYWJsZSIsaWNvbk5hbWU6InhDaXJjbGUiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJEaXNhYmxlIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IlNob3ciLGljb25OYW1lOiJleWUiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJTaG93IiksImFjdGlvbiIpfSx7bmFtZToiSGlkZSIsaWNvbk5hbWU6ImV5ZU9mZiIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkhpZGUiKSwiYWN0aW9uIil9XX0se2RpdmlkZXI6ITB9LHtuYW1lOiJEaXNhYmxlZCBBY3Rpb24iLGljb25OYW1lOiJiYW4iLGRpc2FibGVkOiEwLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJUaGlzIHNob3VsZCBub3QgcnVuIiksImFjdGlvbiIpfSx7bmFtZToiUHJvcGVydGllcyIsaWNvbk5hbWU6InNldHRpbmdzIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQnV0dG9uIHByb3BlcnRpZXMiKSwiYWN0aW9uIil9XSl9fT5SaWdodC1jbGljayBvbiB0aGlzIGJ1dHRvbjwvZGVlcy1idXR0b24+CiAgPC9kZWVzLXBhbmVsPgoKICA8ZGVlcy1wYW5lbCBoZWFkaW5nPSJBZHZhbmNlZCBDb250ZXh0IE1lbnUgRXhhbXBsZSI+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLWFyZWEiIEBjb250ZXh0bWVudT0ke2E9Pnt0YS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhhLFt7bmFtZToiRm9ybWF0IixpY29uTmFtZToidHlwZSIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJCb2xkIixpY29uTmFtZToiYm9sZCIsc2hvcnRjdXQ6IkNtZCtCIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQm9sZCIpLCJhY3Rpb24iKX0se25hbWU6Ikl0YWxpYyIsaWNvbk5hbWU6Iml0YWxpYyIsc2hvcnRjdXQ6IkNtZCtJIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiSXRhbGljIiksImFjdGlvbiIpfSx7bmFtZToiVW5kZXJsaW5lIixpY29uTmFtZToidW5kZXJsaW5lIixzaG9ydGN1dDoiQ21kK1UiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJVbmRlcmxpbmUiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiRm9udCBTaXplIixpY29uTmFtZToidHlwZSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkZvbnQgc2l6ZSBtZW51IiksImFjdGlvbiIpfSx7bmFtZToiRm9udCBDb2xvciIsaWNvbk5hbWU6InBhbGV0dGUiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJGb250IGNvbG9yIG1lbnUiKSwiYWN0aW9uIil9XX0se25hbWU6IlRyYW5zZm9ybSIsaWNvbk5hbWU6InNodWZmbGUiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiVG8gVXBwZXJjYXNlIixpY29uTmFtZToiYXJyb3dVcCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlVwcGVyY2FzZSIpLCJhY3Rpb24iKX0se25hbWU6IlRvIExvd2VyY2FzZSIsaWNvbk5hbWU6ImFycm93RG93biIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkxvd2VyY2FzZSIpLCJhY3Rpb24iKX0se25hbWU6IkNhcGl0YWxpemUiLGljb25OYW1lOiJ0eXBlIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQ2FwaXRhbGl6ZSIpLCJhY3Rpb24iKX1dfSx7ZGl2aWRlcjohMH0se25hbWU6IkRlbGV0ZSIsaWNvbk5hbWU6InRyYXNoMiIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkRlbGV0ZSIpLCJhY3Rpb24iKX1dKX19PgogICAgICA8aDM+QWR2YW5jZWQgTmVzdGVkIE1lbnUgRXhhbXBsZTwvaDM+CiAgICAgIDxwPlRoaXMgc2hvd3MgZGVlcGx5IG5lc3RlZCBzdWJtZW51cyBhbmQgdmFyaW91cyBmb3JtYXR0aW5nIG9wdGlvbnM8L3A+CiAgICA8L2Rpdj4KICA8L2RlZXMtcGFuZWw+CiAgCiAgPGRlZXMtcGFuZWwgaGVhZGluZz0iU3RhdGljIENvbnRleHQgTWVudSAoQWx3YXlzIFZpc2libGUpIj4KICAgIDxkZWVzLWNvbnRleHRtZW51CiAgICAgIGNsYXNzPSJ3aXRoTWFyZ2luIgogICAgICAubWVudUl0ZW1zPSR7W3tuYW1lOiJQcm9qZWN0IixpY29uTmFtZToiZm9sZGVyIixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6Ik5ldyBQcm9qZWN0IixpY29uTmFtZToiZm9sZGVyUGx1cyIsc2hvcnRjdXQ6IkNtZCtTaGlmdCtOIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiTmV3IHByb2plY3QiKSwiYWN0aW9uIil9LHtuYW1lOiJPcGVuIFByb2plY3QiLGljb25OYW1lOiJmb2xkZXJPcGVuIixzaG9ydGN1dDoiQ21kK1NoaWZ0K08iLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIHByb2plY3QiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiUmVjZW50IFByb2plY3RzIixpY29uTmFtZToiY2xvY2siLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiUHJvamVjdCBBbHBoYSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIk9wZW4gQWxwaGEiKSwiYWN0aW9uIil9LHtuYW1lOiJQcm9qZWN0IEJldGEiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIEJldGEiKSwiYWN0aW9uIil9LHtuYW1lOiJQcm9qZWN0IEdhbW1hIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiBHYW1tYSIpLCJhY3Rpb24iKX1dfV19LHtuYW1lOiJUb29scyIsaWNvbk5hbWU6InRvb2wiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiVGVybWluYWwiLGljb25OYW1lOiJ0ZXJtaW5hbCIsc2hvcnRjdXQ6IkNtZCtUIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiVGVybWluYWwiKSwiYWN0aW9uIil9LHtuYW1lOiJDb25zb2xlIixpY29uTmFtZToibW9uaXRvciIsc2hvcnRjdXQ6IkNtZCtLIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQ29uc29sZSIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJFeHRlbnNpb25zIixpY29uTmFtZToicGFja2FnZSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkV4dGVuc2lvbnMiKSwiYWN0aW9uIil9XX0se2RpdmlkZXI6ITB9LHtuYW1lOiJQcmVmZXJlbmNlcyIsaWNvbk5hbWU6InNsaWRlcnMiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJQcmVmZXJlbmNlcyIpLCJhY3Rpb24iKX1dfQogICAgPjwvZGVlcy1jb250ZXh0bWVudT4KICA8L2RlZXMtcGFuZWw+CjwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIF9iLGVjLGpzLE0xPWYoKCk9PntsZSgpO1VpKCk7X2I9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGVjPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxqcz0oKCk9PntsZXQgYT1baWUoImRlZXMtd2luZG93bGF5ZXIiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1dpbmRvd0xheWVyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGs9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bSygpXSxkPVtLKCldLHU9W0soKV0seD1bJCh7dHlwZTpCb29sZWFufSldLF9iKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3B0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4ib3B0aW9ucyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLm9wdGlvbnMsImdldCIpLHNldDpzKChDLE4pPT57Qy5vcHRpb25zPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbixsKSxfYih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJhY2tkcm9wWkluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJiYWNrZHJvcFpJbmRleCJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmJhY2tkcm9wWkluZGV4LCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuYmFja2Ryb3BaSW5kZXg9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxjLHApLF9iKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudFpJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iY29udGVudFpJbmRleCJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmNvbnRlbnRaSW5kZXgsImdldCIpLHNldDpzKChDLE4pPT57Qy5jb250ZW50WkluZGV4PU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbSx2KSxfYih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZpc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+InZpc2libGUiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy52aXNpYmxlLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MudmlzaWJsZT1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGIsZyksX2IobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6a30sbnVsbCx0KSx5PXI9ZS52YWx1ZSxrJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmt9KX1zdGF0aWMgZGVtbz1zKCgpPT53YDxkZWVzLXdpbmRvd2xheWVyPjwvZGVlcy13aW5kb3dsYXllcj5gLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJPdmVybGF5Il07c3RhdGljIGFzeW5jIGNyZWF0ZUFuZFNob3coayl7bGV0IEM9RXQuRG9tVG9vbHMuZ2V0R2xvYmFsRG9tVG9vbHNTeW5jKCksTj1uZXcgeTtyZXR1cm4gTi5vcHRpb25zPXsuLi5OLm9wdGlvbnMsLi4ua30sZG9jdW1lbnQuYm9keS5hcHBlbmQoTiksYXdhaXQgQy5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLE4uc2hvdygpLE59I2U9ZWModGhpcyxuLHtibHVyOiExfSk7Z2V0IG9wdGlvbnMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgb3B0aW9ucyhrKXt0aGlzLiNlPWt9I3Q9KGVjKHRoaXMsbCksZWModGhpcyxjLDFlMykpO2dldCBiYWNrZHJvcFpJbmRleCgpe3JldHVybiB0aGlzLiN0fXNldCBiYWNrZHJvcFpJbmRleChrKXt0aGlzLiN0PWt9I2E9KGVjKHRoaXMscCksZWModGhpcyxtLDEwMDEpKTtnZXQgY29udGVudFpJbmRleCgpe3JldHVybiB0aGlzLiNhfXNldCBjb250ZW50WkluZGV4KGspe3RoaXMuI2E9a30jcj0oZWModGhpcyx2KSxlYyh0aGlzLGIsITEpKTtnZXQgdmlzaWJsZSgpe3JldHVybiB0aGlzLiNyfXNldCB2aXNpYmxlKGspe3RoaXMuI3I9a31jb25zdHJ1Y3Rvcigpe3N1cGVyKCksZWModGhpcyxnKSxFdC5lbGVtZW50QmFzaWMuc2V0dXAoKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgJHtFdC5lbGVtZW50QmFzaWMuc3R5bGVzfQogICAgICA8c3R5bGU+CiAgICAgICAgLndpbmRvd092ZXJsYXkgewogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgICBsZWZ0OiAwcHg7CiAgICAgICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICAgICAgd2lkdGg6IDEwMHZ3OwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wKTsKICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYnJpZ2h0bmVzcygxKSAke3RoaXMub3B0aW9ucy5ibHVyPyJibHVyKDBweCkiOiIifTsKICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgICAgei1pbmRleDogJHt0aGlzLmJhY2tkcm9wWkluZGV4fTsKICAgICAgICB9CiAgICAgICAgLnNsb3RDb250ZW50IHsKICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgICB3aWR0aDogMTAwdnc7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgei1pbmRleDogJHt0aGlzLmNvbnRlbnRaSW5kZXh9OwogICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zbG90Q29udGVudCA+ICogewogICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC52aXNpYmxlIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTsKICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYnJpZ2h0bmVzcygwLjkpICR7dGhpcy5vcHRpb25zLmJsdXI/ImJsdXIoMnB4KSI6IiJ9OwogICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgQGNsaWNrPSR7dGhpcy5kaXNwYXRjaENsaWNrZWR9IGNsYXNzPSJ3aW5kb3dPdmVybGF5ICR7dGhpcy52aXNpYmxlPyJ2aXNpYmxlIjpudWxsfSI+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzbG90Q29udGVudCI+CiAgICAgICAgPHNsb3Q+PC9zbG90PgogICAgICA8L2Rpdj4KICAgIGB9Zmlyc3RVcGRhdGVkKCl7c2V0VGltZW91dCgoKT0+e3RoaXMudmlzaWJsZT0hMH0sMTAwKX1kaXNwYXRjaENsaWNrZWQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjbGlja2VkIikpfXRvZ2dsZVZpc2liaWxpdHkoKXt0aGlzLnZpc2libGU9IXRoaXMudmlzaWJsZX1nZXRDb250ZW50WkluZGV4KCl7cmV0dXJuIHRoaXMuY29udGVudFpJbmRleH1hc3luYyBzaG93KCl7bGV0IGs9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2U7dGhpcy5iYWNrZHJvcFpJbmRleD1adC5nZXROZXh0WkluZGV4KCksdGhpcy5jb250ZW50WkluZGV4PVp0LmdldE5leHRaSW5kZXgoKSxadC5yZWdpc3Rlcih0aGlzLHRoaXMuYmFja2Ryb3BaSW5kZXgpLGF3YWl0IGsuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigwKSx0aGlzLnZpc2libGU9ITB9YXN5bmMgaGlkZSgpe2F3YWl0KGF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlKS5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLHRoaXMudmlzaWJsZT0hMX1hc3luYyBkZXN0cm95KCl7bGV0IGs9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2U7YXdhaXQgdGhpcy5oaWRlKCksYXdhaXQgay5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDMwMCksWnQudW5yZWdpc3Rlcih0aGlzKSx0aGlzLnJlbW92ZSgpfXN0YXRpY3tlYyhyLHQpfX07cmV0dXJuIHk9cn0pKCl9KTtmdW5jdGlvbiBHNmUoYSxlKXsoZT09bnVsbHx8ZT5hLmxlbmd0aCkmJihlPWEubGVuZ3RoKTtmb3IodmFyIHQ9MCxyPUFycmF5KGUpO3Q8ZTt0Kyspclt0XT1hW3RdO3JldHVybiByfWZ1bmN0aW9uIEtDYShhKXtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBhfWZ1bmN0aW9uIFpDYShhKXtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBHNmUoYSl9ZnVuY3Rpb24gWENhKGEsZSl7aWYoIShhIGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9ZnVuY3Rpb24gVDd0KGEsZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciByPWVbdF07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwkN3Qoci5rZXkpLHIpfX1mdW5jdGlvbiBRQ2EoYSxlLHQpe3JldHVybiBlJiZUN3QoYS5wcm90b3R5cGUsZSksdCYmVDd0KGEsdCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsInByb3RvdHlwZSIse3dyaXRhYmxlOiExfSksYX1mdW5jdGlvbiBKSihhLGUpe3ZhciB0PXR5cGVvZiBTeW1ib2w8InUiJiZhW1N5bWJvbC5pdGVyYXRvcl18fGFbIkBAaXRlcmF0b3IiXTtpZighdCl7aWYoQXJyYXkuaXNBcnJheShhKXx8KHQ9WTZlKGEpKXx8ZSYmYSYmdHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIil7dCYmKGE9dCk7dmFyIHI9MCxpPXMoZnVuY3Rpb24oKXt9LCJGIik7cmV0dXJue3M6aSxuOnMoZnVuY3Rpb24oKXtyZXR1cm4gcj49YS5sZW5ndGg/e2RvbmU6ITB9Ontkb25lOiExLHZhbHVlOmFbcisrXX19LCJuIiksZTpzKGZ1bmN0aW9uKGQpe3Rocm93IGR9LCJlIiksZjppfX10aHJvdyBuZXcgVHlwZUVycm9yKGBJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuCkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5gKX12YXIgbyxuPSEwLGw9ITE7cmV0dXJue3M6cyhmdW5jdGlvbigpe3Q9dC5jYWxsKGEpfSwicyIpLG46cyhmdW5jdGlvbigpe3ZhciBkPXQubmV4dCgpO3JldHVybiBuPWQuZG9uZSxkfSwibiIpLGU6cyhmdW5jdGlvbihkKXtsPSEwLG89ZH0sImUiKSxmOnMoZnVuY3Rpb24oKXt0cnl7bnx8dC5yZXR1cm49PW51bGx8fHQucmV0dXJuKCl9ZmluYWxseXtpZihsKXRocm93IG99fSwiZiIpfX1mdW5jdGlvbiBXdChhLGUsdCl7cmV0dXJuKGU9JDd0KGUpKWluIGE/T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsZSx7dmFsdWU6dCxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOmFbZV09dCxhfWZ1bmN0aW9uIEpDYShhLGUpe2lmKHR5cGVvZiBlIT0iZnVuY3Rpb24iJiZlIT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiIpO2EucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTphLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KSxlJiZlZWUoYSxlKX1mdW5jdGlvbiBlX2EoYSl7aWYodHlwZW9mIFN5bWJvbDwidSImJmFbU3ltYm9sLml0ZXJhdG9yXSE9bnVsbHx8YVsiQEBpdGVyYXRvciJdIT1udWxsKXJldHVybiBBcnJheS5mcm9tKGEpfWZ1bmN0aW9uIHRfYShhLGUpe3ZhciB0PWE9PW51bGw/bnVsbDp0eXBlb2YgU3ltYm9sPCJ1IiYmYVtTeW1ib2wuaXRlcmF0b3JdfHxhWyJAQGl0ZXJhdG9yIl07aWYodCE9bnVsbCl7dmFyIHIsaSxvLG4sbD1bXSxkPSEwLGM9ITE7dHJ5e2lmKG89KHQ9dC5jYWxsKGEpKS5uZXh0LGU9PT0wKXtpZihPYmplY3QodCkhPT10KXJldHVybjtkPSExfWVsc2UgZm9yKDshKGQ9KHI9by5jYWxsKHQpKS5kb25lKSYmKGwucHVzaChyLnZhbHVlKSxsLmxlbmd0aCE9PWUpO2Q9ITApO31jYXRjaChwKXtjPSEwLGk9cH1maW5hbGx5e3RyeXtpZighZCYmdC5yZXR1cm4hPW51bGwmJihuPXQucmV0dXJuKCksT2JqZWN0KG4pIT09bikpcmV0dXJufWZpbmFsbHl7aWYoYyl0aHJvdyBpfX1yZXR1cm4gbH19ZnVuY3Rpb24gYV9hKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihgSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS4KSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLmApfWZ1bmN0aW9uIHJfYSgpe3Rocm93IG5ldyBUeXBlRXJyb3IoYEludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLgpJbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuYCl9ZnVuY3Rpb24gTDd0KGEsZSl7dmFyIHQ9T2JqZWN0LmtleXMoYSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIHI9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhhKTtlJiYocj1yLmZpbHRlcihmdW5jdGlvbihpKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhLGkpLmVudW1lcmFibGV9KSksdC5wdXNoLmFwcGx5KHQscil9cmV0dXJuIHR9ZnVuY3Rpb24gWGUoYSl7Zm9yKHZhciBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIHQ9YXJndW1lbnRzW2VdIT1udWxsP2FyZ3VtZW50c1tlXTp7fTtlJTI/TDd0KE9iamVjdCh0KSwhMCkuZm9yRWFjaChmdW5jdGlvbihyKXtXdChhLHIsdFtyXSl9KTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyhhLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHQpKTpMN3QoT2JqZWN0KHQpKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLHIsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LHIpKX0pfXJldHVybiBhfWZ1bmN0aW9uIGVlZShhLGUpe3JldHVybiBlZWU9T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24odCxyKXtyZXR1cm4gdC5fX3Byb3RvX189cix0fSxlZWUoYSxlKX1mdW5jdGlvbiB0ZWUoYSxlKXtyZXR1cm4gS0NhKGEpfHx0X2EoYSxlKXx8WTZlKGEsZSl8fGFfYSgpfWZ1bmN0aW9uIGsxKGEpe3JldHVybiBaQ2EoYSl8fGVfYShhKXx8WTZlKGEpfHxyX2EoKX1mdW5jdGlvbiBzX2EoYSxlKXtpZih0eXBlb2YgYSE9Im9iamVjdCJ8fCFhKXJldHVybiBhO3ZhciB0PWFbU3ltYm9sLnRvUHJpbWl0aXZlXTtpZih0IT09dm9pZCAwKXt2YXIgcj10LmNhbGwoYSxlfHwiZGVmYXVsdCIpO2lmKHR5cGVvZiByIT0ib2JqZWN0IilyZXR1cm4gcjt0aHJvdyBuZXcgVHlwZUVycm9yKCJAQHRvUHJpbWl0aXZlIG11c3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLiIpfXJldHVybihlPT09InN0cmluZyI/U3RyaW5nOk51bWJlcikoYSl9ZnVuY3Rpb24gJDd0KGEpe3ZhciBlPXNfYShhLCJzdHJpbmciKTtyZXR1cm4gdHlwZW9mIGU9PSJzeW1ib2wiP2U6ZSsiIn1mdW5jdGlvbiBhZWUoYSl7IkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mIjtyZXR1cm4gYWVlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJnR5cGVvZiBTeW1ib2wuaXRlcmF0b3I9PSJzeW1ib2wiP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJnR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfSxhZWUoYSl9ZnVuY3Rpb24gWTZlKGEsZSl7aWYoYSl7aWYodHlwZW9mIGE9PSJzdHJpbmciKXJldHVybiBHNmUoYSxlKTt2YXIgdD17fS50b1N0cmluZy5jYWxsKGEpLnNsaWNlKDgsLTEpO3JldHVybiB0PT09Ik9iamVjdCImJmEuY29uc3RydWN0b3ImJih0PWEuY29uc3RydWN0b3IubmFtZSksdD09PSJNYXAifHx0PT09IlNldCI/QXJyYXkuZnJvbShhKTp0PT09IkFyZ3VtZW50cyJ8fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KHQpP0c2ZShhLGUpOnZvaWQgMH19ZnVuY3Rpb24gVGkoKXtUaT1zKGZ1bmN0aW9uKGksbyl7cmV0dXJuIG5ldyB0KGksdm9pZCAwLG8pfSwiX3dyYXBSZWdFeHAiKTt2YXIgYT1SZWdFeHAucHJvdG90eXBlLGU9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gdChpLG8sbil7dmFyIGw9UmVnRXhwKGksbyk7cmV0dXJuIGUuc2V0KGwsbnx8ZS5nZXQoaSkpLGVlZShsLHQucHJvdG90eXBlKX1zKHQsIkJhYmVsUmVnRXhwIik7ZnVuY3Rpb24gcihpLG8pe3ZhciBuPWUuZ2V0KG8pO3JldHVybiBPYmplY3Qua2V5cyhuKS5yZWR1Y2UoZnVuY3Rpb24obCxkKXt2YXIgYz1uW2RdO2lmKHR5cGVvZiBjPT0ibnVtYmVyIilsW2RdPWlbY107ZWxzZXtmb3IodmFyIHA9MDtpW2NbcF1dPT09dm9pZCAwJiZwKzE8Yy5sZW5ndGg7KXArKztsW2RdPWlbY1twXV19cmV0dXJuIGx9LE9iamVjdC5jcmVhdGUobnVsbCkpfXJldHVybiBzKHIsImJ1aWxkR3JvdXBzIiksSkNhKHQsUmVnRXhwKSx0LnByb3RvdHlwZS5leGVjPWZ1bmN0aW9uKGkpe3ZhciBvPWEuZXhlYy5jYWxsKHRoaXMsaSk7aWYobyl7by5ncm91cHM9cihvLHRoaXMpO3ZhciBuPW8uaW5kaWNlcztuJiYobi5ncm91cHM9cihuLHRoaXMpKX1yZXR1cm4gb30sdC5wcm90b3R5cGVbU3ltYm9sLnJlcGxhY2VdPWZ1bmN0aW9uKGksbyl7aWYodHlwZW9mIG89PSJzdHJpbmciKXt2YXIgbj1lLmdldCh0aGlzKTtyZXR1cm4gYVtTeW1ib2wucmVwbGFjZV0uY2FsbCh0aGlzLGksby5yZXBsYWNlKC9cJDwoW14+XSspKD58JCkvZyxmdW5jdGlvbihkLGMscCl7aWYocD09PSIiKXJldHVybiBkO3ZhciB1PW5bY107cmV0dXJuIEFycmF5LmlzQXJyYXkodSk/IiQiK3Uuam9pbigiJCIpOnR5cGVvZiB1PT0ibnVtYmVyIj8iJCIrdToiIn0pKX1pZih0eXBlb2Ygbz09ImZ1bmN0aW9uIil7dmFyIGw9dGhpcztyZXR1cm4gYVtTeW1ib2wucmVwbGFjZV0uY2FsbCh0aGlzLGksZnVuY3Rpb24oKXt2YXIgZD1hcmd1bWVudHM7cmV0dXJuIHR5cGVvZiBkW2QubGVuZ3RoLTFdIT0ib2JqZWN0IiYmKGQ9W10uc2xpY2UuY2FsbChkKSkucHVzaChyKGQsbCkpLG8uYXBwbHkodGhpcyxkKX0pfXJldHVybiBhW1N5bWJvbC5yZXBsYWNlXS5jYWxsKHRoaXMsaSxvKX0sVGkuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIExiKGEpe3JldHVybiBuZXcgUHJveHkoYSx7Z2V0OnMoZnVuY3Rpb24odCxyKXtyZXR1cm4gciBpbiB0P3Rbcl06dFtKc119LCJnZXQiKX0pfWZ1bmN0aW9uIFdUYShhKXt2YXIgZT1mci5xdWVyeVNlbGVjdG9yKCJzY3JpcHRbIithKyJdIik7aWYoZSlyZXR1cm4gZS5nZXRBdHRyaWJ1dGUoYSl9ZnVuY3Rpb24gR1RhKGEpe3JldHVybiBhPT09IiI/ITA6YT09PSJmYWxzZSI/ITE6YT09PSJ0cnVlIj8hMDphfWZ1bmN0aW9uIFlUYShhKXtyZXR1cm4gRGIucHVzaChhKSxmdW5jdGlvbigpe0RiLnNwbGljZShEYi5pbmRleE9mKGEpLDEpfX1mdW5jdGlvbiBLVGEoYSl7aWYoISghYXx8IXRjKSl7dmFyIGU9ZnIuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtlLnNldEF0dHJpYnV0ZSgidHlwZSIsInRleHQvY3NzIiksZS5pbm5lckhUTUw9YTtmb3IodmFyIHQ9ZnIuaGVhZC5jaGlsZE5vZGVzLHI9bnVsbCxpPXQubGVuZ3RoLTE7aT4tMTtpLS0pe3ZhciBvPXRbaV0sbj0oby50YWdOYW1lfHwiIikudG9VcHBlckNhc2UoKTtbIlNUWUxFIiwiTElOSyJdLmluZGV4T2Yobik+LTEmJihyPW8pfXJldHVybiBmci5oZWFkLmluc2VydEJlZm9yZShlLHIpLGF9fWZ1bmN0aW9uIHk5dCgpe2Zvcih2YXIgYT0xMixlPSIiO2EtLSA+MDspZSs9WlRhW01hdGgucmFuZG9tKCkqNjJ8MF07cmV0dXJuIGV9ZnVuY3Rpb24gSzgoYSl7Zm9yKHZhciBlPVtdLHQ9KGF8fFtdKS5sZW5ndGg+Pj4wO3QtLTspZVt0XT1hW3RdO3JldHVybiBlfWZ1bmN0aW9uIGx1ZShhKXtyZXR1cm4gYS5jbGFzc0xpc3Q/SzgoYS5jbGFzc0xpc3QpOihhLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIpLnNwbGl0KCIgIikuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlfSl9ZnVuY3Rpb24gdzl0KGEpe3JldHVybiIiLmNvbmNhdChhKS5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZSgvIi9nLCImcXVvdDsiKS5yZXBsYWNlKC8nL2csIiYjMzk7IikucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvPi9nLCImZ3Q7Iil9ZnVuY3Rpb24gWFRhKGEpe3JldHVybiBPYmplY3Qua2V5cyhhfHx7fSkucmVkdWNlKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUrIiIuY29uY2F0KHQsJz0iJykuY29uY2F0KHc5dChhW3RdKSwnIiAnKX0sIiIpLnRyaW0oKX1mdW5jdGlvbiBpZWUoYSl7cmV0dXJuIE9iamVjdC5rZXlzKGF8fHt9KS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSsiIi5jb25jYXQodCwiOiAiKS5jb25jYXQoYVt0XS50cmltKCksIjsiKX0sIiIpfWZ1bmN0aW9uIGN1ZShhKXtyZXR1cm4gYS5zaXplIT09VjIuc2l6ZXx8YS54IT09VjIueHx8YS55IT09VjIueXx8YS5yb3RhdGUhPT1WMi5yb3RhdGV8fGEuZmxpcFh8fGEuZmxpcFl9ZnVuY3Rpb24gUVRhKGEpe3ZhciBlPWEudHJhbnNmb3JtLHQ9YS5jb250YWluZXJXaWR0aCxyPWEuaWNvbldpZHRoLGk9e3RyYW5zZm9ybToidHJhbnNsYXRlKCIuY29uY2F0KHQvMiwiIDI1NikiKX0sbz0idHJhbnNsYXRlKCIuY29uY2F0KGUueCozMiwiLCAiKS5jb25jYXQoZS55KjMyLCIpICIpLG49InNjYWxlKCIuY29uY2F0KGUuc2l6ZS8xNiooZS5mbGlwWD8tMToxKSwiLCAiKS5jb25jYXQoZS5zaXplLzE2KihlLmZsaXBZPy0xOjEpLCIpICIpLGw9InJvdGF0ZSgiLmNvbmNhdChlLnJvdGF0ZSwiIDAgMCkiKSxkPXt0cmFuc2Zvcm06IiIuY29uY2F0KG8sIiAiKS5jb25jYXQobiwiICIpLmNvbmNhdChsKX0sYz17dHJhbnNmb3JtOiJ0cmFuc2xhdGUoIi5jb25jYXQoci8yKi0xLCIgLTI1NikiKX07cmV0dXJue291dGVyOmksaW5uZXI6ZCxwYXRoOmN9fWZ1bmN0aW9uIEpUYShhKXt2YXIgZT1hLnRyYW5zZm9ybSx0PWEud2lkdGgscj10PT09dm9pZCAwP0o2ZTp0LGk9YS5oZWlnaHQsbz1pPT09dm9pZCAwP0o2ZTppLG49YS5zdGFydENlbnRlcmVkLGw9bj09PXZvaWQgMD8hMTpuLGQ9IiI7cmV0dXJuIGwmJk83dD9kKz0idHJhbnNsYXRlKCIuY29uY2F0KGUueC9hNC1yLzIsImVtLCAiKS5jb25jYXQoZS55L2E0LW8vMiwiZW0pICIpOmw/ZCs9InRyYW5zbGF0ZShjYWxjKC01MCUgKyAiLmNvbmNhdChlLngvYTQsImVtKSwgY2FsYygtNTAlICsgIikuY29uY2F0KGUueS9hNCwiZW0pKSAiKTpkKz0idHJhbnNsYXRlKCIuY29uY2F0KGUueC9hNCwiZW0sICIpLmNvbmNhdChlLnkvYTQsImVtKSAiKSxkKz0ic2NhbGUoIi5jb25jYXQoZS5zaXplL2E0KihlLmZsaXBYPy0xOjEpLCIsICIpLmNvbmNhdChlLnNpemUvYTQqKGUuZmxpcFk/LTE6MSksIikgIiksZCs9InJvdGF0ZSgiLmNvbmNhdChlLnJvdGF0ZSwiZGVnKSAiKSxkfWZ1bmN0aW9uIE05dCgpe3ZhciBhPWQ5dCxlPXU5dCx0PSR0LmNzc1ByZWZpeCxyPSR0LnJlcGxhY2VtZW50Q2xhc3MsaT1lTGE7aWYodCE9PWF8fHIhPT1lKXt2YXIgbz1uZXcgUmVnRXhwKCJcXC4iLmNvbmNhdChhLCJcXC0iKSwiZyIpLG49bmV3IFJlZ0V4cCgiXFwtLSIuY29uY2F0KGEsIlxcLSIpLCJnIiksbD1uZXcgUmVnRXhwKCJcXC4iLmNvbmNhdChlKSwiZyIpO2k9aS5yZXBsYWNlKG8sIi4iLmNvbmNhdCh0LCItIikpLnJlcGxhY2UobiwiLS0iLmNvbmNhdCh0LCItIikpLnJlcGxhY2UobCwiLiIuY29uY2F0KHIpKX1yZXR1cm4gaX1mdW5jdGlvbiBkdWUoKXskdC5hdXRvQWRkQ3NzJiYhazl0JiYoS1RhKE05dCgpKSxrOXQ9ITApfWZ1bmN0aW9uIGFMYShhKXt0YyYmKG9lZT9zZXRUaW1lb3V0KGEsMCk6Uzl0LnB1c2goYSkpfWZ1bmN0aW9uIEFiKGEpe3ZhciBlPWEudGFnLHQ9YS5hdHRyaWJ1dGVzLHI9dD09PXZvaWQgMD97fTp0LGk9YS5jaGlsZHJlbixvPWk9PT12b2lkIDA/W106aTtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmciP3c5dChhKToiPCIuY29uY2F0KGUsIiAiKS5jb25jYXQoWFRhKHIpLCI+IikuY29uY2F0KG8ubWFwKEFiKS5qb2luKCIiKSwiPC8iKS5jb25jYXQoZSwiPiIpfWZ1bmN0aW9uIEM5dChhLGUsdCl7aWYoYSYmYVtlXSYmYVtlXVt0XSlyZXR1cm57cHJlZml4OmUsaWNvbk5hbWU6dCxpY29uOmFbZV1bdF19fWZ1bmN0aW9uIF85dChhKXtyZXR1cm4gazEoYSkubGVuZ3RoIT09MT9udWxsOmEuY29kZVBvaW50QXQoMCkudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIFQ5dChhKXtyZXR1cm4gT2JqZWN0LmtleXMoYSkucmVkdWNlKGZ1bmN0aW9uKGUsdCl7dmFyIHI9YVt0XSxpPSEhci5pY29uO3JldHVybiBpP2Vbci5pY29uTmFtZV09ci5pY29uOmVbdF09cixlfSx7fSl9ZnVuY3Rpb24gcHVlKGEsZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4yJiZhcmd1bWVudHNbMl0hPT12b2lkIDA/YXJndW1lbnRzWzJdOnt9LHI9dC5za2lwSG9va3MsaT1yPT09dm9pZCAwPyExOnIsbz1UOXQoZSk7dHlwZW9mIFMxLmhvb2tzLmFkZFBhY2s9PSJmdW5jdGlvbiImJiFpP1MxLmhvb2tzLmFkZFBhY2soYSxUOXQoZSkpOlMxLnN0eWxlc1thXT1YZShYZSh7fSxTMS5zdHlsZXNbYV18fHt9KSxvKSxhPT09ImZhcyImJnB1ZSgiZmEiLGUpfWZ1bmN0aW9uIG9MYShhKXtyZXR1cm5+VVRhLmluZGV4T2YoYSl9ZnVuY3Rpb24gbkxhKGEsZSl7dmFyIHQ9ZS5zcGxpdCgiLSIpLHI9dFswXSxpPXQuc2xpY2UoMSkuam9pbigiLSIpO3JldHVybiByPT09YSYmaSE9PSIiJiYhb0xhKGkpP2k6bnVsbH1mdW5jdGlvbiBtdWUoYSxlKXtyZXR1cm4oJDl0W2FdfHx7fSlbZV19ZnVuY3Rpb24gbExhKGEsZSl7cmV0dXJuKEQ5dFthXXx8e30pW2VdfWZ1bmN0aW9uIGdkKGEsZSl7cmV0dXJuKFA5dFthXXx8e30pW2VdfWZ1bmN0aW9uIE45dChhKXtyZXR1cm4gQTl0W2FdfHx7cHJlZml4Om51bGwsaWNvbk5hbWU6bnVsbH19ZnVuY3Rpb24gY0xhKGEpe3ZhciBlPUU5dFthXSx0PW11ZSgiZmFzIixhKTtyZXR1cm4gZXx8KHQ/e3ByZWZpeDoiZmFzIixpY29uTmFtZTp0fTpudWxsKXx8e3ByZWZpeDpudWxsLGljb25OYW1lOm51bGx9fWZ1bmN0aW9uIHI0KCl7cmV0dXJuIGh1ZX1mdW5jdGlvbiBkTGEoYSl7dmFyIGU9SnMsdD1MOXQucmVkdWNlKGZ1bmN0aW9uKHIsaSl7cmV0dXJuIHJbaV09IiIuY29uY2F0KCR0LmNzc1ByZWZpeCwiLSIpLmNvbmNhdChpKSxyfSx7fSk7cmV0dXJuIHM5dC5mb3JFYWNoKGZ1bmN0aW9uKHIpeyhhLmluY2x1ZGVzKHRbcl0pfHxhLnNvbWUoZnVuY3Rpb24oaSl7cmV0dXJuIGlMYVtyXS5pbmNsdWRlcyhpKX0pKSYmKGU9cil9KSxlfWZ1bmN0aW9uIG5lZShhKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e30sdD1lLmZhbWlseSxyPXQ9PT12b2lkIDA/SnM6dCxpPUJUYVtyXVthXTtpZihyPT09VGImJiFhKXJldHVybiJmYWQiO3ZhciBvPWc5dFtyXVthXXx8Zzl0W3JdW2ldLG49YSBpbiBTMS5zdHlsZXM/YTpudWxsLGw9b3x8bnx8bnVsbDtyZXR1cm4gbH1mdW5jdGlvbiB1TGEoYSl7dmFyIGU9W10sdD1udWxsO3JldHVybiBhLmZvckVhY2goZnVuY3Rpb24ocil7dmFyIGk9bkxhKCR0LmNzc1ByZWZpeCxyKTtpP3Q9aTpyJiZlLnB1c2gocil9KSx7aWNvbk5hbWU6dCxyZXN0OmV9fWZ1bmN0aW9uIE85dChhKXtyZXR1cm4gYS5zb3J0KCkuZmlsdGVyKGZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gci5pbmRleE9mKGUpPT09dH0pfWZ1bmN0aW9uIGxlZShhKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e30sdD1lLnNraXBMb29rdXBzLHI9dD09PXZvaWQgMD8hMTp0LGk9bnVsbCxvPU85dChhLmZpbHRlcihmdW5jdGlvbih2KXtyZXR1cm4gRjl0LmluY2x1ZGVzKHYpfSkpLG49Tzl0KGEuZmlsdGVyKGZ1bmN0aW9uKHYpe3JldHVybiFGOXQuaW5jbHVkZXModil9KSksbD1vLmZpbHRlcihmdW5jdGlvbih2KXtyZXR1cm4gaT12LCFCN3QuaW5jbHVkZXModil9KSxkPXRlZShsLDEpLGM9ZFswXSxwPWM9PT12b2lkIDA/bnVsbDpjLHU9ZExhKG8pLG09WGUoWGUoe30sdUxhKG4pKSx7fSx7cHJlZml4Om5lZShwLHtmYW1pbHk6dX0pfSk7cmV0dXJuIFhlKFhlKFhlKHt9LG0pLG1MYSh7dmFsdWVzOmEsZmFtaWx5OnUsc3R5bGVzOkViLGNvbmZpZzokdCxjYW5vbmljYWw6bSxnaXZlblByZWZpeDppfSkpLHBMYShyLGksbSkpfWZ1bmN0aW9uIHBMYShhLGUsdCl7dmFyIHI9dC5wcmVmaXgsaT10Lmljb25OYW1lO2lmKGF8fCFyfHwhaSlyZXR1cm57cHJlZml4OnIsaWNvbk5hbWU6aX07dmFyIG89ZT09PSJmYSI/Tjl0KGkpOnt9LG49Z2QocixpKTtyZXR1cm4gaT1vLmljb25OYW1lfHxufHxpLHI9by5wcmVmaXh8fHIscj09PSJmYXIiJiYhRWIuZmFyJiZFYi5mYXMmJiEkdC5hdXRvRmV0Y2hTdmcmJihyPSJmYXMiKSx7cHJlZml4OnIsaWNvbk5hbWU6aX19ZnVuY3Rpb24gbUxhKGEpe3ZhciBlPWEudmFsdWVzLHQ9YS5mYW1pbHkscj1hLmNhbm9uaWNhbCxpPWEuZ2l2ZW5QcmVmaXgsbz1pPT09dm9pZCAwPyIiOmksbj1hLnN0eWxlcyxsPW49PT12b2lkIDA/e306bixkPWEuY29uZmlnLGM9ZD09PXZvaWQgMD97fTpkLHA9dD09PVRiLHU9ZS5pbmNsdWRlcygiZmEtZHVvdG9uZSIpfHxlLmluY2x1ZGVzKCJmYWQiKSxtPWMuZmFtaWx5RGVmYXVsdD09PSJkdW90b25lIix2PXIucHJlZml4PT09ImZhZCJ8fHIucHJlZml4PT09ImZhLWR1b3RvbmUiO2lmKCFwJiYodXx8bXx8dikmJihyLnByZWZpeD0iZmFkIiksKGUuaW5jbHVkZXMoImZhLWJyYW5kcyIpfHxlLmluY2x1ZGVzKCJmYWIiKSkmJihyLnByZWZpeD0iZmFiIiksIXIucHJlZml4JiZmTGEuaW5jbHVkZXModCkpe3ZhciB4PU9iamVjdC5rZXlzKGwpLmZpbmQoZnVuY3Rpb24oZyl7cmV0dXJuIGhMYS5pbmNsdWRlcyhnKX0pO2lmKHh8fGMuYXV0b0ZldGNoU3ZnKXt2YXIgYj0kX2EuZ2V0KHQpLmRlZmF1bHRTaG9ydFByZWZpeElkO3IucHJlZml4PWIsci5pY29uTmFtZT1nZChyLnByZWZpeCxyLmljb25OYW1lKXx8ci5pY29uTmFtZX19cmV0dXJuKHIucHJlZml4PT09ImZhInx8bz09PSJmYSIpJiYoci5wcmVmaXg9cjQoKXx8ImZhcyIpLHJ9ZnVuY3Rpb24gdkxhKGEsZSl7dmFyIHQ9ZS5taXhvdXRzVG87cmV0dXJuIEI5dD1hLFo4PXt9LE9iamVjdC5rZXlzKFg4KS5mb3JFYWNoKGZ1bmN0aW9uKHIpe2JMYS5pbmRleE9mKHIpPT09LTEmJmRlbGV0ZSBYOFtyXX0pLEI5dC5mb3JFYWNoKGZ1bmN0aW9uKHIpe3ZhciBpPXIubWl4b3V0P3IubWl4b3V0KCk6e307aWYoT2JqZWN0LmtleXMoaSkuZm9yRWFjaChmdW5jdGlvbihuKXt0eXBlb2YgaVtuXT09ImZ1bmN0aW9uIiYmKHRbbl09aVtuXSksYWVlKGlbbl0pPT09Im9iamVjdCImJk9iamVjdC5rZXlzKGlbbl0pLmZvckVhY2goZnVuY3Rpb24obCl7dFtuXXx8KHRbbl09e30pLHRbbl1bbF09aVtuXVtsXX0pfSksci5ob29rcyl7dmFyIG89ci5ob29rcygpO09iamVjdC5rZXlzKG8pLmZvckVhY2goZnVuY3Rpb24obil7Wjhbbl18fChaOFtuXT1bXSksWjhbbl0ucHVzaChvW25dKX0pfXIucHJvdmlkZXMmJnIucHJvdmlkZXMoWDgpfSksdH1mdW5jdGlvbiBndWUoYSxlKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheSh0PjI/dC0yOjApLGk9MjtpPHQ7aSsrKXJbaS0yXT1hcmd1bWVudHNbaV07dmFyIG89WjhbYV18fFtdO3JldHVybiBvLmZvckVhY2goZnVuY3Rpb24obil7ZT1uLmFwcGx5KG51bGwsW2VdLmNvbmNhdChyKSl9KSxlfWZ1bmN0aW9uIGJkKGEpe2Zvcih2YXIgZT1hcmd1bWVudHMubGVuZ3RoLHQ9bmV3IEFycmF5KGU+MT9lLTE6MCkscj0xO3I8ZTtyKyspdFtyLTFdPWFyZ3VtZW50c1tyXTt2YXIgaT1aOFthXXx8W107aS5mb3JFYWNoKGZ1bmN0aW9uKG8pe28uYXBwbHkobnVsbCx0KX0pfWZ1bmN0aW9uIHM0KCl7dmFyIGE9YXJndW1lbnRzWzBdLGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBYOFthXT9YOFthXS5hcHBseShudWxsLGUpOnZvaWQgMH1mdW5jdGlvbiBidWUoYSl7YS5wcmVmaXg9PT0iZmEiJiYoYS5wcmVmaXg9ImZhcyIpO3ZhciBlPWEuaWNvbk5hbWUsdD1hLnByZWZpeHx8cjQoKTtpZihlKXJldHVybiBlPWdkKHQsZSl8fGUsQzl0KEg5dC5kZWZpbml0aW9ucyx0LGUpfHxDOXQoUzEuc3R5bGVzLHQsZSl9ZnVuY3Rpb24gY2VlKGEsZSl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJhYnN0cmFjdCIse2dldDplfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsImh0bWwiLHtnZXQ6cyhmdW5jdGlvbigpe3JldHVybiBhLmFic3RyYWN0Lm1hcChmdW5jdGlvbihyKXtyZXR1cm4gQWIocil9KX0sImdldCIpfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIm5vZGUiLHtnZXQ6cyhmdW5jdGlvbigpe2lmKHRjKXt2YXIgcj1mci5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gci5pbm5lckhUTUw9YS5odG1sLHIuY2hpbGRyZW59fSwiZ2V0Iil9KSxhfWZ1bmN0aW9uIGtMYShhKXt2YXIgZT1hLmNoaWxkcmVuLHQ9YS5tYWluLHI9YS5tYXNrLGk9YS5hdHRyaWJ1dGVzLG89YS5zdHlsZXMsbj1hLnRyYW5zZm9ybTtpZihjdWUobikmJnQuZm91bmQmJiFyLmZvdW5kKXt2YXIgbD10LndpZHRoLGQ9dC5oZWlnaHQsYz17eDpsL2QvMix5Oi41fTtpLnN0eWxlPWllZShYZShYZSh7fSxvKSx7fSx7InRyYW5zZm9ybS1vcmlnaW4iOiIiLmNvbmNhdChjLngrbi54LzE2LCJlbSAiKS5jb25jYXQoYy55K24ueS8xNiwiZW0iKX0pKX1yZXR1cm5be3RhZzoic3ZnIixhdHRyaWJ1dGVzOmksY2hpbGRyZW46ZX1dfWZ1bmN0aW9uIFNMYShhKXt2YXIgZT1hLnByZWZpeCx0PWEuaWNvbk5hbWUscj1hLmNoaWxkcmVuLGk9YS5hdHRyaWJ1dGVzLG89YS5zeW1ib2wsbj1vPT09ITA/IiIuY29uY2F0KGUsIi0iKS5jb25jYXQoJHQuY3NzUHJlZml4LCItIikuY29uY2F0KHQpOm87cmV0dXJuW3t0YWc6InN2ZyIsYXR0cmlidXRlczp7c3R5bGU6ImRpc3BsYXk6IG5vbmU7In0sY2hpbGRyZW46W3t0YWc6InN5bWJvbCIsYXR0cmlidXRlczpYZShYZSh7fSxpKSx7fSx7aWQ6bn0pLGNoaWxkcmVuOnJ9XX1dfWZ1bmN0aW9uIHpMYShhKXt2YXIgZT1bImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJ0aXRsZSIsInJvbGUiXTtyZXR1cm4gZS5zb21lKGZ1bmN0aW9uKHQpe3JldHVybiB0IGluIGF9KX1mdW5jdGlvbiB2dWUoYSl7dmFyIGU9YS5pY29ucyx0PWUubWFpbixyPWUubWFzayxpPWEucHJlZml4LG89YS5pY29uTmFtZSxuPWEudHJhbnNmb3JtLGw9YS5zeW1ib2wsZD1hLm1hc2tJZCxjPWEuZXh0cmEscD1hLndhdGNoYWJsZSx1PXA9PT12b2lkIDA/ITE6cCxtPXIuZm91bmQ/cjp0LHY9bS53aWR0aCx4PW0uaGVpZ2h0LGI9WyR0LnJlcGxhY2VtZW50Q2xhc3Msbz8iIi5jb25jYXQoJHQuY3NzUHJlZml4LCItIikuY29uY2F0KG8pOiIiXS5maWx0ZXIoZnVuY3Rpb24oXyl7cmV0dXJuIGMuY2xhc3Nlcy5pbmRleE9mKF8pPT09LTF9KS5maWx0ZXIoZnVuY3Rpb24oXyl7cmV0dXJuIF8hPT0iInx8ISFffSkuY29uY2F0KGMuY2xhc3Nlcykuam9pbigiICIpLGc9e2NoaWxkcmVuOltdLGF0dHJpYnV0ZXM6WGUoWGUoe30sYy5hdHRyaWJ1dGVzKSx7fSx7ImRhdGEtcHJlZml4IjppLCJkYXRhLWljb24iOm8sY2xhc3M6Yixyb2xlOmMuYXR0cmlidXRlcy5yb2xlfHwiaW1nIix2aWV3Qm94OiIwIDAgIi5jb25jYXQodiwiICIpLmNvbmNhdCh4KX0pfTshekxhKGMuYXR0cmlidXRlcykmJiFjLmF0dHJpYnV0ZXNbImFyaWEtaGlkZGVuIl0mJihnLmF0dHJpYnV0ZXNbImFyaWEtaGlkZGVuIl09InRydWUiKSx1JiYoZy5hdHRyaWJ1dGVzW21kXT0iIik7dmFyIHk9WGUoWGUoe30sZykse30se3ByZWZpeDppLGljb25OYW1lOm8sbWFpbjp0LG1hc2s6cixtYXNrSWQ6ZCx0cmFuc2Zvcm06bixzeW1ib2w6bCxzdHlsZXM6WGUoe30sYy5zdHlsZXMpfSksaz1yLmZvdW5kJiZ0LmZvdW5kP3M0KCJnZW5lcmF0ZUFic3RyYWN0TWFzayIseSl8fHtjaGlsZHJlbjpbXSxhdHRyaWJ1dGVzOnt9fTpzNCgiZ2VuZXJhdGVBYnN0cmFjdEljb24iLHkpfHx7Y2hpbGRyZW46W10sYXR0cmlidXRlczp7fX0sQz1rLmNoaWxkcmVuLE49ay5hdHRyaWJ1dGVzO3JldHVybiB5LmNoaWxkcmVuPUMseS5hdHRyaWJ1dGVzPU4sbD9TTGEoeSk6a0xhKHkpfWZ1bmN0aW9uIHE5dChhKXt2YXIgZT1hLmNvbnRlbnQsdD1hLndpZHRoLHI9YS5oZWlnaHQsaT1hLnRyYW5zZm9ybSxvPWEuZXh0cmEsbj1hLndhdGNoYWJsZSxsPW49PT12b2lkIDA/ITE6bixkPVhlKFhlKHt9LG8uYXR0cmlidXRlcykse30se2NsYXNzOm8uY2xhc3Nlcy5qb2luKCIgIil9KTtsJiYoZFttZF09IiIpO3ZhciBjPVhlKHt9LG8uc3R5bGVzKTtjdWUoaSkmJihjLnRyYW5zZm9ybT1KVGEoe3RyYW5zZm9ybTppLHN0YXJ0Q2VudGVyZWQ6ITAsd2lkdGg6dCxoZWlnaHQ6cn0pLGNbIi13ZWJraXQtdHJhbnNmb3JtIl09Yy50cmFuc2Zvcm0pO3ZhciBwPWllZShjKTtwLmxlbmd0aD4wJiYoZC5zdHlsZT1wKTt2YXIgdT1bXTtyZXR1cm4gdS5wdXNoKHt0YWc6InNwYW4iLGF0dHJpYnV0ZXM6ZCxjaGlsZHJlbjpbZV19KSx1fWZ1bmN0aW9uIENMYShhKXt2YXIgZT1hLmNvbnRlbnQsdD1hLmV4dHJhLHI9WGUoWGUoe30sdC5hdHRyaWJ1dGVzKSx7fSx7Y2xhc3M6dC5jbGFzc2VzLmpvaW4oIiAiKX0pLGk9aWVlKHQuc3R5bGVzKTtpLmxlbmd0aD4wJiYoci5zdHlsZT1pKTt2YXIgbz1bXTtyZXR1cm4gby5wdXNoKHt0YWc6InNwYW4iLGF0dHJpYnV0ZXM6cixjaGlsZHJlbjpbZV19KSxvfWZ1bmN0aW9uIHl1ZShhKXt2YXIgZT1hWzBdLHQ9YVsxXSxyPWEuc2xpY2UoNCksaT10ZWUociwxKSxvPWlbMF0sbj1udWxsO3JldHVybiBBcnJheS5pc0FycmF5KG8pP249e3RhZzoiZyIsYXR0cmlidXRlczp7Y2xhc3M6IiIuY29uY2F0KCR0LmNzc1ByZWZpeCwiLSIpLmNvbmNhdChudWUuR1JPVVApfSxjaGlsZHJlbjpbe3RhZzoicGF0aCIsYXR0cmlidXRlczp7Y2xhc3M6IiIuY29uY2F0KCR0LmNzc1ByZWZpeCwiLSIpLmNvbmNhdChudWUuU0VDT05EQVJZKSxmaWxsOiJjdXJyZW50Q29sb3IiLGQ6b1swXX19LHt0YWc6InBhdGgiLGF0dHJpYnV0ZXM6e2NsYXNzOiIiLmNvbmNhdCgkdC5jc3NQcmVmaXgsIi0iKS5jb25jYXQobnVlLlBSSU1BUlkpLGZpbGw6ImN1cnJlbnRDb2xvciIsZDpvWzFdfX1dfTpuPXt0YWc6InBhdGgiLGF0dHJpYnV0ZXM6e2ZpbGw6ImN1cnJlbnRDb2xvciIsZDpvfX0se2ZvdW5kOiEwLHdpZHRoOmUsaGVpZ2h0OnQsaWNvbjpufX1mdW5jdGlvbiBUTGEoYSxlKXshaDl0JiYhJHQuc2hvd01pc3NpbmdJY29ucyYmYSYmY29uc29sZS5lcnJvcignSWNvbiB3aXRoIG5hbWUgIicuY29uY2F0KGEsJyIgYW5kIHByZWZpeCAiJykuY29uY2F0KGUsJyIgaXMgbWlzc2luZy4nKSl9ZnVuY3Rpb24gd3VlKGEsZSl7dmFyIHQ9ZTtyZXR1cm4gZT09PSJmYSImJiR0LnN0eWxlRGVmYXVsdCE9PW51bGwmJihlPXI0KCkpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKHIsaSl7aWYodD09PSJmYSIpe3ZhciBvPU45dChhKXx8e307YT1vLmljb25OYW1lfHxhLGU9by5wcmVmaXh8fGV9aWYoYSYmZSYmeHVlW2VdJiZ4dWVbZV1bYV0pe3ZhciBuPXh1ZVtlXVthXTtyZXR1cm4gcih5dWUobikpfVRMYShhLGUpLHIoWGUoWGUoe30sX0xhKSx7fSx7aWNvbjokdC5zaG93TWlzc2luZ0ljb25zJiZhP3M0KCJtaXNzaW5nSWNvbkFic3RyYWN0Iil8fHt9Ont9fSkpfSl9ZnVuY3Rpb24gVTl0KGEpe3ZhciBlPWEuZ2V0QXR0cmlidXRlP2EuZ2V0QXR0cmlidXRlKG1kKTpudWxsO3JldHVybiB0eXBlb2YgZT09InN0cmluZyJ9ZnVuY3Rpb24gJExhKGEpe3ZhciBlPWEuZ2V0QXR0cmlidXRlP2EuZ2V0QXR0cmlidXRlKHR1ZSk6bnVsbCx0PWEuZ2V0QXR0cmlidXRlP2EuZ2V0QXR0cmlidXRlKGF1ZSk6bnVsbDtyZXR1cm4gZSYmdH1mdW5jdGlvbiBETGEoYSl7cmV0dXJuIGEmJmEuY2xhc3NMaXN0JiZhLmNsYXNzTGlzdC5jb250YWlucyYmYS5jbGFzc0xpc3QuY29udGFpbnMoJHQucmVwbGFjZW1lbnRDbGFzcyl9ZnVuY3Rpb24gQUxhKCl7aWYoJHQuYXV0b1JlcGxhY2VTdmc9PT0hMClyZXR1cm4gdWVlLnJlcGxhY2U7dmFyIGE9dWVlWyR0LmF1dG9SZXBsYWNlU3ZnXTtyZXR1cm4gYXx8dWVlLnJlcGxhY2V9ZnVuY3Rpb24gRUxhKGEpe3JldHVybiBmci5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixhKX1mdW5jdGlvbiBQTGEoYSl7cmV0dXJuIGZyLmNyZWF0ZUVsZW1lbnQoYSl9ZnVuY3Rpb24gVzl0KGEpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTp7fSx0PWUuY2VGbixyPXQ9PT12b2lkIDA/YS50YWc9PT0ic3ZnIj9FTGE6UExhOnQ7aWYodHlwZW9mIGE9PSJzdHJpbmciKXJldHVybiBmci5jcmVhdGVUZXh0Tm9kZShhKTt2YXIgaT1yKGEudGFnKTtPYmplY3Qua2V5cyhhLmF0dHJpYnV0ZXN8fFtdKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe2kuc2V0QXR0cmlidXRlKG4sYS5hdHRyaWJ1dGVzW25dKX0pO3ZhciBvPWEuY2hpbGRyZW58fFtdO3JldHVybiBvLmZvckVhY2goZnVuY3Rpb24obil7aS5hcHBlbmRDaGlsZChXOXQobix7Y2VGbjpyfSkpfSksaX1mdW5jdGlvbiBJTGEoYSl7dmFyIGU9IiAiLmNvbmNhdChhLm91dGVySFRNTCwiICIpO3JldHVybiBlPSIiLmNvbmNhdChlLCJGb250IEF3ZXNvbWUgZm9udGF3ZXNvbWUuY29tICIpLGV9ZnVuY3Rpb24gRzl0KGEpe2EoKX1mdW5jdGlvbiBZOXQoYSxlKXt2YXIgdD10eXBlb2YgZT09ImZ1bmN0aW9uIj9lOmRlZTtpZihhLmxlbmd0aD09PTApdCgpO2Vsc2V7dmFyIHI9Rzl0OyR0Lm11dGF0ZUFwcHJvYWNoPT09T1RhJiYocj10NC5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fEc5dCkscihmdW5jdGlvbigpe3ZhciBpPUFMYSgpLG89a3VlLmJlZ2luKCJtdXRhdGUiKTthLm1hcChpKSxvKCksdCgpfSl9fWZ1bmN0aW9uIEs5dCgpe1N1ZT0hMH1mdW5jdGlvbiB6dWUoKXtTdWU9ITF9ZnVuY3Rpb24gWjl0KGEpe2lmKFI3dCYmJHQub2JzZXJ2ZU11dGF0aW9ucyl7dmFyIGU9YS50cmVlQ2FsbGJhY2ssdD1lPT09dm9pZCAwP2RlZTplLHI9YS5ub2RlQ2FsbGJhY2ssaT1yPT09dm9pZCAwP2RlZTpyLG89YS5wc2V1ZG9FbGVtZW50c0NhbGxiYWNrLG49bz09PXZvaWQgMD9kZWU6byxsPWEub2JzZXJ2ZU11dGF0aW9uc1Jvb3QsZD1sPT09dm9pZCAwP2ZyOmw7cGVlPW5ldyBSN3QoZnVuY3Rpb24oYyl7aWYoIVN1ZSl7dmFyIHA9cjQoKTtLOChjKS5mb3JFYWNoKGZ1bmN0aW9uKHUpe2lmKHUudHlwZT09PSJjaGlsZExpc3QiJiZ1LmFkZGVkTm9kZXMubGVuZ3RoPjAmJiFVOXQodS5hZGRlZE5vZGVzWzBdKSYmKCR0LnNlYXJjaFBzZXVkb0VsZW1lbnRzJiZuKHUudGFyZ2V0KSx0KHUudGFyZ2V0KSksdS50eXBlPT09ImF0dHJpYnV0ZXMiJiZ1LnRhcmdldC5wYXJlbnROb2RlJiYkdC5zZWFyY2hQc2V1ZG9FbGVtZW50cyYmbihbdS50YXJnZXRdLCEwKSx1LnR5cGU9PT0iYXR0cmlidXRlcyImJlU5dCh1LnRhcmdldCkmJn5qVGEuaW5kZXhPZih1LmF0dHJpYnV0ZU5hbWUpKWlmKHUuYXR0cmlidXRlTmFtZT09PSJjbGFzcyImJiRMYSh1LnRhcmdldCkpe3ZhciBtPWxlZShsdWUodS50YXJnZXQpKSx2PW0ucHJlZml4LHg9bS5pY29uTmFtZTt1LnRhcmdldC5zZXRBdHRyaWJ1dGUodHVlLHZ8fHApLHgmJnUudGFyZ2V0LnNldEF0dHJpYnV0ZShhdWUseCl9ZWxzZSBETGEodS50YXJnZXQpJiZpKHUudGFyZ2V0KX0pfX0pLHRjJiZwZWUub2JzZXJ2ZShkLHtjaGlsZExpc3Q6ITAsYXR0cmlidXRlczohMCxjaGFyYWN0ZXJEYXRhOiEwLHN1YnRyZWU6ITB9KX19ZnVuY3Rpb24gTkxhKCl7cGVlJiZwZWUuZGlzY29ubmVjdCgpfWZ1bmN0aW9uIFJMYShhKXt2YXIgZT1hLmdldEF0dHJpYnV0ZSgic3R5bGUiKSx0PVtdO3JldHVybiBlJiYodD1lLnNwbGl0KCI7IikucmVkdWNlKGZ1bmN0aW9uKHIsaSl7dmFyIG89aS5zcGxpdCgiOiIpLG49b1swXSxsPW8uc2xpY2UoMSk7cmV0dXJuIG4mJmwubGVuZ3RoPjAmJihyW25dPWwuam9pbigiOiIpLnRyaW0oKSkscn0se30pKSx0fWZ1bmN0aW9uIE9MYShhKXt2YXIgZT1hLmdldEF0dHJpYnV0ZSgiZGF0YS1wcmVmaXgiKSx0PWEuZ2V0QXR0cmlidXRlKCJkYXRhLWljb24iKSxyPWEuaW5uZXJUZXh0IT09dm9pZCAwP2EuaW5uZXJUZXh0LnRyaW0oKToiIixpPWxlZShsdWUoYSkpO3JldHVybiBpLnByZWZpeHx8KGkucHJlZml4PXI0KCkpLGUmJnQmJihpLnByZWZpeD1lLGkuaWNvbk5hbWU9dCksaS5pY29uTmFtZSYmaS5wcmVmaXh8fChpLnByZWZpeCYmci5sZW5ndGg+MCYmKGkuaWNvbk5hbWU9bExhKGkucHJlZml4LGEuaW5uZXJUZXh0KXx8bXVlKGkucHJlZml4LF85dChhLmlubmVyVGV4dCkpKSwhaS5pY29uTmFtZSYmJHQuYXV0b0ZldGNoU3ZnJiZhLmZpcnN0Q2hpbGQmJmEuZmlyc3RDaGlsZC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiYoaS5pY29uTmFtZT1hLmZpcnN0Q2hpbGQuZGF0YSkpLGl9ZnVuY3Rpb24gRkxhKGEpe3ZhciBlPUs4KGEuYXR0cmlidXRlcykucmVkdWNlKGZ1bmN0aW9uKHQscil7cmV0dXJuIHQubmFtZSE9PSJjbGFzcyImJnQubmFtZSE9PSJzdHlsZSImJih0W3IubmFtZV09ci52YWx1ZSksdH0se30pO3JldHVybiBlfWZ1bmN0aW9uIEJMYSgpe3JldHVybntpY29uTmFtZTpudWxsLHByZWZpeDpudWxsLHRyYW5zZm9ybTpWMixzeW1ib2w6ITEsbWFzazp7aWNvbk5hbWU6bnVsbCxwcmVmaXg6bnVsbCxyZXN0OltdfSxtYXNrSWQ6bnVsbCxleHRyYTp7Y2xhc3NlczpbXSxzdHlsZXM6e30sYXR0cmlidXRlczp7fX19fWZ1bmN0aW9uIFg5dChhKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e3N0eWxlUGFyc2VyOiEwfSx0PU9MYShhKSxyPXQuaWNvbk5hbWUsaT10LnByZWZpeCxvPXQucmVzdCxuPUZMYShhKSxsPWd1ZSgicGFyc2VOb2RlQXR0cmlidXRlcyIse30sYSksZD1lLnN0eWxlUGFyc2VyP1JMYShhKTpbXTtyZXR1cm4gWGUoe2ljb25OYW1lOnIscHJlZml4OmksdHJhbnNmb3JtOlYyLG1hc2s6e2ljb25OYW1lOm51bGwscHJlZml4Om51bGwscmVzdDpbXX0sbWFza0lkOm51bGwsc3ltYm9sOiExLGV4dHJhOntjbGFzc2VzOm8sc3R5bGVzOmQsYXR0cmlidXRlczpufX0sbCl9ZnVuY3Rpb24gUTl0KGEpe3ZhciBlPSR0LmF1dG9SZXBsYWNlU3ZnPT09Im5lc3QiP1g5dChhLHtzdHlsZVBhcnNlcjohMX0pOlg5dChhKTtyZXR1cm5+ZS5leHRyYS5jbGFzc2VzLmluZGV4T2YoYjl0KT9zNCgiZ2VuZXJhdGVMYXllcnNUZXh0IixhLGUpOnM0KCJnZW5lcmF0ZVN2Z1JlcGxhY2VtZW50TXV0YXRpb24iLGEsZSl9ZnVuY3Rpb24gcUxhKCl7cmV0dXJuW10uY29uY2F0KGsxKGk5dCksazEobDl0KSl9ZnVuY3Rpb24gSjl0KGEpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTpudWxsO2lmKCF0YylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7dmFyIHQ9ZnIuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdCxyPXMoZnVuY3Rpb24odSl7cmV0dXJuIHQuYWRkKCIiLmNvbmNhdChwOXQsIi0iKS5jb25jYXQodSkpfSwiaGNsQWRkIiksaT1zKGZ1bmN0aW9uKHUpe3JldHVybiB0LnJlbW92ZSgiIi5jb25jYXQocDl0LCItIikuY29uY2F0KHUpKX0sImhjbFJlbW92ZSIpLG89JHQuYXV0b0ZldGNoU3ZnP3FMYSgpOkI3dC5jb25jYXQoT2JqZWN0LmtleXMoSExhKSk7by5pbmNsdWRlcygiZmEiKXx8by5wdXNoKCJmYSIpO3ZhciBuPVsiLiIuY29uY2F0KGI5dCwiOm5vdChbIikuY29uY2F0KG1kLCJdKSIpXS5jb25jYXQoby5tYXAoZnVuY3Rpb24ocCl7cmV0dXJuIi4iLmNvbmNhdChwLCI6bm90KFsiKS5jb25jYXQobWQsIl0pIil9KSkuam9pbigiLCAiKTtpZihuLmxlbmd0aD09PTApcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO3ZhciBsPVtdO3RyeXtsPUs4KGEucXVlcnlTZWxlY3RvckFsbChuKSl9Y2F0Y2h7fWlmKGwubGVuZ3RoPjApcigicGVuZGluZyIpLGkoImNvbXBsZXRlIik7ZWxzZSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7dmFyIGQ9a3VlLmJlZ2luKCJvblRyZWUiKSxjPWwucmVkdWNlKGZ1bmN0aW9uKHAsdSl7dHJ5e3ZhciBtPVE5dCh1KTttJiZwLnB1c2gobSl9Y2F0Y2godil7aDl0fHx2Lm5hbWU9PT0iTWlzc2luZ0ljb24iJiZjb25zb2xlLmVycm9yKHYpfXJldHVybiBwfSxbXSk7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHAsdSl7UHJvbWlzZS5hbGwoYykudGhlbihmdW5jdGlvbihtKXtZOXQobSxmdW5jdGlvbigpe3IoImFjdGl2ZSIpLHIoImNvbXBsZXRlIiksaSgicGVuZGluZyIpLHR5cGVvZiBlPT0iZnVuY3Rpb24iJiZlKCksZCgpLHAoKX0pfSkuY2F0Y2goZnVuY3Rpb24obSl7ZCgpLHUobSl9KX0pfWZ1bmN0aW9uIFZMYShhKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06bnVsbDtROXQoYSkudGhlbihmdW5jdGlvbih0KXt0JiZZOXQoW3RdLGUpfSl9ZnVuY3Rpb24gakxhKGEpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e30scj0oZXx8e30pLmljb24/ZTpidWUoZXx8e30pLGk9dC5tYXNrO3JldHVybiBpJiYoaT0oaXx8e30pLmljb24/aTpidWUoaXx8e30pKSxhKHIsWGUoWGUoe30sdCkse30se21hc2s6aX0pKX19ZnVuY3Rpb24gWExhKGEpe3ZhciBlPWEucmVwbGFjZShlZ3QsIiIpO3JldHVybiBfOXQoazEoZSlbMF18fCIiKX1mdW5jdGlvbiBRTGEoYSl7dmFyIGU9YS5nZXRQcm9wZXJ0eVZhbHVlKCJmb250LWZlYXR1cmUtc2V0dGluZ3MiKS5pbmNsdWRlcygic3MwMSIpLHQ9YS5nZXRQcm9wZXJ0eVZhbHVlKCJjb250ZW50Iikscj10LnJlcGxhY2UoZWd0LCIiKSxpPXIuY29kZVBvaW50QXQoMCksbz1pPj10Z3RbMF0mJmk8PXRndFsxXSxuPXIubGVuZ3RoPT09Mj9yWzBdPT09clsxXTohMTtyZXR1cm4gb3x8bnx8ZX1mdW5jdGlvbiBKTGEoYSxlKXt2YXIgdD1hLnJlcGxhY2UoL15bJyJdfFsnIl0kL2csIiIpLnRvTG93ZXJDYXNlKCkscj1wYXJzZUludChlKSxpPWlzTmFOKHIpPyJub3JtYWwiOnI7cmV0dXJuKEN1ZVt0XXx8e30pW2ldfHxaTGFbdF19ZnVuY3Rpb24gcmd0KGEsZSl7dmFyIHQ9IiIuY29uY2F0KFJUYSkuY29uY2F0KGUucmVwbGFjZSgiOiIsIi0iKSk7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHIsaSl7aWYoYS5nZXRBdHRyaWJ1dGUodCkhPT1udWxsKXJldHVybiByKCk7dmFyIG89SzgoYS5jaGlsZHJlbiksbj1vLmZpbHRlcihmdW5jdGlvbih6KXtyZXR1cm4gei5nZXRBdHRyaWJ1dGUoZXVlKT09PWV9KVswXSxsPXQ0LmdldENvbXB1dGVkU3R5bGUoYSxlKSxkPWwuZ2V0UHJvcGVydHlWYWx1ZSgiZm9udC1mYW1pbHkiKSxjPWQubWF0Y2gocVRhKSxwPWwuZ2V0UHJvcGVydHlWYWx1ZSgiZm9udC13ZWlnaHQiKSx1PWwuZ2V0UHJvcGVydHlWYWx1ZSgiY29udGVudCIpO2lmKG4mJiFjKXJldHVybiBhLnJlbW92ZUNoaWxkKG4pLHIoKTtpZihjJiZ1IT09Im5vbmUiJiZ1IT09IiIpe3ZhciBtPWwuZ2V0UHJvcGVydHlWYWx1ZSgiY29udGVudCIpLHY9SkxhKGQscCkseD1YTGEobSksYj1jWzBdLnN0YXJ0c1dpdGgoIkZvbnRBd2Vzb21lIiksZz1RTGEobCkseT1tdWUodix4KSxrPXk7aWYoYil7dmFyIEM9Y0xhKHgpO0MuaWNvbk5hbWUmJkMucHJlZml4JiYoeT1DLmljb25OYW1lLHY9Qy5wcmVmaXgpfWlmKHkmJiFnJiYoIW58fG4uZ2V0QXR0cmlidXRlKHR1ZSkhPT12fHxuLmdldEF0dHJpYnV0ZShhdWUpIT09aykpe2Euc2V0QXR0cmlidXRlKHQsayksbiYmYS5yZW1vdmVDaGlsZChuKTt2YXIgTj1CTGEoKSxfPU4uZXh0cmE7Xy5hdHRyaWJ1dGVzW2V1ZV09ZSx3dWUoeSx2KS50aGVuKGZ1bmN0aW9uKHope3ZhciBPPXZ1ZShYZShYZSh7fSxOKSx7fSx7aWNvbnM6e21haW46eixtYXNrOlI5dCgpfSxwcmVmaXg6dixpY29uTmFtZTprLGV4dHJhOl8sd2F0Y2hhYmxlOiEwfSkpLFQ9ZnIuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsInN2ZyIpO2U9PT0iOjpiZWZvcmUiP2EuaW5zZXJ0QmVmb3JlKFQsYS5maXJzdENoaWxkKTphLmFwcGVuZENoaWxkKFQpLFQub3V0ZXJIVE1MPU8ubWFwKGZ1bmN0aW9uKEUpe3JldHVybiBBYihFKX0pLmpvaW4oYApgKSxhLnJlbW92ZUF0dHJpYnV0ZSh0KSxyKCl9KS5jYXRjaChpKX1lbHNlIHIoKX1lbHNlIHIoKX0pfWZ1bmN0aW9uIGUkYShhKXtyZXR1cm4gUHJvbWlzZS5hbGwoW3JndChhLCI6OmJlZm9yZSIpLHJndChhLCI6OmFmdGVyIildKX1mdW5jdGlvbiB0JGEoYSl7cmV0dXJuIGEucGFyZW50Tm9kZSE9PWRvY3VtZW50LmhlYWQmJiF+RlRhLmluZGV4T2YoYS50YWdOYW1lLnRvVXBwZXJDYXNlKCkpJiYhYS5nZXRBdHRyaWJ1dGUoZXVlKSYmKCFhLnBhcmVudE5vZGV8fGEucGFyZW50Tm9kZS50YWdOYW1lIT09InN2ZyIpfWZ1bmN0aW9uIHNndChhKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06ITE7aWYodGMpe3ZhciB0O2lmKGUpdD1hO2Vsc2UgaWYoJHQuc2VhcmNoUHNldWRvRWxlbWVudHNGdWxsU2Nhbil0PWEucXVlcnlTZWxlY3RvckFsbCgiKiIpO2Vsc2V7dmFyIHI9bmV3IFNldCxpPUpKKGRvY3VtZW50LnN0eWxlU2hlZXRzKSxvO3RyeXtmb3IoaS5zKCk7IShvPWkubigpKS5kb25lOyl7dmFyIG49by52YWx1ZTt0cnl7dmFyIGw9Skoobi5jc3NSdWxlcyksZDt0cnl7Zm9yKGwucygpOyEoZD1sLm4oKSkuZG9uZTspe3ZhciBjPWQudmFsdWUscD1yJGEoYy5zZWxlY3RvclRleHQpLHU9SkoocCksbTt0cnl7Zm9yKHUucygpOyEobT11Lm4oKSkuZG9uZTspe3ZhciB2PW0udmFsdWU7ci5hZGQodil9fWNhdGNoKGIpe3UuZShiKX1maW5hbGx5e3UuZigpfX19Y2F0Y2goYil7bC5lKGIpfWZpbmFsbHl7bC5mKCl9fWNhdGNoKGIpeyR0LnNlYXJjaFBzZXVkb0VsZW1lbnRzV2FybmluZ3MmJmNvbnNvbGUud2FybigiRm9udCBBd2Vzb21lOiBjYW5ub3QgcGFyc2Ugc3R5bGVzaGVldDogIi5jb25jYXQobi5ocmVmLCIgKCIpLmNvbmNhdChiLm1lc3NhZ2UsYCkKSWYgaXQgZGVjbGFyZXMgYW55IEZvbnQgQXdlc29tZSBDU1MgcHNldWRvLWVsZW1lbnRzLCB0aGV5IHdpbGwgbm90IGJlIHJlbmRlcmVkIGFzIFNWRyBpY29ucy4gQWRkIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHRvIHRoZSA8bGluaz4sIGVuYWJsZSBzZWFyY2hQc2V1ZG9FbGVtZW50c0Z1bGxTY2FuIGZvciBzbG93ZXIgYnV0IG1vcmUgdGhvcm91Z2ggRE9NIHBhcnNpbmcsIG9yIHN1cHByZXNzIHRoaXMgd2FybmluZyBieSBzZXR0aW5nIHNlYXJjaFBzZXVkb0VsZW1lbnRzV2FybmluZ3MgdG8gZmFsc2UuYCkpfX19Y2F0Y2goYil7aS5lKGIpfWZpbmFsbHl7aS5mKCl9aWYoIXIuc2l6ZSlyZXR1cm47dmFyIHg9QXJyYXkuZnJvbShyKS5qb2luKCIsICIpO3RyeXt0PWEucXVlcnlTZWxlY3RvckFsbCh4KX1jYXRjaHt9fXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihiLGcpe3ZhciB5PUs4KHQpLmZpbHRlcih0JGEpLm1hcChlJGEpLGs9a3VlLmJlZ2luKCJzZWFyY2hQc2V1ZG9FbGVtZW50cyIpO0s5dCgpLFByb21pc2UuYWxsKHkpLnRoZW4oZnVuY3Rpb24oKXtrKCksenVlKCksYigpfSkuY2F0Y2goZnVuY3Rpb24oKXtrKCksenVlKCksZygpfSl9KX19ZnVuY3Rpb24gbmd0KGEpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTohMDtyZXR1cm4gYS5hdHRyaWJ1dGVzJiYoYS5hdHRyaWJ1dGVzLmZpbGx8fGUpJiYoYS5hdHRyaWJ1dGVzLmZpbGw9ImJsYWNrIiksYX1mdW5jdGlvbiBuJGEoYSl7cmV0dXJuIGEudGFnPT09ImciP2EuY2hpbGRyZW46W2FdfXZhciBEN3QsSzZlLEE3dCxFN3QsUDd0LGlfYSxJN3QsTjd0LHQ0LGZyLFI3dCxyZWUsaGxzLHRjLE83dCxaNmUsb19hLG5fYSxGN3QsbF9hLEI3dCxKcyxUYixIN3QscTd0LFY3dCxqN3QsVTd0LFc3dCxHN3QsWTd0LEs3dCxaN3QsWDd0LFE3dCxKN3QsZTl0LHQ5dCxhOXQscjl0LGNfYSxkX2EsdV9hLHBfYSxmX2EsaF9hLG1fYSxnX2EsYl9hLHZfYSx4X2EseV9hLHdfYSxNX2Esa19hLFNfYSx6X2EsQ19hLF9fYSxzOXQsbWxzLFRfYSxMX2EsJF9hLERfYSxpOXQsbzl0LEFfYSxFX2EsUF9hLElfYSxOX2EsZ2xzLFJfYSxPX2EsRl9hLG45dCxYNmUsc2VlLEJfYSxIX2EscV9hLFZfYSxqX2EsVV9hLFdfYSxHX2EsWV9hLEtfYSxaX2EsWF9hLFFfYSxKX2EsZVRhLHRUYSxhVGEsclRhLHNUYSxpVGEsb1RhLG5UYSxsVGEsY1RhLGRUYSx1VGEscFRhLGZUYSxoVGEsbVRhLGdUYSxiVGEsdlRhLHhUYSx5VGEsd1RhLE1UYSxrVGEsU1RhLGJscyx6VGEsQ1RhLF9UYSxUVGEsdmxzLExUYSwkVGEsUTZlLERUYSxsOXQsQVRhLGM5dCxFVGEsUFRhLElUYSxOVGEsYWMsSjZlLGQ5dCx1OXQsbWQsZXVlLFJUYSx0dWUsYXVlLHA5dCxPVGEsRlRhLGY5dCxoOXQsbTl0LEJUYSxydWUsZzl0LHN1ZSxpdWUsb3VlLHhscyxIVGEsYjl0LHFUYSxWVGEseWxzLGpUYSxudWUsVVRhLCRiLHg5dCxZOCwkdCxEYixhNCxWMixaVGEsZUxhLGs5dCx0TGEscmMsUzEsUzl0LHo5dCxvZWUsckxhLHV1ZSxmdWUsejEsd2xzLE1scyxFYixzTGEsTDl0LGlMYSxodWUsJDl0LEQ5dCxBOXQsRTl0LFA5dCxJOXQsUjl0LEY5dCxmTGEsaExhLGdMYSxCOXQsWjgsWDgsYkxhLEg5dCx4TGEseUxhLHdMYSwkbyxNTGEseHVlLF9MYSxWOXQsTXVlLFBiLExMYSxqOXQsa3VlLGRlZSx1ZWUsU3VlLHBlZSxITGEsVUxhLFdMYSxHTGEsWUxhLEtMYSxlZ3QsdGd0LGFndCxDdWUsWkxhLGEkYSxyJGEscyRhLGlndCxpJGEsb2d0LG8kYSxfdWUsbCRhLGMkYSxkJGEsdSRhLHAkYSxmJGEsaCRhLG0kYSxnJGEsYiRhLHYkYSxUdWUseCRhLHkkYSx3JGEsdjl0LGxndD1mKCgpPT57cyhHNmUsIl9hcnJheUxpa2VUb0FycmF5Iik7cyhLQ2EsIl9hcnJheVdpdGhIb2xlcyIpO3MoWkNhLCJfYXJyYXlXaXRob3V0SG9sZXMiKTtzKFhDYSwiX2NsYXNzQ2FsbENoZWNrIik7cyhUN3QsIl9kZWZpbmVQcm9wZXJ0aWVzIik7cyhRQ2EsIl9jcmVhdGVDbGFzcyIpO3MoSkosIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIik7cyhXdCwiX2RlZmluZVByb3BlcnR5Iik7cyhKQ2EsIl9pbmhlcml0cyIpO3MoZV9hLCJfaXRlcmFibGVUb0FycmF5Iik7cyh0X2EsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIpO3MoYV9hLCJfbm9uSXRlcmFibGVSZXN0Iik7cyhyX2EsIl9ub25JdGVyYWJsZVNwcmVhZCIpO3MoTDd0LCJvd25LZXlzIik7cyhYZSwiX29iamVjdFNwcmVhZDIiKTtzKGVlZSwiX3NldFByb3RvdHlwZU9mIik7cyh0ZWUsIl9zbGljZWRUb0FycmF5Iik7cyhrMSwiX3RvQ29uc3VtYWJsZUFycmF5Iik7cyhzX2EsIl90b1ByaW1pdGl2ZSIpO3MoJDd0LCJfdG9Qcm9wZXJ0eUtleSIpO3MoYWVlLCJfdHlwZW9mIik7cyhZNmUsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIpO3MoVGksIl93cmFwUmVnRXhwIik7RDd0PXMoZnVuY3Rpb24oKXt9LCJub29wIiksSzZlPXt9LEE3dD17fSxFN3Q9bnVsbCxQN3Q9e21hcms6RDd0LG1lYXN1cmU6RDd0fTt0cnl7dHlwZW9mIHdpbmRvdzwidSImJihLNmU9d2luZG93KSx0eXBlb2YgZG9jdW1lbnQ8InUiJiYoQTd0PWRvY3VtZW50KSx0eXBlb2YgTXV0YXRpb25PYnNlcnZlcjwidSImJihFN3Q9TXV0YXRpb25PYnNlcnZlciksdHlwZW9mIHBlcmZvcm1hbmNlPCJ1IiYmKFA3dD1wZXJmb3JtYW5jZSl9Y2F0Y2h7fWlfYT1LNmUubmF2aWdhdG9yfHx7fSxJN3Q9aV9hLnVzZXJBZ2VudCxON3Q9STd0PT09dm9pZCAwPyIiOkk3dCx0ND1LNmUsZnI9QTd0LFI3dD1FN3QscmVlPVA3dCxobHM9ISF0NC5kb2N1bWVudCx0Yz0hIWZyLmRvY3VtZW50RWxlbWVudCYmISFmci5oZWFkJiZ0eXBlb2YgZnIuYWRkRXZlbnRMaXN0ZW5lcj09ImZ1bmN0aW9uIiYmdHlwZW9mIGZyLmNyZWF0ZUVsZW1lbnQ9PSJmdW5jdGlvbiIsTzd0PX5ON3QuaW5kZXhPZigiTVNJRSIpfHx+Tjd0LmluZGV4T2YoIlRyaWRlbnQvIiksb19hPS9mYShrfGtkfHN8cnxsfHR8ZHxkcnxkbHxkdHxifHNscnxzbHByfHdzYnx0bHxuc3xuZHN8ZXN8Z3R8anJ8amZyfGpkcnx1c2J8dWZzYnx1ZHNifGNyfHNzfHNyfHNsfHN0fHNkc3xzZHJ8c2RsfHNkdCk/W1wtXCBdLyxuX2E9L0ZvbnQgP0F3ZXNvbWUgPyhbNTY3IF0qKShTb2xpZHxSZWd1bGFyfExpZ2h0fFRoaW58RHVvdG9uZXxCcmFuZHN8RnJlZXxQcm98U2hhcnAgRHVvdG9uZXxTaGFycHxLaXR8Tm90ZG9nIER1b3xOb3Rkb2d8Q2hpc2VsfEV0Y2h8R3JhcGhpdGV8VGh1bWJwcmludHxKZWxseSBGaWxsfEplbGx5IER1b3xKZWxseXxVdGlsaXR5fFV0aWxpdHkgRmlsbHxVdGlsaXR5IER1b3xTbGFiIFByZXNzfFNsYWJ8V2hpdGVib2FyZCk/LiovaSxGN3Q9e2NsYXNzaWM6e2ZhOiJzb2xpZCIsZmFzOiJzb2xpZCIsImZhLXNvbGlkIjoic29saWQiLGZhcjoicmVndWxhciIsImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYWw6ImxpZ2h0IiwiZmEtbGlnaHQiOiJsaWdodCIsZmF0OiJ0aGluIiwiZmEtdGhpbiI6InRoaW4iLGZhYjoiYnJhbmRzIiwiZmEtYnJhbmRzIjoiYnJhbmRzIn0sZHVvdG9uZTp7ZmE6InNvbGlkIixmYWQ6InNvbGlkIiwiZmEtc29saWQiOiJzb2xpZCIsImZhLWR1b3RvbmUiOiJzb2xpZCIsZmFkcjoicmVndWxhciIsImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYWRsOiJsaWdodCIsImZhLWxpZ2h0IjoibGlnaHQiLGZhZHQ6InRoaW4iLCJmYS10aGluIjoidGhpbiJ9LHNoYXJwOntmYToic29saWQiLGZhc3M6InNvbGlkIiwiZmEtc29saWQiOiJzb2xpZCIsZmFzcjoicmVndWxhciIsImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYXNsOiJsaWdodCIsImZhLWxpZ2h0IjoibGlnaHQiLGZhc3Q6InRoaW4iLCJmYS10aGluIjoidGhpbiJ9LCJzaGFycC1kdW90b25lIjp7ZmE6InNvbGlkIixmYXNkczoic29saWQiLCJmYS1zb2xpZCI6InNvbGlkIixmYXNkcjoicmVndWxhciIsImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYXNkbDoibGlnaHQiLCJmYS1saWdodCI6ImxpZ2h0IixmYXNkdDoidGhpbiIsImZhLXRoaW4iOiJ0aGluIn0sc2xhYjp7ImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYXNscjoicmVndWxhciJ9LCJzbGFiLXByZXNzIjp7ImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYXNscHI6InJlZ3VsYXIifSx0aHVtYnByaW50OnsiZmEtbGlnaHQiOiJsaWdodCIsZmF0bDoibGlnaHQifSx3aGl0ZWJvYXJkOnsiZmEtc2VtaWJvbGQiOiJzZW1pYm9sZCIsZmF3c2I6InNlbWlib2xkIn0sbm90ZG9nOnsiZmEtc29saWQiOiJzb2xpZCIsZmFuczoic29saWQifSwibm90ZG9nLWR1byI6eyJmYS1zb2xpZCI6InNvbGlkIixmYW5kczoic29saWQifSxldGNoOnsiZmEtc29saWQiOiJzb2xpZCIsZmFlczoic29saWQifSxncmFwaGl0ZTp7ImZhLXRoaW4iOiJ0aGluIixmYWd0OiJ0aGluIn0samVsbHk6eyJmYS1yZWd1bGFyIjoicmVndWxhciIsZmFqcjoicmVndWxhciJ9LCJqZWxseS1maWxsIjp7ImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYWpmcjoicmVndWxhciJ9LCJqZWxseS1kdW8iOnsiZmEtcmVndWxhciI6InJlZ3VsYXIiLGZhamRyOiJyZWd1bGFyIn0sY2hpc2VsOnsiZmEtcmVndWxhciI6InJlZ3VsYXIiLGZhY3I6InJlZ3VsYXIifSx1dGlsaXR5OnsiZmEtc2VtaWJvbGQiOiJzZW1pYm9sZCIsZmF1c2I6InNlbWlib2xkIn0sInV0aWxpdHktZHVvIjp7ImZhLXNlbWlib2xkIjoic2VtaWJvbGQiLGZhdWRzYjoic2VtaWJvbGQifSwidXRpbGl0eS1maWxsIjp7ImZhLXNlbWlib2xkIjoic2VtaWJvbGQiLGZhdWZzYjoic2VtaWJvbGQifX0sbF9hPXtHUk9VUDoiZHVvdG9uZS1ncm91cCIsU1dBUF9PUEFDSVRZOiJzd2FwLW9wYWNpdHkiLFBSSU1BUlk6InByaW1hcnkiLFNFQ09OREFSWToic2Vjb25kYXJ5In0sQjd0PVsiZmEtY2xhc3NpYyIsImZhLWR1b3RvbmUiLCJmYS1zaGFycCIsImZhLXNoYXJwLWR1b3RvbmUiLCJmYS10aHVtYnByaW50IiwiZmEtd2hpdGVib2FyZCIsImZhLW5vdGRvZyIsImZhLW5vdGRvZy1kdW8iLCJmYS1jaGlzZWwiLCJmYS1ldGNoIiwiZmEtZ3JhcGhpdGUiLCJmYS1qZWxseSIsImZhLWplbGx5LWZpbGwiLCJmYS1qZWxseS1kdW8iLCJmYS1zbGFiIiwiZmEtc2xhYi1wcmVzcyIsImZhLXV0aWxpdHkiLCJmYS11dGlsaXR5LWR1byIsImZhLXV0aWxpdHktZmlsbCJdLEpzPSJjbGFzc2ljIixUYj0iZHVvdG9uZSIsSDd0PSJzaGFycCIscTd0PSJzaGFycC1kdW90b25lIixWN3Q9ImNoaXNlbCIsajd0PSJldGNoIixVN3Q9ImdyYXBoaXRlIixXN3Q9ImplbGx5IixHN3Q9ImplbGx5LWR1byIsWTd0PSJqZWxseS1maWxsIixLN3Q9Im5vdGRvZyIsWjd0PSJub3Rkb2ctZHVvIixYN3Q9InNsYWIiLFE3dD0ic2xhYi1wcmVzcyIsSjd0PSJ0aHVtYnByaW50IixlOXQ9InV0aWxpdHkiLHQ5dD0idXRpbGl0eS1kdW8iLGE5dD0idXRpbGl0eS1maWxsIixyOXQ9IndoaXRlYm9hcmQiLGNfYT0iQ2xhc3NpYyIsZF9hPSJEdW90b25lIix1X2E9IlNoYXJwIixwX2E9IlNoYXJwIER1b3RvbmUiLGZfYT0iQ2hpc2VsIixoX2E9IkV0Y2giLG1fYT0iR3JhcGhpdGUiLGdfYT0iSmVsbHkiLGJfYT0iSmVsbHkgRHVvIix2X2E9IkplbGx5IEZpbGwiLHhfYT0iTm90ZG9nIix5X2E9Ik5vdGRvZyBEdW8iLHdfYT0iU2xhYiIsTV9hPSJTbGFiIFByZXNzIixrX2E9IlRodW1icHJpbnQiLFNfYT0iVXRpbGl0eSIsel9hPSJVdGlsaXR5IER1byIsQ19hPSJVdGlsaXR5IEZpbGwiLF9fYT0iV2hpdGVib2FyZCIsczl0PVtKcyxUYixIN3QscTd0LFY3dCxqN3QsVTd0LFc3dCxHN3QsWTd0LEs3dCxaN3QsWDd0LFE3dCxKN3QsZTl0LHQ5dCxhOXQscjl0XSxtbHM9KFo2ZT17fSxXdChXdChXdChXdChXdChXdChXdChXdChXdChXdChaNmUsSnMsY19hKSxUYixkX2EpLEg3dCx1X2EpLHE3dCxwX2EpLFY3dCxmX2EpLGo3dCxoX2EpLFU3dCxtX2EpLFc3dCxnX2EpLEc3dCxiX2EpLFk3dCx2X2EpLFd0KFd0KFd0KFd0KFd0KFd0KFd0KFd0KFd0KFo2ZSxLN3QseF9hKSxaN3QseV9hKSxYN3Qsd19hKSxRN3QsTV9hKSxKN3Qsa19hKSxlOXQsU19hKSx0OXQsel9hKSxhOXQsQ19hKSxyOXQsX19hKSksVF9hPXtjbGFzc2ljOns5MDA6ImZhcyIsNDAwOiJmYXIiLG5vcm1hbDoiZmFyIiwzMDA6ImZhbCIsMTAwOiJmYXQifSxkdW90b25lOns5MDA6ImZhZCIsNDAwOiJmYWRyIiwzMDA6ImZhZGwiLDEwMDoiZmFkdCJ9LHNoYXJwOns5MDA6ImZhc3MiLDQwMDoiZmFzciIsMzAwOiJmYXNsIiwxMDA6ImZhc3QifSwic2hhcnAtZHVvdG9uZSI6ezkwMDoiZmFzZHMiLDQwMDoiZmFzZHIiLDMwMDoiZmFzZGwiLDEwMDoiZmFzZHQifSxzbGFiOns0MDA6ImZhc2xyIn0sInNsYWItcHJlc3MiOns0MDA6ImZhc2xwciJ9LHdoaXRlYm9hcmQ6ezYwMDoiZmF3c2IifSx0aHVtYnByaW50OnszMDA6ImZhdGwifSxub3Rkb2c6ezkwMDoiZmFucyJ9LCJub3Rkb2ctZHVvIjp7OTAwOiJmYW5kcyJ9LGV0Y2g6ezkwMDoiZmFlcyJ9LGdyYXBoaXRlOnsxMDA6ImZhZ3QifSxjaGlzZWw6ezQwMDoiZmFjciJ9LGplbGx5Ons0MDA6ImZhanIifSwiamVsbHktZmlsbCI6ezQwMDoiZmFqZnIifSwiamVsbHktZHVvIjp7NDAwOiJmYWpkciJ9LHV0aWxpdHk6ezYwMDoiZmF1c2IifSwidXRpbGl0eS1kdW8iOns2MDA6ImZhdWRzYiJ9LCJ1dGlsaXR5LWZpbGwiOns2MDA6ImZhdWZzYiJ9fSxMX2E9eyJGb250IEF3ZXNvbWUgNyBGcmVlIjp7OTAwOiJmYXMiLDQwMDoiZmFyIn0sIkZvbnQgQXdlc29tZSA3IFBybyI6ezkwMDoiZmFzIiw0MDA6ImZhciIsbm9ybWFsOiJmYXIiLDMwMDoiZmFsIiwxMDA6ImZhdCJ9LCJGb250IEF3ZXNvbWUgNyBCcmFuZHMiOns0MDA6ImZhYiIsbm9ybWFsOiJmYWIifSwiRm9udCBBd2Vzb21lIDcgRHVvdG9uZSI6ezkwMDoiZmFkIiw0MDA6ImZhZHIiLG5vcm1hbDoiZmFkciIsMzAwOiJmYWRsIiwxMDA6ImZhZHQifSwiRm9udCBBd2Vzb21lIDcgU2hhcnAiOns5MDA6ImZhc3MiLDQwMDoiZmFzciIsbm9ybWFsOiJmYXNyIiwzMDA6ImZhc2wiLDEwMDoiZmFzdCJ9LCJGb250IEF3ZXNvbWUgNyBTaGFycCBEdW90b25lIjp7OTAwOiJmYXNkcyIsNDAwOiJmYXNkciIsbm9ybWFsOiJmYXNkciIsMzAwOiJmYXNkbCIsMTAwOiJmYXNkdCJ9LCJGb250IEF3ZXNvbWUgNyBKZWxseSI6ezQwMDoiZmFqciIsbm9ybWFsOiJmYWpyIn0sIkZvbnQgQXdlc29tZSA3IEplbGx5IEZpbGwiOns0MDA6ImZhamZyIixub3JtYWw6ImZhamZyIn0sIkZvbnQgQXdlc29tZSA3IEplbGx5IER1byI6ezQwMDoiZmFqZHIiLG5vcm1hbDoiZmFqZHIifSwiRm9udCBBd2Vzb21lIDcgU2xhYiI6ezQwMDoiZmFzbHIiLG5vcm1hbDoiZmFzbHIifSwiRm9udCBBd2Vzb21lIDcgU2xhYiBQcmVzcyI6ezQwMDoiZmFzbHByIixub3JtYWw6ImZhc2xwciJ9LCJGb250IEF3ZXNvbWUgNyBUaHVtYnByaW50Ijp7MzAwOiJmYXRsIixub3JtYWw6ImZhdGwifSwiRm9udCBBd2Vzb21lIDcgTm90ZG9nIjp7OTAwOiJmYW5zIixub3JtYWw6ImZhbnMifSwiRm9udCBBd2Vzb21lIDcgTm90ZG9nIER1byI6ezkwMDoiZmFuZHMiLG5vcm1hbDoiZmFuZHMifSwiRm9udCBBd2Vzb21lIDcgRXRjaCI6ezkwMDoiZmFlcyIsbm9ybWFsOiJmYWVzIn0sIkZvbnQgQXdlc29tZSA3IEdyYXBoaXRlIjp7MTAwOiJmYWd0Iixub3JtYWw6ImZhZ3QifSwiRm9udCBBd2Vzb21lIDcgQ2hpc2VsIjp7NDAwOiJmYWNyIixub3JtYWw6ImZhY3IifSwiRm9udCBBd2Vzb21lIDcgV2hpdGVib2FyZCI6ezYwMDoiZmF3c2IiLG5vcm1hbDoiZmF3c2IifSwiRm9udCBBd2Vzb21lIDcgVXRpbGl0eSI6ezYwMDoiZmF1c2IiLG5vcm1hbDoiZmF1c2IifSwiRm9udCBBd2Vzb21lIDcgVXRpbGl0eSBEdW8iOns2MDA6ImZhdWRzYiIsbm9ybWFsOiJmYXVkc2IifSwiRm9udCBBd2Vzb21lIDcgVXRpbGl0eSBGaWxsIjp7NjAwOiJmYXVmc2IiLG5vcm1hbDoiZmF1ZnNiIn19LCRfYT1uZXcgTWFwKFtbImNsYXNzaWMiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFzIixkZWZhdWx0U3R5bGVJZDoic29saWQiLHN0eWxlSWRzOlsic29saWQiLCJyZWd1bGFyIiwibGlnaHQiLCJ0aGluIiwiYnJhbmRzIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6OTAwfV0sWyJkdW90b25lIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhZCIsZGVmYXVsdFN0eWxlSWQ6InNvbGlkIixzdHlsZUlkczpbInNvbGlkIiwicmVndWxhciIsImxpZ2h0IiwidGhpbiJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjkwMH1dLFsic2hhcnAiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFzcyIsZGVmYXVsdFN0eWxlSWQ6InNvbGlkIixzdHlsZUlkczpbInNvbGlkIiwicmVndWxhciIsImxpZ2h0IiwidGhpbiJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjkwMH1dLFsic2hhcnAtZHVvdG9uZSIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYXNkcyIsZGVmYXVsdFN0eWxlSWQ6InNvbGlkIixzdHlsZUlkczpbInNvbGlkIiwicmVndWxhciIsImxpZ2h0IiwidGhpbiJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjkwMH1dLFsiY2hpc2VsIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhY3IiLGRlZmF1bHRTdHlsZUlkOiJyZWd1bGFyIixzdHlsZUlkczpbInJlZ3VsYXIiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo0MDB9XSxbImV0Y2giLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFlcyIsZGVmYXVsdFN0eWxlSWQ6InNvbGlkIixzdHlsZUlkczpbInNvbGlkIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6OTAwfV0sWyJncmFwaGl0ZSIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYWd0IixkZWZhdWx0U3R5bGVJZDoidGhpbiIsc3R5bGVJZHM6WyJ0aGluIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6MTAwfV0sWyJqZWxseSIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYWpyIixkZWZhdWx0U3R5bGVJZDoicmVndWxhciIsc3R5bGVJZHM6WyJyZWd1bGFyIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6NDAwfV0sWyJqZWxseS1kdW8iLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFqZHIiLGRlZmF1bHRTdHlsZUlkOiJyZWd1bGFyIixzdHlsZUlkczpbInJlZ3VsYXIiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo0MDB9XSxbImplbGx5LWZpbGwiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFqZnIiLGRlZmF1bHRTdHlsZUlkOiJyZWd1bGFyIixzdHlsZUlkczpbInJlZ3VsYXIiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo0MDB9XSxbIm5vdGRvZyIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYW5zIixkZWZhdWx0U3R5bGVJZDoic29saWQiLHN0eWxlSWRzOlsic29saWQiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo5MDB9XSxbIm5vdGRvZy1kdW8iLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFuZHMiLGRlZmF1bHRTdHlsZUlkOiJzb2xpZCIsc3R5bGVJZHM6WyJzb2xpZCJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjkwMH1dLFsic2xhYiIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYXNsciIsZGVmYXVsdFN0eWxlSWQ6InJlZ3VsYXIiLHN0eWxlSWRzOlsicmVndWxhciJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjQwMH1dLFsic2xhYi1wcmVzcyIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYXNscHIiLGRlZmF1bHRTdHlsZUlkOiJyZWd1bGFyIixzdHlsZUlkczpbInJlZ3VsYXIiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo0MDB9XSxbInRodW1icHJpbnQiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmF0bCIsZGVmYXVsdFN0eWxlSWQ6ImxpZ2h0IixzdHlsZUlkczpbImxpZ2h0Il0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6MzAwfV0sWyJ1dGlsaXR5Iix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhdXNiIixkZWZhdWx0U3R5bGVJZDoic2VtaWJvbGQiLHN0eWxlSWRzOlsic2VtaWJvbGQiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo2MDB9XSxbInV0aWxpdHktZHVvIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhdWRzYiIsZGVmYXVsdFN0eWxlSWQ6InNlbWlib2xkIixzdHlsZUlkczpbInNlbWlib2xkIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6NjAwfV0sWyJ1dGlsaXR5LWZpbGwiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmF1ZnNiIixkZWZhdWx0U3R5bGVJZDoic2VtaWJvbGQiLHN0eWxlSWRzOlsic2VtaWJvbGQiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo2MDB9XSxbIndoaXRlYm9hcmQiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmF3c2IiLGRlZmF1bHRTdHlsZUlkOiJzZW1pYm9sZCIsc3R5bGVJZHM6WyJzZW1pYm9sZCJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjYwMH1dXSksRF9hPXtjaGlzZWw6e3JlZ3VsYXI6ImZhY3IifSxjbGFzc2ljOnticmFuZHM6ImZhYiIsbGlnaHQ6ImZhbCIscmVndWxhcjoiZmFyIixzb2xpZDoiZmFzIix0aGluOiJmYXQifSxkdW90b25lOntsaWdodDoiZmFkbCIscmVndWxhcjoiZmFkciIsc29saWQ6ImZhZCIsdGhpbjoiZmFkdCJ9LGV0Y2g6e3NvbGlkOiJmYWVzIn0sZ3JhcGhpdGU6e3RoaW46ImZhZ3QifSxqZWxseTp7cmVndWxhcjoiZmFqciJ9LCJqZWxseS1kdW8iOntyZWd1bGFyOiJmYWpkciJ9LCJqZWxseS1maWxsIjp7cmVndWxhcjoiZmFqZnIifSxub3Rkb2c6e3NvbGlkOiJmYW5zIn0sIm5vdGRvZy1kdW8iOntzb2xpZDoiZmFuZHMifSxzaGFycDp7bGlnaHQ6ImZhc2wiLHJlZ3VsYXI6ImZhc3IiLHNvbGlkOiJmYXNzIix0aGluOiJmYXN0In0sInNoYXJwLWR1b3RvbmUiOntsaWdodDoiZmFzZGwiLHJlZ3VsYXI6ImZhc2RyIixzb2xpZDoiZmFzZHMiLHRoaW46ImZhc2R0In0sc2xhYjp7cmVndWxhcjoiZmFzbHIifSwic2xhYi1wcmVzcyI6e3JlZ3VsYXI6ImZhc2xwciJ9LHRodW1icHJpbnQ6e2xpZ2h0OiJmYXRsIn0sdXRpbGl0eTp7c2VtaWJvbGQ6ImZhdXNiIn0sInV0aWxpdHktZHVvIjp7c2VtaWJvbGQ6ImZhdWRzYiJ9LCJ1dGlsaXR5LWZpbGwiOntzZW1pYm9sZDoiZmF1ZnNiIn0sd2hpdGVib2FyZDp7c2VtaWJvbGQ6ImZhd3NiIn19LGk5dD1bImZhayIsImZhLWtpdCIsImZha2QiLCJmYS1raXQtZHVvdG9uZSJdLG85dD17a2l0OntmYWs6ImtpdCIsImZhLWtpdCI6ImtpdCJ9LCJraXQtZHVvdG9uZSI6e2Zha2Q6ImtpdC1kdW90b25lIiwiZmEta2l0LWR1b3RvbmUiOiJraXQtZHVvdG9uZSJ9fSxBX2E9WyJraXQiXSxFX2E9ImtpdCIsUF9hPSJraXQtZHVvdG9uZSIsSV9hPSJLaXQiLE5fYT0iS2l0IER1b3RvbmUiLGdscz1XdChXdCh7fSxFX2EsSV9hKSxQX2EsTl9hKSxSX2E9e2tpdDp7ImZhLWtpdCI6ImZhayJ9LCJraXQtZHVvdG9uZSI6eyJmYS1raXQtZHVvdG9uZSI6ImZha2QifX0sT19hPXsiRm9udCBBd2Vzb21lIEtpdCI6ezQwMDoiZmFrIixub3JtYWw6ImZhayJ9LCJGb250IEF3ZXNvbWUgS2l0IER1b3RvbmUiOns0MDA6ImZha2QiLG5vcm1hbDoiZmFrZCJ9fSxGX2E9e2tpdDp7ZmFrOiJmYS1raXQifSwia2l0LWR1b3RvbmUiOntmYWtkOiJmYS1raXQtZHVvdG9uZSJ9fSxuOXQ9e2tpdDp7a2l0OiJmYWsifSwia2l0LWR1b3RvbmUiOnsia2l0LWR1b3RvbmUiOiJmYWtkIn19LHNlZT17R1JPVVA6ImR1b3RvbmUtZ3JvdXAiLFNXQVBfT1BBQ0lUWToic3dhcC1vcGFjaXR5IixQUklNQVJZOiJwcmltYXJ5IixTRUNPTkRBUlk6InNlY29uZGFyeSJ9LEJfYT1bImZhLWNsYXNzaWMiLCJmYS1kdW90b25lIiwiZmEtc2hhcnAiLCJmYS1zaGFycC1kdW90b25lIiwiZmEtdGh1bWJwcmludCIsImZhLXdoaXRlYm9hcmQiLCJmYS1ub3Rkb2ciLCJmYS1ub3Rkb2ctZHVvIiwiZmEtY2hpc2VsIiwiZmEtZXRjaCIsImZhLWdyYXBoaXRlIiwiZmEtamVsbHkiLCJmYS1qZWxseS1maWxsIiwiZmEtamVsbHktZHVvIiwiZmEtc2xhYiIsImZhLXNsYWItcHJlc3MiLCJmYS11dGlsaXR5IiwiZmEtdXRpbGl0eS1kdW8iLCJmYS11dGlsaXR5LWZpbGwiXSxIX2E9ImNsYXNzaWMiLHFfYT0iZHVvdG9uZSIsVl9hPSJzaGFycCIsal9hPSJzaGFycC1kdW90b25lIixVX2E9ImNoaXNlbCIsV19hPSJldGNoIixHX2E9ImdyYXBoaXRlIixZX2E9ImplbGx5IixLX2E9ImplbGx5LWR1byIsWl9hPSJqZWxseS1maWxsIixYX2E9Im5vdGRvZyIsUV9hPSJub3Rkb2ctZHVvIixKX2E9InNsYWIiLGVUYT0ic2xhYi1wcmVzcyIsdFRhPSJ0aHVtYnByaW50IixhVGE9InV0aWxpdHkiLHJUYT0idXRpbGl0eS1kdW8iLHNUYT0idXRpbGl0eS1maWxsIixpVGE9IndoaXRlYm9hcmQiLG9UYT0iQ2xhc3NpYyIsblRhPSJEdW90b25lIixsVGE9IlNoYXJwIixjVGE9IlNoYXJwIER1b3RvbmUiLGRUYT0iQ2hpc2VsIix1VGE9IkV0Y2giLHBUYT0iR3JhcGhpdGUiLGZUYT0iSmVsbHkiLGhUYT0iSmVsbHkgRHVvIixtVGE9IkplbGx5IEZpbGwiLGdUYT0iTm90ZG9nIixiVGE9Ik5vdGRvZyBEdW8iLHZUYT0iU2xhYiIseFRhPSJTbGFiIFByZXNzIix5VGE9IlRodW1icHJpbnQiLHdUYT0iVXRpbGl0eSIsTVRhPSJVdGlsaXR5IER1byIsa1RhPSJVdGlsaXR5IEZpbGwiLFNUYT0iV2hpdGVib2FyZCIsYmxzPShYNmU9e30sV3QoV3QoV3QoV3QoV3QoV3QoV3QoV3QoV3QoV3QoWDZlLEhfYSxvVGEpLHFfYSxuVGEpLFZfYSxsVGEpLGpfYSxjVGEpLFVfYSxkVGEpLFdfYSx1VGEpLEdfYSxwVGEpLFlfYSxmVGEpLEtfYSxoVGEpLFpfYSxtVGEpLFd0KFd0KFd0KFd0KFd0KFd0KFd0KFd0KFd0KFg2ZSxYX2EsZ1RhKSxRX2EsYlRhKSxKX2EsdlRhKSxlVGEseFRhKSx0VGEseVRhKSxhVGEsd1RhKSxyVGEsTVRhKSxzVGEsa1RhKSxpVGEsU1RhKSkselRhPSJraXQiLENUYT0ia2l0LWR1b3RvbmUiLF9UYT0iS2l0IixUVGE9IktpdCBEdW90b25lIix2bHM9V3QoV3Qoe30selRhLF9UYSksQ1RhLFRUYSksTFRhPXtjbGFzc2ljOnsiZmEtYnJhbmRzIjoiZmFiIiwiZmEtZHVvdG9uZSI6ImZhZCIsImZhLWxpZ2h0IjoiZmFsIiwiZmEtcmVndWxhciI6ImZhciIsImZhLXNvbGlkIjoiZmFzIiwiZmEtdGhpbiI6ImZhdCJ9LGR1b3RvbmU6eyJmYS1yZWd1bGFyIjoiZmFkciIsImZhLWxpZ2h0IjoiZmFkbCIsImZhLXRoaW4iOiJmYWR0In0sc2hhcnA6eyJmYS1zb2xpZCI6ImZhc3MiLCJmYS1yZWd1bGFyIjoiZmFzciIsImZhLWxpZ2h0IjoiZmFzbCIsImZhLXRoaW4iOiJmYXN0In0sInNoYXJwLWR1b3RvbmUiOnsiZmEtc29saWQiOiJmYXNkcyIsImZhLXJlZ3VsYXIiOiJmYXNkciIsImZhLWxpZ2h0IjoiZmFzZGwiLCJmYS10aGluIjoiZmFzZHQifSxzbGFiOnsiZmEtcmVndWxhciI6ImZhc2xyIn0sInNsYWItcHJlc3MiOnsiZmEtcmVndWxhciI6ImZhc2xwciJ9LHdoaXRlYm9hcmQ6eyJmYS1zZW1pYm9sZCI6ImZhd3NiIn0sdGh1bWJwcmludDp7ImZhLWxpZ2h0IjoiZmF0bCJ9LG5vdGRvZzp7ImZhLXNvbGlkIjoiZmFucyJ9LCJub3Rkb2ctZHVvIjp7ImZhLXNvbGlkIjoiZmFuZHMifSxldGNoOnsiZmEtc29saWQiOiJmYWVzIn0sZ3JhcGhpdGU6eyJmYS10aGluIjoiZmFndCJ9LGplbGx5OnsiZmEtcmVndWxhciI6ImZhanIifSwiamVsbHktZmlsbCI6eyJmYS1yZWd1bGFyIjoiZmFqZnIifSwiamVsbHktZHVvIjp7ImZhLXJlZ3VsYXIiOiJmYWpkciJ9LGNoaXNlbDp7ImZhLXJlZ3VsYXIiOiJmYWNyIn0sdXRpbGl0eTp7ImZhLXNlbWlib2xkIjoiZmF1c2IifSwidXRpbGl0eS1kdW8iOnsiZmEtc2VtaWJvbGQiOiJmYXVkc2IifSwidXRpbGl0eS1maWxsIjp7ImZhLXNlbWlib2xkIjoiZmF1ZnNiIn19LCRUYT17Y2xhc3NpYzpbImZhcyIsImZhciIsImZhbCIsImZhdCIsImZhZCJdLGR1b3RvbmU6WyJmYWRyIiwiZmFkbCIsImZhZHQiXSxzaGFycDpbImZhc3MiLCJmYXNyIiwiZmFzbCIsImZhc3QiXSwic2hhcnAtZHVvdG9uZSI6WyJmYXNkcyIsImZhc2RyIiwiZmFzZGwiLCJmYXNkdCJdLHNsYWI6WyJmYXNsciJdLCJzbGFiLXByZXNzIjpbImZhc2xwciJdLHdoaXRlYm9hcmQ6WyJmYXdzYiJdLHRodW1icHJpbnQ6WyJmYXRsIl0sbm90ZG9nOlsiZmFucyJdLCJub3Rkb2ctZHVvIjpbImZhbmRzIl0sZXRjaDpbImZhZXMiXSxncmFwaGl0ZTpbImZhZ3QiXSxqZWxseTpbImZhanIiXSwiamVsbHktZmlsbCI6WyJmYWpmciJdLCJqZWxseS1kdW8iOlsiZmFqZHIiXSxjaGlzZWw6WyJmYWNyIl0sdXRpbGl0eTpbImZhdXNiIl0sInV0aWxpdHktZHVvIjpbImZhdWRzYiJdLCJ1dGlsaXR5LWZpbGwiOlsiZmF1ZnNiIl19LFE2ZT17Y2xhc3NpYzp7ZmFiOiJmYS1icmFuZHMiLGZhZDoiZmEtZHVvdG9uZSIsZmFsOiJmYS1saWdodCIsZmFyOiJmYS1yZWd1bGFyIixmYXM6ImZhLXNvbGlkIixmYXQ6ImZhLXRoaW4ifSxkdW90b25lOntmYWRyOiJmYS1yZWd1bGFyIixmYWRsOiJmYS1saWdodCIsZmFkdDoiZmEtdGhpbiJ9LHNoYXJwOntmYXNzOiJmYS1zb2xpZCIsZmFzcjoiZmEtcmVndWxhciIsZmFzbDoiZmEtbGlnaHQiLGZhc3Q6ImZhLXRoaW4ifSwic2hhcnAtZHVvdG9uZSI6e2Zhc2RzOiJmYS1zb2xpZCIsZmFzZHI6ImZhLXJlZ3VsYXIiLGZhc2RsOiJmYS1saWdodCIsZmFzZHQ6ImZhLXRoaW4ifSxzbGFiOntmYXNscjoiZmEtcmVndWxhciJ9LCJzbGFiLXByZXNzIjp7ZmFzbHByOiJmYS1yZWd1bGFyIn0sd2hpdGVib2FyZDp7ZmF3c2I6ImZhLXNlbWlib2xkIn0sdGh1bWJwcmludDp7ZmF0bDoiZmEtbGlnaHQifSxub3Rkb2c6e2ZhbnM6ImZhLXNvbGlkIn0sIm5vdGRvZy1kdW8iOntmYW5kczoiZmEtc29saWQifSxldGNoOntmYWVzOiJmYS1zb2xpZCJ9LGdyYXBoaXRlOntmYWd0OiJmYS10aGluIn0samVsbHk6e2ZhanI6ImZhLXJlZ3VsYXIifSwiamVsbHktZmlsbCI6e2ZhamZyOiJmYS1yZWd1bGFyIn0sImplbGx5LWR1byI6e2ZhamRyOiJmYS1yZWd1bGFyIn0sY2hpc2VsOntmYWNyOiJmYS1yZWd1bGFyIn0sdXRpbGl0eTp7ZmF1c2I6ImZhLXNlbWlib2xkIn0sInV0aWxpdHktZHVvIjp7ZmF1ZHNiOiJmYS1zZW1pYm9sZCJ9LCJ1dGlsaXR5LWZpbGwiOntmYXVmc2I6ImZhLXNlbWlib2xkIn19LERUYT1bImZhLXNvbGlkIiwiZmEtcmVndWxhciIsImZhLWxpZ2h0IiwiZmEtdGhpbiIsImZhLWR1b3RvbmUiLCJmYS1icmFuZHMiLCJmYS1zZW1pYm9sZCJdLGw5dD1bImZhIiwiZmFzIiwiZmFyIiwiZmFsIiwiZmF0IiwiZmFkIiwiZmFkciIsImZhZGwiLCJmYWR0IiwiZmFiIiwiZmFzcyIsImZhc3IiLCJmYXNsIiwiZmFzdCIsImZhc2RzIiwiZmFzZHIiLCJmYXNkbCIsImZhc2R0IiwiZmFzbHIiLCJmYXNscHIiLCJmYXdzYiIsImZhdGwiLCJmYW5zIiwiZmFuZHMiLCJmYWVzIiwiZmFndCIsImZhanIiLCJmYWpmciIsImZhamRyIiwiZmFjciIsImZhdXNiIiwiZmF1ZHNiIiwiZmF1ZnNiIl0uY29uY2F0KEJfYSxEVGEpLEFUYT1bInNvbGlkIiwicmVndWxhciIsImxpZ2h0IiwidGhpbiIsImR1b3RvbmUiLCJicmFuZHMiLCJzZW1pYm9sZCJdLGM5dD1bMSwyLDMsNCw1LDYsNyw4LDksMTBdLEVUYT1jOXQuY29uY2F0KFsxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSwyMF0pLFBUYT1bImF3IiwiZnciLCJwdWxsLWxlZnQiLCJwdWxsLXJpZ2h0Il0sSVRhPVtdLmNvbmNhdChrMShPYmplY3Qua2V5cygkVGEpKSxBVGEsUFRhLFsiMnhzIiwieHMiLCJzbSIsImxnIiwieGwiLCIyeGwiLCJiZWF0IiwiYm9yZGVyIiwiZmFkZSIsImJlYXQtZmFkZSIsImJvdW5jZSIsImZsaXAtYm90aCIsImZsaXAtaG9yaXpvbnRhbCIsImZsaXAtdmVydGljYWwiLCJmbGlwIiwiaW52ZXJzZSIsImxheWVycyIsImxheWVycy1ib3R0b20tbGVmdCIsImxheWVycy1ib3R0b20tcmlnaHQiLCJsYXllcnMtY291bnRlciIsImxheWVycy10ZXh0IiwibGF5ZXJzLXRvcC1sZWZ0IiwibGF5ZXJzLXRvcC1yaWdodCIsImxpIiwicHVsbC1lbmQiLCJwdWxsLXN0YXJ0IiwicHVsc2UiLCJyb3RhdGUtMTgwIiwicm90YXRlLTI3MCIsInJvdGF0ZS05MCIsInJvdGF0ZS1ieSIsInNoYWtlIiwic3Bpbi1wdWxzZSIsInNwaW4tcmV2ZXJzZSIsInNwaW4iLCJzdGFjay0xeCIsInN0YWNrLTJ4Iiwic3RhY2siLCJ1bCIsIndpZHRoLWF1dG8iLCJ3aWR0aC1maXhlZCIsc2VlLkdST1VQLHNlZS5TV0FQX09QQUNJVFksc2VlLlBSSU1BUlksc2VlLlNFQ09OREFSWV0pLmNvbmNhdChjOXQubWFwKGZ1bmN0aW9uKGEpe3JldHVybiIiLmNvbmNhdChhLCJ4Iil9KSkuY29uY2F0KEVUYS5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuInctIi5jb25jYXQoYSl9KSksTlRhPXsiRm9udCBBd2Vzb21lIDUgRnJlZSI6ezkwMDoiZmFzIiw0MDA6ImZhciJ9LCJGb250IEF3ZXNvbWUgNSBQcm8iOns5MDA6ImZhcyIsNDAwOiJmYXIiLG5vcm1hbDoiZmFyIiwzMDA6ImZhbCJ9LCJGb250IEF3ZXNvbWUgNSBCcmFuZHMiOns0MDA6ImZhYiIsbm9ybWFsOiJmYWIifSwiRm9udCBBd2Vzb21lIDUgRHVvdG9uZSI6ezkwMDoiZmFkIn19LGFjPSJfX19GT05UX0FXRVNPTUVfX18iLEo2ZT0xNixkOXQ9ImZhIix1OXQ9InN2Zy1pbmxpbmUtLWZhIixtZD0iZGF0YS1mYS1pMnN2ZyIsZXVlPSJkYXRhLWZhLXBzZXVkby1lbGVtZW50IixSVGE9ImRhdGEtZmEtcHNldWRvLWVsZW1lbnQtcGVuZGluZyIsdHVlPSJkYXRhLXByZWZpeCIsYXVlPSJkYXRhLWljb24iLHA5dD0iZm9udGF3ZXNvbWUtaTJzdmciLE9UYT0iYXN5bmMiLEZUYT1bIkhUTUwiLCJIRUFEIiwiU1RZTEUiLCJTQ1JJUFQiXSxmOXQ9WyI6OmJlZm9yZSIsIjo6YWZ0ZXIiLCI6YmVmb3JlIiwiOmFmdGVyIl0saDl0PShmdW5jdGlvbigpe3RyeXtyZXR1cm4hMH1jYXRjaHtyZXR1cm4hMX19KSgpO3MoTGIsImZhbWlseVByb3h5Iik7bTl0PVhlKHt9LEY3dCk7bTl0W0pzXT1YZShYZShYZShYZSh7fSx7ImZhLWR1b3RvbmUiOiJkdW90b25lIn0pLEY3dFtKc10pLG85dC5raXQpLG85dFsia2l0LWR1b3RvbmUiXSk7QlRhPUxiKG05dCkscnVlPVhlKHt9LERfYSk7cnVlW0pzXT1YZShYZShYZShYZSh7fSx7ZHVvdG9uZToiZmFkIn0pLHJ1ZVtKc10pLG45dC5raXQpLG45dFsia2l0LWR1b3RvbmUiXSk7Zzl0PUxiKHJ1ZSksc3VlPVhlKHt9LFE2ZSk7c3VlW0pzXT1YZShYZSh7fSxzdWVbSnNdKSxGX2Eua2l0KTtpdWU9TGIoc3VlKSxvdWU9WGUoe30sTFRhKTtvdWVbSnNdPVhlKFhlKHt9LG91ZVtKc10pLFJfYS5raXQpO3hscz1MYihvdWUpLEhUYT1vX2EsYjl0PSJmYS1sYXllcnMtdGV4dCIscVRhPW5fYSxWVGE9WGUoe30sVF9hKSx5bHM9TGIoVlRhKSxqVGE9WyJjbGFzcyIsImRhdGEtcHJlZml4IiwiZGF0YS1pY29uIiwiZGF0YS1mYS10cmFuc2Zvcm0iLCJkYXRhLWZhLW1hc2siXSxudWU9bF9hLFVUYT1bXS5jb25jYXQoazEoQV9hKSxrMShJVGEpKSwkYj10NC5Gb250QXdlc29tZUNvbmZpZ3x8e307cyhXVGEsImdldEF0dHJDb25maWciKTtzKEdUYSwiY29lcmNlIiksZnImJnR5cGVvZiBmci5xdWVyeVNlbGVjdG9yPT0iZnVuY3Rpb24iJiYodjl0PVtbImRhdGEtZmFtaWx5LXByZWZpeCIsImZhbWlseVByZWZpeCJdLFsiZGF0YS1jc3MtcHJlZml4IiwiY3NzUHJlZml4Il0sWyJkYXRhLWZhbWlseS1kZWZhdWx0IiwiZmFtaWx5RGVmYXVsdCJdLFsiZGF0YS1zdHlsZS1kZWZhdWx0Iiwic3R5bGVEZWZhdWx0Il0sWyJkYXRhLXJlcGxhY2VtZW50LWNsYXNzIiwicmVwbGFjZW1lbnRDbGFzcyJdLFsiZGF0YS1hdXRvLXJlcGxhY2Utc3ZnIiwiYXV0b1JlcGxhY2VTdmciXSxbImRhdGEtYXV0by1hZGQtY3NzIiwiYXV0b0FkZENzcyJdLFsiZGF0YS1zZWFyY2gtcHNldWRvLWVsZW1lbnRzIiwic2VhcmNoUHNldWRvRWxlbWVudHMiXSxbImRhdGEtc2VhcmNoLXBzZXVkby1lbGVtZW50cy13YXJuaW5ncyIsInNlYXJjaFBzZXVkb0VsZW1lbnRzV2FybmluZ3MiXSxbImRhdGEtc2VhcmNoLXBzZXVkby1lbGVtZW50cy1mdWxsLXNjYW4iLCJzZWFyY2hQc2V1ZG9FbGVtZW50c0Z1bGxTY2FuIl0sWyJkYXRhLW9ic2VydmUtbXV0YXRpb25zIiwib2JzZXJ2ZU11dGF0aW9ucyJdLFsiZGF0YS1tdXRhdGUtYXBwcm9hY2giLCJtdXRhdGVBcHByb2FjaCJdLFsiZGF0YS1rZWVwLW9yaWdpbmFsLXNvdXJjZSIsImtlZXBPcmlnaW5hbFNvdXJjZSJdLFsiZGF0YS1tZWFzdXJlLXBlcmZvcm1hbmNlIiwibWVhc3VyZVBlcmZvcm1hbmNlIl0sWyJkYXRhLXNob3ctbWlzc2luZy1pY29ucyIsInNob3dNaXNzaW5nSWNvbnMiXV0sdjl0LmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIGU9dGVlKGEsMiksdD1lWzBdLHI9ZVsxXSxpPUdUYShXVGEodCkpO2khPW51bGwmJigkYltyXT1pKX0pKTt4OXQ9e3N0eWxlRGVmYXVsdDoic29saWQiLGZhbWlseURlZmF1bHQ6SnMsY3NzUHJlZml4OmQ5dCxyZXBsYWNlbWVudENsYXNzOnU5dCxhdXRvUmVwbGFjZVN2ZzohMCxhdXRvQWRkQ3NzOiEwLHNlYXJjaFBzZXVkb0VsZW1lbnRzOiExLHNlYXJjaFBzZXVkb0VsZW1lbnRzV2FybmluZ3M6ITAsc2VhcmNoUHNldWRvRWxlbWVudHNGdWxsU2NhbjohMSxvYnNlcnZlTXV0YXRpb25zOiEwLG11dGF0ZUFwcHJvYWNoOiJhc3luYyIsa2VlcE9yaWdpbmFsU291cmNlOiEwLG1lYXN1cmVQZXJmb3JtYW5jZTohMSxzaG93TWlzc2luZ0ljb25zOiEwfTskYi5mYW1pbHlQcmVmaXgmJigkYi5jc3NQcmVmaXg9JGIuZmFtaWx5UHJlZml4KTtZOD1YZShYZSh7fSx4OXQpLCRiKTtZOC5hdXRvUmVwbGFjZVN2Z3x8KFk4Lm9ic2VydmVNdXRhdGlvbnM9ITEpOyR0PXt9O09iamVjdC5rZXlzKHg5dCkuZm9yRWFjaChmdW5jdGlvbihhKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoJHQsYSx7ZW51bWVyYWJsZTohMCxzZXQ6cyhmdW5jdGlvbih0KXtZOFthXT10LERiLmZvckVhY2goZnVuY3Rpb24ocil7cmV0dXJuIHIoJHQpfSl9LCJzZXQiKSxnZXQ6cyhmdW5jdGlvbigpe3JldHVybiBZOFthXX0sImdldCIpfSl9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoJHQsImZhbWlseVByZWZpeCIse2VudW1lcmFibGU6ITAsc2V0OnMoZnVuY3Rpb24oZSl7WTguY3NzUHJlZml4PWUsRGIuZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gdCgkdCl9KX0sInNldCIpLGdldDpzKGZ1bmN0aW9uKCl7cmV0dXJuIFk4LmNzc1ByZWZpeH0sImdldCIpfSksdDQuRm9udEF3ZXNvbWVDb25maWc9JHQ7RGI9W107cyhZVGEsIm9uQ2hhbmdlIik7YTQ9SjZlLFYyPXtzaXplOjE2LHg6MCx5OjAscm90YXRlOjAsZmxpcFg6ITEsZmxpcFk6ITF9O3MoS1RhLCJpbnNlcnRDc3MiKTtaVGE9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjtzKHk5dCwibmV4dFVuaXF1ZUlkIik7cyhLOCwidG9BcnJheSIpO3MobHVlLCJjbGFzc0FycmF5Iik7cyh3OXQsImh0bWxFc2NhcGUiKTtzKFhUYSwiam9pbkF0dHJpYnV0ZXMiKTtzKGllZSwiam9pblN0eWxlcyIpO3MoY3VlLCJ0cmFuc2Zvcm1Jc01lYW5pbmdmdWwiKTtzKFFUYSwidHJhbnNmb3JtRm9yU3ZnIik7cyhKVGEsInRyYW5zZm9ybUZvckNzcyIpO2VMYT1gOnJvb3QsIDpob3N0IHsKICAtLWZhLWZvbnQtc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IEZyZWUnOwogIC0tZmEtZm9udC1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBGcmVlJzsKICAtLWZhLWZvbnQtbGlnaHQ6IG5vcm1hbCAzMDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFBybyc7CiAgLS1mYS1mb250LXRoaW46IG5vcm1hbCAxMDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFBybyc7CiAgLS1mYS1mb250LWR1b3RvbmU6IG5vcm1hbCA5MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IER1b3RvbmUnOwogIC0tZmEtZm9udC1kdW90b25lLXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IER1b3RvbmUnOwogIC0tZmEtZm9udC1kdW90b25lLWxpZ2h0OiBub3JtYWwgMzAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBEdW90b25lJzsKICAtLWZhLWZvbnQtZHVvdG9uZS10aGluOiBub3JtYWwgMTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBEdW90b25lJzsKICAtLWZhLWZvbnQtYnJhbmRzOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBCcmFuZHMnOwogIC0tZmEtZm9udC1zaGFycC1zb2xpZDogbm9ybWFsIDkwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgU2hhcnAnOwogIC0tZmEtZm9udC1zaGFycC1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBTaGFycCc7CiAgLS1mYS1mb250LXNoYXJwLWxpZ2h0OiBub3JtYWwgMzAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBTaGFycCc7CiAgLS1mYS1mb250LXNoYXJwLXRoaW46IG5vcm1hbCAxMDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFNoYXJwJzsKICAtLWZhLWZvbnQtc2hhcnAtZHVvdG9uZS1zb2xpZDogbm9ybWFsIDkwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgU2hhcnAgRHVvdG9uZSc7CiAgLS1mYS1mb250LXNoYXJwLWR1b3RvbmUtcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgU2hhcnAgRHVvdG9uZSc7CiAgLS1mYS1mb250LXNoYXJwLWR1b3RvbmUtbGlnaHQ6IG5vcm1hbCAzMDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFNoYXJwIER1b3RvbmUnOwogIC0tZmEtZm9udC1zaGFycC1kdW90b25lLXRoaW46IG5vcm1hbCAxMDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFNoYXJwIER1b3RvbmUnOwogIC0tZmEtZm9udC1zbGFiLXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFNsYWInOwogIC0tZmEtZm9udC1zbGFiLXByZXNzLXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFNsYWIgUHJlc3MnOwogIC0tZmEtZm9udC13aGl0ZWJvYXJkLXNlbWlib2xkOiBub3JtYWwgNjAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBXaGl0ZWJvYXJkJzsKICAtLWZhLWZvbnQtdGh1bWJwcmludC1saWdodDogbm9ybWFsIDMwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgVGh1bWJwcmludCc7CiAgLS1mYS1mb250LW5vdGRvZy1zb2xpZDogbm9ybWFsIDkwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgTm90ZG9nJzsKICAtLWZhLWZvbnQtbm90ZG9nLWR1by1zb2xpZDogbm9ybWFsIDkwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgTm90ZG9nIER1byc7CiAgLS1mYS1mb250LWV0Y2gtc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IEV0Y2gnOwogIC0tZmEtZm9udC1ncmFwaGl0ZS10aGluOiBub3JtYWwgMTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBHcmFwaGl0ZSc7CiAgLS1mYS1mb250LWplbGx5LXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IEplbGx5JzsKICAtLWZhLWZvbnQtamVsbHktZmlsbC1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBKZWxseSBGaWxsJzsKICAtLWZhLWZvbnQtamVsbHktZHVvLXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IEplbGx5IER1byc7CiAgLS1mYS1mb250LWNoaXNlbC1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBDaGlzZWwnOwogIC0tZmEtZm9udC11dGlsaXR5LXNlbWlib2xkOiBub3JtYWwgNjAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBVdGlsaXR5JzsKICAtLWZhLWZvbnQtdXRpbGl0eS1kdW8tc2VtaWJvbGQ6IG5vcm1hbCA2MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFV0aWxpdHkgRHVvJzsKICAtLWZhLWZvbnQtdXRpbGl0eS1maWxsLXNlbWlib2xkOiBub3JtYWwgNjAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBVdGlsaXR5IEZpbGwnOwp9Cgouc3ZnLWlubGluZS0tZmEgewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OwogIGRpc3BsYXk6IHZhcigtLWZhLWRpc3BsYXksIGlubGluZS1ibG9jayk7CiAgaGVpZ2h0OiAxZW07CiAgb3ZlcmZsb3c6IHZpc2libGU7CiAgdmVydGljYWwtYWxpZ246IC0wLjEyNWVtOwogIHdpZHRoOiB2YXIoLS1mYS13aWR0aCwgMS4yNWVtKTsKfQouc3ZnLWlubGluZS0tZmEuZmEtMnhzIHsKICB2ZXJ0aWNhbC1hbGlnbjogMC4xZW07Cn0KLnN2Zy1pbmxpbmUtLWZhLmZhLXhzIHsKICB2ZXJ0aWNhbC1hbGlnbjogMGVtOwp9Ci5zdmctaW5saW5lLS1mYS5mYS1zbSB7CiAgdmVydGljYWwtYWxpZ246IC0wLjA3MTQyODU3MTRlbTsKfQouc3ZnLWlubGluZS0tZmEuZmEtbGcgewogIHZlcnRpY2FsLWFsaWduOiAtMC4yZW07Cn0KLnN2Zy1pbmxpbmUtLWZhLmZhLXhsIHsKICB2ZXJ0aWNhbC1hbGlnbjogLTAuMjVlbTsKfQouc3ZnLWlubGluZS0tZmEuZmEtMnhsIHsKICB2ZXJ0aWNhbC1hbGlnbjogLTAuMzEyNWVtOwp9Ci5zdmctaW5saW5lLS1mYS5mYS1wdWxsLWxlZnQsCi5zdmctaW5saW5lLS1mYSAuZmEtcHVsbC1zdGFydCB7CiAgZmxvYXQ6IGlubGluZS1zdGFydDsKICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tZmEtcHVsbC1tYXJnaW4sIDAuM2VtKTsKfQouc3ZnLWlubGluZS0tZmEuZmEtcHVsbC1yaWdodCwKLnN2Zy1pbmxpbmUtLWZhIC5mYS1wdWxsLWVuZCB7CiAgZmxvYXQ6IGlubGluZS1lbmQ7CiAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tZmEtcHVsbC1tYXJnaW4sIDAuM2VtKTsKfQouc3ZnLWlubGluZS0tZmEuZmEtbGkgewogIHdpZHRoOiB2YXIoLS1mYS1saS13aWR0aCwgMmVtKTsKICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoLTEgKiB2YXIoLS1mYS1saS13aWR0aCwgMmVtKSk7CiAgaW5zZXQtYmxvY2stc3RhcnQ6IDAuMjVlbTsgLyogc3luY2luZyB2ZXJ0aWNhbCBhbGlnbm1lbnQgd2l0aCBXZWIgRm9udCByZW5kZXJpbmcgKi8KfQoKLmZhLWxheWVycy1jb3VudGVyLCAuZmEtbGF5ZXJzLXRleHQgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgouZmEtbGF5ZXJzIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgaGVpZ2h0OiAxZW07CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB2ZXJ0aWNhbC1hbGlnbjogLTAuMTI1ZW07CiAgd2lkdGg6IHZhcigtLWZhLXdpZHRoLCAxLjI1ZW0pOwp9Ci5mYS1sYXllcnMgLnN2Zy1pbmxpbmUtLWZhIHsKICBpbnNldDogMDsKICBtYXJnaW46IGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7Cn0KCi5mYS1sYXllcnMtdGV4dCB7CiAgbGVmdDogNTAlOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7Cn0KCi5mYS1sYXllcnMtY291bnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZmEtY291bnRlci1iYWNrZ3JvdW5kLWNvbG9yLCAjZmYyNTNhKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1mYS1jb3VudGVyLWJvcmRlci1yYWRpdXMsIDFlbSk7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICBjb2xvcjogdmFyKC0tZmEtaW52ZXJzZSwgI2ZmZik7CiAgbGluZS1oZWlnaHQ6IHZhcigtLWZhLWNvdW50ZXItbGluZS1oZWlnaHQsIDEpOwogIG1heC13aWR0aDogdmFyKC0tZmEtY291bnRlci1tYXgtd2lkdGgsIDVlbSk7CiAgbWluLXdpZHRoOiB2YXIoLS1mYS1jb3VudGVyLW1pbi13aWR0aCwgMS41ZW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tZmEtY291bnRlci1wYWRkaW5nLCAwLjI1ZW0gMC41ZW0pOwogIHJpZ2h0OiB2YXIoLS1mYS1yaWdodCwgMCk7CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgdG9wOiB2YXIoLS1mYS10b3AsIDApOwogIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtY291bnRlci1zY2FsZSwgMC4yNSkpOwogIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDsKfQoKLmZhLWxheWVycy1ib3R0b20tcmlnaHQgewogIGJvdHRvbTogdmFyKC0tZmEtYm90dG9tLCAwKTsKICByaWdodDogdmFyKC0tZmEtcmlnaHQsIDApOwogIHRvcDogYXV0bzsKICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWxheWVycy1zY2FsZSwgMC4yNSkpOwogIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDsKfQoKLmZhLWxheWVycy1ib3R0b20tbGVmdCB7CiAgYm90dG9tOiB2YXIoLS1mYS1ib3R0b20sIDApOwogIGxlZnQ6IHZhcigtLWZhLWxlZnQsIDApOwogIHJpZ2h0OiBhdXRvOwogIHRvcDogYXV0bzsKICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWxheWVycy1zY2FsZSwgMC4yNSkpOwogIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0Owp9CgouZmEtbGF5ZXJzLXRvcC1yaWdodCB7CiAgdG9wOiB2YXIoLS1mYS10b3AsIDApOwogIHJpZ2h0OiB2YXIoLS1mYS1yaWdodCwgMCk7CiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1sYXllcnMtc2NhbGUsIDAuMjUpKTsKICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7Cn0KCi5mYS1sYXllcnMtdG9wLWxlZnQgewogIGxlZnQ6IHZhcigtLWZhLWxlZnQsIDApOwogIHJpZ2h0OiBhdXRvOwogIHRvcDogdmFyKC0tZmEtdG9wLCAwKTsKICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWxheWVycy1zY2FsZSwgMC4yNSkpOwogIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Owp9CgouZmEtMXggewogIGZvbnQtc2l6ZTogMWVtOwp9CgouZmEtMnggewogIGZvbnQtc2l6ZTogMmVtOwp9CgouZmEtM3ggewogIGZvbnQtc2l6ZTogM2VtOwp9CgouZmEtNHggewogIGZvbnQtc2l6ZTogNGVtOwp9CgouZmEtNXggewogIGZvbnQtc2l6ZTogNWVtOwp9CgouZmEtNnggewogIGZvbnQtc2l6ZTogNmVtOwp9CgouZmEtN3ggewogIGZvbnQtc2l6ZTogN2VtOwp9CgouZmEtOHggewogIGZvbnQtc2l6ZTogOGVtOwp9CgouZmEtOXggewogIGZvbnQtc2l6ZTogOWVtOwp9CgouZmEtMTB4IHsKICBmb250LXNpemU6IDEwZW07Cn0KCi5mYS0yeHMgewogIGZvbnQtc2l6ZTogY2FsYygxMCAvIDE2ICogMWVtKTsgLyogY29udmVydHMgYSAxMHB4IHNpemUgaW50byBhbiBlbS1iYXNlZCB2YWx1ZSB0aGF0J3MgcmVsYXRpdmUgdG8gdGhlIHNjYWxlJ3MgMTZweCBiYXNlICovCiAgbGluZS1oZWlnaHQ6IGNhbGMoMSAvIDEwICogMWVtKTsgLyogc2V0cyB0aGUgbGluZS1oZWlnaHQgb2YgdGhlIGljb24gYmFjayB0byB0aGF0IG9mIGl0J3MgcGFyZW50ICovCiAgdmVydGljYWwtYWxpZ246IGNhbGMoKDYgLyAxMCAtIDAuMzc1KSAqIDFlbSk7IC8qIHZlcnRpY2FsbHkgY2VudGVycyB0aGUgaWNvbiB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBzdXJyb3VuZGluZyB0ZXh0J3MgZGVzY2VuZGVyICovCn0KCi5mYS14cyB7CiAgZm9udC1zaXplOiBjYWxjKDEyIC8gMTYgKiAxZW0pOyAvKiBjb252ZXJ0cyBhIDEycHggc2l6ZSBpbnRvIGFuIGVtLWJhc2VkIHZhbHVlIHRoYXQncyByZWxhdGl2ZSB0byB0aGUgc2NhbGUncyAxNnB4IGJhc2UgKi8KICBsaW5lLWhlaWdodDogY2FsYygxIC8gMTIgKiAxZW0pOyAvKiBzZXRzIHRoZSBsaW5lLWhlaWdodCBvZiB0aGUgaWNvbiBiYWNrIHRvIHRoYXQgb2YgaXQncyBwYXJlbnQgKi8KICB2ZXJ0aWNhbC1hbGlnbjogY2FsYygoNiAvIDEyIC0gMC4zNzUpICogMWVtKTsgLyogdmVydGljYWxseSBjZW50ZXJzIHRoZSBpY29uIHRha2luZyBpbnRvIGFjY291bnQgdGhlIHN1cnJvdW5kaW5nIHRleHQncyBkZXNjZW5kZXIgKi8KfQoKLmZhLXNtIHsKICBmb250LXNpemU6IGNhbGMoMTQgLyAxNiAqIDFlbSk7IC8qIGNvbnZlcnRzIGEgMTRweCBzaXplIGludG8gYW4gZW0tYmFzZWQgdmFsdWUgdGhhdCdzIHJlbGF0aXZlIHRvIHRoZSBzY2FsZSdzIDE2cHggYmFzZSAqLwogIGxpbmUtaGVpZ2h0OiBjYWxjKDEgLyAxNCAqIDFlbSk7IC8qIHNldHMgdGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBpY29uIGJhY2sgdG8gdGhhdCBvZiBpdCdzIHBhcmVudCAqLwogIHZlcnRpY2FsLWFsaWduOiBjYWxjKCg2IC8gMTQgLSAwLjM3NSkgKiAxZW0pOyAvKiB2ZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGljb24gdGFraW5nIGludG8gYWNjb3VudCB0aGUgc3Vycm91bmRpbmcgdGV4dCdzIGRlc2NlbmRlciAqLwp9CgouZmEtbGcgewogIGZvbnQtc2l6ZTogY2FsYygyMCAvIDE2ICogMWVtKTsgLyogY29udmVydHMgYSAyMHB4IHNpemUgaW50byBhbiBlbS1iYXNlZCB2YWx1ZSB0aGF0J3MgcmVsYXRpdmUgdG8gdGhlIHNjYWxlJ3MgMTZweCBiYXNlICovCiAgbGluZS1oZWlnaHQ6IGNhbGMoMSAvIDIwICogMWVtKTsgLyogc2V0cyB0aGUgbGluZS1oZWlnaHQgb2YgdGhlIGljb24gYmFjayB0byB0aGF0IG9mIGl0J3MgcGFyZW50ICovCiAgdmVydGljYWwtYWxpZ246IGNhbGMoKDYgLyAyMCAtIDAuMzc1KSAqIDFlbSk7IC8qIHZlcnRpY2FsbHkgY2VudGVycyB0aGUgaWNvbiB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBzdXJyb3VuZGluZyB0ZXh0J3MgZGVzY2VuZGVyICovCn0KCi5mYS14bCB7CiAgZm9udC1zaXplOiBjYWxjKDI0IC8gMTYgKiAxZW0pOyAvKiBjb252ZXJ0cyBhIDI0cHggc2l6ZSBpbnRvIGFuIGVtLWJhc2VkIHZhbHVlIHRoYXQncyByZWxhdGl2ZSB0byB0aGUgc2NhbGUncyAxNnB4IGJhc2UgKi8KICBsaW5lLWhlaWdodDogY2FsYygxIC8gMjQgKiAxZW0pOyAvKiBzZXRzIHRoZSBsaW5lLWhlaWdodCBvZiB0aGUgaWNvbiBiYWNrIHRvIHRoYXQgb2YgaXQncyBwYXJlbnQgKi8KICB2ZXJ0aWNhbC1hbGlnbjogY2FsYygoNiAvIDI0IC0gMC4zNzUpICogMWVtKTsgLyogdmVydGljYWxseSBjZW50ZXJzIHRoZSBpY29uIHRha2luZyBpbnRvIGFjY291bnQgdGhlIHN1cnJvdW5kaW5nIHRleHQncyBkZXNjZW5kZXIgKi8KfQoKLmZhLTJ4bCB7CiAgZm9udC1zaXplOiBjYWxjKDMyIC8gMTYgKiAxZW0pOyAvKiBjb252ZXJ0cyBhIDMycHggc2l6ZSBpbnRvIGFuIGVtLWJhc2VkIHZhbHVlIHRoYXQncyByZWxhdGl2ZSB0byB0aGUgc2NhbGUncyAxNnB4IGJhc2UgKi8KICBsaW5lLWhlaWdodDogY2FsYygxIC8gMzIgKiAxZW0pOyAvKiBzZXRzIHRoZSBsaW5lLWhlaWdodCBvZiB0aGUgaWNvbiBiYWNrIHRvIHRoYXQgb2YgaXQncyBwYXJlbnQgKi8KICB2ZXJ0aWNhbC1hbGlnbjogY2FsYygoNiAvIDMyIC0gMC4zNzUpICogMWVtKTsgLyogdmVydGljYWxseSBjZW50ZXJzIHRoZSBpY29uIHRha2luZyBpbnRvIGFjY291bnQgdGhlIHN1cnJvdW5kaW5nIHRleHQncyBkZXNjZW5kZXIgKi8KfQoKLmZhLXdpZHRoLWF1dG8gewogIC0tZmEtd2lkdGg6IGF1dG87Cn0KCi5mYS1mdywKLmZhLXdpZHRoLWZpeGVkIHsKICAtLWZhLXdpZHRoOiAxLjI1ZW07Cn0KCi5mYS11bCB7CiAgbGlzdC1zdHlsZS10eXBlOiBub25lOwogIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWZhLWxpLW1hcmdpbiwgMi41ZW0pOwogIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwOwp9Ci5mYS11bCA+IGxpIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5mYS1saSB7CiAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKC0xICogdmFyKC0tZmEtbGktd2lkdGgsIDJlbSkpOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgd2lkdGg6IHZhcigtLWZhLWxpLXdpZHRoLCAyZW0pOwogIGxpbmUtaGVpZ2h0OiBpbmhlcml0Owp9CgovKiBIZWFkcyBVcDogQm9yZGVyZWQgSWNvbnMgd2lsbCBub3QgYmUgc3VwcG9ydGVkIGluIHRoZSBmdXR1cmUhCiAgLSBUaGlzIGZlYXR1cmUgd2lsbCBiZSBkZXByZWNhdGVkIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2Ugb2YgRm9udCBBd2Vzb21lICh2OCkhCiAgLSBZb3UgbWF5IGNvbnRpbnVlIHRvIHVzZSBpdCBpbiB0aGlzIHZlcnNpb24gKnY3KSwgYnV0IGl0IHdpbGwgbm90IGJlIHN1cHBvcnRlZCBpbiBGb250IEF3ZXNvbWUgdjguCiovCi8qIE5vdGVzOgoqIC0tQHt2LiRjc3MtcHJlZml4fS1ib3JkZXItd2lkdGggPSAxLzE2IGJ5IGRlZmF1bHQgKHRvIHJlbmRlciBhcyB+MXB4IGJhc2VkIG9uIGEgMTZweCBkZWZhdWx0IGZvbnQtc2l6ZSkKKiAtLUB7di4kY3NzLXByZWZpeH0tYm9yZGVyLXBhZGRpbmcgPQogICoqIDMvMTYgZm9yIHZlcnRpY2FsIHBhZGRpbmcgKHRvIGdpdmUgfjJweCBvZiB2ZXJ0aWNhbCB3aGl0ZXNwYWNlIGFyb3VuZCBhbiBpY29uIGNvbnNpZGVyaW5nIGl0J3MgdmVydGljYWwgYWxpZ25tZW50KQogICoqIDQvMTYgZm9yIGhvcml6b250YWwgcGFkZGluZyAodG8gZ2l2ZSB+NHB4IG9mIGhvcml6b250YWwgd2hpdGVzcGFjZSBhcm91bmQgYW4gaWNvbikKKi8KLmZhLWJvcmRlciB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mYS1ib3JkZXItY29sb3IsICNlZWUpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWZhLWJvcmRlci1yYWRpdXMsIDAuMWVtKTsKICBib3JkZXItc3R5bGU6IHZhcigtLWZhLWJvcmRlci1zdHlsZSwgc29saWQpOwogIGJvcmRlci13aWR0aDogdmFyKC0tZmEtYm9yZGVyLXdpZHRoLCAwLjA2MjVlbSk7CiAgYm94LXNpemluZzogdmFyKC0tZmEtYm9yZGVyLWJveC1zaXppbmcsIGNvbnRlbnQtYm94KTsKICBwYWRkaW5nOiB2YXIoLS1mYS1ib3JkZXItcGFkZGluZywgMC4xODc1ZW0gMC4yNWVtKTsKfQoKLmZhLXB1bGwtbGVmdCwKLmZhLXB1bGwtc3RhcnQgewogIGZsb2F0OiBpbmxpbmUtc3RhcnQ7CiAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWZhLXB1bGwtbWFyZ2luLCAwLjNlbSk7Cn0KCi5mYS1wdWxsLXJpZ2h0LAouZmEtcHVsbC1lbmQgewogIGZsb2F0OiBpbmxpbmUtZW5kOwogIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWZhLXB1bGwtbWFyZ2luLCAwLjNlbSk7Cn0KCi5mYS1iZWF0IHsKICBhbmltYXRpb24tbmFtZTogZmEtYmVhdDsKICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpOwogIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgZWFzZS1pbi1vdXQpOwp9CgouZmEtYm91bmNlIHsKICBhbmltYXRpb24tbmFtZTogZmEtYm91bmNlOwogIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTsKICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBjdWJpYy1iZXppZXIoMC4yOCwgMC44NCwgMC40MiwgMSkpOwp9CgouZmEtZmFkZSB7CiAgYW5pbWF0aW9uLW5hbWU6IGZhLWZhZGU7CiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTsKICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpOwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkpOwp9CgouZmEtYmVhdC1mYWRlIHsKICBhbmltYXRpb24tbmFtZTogZmEtYmVhdC1mYWRlOwogIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTsKICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpKTsKfQoKLmZhLWZsaXAgewogIGFuaW1hdGlvbi1uYW1lOiBmYS1mbGlwOwogIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTsKICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBlYXNlLWluLW91dCk7Cn0KCi5mYS1zaGFrZSB7CiAgYW5pbWF0aW9uLW5hbWU6IGZhLXNoYWtlOwogIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTsKICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBsaW5lYXIpOwp9CgouZmEtc3BpbiB7CiAgYW5pbWF0aW9uLW5hbWU6IGZhLXNwaW47CiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTsKICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAycyk7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpOwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIGxpbmVhcik7Cn0KCi5mYS1zcGluLXJldmVyc2UgewogIC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTsKfQoKLmZhLXB1bHNlLAouZmEtc3Bpbi1wdWxzZSB7CiAgYW5pbWF0aW9uLW5hbWU6IGZhLXNwaW47CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTsKICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBzdGVwcyg4KSk7Cn0KCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgLmZhLWJlYXQsCiAgLmZhLWJvdW5jZSwKICAuZmEtZmFkZSwKICAuZmEtYmVhdC1mYWRlLAogIC5mYS1mbGlwLAogIC5mYS1wdWxzZSwKICAuZmEtc2hha2UsCiAgLmZhLXNwaW4sCiAgLmZhLXNwaW4tcHVsc2UgewogICAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7CiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7CiAgfQp9CkBrZXlmcmFtZXMgZmEtYmVhdCB7CiAgMCUsIDkwJSB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogIH0KICA0NSUgewogICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1iZWF0LXNjYWxlLCAxLjI1KSk7CiAgfQp9CkBrZXlmcmFtZXMgZmEtYm91bmNlIHsKICAwJSB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7CiAgfQogIDEwJSB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJvdW5jZS1zdGFydC1zY2FsZS14LCAxLjEpLCB2YXIoLS1mYS1ib3VuY2Utc3RhcnQtc2NhbGUteSwgMC45KSkgdHJhbnNsYXRlWSgwKTsKICB9CiAgMzAlIHsKICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYm91bmNlLWp1bXAtc2NhbGUteCwgMC45KSwgdmFyKC0tZmEtYm91bmNlLWp1bXAtc2NhbGUteSwgMS4xKSkgdHJhbnNsYXRlWSh2YXIoLS1mYS1ib3VuY2UtaGVpZ2h0LCAtMC41ZW0pKTsKICB9CiAgNTAlIHsKICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYm91bmNlLWxhbmQtc2NhbGUteCwgMS4wNSksIHZhcigtLWZhLWJvdW5jZS1sYW5kLXNjYWxlLXksIDAuOTUpKSB0cmFuc2xhdGVZKDApOwogIH0KICA1NyUgewogICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKHZhcigtLWZhLWJvdW5jZS1yZWJvdW5kLCAtMC4xMjVlbSkpOwogIH0KICA2NCUgewogICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApOwogIH0KICAxMDAlIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgwKTsKICB9Cn0KQGtleWZyYW1lcyBmYS1mYWRlIHsKICA1MCUgewogICAgb3BhY2l0eTogdmFyKC0tZmEtZmFkZS1vcGFjaXR5LCAwLjQpOwogIH0KfQpAa2V5ZnJhbWVzIGZhLWJlYXQtZmFkZSB7CiAgMCUsIDEwMCUgewogICAgb3BhY2l0eTogdmFyKC0tZmEtYmVhdC1mYWRlLW9wYWNpdHksIDAuNCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogIH0KICA1MCUgewogICAgb3BhY2l0eTogMTsKICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYmVhdC1mYWRlLXNjYWxlLCAxLjEyNSkpOwogIH0KfQpAa2V5ZnJhbWVzIGZhLWZsaXAgewogIDUwJSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKHZhcigtLWZhLWZsaXAteCwgMCksIHZhcigtLWZhLWZsaXAteSwgMSksIHZhcigtLWZhLWZsaXAteiwgMCksIHZhcigtLWZhLWZsaXAtYW5nbGUsIC0xODBkZWcpKTsKICB9Cn0KQGtleWZyYW1lcyBmYS1zaGFrZSB7CiAgMCUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoLTE1ZGVnKTsKICB9CiAgNCUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpOwogIH0KICA4JSwgMjQlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKC0xOGRlZyk7CiAgfQogIDEyJSwgMjglIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDE4ZGVnKTsKICB9CiAgMTYlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMmRlZyk7CiAgfQogIDIwJSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMmRlZyk7CiAgfQogIDMyJSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTJkZWcpOwogIH0KICAzNiUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoMTJkZWcpOwogIH0KICA0MCUsIDEwMCUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7CiAgfQp9CkBrZXlmcmFtZXMgZmEtc3BpbiB7CiAgMCUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7CiAgfQogIDEwMCUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICB9Cn0KLmZhLXJvdGF0ZS05MCB7CiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOwp9CgouZmEtcm90YXRlLTE4MCB7CiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKfQoKLmZhLXJvdGF0ZS0yNzAgewogIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7Cn0KCi5mYS1mbGlwLWhvcml6b250YWwgewogIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpOwp9CgouZmEtZmxpcC12ZXJ0aWNhbCB7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7Cn0KCi5mYS1mbGlwLWJvdGgsCi5mYS1mbGlwLWhvcml6b250YWwuZmEtZmxpcC12ZXJ0aWNhbCB7CiAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgLTEpOwp9CgouZmEtcm90YXRlLWJ5IHsKICB0cmFuc2Zvcm06IHJvdGF0ZSh2YXIoLS1mYS1yb3RhdGUtYW5nbGUsIDApKTsKfQoKLnN2Zy1pbmxpbmUtLWZhIC5mYS1wcmltYXJ5IHsKICBmaWxsOiB2YXIoLS1mYS1wcmltYXJ5LWNvbG9yLCBjdXJyZW50Q29sb3IpOwogIG9wYWNpdHk6IHZhcigtLWZhLXByaW1hcnktb3BhY2l0eSwgMSk7Cn0KCi5zdmctaW5saW5lLS1mYSAuZmEtc2Vjb25kYXJ5IHsKICBmaWxsOiB2YXIoLS1mYS1zZWNvbmRhcnktY29sb3IsIGN1cnJlbnRDb2xvcik7CiAgb3BhY2l0eTogdmFyKC0tZmEtc2Vjb25kYXJ5LW9wYWNpdHksIDAuNCk7Cn0KCi5zdmctaW5saW5lLS1mYS5mYS1zd2FwLW9wYWNpdHkgLmZhLXByaW1hcnkgewogIG9wYWNpdHk6IHZhcigtLWZhLXNlY29uZGFyeS1vcGFjaXR5LCAwLjQpOwp9Cgouc3ZnLWlubGluZS0tZmEuZmEtc3dhcC1vcGFjaXR5IC5mYS1zZWNvbmRhcnkgewogIG9wYWNpdHk6IHZhcigtLWZhLXByaW1hcnktb3BhY2l0eSwgMSk7Cn0KCi5zdmctaW5saW5lLS1mYSBtYXNrIC5mYS1wcmltYXJ5LAouc3ZnLWlubGluZS0tZmEgbWFzayAuZmEtc2Vjb25kYXJ5IHsKICBmaWxsOiBibGFjazsKfQoKLnN2Zy1pbmxpbmUtLWZhLmZhLWludmVyc2UgewogIGZpbGw6IHZhcigtLWZhLWludmVyc2UsICNmZmYpOwp9CgouZmEtc3RhY2sgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBoZWlnaHQ6IDJlbTsKICBsaW5lLWhlaWdodDogMmVtOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIHdpZHRoOiAyLjVlbTsKfQoKLmZhLWludmVyc2UgewogIGNvbG9yOiB2YXIoLS1mYS1pbnZlcnNlLCAjZmZmKTsKfQoKLnN2Zy1pbmxpbmUtLWZhLmZhLXN0YWNrLTF4IHsKICAtLWZhLXdpZHRoOiAxLjI1ZW07CiAgaGVpZ2h0OiAxZW07CiAgd2lkdGg6IHZhcigtLWZhLXdpZHRoKTsKfQouc3ZnLWlubGluZS0tZmEuZmEtc3RhY2stMnggewogIC0tZmEtd2lkdGg6IDIuNWVtOwogIGhlaWdodDogMmVtOwogIHdpZHRoOiB2YXIoLS1mYS13aWR0aCk7Cn0KCi5mYS1zdGFjay0xeCwKLmZhLXN0YWNrLTJ4IHsKICBpbnNldDogMDsKICBtYXJnaW46IGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IHZhcigtLWZhLXN0YWNrLXotaW5kZXgsIGF1dG8pOwp9YDtzKE05dCwiY3NzIik7azl0PSExO3MoZHVlLCJlbnN1cmVDc3MiKTt0TGE9e21peG91dDpzKGZ1bmN0aW9uKCl7cmV0dXJue2RvbTp7Y3NzOk05dCxpbnNlcnRDc3M6ZHVlfX19LCJtaXhvdXQiKSxob29rczpzKGZ1bmN0aW9uKCl7cmV0dXJue2JlZm9yZURPTUVsZW1lbnRDcmVhdGlvbjpzKGZ1bmN0aW9uKCl7ZHVlKCl9LCJiZWZvcmVET01FbGVtZW50Q3JlYXRpb24iKSxiZWZvcmVJMnN2ZzpzKGZ1bmN0aW9uKCl7ZHVlKCl9LCJiZWZvcmVJMnN2ZyIpfX0sImhvb2tzIil9LHJjPXQ0fHx7fTtyY1thY118fChyY1thY109e30pLHJjW2FjXS5zdHlsZXN8fChyY1thY10uc3R5bGVzPXt9KSxyY1thY10uaG9va3N8fChyY1thY10uaG9va3M9e30pLHJjW2FjXS5zaGltc3x8KHJjW2FjXS5zaGltcz1bXSk7UzE9cmNbYWNdLFM5dD1bXSx6OXQ9cyhmdW5jdGlvbigpe2ZyLnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLHo5dCksb2VlPTEsUzl0Lm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZSgpfSl9LCJsaXN0ZW5lciIpLG9lZT0hMTt0YyYmKG9lZT0oZnIuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsPy9ebG9hZGVkfF5jLzovXmxvYWRlZHxeaXxeYy8pLnRlc3QoZnIucmVhZHlTdGF0ZSksb2VlfHxmci5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIix6OXQpKTtzKGFMYSwiZG9tcmVhZHkiKTtzKEFiLCJ0b0h0bWwiKTtzKEM5dCwiaWNvbkZyb21NYXBwaW5nIik7ckxhPXMoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24ocixpLG8sbil7cmV0dXJuIGUuY2FsbCh0LHIsaSxvLG4pfX0sImJpbmRJbnRlcm5hbDQiKSx1dWU9cyhmdW5jdGlvbihlLHQscixpKXt2YXIgbz1PYmplY3Qua2V5cyhlKSxuPW8ubGVuZ3RoLGw9aSE9PXZvaWQgMD9yTGEodCxpKTp0LGQsYyxwO2ZvcihyPT09dm9pZCAwPyhkPTEscD1lW29bMF1dKTooZD0wLHA9cik7ZDxuO2QrKyljPW9bZF0scD1sKHAsZVtjXSxjLGUpO3JldHVybiBwfSwiZmFzdFJlZHVjZU9iamVjdCIpO3MoXzl0LCJ0b0hleCIpO3MoVDl0LCJub3JtYWxpemVJY29ucyIpO3MocHVlLCJkZWZpbmVJY29ucyIpO2Z1ZT0xLHoxPTIsd2xzPVtbejEsVGkoL3BhdGggb3BhY2l0eT0iKFteIl0qKSIuKmQ9IihbXiJdKikiLipwYXRoLipkPSIoW14iXSopIi8se2QyOjIsZDE6M30pXSxbejEsVGkoL3BhdGggb3BhY2l0eT0iKFteIl0qKSIuKmQ9IihbXiJdKikiLyx7ZDI6Mn0pXSxbZnVlLFRpKC9wYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIuKmQ9IihbXiJdKykiLyx7ZDE6MX0pXV0sTWxzPVtbejEsVGkoL3BhdGggY2xhc3M9IihbXiJdKnNlY29uZGFyeVteIl0qKSIuKmQ9IihbXiJdKykiLipwYXRoIGNsYXNzPSIoW14iXSpwcmltYXJ5W14iXSopIi4qZD0iKFteIl0rKSIvLHthdHRyMjoxLGQyOjIsYXR0cjE6MyxkMTo0fSldLFt6MSxUaSgvcGF0aCBjbGFzcz0iKFteIl0qcHJpbWFyeVteIl0qKSIuKmQ9IihbXiJdKykiLipwYXRoIGNsYXNzPSIoW14iXSpzZWNvbmRhcnlbXiJdKikiLipkPSIoW14iXSspIi8se2F0dHIxOjEsZDE6MixhdHRyMjozLGQyOjR9KV0sW3oxLFRpKC9wYXRoIGNsYXNzPSIoW14iXSpwcmltYXJ5W14iXSopIi4qZD0iKFteIl0rKSIvLHthdHRyMToxLGQxOjJ9KV0sW3oxLFRpKC9wYXRoIGNsYXNzPSIoW14iXSpzZWNvbmRhcnlbXiJdKikiLipkPSIoW14iXSspIi8se2F0dHIyOjEsZDI6Mn0pXSxbejEsVGkoL3BhdGggZD0iKFteIl0rKSIuKmNsYXNzPSIoW14iXSpzZWNvbmRhcnlbXiJdKikiLipwYXRoIGQ9IihbXiJdKykiLipjbGFzcz0iKFteIl0qcHJpbWFyeVteIl0qKSIvLHtkMjoxLGF0dHIyOjIsZDE6MyxhdHRyMTo0fSldLFt6MSxUaSgvcGF0aCBkPSIoW14iXSspIi4qY2xhc3M9IihbXiJdKnByaW1hcnlbXiJdKikiLipwYXRoIGQ9IihbXiJdKykiLipjbGFzcz0iKFteIl0qc2Vjb25kYXJ5W14iXSopIi8se2QxOjEsYXR0cjE6MixkMjozLGF0dHIyOjR9KV0sW3oxLFRpKC9wYXRoIGQ9IihbXiJdKykiLipjbGFzcz0iKFteIl0qcHJpbWFyeVteIl0qKSIvLHtkMToxLGF0dHIxOjJ9KV0sW3oxLFRpKC9wYXRoIGQ9IihbXiJdKykiLipjbGFzcz0iKFteIl0qc2Vjb25kYXJ5W14iXSopIi8se2QyOjEsYXR0cjI6Mn0pXSxbejEsVGkoL3BhdGggZD0iKFteIl0rKSIuKnBhdGggZD0iKFteIl0rKSIvLHtkMToxLGQyOjJ9KV0sW2Z1ZSxUaSgvcGF0aCBkPSIoW14iXSspIi8se2QxOjF9KV0sW2Z1ZSxUaSgvcGF0aCBzdHlsZT0iKFteIl0rKSIuKmQ9IihbXiJdKykiLyx7YXR0cjE6MSxkMToyfSldXSxFYj1TMS5zdHlsZXMsc0xhPVMxLnNoaW1zLEw5dD1PYmplY3Qua2V5cyhpdWUpLGlMYT1MOXQucmVkdWNlKGZ1bmN0aW9uKGEsZSl7cmV0dXJuIGFbZV09T2JqZWN0LmtleXMoaXVlW2VdKSxhfSx7fSksaHVlPW51bGwsJDl0PXt9LEQ5dD17fSxBOXQ9e30sRTl0PXt9LFA5dD17fTtzKG9MYSwiaXNSZXNlcnZlZCIpO3MobkxhLCJnZXRJY29uTmFtZSIpO0k5dD1zKGZ1bmN0aW9uKCl7dmFyIGU9cyhmdW5jdGlvbihvKXtyZXR1cm4gdXVlKEViLGZ1bmN0aW9uKG4sbCxkKXtyZXR1cm4gbltkXT11dWUobCxvLHt9KSxufSx7fSl9LCJsb29rdXAiKTskOXQ9ZShmdW5jdGlvbihpLG8sbil7aWYob1szXSYmKGlbb1szXV09biksb1syXSl7dmFyIGw9b1syXS5maWx0ZXIoZnVuY3Rpb24oZCl7cmV0dXJuIHR5cGVvZiBkPT0ibnVtYmVyIn0pO2wuZm9yRWFjaChmdW5jdGlvbihkKXtpW2QudG9TdHJpbmcoMTYpXT1ufSl9cmV0dXJuIGl9KSxEOXQ9ZShmdW5jdGlvbihpLG8sbil7aWYoaVtuXT1uLG9bMl0pe3ZhciBsPW9bMl0uZmlsdGVyKGZ1bmN0aW9uKGQpe3JldHVybiB0eXBlb2YgZD09InN0cmluZyJ9KTtsLmZvckVhY2goZnVuY3Rpb24oZCl7aVtkXT1ufSl9cmV0dXJuIGl9KSxQOXQ9ZShmdW5jdGlvbihpLG8sbil7dmFyIGw9b1syXTtyZXR1cm4gaVtuXT1uLGwuZm9yRWFjaChmdW5jdGlvbihkKXtpW2RdPW59KSxpfSk7dmFyIHQ9ImZhciJpbiBFYnx8JHQuYXV0b0ZldGNoU3ZnLHI9dXVlKHNMYSxmdW5jdGlvbihpLG8pe3ZhciBuPW9bMF0sbD1vWzFdLGQ9b1syXTtyZXR1cm4gbD09PSJmYXIiJiYhdCYmKGw9ImZhcyIpLHR5cGVvZiBuPT0ic3RyaW5nIiYmKGkubmFtZXNbbl09e3ByZWZpeDpsLGljb25OYW1lOmR9KSx0eXBlb2Ygbj09Im51bWJlciImJihpLnVuaWNvZGVzW24udG9TdHJpbmcoMTYpXT17cHJlZml4OmwsaWNvbk5hbWU6ZH0pLGl9LHtuYW1lczp7fSx1bmljb2Rlczp7fX0pO0E5dD1yLm5hbWVzLEU5dD1yLnVuaWNvZGVzLGh1ZT1uZWUoJHQuc3R5bGVEZWZhdWx0LHtmYW1pbHk6JHQuZmFtaWx5RGVmYXVsdH0pfSwiYnVpbGQiKTtZVGEoZnVuY3Rpb24oYSl7aHVlPW5lZShhLnN0eWxlRGVmYXVsdCx7ZmFtaWx5OiR0LmZhbWlseURlZmF1bHR9KX0pLEk5dCgpO3MobXVlLCJieVVuaWNvZGUiKTtzKGxMYSwiYnlMaWdhdHVyZSIpO3MoZ2QsImJ5QWxpYXMiKTtzKE45dCwiYnlPbGROYW1lIik7cyhjTGEsImJ5T2xkVW5pY29kZSIpO3MocjQsImdldERlZmF1bHRVc2FibGVQcmVmaXgiKTtSOXQ9cyhmdW5jdGlvbigpe3JldHVybntwcmVmaXg6bnVsbCxpY29uTmFtZTpudWxsLHJlc3Q6W119fSwiZW1wdHlDYW5vbmljYWxJY29uIik7cyhkTGEsImdldEZhbWlseUlkIik7cyhuZWUsImdldENhbm9uaWNhbFByZWZpeCIpO3ModUxhLCJtb3ZlTm9uRmFDbGFzc2VzVG9SZXN0Iik7cyhPOXQsInNvcnRlZFVuaXF1ZVZhbHVlcyIpO0Y5dD1sOXQuY29uY2F0KGk5dCk7cyhsZWUsImdldENhbm9uaWNhbEljb24iKTtzKHBMYSwiYXBwbHlTaGltQW5kQWxpYXMiKTtmTGE9czl0LmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gYSE9PUpzfHxhIT09VGJ9KSxoTGE9T2JqZWN0LmtleXMoUTZlKS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT1Kc30pLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LmtleXMoUTZlW2FdKX0pLmZsYXQoKTtzKG1MYSwiZ2V0RGVmYXVsdENhbm9uaWNhbFByZWZpeCIpO2dMYT0oZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7WENhKHRoaXMsYSksdGhpcy5kZWZpbml0aW9ucz17fX1yZXR1cm4gcyhhLCJMaWJyYXJ5IiksUUNhKGEsW3trZXk6ImFkZCIsdmFsdWU6cyhmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLHI9YXJndW1lbnRzLmxlbmd0aCxpPW5ldyBBcnJheShyKSxvPTA7bzxyO28rKylpW29dPWFyZ3VtZW50c1tvXTt2YXIgbj1pLnJlZHVjZSh0aGlzLl9wdWxsRGVmaW5pdGlvbnMse30pO09iamVjdC5rZXlzKG4pLmZvckVhY2goZnVuY3Rpb24obCl7dC5kZWZpbml0aW9uc1tsXT1YZShYZSh7fSx0LmRlZmluaXRpb25zW2xdfHx7fSksbltsXSkscHVlKGwsbltsXSk7dmFyIGQ9aXVlW0pzXVtsXTtkJiZwdWUoZCxuW2xdKSxJOXQoKX0pfSwiYWRkIil9LHtrZXk6InJlc2V0Iix2YWx1ZTpzKGZ1bmN0aW9uKCl7dGhpcy5kZWZpbml0aW9ucz17fX0sInJlc2V0Iil9LHtrZXk6Il9wdWxsRGVmaW5pdGlvbnMiLHZhbHVlOnMoZnVuY3Rpb24odCxyKXt2YXIgaT1yLnByZWZpeCYmci5pY29uTmFtZSYmci5pY29uP3swOnJ9OnI7cmV0dXJuIE9iamVjdC5rZXlzKGkpLm1hcChmdW5jdGlvbihvKXt2YXIgbj1pW29dLGw9bi5wcmVmaXgsZD1uLmljb25OYW1lLGM9bi5pY29uLHA9Y1syXTt0W2xdfHwodFtsXT17fSkscC5sZW5ndGg+MCYmcC5mb3JFYWNoKGZ1bmN0aW9uKHUpe3R5cGVvZiB1PT0ic3RyaW5nIiYmKHRbbF1bdV09Yyl9KSx0W2xdW2RdPWN9KSx0fSwiX3B1bGxEZWZpbml0aW9ucyIpfV0pfSkoKSxCOXQ9W10sWjg9e30sWDg9e30sYkxhPU9iamVjdC5rZXlzKFg4KTtzKHZMYSwicmVnaXN0ZXJQbHVnaW5zIik7cyhndWUsImNoYWluSG9va3MiKTtzKGJkLCJjYWxsSG9va3MiKTtzKHM0LCJjYWxsUHJvdmlkZWQiKTtzKGJ1ZSwiZmluZEljb25EZWZpbml0aW9uIik7SDl0PW5ldyBnTGEseExhPXMoZnVuY3Rpb24oKXskdC5hdXRvUmVwbGFjZVN2Zz0hMSwkdC5vYnNlcnZlTXV0YXRpb25zPSExLGJkKCJub0F1dG8iKX0sIm5vQXV0byIpLHlMYT17aTJzdmc6cyhmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmYXJndW1lbnRzWzBdIT09dm9pZCAwP2FyZ3VtZW50c1swXTp7fTtyZXR1cm4gdGM/KGJkKCJiZWZvcmVJMnN2ZyIsZSksczQoInBzZXVkb0VsZW1lbnRzMnN2ZyIsZSksczQoImkyc3ZnIixlKSk6UHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJPcGVyYXRpb24gcmVxdWlyZXMgYSBET00gb2Ygc29tZSBraW5kLiIpKX0sImkyc3ZnIiksd2F0Y2g6cyhmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmYXJndW1lbnRzWzBdIT09dm9pZCAwP2FyZ3VtZW50c1swXTp7fSx0PWUuYXV0b1JlcGxhY2VTdmdSb290OyR0LmF1dG9SZXBsYWNlU3ZnPT09ITEmJigkdC5hdXRvUmVwbGFjZVN2Zz0hMCksJHQub2JzZXJ2ZU11dGF0aW9ucz0hMCxhTGEoZnVuY3Rpb24oKXtNTGEoe2F1dG9SZXBsYWNlU3ZnUm9vdDp0fSksYmQoIndhdGNoIixlKX0pfSwid2F0Y2giKX0sd0xhPXtpY29uOnMoZnVuY3Rpb24oZSl7aWYoZT09PW51bGwpcmV0dXJuIG51bGw7aWYoYWVlKGUpPT09Im9iamVjdCImJmUucHJlZml4JiZlLmljb25OYW1lKXJldHVybntwcmVmaXg6ZS5wcmVmaXgsaWNvbk5hbWU6Z2QoZS5wcmVmaXgsZS5pY29uTmFtZSl8fGUuaWNvbk5hbWV9O2lmKEFycmF5LmlzQXJyYXkoZSkmJmUubGVuZ3RoPT09Mil7dmFyIHQ9ZVsxXS5pbmRleE9mKCJmYS0iKT09PTA/ZVsxXS5zbGljZSgzKTplWzFdLHI9bmVlKGVbMF0pO3JldHVybntwcmVmaXg6cixpY29uTmFtZTpnZChyLHQpfHx0fX1pZih0eXBlb2YgZT09InN0cmluZyImJihlLmluZGV4T2YoIiIuY29uY2F0KCR0LmNzc1ByZWZpeCwiLSIpKT4tMXx8ZS5tYXRjaChIVGEpKSl7dmFyIGk9bGVlKGUuc3BsaXQoIiAiKSx7c2tpcExvb2t1cHM6ITB9KTtyZXR1cm57cHJlZml4OmkucHJlZml4fHxyNCgpLGljb25OYW1lOmdkKGkucHJlZml4LGkuaWNvbk5hbWUpfHxpLmljb25OYW1lfX1pZih0eXBlb2YgZT09InN0cmluZyIpe3ZhciBvPXI0KCk7cmV0dXJue3ByZWZpeDpvLGljb25OYW1lOmdkKG8sZSl8fGV9fX0sImljb24iKX0sJG89e25vQXV0bzp4TGEsY29uZmlnOiR0LGRvbTp5TGEscGFyc2U6d0xhLGxpYnJhcnk6SDl0LGZpbmRJY29uRGVmaW5pdGlvbjpidWUsdG9IdG1sOkFifSxNTGE9cyhmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmYXJndW1lbnRzWzBdIT09dm9pZCAwP2FyZ3VtZW50c1swXTp7fSx0PWUuYXV0b1JlcGxhY2VTdmdSb290LHI9dD09PXZvaWQgMD9mcjp0OyhPYmplY3Qua2V5cyhTMS5zdHlsZXMpLmxlbmd0aD4wfHwkdC5hdXRvRmV0Y2hTdmcpJiZ0YyYmJHQuYXV0b1JlcGxhY2VTdmcmJiRvLmRvbS5pMnN2Zyh7bm9kZTpyfSl9LCJhdXRvUmVwbGFjZSIpO3MoY2VlLCJkb21WYXJpYW50cyIpO3Moa0xhLCJhc0ljb24iKTtzKFNMYSwiYXNTeW1ib2wiKTtzKHpMYSwiaXNMYWJlbGVkIik7cyh2dWUsIm1ha2VJbmxpbmVTdmdBYnN0cmFjdCIpO3MocTl0LCJtYWtlTGF5ZXJzVGV4dEFic3RyYWN0Iik7cyhDTGEsIm1ha2VMYXllcnNDb3VudGVyQWJzdHJhY3QiKTt4dWU9UzEuc3R5bGVzO3MoeXVlLCJhc0ZvdW5kSWNvbiIpO19MYT17Zm91bmQ6ITEsd2lkdGg6NTEyLGhlaWdodDo1MTJ9O3MoVExhLCJtYXliZU5vdGlmeU1pc3NpbmciKTtzKHd1ZSwiZmluZEljb24iKTtWOXQ9cyhmdW5jdGlvbigpe30sIm5vb3AiKSxNdWU9JHQubWVhc3VyZVBlcmZvcm1hbmNlJiZyZWUmJnJlZS5tYXJrJiZyZWUubWVhc3VyZT9yZWU6e21hcms6Vjl0LG1lYXN1cmU6Vjl0fSxQYj0nRkEgIjcuMi4wIicsTExhPXMoZnVuY3Rpb24oZSl7cmV0dXJuIE11ZS5tYXJrKCIiLmNvbmNhdChQYiwiICIpLmNvbmNhdChlLCIgYmVnaW5zIikpLGZ1bmN0aW9uKCl7cmV0dXJuIGo5dChlKX19LCJiZWdpbiIpLGo5dD1zKGZ1bmN0aW9uKGUpe011ZS5tYXJrKCIiLmNvbmNhdChQYiwiICIpLmNvbmNhdChlLCIgZW5kcyIpKSxNdWUubWVhc3VyZSgiIi5jb25jYXQoUGIsIiAiKS5jb25jYXQoZSksIiIuY29uY2F0KFBiLCIgIikuY29uY2F0KGUsIiBiZWdpbnMiKSwiIi5jb25jYXQoUGIsIiAiKS5jb25jYXQoZSwiIGVuZHMiKSl9LCJlbmQiKSxrdWU9e2JlZ2luOkxMYSxlbmQ6ajl0fSxkZWU9cyhmdW5jdGlvbigpe30sIm5vb3AiKTtzKFU5dCwiaXNXYXRjaGVkIik7cygkTGEsImhhc1ByZWZpeEFuZEljb24iKTtzKERMYSwiaGFzQmVlblJlcGxhY2VkIik7cyhBTGEsImdldE11dGF0b3IiKTtzKEVMYSwiY3JlYXRlRWxlbWVudE5TIik7cyhQTGEsImNyZWF0ZUVsZW1lbnQiKTtzKFc5dCwiY29udmVydFNWRyIpO3MoSUxhLCJub2RlQXNDb21tZW50Iik7dWVlPXtyZXBsYWNlOnMoZnVuY3Rpb24oZSl7dmFyIHQ9ZVswXTtpZih0LnBhcmVudE5vZGUpaWYoZVsxXS5mb3JFYWNoKGZ1bmN0aW9uKGkpe3QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoVzl0KGkpLHQpfSksdC5nZXRBdHRyaWJ1dGUobWQpPT09bnVsbCYmJHQua2VlcE9yaWdpbmFsU291cmNlKXt2YXIgcj1mci5jcmVhdGVDb21tZW50KElMYSh0KSk7dC5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChyLHQpfWVsc2UgdC5yZW1vdmUoKX0sInJlcGxhY2UiKSxuZXN0OnMoZnVuY3Rpb24oZSl7dmFyIHQ9ZVswXSxyPWVbMV07aWYofmx1ZSh0KS5pbmRleE9mKCR0LnJlcGxhY2VtZW50Q2xhc3MpKXJldHVybiB1ZWUucmVwbGFjZShlKTt2YXIgaT1uZXcgUmVnRXhwKCIiLmNvbmNhdCgkdC5jc3NQcmVmaXgsIi0uKiIpKTtpZihkZWxldGUgclswXS5hdHRyaWJ1dGVzLmlkLHJbMF0uYXR0cmlidXRlcy5jbGFzcyl7dmFyIG89clswXS5hdHRyaWJ1dGVzLmNsYXNzLnNwbGl0KCIgIikucmVkdWNlKGZ1bmN0aW9uKGwsZCl7cmV0dXJuIGQ9PT0kdC5yZXBsYWNlbWVudENsYXNzfHxkLm1hdGNoKGkpP2wudG9TdmcucHVzaChkKTpsLnRvTm9kZS5wdXNoKGQpLGx9LHt0b05vZGU6W10sdG9Tdmc6W119KTtyWzBdLmF0dHJpYnV0ZXMuY2xhc3M9by50b1N2Zy5qb2luKCIgIiksby50b05vZGUubGVuZ3RoPT09MD90LnJlbW92ZUF0dHJpYnV0ZSgiY2xhc3MiKTp0LnNldEF0dHJpYnV0ZSgiY2xhc3MiLG8udG9Ob2RlLmpvaW4oIiAiKSl9dmFyIG49ci5tYXAoZnVuY3Rpb24obCl7cmV0dXJuIEFiKGwpfSkuam9pbihgCmApO3Quc2V0QXR0cmlidXRlKG1kLCIiKSx0LmlubmVySFRNTD1ufSwibmVzdCIpfTtzKEc5dCwicGVyZm9ybU9wZXJhdGlvblN5bmMiKTtzKFk5dCwicGVyZm9ybSIpO1N1ZT0hMTtzKEs5dCwiZGlzYWJsZU9ic2VydmF0aW9uIik7cyh6dWUsImVuYWJsZU9ic2VydmF0aW9uIik7cGVlPW51bGw7cyhaOXQsIm9ic2VydmUiKTtzKE5MYSwiZGlzY29ubmVjdCIpO3MoUkxhLCJzdHlsZVBhcnNlciIpO3MoT0xhLCJjbGFzc1BhcnNlciIpO3MoRkxhLCJhdHRyaWJ1dGVzUGFyc2VyIik7cyhCTGEsImJsYW5rTWV0YSIpO3MoWDl0LCJwYXJzZU1ldGEiKTtITGE9UzEuc3R5bGVzO3MoUTl0LCJnZW5lcmF0ZU11dGF0aW9uIik7cyhxTGEsImdldEtub3duUHJlZml4ZXMiKTtzKEo5dCwib25UcmVlIik7cyhWTGEsIm9uTm9kZSIpO3MoakxhLCJyZXNvbHZlSWNvbnMiKTtVTGE9cyhmdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e30scj10LnRyYW5zZm9ybSxpPXI9PT12b2lkIDA/VjI6cixvPXQuc3ltYm9sLG49bz09PXZvaWQgMD8hMTpvLGw9dC5tYXNrLGQ9bD09PXZvaWQgMD9udWxsOmwsYz10Lm1hc2tJZCxwPWM9PT12b2lkIDA/bnVsbDpjLHU9dC5jbGFzc2VzLG09dT09PXZvaWQgMD9bXTp1LHY9dC5hdHRyaWJ1dGVzLHg9dj09PXZvaWQgMD97fTp2LGI9dC5zdHlsZXMsZz1iPT09dm9pZCAwP3t9OmI7aWYoZSl7dmFyIHk9ZS5wcmVmaXgsaz1lLmljb25OYW1lLEM9ZS5pY29uO3JldHVybiBjZWUoWGUoe3R5cGU6Imljb24ifSxlKSxmdW5jdGlvbigpe3JldHVybiBiZCgiYmVmb3JlRE9NRWxlbWVudENyZWF0aW9uIix7aWNvbkRlZmluaXRpb246ZSxwYXJhbXM6dH0pLHZ1ZSh7aWNvbnM6e21haW46eXVlKEMpLG1hc2s6ZD95dWUoZC5pY29uKTp7Zm91bmQ6ITEsd2lkdGg6bnVsbCxoZWlnaHQ6bnVsbCxpY29uOnt9fX0scHJlZml4OnksaWNvbk5hbWU6ayx0cmFuc2Zvcm06WGUoWGUoe30sVjIpLGkpLHN5bWJvbDpuLG1hc2tJZDpwLGV4dHJhOnthdHRyaWJ1dGVzOngsc3R5bGVzOmcsY2xhc3NlczptfX0pfSl9fSwicmVuZGVyIiksV0xhPXttaXhvdXQ6cyhmdW5jdGlvbigpe3JldHVybntpY29uOmpMYShVTGEpfX0sIm1peG91dCIpLGhvb2tzOnMoZnVuY3Rpb24oKXtyZXR1cm57bXV0YXRpb25PYnNlcnZlckNhbGxiYWNrczpzKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRyZWVDYWxsYmFjaz1KOXQsdC5ub2RlQ2FsbGJhY2s9VkxhLHR9LCJtdXRhdGlvbk9ic2VydmVyQ2FsbGJhY2tzIil9fSwiaG9va3MiKSxwcm92aWRlczpzKGZ1bmN0aW9uKGUpe2UuaTJzdmc9ZnVuY3Rpb24odCl7dmFyIHI9dC5ub2RlLGk9cj09PXZvaWQgMD9mcjpyLG89dC5jYWxsYmFjayxuPW89PT12b2lkIDA/ZnVuY3Rpb24oKXt9Om87cmV0dXJuIEo5dChpLG4pfSxlLmdlbmVyYXRlU3ZnUmVwbGFjZW1lbnRNdXRhdGlvbj1mdW5jdGlvbih0LHIpe3ZhciBpPXIuaWNvbk5hbWUsbz1yLnByZWZpeCxuPXIudHJhbnNmb3JtLGw9ci5zeW1ib2wsZD1yLm1hc2ssYz1yLm1hc2tJZCxwPXIuZXh0cmE7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHUsbSl7UHJvbWlzZS5hbGwoW3d1ZShpLG8pLGQuaWNvbk5hbWU/d3VlKGQuaWNvbk5hbWUsZC5wcmVmaXgpOlByb21pc2UucmVzb2x2ZSh7Zm91bmQ6ITEsd2lkdGg6NTEyLGhlaWdodDo1MTIsaWNvbjp7fX0pXSkudGhlbihmdW5jdGlvbih2KXt2YXIgeD10ZWUodiwyKSxiPXhbMF0sZz14WzFdO3UoW3QsdnVlKHtpY29uczp7bWFpbjpiLG1hc2s6Z30scHJlZml4Om8saWNvbk5hbWU6aSx0cmFuc2Zvcm06bixzeW1ib2w6bCxtYXNrSWQ6YyxleHRyYTpwLHdhdGNoYWJsZTohMH0pXSl9KS5jYXRjaChtKX0pfSxlLmdlbmVyYXRlQWJzdHJhY3RJY29uPWZ1bmN0aW9uKHQpe3ZhciByPXQuY2hpbGRyZW4saT10LmF0dHJpYnV0ZXMsbz10Lm1haW4sbj10LnRyYW5zZm9ybSxsPXQuc3R5bGVzLGQ9aWVlKGwpO2QubGVuZ3RoPjAmJihpLnN0eWxlPWQpO3ZhciBjO3JldHVybiBjdWUobikmJihjPXM0KCJnZW5lcmF0ZUFic3RyYWN0VHJhbnNmb3JtR3JvdXBpbmciLHttYWluOm8sdHJhbnNmb3JtOm4sY29udGFpbmVyV2lkdGg6by53aWR0aCxpY29uV2lkdGg6by53aWR0aH0pKSxyLnB1c2goY3x8by5pY29uKSx7Y2hpbGRyZW46cixhdHRyaWJ1dGVzOml9fX0sInByb3ZpZGVzIil9LEdMYT17bWl4b3V0OnMoZnVuY3Rpb24oKXtyZXR1cm57bGF5ZXI6cyhmdW5jdGlvbih0KXt2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e30saT1yLmNsYXNzZXMsbz1pPT09dm9pZCAwP1tdOmk7cmV0dXJuIGNlZSh7dHlwZToibGF5ZXIifSxmdW5jdGlvbigpe2JkKCJiZWZvcmVET01FbGVtZW50Q3JlYXRpb24iLHthc3NlbWJsZXI6dCxwYXJhbXM6cn0pO3ZhciBuPVtdO3JldHVybiB0KGZ1bmN0aW9uKGwpe0FycmF5LmlzQXJyYXkobCk/bC5tYXAoZnVuY3Rpb24oZCl7bj1uLmNvbmNhdChkLmFic3RyYWN0KX0pOm49bi5jb25jYXQobC5hYnN0cmFjdCl9KSxbe3RhZzoic3BhbiIsYXR0cmlidXRlczp7Y2xhc3M6WyIiLmNvbmNhdCgkdC5jc3NQcmVmaXgsIi1sYXllcnMiKV0uY29uY2F0KGsxKG8pKS5qb2luKCIgIil9LGNoaWxkcmVuOm59XX0pfSwibGF5ZXIiKX19LCJtaXhvdXQiKX0sWUxhPXttaXhvdXQ6cyhmdW5jdGlvbigpe3JldHVybntjb3VudGVyOnMoZnVuY3Rpb24odCl7dmFyIHI9YXJndW1lbnRzLmxlbmd0aD4xJiZhcmd1bWVudHNbMV0hPT12b2lkIDA/YXJndW1lbnRzWzFdOnt9LGk9ci50aXRsZSxvPWk9PT12b2lkIDA/bnVsbDppLG49ci5jbGFzc2VzLGw9bj09PXZvaWQgMD9bXTpuLGQ9ci5hdHRyaWJ1dGVzLGM9ZD09PXZvaWQgMD97fTpkLHA9ci5zdHlsZXMsdT1wPT09dm9pZCAwP3t9OnA7cmV0dXJuIGNlZSh7dHlwZToiY291bnRlciIsY29udGVudDp0fSxmdW5jdGlvbigpe3JldHVybiBiZCgiYmVmb3JlRE9NRWxlbWVudENyZWF0aW9uIix7Y29udGVudDp0LHBhcmFtczpyfSksQ0xhKHtjb250ZW50OnQudG9TdHJpbmcoKSx0aXRsZTpvLGV4dHJhOnthdHRyaWJ1dGVzOmMsc3R5bGVzOnUsY2xhc3NlczpbIiIuY29uY2F0KCR0LmNzc1ByZWZpeCwiLWxheWVycy1jb3VudGVyIildLmNvbmNhdChrMShsKSl9fSl9KX0sImNvdW50ZXIiKX19LCJtaXhvdXQiKX0sS0xhPXttaXhvdXQ6cyhmdW5jdGlvbigpe3JldHVybnt0ZXh0OnMoZnVuY3Rpb24odCl7dmFyIHI9YXJndW1lbnRzLmxlbmd0aD4xJiZhcmd1bWVudHNbMV0hPT12b2lkIDA/YXJndW1lbnRzWzFdOnt9LGk9ci50cmFuc2Zvcm0sbz1pPT09dm9pZCAwP1YyOmksbj1yLmNsYXNzZXMsbD1uPT09dm9pZCAwP1tdOm4sZD1yLmF0dHJpYnV0ZXMsYz1kPT09dm9pZCAwP3t9OmQscD1yLnN0eWxlcyx1PXA9PT12b2lkIDA/e306cDtyZXR1cm4gY2VlKHt0eXBlOiJ0ZXh0Iixjb250ZW50OnR9LGZ1bmN0aW9uKCl7cmV0dXJuIGJkKCJiZWZvcmVET01FbGVtZW50Q3JlYXRpb24iLHtjb250ZW50OnQscGFyYW1zOnJ9KSxxOXQoe2NvbnRlbnQ6dCx0cmFuc2Zvcm06WGUoWGUoe30sVjIpLG8pLGV4dHJhOnthdHRyaWJ1dGVzOmMsc3R5bGVzOnUsY2xhc3NlczpbIiIuY29uY2F0KCR0LmNzc1ByZWZpeCwiLWxheWVycy10ZXh0IildLmNvbmNhdChrMShsKSl9fSl9KX0sInRleHQiKX19LCJtaXhvdXQiKSxwcm92aWRlczpzKGZ1bmN0aW9uKGUpe2UuZ2VuZXJhdGVMYXllcnNUZXh0PWZ1bmN0aW9uKHQscil7dmFyIGk9ci50cmFuc2Zvcm0sbz1yLmV4dHJhLG49bnVsbCxsPW51bGw7aWYoTzd0KXt2YXIgZD1wYXJzZUludChnZXRDb21wdXRlZFN0eWxlKHQpLmZvbnRTaXplLDEwKSxjPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7bj1jLndpZHRoL2QsbD1jLmhlaWdodC9kfXJldHVybiBQcm9taXNlLnJlc29sdmUoW3QscTl0KHtjb250ZW50OnQuaW5uZXJIVE1MLHdpZHRoOm4saGVpZ2h0OmwsdHJhbnNmb3JtOmksZXh0cmE6byx3YXRjaGFibGU6ITB9KV0pfX0sInByb3ZpZGVzIil9LGVndD1uZXcgUmVnRXhwKCciJywidWciKSx0Z3Q9WzExMDU5MjAsMTExMjMxOV0sYWd0PVhlKFhlKFhlKFhlKHt9LHtGb250QXdlc29tZTp7bm9ybWFsOiJmYXMiLDQwMDoiZmFzIn19KSxMX2EpLE5UYSksT19hKSxDdWU9T2JqZWN0LmtleXMoYWd0KS5yZWR1Y2UoZnVuY3Rpb24oYSxlKXtyZXR1cm4gYVtlLnRvTG93ZXJDYXNlKCldPWFndFtlXSxhfSx7fSksWkxhPU9iamVjdC5rZXlzKEN1ZSkucmVkdWNlKGZ1bmN0aW9uKGEsZSl7dmFyIHQ9Q3VlW2VdO3JldHVybiBhW2VdPXRbOTAwXXx8azEoT2JqZWN0LmVudHJpZXModCkpWzBdWzFdLGF9LHt9KTtzKFhMYSwiaGV4VmFsdWVGcm9tQ29udGVudCIpO3MoUUxhLCJpc1NlY29uZGFyeUxheWVyIik7cyhKTGEsImdldFByZWZpeCIpO3Mocmd0LCJyZXBsYWNlRm9yUG9zaXRpb24iKTtzKGUkYSwicmVwbGFjZSIpO3ModCRhLCJwcm9jZXNzYWJsZSIpO2EkYT1zKGZ1bmN0aW9uKGUpe3JldHVybiEhZSYmZjl0LnNvbWUoZnVuY3Rpb24odCl7cmV0dXJuIGUuaW5jbHVkZXModCl9KX0sImhhc1BzZXVkb0VsZW1lbnQiKSxyJGE9cyhmdW5jdGlvbihlKXtpZighZSlyZXR1cm5bXTt2YXIgdD1uZXcgU2V0LHI9ZS5zcGxpdCgvLCg/IVteKCldKlwpKS8pLm1hcChmdW5jdGlvbihkKXtyZXR1cm4gZC50cmltKCl9KTtyPXIuZmxhdE1hcChmdW5jdGlvbihkKXtyZXR1cm4gZC5pbmNsdWRlcygiKCIpP2Q6ZC5zcGxpdCgiLCIpLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYy50cmltKCl9KX0pO3ZhciBpPUpKKHIpLG87dHJ5e2ZvcihpLnMoKTshKG89aS5uKCkpLmRvbmU7KXt2YXIgbj1vLnZhbHVlO2lmKGEkYShuKSl7dmFyIGw9Zjl0LnJlZHVjZShmdW5jdGlvbihkLGMpe3JldHVybiBkLnJlcGxhY2UoYywiIil9LG4pO2whPT0iIiYmbCE9PSIqIiYmdC5hZGQobCl9fX1jYXRjaChkKXtpLmUoZCl9ZmluYWxseXtpLmYoKX1yZXR1cm4gdH0sInBhcnNlQ1NTUnVsZUZvclBzZXVkb3MiKTtzKHNndCwic2VhcmNoUHNldWRvRWxlbWVudHMiKTtzJGE9e2hvb2tzOnMoZnVuY3Rpb24oKXtyZXR1cm57bXV0YXRpb25PYnNlcnZlckNhbGxiYWNrczpzKGZ1bmN0aW9uKHQpe3JldHVybiB0LnBzZXVkb0VsZW1lbnRzQ2FsbGJhY2s9c2d0LHR9LCJtdXRhdGlvbk9ic2VydmVyQ2FsbGJhY2tzIil9fSwiaG9va3MiKSxwcm92aWRlczpzKGZ1bmN0aW9uKGUpe2UucHNldWRvRWxlbWVudHMyc3ZnPWZ1bmN0aW9uKHQpe3ZhciByPXQubm9kZSxpPXI9PT12b2lkIDA/ZnI6cjskdC5zZWFyY2hQc2V1ZG9FbGVtZW50cyYmc2d0KGkpfX0sInByb3ZpZGVzIil9LGlndD0hMSxpJGE9e21peG91dDpzKGZ1bmN0aW9uKCl7cmV0dXJue2RvbTp7dW53YXRjaDpzKGZ1bmN0aW9uKCl7Szl0KCksaWd0PSEwfSwidW53YXRjaCIpfX19LCJtaXhvdXQiKSxob29rczpzKGZ1bmN0aW9uKCl7cmV0dXJue2Jvb3RzdHJhcDpzKGZ1bmN0aW9uKCl7Wjl0KGd1ZSgibXV0YXRpb25PYnNlcnZlckNhbGxiYWNrcyIse30pKX0sImJvb3RzdHJhcCIpLG5vQXV0bzpzKGZ1bmN0aW9uKCl7TkxhKCl9LCJub0F1dG8iKSx3YXRjaDpzKGZ1bmN0aW9uKHQpe3ZhciByPXQub2JzZXJ2ZU11dGF0aW9uc1Jvb3Q7aWd0P3p1ZSgpOlo5dChndWUoIm11dGF0aW9uT2JzZXJ2ZXJDYWxsYmFja3MiLHtvYnNlcnZlTXV0YXRpb25zUm9vdDpyfSkpfSwid2F0Y2giKX19LCJob29rcyIpfSxvZ3Q9cyhmdW5jdGlvbihlKXt2YXIgdD17c2l6ZToxNix4OjAseTowLGZsaXBYOiExLGZsaXBZOiExLHJvdGF0ZTowfTtyZXR1cm4gZS50b0xvd2VyQ2FzZSgpLnNwbGl0KCIgIikucmVkdWNlKGZ1bmN0aW9uKHIsaSl7dmFyIG89aS50b0xvd2VyQ2FzZSgpLnNwbGl0KCItIiksbj1vWzBdLGw9by5zbGljZSgxKS5qb2luKCItIik7aWYobiYmbD09PSJoIilyZXR1cm4gci5mbGlwWD0hMCxyO2lmKG4mJmw9PT0idiIpcmV0dXJuIHIuZmxpcFk9ITAscjtpZihsPXBhcnNlRmxvYXQobCksaXNOYU4obCkpcmV0dXJuIHI7c3dpdGNoKG4pe2Nhc2UiZ3JvdyI6ci5zaXplPXIuc2l6ZStsO2JyZWFrO2Nhc2Uic2hyaW5rIjpyLnNpemU9ci5zaXplLWw7YnJlYWs7Y2FzZSJsZWZ0IjpyLng9ci54LWw7YnJlYWs7Y2FzZSJyaWdodCI6ci54PXIueCtsO2JyZWFrO2Nhc2UidXAiOnIueT1yLnktbDticmVhaztjYXNlImRvd24iOnIueT1yLnkrbDticmVhaztjYXNlInJvdGF0ZSI6ci5yb3RhdGU9ci5yb3RhdGUrbDticmVha31yZXR1cm4gcn0sdCl9LCJwYXJzZVRyYW5zZm9ybVN0cmluZyIpLG8kYT17bWl4b3V0OnMoZnVuY3Rpb24oKXtyZXR1cm57cGFyc2U6e3RyYW5zZm9ybTpzKGZ1bmN0aW9uKHQpe3JldHVybiBvZ3QodCl9LCJ0cmFuc2Zvcm0iKX19fSwibWl4b3V0IiksaG9va3M6cyhmdW5jdGlvbigpe3JldHVybntwYXJzZU5vZGVBdHRyaWJ1dGVzOnMoZnVuY3Rpb24odCxyKXt2YXIgaT1yLmdldEF0dHJpYnV0ZSgiZGF0YS1mYS10cmFuc2Zvcm0iKTtyZXR1cm4gaSYmKHQudHJhbnNmb3JtPW9ndChpKSksdH0sInBhcnNlTm9kZUF0dHJpYnV0ZXMiKX19LCJob29rcyIpLHByb3ZpZGVzOnMoZnVuY3Rpb24oZSl7ZS5nZW5lcmF0ZUFic3RyYWN0VHJhbnNmb3JtR3JvdXBpbmc9ZnVuY3Rpb24odCl7dmFyIHI9dC5tYWluLGk9dC50cmFuc2Zvcm0sbz10LmNvbnRhaW5lcldpZHRoLG49dC5pY29uV2lkdGgsbD17dHJhbnNmb3JtOiJ0cmFuc2xhdGUoIi5jb25jYXQoby8yLCIgMjU2KSIpfSxkPSJ0cmFuc2xhdGUoIi5jb25jYXQoaS54KjMyLCIsICIpLmNvbmNhdChpLnkqMzIsIikgIiksYz0ic2NhbGUoIi5jb25jYXQoaS5zaXplLzE2KihpLmZsaXBYPy0xOjEpLCIsICIpLmNvbmNhdChpLnNpemUvMTYqKGkuZmxpcFk/LTE6MSksIikgIikscD0icm90YXRlKCIuY29uY2F0KGkucm90YXRlLCIgMCAwKSIpLHU9e3RyYW5zZm9ybToiIi5jb25jYXQoZCwiICIpLmNvbmNhdChjLCIgIikuY29uY2F0KHApfSxtPXt0cmFuc2Zvcm06InRyYW5zbGF0ZSgiLmNvbmNhdChuLzIqLTEsIiAtMjU2KSIpfSx2PXtvdXRlcjpsLGlubmVyOnUscGF0aDptfTtyZXR1cm57dGFnOiJnIixhdHRyaWJ1dGVzOlhlKHt9LHYub3V0ZXIpLGNoaWxkcmVuOlt7dGFnOiJnIixhdHRyaWJ1dGVzOlhlKHt9LHYuaW5uZXIpLGNoaWxkcmVuOlt7dGFnOnIuaWNvbi50YWcsY2hpbGRyZW46ci5pY29uLmNoaWxkcmVuLGF0dHJpYnV0ZXM6WGUoWGUoe30sci5pY29uLmF0dHJpYnV0ZXMpLHYucGF0aCl9XX1dfX19LCJwcm92aWRlcyIpfSxfdWU9e3g6MCx5OjAsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSJ9O3Mobmd0LCJmaWxsQmxhY2siKTtzKG4kYSwiZGVHcm91cCIpO2wkYT17aG9va3M6cyhmdW5jdGlvbigpe3JldHVybntwYXJzZU5vZGVBdHRyaWJ1dGVzOnMoZnVuY3Rpb24odCxyKXt2YXIgaT1yLmdldEF0dHJpYnV0ZSgiZGF0YS1mYS1tYXNrIiksbz1pP2xlZShpLnNwbGl0KCIgIikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLnRyaW0oKX0pKTpSOXQoKTtyZXR1cm4gby5wcmVmaXh8fChvLnByZWZpeD1yNCgpKSx0Lm1hc2s9byx0Lm1hc2tJZD1yLmdldEF0dHJpYnV0ZSgiZGF0YS1mYS1tYXNrLWlkIiksdH0sInBhcnNlTm9kZUF0dHJpYnV0ZXMiKX19LCJob29rcyIpLHByb3ZpZGVzOnMoZnVuY3Rpb24oZSl7ZS5nZW5lcmF0ZUFic3RyYWN0TWFzaz1mdW5jdGlvbih0KXt2YXIgcj10LmNoaWxkcmVuLGk9dC5hdHRyaWJ1dGVzLG89dC5tYWluLG49dC5tYXNrLGw9dC5tYXNrSWQsZD10LnRyYW5zZm9ybSxjPW8ud2lkdGgscD1vLmljb24sdT1uLndpZHRoLG09bi5pY29uLHY9UVRhKHt0cmFuc2Zvcm06ZCxjb250YWluZXJXaWR0aDp1LGljb25XaWR0aDpjfSkseD17dGFnOiJyZWN0IixhdHRyaWJ1dGVzOlhlKFhlKHt9LF91ZSkse30se2ZpbGw6IndoaXRlIn0pfSxiPXAuY2hpbGRyZW4/e2NoaWxkcmVuOnAuY2hpbGRyZW4ubWFwKG5ndCl9Ont9LGc9e3RhZzoiZyIsYXR0cmlidXRlczpYZSh7fSx2LmlubmVyKSxjaGlsZHJlbjpbbmd0KFhlKHt0YWc6cC50YWcsYXR0cmlidXRlczpYZShYZSh7fSxwLmF0dHJpYnV0ZXMpLHYucGF0aCl9LGIpKV19LHk9e3RhZzoiZyIsYXR0cmlidXRlczpYZSh7fSx2Lm91dGVyKSxjaGlsZHJlbjpbZ119LGs9Im1hc2stIi5jb25jYXQobHx8eTl0KCkpLEM9ImNsaXAtIi5jb25jYXQobHx8eTl0KCkpLE49e3RhZzoibWFzayIsYXR0cmlidXRlczpYZShYZSh7fSxfdWUpLHt9LHtpZDprLG1hc2tVbml0czoidXNlclNwYWNlT25Vc2UiLG1hc2tDb250ZW50VW5pdHM6InVzZXJTcGFjZU9uVXNlIn0pLGNoaWxkcmVuOlt4LHldfSxfPXt0YWc6ImRlZnMiLGNoaWxkcmVuOlt7dGFnOiJjbGlwUGF0aCIsYXR0cmlidXRlczp7aWQ6Q30sY2hpbGRyZW46biRhKG0pfSxOXX07cmV0dXJuIHIucHVzaChfLHt0YWc6InJlY3QiLGF0dHJpYnV0ZXM6WGUoe2ZpbGw6ImN1cnJlbnRDb2xvciIsImNsaXAtcGF0aCI6InVybCgjIi5jb25jYXQoQywiKSIpLG1hc2s6InVybCgjIi5jb25jYXQoaywiKSIpfSxfdWUpfSkse2NoaWxkcmVuOnIsYXR0cmlidXRlczppfX19LCJwcm92aWRlcyIpfSxjJGE9e3Byb3ZpZGVzOnMoZnVuY3Rpb24oZSl7dmFyIHQ9ITE7dDQubWF0Y2hNZWRpYSYmKHQ9dDQubWF0Y2hNZWRpYSgiKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkiKS5tYXRjaGVzKSxlLm1pc3NpbmdJY29uQWJzdHJhY3Q9ZnVuY3Rpb24oKXt2YXIgcj1bXSxpPXtmaWxsOiJjdXJyZW50Q29sb3IifSxvPXthdHRyaWJ1dGVUeXBlOiJYTUwiLHJlcGVhdENvdW50OiJpbmRlZmluaXRlIixkdXI6IjJzIn07ci5wdXNoKHt0YWc6InBhdGgiLGF0dHJpYnV0ZXM6WGUoWGUoe30saSkse30se2Q6Ik0xNTYuNSw0NDcuN2wtMTIuNiwyOS41Yy0xOC43LTkuNS0zNS45LTIxLjItNTEuNS0zNC45bDIyLjctMjIuN0MxMjcuNiw0MzAuNSwxNDEuNSw0NDAsMTU2LjUsNDQ3Ljd6IE00MC42LDI3Mkg4LjUgYzEuNCwyMS4yLDUuNCw0MS43LDExLjcsNjEuMUw1MCwzMjEuMkM0NS4xLDMwNS41LDQxLjgsMjg5LDQwLjYsMjcyeiBNNDAuNiwyNDBjMS40LTE4LjgsNS4yLTM3LDExLjEtNTQuMWwtMjkuNS0xMi42IEMxNC43LDE5NC4zLDEwLDIxNi43LDguNSwyNDBINDAuNnogTTY0LjMsMTU2LjVjNy44LTE0LjksMTcuMi0yOC44LDI4LjEtNDEuNUw2OS43LDkyLjNjLTEzLjcsMTUuNi0yNS41LDMyLjgtMzQuOSw1MS41IEw2NC4zLDE1Ni41eiBNMzk3LDQxOS42Yy0xMy45LDEyLTI5LjQsMjIuMy00Ni4xLDMwLjRsMTEuOSwyOS44YzIwLjctOS45LDM5LjgtMjIuNiw1Ni45LTM3LjZMMzk3LDQxOS42eiBNMTE1LDkyLjQgYzEzLjktMTIsMjkuNC0yMi4zLDQ2LjEtMzAuNGwtMTEuOS0yOS44Yy0yMC43LDkuOS0zOS44LDIyLjYtNTYuOCwzNy42TDExNSw5Mi40eiBNNDQ3LjcsMzU1LjVjLTcuOCwxNC45LTE3LjIsMjguOC0yOC4xLDQxLjUgbDIyLjcsMjIuN2MxMy43LTE1LjYsMjUuNS0zMi45LDM0LjktNTEuNUw0NDcuNywzNTUuNXogTTQ3MS40LDI3MmMtMS40LDE4LjgtNS4yLDM3LTExLjEsNTQuMWwyOS41LDEyLjYgYzcuNS0yMS4xLDEyLjItNDMuNSwxMy42LTY2LjhINDcxLjR6IE0zMjEuMiw0NjJjLTE1LjcsNS0zMi4yLDguMi00OS4yLDkuNHYzMi4xYzIxLjItMS40LDQxLjctNS40LDYxLjEtMTEuN0wzMjEuMiw0NjJ6IE0yNDAsNDcxLjRjLTE4LjgtMS40LTM3LTUuMi01NC4xLTExLjFsLTEyLjYsMjkuNWMyMS4xLDcuNSw0My41LDEyLjIsNjYuOCwxMy42VjQ3MS40eiBNNDYyLDE5MC44YzUsMTUuNyw4LjIsMzIuMiw5LjQsNDkuMmgzMi4xIGMtMS40LTIxLjItNS40LTQxLjctMTEuNy02MS4xTDQ2MiwxOTAuOHogTTkyLjQsMzk3Yy0xMi0xMy45LTIyLjMtMjkuNC0zMC40LTQ2LjFsLTI5LjgsMTEuOWM5LjksMjAuNywyMi42LDM5LjgsMzcuNiw1Ni45IEw5Mi40LDM5N3ogTTI3Miw0MC42YzE4LjgsMS40LDM2LjksNS4yLDU0LjEsMTEuMWwxMi42LTI5LjVDMzE3LjcsMTQuNywyOTUuMywxMCwyNzIsOC41VjQwLjZ6IE0xOTAuOCw1MCBjMTUuNy01LDMyLjItOC4yLDQ5LjItOS40VjguNWMtMjEuMiwxLjQtNDEuNyw1LjQtNjEuMSwxMS43TDE5MC44LDUweiBNNDQyLjMsOTIuM0w0MTkuNiwxMTVjMTIsMTMuOSwyMi4zLDI5LjQsMzAuNSw0Ni4xIGwyOS44LTExLjlDNDcwLDEyOC41LDQ1Ny4zLDEwOS40LDQ0Mi4zLDkyLjN6IE0zOTcsOTIuNGwyMi43LTIyLjdjLTE1LjYtMTMuNy0zMi44LTI1LjUtNTEuNS0zNC45bC0xMi42LDI5LjUgQzM3MC40LDcyLjEsMzg0LjQsODEuNSwzOTcsOTIuNHoifSl9KTt2YXIgbj1YZShYZSh7fSxvKSx7fSx7YXR0cmlidXRlTmFtZToib3BhY2l0eSJ9KSxsPXt0YWc6ImNpcmNsZSIsYXR0cmlidXRlczpYZShYZSh7fSxpKSx7fSx7Y3g6IjI1NiIsY3k6IjM2NCIscjoiMjgifSksY2hpbGRyZW46W119O3JldHVybiB0fHxsLmNoaWxkcmVuLnB1c2goe3RhZzoiYW5pbWF0ZSIsYXR0cmlidXRlczpYZShYZSh7fSxvKSx7fSx7YXR0cmlidXRlTmFtZToiciIsdmFsdWVzOiIyODsxNDsyODsyODsxNDsyODsifSl9LHt0YWc6ImFuaW1hdGUiLGF0dHJpYnV0ZXM6WGUoWGUoe30sbikse30se3ZhbHVlczoiMTswOzE7MTswOzE7In0pfSksci5wdXNoKGwpLHIucHVzaCh7dGFnOiJwYXRoIixhdHRyaWJ1dGVzOlhlKFhlKHt9LGkpLHt9LHtvcGFjaXR5OiIxIixkOiJNMjYzLjcsMzEyaC0xNmMtNi42LDAtMTItNS40LTEyLTEyYzAtNzEsNzcuNC02My45LDc3LjQtMTA3LjhjMC0yMC0xNy44LTQwLjItNTcuNC00MC4yYy0yOS4xLDAtNDQuMyw5LjYtNTkuMiwyOC43IGMtMy45LDUtMTEuMSw2LTE2LjIsMi40bC0xMy4xLTkuMmMtNS42LTMuOS02LjktMTEuOC0yLjYtMTcuMmMyMS4yLTI3LjIsNDYuNC00NC43LDkxLjItNDQuN2M1Mi4zLDAsOTcuNCwyOS44LDk3LjQsODAuMiBjMCw2Ny42LTc3LjQsNjMuNS03Ny40LDEwNy44QzI3NS43LDMwNi42LDI3MC4zLDMxMiwyNjMuNywzMTJ6In0pLGNoaWxkcmVuOnQ/W106W3t0YWc6ImFuaW1hdGUiLGF0dHJpYnV0ZXM6WGUoWGUoe30sbikse30se3ZhbHVlczoiMTswOzA7MDswOzE7In0pfV19KSx0fHxyLnB1c2goe3RhZzoicGF0aCIsYXR0cmlidXRlczpYZShYZSh7fSxpKSx7fSx7b3BhY2l0eToiMCIsZDoiTTIzMi41LDEzNC41bDcsMTY4YzAuMyw2LjQsNS42LDExLjUsMTIsMTEuNWg5YzYuNCwwLDExLjctNS4xLDEyLTExLjVsNy0xNjhjMC4zLTYuOC01LjItMTIuNS0xMi0xMi41aC0yMyBDMjM3LjcsMTIyLDIzMi4yLDEyNy43LDIzMi41LDEzNC41eiJ9KSxjaGlsZHJlbjpbe3RhZzoiYW5pbWF0ZSIsYXR0cmlidXRlczpYZShYZSh7fSxuKSx7fSx7dmFsdWVzOiIwOzA7MTsxOzA7MDsifSl9XX0pLHt0YWc6ImciLGF0dHJpYnV0ZXM6e2NsYXNzOiJtaXNzaW5nIn0sY2hpbGRyZW46cn19fSwicHJvdmlkZXMiKX0sZCRhPXtob29rczpzKGZ1bmN0aW9uKCl7cmV0dXJue3BhcnNlTm9kZUF0dHJpYnV0ZXM6cyhmdW5jdGlvbih0LHIpe3ZhciBpPXIuZ2V0QXR0cmlidXRlKCJkYXRhLWZhLXN5bWJvbCIpLG89aT09PW51bGw/ITE6aT09PSIiPyEwOmk7cmV0dXJuIHQuc3ltYm9sPW8sdH0sInBhcnNlTm9kZUF0dHJpYnV0ZXMiKX19LCJob29rcyIpfSx1JGE9W3RMYSxXTGEsR0xhLFlMYSxLTGEscyRhLGkkYSxvJGEsbCRhLGMkYSxkJGFdO3ZMYSh1JGEse21peG91dHNUbzokb30pO3AkYT0kby5ub0F1dG8sZiRhPSRvLmNvbmZpZyxoJGE9JG8ubGlicmFyeSxtJGE9JG8uZG9tLGckYT0kby5wYXJzZSxiJGE9JG8uZmluZEljb25EZWZpbml0aW9uLHYkYT0kby50b0h0bWwsVHVlPSRvLmljb24seCRhPSRvLmxheWVyLHkkYT0kby50ZXh0LHckYT0kby5jb3VudGVyfSk7dmFyIE0kYSxMdWUsY2d0LGRndCx1Z3QscGd0LCR1ZSxmZ3QsaGd0LG1ndCxnZ3QsYmd0LHZndCx4Z3QseWd0LHdndCxNZ3Qsa2d0LFNndCx6Z3QsQ2d0LF9ndCxUZ3QsTGd0LCRndCxEZ3QsQWd0LEVndCxQZ3QsRHVlLElndCxOZ3QsUmd0LE9ndCxGZ3QsQmd0LEhndCxxZ3QsVmd0LGpndCxVZ3QsV2d0LEdndCxZZ3QsS2d0LFpndCxYZ3QsUWd0LEpndCxBdWUsZWJ0LHRidCxhYnQscmJ0LHNidCxpYnQsb2J0LG5idCxsYnQsY2J0LGRidCx1YnQscGJ0LGZidCxoYnQsbWJ0LGdidCxiYnQsdmJ0LHhidCx5YnQsRXVlLHdidCxNYnQsa2J0LFNidCx6YnQsQ2J0LF9idCxUYnQsTGJ0LCRidCxEYnQsQWJ0LEVidCxQYnQsSWJ0LE5idCxSYnQsT2J0LEZidCxCYnQsSGJ0LHFidCxWYnQsamJ0LFVidCxXYnQsR2J0LFlidCxLYnQsWmJ0LFhidCxRYnQsSmJ0LGV2dCx0dnQsYXZ0LHJ2dCxzdnQsaXZ0LG92dCxudnQsaGVlLGx2dCxjdnQsUHVlLGR2dCx1dnQscHZ0LEl1ZSxmdnQsaHZ0LGZlZSxtdnQsZ3Z0LE51ZSxidnQsdnZ0LHh2dCx5dnQsd3Z0LFJ1ZSxNdnQsa3Z0LFN2dCx6dnQsQ3Z0LF92dCxUdnQsTHZ0LCR2dCxEdnQsT3VlLEF2dCxFdnQsUHZ0LEl2dCxOdnQsUnZ0LE92dCxGdnQsQnZ0LEZ1ZSxIdnQscXZ0LFZ2dCxqdnQsVXZ0LFd2dCxHdnQsWXZ0LEJ1ZSxLdnQsWnZ0LFh2dCxIdWUsUXZ0LEp2dCxleHQsdHh0LGF4dCxyeHQsc3h0LGl4dCxveHQsbnh0LGx4dCxjeHQsZHh0LHV4dCxweHQsZnh0LGh4dCxteHQsZ3h0LGJ4dCx2eHQseHh0LHl4dCx3eHQsTXh0LGt4dCxTeHQscXVlLHp4dCxDeHQsX3h0LFR4dCxMeHQsJHh0LER4dCxWdWUsQXh0LEV4dCxQeHQsSXh0LE54dCxSeHQsT3h0LEZ4dCxCeHQsSHh0LHF4dCxWeHQsanh0LFV4dCxXeHQsR3h0LFl4dCxLeHQsWnh0LFh4dCxReHQsSnh0LGV5dCx0eXQsYXl0LHJ5dCxzeXQsaXl0LG95dCxueXQsbHl0LGN5dCxkeXQsdXl0LHB5dCxmeXQsaHl0LG15dCxneXQsYnl0LHZ5dCx4eXQsbWVlLHl5dCx3eXQsTXl0LGt5dCxTeXQsanVlLHp5dCxDeXQsX3l0LGdlZSxUeXQsTHl0LCR5dCxEeXQsQXl0LEV5dCxVdWUsUHl0LEl5dCxOeXQsUnl0LE95dCxGeXQsQnl0LEh5dCxxeXQsVnl0LGp5dCxVeXQsV3l0LEd5dCxZeXQsS3l0LEliLFp5dCxYeXQsUXl0LEp5dCxld3QsdHd0LGF3dCxyd3Qsc3d0LGl3dCxvd3Qsbnd0LGx3dCxjd3QsZHd0LHV3dCxwd3QsZnd0LGh3dCxtd3QsZ3d0LGJ3dCx2d3QseHd0LHl3dCx3d3QsTXd0LGt3dCxTd3Qsend0LEN3dCxfd3QsVHd0LEx3dCwkd3QsRHd0LEF3dCxFd3QsUHd0LFd1ZSxJd3QsTnd0LFJ3dCxPd3QsRnd0LEJ3dCxId3QscXd0LFZ3dCxqd3QsVXd0LFd3dCxHd3QsWXd0LEt3dCxHdWUsWnd0LFh3dCxRd3QsSnd0LGVNdCx0TXQsWXVlLGFNdCxyTXQsc010LGlNdCxvTXQsbk10LGxNdCxjTXQsZE10LHVNdCxwTXQsZk10LGhNdCxtTXQsZ010LGJNdCx2TXQseE10LHlNdCx3TXQsTU10LGtNdCxTTXQsek10LENNdCxfTXQsVE10LExNdCxLdWUsYmVlLCRNdCxETXQsQU10LEVNdCxQTXQsSU10LE5NdCxSTXQsT010LEZNdCxCTXQsSE10LFp1ZSxxTXQsVk10LGpNdCxVTXQsV010LEdNdCxZTXQsS010LHZlZSxaTXQsWE10LFFNdCxKTXQsZWt0LHRrdCxha3Qscmt0LHNrdCxpa3Qsb2t0LG5rdCxsa3QsWHVlLGNrdCxka3QsdWt0LHBrdCxma3QsaGt0LG1rdCxna3QsYmt0LHZrdCx4a3QseWt0LHdrdCxNa3Qsa2t0LFNrdCx6a3QsUXVlLENrdCxfa3QsVGt0LEp1ZSxMa3QsJGt0LERrdCxBa3QseGVlLEVrdCxlcGUsUGt0LElrdCxOa3QsUmt0LE9rdCxGa3QsdHBlLEJrdCxIa3QscWt0LFZrdCxqa3QsVWt0LFdrdCxHa3QsWWt0LEtrdCxaa3QsWGt0LFFrdCxKa3QsZVN0LHRTdCxhU3QsclN0LHNTdCxpU3Qsb1N0LG5TdCxsU3QsY1N0LGRTdCxhcGUsdVN0LHBTdCxmU3QsaFN0LG1TdCxnU3QsYlN0LHZTdCxycGUseFN0LHlTdCx3U3QsTVN0LGtTdCxTU3QselN0LENTdCxfU3QsVFN0LExTdCwkU3QsRFN0LEFTdCxzcGUsRVN0LFBTdCxJU3QsTlN0LFJTdCxPU3QsRlN0LEJTdCxIU3QscVN0LFZTdCxqU3QsVVN0LFdTdCxHU3QsaXBlLFlTdCxLU3QsWlN0LFhTdCxRU3QsSlN0LGV6dCx0enQsYXp0LHJ6dCxzenQsaXp0LG96dCxuenQseWVlLGx6dCxjenQsZHp0LHV6dCxwenQsZnp0LGh6dCxtenQsZ3p0LGJ6dCxvcGUsdnp0LHh6dCx5enQsd3p0LE16dCxrenQsU3p0LHp6dCxDenQsX3p0LFR6dCxMenQsJHp0LER6dCxBenQsRXp0LFB6dCxJenQsTnp0LFJ6dCxPenQsRnp0LEJ6dCxIenQscXp0LFZ6dCxqenQsVXp0LFd6dCxHenQsWXp0LEt6dCxaenQsWHp0LFF6dCxKenQsZUN0LHRDdCxucGUsYUN0LHJDdCxzQ3QsaUN0LG9DdCxscGUsbkN0LGxDdCxjQ3QsZEN0LHVDdCxwQ3QsayRhLGZDdD1mKCgpPT57TSRhPSJmYWIiLEx1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtZ2l0aHViIixpY29uOls0NDgsNTEyLFsiZ2l0aHViLXNxdWFyZSJdLCJmMDkyIiwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek0yNjUuOCA0MDcuN2MwLTEuOCAwLTYgLjEtMTEuNiAuMS0xMS40IC4xLTI4LjggLjEtNDMuNyAwLTE1LjYtNS4yLTI1LjUtMTEuMy0zMC43IDM3LTQuMSA3Ni05LjIgNzYtNzMuMSAwLTE4LjItNi41LTI3LjMtMTcuMS0zOSAxLjctNC4zIDcuNC0yMi0xLjctNDUtMTMuOS00LjMtNDUuNyAxNy45LTQ1LjcgMTcuOS0yNi42LTcuNS01Ni42LTcuNS04My4yIDAgMCAwLTMxLjgtMjIuMi00NS43LTE3LjktOS4xIDIyLjktMy41IDQwLjYtMS43IDQ1LTEwLjYgMTEuNy0xNS42IDIwLjgtMTUuNiAzOSAwIDYzLjYgMzcuMyA2OSA3NC4zIDczLjEtNC44IDQuMy05LjEgMTEuNy0xMC42IDIyLjMtOS41IDQuMy0zMy44IDExLjctNDguMy0xMy45LTkuMS0xNS44LTI1LjUtMTcuMS0yNS41LTE3LjEtMTYuMi0uMi0xLjEgMTAuMi0xLjEgMTAuMiAxMC44IDUgMTguNCAyNC4yIDE4LjQgMjQuMiA5LjcgMjkuNyA1Ni4xIDE5LjcgNTYuMSAxOS43IDAgOSAuMSAyMS43IC4xIDMwLjYgMCA0LjggLjEgOC42IC4xIDEwIDAgNC4zLTMgOS41LTExLjUgOC02Ni0yMi4xLTExMi4yLTg0LjktMTEyLjItMTU4LjMgMC05MS44IDcwLjItMTYxLjUgMTYyLTE2MS41UzM4OCAxNjUuNiAzODggMjU3LjRjLjEgNzMuNC00NC43IDEzNi4zLTExMC43IDE1OC4zLTguNCAxLjUtMTEuNS0zLjctMTEuNS04em0tOTAuNS01NC44Yy0uMi0xLjUgMS4xLTIuOCAzLTMuMiAxLjktLjIgMy43IC42IDMuOSAxLjkgLjMgMS4zLTEgMi42LTMgMy0xLjkgLjQtMy43LS40LTMuOS0xLjd6bS05LjEgMy4yYy0yLjIgLjItMy43LS45LTMuNy0yLjQgMC0xLjMgMS41LTIuNCAzLjUtMi40IDEuOS0uMiAzLjcgLjkgMy43IDIuNCAwIDEuMy0xLjUgMi40LTMuNSAyLjR6bS0xNC4zLTIuMmMtMS45LS40LTMuMi0xLjktMi44LTMuMnMyLjQtMS45IDQuMS0xLjVjMiAuNiAzLjMgMi4xIDIuOCAzLjQtLjQgMS4zLTIuNCAxLjktNC4xIDEuM3ptLTEyLjUtNy4zYy0xLjUtMS4zLTEuOS0zLjItLjktNC4xIC45LTEuMSAyLjgtLjkgNC4zIC42IDEuMyAxLjMgMS44IDMuMyAuOSA0LjEtLjkgMS4xLTIuOCAuOS00LjMtLjZ6bS04LjUtMTBjLTEuMS0xLjUtMS4xLTMuMiAwLTMuOSAxLjEtLjkgMi44LS4yIDMuNyAxLjMgMS4xIDEuNSAxLjEgMy4zIDAgNC4xLS45IC42LTIuNiAwLTMuNy0xLjV6bS02LjMtOC44Yy0xLjEtMS4zLTEuMy0yLjgtLjQtMy41IC45LS45IDIuNC0uNCAzLjUgLjYgMS4xIDEuMyAxLjMgMi44IC40IDMuNS0uOSAuOS0yLjQgLjQtMy41LS42em0tNi02LjRjLTEuMy0uNi0xLjktMS43LTEuNS0yLjYgLjQtLjYgMS41LS45IDIuOC0uNCAxLjMgLjcgMS45IDEuOCAxLjUgMi42LS40IC45LTEuNyAxLjEtMi44IC40eiJdfSxjZ3Q9THVlLGRndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0aGluay1wZWFrcyIsaWNvbjpbNTc2LDUxMixbXSwiZjczMSIsIk00NjUuNCA0MDkuNGw4Ny4xLTE1MC4yLTMyLS4zLTU1LjEgOTUtMjA2LjItMzUzLjktMjM2LjIgNDA3LjQgMzIgLjMgMjA0LjItMzUyLjEgMjA2LjIgMzUzLjh6TTExMC4xIDM2NS4zbDMyLjEgMCAxMTcuNC0yMDIuNSAyMDMuNCAzNDkuMSAzMi41IC4xLTIzNS44LTQwNC42LTE0OS42IDI1Ny45eiJdfSx1Z3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ29vZ2xlLWRyaXZlIixpY29uOls1MTIsNTEyLFtdLCJmM2FhIiwiTTMzOSAzMTQuOUwxNzUuNCAzMiAzMzYuNiAzMiA1MDAuMiAzMTQuOSAzMzkgMzE0Ljl6TTIwMS41IDMzOC41bC04MC42IDE0MS41IDMxMC41IDAgODAuNi0xNDEuNS0zMTAuNSAwek0xNTQuMSA2Ny40TDAgMzM4LjUgODAuNiA0ODAgMjM3IDIwOC44IDE1NC4xIDY3LjR6Il19LHBndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhdXRvcHJlZml4ZXIiLGljb246WzY0MCw1MTIsW10sImY0MWMiLCJNMzE4LjQgMTZsLTE2MSA0ODAgNzcuNSAwIDI1LjQtODEuNCAxMTkuNSAwIDI1LjIgODEuNCA3Ny41IDAtMTY0LjEtNDgwek0yNzguMSAzNTcuOWw0MS4yLTEzMC40IDEuNSAwIDQwLjkgMTMwLjQtODMuNiAwek02NDAgNDA1TDYzMCAzNzMuNiA0NjIuMSAzNTggNDgxLjUgNDE0LjUgNjQwIDQwNXpNMTc3LjkgMzU4TDEwIDM3My43IDAgNDA1IDE1OC41IDQxNC40IDE3Ny45IDM1OHoiXX0sJHVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS12aWFkZW8iLGljb246WzQ0OCw1MTIsWyJ2aWFkZW8tc3F1YXJlIl0sImYyYWEiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTExOC4zIDM4MS4yYy02OC03My42LTE5LjgtMTk2LjEgODEuMi0xOTYuMSAxMy4zIDAgMjYuNiAyLjEgMzkuMSA2LjctNC4zIDguNC03LjMgMTcuNi04LjQgMjcuMS05LjctNC4xLTIwLjItNi0zMC43LTYtNDguOCAwLTg0LjYgNDEuNy04NC42IDg4LjkgMCA0MyAyOC41IDc4LjcgNjkuNSA4NS45IDYxLjUtMjQgNzIuOS0xMTcuNiA3Mi45LTE3NSAwLTcuMyAwLTE0LjgtLjYtMjIuMS0xMS4yLTMyLjktMjYuNi02NC42LTQ0LjItOTQuNSAyNy4xIDE4LjMgNDEuOSA2Mi41IDQ0LjIgOTQuMWwwIC40YzcuNyAyMi41IDExLjggNDYuMiAxMS44IDcwIDAgNTQuMS0yMS45IDk5LTY4LjMgMTI4LjJsLTIuNCAuMmM1MCAxIDg2LjItMzguNiA4Ni4yLTg3LjIgMC0xMi4yLTIuMS0yNC4zLTYuOS0zNS43IDkuNS0xLjkgMTguNS01LjYgMjYuNC0xMC41IDE1LjMgMzYuNiAxMi42IDg3LjMtMjIuOCAxMjUuNi00Mi40IDQ2LjItMTIwIDQ2LjYtMTYyLjQgMHpNMjc0LjYgMjE3LjZjMjEuOS0xMiA0OS42LTMwLjcgNjIuMy01MyAxLjUtMyA0LjEtOC42IDQuNS0xMi0xMi41IDI3LjktNDQuMiA0OS44LTczLjkgNTYuNy00LjctNy4zLTcuNS0xNS41LTcuNS0yNC4zIDAtMTAuMyA1LjItMjQuMSAxMi45LTMxLjYgOC4zLTcuOSAxOC0xMC45IDI3LjktMTQuMSAxNi01LjEgMzIuNS0xMC4zIDQ0LjUtMzUuOSAzMi41IDQ2LjIgMTMuMSAxMzAuMy0zNi4zIDEzMC4zLTEzLjMgMC0yNS4xLTcuMS0zNC40LTE2LjF6Il19LGZndD0kdWUsaGd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNwYW5lbCIsaWNvbjpbNjQwLDUxMixbXSwiZjM4OCIsIk0yMTAuMyAyMjAuMmMtNS42LTI0LjgtMjYuOS00MS4yLTUxLTQxLjJsLTM3IDBjLTcuMSAwLTEyLjUgNC41LTE0LjMgMTAuOUw3My4xIDMyMCA5Ny44IDMxOS45YzYuOCAwIDEyLjMtNC41IDE0LjItMTAuN2wyNS44LTk1LjcgMTkuOCAwYzguNCAwIDE2LjIgNS42IDE4LjMgMTQuOCAyLjUgMTAuOS01LjkgMjIuNi0xOC4zIDIyLjZsLTEwLjMgMGMtNyAwLTEyLjUgNC42LTE0LjMgMTAuOGwtNi40IDIzLjggMzIgMGMzNy4yIDAgNTguMy0zNi4yIDUxLjctNjUuM3ptLTE1Ni41IDI4bDE4LjYgMGM2LjkgMCAxMi40LTQuNCAxNC4zLTEwLjlsNi4yLTIzLjYtNDAgMEMzMCAyMTMuNyA5IDIyNy44IDEuNyAyNTQuOC03IDI4OC42IDE4LjUgMzIwIDUyIDMyMGwxMi40IDAgNy4xLTI2LjFjMS4yLTQuNC0yLjItOC4zLTYuNC04LjNsLTExLjMgMGMtMjQuNyAwLTI0LjktMzcuNCAwLTM3LjR6bTI0Ny41LTM0LjhsLTc3LjkgMC0zLjUgMTMuNGMtMi40IDkuNiA0LjUgMTguNSAxNC4yIDE4LjVsNTcuNSAwYzQgMCAyLjQgNC4zIDIuMSA1LjNsLTguNiAzMS44Yy0uNCAxLjQtLjkgNS4zLTUuNSA1LjNsLTM0LjkgMGMtNS4zIDAtNS4zLTcuOSAwLTcuOWwyMS42IDBjNi44IDAgMTIuMy00LjYgMTQuMi0xMC44bDMuNS0xMy4yLTQ4LjQgMGMtMzkuMiAwLTQzLjYgNjMuOC0uNyA2My44bDU3LjUgLjJjMTEuMiAwIDIwLjYtNy4yIDIzLjQtMTcuOGwxNC01MS44YzQuOC0xOS4yLTkuNy0zNi44LTI4LjUtMzYuOHpNNjMzLjEgMTc5bC0xOC45IDBjLTQuOSAwLTkuMiAzLjItMTAuNCA3LjlMNTY4LjIgMzIwYzIwLjcgMCAzOS44LTEzLjggNDQuOS0zNC41bDI2LjUtOTguMmMxLjItNC4zLTItOC4zLTYuNS04LjN6TTM5Ni44IDIxMy43bDAgLjEtNDguMyAwLTI2LjIgOThjLTEuMiA0LjQgMi4yIDguMyA2LjQgOC4zbDE4LjkgMGM0LjggMCA5LjItMyAxMC40LTcuOGwxNy4yLTY0IDE5LjggMGMxMi41IDAgMjEuNCAxMS44IDE4LjEgMjMuNGwtMTAuNiA0MGMtMS4yIDQuMyAxLjkgOC4zIDYuNCA4LjNsMTkuMSAwYzQuNiAwIDkuMS0yLjkgMTAuMy03LjhsOC44LTMzLjFjOS0zMy4xLTE1LjktNjUuNC01MC4zLTY1LjR6bTk4LjMgNzQuNmMtMy42IDAtNi0zLjQtNS4xLTYuN2w4LTMwYy45LTMuOSAzLjctNiA3LjgtNmwzMi45IDBjMi42IDAgNC42IDIuNCAzLjkgNS4xbC0uNyAyLjZjLS42IDItMS45IDMtMy45IDNsLTIxLjYgMGMtNyAwLTEyLjYgNC42LTE0LjIgMTAuOGwtMy41IDEzIDUzLjQgMGMxMC41IDAgMjAuMy02LjYgMjMuMi0xNy42bDMuMi0xMmM0LjktMTkuMS05LjMtMzYuOC0yOC4zLTM2LjhsLTQ3LjMgMGMtMTcuOSAwLTMzLjggMTItMzguNiAyOS42bC0xMC44IDQwYy01IDE3LjcgOC4zIDM2LjcgMjguMyAzNi43bDY2LjcgMGM2LjggMCAxMi4zLTQuNSAxNC4yLTEwLjdsNS43LTIxLTczLjMgMHoiXX0sbWd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1lbmRlbGV5IixpY29uOls2NDAsNTEyLFtdLCJmN2IzIiwiTTYyNC42IDMyNS4yYy0xMi4zLTEyLjQtMjkuNy0xOS4yLTQ4LjQtMTcuMi00My4zLTEtNDkuNy0zNC45LTM3LjUtOTguOCAyMi44LTU3LjUtMTQuOS0xMzEuNS04Ny40LTEzMC44LTc3LjQgLjctODEuNyA4Mi0xMzAuOSA4Mi00OC4xIDAtNTQtODEuMy0xMzAuOS04Mi03Mi45LS44LTExMC4xIDczLjMtODcuNCAxMzAuOCAxMi4yIDYzLjkgNS44IDk3LjgtMzcuNSA5OC44LTIxLjItMi4zLTM3IDYuNS01MyAyMi41LTE5LjkgMTkuNy0xOS4zIDk0LjggNDIuNiAxMDIuNiA0Ny4xIDUuOSA4MS42LTQyLjkgNjEuMi04Ny44LTQ3LjMtMTAzLjcgMTg1LjktMTA2LjEgMTQ2LjUtOC4yLS4xIC4xLS4yIC4yLS4zIC40LTI2LjggNDIuOCA2LjggOTcuNCA1OC44IDk1LjIgNTIuMSAyLjEgODUuNC01Mi42IDU4LjgtOTUuMi0uMS0uMi0uMi0uMy0uMy0uNC0zOS40LTk3LjkgMTkzLjgtOTUuNSAxNDYuNSA4LjItNC42IDEwLTYuNyAyMS4zLTUuNyAzMyA0LjkgNTMuNCA2OC43IDc0LjEgMTA0LjkgMzUuMiAxNy44LTE0LjggMjMuMS02NS42IDAtODguM3pNMzIwLjcgMzA2LjFsLS42IDBjLTQzLjQgMC02Mi44LTM3LjUtNjIuOC02Mi44IDAtMzQuNyAyOC4yLTYyLjggNjIuOC02Mi44bC42IDBjMzQuNyAwIDYyLjggMjguMSA2Mi44IDYyLjggMCAyNS0xOS4yIDYyLjgtNjIuOCA2Mi44eiJdfSxnZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZHJhZnQyZGlnaXRhbCIsaWNvbjpbNTEyLDUxMixbXSwiZjM5NiIsIk00OTYgMzk4LjFsLTE0NC04Mi4yIDAgNjQuNy05MS4zIDBjMzAuOC0zNSA4MS44LTk1LjkgMTExLjgtMTQ5LjMgMzUuMi02Mi42IDE2LjEtMTIzLjQtMTIuOC0xNTMuMy00LjQtNC42LTYyLjItNjIuOS0xNjYtNDEuMi01OS4xIDEyLjQtODkuNCA0My40LTEwNC4zIDY3LjMtMTMuMSAyMC45LTE3IDM5LjgtMTguMiA0Ny43LTUuNSAzMyAxOS40IDY3LjEgNTYuNyA2Ny4xIDMxLjcgMCA1Ny4zLTI1LjcgNTcuMy01Ny40IDAtMjcuMS0xOS43LTUyLjEtNDgtNTYuOCAxLjgtNy4zIDE3LjctMjEuMSAyNi4zLTI0LjcgNDEuMS0xNy4zIDc4IDUuMiA4My4zIDMzLjUgOC4zIDQ0LjMtMzcuMSA5MC40LTY5LjcgMTI3LjYtNzYuNiA4Ny0xNDIuOCAxNTUuNy0xNjEuMSAxNzQuOGwzMzYtLjEgMCA2NC4yIDE0NC04MS45ek0zODUuOSAzNzFsNDcuMSAyNy4yLTQ3LjEgMjcuMiAwLTU0LjR6TTEwNS40IDE2MS40YTIyLjQgMjIuNCAwIDEgMSA0NC44IDAgMjIuNCAyMi40IDAgMSAxIC00NC44IDB6TTk4LjUgMzgwLjVjMjUuNi0yNy40IDk3LjctMTA0LjcgMTUwLjgtMTY5LjkgMzUuMS00My4xIDQwLjMtODIuNCAyOC40LTExMi43LTcuNC0xOC44LTE3LjUtMzAuMi0yNC4zLTM1LjcgNDUuMyAyLjEgNjggMjMuNCA4Mi4yIDM4LjMgMCAwIDQyLjQgNDguMiA1LjggMTEzLjMtMzcgNjUuOS0xMTAuOSAxNDcuNS0xMjguNSAxNjYuN2wtMTE0LjQgMHoiXX0sYmd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlcGx5ZCIsaWNvbjpbNDQ4LDUxMixbXSwiZjNlNiIsIk0zMjAgNDgwbC0xOTIgMEM1Ny42IDQ4MCAwIDQyMi40IDAgMzUyTDAgMTYwQzAgODkuNiA1Ny42IDMyIDEyOCAzMmwxOTIgMGM3MC40IDAgMTI4IDU3LjYgMTI4IDEyOGwwIDE5MmMwIDcwLjQtNTcuNiAxMjgtMTI4IDEyOHpNMTkzLjQgMjczLjJjLTYuMS0yLTExLjYtMy4xLTE2LjQtMy4xLTcuMiAwLTEzLjUgMS45LTE4LjkgNS42cy05LjYgOS0xMi44IDE1LjhsLTEuMSAwLTQuMi0xOC4zLTI4IDAgMCAxMzguOSAzNi4xIDAgMC04OS43YzEuNS01LjQgNC40LTkuOCA4LjctMTMuMnM5LjgtNS4xIDE2LjItNS4xYzQuNiAwIDkuOCAxIDE1LjYgMy4xbDQuOC0zNHpNMzA4LjYgMzc2LjZjLTMuMiAyLjQtNy43IDQuOC0xMy43IDcuMXMtMTIuOCAzLjUtMjAuNCAzLjVjLTEyLjIgMC0yMS4xLTMtMjYuNS04LjktNS41LTUuOS04LjUtMTQuNy05LTI2LjRsODMuMyAwYy45LTQuOCAxLjYtOS40IDIuMS0xMy45IC41LTQuNCAuNy04LjYgLjctMTIuNSAwLTEwLjctMS42LTE5LjctNC43LTI2LjktMy4yLTcuMi03LjMtMTMtMTIuNS0xNy4yLTUuMi00LjMtMTEuMS03LjMtMTcuOC05LjItNi43LTEuOC0xMy41LTIuOC0yMC42LTIuOC0yMS4xIDAtMzcuNSA2LjEtNDkuMiAxOC4zcy0xNy41IDMwLjUtMTcuNSA1NWMwIDIyLjggNS4yIDQwLjcgMTUuNiA1My43IDEwLjQgMTMuMSAyNi44IDE5LjYgNDkuMiAxOS42IDEwLjcgMCAyMC45LTEuNSAzMC40LTQuNnMxNy4xLTYuOCAyMi42LTExLjJsLTEyLTIzLjZ6bS0yMS44LTcwLjNjMy44IDUuNCA1LjMgMTMuMSA0LjYgMjMuMWwtNTEuNyAwYy45LTkuNCAzLjctMTcgOC4yLTIyLjZzMTEuNS04LjUgMjEtOC41YzguMi0uMSAxNC4xIDIuNiAxNy45IDh6bTc5LjkgMi41YzQuMSAzLjkgOS40IDUuOCAxNi4xIDUuOCA3IDAgMTIuNi0xLjkgMTYuNy01LjhzNi4xLTkuMSA2LjEtMTUuNi0yLTExLjYtNi4xLTE1LjQtOS42LTUuNy0xNi43LTUuN2MtNi43IDAtMTIgMS45LTE2LjEgNS43cy02LjEgOC45LTYuMSAxNS40IDIgMTEuNyA2LjEgMTUuNnptMCAxMDAuNWM0LjEgMy45IDkuNCA1LjggMTYuMSA1LjggNyAwIDEyLjYtMS45IDE2LjctNS44czYuMS05LjEgNi4xLTE1LjYtMi0xMS42LTYuMS0xNS40LTkuNi01LjctMTYuNy01LjdjLTYuNyAwLTEyIDEuOS0xNi4xIDUuN3MtNi4xIDguOS02LjEgMTUuNGMwIDYuNiAyIDExLjcgNi4xIDE1LjZ6Il19LHZndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlbXBpcmUiLGljb246WzUxMiw1MTIsW10sImYxZDEiLCJNMjk1LjYgNTQuMmMtMTAuOC0yLjItMjIuMS0zLjMtMzMuNS0zLjZsMC0xOC4yYzc4LjEgMi4yIDE0Ni4xIDQ0IDE4NC42IDEwNi42bC0xNS44IDkuMWMtNi4xLTkuNy0xMi43LTE4LjgtMjAuMi0yNy4xbC0xOCAxNS41Yy0yNi0yOS42LTYxLjQtNTAuNy0xMDEuOS01OC40bDQuOC0yMy45ek02MS40IDMyMi40bDIzLTcuN2MtNi40LTE4LjMtMTAtMzguMi0xMC01OC43czMuMy00MC40IDkuNy01OC43bC0yMi43LTcuN2MzLjYtMTAuOCA4LjMtMjEuMyAxMy42LTMxbC0xNS44LTkuMUM0MiAxODEgMzIuMSAyMTcuNSAzMi4xIDI1NnMxMCA3NSAyNy4xIDEwNi42TDc1IDM1My41Yy01LjMtMTAtOS43LTIwLjMtMTMuNi0zMS4xek0yMjEuMSA0MzRjLTQwLjQtOC03NS44LTI5LjEtMTAxLjktNTguN2wtMTggMTUuOGMtNy41LTguNi0xNC40LTE3LjctMjAuMi0yNy40bC0xNiA5LjRjMzguNSA2Mi4zIDEwNi44IDEwNC4zIDE4NC45IDEwNi42bDAtMTguM2MtMTEuMy0uMy0yMi43LTEuNy0zMy41LTMuNmw0LjctMjMuOHpNMTAxLjMgMTIwLjlsMTggMTUuNWMyNi0yOS42IDYxLjQtNTAuNyAxMDEuOS01OC40bC00LjctMjMuOGMxMC44LTIuMiAyMi4xLTMuMyAzMy41LTMuNmwwLTE4LjJDMTcxLjkgMzQuNiAxMDMuOSA3Ni40IDY1LjQgMTM5bDE1LjggOS4xYzYtOS43IDEyLjYtMTguOSAyMC4xLTI3LjJ6TTQxMC43IDM5MS4xbC0xOC0xNS44Yy0yNiAyOS42LTYxLjQgNTAuNy0xMDEuOSA1OC43bDQuNyAyMy44Yy0xMC44IDEuOS0yMi4xIDMuMy0zMy41IDMuNmwwIDE4LjNjNzguMS0yLjIgMTQ2LjQtNDQuMyAxODQuOS0xMDYuNmwtMTYuMS05LjRjLTUuNyA5LjctMTIuNiAxOC44LTIwLjEgMjcuNHpNOCAyNTZhMjQ4IDI0OCAwIDEgMSA0OTYgMCAyNDggMjQ4IDAgMSAxIC00OTYgMHptNDgzLjggMGEyMzUuOCAyMzUuOCAwIDEgMCAtNDcxLjYgMCAyMzUuOCAyMzUuOCAwIDEgMCA0NzEuNiAwem0tMzktMTA2LjZMNDM3IDE1OC41YzUuMyA5LjcgMTAgMjAuMiAxMy42IDMxbC0yMi43IDcuN2M2LjQgMTguMyA5LjcgMzguMiA5LjcgNTguN3MtMy42IDQwLjQtMTAgNTguN2wyMyA3LjdjLTMuOSAxMC44LTguMyAyMS0xMy42IDMxbDE1LjggOS4xQzQ3MCAzMzEgNDc5LjkgMjk0LjUgNDc5LjkgMjU2cy05LjktNzUtMjcuMS0xMDYuNnptLTE4MyAxNzcuN2MxNi4zLTMuMyAzMC40LTExLjYgNDAuNy0yMy41bDUxLjIgNDQuOGMxMS45LTEzLjYgMjEuMy0yOS4zIDI3LjEtNDYuOGwtNjQuMi0yMi4xYzIuNS03LjUgMy45LTE1LjIgMy45LTIzLjVzLTEuNC0xNi4xLTMuOS0yMy41bDY0LjUtMjIuMWMtNi4xLTE3LjQtMTUuNS0zMy4yLTI3LjQtNDYuOGwtNTEuMiA0NC44Yy0xMC4yLTExLjktMjQuNC0yMC41LTQwLjctMjMuOGwxMy4zLTY2LjRjLTguNi0xLjktMTcuNy0yLjgtMjcuMS0yLjhzLTE4LjUgLjgtMjcuMSAyLjhsMTMuMyA2Ni40Yy0xNi4zIDMuMy0zMC40IDExLjktNDAuNyAyMy44bC01MS4yLTQ0LjhjLTExLjkgMTMuNi0yMS4zIDI5LjMtMjcuNCA0Ni44bDY0LjUgMjIuMWMtMi41IDcuNS0zLjkgMTUuMi0zLjkgMjMuNXMxLjQgMTYuMSAzLjkgMjMuNWwtNjQuMiAyMi4xYzUuOCAxNy40IDE1LjIgMzMuMiAyNy4xIDQ2LjhsNTEuMi00NC44YzEwLjIgMTEuOSAyNC40IDIwLjIgNDAuNyAyMy41bC0xMy4zIDY2LjdjOC42IDEuNyAxNy43IDIuOCAyNy4xIDIuOHMxOC41LTEuMSAyNy4xLTIuOGwtMTMuMy02Ni43eiJdfSx4Z3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYWNjZXNzaWJsZS1pY29uIixpY29uOls0NDgsNTEyLFs2MjEwN10sImYzNjgiLCJNNDIzLjkgMjU1LjhMNDExIDQxMy4xYy0zLjMgNDAuNy02My45IDM1LjEtNjAuNi00LjlsMTAtMTIyLjUtNDEuMSAyLjNjMTAuMSAyMC43IDE1LjggNDMuOSAxNS44IDY4LjUgMCA0MS4yLTE2LjEgNzguNy00Mi4zIDEwNi41bC0zOS4zLTM5LjNjNTcuOS02My43IDEzLjEtMTY3LjItNzQtMTY3LjItMjUuOSAwLTQ5LjUgOS45LTY3LjIgMjZMNzMgMjQzLjJjMjItMjAuNyA1MC4xLTM1LjEgODEuNC00MC4ybDc1LjMtODUuNy00Mi42LTI0LjgtNTEuNiA0NkMxMDUuNSAxNjUuMyA2NC45IDEyMCA5NSA5My4xbDY4LTYwLjdjOS44LTguOCAyNC4xLTEwLjIgMzUuNS0zLjYgMCAwIDEzOS4zIDgwLjkgMTM5LjUgODEuMSAxNi4yIDEwLjEgMjAuNyAzNiA2LjEgNTIuNmwtNTguNCA2Ni41IDEwNi4xLTUuOWMxOC41LTEuMSAzMy42IDE0LjQgMzIuMSAzMi43ek0zNTkgMTAxLjhBNTAuOSA1MC45IDAgMSAwIDM1OSAwIDUwLjkgNTAuOSAwIDEgMCAzNTkgMTAxLjh6TTE3OS42IDQ1Ni41Yy04MC42IDAtMTI3LjQtOTAuNi04Mi43LTE1Ni4xTDU3LjIgMjYwLjdDMzYuNCAyODcgMjQgMzIwLjMgMjQgMzU2LjQgMjQgNDg3LjEgMTc0LjcgNTU3LjggMjc1LjQgNDc4LjlsLTM5LjctMzkuN2MtMTYgMTAuOS0zNS4zIDE3LjMtNTYuMSAxNy4zeiJdfSx5Z3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicXVvcmEiLGljb246WzQ0OCw1MTIsW10sImYyYzQiLCJNNDQwLjcgMzg2LjdsLTI5LjMgMGMtMS41IDEzLjUtMTAuNSAzMC44LTMzIDMwLjgtMjAuNSAwLTM1LjMtMTQuMi00OS41LTM1LjggNDQuMi0zNC4yIDc0LjctODcuNSA3NC43LTE1MyAuMS0xMTcuNS05Ni42LTE5Ni43LTE5OC40LTE5Ni43LTk5LjcgMC0xOTcuNyA3OS43LTE5Ny43IDE5Ni43IDAgMTM0LjEgMTMxLjMgMjIxLjYgMjQ5IDE4OSAxOS43IDMzLjYgNDUuNyA2Mi4zIDk1LjIgNjIuMyA4MS44IDAgOTAuOC03NS4zIDg5LTkzLjN6TTI5Ny4yIDMyOS4yYy0xOS41LTI5LjItNDMuNy01Mi4yLTkxLjUtNTIuMi0zMC41IDAtNTQuMyAxMC02OSAyMi44bDEyLjIgMjQuM2M2LjItMyAxMy00IDE5LjgtNCAzNS41IDAgNTMuNyAzMC44IDY5LjIgNjEuMy0xMCAzLTIwLjcgNC4yLTMyLjcgNC4yLTc1IDAtMTA3LjUtNTMtMTA3LjUtMTU2LjcgMC0xMDQuNCAzMi41LTE1Ny45IDEwNy41LTE1Ny45IDc2LjIgMCAxMDguNyA1My41IDEwOC43IDE1Ny43IC4xIDQxLjgtNS40IDc1LjYtMTYuNyAxMDAuNXoiXX0sd2d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLWpjYiIsaWNvbjpbNTc2LDUxMixbXSwiZjI0YiIsIk00MzEuNSAyNDQuM2wwLTMyLjNjNDEuMiAwIDM4LjUgLjIgMzguNSAuMiA3LjMgMS4zIDEzLjMgNy4zIDEzLjMgMTYgMCA4LjgtNiAxNC41LTEzLjMgMTUuOC0xLjIgLjQtMy4zIC4zLTM4LjUgLjN6bTQyLjggMjAuMmMtMi44LS43LTMuMy0uNS00Mi44LS41bDAgMzVjMzkuNiAwIDQwIC4yIDQyLjgtLjUgNy41LTEuNSAxMy41LTggMTMuNS0xNyAwLTguNy02LTE1LjUtMTMuNS0xN3pNNTc2IDgwbDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmw0ODAgMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMTgyIDE5Mi4zbC01NyAwYzAgNjcuMSAxMC43IDEwOS43LTM1LjggMTA5LjctMTkuNSAwLTM4LjgtNS43LTU3LjItMTQuOGwwIDI4YzMwIDguMyA2OCA4LjMgNjggOC4zIDk3LjkgMCA4Mi00Ny43IDgyLTEzMS4yem0xNzguNSA0LjVjLTYzLjQtMTYtMTY1LTE0LjktMTY1IDU5LjMgMCA3Ny4xIDEwOC4yIDczLjYgMTY1IDU5LjJsMC0yOC4zQzMxMi45IDMxMS43IDI1MyAzMDkgMjUzIDI1NnM1OS44LTU1LjYgMTA3LjUtMzEuMmwwLTI4ek01NDQgMjg2LjVjMC0xOC41LTE2LjUtMzAuNS0zOC0zMmwwLS44YzE5LjUtMi43IDMwLjMtMTUuNSAzMC4zLTMwLjIgMC0xOS0xNS43LTMwLTM3LTMxIDAgMCA2LjMtLjMtMTIwLjMtLjNsMCAxMjcuNSAxMjIuNyAwYzI0LjMgLjEgNDIuMy0xMi45IDQyLjMtMzMuMnoiXX0sTWd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZlZG9yYSIsaWNvbjpbNDQ4LDUxMixbXSwiZjc5OCIsIk0wIDI1NS44Qy4xIDEzMi4yIDEwMC4zIDMyIDIyNCAzMlM0NDggMTMyLjMgNDQ4IDI1NiAzNDcuOCA0NzkuOSAyMjQuMSA0ODBMNTAuOSA0ODBDMjIuOCA0ODAgLjEgNDU3LjMgMCA0MjkuMmwwIDAgMC0xNzMuNCAwIDB6bTM0Mi42LTYzLjFjMC0zOS43LTM1LjYtNjguNS03My4yLTY4LjUtMzQuOSAwLTY1LjggMjYuMy03MC4xIDU5LjktLjIgMy44LS40IDUtLjQgOC41LS4xIDIxLjEgMCA0Mi44LS44IDY0LjQgLjkgMjYuMSAxIDUyLjEgMCA3Ni42IDAgMjcuMS0xOS40IDQ1LjUtNDQuNyA0NS41cy00NS44LTIwLjItNDUuOC00NS41Yy41LTI3LjcgMjIuNi00NS4zIDQ4LjUtNDYuMWwuMiAwIDI2LjMtLjIgMC0zNy4zLTI2LjMgLjJjLTQ3LjEtLjQtODQuNiAzNi41LTg1LjkgODMuNCAwIDQ1LjYgMzcuNSA4Mi45IDgzIDgyLjkgNDMgMCA3OC43LTMzLjYgODIuNi03NS42bC4yLTUzLjUgMzIuNi0uM2MyNS4zIC4yIDI1LTM3LjgtLjItMzcuM2wtMzIuNCAuM2MwLTYuNCAuMS0xMi44IC4xLTE5LjIgLjEtMTIuNyAuMS0yNS40LS4xLTM4LjIgLjEtMTYuNSAxNS44LTMxLjIgMzMuMi0zMS4yIDE3LjUgMCAzNS45IDguNyAzNS45IDMxLjIgMCAzLjItLjEgNS4xLS4zIDYuMy0xLjkgMTAuNSA1LjIgMjAuNCAxNS43IDIxLjkgMTAuNiAxLjUgMjAuMi02LjEgMjEuMi0xNi42IC42LTQuMiAuNy03LjkgLjctMTEuNnoiXX0sa2d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImR1b2xpbmdvIixpY29uOls1NzYsNTEyLFtdLCJlODEyIiwiTTUwNC4zIDIzMC41YzEwLjQgODguNS00My40IDE3Mi4xLTEyOC4yIDE5OXMtMTc2LjYtMTAuMy0yMTguOS04OC43Yy03MiAzLTEzNy40LTM5LjgtMTYzLjItMTA1LjUtMi42LTYuNi0xLjktMTQgMS45LTE5LjlzMTAuMi05LjcgMTcuMi0xMC4xbDk2LjEtNi0yMy44LTc1LjljLTYuMy0yMC0yLjItNDEuOSAxMS01OC4zczMzLjctMjUgNTQuNS0yM2M1Mi4yIDUgODYuOCA0LjggMTA0LS42UzMwMCAxNi43IDMzOS0xNi45YzE1LjktMTMuNyAzNy43LTE4LjUgNTcuOC0xMi43czM2LjEgMjEuMyA0Mi40IDQxLjRMNDYyLjggODcgNTQzLjYgMzcuM2M2LTMuNyAxMy40LTQuMyAxOS45LTEuNnMxMS4zIDguMyAxMi45IDE1LjJjMTYuMiA2OC4yLTEyLjQgMTQwLjMtNzIuMSAxNzkuNXpNMjU4LjUgNDc1LjlsMCAwYzE1LjEgNy41IDIxLjUgMjUuOCAxNC4yIDQxcy0yNS40IDIxLjktNDAuNyAxNC45bC00My45LTIxYy0xNS4xLTcuNS0yMS41LTI1LjgtMTQuMi00MXMyNS40LTIxLjkgNDAuNy0xNC45bDQzLjggMjF6TTU2NC42IDM0NS43YzE0LjggOC40IDIwIDI3LjMgMTEuNiA0Mi4ybC0yMy45IDQyLjRjLTguNyAxNC4zLTI3LjEgMTkuMi00MS42IDEwLjlzLTE5LjktMjYuNi0xMi00MS40bDIzLjktNDIuNGM0LTcuMSAxMC43LTEyLjQgMTguNi0xNC42czE2LjMtMS4yIDIzLjQgMi45eiJdfSxTZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmlyc3RkcmFmdCIsaWNvbjpbMzg0LDUxMixbXSwiZjNhMSIsIk0zODQgMTkybC02NCAwIDAgMTI4LTEyOCAwIDAgMTI4LTE5MiAwIDAtMjUuNiAxNjYuNCAwIDAtMTI4IDEyOCAwIDAtMTI4IDg5LjYgMCAwIDI1LjZ6bS0yNS42IDM4LjRsMCAxMjgtMTI4IDAgMCAxMjgtMTY2LjQgMCAwIDI1LjYgMTkyIDAgMC0xMjggMTI4IDAgMC0xNTMuNi0yNS42IDB6bTI1LjYgMTkybC04OS42IDAgMCA4OS42IDI1LjYgMCAwLTY0IDY0IDAgMC0yNS42ek0wIDBsMCAzODQgMTI4IDAgMC0xMjggMTI4IDAgMC0xMjggMTI4IDAgMC0xMjgtMzg0IDB6Il19LHpndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmcmVlYnNkIixpY29uOls0NDgsNTEyLFtdLCJmM2E0IiwiTTMwMy43IDk2LjJjMTEuMS0xMS4xIDExNS41LTc3IDEzOS4yLTUzLjIgMjMuNyAyMy43LTQyLjEgMTI4LjEtNTMuMiAxMzkuMnMtMzkuNCAuOS02My4xLTIyLjljLTIzLjgtMjMuNy0zNC4xLTUyLTIyLjktNjMuMXpNMTA5LjkgNjguMUM3My42IDQ3LjUgMjIgMjQuNiA1LjYgNDEuMS0xMSA1Ny43IDEyLjcgMTEwLjUgMzMuNSAxNDYuOCA1MiAxMTQuNiA3OC4zIDg3LjUgMTA5LjkgNjguMXpNNDA2LjcgMTc0YzMuMyAxMS4zIDIuNyAyMC43LTIuNyAyNi4xLTIwLjMgMjAuMy04Ny41LTI3LTEwOS4zLTcwLjEtMTgtMzIuMy0xMS4xLTUzLjQgMTQuOS00OC43IDUuNy0zLjYgMTIuMy03LjYgMTkuNi0xMS42LTI5LjgtMTUuNS02My42LTI0LjMtOTkuNS0yNC4zLTExOS4xIDAtMjE1LjYgOTYuNS0yMTUuNiAyMTUuNiAwIDExOSA5Ni41IDIxNS42IDIxNS42IDIxNS42UzQ0NS4zIDM4MC4xIDQ0NS4zIDI2MWMwLTM4LjQtMTAuMS03NC41LTI3LjctMTA1LjgtMy45IDctNy42IDEzLjMtMTAuOSAxOC44eiJdfSxDZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib2R5c2VlIixpY29uOls1MTIsNTEyLFtdLCJlNWM2IiwiTTQwNi43IDQ2M2MtNDIuMyAzMC44LTk0LjQgNDktMTUwLjcgNDktMTExLjEgMC0yMDUuNy03MC44LTI0MS4xLTE2OS44IDIuNCAxLjcgNS45IDMuNiA3LjkgNC40IDE2LjMgNy40IDQwLjEtNS40IDYyLjktMjguNyA2LjktNi45IDE0LjQtMTIuNCAyMi44LTE3LjMgMTguMy0xMS45IDM3LjYtMjAuOCA1OC40LTI3LjIgMCAwIDIyLjMgMzQuMiA0My4xIDc0LjhzLTIyLjMgNTQtMjcuMiA1NGMtLjMgMC0uOCAwLTEuNS0uMS0xMS0uNS03MC0zLTU2IDUxLjEgMTQuOSA1Ny40IDk3LjUgMzYuNiAxMzkuNiA4LjlzMzEuNy0xMTguMyAzMS43LTExOC4zYzQxLjEtNi40IDU0IDM3LjEgNTcuOSA1OS40IC44IDQuNiAxLjEgOS45IDEuNCAxNS41IDEuMSAyMS4yIDIuMyA0NS42IDM1LjMgNDYuNCA1LjMgMCAxMC42LS44IDE1LjUtMmwwLS4xem0tOTUuMy0yMy43Yy0yLS41LTMuNS0yLjUtMy01IDEtMi41IDMtMy41IDUtM3MzLjUgMyAzIDUtMi41IDMuNS01IDN6bS0yMDctOTUuNmMxLjUtLjUgMy41IDEgNCAzIDAgMi0xIDQtMyA0LTEuNSAuNS0zLjUtMS00LTMtLjUtMS41IDEtMy41IDMtNHpNNDUxLjggNDIxYzM3LjUtNDQuNiA2MC4yLTEwMi4yIDYwLjItMTY1IDAtNjcuNS0yNi4xLTEyOC45LTY4LjgtMTc0LjctLjEgMjMuNS02LjEgNDguMi0xNi44IDY5LjItMTEuOSAyMC4zLTQ5IDU4LjktNjkuOCA3OC43LS43IC4zLTEuMSAuOS0xLjUgMS40LS4yIC4yLS4zIC40LS41IC42LTUgNi45LTQgMTYuOCAzIDIxLjggMjEuMyAxNS44IDU2LjQgNDUuNiA1OS40IDcyLjggMy41IDM0LjkgMjcuOSA3NS42IDM0LjIgODYuMiAuOCAxLjMgMS4zIDIuMSAxLjQgMi40IDAgMi4yLS40IDQuMy0uOCA2LjVsMCAuMXpNMzkwLjcgMjUxYy0uNSAzIDEgNS45IDQgNi40czUuOS0xIDYuNC00LTEtNS45LTQtNi40Yy0zLTEtNS45IDEtNi40IDR6bTYxLjQtNjAuOWwtMTEuNCA1LjQtMyAxMi45LTUuNC0xMS40LTEyLjktMyAxMS40LTUuNCAzLTEyLjkgNS40IDExLjQgMTIuOSAzek0zOTUuNSA0MS4zYy0xNi4yIDguMi0yMi4xIDMyLjgtMjkgNjEuNC0uMyAxLjQtLjcgMi44LTEgNC4yLTkuNSAzOC41LTMwLjYgMzcuNi00MS43IDM3LjItMS4xIDAtMi0uMS0yLjktLjEtNS4xIDAtNi00LTguOS0xNy4xLTIuNi0xMi4xLTYuOS0zMi0xNy45LTYzLjYtMjIuNy02NS44LTgyLjctNDkuNC0xMjguMi0yMi4yLTU1LjMgMzMuMS0zNC40IDEwMS45LTE5LjggMTQ5LjQgLjcgMi4yIDEuNCA0LjQgMiA2LjYtNCA0LTEzLjggNy41LTI2IDExLjktMTIuMSA0LjMtMjYuNiA5LjUtNDAuMyAxNi45LTMzLjkgMTgtNzAuMyA0OS03OS44IDYyLjYtMS4zLTEwLjctMi0yMS41LTItMzIuNSAwLTE0MS40IDExNC42LTI1NiAyNTYtMjU2IDUxLjQgMCA5OS40IDE1LjIgMTM5LjUgNDEuM3pNNTguOSAxODkuNmMtMS41LTItNC41LTMtNi40LTEuNXMtMyA0LjUtMS41IDYuNCA0LjUgMyA2LjQgMS41YzIuNS0xLjUgMy00LjUgMS41LTYuNHpNMzI3LjMgNjQuOWMyLTEuNSA1LS41IDYuNCAxLjUgMS41IDIuNSAxIDUuNC0xLjUgNi40LTIgMS41LTUgLjUtNi40LTEuNXMtLjUtNSAxLjUtNi40ek05NS4xIDEwNWMtLjUgMS41IC41IDMgMiAzIDEuNSAuNSAzLS41IDMtMiAuNS0xLjUtLjUtMy0yLTNzLTMgLjUtMyAyem04NC43LS41Yy0zLjUtNDMuMSAzNy4xLTU0IDM3LjEtNTQgNDQuMS0xNS40IDU2IDUuOSA2Ni40IDM3LjZzMyA0Mi42LTM4LjYgNTguOS02MS45LTQuNS02NC45LTQyLjZsMCAuMXptODkuNiAxNC45bDEgMGMyLjUgMCA1LTIgNS01IDItNi45IDEtMTQuNC0yLTIwLjgtMS41LTItNC0zLjUtNi40LTIuNS0zIDEtNC41IDQtMy41IDYuOSAyIDQuNSAzIDkuOSAxLjUgMTQuOS0uNSAzIDEuNSA1LjkgNC41IDYuNGwtLjEgLjF6bS05LjktNDEuNmMtMiAwLTQtMS01LTNzLTItMy41LTMtNWMtMi0yLTItNS40IDAtNy40czUuNC0yIDcuNCAwYzIgMi41IDMuNSA1IDUgNy40cy41IDUuOS0yLjUgNy40Yy0uNiAwLTEgLjItMS4zIC4zLS4yIC4xLS40IC4yLS42IC4ybDAgLjF6Il19LF9ndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnZy1jaXJjbGUiLGljb246WzUxMiw1MTIsW10sImYyNjEiLCJNMjU3LjUgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTIwOCAzODIuOGwtMTI1LjctMTI1LjcgMTI1LjctMTI1LjcgMzUuMiAzNS40LTI0LjIgMjQuMi0xMS4xLTExLjEtNzcuMiA3Ny4yIDc3LjIgNzcuMiAyNi42LTI2LjYtNTMuMS01Mi45IDI0LjQtMjQuNCA3Ny4yIDc3LjItNzUgNzUuMnptOTktMi4ybC0zNS4yLTM1LjIgMjQuMS0yNC40IDExLjEgMTEuMSA3Ny4yLTc3LjItNzcuMi03Ny4yLTI2LjUgMjYuNSA1My4xIDUyLjktMjQuNCAyNC40LTc3LjItNzcuMiA3NS03NSAxMjUuNyAxMjUuNy0xMjUuNyAxMjUuNnoiXX0sVGd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNsb3VkZmxhcmUiLGljb246WzY0MCw1MTIsW10sImUwN2QiLCJNNDA3LjkgMzE5LjlMMTc3LjEgMzE3Yy0uNyAwLTEuNC0uMi0yLS41cy0xLjItLjgtMS42LTEuNGMtLjQtLjYtLjctMS4zLS43LTJzMC0xLjQgLjItMi4xYy40LTEuMSAxLjEtMi4xIDIuMS0yLjhzMi4xLTEuMiAzLjMtMS4ybDIzMi45LTIuOWMyNy42LTEuMyA1Ny41LTIzLjYgNjgtNTAuOGwxMy4zLTM0LjVjLjQtLjkgLjUtMS45IC41LTIuOSAwLS41LS4xLTEuMS0uMi0xLjYtNy40LTMyLjItMjUtNjEuMS01MC4zLTgyLjNzLTU2LjctMzMuNy04OS43LTM1LjUtNjUuNiA3LjMtOTMgMjUuNy00OCA0NS4zLTU4LjggNzYuNWMtMTEuMy04LjUtMjQuOS0xMy4zLTM5LTEzLjdzLTI4IDMuNS0zOS44IDExLjQtMjAuOCAxOS4xLTI1LjkgMzIuMy01LjkgMjcuNi0yLjQgNDEuM2MtNTIuMyAxLjUtOTQuMiA0NC4xLTk0LjIgOTYuNSAwIDQuNyAuMyA5LjMgMSAxNCAuMiAxLjEgLjcgMi4xIDEuNSAyLjhzMS45IDEuMSAyLjkgMS4xbDQyNi4xIC4xYzAgMCAuMSAwIC4xIDAgMS4yIDAgMi4zLS40IDMuMy0xLjFzMS42LTEuNyAyLTIuOWwzLjMtMTEuM2MzLjktMTMuNCAyLjQtMjUuOC00LjEtMzQuOS02LTguNC0xNi4xLTEzLjMtMjguMi0xMy45em0xMDUuOS05OC44Yy0yLjEgMC00LjMgLjEtNi40IC4yLS44IC4xLTEuNSAuMy0yLjEgLjhzLTEgMS4xLTEuMyAxLjhsLTkuMSAzMS4yYy0zLjkgMTMuNC0yLjQgMjUuOCA0LjEgMzQuOSA2IDguNCAxNi4xIDEzLjMgMjguMiAxMy45bDQ5LjIgMi45Yy43IDAgMS40IC4yIDIgLjVzMS4xIC44IDEuNSAxLjRjLjQgLjYgLjcgMS4zIC44IDJzMCAxLjUtLjIgMi4xYy0uNCAxLjEtMS4xIDIuMS0yLjEgMi44cy0yLjEgMS4yLTMuMyAxLjJsLTUxLjEgMi45Yy0yNy44IDEuMy01Ny43IDIzLjYtNjguMSA1MC44bC0zLjcgOS42Yy0uMiAuNC0uMiAuOC0uMiAxLjNzLjIgLjggLjQgMS4yIC42IC43IC45IC45IC44IC4zIDEuMiAuM2MwIDAgLjEgMCAuMSAwbDE3NS45IDBjMSAwIDItLjMgMi44LS45czEuNC0xLjUgMS43LTIuNGMzLjEtMTEuMSA0LjctMjIuNSA0LjctMzQgMC02OS4zLTU2LjUtMTI1LjUtMTI2LjEtMTI1LjV6Il19LExndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJoYWNrZXJyYW5rIixpY29uOls1MTIsNTEyLFtdLCJmNWY3IiwiTTQ3Ny45IDEyOEM0NjMuNCAxMDMgMjg1LjUgMCAyNTYuNSAwcy0yMDYuOSAxMDIuOC0yMjEuMyAxMjgtMTQuNSAyMzAuOCAwIDI1NiAxOTIuNCAxMjggMjIxLjMgMTI4IDIwNi44LTEwMi45IDIyMS4zLTEyOCAxNC41LTIzMSAwLTI1NnpNMzE2LjUgNDE0LjJjLTQgMC00MC45LTM1LjgtMzgtMzguNyAuOS0uOSA2LjMtMS41IDE3LjUtMS44IDAtMjYuMiAuNi02OC42IC45LTg2LjMgMC0yLS40LTMuNC0uNC01LjhsLTc5LjkgMGMwIDcuMS0uNSAzNi4yIDEuNCA3Mi45IC4yIDQuNS0xLjYgNi01LjcgNS45LTEwLjEgMC0yMC4zLS4xLTMwLjQtLjEtNC4xIDAtNS45LTEuNS01LjctNi4xIC45LTMzLjQgMy04NC0uMi0yMTIuN2wwLTMuMmMtOS43LS40LTE2LjQtMS0xNy4zLTEuOC0yLjktMi45IDM0LjUtMzguNyAzOC41LTM4LjdzNDEuMiAzNS44IDM4LjMgMzguN2MtLjkgLjktNy45IDEuNS0xNi44IDEuOGwwIDMuMmMtMi40IDI1LjgtMiA3OS42LTIuNiAxMDUuNGw4MC4zIDBjMC00LjYgLjQtMzQuNy0xLjItODMuNi0uMS0zLjQgMS01LjIgNC4yLTUuMiAxMS4xLS4xIDIyLjItLjEgMzMuMi0uMSAzLjUgMCA0LjYgMS43IDQuNSA1LjQtMy43IDE5MS4zLS43IDE3Ny45LS43IDIxMC4zIDguOSAuNCAxNi44IDEgMTcuNyAxLjggMi45IDIuOS0zMy42IDM4LjctMzcuNiAzOC43bDAgMHoiXX0sJGd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNreWF0bGFzIixpY29uOls2NDAsNTEyLFtdLCJmMjE2IiwiTTY0MCAzMjkuM2MwIDY1LjktNTIuNSAxMTQuNC0xMTcuNSAxMTQuNC0xNjUuOSAwLTE5Ni42LTI0OS43LTM1OS43LTI0OS43LTE0Ni45IDAtMTQ3LjEgMjEyLjIgNS42IDIxMi4yIDQyLjUgMCA5MC45LTE3LjggMTI1LjMtNDIuNSA1LjYtNC4xIDE2LjktMTYuMyAyMi44LTE2LjNzMTAuOSA1IDEwLjkgMTAuOWMwIDcuOC0xMy4xIDE5LjEtMTguNyAyNC4xLTQwLjkgMzUuNi0xMDAuMyA2MS4yLTE1NC43IDYxLjItODMuNCAuMS0xNTQtNTktMTU0LTE0NC45UzY3LjUgMTQ5LjYgMTUyLjggMTQ5LjZjMTg1LjMgMCAyMjIuNSAyNDUuOSAzNjEuOSAyNDUuOSA5OS45IDAgOTQuOC0xMzkuNyAzLjQtMTM5LjctMTcuNSAwLTM1IDExLjYtNDYuOSAxMS42LTguNCAwLTE1LjktNy4yLTE1LjktMTUuNiAwLTExLjYgNS4zLTIzLjcgNS4zLTM2LjMgMC02Ni42LTUwLjktMTE0LjctMTE2LjktMTE0LjctNTMuMSAwLTgwIDM2LjktODguOCAzNi45LTYuMiAwLTExLjItNS0xMS4yLTExLjIgMC01LjYgNC4xLTEwLjMgNy44LTE0LjQgMjUuMy0yOC44IDY0LjctNDMuNyAxMDIuOC00My43IDc5LjQgMCAxMzkuMSA1OC40IDEzOS4xIDEzNy44IDAgNi45LS4zIDEzLjctMS4yIDIwLjYgMTEuOS0zLjEgMjQuMS00LjcgMzUuOS00LjcgNjAuNyAwIDExMS45IDQ1LjMgMTExLjkgMTA3LjJ6Il19LERndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkZXNrcHJvIixpY29uOls0NDgsNTEyLFtdLCJmMzhmIiwiTTEyMiA0MDYuMmw4NCAwYzIzLjEgMCA0My45LTMuNSA2Mi42LTEwLjcgMTguNy03LjEgMzQuNy0xNy4xIDQ4LTMwLjEgMTMuMy0xMy40IDIzLjYtMjkuMiAzMC43LTQ3LjUgMy45LTkuNiA2LjgtMTkuOCA4LjYtMzAuNmw3My43IDBjLTIuNSAyMS4zLTcuNyA0MS4zLTE1LjUgNjAtMTEuMSAyNy4yLTI2LjkgNTAuOC00Ny4zIDcwLjktMjAgMTkuNi00NC4yIDM0LjgtNzIuNiA0NS40cy02MCAxNi05NC43IDE2bC0xNDkuOCAuMiAwLTE5Mi40IDcyLjMtLjIgMCAxMTguOHpNMTk5LjQgMzJjMzQuNyAwIDY2LjIgNS40IDk0LjcgMTYgMjguNSAxMC43IDUyLjkgMjYuMSA3My4zIDQ2LjIgMjAuNCAxOS42IDM2LjIgNDMuMiA0Ny4zIDcwLjkgNy41IDE4LjMgMTIuNCAzOC4xIDE0LjkgNTkuM2wtNzMuNy0uMWMtMS45LTEwLjUtNC43LTIwLjUtOC42LTI5LjktNy4xLTE4LjctMTcuMy0zNC41LTMwLjctNDcuNS0xMy4zLTEzLjQtMjkuMy0yMy42LTQ4LTMwLjgtMTguNi03LjEtMzkuNS0xMC43LTYyLjctMTAuN2wtODQgMCAwIDExOC44LTcyLjIgLjIgMC0xOTIuMyAxNDkuNy0uMXoiXX0sQWd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlc29sdmluZyIsaWNvbjpbNTEyLDUxMixbXSwiZjNlNyIsIk0yODkuMiAyNzguMmM0Ni0xMy4zIDQ5LjYtMjMuNSA0NC00My40TDMyMiAxOTUuNWMtNi4xLTIwLjktMTguNC0yOC4xLTcxLjEtMTIuOGwtMTg4LjIgNTQuMSAyOC42IDk4LjYgMTk3LjktNTcuMnpNMjU2LjUgOEMxMzkuNCA4IDQxLjIgODguNyAxNS4yIDE5Ny41bDIyMS45LTYzLjljMzQuOC0xMC4yIDU0LjItMTEuNyA3OS4zLTguMiAzNi4zIDYuMSA1Mi43IDI1IDYxLjQgNTUuMmwxMC43IDM3LjhjOC4yIDI4LjEgMSA1MC42LTIzLjUgNzMuNi0xOS40IDE3LjQtMzEuMiAyNC41LTYxLjQgMzMuMmwtOTIuNiAyNi42IDIyMC40IDI3LjEgOS43IDM0LjItNDguMSAxMy4zLTI4Ni44LTM3LjMgMjMgODAuMkMxNjYgNDkxLjMgMjA5LjUgNTA0IDI1NS41IDUwNCAzOTIuNSA1MDQgNTA0IDM5Mi42IDUwNCAyNTUuNyA1MDUgMTE5LjQgMzkzLjUgOCAyNTYuNSA4ek00Ni4zIDM4OC42TDggMjU2LjhjMCA0OC41IDE0LjMgOTMuNCAzOC4zIDEzMS44eiJdfSxFZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmxhY2tiZXJyeSIsaWNvbjpbNTEyLDUxMixbXSwiZjM3YiIsIk0xNjYgMTE2LjljMCAyMy40LTE2LjQgNDkuMS03Mi41IDQ5LjFsLTcwLjEgMCAyMS04OC44IDY3LjggMGM0Mi4xIDAgNTMuOCAyMy4zIDUzLjggMzkuN3pNMjkyLjIgNzcuMmwtNjcuOCAwLTE4LjcgODguOCA3MC4xIDBjNTMuOCAwIDcwLjEtMjUuNyA3MC4xLTQ5LjEgLjEtMTYuNC0xMS42LTM5LjctNTMuNy0zOS43ek04OC44IDIwOC4xbC02Ny44IDAtMjEgODguOCA3MC4xIDBjNTYuMSAwIDcyLjUtMjMuNCA3Mi41LTQ5LjEgMC0xNi4zLTExLjctMzkuNy01My44LTM5Ljd6bTE4MC4xIDBsLTY3LjggMC0xOC43IDg4LjggNzAuMSAwYzUzLjggMCA3MC4xLTIzLjQgNzAuMS00OS4xIDAtMTYuMy0xMS43LTM5LjctNTMuNy0zOS43em0xODkuMy01My44bC02Ny44IDAtMTguNyA4OC44IDcwLjEgMGM1My44IDAgNzAuMS0yMy40IDcwLjEtNDkuMSAuMS0xNi4zLTExLjYtMzkuNy01My43LTM5Ljd6bS0yOCAxMzcuOWwtNjcuOCAwLTE4LjcgODguOCA3MC4xIDBjNTYuMSAwIDcwLjEtMjMuNCA3MC4xLTQ5LjEgMC0xNi4zLTExLjYtMzkuNy01My43LTM5Ljd6TTI0MC44IDM0NmwtNjcuOCAwLTE4LjcgODguOCA3MC4xIDBjNTYuMSAwIDcwLjEtMjUuNyA3MC4xLTQ5LjEgLjEtMTYuMy0xMS42LTM5LjctNTMuNy0zOS43eiJdfSxQZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3RyaXBlLXMiLGljb246WzM4NCw1MTIsW10sImY0MmEiLCJNMTU1LjYgMTU0LjZjMC0yMi4zIDE4LjYtMzAuOSA0OC40LTMwLjkgNDMuNCAwIDk4LjUgMTMuMyAxNDEuOSAzNi43bDAtMTM0LjNjLTQ3LjMtMTguOS05NC41LTI2LjEtMTQxLjgtMjYuMS0xMTUuNyAwLTE5Mi44IDYwLjQtMTkyLjggMTYxLjQgMCAxNTcuOSAyMTYuOCAxMzIuMyAyMTYuOCAyMDAuNCAwIDI2LjQtMjIuOSAzNC45LTU0LjcgMzQuOS00Ny4yIDAtMTA4LjItMTkuNS0xNTYuMS00NS41bDAgMTI4LjVjNDkuMyAyMS4zIDEwMi4zIDMyLjMgMTU2IDMyLjQgMTE4LjYgMCAyMDAuMy01MSAyMDAuMy0xNTMuNiAwLTE3MC4yLTIxOC0xMzkuNy0yMTgtMjAzLjl6Il19LER1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtYmVoYW5jZSIsaWNvbjpbNDQ4LDUxMixbImJlaGFuY2Utc3F1YXJlIl0sImYxYjUiLCJNMTU1LjMgMzE4LjRjMTcuMiAwIDMxLjItNi4xIDMxLjItMjUuNCAwLTE5LjctMTEuNy0yNy40LTMwLjMtMjcuNWwtNDYgMCAwIDUyLjkgNDUuMSAwem0tNS40LTEyOS42bC0zOS42IDAgMCA0NC44IDQyLjcgMGMxNS4xIDAgMjUuOC02LjYgMjUuOC0yMi45IDAtMTcuNy0xMy43LTIxLjktMjguOS0yMS45em0xMjkuNSA3NC44bDYyLjIgMGMtMS43LTE4LjUtMTEuMy0yOS43LTMwLjUtMjkuNy0xOC4zIDAtMzAuNSAxMS40LTMxLjcgMjkuN3pNMzg0IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjR6TTM0OS41IDE4NWwtNzcuOCAwIDAtMTguOSA3Ny44IDAgMCAxOC45ek0xOTMuNyAyNDMuN2MyMy42IDYuNyAzNSAyNy41IDM1IDUxLjYgMCAzOS0zMi43IDU1LjctNjcuNiA1NS45bC05My4xIDAgMC0xOTIgOTAuNSAwYzMyLjkgMCA2MS40IDkuMyA2MS40IDQ3LjUgMCAxOS4zLTkgMjguOC0yNi4yIDM3em0xMTguNy0zOC42YzQzLjUgMCA2Ny42IDM0LjMgNjcuNiA3NS40IDAgMS42LS4xIDMuMy0uMiA1IDAgLjgtLjEgMS41LS4xIDIuMmwtMTAwLjIgMGMwIDIyLjIgMTEuNyAzNS4zIDM0LjEgMzUuMyAxMS42IDAgMjYuNS02LjIgMzAuMi0xOC4xbDMzLjcgMGMtMTAuNCAzMS45LTMxLjkgNDYuOC02NS4xIDQ2LjgtNDMuOCAwLTcxLjEtMjkuNy03MS4xLTczIDAtNDEuOCAyOC43LTczLjYgNzEuMS03My42eiJdfSxJZ3Q9RHVlLE5ndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzZXJ2aWNlc3RhY2siLGljb246WzUxMiw1MTIsW10sImYzZWMiLCJNOTYgMjE2YzgxLjcgMTAuMiAyNzMuNyAxMDIuMyAzMDQgMjMyTDggNDQ4Yzk5LjUtOC4xIDE4NC41LTEzNyA4OC0yMzJ6TTEyOCA2NGMzMi4zIDM1LjYgNDcuNyA4My45IDQ2LjQgMTMzLjYgODIuOSAzMy43IDIwNy4zIDEyMy43IDIzMy42IDI1MC40bDk2IDBDNDYzLjMgMjMxLjkgMjMwLjggNzkuNSAxMjggNjR6Il19LFJndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyb2NrZXRjaGF0IixpY29uOls1NzYsNTEyLFtdLCJmM2U4IiwiTTI4NC41IDIyNC44Yy02LjcgMC0xMy4zIDIuMS0xOC45IDUuOHMtOS45IDkuMS0xMi41IDE1LjQtMy4yIDEzLjEtMS45IDE5LjcgNC42IDEyLjcgOS40IDE3LjQgMTAuOSA4IDE3LjUgOS4zIDEzLjUgLjYgMTkuNy0yIDExLjUtNyAxNS4zLTEyLjYgNS43LTEyLjIgNS43LTE4LjljMC05LjEtMy43LTE3LjgtMTAuMS0yNC4ycy0xNS4xLTEwLTI0LjItOS45em0tMTEwLjQgMGMtNi43IDAtMTMuMyAyLjEtMTguOSA1LjhzLTkuOSA5LjEtMTIuNSAxNS40LTMuMiAxMy4xLTEuOSAxOS43IDQuNiAxMi43IDkuNCAxNy40IDEwLjkgOCAxNy41IDkuMyAxMy41IC42IDE5LjctMiAxMS41LTcgMTUuMy0xMi42IDUuNy0xMi4yIDUuNy0xOC45YzAtOS4xLTMuNy0xNy44LTEwLjEtMjQuMnMtMTUuMS0xMC0yNC4yLTEwbDAgMHptMjIwLjkgMGEzNC4xIDM0LjEgMCAxIDAgLjQgNjguMiAzNC4xIDM0LjEgMCAxIDAgLS40LTY4LjJ6bTE1My44LTU1LjNjLTE1LjUtMjQuMi0zNy4zLTQ1LjYtNjQuNy02My42LTUyLjktMzQuOC0xMjIuNC01NC0xOTUuNy01NC0yNC4yIDAtNDguMyAyLjEtNzIgNi40LTE0LjktMTQuMy0zMS41LTI2LjYtNDkuNS0zNi42LTY2LjgtMzMuMy0xMjUuNi0yMC45LTE1NS4zLTEwLjItMi4zIC44LTQuMyAyLjEtNS45IDMuOXMtMi43IDMuOS0zLjMgNi4yLS41IDQuNyAuMSA3LjEgMS44IDQuNCAzLjUgNi4xQzI3IDU2LjUgNjEuNiA5OS4zIDUzLjEgMTM4LjMgMjAgMTcyLjIgMiAyMTMgMiAyNTUuNiAyIDI5OSAyMCAzMzkuOCA1My4xIDM3My43IDYxLjYgNDEyLjcgMjcgNDU1LjYgNiA0NzcuMiA0LjMgNDc5IDMuMiA0ODEuMSAyLjUgNDgzLjRzLS43IDQuNy0uMSA3IDEuNyA0LjUgMy4zIDYuMiAzLjYgMy4xIDUuOSAzLjljMjkuNyAxMC43IDg4LjUgMjMuMSAxNTUuMy0xMC4yIDE4LTEwIDM0LjctMjIuMyA0OS41LTM2LjYgMjMuOCA0LjMgNDcuOSA2LjQgNzIgNi40IDczLjMgMCAxNDIuOC0xOS4yIDE5NS43LTU0IDI3LjQtMTggNDkuMS0zOS40IDY0LjctNjMuNiAxNy4zLTI2LjkgMjYuMS01NS45IDI2LjEtODYuMSAwLTMxLTguOC02MC0yNi4xLTg2LjlsMCAwek0yODUuNCA0MDkuOWMtMzAuMiAuMS02MC4zLTMuOC04OS40LTExLjVsLTIwLjEgMTkuNGMtMTEuMiAxMC43LTIzLjYgMjAtMzcuMSAyNy42LTE2LjQgOC4yLTM0LjIgMTMuMy01Mi41IDE0LjkgMS0xLjggMS45LTMuNiAyLjgtNS40IDIwLjItMzcuMSAyNS42LTcwLjUgMTYuMy0xMDAuMS0zMy0yNi01Mi44LTU5LjItNTIuOC05NS40IDAtODMuMSAxMDQuMy0xNTAuNSAyMzIuOC0xNTAuNXMyMzIuOSA2Ny40IDIzMi45IDE1MC41YzAgODMuMS0xMDQuMyAxNTAuNS0yMzIuOSAxNTAuNXoiXX0sT2d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlYmVsIixpY29uOls1MTIsNTEyLFtdLCJmMWQwIiwiTTI1Ni45IDUwNGMtMTM5LjMgMC0yNDcuNS0xMTYuMi0yNDMuMy0yNTQuMSAyLjgtNzkuMiA0My4yLTE1Mi4yIDExNi41LTIwMC40IC4zIDAgMS45LS42IDEuMSAuOC01LjggNS41LTExMS4zIDEyOS44LTE0LjEgMjI2LjQgNDkuOCA0OS41IDkwIDIuNSA5MCAyLjUgMzguNS01MC4xLS42LTEyNS45LS42LTEyNS45LTEwLTI0LjktNDUuNy00MC4xLTQ1LjctNDAuMWwyOC44LTMxLjhjMjQuNCAxMC41IDQzLjIgMzguNyA0My4yIDM4LjcgLjgtMjkuNi0yMS45LTYxLjQtMjEuOS02MS40TDI1NS41IDggMjk5LjggNTguMWMtMjAuNSAyOC44LTIxLjkgNjIuNi0yMS45IDYyLjYgMTMuOC0yMyA0My41LTM5LjMgNDMuNS0zOS4zbDI4LjUgMzEuOGMtMjcuNCA4LjktNDUuNCAzOS45LTQ1LjQgMzkuOS0xNS44IDI4LjUtMjcuMSA4OS40IC42IDEyNy4zIDMyLjQgNDQuNiA4Ny43LTIuOCA4Ny43LTIuOCAxMDIuNy05MS45LTEwLjUtMjI1LTEwLjUtMjI1LTYuMS01LjUgLjgtMi44IC44LTIuOCA1MC4xIDM2LjUgMTE0LjYgODQuNCAxMTYuMiAyMDQuOCAyIDE0NS42LTk5LjkgMjQ5LjQtMjQyLjQgMjQ5LjR6Il19LEZndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtd2ViLWF3ZXNvbWUiLGljb246WzQ0OCw1MTIsW10sImU2ODMiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjM1IDE3Ny42bDUzIDQ2LjQgNTIuMi0xMC40Yy0yLjYtMy45LTQuMi04LjUtNC4yLTEzLjYgMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGMwIDEzLTEwLjMgMjMuNi0yMy4yIDI0TDMwNC41IDM0OS4xYy01LjIgMTEuNS0xNi42IDE4LjktMjkuMiAxOC45bC0xMDIuNiAwYy0xMi42IDAtMjQtNy40LTI5LjItMTguOUw4Ny4yIDIyNGMtMTIuOS0uNC0yMy4yLTExLTIzLjItMjQgMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGMwIDUtMS41IDkuNy00LjIgMTMuNkwxNjAgMjI0IDIxMy4xIDE3Ny42Yy04LjktNC4xLTE1LTEzLjEtMTUtMjMuNiAwLTE0LjQgMTEuNi0yNiAyNi0yNnMyNiAxMS42IDI2IDI2YzAgMTAuNS02LjIgMTkuNS0xNS4xIDIzLjZ6Il19LEJndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsaW5rdHJlZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTdkOCIsIk0xNiAxNzMuNGwxMjUuOCAwLTg5LjQtODUuNCA0OS41LTUxIDg1LjIgODcuOCAwLTEyNC44IDczLjkgMCAwIDEyNC44IDg1LjItODcuNiA0OS40IDUwLjgtODkuNCA4NS4yIDEyNS43IDAgMCA3MC41LTEyNi40IDAgOTAgODcuNi00OS4zIDQ5LjgtMTIyLjItMTIzLTEyMi4yIDEyMy00OS41LTQ5LjYgOTAtODcuNi0xMjYuNCAwIDAtNzAuNXpNMTg2LjkgMzQ0LjhsNzMuOSAwIDAgMTY3LjItNzMuOSAwIDAtMTY3LjJ6Il19LEhndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzaW1wbHlidWlsdCIsaWNvbjpbNTEyLDUxMixbXSwiZjIxNSIsIk00ODEuNiA2NGwtMTA2IDBDMzYxLjEgNjQgMzQ5IDc1LjggMzQ5IDkwLjNsMCAzOS42LTE4NS4zIDAgMC0zOS42YzAtMTQuNS0xMi0yNi4zLTI2LjYtMjYuM2wtMTA2IDBDMTYuNSA2NCA0LjcgNzUuOCA0LjcgOTAuM2wwIDMzMS40YzAgMTQuNSAxMS44IDI2LjMgMjYuNiAyNi4zbDQ1MC40IDBjMTQuOCAwIDI2LjYtMTEuOCAyNi42LTI2LjNsMC0zMzEuNGMtLjItMTQuNS0xMi0yNi4zLTI2LjctMjYuM3pNMTUwLjUgMjIyLjdhNjYuNSA2Ni41IDAgMSAxIC0uMyAxMzMuMSA2Ni41IDY2LjUgMCAxIDEgLjMtMTMzLjF6bTIxMS45IC4xYTY2LjUgNjYuNSAwIDEgMSAuMyAxMzIuOSA2Ni41IDY2LjUgMCAxIDEgLS4zLTEzMi45eiJdfSxxZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3R1YmJlciIsaWNvbjpbNDQ4LDUxMixbXSwiZTVjNyIsIk0xMzYuNSAyOTQuMmw1OC44IDIyLjljOS4xLTM2LjggMjUuNC02MS4xIDU1LTYxLjEgNDkuNCAwIDcxLjQgNjMuNiAxNDIuNCA2My42IDE1LjYgMCAzNS45LTIuOCA1NS4zLTEzLjNsMCA2MS43YzAgNjEuOC01MC40IDExMi0xMTIuMyAxMTJMMCA0ODAgNDEuOCA0MjQgMCAzNjggNDEuNyAzMTIgMCAyNTYuMSA0MS44IDIwMC4xIDAgMTQ0LjEgNDEuOCA4OCAwIDMyIDMzNS43IDMyQzM5Ny42IDMyIDQ0OCA4Mi4zIDQ0OCAxNDQuMWwwIDUxLjNjLTkuMiAzNi4zLTI1LjkgNjAuNi01NSA2MC42LTQ5LjYgMC03MS42LTYzLjUtMTQyLjQtNjMuNS0zNS45IDAtOTUuMiAxNC42LTExNC4xIDEwMS42bDAgLjF6Il19LFZndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhcHBlciIsaWNvbjpbNjQwLDUxMixbXSwiZjM3MSIsIk00Mi4xIDIzOS4xYzIyLjIgMCAyOSAyLjggMzMuNSAxNC42bC44IDAgMC0yMi45YzAtMTEuMy00LjgtMTUuNC0xNy45LTE1LjQtMTEuMyAwLTE0LjQgMi41LTE1LjEgMTIuOGwtMzguNiAwYy4zLTEzLjkgMS41LTE5LjEgNS44LTI0LjQgNy4zLTguOCAxOC45LTExLjggNDYuMS0xMS44IDMzIDAgNDcuMSA1IDUzLjkgMTguOSAyIDQuMyA0IDE1LjYgNCAyMy43bDAgNzYuMy0zOC4zIDAgMS4zLTE5LjEtMSAwYy01LjMgMTUuNi0xMy42IDIwLjQtMzUuNSAyMC40LTMwLjMgMC00MS4xLTEwLjEtNDEuMS0zNy4zIDAtMjUuMiAxMi4zLTM1LjggNDIuMS0zNS44em0xNy4xIDQ4LjFjMTMuMSAwIDE2LjktMyAxNi45LTEzLjQgMC05LjEtNC4zLTExLjYtMTkuNi0xMS42LTEzLjEgMC0xNy45IDMtMTcuOSAxMi4xLS4xIDEwLjQgMy43IDEyLjkgMjAuNiAxMi45ek0xMzcgMTkyLjNsMzguMyAwLTEuNSAyMC42IC44IDBjOS4xLTE3LjEgMTUuOS0yMC45IDM3LjUtMjAuOSAxNC40IDAgMjQuNyAzIDMxLjUgOS4xIDkuOCA4LjYgMTIuOCAyMC40IDEyLjggNDguMSAwIDMwLTMgNDMuMS0xMi4xIDUyLjktNi44IDcuMy0xNi40IDEwLjEtMzMuMiAxMC4xLTIwLjQgMC0yOS4yLTUuNS0zMy44LTIxLjJsLS44IDAgMCA3MC4zLTM5LjUgMCAwLTE2OXpNMjE3LjkgMjUzYzAtMjcuNS0zLjMtMzIuNS0yMC43LTMyLjUtMTYuOSAwLTIwLjcgNS0yMC43IDI4LjcgMCAyOCAzLjUgMzMuNSAyMS4yIDMzLjUgMTYuNCAwIDIwLjItNS42IDIwLjItMjkuN3ptNTcuOS02MC43bDM4LjMgMC0xLjUgMjAuNiAuOCAwYzkuMS0xNy4xIDE1LjktMjAuOSAzNy41LTIwLjkgMTQuNCAwIDI0LjcgMyAzMS41IDkuMSA5LjggOC42IDEyLjggMjAuNCAxMi44IDQ4LjEgMCAzMC0zIDQzLjEtMTIuMSA1Mi45LTYuOCA3LjMtMTYuNCAxMC4xLTMzLjMgMTAuMS0yMC40IDAtMjkuMi01LjUtMzMuOC0yMS4ybC0uOCAwIDAgNzAuMy0zOS41IDAgMC0xNjkgLjEgMHpNMzU2LjcgMjUzYzAtMjcuNS0zLjMtMzIuNS0yMC43LTMyLjUtMTYuOSAwLTIwLjcgNS0yMC43IDI4LjcgMCAyOCAzLjUgMzMuNSAyMS4yIDMzLjUgMTYuNCAwIDIwLjItNS42IDIwLjItMjkuN3ptNTMuOC0zLjhjMC0yNS40IDMuMy0zNy44IDEyLjMtNDUuOCA4LjgtOC4xIDIyLjItMTEuMyA0NS4xLTExLjMgNDIuOCAwIDU1LjcgMTIuOCA1NS43IDU1LjdsMCAxMS4xLTc1LjMgMGMtLjMgMi0uMyA0LS4zIDQuOCAwIDE2LjkgNC41IDIxLjkgMjAuMSAyMS45IDEzLjkgMCAxNy45LTMgMTcuOS0xMy45bDM3LjUgMCAwIDIuM2MwIDkuOC0yLjUgMTguOS02LjggMjQuNy03LjMgOS44LTE5LjYgMTMuNi00NC4zIDEzLjYtMjcuNSAwLTQxLjYtMy4zLTUwLjYtMTIuMy04LjUtOC41LTExLjMtMjEuMy0xMS4zLTUwLjh6bTc2LjQtMTEuNmMtLjMtMS44LS4zLTMuMy0uMy0zLjggMC0xMi4zLTMuMy0xNC42LTE5LjYtMTQuNi0xNC40IDAtMTcuMSAzLTE4LjEgMTUuMWwtLjMgMy4zIDM4LjMgMHptNTUuNi00NS4zbDM4LjMgMC0xLjggMTkuOSAuNyAwYzYuOC0xNC45IDE0LjQtMjAuMiAyOS43LTIwLjIgMTAuOCAwIDE5LjEgMy4zIDIzLjQgOS4zIDUuMyA3LjMgNi44IDE0LjQgNi44IDM0IDAgMS41IDAgNSAuMiA5LjNsLTM1IDBjLjMtMS44IC4zLTMuMyAuMy00IDAtMTUuNC0yLTE5LjQtMTAuMy0xOS40LTYuMyAwLTEwLjggMy4zLTEzLjEgOS4zLTEgMy0xIDQuMy0xIDEyLjNsMCA2OC0zOC4zIDAgMC0xMTguNSAuMSAweiJdfSxqZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ29vZ2xlLXNjaG9sYXIiLGljb246WzUxMiw1MTIsW10sImU2M2IiLCJNMzkwLjkgMjk4LjVzMCAuMSAuMSAuMWM5LjIgMTkuNCAxNC40IDQxLjEgMTQuNCA2NC0uMSA4Mi41LTY2LjkgMTQ5LjQtMTQ5LjQgMTQ5LjRTMTA2LjcgNDQ1LjEgMTA2LjcgMzYyLjdjMC0yMi45IDUuMi00NC42IDE0LjQtNjQgMS43LTMuNiAzLjYtNy4yIDUuNi0xMC43IDQuNC03LjYgOS40LTE0LjcgMTUtMjEuMyAyNy40LTMyLjYgNjguNS01My4zIDExNC40LTUzLjMgMzMuNiAwIDY0LjYgMTEuMSA4OS42IDI5LjkgOS4xIDYuOSAxNy40IDE0LjcgMjQuOCAyMy41IDUuNiA2LjYgMTAuNiAxMy44IDE1IDIxLjMgMiAzLjQgMy44IDcgNS41IDEwLjVsLS4xLS4xem0yNi40LTE4LjhjLTMwLjEtNTguNC05MS05OC40LTE2MS4zLTk4LjRzLTEzMS4yIDQwLTE2MS4zIDk4LjRsLTk0LjctNzcgMjU2LTIwMi43IDI1NiAyMDIuNy05NC43IDc3LjEgMC0uMXoiXX0sVWd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Inlhcm4iLGljb246WzUxMiw1MTIsW10sImY3ZTMiLCJNNDAxLjkgMzQ1LjJjLTM5IDkuMy00OC40IDMyLjEtMTA0IDQ3LjQgMCAwLTIuNyA0LTEwLjQgNS44LTEzLjQgMy4zLTYzLjkgNi02OC41IDYuMS0xMi40IC4xLTE5LjktMy4yLTIyLTguMi02LjQtMTUuMyA5LjItMjIgOS4yLTIyLTguMS01LTktOS45LTkuOC04LjEtMi40IDUuOC0zLjYgMjAuMS0xMC4xIDI2LjUtOC44IDguOS0yNS41IDUuOS0zNS4zIC44LTEwLjgtNS43IC44LTE5LjIgLjgtMTkuMnMtNS44IDMuNC0xMC41LTMuNmMtNi05LjMtMTcuMS0zNy4zIDExLjUtNjItMS4zLTEwLjEtNC42LTUzLjcgNDAuNi04NS42IDAgMC0yMC42LTIyLjgtMTIuOS00My4zIDUtMTMuNCA3LTEzLjMgOC42LTEzLjkgNS43LTIuMiAxMS4zLTQuNiAxNS40LTkuMSAyMC42LTIyLjIgNDYuOC0xOCA0Ni44LTE4czEyLjQtMzcuOCAyMy45LTMwLjRjMy41IDIuMyAxNi4zIDMwLjYgMTYuMyAzMC42czEzLjYtNy45IDE1LjEtNWM4LjIgMTYgOS4yIDQ2LjUgNS42IDY1LjEtNi4xIDMwLjYtMjEuNCA0Ny4xLTI3LjYgNTcuNS0xLjQgMi40IDE2LjUgMTAgMjcuOCA0MS4zIDEwLjQgMjguNiAxLjEgNTIuNyAyLjggNTUuMyAuOCAxLjQgMTMuNyAuOCAzNi40LTEzLjIgMTIuOC03LjkgMjguMS0xNi45IDQ1LjQtMTcgMTYuNy0uNSAxNy42IDE5LjIgNC45IDIyLjJ6TTggMjU2YTI0OCAyNDggMCAxIDEgNDk2IDAgMjQ4IDI0OCAwIDEgMSAtNDk2IDB6bTQxNi43IDc1LjJjLTEuNy0xMy42LTEzLjItMjMtMjgtMjIuOC0yMiAuMy00MC41IDExLjctNTIuOCAxOS4yLTQuOCAzLTguOSA1LjItMTIuNCA2LjggMy4xLTQ0LjUtMjIuNS03My4xLTI4LjctNzkuNCA3LjgtMTEuMyAxOC40LTI3LjggMjMuNC01My4yIDQuMy0yMS43IDMtNTUuNS02LjktNzQuNS0xLjYtMy4xLTcuNC0xMS4yLTIxLTcuNC05LjctMjAtMTMtMjIuMS0xNS42LTIzLjgtMS4xLS43LTIzLjYtMTYuNC00MS40IDI4LTEyLjIgLjktMzEuMyA1LjMtNDcuNSAyMi44LTIgMi4yLTUuOSAzLjgtMTAuMSA1LjRsLjEgMGMtOC40IDMtMTIuMyA5LjktMTYuOSAyMi4zLTYuNSAxNy40IC4yIDM0LjYgNi44IDQ1LjctMTcuOCAxNS45LTM3IDM5LjgtMzUuNyA4Mi41LTM0IDM2LTExLjggNzMtNS42IDc5LjYtMS42IDExLjEgMy43IDE5LjQgMTIgMjMuOCAxMi42IDYuNyAzMC4zIDkuNiA0My45IDIuOCA0LjkgNS4yIDEzLjggMTAuMSAzMCAxMC4xIDYuOCAwIDU4LTIuOSA3Mi42LTYuNSA2LjgtMS42IDExLjUtNC41IDE0LjYtNy4xIDkuOC0zLjEgMzYuOC0xMi4zIDYyLjItMjguNyAxOC0xMS43IDI0LjItMTQuMiAzNy42LTE3LjQgMTIuOS0zLjIgMjEtMTUuMSAxOS40LTI4LjJ6Il19LFdndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdGFjay1vdmVyZmxvdyIsaWNvbjpbMzg0LDUxMixbXSwiZjE2YyIsIk0yOTEgMzExbC0xOTUuNy00MS4zLTguMiAzOS4zIDE5NS43IDQxIDguMi0zOXptNTEtODdMMTg4LjUgOTUuNyAxNjMgMTI2LjUgMzE2LjUgMjU0LjggMzQyIDIyNHptLTMxLjIgMzkuN0wxMjkuNSAxNzkgMTEyLjggMjE1LjUgMjk0IDMwMCAzMTAuOCAyNjMuN3pNMjYyLjMgMzJsLTMyIDI0IDExOS4zIDE2MC4zIDMyLTI0LTExOS4zLTE2MC4zem0yMC41IDMyOGwtMjAwIDAgMCAzOS43IDIwMCAwIDAtMzkuN3ptMzkuNyA4MGwtMjc5LjUgMCAwLTEyMC00MCAwIDAgMTYwIDM1OS41IDAgMC0xNjAtNDAgMCAwIDEyMHoiXX0sR2d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJsdWV0b290aCIsaWNvbjpbMzg0LDUxMixbXSwiZjI5MyIsIk0yNjAuNiAxNzEuMWwtNDIuOSA0Mi45LS4zLTg2IDQzLjIgNDMuMXpNMjE3LjQgMzkwLjlsNDMuMS00My4xLTQyLjktNDIuOS0uMiA4NnpNMzg0IDI1OS40QzM4NCA0NjUgMzEyLjEgNTEyIDE5OC45IDUxMlMwIDQ2NSAwIDI1OS40IDgzLjQgMCAxOTYuNiAwIDM4NCA1My45IDM4NCAyNTkuNHptLTE1OC41IDBsNzkuNC04OC42LTEyNS4xLTEzNC4zIDAgMTc2LjktNzMuOC03My44LTI3IDI2LjkgOTIuNyA5My05Mi43IDkzIDI2LjkgMjYuOSA3My44LTczLjggMi4zIDE3MCAxMjcuNC0xMjcuNS04My45LTg4Ljd6Il19LFlndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLW5jLWpwIixpY29uOls1MTIsNTEyLFtdLCJmNGVhIiwiTTI1NS43IDhDMTExLjYgOCA4IDEyNC44IDggMjU2IDggMzkyLjQgMTE5LjggNTA0IDI1NS43IDUwNCAzODUuOSA1MDQgNTA0IDQwMy4yIDUwNCAyNTYgNTA0IDExNy4yIDM5Ni41IDggMjU1LjcgOHptLjYgNDUwLjdjLTExMiAwLTIwMy42LTkyLjUtMjAzLjYtMjAyLjcgMC0yMS4xIDMtNDEuMiA5LTYwLjNsMTI3IDU2LjUtMjcuOSAwIDAgMzguNiA1OC4xIDAgNS43IDExLjggMCAxOC43LTYzLjggMCAwIDM4LjcgNjMuOCAwIDAgNTYgNjEuNyAwIDAtNTYgNjQuMiAwIDAtMzUuNyA4MSAzNi4xYy0xLjUgMi4yLTU3LjEgOTguMy0xNzUuMiA5OC4zem04Ny42LTEzNy4zbC01Ny42IDAgMC0xOC43IDIuOS01LjYgNTQuNyAyNC4zem02LjUtNTEuNGwwLTE3LjgtMzguNiAwIDYzLTExNi02NS44IDAtNDMuNCA5Ni0yMy0xMC4yLTM5LjYtODUuNy02NS44IDAgMjcuMyA1MS04MS45LTM2LjVjMjcuOC00NC4xIDgyLjYtOTguMSAxNzMuNy05OC4xIDExMi44IDAgMjAzIDkwIDIwMyAyMDMuNCAwIDIxLTIuNyA0MC42LTcuOSA1OUwzNTAuNCAyNzB6Il19LEtndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZWRkaXQiLGljb246WzUxMiw1MTIsW10sImYxYTEiLCJNMCAyNTZDMCAxMTQuNiAxMTQuNiAwIDI1NiAwUzUxMiAxMTQuNiA1MTIgMjU2IDM5Ny40IDUxMiAyNTYgNTEyTDM3LjEgNTEyYy0xMy43IDAtMjAuNS0xNi41LTEwLjktMjYuMkw3NSA0MzdDMjguNyAzOTAuNyAwIDMyNi43IDAgMjU2ek0zNDkuNiAxNTMuNmMyMy42IDAgNDIuNy0xOS4xIDQyLjctNDIuN3MtMTkuMS00Mi43LTQyLjctNDIuN2MtMjAuNiAwLTM3LjggMTQuNi00MS44IDM0LTM0LjUgMy43LTYxLjQgMzMtNjEuNCA2OC40bDAgLjJjLTM3LjUgMS42LTcxLjggMTIuMy05OSAyOS4xLTEwLjEtNy44LTIyLjgtMTIuNS0zNi41LTEyLjUtMzMgMC01OS44IDI2LjgtNTkuOCA1OS44IDAgMjQgMTQuMSA0NC42IDM0LjQgNTQuMSAyIDY5LjQgNzcuNiAxMjUuMiAxNzAuNiAxMjUuMnMxNjguNy01NS45IDE3MC42LTEyNS4zYzIwLjItOS42IDM0LjEtMzAuMiAzNC4xLTU0IDAtMzMtMjYuOC01OS44LTU5LjgtNTkuOC0xMy43IDAtMjYuMyA0LjYtMzYuNCAxMi40LTI3LjQtMTctNjIuMS0yNy43LTEwMC0yOS4xbDAtLjJjMC0yNS40IDE4LjktNDYuNSA0My40LTQ5LjkgNC40IDE4LjggMjEuMyAzMi44IDQxLjUgMzIuOGwuMSAuMnpNMTc3LjEgMjQ2LjljMTYuNyAwIDI5LjUgMTcuNiAyOC41IDM5LjNzLTEzLjUgMjkuNi0zMC4zIDI5LjYtMzEuNC04LjgtMzAuNC0zMC41IDE1LjQtMzguMyAzMi4xLTM4LjNsLjEtLjF6bTE5MC4xIDM4LjNjMSAyMS43LTEzLjcgMzAuNS0zMC40IDMwLjVzLTI5LjMtNy45LTMwLjMtMjkuNiAxMS44LTM5LjMgMjguNS0zOS4zIDMxLjIgMTYuNiAzMi4xIDM4LjNsLjEgLjF6bS00OC4xIDU2LjdjLTEwLjMgMjQuNi0zNC42IDQxLjktNjMgNDEuOXMtNTIuNy0xNy4zLTYzLTQxLjljLTEuMi0yLjkgLjgtNi4yIDMuOS02LjUgMTguNC0xLjkgMzguMy0yLjkgNTkuMS0yLjlzNDAuNyAxIDU5LjEgMi45YzMuMSAuMyA1LjEgMy42IDMuOSA2LjV6Il19LFpndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjb25uZWN0ZGV2ZWxvcCIsaWNvbjpbNTc2LDUxMixbXSwiZjIwZSIsIk01NTAuOCAyNDFsLTUwLjEtODYuOGMxLjEtMi4xIDEuOS00LjYgMS45LTcuMiAwLTgtNi43LTE0LjctMTQuNy0xNUw0MzIuNCAzNi4xYy41LTEuNiAxLjEtMy4yIDEuMS00LjggMC04LjYtNy0xNS4zLTE1LjMtMTUuMy00LjggMC04LjggMi4xLTExLjggNS42bC0xMDYuNiAwYy0yLjctMy41LTYuNy01LjYtMTEuNS01LjZzLTguOCAyLjEtMTEuNSA1LjZsLTEwNi4xIDBjLTIuOS0zLjUtNy01LjYtMTEuOC01LjYtOC4zIDAtMTUuMyA2LjctMTUuMyAxNS4zIDAgMS42IC41IDMuNSAxLjEgNC44bC01NiA5Ny4yYy01LjQgMi40LTkuMSA3LjUtOS4xIDEzLjcgMCAuNSAuMyAxLjEgLjMgMS42TDI2LjYgMjQwLjdjLTcuMiAxLjMtMTIuNiA3LjUtMTIuNiAxNSAwIDcuMiA1LjEgMTMuNCAxMi4xIDE1bDU1LjIgOTUuNGMtLjUgMS42LS44IDIuOS0uOCA0LjggMCA3LjIgNS4xIDEzLjQgMTIuMSAxNC43bDUxLjcgODkuN2MtLjUgMS42LTEuMSAzLjUtMS4xIDUuNCAwIDguNiA3IDE1LjMgMTUuMyAxNS4zIDQuOCAwIDguOC0yLjEgMTEuNS01LjRsMTA2LjkgMGMyLjcgMy4yIDcgNS40IDExLjUgNS40czguOC0yLjEgMTEuNS01LjRsMTA3LjEgMGMyLjcgMi45IDYuNyA0LjggMTEgNC44IDguNiAwIDE1LjMtNyAxNS4zLTE1LjMgMC0xLjYtLjMtMi45LS44LTQuM2w1MS43LTkwLjNjNy0xLjMgMTIuMS03LjUgMTIuMS0xNC43IDAtMS42LS4zLTMuMi0uOC00LjhsNTQuOS05NS40YzctMS4zIDEyLjMtNy41IDEyLjMtMTUgMC03LjItNS4xLTEzLjQtMTEuOC0xNC43em0tMzk3IDIwOS43bC00My43LTc1LjggNDMuNyAwIDAgNzUuOHptMC04My44bC00My43IDBjLS4zLTEuMS0uOC0yLjEtMS4zLTMuMmw0NS00Ny40IDAgNTAuNnptMC02Mi40bC01MC40IDUzLjNjLTEuMy0uNS0yLjctMS4zLTQtMS42TDQzLjcgMjU5LjhjLjUtMS4zIC41LTIuNyAuNS00czAtMi40LS4zLTMuNWw1Mi05MGMyLjctLjMgNS40LTEuMSA3LjgtMi43bDUwLjEgNTIgMCA5Mi45em0wLTEwMi4zTDEwOCAxNTQuOGMxLjMtMi4xIDIuMS00LjggMi4xLTcuOCAwLS4zLS4zLS44LS4zLTEuMWw0My45LTE1LjggMCA3Mi4xem0wLTgwLjZsLTQzLjcgMTUuOCA0My43LTc1LjUgMCA1OS43em0zMjYuNSAzOS4xbC44IDEuMy0zNS40IDE2Ny4xLTYzLjgtNjcuMiA5OC0xMDEuNSAuMyAuM3pNMjkyLjEgMzU1LjFsMTEuNSAxMS44LTIyLjggMCAxMS4zLTExLjh6bS0uMy0xMS4zbC04My4zLTg1LjQgNzkuNi04NC40IDgzIDg3LjYtNzkuMyA4Mi4yem01LjQgNS45bDc5LjMtODIuMiA2Ny41IDcxLjMtNS45IDI4LjEtMTI0IDAtMTYuOS0xNy4xek00MTAuNyA0NC40YzEuMSAuNSAyLjEgMS4xIDMuNSAxLjNsNTcuOSAxMDAuNyAwIC41YzAgMi45IC44IDUuNiAyLjEgNy44bC05Ny41IDEwMS4yLTgzLTg3LjYgMTE3LjEtMTI0em0tOS4xLTIuMWwtMTEzLjYgMTIwLjMtNTcuMS02MC4zIDE2Ni4zLTYwIDQuMyAwem0tMTIzLjUgMGMyLjcgMi43IDYuMiA0LjMgMTAuMiA0LjNzNy41LTEuNiAxMC4yLTQuM2w3NSAwLTE0OC40IDUzLjYtNTAuOS01My42IDEwMy45IDB6TTE2MS45IDQ3LjlsMS4xLTIuMWMuOS0uMiAxLjgtLjUgMi43LS44bDUxLjIgNTMuOC01NC45IDE5LjggMC03MC43em0wIDc5LjNsNjAuOC0yMiA1OS43IDYzLjItNzkuNiA4NC4xLTQxLTQyLjEgMC04My4zem0wIDkyLjdsMzYuNCAzNy44LTM2LjQgMzguMyAwLTc2LjF6bTAgODcuOWw0Mi4xLTQ0LjUgODIuOCA4Ni0xNy4xIDE3LjctMTA3LjcgMCAwLTU5LjJ6bTcgMTYyLjFjLTEuNi0xLjYtMy41LTIuNy01LjktMy41bC0xLjEtMS42IDAtODkuNyA5OS45IDAtOTEuNiA5NC44LTEuMyAwem0xMjkuOSAwYy0yLjctMi40LTYuNC00LjMtMTAuNC00LjNzLTcuOCAxLjktMTAuNCA0LjNsLTk2LjQgMCA5MS42LTk0LjggMzguMyAwIDkxLjYgOTQuOC0xMDQuMiAwem0xMjAtMTEuOGwtNC4zIDcuNWMtMS4zIC4zLTIuNCAuOC0zLjUgMS4zbC04OS4yLTkxLjkgMTE0LjQgMC0xNy40IDgzem0xMi45LTIyLjJsMTIuOS02MC44IDIyIDAtMzQuOCA2MC44em0zNC44LTY4LjhsLTIwLjQgMCA0LjYtMjEuMiAxNy4xIDE4LjJjLS41IC44LTEuMSAxLjktMS4zIDIuOXptNjYuMi0xMDcuNGwtNTUuNCA5Ni43Yy0xLjMgLjUtMi43IDEuMS00IDEuOWwtMjAuNi0yMiAzNC42LTE2My45IDQ1LjggNzkuM2MtLjMgMS4zLS44IDIuNy0uOCA0LjMgMCAxLjMgLjMgMi40IC41IDMuN3oiXX0sWGd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlc2VhcmNoZ2F0ZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjRmOCIsIk0wIDMybDAgNDQ4IDQ0OCAwIDAtNDQ4LTQ0OCAwek0yNjIuMiAzNjYuNGMtNi42IDMtMzMuMiA2LTUwLTE0LjItOS4yLTEwLjYtMjUuMy0zMy4zLTQyLjItNjMuNi04LjkgMC0xNC43IDAtMjEuNC0uNmwwIDQ2LjRjMCAyMy41IDYgMjEuMiAyNS44IDIzLjlsMCA4LjFjLTYuOS0uMy0yMy4xLS44LTM1LjYtLjgtMTMuMSAwLTI2LjEgLjYtMzMuNiAuOGwwLTguMWMxNS41LTIuOSAyMi0xLjMgMjItMjMuOWwwLTEwOS40YzAtMjIuNi02LjQtMjEtMjItMjMuOWwwLTguMWMyNS44IDEgNTMuMS0uNiA3MC45LS42IDMxLjcgMCA1NS45IDE0LjQgNTUuOSA0NS42IDAgMjEuMS0xNi43IDQyLjItMzkuMiA0Ny41IDEzLjYgMjQuMiAzMCA0NS42IDQyLjIgNTguOSA3LjIgNy44IDE3LjIgMTQuNyAyNy4yIDE0LjdsMCA3LjN6bTIyLjktMTM1Yy0yMy4zIDAtMzIuMi0xNS43LTMyLjItMzIuMmwwLTMyLjJjMC0xMi4yIDguOC0zMC40IDM0LTMwLjRzMzAuNCAxNy45IDMwLjQgMTcuOWwtMTAuNyA3LjJzLTUuNS0xMi41LTE5LjctMTIuNWMtNy45IDAtMTkuNyA3LjMtMTkuNyAxOS43bDAgMjYuOGMwIDEzLjQgNi42IDIzLjMgMTcuOSAyMy4zIDE0LjEgMCAyMS41LTEwLjkgMjEuNS0yNi44bC0xNy45IDAgMC0xMC43IDMwLjQgMGMwIDIwLjUgNC43IDQ5LjktMzQgNDkuOXpNMTY4LjYgMjc2LjFjLTkuNCAwLTEzLjYtLjMtMjAtLjhsMC02OS43YzYuNC0uNiAxNS0uNiAyMi41LS42IDIzLjMgMCAzNy4yIDEyLjIgMzcuMiAzNC41IDAgMjEuOS0xNSAzNi42LTM5LjcgMzYuNnoiXX0sUWd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNpZ25hbC1tZXNzZW5nZXIiLGljb246WzUxMiw1MTIsW10sImU2NjMiLCJNMjU2IDBjLTEzLjMgMC0yNi4zIDEtMzkuMSAzbDMuNyAyMy43QzIzMi4xIDI0LjkgMjQ0IDI0IDI1NiAyNHMyMy45IC45IDM1LjQgMi43TDI5NS4xIDNDMjgyLjMgMSAyNjkuMyAwIDI1NiAwem02MC44IDcuM2wtNS43IDIzLjNjMjMuNCA1LjcgNDUuNCAxNC45IDY1LjQgMjcuMWwxMi41LTIwLjVjLTIyLjEtMTMuNC00Ni40LTIzLjYtNzIuMi0yOS45em03Ni40IDYxLjZjMTkuMSAxNCAzNiAzMC45IDUwLjEgNTAuMWwxOS40LTE0LjJDNDQ3IDgzLjYgNDI4LjQgNjUgNDA3LjMgNDkuNUwzOTMuMSA2OC44em04MS43IDU0LjJsLTIwLjUgMTIuNWMxMi4yIDIwIDIxLjQgNDIgMjcuMSA2NS40bDIzLjMtNS43Yy02LjMtMjUuOC0xNi41LTUwLjEtMjkuOS03Mi4yem0xMC41IDk3LjVjMS44IDExLjUgMi43IDIzLjQgMi43IDM1LjRzLS45IDIzLjktMi43IDM1LjRsMjMuNyAzLjdjMS45LTEyLjcgMy0yNS44IDMtMzkuMXMtMS0yNi4zLTMtMzkuMWwtMjMuNyAzLjd6bS0zMSAxNTUuOWwyMC41IDEyLjVjMTMuNC0yMi4xIDIzLjYtNDYuNCAyOS45LTcyLjJsLTIzLjMtNS43Yy01LjcgMjMuNC0xNC45IDQ1LjQtMjcuMSA2NS40em04LjIgMzAuOGwtMTkuNC0xNC4yYy0xNCAxOS4xLTMwLjkgMzYtNTAuMSA1MC4xbDE0LjIgMTkuNGMyMS4xLTE1LjUgMzkuOC0zNC4xIDU1LjItNTUuMnptLTg2LjEgNDdjLTIwIDEyLjItNDIgMjEuNC02NS40IDI3LjFsNS43IDIzLjNjMjUuOC02LjMgNTAuMS0xNi41IDcyLjItMjkuOWwtMTIuNS0yMC41ek0yOTUuMSA1MDlsLTMuNy0yMy43QzI3OS45IDQ4Ny4xIDI2OCA0ODggMjU2IDQ4OHMtMjMuOS0uOS0zNS40LTIuN0wyMTYuOSA1MDljMTIuNyAxLjkgMjUuOCAzIDM5LjEgM3MyNi4zLTEgMzkuMS0zem0tOTQuMS0yNy42Yy0xNy42LTQuMy0zNC40LTEwLjYtNTAuMS0xOC42bC03LjgtNC0zMi44IDcuNyA1LjUgMjMuNCAyNC4zLTUuN2MxNy40IDguOSAzNS45IDE1LjggNTUuMyAyMC41bDUuNy0yMy4zek05NS40IDQ5NC42TDkwIDQ3MS4zIDQ4LjMgNDgxYy0xMC40IDIuNC0xOS43LTYuOS0xNy4zLTE3LjNsOS43LTQxLjYtMjMuNC01LjUtOS43IDQxLjZDMS4yIDQ4NiAyNiA1MTAuOCA1My44IDUwNC40bDQxLjYtOS43em0tNTAtOTIuOWw3LjctMzIuOC00LTcuOGMtOC0xNS43LTE0LjMtMzIuNS0xOC42LTUwLjFMNy4zIDMxNi43QzEyIDMzNi4xIDE4LjkgMzU0LjcgMjcuNyAzNzJsLTUuNyAyNC4zIDIzLjQgNS41ek0zIDI5NS4xbDIzLjctMy43QzI0LjkgMjc5LjkgMjQgMjY4IDI0IDI1NnMuOS0yMy45IDIuNy0zNS40TDMgMjE2LjlDMSAyMjkuNyAwIDI0Mi43IDAgMjU2czEgMjYuMyAzIDM5LjF6bTI3LjYtOTQuMWM1LjctMjMuNCAxNC45LTQ1LjQgMjcuMS02NS40TDM3LjIgMTIzLjFjLTEzLjQgMjIuMS0yMy42IDQ2LjQtMjkuOSA3Mi4ybDIzLjMgNS43em0xOC45LTk2LjJsMTkuNCAxNC4yYzE0LTE5LjEgMzAuOS0zNiA1MC4xLTUwLjFMMTA0LjcgNDkuNUM4My42IDY1IDY1IDgzLjYgNDkuNSAxMDQuN3ptODYuMS00N2MyMC0xMi4yIDQyLTIxLjQgNjUuNC0yNy4xTDE5NS4yIDcuM2MtMjUuOCA2LjMtNTAuMSAxNi41LTcyLjIgMjkuOWwxMi41IDIwLjV6TTI1NiA0NjRjMTE0LjkgMCAyMDgtOTMuMSAyMDgtMjA4UzM3MC45IDQ4IDI1NiA0OCA0OCAxNDEuMSA0OCAyNTZjMCAzNi40IDkuNCA3MC43IDI1LjggMTAwLjUgMS42IDIuOSAyLjEgNi4yIDEuNCA5LjRsLTIxLjYgOTIuNSA5Mi41LTIxLjZjMy4yLS43IDYuNS0uMiA5LjQgMS40IDI5LjggMTYuNSA2NCAyNS44IDEwMC41IDI1Ljh6Il19LEpndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ4aW5nIixpY29uOlszODQsNTEyLFtdLCJmMTY4IiwiTTE2Mi43IDIxMGMtMS44IDMuMy0yNS4yIDQ0LjQtNzAuMSAxMjMuNS00LjkgOC4zLTEwLjggMTIuNS0xNy43IDEyLjVMOS44IDM0NmMtNy43IDAtMTIuMS03LjUtOC41LTE0LjRsNjktMTIxLjNjLjIgMCAuMi0uMSAwLS4zTDI2LjQgMTM0LjRjLTQuMy03LjggLjMtMTQuMSA4LjUtMTQuMWw2NS4xIDBjNy4zIDAgMTMuMyA0LjEgMTggMTIuMkwxNjIuNyAyMTB6TTM4Mi42IDQ2LjFsLTE0NCAyNTMgMCAuMyA5MS42IDE2Ni42YzMuOSA3LjEgLjIgMTQuMS04LjUgMTQuMWwtNjUuMiAwYy03LjYgMC0xMy42LTQtMTgtMTIuMkwxNDYuMSAyOTkuNGMzLjMtNS44IDUxLjUtOTAuOCAxNDQuOC0yNTUuMiA0LjYtOC4xIDEwLjQtMTIuMiAxNy41LTEyLjJsNjUuNyAwYzggMCAxMi4zIDYuNyA4LjUgMTQuMXoiXX0sQXVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1qcyIsaWNvbjpbNDQ4LDUxMixbImpzLXNxdWFyZSJdLCJmM2I5IiwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek0xODAuOSA0NDQuOWMtMzMuNyAwLTUzLjItMTcuNC02My4yLTM4LjVMMTUyIDM4NS43YzYuNiAxMS43IDEyLjYgMjEuNiAyNy4xIDIxLjYgMTMuOCAwIDIyLjYtNS40IDIyLjYtMjYuNWwwLTE0My4xIDQyLjEgMCAwIDE0My43YzAgNDMuNi0yNS42IDYzLjUtNjIuOSA2My41em04NS44LTQzTDMwMSAzODIuMWM5IDE0LjcgMjAuOCAyNS42IDQxLjUgMjUuNiAxNy40IDAgMjguNi04LjcgMjguNi0yMC44IDAtMTQuNC0xMS40LTE5LjUtMzAuNy0yOGwtMTAuNS00LjVjLTMwLjQtMTIuOS01MC41LTI5LjItNTAuNS02My41IDAtMzEuNiAyNC4xLTU1LjYgNjEuNi01NS42IDI2LjggMCA0NiA5LjMgNTkuOCAzMy43TDM2OCAyOTBjLTcuMi0xMi45LTE1LTE4LTI3LjEtMTgtMTIuMyAwLTIwLjEgNy44LTIwLjEgMTggMCAxMi42IDcuOCAxNy43IDI1LjkgMjUuNmwxMC41IDQuNWMzNS44IDE1LjMgNTUuOSAzMSA1NS45IDY2LjIgMCAzNy44LTI5LjggNTguNi02OS43IDU4LjYtMzkuMSAwLTY0LjQtMTguNi03Ni43LTQzeiJdfSxlYnQ9QXVlLHRidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmb250aWNvbnMiLGljb246WzQ0OCw1MTIsW10sImYyODAiLCJNMCAzMmwwIDQ0OCA0NDggMCAwLTQ0OC00NDggMHpNMTg3IDE3Mi45Yy0xOC40IDAtMTkgOS45LTE5IDI3LjRsMCAyMy4zYzAgMi40LTMuNSA0LjQtLjYgNC40bDY3LjQgMC0xMS4xIDM3LjMtNTUuNyAwIDAgMTEyLjljMCA1LjgtMiA2LjcgMy4yIDcuM2w0My41IDQuMSAwIDI1LjEtMTMwLjcgMCAwLTI1LjcgMjEuMy0yYzUuMi0uNiA2LjctMi4zIDYuNy03LjlsMC0xMTEuNGMwLTIuMy0yLjktMi4zLTUuOC0yLjNsLTIyLjIgMCAwLTM3LjQgMjggMCAwLTIxYzAtNDkuNiAyNi41LTcwIDc3LjMtNzAgMzQuMSAwIDY0LjcgOC4yIDY0LjcgNTIuOGwtNTAuNyA2LjFjLjMtMTguNy00LjQtMjMtMTYuMy0yM3ptNzQuMyAyNDEuOGwwLTI1LjEgMjAuNC0yLjZjNS4yLS42IDcuNi0xLjcgNy42LTcuM2wwLTEwNy45YzAtNC4xLTIuOS02LjctNi43LTcuOWwtMjQuMi02LjQgNi43LTI5LjUgODAuMiAwIDAgMTUxLjdjMCA1LjgtMi42IDYuNCAyLjkgNy4zbDE1LjcgMi42IDAgMjUuMS0xMDIuNiAwem04MC44LTI1NS41bDkgMzMuMi03LjMgNy4zLTMxLjItMTYuNi0zMS4yIDE2LjYtNy4zLTcuMyA5LTMzLjItMjEuOC0yNC4yIDMuNS05LjYgMjcuNyAwIDE1LjUtMjggOS4zIDAgMTUuNSAyOCAyNy43IDAgMy41IDkuNi0yMS45IDI0LjJ6Il19LGFidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1cHMiLGljb246WzM4NCw1MTIsW10sImY3ZTAiLCJNMTAzLjIgMzAzYy01LjIgMy42LTMyLjYgMTMuMS0zMi42LTE5bDAtMTA0LTMyLjcgMCAwIDEwMi42YzAgNzQuOSA4MC4yIDUxLjEgOTcuOSAzOWwwLTE0MS42LTMyLjYgMCAwIDEyM3pNNCA3NC44TDQgMjk1LjdjMCAxMDMuNyA3NC45IDEzNS4yIDE4Ny43IDE4NC4xIDExMi40LTQ4LjkgMTg3LjctODAuMiAxODcuNy0xODQuMWwwLTIyMC45QzI2My4xIDEzLjIgOTcuNiAyNS4yIDQgNzQuOHpNMzYyLjEgMjk1LjdjMCA4Ni42LTUzLjIgMTEzLjYtMTcwLjQgMTY1LjMtMTE3LjUtNTEuOC0xNzAuNS03OC43LTE3MC41LTE2NS4zbDAtMTI2LjRjMTAyLjMtOTMuOCAyMzEuNi0xMDAgMzQwLjktODkuOGwwIDIxNi4yek0xNTIuNSAxODguM2wwIDIxMi44IDMyLjcgMCAwLTY4LjdjMjQuNCA3LjMgNzEuNy0yLjYgNzEuNy03OC41IDAtOTcuNC04MC43LTgwLjktMTA0LjQtNjUuNnptMzIuNyAxMTcuM2wwLTEwMC4zYzguNC00LjIgMzguNC0xMi43IDM4LjQgNDkuMyAwIDY3LjktMzYuNCA1MS44LTM4LjQgNTF6bTc5LjEtODYuNGMuMSA0Ny4zIDUxLjYgNDIuNSA1Mi4yIDcwLjQgLjYgMjMuNS0zMC40IDIzLTUwLjggNC45bDAgMzAuMWMzNi4yIDIxLjUgODEuOSA4LjEgODMuMi0zMy41IDEuNy01MS41LTU0LjEtNDYuNi01My40LTczLjIgLjYtMjAuMyAzMC42LTIwLjUgNDguNS0yLjJsMC0yOC40Yy0yOC41LTIyLTc5LjktOS4yLTc5LjcgMzEuOXoiXX0scmJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFtYXpvbi1wYXkiLGljb246WzY0MCw1MTIsW10sImY0MmMiLCJNMTQgMzI1LjNjMi4zLTQuMiA1LjItNC45IDkuNy0yLjUgMTAuNCA1LjYgMjAuNiAxMS40IDMxLjIgMTYuNyA0MC42IDIwLjIgODMuMyAzNS44IDEyNy40IDQ2LjMgMjAuOCA1IDQxLjkgOSA2My4yIDExLjggMzEuNSA0LjIgNjMuMiA2IDk1IDUuMiAxNy40LS40IDM0LjgtMS44IDUyLjEtMy44IDU2LjItNi42IDExMS4xLTIxIDE2My4zLTQyLjggMi45LTEuMiA1LjktMiA5LjEtMS4yIDYuNyAxLjggOSA5IDQuMSAxMy45LTMgMi43LTYuMiA1LjItOS42IDcuNC0zMC43IDIxLjEtNjQuMiAzNi40LTk5LjYgNDcuOS0yNC41IDcuOS00OS42IDEzLjgtNzUuMSAxNy42LTE3LjYgMi43LTM1LjQgNC4zLTUzLjIgNC44LS44IDAtMS43IC4yLTIuNSAuM2wtMjEuMSAwYy0uOC0uMS0xLjctLjItMi41LS4zLTMuNi0uMi03LjItLjMtMTAuNy0uNC0xNi45LS44LTMzLjctMi41LTUwLjQtNS4zLTI3LjQtNC41LTU0LjMtMTEuNS04MC40LTIwLjktNTMuNy0xOS40LTEwMy4xLTQ4LjktMTQ1LjYtODctMS44LTEuNi0zLTMuOC00LjQtNS43bDAtMnpNMTcyIDY1LjFsLTQuMyAuNmMtMTMuOCAxLjctMjYuOCA2LjktMzggMTUuMS0yLjQgMS43LTQuNiAzLjUtNy4xIDUuNC0uMi0uNC0uMy0uOS0uNC0xLjQtLjQtMi43LS44LTUuNS0xLjMtOC4yLS43LTQuNi0zLTYuNi03LjYtNi42bC0xMS41IDBjLTYuOSAwLTguMiAxLjMtOC4yIDguMmwwIDIwOS4zYzAgMSAwIDIgLjEgMyAuMiAzIDIgNC45IDQuOSA1IDcgLjEgMTQuMSAuMSAyMS4xIDAgMi45IDAgNC43LTIgNS01IC4xLTEgLjEtMiAuMS0zbDAtNzIuNGMxLjEgLjkgMS43IDEuNCAyLjIgMS45IDE3LjkgMTQuOSAzOC41IDE5LjggNjEgMTUuNCAyMC40LTQgMzQuNi0xNi41IDQzLjgtMzQuOSA3LTEzLjkgOS45LTI4LjcgMTAuMy00NC4xIC41LTE3LjEtMS4yLTMzLjktOC4xLTQ5LjgtOC41LTE5LjYtMjIuNi0zMi41LTQzLjktMzYuOS0zLjItLjctNi41LTEtOS44LTEuNS0yLjgtLjEtNS41LS4xLTguMy0uMXpNMTI0LjYgMTA3Yy0uMS0uNyAuMS0xLjMgLjQtMS45cy44LTEuMSAxLjMtMS40YzEzLjctOS41IDI4LjgtMTQuNSA0NS42LTEzLjIgMTQuOSAxLjEgMjcuMSA4LjQgMzMuNSAyNS45IDMuOSAxMC43IDQuOSAyMS44IDQuOSAzMyAwIDEwLjQtLjggMjAuNi00IDMwLjYtNi44IDIxLjMtMjIuNCAyOS40LTQyLjYgMjguNS0xNC0uNi0yNi4yLTYtMzcuNC0xMy45LS42LS4zLTEtLjgtMS4zLTEuNHMtLjQtMS4yLS40LTEuOWMuMS0xNC4xIDAtMjguMSAwLTQyLjJzLjEtMjggMC00Mi4xek0zMzAuMyA2NS4xYy0xIC4xLTIgLjMtMi45IC40LTkuNyAuNC0xOS40IDEuOC0yOC45IDQuMS02LjEgMS42LTEyIDMuOC0xNy45IDUuOC0zLjYgMS4yLTUuNCAzLjgtNS4zIDcuNyAuMSAzLjMtLjEgNi42IDAgOS45IC4xIDQuOCAyLjEgNi4xIDYuOCA0LjkgNy44LTIgMTUuNi00LjIgMjMuNS01LjcgMTIuMy0yLjMgMjQuNy0zLjMgMzcuMi0xLjQgNi41IDEgMTIuNiAyLjkgMTYuOCA4LjQgMy43IDQuOCA1LjEgMTAuNSA1LjMgMTYuNCAuMyA4LjMgLjIgMTYuNiAuMyAyNC45IDAgLjUtLjEgLjktLjIgMS40LS41LS4xLS45IDAtMS4zLS4xLTEwLjUtMi42LTIxLjItNC4yLTMyLTQuOS0xMS4zLS42LTIyLjUgLjEtMzMuMyAzLjktMTIuOSA0LjUtMjMuMyAxMi4zLTI5LjQgMjQuOS00LjcgOS44LTUuNCAyMC4yLTMuOSAzMC43IDIgMTQgOSAyNC44IDIxLjQgMzEuNyAxMS45IDYuNiAyNC44IDcuNCAzNy45IDUuNCAxNS4xLTIuMyAyOC41LTguNyA0MC4zLTE4LjQgLjUtLjQgMS0uOCAxLjYtMS4xIC42IDMuOCAxLjEgNy40IDEuOCAxMSAuNiAzLjEgMi41IDUuMSA1LjQgNS4yIDUuNCAuMSAxMC45IC4xIDE2LjMgMCAxLjMgMCAyLjUtLjUgMy40LTEuNHMxLjQtMi4xIDEuNS0zLjNjLjEtLjkgLjEtMS45IC4xLTIuOGwwLTEwNmMwLTQuMy0uMy04LjYtLjktMTIuOS0xLjktMTIuOS03LjQtMjMuNS0xOS0zMC40LTYuNy00LTE0LjEtNi0yMS44LTcuMS0zLjYtLjUtNy4yLS44LTEwLjgtMS4zLTMuOSAuMS03LjkgLjEtMTEuOSAuMXptMzUgMTI3LjdjMCAuNi0uMSAxLjItLjMgMS43cy0uNyAxLTEuMiAxLjNjLTExLjIgOC4xLTIzLjUgMTMuNS0zNy40IDE0LjktNS43IC42LTExLjQgLjQtMTYuOC0xLjgtMy0xLjEtNS42LTIuOS03LjgtNS4ycy0zLjctNS4xLTQuNi04LjFjLTItNi4zLTItMTMuMS0uMS0xOS40IDIuNS04LjMgOC40LTEzIDE2LjQtMTUuNiA4LTIuNCAxNi41LTMuMiAyNC44LTIuMiA4LjQgLjcgMTYuNiAyLjMgMjUgMy40IDEuNiAuMiAyLjEgMSAyLjEgMi42LS4xIDQuOCAwIDkuNSAwIDE0LjNzLS4yIDkuNC0uMSAxNC4xek02MjUuMiAzMjIuMmMtMS01LTQuOC02LjktOS4xLTguMy02LjgtMi4xLTEzLjktMy41LTIxLTMuOS0xMy4xLTEuMS0yNi4zLS41LTM5LjIgMS45LTE0LjMgMi43LTI3LjkgNy4zLTQwIDE1LjYtMS40IC45LTIuNyAyLjEtMy43IDMuNS0uNCAuNi0uNiAxLjMtLjcgMS45czAgMS40IC4yIDIuMWMuNCAxLjUgMi4xIDEuOSAzLjYgMS44IC43IDAgMS41IDAgMi4yLS4xIDcuOC0uOCAxNS41LTEuNyAyMy4zLTIuNSAxMS40LTEuMSAyMi45LTEuOCAzNC4zLS45IDQuOSAuNCA5LjcgMS4zIDE0LjQgMi43IDUuMSAxLjQgNy40IDUuMiA3LjYgMTAuNCAuNCA4LTEuNCAxNS43LTMuNSAyMy4zLTQuMSAxNS40LTEwIDMwLjMtMTUuOCA0NS4xLS40IDEtLjggMi0xIDMtLjUgMi45IDEuMiA0LjggNC4xIDQuMSAxLjgtLjQgMy40LTEuMyA0LjgtMi41IDQuNS00LjIgOC44LTguNyAxMi43LTEzLjQgMTIuOC0xNi40IDIwLjMtMzUuMyAyNC43LTU1LjYgLjgtMy42IDEuNC03LjMgMi4xLTEwLjlsMC0xNy4zek00OTMuMSAxOTljLTEyLjktMzUuNy0yNS44LTcxLjQtMzguNy0xMDcuMi0yLTUuNy00LjItMTEuMy02LjMtMTYuOS0xLjEtMi45LTMuMi00LjgtNi40LTQuOC03LjYtLjEtMTUuMi0uMi0yMi45LS4xLTIuNSAwLTMuNyAyLTMuMiA0LjUgLjUgMi4xIDEuMSA0LjEgMS45IDYuMSAxOS42IDQ4LjUgMzkuMyA5NyA1OS4xIDE0NS41IDEuNyA0LjEgMi4xIDcuNiAuMiAxMS44LTMuMyA3LjMtNS45IDE1LTkuMyAyMi4zLTMgNi41LTggMTEuNC0xNS4yIDEzLjMtNSAxLjMtMTAuMiAxLjctMTUuNCAxLjEtMi41LS4yLTUtLjgtNy41LTEtMy40LS4yLTUuMSAxLjMtNS4yIDQuOC0uMSAzLjMtLjEgNi42IDAgOS45IC4xIDUuNSAyIDggNy40IDguOSA1LjYgMS4xIDExLjIgMS44IDE2LjkgMiAxNy4xIC40IDMwLjctNi41IDM5LjUtMjEuNCAzLjUtNS45IDYuNi0xMiA5LjItMTguNCAyMy43LTU5LjggNDcuMi0xMTkuNyA3MC42LTE3OS42IC43LTEuOCAxLjMtMy42IDEuNi01LjUgLjQtMi44LS45LTQuNC0zLjctNC40LTYuNi0uMS0xMy4zIDAtMTkuOSAwLTEuNy0uMS0zLjQgLjMtNC43IDEuM3MtMi40IDIuMy0zIDMuOWMtLjUgMS40LTEuMSAyLjctMS42IDQuMWwtMzQuOCAxMDBjLTIuNSA3LjItNS4xIDE0LjUtNy43IDIyLjItLjQtMS4xLS42LTEuNy0uOS0yLjR6Il19LHNidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwYW5kb3JhIixpY29uOlszODQsNTEyLFtdLCJlN2RhIiwiTTIwMS4zIDMyTDAgMzIgMCA0ODAgMTIwLjIgNDgwYzExLjIgMCAyMC4zLTkuMSAyMC4zLTIwLjNsMC04Ni4xIDMwLjEgMGMxNDcuMSAwIDIwNy4zLTgyLjkgMjA3LjMtMTc5LjkgMC0xMTkuNy05MC45LTE2MS44LTE3Ni41LTE2MS44eiJdfSxpYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib3BlbmlkIixpY29uOls0NDgsNTEyLFtdLCJmMTliIiwiTTI3MS41IDQzMmwtNjggMzJDODguNSA0NTMuNyAwIDM5Mi41IDAgMzE4LjIgMCAyNDYuNyA4Mi41IDE4Ny4yIDE5MS43IDE3My45bDAgNDNjLTcxLjUgMTIuNS0xMjQgNTMtMTI0IDEwMS4zIDAgNTEgNTguNSA5My4zIDEzNS43IDEwM2wwLTM0MCA2OC0zMy4yIDAgMzg0IC4xIDB6TTQ0OCAyOTFsLTEzMS4zLTI4LjUgMzYuOC0yMC43Yy0xOS41LTExLjUtNDMuNS0yMC03MC0yNC44bDAtNDNjNDYuMiA1LjUgODcuNyAxOS41IDEyMC4zIDM5LjNsMzUtMTkuOCA5LjIgOTcuNXoiXX0sb2J0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZzY28iLGljb246WzUxMiw1MTIsW10sImU3ZGQiLCJNMzU3LjYgMjU2YzAtMjcuMS0xMC42LTUyLjUtMjkuNy03MS43cy00NC42LTI5LjctNzEuNy0yOS43bC0uMSAwYy0yNy4xIDAtNTIuNiAxMC42LTcxLjcgMjkuN3MtMjkuNyA0NC42LTI5LjcgNzEuN2MwIDI3LjEgMTAuNiA1Mi41IDI5LjcgNzEuNyAxOS4yIDE5LjIgNDQuNiAyOS43IDcxLjcgMjkuN2wuMSAwYzI3LjEgMCA1Mi42LTEwLjYgNzEuNy0yOS43IDE5LjItMTkuMiAyOS43LTQ0LjYgMjkuNy03MS43ek0xNzYuMyA0ODIuMWMyMyA4LjEgNDcgMTIuNiA3MS42IDEzLjRsMC01OS4xYy0xNy4xLS43LTMzLjUtMy44LTQ5LTguOWwtMjIuNiA1NC42em0xMzctNTQuNmMtMTUuNSA1LjEtMzIgOC4yLTQ5IDguOWwwIDU5LjFjMjQuNi0uOCA0OC42LTUuMyA3MS42LTEzLjRsLTIyLjYtNTQuNnpNOTIuNSA0MzEuMmMyMC4yIDE4LjkgNDMuMyAzNCA2OC43IDQ1bDIyLjUtNTQuNWMtMTguMy03LjktMzUuMS0xOC44LTQ5LjgtMzEuOUw5Mi41IDQzMS4yem0yODUuOS00MS40Yy0xNC42IDEzLjItMzEuNCAyNC00OS44IDMxLjlsMjIuNSA1NC41YzI1LjQtMTEgNDguNC0yNi4xIDY4LjctNDVsLTQxLjQtNDEuNHpNMTQ1LjQgMzc4LjJjMTMuNiAxMi4xIDI5IDIxLjkgNDUuOCAyOSAxOCA3LjYgMzcuMSAxMiA1Ni43IDEyLjlsMC00Ni44Yy0yNi40LTEuOC01MC4zLTEyLjMtNjkuMS0yOC42bC0zMy40IDMzLjR6bTE4OC0zMy40Yy0xOC44IDE2LjMtNDIuNyAyNi44LTY5LjEgMjguNmwwIDQ2LjhjMTkuNi0uOSAzOC43LTUuMyA1Ni43LTEyLjkgMTYuOC03LjEgMzIuMi0xNi45IDQ1LjgtMjlsLTMzLjQtMzMuNHpNMzguNSAzNTYuNmMxMC43IDIzLjIgMjUgNDQuMyA0Mi41IDYzLjFsNDEuMy00MS4zYy0xMi40LTEzLjQtMjIuOS0yOC42LTMwLjktNDUuMkwzOC41IDM1Ni42em0zODIuNC0yMy41Yy04IDE2LjYtMTguNSAzMS45LTMwLjkgNDUuMmw0MS4zIDQxLjNjMTcuNS0xOC43IDMxLjgtMzkuOSA0Mi41LTYzLjFsLTUyLjktMjMuNXptLTMzMS02OWMxLjEgMTguOCA1LjQgMzcuMiAxMi44IDU0LjUgNy41IDE3LjggMTggMzQgMzEuMiA0OC4ybDMzLjUtMzMuNWMtMTYuNC0xOC44LTI2LjktNDIuOC0yOC43LTY5LjJsLTQ4LjggMHptMjgzLjcgMGMtMS44IDI2LjQtMTIuMyA1MC40LTI4LjcgNjkuMmwzMy41IDMzLjVjMTMuMS0xNC4yIDIzLjYtMzAuNCAzMS4yLTQ4LjIgNy4zLTE3LjQgMTEuNi0zNS43IDEyLjctNTQuNWwtNDguNyAwem0tMzU3LjEgMGMuOSAyNi43IDYuMSA1Mi43IDE1LjYgNzcuNUw4NSAzMTguMmMtNi40LTE3LTEwLjMtMzUuMS0xMS4zLTU0bC01Ny4xIDB6bTQyMi4xIDBjLTEgMTguOS01IDM3LjEtMTEuMyA1NGw1Mi44IDIzLjVjOS41LTI0LjggMTQuNy01MC44IDE1LjYtNzcuNWwtNTcuMSAwek0zMi4xIDE3MC40Yy05LjUgMjQuOC0xNC43IDUwLjgtMTUuNiA3Ny41bDU3LjEgMGMxLTE4LjkgNS0zNy4xIDExLjMtNTRMMzIuMSAxNzAuNHptMTAxLjctMjUuMmMtMTMuMSAxNC4yLTIzLjYgMzAuNC0zMS4yIDQ4LjItNy4zIDE3LjQtMTEuNiAzNS43LTEyLjggNTQuNWw0OC44IDBjMS44LTI2LjQgMTIuMy01MC40IDI4LjctNjkuMmwtMzMuNS0zMy41em0yMTEuMSAzMy41YzE2LjQgMTguOCAyNi45IDQyLjggMjguNyA2OS4ybDQ4LjcgMGMtMS4xLTE4LjgtNS40LTM3LjItMTIuNy01NC41LTcuNS0xNy44LTE4LTM0LTMxLjItNDguMmwtMzMuNSAzMy41em04Mi40IDE1LjJjNi40IDE3IDEwLjMgMzUuMSAxMS4zIDU0bDU3LjEgMGMtLjktMjYuNy02LjEtNTIuNy0xNS42LTc3LjVsLTUyLjggMjMuNXpNODEgOTIuM0M2My40IDExMSA0OS4yIDEzMi4yIDM4LjUgMTU1LjRsNTIuOSAyMy41YzgtMTYuNiAxOC41LTMxLjkgMzAuOS00NS4yTDgxIDkyLjN6bTMwOSA0MS4zYzEyLjQgMTMuNCAyMi45IDI4LjYgMzAuOSA0NS4ybDUyLjktMjMuNWMtMTAuNy0yMy4yLTI1LTQ0LjMtNDIuNS02My4xTDM5MCAxMzMuN3pNMjQ4IDkxLjhjLTE5LjYgLjktMzguNyA1LjMtNTYuNyAxMi45LTE2LjggNy4xLTMyLjIgMTYuOS00NS44IDI5bDMzLjQgMzMuNGMxOC44LTE2LjMgNDIuNy0yNi44IDY5LjEtMjguNmwwLTQ2Ljd6bTE2LjMgNDYuN2MyNi40IDEuOCA1MC4zIDEyLjMgNjkuMSAyOC42bDMzLjQtMzMuNGMtMTMuNi0xMi4xLTI5LTIxLjktNDUuOC0yOS0xOC03LjYtMzcuMS0xMi01Ni43LTEyLjlsMCA0Ni43ek0xNjEuMiAzNS44Yy0yNS40IDExLTQ4LjQgMjYuMS02OC43IDQ1bDQxLjQgNDEuNGMxNC43LTEzLjIgMzEuNC0yNCA0OS44LTMxLjlMMTYxLjIgMzUuOHpNMzI4LjYgOTAuM2MxOC4zIDcuOSAzNS4xIDE4LjggNDkuOCAzMS45bDQxLjQtNDEuNGMtMjAuMi0xOC45LTQzLjMtMzQtNjguNy00NUwzMjguNiA5MC4zek0yNDggMTYuNGMtMjQuNiAuOC00OC42IDUuMy03MS42IDEzLjRsMjIuNiA1NC42YzE1LjUtNS4xIDMyLTguMiA0OS04LjlsMC01OS4xem0xNi4zIDU5LjFjMTcuMSAuNyAzMy41IDMuOCA0OSA4LjlsMjIuNi01NC42Yy0yMy04LjEtNDctMTIuNi03MS42LTEzLjRsMCA1OS4xek01MTIuMiAyNjQuMmwtLjIgMEM1MDcuOCAzOTkgMzk5LjIgNTA3LjcgMjY0LjMgNTExLjlsMCAuMS0xNi4zIDAgMC0uMUMxMTMuMSA1MDcuNyA0LjUgMzk5IC4yIDI2NC4xbC0uMiAwIDAtMTYuMyAuMiAwQzQuNSAxMTMgMTEzLjEgNC4zIDI0OCAuMWwwLS4xIDE2LjMgMCAwIC4xQzM5OS4yIDQuMyA1MDcuOCAxMTMgNTEyIDI0Ny45bC4yIDAgMCAxNi4zeiJdfSxuYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2xvYmFsZWFrcyIsaWNvbjpbNDQ4LDUxMixbXSwiZTg1ZCIsIk00MTEuMiAzMi4yYzIwLjIgMCAzNi44IDE2LjYgMzYuOCAzNi45bDAgMzczLjhjMCAyMC4yLTE2LjYgMzYuOS0zNi44IDM2LjlsLTk0LjQgMCAyOC03OS40YzMuMS04LjgtMS42LTE4LjctMTAuNC0yMS44LTEuNi0uNS0yLjYtMS00LjItMXMtMy42IDAtNS4yIC41Yy01LjIgMS05LjkgNS4yLTExLjkgMTAuOWwtNi4yIDE2LjYgMC02Ny41YzAtMTAuOS03LjgtMTkuNy0xOC4yLTIxLjhsLTcuMiAwYy0uNSAwLTEgMC0xLjYgLjUtLjUgMC0xIC41LTEuNiAuNS0yLjYgMS01LjIgMi42LTcuMiA0LjFsMC00LjFjMC01LjctMi42LTEwLjQtNS43LTE0bC0xLTFjLTEtMS0yLjYtMi4xLTQuMi0yLjZsMC0yNi41YzAtNS4yLTQuMS05LjMtOS4zLTkuM2wtMzkuOSAwYy02LjcgMC0xMS40LTcuMy04LjMtMTMuNUwyODMuMSA4NC4xYzE0LjUtMzEuMSA0NS42LTUxLjQgODAuNC01MS45bDQ3LjcgMHptLTE2NiAwYzE3LjYgMCAzMC4xIDE2LjEgMjggMzIuMi0yLjYgMy42LTQuNyA3LjgtNi4yIDEwLjlMMTg2LjYgMjQxLjVjLTguOCAxOC43IDQuMiA0MCAyNC40IDQwbDMwLjYgMCAwIDE2LjFjLTcuOCAzLjEtMTMgMTAuOS0xMyAxOS43bDAgMy42Yy0zLjYtMy42LTguOC01LjctMTQuNS01LjctMTEuOSAwLTIxLjggOS45LTIxLjggMjEuOGwwIDE5LjItMy4xIDBjLTkuMyAwLTE3LjEgNy44LTE3LjEgMTcuMWwwIDEwNS45LTk1LjQgMGMtNDIgMC03Mi42LTQwLjUtNjEuMi04MS41IDEtMy4xIDQuMi01LjIgNy4zLTQuN2wyMS4yIDBjMjQuNCAwIDQ0LjYtMjAuMiA0NC42LTQ1LjJsMC00LjJjMC0yNC45LTE5LjctNDUuMi00NC42LTQ1LjItLjUgMC0xLS41LTEtMWw4LjgtMzIuN2MyLjEtNi4yLTIuNi0xMS45LTguOC0xMS45bC0zMy4yIDBjLTYuNyAwLTExLjQtNy4zLTguMy0xMy41TDc2LjcgODQuN2MxNi4xLTMyLjIgNDguMi01Mi40IDg0LTUyLjRsODQuNSAwek0xMzMuNyAxNDQuNGMtMTAuNCAwLTE4LjcgOC4zLTE4LjcgMTguNyAwIDkuOSA4LjMgMTguNyAxOC43IDE4LjcgMTAuNCAwIDE4LjctOC4zIDE4LjctMTguN3MtOC4zLTE4LjctMTguNy0xOC43em0yMDIuOCAwYTE4LjYgMTguNiAwIDEgMCAtLjIgMzcuMiAxOC42IDE4LjYgMCAxIDAgLjItMzcuMnoiXX0sbGJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZlbm1vIixpY29uOls2NDAsNTEyLFtdLCJlODVhIiwiTTY3LjggMjAyLjdjMi40IDUgMy45IDExIDMuOSAxOS44IDAgMTYuMi0xMS41IDM5LjgtMjAuNyA1NC45bC05LjktNzkuNy00MSAzLjkgMTguOCAxMTIgNDYuOSAwYzIwLjUtMjYuOSA0NS44LTY1LjMgNDUuOC05NC44IDAtOS4zLTEuOS0xNi42LTYuMy0yMy43bC0zNy40IDcuNXptMTEzLTcuMWMtNDIuOCAwLTYzLjUgMzctNjMuNSA3MS45IDAgMjYuOSAxMi44IDQ4LjUgNDguNCA0OC41IDE0IDAgMjguNS0zIDM3LjgtNy41bDUtMzMuNmMtMTMuMiA2LjctMjMuMyA5LjMtMzMuOSA5LjMtOS43IDAtMTcuMS01LjItMTcuMS0xOC4zIDIyLS4yIDYwLTkuMyA2MC0zOC44IDAtMTguMy0xMy4yLTMxLjUtMzYuNy0zMS41bDAgMHptLTIyLjUgNDguOWMxLjEtMTIuOSAxMS0yMiAxOC42LTIyIDQuMyAwIDggMi42IDggNy43IDAgMTAuOC0xOSAxNC4yLTI2LjYgMTQuMmwwIDB6bTE1MC4yLTQ4LjljLTE1LjMgMC0yNi4xIDUuOC0zNC4zIDExLjJsLS40LTkuMy0zNC44IDAtMTguNCAxMTYuMSA0MC4yIDAgMTIuNy04MS40YzMuNS0xLjcgOC42LTQuMSAxMy44LTQuMSAzLjkgMCA3LjEgMS4zIDcuMSA2LjUgMCAyLjItLjcgNi0uOSA4bC0xMS4yIDcxLjEgNDAgMCAxMi4zLTc3LjVjLjctNC4xIDEuMy0xMC4zIDEuMy0xNC42IDAtMTUuNS03LjEtMjUuOS0yNy40LTI1Ljl6bTE4My4yIDBjLTE0LjkgMC0yNS43IDQuNS0zNy4yIDEyLjctNC4xLTcuMy0xMi4zLTEyLjctMjQuOC0xMi43LTE0LjUgMC0yNS4zIDUuOC0zMy4zIDExLjZsLTEuMS05LjctMzQuNCAwLTE4LjQgMTE2LjEgNDAuMiAwIDEyLjgtODEuNGMzLjUtMS43IDguNi00LjEgMTMuOC00LjEgMy45IDAgNy4xIDEuMyA3LjEgNy4xIDAgMS41LS40IDMuOS0uNiA1LjhsLTExLjQgNzIuNiA0MCAwIDEyLjctODEuNGMzLjctMS45IDguNi00LjEgMTMuNi00LjEgMy45IDAgNy4xIDEuMyA3LjEgNy4xIDAgMS41LS40IDMuOS0uNyA1LjhsLTExLjQgNzIuNiA0MCAwIDEyLjMtNzcuNWMuNy00LjEgMS4zLTEwLjMgMS4zLTE0LjYgMC0xNS41LTcuMS0yNS45LTI3LjctMjUuOWwwIDB6bTEwMi4yIDBjLTQ0LjcgMC02NC4yIDM0LjMtNjQuMiA3MC45IDAgMjcuOCAxMS4yIDUwIDQ1LjEgNTAgNDUuOCAwIDY1LTM3LjUgNjUtNzMuNyAwLTI3LjQtMTIuMy00Ny4yLTQ2LTQ3LjJ6bS0xMy40IDkwYy03LjEgMC0xMC4xLTYuNy0xMC4xLTE3LjUgMC0xNC4yIDMuMi00MiAxOS00MiA3LjEgMCA5LjUgNi41IDkuNSAxNS45IDAgMTQuMi0zLjUgNDMuNS0xOC40IDQzLjV6Il19LGNidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1YnVudHUiLGljb246WzU3Niw1MTIsW10sImY3ZGYiLCJNNDY5LjIgNzVjMC0yMC4xLTgtMzkuMy0yMi4yLTUzLjVzLTMzLjQtMjIuMi01My41LTIyLjItMzkuMyA4LTUzLjUgMjIuMi0yMi4yIDMzLjQtMjIuMiA1My41YzAgMjAuMSA4IDM5LjMgMjIuMSA1My41czMzLjQgMjIuMSA1My41IDIyLjEgMzkuMy04IDUzLjUtMjIuMSAyMi4xLTMzLjQgMjIuMS01My41bC4xIDB6bS0zMTUgMTY1LjdhNzUuNiA3NS42IDAgMSAwIC0xNTEuMiAwIDc1LjYgNzUuNiAwIDEgMCAxNTEuMiAwek01NyAzNDZjMTguNiA0Ni45IDUxIDg3IDkzIDExNS4xczkxLjUgNDIuNiAxNDIgNDEuN2MtMTQuNy0xOC42LTIyLjktNDEuNS0yMy4yLTY1LjItNi44LS45LTEzLjMtMi4xLTE5LjUtMy40LTI2LjgtNS43LTUxLjktMTcuMy03My42LTM0cy0zOS4zLTM4LjEtNTEuNy02Mi41Yy0yMC45IDkuOS00NC41IDEyLjgtNjcuMSA4LjJsLjEgLjF6bTM5NS4xIDg5LjhhNzUuNiA3NS42IDAgMSAwIC0xNTEuMiAwIDc1LjYgNzUuNiAwIDEgMCAxNTEuMiAwek00NDQgMzUxLjZjMTguNSAxNC44IDMxLjYgMzUuMiAzNy4yIDU4LjIgMzMuMy00MS4zIDUyLjYtOTIuMiA1NC44LTE0NS4ycy0xMi41LTEwNS40LTQyLjItMTQ5LjRjLTguNiAyMS41LTI0IDM5LjYtNDMuOCA1MS42IDE1LjQgMjguNiAyMi45IDYwLjggMjEuOSA5My4ycy0xMC43IDY0LTI4IDkxLjZsLjEgMHpNMTAxLjEgMTM1LjRjMTIuNCAyLjcgMjQuMyA3LjUgMzUuMSAxNC4zIDE2LjYtMjQuMiAzOC45LTQ0LjEgNjQuOC01OFMyNTUuOCA3MC40IDI4NS4yIDcwYy4yLTUuOSAuOS0xMS45IDItMTcuNyAzLjYtMTYuNyAxMS4xLTMyLjMgMjEuOC00NS41LTQ3LjctMy44LTk1LjQgNi0xMzcuNiAyOC41Uzk0LjMgOTEuNyA3MC44IDEzMy40YzIuNy0uMiA1LjMtLjMgOC0uMyA3LjUgMCAxNSAuOCAyMi40IDIuM2wtLjEgMHoiXX0sZGJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZpYWNvaW4iLGljb246WzM4NCw1MTIsW10sImYyMzciLCJNMzg0IDMybC02NCAwLTgwLjcgMTkyLTk0LjUgMC04MC44LTE5Mi02NCAwIDQ4IDExMi00OCAwIDAgNDggNjguNSAwIDEzLjggMzItODIuMyAwIDAgNDggMTAyLjggMCA4OS4yIDIwOCA4OS4yLTIwOCAxMDIuOCAwIDAtNDgtODIuMyAwIDEzLjgtMzIgNjguNSAwIDAtNDgtNDggMCA0OC0xMTJ6TTE5MiAzMzZsLTI3LTY0IDU0IDAtMjcgNjR6Il19LHVidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ6aGlodSIsaWNvbjpbNjQwLDUxMixbXSwiZjYzZiIsIk0xNzAuNSAxNDguMWwwIDIxNy41IDIzLjQgMCA3LjcgMjYuNCA0Mi0yNi40IDQ5LjUgMCAwLTIxNy41LTEyMi43IDB6bTk3LjggMTkzLjlsLTI3LjkgMC0yNy45IDE3LjUtNS4xLTE3LjUtMTEuOSAwIDAtMTcwLjMgNzIuOCAwIDAgMTcwLjN6TTE0OS44IDI0Ny43bC01Mi4zIDBjMS43LTI3LjEgMi4yLTUxLjYgMi4yLTczLjVsNTEuMiAwczItMjIuNi04LjYtMjIuM2wtODguNSAwYzMuNS0xMy4xIDcuOS0yNi43IDEzLjEtNDAuNyAwIDAtMjQuMSAwLTMyLjMgMjEuNi0zLjQgOC45LTEzLjIgNDMuMS0zMC43IDc4LjEgNS45LS42IDI1LjQtMS4yIDM2LjgtMjIuMiAyLjEtNS45IDIuNS02LjcgNS4xLTE0LjVsMjguOSAwYzAgMTAuNS0xLjIgNjYuOS0xLjcgNzMuNGwtNTIuMyAwYy0xMS43IDAtMTUuNiAyMy42LTE1LjYgMjMuNmw2NS42IDBjLTQuNCA0OS45LTI4IDkxLjktNzAuOCAxMjUuMSAyMC41IDUuOSA0MC45LS45IDUxLTkuOSAwIDAgMjMtMjAuOSAzNS42LTY5LjNsNTQgNjQuOXM3LjktMjYuOS0xLjItNDBjLTcuNi04LjktMjguMS0zMy4xLTM2LjgtNDEuOEw4Ny45IDMxMmM0LjQtMTQgNy0yNy42IDcuOS00MC43bDYxLjYgMHMtLjEtMjMuNi03LjYtMjMuNmwwIDB6bTQxMi0xLjZjMjAuOC0yNS42IDQ1LTU4LjYgNDUtNTguNnMtMTguNi0xNC44LTI3LjQtNC4xYy02IDguMi0zNi44IDQ4LjItMzYuOCA0OC4ybDE5LjIgMTQuNHpNNDExLjggMTg3Yy05LTguMi0yNS45IDIuMS0yNS45IDIuMXMzOS41IDU1IDQxLjEgNTcuNGwxOS41LTEzLjdzLTI1LjctMzcuNi0zNC43LTQ1LjlsMCAwIDAgMHpNNjQwIDI1OC40Yy0xOS44IDAtMTMwLjkgLjktMTMxLjEgLjlsMC0xMDFjNC44IDAgMTIuNC0uNCAyMi44LTEuMiA0MC45LTIuNCA3MC4xLTQgODcuOC00LjggMCAwIDEyLjItMjcuMi0uNi0zMy40LTMuMS0xLjItMjMuMiA0LjYtMjMuMiA0LjZzLTE2NS4yIDE2LjUtMjMyLjQgMThjMS42IDguOCA3LjYgMTcuMSAxNS44IDE5LjYgMTMuMyAzLjUgMjIuNyAxLjcgNDkuMiAuOSAyNC44LTEuNiA0My43LTIuNCA1Ni41LTIuNGwwIDk5LjgtMTMzLjUgMHMyLjggMjIuMyAyNS41IDIyLjlsMTA3LjkgMCAwIDcwLjljMCAxNC0xMS4yIDIyLTI0LjUgMjEuMS0xNC4xIC4xLTI2LjEtMS4xLTQxLjctMS44IDIgNCA2LjMgMTQuNCAxOS4zIDIxLjggOS45IDQuOCAxNi4yIDYuNiAyNiA2LjYgMjkuNiAwIDQ1LjctMTcuMyA0NC45LTQ1LjNsMC03My4zIDEyMi40IDBjOS43IDAgOC43LTIzLjggOC43LTIzLjhsMCAweiJdfSxwYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieWFuZGV4IixpY29uOlsyNTYsNTEyLFtdLCJmNDEzIiwiTTE1My4xIDMxNS44TDY1LjcgNTEyIDIgNTEyIDk4IDMwMi4yQzUyLjkgMjc5LjMgMjIuOCAyMzcuOCAyMi44IDE2MS4xIDIyLjcgNTMuNyA5MC44IDAgMTcxLjcgMGw4Mi4zIDAgMCA1MTItNTUuMSAwIDAtMTk2LjItNDUuOCAwek0xOTguOSA0Ni41bC0yOS40IDBjLTQ0LjQgMC04Ny40IDI5LjQtODcuNCAxMTQuNiAwIDgyLjMgMzkuNCAxMDguOCA4Ny40IDEwOC44bDI5LjQgMCAwLTIyMy40eiJdfSxmYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGl4aXYiLGljb246WzQ0OCw1MTIsW10sImU2NDAiLCJNOTYgMzJDNDMgMzIgMCA3NSAwIDEyOEwwIDM4NGMwIDUzIDQzIDk2IDk2IDk2bDI1NiAwYzUzIDAgOTYtNDMgOTYtOTZsMC0yNTZjMC01My00My05Ni05Ni05Nkw5NiAzMnptNzcuNyAyMTcuM2E2MC4xIDYwLjEgMCAxIDAgMTIwLjMgMCA2MC4xIDYwLjEgMCAxIDAgLTEyMC4zIDB6TTExOS4xIDM4Ny44Yy0uMy0uOC0uNS0xLjctLjUtMi42bDAtMjQ0LjNjMC0xLjggLjctMy42IDItNC45czMtMiA0LjktMmwxNi45IDBjMS4yIDAgMi4zIC4zIDMuMyAuOHMxLjkgMS4zIDIuNSAyLjNsMTQgMjEuOGMxOS43LTE1LjYgNDQuNS0yNSA3MS42LTI1IDYzLjYgMCAxMTUuMiA1MS42IDExNS4yIDExNS4yUzI5Ny41IDM2NC41IDIzMy44IDM2NC41Yy0yMiAwLTQyLjYtNi4yLTYwLjEtMTYuOWwwIDM3LjZjMCAuOS0uMiAxLjgtLjUgMi42cy0uOSAxLjYtMS41IDIuMi0xLjQgMS4xLTIuMiAxLjUtMS43IC41LTIuNiAuNWwtNDEuMyAwYy0uOSAwLTEuOC0uMi0yLjYtLjVzLTEuNi0uOS0yLjItMS41LTEuMS0xLjQtMS41LTIuMnoiXX0saGJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9wZW5haSIsaWNvbjpbNTEyLDUxMixbXSwiZTdjZiIsIk0xOTYuNCAxODUuOGwwLTQ4LjZjMC00LjEgMS41LTcuMiA1LjEtOS4ybDk3LjgtNTYuM2MxMy4zLTcuNyAyOS4yLTExLjMgNDUuNi0xMS4zIDYxLjQgMCAxMDAuNCA0Ny42IDEwMC40IDk4LjMgMCAzLjYgMCA3LjctLjUgMTEuOEwzNDMuMyAxMTEuMWMtNi4xLTMuNi0xMi4zLTMuNi0xOC40IDBMMTk2LjQgMTg1Ljh6TTQyNC43IDM3NS4ybDAtMTE2LjJjMC03LjItMy4xLTEyLjMtOS4yLTE1LjlMMjg3IDE2OC40IDMyOSAxNDQuM2MzLjYtMiA2LjctMiAxMC4yIDBMNDM3IDIwMC43YzI4LjIgMTYuNCA0Ny4xIDUxLjIgNDcuMSA4NSAwIDM4LjktMjMgNzQuOC01OS40IDg5LjZsMCAwek0xNjYuMiAyNzIuOGwtNDItMjQuNmMtMy42LTItNS4xLTUuMS01LjEtOS4ybDAtMTEyLjZjMC01NC44IDQyLTk2LjMgOTguOC05Ni4zIDIxLjUgMCA0MS41IDcuMiA1OC40IDIwTDE3NS40IDEwOC41Yy02LjEgMy42LTkuMiA4LjctOS4yIDE1LjlsMCAxNDguNSAwIDB6bTkwLjQgNTIuMmwtNjAuMi0zMy44IDAtNzEuNyA2MC4yLTMzLjggNjAuMiAzMy44IDAgNzEuNy02MC4yIDMzLjh6bTM4LjcgMTU1LjdjLTIxLjUgMC00MS41LTcuMi01OC40LTIwbDEwMC45LTU4LjRjNi4xLTMuNiA5LjItOC43IDkuMi0xNS45bDAtMTQ4LjUgNDIuNSAyNC42YzMuNiAyIDUuMSA1LjEgNS4xIDkuMmwwIDExMi42YzAgNTQuOC00Mi41IDk2LjMtOTkuMyA5Ni4zbDAgMHpNMTczLjggMzY2LjVMNzYuMSAzMTAuMmMtMjguMi0xNi40LTQ3LjEtNTEuMi00Ny4xLTg1IDAtMzkuNCAyMy42LTc0LjggNTkuOS04OS42bDAgMTE2LjdjMCA3LjIgMy4xIDEyLjMgOS4yIDE1LjlsMTI4IDc0LjItNDIgMjQuMWMtMy42IDItNi43IDItMTAuMiAwem0tNS42IDg0Yy01Ny45IDAtMTAwLjQtNDMuNS0xMDAuNC05Ny4zIDAtNC4xIC41LTguMiAxLTEyLjNsMTAwLjkgNTguNGM2LjEgMy42IDEyLjMgMy42IDE4LjQgMGwxMjguNS03NC4yIDAgNDguNmMwIDQuMS0xLjUgNy4yLTUuMSA5LjJsLTk3LjggNTYuM2MtMTMuMyA3LjctMjkuMiAxMS4zLTQ1LjYgMTEuM2wwIDB6bTEyNyA2MC45YzYyIDAgMTEzLjctNDQgMTI1LjQtMTAyLjQgNTcuMy0xNC45IDk0LjItNjguNiA5NC4yLTEyMy40IDAtMzUuOC0xNS40LTcwLjctNDMtOTUuNyAyLjYtMTAuOCA0LjEtMjEuNSA0LjEtMzIuMyAwLTczLjItNTkuNC0xMjgtMTI4LTEyOC0xMy44IDAtMjcuMSAyLTQwLjQgNi43LTIzLTIyLjUtNTQuOC0zNi45LTg5LjYtMzYuOS02MiAwLTExMy43IDQ0LTEyNS40IDEwMi40LTU3LjMgMTQuOC05NC4yIDY4LjYtOTQuMiAxMjMuNCAwIDM1LjggMTUuNCA3MC43IDQzIDk1LjctMi42IDEwLjgtNC4xIDIxLjUtNC4xIDMyLjMgMCA3My4yIDU5LjQgMTI4IDEyOCAxMjggMTMuOCAwIDI3LjEtMiA0MC40LTYuNyAyMyAyMi41IDU0LjggMzYuOSA4OS42IDM2Ljl6Il19LG1idD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzaXRoIixpY29uOls0NDgsNTEyLFtdLCJmNTEyIiwiTTAgMzJsNjkuNyAxMTguOC01OC45LTExLjUgNjkuOCA5MWMtMyAxNy0zIDM0LjQgMCA1MS40bC02OS44IDkxIDU4LjktMTEuNS02OS43IDExOC44IDExOC44LTY5LjctMTEuNSA1OC45IDkxLTY5LjhjMTcgMyAzNC41IDMgNTEuNSAwbDkxIDY5LjgtMTEuNS01OC45IDExOC43IDY5LjctNjkuNy0xMTguOCA1OC45IDExLjUtNjkuOC05MWMzLTE3IDMtMzQuNCAwLTUxLjRsNjkuOC05MS01OC45IDExLjUgNjkuNy0xMTguOC0xMTguNyA2OS43IDExLjUtNTguOS05MS4xIDY5LjljLTguNS0xLjUtMTcuMS0yLjMtMjUuNy0yLjNzLTE3LjIgLjgtMjUuNyAyLjNMMTA3LjIgNDIuOCAxMTguOCAxMDEuNyAwIDMyek0yMjQgMzgwLjJhMTI0LjIgMTI0LjIgMCAxIDEgMC0yNDguNCAxMjQuMiAxMjQuMiAwIDEgMSAwIDI0OC40em0wLTIxMS44YTg3LjYgODcuNiAwIDEgMCAwIDE3NS4xIDg3LjYgODcuNiAwIDEgMCAwLTE3NS4xeiJdfSxnYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToianVsaWEiLGljb246WzY0MCw1MTIsW10sImU4NTIiLCJNMTI0IDQwNi41YzAgMTYuMS0xLjggMjkuMS01LjQgMzlzLTguOCAxNy42LTE1LjUgMjMuMS0xNC43IDkuMS0yNC4xIDExLTE5LjggMi44LTMxLjIgMi44Yy0xNS41IDAtMjcuMy0yLjQtMzUuNS03LjNTMCA0NjQuNSAwIDQ1Ny43YzAtNS42IDIuMy0xMC40IDYuOS0xNC4zczEwLjgtNS44IDE4LjUtNS44YzUuOCAwIDEwLjQgMS42IDEzLjkgNC43czYuMyA2LjIgOC42IDkuM2MyLjYgMy40IDQuOCA1LjYgNi41IDYuOHMzLjQgMS43IDQuOCAxLjdjMy4xIDAgNS40LTEuOCA3LTUuNHMyLjQtMTAuNyAyLjQtMjEuMmwwLTE5OC43IDU1LjQtMTUuMiAwIDE4Ni45em03OC45LTE4MS42bDAgMTI3LjljMCAzLjYgLjcgNi45IDIuMSAxMHMzLjMgNS44IDUuNyA4LjEgNS4yIDQuMSA4LjUgNS40IDYuNyAyLjEgMTAuNCAyLjFjNC4yIDAgOC45LTIuMyAxNC43LTYuNCA5LjItNi40IDE0LjctMTAuOSAxNC43LTE2LjFsMC0xMzEgNTUuMSAwIDAgMTgxLjYtNTUuMSAwIDAtMTYuOWMtNy4zIDYuMS0xNSAxMS0yMy4yIDE0LjdzLTE2LjIgNS42LTIzLjkgNS42Yy05IDAtMTcuNC0xLjUtMjUuMS00LjVzLTE0LjUtNy0yMC4zLTEyLjItMTAuNC0xMS4yLTEzLjctMTguMWMtMy4zLTYuOS01LTE0LjMtNS0yMi4ybDAtMTI3LjkgNTUuMSAwek0zOTEuNCA0MDYuNWwtNTQuOSAwIDAtMjU0LjYgNTQuOS0xNS4yIDAgMjY5Ljh6bTIyLjktMTcxLjdsNTUuMS0xNS4yIDAgMTg2LjktNTUuMSAwIDAtMTcxLjd6bTE3MC4zIDc3LjljLTUuMyAyLjMtMTAuNyA0LjktMTYuMSA3LjlzLTEwLjMgNi4yLTE0LjcgOS44LTggNy4zLTEwLjggMTEuNC00LjEgOC4yLTQuMSAxMi42YzAgMy40IC40IDYuNiAxLjMgOS44czIuMSA1LjggMy44IDguMSAzLjQgNC4xIDUuMyA1LjQgNCAyLjEgNi4zIDIuMWM0LjUgMCA5LjEtMS40IDEzLjctNC4xczkuNy02LjIgMTUuNC0xMC40bDAtNTIuNXpNNjQwIDQwNi41bC01NS40IDAgMC0xNC41Yy0zLjEgMi42LTYgNS04LjkgNy4xcy02LjIgNC4xLTkuOCA1LjctNy43IDIuOS0xMi4yIDMuOGMtNC41IC45LTkuOCAxLjMtMTUuOSAxLjMtOC40IDAtMTUuOS0xLjItMjIuNi0zLjYtNi43LTIuNC0xMi40LTUuNy0xNy05LjlzLTguMy05LjEtMTAuOC0xNC45Yy0yLjUtNS43LTMuOC0xMi0zLjgtMTguNyAwLTYuOSAxLjMtMTMuMiA0LTE4LjkgMi43LTUuNiA2LjMtMTAuNyAxMC45LTE1LjIgNC42LTQuNSA5LjktOC41IDE2LjEtMTIuMXMxMi43LTYuOCAxOS43LTkuOCAxNC4zLTUuNyAyMS45LTguMiAxNS4xLTQuOSAyMi41LTcuMWw2LTEuNSAwLTE3LjljMC0xMS42LTIuMi0xOS44LTYuNi0yNC43cy0xMC40LTcuMy0xNy44LTcuM2MtOC43IDAtMTQuOCAyLjEtMTguMSA2LjNzLTUuMSA5LjMtNS4xIDE1LjJjMCAzLjQtLjQgNi43LTEuMSA5LjktLjcgMy4yLTIgNi0zLjcgOC41cy00LjMgNC40LTcuNiA1LjhjLTMuMyAxLjUtNy41IDIuMi0xMi41IDIuMi03LjcgMC0xNC0yLjItMTguOS02LjYtNC44LTQuNC03LjMtMTAtNy4zLTE2LjggMC02LjMgMi4xLTEyLjEgNi40LTE3LjUgNC4zLTUuNCAxMC0xMCAxNy4zLTEzLjkgNy4zLTMuOSAxNS42LTYuOSAyNS4xLTkuMnMxOS42LTMuNCAzMC4yLTMuNGMxMy4xIDAgMjQuMyAxLjIgMzMuNyAzLjVzMTcuMiA1LjcgMjMuMyAxMCAxMC42IDkuNiAxMy41IDE1LjcgNC40IDEzIDQuNCAyMC42bDAgMTM2LjF6TTYwIDE3Mi45YTM3LjQgMzcuNCAwIDEgMSA3NC45IDAgMzcuNCAzNy40IDAgMSAxIC03NC45IDB6TTQ1Mi4yIDk1YTM3LjQgMzcuNCAwIDEgMSA3NC45IDAgMzcuNCAzNy40IDAgMSAxIC03NC45IDB6bTQ1IDc3LjlhMzcuNCAzNy40IDAgMSAxIDc0LjkgMCAzNy40IDM3LjQgMCAxIDEgLTc0LjkgMHptLTg5LjkgMGEzNy40IDM3LjQgMCAxIDEgNzQuOSAwIDM3LjQgMzcuNCAwIDEgMSAtNzQuOSAweiJdfSxiYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibmZjLWRpcmVjdGlvbmFsIixpY29uOls1MTIsNTEyLFtdLCJlNTMwIiwiTTIxMS44IDQ4OC42YzEuNiAyLjUgMi4xIDUuNiAxLjQgOC41LS42IDIuOS0yLjQgNS41LTQuOSA3LjEtMi42IDEuNi01LjYgMi4xLTguNiAxLjUtNjEuNC0xMy45LTExNS42LTQ5LjktMTUyLjItMTAxLjJTLTUuNCAyOTAuMyAxLjYgMjI3LjdjNy02Mi43IDM2LjgtMTIwLjUgODMuNy0xNjIuNSA0Ni45LTQyIDEwNy43LTY1LjIgMTcwLjctNjUuMiAxLjUgMCAyLjEgLjMgNC4zIC45IDEuNCAuNiAxLjggMS40IDMuNyAyLjUgMS4xIDEuMSAxLjkgMi4zIDIuNSAzLjcgLjUgMS40IC44IDIuOCAuOCA0LjNsMCAxMDEgMjQuNS0yNS45YzEtMS4xIDIuMi0yIDMuNi0yLjYgMS4zLS42IDIuOC0uOSA0LjMtMSAxLjUtLjEgMi45IC4yIDQuMyAuN3MyLjcgMS4zIDMuOCAyLjRjMSAxIDEuOSAyLjIgMi41IDMuNiAuNiAxLjMgMSAyLjggMSA0LjNzLS4yIDMtLjcgNC4zYy0uNiAxLjQtMS40IDIuNi0yLjQgMy43bC00NCA0Ni42Yy0xLjEgMS4xLTIuMyAyLTMuNyAyLjYtMS41IC42LTMgLjktNS40IC45LS42IDAtMi4yLS4zLTMuNi0uOXMtMi43LTEuNS0zLjctMi42bC00NC4xLTQ2LjZjLTItMi4yLTMuMS01LjEtMy04LjEgMC0zIDEuMy02LjcgMy41LTcuOSAyLjItMi4xIDUuMS0zLjIgOC4xLTMuMSAzIC4xIDUuOCAxLjMgNy45IDMuNWwyNC41IDI2IDAtODkuNWMtNTYuNCAyLjgtMTA5LjggMjUuOC0xNTAuNSA2NS00MC42IDM5LjEtNjUuNyA5MS43LTcwLjYgMTQ3LjlTMzQuNCAzNDguMSA2Ny43IDM5My43YzMyLjQgNDUuNSA4MiA3Ny41IDEzNyA4OS45IDIuOSAuNyA1LjUgMi41IDcuMSA1ek0xNzEuNCAxMjYuMWMtLjggMS4zLTEuOSAyLjQtMy4xIDMuMi0yMC41IDEzLjktMzcuMiAzMi42LTQ4LjggNTQuNXMtMTcuNyA0Ni4zLTE3LjcgNzEuMSA2LjEgNDkuMiAxNy43IDcwLjJjMTEuNiAyMi44IDI4LjMgNDEuNSA0OC44IDU1LjQgMi41IDEuNyA0LjIgNC4zIDQuNyA3LjMgLjYgMi45LS45IDYtMS43IDguNC0xLjcgMi41LTUuMiA0LjItNy4zIDMuOS0yLjkgMS40LTYgLjgtOC40LS45LTIzLjYtMTYtNDIuOC0zNy41LTU2LjEtNjIuNy0xMy4zLTI1LjEtMjAuMy01My4xLTIwLjMtODEuNiAwLTI4LjQgNy01Ni41IDIwLjMtODEuNiAxMy4zLTI1LjIgMzIuNS00Ni43IDU2LjEtNjIuNyAxLjItLjggMi42LTEuNCA0LTEuOCAxLjUtLjMgMy0uMyA0LjUgMCAxLjQgLjIgMi44IC44IDQuMSAxLjZzMi4zIDEuOSAzLjIgMy4xYy44IDEuMiAxLjQgMi42IDEuNyA0LjFzLjMgMyAwIDQuNGMtLjMgMS41LS44IDIuOS0xLjcgNC4xek0zNDAuOSAzODMuNWMuOC0xLjIgMS45LTIuMyAyLjItMy4xbDAtLjFjMjEuMy0xNCAzOC0zMi43IDQ5LjYtNTQuNiAxMS41LTIxLjggMTcuNS00Ni4yIDE3LjUtNzAuOXMtNi00OS4xLTE3LjUtNzFjLTExLjYtMjIuNy0yOC4zLTQwLjUtNDkuNi01NC41LS4zLS44LTEuNC0xLjktMi4yLTMuMS0uOC0xLjMtMS40LTIuNy0xLjYtNC4xLTEuMi0xLjUtLjMtMyAwLTQuNCAuMy0xLjUgLjktMi45IDEuNy00LjEgLjktMS4yIDEuMS0yLjMgMy4yLTMuMSAxLjItLjggMi42LTEuMyA0LjEtMS42czIuOS0uMyA0LjQgMCAyLjggLjkgNC4xIDEuOGMyMy40IDE2IDQyLjcgMzcuNSA1NS45IDYyLjYgMTMuMyAyNS4xIDE5LjQgNTMuMSAxOS40IDgxLjUgMCAyOC41LTYuMSA1Ni41LTE5LjQgODEuNi0xMy4yIDI1LjEtMzIuNSA0Ni42LTU1LjkgNjIuNi0xLjMgLjktMi42IDEuNS00LjEgMS44cy0yLjkgLjMtNC40IDAtMi45LTEuNy00LjEtMS42Yy0yLjEtLjgtMi4zLTEuOS0zLjItMy4xLS44LTEuMi0xLjQtMi42LTEuNy00LjEtLjMtMS40LTEuMi0yLjkgMC00LjQgLjItMS40IC44LTIuOCAxLjYtNC4xek0zMTIuMyA2LjNjNTYuMiAxMi43IDEwNi40IDQ0IDE0Mi43IDg4LjcgMzAuNCAzNy42IDQ5LjYgODMgNTUuMyAxMzEgNS42IDQ4LTIuNCA5Ni43LTIzLjIgMTQwLjMtMjAuOSA0My42LTUzLjYgODAuNS05NC41IDEwNi4zLTQwLjkgMjUuNy04OC4yIDM5LjQtMTM2LjYgMzkuNC0xLjUgMC0yLjktLjMtNC4zLS45LTEuNC0uNS0yLjYtMS40LTMuNy0yLjQtMS45LTEuMS0xLjktMi4zLTIuNC0zLjctLjYtMS40LS45LTIuOC0uOS00LjNsMC05OS4yLTI0LjUgMjZjLTIuMSAyLjItNC45IDIuNi03LjkgMy42LTMgLjEtNS45LTEuMS04LjEtNC0yLjItMS4yLTMuNS00LTMuNS03LS4xLTMgMS01LjkgMy04LjFsNDQuMS00Ni42YzEuMy0yLjIgNS4xLTMuNCA3LjMtMy40IDQgMCA2LjkgMS4yIDkuMSAzLjRsNDQgNDYuNmMyLjEgMi4yIDMuMiA1LjEgMy4xIDguMXMtMS40IDUuOC0zLjUgN2MtMi4yIDIuOS01LjEgNC4xLTguMSA0LTMtMS01LjktMS40LTcuOS0zLjZsLTI0LjUtMjUuOSAwIDg3LjVjNTYuNC0yLjggMTA5LjgtMjUuOCAxNTAuNS02NSA0MC43LTQwIDY1LjgtOTEuNyA3MC43LTE0Ny45IDQuOC01Ny4xLTEwLjgtMTEyLjMtNDQuMS0xNTcuOS0zMy4zLTQ1LjYtODItNzcuNS0xMzctODkuOS0xLjUtLjMtMi44LS45LTQuMS0xLjgtMS4yLS45LTIuMi0xLjktMy0zLjItLjgtMS4yLTIuMi0yLjYtMS42LTQuMS0uMi0xLjUtLjItMyAuMS00LjQgLjQtMS40IDEtMi44IDEuOC00IC45LTEuMiAyLTIuMiAzLjItMyAxLjMtLjggMi43LTEuMyA0LjEtMS42IDEuNS0uMyAzLS4yIDQuNCAuMXptNDAuOCAyNDkuOGMwIDMxLjQtMTcuNSA2MS4xLTQ5LjMgODMuNS0yLjEgMS41LTQuOCAyLjMtNy40IDItMi43LS4yLTUuMi0xLjMtNy0zLjJsLTcwLjEtNjkuOGMtMi4yLTIuMS00LjItNS0zLjQtOCAwLTMgMS4yLTUuOSAzLjMtOCAyLjItMi4xIDUtMy4zIDgtMy4zczUuOSAxLjIgOCAzLjNsNjMuMSA2Mi44YzIwLjgtMTcuMSAzMi4yLTM3LjkgMzIuMi01OS4zIDAtMjMuOS0xNC4xLTQ3LTM5LjctNjUuMS0yLjUtMS43LTQuMS00LjMtNC42LTcuMy0uNS0yLjkgLjEtNiAxLjktOC40IDEuNy0yLjUgNC4zLTQuMSA3LjMtNC42IDIuOS0uNSA2IC4xIDguNCAxLjkgMzEuOCAyMi40IDQ5LjMgNTIuMSA0OS4zIDgzLjV6TTIxNi43IDM0MS41Yy0zIC41LTYtLjItOC41LTEuOS0zMS43LTIyLjQtNTAuMS01Mi4xLTUwLjEtODMuNXMxOC40LTYxLjEgNTAuMS04My41YzIuMi0xLjYgNC45LTIuMyA3LjUtMi4xIDIuNyAuMyA1LjEgMS40IDcgMy4zbDcwLjEgNjkuOGMyLjEgMi4xIDMuMyA1IDMuMyA4cy0yIDUuOC0zLjMgOGMtMi4xIDIuMS01IDMuMy03LjkgMy4zLTMgMC02LjgtMS4yLTgtMy4zbC02My4xLTYyLjljLTIwLjkgMTcuMy0zMi4yIDM4LTMyLjIgNTkuNCAwIDIzIDE0LjEgNDcgMzkuNyA2NSAyLjQgMS44IDQuMSA0LjQgNC42IDcuNCAuNSAyLjktLjIgNS45LTEuOSA4LjQtMS43IDIuNC00LjQgNC4xLTcuMyA0LjZ6Il19LHZidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLWJ5IixpY29uOls1MTIsNTEyLFtdLCJmNGU3IiwiTTMyMi45IDE5NC40bDAgMTAxLjQtMjguMyAwIDAgMTIwLjUtNzcuMSAwIDAtMTIwLjQtMjguMyAwIDAtMTAxLjVjMC00LjQgMS42LTguMiA0LjYtMTEuMyAzLjEtMy4xIDYuOS00LjcgMTEuMy00LjdsMTAxLjkgMGM0LjEgMCA3LjggMS42IDExLjEgNC43IDMuMSAzLjIgNC44IDYuOSA0LjggMTEuM3ptLTMyLjUtNjQuNWEzNC41IDM0LjUgMCAxIDEgLTY5IC44IDM0LjUgMzQuNSAwIDEgMSA2OS0uOHpNMjU1LjYgOEMzOTcuNCA4IDUwNCAxMTguMSA1MDQgMjU2IDUwNCA0MDMuMSAzODUuNSA1MDQgMjU1LjYgNTA0IDEyMS42IDUwNCA4IDM5NC41IDggMjU2IDggMTIzLjEgMTEyLjcgOCAyNTUuNiA4em0uOCA0NC43Yy0xMTguMiAwLTIwMy43IDk3LjktMjAzLjcgMjAzLjMgMCAxMDkuOCA5MS4yIDIwMi44IDIwMy43IDIwMi44IDEwMy4yIDAgMjAyLjgtODEuMSAyMDIuOC0yMDIuOCAuMS0xMTMuOC05MC4yLTIwMy4zLTIwMi44LTIwMy4zeiJdfSx4YnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidW1icmFjbyIsaWNvbjpbNTEyLDUxMixbXSwiZjhlOCIsIk0yNTYuMyA4YTI0OCAyNDggMCAxIDAgLS43IDQ5NiAyNDggMjQ4IDAgMSAwIC43LTQ5NnptMTQ1IDI2NmMtLjggMjcuMS01LjQgNDguOC0xNCA2NXMtMjMuMSAyNy45LTQzLjUgMzVjLTIwLjQgNy4xLTQ4LjkgMTAuNi04NS40IDEwLjVsLTQuNiAwYy0zNi41IC4xLTY1LTMuMy04NS40LTEwLjVzLTM0LjktMTguOC00My41LTM1Yy04LjYtMTYuMi0xMy4yLTM3LjktMTQtNjUtLjctMTAuMi0uNy0yMC41IDAtMzAuNyAuNC0xNC43IDEuNi0yOS4zIDMuNi00My45IDEuOS0xMy40IDMuNi0yMi42IDUuNC0zMiAxLTQuOSAxLjMtNi40IDEuOC04LjQgLjMtMS4xIC45LTIuMSAxLjgtMi44czItMS4xIDMuMS0xLjFsLjcgMCAzMiA1YzEuMiAuMiAyLjIgLjggMyAxLjdzMS4yIDIuMSAxLjIgMy4zYzAgLjMgMCAuNSAwIC44bC0xLjcgOC44Yy0xLjYgOC44LTMuMiAyMC4xLTQuOCAzMy43LTEuNyAxNC0yLjUgMjguMS0yLjYgNDIuMi0uMiAyNyAyLjUgNDYuOSA4LjEgNTkuOCAyLjggNi40IDcuMiAxMiAxMi42IDE2LjRzMTEuOSA3LjQgMTguNyA4LjhjMTguOCA0IDM4LjEgNS43IDU3LjMgNS4xbDEwLjMgMGMxOS4yIC42IDM4LjUtMS4yIDU3LjMtNS4yIDYuOC0xLjQgMTMuMi00LjUgMTguNi04LjhzOS43LTEwIDEyLjUtMTYuNGM1LjctMTIuOSA4LjQtMzIuOSA4LjEtNTkuOC0uMS0xNC4xLTEtMjguMi0yLjYtNDIuMS0xLjctMTMuNi0zLjMtMjQuOC00LjktMzMuN2wtMS43LTguOGMwLS4zIDAtLjUgMC0uOCAwLTEuMiAuNC0yLjQgMS4yLTMuM3MxLjgtMS41IDMtMS43bDMyLTUgLjggMGMxLjEgMCAyLjIgLjQgMy4xIDEuMXMxLjUgMS43IDEuOCAyLjhjLjYgMiAuOCAzLjYgMS44IDguNCAxLjggOS42IDMuNSAxOC44IDUuNCAzMiAyIDE0LjYgMy4yIDI5LjIgMy42IDQzLjkgLjcgMTAuMiAuNyAyMC41IDAgMzAuN2wwIDB6Il19LHlidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJob29saSIsaWNvbjpbNjQwLDUxMixbXSwiZjQyNyIsIk0xNDQuNSAzNTJsMzguMyAuOGMtMTMuMi00LjYtMjYtMTAuMi0zOC4zLTE2LjhsMCAxNnptNTcuNy01LjNsMCA1LjMtMTkuNCAuOGMzNi41IDEyLjUgNjkuOSAxNC4yIDk0LjcgNy4yLTE5LjkgLjItNDUuOC0yLjYtNzUuMy0xMy4zek02MTEuMSAyMzEuNWMxNS45IDAgMjguOS0xMi45IDI4LjktMjguOXMtMTIuOS0yNC41LTI4LjktMjQuNWMtMTUuOSAwLTI4LjkgOC42LTI4LjkgMjQuNXMxMi45IDI4LjkgMjguOSAyOC45ek01ODIuMSAzNTJsNTcuOSAwIDAtMTEwLjUtNTcuOSAwIDAgMTEwLjV6bS03My43IDBsNTcuOSAwIDAtMTk1LjMtNTcuOSAyNy4zIDAgMTY4em0tMzEtMTE5LjRjLTE4LjItMTguMi01MC40LTE3LjEtNTAuNC0xNy4xcy0zMi4zLTEuMS01MC40IDE3LjFjLTE4LjIgMTguMi0xNi44IDMzLjktMTYuOCA1Mi42cy0xLjQgMzQuMyAxNi44IDUyLjUgNTAuNCAxNy4xIDUwLjQgMTcuMSAzMi4zIDEuMSA1MC40LTE3LjFjMTguMi0xOC4yIDE2LjgtMzMuOCAxNi44LTUyLjUtLjEtMTguOCAxLjMtMzQuNS0xNi44LTUyLjZ6bS0zOS44IDcxLjljMCAzLjYtMS44IDEyLjUtMTAuNyAxMi41cy0xMC43LTguOS0xMC43LTEyLjVsMC00MC40YzAtOC43IDcuMy0xMC45IDEwLjctMTAuOXMxMC43IDIuMSAxMC43IDEwLjlsMCA0MC40ek0zMzEuNCAyMzIuNmMtMTguMi0xOC4yLTUwLjQtMTcuMS01MC40LTE3LjFzLTMyLjItMS4xLTUwLjQgMTcuMWMtMS45IDEuOS0zLjcgMy45LTUuMyA2LTM4LjItMjkuNi03Mi41LTQ2LjUtMTAyLjEtNjEuMWwwLTIwLjctMjIuNSAxMC42Yy01NC40LTIyLjEtODktMTguMi05Ny4zIC4xIDAgMC0yNC45IDMyLjggNjEuOCAxMTAuOGwwIDczLjcgNTcuOSAwIDAtMjguNmMtNi41LTQuMi0xMy04LjctMTkuNC0xMy42LTE0LjgtMTEuMi0yNy40LTIxLjYtMzguNC0zMS40bDAtMzFjMTMuMSAxNC43IDMwLjUgMzEuNCA1My40IDUwLjNsNC41IDMuNiAwLTI5LjhjMC02LjkgMS43LTE4LjIgMTAuOC0xOC4yczEwLjYgNi45IDEwLjYgMTVsMCA0OC43YzE4IDEyLjIgMzcuMyAyMi4xIDU3LjcgMjkuNmwwLTkzLjljMC0xOC43LTEzLjQtMzcuNC00MC42LTM3LjQtMTUuOC0uMS0zMC41IDguMi0zOC41IDIxLjlsMC01NC4zYzQxLjkgMjAuOSA4My45IDQ2LjUgOTkuOSA1OC4zLTEwLjIgMTQuNi05LjMgMjguMS05LjMgNDMuNyAwIDE4LjctMS40IDM0LjMgMTYuOCA1Mi41czUwLjQgMTcuMSA1MC40IDE3LjEgMzIuMyAxLjEgNTAuNC0xNy4xYzE4LjItMTguMiAxNi43LTMzLjggMTYuNy01Mi41IDAtMTguNSAxLjUtMzQuMi0xNi43LTUyLjN6TTY1LjIgMTg0bDAgNjMuM2MtNDguNy01NC41LTM4LjktNzYtMzUuMi03OS4xIDEzLjUtMTEuNCAzNy41LTggNjQuNCAyLjFMNjUuMiAxODR6TTI5MS43IDMwNC41YzAgMy42LTEuOCAxMi41LTEwLjcgMTIuNXMtMTAuNy04LjktMTAuNy0xMi41bDAtNDAuNGMwLTguNyA3LjMtMTAuOSAxMC43LTEwLjlzMTAuNyAyLjEgMTAuNyAxMC45bDAgNDAuNHoiXX0sRXVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1naXQiLGljb246WzQ0OCw1MTIsWyJnaXQtc3F1YXJlIl0sImYxZDIiLCJNMTIwLjggMzM1LjVjLTUuOS0uNC0xMi42LS44LTIwLjItMS4zLTMuMyA0LjEtNi42IDguNC02LjYgMTMuNSAwIDE4LjUgNjUuNSAxOC41IDY1LjUtMS41IDAtOC4zLTcuNC04LjctMzguOC0xMC43bC4xIDB6bTcuOC0xMTcuOWMtMzIuMyAwLTMzLjcgNDQuNS0uNyA0NC41IDMyLjUgMCAzMS43LTQ0LjUgLjctNDQuNXpNMzg0IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjR6TTI0My45IDE3Mi4yYy0xNC41IDAtMjIuOS04LjQtMjIuOS0yMi45czguNC0yMi4zIDIyLjktMjIuM2MxNC43IDAgMjMuMSA3LjggMjMuMSAyMi4zcy04LjQgMjIuOS0yMy4xIDIyLjl6TTE0OS42IDE5NWw0OS41IDAgMCAyMS42LTIzLjQgMS44YzQuNiA1LjggOS40IDE0IDkuNCAyNS43IDAgNDguNy01Ny4yIDQ3LjItNzQuMiA0Mi40bC04LjQgMTMuNGM1IC4zIDkuOCAuNiAxNC4zIC44IDU2LjMgMy4yIDgwLjUgNC42IDgwLjUgMzguNSAwIDI5LjItMjUuNyA0NS43LTY5LjkgNDUuNy00NiAwLTYzLjUtMTEuNi02My41LTMxLjcgMC0xMS40IDUuMS0xNy41IDE0LTI1LjktOC40LTMuNS0xMS4yLTkuOS0xMS4yLTE2LjggMC05LjYgNy40LTE2LjMgMjMtMzAuNmwuMi0uMmMtMTIuNC02LjEtMjEuOC0xOS4zLTIxLjgtMzguMSAwLTUxLjYgNTYuNi01My4zIDgxLjYtNDYuOGwtLjEgLjJ6TTI3MC41IDMwMy4xbDEzIDEuOCAwIDIwLjEtNzIuNCAwIDAtMjAuMWMyLjctLjQgNS0uNyA2LjktLjkgOS45LTEuMiAxMC4xLTEuMyAxMC4xLTZsMC03NC43YzAtNC40LS45LTQuNy0xMC4xLTcuOC0xLjktLjctNC4yLTEuNC02LjktMi40bDIuOC0yMC42IDUyLjYgMCAwIDEwNS41YzAgNC4xIC4yIDQuNiA0LjEgNS4xbC0uMSAwem0xMDYuNi0xMC40TDM4NCAzMTVjLTEwLjkgNS40LTI2LjkgMTAuMi00MS40IDEwLjItMzAuMiAwLTQxLjctMTIuMi00MS43LTQwLjlsMC02Ni42YzAtLjggMC0xLjQtLjItMS44LS44LTEuMi00LjItLjctMTkuNi0uN2wwLTIyLjZjMjIuMy0yLjUgMzEuMi0xMy43IDM0LTQxLjRsMjQuMiAwYzAgMzMuMy0uNiAzOCAuNyAzOC42IC4zIC4xIC43IDAgMS4zIDBsMzUuOCAwIDAgMjUuNC0zNy44IDAgMCA2MS42Yy0uMiA2LjMtLjkgMzAuNCAzNy45IDE1LjlsLS4xIDB6Il19LHdidD1FdWUsTWJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9kbm9rbGFzc25pa2kiLGljb246WzMyMCw1MTIsW10sImYyNjMiLCJNMjc1LjEgMzM0Yy0yNy40IDE3LjQtNjUuMSAyNC4zLTkwIDI2LjlsMjAuOSAyMC42IDc2LjMgNzYuM2MyNy45IDI4LjYtMTcuNSA3My4zLTQ1LjcgNDUuNy0xOS4xLTE5LjQtNDcuMS00Ny40LTc2LjMtNzYuNkw4NCA1MDMuNGMtMjguMiAyNy41LTczLjYtMTcuNi00NS40LTQ1LjcgMTkuNC0xOS40IDQ3LjEtNDcuNCA3Ni4zLTc2LjNsMjAuNi0yMC42Yy0yNC42LTIuNi02Mi45LTkuMS05MC42LTI2LjktMzIuNi0yMS00Ni45LTMzLjMtMzQuMy01OSA3LjQtMTQuNiAyNy43LTI2LjkgNTQuNi01LjcgMCAwIDM2LjMgMjguOSA5NC45IDI4LjlTMjU1IDI2OS4yIDI1NSAyNjkuMmMyNi45LTIxLjEgNDcuMS04LjkgNTQuNiA1LjcgMTIuNCAyNS43LTEuOSAzOC0zNC41IDU5LjF6bTE0LjYtMjA0LjdhMTI5LjcgMTI5LjcgMCAxIDEgLTI1OS40IC40IDEyOS43IDEyOS43IDAgMSAxIDI1OS40LS40em0tMTkzLjQgLjRhNjMuNyA2My43IDAgMSAwIDEyNy40LS40IDYzLjcgNjMuNyAwIDEgMCAtMTI3LjQgLjR6Il19LGtidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkcnVwYWwiLGljb246WzM4NCw1MTIsW10sImYxYTkiLCJNMjcyLjMgMTA4LjFDMjM2LjUgNzIuNSAyMDIuNSAzOC40IDE5Mi40IDAgMTgyLjQgMzguNCAxNDguMSA3Mi41IDExMi40IDEwOC4xIDU4LjggMTYxLjctMS45IDIyMi40LTEuOSAzMTMuNC00LjMgNDIwLjcgODAuOCA1MDkuNiAxODguMSA1MTJzMTk2LjItODIuOCAxOTguNS0xOTAuMWMuMS0yLjggLjEtNS42IDAtOC41IDAtOTEuMS02MC44LTE1MS43LTExNC4zLTIwNS4zek05OCAzMzEuMWMtNS45IDcuNS0xMSAxNS42LTE1LjIgMjQuMi0uMyAuNy0uOCAxLjMtMS4zIDEuOHMtMS4yIC44LTIgMWwtMS43IDBjLTQuMyAwLTkuMi04LjUtOS4yLTguNS0xLjMtMi0yLjUtNC4yLTMuNy02LjRsLS44LTEuOGMtMTEuMi0yNS43LTEuNS02Mi4zLTEuNS02Mi4zIDQuOC0xNy44IDEyLjctMzQuNyAyMy4yLTQ5LjkgNi40LTkuNiAxMy41LTE4LjkgMjEtMjcuN2w5LjIgOS4yIDQzLjUgNDQuNGMuOCAuOSAxLjMgMi4xIDEuMyAzLjNzLS41IDIuNC0xLjMgMy4zTDExNC4xIDMxMi4zIDk4IDMzMS4xem05Ni42IDEyNy4zYy0xMi45LS4xLTI1LjYtMy45LTM2LjQtMTFzLTE5LjQtMTcuMS0yNC42LTI4LjktNy0yNC45LTUtMzcuNyA3LjYtMjQuNyAxNi4yLTM0LjRjMTQuMi0xNi45IDMxLjUtMzMuNSA1MC4zLTU1LjMgMjIuMyAyMy44IDM2LjkgNDAuMSA1MS4yIDU4IDEuMSAxLjQgMi4xIDIuOSAzIDQuNCA3LjggMTEuMSAxMiAyNC40IDEyIDM4IDAgOC44LTEuNyAxNy40LTUgMjUuNXMtOC4yIDE1LjUtMTQuNCAyMS43LTEzLjUgMTEuMS0yMS42IDE0LjUtMTYuNyA1LjEtMjUuNSA1LjFsLS4yIDB6TTMyMC43IDM1MS42Yy0uNCAxLjQtMS4yIDIuNi0yLjMgMy42cy0yLjQgMS42LTMuOCAxLjhsLTEuMyAwYy0yLjYtLjktNC45LTIuNy02LjMtNS4xLTExLjYtMTcuNS0yNC45LTMzLjktMzkuNS00OWwtMTcuOC0xOC40LTU5LjEtNjEuM2MtMTIuNC0xMS41LTI0LjItMjMuNi0zNS40LTM2LjMtLjMtLjUtLjYtLjktLjktMS40LTItMi44LTMuNi01LjktNC43LTkuMmwwLTEuOGMtLjgtNS0uNC0xMC4xIDEuMi0xNXM0LjQtOS4yIDgtMTIuN2MxMS40LTExLjQgMjMtMjMgMzMuOC0zNC45IDEyIDEzLjMgMjQuOCAyNiAzNy40IDM4LjYgMjUuOCAyNCA0OS4xIDUwLjUgNjkuNiA3OS4xIDE3LjMgMjQuNSAyNi43IDUzLjggMjcgODMuOC0uMSAxMi45LTIuMiAyNS44LTYgMzguMnoiXX0sU2J0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJsb2dnZXItYiIsaWNvbjpbNDQ4LDUxMixbXSwiZjM3ZCIsIk00NDYuNiAyMjIuN2MtMS44LTgtNi44LTE1LjQtMTIuNS0xOC41LTEuOC0xLTEzLTIuMi0yNS0yLjctMjAuMS0uOS0yMi4zLTEuMy0yOC43LTUtMTAuMS01LjktMTIuOC0xMi4zLTEyLjktMjkuNS0uMS0zMy0xMy44LTYzLjctNDAuOS05MS4zLTE5LjMtMTkuNy00MC45LTMzLTY1LjUtNDAuNS01LjktMS44LTE5LjEtMi40LTYzLjMtMi45LTY5LjQtLjgtODQuOCAuNi0xMDguNCAxMC00My41IDE3LjItNzQuNyA1My44LTg2LjEgMTAwLjYtMi4xIDguOC0yLjYgMjIuOS0zLjEgMTAzLjktLjYgMTAxLjUgLjEgMTE2LjQgNi40IDEzNi41IDE1LjYgNDkuNiA1OS45IDg2LjMgMTA0LjQgOTQuMyAxNC44IDIuNyAxOTcuMyAzLjMgMjE2IC44IDMyLjUtNC40IDU4LTE3LjUgODEuOS00MS45IDE3LjMtMTcuNyAyOC4xLTM2LjggMzUuMi02Mi4xIDQuOS0xNy42IDQuNS0xNDIuOCAyLjUtMTUxLjd6TTEyNC41IDE1OS4xYzcuOC03LjkgMTAtOC4yIDU4LjgtOC4yIDQzLjkgMCA0NS40IC4xIDUxLjggMy40IDkuMyA0LjcgMTMuNCAxMS4zIDEzLjQgMjEuOSAwIDkuNS0zLjggMTYuMi0xMi4zIDIxLjYtNC42IDIuOS03LjMgMy4xLTUwLjMgMy4zLTI2LjUgLjItNDcuNy0uNC01MC44LTEuMi0xNi42LTQuNy0yMi44LTI4LjUtMTAuNi00MC44ek0zMTYuMyAzNTguOWwtMTQuOSAyLjQtNzcuNSAuOWMtNjguMSAuOC04Ny4zLS40LTkwLjktMi03LjEtMy4xLTEzLjgtMTEuNy0xNC45LTE5LjQtMS4xLTcuMyAyLjYtMTcuMyA4LjItMjIuNCA3LjEtNi40IDEwLjItNi42IDk3LjMtNi43IDg5LjYtLjEgODkuMS0uMSA5Ny42IDcuOCAxMi4xIDExLjMgOS41IDMxLjItNC45IDM5LjR6Il19LHpidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJpbnZpc2lvbiIsaWNvbjpbNDQ4LDUxMixbXSwiZjdiMCIsIk00MDcuNCAzMkw0MC42IDMyQzE4LjIgMzIgMCA1MC4yIDAgNzIuNkwwIDQzOS40QzAgNDYxLjggMTguMiA0ODAgNDAuNiA0ODBsMzY2LjggMGMyMi40IDAgNDAuNi0xOC4yIDQwLjYtNDAuNmwwLTM2Ni44QzQ0OCA1MC4yIDQyOS44IDMyIDQwNy40IDMyek0xNzYuMSAxNDUuNmMuNCAyMy40LTIyLjQgMjcuMy0yNi42IDI3LjQtMTQuOSAwLTI3LjEtMTItMjcuMS0yNyAuMS0zNS4yIDUzLjEtMzUuNSA1My43LS40ek0zMzIuOCAzNzdjLTY1LjYgMC0zNC4xLTc0LTI1LTEwNi42IDE0LjEtNDYuNC00NS4yLTU5LTU5LjkgLjdsLTI1LjggMTAzLjMtNDUuMSAwIDguMS0zMi41Yy0zMS41IDUxLjgtOTQuNiA0NC40LTk0LjYtNC4zIC4xLTE0LjMgLjktMTQgMjMtMTA0LjFsLTMxLjggMCA5LjctMzUuNiA3Ni40IDBjLTMzLjYgMTMzLjctMzIuNiAxMjYuOS0zMi45IDEzOC4yIDAgMjAuOSA0MC45IDEzLjUgNTcuNC0yMy4ybDE5LjgtNzkuNC0zMi4zIDAgOS43LTM1LjYgNjguOCAwLTguOSA0MC41YzQwLjUtNzUuNSAxMjcuOS00Ny44IDEwMS44IDM4LTE0LjIgNTEuMS0xNC42IDUwLjctMTQuOSA1OC44IDAgMTUuNSAxNy41IDIyLjYgMzEuOC0xNi45TDM4NiAzMjVjLTEwLjUgMzYuNy0yOS40IDUyLTUzLjIgNTJ6Il19LENidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmYWNlYm9vay1mIixpY29uOlszMjAsNTEyLFtdLCJmMzllIiwiTTgwIDI5OS4zbDAgMjEyLjcgMTE2IDAgMC0yMTIuNyA4Ni41IDAgMTgtOTcuOC0xMDQuNSAwIDAtMzQuNmMwLTUxLjcgMjAuMy03MS41IDcyLjctNzEuNSAxNi4zIDAgMjkuNCAuNCAzNyAxLjJsMC04OC43QzI5MS40IDQgMjU2LjQgMCAyMzYuMiAwIDEyOS4zIDAgODAgNTAuNSA4MCAxNTkuNGwwIDQyLjEtNjYgMCAwIDk3LjggNjYgMHoiXX0sX2J0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNlbnRvcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjc4OSIsIk0yODkuNiA5Ny41bDMxLjYgMzEuNy03Ni4zIDc2LjUgMC0xMDguMiA0NC43IDB6TTEyNy4yIDEyOS4ybDc2LjMgNzYuNSAwLTEwOC4yLTQ0LjcgMC0zMS42IDMxLjd6bTQxLjUtNDEuNmw0NC43IDAgMCAxMjcuOSAxMC44IDEwLjggMTAuOC0xMC44IDAtMTI3LjkgNDQuNyAwLTU1LjUtNTUuNi01NS41IDU1LjZ6bTI2LjIgMTY4LjFsLTEwLjgtMTAuOC0xMjguNiAwIDAtNDQuOC01NS41IDU1LjYgNTUuNSA1NS42IDAtNDQuOCAxMjguNiAwIDEwLjgtMTAuOHpNMjc0LjIgMjM1bDEwNy45IDAgMC00NC44LTMxLjYtMzEuNy03Ni4zIDc2LjV6bTE3My4zIDIwLjdsLTU1LjUtNTUuNiAwIDQ0LjgtMTI3LjcgMC0xMC44IDEwLjggMTAuOCAxMC44IDEyNy43IDAgMCA0NC44IDU1LjUtNTUuNnpNNjUuNCAxNzYuMmwzMi41LTMxLjcgOTAuMyA5MC41IDE1LjMgMCAwLTE1LjMtOTAuMy05MC41IDMxLjYtMzEuNy03OS40IDAgMCA3OC43ek0zODIuMSA5Ny41bC03OC41IDAgMzEuNiAzMS43LTkwLjMgOTAuNSAwIDE1LjMgMTUuMyAwIDkwLjMtOTAuNSAzMS42IDMxLjcgMC03OC43ek0yMDMuNSA0MTMuOWwwLTEwOC4xLTc2LjMgNzYuNSAzMS42IDMxLjcgNDQuNyAwIDAtLjF6TTY1LjQgMjM1bDEwOC44IDAtNzYuMy03Ni41LTMyLjUgMzEuNyAwIDQ0Ljh6TTM4Mi4xIDMzNS4ybC0zMS42IDMxLjctOTAuMy05MC41LTE1LjMgMCAwIDE1LjMgOTAuMyA5MC41LTMxLjYgMzEuNyA3OC41IDAgMC03OC43em0wLTU4LjhsLTEwNy45IDAgNzYuMyA3Ni41IDMxLjYtMzEuNyAwLTQ0Ljh6TTMyMS4yIDM4Mi4ybC03Ni4zLTc2LjUgMCAxMDguMSA0NC43IDAgMzEuNi0zMS42ek05Ny45IDM1Mi45bDc2LjMtNzYuNS0xMDguOCAwIDAgNDQuOCAzMi41IDMxLjd6bTE4MS44IDcwLjlsLTQ0LjcgMCAwLTEyNy45LTEwLjgtMTAuOC0xMC44IDEwLjggMCAxMjcuOS00NC43IDAgNTUuNSA1NS42IDU1LjUtNTUuNnpNMTEzLjIgMzgyLjJsOTAuMy05MC41IDAtMTUuMy0xNS4zIDAtOTAuMyA5MC41LTMyLjUtMzEuNyAwIDc4LjcgNzkuNCAwLTMxLjYtMzEuN3oiXX0sVGJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNjYWxld2F5IixpY29uOls0NDgsNTEyLFtdLCJlODU5IiwiTTI0My40IDExNy4zbC04NC4zIDBjLTE4LjUgMi4xLTMyLjcgMTcuNS0zMy40IDM2bDAgMTIxLjljMCA4LjIgMy4yIDE1LjMgOC41IDIwLjdzMTIuNSA4LjYgMjAuNiA4LjZjMTYgMCAyOS4yLTEzLjIgMjkuMi0yOS4ybDAtNzcuNGMwLTEyLjEgMTAtMjIuMSAyMi4xLTIyLjFsMzguMSAwYzguMiAwIDE1LjMtMy4yIDIwLjYtOC42czguNS0xMi44IDguNS0yMWMwLTE2LTEzLjktMjguOS0yOS45LTI4Ljl6TTIwNS4zIDM5NS40bDg0LjMgMGMxOC41LTIuMSAzMi43LTE3LjUgMzMuNC0zNmwwLTEyMS45YzAtOC4yLTMuMi0xNS4zLTguNS0yMC43cy0xMi41LTguNi0yMC42LTguNmMtMTYgMC0yOS4yIDEzLjItMjkuMiAyOS4ybDAgNzcuNGMwIDEyLjEtMTAgMjIuMS0yMi4xIDIyLjFsLTM4LjEgMGMtOC4yIDAtMTUuMyAzLjItMjAuNiA4LjZzLTguNSAxMi44LTguNSAyMWMuNCAxNiAxMy45IDI4LjkgMjkuOSAyOC45ek0xMDQuMyAwTDI1Ny42IDBjMTAxIDAgMTgyLjUgODEuNiAxODIuMSAxODIuOWwwIDI0Mi44Yy00LjYgNDYtNDIgODIuNC04OC4yIDg2LjNMMTkwIDUxMkM4OS4zIDUxMiA3LjUgNDMwIDcuNSAzMjkuMUw3LjUgOTdjMC01My41IDQzLjQtOTcgOTYuOC05N3pNMzgxLjcgMTgyLjljMC02OC41LTU1LjktMTI0LjQtMTI0LjItMTI0LjRsLTE1MyAwQzgzLjMgNTguNSA2Ni4yIDc1LjYgNjYuMiA5N2wwIDIzMi4xYzAgNjguOCA1NS41IDEyNC40IDEyNC4yIDEyNC40bDE1OC43IDBjMTYuNy0yLjEgMjkuOS0xNSAzMi43LTMxLjRsMC0yMzkuMnoiXX0sTGJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLWFtYXpvbi1wYXkiLGljb246WzU3Niw1MTIsW10sImY0MmQiLCJNMTI0LjcgMjAxLjhjLjEtMTEuOCAwLTIzLjUgMC0zNS4zbDAtMzUuM2MwLTEuMyAuNC0yIDEuNC0yLjcgMTEuNS04IDI0LjEtMTIuMSAzOC4yLTExLjEgMTIuNSAuOSAyMi43IDcgMjguMSAyMS43IDMuMyA4LjkgNC4xIDE4LjIgNC4xIDI3LjcgMCA4LjctLjcgMTcuMy0zLjQgMjUuNi01LjcgMTcuOC0xOC43IDI0LjctMzUuNyAyMy45LTExLjctLjUtMjEuOS01LTMxLjQtMTEuNy0uOS0uOC0xLjQtMS42LTEuMy0yLjh6bTE1NC45IDE0LjZjNC42IDEuOCA5LjMgMiAxNC4xIDEuNSAxMS42LTEuMiAyMS45LTUuNyAzMS4zLTEyLjUgLjktLjYgMS4zLTEuMyAxLjMtMi41LS4xLTMuOSAwLTcuOSAwLTExLjggMC00LS4xLTggMC0xMiAwLTEuNC0uNC0yLTEuOC0yLjItNy0uOS0xMy45LTIuMi0yMC45LTIuOS03LS42LTE0LS4zLTIwLjggMS45LTYuNyAyLjItMTEuNyA2LjItMTMuNyAxMy4xLTEuNiA1LjQtMS42IDEwLjggLjEgMTYuMiAxLjYgNS41IDUuMiA5LjIgMTAuNCAxMS4yek01NzYgODBsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDQ4MCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek0zNjguNSAxMDMuOWMuNCAxLjcgLjkgMy40IDEuNiA1LjEgMTYuNSA0MC42IDMyLjkgODEuMyA0OS41IDEyMS45IDEuNCAzLjUgMS43IDYuNCAuMiA5LjktMi44IDYuMi00LjkgMTIuNi03LjggMTguNy0yLjYgNS41LTYuNyA5LjUtMTIuNyAxMS4yLTQuMiAxLjEtOC41IDEuMy0xMi45IC45LTIuMS0uMi00LjItLjctNi4zLS44LTIuOC0uMi00LjIgMS4xLTQuMyA0LS4xIDIuOC0uMSA1LjYgMCA4LjMgLjEgNC42IDEuNiA2LjcgNi4yIDcuNSA0LjcgLjggOS40IDEuNiAxNC4yIDEuNyAxNC4zIC4zIDI1LjctNS40IDMzLjEtMTcuOSAyLjktNC45IDUuNi0xMC4xIDcuNy0xNS40IDE5LjgtNTAuMSAzOS41LTEwMC4zIDU5LjItMTUwLjUgLjYtMS41IDEuMS0zIDEuMy00LjYgLjQtMi40LS43LTMuNi0zLjEtMy43LTUuNi0uMS0xMS4xIDAtMTYuNyAwLTMuMSAwLTUuMyAxLjQtNi40IDQuMy0uNCAxLjEtLjkgMi4zLTEuMyAzLjRsLTI5LjEgODMuN2MtMi4xIDYuMS00LjIgMTIuMS02LjUgMTguNi0uNC0uOS0uNi0xLjQtLjgtMS45LTEwLjgtMjkuOS0yMS42LTU5LjktMzIuNC04OS44LTEuNy00LjctMy41LTkuNS01LjMtMTQuMi0uOS0yLjUtMi43LTQtNS40LTQtNi40LS4xLTEyLjgtLjItMTkuMi0uMS0yLjIgMC0zLjMgMS42LTIuOCAzLjd6TTI0Mi40IDIwNmMxLjcgMTEuNyA3LjYgMjAuOCAxOCAyNi42IDkuOSA1LjUgMjAuNyA2LjIgMzEuNyA0LjYgMTIuNy0xLjkgMjMuOS03LjMgMzMuOC0xNS41IC40LS4zIC44LS42IDEuNC0xIC41IDMuMiAuOSA2LjIgMS41IDkuMiAuNSAyLjYgMi4xIDQuMyA0LjUgNC40IDQuNiAuMSA5LjEgLjEgMTMuNyAwIDIuMy0uMSAzLjgtMS42IDQtMy45IC4xLS44IC4xLTEuNiAuMS0yLjNsMC04OC44YzAtMy42LS4yLTcuMi0uNy0xMC44LTEuNi0xMC44LTYuMi0xOS43LTE1LjktMjUuNC01LjYtMy4zLTExLjgtNS0xOC4yLTUuOS0zLS40LTYtLjctOS4xLTEuMWwtMTAgMGMtLjggLjEtMS42IC4zLTIuNSAuMy04LjIgLjQtMTYuMyAxLjQtMjQuMiAzLjUtNS4xIDEuMy0xMCAzLjItMTUgNC45LTMgMS00LjUgMy4yLTQuNCA2LjUgLjEgMi44LS4xIDUuNiAwIDguMyAuMSA0LjEgMS44IDUuMiA1LjcgNC4xIDYuNS0xLjcgMTMuMS0zLjUgMTkuNy00LjggMTAuMy0xLjkgMjAuNy0yLjcgMzEuMS0xLjIgNS40IC44IDEwLjUgMi40IDE0LjEgNyAzLjEgNCA0LjIgOC44IDQuNCAxMy43IC4zIDYuOSAuMiAxMy45IC4zIDIwLjggMCAuNC0uMSAuNy0uMiAxLjItLjQgMC0uOCAwLTEuMS0uMS04LjgtMi4xLTE3LjctMy42LTI2LjgtNC4xLTkuNS0uNS0xOC45IC4xLTI3LjkgMy4yLTEwLjggMy44LTE5LjUgMTAuMy0yNC42IDIwLjgtNC4xIDguMy00LjYgMTctMy40IDI1Ljh6TTk4LjcgMTA2LjlsMCAxNzUuM2MwIC44IDAgMS43IC4xIDIuNSAuMiAyLjUgMS43IDQuMSA0LjEgNC4yIDUuOSAuMSAxMS44IC4xIDE3LjcgMCAyLjUgMCA0LTEuNyA0LjEtNC4xIC4xLS44IC4xLTEuNyAuMS0yLjVsMC02MC43Yy45IC43IDEuNCAxLjIgMS45IDEuNiAxNSAxMi41IDMyLjIgMTYuNiA1MS4xIDEyLjkgMTcuMS0zLjQgMjguOS0xMy45IDM2LjctMjkuMiA1LjgtMTEuNiA4LjMtMjQuMSA4LjctMzcgLjUtMTQuMy0xLTI4LjQtNi44LTQxLjctNy4xLTE2LjQtMTguOS0yNy4zLTM2LjctMzAuOS0yLjctLjYtNS41LS44LTguMi0xLjJsLTcgMGMtMS4yIC4yLTIuNCAuMy0zLjYgLjUtMTEuNyAxLjQtMjIuMyA1LjgtMzEuOCAxMi43LTIgMS40LTMuOSAzLTUuOSA0LjUtLjEtLjUtLjMtLjgtLjQtMS4yLS40LTIuMy0uNy00LjYtMS4xLTYuOS0uNi0zLjktMi41LTUuNS02LjQtNS42bC05LjcgMGMtNS45LS4xLTYuOSAxLTYuOSA2Ljh6TTQ5My42IDMzOWMtMi43LS43LTUuMSAwLTcuNiAxLTQzLjkgMTguNC04OS41IDMwLjItMTM2LjggMzUuOC0xNC41IDEuNy0yOS4xIDIuOC00My43IDMuMi0yNi42IC43LTUzLjItLjgtNzkuNi00LjMtMTcuOC0yLjQtMzUuNS01LjctNTMtOS45LTM3LTguOS03Mi43LTIxLjctMTA2LjctMzguOC04LjgtNC40LTE3LjQtOS4zLTI2LjEtMTQtMy44LTIuMS02LjItMS41LTguMiAyLjFsMCAxLjdjMS4yIDEuNiAyLjIgMy40IDMuNyA0LjggMzYgMzIuMiA3Ni42IDU2LjUgMTIyIDcyLjkgMjEuOSA3LjkgNDQuNCAxMy43IDY3LjMgMTcuNSAxNCAyLjMgMjggMy44IDQyLjIgNC41IDMgLjEgNiAuMiA5IC40IC43IDAgMS40IC4yIDIuMSAuM2wxNy43IDBjLjctLjEgMS40LS4zIDIuMS0uMyAxNC45LS40IDI5LjgtMS44IDQ0LjYtNCAyMS40LTMuMiA0Mi40LTguMSA2Mi45LTE0LjcgMjkuNi05LjYgNTcuNy0yMi40IDgzLjQtNDAuMSAyLjgtMS45IDUuNy0zLjggOC02LjIgNC4zLTQuNCAyLjMtMTAuNC0zLjMtMTEuOXpNNTQ0IDMxMS4zYy0uOC00LjItNC01LjgtNy42LTctNS43LTEuOS0xMS42LTIuOC0xNy42LTMuMy0xMS0uOS0yMi0uNC0zMi44IDEuNi0xMiAyLjItMjMuNCA2LjEtMzMuNSAxMy4xLTEuMiAuOC0yLjQgMS44LTMuMSAzLS42IC45LS43IDIuMy0uNSAzLjQgLjMgMS4zIDEuNyAxLjYgMyAxLjUgLjYgMCAxLjIgMCAxLjgtLjFsMTkuNS0yLjFjOS42LS45IDE5LjItMS41IDI4LjgtLjggNC4xIC4zIDguMSAxLjIgMTIgMi4yIDQuMyAxLjEgNi4yIDQuNCA2LjQgOC43IC4zIDYuNy0xLjIgMTMuMS0yLjkgMTkuNS0zLjUgMTIuOS04LjMgMjUuNC0xMy4zIDM3LjgtLjMgLjgtLjcgMS43LS44IDIuNS0uNCAyLjUgMSA0IDMuNCAzLjUgMS40LS4zIDMtMS4xIDQtMi4xIDMuNy0zLjYgNy41LTcuMiAxMC42LTExLjIgMTAuNy0xMy44IDE3LTI5LjYgMjAuNy00Ni42IC43LTMgMS4yLTYuMSAxLjctOS4xIC4yLTQuNyAuMi05LjYgLjItMTQuNXoiXX0sJGJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImViYXkiLGljb246WzY0MCw1MTIsW10sImY0ZjQiLCJNNjA2LjUgMTg5LjVsLTU0LjggMTA5LjktNTQuOS0xMDkuOS0zNy41IDAgMTAuOSAyMC42Yy0xMS41LTE5LTM1LjktMjYtNjMuMy0yNi0zMS44IDAtNjcuOSA4LjctNzEuNSA0My4xbDMzLjcgMGMxLjQtMTMuOCAxNS43LTIxLjggMzUtMjEuOCAyNiAwIDQxIDkuNiA0MSAzM2wwIDMuNGMtMTIuNyAwLTI4IC4xLTQxLjcgLjQtNDIuNCAuOS02OS42IDEwLTc2LjcgMzQuNCAxLTUuMiAxLjUtMTAuNiAxLjUtMTYuMiAwLTUyLjEtMzkuNy03Ni4yLTc1LjQtNzYuMi0yMS4zIDAtNDMgNS41LTU4LjcgMjQuMmwwLTgwLjYtMzIuMSAwIDAgMTY5LjVjMCAxMC4zLS42IDIyLjktMS4xIDMzLjFsMzEuNSAwYy43LTYuMyAxLjEtMTIuOSAxLjEtMTkuNSAxMy42IDE2LjYgMzUuNCAyNC45IDU4LjcgMjQuOSAzNi45IDAgNjQuOS0yMS45IDczLjMtNTQuMi0uNSAyLjgtLjcgNS44LS43IDkgMCAyNC4xIDIxLjEgNDUgNjAuNiA0NSAyNi42IDAgNDUuOC01LjcgNjEuOS0yNS41IDAgNi42IC4zIDEzLjMgMS4xIDIwLjJsMjkuOCAwYy0uNy04LjItMS0xNy41LTEtMjYuOGwwLTY1LjZjMC05LjMtMS43LTE3LjItNC44LTIzLjhsNjEuNSAxMTYuMS0yOC41IDU0LjEgMzUuOSAwIDk5LjItMTk0LjgtMzQgMHpNMjQ0LjIgMzEzLjhjLTI5LjYgMC01MC4yLTIxLjUtNTAuMi01My44IDAtMzIuNCAyMC42LTUzLjggNTAuMi01My44IDI5LjggMCA1MC4yIDIxLjQgNTAuMiA1My44IDAgMzIuMy0yMC40IDUzLjgtNTAuMiA1My44em0yMDAuOS00Ny4zYzAgMzAtMTcuOSA0OC40LTUxLjYgNDguNC0yNS4xIDAtMzUtMTMuNC0zNS0yNS44IDAtMTkuMSAxOC4xLTI0LjQgNDcuMi0yNS4zIDEzLjEtLjUgMjcuNi0uNiAzOS40LS42bDAgMy4zek0zMy4yIDI2OC4xbDEyOC44IDAgMC04LjVjMC01MS43LTMzLjEtNzUuNC03OC40LTc1LjQtNTYuOCAwLTgzIDMwLjgtODMgNzcuNiAwIDQyLjUgMjUuMyA3NCA4Mi41IDc0IDMxLjQgMCA2OC0xMS43IDc0LjQtNDYuMWwtMzMuMSAwYy0xMiAzNS44LTg3LjcgMzYuNy05MS4yLTIxLjZ6bTk1LTIxLjRsLTk0LjQgMGM2LjktNTYuNiA5Mi4xLTU0LjcgOTQuNCAweiJdfSxEYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY29udGFvIixpY29uOls1MTIsNTEyLFtdLCJmMjZkIiwiTTQ1LjQgMzA1YzE0LjQgNjcuMSAyNi40IDEyOSA2OC4yIDE3NUwzNCA0ODBjLTE4LjcgMC0zNC0xNS4yLTM0LTM0TDAgNjZDMCA0Ny4zIDE1LjIgMzIgMzQgMzJsNTcuNyAwYy0xMy44IDEyLjYtMjYuMSAyNy4yLTM2LjkgNDMuNi00NS40IDcwLTI3IDE0Ni44LTkuNCAyMjkuNHpNNDc4IDMybC05MC4yIDBjMjEuNCAyMS40IDM5LjIgNDkuNSA1Mi43IDg0LjFMMzAzLjQgMTQ1LjRjLTE0LjktMjktMzcuOC01My4zLTgyLjYtNDMuOS0yNC42IDUuMy00MSAxOS4zLTQ4LjMgMzQuNi04LjggMTguNy0xMy4yIDM5LjggOC4yIDE0MC4zIDIxLjEgMTAwLjIgMzMuNyAxMTcuNyA0OS41IDEzMS4yIDEyLjkgMTEuMSAzMy40IDE3IDU4LjMgMTEuNyA0NC41LTkuNCA1NS43LTQwLjcgNTcuNC03My4ybDEzNy40LTI5LjZjMy4yIDcxLjUtMTguNyAxMjUuMi01Ny40IDE2My42bDUyLjEgMGMxOC43IDAgMzQtMTUuMiAzNC0zNEw1MTIgNjZjMC0xOC44LTE1LjItMzQtMzQtMzR6Il19LEFidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlbGxvIixpY29uOls1MTIsNTEyLFtdLCJmNWYxIiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNMzk5LjggMjkzLjJDMzgzLjMgMzU4LjUgMzIzLjggNDA0LjggMjU2IDQwNC44UzEyOC43IDM1OC41IDExMi4yIDI5My4yYy0xLjYtNy40IDIuNS0xNS43IDkuOS0xNy40czE1LjcgMi41IDE3LjQgOS45YzE0IDUyLjkgNjIgOTAuMSAxMTYuNiA5MC4xczEwMi41LTM3LjIgMTE2LjYtOTAuMWMxLjctNy40IDkuOS0xMi40IDE3LjQtOS45IDcuNCAxLjcgMTIuNCA5LjkgOS45IDE3LjR6Il19LEVidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzaXN0cml4IixpY29uOls0NDgsNTEyLFtdLCJmM2VlIiwiTTQ0OCA0NDlMMzAxLjIgMzAwLjJjMjAtMjcuOSAzMS45LTYyLjIgMzEuOS05OS4yIDAtOTMuMS03NC43LTE2OC45LTE2Ni41LTE2OC45LTkxLjktLjEtMTY2LjYgNzUuNy0xNjYuNiAxNjguOFM3NC43IDM2OS44IDE2Ni41IDM2OS44YzM5LjggMCA3Ni4zLTE0LjIgMTA1LTM3LjlMNDE3LjUgNDgwIDQ0OCA0NDl6TTE2Ni41IDMzMC44Yy03MC42IDAtMTI4LjEtNTguMy0xMjguMS0xMjkuOVM5NS45IDcxIDE2Ni41IDcxIDI5NC42IDEyOS4zIDI5NC42IDIwMC45IDIzNy4yIDMzMC44IDE2Ni41IDMzMC44eiJdfSxQYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGVyaXNjb3BlIixpY29uOls0NDgsNTEyLFtdLCJmM2RhIiwiTTM3MCA2My42Yy0zOC42LTQxLTg5LjUtNjMuNi0xNDMuNC02My42LTExNC43IDAtMjA4LjEgOTYuMi0yMDguMSAyMTQuNCAwIDc1LjEgNTcuOCAxNTkuOCA4Mi43IDE5Mi43IDM2LjYgNDguNCA5MS40IDEwNC45IDEyNS40IDEwNC45IDQxLjYgMCAxMTIuOS05NC4yIDEyMC45LTEwNSAyNC42LTMzLjEgODItMTE4LjMgODItMTkyLjYgMC01Ni41LTIxLjEtMTEwLjEtNTkuNS0xNTAuOHpNMjI2LjYgNDkzLjljLTQyLjUgMC0xOTAtMTY3LjMtMTkwLTI3OS40IDAtMTA3LjQgODMuOS0xOTYuMyAxOTAtMTk2LjMgMTAwLjggMCAxODQuNyA4OSAxODQuNyAxOTYuMyAuMSAxMTIuMS0xNDcuNCAyNzkuNC0xODQuNyAyNzkuNHpNMzM4IDIwNi44YzAgNTkuMS01MS4xIDEwOS43LTExMC44IDEwOS43LTEwMC42IDAtMTUwLjctMTA4LjItOTIuOS0xODEuOGwwIC40YzAgMjQuNSAyMC4xIDQ0LjQgNDQuOCA0NC40czQ0LjgtMTkuOSA0NC44LTQ0LjRjMC0xOC4yLTExLjEtMzMuOC0yNi45LTQwLjcgNzYuNi0xOS4yIDE0MSAzOS4zIDE0MSAxMTIuNHoiXX0sSWJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImV4cGVkaXRlZHNzbCIsaWNvbjpbNTEyLDUxMixbXSwiZjIzZSIsIk0yNTYgNDMuNGEyMTIuNiAyMTIuNiAwIDEgMCAwIDQyNS4yIDIxMi42IDIxMi42IDAgMSAwIDAtNDI1LjJ6TTE1OC42IDE3Ni4zYzAtNTMuNyA0My43LTk3LjQgOTcuNC05Ny40czk3LjQgNDMuNyA5Ny40IDk3LjRsMCAyNi42YzAgNS0zLjkgOC45LTguOSA4LjlsLTE3LjcgMGMtNSAwLTguOS0zLjktOC45LTguOWwwLTI2LjZjMC04Mi4xLTEyNC04Mi4xLTEyNCAwbDAgMjYuNmMwIDUtMy45IDguOS04LjkgOC45bC0xNy43IDBjLTUgMC04LjktMy45LTguOS04LjlsMC0yNi42IC4yIDB6TTM5Ny43IDM4MGMwIDkuNy04IDE3LjctMTcuNyAxNy43bC0yNDggMGMtOS43IDAtMTcuNy04LTE3LjctMTcuN2wwLTE0MS43YzAtOS43IDgtMTcuNyAxNy43LTE3LjdsMjQ4IDBjOS43IDAgMTcuNyA4IDE3LjcgMTcuN2wwIDE0MS43em0tMjQ4LTEzNy4zbDAgMTMyLjljMCAyLjUtMS45IDQuNC00LjQgNC40bC04LjkgMGMtMi41IDAtNC40LTEuOS00LjQtNC40bDAtMTMyLjljMC0yLjUgMS45LTQuNCA0LjQtNC40bDguOSAwYzIuNSAwIDQuNCAxLjkgNC40IDQuNHptMTQxLjcgNDguN2MwIDEzLTcuMiAyNC40LTE3LjcgMzAuNGwwIDMxLjZjMCA1LTMuOSA4LjktOC45IDguOWwtMTcuNyAwYy01IDAtOC45LTMuOS04LjktOC45bDAtMzEuNmMtMTAuNS02LjEtMTcuNy0xNy40LTE3LjctMzAuNCAwLTE5LjcgMTUuOC0zNS40IDM1LjQtMzUuNHMzNS41IDE1LjggMzUuNSAzNS40ek0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6bTAgMTcuN2EyMzAuMyAyMzAuMyAwIDEgMSAwIDQ2MC42IDIzMC4zIDIzMC4zIDAgMSAxIDAtNDYwLjZ6Il19LE5idD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJuYXBzdGVyIixpY29uOls1MTIsNTEyLFtdLCJmM2QyIiwiTTMwNi4zIDM3My42Yy0xNC4yIDEzLjYtMzEuMyAyNC4xLTUwLjQgMzAuNS0xOS02LjQtMzYuMi0xNi45LTUwLjMtMzAuNWwxMDAuNyAwem00NC0xOTkuNmMyMC0xNi45IDQzLjYtMjkuMiA2OS42LTM2LjJsMCAxNjEuMmMwIDIxOS40LTMyOCAyMTcuNi0zMjggLjNsMC0xNjEuNmMyNS45IDYuOSA0OS42IDE5LjYgNjkuNSAzNi40IDU2LjgtNDAgMTMyLjUtMzkuOSAxODguOS0uMXpNMTQxLjUgMTE1LjVjNjQuNC02MCAxNjQuMy02MC4xIDIyOC45LS4yLTcuMSAzLjUtMTMuOSA3LjMtMjAuNiAxMS41LTU4LjctMzAuNS0xMjkuMi0zMC40LTE4Ny45IC4xLTYuMy00LTEzLjktOC4yLTIwLjQtMTEuNHpNNTEuOCA5My4ybDAgNjkuM2MtNTguNCAzNi41LTU4LjQgMTIxLjEgLjEgMTU4LjMgMjYuNCAyNDUuMSAzODEuNyAyNDAuMyA0MDcuNiAxLjVsLjMtMS43YzU4LjctMzYuMyA1OC45LTEyMS43IC4yLTE1OC4ybDAtNjkuMmMtMTcuMyAuNS0zNCAzLTUwLjEgNy40LTgyLTkxLjUtMjI1LjUtOTEuNS0zMDcuNSAuMS0xNi4zLTQuNC0zMy4xLTctNTAuNi03LjV6TTI2Ny4yIDM1MnMzNi0uMyA2MS4zLTEuNWMxMC4yLS41IDIxLjEtNCAyNS41LTYuNSAyNi4zLTE1LjEgMjUuNC0zOS4yIDI2LjItNDcuNC03OS41LS42LTk5LjktMy45LTExMyA1NS40ek0xMzEuNyAyOTYuN2MuOCA4LjItLjEgMzIuMyAyNi4yIDQ3LjQgNC40IDIuNSAxNS4yIDYgMjUuNSA2LjUgMjUuMyAxLjEgNjEuMyAxLjUgNjEuMyAxLjUtMTMuMi01OS40LTMzLjctNTYuMS0xMTMtNTUuNHpNMzAwLjggNDIwLjFjLTMuMi01LjMtNi45LTcuMy02LjktNy4zLTI0LjggNy4zLTUyLjIgNi45LTc1LjkgMCAwIDAtMi45IDEuNS02LjQgNi42LTIuOCA0LjEtMy43IDkuNi0zLjcgOS42IDI5LjEgMTcuNiA2Ny4xIDE3LjYgOTYuMiAwLS4xLS4xLS4zLTQtMy4zLTguOXoiXX0sUmJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRlbGljaW91cyIsaWNvbjpbNDQ4LDUxMixbXSwiZjFhNSIsIk00NDYuNiA2OGMtLjQtMS41LS45LTMtMS40LTQuNS0uOS0yLjUtMi00LjgtMy4zLTcuMS0xLjQtMi40LTMtNC44LTQuNy02LjktMi4xLTIuNS00LjQtNC44LTYuOS02LjgtMS4xLS45LTIuMi0xLjctMy4zLTIuNS0xLjMtLjktMi42LTEuNy00LTIuNC0xLjgtMS0zLjYtMS44LTUuNS0yLjUtMS43LS43LTMuNS0xLjMtNS40LTEuNy0zLjgtMS03LjktMS41LTEyLTEuNWwtMzUyIDBDMjEuNiAzMiAuMSA1My41IC4xIDgwbDAgMzUyYzAgNC4xIC41IDguMiAxLjUgMTIgMiA3LjcgNS44IDE0LjYgMTEgMjAuMyAxIDEuMSAyLjEgMi4yIDMuMyAzLjMgNS43IDUuMiAxMi42IDkgMjAuMyAxMSAzLjggMSA3LjkgMS41IDEyIDEuNWwzNTIgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM1Mi4xYy0uMS00LjEtLjYtOC4yLTEuNi0xMnpNNDE2LjEgNDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMTc2IDAgMC0xOTItMTkyIDAgMC0xNzZjMC04LjggNy4yLTE2IDE2LTE2bDE3NiAwIDAgMTkyIDE5MiAwIDAgMTc2eiJdfSxPYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ3VpbGRlZCIsaWNvbjpbNDQ4LDUxMixbXSwiZTA3ZSIsIk00NDMuOSA2NEw1IDY0YzAgMTAzLjMgMjIuMiAxODAuMSA0My40IDIyMi40IDY0LjEgMTI3LjggMTc2IDE2MS42IDE3Ny4zIDE2MS42IDU1LjctMjAuNSAxMDQuNS01Ni4zIDE0MC42LTEwMy41IDI1LjktMzMuOSA1My4xLTg3LjIgNjUuOS0xNDUuOGwtMjU5LjkgMGM0LjEgMzYuNCAyMi4yIDY3LjkgNDUuMSA4Ni45bDg4LjYgMGMtMTcgMjguMi00OC4yIDU0LjQtODAuNSA2OS41LTMxLjItMTMuMy02OS4xLTQ2LjUtOTYuNS05OC40LTI2LjctNTMuOC0yNy4xLTEwNS45LTI3LjEtMTA1LjlsMzM2LjEgMGM0LTI4LjggNS45LTU3LjkgNS45LTg2Ljl6Il19LEZidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvYnNpZGlhbiIsaWNvbjpbMzg0LDUxMixbXSwiZTg3OSIsIk0xNDIuMyAzMjAuM2MzNi4xLTguMiA3MC4zLTExIDEwMS4zIC43IDMxLjggMTEuOSA2MS43IDM5LjYgODYuNyA5Ni04LjEgMTcuNy0xMi40IDM2LjktMTQuNyA1My44LTMuMSAyMi45LTI1LjQgNDAuNy00Ny43IDM0LjYtMzEuNy04LjctNjguMy0yMi4zLTEwMS4zLTI0LjktNC40LS4zLTUwLjYtMy44LTUwLjYtMy44LTEuNy0uMS0zLjQtLjQtNS4xLS44IDMxLjUtNjQuMiAzOC4yLTExNS4xIDMxLjMtMTU1LjR6TTU1IDIxOS41YzIyLjMgMTQuOCA0OS41IDM3LjggNjQuMSA3My42IDE2LjEgMzkuNCAxNy44IDk1LjctMjEuNiAxNzYuMS0xLS44LTIuMS0xLjctMy0yLjdMNy40IDM3Ni44Yy05LjUtOS44LTEyLjEtMjQuNC02LjUtMzYuOSAuNi0xLjMgNDQuNi05OC4zIDU0LjEtMTIwLjR6bTI2NC4zLTkxLjNjNC45IDYuMiA3LjQgMTQgNy40IDIxLjkgLjEgMjAuOCAxLjggNjMuNiAxMy4zIDkxLjIgMTEuMiAyNi44IDMxLjggNTUuOCA0Mi41IDcwIDQuMSA1LjUgNC44IDEyLjkgMS4zIDE4LjctNy42IDEyLjgtMjIuNiAzNy41LTQzLjggNjkuMi0uMyAuNC0uNiAuOS0uOCAxLjMtMjUuMi01Mi4yLTU1LjktODAuNy05MC40LTkzLjYtOS42LTMuNi0xOS41LTYtMjkuNC03LjMtMTcuOC00NS44LTIzLjItNzkuNy0yMi0xMDYuNCAxLjItMjcuNCA5LjItNDcuOCAxOC4yLTY2LjMgOC45LTE4LjEgMTkuOC0zNS45IDI0LjktNTUuNyAzLjItMTIuNSA0LjItMjUuOCAxLjctNDAuOWw3Ny4xIDk4ek0xODQuMiAxNC4xYzEwLjMtOS4yIDI0LjYtMTAuOCAzNi4zLTUuNSA5LjYgMjQuNiA5LjcgNDIuOCA1LjYgNTguOC00LjYgMTcuOC0xNC4xIDMzLTIzLjkgNTIuOC05LjYgMTkuNS0xOC40IDQyLTE5LjcgNzIuMy0xLjIgMjcuOSA0LjEgNjEuOSAyMC40IDEwNS44LTIxLS42LTQyLjUgMi42LTYzLjcgNy40LTEuNy02LjQtMy44LTEyLjQtNi4xLTE4LjItMTcuMy00Mi4yLTQ5LjktNjcuOS03NC4xLTgzLjMgMy4xLTE4LjcgOC4yLTU1LjQgMTEuNi03Ny41IDEuMi03LjYgNC45LTE0LjYgMTAuNy0xOS44TDE4NC4yIDE0LjF6Il19LEJidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ4Ym94IixpY29uOls1MTIsNTEyLFtdLCJmNDEyIiwiTTM2OS45IDMxOC4yYzQ0LjMgNTQuMyA2NC43IDk4LjggNTQuNCAxMTguNy03LjkgMTUuMS01Ni43IDQ0LjYtOTIuNiA1NS45LTI5LjYgOS4zLTY4LjQgMTMuMy0xMDAuNCAxMC4yLTM4LjItMy43LTc2LjktMTcuNC0xMTAuMS0zOS0yNy45LTE4LjItMzQuMi0yNS43LTM0LjItNDAuNiAwLTI5LjkgMzIuOS04Mi4zIDg5LjItMTQyLjEgMzItMzMuOSA3Ni41LTczLjcgODEuNC03Mi42IDkuNCAyLjEgODQuMyA3NS4xIDExMi4zIDEwOS41ek0xODguNiAxNDMuOGMtMjkuNy0yNi45LTU4LjEtNTMuOS04Ni40LTYzLjQtMTUuMi01LjEtMTYuMy00LjgtMjguNyA4LjEtMjkuMiAzMC40LTUzLjUgNzkuNy02MC4zIDEyMi40LTUuNCAzNC4yLTYuMSA0My44LTQuMiA2MC41IDUuNiA1MC41IDE3LjMgODUuNCA0MC41IDEyMC45IDkuNSAxNC42IDEyLjEgMTcuMyA5LjMgOS45LTQuMi0xMS0uMy0zNy41IDkuNS02NCAxNC4zLTM5IDUzLjktMTEyLjkgMTIwLjMtMTk0LjR6bTMxMS42IDYzLjVjLTE2LjktODAtNjcuNS0xMzAuMy03NC42LTEzMC4zLTcuMyAwLTI0LjIgNi41LTM2IDEzLjktMjMuMyAxNC41LTQxIDMxLjQtNjQuMyA1Mi44IDQyLjQgNTMuMyAxMDIuMiAxMzkuNCAxMjIuOSAyMDIuMyA2LjggMjAuNyA5LjcgNDEuMSA3LjQgNTIuMy0xLjcgOC41LTEuNyA4LjUgMS40IDQuNiA2LjEtNy43IDE5LjktMzEuMyAyNS40LTQzLjUgNy40LTE2LjIgMTUtNDAuMiAxOC42LTU4LjcgNC4zLTIyLjUgMy45LTcwLjgtLjgtOTMuNHpNMTQxLjMgNDNjNDcuNy0yLjUgMTA5LjcgMzQuNSAxMTQuMyAzNS40IC43IC4xIDEwLjQtNC4yIDIxLjYtOS43IDYzLjktMzEuMSA5NC0yNS44IDEwNy40LTI1LjItNjMuOS0zOS4zLTE1Mi43LTUwLTIzMy45LTExLjctMjMuNCAxMS4xLTI0IDExLjktOS40IDExLjJ6Il19LEhidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bnRhcHBkIixpY29uOls2NDAsNTEyLFtdLCJmNDA1IiwiTTQwMS41IDQ5LjlDMzIxLjcgMjEwIDMxNi45IDIwMi40IDMxMy42IDIyMy4xbC01LjIgMzIuOGMtMS45IDEyLTYuNiAyMy41LTEzLjcgMzMuNEwxNDUuOCA0OTcuMWMtNy42IDEwLjYtMjAuNCAxNi4yLTMzLjQgMTQuNi00MC4zLTUtNzcuOC0zMi4yLTk1LjMtNjguNS01LjctMTEuOC00LjUtMjUuOCAzLjEtMzYuNEwxNjkuMSAxOTguOWM3LjEtOS45IDE2LjQtMTggMjcuMi0yMy43bDI5LjMtMTUuNWMxOC41LTkuOCA5LjctMTEuOSAxMzUuNi0xMzguOSAxLTQuOCAxLTcuMyAzLjYtOCAzLS43IDYuNi0xIDYuMy00LjZsLS40LTQuNmMtLjItMS45IDEuMy0zLjYgMy4yLTMuNiA0LjUtLjEgMTMuMiAxLjIgMjUuNiAxMCAxMi4zIDguOSAxNi40IDE2LjggMTcuNyAyMS4xIC42IDEuOC0uNiAzLjctMi40IDQuMmwtNC41IDEuMWMtMy40IC45LTIuNSA0LjQtMi4zIDcuNCAuMSAyLjgtMi4zIDMuNi02LjUgNi4xek0yMzAuMyAzNi40YzMuNCAuOSAyLjUgNC40IDIuMyA3LjQtLjIgMi43IDIuMSAzLjUgNi40IDYgNy45IDE1LjkgMTUuMyAzMC41IDIyLjIgNDQgLjcgMS4zIDIuMyAxLjUgMy4zIC41IDExLjItMTIgMjQuNi0yNi4yIDQwLjUtNDIuNiAxLjMtMS40IDEuNC0zLjUgLjEtNC45LTgtOC4yLTE2LjUtMTYuOS0yNS42LTI2LjEtMS00LjctMS03LjMtMy42LTgtMy0uOC02LjYtMS02LjMtNC42IC4zLTMuMyAxLjQtOC4xLTIuOC04LjItNC41LS4xLTEzLjIgMS4xLTI1LjYgMTAtMTIuMyA4LjktMTYuNCAxNi44LTE3LjcgMjEuMS0xLjQgNC4yIDMuNiA0LjYgNi44IDUuNHpNNjIwLjIgNDA2LjdMNDcxLjQgMTk4LjhjLTEzLjItMTguNS0yNi42LTIzLjQtNTYuNC0zOS4xLTExLjItNS45LTE0LjItMTAuOS0zMC41LTI4LjktMS0xLjEtMi45LS45LTMuNiAuNS00Ni4zIDg4LjgtNDcuMSA4Mi44LTQ5IDk0LjgtMS43IDEwLjctMS4zIDIwIC4zIDI5LjggMS45IDEyIDYuNiAyMy41IDEzLjcgMzMuNEw0OTQuOCA0OTcuMmM3LjYgMTAuNiAyMC4yIDE2LjIgMzMuMSAxNC43IDQwLjMtNC45IDc4LTMyIDk1LjctNjguNiA1LjQtMTEuOSA0LjMtMjUuOS0zLjQtMzYuNnoiXX0scWJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imdvb2dsZS1wbHVzLWciLGljb246WzY0MCw1MTIsW10sImYwZDUiLCJNMzg2LjMgMjI4LjVjMS44IDkuNyAzLjEgMTkuNCAzLjEgMzIgMCAxMDkuOC03My42IDE4Ny41LTE4NC40IDE4Ny41LTEwNi4xIDAtMTkyLTg1LjktMTkyLTE5MlM5OC45IDY0IDIwNSA2NGM1MS45IDAgOTUuMSAxOC45IDEyOC42IDUwLjNsLTUyLjEgNTBjLTE0LjEtMTMuNi0zOS0yOS42LTc2LjUtMjkuNi02NS41IDAtMTE4LjkgNTQuMi0xMTguOSAxMjEuM1MxMzkuNSAzNzcuMyAyMDUgMzc3LjNjNzYgMCAxMDQuNS01NC43IDEwOS04Mi44bC0xMDkgMCAwLTY2IDE4MS4zIDAgMCAwem0xODUuNCA2LjRsMC01NS43LTU2IDAgMCA1NS43LTU1LjcgMCAwIDU2IDU1LjcgMCAwIDU1LjcgNTYgMCAwLTU1LjcgNTUuNyAwIDAtNTYtNTUuNyAweiJdfSxWYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2l0aHViLWFsdCIsaWNvbjpbNTEyLDUxMixbXSwiZjExMyIsIk0yMDIuMSAzMjguN2MwIDIwLjktMTAuOSA1NS4xLTM2LjcgNTUuMXMtMzYuNy0zNC4yLTM2LjctNTUuMSAxMC45LTU1LjEgMzYuNy01NS4xIDM2LjcgMzQuMiAzNi43IDU1LjF6TTQ5NiAyNzguMmMwIDMxLjktMy4yIDY1LjctMTcuNSA5NS0zNy45IDc2LjYtMTQyLjEgNzQuOC0yMTYuNyA3NC44LTc1LjggMC0xODYuMiAyLjctMjI1LjYtNzQuOC0xNC42LTI5LTIwLjItNjMuMS0yMC4yLTk1IDAtNDEuOSAxMy45LTgxLjUgNDEuNS0xMTMuNi01LjItMTUuOC03LjctMzIuNC03LjctNDguOCAwLTIxLjUgNC45LTMyLjMgMTQuNi01MS44IDQ1LjMgMCA3NC4zIDkgMTA4LjggMzYgMjktNi45IDU4LjgtMTAgODguNy0xMCAyNyAwIDU0LjIgMi45IDgwLjQgOS4yIDM0LTI2LjcgNjMtMzUuMiAxMDcuOC0zNS4yIDkuOCAxOS41IDE0LjYgMzAuMyAxNC42IDUxLjggMCAxNi40LTIuNiAzMi43LTcuNyA0OC4yIDI3LjUgMzIuNCAzOSA3Mi4zIDM5IDExNC4yem0tNjQuMyA1MC41YzAtNDMuOS0yNi43LTgyLjYtNzMuNS04Mi42LTE4LjkgMC0zNyAzLjQtNTYgNi0xNC45IDIuMy0yOS44IDMuMi00NS4xIDMuMi0xNS4yIDAtMzAuMS0uOS00NS4xLTMuMi0xOC43LTIuNi0zNy02LTU2LTYtNDYuOCAwLTczLjUgMzguNy03My41IDgyLjYgMCA4Ny44IDgwLjQgMTAxLjMgMTUwLjQgMTAxLjNsNDguMiAwYzcwLjMgMCAxNTAuNi0xMy40IDE1MC42LTEwMS4zem0tODIuNi01NS4xYy0yNS44IDAtMzYuNyAzNC4yLTM2LjcgNTUuMXMxMC45IDU1LjEgMzYuNyA1NS4xIDM2LjctMzQuMiAzNi43LTU1LjEtMTAuOS01NS4xLTM2LjctNTUuMXoiXX0samJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdldC1wb2NrZXQiLGljb246WzQ0OCw1MTIsW10sImYyNjUiLCJNNDA3LjYgNjRsLTM2NyAwQzE4LjUgNjQgMCA4Mi41IDAgMTA0LjZMMCAyMzkuOEMwIDM2NC41IDk5LjcgNDY0IDIyNC4yIDQ2NCAzNDguMiA0NjQgNDQ4IDM2NC41IDQ0OCAyMzkuOGwwLTEzNS4yQzQ0OCA4Mi4yIDQzMC4zIDY0IDQwNy42IDY0em0tMTYyIDI2OC41Yy0xMi40IDExLjgtMzEuNCAxMS4xLTQyLjQgMC0xMTMuNy0xMDguOS0xMTQuOS0xMDUuMS0xMTQuOS0xMjMuMiAwLTE2LjkgMTMuOC0zMC43IDMwLjctMzAuNyAxNyAwIDE2LjEgMy44IDEwNS4yIDg5LjMgOTAuNi04Ni45IDg4LjYtODkuMyAxMDUuNS04OS4zczMwLjcgMTMuOCAzMC43IDMwLjdjMCAxNy44LTIuOSAxNS43LTExNC44IDEyMy4yeiJdfSxVYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2xpZGUiLGljb246WzQ0OCw1MTIsW10sImYyYTUiLCJNMjUyLjggMTQ4LjZjMCA4LjgtMS42IDE3LjctMy40IDI2LjQtNS44IDI3LjgtMTEuNiA1NS44LTE3LjMgODMuNi0xLjQgNi4zLTguMyA0LjktMTMuNyA0LjktMjMuOCAwLTMwLjUtMjYtMzAuNS00NS41IDAtMjkuMyAxMS4yLTY4LjEgMzguNS04My4xIDQuMy0yLjUgOS4yLTQuMiAxNC4xLTQuMiAxMS40IDAgMTIuMyA4LjMgMTIuMyAxNy45ek00NDggODBsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDM1MiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek0zODQgMjY3YzAtNS4xLTIwLjgtMzcuNy0yNS41LTM5LjUtMi4yLS45LTcuMi0yLjMtOS42LTIuMy0yMy4xIDAtMzguNyAxMC41LTU4LjIgMjEuNWwtLjUtLjVjNC4zLTI5LjQgMTQuNi01Ny4yIDE0LjYtODcuNCAwLTQ0LjYtMjMuOC02Mi43LTY3LjUtNjIuNy03MS43IDAtMTA4IDcwLjgtMTA4IDEyMy41IDAgNTQuNyAzMiA4NSA4Ni4zIDg1IDcuNSAwIDYuOS0uNiA2LjkgMi4zLTEwLjUgODAuMy01Ni41IDgyLjktNTYuNSA1OC45IDAtMjQuNCAyOC0zNi41IDI4LjMtMzgtLjItNy42LTI5LjMtMTcuMi0zNi43LTE3LjItMjEuMSAwLTMyLjcgMzMtMzIuNyA1MC42IDAgMzIuMyAyMC40IDU0LjcgNTMuMyA1NC43IDQ4LjIgMCA4My40LTQ5LjcgOTQuMy05MS43IDkuNC0zNy43IDctMzkuNCAxMi4zLTQyLjEgMjAtMTAuMSAzNS44LTE2LjggNTguNC0xNi44IDExLjEgMCAxOSAyLjMgMzYuNyA1LjIgMS44IC4xIDQuMS0xLjcgNC4xLTMuNXoiXX0sV2J0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJpdHkiLGljb246WzUxMiw1MTIsW10sImYzN2EiLCJNODYuNSA2Ny4yYzk1LjQtODkuMiAyNDYuMS05MS4yIDM0My4xIDMuOCAxNC4zIDE0LjEtNi40IDM3LjEtMjIuNCAyMS41LTg0LjgtODIuNC0yMTUuOC04MC4zLTI5OC45LTMuMi0xNi4zIDE1LjEtMzYuNS04LjMtMjEuOC0yMi4xem05OC45IDQxOC42YzE5LjMgNS43IDI5LjMtMjMuNiA3LjktMzAtMTEyLjItMzMuOS0xNzUuOC0xNDkuNy0xNDcuNS0yNjEgNS0xOS42LTI0LjktMjguMS0zMC4yLTcuMS0zMi4xIDEyNy40IDQxLjEgMjU5LjggMTY5LjggMjk4LjF6bTE0OC4xLTJjMTIxLjktNDAuMiAxOTIuOS0xNjYuOSAxNjQuNC0yOTEtNC41LTE5LjctMzQuOS0xMy44LTMwIDcuOSAyNC4yIDEwNy43LTM3LjEgMjE3LjktMTQzLjIgMjUzLjQtMjEuMiA3LTEwLjQgMzYgOC44IDI5Ljd6bS02Mi45LTc5bC4yLTcxLjhjMC04LjItNi42LTE0LjgtMTQuOC0xNC44cy0xNC44IDYuNy0xNC44IDE0LjhsLS4yIDcxLjhjMCA4LjIgNi42IDE0LjggMTQuOCAxNC44czE0LjgtNi42IDE0LjgtMTQuOHptNzEtMjY5YzIuMSA5MC45IDQuNyAxMzEuOS04NS41IDEzMi41LTkyLjUtLjctODYuOS00NC4zLTg1LjUtMTMyLjUgMC0yMS44LTMyLjUtMTkuNi0zMi41IDBsMCA3MS42YzAgNjkuMyA2MC43IDkwLjkgMTE4IDkwLjEgNTcuMyAuOCAxMTgtMjAuOCAxMTgtOTAuMWwwLTcxLjZjMC0xOS42LTMyLjUtMjEuOC0zMi41IDB6Il19LEdidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3cGV4cGxvcmVyIixpY29uOls1MTIsNTEyLFtdLCJmMmRlIiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTQ4MCAwYTIyNCAyMjQgMCAxIDAgLTQ0OCAwIDIyNCAyMjQgMCAxIDAgNDQ4IDB6TTE2MC45IDEyNC42bDg2LjkgMzcuMS0zNy4xIDg2LjktODYuOS0zNy4xIDM3LjEtODYuOXptMTEwIDE2OS4xbDQ2LjYgOTQtMTQuNiAwLTUwLTEwMC00OC45IDEwMC0xNCAwIDUxLjEtMTA2LjktMjIuMy05LjQgNi0xNCA2OC42IDI5LjEtNiAxNC4zLTE2LjUtNy4xek0yNTkuMSAxNzcuNGw2OC42IDI5LjQtMjkuNCA2OC4zLTY4LjMtMjkuMSAyOS4xLTY4LjZ6bTgwLjMgNDIuOWw1NC42IDIzLjEtMjMuNCA1NC4zLTU0LjMtMjMuMSAyMy4xLTU0LjN6Il19LFlidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtZWdhcG9ydCIsaWNvbjpbNTEyLDUxMixbXSwiZjVhMyIsIk0yMjIuNSAyMDkuNmwwIDY2LjIgMzMuNSAzMy41IDMzLjMtMzMuMyAwLTY2LjQtMzMuNC0zMy40LTMzLjQgMzMuNHpNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek00MDEuMSA0MjIuNGwtMjYuMSAxOS4yLTI2LTE5LjIgMC02NS41LTMzLjQtMzMuNC0zMy40IDMzLjQgMCA2NS41LTI2LjIgMTkuMi0yNi4xLTE5LjIgMC02NS41LTMzLjQtMzMuNC0zMy41IDMzLjQgMCA2NS41LTI2LjEgMTkuMi0yNi4xLTE5LjIgMC04NyA1OS41LTU5LjUgMC04Ny45IDU5LjUtNTkuNSAwLTc1LjYgMjYuMS0xOS4yIDI2LjEgMTkuMiAwIDc1LjYgNTkuNSA1OS41IDAgODcuNiA1OS43IDU5LjcgMCA4Ny4xLS4xIDB6Il19LEtidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsZWV0Y29kZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTg2YSIsIk0yMzUuNCA5LjNDMjQ2LjUtMi41IDI2NS4xLTMuMiAyNzcgNy45czEyLjUgMjkuOCAxLjQgNDEuNmwtNDMgNDZjMjEuNSAzLjMgNDIuMSAxMS44IDU5LjEgMjUuNmw3NC42IDYwLjNjMTIuNiAxMC4yIDE0LjYgMjguOCA0LjQgNDEuNHMtMjguNyAxNC42LTQxLjQgNC40bC03NC42LTYwLjNjLTI2LjItMjEuMS03MS45LTE4LjItOTQuNSA1LjlMODEgMjYxYy0yMS41IDIzLTE5LjEgNjAgNS42IDg0LjJsOTEuMiA4OS40YzI0LjkgMjQgNjUuNiAyNCA5MC4xLS40bDUxLjEtNTFjMTEuNS0xMS41IDMwLjEtMTEuNSA0MS42IC4xczExLjQgMzAuMi0uMSA0MS43bC01MS4xIDUxYy00Ny4xIDQ3LjEtMTI0IDQ3LjctMTcxLjkgMS42bC05Mi05MC4yQy0xLjQgMzQxLjMtNiAyNjcuOSAzOCAyMjAuN0wyMzUuNCA5LjN6TTQxMS43IDI3My4yYzE2LjIgMCAyOS40IDEzLjIgMjkuNCAyOS41cy0xMy4yIDI5LjUtMjkuNCAyOS41bC0yMTYuOSAwYy0xNi4yIDAtMjkuNC0xMy4yLTI5LjQtMjkuNXMxMy4yLTI5LjUgMjkuNC0yOS41bDIxNi45IDB6Il19LFpidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtZGIiLGljb246WzU3Niw1MTIsW10sImY4Y2EiLCJNMTcuNCAxNjAuNGwtMTAuNCAxOTEuNiA0My45IDAgNS42LTc5LjggMjcuOSA3OS44IDQ0LjcgMCAyNS41LTc3LjQgNC44IDc3LjQgNDUuNSAwLTEyLjgtMTkxLjYtNDUuNSAwLTQwLjcgMTE3LjMtNDIuMy0xMTcuMy00Ni4zIDB6bTI4MSAwbC00Ny45IDAgMCAxOTEuNiA0Ny45IDBzOTUgLjggOTQuMi05NS44Yy0uOC05NC4yLTk0LjItOTUuOC05NC4yLTk1LjhsMCAwem0tMS4yIDE0Ni41bDAtMTAyLjFzNDYgNC4zIDQ2LjggNTAuNi00Ni44IDUxLjUtNDYuOCA1MS41bDAgMHptMjM4LjMtNzQuMmM3LjItMTEuNCAxMC0yNSA4LTM4LjMtNS4zLTM1LjgtNTUuMS0zNC4zLTU1LjEtMzQuM2wtNTEuOSAwIDAgMTkxLjYgNDUuNSAwczg3IDQuOCA4Ny02My44YzAtNDMuMS0zMy41LTU1LjEtMzMuNS01NS4xbDAgMHptLTUxLjktMzEuOXMxMy42LTEuNiAxNiA5LjZjMS40IDYuNy00IDEyLTQgMTJsLTEyIDAgMC0yMS42em0tLjEgMTA5LjVsLjEtMjQuOSAwLTE4LjIgLjEgMHM0MS42LTQuNyA0MS4yIDIyLjRjLS4zIDI1LjctNDEuMyAyMC43LTQxLjMgMjAuN2wwIDB6Il19LFhidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwYWdlNCIsaWNvbjpbNTEyLDUxMixbXSwiZjNkNyIsIk0yNTYgNTA0QzExOSA1MDQgOCAzOTMgOCAyNTZTMTE5IDggMjU2IDhjMjAuOSAwIDQxLjMgMi42IDYwLjcgNy41TDUwLjMgMzkyIDI1NiAzOTIgMjU2IDUwNHptMC0xNDMuNmwwLTIxMy42LTE0OS40IDIxMy42IDE0OS40IDB6TTM1MiAzOTJsMCA5Mi43YzQ1LjctMTkuMiA4NC41LTUxLjcgMTExLjQtOTIuN0wzNTIgMzkyem01Ny40LTEzOC4ybC0yMS4yIDguNCAyMS4yIDguMyAwLTE2Ljd6bS0yMC4zIDU0LjVjLTYuNyAwLTggNi4zLTggMTIuOWwwIDcuNyAxNi4yIDAgMC0xMGMwLTUuOS0yLjMtMTAuNi04LjItMTAuNnpNNTA0IDI1NmMwIDM3LjMtOC4yIDcyLjctMjMgMTA0LjRsLTEyOSAwIDAtMzMzLjFDNDQxLjMgNjQuOCA1MDQgMTUzLjEgNTA0IDI1NnpNMzY4LjQgMTQzLjZsNjguMiAwIDAtNDcuNi0xMy45IDAgMCAzMi42LTEzLjkgMCAwLTI5LjYtMTMuOSAwIDAgMjkuNi0xMi43IDAgMC0zMi42LTEzLjkgMCAwIDQ3LjYgLjEgMHptNjguMSAxODUuM2wtMjYuNSAwIDAtMTFjMC0xNS40LTUuNi0yNS4yLTIwLjktMjUuMi0xNS40IDAtMjAuNyAxMC42LTIwLjcgMjUuOWwwIDI1LjMgNjguMiAwIDAtMTUtLjEgMHptMC0xMDNsLTY4LjIgMjkuNyAwIDEyLjQgNjguMiAyOS41IDAtMTYuNi0xNC40LTUuNyAwLTI2LjUgMTQuNC01LjkgMC0xNi45em0tNC44LTY4LjVsLTM1LjYgMCAwIDI2LjYgMTMuOSAwIDAtMTIuMiAxMSAwYzguNiAxNS44IDEuMyAzNS4zLTE4LjYgMzUuMy0yMi41IDAtMjguMy0yNS4zLTE1LjUtMzcuN2wtMTEuNi0xMC42Yy0xNi4yIDE3LjUtMTIuMiA2My45IDI3LjEgNjMuOSAzNCAwIDQ0LjctMzUuOSAyOS4zLTY1LjN6Il19LFFidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0aGUtcmVkLXlldGkiLGljb246WzUxMiw1MTIsW10sImY2OWQiLCJNNDg4LjcgMjQxLjdsMjAuNyA3LjFjLTkuNi0yMy45LTIzLjktMzctMzEuNy00NC44bDcuMS0xOC4yYy4yIDAgMTIuMy0yNy44LTIuNS0zMC43LS42LTExLjMtNi42LTI3LTE4LjQtMjctNy42LTEwLjYtMTcuNy0xMi4zLTMwLjctNS45LTkuMSA0LjQtMTcuNiAxMC0yNS4zIDE2LjUtNS4zLTYuNC0zIC40LTMtMjkuOC0zNy4xLTI0LjMtNDUuNC0xMS43LTc0LjggM2wuNSAuNWMtMjItNy43LTQ1LjEtMTIuMi02OC40LTEzLjMtNS41LTguNy0xOC42LTE5LjEtMjUuMS0yNS4xbDI0LjggNy4xYy01LjUtNS41LTI2LjgtMTIuOS0zNC4yLTE1LjIgMTguMi00LjEgMjkuOC0yMC44IDQyLjUtMzMtMzQuOS0xMC4xLTY3LjktNS45LTk3LjkgMTEuOGwxMi00NC4yLTEuOC0uNWMtMzEuNiAyNC4yLTMzIDQxLjktMzMuNyA0NS41LS45LTIuNC02LjMtMTkuNi0xNS4yLTI3LTMuMyA4LjEtMy41IDE3LjEtLjUgMjUuMyAzIDguNCA1LjkgMTQuOCA4LjQgMTguOS0xNi0zLjMtMjguMy00LjktNDkuMiAwbC0zLjcgMCAzMyAxNC4zYy0yMC4yIDE4LjktMzYuMSA0MS45LTQ2LjcgNjcuNGwtMS43IDguNCAxLjcgMS43IDcuNi00LjdjLTMuMyAxMS42LTUuMyAxOS40LTYuNiAyNS44LTEwLjkgMTIuMi0yMC4yIDI1LjgtMjcuOCA0MC4zLTE1IDEtMzEuOCAxMC44LTQwLjMgMTQuM2wzIDMuNCAyOC44IDFjLS41IDEtLjcgMi4yLTEuMiAzLjItNy4zIDYuNC0zOS44IDM3LjctMzMgODAuN2wyMC4yLTIyLjRjLjUgMS43IC43IDMuNCAxLjIgNS4yIDAgMjUuNSAuNCA4OS42IDY0LjkgMTUwLjUgNDMuNiA0MCA5NiA2MC4yIDE1Ny41IDYwLjIgMTIxLjcgMCAyMjMtODcuMyAyMjMtMjExLjUgNi44LTkuNy0xLjIgMyAxNi43LTI1LjFsMTMgMTQuMyAyLjUtLjVjLTEuOC0xMS43LTQuOC0yMy4xLTguOS0zNC4yLTEuNS00LjgtMy44LTkuMy02LjgtMTMuM2wwIDB6TTM5OC41IDExMS4ybC0uNSAyMS45YzUuNSAxOC4xIDE2LjkgMTcuMiAyMi40IDE3LjJsLTMuNC00LjcgMjIuNC01LjRjLTkgLjUtMTggLjUtMjcgMCAxMi44LTIuMSAzMy4zLTI5IDQzLTExLjMgMy40IDcuNiA2LjQgMTcuMiA5LjMgMjcuOGwxLjctNS45Yy0xLjMtNS0xLjgtMTAuMS0xLjctMTUuMiA1LjQgLjUgOC44IDMuNCA5LjMgMTAuMSAuNSA2LjQgMS43IDE0LjggMy40IDI1LjNsNC43LTExLjNjNC42IDAgNC41LTMuNi0yLjUgMjAuNy0yMC45LTguNy0zNS4xLTguNC00Ni41LTguNGwxOC4yLTE2Yy0yNS4zIDguMi0zMyAxMC44LTU0LjggMjAuOS0xLjEtNS40LTUtMTMuNS0xNi0xOS45LTMuMiAzLjgtMi44IC45LS43IDE0LjhsLTIuNSAwYy0xLjItOC4yLTQuMS0xNi04LjQtMjMuMWw0LjItMy40YzguNC03LjEgMTEuOC0xNC4zIDEwLjYtMjEuOS0uNS02LjQtNS40LTEzLjUtMTMuNS0yMC43IDUuNi0zLjQgMTUuMi0uNCAyOC4zIDguNXptLTM5LjYtMTAuMWMyLjcgMS45IDExLjQgNS40IDE4LjkgMTcuMiA0LjIgOC40IDQgOS44IDMuNCAxMS4xLS41IDIuNC0uNSA0LjMtMyA3LjEtMS43IDIuNS01LjQgNC43LTExLjggNy42LTcuNi0xMy0xNi41LTIzLjYtMjcuOC0zMS4ybDIwLjMtMTEuOHptLTI2Ny40IDQybDEuMi0xLjdjMS4yLTIuOSA0LjItNy42IDkuMy0xNS4ybDIuNS0zLjQtMTMgMTIuMyA1LjQtNC43LTEwLjEgOS4zLTQuMiAxLjJjMTIuMy0yNC4xIDIzLjEtNDEuMyAzMi41LTUwLjIgOS4zLTkuMyAxNi0xNiAyMC4yLTE5LjRsLTYuNCAxLjJjLTExLjMtNC4yLTE5LjQtNy4xLTI0LjgtOC40IDIuNS0uNSAzLjctLjUgMy4yLS41IDEwLjMgMCAxNy41IC41IDIwLjkgMS4yIDUuMiAxLjcgMTAuNiAyLjUgMTYgMi41bC41LTEuNy04LjQtMzUuOCAxMy41IDI5YzIuOC00LjQgNC44LTkuMiA1LjktMTQuMyAxLjctNi40IDUuNC0xMyAxMC4xLTE5LjRzNy42LTEwLjYgOS4zLTExLjNjLTIuNiA4LjMtNC43IDE2LjgtNi40IDI1LjNsLTEuNyA3LjEtLjUgNC43IDIuNSAyLjVjMjEuOS0xMy41IDQ1LjUtMTkuNCA3MS4zLTE4LjlsMjEuMSAuNWMtMTEuOCAxMy41LTI3LjggMjEuOS00OC41IDI0LjgtNy43IDEuNC0xNS42IDIuNC0yMy40IDIuOWwtLjItLjUtMi41LTEuMmMtNC44LTEtOS43LS4zLTE0IDItMi41LS4yLTQuOS0uNS03LjEtLjdsLTIuNSAxLjcgLjUgMS4yYzIgLjIgMy45IC41IDYuMiAuN2wtMiAzLjQgMy40LS41LTEwLjYgMTEuM2MtNC4yIDMtNS40IDYuNC00LjIgOS4zbDUuNC0zLjQgMS4yIDBjNi4xLTguMiAxNS4yLTEzLjYgMjUuMy0xNS4ybDAtM2M2LjQgLjUgMTMgMSAxOS40IDEuMiA2LjQgMCA4LjQgLjUgNS40IDEuMiA3LjIgNCAxNC4xIDguNiAyMC43IDEzLjUgMTMuNSAxMC4xIDIzLjYgMjEuOSAzMCAzNS40IDguOCAxOC4yIDEzLjUgMzcuMSAxMy41IDU2LjYgMCA5LjUtMSAxOS0zIDI4LjMtMy41IDE1LjktOC45IDMxLjMtMTYgNDZsMi41IC41YzE4LjItMTkuNyA0MS45LTE2IDQ5LjItMTZsLTYuNCA1LjkgMjIuNCAxNy43LTEuNyAzMC43Yy01LjQtMTIuMy0xNi41LTIxLjEtMzMtMjcuOCAxNi41IDE0LjggMjMuNiAyMS4xIDIxLjkgMjAuMi00LjgtMi44LTMuNS0xLjktMTAuOC0zLjcgNC4xIDQuMSAxNy41IDE4LjggMTguMiAyMC43bC4yIC4yLS4yIC4yYzAgMS44IDEuNi0xLjItMTQgMjIuOS03NS4yLTE1LjMtMTA2LjMtNDIuNy0xNDEuMi02My4ybDExLjggMS4yYy0xMS44LTE4LjUtMTUuNi0xNy43LTM4LjQtMjYuMWwxMC42LTguNGMtOC44LTMtMTguMi0zLTI4LjMgLjVsNy42LTEwLjYtMS4yLTEuN2MtMTQuOSA0LjMtMTkuOCA5LjItMjIuNiAxMS4zLTEuMS01LjUtMi44LTEyLjQtMTIuMy0yOC44bC0xLjIgMjctMTMuMi01YzEuNS0yNS4yIDUuNC01MC41IDEzLjItNzQuNnpNMzY4IDQ3My4xYy00OS45IDI1LTU2LjEgMjIuNC01OSAyMy45LTI5LjgtMTEuOC01MC45LTMxLjctNjMuNS01OC44bDMwIDE2LjVjLTkuOC05LjMtMTguMy0xNi41LTM4LjQtNDQuM2wxMS44IDIzLjEtMTcuNy03LjZjMTQuMiAyMS4xIDIzLjUgNTEuNyA2Ni42IDczLjUtMTIwLjggMjQuMi0xOTktNzIuMS0yMDAuOS03NC4zIDExLjEgOS4yIDIyLjkgMTcuNSAzNS40IDI0LjggMy40IDEuNyA3LjEgMi41IDEwLjEgMS4ybC0xNi0yMC43YzkuMiA0LjIgOS41IDQuNSA2OS4xIDI5LTQyLjUtMjAuNy03My44LTQwLjgtOTMuMi02MC4yLS41IDYuNC0xLjIgMTAuMS0xLjIgMTAuMSA4LjcgNy4zIDE1LjggMTYuNCAyMC43IDI2LjYtMzktMTguOS01Ny42LTQ3LjYtNzEuMy04Mi42IDQ5LjkgNTUuMSAxMTguOSAzNy41IDEyMC41IDM3LjEgMzQuOCAxNi40IDY5LjkgMjMuNiAxMTMuOSAxMC42IDMuMyAwIDIwLjMgMTcgMjUuMyAzOS4xbDQuMi0zLTIuNS0yMy42YzkgOSAyNC45IDIyLjYgMzQuNCAxMy0xNS42LTUuMy0yMy41LTkuNS0yOS41LTMxLjcgNC42IDQuMiA3LjYgOSAyNy44IDE1bDEuMi0xLjItMTAuNS0xNC4yYzExLjctNC44LTMuNSAxIDMyLTEwLjggNC4zIDM0LjMgOSA0OS4yIC43IDg5LjV6TTQ4My4zIDI1OC43bC0yLjUgLjUgMyA5LjNjLTMuNSA1LjktMjMuNyA0NC4zLTcxLjYgNzkuNy0zOS41IDI5LjgtNzYuNiAzOS4xLTgwLjkgNDAuM2wtNy42LTcuMS0xLjIgMyAxNC4zIDE2LTcuMS00LjcgMy40IDQuMi0xLjIgMC0yMS45LTEzLjUgOS4zIDI2LjYtMTktMjcuOS0xLjIgMi41IDcuNiAyOWMtNi4xLTguMi0yMS0zMi42LTU2LjgtMzkuNmwzMi41IDIxLjJjLTMxLjIgNC43LTYzIDIuNS05My4yLTYuNC00LjItMS4yLTguOS0yLjUtMTMuNS00LjJsMS4yLTMtNDQuOC0yMi40IDI2LjEgMjIuNGMtNTcuNyA5LjEtMTEzLTI1LjQtMTI2LjQtODMuNEwyOS4zIDI4NC44IDcgMzA3LjFjMTkuNS01Ny41IDI1LjYtNTcuOSA1MS40LTcwLjEtOS4xLTUuMy0xLjYtMy4zLTM4LjQtOS4zIDE1LjgtNS44IDMzLTE1LjQgNzMgNS4yIDEuMi0uNyAyLjQtMS4zIDMuNy0xLjcgLjYtMy4yIC40LS44IDEtMTEuOCAzLjkgMTAgMy42IDguNyAzIDkuM2wxLjcgLjVjMTIuNy02LjUgOC45LTQuNSAxNy04LjlsLTUuNCAxMy41IDIyLjMtNS44LTguNCA4LjQgMi41IDIuNWM0LjUtMS44IDMwLjMgMy40IDQwLjggMTZsLTIzLjYtMi41YzM5LjQgMjMgNTEuNSA1NCA1NS44IDY5LjZsMS43LTEuMmMtMi44LTIyLjMtMTIuNC0zMy45LTE2LTQwLjEgNC4yIDUgMzkuMiAzNC42IDExMC40IDQ2LTExLjMtLjUtMjMuMSA1LjQtMzQuOSAxOC45bDQ2LjctMjAuMi05LjMgMjEuOWM3LjYtMTAuMSAxNC44LTIzLjYgMjEuMi0zOS42bDAtLjUgMS4yLTMtMS4yIDE2YzEzLjUtNDEuOCAyNS4zLTc4LjUgMzUuNC0xMDkuN2wxMy41LTI3LjggMC0yLTUuNC00LjIgMTAuMSAwIDUuOSA0LjIgMi41LTEuMi0zLjQtMTYgMTIuMyAxOC45IDQxLjgtMjAuMi0xNC44IDEzIC41IDIuOSAxNy43LS41YzExLjEgLjQgMjIuMSAxLjggMzMgNC4ybC0yMy42IDIuNS0xLjIgMyAyNi42IDIzLjFjOS45IDkuOSAxOC45IDIwLjYgMjcgMzItMTEuMi0zLjMtMTAuMy0zLjQtMjEuMi0zLjRsMTIuMyAzMi41LTguOS0xMi44em0tNi4xLTcxLjNsLTMuOSAxMy0xNC4zLTExLjggMTguMi0xLjJ6bS0yNTQuOCA3LjFjMS43IDEwLjYgNC43IDE3LjcgOC44IDIxLjktOS4zIDYuNi0yNy41IDEzLjktNDYuNSAxNmwuNSAxLjJjOC4zIDEuMyAxNi45IC40IDI0LjgtMi41bC03LjEgMTNjNC4yLTEuNyAxMC4xLTcuMSAxNy43LTE0LjggMTEuOS01LjUgMTIuNy01LjEgMjAuMi0xNi0xMi43LTYuNC0xNS43LTEzLjctMTguNC0xOC44em0zLjctMTAyLjNjLTYuNC0zLjQtMTAuNiAzLTEyLjMgMTguOXMyLjUgMjkuNSAxMS44IDM5LjYgMTguMiAxMC42IDI2LjEgMyAzLjQtMjMuNi0xMS4zLTQ3LjdjLTMuNS01LjctOC40LTEwLjUtMTQuMy0xMy44bDAgMHptLTQuNyA0Ni4zYzUuNCAyLjIgMTAuNSAxLjkgMTIuMy0xMC42bDAtNC43LTEuMiAuNWMtNC4zLTMuMS0yLjUtNC41LTEuNy02LjJsLjUtLjVjLS45LTEuMi01LTguMS0xMi41IDQuNy0uNS0xMy41IC41LTIxLjkgMy0yNC44IDEuMi0yLjUgNC43LTEuMiAxMS4zIDQuMiA2LjQgNS40IDExLjMgMTYgMTUuMiAzMi41IDYuNSAyOC0xOS44IDI2LjItMjYuOSA0Ljl6bS00NS01LjVjMS42IC4zIDkuMy0xLjEgOS4zLTE0LjhsLS41IDBjLTUuNC0xLjEtMi4yLTUuNS0uNy01LjktMS43LTMtMy40LTQuMi01LjQtNC43LTguMSAwLTExLjYgMTIuNy04LjEgMjEuMiAuNSAxLjEgMS4zIDIgMi4yIDIuOHMyIDEuMiAzLjIgMS40bDAgMHptNDAuMS01MC4xbC0yLjUgLjUgLjUgM2M5LjEtLjUgMTguMSAxLjUgMjYuMSA1LjktMi41LTUuNS0xMC0xNC4zLTI4LjMtMTQuM2wuNSAyLjUgMy43IDIuNHptLTcxLjggNDkuNGMyMS43IDE2LjggMTYuNSAyMS40IDQ2LjUgMjMuNmwtMi45LTQuN2M4LjQtNy4yIDEzLjctMTcuMyAxNC44LTI4LjMgMS43LTE2LTEuMi0yOS41LTguOC00MS4zbDEzLTcuNmMwLS4zIDAtLjYtLjEtLjlzLS4yLS42LS40LS44Yy0yLjItLjktNC42LTEuMi03LS45cy00LjYgMS4yLTYuNSAyLjZjLTEyLjcgNi43LTI4IDIwLjktMjkgMjIuNC0xLjcgMS43LTMuNCA1LjktNS40IDEzLjUtMS45IDcuNy0yLjkgMTUuNi0yLjkgMjMuNi00LjctOC0xMC41LTYuNC0xOS45LTUuOWw3LjEgNy42Yy0xNi41IDAtMjMuMyAxNS40LTIzLjYgMTYgNi44IDAgNC42LTcuNiAzMC0xMi4zLTQuMy02LjMtMy4zLTUtNC45LTYuNnptMTguNy0xOC43YzEuMi03LjYgMy40LTEzIDYuNC0xNy4yIDUuNC02LjQgMTAuNi0xMC4xIDE2LTExLjggNC4yLTEuNyA3LjEgMS4yIDEwLjEgOS4zIDIuNSA4LjIgMy41IDE2LjggMyAyNS4zLS41IDkuMy0zLjQgMTcuMi04LjQgMjMuMS0yLjkgMy40LTUuNCA1LjktNi40IDcuNi0zLjggLjQtNy42IC4yLTExLjMtLjVsLTcuMS0zLjQtNS40LTYuNGMuOC0xMCAxLjMtMTguOCAzLjEtMjZ6bTQyIDU2LjFjLTM0LjggMTQuNC0zNC43IDE0LTM2LjEgMTQuMy0yMC44IDQuNy0xOS0yNC40LTE4LjktMjQuOGw1LjktMS4yLS41LTIuNWMtMjAuMi0yLjYtMzEgNC4yLTMyLjUgNC45IC41IC41IDMgMy40IDUuOSA5LjMgNC4yLTYuNCA4LjgtMTAuMSAxNS4yLTEwLjYtMS43IDExLjItMS4yIDIyLjcgMS43IDMzLjcgLjEgLjUgMi42IDE3LjQgMjcuNSAyNC4xIDExLjMgMyAyNyAxLjIgNDguOS01LjRsLTkuMiAuNWMtNC4yLTE0LjgtNi40LTI0LjgtNS45LTI5LjUgMTEuMy04LjggMjEuOS0xMS4zIDMwLjctNy42bDIuNSAwLTExLjgtNy42LTcuMSAuNWMtNS45IDEuMi0xMi4zIDQuMi0xOS40IDguNGwzLjEtNi41eiJdfSxKYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiamlyYSIsaWNvbjpbNTEyLDUxMixbXSwiZjdiMSIsIk00OTguNSAyNDEuN2MtNzIuOS03Mi43LTE2OS40LTE2OS45LTI0MS41LTI0MS43LTE2NS41IDE2NC45LTI0Mi41IDI0MS43LTI0Mi41IDI0MS43LTcuOSA3LjktNy45IDIwLjcgMCAyOC43IDEzMi44IDEzMi4zIDYxLjggNjEuNSAyNDIuNSAyNDEuNiAzNzkuNC0zNzggMTUuNy0xNi43IDI0MS41LTI0MS43IDgtNy45IDgtMjAuNyAwLTI4LjZ6TTI1NyAzMzEuN2wtNzYtNzUuNyA3Ni03NS43IDc2IDc1LjctNzYgNzUuN3oiXX0sZXZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZlZGV4IixpY29uOls2NDAsNTEyLFtdLCJmNzk3IiwiTTU4NiAyODQuNWw1My4zLTU5LjktNjIuNCAwLTIxLjcgMjQuOC0yMi41LTI0LjgtMTE4LjcgMCAwLTE2IDU2LjEgMCAwLTQ4LjEtMTUxLjIgMCAwIDc1LjUtLjUgMGMtOS42LTExLTIxLjUtMTQuOC0zNS40LTE0LjgtMjguNCAwLTQ5LjggMTkuNC01Ny4zIDQ0LjktMTgtNTkuNC05Ny40LTU3LjYtMTIxLjktMTRsMC0yNC4yLTU0LjggMCAwLTI2LjIgNjAgMCAwLTQxLjEtMTA5IDAgMCAxODQuNCA0OSAwIDAtNzcuNSA0OC45IDBjLTEuNSA1LjctMi4zIDExLjgtMi4zIDE4LjIgMCA3My4xIDEwMi42IDkxLjQgMTMwLjIgMjMuN2wtNDIgMGMtMTQuNyAyMC45LTQ1LjggOC45LTQ1LjgtMTQuNmw4NS41IDBjMy43IDMwLjUgMjcuNCA1Ni45IDYwLjEgNTYuOSAxNC4xIDAgMjctNi45IDM0LjktMTguNmwuNSAwIDAgMTEuOSAyMTIuMiAwIDIyLjEtMjUgMjIuMyAyNSA2NC40IDAtNTQtNjAuNXpNMTM5LjMgMjY3LjljNi4xLTI2LjMgNDEuNy0yNS42IDQ2LjUgMGwtNDYuNSAwem0xNTMuNCA0OC45Yy0zNC42IDAtMzQtNjIuOCAwLTYyLjggMzIuNiAwIDM0LjUgNjIuOCAwIDYyLjh6bTE2Ny44IDE5LjFsLTk0LjQgMCAwLTE2Ni41IDk1IDAgMCAzMC4yLTU2LjEgMCAwIDMzLjkgNTUuNSAwIDAgMjguMS01Ni4xIDAgMCA0NC43IDU2LjEgMCAwIDI5LjZ6bS00NS45LTM5LjhsMC0yNC40IDU2LjEgMCAwLTQ0IDUwLjcgNTctNTAuNyA1NyAwLTQ1LjYtNTYuMSAwem0xMzguNiAxMC4zbC0yNi4xIDI5LjUtMzguMSAwIDQ1LjYtNTEuMi00NS42LTUxLjIgMzkuNyAwIDI2LjYgMjkuMyAyNS42LTI5LjMgMzguNSAwLTQ1LjQgNTEgNDYgNTEuNC00MC41IDAtMjYuMy0yOS41eiJdfSx0dnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZXZlcm5vdGUiLGljb246WzM4NCw1MTIsW10sImY4MzkiLCJNMTIxLjEgMTMyLjJjMS42IDIyLjMtMTcuNiAyMS42LTIxLjYgMjEuNi02OC45IDAtNzMuNi0xLTgzLjYgMy4zLS42IC4yLS43IDAtLjQtLjRMMTI0LjEgNDYuNGMuNC0uNCAuNi0uMiAuNCAuNC00LjQgMTAtMy40IDE1LjEtMy40IDg1LjR6bTc5IDMwOGMtMTQuNy0zNy4xIDEzLTc2LjkgNTIuNS03Ni42IDE3LjUgMCAyMi42IDIzLjIgNy45IDMxLjQtNi4yIDMuMy0yNC45IDEuNy0yNS4xIDE5LjIgMCAxNy4xIDE5LjcgMjUgMzEuMiAyNC45IDYgMCAxMS45LTEuMiAxNy41LTMuNXMxMC42LTUuNyAxNC44LTkuOSA3LjYtOS4zIDkuOS0xNC44IDMuNS0xMS41IDMuNS0xNy41bDAtLjFjMC0xMS42LTcuOC00Ny4yLTQ3LjUtNTUuMy03LjctMS41LTY1LTYuMy02OC40LTUwLjUtMy43IDE2LjktMTcuNCA2My41LTQzLjEgNjkuMS04LjcgMS45LTY5LjcgNy42LTExMi45LTM2LjggMCAwLTE4LjYtMTUuMi0yOC4yLTU4LTMuNC0xNS43LTkuMy0zOS43LTExLjEtNjIgMC0xOCAxMS4xLTMwLjQgMjUuMS0zMi4yIDgxIDAgOTAgMi4zIDEwMS03LjggOS44LTkuMiA3LjgtMTUuNSA3LjgtMTAyLjggMS04LjMgNy44LTMwLjggNTMuNC0yNC4xIDYgLjkgMzEuOSA0LjIgMzcuNSAzMC42TDI5MCA3NC44YzIwLjQgMy43IDcwLjkgNyA4MC42IDU3LjkgMjIuNyAxMjEuMSA4LjkgMjM4LjUgNy44IDIzOC41LTE2IDExNC40LTExMS4xIDEwOC45LTExMS4xIDEwOC45LTE5LS4yLTU0LjItOS40LTY3LjMtMzkuOGwwIDB6TTI4MSAyMzUuNGMtMSAxLjktMi4yIDYgLjkgNyAxNC4xIDQuOSAzOS44IDYuOCA0NS45IDUuNSAzLjEtLjIgMy4xLTQuNCAyLjUtNi42LTMuNS0yMS44LTQwLjgtMjYuNS00OS4yLTUuOWwwIDB6Il19LGF2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1c2IiLGljb246WzY0MCw1MTIsW10sImYyODciLCJNNjMzLjUgMjU2YzAgMy4xLTEuNyA2LjEtNC41IDcuNUw1MzkuOSAzMTdjLTEuNCAuOC0yLjggMS40LTQuNSAxLjQtMS40IDAtMy4xLS4zLTQuNS0xLjEtMi44LTEuNy00LjUtNC41LTQuNS03LjhsMC0zNS42LTIzMC43IDBjMjUuMyAzOS42IDQwLjUgMTA2LjkgNjkuNiAxMDYuOWwyNi43IDAgMC0yNi44YzAtNSAzLjktOC45IDguOS04LjlsODkuMSAwYzUgMCA4LjkgMy45IDguOSA4LjlsMCA4OS4xYzAgNS0zLjkgOC45LTguOSA4LjlsLTg5LjEgMGMtNSAwLTguOS0zLjktOC45LTguOWwwLTI2LjctMjYuNyAwYy03NS40IDAtODEuMS0xNDIuNS0xMjQuNy0xNDIuNWwtMTAwLjMgMGMtOC4xIDMwLjYtMzUuOSA1My41LTY5IDUzLjUtMzkuMy0uMS03MS4zLTMyLjEtNzEuMy03MS40czMyLTcxLjMgNzEuMy03MS4zYzMzLjEgMCA2MSAyMi44IDY5IDUzLjUgMzkuMSAwIDQzLjkgOS41IDc0LjYtNjAuNCA0MC4xLTg5LjEgNTguMS04Mi4xIDEwOC45LTgyLjEgNy41LTIwLjkgMjctMzUuNiA1MC40LTM1LjYgMjkuNSAwIDUzLjUgMjMuOSA1My41IDUzLjVzLTIzLjkgNTMuNS01My41IDUzLjVjLTIzLjQgMC00Mi45LTE0LjgtNTAuNC0zNS42bC0yOS44IDBjLTI5LjEgMC00NC4zIDY3LjQtNjkuNiAxMDYuOWwzMDIuMSAwIDAtMzUuNmMwLTMuMyAxLjctNi4xIDQuNS03LjhzNi40LTEuNCA4LjkgLjNMNjI5IDI0OC44YzIuOCAxLjEgNC41IDQuMSA0LjUgNy4yeiJdfSxydnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYW5ncnljcmVhdGl2ZSIsaWNvbjpbNjQwLDUxMixbXSwiZjM2ZSIsIk02NDAgMjM4LjJsLTMuMiAyOC4yLTM0LjUgMi4zLTIgMTguMSAzNC41LTIuMy0zLjIgMjguMi0zNC40IDIuMi0yLjMgMjAuMSAzNC40LTIuMi0zIDI2LjEtNjQuNyA0LjEgMTIuNy0xMTMuMi00Ny4zIDExNS40LTMxLjkgMi0yMy44LTExNy44IDMwLjMtMiAxMy42IDc5LjQgMzEuNy04Mi40IDkzLjEtNi4yek00MjYuOCAzNzEuNWwyOC4zLTEuOCAxMi45LTEyMC4xLTI4LjQgMS45LTEyLjggMTIwek0xNjIgMzg4LjFsLTE5LjQtMzYtMy41IDM3LjQtMjguMiAxLjcgMi43LTI5LjFjLTExIDE4LTMyIDM0LjMtNTYuOSAzNS44LTMyLjggMi01OS43LTIwLjktNTYuNC01OC4yIDIuNi0yOS4zIDI2LjctNjIuOCA2Ny41LTY1LjQgMzcuNy0yLjQgNDcuNiAyMy4yIDUxLjMgMjguOGwyLjgtMzAuOCAzOC45LTIuNWMyMC4xLTEuMyAzOC43IDMuNyA0Mi41IDIzLjdsMi42LTI2LjYgNjQuOC00LjItMi43IDI3LjktMzYuNCAyLjQtMS43IDE3LjkgMzYuNC0yLjMtMi43IDI3LjktMzYuNCAyLjMtMS45IDE5LjkgMzYuMy0yLjMtMi4xIDIwLjggNTUtMTE3LjIgMjMuOC0xLjYgMzIuMSAxMTAuNiA4LjktODUuNi0yMi4zIDEuNCAyLjktMjcuOSA3NS00LjktMyAyOC0yNC4zIDEuNi05LjcgOTEuOS01OCAzLjctNC4zLTE1LjYtMzkuNCAyLjUtOCAxNi4zLTEyNi4yIDcuN3ptLTQ0LjMtNzAuMmwtMjYuNCAxLjdjLTYuNy0xMi40LTE0LjQtMTYuNi0yNi4zLTE1LjgtMTkgMS4yLTMzLjMgMTcuNS0zNC42IDMzLjMtMS40IDE2IDcuMyAzMi41IDI4LjcgMzEuMiAxMi44LS44IDIxLjMtOC42IDI4LjktMTguOWwyNy0xLjcgMi43LTI5Ljh6bTU2LjEtNy43YzEuMi0xMi45LTcuNi0xMy42LTI2LjEtMTIuNEwxNDUgMzI2LjNjMTQuMi0uOSAyNy41LTIuMSAyOC44LTE2LjF6TTE5NC45IDM4MWw1LjgtNjBjLTUgMTMuNS0xNC43IDIxLjEtMjcuOSAyNi42TDE5NC45IDM4MXptMTM1LjQtNDVsLTcuOS0zNy44LTE1LjggMzkuMyAyMy43LTEuNXpNMTYwLjIgMjYxLjRsLTQuMy0xNy41LTM5LjYgMi42LTguMSAxOC4yLTMxLjkgMi4xIDU3LTEyMS45IDIzLjktMS42IDMwLjcgMTAyIDkuOS0xMDQuNyAyNy0xLjggMzcuOCA2My42IDYuNS02Ni42IDI4LjUtMS45LTQgNDEuMmM3LjQtMTMuNSAyMi45LTQ0LjcgNjMuNi00Ny41IDQwLjUtMi44IDUyLjQgMjkuMyA1My40IDMwLjNsMy4zLTMyIDM5LjMtMi43YzEyLjctLjkgMjcuOCAuMyAzNi4zIDkuN2wtNC40LTExLjkgMzIuMi0yLjIgMTIuOSA0My4yIDIzLTQ1LjcgMzEtMi4yLTQzLjYgNzguNC00LjggNDQuMy0yOC40IDEuOSA0LjgtNDQuMy0xNS44LTQzYzEgMjIuMy05LjIgNDAuMS0zMiA0OS42bDI1LjIgMzguOC0zNi40IDIuNC0xOS4yLTM2LjgtNCAzOC4zLTI4LjQgMS45IDMuMy0zMS41Yy02LjcgOS4zLTE5LjcgMzUuNC01OS42IDM4LTI2LjIgMS43LTQ1LjYtMTAuMy01NS40LTM5LjJsLTQgNDAuMy0yNSAxLjYtMzcuNi02My4zLTYuMyA2Ni4yLTU2LjggMy43em0yNzYuNi04Mi4xYzEwLjItLjcgMTcuNS0yLjEgMjEuNi00LjMgNC41LTIuNCA3LTYuNCA3LjYtMTIuMSAuNi01LjMtLjYtOC44LTMuNC0xMC40LTMuNi0yLjEtMTAuNi0yLjgtMjIuOS0ybC0yLjkgMjguOHpNMzI3LjcgMjE0YzUuNiA1LjkgMTIuNyA4LjUgMjEuMyA3LjkgNC43LS4zIDkuMS0xLjggMTMuMy00LjEgNS41LTMgMTAuNi04IDE1LjEtMTQuM2wtMzQuMiAyLjMgMi40LTIzLjkgNjMuMS00LjMgMS4yLTEyLTMxLjIgMi4xYy00LjEtMy43LTcuOC02LjYtMTEuMS04LjEtNC0xLjctOC4xLTIuOC0xMi4yLTIuNS04IC41LTE1LjMgMy42LTIyIDkuMi03LjcgNi40LTEyIDE0LjUtMTIuOSAyNC40LTEuMSA5LjYgMS40IDE3LjMgNy4yIDIzLjN6bS0yMDEuMyA4LjJsMjMuOC0xLjYtOC4zLTM3LjYtMTUuNSAzOS4yeiJdfSxzdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWl6dW5pIixpY29uOls1MTIsNTEyLFtdLCJmM2NjIiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNMTc2IDM1OS45Yy0zMS40IDEwLjYtNTguOCAyNy4zLTgwIDQ4LjJMOTYgMTM2YzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDBsMCAyMjMuOXpNMjk2IDM1MGMtMTIuOS0yLTI2LjItMy4xLTM5LjgtMy4xLTEzLjggMC0yNy4yIDEuMS00MC4yIDMuMWwwLTIxNGMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwbDAgMjE0em0xMjAgNTcuN2MtMjEuMi0yMC44LTQ4LjYtMzcuNC04MC00OEwzMzYgMTM2YzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDBsMCAyNzEuN3oiXX0saXZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Iml0Y2gtaW8iLGljb246WzUxMiw1MTIsW10sImY4M2EiLCJNNzEuOSAzNC44QzUwLjIgNDcuNyA3LjQgOTYuOCA3IDEwOS43bDAgMjEuM2MwIDI3LjEgMjUuMyA1MC44IDQ4LjIgNTAuOCAyNy42IDAgNTAuNS0yMi44IDUwLjUtNTAgMCAyNy4xIDIyLjIgNTAgNDkuOCA1MHM0OS0yMi44IDQ5LTUwYzAgMjcuMSAyMy42IDUwIDUxLjIgNTBsLjUgMGMyNy42IDAgNTEuMi0yMi44IDUxLjItNTAgMCAyNy4xIDIxLjUgNTAgNDkgNTBzNDkuOC0yMi44IDQ5LjgtNTBjMCAyNy4xIDIzIDUwIDUwLjUgNTAgMjMgMCA0OC4zLTIzLjggNDguMy01MC44bDAtMjEuM2MtLjQtMTIuOS00My4yLTYyLjEtNjQuOS03NS02Ny40LTIuMy0xMTQuMi0yLjctMTg0LTIuN1M5MS4xIDMzLjEgNzEuOSAzNC44ek0yMDQuMiAxNjkuMmMtMjIgMzguNC03Ny45IDM4LjctOTkuOCAuMi0xMy4yIDIzLjEtNDMuMiAzMi4xLTU2IDI3LjctMy45IDQwLjItMTMuNyAyMzcuMSAxNy43IDI2OS4yIDgwIDE4LjcgMzAyLjEgMTguMSAzNzkuOCAwIDMxLjYtMzIuMyAyMS4zLTIzMiAxNy43LTI2OS4yLTEyLjkgNC40LTQyLjktNC42LTU2LTI3LjctMjIgMzguNS03Ny44IDM4LjEtOTkuOC0uMi03LjEgMTIuNS0yMyAyOC45LTUxLjggMjguOS0xMC40IC4zLTIwLjgtMi4yLTI5LjktNy4zcy0xNi43LTEyLjYtMjEuOS0yMS42bDAgMHptLTQxLjYgNTMuOGMxNi41IDAgMzEuMSAwIDQ5LjIgMTkuOCAyOS4zLTMgNTguOS0zIDg4LjIgMCAxOC4yLTE5LjcgMzIuOC0xOS43IDQ5LjItMTkuNyA1Mi4zIDAgNjUuMiA3Ny41IDgzLjkgMTQ0LjQgMTcuMyA2Mi4yLTUuNSA2My43LTM0IDYzLjctNDIuMS0xLjYtNjUuNS0zMi4yLTY1LjUtNjIuOC0zOS4zIDYuNC0xMDEuOSA4LjgtMTU1LjYgMCAwIDMwLjYtMjMuMyA2MS4yLTY1LjUgNjIuOC0yOC40LS4xLTUxLjItMS42LTMzLjktNjMuNyAxOC43LTY3IDMxLjYtMTQ0LjQgODMuOS0xNDQuNGwwLS4xek0yNTYgMjcwLjhzLTQ0LjQgNDAuOC01Mi40IDU1LjJsMjktMS4yIDAgMjUuM2MwIDEuNSAyMS4zIC4yIDIzLjMgLjIgMTEuNiAuNSAyMy4zIDEgMjMuMy0uMmwwLTI1LjMgMjkgMS4yYy04LTE0LjUtNTIuNC01NS4yLTUyLjQtNTUuMmwuMSAweiJdfSxvdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2luZG93cyIsaWNvbjpbNDQ4LDUxMixbXSwiZjE3YSIsIk0wIDkzLjdsMTgzLjYtMjUuMyAwIDE3Ny40LTE4My42IDAgMC0xNTIuMXpNMCA0MTguM2wxODMuNiAyNS4zIDAtMTc1LjItMTgzLjYgMCAwIDE0OS45em0yMDMuOCAyOGwyNDQuMiAzMy43IDAtMjExLjYtMjQ0LjIgMCAwIDE3Ny45em0wLTM4MC42bDAgMTgwLjEgMjQ0LjIgMCAwLTIxMy44LTI0NC4yIDMzLjd6Il19LG52dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdHVtYmxldXBvbiIsaWNvbjpbNTEyLDUxMixbXSwiZjFhNCIsIk01MDIuOSAyNjZsMCA2OS43YzAgNjIuMS01MC4zIDExMi40LTExMi40IDExMi40LTYxLjggMC0xMTIuNC00OS44LTExMi40LTExMS4zbDAtNzAuMiAzNC4zIDE2IDUxLjEtMTUuMiAwIDcwLjZjMCAxNC43IDEyIDI2LjUgMjYuNyAyNi41UzQxNyAzNTIuNyA0MTcgMzM4bDAtNzIgODUuOSAwek0yNzguMiAyMDcuOGwzNC4zIDE2IDUxLjEtMTUuMiAwLTM1LjZjMC02MC41LTUxLjEtMTA5LTExMi4xLTEwOS02MC44IDAtMTEyLjEgNDguMi0xMTIuMSAxMDguMmwwIDE2Mi40YzAgMTQuOS0xMiAyNi43LTI2LjcgMjYuN1M4NiAzNDkuNSA4NiAzMzQuNmwwLTY4LjYtODYgMCAwIDY5LjdjMCA2MiA1MC4zIDExMi4zIDExMi40IDExMi4zIDYxLjYgMCAxMTIuNC00OS41IDExMi40LTExMC44bDAtMTYwLjNjMC0xNC43IDEyLTI2LjcgMjYuNy0yNi43czI2LjcgMTIgMjYuNyAyNi43bDAgMzAuOXoiXX0saGVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imdvb2dsZSIsaWNvbjpbNTEyLDUxMixbXSwiZjFhMCIsIk01MDAgMjYxLjhDNTAwIDQwMy4zIDQwMy4xIDUwNCAyNjAgNTA0IDEyMi44IDUwNCAxMiAzOTMuMiAxMiAyNTZTMTIyLjggOCAyNjAgOGM2Ni44IDAgMTIzIDI0LjUgMTY2LjMgNjQuOWwtNjcuNSA2NC45Yy04OC4zLTg1LjItMjUyLjUtMjEuMi0yNTIuNSAxMTguMiAwIDg2LjUgNjkuMSAxNTYuNiAxNTMuNyAxNTYuNiA5OC4yIDAgMTM1LTcwLjQgMTQwLjgtMTA2LjlsLTE0MC44IDAgMC04NS4zIDIzNi4xIDBjMi4zIDEyLjcgMy45IDI0LjkgMy45IDQxLjR6Il19LGx2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkaXNjb3JkIixpY29uOls1NzYsNTEyLFtdLCJmMzkyIiwiTTQ5Mi41IDY5LjhjLS4yLS4zLS40LS42LS44LS43LTM4LjEtMTcuNS03OC40LTMwLTExOS43LTM3LjEtLjQtLjEtLjggMC0xLjEgLjFzLS42IC40LS44IC44Yy01LjUgOS45LTEwLjUgMjAuMi0xNC45IDMwLjYtNDQuNi02LjgtODkuOS02LjgtMTM0LjQgMC00LjUtMTAuNS05LjUtMjAuNy0xNS4xLTMwLjYtLjItLjMtLjUtLjYtLjgtLjhzLS43LS4yLTEuMS0uMmMtNDEuMyA3LjEtODEuNiAxOS42LTExOS43IDM3LjEtLjMgLjEtLjYgLjQtLjggLjctNzYuMiAxMTMuOC05Ny4xIDIyNC45LTg2LjkgMzM0LjUgMCAuMyAuMSAuNSAuMiAuOHMuMyAuNCAuNSAuNmM0NC40IDMyLjkgOTQgNTggMTQ2LjggNzQuMiAuNCAuMSAuOCAuMSAxLjEgMHMuNy0uNCAuOS0uN2MxMS4zLTE1LjQgMjEuNC0zMS44IDMwLTQ4LjggLjEtLjIgLjItLjUgLjItLjhzMC0uNS0uMS0uOC0uMi0uNS0uNC0uNi0uNC0uMy0uNy0uNGMtMTUuOC02LjEtMzEuMi0xMy40LTQ1LjktMjEuOS0uMy0uMi0uNS0uNC0uNy0uNnMtLjMtLjYtLjMtLjkgMC0uNiAuMi0uOSAuMy0uNSAuNi0uN2MzLjEtMi4zIDYuMi00LjcgOS4xLTcuMSAuMy0uMiAuNi0uNCAuOS0uNHMuNyAwIDEgLjFjOTYuMiA0My45IDIwMC40IDQzLjkgMjk1LjUgMCAuMy0uMSAuNy0uMiAxLS4ycy43IC4yIC45IC40YzIuOSAyLjQgNiA0LjkgOS4xIDcuMiAuMiAuMiAuNCAuNCAuNiAuN3MuMiAuNiAuMiAuOS0uMSAuNi0uMyAuOS0uNCAuNS0uNiAuNmMtMTQuNyA4LjYtMzAgMTUuOS00NS45IDIxLjgtLjIgLjEtLjUgLjItLjcgLjRzLS4zIC40LS40IC43LS4xIC41LS4xIC44IC4xIC41IC4yIC44YzguOCAxNyAxOC44IDMzLjMgMzAgNDguOCAuMiAuMyAuNiAuNiAuOSAuN3MuOCAuMSAxLjEgMGM1Mi45LTE2LjIgMTAyLjYtNDEuMyAxNDcuMS03NC4yIC4yLS4yIC40LS40IC41LS42cy4yLS41IC4yLS44YzEyLjMtMTI2LjgtMjAuNS0yMzYuOS04Ni45LTMzNC41em0tMzAyIDI2Ny43Yy0yOSAwLTUyLjgtMjYuNi01Mi44LTU5LjJzMjMuNC01OS4yIDUyLjgtNTkuMmMyOS43IDAgNTMuMyAyNi44IDUyLjggNTkuMiAwIDMyLjctMjMuNCA1OS4yLTUyLjggNTkuMnptMTk1LjQgMGMtMjkgMC01Mi44LTI2LjYtNTIuOC01OS4yczIzLjQtNTkuMiA1Mi44LTU5LjJjMjkuNyAwIDUzLjMgMjYuOCA1Mi44IDU5LjIgMCAzMi43LTIzLjIgNTkuMi01Mi44IDU5LjJ6Il19LGN2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJoYWNrZXItbmV3cyIsaWNvbjpbNDQ4LDUxMixbXSwiZjFkNCIsIk0wIDMybDAgNDQ4IDQ0OCAwIDAtNDQ4LTQ0OCAwek0yMS4yIDIyOS4ybC0uMiAwYy4xLS4xIC4yLS4zIC4zLS40IDAgLjEgMCAuMy0uMSAuNHptMjE4IDUzLjlsMCAxMDAuOS0zMS40IDAgMC0xMDIuNy03OS44LTE1My4zIDM3LjMgMGM1Mi41IDk4LjMgNDkuMiAxMDEuMiA1OS4zIDEyNS42IDEyLjMtMjcgNS44LTI0LjQgNjAuNi0xMjUuNmwzNC44IDAtODAuOCAxNTUuMXoiXX0sUHVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImVsZXZlbnR5IixpY29uOls2NDAsNTEyLFsiMTF0eSJdLCJlN2Q2IiwiTTYxNS4zIDE2OC41YzIuMyAwIDQuNiAuNyA2LjYgMi4yIDEuOSAxLjQgMy4xIDMuMyAzLjggNSAxLjQgMy4zIDEuOCA3LjMgMS44IDExLjMgMCAyLjItLjMgNC45LS43IDcuNmwwIC40LTUwLjkgMjY0LjkgMCAwYy00IDIyLjEtOC41IDM5LjQtMTMuNiA1MS43LTUgMTIuMS0xMC45IDIxLjYtMTguNiAyN2wwIDBjLTcuNSA1LjMtMTYuOSA3LjctMjcuNiA4bC0zIDBjLTE2IDAtMjkuMy00LjItMzYuOS0xNC44LS4xLS4xLS4xLS4xLS4yLS4yLS4xLS4yLS4zLS40LS41LS42bDAgMGMtMS44LTIuNC0yLjUtNS4yLTIuOS03LjQtLjUtMi44LS43LTYuMS0uNy05LjggMC03LjMgLjYtMTMuNSAyLjEtMTguMiAxLjQtNC40IDQuOC0xMC40IDEyLjItMTAuNGwxLjMgLjFjLjIgMCAuNCAuMSAuNSAuMSAuMyAuMSAuNiAuMSAuOCAuMiAuNiAuMSAxLjMgLjMgMi4yIC42bDcuNiAyLjIgLjEgMCA3LjYgMi4xYy45IC4yIDEuNyAuNCAyLjIgLjUgLjQgLjEgLjYgLjEgLjcgLjEgMCAwIC4xIDAgLjItLjEgLjEtLjEgLjQtLjIgLjgtLjYgLjktLjkgMi4yLTIuNiAzLjYtNS43IDIuNi01LjggNC4yLTE0LjcgNC4yLTI3LjQgMC0uNy0uMy0zLjQtMS4zLTguOS0uOS01LjEtMi4zLTEyLjItNC4yLTIxLjFsLTU2LTIzMi45LS4xLS40IDAtLjNjLS40LTIuNy0uNy01LjMtLjctNy4zIDAtMy43IC40LTcuNSAxLjctMTAuNiAuNy0xLjYgMS44LTMuNCAzLjUtNC45IDEuOS0xLjUgNC4yLTIuMyA2LjUtMi4zbDM0LjYgMGM0LjYgMCA4LjcgMS43IDExLjkgNWwxLjMgMS41YzEuMiAxLjYgMiAzLjQgMi43IDUuMiAuOSAyLjQgMS41IDUuMSAyIDguMWwzMC40IDE2MS4yIDIzLjgtMTYwYy44LTUuOCAyLjItMTEuNCA1LjEtMTUuMSAzLTMuOCA3LjItNS44IDEyLTUuOGwyNCAwek0zNzUuMSAzNC42YzIuNiAwIDUuMSAuNyA3LjQgMi4zIDIuMiAxLjUgMy43IDMuNiA0LjcgNS43IDEuOSA0IDIuNSA5LjEgMi41IDE0LjVsMCAxMTEuMmMwIC4xIDAgLjIgMCAuM2wzMi40IDBjMi41IDAgNSAuNiA3LjIgMi4xIDIuMiAxLjQgMy43IDMuNCA0LjggNS41IDIgMy45IDIuNiA4LjggMi42IDEzLjlsMCAxNS40YzAgNS0uNiA5LjgtMi42IDEzLjctMS4xIDItMi42IDQtNC44IDUuNC0yLjIgMS40LTQuNyAyLTcuMSAybC0zMi41IDAgMCAxNDUuOGMwIDEwLjggLjcgMTkuNSAyIDI2LjIgMS40IDYuOSAzLjEgMTAuOSA0LjcgMTIuOSAxLjIgMS41IDIuMiAyLjUgMy4xIDMuMmwyLjIgMS40IC4xIC4xIDIuOSAuOGMxLjIgLjIgMi42IC4zIDQuMyAuM2wyMC4zIDBjNC41IDAgOC45IDEuNyAxMS44IDUuOCAyLjYgMy42IDMuMyA4LjEgMy4zIDEyLjJsMCAxNy4yYzAgNC41LS44IDkuMy0zLjQgMTMuMS0zIDQuMi03LjUgNi0xMi4zIDZsMCAwLTI5LjEgLjFjLTggMC0xNS0uNi0yMS4yLTEuNy02LjctMS4zLTEzLjQtNC4xLTIwLjEtOC4xLTcuMi00LjQtMTMtMTAuMy0xNy41LTE3LjgtNC41LTcuNS03LjktMTcuNS0xMC41LTI5LjUtMi42LTEyLjItMy45LTI2LjYtMy45LTQzbDAtMTQ0LjktMTMuNCAwYy0yLjQgMC00LjktLjYtNy4xLTItMi4yLTEuNC0zLjctMy40LTQuOC01LjQtMi0zLjktMi42LTguNy0yLjYtMTMuN2wwLTE1LjRjMC01LjEgLjYtMTAgMi42LTEzLjkgMS4xLTIuMSAyLjYtNCA0LjgtNS41IDIuMi0xLjUgNC43LTIuMSA3LjItMi4xbDEzLjQgMCAwLS42IDUuMi0xMTEuMiAwLS4xIC4zLTMuOWMuNS0zLjggMS4zLTcuNCAyLjctMTAuMyAyLjEtNC4yIDYtNy45IDExLjgtNy45bDI4LjYgMHptLTI2OCAxMS43YzEuOCAuMyAzLjYgLjkgNS4zIDIuMSAyLjEgMS41IDMuNSAzLjUgNC40IDUuNCAxLjcgMy43IDIuMyA4LjQgMi4zIDEzLjJsMCAzNzcuOGMwIDYuNy0uNiAxMi42LTIuNCAxNy4xLS45IDIuMy0yLjMgNC43LTQuNCA2LjUtMi4zIDItNS4xIDMtOC4xIDNsLTQzLjcgMGMtMyAwLTUuOC0xLjEtOC4xLTMuMS0yLjEtMS45LTMuNC00LjMtNC4yLTYuNS0xLjctNC41LTIuMy0xMC4zLTIuMy0xN2wwLTMxNS44Yy00LjggMS4yLTguNyAyLjItMTEuNSAyLjktMS45IC41LTMuNCAuOC00LjQgMS4xLS41IC4xLS45IC4yLTEuMiAuMy0uMSAwLS4zIC4xLS41IC4xLS4xIDAtLjIgMC0uMyAuMSAwIDAtLjIgMC0uMyAwIDAgMC0uMiAwLS40IDBsMCAwYy0uMSAwLS4zIDAtLjQgMC0uMSAwLS4yIDAtLjIgMC0yLjIgLjEtNC41LS40LTYuNi0xLjctMi4zLTEuNC0zLjgtMy40LTQuNy01LjMtMS44LTMuNy0yLjMtOC40LTIuMy0xM2wwLTI3LjRjMC00LjQgLjctOC44IDIuNi0xMi40IDIuMS0zLjkgNS41LTYuNiA5LjgtNy42bDc1LjUtMTkuNWMxLjQtLjQgMi45LS41IDQuNC0uNWwxLjggLjF6bTE0My44LS41YzEuOCAuMyAzLjYgLjkgNS4yIDIuMSAyLjEgMS41IDMuNSAzLjUgNC40IDUuNCAxLjcgMy43IDIuMiA4LjQgMi4yIDEzLjJsMCAzNzcuOGMwIDYuNy0uNiAxMi42LTIuNCAxNy4xLS45IDIuMy0yLjMgNC43LTQuNCA2LjUtMi4zIDItNS4xIDMtOC4xIDNsLTQzLjcgMGMtMyAwLTUuOC0xLjEtOC4xLTMuMS0yLjEtMS45LTMuNC00LjMtNC4yLTYuNS0xLjctNC41LTIuMy0xMC4zLTIuMy0xN2wwLTMxNS44Yy00LjggMS4yLTguNyAyLjItMTEuNSAyLjktMS45IC41LTMuNCAuOC00LjQgMS4xLS41IC4xLS45IC4yLTEuMiAuMy0uMSAwLS4zIC4xLS41IC4xLS4xIDAtLjIgMC0uMyAuMS0uMSAwLS4yIDAtLjMgMCAwIDAtLjIgMC0uNCAwbDAgMGMtLjEgMC0uMiAwLS4zIDAtLjEgMC0uMiAwLS4zIDAtMi4yIC4xLTQuNS0uNC02LjYtMS43LTIuMy0xLjQtMy44LTMuNC00LjctNS4zLTEuOC0zLjctMi4zLTguMy0yLjMtMTNsMC0yNy40YzAtNC40IC43LTguNyAyLjYtMTIuNCAyLjEtMy45IDUuNS02LjYgOS44LTcuNmw3NS40LTE5LjRjMS40LS40IDIuOS0uNSA0LjQtLjVsMS44IC4xeiJdfSxkdnQ9UHVlLHV2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0ZWFtc3BlYWsiLGljb246WzU3Niw1MTIsW10sImY0ZjkiLCJNMTUyLjggMzcuMmMtMzIuMiAzOC4xLTU2LjEgODIuNi02OS45IDEzMC41IDAgLjItLjEgLjMtLjEgLjUtMzkuMyAxNi4yLTY2LjggNTQuOC02Ni44IDk5LjggMCA1OS42IDQ4LjQgMTA4IDEwOCAxMDhzMTA4LTQ4LjQgMTA4LTEwOGMwLTUzLjUtMzguOS05Ny45LTkwLTEwNi41IDE1LjctNDEuOCA0MC40LTc5LjYgNzIuMy0xMTAuNyAxLjgtMS42IDQtMi42IDYuMy0zLjEgMzcuMi0xMS41IDc2LjctMTMuMyAxMTQuOC01LjIgMTE5LjMgMjUuMSAxOTguNiAxMzguMiAxODEuNyAyNTguOC04LjQgNjIuNi0zOC42IDExMi43LTg3LjcgMTUxLjQtNTAuMSAzOS43LTEwNy41IDU0LjMtMTcwLjIgNTIuMmwtMjQtMWMxMi40IDIuOCAyNSA0LjkgMzcuNiA2LjMgNDAuNyA0LjIgODEuNCAyLjEgMTIwLjEtMTIuNSA5NC0zNS41IDE0OS4zLTEwMi4zIDE2Mi45LTIwMi41IDQuOC01Mi42LTUuOC0xMDUuNC0zMC44LTE1Mi03MC40LTEzMS45LTIzNC4yLTE4MS42LTM2Ni0xMTEuMi0yLjQgMS40LTQuNSAzLjEtNi4zIDUuMmwuMSAwek0zMDkuNCA0MzMuOWMtMi4xIDExLjUtNC4yIDIxLjktMTQuNiAzMS4zIDUzLjItMSAxMjMuMi0yOS4yIDE2MS44LTk3LjEgMzkuNy02OS45IDM3LjYtMTM5LjktNi4zLTIwNy44LTM2LjUtNTUuMy04OS44LTgyLjQtMTU2LjYtODYuNiAxLjUgMi4zIDMuMiA0LjQgNS4yIDYuM2w1LjIgNi4zYzI1LjEgMzEuMyAzNy42IDY3LjkgNDIuOCAxMDcuNSAyLjEgMTUuNy0xIDMwLjMtMTMuNiA0MS44LTQuMiAzLjEtNS4yIDYuMy00LjIgMTAuNGw3LjMgMTcuNyAyOS4zIDU0LjNjNS4yIDExLjUgNC4yIDE5LjgtNi4zIDI4LjItMy4yIDIuNS02LjcgNC42LTEwLjQgNi4zbC0xOC44IDguNCAzLjEgMTMuNmMzLjEgNi4zIDEgMTIuNS0zLjEgMTcuNy0yLjUgMi40LTMuOCA1LjktMy4xIDkuNCAyLjEgMTEuNS0yLjEgMTkuOC0xMi41IDI1LjEtMi4xIDEtNC4yIDUuMi01LjIgNy4zbDAtLjF6bS0xMzMuNi0zLjFjMTYuNyAxMS41IDM0LjUgMjAuOSA1My4yIDI2LjEgMjQgNS4yIDQxLjgtNi4zIDQ0LjktMzAuMyAxLTguNCA1LjItMTQuNiAxMi41LTE3LjcgNy4zLTQuMiA4LjQtNy4zIDIuMS0xMy42bC05LjQtOC40IDEzLjYtNC4yYzYuMy0yLjEgNy4zLTUuMiA1LjItMTEuNS0xLjQtMy0yLjQtNi4yLTMuMS05LjQtMy4xLTE0LjYtMi4xLTE1LjcgMTEuNS0xOC44IDguNC0zLjEgMTUuNy02LjMgMjEuOS0xMi41IDMuMS0yLjEgMy4xLTQuMiAxLTguNGwtMTYuNy0zMC4zYy0xLTEuOS0yLjEtMy44LTMuMS01LjctNi40LTExLjctMTMtMjMuNi0xNS43LTM3LjEtMi4xLTkuNC0xLTE3LjcgOC40LTI0IDUuMi00LjIgOC40LTkuNCA4LjQtMTYuNy0uNC0xMC4xLTEuNS0yMC4zLTMuMS0zMC4zLTYuMy0zNy42LTIzLTY4LjktNTEuMi05NS01LjItNC4yLTkuNC02LjMtMTYuNy00LjJsLTM1LjYgMTIuNyA2IDMuNmM2LjMgMy43IDEyLjIgNy4zIDE3IDEyLjEgMzAuMyAyNi4xIDQxLjggNjEuNiA0NS45IDEwMC4yIDEgOC40IDAgMTYuNy03LjMgMjEuOS04LjQgNS4yLTEwLjQgMTIuNS03LjMgMjAuOSA0LjkgMTMuMiAxMC40IDI2IDE2LjcgMzguNkwyOTEuNiAzMThjLTYuMyA4LjQtMTMuNiAxMS41LTIxLjkgMTQuNi0xMi41IDMuMS0xNC42IDcuMy0xMC40IDIwLjkgLjYgMS41IDEuNCAyLjggMi4xIDQuMiAyLjEgNS4yIDEgOC40LTQuMiAxMC40bC0xMi41IDMuMSA1LjIgNC4yIDQuMiA0LjJjNC4yIDUuMiA0LjIgOC40LTIuMSAxMC40LTcuMyA0LjItMTEuNSA5LjQtMTEuNSAxNy43IDAgMTIuNS03LjMgMTkuOC0xOC44IDI0LTMuOCAxLTcuNiAxLjUtMTEuNSAxbC0zNC41LTIuMSAuMSAuMnoiXX0scHZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN1cHBsZSIsaWNvbjpbNjQwLDUxMixbXSwiZjNmOSIsIk02NDAgMjYyLjVjMCA2NC4xLTEwOSAxMTYuMS0yNDMuNSAxMTYuMS0yNC44IDAtNDguNi0xLjgtNzEuMS01IDcuNyAuNCAxNS41IC42IDIzLjQgLjYgMTM0LjUgMCAyNDMuNS01Ni45IDI0My41LTEyNy4xIDAtMjkuNC0xOS4xLTU2LjQtNTEuMi03OCA2MCAyMS4xIDk4LjkgNTUuMSA5OC45IDkzLjR6TTQ3LjcgMjI3LjljLS4xLTcwLjIgMTA4LjgtMTI3LjMgMjQzLjMtMTI3LjYgNy45IDAgMTUuNiAuMiAyMy4zIC41LTIyLjUtMy4yLTQ2LjMtNC45LTcxLTQuOS0xMzQuNSAuNC0yNDMuNCA1Mi42LTI0My4zIDExNi43IC4xIDM4LjMgMzkuMSA3Mi4zIDk5LjMgOTMuMy0zMi4zLTIxLjUtNTEuNS00OC42LTUxLjYtNzh6bTYwLjIgMzkuOVMxMTguNCAyODEgMTM3LjIgMjgxYzE3LjkgMCAyOC40LTExLjUgMjguNC0yNS4xIDAtMjgtNDAuMi0yNS4xLTQwLjItMzkuNyAwLTUuNCA1LjMtOS4xIDEyLjUtOS4xIDUuNyAwIDExLjMgMi42IDExLjMgNi42bDAgMy45IDE0LjIgMCAwLTcuOWMwLTEyLjEtMTUuNC0xNi44LTI1LjQtMTYuOC0xNi41IDAtMjguNSAxMC4yLTI4LjUgMjQuMSAwIDI2LjYgNDAuMiAyNS40IDQwLjIgMzkuOSAwIDYuNi01LjggMTAuMS0xMi4zIDEwLjEtMTEuOSAwLTIwLjctMTAuMS0yMC43LTEwLjFsLTguOCAxMC45em0xMjAuOC03My42bDAgNTQuNGMwIDExLjMtNy4xIDE3LjgtMTcuOCAxNy44cy0xNy44LTYuNS0xNy44LTE3LjdsMC01NC41LTE1LjggMCAwIDU1YzAgMTguOSAxMy40IDMxLjkgMzMuNyAzMS45IDIwLjEgMCAzMy40LTEzIDMzLjQtMzEuOWwwLTU1LTE1LjcgMHptMzQuNCA4NS40bDE1LjggMCAwLTI5LjUgMTUuNSAwYzE2IDAgMjcuMi0xMS41IDI3LjItMjguMXMtMTEuMi0yNy44LTI3LjItMjcuOGwtMzkuMSAwIDAgMTMuNCA3LjggMCAwIDcyem0xNS44LTQzbDAtMjkuMSAxMi45IDBjOC43IDAgMTMuNyA1LjcgMTMuNyAxNC40IDAgOC45LTUuMSAxNC43LTE0IDE0LjdsLTEyLjYgMHptNTcgNDNsMTUuOCAwIDAtMjkuNSAxNS41IDBjMTYgMCAyNy4yLTExLjUgMjcuMi0yOC4xcy0xMS4yLTI3LjgtMjcuMi0yNy44bC0zOS4xIDAgMCAxMy40IDcuOCAwIDAgNzJ6bTE1LjctNDNsMC0yOS4xIDEyLjkgMGM4LjcgMCAxMy43IDUuNyAxMy43IDE0LjQgMCA4LjktNSAxNC43LTE0IDE0LjdsLTEyLjYgMHptNTcuMSAzNC44YzAgNS44IDIuNCA4LjIgOC4yIDguMmwzNy42IDBjNS44IDAgOC4yLTIuNCA4LjItOC4ybDAtMTMtMTQuMyAwIDAgNS4yYzAgMS43LTEgMi42LTIuNiAyLjZsLTE4LjYgMGMtMS43IDAtMi42LTEtMi42LTIuNmwwLTYxLjJjMC01LjctMi40LTguMi04LjItOC4ybC0xNS40IDAgMCAxMy40IDUuMiAwYzEuNyAwIDIuNiAxIDIuNiAyLjZsMCA2MS4yLS4xIDB6bTYzLjQgMGMwIDUuOCAyLjQgOC4yIDguMiA4LjJsMzguNyAwYzUuNyAwIDguMi0yLjQgOC4yLTguMmwwLTEzLTE0LjMgMCAwIDUuMmMwIDEuNy0xIDIuNi0yLjYgMi42bC0xOS43IDBjLTEuNyAwLTIuNi0xLTIuNi0yLjZsMC0yMC4zIDI3LjcgMCAwLTEzLjQtMjcuNyAwIDAtMjIuNCAxOS4yIDBjMS43IDAgMi42IDEgMi42IDIuNmwwIDUuMiAxNC4yIDAgMC0xM2MwLTUuNy0yLjUtOC4yLTguMi04LjJsLTUxLjYgMCAwIDEzLjQgNy44IDAgMCA2My45IC4xIDB6bTU4LjktNzZsMCA1LjkgMS42IDAgMC01LjkgMi43IDAgMC0xLjItNyAwIDAgMS4yIDIuNyAwem01LjctMS4ybDAgNy4xIDEuNSAwIDAtNS43IDIuMyA1LjcgMS4zIDAgMi4zLTUuNyAwIDUuNyAxLjUgMCAwLTcuMS0yLjMgMC0yLjEgNS4xLTIuMS01LjEtMi40IDB6Il19LEl1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtdHdpdHRlciIsaWNvbjpbNDQ4LDUxMixbInR3aXR0ZXItc3F1YXJlIl0sImYwODEiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMzUxLjMgMTk5LjNjMCA4Ni43LTY2IDE4Ni42LTE4Ni42IDE4Ni42LTM3LjIgMC03MS43LTEwLjgtMTAwLjctMjkuNCA1LjMgLjYgMTAuNCAuOCAxNS44IC44IDMwLjcgMCA1OC45LTEwLjQgODEuNC0yOC0yOC44LS42LTUzLTE5LjUtNjEuMy00NS41IDEwLjEgMS41IDE5LjIgMS41IDI5LjYtMS4yLTMwLTYuMS01Mi41LTMyLjUtNTIuNS02NC40bDAtLjhjOC43IDQuOSAxOC45IDcuOSAyOS42IDguMy05LTYtMTYuNC0xNC4xLTIxLjUtMjMuNnMtNy44LTIwLjItNy43LTMxYzAtMTIuMiAzLjItMjMuNCA4LjktMzMuMSAzMi4zIDM5LjggODAuOCA2NS44IDEzNS4yIDY4LjYtOS4zLTQ0LjUgMjQtODAuNiA2NC04MC42IDE4LjkgMCAzNS45IDcuOSA0Ny45IDIwLjcgMTQuOC0yLjggMjktOC4zIDQxLjYtMTUuOC00LjkgMTUuMi0xNS4yIDI4LTI4LjggMzYuMSAxMy4yLTEuNCAyNi01LjEgMzcuOC0xMC4yLTguOSAxMy4xLTIwLjEgMjQuNy0zMi45IDM0IC4yIDIuOCAuMiA1LjcgLjIgOC41eiJdfSxmdnQ9SXVlLGh2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2aW0iLGljb246WzUxMiw1MTIsW10sImU4OGEiLCJNMzAzLjMgNTQuNWwwLTEyLjMgNC0zLjcgNy45LTcuMiAzLjUtMy4yIDE2OCAwIDE1LjEgMTUuMSAwIDM4LjktMy41IDMuNi04MC45IDgyLjkgODYuOSA4Ni45LTkxLjIgOTEuMiA4LjkgMCA3LjYtOC4zIDEtLjljMS4xLS44IDIuNS0xLjIgMy45LTEuMmwyOC45IDAgMS41IC4yYzEuNSAuNCAyLjggMS4yIDMuOCAyLjVsNy42IDEwLjJjMS4zIDEuNyAxLjYgMy45IDEgNS45bC0yMi4zIDcyLjUgMS4yIDBjMi4yIDAgNC4yIDEuMSA1LjUgMi45czEuNSA0LjEgLjcgNi4xTDQ1OSA0NDVjLTEgMi42LTMuNCA0LjItNi4yIDQuMmwtNDAuNCAwYy0yLjEgMC00LjEtMS01LjMtMi43cy0xLjYtMy45LTEtNS45bDIwLTYzLjItMjIuMiAwLTE2LjIgNTAuN2MyLjEgLjEgNC4xIDEuMSA1LjMgMi45IDEuMiAxLjggMS40IDQuMiAuNiA2LjJsLTMuMyA3LjljLTEgMi41LTMuNSA0LjEtNi4xIDQuMWwtMzYuOCAwYy0yLjEgMC00LjEtMS01LjQtMi43cy0xLjYtMy45LTEtNS45bDEwLTMyLjEtMjMuOSAyMy44Yy4zIDEuMiAuMyAyLjUtLjEgMy44bC0yLjkgOC42Yy0uOSAyLjctMy40IDQuNS02LjMgNC41bC03LjQgMC01NC42IDU0LjYtODMuOC04My44LTMxLjYgMzIuNS0zLjYgMy43LTQ5LjIgMC0yLjgtMS43Yy04LjgtNS4xLTE0LjgtOC41LTE3LjktMTAuM2wwLTEyOS4zLTU4LjUtNTguNSAyLjYtMi42IDU1LjktNTYgMC05OS40LTEyLjYgMC0xMC44LTEwLjgtMy42LTMuNiAwLTQwLjcgMy4yLTMuNSA3LjktOC41IDMuNy0zLjkgMTY2LjYgMCA4IDggMjcuNC0yNy40IDQ2LjQgNDYuNHptLTI1MS01LjZsMCAzMC4zIDkuNCA3LjggMTguOSAwIDAgMzQ3LjkgMTEuNCAxMC4zIDM4LjIgMCA5MS05M2MwLS40IC4xLS44IC4yLTEuMWwyLjYtMTAuNWMuNy0yLjkgMy40LTUgNi40LTVsNy4xIDAgMTUuNS0xNS45LTItMmMtMS44LTEuOC0yLjQtNC41LTEuNS02LjlsNi45LTE5LjNjLjQtMS4xIDEuMS0yIDEuOS0yLjhsNi45LTUuOWMxLjItMSAyLjgtMS42IDQuMy0xLjZsMTkuNyAwIDEuMyAuMmMuMSAwIC4xIC4xIC4yIC4xbDE5OS4yLTIwMy41IDAtMjguNy04LjItNy40LTE1Ni4yIDAtNy44IDcuOCAwIDMwLjUgOC4yIDcuNCAyMSAwLTE0NyAxNDYuNCAwLTE0Ni42IDE2LjkgMCA4LjctOC43IDAtMjcuNy03LjQtOS45LTE1Ny42IDAtOCA4ek0yMjcuNiAzNTIuN2wxNC44IDAtMzEuOCA5MC45IDQ1LjMgMCAzLTkuNi0xMi41IDAgMzEuNS05MS45LTQ3LjYgMC0yLjYgMTAuNXptMTM2LjkgMWwtMTYuNCAwLTEwLjUtMTAuOC0zNS44IDAtMy4zIDkuOCAxMS44IDAtMzAuNSA4OS45IDM4LjEgMCAyLjktOC42LTguOCAwIDIwLTYzIDM3LjggMC0yMi4zIDcxLjYgMzYuOCAwIDMuMy03LjktOC44IDAgMjAuMy02NCAzNi4xIDAtMjIuNyA3MS45IDQwLjQgMCAzLjMtOC42LTEwLjIgMCAyNS04MS4xLTcuNS0xMC4yLTI4LjkgMC05LjUgMTAuNS0xNy40IDAtOS45LTEwLjgtMjMuMyAwLTkuOCAxMS4yek0yNjIuNSAyOTMuNmwtNi45IDE5LjMgNS4zIDUuMyAyMS4zIDAgNS42LTUuNiA1LjktMjAuMy00LjYtNC42LTE5LjcgMC02LjkgNS45eiJdfSxmZWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZm9udC1hd2Vzb21lIixpY29uOls1MTIsNTEyLFs2MjUwMSw2MjY5NCwiZm9udC1hd2Vzb21lLWZsYWciLCJmb250LWF3ZXNvbWUtbG9nby1mdWxsIl0sImYyYjQiLCJNOTEuNyA5NkMxMDYuMyA4Ni44IDExNiA3MC41IDExNiA1MiAxMTYgMjMuMyA5Mi43IDAgNjQgMFMxMiAyMy4zIDEyIDUyYzAgMTYuNyA3LjggMzEuNSAyMCA0MWwwIDQxOSA2NCAwIDAtNjQgMzczLjYgMGMxNC42IDAgMjYuNC0xMS44IDI2LjQtMjYuNCAwLTMuNy0uOC03LjMtMi4zLTEwLjdMNDMyIDI3MiA0OTMuNyAxMzMuMWMxLjUtMy40IDIuMy03IDIuMy0xMC43IDAtMTQuNi0xMS44LTI2LjQtMjYuNC0yNi40TDkxLjcgOTZ6Il19LG12dD1mZWUsZ3Z0PWZlZSxOdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2lyc2luZGhhbmR3ZXJrIixpY29uOls0NDgsNTEyLFsid3NoIl0sImUyZDAiLCJNMTguOSA0NzkuOGw4My40IDAgMC0xMTItODMuNCA0NyAwIDY1em0zMjkgMGw4Mi40IDAgMC02NS04Mi40LTQ3IDAgMTEyem0wLTQ0OGwwIDIxOS44LTEyMy42LTcyLjQtMTIxLjcgNzIuNCAwLTIxOS44LTgzLjcgMCAwIDM2MC44IDIwNS40LTEyMi4zIDIwNiAxMjIuMyAwLTM2MC44LTgyLjMgMHoiXX0sYnZ0PU51ZSx2dnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiem9vbSIsaWNvbjpbNjQwLDUxMixbXSwiZTg3YiIsIk0xMzQuMiAzMjYuNmwtMTE0LjQgMGMtOCAwLTE1LjItNC44LTE4LjMtMTIuMlMuMSAyOTguNiA1LjggMjkyLjlsNzkuMy03OS4zLTU2LjggMEMxMi43IDIxMy42IDAgMjAxIDAgMTg1LjRsMTA1LjUgMGM4IDAgMTUuMiA0LjggMTguMyAxMi4yczEuNCAxNS45LTQuMyAyMS42bC03OS4zIDc5LjMgNjUuNyAwYzE1LjYgMCAyOC4zIDEyLjYgMjguMyAyOC4zek02NDAgMjM4LjNjMC0zMC40LTI0LjctNTUuMS01NS4xLTU1LjEtMTYuMiAwLTMwLjkgNy4xLTQxIDE4LjMtMTAuMS0xMS4yLTI0LjctMTguMy00MS0xOC4zLTMwLjQgMC01NS4xIDI0LjctNTUuMSA1NS4xbDAgODguM2MxNS42IDAgMjguMy0xMi43IDI4LjMtMjguM2wwLTYwYzAtMTQuOCAxMi0yNi44IDI2LjgtMjYuOHMyNi44IDEyIDI2LjggMjYuOGwwIDYwYzAgMTUuNiAxMi42IDI4LjMgMjguMyAyOC4zbDAtODguM2MwLTE0LjggMTItMjYuOCAyNi44LTI2LjhzMjYuOCAxMiAyNi44IDI2LjhsMCA2MGMwIDE1LjYgMTIuNiAyOC4zIDI4LjMgMjguM2wwLTg4LjN6TTI4OC4yIDI1NmE3Mi44IDcyLjggMCAxIDEgMTQ1LjUgMCA3Mi44IDcyLjggMCAxIDEgLTE0NS41IDB6bTExNy4zIDBhNDQuNSA0NC41IDAgMSAwIC04OSAwIDQ0LjUgNDQuNSAwIDEgMCA4OSAwem0tMjc0LjEgMGE3Mi44IDcyLjggMCAxIDEgMTQ1LjUgMCA3Mi44IDcyLjggMCAxIDEgLTE0NS41IDB6bTExNy4zIDBhNDQuNSA0NC41IDAgMSAwIC04OSAwIDQ0LjUgNDQuNSAwIDEgMCA4OSAweiJdfSx4dnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY29uZmx1ZW5jZSIsaWNvbjpbNTEyLDUxMixbXSwiZjc4ZCIsIk0yLjggNDEyLjJjLTQuNSA3LjYtMi4xIDE3LjUgNS41IDIyLjJsMTA1LjkgNjUuMmM3LjcgNC43IDE3LjcgMi40IDIyLjQtNS4zIDAtLjEgLjEtLjIgLjEtLjIgNjcuMS0xMTIuMiA4MC41LTk1LjkgMjgwLjktLjcgOC4xIDMuOSAxNy44IC40IDIxLjctNy43IC4xLS4xIC4xLS4zIC4yLS40bDUwLjQtMTE0LjFjMy42LTguMS0uMS0xNy42LTguMS0yMS4zLTIyLjItMTAuNC02Ni4yLTMxLjItMTA1LjktNTAuMy0yNDcuOS0xMjAuNi0zMzAuOCA0NS43LTM3My4xIDExMi42ek01MTAuMiAxMDAuMWM0LjUtNy42IDIuMS0xNy41LTUuNS0yMi4yTDM5OC45IDEyLjhjLTcuNS01LTE3LjYtMy4xLTIyLjYgNC40LS4yIC4zLS40IC42LS42IDEtNjcuMyAxMTIuNi04MS4xIDk1LjYtMjgwLjYgLjktOC4xLTMuOS0xNy44LS40LTIxLjcgNy43LS4xIC4xLS4xIC4zLS4yIC40TDIyLjcgMTQxLjNjLTMuNiA4LjEgLjEgMTcuNiA4LjEgMjEuMyAyMi4yIDEwLjQgNjYuMyAzMS4yIDEwNiA1MC40IDI0OCAxMjAgMzMwLjgtNDUuNCAzNzMuNC0xMTIuOXoiXX0seXZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRpZ2ciLGljb246WzUxMiw1MTIsW10sImYxYTYiLCJNODEuNyAxNzIuM2wtODEuNyAwIDAgMTc0LjQgMTMyLjcgMCAwLTI1MC43LTUxIDAgMCA3Ni4zem0wIDEzMy40bC0zMC44IDAgMC05Mi4zIDMwLjggMCAwIDkyLjN6TTM3OC45IDE3Mi4zbDAgMTc0LjQgODEuOCAwIDAgMjguNS04MS44IDAgMCA0MC44IDEzMy4xIDAgMC0yNDMuNy0xMzMuMSAwem04MS44IDEzMy40bC0zMC44IDAgMC05Mi4zIDMwLjggMCAwIDkyLjN6bS0yMzUuNiA0MWw4Mi4xIDAgMCAyOC41LTgyLjEgMCAwIDQwLjggMTMzLjMgMCAwLTI0My43LTEzMy4zIDAgMCAxNzQuNHptNTEuMi0xMzMuM2wzMC44IDAgMCA5Mi4zLTMwLjggMCAwLTkyLjN6TTE1My4zIDk2bDUxLjMgMCAwIDUxLTUxLjMgMCAwLTUxem0wIDc2LjNsNTEuMyAwIDAgMTc0LjQtNTEuMyAwIDAtMTc0LjR6Il19LHd2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0aHJlYWRzIixpY29uOls0NDgsNTEyLFtdLCJlNjE4IiwiTTMzMS41IDIzNS43YzIuMiAuOSA0LjIgMS45IDYuMyAyLjggMjkuMiAxNC4xIDUwLjYgMzUuMiA2MS44IDYxLjQgMTUuNyAzNi41IDE3LjIgOTUuOC0zMC4zIDE0My4yLTM2LjIgMzYuMi04MC4zIDUyLjUtMTQyLjYgNTNsLS4zIDBjLTcwLjItLjUtMTI0LjEtMjQuMS0xNjAuNC03MC4yLTMyLjMtNDEtNDguOS05OC4xLTQ5LjUtMTY5LjZsMC0uNUMxNyAxODQuMyAzMy42IDEyNy4yIDY1LjkgODYuMiAxMDIuMiA0MC4xIDE1Ni4yIDE2LjUgMjI2LjQgMTZsLjMgMGM3MC4zIC41IDEyNC45IDI0IDE2Mi4zIDY5LjkgMTguNCAyMi43IDMyIDUwIDQwLjYgODEuN2wtNDAuNCAxMC44Yy03LjEtMjUuOC0xNy44LTQ3LjgtMzIuMi02NS40LTI5LjItMzUuOC03My01NC4yLTEzMC41LTU0LjYtNTcgLjUtMTAwLjEgMTguOC0xMjguMiA1NC40LTI2LjIgMzMuMy0zOS44IDgxLjUtNDAuMyAxNDMuMiAuNSA2MS43IDE0LjEgMTA5LjkgNDAuMyAxNDMuMyAyOCAzNS42IDcxLjIgNTMuOSAxMjguMiA1NC40IDUxLjQtLjQgODUuNC0xMi42IDExMy43LTQwLjkgMzIuMy0zMi4yIDMxLjctNzEuOCAyMS40LTk1LjktNi4xLTE0LjItMTcuMS0yNi0zMS45LTM0LjktMy43IDI2LjktMTEuOCA0OC4zLTI0LjcgNjQuOC0xNy4xIDIxLjgtNDEuNCAzMy42LTcyLjcgMzUuMy0yMy42IDEuMy00Ni4zLTQuNC02My45LTE2LTIwLjgtMTMuOC0zMy0zNC44LTM0LjMtNTkuMy0yLjUtNDguMyAzNS43LTgzIDk1LjItODYuNCAyMS4xLTEuMiA0MC45LS4zIDU5LjIgMi44LTIuNC0xNC44LTcuMy0yNi42LTE0LjYtMzUuMi0xMC0xMS43LTI1LjYtMTcuNy00Ni4yLTE3LjhsLS43IDBjLTE2LjYgMC0zOSA0LjYtNTMuMyAyNi4zbC0zNC40LTIzLjZjMTkuMi0yOS4xIDUwLjMtNDUuMSA4Ny44LTQ1LjFsLjggMGM2Mi42IC40IDk5LjkgMzkuNSAxMDMuNyAxMDcuN2wtLjIgLjIgLjEgMHptLTE1NiA2OC44YzEuMyAyNS4xIDI4LjQgMzYuOCA1NC42IDM1LjMgMjUuNi0xLjQgNTQuNi0xMS40IDU5LjUtNzMuMi0xMy4yLTIuOS0yNy44LTQuNC00My40LTQuNC00LjggMC05LjYgLjEtMTQuNCAuNC00Mi45IDIuNC01Ny4yIDIzLjItNTYuMiA0MS44bC0uMSAuMXoiXX0sUnVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndwcmVzc3IiLGljb246WzUxMiw1MTIsWyJyZW5kYWN0Il0sImYzZTQiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek00MjcuMyAxNjYuNmMtMTUuMiAzNC41LTMwLjQgNjktNDUuNiAxMDMuNS0yLjQgNS41LTYuOSA4LjItMTMgOC4yLTIzIDAtNDYgLjEtNjkgMC01LjEgMC04LjIgMS45LTEwLjMgNi43LTEwLjIgMjMuNi0yMC42IDQ3LTMxIDcwLjUtMS41IDMuNS00LjEgNS4zLTcuOSA1LjMtNDUuOSAwLTkxLjkgMC0xMzcuOCAwLTMuMSAwLTUuNi0xLjEtNy43LTMuNC0xMS4yLTEyLjMtMjIuNS0yNC42LTMzLjctMzYuOS0yLjctMy0yLjgtNi4yLTEuMi05LjcgOC43LTE5LjUgMTcuMy0zOS4xIDI1LjktNTguNyAxMi45LTI5LjQgMjUuOS01OC43IDM4LjctODguMSAxLjctMy45IDQuMy01LjcgOC41LTUuNyAxNC4yIC4xIDI4LjUgMCA0Mi43IDAgNi4yIDAgOS4yIDQuOCA2LjcgMTAuNi0xMy42IDMwLjgtMjcuMiA2MS42LTQwLjcgOTIuMy01LjcgMTMtMTEuNCAyNi0xNy4xIDM5LTMuOSA5IDcuMSAxMiAxMSA1LjYgLjItLjQtMS40IDQuMiAzMC02Ny43IDEuNC0zLjEgMy40LTQuNCA2LjgtNC40IDE1LjIgLjEgMzAuNCAwIDQ1LjYgMCA1LjYgMCA3LjkgMy42IDUuNyA4LjctOC4zIDE5LTE2LjcgMzcuOS0yNSA1Ni45LTUgMTEuNCA4LjEgMTIuNSAxMS4zIDUuMyAwLS4xIDI3LjktNjMuMyAzMi4yLTczLjIgMi00LjYgNS40LTYuNSAxMC4zLTYuNSAyNi40IC4xIDUyLjkgMCA3OS4zIDAgMTIuNCAwIDEzLjktMTMuNiAzLjktMTMuNi0yNS4zIDAtNTAuNSAwLTc1LjggMC02LjMgMC03LjgtMi41LTUuMy04LjMgNS44LTEzLjEgMTEuNi0yNi4xIDE3LjMtMzkuMiAxLjctNCA0LjUtNS44IDguOC01LjggMjMuMSAuMSAyNiAwIDEzMC44IDAgNi4xIDAgOCAyLjggNS42IDguM3oiXX0sTXZ0PVJ1ZSxrdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieW9hc3QiLGljb246WzQ0OCw1MTIsW10sImYyYjEiLCJNOTEuMyA3NmwxODYgMC03IDE4LjktMTc5IDBjLTM5LjcgMC03MS45IDMxLjYtNzEuOSA3MC4zbDAgMjA1LjRjMCAzNS40IDI0LjkgNzAuMyA4NCA3MC4zbDAgMTkuMS0xMi4xIDBDNDEuMiA0NjAgMCA0MTkuOCAwIDM3MC41TDAgMTY1LjJDMCAxMTUuOSA0MC43IDc2IDkxLjMgNzZ6TTMyMC40IDIwbDY2LjUgMGMtMTQzLjggMzc4LjEtMTQ1LjcgMzk4LjktMTg0LjcgNDM5LjMtMjAuOCAyMS42LTQ5LjMgMzEuNy03OC4zIDMyLjdsMC01MS4xYzQ5LjItNy43IDY0LjYtNDkuOSA2NC42LTc1LjMgMC0yMC4xIC42LTEyLjYtODIuMS0yMjMuMmw2MS40IDAgNTAuNCAxNTYuNiAxMDIuMi0yNzl6TTQ0OCAxNjEuNWwwIDI5OC41LTIxNCAwYzYuNi05LjYgMTAuNy0xNi4zIDEyLjEtMTkuNGwxODIuNSAwIDAtMjc5LjFjMC0zMi41LTE3LjEtNTEuOS00OC4yLTYyLjlMMzg3LjEgODFjNDEuNyAxMy42IDYwLjkgNDMuMSA2MC45IDgwLjV6Il19LFN2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJuaW1ibHIiLGljb246WzM4NCw1MTIsW10sImY1YTgiLCJNMjQ2LjYgMzUzLjNhMjcgMjcgMCAxIDEgMC01NCAyNyAyNyAwIDEgMSAwIDU0em0tNzkuNC0yN2EyNy4xIDI3LjEgMCAxIDEgLTU0LjMgMCAyNy4xIDI3LjEgMCAxIDEgNTQuMyAwek0xOTEuOCAxNTlDMTU3IDE1OSA4OS40IDE3OC44IDU5LjIgMjI3TDE0IDAgMTQgMzM1LjVDMTQgNDMzLjEgOTMuNiA1MTIgMTkxLjggNTEyUzM2OS41IDQzMyAzNjkuNSAzMzUuNSAyOTAuMSAxNTkgMTkxLjggMTU5em0wIDMwOC4xYy03My4zIDAtMTMyLjUtNTguOS0xMzIuNS0xMzEuNnM1OS4yLTEzMS42IDEzMi41LTEzMS42IDEzMi41IDU4LjkgMTMyLjUgMTMxLjUtNTkuMyAxMzEuNi0xMzIuNSAxMzEuNmwwIC4xeiJdfSx6dnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGl4ZWxmZWQiLGljb246WzUxMiw1MTIsW10sImU3ZGIiLCJNMjU2IDBhMjU2IDI1NiAwIDEgMSAwIDUxMiAyNTYgMjU2IDAgMSAxIDAtNTEyek0yMzUuNyAzMTEuOWw0NyAwYzQ0LjIgMCA4MC4xLTM0LjkgODAuMS03OHMtMzUuOS03OC04MC4xLTc4bC02Ny44IDBjLTI1LjUgMC00Ni4yIDIwLjEtNDYuMiA0NWwwIDE3NS4xIDY3LTY0LjF6Il19LEN2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ5YWhvbyIsaWNvbjpbNTEyLDUxMixbXSwiZjE5ZSIsIk0yMjMuOCAxNDEuMWwtNTYuNyAxNDMuMi01Ni0xNDMuMi05Ni4xIDAgMTA1LjggMjQ5LjEtMzguNiA4OS44IDk0LjIgMCAxNDAuOS0zMzguOS05My42IDB6TTMyOS4yIDI3Ni45YTU4LjIgNTguMiAwIDEgMCAwIDExNi40IDU4LjIgNTguMiAwIDEgMCAwLTExNi40ek0zOTQuNyAzMmwtOTMgMjIzLjUgMTA0LjggMCA5Mi42LTIyMy41LTEwNC40IDB6Il19LF92dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJibHVlc2t5IixpY29uOls1NzYsNTEyLFtdLCJlNjcxIiwiTTQwNy44IDI5NC43Yy0zLjMtLjQtNi43LS44LTEwLTEuMyAzLjQgLjQgNi43IC45IDEwIDEuM3pNMjg4IDIyNy4xQzI2MS45IDE3Ni40IDE5MC45IDgxLjkgMTI0LjkgMzUuMyA2MS42LTkuNCAzNy41LTEuNyAyMS42IDUuNSAzLjMgMTMuOCAwIDQxLjkgMCA1OC40UzkuMSAxOTQgMTUgMjEzLjljMTkuNSA2NS43IDg5LjEgODcuOSAxNTMuMiA4MC43IDMuMy0uNSA2LjYtLjkgMTAtMS40LTMuMyAuNS02LjYgMS0xMCAxLjQtOTMuOSAxNC0xNzcuMyA0OC4yLTY3LjkgMTY5LjkgMTIwLjMgMTI0LjYgMTY0LjgtMjYuNyAxODcuNy0xMDMuNCAyMi45IDc2LjcgNDkuMiAyMjIuNSAxODUuNiAxMDMuNCAxMDIuNC0xMDMuNCAyOC4xLTE1Ni02NS44LTE2OS45LTMuMy0uNC02LjctLjgtMTAtMS4zIDMuNCAuNCA2LjcgLjkgMTAgMS4zIDY0LjEgNy4xIDEzMy42LTE1LjEgMTUzLjItODAuNyA1LjktMTkuOSAxNS0xMzguOSAxNS0xNTUuNXMtMy4zLTQ0LjctMjEuNi01Mi45Yy0xNS44LTcuMS00MC0xNC45LTEwMy4yIDI5LjgtNjYuMSA0Ni42LTEzNy4xIDE0MS4xLTE2My4yIDE5MS44eiJdfSxUdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2NyaWJkIixpY29uOlszODQsNTEyLFtdLCJmMjhhIiwiTTQyLjYgMjUyLjdjLTE2LjEtMTktMjQuNy00NS45LTI0LjgtNzkuOSAwLTEwMC40IDc1LjItMTUzLjEgMTY3LjItMTUzLjEgOTguNi0xLjYgMTU2LjggNDkgMTg0LjMgNzAuNmwtNTAuNSA3Mi4xLTM3LjMtMjQuNiAyNi45LTM4LjZjLTM2LjUtMjQtNzkuNC0zNi41LTEyMy0zNS44LTUwLjctLjgtMTExLjcgMjcuMi0xMTEuNyA3Ni4yIDAgMTguNyAxMS4yIDIwLjcgMjguNiAxNS42IDIzLjMtNS4zIDQxLjkgLjYgNTUuOCAxNCAyNi40IDI0LjMgMjMuMiA2Ny42LS43IDkxLjktMjkuMiAyOS41LTg1LjIgMjcuMy0xMTQuOC04LjR6bTMxNy43IDUuOWMtMTUuNS0xOC44LTM4LjktMjkuNC02My4yLTI4LjYtMzguMS0yLTcxLjEgMjgtNzAuNSA2Ny4yLS43IDE2LjggNiAzMyAxOC40IDQ0LjMgMTQuMSAxMy45IDMzIDE5LjcgNTYuMyAxNC40IDE3LjQtNS4xIDI4LjYtMy4xIDI4LjYgMTUuNiAwIDQuMy0uNSA4LjUtMS40IDEyLjctMTYuNyA0MC45LTU5LjUgNjQuNC0xMjEuNCA2NC40LTUxLjkgLjItMTAyLjQtMTYuNC0xNDQuMS00Ny4zbDMzLjctMzkuNC0zNS42LTI3LjQtNjAuOCA3MS44IDE1LjQgMTMuOGM1Mi41IDQ2LjggMTIwLjQgNzIuNSAxOTAuNyA3Mi4yIDUxLjQgMCA5NC40LTEwLjUgMTMzLjYtNDQuMSA1Ny4xLTUxLjQgNTQuMi0xNDkuMiAyMC4zLTE4OS42eiJdfSxMdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1wZCIsaWNvbjpbNTEyLDUxMixbXSwiZjRlYyIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6bTAgNDQ5LjVjLTEzOS4yIDAtMjM1LjgtMTM4LTE5MC4yLTI2Ny45bDc4LjggMzUuMWMtMi4xIDEwLjUtMy4zIDIxLjUtMy4zIDMyLjkgMCA5OSA3My45IDEyNi45IDEyMC40IDEyNi45IDIyLjkgMCA1My41LTYuNyA3OS40LTI5LjVMMzA1IDMxMS4xYy01LjUgNi4zLTE3LjYgMTYuNy0zNi4zIDE2LjctMzcuOCAwLTUzLjctMzkuOS01My45LTcxLjkgMjMwLjQgMTAyLjYgMjE2LjUgOTYuNSAyMTcuOSA5Ni44LTM0LjMgNjIuNC0xMDAuNiAxMDQuOC0xNzYuNyAxMDQuOHptMTk0LjItMTUwbC0yMjQtMTAwYzE4LjgtMzQgNTQuOS0zMC43IDc0LjctMTFsNDAuNC00MS42Yy0yNy4xLTIzLjMtNTgtMjcuNS03OC4xLTI3LjUtNDcuNCAwLTgwLjkgMjAuNS0xMDAuNyA1MS42TDg3LjYgMTQ1LjZjMzYuMS01NC45IDk4LjEtOTEuMiAxNjguNS05MS4yIDExMS4xIDAgMjAxLjUgOTAuNCAyMDEuNSAyMDEuNSAwIDE4LTIuNCAzNS40LTYuOCA1Mi0uMy0uMS0uNC0uMi0uNi0uNHoiXX0sJHZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImVhcmx5YmlyZHMiLGljb246WzUxMiw1MTIsW10sImYzOWEiLCJNMzI5LjMgNDcuNWMxLjItMTMgMjEuMy0xNCAzNi42LTguNyAuOSAuMyAyNi4yIDkuNyAxOSAxNS4yLTI3LjktNy40LTU2LjQgMTguMi01NS42LTYuNXptLTIwMSA2LjljMzAuNy04LjEgNjIgMjAgNjEuMS03LjEtMS4zLTE0LjItMjMuNC0xNS4zLTQwLjItOS42LTEgLjMtMjguNyAxMC41LTIwLjkgMTYuN3pNMzM1LjUgMTYwYTE2IDE2IDAgMSAwIDAgMzIgMTYgMTYgMCAxIDAgMC0zMnptLTE1OS43IDBhMTYgMTYgMCAxIDAgMCAzMiAxNiAxNiAwIDEgMCAwLTMyek00OTQuMyAzMjMuMmMtOS45IDI0LTQwLjcgMTEtNjMuOS0xLjItMTMuNSA2OS4xLTU4LjEgMTExLjQtMTI2LjMgMTI0LjIgLjMgLjktMi0uMSAyNCAxIDMzLjYgMS40IDYzLjgtMy4xIDk3LjQtOC0xOS44LTEzLjgtMTEuNC0zNy4xLTkuOC0zOC4xIDEuNC0uOSAxNC43IDEuNyAyMS42IDExLjUgOC42LTEyLjUgMjguNC0xNC44IDMwLjItMTMuNiAxLjYgMS4xIDYuNiAyMC45LTYuOSAzNC42IDQuNy0uOSA4LjItMS42IDkuOC0yLjEgMi42LS44IDE3LjcgMTEuMyAzLjEgMTMuMy0xNC4zIDIuMy0yMi42IDUuMS00Ny4xIDEwLjgtNDUuOSAxMC43LTg1LjkgMTEuOC0xMTcuNyAxMi44bDEgMTEuNmMzLjggMTguMS0yMy40IDI0LjMtMjcuNiA2LjIgLjggMTcuOS0yNy4xIDIxLjgtMjguNC0xbC0uNSA1LjNjLS43IDE4LjQtMjguNCAxNy45LTI4LjMtLjYtNy41IDEzLjUtMjguMSA2LjgtMjYuNC04LjVsMS4yLTEyLjRjLTM2LjcgLjktNTkuNyAzLjEtNjEuOCAzLjEtMjAuOSAwLTIwLjktMzEuNiAwLTMxLjYgMi40IDAgMjcuNyAxLjMgNjMuMiAyLjgtNjEuMS0xNS41LTEwMy43LTU1LTExNC45LTExOC4yLTI1IDEyLjgtNTcuNSAyNi44LTY4LjIgLjgtMTAuNS0yNS40IDIxLjUtNDIuNiA2Ni44LTczLjQgLjctNi42IDEuNi0xMy4zIDIuNy0xOS44LTE0LjQtMTkuNi0xMS42LTM2LjMtMTYuMS02MC40LTE2LjggMi40LTIzLjItOS4xLTIzLjYtMjMuMSAuMy03LjMgMi4xLTE0LjkgMi40LTE1LjQgMS4xLTEuOCAxMC4xLTIgMTIuNy0yLjYgNi0zMS43IDUwLjYtMzMuMiA5MC45LTM0LjUgMTkuNy0yMS44IDQ1LjItNDEuNSA4MC45LTQ4LjMtMTUuMy0xOS40LTMuNC0zOS45LTIuNC00MC40IDEuNy0uOCAyMS4yIDQuMyAyNi4zIDIzLjIgNS4yLTguOCAxOC4zLTExLjQgMTkuNi0xMC43IDEuMSAuNiA2LjQgMTUtNC45IDI1LjkgNDAuMyAzLjUgNzIuMiAyNC43IDk2IDUwLjcgMzYuMSAxLjUgNzEuOCA1LjkgNzcuMSAzNCAyLjcgLjYgMTEuNiAuOCAxMi43IDIuNiAuMyAuNSAyLjEgOC4xIDIuNCAxNS40LS41IDEzLjktNi44IDI1LjQtMjMuNiAyMy4xLTMuMiAxNy4zLTIuNyAzMi45LTguNyA0Ny43IDIuNCAxMS43IDQgMjMuOCA0LjggMzYuNCAzNyAyNS40IDcwLjMgNDIuNSA2MC4zIDY2Ljl6TTIyMy41IDE1OS45Yy45LTQ0LTM3LjktNDIuMi03OC42LTQwLjMtMjEuNyAxLTM4LjkgMS45LTQ1LjUgMTMuOS0xMS40IDIwLjkgNS45IDkyLjkgMjMuMiAxMDEuMiA5LjggNC43IDczLjQgNy45IDg2LjMtNy4xIDguMi05LjQgMTUtNDkuNCAxNC42LTY3Ljd6bTUyIDU4LjNjLTQuMy0xMi40LTYtMzAuMS0xNS4zLTMyLjctMi0uNS05LS41LTExIDAtMTAgMi44LTEwLjggMjIuMS0xNyAzNy4yIDE1LjQgMCAxOS4zIDkuNyAyMy43IDkuNyA0LjMgMCA2LjMtMTEuMyAxOS42LTE0LjJ6bTEzNS43LTg0LjdjLTYuNi0xMi4xLTI0LjgtMTIuOS00Ni41LTEzLjktNDAuMi0xLjktNzguMi0zLjgtNzcuMyA0MC4zLS41IDE4LjMgNSA1OC4zIDEzLjIgNjcuOCAxMyAxNC45IDc2LjYgMTEuOCA4Ni4zIDcuMSAxNS44LTcuNiAzNi41LTc4LjkgMjQuMy0xMDEuM3oiXX0sRHZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN5bWZvbnljYXN0cyIsaWNvbjpbNTc2LDUxMixbXSwiZThhYiIsIk0yOTMuOCAzNDIuNWMzLjQtMS41IDYuOC0xLjUgMTAuMiAwbDU0LjIgMjIuNmMyLjYgLjkgNC43IDIuNiA2LjIgNC44czIuMyA0LjggMi4zIDcuNmMwIDE5LjQtMy42IDM3LjItMTAuNyA1My40LTYuMiAxMy42LTE0LjUgMjUuNC0yNC44IDM1LjYtOC43IDguNS0xNy43IDE0LjYtMjcuMSAxOC40LTMuNCAxLjUtNi44IDEuNS0xMC4yIDAtMTAuNy00LjMtMjAuNi0xMS4zLTI5LjctMjAuOS0xMC0xMC40LTE3LjgtMjIuNS0yMy41LTM2LjQtNi40LTE1LjYtOS42LTMyLjMtOS42LTUwIDAtMi44IC43LTUuNCAyLjItNy42IDEuNS0yLjMgMy42LTMuOSA2LjItNC44bDU0LjItMjIuNnpNNDc5LjcgNDgzLjhhNzAuMSA3MC4xIDAgMSAxIDAtMTQwLjIgNzAuMSA3MC4xIDAgMSAxIDAgMTQwLjJ6TTI0NC42IDM3Ny42YzAgMTUuMyAyLjYgMjkuNyA3LjkgNDMuMiA0LjkgMTIuNCAxMS42IDIzLjMgMjAuMSAzMi41IDguMSA4LjkgMTYuOSAxNS4zIDI2LjMgMTkuMiA5LjItMy44IDE3LjgtMTAgMjUuNy0xOC43IDguNy05LjIgMTUuNC0xOS45IDIwLjMtMzIuMiA1LjUtMTMuNyA4LjItMjguNCA4LjItNDQuMWwtNTQuMi0yMi42LTU0LjIgMjIuNnptMjM1LjEtMjAuM2E1Ni41IDU2LjUgMCAxIDAgMCAxMTMgNTYuNSA1Ni41IDAgMSAwIDAtMTEzem0tMzUyLjggMi4zYzQuMSAwIDcuNiAxLjMgMTAuNCAzLjkgMi44IDIuNiA0LjIgNS45IDQuMiA5LjZsMCAxNi40IDMxLjEtMTkuMmMxLjUtMS4xIDMuMi0xLjcgNS4xLTEuNyAyLjQgMCA0LjYgLjggNi4zIDIuNXMyLjcgMy44IDIuNyA2LjJsMCA3Mi42YzAgMi42LS45IDQuOC0yLjcgNi41cy0zLjkgMi41LTYuMyAyLjVjLTEuOSAwLTMuNi0uNi01LjEtMS43bC0zMS4xLTE5LjIgMCAxNi40YzAgMy44LTEuNCA3LTQuMiA5LjZzLTYuMyA0LTEwLjQgNGwtODguMiAwYy00LjEgMC03LjYtMS4zLTEwLjUtNHMtNC4yLTUuOC00LjItOS42bDAtODEuM2MwLTMuOCAxLjQtNyA0LjItOS42czYuMy0zLjkgMTAuNS0zLjlsODguMiAwem0xNzIgOTcuOGMtMTEuMy03LTIwLjQtMTYuNC0yNy40LTI4LjMtNy41LTEyLjQtMTEuOS0yNi42LTEzLTQyLjRsNDAuNC0xNyAwIDg3LjZ6TTM3LjUgMzczLjRsMCA4MC44Yy4yIC4yIC42IC4zIDEuMiAuM2w4OC4yIDBjLjQgMCAuNy0uMSAxLjEtLjNsMC04MC44Yy0uMi0uMi0uNi0uMy0xLjItLjNsLTg4LjEgMGMtLjQgMC0uOCAuMS0xLjIgLjN6bTQxOC40IDUuMWMyLjMtMS4zIDQuNS0xLjMgNi44IDBsNDkuOCAzMC4yYzIuMyAxLjMgMy40IDMuMyAzLjQgNS45cy0xLjEgNC42LTMuNCA1LjlsLTQ5LjggMjguNmMtMi4zIDEuMy00LjUgMS4zLTYuOCAwcy0zLjQtMy4zLTMuNC01LjlsMC01OC44YzAtMi42IDEuMS00LjYgMy40LTUuOXpNMTQxLjUgNDA1LjVsMCAxNi40IDMxLjcgMTkuOCAwLTU2LTMxLjcgMTkuOHpNNDUxLjEgNS4yYzM1LjgtMS4yIDYyLjkgMTUuMSA2My44IDQwLjggLjQgMTAuOS01LjkgMzIuMi0yNy44IDMzLTE2LjMgLjYtMjcuNi05LjItMjguMS0yNC4xLS4yLTUuNCAxLjItMTAuMiA0LjktMTUuOCAzLjYtNy4xIDQuNC03LjkgNC4zLTExLS4zLTkuNC0xNC41LTkuNy0xOC4zLTkuNS01MyAxLjgtNjYuOSA3My4zLTc4LjIgMTMxLjVsLTUuNiAzMC43YzMwLjUgNC41IDUyLjItMSA2NC4yLTguOCAxNy0xMS00LjgtMjIuNC0yLTM1IDIuOC0xMi44IDE0LjQtMTkgMjMuNy0xOS4yIDEyLjktLjMgMjIuMiAxMy4xIDIxLjkgMjYuNy0uNSAyMi42LTMwLjQgNTMuNi05MC4yIDUyLjMtNy4zLS4yLTE0LS43LTIwLjItMS40bC0xMS4zIDYyLjNjLTMgMTQtNi4zIDI5LjUtMTAuNyA0NS44bDIwNCAwIC45IC4xYy4zIC4xIC42IC4xIC44IC4yIDIuMiAuNiA0IDIuNSA0LjUgNC44IC42IDIuOC0xIDYtMy43IDcuMi0uNSAuMi0xLjEgLjQtMS43IC41LS4zIDAtLjYgMC0uOSAuMWwtNTE1LjMgMGMtLjctLjEtLjkgMC0xLjctLjItMi41LS43LTQuNC0zLjEtNC42LTUuNy0uMi0yLjMgMS00LjYgMy01LjggLjctLjUgMS42LS44IDIuNC0uOSAuMyAwIC42IDAgLjgtLjFsNDguNCAwYy0xNy4yLTE2LjgtMjAtMzcuMi0xNi01MC41IDUuNC0xNy42IDE5LjQtMjAuOSAzMy0xNi43IDE0LjYgNC41IDIwLjMgMjIuMyAxNi4yIDM2LS41IDEuNS0xLjIgMy45LTIuOCA3LjItMS43IDMuOC00LjggNy4xLTYuMiAxMS41LTEuNSA0LjkgLjcgOS4xIDQuNSAxMi42bDU4LjkgMGM0LjItNCA3LjQtOSA5LjEtMTQuNiA1LjMtMTctNS41LTI4LjktMTAtMzMuNWwtMjEuNy0yMy4yYy05LjktMTEuMS0zMS43LTQxLjktMjEuMS03Ni41IDQuMS0xMy40IDEyLjgtMjcuNSAyNS4zLTM2LjkgMjYuNS0xOS43IDU1LjMtMjMgODIuNy0xNS4xIDM1LjUgMTAuMiA1Mi41IDMzLjcgNzQuNiA1MS44IDEyLjQtMzYuMyAyOS41LTcxLjkgNTUuMy0xMDEuOSAyMy4zLTI3LjMgNTQuNi00Ny4xIDkwLjQtNDguM3pNMjI5LjYgMTIxLjNjLTIyLjItNi0zNS43LS45LTQ1LjIgMTEuMi0xMS4zIDE0LjMtNy41IDMyLjggMy4zIDQzLjdsMTggMTkuOWMyMiAyNS41IDM0LjEgNDUuMyAyOS42IDcyLTIuMiAxMy4xLTguNSAyNS4yLTE3LjkgMzUuM2w1NC4yIDBjMS01LjEgMi0xMC40IDMuMS0xNS44bDMuNi0yMS45YzUuOS0yOS40IDEyLjQtNjIuMiAyMi4zLTk0LjgtMjQuMS0xOC4xLTM4LjUtNDAuNy03MC45LTQ5LjV6Il19LE91ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtb2Rub2tsYXNzbmlraSIsaWNvbjpbNDQ4LDUxMixbIm9kbm9rbGFzc25pa2ktc3F1YXJlIl0sImYyNjQiLCJNMjI0IDEzNy4xYy01LjQtLjMtMTAuOCAuNi0xNS45IDIuNHMtOS43IDQuOC0xMy42IDguNS03IDguMi05LjIgMTMuMi0zLjIgMTAuMy0zLjIgMTUuNyAxLjEgMTAuOCAzLjIgMTUuNyA1LjMgOS41IDkuMiAxMy4yIDguNiA2LjYgMTMuNiA4LjUgMTAuNSAyLjcgMTUuOSAyLjRjNS40IC4zIDEwLjgtLjYgMTUuOS0yLjRzOS43LTQuOCAxMy42LTguNSA3LTguMiA5LjItMTMuMiAzLjItMTAuMyAzLjItMTUuNy0xLjEtMTAuOC0zLjItMTUuNy01LjMtOS41LTkuMi0xMy4yLTguNi02LjYtMTMuNi04LjUtMTAuNS0yLjctMTUuOS0yLjR6TTM4NCAzMkw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0ek0yMjQgMjU4YTgxIDgxIDAgMSAxIDAtMTYyLjEgODEgODEgMCAxIDEgMCAxNjIuMXptNTkuMyA2LjJjMTYuOC0xMy4yIDI5LjUtNS41IDM0LjEgMy42IDcuOCAxNi0xLjEgMjMuNy0yMS41IDM3LTE3LjEgMTAuOS00MC43IDE1LjItNTYuMiAxNi44bDEzIDEyLjkgNDcuNyA0Ny43YzE3LjQgMTcuOS0xMSA0NS44LTI4LjYgMjguNi0xMi0xMi4yLTI5LjUtMjkuNy00Ny43LTQ3LjlsLTQ3LjcgNDcuOWMtMTcuNyAxNy4yLTQ2LTExLTI4LjQtMjguNiAzLjctMy43IDcuOS03LjkgMTIuNS0xMi41IDEwLjQtMTAuNCAyMi42LTIyLjcgMzUuMi0zNS4ybDEyLjktMTIuOWMtMTUuNC0xLjYtMzkuMy01LjctNTYuNi0xNi44LTIwLjMtMTMuMy0yOS4zLTIwLjktMjEuNC0zNyA0LjYtOS4xIDE3LjMtMTYuOCAzNC4xLTMuNiAwIDAgMjIuNyAxOCA1OS4zIDE4czU5LjMtMTggNTkuMy0xOHoiXX0sQXZ0PU91ZSxFdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWFya2Rvd24iLGljb246WzY0MCw1MTIsW10sImY2MGYiLCJNNTkzLjggNTkuMWwtNTQ3LjYgMEMyMC43IDU5LjEgMCA3OS44IDAgMTA1LjJMMCA0MDYuN2MwIDI1LjUgMjAuNyA0Ni4yIDQ2LjIgNDYuMmw1NDcuNyAwYzI1LjUgMCA0Ni4yLTIwLjcgNDYuMS00Ni4xbDAtMzAxLjZjMC0yNS40LTIwLjctNDYuMS00Ni4yLTQ2LjF6TTMzOC41IDM2MC42bC02MS41IDAgMC0xMjAtNjEuNSA3Ni45LTYxLjUtNzYuOSAwIDEyMC02MS43IDAgMC0yMDkuMiA2MS41IDAgNjEuNSA3Ni45IDYxLjUtNzYuOSA2MS41IDAgMCAyMDkuMiAuMiAwem0xMzUuMyAzLjFsLTkyLjMtMTA3LjcgNjEuNSAwIDAtMTA0LjYgNjEuNSAwIDAgMTA0LjYgNjEuNSAwLTkyLjIgMTA3Ljd6Il19LFB2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0eXBvMyIsaWNvbjpbNDQ4LDUxMixbXSwiZjQyYiIsIk0xNzguNyA3OC40YzAtMjQuNyA1LjQtMzIuNCAxMy45LTM5LjQtNjkuNSA4LjUtMTQ5LjMgMzQtMTc2LjMgNjYuNC01LjQgNy43LTkuMyAyMC44LTkuMyAzNy4xIDAgMTAzLjUgMTA2LjggMzM3LjUgMTg0LjEgMzM3LjUgMzYuMyAwIDk3LjMtNTkuNSAxNDYuNy0xMzktNyAyLjMtMTEuNiAyLjMtMTguNSAyLjMtNTcuMiAwLTE0MC42LTE5OC41LTE0MC42LTI2NC45ek0zMDEuNSAzMmMtMzAuMSAwLTQxLjcgNS40LTQxLjcgMzYuMyAwIDY2LjQgNTMuOCAxOTguNSAxMDEuNyAxOTguNSAyNi4zIDAgNzguOC05OS43IDc4LjgtMTgyLjMgMC00MC45LTY3LTUyLjUtMTM4LjgtNTIuNXoiXX0sSXZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Impvb21sYSIsaWNvbjpbNDQ4LDUxMixbXSwiZjFhYSIsIk0uNiA5Mi4xYzAtMzMuMyAyNi44LTYwLjEgNTkuOC02MC4xIDMwIDAgNTQuNSAyMS45IDU5LjIgNTAuMiAzMi42LTcuNiA2Ny4xIC42IDk2LjUgMzBsLTQ0LjMgNDQuM2MtMjAuNS0yMC41LTQyLjYtMTYuMy01NS40LTMuNS0xNC4zIDE0LjMtMTQuMyAzNy45IDAgNTIuMmw5OS41IDk5LjUtNDQgNDQuM2MtODcuNy04Ny4yLTQ5LjctNDkuNy05OS44LTk5LjctMjYuOC0yNi41LTM1LTY0LjgtMjQuOC05OC45LTI2LjktNS44LTQ2LjctMjkuNy00Ni43LTU4LjN6TTEzMC4xIDIwOC41bDQ0LjMgNDQuM2MxMC0xMCA4OS43LTg5LjcgOTkuNy05OS44IDE0LjMtMTQuMyAzNy42LTE0LjMgNTEuOSAwIDEyLjggMTIuOCAxNyAzNS0zLjUgNTUuNGw0NCA0NC4zYzMxLjItMzEuMiAzOC41LTY3LjYgMjguOS0xMDEuMiAyOS4yLTQuMSA1MS45LTI5LjIgNTEuOS01OS41IDAtMzMuMi0yNi44LTYwLjEtNTkuOC02MC4xLTMwLjMgMC01NS40IDIyLjUtNTkuNSA1MS42LTMzLjgtOS45LTcxLjctMS41LTk4LjMgMjUuMS0xOC4zIDE5LjEtNzEuMSA3MS41LTk5LjYgOTkuOXpNMzk2LjQgMzYwLjdjOC4yLTMyLjctLjktNjguNS0yNi4zLTkzLjktMTEuOC0xMi4yIDUgNC43LTk5LjUtOTkuN2wtNDQuMyA0NC4zIDk5LjcgOTkuN2MxNC4zIDE0LjMgMTQuMyAzNy42IDAgNTEuOS0xMi44IDEyLjgtMzUgMTctNTUuNC0zLjVsLTQ0IDQ0LjNjMjcuNiAzMC4yIDY4IDM4LjggMTAyLjcgMjggNS41IDI3LjQgMjkuNyA0OC4xIDU4LjkgNDguMSAzMyAwIDU5LjgtMjYuOCA1OS44LTYwLjEgMC0zMC4yLTIyLjUtNTUtNTEuNi01OS4xem0tODQuMy01My4xbC00NC00NC4zYy04NyA4Ni40LTUwLjQgNTAuNC05OS43IDk5LjgtMTQuMyAxNC4zLTM3LjYgMTQuMy01MS45IDAtMTMuMS0xMy40LTE2LjktMzUuMyAzLjItNTUuNGwtNDQtNDQuM2MtMzAuMiAzMC4yLTM4IDY1LjItMjkuNSA5OC4zLTI2LjcgNi00Ni4yIDI5LjktNDYuMiA1OC4yIDAgMzMuMyAyNi44IDYwLjEgNTkuOCA2MC4xIDI4LjYgMCA1Mi41LTE5LjggNTguNi00Ni43IDMyLjcgOC4yIDY4LjUtLjYgOTQuMi0yNiAzMi4xLTMyIDEyLjItMTIuNCA5OS41LTk5Ljd6Il19LE52dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3ZWl4aW4iLGljb246WzU3Niw1MTIsW10sImYxZDciLCJNMzg1LjIgMTY3LjZjNi40IDAgMTIuNiAuMyAxOC44IDEuMS0xNi42LTc4LjQtMTAwLjctMTM2LjctMTk2LjMtMTM2LjctMTA3LjIgMC0xOTQuNyA3Mi44LTE5NC43IDE2NS40IDAgNTMuNCAyOS4zIDk3LjUgNzcuOSAxMzEuNmwtMTkuMyA1OC42IDY4LTM0LjFjMjQuNCA0LjggNDMuOCA5LjcgNjguMiA5LjcgNi4yIDAgMTIuMS0uMyAxOC4zLS44LTQtMTIuOS02LjItMjYuNi02LjItNDAuOC0uMS04NC45IDcyLjktMTU0IDE2NS4zLTE1NHpNMjgwLjcgMTE0LjdjMTQuNSAwIDI0LjIgOS43IDI0LjIgMjQuNCAwIDE0LjUtOS43IDI0LjItMjQuMiAyNC4yLTE0LjggMC0yOS4zLTkuNy0yOS4zLTI0LjIgLjEtMTQuNyAxNC42LTI0LjQgMjkuMy0yNC40ek0xNDQuMyAxNjMuM2MtMTQuNSAwLTI5LjMtOS43LTI5LjMtMjQuMiAwLTE0LjggMTQuOC0yNC40IDI5LjMtMjQuNCAxNC44IDAgMjQuNCA5LjcgMjQuNCAyNC40IDAgMTQuNi05LjYgMjQuMi0yNC40IDI0LjJ6TTU2MyAzMTkuNGMwLTc3LjktNzcuOS0xNDEuMy0xNjUuNC0xNDEuMy05Mi43IDAtMTY1LjQgNjMuNC0xNjUuNCAxNDEuM1MzMDUgNDYwLjcgMzk3LjYgNDYwLjdjMTkuMyAwIDM4LjktNS4xIDU4LjYtOS45bDUzLjQgMjkuMy0xNC44LTQ4LjZDNTM0IDQwMi4xIDU2MyAzNjMuMiA1NjMgMzE5LjR6TTM0My45IDI5NC45Yy05LjcgMC0xOS4zLTkuNy0xOS4zLTE5LjYgMC05LjcgOS43LTE5LjMgMTkuMy0xOS4zIDE0LjggMCAyNC40IDkuNyAyNC40IDE5LjMgMCAxMC05LjcgMTkuNi0yNC40IDE5LjZ6bTEwNy4xIDBjLTkuNyAwLTE5LjMtOS43LTE5LjMtMTkuNiAwLTkuNyA5LjctMTkuMyAxOS4zLTE5LjMgMTQuNSAwIDI0LjQgOS43IDI0LjQgMTkuMyAuMSAxMC05LjkgMTkuNi0yNC40IDE5LjZ6Il19LFJ2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJncnVudCIsaWNvbjpbMzg0LDUxMixbXSwiZjNhZCIsIk02MS42IDE4OS4zYy0xLjEgMTAgNS4yIDE5LjEgNS4yIDE5LjEgLjctNy41IDIuMi0xMi44IDQtMTYuNiAuNCAxMC4zIDMuMiAyMy41IDEyLjggMzQuMSA2LjkgNy42IDM1LjYgMjMuMyA1NC45IDYuMSAxIDIuNCAyLjEgNS4zIDMgOC41IDIuOSAxMC4zLTIuNyAyNS4zLTIuNyAyNS4zczE1LjEtMTcuMSAxMy45LTMyLjVjMTAuOC0uNSAyMS40LTguNCAyMS4xLTE5LjUgMCAwLTE4LjkgMTAuNC0zNS41LTguOC05LjctMTEuMi00MC45LTQyLTgzLjEtMzEuOCA0LjMgMSA4LjkgMi40IDEzLjUgNC4xbC0uMSAwYy00LjIgMi02LjUgNy4xLTcgMTJ6bTI4LjMtMS44YzE5LjUgMTEgMzcuNCAyNS43IDQ0LjkgMzctNS43IDMuMy0yMS43IDEwLjQtMzgtMS43LTEwLjMtNy42LTkuOC0yNi4yLTYuOS0zNS4zek0yMzIgMjMzLjNjLTEuMiAxNS41IDEzLjkgMzIuNSAxMy45IDMyLjVzLTUuNi0xNS0yLjctMjUuM2MuOS0zLjIgMi02IDMtOC41IDE5LjMgMTcuMyA0OCAxLjUgNTQuOC02LjEgOS42LTEwLjYgMTIuMy0yMy44IDEyLjgtMzQuMSAxLjggMy44IDMuNCA5LjEgNCAxNi42IDAgMCA2LjQtOS4xIDUuMi0xOS4xLS42LTUtMi45LTEwLTctMTEuOGwtLjEgMGM0LjYtMS44IDkuMi0zLjIgMTMuNS00LjEtNDIuMy0xMC4yLTczLjQgMjAuNi04My4xIDMxLjgtMTYuNyAxOS4yLTM1LjUgOC44LTM1LjUgOC44LS4yIDEwLjkgMTAuNCAxOC45IDIxLjIgMTkuM3ptNjIuNy00NS44YzMgOS4xIDMuNCAyNy43LTcgMzUuNC0xNi4zIDEyLjEtMzIuMiA1LTM3LjkgMS42IDcuNS0xMS40IDI1LjQtMjYgNDQuOS0zN3ptLTEzNC40IDIzMWwtMjkuNCAwYy01LjUgMC04LjIgMS42LTkuNSAyLjktMS45IDItMi4yIDQuNy0uOSA4LjEgMy41IDkuMSAxMS40IDE2LjUgMTMuNyAxOC42IDMuMSAyLjcgNy41IDQuMyAxMS44IDQuMyA0LjQgMCA4LjMtMS43IDExLTQuNiA3LjUtOC4yIDExLjktMTcuMSAxMy0xOS44IC42LTEuNSAxLjMtNC41LS45LTYuOC0xLjgtMS44LTQuNy0yLjctOC44LTIuN3pNMzQ5LjUgMzE3LjNjLTIuNCAxNy45LTEzIDMzLjgtMjQuNiA0My43LTMuMS0yMi43LTMuNy01NS41LTMuNy02Mi40IDAtMTQuNyA5LjUtMjQuNSAxMi4yLTI2LjEgMi41LTEuNSA1LjQtMyA4LjMtNC42IDE4LTkuNiA0MC40LTIxLjYgNDAuNC00My43IDAtMTYuMi05LjMtMjMuMi0xNS40LTI3LjgtLjgtLjYtMS41LTEuMS0yLjItMS43LTIuMS0xLjctMy43LTMtNC4zLTQuNC00LjQtOS44LTMuNi0zNC4yLTEuNy0zNy42IC42LS42IDE2LjctMjAuOSAxMS44LTM5LjItMi03LjQtNi45LTEzLjMtMTQuMS0xNy01LjMtMi43LTExLjktNC4yLTE5LjUtNC41LS4xLTItLjUtMy45LS45LTUuOS0uNi0yLjYtMS4xLTUuMy0uOS04LjEgLjQtNC43IC44LTkgMi4yLTExLjMgOC40LTEzLjMgMjguOC0xNy42IDI5LTE3LjZsMTIuMy0yLjQtOC4xLTkuNWMtLjEtLjItMTcuMy0xNy41LTQ2LjMtMTcuNS03LjkgMC0xNiAxLjMtMjQuMSAzLjktMjQuMiA3LjgtNDIuOSAzMC41LTQ5LjQgMzkuMy0zLjEtMS02LjMtMS45LTkuNi0yLjctNC4yLTE1LjggOS0zOC41IDktMzguNXMtMTMuNi0zLTMzLjcgMTUuMmMtMi42LTYuNS04LjEtMjAuNS0xLjgtMzcuMi0yOS41IDEwLjQtMzYuOSAyNi4zLTM5LjEgNDAuNy03LjYtNS40LTYuNy0yMy4xLTcuMi0yNy42LTcuNSAuOS0yOS4yIDIxLjktMjguMiA0OC4zLTIgLjUtMy45IDEuMS01LjkgMS43LTYuNS04LjgtMjUuMS0zMS41LTQ5LjQtMzkuMy03LjktMi4yLTE2LTMuNS0yMy45LTMuNS0yOSAwLTQ2LjEgMTcuMy00Ni4zIDE3LjVsLTguMSA5LjQgMTIuMyAyLjRjLjIgMCAyMC42IDQuMyAyOSAxNy42IDEuNCAyLjIgMS44IDYuNiAyLjIgMTEuMyAuMiAyLjgtLjQgNS41LS45IDguMS0uNCAxLjktLjggMy45LS45IDUuOS03LjcgLjMtMTQuMiAxLjgtMTkuNSA0LjUtNy4yIDMuNy0xMi4xIDkuNi0xNC4xIDE3LTUgMTguMiAxMS4yIDM4LjUgMTEuOCAzOS4yIDEuOSAzLjQgMi43IDI3LjgtMS43IDM3LjYtLjYgMS40LTIuMiAyLjctNC4zIDQuNC0uNyAuNS0xLjQgMS4xLTIuMiAxLjctNi4xIDQuNi0xNS40IDExLjctMTUuNCAyNy44IDAgMjIuMSAyMi40IDM0LjEgNDAuNCA0My43IDMgMS42IDUuOCAzLjEgOC4zIDQuNiAyLjcgMS42IDEyLjIgMTEuNCAxMi4yIDI2LjEgMCA2LjktLjYgMzkuNy0zLjcgNjIuNC0xMS42LTkuOS0yMi4yLTI1LjktMjQuNi00My44IDAgMC0yOS4yIDIyLjYtMjAuNiA3MC44IDUuMiAyOS41IDIzLjIgNDYuMSA0NyA1NC43IDguOCAxOS4xIDI5LjQgNDUuNyA2Ny4zIDQ5LjYgMTQuNCAxMS44IDM0LjQgMTkuNSA2My42IDE5LjVsLjIgMGMyOS4xIDAgNDkuMS03LjcgNjMuNi0xOS41IDM3LjktMy45IDU4LjUtMzAuNSA2Ny4zLTQ5LjYgMjMuOC04LjcgNDEuNy0yNS4yIDQ3LTU0LjcgOC4yLTQ4LjQtMjEuMS03MC45LTIxLjEtNzAuOXpNMzA2IDM3LjdjNS42LTEuOCAxMS42LTIuNyAxNy43LTIuNyAxMSAwIDE5LjkgMyAyNC43IDUtMy4xIDEuNC02LjQgMy4yLTkuNyA1LjMtMi40LS40LTUuNi0uOC05LjItLjgtMTAuNSAwLTIwLjUgMy4xLTI4LjcgOC45LTEyLjMgOC43LTE4IDE2LjktMjAuNyAyMi40LTIuMi0xLjMtNC41LTIuNS03LjEtMy43LTEuNi0uOC0zLjEtMS41LTQuNy0yLjIgNi4xLTkuMSAxOS45LTI2LjUgMzcuNy0zMi4yem0yMSAxOC4yYy0uOCAxLTEuNiAyLjEtMi4zIDMuMi0zLjMgNS4yLTMuOSAxMS42LTQuNCAxNy44LS41IDYuNC0xLjEgMTIuNS00LjQgMTctNC4yIC44LTguMSAxLjctMTEuNSAyLjctMi4zLTMuMS01LjYtNy0xMC41LTExLjIgMS40LTQuOCA1LjUtMTYuMSAxMy41LTIyLjUgNS42LTQuMyAxMi4yLTYuNyAxOS42LTd6TTQ1LjkgNDUuM2MtMy4zLTIuMi02LjYtNC05LjctNS4zIDQuOC0yIDEzLjctNSAyNC43LTUgNi4xIDAgMTIgLjkgMTcuNyAyLjcgMTcuOCA1LjggMzEuNiAyMy4yIDM3LjcgMzIuMS0xLjYgLjctMy4yIDEuNC00LjggMi4yLTIuNSAxLjItNC45IDIuNS03LjEgMy43LTIuNi01LjQtOC4zLTEzLjctMjAuNy0yMi40LTguMy01LjgtMTguMi04LjktMjguOC04LjktMy40IC4xLTYuNiAuNS05IC45ek05MC42IDg1LjRjLTQuOSA0LjItOC4zIDgtMTAuNSAxMS4yLTMuNC0uOS03LjMtMS45LTExLjUtMi43LTMuMy00LjQtMy44LTEwLjUtNC4zLTE2LjktLjUtNi4yLTEuMS0xMi42LTQuNC0xNy44LS43LTEuMS0xLjUtMi4yLTIuMy0zLjIgNy40IC4zIDE0IDIuNiAxOS41IDcgOCA2LjMgMTIuMSAxNy42IDEzLjUgMjIuNHpNNTguNCAyNTkuOWMtMi43LTEuNi01LjYtMy4xLTguNC00LjYtMTQuOS04LTMwLjItMTYuMy0zMC4yLTMwLjUgMC0xMS4xIDQuMy0xNC42IDguOS0xOC4ybC41LS40Yy43LS42IDEuNC0xLjIgMi4yLTEuOC0uOSA3LjItMS45IDEzLjMtMi43IDE0LjkgMCAwIDEyLjEtMTUgMTUuNy00NC4zIDEuNC0xMS41LTEuMS0zNC4zLTUuMS00MyAuMiA0LjkgMCA5LjgtLjMgMTQuNC0uNC0uOC0uOC0xLjYtMS4zLTIuMi0zLjItNC0xMS44LTE3LjUtOS40LTI2LjYgLjktMy41IDMuMS02IDYuNy03LjggMy44LTEuOSA4LjgtMi45IDE1LjEtMi45IDEyLjMgMCAyNS45IDMuNyAzMi45IDYgMjUuMSA4IDU1LjQgMzAuOSA2NC4xIDM3LjcgLjIgLjIgLjQgLjMgLjQgLjNsNS42IDMuOS0zLjUtNS44Yy0uMi0uMy0xOS4xLTMxLjQtNTMuMi00Ni41IDItMi45IDcuNC04LjEgMjEuNi0xNS4xIDIxLjQtMTAuNSA0Ni41LTE1LjggNzQuMy0xNS44IDI3LjkgMCA1Mi45IDUuMyA3NC4zIDE1LjggMTQuMiA2LjkgMTkuNiAxMi4yIDIxLjYgMTUuMS0zNCAxNS4xLTUyLjkgNDYuMi01My4xIDQ2LjVsLTMuNSA1LjggNS42LTMuOXMuMi0uMSAuNC0uM2M4LjctNi44IDM5LTI5LjggNjQuMS0zNy43IDctMi4yIDIwLjYtNiAzMi45LTYgNi4zIDAgMTEuMyAxIDE1LjEgMi45IDMuNSAxLjggNS43IDQuNCA2LjcgNy44IDIuNSA5LjEtNi4xIDIyLjYtOS40IDI2LjYtLjUgLjYtLjkgMS4zLTEuMyAyLjItLjMtNC42LS41LTkuNS0uMy0xNC40LTQgOC44LTYuNSAzMS41LTUuMSA0MyAzLjYgMjkuMyAxNS43IDQ0LjMgMTUuNyA0NC4zLS44LTEuNi0xLjgtNy43LTIuNy0xNC45IC43IC42IDEuNSAxLjIgMi4yIDEuOGwuNSAuNGM0LjYgMy43IDguOSA3LjEgOC45IDE4LjIgMCAxNC4yLTE1LjQgMjIuNS0zMC4yIDMwLjUtMi45IDEuNS01LjcgMy4xLTguNCA0LjYtOC43IDUtMTggMTYuNy0xOS4xIDM0LjItLjkgMTQuNiAuOSA0OS45IDMuNCA3NS45LTEyLjQgNC44LTI2LjcgNi40LTM5LjcgNi44LTItNC4xLTMuOS04LjUtNS41LTEzLjEtLjctMi0xOS42LTUxLjEtMjYuNC02Mi4yIDUuNSAzOSAxNy41IDczLjcgMjMuNSA4OS42LTMuNS0uNS03LjMtLjctMTEuNy0uN2wtMTE3IDBjLTQuNCAwLTguMyAuMy0xMS43IC43IDYtMTUuOSAxOC4xLTUwLjYgMjMuNS04OS42LTYuOCAxMS4yLTI1LjcgNjAuMy0yNi40IDYyLjItMS42IDQuNi0zLjUgOS01LjUgMTMuMS0xMy0uNC0yNy4yLTItMzkuNy02LjggMi41LTI2IDQuMy02MS4yIDMuNC03NS45LS45LTE3LjQtMTAuMy0yOS4yLTE5LTM0LjJ6TTM1LjEgNDA0LjZjLTEyLjEtMjAtOC43LTU0LjEtMy43LTU5LjEgMTAuOSAzNC40IDQ3LjIgNDQuMyA3NC40IDQ1LjQtMi43IDQuMi01LjIgNy42LTcgMTBsLTEuNCAxLjRjLTcuMiA3LjgtOC42IDE4LjUtNC4xIDMxLjgtMjIuNy0uMS00Ni4zLTkuOC01OC4yLTI5LjV6bTQ1LjcgNDMuNWM2IDEuMSAxMi4yIDEuOSAxOC42IDIuNCAzLjUgOCA3LjQgMTUuOSAxMi4zIDIzLjEtMTQuNC01LjktMjQuNC0xNi0zMC45LTI1LjV6bTExMS41IDUwLjFjLTYwLjYtLjEtNzguMy00NS44LTg0LjktNjQuNy0zLjctMTAuNS0zLjQtMTguMiAuOS0yMy4xIDIuOS0zLjMgOS41LTcuMiAyNC42LTcuMmwxMTguOCAwYzE1LjEgMCAyMS44IDMuOSAyNC42IDcuMiA0LjIgNC44IDQuNSAxMi42IC45IDIzLjEtNi42IDE4LjgtMjQuMyA2NC42LTg0LjkgNjQuN3ptODAuNi0yNC42YzQuOS03LjIgOC44LTE1LjEgMTIuMy0yMy4xIDYuNC0uNSAxMi42LTEuMyAxOC42LTIuNC02LjUgOS41LTE2LjUgMTkuNi0zMC45IDI1LjV6bTc2LjYtNjljLTEyIDE5LjctMzUuNiAyOS4zLTU4LjEgMjkuNyA0LjUtMTMuMyAzLjEtMjQuMS00LjEtMzEuOC0uNC0uNS0uOS0xLTEuNC0xLjUtMS44LTIuNC00LjMtNS44LTctMTAgMjcuMi0xLjIgNjMuNS0xMSA3NC40LTQ1LjQgNSA1IDguNCAzOS4xLTMuOCA1OXpNMTkyLjIgMTg3LjdsLjIgMGMxMi43LS4xIDI3LjItMTcuOCAyNy4yLTE3LjgtOS45IDYtMTguOCA4LjEtMjcuMyA4LjMtOC41LS4yLTE3LjQtMi4zLTI3LjMtOC4zIDAgMCAxNC41IDE3LjYgMjcuMiAxNy44em02MS43IDIzMC43bC0yOS40IDBjLTQuMiAwLTcuMiAuOS04LjkgMi43LTIuMiAyLjMtMS41IDUuMi0uOSA2LjcgMSAyLjYgNS41IDExLjMgMTMgMTkuMyAyLjcgMi45IDYuNiA0LjUgMTEgNC41czguNy0xLjYgMTEuOC00LjJjMi4zLTIgMTAuMi05LjIgMTMuNy0xOC4xIDEuMy0zLjMgMS02LS45LTcuOS0xLjMtMS4zLTQtMi45LTkuNC0zeiJdfSxPdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3VwcG9ydG5vdyIsaWNvbjpbNjQwLDUxMixbXSwiZTgzMyIsIk0wIDE5MS45bDIwMy45LS4xYzEuOC0uNiAyLjUtOS41IDMuMi0xMi4yIDMuMy0xMy41IDguNC0yNi40IDE0LjgtMzguN2wtMTYwLjIgMCAwLTQ4LjIgMjM0LjUgMCAwIDM5Yy01MS4yIDM2LjEtNTYuNCA5Mi42LTIzLjYgMTQzLjkgMzMuMSA1MS43IDkzLjQgODguMSAxNDkuNSAxMTAuNSA2Ny44LTI1LjIgMTY0LjktODkuOSAxNjkuNC0xNjkuNiAzLjEtNTUuMy00Mi4yLTEwMS44LTk4LjctOTEuOC00MS41IDcuNC02Mi4xIDQ2LjctNTQuOCA4Ni40bC00OC4yIDBjLTcuMy01Ni42IDIyLjgtMTEyLjYgNzguNC0xMzAuMyA3OC43LTI1LjEgMTU5LjUgMjggMTcwLjQgMTA4LjggMTUuMiAxMTIuMy05NS41IDE5OS45LTE4OC4xIDIzNy44LTQuNCAxLjgtMjQuNCAxMC4xLTI3LjUgMTAuMWwtMjgwLjMgMCAwLTQ4LjIgMTc4LjUgMC0zOC4xLTI4LjktMjMuMi0yMi4xLTE5OC4zIDAgMC00OC4yIDE2My4xIDBjLTcuMS0xMS42LTEyLjMtMjQuMy0xNi4xLTM3LjQtLjctMi41LTIuMS0xMi0zLjgtMTIuNmwtMjA0LjktLjEgMC00OC4yIDAgMHoiXX0sRnZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJvY2tybXMiLGljb246WzUxMiw1MTIsW10sImYzZTkiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek00MTMuNCA0MjcuNWwtOTAgMC0xMTItMTMxLjNjLTE3LjktMjAuNC0zLjktNTYuMSAyNi42LTU2LjFsNzUuMyAwLTg0LjYtOTkuMy04NC4zIDk4LjktOTAgMCAxNDcuMS0xNzIuNWMxNC40LTE4LjQgNDEuMy0xNy4zIDU0LjUgMEw0MTMuNyAyNTIuM2MxOSAyMi44IDIgNTcuMi0yNy42IDU2LjEtLjYgMC03NC4yIC4yLTc0LjIgLjJMNDEzLjQgNDI3LjV6Il19LEJ2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bnNwbGFzaCIsaWNvbjpbNDQ4LDUxMixbXSwiZTA3YyIsIk00NDggMjMwLjJsMCAyNDkuOC00NDggMCAwLTI0OS44IDE0MS4xIDAgMCAxMjQuOSAxNjUuNyAwIDAtMTI0LjkgMTQxLjEgMHpNMzA2LjkgMzJsLTE2NS43IDAgMCAxMjQuOSAxNjUuNyAwIDAtMTI0Ljl6Il19LEZ1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtaW5zdGFncmFtIixpY29uOls0NDgsNTEyLFsiaW5zdGFncmFtLXNxdWFyZSJdLCJlMDU1IiwiTTE5NC40IDIxMS43YTUzLjMgNTMuMyAwIDEgMCA1OS4yIDg4LjYgNTMuMyA1My4zIDAgMSAwIC01OS4yLTg4LjZ6bTE0Mi4zLTY4LjRjLTUuMi01LjItMTEuNS05LjMtMTguNC0xMi0xOC4xLTcuMS01Ny42LTYuOC04My4xLTYuNS00LjEgMC03LjkgLjEtMTEuMiAuMXMtNy4yIDAtMTEuNC0uMWMtMjUuNS0uMy02NC44LS43LTgyLjkgNi41LTYuOSAyLjctMTMuMSA2LjgtMTguNCAxMnMtOS4zIDExLjUtMTIgMTguNGMtNy4xIDE4LjEtNi43IDU3LjctNi41IDgzLjIgMCA0LjEgLjEgNy45IC4xIDExLjFzMCA3LS4xIDExLjFjLS4yIDI1LjUtLjYgNjUuMSA2LjUgODMuMiAyLjcgNi45IDYuOCAxMy4xIDEyIDE4LjRzMTEuNSA5LjMgMTguNCAxMmMxOC4xIDcuMSA1Ny42IDYuOCA4My4xIDYuNSA0LjEgMCA3LjktLjEgMTEuMi0uMXM3LjIgMCAxMS40IC4xYzI1LjUgLjMgNjQuOCAuNyA4Mi45LTYuNSA2LjktMi43IDEzLjEtNi44IDE4LjQtMTJzOS4zLTExLjUgMTItMTguNGM3LjItMTggNi44LTU3LjQgNi41LTgzIDAtNC4yLS4xLTguMS0uMS0xMS40czAtNy4xIC4xLTExLjRjLjMtMjUuNSAuNy02NC45LTYuNS04My0yLjctNi45LTYuOC0xMy4xLTEyLTE4LjRsMCAuMnptLTY3LjEgNDQuNWMxOC4xIDEyLjEgMzAuNiAzMC45IDM0LjkgNTIuMnMtLjIgNDMuNS0xMi4zIDYxLjZjLTYgOS0xMy43IDE2LjYtMjIuNiAyMi42cy0xOSAxMC4xLTI5LjYgMTIuMmMtMjEuMyA0LjItNDMuNS0uMi02MS42LTEyLjNzLTMwLjYtMzAuOS0zNC45LTUyLjIgLjItNDMuNSAxMi4yLTYxLjYgMzAuOS0zMC42IDUyLjItMzQuOSA0My41IC4yIDYxLjYgMTIuMmwuMSAwem0yOS4yLTEuM2MtMy4xLTIuMS01LjYtNS4xLTcuMS04LjZzLTEuOC03LjMtMS4xLTExLjEgMi42LTcuMSA1LjItOS44IDYuMS00LjUgOS44LTUuMiA3LjYtLjQgMTEuMSAxLjEgNi41IDMuOSA4LjYgNyAzLjIgNi44IDMuMiAxMC42YzAgMi41LS41IDUtMS40IDcuM3MtMi40IDQuNC00LjEgNi4yLTMuOSAzLjItNi4yIDQuMi00LjggMS41LTcuMyAxLjVjLTMuOCAwLTcuNS0xLjEtMTAuNi0zLjJsLS4xIDB6TTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek0zNTcgMzg5Yy0xOC43IDE4LjctNDEuNCAyNC42LTY3IDI1LjktMjYuNCAxLjUtMTA1LjYgMS41LTEzMiAwLTI1LjYtMS4zLTQ4LjMtNy4yLTY3LTI1LjlzLTI0LjYtNDEuNC0yNS44LTY3Yy0xLjUtMjYuNC0xLjUtMTA1LjYgMC0xMzIgMS4zLTI1LjYgNy4xLTQ4LjMgMjUuOC02N3M0MS41LTI0LjYgNjctMjUuOGMyNi40LTEuNSAxMDUuNi0xLjUgMTMyIDAgMjUuNiAxLjMgNDguMyA3LjEgNjcgMjUuOHMyNC42IDQxLjQgMjUuOCA2N2MxLjUgMjYuMyAxLjUgMTA1LjQgMCAxMzEuOS0xLjMgMjUuNi03LjEgNDguMy0yNS44IDY3bDAgLjF6Il19LEh2dD1GdWUscXZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZpcnN0LW9yZGVyLWFsdCIsaWNvbjpbNTEyLDUxMixbXSwiZjUwYSIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6bTAgNy44YTI0MC4yIDI0MC4yIDAgMSAxIDAgNDgwLjQgMjQwLjIgMjQwLjIgMCAxIDEgMC00ODAuNHptMCAyMC41YTIxOS43IDIxOS43IDAgMSAwIDAgNDM5LjQgMjE5LjcgMjE5LjcgMCAxIDAgMC00MzkuNHptMCA4LjJhMjExLjUgMjExLjUgMCAxIDEgMCA0MjMgMjExLjUgMjExLjUgMCAxIDEgMC00MjN6bTE4Ni4yIDI2MGMtNC40IDE3LjEtMTEuMiAzMy41LTIwLjEgNDguN2wtNzQuMS0zNS45IDYxLjUgNTQuOGMtMTAuNiAxNC4xLTIzLjIgMjYuNi0zNy4yIDM3LjNsLTU0LjgtNjEuNiAzNS45IDc0LjNjLTE1LjIgOS0zMS42IDE1LjgtNDguNiAyMC4ybC0yNy4zLTc4LjUgNC44IDgyLjljLTguNiAxLjItMTcuNCAxLjgtMjYuMyAxLjhzLTE3LjctLjYtMjYuMy0xLjhsNC44LTgyLjUtMjcuMiA3OGMtMTcuMS00LjUtMzMuNC0xMS4zLTQ4LjctMjAuMmwzNS45LTc0LjMtNTQuOSA2MS42Yy0xNC0xMC43LTI2LjYtMjMuMi0zNy4yLTM3LjNsNjEuNi01NC45LTc0LjMgMzUuOUM4MC43IDMzOCA3NCAzMjEuNyA2OS41IDMwNC42bDc3LjgtMjcuMS04Mi4yIDQuOGMtMS4yLTguNi0xLjgtMTcuMy0xLjgtMjYuMiAwLTkgLjYtMTcuOCAxLjgtMjYuNWw4Mi40IDQuOC03Ny45LTI3LjJjNC41LTE3LjEgMTEuMy0zMy41IDIwLjItNDguN2w3NC4yIDM1LjktNjEuNS01NC45YzEwLjctMTQgMjMuMi0yNi42IDM3LjMtMzcuMmw1NC44IDYxLjUtMzUuOC03NC4yYzE1LjItOC45IDMxLjYtMTUuNyA0OC42LTIwLjFsMjYuOSA3Ny4yLTQuNy04MS42YzguNi0xLjIgMTcuNC0xLjggMjYuMy0xLjhzMTcuNyAuNiAyNi4zIDEuOGwtNC43IDgyLjIgMjctNzcuOGMxNy4zIDQuNSAzMy42IDExLjQgNDguNiAyMC4ybC0zNS44IDc0LjEgNTQuNy02MS41YzE0LjEgMTAuNyAyNi42IDIzLjIgMzcuMiAzNy4ybC02MS40IDU0LjggNzQuMS0zNS45YzguOSAxNS4yIDE1LjcgMzEuNiAyMC4yIDQ4LjZsLTc3LjggMjcuMSA4Mi4yLTQuN2MxLjIgOC43IDEuOCAxNy41IDEuOCAyNi41IDAgOC45LS42IDE3LjYtMS44IDI2LjJsLTgyLjEtNC43IDc3LjcgMjcuMXoiXX0sVnZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZ1bGNydW0iLGljb246WzI1Niw1MTIsW10sImY1MGIiLCJNNjMuOCAxNjQuMUwyOC40IDIwNy43LTcgMTY0LjEgMjguNCAxMjAuNiA2My44IDE2NC4xek0xMTIuMiAwbC0yMC41IDE5OC4yLTUxIDU3LjggNTEgNTcuOCAyMC41IDE5OC4yIDAtMjExLjEtNDEuMS00NC45IDQxLjEtNDQuOSAwLTIxMS4xem03OS43IDE2NC4xbDM1LjQgNDMuNiAzNS40LTQzLjYtMzUuNC00My41LTM1LjQgNDMuNXptLTQ4LjUgNDdsNDEuMSA0NC45LTQxLjEgNDQuOSAwIDIxMS4xIDIwLjYtMTk4LjIgNTEtNTcuOC01MS01Ny44LTIwLjYtMTk4LjIgMCAyMTEuMXoiXX0sanZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFyY2gtbGludXgiLGljb246WzU3Niw1MTIsW10sImU4NjciLCJNMjg4LjctNy44Yy0yNC4xIDU5LTM4LjYgOTcuNy02NS40IDE1NSAxNi40IDE3LjQgMzYuNiAzNy42IDY5LjQgNjAuNS0zNS4yLTE0LjUtNTkuMi0yOC45LTc3LjItNDQtMzQuMyA3MS42LTg4LjEgMTczLjUtMTk3LjIgMzY5LjQgODUuNy00OS41IDE1Mi4yLTgwIDIxNC4xLTkxLjYtMi43LTExLjQtNC4xLTIzLjgtNC0zNi43bC4xLTIuN2MxLjQtNTQuOSAyOS45LTk3LjIgNjMuOC05NC40czYwLjIgNDkuOCA1OC44IDEwNC43Yy0uMyAxMC4zLTEuNCAyMC4yLTMuNCAyOS40IDYxLjIgMTIgMTI3IDQyLjQgMjExLjYgOTEuMi0xNi43LTMwLjctMzEuNi01OC4zLTQ1LjgtODQuNy0yMi40LTE3LjQtNDUuNy0zOS45LTkzLjMtNjQuNCAzMi43IDguNSA1Ni4zIDE4LjMgNzQuNSAyOS4zLTE0NC41LTI2OS4xLTE1Ni4yLTMwNC44LTIwNS44LTQyMS4xeiJdfSxVdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmVkaXZlcnNlIixpY29uOls1NzYsNTEyLFtdLCJlODY1IiwiTTM5NC44IDUyNi45YTU0IDU0IDAgMSAxIDUuOC0xMDcuOCA1NCA1NCAwIDEgMSAtNS44IDEwNy44em0tNTAuMS04MC42Yy01LjUgMTAuOS03LjQgMjMuMy01LjYgMzUuNEwxNjguNyA0NTQuNGM1LjUtMTAuOSA3LjUtMjMuMyA1LjctMzUuNGwxNzAuMyAyNy4zek0xMTIuNyA0ODEuNmE1NCA1NCAwIDEgMSA1LjktMTA3LjggNTQgNTQgMCAxIDEgLTUuOSAxMDcuOHptMjU3LjctNjEuNGMtMTAuOSA1LjYtMTkuNyAxNC40LTI1LjQgMjUuM2wtNzAuNi03MC45IDMzLjYtMTcgNjIuNCA2Mi43ek00ODYuMSAyNjFjOC43IDguNiAxOS44IDE0LjMgMzEuOSAxNi40TDQzOS40IDQzMC44Yy04LjctOC42LTE5LjgtMTQuMy0zMS45LTE2LjRMNDg2LjEgMjYxek0zNzYuNyAyMTkuM2wzMC41IDE5NS4xYy0xMi4xLTEuOS0yNC41LS4xLTM1LjQgNS4zbC0zMi4yLTIwNi4zIDM3LjIgNnpNMzUwLjQgMzI4LjlMMTc0LjIgNDE4LjJjLTItMTIuMS03LjYtMjMuMi0xNi4yLTMybDE4Ni42LTk0LjYgNS44IDM3LjJ6bS0xNTIuNy0yMmwtNDAuMyA3OC43Yy04LjctOC42LTE5LjgtMTQuMy0zMS45LTE2LjNsNDUuNi04OSAyNi42IDI2Ljd6TTEyNC43IDM2OWMtMTIuMS0xLjgtMjQuNCAuMi0zNS40IDUuNkw2Mi43IDIwNC4zYzEyLjEgMS44IDI0LjUtLjEgMzUuNC01LjZMMTI0LjcgMzY5em0xNDcuMS00Ny44bC0zMy42IDE3LTEzOS40LTEzOS45YzEwLjktNS42IDE5LjctMTQuNCAyNS40LTI1LjNMMjcxLjggMzIxLjJ6bTE5Ny41LTkyLjhjMiAxMi4xIDcuNiAyMy4yIDE2LjIgMzEuOWwtODkuMyA0NS4yLTUuOC0zNy4yIDc4LjktNDB6bTU1LjYgNDQuM2E1NCA1NCAwIDEgMSA1LjktMTA3LjggNTQgNTQgMCAxIDEgLTUuOSAxMDcuOHpNMjg0LjYgNTguN2M4LjcgOC42IDE5LjggMTQuMyAzMS44IDE2LjNsLTk1LjMgMTg2LjEtMjYuNi0yNi43IDkwLTE3NS44ek00NzQuOSAxOTIuMWMtNS41IDEwLjktNy41IDIzLjMtNS43IDM1LjNsLTIwNi40LTMzLjEgMTcuMi0zMy41IDE5NSAzMS4zek02OC43IDE5OS42QTU0IDU0IDAgMSAxIDc0LjYgOTEuOCA1NCA1NCAwIDEgMSA2OC43IDE5OS42em00MzItMzMuNGMtMTAuOSA1LjYtMTkuNyAxNC40LTI1LjQgMjUuM0wzNTMuNSA2OS4zYzEwLjktNS42IDE5LjctMTQuNCAyNS40LTI1LjNMNTAwLjYgMTY2LjJ6TTIyOS4zIDE1Mi42bC0xNy4yIDMzLjUtODcuNC0xNGM1LjQtMTAuOSA3LjQtMjMuMyA1LjUtMzUuNGw5OSAxNS45em0xMzkuNSAxNS45bC0zNy4yLTYtMTMuNi04Ny4yYzEyLjEgMS43IDI0LjUtLjMgMzUuMy01LjlsMTUuNSA5OS4xek0yNjcuOCAyNi4yYzIgMTIuMSA3LjYgMjMuMiAxNi4yIDMxLjlsLTE1My45IDc4Yy0yLTEyLjEtNy42LTIzLjItMTYuMi0zMS45bDE1My45LTc4em01NS42IDQ0LjNhNTQgNTQgMCAxIDEgNS44LTEwNy44IDU0IDU0IDAgMSAxIC01LjggMTA3Ljh6Il19LFd2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJicmF2ZS1yZXZlcnNlIixpY29uOls0NDgsNTEyLFtdLCJlNjNkIiwiTTI5OC41IDBjMyAwIDUuOCAxLjMgNy44IDMuNmwzOC4xIDQ0Yy41LS4xIDEtLjIgMS41LS4zIDkuMi0xLjYgMTguNi0yLjIgMjcuNy0xLjIgMTEuNiAxLjQgMjEuNSA1LjQgMjguOSAxMi45IDcuNyA3LjggMTUuNCAxNS44IDIyLjYgMjMuNiAyLjUgMi43IDQuOSA1LjIgNi45IDcuNCAuNyAuOCAxLjQgMS41IDEuOSAyIDMuNCAzLjcgNC4yIDguMSAyLjcgMTEuOWwtOS44IDI0LjYgMTMuMSAzOC4xYy43IDIgLjggNC4xIC4yIDYuMi0uMSAuNC0uMSAuNC0uNSAyLjFsLTEuNSA1LjhjLTEuNiA2LjMtMy41IDEzLjMtNS40IDIwLjktNS42IDIxLjYtMTEuMiA0My4yLTE2LjQgNjMuNC0xMi45IDQ5LjktMjEuNCA4Mi43LTIzLjQgOTAuOS0xMS4xIDQ0LjUtMTkuOSA2MC00OC4zIDgwLjMtMjQuOSAxNy44LTc2LjggNTMuNi04Ni44IDYwLTEgLjYtMiAxLjMtMy40IDIuMy0uNSAuNC0zLjIgMi4yLTMuOSAyLjctNC45IDMuMy04LjMgNS41LTEyLjEgNy4zLTQuNyAyLjItOS4zIDMuNS0xMy45IDMuNXMtOS4xLTEuMi0xMy45LTMuNWMtMy43LTEuOC03LjItMy45LTEyLjEtNy4zLS44LS41LTMuNC0yLjQtMy45LTIuNy0xLjQtMS0yLjUtMS43LTMuNC0yLjMtMTAtNi40LTYxLjktNDIuMS04Ni44LTYwLTI4LjQtMjAuNC0zNy4yLTM1LjgtNDguMy04MC4zLTItOC4yLTEwLjUtNDEtMjMuMy05MC41LTUuMy0yMC42LTEwLjktNDIuMi0xNi41LTYzLjgtMi03LjYtMy44LTE0LjYtNS40LTIwLjlsLTEuNS01LjgtLjUtMi4xYy0uNS0yLS40LTQuMiAuMi02LjJsMTMuMS0zOC4xLTkuOS0yNC41Yy0xLjUtMy44LS43LTguMiAyLTExLjIgMS4yLTEuMyAxLjgtMiAyLjYtMi44IDItMi4yIDQuNC00LjcgNi45LTcuNCA3LjMtNy43IDE1LTE1LjcgMjIuNy0yMy41IDcuNC03LjUgMTcuMy0xMS42IDI4LjktMTIuOSA5LjEtMS4xIDE4LjUtLjUgMjcuNyAxLjIgLjUgLjEgMSAuMiAxLjUgLjNsMzguMS00NGMyLTIuNCA0LjgtMy43IDcuOC0zLjdsMTQ4IDB6bS00LjcgMjEuMWwtMTM4LjYgMC0zOS4xIDQ1LjFjLTIuNiAzLTYuNyA0LjMtMTAuNiAzLjItLjItLjEtLjctLjItMS41LS40LTEuMy0uMy0yLjktLjYtNC41LS45LTcuNC0xLjMtMTQuOS0xLjgtMjEuNy0xLTcuMyAuOS0xMyAzLjItMTYuNiA2LjktNy42IDcuNy0xNS4yIDE1LjYtMjIuMyAyMy4zLTEuNyAxLjgtMy4zIDMuNS00LjggNS4xbDguOCAyMmMxIDIuNCAxIDUgLjIgNy41TDI5LjcgMTcwLjZjLjQgMS40IC41IDEuOSAxLjIgNC44IDEuNiA2LjMgMy41IDEzLjMgNS40IDIwLjkgNS42IDIxLjYgMTEuMiA0My4yIDE2LjQgNjMuNCAxMi45IDUwIDIxLjQgODIuOCAyMy40IDkxIDEwLjEgNDAuMSAxNi40IDUxLjMgNDAuMiA2OC4zIDI0LjYgMTcuNiA3Ni4zIDUzLjIgODUuOSA1OS4zIDEuMiAuOCAyLjUgMS42IDQgMi43IC42IC40IDMuMiAyLjIgMy45IDIuNyA0IDIuOCA2LjcgNC40IDkuMiA1LjYgMi4yIDEgMy45IDEuNSA1LjEgMS41czIuOS0uNSA1LjEtMS41YzIuNS0xLjIgNS4yLTIuOCA5LjItNS42IC43LS41IDMuMy0yLjMgMy45LTIuNyAxLjYtMS4xIDIuOC0xLjkgNC0yLjcgOS42LTYuMSA2MS4zLTQxLjcgODUuOS01OS4zIDIzLjgtMTcuMSAzMC4yLTI4LjIgNDAuMS02OC4zIDIuMS04LjMgMTAuNS00MS4xIDIzLjMtOTAuNyA1LjMtMjAuNiAxMC45LTQyLjIgMTYuNS02My44IDItNy42IDMuOC0xNC42IDUuNC0yMC45IC43LTIuOSAuOS0zLjQgMS4yLTQuOGwtMTMuMy0zOC44Yy0uOC0yLjQtLjgtNS4xIC4yLTcuNWw4LjgtMjJjLTEuNS0xLjYtMy4xLTMuMy00LjgtNS4xLTcuMi03LjYtMTQuNy0xNS41LTIyLjMtMjMuMy0zLjctMy43LTkuMy02LTE2LjYtNi45LTYuOC0uOC0xNC40LS4zLTIxLjcgMS0xLjcgLjMtMy4yIC42LTQuNSAuOS0uOCAuMi0xLjMgLjMtMS41IC40LTMuOCAxLjEtNy45LS4yLTEwLjYtMy4yTDI5My44IDIxLjF6TTIyNC41IDMxNmMyLjggMCAyMC45IDYuNSAzNS40IDE0LjFzMjUgMTMgMjguMyAxNS4yIDEuMyA2LjItMS43IDguNC00NC4xIDM0LjYtNDguMSAzOC4yLTkuOCA5LjUtMTMuOCA5LjUtOS44LTUuOS0xMy44LTkuNS00NS4xLTM2LTQ4LjEtMzguMi01LjEtNi4yLTEuNy04LjQgMTMuOS03LjUgMjguMy0xNS4yIDMyLjUtMTQuMSAzNS40LTE0LjFsLS4yIDB6bS4xLTIzMC43Yy43IDAgOC44IC4yIDIwLjUgNC4yIDEyLjMgNC4yIDI1LjcgOS40IDMxLjkgOS40czUxLjktOC45IDUxLjktOC45IDU0LjIgNjYuNyA1NC4yIDgxLTYuOCAxOC0xMy43IDI1LjQtMzYuOCAzOS44LTQwLjcgNDMuOS0xMS45IDEwLjUtNy4xIDIxLjggMTEuNyAyNS44IDMuOSA0MC40LTIxIDI0LjQtMjkuNCAyMi44LTI4LjQtMTIuMi0zNS43LTE3LjEtMzAuNS0yNC4zLTMwLjUtMzEuOCAyNC0yMC44IDI4LjQtMjMuOSAyNC43LTE0LjggMjUuMS0xOS40IC4zLTYtNS43LTE3LjQtMTYuNy0yNi43LTE0LjktMzYuOCAxOS4xLTE1LjQgMzEuNS0yMC4yIDM2LjItMTMuNyAzOS4yLTE1LjEgMi4yLTIuNy02LjgtMy42LTM0LjYtNC4zLTQ2LjEtMS4xLTMxLjIgOC4yLTMyLjggMTAuOS0zIDIuNy0xLjQgMTEuOCAxMC4xIDUyLjggMTAuOSA2MC42IDIuNCAxMi45LTUuOCAxNC44LTIyLjEgNS4yLTI2LjggNS4yLTE4LjYtMy4zLTI2LjgtNS4yLTYuNi03LTUuOC0xNC44IDkuMy01MS41IDEwLjktNjAuNiAuMi05LjItMS40LTExLjgtMjEuMy03LjYtMzIuOC0xMC45LTM3LjEgLjItNDYuMSAxLjEtOS44IDIuMi02LjggMy42IDI2LjggMTAuNCAzOS4yIDE1LjEgMjkuNyAxMCAzMS41IDIwLjItOSAyNS40LTE0LjkgMzYuOC02LjEgMTIuOC01LjcgMTcuNCAyMC42IDE2LjQgMjUuMSAxOS40IDI4LjQgMTYuNCAyOC40IDIzLjktMjMuMiAyNy0zMC41IDMxLjgtMjcuMiAxNS40LTM1LjcgMTcuMS0yMS43LTguMi0yOS40LTIyLjgtLjgtMjkuMSAzLjktNDAuNC0zLjMtMTcuNy03LjEtMjEuOC0zMy44LTM2LjUtNDAuNy00My45LTEzLjctMTEuMi0xMy43LTI1LjQgNTQuMi04MSA1NC4yLTgxIDQ1LjggOC45IDUxLjkgOC45IDE5LjUtNS4yIDMxLjktOS40IDIwLjYtNC4yIDIwLjYtNC4ybC0uMyAweiJdfSxHdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXZpYW5leCIsaWNvbjpbNTEyLDUxMixbXSwiZjM3NCIsIk00NTMuMiAzMmwtMzEyIDBDMTAyLjMgMzIgNjUgNjMuMiA1Ny45IDEwMS43TDEuMyA0MTAuM0MtNS44IDQ0OC44IDIwIDQ4MCA1OSA0ODBsMzEyIDBjMzguOSAwIDc2LjItMzEuMiA4My4zLTY5LjdMNTExIDEwMS44QzUxOCA2My4yIDQ5Mi4yIDMyIDQ1My4yIDMyek0zOTUgMzc5LjNsLTMyIDEzLjUtMTE1LjQtMTEwYy0xNC43IDEwLTI5LjIgMTkuNS00MS43IDI3LjFsMjIuMSA2NC4yLTE3LjkgMTIuNy00MC42LTYxLTUyLjQtNDguMSAxNS43LTE1LjQgNTggMzEuMWM5LjMtMTAuNSAyMC44LTIyLjYgMzIuOC0zNC45bC0yMC41LTI5LjYtNjguOC05OS44IDE4LjgtMjguOSA4LjktNC44IDEwMy4xIDExMi40IDQuOSA0LjVjMTkuNC0xOC44IDMzLjgtMzIuNCAzMy44LTMyLjQgNy43LTYuNSAyMS41LTIuOSAzMC43IDcuOSA5IDEwLjUgMTAuNiAyNC43IDIuNyAzMS4zLTEuOCAxLjMtMTUuNSAxMS40LTM1LjMgMjUuNmw0LjUgNy4zIDk0LjkgMTE5LjQtNi4zIDcuOXoiXX0sWXZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im5zOCIsaWNvbjpbNjQwLDUxMixbXSwiZjNkNSIsIk0xMDQuMyAyNjkuMmwyNi4xIDAgMC0yNi4yLTI2LjEgMCAwIDI2LjJ6TTE1Ni44IDI0M2wtLjEtMjYuMiAwLS45Yy0uMi0xMC40LTQuNC0yMC4zLTExLjktMjcuNnMtMTcuNS0xMS4zLTI3LjktMTEuMS0yMC4zIDQuNC0yNy42IDExLjgtMTEuMyAxNy41LTExLjIgMjcuOWwwIC4yIDI2LjQgMCAwLS4yYy4xLTMuNCAxLjUtNi42IDMuOS05czUuNy0zLjcgOS4xLTMuNyA2LjcgMS4zIDkuMSAzLjcgMy44IDUuNiAzLjkgOWwwIDI2LjIgMjYuMyAwem01Mi40IDI1LjhjMCAxMi0yLjQgMjMuOC02LjkgMzQuOXMtMTEuMyAyMS4xLTE5LjcgMjkuNi0xOC41IDE1LjItMjkuNiAxOS43LTIyLjkgNi45LTM0LjkgNi45bC0uNiAwYy0yNC4yIDAtNDcuMy05LjYtNjQuNC0yNi43UzI2LjMgMjkzIDI2LjMgMjY4LjhsLTI2LjMgMCAwIC4yYzAgMTUuNCAzLjEgMzAuNyA5IDQ0LjlzMTQuNiAyNy4yIDI1LjUgMzguMSAyMy45IDE5LjUgMzguMSAyNS40IDI5LjUgOC45IDQ0LjkgOC45bC44IDBjMTUuNCAwIDMwLjctMyA0NC45LTlzMjcuMi0xNC42IDM4LjEtMjUuNSAxOS41LTIzLjggMjUuNC0zOC4xIDguOS0yOS41IDguOS00NC45bDAtMjYtMjYuMyAwIDAgMjZ6bS0xNTcuMiAwYy4xIDE3LjMgNyAzMy45IDE5LjIgNDYuMXMyOC44IDE5LjEgNDYuMSAxOS4xIDMzLjktNi45IDQ2LjEtMTkuMSAxOS4yLTI4LjggMTkuMi00Ni4xbC0yNi4zIDBjLS4yIDEwLjItNC40IDIwLTExLjcgMjcuMnMtMTcuMSAxMS4yLTI3LjQgMTEuMi0yMC4xLTQtMjcuNC0xMS4yLTExLjUtMTYuOS0xMS43LTI3LjJsMC0yNi0yNi4zIDAgMC0yNi42Yy4zLTE3LjMgNy40LTMzLjggMTkuNy00NS44czI5LTE4LjggNDYuMy0xOC42IDMzLjggNy4yIDQ1LjkgMTkuNSAxOC45IDI4LjkgMTguOSA0Ni4ybDAgMjUuMyAyNi4zIDAgMC0yNS4zYzAtMjQuMy05LjctNDcuNy0yNi45LTY0LjlzLTQwLjUtMjYuOS02NC45LTI2LjktNDcuNyA5LjctNjQuOSAyNi45LTI2LjkgNDAuNS0yNi45IDY0LjlsMCAyNS40IDI2LjMgMCAwIDI2em00MTguNC03MS4yYzEzLjcgMCAyNC42IDYuNiAzMC4xIDE4LjNsLjcgMS41IDIzLjItMTEuNS0uNi0xLjRjLTgtMTkuMy0yOC41LTMxLjMtNTMuNC0zMS4zLTIzLjEgMC00My42IDExLjQtNTEgMjguNC0uMSAyNi45LS4yIDIzLjkgMCAyNC44IDQuNyAxMSAxNC42IDE5LjQgMjguNyAyNC4yIDYuNSAyIDEzLjEgMy4zIDE5LjggNCA1LjUgLjcgMTAuNiAxLjQgMTUuOCAzLjEgNi40IDIuMSAxMC41IDUuMyAxMi44IDkuOGwwIDkuOWMtMy43IDcuNS0xMy44IDEyLjMtMjUuOCAxMi4zLTE0LjMgMC0yNi02LjktMzEuOS0xOWwtLjctMS41LTIzIDExLjUgLjYgMS40YzcuOSAxOS40IDI5LjYgMzIgNTUuMyAzMiAyMy42IDAgNDQuNi0xMS40IDUyLjMtMjguNGwuMi0yNS45LS4yLS43Yy00LjktMTEtMTUuMi0xOS42LTI4LjktMjQuMi03LjctMi43LTE0LjMtMy42LTIwLjctNC40LTUtLjUtMTAtMS41LTE0LjgtMi45LTYuMy0xLjktMTAuNC01LjEtMTIuNi05LjZsMC04LjRjMy40LTcuNCAxMi45LTEyLjEgMjQuMi0xMi4xbDAgMHpNMjg3LjYgMzExLjNsMjYuMSAwIDAtNjguNC0yNi4xIDAgMCA2OC40ek02MzkuOCAyNThjLTIuOS02LjMtOC4zLTEyLTE1LjQtMTYuNyA1LjYtMy44IDEwLjEtOS4xIDEzLTE1LjNsLjItMjUuMy0uMi0uN2MtNy40LTE2LTI2LjctMjYuNy00OC4yLTI2LjdTNTQ4LjUgMTg0IDU0MS4xIDIwMGwtLjIgMjUuMyAuMiAuN2MyLjkgNi4xIDcuNCAxMS40IDEzIDE1LjMtNy4yIDQuNy0xMi41IDEwLjUtMTUuNCAxNi43bC0uMiAyOC45IC4yIC43YzcuNiAxNiAyNy45IDI2LjcgNTAuNiAyNi43czQzLjEtMTAuNyA1MC42LTI2LjdsLjItMjguOS0uMi0uN3ptLTczLjItNTAuOGMzLjYtNi4zIDEyLjYtMTAuNSAyMi42LTEwLjVzMTkgNC4yIDIyLjYgMTAuNWwwIDEzLjdjLTMuNSA2LjItMTIuNiAxMC4zLTIyLjYgMTAuM3MtMTkuMS00LjItMjIuNi0xMC4zbDAtMTMuN3ptNDcuMyA3Mi4yYy0zLjggNi42LTEzLjMgMTAuOS0yNC43IDEwLjktMTEuMSAwLTIxLTQuNC0yNC43LTEwLjlsMC0xNi4yYzMuNy02LjMgMTMuNS0xMC41IDI0LjctMTAuNSAxMS4zIDAgMjAuOSA0LjEgMjQuNyAxMC41bDAgMTYuMnpNMzc2LjQgMjY2bC01OS44LTg5LjctMjkgMCAwIDQwLjYgMjYuNSAwIDAgLjQgNjIuNSA5NC4xIDI1LjcgMCAwLTEzNS4xLTI1LjkgMCAwIDg5Ljd6Il19LEJ1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtcGludGVyZXN0IixpY29uOls0NDgsNTEyLFsicGludGVyZXN0LXNxdWFyZSJdLCJmMGQzIiwiTTM4NCAzMkw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDcyLjYgMC0yLjItLjhjLTUuNC00OC4xLTMuMS01Ny41IDE1LjctMTM0LjcgMy45LTE2IDguNS0zNSAxMy45LTU3LjkgMCAwLTcuMy0xNC44LTcuMy0zNi41IDAtNzAuNyA3NS41LTc4IDc1LjUtMjUgMCAxMy41LTUuNCAzMS4xLTExLjIgNDkuOC0zLjMgMTAuNi02LjYgMjEuNS05LjEgMzItNS43IDI0LjUgMTIuMyA0NC40IDM2LjQgNDQuNCA0My43IDAgNzcuMi00NiA3Ny4yLTExMi40IDAtNTguOC00Mi4zLTk5LjktMTAyLjYtOTkuOS02OS45IDAtMTEwLjkgNTIuNC0xMTAuOSAxMDYuNiAwIDIxLjEgOC4yIDQzLjcgMTguMyA1NiAyIDIuNCAyLjMgNC41IDEuNyA3LTEuMSA0LjctMy4xIDEyLjktNC43IDE5LjItMSA0LTEuOCA3LjMtMi4xIDguNi0xLjEgNC41LTMuNSA1LjUtOC4yIDMuMy0zMC42LTE0LjMtNDkuOC01OS4xLTQ5LjgtOTUuMSAwLTc3LjUgNTYuMi0xNDguNiAxNjIuMi0xNDguNiA4NS4yIDAgMTUxLjQgNjAuNyAxNTEuNCAxNDEuOCAwIDg0LjYtNTMuMyAxNTIuNy0xMjcuNCAxNTIuNy0yNC45IDAtNDguMy0xMi45LTU2LjMtMjguMiAwIDAtMTIuMyA0Ni45LTE1LjMgNTguNC01IDE5LjMtMTcuNiA0Mi45LTI3LjQgNTkuM0wzODQgNDgwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0eiJdfSxLdnQ9QnVlLFp2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJibHVldG9vdGgtYiIsaWNvbjpbMjU2LDUxMixbXSwiZjI5NCIsIk0xNjQuOSAyNjBMMjU3LjUgMTU2LjcgMTExLjYgMCAxMTEuNiAyMDYuMyAyNS40IDEyMC4yLTYgMTUxLjYgMTAyLjEgMjYwLTYgMzY4LjQgMjUuNCAzOTkuOCAxMTEuNiAzMTMuNyAxMTQuMyA1MTIgMjYyLjggMzYzLjQgMTY0LjkgMjYwem00MC45LTEwM2wtNTAgNTAtLjMtMTAwLjMgNTAuMyA1MC4zem0tNTAgMTU2bDUwIDUwLTUwLjMgNTAuMyAuMy0xMDAuM3oiXX0sWHZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdyaXBmaXJlIixpY29uOlszMjAsNTEyLFtdLCJmM2FjIiwiTTgwLjUgMzAxLjRjMC03My44IDEwNS4xLTEyMi41IDEwNS4xLTIwMyAwLTQ3LjEtMzQtODgtMzkuMS05MC40IC40IDMuMyAuNiA2LjcgLjYgMTAgMCA5Mi4xLTE0Ny4xIDE1My45LTE0Ny4xIDI2OC42IDAgNDkuOCAzMi4yIDc5LjIgNjYuNSAxMDguMyA2NS4xIDQ2LjcgNzguMSA3MS40IDc4LjEgODYuNiAwIDEwLjEtNC44IDE3LTQuOCAyMi4zIDEzLjEtMTYuNyAxNy40LTMxLjkgMTcuNS00Ni40IDAtMjkuNi0yMS43LTU2LjMtNDQuMi04Ni41LTE2LTIyLjMtMzIuNi00Mi42LTMyLjYtNjkuNXptMjA1LjMtMzljLTEyLjEtNjYuOC03OC0xMjQuNC05NC43LTEzMC45bDQgNy4yYzIuNCA1LjEgMy40IDEwLjkgMy40IDE3LjEgMCA0NC43LTU0LjIgMTExLjItNTYuNiAxMTYuNy0yLjIgNS4xLTMuMiAxMC41LTMuMiAxNS44IDAgMjAuMSAxNS4yIDQyLjEgMTcuOSA0Mi4xIDIuNCAwIDU2LjYtNTUuNCA1OC4xLTg3LjcgNi40IDExLjcgOS4xIDIyLjYgOS4xIDMzLjQgMCA0MS4yLTQxLjggOTYuOS00MS44IDk2LjkgMCAxMS42IDMxLjkgNTMuMiAzNS41IDUzLjIgMSAwIDIuMi0xLjQgMy4yLTIuNCAzNy45LTM5LjMgNjcuMy04NSA2Ny4zLTEzNi44IDAtOC0uNy0xNi4yLTIuMi0yNC42eiJdfSxIdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWdvb2dsZS1wbHVzIixpY29uOls0NDgsNTEyLFsiZ29vZ2xlLXBsdXMtc3F1YXJlIl0sImYwZDQiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTY0IDI1NmMwLTU1LjMgNDQuNy0xMDAgMTAwLTEwMCAyNyAwIDQ5LjUgOS44IDY3IDI2LjJsLTI3LjEgMjYuMWMtNy40LTcuMS0yMC4zLTE1LjQtMzkuOC0xNS40LTM0LjEgMC02MS45IDI4LjItNjEuOSA2My4yIDAgMzQuOSAyNy44IDYzLjIgNjEuOSA2My4yIDM5LjYgMCA1NC40LTI4LjUgNTYuOC00My4xbC01Ni45IDAgMC0zNC40IDk0LjQgMGMxIDUgMS42IDEwLjEgMS42IDE2LjYgMCA1Ny4xLTM4LjMgOTcuNi05NiA5Ny42LTU1LjMgMC0xMDAtNDQuNy0xMDAtMTAwem0yOTEgMTguMmwwIDI5LTI5LjIgMCAwLTI5LTI5IDAgMC0yOS4yIDI5IDAgMC0yOSAyOS4yIDAgMCAyOSAyOSAwIDAgMjkuMi0yOSAweiJdfSxRdnQ9SHVlLEp2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnaXRlZSIsaWNvbjpbNTEyLDUxMixbXSwiZTg2MyIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDEgMC01MTIgMjU2IDI1NiAwIDEgMSAwIDUxMnpNMzg1LjYgMTEzLjhsMCAwLTE3NyAwYy01Mi40IDAtOTQuOCA0Mi40LTk0LjggOTQuOGwwIDE3N2MwIDcgNS43IDEyLjYgMTIuNiAxMi42bDE4Ni41IDBjNDcuMSAwIDg1LjMtMzguMiA4NS4zLTg1LjNsMC03Mi43YzAtNy01LjctMTIuNi0xMi42LTEyLjZsLTE0NS40IDBjLTcgMC0xMi42IDUuNy0xMi42IDEyLjZsMCAzMS42YzAgNi42IDUuMSAxMi4xIDExLjYgMTIuNmwxIDAgODguNSAwYzYuNiAwIDEyLjEgNS4xIDEyLjYgMTEuNmwwIDEgMCA2LjNjMCAyMC45LTE3IDM3LjktMzcuOSAzNy45bC0xMjAuMSAwYy03IDAtMTIuNi01LjctMTIuNi0xMi42bDAtMTIwLjFjMC0yMC40IDE2LjEtMzcuMSAzNi40LTM3LjlsMS42IDAgMTc3IDBjNyAwIDEyLjYtNS43IDEyLjYtMTIuNmwwLTMxLjZjMC03LTUuNi0xMi42LTEyLjYtMTIuNnoiXX0sZXh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InhtcHAiLGljb246WzU3Niw1MTIsW10sImU4NjQiLCJNMCA0Ny4yYzMuNSAxMzcuMSAxMTcuMSAyNzguNiAyNTIuOSAzNTYuNy0zMS41IDI1LTY3LjIgNDQuMS0xMDYuMiA1My45bDAgNS40YzU2LjQtMi4zIDk4LjEtMjAuMSAxNDEuMy00MC43IDY1LjcgMzQuNiAxMjIuMiAzOS45IDE0MS40IDQwLjdsMC01LjRjLTM5LTkuOC03NC43LTI4LjgtMTA2LjItNTMuOCAxMzUuNy03OC4yIDI0OS4zLTIxOS44IDI1Mi44LTM1Ni44LTU4LjQgMjUuNy0xMTkuMSA0NC4yLTE4MC4xIDYyLjNsMCAwYzMuNCA1OS0yMC4yIDE3MC40LTEwNy45IDI2Mi4zLTg4LjQtOTIuMy0xMTEuMi0yMDQuMS0xMDcuOC0yNjIuM2wwIDBDMTE3LjcgOTIuNiA1OS4zIDcwLjIgMCA0Ny4yek05My45IDk3bDczLjYgMjEuOEMxNjUuNCAyMTYgMjI2LjggMzU4IDM0MS4zIDQzMi4yIDE5MC41IDM3Ni45IDg5LjkgMjE1LjcgOTMuOSA5N3ptMzg4LjMgMGMzLjMgOTktNjUuNiAyMjQuNy0xNzEuNyAyOTYuNC00LjctNC4xLTkuMy04LjQtMTMuOC0xMi43IDc3LTgwLjIgMTEzLjItMTg2LjMgMTExLjktMjYxLjlMNDgyLjEgOTd6TTI2NC41IDQxMC41YzMgMS42IDUuOSAzLjIgOC45IDQuNy0xMi41IDYuNC0yNS40IDEyLjEtMzguNiAxNyAxMC4zLTYuNyAyMC4yLTEzLjkgMjkuNy0yMS43eiJdfSx0eHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXBwLXN0b3JlIixpY29uOls1MTIsNTEyLFtdLCJmMzZmIiwiTTI1NS45IDEyMC45bDkuMS0xNS43YzUuNi05LjggMTguMS0xMy4xIDI3LjktNy41czEzLjEgMTguMSA3LjUgMjcuOWwtODcuNSAxNTEuNSA2My4zIDBjMjAuNSAwIDMyIDI0LjEgMjMuMSA0MC44bC0xODUuNSAwYy0xMS4zIDAtMjAuNC05LjEtMjAuNC0yMC40czkuMS0yMC40IDIwLjQtMjAuNGw1MiAwIDY2LjYtMTE1LjQtMjAuOC0zNi4xYy01LjYtOS44LTIuMy0yMi4yIDcuNS0yNy45IDkuOC01LjYgMjIuMi0yLjMgMjcuOSA3LjVsOC45IDE1Ljd6bS03OC43IDIxOGwtMTkuNiAzNGMtNS42IDkuOC0xOC4xIDEzLjEtMjcuOSA3LjVzLTEzLjEtMTguMS03LjUtMjcuOWwxNC42LTI1LjJjMTYuNC01LjEgMjkuOC0xLjIgNDAuNCAxMS42em0xNjguOS02MS43bDUzLjEgMGMxMS4zIDAgMjAuNCA5LjEgMjAuNCAyMC40UzQxMC41IDMxOCAzOTkuMiAzMThsLTI5LjUgMCAxOS45IDM0LjVjNS42IDkuOCAyLjMgMjIuMi03LjUgMjcuOS05LjggNS42LTIyLjIgMi4zLTI3LjktNy41LTMzLjUtNTguMS01OC43LTEwMS42LTc1LjQtMTMwLjYtMTcuMS0yOS41LTQuOS01OS4xIDcuMi02OS4xIDEzLjQgMjMgMzMuNCA1Ny43IDYwLjEgMTA0ek0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTQwIDI1NmEyMTYgMjE2IDAgMSAxIDQzMiAwIDIxNiAyMTYgMCAxIDEgLTQzMiAweiJdfSxheHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2l4IixpY29uOls2NDAsNTEyLFtdLCJmNWNmIiwiTTM5My40IDEzMS43YzAgMTMgMi4xIDMyLjctMjguNyA0My44LTkuNSAzLjQtMTYgOS43LTE2IDkuNyAwLTMxIDQuNy00Mi4yIDE3LjQtNDguOSA5LjgtNS4xIDI3LjItNC42IDI3LjItNC42ek0yNzcuNiAxNjcuMmwtMzQuMiAxMzIuNy0yOC41LTEwOC42Yy03LjctMzItMjAuOC00OC41LTQ4LjQtNDguNS0yNy40IDAtNDAuNyAxNi4yLTQ4LjQgNDguNUw4OS41IDI5OS45IDU1LjMgMTY3LjJDNDkuNyAxNDAuNSAyMy45IDEyOSAwIDEzMkw2NS42IDM3OS45czIxLjYgMS42IDMyLjUtNGMxNC4yLTcuMiAyMS0xMi44IDI5LjYtNDYuNiA3LjctMzAuMSAyOS4xLTExOC40IDMxLjEtMTI0LjcgNC44LTE0LjkgMTEuMS0xMy44IDE1LjQgMCAyIDYuMyAyMy41IDk0LjYgMzEuMSAxMjQuNyA4LjYgMzMuNyAxNS40IDM5LjMgMjkuNiA0Ni42IDEwLjggNS41IDMyLjUgNCAzMi41IDRMMzMyLjkgMTMyYy0yNC40LTMuMS00OS44IDguOS01NS4zIDM1LjN6bTExNS44IDUuMnMtNC4xIDYuMy0xMy41IDExLjZjLTYgMy40LTExLjggNS42LTE4IDguNi0xNS4xIDcuMy0xMy4yIDEzLjktMTMuMiAzNS4ybDAgMTUyLjFzMTYuNiAyLjEgMjcuNC0zLjRjMTMuOS03LjEgMTcuMS0xNCAxNy4zLTQ0LjhsMC0xNTAuMyAwIDAgMC05em0xNjMuNCA4NC4xTDY0MCAxMzIuOHMtMzUuMS02LTUyLjUgOS44Yy0xMy4zIDEyLjEtMjQuNCAyOS42LTU0LjIgNzIuNS0uNSAuNy02LjMgMTAuNS0xMy4xIDAtMjkuMy00Mi4yLTQwLjgtNjAuMy01NC4yLTcyLjUtMTcuNC0xNS44LTUyLjUtOS44LTUyLjUtOS44bDgzLjIgMTIzLjctODMgMTIzLjRzMzYuNiA0LjYgNTQtMTEuMmMxMS41LTEwLjUgMTcuNi0yMC40IDUyLjUtNzAuNyA2LjgtMTAuNSAxMi42LS44IDEzLjEgMCAyOS40IDQyLjQgMzkuMiA1OC4xIDUzLjEgNzAuNyAxNy40IDE1LjggNTMuMyAxMS4yIDUzLjMgMTEuMmwtODMtMTIzLjR6Il19LHJ4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJpbnRlcmNvbSIsaWNvbjpbNDQ4LDUxMixbXSwiZjdhZiIsIk0zOTIgMzJMNTYgMzJDMjUuMSAzMiAwIDU3LjEgMCA4OEwwIDQyNGMwIDMwLjkgMjUuMSA1NiA1NiA1NmwzMzYgMGMzMC45IDAgNTYtMjUuMSA1Ni01NmwwLTMzNmMwLTMwLjktMjUuMS01Ni01Ni01NnpNMjgzLjcgMTE0LjFjMC0xOS44IDI5LjktMTkuOCAyOS45IDBsMCAxOTkuNWMwIDE5LjgtMjkuOSAxOS44LTI5LjkgMGwwLTE5OS41em0tNzQuNi03LjVjMC0xOS44IDI5LjktMTkuOCAyOS45IDBsMCAyMTYuNWMwIDE5LjgtMjkuOSAxOS44LTI5LjkgMGwwLTIxNi41em0tNzQuNyA3LjVjMC0xOS44IDI5LjktMTkuOCAyOS45IDBsMCAxOTkuNWMwIDE5LjgtMjkuOSAxOS44LTI5LjkgMGwwLTE5OS41ek01OS43IDE0NGMwLTE5LjggMjkuOS0xOS44IDI5LjkgMGwwIDEzNC4zYzAgMTkuOC0yOS45IDE5LjgtMjkuOSAwbDAtMTM0LjN6TTM4My4xIDM3MS44Yy03Mi44IDYzLTI0MS43IDY1LjQtMzE4LjEgMC0xNS0xMi44IDQuNC0zNS41IDE5LjQtMjIuNyA2NS45IDU1LjMgMjE2LjEgNTMuOSAyNzkuMyAwIDE0LjktMTIuOSAzNC4zIDkuOCAxOS40IDIyLjd6bTUuMi05My41YzAgMTkuOC0yOS45IDE5LjgtMjkuOSAwbDAtMTM0LjNjMC0xOS44IDI5LjktMTkuOCAyOS45IDBsMCAxMzQuM3oiXX0sc3h0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlYWN0ZXVyb3BlIixpY29uOls1NzYsNTEyLFtdLCJmNzVkIiwiTTI1MC43IDIxMS43bDUuOC00LjEgNS44IDQuMS0yLjEtNi44IDUuNy00LjMtNy4xLS4xLTIuMy02LjgtMi4zIDYuOC03LjIgLjEgNS43IDQuMy0yIDYuOHptNjMuNyAwbDUuOC00LjEgNS44IDQuMS0yLjEtNi44IDUuNy00LjMtNy4yLS4xLTIuMy02LjgtMi4zIDYuOC03LjIgLjEgNS43IDQuMy0xLjkgNi44em0tOTEuMyA1MC41bC0zLjQgMGMtNC44IDAtMy44IDQtMy44IDEyLjEgMCA0LjctMi4zIDYuMS01LjggNi4xcy01LjgtMS40LTUuOC02LjFsMC0zNi42YzAtNC43IDIuMy02LjEgNS44LTYuMXM1LjggMS40IDUuOCA2LjFjMCA3LjItLjcgMTAuNSAzLjggMTAuNWwzLjQgMGM0LjctLjEgMy44LTMuOSAzLjgtMTIuMyAwLTkuOS02LjctMTQuMS0xNi44LTE0LjFsLS4yIDBjLTEwLjEgMC0xNi44IDQuMi0xNi44IDE0LjFsMCA0MC4xYzAgMTAuNCA2LjcgMTQuMSAxNi44IDE0LjFsLjIgMGMxMC4xIDAgMTYuOC0zLjggMTYuOC0xNC4xIDAtOS45IDEuMS0xMy44LTMuOC0xMy44em0tODAuNyAxNy40bC0xNC43IDAgMC0xOS4zIDExLjQgMGMyLjUgMCAzLjgtMS4zIDMuOC0zLjhsMC0yLjFjMC0yLjUtMS4zLTMuOC0zLjgtMy44bC0xMS40IDAgMC0xOC4zIDE0LjQgMGMyLjUgMCAzLjgtMS4zIDMuOC0zLjhsMC0yLjFjMC0yLjUtMS4zLTMuOC0zLjgtMy44bC0yMS43IDBjLTIuNC0uMS0zLjcgMS4zLTMuNyAzLjhsMCA1OS4xYzAgMi41IDEuMyAzLjggMy44IDMuOGwyMS45IDBjMi41IDAgMy44LTEuMyAzLjgtMy44bDAtMi4xYzAtMi41LTEuMy0zLjgtMy44LTMuOHptLTQyLTE4LjVjNC42LTIgNy4zLTYgNy4zLTEyLjRsMC0xMS45YzAtMTAuMS02LjctMTQuMS0xNi44LTE0LjFsLTEzLjQgMGMtMi41IDAtMy44IDEuMy0zLjggMy44bDAgNTkuMWMwIDIuNSAxLjMgMy44IDMuOCAzLjhsMy40IDBjMi41IDAgMy44LTEuMyAzLjgtMy44bDAtMjIuOSA1LjYgMCA3LjQgMjMuNWMuMiAxIC44IDEuOCAxLjYgMi40czEuOCAuOSAyLjcgLjhsMy4zIDBjMi44IDAgNC0xLjggMy4yLTQuNGwtOC4xLTIzLjl6bS0zLjgtMTRjMCA0LjgtMi41IDYuMS02LjEgNi4xbC01LjggMCAwLTIwLjkgNS44IDBjMy42IDAgNi4xIDEuMyA2LjEgNi4xbDAgOC43ek0xNzYuMSAyMjZjLS4xLS41LS4yLTEtLjQtMS40cy0uNi0uOC0xLTEuMS0uOC0uNi0xLjMtLjctMS0uMi0xLjUtLjFsLTYuOSAwYy0uNSAwLTEgMC0xLjQgLjJzLS45IC40LTEuMyAuNy0uNyAuNy0uOSAxLjEtLjQgLjktLjQgMS40bC0xMSA1OS4yYy0uNSAyLjcgLjkgNC4xIDMuNCA0LjFsMyAwYy41IC4xIDEgMCAxLjUtLjJzLjktLjQgMS4zLS43IC43LS43IC45LTEuMiAuNC0uOSAuNC0xLjRsMS44LTExLjMgMTIuMiAwIDEuOCAxMS4zYzAgLjUgLjIgMSAuNCAxLjRzLjUgLjkgLjkgMS4yIC44IC42IDEuMyAuNyAxIC4yIDEuNSAuMmwzLjUgMGMyLjYgMCAzLjktMS40IDMuNC00LjFMMTc2LjEgMjI2em0tMTIuMyAzOS4zbDQuNy0yOS43IDQuNyAyOS43LTkuNCAwem04OS4zIDIwLjJsMC01My4yIDcuNSAwYzIuNSAwIDMuOC0xLjMgMy44LTMuOGwwLTIuMWMwLTIuNS0xLjMtMy44LTMuOC0zLjhsLTI1LjggMGMtMi41IDAtMy44IDEuMy0zLjggMy44bDAgMi4xYzAgMi41IDEuMyAzLjggMy44IDMuOGw3LjMgMCAwIDUzLjJjMCAyLjUgMS4zIDMuOCAzLjggMy44bDMuNCAwYzIuNSAwIDMuOC0xLjMgMy44LTMuOGwwIDB6bTI0OC0uOGwtMTkuNCAwIDAtMjYuNyAxNi4xIDBjLjMgMCAuNSAwIC44LS4xcy41LS4yIC43LS40IC4zLS40IC40LS43IC4xLS41IC4xLS44bDAtLjhjMC0uMyAwLS41LS4xLS44cy0uMi0uNS0uNC0uNy0uNC0uMy0uNy0uNC0uNS0uMS0uOC0uMWwtMTYuMSAwIDAtMjUuOCAxOS4xIDBjLjMgMCAuNSAwIC44LS4xcy41LS4yIC43LS40IC4zLS40IC40LS43IC4xLS41IC4xLS44bDAtLjhjMC0uMyAwLS41LS4xLS44cy0uMi0uNS0uNC0uNy0uNC0uMy0uNy0uNC0uNS0uMS0uOC0uMWwtMjIuMiAwYy0uMy0uMS0uNS0uMS0uOCAwcy0uNSAuMi0uNyAuNC0uMyAuNC0uNCAuNy0uMSAuNS0uMSAuOGwwIDYzYzAgLjMgMCAuNSAuMSAuOHMuMiAuNSAuNCAuNiAuNCAuMyAuNyAuNCAuNSAuMSAuOCAuMWwyMi41IDBjLjMgMCAuNSAwIC44LS4xcy41LS4yIC43LS40IC4zLS40IC40LS42IC4xLS41IC4xLS44bDAtLjhjMC0uMyAwLS41LS4xLS44cy0uMi0uNS0uNC0uNy0uNC0uMy0uNy0uNC0uNS0uMS0uOC0uMWwwIDB6TTQwOCAyMjEuOGwtLjggMGMtMTAuMSAwLTE1LjMgNC43LTE1LjMgMTQuMWwwIDQwLjFjMCA5LjMgNS4yIDE0LjEgMTUuMyAxNC4xbC44IDBjMTAuMSAwIDE1LjMtNC44IDE1LjMtMTQuMWwwLTQwLjFjMC05LjQtNS4yLTE0LjEtMTUuMy0xNC4xbDAgMHptMTAuMiA1Mi40Yy0uMSA4LTMgMTEuMS0xMC41IDExLjFzLTEwLjUtMy4xLTEwLjUtMTEuMWwwLTM2LjZjMC03LjkgMy0xMS4xIDEwLjUtMTEuMXMxMC41IDMuMiAxMC41IDExLjFsMCAzNi42em0tNDYuNS0xNC41YzYuMS0xLjYgOS4yLTYuMSA5LjItMTMuM2wwLTkuN2MwLTkuNC01LjItMTQuMS0xNS4zLTE0LjFsLTEzLjcgMGMtLjMgMC0uNSAwLS44IC4xcy0uNSAuMi0uNyAuNC0uMyAuNC0uNCAuNi0uMSAuNS0uMSAuOGwwIDYzYzAgLjMgMCAuNSAuMSAuOHMuMiAuNSAuNCAuNiAuNCAuMyAuNyAuNCAuNSAuMSAuOCAuMWwxLjIgMGMuMyAwIC41IDAgLjgtLjFzLjUtLjIgLjYtLjQgLjMtLjQgLjQtLjYgLjEtLjUgLjEtLjhsMC0yNi45IDExLjYgMCAxMC40IDI3LjJjLjIgLjUgLjUgLjkgLjkgMS4xcy45IC40IDEuNCAuNGwxLjUgMGMxLjQgMCAyLTEgMS41LTIuM2wtMTAuNi0yNy4zem0tNi40LTMuOWwtMTAuMiAwIDAtMjguNSAxMC4yIDBjNy41IDAgMTAuNSAzLjEgMTAuNSAxMS4xbDAgNi40YzAgNy44LTMgMTEtMTAuNSAxMWwwIDB6bTg1LjktMzMuMWwtMTMuNyAwYy0uMy0uMS0uNS0uMS0uOCAwcy0uNSAuMi0uNyAuNC0uMyAuNC0uNCAuNy0uMSAuNS0uMSAuOGwwIDYzYzAgLjMgMCAuNSAuMSAuOHMuMiAuNSAuNCAuNiAuNCAuMyAuNyAuNCAuNSAuMSAuOCAuMWwxLjIgMGMuMyAwIC41IDAgLjgtLjFzLjUtLjIgLjYtLjQgLjMtLjQgLjQtLjYgLjEtLjUgLjEtLjhsMC0yNi4xIDEwLjYgMGMxMC4xIDAgMTUuMy00LjggMTUuMy0xNC4xbDAtMTAuNWMwLTkuNC01LjItMTQuMS0xNS4zLTE0LjF6bTEwLjIgMjIuOGMwIDcuOS0zIDExLjEtMTAuNSAxMS4xbC0xMC4yIDAgMC0yOS4yIDEwLjIgMGM3LjUtLjEgMTAuNSAzLjEgMTAuNSAxMWwwIDcuMXpNMjU5LjYgMzA4bC0yLjMtNi44LTIuMyA2LjgtNy4xIC4xIDUuNyA0LjMtMi4xIDYuOCA1LjgtNC4xIDUuOCA0LjEtMi4xLTYuOCA1LjctNC4zLTcuMS0uMXpNNDg3LjIgMTcxLjljLTExLjctNC40LTIzLjUtOC4xLTM1LjYtMTEuMyAxOS42LTc4IDExLjYtMTM0LjctMjIuMy0xNTMuOS0zNC41LTE5LjQtODUuOSA0LjMtMTM4LjIgNTUuMiAzLjQgMy4zIDYuOCA2LjcgMTAuMiAxMC4yIDgyLjUtODAgMTE5LjYtNTMuNSAxMjAuOS01Mi44IDIyLjQgMTIuNyAzNiA1NS44IDE1LjUgMTM3LjgtMjcuOC02LjQtNTYuMS0xMC43LTg0LjYtMTMtNzEuOS0xMDAuNS0xNDAuNi0xNDIuMS0xODIuMi0xNDIuMS0zMC44IDAtNDMuOCAyMS00Ny42IDI3LjctMTguMSAzMi0xMy4zIDg0LjIgLjEgMTMzLjgtNzAuNSAyMC4zLTEyMC43IDU0LjEtMTIwLjMgOTUgLjUgNTkuNiAxMDMuMiA4Ny44IDEyMi4xIDkyLjgtMjAuNSA4MS45LTEwLjEgMTM1LjYgMjIuMyAxNTMuOSAyOCAxNS44IDc1LjEgNiAxMzguMi01NS4yLTMuNC0zLjMtNi44LTYuNy0xMC4yLTEwLjItODIuNSA4MC0xMTkuNyA1My41LTEyMC45IDUyLjgtMjIuMy0xMi42LTM2LTU1LjYtMTUuNS0xMzcuOSAxMi40IDIuOSA0MS44IDkuNSA4NC42IDEzIDcxLjkgMTAwLjQgMTQwLjYgMTQyIDE4Mi4xIDE0MiAzMC44IDAgNDMuOC0yMSA0Ny42LTI3LjcgMTgtMzEuOSAxMy4zLTg0LjEtLjEtMTMzLjggMTUyLjMtNDMuOCAxNTYuMi0xMzAuMiAzMy45LTE3Ni4zbDAgMHpNMTM2IDM2LjhjMi45LTUuMSAxMS45LTIwLjMgMzQuOS0yMC4zIDM2LjggMCA5OC44IDM5LjYgMTYzLjMgMTI2LjItMzEuMy0xLjgtNjIuNy0xLjUtOTMuOSAuOSAxMy0xOC4zIDI3LjEtMzUuOCA0Mi4yLTUyLjQtMy40LTMuNS02LjgtNi45LTEwLjItMTAuMi0xOC4zIDIwLjItMzUuMyA0MS43LTUwLjcgNjQuMi0yOC41IDIuNy01Ni43IDcuNi04NC40IDE0LjYtLjItMS40LTI0LjMtODIuMi0xLjItMTIzbDAgMHpNNDQwLjggNDc1LjFjLTIuOSA1LjEtMTEuOCAyMC4zLTM0LjkgMjAuMy0zNi43IDAtOTguNy0zOS40LTE2My4zLTEyNi4yIDMxLjMgMS44IDYyLjcgMS41IDkzLjktLjktMTMgMTguMy0yNy4xIDM1LjgtNDIuMiA1Mi40IDMuNCAzLjUgNi44IDYuOSAxMC4yIDEwLjIgMTguNC0yMC4yIDM1LjMtNDEuNyA1MC43LTY0LjIgNDcuMy00LjcgODAuMy0xMy41IDg0LjQtMTQuNiAyMi43IDg0LjQgNC41IDExNyAxLjIgMTIzem05LjEtMTM4LjZjLTMuNi0xMS45LTcuNy0yNC4xLTEyLjQtMzYuNC0yLjEgMC00LjItLjUtNi4xLTEuNXMtMy41LTIuNC00LjYtNC4ybC0uMSAuMWMtMS42IDEuNS0zLjQgMi43LTUuNCAzLjYgNS43IDE0LjMgMTAuNiAyOC40IDE0LjcgNDIuMi0yMy43IDYtNDcuNyAxMC4zLTcyIDEzIDMuNS01LjMgMTcuMi0yNi4yIDMyLjItNTQuMi0yLjEtLjgtNC4yLTEuOS02LTMuMi0xLjEgMS4yLTMuNiA0LjItMTAuOSA0LjItNi4yIDExLjItMTcuNCAzMC45LTMzLjkgNTUuMi0zNy40IDMuMy03NSAzLjYtMTEyLjQgMS03LjktMTEuMi0yMS41LTMxLjEtMzYuOC01Ny44LTEtLjQtMi0uOS0zLTEuNS0xLjkgMS42LTMuOSAzLjItMTIuNiAzLjIgNi4zIDExLjIgMTcuNSAzMC43IDMzLjggNTQuNi0yNC4zLTIuMy00OC40LTYuMi03Mi4yLTExLjcgMy45LTE0IDguNi0yOC4zIDE0LjEtNDIuOS0zLjIgMC01LjQgLjItOC40LTEtMi4yIC44LTQuNiAxLjEtNi45IDEtNC45IDEzLjQtOS4xIDI2LjUtMTIuNyAzOS40LTE1OS45LTQyLjYtMTQwLjMtMTIzLjYtMS41LTE2NCAzLjYgMTEuOSA3LjcgMjQuMSAxMi40IDM2LjQgMTAuNCAwIDEyLjkgMy40IDE0LjQgNS4zIC43LS44IDEuNC0xLjYgMi4zLTIuMi01LjgtMTQuNy0xMC45LTI5LjItMTUuMi00My4zIDctMS44IDMyLjQtOC40IDcyLTEzLTE1LjkgMjQuMy0yNi43IDQzLjktMzIuOCA1NS4zIDMuMSAxLjggNS4zIDQuNiA2LjQgOCAyLjUtMy43IDYuMS02LjYgMTAuMi04LjQgNi41LTExLjcgMTcuOS0zMS45IDM0LjgtNTYuOSAzNy40LTMuMyA3NS0zLjYgMTEyLjQtMSAzMS41IDQ0LjYgMjguOSA0OC4xIDQyLjUgNjQuNSAyLjYtMy41IDYuMy02IDEwLjQtNy40LTYuNC0xMS40LTE3LjYtMzEtMzQuMy01NS41IDQwLjQgNC4xIDY1IDEwIDcyLjIgMTEuNy00IDE0LjQtOC45IDI5LjItMTQuNiA0NC4yIDIuNSAxIDQuOCAyLjQgNi44IDQuM2wuMSAuMWMxLTEuNSAyLjMtMi44IDMuOC0zLjhzMy4zLTEuNiA1LjEtMS44YzQuOS0xMy40IDkuMi0yNi42IDEyLjgtMzkuNSAxMS43IDMuMSAyMy4yIDYuOCAzNC41IDExIDEwNi4xIDM5LjkgNzQgODcuOSA3Mi42IDkwLjQtMTkuOCAzNS4xLTgwLjEgNTUuMi0xMDUuNyA2Mi41em0tMTE0LjQtMTE0bC0xLjIgMGMtLjMgMC0uNSAwLS44IC4xcy0uNSAuMi0uNiAuNC0uMyAuNC0uNCAuNi0uMSAuNS0uMSAuOGwwIDQ5LjhjMCA3LjktMi42IDExLjEtMTAuMSAxMS4xcy0xMC4xLTMuMS0xMC4xLTExLjFsMC00OS44YzAtLjMgMC0uNS0uMS0uOHMtLjItLjUtLjQtLjctLjQtLjMtLjctLjQtLjUtLjEtLjgtLjFsLTEuMiAwYy0uMyAwLS41IDAtLjggLjFzLS41IC4yLS43IC40LS4zIC40LS40IC42LS4xIC41LS4xIC44bDAgNTEuNWMwIDkuNiA1IDE0LjEgMTUuMSAxNC4xbC40IDBjMTAuMSAwIDE1LjEtNC42IDE1LjEtMTQuMWwwLTUxLjVjMC0uMy0uMS0uNS0uMi0uOHMtLjMtLjUtLjUtLjYtLjQtLjMtLjctLjQtLjUtLjEtLjgtLjF6TTMyMS44IDMwOGwtMi4zLTYuOC0yLjMgNi44LTcuMSAuMSA1LjcgNC4zLTIuMSA2LjggNS44LTQuMSA1LjggNC4xLTIuMS02LjggNS43LTQuMy03LjEtLjF6bS0zMS4xIDcuNGwtMi4zLTYuOC0yLjMgNi44LTcuMSAuMSA1LjcgNC4zLTIuMSA2LjggNS44LTQuMSA1LjggNC4xLTIuMS02LjggNS43LTQuMy03LjEtLjF6bTUuMS0zMC44bC0xOS40IDAgMC0yNi43IDE2LjEgMGMuMyAwIC41IDAgLjgtLjFzLjUtLjIgLjctLjQgLjMtLjQgLjQtLjcgLjEtLjUgLjEtLjhsMC0uOGMwLS4zIDAtLjUtLjEtLjhzLS4yLS41LS40LS43LS40LS4zLS43LS40LS41LS4xLS44LS4xbC0xNi4xIDAgMC0yNS44IDE5LjEgMGMuMyAwIC41IDAgLjgtLjFzLjUtLjIgLjctLjQgLjMtLjQgLjQtLjcgLjEtLjUgLjEtLjhsMC0uOGMwLS4zIDAtLjUtLjEtLjhzLS4yLS41LS40LS43LS40LS4zLS43LS40LS41LS4xLS44LS4xbC0yMi4yIDBjLS4zIDAtLjUgMC0uOCAuMXMtLjUgLjItLjcgLjQtLjMgLjQtLjQgLjYtLjEgLjUtLjEgLjhsMCA2M2MwIC4zIDAgLjUgLjEgLjhzLjIgLjUgLjQgLjYgLjQgLjMgLjcgLjQgLjUgLjEgLjggLjFsMjIuNSAwYy4zIDAgLjUgMCAuOC0uMXMuNS0uMiAuNy0uNCAuMy0uNCAuNC0uNyAuMS0uNSAuMS0uOGwwLS44YzAtLjMgMC0uNi0uMS0uOHMtLjItLjUtLjQtLjctLjQtLjQtLjctLjQtLjUtLjEtLjgtLjFsMCAwem0tNy40LTk5LjRsLTIuMyA2LjgtNy4xIC4xIDUuNyA0LjMtMi4xIDYuOCA1LjgtNC4xIDUuOCA0LjEtMi4xLTYuOCA1LjctNC4zLTcuMS0uMS0yLjMtNi44eiJdfSxpeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2F6ZSIsaWNvbjpbNTEyLDUxMixbXSwiZjgzZiIsIk01MDIuNiAyMDEuN2MxNC41IDg1LjktMzAuOSAxNjcuOS0xMTMuMiAyMDguMSAxMyAzNC4xLTEyLjQgNzAuMi00OC4zIDcwLjItMTMuMiAwLTI2LTUuMS0zNS42LTE0LjJzLTE1LjMtMjEuNi0xNi0zNC44Yy02LjQgLjItNjQuMiAwLTc2LjMtLjYtLjMgNi44LTEuOSAxMy41LTQuNyAxOS42cy02LjkgMTEuNy0xMS45IDE2LjMtMTAuOCA4LjItMTcuMiAxMC41LTEzLjIgMy40LTE5LjkgMy4xYy0zMy45LTEuNC01OC0zNC44LTQ3LTY3LjktMzcuMi0xMy4xLTcyLjUtMzQuOS05OS42LTcwLjgtMTMtMTcuMy0uNS00MS44IDIwLjgtNDEuOCA0Ni4zIDAgMzIuMi01NC4yIDQzLjItMTEwLjMgMTguNC05My45IDExNi44LTE1Ny4xIDIxMS43LTE1Ny4xIDEwMi41IDAgMTk3LjIgNzAuNyAyMTQuMSAxNjkuN3pNMzczLjkgMzg4LjNjNDItMTkuMiA4MS4zLTU2LjcgOTYuMy0xMDIuMSA0MC41LTEyMy4xLTY0LjItMjI4LTE4MS43LTIyOC04My40IDAtMTcwLjMgNTUuNC0xODYuMSAxMzYtOS41IDQ4LjkgNSAxMzEuNC02OC43IDEzMS40IDI0LjkgMzMuMSA1OC4zIDUyLjYgOTMuNyA2NCAyNC43LTIxLjggNjMuOS0xNS41IDc5LjggMTQuMyAxNC4yIDEgNzkuMiAxLjIgODcuOSAuOCAzLjUtNi45IDguNS0xMi45IDE0LjctMTcuNXMxMy4yLTcuOSAyMC44LTkuNSAxNS40LTEuNCAyMi45IC40IDE0LjUgNS4zIDIwLjUgMTAuMnpNMjA1LjUgMTg3LjFjMC0zNC43IDUwLjgtMzQuNyA1MC44IDBzLTUwLjggMzQuNy01MC44IDB6bTExNi42IDBjMC0zNC43IDUwLjktMzQuNyA1MC45IDBzLTUwLjkgMzQuOC01MC45IDB6TTE5OS41IDI1Ny44Yy0zLjQtMTYuOSAyMi4yLTIyLjIgMjUuNi01LjJsLjEgLjNjNC4xIDIxLjQgMjkuOCA0NCA2NC4xIDQzLjEgMzUuNy0uOSA1OS4zLTIyLjIgNjQuMS00Mi44IDQuNS0xNi4xIDI4LjYtMTAuNCAyNS41IDYtNS4yIDIyLjItMzEuMiA2Mi05MS41IDYyLjktNDIuNiAwLTgwLjktMjcuOC04Ny45LTY0LjJsMCAweiJdfSxveHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1yZW1peCIsaWNvbjpbNTEyLDUxMixbXSwiZjRlZSIsIk0yNTUuNiA4QzM5Ny40IDggNTA0IDExOC4xIDUwNCAyNTYgNTA0IDQwMy4xIDM4NS41IDUwNCAyNTUuNiA1MDQgMTIxLjYgNTA0IDggMzk0LjUgOCAyNTYgOCAxMjMuMSAxMTIuNyA4IDI1NS42IDh6bS44IDQ0LjdjLTExOC4yIDAtMjAzLjcgOTcuOS0yMDMuNyAyMDMuMyAwIDEwOS44IDkxLjIgMjAyLjggMjAzLjcgMjAyLjggMTAzLjIgMCAyMDIuOC04MS4xIDIwMi44LTIwMi44IC4xLTExMy44LTkwLjItMjAzLjMtMjAyLjgtMjAzLjN6TTQxOC4xIDI2MC40bDQuOSAyLjIgMCA3MGMtNy4yIDMuNi02My40IDI3LjUtNjcuMyAyOC44LTYuNS0xLjgtMTEzLjctNDYuOC0xMzcuMy01Ni4ybC02NC4yIDI2LjYtNjMuMy0yNy41IDAtNjMuOCA1OS4zLTI0LjhjLS43LS43LS40IDUtLjQtNzAuNGw2Ny4zLTI5LjcgMTUxLjkgNjIuOSAwIDYxLjYgNDkuMSAyMC4zem0tNzAuNCA4MS41bDAtNDMuOC0uNCAwIDAtMS44LTExMy44LTQ2LjUgMCA0NS4yIDExMy44IDQ2LjkgMC0uNCAuNCAuNHptNy41LTU3LjZsMzkuOS0xNi40LTM2LjgtMTUuNS0zOSAxNi40IDM1LjkgMTUuNXptNTIuMyAzOC4xbDAtNDMtNDQuMyAxOC42IDAgNDMuNCA0NC4zLTE5eiJdfSxueHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmFuZGNhbXAiLGljb246WzUxMiw1MTIsW10sImYyZDUiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2em00OC4yIDMyNi4xbC0xODEgMCA4NC43LTE1Ni4xIDE4MSAwLTg0LjcgMTU2LjF6Il19LGx4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtd2ViLWF3ZXNvbWUtc3Ryb2tlIixpY29uOls0NDgsNTEyLFtdLCJlNjg0IiwiTTY0IDY0QzQ2LjMgNjQgMzIgNzguMyAzMiA5NmwwIDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyMGMwLTE3LjctMTQuMy0zMi0zMi0zMkw2NCA2NHpNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTIzNSA4MS42bDUzIDQ2LjQgNTIuMi0xMC40Yy0yLjYtMy45LTQuMi04LjUtNC4yLTEzLjYgMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGMwIDEzLTEwLjMgMjMuNi0yMy4yIDI0TDMwNC41IDM0OS4xYy01LjIgMTEuNS0xNi42IDE4LjktMjkuMiAxOC45bC0xMDIuNiAwYy0xMi42IDAtMjQtNy40LTI5LjItMTguOUw4Ny4yIDIyNGMtMTIuOS0uNC0yMy4yLTExLTIzLjItMjQgMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGMwIDUtMS41IDkuNy00LjIgMTMuNkwxNjAgMjI0IDIxMy4xIDE3Ny42Yy04LjktNC4xLTE1LTEzLjEtMTUtMjMuNiAwLTE0LjQgMTEuNi0yNiAyNi0yNnMyNiAxMS42IDI2IDI2YzAgMTAuNS02LjIgMTkuNS0xNS4xIDIzLjZ6Il19LGN4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2aW1lby12IixpY29uOls0NDgsNTEyLFtdLCJmMjdkIiwiTTQ0Ny44IDE1My42Yy0yIDQzLjYtMzIuNCAxMDMuMy05MS40IDE3OS4xLTYwLjkgNzkuMi0xMTIuNCAxMTguOC0xNTQuNiAxMTguOC0yNi4xIDAtNDguMi0yNC4xLTY2LjMtNzIuMy0zNS4yLTEyOS4yLTUwLjItMjA0LjktNzkuMy0yMDQuOS0zLjQgMC0xNS4xIDcuMS0zNS4yIDIxLjFMMCAxNjguMmM1MS42LTQ1LjMgMTAwLjktOTUuNyAxMzEuOC05OC41IDM0LjktMy40IDU2LjMgMjAuNSA2NC40IDcxLjUgMjguNyAxODEuNSA0MS40IDIwOC45IDkzLjYgMTI2LjcgMTguNy0yOS42IDI4LjgtNTIuMSAzMC4yLTY3LjYgNC44LTQ1LjktMzUuOC00Mi44LTYzLjMtMzEgMjItNzIuMSA2NC4xLTEwNy4xIDEyNi4yLTEwNS4xIDQ1LjggMS4yIDY3LjUgMzEuMSA2NC45IDg5LjR6Il19LGR4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdHJhdmEiLGljb246WzM4NCw1MTIsW10sImY0MjgiLCJNMTU4LjQgMEw3IDI5MiA5Ni4yIDI5MiAxNTguNCAxNzUuOSAyMjAuMSAyOTIgMzA4LjYgMjkyIDE1OC40IDB6TTMwOC42IDI5MmwtNDMuOSA4OC4yLTQ0LjYtODguMi02Ny42IDAgMTEyLjIgMjIwIDExMS41LTIyMC02Ny42IDB6Il19LHV4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bmlyZWdpc3RyeSIsaWNvbjpbMzg0LDUxMixbXSwiZjQwNCIsIk0xOTIgNDgwYzM5LjUgMCA3Ni4yLTExLjggMTA2LjgtMzIuMmwtMjEzLjUgMEMxMTUuOCA0NjguMiAxNTIuNSA0ODAgMTkyIDQ4MHpNMTAyLjkgMjg2LjlsMC0xMi40LTEwMi45IDAgMCAxMi40YzAgMi41IDAgNSAuMSA3LjRsMTAzLjEgMGMtLjItMi40LS4zLTQuOS0uMy03LjR6bTIwLjUgNTdsLTExNC45IDBjMi42IDguNSA1LjggMTYuOCA5LjYgMjQuOGwxMzguMyAwYy0xMi45LTUuNy0yNC4xLTE0LjItMzMtMjQuOHptLTE3LjctMzQuN2wtMTA0LjQgMGMuOSA3LjYgMi4yIDE1IDMuOSAyMi4zbDEwOS43IDBjLTQtNi45LTcuMi0xNC40LTkuMi0yMi4zem0tMi44LTY5LjNsLTEwMi45IDAgMCAxNy4zIDEwMi45IDAgMC0xNy4zem0wLTE3My4ybC0xMDIuOSAwIDAgNC45IDEwMi45IDAgMC00Ljl6bTAtMzQuN2wtMTAyLjkgMCAwIDIuNSAxMDIuOSAwIDAtMi41em0wIDY5LjNsLTEwMi45IDAgMCA3LjQgMTAyLjkgMCAwLTcuNHptMCAxMDRsLTEwMi45IDAgMCAxNC44IDEwMi45IDAgMC0xNC44em0wLTY5LjNsLTEwMi45IDAgMCA5LjkgMTAyLjkgMCAwLTkuOXptMCAzNC42bC0xMDIuOSAwIDAgMTIuNCAxMDIuOSAwIDAtMTIuNHpNMjY5LjEgMzMxLjVsMTA5LjcgMGMxLjgtNy4zIDMuMS0xNC43IDMuOS0yMi4zbC0xMDQuNCAwYy0yLjEgNy45LTUuMiAxNS40LTkuMiAyMi4zem0xMi0xODUuN2wxMDIuOSAwIDAtOS44LTEwMi45IDAgMCA5Ljh6bTAgMzcuMmwxMDIuOSAwIDAtMTIuNC0xMDIuOSAwIDAgMTIuNHptMC03NC4zbDEwMi45IDAgMC03LjQtMTAyLjkgMCAwIDcuNHptMC03Ni43bDAgMi41IDEwMi45IDAgMC0yLjUtMTAyLjkgMHpNNzguMSA0NDIuOWwyMjcuNyAwYzExLjgtOC43IDIyLjctMTguNiAzMi4yLTI5LjdsLTI5My4xIDBjOS42IDExIDIxLjQgMjEgMzMuMiAyOS43em0yMDMtMzcxLjNsMTAyLjkgMCAwLTQuOS0xMDIuOSAwIDAgNC45em0wIDE0OC41bDEwMi45IDAgMC0xNC44LTEwMi45IDAgMCAxNC44ek0zOC44IDQwNS43bDMwNS4zIDBjNi43LTguNSAxMi42LTE3LjYgMTcuOC0yNy4yTDIzIDM3OC41YzUuMiA5LjYgOS4yIDE4LjcgMTUuOCAyNy4yem0xODguOC0zNy4xbDEzOS40IDBjMy43LTggNS44LTE2LjIgOC41LTI0LjhsLTExNSAwYy04LjggMTAuNy0yMC4xIDE5LjItMzIuOSAyNC44em01My41LTgxLjdjMCAyLjUtLjEgNS0uNCA3LjRsMTAzLjEgMGMuMS0yLjUgLjItNC45IC4yLTcuNGwwLTEyLjQtMTAyLjkgMCAwIDEyLjR6bTAtMjkuN2wxMDIuOSAwIDAtMTcuMy0xMDIuOSAwIDAgMTcuM3oiXX0scHh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLWRpbmVycy1jbHViIixpY29uOls1NzYsNTEyLFtdLCJmMjRjIiwiTTIzOS43IDc5LjlhMTc1LjggMTc1LjggMCAxIDAgMCAzNTEuNiAxNzUuOCAxNzUuOCAwIDEgMCAwLTM1MS42ek0xOTkuOCAzNTkuNWMtNDEuNy0xNS45LTcxLjQtNTYuNC03MS40LTEwMy44czI5LjctODcuOSA3MS40LTEwNC4xbDAgMjA3Ljl6bTc5LjggLjNsMC0yMDguMmM0MS43IDE2LjIgNzEuNCA1Ni43IDcxLjQgMTA0LjFzLTI5LjcgODcuOS03MS40IDEwNC4xek01MjggMzJMNDggMzJDMjEuNSAzMiAwIDUzLjUgMCA4MEwwIDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw0ODAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM1MmMwLTI2LjUtMjEuNS00OC00OC00OHpNMzI5LjcgNDQ4bC05MC4zIDBDMTMzLjIgNDQ4IDQ1LjYgMzYyLjUgNDUuNiAyNTcuOCA0NS42IDE0My4yIDEzMy4yIDY0IDIzOS40IDY0bDkwLjMgMGMxMDUgMCAyMDAuNyA3OS4yIDIwMC43IDE5My44IDAgMTA0LjctOTUuNyAxOTAuMi0yMDAuNyAxOTAuMnoiXX0sZnh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imt1YmVybmV0ZXMiLGljb246WzUxMiw1MTIsW10sImU4NTciLCJNMjU2IDMxNi4xYzMuNS0uMSA3LjIgMiA4LjkgNS4xTDI5MyAzNzEuN2MtMy42IDEuMi03LjMgMi4zLTExLjIgMy4xLTIxLjQgNC45LTQyLjcgMy40LTYyLTMuMmwyNy45LTUwLjRjMS43LTMuMSA0LjktNSA4LjItNS4xem01MC41LTIzLjRsNTcuMiA5LjdjLTguNCAyMy41LTI0LjQgNDMuOS00NS44IDU3LjVsLTIyLjItNTMuNmMtMi00LjcgLjEtMTAuNCA0LjgtMTIuNiAxLjktLjkgNC4xLTEuMyA2LS45em0tODkuMSA3LjdjLjUgMi4xIC4zIDQuMi0uNSA2bC0yMS44IDUzLjNjLTIwLjUtMTMuMi0zNi45LTMyLjktNDUuNy01Ny4xbDU2LjctOS42YzUuMS0uOSAxMC4xIDIuNCAxMS4zIDcuNXptNTguOC00MWwtMy45IDE3LjEtMTUuOCA3LjYtMTUuOS03LjctNC0xNy4xIDExLTEzLjcgMTcuNyAwIDExIDEzLjd6bS03My43LTE2LjdjMy45IDMuNCA0LjQgOS41IDEuMiAxMy42LTEuMyAxLjctMy4xIDIuOC01IDMuM2wtNTUuMyAxNi4yYy0yLjgtMjUuNyAzLjMtNTAuNyAxNi4xLTcxLjZsNDMuMSAzOC42em0xNTAuNy0zOC41YzYuNCAxMC40IDExLjIgMjIgMTQuMSAzNC42IDIuOSAxMi40IDMuNiAyNC44IDIuNCAzNi44bC01NS42LTE2Yy01LTEuNC04LjEtNi43LTYuOS0xMS43IC41LTIuMSAxLjYtMy44IDMuMS01LjFsNDIuOS0zOC41em0tMTEzLjggNC40Yy0uMiA1LjItNC43IDkuNC05LjkgOS40LTIuMSAwLTQuMS0uNy01LjctMS44bC00Ny4zLTMzLjRjMTQuNS0xNC4zIDMzLjEtMjQuOCA1NC41LTI5LjcgMy45LS45IDcuOC0xLjYgMTEuNy0ybC0zLjMgNTcuNnptMzAuOC01Ny42YzI1IDMuMSA0OC4xIDE0LjQgNjUuOCAzMS43bC00Ny4xIDMzLjJjLTQuMiAzLTEwIDIuMy0xMy4zLTEuOC0xLjMtMS43LTItMy42LTIuMS01LjZsLTMuMy01Ny41ek0yNTQuNS0xLjNjNS45LS4zIDExLjcgLjkgMTcgMy40TDQ1NSA4OS43YzQuNyAyLjMgOC45IDUuNiAxMi4yIDkuN3M1LjYgOC44IDYuOCAxMy45bDQ1LjMgMTk2LjljMS4yIDUuMSAxLjIgMTAuNCAwIDE1LjVzLTMuNSA5LjktNi44IDEzLjlMMzg1LjYgNDk3LjZjLTMuMyA0LjEtNy41IDcuNC0xMi4yIDkuNnMtMTAgMy40LTE1LjIgMy40bC0yMDMuNiAwYy01LjMgMC0xMC41LTEuMi0xNS4yLTMuNHMtOC45LTUuNS0xMi4yLTkuNkwuMiAzMzkuN2MtLjctLjktMS40LTEuOC0yLTIuOC0yLjYtMy45LTQuMy04LjMtNS4xLTEyLjlzLS43LTkuMyAuMy0xMy44TDM4LjcgMTEzLjRjMS4yLTUuMSAzLjUtOS45IDYuOC0xMy45czcuNS03LjQgMTIuMi05LjdMMjQxLjEgMi4xYzQuMi0yIDguOC0zLjIgMTMuNC0zLjR6bTEuOCA2N2MtNi4xIDAtMTEgNS41LTExIDEyLjIgMCAuMSAwIC4yIDAgLjMgMCAuOS0uMSAyIDAgMi44IC4xIDMuOSAxIDYuOSAxLjUgMTAuNCAuOSA3LjcgMS43IDE0IDEuMiAxOS45LS41IDIuMi0yLjEgNC4zLTMuNiA1LjdsLS4yIDQuNmMtNi42IC41LTEzLjIgMS42LTE5LjggMy4xLTI4LjUgNi41LTUzLjEgMjEuMS03MS44IDQxLTEuMi0uOC0zLjMtMi4zLTQtMi44LTIgLjMtNCAuOS02LjUtLjYtNC45LTMuMy05LjQtNy45LTE0LjgtMTMuNC0yLjUtMi42LTQuMy01LjEtNy4yLTcuNy0uNy0uNi0xLjctMS40LTIuNC0yLTIuMy0xLjgtNS0yLjgtNy43LTIuOS0zLjQtLjEtNi42IDEuMi04LjggMy45LTMuOCA0LjctMi41IDEyIDIuNyAxNi4yIC4xIDAgLjEgLjEgLjIgLjEgLjcgLjYgMS42IDEuMyAyLjMgMS44IDMuMSAyLjMgNiAzLjUgOS4xIDUuMyA2LjYgNC4xIDEyIDcuNCAxNi4zIDExLjUgMS43IDEuOCAyIDQuOSAyLjIgNi4zbDMuNSAzLjJjLTE4LjggMjguNC0yNy42IDYzLjQtMjIuNCA5OS4xbC00LjYgMS4zYy0xLjIgMS42LTIuOSA0LTQuNyA0LjctNS42IDEuOC0xMiAyLjQtMTkuNyAzLjMtMy42IC4zLTYuNyAuMS0xMC41IC44LS44IC4yLTIgLjQtMi45IC43bC0uMSAwLS4yIC4xYy02LjUgMS42LTEwLjcgNy41LTkuMyAxMy40IDEuMyA1LjkgNy43IDkuNCAxNC4yIDhsLjIgMGMuMSAwIC4xLS4xIC4yLS4xIC45LS4yIDIuMS0uNCAyLjgtLjYgMy44LTEgNi41LTIuNSA5LjgtMy44IDcuMy0yLjYgMTMuMy00LjggMTkuMi01LjYgMi40LS4yIDUgMS41IDYuMyAyLjJsNC44LS44YzExIDM0LjEgMzQuMSA2MS43IDYzLjMgNzkuMWwtMiA0LjhjLjcgMS45IDEuNSA0LjQgMSA2LjItMi4xIDUuNS01LjggMTEuNC05LjkgMTcuOS0yIDMtNC4xIDUuMy01LjkgOC44LS40IC44LTEgMi4xLTEuNCAzLTIuOCA2LS44IDEzIDQuNyAxNS42IDUuNSAyLjYgMTIuMi0uMSAxNS4yLTYuMmwwIDBjLjQtLjkgMS0yIDEuNC0yLjggMS42LTMuNiAyLjEtNi42IDMuMi0xMC4xIDIuOS03LjMgNC41LTE0LjkgOC41LTE5LjcgMS4xLTEuMyAyLjktMS44IDQuOC0yLjNsMi41LTQuNWMyNS41IDkuOCA1NCAxMi40IDgyLjUgNS45IDYuNS0xLjUgMTIuOC0zLjQgMTguOC01LjcgLjcgMS4yIDIgMy42IDIuMyA0LjIgMS45IC42IDMuOSAuOSA1LjYgMy40IDMgNS4xIDUgMTEuMiA3LjUgMTguNSAxLjEgMy40IDEuNiA2LjUgMy4yIDEwLjEgLjQgLjggMSAyIDEuNCAyLjggMi45IDYuMSA5LjcgOC44IDE1LjIgNi4yIDUuNC0yLjYgNy41LTkuNiA0LjctMTUuNi0uNC0uOS0xLTIuMS0xLjQtMy0xLjgtMy40LTMuOS01LjctNS45LTguNy00LjItNi41LTcuNi0xMS45LTkuOC0xNy40LS45LTIuOCAuMi00LjYgLjgtNi41LS40LS41LTEuMy0zLjItMS44LTQuNCAzMC40LTE3LjkgNTIuOC00Ni42IDYzLjMtNzkuNiAxLjQgLjIgMy45IC43IDQuNyAuOCAxLjctMS4xIDMuMi0yLjUgNi4yLTIuMyA1LjkgLjggMTEuOSAzIDE5LjIgNS42IDMuNCAxLjMgNi4xIDIuOCA5LjggMy44IC44IC4yIDEuOSAuNCAyLjggLjYgLjEgMCAuMSAwIC4yIC4xbC4yIDBjNi41IDEuNCAxMi44LTIuMiAxNC4yLThzLTIuOC0xMS44LTkuMy0xMy40Yy0uOS0uMi0yLjMtLjYtMy4yLS43LTMuOC0uNy02LjktLjUtMTAuNS0uOC03LjctLjgtMTQtMS40LTE5LjctMy4yLTIuMy0uOS00LTMuNy00LjgtNC44bC00LjQtMS4zYzIuMy0xNi42IDEuNy0zMy45LTIuMy01MS4zLTQtMTcuNS0xMS4xLTMzLjUtMjAuNi00Ny42IDEuMS0xIDMuMy0yLjkgMy45LTMuNSAuMi0yIDAtNCAyLjEtNi4yIDQuMy00LjEgOS44LTcuNCAxNi4zLTExLjUgMy4xLTEuOCA2LTMgOS4xLTUuMyAuNy0uNSAxLjctMS4zIDIuNC0xLjkgNS4zLTQuMiA2LjUtMTEuNCAyLjctMTYuMnMtMTEuMS01LjItMTYuNC0xYy0uNyAuNi0xLjggMS40LTIuNCAyLTIuOSAyLjUtNC44IDUtNy4yIDcuNy01LjQgNS41LTkuOSAxMC4xLTE0LjggMTMuNC0yLjEgMS4yLTUuMyAuOC02LjcgLjdsLTQuMiAzYy0yMy44LTI1LTU2LjItNDEtOTEuMi00NC4xLS4xLTEuNS0uMi00LjEtLjItNC45LTEuNC0xLjQtMy4yLTIuNS0zLjYtNS41LS41LTUuOSAuMy0xMi4zIDEuMy0xOS45IC41LTMuNiAxLjQtNi42IDEuNS0xMC40IDAtLjkgMC0yLjIgMC0zLjEgMC02LjctNC45LTEyLjItMTEtMTIuMnoiXX0saHh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBpbnRlcmVzdCIsaWNvbjpbNTEyLDUxMixbXSwiZjBkMiIsIk01MDQgMjU2YzAgMTM3LTExMSAyNDgtMjQ4IDI0OC0yNS42IDAtNTAuMi0zLjktNzMuNC0xMS4xIDEwLjEtMTYuNSAyNS4yLTQzLjUgMzAuOC02NSAzLTExLjYgMTUuNC01OSAxNS40LTU5IDguMSAxNS40IDMxLjcgMjguNSA1Ni44IDI4LjUgNzQuOCAwIDEyOC43LTY4LjggMTI4LjctMTU0LjMgMC04MS45LTY2LjktMTQzLjItMTUyLjktMTQzLjItMTA3IDAtMTYzLjkgNzEuOC0xNjMuOSAxNTAuMSAwIDM2LjQgMTkuNCA4MS43IDUwLjMgOTYuMSA0LjcgMi4yIDcuMiAxLjIgOC4zLTMuMyAuOC0zLjQgNS0yMC4zIDYuOS0yOC4xIC42LTIuNSAuMy00LjctMS43LTcuMS0xMC4xLTEyLjUtMTguMy0zNS4zLTE4LjMtNTYuNiAwLTU0LjcgNDEuNC0xMDcuNiAxMTItMTA3LjYgNjAuOSAwIDEwMy42IDQxLjUgMTAzLjYgMTAwLjkgMCA2Ny4xLTMzLjkgMTEzLjYtNzggMTEzLjYtMjQuMyAwLTQyLjYtMjAuMS0zNi43LTQ0LjggNy0yOS41IDIwLjUtNjEuMyAyMC41LTgyLjYgMC0xOS0xMC4yLTM0LjktMzEuNC0zNC45LTI0LjkgMC00NC45IDI1LjctNDQuOSA2MC4yIDAgMjIgNy40IDM2LjggNy40IDM2LjhzLTI0LjUgMTAzLjgtMjkgMTIzLjJDMTYxLjUgNDM3LjIgMTYzLjUgNDY3LjQgMTY1LjYgNDg3IDczLjQgNDUwLjkgOCAzNjEuMSA4IDI1NiA4IDExOSAxMTkgOCAyNTYgOFM1MDQgMTE5IDUwNCAyNTZ6Il19LG14dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhbGdvbGlhIixpY29uOls1MTIsNTEyLFtdLCJmMzZjIiwiTTI1NiAwYy0xMzkuOSAwLTI1NCAxMTIuNy0yNTYgMjUyLjEtMiAxNDEuNSAxMTIuOSAyNTguNyAyNTQuNSAyNTkuNSA0My43IC4zIDg1LjktMTAuNCAxMjMuMy0zMC43IDMuNi0yIDQuMi03IDEuMS05LjdsLTI0LTIxLjJjLTQuOS00LjMtMTEuOC01LjUtMTcuOC0zLTI2LjEgMTEuMS01NC41IDE2LjgtODMuNyAxNi40LTExNC40LTEuNS0yMDYuOS05Ni42LTIwNS4xLTIxMSAxLjgtMTEyLjkgOTQuMy0yMDQuMiAyMDcuNy0yMDQuMmwyMDcuNyAwIDAgMzY5LTExNy44LTEwNC43Yy0zLjgtMy40LTkuNy0yLjctMTIuNyAxLjMtMTguOSAyNS00OS43IDQwLjYtODMuOSAzOC4yLTQ3LjUtMy4zLTg1LjktNDEuNS04OS41LTg4LjktNC4yLTU2LjYgNDAuNi0xMDMuOSA5Ni4zLTEwMy45IDUwLjQgMCA5MS45IDM4LjggOTYuMiA4OCAuNCA0LjQgMi40IDguNSA1LjcgMTEuNGwzMC43IDI3LjJjMy41IDMuMSA5IDEuMiA5LjktMy40IDIuMi0xMS44IDMtMjQuMiAyLjEtMzYuOC00LjktNzItNjMuMy0xMzAtMTM1LjQtMTM0LjQtODIuNy01LjEtMTUxLjggNTkuNS0xNTQgMTQwLjYtMi4xIDc4LjkgNjIuNiAxNDcgMTQxLjYgMTQ4LjcgMzMgLjcgNjMuNi05LjYgODguMy0yNy42TDQ5NSA1MDkuNGM2LjYgNS44IDE3IDEuMiAxNy03LjdsMC00OTJjMC01LjQtNC40LTkuNy05LjctOS43TDI1NiAweiJdfSxneHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3RhY2twYXRoIixpY29uOls0NDgsNTEyLFtdLCJmODQyIiwiTTI0NC42IDIzMi40YzAgOC41LTQuMyAyMC41LTIxLjMgMjAuNWwtMTkuNiAwIDAtNDEuNSAxOS42IDBjMTcuMSAwIDIxLjMgMTIuNCAyMS4zIDIxek00NDggMzJsMCA0NDgtNDQ4IDAgMC00NDggNDQ4IDB6TTE1MS4zIDI4Ny44YzAtMjEuMi0xMi4xLTM0LjUtNDYuNy00NC44LTIwLjYtNy40LTI2LTEwLjktMjYtMTguNnM3LTE0LjYgMjAuNC0xNC42YzE0LjEgMCAyMC44IDguNCAyMC44IDE4LjRsMzAuNyAwIC4yLS42Yy41LTE5LjYtMTUuMS00MS42LTUxLjEtNDEuNi0yMy40IDAtNTIuNiAxMC44LTUyLjYgMzguMyAwIDE5LjQgOS4yIDMxLjMgNTAuNyA0NC40IDE3LjMgNi4yIDIxLjkgMTAuNCAyMS45IDE5LjUgMCAxNS4yLTE5LjEgMTQuMi0xOS41IDE0LjItMjAuNCAwLTI1LjctOS4xLTI1LjctMjEuOWwtMzAuOCAwLS4yIC42Yy0uNyAzMS4zIDI4LjQgNDUuMiA1Ni42IDQ1LjIgMzAgMCA1MS4xLTEzLjYgNTEuMS0zOC4zem0xMjUuNC01NS42YzAtMjUuMy0xOC40LTQ1LjUtNTMuNC00NS41bC01MS44IDAgMCAxMzguMiAzMi4yIDAgMC00Ny40IDE5LjYgMGMzMC4zIDAgNTMuNC0xNiA1My40LTQ1LjR6TTI5Ny45IDMyNWw0OS4xLTEzOC4yLTMxLjEgMC00Ny45IDEzOC4yIDI5LjkgMHpNNDA0LjUgMTg2LjhsLTMxLjEgMC00Ny45IDEzOC4yIDI5LjkgMCA0OS4xLTEzOC4yeiJdfSxieHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib2N0b3B1cy1kZXBsb3kiLGljb246WzUxMiw1MTIsW10sImUwODIiLCJNNDU1LjcgMzQ5LjJjLTQ1LjktMzkuMS0zNi43LTc3LjktMTYuMS0xMjguMSAzNS43LTg3LTIzLjUtMTg2LjktMTA5LjYtMjEyLjgtOTIuOS0yNy45LTE5NS43IDE2LTIzMC4zIDEwOC44LTguNyAyMy41LTEyLjUgNDguNS0xMSA3My41IDEuNyAyOS41IDE0LjcgNTMgMjQuMSA4MC4zIDE3LjIgNTAuMi0yOC4xIDkyLjctNjYuNyAxMTcuNi00Ni44IDMwLjItMzYuMyAzOS45LTguNCA0MS45IDIzLjQgMS43IDQ0LjUtNC41IDY1LjMtMTUgOS4yLTQuNiA0MC43LTE4LjkgNDUuMS0yOC42LTEyLjIgMjYuNi0zNyA3Mi43LTIxLjUgMTAyLjEgMTkuMSAzNi4yIDY3LjEtMzEuOCA3Ni43LTQ1LjggOC42LTEyLjYgNDMtODEuMyA2My42LTQ2LjkgMTguOSAzMS40IDguNiA3Ni40IDM1LjcgMTA0LjYgMzIuOSAzNC4yIDUxLjItMTguMyA1MS40LTQ0LjIgLjItMTYuNC02LjEtOTUuOSAyOS45LTU5LjkgMjEuNCAyMS40IDUyLjkgNzEuMiA4OC42IDY3IDM4LjctNC41LTIyLjEtNjgtMjguMy03OC43IDUuNCA0LjMgNTMuNyAzNC4xIDUzLjggOS41IC4xLTE4LjgtMzAuMS0zNC43LTQyLjUtNDUuM3oiXX0sdnh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InlhbW1lciIsaWNvbjpbNTEyLDUxMixbXSwiZjg0MCIsIk01MDAuNyAxNTkuNWMtLjQtMS44LTEuMi0zLjQtMi4zLTQuOHMtMi41LTIuNi00LjEtMy41Yy0zLjEtMS42LTYuNy0yLTEwLjEtMS4xbC0yNi40IDYuNiAwLS4yLTIyLjMgNS44LTEuMiAuMy0uNi0yLjJjLTE1LjUtNTguMy00NS0xMTEuOS04Ni4xLTE1Ni4yLTIuNi0yLjctNi4xLTQuMi05LjgtNC4zcy03LjMgMS4zLTEwIDMuOGwtMTAyLjkgMTAyLjctMTk5LjkgMGMtNi42IDAtMTIuOSAyLjYtMTcuNiA3LjNTMCAxMjQuOCAwIDEzMS40bDAgMjQ5QzAgMzg3IDIuNiAzOTMuMyA3LjMgMzk4czExIDcuMyAxNy42IDcuM0wyMjUgNDA1LjMgMzI4LjEgNTA4YzIuNiAyLjYgNiA0IDkuNyA0czcuMS0xLjQgOS43LTRjLjEtLjEgLjItLjMgLjQtLjQgMjkuMy0zMS41IDUyLjgtNjcuOCA2OS42LTEwNy40IDYuOS0xNi41IDEyLjctMzMuNSAxNy4zLTUwLjhsMCAwIDIwLjQgNS4zIDAtLjEgMjguMyA3LjNjLjkgLjIgMS43IC40IDIuNiAuNSAxLjQgLjIgMi44IC4yIDQuMS0uMSAyLjUtLjUgNC44LTEuNyA2LjctMy40czMuMi00IDMuOC02LjVjMTUuMi02My40IDE1LjItMTI5LjYgLjEtMTkzbDAgMHpNMzM3LjEgMjQuN2wwIDAgMCAwIDAgMHpNMjI2LjkgMTg5LjhsLTUyLjYgOTEuM2MtMSAxLjctMS41IDMuNy0xLjUgNS43bDAgNDYuMmMwIDUuOC0yLjMgMTEuNC02LjUgMTUuNnMtOS43IDYuNC0xNS42IDYuNGwtMy40IDBjLTUuOCAwLTExLjQtMi4zLTE1LjYtNi40cy02LjUtOS43LTYuNS0xNS42bDAtNDUuN2MwLTEuOS0uNS0zLjgtMS40LTUuNUw3Mi4zIDE4OS42Yy0xLjktMy40LTIuOC03LjEtMi44LTExczEuMS03LjYgMy0xMC45IDQuNy02LjEgOC4xLTggNy4xLTIuOSAxMS0yLjlsMy4zIDBjNCAwIDggMS4xIDExLjUgMy4yczYuMyA1LjEgOC4xIDguN2wzNi40IDcwLjMgMzcuNS03MC41YzEuOC0zLjUgNC42LTYuNCA3LjktOC40czcuMi0zLjIgMTEuMS0zLjIgNy44IC45IDExLjIgMi44IDYuMyA0LjcgOC4yIDguMWMyIDMuMyAzIDcuMSAzIDExcy0xIDcuNy0zIDExbDAgMHpNMzM3LjEgMjQuN2MzNS45IDQwLjYgNjEuOSA4OSA3NS44IDE0MS4zbC42IDItMTE0LjEgMjkuNiAwLTY2LjFjMC02LjYtMi43LTEyLjktNy4zLTE3LjZzLTExLTcuMy0xNy42LTcuM2wtMTkuNCAwIDgyLjEtODEuOHpNMzk3LjYgMzkybDAgMCAwIDBjLTE0LjcgMzQuOC0zNS4xIDY3LTYwLjIgOTUuMmwtODIuMi04MS45IDE5LjIgMGM2LjYgMCAxMi45LTIuNiAxNy42LTcuM3M3LjMtMTEgNy4zLTE3LjZsMC02Ni4yIDExNC42IDI5LjljLTQuNCAxNi4zLTkuOCAzMi4zLTE2LjMgNDcuOWwwIDB6bTg0LTUyLjRsMCAwLTUwLjYtMTMuMS0xMzEuNy0zNC4zIDAtNzIuNSAxMTkuNy0zMSA0LjUtMS4yYzI5LjktNy43IDQ5LjItMTIuOCA1OC4xLTE1LjEgMTIgNTUuMSAxMiAxMTIuMSAwIDE2Ny4yeiJdfSx4eHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibW9keCIsaWNvbjpbNDQ4LDUxMixbXSwiZjI4NSIsIk0zNTYgMjQxLjhsMzYuNyAyMy43IDAgMjE0LjUtMTMzLTgzLjggOTYuMy0xNTQuNHpNNDQwIDc1bC0yMTMuNyAwLTIzIDM3LjggMTUzLjUgOTYuNSA4My4yLTEzNC4zek0zNTEgMjE3LjhsLTI5NS44LTE4NS44IDAgMjE0LjUgNDYgMjkgMjQ5LjgtNTcuN3pNOTcgMjk0LjJMOCA0MzcgMjIxLjcgNDM3IDM0Ni43IDIzNi41IDk3IDI5NC4yeiJdfSx5eHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXRocmVhZHMiLGljb246WzQ0OCw1MTIsW10sImU2MTkiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjk0LjIgMjQ0LjNjMTkuNSA5LjMgMzMuNyAyMy41IDQxLjIgNDAuOSAxMC40IDI0LjMgMTEuNCA2My45LTIwLjIgOTUuNC0yNC4yIDI0LjEtNTMuNSAzNS05NS4xIDM1LjNsLS4yIDBjLTQ2LjgtLjMtODIuOC0xNi4xLTEwNi45LTQ2LjgtMjEuNS0yNy4zLTMyLjYtNjUuNC0zMy0xMTMuMWwwLS4yYy40LTQ3LjcgMTEuNS04NS43IDMzLTExMy4xIDI0LjItMzAuNyA2MC4yLTQ2LjUgMTA2LjktNDYuOGwuMiAwYzQ2LjkgLjMgODMuMyAxNiAxMDguMiA0Ni42IDEyLjMgMTUuMSAyMS4zIDMzLjMgMjcgNTQuNGwtMjYuOSA3LjJjLTQuNy0xNy4yLTExLjktMzEuOS0yMS40LTQzLjYtMTkuNC0yMy45LTQ4LjctMzYuMS04Ny0zNi40LTM4IC4zLTY2LjggMTIuNS04NS41IDM2LjItMTcuNSAyMi4zLTI2LjYgNTQuNC0yNi45IDk1LjUgLjMgNDEuMSA5LjQgNzMuMyAyNi45IDk1LjUgMTguNyAyMy44IDQ3LjQgMzYgODUuNSAzNi4yIDM0LjMtLjMgNTYuOS04LjQgNzUuOC0yNy4zIDIxLjUtMjEuNSAyMS4xLTQ3LjkgMTQuMi02NC00LTkuNC0xMS40LTE3LjMtMjEuMy0yMy4zLTIuNCAxOC03LjkgMzIuMi0xNi41IDQzLjItMTEuNCAxNC41LTI3LjcgMjIuNC00OC40IDIzLjUtMTUuNyAuOS0zMC44LTIuOS00Mi42LTEwLjctMTMuOS05LjItMjItMjMuMi0yMi45LTM5LjUtMS43LTMyLjIgMjMuOC01NS4zIDYzLjUtNTcuNiAxNC4xLS44IDI3LjMtLjIgMzkuNSAxLjktMS42LTkuOS00LjktMTcuNy05LjgtMjMuNC02LjctNy44LTE3LjEtMTEuOC0zMC44LTExLjlsLS40IDBjLTExIDAtMjYgMy4xLTM1LjYgMTcuNmwtMjMtMTUuOGMxMi44LTE5LjQgMzMuNi0zMC4xIDU4LjUtMzAuMWwuNiAwYzQxLjggLjMgNjYuNiAyNi4zIDY5LjEgNzEuOCAxLjQgLjYgMi44IDEuMiA0LjIgMS45bC4xIC41em0tNzEuOCA2Ny41YzE3LS45IDM2LjQtNy42IDM5LjctNDguOC04LjgtMS45LTE4LjYtMi45LTI5LTIuOS0zLjIgMC02LjQgLjEtOS42IC4zLTI4LjYgMS42LTM4LjEgMTUuNS0zNy40IDI3LjkgLjkgMTYuNyAxOSAyNC41IDM2LjQgMjMuNmwtLjEtLjF6Il19LHd4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvbGQtcmVwdWJsaWMiLGljb246WzUxMiw1MTIsW10sImY1MTAiLCJNMjQzLjggMTAuMmM3LjUtLjMgMTUtLjMgMjIuNS0uMSAzLjYgLjEgNy4yIC40IDEwLjggLjcgNC45IC4zIDkuOCAxIDE0LjcgMS42IDIuOSAuNCA1LjggMSA4LjcgMS41IDcuOSAxLjMgMTUuNyAzLjMgMjMuNCA1LjQgMTIuMiAzLjUgMjQuMiA3LjkgMzUuOCAxMy4yIDI2LjYgMTIuMiA1MC45IDI5LjIgNzEuNiA0OS45IDIwIDIwLjEgMzYuNyA0My41IDQ4LjkgNjkuMiAxLjEgMi42IDIuNCA1LjEgMy41IDcuNyAyLjggNi40IDUuNCAxMyA3LjYgMTkuNiA0LjEgMTIuMyA3LjMgMjUgOS40IDM3LjggLjYgMy4xIDEgNi4zIDEuNCA5LjUgLjUgMy44IC45IDcuNyAxLjIgMTEuNiAuOCA4LjMgLjggMTYuNyAuOCAyNS4xLS4xIDUtLjMgOS45LS43IDE0LjktLjIgMy40LS41IDYuOC0xIDEwLjEtLjQgMi43LS42IDUuNS0xLjEgOC4yLS45IDUuMS0xLjcgMTAuMy0yLjkgMTUuNC00LjEgMTguNS0xMC4zIDM2LjYtMTguNSA1My42LTE1LjggMzIuOC0zOC44IDYyLjItNjcuMSA4NS4xLTE3LjMgMTQuMS0zNi40IDI1LjktNTYuOSAzNC45LTYuMiAyLjctMTIuNSA1LjMtMTguOSA3LjQtMy41IDEuMi03IDIuNC0xMC42IDMuNC02LjYgMS45LTEzLjMgMy42LTIwIDUtNC43IC45LTkuMyAxLjctMTQgMi41LTUuMyAuNy0xMC41IDEuNC0xNS44IDEuNy02LjcgLjctMTMuNCAuOC0yMC4xIC44LTYuOCAwLTEzLjYtLjEtMjAuNC0uOC0zLjMtLjItNi42LS41LTkuOC0xLTIuNy0uNC01LjUtLjYtOC4yLTEuMS00LjEtLjctOC4yLTEuNC0xMi40LTIuMi00LjItLjktOC41LTEuOS0xMi43LTMtOC42LTIuMi0xNy4xLTUtMjUuNC04LjEtMTAuNS00LjEtMjAuOC04LjctMzAuNi0xNC4yLTIuMS0xLjItNC4zLTIuMy02LjQtMy42LTExLjItNi42LTIxLjktMTQuMS0zMS45LTIyLjMtMzQuNy0yOC40LTYxLjQtNjYuNC03Ni40LTEwOC43LTMuMS04LjctNS43LTE3LjYtNy44LTI2LjctMS41LTYuMi0yLjUtMTIuNC0zLjYtMTguNy0uNC0yLjMtLjYtNC43LTEtNy4xLS42LTQtLjgtOC0xLjItMTEuOS0uOC05LjUtLjctMTktLjUtMjguNSAuMS0zLjUgLjMtNyAuNy0xMC41IC4zLTMuMiAuNS02LjQgLjktOS41IC40LTIuOCAuNy01LjYgMS4yLTguNCAuNy0zLjkgMS4zLTcuOSAyLjEtMTEuOCAzLjQtMTYuNSA4LjUtMzIuNyAxNS4zLTQ4LjIgMS4yLTIuOSAyLjYtNS43IDMuOS04LjYgOC4xLTE2LjcgMTcuOS0zMi42IDI5LjUtNDcuMSAyMC0yNS40IDQ1LjEtNDYuNyA3My4zLTYyLjUgNy41LTQuMiAxNS4yLTggMjMuMS0xMS40IDE1LjgtNi45IDMyLjQtMTIgNDkuMy0xNS40IDMuNS0uNyA3LTEuMiAxMC42LTEuOCAyLjYtLjUgNS4zLS43IDcuOS0xLjEgMy41LS41IDcuMS0uNyAxMC42LTEgMi41LS4yIDQuOS0uNCA3LjQtLjV6bTguNiAyNC40Yy05LjIgLjEtMTguNCAxLTI3LjYgMi4yLTcuMyAxLjEtMTQuNSAyLjYtMjEuNyA0LjMtMTMuOSAzLjUtMjcuNSA4LjMtNDAuNSAxNC40LTEwLjUgNS0yMC42IDEwLjctMzAuMiAxNy4yLTQuMiAyLjktOC40IDUuOC0xMi4zIDktNS4xIDQtMTAgOC4yLTE0LjcgMTIuNi0yLjUgMi4yLTQuOCA0LjctNy4yIDcuMS0yOC4yIDI4LjgtNDguNCA2NS40LTU3LjUgMTA0LjctMiA4LjQtMy41IDE3LTQuNCAyNS42LTEuMSA4LjktMS40IDE3LjktMS40IDI2LjggLjEgNy4xIC40IDE0LjMgMS4yIDIxLjQgLjYgNy4xIDEuOSAxNC4yIDMuMiAyMS4yIDEuMSA0LjYgMiA5LjMgMy4zIDEzLjkgNi4zIDIzLjQgMTYuNSA0NS43IDMwLjEgNjUuOCA4LjYgMTMgMTguOCAyNC45IDMwIDM1LjggMTYuMyAxNS44IDM1IDI5IDU1LjMgMzkuMiA3LjMgMy41IDE0LjcgNi45IDIyLjMgOS42IDUgMS44IDEwLjEgMy42IDE1LjIgNSAxMS4zIDMuMiAyMi44IDUuNiAzNC40IDcuMSAyLjkgLjMgNS44IC42IDguNyAuOSAxMy44IDEuMSAyNy43IDEgNDEuNS0uNCA0LjQtLjYgOC45LTEgMTMuMy0xLjggMy42LS43IDcuMy0xLjIgMTAuOS0yLjEgNC4xLTEgOC4zLTEuOSAxMi40LTMuMSAyNi41LTcuMyA1MS42LTE5LjcgNzMuNi0zNi4yIDE1LjgtMTEuOCAzMC0yNS44IDQyLjEtNDEuMyAzLjMtNCA2LjItOC4zIDkuMS0xMi42IDMuNC01LjEgNi42LTEwLjIgOS42LTE1LjUgMi40LTQuNCA0LjctOC45IDctMTMuNCA1LjctMTIuMSAxMC4zLTI0LjYgMTMuOC0zNy41IDIuNi0xMCA0LjctMjAuMiA1LjktMzAuNCAxLjgtMTMuNSAxLjktMjcuMSAxLjMtNDAuNy0uMy0zLjktLjctNy44LTEtMTEuNy0yLjItMTkuMS02LjgtMzcuOS0xMy44LTU1LjgtNi0xNS4xLTEzLjUtMjkuNi0yMi42LTQzLjEtMTIuNy0xOC44LTI4LjItMzUuNy00Ni00OS44LTI1LTIwLTU0LjUtMzQuNS04NS42LTQyLjEtNy44LTEuOS0xNS43LTMuMy0yMy42LTQuNC0zLjktLjYtNy44LS44LTExLjgtMS4yLTcuNC0uNi0xNC44LS43LTIyLjItLjZ6TTE0Ny4zIDgzLjVjMTMuMy04LjkgMjguMS0xNS40IDQzLjMtMjAuMi0zLjIgMS44LTYuNCAzLjQtOS41IDUuMy0xMS4yIDYuNy0yMS41IDE0LjktMzAuNCAyNC41LTYuOCA3LjQtMTIuOCAxNS43LTE3IDI0LjktMy4zIDYuOS01LjYgMTQuMi02LjkgMjEuNy0uOSA0LjgtMS4zIDkuOC0xLjIgMTQuOCAuMSAxMy43IDQuNCAyNy4xIDExLjMgMzguOCA1LjkgMTAuMiAxMy42IDE5LjMgMjIuNCAyNy4zIDQuOSA0LjQgMTAuMiA4LjEgMTUgMTIuNiAyLjMgMi4yIDQuNSA0LjQgNi40IDYuOSAyLjYgMy4zIDQuOSA3IDYgMTEuMSAuOSAzIC43IDYuMiAuNyA5LjMgMCA0LjEgMCA4LjIgMCAxMi4zIC4xIDMuNSAwIDcuMSAuMSAxMC42IC4xIDIuNCAwIDQuOCAuMSA3LjEgLjIgNS44IC4xIDExLjUgLjEgMTcuMyAuMSAyLjkgMCA1LjggLjEgOC43IDAgMS42IC4xIDMuMyAwIDQuOS0uOSAuMS0xLjggLjItMi43IC4yLTExIDAtMjEuOS0yLjYtMzItNi45LTYtMi43LTExLjgtNS45LTE3LjEtOS44LTUuOC00LjItMTEuMS05LTE1LjgtMTQuMy02LjUtNy4yLTEyLTE1LjQtMTYuNi0yMy45LTEuMS0yLTIuMi00LTMuMi02LjEtMS4yLTIuNi0yLjYtNS4xLTMuNy03LjgtNC05LjctNi42LTE5LjktOC4xLTMwLjMtLjUtNC40LTEuMS04LjktMS4yLTEzLjMtLjctMTUuNyAuOC0zMS42IDQuNy00Ni44IDIuMS04LjIgNC44LTE2LjIgOC4zLTIzLjggNi4zLTE0LjIgMTUuMy0yNy4yIDI2LjMtMzguMiA2LjMtNi4yIDEzLjEtMTEuOCAyMC41LTE2Ljd6TTMyMi43IDYzLjRjMi43IC43IDUuNCAxLjcgOC4xIDIuNyA2LjQgMi4zIDEyLjcgNC44IDE4LjcgOCAxMy4xIDYuNCAyNS4zIDE0LjggMzUuOCAyNSAxMC4yIDEwIDE4LjcgMjEuNiAyNS4xIDM0LjMgMS4zIDIuNyAyLjYgNS41IDMuOCA4LjMgNi4zIDE1LjEgMTAgMzEuMyAxMS4yIDQ3LjYgLjQgNC41IC40IDkuMSAuNSAxMy42IC4xIDExLjYtMS41IDIzLjMtNC4zIDM0LjUtMiA3LjMtNC4zIDE0LjUtNy45IDIxLjItMy4yIDYuNi02LjcgMTMuMi0xMC44IDE5LjItNi45IDEwLjUtMTUuNiAxOS45LTI1LjggMjcuMi0xMC41IDcuNi0yMi42IDEzLTM1LjQgMTUuNC0zLjUgLjctNy4xIDEuMS0xMC43IDEuMi0xLjggLjEtMy43IC4yLTUuNi0uMS0uMy0yLjEgMC00LjMgMC02LjUgMC0zLjcgLjEtNy40IC4xLTExLjIgLjItNyAwLTE0LjEgLjItMjEuMSAwLTIuNCAwLTQuOCAwLTcuMSAuMi01LjEgMC0xMC4xIC4xLTE1LjIgLjEtMy0uMi02IC41LTkgLjctMi41IDEuOC00LjkgMy4xLTcuMSA0LjUtNy4zIDExLjEtMTMgMTcuNy0xOC4zIDUuNC00LjIgMTAuNS04LjggMTUtMTMuOCA3LjctOC40IDE0LjItMTcuOSAxOC44LTI4LjMgMi41LTUuOSA0LjUtMTIuMSA1LjUtMTguNSAuOS00LjQgMS4xLTguOCAxLTEzLjMgMC03LjgtMS40LTE1LjYtMy42LTIzLjItMS44LTUuNy00LjMtMTEuMi03LjEtMTYuNC0zLjktNi45LTguNi0xMy4zLTE0LTE5LjItOS45LTEwLjgtMjEuOC0xOS45LTM0LjYtMjcuMS0xLjgtMS0zLjgtMS44LTUuNi0zek0yMjEuOSAxMjEuOWMxLTEuMiAyLTIuMyAzLjEtMy40LS42IC45LTEuMyAxLjgtMiAyLjctMy4xIDMuOS01LjUgOC4zLTcgMTMuMS0uOSAzLjMtMS43IDYuNi0xLjcgMTAtLjEgMi41LS4xIDUuMSAuMyA3LjYgMS4xIDcuNiA0LjMgMTQuOSA4LjggMjEuMSAyIDIuNyA0LjIgNS4zIDYuOSA3LjMgMS42IDEuMyAzLjUgMi4xIDUuMyAzIDMuMSAxLjcgNi4zIDMuMiA5LjEgNS41IDIuNyAyLjEgNC42IDUuMyA0LjQgOC44IDAgNzMuNyAwIDE0Ny4zIDAgMjIxIDAgMS40LS4xIDIuNyAwIDQgLjEgMS41IC44IDIuOCAxLjUgNC4xIC45IDEuNyAxLjggMy4zIDMuMiA0LjYgLjkgLjggMiAxLjQgMy4yIDEuMiAxLjUtLjIgMi43LTEuNCAzLjQtMi42IDEtMS41IDEuNy0zLjIgMi4zLTQuOSAuOC0yLjEgLjQtNC40IC41LTYuNiAuMS00IDAtOC4xIC4xLTEyLjEgMC01LjkgMC0xMS44IC4xLTE3LjcgLjEtMy42IDAtNy4yIC4xLTEwLjkgLjItNCAwLTguMSAuMS0xMi4xIDAtNiAwLTEyIC4xLTE4IC4xLTMuNiAwLTcuMiAuMS0xMC45IC4xLTMuOSAwLTcuOSAuMS0xMS44IDAtNiAwLTEyIC4xLTE4IC4yLTMuOSAwLTcuOSAuMi0xMS44IC4zIDEuNCAuMSAyLjkgLjIgNC40IC4yIDMuNiAuNCA3LjIgLjggMTAuOCAuMyAzLjQgLjQgNi45IC45IDEwLjMgLjQgMy4xIC41IDYuMiAxIDkuMyAuNiA0LjEgLjkgOC4yIDEuNSAxMi4zIDEuNSA5IDIuOCAxOC4xIDUuMSAyNyAxLjEgNC44IDIuNCA5LjYgNCAxNC4zIDIuNSA3LjkgNS43IDE1LjcgMTAuMyAyMi42IDEuNyAyLjYgMy45IDUgNi4xIDcuMiAuMyAuMiAuNiAuNSAuOSAuNyAuNiAuMyAxLjMtLjEgMS43LS42IC43LS45IDEuMi0xLjkgMS43LTIuOSA0LjEtNy44IDguMi0xNS42IDEyLjMtMjMuMyAuNy0xLjMgMS40LTIuNiAyLjYtMy42IDEuOC0xLjYgMy44LTIuNyA2LTMuNiAyLjktMS4yIDUuOS0yLjIgOS0yLjQgNi42LS42IDEzLjEgLjcgMTkuNiAxLjggMy43IC42IDcuNCAxLjIgMTEuMSAxLjQgMy43IC4xIDcuNSAuMSAxMS4yLS4zIDguNi0uOSAxNy0zIDI0LjktNi4yIDUuMy0yLjIgMTAuNS00LjggMTUuMy03LjkgMTEuNS03LjIgMjEuNS0xNi42IDMwLTI3IDEuMi0xLjQgMi4yLTIuOSAzLjUtNC4zLTEuMiAzLjItMi43IDYuNC00LjIgOS41LTEuMyAyLjktMi44IDUuNi00LjMgOC40LTUuMiA5LjYtMTEgMTguOS0xNy44IDI3LjUtNCA1LjItOC41IDEwLjEtMTMuMyAxNC42LTYuNiA2LjEtMTQuMSAxMS40LTIyLjQgMTQuOC04LjIgMy40LTE3LjMgNC42LTI2LjEgMy4zLTMuNi0uNi03LTEuNy0xMC40LTIuOS0yLjgtMS01LjQtMi40LTgtMy43LTMuNC0xLjctNi42LTMuOC05LjctNi4xIDIuNyAzLjEgNS43IDUuOSA4LjcgOC42IDQuMyAzLjggOC43IDcuMyAxMy42IDEwLjIgNCAyLjUgOC4zIDQuNCAxMi44IDUuNSAxLjUgLjQgMyAuNSA0LjUgLjYtMS4zIDEuMS0yLjYgMi00IDMtOS42IDYuNS0yMCAxMS45LTMwLjcgMTYuNC0yMC45IDguNy00My4yIDE0LTY1LjcgMTUuMy00LjcgLjItOS4zIC40LTE0IC40LTUtLjEtMTAtLjEtMTQuOS0uNy0xMS4yLS44LTIyLjMtMi43LTMzLjItNS40LTEwLjQtMi43LTIwLjYtNi4xLTMwLjMtMTAuNi04LjctMy45LTE3LjEtOC40LTI1LTEzLjgtMS44LTEuMy0zLjctMi41LTUuNC00LjEgNi42LTEuMiAxMy0zLjQgMTktNi41IDUuNy0yLjkgMTEtNi43IDE1LjYtMTEuMSAyLjItMi4yIDQuMy00LjYgNi4yLTcuMS0zLjQgMi4xLTYuOSA0LjItMTAuNiA1LjgtNC40IDIuMi05LjEgMy44LTEzLjggNS01LjcgMS41LTExLjcgMS43LTE3LjYgMS4xLTguMS0xLTE1LjktNC4zLTIyLjUtOS00LjMtMi45LTguMi02LjQtMTItMTAuMS05LjktMTAuMi0xOC4yLTIxLjgtMjUuNy0zMy45LTMuOS02LjMtNy41LTEyLjctMTEuMS0xOS4yLTEtMi0yLjEtNC4xLTMuMi02LjEgMi44IDIuOSA1LjYgNiA4LjQgOC45IDE5LjIgMTkuMiAzNy42IDMyLjMgNTMuNyAzNS41IDMuMSAuNyA2LjMgLjUgOS41IC44IDIuOCAuMyA1LjYgLjIgOC4zIC4zIDUgLjEgMTAuMSAwIDE1LjItLjIgMy42LS4yIDcuMy0uNyAxMC45LTEuMSAyLjEtLjIgNC4xLS43IDYuMS0xLjIgMy45LTEgOC4xLTEgMTEuOCAuNiA0LjggMS44IDguNCA1LjYgMTEuNCA5LjcgMi4yIDMgNC4xIDYuMiA1LjcgOS42IDEuMiAyLjQgMi41IDQuOCAzLjYgNy4zIDEgMi4yIDIuMiA0LjQgMy40IDYuNSAuNyAxIDEuNCAyLjIgMi42IDIuNiAxLjEtLjggMS43LTEuOSAyLjMtMyAyLjEtNC4yIDMuNC04LjYgNC45LTEzIDItNi42IDMuOC0xMy4zIDUuMi0yMCAyLjItOS4zIDMuMi0xOC43IDQuNS0yOC4xIC42LTQgLjgtOCAxLjMtMTIgLjktMTAuNiAxLjktMjEuMyAyLjItMzEuOSAuMS0xLjkgLjItMy43IC4zLTUuNiAwLTQuMyAuMi04LjcgLjItMTMgMC0yLjQgMC00LjggMC03LjEgMC01LjEtLjItMTAuMS0uMi0xNS4yLS4yLTYuNi0uNy0xMy4yLTEuMy0xOS44LS43LTUuOS0xLjUtMTEuOC0zLjEtMTcuNS0yLTcuNy01LjYtMTUtOS44LTIxLjgtMy4yLTUuMS02LjgtOS45LTExLjEtMTQtMy45LTMuOS04LjYtNy4xLTEzLjktOC40LTEuNS0uNC0zLjEtLjQtNC42LS42IC4xLTMgLjctNS45IDEuMy04LjggMS42LTcuNyAzLjgtMTUuMyA2LjgtMjIuNiAxLjUtNCAzLjQtNy45IDUuNC0xMS43IDMuNC02LjYgNy42LTEyLjggMTIuNS0xOC41em0zMS4zIDEuN2MuNC0uMSAuNy0uMSAxLjEtLjIgLjIgMS44IC4xIDMuNiAuMSA1LjRsMCAzOC4xYzAgMS43IC4xIDMuNS0uMiA1LjItLjQgMC0uNyAwLTEuMSAwLS45LTMuOC0xLjctNy42LTIuNi0xMS4zLS40LTEuNS0uNi0zLjEtMS4xLTQuNi0xLjctLjItMy40LS4yLTUuMi0uMi01LjEgMC0xMC4xIDAtMTUuMiAwLTEuNyAwLTMuMyAuMS01IDAgMC0uNC0uMy0uOSAuMi0xLjIgMS4zLS43IDIuNy0uOSA0LjEtMS40IDMuNC0xLjEgNi45LTIuMiAxMC4zLTMuMyAxLjQtLjUgMi45LS43IDQuMi0xLjUgMC0uNiAwLTEuMSAwLTEuNy0xLjItLjYtMi41LS45LTMuOC0xLjMtMy4xLTEtNi4zLTItOS40LTMtMS44LS42LTMuNy0xLTUuNC0xLjggMC0uNC0uMS0uNy0uMS0xLjEgNS4xLS4yIDEwLjIgLjEgMTUuMy0uMSAzLjQtLjEgNi43IC4xIDEwLjEtLjEgLjEtLjQgLjMtLjggLjQtMS4yIDEuMS00LjkgMi4zLTkuOCAzLjQtMTQuN3ptNi0uMmMuNCAwIC43IC4xIDEuMSAuMiAxIDMuOCAxLjcgNy44IDIuNyAxMS42IC40IDEuNCAuNiAyLjkgMSA0LjMgMi41IC4yIDUuMSAwIDcuNiAwIDUuMiAuMSAxMC4zIC4xIDE1LjUgLjEgLjggMCAxLjUgMCAyLjMgLjEgMCAuNC0uMSAuNy0uMSAxLjEtMS44IC44LTMuOCAxLjItNS43IDEuOS0zLjcgMS4yLTcuNSAyLjQtMTEuMiAzLjYtLjYgLjItMS4xIC40LTEuNyAuNi0uMiAuNi0uMiAxLjEtLjEgMS43IC45IC41IDEuOCAuOCAyLjggMS4xIDQuOSAxLjUgOS43IDMuMSAxNC42IDQuNiAuNCAuMSAuOCAuMyAxLjEgLjUgLjQgLjMgLjIgLjggLjIgMS4yLTEuNyAuMS0zLjMgMC01IDAtNS4yIDAtMTAuMyAwLTE1LjUgMC0xLjYgMC0zLjIgMC00LjggLjItLjUgMS43LS43IDMuNC0xLjIgNS4xLS45IDMuNi0xLjUgNy4yLTIuNSAxMC44LS40IDAtLjcgMC0xLjEgLjEtLjMtMS43LS4yLTMuNS0uMi01LjJsMC0zOC4xYzAtMS44LS4xLTMuNiAuMS01LjR6bS0xODYgNDVjMS4xLTIuMiAyLjEtNC40IDMuNC02LjUtMS44IDcuNi0yLjkgMTUuMy0zLjYgMjMtLjggNy43LS44IDE1LjUtLjUgMjMuMiAxLjEgMTkuOSA1LjUgMzkuOCAxNC4yIDU3LjkgMyA2IDYuNCAxMS44IDEwLjUgMTcuMSA2LjEgNy41IDEyLjUgMTQuOCAxOS44IDIxLjEgNC44IDQuMSAxMCA3LjggMTUuNSAxMC44IDMuMyAxLjcgNi41IDMuNCA5LjkgNC43IDUgMiAxMC4yIDMuNiAxNS40IDQuOSAzLjggMSA3LjggMS40IDExLjUgMi43IDUgMS42IDkuNSA0LjYgMTMgOC40IDQuOSA1LjIgOC4xIDExLjkgMTAuMiAxOC43IDEgMi45IDEuNiA1LjkgMi4yIDguOSAuMiAuOCAuMiAxLjUgLjIgMi4zLTYuNSAyLjgtMTMuMyA1LjEtMjAuMyA2LjItNC4xIC44LTguMyAxLTEyLjUgMS4xLTEwLjIgLjItMjAuNS0xLjgtMzAuMS01LjEtMy43LTEuNC03LjUtMi45LTExLTQuNy04LjEtMy44LTE1LjYtOC43LTIyLjUtMTQuNS0yLjktMi42LTUuOC01LjEtOC40LTgtOS4yLTkuOC0xNi4zLTIxLjQtMjEuOC0zMy43LTIuNC01LjUtNC42LTExLjItNi40LTE3LTEuMi0zLjktMi40LTcuOS0zLjMtMTEuOS0uNy0yLjktMS4yLTUuOS0xLjktOC45LS41LTIuMS0uNy00LjMtMS02LjUtLjgtNS40LTEuMy0xMC45LTEuMy0xNi40IC4xLTYuMiAuMi0xMi40IDEuMS0xOC41IC40LTIuOSAuNy01LjcgMS4yLTguNiAxLTUuNyAyLjEtMTEuNCAzLjctMTYuOSAzLjEtMTEuNiA3LjUtMjMgMTIuNy0zMy44em0zNjMuNy02LjRjMS4xIDEuNyAxLjkgMy41IDIuOCA1LjMgMi4xIDQuNSA0LjIgOC45IDYgMTMuNSA3LjYgMTguOCAxMi4zIDM4LjggMTMgNTkgMCAxLjggLjEgMy41IC4xIDUuMyAuMSA5LjYtMS4zIDE5LjEtMy4yIDI4LjUtLjcgMy42LTEuNSA3LjItMi42IDEwLjctNCAxNC43LTEwIDI5LTE4LjQgNDEuOC04LjIgMTIuNi0xOSAyMy41LTMxLjggMzEuNC01LjcgMy42LTExLjggNi42LTE4IDkuMi01LjggMi4yLTExLjcgNC0xNy44IDUuMS02LjQgMS0xMi45IDEuNS0xOS40IDEuMi03LjktLjUtMTUuOC0yLjEtMjMuMi00LjgtMS45LS44LTMuOS0xLjUtNS44LTIuMy0uMi0xLjUgLjItMyAuNS00LjUgMS4yLTUuNyAzLTExLjQgNS43LTE2LjYgMi40LTQuNSA1LjUtOC43IDkuNS0xMS45IDIuNC0yLjEgNS4yLTMuNiA4LjItNC44IDMuNi0xLjUgNy41LTIgMTEuMi0yLjggNy4yLTEuNyAxNC40LTMuOSAyMS4yLTcgMTAuMy00LjcgMTkuNy0xMS40IDI3LjYtMTkuNSAxLjYtMS42IDMuMi0zLjIgNC43LTQuOSAzLjQtMy44IDYuNy03LjYgOS44LTExLjUgNy41LTEwLjEgMTIuOC0yMS42IDE2LjctMzMuNSAxLjYtNS4zIDMuMi0xMC42IDQuMi0xNi4xIC42LTIuOSAxLTUuOCAxLjUtOC43IC45LTYuMSAxLjYtMTIuMiAxLjctMTguNCAuMS02LjYgLjEtMTMuMy0uNS0xOS45LS43LTgtMS45LTE2LTMuNy0yMy44eiJdfSxNeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3VzZSIsaWNvbjpbNjQwLDUxMixbXSwiZjdkNiIsIk02MDQuNSAyMTBhMTAuNCAxMC40IDAgMSAxIC0xMS40LTE3LjQgMTAuNCAxMC40IDAgMSAxIDExLjQgMTcuNHpNNjIxIDE4Ny4yYTM4LjUgMzguNSAwIDEgMSAtNzUgMTcuNiAzOC41IDM4LjUgMCAxIDEgNzUtMTcuNnpNNDMzLjcgMzM2LjdjMy4yIDQuNiA1LjggOSA3LjMgMTMuNCAxIDMuMSAyLjQgNy4zIDUuNSA4LjkgLjIgLjEgLjMgLjIgLjUgLjIgNS43IDIuMSAyMC4zIDEuNyAyMC4zIDEuN2wyNi44IDBjMi4zIDAgMjIuNCAwIDIxLjktMi4zLTIuNC0xMC44LTE0LjktMTIuNy0yNC40LTE4LjMtOC43LTUuMi0xNy0xMS4xLTIwLjgtMjEuMy0yLTUuMi0uOC0xNy40IDIuNi0yMS44IDIuNS0zLjIgNi4xLTUuMyAxMC02LjIgNC4zLS45IDguOC0uMSAxMy4xIC4zIDUuMyAuNSAxMC42IDEuNSAxNS45IDIuMiAxMC4zIDEuMyAyMC42IDEuOSAzMSAxLjYgMTcuMS0uNSAzNC4yLTMuMiA1MC40LTguNyAxMS4zLTMuOCAyMi40LTguOSAzMi0xNi4xIDEwLjktOC4xIDguMS03LjQtMy02LjItMTMuMyAxLjQtMjYuNiAxLjYtMzkuOSAuOC0xMi40LS43LTI0LjctMi4yLTM1LjktNy45LTguOC00LjYtMTYuNC05LjEtMjMuNC0xNi4yLTEtMS4xLTEuNy00LjIgLjItNi4yIDEuOS0xLjkgNS44LS44IDcgLjIgMTIuMiAxMC4yIDMwLjUgMTguNiA0OS4zIDE5LjUgMTAuMiAuNSAyMC4xIC43IDMwLjQgLjMgNS4xLS4yIDEyLjgtLjIgMTcuOS0uMyAyLjYgMCA5LjggLjcgMTEuMi0yLjEgLjQtLjggLjQtMS44IC4zLTIuNy0xLjUtNDAuOS00LjUtODYuOS00Ny4zLTEwNi41LTMxLjktMTQuNi03OS43LTM3LjItOTkuOS00Ni42LTQuNy0yLjItMTAuMiAxLjMtMTAuMiA2LjUgMCAxMy42IC43IDMzLjMgLjcgNTEuMS05LjctOS45LTI2LTE2LjEtMzguNC0yMS44LTE0LjEtNi41LTI4LjctMTItNDMuNS0xNi42LTI5LjgtOS4yLTYwLjctMTQuOS05MS43LTE4LTM1LjItMy41LTcxLTEuOC0xMDUuNyA1LjMtNTYuOSAxMi4yLTExMy4xIDM5LjctMTU1LjcgNzkuOC0yNi4xIDI0LjYtNDYuNiA1OS43LTQ4IDk1LjItMiA1MC4zIDEyLjEgNzcuMyAzOCAxMDUuMiA0MS4zIDQ0LjQgMTMwLjIgNTAuNiAxNjYuMi0yIDE2LjItMjMuNyAxOS43LTU1LjggOC04Mi0xMS44LTI2LjItMzguOC00NS4xLTY3LjQtNDYtMjIuMi0uNy00NS45IDEwLjYtNTQuNSAzMS4xLTYuNSAxNS43LTIuOCAzNS4xIDkgNDcuMyA0LjYgNC44IDEwLjkgOC43IDE3LjcgNy4xIDQtLjkgNy40LTMuOSA4LTggLjktNi00LjQtOS45LTcuNi0xNC41LTUuOC04LjMtNC43LTIwLjkgMi43LTI3LjkgNi4yLTYgMTUuMy03LjggMjMuOS03LjcgOCAwIDE2LjIgMS40IDIzLjEgNS41IDkuNyA1LjcgMTYuMiAxNi4yIDE4LjQgMjcuMiA2LjcgMzMtMjAuMiA1OS45LTU2LjYgNjItMTguNiAxLjEtMzcuNi0zLjgtNTIuMS0xNS41LTM2LjktMjkuOC00NS45LTkwLjMtMy44LTEyMi43IDQwLTMwLjcgOTAuNC0yMi44IDEyMC4yLTYuOCAyMy44IDEyLjggNDEuNSAzMy42IDU1IDU2LjcgNi43IDExLjYgMTIuNSAyMy43IDE3LjggMzYuMSA1LjEgMTEuOCA5LjkgMjMuOCAyMC4yIDMyLjUgNi44IDUuOCAxNS4yIDUuNiAyNC4xIDUuNmw1MC44IDBjNi45IDAgNS4yLTQuNiAyLjItNy43LTYuNy02LjktMTYuNC04LjQtMjUuNC0xMC45LTIwLjUtNS42LTE4LjQtMzIuOC0xMi43LTMyLjggMTguMyAwIDE4LjkgLjYgMzQuOSAuMyAyMy4yLS4zIDMwLjItMS43IDQ4LjMgNSA5LjcgMy42IDE5IDEzLjEgMjUuMSAyMS43eiJdfSxreHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXBwLXN0b3JlLWlvcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjM3MCIsIk00MDAgMzJMNDggMzJDMjEuNSAzMiAwIDUzLjUgMCA4MEwwIDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzNTIgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM1MmMwLTI2LjUtMjEuNS00OC00OC00OHpNMTI3IDM4NC41Yy01LjUgOS42LTE3LjggMTIuOC0yNy4zIDcuMy05LjYtNS41LTEyLjgtMTcuOC03LjMtMjcuM2wxNC4zLTI0LjdjMTYuMS00LjkgMjkuMy0xLjEgMzkuNiAxMS40TDEyNyAzODQuNXptMTM4LjktNTMuOUw4NCAzMzAuNmMtMTEgMC0yMC05LTIwLTIwczktMjAgMjAtMjBsNTEgMCA2NS40LTExMy4yLTIwLjUtMzUuNGMtNS41LTkuNi0yLjItMjEuOCA3LjMtMjcuMyA5LjYtNS41IDIxLjgtMi4yIDI3LjMgNy4zbDguOSAxNS40IDguOS0xNS40YzUuNS05LjYgMTcuOC0xMi44IDI3LjMtNy4zIDkuNiA1LjUgMTIuOCAxNy44IDcuMyAyNy4zbC04NS44IDE0OC42IDYyLjEgMGMyMC4yIDAgMzEuNSAyMy43IDIyLjcgNDB6bTk4LjEgMGwtMjkgMCAxOS42IDMzLjljNS41IDkuNiAyLjIgMjEuOC03LjMgMjcuMy05LjYgNS41LTIxLjggMi4yLTI3LjMtNy4zLTMyLjktNTYuOS01Ny41LTk5LjctNzQtMTI4LjEtMTYuNy0yOS00LjgtNTggNy4xLTY3LjggMTMuMSAyMi43IDMyLjcgNTYuNyA1OC45IDEwMmw1MiAwYzExIDAgMjAgOSAyMCAyMCAwIDExLjEtOSAyMC0yMCAyMHoiXX0sU3h0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVsdHJhbHl0aWNzLXlvbG8iLGljb246WzUxMiw1MTIsW10sImU4NmYiLCJNMzgzLjUgMTAuOGM2MS44LS4yIDExMi4zIDUwLjYgMTEyLjMgMTEyLjktLjIgMi43IDAgMC0uMSAzLjNsLjMgLjNjLTEuNSA4OS45LTUzIDE2OC40LTEyNy40IDIwOC41bDAgNTIuOGMwIDYyLjYtNTEuMSAxMTMuNS0xMTMuNyAxMTIuOS02Mi0uNi0xMTEuNC01Mi4yLTExMS40LTExNC4zbDAtNTEuMmMtNDAuNy0yMS45LTc0LjUtNTUuMi05Ny05NS42IDIzLjIgMTYuNSA1MS43IDI2IDgyIDI1LjkgNzguNi0uMiAxNDIuMi02NCAxNDIuMy0xNDIuNSAuMS02Mi4zIDUwLjUtMTEyLjcgMTEyLjktMTEyLjl6bS0yNTUgMjI1LjhhMTEyLjkgMTEyLjkgMCAxIDEgMC0yMjUuOCAxMTIuOSAxMTIuOSAwIDEgMSAwIDIyNS44eiJdfSxxdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWRyaWJiYmxlIixpY29uOls0NDgsNTEyLFsiZHJpYmJibGUtc3F1YXJlIl0sImYzOTciLCJNMTY1LjkgMTMyLjVjLTM4LjMgMTgtNjYuOCA1My4zLTc1LjcgOTUuNyA2LjEgLjEgNjIuNCAuMyAxMjYuNC0xNi43LTIyLjctNDAuMi00Ny4xLTc0LjEtNTAuNy03OXptMjYuMS05LjFjMy44IDUuMSAyOC42IDM4LjkgNTEgODAgNDguNi0xOC4zIDY5LjEtNDUuOSA3MS42LTQ5LjQtMzMuNi0yOS44LTc5LjMtNDEuMS0xMjIuNi0zMC42ek0yNzcuNCAzODJjLTItMTItMTAtNTMuOC0yOS4yLTEwMy42LTU1LjEgMTguOC05My44IDU2LjQtMTA4LjEgODUuNiA0MC41IDMxLjYgOTMuMyAzNi43IDEzNy4zIDE4ek0yMjcuOCAyMzIuNkMxNTkuNiAyNTMgOTMuNCAyNTIuMiA4Ny40IDI1MmwwIDQuMmMwIDM1LjEgMTMuMyA2Ny4xIDM1LjEgOTEuNCAyMi4yLTM3LjkgNjcuMS03Ny45IDExNi41LTkxLjgtMy40LTcuOC03LjItMTUuNS0xMS4xLTIzLjJsLS4xIDB6bTcyLjUgMTM2LjljMzAuNy0yMC43IDUyLjUtNTMuNiA1OC42LTkxLjYtNC42LTEuNS00Mi4zLTEyLjctODUuMS01LjggMTcuOSA0OS4xIDI1LjEgODkuMSAyNi41IDk3LjR6bS0zNC44LTExOWM0NS41LTUuNyA5MC43IDMuNCA5NS4yIDQuNC0uMy0zMi4zLTExLjgtNjEuOS0zMC45LTg1LjEtMi45IDMuOS0yNS44IDMzLjItNzYuMyA1My45IDQuOCA5LjggOC4zIDE3LjggMTIgMjYuOHpNMzg0IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjR6TTIyNCA5NmExNjAgMTYwIDAgMSAxIDAgMzIwIDE2MCAxNjAgMCAxIDEgMC0zMjB6Il19LHp4dD1xdWUsQ3h0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVpa2l0IixpY29uOls0NDgsNTEyLFtdLCJmNDAzIiwiTTQ0My45IDEyOGwwIDI1Ni0yMjUuOSAxMjgtMjE4LTEyOCAwLTIxNC4zIDg3LjYgNDUuMSAwIDExNyAxMzMuNSA3NS41IDEzNS44LTc1LjUgMC0xNTEtMTAxLjEtNTcuNiA4Ny42LTUzLjEgMTAwLjUgNTcuOXpNMzA4LjYgNDkuMWwtODQuOC00OS4xLTg4LjYgNTQuOCA4NiA0Ny4zIDg3LjQtNTN6Il19LF94dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdXBlcnBvd2VycyIsaWNvbjpbNDQ4LDUxMixbXSwiZjJkZCIsIk00NDggMzJjLTgzLjMgMTEtMTY2LjggMjItMjUwIDMzLTkyIDEyLjUtMTYzLjMgODYuNy0xNjkgMTgwLTMuMyA1NS41IDE4IDEwOS41IDU3LjggMTQ4LjJMMCA0ODBjODMuMy0xMSAxNjYuNS0yMiAyNDkuOC0zMyA5MS44LTEyLjUgMTYzLjMtODYuOCAxNjguNy0xNzkuOCAzLjUtNTUuNS0xOC0xMDkuNS01Ny43LTE0OC4yTDQ0OCAzMnpNMzY4LjMgMjY0LjNjLTQuMiA3OS41LTc0IDEzOS4yLTE1Mi44IDEzNC41LTc5LjUtNC43LTE0MC43LTcxLTEzNi4zLTE1MSA0LjUtNzkuMiA3NC4zLTEzOS4zIDE1My0xMzQuNSA3OS4zIDQuNyAxNDAuNSA3MSAxMzYuMSAxNTF6Il19LFR4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ5b3V0dWJlIixpY29uOls1NzYsNTEyLFs2MTgwMl0sImYxNjciLCJNNTQ5LjcgMTI0LjFDNTQzLjUgMTAwLjQgNTI0LjkgODEuOCA1MDEuNCA3NS41IDQ1OC45IDY0IDI4OC4xIDY0IDI4OC4xIDY0UzExNy4zIDY0IDc0LjcgNzUuNUM1MS4yIDgxLjggMzIuNyAxMDAuNCAyNi40IDEyNC4xIDE1IDE2NyAxNSAyNTYuNCAxNSAyNTYuNHMwIDg5LjQgMTEuNCAxMzIuM2M2LjMgMjMuNiAyNC44IDQxLjUgNDguMyA0Ny44IDQyLjYgMTEuNSAyMTMuNCAxMS41IDIxMy40IDExLjVzMTcwLjggMCAyMTMuNC0xMS41YzIzLjUtNi4zIDQyLTI0LjIgNDguMy00Ny44IDExLjQtNDIuOSAxMS40LTEzMi4zIDExLjQtMTMyLjNzMC04OS40LTExLjQtMTMyLjN6TTIzMi4yIDMzNy42bDAtMTYyLjQgMTQyLjcgODEuMi0xNDIuNyA4MS4yeiJdfSxMeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZW1iZXIiLGljb246WzY0MCw1MTIsW10sImY0MjMiLCJNNjM5LjkgMjU0LjZjLTEuMS0xMC43LTEwLjctNi44LTEwLjctNi44cy0xNS42IDEyLjEtMjkuMyAxMC43Yy0xMy43LTEuMy05LjQtMzItOS40LTMyczMtMjguMS01LjEtMzAuNGMtOC4xLTIuNC0xOCA3LjMtMTggNy4zcy0xMi40IDEzLjctMTguMyAzMS4ybC0xLjYgLjVzMS45LTMwLjYtLjMtMzcuNmMtMS42LTMuNS0xNi40LTMuMi0xOC44IDNzLTE0LjIgNDkuMi0xNSA2Ny4yYzAgMC0yMy4xIDE5LjYtNDMuMyAyMi44cy0yNS05LjQtMjUtOS40IDU0LjgtMTUuMyA1Mi45LTU5LjEtNDQuMi0yNy42LTQ5LTI0Yy00LjYgMy41LTI5LjQgMTguNC0zNi42IDU5LjctLjIgMS40LS43IDcuNS0uNyA3LjVzLTIxLjIgMTQuMi0zMyAxOGMwIDAgMzMtNTUuNi03LjMtODAuOS0xMS40LTYuOC0yMS4zLS41LTI3LjIgNS4zIDEzLjYtMTcuMyA0Ni40LTY0LjIgMzYuOS0xMDUuMi01LjgtMjQuNC0xOC0yNy4xLTI5LjItMjMuMS0xNyA2LjctMjMuNSAxNi43LTIzLjUgMTYuN3MtMjIgMzItMjcuMSA3OS41LTEyLjYgMTA1LjEtMTIuNiAxMDUuMS0xMC41IDEwLjItMjAuMiAxMC43LTUuNC0yOC43LTUuNC0yOC43IDcuNS00NC42IDctNTIuMS0xLjEtMTEuNi05LjktMTQuMmMtOC45LTIuNy0xOC41IDguNi0xOC41IDguNnMtMjUuNSAzOC43LTI3LjcgNDQuNmwtMS4zIDIuNC0xLjMtMS42czE4LTUyLjcgLjgtNTMuNS0yOC41IDE4LjgtMjguNSAxOC44LTE5LjYgMzIuOC0yMC40IDM2LjVsLTEuMy0xLjZzOC4xLTM4LjIgNi40LTQ3LjZjLTEuNi05LjQtMTAuNS03LjUtMTAuNS03LjVzLTExLjMtMS4zLTE0LjIgNS45LTEzLjcgNTUuMy0xNSA3MC43YzAgMC0yOC4yIDIwLjItNDYuOCAyMC40LTE4LjUgLjMtMTYuNy0xMS44LTE2LjctMTEuOHM2OC0yMy4zIDQ5LjQtNjkuMmMtOC4zLTExLjgtMTgtMTUuNS0zMS43LTE1LjMtMTMuNyAuMy0zMC4zIDguNi00MS4zIDMzLjMtNS4zIDExLjgtNi44IDIzLTcuOCAzMS41IDAgMC0xMi4zIDIuNC0xOC44LTIuOXMtMTAgMC0xMCAwLTExLjIgMTQtLjEgMTguMyAyOC4xIDYuMSAyOC4xIDYuMWMxLjYgNy41IDYuMiAxOS41IDE5LjYgMjkuNyAyMC4yIDE1LjMgNTguOC0xLjMgNTguOC0xLjNsMTUuOS04LjhzLjUgMTQuNiAxMi4xIDE2LjcgMTYuNCAxIDM2LjUtNDcuOWMxMS44LTI1IDEyLjYtMjMuNiAxMi42LTIzLjZsMS4zLS4zcy05LjEgNDYuOC01LjYgNTkuN0MxODcuNyAzMTkuNCAyMDMgMzE4IDIwMyAzMThzOC4zIDIuNCAxNS0yMS4yIDE5LjYtNDkuOSAxOS42LTQ5LjlsMS42IDBzLTUuNiA0OC4xIDMgNjMuNyAzMC45IDUuMyAzMC45IDUuMyAxNS42LTcuOCAxOC0xMC4yYzAgMCAxOC41IDE1LjggNDQuNiAxMi45IDU4LjMtMTEuNSA3OS4xLTI1LjkgNzkuMS0yNS45czEwIDI0LjQgNDEuMSAyNi43YzM1LjUgMi43IDU0LjgtMTguNiA1NC44LTE4LjZzLS4zIDEzLjUgMTIuMSAxOC42IDIwLjctMjIuOCAyMC43LTIyLjhsMjAuNy01Ny4yIDEuOSAwczEuMSAzNy4zIDIxLjUgNDMuMiA0Ny0xMy43IDQ3LTEzLjcgNi40LTMuNSA1LjMtMTQuM3ptLTU3OCA1LjNjLjgtMzIgMjEuOC00NS45IDI5LTM5IDcuMyA3IDQuNiAyMi05LjEgMzEuNC0xMy43IDkuNS0xOS45IDcuNi0xOS45IDcuNnpNMzM0LjcgMTM2LjFzMTkuMS00OS43IDIzLjYtMjUuNS00MCA5Ni4yLTQwIDk2LjJjLjUtMTYuMiAxNi40LTcwLjcgMTYuNC03MC43em0yMi44IDEzOC40Yy0xMi42IDMzLTQzLjMgMTkuNi00My4zIDE5LjZzLTMuNS0xMS44IDYuNC00NC45IDMzLjMtMjAuMiAzMy4zLTIwLjIgMTYuMiAxMi40IDMuNiA0NS41em04NC42LTE0LjZzLTMtMTAuNSA4LjEtMzAuNmMxMS0yMC4yIDE5LjYtOS4xIDE5LjYtOS4xczkuNCAxMC4yLTEuMyAyNS41LTI2LjQgMTQuMi0yNi40IDE0LjJ6Il19LCR4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJib290c3RyYXAiLGljb246WzU3Niw1MTIsW10sImY4MzYiLCJNMzMzLjUgMjAxLjRjMC0yMi4xLTE1LjYtMzQuMy00My0zNC4zbC01MC40IDAgMCA3MS4yIDQyLjUgMGMzMi44LS4xIDUwLjktMTMuMyA1MC45LTM2Ljl6TTUxNyAxODguNmMtOS41LTMwLjktMTAuOS02OC44LTkuOC05OC4xIDEuMS0zMC41LTIyLjctNTguNS01NC43LTU4LjVMMTIzLjcgMzJjLTMyLjEgMC01NS44IDI4LjEtNTQuNyA1OC41IDEgMjkuMy0uMyA2Ny4yLTkuOCA5OC4xLTkuNiAzMS0yNS43IDUwLjYtNTIuMiA1My4xbDAgMjguNWMyNi40IDIuNSA0Mi42IDIyLjEgNTIuMiA1My4xIDkuNSAzMC45IDEwLjkgNjguOCA5LjggOTguMS0xLjEgMzAuNSAyMi43IDU4LjUgNTQuNyA1OC41bDMyOC43IDBjMzIuMSAwIDU1LjgtMjguMSA1NC43LTU4LjUtMS0yOS4zIC4zLTY3LjIgOS44LTk4LjEgOS42LTMxIDI1LjctNTAuNiA1Mi4xLTUzLjFsMC0yOC41Yy0yNi4zLTIuNS00Mi41LTIyLjEtNTItNTMuMXpNMzAwLjIgMzc1LjFsLTk3LjkgMCAwLTIzOC4zIDk3LjQgMGM0My4zIDAgNzEuNyAyMy40IDcxLjcgNTkuNCAwIDI1LjMtMTkuMSA0Ny45LTQzLjUgNTEuOGwwIDEuM2MzMy4yIDMuNiA1NS41IDI2LjYgNTUuNSA1OC4zIDAgNDIuMS0zMS4zIDY3LjUtODMuMiA2Ny41em0tMTAtMTA4LjdsLTUwLjEgMCAwIDc4LjQgNTIuMyAwYzM0LjIgMCA1Mi4zLTEzLjcgNTIuMy0zOS41IDAtMjUuNy0xOC42LTM4LjktNTQuNS0zOC45eiJdfSxEeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaXR1bmVzIixpY29uOls0NDgsNTEyLFtdLCJmM2I0IiwiTTIyMy42IDgwLjNhMTcxLjMgMTcxLjMgMCAxIDAgLjIgMzQyLjUgMTcxLjMgMTcxLjMgMCAxIDAgLS4yLTM0Mi41em03OS40IDI0MGMtMy4yIDEzLjYtMTMuNSAyMS4yLTI3LjMgMjMuOC0xMi4xIDIuMi0yMi4yIDIuOC0zMS45LTUtMTEuOC0xMC0xMi0yNi40LTEuNC0zNi44IDguNC04IDIwLjMtOS42IDM4LTEyLjggMy0uNSA1LjYtMS4yIDcuNy0zLjcgMy4yLTMuNiAyLjItMiAyLjItODAuOCAwLTUuNi0yLjctNy4xLTguNC02LjEtNCAuNy05MS45IDE3LjEtOTEuOSAxNy4xLTUgMS4xLTYuNyAyLjYtNi43IDguMyAwIDExNi4xIC41IDExMC44LTEuMiAxMTguNS0yLjEgOS03LjYgMTUuOC0xNC45IDE5LjYtOC4zIDQuNi0yMy40IDYuNi0zMS40IDUuMi0yMS40LTQtMjguOS0yOC43LTE0LjQtNDIuOSA4LjQtOCAyMC4zLTkuNiAzOC0xMi44IDMtLjUgNS42LTEuMiA3LjctMy43IDUtNS43IC45LTEyNyAyLjYtMTMzLjcgLjQtMi42IDEuNS00LjggMy41LTYuNCAyLjEtMS43IDUuOC0yLjcgNi43LTIuNyAxMDEtMTkgMTEzLjMtMjEuNCAxMTUuMS0yMS40IDUuNy0uNCA5IDMgOSA4LjctLjEgMTcwLjYgLjQgMTYxLjQtMSAxNjcuNnpNMzQ1LjIgMzJMMTAyLjggMzJDNDUuOSAzMiAwIDc3LjkgMCAxMzQuOEwwIDM3Ny4yQzAgNDM0LjEgNDUuOSA0ODAgMTAyLjggNDgwbDI0Mi40IDBjNTcgMCAxMDIuOC00NS45IDEwMi44LTEwMi44bDAtMjQyLjRDNDQ4IDc3LjkgNDAyLjEgMzIgMzQ1LjIgMzJ6TTIyMy42IDU5YTE5Mi41IDE5Mi41IDAgMSAxIDAgMzg1IDE5Mi41IDE5Mi41IDAgMSAxIDAtMzg1eiJdfSxWdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXhpbmciLGljb246WzQ0OCw1MTIsWyJ4aW5nLXNxdWFyZSJdLCJmMTY5IiwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek05My44IDMyMC4yYy01LjUgMC04LjctNS4zLTYtMTAuM2w0OS4zLTg2LjdjLjEgMCAuMS0uMSAwLS4ybC0zMS40LTU0Yy0zLTUuNiAuMi0xMC4xIDYtMTAuMWw0Ni42IDBjNS4yIDAgOS41IDIuOSAxMi45IDguN2wzMS45IDU1LjNjLTEuMyAyLjMtMTggMzEuNy01MC4xIDg4LjItMy41IDYuMi03LjcgOS4xLTEyLjYgOS4xbC00Ni42IDB6bTE2My41LTMzLjRsMCAuMiA2NS41IDExOWMyLjggNS4xIC4xIDEwLjEtNiAxMC4xbC00Ni42IDBjLTUuNSAwLTkuNy0yLjktMTIuOS04LjdsLTY2LTEyMC4zYzEuOC0zLjIgMjIuOS00MC40IDYzLjMtMTExLjYgMTEuNy0yMC43IDI1LjEtNDQuMyA0MC4xLTcwLjggMy4zLTUuOCA3LjQtOC43IDEyLjUtOC43bDQ2LjkgMGM1LjctLjEgOC44IDQuNyA2IDEwTDI1Ny4zIDI4Ni44eiJdfSxBeHQ9VnVlLEV4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjc3MzLWFsdCIsaWNvbjpbMzg0LDUxMixbXSwiZjM4YiIsIk0wIDMyTDM0LjkgNDI3LjggMTkyIDQ4MCAzNDkuMSA0MjcuOCAzODQgMzIgMCAzMnptMzEzLjEgODBsLTQuOCA0Ny4zLTExNS4zIDQ5LjMtLjMgLjEgMTExLjUgMC0xMi44IDE0Ni42LTk4LjIgMjguNy05OC44LTI5LjItNi40LTczLjkgNDguOSAwIDMuMiAzOC4zIDUyLjYgMTMuMyA1NC43LTE1LjQgMy43LTYxLjYtMTY2LjMtLjUgMC0uMS0uMiAuMS0zLjYtNDYuMyAxMTIuMS00Ni43IDYuNS0yLjctMTIyLjkgMC01LjgtNDcuMyAyNDIuMiAweiJdfSxQeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlc3BhY2UiLGljb246WzUxMiw1MTIsW10sImY1YmUiLCJNMTg2LjEgMzQzLjNjLTkuNyA5LjctOS43IDI1LjMgMCAzNC45czI1LjMgOS42IDM0LjkgMEwzNzguMyAyMjEuMWMxOS4zLTE5LjMgNTAuNi0xOS4zIDY5LjkgMHMxOS4zIDUwLjYgMCA2OS45TDI5NCA0NDUuMWMxOS4zIDE5LjMgNTAuNSAxOS4zIDY5LjggMGwwIDAgMTE5LjMtMTE5LjJjMzguNi0zOC42IDM4LjYtMTAxLjEgMC0xMzkuNy0zOC42LTM4LjYtMTAxLjItMzguNi0xMzkuNyAwTDE4Ni4xIDM0My4zek00MzAuNyAyMzguNWMtOS43LTkuNy0yNS4zLTkuNy0zNC45IDBMMjM4LjUgMzk1LjdjLTE5LjMgMTkuMy01MC41IDE5LjMtNjkuOCAwbDAgMGMtOS42LTkuNi0yNS4zLTkuNy0zNC45IDBsMCAwYy05LjcgOS42LTkuNyAyNS4zIDAgMzQuOWwwIDBjMzguNiAzOC42IDEwMS4xIDM4LjYgMTM5LjcgMEw0MzAuNyAyNzMuNWM5LjYtOS43IDkuNi0yNS4zIDAtMzQuOXptLTI2MiA4Ny4zTDMyNS45IDE2OC43YzkuNi05LjYgOS42LTI1LjMgMC0zNC45LTkuNi05LjYtMjUuMy05LjYtMzQuOSAwTDEzMy43IDI5MC45Yy0xOS4zIDE5LjMtNTAuNiAxOS4zLTY5LjkgMGwwIDBjLTE5LjMtMTkuMy0xOS4zLTUwLjUgMC02OS44bDAgMCAxNTQuMi0xNTQuMmMtMTkuMy0xOS4zLTUwLjUtMTkuMy02OS44IDBsMCAwLTExOS4yIDExOS4zYy0zOC42IDM4LjYtMzguNiAxMDEuMSAwIDEzOS43IDM4LjYgMzguNiAxMDEuMSAzOC42IDEzOS43IDB6TTgxLjMgMjczLjVjOS42IDkuNiAyNS4zIDkuNiAzNC45IDBMMjczLjUgMTE2LjNjMTkuMy0xOS4zIDUwLjYtMTkuMyA2OS44IDBsMCAwYzkuNyA5LjYgMjUuMyA5LjYgMzQuOSAwczkuNi0yNS4zIDAtMzQuOWMtMzguNi0zOC42LTEwMS4xLTM4LjYtMTM5LjcgMEw4MS4zIDIzOC41Yy05LjYgOS42LTkuNiAyNS4zIDAgMzQuOWwwIDB6Il19LEl4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0cmVsbG8iLGljb246WzQ0OCw1MTIsW10sImYxODEiLCJNMzkyLjMgMzJMNTYuMSAzMmMtMzEgMC01Ni4xIDI1LjEtNTYuMSA1Ni0uMSAwIDAtNCAwIDMzNiAwIDMwLjkgMjUuMSA1NiA1NiA1NmwzMzYuMiAwYzMwLjgtLjIgNTUuNy0yNS4yIDU1LjctNTZsMC0zMzZjLjEtMzAuOC0yNC44LTU1LjgtNTUuNi01NnpNMTk3IDM3MS4zYy0uMiAxNC43LTEyLjEgMjYuNi0yNi45IDI2LjZsLTgyLjcgMGMtMTQuOCAuMS0yNi45LTExLjgtMjctMjYuNmwwLTI1NC4yYzAtMTQuOCAxMi0yNi45IDI2LjktMjYuOWw4Mi45IDBjMTQuOCAwIDI2LjkgMTIgMjYuOSAyNi45bDAgMjU0LjItLjEgMHptMTkzLjEtMTEyYzAgMTQuOC0xMiAyNi45LTI2LjkgMjYuOWwtODEgMGMtMTQuOCAwLTI2LjktMTItMjYuOS0yNi45bDAtMTQyLjFjMC0xNC44IDEyLTI2LjkgMjYuOC0yNi45bDgxLjEgMGMxNC44IDAgMjYuOSAxMiAyNi45IDI2LjlsMCAxNDIuMXoiXX0sTnh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZpYWRlbyIsaWNvbjpbNDQ4LDUxMixbXSwiZjJhOSIsIk0yNzYuNCAxNTAuNWwwIC43Yy0xNy45LTUyLjYtNDIuNi0xMDMuNC03MC44LTE1MS4yIDQzLjMgMjkuMiA2NyAxMDAgNzAuOCAxNTAuNXptMzIuNyAxMjEuN2M3LjYgMTguMiAxMSAzNy41IDExIDU3IDAgNzcuNy01Ny44IDE0MS0xMzcuOCAxMzkuNGwzLjgtLjNjNzQuMi00Ni43IDEwOS4zLTExOC42IDEwOS4zLTIwNS4xIDAtMzguMS02LjUtNzUuOS0xOC45LTExMiAxIDExLjcgMSAyMy43IDEgMzUuNCAwIDkxLjgtMTguMSAyNDEuNi0xMTYuNiAyODAtNjUuNy0xMS40LTExMS4zLTY4LjYtMTExLjMtMTM3LjQgMC03NS42IDU3LjQtMTQyLjMgMTM1LjQtMTQyLjMgMTYuOCAwIDMzLjcgMy4xIDQ5LjEgOS42IDEuNy0xNS4xIDYuNS0yOS45IDEzLjQtNDMuMy0xOS45LTcuMi00MS4yLTEwLjctNjIuNS0xMC43LTE2MS41IDAtMjM4LjcgMTk1LjktMTI5LjkgMzEzLjcgNjcuOSA3NC42IDE5MiA3My45IDI1OS44IDAgNTYuNi02MS4zIDYwLjktMTQyLjQgMzYuNC0yMDEtMTIuNyA4LTI3LjEgMTMuOS00Mi4yIDE3ek00MTguMyAxMS43Yy0zMSA2Ni41LTgxLjMgNDcuMi0xMTUuOCA4MC4xLTEyLjQgMTItMjAuNiAzNC0yMC42IDUwLjUgMCAxNC4xIDQuNSAyNy4xIDEyIDM4LjggNDcuNC0xMSA5OC4zLTQ2IDExOC4yLTkwLjctLjcgNS41LTQuOCAxNC40LTcuMiAxOS4yLTIwLjMgMzUuNy02NC42IDY1LjYtOTkuNyA4NC45IDE0LjggMTQuNCAzMy43IDI1LjggNTUgMjUuOCA3OSAwIDExMC4xLTEzNC42IDU4LjEtMjA4LjZ6Il19LFJ4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzZWFyY2hlbmdpbiIsaWNvbjpbNDQ4LDUxMixbXSwiZjNlYiIsIk0yMTQuNiAxMzAuM2wtNjcuMiAyOC4yIDAtMTE1LjMtNTQuNyAxOTAuMyA1NC43LTI0LjIgMCAxMzAuMyA2Ny4yLTIwOS4zek0xMzEuNCAzMy42bC0xLjMgNC43LTE1LjIgNTIuOUM3NC42IDEwNi43IDQ2IDE0NS44IDQ2IDE5MS41IDQ2IDI0My44IDgwLjMgMjg3LjQgMTI5LjQgMjk3bDAgNTMuNkM1MS41IDM0MC4xLTYgMjcyLjQtNiAxOTEuNi02IDExMS4xIDUzLjggNDQuNCAxMzEuNCAzMy42ek00NDIuOCA0ODAuOGMtMTEuMiAxMS4yLTIzLjEgMTIuMy0yOC42IDEwLjUtNS40LTEuOC0yNy4xLTE5LjktNjAuNC00NC40LTMzLjMtMjQuNi0zMy42LTM1LjctNDMtNTYuNy05LjQtMjAuOS0zMC40LTQyLjYtNTcuNS01Mi40bC05LjctMTQuN2MtMjQuNyAxNi45LTUzIDI2LjktODEuMyAyOC43bDIuMS02LjYgMTUuOS00OS41YzQ2LjUtMTEuOSA4MC45LTU0IDgwLjktMTA0LjIgMC01NC41LTM4LjQtMTAyLjEtOTYtMTA3LjFsMC01Mi4xYzgzLjIgNS4xIDE0OC44IDc0LjUgMTQ4LjggMTU5LjMgMCAzMy42LTExLjIgNjQuNy0yOSA5MC40bDE0LjYgOS42YzkuOCAyNy4xIDMxLjUgNDggNTIuNCA1Ny40czMyLjIgOS43IDU2LjggNDNjMjQuNiAzMy4yIDQyLjcgNTQuOSA0NC41IDYwLjNzLjcgMTcuMy0xMC41IDI4LjV6bS05LjktMTcuOWMwLTQuNC0zLjYtOC04LThzLTggMy42LTggOCAzLjYgOCA4IDggOC0zLjYgOC04eiJdfSxPeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidW5yZWFsLWVuZ2luZSIsaWNvbjpbNTEyLDUxMixbXSwiZTg1YyIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnptNjUuNS0xMTMuN2wtMjUuMS0yOC4zLTQyLjQgNDIuNmMtMjQuMS0uMy00Ny45LTYuMi02OS4zLTE3LjJzLTQwLjEtMjYuOS01NC41LTQ2LjNjNC41IDEuNCA5LjIgMi4zIDEzLjkgMi42IDYuOSAuMSAxNC41LTIuNCAxNC41LTE0LjFsMC0xMTUuMWMuMS0zLS41LTUuOS0xLjctOC42cy0zLjEtNS01LjQtNi45LTUtMy4xLTcuOS0zLjctNS45LS41LTguOCAuMmMtMTkuNiA0LjUtMzUuMyA1My41LTM1LjMgNTMuNS0uMi0yMi42IDQuNS00NSAxMy44LTY1LjZzMjMtMzkgNDAuMS01My44YzIyLjUtMTkuNSA1MC4xLTMyLjIgNzkuNi0zNi43LTIxLjQgMTIuMi0zMy41IDMyLjEtMzMuNSA0OC45IDAgMjYuOSAxNi4yIDIzLjYgMjEgMTkuN2wwIDE1NS4zYy44IDEuOSAxLjkgMy44IDMuMiA1LjUgMi4xIDMgNSA1LjQgOC4yIDdzNi45IDIuNSAxMC41IDIuNWMxNi4yIDAgMzcuMy0xOC41IDM3LjMtMTguNWwwLTEyNS43YzAtMTIuOC05LjYtMjguMi0xOS4zLTMzLjUgMCAwIDE3LjktMy4yIDMxLjcgNy40IDIuNi0zLjIgNS4zLTYuMiA4LjItOS4xIDMyLjItMzEuNiA2Mi41LTQwLjYgODcuNy00NS4xIDAgMC00NS45IDM2LjEtNDUuOSA4NC41IDAgMzYgLjkgMTIzLjggLjkgMTIzLjggMTcgMTYuNCA0Mi40LTcuMyA2NS4yLTMwLjgtNC40IDIxLjMtMjQgNzUuOS04Ni42IDEwNS40eiJdfSxGeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGF5cGFsIixpY29uOlszODQsNTEyLFtdLCJmMWVkIiwiTTExMS45IDI5NS45Yy0zLjUgMTkuMi0xNy40IDEwOC43LTIxLjUgMTM0LS4zIDEuOC0xIDIuNS0zIDIuNWwtNzQuNiAwYy03LjYgMC0xMy4xLTYuNi0xMi4xLTEzLjlMNTkuMyA0Ni42YzEuNS05LjYgMTAuMS0xNi45IDIwLTE2LjkgMTUyLjMgMCAxNjUuMS0zLjcgMjA0IDExLjQgNjAuMSAyMy4zIDY1LjYgNzkuNSA0NCAxNDAuMy0yMS41IDYyLjYtNzIuNSA4OS41LTE0MC4xIDkwLjMtNDMuNCAuNy02OS41LTctNzUuMyAyNC4yek0zNTcuNiAxNTJjLTEuOC0xLjMtMi41LTEuOC0zIDEuMy0yIDExLjQtNS4xIDIyLjUtOC44IDMzLjYtMzkuOSAxMTMuOC0xNTAuNSAxMDMuOS0yMDQuNSAxMDMuOS02LjEgMC0xMC4xIDMuMy0xMC45IDkuNC0yMi42IDE0MC40LTI3LjEgMTY5LjctMjcuMSAxNjkuNy0xIDcuMSAzLjUgMTIuOSAxMC42IDEyLjlsNjMuNSAwYzguNiAwIDE1LjctNi4zIDE3LjQtMTQuOSAuNy01LjQtMS4xIDYuMSAxNC40LTkxLjMgNC42LTIyIDE0LjMtMTkuNyAyOS4zLTE5LjcgNzEgMCAxMjYuNC0yOC44IDE0Mi45LTExMi4zIDYuNS0zNC44IDQuNi03MS40LTIzLjgtOTIuNnoiXX0sQnh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1ibHVlc2t5IixpY29uOls0NDgsNTEyLFtdLCJlNmEzIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTIyNCAyNDcuNGMxNC41LTMwIDU0LTg1LjggOTAuNy0xMTMuMyAyNi41LTE5LjkgNjkuMy0zNS4yIDY5LjMgMTMuNyAwIDkuOC01LjYgODIuMS04LjkgOTMuOC0xMS40IDQwLjgtNTMgNTEuMi05MCA0NC45IDY0LjcgMTEgODEuMiA0Ny41IDQ1LjYgODQtNjcuNSA2OS4zLTk3LTE3LjQtMTA0LjYtMzkuNmwtLjMtLjljLS45LTIuNi0xLjQtNC4xLTEuOC00LjFzLS45IDEuNS0xLjggNC4xYy0uMSAuMy0uMiAuNi0uMyAuOS03LjYgMjIuMi0zNy4xIDEwOC44LTEwNC42IDM5LjYtMzUuNS0zNi41LTE5LjEtNzMgNDUuNi04NC0zNyA2LjMtNzguNi00LjEtOTAtNDQuOS0zLjMtMTEuNy04LjktODQtOC45LTkzLjggMC00OC45IDQyLjktMzMuNSA2OS4zLTEzLjcgMzYuNyAyNy41IDc2LjIgODMuNCA5MC43IDExMy4zeiJdfSxIeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZC1hbmQtZC1iZXlvbmQiLGljb246WzY0MCw1MTIsW10sImY2Y2EiLCJNMzEzLjggMjQxLjVjMTMuOCAwIDIxLTEwLjEgMjQuOC0xNy45LTEtMS4xLTUtNC4yLTcuNC02LjYtMi40IDQuMy04LjIgMTAuNy0xMy45IDEwLjctMTAuMiAwLTE1LjQtMTQuNy0zLjItMjYuNi0uNS0uMi00LjMtMS44LTggMi40IDAtMyAxLTUuMSAyLjEtNi42LTMuNSAxLjMtOS44IDUuNi0xMS40IDcuOSAuMi01LjggMS42LTcuNSAuNi05bC0uMi0uMnMtOC41IDUuNi05LjMgMTQuN2MwIDAgMS4xLTEuNiAyLjEtMS45IC42LS4zIDEuMyAwIC42IDEuOS0uMiAuNi01LjggMTUuNyA1LjEgMjYtLjYtMS42LTEuOS03LjYgMi40LTEuOS0uMyAuMSA1LjggNy4xIDE1LjcgNy4xem01Mi40LTIxLjFjMC00LTQuOS00LjQtNS42LTQuNSAyIDMuOSAuOSA3LjUgLjIgOSAyLjUtLjQgNS40LTEuNiA1LjQtNC41em0xMC4zIDUuMmMwLTYuNC02LjItMTEuNC0xMy41LTEwLjcgOCAxLjMgNS42IDEzLjgtNSAxMS40IDMuNy0yLjYgMy4yLTkuOS0xLjMtMTIuNSAxLjQgNC4yLTMgOC4yLTcuNCA0LjYtMi40LTEuOS04LTYuNi0xMC42LTguNi0yLjQtMi4xLTUuNS0xLTYuNi0xLjgtMS4zLTEuMS0uNS0zLjgtMi4yLTUtMS42LS44LTMtLjMtNC44LTEtMS42LS42LTIuNy0xLjktMi42LTMuNS0yLjUgNC40IDMuNCA2LjMgNC41IDguNSAxIDEuOS0uOCA0LjggNCA4LjUgMTQuOCAxMS42IDkuMSA4IDEwLjQgMTguMSAuNiA0LjMgNC4yIDYuNyA2LjQgNy40LTIuMS0xLjktMi45LTYuNCAwLTkuMyAwIDEzLjkgMTkuMiAxMy4zIDIzLjEgNi40LTIuNCAxLjEtNy0uMi05LTEuOSA3LjcgMSAxNC4yLTQuMSAxNC42LTEwLjZ6bS0zOS40LTE4LjRjMiAuOCAxLjYgLjcgNi40IDQuNSAxMC4yLTI0LjUgMjEuNy0xNS43IDIyLTE1LjUgMi4yLTEuOSA5LjgtMy44IDEzLjgtMi43LTIuNC0yLjctNy41LTYuMi0xMy4zLTYuMi00LjcgMC03LjQgMi4yLTggMS4zLS44LTEuNCAzLjItMy40IDMuMi0zLjQtNS40IC4yLTkuNiA2LjctMTEuMiA1LjktMS4xLS41IDEuNC0zLjcgMS40LTMuNy01LjEgMi45LTkuMyA5LjEtMTAuMiAxMyA0LjYtNS44IDEzLjgtOS44IDE5LjctOS0xMC41IC41LTE5LjUgOS43LTIzLjggMTUuOHptMjQyLjUgNTEuOWMtMjAuNyAwLTQwIDEuMy01MC4zIDIuMWw3LjQgOC4yIDAgNzcuMi03LjQgOC4yYzEwLjQgLjggMzAuOSAyLjEgNTEuNiAyLjEgNDIuMSAwIDU5LjEtMjAuNyA1OS4xLTQ4LjkgMC0yOS4zLTIzLjItNDguOS02MC40LTQ4Ljl6bS0xNS4xIDc1LjZsMC01My4zYzMwLjEtMy4zIDQ2LjggMy44IDQ2LjggMjYuMyAwIDI1LjYtMjEuNCAzMC4yLTQ2LjggMjd6TTMwMS42IDE4MWMtMS0zLjQtLjItNi45IDEuMS05LjQgMSAzIDIuNiA2LjQgNy41IDktLjUtMi40LS4yLTUuNiAuNS04LTEuNC01LjQgMi4xLTkuOSA2LjQtOS45IDYuOSAwIDguNSA4LjggNC43IDE0LjQgMi4xIDMuMiA1LjUgNS42IDcuNyA3LjggMy4yLTMuNyA1LjUtOS41IDUuNS0xMy44IDAtOC4yLTUuNS0xNS45LTE2LjctMTYuNS0yMC0uOS0yMC4yIDE2LjYtMjAgMTguOSAuNSA1LjIgMy40IDcuOCAzLjMgNy41em0tLjQgNmMtLjUgMS44LTcgMy43LTEwLjIgNi45IDQuOC0xIDctLjIgNy44IDEuOCAuNSAxLjQtLjIgMy40LS41IDUuNiAxLjYtMS44IDctNS41IDExLTYuMi0xLS4zLTMuNC0uOC00LjMtLjggMi45LTMuNCA5LjMtNC41IDEyLjgtMy43LTIuMi0uMi02LjcgMS4xLTguNSAyLjYgMS42IC4zIDMgLjYgNC4zIDEuMS0yLjEgLjgtNC44IDMuNC01LjggNi4xIDctNSAxMy4xIDUuMiA3IDguMiAuOCAuMiAyLjcgMCAzLjUtLjUtLjMgMS4xLTEuOSAzLTMgMy40IDIuOSAwIDctMS45IDguMi00LjYgMCAwLTEuOCAuNi0yLjYtLjJzLjMtNC4zIC4zLTQuM2MtMi4zIDIuOS0zLjQtMS4zLTEuMy00LjItMS0uMy0zLjUtLjYtNC42LS41IDMuMi0xLjEgMTAuNC0xLjggMTEuMi0uMyAuNiAxLjEtMSAzLjQtMSAzLjQgNC0uNSA4LjMgMS4xIDYuNyA1LjEgMi45LTEuNCA1LjUtNS45IDQuOC0xMC40LS4zIDEtMS42IDIuNC0yLjkgMi43IC4yLTEuNC0xLTIuMi0xLjktMi42IDEuNy05LjYtMTQuNi0xNC4yLTE0LjEtMjMuOS0xIDEuMy0xLjggNS0uOCA3LjEgMi43IDMuMiA4LjcgNi43IDEwLjEgMTIuMi0yLjYtNi40LTE1LjEtMTEuNC0xNC42LTIwLjItMS42IDEuNi0yLjYgNy44LTEuMyAxMSAyLjQgMS40IDQuNSAzLjggNC44IDYuMS0yLjItNS4xLTExLjQtNi4xLTEzLjktMTIuMi0uNiAyLjItLjMgNSAxIDYuNyAwIDAtMi4yLS44LTctLjYgMS43IC42IDUuMSAzLjUgNC44IDUuMnptMjUuOSA3LjRjLTIuNyAwLTMuNS0yLjEtNC4yLTQuMyAzLjMgMS4zIDQuMiA0LjMgNC4yIDQuM3ptMzguOSAzLjdsLTEtLjZjLTEuMS0xLTIuOS0xLjQtNC43LTEuNC0yLjkgMC01LjggMS4zLTcuNSAzLjQtLjggLjgtMS40IDEuOC0yLjEgMi42bDAgMTUuN2MzLjUgMi42IDcuMS0yLjkgMy03LjIgMS41IC4zIDQuNiAyLjcgNS4xIDMuMiAwIDAgMi42LS41IDUtLjUgMi4xIDAgMy45IC4zIDUuNiAxLjFsMC0xOC40Yy0xLjEgLjUtMi4yIDEtMi43IDEuNGwtLjcgLjd6TTc5LjkgMzA1LjljMTcuMi00LjYgMTYuMi0xOCAxNi4yLTE5LjkgMC0yMC42LTI0LjEtMjUtMzctMjVsLTU2LjEgMCA4LjMgOC42IDAgMjkuNS0xMS4zIDAgMTEuNCAxNC42IDAgMzIuMy04LjQgOC42YzYxLjcgMCA3My44IDEuNSA4Ni40LTUuOSA2LjctNCA5LjktOS44IDkuOS0xNy42IDAtNS4xIDIuNi0xOC44LTE5LjQtMjUuMnpNMzguNiAyNzguNGMyMCAwIDI5LjYtLjggMjkuNiA5LjFsMCAzYzAgMTIuMS0xOSA4LjgtMjkuNiA4LjhsMC0yMC45em0wIDU5LjJsMC0yMi42YzEyLjIgMCAzMi43LTIuMyAzMi43IDguOGwwIDQuNSAuMiAwYzAgMTEuMi0xMi41IDkuMy0zMi45IDkuM3ptMTAxLjItMTkuM2wyMy4xIC4yIDAtLjIgMTQuMS0yMS4yLTM3LjIgMCAwLTE0LjkgNTIuNCAwLTE0LjEtMjEgMC0uMi03My41IC4yIDcuNCA4LjIgMCA3Ny4xLTcuNCA4LjIgODEuMiAwIDE0LjEtMjEuMi02MC4xIC4yIDAtMTUuNHptMjE0LjctNjAuMWMtNzMuOSAwLTc3LjUgOTkuMy0uMyA5OS4zIDc3LjkgMCA3NC4xLTk5LjMgLjMtOTkuM3ptLS4zIDc3LjVjLTM3LjQgMC0zNi45LTU1LjMgLjItNTUuMyAzNi44IC4xIDM4LjggNTUuMy0uMiA1NS4zem0tOTEuMy04LjNsNDQuMS02Ni4yLTQxLjcgMCA2LjEgNy4yLTIwLjUgMzcuMi0uMyAwLTIxLTM3LjIgNi40LTcuMi00NC45IDAgNDQuMSA2NS44IC4yIDE5LjQtNy43IDguMiA0Mi42IDAtNy4yLTguMi0uMi0xOXpNMjM0LjUgMTc2LjFjMS42IDEuMyAyLjkgMi40IDIuOSA2LjZsMCAzOC44YzAgNC4yLS44IDUuMy0yLjcgNi40LS4xIC4xLTcuNSA0LjUtNy45IDQuNmwzNS4xIDBjMTAgMCAxNy40LTEuNSAyNi04LjYtLjYtNSAuMi05LjUgLjgtMTIgMC0uMi0xLjggMS40LTIuNyAzLjUgMC01LjcgMS42LTE1LjQgOS42LTIwLjUtLjEgMC0zLjctLjgtOSAxLjEgMi0zLjEgMTAtNy45IDEwLjQtNy45LTguMi0yNi0zOC0yMi45LTMyLjItMjIuOS0zMC45IDAtMzIuNiAuMy0zOS45LTQgLjEgLjggLjUgOC4yIDkuNiAxNC45em0yMS41IDUuNWM0LjYgMCAyMy4xLTMuMyAyMy4xIDE3LjMgMCAyMC43LTE4LjQgMTcuMy0yMy4xIDE3LjNsMC0zNC42em0yMjguOSA3OS42bDcgOC4zIDAgNDIuNS0uMyAwYy01LjQtMTQuNC00Mi4zLTQxLjUtNDUuMi01MC45bC0zMS42IDAgNy40IDguNSAwIDc2LjktNy4yIDguMyAzOSAwLTcuNC04LjIgMC00Ny40IC4zIDBjMy43IDEwLjYgNDQuNSA0Mi45IDQ4LjUgNTUuNmwyMS4zIDAgMC04NS4yIDcuNC04LjMtMzkuMi0uMXpNMzc4LjIgMTY1LjFjLTMyLjIgMC0zMi44IC4yLTM5LjktNCAuMSAuNyAuNSA4LjMgOS42IDE0LjkgMy4xIDIgMi45IDQuMyAyLjkgOS41IDEuOC0xLjEgMy44LTIuMiA2LjEtMy0xLjEgMS4xLTIuNyAyLjctMy41IDQuNSAxLTEuMSA3LjUtNS4xIDE0LjYtMy41LTEuNiAuMy00IDEuMS02LjEgMi45IC4xIDAgMi4xLTEuMSA3LjUtLjNsMC00LjNjNC43IDAgMjMuMS0zLjQgMjMuMSAxNy4zIDAgMjAuNS0xOC41IDE3LjMtMTkuNyAxNy4zIDUuNyA0LjQgNS44IDEyIDIuMiAxNi4zbC4zIDBjMzMuNCAwIDM2LjctMjcuMyAzNi43LTM0IDAtMy44LTEuMS0zMi0zMy44LTMzLjZ6Il19LHF4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtaWNyb3NvZnQiLGljb246WzQ0OCw1MTIsW10sImYzY2EiLCJNMCAzMmwyMTQuNiAwIDAgMjE0LjYtMjE0LjYgMCAwLTIxNC42em0yMzMuNCAwbDIxNC42IDAgMCAyMTQuNi0yMTQuNiAwIDAtMjE0LjZ6TTAgMjY1LjRsMjE0LjYgMCAwIDIxNC42LTIxNC42IDAgMC0yMTQuNnptMjMzLjQgMGwyMTQuNiAwIDAgMjE0LjYtMjE0LjYgMCAwLTIxNC42eiJdfSxWeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmx5IixpY29uOlszMjAsNTEyLFtdLCJmNDE3IiwiTTE2NS45IDQyNy44YzEyLjkgMTEuNyAzMy43IDMzLjMgMzMuMiA1MC43IDAgLjgtLjEgMS42LS4xIDIuNS0xLjggMTkuOC0xOC44IDMxLjEtMzkuMSAzMS0yNS0uMS0zOS45LTE2LjgtMzguNy0zNS44IDEtMTYuMiAyMC41LTM2LjcgMzIuNC00Ny42IDIuMy0yLjEgMi43LTIuNyA1LjYtMy42IDMuNCAwIDMuOSAuMyA2LjcgMi44ek0zMDAgNjcuM2MtMTYuMy0yNS43LTM4LjYtNDAuNi02My4zLTUyLjEtMjUuNS0xMC43LTU0LjYtMTUuNC03Ni42LTE1LjItNDQuMSAwLTcxLjIgMTMuMi04MS4xIDE3LjMtNTMuNiAyNy45LTg0LjQgNjkuOS04Mi45IDE0MS4zIDcuMSA4Mi4yIDk3IDE3NiAxNTUuOCAyMzMuOCAxLjcgMS42IDQuNSA0LjUgNi4yIDUuMWwzLjMgLjFjMi4xLS43IDEuOC0uNSAzLjUtMi4xIDUyLjMtNDkuMiAxNDAuNy0xNDUuOCAxNTUuOS0yMTUuNyA3LTM5LjIgMy4xLTcyLjUtMjAuOC0xMTIuNXpNMTU0LjkgMzUxLjljLTI4LTUxLjEtNjUuMi0xMzAuNy02OS4zLTE4OS0zLjQtNDcuNSAxMS40LTEzMS4yIDY5LjMtMTM2LjdsMCAzMjUuN3pNMjk2LjggMTgwYy0xNi40IDU2LjgtNzcuMyAxMjgtMTE4LjkgMTcwLjMgMjcuOC01MS45IDY1LjItMTMzLjMgNjcuMi0xOTEuOSAxLjYtNDUuOS05LjgtMTA1LjgtNDgtMTMxLjQgODguOCAxOC4zIDExNS41IDk4LjEgOTkuNyAxNTN6Il19LGp4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYy1zdHJpcGUiLGljb246WzU3Niw1MTIsW10sImYxZjUiLCJNNDkyLjQgMjIwLjhjLTguOSAwLTE4LjcgNi43LTE4LjcgMjIuN2wzNi43IDBjMC0xNi05LjMtMjIuNy0xOC0yMi43ek0zNzUgMjIzLjRjLTguMiAwLTEzLjMgMi45LTE3IDdsLjIgNTIuOGMzLjUgMy43IDguNSA2LjcgMTYuOCA2LjcgMTMuMSAwIDIxLjktMTQuMyAyMS45LTMzLjQgMC0xOC42LTktMzMuMi0yMS45LTMzLjF6TTUyOCAzMkw0OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwTDAgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDQ4MCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzUyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0xMjIuMiAyODEuMWMwIDI1LjYtMjAuMyA0MC4xLTQ5LjkgNDAuMy0xMi4yIDAtMjUuNi0yLjQtMzguOC04LjFsMC0zMy45YzEyIDYuNCAyNy4xIDExLjMgMzguOSAxMS4zIDcuOSAwIDEzLjYtMi4xIDEzLjYtOC43IDAtMTctNTQtMTAuNi01NC00OS45IDAtMjUuMiAxOS4yLTQwLjIgNDgtNDAuMiAxMS44IDAgMjMuNSAxLjggMzUuMyA2LjVsMCAzMy40Yy0xMC44LTUuOC0yNC41LTkuMS0zNS4zLTkuMS03LjUgMC0xMi4xIDIuMi0xMi4xIDcuNyAwIDE2IDU0LjMgOC40IDU0LjMgNTAuN3pNMTkxIDIyNC41bC0yNyAwIDAgNTAuNWMwIDIwLjkgMjIuNSAxNC40IDI3IDEyLjZsMCAyOC45Yy00LjcgMi42LTEzLjMgNC43LTI0LjkgNC43LTIxLjEgMC0zNi45LTE1LjUtMzYuOS0zNi41bC4yLTExMy45IDM0LjctNy40IDAgMzAuOCAyNi45IDAgMCAzMC4zem03NCAyLjRjLTQuNS0xLjUtMTguNy0zLjYtMjcuMSA3LjRsMCA4NC40LTM1LjUgMCAwLTEyNC41IDMwLjcgMCAyLjIgMTAuNWM4LjMtMTUuMyAyNC45LTEyLjIgMjkuNi0xMC41bC4xIDAgMCAzMi43em00NC4xIDkxLjhsLTM1LjcgMCAwLTEyNC41IDM1LjcgMCAwIDEyNC41em0wLTE0Mi45bC0zNS43IDcuNiAwLTI4LjkgMzUuNy03LjYgMCAyOC45em03NC4xIDE0NS41Yy0xMi40IDAtMjAtNS4zLTI1LjEtOWwtLjEgNDAuMi0zNS41IDcuNSAwLTE2NS44IDMxLjMgMCAxLjggOC44YzQuOS00LjUgMTMuOS0xMS4xIDI3LjgtMTEuMSAyNC45IDAgNDguNCAyMi41IDQ4LjQgNjMuOCAwIDQ1LjEtMjMuMiA2NS41LTQ4LjYgNjUuNnptMTYwLjQtNTEuNWwtNjkuNSAwYzEuNiAxNi42IDEzLjggMjEuNSAyNy42IDIxLjUgMTQuMSAwIDI1LjItMyAzNC45LTcuOWwwIDI4LjZjLTkuNyA1LjMtMjIuNCA5LjItMzkuNCA5LjItMzQuNiAwLTU4LjgtMjEuNy01OC44LTY0LjUgMC0zNi4yIDIwLjUtNjQuOSA1NC4zLTY0LjkgMzMuNyAwIDUxLjMgMjguNyA1MS4zIDY1LjEgMCAzLjUtLjMgMTAuOS0uNCAxMi45eiJdfSxVeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid29yZHByZXNzLXNpbXBsZSIsaWNvbjpbNTEyLDUxMixbXSwiZjQxMSIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTMzIDI1NmMwLTMyLjMgNi45LTYzIDE5LjMtOTAuN0wxNTguNyA0NTYuN0M4NC4zIDQyMC41IDMzIDM0NC4yIDMzIDI1NnpNMjU2IDQ3OWMtMjEuOSAwLTQzLTMuMi02My05LjFsNjYuOS0xOTQuNCA2OC41IDE4Ny44Yy41IDEuMSAxIDIuMSAxLjYgMy4xLTIzLjEgOC4xLTQ4IDEyLjYtNzQgMTIuNnptMzAuNy0zMjcuNWMxMy40LS43IDI1LjUtMi4xIDI1LjUtMi4xIDEyLTEuNCAxMC42LTE5LjEtMS40LTE4LjQgMCAwLTM2LjEgMi44LTU5LjQgMi44LTIxLjkgMC01OC43LTIuOC01OC43LTIuOC0xMi0uNy0xMy40IDE3LjctMS40IDE4LjQgMCAwIDExLjQgMS40IDIzLjQgMi4xbDM0LjcgOTUuMi00OC44IDE0Ni4zLTgxLjItMjQxLjVjMTMuNC0uNyAyNS41LTIuMSAyNS41LTIuMSAxMi0xLjQgMTAuNi0xOS4xLTEuNC0xOC40IDAgMC0zNi4xIDIuOC01OS40IDIuOC00LjIgMC05LjEtLjEtMTQuNC0uMyAzOS45LTYwLjUgMTA4LjQtMTAwLjUgMTg2LjMtMTAwLjUgNTggMCAxMTAuOSAyMi4yIDE1MC42IDU4LjUtMS0uMS0xLjktLjItMi45LS4yLTIxLjkgMC0zNy40IDE5LjEtMzcuNCAzOS42IDAgMTguNCAxMC42IDMzLjkgMjEuOSA1Mi4zIDguNSAxNC44IDE4LjQgMzMuOSAxOC40IDYxLjUgMCAxOS4xLTcuMyA0MS4yLTE3IDcyLjFsLTIyLjIgNzQuMy04MC43LTIzOS42em04MS40IDI5Ny4ybDY4LjEtMTk2LjljMTIuNy0zMS44IDE3LTU3LjIgMTctNzkuOSAwLTguMi0uNS0xNS44LTEuNS0yMi45IDE3LjQgMzEuOCAyNy4zIDY4LjIgMjcuMyAxMDcgMCA4Mi4zLTQ0LjYgMTU0LjEtMTEwLjkgMTkyLjd6Il19LFd4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzZWxsc3kiLGljb246WzY0MCw1MTIsW10sImYyMTMiLCJNNTQwIDIzNy4zYzMuMS0xMi4zIDQuMy0yNC44IDQuMy0zNy40IDAtOTIuNS03NS40LTE2Ny45LTE2Ny45LTE2Ny45LTc3LjIgMC0xNDQuNiA1My0xNjMgMTI3LjgtMTUuMy0xMy4yLTM0LjktMjAuNS01NS4yLTIwLjUtNDYuMyAwLTg0IDM3LjctODQgODQgMCA3LjQgLjkgMTUgMy4xIDIyLjQtNDIuOSAyMC4yLTcwLjggNjMuNy03MC44IDExMS4yIDAgNjggNTUuNSAxMjMuMiAxMjMuMiAxMjMuMmwzODEuMiAwYzY3LjcgMCAxMjMuMi01NS4yIDEyMy4yLTEyMy4yIDAtNTYuNC0zOC45LTEwNi05NC4xLTExOS41ek0yMDAuMiA0MDEuNmMwIDguMy03IDE1LjMtMTUuMyAxNS4zbC0zMC45IDBjLTguMyAwLTE1LjMtNy0xNS4zLTE1LjNsMC0xMTAuOWMwLTguMyA3LTE1LjMgMTUuMy0xNS4zbDMwLjkgMGM4LjMgMCAxNS4zIDcgMTUuMyAxNS4zbDAgMTEwLjl6bTg5LjUgMGMwIDguMy03IDE1LjMtMTUuMyAxNS4zbC0zMC45IDBjLTguMyAwLTE1LjMtNy0xNS4zLTE1LjNsMC0xMzEuNWMwLTguMyA3LTE1LjMgMTUuMy0xNS4zbDMwLjkgMGM4LjMgMCAxNS4zIDcgMTUuMyAxNS4zbDAgMTMxLjV6bTg5LjUgMGMwIDguMy03IDE1LjMtMTUuMyAxNS4zbC0zMSAwYy04LjMgMC0xNS4zLTctMTUuMy0xNS4zbDAtMTYyLjdjMC04LjMgNy0xNS4zIDE1LjMtMTUuM2wzMSAwYzguMyAwIDE1LjMgNyAxNS4zIDE1LjNsMCAxNjIuN3ptODcgMGMwIDguMy03IDE1LjMtMTUuMyAxNS4zbC0yOC41IDBjLTguMyAwLTE1LjMtNy0xNS4zLTE1LjNsMC0yMjQuNmMwLTguNiA3LTE1LjYgMTUuMy0xNS42bDI4LjUgMGM4LjMgMCAxNS4zIDcgMTUuMyAxNS42bDAgMjI0LjZ6Il19LEd4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkYXNoY3ViZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjIxMCIsIk0zMjYuOSAxMDRsLTIxNi4yIDBjLTUxLjEgMC05MS4yIDQzLjMtOTEuMiA5My41bDAgMjI5LjVjMCA1MC41IDQwLjEgODUgOTEuMiA4NWwyMjcuMiAwYzUxLjEgMCA5MS4yLTM0LjUgOTEuMi04NWwwLTQyNy0xMDIuMiAxMDR6TTE1NC4yIDQxNi41Yy0xNy43IDAtMzIuNC0xNS4xLTMyLjQtMzIuOGwwLTE0Mi45YzAtMTcuNyAxNC43LTMyLjUgMzIuNC0zMi41bDE0MC43IDBjMTcuNyAwIDMyIDE0LjggMzIgMzIuNWwwIDEyMy41IDUxLjEgNTIuMy0yMjMuOCAwIDAtLjF6Il19LFl4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnaXR0ZXIiLGljb246WzM4NCw1MTIsW10sImY0MjYiLCJNNjYuNCAzMjIuNWwtNTAuNCAwIDAtMzIyLjUgNTAuNCAwIDAgMzIyLjV6TTE2Ni45IDc2LjFsLTUwLjQgMCAwIDQzNS45IDUwLjQgMCAwLTQzNS45em0xMDAuNiAwbC01MC40IDAgMCA0MzUuOSA1MC40IDAgMC00MzUuOXpNMzY4IDc2bC01MC40IDAgMCAyNDcgNTAuNCAwIDAtMjQ3eiJdfSxLeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid29sZi1wYWNrLWJhdHRhbGlvbiIsaWNvbjpbNDQ4LDUxMixbXSwiZjUxNCIsIk0yMzYuMiA0NzEuNWwxMC42IDE1LjggNS4zLTEyLjMgNS4zIDcgMCAyOS45YzIxLjEtNy45IDIxLjEtNjYuOSAyNS41LTk3LjIgNC42LTMxLjktLjktOTIuOCA4MS40LTE0OS4xLTguOS0yMy42LTEyLTQ5LjQtMi42LTgwIDI3LjkgMy40IDUzLjkgMTAuNiA2My4zIDU0LjFsLTMwLjMgOC40YzExLjEgMjMgMTcgNDYuOCAxMy4yIDcyLjFsLTI3LjMtNy02LjIgMzMuNC0xOC41LTctOC44IDMzLjQtMTkuNC03IDI2LjQgMjEuMSA4LjgtMjguMiAyNC42IDUuMiA3LTM1LjYgMjYuNCAxNC41Yy4yLTIwIDctNTguMS04LjgtODQuNWwyNi40IDUuM2M0LTIyLjEtMi40LTM5LjItNy45LTU2LjdsMjIuNCA5LjdjLS40LTI1LjEtMjkuOS01Ni44LTYxLjYtNTguNS0yMC4yLTEuMS01Ni43LTI1LjItNTQuMS01MS45IDItMTkuOSAxNy40LTQyLjYgNDMuMS00OS43LTQ0IDM2LjUtOS43IDY3LjMgNS4zIDczLjUgNC40LTExLjQgMTcuNS02OS4xIDAtMTMwLjItNDAuNCAyMi45LTg5LjcgNjUuMS05My4yIDE0Ny44bC01OCAzOC43LTMuNSA5My4yIDEwNy4zLTU5LjggNyA3LTE3LjYgMy41LTQ0IDM4LjctMTUuOC01LjMtMjguMSA0OS4zLTMuNSAxMTkuNiAyMS4xIDE1LjgtMzIuNSAxNS44LTMyLjYtMTUuOCAyMS4xLTE1LjgtMy41LTExOS42LTI4LjItNDkuMy0xNS44IDUuMy00NC0zOC43LTE3LjYtMy41IDctNyAxMDcuMyA1OS44LTMuNS05My4zLTU4LjEtMzguN2MtMy41LTgyLjgtNTIuNy0xMjUtOTMuMi0xNDcuOS0xNy41IDYxLjEtNC40IDExOC44IDAgMTMwLjIgMTUtNi4yIDQ5LjMtMzcgNS4zLTczLjUgMjUuNyA3LjEgNDEuMSAyOS44IDQzLjEgNDkuNyAyLjYgMjYuNy0zMy45IDUwLjgtNTQuMSA1MS45LTMxLjcgMS43LTYxLjIgMzMuNC02MS42IDU4LjVsMjIuNC05LjdDMTMuNCAyMjQuNyA3IDI0MS44IDExIDI2My45bDI2LjQtNS4zYy0xNS44IDI2LjQtOS4xIDY0LjQtOC44IDg0LjRsMjYuNC0xNC41IDcgMzUuNiAyNC42LTUuMyA4LjggMjguMiAyNi40LTIxLjEtMTkuNCA3LTguOC0zMy40LTE4LjUgNy02LjItMzMuNC0yNy4zIDdDMzggMjk0LjggNDMuOCAyNzEgNTUgMjQ4bC0zMC4zLTguNGM5LjQtNDMuNSAzNS41LTUwLjggNjMuMy01NC4xIDkuNCAzMC42IDYuMiA1Ni41LTIuNiA4MC4xIDgyLjMgNTYuMyA3Ni44IDExNy4yIDgxLjQgMTQ5LjEgNC40IDMwLjMgNC40IDg5LjMgMjUuNSA5Ny4ybDAtMjkuOCA1LjMtNyA1LjMgMTIuMyAxMC42LTE1LjggMTEuNCAyMS4xIDExLjQtMjEuMSAwIDB6bTc5LjItOTVMMjk5LjUgMzY2YzcuNS00LjQgMTMuOC04LjQgMTkuNC0xMi4zLS42IDcuMi0uMyAxMy44LTMuNSAyMi44bDAgMHptMjguMi00OS4zYy0uNCAxMC45LS45IDIxLjctMS44IDMxLjctNy44LTEuOS0xNS42LTMuOC0yMS4xLTcgOC4yLTcuOSAxNS42LTE2LjMgMjIuOS0yNC43bDAgMHptMjQuNiA1LjNjMC0xMy40LTIuMS0yNC4yLTUuMy0zMy40LTUuNSA5LjUtMTEuNyAxOC42LTE4LjUgMjcuM2wyMy44IDYuMnptMy41LTgwLjljMTkuNCAxMi44IDI3LjggMzMuNyAyOS45IDU2LjMtMTIuMy00LjUtMjQuNi05LjMtMzctMTAuNiA1LjEtMTIgNi42LTI4LjEgNy00NS43bDAgMHptLTEuOC00NS43Yy44IDE0LjMgMS44IDI4LjggMS44IDQyLjIgMTkuMi04LjEgMjkuOC05LjcgNDQtMTQuMS0xMC42LTE5LTI3LjItMjUuNS00NS44LTI4LjJsMCAwek0xMzQuMiAzNzYuNUwxNTAgMzY2Yy03LjUtNC40LTEzLjgtOC40LTE5LjQtMTIuMyAuNiA3LjMgLjMgMTMuOSAzLjUgMjIuOWwwIDB6TTEwNiAzMjcuM2MuNCAxMC45IC45IDIxLjcgMS44IDMxLjcgNy44LTEuOSAxNS42LTMuOCAyMS4xLTctOC4yLTcuOS0xNS42LTE2LjMtMjIuOS0yNC43em0tMjQuNiA1LjNjMC0xMy40IDItMjQuMiA1LjMtMzMuNCA1LjUgOS41IDExLjcgMTguNiAxOC41IDI3LjNsLTIzLjggNi4yem0tMy41LTgwLjljLTE5LjQgMTIuOC0yNy44IDMzLjctMjkuOSA1Ni4zIDEyLjMtNC41IDI0LjYtOS4zIDM3LTEwLjYtNS0xMi02LjYtMjguMS03LTQ1LjdsLS4xIDB6bTEuOC00NS43Yy0uOCAxNC4zLTEuOCAyOC44LTEuOCA0Mi4yLTE5LjItOC4xLTI5LjgtOS43LTQ0LTE0LjEgMTAuNi0xOSAyNy4yLTI1LjUgNDUuOC0yOC4xeiJdfSxaeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGFzdGZtIixpY29uOls1MTIsNTEyLFtdLCJmMjAyIiwiTTIyNS44IDM2Ny4xbC0xOC44LTUxcy0zMC41IDM0LTc2LjIgMzRjLTQwLjUgMC02OS4yLTM1LjItNjkuMi05MS41IDAtNzIuMSAzNi40LTk3LjkgNzIuMS05Ny45IDY2LjUgMCA3NC44IDUzLjMgMTAwLjkgMTM0LjkgMTguOCA1Ni45IDU0IDEwMi42IDE1NS40IDEwMi42IDcyLjcgMCAxMjItMjIuMyAxMjItODAuOSAwLTcyLjktNjIuNy04MC42LTExNS05Mi4xLTI1LjgtNS45LTMzLjQtMTYuNC0zMy40LTM0IDAtMTkuOSAxNS44LTMxLjcgNDEuNi0zMS43IDI4LjIgMCA0My40IDEwLjYgNDUuNyAzNS44bDU4LjYtN2MtNC43LTUyLjgtNDEuMS03NC41LTEwMC45LTc0LjUtNTIuOCAwLTEwNC40IDE5LjktMTA0LjQgODMuOSAwIDM5LjkgMTkuNCA2NS4xIDY4IDc2LjggNDQuOSAxMC42IDc5LjggMTMuOCA3OS44IDQ1LjcgMCAyMS43LTIxLjEgMzAuNS02MSAzMC41LTU5LjIgMC04My45LTMxLjEtOTcuOS03My45LTMyLTk2LjgtNDMuNi0xNjMtMTYxLjMtMTYzLTg2LjEgMC0xMzEuOCA1NC41LTEzMS44IDE0Ny4yIDAgODkuMSA0NS43IDEzNy4yIDEyNy45IDEzNy4yIDY2LjIgMCA5Ny45LTMxLjEgOTcuOS0zMS4xeiJdfSxYeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2hvcHdhcmUiLGljb246WzUxMiw1MTIsW10sImY1YjUiLCJNNDAzLjUgNDU1LjRjLTQyLjYgMzEuNy05NC40IDQ4LjctMTQ3LjUgNDguNi0xMzcuMiAwLTI0OC0xMTEtMjQ4LTI0OCAwLTEzNy4yIDExMS0yNDggMjQ4LTI0OCA2MS4yLS4xIDEyMC4yIDIyLjYgMTY1LjcgNjMuNSAuNiAuNSAuOSAxLjIgMS4xIDEuOXMuMSAxLjUtLjMgMi4yLS44IDEuMy0xLjUgMS42LTEuNCAuNS0yLjIgLjRjLTE4LjgtMi41LTM3LjctMy43LTU2LjctMy43LTEyOS40IDAtMjIyLjQgNTMuNS0yMjIuNCAxNTUuNCAwIDEwOSA5Mi4xIDE0NS45IDE3Ni44IDE3OC43IDMzLjYgMTMgNjUuNCAyNS40IDg3IDQxLjYgLjQgLjMgLjggLjggMS4xIDEuM3MuNCAxIC40IDEuNi0uMSAxLjEtLjQgMS42LS42IC45LTEuMSAxLjNsLS4xIDB6TTUwMyAyMzMuMWMtLjEtLjktLjUtMS44LTEuMy0yLjQtNTEuOC00My05My42LTYwLjUtMTQ0LjUtNjAuNS04NC4xIDAtODAuMyA1Mi4yLTgwLjMgNTMuNiAwIDQyLjYgNTIuMSA2MiAxMTIuMyA4NC41IDMxLjEgMTEuNiA2My4yIDIzLjYgOTIuNyAzOS45IC40IC4yIC45IC40IDEuNCAuNHMxIDAgMS41LS4yIC45LS40IDEuMy0uOCAuNi0uOCAuOC0xLjJjMTQuMS0zNiAxOS41LTc0LjggMTYtMTEzLjN6Il19LFF4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJibG9nZ2VyIixpY29uOls0NDgsNTEyLFtdLCJmMzdjIiwiTTE2Mi40IDE5NmM0LjgtNC45IDYuMi01LjEgMzYuNC01LjEgMjcuMiAwIDI4LjEgLjEgMzIuMSAyLjEgNS44IDIuOSA4LjMgNyA4LjMgMTMuNiAwIDUuOS0yLjQgMTAtNy42IDEzLjQtMi44IDEuOC00LjUgMS45LTMxLjEgMi4xLTE2LjQgLjEtMjkuNS0uMi0zMS41LS44LTEwLjMtMi45LTE0LjEtMTcuNy02LjYtMjUuM3ptNjEuNCA5NC41Yy01My45IDAtNTUuOCAuMi02MC4yIDQuMS0zLjUgMy4xLTUuNyA5LjQtNS4xIDEzLjkgLjcgNC43IDQuOCAxMC4xIDkuMiAxMiAyLjIgMSAxNC4xIDEuNyA1Ni4zIDEuMmw0Ny45LS42IDkuMi0xLjVjOS01LjEgMTAuNS0xNy40IDMuMS0yNC40LTUuMy00LjctNS00LjctNjAuNC00Ljd6TTQ0Ny4yIDQyMC42Yy0zLjUgMjguNC0yMyA1MC40LTUxLjEgNTcuNS03LjIgMS44LTkuNyAxLjktMTcyLjkgMS44LTE1Ny44IDAtMTY1LjktLjEtMTcyLTEuOC04LjQtMi4yLTE1LjYtNS41LTIyLjMtMTAtNS42LTMuOC0xMy45LTExLjgtMTctMTYuNC0zLjgtNS42LTguMi0xNS4zLTEwLTIyUzAgNDIwLjMgMCAyNTYuM2MwLTE2My4xIDAtMTY2LjYgMS44LTE3My43IDYuMy0yNC43IDI1LjktNDMuNiA1MS4yLTQ5LjIgNy4zLTEuNiAzMzIuMS0xLjkgMzQwLS4zIDIxLjIgNC4zIDM3LjkgMTcuMSA0Ny42IDM2LjQgNy43IDE1LjMgNy0xLjUgNy4zIDE4MC42IC4yIDExNS44IDAgMTY0LjUtLjcgMTcwLjV6TTM2MS44IDIzNS40Yy0xLjEtNS00LjItOS42LTcuNy0xMS41LTEuMS0uNi04LTEuMy0xNS41LTEuNy0xMi40LS42LTEzLjgtLjgtMTcuOC0zLjEtNi4yLTMuNi03LjktNy42LTgtMTguMyAwLTIwLjQtOC41LTM5LjQtMjUuMy01Ni41LTEyLTEyLjItMjUuMy0yMC41LTQwLjYtMjUuMS0zLjYtMS4xLTExLjgtMS41LTM5LjItMS44LTQyLjktLjUtNTIuNSAuNC02Ny4xIDYuMi0yNyAxMC43LTQ2LjMgMzMuNC01My40IDYyLjQtMS4zIDUuNC0xLjYgMTQuMi0xLjkgNjQuMy0uNCA2Mi44IDAgNzIuMSA0IDg0LjUgOS43IDMwLjcgMzcuMSA1My40IDY0LjYgNTguNCA5LjIgMS43IDEyMi4yIDIuMSAxMzMuNyAuNSAyMC4xLTIuNyAzNS45LTEwLjggNTAuNy0yNS45IDEwLjctMTAuOSAxNy40LTIyLjggMjEuOC0zOC41IDMuMi0xMC45IDIuOS04OC40IDEuNy05My45eiJdfSxKeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZWRnZSIsaWNvbjpbNTEyLDUxMixbXSwiZjI4MiIsIk0xMjAuMSAzNy40YzQxLTI1LjIgODcuNi0zOC4yIDEzNC45LTM3LjQgMTY4IDAgMjU3IDEyMy44IDI1NyAyMTkuNS0uMSAzMi43LTEzIDYzLjktMzUuOSA4Ny4yLTIyLjkgMjMuMi01NCAzNi41LTg2LjcgMzctNzUuMiAwLTkxLjUtMjMuMS05MS41LTMyIDAtMy44IDEuMi02LjIgNC44LTkuNGwxLTEuMiAuNC0xLjZjMTAuNS0xMS41IDE1LjktMjYuMiAxNS45LTQxLjYgMC03OC43LTgyLjItMTQyLjctMTg0LTE0Mi43LTM3LjUtLjMtNzQuNSA4LjktMTA3LjUgMjYuOSAyNy01Ny41IDgyLjctOTcuNiA5MS4zLTEwMy44IC44LS42IC4zLS44IC4zLS44em0xNS42IDMxOC4xYy0xLjQgMzAgNC42IDYwIDE2LjQgODcuMiAxMy42IDI2LjQgMzIuNyA1MSA1Ni41IDY5LjMtNTkuNS0xMS41LTExMS41LTQzLjktMTQ5LjQtODkuMy0zOC4xLTQ2LjQtNTkuMi0xMDQuMy01OS4yLTE2NC44IDAtNTEuMiA2Mi40LTk0LjQgMTM2LTk0LjQgMzYuNi0uNiA3Mi40IDEwLjkgMTAxLjggMzIuN2wtMy42IDEuMmMtNTEuNSAxNy42LTk4LjUgOTAuNy05OC41IDE1OC4xek00NjkuOCA0MDBsLS43IC4xYy0xMS44IDE4LjgtMjUuOSAzNS4xLTQyLjIgNDkuNS0zMC44IDI4LTY4LjEgNDUuNS0xMDguOCA0OS45LTE4LjYgLjMtMzYuOC0zLjItNTMuOC0xMS40LTI1LjYtMTAuMy00Ny4xLTMwLTYxLjYtNTMtMTQuNC0yMy45LTIxLjEtNTEuNy0xOS03OS42LS42LTIwLjEgNS40LTQwLjMgMTUtNTguMiAxMy45IDMzLjEgMzcuNSA2MS4zIDY3LjYgODAuOHM2NS41IDI5LjUgMTAxLjQgMjguNmMzMSAuMyA2Mi4xLTYuNyA5MC4yLTIwLjVsMS45LS45YzMuOS0yLjMgNy43LTMuOSAxMS42IDAgNC41IDQuOSAxLjggOS4yLTEuMiAxNC0uMiAuMi0uMyAuNS0uNCAuN3oiXX0sZXl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImlveGhvc3QiLGljb246WzY0MCw1MTIsW10sImYyMDgiLCJNNjE2IDE2MGwtNjcuMyAwQzUxMS4yIDcwLjcgNDIyLjkgOCAzMjAgOCAxODMgOCA3MiAxMTkgNzIgMjU2IDcyIDI3Mi40IDczLjYgMjg4LjUgNzYuNyAzMDRMMjQgMzA0Yy0xMy4zIDAtMjQgMTAuOC0yNCAyNCAwIDEzLjMgMTAuNyAyNCAyNCAyNGw2Ny4zIDBjMzcuNSA4OS4zIDEyNS44IDE1MiAyMjguNyAxNTIgMTM3IDAgMjQ4LTExMSAyNDgtMjQ4IDAtMTYuNC0xLjYtMzIuNS00LjctNDhsNTIuNyAwYzEzLjMgMCAyNC0xMC44IDI0LTI0IDAtMTMuMy0xMC43LTI0LTI0LTI0em0tOTYgOTZjMCAxMTAuNS04OS41IDIwMC0yMDAgMjAwLTc1LjcgMC0xNDEuNi00Mi0xNzUuNS0xMDRMNDI0IDM1MmMxMy4zIDAgMjQtMTAuOCAyNC0yNCAwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMjk4LjIgMGMtMy44LTE1LjQtNS44LTMxLjQtNS44LTQ4IDAtMTEwLjUgODkuNS0yMDAgMjAwLTIwMCA3NS43IDAgMTQxLjYgNDIgMTc1LjUgMTA0TDIxNiAxNjBjLTEzLjMgMC0yNCAxMC44LTI0IDI0IDAgMTMuMyAxMC43IDI0IDI0IDI0bDI5OC4yIDBjMy44IDE1LjQgNS44IDMxLjQgNS44IDQ4ek0yMTYgMjMybDIwOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0IDAgMTMuMi0xMC43IDI0LTI0IDI0bC0yMDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjQgMC0xMy4yIDEwLjctMjQgMjQtMjR6Il19LHR5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzY2hsaXgiLGljb246WzQ0OCw1MTIsW10sImYzZWEiLCJNMzUwLjUgMTU3LjdsLTU0LjItNDYuMSA3My40LTM5IDc4LjMgNDQuMi05Ny41IDQwLjl6TTE5MiAxMjIuMWw0NS43LTI4LjIgMzQuNyAzNC42LTU1LjQgMjktMjUtMzUuNHptLTY1LjEgNi42bDMxLjktMjIuMSAxNy4yIDI4LjQtMzYuNyAyMi41LTEyLjQtMjguOHptLTIzLjMgODguMmwtOC44LTM0LjggMjkuNi0xOC4zIDEzLjEgMzUuMy0zMy45IDE3Ljh6TTgyLjQgMTMzLjJsMjMuOS0xOC4xIDguOSAyNC0yNi43IDE4LjMtNi4xLTI0LjJ6TTU5IDIwNi41bC0zLjYtMjguNCAyMi4zLTE1LjUgNi4xIDI4LjctMjQuOCAxNS4yek0yOC40IDIyMy4xbDIwLjgtMTIuOCAzLjMgMzMuNC0yMi45IDEyLTEuMi0zMi42ek0xLjQgMjY4TDIwLjYgMjU3LjggMjEgMjk2IDAgMzA0LjggMS40IDI2OHptNTkuMSA1OS4zbC0yOC4zIDguMy0xLjYtNDYuOCAyNS4xLTEwLjcgNC44IDQ5LjJ6TTk5IDI2My4ybC0zMS4xIDEzLTUuMi00MC44IDI3LjQtMTQuNCA4LjkgNDIuMnpNMTIzLjIgMzc3bC00MS42IDUuOS04LjEtNjMuNSAzNS4yLTEwLjggMTQuNSA2OC40em0yOC41LTEzOS45bDIxLjIgNTcuMS00Ni4yIDEzLjYtMTMuNy01NC4xIDM4LjctMTYuNnptODUuNyAyMzAuNWwtNzAuOS0zLjMtMjQuMy05NS44IDU1LjItOC42IDQwIDEwNy43ek0xNTIuNSAxODcuOWw0Mi4yLTIyLjQgMjggNDUuOS01MC44IDIxLjMtMTkuNC00NC44em00MSA5NC45bDYxLjMtMTguNyA1Mi44IDg2LjYtNzkuOCAxMS4zLTM0LjMtNzkuMnptNTEuNC04NS42bDY3LjMtMjguOCA2NS41IDY1LjQtODguNiAyNi4yLTQ0LjItNjIuOHoiXX0sYXl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImQtYW5kLWQiLGljb246WzU3Niw1MTIsW10sImYzOGQiLCJNODIuOSA5OC45Yy0uNi0xNy4yIDItMzMuOCAxMi43LTQ4LjIgLjMgNy40IDEuMiAxNC41IDQuMiAyMS42IDUuOS0yNy41IDE5LjctNDkuMyA0Mi4zLTY1LjUtMS45IDUuOS0zLjUgMTEuOC0zIDE3LjcgOC43LTcuNCAxOC44LTE3LjggNDQuNC0yMi43IDE0LjctMi44IDI5LjctMiA0Mi4xIDEgMzguNSA5LjMgNjEgMzQuMyA2OS43IDcyLjMgNS4zIDIzLjEgLjcgNDUtOC4zIDY2LjQtNS4yIDEyLjQtMTIgMjQuNC0yMC43IDM1LjEtMi0xLjktMy45LTMuOC01LjgtNS42LTQyLjgtNDAuOC0yNi44LTI1LjItMzcuNC0zNy40LTEuMS0xLjItMS0yLjItLjEtMy42IDguMy0xMy41IDExLjgtMjguMiAxMC00NC0xLjEtOS44LTQuMy0xOC45LTExLjMtMjYuMi0xNC41LTE1LjMtMzkuMi0xNS01My41IC42LTExLjQgMTIuNS0xNC4xIDI3LjQtMTAuOSA0My42IC4yIDEuMyAuNCAyLjcgMCAzLjktMy40IDEzLjctNC42IDI3LjYtMi41IDQxLjYgLjEgLjUgLjEgMS4xIC4xIDEuNiAwIC4zLS4xIC41LS4yIDEuMS0yMS44LTExLTM2LTI4LjMtNDMuMi01Mi4yLTguMyAxNy44LTExLjEgMzUuNS02LjYgNTQuMS0xNS42LTE1LjItMjEuMy0zNC4zLTIyLTU1LjJ6TTU1Mi41IDIyMi4xYy0xMS42LTExLjYtMjUtMjAuNC00MC4xLTI2LjYtMTIuOC01LjItMjYtNy45LTM5LjktNy4xLTEwIC42LTE5LjYgMy4xLTI5IDYuNC0yLjUgLjktNS4xIDEuNi03LjcgMi4yLTQuOSAxLjItNy4zLTMuMS00LjctNi44IDMuMi00LjYgMy40LTQuMiAxNS0xMiAuNi0uNCAxLjItLjggMi4yLTEuNWwtMi41IDBjLS42IDAtMS4yIC4yLTEuOSAuMy0xOS4zIDMuMy0zMC43IDE1LjUtNDguOSAyOS42LTEwLjQgOC4xLTEzLjggMy44LTEyLS41IDEuNC0zLjUgMy4zLTYuNyA1LjEtMTAgMS0xLjggMi4zLTMuNCAzLjUtNS4xLS4yLS4yLS41LS4zLS43LS41LTI3IDE4LjMtNDYuNyA0Mi40LTU3LjcgNzMuMyAuMyAuMyAuNyAuNiAxIC45IC4zLS42IC41LTEuMiAuOS0xLjcgMTAuNC0xMi4xIDIyLjgtMjEuOCAzNi42LTI5LjggMTguMi0xMC42IDM3LjUtMTguMyA1OC43LTIwLjIgNC4zLS40IDguNy0uMSAxMy4xLS4xLTEuOCAuNy0zLjUgLjktNS4zIDEuMS0xOC41IDIuNC0zNS41IDktNTEuNSAxOC41LTMwLjIgMTcuOS01NC41IDQyLjItNzUuMSA3MC40LS4zIC40LS40IC45LS43IDEuMyAxNC41IDUuMyAyNCAxNy4zIDM2LjEgMjUuNiAuMi0uMSAuMy0uMiAuNC0uNGwxLjItMi43YzEyLjItMjYuOSAyNy01Mi4zIDQ2LjctNzQuNSAxNi43LTE4LjggMzgtMjUuMyA2Mi41LTIwIDUuOSAxLjMgMTEuNCA0LjQgMTcuMiA2LjggMi4zLTEuNCA1LjEtMy4yIDgtNC43IDguNC00LjMgMTcuNC03IDI2LjctOSAxNC43LTMuMSAyOS41LTQuOSA0NC41LTEuM2wwLS41Yy0uNS0uNC0xLjItLjgtMS43LTEuNHpNMzE3LjEgMzk3LjZjLTM5LjQtMzMtMjIuOC0xOS41LTQyLjctMzUuNi0uOCAuOSAwLS4yLTEuOSAzLTExLjIgMTkuMS0yNS41IDM1LjMtNDQgNDcuNi0xMC4zIDYuOC0yMS41IDExLjgtMzQuMSAxMS44LTIxLjYgMC0zOC4yLTkuNS00OS40LTI3LjgtMTItMTkuNS0xMy4zLTQwLjctOC4yLTYyLjYgNy44LTMzLjggMzAuMS01NS4yIDM4LjYtNjQuMy0xOC43LTYuMi0zMyAxLjctNDYuNCAxMy45IC44LTEzLjkgNC4zLTI2LjIgMTEuOC0zNy4zLTI0LjMgMTAuNi00NS45IDI1LTY0LjggNDMuOS0uMy01LjggNS40LTQzLjcgNS42LTQ0LjcgLjMtMi43LS42LTUuMy0zLTcuNC0yNC4yIDI0LjctNDQuNSA1MS44LTU2LjEgODQuNiA3LjQtNS45IDE0LjktMTEuNCAyMy42LTE2LjItOC4zIDIyLjMtMTkuNiA1Mi44LTcuOCAxMDEuMSA0LjYgMTkgMTEuOSAzNi44IDI0LjEgNTIuMyAyLjkgMy43IDYuMyA2LjkgOS41IDEwLjMgLjItLjIgLjQtLjMgLjYtLjUtMS40LTctMi4yLTE0LjEtMS41LTIxLjkgMi4yIDMuMiAzLjkgNiA1LjkgOC42IDEyLjYgMTYgMjguNyAyNy40IDQ3LjIgMzUuNiAyNSAxMS4zIDUxLjEgMTMuMyA3Ny45IDguNiA1NC45LTkuNyA5MC43LTQ4LjYgMTE2LTk4LjggMS0xLjggLjYtMi45LS45LTQuMnptMTcyLTQ2LjRjLTkuNS0zLjEtMjIuMi00LjItMjguNy0yLjkgOS45IDQgMTQuMSA2LjYgMTguOCAxMiAxMi42IDE0LjQgMTAuNCAzNC43LTUuNCA0NS42LTExLjcgOC4xLTI0LjkgMTAuNS0zOC45IDkuMS0xLjItLjEtMi4zLS40LTMtLjYgMi44LTMuNyA2LTcgOC4xLTEwLjggOS40LTE2LjggNS40LTQyLjEtOC43LTU2LjEtMi4xLTIuMS00LjYtMy45LTctNS45LS4zIDEuMy0uMSAyLjEgLjEgMi44IDQuMiAxNi42LTguMSAzMi40LTI0LjggMzEuOC03LjYtLjMtMTMuOS0zLjgtMTkuNi04LjUtMTkuNS0xNi4xLTM5LjEtMzIuMS01OC41LTQ4LjMtNS45LTQuOS0xMi41LTguMS0yMC4xLTguNy00LjYtLjQtOS4zLS42LTEzLjktLjktNS45LS40LTguOC0yLjgtMTAuNC04LjQtLjktMy40LTEuNS02LjgtMi4yLTEwLjItMS41LTguMS02LjItMTMtMTQuMy0xNC4yLTQuNC0uNy04LjktMS0xMy4zLTEuNS0xMy0xLjQtMTkuOC03LjQtMjIuNi0yMC4zLTUgMTEtMS42IDIyLjQgNy4zIDI5LjkgNC41IDMuOCA5LjMgNy4zIDEzLjggMTEuMiA0LjYgMy44IDcuNCA4LjcgNy45IDE0LjggLjQgNC43IC44IDkuNSAxLjggMTQuMSAyLjIgMTAuNiA4LjkgMTguNCAxNyAyNS4xIDE2LjUgMTMuNyAzMyAyNy4zIDQ5LjUgNDEuMSAxNy45IDE1IDEzLjkgMzIuOCAxMyA1Ni0uOSAyMi45IDEyLjIgNDIuOSAzMy41IDUxLjIgMSAuNCAyIC42IDMuNiAxLjEtMTUuNy0xOC4yLTEwLjEtNDQuMSAuNy01Mi4zIC4zIDIuMiAuNCA0LjMgLjkgNi40IDkuNCA0NC4xIDQ1LjQgNjQuMiA4NSA1Ni45IDE2LTIuOSAzMC42LTguOSA0Mi45LTE5LjggMi0xLjggMy43LTQuMSA1LjktNi41LTE5LjMgNC42LTM1LjggLjEtNTAuOS0xMC42IC43LS4zIDEuMy0uMyAxLjktLjMgMjEuMyAxLjggNDAuNi0zLjQgNTctMTcuNCAxOS41LTE2LjYgMjYuNi00Mi45IDE3LjQtNjYtOC4zLTIwLjEtMjMuNi0zMi4zLTQzLjgtMzguOXpNOTkuOCAxNzkuM2MtNS4zLTkuMi0xMy4yLTE1LjYtMjIuMS0yMS4zIDEzLjctLjUgMjYuNiAuMiAzOS42IDMuNy03LTEyLjItOC41LTI0LjctNS0zOC43IDUuMyAxMS45IDEzLjcgMjAuMSAyMy42IDI2LjggMTkuNyAxMy4yIDM1LjcgMTkuNiA0Ni43IDMwLjIgMy40IDMuMyA2LjMgNy4xIDkuNiAxMC45LS44LTIuMS0xLjQtNC4xLTIuMi02LTUtMTAuNi0xMy0xOC42LTIyLjYtMjUtMS44LTEuMi0yLjgtMi41LTMuNC00LjUtMy4zLTEyLjUtMy0yNS4xLS43LTM3LjYgMS01LjUgMi44LTEwLjkgNC41LTE2LjMgLjgtMi40IDIuMy00LjYgNC02LjYgLjYgNi45IDAgMjUuNSAxOS42IDQ2IDEwLjggMTEuMyAyMi40IDIxLjkgMzMuOSAzMi43IDkgOC41IDE4LjMgMTYuNyAyNS41IDI2LjggMS4xIDEuNiAyLjIgMy4zIDMuOCA0LjctNS0xMy0xNC4yLTI0LjEtMjQuMi0zMy44LTkuNi05LjMtMTkuNC0xOC40LTI5LjItMjcuNC0zLjMtMy00LjYtNi43LTUuMS0xMC45LTEuMi0xMC40IDAtMjAuNiA0LjMtMzAuMiAuNS0xIDEuMS0yIDEuOS0zLjMgLjUgNC4yIC42IDcuOSAxLjQgMTEuNiA0LjggMjMuMSAyMC40IDM2LjMgNDkuMyA2My41IDEwIDkuNCAxOS4zIDE5LjIgMjUuNiAzMS42IDQuOCA5LjMgNy4zIDE5IDUuNyAyOS42LS4xIC42IC41IDEuNyAxLjEgMiA2LjIgMi42IDEwIDYuOSA5LjcgMTQuMyA3LjctMi42IDEyLjUtOCAxNi40LTE0LjUgNC4yIDIwLjItOS4xIDUwLjMtMjcuMiA1OC43IC40LTQuNSA1LTIzLjQtMTYuNS0yNy43LTYuOC0xLjMtMTIuOC0xLjMtMjIuOS0yLjEgNC43LTkgMTAuNC0yMC42IC41LTIyLjQtMjQuOS00LjYtNTIuOCAxLjktNTcuOCA0LjYgOC4yIC40IDE2LjMgMSAyMy41IDMuMy0yIDYuNS00IDEyLjctNS44IDE4LjktMS45IDYuNSAyLjEgMTQuNiA5LjMgOS42IDEuMi0uOSAyLjMtMS45IDMuMy0yLjctMy4xIDE3LjktMi45IDE1LjktMi44IDE4LjMgLjMgMTAuMiA5LjUgNy44IDE1LjcgNy4zLTIuNSAxMS44LTI5LjUgMjcuMy00NS40IDI1LjggNy00LjcgMTIuNy0xMC4zIDE1LjktMTcuOS02LjUgLjgtMTIuOSAxLjYtMTkuMiAyLjRsLS4zLS45YzQuNy0zLjQgOC03LjggMTAuMi0xMy4xIDguNy0yMS4xLTMuNi0zOC0yNS0zOS45LTkuMS0uOC0xNy44IC44LTI1LjkgNS41IDYuMi0xNS42IDE3LjItMjYuNiAzMi42LTM0LjUtMTUuMi00LjMtOC45LTIuNy0yNC42LTYuMyAxNC42LTkuMyAzMC4yLTEzLjIgNDYuNS0xNC42LTUuMi0zLjItNDguMS0zLjYtNzAuMiAyMC45IDcuOSAxLjQgMTUuNSAyLjggMjMuMiA0LjItMjMuOCA3LTQ0IDE5LjctNjIuNCAzNS42IDEuMS00LjggMi43LTkuNSAzLjMtMTQuMyAuNi00LjUgLjgtOS4yIC4xLTEzLjYtMS41LTkuNC04LjktMTUuMS0xOS43LTE2LjMtNy45LS45LTE1LjYgLjEtMjMuMyAxLjMtLjkgLjEtMS43IC4zLTIuOSAwIDE1LjgtMTQuOCAzNi0yMS43IDUzLjEtMzMuNSA2LTQuNSA2LjgtOC4yIDMtMTQuOXptMTI4LjQgMjYuOGMzLjMgMTYgMTIuNiAyNS41IDIzLjggMjQuMy00LjYtMTEuMy0xMi4xLTE5LjUtMjMuOC0yNC4zeiJdfSxyeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidnVlanMiLGljb246WzQ0OCw1MTIsW10sImY0MWYiLCJNMzU2LjkgNjQuM2wtNzYuOSAwLTU2IDg4LjYtNDgtODguNi0xNzYgMCAyMjQgMzgzLjcgMjI0LTM4My43LTkxLjEgMHpNNTUuNyA5Ni4zbDUzLjggMCAxMTQuNSAxOTguMiAxMTQuNC0xOTguMiA1My44IDAtMTY4LjIgMjg4LjItMTY4LjMtMjg4LjJ6Il19LHN5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtZXRhIixpY29uOls2NDAsNTEyLFtdLCJlNDliIiwiTTY0MCAzMTcuOWMwIDkxLjMtMzkuNCAxNDguNS0xMTAuMyAxNDguNS02Mi42IDAtOTUuOC0zNC42LTE1Ni45LTEzNi42bC0zMS40LTUyLjZjLTguMy0xMi41LTE0LjUtMjQuMi0yMS4yLTM1LTIwLjEgMzMuOC00Ny4xIDgzLTQ3LjEgODMtNjcgMTE2LjYtMTA0LjYgMTQxLjItMTU2LjkgMTQxLjItNzIuOCAwLTExNi4yLTU3LjMtMTE2LjItMTQ1LjkgMC0xNDMgNzkuOC0yNzguMSAxODMuOS0yNzguMSA1MC4yIDAgOTMuOCAyNC43IDE0NC44IDg5LjUgMzcuMS01MC4xIDc4LjEtODkuNSAxMzAuNi04OS41IDk5LjEgMCAxODAuNyAxMjUuNyAxODAuNyAyNzUuNXpNMjg3LjQgMTkyLjJjLTQyLjktNjIuMS03MC45LTgwLjUtMTA0LjQtODAuNS02MS45IDAtMTEzLjggMTA2LjEtMTEzLjggMjEwIDAgNDguNSAxOC41IDc1LjcgNDkuNiA3NS43IDMwLjIgMCA0OS0xOSAxMDMuMi0xMDMuOCAwIDAgMjQuNy0zOS4xIDY1LjQtMTAxLjR6TTUzMS4yIDM5Ny40YzMyLjIgMCA0Ni45LTI3LjUgNDYuOS03NC45IDAtMTI0LjItNTQuMy0yMjUuNC0xMjMuMi0yMjUuNC0zMy4yIDAtNjEuMSAyNS45LTk0LjkgNzggOS40IDEzLjggMTkuMSAyOSAyOS4zIDQ1LjRsMzcuNSA2Mi40YzU4LjcgOTQuMSA3My41IDExNC41IDEwNC40IDExNC41eiJdfSxpeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1zaGFyZSIsaWNvbjpbNTEyLDUxMixbXSwiZjRmMiIsIk0yNTUuNiA4QzM5Ny40IDggNTA0IDExOC4xIDUwNCAyNTYgNTA0IDQwMy4xIDM4NS41IDUwNCAyNTUuNiA1MDQgMTIxLjYgNTA0IDggMzk0LjUgOCAyNTYgOCAxMjMuMSAxMTIuNyA4IDI1NS42IDh6bS44IDQ0LjdjLTExOC4yIDAtMjAzLjcgOTcuOS0yMDMuNyAyMDMuMyAwIDEwOS44IDkxLjIgMjAyLjggMjAzLjcgMjAyLjggMTAzLjIgMCAyMDIuOC04MS4xIDIwMi44LTIwMi44IC4xLTExMy44LTkwLjItMjAzLjMtMjAyLjgtMjAzLjN6bTEwMSAxMzIuNGM3LjggMCAxMy43IDYuMSAxMy43IDEzLjdsMCAxODIuNWMwIDcuNy02LjEgMTMuNy0xMy43IDEzLjdsLTEzNS4xIDBjLTcuNyAwLTEzLjctNi0xMy43LTEzLjdsMC01NC01NCAwYy03LjggMC0xMy43LTYtMTMuNy0xMy43bDAtMTgyLjVjMC04LjIgNi42LTEyLjcgMTIuNC0xMy43bDEzNi40IDBjNy43IDAgMTMuNyA2IDEzLjcgMTMuN2wwIDU0IDU0IDB6TTE2Ny45IDMwMC4zbDQwLjcgMCAwLTEwMS40YzAtNy40IDUuOC0xMi42IDEyLTEzLjdsNTUuOCAwIDAtNDAuMy0xMDguNSAwIDAgMTU1LjR6bTE3Ni4yLTg4LjFsLTEwOC41IDAgMCAxNTUuNCAxMDguNSAwIDAtMTU1LjR6Il19LG95dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdHVkaW92aW5hcmkiLGljb246WzUxMiw1MTIsW10sImYzZjgiLCJNNDgwLjcgMTg3LjdsNC4yIDI4IDAgMjgtMjUuMSA0NC4xLTM5LjggNzguNC01Ni4xIDY3LjUtNzkuMSAzNy44LTE3LjcgMjQuNS03LjcgMTItOS42IDRzMTcuMy02My42IDE5LjQtNjMuNiAyMC4zIC43IDIwLjMgLjdsNjYuNy0zOC42LTkyLjUgMjYuMS01NS45IDM2LjgtMjIuOCAyOC02LjYgMS40IDIwLjgtNzMuNiA2LjktNS41IDIwLjcgMTIuOSA4OC4zLTQ1LjIgNTYuOC01MS41IDE0LjgtNjguNC0xMjUuNCAyMy4zIDE1LjItMTguMi0xNzMuNC01My4zIDgxLjktMTAuNS0xNjYtMTIyLjkgMTE0LjkgMTguMS0xMDEuMy0xMDggMjUyLjkgMTI2LjYtMzEuNS0zOCAxMjQuNCA3NC40LTE0My4zLTk5IDE4LjcgMzguNC00OS42LTE4LjEtNDUuNS04NC4zIDE5NC42IDEyMi00Mi45LTU1LjggMTA4IDk2LjQgMTItOC45LTIxLTE2LjQgNC4yLTM3LjggMzcuOC0xMC40IDI5LjIgMjQuNyAxMS41IDQuMi03IDYuMiA4LjUgMTItMTMuMSA3LjQtMTAuMyAyMC4yIDEwLjUgMjMuOXoiXX0sbnl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJpdGJ1Y2tldCIsaWNvbjpbNTEyLDUxMixbNjE4MTBdLCJmMTcxIiwiTTIyLjIgMzJjLTIuMSAwLTQuMiAuNC02LjEgMS4xcy0zLjcgMS45LTUuMiAzLjQtMi43IDMuMi0zLjUgNS4xLTEuMyA0LTEuMyA2LjFjMCAuOSAuMSAxLjkgLjIgMi44TDc0LjEgNDYyLjdjLjggNS4xIDMuNCA5LjcgNy4zIDEzczguOCA1LjIgMTQgNS4ybDMyNS43IDBjMy44IC4xIDcuNS0xLjMgMTAuNS0zLjdzNC45LTUuOSA1LjUtOS43TDUwNSA1MC43Yy43LTQuMi0uMy04LjQtMi44LTExLjlzLTYuMi01LjctMTAuNC02LjRjLS45LS4xLTEuOS0uMi0yLjgtLjJMMjIuMiAzMnpNMzA4LjEgMzI5LjhsLTEwNCAwLTI4LjEtMTQ3IDE1Ny4zIDAtMjUuMiAxNDd6Il19LGx5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2ayIsaWNvbjpbNDQ4LDUxMixbXSwiZjE4OSIsIk0zMS41IDYzLjVDMCA5NSAwIDE0NS43IDAgMjQ3TDAgMjY1QzAgMzY2LjMgMCA0MTcgMzEuNSA0NDguNVMxMTMuNyA0ODAgMjE1IDQ4MGwxNy45IDBjMTAxLjQgMCAxNTIuMSAwIDE4My41LTMxLjVTNDQ4IDM2Ni4zIDQ0OCAyNjVsMC0xNy45YzAtMTAxLjQgMC0xNTIuMS0zMS41LTE4My41UzMzNC4zIDMyIDIzMyAzMkwyMTUgMzJDMTEzLjcgMzIgNjMgMzIgMzEuNSA2My41ek03NS42IDE2OC4zbDUxLjEgMGMxLjcgODUuNSAzOS40IDEyMS43IDY5LjMgMTI5LjJsMC0xMjkuMiA0OC4yIDAgMCA3My43YzI5LjUtMy4yIDYwLjUtMzYuOCA3MC45LTczLjdsNDguMiAwYy0zLjkgMTkuMi0xMS44IDM3LjMtMjMuMSA1My4zcy0yNS43IDI5LjUtNDIuNSAzOS42YzE4LjcgOS4zIDM1LjIgMjIuNCA0OC40IDM4LjVzMjIuOSAzNC45IDI4LjMgNTVsLTUzIDBjLTQuOS0xNy41LTE0LjgtMzMuMS0yOC42LTQ1cy0zMC43LTE5LjQtNDguNy0yMS42bDAgNjYuNi01LjggMGMtMTAyLjEgMC0xNjAuMy03MC0xNjIuOC0xODYuNXoiXX0sY3l0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdpdGh1YiIsaWNvbjpbNTEyLDUxMixbXSwiZjA5YiIsIk0xNzMuOSAzOTcuNGMwIDItMi4zIDMuNi01LjIgMy42LTMuMyAuMy01LjYtMS4zLTUuNi0zLjYgMC0yIDIuMy0zLjYgNS4yLTMuNiAzLS4zIDUuNiAxLjMgNS42IDMuNnptLTMxLjEtNC41Yy0uNyAyIDEuMyA0LjMgNC4zIDQuOSAyLjYgMSA1LjYgMCA2LjItMnMtMS4zLTQuMy00LjMtNS4yYy0yLjYtLjctNS41IC4zLTYuMiAyLjN6bTQ0LjItMS43Yy0yLjkgLjctNC45IDIuNi00LjYgNC45IC4zIDIgMi45IDMuMyA1LjkgMi42IDIuOS0uNyA0LjktMi42IDQuNi00LjYtLjMtMS45LTMtMy4yLTUuOS0yLjl6TTI1Mi44IDhjLTEzOC43IDAtMjQ0LjggMTA1LjMtMjQ0LjggMjQ0IDAgMTEwLjkgNjkuOCAyMDUuOCAxNjkuNSAyMzkuMiAxMi44IDIuMyAxNy4zLTUuNiAxNy4zLTEyLjEgMC02LjItLjMtNDAuNC0uMy02MS40IDAgMC03MCAxNS04NC43LTI5LjggMCAwLTExLjQtMjkuMS0yNy44LTM2LjYgMCAwLTIyLjktMTUuNyAxLjYtMTUuNCAwIDAgMjQuOSAyIDM4LjYgMjUuOCAyMS45IDM4LjYgNTguNiAyNy41IDcyLjkgMjAuOSAyLjMtMTYgOC44LTI3LjEgMTYtMzMuNy01NS45LTYuMi0xMTIuMy0xNC4zLTExMi4zLTExMC41IDAtMjcuNSA3LjYtNDEuMyAyMy42LTU4LjktMi42LTYuNS0xMS4xLTMzLjMgMi42LTY3LjkgMjAuOS02LjUgNjkgMjcgNjkgMjcgMjAtNS42IDQxLjUtOC41IDYyLjgtOC41czQyLjggMi45IDYyLjggOC41YzAgMCA0OC4xLTMzLjYgNjktMjcgMTMuNyAzNC43IDUuMiA2MS40IDIuNiA2Ny45IDE2IDE3LjcgMjUuOCAzMS41IDI1LjggNTguOSAwIDk2LjUtNTguOSAxMDQuMi0xMTQuOCAxMTAuNSA5LjIgNy45IDE3IDIyLjkgMTcgNDYuNCAwIDMzLjctLjMgNzUuNC0uMyA4My42IDAgNi41IDQuNiAxNC40IDE3LjMgMTIuMSAxMDAtMzMuMiAxNjcuOC0xMjguMSAxNjcuOC0yMzkgMC0xMzguNy0xMTIuNS0yNDQtMjUxLjItMjQ0ek0xMDUuMiAzNTIuOWMtMS4zIDEtMSAzLjMgLjcgNS4yIDEuNiAxLjYgMy45IDIuMyA1LjIgMSAxLjMtMSAxLTMuMy0uNy01LjItMS42LTEuNi0zLjktMi4zLTUuMi0xem0tMTAuOC04LjFjLS43IDEuMyAuMyAyLjkgMi4zIDMuOSAxLjYgMSAzLjYgLjcgNC4zLS43IC43LTEuMy0uMy0yLjktMi4zLTMuOS0yLS42LTMuNi0uMy00LjMgLjd6bTMyLjQgMzUuNmMtMS42IDEuMy0xIDQuMyAxLjMgNi4yIDIuMyAyLjMgNS4yIDIuNiA2LjUgMSAxLjMtMS4zIC43LTQuMy0xLjMtNi4yLTIuMi0yLjMtNS4yLTIuNi02LjUtMXptLTExLjQtMTQuN2MtMS42IDEtMS42IDMuNiAwIDUuOXM0LjMgMy4zIDUuNiAyLjNjMS42LTEuMyAxLjYtMy45IDAtNi4yLTEuNC0yLjMtNC0zLjMtNS42LTJ6Il19LGR5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjb2RpZXBpZSIsaWNvbjpbNTEyLDUxMixbXSwiZjI4NCIsIk00NDIuNSAyMDIuOWMzMC43IDAgMzMuNSA1My4xLS4zIDUzLjFsLTEwLjggMCAwIDQ0LjMtMjYuNiAwIDAtOTcuNCAzNy43IDB6TTQ5MiAzNTIuNkM0NDkuOSA0NDQuNSAzNzAuNCA1MDQgMjY4IDUwNCAxMzEgNTA0IDIwIDM5MyAyMCAyNTZTMTMxIDggMjY4IDhjOTcuNCAwIDE3Mi44IDUzLjcgMjE4LjIgMTM4LjRMMzAwLjIgMjU1LjIgNDkyIDM1Mi42em0tMzguNSAxMi41bC02MC4zLTMwLjdjLTI3LjEgNDQuMy03MC40IDcxLjQtMTIyLjQgNzEuNC04Mi41IDAtMTQ5LjItNjYuNy0xNDkuMi0xNDguOSAwLTgyLjUgNjYuNy0xNDkuMiAxNDkuMi0xNDkuMiA0OC40IDAgODguOSAyMy41IDExNi45IDYzLjRsNTkuNS0zNC42QzQwNi41IDczLjkgMzQyLjUgMzYuNSAyNjggMzYuNSAxNDYuOCAzNi41IDQ4LjUgMTM0LjggNDguNSAyNTZTMTQ2LjggNDc1LjUgMjY4IDQ3NS41Yzc4LjYgMCAxNDYuNS00Mi4xIDE4NS41LTExMC40eiJdfSx1eXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGllZC1waXBlciIsaWNvbjpbNDQ4LDUxMixbXSwiZjJhZSIsIk00NDAuMiAyMy4yYy0yNi43IDYuOC02OC4xIDI4LjUtMTE0LjYgNjcuNS0zMC45LTE3LjUtNjUuOC0yNi43LTEwMS40LTI2LjctMTE0LjkgMC0yMDggOTMuMS0yMDggMjA4czkzLjEgMjA4IDIwOCAyMDggMjA4LTkzLjEgMjA4LTIwOGMuMS01NC4xLTIxLTEwNi4xLTU4LjctMTQ0LjgtNi42IDguNS0xMi4zIDE3LjctMTcgMjcuNCAyOC45IDMyLjMgNDQuOCA3NC4xIDQ0LjkgMTE3LjQgMCA5Ny43LTc5LjQgMTc3LjEtMTc3LjEgMTc3LjEtMzAuOCAwLTYxLTguMS04Ny42LTIzLjQgODIuOS0xMDcuMyAxNTAuOC0zNy44IDE4NC4zLTIyNi42IDUuOC0zMi42IDI4LTk0LjMgMTI2LjItMTYwLjIgOC4xLTUuNCAyLjQtMTguMS03LTE1Ljd6TTEwOS4zIDQwNi40Qzg5LjggMzg5LjggNzQuMiAzNjkuMiA2My41IDM0NnMtMTYuMy00OC41LTE2LjMtNzRjMC05Ny43IDc5LjQtMTc3LjEgMTc3LjEtMTc3LjEgMjYuNiAwIDUyLjggNi4xIDc2LjYgMTcuOC02NiA2Mi4xLTEyNi45IDE1Mi45LTE5MS42IDI5My44eiJdfSxweXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmFzcGJlcnJ5LXBpIixpY29uOls0NDgsNTEyLFtdLCJmN2JiIiwiTTM5Mi41IDIzMi41bC0zLjctNi41Yy4xLTQ2LjQtMjEuNC02NS4zLTQ2LjUtNzkuNyA3LjYtMiAxNS40LTMuNiAxNy42LTEzLjIgMTMuMS0zLjMgMTUuOC05LjQgMTcuMS0xNS44IDMuNC0yLjMgMTQuOC04LjcgMTMuNi0xOS43IDYuNC00LjQgMTAtMTAuMSA4LjEtMTguMSA2LjktNy41IDguNy0xMy43IDUuOC0xOS40IDguMy0xMC4zIDQuNi0xNS42IDEuMS0yMC45IDYuMi0xMS4yIC43LTIzLjItMTYuNi0yMS4yLTYuOS0xMC4xLTIxLjktNy44LTI0LjItNy44LTIuNi0zLjItNi02LTE2LjUtNC43LTYuOC02LjEtMTQuNC01LTIyLjMtMi4xLTkuMy03LjMtMTUuNS0xLjQtMjIuNiAuOC0xMS4zLTMuNi0xMy45IDEuMy0xOS40IDMuNC0xMi4zLTIuNi0xNi4xIDMtMjIgOC45bC02LjktLjFjLTE4LjYgMTAuOC0yNy44IDMyLjgtMzEuMSA0NC4xLTMuMy0xMS4zLTEyLjUtMzMuMy0zMS4xLTQ0LjFsLTYuOSAuMWMtNS45LTUuOS05LjctMTEuNS0yMi04LjktNS42LTItOC4xLTctMTkuNC0zLjQtNC42LTEuNC04LjktNC40LTEzLjktNC4zLTIuNiAuMS01LjUgMS04LjcgMy41LTcuOS0zLTE1LjUtNC0yMi4zIDIuMS0xMC41LTEuMy0xNCAxLjQtMTYuNSA0LjctMi4zIDAtMTcuMy0yLjMtMjQuMiA3LjgtMTcuMy0yLTIyLjcgMTAtMTYuNSAyMS4yLTMuNSA1LjQtNy4yIDEwLjcgMS4xIDIwLjktMi45IDUuNy0xLjEgMTEuOSA1LjggMTkuNC0xLjggOCAxLjggMTMuNyA4LjEgMTguMS0xLjIgMTEgMTAuMiAxNy40IDEzLjYgMTkuNyAxLjMgNi40IDQgMTIuNCAxNy4xIDE1LjggMi4yIDkuNSAxMCAxMS4yIDE3LjYgMTMuMi0yNS4xIDE0LjQtNDYuNiAzMy4zLTQ2LjUgNzkuN2wtMy43IDYuNWMtMjguOCAxNy4yLTU0LjcgNzIuNy0xNC4yIDExNy43IDIuNiAxNC4xIDcuMSAyNC4yIDExIDM1LjQgNS45IDQ1LjIgNDQuNSA2Ni4zIDU0LjYgNjguOCAxNC45IDExLjIgMzAuOCAyMS44IDUyLjIgMjkuMiAyMC4zIDIwLjYgNDIuMyAyOC40IDY0LjMgMjguNGwxIDBjMjIuMSAwIDQ0LTcuOCA2NC4yLTI4LjQgMjEuNS03LjQgMzcuMy0xOCA1Mi4yLTI5LjIgMTAuMi0yLjUgNDguNy0yMy42IDU0LjYtNjguOCAzLjktMTEuMiA4LjQtMjEuMyAxMS0zNS40IDQwLjYtNDUuMSAxNC43LTEwMC41LTE0LTExNy43em0tMjIuMi04Yy0xLjUgMTguNy05OC45LTY1LjEtODIuMS02Ny45IDQ1LjctNy41IDgzLjYgMTkuMiA4Mi4xIDY3Ljl6bS00MyA5My4xYy0yNC41IDE1LjgtNTkuOCA1LjYtNzguOC0yMi44cy0xNC42LTY0LjIgOS45LTgwIDU5LjgtNS42IDc4LjggMjIuOCAxNC42IDY0LjItOS45IDgwek0yNTkuNCAyOS4zYy44IDQuMiAxLjggNi44IDIuOSA3LjYgNS40LTUuOCA5LjgtMTEuNyAxNi44LTE3LjMgMCAzLjMtMS43IDYuOCAyLjUgOS40IDMuNy01IDguOC05LjUgMTUuNS0xMy4zLTMuMiA1LjYtLjYgNy4zIDEuMiA5LjYgNS4xLTQuNCAxMC04LjggMTkuNC0xMi4zLTIuNiAzLjEtNi4yIDYuMi0yLjQgOS44IDUuMy0zLjMgMTAuNi02LjYgMjMuMS04LjktMi44IDMuMS04LjcgNi4zLTUuMSA5LjQgNi42LTIuNSAxNC00LjQgMjIuMS01LjQtMy45IDMuMi03LjEgNi4zLTMuOSA4LjggNy4xLTIuMiAxNi45LTUuMSAyNi40LTIuNmwtNiA2LjFjLS43IC44IDE0LjEgLjYgMjMuOSAuOC0zLjYgNS03LjIgOS43LTkuMyAxOC4yIDEgMSA1LjggLjQgMTAuNCAwLTQuNyA5LjktMTIuOCAxMi4zLTE0LjcgMTYuNiAyLjkgMi4yIDYuOCAxLjYgMTEuMiAuMS0zLjQgNi45LTEwLjQgMTEuNy0xNiAxNy4zIDEuNCAxIDMuOSAxLjYgOS43IC45LTUuMiA1LjUtMTEuNCAxMC41LTE4LjggMTUgMS4zIDEuNSA1LjggMS41IDEwIDEuNi02LjcgNi41LTE1LjMgOS45LTIzLjQgMTQuMiA0IDIuNyA2LjkgMi4xIDEwIDIuMS01LjcgNC43LTE1LjQgNy4xLTI0LjQgMTAgMS43IDIuNyAzLjQgMy40IDcuMSA0LjEtOS41IDUuMy0yMy4yIDIuOS0yNyA1LjYgLjkgMi43IDMuNiA0LjQgNi43IDUuOC0xNS40IC45LTU3LjMtLjYtNjUuNC0zMi4zIDE1LjctMTcuMyA0NC40LTM3LjUgOTMuNy02Mi42LTM4LjQgMTIuOC03MyAzMC0xMDIgNTMuNS0zNC4zLTE1LjktMTAuOC01NS45IDUuOC03MS44ek0yMjUgMTQzLjljMjQuMi0uMyA1NC4xIDE3LjggNTQgMzQuNy0uMSAxNS0yMSAyNy4xLTUzLjggMjYuOS0zMi4xLS40LTUzLjctMTUuMi01My42LTI5LjggMC0xMS45IDI2LjItMzIuNSA1My40LTMxLjh6TTEwMiAxMzEuMWMzLjctLjcgNS40LTEuNSA3LjEtNC4xLTktMi44LTE4LjctNS4zLTI0LjQtMTAgMy4xIDAgNiAuNyAxMC0yLjEtOC4xLTQuMy0xNi43LTcuNy0yMy40LTE0LjIgNC4yLS4xIDguNyAwIDEwLTEuNi03LjQtNC41LTEzLjYtOS41LTE4LjgtMTUgNS44IC43IDguMyAuMSA5LjctLjktNS42LTUuNi0xMi43LTEwLjQtMTYtMTcuMyA0LjMgMS41IDguMyAyIDExLjItLjEtMS45LTQuMi0xMC02LjctMTQuNy0xNi42IDQuNiAuNCA5LjQgMSAxMC40IDAtMi4xLTguNS01LjgtMTMuMy05LjMtMTguMiA5LjgtLjEgMjQuNiAwIDIzLjktLjhsLTYtNi4xYzkuNS0yLjUgMTkuMyAuNCAyNi40IDIuNiAzLjItMi41LS4xLTUuNi0zLjktOC44IDguMSAxLjEgMTUuNCAyLjkgMjIuMSA1LjQgMy41LTMuMS0yLjMtNi4zLTUuMS05LjQgMTIuNSAyLjMgMTcuOCA1LjYgMjMuMSA4LjkgMy44LTMuNiAuMi02LjctMi40LTkuOCA5LjQgMy40IDE0LjMgNy45IDE5LjQgMTIuMyAxLjctMi4zIDQuNC00IDEuMi05LjYgNi43IDMuOCAxMS44IDguMyAxNS41IDEzLjMgNC4xLTIuNiAyLjUtNi4yIDIuNS05LjQgNyA1LjYgMTEuNCAxMS41IDE2LjggMTcuMyAxLjEtLjggMi0zLjQgMi45LTcuNiAxNi42IDE1LjkgNDAuMSA1NS45IDYgNzEuOC0yOS0yMy41LTYzLjYtNDAuNy0xMDItNTMuNSA0OS4zIDI1IDc4IDQ1LjMgOTMuNyA2Mi42LTggMzEuOC01MCAzMy4yLTY1LjQgMzIuMyAzLjEtMS40IDUuOC0zLjIgNi43LTUuOC00LTIuOC0xNy42LS40LTI3LjItNS42em02MC4xIDI0LjFjMTYuOCAyLjgtODAuNiA4Ni41LTgyLjEgNjcuOS0xLjUtNDguNyAzNi41LTc1LjUgODIuMS02Ny45ek01OC43IDM0MmMtMjMuNy0xOC44LTMxLjMtNzMuNyAxMi42LTk4LjMgMjYuNS03IDkgMTA3LjgtMTIuNiA5OC4zem05MSA5OC4yYy0xMy4zIDcuOS00NS44IDQuNy02OC44LTI3LjktMTUuNS0yNy40LTEzLjUtNTUuMi0yLjYtNjMuNCAxNi4zLTkuOCA0MS41IDMuNCA2MC45IDI1LjYgMTYuOSAyMCAyNC42IDU1LjMgMTAuNSA2NS43ek0xMjMuMyAzMjAuNWMtMjQuNS0xNS44LTI4LjktNTEuNi05LjktODBzNTQuMy0zOC42IDc4LjgtMjIuOCAyOC45IDUxLjYgOS45IDgwYy0xOS4xIDI4LjQtNTQuNCAzOC42LTc4LjggMjIuOHpNMjI1LjUgNDk2Yy0yOS40IDEuMi01OC4yLTIzLjctNTcuOC0zMi4zLS40LTEyLjcgMzUuOC0yMi42IDU5LjMtMjIgMjMuNy0xIDU1LjYgNy41IDU1LjcgMTguOSAuNSAxMS0yOC44IDM1LjktNTcuMiAzNS40em01OC45LTEyNC45Yy4yIDI5LjctMjYuMiA1My44LTU4LjggNTRzLTU5LjItMjMuOC01OS40LTUzLjRsMC0uNmMtLjItMjkuNyAyNi4yLTUzLjggNTguOC01NHM1OS4yIDIzLjggNTkuNCA1My40bDAgLjZ6bTgyLjIgNDIuN2MtMjUuMyAzNC42LTU5LjYgMzUuOS03Mi4zIDI2LjMtMTMuMy0xMi40LTMuMi01MC45IDE1LjEtNzIgMjAuOS0yMy4zIDQzLjMtMzguNSA1OC45LTI2LjYgMTAuNSAxMC4zIDE2LjcgNDkuMS0xLjcgNzIuM3ptMjIuOS03My4yYy0yMS41IDkuNC0zOS0xMDUuMy0xMi42LTk4LjMgNDMuOSAyNC43IDM2LjMgNzkuNiAxMi42IDk4LjN6Il19LGZ5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjc3MzIixpY29uOls1MTIsNTEyLFtdLCJmMTNjIiwiTTQ4MCAzMmwtNjQgMzY4LTIyMy4zIDgwLTE5Mi43LTgwIDE5LjYtOTQuOCA4MiAwLTggNDAuNiAxMTYuNCA0NC40IDEzNC4xLTQ0LjQgMTguOC05Ny4xLTMzMy40IDAgMTYtODIgMzMzLjcgMCAxMC41LTUyLjctMzMzLjQgMCAxNi4zLTgyIDQwNy40IDB6Il19LGh5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJodWJzcG90IixpY29uOls0NDgsNTEyLFtdLCJmM2IyIiwiTTIzNS44IDIxMS42Yy0yNS4xIDIzLjctNDAuOCA1Ny4zLTQwLjggOTQuNiAwIDI5LjMgOS43IDU2LjMgMjYgNzhMMTcxLjUgNDM0Yy00LjQtMS42LTkuMS0yLjUtMTQtMi41LTEwLjggMC0yMC45IDQuMi0yOC41IDExLjhzLTExLjggMTcuOC0xMS44IDI4LjYgNC4yIDIwLjkgMTEuOCAyOC41IDE3LjggMTEuNiAyOC41IDExLjZjMTAuOCAwIDIwLjktMy45IDI4LjYtMTEuNiA3LjYtNy42IDExLjgtMTcuOCAxMS44LTI4LjUgMC00LjItLjYtOC4yLTEuOS0xMi4xbDUwLTUwLjJjMjIgMTYuOSA0OS40IDI2LjkgNzkuMyAyNi45IDcxLjkgMCAxMzAtNTguMyAxMzAtMTMwLjIgMC02NS4yLTQ3LjctMTE5LjItMTEwLjItMTI4LjdsMC02MS42YzE3LjUtNy40IDI4LjItMjMuOCAyOC4yLTQyLjkgMC0yNi4xLTIwLjktNDcuOS00Ny00Ny45UzI3OS42IDQ3IDI3OS42IDczLjFjMCAxOS4xIDEwLjcgMzUuNSAyOC4yIDQyLjlsMCA2MS4yYy0xNS4yIDIuMS0yOS42IDYuNy00Mi43IDEzLjYtMjcuNi0yMC45LTExNy41LTg1LjctMTY4LjktMTI0LjggMS4yLTQuNCAyLTkgMi0xMy44IDAtMjguOC0yMy41LTUyLjItNTIuNC01Mi4yLTI4LjggMC01Mi4yIDIzLjQtNTIuMiA1Mi4yIDAgMjguOSAyMy40IDUyLjMgNTIuMiA1Mi4zIDkuOCAwIDE4LjktMi45IDI2LjgtNy42TDIzNS44IDIxMS42em04OS41IDI1LjZhNjkgNjkgMCAxIDEgMCAxMzggNjkgNjkgMCAxIDEgMC0xMzh6Il19LG15dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjbXBsaWQiLGljb246WzY0MCw1MTIsW10sImUzNjAiLCJNMjI2LjEgMzg4LjJjMC0uNy0uMi0xLjUtLjYtMi4xcy0xLTEuMS0xLjctMS40Yy0uNS0uMi0xLjEtLjQtMS42LS40bC0xNDkuNiAwYy0zLjEgMC02LjItLjgtOC45LTIuMnMtNS4xLTMuNS02LjktNi4xLTIuOS01LjUtMy4zLTguNiAwLTYuMiAxLjEtOS4xTDgxLjYgMjU1LjdjMi03LjIgNi4yLTEzLjUgMTItMTguMnMxMi45LTcuNCAyMC40LTcuOGwxNDguNiAwYzEuNS0uMSAyLjktLjYgNC0xLjZzMi0yLjIgMi40LTMuNmwxMC44LTQxLjFjLjQtMSAuMy0yLS4xLTIuOXMtMS4yLTEuNi0yLjEtMmMtLjQtLjItLjktLjMtMS40LS4zLS4xIDAtLjEgMC0uMiAwbC0xNDguNSAwYy0yMi4yIDEuMi00My40IDkuMi02MC44IDIzcy0zMCAzMi43LTM2LjIgNTQuMUwzLjUgMzU4LjhjLTMuMiA4LjctNC4yIDE4LTMgMjcuMXM0LjYgMTcuOSA5LjkgMjUuNSAxMi4zIDEzLjggMjAuNSAxOCAxNy4zIDYuNSAyNi41IDYuNmMxIDAgMS45IDAgMi45LS4xbDE0OC42IDBjMS41LS4xIDIuOS0uNyA0LTEuNnMyLTIuMiAyLjQtMy42bDEwLjctNDEuMWMuMi0uNSAuMy0uOSAuMy0xLjR6bTgwLjUtMzA3Yy4yLS40IC4zLS45IC4zLTEuNCAwLS41LS4xLTEtLjMtMS41cy0uNS0uOS0uOC0xLjItLjgtLjYtMS4yLS44LTEtLjMtMS41LS4zbC00MS4yIDBjLTEuNSAuMS0yLjkgLjYtNCAxLjZzLTIgMi4yLTIuNCAzLjZsLTIxLjMgODAuOSA1MS4xIDAgMjEuNC04MC45em0tMTI2LjMgMjg3bDUxLjEgMCAzMi0xMjIuNi01MS4xIDAtMzIgMTIyLjZ6TTUxMS45IDc5LjdjMC0xLS41LTEuOS0xLjItMi42cy0xLjctMS4xLTIuNi0xLjFjLS4xIDAtLjEgMC0uMiAwbC00MSAwYy0xLjUgLjEtMi45IC42LTQuMSAxLjVzLTIgMi4yLTIuNSAzLjZMMzY4LjkgNDMwLjZjLS4yIC40LS4zIC45LS4zIDEuMyAwIDEgLjQgMiAxLjEgMi43czEuNyAxLjEgMi43IDEuMWw0MS4yIDBjMS41LS4xIDIuOS0uNiA0LTEuNnMyLTIuMiAyLjQtMy42TDUxMS41IDgxLjJjLjItLjUgLjMtMSAuMy0xLjV6TTMyNC42IDM4NC41bC00MSAwYy0xLjUgLjEtMi45IC43LTQgMS42cy0yIDIuMi0yLjQgMy42bC0xMC43IDQxLjFjLS4yIC40LS4zIC45LS4zIDEuNCAwIC41IC4xIDEgLjMgMS41cy41IC45IC44IDEuMiAuOCAuNiAxLjIgLjggMSAuMyAxLjUgLjNjLjEgMCAuMiAwIC4zIDBsNDAuOSAwYzEuNS0uMSAyLjktLjYgNC0xLjZzMi0yLjIgMi40LTMuNmwxMC44LTQxLjFjLjItLjYgLjMtMS4yIC4zLTEuOHMtLjMtMS4yLS42LTEuNy0uOC0uOS0xLjMtMS4yLTEuMi0uNC0xLjgtLjRjLS4xIDAtLjIgMC0uMyAwbDAgMHpNNjM2IDc2LjFsLTQxIDBjLTEuNSAuMS0yLjkgLjYtNCAxLjVzLTIgMi4yLTIuNCAzLjZMNDk3LjEgNDMwLjZjLS4yIC40LS4yIC45LS4yIDEuMyAwIDEgLjQgMiAxLjEgMi43czEuNyAxLjEgMi43IDEuMWw0MS4xIDBjMS41LS4xIDIuOS0uNiA0LTEuNnMyLTIuMiAyLjQtMy42TDYzOS43IDgxLjJjLjItLjUgLjMtMSAuMy0xLjUtLjEtMS0uNS0xLjktMS4yLTIuNXMtMS42LTEtMi42LTFjLS4xIDAtLjEgMC0uMiAwbDAtLjF6TTM3MS42IDIyNS4ybDEwLjgtNDEuMWMuMi0uNCAuMi0uOSAuMi0xLjQgMC0xLS40LTItMS4xLTIuN3MtMS43LTEuMS0yLjctMS4xbC00MS4zIDBjLTEuNSAuMS0yLjkgLjctNCAxLjZzLTIgMi4yLTIuNCAzLjZsLTEwLjggNDEuMWMtLjIgLjUtLjMgMS0uMyAxLjVsMCAuMmMuMSAxIC41IDEuOCAxLjIgMi41czEuNiAxIDIuNiAxYy4xIDAgLjIgMCAuMyAwbDQxLjEgMGMxLjUtLjEgMi45LS42IDQtMS42czItMi4yIDIuNC0zLjZ6Il19LGd5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkeWFsb2ciLGljb246WzQ0OCw1MTIsW10sImYzOTkiLCJNMTYgMzJsMCAxMTkuMiA2NCAwIDAtNTUuMiAxMDcuMiAwQzMwMC42IDk2IDM2OCAxNzYuMiAzNjggMjU1LjkgMzY4IDMzMiAzMDkuNCA0MTYgMTg3LjIgNDE2bC0xNzEuMiAwIDAgNjQgMTcxLjIgMEMzNDcuOSA0ODAgNDMyIDM2Ny4zIDQzMiAyNTUuOSA0MzIgMTk3LjIgNDA5LjkgMTQyLjUgMzY5LjcgMTAxLjYgMzI0LjkgNTYgMjYxLjcgMzIgMTg3LjIgMzJMMTYgMzJ6Il19LGJ5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlbGVtZW50b3IiLGljb246WzUxMiw1MTIsW10sImY0MzAiLCJNLjUgMjU2YzAgMTQxIDExMy42IDI1NSAyNTQuNiAyNTUgMTQyIDAgMjU2LTExNCAyNTYtMjU1IDAtMTQwLTExNC0yNTMuOS0yNTYtMjUzLjktMTQxIDAtMjU0LjYgMTEzLjktMjU0LjYgMjUzLjl6TTE5Mi4xIDE1MGwwIDIxMy00MyAwIDAtMjEzIDQzIDB6bTQyIDBsMTI4IDAgMCA0My0xMjggMCAwLTQzem0xMjggODVsMCA0My0xMjggMCAwLTQzIDEyOCAwem0tMTI4IDg1bDEyOCAwIDAgNDMtMTI4IDAgMC00M3oiXX0sdnl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZpcnN0LW9yZGVyIixpY29uOls0NDgsNTEyLFtdLCJmMmIwIiwiTTEzLjMgMjI5LjJjLjEtLjEgLjItLjMgLjMtLjQgMCAuMSAwIC4zLS4xIC40bC0uMiAwek0yMjQuNCA5Ni42Yy03LjEgMC0xNC42IC42LTIxLjQgMS43bDMuNyA2Ny40LTIyLTY0Yy0xNC4zIDMuNy0yNy43IDkuNC00MCAxNi42bDI5LjQgNjEuNC00NS4xLTUwLjljLTExLjQgOC45LTIxLjcgMTkuMS0zMC42IDMwLjlsNTAuNiA0NS40LTYxLjEtMjkuN2MtNy4xIDEyLjMtMTIuOSAyNS43LTE2LjYgNDBsNjQuMyAyMi42LTY4LTRjLS45IDcuMS0xLjQgMTQuNi0xLjQgMjJzLjYgMTQuNiAxLjQgMjEuN2w2Ny43LTQtNjQgMjIuNmMzLjcgMTQuMyA5LjQgMjcuNyAxNi42IDQwLjNMMTQ5IDMwNi45IDk4LjEgMzUyYzguOSAxMS43IDE5LjEgMjIuMyAzMC45IDMwLjlsNDQuOS01MC45LTI5LjUgNjEuNGMxMi4zIDcuNCAyNS43IDEzLjEgNDAgMTYuOWwyMi4zLTY0LjYtNCA2OGM3LjEgMS4xIDE0LjYgMS43IDIxLjcgMS43IDcuNCAwIDE0LjYtLjYgMjEuNy0xLjdsLTQtNjguNiAyMi42IDY1LjFjMTQuMy00IDI3LjctOS40IDQwLTE2LjlsLTI5LjQtNjEuMyA0NC45IDUwLjljMTEuNy04LjkgMjItMTkuMSAzMC42LTMwLjlsLTUwLjYtNDUuMSA2MS4xIDI5LjRjNy4xLTEyLjMgMTIuOS0yNS43IDE2LjYtNDAuM2wtNjQtMjIuMyA2Ny40IDRjMS4xLTcuMSAxLjQtMTQuMyAxLjQtMjEuN3MtLjMtMTQuOS0xLjQtMjJsLTY3LjcgNCA2NC0yMi4zYy0zLjctMTQuMy05LjEtMjgtMTYuNi00MC4zbC02MC45IDI5LjcgNTAuNi00NS40Yy04LjktMTEuNy0xOS4xLTIyLTMwLjYtMzAuOWwtNDUuMSA1MC45IDI5LjQtNjEuMWMtMTIuMy03LjQtMjUuNy0xMy4xLTQwLTE2LjlsLTIyLjMgNjQuMyA0LTY3LjdjLTcuMS0xLjItMTQuMy0xLjctMjEuNy0xLjd6TTQ0My44IDEyOEw0NDMuOCAzODQgMjI0LjQgNTEyIDUgMzg0IDUgMTI4IDIyNC40IDAgNDQzLjggMTI4em0tMTcuMSAxMC4zbC0yMDIuMy0xMTcuNC0yMDIuMyAxMTcuNCAwIDIzNS4xIDIwMi4zIDExNy43IDIwMi4zLTExNy43IDAtMjM1LjF6TTIyNC40IDM3LjFsMTg3LjcgMTA5LjQgMCAyMTguOS0xODcuNyAxMDkuNS0xODcuNy0xMDkuNSAwLTIxOC44IDE4Ny43LTEwOS41em0wIDUwLjljLTkyLjMgMC0xNjYuOSA3NS4xLTE2Ni45IDE2OCAwIDkyLjYgNzQuNiAxNjcuNyAxNjYuOSAxNjcuNyA5MiAwIDE2Ni45LTc1LjEgMTY2LjktMTY3LjcgMC05Mi45LTc0LjktMTY4LTE2Ni45LTE2OHoiXX0seHl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRyaWJiYmxlIixpY29uOls1MTIsNTEyLFtdLCJmMTdkIiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNNDIwIDEyMi40YzI5LjUgMzYgNDcuNCA4MiA0Ny44IDEzMi03LTEuNS03Ny0xNS43LTE0Ny41LTYuOC01LjgtMTQtMTEuMi0yNi40LTE4LjYtNDEuNiA3OC4zLTMyIDExMy44LTc3LjUgMTE4LjMtODMuNXpNMzk2LjQgOTcuOWMtMy44IDUuNC0zNS43IDQ4LjMtMTExIDc2LjUtMzQuNy02My44LTczLjItMTE2LjItNzktMTI0IDY3LjItMTYuMiAxMzggMS4zIDE5MC4xIDQ3LjV6TTE2NS45IDY0LjZjNS42IDcuNyA0My40IDYwLjEgNzguNSAxMjIuNS05OS4xIDI2LjMtMTg2LjQgMjUuOS0xOTUuOCAyNS44IDEzLjctNjUuNyA1OC0xMjAuNCAxMTcuMy0xNDguM3pNNDQuMiAyNTYuM2MwLTIuMiAwLTQuMyAuMS02LjUgOS4zIC4yIDExMS45IDEuNSAyMTcuNy0zMC4xIDYuMSAxMS45IDExLjkgMjMuOSAxNy4yIDM1LjktNzYuNiAyMS42LTE0Ni4yIDgzLjUtMTgwLjUgMTQyLjMtMzMuOC0zNy42LTU0LjUtODcuMi01NC41LTE0MS42ek0xMjYgNDIzLjRjMjIuMS00NS4yIDgyLjItMTAzLjYgMTY3LjYtMTMyLjggMjkuNyA3Ny4zIDQyIDE0Mi4xIDQ1LjIgMTYwLjYtNjguMSAyOS0xNTAgMjEuMS0yMTIuOC0yNy45em0yNDguNCA4LjVjLTIuMi0xMi45LTEzLjQtNzQuOS00MS4yLTE1MSA2Ni40LTEwLjYgMTI0LjcgNi44IDEzMS45IDkuMS05LjQgNTguOS00My4zIDEwOS44LTkwLjggMTQyeiJdfSxtZWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGlua2VkaW4iLGljb246WzQ0OCw1MTIsW10sImYwOGMiLCJNNDE2IDMyTDMxLjkgMzJDMTQuMyAzMiAwIDQ2LjUgMCA2NC4zTDAgNDQ3LjdDMCA0NjUuNSAxNC4zIDQ4MCAzMS45IDQ4MEw0MTYgNDgwYzE3LjYgMCAzMi0xNC41IDMyLTMyLjNsMC0zODMuNEM0NDggNDYuNSA0MzMuNiAzMiA0MTYgMzJ6TTEzNS40IDQxNmwtNjYuNCAwIDAtMjEzLjggNjYuNSAwIDAgMjEzLjgtLjEgMHpNMTAyLjIgOTZhMzguNSAzOC41IDAgMSAxIDAgNzcgMzguNSAzOC41IDAgMSAxIDAtNzd6TTM4NC4zIDQxNmwtNjYuNCAwIDAtMTA0YzAtMjQuOC0uNS01Ni43LTM0LjUtNTYuNy0zNC42IDAtMzkuOSAyNy0zOS45IDU0LjlsMCAxMDUuOC02Ni40IDAgMC0yMTMuOCA2My43IDAgMCAyOS4yIC45IDBjOC45LTE2LjggMzAuNi0zNC41IDYyLjktMzQuNSA2Ny4yIDAgNzkuNyA0NC4zIDc5LjcgMTAxLjlsMCAxMTcuMnoiXX0seXl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLXBheXBhbCIsaWNvbjpbNTc2LDUxMixbXSwiZjFmNCIsIk0xODYuMyAyNTguMmMwIDEyLjItOS43IDIxLjUtMjIgMjEuNS05LjIgMC0xNi01LjItMTYtMTUgMC0xMi4yIDkuNS0yMiAyMS43LTIyIDkuMyAwIDE2LjMgNS43IDE2LjMgMTUuNXpNODAuNSAyMDkuN2wtNC43IDBjLTEuNSAwLTMgMS0zLjIgMi43bC00LjMgMjYuNyA4LjItLjNjMTEgMCAxOS41LTEuNSAyMS41LTE0LjIgMi4zLTEzLjQtNi4yLTE0LjktMTcuNS0xNC45em0yODQgMGwtNC41IDBjLTEuOCAwLTMgMS0zLjIgMi43bC00LjIgMjYuNyA4LS4zYzEzIDAgMjItMyAyMi0xOC0uMS0xMC42LTkuNi0xMS4xLTE4LjEtMTEuMXpNNTc2IDgwbDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmw0ODAgMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMTI4LjMgMjE1LjRjMC0yMS0xNi4yLTI4LTM0LjctMjhsLTQwIDBjLTIuNSAwLTUgMi01LjIgNC43TDMyIDI5NC4yYy0uMyAyIDEuMiA0IDMuMiA0bDE5IDBjMi43IDAgNS4yLTIuOSA1LjUtNS43bDQuNS0yNi42YzEtNy4yIDEzLjItNC43IDE4LTQuNyAyOC42IDAgNDYuMS0xNyA0Ni4xLTQ1Ljh6bTg0LjIgOC44bC0xOSAwYy0zLjggMC00IDUuNS00LjIgOC4yLTUuOC04LjUtMTQuMi0xMC0yMy43LTEwLTI0LjUgMC00My4yIDIxLjUtNDMuMiA0NS4yIDAgMTkuNSAxMi4yIDMyLjIgMzEuNyAzMi4yIDkgMCAyMC4yLTQuOSAyNi41LTExLjktLjUgMS41LTEgNC43LTEgNi4yIDAgMi4zIDEgNCAzLjIgNGwxNy4yIDBjMi43IDAgNS0yLjkgNS41LTUuN2wxMC4yLTY0LjNjLjMtMS45LTEuMi0zLjktMy4yLTMuOXpNMjUzIDMyMi4xbDYzLjctOTIuNmMuNS0uNSAuNS0xIC41LTEuNyAwLTEuNy0xLjUtMy41LTMuMi0zLjVsLTE5LjIgMGMtMS43IDAtMy41IDEtNC41IDIuNWwtMjYuNSAzOS0xMS0zNy41Yy0uOC0yLjItMy00LTUuNS00bC0xOC43IDBjLTEuNyAwLTMuMiAxLjgtMy4yIDMuNSAwIDEuMiAxOS41IDU2LjggMjEuMiA2Mi4xLTIuNyAzLjgtMjAuNSAyOC42LTIwLjUgMzEuNiAwIDEuOCAxLjUgMy4yIDMuMiAzLjJsMTkuMiAwYzEuOC0uMSAzLjUtMS4xIDQuNS0yLjZ6TTQxMi4zIDIxNS40YzAtMjEtMTYuMi0yOC0zNC43LTI4bC0zOS43IDBjLTIuNyAwLTUuMiAyLTUuNSA0LjdsLTE2LjIgMTAyYy0uMiAyIDEuMyA0IDMuMiA0bDIwLjUgMGMyIDAgMy41LTEuNSA0LTMuMmw0LjUtMjljMS03LjIgMTMuMi00LjcgMTgtNC43IDI4LjQgMCA0NS45LTE3IDQ1LjktNDUuOHptODQuMiA4LjhsLTE5IDBjLTMuOCAwLTQgNS41LTQuMyA4LjItNS41LTguNS0xNC0xMC0yMy43LTEwLTI0LjUgMC00My4yIDIxLjUtNDMuMiA0NS4yIDAgMTkuNSAxMi4yIDMyLjIgMzEuNyAzMi4yIDkuMyAwIDIwLjUtNC45IDI2LjUtMTEuOS0uMyAxLjUtMSA0LjctMSA2LjIgMCAyLjMgMSA0IDMuMiA0bDE3LjMgMGMyLjcgMCA1LTIuOSA1LjUtNS43bDEwLjItNjQuM2MuMy0xLjktMS4yLTMuOS0zLjItMy45ek01NDQgMTkwLjljMC0yLTEuNS0zLjUtMy4yLTMuNWwtMTguNSAwYy0xLjUgMC0zIDEuMi0zLjIgMi43bC0xNi4yIDEwNC0uMyAuNWMwIDEuOCAxLjUgMy41IDMuNSAzLjVsMTYuNSAwYzIuNSAwIDUtMi45IDUuMi01LjdsMTYuMi0xMDEuMiAwLS4zem0tOTAgNTEuOGMtMTIuMiAwLTIxLjcgOS43LTIxLjcgMjIgMCA5LjcgNyAxNSAxNi4yIDE1IDEyIDAgMjEuNy05LjIgMjEuNy0yMS41IC4xLTkuOC02LjktMTUuNS0xNi4yLTE1LjV6Il19LHd5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkaGwiLGljb246WzY0MCw1MTIsW10sImY3OTAiLCJNMjM4IDMwMS4ybDU4LjcgMCAyMi4zLTMwLjItNTguNyAwLTIyLjMgMzAuMnpNMCAyODIuOWwwIDYuNCA4MS44IDAgNC43LTYuNC04Ni41IDB6TTE3Mi45IDI3MWMtOC43IDAtNi0zLjYtNC42LTUuNSAyLjgtMy44IDcuNi0xMC40IDEwLjQtMTQuMXMyLjgtNS45LTIuOC01LjlsLTUxIDAtNDEuMSA1NS44IDEwMC4xIDBjMzMuMSAwIDUxLjUtMjIuNSA1Ny4yLTMwLjNsLTY4LjIgMHptMzE3LjUtNi45bDM5LjMtNTMuNC02Mi4yIDAtMzkuMyA1My40IDYyLjIgMHpNOTUuMyAyNzFsLTk1LjMgMCAwIDYuNCA5MC42IDAgNC43LTYuNHptMTExLTI2LjZjLTIuOCAzLjgtNy41IDEwLjQtMTAuMyAxNC4yLTEuNCAyLTQuMSA1LjUgNC42IDUuNWw0NS42IDBzNy4zLTEwIDEzLjUtMTguNGM4LjQtMTEuNCAuNy0zNS0yOS4yLTM1bC0xMTcuOSAwLTIwLjQgMjcuOCAxMTEuNCAwYzUuNiAwIDUuNSAyLjIgMi43IDUuOXpNMCAzMDEuMmw3My4xIDAgNC43LTYuNC03Ny44IDAgMCA2LjR6bTMyMyAwbDU4LjcgMCAyMi4zLTMwLjItNTguNyAwYy0uMSAwLTIyLjMgMzAuMi0yMi4zIDMwLjJ6bTIyMiAuMWw5NSAwIDAtNi40LTkwLjMgMC00LjcgNi40ek01NjcuMyAyNzFsLTQuNyA2LjQgNzcuNCAwIDAtNi40LTcyLjcgMHptLTEzLjUgMTguM2w4Ni4yIDAgMC02LjQtODEuNSAwLTQuNyA2LjR6TTM4OS42IDIxMC43bC0yMi41IDMwLjYtMjYuMiAwIDIyLjUtMzAuNi01OC43IDAtMzkuMyA1My40IDE0My42IDAgMzkuMy01My40LTU4LjcgMHpNNDIzLjEgMjcxcy00LjMgNS45LTYuNCA4LjdjLTcuNCAxMC0uOSAyMS42IDIzLjIgMjEuNmw5NC4zIDAgMjIuMy0zMC4zLTEzMy40IDB6Il19LE15dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0ZXgiLGljb246WzY0MCw1MTIsW10sImU3ZmYiLCJNNjIwLjggOTUuNGMtMzAuOCAuNC00Mi4xIDE2LjYtNDcuNyAyNC41bC0uMSAuMS01NS43IDgwLjUgODIuOCAxMjEuMWM3LjUgMTAuNiAxMS4zIDEyLjUgMzUuNCAxMi41bDAgOS4xYy05LjEtLjctMjgtLjctMzcuNy0uNy0xMi40IDAtMzAuOCAwLTQyLjkgLjdsMC05LjFjMTMuMi0uOCAxNi42LTcuMyAxNi42LTEwLjIgMC0xLjEgMC0yLjMtMy02LjRsLTY1LjUtOTYuMy02MC4yIDg3LjljLTEuOSAyLjctMy44IDUuNC0zLjggMTAuMiAwIDYuMSAzLjQgMTMuNiAxNSAxNC43bDAgOS4xYy05LjQtLjctMjcuMS0uNy0zNy4yLS43bC0yLjggMC0xMS43IDgyLjYtMTk1LjkgMCAwLTkuMWMyNi43IDAgMzAuOSAwIDMwLjktMTYuOWwwLTIwMy4yYzAtMTYuOS00LjMtMTYuOS0zMC45LTE2LjlsMC0xMC4zIDE5LjggMGMtNC44LTYxLjEtMTAuOC03MS43LTY4LTcxLjhsLTIwLjcgMGMtNi44IDEuNS02LjggNi4xLTYuOCAxNC40bDAgMjA1YzAgMTMuNiAxLjEgMTcuOCAzMi40IDE3LjhsMTAuNSAwIDAgOS4xLS40IDBjLTE3LjktLjMtMzYuNy0uNy01NC45LS43cy0zNi45IC4zLTU0LjggLjdsLS42IDAgMC05LjEgMTAuNyAwYzMxLjcgMCAzMi44LTQuMSAzMi44LTE3LjhsMC0yMDVjMC04LjcgMC0xMy4yLTcuMi0xNC4zbC0yMC44IDBjLTU4LjQgMC02My43IDEwLjktNjguNiA3My4zbC02LjggMCA2LjMtODMuMyAyMTcuNSAwIDYuMSA4MS44IDE2NC4xIDAgOSA4My4zLTYuOCAwYy01LjMtNDkuOC0xMi4xLTczLTcwLjMtNzNsLTUxLjUgMGMtMTUgMC0xNS44IDEuOS0xNS44IDE0LjZsMCA5My4zIDM1LjUgMGMzNS41IDAgMzguOS0xMi44IDM4LjktNDRsNiAwIDAgOTcuOS02IDBjMC0zMS44LTMuNC00NC44LTM4LjktNDQuOGwtMzUuNSAwIDAgMTA1LjJjMCAxMyAuNyAxNC44IDE1LjggMTQuOGw1Mi4yIDBjNjEuMSAwIDY5LjktMjUuOCA3Ny40LTczLjYtNy43IDAtMTYuMyAuMi0yMi4yIC43bDAtOS4xYzcuMiAwIDMxLjctLjQgNDcuOC0yMy44bDY1LjUtOTUuNy03Mi43LTEwNi43Yy04LjMtMTEuNy0xNS4xLTEyLjUtMzUuOC0xMi41bDAtOS4xYzkuMSAuNyAyNy45IC43IDM3LjcgLjcgMTIuNCAwIDMwLjggMCA0Mi45LS43bDAgOS4xYy0xMi41IC40LTE2LjYgNi44LTE2LjYgMTAuMiAwIDEuMSAuNCAyLjMgMyA2LjRsNTUuNyA4MS42IDQ5LjctNzIuMWMyLjctMy43IDQuNS02LjggNC41LTExLjMgMC02LjEtMy0xMy42LTE1LTE0LjhsMC05LjFjOS40IC43IDI0LjggLjcgMzcuMiAuNyA5IDAgMjMuMyAwIDMyLS43bDAgOS4xeiJdfSxreXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2xhdWRlIixpY29uOls1MTIsNTEyLFtdLCJlODYxIiwiTTEwMC40IDM0MC41bDEwMC43LTU2LjUgMS43LTQuOS0xLjctMi43LTQuOSAwLTE2LjgtMS01Ny41LTEuNi00OS45LTIuMS00OC4zLTIuNi0xMi4yLTIuNi0xMS40LTE1IDEuMi03LjUgMTAuMi02LjkgMTQuNyAxLjNjMTguOSAxLjMgNDUuOSAzLjEgODEgNS42bDM1LjIgMi4xIDUyLjIgNS40IDguMyAwIDEuMi0zLjQtMi44LTIuMS0yLjItMi4xLTUwLjMtMzQuMS01NC40LTM2LTI4LjUtMjAuNy0xNS40LTEwLjUtNy44LTkuOC0zLjQtMjEuNSAxNC0xNS40IDE4LjggMS4zIDQuOCAxLjMgMTkgMTQuNyA0MC43IDMxLjUgNTMuMSAzOS4xIDcuOCA2LjUgMy4xLTIuMiAuNC0xLjYtMy41LTUuOC0yOC45LTUyLjItMzAuOC01My4xLTEzLjctMjItMy42LTEzLjJjLTEuMy01LjQtMi4yLTEwLTIuMi0xNS41bDE1LjktMjEuNiA4LjgtMi44IDIxLjIgMi44IDguOSA3LjggMTMuMiAzMC4yIDIxLjQgNDcuNSAzMy4yIDY0LjYgOS43IDE5LjIgNS4yIDE3LjggMS45IDUuNCAzLjQgMCAwLTMuMSAyLjctMzYuNCA1LTQ0LjcgNC45LTU3LjUgMS43LTE2LjIgOC0xOS40IDE1LjktMTAuNSAxMi40IDUuOSAxMC4yIDE0LjctMS40IDkuNS02LjEgMzkuNS0xMS45IDYxLjktNy44IDQxLjUgNC41IDAgNS4yLTUuMiAyMS0yNy44IDM1LjItNDQuMSAxNS41LTE3LjUgMTguMS0xOS4zIDExLjYtOS4yIDIyIDAgMTYuMiAyNC4xLTcuMyAyNC45LTIyLjcgMjguNy0xOC44IDI0LjQtMjcgMzYuMy0xNi44IDI5IDEuNiAyLjMgNC0uNCA2MC45LTEzIDMyLjktNS45IDM5LjMtNi43IDE3LjggOC4zIDEuOSA4LjQtNyAxNy4yLTQyIDEwLjQtNDkuMiA5LjgtNzMuMyAxNy4zLS45IC43IDEgMS4zIDMzIDMuMSAxNC4xIC44IDM0LjYgMCA2NC40IDQuOCAxNi44IDExLjEgMTAuMSAxMy42LTEuNyAxMC40LTI1LjkgMTMuMmMtMTUuNS0zLjctNTQuNC0xMi45LTExNi42LTI3LjdsLTI4LTctMy45IDAgMCAyLjMgMjMuMyAyMi44IDQyLjcgMzguNiA1My41IDQ5LjggMi43IDEyLjMtNi45IDkuNy03LjMtMS00Ny0zNS40LTE4LjEtMTUuOS00MS4xLTM0LjYtMi43IDAgMCAzLjYgOS41IDEzLjkgNTAgNzUuMiAyLjYgMjMtMy42IDcuNS0xMyA0LjUtMTQuMi0yLjYtMjkuMy00MS4xLTMwLjItNDYuMy0yNC40LTQxLjUtMyAxLjctMTQuNCAxNTQuOC02LjcgNy45LTE1LjUgNS45LTEzLTkuOC02LjktMTUuOSA2LjktMzEuNSA4LjMtNDEuMSA2LjctMzIuNyA2LjEtNDAuNiAzLjYtMTMuNS0uMi0uOS0zIC40LTMwLjYgNDItNDYuNSA2Mi45LTM2LjggMzkuNC04LjggMy41LTE1LjMtNy45IDEuNC0xNC4xIDguNS0xMi42IDUwLjktNjQuOCAzMC43LTQwLjIgMTkuOC0yMy4yLS4xLTMuNC0xLjIgMC0xMzUuMyA4Ny44LTI0LjEgMy4xLTEwLjQtOS43IDEuMy0xNS45IDQuOS01LjIgNDAuNy0yOC0uMSAuMSAwIC4xeiJdfSxTeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2hvcGlmeSIsaWNvbjpbNDQ4LDUxMixbXSwiZTA1NyIsIk0zODguNSAxMDQuMWMtLjItMS4xLS43LTIuMS0xLjUtMi44cy0xLjgtMS4yLTIuOS0xLjJjLTIgMC0zNy4yLS44LTM3LjItLjhzLTIxLjYtMjAuOC0yOS42LTI4LjhsMCA0MzIuNyAxMjUuNy0zMS4ycy01NC0zNjUuNS01NC40LTM2Ny45ek0yODguOSA3MC41Yy0xLjktNi4xLTQuMy0xMS45LTcuMi0xNy42LTEwLjQtMjAtMjYtMzAuOS00NC40LTMwLjktMS4zIDAtMi43IC4xLTQgLjQtLjQtLjgtMS4yLTEuMi0xLjYtMi04LTguOC0xOC40LTEyLjgtMzAuOC0xMi40LTI0IC44LTQ4IDE4LTY3LjIgNDguOC0xMy42IDIxLjYtMjQgNDguOC0yNi44IDcwLjEtMjcuNiA4LjQtNDYuOCAxNC40LTQ3LjIgMTQuOC0xNCA0LjQtMTQuNCA0LjgtMTYgMTgtMS4yIDEwLTM4IDI5MS44LTM4IDI5MS44bDMwMi42IDUyLjUgMC00MzguM2MtMS41IC4xLTIuOSAuMi00LjQgLjQgMCAwLTUuNiAxLjYtMTQuOCA0LjR6TTIzMy42IDg3LjdjLTE2IDQuOC0zMy42IDEwLjQtNTAuOCAxNS42IDQuOC0xOC44IDE0LjQtMzcuNiAyNS42LTUwIDQuNC00LjQgMTAuNC05LjYgMTcuMi0xMi44IDYuOCAxNC40IDguNCAzNCA4IDQ3LjJ6TTIwMC44IDI0LjRjNS0uMiAxMCAxLjEgMTQuNCAzLjYtNi40IDMuMi0xMi44IDguNC0xOC44IDE0LjQtMTUuMiAxNi40LTI2LjggNDItMzEuNiA2Ni41LTE0LjQgNC40LTI4LjggOC44LTQyIDEyLjggOC44LTM4LjQgNDEuMi05Ni40IDc4LTk3LjJ6TTE1NC40IDI0NC42YzEuNiAyNS42IDY5LjIgMzEuMiA3My4yIDkxLjcgMi44IDQ3LjYtMjUuMiA4MC4xLTY1LjYgODIuNS00OC44IDMuMi03NS42LTI1LjYtNzUuNi0yNS42bDEwLjQtNDRzMjYuOCAyMC40IDQ4LjQgMTguOGMxNC0uOCAxOS4yLTEyLjQgMTguOC0yMC40LTItMzMuNi01Ny4yLTMxLjYtNjAuOC04Ni45LTMuMi00Ni40IDI3LjItOTMuMyA5NC41LTk3LjcgMjYtMS42IDM5LjIgNC44IDM5LjIgNC44bC0xNS4yIDU3LjZzLTE3LjItOC0zNy42LTYuNGMtMjkuNiAyLTMwIDIwLjgtMjkuNiAyNS42ek0yNDkuNiA4Mi45YzAtMTItMS42LTI5LjItNy4yLTQzLjYgMTguNCAzLjYgMjcuMiAyNCAzMS4yIDM2LjQtNy4yIDItMTUuMiA0LjQtMjQgNy4yeiJdfSxqdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXJlZGRpdCIsaWNvbjpbNDQ4LDUxMixbInJlZGRpdC1zcXVhcmUiXSwiZjFhMiIsIk02NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJ6TTMwNS45IDE2Ni40YzIwLjYgMCAzNy4zLTE2LjcgMzcuMy0zNy4zcy0xNi43LTM3LjMtMzcuMy0zNy4zYy0xOCAwLTMzLjEgMTIuOC0zNi42IDI5LjgtMzAuMiAzLjItNTMuOCAyOC44LTUzLjggNTkuOWwwIC4yYy0zMi44IDEuNC02Mi44IDEwLjctODYuNiAyNS41LTguOC02LjgtMTkuOS0xMC45LTMyLTEwLjktMjguOSAwLTUyLjMgMjMuNC01Mi4zIDUyLjMgMCAyMSAxMi4zIDM5IDMwLjEgNDcuNCAxLjcgNjAuNyA2Ny45IDEwOS42IDE0OS4zIDEwOS42czE0Ny42LTQ4LjkgMTQ5LjMtMTA5LjdjMTcuNy04LjQgMjkuOS0yNi40IDI5LjktNDcuMyAwLTI4LjktMjMuNC01Mi4zLTUyLjMtNTIuMy0xMiAwLTIzIDQtMzEuOSAxMC44LTI0LTE0LjktNTQuMy0yNC4yLTg3LjUtMjUuNGwwLS4xYzAtMjIuMiAxNi41LTQwLjcgMzcuOS00My43IDMuOSAxNi41IDE4LjcgMjguNyAzNi4zIDI4LjdsLjItLjJ6TTE1NSAyNDguMWMxNC42IDAgMjUuOCAxNS40IDI1IDM0LjRzLTExLjggMjUuOS0yNi41IDI1LjktMjcuNS03LjctMjYuNi0yNi43IDEzLjUtMzMuNSAyOC4xLTMzLjVsMC0uMXptMTY2LjQgMzMuNWMuOSAxOS0xMiAyNi43LTI2LjYgMjYuN3MtMjUuNi02LjktMjYuNS0yNS45IDEwLjMtMzQuNCAyNS0zNC40IDI3LjMgMTQuNiAyOC4xIDMzLjVsMCAuMXptLTQyLjEgNDkuNmMtOSAyMS41LTMwLjMgMzYuNy01NS4xIDM2LjdzLTQ2LjEtMTUuMS01NS4xLTM2LjdjLTEuMS0yLjYgLjctNS40IDMuNC01LjcgMTYuMS0xLjYgMzMuNS0yLjUgNTEuNy0yLjVzMzUuNiAuOSA1MS43IDIuNWMyLjcgLjMgNC41IDMuMSAzLjQgNS43eiJdfSx6eXQ9anVlLEN5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLW5jIixpY29uOls1MTIsNTEyLFtdLCJmNGU4IiwiTTI1NS42IDhDMzk1LjQgOCA1MDQgMTE1LjkgNTA0IDI1NiA1MDQgNDAzLjIgMzg1LjUgNTA0IDI1NS42IDUwNCAxMjEuMSA1MDQgOCAzOTMuMiA4IDI1NiA4IDEyMy4xIDExMi43IDggMjU1LjYgOHpNNjMuOCAxODkuMWMtNy40IDIwLjQtMTEuMSA0Mi43LTExLjEgNjYuOSAwIDExMC45IDkyLjEgMjAyLjQgMjAzLjcgMjAyLjQgMTIyLjQgMCAxNzcuMi0xMDEuOCAxNzguNS0xMDQuMWwtOTMuNC00MS42Yy03LjcgMzcuMS00MS4yIDUzLTY4LjIgNTUuNGwwIDM4LjEtMjguOCAwIDAtMzguMmMtMjcuNS0uMy01Mi42LTEwLjItNzUuMy0yOS43bDM0LjEtMzQuNWMzMS43IDI5LjQgODYuNCAzMS44IDg2LjQtMi4yIDAtNi4yLTIuMi0xMS4yLTYuNi0xNS4xLTE0LjItNi0xLjgtLjEtMjE5LjMtOTcuNHpNMjU2LjQgNTIuM0MyMTggNTIuMyAxNDQgNjEgODUuOSAxNDUuM2w5NC44IDQyLjVjMTAtMzEuMyA0MC40LTQyLjkgNjMuOC00NC4zbDAtMzguMSAyOC44IDAgMCAzOC4xYzIyLjcgMS4yIDQzLjQgOC45IDYyIDIzTDMwMyAxOTkuN2MtNDIuNy0yOS45LTgzLjUtOC03MCAxMS4xIDUzLjQgMjQuMSA0My44IDE5LjggOTMgNDEuNmwxMjcuMSA1Ni43YzQuMS0xNy40IDYuMi0zNS4xIDYuMi01My4xIDAtNTctMTkuOC0xMDUtNTkuMy0xNDMuOS0zOS4zLTM5LjktODcuMi01OS44LTE0My42LTU5Ljh6Il19LF95dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnYWxhY3RpYy1yZXB1YmxpYyIsaWNvbjpbNTEyLDUxMixbXSwiZjUwYyIsIk0yNTYgOGEyNDggMjQ4IDAgMSAxIDAgNDk2IDI0OCAyNDggMCAxIDEgMC00OTZ6bTAgMTYuNWEyMzEuNSAyMzEuNSAwIDEgMCAwIDQ2Mi45IDIzMS41IDIzMS41IDAgMSAwIDAtNDYyLjl6bTI3LjYgMjEuOGwwIDI0LjZjMzAuMyA0LjUgNTkgMTYuMyA4My42IDM0LjVsMTcuNC0xNy40Yy0yOC43LTIyLjEtNjMuMy0zNi45LTEwMS00MS44em0tNTUuNCAuMWMtMzcuNiA0LjktNzIuMiAxOS44LTEwMC45IDQxLjlsMTcuMyAxNy40IC4xIDBjMjQuMS0xNy44IDUyLjYtMzAuMSA4My41LTM0LjdsMC0yNC41em0xMi4yIDUwLjJsMCA4Mi45Yy0xMCAyLTE5LjQgNS45LTI3LjcgMTEuNGwtNTguNi01OC42LTIxLjkgMjEuOSA1OC43IDU4LjdjLTUuNSA4LjItOS40IDE3LjYtMTEuNSAyNy42bC04Mi45IDAgMCAzMSA4Mi45IDBjMiAxMCA2IDE5LjMgMTEuNSAyNy41bC01OC43IDU4LjcgMjEuOSAyMS45IDU4LjYtNTguNmM4LjQgNS42IDE3LjggOS41IDI3LjcgMTEuNWwwIDgyLjkgMzEgMCAwLTgyLjljMTAtMiAxOS40LTYuMSAyNy42LTExLjVsNTguNyA1OC43IDIxLjktMjEuOS01OC43LTU4LjdjNS41LTguMiA5LjUtMTcuNSAxMS41LTI3LjVsODIuOSAwIDAtMzEtODIuOSAwYy0yLTEwLTYtMTkuNC0xMS41LTI3LjZsNTguNy01OC43LTIxLjktMjEuOS01OC43IDU4LjdjLTguMi01LjUtMTcuNi05LjUtMjcuNi0xMS41bDAtODIuOS0zMSAwem0xODMuMiAzMC43bC0xNy40IDE3LjRjMTguMyAyNC42IDMwLjIgNTMuNCAzNC43IDgzLjdsMjQuNiAwYy01LTM3LjctMTkuOC03Mi4zLTQxLjktMTAxem0tMzM1LjYgLjFjLTIyLjEgMjguNy0zNi45IDYzLjMtNDEuOCAxMDAuOWwyNC42IDBjNC42LTMxIDE2LjgtNTkuNCAzNC42LTgzLjVMODguMiAxMjcuNHpNNDYuMyAyODMuN2M0LjkgMzcuNiAxOS43IDcyLjIgNDEuOCAxMDAuOWwxNy40LTE3LjRDODcuNyAzNDMuMSA3NS42IDMxNC42IDcxIDI4My43bC0yNC42IDAgMCAwem0zOTQuNyAwYy00LjYgMzEtMTYuOCA1OS41LTM0LjcgODMuNmwxNy40IDE3LjRjMjIuMS0yOC43IDM3LTYzLjMgNDEuOS0xMDFsLTI0LjYgMHpNMTQ0LjcgNDA2LjRsLTE3LjQgMTcuNGMyOC43IDIyLjEgNjMuMyAzNyAxMDEgNDEuOWwwLTI0LjZjLTMxLTQuNi01OS41LTE2LjgtODMuNi0zNC42em0yMjIuNSAwYy0yNC4xIDE3LjgtNTIuNiAzMC4xLTgzLjYgMzQuN2wwIDI0LjZjMzcuNy00LjkgNzIuMi0xOS44IDEwMS00MS44bC0xNy4zLTE3LjQtLjEgMHoiXX0sZ2VlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZhY2Vib29rIixpY29uOls1MTIsNTEyLFs2MmUzXSwiZjA5YSIsIk01MTIgMjU2QzUxMiAxMTQuNiAzOTcuNCAwIDI1NiAwUzAgMTE0LjYgMCAyNTZDMCAzNzYgODIuNyA0NzYuOCAxOTQuMiA1MDQuNWwwLTE3MC4zLTUyLjggMCAwLTc4LjIgNTIuOCAwIDAtMzMuN2MwLTg3LjEgMzkuNC0xMjcuNSAxMjUtMTI3LjUgMTYuMiAwIDQ0LjIgMy4yIDU1LjcgNi40bDAgNzAuOGMtNi0uNi0xNi41LTEtMjkuNi0xLTQyIDAtNTguMiAxNS45LTU4LjIgNTcuMmwwIDI3LjggODMuNiAwLTE0LjQgNzguMi02OS4zIDAgMCAxNzUuOUM0MTMuOCA0OTQuOCA1MTIgMzg2LjkgNTEyIDI1NnoiXX0sVHl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdpdGxhYiIsaWNvbjpbNTEyLDUxMixbXSwiZjI5NiIsIk01MDQgMjA0LjZsLS43LTEuOC02OS43LTE4MS44Yy0xLjQtMy42LTMuOS02LjYtNy4yLTguNi0yLjQtMS42LTUuMS0yLjUtOC0yLjhzLTUuNyAuMS04LjQgMS4xLTUuMSAyLjctNy4xIDQuOGMtMS45IDIuMS0zLjMgNC43LTQuMSA3LjRsLTQ3IDE0NC0xOTAuNSAwLTQ3LjEtMTQ0Yy0uOC0yLjgtMi4yLTUuMy00LjEtNy40LTItMi4xLTQuNC0zLjctNy4xLTQuOC0yLjYtMS01LjUtMS40LTguNC0xLjFzLTUuNiAxLjItOCAyLjhjLTMuMiAyLTUuOCA1LjEtNy4yIDguNkw5LjggMjAyLjggOSAyMDQuNmMtMTAgMjYuMi0xMS4zIDU1LTMuNSA4MiA3LjcgMjYuOSAyNCA1MC43IDQ2LjQgNjcuNmwuMyAuMiAuNiAuNCAxMDYgNzkuNWMzOC41IDI5LjEgNjYuNyA1MC4zIDg0LjYgNjMuOSAzLjcgMS45IDguMyA0LjMgMTMgNC4zczkuMy0yLjQgMTMtNC4zYzE3LjktMTMuNSA0Ni4xLTM0LjkgODQuNi02My45bDEwNi43LTc5LjkgLjMtLjNjMjIuNC0xNi45IDM4LjctNDAuNiA0NS42LTY3LjUgOC42LTI3IDcuNC01NS44LTIuNi04MnoiXX0sTHl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InFxIixpY29uOls0NDgsNTEyLFtdLCJmMWQ2IiwiTTQzNC4xIDQyMC40Yy0xMS41IDEuNC00NC45LTUyLjctNDQuOS01Mi43IDAgMzEuMy0xNi4xIDcyLjItNTEgMTAxLjggMTYuOCA1LjIgNTQuOCAxOS4yIDQ1LjggMzQuNC03LjMgMTIuMy0xMjUuNSA3LjktMTU5LjYgNC0zNC4xIDMuOC0xNTIuMyA4LjMtMTU5LjYtNC05LTE1LjIgMjguOS0yOS4yIDQ1LjgtMzQuNC0zNC45LTI5LjUtNTEuMS03MC40LTUxLjEtMTAxLjggMCAwLTMzLjMgNTQuMS00NC45IDUyLjctNS40LS42LTEyLjQtMjkuNiA5LjMtOTkuNyAxMC4zLTMzIDIyLTYwLjUgNDAuMS0xMDUuOC0zLjEtMTE2LjkgNDUuMi0yMTUgMTYwLjMtMjE1IDExMy43IDAgMTYzLjIgOTYuMSAxNjAuMyAyMTUgMTguMSA0NS4yIDI5LjkgNzIuOSA0MC4xIDEwNS44IDIxLjggNzAuMSAxNC43IDk5LjEgOS4zIDk5Ljd6Il19LCR5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdHJpcGUiLGljb246WzY0MCw1MTIsW10sImY0MjkiLCJNMTY1IDE0NC43bC00My4zIDkuMi0uMiAxNDIuNGMwIDI2LjMgMTkuOCA0My4zIDQ2LjEgNDMuMyAxNC42IDAgMjUuMy0yLjcgMzEuMi01LjlsMC0zMy44Yy01LjcgMi4zLTMzLjcgMTAuNS0zMy43LTE1LjdsMC02My4yIDMzLjcgMCAwLTM3LjgtMzMuNyAwLS4xLTM4LjV6bTg5LjEgNTEuNmwtMi43LTEzLjEtMzguNCAwIDAgMTUzLjIgNDQuMyAwIDAtMTAzLjFjMTAuNS0xMy44IDI4LjItMTEuMSAzMy45LTkuM2wwLTQwLjhjLTYtMi4xLTI2LjctNi0zNy4xIDEzLjF6TTM0Ni40IDEyNGwtNDQuNiA5LjUgMCAzNi4yIDQ0LjYtOS41IDAtMzYuMnpNNDQuOSAyMjguM2MwLTYuOSA1LjgtOS42IDE1LjEtOS43IDEzLjUgMCAzMC43IDQuMSA0NC4yIDExLjRsMC00MS44Yy0xNC43LTUuOC0yOS40LTguMS00NC4xLTguMS0zNiAwLTYwIDE4LjgtNjAgNTAuMiAwIDQ5LjIgNjcuNSA0MS4yIDY3LjUgNjIuNCAwIDguMi03LjEgMTAuOS0xNyAxMC45LTE0LjcgMC0zMy43LTYuMS00OC42LTE0LjJsMCA0MGMxNi41IDcuMSAzMy4yIDEwLjEgNDguNSAxMC4xIDM2LjkgMCA2Mi4zLTE1LjggNjIuMy00Ny44IDAtNTIuOS02Ny45LTQzLjQtNjcuOS02My40ek02NDAgMjYxLjZjMC00NS41LTIyLTgxLjQtNjQuMi04MS40cy02Ny45IDM1LjktNjcuOSA4MS4xYzAgNTMuNSAzMC4zIDc4LjIgNzMuNSA3OC4yIDIxLjIgMCAzNy4xLTQuOCA0OS4yLTExLjVsMC0zMy40Yy0xMi4xIDYuMS0yNiA5LjgtNDMuNiA5LjgtMTcuMyAwLTMyLjUtNi4xLTM0LjUtMjYuOWw4Ni45IDBjLjItMi4zIC42LTExLjYgLjYtMTUuOXptLTg3LjktMTYuOGMwLTIwIDEyLjMtMjguNCAyMy40LTI4LjQgMTAuOSAwIDIyLjUgOC40IDIyLjUgMjguNGwtNDUuOSAwek00MzkuMiAxODAuMmMtMTcuNCAwLTI4LjYgOC4yLTM0LjggMTMuOWwtMi4zLTExLTM5LjEgMCAwIDIwNC44IDQ0LjQtOS40IC4xLTUwLjJjNi40IDQuNyAxNS45IDExLjIgMzEuNCAxMS4yIDMxLjggMCA2MC44LTIzLjIgNjAuOC03OS42IC4xLTUxLjYtMjkuMy03OS43LTYwLjUtNzkuN3pNNDI4LjYgMzAyLjdjLTEwLjQgMC0xNi42LTMuOC0yMC45LTguNGwtLjMtNjZjNC42LTUuMSAxMS04LjggMjEuMi04LjggMTYuMiAwIDI3LjQgMTguMiAyNy40IDQxLjQgLjEgMjMuOS0xMC45IDQxLjgtMjcuNCA0MS44ek0zMDEuOSAzMzYuNGw0NC42IDAgMC0xNTMuMi00NC42IDAgMCAxNTMuMnoiXX0sRHl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRhaWx5bW90aW9uIixpY29uOls0NDgsNTEyLFtdLCJlMDUyIiwiTTI5OC45IDI2N2MtNy40LTQuMi0xNS44LTYuMy0yNC40LTYuMi0xMy4yIDAtMjQuNCA0LjQtMzMuNCAxMy4zcy0xMy42IDIwLTEzLjYgMzMuNGMwIDE0LjEgNC40IDI1LjYgMTMuMyAzNC42czIwIDEzLjQgMzMuNCAxMy40YzEzLjcgMCAyNS00LjYgMzQuMS0xMy44UzMyMiAzMjEuMSAzMjIgMzA3LjVjMC04LjItMi4xLTE2LjMtNi4xLTIzLjUtNC03LjEtOS44LTEzLTE3LTE3ek0wIDMybDAgNDQ4IDQ0OCAwIDAtNDQ4LTQ0OCAwek0zNzQuNyA0MDUuM2wtNTMuMSAwIDAtMjMuOS0uNyAwYy0xMC41IDE3LjUtMjkuMSAyNi4yLTU1LjggMjYuMi0xOC40IDAtMzQuNy00LjQtNDguOS0xMy4xLTE0LjEtOC42LTI1LjUtMjEtMzIuOS0zNS44LTcuNy0xNS4xLTExLjYtMzIuMS0xMS42LTUwLjkgMC0xOC40IDMuOS0zNS4xIDExLjgtNTAuMiA3LjUtMTQuNyAxOC45LTI3LjEgMzIuOS0zNS44IDE0LjEtOC43IDMwLTEzLjEgNDcuNy0xMy4xIDEwLjItLjEgMjAuMiAxLjYgMjkuNyA1LjIgOC45IDMuNSAxNy4yIDkuMSAyNSAxN2wwLTc3LjkgNTUuOC0xMi4xIDAgMjY0LjR6Il19LEF5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdGVhbSIsaWNvbjpbNTEyLDUxMixbXSwiZjFiNiIsIk01MDQgMjU2YzAgMTM3LTExMS4yIDI0OC0yNDguNCAyNDgtMTEzLjggMC0yMDkuNi03Ni4zLTIzOS0xODAuNGw5NS4yIDM5LjNjNi40IDMyLjEgMzQuOSA1Ni40IDY4LjkgNTYuNCAzOS4yIDAgNzEuOS0zMi40IDcwLjItNzMuNWw4NC41LTYwLjJjNTIuMSAxLjMgOTUuOC00MC45IDk1LjgtOTMuNSAwLTUxLjYtNDItOTMuNS05My43LTkzLjVzLTkzLjcgNDItOTMuNyA5My41bDAgMS4yLTU5LjIgODUuN2MtMTUuNS0uOS0zMC43IDMuNC00My41IDEyLjFMOCAyMzYuMUMxOC4yIDEwOC40IDEyNS4xIDggMjU1LjYgOCAzOTIuOCA4IDUwNCAxMTkgNTA0IDI1NnpNMTYzLjcgMzg0LjNsLTMwLjUtMTIuNmM1LjYgMTEuNiAxNS4zIDIwLjggMjcuMiAyNS44IDI2LjkgMTEuMiA1Ny44LTEuNiA2OS0yOC40IDUuNC0xMyA1LjUtMjcuMyAuMS00MC4zUzIxNCAzMDUuNiAyMDEgMzAwLjJjLTEyLjktNS40LTI2LjctNS4yLTM4LjktLjZsMzEuNSAxM2MxOS44IDguMiAyOS4yIDMwLjkgMjAuOSA1MC43LTguMyAxOS45LTMxIDI5LjItNTAuOCAyMXpNMzM3LjUgMTI5LjhhNjIuMyA2Mi4zIDAgMSAxIDAgMTI0LjYgNjIuMyA2Mi4zIDAgMSAxIDAtMTI0LjZ6bS4xIDEwOWE0Ni44IDQ2LjggMCAxIDAgMC05My42IDQ2LjggNDYuOCAwIDEgMCAwIDkzLjZ6Il19LEV5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2ZW5tby12IixpY29uOls1MTIsNTEyLFtdLCJlODViIiwiTTQ2Ni41IDE0LjhjMTcuNCAyOC43IDI1LjMgNTguMiAyNS4zIDk1LjUgMCAxMTktMTAxLjkgMjczLjUtMTg0LjcgMzgyLjFsLTE4OC45IDAtNzUuOC00NTEuNSAxNjUuNC0xNS43IDQwLjEgMzIxLjNjMzcuNC02MC44IDgzLjYtMTU2LjMgODMuNi0yMjEuNCAwLTM1LjYtNi4xLTU5LjktMTUuNy03OS45TDQ2Ni41IDE0Ljh6Il19LFV1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzbmFwY2hhdCIsaWNvbjpbNTEyLDUxMixbNjIxMjQsInNuYXBjaGF0LWdob3N0Il0sImYyYWIiLCJNNDk3LjEgMzY2LjZjLTMuNC05LjItOS44LTE0LjEtMTcuMS0xOC4yLTEuNC0uOC0yLjYtMS41LTMuNy0xLjktMi4yLTEuMS00LjQtMi4yLTYuNi0zLjQtMjIuOC0xMi4xLTQwLjYtMjcuMy01My00NS40LTMuNS01LjEtNi42LTEwLjUtOS4xLTE2LjEtMS4xLTMtMS00LjctLjItNi4zIC44LTEuMiAxLjctMi4yIDIuOS0zIDMuOS0yLjYgOC01LjIgMTAuNy03IDQuOS0zLjIgOC44LTUuNyAxMS4yLTcuNCA5LjQtNi41IDE1LjktMTMuNSAyMC0yMS4zIDIuOS01LjQgNC41LTExLjMgNC45LTE3LjRzLS42LTEyLjItMi44LTE3LjhjLTYuMi0xNi4zLTIxLjYtMjYuNC00MC4zLTI2LjQtMy45IDAtNy45IC40LTExLjcgMS4yLTEgLjItMi4xIC41LTMuMSAuNyAuMi0xMS4yLS4xLTIyLjktMS4xLTM0LjUtMy41LTQwLjgtMTcuOC02Mi4xLTMyLjctNzkuMi05LjUtMTAuNy0yMC43LTE5LjctMzMuMi0yNi43LTIyLjYtMTIuOS00OC4yLTE5LjQtNzYuMS0xOS40cy01My40IDYuNS03NiAxOS40Yy0xMi41IDctMjMuNyAxNi4xLTMzLjMgMjYuOC0xNC45IDE3LTI5LjIgMzguNC0zMi43IDc5LjItMSAxMS42LTEuMiAyMy40LTEuMSAzNC41LTEtLjMtMi0uNS0zLjEtLjctMy45LS44LTcuOC0xLjItMTEuNy0xLjItMTguNyAwLTM0LjEgMTAuMS00MC4zIDI2LjQtMi4yIDUuNy0zLjIgMTEuOC0yLjggMTcuOHMyIDEyIDQuOSAxNy40YzQuMSA3LjggMTAuNyAxNC43IDIwIDIxLjMgMi41IDEuNyA2LjQgNC4yIDExLjIgNy40IDIuNiAxLjcgNi41IDQuMiAxMC4zIDYuNyAxLjMgLjkgMi40IDIgMy4zIDMuMyAuOCAxLjYgLjggMy40LS40IDYuNi0yLjUgNS41LTUuNSAxMC44LTguOSAxNS44LTEyLjEgMTcuNy0yOS40IDMyLjYtNTEuNCA0NC42LTExLjcgNi4yLTIzLjkgMTAuMy0yOSAyNC4zLTMuOSAxMC41LTEuMyAyMi41IDguNSAzMi42IDMuNiAzLjggNy44IDYuOSAxMi40IDkuNCA5LjYgNS4zIDE5LjggOS4zIDMwLjMgMTIuMSAyLjIgLjYgNC4zIDEuNSA2LjEgMi43IDMuNiAzLjEgMy4xIDcuOSA3LjggMTQuOCAyLjQgMy42IDUuNCA2LjcgOSA5LjEgMTAgNi45IDIxLjMgNy40IDMzLjIgNy44IDEwLjggLjQgMjMgLjkgMzYuOSA1LjUgNS44IDEuOSAxMS44IDUuNiAxOC43IDkuOSAxNi43IDEwLjMgMzkuNiAyNC4zIDc3LjggMjQuM3M2MS4zLTE0LjEgNzguMS0yNC40YzYuOS00LjIgMTIuOS03LjkgMTguNS05LjggMTMuOS00LjYgMjYuMi01LjEgMzYuOS01LjUgMTEuOS0uNSAyMy4yLS45IDMzLjItNy44IDQuMi0yLjkgNy43LTYuNyAxMC4yLTExLjIgMy40LTUuOCAzLjQtOS45IDYuNi0xMi44IDEuOC0xLjIgMy43LTIuMSA1LjgtMi42IDEwLjctMi44IDIxLTYuOSAzMC44LTEyLjIgNC45LTIuNiA5LjMtNi4xIDEzLTEwLjJsLjEtLjJjOS4yLTkuOSAxMS41LTIxLjUgNy44LTMxLjh6bS0zNCAxOC4zYy0yMC43IDExLjUtMzQuNSAxMC4yLTQ1LjMgMTcuMS05LjEgNS45LTMuNyAxOC41LTEwLjMgMjMuMS04LjEgNS42LTMyLjItLjQtNjMuMiA5LjktMjUuNiA4LjUtNDIgMzIuOC04OCAzMi44cy02Mi0yNC4zLTg4LjEtMzIuOWMtMzEtMTAuMy01NS4xLTQuMi02My4yLTkuOS02LjYtNC42LTEuMi0xNy4yLTEwLjMtMjMuMS0xMC43LTYuOS0yNC41LTUuNy00NS4zLTE3LjEtMTMuMi03LjMtNS43LTExLjgtMS4zLTEzLjkgNzUuMS0zNi40IDg3LjEtOTIuNiA4Ny43LTk2LjcgLjYtNSAxLjQtOS00LjItMTQuMS01LjQtNS0yOS4yLTE5LjctMzUuOC0yNC4zLTEwLjktNy42LTE1LjctMTUuMy0xMi4yLTI0LjYgMi41LTYuNSA4LjUtOC45IDE0LjktOC45IDIgMCA0IC4yIDYgLjcgMTIgMi42IDIzLjcgOC42IDMwLjQgMTAuMiAuOCAuMiAxLjYgLjMgMi41IC4zIDMuNiAwIDQuOS0xLjggNC42LTUuOS0uOC0xMy4xLTIuNi0zOC43LS42LTYyLjYgMi44LTMyLjkgMTMuNC00OS4yIDI2LTYzLjYgNi4xLTYuOSAzNC41LTM3IDg4LjktMzdTMzM5IDc0LjIgMzQ1IDgxLjFjMTIuNiAxNC40IDIzLjIgMzAuNyAyNiA2My42IDIuMSAyMy45IC4zIDQ5LjUtLjYgNjIuNi0uMyA0LjMgMSA1LjkgNC42IDUuOSAuOCAwIDEuNy0uMSAyLjUtLjMgNi43LTEuNiAxOC40LTcuNiAzMC40LTEwLjIgMi0uNCA0LS43IDYtLjcgNi40IDAgMTIuNCAyLjUgMTQuOSA4LjkgMy41IDkuNC0xLjIgMTctMTIuMiAyNC42LTYuNiA0LjYtMzAuNCAxOS4zLTM1LjggMjQuMy01LjYgNS4xLTQuOCA5LjEtNC4yIDE0LjIgLjUgNC4yIDEyLjUgNjAuNCA4Ny43IDk2LjcgNC40IDIuMiAxMS45IDYuNy0xLjMgMTQuMXoiXX0sUHl0PVV1ZSxJeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2FsYWN0aWMtc2VuYXRlIixpY29uOls1MTIsNTEyLFtdLCJmNTBkIiwiTTI0OS45IDMzLjVsMCAyNi4xYy0xMy42IDIwLjYtMjMuOSAxMDguNi0yNC41IDIxNS4zIDExLjctMTUuNiAxOS4xLTMzLjMgMTkuMS00OC4ybDAtMTYuOWMwLTUuMyAuOC0xMC41IDIuMi0xNS42IC42LTIuMSAxLjQtNC4xIDIuNi01LjhzMy40LTMuOCA2LjctMy44IDUuNCAyLjEgNi43IDMuOGMxLjIgMS44IDIgMy43IDIuNiA1LjggMS40IDUuMSAyLjIgMTAuMyAyLjIgMTUuNmwwIDE2LjljMCAxNC45IDcuNCAzMi42IDE5LjEgNDguMi0uNi0xMDYuOC0xMC45LTE5NC43LTI0LjUtMjE1LjNsMC0yNi4xLTEyLjMgMHpNMjIzLjUgMTgxLjNjLTkuNSAyLjEtMTguNyA1LjItMjcuNSA5LjEgOC45IDE2LjEgOS44IDMyLjYgMS43IDM3LjMtOCA0LjYtMjEuOC00LjItMzEuNC0xOS44LTExLjYgOC44LTIxLjkgMTkuMy0zMC42IDMxLjEgMTQuNyA5LjYgMjIuOSAyMi45IDE4LjMgMzAuNy00LjUgNy43LTIwIDcuMS0zNS41LTEtNS44IDEzLjItOS43IDI3LjUtMTEuNiA0Mi40IDkuNyAuMiAxOC43IDIuNCAyNi4yIDYgMTcuOC0uMyAzMi44LTIgNDAuNS00LjIgNS42LTI2LjQgMjMtNDguMiA0Ni4zLTU5LjUgLjctMjUuNiAxLjktNDkuNyAzLjUtNzIuMXptNjUgMGMxLjYgMjIuNCAyLjcgNDYuNSAzLjUgNzIuMSAyMy4zIDExLjMgNDAuOCAzMy4yIDQ2LjMgNTkuNSA3LjcgMi4zIDIyLjcgMy45IDQwLjUgNC4yIDcuNS0zLjcgMTYuNS01LjggMjYuMi02LTEuOS0xNC45LTUuOS0yOS4yLTExLjctNDIuNC0xNS40IDguMS0zMC45IDguNy0zNS41IDEtNC42LTcuNyAzLjYtMjEuMSAxOC4zLTMwLjctOC43LTExLjgtMTktMjIuMy0zMC42LTMxLjEtOS41IDE1LjYtMjMuNCAyNC40LTMxLjQgMTkuOC04LjEtNC42LTcuMi0yMS4yIDEuNy0zNy4zLTguOC0zLjktMTgtNy0yNy40LTkuMXpNMjU2IDE4OS45Yy0zLjIgMC01LjkgOC44LTYuMSAxOS45bDAgMCAwIDE2LjljMCA0MS40LTQ5IDk1LTkzLjUgOTUtNTIgMC0xMjIuOC0xLjQtMTU2LjQgMjkuMmwwIDIuNWM5LjQgMTcuMSAyMC42IDMzLjIgMzMuMiA0OCAxMi41LTIxLjEgNTEuNi00MSAxMDgtNDEuNCA0NS43IDEgNzkgMjAuMyA5MC44IDQwLjkgMCAwIDAgMCAwIC4xIDcuNyAyLjEgMTUuOCAzLjIgMjQgMy4yIDguMiAwIDE2LjQtMS4xIDI0LTMuMiAwIDAgMCAwIDAtLjEgMTEuNy0yMC41IDQ1LjEtMzkuOCA5MC44LTQwLjkgNTYuNCAuNCA5NS41IDIwLjMgMTA4IDQxLjQgMTIuNi0xNC44IDIzLjgtMzAuOSAzMy4yLTQ4bDAtMi41Yy0zMy42LTMwLjYtMTA0LjQtMjkuMi0xNTYuNC0yOS4yLTQ0LjUgMC05My41LTUzLjYtOTMuNS05NWwwLTE2LjktLjEgMGMtLjItMTEuMS0yLjktMTkuOS02LjEtMTkuOXptMCAxNzcuOWE0MC42IDQwLjYgMCAxIDEgMC04MS4zIDQwLjYgNDAuNiAwIDEgMSAwIDgxLjN6bTAtNzMuNmEzMyAzMyAwIDEgMCAwIDY1LjkgMzMgMzMgMCAxIDAgMC02NS45em0wIDU5LjhhMjYuOCAyNi44IDAgMSAxIDAtNTMuNiAyNi44IDI2LjggMCAxIDEgMCA1My42em0tMTE0LjggMTNjLTEwLjIgLjEtMjEuNiAuNC0zMC41IDEuNyAuNCA0LjQgMS41IDE4LjYgNy4xIDI5LjggOS4xLTIuNiAxOC40LTMuOSAyNy42LTMuOSA0MS4zIC45IDcxLjUgMzQuNCA3OC4zIDc0LjVsLjEgNC43YzEwLjQgMS45IDIxLjIgMi45IDMyLjIgMi45IDExIDAgMjEuOC0xIDMyLjItMi45bC4xLTQuN2M2LjgtNDAuMSAzNy03My41IDc4LjMtNzQuNSA5LjMgMCAxOC41IDEuMyAyNy42IDMuOSA1LjYtMTEuMSA2LjctMjUuMyA3LjEtMjkuOC04LjktMS4zLTIwLjMtMS42LTMwLjUtMS43LTE4LjggLjQtMzUuMiA0LjItNDguNiA5LjctMTIuNSAxNi0yOS4yIDMwLTQ5LjYgMzMuMS0uMSAwLS4yIDAtLjMgMCAwIDAtLjEgMC0uMiAuMS01LjIgMS4xLTEwLjYgMS42LTE2LjIgMS42LTUuNSAwLTEwLjktLjUtMTYuMi0xLjYtLjEgMC0uMSAwLS4yLS4xLS4xIDAtLjIgMC0uMyAwLTIwLjQtMy0zNy0xNy00OS42LTMzLjEtMTMuNC01LjUtMjkuOS05LjItNDguNi05Ljd6Il19LE55dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwaG9lbml4LWZyYW1ld29yayIsaWNvbjpbNjQwLDUxMixbXSwiZjNkYyIsIk0yMTIuOSAzNDQuM2MzLjgtLjEgMjIuOC0xLjQgMjUuNi0yLjItMi40LTIuNi00My42LTEtNjgtNDkuNi00LjMtOC42LTcuNS0xNy42LTYuNC0yNy42IDIuOS0yNS41IDMyLjktMzAgNTItMTguNSAzNiAyMS42IDYzLjMgOTEuMyAxMTMuNyA5Ny41IDM3IDQuNSA4NC42LTE3IDEwOC4yLTQ1LjQtLjYtLjEtLjgtLjItMS0uMS0uNCAuMS0uOCAuMi0xLjEgLjMtMzMuMyAxMi4xLTk0LjMgOS43LTEzNC43LTE0LjgtMzcuNi0yMi44LTUzLjEtNTguNy01MS44LTc0LjYgMS44LTIxLjMgMjIuOS0yMy4yIDM1LjktMTkuNiAxNC40IDMuOSAyNC40IDE3LjYgMzguOSAyNy40IDE1LjYgMTAuNCAzMi45IDEzLjcgNTEuMyAxMC4zIDE0LjktMi43IDM0LjQtMTIuMyAzNi41LTE0LjUtMS4xLS4xLTEuOC0uMS0yLjUtLjItNi4yLS42LTEyLjQtLjgtMTguNS0xLjctMTExLjItMTYuNS0xMjguOS0xNjMuNi0yNTIuNS0xNzMuMS00NC4zLTMuNC05OS40IDguMS0xMzYuMyAzNS0uOCAuNi0xLjUgMS4yLTIuMiAxLjggLjEgLjIgLjEgLjMgLjIgLjUgLjggMCAxLjYtLjEgMi40LS4yIDYuMy0xIDEyLjUtLjggMTguNyAuMyAyMy44IDQuMyA0Ny43IDIzLjEgNTUuOSA3Ni41IDUuMyAzNC4zLS43IDUwLjggOCA4Ni4xIDE5IDc3LjEgOTEgMTA3LjYgMTI3LjcgMTA2LjR6TTc1LjMgNjQuOWMtLjktMS0uOS0xLjItMS4zLTIgMTIuMS0yLjYgMjQuMi00LjEgMzYuNi00LjgtMS4xIDE0LjctMjIuMiAyMS4zLTM1LjMgNi44ek0yNzIuMiA0MTUuNGMtNDIuOCAxLjItOTItMjYuNy0xMjMuNS02MS40LTQuNi01LTE2LjgtMjAuMi0xOC42LTIzLjRsLjQtLjRjNi42IDQuMSAyNS43IDE4LjYgNTQuOCAyNyAyNC4yIDcgNDguMSA2LjMgNzEuNi0zLjMgMjIuNy05LjMgNDEtLjUgNDMuMSAyLjktMTguNSAzLjgtMjAuMSA0LjQtMjQgNy45LTUuMSA0LjQtNC42IDExLjcgNyAxNy4yIDI2LjIgMTIuNCA2My0yLjggOTcuMiAyNS40IDIuNCAyIDguMSA3LjggMTAuMSAxMC43LS4xIC4yLS4zIC4zLS40IC41LTQuOC0xLjUtMTYuNC03LjUtNDAuMi05LjMtMjQuNy0yLTQ2LjMgNS4zLTc3LjUgNi4yek00NDcgMTYzLjRjMTYuNC01LjIgNDEuMy0xMy40IDY2LjUtMy4zIDE2LjEgNi41IDI2LjIgMTguNyAzMi4xIDM0LjYgMy41IDkuNCA1LjEgMTkuNyA1LjEgMjguNy0uMiAwLS40IDAtLjYgLjEtLjItLjQtLjQtLjktLjUtMS4zLTUtMjItMjkuOS00My44LTY3LjYtMjkuOS01MC4yIDE4LjYtMTMwLjQgOS43LTE3Ni45LTQ4LS43LS45LTIuNC0xLjctMS4zLTMuMiAuMS0uMiAyLjEgLjYgMyAxLjMgMTguMSAxMy40IDM4LjMgMjEuOSA2MC4zIDI2LjIgMzAuNSA2LjEgNTQuNiAyLjkgNzkuOS01LjJ6TTU0OS43IDI4MC45Yy0zMi40IC4yLTMzLjggNTAuMS0xMDMuNiA2NC40LTE4LjIgMy43LTM4LjcgNC42LTQ0LjkgNC4ybDAtLjRjMi44LTEuNSAxNC43LTIuNiAyOS43LTE2LjYgNy45LTcuMyAxNS4zLTE1LjEgMjIuOC0yMi45IDE5LjUtMjAuMiA0MS40LTQyLjIgODEuOS0zOSAyMy4xIDEuOCAyOS4zIDguMiAzNi4xIDEyLjcgLjMgLjIgLjQgLjUgLjcgLjktLjUgMC0uNyAuMS0uOSAwLTctMi43LTE0LjMtMy4zLTIxLjgtMy4zem0tMTIuMy0yNC4xYy0uMSAuMi0uMSAuNC0uMiAuNi0yOC45LTQuNC00OC03LjktNjguNSA0LTE3IDkuOS0zMS40IDIwLjUtNjIgMjQuNC0yNy4xIDMuNC00NS4xIDIuNC02Ni4xLTgtLjMtLjItLjYtLjQtMS0uNiAwLS4yIC4xLS4zIC4xLS41IDI0LjkgMy44IDM2LjQgNS4xIDU1LjUtNS44IDIyLjMtMTIuOSA0MC4xLTI2LjYgNzEuMy0zMSAyOS42LTQuMSA1MS4zIDIuNSA3MC45IDE2Ljl6TTI2OC42IDk3LjNjLS42LS42LTEuMS0xLjItMi4xLTIuMyA3LjYgMCAyOS43LTEuMiA1My40IDguNCAxOS43IDggMzIuMiAyMSA1MC4yIDMyLjkgMTEuMSA3LjMgMjMuNCA5LjMgMzYuNCA4LjEgNC4zLS40IDguNS0xLjIgMTIuOC0xLjcgLjQtLjEgLjkgMCAxLjUgLjMtLjYgLjQtMS4yIC45LTEuOCAxLjItOC4xIDQtMTYuNyA2LjMtMjUuNiA3LjEtMjYuMSAyLjYtNTAuMy0zLjctNzMuNC0xNS40LTE5LjMtOS45LTM2LjQtMjIuOS01MS40LTM4LjZ6TTY0MCAzMzUuN2MtMy41IDMuMS0yMi43IDExLjYtNDIuNyA1LjMtMTIuMy0zLjktMTkuNS0xNC45LTMxLjYtMjQuMS0xMC03LjYtMjAuOS03LjktMjguMS04LjQgLjYtLjggLjktMS4yIDEuMi0xLjQgMTQuOC05LjIgMzAuNS0xMi4yIDQ3LjMtNi41IDEyLjUgNC4yIDE5LjIgMTMuNSAzMC40IDI0LjIgMTAuOCAxMC40IDIxIDkuOSAyMy4xIDEwLjUgLjEtLjEgLjIgMCAuNCAuNHptLTIxMi41IDEzN2MyLjIgMS4yIDEuNiAxLjUgMS41IDItMTguNS0xLjQtMzMuOS03LjYtNDYuOC0yMi4yLTIxLjgtMjQuNy00MS43LTI3LjktNDguNi0yOS43IC41LS4yIC44LS40IDEuMS0uNCAxMy4xIC4xIDI2LjEgLjcgMzguOSAzLjkgMjUuMyA2LjQgMzUgMjUuNCA0MS42IDM1LjMgMy4yIDQuOCA3LjMgOC4zIDEyLjMgMTEuMXoiXX0sUnl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdpdCIsaWNvbjpbNTEyLDUxMixbXSwiZjFkMyIsIk0yMTYuMyAxNTguNGwtNzkuMyAwYy00MC0xMC41LTEzMC41LTcuOC0xMzAuNSA3NC44IDAgMzAuMSAxNSA1MS4yIDM1IDYxLTI1LjEgMjMtMzcgMzMuOC0zNyA0OS4yIDAgMTEgNC41IDIxLjEgMTcuOSAyNi44LTE0LjMgMTMuNC0yMi40IDIzLjEtMjIuNCA0MS40IDAgMzIuMSAyOCA1MC44IDEwMS42IDUwLjggNzAuOCAwIDExMS44LTI2LjQgMTExLjgtNzMuMiAwLTU4LjctNDUuMi01Ni41LTE1MS42LTYzbDEzLjQtMjEuNmMyNy4zIDcuNiAxMTguNyAxMCAxMTguNy02Ny45IDAtMTguNy03LjctMzEuNy0xNS00MS4xbDM3LjQtMi44IDAtMzQuNXpNMTUyLjkgNDAwLjNjMCAzMi4xLTEwNC45IDMyLjEtMTA0LjkgMi40IDAtOC4xIDUuMy0xNSAxMC42LTIxLjUgNzcuNyA1LjMgOTQuMyAzLjQgOTQuMyAxOS4xek0xMDIuMSAyNjUuN2MtNTIuOCAwLTUwLjUtNzEuMiAxLjItNzEuMiA0OS41IDAgNTAuOCA3MS4yLTEuMiA3MS4yek0yMzUuNCAzNjYuMmwwLTMyLjFjMjYuNy0zLjcgMjcuMi0yIDI3LjItMTFsMC0xMTkuNWMwLTguNS0yLjEtNy40LTI3LjItMTYuM2w0LjUtMzIuOSA4NC4yIDAgMCAxNjguN2MwIDYuNSAuNCA3LjMgNi41IDguMWwyMC43IDIuOCAwIDMyLjEtMTE1LjkgMHptNTIuNS0yNDQuM2MtMjMuMiAwLTM2LjYtMTMuNC0zNi42LTM2LjZzMTMuNC0zNS44IDM2LjYtMzUuOGMyMy42IDAgMzcgMTIuNiAzNyAzNS44cy0xMy40IDM2LjYtMzcgMzYuNnpNNTEyIDM1MC41Yy0xNy41IDguNS00My4xIDE2LjMtNjYuMyAxNi4zLTQ4LjQgMC02Ni43LTE5LjUtNjYuNy02NS41bDAtMTA2LjVjMC01LjQgMS00LjEtMzEuNy00LjFsMC0zNi4yYzM1LjgtNC4xIDUwLTIyIDU0LjUtNjYuM2wzOC42IDBjMCA2NS44LTEuMyA2MS44IDMuMyA2MS44bDU3LjMgMCAwIDQwLjYtNjAuNiAwIDAgOTcuMWMwIDYuOS00LjkgNTEuNCA2MC42IDI2LjhsMTEgMzUuOHoiXX0sT3l0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9wdGluLW1vbnN0ZXIiLGljb246WzU3Niw1MTIsW10sImYyM2MiLCJNNTcyLjggNDIxLjRjNS42LTkuNSA0LjctMTUuMi01LjQtMTEuNi0zLTQuOS03LTkuNS0xMS4xLTEzLjggMi45LTkuNy0uNy0xNC4yLTEwLjgtOS4yLTQuNi0zLjItMTAuMy02LjUtMTUuOS05LjIgMC0xNS4xLTExLjYtMTEuNi0xNy42LTUuNy0xMC40LTEuNS0xOC43LS4zLTI2LjggNS43IC4zLTYuNSAuMy0xMyAuMy0xOS43IDEyLjYgMCA0MC4yLTExIDQ1LjktMzYuMiAxLjQtNi44IDEuNi0xMy44LS4zLTIxLjktMy0xMy41LTE0LjMtMjEuMy0yNS4xLTI1LjctLjgtNS45LTcuNi0xNC4zLTE0LjktMTUuOXMtMTIuNCA0LjktMTQuMSAxMC4zYy04LjUgMC0xOS4yIDIuOC0yMS4xIDguNC01LjQtLjUtMTEuMS0xLjQtMTYuOC0xLjkgMi43LTEuOSA1LjQtMy41IDguNC00LjYgNS40LTkuMiAxNC42LTExLjQgMjUuNy0xMS42bDAtMi44YzE5LjUtLjUgNDMtNS45IDUzLjgtMTguMSAxMi43LTEzLjggMTQuNi0zNy4zIDEyLjQtNTUuMS0yLjQtMTcuMy05LjctMzcuNi0yNC42LTQ4LjEtOC40LTUuOS0yMS42LS44LTIyLjcgOS41LTIuMiAxOS42IDEuMiAzMC0zOC42IDI1LjEtMTAuMy0yMy44LTI0LjYtNDQuNi00Mi43LTYwLTY5LjYtNTkuNy0xNjcuNy01My44LTI0NC4yLTM3LjYgMTkuNyA0LjYgNDEuMSA4LjYgNTkuNyAxNi41LTI2LjIgMi40LTUyLjcgMTEuMy03Ni4yIDIzLjItMzIuOCAxNy00NCAyOS45LTU2LjcgNDIuNCAxNC45LTIuMiAyOC45LTUuMSA0My44LTMuOC05LjcgNS40LTE4LjQgMTIuMi0yNi41IDIwLTI1LjggLjktMjMuOC01LjMtMjYuMi0yNS45LTEuMS0xMC41LTE0LjMtMTUuNC0yMi43LTkuNy0yOC4xIDE5LjktMzMuNSA3OS45LTEyLjIgMTAzLjUgMTAuOCAxMi4yIDM1LjEgMTcuMyA1NC45IDE3LjgtLjMgMS4xLS4zIDEuOS0uMyAyLjcgMTAuOCAuNSAxOS41IDIuNyAyNC42IDExLjYgMyAxLjEgNS43IDIuNyA4LjEgNC42LTUuNCAuNS0xMS4xIDEuNC0xNi41IDEuOS0zLjMtNi42LTEzLjctOC4xLTIxLjEtOC4xLTEuNi01LjctNi41LTEyLjItMTQuMS0xMC4zLTYuOCAxLjktMTQuMSAxMC0xNC45IDE1LjktMjIuNSA5LjUtMzAuMSAyNi44LTI1LjEgNDcuNiA1LjMgMjQuOCAzMyAzNi4yIDQ1LjkgMzYuMmwwIDE5LjdjLTYuNi01LTE0LjMtNy41LTI2LjgtNS43LTUuNS01LjUtMTcuMy0xMC4xLTE3LjMgNS43LTUuOSAyLjctMTEuNCA1LjktMTUuOSA5LjItOS44LTQuOS0xMy42LTEuNy0xMS4xIDkuMi00LjEgNC4zLTcuOCA4LjYtMTEuMSAxMy44LTEwLjItMy43LTExIDIuMi01LjQgMTEuNi0xLjEgMy41LTEuNiA3LTEuOSAxMC44LS41IDMxLjYgNDQuNiA2NCA3My41IDY1LjEgMTcuMyAuNSAzNC42LTguNCA0My0yMy41IDExMy4yIDQuOSAyMjYuNyA0LjEgMzQwLjIgMCA4LjEgMTUuMSAyNS40IDI0LjMgNDIuNyAyMy41IDI5LjItMS4xIDc0LjMtMzMuNSA3My41LTY1LjEgLjItMy43LS43LTcuMi0xLjctMTAuN3pNNDk5IDE2Ny40YzEuMS0zIDIuNC04LjQgMi40LTE0LjYgMC01LjkgNi44LTguMSAxNC4xLS44IDExLjEgMTEuNiAxNC45IDQwLjUgMTMuOCA1MS4xLTQuMS0xMy42LTEzLTI5LTMwLjMtMzUuN3ptLTQuNiA2LjdjMTkuNSA2LjIgMjguNiAyNy42IDI5LjcgNDguOS0xLjEgMi43LTMgNS40LTQuOSA3LjYtNS43IDUuOS0xNS40IDEwLTI2LjIgMTIuMiA0LjMtMjEuMyAuMy00Ny4zLTEyLjctNjMgNC45LS44IDEwLjktMi40IDE0LjEtNS43em0tMjQuMSA2LjhjMTMuOCAxMS45IDIwIDM5LjIgMTQuMSA2My41LTQuMSAuNS04LjEgLjgtMTEuNiAuOC0xLjktMjEuOS02LjgtNDQtMTQuMy02NC42IDMuNyAuMyA4LjEgLjMgMTEuOCAuM3pNNDcuNyAyMDNjLTEuMS0xMC41IDIuNC0zOS41IDEzLjgtNTEuMSA3LTcuMyAxNC4xLTUuMSAxNC4xIC44IDAgNi4yIDEuNCAxMS42IDIuNCAxNC42LTE3LjMgNi44LTI2LjIgMjIuMi0zMC4zIDM1Ljd6bTkuNyAyNy42Yy0xLjktMi4yLTMuNS00LjktNC45LTcuNiAxLjQtMjEuMyAxMC4zLTQyLjcgMjkuNy00OC45IDMuMiAzLjIgOS4yIDQuOSAxNC4xIDUuNy0xMyAxNS43LTE3IDQxLjYtMTIuNyA2My0xMC44LTIuMi0yMC41LTYtMjYuMi0xMi4yem00Ny45IDE0LjZjLTQuMSAwLTguMS0uMy0xMi43LS44LTQuNi0xOC42LTEuOS0zOC45IDUuNC01M2wwIC4zIDEyLjItNS4xYzQuOS0xLjkgOS43LTMuOCAxNC45LTQuOS0xMC43IDE5LjctMTcuNCA0MS4zLTE5LjggNjMuNXptMTg0LTEwLjVhNzYuMSA3Ni4xIDAgMSAxIDAtMTUyLjIgNzYuMSA3Ni4xIDAgMSAxIDAgMTUyLjJ6bTExNS42IDIyLjFjLS4zIDE3LjgtNyA0OC45LTIzIDU3LTEzLjIgNi42LTYuNS03LjUtMTYuNS01OC4xIDEzLjMgLjMgMjYuNiAuMyAzOS41IDEuMXptLTU0LTEuNmMuOCA0LjkgMy44IDQwLjMtMS42IDQxLjktMTEuNiAzLjUtNDAgNC4zLTUxLjEtMS4xLTQuMS0zLTQuNi0zNS45LTQuMy00MS4xbDAgLjNjMTguOS0uMyAzOC4xLS4zIDU3IDB6TTI3OC41IDMwOWMtMTMgMy41LTQxLjYgNC4xLTU0LjYtMS42LTYuNS0yLjctMy44LTQyLjQtMS45LTUxLjYgMTkuMi0uNSAzOC40LS41IDU3LjgtLjhsMCAuM2MxLjEgOC4zIDMuMyA1MS4yLTEuMyA1My43ek0xNzIgMjU3LjljMTIuMi0uOCAyNC42LTEuNCAzNi44LTEuNi0yLjQgMTUuNC0zIDQzLjUtNC45IDUyLjItMS4xIDYuOC00LjMgNi44LTkuNyA0LjMtMjEuOS05LjgtMjcuNi0zNS4yLTIyLjItNTQuOXptLTM1LjQgMzEuM2M3LjgtMS4xIDE1LjctMS45IDIzLjUtMi43IDEuNiA2LjIgMy44IDExLjkgNyAxNy42IDEwIDE3IDQ0IDM1LjcgNDUuMSA3IDYuMiAxNC45IDQwLjggMTIuMiA1NC45IDEwLjggMTUuNy0xLjQgMjMuOC0xLjQgMjYuOC0xNC4zIDEyLjQgNC4zIDMwLjggNC4xIDQ0IDMgMTEuMy0uOCAyMC44LS41IDI0LjYtOC45IDEuMSA1LjEgMS45IDExLjYgNC42IDE2LjggMTAuOCAyMS4zIDM3LjMgMS40IDQ2LjgtMzEuNiA4LjYgLjggMTcuNiAxLjkgMjYuNSAyLjctLjQgMS4zLTMuOCA3LjMgNy4zIDExLjYtNDcuNiA0Ny05NS43IDg3LjgtMTYzLjIgMTA3LTYzLjItMjAuOC0xMTIuMS01OS41LTE1NS45LTEwNi41IDkuNi0zLjQgMTAuNC04LjggOC0xMi41ek0xMTUgNDYxLjdjLTMuOCAxNy44LTIxLjkgMjkuNy0zOS43IDI4LjktMTkuMi0uOC00Ni41LTE3LTU5LjItMzYuNS0yLjctMzEuMSA0My44LTYxLjMgNjYuMi01NC42IDE0LjkgNC4zIDI3LjggMzAuOCAzMy41IDU0IDAgMy0uMyA1LjctLjggOC4yem0tOC43LTY2Yy0uNS0xMy41LS41LTI3LS4zLTQwLjVsLjMgMGMyLjctMS42IDUuNy0zLjggNy44LTYuNSA2LjUtMS42IDEzLTUuMSAxNS4xLTkuMiAzLjMtNy4xLTctNy41LTUuNC0xMi40IDIuNy0xLjEgNS43LTIuMiA3LjgtMy41IDI5LjIgMjkuMiA1OC42IDU2LjUgOTcuMyA3Ny0zNi44IDExLjMtNzIuNCAyNy42LTEwNS45IDQ3LTEuMi0xOC42LTcuNy0zNS45LTE2LjctNTEuOXptMzM3LjYgNjQuNmMtMTAzIDMuNS0yMDYuMiA0LjEtMzA5LjQgMCAwIC4zIDAgLjMtLjMgLjNsMC0uMyAuMyAwYzM1LjEtMjEuNiA3Mi4yLTM5LjIgMTEyLjQtNTAuOCAxMS42IDUuMSAyMyA5LjUgMzQuOSAxMy4yIDIuMiAuOCAyLjIgLjggNC4zIDAgMTQuMy00LjEgMjguNC05LjIgNDIuMi0xNS40IDQxLjUgMTEuNyA3OC44IDMxLjcgMTE1LjYgNTN6bTEwLjUtMTIuNGMtMzUuOS0xOS41LTczLTM1LjktMTExLjktNDcuNiAzOC4xLTIwIDcxLjktNDcuMyAxMDMuNS03Ni43IDIuMiAxLjQgNC42IDIuNCA3LjYgMy4yIDAgLjggLjMgMS45IC41IDIuNC00LjYgMi43LTcuOCA2LjItNS45IDEwLjMgMi4yIDMuOCA4LjYgNy42IDE1LjEgOC45IDIuNCAyLjcgNS4xIDUuMSA4LjEgNi44IDAgMTMuOC0uMyAyNy42LS44IDQxLjNsLjMtLjNjLTkuMyAxNS45LTE1LjUgMzctMTYuNSA1MS43em0xMDUuOSA2LjJjLTEyLjcgMTkuNS00MCAzNS43LTU5LjIgMzYuNS0xOS4zIC45LTQwLjUtMTMuMi00MC41LTM3IDUuNy0yMy4yIDE4LjktNDkuNyAzMy41LTU0IDIyLjctNi45IDY5LjIgMjMuNCA2Ni4yIDU0LjV6TTM3My4xIDc1LjJjLTMuOC03Mi4xLTEwMC44LTc5LjctMTI2LTIzLjUgNDQuNi0yNC4zIDkwLjMtMTUuNyAxMjYgMjMuNXpNNzUgNDA3LjFjLTE1LjcgMS42LTQ5LjUgMjUuNC00OS41IDQzLjIgMCAxMS42IDE1LjcgMTkuNSAzMi4yIDE0LjkgMTIuMi0zLjIgMzEuMS0xNy42IDM1LjktMjcuMyA2LTExLjYtMy43LTMyLjctMTguNi0zMC44ek0yOTAuOSAyMzAuOWMyOC42IDAgNTEuOS0yMS42IDUxLjktNDguNCAwLTM2LjEtNDAuNS01OC4xLTcyLjItNDQuMyA5LjUgMyAxNi41IDExLjYgMTYuNSAyMS42IDAgMjMuMy0zMy4zIDMyLTQ2LjUgMTEuMy03LjMgMzQuMSAxOS40IDU5LjggNTAuMyA1OS44ek02OC4yIDQ3NC4xYy41IDYuNSAxMi4yIDEyLjcgMjEuNiA5LjUgNi44LTIuNyAxNC42LTEwLjUgMTcuMy0xNi4yIDMtNy0xLjEtMjAtOS43LTE4LjQtOC45IDEuNi0yOS43IDE2LjctMjkuMiAyNS4xem00MzMuMi02N2MtMTQuOS0xLjktMjQuNiAxOS4yLTE4LjkgMzAuOCA0LjkgOS43IDI0LjEgMjQuMSAzNi4yIDI3LjMgMTYuNSA0LjYgMzIuMi0zLjIgMzIuMi0xNC45IDAtMTcuOC0zMy44LTQxLjYtNDkuNS00My4yek00NzkgNDQ5Yy04LjQtMS42LTEyLjQgMTEuMy05LjUgMTguNCAyLjQgNS43IDEwLjMgMTMuNSAxNy4zIDE2LjIgOS4yIDMuMiAyMS4xLTMgMjEuMy05LjUgLjktOC40LTIwLjItMjMuNS0yOS4xLTI1LjF6Il19LEZ5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJqZW5raW5zIixpY29uOls0NDgsNTEyLFtdLCJmM2I2IiwiTTQ1NS40IDQyNWMtMS40LTExLjItMTktMjMuMS0yOC4yLTMxLjktNS4xLTUtMjktMjMuMS0zMC40LTI5LjktMS40LTYuNiA5LjctMjEuNSAxMy4zLTI4LjkgNS4xLTEwLjcgOC44LTIzLjcgMTEuMy0zMi42IDE4LjgtNjYuMSAyMC43LTE1Ni45LTYuMi0yMTEuMi0xMC4yLTIwLjYtMzguNi00OS01Ni40LTYyLjUtNDItMzEuNy0xMTkuNi0zNS4zLTE3MC4xLTE2LjYtMTQuMSA1LjItMjcuOCA5LjgtNDAuMSAxNy4xLTMzLjEgMTkuNC02OC4zIDMyLjUtNzguMSA3MS42LTI0LjIgMTAuOC0zMS41IDQxLjgtMzAuMyA3Ny44IC4yIDcgNC4xIDE1LjggMi43IDIyLjQtLjcgMy4zLTUuMiA3LjYtNi4xIDkuOC0xMS42IDI3LjctMi4zIDY0IDExLjEgODMuNyA4LjEgMTEuOSAyMS41IDIyLjQgMzkuMiAyNS4yIC43IDEwLjYgMy4zIDE5LjcgOC4yIDMwLjQgMy4xIDYuOCAxNC43IDE5IDEwLjQgMjcuNy0yLjIgNC40LTIxIDEzLjgtMjcuMyAxNy42LTIxLjEgMTIuNS0zNi40IDIwLjMtNTUuOSAzNC4zLTEyLjYgOS0zMi4zIDEwLjItMjkuMiAzMS4xIDIuMSAxNC4xIDEwLjEgMzEuNiAxNC43IDQ1LjggLjcgMiAxLjQgNC4xIDIuMSA2bDQyMiAwYzQuOS0xNS4zIDkuNy0zMC45IDE0LjYtNDcuMiAzLjQtMTEuNCAxMC4yLTI3LjggOC43LTM5Ljd6TTE3NC4yIDMzLjdjMS44LS41IDMuNCAuNyA0LjkgMi40LS4yIDUuMi01LjQgNS4xLTguOSA2LjgtNS40IDYuNy0xMy40IDkuOC0yMCAxNy4yLTYuOCA3LjUtMTQuNCAyNy43LTIzLjQgMzAtNC41IDEuMS05LjctLjgtMTMuNi0uNS0xMC40IC43LTE3LjcgNi0yOC4zIDcuNSAxMy42LTI5LjkgNTYuMS01NCA4OS4zLTYzLjR6TTY5LjQgMTI3LjNjMTMuNS0xNC45IDMyLjEtMjQuMSA1NC44LTI1LjkgMTEuNyAyOS43LTguNCA2NS0uOSA5Ny42IDIuMyA5LjkgMTAuMiAyNS40LTIuNCAyNS43IC4zLTI4LjMtMzQuOC00Ni4zLTYxLjMtMjkuNi0xLjgtMjEuNS00LjktNTEuNyA5LjgtNjcuOHptMzYuNyAyMDAuMmMtMS00LjEtMi43LTEyLjktMi4zLTE1LjEgMS42LTguNyAxNy4xLTEyLjUgMTEtMjQuNy0xMS4zLS4xLTEzLjggMTAuMi0yNC4xIDExLjMtMjYuNyAyLjYtNDUuNi0zNS40LTQ0LjQtNTguNCAxLTE5LjUgMTcuNi0zOC4yIDQwLjEtMzUuOCAxNiAxLjggMjEuNCAxOS4yIDI0LjUgMzQuNyA5LjIgLjUgMjIuNS0uNCAyNi45LTcuNi0uNi0xNy41LTguOC0zMS42LTguMi00Ny43IDEtMzAuMyAxNy41LTU3LjYgNC44LTg3LjQgMTMuNi0zMC45IDUzLjUtNTUuMyA4My4xLTcwIDM2LjYtMTguMyA5NC45LTMuNyAxMjkuMyAxNS44IDE5LjcgMTEuMSAzNC40IDMyLjcgNDguMyA1MC43LTE5LjUtNS44LTM2LjEgNC4yLTMzLjEgMjAuMyAxNi4zLTE0LjkgNDQuMi0uMiA1Mi41IDE2LjQgNy45IDE1LjggNy44IDM5LjMgOSA2Mi44IDIuOSA1Ny0xMC40IDExNS45LTM5LjEgMTU3LjEtNy43IDExLTE0LjEgMjMtMjQuOSAzMC42LTI2IDE4LjItNjUuNCAzNC43LTk5LjIgMjMuNC00NC43LTE1LTY1LTQ0LjgtODkuNS03OC44IC43IDE4LjcgMTMuOCAzNC4xIDI2LjggNDguNCAxMS4zIDEyLjUgMjUgMjYuNiAzOS43IDMyLjQtMTIuMy0yLjktMzEuMS0zLjgtMzYuMiA3LjItMjguNi0xLjktNTUuMS00LjgtNjguNy0yNC4yLTEwLjYtMTUuNC0yMS40LTQxLjQtMjYuMy02MS40em0yMjIgMTI0LjFjNC4xLTMgMTEuMS0yLjkgMTcuNC0zLjYtNS40LTIuNy0xMy0zLjctMTkuMy0yLjItLjEtNC4yLTItNi44LTMuMi0xMC4yIDEwLjYtMy44IDM1LjUtMjguNSA0OS42LTIwLjMgNi43IDMuOSA5LjUgMjYuMiAxMC4xIDM3IC40IDktLjggMTgtNC41IDIyLjgtMTguOC0uNi0zNS44LTIuOC01MC43LTcgLjktNi4xLTEtMTIuMSAuNi0xNi41em0tMTcuMi0yMGMtMTYuOCAuOC0yNi0xLjItMzguMy0xMC44IC4yLS44IDEuNC0uNSAxLjUtMS40IDE4IDggNDAuOC0zLjMgNTktNC45LTcuOSA1LjEtMTQuNiAxMS42LTIyLjIgMTcuMXptLTEyLjEgMzMuMmMtMS42LTkuNC0zLjUtMTItMi44LTIwLjIgMjUtMTYuNiAyOS43IDI4LjYgMi44IDIwLjJ6TTE5NC4zIDQzOC42Yy0xMS42LS43LTQ4LjEtMTQtMzguNS0yMy43IDkuNCA2LjUgMjcuNSA0LjkgNDEuMyA3LjMgLjggNC40LTIuOCAxMC4yLTIuOCAxNi40ek0yNiA0OTcuMWMtNC4zLTEyLjctOS4yLTI1LjEtMTQuOC0zNi45IDMwLjgtMjMuOCA2NS4zLTQ4LjkgMTAyLjItNjMuNSAyLjgtMS4xIDIzLjIgMjUuNCAyNi4yIDI3LjYgMTYuNSAxMS43IDM3IDIxIDU2LjIgMzAuMiAxLjIgOC44IDMuOSAyMC4yIDguNyAzNS41IC43IDIuMyAxLjQgNC43IDIuMiA3LjJsLTE4MC43IDAgMC0uMXptMjQwLjYgNS43bC0uOCAwYy4zLS4yIC41LS40IC44LS41bDAgLjV6bTcuNS01LjdjMi4xLTEuNCA0LjMtMi44IDYuNC00LjMgMS4xIDEuNCAyLjIgMi44IDMuMiA0LjNsLTkuNiAwem0xNS4xLTI0LjdjLTEwLjggNy4zLTIwLjYgMTguMy0zMy4zIDI1LjItNiAzLjMtMjcgMTEuNy0zMy40IDEwLjItMy42LS44LTMuOS01LjMtNS40LTkuNS0zLjEtOS0xMC4xLTIzLjQtMTAuOC0zNy0uOC0xNy4yLTIuNS00NiAxNi00Mi40IDE0LjkgMi45IDMyLjMgOS43IDQzLjkgMTYuMSA3LjEgMy45IDExLjEgOC42IDIxLjkgOS41LS4xIDEuNC0uMSAyLjgtLjIgNC4zLTUuOSAzLjktMTUuMyAzLjgtMjEuOCA3LjEgOS41IC40IDE3IDIuNyAyMy41IDUuOS0uMSAzLjQtLjMgNy0uNCAxMC42em01My40IDI0LjdsLTE0IDBjLS4xLTMuMi0yLjgtNS44LTYuMS01LjhzLTUuOSAyLjYtNi4xIDUuOGwtMTcuNCAwYy0yLjgtNC40LTUuNy04LjYtOC45LTEyLjUgMi4xLTIuMiA0LTQuNyA2LTYuOSA5IDMuNyAxNC44LTQuOSAyMS43LTQuMiA3LjkgLjggMTQuMiAxMS43IDI1LjQgMTFsLS42IDEyLjZ6bTguNyAwYy4yLTQgLjQtNy44IC42LTExLjUgMTUuNi03LjMgMjkgMS4zIDM1LjcgMTEuNWwtMzYuMyAwem04My40LTM3Yy0yLjMgMTEuMi01LjggMjQtOS45IDM3LjEtLjItLjEtLjQtLjEtLjYtLjFsLTI3LjkgMGMuNi0xLjEgMS4yLTIuMiAxLjktMy4zLTIuNi02LjEtOS04LjctMTAuOS0xNS41IDEyLjEtMjIuNyA2LjUtOTMuNC0yNC4yLTc4LjUgNC4zLTYuMyAxNS42LTExLjUgMjAuOC0xOS4zIDEzIDEwLjQgMjAuOCAyMC4zIDMzLjIgMzEuNCA2LjggNiAyMCAxMy4zIDIxLjQgMjMuMSAuOCA1LjUtMi42IDE4LjktMy44IDI1LjF6TTE5MC41IDEzMC41YzUuNC0xNC45IDI3LjItMzQuNyA0NS0zMiA3LjcgMS4yIDE4IDguMiAxMi4yIDE3LjctMzAuMi03LTQ1LjIgMTIuNi01NC40IDMzLjEtOC4xLTItNC45LTEzLjEtMi44LTE4Ljh6bTE4NC4xIDYzLjFjOC4yLTMuNiAyMi40LS43IDI5LjYtNS4zLTQuMi0xMS41LTEwLjMtMjEuNC05LjMtMzcuNyAuNSAwIDEgMCAxLjQgLjEgNi44IDE0LjIgMTIuNyAyOS4yIDIxLjQgNDEuNy01LjcgMTMuNS00My42IDI1LjQtNDMuMSAxLjJ6bS05Ni44IDIuN2MtNi44LTEwLjktMTktMzIuNS0xNC41LTQ1LjMgNi41IDExLjkgOC42IDI0LjQgMTcuOCAzMy4zIDQuMSA0IDEyLjIgOSA4LjIgMjAuMi0uOSAyLjctNy44IDguNi0xMS43IDkuNy0xNC40IDQuMy00Ny45IC45LTM2LjYtMTcuMSAxMS45IC43IDI3LjkgNy44IDM2LjgtLjh6bTI3LjMgNzBjMy44IDYuNiAxLjQgMTguNyAxMi4xIDIwLjYgMjAuMiAzLjQgNDMuNi0xMi4zIDU4LjEtMTcuOCA5LTE1LjItLjgtMjAuNy04LjktMzAuNS0xNi42LTIwLTM4LjgtNDQuOC0zOC03NC43IDYuNy00LjkgNy4zIDcuNCA4LjIgOS43IDguNyAyMC4zIDMwLjQgNDYuMiA0Ni4zIDYzLjUgMy45IDQuMyAxMC4zIDguNCAxMSAxMS4yIDIuMSA4LjItNS40IDE4LTQuNSAyMy41LTIxLjcgMTMuOS00NS44IDI5LjEtODEuNCAyNS42LTcuNC02LjctMTAuMy0yMS40LTIuOS0zMS4xem0tMjAxLjMtOS4yYy02LjgtMy45LTguNC0yMS0xNi40LTIxLjQtMTEuNC0uNy05LjMgMjIuMi05LjMgMzUuNS03LjgtNy4xLTkuMi0yOS4xLTMuNS00MC4zLTYuNi0zLjItOS41IDMuNi0xMy4xIDUuOSA0LjctMzQuMSA0OS44LTE1LjggNDIuMyAyMC4zem0yOTkuNiAyOC44Yy0xMC4xIDE5LjItMjQuNCA0MC40LTU0IDQxLS42LTYuMi0xLjEtMTUuNiAwLTE5LjQgMjIuNy0yLjIgMzYuNi0xMy43IDU0LTIxLjZ6TTI2MS41IDI5OC4zYzE4LjkgOS45IDUzLjYgMTEgNzkuMyAxMC4yIDEuNCA1LjYgMS4zIDEyLjYgMS40IDE5LjQtMzMgMS44LTcyLTYuNC04MC43LTI5LjZ6TTM1My43IDM0NWMtMS43IDQuMy01LjMgOS4zLTkuOCAxMS4xLTEyLjEgNC45LTQ1LjYgOC43LTYyLjQtLjMtMTAuNy01LjctMTcuNS0xOC41LTIzLjQtMjYtMi44LTMuNi0xNi45LTEyLjktLjItMTIuOSAxMy4xIDMyLjcgNTggMjkgOTUuOCAyOC4xeiJdfSxCeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2xpZGVzaGFyZSIsaWNvbjpbNTEyLDUxMixbXSwiZjFlNyIsIk0xODcuOSAxNTMuN2MtMzQgMC02MS43IDI1LjctNjEuNyA1Ny43IDAgMzEuNyAyNy43IDU3LjcgNjEuNyA1Ny43czYxLjctMjYgNjEuNy01Ny43YzAtMzItMjcuNy01Ny43LTYxLjctNTcuN3ptMTQzLjQgMGMtMzQgMC02MS43IDI1LjctNjEuNyA1Ny43IDAgMzEuNyAyNy43IDU3LjcgNjEuNyA1Ny43IDM0LjMgMCA2MS43LTI2IDYxLjctNTcuNyAuMS0zMi0yNy40LTU3LjctNjEuNy01Ny43em0xNTYuNiA5MGwtNiA0LjMgMC0xOTguM2MwLTI3LjQtMjAuNi00OS43LTQ2LTQ5LjdMNzYuOCAwYy0yNS40IDAtNDYgMjIuMy00NiA0OS43bDAgMTk4LjNjLTItMS40LTQuMy0yLjktNi4zLTQuMy0xNS4xLTEwLjYtMjUuMSA0LTE2IDE3LjcgMTguMyAyMi42IDUzLjEgNTAuMyAxMDYuMyA3Mi01Ni4zIDE5MS43IDEzNy40IDIyMi4zIDEzNC4zIDEyNC4xIDAtLjcgLjMtNTYuNiAuMy05Ni42IDUuMSAxLjEgOS40IDIuMyAxMy43IDMuMSAwIDM5LjcgLjMgOTIuOCAuMyA5My41LTMuMSA5OC4zIDE5MC42IDY3LjcgMTM0LjMtMTI0IDUzLjEtMjEuNyA4OC00OS40IDEwNi4zLTcyIDkuMS0xMy44LS45LTI4LjMtMTYuMS0xNy44em0tMzAuNSAxOS4yYy02OC45IDM3LjQtMTI4LjMgMzEuMS0xNjAuNiAyOS43LTIzLjctLjktMzIuNiA5LjEtMzMuNyAyNC45LTEwLjMtNy43LTE4LjYtMTUuNS0yMC4zLTE3LjEtNS4xLTUuNC0xMy43LTgtMjcuMS03LjctMzEuNyAxLjEtODkuNyA3LjQtMTU3LjQtMjhsMC0xOTIuNGMwLTM0LjkgOC45LTQ1LjcgNDAuNi00NS43bDMxNy43IDBjMzAuMyAwIDQwLjkgMTIuOSA0MC45IDQ1LjdsMCAxOTAuNi0uMSAweiJdfSxIeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidWJlciIsaWNvbjpbNDQ4LDUxMixbXSwiZjQwMiIsIk00MTQuMSAzMkwzMy45IDMyQzE1LjIgMzIgMCA0Ny4yIDAgNjUuOUwwIDQ0NmMwIDE4LjggMTUuMiAzNCAzMy45IDM0TDQxNCA0ODBjMTguNyAwIDMzLjktMTUuMiAzMy45LTMzLjlsMC0zODAuMkM0NDggNDcuMiA0MzIuOCAzMiA0MTQuMSAzMnpNMjM3LjYgMzkxLjFDMTYzIDM5OC42IDk2LjQgMzQ0LjIgODguOSAyNjkuNmw5NC40IDAgMCAyMC40YzAgMy43IDMgNi44IDYuOCA2LjhsNjcuOSAwYzMuNyAwIDYuOC0zIDYuOC02LjhsMC02Ny45YzAtMy43LTMtNi44LTYuOC02LjhsLTY3LjkgMGMtMy43IDAtNi44IDMtNi44IDYuOGwwIDIwLjQtOTQuNCAwYzctNjkuNCA2NS40LTEyMi4yIDEzNS4xLTEyMi4yczEyOC4xIDUyLjggMTM1LjEgMTIyLjJjNy41IDc0LjUtNDYuOSAxNDEuMS0xMjEuNSAxNDguNnoiXX0scXl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRpZ2l0YWwtb2NlYW4iLGljb246WzUxMiw1MTIsW10sImYzOTEiLCJNODcgNDgxLjhsNzMuNyAwIDAtNzMuNi03My43IDAgMCA3My42ek0yNS40IDM0Ni42bDAgNjEuNiA2MS42IDAgMC02MS42LTYxLjYgMHpNNDkxLjYgMTc2LjlDNDY4LjYgMTAyLjcgNDA5LjIgNDMuNiAzMzUgMjAuMyAxNjQuOS0zMi44IDggOTMuNyA4IDI1NS45bDk1LjggMGMwLTEwMS44IDEwMS0xODAuNSAyMDguMS0xNDEuNyAzOS43IDE0LjMgNzEuNSA0Ni4xIDg1LjggODUuNyAzOS4xIDEwNy0zOS43IDIwNy44LTE0MS40IDIwOGwwIC4zLS4zIDAgMCA5NS44YzE2Mi42IDAgMjg4LjgtMTU2LjggMjM1LjYtMzI3LjF6bS0yMzUuMyAyMzFsMC05NS4zLTk1LjYgMCAwIDk1LjYgOTUuMyAwIDAtLjMgLjMgMHoiXX0sVnl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNvdW5kY2xvdWQiLGljb246WzY0MCw1MTIsW10sImYxYmUiLCJNNjQwLjIgMjk4LjZjLTEuMyAyMy4xLTExLjUgNDQuOC0yOC40IDYwLjVzLTM5LjIgMjQuNC02Mi4zIDI0LjFsLTIxOCAwYy00LjggMC05LjQtMi0xMi44LTUuNHMtNS4zLTgtNS4zLTEyLjhsMC0yMzQuOGMtLjItNCAuOS04IDMuMS0xMS40czUuMy02LjEgOS03LjdjMCAwIDIwLjEtMTMuOSA2Mi4zLTEzLjkgMjUuOCAwIDUxLjEgNi45IDczLjMgMjAuMSAxNy4zIDEwLjIgMzIuMyAyMy44IDQ0LjEgNDAuMXMyMCAzNC44IDI0LjIgNTQuNGM3LjUtMi4xIDE1LjMtMy4yIDIzLjEtMy4yIDExLjctLjEgMjMuMyAyLjIgMzQuMiA2LjdzMjAuNSAxMS4zIDI4LjcgMTkuNyAxNC42IDE4LjMgMTguOSAyOS4zIDYuMyAyMi42IDUuOSAzNC4zem0tMzU0LTE1My41Yy4xLTEgMC0yLS4zLTIuOXMtLjgtMS44LTEuNS0yLjYtMS41LTEuMy0yLjQtMS43Yy0xLjgtLjgtNC0uOC01LjggMC0uOSAuNC0xLjcgMS0yLjQgMS43cy0xLjIgMS42LTEuNSAyLjYtLjQgMS45LS4zIDIuOWMtNiA3OC45LTEwLjYgMTUyLjkgMCAyMzEuNiAuMiAxLjcgMSAzLjMgMi4zIDQuNSAyLjYgMi40IDYuOCAyLjQgOS40IDAgMS4zLTEuMiAyLjEtMi44IDIuMy00LjUgMTEuMy03OS40IDYuNi0xNTIgMC0yMzEuNmwuMiAwem0tNDQgMjcuM2MtLjItMS44LTEuMS0zLjUtMi40LTQuN3MtMy4xLTEuOS01LTEuOS0zLjYgLjctNSAxLjktMi4yIDIuOS0yLjQgNC43Yy03LjkgNjcuOS03LjkgMTM2LjUgMCAyMDQuNCAuMyAxLjggMS4yIDMuNCAyLjUgNC41czMuMSAxLjggNC44IDEuOCAzLjUtLjYgNC44LTEuOCAyLjItMi44IDIuNS00LjVjOC44LTY3LjggOC44LTEzNi41IC4xLTIwNC40bC4xIDB6bS00NC4zLTYuOWMtLjItMS44LTEtMy40LTIuMy00LjZzLTMtMS44LTQuOC0xLjgtMy41IC43LTQuOCAxLjgtMi4xIDIuOC0yLjMgNC42Yy02LjcgNzItMTAuMiAxMzkuMyAwIDIxMS4xIDAgMS45IC43IDMuNyAyLjEgNXMzLjEgMi4xIDUgMi4xIDMuNy0uNyA1LTIuMSAyLjEtMy4xIDIuMS01YzEwLjUtNzIuOCA3LjMtMTM4LjIgLjEtMjExLjFsLS4xIDB6bS00NCAyMC42YzAtMS45LS44LTMuOC0yLjEtNS4ycy0zLjItMi4xLTUuMi0yLjEtMy44IC44LTUuMiAyLjEtMi4xIDMuMi0yLjEgNS4yYy04LjEgNjMuMy04LjEgMTI3LjUgMCAxOTAuOCAuMiAxLjggMSAzLjQgMi40IDQuNnMzLjEgMS45IDQuOCAxLjkgMy41LS43IDQuOC0xLjkgMi4yLTIuOCAyLjQtNC42YzguOC02My4zIDguOS0xMjcuNSAuMy0xOTAuOGwtLjEgMHptLTQ0LjUgNDcuNmMwLTEuOS0uOC0zLjgtMi4xLTUuMXMtMy4yLTIuMS01LjEtMi4xLTMuOCAuOC01LjEgMi4xLTIuMSAzLjItMi4xIDUuMWMtMTAuNSA0OS4yLTUuNSA5My45IC40IDE0My42IC4zIDEuNiAxLjEgMy4xIDIuMyA0LjJzMi44IDEuNyA0LjUgMS43IDMuMi0uNiA0LjUtMS43IDIuMS0yLjUgMi4zLTQuMmM2LjYtNTAuNCAxMS42LTk0LjEgLjQtMTQzLjZ6bS00NC4xLTcuNWMtLjItMS44LTEuMS0zLjUtMi40LTQuOHMtMy4yLTEuOS01LTEuOS0zLjYgLjctNSAxLjktMi4yIDIuOS0yLjQgNC44Yy05LjMgNTAuMi02LjIgOTQuNCAuMyAxNDQuNSAuNyA3LjYgMTMuNiA3LjUgMTQuNCAwIDcuMi01MC45IDEwLjUtOTMuOCAuMy0xNDQuNWwtLjIgMHpNMjAuNyAyNTAuOGMtLjItMS44LTEuMS0zLjUtMi40LTQuOHMtMy4yLTEuOS01LTEuOS0zLjYgLjctNSAxLjktMi4zIDIuOS0yLjQgNC44Yy04LjUgMzMuNy01LjkgNjEuNiAuNiA5NS40IC4yIDEuNyAxIDMuMyAyLjMgNC40czIuOSAxLjggNC43IDEuOCAzLjQtLjYgNC43LTEuOCAyLjEtMi43IDIuMy00LjRjNy41LTM0LjUgMTEuMi02MS44IC40LTk1LjRsLS4yIDB6Il19LGp5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtZmlnbWEiLGljb246WzQ0OCw1MTIsW10sImU3ZTQiLCJNMzg0IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMHpNMTczLjcgOTZjLTMzIDAtNTkuOCAyNi44LTU5LjggNTkuOCAwIDIxIDEwLjggMzkuNCAyNy4yIDUwLjEtMTYuNCAxMC43LTI3LjIgMjkuMS0yNy4yIDUwLjFzMTAuOCAzOS41IDI3LjIgNTAuMWMtMTYuNCAxMC43LTI3LjIgMjkuMS0yNy4yIDUwLjEgMCAzMy4xIDI3LjEgNTkuOCA2MC4xIDU5LjggMzMuMiAwIDYwLjYtMjYuOSA2MC42LTYwLjNsMC01NS43YzEwLjYgOS44IDI0LjggMTUuOCA0MC40IDE1LjhsMS4xIDBjMzMgMCA1OS44LTI2LjggNTkuOC01OS44IDAtMjEtMTAuOC0zOS41LTI3LjItNTAuMSAxNi40LTEwLjcgMjcuMi0yOS4xIDI3LjItNTAuMSAwLTMzLTI2LjgtNTkuOC01OS44LTU5LjhMMTczLjcgOTZ6bTQxLjYgMjE5LjhsMCAzOS45YzAgMjIuNi0xOC42IDQxLTQxLjMgNDEtMjIuNCAwLTQwLjctMTguMi00MC43LTQwLjUgMC0yMi4zIDE4LjEtNDAuNCA0MC4zLTQwLjRsNDEuNyAwem0wLTEwMC4zbDAgODAuOS00MS43IDBjLTIyLjMtLjEtNDAuMy0xOC4yLTQwLjMtNDAuNSAwLTIyLjMgMTguMS00MC41IDQwLjUtNDAuNWw0MS42IDB6bTYwLjggMGMyMi4zIDAgNDAuNSAxOC4xIDQwLjUgNDAuNXMtMTguMSA0MC41LTQwLjUgNDAuNWwtMS4xIDBjLTIyLjMgMC00MC40LTE4LjEtNDAuNC00MC41czE4LjEtNDAuNSA0MC40LTQwLjVsMS4xIDB6bS02MC44LTE5LjNsLTQxLjYgMGMtMjIuMyAwLTQwLjUtMTguMS00MC41LTQwLjRzMTguMS00MC41IDQwLjUtNDAuNWw0MS42IDAgMCA4MC45em02MC44LTgwLjljMjIuMyAwIDQwLjUgMTguMSA0MC41IDQwLjVzLTE4LjEgNDAuNC00MC41IDQwLjRsLTQxLjUgMCAwLTgwLjkgNDEuNSAweiJdfSxVeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1zYSIsaWNvbjpbNTEyLDUxMixbXSwiZjRlZiIsIk0yNTUuNiA4QzM5Ny40IDggNTA0IDExOC4xIDUwNCAyNTYgNTA0IDQwMy4xIDM4NS41IDUwNCAyNTUuNiA1MDQgMTIxLjYgNTA0IDggMzk0LjUgOCAyNTYgOCAxMjMuMSAxMTIuNyA4IDI1NS42IDh6bS44IDQ0LjdjLTExOC4yIDAtMjAzLjcgOTcuOS0yMDMuNyAyMDMuMyAwIDEwOS44IDkxLjIgMjAyLjggMjAzLjcgMjAyLjggMTAzLjIgMCAyMDIuOC04MS4xIDIwMi44LTIwMi44IC4xLTExMy44LTkwLjItMjAzLjMtMjAyLjgtMjAzLjN6TTE0NS43IDIyMWMxMy04My45IDgwLjUtOTUuNyAxMDguOS05NS43IDk5LjggMCAxMjcuNSA4Mi41IDEyNy41IDEzNC4yIDAgNjMuNi00MSAxMzIuOS0xMjguOSAxMzIuOS0zOC45IDAtOTkuMS0yMC0xMDkuNC05N2w2Mi41IDBjMS41IDMwLjEgMTkuNiA0NS4yIDU0LjUgNDUuMiAyMy4zIDAgNTgtMTguMiA1OC04Mi44IDAtODIuNS00OS4xLTgwLjYtNTYuNy04MC42LTMzLjEgMC01MS43IDE0LjYtNTUuOCA0My44bDE4LjIgMC00OS4yIDQ5LjItNDktNDkuMiAxOS40IDB6Il19LFd5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjaHJvbWUiLGljb246WzUxMiw1MTIsW10sImYyNjgiLCJNMCAyNTZjMC00Ni42IDEyLjUtOTAuNCAzNC4zLTEyOC45TDE0NC4xIDMxOC4zYzIxLjkgMzkuMiA2My44IDY1LjcgMTExLjkgNjUuNyAxNC4zIDAgMjcuMS0yLjMgNDAuOC02LjZMMjIwLjUgNTA5LjZDOTUuOSA0OTIuMyAwIDM4NS4zIDAgMjU2em0zNjUuMSA2NS42YzEyLjMtMTkuMiAxOC45LTQyLjUgMTguOS02NS42IDAtMzguMi0xNi44LTcyLjUtNDMuMy05NmwxNTIuNyAwYzEyIDI5LjYgMTguNiA2Mi4xIDE4LjYgOTYgMCAxNDEuNC0xMTQuNiAyNTUuMS0yNTYgMjU2TDM2NS4xIDMyMS42ek00NzcuOCAxMjhMMjU2IDEyOGMtNjIuOSAwLTExMy43IDQ0LjEtMTI1LjUgMTAyLjdMNTQuMiA5OC41QzEwMSAzOC41IDE3NCAwIDI1NiAwIDM1MC44IDAgNDMzLjUgNTEuNSA0NzcuOCAxMjh6TTM0NCAyNTZhODggODggMCAxIDEgLTE3NiAwIDg4IDg4IDAgMSAxIDE3NiAweiJdfSxHeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidHJhZGUtZmVkZXJhdGlvbiIsaWNvbjpbNTEyLDUxMixbXSwiZjUxMyIsIk0yNTYgOC44YTI0Ny4yIDI0Ny4yIDAgMSAwIDAgNDk0LjQgMjQ3LjIgMjQ3LjIgMCAxIDAgMC00OTQuNHptMCAxMS42YTIzNS42IDIzNS42IDAgMSAxIDAgNDcxLjIgMjM1LjYgMjM1LjYgMCAxIDEgMC00NzEuMnpNNDExLjEgMTYzLjFsMC00Ni44LTE5My44IDAgMCA4MS43LTE1NS4xIDAgMzYuNyA0NiAxMTcuNyAwIDAgMTk2LjggNDguOCAwIDAtMTk1LjggODMuMyAwIDAtNDctODMuMyAwIDAtMzQuOCAxNDUuNyAwIDAtLjF6bS03My4zIDQ1LjFsMCAyMy45LTgyLjkgMCAwIDE5Ny40LTI2LjggMCAwLTE5Ny40LTEyMy44IDAtMjAuMS0yMy45IDE0My45IDAgMC04MC42IDE3MS44IDAgMCAyNC40LTE0NSAwIDAgNTYuMiA4Mi45IDB6bS0xNjEuMy02OWwtMTIuNC0yMC43IDIuMSAyMy44LTIzLjUgNS40IDIzLjMgNS40LTIuMSAyNCAxMi4zLTIwLjUgMjIuMiA5LjUtMTUuNy0xOC4xIDE1LjgtMTguMS0yMiA5LjN6bS0yOS42LTE5LjdsOS4zLTExLjUtMTIuNyA1LjktOC0xMi40IDEuNyAxMy45LTE0LjMgMy44IDEzLjcgMi43LS44IDE0LjcgNi44LTEyLjIgMTMuOCA1LjMtOS41LTEwLjJ6TTMxMi4zIDI2NC43bC0xMy4xIDUuNi03LjMtMTIuMiAxLjMgMTQuMi0xMy45IDMuMiAxMy45IDMuMi0xLjIgMTQuMiA3LjMtMTIuMiAxMy4xIDUuNS05LjQtMTAuNyA5LjMtMTAuOHptMTA2LjktNzcuMmwtMjAuOSA5LjEtMTItMTkuNiAyLjIgMjIuNy0yMi4zIDUuNCAyMi4yIDQuOS0xLjggMjIuOSAxMS41LTE5LjYgMjEuMiA4LjgtMTUuMS0xNyAxNS0xNy42ek0yNTYgMjkuOWEyMjYuMSAyMjYuMSAwIDEgMCAwIDQ1Mi4yIDIyNi4xIDIyNi4xIDAgMSAwIDAtNDUyLjJ6TTM1MC42IDE5NmwwIDUxLTgzLjMgMCAwIDE5NS43LTUyLjcgMCAwLTE5Ni44LTExNi43IDAtNDAtNDkuOSAxNTcuNCAwIDAtODEuNiAxOTcuOCAwIDAgNTAuNy0xNDUuNyAwIDAgMzAuOSA4My4yIDB6TTI1NiA0My4yYzYwLjMgMCAxMTQuOCAyNSAxNTMuNiA2NS4ybC0xOTkuMSAwIDAgODEuNi0xNTcuNCAwQzgxLjEgMTA0LjggMTYxLjQgNDMuMiAyNTYgNDMuMnptMCA0MjcuMWMtMTE3LjkgMC0yMTMuNi05NS42LTIxMy42LTIxMy41IDAtMjEuMiAzLjEtNDEuOCA4LjktNjEuMWw0My44IDU2LjMgMTE0LjcgMCAwIDE5Ni44IDY0LjYgMCAwLTE5NS44IDgzLjMgMCAwLTYyLjctODMuMiAwIDAtMTkuMiAxNDUuNiAwIDAtNTAuOGMzMC44IDM3IDQ5LjMgODQuNiA0OS4zIDEzNi41IC4xIDExNy45LTk1LjUgMjEzLjUtMjEzLjQgMjEzLjV6TTE4Ni44IDI3NWwtMTEtMjEuNCAxLjcgMjQuNS0yMy43IDMuOSAyMy44IDUuOS0zLjcgMjMuOCAxMy0yMC45IDIxLjUgMTAuOC0xNS44LTE4LjggMTYuOS0xNy4xLTIyLjcgOS4zeiJdfSxZeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidmFhZGluIixpY29uOls0NDgsNTEyLFtdLCJmNDA4IiwiTTIyNC41IDE0MC43QzIyNiAxMjMuMSAyMjkuNCA4OCAyNzQuMyA4OGw5OC42IDBjMjAuNyAwIDMyLjEtNy44IDMyLjEtMjEuNmwwLTEyLjNjMC0xMi4yIDkuMy0yMi4xIDIxLjUtMjIuMVM0NDggNDEuOSA0NDggNTQuMWwwIDM2LjVjMCA0Mi45LTIxLjUgNjItNjYuOCA2MmwtMTAwLjUgMGMtMzAuMSAwLTMzIDE0LjctMzMgMjcuMSAwIDEuMy0uMSAyLjUtLjIgMy43LS43IDEyLjMtMTAuOSAyMi4yLTIzLjQgMjIuMnMtMjIuNy05LjgtMjMuNC0yMi4yYy0uMS0xLjItLjItMi40LS4yLTMuNyAwLTEyLjMtMy0yNy4xLTMzLTI3LjFsLTEwMC43IDBDMjEuNSAxNTIuNiAwIDEzMy41IDAgOTAuNkwwIDU0LjFDMCA0MS45IDkuNCAzMiAyMS42IDMyczIxLjUgOS45IDIxLjUgMjIuMWwwIDEyLjNDNDMuMSA4MC4yIDU0LjUgODggNzUuMiA4OGw5OC42IDBjNDQuOCAwIDQ4LjMgMzUuMSA0OS44IDUyLjdsLjkgMHpNMjI0IDQ1NmMxMS41IDAgMjEuNC03IDI1LjctMTYuMyAxLjEtMS44IDk3LjEtMTY5LjYgOTguMi0xNzEuNCAxMS45LTE5LjYtMy4yLTQ0LjMtMjcuMi00NC4zLTEzLjkgMC0yMy4zIDYuNC0yOS44IDIwLjNMMjI0IDM2MiAxNTcuMSAyNDQuM2MtNi40LTEzLjktMTUuOS0yMC4zLTI5LjgtMjAuMy0yNCAwLTM5LjEgMjQuNi0yNy4yIDQ0LjMgMS4xIDEuOSA5Ny4xIDE2OS42IDk4LjIgMTcxLjQgNC4zIDkuMyAxNC4yIDE2LjMgMjUuNyAxNi4zeiJdfSxLeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGV2aWFudGFydCIsaWNvbjpbMzIwLDUxMixbXSwiZjFiZCIsIk0zMjAgOTMuMmwtOTguMiAxNzkuMSA3LjQgOS41IDkwLjggMCAwIDEyNy43LTE2MC45IDAtMTMuNSA5LjItNDMuNyA4NGMtLjMgMC04LjYgOC42LTkuMiA5LjJsLTkyLjcgMCAwLTkzLjIgOTMuMi0xNzkuNC03LjQtOS4yLTg1LjggMCAwLTEyNy42IDE1NiAwIDEzLjUtOS4yIDQzLjctODRjLjMgMCA4LjYtOC42IDkuMi05LjJsOTcuNiAwIDAgOTMuMXoiXX0sSWI9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWVkaXVtIixpY29uOls0NDgsNTEyLFs2MjQwNywibWVkaXVtLW0iXSwiZjIzYSIsIk0zNjkuNCAzMmM0My40IDAgNzguNiAzNS4yIDc4LjYgNzguNmwwIDgzLjhjLTEuOS0uMS0zLjgtLjItNS43LS4ybC0uNCAwYy0xMCAwLTIyLjMgMi40LTMxLjEgNi44LTEwIDQuNi0xOC43IDExLjUtMjYgMjAuNi0xMS44IDE0LjYtMTguOSAzNC4zLTIwLjYgNTYuNC0uMSAuNy0uMSAxLjMtLjIgMnMtLjEgMS4yLS4xIDEuOWMtLjEgMS4yLS4xIDIuNC0uMSAzLjYgMCAxLjktLjEgMy44IDAgNS44IDEuMiA1MC4xIDI4LjIgOTAuMiA3Ni4zIDkwLjIgMi43IDAgNS4zLS4xIDcuOS0uNGwwIDIwLjRjMCA0My40LTM1LjIgNzguNi03OC42IDc4LjZMNzguNiA0ODBDMzUuMiA0ODAgMCA0NDQuOCAwIDQwMS40TDAgMTEwLjZDMCA2Ny4yIDM1LjIgMzIgNzguNiAzMmwyOTAuOCAwek04Mi4zIDEzOC45bC4zIC4xYzEzLjIgMyAxOS44IDcuNCAxOS44IDIzLjRsMCAxODcuMmMwIDE2LTYuNyAyMC40LTE5LjkgMjMuNGwtLjMgLjEgMCAyLjggNTIuOCAwIDAtMi44LS4zLS4xYy0xMy4yLTMtMTkuOS03LjQtMTkuOS0yMy40bDAtMTc2LjMgODYuMSAyMDIuNSA0LjkgMCA4OC42LTIwOC4yIDAgMTg2LjZjLTEuMSAxMi42LTcuOCAxNi41LTE5LjcgMTkuMmwtLjMgLjEgMCAyLjcgOTEuOSAwIDAtMi43LS4zLS4xYy0xMS45LTIuNy0xOC43LTYuNi0xOS45LTE5LjJsLS4xLTE5MS44IC4xIDBjMC0xNiA2LjctMjAuNCAxOS45LTIzLjRsLjMtLjEgMC0yLjctNzIuMiAwLTY3IDE1Ny40LTY3LTE1Ny40LTc3LjggMCAwIDIuN3pNNDQ4IDM0MC4zYy0yNS4xLTcuNC00My0zNS4xLTQxLjItNjcuOGwwIDAgNDEuMSAwIDAgNjcuOHptLTYuNC0xMzUuNmMyLjMgMCA0LjQgLjMgNi40IC45bDAgNTcuNC00MC4yIDBjMS41LTMzLjYgMTMuNi01Ny45IDMzLjgtNTguM3oiXX0sWnl0PUliLFh5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvcGVuY2FydCIsaWNvbjpbNjQwLDUxMixbXSwiZjIzZCIsIk0zMzEuOCA0NDAuNGE0NS44IDQ1LjggMCAxIDEgOTEuNSAuMyA0NS44IDQ1LjggMCAxIDEgLTkxLjUtLjN6TTE2OS40IDM5NC45YTQ1LjcgNDUuNyAwIDEgMCAuMyA5MS4zIDQ1LjcgNDUuNyAwIDEgMCAtLjMtOTEuM3ptMjkxLjctMjcwYy0zMDIuMiAwLTM3OS4yLTEyLjgtNDYxLjEtOTkuMiAzNC40IDUxLjcgNTMuMyAxNDguOSAzNzMuMSAxNDQuMiAzMzMuMy01IDEzMCA4Ni4xIDcwLjggMTg4LjkgMTg2LjctMTY2LjcgMzE5LjQtMjMzLjkgMTcuMi0yMzMuOXoiXX0sUXl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InktY29tYmluYXRvciIsaWNvbjpbNDQ4LDUxMixbXSwiZjIzYiIsIk00NDggMzJsMCA0NDgtNDQ4IDAgMC00NDggNDQ4IDB6TTIzNiAyODcuNWw3Ny41LTE0NS41LTMyLjcgMC00NS44IDkxYy00LjcgOS4zLTkgMTguMy0xMi44IDI2LjhsLTEyLjItMjYuOC00NS4yLTkxLTM1IDAgNzYuNyAxNDMuOCAwIDk0LjUgMjkuNSAwIDAtOTIuOHoiXX0sSnl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImxpbmUiLGljb246WzUxMiw1MTIsW10sImYzYzAiLCJNMzExIDE5Ni44bDAgODEuM2MwIDIuMS0xLjYgMy43LTMuNyAzLjdsLTEzIDBjLTEuMyAwLTIuNC0uNy0zLTEuNUwyNTQgMjMwIDI1NCAyNzguMmMwIDIuMS0xLjYgMy43LTMuNyAzLjdsLTEzIDBjLTIuMSAwLTMuNy0xLjYtMy43LTMuN2wwLTgxLjNjMC0yLjEgMS42LTMuNyAzLjctMy43bDEyLjkgMGMxLjEgMCAyLjQgLjYgMyAxLjZsMzcuMyA1MC4zIDAtNDguMmMwLTIuMSAxLjYtMy43IDMuNy0zLjdsMTMgMGMyLjEtLjEgMy44IDEuNiAzLjggMy41bDAgLjF6bS05My43LTMuN2wtMTMgMGMtMi4xIDAtMy43IDEuNi0zLjcgMy43bDAgODEuM2MwIDIuMSAxLjYgMy43IDMuNyAzLjdsMTMgMGMyLjEgMCAzLjctMS42IDMuNy0zLjdsMC04MS4zYzAtMS45LTEuNi0zLjctMy43LTMuN3ptLTMxLjQgNjguMWwtMzUuNiAwIDAtNjQuNGMwLTIuMS0xLjYtMy43LTMuNy0zLjdsLTEzIDBjLTIuMSAwLTMuNyAxLjYtMy43IDMuN2wwIDgxLjNjMCAxIC4zIDEuOCAxIDIuNSAuNyAuNiAxLjUgMSAyLjUgMWw1Mi4yIDBjMi4xIDAgMy43LTEuNiAzLjctMy43bDAtMTNjMC0xLjktMS42LTMuNy0zLjUtMy43bC4xIDB6bTE5My43LTY4LjFsLTUyLjMgMGMtMS45IDAtMy43IDEuNi0zLjcgMy43bDAgODEuM2MwIDEuOSAxLjYgMy43IDMuNyAzLjdsNTIuMiAwYzIuMSAwIDMuNy0xLjYgMy43LTMuN2wwLTEzLjFjMC0yLjEtMS42LTMuNy0zLjctMy43bC0zNS41IDAgMC0xMy42IDM1LjUgMGMyLjEgMCAzLjctMS42IDMuNy0zLjdsMC0xMy4xYzAtMi4xLTEuNi0zLjctMy43LTMuN2wtMzUuNSAwIDAtMTMuNyAzNS41IDBjMi4xIDAgMy43LTEuNiAzLjctMy43bDAtMTNjLS4xLTEuOS0xLjctMy43LTMuNy0zLjdsLjEgMHpNNTEyIDkzLjRsMCAzMjZjLS4xIDUxLjItNDIuMSA5Mi43LTkzLjQgOTIuNmwtMzI2IDBDNDEuNCA1MTEuOS0uMSA0NjkuOCAwIDQxOC42bDAtMzI2Qy4xIDQxLjQgNDIuMi0uMSA5My40IDBsMzI2IDBjNTEuMiAuMSA5Mi43IDQyLjEgOTIuNiA5My40ek00NDEuNiAyMzMuNWMwLTgzLjQtODMuNy0xNTEuMy0xODYuNC0xNTEuM1M2OC44IDE1MC4xIDY4LjggMjMzLjVjMCA3NC43IDY2LjMgMTM3LjQgMTU1LjkgMTQ5LjMgMjEuOCA0LjcgMTkuMyAxMi43IDE0LjQgNDIuMS0uOCA0LjctMy44IDE4LjQgMTYuMSAxMC4xczEwNy4zLTYzLjIgMTQ2LjUtMTA4LjJjMjctMjkuNyAzOS45LTU5LjggMzkuOS05My4xbDAtLjJ6Il19LGV3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhbWlsaWEiLGljb246WzQ0OCw1MTIsW10sImYzNmQiLCJNMjQwLjIgMzJjLTYxLjkgMC0xMzEuNSAxNi45LTE4NC4yIDU1LjQtNS4xIDMuMS05LjEgOS4yLTcuMiAxOS40IDEuMSA1LjEgNS4xIDI3LjQgMTAuMiAzOS42IDQuMSAxMC4yIDE0LjIgMTAuMiAyMC4zIDYuMSAzMi41LTIyLjMgOTYuNS00Ny43IDE1Mi4zLTQ3LjcgNTcuOSAwIDU4LjkgMjguNCA1OC45IDczLjFsMCAzOC41QzIwMy4xIDIyNy43IDc4LjMgMjUxIDQ2LjggMjY0LjIgMTEuMyAyODAuNSAxNi40IDM1Ny43IDE2LjQgMzc2UzMxLjYgNDgwIDE0MS4zIDQ4MGM0Ny44IDAgMTEzLjctMjAuNyAxNTMuMy00Mi4xbDAgMjUuNGMwIDMgMi4xIDguMiA2LjEgOS4xIDMuMSAxIDUwLjcgMiA1OS45IDJzNjIuNSAuMyA2Ni41LS43YzQuMS0xIDUuMS02LjEgNS4xLTkuMWwwLTI5Ni42Yy0uMS04MC4zLTU3LjktMTM2LTE5Mi0xMzZ6bTUwLjIgMzQ4Yy0yMS40IDEzLjItNDguNyAyNC40LTc5LjEgMjQuNC01Mi44IDAtNTguOS0zMy41LTU5LTQ0LjcgMC0xMi4yLTMtNDIuNyAxOC4zLTUyLjkgMjQuMy0xMy4yIDc1LjEtMjkuNCAxMTkuOC0zMy41bDAgMTA2Ljd6Il19LHR3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhc3ltbWV0cmlrIixpY29uOls1NzYsNTEyLFtdLCJmMzcyIiwiTTUxNy41IDMwOS4yYzM4LjgtNDAgNTguMS04MCA1OC41LTExNi4xIC44LTY1LjUtNTkuNC0xMTguMi0xNjkuNC0xMzUtMTI4LjctMTkuNy0yODguNSAxNS41LTQwNi42IDgyLjQgNTItMjYuNSAxMTAuNi00OC4yIDE3MC43LTU4LjIgNzQuNS0yMC41IDE1My0yNS40IDIyMS4zLTE0LjggMTUyLjUgMjMuOCAxOTYuOCAxMjcuNSA5OC44IDIzMS43LTEwLjIgMTAuOC0yMiAyMS4xLTM1IDMwLjZMMzA0LjkgMTAzLjQgMTE0LjcgMzg4LjljLTY1LjYtMjkuNC03Ni41LTkwLjItMTkuMS0xNTEuMiAyMC44LTIyLjIgNDguMy00MS45IDc5LjUtNTguMSAyMC0xMi4yIDM5LjctMjIuNiA2Mi0zMC43LTY1LjEgMjAuMy0xMjIuNyA1Mi45LTE2MS42IDkyLjktMjcuNyAyOC42LTQxLjQgNTcuMS00MS43IDgyLjktLjUgMzUuMSAyMy40IDY1LjEgNjguNCA4M2wtMzQuNSA1MS43IDEwMS42IDAgMjItMzQuNGMyMi4yIDEgNDUuMyAwIDY4LjYtMi43bC0yMi44IDM3LjEgMTM1LjUgMC0zMi42LTUzLjFjMTguNi01LjMgMzYuOS0xMS41IDU0LjUtMTguN2w0NS45IDcxLjggMTAxLjYgMC03My40LTExMC40YzE4LjUtMTIuMSAzNS0yNS41IDQ4LjktMzkuOHpNMzI5LjkgMzg5LjdsLTI1LTQwLjYtMzIuNyA1My4zYy0yMy40IDMuNS00Ni43IDUuMS02OS4yIDQuNGwxMDEuOS0xNTkuMyA3OC43IDEyM2MtMTcuMiA3LjQtMzUuMyAxMy45LTUzLjcgMTkuMnoiXX0sYXd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBoYWJyaWNhdG9yIixpY29uOls1MTIsNTEyLFtdLCJmM2RiIiwiTTMzMS4xIDI2Mi4xbC0uMS0xM3MyMS43LTE5LjggMjEuMS0yMS4ybC05LjUtMjBjLS42LTEuNC0yOS41LS41LTI5LjUtLjVsLTkuNC05LjNzLjItMjguNS0xLjItMjkuMWwtMjAuMS05LjJjLTEuNC0uNi0yMC43IDIxLTIwLjcgMjFsLTEzLjEtLjJzLTIwLjUtMjEuNC0yMS45LTIwLjhsLTIwIDguM2MtMS40IC41IC4yIDI4LjkgLjIgMjguOWwtOS4xIDkuMXMtMjkuMi0uOS0yOS43IC40TDE2MCAyMjYuM2MtLjYgMS40IDIxIDIxIDIxIDIxbC4xIDEyLjlTMTU5LjQgMjgwIDE2MCAyODEuNGw5LjUgMjBjLjYgMS40IDI5LjUgLjUgMjkuNSAuNWw5LjQgOS4zcy0uMiAzMS44IDEuMiAzMi4zbDIwLjEgOC4zYzEuNCAuNiAyMC43LTIzLjUgMjAuNy0yMy41bDEzLjEgLjJzMjAuNSAyMy44IDIxLjggMjMuM2wyMC03LjVjMS40LS42LS4yLTMyLjEtLjItMzIuMWw5LjEtOS4xczI5LjIgLjkgMjkuNy0uNWw4LjEtMTkuOGMuNy0xLjEtMjAuOS0yMC43LTIwLjktMjAuN3ptLTQ0LjktOC43Yy43IDE3LjEtMTIuOCAzMS42LTMwLjEgMzIuNHMtMzIuMS0xMi41LTMyLjgtMjkuNiAxMi44LTMxLjYgMzAuMS0zMi4zYzE3LjMtLjggMzIuMSAxMi41IDMyLjggMjkuNXptMjAxLjItMzcuOWwtOTctOTctLjEgLjFjLTc1LjEtNzMuMy0xOTUuNC03Mi44LTI2OS44IDEuNi01MC45IDUxLTI3LjggMjcuOS05NS43IDk1LjMtMjIuMyAyMi4zLTIyLjMgNTguNyAwIDgxIDY5LjkgNjkuNCA0Ni40IDQ2IDk3LjQgOTdsLjEtLjFjNzUuMSA3My4zIDE5NS40IDcyLjkgMjY5LjgtMS42IDUxLTUwLjkgMjcuOS0yNy45IDk1LjMtOTUuMyAyMi4zLTIyLjMgMjIuMy01OC43IDAtODF6TTM2My41IDE0OC4yYTE1Mi4zIDE1Mi4zIDAgMSAxIC0yMTUgMjE1LjYgMTUyLjMgMTUyLjMgMCAxIDEgMjE1LTIxNS42eiJdfSxyd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYm90cyIsaWNvbjpbNjQwLDUxMixbXSwiZTM0MCIsIk04Ni4zIDE5Ny44Yy04LS4xLTE1LjkgMS43LTIzLjEgNS4xcy0xMy41IDguNi0xOC40IDE0LjlsMC02MS45YzAtMi4yLS45LTQuMy0yLjQtNS44cy0zLjYtMi40LTUuOC0yLjRsLTI4LjQgMGMtMi4yIDAtNC4zIC45LTUuOCAyLjRTMCAxNTMuOCAwIDE1NkwwIDMzMy42YzAgMS4xIC4yIDIuMSAuNiAzLjFzMSAxLjkgMS44IDIuNyAxLjcgMS40IDIuNyAxLjggMi4xIC42IDMuMSAuNmwyOC40IDBjMS4xIDAgMi4xLS4yIDMuMS0uNnMxLjktMSAyLjctMS44IDEuNC0xLjcgMS44LTIuNyAuNi0yLjEgLjYtMy4xbDAtOC4xYzExLjYgMTMuNCAyNS45IDE5LjggNDEuNiAxOS44IDM0LjYgMCA2MS45LTI2LjIgNjEuOS03My44IDAtNDUuOS0yNy03My42LTYxLjktNzMuNnpNNzEuNSAzMDUuN2MtOS42IDAtMjEuMi00LjktMjYuNy0xMi41bDAtNDNjNS41LTcuNiAxNy4yLTEyLjggMjYuNy0xMi44IDE3LjcgMCAzMS4xIDEzLjEgMzEuMSAzNCAwIDIxLjItMTMuNCAzNC4zLTMxLjEgMzQuM3ptMTU2LjQtNTlhMTcuNCAxNy40IDAgMSAwIDAgMzQuOCAxNy40IDE3LjQgMCAxIDAgMC0zNC44em00Ni4xLTkwbDAtNDQuN2MyLjgtMS4yIDUuMi0zLjMgNi42LTZzMS45LTUuOCAxLjMtOC45LTIuMi01LjctNC42LTcuNy01LjQtMy04LjQtMy02LjEgMS4xLTguNCAzLTQgNC43LTQuNiA3LjctLjEgNi4xIDEuMyA4LjkgMy44IDQuOCA2LjYgNmwwIDQ0LjdjLTI4IDEuMy01NC40IDEzLjYtNzMuNiAzNC4xcy0yOS41IDQ3LjctMjguOCA3NS44IDEyLjMgNTQuNyAzMi40IDc0LjMgNDcgMzAuNiA3NS4xIDMwLjYgNTUtMTEgNzUuMS0zMC42IDMxLjctNDYuMyAzMi40LTc0LjMtOS43LTU1LjMtMjguOC03NS44LTQ1LjUtMzIuOC03My42LTM0LjF6bTg2IDEwNy40YzAgMzAuNS00MC44IDU1LjMtOTEuMSA1NS4zcy05MS4xLTI0LjctOTEuMS01NS4zIDQwLjgtNTUuMyA5MS4xLTU1LjMgOTEuMSAyNC43IDkxLjEgNTUuM2wwIDB6bS01MC4yIDE3LjRjMy40IDAgNi44LTEgOS43LTIuOXM1LjEtNC42IDYuNC03LjggMS43LTYuNyAxLTEwLjEtMi4zLTYuNS00LjgtOC45LTUuNS00LjEtOC45LTQuOC02LjktLjMtMTAuMSAxLTUuOSAzLjUtNy44IDYuNC0yLjkgNi4yLTIuOSA5LjdjMCA0LjYgMS44IDkgNS4xIDEyLjNzNy43IDUuMSAxMi4zIDUuMWwwIDB6bTI3MC45LTMxYy0xNC44LTIuNi0yMi40LTMuOC0yMi40LTkuOSAwLTUuNSA3LjMtOS45IDE3LjctOS45IDEyLjIgLjEgMjQuMiAzLjYgMzQuNSAxMC4xIDEuOCAxLjIgNCAxLjYgNi4yIDEuMXM0LTEuNyA1LjEtMy42Yy4xLS4xIC4xLS4yIC4yLS4zbDguNi0xNC45YzEuMS0xLjkgMS40LTQuMSAuOC02LjFzLTEuOS0zLjktMy43LTVjLTE1LjctOS40LTMzLjctMTQuMy01Mi0xNC4xLTM5IDAtNjAuMiAyMS41LTYwLjIgNDYuMiAwIDM2LjMgMzMuNyA0MS45IDU3LjYgNDUuNiAxMy40IDIuMyAyNC4xIDQuNCAyNC4xIDExIDAgNi40LTUuNSAxMC44LTE4LjkgMTAuOC0xMy42IDAtMzEtNi4yLTQyLjYtMTMuNi0uOS0uNi0xLjktMS0zLTEuMnMtMi4xLS4yLTMuMiAuMS0yLjEgLjctMi45IDEuMy0xLjYgMS40LTIuMiAyLjNjMCAuMS0uMSAuMS0uMSAuMmwtMTAuMiAxNi45Yy0xLjEgMS44LTEuNCA0LTEgNnMxLjcgMy45IDMuNSA1YzE1LjIgMTAuMyAzNy43IDE2LjcgNTkuNCAxNi43IDQwLjQgMCA2NC0xOS44IDY0LTQ2LjUgMC0zOC4xLTM1LjUtNDMuOS01OS4zLTQ4LjN6bS05NS45IDYwLjhjLS41LTItMS44LTMuNy0zLjYtNC44cy0zLjktMS41LTUuOS0xLjFjLTEuNCAuMy0yLjggLjQtNC4yIC40LTcuOCAwLTEyLjUtNi4xLTEyLjUtMTQuMmwwLTUxLjIgMjAuMyAwYzIuMiAwIDQuMi0uOSA1LjgtMi40czIuNC0zLjYgMi40LTUuOGwwLTIyLjdjMC0yLjItLjktNC4yLTIuNC01LjhzLTMuNi0yLjQtNS44LTIuNGwtMjAuMyAwIDAtMzAuMmMwLTIuMi0uOS00LjItMi40LTUuOHMtMy42LTIuNC01LjgtMi40bC0yOC4yIDBjLTIuMiAwLTQuMiAuOS01LjggMi40cy0yLjQgMy42LTIuNCA1LjhsMCAzMC4yLTE1LjEgMGMtMS4xIDAtMi4xIC4yLTMuMSAuNnMtMS45IDEtMi42IDEuOC0xLjQgMS43LTEuOCAyLjYtLjYgMi0uNiAzLjFsMCAyMi43YzAgMS4xIC4yIDIuMSAuNiAzLjFzMSAxLjkgMS44IDIuNiAxLjcgMS40IDIuNiAxLjggMiAuNiAzLjEgLjZsMTUuMSAwIDAgNjMuN2MwIDI3IDE1LjQgNDEuMyA0My45IDQxLjMgMTIuMiAwIDIxLjQtMi4yIDI3LjYtNS40IDEuNi0uOCAyLjktMi4yIDMuNy0zLjlzLjktMy42IC41LTUuNGwtNS0xOS4zeiJdfSxzd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidmluZSIsaWNvbjpbMzg0LDUxMixbXSwiZjFjYSIsIk0zODQgMjU0LjdsMCA1Mi4xYy0xOC40IDQuMi0zNi45IDYuMS01Mi4xIDYuMS0zNi45IDc3LjQtMTAzIDE0My44LTEyNS4xIDE1Ni4yLTE0IDcuOS0yNy4xIDguNC00Mi43LS44LTI3LjEtMTYuMy0xMjkuOS0xMDAuNi0xNjQuMS0zNjUuNmw3NC41IDBjMTguNyAxNTkuMSA2NC41IDI0MC43IDExNC44IDMwMS44IDI3LjktMjcuOSA1NC44LTY1LjEgNzUuNi0xMDYuOS00OS44LTI1LjMtODAuMS04MC45LTgwLjEtMTQ1LjYgMC02NS42IDM3LjctMTE1LjEgMTAyLjItMTE1LjEgMTE0LjkgMCAxMDYuMiAxMjcuOSA4MS42IDE4MS41IDAgMC00Ni40IDkuMi02My41LTIwLjUgMy40LTExLjMgOC4yLTMwLjggOC4yLTQ4LjUgMC0zMS4zLTExLjMtNDYuNi0yOC40LTQ2LjYtMTguMiAwLTMwLjggMTcuMS0zMC44IDUwIC4xIDc5LjIgNTkuNCAxMTguNyAxMjkuOSAxMDEuOXoiXX0saXd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1lZHJ0IixpY29uOls1NzYsNTEyLFtdLCJmM2M4IiwiTTEyOS43IDI1NmMwIDEyMS44IDgzLjkgMjIyLjggMTkzLjUgMjQxLjEtMTguNyA0LjUtMzguMiA2LjktNTguMiA2LjktMTM3LjYgMC0yNDktMTExLTI0OS0yNDhTMTI3LjQgOCAyNjQuOSA4YzIwLjEgMCAzOS42IDIuNCA1OC4yIDYuOS0xMDkuNiAxOC4zLTE5My40IDExOS4zLTE5My40IDI0MS4xek00MjcuMSAzNTYuM2MtNzcuNyA1NS40LTE3OS42IDQ3LjUtMjQwLjQtMTQuNiA1LjUgMTQuMSAxMi43IDI3LjcgMjEuNyA0MC41IDYxLjYgODguMiAxODIuNCAxMDkuMyAyNjkuNyA0N3MxMDguMS0xODQuMyA0Ni41LTI3Mi42Yy05LTEyLjktMTkuMy0yNC4zLTMwLjUtMzQuMiAzNy40IDc4LjggMTAuNyAxNzguNS02NyAyMzMuOXptLTIxOC44LTI0NGMtMS40IDEtMi43IDIuMS00IDMuMSA2NC4zLTE3LjggMTM1LjkgNCAxNzguOSA2MC41IDM1LjcgNDcgNDIuOSAxMDYuNiAyNC40IDE1OCA1Ni43LTU2LjIgNjcuNi0xNDIuMSAyMi4zLTIwMS44LTUwLTY1LjUtMTQ5LjEtNzQuNC0yMjEuNi0xOS44ek0zMTIgMjI0Yy00LjQgMC04LTMuNi04LThsMC00MGMwLTQuNC0zLjYtOC04LThsLTQ4IDBjLTQuNCAwLTggMy42LTggOGwwIDQwYzAgNC40LTMuNiA4LTggOGwtNDAgMGMtNC40IDAtOCAzLjYtOCA4bDAgNDhjMCA0LjQgMy42IDggOCA4bDQwIDBjNC40IDAgOCAzLjYgOCA4bDAgNDBjMCA0LjQgMy42IDggOCA4bDQ4IDBjNC40IDAgOC0zLjYgOC04bDAtNDBjMC00LjQgMy42LTggOC04bDQwIDBjNC40IDAgOC0zLjYgOC04bDAtNDhjMC00LjQtMy42LTgtOC04bC00MCAweiJdfSxvd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib3NpIixpY29uOls1MTIsNTEyLFtdLCJmNDFhIiwiTTggMjY2LjRjMi4zLTEzNS44IDk3LjQtMjMyLjQgMjEzLjgtMjQ4LjEgMTM4LjgtMTguNiAyNTUuNiA3NS44IDI3OCAyMDEuMSAyMS4zIDExOC44LTQ0IDIzMC0xNTEuNiAyNzQtOS4zIDMuOC0xNC40IDEuNy0xOC03LjctMTcuOC00Ni4zLTM1LjYtOTIuNi01My40LTEzOS0zLjEtOC4xLTEtMTMuMiA3LTE2LjggMjQuMi0xMSAzOS4zLTI5LjQgNDMuMy01NS44IDEuNS05LjcgMS0xOS42LTEuNS0yOS4xcy02LjktMTguNC0xMi45LTI2LjEtMTMuNi0xNC4xLTIyLjItMTguOC0xOC4xLTcuNS0yNy45LTguM2MtMzktMy40LTcxLjggMjMuNy03Ny41IDU5LjctNS4yIDMzIDExLjEgNjMuNyA0MS45IDc3LjcgOS42IDQuNCAxMS41IDguNiA3LjggMTguNC0xNy45IDQ2LjYtMzUuOCA5My4yLTUzLjcgMTM5LjktMi42IDYuOS04LjMgOS4zLTE1LjUgNi41LTUyLjYtMjAuMy0xMDEuNC02MS0xMzAuOC0xMTktMjQuOS00OS4yLTI1LjItODcuNy0yNi44LTEwOC43em0yMC45LTEuOWMuNCA2LjYgLjYgMTQuMyAxLjMgMjIuMSA2LjMgNzEuOSA0OS42IDE0My41IDEzMSAxODMuMSAzLjIgMS41IDQuNCAuOCA1LjYtMi4zIDE0LjktMzkuMSAyOS45LTc4LjIgNDUtMTE3LjMgMS4zLTMuMyAuNi00LjgtMi40LTYuNy0zMS42LTE5LjktNDcuMy00OC41LTQ1LjYtODYgMS0yMS42IDkuMy00MC41IDIzLjgtNTYuMyAzMC0zMi43IDc3LTM5LjggMTE1LjUtMTcuNiAxNS42IDkgMjguMiAyMi4zIDM2LjIgMzguNHMxMS4yIDM0LjIgOSA1MmMtMy42IDMwLjYtMTkuMyA1My45LTQ1LjcgNjkuOC0yLjcgMS42LTMuNSAyLjktMi4zIDYgMTUuMiAzOS4yIDMwLjMgNzguNCA0NS4yIDExNy43IDEuMiAzLjEgMi40IDMuOCA1LjYgMi4zIDM1LjUtMTYuNiA2NS4yLTQwLjMgODguMS03MiAzNC44LTQ4LjIgNDkuMS0xMDEuOSA0Mi4zLTE2MS0xMy43LTExNy41LTExOS40LTIxNC44LTI1NS41LTE5OC0xMDYuMSAxMy0xOTUuMyAxMDIuNS0xOTcuMSAyMjUuOHoiXX0sbnd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdnIixpY29uOls1MTIsNTEyLFtdLCJmMjYwIiwiTTE3OS4yIDIzMC40bDEwMi40IDEwMi40LTEwMi40IDEwMi40LTE3OS4yLTE3OS4yIDE3OS4yLTE3OS4yIDQ0LjggNDQuOC0yNS42IDI1LjYtMTkuMi0xOS4yLTEyOCAxMjggMTI4IDEyOCA1MS41LTUxLjUtNzcuMS03Ni41IDI1LjYtMjUuNnpNMzMyLjggNzYuOGwtMTAyLjQgMTAyLjQgMTAyLjQgMTAyLjQgMjUuNi0yNS42LTc3LjEtNzYuNSA1MS41LTUxLjUgMTI4IDEyOC0xMjggMTI4LTE5LjItMTkuMi0yNS42IDI1LjYgNDQuOCA0NC44IDE3OS4yLTE3OS4yLTE3OS4yLTE3OS4yeiJdfSxsd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYnV5c2VsbGFkcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjIwZCIsIk0yMjQgMTUwLjdsNDIuOSAxNjAuNy04NS44IDAgNDIuOS0xNjAuN3pNNDQ4IDgwbDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmwzNTIgMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMzgyLjcgNDA1LjNsLTk0LjUtMjk4LjctMTI4LjQgMC05NC41IDI5OC43IDkwLjcgMCAxMTEuNy05MS42IDI0LjIgOTEuNiA5MC44IDB6Il19LGN3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb29nbGUtcGx1cyIsaWNvbjpbNTEyLDUxMixbXSwiZjJiMyIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTE4NS4zIDM4MGMtMzIuOSAwLTY0LjQtMTMuMS04Ny43LTM2LjNzLTM2LjMtNTQuOC0zNi4zLTg3LjcgMTMuMS02NC40IDM2LjMtODcuNyA1NC44LTM2LjMgODcuNy0zNi4zYzMxLjMgMCA2MC4xIDExIDgzIDMyLjNsLTMzLjYgMzIuNmMtMTMuMi0xMi45LTMxLjMtMTkuMS00OS40LTE5LjEtNDIuOSAwLTc3LjIgMzUuNS03Ny4yIDc4LjFTMTQyLjMgMzM0IDE4NS4zIDMzNGMzMi42IDAgNjQuOS0xOS4xIDcwLjEtNTMuM2wtNzAuMSAwIDAtNDIuNiAxMTYuOSAwYzEuMyA2LjggMS45IDEzLjggMS45IDIwLjcgMCA3MC44LTQ3LjUgMTIxLjItMTE4LjggMTIxLjJ6TTQxNS41IDI3My44bDAgMzUuNS0zNS41IDAgMC0zNS41LTM1LjUgMCAwLTM1LjUgMzUuNSAwIDAtMzUuNSAzNS41IDAgMCAzNS41IDM1LjIgMCAwIDM1LjUtMzUuMiAweiJdfSxkd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2NyZWVucGFsIixpY29uOls1MTIsNTEyLFtdLCJlNTcwIiwiTTI3OC42IDIyLjVhMjIuNSAyMi41IDAgMSAxIC00NSAwIDIyLjUgMjIuNSAwIDEgMSA0NSAwek0xOTguNyAyNTlhNTcuNCA1Ny40IDAgMSAxIDExNC44IDAgNTcuNCA1Ny40IDAgMSAxIC0xMTQuOCAwem0xMzguNiA5MWMyMi4zLTE5LjkgMzYuNS00Ny4zIDM5LjktNzdsMTE5LjUgMGMtMy41IDYxLjQtMzAuNCAxMTkuMi03NS4yIDE2MS40LTQ0LjcgNDIuMi0xMDMuOSA2NS44LTE2NS40IDY1LjhTMTM1LjQgNDc2LjYgOTAuNyA0MzQuNEM0NS45IDM5Mi4yIDE5LjEgMzM0LjQgMTUuNSAyNzNsMTE5LjcgMGMzLjQgMjkuNyAxNy42IDU3LjEgMzkuOSA3N3M1MS4yIDMwLjkgODEuMSAzMC45YzI5IDAgNTguNy0xMSA4MS4xLTMwLjl6TTI4LjMgMTQxLjdhMjIuNSAyMi41IDAgMSAxIDQ1LTEuNCAyMi41IDIyLjUgMCAxIDEgLTQ1IDEuNHptNDU1LjYtLjdhMjIuNCAyMi40IDAgMSAxIC00NC45IDAgMjIuNCAyMi40IDAgMSAxIDQ0LjkgMHpNMzE4IDk1LjNjLTE3LjMgMTMuOC0zOS4yIDIyLjgtNjEuOSAyMi44cy00NC42LTktNjEuOS0yMi44Yy0xNy4zLTE0LjctMjguOC0zNS4xLTMyLjQtNTcuNSAxNS4xLTYuNCAzMC44LTExLjMgNDYuOS0xNC41IDAgMTIuNiA1IDI0LjYgMTMuOSAzMy41czIwLjkgMTMuOSAzMy41IDEzLjkgMjQuNi01IDMzLjUtMTMuOSAxMy45LTIwLjkgMTMuOS0zMy41YzE2LjEgMy4yIDMxLjggOC4xIDQ2LjkgMTQuNS0zLjYgMjIuNC0xNS4xIDQyLjgtMzIuNCA1Ny41ek04Mi45IDIzMWMtMjEuNCA3LjYtNDQuNyA3LjQtNjUuOS0uNiAyLTE2LjMgNS42LTMyLjMgMTAuOC00Ny45IDUuNCAzLjEgMTEuMyA1LjEgMTcuNSA2IDYuMiAuOCAxMi40IC40IDE4LjUtMS4yIDYtMS43IDExLjYtNC40IDE2LjYtOC4yczkuMS04LjUgMTIuMi0xMy45IDUuMS0xMS40IDYtMTcuNWMuOC02LjIgLjQtMTIuNS0xLjItMTguNXMtNC40LTExLjYtOC4yLTE2LjZjLTMuOC00LjktOC41LTkuMS0xMy45LTEyLjIgMTAuOC0xMi4zIDIyLjktMjMuNSAzNi0zMy4zIDE3LjYgMTQuMyAyOS41IDM0LjUgMzMuNiA1Ni44cy4xIDQ1LjQtMTEuMiA2NWMtMTEuNCAxOS42LTI5LjQgMzQuNS01MC43IDQyLjF6bTM0Ni40IC4xYy0yMS4zLTcuNi0zOS4zLTIyLjYtNTAuNy00Mi4yLTExLjMtMTkuNi0xNS4yLTQyLjctMTEuMS02NSA0LjEtMjIuMiAxNi00Mi40IDMzLjUtNTYuNyAxMy4xIDkuOCAyNS4yIDIxIDM2IDMzLjMtMTAuNyA2LjQtMTguNCAxNi43LTIxLjUgMjguOC0zLjIgMTItMi4zIDI0LjggNC44IDM1LjYgNi4yIDEwLjggMTYuNCAxOC43IDI4LjQgMjJzMjQuOSAxLjcgMzUuNy00LjNjNS4zIDE1LjUgOC45IDMxLjYgMTAuOSA0Ny44LTIyLjEgOC4xLTQ0LjYgOC4zLTY2IC43eiJdfSx1d3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYml0Y29pbiIsaWNvbjpbNTEyLDUxMixbXSwiZjM3OSIsIk04IDI1NmEyNDggMjQ4IDAgMSAxIDQ5NiAwIDI0OCAyNDggMCAxIDEgLTQ5NiAwem0zNTQuMy0zNS4zYzQuOS0zMy0yMC4yLTUwLjctNTQuNi02Mi42bDExLjEtNDQuNy0yNy4yLTYuOC0xMC45IDQzLjVjLTcuMi0xLjgtMTQuNS0zLjUtMjEuOC01LjFsMTAuOS00My44LTI3LjItNi44LTExLjIgNDQuN2MtNS45LTEuMy0xMS43LTIuNy0xNy40LTQuMWwwLS4xLTM3LjUtOS40LTcuMiAyOS4xczIwLjIgNC42IDE5LjggNC45YzExIDIuOCAxMyAxMCAxMi43IDE1LjhsLTEyLjcgNTAuOWMuOCAuMiAxLjcgLjUgMi44IC45LS45LS4yLTEuOS0uNS0yLjktLjdsLTE3LjggNzEuM2MtMS4zIDMuMy00LjggOC40LTEyLjUgNi41IC4zIC40LTE5LjgtNC45LTE5LjgtNC45bC0xMy41IDMxLjEgMzUuNCA4LjhjNi42IDEuNyAxMyAzLjQgMTkuNCA1bC0xMS4zIDQ1LjIgMjcuMiA2LjggMTEuMi00NC43YzcuMiAyIDE0LjQgMy44IDIxLjcgNS42bC0xMS4xIDQ0LjUgMjcuMiA2LjggMTEuMy00NS4xYzQ2LjQgOC44IDgxLjMgNS4yIDk2LTM2LjcgMTEuOC0zMy44LS42LTUzLjMtMjUtNjYgMTcuOC00LjEgMzEuMi0xNS44IDM0LjctMzkuOXptLTYyLjIgODcuMmMtOC40IDMzLjgtNjUuMyAxNS41LTgzLjggMTAuOWwxNC45LTU5LjljMTguNCA0LjYgNzcuNiAxMy43IDY4LjggNDl6bTguNC04Ny43Yy03LjcgMzAuNy01NSAxNS4xLTcwLjQgMTEuM2wxMy41LTU0LjNjMTUuNCAzLjggNjQuOCAxMSA1Ni44IDQzeiJdfSxwd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3dpZnQiLGljb246WzQ0OCw1MTIsW10sImY4ZTEiLCJNNDQ4IDE1Ni4xYzAtNC41LS4xLTktLjItMTMuNS0uMS05LjktMS0xOS43LTIuNi0yOS40LTEuNy05LjctNC44LTE5LjItOS4yLTI4LTktMTcuNy0yMy40LTMyLjEtNDEuMi00MS4xLTguOC00LjUtMTguMy03LjYtMjgtOS4yLTkuNy0xLjYtMTkuNi0yLjUtMjkuNC0yLjYtNC41LS4xLTktLjItMTMuNS0uMkwxMjQuMSAzMmMtNC41IDAtOSAuMS0xMy41IC4yLTIuNCAuMS00LjkgLjItNy40IC4zLTcuNCAuMy0xNC44IDEuMS0yMi4xIDIuMy03LjMgMS4zLTE0LjQgMy4zLTIxLjIgNi4xLTIuMyAxLTQuNiAyLTYuOCAzLjEtNi42IDMuNC0xMi44IDcuNS0xOC40IDEyLjMtMS45IDEuNi0zLjcgMy4zLTUuNCA1LTcgNy0xMi45IDE1LTE3LjQgMjMuOC00LjQgOC44LTcuNiAxOC4zLTkuMiAyOC0xLjYgOS43LTIuNCAxOS42LTIuNSAyOS40LS4xIDQuNS0uMiA5LS4yIDEzLjVMMCAzNTUuOWMwIDQuNSAuMSA5IC4yIDEzLjUgLjEgOS45IDEgMTkuNyAyLjYgMjkuNCAxLjcgOS43IDQuOCAxOS4yIDkuMiAyOCA5IDE3LjcgMjMuNCAzMi4xIDQxLjEgNDEuMSA4LjggNC40IDE4LjMgNy41IDI4IDkuMiA5LjcgMS42IDE5LjYgMi41IDI5LjQgMi42IDQuNSAuMSA5IC4yIDEzLjUgLjJsMTk5LjggMGM0LjUgMCA5LS4xIDEzLjUtLjIgOS45LS4xIDE5LjctMSAyOS40LTIuNiA5LjctMS43IDE5LjItNC44IDI4LTkuMiAxNy43LTkgMzIuMS0yMy40IDQxLjEtNDEuMiA0LjQtOC44IDcuNi0xOC4zIDkuMi0yOCAxLjYtOS43IDIuNS0xOS42IDIuNi0yOS40IC4xLTQuNSAuMi05IC4yLTEzLjVsMC0xODMuOGMwLTUuNCAwLTEwLjcgMC0xNnptLTY5LjkgMjQxYy0yMC0zOC45LTU3LjItMjkuMy03Ni4zLTE5LjUtMS43IDEtMy41IDItNS4yIDNsLS40IC4yYy0zOS41IDIxLTkyLjUgMjIuNS0xNDUuOC0uNC00My40LTE4LjgtODAuMS01MC4zLTEwNS4zLTkwLjQgMTIuMyA5LjEgMjUuNCAxNi45IDM5LjIgMjMuNCA1Ni40IDI2LjQgMTEzIDI0LjUgMTUzIDAtNTctNDMuOC0xMDQuNi0xMDEtMTQxLjEtMTQ3LjItNy04LjEtMTMuMi0xNi44LTE4LjgtMjUuOSA0My43IDQwIDExMi43IDkwLjIgMTM3LjUgMTA0LjEtNTIuNi01NS41LTk4LjktMTIzLjktOTYuNy0xMjEuNyA4Mi44IDgzLjQgMTU5LjIgMTMwLjYgMTU5LjIgMTMwLjYgMi45IDEuNiA1IDIuOCA2LjcgNCAxLjYtNC4xIDMtOC4yIDQuMi0xMi41IDEzLjItNDguMy0xLjctMTAzLjYtMzUuMy0xNDkuMiA3Ni44IDQ2LjEgMTIyLjIgMTMzLjcgMTAzLjYgMjA3LjgtLjQgMS43LTEgMy40LTEuNCA1LjEgMzguNSA0Ny40IDI4IDk4LjIgMjMuMSA4OC42bDAgMHoiXX0sZnd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZpbGVzLXBpbndoZWVsIixpY29uOls1MTIsNTEyLFtdLCJlNjlmIiwiTTI1My41IDI0Ni40TDEzNy4yIDEzMC4yYy0uNi0uNi0xLTEuMy0xLjQtMnMtLjUtMS42LS41LTIuNCAuMi0xLjYgLjUtMi40IC44LTEuNCAxLjQtMkwyNTMuNiA1LjFjLjktLjkgMi0xLjUgMy4yLTEuN3MyLjUtLjEgMy42IC4zIDIuMSAxLjMgMi44IDIuMyAxLjEgMi4yIDEuMSAzLjVsMCAyMzIuNWMwIDEuMy0uMyAyLjUtMSAzLjZzLTEuNyAxLjktMi45IDIuNC0yLjUgLjYtMy43IC4zLTIuNC0uOS0zLjItMS45em00MC4zLTQuNGwwLTEzNC40YzAtLjggLjEtMS42IC41LTIuNHMuOC0xLjUgMS4zLTIuMSAxLjMtMS4xIDItMS40IDEuNi0uNSAyLjQtLjVsMTM0LjQgMGMxLjIgMCAyLjUgLjQgMy41IDEuMXMxLjggMS43IDIuMyAyLjggLjYgMi40IC4zIDMuNi0uOSAyLjMtMS43IDMuMkwzMDQuMyAyNDYuNGMtLjkgLjgtMiAxLjQtMy4yIDEuNnMtMi40IC4xLTMuNS0uNC0yLjEtMS4zLTIuOC0yLjMtMS4xLTIuMi0xLjEtMy40bC4xIC4xem0zMC42IDM1Yy0xLjIgMC0yLjUtLjMtMy41LTFzLTEuOS0xLjYtMi40LTIuOC0uNi0yLjQtLjQtMy42IC44LTIuMyAxLjctMy4yTDQwNCAxODIuMmMuNi0uNiAxLjMtMSAyLTEuNHMxLjYtLjUgMi40LS41IDEuNiAuMiAyLjQgLjUgMS40IC44IDIgMS40bDg0LjQgODQuMmMuOSAuOSAxLjUgMiAxLjcgMy4ycy4xIDIuNS0uMyAzLjYtMS4zIDIuMS0yLjMgMi44LTIuMiAxLjEtMy41IDEuMWwtMTY4LjUgMCAuMS0uMXptOTAuNyAxMzFsLTk1LjMtOTUuMmMtLjktLjktMS41LTItMS43LTMuMnMtLjEtMi41IC40LTMuNyAxLjMtMi4xIDIuNC0yLjggMi4zLTEgMy41LTFsOTUuMiAwYzEuNyAwIDMuMiAuNyA0LjQgMS44czEuOCAyLjggMS44IDQuNGwwIDk1LjNjMCAxLjItLjQgMi41LTEuMSAzLjVzLTEuNyAxLjgtMi44IDIuMy0yLjQgLjYtMy42IC4zLTIuMy0uOS0zLjItMS43ek0xNi44IDMwMi4xbDIxNi45IDBjMS4yIDAgMi41IC40IDMuNSAxLjFzMS44IDEuNyAyLjMgMi44IC42IDIuNCAuMyAzLjYtLjggMi4zLTEuNyAzLjJMMTI5LjcgNDIxLjJjLS42IC42LTEuMyAxLTIgMS40cy0xLjYgLjUtMi40IC41LTEuNi0uMi0yLjQtLjUtMS40LS44LTItMS40TDEyLjMgMzEyLjhjLS45LS45LTEuNS0yLTEuNy0zLjJzLS4xLTIuNSAuNC0zLjYgMS4zLTIuMSAyLjMtMi44IDIuMy0xIDMuNS0xbDAtLjF6TTI2NC4zIDQ2NS4zYzAgLjgtLjIgMS42LS41IDIuNHMtLjggMS41LTEuNCAyLTEuMyAxLTIgMS40LTEuNiAuNS0yLjQgLjVsLTEyOCAwYy0xLjIgMC0yLjUtLjQtMy41LTEuMXMtMS44LTEuNy0yLjMtMi44LS42LTIuNC0uMy0zLjYgLjgtMi4zIDEuNy0zLjJsMTI4LTEyOGMuOS0uOSAyLTEuNSAzLjItMS43czIuNS0uMSAzLjYgLjMgMi4xIDEuMyAyLjggMi4zIDEuMSAyLjIgMS4xIDMuNWwwIDEyOHptNDAtMTMyLjVsODIuOCA4Mi43Yy42IC42IDEgMS4zIDEuNCAycy41IDEuNiAuNSAyLjQtLjIgMS42LS41IDIuNC0uOCAxLjQtMS40IDJMMzA0LjMgNTA3Yy0uOSAuOS0yIDEuNS0zLjIgMS43cy0yLjUgLjEtMy42LS4zLTIuMS0xLjMtMi44LTIuMy0xLjEtMi4yLTEuMS0zLjVsMC0xNjUuNGMwLTEuMiAuNC0yLjUgMS4xLTMuNXMxLjctMS44IDIuOC0yLjMgMi40LS42IDMuNi0uMyAyLjMgLjggMy4yIDEuN3pNNzkgMTIyLjRjMC0xLjIgLjMtMi41IDEtMy41czEuNy0xLjggMi44LTIuMyAyLjQtLjYgMy42LS40IDIuMyAuOCAzLjIgMS43TDIzOC4xIDI2Ni40Yy45IC45IDEuNSAyIDEuNyAzLjJzLjEgMi41LS4zIDMuNi0xLjMgMi4xLTIuMyAyLjgtMi4yIDEuMS0zLjUgMS4xbC0xNDguNCAwYy0xLjcgMC0zLjItLjctNC40LTEuOHMtMS44LTIuOC0xLjgtNC40bDAtMTQ4LjQtLjEtLjF6Il19LGh3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsYXJhdmVsIixpY29uOls1MTIsNTEyLFtdLCJmM2JkIiwiTTUwNC42IDExNS44Yy0uMS0uMi0uMi0uNS0uMy0uNy0uMS0uNC0uMy0uOC0uNS0xLjItLjItLjItLjMtLjUtLjUtLjctLjItLjMtLjUtLjYtLjctLjktLjItLjItLjUtLjQtLjgtLjYtLjMtLjItLjYtLjUtLjktLjdMNDA0LjYgNTUuNWMtMS4yLS43LTIuNi0xLjEtNC0xLjFzLTIuOCAuNC00IDEuMUwzMDAuMyAxMTFjLS4zIC4yLS42IC40LS45IC43LS4zIC4yLS41IC40LS44IC42LS4zIC4zLS41IC42LS43IC45LS4yIC4yLS40IC40LS41IC43LS4yIC40LS40IC44LS41IDEuMi0uMSAuMi0uMiAuNC0uMyAuNy0uMiAuNy0uMyAxLjQtLjMgMi4xbDAgMTA1LjItODAuMiA0Ni4yIDAtMjA1LjljMC0uNy0uMS0xLjQtLjMtMi4xLS4xLS4yLS4yLS40LS4zLS43LS4xLS40LS4zLS44LS41LTEuMi0uMS0uMy0uNC0uNS0uNS0uNy0uMi0uMy0uNS0uNi0uNy0uOS0uMi0uMi0uNS0uNC0uOC0uNi0uMy0uMi0uNi0uNS0uOS0uN0wxMTUuOCAxLjFjLTEuMi0uNy0yLjYtMS4xLTQtMS4xcy0yLjggLjQtNCAxLjFMMTEuNSA1Ni41Yy0uMyAuMi0uNiAuNC0uOSAuNy0uMyAuMi0uNSAuNC0uOCAuNi0uMyAuMy0uNSAuNi0uNyAuOS0uMiAuMy0uNCAuNS0uNiAuNy0uMiAuNC0uNCAuOC0uNSAxLjItLjEgLjItLjIgLjQtLjMgLjctLjIgLjctLjMgMS40LS4zIDIuMWwwIDMyOS43YzAgMS40IC40IDIuOCAxLjEgNHMxLjcgMi4yIDIuOSAyLjlMMjA0IDUxMC45Yy40IC4yIC45IC40IDEuMyAuNSAuMiAuMSAuNCAuMiAuNiAuMyAxLjMgLjQgMi44IC40IDQuMSAwIC4yLS4xIC40LS4yIC42LS4yIC41LS4yIDEtLjMgMS40LS42TDQwNC42IDQwMC4xYzEuMi0uNyAyLjItMS43IDIuOS0yLjlzMS4xLTIuNiAxLjEtNGwwLTEwNS4zIDkyLjItNTMuMWMxLjItLjcgMi4yLTEuNyAyLjktM3MxLjEtMi42IDEuMS00bDAtMTA5LjhjMC0uNy0uMS0xLjQtLjItMi4xek0xMTEuOCAxNy4zbDgwLjIgNDYuMS04MC4yIDQ2LjItODAuMi00Ni4yIDgwLjItNDYuMnptODguMiA2MGwwIDIwMS4zYy0zMy4yIDE5LjEtNTkuOSAzNC41LTgwLjIgNDYuMmwwLTIwMS4zQzE1MyAxMDQuNCAxNzkuNyA4OSAyMDAgNzcuM3ptMCA0MTIuOEwyMy41IDM4OC41IDIzLjUgNzcuM2MyMC4zIDExLjcgNDcuMSAyNy4xIDgwLjIgNDYuMmwwIDIxNS4yYzAgLjMgLjEgLjYgLjEgLjkgMCAuNCAuMSAuOCAuMiAxLjIgLjEgLjMgLjIgLjYgLjQgLjkgLjEgLjMgLjMgLjcgLjQgMSAuMiAuMyAuNCAuNSAuNiAuOCAuMiAuMyAuNCAuNiAuNyAuOCAuMiAuMiAuNSAuNCAuOCAuNiAuMyAuMiAuNiAuNSAuOSAuN2w5Mi4yIDUyLjIgLjEgOTIuNHptOC0xMDYuMkwxMjggMzM4LjZjNTQuNy0zMS41IDExMy41LTY1LjMgMTc2LjMtMTAxLjVsODAuMSA0Ni4xQzM1NSAzMDAgMjk2LjIgMzMzLjUgMjA4IDM4My45em0xODQuNSA0LjZsLTE3Ni41IDEwMS42IDAtOTIuM0MzMTcuNCAzNDAgMzc2LjIgMzA2LjQgMzkyLjUgMjk3bDAgOTEuNHptMC0xMTkuMWMtMjAuMy0xMS42LTQ3LjEtMjctODAuMi00Ni4xbDAtOTEuNGMyMC4zIDExLjcgNDcuMSAyNy4xIDgwLjIgNDYuMmwwIDkxLjN6bTgtMTA1LjNsLTgwLjItNDYuMiA4MC4yLTQ2LjIgODAuMiA0Ni4xLTgwLjIgNDYuMnptOCAxMDUuM2wwLTkxLjNjMzMuMi0xOS4xIDYwLTM0LjUgODAuMy00Ni4ybDAgOTEuNC04MC4zIDQ2LjJ6Il19LG13dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3cGZvcm1zIixpY29uOls0NDgsNTEyLFtdLCJmMjk4IiwiTTQ0OCA3NS4ybDAgMzYxLjdjMCAyNC4zLTE5IDQzLjItNDMuMiA0My4ybC0zNjEuNiAwQzE5LjMgNDgwIDAgNDYxLjQgMCA0MzYuOEwwIDc1LjJDMCA1MS4xIDE4LjggMzIgNDMuMiAzMmwzNjEuNyAwYzI0IDAgNDMuMSAxOC44IDQzLjEgNDMuMnpNNDEwLjcgNDM2LjhsMC0zNjEuNmMwLTMtMi42LTUuOC01LjgtNS44bC05LjMgMC0xMTAuMyA3NC42LTYxLjMtNDkuOS02MS4yIDQ5LjktMTEwLjMtNzQuNy05LjMgMGMtMy4yIDAtNS44IDIuOC01LjggNS44bDAgMzYxLjdjMCAzIDIuNiA1LjggNS44IDUuOGwzNjEuNyAwYzMuMiAuMSA1LjgtMi43IDUuOC01Ljh6TTE1MC4yIDE4NmwwIDM3LTczLjUgMCAwLTM3IDczLjUgMHptMCA3NC40bDAgMzcuMy03My41IDAgMC0zNy4zIDczLjUgMHptMTEuMS0xNDcuM2w1NC00My43LTExOC41IDAgNjQuNSA0My43em0yMTAgNzIuOWwwIDM3LTE5NiAwIDAtMzcgMTk2IDB6bTAgNzQuNGwwIDM3LjMtMTk2IDAgMC0zNy4zIDE5NiAwek0yODYuNyAxMTMuMWw2NC41LTQzLjctMTE4LjQgMCA1My45IDQzLjd6TTM3MS4zIDMzNWwwIDM3LjMtOTkuNCAwIDAtMzcuMyA5OS40IDB6Il19LGd3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcGVha2VyLWRlY2siLGljb246WzUxMiw1MTIsW10sImY4M2MiLCJNMjEzLjkgMjk2TDEwMCAyOTZjLTI2LjUgMC01Mi0xMC41LTcwLjctMjkuM1MwIDIyMi41IDAgMTk2IDEwLjUgMTQ0IDI5LjMgMTI1LjMgNzMuNSA5NiAxMDAgOTZsMTMyLjggMGMxMC42IDAgMjAuOCA0LjIgMjguMyAxMS43czExLjcgMTcuNyAxMS43IDI4LjMtNC4yIDIwLjgtMTEuNyAyOC4zLTE3LjcgMTEuNy0yOC4zIDExLjdMOTggMTc2Yy0yNi41IDAtMjYuNCA0MCAwIDQwbDExMy44IDBjMjYuNSAwIDUyIDEwLjUgNzAuNyAyOS4zczI5LjMgNDQuMiAyOS4zIDcwLjctMTAuNSA1Mi0yOS4zIDcwLjctNDQuMiAyOS4zLTcwLjcgMjkuM0w0MCA0MTZjLTEwLjYgMC0yMC44LTQuMi0yOC4zLTExLjdTMCAzODYuNiAwIDM3NiA0LjIgMzU1LjIgMTEuNyAzNDcuNyAyOS40IDMzNiA0MCAzMzZsMTczLjkgMGMyNi41IDAgMjYuNS00MCAwLTQwek0yOTggNDE2YzEzLjUtOS4yIDI1LTIxIDMzLjgtMzQuN3MxNC43LTI5LjIgMTcuMy00NS4zbDY0LjYgMGMyLjYgMCA1LjItLjYgNy42LTEuNnM0LjYtMi41IDYuNC00LjQgMy4zLTQuMSA0LjItNi41IDEuNS01IDEuNC03LjZsMC0xMjBjMC0yLjYtLjUtNS4yLTEuNC03LjZzLTIuNC00LjYtNC4yLTYuNS00LTMuMy02LjQtNC40LTUtMS42LTcuNi0xLjZsLTExNy4yIDBjOS43LTExLjEgMTUtMjUuMyAxNS00MHMtNS4zLTI4LjktMTUtNDBsMTM2LjkgMGM0My40IDAgNzguNiAzNS44IDc4LjYgODBsMCAxNjBjMCA0NC4yLTM1LjIgODAtNzguNiA4MEwyOTggNDE2eiJdfSxid3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmxpY2tyIixpY29uOls0NDgsNTEyLFtdLCJmMTZlIiwiTTQwMCAzMkw0OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwTDAgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDM1MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzUyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0xNDQuNSAxOTJhNjMuNSA2My41IDAgMSAxIDAgMTI3IDYzLjUgNjMuNSAwIDEgMSAwLTEyN3ptMTU5IDBhNjMuNSA2My41IDAgMSAxIDAgMTI3IDYzLjUgNjMuNSAwIDEgMSAwLTEyN3oiXX0sdnd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLXZpc2EiLGljb246WzU3Niw1MTIsW10sImYxZjAiLCJNNDcwLjEgMjMxLjNzNy42IDM3LjIgOS4zIDQ1bC0zMy40IDBjMy4zLTguOSAxNi00My41IDE2LTQzLjUtLjIgLjMgMy4zLTkuMSA1LjMtMTQuOWwyLjggMTMuNHpNNTc2IDgwbDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmw0ODAgMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMTUyLjUgMzMxLjJsNjMuMi0xNTUuMi00Mi41IDAtMzkuMyAxMDYtNC4zLTIxLjUtMTQtNzEuNGMtMi4zLTkuOS05LjQtMTIuNy0xOC4yLTEzLjFsLTY0LjcgMC0uNyAzLjFjMTUuOCA0IDI5LjkgOS44IDQyLjIgMTcuMWwzNS44IDEzNSA0Mi41IDB6bTk0LjQgLjJsMjUuMi0xNTUuNC00MC4yIDAtMjUuMSAxNTUuNCA0MC4xIDB6bTEzOS45LTUwLjhjLjItMTcuNy0xMC42LTMxLjItMzMuNy00Mi4zLTE0LjEtNy4xLTIyLjctMTEuOS0yMi43LTE5LjIgLjItNi42IDcuMy0xMy40IDIzLjEtMTMuNCAxMy4xLS4zIDIyLjcgMi44IDI5LjkgNS45bDMuNiAxLjcgNS41LTMzLjZjLTcuOS0zLjEtMjAuNS02LjYtMzYtNi42LTM5LjcgMC02Ny42IDIxLjItNjcuOCA1MS40LS4zIDIyLjMgMjAgMzQuNyAzNS4yIDQyLjIgMTUuNSA3LjYgMjAuOCAxMi42IDIwLjggMTkuMy0uMiAxMC40LTEyLjYgMTUuMi0yNC4xIDE1LjItMTYgMC0yNC42LTIuNS0zNy43LTguM2wtNS4zLTIuNS01LjYgMzQuOWM5LjQgNC4zIDI2LjggOC4xIDQ0LjggOC4zIDQyLjIgLjEgNjkuNy0yMC44IDcwLTUzek01MjggMzMxLjRsLTMyLjQtMTU1LjQtMzEuMSAwYy05LjYgMC0xNi45IDIuOC0yMSAxMi45bC01OS43IDE0Mi41IDQyLjIgMHM2LjktMTkuMiA4LjQtMjMuM2w1MS42IDBjMS4yIDUuNSA0LjggMjMuMyA0LjggMjMuM2wzNy4yIDB6Il19LHh3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1cHdvcmsiLGljb246WzY0MCw1MTIsW10sImU2NDEiLCJNNDkzLjkgMjk1LjZjLTUwLjMgMC04My41LTM4LjktOTIuOC01My45IDExLjktOTUuMyA0Ni44LTEyNS40IDkyLjgtMTI1LjQgNDUuNSAwIDgwLjkgMzYuNCA4MC45IDg5LjdzLTM1LjQgODkuNy04MC45IDg5LjdsMC0uMXptMC0yMzcuOGMtODEuOSAwLTEyNy44IDUzLjQtMTQxIDEwOC40LTE0LjktMjgtMjUuOS02NS41LTM0LjUtMTAwLjNsLTExMy4yIDAgMCAxNDFjMCA1MS4xLTIzLjMgODktNjguOCA4OXMtNzEuNi0zNy44LTcxLjYtODlsLjUtMTQxLTY1LjMgMCAwIDE0MWMwIDQxLjEgMTMuMyA3OC40IDM3LjYgMTA1LjEgMjUgMjcuNSA1OS4yIDQxLjggOTguOCA0MS44IDc4LjggMCAxMzMuOC02MC40IDEzMy44LTE0Ni45bDAtOTQuOGM4LjIgMzEuMiAyNy44IDkxLjEgNjUuMyAxNDMuNmwtMzUgMTk5LjQgNjYuNCAwIDIzLjEtMTQxLjNjNy42IDYuMyAxNS43IDEyIDI0LjIgMTcgMjIuMiAxNCA0Ny43IDIxLjkgNzMuOSAyMi44IDAgMCA0IC4yIDYuMSAuMiA4MS4yIDAgMTQ1LjktNjIuOSAxNDUuOS0xNDcuOFM1NzUuMyA1Ny45IDQ5NC4xIDU3LjlsLS4yLS4xeiJdfSx5d3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToia2FrYW8tdGFsayIsaWNvbjpbNTc2LDUxMixbXSwiZTdkNyIsIk0yODggMi41YzE1OS4xIDAgMjg4IDEwMS43IDI4OCAyMjcuMSAwIDEyNS40LTEyOC45IDIyNy4xLTI4OCAyMjcuMS0xNy41IDAtMzQuNi0xLjItNTEuMi0zLjYtMTYuNiAxMS43LTExMi42IDc5LjEtMTIxLjcgODAuNCAwIDAtMy43IDEuNC02LjktLjRzLTIuNi02LjctMi42LTYuN0MxMDYuNiA1MTkuOCAxMzAuNiA0MzcuMiAxMzUgNDIxLjkgNTMuOSAzODEuOCAwIDMxMC42IDAgMjI5LjUgMCAxMDQuMSAxMjguOSAyLjUgMjg4IDIuNXpNODYuMiAxNjEuN2MtOSAwLTE2LjMgNy4zLTE2LjMgMTYuM3M3LjMgMTYuMyAxNi4zIDE2LjNsMjUuOSAwIDAgOTguN2MwIDguOCA3LjUgMTUuOSAxNi42IDE1LjlzMTYuNi03LjEgMTYuNi0xNS45bDAtOTguNyAyNS45IDBjOSAwIDE2LjMtNy4zIDE2LjMtMTYuM3MtNy4zLTE2LjMtMTYuMy0xNi4zbC04NS4xIDB6bTE0MC44IDBjLTEwLjggLjItMTkuMyA4LjQtMjIuMSAxNi40TDE2NS4yIDI4Mi43Yy01IDE1LjctLjYgMjEuNSAzLjkgMjMuNiAzLjIgMS41IDYuOSAyLjMgMTAuNiAyLjMgNi45IDAgMTIuMi0yLjggMTMuOC03LjNsOC4yLTIxLjYgNTAuNyAwIDguMiAyMS41YzEuNiA0LjUgNi45IDcuMyAxMy44IDcuMyAzLjcgMCA3LjMtLjggMTAuNi0yLjMgNC42LTIuMSA5LTcuOSAzLjktMjMuNkwyNDkuMiAxNzguMWMtMi44LTgtMTEuMy0xNi4yLTIyLjItMTYuNHptMTgwLjkgMGMtOS4yIDAtMTYuNiA3LjUtMTYuNiAxNi42bDAgMTEzLjdjMCA5LjIgNy41IDE2LjYgMTYuNiAxNi42czE2LjYtNy41IDE2LjYtMTYuNmwwLTM2LjIgNS44LTUuOCAzOC45IDUxLjZjMy4yIDQuMiA4IDYuNiAxMy4zIDYuNiAzLjYgMCA3LjEtMS4xIDEwLTMuMyAzLjUtMi43IDUuOC02LjYgNi40LTExcy0uNS04LjgtMy4yLTEyLjNsLTQwLjktNTQuMiAzNy45LTM3LjhjMi42LTIuNiAzLjktNi4yIDMuNy0xMC4xLS4yLTMuOS0yLTcuNi00LjktMTAuNS0zLjEtMy4xLTcuMy00LjktMTEuNC00LjktMy42IDAtNi44IDEuMy05LjIgMy43bC00Ni4zIDQ2LjQgMC0zNS43YzAtOS4yLTcuNS0xNi42LTE2LjYtMTYuNnptLTkxLjMgMGMtOS4zIDAtMTYuOSA3LjUtMTYuOSAxNi42bDAgMTEyLjhjMCA4LjQgNy4xIDE1LjIgMTUuOSAxNS4zbDUzLjMgMGM4LjggMCAxNS45LTYuOSAxNS45LTE1LjNzLTcuMi0xNS4yLTE1LjktMTUuMmwtMzUuMyAwIDAtOTcuNmMwLTkuMi03LjYtMTYuNi0xNy0xNi42em0tNzMgODguNmwtMzMuMiAwIDE2LjYtNDcuMSAxNi42IDQ3LjF6Il19LHd3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmbHV0dGVyIixpY29uOls0NDgsNTEyLFtdLCJlNjk0IiwiTTQyOS41IDIzNi4zTDI5MS43IDM3NC4xIDQyOS41IDUxMiAyNzIgNTEyYy0zNi4xLTM2LjEtODIuMS04Mi4xLTEzNy45LTEzNy45bDEzNy45LTEzNy44IDE1Ny41IDB6TTI3MiAwTDE2IDI1NiA5NC44IDMzNC44IDQyOS41IDAgMjcyIDB6Il19LE13dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJidWZmZXIiLGljb246WzQ0OCw1MTIsW10sImY4MzciLCJNNDI4LjIgMzgwLjdMMjMxLjcgNDc4LjVjLTIuMyAxLTQuOCAxLjUtNy4zIDEuNXMtNS0uNS03LjMtMS41TDIwLjUgMzgwLjdjLTQtMi00LTUuMyAwLTcuM0w2Ny42IDM1MGMyLjMtMSA0LjgtMS41IDcuMy0xLjVzNSAuNSA3LjMgMS41bDEzNC44IDY3YzIuMyAxIDQuOCAxLjUgNy4zIDEuNXM1LS41IDcuMy0xLjVsMTM0LjgtNjdjMi4zLTEgNC44LTEuNSA3LjMtMS41czUgLjUgNy4zIDEuNWw0Ny4xIDIzLjRjNCAyIDQgNS4yIDAgNy4yem0wLTEzNi41bC00Ny4xLTIzLjRjLTIuMy0xLTQuOC0xLjUtNy4zLTEuNXMtNSAuNS03LjMgMS41TDIzMS43IDI4Ny44Yy0yLjMgMS00LjggMS41LTcuMyAxLjVzLTUtLjUtNy4zLTEuNUw4Mi4zIDIyMC43Yy0yLjMtMS00LjgtMS41LTcuMy0xLjVzLTUgLjUtNy4zIDEuNUwyMC41IDI0NC4xYy00IDItNCA1LjMgMCA3LjNsMTk2LjUgOTcuOGMyLjMgMSA0LjggMS41IDcuMyAxLjVzNS0uNSA3LjMtMS41bDE5Ni41LTk3LjhjNC0yIDQtNS4zIDAtNy4zek0yMC41IDEzMC40TDIxNyAyMjAuN2M0LjcgMS45IDEwIDEuOSAxNC43IDBsMTk2LjUtOTAuM2M0LTEuOSA0LTQuOSAwLTYuN0wyMzEuNyAzMy40Yy00LjctMS45LTEwLTEuOS0xNC43IDBMMjAuNSAxMjMuN2MtNCAxLjgtNCA0LjkgMCA2Ljd6Il19LGt3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJncmF0aXBheSIsaWNvbjpbNTEyLDUxMixbXSwiZjE4NCIsIk0yNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyIDI1NiAyNTYgMCAxIDAgMC01MTJ6TTM3NC4zIDIzMy43TDI1Ny43IDM5MS4zIDE0MS4zIDIzMy43Yy05LTEyLjMtMTkuNy01MiAxNC03NC4zIDI5LTE4LjcgNTYuNC00LjMgNzAuNyAxMi4zIDE2LjQgMTguNSA0OC4xIDE3LjQgNjMuNyAwIDE0LjMtMTYuNiA0MS43LTMxIDcwLjMtMTIuMyAzNCAyMi4zIDIzLjMgNjEuOSAxNC4yIDc0LjN6Il19LFN3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb29nbGUtcGF5IixpY29uOls2NDAsNTEyLFtdLCJlMDc5IiwiTTEwNS43IDIxNWwwIDQxLjIgNTcuMSAwYy0xLjIgNi42LTMuNiAxMi45LTcuMiAxOC41cy04LjQgMTAuNC0xMy45IDE0LjFjLTkuNSA2LjYtMjEuNyAxMC4zLTM2IDEwLjMtMjcuNiAwLTUwLjktMTguOS01OS4zLTQ0LjItNC40LTEzLjMtNC40LTI3LjcgMC00MSA4LjQtMjUuNSAzMS43LTQ0LjQgNTkuMy00NC40IDcuNS0uMSAxNC45IDEuMiAyMS45IDRzMTMuMyA2LjkgMTguNiAxMi4xTDE3Ni41IDE1NWMtMTkuMS0xOC4xLTQ0LjQtMjguMS03MC43LTI3LjgtMTkuNyAuMS0zOC45IDUuNy01NS42IDE2LjFzLTMwLjEgMjUuMy0zOC44IDQzQzMuOSAyMDEuMiAwIDIxNy43IDAgMjM0LjRzMy45IDMzLjIgMTEuMyA0OC4xbDAgLjJjOC43IDE3LjcgMjIuMSAzMi41IDM4LjggNDNzMzUuOSAxNiA1NS42IDE2YzI4LjUgMCA1Mi41LTkuNSA3MC0yNS45IDIwLTE4LjYgMzEuNC00Ni4yIDMxLjQtNzguOSAwLTcuMy0uNi0xNC42LTEuOC0yMS44bC05OS43IDB6bTM4OS40LTRjLTEwLjEtOS40LTIzLjktMTQuMS00MS40LTE0LjEtMjIuNSAwLTM5LjMgOC4zLTUwLjUgMjQuOUw0MjQuMSAyMzVjNy42LTExLjMgMTguMS0xNyAzMS4zLTE3IDguNCAwIDE2LjUgMy4yIDIyLjcgOC44IDMgMi42IDUuNSA1LjkgNy4xIDkuNnMyLjUgNy42IDIuNSAxMS43bDAgNS41Yy05LjEtNS4xLTIwLjYtNy44LTM0LjYtNy44LTE2LjQgMC0yOS42IDMuOS0zOS41IDExLjhzLTE0LjggMTguMy0xNC44IDMxLjZjLS4yIDUuOSAxIDExLjggMy40IDE3LjJzNiAxMC4yIDEwLjUgMTQuMWM5LjIgOC4zIDIxIDEyLjUgMzQuOCAxMi41IDE2LjMgMCAyOS4yLTcuMyAzOS0yMS45bDEgMCAwIDE3LjcgMjIuNiAwIDAtNzguN2MuMS0xNi42LTQuOS0yOS43LTE1LTM5em0tMTkuMiA4OS4zYy0zLjUgMy41LTcuNiA2LjMtMTIuMiA4LjJzLTkuNSAyLjktMTQuNCAyLjljLTYuNyAuMS0xMy4xLTIuMS0xOC4zLTYuMi0yLjQtMS44LTQuNC00LjItNS43LTYuOXMtMi01LjctMi04LjdjMC03IDMuMi0xMi44IDkuNS0xNy40czE0LjUtNyAyNC4xLTdjMTMuMi0uMiAyMy41IDIuOCAzMC44IDguOCAwIDEwLjEtNCAxOC45LTExLjcgMjYuNHptLTkzLjctMTQyYy01LjMtNS4zLTExLjYtOS41LTE4LjYtMTIuM3MtMTQuNC00LjItMjEuOS00bC02Mi43IDAgMCAxODYuNyAyMy42IDAgMC03NS42IDM5IDBjMTYgMCAyOS41LTUuNCA0MC41LTE1LjkgLjktLjkgMS44LTEuOCAyLjYtMi43IDkuNi0xMC41IDE0LjgtMjQuNCAxNC4zLTM4LjZzLTYuNi0yNy43LTE2LjktMzcuNmwwIDB6bS0xNi42IDYyLjJjLTMgMy4yLTYuNiA1LjctMTAuNiA3LjRzLTguNCAyLjUtMTIuNyAyLjNsLTM5LjYgMCAwLTY1LjIgMzkuNiAwYzguNSAwIDE2LjYgMy4zIDIyLjYgOS4yIDYuMSA2LjEgOS42IDE0LjMgOS44IDIzcy0zLjEgMTctOSAyMy4zbDAgMHpNNjE0LjMgMjAxbC0zNi41IDkxLjctLjUgMC0zNy40LTkxLjctMjUuNyAwIDUxLjggMTE5LjYtMjkuNCA2NC4zIDI0LjMgMCA3OS0xODMuOS0yNS43IDB6Il19LHp3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhcHBsZSIsaWNvbjpbMzg0LDUxMixbXSwiZjE3OSIsIk0zMTkuMSAyNjguN2MtLjItMzYuNyAxNi40LTY0LjQgNTAtODQuOC0xOC44LTI2LjktNDcuMi00MS43LTg0LjctNDQuNi0zNS41LTIuOC03NC4zIDIwLjctODguNSAyMC43LTE1IDAtNDkuNC0xOS43LTc2LjQtMTkuNy01NS44IC45LTExNS4xIDQ0LjUtMTE1LjEgMTMzLjIgMCAyNi4yIDQuOCA1My4zIDE0LjQgODEuMiAxMi44IDM2LjcgNTkgMTI2LjcgMTA3LjIgMTI1LjIgMjUuMi0uNiA0My0xNy45IDc1LjgtMTcuOSAzMS44IDAgNDguMyAxNy45IDc2LjQgMTcuOSA0OC42LS43IDkwLjQtODIuNSAxMDIuNi0xMTkuMy02NS4yLTMwLjctNjEuNy05MC02MS43LTkxLjl6TTI2Mi41IDEwNC41YzI3LjMtMzIuNCAyNC44LTYxLjkgMjQtNzIuNS0yNC4xIDEuNC01MiAxNi40LTY3LjkgMzQuOS0xNy41IDE5LjgtMjcuOCA0NC4zLTI1LjYgNzEuOSAyNi4xIDIgNDkuOS0xMS40IDY5LjUtMzQuM3oiXX0sQ3d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InR1bWJsciIsaWNvbjpbMzIwLDUxMixbXSwiZjE3MyIsIk0zMDkuOSA0ODAuM2MtMTMuNiAxNC41LTUwIDMxLjctOTcuNCAzMS43LTEyMC44IDAtMTQ3LTg4LjgtMTQ3LTE0MC42bDAtMTQ0LTQ3LjUgMGMtNS41IDAtMTAtNC41LTEwLTEwbDAtNjhjMC03LjIgNC41LTEzLjYgMTEuMy0xNiA2Mi0yMS44IDgxLjUtNzYgODQuMy0xMTcuMSAuOC0xMSA2LjUtMTYuMyAxNi4xLTE2LjNsNzAuOSAwYzUuNSAwIDEwIDQuNSAxMCAxMGwwIDExNS4yIDgzIDBjNS41IDAgMTAgNC40IDEwIDkuOWwwIDgxLjdjMCA1LjUtNC41IDEwLTEwIDEwbC04My40IDAgMCAxMzMuMmMwIDM0LjIgMjMuNyA1My42IDY4IDM1LjggNC44LTEuOSA5LTMuMiAxMi43LTIuMiAzLjUgLjkgNS44IDMuNCA3LjQgNy45bDIyIDY0LjNjMS44IDUgMy4zIDEwLjYtLjQgMTQuNXoiXX0sX3d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBob2VuaXgtc3F1YWRyb24iLGljb246WzUxMiw1MTIsW10sImY1MTEiLCJNOTYgNjMuNGM0Ni41LTM2LjEgMTA1LjYtNTYuMSAxNjQuNS01NC42IDI5LjYtLjQgNTkuMSA1LjQgODYuOSAxNS4zLTI0LjEtNC42LTQ5LTYuMy03My40LTIuNS00Mi45IDUuMy04MyAyNy4yLTExMS44IDU5LjIgNS43LTEgMTAuOC0zLjcgMTYtNS45IDE4LjEtNy45IDM3LjUtMTMuMyA1Ny4yLTE0LjggMTkuNy0yLjEgMzkuNi0uNCA1OS4zIDEuOS0xNC40IDIuOC0yOS4xIDQuNi00MyA5LjYtMzQuNCAxMS4xLTY1LjMgMzMuMi04Ni4zIDYyLjYtMTMuOCAxOS43LTIzLjYgNDIuOS0yNC43IDY3LjEtLjQgMTYuNSA1LjIgMzQuOCAxOS44IDQ0IDExLjIgNi44IDI0LjYgOS4yIDM3LjUgNi43IDE1LjQtMi41IDMwLjEtOC42IDQzLjYtMTYuMyAxMS41LTYuOCAyMi43LTE0LjYgMzItMjQuMyAzLjgtMy4yIDIuNS04LjQgMi42LTEyLjgtMi4xLS4zLTQuNC0xLjEtNi4zIC4zLTExLjQgNi4zLTIzLjQgMTEuNC0zNS44IDE1LjQtMjAgNi4yLTQyLjIgOC41LTYyLjEgLjggMTIuOCAxLjcgMjYuMSAuMyAzNy43LTUuNCAyMC4yLTkuNyAzNi44LTI1LjIgNTQuNC0zOC44IDI3LjctMjEuMyA1Ny41LTM5LjkgODguOS01NS4zIDI1LjctMTIgNTIuOS0yMi44IDgxLjYtMjQuMS0xNS42IDEzLjctMzIuMSAyNi41LTQ2LjggNDEuNC0xNC41IDE0LTI3LjUgMjkuNS00MC4xIDQ1LjItMy41IDQuNi05IDYuOS0xMy42IDEwLjItMjIuNCAxNS00MC4zIDM1LjgtNTEuOSA2MC4xLTkuMyAxOS43LTE0LjUgNDEuOS0xMS44IDYzLjYgMS45IDEzLjcgOC43IDI3LjYgMjAuOSAzNC45IDEyLjkgOCAyOSA4LjEgNDMuNSA1LjEgMzIuOC03LjQgNjEuNC0yOC45IDgxLTU1LjggMjAuNC0yNy41IDMwLjUtNjIuMiAyOS4yLTk2LjMtLjUtNy41LTEuNi0xNS0xLjctMjIuNSA4IDE5LjUgMTQuOCAzOS43IDE2LjYgNjAuOCAyIDE0LjMgLjcgMjguOC0xLjYgNDIuOS0xLjkgMTEtNS43IDIxLjUtNy44IDMyLjQgMjAuNC0yMi45IDM0LTUwLjkgMzkuMy04MS4xIDUuNi0zNS41IC43LTcxLjktMTQuMi0xMDQuNiAyMC44IDMyIDMyLjMgNjkuNiAzNS43IDEwNy41IC41IDEyLjcgLjUgMjUuNSAwIDM4LjItMi44IDM0LjMtMTIuOSA2Ny42LTI5LjYgOTcuOC0yNi4xIDQ3LjMtNjggODUuNi0xMTcuMiAxMDgtNzguMyAzNi4yLTE3NC43IDMxLjMtMjQ4LTE0LjctMzktMjMuOC03MC42LTU4LTkxLjQtOTguNy0xNC43LTI4LjktMjMuMy02MC41LTI1LjQtOTIuOWwwLTMxLjNDMy45IDE3MiA0MC45IDEwNS44IDk2IDYzLjR6bTIyMiA4MC4zYzUuNS0uOSAxMC44LTIuNCAxNi00LjUgNS0xLjggOS4yLTUuOSAxMC4zLTExLjItOSA1LTE4IDkuOS0yNi4zIDE1Ljd6Il19LFR3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjZW50ZXJjb2RlIixpY29uOls1MTIsNTEyLFtdLCJmMzgwIiwiTTIwMS44IDI1NC44YTY0LjEgNjQuMSAwIDEgMSAxMjcuNCAxMy44IDY0LjEgNjQuMSAwIDEgMSAtMTI3LjQtMTMuOHptNDEuNiAyNDguOUM5Ni43IDQ5Ni04LjIgMzY1LjUgMTAuMSAyMjQuMyAyMS4zIDEzNy43IDc1LjkgNjcuNCAxNDkuMiAzMi4zIDMxMC4yLTQ0LjggNDk4LjkgNjkuNyA1MDMuOSAyNDguOSA1MDggMzk1LjkgMzg1LjUgNTExLjEgMjQzLjQgNTAzLjd6bTE3OS45LTE4MGMyNy45LTExOC0xNjAuNS0yMDUuOS0yMzcuMi0yMzQuMi01Ny41IDU2LjMtNjkuMSAxODguNi0zMy44IDM0NC40IDY4LjggMTUuOCAxNjkuMS0yNi40IDI3MS0xMTAuMnoiXX0sTHd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRlYmlhbiIsaWNvbjpbNDQ4LDUxMixbXSwiZTYwYiIsIk0zODAuNCAyNDUuNmMzLTcuNiA1LjUtMTQgNS4yLTI0LjRsLTQuMyA5YzQuNC0xMy4yIDQtMjcuMSAzLjYtNDAuNC0uMi02LS4zLTExLjggMC0xNy40bC0xLjgtLjVjLTEuNS00NS4yLTQwLjYtOTMuMS03NS4zLTEwOS40LTMwLTEzLjgtNzYuMS0xNi4yLTk3LjMtNS44IDEuMy0xLjEgNC4yLTIgNi44LTIuN2wuMy0uMWMzLjMtMSA2LTEuNyA0LTIuOS0xOS4yIDEuOS0yNC45IDUuNS0zMS4xIDkuNGwtLjEgMGMtNC42IDIuOS05LjUgNi0yMC4zIDguNy0zLjUgMy40IDEuNyAyIDUuOCAuOXM3LjItMS45LS4xIDIuNGMtMy41IDEtNi42IDEuMy05LjYgMS42bC0uMSAwYy04LjMgLjgtMTUuOCAxLjYtMzAuNyAxNyAuOCAxLjMgMy40LS4yIDUuMy0xLjNsLjEtLjFjMi4zLTEuNCAzLjQtMi0xLjcgNC40LTE5LjEtMi40LTYwLjMgNDMuNy02OS4xIDU5bDQuNiAuOGMtMy4yIDgtNi44IDE0LjgtMTAgMjAuOC00LjMgOC4xLTcuOSAxNC45LTguNyAyMS4zLS4zIDUuMS0xIDExLTEuNyAxNy4zLS4xIDEtLjIgMi0uMyAzbC0uMSAuNmMtMyAyNy4zLTYuNyA2MC44IDMuOSA3M2wtMS4zIDEzYy42IDEuMiAxLjEgMi4zIDEuNiAzLjUgLjIgLjQgLjQgLjggLjUgMS4xIDEgMi4xIDIgNC4yIDMuMyA2LjJsLTMgLjJjNyAyMi4xIDEwLjggMjIuNSAxNS4xIDIyLjkgNC40IC40IDkuMyAuOSAxOC43IDI0LjItMi43LS45LTUuNS0xLjktOS40LTcuMi0uNSA0LjEgNS44IDE2LjMgMTMuMSAyNS44bC0zLjEgMy42YzIuMSAzLjcgNC44IDYuMiA3LjYgOC44IDEgLjkgMi4xIDEuOSAzLjEgMi45LTExLjktNi41IDMuMiAxMy43IDExLjkgMjUuMiAuOCAxLjEgMS41IDIgMi4yIDIuOSAxLjQgMS45IDIuNSAzLjQgMi45IDQuMWwyLjQtNC4yYy0uMyA2LjEgNC4zIDEzLjkgMTMuMSAyNC43bDcuMy0uM2MzIDYgMTQgMTYuNyAyMC43IDE3LjJsLTQuNCA1LjhjOC4xIDIuNiAxMC4zIDQuMyAxMi43IDYuMiAyLjYgMi4xIDUuNCA0LjMgMTYuMSA4LjFsLTQuMi03LjRjMy41IDMgNi4yIDUuOSA4LjggOC43bC4xIC4xYzUuMiA1LjYgOS45IDEwLjYgMTkuNyAxNS4zIDEwLjcgMy43IDE2LjYgNC43IDIyLjcgNS44IC4zIDAgLjYgLjEgLjkgLjEgNS40IC44IDExLjIgMS44IDIwLjggNC41LTEuMS0uMS0yLjItLjEtMy4zLS4xLTIuMy0uMS00LjctLjEtNy0uMS0xNC40LS4yLTI5LjItLjQtNDIuNy01LjItOTYuNi0yNS43LTE4NC45LTEzOS0xNzguNC0yNTUuNi0uNi05LjktLjMtMjAuOSAwLTMwLjcgLjQtMTMuNSAuNy0yNC44LTEuNi0yOC4zbDEtMy4xYzUuMy0xNy40IDExLjctMzguMiAyMy44LTYyLjhsLS4xLS4yIDAtLjFjLjQgLjQgMy40IDMuNCA4LjgtNS44IC44LTEuOCAxLjYtMy43IDIuNC01LjYgLjUtMS4xIC45LTIuMiAxLjQtMy4yIDIuNS02LjEgNS4xLTEyLjMgOC40LTE3LjlsMi42LS42YzEuNy0xMC4xIDE3LTIzLjggMjkuOC0zNS4ybDEuMS0xYzUuNy01LjEgMTAuNy05LjcgMTMuNi0xMy4xbC43IDQuNGMxNy0xNS45IDQ0LjYtMjcuNSA2NS42LTM2LjRsLjUtLjJjNC44LTIgOS4zLTMuOSAxMy4zLTUuNy0zLjQgMy44IDIuMiAyLjcgMTAgMSA0LjgtMSAxMC40LTIuMSAxNS4zLTIuNGwtMy45IDIuMWMtMi43IDEuNC01LjQgMi44LTggNC42IDguMS0yIDExLjctMS40IDE1LjctLjhsLjMgMGMzLjUgLjYgNy4zIDEuMiAxNC42IC4yLTUuNiAuOC0xMi4zIDMtMTEuMiAzLjggNy45IC45IDEyLjgtLjEgMTcuMi0xbC4yIDBjNS41LTEuMSAxMC4zLTIgMTkuMyAuOWwtMS00LjhjNy4zIDIuNiAxMi43IDQuMyAxNy41IDUuOGwuNSAuMWMxMCAzIDE3LjYgNS4zIDM0LjIgMTQuMSAzLjIgLjIgNS4zLS41IDcuNC0xLjJsLjEgMGMzLjYtMS4xIDctMi4xIDE1LjIgMS4yIC4zIC41IC41IDEgLjcgMS40IC4xIC4yIC4yIC41IC4zIC43bDAgLjFjMSAyLjYgMS44IDQuNiAxNC42IDEyLjEgMS43LS43LTIuNy00LjctNi40LTguMmwtLjEtLjFjLS4yLS4xLS4zLS4zLS41LS40IDMyLjIgMTcuMyA2Ny4zIDU0LjEgNzggOTMuNS02LTExLjEtNS4yLTUuNS00LjMgLjUgLjYgNCAxLjIgOC4xLS4yIDcuNSA0LjUgMTIuMSA4LjEgMjQuNSAxMC40IDM3LjRsLS44LTIuOS0uMS0uM2MtMy4zLTExLjktOS42LTM0LjMtMTkuOS00OS4zLS40IDQuMy0yLjggMy45LTUuMiAzLjVsLS4xIDBjLTMuMy0uNi02LjItMS4xLTEuOSAxMi42IDIuNiAzLjggMy4xIDIuNCAzLjUgMS4xIC41LTEuNSAuOS0yLjcgNC43IDUuMiAuMSA0LjEgMSA4LjIgMi4xIDEyLjdsLjEgLjZjLjEgLjMgLjEgLjUgLjIgLjhsLjEgLjZjLjYgMi42IDEuMyA1LjQgMS44IDguNC0xLjEtLjItMi4zLTIuMi0zLjQtNC4yLTEuNC0yLjQtMi44LTQuNy0zLjctMy4yIDIuNCAxMS41IDYuNSAxNy40IDggMTguMy0uMyAuNi0uNiAuNy0xLjEgLjctLjggMC0xLjggLjEtMS45IDUuMyAuNyAxMy43IDMuMyAxMi41IDUuMyAxMS42IC42LS4zIDEuMi0uNiAxLjctLjQtLjYgMi41LTEuNiA1LjEtMi43IDcuOS0yLjggNy4xLTYgMTUuNC0zLjQgMjYuMS0uOC0zLTItNi0zLjEtOC45bC0uMS0uNGMtLjItLjUtLjQtMS0uNi0xLjUtLjMtLjgtLjYtMS42LS45LTIuMy0uNiA0LjQtLjMgNy43LS4xIDEwLjZsMCAuN2MuNCA1LjMgLjcgMTAtMyAxOS45IDQuMy0xNC4yIDMuOC0yNi45LS4yLTIwLjggMSAxMC45LTMuNyAyMC40LTggMjguOWwtLjEgLjJjLTMuNiA3LjEtNi44IDEzLjUtNS45IDE5LjNsLTUuMi03LjFjLTcuNSAxMC45LTcgMTMuMy02LjUgMTUuNWwwIC4xYy41IDEuOSAxIDMuOC0zLjQgMTAuOCAxLjctMi45IDEuMy0zLjYgMS00LjItLjQtLjgtLjctMS41IDEuNy01LjEtMS42IC4xLTUuNSAzLjktMTAuMSA4LjUtMy45IDMuOS04LjUgOC40LTEyLjggMTEuOC0zNy41IDMwLjEtODIuMyAzNC0xMjUuNiAxNy44IC4yLTEtLjItMi4xLTMuMS00LjEtMzYuOC0yOC4yLTU4LjUtNTIuMS01MC45LTEwNy41IDIuMS0xLjYgMy42LTUuOCA1LjMtMTAuOGwuMi0uNCAuMS0uMyAwLS4xYzIuOS04LjQgNi41LTE4LjggMTQuMy0yMy44IDcuOC0xNy4zIDMxLjMtMzMuMyA1Ni40LTMzLjcgMjUuNi0xLjQgNDcuMiAxMy43IDU4LjEgMjcuOS0xOS44LTE4LjQtNTIuMS0yNC03OS43LTEwLjQtMjguMiAxMi43LTQ1IDQzLjgtNDIuNSA3NC43IC4zLS40IC42LS42IC45LS44bC4yLS4yYy42LS41IDEuMS0uOSAxLjQtMy4zLS45IDYwLjIgNjQuOCAxMDQuMyAxMTIuMSA4MmwuNiAxLjNjMTIuNy0zLjUgMTUuOS02LjUgMjAuMy0xMC43bC4xLS4xYzIuMi0yLjEgNC43LTQuNSA4LjktNy4zLS4zIC43LTEuMyAxLjctMi40IDIuNy0yLjIgMi4xLTQuNiA0LjUtMS42IDQuNiA1LTEuMyAxOC41LTEzLjQgMjguNS0yMi4zIC42LS41IDEuMi0xIDEuNy0xLjUgMS41LTEuMyAyLjgtMi41IDQtMy42bC4zLS4zYzEuOS00LjIgMS42LTUuNiAxLjMtN2wwLS4xYy0uNC0xLjYtLjgtMy4zIDIuNC05LjZsNy4zLTMuN2MuOC0yLjEgMS41LTQuMSAyLjItNiAuMi0uNiAuNS0xLjIgLjctMS44bC0uNC0uMi0uMS0uMXpNMjQ4IDMzNC4xYy02LTMtMTMuNy04LjktMTQuOC0xMS40bC0uNCAuM2MtLjMgLjYtLjUgMS4zLS4yIDIuMi0xMi4yLTUuNy0yMy40LTE0LjMtMzIuNi0yNC45IDQuOSA3LjEgMTAuMSAxNC4xIDE3IDE5LjUtNi45LTIuMy0xNS4xLTExLjgtMjEuNi0xOS4zbC0uMS0uMWMtNC4zLTUtNy45LTkuMS05LjctOS41IDE5LjggMzUuNSA4MC41IDYyLjMgMTEyLjMgNDktMTQuNyAuNS0zMy40IC4zLTQ5LjktNS44em03OS4zLTExOS43bC0uMS0uMmMtLjUtMS41LTEuMS0zLjEtMS43LTMuNCAxLjQtNS44IDUuNC0xMC43IDQuNCA0LjYtMSAzLjgtMS44IDEuNS0yLjYtMXptLTQuMiAyMi4yYy0xLjMgNy45LTUgMTUuNS0xMC4xIDIyLjUgLjItMi0xLjItMi40LTIuNi0yLjgtMi45LS44LTUuOS0xLjYgNS42LTE2LjEtLjUgMS45LTIuMSA0LjYtMy43IDcuM2wtLjMgLjRjLTMuNiA1LjktNi43IDExIDQgNC4zbDEtMS44YzIuNi00LjUgNS04LjggNi0xMy44bC4xIDB6bS01NS42IDMzLjljNy4xIC42IDE0LjEgLjYgMjEtMS4xLTIuNSAyLjQtNS4yIDQuOC04LjMgNy4yLTExLjEtMS43LTIxLjItNi0xMi43LTYuMXptLTkyLjYgMTEuNmMzLjYgNy4xIDYuNCAxMS41IDkgMTUuN2wuMSAuMmMyLjMgMy43IDQuNCA3LjEgNi44IDExLjctNS4xLTQuMi04LjctOS41LTEyLjUtMTVsLS4zLS41Yy0xLjQtMi4xLTIuOC00LjItNC40LTYuMmwxLjItNS45IC4xIDB6bTcuNS05LjZjMS42IDMuMyAzLjIgNi40IDUuNyA5LjFsMi42IDcuNy0xLjMtMi4xYy0zLjItNS4zLTYuMy0xMC42LTgtMTYuN2wxIDJ6bTIzOC45LTQxLjZjLTIuMyAxNy40LTcuNyAzNC42LTE2IDUwLjMgNy42LTE0LjkgMTIuNS0zMC45IDE0LjgtNDcuMmwxLjItMy4xek0zNS44IDExMC42Yy40IC44IDEuNCAuNSAyLjMgLjMgMS45LS41IDMuNi0uOS0uMSA3LjYtLjUgLjMtMSAuNy0xLjUgMS0xLjQgLjktMi44IDEuOS0zLjkgMyAxLjktMy44IDMuNS03LjQgMy4yLTExLjl6TTI1LjUgMTUyLjNjLS43IDMuNy0xLjUgNy45LTMuNCAxMy45IC4yLTEuOSAwLTMuNS0uMi00LjlsMC0uMWMtLjQtMy40LS43LTYuMyA0LjMtMTIuOC0uMyAxLjItLjUgMi41LS43IDMuOGwwIC4xeiJdfSwkd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWFzdG9kb24iLGljb246WzQ0OCw1MTIsW10sImY0ZjYiLCJNNDMzIDE3OS4xYzAtOTcuMi02My43LTEyNS43LTYzLjctMTI1LjctNjIuNS0yOC43LTIyOC42LTI4LjQtMjkwLjUgMCAwIDAtNjMuNyAyOC41LTYzLjcgMTI1LjcgMCAxMTUuNy02LjYgMjU5LjQgMTA1LjYgMjg5LjEgNDAuNSAxMC43IDc1LjMgMTMgMTAzLjMgMTEuNCA1MC44LTIuOCA3OS4zLTE4LjEgNzkuMy0xOC4xbC0xLjctMzYuOXMtMzYuMyAxMS40LTc3LjEgMTAuMWMtNDAuNC0xLjQtODMtNC40LTg5LjYtNTQtLjYtNC42LS45LTkuMy0uOS0xMy45IDg1LjYgMjAuOSAxNTguNyA5LjEgMTc4LjcgNi43IDU2LjEtNi43IDEwNS00MS4zIDExMS4yLTcyLjkgOS44LTQ5LjggOS0xMjEuNSA5LTEyMS41ek0zNTcuOSAzMDQuM2wtNDYuNiAwIDAtMTE0LjJjMC00OS43LTY0LTUxLjYtNjQgNi45bDAgNjIuNS00Ni4zIDAgMC02Mi41YzAtNTguNS02NC01Ni42LTY0LTYuOWwwIDExNC4yLTQ2LjcgMGMwLTEyMi4xLTUuMi0xNDcuOSAxOC40LTE3NSAyNS45LTI4LjkgNzkuOC0zMC44IDEwMy44IDYuMWwxMS42IDE5LjUgMTEuNi0xOS41YzI0LjEtMzcuMSA3OC4xLTM0LjggMTAzLjgtNi4xIDIzLjcgMjcuMyAxOC40IDUzIDE4LjQgMTc1bDAgMHoiXX0sRHd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNrZXRjaCIsaWNvbjpbNTEyLDUxMixbXSwiZjdjNiIsIk0yNy44IDE2Mi4ybC0xOC41IDI0LjkgOTAuNSAwIDYuOS0xMzAuNy03OC45IDEwNS44ek0zOTYuNiA0NS43TDI2OCAzMiA0MDMuNyAxNzkuMiAzOTYuNiA0NS43ek0xMTIuNSAyMTguM2wtMTEuMi0yMi05MS4xIDAgMjI0LjkgMjYxLjctMTIyLjYtMjM5Ljd6bTItMzEuMmwyODQgMEMzNDAuNiAxMjQuMyAyOTMuMyA3Mi45IDI1Ni42IDMzTDExNC41IDE4Ny4xem0yOTcuMyA5LjFsLTEzMy45IDI2MS44IDIyNC44LTI2MS43LTkwLjkgMCAwLS4xek00MTUuNyA2OWwtOS40LTEyLjYgLjkgMTcuMyA2LjEgMTEzLjQgOTAuMyAwLTg3LjktMTE4LjF6TTExMy44IDkzLjVMMTA5LjIgMTc5LjEgMjQ1IDMyIDExNi40IDQ1LjcgMTEzLjggOTMuNXpNNDAxLjUgMTk2LjJsLTI5MCAwYzE4LjIgMzUuNiA2Ni42IDEzMC4yIDE0NS4xIDI4My44TDQwMS41IDE5Ni4yeiJdfSxBd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2ViLWF3ZXNvbWUiLGljb246WzY0MCw1MTIsW10sImU2ODIiLCJNMzcyLjIgNTJjMCAyMC45LTEyLjQgMzktMzAuMiA0Ny4yTDQ0OCAxOTIgNTUyLjQgMTcxLjFjLTUuMy03LjctOC40LTE3LjEtOC40LTI3LjEgMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGMwIDI2LTIwLjYgNDcuMS00Ni40IDQ4TDQ4MSA0NDIuM2MtMTAuMyAyMy0zMy4yIDM3LjctNTguNCAzNy43bC0yMDUuMiAwYy0yNS4yIDAtNDgtMTQuOC01OC40LTM3LjdMNDYuNCAxOTJDMjAuNiAxOTEuMSAwIDE3MCAwIDE0NCAwIDExNy41IDIxLjUgOTYgNDggOTZzNDggMjEuNSA0OCA0OGMwIDEwLjEtMy4xIDE5LjQtOC40IDI3LjFMMTkyIDE5MiAyOTguMSA5OS4xYy0xNy43LTguMy0zMC0yNi4zLTMwLTQ3LjEgMC0yOC43IDIzLjMtNTIgNTItNTJzNTIgMjMuMyA1MiA1MmwuMSAweiJdfSxFd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2FzcyIsaWNvbjpbNjQwLDUxMixbXSwiZjQxZSIsIk0zMDEuOCAzNzguOWwwIDB6bTI0OS4xLTg3Yy0yMC4xIDAtNDAgNC42LTU4IDEzLjUtNS45LTExLjktMTItMjIuMy0xMy0zMC4xLTEuMi05LjEtMi41LTE0LjUtMS4xLTI1LjNzNy43LTI2LjEgNy42LTI3LjItMS40LTYuNi0xNC4zLTYuNy0yNCAyLjUtMjUuMyA1LjljLTIuMyA2LjItNC4xIDEyLjYtNS4zIDE5LjEtMi4zIDExLjctMjUuOCA1My41LTM5LjEgNzUuMy00LjQtOC41LTguMS0xNi04LjktMjItMS4yLTkuMS0yLjUtMTQuNS0xLjEtMjUuM3M3LjctMjYuMSA3LjYtMjcuMi0xLjQtNi42LTE0LjMtNi43LTI0IDIuNS0yNS4zIDUuOS0yLjcgMTEuNC01LjMgMTkuMS0zMy45IDc3LjMtNDIuMSA5NS40Yy00LjIgOS4yLTcuOCAxNi42LTEwLjQgMjEuNi0uNCAuOC0uNyAxLjMtLjkgMS43IC4zLS41IC41LTEgLjUtLjgtMi4yIDQuMy0zLjUgNi43LTMuNSA2LjdsMCAuMWMtMS43IDMuMi0zLjYgNi4xLTQuNSA2LjEtLjYgMC0xLjktOC40IC4zLTE5LjkgNC43LTI0LjIgMTUuOC02MS44IDE1LjctNjMuMS0uMS0uNyAyLjEtNy4yLTcuMy0xMC43LTkuMS0zLjMtMTIuNCAyLjItMTMuMiAyLjJzLTEuNCAyLTEuNCAyIDEwLjEtNDIuNC0xOS40LTQyLjRjLTE4LjQgMC00NCAyMC4yLTU2LjYgMzguNS03LjkgNC4zLTI1IDEzLjYtNDMgMjMuNS02LjkgMy44LTE0IDcuNy0yMC43IDExLjQtLjUtLjUtLjktMS0xLjQtMS41LTM1LjgtMzguMi0xMDEuOS02NS4yLTk5LjEtMTE2LjUgMS0xOC43IDcuNS02Ny44IDEyNy4xLTEyNy40IDk4LTQ4LjggMTc2LjMtMzUuNCAxODkuOC01LjYgMTkuNCA0Mi41LTQxLjkgMTIxLjYtMTQzLjcgMTMzLTM4LjggNC4zLTU5LjItMTAuNy02NC4zLTE2LjMtNS4zLTUuOS02LjEtNi4yLTguMS01LjEtMy4zIDEuOC0xLjIgNyAwIDEwLjEgMyA3LjkgMTUuNSAyMS45IDM2LjggMjguOSAxOC43IDYuMSA2NC4yIDkuNSAxMTkuMi0xMS44IDYxLjgtMjMuOCAxMDkuOS05MC4xIDk1LjgtMTQ1LjYtMTQuNC01Ni40LTEwNy45LTc0LjktMTk2LjMtNDMuNS01Mi43IDE4LjctMTA5LjcgNDguMS0xNTAuNyA4Ni40LTQ4LjcgNDUuNi01Ni41IDg1LjMtNTMuMyAxMDEuOSAxMS40IDU4LjkgOTIuNiA5Ny4zIDEyNS4xIDEyNS43LTEuNiAuOS0zLjEgMS43LTQuNSAyLjUtMTYuMyA4LjEtNzguMiA0MC41LTkzLjcgNzQuNy0xNy41IDM4LjggMi45IDY2LjYgMTYuMyA3MC40IDQxLjggMTEuNiA4NC42LTkuMyAxMDcuNi00My42czIwLjItNzkuMSA5LjYtOTkuNWMtLjEtLjMtLjMtLjUtLjQtLjggNC4yLTIuNSA4LjUtNSAxMi44LTcuNSA4LjMtNC45IDE2LjQtOS40IDIzLjUtMTMuMy00IDEwLjgtNi45IDIzLjgtOC40IDQyLjYtMS44IDIyIDcuMyA1MC41IDE5LjEgNjEuNyA1LjIgNC45IDExLjUgNSAxNS40IDUgMTMuOCAwIDIwLTExLjQgMjYuOS0yNSA4LjUtMTYuNiAxNi0zNS45IDE2LTM1LjlzLTkuNCA1Mi4yIDE2LjMgNTIuMmM5LjQgMCAxOC44LTEyLjEgMjMtMTguM2wwIC4xcy4yLS40IC43LTEuMmMxLTEuNSAxLjUtMi40IDEuNS0yLjRsMC0uM2MzLjgtNi41IDEyLjEtMjEuNCAyNC42LTQ2IDE2LjItMzEuOCAzMS43LTcxLjUgMzEuNy03MS41IDEuNSA4LjcgMy42IDE3LjMgNi4yIDI1LjggMi44IDkuNSA4LjcgMTkuOSAxMy40IDMwLTMuOCA1LjItNi4xIDguMi02LjEgOC4yIDAgLjEgMCAuMSAuMSAuMi0zIDQtNi40IDguMy05LjkgMTIuNS0xMi44IDE1LjItMjggMzIuNi0zMCAzNy42LTIuNCA1LjktMS44IDEwLjMgMi44IDEzLjcgMy40IDIuNiA5LjQgMyAxNS43IDIuNSAxMS41LS44IDE5LjYtMy42IDIzLjUtNS40IDcuMi0yLjYgMTQtNi4xIDIwLjItMTAuNiAxMi41LTkuMiAyMC4xLTIyLjQgMTkuNC0zOS44LS40LTkuNi0zLjUtMTkuMi03LjMtMjguMiAxLjEtMS42IDIuMy0zLjMgMy40LTUgMTkuOC0yOC45IDM1LjEtNjAuNiAzNS4xLTYwLjYgMS41IDguNyAzLjYgMTcuMyA2LjIgMjUuOCAyLjQgOC4xIDcuMSAxNyAxMS40IDI1LjctMTguNiAxNS4xLTMwLjEgMzIuNi0zNC4xIDQ0LjEtNy40IDIxLjMtMS42IDMwLjkgOS4zIDMzLjEgNC45IDEgMTEuOS0xLjMgMTcuMS0zLjUgNy43LTIuNiAxNS02LjMgMjEuNi0xMS4xIDEyLjUtOS4yIDI0LjYtMjIuMSAyMy44LTM5LjYtLjMtNy45LTIuNS0xNS44LTUuNC0yMy40IDE1LjctNi42IDM2LjEtMTAuMiA2Mi4xLTcuMiA1NS43IDYuNSA2Ni42IDQxLjMgNjQuNSA1NS44cy0xMy44IDIyLjYtMTcuNyAyNS01LjEgMy4zLTQuOCA1LjFjLjUgMi42IDIuMyAyLjUgNS42IDEuOSA0LjYtLjggMjkuMi0xMS44IDMwLjMtMzguNyAxLjYtMzQtMzEuMS03MS40LTg5LTcxLjFsMCAwek0xMjEuOCA0MzYuNmMtMTguNCAyMC4xLTQ0LjIgMjcuNy01NS4zIDIxLjMtMTEuOS02LjktNy4yLTM2LjUgMTUuNS01Ny45IDEzLjgtMTMgMzEuNi0yNSA0My40LTMyLjQgMi43LTEuNiA2LjYtNCAxMS40LTYuOSAuOC0uNSAxLjItLjcgMS4yLS43IC45LS42IDEuOS0xLjEgMi45LTEuNyA4LjMgMzAuNCAuMyA1Ny4yLTE5LjEgNzguM2wwIDB6bTEzNC40LTkxLjRjLTYuNCAxNS43LTE5LjkgNTUuNy0yOC4xIDUzLjYtNy0xLjgtMTEuMy0zMi4zLTEuNC02Mi4zIDUtMTUuMSAxNS42LTMzLjEgMjEuOS00MC4xIDEwLjEtMTEuMyAyMS4yLTE0LjkgMjMuOC0xMC40IDMuNSA1LjktMTIuMiA0OS40LTE2LjIgNTkuMnptMTExIDUzYy0yLjcgMS40LTUuMiAyLjMtNi40IDEuNi0uOS0uNSAxLjEtMi40IDEuMS0yLjRzMTMuOS0xNC45IDE5LjQtMjEuN2MzLjItNCA2LjktOC43IDEwLjktMTMuOSAwIC41IC4xIDEgLjEgMS42LS4xIDE3LjktMTcuMyAzMC0yNS4xIDM0LjhsMCAwem04NS42LTE5LjVjLTItMS40LTEuNy02LjEgNS0yMC43IDIuNi01LjcgOC42LTE1LjMgMTktMjQuNSAxLjIgMy41IDEuOCA3LjEgMS45IDEwLjgtLjEgMjIuNS0xNi4yIDMwLjktMjUuOSAzNC40bDAgMHoiXX0sUHd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRocmVlbWEiLGljb246WzM4NCw1MTIsW10sImU4NWYiLCJNODcuNCA0NDUuMWMxOC41IDAgMzMuNSAxNSAzMy41IDMzLjRTMTA1LjkgNTEyIDg3LjQgNTEyIDU0IDQ5NyA1NCA0NzguNSA2OSA0NDUuMSA4Ny40IDQ0NS4xem0xMDkuMiAwYzE4LjUgMCAzMy41IDE1IDMzLjUgMzMuNHMtMTUgMzMuNS0zMy41IDMzLjUtMzMuNC0xNS0zMy40LTMzLjUgMTUtMzMuNCAzMy40LTMzLjR6bTEwOS4zIDBjMTguNSAwIDMzLjUgMTUgMzMuNSAzMy40cy0xNSAzMy41LTMzLjUgMzMuNS0zMy41LTE1LTMzLjUtMzMuNSAxNS0zMy40IDMzLjUtMzMuNHpNMTkyLjMgLjNjMTA5LjggMCAxOTkuMiA4OS4zIDE5OS4yIDE5OS4xUzMwMi4yIDM5OC41IDE5Mi40IDM5OC41Yy00MC41IDAtNzguMS0xMi4xLTEwOS42LTMyLjlsLTc2LjUgMjQuNSAyNC44LTc0QzcuMyAyODMuNC02LjggMjQzLTYuOCAxOTkuNC02LjggODkuNyA4Mi41IC4zIDE5Mi4zIC4zem0uMSA5My43Yy0zMS42IDAtNTcuMyAyNS44LTU3LjMgNTcuM2wwIDI2LjctMS44IDBjLTEwIDAtMTggOC0xOCAxOGwwIDcyLjNjMCAxMCA4IDE4IDE4IDE4bDExOC4xIDBjMTAgMCAxOC04IDE4LTE4bC4xIDAgMC03Mi4zYzAtMTAtOC4xLTE4LTE4LTE4bC0xLjggMCAwLTI2LjdjMC0zMS42LTI1LjgtNTcuMy01Ny4zLTU3LjN6bS0uMSAyMy41YzE4LjYgMCAzMy44IDE1LjEgMzMuOCAzMy44bDAgMjYuNy02Ny42IDAgMC0yNi43YzAtMTguNiAxNS4xLTMzLjggMzMuOC0zMy44eiJdfSxXdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXdoYXRzYXBwIixpY29uOls0NDgsNTEyLFsid2hhdHNhcHAtc3F1YXJlIl0sImY0MGMiLCJNOTIuMSAyNTQuNmMwIDI0LjkgNyA0OS4yIDIwLjIgNzAuMWwzLjEgNS0xMy4zIDQ4LjYgNDkuOS0xMy4xIDQuOCAyLjljMjAuMiAxMiA0My40IDE4LjQgNjcuMSAxOC40bC4xIDBjNzIuNiAwIDEzMy4zLTU5LjEgMTMzLjMtMTMxLjggMC0zNS4yLTE1LjItNjguMy00MC4xLTkzLjItMjUtMjUtNTgtMzguNy05My4yLTM4LjctNzIuNyAwLTEzMS44IDU5LjEtMTMxLjkgMTMxLjh6TTI3NC44IDMzMGMtMTIuNiAxLjktMjIuNCAuOS00Ny41LTkuOS0zNi44LTE1LjktNjEuOC01MS41LTY2LjktNTguNy0uNC0uNi0uNy0uOS0uOC0xLjEtMi0yLjYtMTYuMi0yMS41LTE2LjItNDEgMC0xOC40IDktMjcuOSAxMy4yLTMyLjMgLjMtLjMgLjUtLjUgLjctLjggMy42LTQgNy45LTUgMTAuNi01IDIuNiAwIDUuMyAwIDcuNiAuMWwuOCAwYzIuMyAwIDUuMiAwIDguMSA2LjggMS4yIDIuOSAzIDcuMyA0LjkgMTEuOCAzLjMgOCA2LjcgMTYuMyA3LjMgMTcuNiAxIDIgMS43IDQuMyAuMyA2LjktMy40IDYuOC02LjkgMTAuNC05LjMgMTMtMy4xIDMuMi00LjUgNC43LTIuMyA4LjYgMTUuMyAyNi4zIDMwLjYgMzUuNCA1My45IDQ3LjEgNCAyIDYuMyAxLjcgOC42LTEgMi4zLTIuNiA5LjktMTEuNiAxMi41LTE1LjUgMi42LTQgNS4zLTMuMyA4LjktMnMyMy4xIDEwLjkgMjcuMSAxMi45Yy44IC40IDEuNSAuNyAyLjEgMSAyLjggMS40IDQuNyAyLjMgNS41IDMuNiAuOSAxLjkgLjkgOS45LTIuNCAxOS4xLTMuMyA5LjMtMTkuMSAxNy43LTI2LjcgMTguOHpNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTE0OC4xIDM5My45TDY0IDQxNiA4Ni41IDMzMy44Yy0xMy45LTI0LTIxLjItNTEuMy0yMS4yLTc5LjMgLjEtODcuNCA3MS4yLTE1OC41IDE1OC42LTE1OC41IDQyLjQgMCA4Mi4yIDE2LjUgMTEyLjIgNDYuNSAyOS45IDMwIDQ3LjkgNjkuOCA0Ny45IDExMi4yIDAgODcuNC03Mi43IDE1OC41LTE2MC4xIDE1OC41LTI2LjYgMC01Mi43LTYuNy03NS44LTE5LjN6Il19LEl3dD1XdWUsTnd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNreXBlIixpY29uOls0NDgsNTEyLFtdLCJmMTdlIiwiTTQyNC43IDI5OS44YzIuOS0xNCA0LjctMjguOSA0LjctNDMuOCAwLTExMy41LTkxLjktMjA1LjMtMjA1LjMtMjA1LjMtMTQuOSAwLTI5LjcgMS43LTQzLjggNC43LTE5LTE0LjctNDIuNi0yMy40LTY4LjMtMjMuNC02MS44IDAtMTEyIDUwLjItMTEyIDExMiAwIDI1LjcgOC43IDQ5LjMgMjMuMyA2OC4yLTIuOSAxNC00LjcgMjguOS00LjcgNDMuOCAwIDExMy41IDkxLjkgMjA1LjMgMjA1LjMgMjA1LjMgMTQuOSAwIDI5LjctMS43IDQzLjgtNC43IDE5IDE0LjYgNDIuNiAyMy4zIDY4LjIgMjMuMyA2MS44IDAgMTEyLTUwLjIgMTEyLTExMiAuMS0yNS42LTguNi00OS4yLTIzLjItNjguMXpNMjMwLjEgMzkxLjNjLTY1LjYgMC0xMjAuNS0yOS4yLTEyMC41LTY1IDAtMTYgOS0zMC42IDI5LjUtMzAuNiAzMS4yIDAgMzQuMSA0NC45IDg4LjEgNDQuOSAyNS43IDAgNDIuMy0xMS40IDQyLjMtMjYuMyAwLTE4LjctMTYtMjEuNi00Mi0yOC02Mi41LTE1LjQtMTE3LjgtMjItMTE3LjgtODcuMiAwLTU5LjIgNTguNi04MS4xIDEwOS4xLTgxLjEgNTUuMSAwIDExMC44IDIxLjkgMTEwLjggNTUuNCAwIDE2LjktMTEuNCAzMS44LTMwLjMgMzEuOC0yOC4zIDAtMjkuMi0zMy41LTc1LTMzLjUtMjUuNyAwLTQyIDctNDIgMjIuNSAwIDE5LjggMjAuOCAyMS44IDY5LjEgMzMgNDEuNCA5LjMgOTAuNyAyNi44IDkwLjcgNzcuNiAwIDU5LjEtNTcuMSA4Ni41LTExMiA4Ni41eiJdfSxSd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYW5ndWxhciIsaWNvbjpbNDQ4LDUxMixbXSwiZjQyMCIsIk0xODUuNyAyNjguMWw3Ni4yIDAtMzguMS05MS42LTM4LjEgOTEuNnpNMjIzLjggMzJMMTYgMTA2LjQgNDcuOCAzODIuMSAyMjMuOCA0ODAgMzk5LjggMzgyLjEgNDMxLjYgMTA2LjQgMjIzLjggMzJ6TTM1NCAzNzMuOGwtNDguNiAwLTI2LjItNjUuNC0xMTAuNiAwLTI2LjIgNjUuNC00OC43IDAgMTMwLjEtMjkyLjMgMTMwLjIgMjkyLjN6Il19LE93dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjaXJjbGUtenVsaXAiLGljb246WzUxMiw1MTIsW10sImU4NTEiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAxIDAtNTEyIDI1NiAyNTYgMCAxIDEgMCA1MTJ6TTI0My41IDI0MGMxLjItMS45LS45LTQuMi0yLjYtMi44bC04OSA3OS41Yy05LjIgNy4yLTE1LjIgMTkuMS0xNS4yIDMyLjUgMCAyMS45IDE2IDM5LjggMzUuNyAzOS44bDE2Ny4zIDBjMTkuNiAwIDM1LjctMTcuOSAzNS43LTM5LjggMC0yMS45LTE2LjEtMzkuNy0zNS43LTM5LjhsLTEyNi42IDBjLTEuOSAwLTMtMi4zLTIuMS00LjFMMjQzLjUgMjQwek0xNzIuNCAxMjMuMWMtMTkuNiAwLTM1LjcgMTcuOS0zNS43IDM5LjhzMTYgMzkuOCAzNS43IDM5LjhsMTI2LjYgMGMxLjkgMCAzLjEgMi4yIDIuMiA0LjFMMjY4LjUgMjcyYy0xLjIgMS45IC45IDQuMiAyLjYgMi44bDg5LTc5LjVjOS4yLTcuMiAxNS4yLTE5LjEgMTUuMi0zMi41IDAtMjEuOS0xNi0zOS43LTM1LjctMzkuOGwtMTY3LjMgMHoiXX0sRnd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9wZW5zdXNlIixpY29uOls2NDAsNTEyLFtdLCJlNjJiIiwiTTQ3MS4xIDEwMi43cy0uMyAxOC4zLS4zIDIwLjNjLTkuMS0zLTc0LjQtMjQuMS0xMzUuNy0yNi4zLTUxLjktMS44LTEyMi44LTQuMy0yMjMgNTcuMy0xOS40IDEyLjQtNzMuOSA0Ni4xLTk5LjYgMTA5LjctNS41IDEzLjMtMTIuNiA0My4zLTUuNSA3MS40IDMuMyAxMi44IDguOSAyNC45IDE2LjUgMzUuNyAxNy40IDI1IDQ2LjYgNDEuNiA3OC4xIDQ0LjQgNDQuNCAzLjkgNzguMS0xNiA5MC01My4zIDguMi0yNS44IDAtNjMuNi0zMS41LTgyLjktMjUuNi0xNS43LTUzLjMtMTIuMS02OS4yLTEuNi0xMy45IDkuMi0yMS44IDIzLjUtMjEuNiAzOS4yIC4zIDI3LjggMjQuMyA0Mi42IDQxLjUgNDIuNiA1LjQgMCAxMC43LS45IDE1LjgtMi43IDYuNS0xLjggMTMuMy02LjUgMTMuMy0xNC45IDAtMTIuMS0xMS42LTE0LjgtMTYuOC0xMy45LTIuOSAuNS00LjUgMi0xMS44IDIuNC0yLS4yLTEyLTMuMS0xMi0xNGwwLS4xYy4yLTEyLjMgMTMuMi0xOCAyNS41LTE2LjkgMzIuMyAyLjggNDcuNyA0MC43IDI4LjUgNjUuNy0xOC4zIDIzLjctNzYuNiAyMy4yLTk5LjctMjAuNC0yNi00OS4yIDEyLjctMTExLjIgODctOTguNCAzMy4yIDUuNyA4My42IDM1LjUgMTAyLjQgMTA0LjNsNDUuOSAwYy01LjctMTcuNi04LjktNjguMyA0Mi43LTY4LjMgNTYuNyAwIDYzLjkgMzkuOSA3OS44IDY4LjNsNDguNiAwYy0xMi44LTE4LjMtMjEuNy0zOC43LTE4LjktNTUuOCA1LjYtMzMuOCAzOS43LTE4LjQgODIuNC0xNy40IDY2LjUgLjQgMTAyLjEtMjcgMTAzLjEtMjggMy43LTMuMSA2LjUtMTUuOCA3LTE3LjcgMS4zLTUuMS0zLjItMi40LTMuMi0yLjQtOC43IDUuMi0zMC41IDE1LjItNTAuOSAxNS42LTI1LjMgLjUtNzYuMi0yNS40LTgxLjYtMjguMi0uMy0uNCAuMSAxLjItMTEtMjUuNSA4OC40IDU4LjMgMTE4LjMgNDAuNSAxNDUuMiAyMS43IC44LS42IDQuMy0yLjkgMy42LTUuNy0xMy44LTQ4LjEtMjIuNC02Mi43LTM0LjUtNjkuNi0zNy0yMS42LTEyNS0zNC43LTEyOS4yLTM1LjMgLjEtLjEtLjktLjMtLjkgLjd6bTYwLjQgNzIuOGEzNy42IDM3LjYgMCAxIDEgNzUuMiAyLjYgMzcuNiAzNy42IDAgMSAxIC03NS4yLTIuNnptMzguNi0yNS4zYy0zLjYtLjMtNy4xIC4xLTEwLjUgMS4ycy02LjUgMi45LTkuMiA1LjMtNC44IDUuMy02LjMgOC41LTIuNCA2LjctMi41IDEwLjMgLjUgNy4xIDEuOCAxMC40IDMuMyA2LjMgNS44IDguOSA1LjUgNC41IDguOCA1LjkgNi45IDIgMTAuNCAxLjljMy42IC4zIDcuMS0uMSAxMC41LTEuMnM2LjUtMi45IDkuMi01LjMgNC44LTUuMyA2LjMtOC41IDIuNC02LjcgMi41LTEwLjMtLjUtNy4xLTEuOC0xMC40LTMuMy02LjMtNS44LTguOS01LjUtNC41LTguOC01LjktNi45LTItMTAuNC0xLjl6bTQuMyAyOC44Yy0xNS40IDAtMTUuNC0xNS42IDAtMTUuNnMxNS40IDE1LjYgMCAxNS42eiJdfSxCd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZHJvcGJveCIsaWNvbjpbNTc2LDUxMixbXSwiZjE2YiIsIk0yODguNCAxMTYuM2wtMTMyIDg0LjMgMTMyIDg0LjMtMTMyIDg0LjMtMTMyLjQtODUuMSAxMzIuMy04NC4zLTEzMi4zLTgzLjUgMTMyLjMtODQuMyAxMzIuMSA4NC4zek0xNTUuNiAzOTUuN2wxMzItODQuMyAxMzIgODQuMy0xMzIgODQuMy0xMzItODQuM3pNMjg4LjQgMjg0LjFsMTMyLTg0LjMtMTMyLTgzLjYgMTMxLjMtODQuMiAxMzIuMyA4NC4zLTEzMi4zIDg0LjMgMTMyLjMgODQuMi0xMzIuMyA4NC4zLTEzMS4zLTg1eiJdfSxId3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGVlemVyIixpY29uOls1MTIsNTEyLFtdLCJlMDc3IiwiTTE0LjggMTAxLjFDNi42IDEwMS4xIDAgMTI3LjYgMCAxNjAuM3M2LjYgNTkuMiAxNC44IDU5LjIgMTQuOC0yNi41IDE0LjgtNTkuMi02LjYtNTkuMi0xNC44LTU5LjJ6TTQ0OC43IDQwLjljLTcuNyAwLTE0LjUgMTcuMS0xOS40IDQ0LjEtNy43LTQ2LjctMjAuMi03Ny0zNC4yLTc3LTE2LjggMC0zMS4xIDQyLjktMzggMTA1LjQtNi42LTQ1LjQtMTYuOC03NC4yLTI4LjMtNzQuMi0xNi4xIDAtMjkuNiA1Ni45LTM0LjcgMTM2LjItOS40LTQwLjgtMjMuMi02Ni4zLTM4LjMtNjYuM3MtMjguOCAyNS41LTM4LjMgNjYuM2MtNS4xLTc5LjMtMTguNi0xMzYuMi0zNC43LTEzNi4yLTExLjUgMC0yMS43IDI4LjgtMjguMyA3NC4yLTYuNi02Mi41LTIxLjItMTA1LjQtMzcuOC0xMDUuNC0xNCAwLTI2LjUgMzAuNC0zNC4yIDc3LTQuOC0yNy0xMS43LTQ0LjEtMTkuNC00NC4xLTE0LjMgMC0yNiA1OS4yLTI2IDEzMi4xUzQ5IDMwNS4yIDYzLjMgMzA1LjJjNS45IDAgMTEuNS05LjkgMTUuOC0yNi44IDYuOSA2MS43IDIxLjIgMTA0LjEgMzggMTA0LjEgMTMgMCAyNC41LTI1LjUgMzIuMS02NS42IDUuNCA3Ni4zIDE4LjYgMTMwLjQgMzQuMiAxMzAuNCA5LjcgMCAxOC42LTIxLjQgMjUuMy01Ni40IDcuOSA3Mi4yIDI2LjMgMTIyLjcgNDcuNyAxMjIuN3MzOS41LTUwLjUgNDcuNy0xMjIuN2M2LjYgMzUgMTUuNiA1Ni40IDI1LjMgNTYuNCAxNS42IDAgMjguOC01NC4xIDM0LjItMTMwLjQgNy43IDQwLjEgMTkuNCA2NS42IDMyLjEgNjUuNiAxNi42IDAgMzAuOS00Mi4zIDM4LTEwNC4xIDQuMyAxNi44IDkuNyAyNi44IDE1LjggMjYuOCAxNC4zIDAgMjYtNTkuMiAyNi0xMzIuMVM0NjMgNDAuOSA0NDguNyA0MC45em00OC41IDYwLjJjLTguMiAwLTE0LjggMjYuNS0xNC44IDU5LjJzNi42IDU5LjIgMTQuOCA1OS4yIDE0LjgtMjYuNSAxNC44LTU5LjItNi42LTU5LjItMTQuOC01OS4yeiJdfSxxd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZyIsaWNvbjpbNTEyLDUxMixbXSwiZjRmMCIsIk0yNTUuNiA4QzM5Ny40IDggNTA0IDExOC4xIDUwNCAyNTYgNTA0IDQwMy4xIDM4NS41IDUwNCAyNTUuNiA1MDQgMTIxLjYgNTA0IDggMzk0LjUgOCAyNTYgOCAxMjMuMSAxMTIuNyA4IDI1NS42IDh6bS44IDQ0LjdjLTExOC4yIDAtMjAzLjcgOTcuOS0yMDMuNyAyMDMuMyAwIDEwOS44IDkxLjIgMjAyLjggMjAzLjcgMjAyLjggMTAzLjIgMCAyMDIuOC04MS4xIDIwMi44LTIwMi44IC4xLTExMy44LTkwLjItMjAzLjMtMjAyLjgtMjAzLjN6bTMuNiA1My4yYzIuOC0uMyAxMS41IDEgMTEuNSAxMS41bDYuNiAxMDcuMiA0LjktNTkuM2MwLTYgNC43LTEwLjYgMTAuNi0xMC42czEwLjYgNC43IDEwLjYgMTAuNmMwIDIuNS0uNS01LjcgNS43IDgxLjVsNS44LTY0LjJjLjMtMi45IDIuOS05LjMgMTAuMi05LjMgMy44IDAgOS45IDIuMyAxMC42IDguOWwxMS41IDk2LjUgNS4zLTEyLjhjMS44LTQuNCA1LjItNi42IDEwLjItNi42bDU4IDAgMCAyMS4zLTUwLjkgMC0xOC4yIDQ0LjNjLTMuOSA5LjktMTkuNSA5LjEtMjAuOC0zLjFsLTQtMzEuOS03LjUgOTIuNmMtLjMgMy0zIDkuMy0xMC4yIDkuMy0zIDAtOS44LTIuMS0xMC42LTkuMyAwLTEuOSAuNiA1LjgtNi4yLTc3LjlsLTUuMyA3Mi4yYy0xLjEgNC44LTQuOCA5LjMtMTAuNiA5LjMtMi45IDAtOS44LTItMTAuNi05LjMgMC0xLjkgLjUgNi43LTUuOC04Ny43TDI1NSAzODMuOWMwIDYuMy0zLjYgMTIuNC0xMC42IDEyLjQtNS4yIDAtMTAuNi00LjEtMTAuNi0xMkwyMjggMjk2LjZjLTUuOCA5Mi41LTUuMyA4NC01LjMgODUuOS0xLjEgNC44LTQuOCA5LjMtMTAuNiA5LjMtMyAwLTkuOC0yLjEtMTAuNi05LjMgMC0uNy0uNC0xLjEtLjQtMi42bC02LjItODguNi00LjkgNTYuN2MtLjcgNi41LTYuNyA5LjMtMTAuNiA5LjMtNS44IDAtOS42LTQuMS0xMC42LTguOUwxNTcuNyAyNzJjLTIgNC0zLjUgOC40LTExLjEgOC40bC01MS40IDAgMC0yMS4zIDQ0LjggMCAxMy43LTI3LjljNC40LTkuOSAxOC4yLTcuMiAxOS45IDIuN2wzLjEgMjAuNCA4LjQtOTcuOWMwLTYgNC44LTEwLjYgMTAuNi0xMC42IC41IDAgMTAuNi0uMiAxMC42IDEyLjRsNC45IDY5LjEgNi42LTkyLjZjMC0xMC4xIDkuNS0xMC42IDEwLjItMTAuNiAuNiAwIDEwLjYgLjcgMTAuNiAxMC42bDUuMyA4MC42IDYuMi05Ny45Yy4xLTEuMS0uNi0xMC4zIDkuOS0xMS41eiJdfSxWd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiamVkaS1vcmRlciIsaWNvbjpbNDQ4LDUxMixbXSwiZjUwZSIsIk0zOTguOSAzNzMuNmM5NS45LTEyMi4xIDE3LjItMjMzLjEgMTcuMi0yMzMuMSA0NS40IDg1LjgtNDEuNCAxNzAuNS00MS40IDE3MC41IDEwNS0xNzEuNS02MC41LTI3MS41LTYwLjUtMjcxLjUgOTYuOSA3Mi43LTEwLjEgMTkwLjctMTAuMSAxOTAuNyA4NS44IDE1OC40LTY4LjYgMjMwLjEtNjguNiAyMzAuMXMtLjQtMTYuOS0yLjItODUuN2M0LjMgNC41IDM0LjUgMzYuMiAzNC41IDM2LjJsLTI0LjItNDcuNCA2Mi42LTkuMS02Mi42LTkuMSAyMC4yLTU1LjUtMzEuNCA0NS45Yy0yLjItODcuNy03LjgtMzA1LjEtNy45LTMwNi45IDAgMS01LjYgMjE5LTcuOSAzMDYuOWwtMzEuNC00NS45IDIwLjIgNTUuNS02Mi42IDkuMSA2Mi42IDkuMS0yNC4yIDQ3LjQgMzQuNS0zNi4yYy0xLjggNjguOC0yLjIgODUuNy0yLjIgODUuN1M1OS4xIDM4OC42IDE0NC45IDIzMC4yYzAgMC0xMDctMTE4LjEtMTAuMS0xOTAuNyAwIDAtMTY1LjUgOTkuOS02MC41IDI3MS41IDAgMC04Ni44LTg0LjgtNDEuNC0xNzAuNSAwIDAtNzguNyAxMTEgMTcuMiAyMzMuMSAwIDAtMjYuMi0xNi4xLTQ5LjQtNzcuNyAwIDAgMTYuOSAxODMuMyAyMjIgMTg1LjdsNC4xIDBjMjA1LTIuNCAyMjItMTg1LjcgMjIyLTE4NS43LTIzLjYgNjEuNS00OS45IDc3LjctNDkuOSA3Ny43eiJdfSxqd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToici1wcm9qZWN0IixpY29uOls1NzYsNTEyLFtdLCJmNGY3IiwiTTU3OC41IDIyNi42QzU3OC41IDExOS4xIDQ0OC40IDMyIDI4OCAzMlMtMi41IDExOS4xLTIuNSAyMjYuNmMwIDk1LjggMTAzLjMgMTc1LjQgMjM5LjQgMTkxLjVsMCA2MS45IDk5LjEgMCAwLTYxLjVjMjQuMy0yLjcgNDcuNi03LjQgNjkuNC0xMy45bDQwLjEgNzUuNCAxMTIgMC02Ny40LTExMy43YzU0LjUtMzUuNCA4OC40LTg0LjkgODguNC0xMzkuN3pNMTExLjcgMjQxLjFjMC03My41IDk4LjktMTMzIDIyMC44LTEzM3MyMTEuOSA0MC43IDIxMS45IDEzM2MwIDUwLjEtMjYuNSA4NS03MC4zIDEwNi40LTIuNC0xLjYtNC43LTIuOS02LjQtMy43LTEwLjItNS4yLTI3LjgtMTAuNS0yNy44LTEwLjVzODYuNi02LjQgODYuNi05Mi43LTkwLjYtODcuOS05MC42LTg3LjlsLTE5OSAwIDAgMjA4LjNjLTc0LjEtMjEuNS0xMjUuMi02Ny4xLTEyNS4yLTExOS45em0yMjUuMSAzOC4zbDAtNTUuNmM1Ny44IDAgODcuOC02LjggODcuOCAyNy4zIDAgMzYuNS0zOC4yIDI4LjMtODcuOCAyOC4zem0tLjkgNzIuNWwyNi42IDBjMTAuOCAwIDE4LjkgMTEuNyAyNCAxOS4yLTE2LjEgMS45LTMzIDIuOC01MC42IDIuOWwwLTIyLjF6Il19LFV3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJpbnN0YWxvZCIsaWNvbjpbNTEyLDUxMixbXSwiZTA4MSIsIk0xNTMuNiA0ODBsMjMzLjcgMCAxMTUuNC0yMDQuMi0yOTguMyA1Ny40LTUwLjggMTQ2Ljh6TTUwNSAyNDAuMUwzODcuNCAzMiAxNTUuOSAzMiAzNjAuNSAyNjcuOSA1MDUgMjQwLjF6TTEyNC42IDQ4LjhMNy41IDI1NiAxMjMuNSA0NjEuMiAyMjUuOSAxNjUuNiAxMjQuNiA0OC44eiJdfSxXd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2FuYWRpYW4tbWFwbGUtbGVhZiIsaWNvbjpbNTEyLDUxMixbXSwiZjc4NSIsIk0zODMuOCAzNTEuN2MyLjUtMi41IDEwNS4yLTkyLjQgMTA1LjItOTIuNGwtMTcuNS03LjVjLTEwLTQuOS03LjQtMTEuNS01LTE3LjQgMi40LTcuNiAyMC4xLTY3LjMgMjAuMS02Ny4zcy00Ny43IDEwLTU3LjcgMTIuNWMtNy41IDIuNC0xMC0yLjUtMTIuNS03LjVzLTE1LTMyLjQtMTUtMzIuNC01Mi42IDU5LjktNTUuMSA2Mi4zYy0xMCA3LjUtMjAuMSAwLTE3LjYtMTAgMC0xMCAyNy42LTEyOS42IDI3LjYtMTI5LjZzLTMwLjEgMTcuNC00MC4xIDIyLjRjLTcuNSA1LTEyLjYgNS0xNy42LTUtNS4xLTcuNS00Mi43LTc5LjgtNDIuNy03OS44cy0zNy41IDcyLjMtNDIuNSA3OS44Yy01IDEwLTEwIDEwLTE3LjYgNS0xMC01LTQwLjEtMjIuNC00MC4xLTIyLjRTMTgzLjMgMTgyIDE4My4zIDE5MmMyLjUgMTAtNy41IDE3LjUtMTcuNiAxMC0yLjUtMi41LTU1LjEtNjIuMy01NS4xLTYyLjNzLTEyLjUgMjcuMy0xNSAzMi4zLTUgOS45LTEyLjUgNy41QzczIDE3NyAyNS40IDE2NyAyNS40IDE2N1M0MyAyMjYuNyA0NS41IDIzNC4zYzIuNCA2IDUgMTIuNS01IDE3LjRMMjMgMjU5LjNzMTAyLjYgODkuOSAxMDUuMiA5Mi40YzUuMSA1IDEwIDcuNSA1LjEgMjIuNS01LjEgMTUtMTAuMSAzNS4xLTEwLjEgMzUuMXM5NS4yLTIwLjEgMTA1LjMtMjIuNmM4LjctLjkgMTguMyAyLjUgMTguMyAxMi41UzI0MSA1MTIgMjQxIDUxMmwzMCAwcy01LjgtMTAyLjctNS44LTExMi44IDkuNS0xMy40IDE4LjQtMTIuNWMxMCAyLjUgMTA1LjIgMjIuNiAxMDUuMiAyMi42cy01LTIwLjEtMTAtMzUuMSAwLTE3LjUgNS0yMi41eiJdfSxHd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZXRoZXJldW0iLGljb246WzMyMCw1MTIsW10sImY0MmUiLCJNMzExLjkgMjYwLjhMMTYwIDM1My42IDggMjYwLjggMTYwIDAgMzExLjkgMjYwLjh6TTE2MCAzODMuNEw4IDI5MC42IDE2MCA1MTIgMzEyIDI5MC42IDE2MCAzODMuNHoiXX0sWXd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImhvdXp6IixpY29uOls0NDgsNTEyLFtdLCJmMjdjIiwiTTI3NiAzMzAuN2wtMTA0LjYgMCAwIDE0OS4zLTE1NC4zIDAgMC00NDggMTA5LjUgMCAwIDEwNC41IDMwNS4xIDg1LjYgMCAyNTcuOS0xNTUuNyAwIDAtMTQ5LjN6Il19LEt3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2aWJlciIsaWNvbjpbNTEyLDUxMixbXSwiZjQwOSIsIk00NDQuMyA0OS45Yy0xMi43LTExLjctNjQuMS00OS0xNzguNy00OS41IDAgMC0xMzUuMS04LjEtMjAwLjkgNTIuMy0zNi42IDM2LjYtNDkuNSA5MC4zLTUwLjkgMTU2LjhzLTMuMSAxOTEuMSAxMTcgMjI0LjlsLjEgMC0uMSA1MS42cy0uOCAyMC45IDEzIDI1LjFjMTYuNiA1LjIgMjYuNC0xMC43IDQyLjMtMjcuOCA4LjctOS40IDIwLjctMjMuMiAyOS44LTMzLjcgODIuMiA2LjkgMTQ1LjMtOC45IDE1Mi41LTExLjIgMTYuNi01LjQgMTEwLjUtMTcuNCAxMjUuNy0xNDIgMTUuOC0xMjguNi03LjYtMjA5LjgtNDkuOC0yNDYuNXpNNDU4LjIgMjg3Yy0xMi45IDEwNC04OSAxMTAuNi0xMDMgMTE1LjEtNiAxLjktNjEuNSAxNS43LTEzMS4yIDExLjIgMCAwLTUyIDYyLjctNjguMiA3OS01LjMgNS4zLTExLjEgNC44LTExLTUuNyAwLTYuOSAuNC04NS43IC40LTg1LjdsMCAwQzQzLjQgMzcyLjcgNDkuNCAyNjYuNiA1MC41IDIxMS4xczExLjYtMTAxIDQyLjYtMTMxLjZjNTUuNy01MC41IDE3MC40LTQzIDE3MC40LTQzIDk2LjkgLjQgMTQzLjMgMjkuNiAxNTQuMSAzOS40IDM1LjcgMzAuNiA1My45IDEwMy44IDQwLjYgMjExLjF6bS0xMzktODAuOGMuNCA4LjYtMTIuNSA5LjItMTIuOSAuNi0xLjEtMjItMTEuNC0zMi43LTMyLjYtMzMuOS04LjYtLjUtNy44LTEzLjQgLjctMTIuOSAyNy45IDEuNSA0My40IDE3LjUgNDQuOCA0Ni4yem0yMC4zIDExLjNjMS00Mi40LTI1LjUtNzUuNi03NS44LTc5LjMtOC41LS42LTcuNi0xMy41IC45LTEyLjkgNTggNC4yIDg4LjkgNDQuMSA4Ny44IDkyLjUtLjEgOC42LTEzLjEgOC4yLTEyLjktLjN6bTQ3IDEzLjRjLjEgOC42LTEyLjkgOC43LTEyLjkgLjEtLjYtODEuNS01NC45LTEyNS45LTEyMC44LTEyNi40LTguNS0uMS04LjUtMTIuOSAwLTEyLjkgNzMuNyAuNSAxMzMgNTEuNCAxMzMuNyAxMzkuMnpNMzc1LjIgMzI5bDAgLjJjLTEwLjggMTktMzEgNDAtNTEuOCAzMy4zbC0uMi0uM2MtMjEuMS01LjktNzAuOC0zMS41LTEwMi4yLTU2LjUtMTYuMi0xMi44LTMxLTI3LjktNDIuNC00Mi40LTEwLjMtMTIuOS0yMC43LTI4LjItMzAuOC00Ni42LTIxLjMtMzguNS0yNi01NS43LTI2LTU1LjctNi43LTIwLjggMTQuMi00MSAzMy4zLTUxLjhsLjIgMGM5LjItNC44IDE4LTMuMiAyMy45IDMuOSAwIDAgMTIuNCAxNC44IDE3LjcgMjIuMSA1IDYuOCAxMS43IDE3LjcgMTUuMiAyMy44IDYuMSAxMC45IDIuMyAyMi0zLjcgMjYuNmwtMTIgOS42Yy02LjEgNC45LTUuMyAxNC01LjMgMTRzMTcuOCA2Ny4zIDg0LjMgODQuM2MwIDAgOS4xIC44IDE0LTUuM2w5LjYtMTJjNC42LTYgMTUuNy05LjggMjYuNi0zLjcgMTQuNyA4LjMgMzMuNCAyMS4yIDQ1LjggMzIuOSA3IDUuNyA4LjYgMTQuNCAzLjggMjMuNnoiXX0sR3VlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImtpY2tzdGFydGVyIixpY29uOls0NDgsNTEyLFsic3F1YXJlLWtpY2tzdGFydGVyIl0sImYzYmIiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMzIwLjggMjMzbC0yMy4zIDIzLjEgMjMuMyAyMi45YzI0LjEgMjMuOSAyNC4xIDYzIDAgODYuOXMtNjMuNCAyMy45LTg3LjYgMGwtOC41LTguNGMtMTEuMyAxNi0yOS43IDI2LjUtNTAuOSAyNi41LTM0LjEgMC02MS45LTI3LjUtNjEuOS02MS40bDAtMTMzLjJjMC0zMy44IDI3LjctNjEuNCA2MS45LTYxLjQgMjEuMSAwIDM5LjYgMTAuNSA1MC45IDI2LjVsOC41LTguNGMyNC4xLTIzLjkgNjMuNC0yMy45IDg3LjYgMHMyNC4xIDYzIDAgODYuOXoiXX0sWnd0PUd1ZSxYd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3BvdGlmeSIsaWNvbjpbNTEyLDUxMixbXSwiZjFiYyIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTM1Ni43IDM3Mi45Yy00LjIgMC02LjgtMS4zLTEwLjctMy42LTYyLjQtMzcuNi0xMzUtMzkuMi0yMDYuNy0yNC41LTMuOSAxLTkgMi42LTExLjkgMi42LTkuNyAwLTE1LjgtNy43LTE1LjgtMTUuOCAwLTEwLjMgNi4xLTE1LjIgMTMuNi0xNi44IDgxLjktMTguMSAxNjUuNi0xNi41IDIzNyAyNi4yIDYuMSAzLjkgOS43IDcuNCA5LjcgMTYuNXMtNy4xIDE1LjQtMTUuMiAxNS40em0yNi45LTY1LjZjLTUuMiAwLTguNy0yLjMtMTIuMy00LjItNjIuNS0zNy0xNTUuNy01MS45LTIzOC42LTI5LjQtNC44IDEuMy03LjQgMi42LTExLjkgMi42LTEwLjcgMC0xOS40LTguNy0xOS40LTE5LjRzNS4yLTE3LjggMTUuNS0yMC43YzI3LjgtNy44IDU2LjItMTMuNiA5Ny44LTEzLjYgNjQuOSAwIDEyNy42IDE2LjEgMTc3IDQ1LjUgOC4xIDQuOCAxMS4zIDExIDExLjMgMTkuNy0uMSAxMC44LTguNSAxOS41LTE5LjQgMTkuNXptMzEtNzYuMmMtNS4yIDAtOC40LTEuMy0xMi45LTMuOS03MS4yLTQyLjUtMTk4LjUtNTIuNy0yODAuOS0yOS43LTMuNiAxLTguMSAyLjYtMTIuOSAyLjYtMTMuMiAwLTIzLjMtMTAuMy0yMy4zLTIzLjYgMC0xMy42IDguNC0yMS4zIDE3LjQtMjMuOSAzNS4yLTEwLjMgNzQuNi0xNS4yIDExNy41LTE1LjIgNzMgMCAxNDkuNSAxNS4yIDIwNS40IDQ3LjggNy44IDQuNSAxMi45IDEwLjcgMTIuOSAyMi42IDAgMTMuNi0xMSAyMy4zLTIzLjIgMjMuM3oiXX0sUXd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImxlYW5wdWIiLGljb246WzU3Niw1MTIsW10sImYyMTIiLCJNMzg2LjYgMTExLjVsMTUuMSAyNDktMTEtLjNjLTM2LjItLjgtNzEuNiA4LjgtMTAyLjcgMjgtMzEtMTkuMi02Ni40LTI4LTEwMi43LTI4LTQ1LjYgMC04Mi4xIDEwLjctMTIzLjUgMjcuN0w5My4yIDEyOS42YzI4LjUtMTEuOCA2MS41LTE4LjEgOTIuMi0xOC4xIDQxLjIgMCA3My44IDEzLjIgMTAyLjcgNDIuNSAyNy43LTI4LjMgNTktNDEuNyA5OC41LTQyLjV6TTU2OS4yIDQ0OGMtMjUuNSAwLTQ3LjUtNS4yLTcwLjUtMTUuNi0zNC4zLTE1LjYtNzAtMjUtMTA3LjktMjUtMzkgMC03NC45IDEyLjktMTAyLjcgNDAuNi0yNy43LTI3LjctNjMuNy00MC42LTEwMi43LTQwLjYtMzcuOSAwLTczLjYgOS4zLTEwNy45IDI1LTIyLjIgOS45LTQ0LjcgMTUuNi02OS4yIDE1LjZMNyA0NDggNDkuNiA5OC45YzM5LjMtMjIuMiA4Ny0zNC45IDEzMi4zLTM0LjkgMzcuMSAwIDc1LjIgNy43IDEwNi4yIDI5LjEgMzEtMjEuNCA2OS4yLTI5LjEgMTA2LjItMjkuMSA0NS4zIDAgOTMgMTIuNiAxMzIuMyAzNC45TDU2OS4yIDQ0OHptLTQzLjQtNDQuN0w0OTEuOCAxMjNjLTMwLjctMTQtNjcuMi0yMS40LTEwMS0yMS40LTM4LjQgMC03NC40IDEyLjEtMTAyLjcgMzguNy0yOC4zLTI2LjYtNjQuMi0zOC43LTEwMi43LTM4LjctMzMuOCAwLTcwLjMgNy40LTEwMSAyMS40bC0zNCAyODAuMmM0Ny4yLTE5LjUgODIuOS0zMy41IDEzNS0zMy41IDM3LjYgMCA3MC44IDkuNiAxMDIuNyAyOS42IDMxLjgtMjAgNjUuMS0yOS42IDEwMi43LTI5LjYgNTIuMiAwIDg3LjggMTQgMTM1IDMzLjV6Il19LEp3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJqYXZhIixpY29uOlszODQsNTEyLFtdLCJmNGU0IiwiTTI3Ny44IDMxMi45YzkuOC02LjcgMjMuNC0xMi41IDIzLjQtMTIuNXMtMzguNyA3LTc3LjIgMTAuMmMtNDcuMSAzLjktOTcuNyA0LjctMTIzLjEgMS4zLTYwLjEtOCAzMy0zMC4xIDMzLTMwLjFzLTM2LjEtMi40LTgwLjYgMTljLTUyLjUgMjUuNCAxMzAgMzcgMjI0LjUgMTIuMXptLTg1LjQtMzIuMWMtMTktNDIuNy04My4xLTgwLjIgMC0xNDUuOCAxMDMuNy04MS44IDUwLjUtMTM1IDUwLjUtMTM1IDIxLjUgODQuNS03NS42IDExMC4xLTExMC43IDE2Mi42LTIzLjkgMzUuOSAxMS43IDc0LjQgNjAuMiAxMTguMnpNMzA3IDEwNC42Yy4xIDAtMTc1LjIgNDMuOC05MS41IDE0MC4yIDI0LjcgMjguNC02LjUgNTQtNi41IDU0czYyLjctMzIuNCAzMy45LTcyLjlDMjE2IDE4OC4xIDE5NS40IDE2OS4zIDMwNyAxMDQuNnptLTYuMSAyNzAuNWMtLjUgMS0xLjIgMS44LTIgMi42IDEyOC4zLTMzLjcgODEuMS0xMTguOSAxOS44LTk3LjMtMy4zIDEuMi02LjIgMy40LTguMiA2LjMgMy42LTEuMyA3LjMtMi4zIDExLTMgMzEtNi41IDc1LjUgNDEuNS0yMC42IDkxLjR6TTM0OCA0MzcuNHMxNC41IDExLjktMTUuOSAyMS4yYy01Ny45IDE3LjUtMjQwLjggMjIuOC0yOTEuNiAuNy0xOC4zLTcuOSAxNi0xOSAyNi44LTIxLjMgMTEuMi0yLjQgMTcuNy0yIDE3LjctMi0yMC4zLTE0LjMtMTMxLjMgMjguMS01Ni40IDQwLjIgMjA0LjIgMzMuMiAzNzIuNC0xNC45IDMxOS40LTM4Ljh6TTEyNC41IDM5NmMtNzguNyAyMiA0Ny45IDY3LjQgMTQ4LjEgMjQuNS05LjgtMy44LTE5LjItOC40LTI4LjItMTMuOC00NC43IDguNS02NS40IDkuMS0xMDYgNC41LTMzLjUtMy44LTEzLjktMTUuMi0xMy45LTE1LjJ6bTE3OS44IDk3LjJjLTc4LjcgMTQuOC0xNzUuOCAxMy4xLTIzMy4zIDMuNiAwLS4xIDExLjggOS43IDcyLjQgMTMuNiA5Mi4yIDUuOSAyMzMuOC0zLjMgMjM3LjEtNDYuOSAwIDAtNi40IDE2LjUtNzYuMiAyOS43ek0yNjAuNyAzNTNjLTU5LjIgMTEuNC05My41IDExLjEtMTM2LjggNi42LTMzLjUtMy41LTExLjYtMTkuNy0xMS42LTE5LjctODYuOCAyOC44IDQ4LjIgNjEuNCAxNjkuNSAyNS45LTcuOC0yLjgtMTUtNy4xLTIxLjEtMTIuOHoiXX0sZU10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im5mYy1zeW1ib2wiLGljb246WzUxMiw1MTIsW10sImU1MzEiLCJNMzYwLjkgMzIuNGM3LjctMS4zIDE1LjcgLjUgMjEuMiA1IDg0LjEgNTguNyAxMjkuOSAxMzYuMyAxMjkuOSAyMTcuNyAwIDgzLjEtNDUuOCAxNjAuOC0xMjkuOSAyMTkuNS00LjggNC0xMS43IDUuOS0xOC42IDUuMy03LS42LTEzLjUtMy42LTE4LjQtOC41TDE2MS43IDI4OC43Yy01LjYtNS41LTguNy0xMy05LjYtMjAuOSAwLTcuOCA0LTE1LjMgOS41LTIwLjkgNS42LTUuNSAxMy4xLTguNyAyMC45LTguNyA3LjkgMCAxNS40IDMuMSAyMC45IDguNkwzNjguNSA0MTEuMmM1NC42LTQ0LjcgODQuMy05OS4yIDg0LjMtMTU2LjEgMC02MS42LTM2LjktMTIyLjItMTAzLjktMTY5LjMtNi40LTQuNS0xMC44LTExLjQtMTIuMS0xOS4xLTEuNC03LjcgLjQtMTUuNyA1LTIyLjEgNC41LTYuNCAxMS40LTEwLjggMTkuMS0xMi4xem0tMjA2IDQ0Ny4yYy03LjcgMS4zLTE1LjYtLjUtMjIuMS01LTgzLjEtNTguNy0xMjktMTM2LjQtMTI5LTIxOS41IDAtODEuNCA0NS44LTE1OSAxMjktMjE3LjcgNS43LTQgMTIuNi01LjkgMTkuNi01LjMgNi45IC42IDEzLjQgMy42IDE4LjMgOC41TDM1NC4xIDIyMy4zYzUuNiA1LjUgOC43IDEzIDguNyAyMC45IC4xIDYuOS0zIDE1LjMtOC42IDIwLjktNS41IDUuNS0xMyA4LjctMjAuOSA4LjctNy44IDAtMTYuMi0zLjEtMjAuOS04LjZMMTQ3LjMgMTAwLjdjLTU0LjYgNDUuMi04NC4zIDk5LjItODQuMyAxNTQuNCAwIDYzLjQgMzYuOSAxMjQgMTAzLjEgMTcxLjEgNy4zIDQuNiAxMS42IDExLjQgMTMgMTkuMiAxLjMgNy43LS41IDE1LjctNSAyMi4xcy0xMS40IDEwLjctMTkuMiAxMi4xeiJdfSx0TXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid29kdSIsaWNvbjpbNjQwLDUxMixbXSwiZTA4OCIsIk0xNzguNCAzMzkuN2wtMzcuMyAwLTI4LjktMTE2LjItLjUgMC0yOC41IDExNi4yLTM4IDAtNDUuMi0xNzAuOCAzNy41IDAgMjcgMTE2LjIgLjUgMCAyOS43LTExNi4yIDM1LjIgMCAyOS4yIDExNy43IC41IDAgMjgtMTE3LjcgMzYuOCAwLTQ1LjkgMTcwLjh6bTkzLTEyN2MzOSAwIDY0LjEgMjUuOCA2NC4xIDY1LjMgMCAzOS4yLTI1LjEgNjUtNjQuMSA2NS0zOC43IDAtNjMuOS0yNS44LTYzLjktNjUgMC0zOS41IDI1LjEtNjUuMyA2My45LTY1LjN6bTAgMTA0LjhjMjMuMiAwIDMwLjEtMTkuOSAzMC4xLTM5LjUgMC0xOS45LTYuOS0zOS43LTMwLjEtMzkuNy0yNy43IDAtMjkuOSAxOS45LTI5LjkgMzkuNyAwIDE5LjYgNi45IDM5LjUgMjkuOSAzOS41em0xNjMuNyA2LjVsLS41IDBjLTcuOSAxMy40LTIxLjggMTkuMS0zNy41IDE5LjEtMzcuMyAwLTU1LjUtMzItNTUuNS02Ni4yIDAtMzMuMiAxOC40LTY0LjEgNTQuOC02NC4xIDE0LjYgMCAyOC45IDYuMiAzNi44IDE4LjRsLjIgMCAwLTYyLjIgMzQgMCAwIDE3MC44LTMyLjMgMCAwLTE1Ljh6bS0yOS43LTg1LjZjLTIyLjIgMC0yOS45IDE5LjEtMjkuOSAzOS41IDAgMTkuNCA4LjggMzkuNyAyOS45IDM5LjcgMjIuNSAwIDI5LjItMTkuNiAyOS4yLTM5LjkgMC0yMC4xLTcuMi0zOS4yLTI5LjItMzkuMnpNNTkzIDMzOS43bC0zMi4zIDAgMC0xNy4yLS43IDBjLTguNiAxMy45LTIzLjQgMjAuNi0zNy44IDIwLjYtMzYuMSAwLTQ1LjItMjAuMy00NS4yLTUwLjlsMC03Ni4xIDM0IDAgMCA2OS44YzAgMjAuMyA2IDMwLjQgMjEuOCAzMC40IDE4LjQgMCAyNi4zLTEwLjMgMjYuMy0zNS40bDAtNjQuOCAzNCAwIDAgMTIzLjZ6bTkuNS0zNi44bDM3LjUgMCAwIDM2LjgtMzcuNSAwIDAtMzYuOHoiXX0sWXVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1zdGVhbSIsaWNvbjpbNDQ4LDUxMixbInN0ZWFtLXNxdWFyZSJdLCJmMWI3IiwiTTE2NS42IDMwOS4xYzE4LjYgNy43IDI3LjMgMjguOSAxOS42IDQ3LjRzLTI5IDI3LjItNDcuNiAxOS40bC0yOC41LTExLjhjNSAxMC42IDEzLjggMTkuNCAyNS40IDI0LjIgMjUuMiAxMC41IDU0LjEtMS40IDY0LjYtMjYuNSA1LjEtMTIuMSA1LjEtMjUuNSAuMS0zNy43LTUuMS0xMi4xLTE0LjUtMjEuNi0yNi43LTI2LjctMTIuMS01LTI1LTQuOC0zNi40LS41bDI5LjUgMTIuMnpNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZsMCAxNDQuNyAxMTYuNiA0OC4xYzEyLTguMiAyNi4yLTEyLjEgNDAuNy0xMS4zbDU1LjQtODAuMiAwLTEuMWMwLTQ4LjIgMzkuMy04Ny41IDg3LjYtODcuNXM4Ny42IDM5LjMgODcuNiA4Ny41YzAgNDkuMi00MC45IDg4LjctODkuNiA4Ny41bC03OSA1Ni4zYzEuNiAzOC41LTI5LjEgNjguOC02NS43IDY4LjgtMzEuOCAwLTU4LjUtMjIuNy02NC41LTUyLjdMMCAzMTkuMiAwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMjQxLjkgMTk2LjJhNTguNCA1OC40IDAgMSAwIDExNi44IDAgNTguNCA1OC40IDAgMSAwIC0xMTYuOCAwem0xMDIuNC0uMWE0My45IDQzLjkgMCAxIDEgLTg3LjggMCA0My45IDQzLjkgMCAxIDEgODcuOCAweiJdfSxhTXQ9WXVlLHJNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLW5jLWV1IixpY29uOls1MTIsNTEyLFtdLCJmNGU5IiwiTTI1NS43IDhDMTExLjYgOCA4IDEyNC44IDggMjU2IDggMzkyLjMgMTE5LjcgNTA0IDI1NS43IDUwNCAzODUuOSA1MDQgNTA0IDQwMy4xIDUwNCAyNTYgNTA0IDExNyAzOTYuNCA4IDI1NS43IDh6bS42IDQ1MC43Yy0xMTIgMC0yMDMuNi05Mi41LTIwMy42LTIwMi43IDAtMjMuMiAzLjctNDUuMiAxMC45LTY2bDY1LjcgMjkuMS00LjcgMCAwIDI5LjUgMjMuMyAwYzAgNi4yLS40IDMuMi0uNCAxOS41bC0yMi44IDAgMCAyOS41IDI3IDBjMTEuNCA2NyA2Ny4yIDEwMS4zIDEyNC42IDEwMS4zIDI2LjYgMCA1MC42LTcuOSA2NC44LTE1LjhsLTEwLTQ2LjFjLTguNyA0LjYtMjguMiAxMC44LTQ3LjMgMTAuOC0yOC4yIDAtNTguMS0xMC45LTY3LjMtNTAuMmw5MC4zIDAgMTI4LjMgNTYuOGMtMS41IDIuMS01Ni4yIDEwNC4zLTE3OC44IDEwNC4zek0yMzkuNiAyNjguMWwtLjUtLjQgLjkgLjQtLjQgMHptNzcuMi0xOS41bDMuNyAwIDAtMjkuNS03MC4zIDAtMjguNi0xMi42YzIuNS01LjUgNS40LTEwLjUgOC44LTE0LjMgMTIuOS0xNS44IDMxLjEtMjIuNCA1MS4xLTIyLjQgMTguMyAwIDM1LjMgNS40IDQ2LjEgMTBsMTEuNi00Ny4zYy0xNS02LjYtMzctMTIuNC02Mi4zLTEyLjQtMzkgMC03Mi4yIDE1LjgtOTUuOSA0Mi4zLTUuMyA2LjEtOS44IDEyLjktMTMuOSAyMC4xTDg1LjUgMTQ2LjRjNjQuNi05Ni44IDE1Ny43LTkzLjYgMTcwLjctOTMuNiAxMTMgMCAyMDMgOTAuMiAyMDMgMjAzLjQgMCAxOC43LTIuMSAzNi4zLTYuMyA1Mi45TDMxNi44IDI0OC42eiJdfSxzTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibnBtIixpY29uOls1NzYsNTEyLFtdLCJmM2Q0IiwiTTI4OCAyODhsLTMyIDAgMC02NCAzMiAwIDAgNjR6TTU3NiAxNjBsMCAxOTItMjg4IDAgMCAzMi0xMjggMCAwLTMyLTE2MCAwIDAtMTkyIDU3NiAwek0xNjAgMTkybC0xMjggMCAwIDEyOCA2NCAwIDAtOTYgMzIgMCAwIDk2IDMyIDAgMC0xMjh6bTE2MCAwbC0xMjggMCAwIDE2MCA2NCAwIDAtMzIgNjQgMCAwLTEyOHptMjI0IDBsLTE5MiAwIDAgMTI4IDY0IDAgMC05NiAzMiAwIDAgOTYgMzIgMCAwLTk2IDMyIDAgMCA5NiAzMiAwIDAtMTI4eiJdfSxpTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2xvdWRzY2FsZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjM4MyIsIk0zMTguMSAxNTRsLTkuNCA3LjZjLTIyLjUtMTkuMy01MS41LTMzLjYtODMuMy0zMy42LTcxLjYgMC0xMjkuNCA2MC44LTEyOS40IDEzMi4zIDAgNi42IC40IDEzLjEgMS40IDE5LjQtMi01NiA0MS44LTk3LjQgOTIuNi05Ny40IDI0LjIgMCA0Ni4yIDkuNCA2Mi42IDI0LjdsLTI1LjIgMjAuNGMtOC4zLS45LTE2LjggMS44LTIzLjEgOC4xLTExLjEgMTEtMTEuMSAyOC45IDAgNDAgMTEuMSAxMSAyOC45IDExIDQwIDAgNi4zLTYuMyA5LTE0LjkgOC4xLTIzLjFsNzUuMi04OC44YzYuMy02LjUtMy4zLTE1LjktOS41LTkuNnpNMjEzLjcgMjQ2LjVhMTQgMTQgMCAxIDEgMjAuNiAxOSAxNCAxNCAwIDEgMSAtMjAuNi0xOXpNMjI0IDMyYTIyNCAyMjQgMCAxIDAgMCA0NDggMjI0IDIyNCAwIDEgMCAwLTQ0OHptMCA2NGExNjAgMTYwIDAgMSAxIDAgMzIwIDE2MCAxNjAgMCAxIDEgMC0zMjB6Il19LG9NdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0aGVtZWNvIixpY29uOls0NDgsNTEyLFtdLCJmNWM2IiwiTTIwMi45IDguNGM5LjktNS43IDI2LTUuOCAzNi0uMkw0MzAgMTE1LjljMTAgNS42IDE4IDE5LjQgMTggMzAuOUw0NDggMzY0YzAgMTEuNC04LjEgMjUuMy0xOCAzMUwyMzguOCA1MDMuN2MtOS45IDUuNy0yNiA1LjYtMzUuOC0uMkwxNy45IDM5NS4xQzggMzg5LjMgMCAzNzUuNCAwIDM2NEwwIDE0Ni43YzAtMTEuNCA4LTI1LjQgMTcuOS0zMS4xTDIwMi45IDguNHpNMTI1LjUgMjA4LjNjLTE1LjkgMC0zMS45IC4xLTQ3LjggLjFsMCAxMDEuNCAxOS4xIDAgMC0yOS44IDI4LjcgMGM0OS43IDAgNDkuNi03MS43IDAtNzEuN3pNMjY1LjYgMzA4LjZsLTMwLjctMzQuNmMzNy03LjUgMzQuOC02NS4yLTEwLjktNjUuNS0xNi4xIDAtMzIuMi0uMS00OC4zLS4xbDAgMTAxLjYgMTkuMSAwIDAtMzMuOSAxOC40IDAgMjkuNiAzMy45IDIyLjggMCAwLTEuM3ptLTQxLjYtODIuM2MyMy4zIDAgMjMuMyAzMi41IDAgMzIuNWwtMjkuMSAwIDAtMzIuNSAyOS4xIDB6bS05NS42LTEuNmMyMS4yIDAgMjEuMSAzOC45IDAgMzguOWwtMzIuMyAwIDAtMzguOCAzMi4zIDB6bTE5Mi42LTE4LjJjLTY4LjUgMC03MSAxMDUuOCAwIDEwNS44IDY5LjUgMCA2OS40LTEwNS44IDAtMTA1Ljh6bTAgMTcuNGM0NC4xIDAgNDQuOCA3MC45IDAgNzAuOXMtNDQuNC03MC45IDAtNzAuOXoiXX0sbk10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imdvb2dsZS1wbGF5IixpY29uOls0NDgsNTEyLFtdLCJmM2FiIiwiTTI5My42IDIzNC4zTDcyLjkgMTMgMzUzLjcgMTc0LjIgMjkzLjYgMjM0LjN6TTE1LjMgMEMyLjMgNi44LTYuNCAxOS4yLTYuNCAzNS4zbDAgNDQxLjNjMCAxNi4xIDguNyAyOC41IDIxLjcgMzUuM0wyNzEuOSAyNTUuOSAxNS4zIDB6TTQ0MC41IDIyNS42bC01OC45LTM0LjEtNjUuNyA2NC41IDY1LjcgNjQuNSA2MC4xLTM0LjFjMTgtMTQuMyAxOC00Ni41LTEuMi02MC44ek03Mi45IDQ5OUwzNTMuNyAzMzcuOCAyOTMuNiAyNzcuNyA3Mi45IDQ5OXoiXX0sbE10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImtvcnZ1ZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjQyZiIsIk0zODcuNiAzNGwtMzI3IDBDMjcuOSAzNCAxLjEgNjAuOCAxLjEgOTMuNWwwIDMyNy4xYzAgMzIuNiAyNi44IDU5LjQgNTkuNSA1OS40bDMyNy4xIDBjMzMgMCA1OS41LTI2LjggNTkuNS01OS41bDAtMzI3QzQ0Ny4xIDYwLjggNDIwLjMgMzQgMzg3LjYgMzR6TTg4LjIgMTIwLjhsOTYgMCAwIDExNiA2MS44LTExNiAxMTAuOSAwLTgxLjIgMTMyLTE4Ny41IDAgMC0xMzJ6TTI1MCAzOTIuOWwtNjUuNy0xMTMuNiAwIDExMy42LTk2IDAgMC0xMzAuOCAxOTEuNSAwIDg4LjYgMTMwLjgtMTE4LjQgMHoiXX0sY010PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InczYyIsaWNvbjpbNjQwLDUxMixbXSwiZTdkZSIsIk0xMDUuMiAzMDUuM2wzMC45LTEwNC43YzcuOS0yNi43IDguNi00MC42IC4yLTY4LjhsLTEwLjEtMzMuOSA0NC4xIDAgNjEgMjA3LjQgNDUuNy0xNTUuNWMxMy4zLTQ1LjMgMjEuMS01MS45IDU5LjQtNTEuOWwxMzIuOCAwYy0yNC4yIDQyLjktNDkuMyA4NS4yLTczLjkgMTI3LjkgMi42IC44IDUuMiAxLjggNy43IDIuOCAxNy4zIDcuMSAzMi4yIDE5LjQgNDIgMzUuNSAxMS4yIDE4LjUgMTYuOCA0MC4yIDE2LjggNjUuMiAwIDMwLjgtOC4yIDU2LjgtMjQuNiA3Ny44LTE0LjUgMTguNi0zNSAyOS41LTU4LjIgMzEuMiAwIC4zLTUuMiAuNC01LjggLjQtMzkuNy0uMS03MC44LTMyLjEtODMuMS02OC43bDQyLjkgMGMzLjUgNS4zIDYuOCAxMC43IDExLjIgMTUuNSA4LjEgNy4zIDE4LjUgMTAuOSAyOS4zIDExLjEgMTMuMSAwIDIzLjMtOS4xIDI5LjktMTkuOCA4LjEtMTMuMiAxMi4yLTI5IDEyLjItNDcuNSAwLTEzLjEtMS44LTI0LjMtNS4zLTMzLjYtLjktMi4zLTEuOS00LjUtMy02LjYtMS40LTIuNi0yLjktNS4xLTQuNy03LjQtMTAuMS0xMy4yLTI5LjMtMTkuNy00Ny41LTE5LjhsLTI4LjIgMCA3MC4zLTEyMi0zNS42IDBjLTQzLjEgMC0zNS45LTUuNC01MC40IDQzLjNsLTc1LjcgMjU1LjMtNC4yIDAtNjMuMS0yMTEuMS02My4xIDIxMS4xLTQuMiAwLTEwMS0zNDAuNyA0NC4yIDAgNjEgMjA3LjR6TTQ2NyAzMzUuN2MuMyAuNiAxMS4zIDIwLjMgMTguMyAzMC4zIDcuMSAxMC4xIDE5LjggMjAuOSAyNC44IDI0LjZzMTkuMSAxMi41IDM0LjMgMTMuOWMxNS4yIDEuNSAyMy4zIC4yIDM4LjctNi42IDE1LjQtNi44IDI3LjktMjAuNCAzNC45LTI4LjEgNi45LTcuNiAxNy45LTI3LjMgMTguMi0yNy43bDMuMyAxNi44YzEuNyA5LTEgMjMuNy00LjEgMzAtNC4zIDguNi03LjYgMTMuNS0xNCAyMC4zLTYuMSA2LjUtMTYuNyAxMy41LTIxLjMgMTYuNC00LjYgMi45LTIzLjEgMTUuMS01MC4xIDEwLjNzLTQ0LjctMjUuOS01My45LTM4LjJjLTkuOC0xMy4yLTE2LjctMjguMy0xOS0zMy4yLTMuOC04LjQtOS45LTI4LjItMTAuMS0yOC44em0xNjkuNy0yMThjMy4zIDIwLjMtLjEgMjguNy05LjEgNDZsLTEyLjcgMjQuMmMtLjMtLjYtMTAtMjAuNy0yNS45LTMxLjktMTMuNi05LjYtMjIuNS0xMS43LTM2LjMtOC44LTE3LjggMy43LTM4IDI1LTQ2LjggNTEuMi0xMC41IDMxLjQtMTAuNyA0Ni42LTExIDYwLjYtLjYgMjIuNCAyLjkgMzUuNiAyLjkgMzUuNnMtMTUuNC0yOC41LTE1LjItNzAuMWMuMS0yOS43IDQuOC01Ni43IDE4LjUtODMuMyAxMi4xLTIzLjQgMzAuMS0zNy40IDQ2LjEtMzkuMSAxNi41LTEuNyAyOS42IDYuMyAzOS43IDE0LjkgMTAuNiA5IDIxLjMgMjguOCAyMS4zIDI4LjhsMjQuOS00OS44IDMuNiAyMS44eiJdfSxkTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ3JhdiIsaWNvbjpbNTEyLDUxMixbXSwiZjJkNiIsIk0zMDIuNiAyMTAuNmM0LjUgNC41IDQuNSAxMi4zIDAgMTYuOGwtMTAgMTBjLTQuNSA0LjktMTIuMyA0LjktMTcuMSAwbC0xMC44LTEwLjhjLTQuNS00LjktNC41LTEyLjMgMC0xNy4xbDEwLTEwYzQuNS00LjUgMTIuMy00LjUgMTcuMSAwbDEwLjggMTEuMXptLTMxLjItMjAuM2E3LjcgNy43IDAgMSAwIC0xMC42LTExIDcuNyA3LjcgMCAxIDAgMTAuNiAxMXptLTI2LjggNS41YTcuNSA3LjUgMCAxIDAgMTAuNyAxMC41IDcuNSA3LjUgMCAxIDAgLTEwLjctMTAuNXpNMzE5LjQgMTgyYy0yMC41LTE0LjktMzQuOS00NC42LTEyLjMtNzAuMyAyMi4zLTI1LjcgNDItMTcuOCA2MS43IC44IDEyLjMgMTEuNyAzMC4yIDI1LjcgMTcuOCA0OS44LTEyLjkgMjQuMy00Ni42IDM0LjMtNjcuMiAxOS43em00OS4yLTQ1LjljLTkuMi0xMC4zLTI0LjEgNy4xLTE2IDE2LjYgNy42IDkuMyAzMy4xIDIuNSAxNi0xNi42ek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem00NDMuNyA0NGMyLjYtMTYuNi0yMC45LTE3LjEtMjYtMjYuNS0xNC0yNC45LTI4LjYtMzgtNTYuMy0zMS40IDEyLTguMyAyNC4zLTYuMyAyNC4zLTYuMyAuMy02LjYgMC0xMy40LTkuNy0yNS43IDQtMTIuOSAuMy0yMy4xIC4zLTIzLjEgMTYtOC45IDI3LjctMjUuMiAzMC00NC42IDMuNy0zMi0xOS40LTYxLjEtNTEuNC02NC44LTIyLjgtMi42LTQ1LjEgNy45LTU2LjEgMjYuNS0yMy45IDQxLjQgMS40IDczLjIgMjMuMSA4NC0xNC45LTEuNC0zNS40LTEyLjMtNDEuNC0zNS40LTYuOC0yNi41IDIuOS01MS40IDkuMi02My40IDAgMC00LjUtNi04LjMtOS4yIDAgMC0xNC4yIDAtMjUuNCA1LjUgMTIuMy0xNS43IDI2LTE0LjkgMjYtMTQuOSAwLTYuNi0uNi0xNS40LTMuNy0yMi4zLTUuNi0xMS40LTI0LjYtMTMuMy0zMi43IDIuOSAuMS0uMiAuMy0uNCAuNC0uNS01LjIgMTIuMy0xLjEgNTcuNyAxNy40IDkwLTIuNiAxLjQtOS40IDYuMy0xMy40IDEwLjMtMjIuMyAxMC01OCA2Mi4yLTU4IDYyLjItMjkuMSAxMS4xLTc5LjcgNTIuNS03Mi45IDgyLjMgLjMgMy4xIDEuNCA1LjcgMy4xIDcuNy0yLjkgMi4zLTUuNyA1LjItOC42IDguNi0xMi4zIDE0LjItNS41IDM2LjMgMTguMyAyNS4yIDE2LjMtNy40IDMwLjYtMjAuOSAzNy41LTMxLjQgMCAwLTUuNy01LjItMTYuOC00LjUgMjguNi02LjggMzUuNC05LjcgNDcuNy05LjQgOC4zIDQgOC4zLTM1LjQgOC4zLTM1LjQgMC0xNS4yLTIuMy0zMi0xMS41LTQyLjggMTIuOSAxMi42IDMwIDMzLjggMjguOSA2Mi42LS44IDE4LjktMTUuNyAyMy43LTE1LjcgMjMuNy05LjQgMTcuMS00NC42IDY4LTMxLjQgMTA5LjQgMCAwLTEwLTE1LjQtMTAuNS0yMi44LTE4IDIwLTQ4IDU0LTI1LjQgNjYuNiAyNy41IDE1LjIgMTEyLjMtOTEuNSAxMzAuMy0xNDYuOSAzNS43LTIxLjUgNTcuMi00OC44IDY2LTY3LjEgMjIuNyA0NC45IDk4LjQgOTcuNSAxMDQuNCA2MC45eiJdfSx1TXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXdzIixpY29uOls2NDAsNTEyLFtdLCJmMzc1IiwiTTE4MC40IDIwM2MtLjcgMjIuNiAxMC42IDMyLjcgMTAuOSAzOS0uMSAxLjMtLjYgMi41LTEuMyAzLjZzLTEuNyAyLTIuOCAyLjZsLTEyLjggOWMtMS43IDEuMi0zLjYgMS44LTUuNiAxLjktLjQgMC04LjIgMS44LTIwLjUtMjUuNi03LjUgOS40LTE3IDE2LjktMjcuOSAyMnMtMjIuNyA3LjctMzQuNyA3LjVjLTE2LjMgLjktNjAuNC05LjItNTguMS01Ni4yLTEuNi0zOC4zIDM0LjEtNjIuMSA3MC45LTYwIDcuMSAwIDIxLjYgLjQgNDcgNi4zbDAtMTUuNmMyLjctMjYuNS0xNC43LTQ3LTQ0LjgtNDMuOS0yLjQgMC0xOS40LS41LTQ1LjggMTAuMS03LjQgMy40LTguMyAyLjgtMTAuOCAyLjgtNy40IDAtNC40LTIxLjUtMi45LTI0LjIgNS4yLTYuNCAzNS45LTE4LjQgNjUuOS0xOC4yIDIwLjEtMS44IDQwLjEgNC40IDU1LjcgMTcuMyA2LjMgNy4xIDExLjIgMTUuNCAxNC4yIDI0LjRzNC4yIDE4LjUgMy41IDI4bDAgNjkuM3pNOTQgMjM1LjRjMzIuNC0uNSA0Ni4yLTIwIDQ5LjMtMzAuNSAyLjUtMTAuMSAyLjEtMTYuNCAyLjEtMjcuNC05LjctMi4zLTIzLjYtNC45LTM5LjYtNC45LTE1LjItMS4xLTQyLjggNS42LTQxLjcgMzIuMy0xLjIgMTYuOCAxMS4xIDMxLjQgMzAgMzAuNXptMTcwLjkgMjMuMWMtNy45IC43LTExLjUtNC45LTEyLjctMTAuNEwyMDIuNCA4My40Yy0xLTIuOC0xLjYtNS42LTEuOS04LjYtLjItMS4yIC4xLTIuNCAuOC0zLjRzMS44LTEuNiAzLTEuOGMuMiAwLTIuMSAwIDIyLjIgMCA4LjgtLjkgMTEuNiA2IDEyLjYgMTAuNEwyNzQuOSAyMjAuOCAzMDguMSA4MGMuNS0zLjIgMi45LTExLjEgMTIuOC0xMC4ybDE3LjIgMGMyLjItLjIgMTEuMS0uNSAxMi43IDEwLjRMMzg0LjEgMjIyLjcgNDIxIDgwLjFjLjUtMi4yIDIuNy0xMS40IDEyLjctMTAuNGwxOS43IDBjLjktLjEgNi4yLS44IDUuMyA4LjYtLjQgMS44IDMuNC0xMC43LTUyLjggMTY5LjktMS4xIDUuNS00LjggMTEuMS0xMi43IDEwLjRsLTE4LjcgMGMtMTAuOSAxLjItMTIuNS05LjctMTIuNy0xMC43bC0zMy4yLTEzNy4xLTMyLjggMTM3Yy0uMiAxLjEtMS43IDExLjktMTIuNyAxMC43bC0xOC4zIDAgMCAwem0yNzMuNSA1LjZjLTUuOSAwLTMzLjktLjMtNTcuNC0xMi4zLTIuMy0xLTQuMy0yLjYtNS43LTQuOHMtMi4xLTQuNi0yLjEtNy4xbDAtMTAuN2MwLTguNSA2LjItNi45IDguOC01LjkgMTAgNC4xIDE2LjUgNy4xIDI4LjggOS42IDM2LjcgNy41IDUyLjgtMi4zIDU2LjctNC41IDEzLjItNy44IDE0LjItMjUuNyA1LjMtMzQuOS0xMC41LTguOC0xNS41LTkuMS01My4xLTIxLTQuNi0xLjMtNDMuNy0xMy42LTQzLjgtNTIuNC0uNi0yOC4yIDI1LTU2LjIgNjkuNS01NiAxMi43IDAgNDYuNCA0LjEgNTUuNiAxNS42IDEuNCAyLjEgMiA0LjYgMS45IDdsMCAxMC4xYzAgNC40LTEuNiA2LjctNC45IDYuNy03LjctLjktMjEuNC0xMS4yLTQ5LjItMTAuOC02LjktLjQtMzkuOSAuOS0zOC40IDI1LS40IDE5IDI2LjYgMjYuMSAyOS43IDI2LjkgMzYuNSAxMSA0OC42IDEyLjggNjMuMSAyOS42IDE3LjEgMjIuMiA3LjkgNDguMyA0LjMgNTUuNC0xOS4xIDM3LjUtNjguNCAzNC40LTY5LjMgMzQuNHptNDAuMiAxMDQuOWMtNzAgNTEuNy0xNzEuNyA3OS4yLTI1OC41IDc5LjItMTE3LjEgLjgtMjMwLjMtNDIuMy0zMTcuMy0xMjAuNy02LjUtNS45LS44LTE0IDcuMi05LjUgOTYuNSA1NS4yIDIwNS43IDg0LjIgMzE2LjkgODQuMSA4My0uNCAxNjUuMS0xNy4zIDI0MS42LTQ5LjUgMTEuOC01IDIxLjggNy44IDEwLjEgMTYuNHptMjkuMi0zMy4zYy05LTExLjUtNTkuMy01LjQtODEuOC0yLjctNi44IC44LTcuOS01LjEtMS44LTkuNSA0MC4xLTI4LjIgMTA1LjktMjAuMSAxMTMuNC0xMC42IDcuNSA5LjUtMi4xIDc1LjQtMzkuNiAxMDYuOS01LjggNC45LTExLjMgMi4zLTguNy00LjEgOC40LTIxLjMgMjcuNC02OC41IDE4LjQtODB6Il19LHBNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnbGlkZS1nIixpY29uOls0NDgsNTEyLFtdLCJmMmE2IiwiTTQwNy4xIDIxMS4yYy0zLjUtMS40LTExLjYtMy44LTE1LjQtMy44LTM3LjEgMC02Mi4yIDE2LjgtOTMuNSAzNC41bC0uOS0uOWM3LTQ3LjMgMjMuNS05MS45IDIzLjUtMTQwLjQgMC03MS41LTM4LjItMTAwLjYtMTA4LjQtMTAwLjYtMTE1LjEgMC0xNzMuNCAxMTMuNy0xNzMuNCAxOTguNCAwIDg3LjkgNTEuMyAxMzYuNiAxMzguNiAxMzYuNiAxMiAwIDExLTEgMTEgMy44LTE2LjkgMTI4LjktOTAuOCAxMzMuMS05MC44IDk0LjYgMC0zOS4yIDQ1LTU4LjYgNDUuNS02MS0uMy0xMi4yLTQ3LTI3LjYtNTguOS0yNy42LTMzLjkgLjEtNTIuNCA1MS4yLTUyLjQgNzkuMyAwIDUxLjkgMzIuOCA4Ny45IDg1LjUgODcuOSA3Ny40IDAgMTM0LTc3LjggMTUxLjQtMTQ1LjQgMTUuMS02MC41IDExLjItNjMuMyAxOS43LTY3LjYgMzIuMi0xNi4yIDU3LjUtMjcgOTMuOC0yNyAxNy44IDAgMzAuNSAzLjcgNTguOSA4LjQgMi45IDAgNi43LTIuOSA2LjctNS44IDAtOC0zMy40LTYwLjUtNDAuOS02My40ek0yMzEuOCAxMjYuOGMtOS4zIDQ0LjctMTguNiA4OS42LTI3LjggMTM0LjMtMi4zIDEwLjItMTMuMyA3LjgtMjIgNy44LTM4LjMgMC00OS00MS44LTQ5LTczLjEgMC00NyAxOC0xMDkuMyA2MS44LTEzMy40IDctNC4xIDE0LjgtNi43IDIyLjYtNi43IDE4LjYgMCAyMCAxMy4zIDIwIDI4LjctLjEgMTQuMy0yLjcgMjguNS01LjYgNDIuNHoiXX0sZk10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImpzZmlkZGxlIixpY29uOls1NzYsNTEyLFtdLCJmMWNjIiwiTTUxMS4xIDIzNy41Yy00LjctMi42LTUuNy01LjctNi40LTEwLjgtMi40LTE2LjUtMy41LTMzLjYtOS4xLTQ5LjEtMzUuOS0xMDAtMTU0LTE0My40LTI0Ni44LTkxLjYtMjcuNCAxNS4yLTQ5IDM2LjQtNjUuNSA2My45LTMuMi0xLjUtNS41LTIuNy03LjgtMy43LTMwLjEtMTIuNC01OS0xMC4xLTg1LjMgOS4yLTI1LjUgMTguNy0zNi40IDQ0LjUtMzIuNyA3Ni40IC40IDMtMiA3LjYtNC41IDkuNS0zOS43IDMwLTU2IDc4LjEtNDEuOSAxMjQuNiAxMy44IDQ1LjYgNTcuNSA3OS44IDEwNS42IDgxLjQgMzAuMyAxIDYwLjYgLjUgOTEgLjUgODQgMCAxNjguMSAuNSAyNTIuMS0uNSA1Mi43LS42IDk2LjEtMzYuOSAxMDguMi04Ny4zIDExLjUtNDguMS0xMS4xLTk3LjMtNTYuOC0xMjIuNnptMjEuMSAxNTYuOWMtMTguMiAyMi40LTQyLjMgMzUuMy03MS4zIDM1LjctNTYuOSAuOC0xMTMuOCAuMi0xNzAuNyAuMiAwIC43LTE2MyAuMi0xNjMuNyAuMi00My45LS4zLTc2LjctMTkuOC05NS4yLTYwLTE4LjktNDEuMi00LTkwLjggMzQuMi0xMTYuMSA5LjItNi4xIDEyLjUtMTEuNiAxMC4xLTIzLjEtNS41LTI2LjQgNC41LTQ4IDI2LjQtNjMgMjMtMTUuNyA0Ny40LTE2LjEgNzItMy4xIDEwLjMgNS40IDE0LjYgMTEuNiAyMi4yLTIuNSAxNC4yLTI2LjQgMzQuNi00Ni43IDYwLjctNjEuMyA5Ny41LTU0LjQgMjI4LjQgNy42IDIzMC4yIDEzMi43IC4xIDguMiAyLjQgMTIuNCA5LjggMTUuOSA1Ny42IDI2LjggNzQuNSA5Ni4xIDM1LjEgMTQ0LjV6bS04Ny44LTgwLjVjLTUuOCAzMS4yLTM0LjYgNTUuMS02Ni43IDU1LjEtMTcgMC0zMi4xLTYuNS00NC4xLTE3LjctMjcuNy0yNS43LTcxLjEtNzUtOTUuOS05My40LTIwLjEtMTQuOS00Mi0xMi4zLTYwLjMgMy44LTUwIDQ0LjEgMTUuOSAxMjEuOCA2Ny4xIDc3LjIgNC41LTQgNy44LTkuNSAxMi43LTEyLjggOC4yLTUuNSAyMC44LS45IDEzLjIgMTAuNi0xNy40IDI2LjMtNDkuMyAzOC4yLTc4LjkgMjkuMy0yOC45LTguNy00OC44LTM2LTQ4LjYtNzAuMiAxLjItMjIuNSAxMi40LTQzLjEgMzUuNC01NiAyMi42LTEyLjYgNDYuNC0xMy4xIDY3IDIuNSA1MC44IDM4LjUgNzUuNiA4MS43IDEwNy4zIDEwMS4yIDI0LjYgMTUuMSA1NC4zIDcuNCA2OC44LTE3LjUgMjguOC00OS4yLTM0LjYtMTA1LTc4LjktNjMuNS00IDMuNy02LjkgOC45LTExLjQgMTEuNy0xMSA2LjgtMTcuMy00LjEtMTIuOC0xMC40IDIwLjctMjguNiA1MC41LTQwLjQgODMuMy0yOC4yIDMxLjQgMTEuNyA0OS4xIDQ0LjQgNDIuOCA3OC4yeiJdfSxoTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToia2V5YmFzZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjRmNSIsIk0yODYuMiA0MTlhMTggMTggMCAxIDAgMCAzNiAxOCAxOCAwIDEgMCAwLTM2ek0zOTguMSAyNzEuNGMtOS41LTE0LjYtMzkuNC01Mi40LTg3LjMtNzMuNy02LjEtMi43LTEyLjItNS4xLTE4LjQtNy4zIDQuMS05LjkgNi0yMC42IDUuOC0zMS40cy0yLjctMjEuMy03LjItMzEuMS0xMC45LTE4LjUtMTguOS0yNS43LTE3LjQtMTIuNi0yNy42LTE2Yy0xMi40LTQuMS0yMy4zLTYtMzIuNC01LjgtLjYtMi0xLjktMTEgOS40LTM1bC0yMi45LTEzLjUtNS41IDcuNmMtOC43IDEyLjEtMTYuOSAyMy42LTI0LjMgMzQuOS0yLjctLjYtNS41LTEuMS04LjMtMS4yLTQxLjUtMi40LTM5LTIuMy00MS4xLTIuMy01MC42IDAtNTAuOCA1Mi4xLTUwLjggNDUuOWwtMi40IDM2LjdjLTEuNiAyNyAxOS44IDUwLjIgNDcuNiA1MS44bDguOSAuNUMxMDYgMjE1LjUgOTAuNCAyMjcuNSA3Ni42IDI0MS40IDE0IDMwNC43IDE0IDM3NCAxNCA0MjkuOGwwIDMzLjYgMjMuMy0yOS44YzMuMSAxMy4xIDggMjUuOCAxNC42IDM3LjYgNS44IDEwLjEgMTQuOSA5LjQgMTkuNiA3LjMgNC4yLTEuOSAxMC02LjkgMy44LTIwLjEtOC0xNi44LTEzLjMtMzQuNy0xNS44LTUzLjFsNDYuOC01OS44LTI0LjcgNzQuMWM1OC4yLTQyLjQgMTU3LjQtNjEuOCAyMzYuMi0zOC42IDM0LjIgMTAuMSA2Ny40IC43IDg0LjctMjMuOCAuNy0xIDEuMi0yLjIgMS44LTMuMiAxLjggOS40IDIuNyAxOC45IDIuOCAyOC40IDAgMjMuMy0zLjcgNTIuOS0xNC45IDgxLjYtMi41IDYuNSAxLjggMTQuNSA4LjYgMTUuNyA3LjQgMS42IDE1LjMtMy4xIDE4LjQtMTEuMSA5LjYtMjUuNSAxNC42LTU0LjYgMTQuNi04Ni4yIDAtMzguNi0xMy03Ny41LTM1LjktMTEwLjl6TTE0Mi40IDEyOC42bC0xNS43LS45LTEuNCAyMS44IDEzLjEgLjhjLS42IDYuNS0uNSAxMy4xIC4zIDE5LjZsLTIyLjQtMS4zYy0xLjYtLjEtMy4yLS41LTQuNy0xLjFzLTIuOC0xLjYtMy45LTIuOC0xLjktMi42LTIuNS00LjEtLjgtMy4xLS43LTQuN0wxMDcgMTE5YzEtMTIuMiAxMy45LTExLjMgMTMuMy0xMS4zbDI5LjEgMS43Yy0yLjggNi4yLTUuMSAxMi42LTcgMTkuMnpNMjkwLjggMzAwLjhjLTIuMSAxLjYtNC44IDIuNC03LjUgMi4ycy01LjEtMS41LTYuOS0zLjVsLTkuNy0xMS41LTM0LjQgMjdjLTEuNiAxLjMtMy43IDEuOS01LjggMS43cy00LTEuMi01LjMtMi44bC0xNS44LTE4LjZjLTEuMi0xLjYtMS43LTMuNS0xLjUtNS40czEuMy0zLjcgMi44LTQuOWwzNC42LTI3LjItMTQuMS0xNi43LTE3LjEgMTMuNWMtMS42IDEuMi0zLjUgMS44LTUuNSAxLjZzLTMuOC0xLjEtNS4xLTIuNmMwIDAtMy43LTQuNC0zLjgtNC41LTEuMi0xLjYtMS43LTMuNS0xLjUtNS41czEuMy0zLjcgMi44LTQuOUwyMTQgMjI1LjJzLTE4LjUtMjItMTguNi0yMi4xYy0uOC0xLTEuMy0yLjEtMS43LTMuM3MtLjQtMi41LS4zLTMuNyAuNi0yLjQgMS4yLTMuNSAxLjUtMiAyLjUtMi44YzIuMS0xLjcgNC44LTIuNCA3LjQtMi4yczUuMSAxLjUgNi45IDMuNmw4MS4xIDk2LjNjLjggMSAxLjMgMi4xIDEuNyAzLjNzLjQgMi41IC4zIDMuNy0uNiAyLjUtMS4yIDMuNS0xLjUgMi4xLTIuNSAyLjh6TTE4Ny40IDQxOWExOCAxOCAwIDEgMCAwIDM2IDE4IDE4IDAgMSAwIDAtMzZ6Il19LG1NdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsdW1vbi1kcm9wIixpY29uOls1NzYsNTEyLFtdLCJlN2UzIiwiTTQ4MCAzMmM1MyAwIDk2IDQzIDk2IDk2bDAgMjI0YzAgNTMtNDMgOTYtOTYgOTZMOTYgNDQ4Yy01MyAwLTk2LTQzLTk2LTk2TDAgMTI4QzAgNzUgNDMgMzIgOTYgMzJsMzg0IDB6TTMwMi40IDExNC43Yy05LjgtMTYuNC0yMC41LTE2LjQtMjkuNiAwbC02OC45IDExNGMtMTAuNyAxNS42LTE2LjQgMzIuOC0xNi40IDUyLjUgMCA1MC45IDQ0LjMgOTQuMyAxMDAuMSA5NC4zIDU1IDAgMTAwLjktNDMuNSAxMDAuOS05NC4zIDAtMTkuNy02LjYtMzcuOC0xNy4yLTUyLjVsLTY4LjktMTE0eiJdfSxnTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZm9yZ2VqbyIsaWNvbjpbMzIwLDUxMixbXSwiZTg2MCIsIk0yNjEuNSAxLjJjMzQgMCA2MS42IDI3LjYgNjEuNiA2MS42cy0yNy42IDYxLjYtNjEuNiA2MS42Yy0yMyAwLTQzLjEtMTIuNy01My43LTMxLjRsLTI4LjUgMGMtMjQgMC00NyA5LjUtNjQgMjYuNXMtMjYuNSA0MC0yNi41IDY0bDAgNDMuNWMyNi0xOS41IDU3LjctMzAuMiA5MC42LTMwLjJsMjguNSAwYzEwLjYtMTguNyAzMC42LTMxLjQgNTMuNy0zMS40IDM0IDAgNjEuNiAyNy42IDYxLjYgNjEuNnMtMjcuNiA2MS42LTYxLjYgNjEuNmMtMjMgMC00My4xLTEyLjctNTMuNy0zMS40bC0yOC41IDBjLTI0IDAtNDcgOS41LTY0IDI2LjVzLTI2LjUgNDAtMjYuNSA2NGwwIDQ3LjhjMTguNyAxMC42IDMxLjQgMzAuNiAzMS40IDUzLjYgMCAzNC0yNy42IDYxLjYtNjEuNiA2MS42Uy0zIDQ4My4yLTMgNDQ5LjJjMC0yMyAxMi43LTQzLjEgMzEuNC01My42bDAtMjEyYzAtNDAgMTUuOS03OC40IDQ0LjItMTA2LjdzNjYuNy00NC4yIDEwNi43LTQ0LjJsMjguNSAwYzEwLjYtMTguNyAzMC42LTMxLjQgNTMuNy0zMS40ek01OC42IDQyMy45Yy0xNCAwLTI1LjMgMTEuMy0yNS4zIDI1LjNzMTEuMyAyNS40IDI1LjMgMjUuNCAyNS40LTExLjQgMjUuNC0yNS40LTExLjQtMjUuMy0yNS40LTI1LjN6TTI2MS41IDIwMS43YTI1LjQgMjUuNCAwIDEgMCAwIDUwLjcgMjUuNCAyNS40IDAgMSAwIDAtNTAuN3ptMC0xNjQuMmEyNS40IDI1LjQgMCAxIDAgMCA1MC43IDI1LjQgMjUuNCAwIDEgMCAwLTUwLjd6Il19LGJNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwb3N0Z3Jlc3FsIixpY29uOls1MTIsNTEyLFtdLCJlODU4IiwiTTIxOS44IDE3MS4zYzMuOSAuNSAxMy4xIDIuNyAxMi4zIDguNS0uOCA1LjktOS4yIDkuMS0xNC4yIDguNC00LjctLjctMTMuMi02LjEtMTIuMy0xMi4xbC4zLTIuMWM0LjIgMCA4LjMtMy41IDEzLjktMi43em0xNjguMS0zLjRjMTAuOCAyLjYtMS4xIDEzLjUtNi44IDE0LjMtNC4zIC42LTEyLjEtMi4yLTEyLjgtNy40LTEtNy40IDE1LjctNy45IDE5LjctNi45em0tMjItMTQwLjhjMzUuNy0uMyA4MS4zIDkuNCAxMTQuMyA1MS43IDcuMiA5LjIgMTAgMjQgOS43IDQwLjktLjggNDkuNi0yNiAxMjkuNC03MC43IDE5Ny40IDQuNSAyLjkgMTcuNiA3LjQgNTEuMSAuNSA1LjYtMS4yIDEyLjctMi4yIDE3LjYgMS42IDE4LjIgMTMuOS0xOS42IDM1LjEtMjguNCAzOS4yLTEzLjIgNi4yLTM0LjggOS41LTUxLjIgOC43LTIuMS0uMi00LjMtLjItNi4zLS42LTUuMS0xLjEtNy40LTEtOC4zLS43LTEuMSAuMy0xLjQgMi45LTEuNiAzLjgtMi44IDI0LjktNy43IDY0LjctMTAuNyA4Mi0yLjggMTYuMy03LjcgMjkuMy0xNy4yIDM5LjItOS41IDkuOS0yMi44IDE1LjctNDAuNiAxOS41LTIyLjMgNC44LTM3LjktLjEtNDguNy05LjEtMTAuMy04LjctMTUuMi0yMC40LTE4LTI3LjQtMS44LTQuNS0zLTExLjUtNC0xOS44LTIuMy0xOS44LTMuMy01MC40LTMtODMuMy0yNC42IDIyLjEtNTUgMTcuMi02OC4yIDEzLjktMTAuNS0yLjYtMzMtMTYuMS0xNy41LTI4LjcgMTEuOS05LjcgMzAuMy01LjUgNDIuMi0xNSAyLjQtMS45IDExLjQtMTAuNiAxMS40LTEzLjUtMTAtLjMtMTkuNi0yLjktMjguMS03LjUtMTMuNSAxNC41LTI2LjQgMjkuNS0zOS4zIDQ0LjYtOC4zIDkuOS0xNy40IDE1LjgtMjcuNCAxNi4yLTkuOSAuNC0xOC43LTQuNi0yNi4xLTExLjgtNy4zLTcuMS0xNC4xLTE3LjItMjAuNC0yOS0xOS0zNS41LTMzLjItODYuMS00Mi4zLTEyNi40LTYtMjYuNy05LjYtNDkuMS0xMC4xLTU5LTIuMi00NC4zIDgtNzQuMSAyNi05My4yIDE3LjktMTkgNDIuNC0yNiA2Ni4xLTI3LjQgMzUuNi0yIDcxIDguNSA4Ni42IDEzLjhsNSAxLjhjMTUuOS0xMC44IDM2LjEtMTcuNCA2MS43LTE3IDEzLjIgLjIgMjUuNSAyLjIgMzYuNyA0LjIgMTguNi03LjEgMzkuOC05LjUgNTkuNC05Ljd6bS05NiAyMC41Yy0yNC43LS40LTQyLjkgNi41LTU2LjYgMTYuOC0uOCAuNi0xLjggMS0yLjggMS4yLTE0LjQgMTEuOC0yMy45IDI4LTMwLjMgNDQuOC03LjIgMTkuMS0xMCAzOC41LTExLjEgNTEuNSA3LjYtNC4zIDE3LjktOC43IDI4LjctMTEuMiAxMC41LTIuNCAyMi40LTMuMiAzMi43IC44IDEwLjkgNC4yIDE5IDEzLjMgMjIuMiAyOC4xIDcuNSAzNC43IDYuNyA1OC4yIDIuNyA3NS45LTQuOCAyMS0xNi44IDM5LjUtMjEuOSA2MC40IDMuNS0uOSA3LjEtLjYgOS44IC4xbDcuMiAyLjljNy43IDQuNCAxMi44IDEzIDE0IDIxLjcgMiA2IC4xIDE0LjMgMCAyMC42IDYuNyAxNi4zIDcuMiAzNi4xIDYuNyA1My4zLS43IDI1LTEgNDAuMiAzLjIgNTEuNyAyLjkgNy45IDQuNyAxNi40IDEwLjQgMjIuOCAyLjYgMyA2LjEgNS41IDEwLjkgNi44IDE4LjUgNS4xIDQ0LTQuNyA1Ni42LTE4LjIgNy43LTguMiAxMi4zLTE5LjMgMTMuNC0zMy45IDEuMS0xMy42IDQuMi0yNy42IDYuMy00MS4xbDIuOS04LjhjMS43LTE0LjggMy40LTI5LjYgNS00NC40LS40LTkuMSAuOS0xNi4xIDMuOS0yMS41IDMuMS01LjcgNy42LTguOSAxMS44LTEwLjggMS44LS44IDMuOS0xLjIgNS42LTItMS42LTIuNC0zLjYtNC42LTUuMy02LjgtOC4yLTEwLjQtMTMuMy0yMi4zLTE5LjctMzMuOC04LjUtMTUuMi0yMy44LTQyLjItMzAuMS02Ny41LTQuMS0xNi40LTQuOS0zNC41IDYtNDcgOS44LTExLjIgMjYuOS0xNS41IDUxLjktMTMtMy40LTEwLTExLjQtMjcuNS0yNC44LTQ0LjctMTgtMjMtNDUuNy00NS45LTg1LjctNTMuMS03LjMtLjktMTUuMi0xLjUtMjMuNi0xLjd6bS0zMi4yIDI4MmMtOCAuNy0xNS41IDE4LjItMjEuNyAyMy4xLTYuMiA0LjktMTQuNSA3LjYtMzAgMTAuNy00LjUgLjktNy43IDEuOS05LjcgMi44IDIyLjMgMTUuOCA1OC4zIDMuMiA3Mi42LTE2LjggMS43LTIuNCAyLjEtNiAuNS0xMC4yLTEuNy00LjUtNi40LTEwLjEtMTEuOS05LjZ6TTExNy42IDQ5LjJjLTIxLjYgMS4yLTQyIDcuNS01Ni40IDIyLjgtMTQuNCAxNS4yLTI0LjIgNDAuNi0yMi4xIDgyLjUgLjQgOC41IDMuOCAzMCA5LjggNTYuNiA4LjkgMzkuOCAyMy43IDkwLjMgNDAuNiAxMjIuMiA2IDExLjEgMTcuNCAzMyAzMi44IDMyLjMgNC40LS4yIDEwLjEtMi44IDE3LTExIDEyLjYtMTQuOCAyNS4yLTI5LjUgMzguNS00My43LTE3LjktMTUuNC0yOC41LTQwLjMtMjQuOC02Ny4yIDMuNC0yNC4zIC41LTQ4LjIgMS4yLTcyLjUgLjQtMTEuOSAyLjMtMzguNyAxMi42LTY1LjggNS45LTE1LjUgMTQuNS0zMS4zIDI3LjQtNDQuMi0xNi40LTUuNC00Ny4xLTEzLjUtNzYuNi0xMS45ek00MDUuMSAzMjguOWMtMy44IDEuMS02LjcgMi4yLTguNyA1LjgtMS4zIDIuNC0yLjUgNi43LTIuMiAxNC4yIDQuOCAzLjkgMTQuMSAzLjMgMTkuOCAzLjIgMTMuOS0uMiAyOS45LTMuMSAzOS4zLTcuNSA3LjktMy43IDE0LjctOC4zIDE5LTEyLjItMzguMiA3LjctNTUuNCAyLjEtNjMuMi00LjgtMS4zIC40LTIuOSAuOS0zLjkgMS4yek0yMjUuMyAxNjQuOWMtMTUuNC01LjktMzUuNCAxLjgtNDguOSA5LjQtMy42IDItNi41IDQtNy45IDUuMiAuNCA4LjggMi44IDM2LjEtMS40IDY2LjMtNS4xIDM2LjYgMjEuNyA2Ni42IDUyLjUgNjYuNyA1LjEtMjAuOCAxNy0zOS4yIDIxLjgtNjAuMSAzLjUtMTUuMyA0LjUtMzYuNi0yLjctNjkuNy0yLjMtMTAuNS03LjQtMTUuNC0xMy40LTE3Ljd6TTM3MC4xIDQyLjJjLTE1LjItLjItMjguOCAxLjctMzkuMiAzLjggMjYgMTEuOCA0NS42IDI5LjcgNTkuNiA0Ny42IDE3LjQgMjIuMiAyNi4zIDQ0LjEgMjkgNTUgLjcgMi43IDEuMyA1LjcgLjUgOC40IC42IDE4LjktNCAzMS4zLTQuNiA0OS4yLS40IDEyLjkgMi45IDI4LjEgMy43IDQ0LjcgLjggMTUuNy0xIDMyLjUtMTEuMiA0OS41IC44IDEgMS42IDIuMSAyLjQgMy4xIDI2LjgtNDIuMiA0Ni04OC42IDU2LjMtMTI4LjUgNS41LTIxLjQgOC40LTQwLjcgOC43LTU2LjEgLjItMTUuMi0yLTI1LjQtNS44LTMwLjQtMjguMy0zNi4xLTY2LjgtNDUuOC05OS4zLTQ2LjJ6bTM1LjYgMTE5LjVjLTI1LjMtMy4yLTM3LjMgMS41LTQyLjggNy43LTYgNi44LTYuOCAxOC41LTIuOSAzNC4xIDUuNyAyMi42IDIwLjEgNDguNiAyOC43IDY0IDMuNiA2LjQgNi40IDEzLjEgMTAgMTkuNCA1LjUtMTEuNyA2LjYtMjMuNSA2LTM1LjUtLjctMTUtNC4yLTMwLjMtMy43LTQ1LjhsLjQtNy40YzEuMi0xNC4zIDQuMS0yNC42IDQuMi0zNi41eiJdfSx2TXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2VlYmx5IixpY29uOls1MTIsNTEyLFtdLCJmNWNjIiwiTTQyNS4xIDY1LjhjLTM5LjkgMC03My4zIDI1LjctODMuNyA2NC4zLTE4LjItNTguMS02NS41LTY0LjMtODUtNjQuMy0xOS44IDAtNjYuOCA2LjMtODUuMyA2NC4zLTEwLjQtMzguNi00My40LTY0LjMtODMuNy02NC4zLTQ5IDAtODcuNSAzMy45LTg3LjUgNzcuMiAwIDI5IDQuMiAzMy4zIDc3LjIgMjMzLjUgMjIuNCA2MC42IDY3LjggNjkuNCA5Mi43IDY5LjQgMzkuMiAwIDcwLTE5LjUgODUuOS01NCAxNS45IDM0LjggNDYuNyA1NC4zIDg1LjkgNTQuMyAyNSAwIDcwLjQtOS4xIDkyLjctNjkuNyA3Ni42LTIwOC42IDc3LjUtMjA1LjYgNzcuNS0yMjcuMiAuNi00OC4zLTM2LTgzLjUtODYuOS04My41em0yNi4zIDExNC44TDM4NS45IDM1Ny4xYy03LjkgMjEuNS0yMS4yIDM3LjItNDYuMiAzNy4yLTIzLjQgMC0zNy40LTEyLjQtNDQtMzMuOWwtMzkuMy0xMTcuNC0xIDAtMzkuMyAxMTcuNGMtNyAyMS41LTIwLjkgMzMuNi00NCAzMy42LTI1IDAtMzguMy0xNS43LTQ2LjItMzcuMkw2MC45IDE4MS42Yy01LjQtMTQuOC03LjktMjMuOS03LjktMzQuNSAwLTE2LjMgMTUuOC0yOS40IDM4LjMtMjkuNCAxOC43IDAgMzIgMTEuOCAzNi4xIDI5LjFsNDQgMTM5LjggMSAwIDQ0LjctMTM2LjhjNi0xOS43IDE2LjUtMzIuMSAzOS0zMi4xczMyLjkgMTIuMSAzOSAzMi4xbDQ0LjcgMTM2LjggMSAwIDQ0LTEzOS44YzQuMS0xNy4yIDE3LjQtMjkuMSAzNi4xLTI5LjEgMjIuMiAwIDM4LjMgMTMuMyAzOC4zIDM1LjctLjMgNy45LTQuMSAxNi03LjYgMjcuMnoiXX0seE10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRvY2tlciIsaWNvbjpbNjQwLDUxMixbXSwiZjM5NSIsIk0zNDkuOSAyMzYuM2wtNjYuMSAwIDAtNTkuNCA2Ni4xIDAgMCA1OS40em0wLTIwNC4zbC02Ni4xIDAgMCA2MC43IDY2LjEgMCAwLTYwLjd6bTc4LjIgMTQ0LjhsLTY2LjEgMCAwIDU5LjQgNjYuMSAwIDAtNTkuNHpNMjcxLjggMTA0LjdsLTY2LjEgMCAwIDYwLjEgNjYuMSAwIDAtNjAuMXptNzguMSAwbC02Ni4xIDAgMCA2MC4xIDY2LjEgMCAwLTYwLjF6bTI3Ni44IDEwMGMtMTQuNC05LjctNDcuNi0xMy4yLTczLjEtOC40LTMuMy0yNC0xNi43LTQ0LjktNDEuMS02My43bC0xNC05LjMtOS4zIDE0Yy0xOC40IDI3LjgtMjMuNCA3My42LTMuNyAxMDMuOC04LjcgNC43LTI1LjggMTEuMS00OC40IDEwLjdsLTQzNC43IDBjLTguNyA1MC44IDUuOCAxMTYuOCA0NCAxNjIuMSAzNy4xIDQzLjkgOTIuNyA2Ni4yIDE2NS40IDY2LjIgMTU3LjQgMCAyNzMuOS03Mi41IDMyOC40LTIwNC4yIDIxLjQgLjQgNjcuNiAuMSA5MS4zLTQ1LjIgMS41LTIuNSA2LjYtMTMuMiA4LjUtMTcuMWwtMTMuMy04Ljl6TTExNS42IDE3Ni44bC02NiAwIDAgNTkuNCA2Ni4xIDAgMC01OS40LS4xIDB6bTc4LjEgMGwtNjYuMSAwIDAgNTkuNCA2Ni4xIDAgMC01OS40em03OC4xIDBsLTY2LjEgMCAwIDU5LjQgNjYuMSAwIDAtNTkuNHptLTc4LjEtNzIuMWwtNjYuMSAwIDAgNjAuMSA2Ni4xIDAgMC02MC4xeiJdfSx5TXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWFnZW50byIsaWNvbjpbNDQ4LDUxMixbXSwiZjNjNCIsIk00NDUuOSAxMjcuOWwwIDI1Ni4xLTYzLjQgMzYuNSAwLTI1NS44LTE1OC41LTkxLjYtMTU4LjYgOTEuNiAuNCAyNTUuOS02My4zLTM2LjYgMC0yNTUuOSAyMjEuOS0xMjguMSAyMjEuNSAxMjcuOXpNMjU1LjggNDIwLjVsLTMxLjYgMTguNC0zMS44LTE4LjIgMC0yNTYtNjMuMyAzNi42IC4xIDI1NS45IDk0LjkgNTQuOSA5NS4xLTU0LjkgMC0yNTYtNjMuNC0zNi42IDAgMjU1Ljl6Il19LHdNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0b3ItYnJvd3NlciIsaWNvbjpbNTEyLDUxMixbXSwiZTgzOCIsIk0yNTYuNSA0NjUuNGwwLTMxYzk4LjMtLjMgMTc3LjktODAgMTc3LjktMTc4LjRTMzU0LjggNzcuOSAyNTYuNSA3Ny42bDAtMzFDMzcyIDQ2LjggNDY1LjQgMTQwLjUgNDY1LjQgMjU2UzM3MiA0NjUuMiAyNTYuNSA0NjUuNHptMC0xMDguNmM1NS40LS4zIDEwMC4zLTQ1LjMgMTAwLjMtMTAwLjhTMzEyIDE1NS41IDI1Ni41IDE1NS4ybDAtMzFjNzIuNiAuMyAxMzEuNCA1OS4yIDEzMS40IDEzMS44UzMyOS4xIDM4Ny42IDI1Ni41IDM4Ny44bDAtMzF6bTAtMTU1LjFjMjkuNyAuMyA1My44IDI0LjUgNTMuOCA1NC4zcy0yNCA1NC01My44IDU0LjNsMC0xMDguNnpNMCAyNTZhMjU2IDI1NiAwIDEgMCA1MTIgMCAyNTYgMjU2IDAgMSAwIC01MTIgMHoiXX0sTU10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdpdC1hbHQiLGljb246WzQ0OCw1MTIsW10sImY4NDEiLCJNNDM5LjYgMjM2LjFMMjQ0IDQwLjVDMjM4LjYgMzUgMjMxLjIgMzIgMjIzLjYgMzJzLTE1IDMtMjAuNCA4LjRsLTQwLjcgNDAuNiA1MS41IDUxLjVjMjcuMS05LjEgNTIuNyAxNi44IDQzLjQgNDMuN2w0OS43IDQ5LjdjMzQuMi0xMS44IDYxLjIgMzEgMzUuNSA1Ni43LTI2LjUgMjYuNS03MC4yLTIuOS01Ni0zNy4zbC00Ni4zLTQ2LjMgMCAxMjEuOWMyNS4zIDEyLjUgMjIuMyA0MS44IDkuMSA1NS02LjQgNi40LTE1LjIgMTAuMS0yNC4zIDEwLjFzLTE3LjgtMy42LTI0LjMtMTAuMWMtMTcuNi0xNy42LTExLjEtNDYuOSAxMS4yLTU2bDAtMTIzYy0yMC44LTguNS0yNC42LTMwLjctMTguNi00NUwxNDIuNiAxMDEgOC41IDIzNS4xQzMgMjQwLjYgMCAyNDcuOSAwIDI1NS41czMgMTUgOC41IDIwLjRMMjA0LjEgNDcxLjZjNS40IDUuNCAxMi43IDguNCAyMC40IDguNHMxNS0zIDIwLjQtOC40TDQzOS42IDI3Ni45YzUuNC01LjQgOC40LTEyLjggOC40LTIwLjRzLTMtMTUtOC40LTIwLjR6Il19LGtNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmaXJlZm94LWJyb3dzZXIiLGljb246WzUxMiw1MTIsW10sImUwMDciLCJNMTMwLjIgMTI3LjVsMCAwem0zNTEuNCA0NS40Yy0xMC42LTI1LjUtMzIuMS01My00OC45LTYxLjcgMTMuNyAyNi45IDIxLjcgNTMuOSAyNC43IDc0IDAgLjEgMCAuMyAuMSAuNC0yNy42LTY4LjgtNzQuNC05Ni41LTExMi42LTE1Ni44LTE1LTIzLjctMTAuOS0yNS4yLTEzLjEtMjQuN2wtLjEgLjFjLTQ2LjcgMjYtNzUuMyA3OC40LTgyLjYgMTIyLjctMTYuNiAuOS0zMi45IDUtNDcuOSAxMi4xLTEuNCAuNi0yLjUgMS43LTMuMSAzcy0uOSAyLjgtLjYgNC4zYy4yIC44IC42IDEuNiAxLjEgMi4zczEuMiAxLjMgMS45IDEuNyAxLjYgLjcgMi40IC44IDEuNyAwIDIuNS0uM2wuNS0uMmMxNS41LTcuMyAzMi40LTExLjIgNDkuNS0xMS4zIDYyLjgtLjYgOTcuMiA0NCAxMDcuNiA2Mi4zLTEzLTkuMi0zNi40LTE4LjItNTguOC0xNC4zIDg3LjcgNDMuOSA2NC4yIDE5NC41LTU3LjQgMTg5LjItNTkuNS0yLjYtOTcuMS01MS0xMDAuNS05MC44IDAgMCAxMS4yLTQxLjkgODAuNi00MS45IDcuNSAwIDI4LjktMjAuOSAyOS4zLTI3LS4xLTItNDIuNS0xOC45LTU5LjEtMzUuMi04LjgtOC43LTEzLjEtMTIuOS0xNi44LTE2LjEtMi0xLjctNC4xLTMuMy02LjMtNC44LTUuNi0xOS41LTUuOC00MC0uNy01OS42LTI1LjEgMTEuNC00NC42IDI5LjQtNTguNyA0NS40bC0uMSAwYy05LjctMTIuMi05LTUyLjYtOC40LTYxLjEtLjEtLjUtNy4yIDMuNy04LjIgNC4zLTguNiA2LjEtMTYuNSAxMi45LTIzLjggMjAuNC0xNi4zIDE2LjYtNDQuMSA1MC4yLTU1LjUgMTAxLjItNC41IDIwLjQtNi44IDQ0LjQtNi44IDUyLjMgMCAxMzQuNyAxMDkuMiAyNDMuOSAyNDMuOSAyNDMuOSAxMjAuNiAwIDIyMy04Ny4yIDI0MC40LTIwMi42IDExLjYtNzYuNy0xNC43LTEzMS4xLTE0LjctMTMyeiJdfSxTTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2xvdWRzbWl0aCIsaWNvbjpbNTEyLDUxMixbXSwiZjM4NCIsIk01MTIgMjI3LjZMNTEyIDI4NC41IDI4NC40IDUxMiAyMjcuNiA1MTIgMCAyODQuNCAwIDIyNy42IDIyNy42IDAgMjg0LjUgMCA1MTIgMjI3LjZ6bS0yNTYgMTYyYzE3LjggLjUgMzUuNi0yLjYgNTIuMi05LjFzMzEuOC0xNi4yIDQ0LjYtMjguNyAyMy0yNy4zIDI5LjktNDMuOCAxMC41LTM0LjEgMTAuNS01Mi0zLjYtMzUuNS0xMC41LTUyLTE3LjEtMzEuMy0yOS45LTQzLjgtMjgtMjIuMi00NC42LTI4LjctMzQuNC05LjYtNTIuMi05LjFjLTE3LjgtLjUtMzUuNiAyLjYtNTIuMiA5LjFzLTMxLjggMTYuMy00NC42IDI4LjctMjMgMjcuMy0yOS45IDQzLjgtMTAuNSAzNC4xLTEwLjUgNTIgMy42IDM1LjUgMTAuNSA1MiAxNy4xIDMxLjMgMjkuOSA0My44IDI4IDIyLjIgNDQuNiAyOC43IDM0LjQgOS42IDUyLjIgOS4xeiJdfSx6TXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2l6YXJkcy1vZi10aGUtY29hc3QiLGljb246WzY0MCw1MTIsW10sImY3MzAiLCJNMjE5LjIgMzQ1LjdjLTEuOSAxLjQtMTEuMSA4LjQtLjMgMjMuNiA0LjYgNi40IDE0LjEgMTIuOCAyMS43IDYuNiA2LjUtNC45IDcuNC0xMi45IC4zLTIzLTUuNS03LjgtMTQuMy0xMi45LTIxLjctNy4xem0zMzYuOCA3NS45Yy0uMyAxLjctLjYgMS43IC44IDAgMi4xLTQuMiA0LjItMTAuMiA1LTE5LjkgMy4xLTM4LjUtNDAuMy03MS41LTEwMS4zLTc4LTU0LjctNi0xMjQuNCA5LjItMTg4LjggNjAuNWwtLjMgMS42YzIuNiA1IDUgMTAuNyAzLjQgMjEuMmwuOCAuM2M2My45LTU4LjQgMTMxLjItNzcuMiAxODQuNC03My44IDU4LjQgMy43IDEwMCAzNCAxMDAgNjguMSAwIDEwLTIuNiAxNS43LTMuOSAyMC4yek0zOTIuMyAyNDAuNGMuOCA3LjEgNC4yIDEwLjIgOS4yIDEwLjUgNS41IC4zIDkuNC0yLjYgMTAuNS02LjYgLjgtMy40IDIuMS0yOS44IDIuMS0yOS44UzQwMi44IDIyMSAzOTkuMSAyMjVjLTMuNyAzLjctNy4zIDguNC02LjggMTUuNXptLTUwLTE1MS4xYy0yMDQuNSAwLTMyOS4yIDEzNy41LTM0MS41IDE1MS45LTEgLjUtMS4zIC44IC44IDEuMyA2MC41IDE2LjUgMTU1LjggODEuMiAxOTYuMSAyMDIuMmwxIC4zYzU1LjItNjkuOSAxNDAuOS0xMjguMSAyMzctMTI4LjEgODAuOSAwIDEzMC4yIDQyLjIgMTMwLjIgODAuNCAwIDE4LjMtNi42IDMzLjUtMjIuMyA0Ni4zIDAgMS0uMiAuOCAuOCAuOCAxNC43LTEwLjcgMjcuNS0yOC44IDI3LjUtNDguMiAwLTIyLjgtMTIuMS0zOC4yLTEyLjEtMzguMiA3LjEgNy4xIDEwLjcgMTYuMiAxMC43IDE2LjIgNS44LTQwLjkgMjctNjIuMyAyNy02Mi4zLTIuNC05LjctNi44LTE3LjgtNi44LTE3LjggNy42IDguMSAxNC40IDI3LjUgMTQuNCA0MS40IDAgMTAuNS0zLjQgMjIuOC0xMi42IDMxLjlsLjMgLjVjOC4xLTUgMTYuNS0xNi44IDE2LjUtMzggMC0xNS43LTQuNy0yNS45LTQuNy0yNS45IDUuOC01LjIgMTEuMy05LjIgMTYtMTEuOCAuOCAzLjQgMi4xIDkuNyAyLjQgMTQuOSAwIDEgLjggMS44IDEgMCAuOC01LjgtLjMtMTYuMi0uMy0xNi41IDYtMy4xIDkuNy00LjUgOS43LTQuNS0xNS43LTExMC4zLTE0NC0xOTYuOS0yOTEuMi0xOTYuOXpNMjQzIDM3OC45Yy0xMS4xIDktMjQuMiA0LjEtMzAuNi00LjItNy40LTkuNi02LjgtMjQuMSA0LjItMzIuNSAxNC44LTExLjQgMjcuMS0uNSAzMS4yIDUuNSAuMyAuNCAxMi4xIDE2LjYtNC43IDMxLjJ6bTIuMS0xMzYuNGw5LjQtMTcuOCAxMS44IDcxLTEyLjYgNi0yNC42LTI4LjggMTQuMS0yNi43IDMuNyA0LjQtMS44LTguMXptMTguNiAxMTcuNmwtLjMtLjNjMi00LjEtMi41LTYuNi0xNy41LTMxLjctMS4zLTIuNC0zLjEtMi45LTQuNC0yLjZsLS4zLS41YzcuOS01LjggMTUuNC0xMC4yIDI1LjQtMTUuN2wuNSAuM2MxLjMgMS44IDIuMSAyLjkgMy40IDQuN2wtLjMgLjVjLTEtLjMtMi40LS44LTUuMiAuMy0yLjEgLjgtNy45IDMuNy0xMi4zIDcuNmwwIDEuM2MxLjYgMi40IDMuOSA2LjYgNS44IDkuN2wuMyAwYzEwLTYuMyA3LjYtNC41IDExLjUtNy45bC4zIDBjLjUgMS44IC41IDEuOCAxLjggNS41bC0uMyAuM2MtMy4xIC42LTQuNyAuMy0xMS41IDUuNWwwIC4zYzkuNSAxNyAxMSAxNi44IDEyLjYgMTZsLjMgLjNjLTIuMyAxLjYtNi4zIDQuMi05LjcgNi42ek0zMTkgMzI3LjZjLTMuMSAxLjYtNiAyLjktMTAgNWwtLjMtLjNjMS4zLTIuNiAxLjItMi43LTExLjgtMzIuNWwtLjMtLjNjLS4yIDAtOC45IDMuNy0xMCA3LjNsLS41IDAtMS01LjggLjMtLjVjNy4zLTQuNiAyNS41LTExLjYgMjcuOC0xMi42bC41IC4zIDMuMSA1LS4zIC41Yy0zLjUtMS44LTcuNCAuOC0xMi4zIDIuNmwwIC4zYzEyLjMgMzIgMTIuNyAzMC42IDE0LjcgMzAuNmwwIC4yem00NC44LTE2LjVjLTQuMiAxLTUuMiAxLjMtOS43IDIuOWwtLjMtLjMgLjUtNC41Yy0xLTMuNC0zLjEtMTEuNS0zLjctMTMuNmwtLjMtLjNjLTMuNCAuOC04LjkgMi42LTEyLjggMy45bC0uMyAuM2MuOCAyLjYgMy4xIDkuOSA0LjIgMTMuOSAuOCAyLjQgMS44IDIuOSAyLjkgMy4xbDAgLjVjLTMuNyAxLTcuMSAyLjYtMTAuMiAzLjlsLS4zLS4zYzEtMS4zIDEtMi45IC4zLTUtMS0zLjEtOC4xLTIzLjgtOS4yLTI3LjItLjUtMS44LTEuNi0zLjEtMi42LTMuMWwwLS41YzMuMS0xIDYtMi4xIDEwLjctMy40bC4zIC4zLS4zIDQuN2MxLjMgMy45IDIuNCA3LjYgMy4xIDkuN2wuMyAwYzMuOS0xLjMgOS40LTIuOSAxMi44LTMuOWwuMy0uMy0yLjYtOS40Yy0uNS0xLjgtMS0zLjQtMi42LTMuOWwwLS4zYzQuNC0xIDcuMy0xLjggMTAuNy0yLjRsLjMgLjNjLTEgMS4zLTEgMi45LS41IDQuNCAxLjYgNi4zIDQuNyAyMC40IDYuMyAyNi41IC41IDIuNiAxLjggMy40IDIuNiAzLjl6bTMyLjItNi44bC0uMyAuM2MtNC43IC41LTE0LjEgMi40LTIyLjUgNC4ybC0uMy0uMyAuOC00LjJjLTEuNi03LjktMy40LTE4LjYtNS0yNi4yLS4zLTEuOC0uOC0yLjktMi42LTMuN2wuOC0uNWM5LjItMS42IDIwLjItMi40IDI0LjktMi42bC4zIC4zYy41IDIuNCAuOCAzLjEgMS42IDUuNWwtLjMgLjNjLTEuMS0xLjEtMy4zLTMuMi0xNi4yLS44bC0uMyAuM2MuMyAxLjYgMSA2LjYgMS42IDkuOWwuMyAuM2M5LjUtMS43IDQuOC0uMSAxMC43LTIuNGwuMyAwYzAgMS42LS4zIDEuOC0uMyA1LjJsLS4zIDBjLTQuOC0xLTIuMi0uOS0xMC4yIDBsLS4zIC4zYy4zIDIuMSAxLjYgOS40IDIuMSAxMi42bC4zIC4zYzEuMiAuNCAxNC4yLS42IDE2LjItNC43bC4zIDBjLS41IDIuNC0xIDQuMi0xLjYgNnptMTAuNy00NC41Yy00LjUgMi40LTguMSAyLjktMTEgMi45LS4yIDAtMTEuNCAxLjEtMTcuNS0xMC02LjctMTAuOC0xLTI1LjIgNS41LTMxLjcgOC44LTguMSAyMy40LTEwLjEgMjguNS0xNyA4LTEwLjMtMTMtMjIuMy0yOS42LTUuOGwtMi42LTIuOSA1LjItMTYuMmMyNS42LTEuNiA0NS4yLTMgNTAgMTYuMiAuOCAzLjEgMCA5LjQtLjMgMTIuMSAwIDIuNi0xLjggMTguOC0yLjEgMjMtLjUgNC4yLS44IDE4LjMtLjggMjAuNyAuMyAyLjQgLjUgNC4yIDEuNiA1LjUgMS42IDEuOCA1LjggMS44IDUuOCAxLjhsLS44IDQuN2MtMTEuOC0xLjEtMTAuMy0uNi0yMC40LTEtMy4yLTUuMS0yLjItMy4zLTQuMi03LjkgMCAwLTQuMiAzLjktNy4zIDUuNXpNNDQzLjkgMjgxYy02LjQtMTAuNi0xOS44LTcuMi0yMS43IDUuNS0yLjYgMTcuMSAxNC4zIDE5LjggMjAuNyAxMC4ybC4zIC4zYy0uNSAxLjgtMS44IDYtMS44IDYuM2wtLjUgLjVjLTEwLjMgNi45LTI4LjUtMi41LTI1LjctMTguNiAxLjktMTAuOSAxNC40LTE4LjkgMjguOC05LjlsLjMgLjVjMCAxLjEtLjMgMy40LS4zIDUuM3ptNS44LTg3LjdsMC02LjZjLjcgMCAxOS42IDMuMyAyNy44IDcuM2wtMS42IDE3LjVzMTAuMi05LjQgMTUuNC0xMC43YzUuMi0xLjYgMTQuOSA3LjMgMTQuOSA3LjNsLTExLjMgMTEuM2MtMTIuMS02LjQtMTkuNi0uMS0yMC43IC44LTUuMyAzOC43LTguNiA0Mi4yIDQuNCA0Ni4xbC0uNSA0LjdjLTE3LjYtNC4zLTE4LjUtNC41LTM2LjktNy4zbC44LTQuN2M3LjMgMCA3LjUtNS4zIDcuNi02LjggMCAwIDUtNTMuMiA1LTU1LjMgMC0yLjktNS0zLjctNS0zLjd6bTExIDExNC40Yy04LjEtMi4xLTE0LjEtMTEtMTAuNy0yMC43IDMuMS05LjQgMTIuMy0xMi4zIDE4LjktMTAuMiA5LjIgMi42IDEyLjggMTEuOCAxMC43IDE5LjQtMi42IDguOS05LjQgMTMuOS0xOC45IDExLjV6bTQyLjIgOS43Yy0yLjQtLjUtNy4xLTIuNC04LjYtMi45bDAtLjMgMS42LTEuOGMuNi04LjIgLjYtNy4zIC4zLTcuNi00LjgtMS44LTYuNy0yLjQtNy4xLTIuNC0xLjMgMS44LTIuOSA0LjUtMy43IDUuNWwtLjggMy40IDAgLjNjLTEuMy0uMy0zLjktMS4zLTYtMS42bDAtLjMgMi42LTEuOGMzLjQtNC43IDEwLTE0LjEgMTMuOS0yMC4ybDAtMi4xIC41LS4zYzIuMSAuOCA1LjUgMi4xIDcuNiAyLjkgLjUgLjUgLjItMS45LTEgMjUuMS0uMiAxLjggMCAyLjYgLjggMy45em0tNC43LTg5LjhjMTEuMy0xOC4zIDMwLjgtMTYuMiAzNC0zLjRsNy42LTI2LjJjMi4zLTYuMi0yLjgtOS45LTQuNS0xMS4zbDEuOC0zLjdjMTIuMiAxMC40IDE2LjQgMTQgMjIuNSAyMC40LTI1LjkgNzMuMS0zMC44IDgwLjgtMjQuNiA4NC4zbC0xLjggNC40Yy02LjQtMy4zLTguOS00LjQtMTcuOC04LjZsMi4xLTYuOGMtLjMtLjMtMy45IDMuOS05LjcgMy43LTE5LjEtMS4zLTIyLjktMzEuNy05LjctNTIuOXptMjkuMyA3OS4zYzAtNS43LTYuMy03LjktNy45LTUuMi0xLjMgMi4xIDEgNSAyLjkgOC40IDEuNiAyLjYgMi42IDYuMyAxIDkuNC0yLjYgNi4zLTEyLjQgNS4zLTE1LjQtLjggMC0uNy0uMyAuMSAxLjgtNC43bC44LS4zYy0uNiA1LjcgNi4xIDkuNiA4LjQgNSAxLTIuMS0uNS01LjUtMi4xLTguNC0xLjYtMi42LTMuNy02LjMtMS44LTkuNyAyLjctNS4xIDExLjMtNC41IDE0LjcgMi40bDAgLjUtMi40IDMuNHptMjEuMiAxMy40Yy0yLTMuMy0uOS0yLjEtNC41LTQuN2wtLjMgMGMtMi40IDQuMi01LjggMTAuNS04LjYgMTYuMi0xLjMgMi40LTEgMy40LS44IDMuOWwtLjMgLjMtNS44LTQuNCAuMy0uMyAyLjEtMS4zYzMuMS01LjggNi42LTEyLjEgOS4yLTE3bDAtLjNjLTIuNi0yLTEuMi0xLjUtNi0xLjhsMC0uMyAzLjEtMy40IC4zIDBjMy43IDIuNCAxMCA2LjggMTIuMyA4LjlsLjMgLjMtMS4zIDMuOXpNNTc1LjggMjc2bC0yLjktMi45Yy44LTIuNCAxLjgtNSAyLjEtNy42IC43LTkuNy0xMS41LTExLjgtMTEuNS01IDAgNSA3LjkgMTkuNCA3LjkgMjcuOCAwIDEwLjItNS44IDE1LjctMTMuOSAxNi41LTguNCAuOC0yMC4yLTEwLjUtMjAuMi0xMC41bDUtMTQuNCAyLjkgMi4xYy0zIDE3LjggMTcuNyAyMC40IDEzLjMgNS4yLTEuMS00LTE4LjctMzQuMiAyLjEtMzguMiAxMy42LTIuNCAyMyAxNi41IDIzIDE2LjVMNTc1LjggMjc2em0zNS42LTEwLjJjLTExLTMwLjQtNjAuNS0xMjcuNS0xOTItMTI5LjYtNTMuNC0xLTk0LjMgMTUuNC0xMzIuOCAzOGw4NS42LTkuMi05MS40IDIwLjcgMjUuMSAxOS42LTMuOS0xNi41YzcuNS0xLjcgMzkuMS04LjUgNjYuOC04LjlsLTIyLjMgODAuNGMxMy42LS43IDE5LTkgMTkuNi0yMi44bDUtMSAuMyAyNi43Yy0yMi41IDMuMi0zNy4zIDYuNy00OS41IDkuOWwxMy4xLTQzLjItNjEuNS0zNi43IDIuNCA4LjEgMTAuMiA1YzYuMyAxOC42IDE5LjQgNTYuNiAyMC40IDU4LjcgMiA0LjMgMy4yIDUuOCAxMiA0LjVsMS4xIDVjLTE2LjEgNC45LTIzLjcgNy42LTM5IDE0LjRsLTIuNC00LjdjNC40LTIuOSA4LjctMy45IDUuNS0xMi44LTIzLjctNjIuNS0yMS41LTU4LjEtMjIuOC01OS40bDIuNC00LjQgMzMuNSA2Ny4zYy0zLjgtMTEuOSAxLjcgMS43LTMzLTc4LjhsLTQxLjkgODguNSA0LjctMTMuOS0zNS45LTQyLjIgMjcuOCA5My41LTExLjggOC40Yy0xMTEuOS0xMDEuNy0xMDUuOC05OC40LTExMy43LTk4LjctNS41LS4zLTEzLjYgNS41LTEzLjYgNS41bC01LTZjMzAuNi0yMy41IDMxLjYtMjQuMyA1OC40LTQyLjdsNC4yIDcuMXMtNS44IDQuMi03LjkgNy4xYy01LjkgOS4zIDEuNyAxMy4zIDYxLjggNzUuN2wtMTguOC01OC45IDM5LjgtMTAuMiAyNS43IDMwLjYgNC40LTEyLjMtNS0yNC42IDEzLjEtMy40IC41IDMuMSAzLjctMTAuNS05NC4zIDI5LjMgMTEuMy01LTEzLjYtNDIuNCAxNy4zLTkuMiAzMC4xIDM2LjEgMjguNS0xMy4xYy0xLjQtNy41LTIuNS0xNC41LTQuNy0xOS42bDE3LjMgMTMuOSA0LjctMi4xLTU5LjItNDIuNyAyMy4xIDExLjVjMTktNi4xIDI1LjItNy41IDMyLjItOS43bDIuNiAxMWMtMTIuNiAxMi42IDEuNCAxNi44IDYuNSAxOS40bC0xMy42LTYxIDEyIDI4LjNjNC4yLTEuMyA3LjMtMi4xIDcuMy0yLjFsMi42IDguNnMtMy4xIDEtNi4zIDIuMWw4LjkgMjEgMzMuOC02NS43LTIwLjcgNjFjNDIuNC0yNC4xIDgxLjQtMzYuNyAxMzItMzUuOSA2NyAxIDE2Ny4zIDQwLjggMTk5LjggMTM5LjggLjggMi4xIDAgMi42LS44IC4zem0tNDA4LTExMy40czEuOC0uNSA0LjItMS4zbDkuNCA3LjZjLS40IDAtMy40LS4zLTExLjMgMi40bC0yLjQtOC42em0xNDMuOCAzOC41Yy0xLjYtLjYtMjYuNS00LjgtMzMuMyAyMC43bDIxLjcgMTcgMTEuNS0zNy43ek0zMTguNCA2Ny4xYy01OC40IDAtMTA2LjEgMTItMTE1IDE0LjRsMCAuOGM4LjQgMi4xIDE0LjQgNC4yIDIxLjIgMTEuOGwxLjYgLjNjNi42LTEuOCA0OS0xMy45IDExMC4yLTEzLjkgMTgwLjIgMCAzMDEuNyAxMTYuOCAzMDEuNyAyMjMuNGwwIDEwYzAgMS4zIC44IDIuNiAxLjEgLjUgLjUtMi4xIC44LTguNiAuOC0xOS42IC4zLTgzLjgtOTYuNi0yMjcuNi0zMjEuNi0yMjcuNnpNNTI5LjUgMjM2LjhjMS4zLTUuOCAwLTEyLjMtNy4zLTEzLjEtOS42LTEuMS0xNi4xIDIzLjgtMTcgMzMuNS0uOCA1LjUtMS4zIDE0LjkgNiAxNC45IDQuNyAwIDkuNy0uOSAxOC4zLTM1LjR6TTQ2OCAyNzkuN2MtMi42LS44LTkuNC0uOC0xMi42IDEwLjUtMS44IDYuOCAuNSAxMy40IDYgMTQuNyAzLjcgMS4xIDguOSAuNSAxMS44LTEwLjcgMi42LTkuOS0xLjgtMTMuNi01LjItMTQuNHptMjMgMjFjMS44IC41IDMuMSAxIDUuOCAxLjggMC0xLjggLjUtOC40IC44LTEyLjEtMSAxLjMtNS41IDguMS02LjYgMTBsMCAuM3oiXX0sQ010PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtbmQiLGljb246WzUxMiw1MTIsW10sImY0ZWIiLCJNMjU1LjYgOEMzOTcuNCA4IDUwNCAxMTguMSA1MDQgMjU2IDUwNCA0MDMuMSAzODUuNSA1MDQgMjU1LjYgNTA0IDEyMS42IDUwNCA4IDM5NC41IDggMjU2IDggMTIzLjEgMTEyLjcgOCAyNTUuNiA4em0uOCA0NC43Yy0xMTguMiAwLTIwMy43IDk3LjktMjAzLjcgMjAzLjMgMCAxMDkuOCA5MS4yIDIwMi44IDIwMy43IDIwMi44IDEwMy4yIDAgMjAyLjgtODEuMSAyMDIuOC0yMDIuOCAuMS0xMTMuOC05MC4yLTIwMy4zLTIwMi44LTIwMy4zem05NCAxNDQuM2wwIDQyLjUtMTgwLjMgMCAwLTQyLjUgMTgwLjMgMHptMCA3OS44bDAgNDIuNS0xODAuMyAwIDAtNDIuNSAxODAuMyAweiJdfSxfTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidXNwcyIsaWNvbjpbNTEyLDUxMixbXSwiZjdlMSIsIk00MjguMyAyNDEuN2MyNS44LTQxLjMgMTUuMi00OC44LTExLjctNDguOGwtMjcgMGMtLjEgMC0xLjUtMS40LTEwLjkgOC0xMS4yIDUuNi0zNy45IDYuMy0zNy45IDguNyAwIDQuNSA3MC4zLTMuMSA4OC4xIDAgOS41IDEuNS0xLjUgMjAuNC00LjQgMzItLjUgNC41IDIuNCAyLjMgMy44IC4xek0zMTYuMiAyNjQuM2M2NC0yMS4zIDk3LjMtMjMuOSAxMDItMjYuMiA0LjQtMi45LTQuNC02LjYtMjYuMi01LjgtNTEuNyAyLjItMTM3LjYgMzcuMS0xNzIuNiA1My45bC0zMC43LTkzLjMgMTk2LjYgMGMtMi43LTI4LjItMTUyLjktMjIuNi0zMzcuOS0yMi42TC01IDQxNS44YzE5Ni40LTk3LjMgMjU4LjktMTMwLjMgMzIxLjItMTUxLjV6TTYyLjcgOTZjMjUzLjMgNTMuNyAzMzAgNjUuNyAzMzIuMSA4NS4yIDM2LjQgMCA0NS45IDAgNTIuNCA2LjYgMjEuMSAxOS43LTE0LjYgNjcuNy0xNC42IDY3LjctNC40IDIuOS00MDYuNCAxNjAuMi00MDYuNCAxNjAuMkw0NDkuMyA0MTUuNyA1MTcgOTYgNjIuNyA5NnoiXX0sVE10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1sZXR0ZXJib3hkIixpY29uOls0NDgsNTEyLFtdLCJlNjJlIiwiTTM4NCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDB6TTEwNS4xIDE4N0M2Ni40IDE4NyAzNSAyMTguMyAzNSAyNTdzMzEuNCA3MCA3MC4xIDcwYzI0LjggMCA0Ni41LTEyLjggNTktMzIuMmwuNS0uNy0uNC0uNmMtNi41LTEwLjYtMTAuMi0yMy4xLTEwLjItMzYuNSAwLTEzLjYgMy45LTI2LjMgMTAuNi0zNy4xLTEyLjQtMTkuOC0zNC40LTMyLjktNTkuNS0zMi45ek0yMjQgMTg3Yy0yNC44IDAtNDYuNSAxMi44LTU5IDMyLjJsLS41IC43IC40IC42YzYuNSAxMC42IDEwLjIgMjMuMSAxMC4yIDM2LjUgMCAxMy42LTMuOSAyNi4zLTEwLjYgMzcuMSAxMi40IDE5LjcgMzQuNCAzMi45IDU5LjUgMzIuOSAyNC44IDAgNDYuNS0xMi44IDU5LTMyLjJsLjUtLjctLjQtLjZjLTYuNS0xMC42LTEwLjItMjMuMS0xMC4yLTM2LjUgMC0xMy42IDMuOS0yNi4zIDEwLjYtMzcuMS0xMi40LTE5LjctMzQuNC0zMi45LTU5LjUtMzIuOXptMTE4LjkgMGMtMjQuOCAwLTQ2LjUgMTIuOC01OSAzMi4ybC0uNSAuNyAuNCAuNmM2LjUgMTAuNiAxMC4yIDIzLjEgMTAuMiAzNi41IDAgMTMuNi0zLjkgMjYuMy0xMC42IDM3LjEgMTIuNCAxOS44IDM0LjQgMzIuOSA1OS41IDMyLjkgMzguNyAwIDcwLjEtMzEuMyA3MC4xLTcwcy0zMS40LTcwLTcwLjEtNzB6Il19LExNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtYW5kYWxvcmlhbiIsaWNvbjpbMzg0LDUxMixbXSwiZjUwZiIsIk0yMDAuNiA1MTEuOWMtMS0zLjMtMS43LTE1LjgtMS40LTI0LjYgLjYtMTUuOSAxLTI0LjcgMS40LTI4LjggLjYtNi4yIDIuOS0yMC43IDMuMy0yMS40IC42LTEgLjQtMjcuOS0uMi0zMy4xLS4zLTIuNi0uNi0xMS45LS43LTIwLjctLjEtMTYuNS0uNS0yMC4xLTIuNy0yNC44LTEuMS0yLjMtMS4yLTMuOC0xLTExLjQgLjItNC4yIC4xLTguNS0uMy0xMi43LTItMTMtMy41LTI3LjctMy4yLTMzLjlzLjQtNy4xIDIuMS05LjdjMy4xLTQuNyA2LjUtMTQgOC42LTIzLjMgMi4zLTkuOSAzLjktMTcuMiA0LjYtMjAuNyAxLjEtNS4xIDIuNi0xMC4xIDQuNC0xNS4xIDIuMy02LjIgMi41LTE1LjQgLjQtMTUuNC0uMyAwLTEuNCAxLjItMi40IDIuN3MtNC44IDQuOC04LjMgNy40Yy04LjQgNi4xLTExLjcgOS40LTEyLjcgMTIuNnMtMSA3LjItLjIgNy44Yy4zIC4yIDEuMyAyLjQgMi4xIDQuOSAxLjYgNSAxLjkgMTAuMyAuNyAxNS40LS40IDEuOC0xIDUuNS0xLjUgOC4ycy0xIDYuNS0xLjMgOC4yYy0uMiAxLjUtLjcgMy0xLjUgNC4zLTEgMS0xLjEgLjktMi4xLS41LS43LTEuNS0xLjItMy4xLTEuNC00LjctLjItMS43LTEuNi03LjEtMy4xLTExLjktMy4zLTEwLjktMy41LTE2LjItMS0yMSAuOC0xLjQgMS40LTMgMS43LTQuNiAwLTIuNC0yLjItNS4zLTcuNC05LjktNy02LjItOC42LTcuOS0xMC4yLTExLjMtMS43LTMuNi0zLjEtNC4xLTQuNS0xLjUtMS44IDMtMi42IDkuMS0zIDIybC0uMyAxMi4yIDIgMi4yYzMuMiAzLjcgMTIuMSAxNi41IDEzLjggMTkuOCAzLjQgNi43IDQuMyAxMS43IDQuNCAyMy42czEgMjIuOCAyIDI0LjdjLjQgLjcgLjUgMS40IC4zIDEuNXMuNCAyLjEgMS4zIDQuM2MxIDIuOSAxLjcgNS45IDIuMSA5IC40IDMuNSAuOSA3IDEuNyAxMC40IDIuMiA5LjYgMi44IDE0LjEgMi40IDIwLjEtLjIgMy4zLS41IDExLjEtLjcgMTcuMy0xLjMgNDEuOC0xLjggNTgtMiA2MS4yLS4xIDItLjQgMTEuNS0uNiAyMS4xLS40IDE2LjMtMS4zIDI3LjQtMi40IDI4LjYtLjYgLjctOC4xLTQuOS0xMi41LTkuNS0zLjgtMy45LTQtNC44LTIuOC05LjkgLjctMyAyLjMtMTguMyAzLjMtMzIuNiAuNC00LjggLjgtMTAuNSAxLTEyLjcgLjgtOS40IDEuNy0yMC4zIDIuNi0zNC44IC42LTguNSAxLjMtMTYuNCAxLjctMTcuN3MuOS05LjkgMS4xLTE5LjFsLjQtMTYuOC0yLjMtNC4zYy0xLjctMy4zLTQuOS02LjktMTMuMi0xNS4zLTYtNi4xLTExLjgtMTIuMy0xMi45LTEzLjhsLTItMi44IC44LTEwLjljMS4xLTE1LjcgMS4xLTQ4LjYgMC01OS4xbC0uOS04LjctMy4zLTQuNWMtNS45LTguMS01LjgtNy43LTYuMi0zMy4zLS4xLTYuMS0uNC0xMS41LS42LTEyLjEtLjgtMS45LTMtMi43LTguNS0zLTguOS0uNi0xMS0xLjktMjMuOC0xNC42LTYuMi02LTEyLjMtMTItMTMuOC0xMy4yLTIuOC0yLjQtMi44LTItLjYtOS42bDEuNC00LjYtMS43LTNjLS44LTEuNC0xLjYtMi44LTIuNi00LjEtMS4zLTEuNS01LjUtMTAuOS02LTEzLjUtLjItLjctLjItMS40LS4xLTIuMXMuNS0xLjMgLjktMS44YzIuMi0yLjkgMy40LTUuNyA0LjUtMTAuNyAyLjMtMTEuMiA3LjctMjYuMSAxMC42LTI5LjIgMy4yLTMuNSA3LjctMSA5LjQgNSAxLjMgNC44IDEuNCA5LjggLjEgMTguNi0uNSAzLjctLjkgNy40LTEgMTEuMSAwIDQgLjIgNC43IDIuMyA3LjQgMy4zIDQuNCA3LjcgNy40IDE1LjIgMTAuNSAxLjcgLjcgMy4zIDEuNyA0LjcgMi44IDExLjIgMTAuNyAxOC42IDE2LjIgMjIuOSAxNi45IDUuMiAuOCA4IDQuNSAxMCAxMy40IDEuMyA1LjcgNCAxMS4xIDUuNSAxMS4xIDEuMi0uMiAyLjMtLjcgMy4zLTEuNCAyLTEuMiAyLjItMS43IDIuMi00LjItLjMtNi0uOS0xMS45LTItMTcuOC0uNC0xLjctLjgtNC4xLS45LTUuNHMtLjYtMy44LTEtNS43Yy0yLjYtMTEuMi0zLjYtMTUuNS00LjEtMTYtMS42LTItNC4xLTEwLjItNC45LTE1LjktMS42LTExLjEtNC0xNC4yLTEyLjktMTcuNC00LjktMS44LTkuNC00LjUtMTMuMy03LjktMS4yLTEtNC0zLjItNi40LTUuMXMtNC40LTMuNS00LjYtMy44Yy0uOC0uNy0xLjctMS40LTIuNy0yLTYuMi00LjItOC44LTctMTEuMy0xMmwtMi40LTVjLS4xLTguNy0uMy0xNy4zLS40LTI2bDYuOS02LjZjNC0zLjggOC41LTcuNCAxMC42LTguNCAzLjMtMS43IDQuNC0xLjkgMTEuNC0yIDguNS0uMiAxMC4xIDAgMTEuNyAxLjZzMS40IDYuNC0uMyA4LjVjLS42IC43LTEuMSAxLjUtMS4zIDIuMyAwIC42LTIuNiA0LjktNS40IDktMS4xIDIuMi0xLjkgNC41LTIuNCA2LjggMjAuNCAxMy40IDIxLjYgMy44IDE0LjEgMjlsMTEuNCAyLjVjMy4xLTguNyA2LjUtMTcuMyA4LjYtMjYuMiAuMy03LjYtMTItNC4yLTE1LjQtOC43LTIuMy01LjkgMy4xLTE0LjIgNi4xLTE5LjIgMS42LTIuMyA2LjYtNC43IDguOC00LjEgLjkgLjIgNC4yLS40IDcuNC0xLjMgMi41LS44IDUtMS4zIDcuNS0xLjcgMi0uMiA0LjEtLjcgNi0xLjMgMy43LTEuMSA0LjUtMS4yIDYuMy0uNCAxLjkgLjYgMy44IDEuMSA1LjggMS40IDIuMSAuMyA0LjEgLjkgNiAxLjkgMS42IC45IDMuMyAxLjcgNSAyLjIgMi41IC43IDMgLjYgNy0xLjdMMjI2IDUuNCAyMzYuNyA1YzEwLjQtLjQgMTAuOC0uNSAxNS4zLTIuN0wyNTYuNSAwIDI1OSAxLjRjMS44IDEgMy4xIDIuNyA0LjkgNiAyLjQgNC41IDIuNCA0LjYgMS40IDcuNC0uOSAyLjQtLjkgMy4zLS4xIDYuNCAuNSAyIDEuMiA0IDIuMSA1LjkgLjYgMS4zIDEuMSAyLjYgMS4zIDQgLjMgNC4zIDAgNS4zLTIuNCA2LjktMi4yIDEuNS03IDcuOS03IDkuMy0uMiAxLS42IDItMS4xIDMtNSAxMS41LTYuOCAxMy42LTE0LjMgMTctOS4yIDQuMi0xMi4zIDUuMi0xNi4yIDUuMi0zLjEgMC00IC4yLTQuNSAxLjMtMS4yIDEuNC0yLjUgMi43LTQuMSAzLjctMS44IDEuMi0zLjMgMi45LTQuNCA0LjgtLjUgMS4yLTEuNCAyLjItMi41IDIuOS0uOSAuNC0xLjggMS0yLjUgMS43LTIuMiAxLjktNC42IDMuNy03IDUuNC0zLjMgMi4zLTYuOSA1LTcuOSA2LS43IC43LTEuNSAxLjMtMi40IDEuNy0uOCAuNC0xLjYgLjktMi4xIDEuNi0xLjMgMS40LTEuNSAyLjEtMS4xIDQuNiAuMyAyIC44IDQgMS40IDUuOSAxLjMgMy44IDEuMyA3LjkgMCAxMC42cy0uOSA2LjcgMS40IDkuNmMyIDIuNiAyLjIgNC42IC43IDguOC0uOCAyLjktMS4xIDUuOS0xLjEgOC45IDAgNC45IC4yIDYuMyAxLjUgOC40czEuOCAyLjUgMy4yIDIuM2MyLS4yIDIuMy0xLjEgNC43LTEyLjEgMi4yLTEwIDMuNy0xMS45IDEzLjgtMTcuMSAyLjktMS41IDcuNS00IDEwLTUuNHM2LjgtMy43IDkuNC00LjljNS45LTIuNiAxMS4yLTYuNiAxNS4yLTExLjcgNy4xLTguOCAxMC0xNi4yIDEyLjgtMzMuMyAuNC0yLjggMS4zLTUuNCAyLjktNy43IDEuNC0yLjIgMi40LTQuNyAyLjktNy4zIDEtNS4zIDIuOS05LjEgNS42LTExLjUgNC43LTQuMiA2LTEuMSA0LjYgMTAuOS0uNSAzLjktMS4xIDEwLjMtMS40IDE0LjRsLS42IDcuNGMzIDIuNyA1LjkgNS41IDguOSA4LjJsLjEgOC40Yy4xIDQuNiAuNSA5LjUgLjkgMTAuOWwuOCAyLjUtNi40IDYuM2MtOC41IDguMy0xMi45IDEzLjktMTYuOCAyMS42LTEuOCAzLjUtMy43IDcuMS00LjQgOC0yLjIgMy4xLTYuNSAxMy04LjggMjAuM2wtMi4zIDcuMi03IDYuNWMtMy44IDMuNi04IDcuMi05LjIgOC4yLTMgMi4zLTQuMyA1LjEtNC4zIDEwLS4xIDIuNSAuNCA1IDEuNiA3LjMgLjggMS42IDEuNSAzLjIgMi4xIDQuOCAuMyAxIC45IDIgMS42IDIuOSAxLjQgMS42IDEuOSAxNi4xIC44IDIzLjItLjcgNC41LTMuNiAxMi00LjcgMTItMS44IDAtNC4xIDkuMy01LjEgMjAuNy0uMiAyLS42IDUuOS0xIDguN3MtMSAxMC0xLjQgMTZjLS44IDEyLjItLjIgMTguOCAyIDIzLjIgMy40IDYuNyAuNSAxMi43LTExIDIyLjhsLTQgMy41IC4xIDUuMmMuMSAzIC40IDYgMS4xIDguOSA0LjYgMTYgNC43IDE2LjkgNC40IDM3LjEtLjUgMjYuNC0uMyA0MC4zIC42IDQ0LjIgLjUgMi4zIC45IDQuNiAxLjEgNyAuMiAyIC43IDUuMyAxLjEgNy40IC41IDIuMyAuOCAxMSAuOCAyMi43bDAgMTkuMS0xLjggMi42Yy0yLjcgMy45LTE1LjEgMTMuNS0xNS41IDEyLjNsLjEgMHptMjkuNS00NS4xYy0uMi0uMy0uMy02LjktLjMtMTQuNiAwLTE0LjEtLjktMjcuNS0yLjMtMzQuNC0uNC0yLS44LTkuNy0uOS0xNy4xLS4yLTExLjktMS40LTI0LjQtMi42LTI2LjQtLjctMS4xLTMtMTcuNy0zLTIxLjMgMC00LjIgMS02IDUuMy05LjFzNC45LTMuMSA1LjUtLjdjLjMgMS4xIDEuNCA1LjYgMi42IDEwIDMuOSAxNS4xIDQuMSAxNi4zIDQgMjEuNy0uMSA1LjgtLjEgNi4xLTEuNyAxNy43LTEgNy4xLTEuMiAxMi40LTEgMjguNCAuMiAxOS40LS42IDM1LjctMiA0MS4zLS43IDIuOC0yLjggNS41LTMuNCA0LjRsLS4xIDB6bS03MS0zNy42Yy0uOC0zLjYtMS4zLTcuMi0xLjctMTAuOHMtMS03LjItMS43LTEwLjhjLS41LTIuMS0uOS00LjMtMS02LjUtLjMtMy4yLS45LTcuNS0xLjMtOS41LTEtNC44LTMuMy0xOS40LTMuNC0yMS4xIDAtLjctLjMtNC0uNy03LjQtLjctNi4yLS44LTI3LjctLjItMjguMyAxLTEgNi42IDIuOCAxMS4zIDcuNGw1LjMgNS4zLS40IDYuNWMtLjIgMy42LS42IDEwLjItLjggMTQuOC0uNSAxMy4zLS43IDguNy0xLjYgMjguNC0uOCAxNy40LTEuOSAzMS4zLTIuNiAzMi0uMSAuMS0uMiAuMS0uMiAuMnMtLjIgMC0uMyAwLS4yIDAtLjMtLjEtLjEtLjEtLjItLjJsMCAwek03MiAxNjIuNmMyMS4xIDEyLjggMTcuOCAxNC4yIDI4LjUgMTcuNyAxMyA0LjMgMTguOSA3LjEgMjMuMiAxNi45LTQzLjcgMzYuMS02OSA1Ny45LTc2LjcgNzAuOS0zMSA1Mi02IDEwMS42IDYyLjggODcuMi0xNC4yIDI5LjItNzggMjguNi05OC43LTQuOS0yNC43LTQwLTIyLjEtMTE4LjMgNjEtMTg3LjdsMCAwem0yMTAuOCAxNzljNTYuNyA2LjkgODIuMy0zNy43IDQ2LjUtODkuMiAwIDAtMjYuOS0yOS4zLTY0LjMtNjggMy0xNS41IDkuNS0zMi4xIDMwLjYtNTMuOCA4OS4yIDYzLjUgOTIgMTQxLjYgOTIuNSAxNDkuNCA0LjMgNzAuNi03OC43IDkxLjItMTA1LjMgNjEuN2wwIDB6Il19LEt1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzbGFjayIsaWNvbjpbNDQ4LDUxMixbNjI0NDcsInNsYWNrLWhhc2giXSwiZjE5OCIsIk05NC4xIDMxNS4xYzAgMjUuOS0yMS4yIDQ3LjEtNDcuMSA0Ny4xUzAgMzQxIDAgMzE1LjEgMjEuMiAyNjggNDcuMSAyNjhsNDcuMSAwIDAgNDcuMXptMjMuNyAwYzAtMjUuOSAyMS4yLTQ3LjEgNDcuMS00Ny4xUzIxMiAyODkuMiAyMTIgMzE1LjFsMCAxMTcuOGMwIDI1LjktMjEuMiA0Ny4xLTQ3LjEgNDcuMXMtNDcuMS0yMS4yLTQ3LjEtNDcuMWwwLTExNy44em00Ny4xLTE4OWMtMjUuOSAwLTQ3LjEtMjEuMi00Ny4xLTQ3LjFTMTM5IDMyIDE2NC45IDMyIDIxMiA1My4yIDIxMiA3OS4xbDAgNDcuMS00Ny4xIDB6bTAgMjMuN2MyNS45IDAgNDcuMSAyMS4yIDQ3LjEgNDcuMVMxOTAuOCAyNDQgMTY0LjkgMjQ0TDQ3LjEgMjQ0QzIxLjIgMjQ0IDAgMjIyLjggMCAxOTYuOXMyMS4yLTQ3LjEgNDcuMS00Ny4xbDExNy44IDB6bTE4OSA0Ny4xYzAtMjUuOSAyMS4yLTQ3LjEgNDcuMS00Ny4xUzQ0OCAxNzEgNDQ4IDE5Ni45IDQyNi44IDI0NCA0MDAuOSAyNDRsLTQ3LjEgMCAwLTQ3LjF6bS0yMy43IDBjMCAyNS45LTIxLjIgNDcuMS00Ny4xIDQ3LjFTMjM2IDIyMi44IDIzNiAxOTYuOWwwLTExNy44QzIzNiA1My4yIDI1Ny4yIDMyIDI4My4xIDMyczQ3LjEgMjEuMiA0Ny4xIDQ3LjFsMCAxMTcuOHptLTQ3LjEgMTg5YzI1LjkgMCA0Ny4xIDIxLjIgNDcuMSA0Ny4xUzMwOSA0ODAgMjgzLjEgNDgwIDIzNiA0NTguOCAyMzYgNDMyLjlsMC00Ny4xIDQ3LjEgMHptMC0yMy43Yy0yNS45IDAtNDcuMS0yMS4yLTQ3LjEtNDcuMVMyNTcuMiAyNjggMjgzLjEgMjY4bDExNy44IDBjMjUuOSAwIDQ3LjEgMjEuMiA0Ny4xIDQ3LjFzLTIxLjIgNDcuMS00Ny4xIDQ3LjFsLTExNy44IDB6Il19LGJlZT1LdWUsJE10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFuZ2VsbGlzdCIsaWNvbjpbMzg0LDUxMixbXSwiZjIwOSIsIk0zMTUuNiAyMTUuNGMxMS43LTMyLjYgNDUuNC0xMjYuOSA0NS40LTE1Ny4xIDAtMjYuNi0xNS43LTQ4LjktNDMuNy00OC45LTQ0LjYgMC04NC42IDEzMS43LTk3LjEgMTYzLjEtOS43LTI4LjUtNTUuMS0xNzIuNS05NS4xLTE3Mi41LTMxLjEgMC00NS43IDIyLjktNDUuNyA1MS43IDAgMzUuMyAzNC4yIDEyNi44IDQ2LjYgMTYyLTYuMy0yLjMtMTMuMS00LjMtMjAtNC4zLTIzLjQgMC00OC4zIDI5LjEtNDguMyA1Mi42IDAgOC45IDQuOSAyMS40IDggMjkuNy0zNi45IDEwLTUxLjEgMzQuNi01MS4xIDcxLjctLjEgNzIuMiA2OC4zIDE0OC42IDE2NC41IDE0OC42IDExOCAwIDE5MS40LTg4LjYgMTkxLjQtMjAyLjkgMC00My4xLTYuOS04Mi01NC45LTkzLjd6TTI4MC4yIDEwOGM0LTEyLjMgMjEuMS02NC4zIDM3LjEtNjQuMyA4LjYgMCAxMC45IDguOSAxMC45IDE2IDAgMTkuMS0zOC42IDEyNC42LTQ3LjEgMTQ4bC0zNC02IDMzLjEtOTMuN3pNMTEwLjggNDguM2MwLTExLjkgMTQuNS00NS43IDQ2LjMgNDcuMWwzNC42IDEwMC4zYy0xNS42LTEuMy0yNy43LTMtMzUuNCAxLjQtMTAuOS0yOC44LTQ1LjUtMTE5LjctNDUuNS0xNDguOHpNMTA4LjUgMjQ0YzI5LjMgMCA2Ny4xIDk0LjYgNjcuMSAxMDcuNCAwIDUuMS00LjkgMTEuNC0xMC42IDExLjQtMjAuOSAwLTc2LjktNzYuOS03Ni45LTk3LjcgLjEtNy43IDEyLjctMjEuMSAyMC40LTIxLjF6TTI5Mi44IDQzMC4zYy0yOS4xIDMyLTY2LjMgNDguNi0xMDkuNyA0OC42LTU5LjQgMC0xMDYuMy0zMi42LTEyOC45LTg4LjMtMTcuMS00My40IDMuOC02OC4zIDIwLjYtNjguMyAxMS40IDAgNTQuMyA2MC4zIDU0LjMgNzMuMSAwIDQuOS03LjcgOC4zLTExLjcgOC4zLTE2LjEgMC0yMi40LTE1LjUtNTEuMS01MS40LTI5LjcgMjkuNyAyMC41IDg2LjkgNTguMyA4Ni45IDI2LjEgMCA0My4xLTI0LjIgMzgtNDIgMy43IDAgOC4zIC4zIDExLjctLjYgMS4xIDI3LjEgOS4xIDU5LjQgNDEuNyA2MS43IDAtLjkgMi03LjEgMi03LjQgMC0xNy40LTEwLjYtMzIuNi0xMC42LTUwLjMgMC0yOC4zIDIxLjctNTUuNyA0My43LTcxLjcgOC02IDE3LjctOS43IDI3LjEtMTMuMSA5LjctMy43IDIwLTggMjcuNC0xNS40LTEuMS0xMS4yLTUuNy0yMS4xLTE2LjktMjEuMS0yNy43IDAtMTIwLjYgNC0xMjAuNi0zOS43IDAtNi43IC4xLTEzLjEgMTcuNC0xMy4xIDMyLjMgMCAxMTQuMyA4IDEzOC4zIDI5LjEgMTguMSAxNi4xIDI0LjMgMTEzLjItMzEgMTc0Ljd6bS05OC42LTEyNmM5LjcgMy4xIDE5LjcgNCAyOS43IDYtNy40IDUuNC0xNCAxMi0yMC4zIDE5LjEtMi44LTguNS02LjItMTYuOC05LjQtMjUuMXoiXX0sRE10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFuZHJvaWQiLGljb246WzU3Niw1MTIsW10sImYxN2IiLCJNNDIwLjUgMjUzLjlhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0tMjY1LjEgMGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTI3My43LTk2LjVsNDcuOS04M2MuOC0xLjEgMS4zLTIuNCAxLjUtMy44cy4yLTIuNy0uMS00LjEtLjktMi42LTEuNy0zLjctMS44LTItMy0yLjctMi41LTEuMS0zLjktMS4zLTIuNyAwLTQgLjQtMi41IDEuMS0zLjYgMS45LTEuOSAyLTIuNSAzLjJsLTQ4LjUgODQuMWMtMzguOC0xNy40LTgwLjgtMjYuNC0xMjMuMy0yNi40cy04NC41IDktMTIzLjMgMjYuNEwxMTYuMiA2NC40Yy0uNi0xLjItMS41LTIuMy0yLjUtMy4ycy0yLjMtMS41LTMuNi0xLjktMi43LS41LTQtLjQtMi43IC42LTMuOSAxLjMtMi4yIDEuNi0zIDIuNy0xLjQgMi40LTEuNyAzLjctLjMgMi43LS4xIDQuMSAuOCAyLjYgMS41IDMuOGw0Ny45IDgzQzY0LjUgMjAyLjIgOC4yIDI4NS41IDAgMzg0bDU3NiAwYy04LjItOTguNS02NC41LTE4MS44LTE0Ni45LTIyNi42eiJdfSxBTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWVldHVwIixpY29uOls1NzYsNTEyLFtdLCJmMmUwIiwiTTEzMS4xIDQxNC4zYzEuMSA1LjctMi4zIDExLjEtOCAxMi4zLTUuNCAxLjEtMTAuOS0yLjMtMTItOC0xLjEtNS40IDIuMy0xMS4xIDcuNy0xMi4zczExLjEgMi4zIDEyLjMgOHptMTQzLjEgNzEuNGMtNi4zIDQuNi04IDEzLjQtMy43IDIwIDQuNiA2LjYgMTMuNCA4LjMgMjAgMy43IDYuMy00LjYgOC0xMy40IDMuNC0yMC00LjItNi41LTEzLjEtOC4zLTE5LjctMy43em0tODYtNDYyLjNhMTEuOCAxMS44IDAgMSAwIC00LjktMjMgMTEuOCAxMS44IDAgMSAwIDQuOSAyM3pNNjYuNSAyMjYuM2EyMi4yIDIyLjIgMCAxIDAgLTI0LjcgMzYuOSAyMi4yIDIyLjIgMCAxIDAgMjQuNy0zNi45em0yNzItMTcwLjlhMjIuMSAyMi4xIDAgMSAwIC0yMi40LTM4IDIyLjEgMjIuMSAwIDEgMCAyMi40IDM4em0tMTkxLjEgNThhMTYuOSAxNi45IDAgMSAwIC0xOC44LTI4IDE2LjkgMTYuOSAwIDEgMCAxOC44IDI4em0zNzIuMyAxNTZjLTcuNCAxLjctMTIuMyA5LjEtMTAuNiAxNi45IDEuNCA3LjQgOC45IDEyLjMgMTYuMyAxMC42IDcuNC0xLjQgMTIuMy04LjkgMTAuNi0xNi42LTEuNS03LjQtOC45LTEyLjMtMTYuMy0xMC45em0zOS43LTU2LjhhMTAuMSAxMC4xIDAgMSAwIC0xOS44IDQuMyAxMC4xIDEwLjEgMCAxIDAgMTkuOC00LjN6bS04MC4zLTczLjdhMTguOCAxOC44IDAgMSAwIDIwLjcgMzEuMyAxOC44IDE4LjggMCAxIDAgLTIwLjctMzEuM3ptLTYuMyAxMzkuNGMyNi4zIDQzLjEgMTUuMSAxMDAtMjYuMyAxMjkuMS0xNy40IDEyLjMtMzcuMSAxNy43LTU2LjkgMTcuMS0xMiA0Ny4xLTY5LjQgNjQuNi0xMDUuMSAzMi42LTEuMSAuOS0yLjYgMS43LTMuNyAyLjktMzkuMSAyNy4xLTkyLjMgMTcuNC0xMTkuNC0yMi4zLTkuNy0xNC4zLTE0LjYtMzAuNi0xNS4xLTQ2LjktNjUuNC0xMC45LTkwLTk0LTQxLjEtMTM5LjctMjguMy00Ni45IC42LTEwNy40IDUzLjQtMTE0LjkgMjUuMS02Ni4yIDEwNy42LTk3LjYgMTYzLjYtNTQuMiA2Ny40LTIyLjMgMTM2LjMgMjkuNCAxMzAuOSAxMDEuMSA0MS4xIDEyLjYgNTIuOCA2Ni45IDE5LjcgOTUuMnptLTcwIDc0LjNjLTMuMS0yMC42LTQwLjktNC42LTQzLjEtMjcuMS0zLjEtMzIgNDMuNy0xMDEuMSA0MC0xMjgtMy40LTI0LTE5LjQtMjkuMS0zMy40LTI5LjQtMTMuNC0uMy0xNi45IDItMjEuNCA0LjYtMi45IDEuNy02LjYgNC45LTExLjctLjMtNi4zLTYtMTEuMS0xMS43LTE5LjQtMTIuOS0xMi4zLTItMTcuNyAyLTI2LjYgOS43LTMuNCAyLjktMTIgMTIuOS0yMCA5LjEtMy40LTEuNy0xNS40LTcuNy0yNC0xMS40LTE2LjMtNy4xLTQwIDQuNi00OC42IDIwLTEyLjkgMjIuOS0zOCAxMTMuMS00MS43IDEyNS4xLTguNiAyNi42IDEwLjkgNDguNiAzNi45IDQ3LjEgMTEuMS0uNiAxOC4zLTQuNiAyNS40LTE3LjQgNC03LjQgNDEuNy0xMDcuNyA0NC42LTExMi42IDItMy40IDguOS04IDE0LjYtNS4xIDUuNyAzLjEgNi45IDkuNCA2IDE1LjEtMS4xIDkuNy0yOCA3MC45LTI4LjkgNzcuNy0zLjQgMjIuOSAyNi45IDI2LjYgMzguNiA0IDMuNy03LjEgNDUuNy05Mi42IDQ5LjQtOTguMyA0LjMtNi4zIDcuNC04LjMgMTEuNy04IDMuMSAwIDguMyAuOSA3LjEgMTAuOS0xLjQgOS40LTM1LjEgNzIuMy0zOC45IDg3LjctNC42IDIwLjYgNi42IDQxLjQgMjQuOSA1MC42IDExLjQgNS43IDYyLjUgMTUuNyA1OC41LTExLjF6bTUuNyA5Mi4zYTIzLjMgMjMuMyAwIDEgMCAyNi4yIDM4LjQgMjMuMyAyMy4zIDAgMSAwIC0yNi4yLTM4LjR6Il19LEVNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmb250aWNvbnMtZmkiLGljb246WzM4NCw1MTIsW10sImYzYTIiLCJNMTE0LjQgMjI0bDkyLjQgMC0xNS4yIDUxLjItNzYuNCAwIDAgMTU3LjhjMCA4LTIuOCA5LjIgNC40IDEwbDU5LjYgNS42IDAgMzQuNC0xNzkuMiAwIDAtMzUuMiAyOS4yLTIuOGM3LjItLjggOS4yLTMuMiA5LjItMTAuOGwwLTE1NS44YzAtMy4yLTQtMy4yLTgtMy4ybC0zMC40IDAgMC01MS4yIDM4LjQgMCAwLTI4LjhjMC02OCAzNi40LTk2IDEwNi05NiA0Ni44IDAgODguOCAxMS4yIDg4LjggNzIuNEwxNjMuNiAxODBjLjQtMjUuNi02LTMxLjYtMjIuNC0zMS42LTI1LjIgMC0yNiAxMy42LTI2IDM3LjZsMCAzMmMwIDMuMi00LjggNi0uOCA2ek0zODQgNDgzbC0xNDAuOCAwIDAtMzQuNCAyOC0zLjZjNy4yLS44IDEwLjQtMi40IDEwLjQtMTBsMC0xNDhjMC01LjYtNC05LjItOS4yLTEwLjhsLTMzLjItOC44IDkuMi00MC40IDExMCAwIDAgMjA4YzAgOC0zLjYgOC44IDQgMTBsMjEuNiAzLjYgMCAzNC40ek0zNTQgMTM1LjhsMTIuNCA0NS42LTEwIDEwLTQyLjgtMjIuOC00Mi44IDIyLjgtMTAtMTAgMTIuNC00NS42LTMwLTM2LjQgNC44LTEwIDM4IDAgMjEuMi0zOC40IDEyLjggMCAyMS4yIDM4LjQgMzggMCA0LjggMTMuMi0zMCAzMy4yeiJdfSxQTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGFsZmVkIixpY29uOls1NzYsNTEyLFtdLCJmM2Q4IiwiTTM4NC45IDE5My45YzAtNDcuNC01NS4yLTQ0LjItOTUuNC0yOS44LTEuMyAzOS40LTIuNSA4MC43LTMgMTE5LjggLjcgMi44IDIuNiA2LjIgMTUuMSA2LjIgMzYuOCAwIDgzLjQtNDIuOCA4My4zLTk2LjJ6TTE5MC40IDI2Ni4xYy4yIDAgNi41LTIuNyAxMS4yLTIuNyAyNi42IDAgMjAuNyA0NC4xLTE0LjQgNDQuMS0yMS41IDAtMzcuMS0xOC4xLTM3LjEtNDMgMC00MiA0Mi45LTk1LjYgMTAwLjctMTI2LjUgMS0xMi40IDMtMjIgMTAuNS0yOC4yIDExLjItOSAyNi42LTMuNSAyOS41IDExLjEgNzIuMi0yMi4yIDEzNS4yIDEgMTM1LjIgNzIgMCA3Ny45LTc5LjMgMTUyLjYtMTQwLjEgMTM4LjItLjEgMzkuNCAuOSA3NC40IDIuNyAxMDBsMCAuMmMuMiAzLjQgLjYgMTIuNS01LjMgMTkuMS05LjYgMTAuNi0zMy40IDEwLTM2LjQtMjIuMy00LjEtNDQuNCAuMi0yMDYuMSAxLjQtMjQyLjUtMjEuNSAxNS01OC41IDUwLjMtNTguNSA3NS45IC4yIDIuNSAuNCA0IC42IDQuNnpNOCAxODEuMXMtLjEgMzcuNCAzOC40IDM3LjRsMzAgMCAyMi40IDIxNy4yczAgNDQuMyA0NC43IDQ0LjNsMjg4LjkgMHM0NC43LS40IDQ0LjctNDQuM2wyMi40LTIxNy4yIDMwIDBzMzguNCAxLjIgMzguNC0zNy40YzAgMCAuMS0zNy40LTM4LjQtMzcuNGwtMzAuMSAwYy03LjMtMjUuNi0zMC4yLTc0LjMtMTE5LjQtNzQuM2wtMjggMCAwLTE5LjFzLTIuNy0xOC40LTIxLjEtMTguNGwtODUuOCAwUzIyNCAzMS45IDIyNCA1MC4zbDAgMTkuMS0yOC4xIDBzLTEwNSA0LjItMTIwLjUgNzQuM2wtMjkgMFM4IDE0Mi41IDggMTgxLjF6Il19LElNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3cGJlZ2lubmVyIixpY29uOls1MTIsNTEyLFtdLCJmMjk3IiwiTTQ2My4yIDMyMi40YzU2LjIgNjQuMyA0LjIgMTU3LjYtOTEuOSAxNTcuNi0zOS42IDAtNzguOC0xNy43LTEwMC4xLTUwLTYuOSAuNC0yMi43IC40LTI5LjYgMC0yMS40IDMyLjQtNjAuNiA1MC0xMDAuMSA1MC05NS41IDAtMTQ4LjMtOTMtOTEuOS0xNTcuNi03OS4xLTEzMS45IDMxLjMtMjkwLjQgMjA2LjgtMjkwLjQgMTc1LjYgMCAyODUuOSAxNTguNiAyMDYuOCAyOTAuNHptLTMzOS42LTgzbDQxLjUgMCAwLTU4LjEtNDEuNSAwIDAgNTguMXptMjE3LjIgODYuMWwwLTIzLjhjLTYwLjUgMjAuOS0xMzIuNCA5LjItMTg3LjYtMzRsLjIgMjQuOWM1MS4xIDQ2LjQgMTMxLjcgNTcuOSAxODcuMyAzMi45ek0xOTAgMjM5LjRsMTY2LjEgMCAwLTU4LjEtMTY2LjEgMCAwIDU4LjF6Il19LE5NdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkaWFzcG9yYSIsaWNvbjpbNDQ4LDUxMixbXSwiZjc5MSIsIk0yMTkuNyAzNTQuNmMtMS40IDAtODggMTE5LjktODguNyAxMTkuOVM0NC40IDQxNCA0NCA0MTMuMyAxMzAuNiAyODcuNSAxMzAuNiAyODUuOGMwLTIuMi0xMjkuNi00NC0xMzcuNi00Ny4xLTEuMy0uNSAzMS40LTEwMS44IDMxLjctMTAyLjEgLjYtLjcgMTQ0LjQgNDcgMTQ1LjUgNDcgLjQgMCAuOS0uNiAxLTEuMyAuNC0yIDEtMTQ4LjYgMS43LTE0OS42IC44LTEuMiAxMDQuNS0uNyAxMDUuMS0uMyAxLjUgMSAzLjUgMTU2LjEgNi4xIDE1Ni4xIDEuNCAwIDEzOC43LTQ3IDEzOS4zLTQ2LjMgLjggLjkgMzEuOSAxMDIuMiAzMS41IDEwMi42LS45IC45LTE0MC4yIDQ3LjEtMTQwLjYgNDguOC0uMyAxLjQgODIuOCAxMjIuMSA4Mi41IDEyMi45cy04NS41IDYzLjUtODYuMyA2My41Yy0xLS4yLTg5LTEyNS41LTkwLjktMTI1LjVsMCAweiJdfSxSTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicHJvZHVjdC1odW50IixpY29uOls1MTIsNTEyLFtdLCJmMjg4IiwiTTMyNi4zIDIxOC44YzAgMjAuNS0xNi43IDM3LjItMzcuMiAzNy4ybC03MC4zIDAgMC03NC40IDcwLjMgMGMyMC41IDAgMzcuMiAxNi43IDM3LjIgMzcuMnpNOCAyNTZhMjQ4IDI0OCAwIDEgMSA0OTYgMCAyNDggMjQ4IDAgMSAxIC00OTYgMHptMzY3LjktMzcuMmMwLTQ3LjktMzguOS04Ni44LTg2LjgtODYuOGwtMTE5LjkgMCAwIDI0OCA0OS42IDAgMC03NC40IDcwLjMgMGM0Ny45IDAgODYuOC0zOC45IDg2LjgtODYuOHoiXX0sT010PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS11cHdvcmsiLGljb246WzQ0OCw1MTIsW10sImU2N2MiLCJNNTYgMzJsMzM2IDBjMzAuOSAwIDU2IDI1LjEgNTYgNTZsMCAzMzZjMCAzMC45LTI1LjEgNTYtNTYgNTZMNTYgNDgwYy0zMC45IDAtNTYtMjUuMS01Ni01NkwwIDg4QzAgNTcuMSAyNS4xIDMyIDU2IDMyek0yNzAuOSAyNzQuMmM2LjYtNTIuOSAyNS45LTY5LjUgNTEuNC02OS41IDI1LjMgMCA0NC45IDIwLjIgNDQuOSA0OS43cy0xOS43IDQ5LjctNDQuOSA0OS43Yy0yNy45IDAtNDYuMy0yMS41LTUxLjQtMjkuOXptLTI2LjctNDEuOGMtOC4yLTE1LjUtMTQuMy0zNi4zLTE5LjItNTUuNmwtNjIuOSAwIDAgNzguMWMwIDI4LjQtMTIuOSA0OS40LTM4LjIgNDkuNFM4NC4xIDI4My40IDg0LjEgMjU1bC4zLTc4LjEtMzYuMiAwIDAgNzguMWMwIDIyLjggNy40IDQzLjUgMjAuOSA1OC4yIDEzLjkgMTUuMiAzMi44IDIzLjIgNTQuOCAyMy4yIDQzLjcgMCA3NC4yLTMzLjUgNzQuMi04MS41bDAtNTIuNWM0LjYgMTcuMyAxNS40IDUwLjUgMzYuMiA3OS43bC0xOS4zIDExMC41IDM2LjggMCAxMi44LTc4LjRjNC4yIDMuNSA4LjcgNi42IDEzLjQgOS40IDEyLjMgNy44IDI2LjQgMTIuMiA0MC45IDEyLjZsMy40IDBjNDUuMSAwIDgwLjktMzQuOSA4MC45LTgxLjlzLTM1LjktODIuMi04MC45LTgyLjJjLTQ1LjQgMC03MC45IDI5LjctNzguMSA2MC4xbDAgLjJ6Il19LEZNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjdXR0bGVmaXNoIixpY29uOls0NDgsNTEyLFtdLCJmMzhjIiwiTTM0OCAzMDUuNWMtMTcuNSAzMS42LTU3LjQgNTQuNS05NiA1NC41LTU2LjYgMC0xMDQtNDcuNC0xMDQtMTA0czQ3LjQtMTA0IDEwNC0xMDRjMzguNiAwIDc4LjUgMjIuOSA5NiA1NC41IDEzLjctNTAuOSA0MS43LTkzLjMgODctMTE3LjgtNDUuMy00OS42LTExMC41LTgwLjctMTgzLTgwLjctMTM3IDAtMjQ4IDExMS0yNDggMjQ4UzExNSA1MDQgMjUyIDUwNGM3Mi41IDAgMTM3LjctMzEuMSAxODMtODAuNy00NS4zLTI0LjUtNzMuMy02Ni45LTg3LTExNy44eiJdfSxCTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWVkYXBwcyIsaWNvbjpbMzIwLDUxMixbXSwiZjNjNiIsIk0xMTguMyAyMzguNGMzLjUtMTIuNSA2LjktMzMuNiAxMy4yLTMzLjYgOC4zIDEuOCA5LjYgMjMuNCAxOC42IDM2LjYgNC42LTIzLjUgNS4zLTg1LjEgMTQuMS04Ni43IDktLjcgMTkuNyA2Ni41IDIyIDc3LjUgOS45IDQuMSA0OC45IDYuNiA0OC45IDYuNiAxLjkgNy4zLTI0IDcuNi00MCA3LjgtNC42IDE0LjgtNS40IDI3LjctMTEuNCAyOC00LjcgLjItOC4yLTI4LjgtMTcuNS00OS42bC05LjQgNjUuNWMtNC40IDEzLTE1LjUtMjIuNS0yMS45LTM5LjMtMy4zLS4xLTYyLjQtMS42LTQ3LjYtNy44bDMxLTV6TTIyOCA0NDhjMjEuMiAwIDIxLjItMzIgMC0zMkw5MiA0MTZjLTIxLjIgMC0yMS4yIDMyIDAgMzJsMTM2IDB6bS0yNCA2NGMyMS4yIDAgMjEuMi0zMiAwLTMybC04OCAwYy0yMS4yIDAtMjEuMiAzMiAwIDMybDg4IDB6bTM0LjItMTQxLjVjMy4yLTE4LjkgNS4yLTM2LjQgMTEuOS00OC44IDcuOS0xNC43IDE2LjEtMjguMSAyNC00MSAyNC42LTQwLjQgNDUuOS03NS4yIDQ1LjktMTI1LjUgMC04NS42LTcxLjgtMTU1LjItMTYwLTE1NS4yUzAgNjkuNiAwIDE1NS4yYzAgNTAuMiAyMS4zIDg1LjEgNDUuOSAxMjUuNSA3LjkgMTIuOSAxNiAyNi4zIDI0IDQxIDYuNyAxMi41IDguNyAyOS44IDExLjkgNDguOSAzLjUgMjEgMzYuMSAxNS43IDMyLjYtNS4xLTMuNi0yMS43LTUuNi00MC43LTE1LjMtNTguNi0zMi42LTYwLjQtNjYuMS05NS42LTY2LjEtMTUxLjcgMC02Ny45IDU3LTEyMy4yIDEyNy0xMjMuMlMyODcgODcuMyAyODcgMTU1LjJjMCA1Ni4xLTMzLjUgOTEuMy02Ni4xIDE1MS42LTkuNyAxOC0xMS43IDM3LjQtMTUuMyA1OC42LTMuNCAyMC42IDI5IDI2LjQgMzIuNiA1LjF6Il19LEhNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwaXgiLGljb246WzUxMiw1MTIsW10sImU0M2EiLCJNMjQyLjQgMjkyLjVjNS40LTUuNCAxNC43LTUuNCAyMC4xIDBsNzcgNzdjMTQuMiAxNC4yIDMzLjEgMjIgNTMuMSAyMmwxNS4xIDAtOTcuMSA5Ny4xYy0zMC4zIDI5LjUtNzkuNSAyOS41LTEwOS44IDBsLTk3LjUtOTcuNCA5LjMgMGMyMCAwIDM4LjktNy44IDUzLjEtMjJsNzYuNy03Ni43em0yMC4xLTczLjZjLTYuNCA1LjUtMTQuNiA1LjYtMjAuMSAwbC03Ni43LTc2LjdjLTE0LjItMTUuMS0zMy4xLTIyLTUzLjEtMjJsLTkuMyAwIDk3LjQtOTcuNGMzMC40LTMwLjMgNzkuNi0zMC4zIDEwOS45IDBsOTcuMiA5Ny4xLTE1LjIgMGMtMjAgMC0zOC45IDcuOC01My4xIDIybC03NyA3N3pNMTEyLjYgMTQyLjdjMTMuOCAwIDI2LjUgNS42IDM3LjEgMTUuNGw3Ni43IDc2LjdjNy4yIDYuMyAxNi42IDEwLjggMjYuMSAxMC44IDkuNCAwIDE4LjgtNC41IDI2LTEwLjhsNzctNzdjOS44LTkuNyAyMy4zLTE1LjMgMzcuMS0xNS4zbDM3LjcgMCA1OC4zIDU4LjNjMzAuMyAzMC4zIDMwLjMgNzkuNSAwIDEwOS44bC01OC4zIDU4LjMtMzcuNyAwYy0xMy44IDAtMjcuMy01LjYtMzcuMS0xNS40bC03Ny03N2MtMTMuOS0xMy45LTM4LjItMTMuOS01Mi4xIC4xbC03Ni43IDc2LjZjLTEwLjYgOS44LTIzLjMgMTUuNC0zNy4xIDE1LjRsLTMxLjggMC01OC01OGMtMzAuMy0zMC4zLTMwLjMtNzkuNSAwLTEwOS44bDU4LTU4LjEgMzEuOCAweiJdfSxadWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXR1bWJsciIsaWNvbjpbNDQ4LDUxMixbInR1bWJsci1zcXVhcmUiXSwiZjE3NCIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMjU2LjggNDE2Yy03NS41IDAtOTEuOS01NS41LTkxLjktODcuOWwwLTkwLTI5LjcgMGMtMy40IDAtNi4yLTIuOC02LjItNi4ybDAtNDIuNWMwLTQuNSAyLjgtOC41IDcuMS0xMCAzOC44LTEzLjcgNTAuOS00Ny41IDUyLjctNzMuMiAuNS02LjkgNC4xLTEwLjIgMTAtMTAuMmw0NC4zIDBjMy40IDAgNi4yIDIuOCA2LjIgNi4ybDAgNzIgNTEuOSAwYzMuNCAwIDYuMiAyLjggNi4yIDYuMmwwIDUxLjFjMCAzLjQtMi44IDYuMi02LjIgNi4ybC01Mi4xIDAgMCA4My4zYzAgMjEuNCAxNC44IDMzLjUgNDIuNSAyMi40IDMtMS4yIDUuNi0yIDgtMS40IDIuMiAuNSAzLjYgMi4xIDQuNiA0LjlMMzE4IDM4Ny4xYzEgMy4yIDIgNi43LS4zIDkuMS04LjUgOS4xLTMxLjIgMTkuOC02MC45IDE5Ljh6Il19LHFNdD1adWUsVk10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlYWN0IixpY29uOls1MTIsNTEyLFtdLCJmNDFiIiwiTTQxOC4yIDE3Ny4yYy01LjQtMS44LTEwLjgtMy41LTE2LjItNS4xIC45LTMuNyAxLjctNy40IDIuNS0xMS4xIDEyLjMtNTkuNiA0LjItMTA3LjUtMjMuMS0xMjMuMy0yNi4zLTE1LjEtNjkuMiAuNi0xMTIuNiAzOC40LTQuMyAzLjctOC41IDcuNi0xMi41IDExLjUtMi43LTIuNi01LjUtNS4yLTguMy03LjctNDUuNS00MC40LTkxLjEtNTcuNC0xMTguNC00MS41LTI2LjIgMTUuMi0zNCA2MC4zLTIzIDExNi43IDEuMSA1LjYgMi4zIDExLjEgMy43IDE2LjctNi40IDEuOC0xMi43IDMuOC0xOC42IDUuOS01My40IDE4LjUtOTEuNyA0Ny43LTkxLjcgNzcuOSAwIDMxLjIgNDAuOCA2Mi41IDk2LjMgODEuNSA0LjUgMS41IDkgMyAxMy42IDQuMy0xLjUgNi0yLjggMTEuOS00IDE4LTEwLjUgNTUuNS0yLjMgOTkuNSAyMy45IDExNC42IDI3IDE1LjYgNzIuNC0uNCAxMTYuNi0zOS4xIDMuNS0zLjEgNy02LjMgMTAuNS05LjcgNC40IDQuMyA5IDguNCAxMy42IDEyLjQgNDIuOCAzNi44IDg1LjEgNTEuNyAxMTEuMiAzNi42IDI3LTE1LjYgMzUuOC02Mi45IDI0LjQtMTIwLjUtLjktNC40LTEuOS04LjktMy0xMy41IDMuMi0uOSA2LjMtMS45IDkuNC0yLjkgNTcuNy0xOS4xIDk5LjUtNTAgOTkuNS04MS43IDAtMzAuMy0zOS40LTU5LjctOTMuOC03OC40ek0yODIuOSA5Mi4zYzM3LjItMzIuNCA3MS45LTQ1LjEgODcuNy0zNiAxNi45IDkuNyAyMy40IDQ4LjkgMTIuOCAxMDAuNC0uNyAzLjQtMS40IDYuNy0yLjMgMTAtMjIuMi01LTQ0LjctOC42LTY3LjMtMTAuNi0xMy0xOC42LTI3LjItMzYuNC00Mi42LTUzLjEgMy45LTMuNyA3LjctNy4yIDExLjctMTAuN3pNMTY3LjIgMzA3LjVjNS4xIDguNyAxMC4zIDE3LjQgMTUuOCAyNS45LTE1LjYtMS43LTMxLjEtNC4yLTQ2LjQtNy41IDQuNC0xNC40IDkuOS0yOS4zIDE2LjMtNDQuNSA0LjYgOC44IDkuMyAxNy41IDE0LjMgMjYuMXpNMTM2LjkgMTg3LjJjMTQuNC0zLjIgMjkuNy01LjggNDUuNi03LjgtNS4zIDguMy0xMC41IDE2LjgtMTUuNCAyNS40LTQuOSA4LjUtOS43IDE3LjItMTQuMiAyNi02LjMtMTQuOS0xMS42LTI5LjUtMTYtNDMuNnptMjcuNCA2OC45YzYuNi0xMy44IDEzLjgtMjcuMyAyMS40LTQwLjZzMTUuOC0yNi4yIDI0LjQtMzguOWMxNS0xLjEgMzAuMy0xLjcgNDUuOS0xLjdzMzEgLjYgNDUuOSAxLjdjOC41IDEyLjYgMTYuNiAyNS41IDI0LjMgMzguN3MxNC45IDI2LjcgMjEuNyA0MC40Yy02LjcgMTMuOC0xMy45IDI3LjQtMjEuNiA0MC44LTcuNiAxMy4zLTE1LjcgMjYuMi0yNC4yIDM5LTE0LjkgMS4xLTMwLjQgMS42LTQ2LjEgMS42cy0zMC45LS41LTQ1LjYtMS40Yy04LjctMTIuNy0xNi45LTI1LjctMjQuNi0zOXMtMTQuOC0yNi44LTIxLjUtNDAuNnptMTgwLjYgNTEuMmM1LjEtOC44IDkuOS0xNy43IDE0LjYtMjYuNyA2LjQgMTQuNSAxMiAyOS4yIDE2LjkgNDQuMy0xNS41IDMuNS0zMS4yIDYuMi00NyA4IDUuNC04LjQgMTAuNS0xNyAxNS41LTI1LjZ6bTE0LjQtNzYuNWMtNC43LTguOC05LjUtMTcuNi0xNC41LTI2LjItNC45LTguNS0xMC0xNi45LTE1LjMtMjUuMiAxNi4xIDIgMzEuNSA0LjcgNDUuOSA4LTQuNiAxNC44LTEwIDI5LjItMTYuMSA0My40ek0yNTYuMiAxMTguM2MxMC41IDExLjQgMjAuNCAyMy40IDI5LjYgMzUuOC0xOS44LS45LTM5LjctLjktNTkuNSAwIDkuOC0xMi45IDE5LjktMjQuOSAyOS45LTM1Ljh6TTE0MC4yIDU3YzE2LjgtOS44IDU0LjEgNC4yIDkzLjQgMzkgMi41IDIuMiA1IDQuNiA3LjYgNy0xNS41IDE2LjctMjkuOCAzNC41LTQyLjkgNTMuMS0yMi42IDItNDUgNS41LTY3LjIgMTAuNC0xLjMtNS4xLTIuNC0xMC4zLTMuNS0xNS41LTkuNC00OC40LTMuMi04NC45IDEyLjYtOTR6TTExNS43IDMyMC42Yy00LjItMS4yLTguMy0yLjUtMTIuNC0zLjktMjEuMy02LjctNDUuNS0xNy4zLTYzLTMxLjItMTAuMS03LTE2LjktMTcuOC0xOC44LTI5LjkgMC0xOC4zIDMxLjYtNDEuNyA3Ny4yLTU3LjYgNS43LTIgMTEuNS0zLjggMTcuMy01LjUgNi44IDIxLjcgMTUgNDMgMjQuNSA2My42LTkuNiAyMC45LTE3LjkgNDIuNS0yNC44IDY0LjV6bTExNi42IDk4Yy0xNi41IDE1LjEtMzUuNiAyNy4xLTU2LjQgMzUuMy0xMS4xIDUuMy0yMy45IDUuOC0zNS4zIDEuMy0xNS45LTkuMi0yMi41LTQ0LjUtMTMuNS05MiAxLjEtNS42IDIuMy0xMS4yIDMuNy0xNi43IDIyLjQgNC44IDQ1IDguMSA2Ny45IDkuOCAxMy4yIDE4LjcgMjcuNyAzNi42IDQzLjIgNTMuNC0zLjIgMy4xLTYuNCA2LjEtOS42IDguOXptMjQuNS0yNC4zYy0xMC4yLTExLTIwLjQtMjMuMi0zMC4zLTM2LjMgOS42IC40IDE5LjUgLjYgMjkuNSAuNiAxMC4zIDAgMjAuNC0uMiAzMC40LS43LTkuMiAxMi43LTE5LjEgMjQuOC0yOS42IDM2LjR6bTEzMC43IDMwYy0uOSAxMi4yLTYuOSAyMy42LTE2LjUgMzEuMy0xNS45IDkuMi00OS44LTIuOC04Ni40LTM0LjItNC4yLTMuNi04LjQtNy41LTEyLjctMTEuNSAxNS4zLTE2LjkgMjkuNC0zNC44IDQyLjItNTMuNiAyMi45LTEuOSA0NS43LTUuNCA2OC4yLTEwLjUgMSA0LjEgMS45IDguMiAyLjcgMTIuMiA0LjkgMjEuNiA1LjcgNDQuMSAyLjUgNjYuM3ptMTguMi0xMDcuNWMtMi44IC45LTUuNiAxLjgtOC41IDIuNi03LTIxLjgtMTUuNi00My4xLTI1LjUtNjMuOCA5LjYtMjAuNCAxNy43LTQxLjQgMjQuNS02Mi45IDUuMiAxLjUgMTAuMiAzLjEgMTUgNC43IDQ2LjYgMTYgNzkuMyAzOS44IDc5LjMgNTggMCAxOS42LTM0LjkgNDQuOS04NC44IDYxLjR6TTI1NiAzMDEuOGE0NS44IDQ1LjggMCAxIDAgMC05MS42IDQ1LjggNDUuOCAwIDEgMCAwIDkxLjZ6Il19LGpNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJodWdnaW5nLWZhY2UiLGljb246WzU3Niw1MTIsW10sImU4NjkiLCJNMjg2LjggOC4yYzEzMCAwIDIzNS40IDEwNS44IDIzNS40IDIzNi4zIDAgMTcuNy0xLjkgMzUtNS42IDUxLjctMS40IDYuNS0zLjEgMTIuOC01LjEgMTkuMSA2LjUtLjYgMTMgLjYgMTguNyAzLjUgMTIuNiA2LjUgMjAuMiAyMS43IDE4LjIgMzUuNy0uNyA0LjktMi40IDkuNC00LjggMTMuNSA1LjIgNC4yIDkgMTAuMSAxMC44IDE3LjEgMS40IDUuNSAyLjkgMTcuMS00LjggMjguOSA1LjggOS4yIDYuNiAyMC42IDIuMiAzMC42LTYuMiAxNC4xLTIxLjcgMjUuMy01MS43IDM3LjMtMzIuNSAxMy02Ny4xIDIxLjktMTAyLjMgMjEuOS0zMiAwLTU1LjktOC45LTcxLTI2LjQtMTMgMi4yLTI2LjMgMy40LTQwIDMuNC0xMi43IDAtMjUuMi0xLTM3LjMtMi45LTE1LjEgMTcuMi0zOC44IDI1LjktNzAuNiAyNS45LTM1LjEgMC03MC05LTEwMi40LTIxLjktMzAtMTItNDUuNS0yMy4xLTUxLjctMzcuMy00LjQtOS45LTMuNi0yMS40IDIuMi0zMC42LTcuNy0xMS45LTYuMy0yMy40LTQuOC0yOC45IDEuOC03IDUuNy0xMi45IDEwLjgtMTcuMS0yLjUtNC4xLTQuMS04LjYtNC44LTEzLjUtMS41LTEwLjQgMi0yMC43IDkuNy0yOS4yIDYuMS02LjcgMTUuMS0xMC4zIDI0LjItMTAuMi0xLjktNi4xLTMuNi0xMi40LTUtMTguNy0zLjctMTYuNy01LjctMzQtNS43LTUxLjggMC0xMzAuNSAxMDUuNC0yMzYuMyAyMzUuNC0yMzYuM3pNMTE3LjUgMzExYy0xMy04LjItMjIuMS0zLjYtMTkgMTMuNHM1Ny4yIDU4LjIgNTIgNjcuMmMtNS4yIDguOC0yMy41LTEwLjEtMjMuOC0xMC41IDAgMC01OC4yLTUzLjEtNzAuOC0zOS4zLTEyLjYgMTMuOCA5LjYgMjUuNCA0MS4zIDQ0LjdzMzQuMiAyNC40IDI5LjcgMzEuNy03NC41LTUyLTgxLjEtMjYuOGMtNi41IDI1LjEgNzEuNCAzMi40IDY2LjcgNDkuOC00LjggMTcuNC01NC45LTMyLjgtNjUuMi0xMy4zLTEwLjMgMTkuNiA3MC44IDQyLjYgNzEuNCA0Mi43IDI2LjIgNi44IDkyLjYgMjEuMyAxMTUuOS0xMi45IDE2LjctMjQuNiAxNS42LTQzLjEtNy40LTY2LjFzLTM2LjMtNTYuNy0zNi4zLTU2LjdjMC0uMi01LTE5LjUtMTYuMy0xNy44LTExLjQgMS44LTE5LjcgMzEgNC4xIDQ4LjkgMjMuOCAxNy45LTQuNyAzMC0xMy45IDEzLjMtOS4yLTE2LjgtMzQuMi01OS45LTQ3LjEtNjguMnptMzYwLjYgMTMuNGMzLjEtMTctNi4xLTIxLjYtMTktMTMuNC0xMyA4LjMtMzcuOSA1MS40LTQ3LjEgNjguMnMtMzcuNyA0LjYtMTMuOS0xMy4zIDE1LjQtNDcuMSA0LjEtNDguOS0xNi4zIDE3LjgtMTYuMyAxNy44Yy0uMSAuMi0xMy40IDMzLjctMzYuMyA1Ni43LTIyLjkgMjMtMjQuMSA0MS41LTcuNCA2Ni4xIDIzLjIgMzQuMiA4OS43IDE5LjcgMTE1LjkgMTIuOSAxLjUtLjQgODEuNi0yMy4zIDcxLjQtNDIuNy0xMC4zLTE5LjUtNjAuNCAzMC42LTY1LjMgMTMuMy00LjgtMTcuMyA3My4yLTI0LjYgNjYuNy00OS44LTYuNi0yNS4xLTc2LjYgMzQuMS04MS4xIDI2LjgtNC41LTcuMy0yLTEyLjQgMjkuNy0zMS43IDMxLjctMTkuMyA1NC0zMC45IDQxLjMtNDQuNy0xMi43LTEzLjgtNzAuOCAzOS4zLTcwLjggMzkuMy0uNCAuNC0xOC42IDE5LjMtMjMuOCAxMC41LTUuMy04LjkgNDguOS01MC4xIDUyLTY3LjJ6TTI4Ni44IDMyLjZjLTExNi42IDAtMjExLjEgOTQuOS0yMTEuMSAyMTEuOSAwIDE3LjEgMiAzMy44IDUuOCA0OS43IDAtLjEgLjEtLjEgLjItLjIgNi4xLTcuNCAxNC45LTExLjQgMjQuNy0xMS40IDE3LjcgMCAzMS4xIDExLjkgNDEuNSAyNC45IDYuOC05LjQgMTcuMS0xNSAyNy45LTE1IDIwLjcgMCAzMy4yIDE4LjEgMzcuOSAzNC4zIDIuMyA1LjUgMTMuNiAzMC41IDMwLjQgNDcuNCAyNS43IDI1LjggMzIuMiA1Mi40IDE5LjQgODAuOSAxNiAxLjggMzIuOCAxLjcgNDkuMi0uMy0xMi41LTI4LjQtNi01NC45IDE5LjYtODAuNiAxNi45LTE2LjkgMjguMS00MS45IDMwLjUtNDcuNCA0LjctMTYuMiAxNy4yLTM0LjMgMzcuOS0zNC4zIDEwLjkgMCAyMS4yIDUuNiAyNy45IDE1IDEwLjQtMTMgMjMuOC0yNC45IDQxLjUtMjQuOSA4LjcgMCAxNi42IDMuMSAyMi41IDguOSA1LTIyIDYuNC00NS44IDQuMS02OC43LTEwLjgtMTA2LjktMTAwLjctMTkwLjMtMjEwLTE5MC4zem0xLjUgMjM0LjJjNDMuNiAwIDc5LTQyIDc5LTE0LjUgMCAyNy40LTE5LjIgODAuOS03OC44IDgwLjktMTkuMiAwLTM0LjItNS41LTQ1LjgtMTMuOS0yMy4yLTE5LjQtMzMuNC00OC4yLTMzLjQtNjYuOSAwLTI3LjQgMzUuNCAxNC41IDc5IDE0LjV6bS0xMy4zIDI1Yy04LjIgMi40LTE1LjUgNi44LTIxLjUgMTIuNiAyMiAxMi44IDUwLjQgMTIuOSA3MS43LTEuMy01LjUtNC45LTEyLTguNy0xOS4xLTExLTUuMS0xLjYtMTAuNCAxNS44LTE2IDE1LjgtNS4yIDAtMTAuMy0xNy42LTE1LjEtMTYuMnpNMTQ3LjEgMjE1LjVhMTkuOCAxOS44IDAgMSAxIDAtMzkuNiAxOS44IDE5LjggMCAxIDEgMCAzOS42em0yODIuNCAwYTE5LjggMTkuOCAwIDEgMSAwLTM5LjYgMTkuOCAxOS44IDAgMSAxIDAgMzkuNnptLTI0NC01NS40YzcuOS0xNC45IDI2LjMtMjAuNSA0MS4xLTEyLjZzMjAuNCAyNi40IDEyLjYgNDEuMmMtMy43IDctMTUuNS00LjQtMjIuNC0xLjktNy43IDIuNy0xMC44IDE4LjctMTguNiAxNC42LTE0LjgtNy45LTIwLjQtMjYuNC0xMi42LTQxLjJ6bTE2NC40LTEyLjZjMTQuOC03LjkgMzMuMi0yLjMgNDEuMSAxMi42czIuMiAzMy4zLTEyLjYgNDEuMmMtNy44IDQuMi0xMC45LTExLjgtMTguNy0xNC42LTYuOS0yLjQtMTguNyA5LTIyLjQgMS45LTcuOS0xNC45LTIuMi0zMy4zIDEyLjYtNDEuMnoiXX0sVU10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imp4bCIsaWNvbjpbNDQ4LDUxMixbXSwiZTY3YiIsIk00MTIuMiAzMkwzNS44IDMyQzE2IDMyIDAgNDggMCA2Ny44TDAgNDQ0LjJDMCA0NjQgMTYgNDgwIDM1LjggNDgwbDM3Ni40IDBjMTkuOCAwIDM1LjgtMTYgMzUuOC0zNS44bDAtMzc2LjRDNDQ4IDQ4IDQzMiAzMiA0MTIuMiAzMnpNMzc4LjYgMzMzLjdjMCA0MC4yLTMyLjYgNzIuOC03Mi44IDcyLjhsLTIzNS42IDBjMC00MC4yIDMyLjYtNzIuOCA3Mi44LTcyLjhsMjM1LjYgMHptMC0xMTMuOWMwIDQwLjItMzIuNiA3Mi44LTcyLjggNzIuOGwtMjM1LjYgMGMwLTQwLjIgMzIuNi03Mi44IDcyLjgtNzIuOGwyMzUuNiAwem0wLTExMy45YzAgNDAuMi0zMi42IDcyLjgtNzIuOCA3Mi44bC0yMzUuNiAwYzAtNDAuMiAzMi42LTcyLjggNzIuOC03Mi44bDIzNS42IDB6Il19LFdNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtbGlua2VkaW4iLGljb246WzQ0OCw1MTIsW10sImU3ZDAiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNSAxNzAuMmw2Ni41IDAgMCAyMTMuOC02Ni41IDAgMC0yMTMuOHptNzEuNy02Ny43YTM4LjUgMzguNSAwIDEgMSAtNzcgMCAzOC41IDM4LjUgMCAxIDEgNzcgMHpNMzE3LjkgNDE2bDAtMTA0YzAtMjQuOC0uNS01Ni43LTM0LjUtNTYuNy0zNC42IDAtMzkuOSAyNy0zOS45IDU0LjlsMCAxMDUuOC02Ni40IDAgMC0yMTMuOCA2My43IDAgMCAyOS4yIC45IDBjOC45LTE2LjggMzAuNi0zNC41IDYyLjktMzQuNSA2Ny4yIDAgNzkuNyA0NC4zIDc5LjcgMTAxLjlsMCAxMTcuMi02Ni40IDB6Il19LEdNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjc3MiLGljb246WzQ0OCw1MTIsW10sImU2YTIiLCJNMzc2LjMgMzJMMCAzMiAwIDQwOC4zYzAgMTkgNy42IDM3LjIgMjEgNTAuN3MzMS43IDIxIDUwLjcgMjFsMzA0LjYgMGMxOSAwIDM3LjItNy42IDUwLjctMjFzMjEtMzEuNyAyMS01MC43bDAtMzA0LjZjMC0xOS03LjYtMzcuMi0yMS01MC43cy0zMS43LTIxLTUwLjctMjF6TTMzMi40IDQzMS40Yy03LjctOC41LTExLjctMjAuNy0xMi0zNi42bDMxLjMgMGMuMiAxNC4xIDUuMSAyMS4xIDE0LjggMjEuMWM0LjkgMCA4LjQtMS42IDEwLjUtNC43YzItMy4xIDMtOCAzLTE0LjhjMC01LjQtMS4zLTkuOS00LTEzLjRjLTMuNS00LjItOC4xLTcuNS0xMy4yLTkuNUwzNTEuMiAzNjhjLTEwLjMtNC45LTE3LjgtMTAuOC0yMi41LTE3LjZjLTQuNS02LjgtNi43LTE2LjMtNi43LTI4LjRjMC0xMy42IDQtMjQuNiAxMS44LTMzLjFjOC4xLTguNSAxOS4xLTEyLjcgMzMuMi0xMi43YzEzLjYgMCAyNC4xIDQuMiAzMS41IDEyLjVjNy41IDguNCAxMS41IDIwLjMgMTEuOCAzNS45bC0zMC4xIDBjLjItNS4xLS45LTEwLjItMy0xNC44Yy0xLjctMy40LTUtNS4xLTEwLTUuMWMtOC44IDAtMTMuMiA1LjItMTMuMiAxNS43YzAgNS4zIDEuMSA5LjQgMy4yIDEyLjZjMy4xIDMuNSA3IDYuMiAxMS40IDcuOGwxMS4xIDQuOWMxMS41IDUuMyAxOS43IDExLjcgMjQuOCAxOS40YzUuMSA3LjcgNy42IDE4IDcuNiAzMWMwIDE1LjUtNCAyNy40LTEyLjMgMzUuN2MtOC4yIDguMy0xOS41IDEyLjUtMzQuMSAxMi41cy0yNS42LTQuMi0zMy40LTEyLjd6bS0xMDEgMGMtNy43LTguNS0xMS43LTIwLjctMTItMzYuNmwzMS4zIDBjLjIgMTQuMSA1LjEgMjEuMSAxNC44IDIxLjFjNC45IDAgOC40LTEuNiAxMC40LTQuN2MyLTMuMSAzLTggMy0xNC44YzAtNS40LTEuMy05LjktMy45LTEzLjRjLTMuNS00LjItOC4xLTcuNS0xMy4yLTkuNUwyNTAuMiAzNjhjLTEwLjMtNC45LTE3LjgtMTAuOC0yMi41LTE3LjZjLTQuNS02LjgtNi43LTE2LjMtNi43LTI4LjRjMC0xMy42IDQtMjQuNiAxMS44LTMzLjFjOC4xLTguNSAxOS4xLTEyLjcgMzMuMi0xMi43YzEzLjYgMCAyNC4xIDQuMiAzMS40IDEyLjVjNy42IDguNCAxMS41IDIwLjMgMTEuOSAzNS45bC0zMC4xIDBjLjItNS4xLS45LTEwLjItMy0xNC44Yy0xLjctMy40LTUtNS4xLTEwLTUuMWMtOC44IDAtMTMuMiA1LjItMTMuMiAxNS43YzAgNS4zIDEuMSA5LjQgMy4yIDEyLjZjMy4xIDMuNSA3IDYuMiAxMS40IDcuOGwxMS4xIDQuOWMxMS41IDUuMyAxOS43IDExLjcgMjQuOCAxOS40YzUuMSA3LjcgNy42IDE4IDcuNiAzMWMwIDE1LjUtNC4xIDI3LjQtMTIuMyAzNS43cy0xOS41IDEyLjUtMzQuMSAxMi41cy0yNS42LTQuMi0zMy40LTEyLjd6bS0xMDUuNiAxLjFjLTguNC03LjctMTIuNS0xOS4yLTEyLjUtMzQuNWwwLTc1LjRjMC0xNS4yIDQuNC0yNi43IDEzLjItMzQuNmM4LjktNy44IDIwLjctMTEuOCAzNS4yLTExLjhjMTQuMSAwIDI1LjIgNCAzMy40IDEyYzguMyA4IDEyLjUgMjAgMTIuNSAzNS45bDAgNi0zMy4xIDAgMC01LjhjMC02LjEtMS4zLTEwLjctNC0xMy42Yy0xLjEtMS41LTIuNi0yLjctNC4zLTMuNXMtMy41LTEuMi01LjQtMS4xYy01LjQgMC05LjIgMS44LTExLjQgNS42Yy0yLjMgNS4yLTMuMyAxMC44LTMgMTYuNGwwIDY1LjVjMCAxMy43IDQuOCAyMC42IDE0LjQgMjAuOGM0LjUgMCA3LjktMS42IDEwLjItNC44YzIuNS00LjEgMy43LTguOCAzLjUtMTMuNmwwLTQuOSAzMy4xIDAgMCA1LjFjMCAxMC42LTIuMSAxOS41LTYuMiAyNi42Yy00IDYuOS05LjkgMTIuNS0xNy4xIDE2Yy03LjcgMy43LTE2LjEgNS41LTI0LjYgNS4zYy0xNC4yIDAtMjUuNS0zLjktMzMuOC0xMS42eiJdfSxZTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaGFzaG5vZGUiLGljb246WzUxMiw1MTIsW10sImU0OTkiLCJNMzUuNyAxNzEuMWMtNDYuOSA0Ni00Ni45IDEyMi45IDAgMTY5LjhMMTcxLjYgNDc2LjhjNDYgNDYuOSAxMjIuOSA0Ni45IDE2OS44IDBMNDc3LjMgMzQwLjljNDYuOS00Ni45IDQ2LjktMTIzLjggMC0xNjkuOEwzNDEuNCAzNS4yYy00Ni45LTQ2LjktMTIzLjgtNDYuOS0xNjkuOCAwTDM1LjcgMTcxLjF6TTE5NiAxOTYuNWE4NC41IDg0LjUgMCAxIDEgMTIwIDExOSA4NC41IDg0LjUgMCAxIDEgLTEyMC0xMTl6Il19LEtNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZWRkaXQtYWxpZW4iLGljb246WzUxMiw1MTIsW10sImYyODEiLCJNMzczIDEzOC42Yy0yNS4yIDAtNDYuMy0xNy41LTUxLjktNDEtMzAuNiA0LjMtNTQuMiAzMC43LTU0LjIgNjIuNGwwIC4yYzQ3LjQgMS44IDkwLjYgMTUuMSAxMjQuOSAzNi4zIDEyLjYtOS43IDI4LjQtMTUuNSA0NS41LTE1LjUgNDEuMyAwIDc0LjcgMzMuNCA3NC43IDc0LjcgMCAyOS44LTE3LjQgNTUuNS00Mi43IDY3LjUtMi40IDg2LjgtOTcgMTU2LjYtMjEzLjIgMTU2LjZTNDUuNSA0MTAuMSA0MyAzMjMuNGMtMjUuNC0xMS45LTQzLTM3LjctNDMtNjcuNyAwLTQxLjMgMzMuNC03NC43IDc0LjctNzQuNyAxNy4yIDAgMzMgNS44IDQ1LjcgMTUuNiAzNC0yMS4xIDc2LjgtMzQuNCAxMjMuNy0zNi40bDAtLjNjMC00NC4zIDMzLjctODAuOSA3Ni44LTg1LjUgNC45LTI0LjIgMjYuMy00Mi40IDUyLjEtNDIuNCAyOS40IDAgNTMuMyAyMy45IDUzLjMgNTMuM3MtMjMuOSA1My4zLTUzLjMgNTMuM3pNMTU3LjUgMjU1LjNjLTIwLjkgMC0zOC45IDIwLjgtNDAuMiA0Ny45czE3LjEgMzguMSAzOCAzOC4xIDM2LjYtOS44IDM3LjgtMzYuOS0xNC43LTQ5LjEtMzUuNy00OS4xbC4xIDB6TTM5NSAzMDMuMWMtMS4yLTI3LjEtMTkuMi00Ny45LTQwLjItNDcuOXMtMzYuOSAyMi0zNS43IDQ5LjEgMTYuOSAzNi45IDM3LjggMzYuOSAzOS4zLTExIDM4LTM4LjFsLjEgMHptLTYwLjEgNzAuOGMxLjUtMy42LTEtNy43LTQuOS04LjEtMjMtMi4zLTQ3LjktMy42LTczLjgtMy42cy01MC44IDEuMy03My44IDMuNmMtMy45IC40LTYuNCA0LjUtNC45IDguMSAxMi45IDMwLjggNDMuMyA1Mi40IDc4LjcgNTIuNHM2NS44LTIxLjYgNzguNy01Mi40eiJdfSx2ZWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGlrdG9rIixpY29uOls0NDgsNTEyLFtdLCJlMDdiIiwiTTQ0OC41IDIwOS45Yy00NCAuMS04Ny0xMy42LTEyMi44LTM5LjJsMCAxNzguN2MwIDMzLjEtMTAuMSA2NS40LTI5IDkyLjZzLTQ1LjYgNDgtNzYuNiA1OS42LTY0LjggMTMuNS05Ni45IDUuMy02MC45LTI1LjktODIuNy01MC44LTM1LjMtNTYtMzktODguOSAyLjktNjYuMSAxOC42LTk1LjIgNDAtNTIuNyA2OS42LTY3LjcgNjIuOS0yMC41IDk1LjctMTZsMCA4OS45Yy0xNS00LjctMzEuMS00LjYtNDYgLjRzLTI3LjkgMTQuNi0zNyAyNy4zLTE0IDI4LjEtMTMuOSA0My45IDUuMiAzMSAxNC41IDQzLjcgMjIuNCAyMi4xIDM3LjQgMjYuOSAzMS4xIDQuOCA0Ni0uMSAyOC0xNC40IDM3LjItMjcuMSAxNC4yLTI4LjEgMTQuMi00My44bDAtMzQ5LjQgODggMGMtLjEgNy40IC42IDE0LjkgMS45IDIyLjIgMy4xIDE2LjMgOS40IDMxLjkgMTguNyA0NS43czIxLjMgMjUuNiAzNS4yIDM0LjZjMTkuOSAxMy4xIDQzLjIgMjAuMSA2NyAyMC4xbDAgODcuNHoiXX0sWk10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndvcmRwcmVzcyIsaWNvbjpbNTEyLDUxMixbXSwiZjE5YSIsIk02MS43IDE2OS40bDEwMS41IDI3OGMtNzEtMzQuNC0xMTkuOS0xMDcuMi0xMTkuOS0xOTEuNCAwLTMwLjkgNi42LTYwLjEgMTguNC04Ni42em0zMzcuOSA3NS45YzAtMjYuMy05LjQtNDQuNS0xNy41LTU4LjctMTAuOC0xNy41LTIwLjktMzIuNC0yMC45LTQ5LjkgMC0xOS42IDE0LjgtMzcuOCAzNS43LTM3LjggLjkgMCAxLjggLjEgMi44IC4yLTM3LjktMzQuNy04OC4zLTU1LjktMTQzLjctNTUuOS03NC4zIDAtMTM5LjcgMzguMS0xNzcuOCA5NS45IDUgLjIgOS43IC4zIDEzLjcgLjMgMjIuMiAwIDU2LjctMi43IDU2LjctMi43IDExLjUtLjcgMTIuOCAxNi4yIDEuNCAxNy41IDAgMC0xMS41IDEuMy0yNC4zIDJsNzcuNSAyMzAuNCA0Ni42LTEzOS42LTMzLjEtOTAuOGMtMTEuNS0uNy0yMi4zLTItMjIuMy0yLTExLjUtLjctMTAuMS0xOC4yIDEuMy0xNy41IDAgMCAzNS4xIDIuNyA1NiAyLjcgMjIuMiAwIDU2LjctMi43IDU2LjctMi43IDExLjUtLjcgMTIuOCAxNi4yIDEuNCAxNy41IDAgMC0xMS41IDEuMy0yNC4zIDJsNzYuOSAyMjguNyAyMS4yLTcwLjljOS0yOS40IDE2LTUwLjUgMTYtNjguN3pNMjU5LjcgMjc0LjZMMTk1LjkgNDYwLjFjMTkuMSA1LjYgMzkuMiA4LjcgNjAuMSA4LjcgMjQuOCAwIDQ4LjUtNC4zIDcwLjYtMTIuMS0uNi0uOS0xLjEtMS45LTEuNS0yLjlMMjU5LjcgMjc0LjZ6bTE4My0xMjAuN2MuOSA2LjggMS40IDE0IDEuNCAyMS45IDAgMjEuNi00IDQ1LjgtMTYuMiA3Ni4ybC02NSAxODcuOWM2My4zLTM2LjkgMTA1LjgtMTA1LjQgMTA1LjgtMTgzLjkgMC0zNy05LjQtNzEuOC0yNi0xMDIuMXpNOCAyNTZhMjQ4IDI0OCAwIDEgMSA0OTYgMCAyNDggMjQ4IDAgMSAxIC00OTYgMHptNDg0LjYgMGEyMzYuNiAyMzYuNiAwIDEgMCAtNDczLjIgMCAyMzYuNiAyMzYuNiAwIDEgMCA0NzMuMiAweiJdfSxYTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaWRlYWwiLGljb246WzUxMiw1MTIsW10sImUwMTMiLCJNOTMuOCAxNjUuNWE0OS4xIDQ5LjEgMCAxIDAgMCA5OC4xIDQ5LjEgNDkuMSAwIDEgMCAwLTk4LjF6TTU0LjMgNDI1LjhsNzguOSAwIDAtMTQwLjUtNzguOSAwIDAgMTQwLjV6TTIwNS44IDIxNC4yYzAtMjAtMTAtMjIuNS0xOC43LTIyLjVsLTE0IDAgMCA0NS44IDE0IDBjOS43IDAgMTguNy0yLjggMTguNy0yMy4zem0yMDEuNyA0NmwwLTkxLjMgMjIuOCAwIDAgNjguNiAzMy43IDBDNDU0LjYgMTEzLjEgMzU2LjggODYuMiAyNjcuOCA4Ni4ybC05NC44IDAgMCA4Mi44IDE0IDBjMjUuNiAwIDQxLjUgMTcuNCA0MS41IDQ1LjMgMCAyOC44LTE1LjUgNDYtNDEuNSA0NmwtMTQgMCAwIDE2NS42IDk0LjggMGMxNDQuNiAwIDE5NC45LTY3LjIgMTk2LjctMTY1LjZsLTU3LjEgMHptLTEwOS44IDBsLTU2LjIgMCAwLTkxLjIgNTQuNCAwIDAgMjIuNy0zMS43IDAgMCAxMC42IDMwIDAgMCAyMi43LTMwIDAgMCAxMi41IDMzLjUgMCAwIDIyLjd6bTc0LjcgMGwtNS4yLTE3LjctMjkuNyAwLTUuMiAxNy43LTIzLjcgMCAyNy41LTkxLjMgMzIuMyAwIDI3LjUgOTEuMy0yMy43IDB6TTI2Ny44IDMyTC4xIDMyIC4xIDQ4MCAyNjcuOCA0ODBjMTYxLjggMCAyNTEtNzkuNyAyNTEtMjI0LjUgMC04My41LTMyLjYtMjIzLjUtMjUxLTIyMy41em0wIDQyNi45bC0yNDYuNiAwIDAtNDA1LjkgMjQ2LjYgMGMxNDIuMSAwIDIyOS45IDY0LjYgMjI5LjkgMjAyLjQgMCAxMzQuMS04MSAyMDMuNC0yMjkuOSAyMDMuNHptODMuOS0yNjQuOWwtNy41IDI1LjggMTYuNCAwLTcuNS0yNS44LTEuNCAweiJdfSxRTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGllZC1waXBlci1wcCIsaWNvbjpbNDQ4LDUxMixbXSwiZjFhNyIsIk0yMDUuMyAxNzQuNmMwIDIxLjEtMTQuMiAzOC4xLTMxLjcgMzguMS03LjEgMC0xMi44LTEuMi0xNy4yLTMuN2wwLTY4YzQuNC0yLjcgMTAuMS00LjIgMTcuMi00LjIgMTcuNSAwIDMxLjcgMTYuOSAzMS43IDM3Ljh6bTUyLjYgNjdjLTcuMSAwLTEyLjggMS41LTE3LjIgNC4ybDAgNjhjNC40IDIuNSAxMC4xIDMuNyAxNy4yIDMuNyAxNy40IDAgMzEuNy0xNi45IDMxLjctMzcuOCAwLTIxLjEtMTQuMy0zOC4xLTMxLjctMzguMXpNNDQ4IDgwbDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmwzNTIgMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMTg1IDI1NS4xYzQxIDAgNzQuMi0zNS42IDc0LjItNzkuNlMyMjYgOTUuOSAxODUgOTUuOWMtMTIgMC0yNC4xIDMuMi0zNC42IDguOGwtNDUuNyAwIDAgMjA2LjMgNTEuOC0xMC4xIDAtNTAuNmM4LjYgMy4xIDE4LjEgNC44IDI4LjUgNC44em0xNTguNCAyNS4zYzAtNDQtMzMuMi03OS42LTczLjktNzkuNi0zLjIgMC02LjQgLjItOS42IC43LTMuNyAxMi41LTEwLjEgMjMuOC0xOS4yIDMzLjQtMTMuOCAxNS0zMi4yIDIzLjgtNTEuOCAyNC44bDAgMTU2LjMgNTEuOC0xMC4xIDAtNTAuNmM4LjYgMy4yIDE4LjIgNC43IDI4LjcgNC43IDQwLjggMCA3NC0zNS42IDc0LTc5LjZ6Il19LEpNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1c3N1bm5haCIsaWNvbjpbNTEyLDUxMixbXSwiZjQwNyIsIk00OTYuOSAyNjguMWMwIDYzLjktMjUuNCAxMjUuMi03MC42IDE3MC4zUzMxOS45IDUwOSAyNTYgNTA5IDEzMC44IDQ4My41IDg1LjcgNDM4LjQgMTUuMSAzMzEuOSAxNS4xIDI2OGMwLTYzLjkgMjUuNC0xMjUuMiA3MC42LTE3MC40UzE5Mi4yIDI3LjEgMjU2LjEgMjcuMSAzODEuMyA1Mi40IDQyNi41IDk3LjYgNDk3IDIwNC4xIDQ5NyAyNjhsLS4xIC4xek0zOS41IDI2OGMtLjYgMjguOCA0LjUgNTcuNSAxNS4xIDg0LjNzMjYuNCA1MS4yIDQ2LjYgNzEuOCA0NC4yIDM3IDcwLjggNDguMSA1NS4xIDE2LjkgODMuOSAxNi45IDU3LjQtNS44IDgzLjktMTYuOSA1MC42LTI3LjUgNzAuOC00OC4xIDM2LTQ1IDQ2LjYtNzEuOCAxNS43LTU1LjUgMTUuMS04NC4zYy42LTI4LjgtNC41LTU3LjUtMTUuMS04NC4zcy0yNi40LTUxLjItNDYuNi03MS44LTQ0LjItMzctNzAuOC00OC4xLTU1LjEtMTYuOS04My45LTE2LjktNTcuNCA1LjgtODMuOSAxNi45LTUwLjYgMjcuNS03MC44IDQ4LjEtMzYgNDUtNDYuNiA3MS44LTE1LjcgNTUuNS0xNS4xIDg0LjN6bTM4NS45IDYzLjNjLTEyLjcgMC0yMS42LTEuOS0yNi43LTUuOS01LjUtNC4zLTguMi0xMi4zLTguMi0yMy44bDAtOTYuNWMwLTYuNS01LjItMjAuMi0xNS43LTQxLjIgNyAwIDE3LTkuMSAzMC0yNy4ybDAgMTQ3LjhjMCAxMSAyLjQgMTkuNCA3IDI1LjMgMy43IDQuNyAxMC4xIDguOSAxOSAxMi42IDEuMiAuNCAyLjYgLjkgNC4xIDEuNCAyLjkgLjkgNi4zIDIuMSAxMC4zIDMuNS0xLjggMi43LTguMyA0LTE5LjkgNGwuMSAwem0tMjE5IDBjLTEuMyAyLjQtMy42IDUuNS02LjggOS40bC0xOC41IDIyLjVjLTEtNi4xLTQtMTMtOS4zLTIwLjZzLTkuNy0xMS40LTEzLjQtMTEuNGwtODkuOCAwYzMuMy01LjMgNC45LTguOCA0LjktMTAuOHMtLjgtNS4zLTIuNC05LjdjLTEuNS00LjQtMi40LTguNS0yLjQtMTIuNCAwLTcuNCAyLjEtMTMuOSA2LjMtMTkuM2wyMC0yNS42LTcuMS0xNy43IDE2LjEtMTkuOCA2LjcgMTYuOCA4LTEwLjNjLTEuOCA2LjQtMi42IDEyLjMtMi42IDE3LjcgMCA0LjIgMi44IDEzLjMgOC4zIDI3LjNsMTYuMiA0MC43IDE3LjcgMGMyLjggLjQgNy43IDUgMTQuNiAxMy45IDEuOCAyLjQgNC4zIDUuOCA3LjcgMTAuMiAxLjQgMS45IDIuOSAzLjkgNC42IDYuMSAxLjMtMi4zIDItNC42IDItNy4xIDAtMi0xLjMtNi42LTQtMTMuNEwxNzggMzA0LjFjLTQtMTAuNi02LjEtMTcuNy02LjEtMjEuMyAwLTYuMyAxLjktMTIuMyA1LjgtMTcuOSAuNS0uNiAxLTEuMyAxLjUtMS45IDQuNC01LjYgOC44LTExLjEgMTMuMy0xNi41LTEuMSA0LjYtMS43IDguNy0xLjcgMTIgMCAzLjcgMS43IDkuOSA1LjEgMTguOGw3LjkgMjAuNGMxLjkgNC43IDMgOC4yIDMuNyAxMC4zbDI1LjkgMC0uOS0yLjZjLTEuNC0zLjktNC03LTcuNy05LjNsMTUuNi0yMC4xIDEyLjMgMzIgMTMuNCAwLTYuMS0xNS44Yy0xLjUtMy45LTQtNy03LjctOS4zbDE1LjctMjAuMSAxNy4zIDQ1LjIgMTMuNCAwLTExLjQtMjkuNGMtMS41LTMuOS00LTctNy43LTkuM2wxNS42LTIwIDIyLjQgNTguNyAyNi4yIDBjMS41IDAgMy0xLjEgNC41LTMuMXMyLjItNC4xIDIuMi02LjNsMC05My41YzAtNi41LTQuNS0yMC4zLTEzLjctNDEuMiA1LjQgMCAxNC4xLTkuMSAyNi4yLTI3LjJsMCAxNjMuNWMwIDcuMiAuNiAxMiAxLjcgMTQuNiAxLjYgMy40IDUuMyA2LjIgMTEuMSA4LjItMy45IDUuNi04LjcgOC41LTE0LjUgOC41bC0xNTQuOCAwLS4xLS4yem0tOTgtNDRjLTIuNy02LjctNC0xMS43LTQtMTUtLjYgMS4yLTIuNCAzLjctNS40IDcuNi0xLjQgMS45LTIuMiAzLjctMi4yIDUuMyAwIDIuNiAuOCA1LjcgMi4yIDkuM2w1LjYgMTMuOWM1IDAgOSAwIDExLjktLjFsLTguMi0yMC45IC4xLS4xem0xMy41LTcyLjRjLTMtNS4yLTctOS4zLTExLjktMTEuOS0zLjUtMS45LTUuMy00LjMtNS4zLTcuNCAwLTIuNCA0LjYtOC42IDE0LTE4LjMgLjIgMy44IDEuOSA3LjYgNC45IDExLjIgMy4xIDMuNiA0LjYgNyA0LjYgMTAuMSAwIDIuNi0yLjEgOC02LjIgMTYuM2wtLjEgMHptLTI3LjYgMGMtMy01LjItNy05LjMtMTEuOS0xMS45LTMuNS0xLjktNS4zLTQuMy01LjMtNy40IDAtMi40IDQuNi04LjYgMTQtMTguMyAuMiAzLjggMS45IDcuNiA0LjkgMTEuMiAzLjEgMy42IDQuNiA3IDQuNiAxMC4xIDAgMi42LTIuMSA4LTYuMiAxNi4zbC0uMSAwem04NyAyNy41Yy0zLTUuMi03LTkuMy0xMS45LTExLjktMy41LTEuOS01LjMtNC4zLTUuMy03LjQgMC0yLjQgNC42LTguNiAxNC0xOC4zIC4yIDMuOCAxLjkgNy42IDQuOSAxMS4yIDMuMSAzLjYgNC42IDcgNC42IDEwLjEgMCAyLjYtMi4xIDgtNi4yIDE2LjNsLS4xIDB6Il19LGVrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmb3J0LWF3ZXNvbWUtYWx0IixpY29uOls1MTIsNTEyLFtdLCJmM2EzIiwiTTIwOCAyMzcuNGwtMjIuMiAwYy0yLjEgMC0zLjcgMS42LTMuNyAzLjdsMCA1MS43YzAgMi4xIDEuNiAzLjcgMy43IDMuN2wyMi4yIDBjMi4xIDAgMy43LTEuNiAzLjctMy43bDAtNTEuN2MwLTIuMS0xLjYtMy43LTMuNy0zLjd6bTExOC4yIDBsLTIyLjIgMGMtMi4xIDAtMy43IDEuNi0zLjcgMy43bDAgNTEuN2MwIDIuMSAxLjYgMy43IDMuNyAzLjdsMjIuMiAwYzIuMSAwIDMuNy0xLjYgMy43LTMuN2wwLTUxLjdjLS4xLTIuMS0xLjctMy43LTMuNy0zLjd6bTEzMi0xMjUuMWMtMi4zLTMuMi00LjYtNi40LTcuMS05LjUtOS44LTEyLjUtMjAuOC0yNC0zMi44LTM0LjQtNC41LTMuOS05LjEtNy42LTEzLjktMTEuMi0xLjYtMS4yLTMuMi0yLjMtNC44LTMuNS0yNy42LTE5LjYtNTkuMy0zMy43LTkzLjYtNDAuNy0xNi4yLTMuMy0zMi45LTUtNTAtNXMtMzMuOSAxLjctNTAgNWMtMzQuMyA3LjEtNjYgMjEuMi05My4zIDQwLjgtMS42IDEuMS0zLjIgMi4zLTQuOCAzLjUtNC44IDMuNi05LjQgNy4zLTEzLjkgMTEuMi0zIDIuNi01LjkgNS4zLTguOCA4cy01LjcgNS41LTguNCA4LjRjLTUuNSA1LjctMTAuNyAxMS44LTE1LjYgMTgtMi40IDMuMS00LjggNi4zLTcuMSA5LjUtMjguOSA0MC42LTQ1LjggOTAuMS00NS44IDE0My42IDAgMiAuMSA0IC4xIDYgLjEgLjcgLjEgMS4zIC4xIDIgLjEgMS4zIC4xIDIuNyAuMiA0IDAgLjggLjEgMS41IC4xIDIuMyAwIDEuMyAuMSAyLjUgLjIgMy43IC4xIC44IC4xIDEuNiAuMiAyLjQgLjEgMS4xIC4yIDIuMyAuMyAzLjUgMCAuOCAuMSAxLjYgLjIgMi40IC4xIDEuMiAuMyAyLjQgLjQgMy42IC4xIC44IC4yIDEuNSAuMyAyLjMgLjEgMS4zIC4zIDIuNiAuNSAzLjkgLjEgLjYgLjIgMS4zIC4zIDEuOWwuOSA1LjdjLjEgLjYgLjIgMS4xIC4zIDEuNyAuMyAxLjMgLjUgMi43IC44IDQgLjIgLjggLjMgMS42IC41IDIuNCAuMiAxIC41IDIuMSAuNyAzLjIgLjIgLjkgLjQgMS43IC42IDIuNiAuMiAxIC40IDIgLjcgMyAuMiAuOSAuNSAxLjggLjcgMi43IC4zIDEgLjUgMS45IC44IDIuOSAuMyAuOSAuNSAxLjggLjggMi43IC4yIC45IC41IDEuOSAuOCAyLjhzLjUgMS44IC44IDIuN2MuMyAxIC42IDEuOSAuOSAyLjggLjYgMS42IDEuMSAzLjMgMS43IDQuOSAuNCAxIC43IDEuOSAxIDIuOCAuMyAxIC43IDIgMS4xIDMgLjMgLjggLjYgMS41IC45IDIuM2wxLjIgM2MuMyAuNyAuNiAxLjUgLjkgMi4yIC40IDEgLjkgMiAxLjMgM2wuOSAyLjFjLjUgMSAuOSAyIDEuNCAzIC4zIC43IC42IDEuMyAuOSAyIC41IDEgMSAyLjEgMS41IDMuMSAuMiAuNiAuNSAxLjEgLjggMS43IC42IDEuMSAxLjEgMi4yIDEuNyAzLjMgLjEgLjIgLjIgLjMgLjMgLjUgMi4yIDQuMSA0LjQgOC4yIDYuOCAxMi4yIC4yIC40IC41IC44IC43IDEuMiAuNyAxLjEgMS4zIDIuMiAyIDMuMyAuMyAuNSAuNiAuOSAuOSAxLjQgLjYgMS4xIDEuMyAyLjEgMiAzLjIgLjMgLjUgLjYgLjkgLjkgMS40IC43IDEuMSAxLjQgMi4xIDIuMSAzLjIgLjIgLjQgLjUgLjggLjggMS4yIC43IDEuMSAxLjUgMi4yIDIuMyAzLjMgLjIgLjIgLjMgLjUgLjUgLjcgMzcuNSA1MS43IDk0LjQgODguNSAxNjAgOTkuNCAuOSAuMSAxLjcgLjMgMi42IC40IDEgLjIgMi4xIC40IDMuMSAuNXMxLjkgLjMgMi44IC40YzEgLjIgMiAuMyAzIC40IC45IC4xIDEuOSAuMiAyLjkgLjNzMS45IC4yIDIuOSAuMyAyLjEgLjIgMy4xIC4zYy45IC4xIDEuOCAuMSAyLjcgLjIgMS4xIC4xIDIuMyAuMSAzLjQgLjIgLjggMCAxLjcgLjEgMi41IC4xIDEuMyAwIDIuNiAuMSAzLjkgLjEgLjcgLjEgMS40IC4xIDIuMSAuMSAyIC4xIDQgLjEgNiAuMXM0LS4xIDYtLjFjLjcgMCAxLjQtLjEgMi4xLS4xIDEuMyAwIDIuNiAwIDMuOS0uMSAuOCAwIDEuNy0uMSAyLjUtLjEgMS4xLS4xIDIuMy0uMSAzLjQtLjIgLjkgMCAxLjgtLjEgMi43LS4yIDEtLjEgMi4xLS4yIDMuMS0uM3MxLjktLjIgMi45LS4zYy45LS4xIDEuOS0uMiAyLjktLjNzMi0uMyAzLS40IDEuOS0uMyAyLjgtLjRjMS0uMiAyLjEtLjMgMy4xLS41IC45LS4xIDEuNy0uMyAyLjYtLjQgNjUuNi0xMSAxMjIuNS00Ny43IDE2MC4xLTEwMi40IC4yLS4yIC4zLS41IC41LS43IC44LTEuMSAxLjUtMi4yIDIuMy0zLjMgLjItLjQgLjUtLjggLjgtMS4yIC43LTEuMSAxLjQtMi4xIDIuMS0zLjIgLjMtLjUgLjYtLjkgLjktMS40IC42LTEuMSAxLjMtMi4xIDItMy4yIC4zLS41IC42LS45IC45LTEuNCAuNy0xLjEgMS4zLTIuMiAyLTMuMyAuMi0uNCAuNS0uOCAuNy0xLjIgMi40LTQgNC42LTguMSA2LjgtMTIuMiAuMS0uMiAuMi0uMyAuMy0uNSAuNi0xLjEgMS4xLTIuMiAxLjctMy4zIC4yLS42IC41LTEuMSAuOC0xLjcgLjUtMSAxLTIuMSAxLjUtMy4xIC4zLS43IC42LTEuMyAuOS0yIC41LTEgMS0yIDEuNC0zbC45LTIuMWMuNS0xIC45LTIgMS4zLTMgLjMtLjcgLjYtMS41IC45LTIuMmwxLjItM2MuMy0uOCAuNi0xLjUgLjktMi4zIC40LTEgLjctMiAxLjEtM3MuNy0xLjkgMS0yLjhjLjYtMS42IDEuMi0zLjMgMS43LTQuOSAuMy0xIC42LTEuOSAuOS0yLjhzLjUtMS44IC44LTIuN2MuMi0uOSAuNS0xLjkgLjgtMi44cy42LTEuOCAuOC0yLjdjLjMtMSAuNS0xLjkgLjgtMi45IC4yLS45IC41LTEuOCAuNy0yLjcgLjItMSAuNS0yIC43LTMgLjItLjkgLjQtMS43IC42LTIuNiAuMi0xIC41LTIuMSAuNy0zLjIgLjItLjggLjMtMS42IC41LTIuNCAuMy0xLjMgLjYtMi43IC44LTQgLjEtLjYgLjItMS4xIC4zLTEuN2wuOS01LjdjLjEtLjYgLjItMS4zIC4zLTEuOSAuMS0xLjMgLjMtMi42IC41LTMuOSAuMS0uOCAuMi0xLjUgLjMtMi4zIC4xLTEuMiAuMy0yLjQgLjQtMy42IDAtLjggLjEtMS42IC4yLTIuNCAuMS0xLjEgLjItMi4zIC4zLTMuNSAuMS0uOCAuMS0xLjYgLjItMi40IC4xIDEuNyAuMSAuNSAuMi0uNyAwLS44IC4xLTEuNSAuMS0yLjMgLjEtMS4zIC4yLTIuNyAuMi00IC4xLS43IC4xLTEuMyAuMS0yIC4xLTIgLjEtNCAuMS02IDAtNTMuNS0xNi45LTEwMy00NS44LTE0My43ek00NDggMzcxLjVjLTkuNCAxNS41LTIwLjYgMjkuOS0zMy42IDQyLjktMjAuNiAyMC42LTQ0LjUgMzYuNy03MS4yIDQ4LTEzLjkgNS44LTI4LjIgMTAuMy00Mi45IDEzLjJsMC03NS44YzAtNTguNi04OC42LTU4LjYtODguNiAwbDAgNzUuOGMtMTQuNy0yLjktMjktNy4zLTQyLjktMTMuMi0yNi43LTExLjMtNTAuNi0yNy40LTcxLjItNDgtMTMtMTMtMjQuMi0yNy40LTMzLjYtNDIuOWwwLTcxLjNjMC0yLjEgMS42LTMuNyAzLjctMy43bDIyLjEgMGMyLjEgMCAzLjcgMS42IDMuNyAzLjdsMCAyNS44IDI5LjYgMCAwLTE0NGMwLTIuMSAxLjYtMy43IDMuNy0zLjdsMjIuMSAwYzIuMSAwIDMuNyAxLjYgMy43IDMuN2wwIDI1LjkgMjkuNSAwIDAtMjUuOWMwLTIuMSAxLjYtMy43IDMuNy0zLjdsMjIuMiAwYzIuMSAwIDMuNyAxLjYgMy43IDMuN2wwIDI1LjkgMjkuNSAwIDAtMjUuOWMwLTQuOCA2LjUtMy43IDkuNS0zLjdsMC05MC4yYy00LjQtMi03LjQtNi43LTcuNC0xMS41IDAtMTYuOCAyNS40LTE2LjggMjUuNCAwIDAgNC44LTMgOS40LTcuNCAxMS41bDAgMy45YzYuMy0xLjQgMTIuNy0yLjMgMTkuMi0yLjMgOS40IDAgMTguNCAzLjUgMjYuMyAzLjUgNy4yIDAgMTUuMi0zLjUgMTkuNC0zLjUgMi4xIDAgMy43IDEuNiAzLjcgMy43bDAgNDguNGMwIDUuNi0xOC43IDYuNS0yMi40IDYuNS04LjYgMC0xNi42LTMuNS0yNS40LTMuNS03IDAtMTQuMSAxLjItMjAuOCAyLjhsMCAzMC43YzMgMCA5LjUtMS4xIDkuNSAzLjdsMCAyNS45IDI5LjUgMCAwLTI1LjljMC0yLjEgMS42LTMuNyAzLjctMy43bDIyLjIgMGMyLjEgMCAzLjcgMS42IDMuNyAzLjdsMCAyNS45IDI5LjUgMCAwLTI1LjljMC0yLjEgMS42LTMuNyAzLjctMy43bDIyLjEgMGMyLjEgMCAzLjcgMS42IDMuNyAzLjdsMCAxNDQgMjkuNSAwIDAtMjUuOGMwLTIuMSAxLjYtMy43IDMuNy0zLjdsMjIuMiAwYzIuMSAwIDMuNyAxLjYgMy43IDMuN2wwIDcxLjN6Il19LHRrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJidXJvbW9iZWxleHBlcnRlIixpY29uOls0NDgsNTEyLFtdLCJmMzdmIiwiTTAgMzJsMCAxMjggMTI4IDAgMC0xMjgtMTI4IDB6TTEyMCAxNTJsLTExMiAwIDAtMTEyIDExMiAwIDAgMTEyek0xNjAgMzJsMCAxMjggMTI4IDAgMC0xMjgtMTI4IDB6TTI4MCAxNTJsLTExMiAwIDAtMTEyIDExMiAwIDAgMTEyek0zMjAgMzJsMCAxMjggMTI4IDAgMC0xMjgtMTI4IDB6TTQ0MCAxNTJsLTExMiAwIDAtMTEyIDExMiAwIDAgMTEyek0wIDE5MmwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHpNMTIwIDMxMmwtMTEyIDAgMC0xMTIgMTEyIDAgMCAxMTJ6bTQwLTEyMGwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHpNMjgwIDMxMmwtMTEyIDAgMC0xMTIgMTEyIDAgMCAxMTJ6bTQwLTEyMGwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHpNNDQwIDMxMmwtMTEyIDAgMC0xMTIgMTEyIDAgMCAxMTJ6TTAgMzUybDAgMTI4IDEyOCAwIDAtMTI4LTEyOCAwek0xMjAgNDcybC0xMTIgMCAwLTExMiAxMTIgMCAwIDExMnptNDAtMTIwbDAgMTI4IDEyOCAwIDAtMTI4LTEyOCAwek0yODAgNDcybC0xMTIgMCAwLTExMiAxMTIgMCAwIDExMnptNDAtMTIwbDAgMTI4IDEyOCAwIDAtMTI4LTEyOCAweiJdfSxha3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmlsaWJpbGkiLGljb246WzUxMiw1MTIsW10sImUzZDkiLCJNNDg4LjYgMTA0LjFjMTYuNyAxOC4xIDI0LjQgMzkuNyAyMy4zIDY1LjdsMCAyMDIuNGMtLjQgMjYuNC05LjIgNDguMS0yNi41IDY1LjEtMTcuMiAxNy0zOS4xIDI1LjktNjUuNSAyNi43TDkyIDQ2NGMtMjYuNC0uOC00OC4yLTkuOC02NS4zLTI3LjItMTcuMS0xNy40LTI2LTQwLjMtMjYuNy02OC42TDAgMTY5LjhjLjgtMjYgOS43LTQ3LjYgMjYuNy02NS43IDE3LjEtMTYuMyAzOC44LTI1LjMgNjUuMy0yNi4xbDI5LjQgMC0yNS40LTI1LjhjLTUuNy01LjctOC42LTEzLTguNi0yMS44czIuOS0xNi4xIDguNi0yMS44IDEzLTguNiAyMS45LTguNiAxNi4xIDIuOSAyMS45IDguNmw3My4zIDY5LjQgODggMCA3NC41LTY5LjRDMzgxLjcgMi45IDM4OS4yIDAgMzk4IDBzMTYuMSAyLjkgMjEuOSA4LjZjNS43IDUuNyA4LjYgMTMgOC42IDIxLjhzLTIuOSAxNi4xLTguNiAyMS44TDM5NC42IDc4IDQyMy45IDc4YzI2LjQgLjggNDggOS44IDY0LjcgMjYuMXptLTM4LjggNjkuN2MtLjQtOS42LTMuNy0xNy40LTEwLjctMjMuNS01LjItNi4xLTE0LTkuNC0yMi43LTkuOGwtMzIwLjQgMGMtOS42IC40LTE3LjQgMy43LTIzLjYgOS44LTYuMSA2LjEtOS40IDEzLjktOS44IDIzLjVsMCAxOTQuNGMwIDkuMiAzLjMgMTcgOS44IDIzLjVzMTQuNCA5LjggMjMuNiA5LjhsMzIwLjQgMGM5LjIgMCAxNy0zLjMgMjMuMy05LjhzOS43LTE0LjMgMTAuMS0yMy41bDAtMTk0LjR6TTE4NS41IDIxNi41YzYuMyA2LjMgOS43IDE0LjEgMTAuMSAyMy4ybDAgMzMuM2MtLjQgOS4yLTMuNyAxNi45LTkuOCAyMy4yLTYuMiA2LjMtMTQgOS41LTIzLjYgOS41cy0xNy41LTMuMi0yMy42LTkuNS05LjQtMTQtOS44LTIzLjJsMC0zMy4zYy40LTkuMSAzLjgtMTYuOSAxMC4xLTIzLjJzMTMuMi05LjYgMjMuMy0xMGM5LjIgLjQgMTcgMy43IDIzLjMgMTB6bTE5MS41IDBjNi4zIDYuMyA5LjcgMTQuMSAxMC4xIDIzLjJsMCAzMy4zYy0uNCA5LjItMy43IDE2LjktOS44IDIzLjJzLTE0IDkuNS0yMy42IDkuNS0xNy40LTMuMi0yMy42LTkuNWMtNy02LjMtOS40LTE0LTkuNy0yMy4ybDAtMzMuM2MuMy05LjEgMy43LTE2LjkgMTAtMjMuMnMxNC4xLTkuNiAyMy4zLTEwYzkuMiAuNCAxNyAzLjcgMjMuMyAxMHoiXX0scmt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im5lb3MiLGljb246WzQ0OCw1MTIsW10sImY2MTIiLCJNMzgzLjggNTEybC05NS4xIDAtMTA4LjItMTU0LjUgMCA5MS4xLTg2LjQgNjMuNC05Ny43IDAgMC00ODIuMiA0MC41LTI5LjggMTA4IDAgMTIzLjcgMTc2LjEgMC0xMTIuNyA4Ni40LTYzLjQgOTcuNyAwIDAgNDYxLjUtNjguOSA1MC41ek03LjIgMzUuM2wwIDQ2MC43IDcyLTUyLjkgMC0yNDkuMSAyMTUuNSAzMDcuNiA4NC44IDAgNTIuNC0zOC4yLTc4LjMgMC0zMTYuMS00NTAuNS0zMC4yIDIyLjN6TTg5LjcgNTAxLjlsODAtNTguOCAwLTEwMS03OS44LTExNC40IDAgMjIwLjktNzIuNiA1My4zIDcyLjMgMCAwIDB6TTQ5IDEwLjhsMzEwLjYgNDQyLjYgODIuNCAwIDAtNDQyLjYtNzkuOCAwIDAgMzE3LjYtMjIyLjktMzE3LjYtOTAuMyAwek0yNzkuNCAxOTEuNmw3MiAxMDIuOCAwLTI3OC41LTcyIDUzIDAgMTIyLjd6Il19LHNrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkZXYiLGljb246WzQ0OCw1MTIsW10sImY2Y2MiLCJNMTIwLjEgMjA4LjNjLTMuOS0yLjktNy44LTQuMy0xMS42LTQuM2wtMTcuNCAwIDAgMTA0LjUgMTcuNCAwYzMuOSAwIDcuOC0xLjQgMTEuNi00LjNzNS44LTcuMyA1LjgtMTMuMWwwLTY5LjdjMC01LjgtMi0xMC4yLTUuOC0xMy4xek00MDQuMSAzMkw0My45IDMyQzE5LjcgMzIgLjEgNTEuNiAwIDc1LjhMMCA0MzYuMkMuMSA0NjAuNCAxOS43IDQ4MCA0My45IDQ4MGwzNjAuMiAwYzI0LjIgMCA0My44LTE5LjYgNDMuOS00My44bDAtMzYwLjRDNDQ3LjkgNTEuNiA0MjguMyAzMiA0MDQuMSAzMnpNMTU0LjIgMjkxLjJjMCAxOC44LTExLjYgNDcuMy00OC40IDQ3LjNsLTQ2LjQgMCAwLTE2NS41IDQ3LjQgMGMzNS40IDAgNDcuNCAyOC41IDQ3LjQgNDcuM2wwIDcwLjl6bTEwMC43LTg4LjdsLTUzLjMgMCAwIDM4LjQgMzIuNiAwIDAgMjkuNi0zMi42IDAgMCAzOC40IDUzLjMgMCAwIDI5LjYtNjIuMiAwYy0xMS4yIC4zLTIwLjQtOC41LTIwLjctMTkuN2wwLTEyNS4xYy0uMy0xMS4xIDguNi0yMC40IDE5LjctMjAuN2w2My4yIDAgMCAyOS41ek0zNTguNSAzMTcuOGMtMTMuMiAzMC43LTM2LjggMjQuNi00Ny40IDBsLTM4LjUtMTQ0LjggMzIuNiAwIDI5LjcgMTEzLjcgMjkuNi0xMTMuNyAzMi42IDAtMzguNSAxNDQuOHoiXX0saWt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImhvdGphciIsaWNvbjpbNTEyLDUxMixbXSwiZjNiMSIsIk0zNjEuOCAwYzAgMTMxLjYtODAuNyAxNzYuOC0xNDAuMiAyMDkuNC0uNiAuMy0xLjEgLjYtMS42IC45LTUzLjggMzAuMi04OC43IDQ5LjgtODkuNiAxMjJsLTk4LjEgMGMwLTEzMS41IDgwLjctMTc2LjcgMTQwLjItMjA5LjMgNTQuOC0yOS44IDkwLjMtNTAgOTAuMy0xMjNsOTkgMHpNMzAxLjMgMzAyLjZjNTQuOC0yOS44IDkwLjMtNTAgOTAuMy0xMjNsOTggMGMwIDEzMS42LTgwLjcgMTc2LjctMTQwLjIgMjA5LjQtNTQuOCAyOS44LTkwLjMgNTAtOTAuMyAxMjNsLTk4IDBjMC0xMzEuNiA4MC43LTE3Ni44IDE0MC4yLTIwOS40eiJdfSxva3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZG9jaHViIixpY29uOls0NDgsNTEyLFtdLCJmMzk0IiwiTTQxMy45IDE2MEwyNzIgMTYwIDI3MiAxOS42IDQxMy45IDE2MHpNMzIwIDE5MmwwIDEzMGMwIDY2LjgtMzYuNSAxMDAuMS0xMTMuMyAxMDAuMWwtOTQuNyAwIDAtMzM3LjMgOTQuNyAwYzEyIDAgMjMuMSAuOCAzMy4xIDIuNWwwLTg0QzIyOC45IDEuMSAyMTcuNCAwIDIwNS4yIDBMMTYgMCAxNiA1MTIgMjA1LjIgNTEyQzM0NS43IDUxMiA0MTYgNDQ3LjQgNDE2IDMxOC4xbDAtMTI2LjEtOTYgMHoiXX0sbmt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZpbWVvIixpY29uOls0NDgsNTEyLFtdLCJmNDBhIiwiTTQwMy4yIDMyTDQ0LjggMzJDMjAuMSAzMiAwIDUyLjEgMCA3Ni44TDAgNDM1LjJDMCA0NTkuOSAyMC4xIDQ4MCA0NC44IDQ4MGwzNTguNCAwYzI0LjcgMCA0NC44LTIwLjEgNDQuOC00NC44bDAtMzU4LjRDNDQ4IDUyLjEgNDI3LjkgMzIgNDAzLjIgMzJ6TTM3NyAxODAuOGMtMS40IDMxLjUtMjMuNCA3NC43LTY2IDEyOS40LTQ0IDU3LjItODEuMyA4NS44LTExMS43IDg1LjgtMTguOSAwLTM0LjgtMTcuNC00Ny45LTUyLjMtMjUuNS05My4zLTM2LjQtMTQ4LTU3LjQtMTQ4LTIuNCAwLTEwLjkgNS4xLTI1LjQgMTUuMkw1My40IDE5MS4zYzM3LjMtMzIuOCA3Mi45LTY5LjIgOTUuMi03MS4yIDI1LjItMi40IDQwLjcgMTQuOCA0Ni41IDUxLjcgMjAuNyAxMzEuMiAyOS45IDE1MSA2Ny42IDkxLjYgMTMuNS0yMS40IDIwLjgtMzcuNyAyMS44LTQ4LjkgMy41LTMzLjItMjUuOS0zMC45LTQ1LjgtMjIuNCAxNS45LTUyLjEgNDYuMy03Ny40IDkxLjItNzYgMzMuMyAuOSA0OSAyMi41IDQ3LjEgNjQuN3oiXX0sbGt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1heGNkbiIsaWNvbjpbNTEyLDUxMixbXSwiZjEzNiIsIk00NjEuMSA0NDIuN2wtOTcuNCAwIDUxLjktMjQyLjdjMi4zLTEwLjIgLjktMTkuNS00LjQtMjUuNy01LTYuMS0xMy43LTkuNi0yNC4yLTkuNmwtNDkuMyAwLTU5LjUgMjc4LTk3LjQgMCA1OS41LTI3OC04My40IDAtNTkuNSAyNzgtOTcuNCAwIDU5LjUtMjc4LTQ0LjYtOTUuNCAzNzIuMSAwYzM5LjQgMCA3NS4zIDE2LjMgOTguMyA0NC45IDIzLjMgMjguNiAzMS44IDY3LjQgMjMuNiAxMDUuOUw0NjEuMSA0NDIuN3oiXX0sWHVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1mb250LWF3ZXNvbWUtc3Ryb2tlIixpY29uOls0NDgsNTEyLFsiZm9udC1hd2Vzb21lLWFsdCJdLCJmMzVjIiwiTTY0IDY0QzQ2LjMgNjQgMzIgNzguMyAzMiA5NmwwIDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyMGMwLTE3LjctMTQuMy0zMi0zMi0zMkw2NCA2NHpNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTE1NCA1OGMwIDkuMy00LjggMTcuNC0xMi4xIDIybDE4OC45IDBjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgMS44LS40IDMuNy0xLjEgNS40TDMxMiAyNjQgMzQyLjkgMzMzLjRjLjggMS43IDEuMSAzLjUgMS4xIDUuNCAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJsLTE4Ni44IDAgMCAzMi0zMiAwIDAtMjA5LjVjLTYuMS00LjgtMTAtMTIuMi0xMC0yMC41IDAtMTQuNCAxMS42LTI2IDI2LTI2czI2IDExLjYgMjYgMjZ6Il19LGNrdD1YdWUsZGt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNwZWFrYXAiLGljb246WzQ0OCw1MTIsW10sImYzZjMiLCJNNjQuNCAzOTEuOEMtMTUgMzAzLjYtNy42IDE2Ny40IDgxLjEgODcuNnMyMjQuOC03MyAzMDQuMiAxNS4yIDcyIDIyNC40LTE2LjYgMzA0LjFjLTE4LjcgMTYuOSA2NCA0My4xIDQyIDUyLjMtODIuMSAzNC4yLTI1My45IDM1LTM0Ni4yLTY3LjVsMCAwek0yNzcuNyAxODAuMmwzOC41LTQwLjljLTkuNi04LjktMzItMjYuOC03Ni4yLTI3LjYtNTIuMy0uOS05NS45IDI4LjMtOTYuOCA4MC0uMiAxMS4zIC4zIDM2LjcgMjkuNCA1NC44IDM0LjUgMjEuNCA4Ni41IDIxLjUgODYgNTIuMy0uNCAyMS4zLTI2LjQgMjUuOC0zOC42IDI1LjYtMyAwLTMwLjItLjUtNDcuNi0yNC42bC00MCA0Mi42YzI4LjIgMjcgNTkgMzIuNiA4My41IDMzIDEwLjIgLjIgOTYuNCAuMyA5Ny44LTgxIC4zLTE1LjgtMi4xLTM5LjctMjguOS01Ni42LTM0LjQtMjEuNi04NS0xOS40LTg0LjQtNDkuNyAuNC0yMy4zIDMxLTI1LjQgMzcuNS0yNS4zIC40IDAgMjYuNiAuMyAzOS42IDE3LjRsMCAweiJdfSx1a3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmFudGFzeS1mbGlnaHQtZ2FtZXMiLGljb246WzUxMiw1MTIsW10sImY2ZGMiLCJNMjU2IDMyLjlMMzIuOSAyNTYgMjU2IDQ3OS4xIDQ3OS4xIDI1NiAyNTYgMzIuOXpNODguMyAyNTUuOGMyLTIgMTEuOS0xMi4zIDk2LjUtOTcuNSA0MS40LTQxLjggODYuMi00My44IDExOS44LTE4LjcgMjQuNiAxOC40IDYyLjEgNTguOSA2Mi4xIDU5IC43IC43IDEuMSAyLjkgLjYgMy40LTExLjMgMTEuOC0yMi43IDIzLjUtMzMuNSAzNC43LTM0LjItMzIuMy00MC41LTM4LjItNDguNS00NC0xNy44LTEyLjctNDEuNC0xMC4xLTU3IDUuMS0yLjIgMi4xLTEuOCAzLjQgLjEgNS40IDIuOSAyLjkgMjguMSAyOC4zIDM1LjEgMzUuOC0xMS45IDExLjYtMjMuNyAyMy0zNS43IDM0LjctMTItMTIuNS0yNC41LTI1LjUtMzYuNS0zOC4xLTIxLjQgMjEuMS00MS43IDQxLjEtNjEuOCA2MUw4OC4zIDI1NS44ek0zMjMuMiAzNTcuNGMtMzUuNSAzNS40LTc4LjEgMzguMS0xMDcgMjAuNS0yMi4xLTEzLjUtMzkuNC0zMi4xLTcyLjktNjYuOCAxMi0xMi40IDIzLjgtMjQuNCAzNS40LTM2LjMgMzMgMzEuOSAzNy4xIDM2IDQ0LjcgNDIuMSAxOC41IDE0LjcgNDIuNSAxMy43IDU5LjMtMS44IDMuNy0zLjQgMy43LTMuNiAuMS03LjItMTAuNi0xMC43LTIxLjItMjEuNC0zMS44LTMyLjItMS4zLTEuMy0zLTIuNS0uOC00LjcgMTAuOC0xMC43IDIxLjUtMjEuNSAzMi4yLTMyLjMgLjMtLjMgLjYtLjQgMS45LTEuMSAxMi40IDEyLjkgMjQuOSAyNS45IDM3LjIgMzguOCAyMS0yMC43IDQxLjItNDAuNyA2MS4zLTYwLjQgMTMuNyAxMy40IDI3LjEgMjYuNiA0MC45IDQwLTIwLjIgMjAuOS04MS43IDgyLjctMTAwLjUgMTAxLjV6TTI1NiAwTDAgMjU2IDI1NiA1MTIgNTEyIDI1NiAyNTYgMHpNMTYgMjU2TDI1NiAxNiA0OTYgMjU2IDI1NiA0OTYgMTYgMjU2eiJdfSxwa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGludXgiLGljb246WzQ0OCw1MTIsW10sImYxN2MiLCJNMjIwLjkgMTIzLjNjMSAuNSAxLjggMS43IDMgMS43IDEuMSAwIDIuOC0uNCAyLjktMS41IC4yLTEuNC0xLjktMi4zLTMuMi0yLjktMS43LS43LTMuOS0xLTUuNS0uMS0uNCAuMi0uOCAuNy0uNiAxLjEgLjMgMS4zIDIuMyAxLjEgMy40IDEuN3pNMTk5IDEyNWMxLjIgMCAyLTEuMiAzLTEuNyAxLjEtLjYgMy4xLS40IDMuNS0xLjYgLjItLjQtLjItLjktLjYtMS4xLTEuNi0uOS0zLjgtLjYtNS41IC4xLTEuMyAuNi0zLjQgMS41LTMuMiAyLjkgLjEgMSAxLjggMS41IDIuOCAxLjR6TTQyMCA0MDMuOGMtMy42LTQtNS4zLTExLjYtNy4yLTE5LjctMS44LTguMS0zLjktMTYuOC0xMC41LTIyLjQtMS4zLTEuMS0yLjYtMi4xLTQtMi45LTEuMy0uOC0yLjctMS41LTQuMS0yIDkuMi0yNy4zIDUuNi01NC41LTMuNy03OS4xLTExLjQtMzAuMS0zMS4zLTU2LjQtNDYuNS03NC40LTE3LjEtMjEuNS0zMy43LTQxLjktMzMuNC03MiAuNS00NS45IDUuMS0xMzEuMi03NS44LTEzMS4zLTEwMi40LS4yLTc2LjggMTAzLjQtNzcuOSAxMzUuMi0xLjcgMjMuNC02LjQgNDEuOC0yMi41IDY0LjctMTguOSAyMi41LTQ1LjUgNTguOC01OC4xIDk2LjctNiAxNy45LTguOCAzNi4xLTYuMiA1My4zLTYuNSA1LjgtMTEuNCAxNC43LTE2LjYgMjAuMi00LjIgNC4zLTEwLjMgNS45LTE3IDguM3MtMTQgNi0xOC41IDE0LjVjLTIuMSAzLjktMi44IDguMS0yLjggMTIuNCAwIDMuOSAuNiA3LjkgMS4yIDExLjggMS4yIDguMSAyLjUgMTUuNyAuOCAyMC44LTUuMiAxNC40LTUuOSAyNC40LTIuMiAzMS43IDMuOCA3LjMgMTEuNCAxMC41IDIwLjEgMTIuMyAxNy4zIDMuNiA0MC44IDIuNyA1OS4zIDEyLjUgMTkuOCAxMC40IDM5LjkgMTQuMSA1NS45IDEwLjQgMTEuNi0yLjYgMjEuMS05LjYgMjUuOS0yMC4yIDEyLjUtLjEgMjYuMy01LjQgNDguMy02LjYgMTQuOS0xLjIgMzMuNiA1LjMgNTUuMSA0LjEgLjYgMi4zIDEuNCA0LjYgMi41IDYuN2wwIC4xYzguMyAxNi43IDIzLjggMjQuMyA0MC4zIDIzIDE2LjYtMS4zIDM0LjEtMTEgNDguMy0yNy45IDEzLjYtMTYuNCAzNi0yMy4yIDUwLjktMzIuMiA3LjQtNC41IDEzLjQtMTAuMSAxMy45LTE4LjMgLjQtOC4yLTQuNC0xNy4zLTE1LjUtMjkuN3pNMjIzLjggODcuM2M5LjgtMjIuMiAzNC4yLTIxLjggNDQtLjQgNi41IDE0LjIgMy42IDMwLjktNC4zIDQwLjQtMS42LS44LTUuOS0yLjYtMTIuNi00LjkgMS4xLTEuMiAzLjEtMi43IDMuOS00LjYgNC44LTExLjgtLjItMjctOS4xLTI3LjMtNy4zLS41LTEzLjkgMTAuOC0xMS44IDIzLTQuMS0yLTkuNC0zLjUtMTMtNC40LTEtNi45LS4zLTE0LjYgMi45LTIxLjh6TTE4My4xIDc1LjhjMTAuMSAwIDIwLjggMTQuMiAxOS4xIDMzLjUtMy41IDEtNy4xIDIuNS0xMC4yIDQuNiAxLjItOC45LTMuMy0yMC4xLTkuNi0xOS42LTguNCAuNy05LjggMjEuMi0xLjggMjguMSAxIC44IDEuOS0uMi01LjkgNS41LTE1LjYtMTQuNi0xMC41LTUyLjEgOC40LTUyLjF6bS0xMy42IDYwLjdjNi4yLTQuNiAxMy42LTEwIDE0LjEtMTAuNSA0LjctNC40IDEzLjUtMTQuMiAyNy45LTE0LjIgNy4xIDAgMTUuNiAyLjMgMjUuOSA4LjkgNi4zIDQuMSAxMS4zIDQuNCAyMi42IDkuMyA4LjQgMy41IDEzLjcgOS43IDEwLjUgMTguMi0yLjYgNy4xLTExIDE0LjQtMjIuNyAxOC4xLTExLjEgMy42LTE5LjggMTYtMzguMiAxNC45LTMuOS0uMi03LTEtOS42LTIuMS04LTMuNS0xMi4yLTEwLjQtMjAtMTUtOC42LTQuOC0xMy4yLTEwLjQtMTQuNy0xNS4zLTEuNC00LjkgMC05IDQuMi0xMi4zem0zLjMgMzM0Yy0yLjcgMzUuMS00My45IDM0LjQtNzUuMyAxOC0yOS45LTE1LjgtNjguNi02LjUtNzYuNS0yMS45LTIuNC00LjctMi40LTEyLjcgMi42LTI2LjRsMC0uMmMyLjQtNy42IC42LTE2LS42LTIzLjktMS4yLTcuOC0xLjgtMTUgLjktMjAgMy41LTYuNyA4LjUtOS4xIDE0LjgtMTEuMyAxMC4zLTMuNyAxMS44LTMuNCAxOS42LTkuOSA1LjUtNS43IDkuNS0xMi45IDE0LjMtMTggNS4xLTUuNSAxMC04LjEgMTcuNy02LjkgOC4xIDEuMiAxNS4xIDYuOCAyMS45IDE2bDE5LjYgMzUuNmM5LjUgMTkuOSA0My4xIDQ4LjQgNDEgNjguOXptLTEuNC0yNS45Yy00LjEtNi42LTkuNi0xMy42LTE0LjQtMTkuNiA3LjEgMCAxNC4yLTIuMiAxNi43LTguOSAyLjMtNi4yIDAtMTQuOS03LjQtMjQuOS0xMy41LTE4LjItMzguMy0zMi41LTM4LjMtMzIuNS0xMy41LTguNC0yMS4xLTE4LjctMjQuNi0yOS45cy0zLTIzLjMtLjMtMzUuMmM1LjItMjIuOSAxOC42LTQ1LjIgMjcuMi01OS4yIDIuMy0xLjcgLjggMy4yLTguNyAyMC44LTguNSAxNi4xLTI0LjQgNTMuMy0yLjYgODIuNCAuNi0yMC43IDUuNS00MS44IDEzLjgtNjEuNSAxMi0yNy40IDM3LjMtNzQuOSAzOS4zLTExMi43IDEuMSAuOCA0LjYgMy4yIDYuMiA0LjEgNC42IDIuNyA4LjEgNi43IDEyLjYgMTAuMyAxMi40IDEwIDI4LjUgOS4yIDQyLjQgMS4yIDYuMi0zLjUgMTEuMi03LjUgMTUuOS05IDkuOS0zLjEgMTcuOC04LjYgMjIuMy0xNSA3LjcgMzAuNCAyNS43IDc0LjMgMzcuMiA5NS43IDYuMSAxMS40IDE4LjMgMzUuNSAyMy42IDY0LjYgMy4zLS4xIDcgLjQgMTAuOSAxLjQgMTMuOC0zNS43LTExLjctNzQuMi0yMy4zLTg0LjktNC43LTQuNi00LjktNi42LTIuNi02LjUgMTIuNiAxMS4yIDI5LjIgMzMuNyAzNS4yIDU5IDIuOCAxMS42IDMuMyAyMy43IC40IDM1LjcgMTYuNCA2LjggMzUuOSAxNy45IDMwLjcgMzQuOC0yLjItLjEtMy4yIDAtNC4yIDAgMy4yLTEwLjEtMy45LTE3LjYtMjIuOC0yNi4xLTE5LjYtOC42LTM2LTguNi0zOC4zIDEyLjUtMTIuMSA0LjItMTguMyAxNC43LTIxLjQgMjcuMy0yLjggMTEuMi0zLjYgMjQuNy00LjQgMzkuOS0uNSA3LjctMy42IDE4LTYuOCAyOS0zMi4xIDIyLjktNzYuNyAzMi45LTExNC4zIDcuMnptMjU3LjQtMTEuNWMtLjkgMTYuOC00MS4yIDE5LjktNjMuMiA0Ni41LTEzLjIgMTUuNy0yOS40IDI0LjQtNDMuNiAyNS41cy0yNi41LTQuOC0zMy43LTE5LjNjLTQuNy0xMS4xLTIuNC0yMy4xIDEuMS0zNi4zIDMuNy0xNC4yIDkuMi0yOC44IDkuOS00MC42IC44LTE1LjIgMS43LTI4LjUgNC4yLTM4LjcgMi42LTEwLjMgNi42LTE3LjIgMTMuNy0yMS4xIC4zLS4yIC43LS4zIDEtLjUgLjggMTMuMiA3LjMgMjYuNiAxOC44IDI5LjUgMTIuNiAzLjMgMzAuNy03LjUgMzguNC0xNi4zIDktLjMgMTUuNy0uOSAyMi42IDUuMSA5LjkgOC41IDcuMSAzMC4zIDE3LjEgNDEuNiAxMC42IDExLjYgMTQgMTkuNSAxMy43IDI0LjZ6TTE3My40IDE0OC43YzIgMS45IDQuNyA0LjUgOCA3LjEgNi42IDUuMiAxNS44IDEwLjYgMjcuMyAxMC42IDExLjYgMCAyMi41LTUuOSAzMS44LTEwLjggNC45LTIuNiAxMC45LTcgMTQuOC0xMC40czUuOS02LjMgMy4xLTYuNi0yLjYgMi42LTYgNS4xYy00LjQgMy4yLTkuNyA3LjQtMTMuOSA5LjgtNy40IDQuMi0xOS41IDEwLjItMjkuOSAxMC4ycy0xOC43LTQuOC0yNC45LTkuN2MtMy4xLTIuNS01LjctNS03LjctNi45LTEuNS0xLjQtMS45LTQuNi00LjMtNC45LTEuNC0uMS0xLjggMy43IDEuNyA2LjV6Il19LGZrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjb3R0b24tYnVyZWF1IixpY29uOls1MTIsNTEyLFtdLCJmODllIiwiTTQ3NC4zIDMzMC40QzQ1MC42IDQyMi4zIDM4MC4xIDQ3NSAyNzIuNCA0NzguOGwwLTQ5LjJjMC00OCAyNi40LTc0LjQgNzQuNC03NC40IDYyIDAgOTkuMi0zNy4yIDk5LjItOTkuMiAwLTYxLjQtMzYuNS05OC4zLTk3LjQtOTkuMS0zMy02OS4zLTE0Ni41LTY0LjctMTc3LjIgMC02MC45IC44LTk3LjQgMzcuNy05Ny40IDk5LjEgMCA2Mi4xIDM3LjMgOTkuNCA5OS40IDk5LjQgNDggMCA3NC42IDI2LjIgNzQuNiA3NC40bDAgNDkuMmMtMTM0LjQtNS0yMTEuMS04NS4xLTIxMS4xLTIyMyAwLTE0MS44IDgxLjQtMjIzLjIgMjIzLjItMjIzLjIgMTE0LjggMCAxODkuOCA1My4yIDIxNC43IDE0OC44bDI1LjMgMEM0NzMuOSA3MS41IDM4OC4yIDggMjU5LjggOCAxMDUgOCAxMiAxMDEuMiAxMiAyNTUuOCAxMiA0MTEuMSAxMDUuMiA1MDQuMyAyNTkuOCA1MDQgMzg4LjEgNTA0IDQ3My43IDQ0MC4yIDQ5OS41IDMzMC40bC0yNS4yIDB6TTM1NyAxODIuM2M0MS40IDMuNCA2NC4yIDI5IDY0LjIgNzMuNyAwIDQ4LTI2LjQgNzQuNC03NC40IDc0LjQtMjguNiAwLTQ5LjMtOS42LTYxLjYtMjcuMyA4My4xLTE2LjUgNzUuNi05OS43IDcxLjgtMTIwLjd6bS04MS43IDk3LjRjLTIuNS0xMC4zLTE2LjMtODcgNTYuMi05NyAyLjMgMTAuMSAxNi41IDg3LjEtNTYuMyA5N2wwIDB6TTI2MCAxMzJjMjguNiAwIDQ5IDkuNyA2MS40IDI3LjYtMjguNCA1LjUtNDkuNCAyMC42LTYxLjYgNDMuNC0xMi4yLTIyLjktMzMuMi0zOC02MS42LTQzLjQgMTIuNC0xNy43IDMzLjMtMjcuNCA2MS42LTI3LjRsLjItLjN6bS03MS41IDUwLjdjNzMuMiAxMC42IDU4LjkgODYuOCA1Ni41IDk3LTcyLjQtOS44LTU5LTg3LTU2LjItOTdsLS4yIDB6TTE3My4yIDMzMC40Yy00OCAwLTc0LjQtMjYuNC03NC40LTc0LjQgMC00NC40IDIyLjktNzAgNjQuMi03My43LTYuOCAzNy4yLTEuNCAxMDYuNSA3MS42IDEyMC43LTEyLjEgMTcuNi0zMi44IDI3LjMtNjEuMSAyNy4zbC0uMyAwem01My4yIDEyLjRjMTQuMy03LjYgMjYtMTkuMyAzMy42LTMzLjUgNy44IDE0LjUgMTkuMyAyNS41IDMzLjggMzMuNS0xNC40IDcuNi0yNi4xIDE5LjQtMzMuNiAzMy44LTgtMTQuNS0xOS4xLTI2LjItMzMuNi0zMy44bC0uMyAweiJdfSxoa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ29vZ2xlLXdhbGxldCIsaWNvbjpbNDQ4LDUxMixbXSwiZjFlZSIsIk0xNTYuOCAxMjYuOGMzNy42IDYwLjYgNjQuMiAxMTMuMSA4NC4zIDE2Mi41LTguMyAzMy44LTE4LjggNjYuNS0zMS4zIDk4LjMtMTMuMi01Mi4zLTI2LjUtMTAxLjMtNTYtMTQ4LjUgNi41LTM2LjQgMi4zLTczLjYgMy0xMTIuM3pNMTA5LjMgMjAwbC05My4yIDBjLTYuNSAwLTEwLjUgNy41LTYuNSAxMi43IDQyLjIgNTQuMyA3MS43IDExNy44IDkxLjcgMTg3LjNsMTAzLjUgMGMtMTYuMi02OS43LTM4LjctMTMzLjctODIuNS0xOTMuNS0zLTQtOC02LjUtMTMtNi41em00Ny44LTg4YzY4LjUgMTA4IDEzMCAyMzQuNSAxMzguMiAzNjhMNDA5IDQ4MGMtMTItMTM4LTY4LjQtMjY1LTE0My4yLTM2OGwtMTA4LjcgMHpNNDA4LjkgNDMuNWMtMS44LTYuOC04LjItMTEuNS0xNS4yLTExLjVsLTg4LjMgMGMtNS4zIDAtOSA1LTcuOCAxMC4zIDEzLjIgNDYuNSAyMi4zIDk1LjUgMjYuNSAxNDYgNDguMiA4Ni4yIDc5LjcgMTc4LjMgOTAuNiAyNzAuOCAxNS44LTYwLjUgMjUuMy0xMzMuNSAyNS4zLTIwMyAwLTczLjYtMTIuMS0xNDUuMS0zMS4xLTIxMi42eiJdfSxta3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZm91cnNxdWFyZSIsaWNvbjpbMzg0LDUxMixbXSwiZjE4MCIsIk0zMzEuMSAzTDU3LjkgM0MyMC40IDMgOCAzMS4zIDggNDkuMUw4IDQ4Mi45YzAgMjAuMyAxMi4xIDI3LjcgMTguMiAzMC4xIDYuMiAyLjUgMjIuOCA0LjYgMzIuOS03LjEgMTI4LjktMTQ5LjQgMTMxLjEtMTUxLjkgMTMxLjEtMTUxLjkgMy4xLTMuNCAzLjQtMy4xIDYuOC0zLjFsODMuNCAwYzM1LjEgMCA0MC42LTI1LjIgNDQuMy0zOS43bDQ4LjYtMjQzQzM4MS44IDI1LjggMzcxLjEgMyAzMzEuMSAzek0zMTQuOCA3Ni44bC0xMS40IDU5LjdjLTEuMiA2LjUtOS41IDEzLjItMTYuOSAxMy4ybC0xMDYuNCAwYy0xMiAwLTIwLjYgOC4zLTIwLjYgMjAuM2wwIDEzYzAgMTIgOC42IDIwLjYgMjAuNiAyMC42bDkwLjQgMGM4LjMgMCAxNi42IDkuMiAxNC44IDE4LjItMS44IDguOS0xMC41IDUzLjgtMTEuNCA1OC44LS45IDQuOS02LjggMTMuNS0xNi45IDEzLjVsLTczLjUgMGMtMTMuNSAwLTE3LjIgMS44LTI2LjUgMTIuNiAwIDAtOC45IDExLjQtODkuNSAxMDguMy0uOSAuOS0xLjggLjYtMS44LS4zbDAtMzM4LjhjMC03LjcgNi44LTE2LjYgMTYuNi0xNi42bDIxOSAwYzguMiAwIDE1LjYgNy43IDEzLjUgMTcuNXoiXX0sZ2t0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNoaXJ0c2luYnVsayIsaWNvbjpbNDQ4LDUxMixbXSwiZjIxNCIsIk0xMDAgNDEwLjNsMzAuNiAxMy40IDQuNC05LjktMzAuNi0xMy40LTQuNCA5Ljl6bTM5LjQgMTcuNWwzMC42IDEzLjQgNC40LTkuOS0zMC42LTEzLjQtNC40IDkuOXptMTcyLjEtMTRsNC40IDkuOSAzMC42LTEzLjQtNC40LTkuOS0zMC42IDEzLjR6TTE3OS4xIDQ0NWwzMC4zIDEzLjcgNC40LTkuOS0zMC4zLTEzLjQtNC40IDkuNnpNNjAuNCAzOTIuOGwzMC42IDEzLjQgNC40LTkuNi0zMC42LTEzLjctNC40IDkuOXptMjExLjQgMzguNWw0LjQgOS45IDMwLjYtMTMuNC00LjQtOS45LTMwLjYgMTMuNHptLTM5LjMgMTcuNWw0LjQgOS45IDMwLjYtMTMuNy00LjQtOS42LTMwLjYgMTMuNHptMTE4LjQtNTIuMmw0LjQgOS42IDMwLjYtMTMuNC00LjQtOS45LTMwLjYgMTMuN3pNMTcwIDQ2LjZsLTMzLjUgMCAwIDEwLjUgMzMuNSAwIDAtMTAuNXptLTQ3LjIgMGwtMzMuNiAwIDAgMTAuNSAzMy41IDAgLjEtMTAuNXptLTQ3LjMgMGwtMzMuMiAwIDAgMTAuNSAzMy4zIDAtLjEtMTAuNXptMTQxLjUgMGwtMzMuMiAwIDAgMTAuNSAzMy4yIDAgMC0xMC41em05NC41IDBsLTMzLjUgMCAwIDEwLjUgMzMuNSAwIDAtMTAuNXptNDcuMyAwbC0zMy41IDAgMCAxMC41IDMzLjUgMCAwLTEwLjV6bS05NC42IDBsLTMzLjIgMCAwIDEwLjUgMzMuMiAwIDAtMTAuNXptMTQxLjUgMGwtMzMuMyAwIDAgMTAuNSAzMy4zIDAgMC0xMC41ek01Mi44IDM1MS4xbC0xMC44IDAgMCAzMy41IDEwLjggMCAwLTMzLjV6bTcwLTIxNS45bC0zMy42IDAgMCAxMC41IDMzLjUgMCAuMS0xMC41em0tNzAgMTAuNmwyMi44IDAgMC0xMC41LTMzLjYgMCAwIDMzLjUgMTAuOCAwIDAtMjN6TTIyMS43IDM3NC40YTkxLjMgOTEuMyAwIDEgMCAwLTE4Mi42IDkxLjMgOTEuMyAwIDEgMCAwIDE4Mi42ek0xNzMuNSAyNjMuM2MwLTI1LjQgMjkuNS0zMS44IDQ5LjYtMzEuOCAxNi45IDAgMjkuMiA1LjggNDQuMyAxMmwtOC44IDE2LjktLjkgMGMtNi40LTkuOS0yNC44LTEzLjEtMzUuNi0xMy4xLTkgMC0yOS44IDEuOC0yOS44IDE0LjkgMCAyMS42IDc4LjUtMTAuMiA3OC41IDM3LjkgMCAyNS40LTMxLjUgMzEuMi01MSAzMS4yLTE4LjEgMC0zMi40LTIuOS00Ny4yLTEyLjJsOS0xOC40IC45IDBjNi4xIDEyLjIgMjMuNiAxNC45IDM1LjkgMTQuOSA4LjcgMCAzMi43LTEuMiAzMi43LTE0LjMgMC0yNi4xLTc3LjYgNi4zLTc3LjYtMzh6TTUyLjggMTc4LjRsLTEwLjggMCAwIDMzLjYgMTAuOCAwIDAtMzMuNnpNMzk1LjIgMzg0LjZsMTAuOCAwIDAtMzMuNS0xMC44IDAgMCAzMy41ek01Mi44IDMwNy45bC0xMC44IDAgMCAzMy41IDEwLjggMCAwLTMzLjV6TTAgMy43bDAgNDA2IDIyMS43IDk4LjYgMjI2LjMtOTguNiAwLTQwNi00NDggMHpNNDE4LjggMzkwLjhsLTE5Ni44IDg1LjctMTkyLjgtODUuNyAwLTI3MC4xIDM4OS43IDAgMCAyNzAuMS0uMSAwem0wLTI5OS4zbC0zODkuNiAwIDAtNTguNiAzODkuNyAwIDAgNTguNi0uMSAwek01Mi44IDIyMS42bC0xMC44IDAgMCAzMy41IDEwLjggMCAwLTMzLjV6bTAgNDMuMmwtMTAuOCAwIDAgMzMuNSAxMC44IDAgMC0zMy41ek0xNzAgMTM1LjJsLTMzLjUgMCAwIDEwLjUgMzMuNSAwIDAtMTAuNXpNMzk1LjIgMjk4LjNsMTAuOCAwIDAtMzMuNS0xMC44IDAgMCAzMy41em0wLTQzLjJsMTAuOCAwIDAtMzMuNS0xMC44IDAgMCAzMy41ek0yMTcgMTM1LjJsLTMzLjIgMCAwIDEwLjUgMzMuMiAwIDAtMTAuNXpNMzk1LjIgMjEybDEwLjggMCAwLTMzLjUtMTAuOCAwIDAgMzMuNXptMCAxMjkuNWwxMC44IDAgMC0zMy41LTEwLjggMCAwIDMzLjV6bS0xMzEtMjA2LjNsLTMzLjIgMCAwIDEwLjUgMzMuMiAwIDAtMTAuNXptNDcuMyAwbC0zMy41IDAgMCAxMC41IDMzLjUgMCAwLTEwLjV6bTgzLjcgMzMuNmwxMC44IDAgMC0zMy41LTMzLjUgMCAwIDEwLjUgMjIuOCAwLS4xIDIzem0tMzYuNC0zMy42bC0zMy41IDAgMCAxMC41IDMzLjUgMCAwLTEwLjV6Il19LGJrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtaW50Yml0IixpY29uOls1MTIsNTEyLFtdLCJlNjJmIiwiTTczLjIgNTEybDAtNzMuMSAyOTIuNSAwIDAtNzMuMiA3My4yIDAgMC0xNDYuMyA3My4xIDAgMC0yMTkuNC0yMTkuNCAwIDAgNzMuMS0xNDYuMyAwIDAgNzMuMi03My4xIDAgMCAyOTIuNi03My4yIDAgMCA3My4xIDczLjIgMHptNzMuMS0yMTkuNGw3My4yIDAgMCA3My4xLTczLjIgMCAwLTczLjF6bTczLjItNzMuMWw3My4xIDAgMCA3My4xLTczLjIgMCAwLTczLjIgLjEgLjF6bTczLjEgMGwwLTczLjIgNzMuMiAwIDAgNzMuMS03My4yIDAgMCAuMXpNMzY1LjcgNzMuMWw3My4yIDAgMCA3My4yLTczLjIgMCAwLTczLjJ6Il19LHZrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ6dWxpcCIsaWNvbjpbNDQ4LDUxMixbXSwiZTg1MyIsIk00MjQgOTljMCAyMi42LTEwLjEgNDIuNi0yNS41IDU0LjhMMjQ5LjMgMjg3LjdjLTIuOCAyLjQtNi40LTEuNS00LjQtNC43bDU0LjctMTEwLjFjMS41LTMuMS0uNS02LjktMy42LTYuOUw4My44IDE2NkM1MC45IDE2NiAyNCAxMzUuOSAyNCA5OSAyNCA2Mi4xIDUwLjkgMzIgODMuOCAzMmwyODAuNCAwQzM5Ny4xIDMyIDQyNCA2Mi4xIDQyNCA5OXpNODMuOCA0ODBsMjgwLjQgMGMzMi45IDAgNTkuOC0zMC4yIDU5LjgtNjdzLTI2LjktNjctNTkuOC02N2wtMjEyLjMgMGMtMy4xIDAtNS4xLTMuOC0zLjYtNi45TDIwMy4xIDIyOWMyLTMuMi0xLjYtNy4xLTQuNC00LjdMNDkuNSAzNTguMkMzNC4xIDM3MC40IDI0IDM5MC40IDI0IDQxMyAyNCA0NDkuOCA1MC45IDQ4MCA4My44IDQ4MHoiXX0seGt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0YXlsaW5rZWQiLGljb246WzQ0OCw1MTIsW10sImYzZjUiLCJNMzg2LjcgMjkyLjVsMi43IDIuNy0xNzAtMTY3LjNjLTMuNS0zLjUtOS43LTMuNy0xMy44LS41TDE0OC4zIDE3MWMtNC4yIDMuMi00LjYgOC43LTEuMSAxMi4ybDY4LjEgNjQuM2MzLjYgMy41IDkuOSAzLjcgMTQgLjVsLjEtLjFjNC4xLTMuMiAxMC40LTMgMTQgLjVsODQgODEuM2MzLjYgMy41IDMuMiA5LS45IDEyLjJsLTkzLjIgNzRjLTQuMiAzLjMtMTAuNSAzLjEtMTQuMi0uNEw2Ny4yIDI2OGMtMy41LTMuNS05LjctMy43LTEzLjktLjVMNy41IDMwMi40Yy00LjIgMy4yLTQuNyA4LjctMS4yIDEyLjJMMjE1IDUxMC43czcuNCA2LjggMTcuMy0uOEw0MzAuMyAzNDZjNC0zLjIgNC40LTguNyAuNy0xMi4ybC00NC4zLTQxLjN6bTU0LjUtODMuNEwyMzAuNyAyLjVjLTEuNS0xLjItOC01LjUtMTYuMyAxLjFMNy42IDE2NS43Yy00LjIgMy4yLTQuOCA4LjctMS4yIDEyLjJsNDIuMyA0MS43IDE3MS43IDE2NS4xYzMuNyAzLjUgMTAuMSAzLjcgMTQuMyAuNGw1MC4yLTM4LjgtLjMtLjMgNy43LTZjNC4yLTMuMiA0LjYtOC43IC45LTEyLjJsLTU3LjEtNTQuNGMtMy42LTMuNS0xMC0zLjctMTQuMi0uNWwtLjEgLjFjLTQuMiAzLjItMTAuNSAzLjEtMTQuMi0uNEwxMTMgMTgwLjhjLTMuNi0zLjUtMy4xLTguOSAxLjEtMTIuMmw5Mi4yLTcxLjVjNC4xLTMuMiAxMC4zLTMgMTMuOSAuNWwxNjAuNCAxNTljMy43IDMuNSAxMCAzLjcgMTQuMSAuNWw0NS44LTM1LjhjNC4xLTMuMiA0LjQtOC43IC43LTEyLjJ6Il19LHlrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3ZWJmbG93IixpY29uOls2NDAsNTEyLFtdLCJlNjVjIiwiTTY0MCA2NGwtMjA0LjIgMzk5LjItMTkxLjggMCA4NS41LTE2NS41LTMuOCAwQzI1NS4xIDM4OS4zIDE0OS45IDQ0OS41IDAgNDYzLjJMMCAzMDAuMXM5NS45LTUuNyAxNTIuMy02NC45bC0xNTIuMyAwIDAtMTcxLjIgMTcxLjEgMCAwIDE0MC44IDMuOCAwIDcwLTE0MC44IDEyOS40IDAgMCAxMzkuOSAzLjggMCA3Mi42LTEzOS45IDE4OS4zIDB6Il19LHdrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZW5yZW4iLGljb246WzUxMiw1MTIsW10sImYxOGIiLCJNMjE0IDE2OS4xQzIxNCAyNzkuNSAxNTMgMzc0LjUgNjYuNCA0MTYuNSAzMCAzNzMuMiA4IDMxNy43IDggMjU2LjYgOCAxMzMuOSA5Ny4xIDMyLjIgMjE0IDEyLjVsMCAxNTYuNnpNMjU1IDUwNGMtNDIuOSAwLTgzLjMtMTEtMTE4LjUtMzAuNCA1Ny4yLTM2LjEgMTAzLjQtOTAuNyAxMTguNS0xNTQuNiAxNS41IDYzLjkgNjEuNyAxMTguNSAxMTguOCAxNTQuNy0zNS4xIDE5LjMtNzUuNSAzMC4zLTExOC44IDMwLjN6bTE5MC42LTg3LjVDMzU5IDM3NC41IDI5OCAyNzkuNiAyOTggMTY5LjFsMC0xNTYuNmMxMTYuOSAxOS43IDIwNiAxMjEuNCAyMDYgMjQ0LjEgMCA2MS4xLTIyIDExNi42LTU4LjQgMTU5Ljl6Il19LE1rdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJrby1maSIsaWNvbjpbNTEyLDUxMixbXSwiZTg1NiIsIk0yNDkuOCA3NWM4OS44IDAgMTEzIDEuMSAxNDYuMyA0LjQgNzguMSA3LjggMTIzLjYgNTYgMTIzLjYgMTI1LjJsMCA4LjljMCA2NC4zLTQ3LjEgMTE2LjktMTEwLjggMTIyLjQtNSAxNi42LTEyLjggMzMuMi0yMy4zIDQ5LjktMjQuNCAzNy43LTczLjEgODUuMy0xNjIuOSA4NS4zbC0xNy43IDBjLTczLjEgMC0xMjkuNy0zMS42LTE2My41LTg5LjItMjkuOS01MC40LTMzLjgtMTA2LjQtMzMuOC0xODEuMiAwLTczLjcgNDQuNC0xMTMuNiA5Ni40LTEyMC4yIDM5LjMtNSA4OC4xLTUuNSAxNDUuNy01LjV6bTAgNDEuNmMtNjAuNCAwLTEwMy42IC41LTEzNi4zIDUuNS00NiA2LjctNjQuMyAzMi43LTY0LjMgNzkuMmwuMiAyNS43YzEuMiA1Ny4zIDcuMSA5Ny4xIDI3LjUgMTM0LjUgMjYuNiA0OS4zIDc0LjggNjguMiAxMjkuNyA2OC4ybDE3LjIgMGM3MiAwIDEwNy0zNC45IDEyNi4zLTY1LjQgOS40LTE1LjUgMTcuNy0zMi43IDIyLjItNTQuM2wzLjMtMTMuOCAxOS45IDBjNDQuMyAwIDgyLjYtMzYgODIuNi04MmwwLTguM2MwLTUxLjUtMzIuMi03OC43LTg4LjEtODUuMy0zMS42LTIuOC01MC40LTMuOS0xNDAuMi0zLjl6TTI2NyAxNjkuMmMzOC4yIDAgNjQuOCAzMS42IDY0LjggNjcgMCAzMi43LTE4LjMgNjEtNDIuMSA4My4xLTE1IDE1LTM5LjMgMzAuNS01NS45IDQwLjUtNC40IDIuOC0xMCA0LjQtMTYuNyA0LjQtNS41IDAtMTAuNS0xLjctMTUuNS00LjQtMTYuNi0xMC00MS0yNS41LTU2LjUtNDAuNS0yMS44LTIwLjgtMzkuMi00Ni45LTQxLjMtNzdsLS4yLTYuMWMwLTM1LjUgMjUuNS02NyA2NC4zLTY3IDIyLjcgMCAzOC44IDExLjYgNDkuMyAyNy43IDExLjYtMTYuMSAyNy4yLTI3LjcgNDkuOS0yNy43em0xMjIuNS0zLjljMjguMyAwIDQzLjggMTYuNiA0My44IDQzLjJzLTE1LjUgNDIuNy00My44IDQyLjdjLTguOSAwLTEzLjgtNS0xMy44LTExLjdsMC02Mi42YzAtNi43IDUtMTEuNiAxMy44LTExLjZ6Il19LGtrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZXYiLGljb246WzQ0OCw1MTIsW10sImY1YjIiLCJNMTU4LjcgMjc0LjlhNjUuNiA2NS42IDAgMSAxIDEzMS4yIDAgNjUuNiA2NS42IDAgMSAxIC0xMzEuMiAwem0yNzAuNy01LjFsLS4xIDBjLS43LTI5LjMtNy43LTU4LjItMjAuNS04NC42cy0zMS4yLTQ5LjctNTMuOC02OC40TDMwOS42IDE0M2MyMiAxNC4yIDQwLjEgMzMuOCA1Mi43IDU2LjhzMTkuMSA0OC44IDE5LjEgNzUuMWMwIDg2LjYtNzAuNSAxNTcuMS0xNTcuMSAxNTcuMVM2Ny4yIDM2MS41IDY3LjIgMjc0LjljMC04MS45IDYzLTE0OS4zIDE0My0xNTYuNGwwIDM5LjEgMTA4LjgtNjIuOC0xMDguOC02Mi44IDAgMzguM2MtMTA2LjcgNy4yLTE5MSA5Ni0xOTEgMjA0LjYgMCAxMTEuNiA4OS4xIDIwMi4zIDIwMC4xIDIwNWwwIC4xIDIxMC4yIDAgMC0yMTAuMnoiXX0sU2t0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImtleWNkbiIsaWNvbjpbNTEyLDUxMixbXSwiZjNiYSIsIk02My44IDQwOS4zbDYwLjUtNTljMzIuMSA0Mi44IDcxLjEgNjYgMTI2LjYgNjcuNCAzMC41IC43IDYwLjMtNyA4Ni40LTIyLjQgNS4xIDUuMyAxOC41IDE5LjUgMjAuOSAyMi0zMi4yIDIwLjctNjkuNiAzMS4xLTEwOC4xIDMwLjItNDMuMy0xLjEtODQuNi0xNi43LTExNy43LTQ0LjQgLjMtLjYtMzguMiAzNy41LTM4LjYgMzcuOSA5LjUgMjkuOC0xMy4xIDYyLjQtNDYuMyA2Mi40LTI2LjgtLjEtNDcuNS0yMS43LTQ3LjUtNDguNSAwLTM0LjMgMzMuMS01Ni42IDYzLjgtNDUuNnpNNDE4LjcgMTU2LjljMTkuMSAzMS4zIDI5LjYgNjcuNCAyOC43IDEwNC0xLjEgNDQuOC0xOSA4Ny41LTQ4LjYgMTIxIC4zIC4zIDIzLjggMjUuMiAyNC4xIDI1LjUgOS42LTEuMyAxOS4yIDIgMjUuOSA5LjEgMTEuMyAxMiAxMC45IDMwLjktMS4xIDQyLjQtMTIgMTEuMy0zMC45IDEwLjktNDIuNC0xLjEtNi43LTctOS40LTE2LjgtNy42LTI2LjMtMjQuOS0yNi42LTQ0LjQtNDcuMi00NC40LTQ3LjIgNDIuNy0zNC4xIDYzLjMtNzkuNiA2NC40LTEyNC4yIC43LTI4LjktNy4yLTU3LjItMjEuMS04Mi4ybDIyLjEtMjF6TTEwNCA1My4xYzYuNyA3IDkuNCAxNi44IDcuNiAyNi4zbDQ1LjkgNDguMWMtNC43IDMuOC0xMy4zIDEwLjQtMjIuOCAyMS4zLTI1LjQgMjguNS0zOS42IDY0LjgtNDAuNyAxMDIuOS0uNyAyOC45IDYuMSA1Ny4yIDIwIDgyLjRMOTIgMzU1LjZjLTE5LjMtMzEuNi0yOC45LTY3LjctMjcuOC0xMDQuNyAxLTQ0LjYgMTguMy04Ny42IDQ3LjUtMTIxLjFMODYuNCAxMDMuNGMtOS42IDEuMy0xOS4yLTItMjUuOS05LjEtMTEuMy0xMi0xMC45LTMwLjkgMS4xLTQyLjQgMTEuOS0xMS4yIDMwLjYtMTAuOSA0Mi40IDEuMnpNNDY0LjkgOGMyNiAwIDQ3LjEgMjIuNCA0Ny4xIDQ4LjNTNDkwLjkgMTA0IDQ2NC45IDEwNGMtNi4zIC4xLTE0LTEuMS0xNS45LTEuOGwtNjIuOSA1OS43Yy0zMi43LTQzLjYtNzYuNy02NS45LTEyNi45LTY3LjItMzAuNS0uNy02MC4zIDYuOC04Ni4yIDIyLjRsLTIxLjEtMjJDMTg0LjEgNzQuMyAyMjEuNSA2NCAyNjAgNjQuOSAzMDMuMyA2NiAzNDQuNiA4MS42IDM3Ny43IDEwOS41bDQxLjEtMzguNmMtMS41LTQuNy0yLjItOS42LTIuMi0xNC41LS4xLTI2LjcgMjIuMy00OC40IDQ4LjMtNDguNHpNMjU2LjcgMTEzLjRjNS41IDAgMTAuOSAuNCAxNi40IDEuMSA3OC4xIDkuOCAxMzMuNCA4MS4xIDEyMy44IDE1OS4xLTkuOCA3OC4xLTgxLjEgMTMzLjQtMTU5LjEgMTIzLjgtNzguMS05LjgtMTMzLjQtODEuMS0xMjMuOC0xNTkuMiA5LjMtNzIuNCA3MC4xLTEyNC42IDE0Mi43LTEyNC44em0tNTkgMTE5LjRjLjYgMjIuNyAxMi4yIDQxLjggMzIuNCA1Mi4ybC0xMSA1MS43IDczLjcgMC0xMS01MS43YzIwLjEtMTAuOSAzMi4xLTI5IDMyLjQtNTIuMi0uNC0zMi44LTI1LjgtNTcuNS01OC4zLTU4LjMtMzIuMSAuOC01Ny4zIDI0LjgtNTguMiA1OC4zeiJdfSx6a3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaGlyZS1hLWhlbHBlciIsaWNvbjpbNTEyLDUxMixbXSwiZjNiMCIsIk00NDMuMSAwTDcxLjkgMEM2Ny45IDM3LjMgMzcuNCA2Ny44IDAgNzEuN0wwIDQ0My4yYzM3LjQgNC45IDY2IDMyLjQgNzEuOSA2OC44bDM3Mi4yIDBjMy0zNi40IDMyLjUtNjUuOCA2Ny45LTY5LjhsMC0zNzAuNUM0NzUuNiA2NS44IDQ0NyAzNi40IDQ0My4xIDB6bS0zNyA0MDQuOWMtMzYuMyAwLTE4LjgtMi01NS4xLTItMzUuOCAwLTIxIDItNTYuMSAyLTUuOSAwLTQuOS04LjIgMC05LjggMjIuOC03LjYgMjIuOS0xMC4yIDI0LjYtMTIuOCAxMC40LTE1LjYgNS45LTgzIDUuOS0xMTMgMC01LjMtNi40LTEyLjgtMTMuOC0xMi44bC0xMTEuMiAwYy03LjQgMC0xMy44IDcuNS0xMy44IDEyLjggMCAzMC00LjUgOTcuNCA1LjkgMTEzIDEuNyAyLjUgMS44IDUuMiAyNC42IDEyLjggNC45IDEuNiA2IDkuOCAwIDkuOC0zNS4xIDAtMjAuMy0yLTU2LjEtMi0zNi4zIDAtMTguOCAyLTU1LjEgMi03LjkgMC01LjgtMTAuOCAwLTEwLjggMTAuMi0zLjQgMTMuNS0zLjUgMjEuNy0xMy44IDcuNy0xMi45IDcuOS00NC40IDcuOS0xMjcuOGwwLTEwMS4yYzAtMjIuMi0xMi4yLTI4LjMtMjguNi0zMi40LTguOC0yLjItNC0xMS44IDEtMTEuOCAzNi41IDAgMjAuNiAyIDU3LjEgMiAzMi43IDAgMTYuNS0yIDQ5LjItMiAzLjMgMCA4LjUgOC4zIDEgMTAuOC00LjkgMS42LTI3LjYgMy43LTI3LjYgMzkuMyAwIDQ1LjYtLjIgNTUuOCAxIDY4LjggMCAxLjMgMi4zIDEyLjggMTIuOCAxMi44bDEwOS4yIDBjMTAuNSAwIDEyLjgtMTEuNSAxMi44LTEyLjggMS4yLTEzIDEtMjMuMiAxLTY4LjggMC0zNS42LTIyLjctMzcuNy0yNy42LTM5LjMtNy41LTIuNS0yLjMtMTAuOCAxLTEwLjggMzIuNyAwIDE2LjUgMiA0OS4yIDIgMzYuNSAwIDIwLjYtMiA1Ny4xLTIgNC45IDAgOS45IDkuNiAxIDExLjgtMTYuNCA0LjEtMjguNiAxMC4zLTI4LjYgMzIuNGwwIDEwMS4yYzAgODMuNCAuMSAxMTQuOSA3LjkgMTI3LjggOC4yIDEwLjIgMTEuNCAxMC40IDIxLjcgMTMuOCA1LjggMCA3LjggMTAuOCAwIDEwLjh6Il19LFF1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtaGFja2VyLW5ld3MiLGljb246WzQ0OCw1MTIsWyJoYWNrZXItbmV3cy1zcXVhcmUiXSwiZjNhZiIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMjEgMjI5LjJzLjEtLjEgLjEtLjIgLjEtLjIgLjItLjJjMCAuMSAwIC4zLS4xIC40bC0uMiAwek0yMzkuMiAzODRsLTMxLjQgMCAwLTEwMi43LTc5LjgtMTUzLjMgMzcuMyAwYzQxLjUgNzcuNyA0OC4xIDk1LjggNTQuMSAxMTIgMS42IDQuMyAzLjEgOC41IDUuMiAxMy42IDMuMi03IDUuMS0xMS45IDcuMS0xNy4zIDUuOS0xNS4zIDEyLjgtMzMuMiA1My41LTEwOC4zbDM0LjggMC04MC44IDE1NS4xIDAgMTAwLjl6Il19LENrdD1RdWUsX2t0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0IixpY29uOls1MTIsNTEyLFtdLCJmNGVkIiwiTTI1NS42IDhDMTEyLjcgOCA4IDEyMy4xIDggMjU2IDggMzk0LjUgMTIxLjYgNTA0IDI1NS42IDUwNCAzODUuNSA1MDQgNTA0IDQwMy4xIDUwNCAyNTYgNTA0IDExOC4xIDM5Ny40IDggMjU1LjYgOHptLjggNDUwLjhjLTExMi41IDAtMjAzLjctOTMtMjAzLjctMjAyLjggMC0xMDUuNCA4NS41LTIwMy4zIDIwMy43LTIwMy4zIDExMi42IDAgMjAyLjkgODkuNSAyMDIuOCAyMDMuMyAwIDEyMS43LTk5LjYgMjAyLjgtMjAyLjggMjAyLjh6TTMyNC43IDE4NmwtNTMuMiAwIDAgMTM3LjIgNTMuMiAwYzIxLjQgMCA3MC01LjEgNzAtNjguNiAwLTYzLjQtNDguNi02OC42LTcwLTY4LjZ6bS44IDEwOC41bC0xOS45IDAgMC03OS43IDE5LjQtLjFjMy44IDAgMzUtMi4xIDM1IDM5LjkgMCAyNC42LTEwLjUgMzkuOS0zNC41IDM5Ljl6TTIxMS43IDE4NmwtNjguMiAwIDAgMTM3LjMgMzQuNiAwIDAtNDQuMyAyNyAwYzU0LjEgMCA1Ny4xLTM3LjUgNTcuMS00Ni41IDAtMzEtMTYuOC00Ni41LTUwLjUtNDYuNXptLTQuOSA2Ny4zbC0yOS4yIDAgMC00MS42IDI4LjMgMGMzMC45IDAgMjguOCA0MS42IC45IDQxLjZ6Il19LFRrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvcmNpZCIsaWNvbjpbNTEyLDUxMixbXSwiZjhkMiIsIk0yOTQuNyAxODguMmwtNDUuOSAwIDAgMTUzLjggNDcuNSAwYzY3LjYgMCA4My4xLTUxLjMgODMuMS03Ni45IDAtNDEuNi0yNi41LTc2LjktODQuNy03Ni45ek0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTE3NS4yIDM2OC44bC0yOS44IDAgMC0yMDcuNSAyOS44IDAgMCAyMDcuNXpNMTYwLjMgOTguNWExOS42IDE5LjYgMCAxIDEgMCAzOS4yIDE5LjYgMTkuNiAwIDEgMSAwLTM5LjJ6TTMwMCAzNjlsLTgxIDAgMC0yMDcuNyA4MC42IDBjNzYuNyAwIDExMC40IDU0LjggMTEwLjQgMTAzLjkgMCA1My4zLTQxLjcgMTAzLjktMTEwIDEwMy45eiJdfSxKdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYm9hcmQtZ2FtZS1nZWVrIixpY29uOls2NDAsNTEyLFsiYmdnIl0sImU4NTUiLCJNMTY4LjggMTY4LjNsMzAuMS04LjItMTIuMyA5OC44IDE2LjcgMTYuMS0zOC45IDkxLjItMTExLjggNDEuMi01Mi42LTEzMS44IDE3LjctMTctMTAuNS04NC4zIDE5MS4yLTcwLjMtMjkuNSA2NC4zem0xODAuNiAxNi41YzExLjYgMCAxOSA3LjQgMTkgMTcuOWwwIDMxLjVjMCA5LjctNi4zIDE4LjktMTkuNSAyMi4xIDEzLjEgMy4xIDIwLjUgMTIgMjAuNSAyMS40bDAgMzAuOWMwIDExLjEtNy40IDE4LjEtMTkgMTguMWwtODkuMSAwIDAtMTQxLjggODggMHpNMjk4IDI5OS44bDMzIDBjMS41IDAgMi4xLTEgMi4xLTIuMWwwLTI2LjljMC0xLS42LTIuMy0yLjEtMi4zbC0zMyAwIDAgMzEuM3ptMC01Ny4zbDMzIDBjMS41IDAgMi4xLTEuMSAyLjEtMi4zbDAtMjQuOGMwLTEtLjYtMi4zLTIuMS0yLjNsLTMzIDAgMCAyOS40em0yMDQuMS0yNy4ybC02NS42IDBjLTEgMC0yLjEgMS4xLTIuMSAyLjNsMCA3Ni4xYzAgMS4zIDEgMi4xIDIuMSAyLjFsMjkuNyAwYzEuNSAwIDIuMy0uOCAyLjMtMi4xbDAtMjQtMTkuMyAwIDEyLjgtMzAgNDAuMSAwIDAgNzAuOGMwIDkuMi03LjIgMTYuMi0xNi4zIDE2LjJsLTcxLjUgMGMtOS4xIDAtMTYuNS03LTE2LjUtMTYuMmwwLTEwOS43YzAtOC42IDcuNC0xNiAxNi41LTE2bDg3LjggMCAwIDMwLjV6bTEzMi42IDBsLTY1LjYgMGMtMS4xIDAtMi4xIDEuMS0yLjEgMi4zbDAgNzYuMWMwIDEuMyAxIDIuMSAyLjEgMi4xbDI5LjYgMGMxLjUgMCAyLjMtLjggMi4zLTIuMWwwLTI0LTE5LjIgMCAxMi44LTMwIDQwLjEgMCAwIDcwLjhjMCA5LjItNy4yIDE2LjItMTYuMyAxNi4ybC03MS41IDBjLTkuMSAwLTE2LjUtNi45LTE2LjUtMTYuMmwwLTEwOS43YzAtOC42IDcuNC0xNiAxNi41LTE2bDg3LjggMCAwIDMwLjV6Il19LExrdD1KdWUsJGt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJlaGFuY2UiLGljb246WzU3Niw1MTIsW10sImYxYjQiLCJNMjMyIDIzNy4yYzMxLjgtMTUuMiA0OC40LTM4LjIgNDguNC03NCAwLTcwLjYtNTIuNi04Ny44LTExMy4zLTg3LjhsLTE2Ny4xIDAgMCAzNTQuNCAxNzEuOCAwYzY0LjQgMCAxMjQuOS0zMC45IDEyNC45LTEwMi45IDAtNDQuNS0yMS4xLTc3LjQtNjQuNy04OS43ek03Ny45IDEzNS45bDczLjEgMGMyOC4xIDAgNTMuNCA3LjkgNTMuNCA0MC41IDAgMzAuMS0xOS43IDQyLjItNDcuNSA0Mi4ybC03OSAwIDAtODIuN3ptODMuMyAyMzMuN2wtODMuMyAwIDAtOTcuNiA4NC45IDBjMzQuMyAwIDU2IDE0LjMgNTYgNTAuNiAwIDM1LjgtMjUuOSA0Ny01Ny42IDQ3ek01MTkuNyAxMjguOWwtMTQzLjcgMCAwLTM0LjkgMTQzLjcgMCAwIDM0Ljl6TTU3NiAzMDUuMmMwLTc1LjktNDQuNC0xMzkuMi0xMjQuOS0xMzkuMi03OC4yIDAtMTMxLjMgNTguOC0xMzEuMyAxMzUuOCAwIDc5LjkgNTAuMyAxMzQuNyAxMzEuMyAxMzQuNyA2MS4zIDAgMTAxLTI3LjYgMTIwLjEtODYuM2wtNjIuMiAwYy02LjcgMjEuOS0zNC4zIDMzLjUtNTUuNyAzMy41LTQxLjMgMC02My0yNC4yLTYzLTY1LjNsMTg1LjEgMGMuMy00LjIgLjYtOC43IC42LTEzLjJ6TTM5MC40IDI3NGMyLjMtMzMuNyAyNC43LTU0LjggNTguNS01NC44IDM1LjQgMCA1My4yIDIwLjggNTYuMiA1NC44bC0xMTQuNyAweiJdfSxEa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibW9uZXJvIixpY29uOls1MTIsNTEyLFtdLCJmM2QwIiwiTTM2MCAzODRsMTA4LjQgMEM0MjUgNDU1LjkgMzQ2LjEgNTA0IDI1NiA1MDRTODcgNDU1LjkgNDMuNiAzODRsMTA4LjQgMCAwLTEyNy44IDEwNCAxMDQuOCAxMDQtMTA1IDAgMTI4ek05NiAzMzZsMC0yMDggMTU5LjQgMTU5LjQgMTYwLjYtMTU5LjQgMCAyMDggNzQuOCAwYzguNS0yNS4xIDEzLjItNTIgMTMuMi04MCAwLTEzNy0xMTEtMjQ4LTI0OC0yNDhTOCAxMTkgOCAyNTZjMCAyOCA0LjYgNTQuOSAxMy4yIDgwTDk2IDMzNnoiXX0sQWt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZpZ21hIixpY29uOlszODQsNTEyLFtdLCJmNzk5IiwiTTE0IDk1LjhDMTQgNDIuOSA1Ni45IDAgMTA5LjggMEwyNzQuMiAwYzUyLjkgMCA5NS44IDQyLjkgOTUuOCA5NS44IDAgMzMuNS0xNy4yIDYzLTQzLjIgODAuMSAyNiAxNy4xIDQzLjIgNDYuNiA0My4yIDgwLjEgMCA1Mi45LTQyLjkgOTUuOC05NS44IDk1LjhsLTIuMSAwYy0yNC44IDAtNDcuNC05LjQtNjQuNC0yNC45bDAgODguM2MwIDUzLjYtNDQgOTYuOC05Ny40IDk2LjgtNTIuOCAwLTk2LjMtNDIuOC05Ni4zLTk1LjggMC0zMy41IDE3LjItNjMgNDMuMi04MC4xLTI2LTE3LjEtNDMuMi00Ni42LTQzLjItODAuMXMxNy4yLTYzIDQzLjItODAuMUMzMS4yIDE1OC44IDE0IDEyOS4zIDE0IDk1Ljh6bTE2Mi4zIDk1LjhsLTY2LjUgMGMtMzUuNiAwLTY0LjQgMjguOC02NC40IDY0LjQgMCAzNS40IDI4LjYgNjQuMiA2NCA2NC40bDY2LjkgMCAwLTEyOC44ek0yMDcuNyAyNTZjMCAzNS42IDI4LjggNjQuNCA2NC40IDY0LjRsMi4xIDBjMzUuNiAwIDY0LjQtMjguOCA2NC40LTY0LjRzLTI4LjgtNjQuNC02NC40LTY0LjRsLTIuMSAwYy0zNS42IDAtNjQuNCAyOC44LTY0LjQgNjQuNHptLTk3LjkgOTUuOGwtLjQgMGMtMzUuNCAuMi02NCAyOS02NCA2NC40czI5LjIgNjQuNCA2NC45IDY0LjRjMzYuMyAwIDY2LTI5LjQgNjYtNjUuNWwwLTYzLjQtNjYuNSAwem0wLTMyMC40Yy0zNS42IDAtNjQuNCAyOC44LTY0LjQgNjQuNHMyOC44IDY0LjQgNjQuNCA2NC40bDY2LjUgMCAwLTEyOC44LTY2LjUgMHptOTcuOSAxMjguOGw2Ni41IDBjMzUuNiAwIDY0LjQtMjguOCA2NC40LTY0LjRzLTI4LjgtNjQuNC02NC40LTY0LjRsLTY2LjUgMCAwIDEyOC44eiJdfSx4ZWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaW5zdGFncmFtIixpY29uOls0NDgsNTEyLFtdLCJmMTZkIiwiTTIyNC4zIDE0MWExMTUgMTE1IDAgMSAwIC0uNiAyMzAgMTE1IDExNSAwIDEgMCAuNi0yMzB6bS0uNiA0MC40YTc0LjYgNzQuNiAwIDEgMSAuNiAxNDkuMiA3NC42IDc0LjYgMCAxIDEgLS42LTE0OS4yem05My40LTQ1LjFhMjYuOCAyNi44IDAgMSAxIDUzLjYgMCAyNi44IDI2LjggMCAxIDEgLTUzLjYgMHptMTI5LjcgMjcuMmMtMS43LTM1LjktOS45LTY3LjctMzYuMi05My45LTI2LjItMjYuMi01OC0zNC40LTkzLjktMzYuMi0zNy0yLjEtMTQ3LjktMi4xLTE4NC45IDAtMzUuOCAxLjctNjcuNiA5LjktOTMuOSAzNi4xcy0zNC40IDU4LTM2LjIgOTMuOWMtMi4xIDM3LTIuMSAxNDcuOSAwIDE4NC45IDEuNyAzNS45IDkuOSA2Ny43IDM2LjIgOTMuOXM1OCAzNC40IDkzLjkgMzYuMmMzNyAyLjEgMTQ3LjkgMi4xIDE4NC45IDAgMzUuOS0xLjcgNjcuNy05LjkgOTMuOS0zNi4yIDI2LjItMjYuMiAzNC40LTU4IDM2LjItOTMuOSAyLjEtMzcgMi4xLTE0Ny44IDAtMTg0Ljh6TTM5OSAzODhjLTcuOCAxOS42LTIyLjkgMzQuNy00Mi42IDQyLjYtMjkuNSAxMS43LTk5LjUgOS0xMzIuMSA5cy0xMDIuNyAyLjYtMTMyLjEtOWMtMTkuNi03LjgtMzQuNy0yMi45LTQyLjYtNDIuNi0xMS43LTI5LjUtOS05OS41LTktMTMyLjFzLTIuNi0xMDIuNyA5LTEzMi4xYzcuOC0xOS42IDIyLjktMzQuNyA0Mi42LTQyLjYgMjkuNS0xMS43IDk5LjUtOSAxMzIuMS05czEwMi43LTIuNiAxMzIuMSA5YzE5LjYgNy44IDM0LjcgMjIuOSA0Mi42IDQyLjYgMTEuNyAyOS41IDkgOTkuNSA5IDEzMi4xczIuNyAxMDIuNy05IDEzMi4xeiJdfSxFa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGVyYnl0ZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTA4MyIsIk0zMDUuMyAyODQuNmwtNTguNyAwIDAgOTguNyA1OC43IDBjMTYuMyAwIDI5LTQuNiAzOC4yLTEzLjhzMTMuOC0yMS4yIDEzLjgtMzYuMWMwLTE0LjYtNC43LTI2LjMtMTQtMzUuM3MtMjItMTMuNS0zNy45LTEzLjV6TTE0OS40IDEyOC43bC01OC43IDAgMCA5OC43IDU4LjcgMGMxNi4zIDAgMjktNC42IDM4LjItMTMuOHMxMy44LTIxLjIgMTMuOC0zNi4xYzAtMTQuNi00LjctMjYuMy0xNC0zNS4zcy0yMi0xMy41LTM3LjktMTMuNXpNMzY2LjYgMzJMODEuNCAzMmMtMjEuNiAwLTQyLjIgOC42LTU3LjUgMjMuOVMwIDkxLjggMCAxMTMuNEwwIDM5OC42YzAgMjEuNiA4LjYgNDIuMiAyMy45IDU3LjVTNTkuOCA0ODAgODEuNCA0ODBsMjg1LjMgMGMyMS42IDAgNDIuMi04LjYgNTcuNS0yMy45UzQ0OCA0MjAuMiA0NDggMzk4LjZsMC0yODUuM2MwLTIxLjYtOC42LTQyLjItMjMuOS01Ny41UzM4OC4yIDMyIDM2Ni42IDMyem02My42IDM2Ni42YzAgMTYuOS02LjcgMzMtMTguNyA0NXMtMjguMSAxOC42LTQ1IDE4LjdsLTI4NS4zIDBjLTE2LjkgMC0zMy02LjctNDUtMTguN3MtMTguNi0yOC4xLTE4LjctNDVsMC0yODUuM2MwLTE2LjkgNi43LTMzIDE4LjctNDVzMjguMS0xOC42IDQ1LTE4LjdsMjg1LjMgMGMxNi45IDAgMzMgNi43IDQ1IDE4LjdzMTguNiAyOC4xIDE4LjcgNDVsMCAyODUuM3ptLTEyNS0yNjkuOWwtNTguNyAwIDAgOTguNyA1OC43IDBjMTYuMyAwIDI5LTQuNiAzOC4yLTEzLjhzMTMuOC0yMS4yIDEzLjgtMzYuMWMwLTE0LjYtNC43LTI2LjMtMTQtMzUuM3MtMjItMTMuNS0zNy45LTEzLjV6Il19LGVwZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtdmltZW8iLGljb246WzQ0OCw1MTIsWyJ2aW1lby1zcXVhcmUiXSwiZjE5NCIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMzE4LjUgMzA5LjVjLTQzLjUgNTYuNS04MC4zIDg0LjgtMTEwLjQgODQuOC0xOC43IDAtMzQuNC0xNy4yLTQ3LjMtNTEuNi0zLjgtMTMuOS03LjMtMjYuOS0xMC41LTM5LTE4LjItNjguMy0yOC42LTEwNy40LTQ2LjItMTA3LjQtMi40IDAtMTAuOCA1LTI1LjEgMTUuMUw2NCAxOTJjNy02LjEgMTMuOS0xMi40IDIwLjYtMTguNSAyOS4xLTI2LjMgNTUuNi01MC4zIDczLjUtNTEuOSAyNC45LTIuNCA0MC4yIDE0LjYgNDYgNTEuMSAyMC41IDEyOS42IDI5LjYgMTQ5LjIgNjYuOCA5MC41IDEzLjQtMjEuMiAyMC42LTM3LjIgMjEuNS00OC4zIDMuNC0zMi44LTI1LjYtMzAuNi00NS4yLTIyLjIgMTUuNy01MS41IDQ1LjgtNzYuNSA5MC4xLTc1LjEgMzIuOSAxIDQ4LjQgMjIuNCA0Ni41IDY0LTEuNCAzMS4xLTIzLjIgNzMuOC02NS4zIDEyNy45eiJdfSxQa3Q9ZXBlLElrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwdXNoZWQiLGljb246WzQ0OCw1MTIsW10sImYzZTEiLCJNNDE1LjEgMTExLjlsLTk4LjUtOSAxNC0zMy40YzEwLjQtMjMuNS0xMC44LTQwLjQtMjguNy0zN0wzMC42IDc2LjljLTE1LjEgMi43LTI2IDE4LjMtMjEuNCAzNi42TDExNC4zIDQ2MS44YzYuNSAyMS4zIDM2LjcgMjQuMiA0Ny43IDdMMTk3LjMgMzg4IDQzMi41IDE1Ni43YzE2LjQtMTYuOCA0LjMtNDIuOS0xNy40LTQ0Ljh6TTMwNS43IDUzLjZjNS4xLS43IDcuNSAyLjUgNS4yIDcuNGwtMTYuOCAzOS45LTE3Ny40LTE2LjMgMTg5LTMxek0zMC44IDEwNy45Yy0zLjEtNS4xIDEtMTAgNi4xLTkuMWwyNDguNyAyMi43LTk2LjkgMjMwLjctMTU3LjktMjQ0LjN6TTE0NC4xIDQ1Ni40Yy0yLjYgNC03LjkgMy4xLTkuNC0xLjJMNTEuNiAxNzkuNyAxNzkuMyAzNzcuM2MtNyAxNS0zNS4yIDc5LjEtMzUuMiA3OS4xek00MTYuOSAxNDEuOWwtMTk4LjcgMTk1LjQgODkuNy0yMTMuNyAxMDYuNCA5LjdjNCAxLjEgNS43IDUuMyAyLjYgOC42eiJdfSxOa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWl4Y2xvdWQiLGljb246WzY0MCw1MTIsW10sImYyODkiLCJNMjEzIDM0Ni42bC0zMy4yIDAgMC0xNTEuNSA2LjItMjEuNi0xMC43IDAtMzguMSAxNzMuMS02MSAwLTM4LjQtMTczLjEtMTAuNSAwIDUuOSAyMS42IDAgMTUxLjUtMzMuMiAwIDAtMTgxLjYgNjUuNyAwIDM2LjYgMTczLjEgOC41IDAgMzYuNi0xNzMuMSA2NS43IDAgMCAxODEuNnptMzMxLjUtNjNsLTg2IDYyLjEgMC0zOC4xIDcyLjktNTEuOC03Mi45LTUxLjggMC0zOC4xIDg2IDYyLjMgOS4zIDAgODYuMy02Mi4zIDAgMzguMS03My4xIDUxLjggNzMuMSA1MS44IDAgMzguMS04Ni4zLTYyLjEtOS4zIDB6TTQzMC4yIDI3Mi4zbC0xODIgMCAwLTMzLjEgMTgyIDAgMCAzMy4xeiJdfSxSa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieWFuZGV4LWludGVybmF0aW9uYWwiLGljb246WzMyMCw1MTIsW10sImY0MTQiLCJNMTI5LjUgNTEybDAtMTY2LjEtMTExLTI5Ny45IDU1LjggMCA4MS44IDIyOS43IDk0LjEtMjc3LjcgNTEuMyAwLTEyMC43IDM0Ny44IDAgMTY0LjItNTEuMyAweiJdfSxPa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaGl2ZSIsaWNvbjpbNTEyLDUxMixbXSwiZTA3ZiIsIk0yNjAuNCAyNTQuOUwxMzEuNSAzMy4xYy0uMi0uMy0uNS0uNi0uOC0uOHMtLjctLjMtMS4xLS4zLS44IC4xLTEuMSAuMy0uNiAuNS0uOCAuOEwuMyAyNTQuOWMtLjIgLjMtLjMgLjctLjMgMS4xcy4xIC44IC4zIDEuMUwxMjkuMSA0NzguOWMuMiAuMyAuNSAuNiAuOCAuOHMuNyAuMyAxLjEgLjMgLjgtLjEgMS4xLS4zIC42LS41IC44LS44TDI2MC40IDI1Ny4xYy4yLS4zIC4zLS43IC4zLTEuMXMtLjEtLjgtLjMtMS4xem0zOS4xLTI1LjdjLjIgLjMgLjUgLjYgLjggLjhzLjcgLjMgMS4xIC4zbDY2LjUgMGMuNCAwIC44LS4xIDEuMS0uM3MuNi0uNSAuOC0uOCAuMy0uNyAuMy0xLjEtLjEtLjgtLjMtMS4xTDI1OS4xIDMzLjFjLS4yLS4zLS41LS42LS44LS44cy0uNy0uMy0xLjEtLjNsLTY2LjUgMGMtLjQgMC0uOCAuMS0xLjEgLjNzLS42IC41LS44IC44LS4zIC43LS4zIDEuMSAuMSAuOCAuMyAxLjFMMjk5LjQgMjI5LjJ6bTIxMi4zIDI1LjdMMzg0LjkgMzMuMWMtLjItLjMtLjUtLjYtLjgtLjhzLS43LS4zLTEuMS0uM2wtNjYuNiAwYy0uNCAwLS44IC4xLTEuMSAuM3MtLjYgLjUtLjggLjgtLjMgLjctLjMgMS4xIC4xIC44IC4zIDEuMUw0NDAuNyAyNTYgMzE0LjUgNDc2LjdjLS4yIC4zLS4zIC43LS4zIDEuMXMuMSAuOCAuMyAxLjEgLjUgLjYgLjggLjggLjcgLjMgMS4xIC4zbDY2LjYgMGMuNCAwIC44LS4xIDEuMS0uM3MuNi0uNSAuOC0uOEw1MTEuNyAyNTcuMWMuMi0uMyAuMy0uNyAuMy0xLjFzLS4xLS44LS4zLTEuMXpNMzY2IDI4NC45bC02Ni41IDBjLS40IDAtLjggLjEtMS4xIC4zcy0uNiAuNS0uOCAuOEwxODguOCA0NzYuN2MtLjIgLjMtLjMgLjctLjMgMS4xcy4xIC44IC4zIDEuMSAuNSAuNiAuOCAuOCAuNyAuMyAxLjEgLjNsNjYuNSAwYy40IDAgLjgtLjEgMS4xLS4zcy42LS41IC44LS44TDM2Ny45IDI4OC4zYy4yLS4zIC4zLS43IC4zLTEuMXMtLjEtLjgtLjMtMS4xLS41LS42LS44LS44LS43LS4zLTEuMS0uM3oiXX0sRmt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtemVybyIsaWNvbjpbNTEyLDUxMixbXSwiZjRmMyIsIk0yNTUuNiA4QzM5Ny40IDggNTA0IDExOC4xIDUwNCAyNTYgNTA0IDQwMy4xIDM4NS41IDUwNCAyNTUuNiA1MDQgMTIxLjYgNTA0IDggMzk0LjUgOCAyNTYgOCAxMjMuMSAxMTIuNyA4IDI1NS42IDh6bS44IDQ0LjdjLTExOC4yIDAtMjAzLjcgOTcuOS0yMDMuNyAyMDMuMyAwIDEwOS44IDkxLjIgMjAyLjggMjAzLjcgMjAyLjggMTAzLjIgMCAyMDIuOC04MS4xIDIwMi44LTIwMi44IC4xLTExMy44LTkwLjItMjAzLjMtMjAyLjgtMjAzLjN6bS0uNCA2MC41Yy04MS45IDAtMTAyLjUgNzcuMy0xMDIuNSAxNDIuOFMxNzQuMSAzOTguOCAyNTYgMzk4LjggMzU4LjUgMzIxLjUgMzU4LjUgMjU2IDMzNy45IDExMy4yIDI1NiAxMTMuMnptMCA1My45YzMuMyAwIDYuNCAuNSA5LjIgMS4yIDUuOSA1LjEgOC44IDEyLjEgMy4xIDIxLjlMMjEzLjggMjkwLjRjLTEuNy0xMi43LTEuOS0yNS4xLTEuOS0zNC40IDAtMjguOCAyLTg4LjkgNDQuMS04OC45em00MC44IDQ2LjJjMi45IDE1LjQgMy4zIDMxLjQgMy4zIDQyLjcgMCAyOC45LTIgODguOS00NC4xIDg4LjktMTMuNSAwLTMyLjYtNy43LTIwLjEtMjYuNGw2MC45LTEwNS4yeiJdfSx0cGU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXNuYXBjaGF0IixpY29uOls0NDgsNTEyLFsic25hcGNoYXQtc3F1YXJlIl0sImYyYWQiLCJNMzg0IDMyTDY0IDMyYy0xNyAwLTMzLjMgNi43LTQ1LjMgMTguN1MwIDc5IDAgOTZMMCA0MTZjMCAxNyA2LjcgMzMuMyAxOC43IDQ1LjNTNDcgNDgwIDY0IDQ4MGwzMjAgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN1M0NDggNDMzIDQ0OCA0MTZsMC0zMjBjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNTNDAxIDMyIDM4NCAzMnptLTMuOSAzMTkuM2wtLjEgLjFjLTIuNSAyLjgtNS40IDUuMS04LjcgNi44LTYuNSAzLjYtMTMuNCA2LjMtMjAuNiA4LjItMS40IC40LTIuNyAxLTMuOSAxLjgtMi4yIDEuOS0yLjEgNC42LTQuNCA4LjYtMS43IDMtNCA1LjUtNi44IDcuNS02LjcgNC42LTE0LjIgNC45LTIyLjIgNS4yLTcuMiAuMy0xNS40IC42LTI0LjcgMy43LTMuOCAxLjItNy44IDMuNy0xMi40IDYuNS0xMS4zIDYuOS0yNi43IDE2LjQtNTIuMyAxNi40cy00MC45LTkuNC01Mi4xLTE2LjNjLTQuNy0yLjktOC43LTUuNC0xMi41LTYuNi05LjMtMy4xLTE3LjUtMy40LTI0LjctMy43LTgtLjMtMTUuNS0uNi0yMi4yLTUuMi0yLjQtMS42LTQuNC0zLjctNi02LjEtMy4yLTQuNi0yLjktNy44LTUuMy05LjktMS4zLS44LTIuNi0xLjUtNC4xLTEuOC03LjEtMS45LTEzLjktNC42LTIwLjMtOC4xLTMuMS0xLjYtNS45LTMuOC04LjMtNi4zLTYuNi02LjgtOC4zLTE0LjgtNS43LTIxLjggMy40LTkuMyAxMS42LTEyLjEgMTkuNC0xNi4zIDE0LjgtOCAyNi4zLTE4LjEgMzQuNC0yOS45IDIuMy0zLjMgNC4zLTYuOSA2LTEwLjYgLjgtMi4yIC44LTMuMyAuMi00LjQtLjYtLjktMS4zLTEuNi0yLjItMi4yLTIuNS0xLjctNS4xLTMuNC02LjktNC41LTMuMy0yLjEtNS45LTMuOC03LjUtNS02LjMtNC40LTEwLjYtOS0xMy40LTE0LjItMS45LTMuNi0zLTcuNi0zLjMtMTEuNnMuNC04LjEgMS45LTExLjljNC4xLTEwLjkgMTQuNS0xNy43IDI3LTE3LjcgMi42IDAgNS4zIC4zIDcuOCAuOCAuNyAuMiAxLjQgLjMgMiAuNS0uMS03LjQgLjEtMTUuNCAuNy0yMy4xIDIuNC0yNy4zIDExLjktNDEuNiAyMS45LTUzIDYuNC03LjIgMTMuOS0xMy4yIDIyLjMtMTcuOSAxNS4xLTguNiAzMi4yLTEzIDUwLjktMTNzMzUuOCA0LjQgNTAuOSAxM2M4LjMgNC43IDE1LjkgMTAuOCAyMi4yIDE3LjkgMTAgMTEuNCAxOS41IDI1LjcgMjEuOSA1MyAuNiA3LjcgLjkgMTUuNCAuNyAyMy4xIC43LS4yIDEuNC0uMyAyLjEtLjUgMi42LS42IDUuMi0uOCA3LjgtLjggMTIuNSAwIDIyLjggNi44IDI3IDE3LjcgMS41IDMuOCAyLjEgNy45IDEuOSAxMS45cy0xLjQgOC0zLjMgMTEuNmMtMi43IDUuMi03LjEgOS45LTEzLjQgMTQuMi0xLjcgMS4yLTQuMyAyLjktNy41IDUtMS44IDEuMi00LjUgMi45LTcuMiA0LjctLjggLjUtMS40IDEuMi0xLjkgMi0uNSAxLS41IDIuMiAuMiA0LjIgMS43IDMuOCAzLjcgNy40IDYuMSAxMC44IDguMyAxMi4xIDIwLjIgMjIuMyAzNS41IDMwLjQgMS41IC44IDMgMS41IDQuNCAyLjMgLjcgLjMgMS42IC44IDIuNSAxLjMgNC45IDIuNyA5LjIgNiAxMS41IDEyLjIgMi41IDYuOSAxIDE0LjctNS4yIDIxLjN6bS0xNi43LTE4LjVjLTUwLjMtMjQuMy01OC4zLTYxLjktNTguNy02NC43LS40LTMuNC0uOS02IDIuOC05LjUgMy42LTMuMyAxOS41LTEzLjIgMjQtMTYuMyA3LjMtNS4xIDEwLjUtMTAuMiA4LjItMTYuNS0xLjctNC4zLTUuNy02LTEwLTYtMS4zIDAtMi43IC4yLTQgLjQtOCAxLjctMTUuOCA1LjgtMjAuNCA2LjktLjUgLjEtMS4xIC4yLTEuNyAuMi0yLjQgMC0zLjMtMS4xLTMuMS00IC42LTguOCAxLjgtMjUuOSAuNC00MS45LTEuOS0yMi05LTMyLjktMTcuNC00Mi42LTQuMS00LjYtMjMuMS0yNC43LTU5LjUtMjQuN3MtNTUuNCAyMC4xLTU5LjUgMjQuOGMtOC40IDkuNy0xNS41IDIwLjYtMTcuNCA0Mi42LTEuNCAxNi0uMSAzMy4xIC40IDQxLjkgLjIgMi44LS43IDQtMy4xIDQtLjYgMC0xLjEtLjEtMS43LS4yLTQuNS0xLjEtMTIuMy01LjEtMjAuMy02LjktMS4zLS4zLTIuNi0uNC00LS40LTQuMyAwLTguMyAxLjYtMTAgNi0yLjQgNi4zIC44IDExLjQgOC4yIDE2LjUgNC40IDMuMSAyMC40IDEzIDI0IDE2LjMgMy43IDMuNCAzLjIgNi4xIDIuOCA5LjUtLjQgMi44LTguNCA0MC40LTU4LjcgNjQuNy0yLjkgMS40LTggNC40IC45IDkuMyAxMy45IDcuNiAyMy4xIDYuOCAzMC4zIDExLjQgNi4xIDMuOSAyLjUgMTIuNCA2LjkgMTUuNCA1LjUgMy44IDIxLjYtLjMgNDIuMyA2LjYgMTcuNCA1LjcgMjguMSAyMiA1OSAyMnM0MS44LTE2LjMgNTguOS0yMmMyMC44LTYuOSAzNi45LTIuOCA0Mi4zLTYuNiA0LjQtMy4xIC44LTExLjUgNi45LTE1LjQgNy4yLTQuNiAxNi40LTMuOCAzMC4zLTExLjUgOC44LTQuOSAzLjgtNy45IC45LTkuNHoiXX0sQmt0PXRwZSxIa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGhlbWVpc2xlIixpY29uOls1MTIsNTEyLFtdLCJmMmIyIiwiTTIwOCA4OC4zYzAtMTAgNi4zLTIxLjcgMTcuNy0yMS43IDExLjEgMCAxNy43IDExLjcgMTcuNyAyMS43IDAgMTAuMy02LjYgMjEuNy0xNy43IDIxLjctMTEuNCAwLTE3LjctMTEuNC0xNy43LTIxLjd6bTMwNCAxNjBjMCAzNi0xMS40IDEwMi4zLTM2LjMgMTI5LjctMjIuOSAyNC45LTg3LjQgNjEuMS0xMjAuOSA3MC42bC0xLjEgLjMgMCAzMi42YzAgMTYuMy0xMi42IDMwLjYtMjkuMSAzMC42LTEwIDAtMTkuNC01LjctMjQuNi0xNC4zLTUuNCA4LjYtMTQuOSAxNC4zLTI0LjkgMTQuM3MtMTkuNC01LjctMjQuOS0xNC4zYy01LjEgOC42LTE0LjYgMTQuMy0yNC42IDE0LjMtMTAuMyAwLTE5LjQtNS43LTI0LjktMTQuMy01LjEgOC42LTE0LjYgMTQuMy0yNC42IDE0LjMtMTguOSAwLTI5LjQtMTUuNy0yOS40LTMyLjktMTYuMyAxMi4zLTM1LjcgMTkuNC01Ni42IDE5LjQtMjIgMC00My40LTguMy02MC4zLTIyLjkgMTAuMy0uMyAyMC42LTIuMyAzMC4zLTUuNy0yMC45LTUuNy0zOS40LTE4LjktNTItMzYuMyAyMS40IDQuNiA0Ni4yIDEuNyA2Ny4xLTExLjEtMjItMjItNTYuNi01OC45LTY4LjYtODcuNC01LjctMTMuNC02LjktMzEuNC02LjktNDUuNyAwLTQ5LjcgMjAuMy0xNjAgODYuMy0xNjAgMTAuNiAwIDE4LjkgNC45IDIzLjEgMTQuOSAzLjctNS40IDcuNy0xMC41IDEyLTE1LjQgMi0yLjYgNS43LTUuNCA3LjEtOC4zIDgtMTIuNiAxMS43LTIxLjEgMjEuNy0zNCAzMi4zLTQxLjEgODEuNy02OS40IDEzNC45LTY5LjQgNiAwIDEyIC4zIDE3LjcgMS4xIDEwLjktMTEuNyAyNi0xOC4zIDQxLjctMTguMyAxNC42IDAgMjkuNyA2IDQwIDE2LjMgLjkgLjkgMS40IDIuMyAxLjQgMy40IDAgMy43LTEwLjMgMTMuNC0xMi45IDE2LjMgNC4zIDEuNCAxNS43IDYuOSAxNS43IDEyIDAgMi45LTIuOSA1LjEtNC42IDcuMSAzMS40IDI3LjcgNDkuNCA2Ny4xIDU2LjMgMTA4IDQuMy01LjEgMTAuMy04LjYgMTcuMS04LjYgMTAuNiAwIDIwLjkgNy4xIDI4LjYgMTQgMjAuOSAxOC42IDI1LjcgNTMuMSAyNS43IDc5Ljd6TTE4OCA4OS40YzAgMTguMyAxMi42IDM3LjEgMzIuMyAzNy4xczMyLjMtMTguOSAzMi4zLTM3LjFjMC0xOC0xMi42LTM2LjktMzIuMy0zNi45UzE4OCA3MS40IDE4OCA4OS40ek0yMzcuNyAxOTRjMC0xOS43IDMuNy0zOS4xIDguNi01OC4zLTUyIDc5LjUtMTMuNSAxODQuNiA2OC45IDE4NC42IDIxLjQgMCA0Mi42LTcuNyA2MC0yMCAyLTcuNCAzLjctMTQuOSAzLjctMjIuNiAwLTE0LjMtNi4zLTIxLjQtMjAuNi0yMS40LTQuNiAwLTkuMSAuOS0xMy40IDEuNy02My4zIDEyLjctMTA3LjEgMy43LTEwNy4xLTY0ek0xOTYuNiA0NDguOWMwLTExLjEtOC45LTIwLjktMjAuMy0yMC45cy0yMCA5LjctMjAgMjAuOWwwIDMyLjZjMCAxMS4xIDguNiAyMS4xIDIwIDIxLjFzMjAuMy05LjcgMjAuMy0yMS4xbDAtMzIuNnptNDkuMSAwYzAtMTEuMS04LjYtMjAuOS0yMC0yMC45cy0yMC4zIDkuNy0yMC4zIDIwLjlsMCAzMi42YzAgMTEuMSA4LjkgMjEuMSAyMC4zIDIxLjFzMjAtMTAgMjAtMjEuMWwwLTMyLjZ6bTQ5LjcgMGMwLTExLjEtOC45LTIwLjktMjAuMy0yMC45cy0yMC4zIDkuNy0yMC4zIDIwLjlsMCAzMi42YzAgMTEuMSA4LjkgMjEuMSAyMC4zIDIxLjFzMjAuMy05LjcgMjAuMy0yMS4xbDAtMzIuNnptNDkuNyAwYzAtMTEuMS04LjktMjAuOS0yMC4zLTIwLjlzLTIwLjMgOS43LTIwLjMgMjAuOWwwIDMyLjZjMCAxMS4xIDguOSAyMS4xIDIwLjMgMjEuMXMyMC4zLTEwIDIwLjMtMjEuMWwwLTMyLjZ6TTQyMS43IDI4NmMtMzAuOSA1OS4xLTkwLjMgMTAyLjYtMTU4LjYgMTAyLjYtOTYuNiAwLTE2MC42LTg0LjYtMTYwLjYtMTc2LjYgMC0xNi45IDItMzMuNCA2LTQ5LjctMjAgMzMuNy0yOS43IDcyLjYtMjkuNyAxMTEuNCAwIDYwLjMgMjQuOSAxMjEuNyA3MS40IDE2MC45IDUuMS05LjcgMTQuOS0xNi4zIDI2LTE2LjMgMTAgMCAxOS40IDUuNyAyNC42IDE0LjMgNS40LTguNiAxNC42LTE0LjMgMjQuOS0xNC4zIDEwIDAgMTkuNCA1LjcgMjQuNiAxNC4zIDUuNC04LjYgMTQuOS0xNC4zIDI0LjktMTQuM3MxOS40IDUuNyAyNC45IDE0LjNjNS4xLTguNiAxNC42LTE0LjMgMjQuNi0xNC4zIDEwLjkgMCAyMC45IDYuNiAyNS43IDE2IDQzLjQtMzYuMyA2OC42LTkyIDcxLjQtMTQ4LjN6bTEwLjYtOTkuN2MwLTUzLjctMzQuNi0xMDUuNy05Mi42LTEwNS43LTMwLjMgMC01OC42IDE1LjEtNzguOSAzNi45LTIwIDY2LjQtMjcuNCAxMzYuNiA0MS40IDEzNi42IDI4LjggMCA5Ny40LTI4LjUgODQuMyAzNi45IDI4LjktMjYgNDUuNy02NS43IDQ1LjctMTA0LjZ6Il19LHFrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkYXJ0LWxhbmciLGljb246WzUxMiw1MTIsW10sImU2OTMiLCJNMzc4LjYgNzguOWMtMi44LS4xLTUuNi0uMi04LjUtLjJsLTI2NC4xIDAgMTQzLjItNzJjNy40LTQuNCAxOC44LTYuNyAzMC40LTYuNyAxMy41IDAgMjkuNCA5LjIgMzcgMTYuOGw2MiA2MiAwIC4xek0xMDcuMyA5Ni41bDI2Mi44IDBjMTYgMCAyNS40IDEuNCAzNS40IDkuM2wxMDYuNSAxMDYuNCAwIDIwOC44LTc5LjMgLjctMzI1LjQtMzI1LjJ6TTk2LjUgMzczbDAtMjYyLjIgMzIzLjggMzIzLjggLjcgNzcuNC0yMTIuMiAwLTk4LjEtOTguMkM5OS40IDQwMi41IDk2LjUgMzk4LjUgOTYuNSAzNzN6TTc4LjcgMTA1LjNsMCAyNjcuN2MwIDMuMyAuMSA2LjMgLjIgOS4xbC02Mi02MkM2LjUgMzA5LjMgMCAyOTQuMyAwIDI3OS42IDAgMjcyLjggMy45IDI2Mi4xIDYuNyAyNTZsNzItMTUwLjd6Il19LFZrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkZXBsb3lkb2ciLGljb246WzUxMiw1MTIsW10sImYzOGUiLCJNMzgyLjIgMTM2bDUxLjcgMCAwIDIzOS42LTUxLjcgMCAwLTIwLjdjLTE5LjggMjQuOC01Mi44IDI0LjEtNzMuOCAxNC43LTI2LjItMTEuNy00NC4zLTM4LjEtNDQuMy03MS44IDAtMjkuOCAxNC44LTU3LjkgNDMuMy03MC44IDIwLjItOS4xIDUyLjctMTAuNiA3NC44IDEyLjlsMC0xMDMuOXpNMzE3LjUgMjk3LjhhMzMuMiAzMy4yIDAgMSAwIDY2LjQgMSAzMy4yIDMzLjIgMCAxIDAgLTY2LjQtMXpNMTg4LjUgMTM2bDUxLjcgMCAwIDIzOS42LTUxLjcgMCAwLTIwLjdjLTE5LjggMjQuOC01Mi44IDI0LjEtNzMuOCAxNC43LTI2LjItMTEuNy00NC4zLTM4LjEtNDQuMy03MS44IDAtMjkuOCAxNC44LTU3LjkgNDMuMy03MC44IDIwLjItOS4xIDUyLjctMTAuNiA3NC44IDEyLjlsMC0xMDMuOXpNMTIzLjggMjk3LjhhMzMuMiAzMy4yIDAgMSAwIDY2LjQgMSAzMy4yIDMzLjIgMCAxIDAgLTY2LjQtMXpNNDQ4IDk2YzE3LjUgMCAzMiAxNC40IDMyIDMybDAgMjU2YzAgMTcuNS0xNC40IDMyLTMyIDMyTDY0IDQxNmMtMTcuNSAwLTMyLTE0LjQtMzItMzJsMC0yNTZjMC0xNy41IDE0LjQtMzIgMzItMzJsMzg0IDB6bTAtMzJMNjQgNjRDMjguOCA2NCAwIDkyLjggMCAxMjhMMCAzODRjMCAzNS4yIDI4LjggNjQgNjQgNjRsMzg0IDBjMzUuMiAwIDY0LTI4LjggNjQtNjRsMC0yNTZjMC0zNS4yLTI4LjgtNjQtNjQtNjR6Il19LGprdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmbGlwYm9hcmQiLGljb246WzQ0OCw1MTIsW10sImY0NGQiLCJNMCAzMmwwIDQ0OCA0NDggMCAwLTQ0OC00NDggMHpNMzU4LjQgMjExLjJsLTg5LjYgMCAwIDg5LjYtODkuNiAwIDAgODkuNi04OS42IDAgMC0yNjguOCAyNjguOCAwIDAgODkuNnoiXX0sVWt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJ1eS1uLWxhcmdlIixpY29uOls1NzYsNTEyLFtdLCJmOGE2IiwiTTI4OC4yIDMyQzEzMy41IDMyIDggMTMyLjMgOCAyNTZTMTMzLjUgNDgwIDI4OC4yIDQ4MCA1NjguNCAzNzkuNyA1NjguNCAyNTYgNDQyLjkgMzIgMjg4LjIgMzJ6TTIwMi44IDM4OS4ybC0xMzguNSAxLjQgNzcuMi0yOTAuNyAxMzMuNCAwYzYzLjIgMCA4NC45IDI4LjYgNzggNzIuOC0uNCAyLjMtLjkgNC42LTEuNSA2LjktNS42LTEuMy0xMS40LTEuOS0xNy4yLTEuOS00Mi4zIDAtNzYuNyAzMy45LTc2LjcgNzUuNyAwIDM3LjEgMjcuMSA2OCA2Mi45IDc0LjUtMTguMiAzNy4yLTU2LjIgNjAuOS0xMTcuNyA2MS41ek0zNTguMiAyMDcuMWwzMiAwLTIyLjIgOTAuMy0zNS40IDAtMTEuMi0zNS42LTcuOCAzNS42LTM3LjggMCAyNi42LTkwLjMgMzEuMyAwIDE1IDM2LjggOS40LTM2Ljh6TTUwNC4xIDM4OS4ybC0xOTcuMSAwIDE1LjgtNjEuMmMzLjggLjYgNy42IC44IDExLjUgLjggNDIuMyAwIDc2LjctMzMuOSA3Ni43LTc1LjYgMC0zMi42LTIxLTYwLjUtNTAuNC03MS4xbDIxLjMtODIuNCA5Mi41IDAtNTMgMjA1LjQgMTAzLjkgMC0yMS4yIDg0LjF6TTIxMS45IDI2OS40bC0yNC43IDAtMTMuOCA1Ni41IDI0LjcgMGMxNi4xIDAgMzIuMS0zLjIgMzcuOS0yNi42IDUuNi0yMi4zLTgtMjkuOC0yNC4xLTI5Ljh6TTIzMy4yIDE3MGwtMjEuMyAwLTExLjcgNDcuNyAyMS40IDBjMTggMCAzNS40LTE0LjYgMzkuMi0zMC4xIDQuNi0xOC45LTkuNS0xNy42LTI3LjYtMTcuNnoiXX0sV2t0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndhdGNobWFuLW1vbml0b3JpbmciLGljb246WzUxMiw1MTIsW10sImUwODciLCJNMjU2IDE2YTI0MCAyNDAgMCAxIDAgMCA0ODAgMjQwIDI0MCAwIDEgMCAwLTQ4MHpNMTIxLjcgNDI5LjFjLTUxLjYtNDAuMi04NC45LTEwMi44LTg0LjktMTczLjEgMC0yMS43IDMuMi00My4zIDkuNi02NC4xbDEwMi45LTE3LjktLjEgMTEtMTMuOSAycy0uMSAxMi41LS4xIDE5LjVjMCAyIC40IDQgMS4yIDUuOHMyLjEgMy40IDMuNyA0LjZsOS41IDcuNC0yNy43IDIwNC45ek0yMjcuNCAxNDUuOWw4LjUtNy42czYuOS01LjQtLjEtOS4zYy03LjItNC0zOS41LTM0LjUtMzkuNS0zNC41LTUuMy01LjUtOC4zLTcuMy0xNS41IDAgMCAwLTMyLjMgMzAuNS0zOS41IDM0LjUtNy4xIDQtLjEgOS4zLS4xIDkuM2w4LjUgNy42IDAgNC40LTczLjUtMTkuMmMzOS42LTU2LjkgMTA1LjUtOTQuMyAxODAtOTQuMyAzMS4zIDAgNjIuMiA2LjcgOTAuNiAxOS42czUzLjggMzEuOCA3NC4zIDU1LjRsLTE5My41IDM3LjcgMC0zLjZ6bTM0LjEgMzI5LjNsLTMzLjktMjUwLjkgOS41LTcuNGMxLjYtMS4yIDIuOC0yLjggMy43LTQuNnMxLjMtMy44IDEuMi01LjhjMC03LS4xLTE5LjUtLjEtMTkuNWwtMTMuOS0yLS4xLTEwLjUgMjQxLjcgMzEuNGMzLjkgMTYuNCA1LjggMzMuMyA1LjggNTAuMSAwIDExOS4xLTk1LjQgMjE2LjItMjEzLjggMjE5LjF6Il19LEdrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJoaXBzIixpY29uOls2NDAsNTEyLFtdLCJmNDUyIiwiTTI1MS42IDE1Ny42YzAtMS45LS45LTIuOC0yLjgtMi44bC00MC45IDBjLTEuNiAwLTIuNyAxLjQtMi43IDIuOGwwIDIwMS44YzAgMS40IDEuMSAyLjggMi43IDIuOGw0MC45IDBjMS45IDAgMi44LS45IDIuOC0yLjhsMC0yMDEuOHpNMTU2LjUgMTY4Yy0xNi4xLTExLjgtMzYuMy0xNy45LTYwLjMtMTgtMTguMS0uMS0zNC42IDMuNy00OS44IDExLjRsMC04MS4yYzAtMS44LS45LTIuNy0yLjgtMi43bC00MC45IDBDLjkgNzcuNSAwIDc4LjQgMCA4MC4yTDAgMzU5LjRjMCAxLjkgLjkgMi44IDIuNyAyLjhsNDEgMGMxLjkgMCAyLjgtLjkgMi44LTIuOGwwLTEzNi4xYzAtLjgtMi44LTI3IDQ1LjgtMjcgNDguNSAwIDQ1LjggMjYuMSA0NS44IDI3bDAgMTIyLjZjMCA5IDcuMyAxNi4zIDE2LjQgMTYuM2wyNy4zIDBjMS44IDAgMi43LS45IDIuNy0yLjhsMC0xMzYuMWMwLTIzLjQtOS4zLTQxLjgtMjgtNTUuM3pNNjM0LjkgMjc4LjFjLTYuOC0xNS43LTE4LjQtMjctMzQuOS0zNC4xbC01Ny42LTI1LjNjLTguNi0zLjYtOS4yLTExLjItMi42LTE2LjEgNy40LTUuNSA0NC4zLTEzLjkgODQgNi44IDEuNyAxIDQtLjMgNC0yLjRsMC00NC43YzAtMS4zLS42LTIuMS0xLjktMi42LTE3LjctNi42LTM2LjEtOS45LTU1LjEtOS45LTI2LjUgMC00NS4zIDUuOC01OC41IDE1LjQtLjUgLjQtMjguNCAyMC0yMi43IDUzLjcgMy40IDE5LjYgMTUuOCAzNC4yIDM3LjIgNDMuNkw1ODAuNCAyODZjMTEuNiA1LjEgMTUuMiAxMy4zIDEyLjIgMjEuMi0zLjcgOS4xLTEzLjIgMTMuNi0zNi41IDEzLjYtMjQuMyAwLTQ0LjctOC45LTU4LjQtMTkuMS0yLjEtMS40LTQuNCAuMi00LjQgMi4zbDAgMzQuNGMwIDEwLjQgNC45IDE3LjMgMTQuNiAyMC43IDE1LjYgNS41IDMxLjYgOC4yIDQ4LjIgOC4yIDEyLjcgMCAyNS44LTEuMiAzNi4zLTQuMyAuNy0uMyAzNi04LjkgNDUuNi00NS44IDMuNS0xMy41IDIuNC0yNi41LTMuMS0zOS4xek0zNzYuMiAxNDkuOGMtMzEuNyAwLTEwNC4yIDIwLjEtMTA0LjIgMTAzLjVsMCAxODMuNWMwIC44IC42IDIuNyAyLjcgMi43bDQwLjkgMGMxLjkgMCAyLjgtLjkgMi44LTIuN2wwLTg4LjhjMTYuNSAxMi43IDM1LjggMTkuMSA1Ny43IDE5LjEgNjAuNSAwIDEwOC43LTQ4LjUgMTA4LjctMTA4LjcgLjEtNjAuMy00OC4yLTEwOC42LTEwOC42LTEwOC42em0wIDQ2LjZhNjIuMiA2Mi4yIDAgMSAxIDAgMTI0LjMgNjIuMiA2Mi4yIDAgMSAxIDAtMTI0LjN6TTIyOC4zIDcyLjVjLTE1LjkgMC0yOC44IDEyLjktMjguOSAyOC45IDAgMTUuNiAxMi43IDI4LjkgMjguOSAyOC45czI4LjktMTMuMSAyOC45LTI4LjljMC0xNi4yLTEzLTI4LjktMjguOS0yOC45eiJdfSxZa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2xvdWR2ZXJzaWZ5IixpY29uOls2NDAsNTEyLFtdLCJmMzg1IiwiTTE2MC42IDMwNGM4LjIgNjguNSA2Ny40IDExNS41IDE0NiAxMTEuMyA1MS4yIDQzLjMgMTM2LjggNDUuOCAxODYuNC01LjYgNjkuMiAxLjEgMTE4LjUtNDQuNiAxMzEuNS05OS41IDE0LjgtNjIuNS0xOC4yLTEzMi41LTkyLjEtMTU1LjEtMzMtODguMS0xMzEuNC0xMDEuNS0xODYuNS04NS01Ny4zIDE3LjMtODQuMyA1My4yLTk5LjMgMTA5LjctNy44IDIuNy0yNi41IDguOS00NSAyNC4xIDExLjcgMCAxNS4yIDguOSAxNS4yIDE5LjVsMCAyMC40YzAgMTAuNy04LjcgMTkuNS0xOS41IDE5LjVsLTIwLjIgMGMtMTAuNyAwLTE5LjUtNi0xOS41LTE2LjdsMC02LjYtNDYuOCAwYy0zLjggMC0xMC44IDQuMy0xMC44IDExLjlsMCA0MC40YzAgNi40IDUuMyAxMS44IDExLjcgMTEuOGw0OC45IDAgMC0uMXpNMzg4IDMxMmMtMTAuNyA0Ni4zIDIxLjcgNzIuNCA1NS4zIDg2LjgtMTA3LjIgMzMuOC0xNzEuNi01MC44LTEzNS4zLTExMC44LTMzLjIgMjEuNi0zMy43IDcxLjItMjkuMiA5Mi45LTE3LjktMTIuNC01My44LTMyLjQtNTcuNC03OS44LTMtMzkuOSAyMS41LTc1LjcgNTctOTMuOSAzMC42LTE1LjggMTAzLjUtOC41IDEzMy42IDQwLjgtMTQuMS00OC01My44LTcwLjEtMTAxLjgtNzQuOCAzMC45LTMwLjcgNjQuNC01MC4zIDExNC4yLTQzLjcgNjkuOCA5LjMgMTMzLjIgODIuOCA2Ny43IDE1MC41IDM1LTE2LjMgNDguNy01NC40IDQ3LjUtNzYuOWwxMC41IDE5LjZjMTEuOCAyMiAxNS4yIDQ3LjYgOS40IDcyLTkuMiAzOS00MC42IDY4LjgtNzkuNyA3Ni41LTMyLjEgNi4zLTgzLjEtNS4xLTkxLjgtNTkuMnpNMTQwIDIwOGwtMzkuOCAwYy04LjkgMC0xNi4yLTcuMy0xNi4yLTE2LjJsMC0zOS42YzAtOC45IDcuMy0xNi4yIDE2LjItMTYuMmwzOS44IDBjOC45IDAgMTYuMiA3LjMgMTYuMiAxNi4ybDAgMzkuNmMwIDguOS03LjMgMTYuMi0xNi4yIDE2LjJ6TTIyLjEgMTY4Yy01LjYgMC0xMC4xLTQuNS0xMC4xLTEwLjFsMC0yNy44YzAtNS42IDQuNS0xMC4xIDEwLjEtMTAuMWwyNy43IDBjNS41IDAgMTAuMSA0LjUgMTAuMSAxMC4xbDAgMjcuOGMwIDUuNi00LjUgMTAuMS0xMC4xIDEwLjFsLTI3LjcgMHpNMTgwIDE0Mi43bDAtMjEuNGMwLTUuMSA0LjItOS4zIDkuMy05LjNsMjEuNCAwYzUuMSAwIDkuMyA0LjIgOS4zIDkuM2wwIDIxLjRjMCA1LjEtNC4yIDkuMy05LjMgOS4zbC0yMS40IDBjLTUuMSAwLTkuMy00LjItOS4zLTkuM3pNNjggMjM1LjVsMCAyNWMwIDYuMy01LjEgMTEuNS0xMS40IDExLjVsLTI1LjIgMGMtNi4zIDAtMTEuNC01LjItMTEuNC0xMS41bDAtMjVjMC02LjMgNS4xLTExLjUgMTEuNC0xMS41bDI1LjEgMGM2LjQgMCAxMS41IDUuMiAxMS41IDExLjV6Il19LEtrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb29kcmVhZHMiLGljb246WzQ0OCw1MTIsW10sImYzYTgiLCJNMjk5LjkgMTkxLjJjNS4xIDM3LjMtNC43IDc5LTM1LjkgMTAwLjctMjIuMyAxNS41LTUyLjggMTQuMS03MC44IDUuNy0zNy4xLTE3LjMtNDkuNS01OC42LTQ2LjgtOTcuMiA0LjMtNjAuOSA0MC45LTg3LjkgNzUuMy04Ny41IDQ2LjktLjIgNzEuOCAzMS44IDc4LjIgNzguM3pNNDQ4IDg4bDAgMzM2YzAgMzAuOS0yNS4xIDU2LTU2IDU2TDU2IDQ4MGMtMzAuOSAwLTU2LTI1LjEtNTYtNTZMMCA4OEMwIDU3LjEgMjUuMSAzMiA1NiAzMmwzMzYgMGMzMC45IDAgNTYgMjUuMSA1NiA1NnpNMzMwIDMxMy4ycy0uMS0zNC0uMS0yMTcuM2wtMjkgMCAwIDQwLjNjLS44IC4zLTEuMi0uNS0xLjYtMS4yLTkuNi0yMC43LTM1LjktNDYuMy03Ni00Ni01MS45IC40LTg3LjIgMzEuMi0xMDAuNiA3Ny44LTQuMyAxNC45LTUuOCAzMC4xLTUuNSA0NS42IDEuNyA3Ny45IDQ1LjEgMTE3LjggMTEyLjQgMTE1LjIgMjguOS0xLjEgNTQuNS0xNyA2OS00NS4yIC41LTEgMS4xLTEuOSAxLjctMi45IC4yIC4xIC40IC4xIC42IC4yIC4zIDMuOCAuMiAzMC43IC4xIDM0LjUtLjIgMTQuOC0yIDI5LjUtNy4yIDQzLjUtNy44IDIxLTIyLjMgMzQuNy00NC41IDM5LjUtMTcuOCAzLjktMzUuNiAzLjgtNTMuMi0xLjItMjEuNS02LjEtMzYuNS0xOS00MS4xLTQxLjgtLjMtMS42LTEuMy0xLjMtMi4zLTEuM2wtMjYuOCAwYy44IDEwLjYgMy4yIDIwLjMgOC41IDI5LjIgMjQuMiA0MC41IDgyLjcgNDguNSAxMjguMiAzNy40IDQ5LjktMTIuMyA2Ny4zLTU0LjkgNjcuNC0xMDYuM3oiXX0sWmt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRpZGFsIixpY29uOls2NDAsNTEyLFtdLCJlN2RjIiwiTTEwNy4yIDQ4bC0xLjMgMGMtMzIuMyAzMy4xLTY1LjQgNjUuNS05OCA5OC41LTIuNiAyLjgtNi4xIDUuMS03LjkgOC42IDM1LjYgMzUuNCA3MSA3MSAxMDYuNiAxMDYuNCAzNS40LTM1LjMgNzAuNy03MC44IDEwNi4xLTEwNi4xbDAtMS4zLTczLjItNzMuMkMxMjguOCA2OS44IDExNy4zIDU5LjYgMTA3LjIgNDh6bTIxMy41IDBsLTEuMyAwYy0zNC45IDM2LjEtNzEuNSA3MS0xMDYuMyAxMDcuMiAzNS45IDM1LjEgNzEgNzEgMTA2LjcgMTA2LjMgMzQuMy0zNC4xIDY4LjQtNjguNCAxMDIuNi0xMDIuNCAxLjUtMS41IDMuMy0yLjggNC4xLTQuOC0zNC42LTMzLjgtNjguNC02OC4yLTEwMi42LTEwMi4xLTEuMy0xLjMtMi4zLTIuNi0zLjMtNC4xem0yMTMuNSAwbC0xLjMgMGMtMTcuMiAxOC0zNS4xIDM1LjMtNTIuNiA1My0xNy45IDE3LjctMzUuNCAzNS43LTUzLjUgNTMuMyAuOCAyLjMgMyAzLjYgNC42IDUuNUw1MzMuMyAyNjEuNWMzNi4xLTM0LjkgNzAuOC03MS4yIDEwNi43LTEwNi4xLS41LTIuMi0yLjYtMy41LTQtNUw1NTUuOCA3MC4yYy03LjEtNy40LTE0LjktMTQuMi0yMS41LTIyLjJ6TTMxOS42IDI2MS43Yy0zNC45IDM1LjEtNzAgNzAtMTA0LjkgMTA0LjktLjMgLjctLjcgMS43LTEgMi4zIDI0IDIzLjcgNDcuNyA0Ny41IDcxLjUgNzEuMyAxMS44IDExLjMgMjIuOCAyMy41IDM0LjkgMzQuNCA4LjQtNy40IDE2LjQtMTYuNCAyNC43LTI0LjMgMjUuNS0yNS4zIDUxLTUxIDc2LjUtNzYuMyAxLjgtMi4yIDQuMy0zLjYgNS41LTYuMy0zNS40LTM0LjktNzAuNS03MC4yLTEwNS42LTEwNS40bC0xLjUtLjd6Il19LFhrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bml0eSIsaWNvbjpbNDQ4LDUxMixbXSwiZTA0OSIsIk0yNDMuNiA5MS42bDgwLjEgNDYuOGMyLjkgMS42IDMgNi4yIDAgNy44bC05NS4yIDU1LjZjLTIuOSAxLjctNi4zIDEuNi05IDBsLTk1LjItNTUuNmMtMi45LTEuNi0zLTYuMyAwLTcuOGw4MC4xLTQ2LjggMC05MS42LTIwNC40IDExOS40IDAgMjM4LjggNzguNC00NS44IDAtOTMuNmMtLjEtMy4zIDMuOC01LjcgNi43LTMuOWw5NS4yIDU1LjZjMi45IDEuNyA0LjUgNC43IDQuNSA3LjhsMCAxMTEuMmMuMSAzLjMtMy44IDUuNy02LjcgMy45TDk4IDM0Ni44IDE5LjYgMzkyLjYgMjI0IDUxMiA0MjguNCAzOTIuNiAzNTAgMzQ2LjggMjY5LjkgMzkzLjZjLTIuOCAxLjctNi44LS41LTYuNy0zLjlsMC0xMTEuMmMwLTMuMyAxLjgtNi4zIDQuNS03LjhMMzYyLjkgMjE1YzIuOC0xLjcgNi44IC41IDYuNyAzLjlsMCA5My42IDc4LjQgNDUuOCAwLTIzOC44LTIwNC40LTExOS40IDAgOTEuNnoiXX0sUWt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRlbmNlbnQtd2VpYm8iLGljb246WzMyMCw1MTIsW10sImYxZDUiLCJNNDAuNSA0OTUuOGMxLjQgMTkuOS0yNy42IDIyLjItMjkuNyAyLjktMTEuNi0xMjkuOSAzMS4xLTIzOS41IDEwMS40LTMxMy4yLTE1LjYtMzQgOS4yLTc3LjEgNTAuNi03Ny4xIDMwLjMgMCA1NS4xIDI0LjYgNTUuMSA1NS4xIDAgNDQtNDkuNSA3MC44LTg2LjkgNDUuMS02NS43IDcxLjMtMTAxLjQgMTY5LjgtOTAuNSAyODcuMnpNMTYwLjIgLjFjLTEyNS45IDAtMjA0LjMgMTM0LjItMTQ4LjMgMjQyLjMgOC43IDE3LjQgMzUuMyA0LjUgMjYuMy0xMy40LTQ2LjMtOTIuNiAyMS0xOTkuMiAxMjItMTk5LjIgNzUuNCAwIDEzNi45IDYxLjQgMTM2LjkgMTM2LjkgMCA5MC44LTg2LjkgMTUzLjktMTY3LjcgMTMzLjEtMTkuMS00LjEtMjUuNiAyNC40LTYuNiAyOS4xIDExMC43IDIzLjIgMjA0LTYwIDIwNC0xNjIuMyAwLTkxLjktNzQuNi0xNjYuNS0xNjYuNi0xNjYuNXoiXX0sSmt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZyZWUtY29kZS1jYW1wIixpY29uOls1NzYsNTEyLFtdLCJmMmM1IiwiTTk3LjQgOTYuMmMxMC40LTEwLjYgMTYtMTcuMSAxNi0yMS45IDAtMi44LTEuOS01LjUtMy44LTcuNC0yLjQtMS44LTUuNC0yLjgtOC40LTIuOC04LjUgMC0yMC45IDguOC0zNS44IDI1LjctNDEuNSA0Ny4zLTYyLjcgOTMuMS02MS44IDE2MC42UzIxIDM2Ny4zIDU3LjYgNDEyLjJjMTguOCAyMy42IDMzLjIgMzUuOCA0My41IDM1LjggMy4yLS4zIDYuMS0xLjYgOC40LTMuOCAxLjktMi44IDMuOC01LjYgMy44LTguNCAwLTUuNi0zLjktMTIuMi0xMy4yLTIwLjYtNDQuNS00Mi4zLTY3LjMtOTctNjcuNS0xNjUtLjItNjEuNCAyMS42LTExMi40IDY0LjgtMTU0ek0yMzkuNiA0MjAuMWMuNiAuNCAuOSAuNiAuOSAuNmwtLjktLjZ6bTkzLjggLjZsLjItLjFjLS4yIC4xLS4zIC4yLS4yIC4xem0zLjEtMTU4LjJjLTE2LjItNC4yIDUwLjQtODIuOS02OC4xLTE3Ny4yIDAgMCAxNS41IDQ5LjQtNjIuOCAxNTkuNi03NC4zIDEwNC40IDIzLjUgMTY4LjcgMzQgMTc1LjItNi43LTQuMy00Ny40LTM1LjcgOS42LTEyOC42IDExLTE4LjMgMjUuNS0zNC45IDQzLjUtNzIuMiAwIDAgMTUuOSAyMi40IDcuNiA3MS4xLTEyLjUgNzMuNiA1My44IDUyLjUgNTQuOCA1My41IDIyLjggMjYuOC0xNy43IDczLjUtMjEuNiA3Ni42IDUuNS0zLjcgMTE3LjctNzggMzMtMTg4LjEtNiA2LTEzLjggMzQuMi0zMCAzMC4xek01MTEgODkuN2MtMTQuOS0xNi45LTI3LjQtMjUuNy0zNS45LTI1LjctMyAuMS01LjkgMS4xLTguNCAyLjgtMS45IDEuOS0zLjggNC43LTMuOCA3LjQgMCA0LjggNS42IDExLjMgMTYgMjEuOSA0My4yIDQxLjYgNjUgOTIuNiA2NC44IDE1NC4xLS4yIDY4LTIzIDEyMi42LTY3LjUgMTY1LTkuMyA4LjQtMTMuMiAxNC45LTEzLjIgMjAuNiAwIDIuNyAxLjkgNS42IDMuOCA4LjQgMi4zIDIuMiA1LjIgMy42IDguNCAzLjggMTAuMyAwIDI0LjctMTIuMSA0My41LTM1LjggMzYuNi00NC45IDUzLjEtOTQuNCA1NC4xLTE2MS45UzU1Mi41IDEzNyA1MTEgODkuN3oiXX0sZVN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IngtdHdpdHRlciIsaWNvbjpbNDQ4LDUxMixbXSwiZTYxYiIsIk0zNTcuMiA0OEw0MjcuOCA0OCAyNzMuNiAyMjQuMiA0NTUgNDY0IDMxMyA0NjQgMjAxLjcgMzE4LjYgNzQuNSA0NjQgMy44IDQ2NCAxNjguNyAyNzUuNS01LjIgNDggMTQwLjQgNDggMjQwLjkgMTgwLjkgMzU3LjIgNDh6TTMzMi40IDQyMS44bDM5LjEgMC0yNTIuNC0zMzMuOC00MiAwIDI1NS4zIDMzMy44eiJdfSx0U3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3RpY2tlci1tdWxlIixpY29uOls1NzYsNTEyLFtdLCJmM2Y3IiwiTTU2MS43IDE5OS42bDAgMHptLTYuMi03Ny40Yy03LjctMjIuMy01LjEtNy4yLTEzLjQtMzYuOS0xLjYtNi41LTMuNi0xNC41LTYuMi0yMC00LjQtOC43LTQuNi03LjUtNC42LTkuNSAwLTUuMyAzMC43LTQ1LjMgMTktNDYuOS01LjctLjYtMTIuMiAxMS42LTIwLjYgMTctOC42IDQuMi04IDUtMTAuMyA1LTIuNiAwLTUuNy0zLTYuMi01LTItNS43IDEuOS0yNS45LTMuNi0yNS45LTMuNiAwLTEyLjMgMjQuOC0xNyAyNS44LTUuMiAxLjMtMjcuOS0xMS40LTc1LjEgMTgtMjUuMyAxMy4yLTg2LjkgNjUuMi04NyA2NS4zLTYuNyA0LjctMjAgNC43LTM1LjUgMTYtNDQuNCAzMC4xLTEwOS42IDkuNC0xMTAuNyA5LTExMC42LTI2LjgtMTI4LTE1LjItMTU5IDExLjUtMjAuOCAxNy45LTIzLjcgMzYuNS0yNC4yIDM4LjktNC4yIDIwLjQgNS4yIDQ4LjMgNi43IDY0LjMgMS44IDE5LjMtMi43IDE3LjcgNy43IDk4LjMgLjUgMSA0LjEgMCA1LjEgMS41IDAgOC40LTMuOCAxMi4xLTQuMSAxMy0xLjUgNC41LTEuNSAxMC41IDAgMTYgMi4zIDguMiA4LjIgMzcuMiA4LjIgNDYuOSAwIDQxLjggLjQgNDQgMi42IDQ5LjQgMy45IDEwIDEyLjUgOS4xIDE3IDEyIDMuMSAzLjUtLjUgOC41IDEgMTIuNSAuNSAyIDMuNiA0IDYuMiA1IDkuMiAzLjYgMjcgLjMgMjkuOS0yLjUgMS42LTEuNSAuNS00LjUgMy4xLTUgNS4xIDAgMTAuOC0uNSAxNC40LTIuNSA1LjEtMi41IDQuMS02IDEuNS0xMC41LS40LS44LTctMTMuMy05LjgtMTYtMi4xLTItNS4xLTMtNy4yLTQuNS01LjgtNC45LTEwLjMtMTkuNC0xMC4zLTE5LjUtNC42LTE5LjQtMTAuMy00Ni4zLTQuMS02Ni44IDQuNi0xNy4yIDM5LjUtODcuNyAzOS42LTg3LjggNC4xLTYuNSAxNy0xMS41IDI3LjMtNyA2IDEuOSAxOS4zIDIyIDY1LjQgMzAuOSA0Ny45IDguNyA5Ny40LTIgMTEyLjItMiAyLjggMi0xLjkgMTMtLjUgMzguOSAwIDI2LjQtLjQgMTMuNy00LjEgMjkuOS0yLjIgOS43IDMuNCAyMy4yLTEuNSA0Ni45LTEuNCA5LjgtOS45IDMyLjctOC4yIDQzLjQgLjUgMSAxIDIgMS41IDMuNSAuNSA0LjUgMS41IDguNSA0LjYgMTAgNy4zIDMuNiAxMi0zLjUgOS44IDExLjUtLjcgMy4xLTIuNiAxMiAxLjUgMTUgNC40IDMuNyAzMC42IDMuNCAzNi41IC41IDIuNi0xLjUgMS42LTQuNSA2LjQtNy40IDEuOS0uOSAxMS4zLS40IDExLjMtNi41IC4zLTEuOC05LjItMTkuOS05LjMtMjAtMi42LTMuNS05LjItNC41LTExLjMtOC02LjktMTAuMS0xLjctNTIuNiAuNS01OS40IDMtMTEgNS42LTIyLjQgOC43LTMyLjQgMTEtNDIuNSAxMC4zLTUwLjYgMTYuNS02OC4zIC44LTEuOCA2LjQtMjMuMSAxMC4zLTI5LjkgOS4zLTE3IDIxLjctMzIuNCAzMy41LTQ3LjQgMTgtMjIuOSAzNC00Ni45IDUyLTY5LjggNi4xLTcgOC4yLTEzLjcgMTgtOCAxMC44IDUuNyAyMS42IDcgMzEuOSAxNyAxNC42IDEyLjggMTAuMiAxOC4yIDExLjggMjIuOSAxLjUgNSA3LjcgMTAuNSAxNC45IDkuNSAxMC40LTIgMTMtMi41IDEzLjQtMi41IDIuNi0uNSA1LjctNSA3LjItOCAzLjEtNS41IDcuMi05IDcuMi0xNi41IDAtNy43LS40LTIuOC0yMC42LTUyLjl6Il19LGFTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0d2l0Y2giLGljb246WzQ0OCw1MTIsW10sImYxZTgiLCJNMzU5LjQgMTAzLjVsLTM4LjYgMCAwIDEwOS43IDM4LjYgMCAwLTEwOS43ek0yNTMuMiAxMDNsLTM4LjYgMCAwIDEwOS44IDM4LjYgMCAwLTEwOS44ek04OSAwbC05Ni41IDkxLjQgMCAzMjkuMiAxMTUuOCAwIDAgOTEuNCA5Ni41LTkxLjQgNzcuMyAwIDE3My44LTE2NC42IDAtMjU2LTM2Ni45IDB6TTQxNy4zIDIzNy44bC03Ny4yIDczLjEtNzcuMiAwLTY3LjYgNjQgMC02NC04Ni45IDAgMC0yNzQuMyAzMDguOSAwIDAgMjAxLjJ6Il19LHJTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJraWNrc3RhcnRlci1rIixpY29uOls0NDgsNTEyLFtdLCJmM2JjIiwiTTM1Ni43IDI1Ni4ybDQwLjgtNDAuNWM0Mi4yLTQxLjkgNDIuMi0xMTAuMyAwLTE1Mi4xcy0xMTEtNDEuOS0xNTMuMiAwTDIyOS4zIDc4LjRDMjA5LjYgNTAuMyAxNzcuMSAzMiAxNDAuMiAzMiA4MC41IDMyIDMyIDgwLjIgMzIgMTM5LjVsMCAyMzNjMCA1OS40IDQ4LjUgMTA3LjUgMTA4LjIgMTA3LjUgMzcuMSAwIDY5LjMtMTguMyA4OS00Ni40bDE0LjkgMTQuN2M0Mi4yIDQxLjkgMTExIDQxLjkgMTUzLjIgMHM0Mi4yLTExMC4zIDAtMTUyLjFsLTQwLjgtNDAgLjEgMHoiXX0sc1N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyaXRpY2FsLXJvbGUiLGljb246WzQ0OCw1MTIsW10sImY2YzkiLCJNMjI1LjggMGMuMyAuMiAyMTYuNiAxMjQuNSAyMTcuMSAxMjQuNyAzIDEuMiAzLjcgMy41IDMuNyA2LjYtLjEgODMuNC0uMSAxNjYuOSAwIDI1MC40IC4xIDEuMi0uMiAyLjQtLjggMy40cy0xLjUgMS45LTIuNiAyLjRjLTIxLjQgMTItMjA3LjkgMTE4LjMtMjE4LjkgMTI0LjZsLTMgMGMtNzkuMy00NS43LTIxOC4zLTEyNS40LTIxOC40LTEyNS41LS42LS4zLTEuMS0uNy0xLjQtMS4zcy0uNS0xLjItLjQtMS45YzAtLjkgMC0yMjUuOS0uMS0yNTMuMS0uMS0xIC4yLTIgLjctMi45czEuMy0xLjYgMi4yLTJDMjcuMiAxMTIuMSAyMTMuMiA2IDIyNC4xIDBsMS44IDB6TTIxNS40IDIwLjRsLS4yLS4yYy02NC43IDM2LjktMTI5LjUgNzMuNy0xOTQuMiAxMTAuNiAwIC4xIC4xIC4yIC4xIC40TDUyIDE0Mi45Yy03LjcgNi04LjMgNi0xMC42IDUuMS0uMSAwLTI0LjItOS4zLTI2LjgtMTBsMCAyMzAuNGMuOS0xLjQgNjQuMS0xMTAuOSA2NC4xLTExMSAxLjYtMi44IDMtMS45IDkuMS0xLjUgMS40IC4xIDEuNSAuMiAuOCAxLjQtNDEuMiA3MS4zLTM2LjQgNjMtNjcuNSAxMTYuOS0uOCAxLjQtLjYgMS4xIDEuMiAxLjFsMTg2LjUgMGMxLjQgMCAxLjctLjIgMS43LTEuNmwwLTguOWMwLTEuMyAyLjQtLjgtMTguNC0xLTcuNS0uMS0xNC4xLTMuMi0yMS40LTEyLjctNy40LTkuNy0xNC42LTE5LjQtMjEuOC0yOS4yLTIuMy0zLjEtMy40LTIuNC0xNi44LTIuNC0xLjggMC0xLjggMC0xLjggMS44IC4zIDI2LjIgLjIgMjUuMyAxIDMyLjcgLjUgNC40IDIuMiA0LjIgOS43IDQuOCAzLjEgLjMgMy45IDQuMSAuNSA0LjktMS42IC40LTMxLjYgLjUtMzMuNy0uMS0uNS0uMS0xLS41LTEuMy0uOXMtLjUtMS0uNC0xLjYgLjMtMS4xIC42LTEuNSAuOS0uNyAxLjQtLjhjMy4zLS44IDYuMiAuOCA2LjctNC40IDEuMy0xMy43IDEuMi05IDEuMS03OS40IDAtMTAuOC0uNC0xMi42LTUuNC0xMy42LTEuMi0uMi0zLjUtLjItNC43LS42LTIuOS0xLTItNC44IDEuOC00LjggMzMuNyAwIDQ2LjEtMS4xIDU2LjEgNC45IDcuNyA0LjYgMTIgMTEuNSAxMi41IDIwLjQgLjkgMTQuNi02LjUgMjIuMy0xNSAzMi42LS4yIC4xLS4zIC4zLS40IC41cy0uMSAuNC0uMSAuNiAwIC40IC4xIC42IC4yIC40IC40IC41YzIuNiAzLjIgNSA2LjYgNy43IDkuOCAyNy42IDMzLjIgMjQuMSAzMC41IDQxLjMgMzMuMSAuOSAuMSAxLS40IDEtMS4ybDAtMTFjMC0xIC4zLTEuNCAxLjQtMS4zIDcuOCAxLjIgMTUuOCAxLjEgMjMuNi0uMyAxLjEtLjEgMS41IC4yIDEuNSAxLjMgMCAuMSAuOSAyNi43IC45IDI2LjggMCAxLjUgLjcgMS42IDEuOSAxLjZsMTg2LjcgMGMtMjcuMi00Ny01NC4yLTk0LTgxLjItMTQwLjggMi4zLS43LS40IDAgNi43LTEuNCAyLS40IDIuMS0uNCAzLjEgMS40IDcuMyAxMi42IDc3LjMgMTM0IDc3LjQgMTM0LjFsMC0yMzAuNGMtMS43IC41LTEwMy4zIDM4LjctMTA1LjggMzkuNy0xLjEgLjQtMS41IC4yLTEuOS0uOS0uNi0xLjktMS4zLTMuOC0yLjEtNS42LS4zLS44LS4xLTEuMSAuNi0xLjQgLjEgMCA5NS41LTM1LjggMTAzLTM4LjgtNjUuNC0zNy42LTEzMC42LTc1LTE5Ni0xMTIuNmw4Ni44IDE1MC40LS4zIC4zYy05LjYtLjktMTAuNS0xLjYtMTEuOC0zLjktMS0xLjctNzMuNS0xMjcuNy04Mi0xNDIuMi05LjEgMTQuNy04My42IDE0Ni4yLTg1LjQgMTQ2LjMtMi45IC4yLTUuOSAuMS05LjIgLjEgMjguOC00OS44IDU3LjYtOTkuNSA4Ni4yLTE0OWwwIDB6bTUxLjkgMTI5LjljMS45LS4xIDMuNy0uNCA1LjUtLjggMS43LS4zIDIuNSAuMiAyLjYgMS45IDAgLjEgLjEgMTkuMS0uOSAyMC41cy0xLjkgMS4yLTIuNi0uMmMtNS05LjcgNi4yLTkuNy0zOS4xLTEyLS43IDAtMSAuMi0xIC45IDAgLjEgMy43IDEyMiAzLjcgMTIyLjEgMCAuOSAuNSAxLjIgMS4yIDEuNSAzIDEuMiA1LjkgMi41IDguNyA0IDcuMyA0LjMgMTEuNCAxMC44IDEyLjQgMTkuMyAxLjQgMTEuOC0yLjggMzUuOC0zMi4yIDM3LjEtMi44IC4xLTI4LjMgMS4xLTM0LjEtMjMuMy00LjctMTkuMyA4LjMtMzIuNyAxOS45LTM2LjQgLjYtLjEgMS4yLS40IDEuNS0uOXMuNS0xLjEgLjUtMS43Yy4xLTUuNiAzLTEwNy4xIDMuNy0xMjEuMyAwLTEuMS0uNi0xLjItMS40LTEuMS0zMi4zIC41LTM2LjctLjMtNDAuMiA4LjUtMi40IDYuMi00LjEgMS4zLTQgLjIgMS4xLTYgMi4yLTEyIDMuMy0xOCAuNC0yLjEgMS40LTIuNiAzLjQtMS45IDUuNiAyLjEgNi43IDEuNyAzNy4yIDEuOSAxLjcgMCAxLjgtLjEgMS44LTEuOCAuNy0yNy41IC42LTIyLjYgMS0yOS42IC4xLS42LS4xLTEuMi0uMy0xLjdzLS43LS45LTEuMy0xLjFjLTUuNi0yLjktOC44LTcuNi04LjktMTMuOS0uNC0xNC44IDE3LjctMjEuNyAyNy40LTExLjUgNi44IDcuMiA1LjggMTguOS0yLjUgMjQuMi0uOCAuNC0xLjQgMS4xLTEuOCAxLjhzLS42IDEuNi0uNCAyLjVjMCAuNi0uMS00LjMgMSAzMCAwIC45IC40IDEuMSAxLjIgMS4xIC4xIDAgMjMtLjEgMzQuNS0uNGwwLS4xek02OC4zIDE0MS43YzE5LjgtNC41IDMyLjctLjYgNTIuNSAxLjcgMi44IC4zIDMuNyAxLjIgMy42IDQtLjIgNS0xLjIgMjIuMy0xLjIgMjMuMSAwIC41LS4yIDEtLjUgMS40cy0uNyAuNy0xLjIgLjljLTQuMSAxLjctMy42LTQuNC00LTcuMy0zLjEtMjIuNC03My45LTMyLjctNzQuNiAyNS40LS4zIDIzLjkgMTcgNTMuNiA1NC4xIDUwLjkgMjcuMi0yIDE5LTIwLjIgMjQuOC0yMC41IC40LS4xIC45IDAgMS4zIC4xcy44IC40IDEuMSAuNyAuNSAuNyAuNiAxLjIgLjEgLjkgMCAxLjNjLTEuOCAxMC44LTMuNCAxOS0zLjQgMTkuMi0xLjUgOS4yLTg2LjcgMjIuMS05My40LTQyLjEtMi43LTI1LjggMTAuNC01My40IDQwLjMtNjAuMnptODAgODcuN2wtMTkuNSAwYy0uNiAwLTEuMi0uMS0xLjYtLjRzLS44LS44LTEtMS40YzIuNC0zLjggNS45IC45IDUuOS02LjEtLjEtMjUuOCAuMi0zOCAuMi00MC4xIDAtMy40LS41LTQuNi0zLjMtNC45LTctLjctMy4xLTMuNC0xLjEtMy40IDExLjgtLjEgMjIuNi0uMiAzMCAuNyA4LjggMS4xIDE2LjcgMTIuNiA3LjkgMjIuNi0yIDIuMi00IDQuNC02LjEgNi43IDEgMS4yIDYuOSA4LjggMTcuMyAxOS43IDIuNyAyLjggNi4yIDMuNSA5LjkgMy4xIC42IDAgMS4xLS4yIDEuNS0uNnMuNy0uOSAuNy0xLjVjLjMtMy40IC4zIDQuNyAuNC00MC42IDAtNS42LS4zLTYuNi0zLjItNi44LTQtLjQtNC0yLjMtLjctMy40bDE5LjEtLjFjLjMgMCA0LjUgLjUgMSAzLjQgMCAwLS4yIDAtLjIgMC0zLjYgLjMtMy45IDEtNCA0LjYtLjMgNDMuOSAuMSA0MC4yIC40IDQyLjggLjEgLjggLjMgMi4yIDUuMSAyLjEgMi41IDAgMy45IDMuNCAwIDMuNC0xMC40IC4xLTIwLjcgMC0zMS4xIC4xLTEwLjcgMC0xMy41LTYuMi0yNC4yLTIwLjgtMS42LTIuMi04LjMtMi40LTguMi0uNCAuOSAxNi41IDAgMTcuOCA0IDE3LjcgNC44LS4xIDQuNyAzLjYgLjggMy41bC4xIDB6bTI3NS0xMC4xYy0xLjIgNy4xIC4yIDEwLjQtNS4zIDEwLjMtNjEuNS0uNC00Ny44LS4yLTUwLjctLjMtMS4yLS4xLTIuNC0uNC0zLjYtLjctMi41LS42IDEuNS0xLjItLjQtNS42LTEuNC0zLjQtMi44LTYuOC00LjEtMTAuMi0uMS0uNC0uNC0uOC0uNy0xLjFzLS44LS40LTEuMy0uNGMtNC45LS4yLTkuNy0uMi0xNC42IC4xLS4zIDAtLjYgLjItLjkgLjNzLS41IC40LS43IC43Yy0xLjYgMy42LTMuMSA3LjMtNC41IDExLTEuMyAzLjIgNy45IDEuMyAxMi4yIDIuMiAzIC42IDQuNSAzLjcgLjcgMy43bC0yNi40IDBjLTIuOSAwLTMuMS0zLjItLjctMy4yIDEuMiAuMSAyLjQtLjIgMy41LS45czEuOS0xLjUgMi40LTIuNmMxLjUtMyAyLjgtNiA0LjEtOS4xIDE4LjItNDIuMSAxNy4xLTQwLjIgMTguNC00MS42IC4yLS4yIC40LS40IC43LS42cy42LS4yIC44LS4yIC42IC4xIC44IC4yIC41IC4zIC43IC42YzIuOSAzLjMgMTguNCA0NC43IDIzLjYgNTEuOSAyIDIuNyA1LjcgMiA2LjQgMiAzLjYgLjEgNC0xLjEgNC4xLTQuMyAuMS0xLjkgLjEgMS4yIC4xLTQxLjIgMC00LjUtMi40LTMuNy01LjYtNC4zLS4zIDAtMi42LS42LS4xLTMuMSAuMi0uMi0uOS0uMiAyMS43LS4yIDIuMyAwIDUuMyAyLjgtMS4yIDMuNC0uNCAwLS43IDAtMS4xIC4ycy0uNiAuMy0uOSAuNi0uNCAuNi0uNiAuOS0uMiAuNy0uMSAxLjFjLS4xIDEuNi0uMiAzOC45IC4zIDQxLjIgLjIgLjcgLjYgMS40IDEuMiAxLjhzMS4zIC43IDIuMSAuNmMxMy4zIC40IDE0LjkgLjQgMTYtMy40IDEuNy01LjggNC4xLTIuNSAzLjctLjJsMCAuMXpNMzE4LjYgMjgzLjZjLTQuMiAwLTQuNC0zLjQtLjYtMy40IDM1LjktLjIgMjguMSAuNCAzNy4yLS42IDEuNy0uMiAyLjQgLjIgMi4zIDEuOS0uMyAzLjQtLjYgNi44LTEgMTAuMi0uMiAyLjItMy4yIDIuNi0zLjQtLjItLjQtNS4zLTIuMi00LjUtMTUuNi01LjEtMS42LS4xLTEuNiAwLTEuNiAxLjVsMCAxNi4xYzAgMS43IDAgMS42IDEuNiAxLjUgMy4xLS4yIDEwLjMgLjMgMTUuNy0xLjUgLjUtLjIgMy4zLTEuOCAzLjEgMS44IDAgLjItLjggMTAuNC0xLjIgMTEuNC0uNSAxLjMtMS45IDEuNS0yLjYgLjMtMS4yLTIgMC01LjEtMy43LTUuMy0xNS40LS45LTEyLjktMi41LTEyLjkgNiAwIDEyLjMtLjggMTYuMSAzLjkgMTYuMiAxNi42IC41IDE0LjQgMCAxNi40LTUuNyAuOC0yLjQgMy41LTEuOCAzLjIgLjYtLjQgMy4yLS44IDYuNC0xLjIgOS42IDAgLjQtLjIgMi40LTQuNyAyLjQtMzcuMi0uMS0zNC41LS4yLTM1LjItLjMtMi43LS41LTIuMi0zIC4yLTMuNCAxLjEtLjIgNCAuNSA0LjItMi42IDIuNC01Ni4yLS4xLTUxLjMtMy45LTUxLjNsMCAwem0tLjQtMTA5LjVjMi41IC42IDMuMSAxLjggMyA0LjYtLjMgNS4zLS4zIDktLjYgOS43LS43IDIuMi0zLjEgMi4xLTMuMy0uMy0uNC00LjgtMy03LjgtNy42LTkuMS0yNi4zLTcuNy0zMi44IDE1LjUtMjcuMiAzMC4yIDUuOSAxNS40IDIyIDE1LjkgMjguOSAxMy44IDUuOS0xLjkgNS45LTYuNSA2LjktNy42IDEuMi0xLjMgMi4yLTEuOCAzLjEgMS4xIDAgLjEgLjYgMTEuOS02IDEyLjctMS42IC4yLTE5LjQgMy43LTMyLjctMy40LTIxLTExLjItMTYuNy0zNS41LTYuOS00NS4zIDE0LTE0LjEgMzkuOS03LjEgNDIuMy02LjVsMCAwek0yODkuOCAyODAuMWMzLjMgMCAzLjcgMyAuMiAzLjQtMi42IC4zLTUtLjQtNSA1LjUgMCAyLS4yIDI5IC40IDQxLjQgLjEgMi4zIDEuMiAzLjUgMy40IDMuNyAyMiAxLjIgMTUtMS43IDE4LjgtNi4zIDEuOC0yLjIgMi44IC44IDIuOCAxLjEgLjMgMTMuNi00IDEyLjQtNS4yIDEyLjRsLTM4LjItLjJjLTEuOS0uMi0yLjEtMy0uNC0zLjQgMi0uNSA0LjkgLjQgNS4xLTIuOCAxLTE1LjkgLjYtNDQuNiAuMy00Ny44LS4zLTMuOC0yLjgtMy4zLTUuNy0zLjctMi41LS40LTItMy4yIC4zLTMuMiAxLjQgMCAxOCAwIDIzLjEgMHptLTMxLjYtNTcuOGMuMSA0LjEgMi45IDMuNSA2IDMuNiAyLjYgLjEgMi41IDMuNC0uMSAzLjQtNi41IDAtMTMuNyAwLTIxLjYtLjEtMy44IDAtMy40LTMuNCAwLTMuNCA0LjUgMCAzLjIgMS42IDMuNC00NS41IDAtNS4xLTMuMy0zLjUtNC43LTQuMi0yLjYtMS4yLTEuNC0zLjEgLjQtMy4yIDEuMyAwIDIwLjItLjQgMjEuMiAuMnMxLjkgMS42LS40IDIuOWMtMSAuNS0zLjktLjMtNC4yIDIuNSAwIC4yLS44IDEuNi0uMSA0My44bDAgMHpNMjIxLjMgNDk2LjZjLjUgLjMgMSAuNSAxLjYgLjVzMS4xLS4yIDEuNi0uNWMxNy05LjggMTgyLTEwMy42IDE5Ny40LTExMi41LS4xLS40IDExLjMtLjItMTgxLjUtLjMtMS4yIDAtMS42IC40LTEuNSAxLjYgMCAuMSAxLjMgNDQuNSAxLjIgNTAuNC0uMSAyLjYtLjYgNS4yLTEuNCA3LjctLjYgMS44IC40LS41LTEzLjUgMzIuMi0uNyAxLjctMSAyLjItMi0uMS00LjItMTAuMy04LjMtMjAuNy0xMi42LTMxLTEuNS0zLjQtMi4yLTcuMS0yLTEwLjggLjItMi41IC44LTE2LjEgMS41LTQ4IDAtMS45IDAtMi0yLTJsLTE4MyAwYzIuNiAxLjYgMTc4LjMgMTAyLjYgMTk2IDExMi44bC4xIDB6TTEzMC40IDMwNy45YzAgMi40IC40IDIuOCAyLjggMyAxMS41IDEuMiAyMSAzLjcgMjUuNi03LjMgNi0xNC41IDIuNy0zNC40LTEyLjUtMzguOC0yLS42LTE2LTIuOC0xNS45IDEuNSAwIDggMCAxMS42IDAgNDEuNnptMTA1LjgtMTVjMCAyLjEgMS4xIDM4LjcgMS4xIDM5LjEgLjMgOS45LTI1LjYgNS44LTI1LjItMi42IC4xLTIgMS40LTM3LjQgMS4xLTM5LjQtMTQuMSA3LjQtMTQuNCA0MC4yIDYuNCA0OC44IDQgMS43IDguNCAxLjkgMTIuNSAuNnM3LjYtNCA5LjktNy43YzQuOS03LjggNi44LTI5LjUtNS40LTM5LS4xIC4xLS4yIC4xLS40IC4xbDAgMHptLTEyLjMtMTk4Yy05LjggMC05LjcgMTQuOC0uMSAxNC45czEwLjEtMTQuOSAuMS0xNC45bDAgMHpNMTQzLjcgMTk4LjZjMCAxLjggLjQgMi40IDIuMiAyLjYgMTMuNiAxLjQgMTIuNS0xMSAxMi4yLTEzLjQtMS43LTExLjItMTQuNC0xMC4yLTE0LjQtNy44IDAgNC41IDAgMTMuNyAwIDE4LjZ6TTM1NiAyMDVsLTYuMS0xNS44Yy0yLjIgNS41LTQuMiAxMC42LTYuMiAxNS44bDEyLjMgMHoiXX0saVN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0ZWFtLXN5bWJvbCIsaWNvbjpbNDQ4LDUxMixbXSwiZjNmNiIsIk0yNzMuNSAxNzcuNWE2MSA2MSAwIDEgMSAxMjIgMCA2MSA2MSAwIDEgMSAtMTIyIDB6bTE3NC41IC4yYzAgNjMtNTEgMTEzLjgtMTEzLjcgMTEzLjhMMjI1IDM3MS4zYy00IDQzLTQwLjUgNzYuOC04NC41IDc2LjgtNDAuNSAwLTc0LjctMjguOC04My02N0wwIDM1OCAwIDI1MC43IDk3LjIgMjkwYzE1LjEtOS4yIDMyLjItMTMuMyA1Mi0xMS41bDcxLTEwMS43QzIyMC43IDExNC41IDI3MS43IDY0IDMzNC4yIDY0IDM5NyA2NCA0NDggMTE1IDQ0OCAxNzcuN3pNMjAzIDM2M2MwLTM0LjctMjcuOC02Mi41LTYyLjUtNjIuNS00LjUgMC05IC41LTEzLjUgMS41bDI2IDEwLjVjMjUuNSAxMC4yIDM4IDM5IDI3LjcgNjQuNS0xMC4yIDI1LjUtMzkuMiAzOC02NC43IDI3LjUtMTAuMi00LTIwLjUtOC4zLTMwLjctMTIuMiAxMC41IDE5LjcgMzEuMiAzMy4yIDU1LjIgMzMuMiAzNC43IDAgNjIuNS0yNy44IDYyLjUtNjIuNXpNNDEwLjUgMTc3LjdhNzYuNCA3Ni40IDAgMSAwIC0xNTIuOCAwIDc2LjQgNzYuNCAwIDEgMCAxNTIuOCAweiJdfSxvU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWFpbGNoaW1wIixpY29uOls0NDgsNTEyLFtdLCJmNTllIiwiTTMzMSAyNDMuNWMzLjEtLjQgNi4yLS40IDkuMyAwIDEuNy0zLjggMi0xMC40IC41LTE3LjYtMi4yLTEwLjctNS4zLTE3LjEtMTEuNS0xNi4xcy02LjUgOC43LTQuMiAxOS40YzEuMyA2IDMuNSAxMS4xIDYgMTQuM2wwIDB6TTI3Ny40IDI1MmM0LjUgMiA3LjIgMy4zIDguMyAyLjEgMS45LTEuOS0zLjUtOS40LTEyLjEtMTMuMS01LTIuMS0xMC40LTIuOC0xNS44LTIuMnMtMTAuNSAyLjctMTQuOCA1LjhjLTMgMi4yLTUuOCA1LjItNS40IDcuMSAuOSAzLjcgMTAtMi43IDIyLjYtMy41IDctLjQgMTIuOCAxLjggMTcuMyAzLjdsMCAwem0tOSA1LjFjLTkuMSAxLjQtMTUgNi41LTEzLjUgMTAuMSAuOSAuMyAxLjIgLjggNS4yLS44IDYtMi4zIDEyLjQtMi45IDE4LjctMS45IDIuOSAuMyA0LjMgLjUgNC45LS41IDEuNS0yLjItNS43LTgtMTUuNC02LjlsMCAwem01NC4yIDE3LjFjMy40LTYuOS0xMC45LTEzLjktMTQuMy03czEwLjkgMTMuOSAxNC4zIDdsMCAwem0xNS43LTIwLjVjLTcuNy0uMS04IDE1LjgtLjMgMTUuOXM4LTE1LjggLjMtMTZsMCAwek0xMTkuNSAzMzIuN2MtMS4zIC4zLTYgMS41LTguNS0yLjMtNS4yLTggMTEuMS0yMC40IDMtMzUuOC05LjEtMTcuNS0yNy44LTEzLjUtMzUtNS41LTguNyA5LjYtOC43IDIzLjUtNSAyNC4xIDQuMyAuNiA0LjEtNi41IDcuNC0xMS42IC45LTEuNCAyLjEtMi42IDMuNS0zLjZzMy0xLjYgNC42LTIgMy40LS40IDUgMCAzLjMgMSA0LjcgMS45YzExLjYgNy42IDEuNCAxNy44IDIuMyAyOC42IDEuNCAxNi43IDE4LjQgMTYuNCAyMS42IDkgLjItLjQgLjMtLjggLjMtMS4ycy0uMi0uOC0uNS0xLjFjMCAuOSAuNy0xLjMtMy40LS40bDAgMHptMjk5LjctMTcuMWMtMy4zLTExLjctMi42LTkuMi02LjgtMjAuNSAyLjQtMy43IDE1LjMtMjQtMy4xLTQzLjMtMTAuNC0xMC45LTMzLjktMTYuNS00MS4xLTE4LjUtMS41LTExLjQgNC42LTU4LjctMjEuNS04MyAyMC44LTIxLjYgMzMuOC00NS4zIDMzLjctNjUuNy0uMS0zOS4yLTQ4LjItNTEtMTA3LjQtMjYuNWwtMTIuNSA1LjNjLS4xIDAtMjIuNy0yMi4zLTIzLjEtMjIuNi02Ny41LTU4LjktMjc4LjggMTc1LjktMjExLjMgMjMyLjlsMTQuOCAxMi41Yy00IDEwLjctNS40IDIyLjItNC4xIDMzLjUgMy40IDMzLjQgMzYgNjAuNCA2Ny41IDYwLjQgNTcuNyAxMzMuMSAyNjcuOSAxMzMuMyAzMjIuMyAzIDEuNy00LjUgOS4xLTI0LjYgOS4xLTQyLjRzLTEwLjEtMjUuMy0xNi41LTI1LjNsMCAwem0tMzE2IDQ4LjJjLTIyLjgtLjYtNDcuNS0yMS4xLTQ5LjktNDUuNS02LjItNjEuMyA3NC4zLTc1LjMgODQtMTIuMyA0LjUgMjkuNi00LjcgNTguNS0zNC4xIDU3LjhsMCAwek04NC43IDI0OS42Yy0xNS4yIDMtMjguNSAxMS41LTM2LjcgMjMuNS00LjktNC4xLTE0LTEyLTE1LjYtMTUtMTMtMjQuOCAxNC4yLTczIDMzLjMtMTAwLjIgNDcuMS02Ny4yIDEyMC45LTExOC4xIDE1NS0xMDguOSA1LjUgMS42IDIzLjkgMjIuOSAyMy45IDIyLjlzLTM0LjEgMTguOS02NS44IDQ1LjNDMTM2LjIgMTUwIDEwNCAxOTcuNyA4NC43IDI0OS42ek0zMjMuNiAzNTAuN3MtMzUuNyA1LjMtNjkuNS03LjFjNi4yLTIwLjIgMjcgNi4xIDk2LjQtMTMuOCAxNS4zLTQuNCAzNS40LTEzIDUxLTI1LjQgMy40IDcuOCA1LjggMTUuOSA3LjEgMjQuMyAzLjctLjcgMTQuMi0uNSAxMS40IDE4LjEtMy4zIDE5LjktMTEuNyAzNi0yNS45IDUwLjgtOC45IDkuNi0xOS40IDE3LjUtMzEuMiAyMy4zLTYuNSAzLjQtMTMuMyA2LjMtMjAuMyA4LjYtNTMuNSAxNy41LTEwOC4zLTEuNy0xMjYtNDMtMS40LTMuMS0yLjYtNi40LTMuNi05LjctNy41LTI3LjItMS4xLTU5LjggMTguOC04MC40IDEuMi0xLjMgMi41LTIuOSAyLjUtNC44LS4yLTEuNy0uOC0zLjMtMS45LTQuNS03LTEwLjEtMzEuMi0yNy40LTI2LjMtNjAuOCAzLjUtMjQgMjQuNS00MC45IDQ0LjEtMzkuOWw1IC4zYzguNSAuNSAxNS45IDEuNiAyMi45IDEuOSAxMS43IC41IDIyLjItMS4yIDM0LjYtMTEuNiA0LjItMy41IDcuNi02LjUgMTMuMy03LjUgMi4zLS42IDQuNy0uNyA3LS4zczQuNiAxLjIgNi42IDIuNWMxMCA2LjYgMTEuNCAyMi43IDExLjkgMzQuNSAuMyA2LjcgMS4xIDIzIDEuNCAyNy42IC42IDEwLjcgMy40IDEyLjIgOS4xIDE0IDMuMiAxIDYuMiAxLjggMTAuNSAzLjEgMTMuMiAzLjcgMjEgNy41IDI2IDEyLjMgMi41IDIuNSA0LjIgNS44IDQuNyA5LjMgMS42IDExLjQtOC44IDI1LjQtMzYuMyAzOC4yLTQ2LjcgMjEuNy05My43IDE0LjQtMTAwLjUgMTMuNy0yMC4yLTIuNy0zMS42IDIzLjMtMTkuNSA0MS4xIDIyLjYgMzMuNCAxMjIuNCAyMCAxNTEuNC0yMS40IC43LTEgLjEtMS42LS43LTEtNDEuOCAyOC42LTk3LjEgMzguMi0xMjguNSAyNi00LjgtMS44LTE0LjctNi40LTE1LjktMTYuNyA0My42IDEzLjUgNzEgLjcgNzEgLjdzMi0yLjgtLjYtMi41ek0xNzEuNyAxNTcuNWMxNi43LTE5LjQgMzcuNC0zNi4yIDU1LjgtNDUuNiAuMS0uMSAuMy0uMSAuNS0uMXMuMyAuMSAuNCAuMiAuMiAuMyAuMiAuNCAwIC4zLS4xIC41Yy0xLjUgMi43LTQuMyA4LjMtNS4yIDEyLjcgMCAuMSAwIC4zIDAgLjRzLjIgLjMgLjMgLjQgLjMgLjEgLjQgLjEgLjMgMCAuNC0uMWMxMS41LTcuOCAzMS41LTE2LjIgNDktMTcuMyAuMiAwIC4zIDAgLjUgLjFzLjIgLjIgLjMgLjQgLjEgLjMgMCAuNS0uMSAuMy0uMyAuNGMtMi45IDIuMi01LjUgNC44LTcuNyA3LjctLjEgLjEtLjEgLjItLjEgLjRzMCAuMyAuMSAuNCAuMiAuMiAuMyAuMyAuMiAuMSAuNCAuMWMxMi4zIC4xIDI5LjcgNC40IDQxIDEwLjcgLjggLjQgLjIgMS45LS42IDEuNy02OS41LTE1LjktMTIzLjEgMTguNS0xMzQuNSAyNi44LS4yIC4xLS4zIC4xLS41IC4xcy0uMy0uMS0uNS0uMi0uMi0uMy0uMi0uNSAuMS0uNCAuMi0uNWwtLjEgMHoiXX0sblN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imx1bW9uIixpY29uOls2NDAsNTEyLFtdLCJlN2UyIiwiTTQ1Mi41IDIyMy41YzkuOCAwIDE2LjUgNi4zIDE2LjUgMTYuNmwwIDMxLjhjMCAxMC4zLTYuNiAxNi42LTE2LjYgMTYuNmwtNTYuMiAwYy05LjggMC0xNi41LTYuMy0xNi41LTE2LjZsMC0zMS44YzAtMTAuMyA2LjctMTYuNiAxNi41LTE2LjZsNTYuMyAwem0tMjUuNyAxMy4xYy0xLjUtMi42LTMuMi0yLjYtNC42IDBsLTEwLjcgMTcuNmMtMS43IDIuNC0yLjYgNS4xLTIuNiA4LjIgMCA3LjkgNi45IDE0LjYgMTUuNiAxNC42IDguNSAwIDE1LjYtNi43IDE1LjYtMTQuNiAwLTMtMS01LjgtMi43LTguMmwtMTAuNy0xNy42ek04NS44IDIyMy44YzEgMCAxLjUgLjYgMS41IDEuNWwwIDUwLjMgNjQuNiAwYzEgMCAxLjYgLjYgMS42IDEuNWwwIDkuN2MwIC45LS42IDEuNS0xLjYgMS41bC03OC40IDBjLTEgMC0xLjYtLjYtMS42LTEuNWwwLTYxLjRjMC0uOSAuNi0xLjUgMS42LTEuNWwxMi4zIDB6bTg4LjMgMGMxIDAgMS41IC42IDEuNSAxLjVsMCA0NWMwIDQgMiA1LjIgNS43IDUuMmw0Ni45IDBjMy44IDAgNS43LTEuMyA1LjctNS4ybDAtNDVjMC0uOSAuNS0xLjUgMS41LTEuNWwxMi4zIDBjMSAwIDEuNiAuNiAxLjYgMS41bDAgNDZjMCAxMC41LTUuMyAxNi44LTE3LjYgMTYuOGwtNTQgMGMtMTIuMyAwLTE3LjYtNi4zLTE3LjYtMTYuOGwwLTQ2YzAtLjkgLjYtMS41IDEuNi0xLjVsMTIuMyAwem0xMDguMiAwYzEgMCAxLjYgLjUgMi4yIDEuNGwzMC41IDQ2LjQgMS40IDAgMzAuNS00Ni40Yy42LS45IDEuMi0xLjQgMi4yLTEuNGwxOCAwYzEgMCAxLjUgLjYgMS41IDEuNWwwIDYxLjRjMCAuOS0uNSAxLjUtMS41IDEuNWwtMTIuMyAwYy0xIDAtMS42LS42LTEuNi0xLjVsMC00My44LTEuMSAwLTI4LjcgNDMuOGMtLjYgLjktMS4zIDEuNS0yLjQgMS41bC0xMC43IDBjLTEgMC0xLjctLjYtMi4zLTEuNWwtMjguNy00My44LTEuMSAwIDAgNDMuOGMwIC45LS41IDEuNS0xLjUgMS41bC0xMi4zIDBjLTEgMC0xLjYtLjYtMS42LTEuNWwwLTYxLjRjMC0uOSAuNi0xLjUgMS42LTEuNWwxNy45IDB6bTIxNC40IDBjLjkgMCAxLjMgLjQgMi4yIDEuMWw1Mi43IDQ2LjMgMS4zIDAgMC00NmMwLS45IC42LTEuNSAxLjYtMS41bDEyLjMgMGMxIDAgMS42IC42IDEuNiAxLjVsMCA2MS40YzAgLjktLjYgMS41LTEuNiAxLjVsLTE0LjQgMGMtMSAwLTEuNC0uNC0yLjMtMS4xbC01Mi42LTQ2LjMtMS40IDAgMCA0NmMwIC45LS41IDEuNS0xLjUgMS41bC0xMi4zIDBjLTEgMC0xLjYtLjYtMS42LTEuNWwwLTYxLjRjMC0uOSAuNi0xLjUgMS42LTEuNWwxNC40IDB6TTMyMCAxMTQuMWM4Ny45IDAgMTY3LjcgMTUuNyAyMjUuNSA0MWwyLjcgMS4yQzU4Ny4xIDE3My44IDY0MCAyMDYuNSA2NDAgMjU2cy01Mi45IDgyLjItOTEuOCA5OS42bC0yLjcgMS4yYy01Ny44IDI1LjQtMTM3LjYgNDEtMjI1LjUgNDEtNzYuMiAwLTE1NS4xLTEwLjUtMjI1LjUtNDEtMzkuNi0xNy40LTk0LjUtNTAuMy05NC41LTEwMC44czU0LjktODMuNSA5NC41LTEwMC44YzcwLjQtMzAuNSAxNDkuMy00MSAyMjUuNS00MXptLTg4LjkgMjI5YzIwLjMgMjkgNTIuOCA0OS42IDg4LjkgNDkuNiAzNi4yIDAgNjguNy0yMC42IDg5LTQ5LjdsLTE3Ny45IC4xem0tOTYuMSAwYzQzLjMgMjkuNyA5Ni43IDQzLjUgMTQ4LjQgNDgtMjQuMi05LjEtNDQuNC0yNi43LTU4LjYtNDguMWwtODkuOSAwem0yODAuMy0uMWMtMTQuMiAyMS40LTM0LjQgMzkuMS01OC42IDQ4LjEgNTEuOC00LjUgMTA1LjMtMTguMyAxNDguNi00OC4ybC05MCAwem0tMzM3LjQgLjFjNDQuMSAyMy4xIDkzLjcgMzUuNCAxNDIuNyA0Mi42LTMzLjQtOC42LTY2LjUtMjEuOS05NC40LTQyLjZsLTQ4LjMgMHptNDM2LjItLjJjLTI3LjkgMjAuOC02MS4xIDM0LjItOTQuNiA0Mi44IDQ3LjMtNi45IDg5LjYtMTguNSAxMjMuOS0zMy42bDEuNy0uOGM2LjEtMi43IDExLjktNS41IDE3LjQtOC40bC00OC41IDB6TTUyMCAxNzMuNmMxMC43IDguNyAxOS44IDE4LjEgMjcgMjguMiAuNCAuNiAuNSAxLjMgLjEgMnMtMSAxLTEuNyAxbC0xLjYgMGMtLjYgMC0xLjItLjMtMS41LS44LTcuOS0xMC45LTE4LjItMjEuMS0zMC42LTMwLjRsLTkzLjUgMGM1LjQgOC44IDkuOSAxOC41IDEzLjQgMjguNiAuMiAuNiAuMSAxLjItLjIgMS43cy0uOSAuOC0xLjYgLjhsLTEuNCAwYy0uOCAwLTEuNS0uNS0xLjgtMS4zLTMuOC0xMC43LTguNy0yMC44LTE0LjUtMjkuOWwtMTg0LjMgLjFjLTUuOCA5LjEtMTAuNyAxOS4xLTE0LjQgMjkuOC0uMyAuOC0xIDEuMy0xLjggMS4zbC0xLjQgMGMtLjYgMC0xLjItLjMtMS42LS44cy0uNS0xLjEtLjItMS43YzMuNS0xMC4yIDgtMTkuNyAxMy40LTI4LjZsLTkzLjYgMGMtMTIuMyA5LjMtMjIuNiAxOS40LTMwLjQgMzAuMy0uNCAuNS0uOSAuOC0xLjUgLjhsLTEuNiAwYy0uNyAwLTEuNC0uNC0xLjctMXMtLjMtMS40IC4xLTJjNy42LTEwLjUgMTYuNy0xOS45IDI2LjgtMjhsLTUxIDBjLTI4LjkgMTYuNi02MiA0My4zLTYzLjUgNzkuN2w0NC43IDBjLjUgMCAxIC4yIDEuMyAuNnMuNiAuOCAuNiAxLjNsMCAxLjNjMCAxLjEtLjkgMS45LTEuOSAxLjlsLTQ0LjcgMEM2LjggMjk1IDQwIDMyMS43IDY5IDMzOC4zbDUwLjkgMGMtMTAuMy04LjQtMTkuMS0xNy40LTI2LjEtMjdsLS44LTEuMWMtLjQtLjYtLjUtMS4zLS4xLTJzMS0xIDEuNy0xbDEuNiAwIC4yIDBjLjUgLjEgMSAuMyAxLjMgLjggNy45IDEwLjkgMTguMSAyMSAzMC41IDMwLjNsOTMuNiAwYy01LjMtOC44LTkuOC0xOC40LTEzLjQtMjguNS0uMi0uNi0uMS0xLjIgLjItMS43cy45LS44IDEuNi0uOGwxLjQgMCAuMiAwYy43IC4xIDEuNCAuNiAxLjcgMS4zIDMuOCAxMC43IDguNiAyMC43IDE0LjQgMjkuOGwxODQuNS0uMWM1LjgtOS4xIDEwLjYtMTkuMSAxNC40LTI5LjdsLjEtLjFjLjMtLjcgMS0xLjEgMS43LTEuMWwxLjQgMGMuNiAwIDEuMiAuMyAxLjYgLjhzLjUgMS4yIC4yIDEuN2MtMy41IDEwLjEtOCAxOS43LTEzLjMgMjguNWw5My43IDBjMTIuMy05LjMgMjIuNS0xOS40IDMwLjMtMzAuMmwuMS0uMmMuNC0uNCAuOS0uNiAxLjQtLjZsMS42IDBjLjcgMCAxLjQgLjQgMS43IDFzLjMgMS40LS4xIDJjLTcuMSAxMC0xNi4xIDE5LjMtMjYuNyAyNy45bDUxLjEgMGMyOC44LTE2LjYgNjEuOC00My4zIDYzLjQtNzkuNmwtNDQuNyAwYy0xIDAtMS45LS45LTEuOS0xLjlsMC0xLjNjMC0xLjEgLjktMS45IDEuOS0xLjlsNDQuNyAwYy0xLjYtMzYuNS0zNC45LTYzLjMtNjMuOS03OS45bC01MC45IDB6TTIyMC41IDEyNi4yYy00OS4xIDcuMS05OC43IDE5LjUtMTQzIDQyLjdsNDguNCAwYzI3LjktMjAuOCA2MS0zNC4xIDk0LjUtNDIuN3ptNjIuOC01LjRjLTUxLjggNC41LTEwNS4yIDE4LjMtMTQ4LjYgNDguMWw5MCAwYzE0LjItMjEuNCAzNC40LTM5IDU4LjYtNDguMXptMzYuNi0xLjZjLTM2LjIgMC02OC43IDIwLjYtODkgNDkuN2wxNzcuOS0uMWMtMjAuMy0yOS4xLTUyLjctNDkuNi04OC45LTQ5LjZ6bTM2LjYgMS42YzI0LjIgOS4xIDQ0LjQgMjYuNiA1OC41IDQ4bDg5LjggMGMtNDMuMy0yOS43LTk2LjYtNDMuNS0xNDguMy00OHptNjIuOCA1LjRjMzMuNCA4LjUgNjYuNCAyMS45IDk0LjMgNDIuNWw0OC4zIDBjLTQ0LjEtMjMuMS05My42LTM1LjQtMTQyLjYtNDIuNXoiXX0sbFN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im51dHJpdGlvbml4IixpY29uOls0NDgsNTEyLFtdLCJmM2Q2IiwiTTExMiA4LjFTMjQ1LjQtLjEgMjMzIDExMi41YzAgMCAxOS4xLTc0LjkgMTAzLTQwLjYgMCAwLTE3LjcgNzQtODggNTYgMCAwIDE0LjYtNTQuNiA2Ni4xLTU2LjYgMCAwLTM5LjktMTAuMy04Mi4xIDQ4LjggMCAwLTE5LjgtOTQuNS05My42LTk5LjcgMCAwIDc1LjIgMTkuNCA3Ny42IDEwNy41IDAgLjEtMTA2LjQgNy0xMDQtMTE5Ljh6TTQyNCAzMjMuN2MwIDQ4LjUtOS43IDk1LjMtMzIgMTMyLjMtNDIuMiAzMC45LTEwNSA0OC0xNjggNDgtNjIuOSAwLTEyNS44LTE3LjEtMTY4LTQ4LTIyLjMtMzctMzItODMuOC0zMi0xMzIuMyAwLTQ4LjQgMTcuNy05NC43IDQwLTEzMS43IDQyLjItMzAuOSA5Ny4xLTQ4LjYgMTYwLTQ4LjYgNjMgMCAxMTcuOCAxNy42IDE2MCA0OC42IDIyLjMgMzcgNDAgODMuMyA0MCAxMzEuN3pNMTQ0IDQyOGEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwem0wLTY2LjJhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHptMC02Ni4yYTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6TTIxNiA0MjhhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHptMC02Ni4yYTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6bTAtNjYuMmEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwek0yODggNDI4YTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6bTAtNjYuMmEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwem0wLTY2LjJhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHpNMzYwIDQyOGEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwem0wLTY2LjJhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHptMC02Ni4yYTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6TTM4NCAyNTZjLTQuOC0yMi4zLTcuNC0zNi45LTE2LTU2LTM4LjgtMTkuOS05MC41LTMyLTE0NC0zMlMxMTguOCAxODAuMSA4MCAyMDBjLTguOCAxOS41LTExLjIgMzMuOS0xNiA1NiA0Mi4yLTcuOSA5OC43LTE0LjggMTYwLTE0LjhzMTE3LjggNi45IDE2MCAxNC44eiJdfSxjU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzIixpY29uOls1MTIsNTEyLFtdLCJmNGYxIiwiTTI1NS42IDhDMzk3LjQgOCA1MDQgMTE4LjEgNTA0IDI1NiA1MDQgNDAzLjEgMzg1LjUgNTA0IDI1NS42IDUwNCAxMjEuNiA1MDQgOCAzOTQuNSA4IDI1NiA4IDEyMy4xIDExMi43IDggMjU1LjYgOHptLjggNDQuN2MtMTE4LjIgMC0yMDMuNyA5Ny45LTIwMy43IDIwMy4zIDAgMTA5LjggOTEuMiAyMDIuOCAyMDMuNyAyMDIuOCAxMDMuMiAwIDIwMi44LTgxLjEgMjAyLjgtMjAyLjggLjEtMTEzLjgtOTAuMi0yMDMuMy0yMDIuOC0yMDMuM3ptMTA3IDIwNS42Yy00LjcgMC05IDIuOC0xMC43IDcuMmwtNCA5LjUtMTEtOTIuOGMtMS43LTEzLjktMjItMTMuNC0yMy4xIC40bC00LjMgNTEuNC01LjItNjguOGMtMS4xLTE0LjMtMjIuMS0xNC4yLTIzLjIgMGwtMy41IDQ0LjktNS45LTk0LjNjLS45LTE0LjUtMjIuMy0xNC40LTIzLjIgMGwtNS4xIDgzLjctNC4zLTY2LjNjLS45LTE0LjQtMjIuMi0xNC40LTIzLjIgMGwtNS4zIDgwLjItNC4xLTU3Yy0xLjEtMTQuMy0yMi0xNC4zLTIzLjItLjJsLTcuNyA4OS44LTEuOC0xMi4yYy0xLjctMTEuNC0xNy4xLTEzLjYtMjItMy4zbC0xMy4yIDI3LjctNDMuOSAwIDAgMjMuMiA1MS4zIDBjNC40IDAgOC40LTIuNSAxMC40LTYuNGwxMC43IDczLjFjMiAxMy41IDIxLjkgMTMgMjMuMS0uN2wzLjgtNDMuNiA1LjcgNzguM2MxLjEgMTQuNCAyMi4zIDE0LjIgMjMuMi0uMWw0LjYtNzAuNCA0LjggNzMuM2MuOSAxNC40IDIyLjMgMTQuNCAyMy4yLS4xbDQuOS04MC41IDQuNSA3MS44Yy45IDE0LjMgMjIuMSAxNC41IDIzLjIgLjJsNC42LTU4LjYgNC45IDY0LjRjMS4xIDE0LjMgMjIgMTQuMiAyMy4xIC4xbDYuOC04MyAyLjcgMjIuM2MxLjQgMTEuOCAxNy43IDE0LjEgMjIuMyAzLjFsMTgtNDMuNCA1MC41IDAgMC0yMy4yLTU4LjQgLjN6bS03OCA1LjJsLTIxLjkgMCAwIDIxLjljMCA0LjEtMy4zIDcuNS03LjUgNy41LTQuMSAwLTcuNS0zLjMtNy41LTcuNWwwLTIxLjktMjEuOSAwYy00LjEgMC03LjUtMy4zLTcuNS03LjUgMC00LjEgMy40LTcuNSA3LjUtNy41bDIxLjkgMCAwLTIxLjljMC00LjEgMy40LTcuNSA3LjUtNy41czcuNSAzLjMgNy41IDcuNWwwIDIxLjkgMjEuOSAwYzQuMSAwIDcuNSAzLjMgNy41IDcuNSAwIDQuMS0zLjQgNy41LTcuNSA3LjV6Il19LGRTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZWRoYXQiLGljb246WzUxMiw1MTIsW10sImY3YmMiLCJNMzQxLjUgMjg1LjZjMzMuNyAwIDgyLjMtNi45IDgyLjMtNDcgLjItNi43IC45LTEuOC0yMC45LTk2LjItNC42LTE5LjEtOC43LTI3LjgtNDIuMy00NC42LTI2LjEtMTMuMy04Mi45LTM1LjQtOTkuNy0zNS40LTE1LjcgMC0yMC4yIDIwLjItMzguOSAyMC4yLTE4IDAtMzEuMy0xNS4xLTQ4LjEtMTUuMS0xNi4xIDAtMjYuNyAxMS0zNC44IDMzLjYtMjcuNSA3Ny42LTI2LjMgNzQuMy0yNi4xIDc4LjMgMCAyNC44IDk3LjYgMTA2LjEgMjI4LjUgMTA2LjF6TTQyOSAyNTQuOGM0LjcgMjIgNC43IDI0LjMgNC43IDI3LjIgMCAzNy43LTQyLjMgNTguNi05OCA1OC42LTEyNS43IC4xLTIzNS45LTczLjYtMjM1LjktMTIyLjMgMC02LjggMS40LTEzLjUgNC4xLTE5LjctNDUuMiAyLjMtMTAzLjggMTAuMy0xMDMuOCA2MiAwIDg0LjcgMjAwLjYgMTg5IDM1OS41IDE4OSAxMjEuOCAwIDE1Mi41LTU1LjEgMTUyLjUtOTguNiAwLTM0LjItMjkuNi03My04Mi45LTk2LjJ6Il19LGFwZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtcGllZC1waXBlciIsaWNvbjpbNDQ4LDUxMixbInBpZWQtcGlwZXItc3F1YXJlIl0sImUwMWUiLCJNMzIuMSA0MTlsLTMyIDYwLjIgLjgtMzI4Qy45IDg1LjMgNTQuMSAzMiAxMjAuMSAzMmwzMjcuMiAwQzM1NC4zIDYwLjkgMjU3LjQgMTI2LjIgMTkzLjQgMjAwLjYgMTIyLjggMjgyIDgyLjcgMzM4IDMyLjEgNDE5em00MTYtMzg3UzMwNS4zIDk4LjggMjYxLjcgMTk5LjFjLTIzLjIgNTMuNi0yOC45IDExOC4xLTcxIDE1OC42LTI4LjkgMjcuOC02OS44IDM4LjItMTA1LjMgNTYuMy0yMy4yIDEyLTY2LjQgNDAuNS04NC45IDY2bDMyOC40IDBjNjYgMCAxMTkuMy01My4zIDExOS4zLTExOS4yLS4xIDAtLjEtMzI4LjgtLjEtMzI4Ljh6Il19LHVTdD1hcGUscFN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndoYXRzYXBwIixpY29uOls0NDgsNTEyLFtdLCJmMjMyIiwiTTM4MC45IDk3LjFjLTQxLjktNDItOTcuNy02NS4xLTE1Ny02NS4xLTEyMi40IDAtMjIyIDk5LjYtMjIyIDIyMiAwIDM5LjEgMTAuMiA3Ny4zIDI5LjYgMTExTDAgNDgwIDExNy43IDQ0OS4xYzMyLjQgMTcuNyA2OC45IDI3IDEwNi4xIDI3bC4xIDBjMTIyLjMgMCAyMjQuMS05OS42IDIyNC4xLTIyMiAwLTU5LjMtMjUuMi0xMTUtNjcuMS0xNTd6bS0xNTcgMzQxLjZjLTMzLjIgMC02NS43LTguOS05NC0yNS43bC02LjctNC02OS44IDE4LjMgMTguNi02OC4xLTQuNC03Yy0xOC41LTI5LjQtMjguMi02My4zLTI4LjItOTguMiAwLTEwMS43IDgyLjgtMTg0LjUgMTg0LjYtMTg0LjUgNDkuMyAwIDk1LjYgMTkuMiAxMzAuNCA1NC4xczU2LjIgODEuMiA1Ni4xIDEzMC41YzAgMTAxLjgtODQuOSAxODQuNi0xODYuNiAxODQuNnpNMzI1LjEgMzAwLjVjLTUuNS0yLjgtMzIuOC0xNi4yLTM3LjktMTgtNS4xLTEuOS04LjgtMi44LTEyLjUgMi44cy0xNC4zIDE4LTE3LjYgMjEuOGMtMy4yIDMuNy02LjUgNC4yLTEyIDEuNC0zMi42LTE2LjMtNTQtMjkuMS03NS41LTY2LTUuNy05LjggNS43LTkuMSAxNi4zLTMwLjMgMS44LTMuNyAuOS02LjktLjUtOS43cy0xMi41LTMwLjEtMTcuMS00MS4yYy00LjUtMTAuOC05LjEtOS4zLTEyLjUtOS41LTMuMi0uMi02LjktLjItMTAuNi0uMnMtOS43IDEuNC0xNC44IDYuOWMtNS4xIDUuNi0xOS40IDE5LTE5LjQgNDYuM3MxOS45IDUzLjcgMjIuNiA1Ny40YzIuOCAzLjcgMzkuMSA1OS43IDk0LjggODMuOCAzNS4yIDE1LjIgNDkgMTYuNSA2Ni42IDEzLjkgMTAuNy0xLjYgMzIuOC0xMy40IDM3LjQtMjYuNHM0LjYtMjQuMSAzLjItMjYuNGMtMS4zLTIuNS01LTMuOS0xMC41LTYuNnoiXX0sZlN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImltZGIiLGljb246WzQ0OCw1MTIsW10sImYyZDgiLCJNODkuNSAzMjMuNmwtMzUuNiAwIDAtMTM3LjQgMzUuNiAwIDAgMTM3LjR6bTY2LjYtNzMuMWw5LjEtNjQuMyA0Ni4zIDAgMCAxMzcuNC0zMSAwIDAtOTIuNy0xMy40IDkyLjctMjEuMyAwLTEzLTkwLjctLjEgOTAuNy0zMS4yIDAgMC0xMzcuNCA0Ni4xIDBjLjUgOC4zIDIuOCAxOC4xIDQuMyAyOS40bDQuMiAzNC45em02Ny42IDczLjFsMC0xMzcuNCAyNi42IDBjMTcgMCAyNyAuOSAzMyAyLjQgNi4xIDEuNyAxMC43IDQuMiAxMy45IDcuOSAzLjEgMy4zIDUuMSA2LjYgNS44IDEyIC45IDQuNCAxLjQgMTMuMSAxLjQgMjYuMmwwIDQ4LjJjMCAxMi4zLS43IDIwLjUtMS45IDI0LjctMS4xIDQuMS0zLjEgNy40LTYgOS43LTIuOCAyLjQtNi40IDQuMS0xMC43IDUtNC4yIC44LTEwLjYgMS4zLTE5LjEgMS4zbC00MyAwem0zNS41LTExMy45bDAgODkuNGM1LjEgMCA4LjMtMSA5LjQtMi4zIDEuMS0yIDEuOC03LjYgMS44LTE2LjdsMC01My4zYzAtNi4yLS4xLTEwLjItLjctMTItLjMtMS44LTEuMi0zLTIuNi00LjctMS40IDAtNC4xLS40LTcuOS0uNHptNTcuMyAxMTMuOWwwLTEzNy40IDM0LjEgMCAwIDQzLjljMi45LTIuNCA2LjEtNC45IDkuNS02LjYgMy42LTEuNSA4LjgtMi40IDEyLjgtMi40IDQuOCAwIDguOSAuOCAxMi4zIDIuMiAzLjQgMS41IDYgMy41IDggNi4yIDEuNyAyLjYgMi43IDUuMyAzLjEgNy44IC40IDIuNi0uMiA4LS4yIDE2LjJsMCAzOC42YzAgOC4yIC4yIDE0LjMtLjggMTguNC0xLjEgNC0zLjggNy42LTcuOCA5LjYtNC4xIDMuOS04LjkgNS4zLTE0LjYgNS4zLTQgMC05LjItLjktMTIuNy0yLjUtMy41LTEuOC02LjctNC41LTkuNi04bC0yLjEgOC43LTMyIDB6bTQ1LjEtMjAuN2MuNy0xLjggMS02IDEtMTIuNWwwLTM1LjRjMC01LjYtLjMtOS41LTEuMS0xMS4yLS43LTEuOS0zLjctMi43LTUuOC0yLjctMiAwLTMuNCAuOC00LjEgMi4zLS42IDEuNS0xIDUuNC0xIDExLjZsMCAzNi40YzAgNi4xIC40IDEwIDEuMiAxMS42IC42IDEuNyAyLjEgMi41IDQuMSAyLjUgMi4yIDAgNC4yLS44IDUuNy0yLjZ6TTQxOC40IDMyYzE1LjcgMS4yIDI4LjcgMTUuMiAyOC43IDMxLjlsMCAzODQuMmMwIDE2LjQtMTEuOSAzMC40LTI4LjIgMzEtLjMgMC0uNSAuOS0uOCAuOUwyOS45IDQ4MGMtLjMgMC0uNi0uOS0uOC0uMS0xNS43LTEuNC0yNy45LTEzLjgtMjktMzAuMkwwIDYxLjhDMS4xIDQ1LjkgMTMuOCAzMy4xIDMwLjMgMzEuMWwzODcuNCAwYy4yIDAgLjUgLjkgLjcgLjl6TTMwLjMgNDEuM0MxOSA0MiAxMCA1MSA5LjMgNjIuNGwwIDM4Ny4zYy40IDUuNCAyLjcgMTAuNSA2LjQgMTQuMyAzLjggMy45IDguOCA2LjMgMTQuMiA2LjdsMzg4LjIgMGMxMS41LTEgMjAuNi0xMS42IDIwLjYtMjIuNmwwLTM4NC4yYzAtNS43LTIuMS0xMS4zLTYtMTUuNXMtOS4zLTYuOC0xNS03LjJsLTM4Ny40IDB6Il19LGhTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJweXRob24iLGljb246WzQ0OCw1MTIsW10sImYzZTIiLCJNNDM5LjggMjAwLjVjLTcuNy0zMC45LTIyLjMtNTQuMi01My40LTU0LjJsLTQwLjEgMCAwIDQ3LjRjMCAzNi44LTMxLjIgNjcuOC02Ni44IDY3LjhsLTEwNi44IDBjLTI5LjIgMC01My40IDI1LTUzLjQgNTQuM2wwIDEwMS44YzAgMjkgMjUuMiA0NiA1My40IDU0LjMgMzMuOCA5LjkgNjYuMyAxMS43IDEwNi44IDAgMjYuOS03LjggNTMuNC0yMy41IDUzLjQtNTQuM2wwLTQwLjctMTA2LjcgMCAwLTEzLjYgMTYwLjIgMGMzMS4xIDAgNDIuNi0yMS43IDUzLjQtNTQuMiAxMS4yLTMzLjUgMTAuNy02NS43IDAtMTA4LjZ6TTI4Ni4yIDQ0NC43YTIwLjQgMjAuNCAwIDEgMSAwLTQwLjcgMjAuNCAyMC40IDAgMSAxIDAgNDAuN3pNMTY3LjggMjQ4LjFsMTA2LjggMGMyOS43IDAgNTMuNC0yNC41IDUzLjQtNTQuM2wwLTEwMS45YzAtMjktMjQuNC01MC43LTUzLjQtNTUuNi0zNS44LTUuOS03NC43LTUuNi0xMDYuOCAuMS00NS4yIDgtNTMuNCAyNC43LTUzLjQgNTUuNmwwIDQwLjcgMTA2LjkgMCAwIDEzLjYtMTQ3IDBjLTMxLjEgMC01OC4zIDE4LjctNjYuOCA1NC4yLTkuOCA0MC43LTEwLjIgNjYuMSAwIDEwOC42IDcuNiAzMS42IDI1LjcgNTQuMiA1Ni44IDU0LjJsMzYuNyAwIDAtNDguOGMwLTM1LjMgMzAuNS02Ni40IDY2LjgtNjYuNHpNMTYxLjIgNjQuN2EyMC40IDIwLjQgMCAxIDEgMCA0MC44IDIwLjQgMjAuNCAwIDEgMSAwLTQwLjh6Il19LG1TdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYXNoLWFwcCIsaWNvbjpbNDQ4LDUxMixbXSwiZTdkNCIsIk00NDAuMyA5Ni45Yy05LjQtMjYuNS0zMC4zLTQ3LjQtNTYuOC01Ny0yNC4xLTcuOS00Ni4zLTcuOS05MS42LTcuOUwxNTYgMzJjLTQ0LjggMC02Ny4yIDAtOTEuMyA3LjUtMjYuNSA5LjYtNDcuNCAzMC41LTU3IDU3LTcuNyAyNC4zLTcuNyA0Ni43LTcuNyA5MS43TDAgMzIzLjhjMCA0NS4yIDAgNjcuNCA3LjUgOTEuNSA5LjYgMjYuNSAzMC41IDQ3LjQgNTcgNTcgMjQuMyA3LjcgNDYuNyA3LjcgOTEuNiA3LjdsMTM1LjcgMGM0NSAwIDY3LjQgMCA5MS42LTcuNyAyNi41LTkuNiA0Ny40LTMwLjUgNTctNTcgNy43LTI0LjMgNy43LTQ2LjcgNy43LTkxLjVsMC0xMzUuNWMwLTQ1IDAtNjcuNC03LjctOTEuNXpNMzIzLjEgMTg1LjRsLTI1LjggMjEuMWMtMi4zIDEuOS01LjUgMS41LTcuMy0uOS0xMy4yLTE2LjItMzMuNy0yNS40LTU2LjEtMjUuNC0yNSAwLTQwLjYgMTAuOS00MC42IDI2LjItLjQgMTIuOCAxMS43IDE5LjYgNDkuMSAyNy43IDQ3LjIgMTAgNjguNyAyOS43IDY4LjcgNjIuNyAwIDQxLjQtMzMuNyA3MS45LTg2LjQgNzUuM2wtNS4xIDI0LjVjLS40IDIuMy0yLjYgNC4xLTUuMSA0LjFsLTQwLjYgMGMtMy40IDAtNS44LTMuMi01LjEtNi40bDYuNC0yNy4zYy0yNi03LjUtNDcuMi0yMi01OS4zLTM5LjctMS41LTIuMy0xLjEtNS4zIDEuMS03bDI4LjItMjJjMi4zLTEuOSA1LjgtMS4zIDcuNSAxLjEgMTQuOSAyMC45IDM4IDMzLjMgNjUuNyAzMy4zIDI1IDAgNDMuOC0xMi4yIDQzLjgtMjkuNyAwLTEzLjQtOS40LTE5LjYtNDEuMi0yNi4yLTU0LjItMTEuNy03NS44LTMxLjgtNzUuOC02NC45IDAtMzguNCAzMi4yLTY3LjIgODAuOS03MWw1LjMtMjUuNGMuNC0yLjMgMi42LTQuMSA1LjEtNC4xbDM5LjkgMGMzLjIgMCA1LjggMyA1LjEgNi4ybC02LjIgMjguNGMyMC45IDYuNCAzOCAxNy45IDQ4LjcgMzIuMiAxLjcgMi4xIDEuMyA1LjMtLjkgN3oiXX0sZ1N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBpbnRlcmVzdC1wIixpY29uOlszODQsNTEyLFtdLCJmMjMxIiwiTTIwNCA2LjVjLTEwMi42IDAtMjA0IDY4LjQtMjA0IDE3OS4xIDAgNzAuNCAzOS42IDExMC40IDYzLjYgMTEwLjQgOS45IDAgMTUuNi0yNy42IDE1LjYtMzUuNCAwLTkuMy0yMy43LTI5LjEtMjMuNy02Ny44IDAtODAuNCA2MS4yLTEzNy40IDE0MC40LTEzNy40IDY4LjEgMCAxMTguNSAzOC43IDExOC41IDEwOS44IDAgNTMuMS0yMS4zIDE1Mi43LTkwLjMgMTUyLjctMjQuOSAwLTQ2LjItMTgtNDYuMi00My44IDAtMzcuOCAyNi40LTc0LjQgMjYuNC0xMTMuNCAwLTY2LjItOTMuOS01NC4yLTkzLjkgMjUuOCAwIDE2LjggMi4xIDM1LjQgOS42IDUwLjctMTMuOCA1OS40LTQyIDE0Ny45LTQyIDIwOS4xIDAgMTguOSAyLjcgMzcuNSA0LjUgNTYuNCAzLjQgMy44IDEuNyAzLjQgNi45IDEuNSA1MC40LTY5IDQ4LjYtODIuNSA3MS40LTE3Mi44IDEyLjMgMjMuNCA0NC4xIDM2IDY5LjMgMzYgMTA2LjIgMCAxNTMuOS0xMDMuNSAxNTMuOS0xOTYuOCAwLTk5LjMtODUuOC0xNjQuMS0xODAtMTY0LjF6Il19LGJTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3aG1jcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjQwZCIsIk00NDggMTYxbDAtMjEuMy0yOC41LTguOC0yLjItMTAuNCAyMC4xLTIwLjctMTAuNC0xOS40LTI5IDcuNS03LjItNy41IDcuNS0yOC4yLTE5LjEtMTEuNi0yMS4zIDIxLTEwLjctMy4yLTctMjYuNC0yMi42IDAtNi4yIDI2LjQtMTIuMSAzLjItMTkuNy0yMS0xOS40IDExIDguMSAyNy43LTguMSA4LjQtMjguNS03LjUtMTEgMTkuMSAyMC43IDIxLTIuOSAxMC40LTI4LjUgNy44LS4zIDIxLjcgMjguOCA3LjUgMi40IDEyLjEtMjAuMSAxOS45IDEwLjQgMTguNSAyOS42LTcuNSA3LjIgOC42LTguMSAyNi45IDE5LjkgMTEuNiAxOS40LTIwLjQgMTEuNiAyLjkgNi43IDI4LjUgMjIuNiAuMyA2LjctMjguOCAxMS42LTMuNSAyMC43IDIxLjYgMjAuNC0xMi4xLTguOC0yOCA3LjgtOC4xIDI4LjggOC44IDEwLjMtMjAuMS0yMC45LTE4LjggMi4yLTEyLjEgMjkuMS03ek0zMjguOCA5Mi42YTU2LjggNTYuOCAwIDEgMSAwIDExMy42IDU2LjggNTYuOCAwIDEgMSAwLTExMy42em03Mi4zIDEzMGw0Ni45IDE0LjUgMCAzOS45LTU1LjEgMTMuNC00LjEgMjIuNyAzOC45IDM1LjMtMTkuMiAzNy45LTU0LTE2LjctMTQuNiAxNS4yIDE2LjcgNTIuNS0zOC4zIDIyLjctMzguOS00MC41LTIxLjcgNi42LTEyLjYgNTQtNDIuNC0uNS0xMi42LTUzLjYtMjEuNy01LjYtMzYuNCAzOC40LTM3LjQtMjEuNyAxNS4yLTUwLjUtMTMuNy0xNi4xLTU1LjUgMTQuMS0xOS43LTM0LjggMzcuOS0zNy40LTQuOC0yMi44LTU0LTE0LjEgLjUtNDAuOSA1My41LTE0LjcgNS43LTE5LjctMzguOS0zOS40IDIwLjctMzUuOCA1My42IDE0LjEgMTUuMi0xNS43LTE1LjItNTIgMzYuNC0yMC43IDM2LjggMzkuNCAyMi43LTYuMSAxMS42LTUyIDQyLjQgMCAxMS42IDQ1LjktMjIuNi01LjktNi4zLTEuNy0zLjMgNS43LTExIDE5LjEtMy4zIDUuNiA0LjYgNC42IDE3LjIgMTcuNC0uMyAxLTIzLjggNi41LTYuMiAxLjdjMCAzLjItLjEgOS42LS4zIDE5LjMtNDcuNSAxMC40LTgzLjMgNTIuOC04My4zIDEwMy41IDAgNTguMyA0Ny4zIDEwNS43IDEwNS43IDEwNS43IDUwLjUgMCA5Mi43LTM1LjQgMTAzLjItODIuOCA5LjkgLjEgMTYuNiAuMiAyMC4xIC4zbDEuNi02LjcgNS42LTI0IDEuOS0uNiAxNy4xIDE3LjggNC43IDQuOSA1LjgtMy40IDIwLjQtMTIuMSA1LjgtMy41LTItNi41LTYuOC0yMS4yeiJdfSx2U3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiam9nZXQiLGljb246WzUxMiw1MTIsW10sImYzYjciLCJNMzg2LjEgNDVDMzQ1LjYgMTkuOSAzMDAuNiA4IDI1Ni4yIDggMTczIDggOTEuOCA0OS45IDQ0LjkgMTI1LjktMjcgMjQyLjUgOS4zIDM5NS4yIDEyNS45IDQ2Ny4xczI2OS4zIDM1LjYgMzQxLjItODAuOUM1MzkgMjY5LjYgNTAyLjcgMTE2LjggMzg2LjEgNDV6bTUxLjggMzIzLjJjLTQwLjQgNjUuNS0xMTAuNCAxMDEuNS0xODIgMTAxLjUtNi44IDAtMTMuNi0uNC0yMC40LTEtOS0xMy42LTE5LjktMzMuMy0yMy43LTQyLjQtNS43LTEzLjctMjcuMi00NS42IDMxLjItNjcuMSA1MS43LTE5LjEgMTc2LjctMTYuNSAyMDguOC0xNy42LTQgOS04LjYgMTcuOS0xMy45IDI2LjZ6TTIzNy4xIDI4MS45Yy01NS41LTEuNC04MS43LTIwLjgtNTguNS00OC4yczUxLjEtNDAuNyA2OC45LTUxLjJjMTcuOS0xMC41IDI3LjMtMzMuNy0yMy42LTI5LjctMTI4LjYgOC43LTE2Ny4zIDk5LjMtMTc4LjMgMTQwLjItOC44LTQ5LjctLjEtMTAyLjcgMjguNS0xNDkuMSA2MS45LTEwMC41IDE5My41LTEzMS43IDI5NC02OS44IDc0LjggNDYuMSAxMTEuMiAxMzAuOSA5OS4zIDIxMi43LTI0LjktLjUtMTc5LjMtMy42LTIzMC4zLTQuOXptMTgzLjgtNTQuOGMtMjIuNy02LTU3IDExLjMtODYuNyAyNy4yLTI5LjcgMTUuOC0zMS4xIDguMi0zMS4xIDguMnM0MC4yLTI4LjEgNTAuNy0zNC41IDMxLjktMTQgMTMuNC0yNC42Yy0zLjItMS44LTYuNy0yLjctMTAuNC0yLjctMTcuOCAwLTQxLjUgMTguNy02Ny41IDM1LjYtMzEuNSAyMC41LTY1LjMgMzEuMy02NS4zIDMxLjNMMzkzLjUgMjY2IDQ0MCAyNDIuNnMzLjYtOS41LTE5LjEtMTUuNXoiXX0scnBlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS15b3V0dWJlIixpY29uOls0NDgsNTEyLFs2MTc5OCwieW91dHViZS1zcXVhcmUiXSwiZjQzMSIsIk0yODIgMjU2LjJsLTk1LjItNTQuMSAwIDEwOC4yIDk1LjItNTQuMXpNMzg0IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjR6bTE0LjQgMTM2LjFjNy42IDI4LjYgNy42IDg4LjIgNy42IDg4LjJzMCA1OS42LTcuNiA4OC4xYy00LjIgMTUuOC0xNi41IDI3LjctMzIuMiAzMS45LTI4LjMgNy43LTE0Mi4yIDcuNy0xNDIuMiA3LjdzLTExMy45IDAtMTQyLjItNy42Yy0xNS43LTQuMi0yOC0xNi4xLTMyLjItMzEuOS03LjYtMjguNi03LjYtODguMi03LjYtODguMnMwLTU5LjcgNy42LTg4LjJjNC4yLTE1LjggMTYuNS0yOC4yIDMyLjItMzIuNCAyOC4zLTcuNyAxNDIuMi03LjcgMTQyLjItNy43czExMy45IDAgMTQyLjIgNy43YzE1LjcgNC4yIDI4IDE2LjYgMzIuMiAzMi40eiJdfSx4U3Q9cnBlLHlTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhdGxhc3NpYW4iLGljb246WzUxMiw1MTIsW10sImY3N2IiLCJNMTUyLjIgMjM2LjRjLTcuNy04LjItMTkuNy03LjctMjQuOCAyLjhMMS42IDQ5MC4yYy01IDEwIDIuNCAyMS43IDEzLjQgMjEuN2wxNzUgMGM1LjggLjEgMTEtMy4yIDEzLjQtOC40IDM3LjktNzcuOCAxNS4xLTE5Ni4zLTUxLjItMjY3LjF6TTI0NC40IDguMWMtMTIyLjMgMTkzLjQtOC41IDM0OC42IDY1IDQ5NS41IDIuNSA1LjEgNy43IDguNCAxMy40IDguNEw0OTcgNTEyYzExLjIgMCAxOC40LTExLjggMTMuNC0yMS43IDAgMC0yMzQuNS00NzAuNi0yNDAuNC00ODIuMy01LjMtMTAuNi0xOC44LTEwLjgtMjUuNiAuMXoiXX0sd1N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBpZWQtcGlwZXItaGF0IixpY29uOls2NDAsNTEyLFtdLCJmNGU1IiwiTTY0MCAyNC45Yy04MC44IDUzLjYtODkuNCA5Mi41LTk2LjQgMTA0LjQtNi43IDEyLjItMTEuNyA2MC4zLTIzLjMgODMuNi0xMS43IDIzLjYtNTQuMiA0Mi4yLTY2LjEgNTAtMTEuNyA3LjgtMjguMyAzOC4xLTQxLjkgNjQuMi0xMDguMS00LjQtMTY3LjQgMzguOC0yNTkuMiA5My42IDI5LjQtOS43IDQzLjMtMTYuNyA0My4zLTE2LjcgOTQuMi0zNiAxMzkuMy02OC4zIDI4MS4xLTQ5LjIgMS4xIDAgMS45IC42IDIuOCAuOCAzLjkgMi4yIDUuMyA2LjkgMy4xIDEwLjhsLTUzLjkgOTUuOGMtMi41IDQuNy03LjggNy4yLTEzLjEgNi4xLTEyNi44LTIzLjgtMjI2LjkgMTcuMy0zMTguOSAxOC42LTczLjQgMS4xLTk3LjUtMzMuNS05Ny41LTM1LjEgMC0xLjEgLjYtMS43IDEuNy0xLjcgMCAwIDM4LjMgMCAxMDMuMS0xNS4zIDczLjYtMTQwLjMgMTM5LjItMTg5LjQgMjEwLjYtMTg5LjQgMCAwIDcxLjcgMCA5MC42IDYxLjkgMjIuOC0zOS43IDI4LjMtNDkuMiAyOC4zLTQ5LjIgNS4zLTkuNCAzNS03Ny4yIDg2LjQtMTQxLjQgNTEuNS02NCA5MC40LTc5LjkgMTE5LjMtOTEuOHoiXX0sTVN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImludGVybmV0LWV4cGxvcmVyIixpY29uOls1MTIsNTEyLFtdLCJmMjZiIiwiTTQ4My4xIDE1OS43YzEwLjktMjQuNiAyMS40LTYwLjQgMjEuNC04Ny45IDAtNzIuNy03OS42LTk4LjQtMjA5LjctMzguNi0xMDcuNi03LjItMjExLjIgNzMuNy0yMzcuMSAxODYuNSAzMC45LTM0LjkgNzguMy04Mi4zIDEyMi0xMDEuMi01NC4zIDQ4LjMtMTAwLjYgMTA5LjQtMTM1LjcgMTczLjItMjAuNyAzNy45LTQ0IDk5LjItNDQgMTQ1IDAgOTguNiA5Mi45IDg2LjUgMTgwLjMgNDIgMzEuNCAxNS40IDY2LjYgMTUuNiAxMDEuNyAxNS42IDk3LjEgMCAxODQuMi01NC4zIDIxNi44LTE0NmwtMTIwLjggMGMtNTIuNSA4OC42LTE5Ni44IDUzLTE5Ni44LTQ3LjRsMzI4LjggMGM2LjQtNDMuNi0xLjctOTUuNy0yNi45LTE0MS4yek02NC42IDM0Ni45QzgyLjMgMzk4IDExOC4zIDQ0Mi43IDE2NC44IDQ3MC4yIDc2LjEgNTE5LjEtOC40IDQ5OS4zIDY0LjYgMzQ2Ljl6TTE4MC41IDIzOGMyLTU1LjIgNTAuMy05NC45IDEwNC05NC45IDUzLjQgMCAxMDIgMzkuNyAxMDQgOTQuOWwtMjA4IDB6TTM2NS4xIDUwLjRjMjEuNC0xMC4zIDQ4LjYtMjIgNzIuNi0yMiAzMS40IDAgNTQuMyAyMS43IDU0LjMgNTMuNyAwIDIwLTcuNCA0OS0xNC42IDY3LjktMjYuMy00Mi4zLTY2LTgxLjYtMTEyLjMtOTkuNnoiXX0sa1N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFpcmJuYiIsaWNvbjpbNDQ4LDUxMixbXSwiZjgzNCIsIk0yMjQuNSAzNzMuMWMtMjUuMi0zMS43LTQwLjEtNTkuNC00NS04My4yLTIyLjUtODggMTEyLjYtODggOTAuMSAwLTUuNCAyNC4yLTIwLjMgNTItNDUgODMuMmwtLjEgMHptMTM4LjIgNzMuMmMtNDIuMSAxOC4zLTgzLjctMTAuOS0xMTkuMy01MC41IDEwMy45LTEzMC4xIDQ2LjEtMjAwLTE4LjgtMjAwLTU0LjkgMC04NS4yIDQ2LjUtNzMuMyAxMDAuNSA2LjkgMjkuMiAyNS4yIDYyLjQgNTQuNCA5OS41LTMyLjUgMzYtNjAuNSA1Mi43LTg1LjIgNTQuOS01MCA3LjQtODkuMS00MS4xLTcxLjMtOTEuMSAxNS4xLTM5LjIgMTExLjctMjMxLjIgMTE1LjktMjQxLjYgMTUuOC0zMC4xIDI1LjYtNTcuNCA1OS40LTU3LjQgMzIuMyAwIDQzLjQgMjUuOSA2MC40IDU5LjkgMzYgNzAuNiA4OS40IDE3Ny41IDExNC44IDIzOS4xIDEzLjIgMzMuMS0xLjQgNzEuMy0zNyA4Ni42em00Ny0xMzYuMWMtMTI4LjktMjc0LjMtMTM2LTI3OC4yLTE4NS4xLTI3OC4yLTQ1LjUgMC02NC45IDMxLjctODQuNyA3Mi44LTEwNi4yIDIxMi4zLTExNi40IDI0Mi40LTExNy4zIDI0NS0yNS4yIDY5LjMgMjYuNyAxMzAuMiA4OS42IDEzMC4yIDIxLjcgMCA2MC42LTYuMSAxMTIuNC02Mi40IDU4LjcgNjMuOCAxMDEuMyA2Mi40IDExMi40IDYyLjQgNjIuOSAuMSAxMTQuOS02MC45IDg5LjYtMTMwLjIgMC0zLjktMTYuOC0zOC45LTE2LjgtMzkuNmwwIDB6Il19LFNTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJqcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjNiOCIsIk0wIDMybDAgNDQ4IDQ0OCAwIDAtNDQ4LTQ0OCAwek0yNDMuOCAzODEuNGMwIDQzLjYtMjUuNiA2My41LTYyLjkgNjMuNS0zMy43IDAtNTMuMi0xNy40LTYzLjItMzguNUwxNTIgMzg1LjdjNi42IDExLjcgMTIuNiAyMS42IDI3LjEgMjEuNiAxMy44IDAgMjIuNi01LjQgMjIuNi0yNi41bDAtMTQzLjEgNDIuMSAwIDAgMTQzLjd6bTk5LjYgNjMuNWMtMzkuMSAwLTY0LjQtMTguNi03Ni43LTQzTDMwMSAzODIuMWM5IDE0LjcgMjAuOCAyNS42IDQxLjUgMjUuNiAxNy40IDAgMjguNi04LjcgMjguNi0yMC44IDAtMTQuNC0xMS40LTE5LjUtMzAuNy0yOGwtMTAuNS00LjVjLTMwLjQtMTIuOS01MC41LTI5LjItNTAuNS02My41IDAtMzEuNiAyNC4xLTU1LjYgNjEuNi01NS42IDI2LjggMCA0NiA5LjMgNTkuOCAzMy43TDM2OCAyOTBjLTcuMi0xMi45LTE1LTE4LTI3LjEtMTgtMTIuMyAwLTIwLjEgNy44LTIwLjEgMTggMCAxMi42IDcuOCAxNy43IDI1LjkgMjUuNmwxMC41IDQuNWMzNS44IDE1LjMgNTUuOSAzMSA1NS45IDY2LjIgMCAzNy44LTI5LjggNTguNi02OS43IDU4LjZ6Il19LHpTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJxdWluc2NhcGUiLGljb246WzUxMiw1MTIsW10sImY0NTkiLCJNMzEzLjcgNDc0LjZsLTEgMGMtNDEuOSAwLTgyLjEtMTYuNy0xMTEuOC00Ni4zcy00Ni4zLTY5LjktNDYuMy0xMTEuOCAxNi43LTgyLjEgNDYuMy0xMTEuOCA2OS45LTQ2LjMgMTExLjgtNDYuM2M5NC45IDAgMTY4LjIgODMuMSAxNTcgMTc2LjYgNCA1LjEgOC4yIDkuNiAxMS4yIDE1LjMgMTMuNC0zMC4zIDIwLjMtNjIuNCAyMC4zLTk3LjcgMC0xMzUuMS0xMDkuNS0yNDQuNi0yNDQuNi0yNDQuNlMxMi4xIDExNy41IDEyLjEgMjUyLjYgMTIxLjYgNDk3LjIgMjU2LjYgNDk3LjJjMjMuOCAuMiA0Ny42LTMuMiA3MC40LTEwLjEtNS4yLTMuNS04LjktOC4xLTEzLjMtMTIuNXptNzguMy0xNjlhOTkuMiA5OS4yIDAgMSAwIDAgMTk4LjQgOTkuMiA5OS4yIDAgMSAwIDAtMTk4LjR6Il19LENTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhZHZlcnNhbCIsaWNvbjpbNTEyLDUxMixbXSwiZjM2YSIsIk00ODIuMSAzMkwyOC43IDMyQzUuOCAzMiAwIDM3LjkgMCA2MC45TDAgNDUxLjFDMCA0NzQuNCA1LjggNDgwIDI4LjcgNDgwbDQ1My40IDBjMjQuNCAwIDI5LjktNS4yIDI5LjktMjkuN2wwLTM4OC4xYzAtMjQuNi01LjQtMzAuMi0yOS45LTMwLjJ6TTE3OC40IDIyMC4zYy0yNy41LTIwLjItNzIuMS04LjctODQuMiAyMy40LTQuMyAxMS4xLTkuMyA5LjUtMTcuNSA4LjMtOS43LTEuNS0xNy4yLTMuMi0yMi41LTUuNS0yOC44LTExLjQgOC42LTU1LjMgMjQuOS02NC4zIDQxLjEtMjEuNCA4My40LTIyLjIgMTI1LjMtNC44IDQwLjkgMTYuOCAzNC41IDU5LjIgMzQuNSAxMjguNSAyLjcgMjUuOC00LjMgNTguMyA5LjMgODguOCAxLjkgNC40IC40IDcuOS0yLjcgMTAuNy04LjQgNi43LTM5LjMgMi4yLTQ2LjYtNy40LTEuOS0yLjItMS44LTMuNi0zLjktNi4yLTMuNi0zLjktNy4zLTIuMi0xMS45IDEtNTcuNCAzNi40LTE0MC4zIDIxLjQtMTQ3LTQzLjMtMy4xLTI5LjMgMTIuNC01Ny4xIDM5LjYtNzEgMzguMi0xOS41IDExMi4yLTExLjggMTE0LTMwLjkgMS4xLTEwLjItMS45LTIwLjEtMTEuMy0yNy4zem0yODYuNyAyMjJjMCAxNS4xLTExLjEgOS45LTE3LjggOS45bC0zOTQuOSAwYy03LjQgMC0xOC4yIDQuOC0xNy44LTEwLjcgLjQtMTMuOSAxMC41LTkuMSAxNy4xLTkuMSAxMzIuMy0uNCAyNjQuNS0uNCAzOTYuOCAwIDYuOCAwIDE2LjYtNC40IDE2LjYgOS45em0zLjgtMzQwLjVsMCAyOTFjMCA1LjctLjcgMTMuOS04LjEgMTMuOS0xMi40LS40LTI3LjUgNy4xLTM2LjEtNS42LTUuOC04LjctNy44LTQtMTIuNC0xLjItNTMuNCAyOS43LTEyOC4xIDcuMS0xNDQuNC04NS4yLTYuMS0zMy40LS43LTY3LjEgMTUuNy0xMDAgMTEuOC0yMy45IDU2LjktNzYuMSAxMzYuMS0zMC41bDAtNzFjMC0yNi4yLS4xLTI2LjIgMjYtMjYuMiAzLjEgMCA2LjYgLjQgOS43IDAgMTAuMS0uOCAxMy42IDQuNCAxMy42IDE0LjMtLjEgLjItLjEgLjMtLjEgLjV6TTQxNy40IDMzNC4xYy0xOS41IDQ3LjYtNzIuOSA0My4zLTkwIDUuMi0xNS4xLTMzLjMtMTUuNS02OC4yIC40LTEwMS41IDE2LjMtMzQuMSA1OS43LTM1LjcgODEuNS00LjggMjAuNiAyOC44IDE0LjkgODQuNiA4LjEgMTAxLjF6TTEyMi42IDM2OS40Yy03LjUtMS4zLTMzLTMuMy0zMy43LTI3LjgtLjQtMTMuOSA3LjgtMjMgMTkuOC0yNS44IDI0LjQtNS45IDQ5LjMtOS45IDczLjctMTQuNyA4LjktMiA3LjQgNC40IDcuOCA5LjUgMS40IDMzLTI2LjEgNTkuMi02Ny42IDU4Ljh6Il19LF9TdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zIixpY29uOls1MTIsNTEyLFtdLCJmMjVlIiwiTTI1My44IDIxNC45bC0zMy4yIDE3LjNjLTkuNC0xOS42LTI1LjItMTkuOS0yNy41LTE5LjktMjIuMSAwLTMzLjIgMTQuNi0zMy4yIDQzLjggMCAyMy42IDkuMiA0My44IDMzLjIgNDMuOCAxNC41IDAgMjQuNi03LjEgMzAuNi0yMS4zbDMwLjYgMTUuNWMtNi4yIDExLjUtMjUuNyAzOS02NS4xIDM5LTIyLjYgMC03NC0xMC4zLTc0LTc3IDAtNTguNyA0My03Ny4xIDcyLjYtNzcuMSAzMC43IDAgNTIuNyAxMS45IDY2IDM1Ljl6bTE0MyAwbC0zMi44IDE3LjNjLTkuNS0xOS44LTI1LjctMTkuOS0yNy45LTE5LjktMjIuMSAwLTMzLjIgMTQuNi0zMy4yIDQzLjggMCAyMy41IDkuMiA0My44IDMzLjIgNDMuOCAxNC40IDAgMjQuNi03LjEgMzAuNS0yMS4zbDMxIDE1LjVjLTIuMSAzLjgtMjEuNCAzOS02NS4xIDM5LTIyLjcgMC03NC05LjktNzQtNzcgMC01OC43IDQzLTc3LjEgNzIuNi03Ny4xIDMwLjcgMCA1Mi42IDExLjkgNjUuNiAzNS45ek0yNTUuNiA4QzExMi43IDggOCAxMjMuMSA4IDI1Ni4xIDggMzk0LjUgMTIxLjYgNTA0LjEgMjU1LjYgNTA0LjEgMzg1LjUgNTA0LjEgNTA0IDQwMy4yIDUwNCAyNTYuMSA1MDQgMTE4LjIgMzk3LjQgOCAyNTUuNiA4em0uOSA0NTAuOGMtMTEyLjUgMC0yMDMuNy05My0yMDMuNy0yMDIuOCAwLTEwNS40IDg1LjQtMjAzLjMgMjAzLjctMjAzLjMgMTEyLjUgMCAyMDIuOCA4OS41IDIwMi44IDIwMy4zIDAgMTIxLjctOTkuNyAyMDIuOC0yMDIuOCAyMDIuOHoiXX0sVFN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im5vdGlvbiIsaWNvbjpbNTEyLDUxMixbXSwiZTdkOSIsIk05NC45IDEwMC4yYzE0LjkgMTIuMSAyMC41IDExLjIgNDguNiA5LjNMNDA3LjggOTMuNmM1LjYgMCAuOS01LjYtLjktNi41TDM2Mi45IDU1LjRjLTguNC02LjUtMTkuNi0xNC00MS4xLTEyLjFMNjUuOSA2MS45Yy05LjMgLjktMTEuMiA1LjYtNy41IDkuM2wzNi40IDI4Ljl6bTE1LjkgNjEuNmwwIDI3OC4xYzAgMTQuOSA3LjUgMjAuNSAyNC4zIDE5LjZsMjkwLjUtMTYuOGMxNi44LS45IDE4LjctMTEuMiAxOC43LTIzLjNsMC0yNzYuMmMwLTEyLjEtNC43LTE4LjctMTUtMTcuN0wxMjUuNyAxNDMuMWMtMTEuMiAuOS0xNC45IDYuNS0xNC45IDE4Ljd6bTI4Ni43IDE0LjljMS45IDguNCAwIDE2LjgtOC40IDE3LjhsLTE0IDIuOCAwIDIwNS4zYy0xMi4yIDYuNS0yMy40IDEwLjMtMzIuNyAxMC4zLTE1IDAtMTguNy00LjctMjkuOS0xOC43bC05MS41LTE0My43IDAgMTM5IDI5IDYuNXMwIDE2LjgtMjMuNCAxNi44bC02NC40IDMuN2MtMS45LTMuNyAwLTEzLjEgNi41LTE0LjlsMTYuOC00LjcgMC0xODMuOC0yMy4zLTEuOWMtMS45LTguNCAyLjgtMjAuNSAxNS45LTIxLjVsNjkuMS00LjcgOTUuMyAxNDUuNiAwLTEyOC44LTI0LjMtMi44Yy0xLjktMTAuMyA1LjYtMTcuNyAxNC45LTE4LjdsNjQuNS0zLjh6TTQ0LjQgMzYuN0wzMTAuNiAxNy4xYzMyLjctMi44IDQxLjEtLjkgNjEuNiAxNGw4NSA1OS43YzE0IDEwLjMgMTguNyAxMy4xIDE4LjcgMjQuM2wwIDMyNy42YzAgMjAuNS03LjUgMzIuNy0zMy42IDM0LjVMMTMzLjIgNDk1LjhjLTE5LjYgLjktMjktMS45LTM5LjItMTQuOUwzMS40IDM5OS43Yy0xMS4yLTE0LjktMTUuOS0yNi4xLTE1LjktMzkuMmwwLTI5MS4yYzAtMTYuOCA3LjUtMzAuOCAyOC45LTMyLjd6Il19LExTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjaHJvbWVjYXN0IixpY29uOls1MTIsNTEyLFtdLCJmODM4IiwiTTQ0OCA2NEw2NC4yIDY0Yy0yMy42IDAtNDIuNyAxOS4xLTQyLjcgNDIuN2wwIDYzLjkgNDIuNyAwIDAtNjMuOSAzODMuOCAwIDAgMjk4LjYtMTQ5LjIgMCAwIDQyLjcgMTQ5LjQgMGMyMy42IDAgNDIuNy0xOS4xIDQyLjctNDIuN2wwLTI5OC42QzQ5MC45IDgzLjEgNDcxLjYgNjQgNDQ4IDY0ek0yMS41IDM4My42bDAgNjMuOSA2My45IDBjMC0zNS4zLTI4LjYtNjMuOS02My45LTYzLjl6bTAtODVsMCA0Mi40YzU4LjkgMCAxMDYuNiA0OC4xIDEwNi42IDEwN2w0Mi43IDBjLjEtODIuNC02Ni45LTE0OS4zLTE0OS4zLTE0OS40ek0yMTMuNiA0NDhsNDIuNyAwQzI1NS44IDMxOC41IDE1MSAyMTMuNyAyMS41IDIxMy40bDAgNDIuNGMxMDYtLjIgMTkyIDg2LjIgMTkyLjEgMTkyLjJ6Il19LCRTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bHRyYWx5dGljcy1odWIiLGljb246WzUxMiw1MTIsW10sImU4NmUiLCJNMTMwLjQgMTZjNjAuOSAwIDExMC40IDQ5LjUgMTEwLjQgMTEwLjRsMCAyNC45YzQuOC0uNyA5LjctMSAxNC42LTEgODguMS0uMiAxNjUuMSA0OSAyMDUuNCAxMjEuMi0yMi44LTE2LjItNTAuNy0yNS40LTgwLjQtMjUuMy03Ny4xIC4yLTEzOS41IDYyLjYtMTM5LjYgMTM5LjQtLjEgNjAuOS00OS41IDExMC4zLTExMC43IDExMC41LTYwLjYgLjItMTEwLjItNDkuNS0xMTAuMi0xMTAuNSAuMi0yLjYgMCAwIC4xLTMuMmwwLTI1NkMyMC4xIDY1LjUgNjkuNSAxNiAxMzAuNCAxNnpNMzgwLjMgNDk2YTExMC40IDExMC40IDAgMSAxIDAtMjIwLjkgMTEwLjQgMTEwLjQgMCAxIDEgMCAyMjAuOXoiXX0sRFN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Indpa2lwZWRpYS13IixpY29uOls2NDAsNTEyLFtdLCJmMjY2IiwiTTY0MCA1MS4ybC0uMyAxMi4yYy0yOC4xIC44LTQ1IDE1LjgtNTUuOCA0MC4zLTI1IDU3LjgtMTAzLjMgMjQwLTE1NS4zIDM1OC42bC0xMy42IDAtODEuOS0xOTMuMWMtMzIuNSA2My42LTY4LjMgMTMwLTk5LjIgMTkzLjEtLjMgLjMtMTUgMC0xNS0uMy00Ni45LTEwOS43LTk2LjEtMjE4LjYtMTQzLjEtMzI4LjYtMTEuNC0yNi43LTQ5LjQtNzAtNzUuNi02OS43IDAtMy4xLS4zLTEwLS4zLTE0LjJsMTYxLjkgMCAwIDEzLjljLTE5LjIgMS4xLTUyLjggMTMuMy00My4zIDM0LjIgMjEuOSA0OS43IDEwMy42IDI0MC4zIDEyNS42IDI4OC42IDE1LTI5LjcgNTcuOC0xMDkuMiA3NS4zLTE0Mi44LTEzLjktMjguMy01OC42LTEzMy45LTcyLjgtMTYwLTkuNy0xNy44LTM2LjEtMTkuNC01NS44LTE5LjdsMC0xMy45IDE0Mi41IC4zIDAgMTMuMWMtMTkuNCAuNi0zOC4xIDcuOC0yOS40IDI2LjEgMTguOSA0MCAzMC42IDY4LjEgNDguMSAxMDQuNyA1LjYtMTAuOCAzNC43LTY5LjQgNDguMS0xMDAuOCA4LjktMjAuNi0zLjktMjguNi0zOC42LTI5LjQgLjMtMy42IDAtMTAuMyAuMy0xMy42IDQ0LjQtLjMgMTExLjEtLjMgMTIzLjEtLjZsMCAxMy42QzQ2Mi40IDY0IDQzOS4xIDc2IDQyNi44IDk0LjlMMzY3LjYgMjE3LjdjNi40IDE2LjEgNjMuMyAxNDIuOCA2OS4yIDE1Ni43TDU1OS4yIDkxLjhjLTguNi0yMy4xLTM2LjQtMjguMS00Ny4yLTI4LjNsMC0xMy45IDEyNy44IDEuMSAuMiAuNXoiXX0sQVN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNpdHJveCIsaWNvbjpbNDQ4LDUxMixbXSwiZTQ0YSIsIk0yMTIuNCAwbDAgMCAyMzUuNiAwIDAgMTI4LTM4NCAwQzY0IDU3LjYgMTQxLjggLjUgMjEyLjQgMHptMjQuOCAxOTJsMCAwYzY5LjkgLjUgMTQ2LjcgNTcuNiAxNDYuNyAxMjhsLTE3My4yIDAgMCAwQzE0MC45IDMxOS42IDY0IDI2Mi40IDY0IDE5MmwxNzMuMyAwem0tMS43IDMyMGM3MC43LS41IDE0OC40LTU3LjYgMTQ4LjQtMTI4bC0zODQgMCAwIDEyOCAyMzUuNiAwIDAgMHoiXX0sc3BlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1naXRsYWIiLGljb246WzQ0OCw1MTIsWyJnaXRsYWItc3F1YXJlIl0sImU1YWUiLCJNMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2em0zMzcuNSAxMi41bDQ0LjYgMTE2LjQgLjQgMS4yYzUuNiAxNi44IDcuMiAzNS4yIDIuMyA1Mi41LTUgMTcuMi0xNS40IDMyLjQtMjkuOCA0My4zbC0uMiAuMS02OC40IDUxLjItNTQuMSA0MC45Yy0uNSAuMi0xLjEgLjUtMS43IC44LTIgMS00LjQgMi02LjcgMi0zIDAtNi44LTEuOC04LjMtMi44bC01NC4yLTQwLjktNjcuOS01MC45LS40LS4zLS4yLS4xYy0xNC4zLTEwLjgtMjQuOC0yNi0yOS43LTQzLjNzLTQuMi0zNS43IDIuMi01Mi41bC41LTEuMiA0NC43LTExNi40Yy45LTIuMyAyLjUtNC4zIDQuNS01LjYgMS42LTEgMy40LTEuNiA1LjItMS44IDEuMy0uNyAyLjEtLjQgMy40IC4xIC42IC4yIDEuMiAuNSAyIC43IDEgLjQgMS42IC45IDIuNCAxLjUgLjYgLjQgMS4yIDEgMi4xIDEuNSAxLjIgMS40IDIuMiAzIDIuNyA0LjhsMjkuMiA5Mi4yIDEyMi45IDAgMzAuMi05Mi4yYy41LTEuOCAxLjQtMy40IDIuNi00LjhzMi44LTIuNCA0LjUtMy4xYzEuNy0uNiAzLjYtLjkgNS40LS43czMuNiAuOCA1LjIgMS44YzIgMS4zIDMuNyAzLjMgNC42IDUuNnoiXX0sRVN0PXNwZSxQU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2hvZWxhY2UiLGljb246WzUxMiw1MTIsW10sImU2MGMiLCJNNDA1LjIgMzMxYzIuMi0xLjEgNC40LTIuMyA2LjUtMy43bDguMy00LjhjMS41LTEuMSA0LjQtMy40IDguNy02LjdsLjUtLjVjMy40LTMuNCA3LjItNSAxMS4zLTQuOSAxLjggMCAzLjkgLjUgNi40IDEuNWwzMS0yNy41Yy45LS43IDEuNy0xLjMgMi42LTEuOGwuMiAwYzMuMy0xLjkgNi0xLjggOC4yIC40IDMuOSAyLjEgNC4yIDUuNiAuOSAxMC42TDQ1Ny4yIDMyMmMuMiAuNSAuNCAxIC40IDEuNSAuNSAyLjIgLjMgNC40LS41IDYuNi0uNyAxLjUtMS44IDIuOS0zLjEgNC4yLTEuNCAxLjQtMi43IDIuOC00LjIgNC4yTDQzMSAzNTIuMmMtMS43IDEuMi0zLjQgMi4zLTUuMSAzLjMtMi4xIDEuMy00LjMgMi41LTYuNiAzLjYtMSAuNC0xLjkgLjktMi45IDEuMy01LjkgMi41LTExLjkgNC4yLTE4LjIgNS0yLjkgMjQuNS0xMS4zIDQ3LjEtMjUuMSA2Ny44LTE3LjUgMjUuNy00MS40IDQ1LjQtNzEuOCA1OC44LTMwLjIgMTMuNS02MyAyMC4yLTk4LjIgMjAuMi00OC42LS41LTg4LTExLjQtMTE4LjItMzIuOC0zNS4xLTI1LTUyLjYtNTcuOS01Mi42LTk5LjFsMC01LjZjMS4yLTI4LjEgOS41LTU0LjYgMjQuOC03OS44IDE1LjEtMjQuOSAzNy4xLTQxLjcgNjYuMS01MC41IDE0LjktNC40IDI5LjktNi42IDQ1LTYuNiAxNS41IDAgMzEuNiAyLjkgNDguMSA4LjZzMzUuMiAxNS41IDU1LjkgMjkuNWw1NC4xIDM2LjNjMTUuMSA5LjggMjguOCAxNi41IDQxLjIgMjAtMi42LTI1LjEtMTEuNy00Ni42LTI3LjMtNjQuNS0xNS43LTE4LjEtMzUuNi0zMS4zLTU5LjktMzkuN0wyNTcgMjIwYy0yMS40LTcuNS0zNy4zLTE0LjktNDcuNy0yMi4yLTI4LjItMTkuMS00My44LTQ1LjItNDctNzguNWwtLjUtOS44YzAtMzIuMSAxMy01OC45IDM5LTgwLjUgMjMtMTkuMyA1MC42LTI5IDgyLjUtMjkgMjQgMCA0NS42IDYuOSA2NC43IDIwLjggMTkuMiAxNCAzMC4xIDMzLjggMzIuNiA1OS40bC41IDEwYzAgMTguNi00LjggMzQuNS0xNC40IDQ3LjctOS44IDEzLjItMTguNSAxOS45LTI2IDE5LjktMS42LS4xLTMuMS0uMy00LjUtLjZsLTM0IDMyYy01LjUgMy05LjIgMi41LTExLjEtMS42LTEuOS0yLjItMS44LTQuOSAuNS04LjJsLjItLjJjLjUtLjcgMS4yLTEuNSAyLTIuNGwzMS42LTMwYy0uNC0xLjUtLjYtMy4xLS42LTQuOCAwLTQuMSAxLjYtNy42IDQuOS0xMC40IDEzLjgtMTIuNCAyMC44LTI2LjcgMjAuOC00Mi44IDAtMTYtNi4xLTI5LjUtMTguMi00MC40cy0yOC43LTE2LjUtNDkuNy0xNi44Yy0yNi4yIDAtNDcuOCA3LjktNjQuNyAyMy43UzE5Mi42IDg5LjkgMTkyLjYgMTEyYzAgMTcuOCA2LjkgMzMuOSAyMC42IDQ4LjMgMTMuNiAxNC4yIDM0LjYgMjUuNCA2MyAzMy41IDM5LjggMTEuNSA3MC4yIDMxIDkxLjMgNTguMyAxOC43IDI0LjIgMjkuMSA1MS4zIDMxLjMgODEuNCAyLjItLjcgNC4zLTEuNSA2LjUtMi42bC0uMSAuMXpNMjk0LjQgMTc4LjdjMCAxLjEgLjYgMS42IDEuOCAxLjYgLjEgMCA5LjctOC45IDI4LjgtMjYuNiAwLTIuNC01LjEgLjktMTUuMyAxMC0xMC4yIDkuMi0xNS4zIDE0LjItMTUuMyAxNC45bDAgLjF6bTggNi40YzAtMS0uNS0xLjUtMS41LTEuNS0xLjEgMC0yLjEgLjUtMi45IDEuNi0xLjktLjEtMy4zIC4xLTQuMiAuNy0uNCAuMi0uNSAuNS0uNSAuNyAwIC43IC41IDEuMyAxLjUgMS42bDMuMyAwYzIuOS0xLjEgNC40LTIuMiA0LjQtMy4zbC0uMSAuMnpNMzI1IDE2NS4yYzAtMi44LTEuNi0yLjgtNC45IDAtMS42IDEuNS0zLjYgMy41LTYgNi4yLS44IC42LTIuNiAyLjItNS4zIDQuOS0yLjggMi45LTQuMiA0LjctNC4yIDUuM2wuMiAxLjNjLjcgLjIgMS4yIC40IDEuNSAuNCAuMSAwIDMuMy0yLjkgOS41LTguN3M5LjMtOC45IDkuMy05LjNsLS4xLS4xem0xNTkuNyAxMjBsLTMwLjYgMjdjMS44IDEgMy4yIDIuNCA0IDQuMmwzMC4yLTI3Yy4yLTEuMiAuMS0yLjItLjUtMi45LS42LS41LTEuNi0uOS0zLjEtMS4zem0tMS42LS45bC0uNy0uNy0yNyAyMS45IDEuNiAyIDI2LTIzLjEgLjEtLjF6TTM2Ni45IDM2My45Yy04LTIuMS0xNS40LTQuNi0yMi4yLTcuNS0xNS4zLTYuMi0zNC4zLTE3LTU3LTMyLjRsLTM3LjQtMjUuM2MtMTUuOC0xMC4xLTMwLjItMTcuNi00My4yLTIyLjYtMTMuMS00LjktMjYtNy4zLTM4LjYtNy4zbC01LjUgMGMtMzIuMiAxLjctNTcuMiAxMy44LTc1IDM2LjItMTYuNiAyMC44LTI1IDQ1LjMtMjUgNzMuNiAwIDMxLjggMTIuOCA1Ni43IDM4LjIgNzQuNyAyNS40IDE4LjEgNjAuMiAyNy4xIDEwNC40IDI3LjEgMzQuNyAwIDY0LTYuMiA4Ny44LTE4LjYgMjMuNy0xMi40IDQyLjEtMjguOCA1NS4yLTQ5LjIgOS44LTE1LjUgMTUuOS0zMS44IDE4LjItNDguOGwuMSAuMXoiXX0sSVN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9wZW5zdHJlZXRtYXAiLGljb246WzUxMiw1MTIsW10sImU4NmIiLCJNNjEgNDk4LjdjLTcuMS0xLjgtMTAuOC00LjctMjkuNi0yMy42LTIyLjUtMjIuNC0yMy45LTI0LjYtMjMuOS0zNi4zIDAtMTMtMy45LTguNCA2Ny45LTgwLjMgNzIuNS03Mi43IDY4LjctNjkuNSA4MS45LTY5LjUgNi4xIDAgNy42IC40IDEyLjUgMi44bDUuNiAyLjhjMTEuNy0xMS43IDIzLjQtMjMuNCAzNS4xLTM1LjFsLTQuNC02LjljLTguNi0xMy4zLTE2LjYtMzIuOC0yMC4zLTQ4LjktMTAuMi00NS40IC44LTkzLjMgMjkuOC0xMjkuNyA1MC4xLTYyLjggMTQwLjEtNzYuNyAyMDYuNi0zMiAzNi41IDI0LjUgNjAuMyA2Mi41IDY3IDEwNyAxLjQgOS40IDEuNCAzMS44IDAgNDEuOC00LjkgMzQuNi0xOS43IDY0LTQ0LjQgODguNy0xMi43IDEyLjctMjMgMjAuMS0zOS4yIDI4LjItMTkuMyA5LjctMzUuNyAxNC4zLTU4IDE2LjEtMzEuNyAyLjYtNjYuOS02LjEtOTMuOC0yMy40bC02LjktNC40Yy0xMS43IDExLjctMjMuNCAyMy40LTM1LjEgMzUuMWwyLjggNS42YzIuNSA0LjkgMi44IDYuNCAyLjggMTIuNSAwIDEzLjEgMy4xIDkuNC02OSA4MS41LTU1LjYgNTUuNS02NC4xIDYzLjctNjguNCA2NS43LTUuNSAyLjUtMTMuOSAzLjQtMTkgMi4xek0zNTkuNCAyOTYuOWM0MC4xLTcuMyA3NS4xLTM0IDkyLjctNzAuNyAyOC01OC40IDkuMi0xMjctNDQuOC0xNjMuMy0xMi45LTguNy0zMC44LTE2LTQ3LjctMTkuNC0xMS43LTIuNC0zNi40LTIuMS00OC42IC41LTE4LjIgMy45LTM0LjkgMTEuMS00OS40IDIxLjQtOC45IDYuNC0yMy43IDIxLjEtMjkuOSAyOS45LTM0LjYgNDktMzEuNSAxMTQuMSA3LjcgMTU5LjMgMjAuMSAyMy4yIDQ3LjggMzguNCA3OC42IDQzIDEwLjIgMS41IDMxIDEuMiA0MS41LS44em0tMzUuNS0xNy40Yy0xMy44LTIuMi0yNS42LTUuNy0zNS4xLTEwLjVsLTUuNC0yLjcgMC00OS45LTkuNSAwYy04LjIgMC0xOS41IDEuNi0yNy43IDQtMS4xIC4zLTEuNSAxLjYtMS43IDQuOGwtLjMgNC40LTQuMS03LjhjLTktMTcuMi0xMi4yLTMwLjctMTIuMi01MS40IDAtMTYgMS4xLTIzLjQgNS42LTM2LjMgMi40LTYuOCA4LjItMTguOSAxMC44LTIyLjMgMS4xLTEuNSAxLjItMS4xIDEuMyAzLjNsMCA1YzE4LjgtLjIgMzcuNi0uMyA1Ni40LS41IC4yLTQuNyAuMy05LjUgLjUtMTQuMmwtMTkgMCAwLTMxIDMuNC0xLjdjNS42LTIuOCAxNS45LTYuNyAyMS43LTguMiAzLS44IDYuMS0xLjYgNi45LTEuOCAxLjItLjQgMS4zIC4xIC43IDMuMy0xLjIgNi4xLS45IDIzIC41IDI5IDIuOCAxMS45IDkuOCAyMC43IDE5LjIgMjQuMyA1LjYgMi4xIDE2LjMgMi42IDIyLjUgLjkgNS45LTEuNiAxMi41LTYuNCAxNS45LTExLjUgNS03LjUgNi43LTE0LjEgNy4yLTI3LjFsLjQtMTEuNCA3IDMuNmM4IDQuMiAxNy44IDExLjIgMjQuOSAxOCA0LjggNC42IDUgNC44IDUgOS4ybDAgNC41LTE4LjkgMCAwIDE0LjYgMzUgMGMxLjMgMi42IDIuNSA1LjIgMy44IDcuN2wtOS43IDBjLTYuNyAwLTEyLjcgLjYtMTkuNCAxLjlsLTkuNyAxLjkgMCA3LjFjMCAzLjkgLjIgNy4xIC4zIDcuMXM0LjEtLjggOC43LTEuNyA4LjctMS43IDkuMS0xLjdjLjQgMCAuOCAxMS4zIC44IDI1LjhsMCAyNS44Yy02LjIgLjItMTIuMyAuMy0xOC41IC41LS4yIDQuNy0uMyA5LjQtLjUgMTQuMiAxMy41IC4yIDI3IC4zIDQwLjQgLjUtMSAyLjMtMiA0LjUtMyA2LjhsLTEwLjcgLjFjLTkuOSAuMS0xMS4xIC4yLTE1LjYgMi41LTExLjggNS44LTE4LjEgMTguOS0xOC4zIDM3LjlsLS4xIDkuMy01LjggM2MtNSAyLjYtMjIuNiA5LTI0LjkgOS0uNSAwLS44LTEyLS44LTMwLjZsMC0zMC42LTkuNCAwYy02IDAtMTIuNCAuNi0xNy45IDEuNy0xMi42IDIuNi0xMS41IDEuNy0xMS41IDkuNSAwIDUgLjMgNi44IDEuMSA2LjggLjYgMCA0LjYtLjggOC44LTEuN3M4LTEuNyA4LjMtMS43IC42IDExIC42IDI0LjVsMCAyNC41LTcuNS0uMWMtNC4xLS4xLTguNS0uMy05LjctLjV6bS0zOS40LTcxLjZjOC45LTMuOSAxNS42LTEyLjkgMTguMy0yNC40IDEuNi02LjkgMS43LTIyLjYgMC0zMC4yLTIuNS0xMi05LjYtMjEuMS0xOS4zLTI0LjgtNi45LTIuNi0xOC40LTIuNi0yNS4zIDAtOS43IDMuNy0xNi40IDEyLjgtMTkuMiAyNS42LTEuNiA3LjUtMS42IDIxLjQgMCAyOC45IDIuNiAxMi41IDEwLjUgMjIuMyAyMC42IDI1LjYgNyAyLjMgMTguOSAyIDI0LjktLjd6bS0xOS45LTE0LjVjLTMuNS0zLTUuMi04LjktNS44LTIwLjYtLjYtMTAuNSAuNi0yMS4zIDIuOS0yNiAyLTQuMyA1LjgtNi40IDEwLjQtNiA3LjQgLjggMTAuMyA2LjUgMTEuMSAyMi41IC45IDE2LjctMS45IDI4LjktNyAzMS4zLTMuOSAxLjgtOC42IDEuMy0xMS42LTEuMnptOTQuOSAxNS4xYzE1LTQuNiAyMi44LTIwLjEgMjEuOS00My41LS44LTE5LjktNy45LTMyLjEtMjEuNS0zNy4yLTUuNy0yLjEtMTgtMS44LTI0IC41LTkuNiAzLjctMTYuNCAxMi40LTE5LjMgMjQuNy0yIDguNi0xLjMgMjggMS4zIDM1LjIgNCAxMS4zIDExLjYgMTguNyAyMS40IDIxIDUuOCAxLjQgMTQuNCAxIDIwLjMtLjh6bS0xNi43LTE0LjJjLTUtMi43LTcuMy0xMy4yLTYuNS0zMC4xIC42LTEyLjggMS41LTE2LjcgNC44LTIwLjQgNC43LTUuMyAxMy42LTMuOCAxNi43IDIuOCAzLjQgNy4zIDQgMzAuMSAxIDQwLjItMS43IDUuNy01LjIgOC44LTEwLjEgOC43LTIgMC00LjYtLjYtNS44LTEuM3ptLTg1LjIgNTEuNWMtNy4zLTcuNi05LjktMTEuNC04LjQtMTEuOSAyLjktLjkgMTMuOS0zLjEgMTQuMi0yLjggLjIgLjIgLjIgNC45IC4xIDEwLjRsLS4yIDEwLjEtNS42LTUuOXptMTU2LjQtMS4yYy43LTYgMy4xLTExLjUgNS43LTEzLjIgMi45LTEuOCA2LjQtMi42IDgtMS43IDEuMiAuNyAuOSAxLjUtMi40IDUuOS0yLjEgMi44LTUuNiA3LTcuOCA5LjRsLTQgNC4zIC41LTQuN3pNNDM4LjQgMTYxbC4xLTMyLjkgMi42IDcuN2M1LjEgMTUuMyA2LjkgMzEuOCA1LjEgNDYuNi0xLjQgMTEuNi0xLjQgMTEuNS00LjkgMTEuNWwtMyAwIC4xLTMyLjl6TTM0NCAxMDYuMmMtMi42LTEtNS4zLTQuOC02LjUtOS0xLjItNC0xLjUtMjguNS0uNC0zMy41IC42LTMgLjktMy4yIDMuOC0zLjIgNi4yIDAgMTguMyAyIDE4LjcgMy4xIC4yIC42IC43IDQuOSAxIDkuNSAuNyA5LjctLjcgMjMuMi0yLjggMjcuNi0yLjQgNS4xLTguNSA3LjUtMTMuNyA1LjN6bS05NC4zLTIuNGMuNC0uOCAzLjctNC42IDcuMy04LjRsNi41LTYuOWMwIDUuNiAwIDExLjIgLjEgMTYuOGwtNy4zIDBjLTYuNyAwLTcuMy0uMS02LjUtMS41em0zNC40IDM0MS43Yy0yNC02LjktNDMuOS0xMi45LTQ0LjItMTMuMS0uNS0uNiAyNC4zLTg4LjUgMjUuMy04OS42IC41LS41IDg1LjQgMjMuMyA4OC45IDI0LjkgMS4yIC42LS4xIDUuOC0xMC42IDQyLjQtNi42IDIzLTEyLjQgNDMuMi0xMi44IDQ1cy0xLjQgMy4yLTEuOSAzLjEtMjAuNy01LjgtNDQuNy0xMi43ek0zNDIuOCA0NTZjMC0xLjEgMjQuNy04Ny4zIDI1LjEtODcuNiAuOS0uNyA4Ny4xLTI0LjcgODcuNC0yNC40IC40IC40LTI0LjEgODcuMy0yNC43IDg3LjktLjQgLjMtODMuMiAyNC04NS44IDI0LjUtMS4xIC4yLTEuOSAuMS0xLjktLjR6TTE5OS42IDQxNy41YzE3LTE3LjEgMzIuMi0zMi43IDMzLjctMzQuNyAzLjQtNC41IDguMi0xNC44IDkuNS0yMC41IC41LTIuNCAxLjEtNy4xIDEuMi0xMC41bC4yLTYuMiAzLjctMWMyLS42IDMuOC0uOSA0LS43IC41IC41LTI0LjMgODctMjUuMSA4Ny44LS40IC4zLTEzLjYgNC4zLTI5LjQgOC44bC0yOC43IDguMiAzMS0zMS4xem0xNjYuOS02MS42Yy0uMi0uMy0uNy0yLTEuMi0zLjdsLS45LTMuMiAzLjItLjVjMjctNC42IDU1LjktMTcuMyA3OC43LTM0LjUgMy4zLTIuNSA1LjEtMy40IDUuMy0yLjcgMS4xIDMuMyA1LjUgMTkuMSA1LjQgMTkuMy0uNyAuNy05MC4yIDI1LjgtOTAuNSAyNS40ek02Mi45IDMyOS44Yy0xLS44LTIzLjgtNzcuOS0yNS41LTg2LjQtLjMtMS43IDMtLjkgNDMuOCAxMC44IDQyLjcgMTIuMiA0NC4yIDEyLjcgNDQuOCAxNC45IC41IDIgLjIgMi42LTIuNSA0LjUtMS43IDEuMi0xNS41IDE0LjYtMzAuNyAyOS44cy0yNy44IDI3LjYtMjggMjcuNi0xLjEtLjUtMS44LTEuMXptMTYuNS04OC4yYy0yMy45LTYuOS00My41LTEyLjYtNDMuNi0xMi42LS4zLS4yIDI1LjMtODkuMyAyNS45LTg5LjggLjQtLjQgODkuMSAyNC40IDkwIDI1LjIgLjIgLjItNS40IDIwLjUtMTIuNCA0NS4xLTExLjYgNDAuNy0xMi45IDQ0LjgtMTQuNSA0NC43LTEgMC0yMS4zLTUuNy00NS4yLTEyLjZ6bTU5LjYgMTAuOGMuMi0uNiA0LjMtMTQuNSA4LjktMzAuOWw4LjUtMjkuNyAxLjEgNi41YzEuOSAxMS4yIDUuMyAyMy45IDkuMyAzNS4xIDIuMSA1LjkgMy44IDEwLjkgMy42IDExcy02LjcgMi0xNC41IDQuMy0xNC45IDQuMi0xNS44IDQuNWMtMS4xIC4zLTEuNSAuMS0xLjItLjd6TTEwNiAxMzkuMWMtMjMuOS02LjktNDMuNy0xMi44LTQzLjktMTMuMi0uOC0xLjMtMjUuMS04Ny0yNC43LTg3LjQgLjUtLjUgODYuOCAyNC4zIDg3LjYgMjUuMSAuOSAxIDI1LjggODguMiAyNS4xIDg4LS4zIDAtMjAuMS01LjctNDQtMTIuNnptNDMuMi0zNC41QzEzNi41IDYwIDEzOSA2OC44IDEzNy4yIDYyLjVsMzQuMS05LjdjMTguOC01LjQgMzQuNy05LjkgMzUuNC0xMC4ycy0xLjYgMi44LTUuMiA2LjhjLTE5LjEgMjEuMy0zMS41IDQ0LTM5LjQgNzEuOS0xLjUgNS4yLTIuNyAxMC4zLTIuNyAxMS4zIDAgNS45LTIuMy0uNS0xMC4yLTI4eiJdfSxOU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2VsbGNhc3QiLGljb246WzQ0OCw1MTIsW10sImYyZGEiLCJNMzUzLjUgMzJMOTQuOCAzMkM0Mi43IDMyIC4xIDc0LjYgLjEgMTI2LjZsMCAyNTguN0MuMSA0MzcuNCA0Mi43IDQ4MCA5NC44IDQ4MGwyNTguNyAwYzUyLjEgMCA5NC43LTQyLjYgOTQuNy05NC42bDAtMjU4LjhjMC01Mi00Mi42LTk0LjYtOTQuNy05NC42em0tNTAgMzE2LjRjLTI3LjkgNDguMi04OS45IDY0LjktMTM4LjIgMzcuMi0yMi45IDM5LjgtNTQuOSA4LjYtNDIuMy0xMy4ybDE1LjctMjcuMmM1LjktMTAuMyAxOS4yLTEzLjkgMjkuNS03LjkgMTguNiAxMC44LS4xLS4xIDE4LjUgMTAuNyAyNy42IDE1LjkgNjMuNCA2LjMgNzkuNC0yMS4zIDE1LjktMjcuNiA2LjMtNjMuNC0yMS4zLTc5LjQtMTcuOC0xMC4yLS42LS40LTE4LjYtMTAuNi0yNC42LTE0LjItMy40LTUxLjkgMjEuNi0zNy41IDE4LjYgMTAuOC0uMS0uMSAxOC41IDEwLjcgNDguNCAyOCA2NS4xIDkwLjMgMzcuMiAxMzguNXptMjEuOC0yMDguOGMtMTcgMjkuNS0xNi4zIDI4LjgtMTkgMzEuNS02LjUgNi41LTE2LjMgOC43LTI2LjUgMy42LTE4LjYtMTAuOCAuMSAuMS0xOC41LTEwLjctMjcuNi0xNS45LTYzLjQtNi4zLTc5LjQgMjEuM3MtNi4zIDYzLjQgMjEuMyA3OS40YzAgMCAxOC41IDEwLjYgMTguNiAxMC42IDI0LjYgMTQuMiAzLjQgNTEuOS0yMS42IDM3LjUtMTguNi0xMC44IC4xIC4xLTE4LjUtMTAuNy00OC4yLTI3LjgtNjQuOS05MC4xLTM3LjEtMTM4LjQgMjcuOS00OC4yIDg5LjktNjQuOSAxMzguMi0zNy4ybDQuOC04LjRjMTQuMy0yNC45IDUyLTMuMyAzNy43IDIxLjV6Il19LFJTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtaXgiLGljb246WzQ0OCw1MTIsW10sImYzY2IiLCJNMCA2NEwwIDQxMi45YzAgNTYuMiA4OCA1OC4xIDg4IDBsMC0yMzguNmM3LjktNTIuOSA4OC01MC40IDg4IDYuNWwwIDE3NS4zYzAgNTcuOSA5NiA1OCA5NiAwTDI3MiAyNDBjNS4zLTU0LjcgODgtNTIuNSA4OCA0LjNsMCAyMy44YzAgNTkuOSA4OCA1Ni42IDg4IDBMNDQ4IDY0IDAgNjR6Il19LE9TdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYy1hcHBsZS1wYXkiLGljb246WzU3Niw1MTIsW10sImY0MTYiLCJNMzAyLjIgMjE4LjRjMCAxNy4yLTEwLjUgMjcuMS0yOSAyNy4xbC0yNC4zIDAgMC01NC4yIDI0LjQgMGMxOC40IDAgMjguOSA5LjggMjguOSAyNy4xek0zNDkuNyAyODFjMCA4LjMgNy4yIDEzLjcgMTguNSAxMy43IDE0LjQgMCAyNS4yLTkuMSAyNS4yLTIxLjlsMC03LjctMjMuNSAxLjVjLTEzLjMgLjktMjAuMiA1LjgtMjAuMiAxNC40ek01NzYgNzlsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDc5Yy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDc5QzAgNTIuNSAyMS41IDMxIDQ4IDMxbDQ4MCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek0xMjcuOCAxOTcuMmM4LjQgLjcgMTYuOC00LjIgMjIuMS0xMC40IDUuMi02LjQgOC42LTE1IDcuNy0yMy43LTcuNCAuMy0xNi42IDQuOS0yMS45IDExLjMtNC44IDUuNS04LjkgMTQuNC03LjkgMjIuOHptNjAuNiA3NC41Yy0uMi0uMi0xOS42LTcuNi0xOS44LTMwLS4yLTE4LjcgMTUuMy0yNy43IDE2LTI4LjItOC44LTEzLTIyLjQtMTQuNC0yNy4xLTE0LjctMTIuMi0uNy0yMi42IDYuOS0yOC40IDYuOS01LjkgMC0xNC43LTYuNi0yNC4zLTYuNC0xMi41IC4yLTI0LjIgNy4zLTMwLjUgMTguNi0xMy4xIDIyLjYtMy40IDU2IDkuMyA3NC40IDYuMiA5LjEgMTMuNyAxOS4xIDIzLjUgMTguNyA5LjMtLjQgMTMtNiAyNC4yLTYgMTEuMyAwIDE0LjUgNiAyNC4zIDUuOSAxMC4yLS4yIDE2LjUtOS4xIDIyLjgtMTguMiA2LjktMTAuNCA5LjgtMjAuNCAxMC0yMXptMTM1LjQtNTMuNGMwLTI2LjYtMTguNS00NC44LTQ0LjktNDQuOGwtNTEuMiAwIDAgMTM2LjQgMjEuMiAwIDAtNDYuNiAyOS4zIDBjMjYuOCAwIDQ1LjYtMTguNCA0NS42LTQ1em05MCAyMy43YzAtMTkuNy0xNS44LTMyLjQtNDAtMzIuNC0yMi41IDAtMzkuMSAxMi45LTM5LjcgMzAuNWwxOS4xIDBjMS42LTguNCA5LjQtMTMuOSAyMC0xMy45IDEzIDAgMjAuMiA2IDIwLjIgMTcuMmwwIDcuNS0yNi40IDEuNmMtMjQuNiAxLjUtMzcuOSAxMS42LTM3LjkgMjkuMSAwIDE3LjcgMTMuNyAyOS40IDMzLjQgMjkuNCAxMy4zIDAgMjUuNi02LjcgMzEuMi0xNy40bC40IDAgMCAxNi40IDE5LjYgMCAwLTY4IC4xIDB6TTUxNiAyMTAuOWwtMjEuNSAwLTI0LjkgODAuNi0uNCAwLTI0LjktODAuNi0yMi4zIDAgMzUuOSA5OS4zLTEuOSA2Yy0zLjIgMTAuMi04LjUgMTQuMi0xNy45IDE0LjItMS43IDAtNC45LS4yLTYuMi0uM2wwIDE2LjRjMS4yIC40IDYuNSAuNSA4LjEgLjUgMjAuNyAwIDMwLjQtNy45IDM4LjktMzEuOEw1MTYgMjEwLjl6Il19LEZTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzb2xhbmEiLGljb246WzUxMiw1MTIsW10sImU4NWUiLCJNNTEwLjUgMzg1LjJsLTg0LjkgODguN2MtMS44IDEuOS00LjEgMy41LTYuNiA0LjVzLTUuMiAxLjYtNy45IDEuNkw4LjkgNDgwYy0xLjkgMC0zLjgtLjUtNS40LTEuNnMtMi45LTIuNS0zLjYtNC4yLTEtMy42LS43LTUuNSAxLjItMy42IDIuNS00LjlsODQuOS04OC43YzEuOC0xLjkgNC4xLTMuNSA2LjUtNC41czUuMS0xLjYgNy44LTEuNmw0MDIuNCAwYzEuOSAwIDMuOCAuNSA1LjQgMS42czIuOSAyLjUgMy42IDQuMiAxIDMuNiAuNyA1LjUtMS4yIDMuNi0yLjUgNC45ek00MjUuNyAyMDYuNmMtMS44LTEuOS00LjEtMy41LTYuNi00LjVzLTUuMi0xLjYtNy45LTEuNmwtNDAyLjQgMGMtMS45IDAtMy44IC41LTUuNCAxLjZzLTIuOSAyLjUtMy42IDQuMi0xIDMuNi0uNyA1LjUgMS4yIDMuNiAyLjUgNC45bDg0LjkgODguN2MxLjggMS45IDQuMSAzLjUgNi41IDQuNXM1LjEgMS42IDcuOCAxLjZsNDAyLjQgMGMxLjkgMCAzLjgtLjUgNS40LTEuNnMyLjktMi41IDMuNi00LjIgMS0zLjYgLjctNS41LTEuMi0zLjYtMi41LTQuOWwtODQuOS04OC43ek04LjkgMTQyLjlsNDAyLjQgMGMyLjcgMCA1LjQtLjUgNy45LTEuNnM0LjctMi42IDYuNi00LjVsODQuOS04OC43YzEuMy0xLjQgMi4yLTMuMSAyLjUtNC45cy4xLTMuNy0uNy01LjUtMi0zLjItMy42LTQuMi0zLjUtMS42LTUuNC0xLjZMMTAxIDMyYy0yLjcgMC01LjQgLjUtNy44IDEuNnMtNC43IDIuNi02LjUgNC41TDEuNyAxMjYuOGMtMS4zIDEuNC0yLjIgMy4xLTIuNSA0LjlzLS4xIDMuNyAuNyA1LjUgMiAzLjIgMy42IDQuMiAzLjUgMS42IDUuNCAxLjZ6Il19LEJTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0eXBlc2NyaXB0IixpY29uOls0NDgsNTEyLFtdLCJlODQwIiwiTTE2LjggMzJsNDE0LjQgMGM5LjMgMCAxNi44IDcuNSAxNi44IDE2LjhsMCA0MTQuNGMwIDkuMy03LjUgMTYuOC0xNi44IDE2LjhMMTYuOCA0ODBDNy41IDQ4MCAwIDQ3Mi41IDAgNDYzLjJMMCA0OC44QzAgMzkuNSA3LjUgMzIgMTYuOCAzMnpNMjQ5IDI3MC4zbDAtMzYuNy0xNTkuNCAwIDAgMzYuNyA1Ni45IDAgMCAxNjMuNiA0NS4zIDAgMC0xNjMuNiA1Ny4yIDB6bTE4LjEgMTU5LjNjNy4zIDMuNyAxNS45IDYuNSAyNS45IDguNHMyMC41IDIuOCAzMS41IDIuOGMxMC44IDAgMjEtMSAzMC43LTMuMXMxOC4yLTUuNCAyNS41LTEwLjEgMTMuMS0xMC45IDE3LjQtMTguNCA2LjQtMTcgNi40LTI4LjJjMC04LjEtMS4yLTE1LjItMy43LTIxLjNzLTUuOS0xMS41LTEwLjUtMTYuMy0xMC4xLTktMTYuNS0xMi44LTEzLjctNy4zLTIxLjctMTAuN2MtNS45LTIuNC0xMS4yLTQuOC0xNS45LTcuMXMtOC43LTQuNi0xMS45LTctNS44LTQuOS03LjYtNy41LTIuNy01LjctMi43LTljMC0zLjEgLjgtNS44IDIuNC04LjNzMy44LTQuNiA2LjctNi40IDYuNS0zLjEgMTAuNy00LjEgOC45LTEuNSAxNC4xLTEuNWMzLjcgMCA3LjcgLjMgMTEuOSAuOHM4LjQgMS40IDEyLjYgMi42IDguMyAyLjYgMTIuMyA0LjQgNy43IDMuOCAxMSA2LjFsMC00MS44Yy02LjgtMi42LTE0LjMtNC41LTIyLjQtNS44cy0xNy40LTEuOS0yNy45LTEuOWMtMTAuNyAwLTIwLjggMS4xLTMwLjQgMy40cy0xOCA1LjgtMjUuMiAxMC43LTEzIDExLTE3LjIgMTguNS02LjMgMTYuNS02LjMgMjYuOWMwIDEzLjMgMy45IDI0LjcgMTEuNiAzNC4xczE5LjUgMTcuNCAzNS4yIDIzLjljNi4yIDIuNSAxMS45IDUgMTcuMyA3LjRzMTAgNC45IDEzLjggNy41IDcgNS40IDkuMiA4LjUgMy40IDYuNiAzLjQgMTAuNWMwIDIuOS0uNyA1LjYtMi4xIDhzLTMuNSA0LjYtNi40IDYuNC02LjQgMy4yLTEwLjcgNC4zLTkuMyAxLjUtMTUgMS41Yy05LjcgMC0xOS40LTEuNy0yOC45LTUuMXMtMTguNC04LjUtMjYuNi0xNS4zbDAgNDQuN3oiXX0sSFN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJyYXZlIixpY29uOls0NDgsNTEyLFtdLCJlNjNjIiwiTTE0NS42IDBsMTU3IDAgNDQuNyA1MC44czM5LjMtMTAuOSA1Ny44IDcuNiAzMy44IDM0LjkgMzMuOCAzNC45bC0xMiAyOS41IDE1LjMgNDMuN3MtNDQuOSAxNzAuMi01MC4xIDE5MWMtMTAuNCA0MC45LTE3LjQgNTYuOC00Ni45IDc3LjVzLTgyLjkgNTYuOC05MS42IDYyLjJjLTEuOSAxLjItMy45IDIuNS01LjkgMy45LTcuNSA1LjEtMTUuOCAxMC44LTIzLjUgMTAuOHMtMTYuMS01LjctMjMuNS0xMC44Yy0yLTEuNC00LTIuOC01LjktMy45LTguNy01LjUtNjIuMS00MS41LTkxLjYtNjIuMnMtMzYuNS0zNi42LTQ2LjktNzcuNWMtNS4zLTIwLjgtNTAuMS0xOTEtNTAuMS0xOTFMMjEuNSAxMjIuOCA5LjMgOTMuM3MxNS4zLTE2LjQgMzMuOC0zNC45IDU3LjgtNy42IDU3LjgtNy42TDE0NS42IDB6bTc4LjUgNDA3LjZjMy43IDAgOC45LTQuNyAxMy04LjQgLjYtLjUgMS4yLTEuMSAxLjctMS41IDQuMi0zLjcgNDcuOC0zNy41IDUxLTM5LjhzNS40LTYuNSAxLjktOC43Yy0yLjgtMS43LTEwLTUuNS0yMC4zLTEwLjgtMy0xLjYtNi4zLTMuMi05LjctNS0xNS40LTgtMzQuNS0xNC43LTM3LjUtMTQuN3MtMjIuMSA2LjgtMzcuNSAxNC43Yy0zLjUgMS44LTYuNyAzLjUtOS43IDUtMTAuMyA1LjMtMTcuNiA5LjEtMjAuMyAxMC44LTMuNiAyLjItMS40IDYuNCAxLjkgOC43czQ2LjggMzYuMSA1MSAzOS44Yy41IC41IDEuMSAxIDEuNyAxLjUgNC4xIDMuNyA5LjMgOC40IDEzIDguNGwtLjIgMHptMC0xNjUuN2M0LjcgMCAxNy42LTMgMjYuNC01bDItLjVjNy44LTEuOCA3LjMtNi4zIDYuNC0xMy0uMS0uOC0uMi0xLjYtLjMtMi40LS42LTYuMS01LjgtMzMuMS05LjEtNTAuMy0xLjEtNS44LTItMTAuNS0yLjQtMTIuOS0xLjUtOC4xLS42LTkuNCAuNy0xMS4zIC4yLS4zIC41LS43IC43LTEuMSAxLjQtMi4zIDE2LTYuMiAyNy45LTkuNSAyLjUtLjcgNC44LTEuMyA2LjktMS45IDEwLjYtMyAzMi40LS42IDQ0LjIgLjYgMS44IC4yIDMuNCAuNCA0LjcgLjUgOS42IC45IDEwLjQgMi4zIDcuMiAzLjgtMi4zIDEuMS0xNi4yIDYuMy0yOC43IDEwLjktNC43IDEuOC05LjIgMy41LTEyLjggNC44LTEuNSAuNS0zIDEuMS00LjUgMS43LTEyLjUgNC42LTI3LjIgMTAtMjguOSAxOS40LTEuNSA4LjMgNS4yIDE5LjkgMTEuMyAzMC4zIDEuNiAyLjggMy4yIDUuNSA0LjYgOC4xIDYuMyAxMS45IDYuNSAxMy4zIDYuMSAxOC4xLS40IDMuOS0xNC41IDEyLjctMjIuNCAxNy42LTEuOCAxLjEtMy4zIDIuMS00LjIgMi43LS44IC41LTIuMSAxLjQtMy44IDIuNC04LjYgNS4yLTI2LjMgMTYtMjYuMyAyMi41IDAgNy44IDI0LjYgMjguMSAzMi40IDMzLjJzMjguOSAxNi4xIDM3LjkgMTcuOCAyMy04LjUgMzEuMi0yMy44YzcuNy0xNC40IDEuNy0yOC41LTMuMi00MGwtLjktMi4yYy00LjUtMTAuNiAxLjktMTcgNi4yLTIxLjMgLjUtLjUgMS0xIDEuNC0xLjRsNDMtNDUuN2MxLjMtMS4zIDIuNS0yLjYgMy43LTMuOCA1LjgtNS43IDEwLjgtMTAuNSAxMC44LTIyLjggMC0xNC45LTU3LjUtODQuNS01Ny41LTg0LjVzLTQ4LjUgOS4zLTU1LjEgOS4zYy01LjIgMC0xNS4zLTMuNS0yNS44LTcuMS0yLjctLjktNS40LTEuOS04LTIuNy0xMy00LjMtMjEuOC00LjQtMjEuOC00LjRzLTguNyAwLTIxLjggNC40Yy0yLjcgLjktNS40IDEuOC04IDIuNy0xMC41IDMuNi0yMC42IDcuMS0yNS44IDcuMS02LjUgMC01NS4xLTkuMy01NS4xLTkuM3MtNTcuNSA2OS42LTU3LjUgODQuNWMwIDEyLjMgNC45IDE3LjEgMTAuOCAyMi44IDEuMiAxLjIgMi41IDIuNCAzLjcgMy44bDQzLjEgNDUuOGMuNCAuNSAuOSAuOSAxLjQgMS40IDQuMyA0LjMgMTAuNiAxMC43IDYuMiAyMS4zbC0uOSAyLjJjLTQuOSAxMS41LTExIDI1LjYtMy4yIDQwIDguMiAxNS4zIDIyLjIgMjUuNSAzMS4yIDIzLjhzMzAuMS0xMi43IDM3LjktMTcuOCAzMi40LTI1LjQgMzIuNC0zMy4yYzAtNi41LTE3LjctMTcuMy0yNi4zLTIyLjUtMS43LTEtMy4xLTEuOS0zLjgtMi40LS45LS42LTIuNC0xLjUtNC4yLTIuNy03LjktNC45LTIyLTEzLjctMjIuNC0xNy42LS40LTQuOC0uMy02LjIgNi4xLTE4LjEgMS4zLTIuNSAyLjktNS4zIDQuNi04LjEgNi0xMC40IDEyLjgtMjIgMTEuMy0zMC4zLTEuNy05LjQtMTYuNC0xNC44LTI4LjktMTkuNC0xLjYtLjYtMy4xLTEuMS00LjUtMS43LTMuNi0xLjQtOC4xLTMuMS0xMi44LTQuOGwtLjEgMGMtMTIuNS00LjctMjYuNC05LjktMjguNy0xMC45LTMuMi0xLjUtMi4zLTIuOCA3LjItMy44IDEuMy0uMSAyLjktLjMgNC43LS41IDExLjgtMS4zIDMzLjYtMy42IDQ0LjItLjYgMi4xIC42IDQuNCAxLjIgNi45IDEuOSAxMS45IDMuMiAyNi41IDcuMiAyNy45IDkuNSAuMiAuNCAuNSAuNyAuNyAxLjEgMS4zIDEuOSAyLjIgMy4yIC43IDExLjMtLjQgMi40LTEuMyA3LjEtMi40IDEyLjktMy4zIDE3LjItOC41IDQ0LjItOS4xIDUwLjMtLjEgLjgtLjIgMS43LS4zIDIuNC0uOCA2LjctMS40IDExLjIgNi40IDEzbDIgLjVjOC44IDIgMjEuOCA1IDI2LjQgNWwwLS4xeiJdfSxxU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZXRzeSIsaWNvbjpbMzg0LDUxMixbXSwiZjJkNyIsIk0zODQgMzQ4Yy0xLjggMTAuNy0xMy44IDExMC0xNS41IDEzMi0xMTcuOS00LjMtMjE5LjktNC43LTM2OC41IDBsMC0yNS41YzQ1LjUtOC45IDYwLjYtOCA2MS0zNS4yIDEuOC03Mi4zIDMuNS0yNDQuMSAwLTMyMi0xLTI4LjUtMTIuMS0yNi44LTYxLTM2TDAgMzUuOGM3My45IDIuNCAyNTUuOSA4LjYgMzYzLTMuOC0zLjUgMzguMi03LjggMTI2LjUtNy44IDEyNi41bC0yMy4yIDBDMzIwLjkgMTE1LjcgMzEzLjIgNjggMjc3LjMgNjhsLTEzNyAwYy0xMC4yIDAtMTAuNyAzLjUtMTAuNyA5LjhsMCAxNjMuOGM1OCAuNSA4OC41LTIuNSA4OC41LTIuNSAyOS44LTEgMjcuNi04LjUgNDAuNy02NS4zbDI1LjggMGMtNC40IDEwMS40LTMuOSA2MS44LTEuOCAxNjAuM0wyNTcgMzM0Yy05LjItNDAuMS05LjEtNjEtMzkuNS02MS41IDAgMC0yMS41LTItODgtMmwwIDEzOWMwIDI2IDE0LjMgMzguMyA0NC4zIDM4LjNsODkuMyAwYzYzLjYgMCA2Ni42LTI1IDk4LjctOTkuOGwyMi4yIDB6Il19LFZTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJidGMiLGljb246WzM4NCw1MTIsW10sImYxNWEiLCJNMzEwLjQgMjQyLjZjMjcuNy0xNC4yIDQ1LjQtMzkuNCA0MS4zLTgxLjMtNS40LTU3LjQtNTIuNS03Ni42LTExNC44LTgxLjlsMC03OS40LTQ4LjUgMCAwIDc3LjJjLTEyLjYgMC0yNS41IC4zLTM4LjQgLjZsMC03Ny44LTQ4LjUgMCAwIDc5LjRjLTE3LjggLjUtMzguNiAuMy05Ny40IDBsMCA1MS43YzM4LjMtLjcgNTguNC0zLjEgNjMgMjEuNGwwIDIxNy40Yy0yLjkgMTkuNS0xOC41IDE2LjctNTMuMyAxNi4xTDQgNDQzLjdjODguNSAwIDk3LjQgLjMgOTcuNCAuM2wwIDY4IDQ4LjUgMCAwLTY3LjFjMTMuMiAuMyAyNi4yIC4zIDM4LjQgLjNsMCA2Ni43IDQ4LjUgMCAwLTY4YzgxLjMtNC40IDEzNS42LTI0LjkgMTQyLjktMTAxLjUgNS43LTYxLjQtMjMuMy04OC45LTY5LjMtOTkuOXpNMTUwLjggMTM0LjZjMjcuNCAwIDExMy4xLTguNSAxMTMuMSA0OC41IDAgNTQuNS04NS43IDQ4LjItMTEzLjEgNDguMmwwLTk2Ljd6bTAgMjUxLjhsMC0xMDYuNWMzMi44IDAgMTMzLjEtOS4xIDEzMy4xIDUzLjMgMCA2MC4yLTEwMC40IDUzLjMtMTMzLjEgNTMuM3oiXX0salN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFkbiIsaWNvbjpbNTEyLDUxMixbXSwiZjE3MCIsIk0yNTYgMTY3LjVsNjQuOSA5OC44LTEyOS44IDAgNjQuOS05OC44ek04IDI1NmEyNDggMjQ4IDAgMSAxIDQ5NiAwIDI0OCAyNDggMCAxIDEgLTQ5NiAwem0zOTYuMiA4Mi43bC0xNDguMi0yMjMuMi0xNDguMiAyMjMuMiAzMC40IDAgMzMuNi01MS43IDE2OC42IDAgMzMuNiA1MS43IDMwLjIgMHoiXX0sVVN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS14LXR3aXR0ZXIiLGljb246WzQ0OCw1MTIsW10sImU2MWEiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptMjk3LjEgODRsLTEwMy44IDExOC42IDEyMi4xIDE2MS40LTk1LjYgMC03NC44LTk3LjktODUuNyA5Ny45LTQ3LjUgMCAxMTEtMTI2LjktMTE3LjEtMTUzLjEgOTggMCA2Ny43IDg5LjUgNzguMi04OS41IDQ3LjUgMHpNMzIzLjMgMzY3LjZsLTE2OS45LTIyNC43LTI4LjMgMCAxNzEuOCAyMjQuNyAyNi40IDB6Il19LFdTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtZm9udC1hd2Vzb21lIixpY29uOls0NDgsNTEyLFtdLCJlNWFkIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTkwIDEyMmMwIDkuMy00LjggMTcuNC0xMi4xIDIybDE4OC45IDBjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgMS44LS40IDMuNy0xLjEgNS40TDMxMiAyNjQgMzQyLjkgMzMzLjRjLjcgMS43IDEuMSAzLjUgMS4xIDUuNCAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJsLTE4Ni44IDAgMCAzMi0zMiAwIDAtMjA5LjVjLTYuMS00LjgtMTAtMTIuMi0xMC0yMC41IDAtMTQuNCAxMS42LTI2IDI2LTI2czI2IDExLjYgMjYgMjZ6Il19LEdTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmb3J1bWJlZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjIxMSIsIk01LjggMzA5LjdDMiAyOTIuNyAwIDI3NS41IDAgMjU4LjMgMCAxMzUgOTkuOCAzNSAyMjMuMSAzNSAyMzkuNyAzNSAyNTYuNCAzNyAyNzIuNCA0MC41IDE0OSA4Ny41IDUxLjkgMTg2IDUuOCAzMDkuN3pNMzk4LjcgMTIwLjVjLTEzLjctMTcuNS0yOS43LTMyLjctNDcuOC00NS4zLTE0OS42IDQ0LjMtMjY2LjMgMTYyLjEtMzA5LjcgMzEyIDEyLjUgMTguMSAyOCAzNS42IDQ1LjIgNDkgNDMuMS0xNTEuMyAxNjEuMi0yNzEuNyAzMTIuMy0zMTUuN3ptMTUuOCAyNTIuN2MxNS4yLTI1LjEgMjUuNC01My43IDI5LjUtODIuOC03OS40IDQyLjktMTQ1IDExMC42LTE4Ny42IDE5MC4zIDMwLTQuNCA1OC45LTE1LjMgODQuNi0zMS4zIDM1IDEzLjEgNzAuOSAyNC4zIDEwNyAzMy42LTkuMy0zNi41LTIwLjQtNzQuNS0zMy41LTEwOS44em0yOS43LTE0NS41Yy0yLjYtMTkuNS03LjktMzguNy0xNS44LTU2LjgtMTM3LjkgNDUuOC0yNDYuNCAxNTYuNi0yOTEuMyAyOTUuMSAxOC4xIDcuNiAzNyAxMi41IDU2LjYgMTUuMiA0Ni4zLTExNC4xIDEzNi44LTIwNi44IDI1MC41LTI1My41eiJdfSxpcGU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiNDItZ3JvdXAiLGljb246WzY0MCw1MTIsWyJpbm5vc29mdCJdLCJlMDgwIiwiTTMyMCA5NmwwIDMyMGMyMSAwIDQxLjgtNC4xIDYxLjItMTIuMnMzNy0xOS44IDUxLjktMzQuNyAyNi42LTMyLjUgMzQuNy01MS45IDEyLjItNDAuMiAxMi4yLTYxLjItNC4xLTQxLjgtMTIuMi02MS4yLTE5LjgtMzcuMS0zNC43LTUxLjktMzIuNS0yNi42LTUxLjktMzQuNy00MC4yLTEyLjItNjEuMi0xMi4yek0wIDI1NkwxNjAgNDE2IDMyMCAyNTYgMTYwIDk2IDAgMjU2em00ODAgMGMwIDIxIDQuMSA0MS44IDEyLjIgNjEuMnMxOS44IDM3IDM0LjcgNTEuOSAzMi41IDI2LjYgNTEuOSAzNC43IDQwLjIgMTIuMiA2MS4yIDEyLjJsMC0zMjBjLTQyLjQgMC04My4xIDE2LjktMTEzLjEgNDYuOVM0ODAgMjEzLjYgNDgwIDI1NnoiXX0sWVN0PWlwZSxLU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3R1bWJsZXVwb24tY2lyY2xlIixpY29uOls1MTIsNTEyLFtdLCJmMWEzIiwiTTI2NCA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnptMCAxNzcuNWMtOS44IDAtMTcuOCA4LTE3LjggMTcuOGwwIDEwNi45YzAgNDAuOS0zMy45IDczLjktNzQuOSA3My45LTQxLjQgMC03NC45LTMzLjUtNzQuOS03NC45bDAtNDYuNSA1Ny4zIDAgMCA0NS44YzAgMTAgOCAxNy44IDE3LjggMTcuOHMxNy44LTcuOSAxNy44LTE3LjhsMC0xMDguNGMwLTQwIDM0LjItNzIuMSA3NC43LTcyLjEgNDAuNyAwIDc0LjcgMzIuMyA3NC43IDcyLjZsMCAyMy43LTM0LjEgMTAuMS0yMi45LTEwLjcgMC0yMC42Yy4xLTkuNi03LjktMTcuNi0xNy43LTE3LjZ6TTQzMS42IDMwOS4xYzAgNDEuNC0zMy41IDc0LjktNzQuOSA3NC45LTQxLjIgMC03NC45LTMzLjItNzQuOS03NC4ybDAtNDYuOCAyMi45IDEwLjcgMzQuMS0xMC4xIDAgNDcuMWMwIDkuOCA4IDE3LjYgMTcuOCAxNy42czE3LjgtNy45IDE3LjgtMTcuNmwwLTQ4IDU3LjMgMGMtLjEgNDUuOS0uMSA0Ni40LS4xIDQ2LjR6Il19LFpTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzeW1mb255IixpY29uOls1MTIsNTEyLFtdLCJmODNkIiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNMzg5LjcgMTUxLjVjLTExLjUgLjQtMTkuNC02LjQtMTkuOC0xNi45LS4zLTkuMiA2LjctMTMuNCA2LjUtMTguOS0uMi02LjUtMTAuMi02LjgtMTIuOS02LjctMzkuOCAxLjMtNDguNiA1Ny01OC45IDExMy44IDIxLjQgMy4yIDM2LjYtLjcgNDUuMS02LjIgMTItNy43LTMuMy0xNS43LTEuNC0yNC42IDQtMTguMiAzMi42LTE5IDMyIDUuMy0uNCAxNy45LTI1LjkgNDEuOC03Ny42IDM1LjctMTAuOCA1OS41LTE4LjQgMTE1LTU4LjIgMTYxLjctMjkgMzQuNS01OC40IDM5LjgtNzEuNiA0MC4zLTI0LjYgLjktNDEtMTIuMy00MS42LTI5LjgtLjYtMTcgMTQuNC0yNi4zIDI0LjMtMjYuNiAyMS45LS44IDMwLjEgMjUuNyAxNC45IDM0LTEyLjEgOS43IC4xIDEyLjYgMi4xIDEyLjYgMTAuNC0uNCAxNy4zLTUuNSAyMi4yLTkgMjQtMjAgMzMuMi01NC45IDQ1LjQtMTE4LjMgOC4yLTQ5LjcgMTctNzggMTguMi04Mi0xNi45LTEyLjctMjcuMS0yOC42LTQ5LjgtMzQuNy0xNS42LTQuMi0yNS4xLS42LTMxLjggNy44LTcuOSAxMC01LjMgMjMgMi40IDMwLjdsMTIuNiAxNGMxNS41IDE3LjkgMjQgMzEuOSAyMC44IDUwLjYtNS4xIDI5LjktNDAuNyA1Mi45LTgyLjkgMzkuOS0zNi0xMS4xLTQyLjctMzYuNi0zOC40LTUwLjYgNy41LTI0LjIgNDIuNC0xMS43IDM0LjYgMTMuNi0yLjggOC42LTQuOSA4LjctNi4zIDEzLjEtNC42IDE0LjggNDEuOCAyOC40IDUxLTEuNCA0LjUtMTQuNS01LjMtMjEuNy0yMi4yLTM5LjktMjguNS0zMS43LTE2LTY1LjUgMi45LTc5LjcgNTIuOC0zOS40IDEwMC41IDE3LjUgMTEwLjYgMjUuOCAzNy4yLTEwOSAxMDAuNS0xMDUuNSAxMDIuNC0xMDUuNSAyNS4yLS44IDQ0LjIgMTAuNiA0NC44IDI4LjYgLjIgNy43LTQuMiAyMi42LTE5LjUgMjMuMXoiXX0sWFN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNhbGVzZm9yY2UiLGljb246WzY0MCw1MTIsW10sImY4M2IiLCJNMjQ5LjQgMjQ1LjZsLTI2LjQgMGMuNy01LjIgMy4zLTE0LjEgMTMuNi0xNC4xIDYuOCAwIDEyIDMuOCAxMi43IDE0LjF6TTM4NiAyMzEuOGMtLjUgMC0xNC4xLTEuOC0xNC4xIDIwczEzLjYgMjAgMTQuMSAyMGMxMyAwIDE0LjEtMTMuNSAxNC4xLTIwIDAtMjEuOC0xMy43LTIwLTE0LjEtMjB6TTE0Mi44IDI1NS41Yy0xLjEgLjktMiAyLTIuNSAzLjJzLS44IDIuNy0uNyA0YzAgNC44IDIuMSA2LjEgMy4zIDcgNC43IDMuNyAxNS4xIDIuMSAyMC45IDFsMC0xNi45Yy01LjMtMS4xLTE2LjctMi0yMC45IDEuNnpNNjQwLjUgMjMyYzAgODcuNi04MCAxNTQuNC0xNjUuNCAxMzYuNC0xOC40IDMzLTcwLjcgNzAuOC0xMzIuMiA0MS42LTQxLjIgOTYtMTc3LjkgOTIuMi0yMTMuOC01LjItMTE5LjcgMjMuOS0xNzguOC0xMzguNC03NS4zLTE5OS4zLTM0LjgtNzkuNCAyMi42LTE3My42IDExNC4zLTE3My42IDE5LjEgMCAzNy45IDQuNCA1NSAxMi45czMyIDIwLjcgNDMuNiAzNS44YzIwLjctMjEuNCA0OS40LTM0LjggODEuMS0zNC44IDQyLjMgMCA3OSAyMy41IDk4LjggNTguNiA5Mi44LTQwLjcgMTkzLjggMjguMiAxOTMuOCAxMjcuNXpNMTIwLjkgMjYzLjhjMC0xMS44LTExLjctMTUuMi0xNy45LTE3LjItNS4zLTIuMS0xMy40LTMuNS0xMy40LTguOSAwLTkuNSAxNy02LjcgMjUuMi0yLjEgMCAwIDEuMiAuNyAxLjYtLjUgLjItLjcgMi40LTYuNiAyLjYtNy4zIC4xLS4zIC4xLS42LS4xLS44cy0uNC0uNS0uNi0uNmMtMTIuMy03LjYtNDAuNy04LjUtNDAuNyAxMi43IDAgMTIuNSAxMS41IDE1LjQgMTcuOSAxNy4yIDQuNyAxLjYgMTMuMiAzIDEzLjIgOC43IDAgNC0zLjUgNy4xLTkuMiA3LjEtNi45IDAtMTMuNS0yLjItMTktNi4zLS41LS4yLTEuNC0uNy0xLjYgLjdsLTIuNCA3LjVjLS41IC45IC4yIDEuMiAuMiAxLjQgMS44IDEuNCAxMC4zIDYuNiAyMi44IDYuNiAxMy4yIDAgMjEuNC03LjEgMjEuNC0xOC4xbDAgMHptMzItNDIuNmMtMTAuMSAwLTE4LjcgMy4yLTIxLjQgNS4yLS4xIC4xLS4yIC4yLS4zIC4zcy0uMSAuMi0uMSAuNCAwIC4zIDAgLjQgLjEgLjMgLjIgLjRsMi42IDcuMWMuMSAuMiAuMiAuNSAuNSAuNnMuNSAuMiAuNyAuMWMuNiAwIDYuOC00IDE2LjktNCA0IDAgNy4xIC43IDkuMiAyLjQgMy42IDIuOCAzLjEgOC4zIDMuMSAxMC42LTQuOC0uMy0xOS4xLTMuNC0yOS40IDMuOC0yLjMgMS42LTQuMyAzLjgtNS41IDYuM3MtMS45IDUuNC0xLjggOC4yYzAgNS45IDEuNSAxMC40IDYuNiAxNC40IDEyLjIgOC4yIDM2LjMgMiAzOC4xIDEuNCAxLjYtLjMgMy41LS43IDMuNS0xLjlsMC0zMy45YzAtNC42IC4zLTIxLjYtMjIuOC0yMS42bDAgLjF6bTQ2LjYtMjFjMC0uMiAwLS4zLS4xLS41cy0uMS0uMy0uMy0uNC0uMi0uMi0uNC0uMy0uMy0uMS0uNS0uMWwtOS44IDBjLS4yIDAtLjMgMC0uNSAuMXMtLjMgLjEtLjQgLjMtLjIgLjItLjMgLjQtLjEgLjMtLjEgLjVsMCA3OWMwIC4yIDAgLjMgLjEgLjVzLjEgLjMgLjMgLjQgLjIgLjIgLjQgLjMgLjMgLjEgLjUgLjFsOS45IDBjLjIgMCAuMyAwIC41LS4xcy4zLS4xIC40LS4zIC4yLS4yIC4zLS40IC4xLS4zIC4xLS41bC0uMS03OXptNTUuNyAyOC45Yy0yLjEtMi4zLTYuOC03LjUtMTcuNi03LjUtMy41IDAtMTQuMiAuMi0yMC43IDguOS02LjQgNy42LTYuNiAxOC4xLTYuNiAyMS40IDAgMy4xIC4yIDE0LjMgNy4xIDIxLjIgMi42IDIuOSA5LjEgOC4yIDIyLjggOC4yIDEwLjggMCAxNi41LTIuMyAxOC42LTMuOCAuNS0uMiAuNy0uNyAuMi0xLjlsLTIuMy02LjhjLS4xLS4zLS4zLS41LS42LS42cy0uNS0uMi0uOC0uMWMtMi42IC45LTYuMyAyLjgtMTUuMyAyLjgtMTcuNCAwLTE2LjgtMTQuNy0xNi45LTE2LjdsMzcuMiAwYy4zIDAgLjUtLjEgLjctLjNzLjQtLjQgLjQtLjdjLS4zIDAgMi4xLTE0LjctNi4xLTI0LjJsMCAwem0zNi43IDUyLjdjMTMuMiAwIDIxLjQtNy4xIDIxLjQtMTguMSAwLTExLjgtMTEuNy0xNS4yLTE3LjktMTcuMi00LjEtMS43LTEzLjQtMy40LTEzLjQtOC45IDAtMy44IDMuMy02LjQgOC41LTYuNCA1LjggLjEgMTEuNSAxLjYgMTYuNyA0LjIgMCAwIDEuMiAuNyAxLjYtLjUgLjItLjcgMi40LTYuNiAyLjYtNy4zIC4xLS4zIC4xLS42LS4xLS44cy0uNC0uNS0uNi0uNmMtNy45LTQuOS0xNi43LTQuOS0yMC4yLTQuOS0xMiAwLTIwLjUgNy4zLTIwLjUgMTcuNiAwIDEyLjUgMTEuNSAxNS40IDE3LjkgMTcuMiA2LjEgMiAxMy4yIDMuMyAxMy4yIDguNyAwIDQtMy41IDcuMS05LjIgNy4xLTYuOSAwLTEzLjUtMi4yLTE5LTYuNC0uMS0uMS0uMy0uMi0uNS0uMnMtLjQgMC0uNSAuMS0uMyAuMi0uNCAuMy0uMiAuMy0uMiAuNWwtMi4zIDcuNWMtLjUgLjkgLjIgMS4yIC4yIDEuNCAxLjcgMS40IDEwLjMgNi42IDIyLjggNi42bDAgMHpNMzU3LjYgMjI0YzAtLjctLjItMS4yLTEuMi0xLjJsLTExLjggMGMwLS4xIC45LTguOSA0LjUtMTIuNSA0LjItNC4yIDExLjgtMS42IDEyLTEuNiAxLjIgLjUgMS40IDAgMS42LS41bDIuOC03LjhjLjctLjkgMC0xLjItLjItMS40LTUuMS0yLTE3LjQtMi45LTI0LjUgNC4yLTUuNSA1LjUtNyAxMy45LTggMTkuNWwtOC41IDBjLS4zIDAtLjYgLjItLjggLjRzLS4zIC41LS40IC44bC0xLjQgNy44YzAgLjcgLjIgMS4yIDEuMiAxLjJsOC4yIDBjLTguNSA0Ny45LTguNyA1MC4yLTEwLjMgNTUuNS0xLjEgMy42LTMuMyA2LjktNS45IDcuOC0uMSAwLTMuOSAxLjctOS42LS4yIDAgMC0uOS0uNS0xLjQgLjctLjIgLjctMi42IDYuOC0yLjggNy41czAgMS40IC41IDEuNGM1LjEgMiAxMyAxLjggMTcuOSAwIDYuMy0yLjMgOS43LTcuOSAxMS41LTEyLjkgMi44LTcuNyAyLjgtOS44IDExLjgtNTkuN2wxMi4yIDBjLjMgMCAuNi0uMiAuOC0uNHMuMy0uNSAuNC0uOGwxLjQtNy44ek00MTEgMjQwYy0uNi0xLjctNS4xLTE4LjEtMjUuMi0xOC4xLTE1LjIgMC0yMyAxMC0yNS4yIDE4LjEtMSAzLTMuMiAxNCAwIDIzLjUgLjEgLjMgNC40IDE4LjEgMjUuMiAxOC4xIDE1IDAgMjIuOS05LjYgMjUuMi0xOC4xIDMuMi05LjYgMS0yMC41IDAtMjMuNXptNDUuNC0xNi43Yy01LTEuNy0xNi42LTEuOS0yMi4xIDUuNGwwLTQuNWMwLS4yIDAtLjMtLjEtLjVzLS4xLS4zLS4zLS40LS4yLS4yLS40LS4zLS4zLS4xLS41LS4xbC05LjQgMGMtLjIgMC0uMyAwLS41IC4xcy0uMyAuMS0uNCAuMy0uMiAuMi0uMyAuNC0uMSAuMy0uMSAuNWwwIDU1LjNjMCAuMiAwIC4zIC4xIC41cy4xIC4zIC4zIC40IC4yIC4yIC40IC4zIC4zIC4xIC41IC4xbDkuNiAwYy4yIDAgLjMgMCAuNS0uMXMuMy0uMSAuNC0uMyAuMi0uMiAuMy0uNCAuMS0uMyAuMS0uNWwwLTI3LjhjMC0yLjkgLjEtMTEuNCA0LjUtMTUuMSA0LjktNC45IDEyLTMuNCAxMy40LTMuMSAuMyAwIC42LS4xIC44LS4zcy40LS40IC42LS43YzEuMi0yLjYgMi4yLTUuMyAzLjEtOCAuMS0uMyAuMS0uNSAwLS44cy0uMy0uNS0uNS0uNmwwIDB6bTQ2LjggNTQuMWwtMi4xLTcuM2MtLjUtMS4yLTEuNC0uNy0xLjQtLjctNC4yIDEuOC0xMC4xIDEuOS0xMS4zIDEuOS00LjYgMC0xNy4yLTEuMS0xNy4yLTE5LjggMC02LjIgMS44LTE5LjggMTYuNS0xOS44IDMuOS0uMSA3LjggLjUgMTEuNSAxLjYgMCAwIC45IC41IDEuMi0uNyAuOS0yLjYgMS42LTQuNSAyLjYtNy41IC4yLS45LS41LTEuMi0uNy0xLjItMTEuNi0zLjktMjIuMy0yLjUtMjcuOCAwLTEuNiAuNy0xNi4yIDYuNS0xNi4yIDI3LjUgMCAyLjktLjYgMzAuMSAyOC45IDMwLjEgNS4zIDAgMTAuNi0xIDE1LjUtMi44IC4yLS4yIC40LS40IC41LS42cy4xLS41IDAtLjhsMCAwem01My45LTM5LjVjLS44LTMtNS40LTE2LjItMjIuMy0xNi4yLTE2IDAtMjMuNSAxMC4xLTI1LjYgMTguNi0xLjIgMy44LTEuNyA3LjgtMS43IDExLjggMCAyNS45IDE4LjggMjkuNCAyOS45IDI5LjQgMTAuOCAwIDE2LjUtMi4zIDE4LjYtMy44IC41LS4yIC43LS43IC4yLTEuOWwtMi40LTYuOGMtLjEtLjMtLjMtLjUtLjYtLjZzLS42LS4yLS44LS4xYy0yLjYgLjktNi4zIDIuOC0xNS4zIDIuOC0xNy40IDAtMTYuOS0xNC43LTE2LjktMTYuN2wzNy4yIDBjLjMgMCAuNS0uMSAuNy0uM3MuNC0uNCAuNC0uN2MtLjIgMCAuOS03LjEtMS40LTE1LjVsMCAwem0tMjMuMy02LjRjLTEwLjMgMC0xMyA5LTEzLjYgMTQuMWwyNi40IDBjLS45LTExLjktNy42LTE0LjEtMTIuNy0xNC4xbDAgMHoiXX0sUVN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNvdXJjZXRyZWUiLGljb246WzQ0OCw1MTIsW10sImY3ZDMiLCJNNDI3LjQgMjAzYzAtMTEyLjEtOTAuOS0yMDMtMjAzLTIwMy0xMTIuMS0uMi0yMDMgOTAuNi0yMDMuMiAyMDIuNi0uMSA0MyAxMy41IDg0LjggMzguNyAxMTkuNnM2MC45IDYwLjYgMTAxLjggNzMuOGwwIDEwMS43YzAgMy44IDEuNSA3LjQgNC4yIDEwLjFzNi4zIDQuMiAxMC4xIDQuMmw5Ni40IDBjMy44IDAgNy40LTEuNSAxMC4xLTQuMnM0LjItNi4zIDQuMi0xMC4xbDAtMTAxLjZjNDAuOC0xMy4yIDc2LjUtMzkgMTAxLjctNzMuN3MzOC45LTc2LjUgMzktMTE5LjR6bS0yNzEuNiAwYzAtOTAuOCAxMzcuMy05MC44IDEzNy4zIDAtLjEgODkuOS0xMzcuMyA5MS0xMzcuMyAweiJdfSxKU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGlua2VkaW4taW4iLGljb246WzQ0OCw1MTIsW10sImYwZTEiLCJNMTAwLjMgNDQ4bC05Mi45IDAgMC0yOTkuMSA5Mi45IDAgMCAyOTkuMXpNNTMuOCAxMDguMUMyNC4xIDEwOC4xIDAgODMuNSAwIDUzLjggMCAzOS41IDUuNyAyNS45IDE1LjggMTUuOHMyMy44LTE1LjggMzgtMTUuOCAyNy45IDUuNyAzOCAxNS44IDE1LjggMjMuOCAxNS44IDM4YzAgMjkuNy0yNC4xIDU0LjMtNTMuOCA1NC4zek00NDcuOSA0NDhsLTkyLjcgMCAwLTE0NS42YzAtMzQuNy0uNy03OS4yLTQ4LjMtNzkuMi00OC4zIDAtNTUuNyAzNy43LTU1LjcgNzYuN2wwIDE0OC4xLTkyLjggMCAwLTI5OS4xIDg5LjEgMCAwIDQwLjggMS4zIDBjMTIuNC0yMy41IDQyLjctNDguMyA4Ny45LTQ4LjMgOTQgMCAxMTEuMyA2MS45IDExMS4zIDE0Mi4zbDAgMTY0LjMtLjEgMHoiXX0sZXp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imh0bWw1IixpY29uOlszODQsNTEyLFtdLCJmMTNiIiwiTTAgMzJMMzQuOSA0MjcuOCAxOTEuNSA0ODAgMzQ5LjEgNDI3LjggMzg0IDMyIDAgMzJ6TTMwOC4yIDE1OS45bC0xODMuOCAwIDQuMSA0OS40IDE3NS42IDAtMTMuNiAxNDguNC05Ny45IDI3IDAgLjMtMS4xIDAtOTguNy0yNy4zLTYtNzUuOCA0Ny43IDAgMy41IDM4LjEgNTMuNSAxNC41IDUzLjctMTQuNSA2LTYyLjItMTY2LjkgMC0xMi44LTE0NS42IDI0MS4xIDAtNC40IDQ3Ljd6Il19LHR6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJydXN0IixpY29uOls1MTIsNTEyLFtdLCJlMDdhIiwiTTUwOC41IDI0OS44bC0yMS44LTEzLjVjLS4yLTItLjMtMy45LS41LTUuOWwxOC43LTE3LjVjLjktLjkgMS42LTEuOSAyLTMuMXMuNS0yLjUgLjItMy43LS44LTIuNC0xLjYtMy4zLTEuOC0xLjctMy0yLjFsLTI0LTljLS41LTEuOS0xLjEtMy44LTEuNy01LjZsMTUtMjAuOGMuNy0xIDEuMi0yLjIgMS4zLTMuNHMwLTIuNS0uNS0zLjctMS4yLTIuMi0yLjItMi45LTIuMS0xLjMtMy40LTEuNWwtMjUuNC00LjJjLS45LTEuNy0xLjgtMy40LTIuNy01LjJsMTAuNy0yMy40Yy41LTEuMSAuNy0yLjQgLjYtMy42cy0uNS0yLjQtMS4yLTMuNS0xLjYtMS45LTIuOC0yLjUtMi40LS44LTMuNi0uOGwtMjUuOCAuOWMtMS4yLTEuNS0yLjQtMi45LTMuNi00LjRMNDM5IDgxLjhjLjMtMS4yIC4zLTIuNS0uMS0zLjdzLTEtMi4zLTEuOS0zLjItMi0xLjUtMy4yLTEuOS0yLjUtLjQtMy43LS4xTDQwNSA3OC45Yy0xLjQtMS4yLTIuOS0yLjQtNC40LTMuNmwuOS0yNS44Yy4xLTEuMy0uMi0yLjUtLjgtMy42cy0xLjQtMi4xLTIuNS0yLjgtMi4yLTEuMS0zLjUtMS4yLTIuNSAuMS0zLjcgLjZMMzY3LjcgNTMuMmMtMS43LS45LTMuNC0xLjgtNS4xLTIuN2wtNC4yLTI1LjRjLS4yLTEuMi0uNy0yLjQtMS41LTMuNHMtMS44LTEuNy0yLjktMi4yLTIuNC0uNy0zLjctLjUtMi40IC42LTMuNCAxLjNMMzI2IDM1LjNjLTEuOS0uNi0zLjgtMS4xLTUuNi0xLjdsLTktMjRjLS40LTEuMi0xLjItMi4yLTIuMS0zcy0yLjEtMS40LTMuMy0xLjYtMi41LS4yLTMuNyAuMi0yLjMgMS4xLTMuMSAyTDI4MS42IDI1LjljLTItLjItMy45LS40LTUuOS0uNUwyNjIuMyAzLjVjLS43LTEuMS0xLjYtMS45LTIuNy0yLjZzLTIuMy0uOS0zLjYtLjktMi41IC4zLTMuNiAuOS0yIDEuNS0yLjcgMi42TDIzNi4yIDI1LjNjLTIgLjItMy45IC4zLTUuOSAuNkwyMTIuOSA3LjFjLS45LS45LTEuOS0xLjYtMy4xLTJzLTIuNS0uNS0zLjctLjItMi40IC44LTMuMyAxLjYtMS43IDEuOC0yLjEgM2wtOSAyNGMtMS45IC42LTMuOCAxLjEtNS43IDEuN2wtMjAuOC0xNWMtMS0uNy0yLjItMS4yLTMuNC0xLjNzLTIuNSAwLTMuNyAuNS0yLjIgMS4yLTIuOSAyLjItMS4zIDIuMS0xLjUgMy40bC00LjIgMjUuNGMtMS43IC45LTMuNCAxLjgtNS4yIDIuN0wxMjAuOSA0Mi42Yy0xLjEtLjUtMi40LS43LTMuNy0uNnMtMi41IC41LTMuNSAxLjItMS45IDEuNy0yLjUgMi44LS44IDIuNC0uOCAzLjZsLjkgMjUuOGMtMS41IDEuMi0zIDIuNC00LjQgMy42TDgxLjggNzNjLTEuMi0uMy0yLjUtLjMtMy43IC4xcy0yLjMgMS0zLjIgMS45LTEuNSAyLTEuOSAzLjItLjQgMi41LS4xIDMuN0w3OC45IDEwN2MtMS4yIDEuNC0yLjQgMi45LTMuNiA0LjRsLTI1LjgtLjljLTEuMyAwLTIuNSAuMi0zLjYgLjhzLTIuMSAxLjQtMi44IDIuNC0xLjEgMi4yLTEuMiAzLjUgLjEgMi41IC42IDMuNmwxMC43IDIzLjRjLS45IDEuNy0xLjggMy40LTIuNyA1LjJsLTI1LjQgNC4xYy0xLjIgLjItMi40IC43LTMuNCAxLjVzLTEuNyAxLjgtMi4yIDIuOS0uNyAyLjQtLjUgMy43IC42IDIuNCAxLjMgMy40bDE1IDIwLjhjLS42IDEuOS0xLjEgMy44LTEuNyA1LjdsLTI0IDljLTEuMiAuNC0yLjIgMS4yLTMgMi4xcy0xLjQgMi4xLTEuNiAzLjMtLjIgMi41IC4yIDMuNyAxLjEgMi4zIDIgMy4xbDE4LjcgMTcuNWMtLjIgMi0uNCAzLjktLjYgNS45TDMuNSAyNDkuOGMtMS4xIC43LTEuOSAxLjYtMi42IDIuN3MtLjkgMi4zLS45IDMuNiAuMyAyLjUgLjkgMy42IDEuNSAyIDIuNiAyLjdsMjEuOCAxMy41Yy4yIDIgLjMgMy45IC42IDUuOUw3LjEgMjk5LjFjLS45IC45LTEuNiAxLjktMiAzLjFzLS41IDIuNS0uMiAzLjcgLjggMi40IDEuNiAzLjMgMS44IDEuNyAzIDIuMWwyNCA5Yy42IDEuOSAxLjEgMy44IDEuNyA1LjZsLTE1IDIwLjhjLS43IDEtMS4yIDIuMi0xLjMgMy40czAgMi41IC41IDMuNyAxLjIgMi4yIDIuMiAyLjkgMi4xIDEuMyAzLjQgMS41bDI1LjQgNC4yYy45IDEuNyAxLjggMy40IDIuNyA1LjFMNDIuNiAzOTEuMWMtLjUgMS4xLS43IDIuNC0uNiAzLjZzLjUgMi41IDEuMiAzLjVjLjcgMS4xIDEuNiAxLjkgMi43IDIuNXMyLjQgLjggMy42IC44bDI1LjgtLjljMS4yIDEuNSAyLjQgMi45IDMuNiA0LjRMNzMgNDMwLjJjLS4zIDEuMi0uMyAyLjUgLjEgMy43czEgMi4zIDEuOSAzLjIgMiAxLjUgMy4yIDEuOSAyLjUgLjQgMy43IC4xbDI1LjItNS45YzEuNSAxLjIgMi45IDIuNCA0LjQgMy42bC0uOSAyNS44YzAgMS4zIC4yIDIuNSAuOCAzLjZzMS40IDIuMSAyLjUgMi44IDIuMiAxLjEgMy41IDEuMiAyLjUtLjEgMy42LS42bDIzLjQtMTAuN2MxLjcgLjkgMy40IDEuOCA1LjEgMi43bDQuMiAyNS40Yy4yIDEuMiAuNyAyLjQgMS41IDMuNHMxLjggMS44IDIuOSAyLjIgMi40IC43IDMuNyAuNSAyLjQtLjYgMy40LTEuM2wyMC44LTE1YzEuOSAuNiAzLjggMS4xIDUuNiAxLjdsOSAyNGMuNCAxLjIgMS4yIDIuMiAyLjEgM3MyLjEgMS40IDMuMyAxLjYgMi41IC4yIDMuNy0uMiAyLjMtMS4xIDMuMS0ybDE3LjUtMTguN2MyIC4yIDMuOSAuNCA1LjkgLjZsMTMuNSAyMS44Yy43IDEuMSAxLjYgMS45IDIuNyAyLjZzMi4zIC45IDMuNiAuOSAyLjUtLjMgMy42LS45IDItMS41IDIuNy0yLjZsMTMuNS0yMS44YzItLjIgMy45LS4zIDUuOS0uNmwxNy41IDE4LjdjLjkgLjkgMS45IDEuNiAzLjEgMnMyLjUgLjUgMy43IC4yIDIuNC0uOCAzLjMtMS42IDEuNy0xLjggMi4xLTNsOS0yNGMxLjktLjYgMy44LTEuMSA1LjYtMS43bDIwLjggMTVjMSAuNyAyLjIgMS4yIDMuNCAxLjNzMi41IDAgMy43LS41IDIuMi0xLjIgMi45LTIuMiAxLjMtMi4xIDEuNS0zLjRsNC4yLTI1LjRjMS43LS45IDMuNC0xLjggNS4xLTIuN2wyMy40IDEwLjdjMS4xIC41IDIuNCAuNyAzLjYgLjZzMi40LS41IDMuNS0xLjIgMS45LTEuNiAyLjUtMi44IC44LTIuNCAuOC0zLjZsLS45LTI1LjhjMS41LTEuMiAyLjktMi40IDQuNC0zLjZsMjUuMiA1LjljMS4yIC4zIDIuNSAuMyAzLjctLjFzMi4zLTEgMy4yLTEuOSAxLjUtMiAxLjktMy4yIC40LTIuNSAuMS0zLjdMNDMzLjEgNDA1YzEuMi0xLjQgMi40LTIuOSAzLjYtNC40bDI1LjggLjljMS4zIC4xIDIuNS0uMiAzLjYtLjhzMi4xLTEuNCAyLjgtMi41Yy43LTEgMS4xLTIuMiAxLjItMy41cy0uMS0yLjUtLjYtMy42bC0xMC43LTIzLjRjLjktMS43IDEuOC0zLjQgMi43LTUuMWwyNS40LTQuMmMxLjItLjIgMi40LS43IDMuNC0xLjVzMS44LTEuOCAyLjItMi45IC43LTIuNCAuNS0zLjctLjYtMi40LTEuMy0zLjRsLTE1LTIwLjhjLjYtMS45IDEuMS0zLjggMS43LTUuNmwyNC05YzEuMi0uNCAyLjItMS4yIDMtMi4xczEuNC0yLjEgMS42LTMuMyAuMi0yLjUtLjItMy43LTEuMS0yLjMtMi0zLjFsLTE4LjctMTcuNWMuMi0xLjkgLjQtMy45IC42LTUuOWwyMS44LTEzLjVjMS4xLS43IDEuOS0xLjYgMi42LTIuN3MuOS0yLjMgLjktMy42LS4zLTIuNS0uOS0zLjYtMS41LTItMi42LTIuN2wwIDB6bS0xNTEgMTI5LjFjLTMuNi0uOC03LjQtLjEtMTAuNSAxLjlzLTUuMyA1LjItNiA4LjhsLTcuNiAzNS43Yy0yNC42IDExLjEtNTEuMyAxNi44LTc4LjMgMTYuN3MtNTMuNi02LjEtNzguMS0xNy40bC03LjYtMzUuN2MtLjQtMS44LTEuMS0zLjUtMi4xLTVzLTIuNC0yLjgtMy45LTMuOC0zLjItMS43LTUtMi0zLjYtLjMtNS40IC4xbC0zMS41IDYuOGMtNS44LTYtMTEuMy0xMi41LTE2LjMtMTkuMmwxNTMuMiAwYzEuNyAwIDIuOS0uMyAyLjktMS45bDAtNTQuMmMwLTEuNi0xLjItMS45LTIuOS0xLjlsLTQ0LjggMCAwLTM0LjQgNDguNSAwYzQuNCAwIDIzLjcgMS4zIDI5LjggMjUuOSAxLjkgNy41IDYuMiAzMi4xIDkuMSA0MCAyLjkgOC44IDE0LjYgMjYuNSAyNy4xIDI2LjVsNzkgMGMtNS4zIDcuMS0xMS4xIDEzLjgtMTcuMyAyMC4xbC0zMi4xLTYuOXptMjUuOCAzNC41YzAgMy0uOSA2LTIuNiA4LjVzLTQgNC41LTYuOCA1LjYtNS44IDEuNS04LjggLjktNS43LTItNy44LTQuMi0zLjYtNC44LTQuMi03LjgtLjMtNiAuOC04LjggMy4xLTUuMiA1LjYtNi45IDUuNC0yLjYgOC41LTIuNmwuNCAwYzQgLjEgNy43IDEuOCAxMC41IDQuNnM0LjMgNi43IDQuMyAxMC42bC4xIDB6bS0yMjUuNi0uN2MwIDMtLjkgNi0yLjYgOC41cy00LjEgNC41LTYuOCA1LjYtNS44IDEuNS04LjggLjktNS43LTItNy44LTQuMi0zLjYtNC44LTQuMi03LjgtLjMtNiAuOS04LjggMy4xLTUuMiA1LjYtNi44IDUuNC0yLjYgOC41LTIuNmwuNSAwYzQgLjEgNy43IDEuOCAxMC41IDQuNnM0LjMgNi43IDQuMyAxMC42bC4xIDB6TTY5LjYgMjM0LjJsMzIuOC0xNC42YzEuNy0uNyAzLjItMS44IDQuNC0zLjFzMi4yLTIuOSAyLjktNC42IDEtMy41IC45LTUuMy0uNS0zLjYtMS4yLTUuM2wtNi44LTE1LjIgMjYuNiAwIDAgMTE5LjctNTMuNiAwYy02LjYtMjMuMi04LjctNDcuNi02LjEtNzEuNnpNNTguMyAxOTguMWMwLTIgLjQtNCAxLjItNS44czEuOS0zLjUgMy4zLTQuOSAzLjEtMi41IDQuOS0zLjMgMy44LTEuMiA1LjgtMS4ybC41IDBjMyAuMSA1LjkgMSA4LjMgMi44czQuMyA0LjEgNS40IDYuOSAxLjMgNS44IC43IDguOC0yLjEgNS42LTQuMyA3LjctNC45IDMuNS03LjggNC4xLTYgLjItOC43LS45LTUuMS0zLjEtNi44LTUuNi0yLjUtNS40LTIuNS04LjRsMCAwem0xNTUuMiAyNC41bDAtMzUuMyA2My4zIDBjMy4zIDAgMjMuMSAzLjggMjMuMSAxOC42IDAgMTIuMy0xNS4yIDE2LjctMjcuNyAxNi43bC01OC43IDB6TTM5OSAzMDYuN2MtOS44IDEuMS0yMC42LTQuMS0yMi0xMC4xLTUuOC0zMi41LTE1LjQtMzkuNC0zMC42LTUxLjQgMTguOS0xMiAzOC41LTI5LjYgMzguNS01My4zIDAtMjUuNS0xNy41LTQxLjYtMjkuNC00OS41LTE2LjgtMTEtMzUuMy0xMy4yLTQwLjMtMTMuMmwtMTk4LjkgMGMyNy41LTMwLjcgNjQuNC01MS41IDEwNC45LTU5LjJsMjMuNSAyNC42YzEuMyAxLjMgMi44IDIuNCA0LjQgMy4xczMuNSAxLjEgNS4zIDEuMiAzLjYtLjMgNS4zLS45IDMuMi0xLjcgNC42LTIuOWwyNi4zLTI1YzI2LjggNSA1Mi4xIDE1LjggNzQuMyAzMS42czQwLjYgMzYuMiA1NC4xIDU5LjlsLTE4IDQwLjZjLTEuNSAzLjQtMS41IDcuMi0uMiAxMC42czMuOSA2LjIgNy4zIDcuN2wzNC42IDE1LjNjMS4xIDEwLjggMS4yIDIxLjcgLjQgMzIuNWwtMTkuMyAwYy0xLjkgMC0yLjcgMS4zLTIuNyAzLjFsMCA4LjhjMCAyMC44LTExLjcgMjUuMy0yMiAyNi41ek0yNDAgNjAuMmMwLTQgMS42LTcuOSA0LjUtMTAuN3M2LjctNC41IDEwLjctNC41bC40IDBjMyAuMSA1LjkgMSA4LjQgMi44czQuMyA0LjEgNS40IDYuOSAxLjMgNS44IC43IDguOC0yLjEgNS42LTQuMyA3LjctNC45IDMuNS03LjggNC02IC4yLTguNy0uOS01LjEtMy4xLTYuOC01LjYtMi41LTUuNC0yLjUtOC40ek00MzYuOCAyMTRjLTIgMC00LS40LTUuOC0xLjJzLTMuNS0xLjktNC45LTMuMy0yLjUtMy4xLTMuMy00LjktMS4yLTMuOC0xLjItNS44IC40LTQgMS4yLTUuOCAxLjktMy41IDMuMy00LjkgMy4xLTIuNSA0LjktMy4zIDMuOC0xLjIgNS44LTEuMmwuNCAwYzQgLjEgNy45IDEuNyAxMC43IDQuNnM0LjQgNi44IDQuMyAxMC44LTEuNyA3LjktNC42IDEwLjctNi44IDQuNC0xMC44IDQuM3oiXX0sYXp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imhvcm5iaWxsIixpY29uOls1MTIsNTEyLFtdLCJmNTkyIiwiTTc2LjggMzcwLjNjMSA3LjgtLjQgMTUuOC00LjEgMjIuOHMtOS42IDEyLjYtMTYuNyAxNi4xLTE1LjEgNC43LTIyLjkgMy4zLTE1LTUuMS0yMC42LTEwLjctOS4yLTEyLjktMTAuNS0yMC43IDAtMTUuOCAzLjYtMjIuOSA5LjMtMTIuOCAxNi4zLTE2LjUgMTUtNSAyMi45LTMuOWMtNzguMy0xMTEuMyA1Mi0xOTAuNSA1Mi0xOTAuNS01LjkgNDMtOC4yIDkxLjItOC4yIDkxLjItNjcuMyA0MS41IC45IDY0LjEgMzkuOCA3Mi45IDkuOSAyNyAyNy44IDUwLjIgNTEuNCA2Ni43czUxLjYgMjUuMyA4MC4zIDI1LjNjMS45IDAgMy44LS4yIDUuNy0uM2wuMSAxOC45Yy05OS4yIDEuNC0xNTguNy0yOS4xLTE4OC45LTUxLjZ6bTEwOC0zMjcuN2MuOS03LjItLjItMTQuNi0zLjQtMjEuMi0zLTYuMi03LjYtMTEuNS0xMy40LTE1LjNzLTEyLjUtNS45LTE5LjQtNi4yLTEzLjggMS40LTE5LjggNC43LTExLjEgOC4zLTE0LjUgMTQuMy01LjIgMTIuOC01IDE5LjcgMi4yIDEzLjcgNS45IDE5LjUgOC45IDEwLjYgMTUuMSAxMy42IDEzLjEgNC40IDIwIDMuOWMtMjIuNiAyOS45LTUzLjggODkuNi01Mi40IDE5MGwyMS44LS4yYzAtLjktLjEtMS44LS4xLTIuNyAwLTI4IDguNC01NS4zIDI0LjEtNzguNXMzNy45LTQxLjIgNjMuOC01MS42YzgtMzcuNyAzMC43LTExNC4zIDczLjgtNDQuMyAwIDAgNDguMSAyLjQgOTEuMiA4LjIgMCAwLTc3LjgtMTI4LTE4Ny42LTU0LjFsMCAwek00ODkgMTc2LjhjNi4zLTMgMTEuNy03LjcgMTUuNS0xMy42czUuOS0xMi43IDYuMS0xOS44LTEuNi0xNC01LjItMjAtOC43LTExLTE0LjktMTQuMy0xMy4yLTQuOC0yMC4yLTQuNC0xMy44IDIuOC0xOS41IDYuOS0xMC4yIDkuNi0xMyAxNi4xLTMuNyAxMy42LTIuNyAyMC41Yy0zMS43LTIxLjktODkuOC00OS4xLTE4My40LTQ3LjdsLjEgMjIuNWMyLjctLjIgNS40LS40IDguMS0uNCAyOC4xIDAgNTUuNiA4LjUgNzguOSAyNC4zczQxLjIgMzguMyA1MS42IDY0LjVjMzkuMSA5IDEwNS4xIDMxLjYgMzguNSA3Mi41IDAgMC0yLjMgNDguMS04LjIgOTEuMiAwIDAgMTMzLjQtODEuMiA0OS0xOTQuNiA2LjYgLjYgMTMuMy0uNiAxOS4zLTMuNWwwIDB6TTM3NC40IDQzNi4yYzIxLjQtMzIuNSA0Ni40LTg5LjcgNDUuMS0xNzkuN2wtMTkuNSAuMWMuMSAyLjEgLjMgNC4xIC4zIDYuMiAwIDI4LjYtOC44IDU2LjUtMjUuMSA4MHMtMzkuNSA0MS40LTY2LjMgNTEuNGMtOC45IDM5LTMxLjQgMTA2LjctNzIuOCAzOS41IDAgMC00OC4xLTIuMy05MS4yLTguMiAwIDAgNzkuOSAxMzEuMyAxOTEuOSA1MSAuMyA0LjkgMS41IDkuNiAzLjYgMTQgMi45IDYuMSA3LjUgMTEuNCAxMy4xIDE1LjFzMTIuMiA2IDE5IDYuNCAxMy42LTEuMSAxOS42LTQuMiAxMS4xLTcuOCAxNC43LTEzLjYgNS42LTEyLjQgNS43LTE5LjItMS41LTEzLjUtNC44LTE5LjQtOC4yLTEwLjktMTQuMS0xNC4zLTEyLjYtNS4yLTE5LjQtNS4xbDAtLjF6Il19LHJ6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwaHAiLGljb246WzY0MCw1MTIsW10sImY0NTciLCJNMzIwIDEwNC41YzE3MS40IDAgMzAzLjIgNzIuMiAzMDMuMiAxNTEuNVM0OTEuMyA0MDcuNSAzMjAgNDA3LjVDMTQ4LjYgNDA3LjUgMTYuOCAzMzUuMyAxNi44IDI1NlMxNDguNyAxMDQuNSAzMjAgMTA0LjV6bTAtMTYuOEMxNDMuMyA4Ny43IDAgMTYzIDAgMjU2UzE0My4zIDQyNC4zIDMyMCA0MjQuMyA2NDAgMzQ5IDY0MCAyNTYgNDk2LjcgODcuNyAzMjAgODcuN3pNMjE4LjIgMjQyLjVjLTcuOSA0MC41LTM1LjggMzYuMy03MC4xIDM2LjNsMTMuNy03MC42YzM4IDAgNjMuOC00LjEgNTYuNCAzNC4zek05Ny40IDM1MC4zbDM2LjcgMCA4LjctNDQuOGM0MS4xIDAgNjYuNiAzIDkwLjItMTkuMSAyNi4xLTI0IDMyLjktNjYuNyAxNC4zLTg4LjEtOS43LTExLjItMjUuMy0xNi43LTQ2LjUtMTYuN2wtNzAuNyAwLTMyLjcgMTY4Ljd6TTI4My4xIDEzNi43bDM2LjUgMC04LjcgNDQuOGMzMS41IDAgNjAuNy0yLjMgNzQuOCAxMC43IDE0LjggMTMuNiA3LjcgMzEtOC4zIDExMy4xbC0zNyAwYzE1LjQtNzkuNCAxOC4zLTg2IDEyLjctOTItNS40LTUuOC0xNy43LTQuNi00Ny40LTQuNmwtMTguOCA5Ni42LTM2LjUgMCAzMi43LTE2OC42ek01MDUgMjQyLjVjLTggNDEuMS0zNi43IDM2LjMtNzAuMSAzNi4zbDEzLjctNzAuNmMzOC4yIDAgNjMuOC00LjEgNTYuNCAzNC4zek0zODQuMiAzNTAuM2wzNi44IDAgOC43LTQ0LjhjNDMuMiAwIDY3LjEgMi41IDkwLjItMTkuMSAyNi4xLTI0IDMyLjktNjYuNyAxNC4zLTg4LjEtOS43LTExLjItMjUuMy0xNi43LTQ2LjUtMTYuN2wtNzAuNyAwLTMyLjggMTY4Ljd6Il19LHN6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkaXNxdXMiLGljb246WzU3Niw1MTIsW10sImU3ZDUiLCJNMjkwLjIgNTEyYy02Mi42IDAtMTE5LjktMjIuOS0xNjQuMi02MC44TDE3IDQ2Ni4xIDU5LjEgMzYyLjJjLTE0LjctMzIuNC0yMi45LTY4LjMtMjIuOS0xMDYuMiAwLTE0MS40IDExMy43LTI1NiAyNTQtMjU2IDE0MC4zIDAgMjU0IDExNC42IDI1NCAyNTYgMCAxNDEuNC0xMTMuNyAyNTYtMjU0IDI1NnpNNDI4LjkgMjU1LjNsMC0uN0M0MjguOSAxODAuNyAzNzYuOCAxMjggMjg3IDEyOGwtOTcgMCAwIDI1NiA5NS42IDBjOTAuNSAwIDE0My40LTU0LjkgMTQzLjQtMTI4Ljd6TTI4OCAzMjEuMWwtMjguNCAwIDAtMTMwLjIgMjguNCAwYzQxLjcgMCA2OS4zIDIzLjggNjkuMyA2NC43bDAgLjdjMCA0MS4zLTI3LjcgNjQuNy02OS4zIDY0Ljd6Il19LGl6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiI1MDBweCIsaWNvbjpbMzg0LDUxMixbXSwiZjI2ZSIsIk03MS44IDM0NC4zYy02LjUtMTQuMi02LjktMTguMyA3LjQtMjMuMSAyNS42LTggOCA5LjIgNDMuMiA0OS4ybC4zIDAgMC05My45YzEuMi01MC4yIDQ0LTkyLjIgOTcuNy05Mi4yIDUzLjkgMCA5Ny43IDQzLjUgOTcuNyA5Ni44IDAgNjMuNC02MC44IDExMy4yLTEyOC41IDkzLjMtMTAuNS00LjItMi4xLTMxLjcgOC41LTI4LjYgNTMgMCA4OS40LTEwLjEgODkuNC02NC40IDAtNjEtNzcuMS04OS42LTExNi45LTQ0LjYtMjMuNSAyNi40LTE3LjYgNDIuMS0xNy42IDE1Ny42IDUwLjcgMzEgMTE4LjMgMjIgMTYwLjQtMjAuMSAyNC44LTI0LjggMzguNS01OCAzOC41LTkzIDAtMzUuMi0xMy44LTY4LjItMzguOC05My4zLTI0LjgtMjQuOC01Ny44LTM4LjUtOTMuMy0zOC41UzE1MSAxNjMuMyAxMjYuMyAxODhjLS4zIC4zLTE2IDE2LjUtMjEuMiAyMy45bC0uNSAuNmMtMy4zIDQuNy02LjMgOS4xLTIwLjEgNi4xLTYuOS0xLjctMTQuMy01LjgtMTQuMy0xMS44TDcwLjIgMjBjMC01IDMuOS0xMC41IDEwLjUtMTAuNUwzMjIgOS41YzguMyAwIDguMyAxMS42IDguMyAxNS4xIDAgMy45IDAgMTUuMS04LjMgMTUuMWwtMjIzLjIgMCAwIDEzMi45IC4zIDBjMTA0LjItMTA5LjggMjgyLjgtMzYgMjgyLjggMTA4LjkgMCAxNzguMS0yNDQuOCAyMjAuMy0zMTAuMSA2Mi44ek0xMzUuMSA4My41Yy0uNSA0LjIgNC42IDI0LjUgMTQuNiAyMC42IDEyNC44LTQ3LjUgMjAyLjggNDAuNCAyMDkuNCA0MC40IDQuOCAwIDIyLjgtMTUuMyAxNC4zLTIyLjgtOTMuMi04OS0yMzQuNS01Ny0yMzguMy0zOC4yek0zNjEuNSA0MTQuN2MtMTEwIDEwOS45LTI5OSA2MC44LTMzMi0xMDQuMiAwLTEyLjItMzAuNC03LjQtMjguOSAzLjMgMjQgMTczLjQgMjQ2IDI1Ni45IDM4MS42IDEyMS4zIDYuOS03LjgtMTIuNi0yOC40LTIwLjctMjAuNHpNMTgyLjEgMzA2LjZjMCA0IDQuMyA3LjMgNS41IDguNSAzIDMgNi4xIDQuNCA4LjUgNC40IDMuOCAwIDIuNiAuMiAyMi4zLTE5LjUgMTkuNiAxOS4zIDE5LjEgMTkuNSAyMi4zIDE5LjUgNS40IDAgMTguNS0xMC40IDEwLjctMTguMmwtMTcuMy0xNy4zIDE4LjItMTguMmM2LjMtNi44LTEwLjEtMjEuOC0xNi4yLTE1LjdMMjE4LjIgMjY4Yy0xOC42LTE4LjgtMTguNC0xOS41LTIxLjUtMTkuNS01IDAtMTggMTEuNy0xMi40IDE3LjNMMjAyLjUgMjg0Yy0xOC4xIDE3LjktMjAuNCAxOS4yLTIwLjQgMjIuNnoiXX0sb3p0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFmZmlsaWF0ZXRoZW1lIixpY29uOls1MTIsNTEyLFtdLCJmMzZiIiwiTTE1OS43IDIzNy40QzEwOC40IDMwOC4zIDQzLjEgMzQ4LjIgMTQgMzI2LjYtMTUuMiAzMDQuOSAyLjggMjMwIDU0LjIgMTU5LjEgMTA1LjUgODguMiAxNzAuOCA0OC4zIDE5OS45IDY5LjlzMTEuMSA5Ni42LTQwLjIgMTY3LjV6bTM1MS4yLTU3LjNjLTczLjggMTIzLjQtMTkxLjkgMTg3LjctMjY0LjUgMTQzLjYtMjUtMTUuMi00MS4zLTQxLjItNDktNzMuOC0zMy42IDY0LjgtOTIuOCAxMTMuOC0xNjQuMSAxMzMuMiA0OS44IDU5LjMgMTI0LjEgOTYuOSAyMDcgOTYuOSAxNTAgMCAyNzEuNi0xMjMuMSAyNzEuNi0yNzQuOSAuMS04LjUtLjMtMTYuOC0xLTI1eiJdfSxuenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmVkLXJpdmVyIixpY29uOls0NDgsNTEyLFtdLCJmM2UzIiwiTTM1My4yIDMyTDk0LjggMzJDNDIuNCAzMiAwIDc0LjQgMCAxMjYuOEwwIDM4NS4yQzAgNDM3LjYgNDIuNCA0ODAgOTQuOCA0ODBsMjU4LjQgMGM1Mi40IDAgOTQuOC00Mi40IDk0LjgtOTQuOGwwLTI1OC40QzQ0OCA3NC40IDQwNS42IDMyIDM1My4yIDMyek0xNDQuOSAyMDAuOWwwIDU2LjNjMCAyNy0yMS45IDQ4LjktNDguOSA0OC45bDAtMTU0LjJjMC0xMy4yIDEwLjctMjMuOSAyMy45LTIzLjlsMTU0LjIgMGMwIDI3LTIxLjkgNDguOS00OC45IDQ4LjlsLTU2LjMgMGMtMTIuMy0uNi0yNC42IDExLjYtMjQgMjR6bTE3Ni4zIDcybC01Ni4zIDBjLTEyLjMtLjYtMjQuNiAxMS42LTI0IDI0bDAgNTYuM2MwIDI3LTIxLjkgNDguOS00OC45IDQ4LjlsMC0xNTQuMmMwLTEzLjIgMTAuNy0yMy45IDIzLjktMjMuOWwxNTQuMiAwYzAgMjctMjEuOSA0OC45LTQ4LjkgNDguOXoiXX0seWVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InR3aXR0ZXIiLGljb246WzUxMiw1MTIsW10sImYwOTkiLCJNNDU5LjQgMTUxLjdjLjMgNC41IC4zIDkuMSAuMyAxMy42IDAgMTM4LjctMTA1LjYgMjk4LjYtMjk4LjYgMjk4LjYtNTkuNSAwLTExNC43LTE3LjItMTYxLjEtNDcuMSA4LjQgMSAxNi42IDEuMyAyNS4zIDEuMyA0OS4xIDAgOTQuMi0xNi42IDEzMC4zLTQ0LjgtNDYuMS0xLTg0LjgtMzEuMi05OC4xLTcyLjggNi41IDEgMTMgMS42IDE5LjggMS42IDkuNCAwIDE4LjgtMS4zIDI3LjYtMy42LTQ4LjEtOS43LTg0LjEtNTItODQuMS0xMDNsMC0xLjNjMTQgNy44IDMwLjIgMTIuNyA0Ny40IDEzLjMtMjguMy0xOC44LTQ2LjgtNTEtNDYuOC04Ny40IDAtMTkuNSA1LjItMzcuNCAxNC4zLTUzIDUxLjcgNjMuNyAxMjkuMyAxMDUuMyAyMTYuNCAxMDkuOC0xLjYtNy44LTIuNi0xNS45LTIuNi0yNCAwLTU3LjggNDYuOC0xMDQuOSAxMDQuOS0xMDQuOSAzMC4yIDAgNTcuNSAxMi43IDc2LjcgMzMuMSAyMy43LTQuNSA0Ni41LTEzLjMgNjYuNi0yNS4zLTcuOCAyNC40LTI0LjQgNDQuOC00Ni4xIDU3LjggMjEuMS0yLjMgNDEuNi04LjEgNjAuNC0xNi4yLTE0LjMgMjAuOC0zMi4yIDM5LjMtNTIuNiA1NC4zeiJdfSxsenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZm9ydC1hd2Vzb21lIixpY29uOls1MTIsNTEyLFtdLCJmMjg2IiwiTTQ4OS41IDI4Ny45bC0yNy40IDBjLTIuNiAwLTQuNiAyLTQuNiA0LjZsMCAzMi0zNi42IDAgMC0xNzguM2MwLTIuNi0yLTQuNi00LjYtNC42bC0yNy40IDBjLTIuNiAwLTQuNiAyLTQuNiA0LjZsMCAzMi0zNi42IDAgMC0zMmMwLTIuNi0yLTQuNi00LjYtNC42bC0yNy40IDBjLTIuNiAwLTQuNiAyLTQuNiA0LjZsMCAzMi0zNi42IDAgMC0zMmMwLTYtOC00LjYtMTEuNy00LjZsMC0zOGM4LjMtMiAxNy4xLTMuNCAyNS43LTMuNCAxMC45IDAgMjAuOSA0LjMgMzEuNCA0LjMgNC42IDAgMjcuNy0xLjEgMjcuNy04bDAtNjBjMC0yLjYtMi00LjYtNC42LTQuNi01LjEgMC0xNS4xIDQuMy0yNCA0LjMtOS43IDAtMjAuOS00LjMtMzIuNi00LjMtOCAwLTE2IDEuMS0yMy43IDIuOWwwLTQuOWM1LjQtMi42IDkuMS04LjMgOS4xLTE0LjMgMC0yMC43LTMxLjQtMjAuOC0zMS40IDAgMCA2IDMuNyAxMS43IDkuMSAxNC4zbDAgMTExLjdjLTMuNyAwLTExLjctMS40LTExLjcgNC42bDAgMzItMzYuNiAwIDAtMzJjMC0yLjYtMi00LjYtNC42LTQuNmwtMjcuNCAwYy0yLjYgMC00LjYgMi00LjYgNC42bDAgMzItMzYuMyAwIDAtMzJjMC0yLjYtMi00LjYtNC42LTQuNmwtMjcuNCAwYy0yLjYgMC00LjYgMi00LjYgNC42bDAgMTc4LjMtMzYuNiAwIDAtMzJjMC0yLjYtMi00LjYtNC42LTQuNmwtMjcuNCAwYy0yLjYgMC00LjYgMi00LjYgNC42bDAgMjE5LjUgMTgyLjkgMCAwLTk2YzAtNzIuNiAxMDkuNy03Mi42IDEwOS43IDBsMCA5NiAxODIuOSAwIDAtMjE5LjVjLjEtMi42LTEuOS00LjYtNC41LTQuNnptLTI4OC4xLTQuNWMwIDIuNi0yIDQuNi00LjYgNC42bC0yNy40IDBjLTIuNiAwLTQuNi0yLTQuNi00LjZsMC02NGMwLTIuNiAyLTQuNiA0LjYtNC42bDI3LjQgMGMyLjYgMCA0LjYgMiA0LjYgNC42bDAgNjR6bTE0Ni40IDBjMCAyLjYtMiA0LjYtNC42IDQuNmwtMjcuNCAwYy0yLjYgMC00LjYtMi00LjYtNC42bDAtNjRjMC0yLjYgMi00LjYgNC42LTQuNmwyNy40IDBjMi42IDAgNC42IDIgNC42IDQuNmwwIDY0eiJdfSxjenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWl4ZXIiLGljb246WzQ0OCw1MTIsW10sImUwNTYiLCJNODIuNiA3Ni4xYy0zLjgtNS4xLTguNy05LjQtMTQuMi0xMi41cy0xMS43LTUuMS0xOC4xLTUuNy0xMi44IC4xLTE4LjggMi4yLTExLjYgNS4zLTE2LjMgOS42Yy0xNy42IDE2LjItMTkgNDMuNS00LjggNjIuOGw5MS44IDEyMy05Mi4zIDEyNC4xYy0xNC4yIDE5LjMtMTMuMSA0Ni42IDQuNyA2Mi44IDQuNyA0LjMgMTAuMyA3LjYgMTYuMyA5LjZzMTIuNSAyLjggMTguOCAyLjIgMTIuNS0yLjUgMTguMS01LjcgMTAuNC03LjQgMTQuMi0xMi41TDIxMC45IDI2Mi43YzEuNS0yLjEgMi4zLTQuNiAyLjMtNy4xcy0uOC01LTIuMy03LjFMODIuNiA3Ni4xek00MzguMiAzNzkuNmwtOTIuMy0xMjQuMSA5MS44LTEyM2MxNC4yLTE5LjIgMTIuOC00Ni42LTQuNy02Mi44LTQuNy00LjMtMTAuMy03LjYtMTYuMy05LjZzLTEyLjUtMi44LTE4LjgtMi4yLTEyLjUgMi41LTE4LjEgNS43LTEwLjQgNy40LTE0LjIgMTIuNWwtMTI4IDE3Mi4xYy0xLjUgMi4xLTIuMyA0LjYtMi4zIDcuMXMuOCA1IDIuMyA3LjFMMzY2IDQzNS45YzMuOCA1LjEgOC43IDkuNCAxNC4yIDEyLjVzMTEuNyA1LjEgMTguMSA1LjcgMTIuOC0uMSAxOC44LTIuMiAxMS42LTUuMyAxNi4zLTkuNmMxNy44LTE2LjIgMTktNDMuNSA0LjctNjIuOHoiXX0sZHp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imx5ZnQiLGljb246WzUxMiw1MTIsW10sImYzYzMiLCJNMCA4MS4xbDc3LjggMCAwIDIwOC43YzAgMzMuMSAxNSA1Mi44IDI3LjIgNjEtMTIuNyAxMS4xLTUxLjIgMjAuOS04MC4yLTIuOC0xNy0xNC0yNC44LTM3LjMtMjQuOC01OUwwIDgxLjF6TTQ4NS45IDI1NC42bDAtMjIgMjMuOCAwIDAtNzYuOC0yNi4xIDBjLTEwLjEtNDYuMy01MS4yLTgwLjctMTAwLjMtODAuNy01Ni42IDAtMTAyLjcgNDYtMTAyLjcgMTAyLjdsMCAxNzkuMmMxNiAyLjMgMzUuNC0uMyA1MS43LTE0IDE3LjEtMTQgMjQuOC0zNy4yIDI0LjgtNTlsMC02LjcgMzguOCAwIDAtNzYuOC0zOC44IDAgMC0yMy4zYzAtMzQuNiA1Mi4yLTM0LjYgNTIuMiAwbDAgNzcuMWMwIDU2LjYgNDYgMTAyLjcgMTAyLjcgMTAyLjdsMC03Ni41Yy0xNC41IDAtMjYuMS0xMS43LTI2LjEtMjUuOXptLTI5NC4zLTk5bDAgMTEzYzAgMTUuNC0yMy44IDE1LjQtMjMuOCAwbDAtMTEzLTc2LjggMCAwIDEzMi43YzAgMjMuOCA4IDU0IDQ1IDYzLjkgMzcgOS44IDU4LjItMTAuNiA1OC4yLTEwLjYtMi4xIDEzLjQtMTQuNSAyMy4zLTM0LjkgMjUuMy0xNS41IDEuNi0zNS4yLTMuNi00NS03LjhsMCA3MC4zYzI1LjEgNy41IDUxLjUgOS44IDc3LjYgNC43IDQ3LjEtOS4xIDc2LjgtNDguNCA3Ni44LTEwMC44bDAtMTc4LjItNzcuMSAwIDAgLjV6Il19LHV6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhcHBsZS1wYXkiLGljb246WzY0MCw1MTIsW10sImY0MTUiLCJNMTE2LjkgMTU4LjVjLTcuNSA4LjktMTkuNSAxNS45LTMxLjUgMTQuOS0xLjUtMTIgNC40LTI0LjggMTEuMy0zMi42IDcuNS05LjEgMjAuNi0xNS42IDMxLjMtMTYuMSAxLjIgMTIuNC0zLjcgMjQuNy0xMS4xIDMzLjh6bTEwLjkgMTcuMmMtMTcuNC0xLTMyLjMgOS45LTQwLjUgOS45LTguNCAwLTIxLTkuNC0zNC44LTkuMS0xNy45IC4zLTM0LjUgMTAuNC00My42IDI2LjUtMTguOCAzMi4zLTQuOSA4MCAxMy4zIDEwNi4zIDguOSAxMyAxOS41IDI3LjMgMzMuNSAyNi44IDEzLjMtLjUgMTguNS04LjYgMzQuNS04LjYgMTYuMSAwIDIwLjggOC42IDM0LjggOC40IDE0LjUtLjMgMjMuNi0xMyAzMi41LTI2IDEwLjEtMTQuOCAxNC4zLTI5LjEgMTQuNS0yOS45LS4zLS4zLTI4LTEwLjktMjguMy00Mi45LS4zLTI2LjggMjEuOS0zOS41IDIyLjktNDAuMy0xMi41LTE4LjYtMzItMjAuNi0zOC44LTIxLjF6bTEwMC40LTM2LjJsMCAxOTQuOSAzMC4zIDAgMC02Ni42IDQxLjkgMGMzOC4zIDAgNjUuMS0yNi4zIDY1LjEtNjQuM3MtMjYuNC02NC02NC4xLTY0bC03My4yIDB6TTI1OC41IDE2NWwzNC45IDBjMjYuMyAwIDQxLjMgMTQgNDEuMyAzOC42cy0xNSAzOC44LTQxLjQgMzguOGwtMzQuOCAwIDAtNzcuNHpNNDIwLjcgMzM1LjljMTkgMCAzNi42LTkuNiA0NC42LTI0LjlsLjYgMCAwIDIzLjQgMjggMCAwLTk3YzAtMjguMS0yMi41LTQ2LjMtNTcuMS00Ni4zLTMyLjEgMC01NS45IDE4LjQtNTYuOCA0My42bDI3LjMgMGMyLjMtMTIgMTMuNC0xOS45IDI4LjYtMTkuOSAxOC41IDAgMjguOSA4LjYgMjguOSAyNC41bDAgMTAuOC0zNy44IDIuM2MtMzUuMSAyLjEtNTQuMSAxNi41LTU0LjEgNDEuNSAuMSAyNS4yIDE5LjcgNDIgNDcuOCA0MnptOC4yLTIzLjFjLTE2LjEgMC0yNi40LTcuOC0yNi40LTE5LjYgMC0xMi4zIDkuOS0xOS40IDI4LjgtMjAuNWwzMy42LTIuMSAwIDExYzAgMTguMi0xNS41IDMxLjItMzYgMzEuMnptMTAyLjUgNzQuNmMyOS41IDAgNDMuNC0xMS4zIDU1LjUtNDUuNGw1My4xLTE0OS0zMC44IDAtMzUuNiAxMTUuMS0uNiAwLTM1LjYtMTE1LjEtMzEuNiAwIDUxLjIgMTQxLjktMi44IDguNmMtNC42IDE0LjYtMTIuMSAyMC4zLTI1LjUgMjAuMy0yLjQgMC03LS4zLTguOS0uNWwwIDIzLjRjMS44IC40IDkuMyAuNyAxMS42IC43eiJdfSxwenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXJ0c3RhdGlvbiIsaWNvbjpbNTEyLDUxMixbXSwiZjc3YSIsIk0yLjEgMzc3LjRsNDMgNzQuM2M0LjMgOC41IDEwLjggMTUuNyAxOC45IDIwLjdzMTcuNCA3LjYgMjcgNy42bDI4NS40IDAtNTkuMi0xMDIuNi0zMTUuMSAwek01MDEuOSAzNTBMMzM1LjcgNTkuM2MtNC40LTguMi0xMC45LTE1LjEtMTguOS0yMFMyOTkuNyAzMiAyOTAuNCAzMmwtODguNCAwIDI1Ny4zIDQ0Ny42IDQwLjctNzAuNWMxLjktMy4yIDIxLTI5LjcgMi01OS4xek0yNzUuMiAzMDQuNWwtMTE1LjUtMjAwLTExNS41IDIwMCAyMzEgMHoiXX0sZnp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im5vZGUtanMiLGljb246WzQ0OCw1MTIsW10sImYzZDMiLCJNMjI0LjUgNTA4Yy02LjcgMC0xMy41LTEuOC0xOS40LTUuMmwtNjEuNy0zNi41Yy05LjItNS4yLTQuNy03LTEuNy04IDEyLjMtNC4zIDE0LjgtNS4yIDI3LjktMTIuNyAxLjQtLjggMy4yLS41IDQuNiAuNGw0Ny40IDI4LjFjMS43IDEgNC4xIDEgNS43IDBMNDEyIDM2Ny41YzEuNy0xIDIuOC0zIDIuOC01bDAtMjEzLjJjMC0yLjEtMS4xLTQtMi45LTUuMUwyMjcuMyAzNy43Yy0xLjctMS00LTEtNS43IDBMMzcuMSAxNDQuM2MtMS44IDEtMi45IDMtMi45IDUuMWwwIDIxMy4xYzAgMiAxLjEgNCAyLjkgNC45bDUwLjYgMjkuMmMyNy41IDEzLjcgNDQuMy0yLjQgNDQuMy0xOC43bDAtMjEwLjRjMC0zIDIuNC01LjMgNS40LTUuM2wyMy40IDBjMi45IDAgNS40IDIuMyA1LjQgNS4zbDAgMjEwLjVjMCAzNi42LTIwIDU3LjYtNTQuNyA1Ny42LTEwLjcgMC0xOS4xIDAtNDIuNS0xMS42TDIwLjYgMzk2LjFjLTEyLTYuOS0xOS40LTE5LjgtMTkuNC0zMy43bDAtMjEzLjFjMC0xMy44IDcuNC0yNi44IDE5LjQtMzMuN0wyMDUuMSA5YzExLjctNi42IDI3LjItNi42IDM4LjggMEw0MjguNiAxMTUuN2MxMiA2LjkgMTkuNCAxOS44IDE5LjQgMzMuN2wwIDIxMy4xYzAgMTMuOC03LjQgMjYuNy0xOS40IDMzLjdMMjQzLjkgNTAyLjhjLTUuOSAzLjQtMTIuNiA1LjItMTkuNCA1LjJ6TTM3My42IDI5Ny45YzAtMzkuOS0yNy01MC41LTgzLjctNTgtNTcuNC03LjYtNjMuMi0xMS41LTYzLjItMjQuOSAwLTExLjEgNC45LTI1LjkgNDcuNC0yNS45IDM3LjkgMCA1MS45IDguMiA1Ny43IDMzLjggLjUgMi40IDIuNyA0LjIgNS4yIDQuMmwyNCAwYzEuNSAwIDIuOS0uNiAzLjktMS43czEuNS0yLjYgMS40LTQuMWMtMy43LTQ0LjEtMzMtNjQuNi05Mi4yLTY0LjYtNTIuNyAwLTg0LjEgMjIuMi04NC4xIDU5LjUgMCA0MC40IDMxLjMgNTEuNiA4MS44IDU2LjYgNjAuNSA1LjkgNjUuMiAxNC44IDY1LjIgMjYuNyAwIDIwLjYtMTYuNiAyOS40LTU1LjUgMjkuNC00OC45IDAtNTkuNi0xMi4zLTYzLjItMzYuNi0uNC0yLjYtMi42LTQuNS01LjMtNC41bC0yMy45IDBjLTMgMC01LjMgMi40LTUuMyA1LjMgMCAzMS4xIDE2LjkgNjguMiA5Ny44IDY4LjIgNTguNC0uMSA5Mi0yMy4yIDkyLTYzLjR6Il19LGh6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bmNoYXJ0ZWQiLGljb246WzQ0OCw1MTIsW10sImUwODQiLCJNMTcxLjggMjMyLjhjMS4xIDAgMi4xLS4zIDMtLjlzMS42LTEuNCAyLTIuNGMyLjItOS44IDcuNC0xOC42IDE0LjktMjUuMyAxLjItLjggMS43LTIuNSAxLjctNC4xLS4xLS43LS4zLTEuMy0uNi0xLjlzLS45LTEuMS0xLjQtMS40TDc0LjUgMTI4LjUgMTQ5LjEgODVjMS41LS44IDIuNy0yIDMuNi0zLjVzMS40LTMuMSAxLjQtNC44YzAtMS43LS40LTMuNC0xLjMtNC45cy0yLjItMi43LTMuNy0zLjRMMTI2LjcgNTUuNmMtMS41LS44LTMuMS0xLjItNC44LTEuMnMtMy4zIC40LTQuOCAxLjJMMTcgMTEzLjZjLTEuNSAuOC0yLjcgMi0zLjYgMy41cy0xLjQgMy4xLTEuNCA0LjhMMTIgMjM3YzAgMS43IC40IDMuNCAxLjMgNC45czIuMiAyLjcgMy43IDMuNGwyMi40IDEyLjhjMS41IC45IDMuMiAxLjMgNSAxLjIgMi40IC4xIDQuOC0uOCA2LjYtMi41IDEuOC0xLjkgMi44LTQuNCAyLjktN2wwLTg1LjMgMTE1LjkgNjcuOWMuNiAuMyAxLjQgLjQgMi4xIC40ek0zMjMuNCAzNzcuN2MtMS43IC4xLTMuNCAuNS01IDEuMmwtNzQuNSA0My4xIDAtMTM0LjJjMC0yLjktMi45LTUuOC02LjItNC42LTkuNCAyLjgtMTkuNSAzLTI5IC40LS43LS4yLTEuNS0uMi0yLjItLjFzLTEuNCAuNC0yIC45LTEuMSAxLTEuNCAxLjctLjUgMS40LS41IDIuMWwwIDEzMy4zLTc0LjUtNDMuMWMtMS41LS45LTMuMi0xLjMtNS0xLjItMi41IDAtNC45IDEtNi43IDIuOHMtMi44IDQuMi0yLjggNi43bDAgMjYuMWMwIDEuNyAuNCAzLjQgMS4zIDQuOXMyLjIgMi43IDMuNyAzLjRsMTAwLjIgNTcuNmMxLjUgLjkgMy4yIDEuMyA1IDEuMiAxLjcgMCAzLjQtLjQgNS0xLjJsMTAwLjItNTcuNmMxLjUtLjggMi43LTIgMy42LTMuNXMxLjQtMy4xIDEuNC00LjhsMC0yNi4xYy0uOC00LjYtNS40LTkuMS0xMC40LTkuMXpNMjg2LjEgNzhhMjMgMjMgMCAxIDAgMC00NiAyMyAyMyAwIDEgMCAwIDQ2em02My42LTEwLjFhMjMgMjMgMCAxIDAgMCA0NiAyMyAyMyAwIDEgMCAwLTQ2em02My4yIDgzLjdhMjMgMjMgMCAxIDAgMC00NiAyMyAyMyAwIDEgMCAwIDQ2em0tNjMuMi05LjJhMjMgMjMgMCAxIDAgMCA0NiAyMyAyMyAwIDEgMCAwLTQ2em0tNjMuNiA4My4yYzQuNSAwIDktMS4zIDEyLjgtMy45czYuNy02LjEgOC41LTEwLjMgMi4yLTguOCAxLjMtMTMuMy0zLjEtOC42LTYuMy0xMS44LTcuMy01LjQtMTEuOC02LjMtOS4xLS40LTEzLjMgMS4zLTcuOCA0LjctMTAuMyA4LjUtMy45IDguMi0zLjkgMTIuOGMwIDMgLjYgNiAxLjggOC44czIuOSA1LjMgNSA3LjUgNC43IDMuOCA3LjUgNSA1LjggMS44IDguOCAxLjhsMCAwek0yMjQgMjYyYzQuNSAwIDktMS40IDEyLjgtMy45czYuNy02LjEgOC41LTEwLjMgMi4yLTguOCAxLjMtMTMuMy0zLjEtOC42LTYuMy0xMS44LTcuMy01LjQtMTEuOC02LjMtOS4xLS40LTEzLjMgMS4zLTcuOCA0LjctMTAuMyA4LjUtMy45IDguMi0zLjkgMTIuOGMwIDMgLjYgNiAxLjcgOC44czIuOCA1LjMgNSA3LjUgNC43IDMuOCA3LjUgNSA1LjggMS44IDguOCAxLjhsMCAwem0xODguOS04Mi40Yy00LjYgMC05IDEuMy0xMi44IDMuOXMtNi43IDYuMS04LjUgMTAuMy0yLjIgOC44LTEuMyAxMy4zIDMuMSA4LjYgNi4zIDExLjggNy4zIDUuNCAxMS44IDYuMyA5LjEgLjQgMTMuMy0xLjMgNy44LTQuNyAxMC4zLTguNSAzLjktOC4yIDMuOS0xMi44YzAtNi4xLTIuNC0xMS45LTYuNy0xNi4zcy0xMC4yLTYuNy0xNi4zLTYuN2wwIDB6bTAgNzIuM2MtNC42IDAtOSAxLjMtMTIuOCAzLjlzLTYuNyA2LjEtOC41IDEwLjMtMi4yIDguOC0xLjMgMTMuMyAzLjEgOC42IDYuMyAxMS44IDcuMyA1LjQgMTEuOCA2LjMgOS4xIC40IDEzLjMtMS4zIDcuOC00LjcgMTAuMy04LjUgMy45LTguMiAzLjktMTIuOGMwLTYuMS0yLjQtMTEuOS02LjctMTYuM3MtMTAuMi02LjctMTYuMy02LjdsMCAweiJdfSxtenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGxheXN0YXRpb24iLGljb246WzU3Niw1MTIsW10sImYzZGYiLCJNNTcxIDM3Mi4zYy0xMS4zIDE0LjItMzguOCAyNC4zLTM4LjggMjQuM2wtMjA1LjEgNzMuNiAwLTU0LjMgMTUwLjktNTMuOGMxNy4xLTYuMSAxOS44LTE0LjggNS44LTE5LjQtMTMuOS00LjYtMzkuMS0zLjMtNTYuMiAyLjlsLTEwMC41IDM1LjUgMC01Ni40YzIzLjItNy44IDQ3LjEtMTMuNiA3NS43LTE2LjggNDAuOS00LjUgOTAuOSAuNiAxMzAuMiAxNS41IDQ0LjIgMTQgNDkuMiAzNC43IDM4IDQ4Ljl6TTM0Ni42IDI3OS44bDAtMTM5YzAtMTYuMy0zLTMxLjMtMTguMy0zNS42LTExLjctMy44LTE5IDcuMS0xOSAyMy40bDAgMzQ3LjktOTMuOC0yOS44IDAtNDE0LjdjMzkuOSA3LjQgOTggMjQuOSAxMjkuMiAzNS40IDc5LjUgMjcuMyAxMDYuNCA2MS4zIDEwNi40IDEzNy44IDAgNzQuNS00NiAxMDIuOC0xMDQuNSA3NC42ek00My4zIDQxMC4yYy00NS40LTEyLjgtNTMtMzkuNS0zMi4zLTU0LjggMTkuMS0xNC4yIDUxLjctMjQuOSA1MS43LTI0LjlsMTM0LjUtNDcuOCAwIDU0LjUtOTYuOCAzNC42Yy0xNy4xIDYuMS0xOS43IDE0LjgtNS44IDE5LjRzMzkuMSAzLjMgNTYuMi0yLjlsNDYuNC0xNi45IDAgNDguOGMtNTEuNiA5LjMtMTAxLjQgNy4zLTE1My45LTEweiJdfSxnenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWljcm9ibG9nIixpY29uOls0NDgsNTEyLFtdLCJlMDFhIiwiTTM5OS44IDM2Mi4yYzI5LjUtMzQuNyA0Ny4xLTc4LjMgNDcuMS0xMjUuOCAwLTExMy05OS42LTIwNC40LTIyMi41LTIwNC40UzIgMTIzLjUgMiAyMzYuNCAxMDEuNiA0NDAuOSAyMjQuNSA0NDAuOWMyNyAwIDUzLjktNC41IDc5LjQtMTMuNCAxLjQtLjUgMy0uNSA0LjUtLjFzMi43IDEuNCAzLjYgMi42YzE4LjYgMjUuMSA0Ny42IDQyLjcgNzkuOSA0OS45IDEuMSAuMiAyLjMgMCAzLjMtLjZzMS43LTEuNiAxLjktMi44Yy4xLS42IC4xLTEuMyAwLTEuOXMtLjQtMS4yLS44LTEuN2MtMTIuMy0xNi0xOC43LTM1LjgtMTgtNTZzOC40LTM5LjUgMjEuNy01NC43bC0uMiAuMXpNMzMwIDIxMi40bC01Ny4zIDQzLjUgMjAuOCA2OC45Yy40IDEuMyAuNCAyLjctLjEgNHMtMS4yIDIuNC0yLjMgMy4yLTIuNCAxLjItMy44IDEuMi0yLjctLjQtMy44LTEuMmwtNTkuMS00MS01OS4xIDQxLjFjLTEuMSAuOC0yLjQgMS4yLTMuOCAxLjJzLTIuNy0uNC0zLjgtMS4yLTEuOS0xLjktMi4zLTMuMi0uNS0yLjctLjEtNGwyMC44LTY4LjktNTcuMy00My41Yy0xLjEtLjgtMS45LTEuOS0yLjMtMy4ycy0uNC0yLjcgMC00IDEuMi0yLjQgMi4zLTMuMiAyLjQtMS4zIDMuNy0xLjNsNzEuOS0xLjUgMjMuNy02Ny45Yy40LTEuMyAxLjMtMi40IDIuNC0zLjJzMi40LTEuMiAzLjgtMS4yIDIuNyAuNCAzLjggMS4yIDEuOSAxLjkgMi40IDMuMmwyMy43IDY3LjkgNzEuOSAxLjVjMS40IDAgMi43IC40IDMuOCAxLjJzMS45IDEuOSAyLjMgMy4yIC40IDIuNyAwIDQtMS4yIDIuNC0yLjMgMy4zbDAgMHoiXX0sYnp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdpdGtyYWtlbiIsaWNvbjpbNTc2LDUxMixbXSwiZjNhNiIsIk01NTcuNyAxMTguMWMtMi4zLTYuMS05LjMtOS4yLTE1LjMtNi42LTUuNyAyLjQtOC41IDguOS02LjMgMTQuNiAxMC45IDI5IDE2LjkgNjAuNSAxNi45IDkzLjMgMCAxMzQuNi0xMDAuMyAyNDUuNy0yMzAuMiAyNjIuN2wwLTEyMy43YzcuOS0xLjUgMTUuNS0zLjYgMjMtNi4ybDAgMTA0YzEwNi43LTI1LjkgMTg1LjktMTIyLjEgMTg1LjktMjM2LjggMC05MS44LTUwLjgtMTcxLjgtMTI1LjgtMjEzLjMtNS43LTMuMi0xMy0uOS0xNS45IDUtMi43IDUuNS0uNiAxMi4yIDQuNyAxNS4xIDY3LjkgMzcuNiAxMTMuOSAxMTAgMTEzLjkgMTkzLjIgMCA5My4zLTU3LjkgMTczLjEtMTM5LjggMjA1LjRsMC05Mi4yYzE0LjItNC41IDI0LjktMTcuNyAyNC45LTMzLjUgMC0xMy4xLTYuOC0yNC40LTE3LjMtMzAuNSA4LjMtNzkuNSA0NC41LTU4LjYgNDQuNS04My45bDAtMTQuN2MwLTM4LTg3LjktMTYxLjgtMTI5LTE2NC43LTIuNS0uMi01LS4yLTcuNiAwLTQxLjIgMy0xMjkuMSAxMjYuNy0xMjkuMSAxNjQuN2wwIDE0LjhjMCAyNS4zIDM2LjMgNC4zIDQ0LjUgODMuOS0xMC42IDYuMS0xNy4zIDE3LjQtMTcuMyAzMC41IDAgMTUuOCAxMC42IDI5IDI0LjggMzMuNWwwIDkyLjJjLTgxLjktMzIuMi0xMzkuOC0xMTItMTM5LjgtMjA1LjQgMC04My4xIDQ2LTE1NS41IDExMy45LTE5My4yIDUuNC0zIDcuNC05LjYgNC43LTE1LjEtMi45LTUuOS0xMC4xLTguMi0xNS45LTUtNzUgNDEuNS0xMjUuOCAxMjEuNS0xMjUuOCAyMTMuMyAwIDExNC43IDc5LjIgMjEwLjggMTg1LjkgMjM2LjhsMC0xMDRjNy42IDIuNSAxNS4xIDQuNiAyMyA2LjJsMCAxMjMuN2MtMTI5LjgtMTctMjMwLjItMTI4LjEtMjMwLjItMjYyLjcgMC0zMi44IDYtNjQuMyAxNi45LTkzLjMgMi4yLTUuOC0uNi0xMi4yLTYuMy0xNC42LTYtMi42LTEzIC40LTE1LjMgNi42LTExLjggMzEuNS0xOC4zIDY1LjYtMTguMyAxMDEuMyAwIDE1NS4xIDEyMi42IDI4MS42IDI3Ni4zIDI4Ny44bDAtMTQ1LjljNi44IC40IDE1IC41IDIzLjQgMGwwIDE0NS44YzE1My43LTYuMSAyNzYuMy0xMzIuNiAyNzYuMy0yODcuNyAwLTM1LjctNi41LTY5LjgtMTguMy0xMDEuNHpNMzU3LjkgMzIyLjlhMjMuNyAyMy43IDAgMSAxIDAtNDcuNCAyMy43IDIzLjcgMCAxIDEgMCA0Ny40ek0yMTguMSAyNzUuNGEyMy43IDIzLjcgMCAxIDEgMCA0Ny40IDIzLjcgMjMuNyAwIDEgMSAwLTQ3LjR6Il19LG9wZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0ZWxlZ3JhbSIsaWNvbjpbNTEyLDUxMixbNjI0NjIsInRlbGVncmFtLXBsYW5lIl0sImYyYzYiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek0zNzEgMTc2LjdjLTMuNyAzOS4yLTE5LjkgMTM0LjQtMjguMSAxNzguMy0zLjUgMTguNi0xMC4zIDI0LjgtMTYuOSAyNS40LTE0LjQgMS4zLTI1LjMtOS41LTM5LjMtMTguNy0yMS44LTE0LjMtMzQuMi0yMy4yLTU1LjMtMzcuMi0yNC41LTE2LjEtOC42LTI1IDUuMy0zOS41IDMuNy0zLjggNjcuMS02MS41IDY4LjMtNjYuNyAuMi0uNyAuMy0zLjEtMS4yLTQuNHMtMy42LS44LTUuMS0uNWMtMi4yIC41LTM3LjEgMjMuNS0xMDQuNiA2OS4xLTkuOSA2LjgtMTguOSAxMC4xLTI2LjkgOS45LTguOS0uMi0yNS45LTUtMzguNi05LjEtMTUuNS01LTI3LjktNy43LTI2LjgtMTYuMyAuNi00LjUgNi43LTkgMTguNC0xMy43IDcyLjMtMzEuNSAxMjAuNS01Mi4zIDE0NC42LTYyLjMgNjguOS0yOC42IDgzLjItMzMuNiA5Mi41LTMzLjggMi4xIDAgNi42IC41IDkuNiAyLjkgMiAxLjcgMy4yIDQuMSAzLjUgNi43IC41IDMuMiAuNiA2LjUgLjQgOS44eiJdfSx2enQ9b3BlLHh6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bHRyYWx5dGljcyIsaWNvbjpbNTEyLDUxMixbXSwiZTg2ZCIsIk0zOTEuNCAzOS43YzY1LjgtLjIgMTE4LjYgNTEuOCAxMjAuNCAxMTYuNiAuNyAyNi40LTEuNSA1NC4xLTMuOCA3NC4xLTE3LjIgMTQ4LjYtMTIyLjQgMjQyLTI1Mi40IDI0Mi05NS40LS4xLTE3OS40LTUyLjctMjIzLjItMTMwLjYgMjQuNCAxNy40IDU0LjUgMjcuNCA4Ny42IDI3LjQgODMuMiAuMSAxNTEuNC02Ny40IDE1MS4yLTE1MGwuMS02MC42Yy0uMi02NS43IDUzLjktMTE5IDEyMC4xLTExOC45ek0xMTkuOSAxMDAuMmM2Ni4yIDAgMTE5LjkgNTMuMyAxMTkuOSAxMTlTMTg2LjEgMzM4LjMgMTE5LjkgMzM4LjMgMCAyODUgMCAyMTkuM2MwLTY1LjcgNTMuNy0xMTkgMTE5LjktMTE5eiJdfSx5enQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaXR1bmVzLW5vdGUiLGljb246WzM4NCw1MTIsW10sImYzYjUiLCJNMzgxLjkgMzg4LjJjLTYuNCAyNy40LTI3LjIgNDIuOC01NS4xIDQ4LTI0LjUgNC41LTQ0LjkgNS42LTY0LjUtMTAuMi0yMy45LTIwLjEtMjQuMi01My40LTIuNy03NC40IDE3LTE2LjIgNDAuOS0xOS41IDc2LjgtMjUuOCA2LTEuMSAxMS4yLTIuNSAxNS42LTcuNCA2LjQtNy4yIDQuNC00LjEgNC40LTE2My4yIDAtMTEuMi01LjUtMTQuMy0xNy0xMi4zLTguMiAxLjQtMTg1LjcgMzQuNi0xODUuNyAzNC42LTEwLjIgMi4yLTEzLjQgNS4yLTEzLjQgMTYuNyAwIDIzNC43IDEuMSAyMjMuOS0yLjUgMjM5LjUtNC4yIDE4LjItMTUuNCAzMS45LTMwLjIgMzkuNS0xNi44IDkuMy00Ny4yIDEzLjQtNjMuNCAxMC40LTQzLjItOC4xLTU4LjQtNTgtMjkuMS04Ni42IDE3LTE2LjIgNDAuOS0xOS41IDc2LjgtMjUuOCA2LTEuMSAxMS4yLTIuNSAxNS42LTcuNCAxMC4xLTExLjUgMS44LTI1Ni42IDUuMi0yNzAuMiAuOC01LjIgMy05LjYgNy4xLTEyLjkgNC4yLTMuNSAxMS44LTUuNSAxMy40LTUuNSAyMDQtMzguMiAyMjguOS00My4xIDIzMi40LTQzLjEgMTEuNS0uOCAxOC4xIDYgMTguMSAxNy42IC4yIDM0NC41IDEuMSAzMjYtMS44IDMzOC41eiJdfSx3enQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGVzcyIsaWNvbjpbNjQwLDUxMixbXSwiZjQxZCIsIk02MTMuMiAyMTljMC0yMC41IDMuMi0zMi42IDMuMi01NC42IDAtMzQuMi0xMi42LTQ1LjItNDAuNS00NS4ybC0yMC41IDAgMCAyNC4yIDYuMyAwYzE0LjIgMCAxNy4zIDQuNyAxNy4zIDIyLjEgMCAxNi4zLTEuNiAzMi42LTEuNiA1MS41IDAgMjQuMiA3LjkgMzMuNiAyMy42IDM3LjNsMCAxLjZjLTE1LjggMy43LTIzLjYgMTMuMS0yMy42IDM3LjMgMCAxOC45IDEuNiAzNC4yIDEuNiA1MS41IDAgMTcuOS0zLjcgMjIuNi0xNy4zIDIyLjZsMCAuNS02LjMgMCAwIDI1LjIgMjAuNSAwYzI3LjggMCA0MC41LTExIDQwLjUtNDUuMiAwLTIyLjYtMy4yLTM0LjItMy4yLTU0LjYgMC0xMSA2LjgtMjIuNiAyNy4zLTIzLjZsMC0yNy4zYy0yMC41LS43LTI3LjMtMTIuMy0yNy4zLTIzLjN6TTUwNy42IDI1MWMtMTUuOC02LjMtMzAuNS0xMC0zMC41LTIwLjUgMC03LjkgNi4zLTEyLjYgMTcuOS0xMi42czIyLjEgNC43IDMzLjYgMTMuMWwyMS0yNy44Yy0xMy4xLTEwLTMxLTIwLjUtNTUuMi0yMC41LTM1LjcgMC01OS45IDIwLjUtNTkuOSA0OS40IDAgMjUuNyAyMi42IDM4LjkgNDEuNSA0Ni4yIDE2LjMgNi4zIDMyLjEgMTEuNiAzMi4xIDIyLjEgMCA3LjktNi4zIDEzLjEtMjAuNSAxMy4xLTEzLjEgMC0yNi4zLTUuMy00MC41LTE2LjNsLTIxIDMwLjVjMTUuOCAxMy4xIDM5LjkgMjIuMSA1OS45IDIyLjEgNDIgMCA2NC42LTIyLjEgNjQuNi01MXMtMjIuNS00MS00My00Ny44ek0xNDguNyAzMTAuNGMtMy43IDAtOC40LTMuMi04LjQtMTMuMWwwLTE3OC4yLTc0LjYgMGMtMjguNCAwLTQxIDExLTQxIDQ1LjIgMCAyMi42IDMuMiAzNS4yIDMuMiA1NC42IDAgMTEtNi44IDIyLjYtMjcuMyAyMy42bDAgMjcuM2MyMC41IC41IDI3LjMgMTIuMSAyNy4zIDIzLjEgMCAxOS40LTMuMiAzMS0zLjIgNTMuNiAwIDM0LjIgMTIuNiA0NS4yIDQwLjUgNDUuMmwyMC41IDAgMC0yNC4yLTYuMyAwYy0xMy4xIDAtMTcuMy01LjMtMTcuMy0yMi42czEuNi0zMi4xIDEuNi01MS41YzAtMjQuMi03LjktMzMuNi0yMy42LTM3LjNsMC0xLjZjMTUuOC0zLjcgMjMuNi0xMy4xIDIzLjYtMzcuMyAwLTE4LjktMS42LTM0LjItMS42LTUxLjVzMy43LTIyLjEgMTcuMy0yMi4xbDE0LjEgMCAwIDE1MC44YzAgMzIuMSAxMSA1My4xIDQzLjEgNTMuMSAxMCAwIDE3LjktMS42IDIzLjYtMy43bC01LjMtMzQuMmMtMy4xIC44LTQuNiAuOC02LjIgLjh6TTM4MC40IDI1MWMtMTYuMy02LjMtMzEtMTAtMzEtMjAuNSAwLTcuOSA2LjMtMTIuNiAxNy45LTEyLjZzMjIuMSA0LjcgMzMuNiAxMy4xbDIxLTI3LjhjLTEzLjEtMTAtMzEtMjAuNS01NS4yLTIwLjUtMzUuNyAwLTU5LjkgMjAuNS01OS45IDQ5LjQgMCAyNS43IDIyLjYgMzguOSA0MS41IDQ2LjIgMTYuMyA2LjMgMzIuMSAxMS42IDMyLjEgMjIuMSAwIDcuOS02LjMgMTMuMS0yMC41IDEzLjEtMTMuMSAwLTI2LjMtNS4zLTQwLjUtMTYuM2wtMjAuNSAzMC41YzE1LjggMTMuMSAzOS45IDIyLjEgNTkuOSAyMi4xIDQyIDAgNjQuNi0yMi4xIDY0LjYtNTEgLjEtMjguOS0yMi41LTQxLTQzLTQ3Ljh6bS0xNTUtNjguOGMtMzguNCAwLTc1LjEgMzIuMS03NC4xIDgyLjUgMCA1MiAzNC4yIDgyLjUgNzkuMyA4Mi41IDE4LjkgMCAzOS45LTYuOCA1Ni4yLTE3LjlMMjcxIDMwMS41Yy0xMS42IDYuOC0yMi42IDEwLTM0LjIgMTAtMjEgMC0zNy4zLTEwLTQxLjUtMzQuMmw5NS4yIDBjLjUtMy43IDEuNi0xMSAxLjYtMTkuNCAuNi00Mi42LTIyLjYtNzUuNy02Ni43LTc1Ljd6bS0zMCA2Ni4yYzMuMi0yMSAxNS44LTMxIDMwLjUtMzEgMTguOSAwIDI2LjMgMTMuMSAyNi4zIDMxbC01Ni44IDB6Il19LE16dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmaXJlZm94IixpY29uOls1MTIsNTEyLFtdLCJmMjY5IiwiTTUwMy41IDI0MS41Yy0uMS0xLjYtLjItMy4xLS4yLTQuN2wwLS4xLS40LTQuNyAwLS4xYy0xLjMtMTMuOS0zLjctMjcuNy03LjMtNDEuMiAwLS4xIDAtLjEtLjEtLjJsLTEuMS00Yy0uMS0uMi0uMS0uNS0uMi0uNi0uNC0xLjItLjctMi41LTEuMS0zLjctLjEtLjItLjEtLjYtLjItLjgtLjQtMS4yLS43LTIuNC0xLjEtMy41LS4xLS40LS4yLS42LS40LTEtLjQtMS4yLS43LTIuMy0xLjItMy41bC0uNC0xLjFjLS40LTEuMS0uOC0yLjMtMS4yLTMuNC0uMS0uMy0uMi0uNy0uNC0xLS41LTEuMS0uOC0yLjMtMS4zLTMuNC0uMS0uMi0uMi0uNi0uNC0uOC0uNS0xLjItMS0yLjMtMS40LTMuNSAwLS4xLS4xLS4yLS4xLS40LTEuNi0zLjgtMy4yLTcuNy01LTExLjRsLS40LS43Yy0uNS0xLS44LTEuOC0xLjMtMi42LS4yLS41LS41LTEuMS0uNy0xLjYtLjQtLjgtLjgtMS42LTEuMi0yLjQtLjQtLjYtLjYtMS4yLTEtMS44cy0uOC0xLjQtMS4yLTIuM2MtLjQtLjYtLjctMS4zLTEuMS0xLjlzLS44LTEuNC0xLjItMi4yYy0uNC0uNy0uOC0xLjQtMS4yLTItLjQtLjctLjgtMS4zLTEuMi0ycy0uOC0xLjMtMS4yLTItLjgtMS4zLTEuMi0xLjktLjgtMS40LTEuMy0yLjJjLS40LS42LS44LTEuMi0xLjItMS44bC0xLjQtMi4xYy0uNC0uNi0uOC0xLjItMS4yLTEuOC0uNS0uNy0xLjEtMS42LTEuNi0yLjMtLjQtLjUtLjctMS4xLTEuMS0xLjZsLTEuOC0yLjVjLS40LS41LS42LS44LTEtMS4zLTEtMS4zLTEuOC0yLjUtMi44LTMuNy03LjItOS40LTE1LTE4LjMtMjMuNS0yNi42LTUuNy02LTExLjgtMTEuNS0xOC4zLTE2LjctNC0zLjUtOC4yLTYuNy0xMi41LTkuOC03LjctNS44LTE2LTEwLjgtMjQuNi0xNS4xLTIuNC0xLjMtNC44LTIuNS03LjItMy43LTE3LjctOC42LTM2LjMtMTUuMi01NS40LTE5LjYtMS45LS40LTMuOC0uOC01LjYtMS4ybC0uMSAwYy0xLS4xLTEuOC0uNC0yLjgtLjUtMTIuNS0yLjQtMjUuMi0zLjctMzgtNGwtMTAuNiAwYy0xNS4zIC4yLTMwLjUgMS45LTQ1LjUgNS0zMy42IDcuMS02My4yIDIxLjItODIuOSAzOS0xLjEgMS0xLjkgMS43LTIuNCAyLjJsLS41IC41IC4xIDBjMCAwIC4xIDAgLjEgMHMwLS4xIDAtLjFsLS4xIC4xYy4xLS4xIC4xLS4xIC4yLS4xIDE0LjYtOC44IDM0LjktMTYgNDkuNC0xOS42bDUuOS0xLjRjLjQtLjEgLjgtLjEgMS4yLS4yIDEuNy0uNCAzLjQtLjcgNS4yLTEuMSAuMiAwIC42LS4xIC44LS4xIDY0LjItMTEuNyAxMzIuNiA3LjUgMTgwLjIgNTMgMTAuMyA5LjggMTkuMyAyMC44IDI2LjkgMzIuOCAzMC40IDQ5LjIgMjcuNSAxMTEuMSAzLjggMTQ3LjYtMzQuNCA1My0xMTEuNCA3MS4zLTE1OSAyNC44LTE2LTE1LjUtMjUuMi0zNi43LTI1LjYtNTktLjItMTAuNyAyLTIxLjIgNi4yLTMxIDEuNy0zLjggMTMuMS0yNS43IDE4LjItMjQuNi0xMy4xLTIuOC0zNy41IDIuNi01NC43IDI4LjItMTUuNCAyMi45LTE0LjUgNTguMi01IDgzLjMtNi0xMi40LTEwLjEtMjUuNi0xMi4xLTM5LjItMTIuMi04Mi42IDQzLjMtMTUzIDk0LjMtMTcwLjUtMjcuNS0yNC05Ni41LTIyLjMtMTQ3LjcgMTUuNC0yOS45IDIyLTUxLjIgNTMuMi02Mi41IDkwLjQgMS43LTIwLjkgOS42LTUyLjEgMjUuOC04My45LTE3LjIgOC45LTM5IDM3LTQ5LjggNjIuOS0xNS42IDM3LjQtMjEgODIuMi0xNi4xIDEyNC44IC40IDMuMiAuNyA2LjQgMS4xIDkuNiAxOS45IDExNy4xIDEyMiAyMDYuNCAyNDQuOCAyMDYuNCAxMzcuMSAwIDI0OC4zLTExMS4yIDI0OC4zLTI0OC40LS4xLTQuNS0uMi05LjEtLjUtMTMuNXoiXX0sa3p0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImthZ2dsZSIsaWNvbjpbMzIwLDUxMixbXSwiZjVmYSIsIk0zMDQuMiA1MDEuNUwxNTguNCAzMjAuMyAyOTguMiAxODVjMi42LTIuNyAxLjctMTAuNS01LjMtMTAuNWwtNjkuMiAwYy0zLjUgMC03IDEuOC0xMC41IDUuM2wtMTMyLjMgMTMzLjcgMC0zMDZjMC01LTIuNS03LjUtNy41LTcuNUwyMS41IDBDMTYuNSAwIDE0IDIuNSAxNCA3LjVsMCA0OTdjMCA1IDIuNSA3LjUgNy41IDcuNWw1MS45IDBjNSAwIDcuNS0yLjUgNy41LTcuNWwwLTEwOSAzMC44LTI5LjMgMTEwLjUgMTQwLjZjMyAzLjUgNi41IDUuMyAxMC41IDUuM2w2Ni45IDBjMy41IDAgNS41LTEgNi0zbC0xLjQtNy42eiJdfSxTenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmFjZWJvb2stbWVzc2VuZ2VyIixpY29uOls1MTIsNTEyLFtdLCJmMzlmIiwiTTI1Ni42IDhjLTE0MCAwLTI0OC42IDEwMi4zLTI0OC42IDI0MC42IDAgNzIuMyAyOS43IDEzNC44IDc4LjEgMTc3LjkgOC4zIDcuNSA2LjYgMTEuOSA4IDU4LjIgLjEgMy4yIDEgNi40IDIuNiA5LjJzMy45IDUuMiA2LjcgNi45IDUuOSAyLjggOS4xIDMgNi41LS4zIDkuNS0xLjZDMTc0LjkgNDc5IDE3NS42IDQ3Ny4yIDE4NC42IDQ3OS42IDMzNy44IDUyMS44IDUwNCA0MjMuNyA1MDQgMjQ4LjYgNTA0IDExMC4zIDM5Ni42IDggMjU2LjYgOHpNNDA1LjggMTkzLjFsLTczIDExNS42Yy0yLjggNC4zLTYuNCA4LjEtMTAuNiAxMXMtOS4xIDQuOC0xNC4xIDUuOC0xMC4zIC44LTE1LjMtLjQtOS43LTMuNC0xMy44LTYuNGwtNTguMS00My41Yy0yLjYtMS45LTUuOC0zLTktM3MtNi40IDEuMS05IDNsLTc4LjQgNTkuNGMtMTAuNSA3LjktMjQuMi00LjYtMTcuMS0xNS43bDczLTExNS42YzIuOC00LjMgNi40LTguMSAxMC42LTExczkuMS00LjggMTQuMS01LjggMTAuMy0uOCAxNS4zIC40IDkuNyAzLjQgMTMuOSA2LjRsNTguMSA0My41YzIuNiAxLjkgNS44IDMgOSAzczYuNC0xLjEgOS0zbDc4LjQtNTkuNGMxMC40LTggMjQuMSA0LjUgMTcuMSAxNS42eiJdfSx6enQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXVkaWJsZSIsaWNvbjpbNjQwLDUxMixbXSwiZjM3MyIsIk02NDAgMTk5LjlsMCA1NC0zMjAgMjAwLTMyMC0xOTkuOSAwLTU0IDMyMCAyMDAgMzIwLTIwMC4xem0tMTk0LjUgNzJsNDcuMS0yOS40Yy0zNy4yLTU1LjgtMTAwLjctOTIuNi0xNzIuNy05Mi42cy0xMzUuNSAzNi43LTE3Mi42IDkyLjRsLjMgMGMyLjUtMi4zIDUuMS00LjUgNy43LTYuNyA4OS43LTc0LjQgMjE5LjQtNTguMSAyOTAuMiAzNi4zek0yMjUuNCAyOTAuN2MxNi45LTExLjkgMzYuNS0xOC43IDU3LjQtMTguNyAzNC40IDAgNjUuMiAxOC40IDg2LjQgNDcuNmw0NS40LTI4LjRjLTIwLjktMjkuOS01NS42LTQ5LjUtOTQuOC00OS41LTM4LjkgMC03My40IDE5LjQtOTQuNCA0OXpNMTAzLjYgMTYxLjFDMjM1LjQgNTYuOCA0MjEuOCA4NC43IDUyMS4xIDIyMy4ybC43IDEgNDguOC0zMC40Yy01My41LTgxLjctMTQ1LjgtMTM1LjctMjUwLjctMTM1LjctMTAzLjUgMC0xOTYuNiA1My41LTI1MC41IDEzNS42IDkuOS0xMC41IDIyLjctMjMuNSAzNC4yLTMyLjZ6Il19LEN6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwYXRyZW9uIixpY29uOls1MTIsNTEyLFtdLCJmM2Q5IiwiTTQ5MCAxNTMuOGMtLjEtNjUuNC01MS0xMTktMTEwLjctMTM4LjMtNzQuMi0yNC0xNzItMjAuNS0yNDIuOSAxMi45LTg1LjggNDAuNS0xMTIuOCAxMjkuMy0xMTMuOCAyMTcuOC0uOCA3Mi44IDYuNCAyNjQuNCAxMTQuNiAyNjUuOCA4MC4zIDEgOTIuMy0xMDIuNSAxMjkuNS0xNTIuMyAyNi40LTM1LjUgNjAuNS00NS41IDEwMi40LTU1LjkgNzItMTcuOCAxMjEuMS03NC43IDEyMS0xNTBsLS4xIDB6Il19LF96dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2bnYiLGljb246WzY0MCw1MTIsW10sImY0MGIiLCJNMTA0LjkgMzUyYy0zNC4xIDAtNDYuNC0zMC40LTQ2LjQtMzAuNEwyLjYgMjEwLjFTLTcuOCAxOTIgMTMgMTkybDMyLjggMGMxMC40IDAgMTMuMiA4LjcgMTguOCAxOC4xbDM2LjcgNzQuNXM1LjIgMTMuMSAyMS4xIDEzLjEgMjEuMS0xMy4xIDIxLjEtMTMuMWwzNi43LTc0LjVjNS42LTkuNSA4LjQtMTguMSAxOC44LTE4LjFsMzIuOCAwYzIwLjggMCAxMC40IDE4LjEgMTAuNCAxOC4xTDE4Ni40IDMyMS42UzE3NC4yIDM1MiAxNDAgMzUybC0zNS4xIDB6bTM5NSAwYy0zNC4xIDAtNDYuNC0zMC40LTQ2LjQtMzAuNEwzOTcuNiAyMTAuMVMzODcuMiAxOTIgNDA4IDE5MmwzMi44IDBjMTAuNCAwIDEzLjIgOC43IDE4LjggMTguMWwzNi43IDc0LjVzNS4yIDEzLjEgMjEuMSAxMy4xIDIxLjEtMTMuMSAyMS4xLTEzLjFsMzYuOC03NC41YzUuNi05LjUgOC40LTE4LjEgMTguOC0xOC4xbDMyLjkgMGMyMC44IDAgMTAuNCAxOC4xIDEwLjQgMTguMUw1ODEuNSAzMjEuNlM1NjkuMyAzNTIgNTM1LjEgMzUybC0zNS4yIDB6TTMzNy42IDE5MmMzNC4xIDAgNDYuNCAzMC40IDQ2LjQgMzAuNGw1NS45IDExMS41UzQ1MC4zIDM1MiA0MjkuNSAzNTJsLTMyLjggMGMtMTAuNCAwLTEzLjItOC43LTE4LjgtMTguMWwtMzYuNy03NC41cy01LjItMTMuMS0yMS4xLTEzLjEtMjEuMSAxMy4xLTIxLjEgMTMuMWwtMzYuNyA3NC41Yy01LjYgOS40LTguNCAxOC4xLTE4LjggMTguMWwtMzIuOSAwYy0yMC44IDAtMTAuNC0xOC4xLTEwLjQtMTguMWw1NS45LTExMS41UzI2OC4zIDE5MiAzMDIuNSAxOTJsMzUuMSAweiJdfSxUenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGFnZWxpbmVzIixpY29uOlszODQsNTEyLFtdLCJmMThjIiwiTTM4NC4xIDMxMi43Yy01NS4xIDEzNi43LTE4Ny4xIDU0LTE4Ny4xIDU0LTQwLjUgODEuOC0xMDcuNCAxMzQuNC0xODQuNiAxMzQuNy0xNi4xIDAtMTYuNi0yNC40IDAtMjQuNCA2NC40LS4zIDEyMC41LTQyLjcgMTU3LjItMTEwLjEtNDEuMSAxNS45LTExOC42IDI3LjktMTYxLjYtODIuMiAxMDktNDQuOSAxNTkuMSAxMS4yIDE3OC4zIDQ1LjUgOS45LTI0LjQgMTctNTAuOSAyMS42LTc5LjcgMCAwLTEzOS43IDIxLjktMTQ5LjUtOTguMSAxMTkuMS00Ny45IDE1Mi42IDc2LjcgMTUyLjYgNzYuNyAxLjYtMTYuNyAzLjMtNTIuNiAzLjMtNTMuNCAwIDAtMTA2LjMtNzMuNy0zOC4xLTE2NS4yIDEyNC42IDQzIDYxLjQgMTYyLjQgNjEuNCAxNjIuNCAuNSAxLjYgLjUgMjMuOCAwIDMzLjQgMCAwIDQ1LjItODkgMTM2LjQtNTcuNS00LjIgMTM0LTE0MS45IDEwNi40LTE0MS45IDEwNi40LTQuNCAyNy40LTExLjIgNTMuNC0yMCA3Ny41IDAgMCA4My05MS44IDE3Mi0yMHoiXX0sTHp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFtYXpvbiIsaWNvbjpbNDQ4LDUxMixbXSwiZjI3MCIsIk0yNTcuNyAxNjIuN2MtNDguNyAxLjgtMTY5LjUgMTUuNS0xNjkuNSAxMTcuNSAwIDEwOS41IDEzOC4zIDExNCAxODMuNSA0My4yIDYuNSAxMC4yIDM1LjQgMzcuNSA0NS4zIDQ2LjhsNTYuOC01NnMtMzIuMy0yNS4zLTMyLjMtNTIuOGwwLTE0Ny4xQzM0MS41IDg5IDMxNyAzMiAyMjkuMiAzMiAxNDEuMiAzMiA5NC41IDg3IDk0LjUgMTM2LjNsNzMuNSA2LjhjMTYuMy00OS41IDU0LjItNDkuNSA1NC4yLTQ5LjUgNDAuNy0uMSAzNS41IDI5LjggMzUuNSA2OS4xem0wIDg2LjhjMCA4MC04NC4yIDY4LTg0LjIgMTcuMiAwLTQ3LjIgNTAuNS01Ni43IDg0LjItNTcuOGwwIDQwLjZ6TTM5My43IDQxM2MtNy43IDEwLTcwIDY3LTE3NC41IDY3UzM0LjcgNDA4LjUgMTAuMiAzNzljLTYuOC03LjcgMS0xMS4zIDUuNS04LjMgNzMuMyA0NC41IDE4Ny44IDExNy44IDM3Mi41IDMwLjMgNy41LTMuNyAxMy4zIDIgNS41IDEyem0zOS44IDIuMmMtNi41IDE1LjgtMTYgMjYuOC0yMS4yIDMxLTUuNSA0LjUtOS41IDIuNy02LjUtMy44czE5LjMtNDYuNSAxMi43LTU1Yy02LjUtOC4zLTM3LTQuMy00OC0zLjItMTAuOCAxLTEzIDItMTQtLjMtMi4zLTUuNyAyMS43LTE1LjUgMzcuNS0xNy41IDE1LjctMS44IDQxLS44IDQ2IDUuNyAzLjcgNS4xIDAgMjcuMS02LjUgNDMuMXoiXX0sJHp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImVudmlyYSIsaWNvbjpbNDQ4LDUxMixbXSwiZjI5OSIsIk0wIDMyYzQ3Ny42IDAgMzY2LjYgMzE3LjMgMzY3LjEgMzY2LjNsODAuOSA4MS43LTI2IDAtNzAuNC03MS4yQzMxMi42IDQxMyAyMjcuMiA0NDMuMyAxMzcuMiAzNzEuOCA0NyAzMDAuMyA1MiAyMTQuNyAwIDMyek03OS43IDc4Yy00OS43LTIzLjUtNS4yIDkuMi01LjIgOS4yIDQ1LjIgMzEuMiA2NiA3My43IDkwLjIgMTE5LjkgMzEuNSA2MC4yIDc5IDEzOS43IDE0NC4yIDE2Ny43IDY1IDI4IDM0LjIgMTIuNSA2LTguNS0yOC4yLTIxLjItNjguMi04Ny05MS0xMzAuMi0zMS43LTYwLTYxLTExOC42LTE0NC4yLTE1OC4xeiJdfSxEenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGlub2RlIixpY29uOls0NDgsNTEyLFtdLCJmMmI4IiwiTTM2Ni4zIDE4Ni45bC01OS41IDM2LjktLjggMzYuOS0yOS4zLTE5LjMtMzkuNCAyNC4zYzIuMiA1NS4yIDIuNSA1OS4zIDIuNSA1OS41bC05Ny4yIDY1LjQtMTUuMS0xMDQuNyAxMDguMS02Mi00MC4yLTI2LTc1LjQgMzguNS0yMS0xNDMuMyAxMjktNDkuNC05MS4zLTQzLjYtMTI1LjcgMzkuNCAyNy43IDEzNC45IDQxLjkgMzIuNy0zMS44IDE1LjEgMjAuOSAxMDEuNCAyOS4zIDI3LjctMjAuOSAxMi42IDE2LjggNzguOCA2Ni4yIDY5LjZjLTEwLjgtNzQuOC0xMS43LTc4LjYtMTEuNy03OC44bDc3LjktNTUuM0MyNDQgMzY1LjQgMjQyLjMgMzY3IDI0Mi4zIDM2N2wuOCAyNC4zIDMzLjUgMjguNS0uOC03Ny4xIDQ2LjktMzMuNSAyNi44LTE4LjQtMi41IDM2IDI1LjEgMTcuNiA2LjctNzQuNiA1OC43LTQzLjYtNzEuMi0zOS40eiJdfSxBenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYWNjdXNvZnQiLGljb246WzY0MCw1MTIsW10sImYzNjkiLCJNMzIyLjEgMjUybDAtMS01MS4yLTY1LjhzLTEyIDEuNi0yNSAxNS4xYy05IDkuMy0yNDIuMSAyMzkuMS0yNDMuNCAyNDAuOS03IDEwIDEuNiA2LjggMTUuNyAxLjcgLjggMCAxMTQuNS0zNi42IDExNC41LTM2LjYgLjUtLjYtLjEtLjEgLjYtLjYtLjQtNS4xLS44LTI2LjItMS0yNy43LS42LTUuMiAyLjItNi45IDctOC45bDkyLjYtMzMuOGMuNi0uOCA4OC41LTgxLjcgOTAuMi04My4zek00ODIuMiAzNzIuMWMxMy4zIDE2LjEgMjAuNyAxMy4zIDMwLjggOS4zIDMuMi0xLjIgMTE1LjQtNDcuNiAxMTcuOC00OC45IDgtNC4zLTEuNy0xNi43LTcuMi0yMy40LTIuMS0yLjUtMjA1LjEtMjQ1LjYtMjA3LjItMjQ4LjMtOS43LTEyLjItMTQuMy0xMi45LTM4LjQtMTIuOC0xMC4yIDAtMTA2LjggLjUtMTE2LjUgLjYtMTkuMiAuMS0zMi45LS4zLTE5LjIgMTYuOSA3LjcgOS41IDIzNC4yIDI5OS43IDIzOS45IDMwNi42em0xNTIuNyAxLjZjLTIuMy0uMy0yNC42LTQuNy0zOC03LjIgMCAwLTExNSA1MC40LTExNy41IDUxLjYtMTYgNy4zLTI2LjktMy4yLTM2LjctMTQuNmwtNTcuMS03NGMtNS40LS45LTYwLjQtOS42LTY1LjMtOS4zLTMuMSAuMi05LjYgLjgtMTQuNCAyLjktNC45IDIuMS0xNDUuMiA1Mi44LTE1MC4yIDU0LjctNS4xIDItMTEuNCAzLjYtMTEuMSA3LjYgLjIgMi41IDIgMi42IDQuNiAzLjUgMi43IC44IDMwMC45IDY3LjYgMzA4IDY5LjEgMTUuNiAzLjMgMzguNSAxMC41IDUzLjYgMS43IDIuMS0xLjIgMTIzLjgtNzYuNCAxMjUuOC03Ny44IDUuNC00IDQuMy02LjgtMS43LTguMnoiXX0sRXp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImVybGFuZyIsaWNvbjpbNjQwLDUxMixbXSwiZjM5ZCIsIk04Ny4yIDUzLjVsLTg3LjIgMCAwIDQwNSAxMDAuNCAwYy00OS43LTUyLjYtNzguOC0xMjUuMy03OC43LTIxMi4xLS4xLTc2LjcgMjQtMTQyLjcgNjUuNS0xOTIuOXptMjM4LjIgOS43Yy00NS45IC4xLTg1LjEgMzMuNS04OS4yIDgzLjJsMTY5LjkgMGMtMS4xLTQ5LjctMzQuNS04My4xLTgwLjctODMuMnptMjMwLjctOS42bC4zIDAtLjEtLjEtLjIgLjF6bS4zIDBjMzEuNCA0Mi43IDQ4LjcgOTcuNSA0Ni4yIDE2Mi43IC41IDYgLjUgMTEuNyAwIDI0LjFsLTM3Mi40IDBjLS4yIDEwOS43IDM4LjkgMTk0LjkgMTM4LjYgMTk1LjMgNjguNS0uMyAxMTgtNTEgMTUxLjktMTA2LjFsOTYuNCA0OC4yYy0xNy40IDMwLjktMzYuNSA1Ny44LTU3LjkgODAuOGw4MC44IDAgMC00MDUtODMuNiAweiJdfSxQenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidW5pc29uIixpY29uOls1MTIsNTEyLFtdLCJlODU0IiwiTTQzNS4xIDE2MS43YTEzLjkgMTMuOSAwIDEgMSAxOS42LTE5LjcgMTMuOSAxMy45IDAgMSAxIC0xOS42IDE5Ljd6TTM2OS43IDk3LjhjMTAuNCAyLjEgMjAuNiA1LjIgMzAuNCA5LjIgNi44IDIuOCAxMC4xIDEwLjggNy4zIDE3LjctMi44IDYuNy0xMC45IDEwLjEtMTcuNiA3LjMtOC4zLTMuNC0xNi44LTUuOC0yNS43LTcuOC04LjYtMS43LTE3LjMtMi41LTI2LTIuNS0xOS4zIDAtMzcuMS0xMC4zLTQ2LjctMjctOC43LTE1LjEtMjAuNi0yOC45LTM0LjctMzkuNy01OS4xLTQ1LjUtMTQzLjgtMzQuMy0xODkuMiAyNS0yLjYgMy4zLTYuNSA1LjMtMTAuNyA1LjMtNy40IDAtMTMuNS02LjEtMTMuNS0xMy41IDAtMy4yIDEuMi02LjMgMy4yLTguOCAxMi45LTE2LjcgMjguOS0zMC43IDQ3LjEtNDEuMiA3Ny40LTQ0LjggMTc2LjQtMTguMiAyMjEuMSA1OS40IDQuMyA4LjIgMTMuNyAxMy4zIDIyLjggMTMuNSAxMC44IDAgMjEuNiAxIDMyLjIgMy4xek0zNSAyNzBjNC42LTguMiA0LjYtMTguMiAwLTI2LjQtMjEuOS0zNi41LTI3LjMtODIuMy0xNi4zLTEyMy4yIDEuNi01LjkgNi45LTEwIDEzLTEwIDguNyAwIDE1LjMgOC43IDEzIDE3LTkuNSAzNS40LTMuNCA3MSAxMy43IDEwMi45IDkuMyAxNi41IDkuMyAzNi43IDAgNTMuMS04LjcgMTUuNy0xNC44IDMyLjQtMTcuMiA1MC4zLTkuNyA3My45IDQyLjMgMTQxLjcgMTE2LjIgMTUxLjQgNy4zIDEgMTIuNiA3LjkgMTEuNiAxNS4yLTEgNy4zLTcuOCAxMi42LTE1LjEgMTEuNi0yMS4xLTIuOC00MS40LTkuNy01OS44LTIwLjMtNzUuNi00My42LTEwNC45LTE0NS44LTU5LjItMjIxLjV6TTIxNi45IDUwOWMtNy40IDItMTUuMS0yLjQtMTcuMS05LjhzMi41LTE1IDkuOS0xNi45YzguNS0yLjIgMTcuNCA0LjUgMTcuNCAxMy40IDAgNi4yLTQuMiAxMS42LTEwLjIgMTMuM3ptMTIyLjMtOTFjLTkuNSAwLTE4LjQgNS0yMy4yIDEzLjItNC45IDkuNC0xMS43IDE4LjItMTguNyAyNi4ybDAgMGMtNy4xIDgtMTQuOCAxNS4yLTIzLjIgMjEuNy01LjkgNC41LTE0LjQgMy40LTE5LTIuNXMtMy40LTE0LjQgMi41LTE4LjljNy01LjQgMTMuNS0xMS41IDE5LjQtMTguMWwwIDBjNS45LTYuNiAxMS4xLTEzLjggMTUuNS0yMS42IDkuNy0xNi43IDI3LjUtMjcgNDYuOC0yNyAxNy44IDAgMzUuNC0zLjUgNTEuOC0xMC4zIDY4LjMtMjguMyAxMDEuMS0xMDguMyA3My4yLTE3Ni41LS42LTEuNi0xLTMuMy0xLTUgMC03LjQgNi4xLTEzLjUgMTMuNS0xMy41IDUuNCAwIDEwLjMgMy4yIDEyLjQgOC4yIDguMiAxOS43IDEyLjQgNDAuOCAxMi40IDYyLjEgMCA4OS41LTcyLjcgMTYyLjEtMTYyLjQgMTYyLjFsMCAwem0tMTMuMS0yNjhjMy45LS40IDcuOS0uNiAxMS45LS42IDU5LjMgMCAxMDguMiA0OC43IDEwOC4yIDEwNy44UzM5Ny4zIDM2NSAzMzggMzY1Yy00IDAtNy45LS4yLTExLjgtLjYtMjIuMi0xLjctNDMuMyAxMC40LTUyLjkgMzAuNC0xNy4yIDM5LjEtNTYuMiA2NC41LTk5LjEgNjQuNS01OS4zIDAtMTA4LjItNDguNy0xMDguMi0xMDcuOCAwLTIzLjIgNy41LTQ1LjcgMjEuNC02NC4zIDEyLjItMTguMyAxMi4xLTQyLjMtLjQtNjAuNS0xMy42LTE4LjUtMjAuOS00MC44LTIwLjktNjMuNyAwLTU5LjEgNDguOC0xMDcuOCAxMDguMi0xMDcuOCA0Mi44IDAgODEuOCAyNS40IDk5IDY0LjQgOS42IDIwIDMwLjcgMzIuMSA1Mi45IDMwLjR6TTEwNi44IDM5My40YzE0LjQgMjUuMiA0MS4xIDQwLjggNjkuOCA0MC44IDQ0LjIgMCA4MC42LTM2LjggODAuNi04MS42cy0zNi40LTgxLjYtODAuNi04MS42Yy0xNC4yIDAtMjguMSAzLjgtNDAuMyAxMC45LTM4LjMgMjIuNC01MS42IDcyLjctMjkuNSAxMTEuNHpNMjY4IDI5OGMxNC40IDI1LjIgNDEuMSA0MC44IDY5LjggNDAuOCA0NC4yIDAgODAuNi0zNi44IDgwLjYtODEuNnMtMzYuNC04MS42LTgwLjYtODEuNmMtMTQuMiAwLTI4LjEgMy44LTQwLjMgMTAuOS0zOC4zIDIyLjQtNTEuNiA3Mi43LTI5LjUgMTExLjR6bS05MS4yLTU0LjZjNDQuMiAwIDgwLjUtMzYuOCA4MC41LTgxLjZzLTM2LjQtODEuNi04MC42LTgxLjYtODAuNiAzNi44LTgwLjYgODEuNmMwIDQ0LjcgMzYuNCA4MS42IDgwLjYgODEuNnoiXX0sSXp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLWRpc2NvdmVyIixpY29uOls1NzYsNTEyLFtdLCJmMWYyIiwiTTUyMC40IDE5Ni4xYzAtNy45LTUuNS0xMi4xLTE1LjYtMTIuMWwtNC45IDAgMCAyNC45IDQuNyAwYzEwLjMgMCAxNS44LTQuNCAxNS44LTEyLjh6TTUyOCAzMkw0OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwTDAgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDQ4MCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzUyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek00ODMuOSAxNzAuOWMyMi42IDAgNTIuOS00LjEgNTIuOSAyNC40IDAgMTIuNi02LjYgMjAuNy0xOC43IDIzLjJsMjUuOCAzNC40LTE5LjYgMC0yMi4yLTMyLjgtMi4yIDAgMCAzMi44LTE2IDAgMC04MnpNNDI4IDE3MWw0NS4zIDAgMCAxNC0yOS4zIDAgMCAxOC4yIDI4LjMgMCAwIDEzLjgtMjguMyAwIDAgMjIuMiAyOS4zIDAgMCAxMy44LTQ1LjMgMCAwLTgyem0tNjguNyAwbDIxLjkgNTUuMiAyMi4yLTU1LjIgMTcuNSAwLTM1LjUgODQuMi04LjYgMC0zNS04NC4yIDE3LjUgMHptLTU1LjkgODYuMmE0NC42IDQ0LjYgMCAxIDEgMC04OS4yIDQ0LjYgNDQuNiAwIDEgMSAwIDg5LjJ6bS00OS4zLTgzLjFsMCAxOWMtMjAuMS0yMC4xLTQ2LjgtNC43LTQ2LjggMTkgMCAyNSAyNy41IDM4LjUgNDYuOCAxOS4ybDAgMTljLTI5LjcgMTQuMy02My4zLTUuNy02My4zLTM4LjIgMC0zMS4yIDMzLjEtNTMgNjMuMy0zOHptLTk3LjIgNjYuM2MxMS40IDAgMjIuNC0xNS4zLTMuMy0yNC40LTE1LTUuNS0yMC4yLTExLjQtMjAuMi0yMi43IDAtMjMuMiAzMC42LTMxLjQgNDkuNy0xNC4zbC04LjQgMTAuOGMtMTAuNC0xMS42LTI0LjktNi4yLTI0LjkgMi41IDAgNC40IDIuNyA2LjkgMTIuMyAxMC4zIDE4LjIgNi42IDIzLjYgMTIuNSAyMy42IDI1LjYgMCAyOS41LTM4LjggMzcuNC01Ni42IDExLjNsMTAuMy05LjljMy43IDcuMSA5LjkgMTAuOCAxNy41IDEwLjh6TTU1LjQgMjUzbC0yMy40IDAgMC04MiAyMy40IDBjMjYuMSAwIDQ0LjEgMTcgNDQuMSA0MS4xIDAgMTguNS0xMy4yIDQwLjktNDQuMSA0MC45em02Ny41IDBsLTE2IDAgMC04MiAxNiAwIDAgODJ6TTU0NCA0MzNjMCA4LjItNi44IDE1LTE1IDE1bC00MDEgMGMxODkuNi0zNS42IDM4Mi43LTEzOS4yIDQxNi0xNjBsMCAxNDV6TTc0LjEgMTkxLjZjLTUuMi00LjktMTEuNi02LjYtMjEuOS02LjZsLTQuMiAwIDAgNTQuMiA0LjIgMGMxMC4zIDAgMTctMiAyMS45LTYuNCA1LjctNS4yIDguOS0xMi44IDguOS0yMC43cy0zLjItMTUuNS04LjktMjAuNXoiXX0sTnp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNhZmFyaSIsaWNvbjpbNTEyLDUxMixbXSwiZjI2NyIsIk0yNzQuNyAyNzQuN0wyMzcuMyAyMzcuMyAxNjYgMzQ2IDI3NC43IDI3NC43ek0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTQxMS44IDE4Mi44bDE0LjgtNi4xYzEtLjQgMi0uNiAzLjEtLjZzMi4xIC4yIDMuMSAuNiAxLjggMSAyLjYgMS43IDEuMyAxLjYgMS43IDIuNiAuNiAyIC42IDMuMS0uMiAyLjEtLjYgMy4xLTEgMS45LTEuNyAyLjYtMS42IDEuMy0yLjYgMS43TDQxOCAxOTcuNmMtMiAuOC00LjIgLjgtNi4xIDBzLTMuNS0yLjQtNC4zLTQuMy0uOC00LjIgMC02LjEgMi40LTMuNSA0LjMtNC4zek0zMTQuNCA5NGw2LjEtMTQuOGMuOC0yIDIuNC0zLjUgNC4zLTQuM3M0LjItLjggNi4xIDAgMy41IDIuNCA0LjMgNC4zIC44IDQuMiAwIDYuMWwtNi4xIDE0LjhjLS44IDItMi40IDMuNS00LjMgNC4zcy00LjIgLjgtNi4xIDBjLTEtLjQtMS45LTEtMi42LTEuN3MtMS4zLTEuNi0xLjctMi42LS42LTItLjYtMy4xIC4yLTIuMSAuNi0zLjF6TTI1NiA2MGMyLjEgMCA0LjIgLjggNS43IDIuM1MyNjQgNjUuOSAyNjQgNjhsMCAxNmMwIDIuMS0uOCA0LjItMi4zIDUuN3MtMy41IDIuMy01LjcgMi4zLTQuMi0uOC01LjctMi4zLTIuMy0zLjUtMi4zLTUuN2wwLTE2YzAtMi4xIC44LTQuMiAyLjMtNS43UzI1My45IDYwIDI1NiA2MHpNMTgxIDc0LjljMS0uNCAyLS42IDMuMS0uNnMyLjEgLjIgMy4xIC42IDEuOSAxIDIuNiAxLjcgMS4zIDEuNiAxLjcgMi42TDE5Ny42IDk0Yy40IDEgLjcgMiAuNyAzLjFzLS4yIDIuMS0uNiAzLjEtMSAxLjktMS43IDIuNi0xLjYgMS40LTIuNiAxLjgtMiAuNi0zLjEgLjYtMi4xLS4yLTMuMS0uNi0xLjktMS0yLjYtMS44LTEuMy0xLjctMS43LTIuN2wtNi4xLTE0LjhjLS44LTItLjgtNC4yIDAtNi4xczIuNC0zLjUgNC4zLTQuM3ptLTYzLjYgNDIuNWMxLjUtMS41IDMuNS0yLjMgNS43LTIuM3M0LjIgLjggNS43IDIuM0wxNDAgMTI4LjdjMS41IDEuNSAyLjMgMy41IDIuMyA1LjZzLS44IDQuMS0yLjMgNS42Yy0xLjUgMS41LTMuNSAyLjMtNS43IDIuM3MtNC4yLS44LTUuNy0yLjNsLTExLjMtMTEuM2MtMS41LTEuNS0yLjMtMy41LTIuMy01LjZzLjgtNC4xIDIuMy01LjZsMCAwek02MCAyNTZjMC0yLjEgLjgtNC4yIDIuMy01LjdTNjUuOSAyNDggNjggMjQ4bDE2IDBjMi4xIDAgNC4yIC44IDUuNyAyLjNzMi4zIDMuNSAyLjMgNS43LS44IDQuMi0yLjMgNS43LTMuNSAyLjMtNS43IDIuM2wtMTYgMGMtMi4xIDAtNC4yLS44LTUuNy0yLjNTNjAgMjU4LjEgNjAgMjU2em00MC4yIDczLjJsLTE0LjggNi4xYy0xIC40LTIgLjYtMy4xIC42cy0yLjEtLjItMy4xLS42LTEuOS0xLTIuNi0xLjctMS4zLTEuNi0xLjctMi42LS42LTItLjYtMy4xIC4yLTIuMSAuNi0zLjEgMS0xLjkgMS43LTIuNiAxLjYtMS4zIDIuNi0xLjdMOTQgMzE0LjRjMi0uOCA0LjItLjggNi4xIDBzMy41IDIuNCA0LjMgNC4zIC44IDQuMiAwIDYuMS0yLjQgMy41LTQuMyA0LjN6bTQuMy0xMzZjLS40IDEtMSAxLjktMS43IDIuNnMtMS42IDEuMy0yLjYgMS43LTIgLjYtMy4xIC42LTIuMS0uMi0zLjEtLjZsLTE0LjgtNi4xYy0yLS44LTMuNS0yLjQtNC4zLTQuM3MtLjgtNC4yIDAtNi4xIDIuNC0zLjUgNC4zLTQuMyA0LjItLjggNi4xIDBsMTQuOCA2LjFjMiAuOCAzLjUgMi40IDQuMyA0LjNzLjggNC4yIDAgNi4xbDAgMHpNMTk3LjYgNDE4bC02LjEgMTQuOGMtLjQgMS0xIDEuOS0xLjcgMi42cy0xLjYgMS4zLTIuNiAxLjctMiAuNi0zLjEgLjYtMi4xLS4yLTMuMS0uNi0xLjktMS0yLjYtMS43LTEuMy0xLjYtMS43LTIuNi0uNi0yLS42LTMuMSAuMi0yLjEgLjYtMy4xbDYuMS0xNC44Yy40LTEgMS0xLjkgMS43LTIuN3MxLjYtMS40IDIuNi0xLjggMi0uNiAzLjEtLjYgMi4xIC4yIDMuMSAuNiAxLjkgMSAyLjYgMS44IDEuMyAxLjcgMS43IDIuNiAuNiAyIC42IDMuMS0uMiAyLjEtLjcgMy4xek0yNjQgNDQ0YzAgMi4xLS44IDQuMi0yLjMgNS43cy0zLjUgMi4zLTUuNyAyLjMtNC4yLS44LTUuNy0yLjMtMi4zLTMuNS0yLjMtNS43bDAtMTZjMC0yLjEgLjgtNC4yIDIuMy01LjdzMy41LTIuMyA1LjctMi4zIDQuMiAuOCA1LjcgMi4zIDIuMyAzLjUgMi4zIDUuN2wwIDE2em02Ny02LjljLTEgLjQtMiAuNi0zLjEgLjZzLTIuMS0uMi0zLjEtLjYtMS45LTEtMi42LTEuNy0xLjMtMS42LTEuNy0yLjZMMzE0LjQgNDE4Yy0uOC0yLS44LTQuMiAwLTYuMXMyLjQtMy41IDQuMy00LjMgNC4yLS44IDYuMSAwIDMuNSAyLjQgNC4zIDQuM2w2LjEgMTQuOGMuOCAyIC44IDQuMiAwIDYuMXMtMi40IDMuNS00LjMgNC4zem02My42LTQyLjVjLTEuNSAxLjUtMy41IDIuMy01LjcgMi4zcy00LjItLjgtNS43LTIuM0wzNzIgMzgzLjNjLTEuNS0xLjUtMi4zLTMuNS0yLjMtNS42cy44LTQuMSAyLjMtNS42IDMuNS0yLjMgNS43LTIuMyA0LjIgLjggNS43IDIuM2wxMS4zIDExLjNjMS41IDEuNSAyLjMgMy41IDIuMyA1LjZzLS44IDQuMS0yLjMgNS42bDAgMHpNMjg2LjIgMjg2LjJMMTEwLjMgNDAxLjcgMjI1LjggMjI1LjggNDAxLjcgMTEwLjMgMjg2LjIgMjg2LjJ6TTQzNy4xIDMzMWMtLjggMi0yLjQgMy41LTQuMyA0LjNzLTQuMiAuOC02LjEgMGwtMTQuOC02LjFjLTItLjgtMy41LTIuNC00LjMtNC4zcy0uOC00LjIgMC02LjFjLjQtMSAxLTEuOSAxLjctMi42czEuNi0xLjMgMi42LTEuNyAyLS42IDMuMS0uNiAyLjEgLjIgMy4xIC42bDE0LjggNi4xYzIgLjggMy41IDIuNCA0LjMgNC4zcy44IDQuMiAwIDYuMXptNi45LTY3bC0xNiAwYy0yLjEgMC00LjItLjgtNS43LTIuM3MtMi4zLTMuNS0yLjMtNS43IC44LTQuMiAyLjMtNS43IDMuNS0yLjMgNS43LTIuM2wxNiAwYzIuMSAwIDQuMiAuOCA1LjcgMi4zczIuMyAzLjUgMi4zIDUuNy0uOCA0LjItMi4zIDUuNy0zLjUgMi4zLTUuNyAyLjN6Il19LFJ6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcGFjZS1hd2Vzb21lIixpY29uOls1MTIsNTEyLFtdLCJlNWFjIiwiTTk2IDI1NmwzMiAwIDAgMjU2LTEyOCAwIDAtMTYwIDMyIDAgMC0zMiAzMiAwIDAtMzIgMzIgMCAwLTMyem00MTYgOTZsMCAxNjAtMTI4IDAgMC0yNTYgMzIgMCAwIDMyIDMyIDAgMCAzMiAzMiAwIDAgMzIgMzIgMHpNMzIwIDY0bDMyIDAgMCAzODQtMzIgMCAwLTMyLTEyOCAwIDAgMzItMzIgMCAwLTM4NCAzMiAwIDAtMzIgMzIgMCAwLTMyIDY0IDAgMCAzMiAzMiAwIDAgMzJ6bS0zMiA2NGwtNjQgMCAwIDY0IDY0IDAgMC02NHoiXX0sT3p0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im5vZGUiLGljb246WzY0MCw1MTIsW10sImY0MTkiLCJNMzE2LjMgNDUyYy0yLjEgMC00LjItLjYtNi4xLTEuNkwyOTEgNDM5Yy0yLjktMS42LTEuNS0yLjItLjUtMi41IDMuOC0xLjMgNC42LTEuNiA4LjctNCAuNC0uMiAxLS4xIDEuNCAuMWwxNC44IDguOGMuNSAuMyAxLjMgLjMgMS44IDBMMzc1IDQwOGMuNS0uMyAuOS0uOSAuOS0xLjZsMC02Ni43YzAtLjctLjMtMS4zLS45LTEuNmwtNTcuOC0zMy4zYy0uNS0uMy0xLjItLjMtMS44IDBsLTU3LjggMzMuM2MtLjYgLjMtLjkgMS0uOSAxLjZsMCA2Ni43YzAgLjYgLjQgMS4yIC45IDEuNWwxNS44IDkuMWM4LjYgNC4zIDEzLjktLjggMTMuOS01LjhsMC02NS45YzAtLjkgLjctMS43IDEuNy0xLjdsNy4zIDBjLjkgMCAxLjcgLjcgMS43IDEuN2wwIDY1LjljMCAxMS41LTYuMiAxOC0xNy4xIDE4LTMuMyAwLTYgMC0xMy4zLTMuNmwtMTUuMi04LjdjLTMuNy0yLjItNi4xLTYuMi02LjEtMTAuNWwwLTY2LjdjMC00LjMgMi4zLTguNCA2LjEtMTAuNWw1Ny44LTMzLjRjMy43LTIuMSA4LjUtMi4xIDEyLjEgMGw1Ny44IDMzLjRjMy43IDIuMiA2LjEgNi4yIDYuMSAxMC41bDAgNjYuN2MwIDQuMy0yLjMgOC40LTYuMSAxMC41bC01Ny44IDMzLjRjLTEuNyAxLjEtMy44IDEuNy02IDEuN3pNMzYzIDM4Ni4yYzAtMTIuNS04LjQtMTUuOC0yNi4yLTE4LjItMTgtMi40LTE5LjgtMy42LTE5LjgtNy44IDAtMy41IDEuNS04LjEgMTQuOC04LjEgMTEuOSAwIDE2LjMgMi42IDE4LjEgMTAuNiAuMiAuOCAuOCAxLjMgMS42IDEuM2w3LjUgMGMuNSAwIC45LS4yIDEuMi0uNSAuMy0uNCAuNS0uOCAuNC0xLjMtMS4yLTEzLjgtMTAuMy0yMC4yLTI4LjgtMjAuMi0xNi41IDAtMjYuMyA3LTI2LjMgMTguNiAwIDEyLjcgOS44IDE2LjEgMjUuNiAxNy43IDE4LjkgMS45IDIwLjQgNC42IDIwLjQgOC4zIDAgNi41LTUuMiA5LjItMTcuNCA5LjItMTUuMyAwLTE4LjctMy44LTE5LjgtMTEuNC0uMS0uOC0uOC0xLjQtMS43LTEuNGwtNy41IDBjLS45IDAtMS43IC43LTEuNyAxLjcgMCA5LjcgNS4zIDIxLjMgMzAuNiAyMS4zIDE4LjUgMCAyOS03LjIgMjktMTkuOHptNTQuNS01MC4xYzAgNi4xLTUgMTEuMS0xMS4xIDExLjFzLTExLjEtNS0xMS4xLTExLjFjMC02LjMgNS4yLTExLjEgMTEuMS0xMS4xIDYtLjEgMTEuMSA0LjggMTEuMSAxMS4xem0tMS44IDBjMC01LjItNC4yLTkuMy05LjQtOS4zLTUuMSAwLTkuMyA0LjEtOS4zIDkuM3M0LjIgOS40IDkuMyA5LjRjNS4yLS4xIDkuNC00LjMgOS40LTkuNHptLTQuNSA2LjJsLTIuNiAwYy0uMS0uNi0uNS0zLjgtLjUtMy45LS4yLS43LS40LTEuMS0xLjMtMS4xbC0yLjIgMCAwIDUtMi40IDAgMC0xMi41IDQuMyAwYzEuNSAwIDQuNCAwIDQuNCAzLjMgMCAyLjMtMS41IDIuOC0yLjQgMy4xIDEuNyAuMSAxLjggMS4yIDIuMSAyLjggLjEgMSAuMyAyLjcgLjYgMy4zem0tMi44LTguOGMwLTEuNy0xLjItMS43LTEuOC0xLjdsLTIgMCAwIDMuNSAxLjkgMGMxLjYgMCAxLjktMS4xIDEuOS0xLjh6TTEzNy4zIDE5MWMwLTIuNy0xLjQtNS4xLTMuNy02LjRMNzIuMyAxNDkuM2MtMS0uNi0yLjItLjktMy40LTFsLS42IDBjLTEuMiAwLTIuMyAuNC0zLjQgMUwzLjcgMTg0LjZDMS40IDE4NS45IDAgMTg4LjQgMCAxOTFsLjEgOTVjMCAxLjMgLjcgMi41IDEuOCAzLjJzMi41IC43IDMuNyAwTDQyIDI2OC4zYzIuMy0xLjQgMy43LTMuOCAzLjctNi40bDAtNDQuNGMwLTIuNiAxLjQtNS4xIDMuNy02LjRsMTUuNS04LjljMS4yLS43IDIuNC0xIDMuNy0xczIuNiAuMyAzLjcgMWwxNS41IDguOWMyLjMgMS4zIDMuNyAzLjggMy43IDYuNGwwIDQ0LjRjMCAyLjYgMS40IDUuMSAzLjcgNi40bDM2LjQgMjAuOWMxLjEgLjcgMi42IC43IDMuNyAwIDEuMS0uNiAxLjgtMS45IDEuOC0zLjJsLjItOTV6TTQ3Mi41IDg3LjNsMCAxNzYuNGMwIDIuNi0xLjQgNS4xLTMuNyA2LjRsLTYxLjMgMzUuNGMtMi4zIDEuMy01LjEgMS4zLTcuNCAwbC02MS4zLTM1LjRjLTIuMy0xLjMtMy43LTMuOC0zLjctNi40bDAtNzAuOGMwLTIuNiAxLjQtNS4xIDMuNy02LjRsNjEuMy0zNS40YzIuMy0xLjMgNS4xLTEuMyA3LjQgMGwxNS4zIDguOGMxLjcgMSAzLjktLjMgMy45LTIuMmwwLTk0YzAtMi44IDMtNC42IDUuNS0zLjJsMzYuNSAyMC40YzIuMyAxLjIgMy44IDMuNyAzLjggNi40em0tNDYgMTI4LjljMC0uNy0uNC0xLjMtLjktMS42bC0yMS0xMi4yYy0uNi0uMy0xLjMtLjMtMS45IDBsLTIxIDEyLjJjLS42IC4zLS45IC45LS45IDEuNmwwIDI0LjNjMCAuNyAuNCAxLjMgLjkgMS42bDIxIDEyLjFjLjYgLjMgMS4zIC4zIDEuOCAwbDIxLTEyLjFjLjYtLjMgLjktLjkgLjktMS42bDAtMjQuMyAuMSAwem0yMDkuOC0uN2MyLjMtMS4zIDMuNy0zLjggMy43LTYuNGwwLTE3LjFjMC0yLjYtMS40LTUuMS0zLjctNi40bC02MC45LTM1LjRjLTIuMy0xLjMtNS4xLTEuMy03LjQgMGwtNjEuMyAzNS40Yy0yLjMgMS4zLTMuNyAzLjgtMy43IDYuNGwwIDcwLjhjMCAyLjcgMS40IDUuMSAzLjcgNi40bDYwLjkgMzQuN2MyLjIgMS4zIDUgMS4zIDcuMyAwbDM2LjgtMjAuNWMyLjUtMS40IDIuNS01IDAtNi40TDU1MCAyNDEuNmMtMS4yLS43LTEuOS0xLjktMS45LTMuMmwwLTIyLjJjMC0xLjMgLjctMi41IDEuOS0zLjJsMTkuMi0xMS4xYzEuMS0uNyAyLjYtLjcgMy43IDBMNTkyLjEgMjEzYzEuMSAuNyAxLjkgMS45IDEuOSAzLjJsMCAxNy40YzAgMi44IDMuMSA0LjYgNS42IDMuMmwzNi43LTIxLjN6TTU1OSAyMTljLS40IC4zLS43IC43LS43IDEuMmwwIDEzLjZjMCAuNSAuMyAxIC43IDEuMmwxMS44IDYuOGMuNCAuMyAxIC4zIDEuNCAwTDU4NCAyMzVjLjQtLjMgLjctLjcgLjctMS4ybDAtMTMuNmMwLS41LS4zLTEtLjctMS4ybC0xMS44LTYuOGMtLjQtLjMtMS0uMy0xLjQgMEw1NTkgMjE5ek0zMDQuOCAyNjIuNWwwLTcwLjRjMC0yLjYtMS42LTUuMS0zLjktNi40bC02MS4xLTM1LjJjLTIuMS0xLjItNS0xLjQtNy40IDBsLTYxLjEgMzUuMmMtMi4zIDEuMy0zLjkgMy43LTMuOSA2LjRsMCA3MC40YzAgMi44IDEuOSA1LjIgNCA2LjRsNjEuMiAzNS4yYzIuNCAxLjQgNS4yIDEuMyA3LjQgMGw2MS0zNS4yYzEuOC0xIDMuMS0yLjcgMy42LTQuNyAuMS0uNSAuMi0xLjEgLjItMS43ek0yMzAuNSAxMzcuNmwtLjggLjUgMS4xIDAtLjMtLjV6bTc2LjIgMTMwLjJsLS40LS43IDAgLjkgLjQtLjJ6Il19LEZ6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjb2RlcGVuIixpY29uOls1MTIsNTEyLFtdLCJmMWNiIiwiTTUwMi4zIDE1OS43bC0yMzQtMTU2Yy04LTQuOS0xNi41LTUtMjQuNiAwbC0yMzQgMTU2Yy02IDQtOS43IDExLjEtOS43IDE4LjNMMCAzMzRjMCA3LjEgMy43IDE0LjMgOS43IDE4LjNsMjM0IDE1NmM4IDQuOSAxNi41IDUgMjQuNiAwbDIzNC0xNTZjNi00IDkuNy0xMS4xIDkuNy0xOC4zbDAtMTU2YzAtNy4xLTMuNy0xNC4zLTkuNy0xOC4zek0yNzggNjMuMWwxNzIuMyAxMTQuOS03Ni45IDUxLjQtOTUuNC02My43IDAtMTAyLjZ6bS00NCAwTDIzNCAxNjUuNyAxMzguNiAyMjkuNCA2MS43IDE3OCAyMzQgNjMuMXpNNDQgMjE5LjFMOTkuMSAyNTYgNDQgMjkyLjggNDQgMjE5LjF6TTIzNCA0NDguOEw2MS43IDMzNCAxMzguNiAyODIuNiAyMzQgMzQ2LjMgMjM0IDQ0OC44ek0yNTYgMzA4bC03Ny43LTUyIDc3LjctNTIgNzcuNyA1Mi03Ny43IDUyem0yMiAxNDAuOWwwLTEwMi42IDk1LjQtNjMuNyA3Ni45IDUxLjQtMTcyLjMgMTE0Ljl6bTE5MC0xNTZsLTU1LjEtMzYuOSA1NS4xLTM2LjkgMCA3My43eiJdfSxCenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmF2ZWxyeSIsaWNvbjpbNTEyLDUxMixbXSwiZjJkOSIsIk00OTguNiAyMzQuMmMtMS4yLTEwLjMtMS43LTIwLjgtMy43LTMxLTIuNS0xMi40LTUuNy0yNC42LTkuNi0zNi42LTYuOC0yMC45LTE3LjItNDAuMy0zMC45LTU3LjUtNS45LTcuNi0xMi4xLTE0LjgtMTguOC0yMS43LTE0LjEtMTQtMzAtMjYuMS00Ny4xLTM2LjEtMTcuOC0xMC42LTM2LjgtMTguOS01Ni43LTI0LjctMTEtMy4xLTIyLjMtNS40LTMzLjUtNy42LTYuOC0xLjMtMTMuNy0xLjctMjAuNi0yLjUtLjMgMC0uNi0uNC0uOS0uNi0xMC44IDAtMjEuNSAwLTMyLjMgMC0yLjQgLjQtNC44IC45LTcuMiAxLjItMTEuNiAxLjItMjMuMSAzLjYtMzQuMyA3LjEtMTMuOCA0LjEtMjcuMSA5LjYtMzkuOCAxNi40LTEzLjMgNy0yNi4xIDE1LjEtMzguMSAyNC4yLTYuMiA0LjYtMTIuMyA5LjQtMTggMTQuNS0xMC4yIDkuMi0yMC40IDE4LjQtMjkuOSAyOC4zLTEyLjggMTMuMy0yNC4xIDI4LjEtMzMuNiA0NC04LjYgMTQtMTUuNSAyOS0yMC41IDQ0LjYtNy4yIDIyLjctMTAuMyA0Ni42LTkuMiA3MC4zIC42IDEzLjUgMiAyNi45IDQuNCA0MC4yIDMuNCAxOC40IDkgMzYuMyAxNi43IDUzLjMgMTMuNiAyOS4yIDMyLjEgNTEuNSA1MC40IDY3LjkgMTIuOCAxMS42IDI2LjggMjEuOSA0MS44IDMwLjYgMTcuNyAxMC40IDM2LjQgMTguOSA1NS45IDI1LjMgMTMuMyA0LjMgMjYuOSA3LjYgNDAuNiA5LjggNi4xIDEgMTIuMyAxLjMgMTguNCAxLjkgLjQgLjEgLjggLjMgMS4yIC42bDMyLjMgMGMyLjUtLjQgNS0uOSA3LjUtMS4xIDE2LjMtMS4zIDMyLjEtNS4zIDQ3LjUtMTAuNyAxNy4yLTUuOSAzMy43LTEzLjkgNDktMjMuOCA5LjctNi40IDE5LjQtMTMuMSAyOC43LTIwLjEgNS44LTQuMyAxMS05LjUgMTYuMy0xNC41IDQtMy43IDcuOC03LjYgMTEuNS0xMS41IDEyLTEyLjcgMjIuNi0yNi42IDMxLjQtNDEuNiA5LjUtMTYgMTcuNC0zMi45IDIyLjMtNTAuOSAyLjktMTAuNCA0LjktMjEgNy0zMS43IDEtNS4zIDEuMy0xMC43IDEuOS0xNi4xIDAtLjMgLjQtLjYgLjYtLjlsMC0zNy4xYy0uMi0uNi0uNC0xLjItLjYtMS44em0tMTYxLjEtMS4ycy0xNi42LTMtMjguNS0zYy0yNy4yIDAtMzMuNiAxNC45LTMzLjYgMzdsMCA5My43LTczLjUgMCAwLTE5MC43IDczLjUgMCAwIDMxLjljOC45LTI2LjggMjYuOC0zNi4yIDYyLTM2LjJsMCA2Ny4zeiJdfSxIenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYWxpcGF5IixpY29uOls0NDgsNTEyLFtdLCJmNjQyIiwiTTM3Ny43IDMyTDcwLjMgMzJDMzEuNCAzMiAwIDYzLjQgMCAxMDIuM0wwIDQwOS43QzAgNDQ4LjYgMzEuNCA0ODAgNzAuMyA0ODBsMzA3LjUgMGMzOC41IDAgNjkuOC0zMS4xIDcwLjMtNjkuNi00Ni0yNS42LTExMC42LTYwLjMtMTcxLjYtODguNC0zMi4xIDQ0LTg0LjEgODEtMTQ4LjYgODEtNzAuNiAwLTkzLjctNDUuMy05Ny03Ni40LTQtMzkgMTQuOS04MS41IDk5LjUtODEuNSAzNS40IDAgNzkuNCAxMC4yIDEyNy4xIDI1IDE2LjUtMzAuMSAyNi41LTYwLjMgMjYuNS02MC4zbC0xNzguMiAwIDAtMTYuNyA5Mi4xIDAgMC0zMS4yLTEwOS40IDAgMC0xOSAxMDkuNCAwIDAtNTAuNCA1MC45IDAgMCA1MC40IDEwOS40IDAgMCAxOS0xMDkuNCAwIDAgMzEuMiA4OC44IDBzLTE1LjIgNDYuNi0zOC4zIDkwLjljNDguOSAxNi43IDEwMCAzNiAxNDguNiA1Mi43bDAtMjM0LjRjLjItMzguNy0zMS4yLTcwLjMtNjkuOS03MC4zek00Ny4zIDMyM2MxIDIwLjIgMTAuMiA1My43IDY5LjkgNTMuNyA1Mi4xIDAgOTIuNi0zOS43IDExNy45LTcyLjktNDQuNi0xOC43LTg0LjUtMzEuNC0xMDkuNC0zMS40LTY3LjQgMC03OS40IDMzLjEtNzguNCA1MC42eiJdfSxxenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2MtYW1leCIsaWNvbjpbNTc2LDUxMixbXSwiZjFmMyIsIk0wIDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw0ODAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTEuMS02MS43IDAtMzEuOS0zNS4xLTMxLjkgMzUuMS0yMDMuNyAwIDAtMTYzLjgtNjUuOCAwIDgxLjctMTg0LjcgNzguNiAwIDI4LjEgNjMuMiAwLTYzLjIgOTcuMiAwIDE2LjkgNDcuNiAxNy00Ny42IDc1LjUgMCAwLTIuNGMwLTI2LjUtMjEuNS00OC00OC00OEw0OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwTDAgNDMyem00NDAuNC0yMS43bDQyLjItNDYuMyA0MiA0Ni4zIDUxLjQgMC02OC03Mi4xIDY4LTcyLjEtNTAuNiAwLTQyIDQ2LjctNDEuNS00Ni43LTUxLjQgMCA2Ny41IDcyLjUtNjcuNCA3MS42IDAtMzMuMS04MyAwIDAtMjIuMiA4MC45IDAgMC0zMi4zLTgwLjkgMCAwLTIyLjQgODMgMCAwLTMzLjEtMTIyIDAgMCAxNDMuMiAxNzEuOCAwem05Ni4zLTcybDM5LjMgNDEuOSAwLTgzLjMtMzkuMyA0MS40em0tMzYuMy05MmwzNi45LTEwMC42IDAgMTAwLjYgMzguNyAwIDAtMTQzLjMtNjAuMiAwLTMyLjIgODkuMy0zMS45LTg5LjMtNjEuMiAwIDAgMTQzLjEtNjMuMi0xNDMuMS01MS4yIDAtNjIuNCAxNDMuMyA0MyAwIDExLjktMjguNyA2NS45IDAgMTIgMjguNyA4Mi43IDAgMC0xMDAuMyAzNi44IDEwMC4zIDM0LjQgMHpNMjgyIDE4NS40bDE5LjUtNDYuOSAxOS40IDQ2LjktMzguOSAweiJdfSxWenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGllZC1waXBlci1hbHQiLGljb246WzU3Niw1MTIsW10sImYxYTgiLCJNMjQ0IDI0NmMtMy4yLTItNi4zLTIuOS0xMC4xLTIuOS02LjYgMC0xMi42IDMuMi0xOS4zIDMuN2wxLjcgNC45IDI3LjctNS43ek0zNzkuOSA0NDMuOWMtMTkgMC02NC4xIDkuNS03OS45IDE5LjhsNi45IDQ1LjFjMzUuNyA2LjEgNzAuMSAzLjYgMTA2LTkuOC00LjgtMTAtMjMuNS01NS4xLTMzLTU1LjF6TTM0MC44IDE3N2M2LjYgMi44IDExLjUgOS4yIDIyLjcgMjIuMSAyLTEuNCA3LjUtNS4yIDcuNS04LjYgMC00LjktMTEuOC0xMy4yLTEzLjItMjMgMTEuMi01LjcgMjUuMi02IDM3LjYtOC45IDY4LjEtMTYuNCAxMTYuMy01Mi45IDE0Ni44LTExNi43IDYuMS0xMi42IDExLjgtMjUuOCAxMi40LTM5LjlsLTIgMi42Yy0yOC40IDUwLTMzIDYzLjItODEuMyAxMDAtMzEuOSAyNC40LTY5LjIgNDAuMi0xMDYuNiA1NC42bC02LjMtLjMgMC0yMS44Yy0xOS42IDEuNi0xOS43LTE0LjYtMzEuNi0yMy0xOC43IDIwLjYtMzEuNiA0MC44LTU4LjkgNTEuMS0xMi43IDQuOC0xOS42IDEwLTI1LjkgMjEuOCAzNC45LTE2LjQgOTEuMi0xMy41IDk4LjgtMTB6TTU1NS41IDBsLS42IDEuMS0uMyAuOSAuNi0uNiAuMy0xLjR6TTQ5Ni4zIDM4Mi4xYy0zMy45LTU2LjktNzUuMy0xMTguNC0xNTAtMTE1LjVsLS4zLTZjLTEuMS0xMy41IDMyLjggMy4yIDM1LjEtMzFsLTE0LjQgNy4yYy0xOS44LTQ1LjctOC42LTU0LjMtNjUuNS01NC4zLTE0LjcgMC0yNi43IDEuNy00MS40IDQuNiAyLjkgMTguNiAyLjIgMzYuNy0xMC45IDUwLjNsMTkuNSA1LjVjLTEuNyAzLjItMi45IDYuMy0yLjkgOS44IDAgMjEgNDIuOCAyLjkgNDIuOCAzMy42IDAgMTguNC0zNi44IDYwLjEtNTQuOSA2MC4xLTggMC01My43LTUwLTUzLjQtNjAuMWwuMy00LjYgNTIuMy0xMS41YzEzLTIuNiAxMi4zLTIyLjctMi45LTIyLjctMy43IDAtNDMuMSA5LjItNDkuNCAxMC42LTItNS4yLTcuNS0xNC4xLTEzLjgtMTQuMS0zLjIgMC02LjMgMy4yLTkuNSA0LTkuMiAyLjYtMzEgMi45LTIxLjUgMjAuMUwxNS45IDI5OC41Yy01LjUgMS4xLTguOSA2LjMtOC45IDExLjggMCA2IDUuNSAxMC45IDExLjUgMTAuOSA4IDAgMTMxLjMtMjguNCAxNDcuNC0zMi4yIDIuNiAzLjIgNC42IDYuMyA3LjggOC42IDIwLjEgMTQuNCA1OS44IDg1LjkgNzYuNCA4NS45IDI0LjEgMCA1OC0yMi40IDcxLjMtNDEuOSAzLjItNC4zIDYuOS03LjUgMTIuNC02LjkgLjYgMTMuOC0zMS42IDM0LjItMzMgNDMuNy0xLjQgMTAuMi0xIDM1LjItLjMgNDEuMSAyNi43IDguMSA1Mi0zLjYgNzcuOS0yLjkgNC4zLTIxIDEwLjYtNDEuOSA5LjgtNjMuNWwtLjMtOS41Yy0xLjQtMzQuMi0xMC45LTM4LjUtMzQuOC01OC42LTEuMS0xLjEtMi42LTIuNi0zLjctNCAyLjItMS40IDEuMS0xIDQuNi0xLjcgODguNSAwIDU2LjMgMTgzLjYgMTExLjUgMjI5LjkgMzMuMS0xNSA3Mi41LTI3LjkgMTAzLjUtNDcuMi0yOS0yNS42LTUyLjYtNDUuNy03Mi43LTc5Ljl6TTMwMC4xIDQyOC4ybDAgMjcuMiAxMS44LTMuNC0yLjktMjMuOC04LjkgMHpNMjMxLjQgMjc3LjhsMjQuMSA2MS4yIDIxLTEzLjgtMzEuMy01MC45LTEzLjggMy41em04NC40IDE1NC45bDIgMTIuNGM5LTEuNSA1OC40LTYuNiA1OC40LTE0LjEgMC0xLjQtLjYtMy4yLS45LTQuNi0yNi44IDAtMzYuOSAzLjgtNTkuNSA2LjN6Il19LGp6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsZXR0ZXJib3hkIixpY29uOls2NDAsNTEyLFtdLCJlNjJkIiwiTTUyMS4zIDEyOEM1ODYuOSAxMjggNjQwIDE4MS4xIDY0MCAyNDYuNlM1ODYuOSAzNjUuMiA1MjEuMyAzNjUuMmMtNDIuNSAwLTc5LjctMjIuMy0xMDAuNy01NS44IDExLjQtMTguMiAxOC0zOS43IDE4LTYyLjhzLTYuNi00NC42LTE4LTYyLjhsLjgtMS4yYzIwLjgtMzIuMyA1Ni44LTUzLjkgOTcuOS01NC42bDIgMHpNMzIwIDEyOGM0Mi41IDAgNzkuNyAyMi4zIDEwMC43IDU1LjgtMTEuNCAxOC4yLTE4IDM5LjctMTggNjIuOHM2LjYgNDQuNiAxOCA2Mi44bC0uOCAxLjJjLTIwLjggMzIuMy01Ni44IDUzLjktOTcuOSA1NC42bC0yIDBjLTQyLjUgMC03OS43LTIyLjMtMTAwLjctNTUuOCAxMS40LTE4LjIgMTgtMzkuNyAxOC02Mi44cy02LjYtNDQuNi0xOC02Mi44bC44LTEuMmMyMC44LTMyLjMgNTYuOC01My45IDk3LjktNTQuNmwyIDB6bS0yMDEuMyAwYzQyLjUgMCA3OS43IDIyLjMgMTAwLjcgNTUuOC0xMS40IDE4LjItMTggMzkuNy0xOCA2Mi44czYuNiA0NC42IDE4IDYyLjhsLS44IDEuMmMtMjAuOCAzMi4zLTU2LjggNTMuOS05Ny45IDU0LjZsLTIgMEM1My4xIDM2NS4xIDAgMzEyLjEgMCAyNDYuNlM1My4xIDEyOCAxMTguNyAxMjh6Il19LFV6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvcGVyYSIsaWNvbjpbNTEyLDUxMixbXSwiZjI2YSIsIk0zMjEuOSAzMi43Yy0xNzAuMiAwLTI1Mi42IDIyMy44LTE0Ny41IDM1NS4xIDM2LjUgNDUuNCA4OC42IDc1LjYgMTQ3LjUgNzUuNiAzNi4zIDAgNzAuMy0xMS4xIDk5LjQtMzAuNC00My44IDM5LjItMTAxLjkgNjMtMTY1LjMgNjMtMy45IDAtOCAwLTExLjktLjMtMTMxLjUtNi4xLTIzNi4xLTExNC42LTIzNi4xLTI0Ny43IDAtMTM3IDExMS0yNDggMjQ4LTI0OGwuOCAwYzYzLjEgLjMgMTIwLjcgMjQuMSAxNjQuNCA2My4xLTI5LTE5LjQtNjMuMS0zMC40LTk5LjMtMzAuNHpNNDIzLjcgNDMwLjRjLTQwLjkgMjQuNy05MC43IDIzLjYtMTMyLTUuOCA1Ni4yLTIwLjUgOTcuNy05MS42IDk3LjctMTc2LjYgMC04NC43LTQxLjItMTU1LjgtOTcuNC0xNzYuNiA0MS44LTI5LjIgOTEuMi0zMC4zIDEzMi45LTUgMTA1LjkgOTguNyAxMDUuNSAyNjUuNy0xLjIgMzY0eiJdfSxXenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2VpYm8iLGljb246WzUxMiw1MTIsW10sImYxOGEiLCJNNDA3IDE3Ny42YzcuNi0yNC0xMy40LTQ2LjgtMzcuNC00MS43LTIyIDQuOC0yOC44LTI4LjEtNy4xLTMyLjggNTAuMS0xMC45IDkyLjMgMzcuMSA3Ni41IDg0LjgtNi44IDIxLjItMzguOCAxMC44LTMyLTEwLjN6TTIxNC44IDQ0Ni43Yy0xMDYuMyAwLTIxNC44LTUxLjQtMjE0LjgtMTM2LjMgMC00NC4zIDI4LTk1LjQgNzYuMy0xNDMuNyA5OS43LTk5LjcgMjAzLjItMTAwLjkgMTczLjYtNS43LTQgMTMuMSAxMi4zIDUuNyAxMi4zIDYgNzkuNS0zMy42IDE0MC41LTE2LjggMTE0IDUxLjQtMy43IDkuNCAxLjEgMTAuOSA4LjMgMTMuMSAxMzUuNyA0Mi4zIDM0LjggMjE1LjItMTY5LjcgMjE1LjJ6TTM1OC41IDMwMC40Yy01LjQtNTUuNy03OC41LTk0LTE2My40LTg1LjctODQuOCA4LjYtMTQ4LjggNjAuMy0xNDMuNCAxMTZzNzguNSA5NCAxNjMuNCA4NS43Yzg0LjgtOC42IDE0OC44LTYwLjMgMTQzLjQtMTE2ek0zNDcuOSAzNS4xYy0yNS45IDUuNi0xNi44IDQzLjcgOC4zIDM4LjMgNzIuMy0xNS4yIDEzNC44IDUyLjggMTExLjcgMTI0LTcuNCAyNC4yIDI5LjEgMzcgMzcuNCAxMiAzMS45LTk5LjgtNTUuMS0xOTUuOS0xNTcuNC0xNzQuM3ptLTc4LjUgMzExYy0xNy4xIDM4LjgtNjYuOCA2MC0xMDkuMSA0Ni4zLTQwLjgtMTMuMS01OC01My40LTQwLjMtODkuNyAxNy43LTM1LjQgNjMuMS01NS40IDEwMy40LTQ1LjEgNDIgMTAuOCA2My4xIDUwLjIgNDYgODguNXptLTg2LjMtMzBjLTEyLjktNS40LTMwIC4zLTM4IDEyLjktOC4zIDEyLjktNC4zIDI4IDguNiAzNCAxMy4xIDYgMzAuOCAuMyAzOS4xLTEyLjkgOC0xMy4xIDMuNy0yOC4zLTkuNy0zNHptMzIuNi0xMy40Yy01LjEtMS43LTExLjQgLjYtMTQuMyA1LjQtMi45IDUuMS0xLjQgMTAuNiAzLjcgMTIuOSA1LjEgMiAxMS43LS4zIDE0LjYtNS40IDIuOC01LjIgMS4xLTEwLjktNC0xMi45eiJdfSxHenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmVhZG1lIixpY29uOls1NzYsNTEyLFtdLCJmNGQ1IiwiTTUyOC4zIDQ2LjVsLTEzOS44IDBjLTQ4LjEgMC04OS45IDMzLjMtMTAwLjQgODAuMy0xMC42LTQ3LTUyLjMtODAuMy0xMDAuNC04MC4zTDQ4IDQ2LjVDMjEuNSA0Ni41IDAgNjggMCA5NC41TDAgMzQwLjNjMCAyNi41IDIxLjUgNDggNDggNDhsODkuNyAwYzEwMi4yIDAgMTMyLjcgMjQuNCAxNDcuMyA3NSAuNyAyLjggNS4yIDIuOCA2IDAgMTQuNy01MC42IDQ1LjItNzUgMTQ3LjMtNzVsODkuNyAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjQ1LjdjMC0yNi40LTIxLjMtNDcuOS00Ny43LTQ4LjF6TTI0MiAzMTEuOWMwIDEuOS0xLjUgMy41LTMuNSAzLjVsLTE2MC4zIDBjLTEuOSAwLTMuNS0xLjUtMy41LTMuNWwwLTIyLjljMC0xLjkgMS41LTMuNSAzLjUtMy41bDE2MC40IDBjMS45IDAgMy41IDEuNSAzLjUgMy41bDAgMjIuOS0uMSAwem0wLTYwLjljMCAxLjktMS41IDMuNS0zLjUgMy41bC0xNjAuMyAwYy0xLjkgMC0zLjUtMS41LTMuNS0zLjVsMC0yMi45YzAtMS45IDEuNS0zLjUgMy41LTMuNWwxNjAuNCAwYzEuOSAwIDMuNSAxLjUgMy41IDMuNWwwIDIyLjktLjEgMHptMC02MC45YzAgMS45LTEuNSAzLjUtMy41IDMuNWwtMTYwLjMgMGMtMS45IDAtMy41LTEuNS0zLjUtMy41bDAtMjIuOWMwLTEuOSAxLjUtMy41IDMuNS0zLjVsMTYwLjQgMGMxLjkgMCAzLjUgMS41IDMuNSAzLjVsMCAyMi45LS4xIDB6TTUwMS4zIDMxMS44YzAgMS45LTEuNSAzLjUtMy41IDMuNWwtMTYwLjMgMGMtMS45IDAtMy41LTEuNS0zLjUtMy41bDAtMjIuOWMwLTEuOSAxLjUtMy41IDMuNS0zLjVsMTYwLjQgMGMxLjkgMCAzLjUgMS41IDMuNSAzLjVsMCAyMi45LS4xIDB6bTAtNjAuOWMwIDEuOS0xLjUgMy41LTMuNSAzLjVsLTE2MC4zIDBjLTEuOSAwLTMuNS0xLjUtMy41LTMuNWwwLTIyLjljMC0xLjkgMS41LTMuNSAzLjUtMy41bDE2MC40IDBjMS45IDAgMy41IDEuNSAzLjUgMy41bDAgMjIuOS0uMSAwem0wLTYwLjljMCAxLjktMS41IDMuNS0zLjUgMy41bC0xNjAuMyAwYy0xLjkgMC0zLjUtMS41LTMuNS0zLjVsMC0yMi44YzAtMS45IDEuNS0zLjUgMy41LTMuNWwxNjAuNCAwYzEuOSAwIDMuNSAxLjUgMy41IDMuNWwwIDIyLjgtLjEgMHoiXX0sWXp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdvbGFuZyIsaWNvbjpbNjQwLDUxMixbXSwiZTQwZiIsIk00MDAuMSAxOTQuOGMtMTAuOSAyLjgtMTkuOSA0LjMtMjkuMSA3LjYtNy4zIDEuOS0xNC43IDMuOS0yMy4yIDYuMWwtLjYgLjFjLTQuMiAxLjItNC42IDEuMy04LjUtMy4yLTQuNy01LjMtOC4xLTguNy0xNC42LTExLjktMTkuNy05LjYtMzguNy02LjgtNTYuNCA0LjctMjEuMiAxMy43LTMyLjEgMzQtMzEuOCA1OS4yIC4zIDI1IDE3LjQgNDUuNSA0MS4yIDQ4LjkgMjIgMi44IDM5LjgtNC42IDUzLjgtMjAuNSAyLjEtMi42IDQtNS4zIDYuMS04LjMgLjgtMSAxLjUtMi4xIDIuMy0zLjNsLTYwLjEgMGMtNi41IDAtOC4xLTQtNS45LTkuMyA0LTkuNyAxMS41LTI1LjkgMTUuOS0zNCAuOS0xLjggMy4xLTUuOCA2LjktNS44bDEwMS4xIDBjNC41LTEzLjQgMTEuOC0yNi45IDIxLjYtMzkuNyAyMi43LTI5LjkgNDkuMy00NS41IDg3LjItNTIgMzEuOC01LjYgNjEuNy0yLjUgODguOSAxNS45IDI0LjYgMTYuOCAzOS44IDM5LjYgNDMuOSA2OS41IDUuMyA0Mi4xLTYuOSA3Ni4zLTM2LjcgMTA1LjYtMTkuNyAyMC45LTQ0LjkgMzQtNzMuOSAzOS45LTUuNiAxLTExLjEgMS41LTE2LjUgMi0yLjkgLjItNS43IC41LTguNSAuOC0yOC4zLS42LTU0LjItOC43LTc2LTI3LjQtMTUuMy0xMy4zLTI1LjktMjkuNi0zMS4xLTQ4LjUtMy43IDcuMy04IDE0LjQtMTQgMjEuMS0yMS42IDI5LjYtNTAuOSA0OC04Ny45IDUyLjktMzAuNiA0LjEtNTguOS0xLjgtODMuOS0yMC41LTIzLTE3LjUtMzYuMS00MC41LTM5LjUtNjkuMi00LjEtMzQgNS45LTY1LjQgMjYuNC05MS4zIDIyLjItMjkgNTEuNS00Ny40IDg3LjMtNTMuOSAyOS4zLTYuMiA1Ny4zLTEuOSA4Mi42IDE1LjMgMTYuNSAxMC45IDI4LjMgMjUuOCAzNi4xIDQzLjkgMS45IDIuOCAuNiA0LjQtMy4xIDUuM3pNNDguMyAyMDAuNGMtMS4zIDAtMS42LS42LS45LTEuNmw2LjYtOC40Yy42LS45IDIuMi0xLjUgMy40LTEuNWwxMTEuMyAwYzEuMiAwIDEuNSAuOSAuOSAxLjhsLTUuMyA4LjFjLS42IDEtMi4yIDEuOS0zLjEgMS45bC0xMTIuOC0uM3pNMS4yIDIyOS4xYy0xLjIgMC0xLjYtLjctLjktMS42bDYuNS04LjRjLjYtLjkgMi4yLTEuNiAzLjQtMS42bDE0Mi4xIDBjMS4yIDAgMS44IDEgMS41IDEuOWwtMi41IDcuNWMtLjMgMS4yLTEuNSAxLjktMi44IDEuOUwxLjIgMjI5LjF6bTc0LjUgMjYuOGMtLjYgLjktLjMgMS44IC45IDEuOGw2OCAuM2MuOSAwIDIuMi0uOSAyLjItMi4xbC42LTcuNWMwLTEuMy0uNi0yLjItMS45LTIuMmwtNjIuMyAwYy0xLjIgMC0yLjUgLjktMy4xIDEuOWwtNC40IDcuOHptNTAxLjUtMThjLS4yLTIuNi0uMy00LjgtLjctNy01LjYtMzAuOC0zNC00OC4zLTYzLjYtNDEuNC0yOSA2LjUtNDcuNyAyNC45LTU0LjUgNTQuMi01LjYgMjQuMyA2LjIgNDguOSAyOC42IDU4LjkgMTcuMiA3LjUgMzQuMyA2LjYgNTAuOC0xLjkgMjQuNi0xMy42IDM4LTMyLjcgMzkuNi01OS41LS4xLTEuMi0uMS0yLjMtLjItMy4zeiJdfSxLenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3RhY2stZXhjaGFuZ2UiLGljb246WzQ0OCw1MTIsW10sImYxOGQiLCJNMTguMSAzMzIuM2w0MTIuNyAwIDAgMjJjMCAzNy43LTI5LjMgNjgtNjUuMyA2OGwtMTkgMC04Ni44IDg5LjcgMC04OS43LTE3Ni4zIDBjLTM2IDAtNjUuMy0zMC4zLTY1LjMtNjhsMC0yMnptMC0yMy42bDQxMi43IDAgMC04NS00MTIuNyAwIDAgODV6bTAtMTA5LjRsNDEyLjcgMCAwLTg1LTQxMi43IDAgMCA4NXpNMzY1LjQgMEw4My40IDBjLTM2IDAtNjUuMyAzMC4zLTY1LjMgNjcuN2wwIDIyLjMgNDEyLjcgMCAwLTIyLjNDNDMwLjcgMzAuMyA0MDEuNCAwIDM2NS40IDB6Il19LFp6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJndWxwIixpY29uOlsyNTYsNTEyLFtdLCJmM2FlIiwiTTIxMCAzOTEuMWwtMTQuMSAyNC42LTQuNiA4MC4yYzAgOC45LTI4LjMgMTYuMS02My4xIDE2LjFzLTYzLjEtNy4yLTYzLjEtMTYuMWwtNS44LTc5LjQtMTQuOS0yNS40YzQxLjIgMTcuMyAxMjYgMTYuNyAxNjUuNiAwek0xNCAxMzcuOEwyNy42IDI2My4zYzUuOS0yMCAyMC44LTQ3IDQwLTU1LjIgNi4zLTIuNyAxMi43LTIuNyAxOC43IC45IDUuMiAzIDkuNiA5LjMgMTAuMSAxMS44IDEuMiA2LjUtMiA5LjEtNC41IDkuMS0zIDAtNS4zLTQuNi02LjgtNy4zLTQuMS03LjMtMTAuMy03LjYtMTYuOS0yLjgtNi45IDUtMTIuOSAxMy40LTE3LjEgMjAuNy01LjEgOC44LTkuNCAxOC41LTEyIDI4LjItMS41IDUuNi0yLjkgMTQuNi0uNiAxOS45IDEgMi4yIDIuNSAzLjYgNC45IDMuNiA1IDAgMTIuMy02LjYgMTUuOC0xMC4xIDQuNS00LjUgMTAuMy0xMS41IDEyLjUtMTZsNS4yLTE1LjVjMi42LTYuOCA5LjktNS42IDkuOSAwIDAgMTAuMi0zLjcgMTMuNi0xMCAzNC43LTUuOCAxOS41LTcuNiAyNS44LTcuNiAyNS44LS43IDIuOC0zLjQgNy41LTYuMyA3LjUtMS4yIDAtMi4xLS40LTIuNi0xLjItMS0xLjQtLjktNS4zLS44LTYuMyAuMi0zLjIgNi4zLTIyLjIgNy4zLTI1LjItMiAyLjItNC4xIDQuNC02LjQgNi42LTUuNCA1LjEtMTQuMSAxMS44LTIxLjUgMTEuOC0zLjQgMC01LjYtLjktNy43LTIuNGw3LjYgNzkuNmMyIDUgMzkuMiAxNy4xIDg4LjIgMTcuMSA0OS4xIDAgODYuMy0xMi4yIDg4LjItMTcuMWwxMC45LTk0LjZjLTUuNyA1LjItMTIuMyAxMS42LTE5LjYgMTQuOC01LjQgMi4zLTE3LjQgMy44LTE3LjQtNS43IDAtNS4yIDkuMS0xNC44IDE0LjQtMjEuNSAxLjQtMS43IDQuNy01LjkgNC43LTguMSAwLTIuOS02LTIuMi0xMS43IDIuNS0zLjIgMi43LTYuMiA2LjMtOC43IDkuNy00LjMgNi02LjYgMTEuMi04LjUgMTUuNS02LjIgMTQuMi00LjEgOC42LTkuMSAyMi01IDEzLjMtNC4yIDExLjgtNS4yIDE0LS45IDEuOS0yLjIgMy41LTQgNC41LTEuOSAxLTQuNSAuOS02LjEtLjMtLjktLjYtMS4zLTEuOS0xLjMtMy43IDAtLjkgLjEtMS44IC4zLTIuNyAxLjUtNi4xIDcuOC0xOC4xIDE1LTM0LjMgMS42LTMuNyAxLTIuNiAuOC0yLjMtNi4yIDYtMTAuOSA4LjktMTQuNCAxMC41LTUuOCAyLjYtMTMgMi42LTE0LjUtNC4xLS4xLS40LS4xLS44LS4yLTEuMi0xMS44IDkuMi0yNC4zIDExLjctMjAtOC4xLTQuNiA4LjItMTIuNiAxNC45LTIyLjQgMTQuOS00LjEgMC03LjEtMS40LTguNi01LjEtMi4zLTUuNSAxLjMtMTQuOSA0LjYtMjMuOCAxLjctNC41IDQtOS45IDcuMS0xNi4yIDEuNi0zLjQgNC4yLTUuNCA3LjYtNC41IC42IC4yIDEuMSAuNCAxLjYgLjcgMi42IDEuOCAxLjYgNC41IC4zIDcuMi0zLjggNy41LTcuMSAxMy05LjMgMjAuOC0uOSAzLjMtMiA5IDEuNSA5IDIuNCAwIDQuNy0uOCA2LjktMi40IDQuNi0zLjQgOC4zLTguNSAxMS4xLTEzLjUgMi0zLjYgNC40LTguMyA1LjYtMTIuMyAuNS0xLjcgMS4xLTMuMyAxLjgtNC44IDEuMS0yLjUgMi42LTUuMSA1LjItNS4xIDEuMyAwIDIuNCAuNSAzLjIgMS41IDEuNyAyLjIgMS4zIDQuNSAuNCA2LjktMiA1LjYtNC43IDEwLjYtNi45IDE2LjctMS4zIDMuNS0yLjcgOC0yLjcgMTEuNyAwIDMuNCAzLjcgMi42IDYuOCAxLjIgMi40LTEuMSA0LjgtMi44IDYuOC00LjUgMS4yLTQuOSAuOS0zLjggMjYuNC02OC4yIDEuMy0zLjMgMy43LTQuNyA2LjEtNC43IDEuMiAwIDIuMiAuNCAzLjIgMS4xIDEuNyAxLjMgMS43IDQuMSAxIDYuMi0uNyAxLjktLjYgMS4zLTQuNSAxMC41LTUuMiAxMi4xLTguNiAyMC44LTEzLjIgMzEuOS0xLjkgNC42LTcuNyAxOC45LTguNyAyMi4zLS42IDIuMi0xLjMgNS44IDEgNS44IDUuNCAwIDE5LjMtMTMuMSAyMy4xLTE3IC4yLS4zIC41LS40IC45LS42IC42LTEuOSAxLjItMy43IDEuNy01LjUgMS40LTMuOCAyLjctOC4yIDUuMy0xMS4zIC44LTEgMS43LTEuNiAyLjctMS42IDIuOCAwIDQuMiAxLjIgNC4yIDQgMCAxLjEtLjcgNS4xLTEuMSA2LjIgMS40LTEuNSAyLjktMyA0LjUtNC41IDE1LTEzLjkgMjUuNy02LjggMjUuNyAuMiAwIDcuNC04LjkgMTcuNy0xMy44IDIzLjQtMS42IDEuOS00LjkgNS40LTUgNi40IDAgMS4zIC45IDEuOCAyLjIgMS44IDIgMCA2LjQtMy41IDgtNC43IDUtMy45IDExLjgtOS45IDE2LjYtMTQuMWwxNC44LTEzNi44Yy0zMC41IDE3LjEtMTk3LjYgMTcuMi0yMjguMyAuMnptMjI5LjctOC41YzAgMjEtMjMxLjIgMjEtMjMxLjIgMCAwLTguOCA1MS44LTE1LjkgMTE1LjYtMTUuOSA5IDAgMTcuOCAuMSAyNi4zIC40TDE2NyA2NS4xIDIyOC4zIC42YzEuNC0xLjQgNS44LS4yIDkuOSAzLjVzNi42IDcuOSA1LjMgOS4zbC0uMSAuMS01Ny4zIDYwLjUtMTAgNDAuN2MzOS45IDIuNiA2Ny42IDguMSA2Ny42IDE0LjZ6bS02OS40IDQuNmMwLS44LS45LTEuNS0yLjUtMi4xbC0uMiAuOGMwIDEuMy01IDIuNC0xMS4xIDIuNHMtMTEuMS0xLjEtMTEuMS0yLjRjMC0uMSAwLS4yIC4xLS4zbC4yLS43Yy0xLjggLjYtMyAxLjQtMyAyLjMgMCAyLjEgNi4yIDMuNyAxMy43IDMuNyA3LjcgLjEgMTMuOS0xLjYgMTMuOS0zLjd6Il19LFh6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ5ZWxwIixpY29uOlszODQsNTEyLFtdLCJmMWU5IiwiTTQyLjkgMjQwLjNsOTkuNiA0OC42YzE5LjIgOS40IDE2LjIgMzcuNS00LjUgNDIuN0wzMC41IDM1OC41Yy0zLjIgLjgtNi40IC45LTkuNiAuM3MtNi4yLTEuOC04LjktMy43LTQuOS00LjMtNi42LTcuMS0yLjctNS45LTMuMS05LjJjLTMuMy0yOC44LS4yLTU3LjkgOS04NS4zIDEtMy4xIDIuNy01LjkgNC45LTguM3M0LjktNC4yIDcuOS01LjUgNi4yLTEuOCA5LjUtMS44IDYuNCAuOSA5LjMgMi4zem00NCAyMzkuM2MyMy44IDE2LjMgNTAuOSAyNy4zIDc5LjQgMzIuMSAzLjIgLjYgNi41IC40IDkuNi0uNHM2LjEtMi4zIDguNi00LjQgNC42LTQuNiA2LTcuNSAyLjMtNi4xIDIuNC05LjRsMy45LTExMC44Yy43LTIxLjMtMjUuNS0zMS45LTM5LjgtMTYuMUw4Mi44IDQ0NS41Yy0yLjIgMi40LTMuOCA1LjMtNC44IDguNHMtMS4zIDYuNC0uOSA5LjYgMS41IDYuMyAzLjEgOS4xIDMuOSA1LjIgNi42IDdsMCAwek0yMzIuMiAzNjkuN2w1OC44IDk0YzEuNyAyLjggNCA1LjEgNi44IDYuOXM1LjggMyA5IDMuNSA2LjUgLjMgOS43LS41IDYuMS0yLjQgOC42LTQuNGMyMi4zLTE4LjQgNDAuMy00MS41IDUyLjctNjcuNiAxLjQtMi45IDIuMS02LjEgMi4yLTkuNHMtLjYtNi41LTEuOS05LjQtMy4yLTUuNy01LjYtNy44LTUuMi0zLjktOC4zLTQuOUwyNTguNyAzMzUuN2MtMjAuMy02LjUtMzcuOCAxNS44LTI2LjUgMzMuOXpNMzgwLjYgMjM3LjRjLTExLjUtMjYuNS0yOC43LTUwLjItNTAuNC02OS4zLTIuNC0yLjEtNS4zLTMuNy04LjQtNC43cy02LjQtMS4yLTkuNi0uOC02LjMgMS41LTkuMSAzLjItNS4xIDQtNi45IDYuN2wtNjIgOTEuOWMtMTEuOSAxNy43IDQuNyA0MC42IDI1LjIgMzQuN0wzNjYgMjY4LjZjMy4xLS45IDYtMi41IDguNS00LjZzNC41LTQuNyA1LjgtNy43IDIuMS02LjIgMi4yLTkuNC0uNi02LjUtMS45LTkuNWwwIDB6TTYyLjEgMzAuMmMtMi44IDEuNC01LjQgMy4zLTcuNCA1LjdzLTMuNiA1LjItNC41IDguMi0xLjIgNi4yLS45IDkuMyAxLjMgNi4xIDIuOSA4LjlMMTU2LjMgMjQyLjZjMTEuNyAyMC4yIDQyLjYgMTEuOSA0Mi42LTExLjRsMC0yMDguM2MwLTMuMS0uNi02LjMtMS44LTkuMnMtMy4xLTUuNS01LjQtNy42LTUtMy44LTgtNC44LTYuMS0xLjQtOS4zLTEuMmMtMzkgMy4xLTc3IDEzLjMtMTEyLjMgMzAuMXoiXX0sUXp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdvZm9yZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjNhNyIsIk0zNDggMzE5LjhsLTEzLjIgMCAwIDM0LjdjLTI0LjUgMjMuMS01Ni4zIDM1LjgtODkuOSAzNS44LTczLjIgMC0xMzIuNC02MC4yLTEzMi40LTEzNC40IDAtNzQuMSA1OS4yLTEzNC40IDEzMi40LTEzNC40IDM1LjMgMCA2OC42IDE0IDkzLjYgMzkuNGw2Mi4zLTYzLjNjLTQxLjgtNDIuMy05Ny4xLTY1LjYtMTU2LjEtNjUuNi0xMjIuNyAwLTIyMC43IDEwMC42LTIyMC43IDIyNCAwIDEyMi41IDk3IDIyNCAyMjAuNyAyMjQgNjMuMiAwIDEyNC41LTI2LjIgMTcxLTgyLjUtMi0yNy42LTEzLjQtNzcuNy02Ny43LTc3Ljd6TTMzNS45IDIwNy4zbC0xMDYuMyAwIDAgODkgMTE4LjQgMGMzMy41IDAgNjAuNSAxNS4xIDc2IDQxLjhsMC0zMC42YzAtNjUuMi00MC40LTEwMC4yLTg4LjEtMTAwLjJ6Il19LEp6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhdmlhdG8iLGljb246WzY0MCw1MTIsW10sImY0MjEiLCJNMTA3LjIgMjgzLjVsLTE5LTQxLjgtNTIuMSAwLTE5IDQxLjgtMTcuMSAwIDYyLjItMTMxLjQgNjIuMiAxMzEuNC0xNy4yIDB6bS00NS05OC4xbC0xOS42IDQyLjUgMzkuMiAwLTE5LjYtNDIuNXpNMTc0LjkgMjg3LjhsLTYyLjItMTMxLjQgMTcuMSAwIDQ1LjEgOTYgNDUuMS05NiAxNyAwLTYyLjEgMTMxLjR6bTgwLjYtNC4zbDAtMTI3LjEgMTUuNSAwIDAgMTI3LjEtMTUuNSAwek00NjQuNiAxNjcuOWwwIDExNS42LTE3LjMgMCAwLTExNS42LTQxLjIgMCAwLTExLjUgOTkuNiAwIDAgMTEuNS00MS4xIDB6TTY0MCAyMTguOGMwIDkuMi0xLjcgMTcuOC01LjEgMjUuOHMtOC4yIDE1LjEtMTQuMiAyMS4xLTEzLjEgMTAuOC0yMS4xIDE0LjItMTYuNiA1LjEtMjUuOCA1LjEtMTcuOC0xLjctMjUuOC01LjEtMTUuMS04LjItMjEuMS0xNC4yLTEwLjgtMTMtMTQuMi0yMS4xYy0zLjQtOC01LjEtMTYuNi01LjEtMjUuOHMxLjctMTcuOCA1LjEtMjUuOCA4LjItMTUuMSAxNC4yLTIxLjEgMTMtOC40IDIxLjEtMTEuOWM4LTMuNCAxNi42LTUuMSAyNS44LTUuMXMxNy44IDEuNyAyNS44IDUuMSAxNS4xIDUuOCAyMS4xIDExLjljNiA2IDEwLjcgMTMuMSAxNC4yIDIxLjEgMy40IDggNS4xIDE2LjYgNS4xIDI1Ljh6bS0xNS41IDBjMC03LjMtMS4zLTE0LTMuOS0yMC4zcy02LjItMTEuNy0xMC44LTE2LjMtMTAtOC4yLTE2LjItMTAuOS0xMi44LTQtMTkuOC00LTEzLjYgMS4zLTE5LjggNC0xMS42IDYuMy0xNi4yIDEwLjktOC4yIDEwLTEwLjggMTYuMy0zLjkgMTMuMS0zLjkgMjAuM2MwIDcuMyAxLjMgMTQgMy45IDIwLjNzNi4yIDExLjcgMTAuOCAxNi4zIDEwIDguMiAxNi4yIDEwLjkgMTIuOCA0IDE5LjggNCAxMy42LTEuMyAxOS44LTQgMTEuNi02LjMgMTYuMi0xMC45IDguMi0xMCAxMC44LTE2LjMgMy45LTEzLjEgMy45LTIwLjN6bS05NC44IDk2LjdsMC02LjMgODguOS0xMC0yNDIuOSAxMy40Yy42LTIuMiAxLjEtNC42IDEuNC03LjIgLjMtMiAuNS00LjIgLjYtNi41bDY0LjgtOC4xLTY0LjkgMS45YzAtLjQtLjEtLjctLjEtMS4xLTIuOC0xNy4yLTI1LjUtMjMuNy0yNS41LTIzLjdsLTEuMS0yNi4zIDIzLjggMCAxOSA0MS44IDE3LjEgMC02Mi4yLTEzMS40LTYyLjIgMTMxLjQgMTcuMSAwIDE5LTQxLjggMjMuNiAwLTEuMSAyNi40cy0yMi43IDYuNS0yNS41IDIzLjdjLS4xIC4zLS4xIC43LS4xIDEuMWwtNjQuOS0xLjkgNjQuOCA4LjFjLjEgMi4zIC4zIDQuNCAuNiA2LjUgLjMgMi42IC44IDUgMS40IDcuMmwtMjQyLjktMTMuNSA4OC45IDEwIDAgNi4zYy01LjkgLjktMTAuNSA2LTEwLjUgMTIuMiAwIDYuOCA1LjYgMTIuNCAxMi40IDEyLjRzMTIuNC01LjYgMTIuNC0xMi40YzAtNi4yLTQuNi0xMS4zLTEwLjUtMTIuMmwwLTUuOCA4MC4zIDkgMCA1LjRjLTUuNyAxLjEtOS45IDYuMi05LjkgMTIuMSAwIDYuOCA1LjYgMTAuMiAxMi40IDEwLjJzMTIuNC0zLjQgMTIuNC0xMC4yYzAtNi00LjMtMTEtOS45LTEyLjFsMC00LjkgMjguNCAzLjIgMCAyMy43LTUuOSAwIDAgMTMuOSA1LjkgMCAwLTYuNiA1IDAgMCA2LjYgNS45IDAgMC0xMy44LTUuOSAwIDAtMjMuMiAzOC4zIDQuM2M4LjEgMTEuNCAxOSAxMy42IDE5IDEzLjZsLS4xIDYuNy01LjEgLjItLjEgMTIuMSA0LjEgMCAuMS01IDUuMiAwIC4xIDUgNC4xIDAtLjEtMTIuMS01LjEtLjItLjEtNi43czEwLjktMi4xIDE5LTEzLjZsMzguMy00LjMgMCAyMy4yLTUuOSAwIDAgMTMuOCA1LjkgMCAwLTYuNiA1IDAgMCA2LjYgNS45IDAgMC0xMy44LTUuOSAwIDAtMjMuNyAyOC40LTMuMiAwIDQuOWMtNS43IDEuMS05LjkgNi4yLTkuOSAxMi4xIDAgNi44IDUuNiAxMC4yIDEyLjQgMTAuMnMxMi40LTMuNCAxMi40LTEwLjJjMC02LTQuMy0xMS05LjktMTIuMWwwLTUuNCA4MC4zLTkgMCA1LjhjLTUuOSAuOS0xMC41IDYtMTAuNSAxMi4yIDAgNi44IDUuNiAxMi40IDEyLjQgMTIuNHMxMi40LTUuNiAxMi40LTEyLjRjLS4yLTYuMy00LjctMTEuNC0xMC43LTEyLjN6TTMyOC45IDIyNy45bDE5LjYtNDIuNSAxOS42IDQyLjUtMTcuOSAwLTEuNy00MC4zLTEuNyA0MC4zLTE3LjkgMHoiXX0sZUN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBhZGxldCIsaWNvbjpbNjQwLDUxMixbXSwiZTRhMCIsIk0yOTcuOSAwbC4xIDBjNy42IC4xIDE0LjQgNC43IDE3LjUgMTEuOGwxMzIgMzA4LjUgLjMtLjEgLjIgLjQtMi44IDEwLTQyLjkgMTU4Yy0zLjcgMTYuMi0xOS43IDI2LjMtMzUuOCAyMi42bC02OC40LTE1LjYtNjguNSAxNS42Yy0xNi4xIDMuNy0zMi4xLTYuNC0zNS44LTIyLjZsLTQyLjktMTU4LTIuNy0xMCAuMS0uNCAxMzIuMS0zMDguNGMzLTcgOS45LTExLjYgMTcuNS0xMS44ek0xNjAuMSAzMjIuMWwxMzEgMzkuMSA2LjkgMTIyLjUgNy45LTEyMS41IDEzMC42LTM5LjMgLjItLjEtMTMxIDI1LjEtOC42LTMyMC4yLTUuMiAzMjAuMi0xMzEuOC0yNS44ek00MjYgMjIyLjZsOTQuNC00MSA3My44IDAtMTU3IDI0Ny42IDMxLjYtMTA5LTQyLjgtOTcuNnptMTcxLjUtNDEuMmw0MS40IDc2LjJjNCA3LjUtMy45IDE1LjktMTEuNiAxMi4ybC00Ny42LTIyLjcgMTcuOC02NS43ek0xMjcuMyAzMTguNUwxNTguNyA0MzAgMS42IDE1NC41Yy01LjktMTAuNCA1LjUtMjIgMTUuOS0xNi4ybDE1MS44IDg0LjItNDIuMSA5NnoiXX0sdEN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImVkZ2UtbGVnYWN5IixpY29uOls0NDgsNTEyLFtdLCJlMDc4IiwiTS02IDIyOC4ybC40LS41YzAgLjIgMCAuMy0uMSAuNWwtLjMgMHptNDYwLjYgMTUuNWMwLTQ0LTcuOC04NC41LTI4LjgtMTIyLjQtNDEtNzMuNC0xMTMuNi0xMTMuMy0xOTguNi0xMTMuMy0xMzkuOS0uMy0yMTguMyAxMDUuMi0yMzIuOCAyMTkuNyA0Mi40LTYxLjMgMTE3LjEtMTIxLjQgMjIwLjQtMTI1IDAgMCAxMDkuNyAwIDk5LjQgMTA1bC0xNzUuOCAwYzYuNC0zNy40IDE4LjUtNTkgMzQuMy03OC45LTc1IDM0LjktMTIxLjggOTYuMS0xMjAuOCAxODguMyAuOCA3MS41IDUwLjEgMTQ0LjggMTIwLjggMTcyIDgzLjQgMzEuOCAxOTIuOCA3LjIgMjQwLjEtMjEuM2wwLTEwNC40Yy04MC45IDU2LjUtMjcwLjkgNjAuOS0yNzIuMy02Ny42bDMxNC4xIDAgMC01Mi4xeiJdfSxucGU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWxhc3RmbSIsaWNvbjpbNDQ4LDUxMixbImxhc3RmbS1zcXVhcmUiXSwiZjIwMyIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMjEwLjcgMjgwLjhjLTEuOC01LjUtMy40LTEwLjgtNS0xNS45LTEyLjktNDEuOS0yMS02OC40LTU4LTY4LjQtMjIuNCAwLTQ1LjEgMTYuMS00NS4xIDYxLjIgMCAzNS4yIDE4IDU3LjIgNDMuMyA1Ny4yIDI4LjYgMCA0Ny42LTIxLjMgNDcuNi0yMS4zbDExLjcgMzEuOXMtMTkuOCAxOS40LTYxLjIgMTkuNGMtNTEuMyAwLTc5LjktMzAuMS03OS45LTg1LjggMC01Ny45IDI4LjYtOTIgODIuNS05MiA2Ny45IDAgNzkuMyAzNS4zIDk2LjQgODguNCAxLjQgNC40IDIuOSA4LjkgNC40IDEzLjUgOC44IDI2LjggMjQuMiA0Ni4yIDYxLjIgNDYuMiAyNC45IDAgMzguMS01LjUgMzguMS0xOS4xIDAtMTcuNS0xNi45LTIxLjItNDAtMjYuNC0zLjItLjctNi41LTEuNC05LjktMi4yLTMwLjQtNy4zLTQyLjUtMjMuMS00Mi41LTQ4IDAtNDAgMzIuMy01Mi40IDY1LjItNTIuNCAzNy40IDAgNjAuMSAxMy42IDYzIDQ2LjZsLTM2LjcgNC40Yy0xLjUtMTUuOC0xMS0yMi40LTI4LjYtMjIuNC0xNi4xIDAtMjYgNy4zLTI2IDE5LjggMCAxMSA0LjggMTcuNiAyMC45IDIxLjMgMi4yIC41IDQuNSAxIDYuNyAxLjQgMzEuMSA2LjUgNjUuMSAxMy43IDY1LjEgNTYuMSAuMSAzNi43LTMwLjcgNTAuNi03Ni4xIDUwLjYtNjMuNCAwLTg1LjQtMjguNi05Ny4xLTY0LjF6Il19LGFDdD1ucGUsckN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imdvb2RyZWFkcy1nIixpY29uOlszMjAsNTEyLFtdLCJmM2E5IiwiTTEwLjggNDAzLjNsMi44IDBjMTIuNyAwIDI1LjUgMCAzOC4yIC4xIDEuNiAwIDMuMS0uNCAzLjYgMi4xIDcuMSAzNC45IDMwIDU0LjYgNjIuOSA2My45IDI2LjkgNy42IDU0LjEgNy44IDgxLjMgMS44IDMzLjgtNy40IDU2LTI4LjMgNjgtNjAuNCA4LTIxLjUgMTAuNy00My44IDExLTY2LjUgLjEtNS44IC4zLTQ3LS4yLTUyLjhsLS45LS4zYy0uOCAxLjUtMS43IDIuOS0yLjUgNC40LTIyLjEgNDMuMS02MS4zIDY3LjQtMTA1LjQgNjkuMS0xMDMgNC0xNjkuNC01Ny0xNzItMTc2LjItLjUtMjMuNyAxLjgtNDYuOSA4LjMtNjkuNyAyMC42LTcxLjEgNzQuNi0xMTguMiAxNTMuOS0xMTguOCA2MS4zLS40IDEwMS41IDM4LjcgMTE2LjIgNzAuMyAuNSAxLjEgMS4zIDIuMyAyLjQgMS45bDAtNjEuNiA0NC4zIDBjMCAyODAuMyAuMSAzMzIuMiAuMSAzMzIuMi0uMSA3OC41LTI2LjcgMTQzLjctMTAzIDE2Mi4yLTY5LjUgMTYuOS0xNTkgNC44LTE5Ni01Ny4yLTgtMTMuNS0xMS44LTI4LjMtMTMtNDQuNXpNMTU3LjEgMzYuNWMtNTIuNS0uNS0xMDguNSA0MC43LTExNSAxMzMuOC00LjEgNTkgMTQuOCAxMjIuMiA3MS41IDE0OC42IDI3LjYgMTIuOSA3NC4zIDE1IDEwOC4zLTguNyA0Ny42LTMzLjIgNjIuNy05NyA1NC44LTE1NC05LjctNzEuMS00Ny44LTEyMC0xMTkuNi0xMTkuN3oiXX0sc0N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLW1hc3RlcmNhcmQiLGljb246WzU3Niw1MTIsW10sImYxZjEiLCJNNDgyLjkgNDEwLjNjMCA2LjgtNC42IDExLjctMTEuMiAxMS43LTYuOCAwLTExLjItNS4yLTExLjItMTEuN3M0LjQtMTEuNyAxMS4yLTExLjdjNi42IDAgMTEuMiA1LjIgMTEuMiAxMS43ek0xNzIuMSAzOTguNmMtNy4xIDAtMTEuMiA1LjItMTEuMiAxMS43UzE2NSA0MjIgMTcyLjEgNDIyYzYuNSAwIDEwLjktNC45IDEwLjktMTEuNy0uMS02LjUtNC40LTExLjctMTAuOS0xMS43em0xMTcuNS0uM2MtNS40IDAtOC43IDMuNS05LjUgOC43bDE5LjEgMGMtLjktNS43LTQuNC04LjctOS42LTguN3ptMTA3LjggLjNjLTYuOCAwLTEwLjkgNS4yLTEwLjkgMTEuN3M0LjEgMTEuNyAxMC45IDExLjcgMTEuMi00LjkgMTEuMi0xMS43YzAtNi41LTQuNC0xMS43LTExLjItMTEuN3ptMTA1LjkgMjYuMWMwIC4zIC4zIC41IC4zIDEuMSAwIC4zLS4zIC41LS4zIDEuMS0uMyAuMy0uMyAuNS0uNSAuOC0uMyAuMy0uNSAuNS0xLjEgLjUtLjMgLjMtLjUgLjMtMS4xIC4zLS4zIDAtLjUgMC0xLjEtLjMtLjMgMC0uNS0uMy0uOC0uNS0uMy0uMy0uNS0uNS0uNS0uOC0uMy0uNS0uMy0uOC0uMy0xLjEgMC0uNSAwLS44IC4zLTEuMSAwLS41IC4zLS44IC41LTEuMSAuMy0uMyAuNS0uMyAuOC0uNSAuNS0uMyAuOC0uMyAxLjEtLjMgLjUgMCAuOCAwIDEuMSAuMyAuNSAuMyAuOCAuMyAxLjEgLjVzLjIgLjYgLjUgMS4xem0tMi4yIDEuNGMuNSAwIC41LS4zIC44LS4zIC4zLS4zIC4zLS41IC4zLS44czAtLjUtLjMtLjhjLS4zIDAtLjUtLjMtMS4xLS4zbC0xLjYgMCAwIDMuNSAuOCAwIDAtMS40IC4zIDAgMS4xIDEuNCAuOCAwLTEuMS0xLjN6TTU3NiA4MWwwIDM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA0ODFjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODFDMCA1NC41IDIxLjUgMzMgNDggMzNsNDgwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDh6TTY0IDIyMC42YzAgNzYuNSA2Mi4xIDEzOC41IDEzOC41IDEzOC41IDI3LjIgMCA1My45LTguMiA3Ni41LTIzLjEtNzIuOS01OS4zLTcyLjQtMTcxLjIgMC0yMzAuNS0yMi42LTE1LTQ5LjMtMjMuMS03Ni41LTIzLjEtNzYuNC0uMS0xMzguNSA2Mi0xMzguNSAxMzguMnpNMjg4IDMyOS40YzcwLjUtNTUgNzAuMi0xNjIuMiAwLTIxNy41LTcwLjIgNTUuMy03MC41IDE2Mi42IDAgMjE3LjV6TTE0NS43IDQwNS43YzAtOC43LTUuNy0xNC40LTE0LjctMTQuNy00LjYgMC05LjUgMS40LTEyLjggNi41LTIuNC00LjEtNi41LTYuNS0xMi4yLTYuNS0zLjggMC03LjYgMS40LTEwLjYgNS40bDAtNC40LTguMiAwIDAgMzYuNyA4LjIgMGMwLTE4LjktMi41LTMwLjIgOS0zMC4yIDEwLjIgMCA4LjIgMTAuMiA4LjIgMzAuMmw3LjkgMGMwLTE4LjMtMi41LTMwLjIgOS0zMC4yIDEwLjIgMCA4LjIgMTAgOC4yIDMwLjJsOC4yIDAgMC0yMy0uMiAwek0xOTAuNiAzOTJsLTcuOSAwIDAgNC40Yy0yLjctMy4zLTYuNS01LjQtMTEuNy01LjQtMTAuMyAwLTE4LjIgOC4yLTE4LjIgMTkuMyAwIDExLjIgNy45IDE5LjMgMTguMiAxOS4zIDUuMiAwIDktMS45IDExLjctNS40bDAgNC42IDcuOSAwIDAtMzYuOHptNDAuNSAyNS42YzAtMTUtMjIuOS04LjItMjIuOS0xNS4yIDAtNS43IDExLjktNC44IDE4LjUtMS4xbDMuMy02LjVjLTkuNC02LjEtMzAuMi02LTMwLjIgOC4yIDAgMTQuMyAyMi45IDguMyAyMi45IDE1IDAgNi4zLTEzLjUgNS44LTIwLjcgLjhsLTMuNSA2LjNjMTEuMiA3LjYgMzIuNiA2IDMyLjYtNy41em0zNS40IDkuM2wtMi4yLTYuOGMtMy44IDIuMS0xMi4yIDQuNC0xMi4yLTQuMWwwLTE2LjYgMTMuMSAwIDAtNy40LTEzLjEgMCAwLTExLjItOC4yIDAgMCAxMS4yLTcuNiAwIDAgNy4zIDcuNiAwIDAgMTYuN2MwIDE3LjYgMTcuMyAxNC40IDIyLjYgMTAuOXptMTMuMy0xMy40bDI3LjUgMGMwLTE2LjItNy40LTIyLjYtMTcuNC0yMi42LTEwLjYgMC0xOC4yIDcuOS0xOC4yIDE5LjMgMCAyMC41IDIyLjYgMjMuOSAzMy44IDE0LjJsLTMuOC02Yy03LjggNi40LTE5LjYgNS44LTIxLjktNC45ek0zMzguOSAzOTJjLTQuNi0yLTExLjYtMS44LTE1LjIgNC40bDAtNC40LTguMiAwIDAgMzYuNyA4LjIgMCAwLTIwLjdjMC0xMS42IDkuNS0xMC4xIDEyLjgtOC40bDIuNC03LjZ6bTEwLjYgMTguM2MwLTExLjQgMTEuNi0xNS4xIDIwLjctOC40bDMuOC02LjVjLTExLjYtOS4xLTMyLjctNC4xLTMyLjcgMTUgMCAxOS44IDIyLjQgMjMuOCAzMi43IDE1bC0zLjgtNi41Yy05LjIgNi41LTIwLjcgMi42LTIwLjctOC42ek00MTYuMiAzOTJsLTguMiAwIDAgNC40Yy04LjMtMTEtMjkuOS00LjgtMjkuOSAxMy45IDAgMTkuMiAyMi40IDI0LjcgMjkuOSAxMy45bDAgNC42IDguMiAwIDAtMzYuOHptMzMuNyAwYy0yLjQtMS4yLTExLTIuOS0xNS4yIDQuNGwwLTQuNC03LjkgMCAwIDM2LjcgNy45IDAgMC0yMC43YzAtMTEgOS0xMC4zIDEyLjgtOC40bDIuNC03LjZ6bTQwLjMtMTQuOWwtNy45IDAgMCAxOS4zYy04LjItMTAuOS0yOS45LTUuMS0yOS45IDEzLjkgMCAxOS40IDIyLjUgMjQuNiAyOS45IDEzLjlsMCA0LjYgNy45IDAgMC01MS43em03LjYtNzUuMWwwIDQuNiAuOCAwIDAtNC42IDEuOSAwIDAtLjgtNC42IDAgMCAuOCAxLjkgMHptNi42IDEyMy44YzAtLjUgMC0xLjEtLjMtMS42LS4zLS4zLS41LS44LS44LTEuMXMtLjgtLjUtMS4xLS44Yy0uNSAwLTEuMS0uMy0xLjYtLjMtLjMgMC0uOCAuMy0xLjQgLjMtLjUgLjMtLjggLjUtMS4xIC44LS41IC4zLS44IC44LS44IDEuMS0uMyAuNS0uMyAxLjEtLjMgMS42IDAgLjMgMCAuOCAuMyAxLjQgMCAuMyAuMyAuOCAuOCAxLjEgLjMgLjMgLjUgLjUgMS4xIC44IC41IC4zIDEuMSAuMyAxLjQgLjMgLjUgMCAxLjEgMCAxLjYtLjMgLjMtLjMgLjgtLjUgMS4xLS44cy41LS44IC44LTEuMWMuMy0uNiAuMy0xLjEgLjMtMS40em0zLjItMTI0LjdsLTEuNCAwLTEuNiAzLjUtMS42LTMuNS0xLjQgMCAwIDUuNCAuOCAwIDAtNC4xIDEuNiAzLjUgMS4xIDAgMS40LTMuNSAwIDQuMSAxLjEgMCAwLTUuNHptNC40LTgwLjVjMC03Ni4yLTYyLjEtMTM4LjMtMTM4LjUtMTM4LjMtMjcuMiAwLTUzLjkgOC4yLTc2LjUgMjMuMSA3Mi4xIDU5LjMgNzMuMiAxNzEuNSAwIDIzMC41IDIyLjYgMTUgNDkuNSAyMy4xIDc2LjUgMjMuMSA3Ni40IC4xIDEzOC41LTYxLjkgMTM4LjUtMTM4LjR6Il19LGlDdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkaXNjb3Vyc2UiLGljb246WzQ0OCw1MTIsW10sImYzOTMiLCJNMjI1LjkgMzJDMTAzLjMgMzIgMCAxMzAuNSAwIDI1Mi4xIDAgMjU2IC4xIDQ4MCAuMSA0ODBsMjI1LjgtLjJDMzQ4LjYgNDc5LjggNDQ4IDM3Ny41IDQ0OCAyNTUuOVMzNDguNiAzMiAyMjUuOSAzMnpNMjI0IDM4NGMtMTkuNCAwLTM3LjktNC4zLTU0LjQtMTIuMUw4OC41IDM5MiAxMTEuNCAzMTdjLTkuOC0xOC4xLTE1LjQtMzguOS0xNS40LTYxIDAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4czEyOCA1Ny4zIDEyOCAxMjgtNTcuMyAxMjgtMTI4IDEyOHoiXX0sb0N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJsYWNrLXRpZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjI3ZSIsIk0wIDMybDAgNDQ4IDQ0OCAwIDAtNDQ4LTQ0OCAwek0zMTYuNSAzNTcuMmwtOTIuNSA4OC43LTkyLjUtODguNyA2NC41LTE4NC02NC41LTg2LjYgMTg0LjkgMC02NC40IDg2LjYgNjQuNSAxODR6Il19LGxwZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtZmFjZWJvb2siLGljb246WzQ0OCw1MTIsWyJmYWNlYm9vay1zcXVhcmUiXSwiZjA4MiIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDk4LjIgMCAwLTE0NS44LTUyLjggMCAwLTc4LjIgNTIuOCAwIDAtMzMuN2MwLTg3LjEgMzkuNC0xMjcuNSAxMjUtMTI3LjUgMTYuMiAwIDQ0LjIgMy4yIDU1LjcgNi40bDAgNzAuOGMtNi0uNi0xNi41LTEtMjkuNi0xLTQyIDAtNTguMiAxNS45LTU4LjIgNTcuMmwwIDI3LjggODMuNiAwLTE0LjQgNzguMi02OS4zIDAgMCAxNDUuOCAxMjkgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnoiXX0sbkN0PWxwZSxsQ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmF0dGxlLW5ldCIsaWNvbjpbNTEyLDUxMixbXSwiZjgzNSIsIk00NDguOCAyMjUuNmMyNi45IC4yIDM1LjYtNy40IDM4LjktMTIuNCAxMi41LTE2LjMtNy4xLTQ3LjYtNTIuOC03MS4zIDE3LjgtMzMuNiAzMC4xLTYzLjcgMzYuMy04NS4zIDMuNC0xMS44IDEuMS0xOSAuNS0yMC4zLTEuNyAxMC41LTE1LjggNDguNS00OC4yIDEwMC0yNS0xMS4yLTU2LjUtMjAuMS05My44LTIzLjgtOC45LTE2LjktMzQuOS02My45LTYwLjUtODguOS0xNi44LTE2LjUtMzAuMy0yMi42LTQwLjgtMjMuNWwwIDBjLTEzLjgtMS42LTIyLjcgNS44LTI3LjQgMTEtMTcuMiAxOC41LTI0LjMgNDguOS0yNSA4NC4xLTcuMi0xMi4zLTE3LjItMjQuNi0yOC41LTI1LjlsLS4yIDBjLTIwLjctMy41LTM4LjQgMjkuMi0zNiA4MS4zLTM4LjQgMS40LTcxIDUuOC05MyAxMS4yLTkuOSAyLjQtMTYuMiA3LjMtMTcuOCA5LjcgMS0uNCAyMi40LTkuMiAxMTEuNi05LjIgNS4yIDUzIDI5LjggMTAxLjggMjYgOTMuMi05LjcgMTUuNC0zOC4yIDYyLjQtNDcuMyA5Ny43LTUuOSAyMi45LTQuNCAzNy42IC4yIDQ3LjEgNS42IDEyLjggMTYuNCAxNi43IDIzLjIgMTguMyAyNSA1LjcgNTUuNC0zLjYgODYuNy0yMS4xLTcuNSAxMi44LTEzLjkgMjguNS05LjEgMzkuMyA3LjMgMTkuNiA0NC41IDE4LjcgODguNC05LjQgMjAuMiAzMi4yIDQwLjEgNTcuOSA1NS43IDc0LjEgMi42IDIuOCA1LjUgNS4yIDguOCA3LjEgNS4xIDMuMiA4LjYgMy40IDguNiAzLjQtOC4yLTYuNy0zNC0zOC02Mi41LTkxLjggMjIuMi0xNiA0NS43LTM4LjkgNjcuNS02OS4zIDEyMi44IDQuNiAxNDMuMy0yNC44IDE0OC0zMS42IDE0LjctMTkuOSAzLjQtNTcuNC01Ny4zLTkzLjd6TTM3MSAzMzEuOGMyMy44LTM3LjcgMzAuMy02Ny44IDI5LjQtOTIuMyAyNy45IDE3LjYgNDcuMiAzNy42IDQ5LjEgNTguOCAxLjEgMTIuOS04LjEgMjkuMS03OC41IDMzLjV6TTIxNy4xIDM4Ny43YzkuOC02LjIgMTkuNS0xMy4xIDI5LjItMjAuNSA2LjcgMTMuMyAxMy42IDI2LjEgMjAuNiAzOC4yLTQwLjYgMjEuOS02OC44IDEyLjgtNDkuOC0xNy43em0yMTUtMTcxLjNjLTEwLjMtNS4zLTIxLjItMTAuMy0zMi40LTE1IDcuOS0xMi4xIDE1LjUtMjQuNCAyMi43LTM2LjkgMzkuMSAyNC4xIDQ1LjkgNTMuMiA5LjYgNTEuOXpNMjc5LjQgMzk4Yy01LjUtMTEuNC0xMS0yMy41LTE2LjUtMzYuNCA0My4yIDEuMyA2Mi40LTE4LjcgNjMuMy0yMC40IDAgLjEtMjUgMTUuNi02Mi41IDEyLjIgMzAuNi0yNS42IDU5LjEtNTMuNyA4NS4xLTg0IDguNy0xMC4yIDE3LTIwLjYgMjQuOS0zMS4xLS40LS4zLTEuNS0zLTE2LjUtMTItNTEuNyA2MC4zLTEwMi4zIDk4LTEzMi44IDExNS45LTIwLjYtMTEuMi00MC44LTMxLjgtNTUuNy02MS41LTIwLTM5LjktMzAtODIuNC0zMS42LTExNi4xIDEyLjMgLjkgMjUuMyAyLjIgMzguOCAzLjktMjIuMyAzNi44LTE0LjQgNjMtMTMuNSA2NC4yIDAtLjEtMS0yOS4yIDIwLjEtNTkuNiA5IDUyLjUgMjQgMTAzLjggNDQuNyAxNTIuOCAuOS0uNCAxLjggLjkgMTguNy04LjItMjYuMy03NC41LTMzLjgtMTM4LjItMzQtMTczLjQgMjAtMTIuNCA0OC4yLTE5LjggODEuNi0xNy44IDQ0LjYgMi43IDg2LjQgMTUuMiAxMTYuMyAzMC43LTcuMSAxMC40LTE0LjkgMjEuMy0yMy4zIDMyLjUtMjAuNy0zNy43LTQ3LjMtNDMuOS00OC45LTQzLjcgLjEgMCAyNS45IDE0LjEgNDEuNSA0Ny4yLTM3LjUtMTMuOC03Ni4xLTI0LjQtMTE1LjMtMzEuNy0xMy4xLTIuNC0yNi4yLTQuNC0zOS40LTYtLjEgLjQtMS44IDEuOC0yLjIgMjAuMyA3Ny45IDE0LjUgMTM2LjYgMzkuOSAxNjcuMiA1Ny4yIC43IDIzLjYtNyA1MS42LTI1LjQgNzkuNi0yNC42IDM3LjMtNTYuNCA2Ny4yLTg0LjggODUuNHptMjcuNC0yODdjLTQ0LjYtMS43LTczLjYgNy40LTk0LjcgMjAuNyAyLTUyLjMgMjEuMy03Ni40IDM4LjItNzUuMyAxNi45LTQuMiA1NC45IDUyLjIgNTYuNSA1NC42em0tMTMwLjcgMy4xYy41IDEyLjEgMS42IDI0LjYgMy4yIDM3LjMtMTQuNi0uOS0yOC43LTEuMy00Mi40LTEuMy0uMSAzLjItLjEtNTEgMjQuNy00OS42bC4xIDBjNS44IDEuMSAxMC42IDYuOSAxNC40IDEzLjZ6bS0yOC4xIDE2MmMyMC44IDM5LjcgNDMuMyA2MC42IDY1LjMgNzIuMy00Ni44IDI0LjgtNzcuNSAyMC04NC45IDQuNS0uMi0uMi0xMS4xLTE1LjMgMTkuNy03Ni44bDAgMHoiXX0sY0N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJpbW9iamVjdCIsaWNvbjpbNDQ4LDUxMixbXSwiZjM3OCIsIk00MTYgMzJMMzIgMzJDMTQuNCAzMiAwIDQ2LjQgMCA2NEwwIDQ0OGMwIDE3LjYgMTQuNCAzMiAzMiAzMmwzODQgMGMxNy42IDAgMzItMTQuNCAzMi0zMmwwLTM4NGMwLTE3LjYtMTQuNC0zMi0zMi0zMnpNMzUyIDI4OS40YzAgNDkuNC0xMS40IDgyLjYtMTAzLjggODIuNmwtMTYuOSAwYy00NC4xIDAtNjIuNC0xNC45LTcwLjQtMzguOGwtLjkgMCAwIDM0LjgtNjQgMCAwLTIzMiA2NCAwIDAgNzQuNyAxLjEgMGM0LjYtMzAuNSAzOS43LTM4LjggNjkuNy0zOC44bDE3LjMgMGM5Mi40IDAgMTAzLjggMzMuMSAxMDMuOCA4Mi41bDAgMzUgLjEgMHptLTY0LTI4LjlsMCAyMi45YzAgMjEuNy0zLjQgMzMuOC0zOC40IDMzLjhsLTQ1LjMgMGMtMjguOSAwLTQ0LjEtNi41LTQ0LjEtMzUuN2wwLTE5YzAtMjkuMyAxNS4yLTM1LjcgNDQuMS0zNS43bDQ1LjMgMGMzNS0uMiAzOC40IDEyIDM4LjQgMzMuN3oiXX0sZEN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN2ZWx0ZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTg2OCIsIk0yMDIuMSAyNi40YzY2LjgtNDIuNiAxNTkuMy0yMi43IDIwNi4xIDQ0LjMgMTEuMSAxNS41IDE5IDMzLjEgMjMuMiA1MS44czQuNyAzNy45IDEuMyA1Ni43Yy0zLjIgMTgtMTAuMSAzNS4xLTIwLjEgNTAuMyAxNC42IDI3LjkgMTkuNiA2MCAxNCA5MS0zLjMgMTguNC0xMC40IDM2LTIwLjkgNTEuNXMtMjQuMSAyOC43LTM5LjkgMzguN0wyNDguMyA0ODUuNmMtNjYuOCA0Mi42LTE1OS4zIDIyLjctMjA2LjEtNDQuMi0xMS4xLTE1LjUtMTktMzMuMi0yMy4yLTUxLjhzLTQuNy0zNy45LTEuMy01Ni43YzMuMi0xOCAxMC4xLTM1LjEgMjAuMS01MC4zLTE0LjctMjcuOS0xOS42LTYwLTE0LTkxLjEgMy4zLTE4LjQgMTAuNC0zNiAyMC45LTUxLjVzMjQuMS0yOC43IDM5LjktMzguN0wyMDIuMSAyNi40ek0zMTUuNiA2Ny4yYy0xNy45LTYuNi0zNy40LTcuNi01NS45LTIuOC04LjQgMi4zLTE2LjUgNS44LTIzLjggMTAuNUwxMTguNSAxNDkuN2MtOS41IDYtMTcuNyAxMy45LTI0IDIzLjNTODQgMTkyLjggODIgMjAzLjljLTIgMTEuMy0xLjcgMjIuOSAuOCAzNC4xczcuMyAyMS44IDEzLjkgMzEuMmMxMC45IDE1LjcgMjYuMyAyNy42IDQ0LjIgMzQuM3MzNy40IDcuNiA1NS45IDIuOGM4LjQtMi4zIDE2LjUtNS44IDIzLjgtMTAuNWw0NC44LTI4LjZjMi4yLTEuNCA0LjctMi41IDcuMi0zLjIgNS42LTEuNCAxMS40LTEuMiAxNi44IC44czEwIDUuNiAxMy4zIDEwLjNjMiAyLjggMy41IDYgNC4yIDkuNHMuOSA2LjkgLjMgMTAuM2MtLjYgMy4zLTEuOSA2LjUtMy44IDkuMy0xLjkgMi44LTQuNCA1LjItNy4yIDdMMTc4LjggMzg2LjFjLTIuMiAxLjQtNC43IDIuNS03LjIgMy4yLTUuNiAxLjQtMTEuNCAxLjItMTYuOC0uOHMtMTAtNS42LTEzLjMtMTAuM2MtMy42LTUuMS01LjMtMTEuMi00LjctMTcuNGwuNC00LjQtNC4zLTEuM2MtMTYuNS01LTMyLjEtMTIuNy00NS45LTIyLjlsLTYtNC40LTIuMiA2LjdjLTEuMiAzLjYtMi4xIDcuMy0yLjggMTEtMiAxMS4zLTEuNyAyMi45IC44IDM0LjFzNy4zIDIxLjggMTMuOSAzMS4xYzEwLjkgMTUuNyAyNi4zIDI3LjYgNDQuMiAzNC4zczM3LjQgNy42IDU1LjggMi44YzguNC0yLjMgMTYuNS01LjggMjMuOS0xMC41bDExNy4zLTc0LjhjOS41LTYgMTcuNy0xMy45IDI0LTIzLjNzMTAuNi0xOS45IDEyLjYtMzFjMi0xMS4zIDEuOC0yMi45LS44LTM0LjFzLTcuMy0yMS44LTE0LTMxLjFjLTEwLjktMTUuNy0yNi4zLTI3LjYtNDQuMi0zNC4zcy0zNy40LTcuNi01NS45LTIuOGMtOC40IDIuMy0xNi41IDUuOC0yMy44IDEwLjVMMTg1IDI0NC44Yy0yLjIgMS40LTQuNiAyLjUtNy4yIDMuMi01LjYgMS40LTExLjUgMS4yLTE2LjgtLjhzLTEwLTUuNi0xMy4zLTEwLjNjLTItMi44LTMuNC02LTQuMi05LjRzLS45LTYuOS0uMi0xMC4zYy42LTMuMyAxLjktNi41IDMuOC05LjNzNC40LTUuMiA3LjItN2wxMTcuNC03NC44YzIuMi0xLjQgNC43LTIuNSA3LjItMy4yIDUuNi0xLjQgMTEuNC0xLjEgMTYuOCAuOXMxMCA1LjYgMTMuMyAxMC4zYzMuNiA1LjEgNS4yIDExLjMgNC43IDE3LjRsLS40IDQuNCA0LjQgMS4zYzE2LjUgNSAzMiAxMi44IDQ1LjkgMjNsNiA0LjQgMi4yLTYuOGMxLjItMy42IDIuMS03LjMgMi44LTExIDItMTEuMyAxLjgtMjIuOS0uOC0zNC4xcy03LjMtMjEuOC0xNC0zMS4xYy0xMC45LTE1LjctMjYuMy0yNy42LTQ0LjItMzQuM3oiXX0sdUN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1kZXNrcHJvIixpY29uOls0NDgsNTEyLFtdLCJlODQ0IiwiTTQwOC44IDMyQzQzMC40IDMyIDQ0OCA0OS42IDQ0OCA3MS4ybDAgMzY5LjZjMCAyMS42LTE3LjYgMzkuMi0zOS4yIDM5LjJMMzkuMiA0ODBDMTcuNiA0ODAgMCA0NjIuNCAwIDQ0MC44TDAgNzEuMkMwIDQ5LjYgMTcuNiAzMiAzOS4yIDMybDM2OS42IDB6TTExMC45IDI3NC4xbDAgMTE0LjQgODkuMS0uMWMyMC42IDAgMzkuNC0zLjIgNTYuMy05LjVzMzEuMy0xNS40IDQzLjItMjdjMTIuMi0xMS45IDIxLjYtMjYgMjguMi00Mi4xIDQuNi0xMS4xIDcuNy0yMyA5LjItMzUuN2wtNDMuOCAwYy0xLjEgNi40LTIuOCAxMi40LTUuMSAxOC4yLTQuMiAxMC45LTEwLjMgMjAuMy0xOC4yIDI4LjItNy45IDcuNy0xNy40IDEzLjctMjguNiAxNy45LTExLjEgNC4zLTIzLjUgNi40LTM3LjMgNi40bC01MCAwIDAtNzAuNi00MyAuMXptMC0xNTEuNGwwIDExNC40IDQzLS4xIDAtNzAuNyA1MCAwYzEzLjcgMCAyNi4yIDIuMSAzNy4zIDYuNCAxMS4xIDQuMyAyMC42IDEwLjMgMjguNiAxOC4zIDcuOSA3LjcgMTQgMTcuMSAxOC4yIDI4LjIgMi4zIDUuNiA0IDExLjUgNS4xIDE3LjhsNDMuOSAuMWMtMS40LTEyLjYtNC40LTI0LjQtOC45LTM1LjMtNi42LTE2LjQtMTYtMzAuNS0yOC4xLTQyLjItMTIuMS0xMS45LTI2LjctMjEuMS00My42LTI3LjUtMTYuOS02LjQtMzUuNy05LjUtNTYuMy05LjVsLTg5IC4xeiJdfSxwQ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGFpbHdpbmQtY3NzIixpY29uOls2NDAsNTEyLFtdLCJlODY2IiwiTTMyMCA2NGMtODUuMyAwLTEzOC43IDQyLjctMTYwIDEyOCAzMi00Mi43IDY5LjMtNTguNyAxMTItNDggMjQuMyA2LjEgNDEuNyAyMy44IDYxIDQzLjMgMzEuNCAzMS44IDY3LjcgNjguNyAxNDcgNjguNyA4NS4zIDAgMTM4LjctNDIuNyAxNjAtMTI4LTMyIDQyLjctNjkuMyA1OC43LTExMiA0OC0yNC4zLTYuMS00MS43LTIzLjgtNjEtNDMuMy0zMS40LTMxLjgtNjcuNy02OC43LTE0Ny02OC43ek0xNjAgMjU2Yy04NS4zIDAtMTM4LjcgNDIuNy0xNjAgMTI4IDMyLTQyLjcgNjkuMy01OC43IDExMi00OCAyNC4zIDYuMSA0MS43IDIzLjggNjEgNDMuMyAzMS40IDMxLjggNjcuNyA2OC43IDE0NyA2OC43IDg1LjMgMCAxMzguNy00Mi43IDE2MC0xMjgtMzIgNDIuNy02OS4zIDU4LjctMTEyIDQ4LTI0LjMtNi4xLTQxLjctMjMuOC02MS00My4zLTMxLjQtMzEuOC02Ny43LTY4LjctMTQ3LTY4Ljd6Il19LGskYT17ZmFTcXVhcmVHaXRodWI6THVlLGZhR2l0aHViU3F1YXJlOmNndCxmYVRoaW5rUGVha3M6ZGd0LGZhR29vZ2xlRHJpdmU6dWd0LGZhQXV0b3ByZWZpeGVyOnBndCxmYVNxdWFyZVZpYWRlbzokdWUsZmFWaWFkZW9TcXVhcmU6Zmd0LGZhQ3BhbmVsOmhndCxmYU1lbmRlbGV5Om1ndCxmYURyYWZ0MmRpZ2l0YWw6Z2d0LGZhUmVwbHlkOmJndCxmYUVtcGlyZTp2Z3QsZmFBY2Nlc3NpYmxlSWNvbjp4Z3QsZmFRdW9yYTp5Z3QsZmFDY0pjYjp3Z3QsZmFGZWRvcmE6TWd0LGZhRHVvbGluZ286a2d0LGZhRmlyc3RkcmFmdDpTZ3QsZmFGcmVlYnNkOnpndCxmYU9keXNlZTpDZ3QsZmFHZ0NpcmNsZTpfZ3QsZmFDbG91ZGZsYXJlOlRndCxmYUhhY2tlcnJhbms6TGd0LGZhU2t5YXRsYXM6JGd0LGZhRGVza3BybzpEZ3QsZmFSZXNvbHZpbmc6QWd0LGZhQmxhY2tiZXJyeTpFZ3QsZmFTdHJpcGVTOlBndCxmYVNxdWFyZUJlaGFuY2U6RHVlLGZhQmVoYW5jZVNxdWFyZTpJZ3QsZmFTZXJ2aWNlc3RhY2s6Tmd0LGZhUm9ja2V0Y2hhdDpSZ3QsZmFSZWJlbDpPZ3QsZmFTcXVhcmVXZWJBd2Vzb21lOkZndCxmYUxpbmt0cmVlOkJndCxmYVNpbXBseWJ1aWx0OkhndCxmYVN0dWJiZXI6cWd0LGZhQXBwZXI6Vmd0LGZhR29vZ2xlU2Nob2xhcjpqZ3QsZmFZYXJuOlVndCxmYVN0YWNrT3ZlcmZsb3c6V2d0LGZhQmx1ZXRvb3RoOkdndCxmYUNyZWF0aXZlQ29tbW9uc05jSnA6WWd0LGZhUmVkZGl0OktndCxmYUNvbm5lY3RkZXZlbG9wOlpndCxmYVJlc2VhcmNoZ2F0ZTpYZ3QsZmFTaWduYWxNZXNzZW5nZXI6UWd0LGZhWGluZzpKZ3QsZmFTcXVhcmVKczpBdWUsZmFKc1NxdWFyZTplYnQsZmFGb250aWNvbnM6dGJ0LGZhVXBzOmFidCxmYUFtYXpvblBheTpyYnQsZmFQYW5kb3JhOnNidCxmYU9wZW5pZDppYnQsZmFWc2NvOm9idCxmYUdsb2JhbGVha3M6bmJ0LGZhVmVubW86bGJ0LGZhVWJ1bnR1OmNidCxmYVZpYWNvaW46ZGJ0LGZhWmhpaHU6dWJ0LGZhWWFuZGV4OnBidCxmYVBpeGl2OmZidCxmYU9wZW5haTpoYnQsZmFTaXRoOm1idCxmYUp1bGlhOmdidCxmYU5mY0RpcmVjdGlvbmFsOmJidCxmYUNyZWF0aXZlQ29tbW9uc0J5OnZidCxmYVVtYnJhY286eGJ0LGZhSG9vbGk6eWJ0LGZhU3F1YXJlR2l0OkV1ZSxmYUdpdFNxdWFyZTp3YnQsZmFPZG5va2xhc3NuaWtpOk1idCxmYURydXBhbDprYnQsZmFCbG9nZ2VyQjpTYnQsZmFJbnZpc2lvbjp6YnQsZmFGYWNlYm9va0Y6Q2J0LGZhQ2VudG9zOl9idCxmYVNjYWxld2F5OlRidCxmYUNjQW1hem9uUGF5OkxidCxmYUViYXk6JGJ0LGZhQ29udGFvOkRidCxmYUVsbG86QWJ0LGZhU2lzdHJpeDpFYnQsZmFQZXJpc2NvcGU6UGJ0LGZhRXhwZWRpdGVkc3NsOklidCxmYU5hcHN0ZXI6TmJ0LGZhRGVsaWNpb3VzOlJidCxmYUd1aWxkZWQ6T2J0LGZhT2JzaWRpYW46RmJ0LGZhWGJveDpCYnQsZmFVbnRhcHBkOkhidCxmYUdvb2dsZVBsdXNHOnFidCxmYUdpdGh1YkFsdDpWYnQsZmFHZXRQb2NrZXQ6amJ0LGZhR2xpZGU6VWJ0LGZhQml0eTpXYnQsZmFXcGV4cGxvcmVyOkdidCxmYU1lZ2Fwb3J0OllidCxmYUxlZXRjb2RlOktidCxmYU1kYjpaYnQsZmFQYWdlNDpYYnQsZmFUaGVSZWRZZXRpOlFidCxmYUppcmE6SmJ0LGZhRmVkZXg6ZXZ0LGZhRXZlcm5vdGU6dHZ0LGZhVXNiOmF2dCxmYUFuZ3J5Y3JlYXRpdmU6cnZ0LGZhTWl6dW5pOnN2dCxmYUl0Y2hJbzppdnQsZmFXaW5kb3dzOm92dCxmYVN0dW1ibGV1cG9uOm52dCxmYUdvb2dsZTpoZWUsZmFEaXNjb3JkOmx2dCxmYUhhY2tlck5ld3M6Y3Z0LGZhRWxldmVudHk6UHVlLGZhMTF0eTpkdnQsZmFUZWFtc3BlYWs6dXZ0LGZhU3VwcGxlOnB2dCxmYVNxdWFyZVR3aXR0ZXI6SXVlLGZhVHdpdHRlclNxdWFyZTpmdnQsZmFWaW06aHZ0LGZhRm9udEF3ZXNvbWU6ZmVlLGZhRm9udEF3ZXNvbWVGbGFnOm12dCxmYUZvbnRBd2Vzb21lTG9nb0Z1bGw6Z3Z0LGZhV2lyc2luZGhhbmR3ZXJrOk51ZSxmYVdzaDpidnQsZmFab29tOnZ2dCxmYUNvbmZsdWVuY2U6eHZ0LGZhRGlnZzp5dnQsZmFUaHJlYWRzOnd2dCxmYVdwcmVzc3I6UnVlLGZhUmVuZGFjdDpNdnQsZmFZb2FzdDprdnQsZmFOaW1ibHI6U3Z0LGZhUGl4ZWxmZWQ6enZ0LGZhWWFob286Q3Z0LGZhQmx1ZXNreTpfdnQsZmFTY3JpYmQ6VHZ0LGZhQ3JlYXRpdmVDb21tb25zUGQ6THZ0LGZhRWFybHliaXJkczokdnQsZmFTeW1mb255Y2FzdHM6RHZ0LGZhU3F1YXJlT2Rub2tsYXNzbmlraTpPdWUsZmFPZG5va2xhc3NuaWtpU3F1YXJlOkF2dCxmYU1hcmtkb3duOkV2dCxmYVR5cG8zOlB2dCxmYUpvb21sYTpJdnQsZmFXZWl4aW46TnZ0LGZhR3J1bnQ6UnZ0LGZhU3VwcG9ydG5vdzpPdnQsZmFSb2Nrcm1zOkZ2dCxmYVVuc3BsYXNoOkJ2dCxmYVNxdWFyZUluc3RhZ3JhbTpGdWUsZmFJbnN0YWdyYW1TcXVhcmU6SHZ0LGZhRmlyc3RPcmRlckFsdDpxdnQsZmFGdWxjcnVtOlZ2dCxmYUFyY2hMaW51eDpqdnQsZmFGZWRpdmVyc2U6VXZ0LGZhQnJhdmVSZXZlcnNlOld2dCxmYUF2aWFuZXg6R3Z0LGZhTnM4Oll2dCxmYVNxdWFyZVBpbnRlcmVzdDpCdWUsZmFQaW50ZXJlc3RTcXVhcmU6S3Z0LGZhQmx1ZXRvb3RoQjpadnQsZmFHcmlwZmlyZTpYdnQsZmFTcXVhcmVHb29nbGVQbHVzOkh1ZSxmYUdvb2dsZVBsdXNTcXVhcmU6UXZ0LGZhR2l0ZWU6SnZ0LGZhWG1wcDpleHQsZmFBcHBTdG9yZTp0eHQsZmFXaXg6YXh0LGZhSW50ZXJjb206cnh0LGZhUmVhY3RldXJvcGU6c3h0LGZhV2F6ZTppeHQsZmFDcmVhdGl2ZUNvbW1vbnNSZW1peDpveHQsZmFCYW5kY2FtcDpueHQsZmFTcXVhcmVXZWJBd2Vzb21lU3Ryb2tlOmx4dCxmYVZpbWVvVjpjeHQsZmFTdHJhdmE6ZHh0LGZhVW5pcmVnaXN0cnk6dXh0LGZhQ2NEaW5lcnNDbHViOnB4dCxmYUt1YmVybmV0ZXM6Znh0LGZhUGludGVyZXN0Omh4dCxmYUFsZ29saWE6bXh0LGZhU3RhY2twYXRoOmd4dCxmYU9jdG9wdXNEZXBsb3k6Ynh0LGZhWWFtbWVyOnZ4dCxmYU1vZHg6eHh0LGZhU3F1YXJlVGhyZWFkczp5eHQsZmFPbGRSZXB1YmxpYzp3eHQsZmFTdXNlOk14dCxmYUFwcFN0b3JlSW9zOmt4dCxmYVVsdHJhbHl0aWNzWW9sbzpTeHQsZmFTcXVhcmVEcmliYmJsZTpxdWUsZmFEcmliYmJsZVNxdWFyZTp6eHQsZmFVaWtpdDpDeHQsZmFTdXBlcnBvd2VyczpfeHQsZmFZb3V0dWJlOlR4dCxmYUVtYmVyOkx4dCxmYUJvb3RzdHJhcDokeHQsZmFJdHVuZXM6RHh0LGZhU3F1YXJlWGluZzpWdWUsZmFYaW5nU3F1YXJlOkF4dCxmYUNzczNBbHQ6RXh0LGZhU3F1YXJlc3BhY2U6UHh0LGZhVHJlbGxvOkl4dCxmYVZpYWRlbzpOeHQsZmFTZWFyY2hlbmdpbjpSeHQsZmFVbnJlYWxFbmdpbmU6T3h0LGZhUGF5cGFsOkZ4dCxmYVNxdWFyZUJsdWVza3k6Qnh0LGZhREFuZERCZXlvbmQ6SHh0LGZhTWljcm9zb2Z0OnF4dCxmYUZseTpWeHQsZmFDY1N0cmlwZTpqeHQsZmFXb3JkcHJlc3NTaW1wbGU6VXh0LGZhU2VsbHN5Old4dCxmYURhc2hjdWJlOkd4dCxmYUdpdHRlcjpZeHQsZmFXb2xmUGFja0JhdHRhbGlvbjpLeHQsZmFMYXN0Zm06Wnh0LGZhU2hvcHdhcmU6WHh0LGZhQmxvZ2dlcjpReHQsZmFFZGdlOkp4dCxmYUlveGhvc3Q6ZXl0LGZhU2NobGl4OnR5dCxmYURBbmREOmF5dCxmYVZ1ZWpzOnJ5dCxmYU1ldGE6c3l0LGZhQ3JlYXRpdmVDb21tb25zU2hhcmU6aXl0LGZhU3R1ZGlvdmluYXJpOm95dCxmYUJpdGJ1Y2tldDpueXQsZmFWazpseXQsZmFHaXRodWI6Y3l0LGZhQ29kaWVwaWU6ZHl0LGZhUGllZFBpcGVyOnV5dCxmYVJhc3BiZXJyeVBpOnB5dCxmYUNzczM6Znl0LGZhSHVic3BvdDpoeXQsZmFDbXBsaWQ6bXl0LGZhRHlhbG9nOmd5dCxmYUVsZW1lbnRvcjpieXQsZmFGaXJzdE9yZGVyOnZ5dCxmYURyaWJiYmxlOnh5dCxmYUxpbmtlZGluOm1lZSxmYUNjUGF5cGFsOnl5dCxmYURobDp3eXQsZmFUZXg6TXl0LGZhQ2xhdWRlOmt5dCxmYVNob3BpZnk6U3l0LGZhU3F1YXJlUmVkZGl0Omp1ZSxmYVJlZGRpdFNxdWFyZTp6eXQsZmFDcmVhdGl2ZUNvbW1vbnNOYzpDeXQsZmFHYWxhY3RpY1JlcHVibGljOl95dCxmYUZhY2Vib29rOmdlZSxmYUdpdGxhYjpUeXQsZmFRcTpMeXQsZmFTdHJpcGU6JHl0LGZhRGFpbHltb3Rpb246RHl0LGZhU3RlYW06QXl0LGZhVmVubW9WOkV5dCxmYVNuYXBjaGF0OlV1ZSxmYVNuYXBjaGF0R2hvc3Q6UHl0LGZhR2FsYWN0aWNTZW5hdGU6SXl0LGZhUGhvZW5peEZyYW1ld29yazpOeXQsZmFHaXQ6Unl0LGZhT3B0aW5Nb25zdGVyOk95dCxmYUplbmtpbnM6Rnl0LGZhU2xpZGVzaGFyZTpCeXQsZmFVYmVyOkh5dCxmYURpZ2l0YWxPY2VhbjpxeXQsZmFTb3VuZGNsb3VkOlZ5dCxmYVNxdWFyZUZpZ21hOmp5dCxmYUNyZWF0aXZlQ29tbW9uc1NhOlV5dCxmYUNocm9tZTpXeXQsZmFUcmFkZUZlZGVyYXRpb246R3l0LGZhVmFhZGluOll5dCxmYURldmlhbnRhcnQ6S3l0LGZhTWVkaXVtOkliLGZhTWVkaXVtTTpaeXQsZmFPcGVuY2FydDpYeXQsZmFZQ29tYmluYXRvcjpReXQsZmFMaW5lOkp5dCxmYUFtaWxpYTpld3QsZmFBc3ltbWV0cmlrOnR3dCxmYVBoYWJyaWNhdG9yOmF3dCxmYUJvdHM6cnd0LGZhVmluZTpzd3QsZmFNZWRydDppd3QsZmFPc2k6b3d0LGZhR2c6bnd0LGZhQnV5c2VsbGFkczpsd3QsZmFHb29nbGVQbHVzOmN3dCxmYVNjcmVlbnBhbDpkd3QsZmFCaXRjb2luOnV3dCxmYVN3aWZ0OnB3dCxmYUZpbGVzUGlud2hlZWw6Znd0LGZhTGFyYXZlbDpod3QsZmFXcGZvcm1zOm13dCxmYVNwZWFrZXJEZWNrOmd3dCxmYUZsaWNrcjpid3QsZmFDY1Zpc2E6dnd0LGZhVXB3b3JrOnh3dCxmYUtha2FvVGFsazp5d3QsZmFGbHV0dGVyOnd3dCxmYUJ1ZmZlcjpNd3QsZmFHcmF0aXBheTprd3QsZmFHb29nbGVQYXk6U3d0LGZhQXBwbGU6end0LGZhVHVtYmxyOkN3dCxmYVBob2VuaXhTcXVhZHJvbjpfd3QsZmFDZW50ZXJjb2RlOlR3dCxmYURlYmlhbjpMd3QsZmFNYXN0b2Rvbjokd3QsZmFTa2V0Y2g6RHd0LGZhV2ViQXdlc29tZTpBd3QsZmFTYXNzOkV3dCxmYVRocmVlbWE6UHd0LGZhU3F1YXJlV2hhdHNhcHA6V3VlLGZhV2hhdHNhcHBTcXVhcmU6SXd0LGZhU2t5cGU6Tnd0LGZhQW5ndWxhcjpSd3QsZmFDaXJjbGVadWxpcDpPd3QsZmFPcGVuc3VzZTpGd3QsZmFEcm9wYm94OkJ3dCxmYURlZXplcjpId3QsZmFDcmVhdGl2ZUNvbW1vbnNTYW1wbGluZzpxd3QsZmFKZWRpT3JkZXI6Vnd0LGZhUlByb2plY3Q6and0LGZhSW5zdGFsb2Q6VXd0LGZhQ2FuYWRpYW5NYXBsZUxlYWY6V3d0LGZhRXRoZXJldW06R3d0LGZhSG91eno6WXd0LGZhVmliZXI6S3d0LGZhS2lja3N0YXJ0ZXI6R3VlLGZhU3F1YXJlS2lja3N0YXJ0ZXI6Wnd0LGZhU3BvdGlmeTpYd3QsZmFMZWFucHViOlF3dCxmYUphdmE6Snd0LGZhTmZjU3ltYm9sOmVNdCxmYVdvZHU6dE10LGZhU3F1YXJlU3RlYW06WXVlLGZhU3RlYW1TcXVhcmU6YU10LGZhQ3JlYXRpdmVDb21tb25zTmNFdTpyTXQsZmFOcG06c010LGZhQ2xvdWRzY2FsZTppTXQsZmFUaGVtZWNvOm9NdCxmYUdvb2dsZVBsYXk6bk10LGZhS29ydnVlOmxNdCxmYVczYzpjTXQsZmFHcmF2OmRNdCxmYUF3czp1TXQsZmFHbGlkZUc6cE10LGZhSnNmaWRkbGU6Zk10LGZhS2V5YmFzZTpoTXQsZmFMdW1vbkRyb3A6bU10LGZhRm9yZ2VqbzpnTXQsZmFQb3N0Z3Jlc3FsOmJNdCxmYVdlZWJseTp2TXQsZmFEb2NrZXI6eE10LGZhTWFnZW50bzp5TXQsZmFUb3JCcm93c2VyOndNdCxmYUdpdEFsdDpNTXQsZmFGaXJlZm94QnJvd3NlcjprTXQsZmFDbG91ZHNtaXRoOlNNdCxmYVdpemFyZHNPZlRoZUNvYXN0OnpNdCxmYUNyZWF0aXZlQ29tbW9uc05kOkNNdCxmYVVzcHM6X010LGZhU3F1YXJlTGV0dGVyYm94ZDpUTXQsZmFNYW5kYWxvcmlhbjpMTXQsZmFTbGFjazpLdWUsZmFTbGFja0hhc2g6YmVlLGZhQW5nZWxsaXN0OiRNdCxmYUFuZHJvaWQ6RE10LGZhTWVldHVwOkFNdCxmYUZvbnRpY29uc0ZpOkVNdCxmYVBhbGZlZDpQTXQsZmFXcGJlZ2lubmVyOklNdCxmYURpYXNwb3JhOk5NdCxmYVByb2R1Y3RIdW50OlJNdCxmYVNxdWFyZVVwd29yazpPTXQsZmFDdXR0bGVmaXNoOkZNdCxmYU1lZGFwcHM6Qk10LGZhUGl4OkhNdCxmYVNxdWFyZVR1bWJscjpadWUsZmFUdW1ibHJTcXVhcmU6cU10LGZhUmVhY3Q6Vk10LGZhSHVnZ2luZ0ZhY2U6ak10LGZhSnhsOlVNdCxmYVNxdWFyZUxpbmtlZGluOldNdCxmYUNzczpHTXQsZmFIYXNobm9kZTpZTXQsZmFSZWRkaXRBbGllbjpLTXQsZmFUaWt0b2s6dmVlLGZhV29yZHByZXNzOlpNdCxmYUlkZWFsOlhNdCxmYVBpZWRQaXBlclBwOlFNdCxmYVVzc3VubmFoOkpNdCxmYUZvcnRBd2Vzb21lQWx0OmVrdCxmYUJ1cm9tb2JlbGV4cGVydGU6dGt0LGZhQmlsaWJpbGk6YWt0LGZhTmVvczpya3QsZmFEZXY6c2t0LGZhSG90amFyOmlrdCxmYURvY2h1Yjpva3QsZmFWaW1lbzpua3QsZmFNYXhjZG46bGt0LGZhU3F1YXJlRm9udEF3ZXNvbWVTdHJva2U6WHVlLGZhRm9udEF3ZXNvbWVBbHQ6Y2t0LGZhU3BlYWthcDpka3QsZmFGYW50YXN5RmxpZ2h0R2FtZXM6dWt0LGZhTGludXg6cGt0LGZhQ290dG9uQnVyZWF1OmZrdCxmYUdvb2dsZVdhbGxldDpoa3QsZmFGb3Vyc3F1YXJlOm1rdCxmYVNoaXJ0c2luYnVsazpna3QsZmFNaW50Yml0OmJrdCxmYVp1bGlwOnZrdCxmYVN0YXlsaW5rZWQ6eGt0LGZhV2ViZmxvdzp5a3QsZmFSZW5yZW46d2t0LGZhS29GaTpNa3QsZmFSZXY6a2t0LGZhS2V5Y2RuOlNrdCxmYUhpcmVBSGVscGVyOnprdCxmYVNxdWFyZUhhY2tlck5ld3M6UXVlLGZhSGFja2VyTmV3c1NxdWFyZTpDa3QsZmFDcmVhdGl2ZUNvbW1vbnNQZEFsdDpfa3QsZmFPcmNpZDpUa3QsZmFCb2FyZEdhbWVHZWVrOkp1ZSxmYUJnZzpMa3QsZmFCZWhhbmNlOiRrdCxmYU1vbmVybzpEa3QsZmFGaWdtYTpBa3QsZmFJbnN0YWdyYW06eGVlLGZhUGVyYnl0ZTpFa3QsZmFTcXVhcmVWaW1lbzplcGUsZmFWaW1lb1NxdWFyZTpQa3QsZmFQdXNoZWQ6SWt0LGZhTWl4Y2xvdWQ6Tmt0LGZhWWFuZGV4SW50ZXJuYXRpb25hbDpSa3QsZmFIaXZlOk9rdCxmYUNyZWF0aXZlQ29tbW9uc1plcm86Rmt0LGZhU3F1YXJlU25hcGNoYXQ6dHBlLGZhU25hcGNoYXRTcXVhcmU6Qmt0LGZhVGhlbWVpc2xlOkhrdCxmYURhcnRMYW5nOnFrdCxmYURlcGxveWRvZzpWa3QsZmFGbGlwYm9hcmQ6amt0LGZhQnV5TkxhcmdlOlVrdCxmYVdhdGNobWFuTW9uaXRvcmluZzpXa3QsZmFIaXBzOkdrdCxmYUNsb3VkdmVyc2lmeTpZa3QsZmFHb29kcmVhZHM6S2t0LGZhVGlkYWw6Wmt0LGZhVW5pdHk6WGt0LGZhVGVuY2VudFdlaWJvOlFrdCxmYUZyZWVDb2RlQ2FtcDpKa3QsZmFYVHdpdHRlcjplU3QsZmFTdGlja2VyTXVsZTp0U3QsZmFUd2l0Y2g6YVN0LGZhS2lja3N0YXJ0ZXJLOnJTdCxmYUNyaXRpY2FsUm9sZTpzU3QsZmFTdGVhbVN5bWJvbDppU3QsZmFNYWlsY2hpbXA6b1N0LGZhTHVtb246blN0LGZhTnV0cml0aW9uaXg6bFN0LGZhQ3JlYXRpdmVDb21tb25zU2FtcGxpbmdQbHVzOmNTdCxmYVJlZGhhdDpkU3QsZmFTcXVhcmVQaWVkUGlwZXI6YXBlLGZhUGllZFBpcGVyU3F1YXJlOnVTdCxmYVdoYXRzYXBwOnBTdCxmYUltZGI6ZlN0LGZhUHl0aG9uOmhTdCxmYUNhc2hBcHA6bVN0LGZhUGludGVyZXN0UDpnU3QsZmFXaG1jczpiU3QsZmFKb2dldDp2U3QsZmFTcXVhcmVZb3V0dWJlOnJwZSxmYVlvdXR1YmVTcXVhcmU6eFN0LGZhQXRsYXNzaWFuOnlTdCxmYVBpZWRQaXBlckhhdDp3U3QsZmFJbnRlcm5ldEV4cGxvcmVyOk1TdCxmYUFpcmJuYjprU3QsZmFKczpTU3QsZmFRdWluc2NhcGU6elN0LGZhQWR2ZXJzYWw6Q1N0LGZhQ3JlYXRpdmVDb21tb25zOl9TdCxmYU5vdGlvbjpUU3QsZmFDaHJvbWVjYXN0OkxTdCxmYVVsdHJhbHl0aWNzSHViOiRTdCxmYVdpa2lwZWRpYVc6RFN0LGZhU2l0cm94OkFTdCxmYVNxdWFyZUdpdGxhYjpzcGUsZmFHaXRsYWJTcXVhcmU6RVN0LGZhU2hvZWxhY2U6UFN0LGZhT3BlbnN0cmVldG1hcDpJU3QsZmFTZWxsY2FzdDpOU3QsZmFNaXg6UlN0LGZhQ2NBcHBsZVBheTpPU3QsZmFTb2xhbmE6RlN0LGZhVHlwZXNjcmlwdDpCU3QsZmFCcmF2ZTpIU3QsZmFFdHN5OnFTdCxmYUJ0YzpWU3QsZmFBZG46alN0LGZhU3F1YXJlWFR3aXR0ZXI6VVN0LGZhU3F1YXJlRm9udEF3ZXNvbWU6V1N0LGZhRm9ydW1iZWU6R1N0LGZhNDJHcm91cDppcGUsZmFJbm5vc29mdDpZU3QsZmFTdHVtYmxldXBvbkNpcmNsZTpLU3QsZmFTeW1mb255OlpTdCxmYVNhbGVzZm9yY2U6WFN0LGZhU291cmNldHJlZTpRU3QsZmFMaW5rZWRpbkluOkpTdCxmYUh0bWw1OmV6dCxmYVJ1c3Q6dHp0LGZhSG9ybmJpbGw6YXp0LGZhUGhwOnJ6dCxmYURpc3F1czpzenQsZmE1MDBweDppenQsZmFBZmZpbGlhdGV0aGVtZTpvenQsZmFSZWRSaXZlcjpuenQsZmFUd2l0dGVyOnllZSxmYUZvcnRBd2Vzb21lOmx6dCxmYU1peGVyOmN6dCxmYUx5ZnQ6ZHp0LGZhQXBwbGVQYXk6dXp0LGZhQXJ0c3RhdGlvbjpwenQsZmFOb2RlSnM6Znp0LGZhVW5jaGFydGVkOmh6dCxmYVBsYXlzdGF0aW9uOm16dCxmYU1pY3JvYmxvZzpnenQsZmFHaXRrcmFrZW46Ynp0LGZhVGVsZWdyYW06b3BlLGZhVGVsZWdyYW1QbGFuZTp2enQsZmFVbHRyYWx5dGljczp4enQsZmFJdHVuZXNOb3RlOnl6dCxmYUxlc3M6d3p0LGZhRmlyZWZveDpNenQsZmFLYWdnbGU6a3p0LGZhRmFjZWJvb2tNZXNzZW5nZXI6U3p0LGZhQXVkaWJsZTp6enQsZmFQYXRyZW9uOkN6dCxmYVZudjpfenQsZmFQYWdlbGluZXM6VHp0LGZhQW1hem9uOkx6dCxmYUVudmlyYTokenQsZmFMaW5vZGU6RHp0LGZhQWNjdXNvZnQ6QXp0LGZhRXJsYW5nOkV6dCxmYVVuaXNvbjpQenQsZmFDY0Rpc2NvdmVyOkl6dCxmYVNhZmFyaTpOenQsZmFTcGFjZUF3ZXNvbWU6Unp0LGZhTm9kZTpPenQsZmFDb2RlcGVuOkZ6dCxmYVJhdmVscnk6Qnp0LGZhQWxpcGF5Okh6dCxmYUNjQW1leDpxenQsZmFQaWVkUGlwZXJBbHQ6Vnp0LGZhTGV0dGVyYm94ZDpqenQsZmFPcGVyYTpVenQsZmFXZWlibzpXenQsZmFSZWFkbWU6R3p0LGZhR29sYW5nOll6dCxmYVN0YWNrRXhjaGFuZ2U6S3p0LGZhR3VscDpaenQsZmFZZWxwOlh6dCxmYUdvZm9yZTpRenQsZmFBdmlhdG86Snp0LGZhUGFkbGV0OmVDdCxmYUVkZ2VMZWdhY3k6dEN0LGZhU3F1YXJlTGFzdGZtOm5wZSxmYUxhc3RmbVNxdWFyZTphQ3QsZmFHb29kcmVhZHNHOnJDdCxmYUNjTWFzdGVyY2FyZDpzQ3QsZmFEaXNjb3Vyc2U6aUN0LGZhQmxhY2tUaWU6b0N0LGZhU3F1YXJlRmFjZWJvb2s6bHBlLGZhRmFjZWJvb2tTcXVhcmU6bkN0LGZhQmF0dGxlTmV0OmxDdCxmYUJpbW9iamVjdDpjQ3QsZmFTdmVsdGU6ZEN0LGZhU3F1YXJlRGVza3Bybzp1Q3QsZmFUYWlsd2luZENzczpwQ3R9fSk7dmFyIFMkYSxjcGUsaEN0LG1DdCxkcGUsZ0N0LE9iLGJDdCx2Q3QseEN0LHlDdCx1cGUsd0N0LE1DdCxrQ3QsRmIsU0N0LHBwZSx6Q3QsZnBlLENDdCxfQ3QsVEN0LExDdCxocGUsJEN0LG1wZSxEQ3QsZ3BlLEFDdCxicGUsRUN0LHZwZSxQQ3QseHBlLElDdCx5cGUsTkN0LFJDdCx3cGUsT0N0LE1wZSxGQ3Qsa3BlLEJDdCxTcGUsSEN0LHFDdCx6cGUsVkN0LENwZSxqQ3QsX3BlLFVDdCxUcGUsV0N0LExwZSxHQ3QsWUN0LEtDdCx3ZWUsWkN0LFhDdCxRQ3QsSkN0LGVfdCx0X3QsYV90LHJfdCxNZWUsc190LGlfdCwkcGUsb190LG5fdCxsX3QsY190LGRfdCx1X3QscF90LGZfdCxEcGUsaF90LG1fdCxnX3QsUTgsYl90LHZfdCxBcGUseF90LHlfdCxFcGUsd190LExlZSxNX3Qsa190LGtlZSxTX3Qsel90LFBwZSxDX3QsX190LFRfdCxJcGUsTF90LE5wZSwkX3QsU2VlLERfdCxBX3QsUnBlLEVfdCxPcGUsUF90LElfdCxOX3QsRnBlLFJfdCxCcGUsT190LEhwZSxGX3QscXBlLEJfdCxIX3QscV90LFZfdCxWcGUsal90LFVfdCxqcGUsV190LEdfdCxVcGUsWV90LEtfdCxXcGUsWl90LFhfdCxRX3QsTmIsSl90LGVUdCx0VHQsQmIsYVR0LHJUdCxzVHQsR3BlLGlUdCxvVHQsWXBlLG5UdCxLcGUsbFR0LFJiLGNUdCxkVHQsdVR0LFpwZSxwVHQsemVlLGZUdCxoVHQsbVR0LGdUdCxYcGUsYlR0LENlZSx2VHQseFR0LFFwZSx5VHQsSnBlLHdUdCxNVHQsZWZlLGtUdCx0ZmUsU1R0LF9lZSx6VHQsQ1R0LF9UdCxIYixUVHQsTFR0LCRUdCxEVHQsYWZlLEFUdCxyZmUsRVR0LHNmZSxQVHQsaWZlLElUdCxvZmUsTlR0LG5mZSxSVHQsVGVlLE9UdCxGVHQsQlR0LEhUdCxsZmUscVR0LGNmZSxWVHQsZGZlLGpUdCx1ZmUsVVR0LFdUdCxHVHQsWVR0LEtUdCxaVHQsWFR0LHBmZSxRVHQsZmZlLEpUdCxlTHQsaGZlLHRMdCxtZmUsYUx0LGdmZSxyTHQsJGVlLHNMdCxiZmUsaUx0LG9MdCx2ZmUsbkx0LHhmZSxsTHQsY0x0LGRMdCx5ZmUsdUx0LHBMdCx3ZmUsZkx0LGhMdCxtTHQsZ0x0LE1mZSxiTHQsa2ZlLHZMdCxTZmUseEx0LHlMdCx3THQsemZlLE1MdCxDZmUsa0x0LF9mZSxTTHQsekx0LFRmZSxDTHQsTGZlLF9MdCxUTHQsJGZlLExMdCwkTHQsREx0LHokYSxBTHQ9ZigoKT0+e1MkYT0iZmFyIixjcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3F1YXJlLW1pbnVzIixpY29uOls0NDgsNTEyLFs2MTc2NywibWludXMtc3F1YXJlIl0sImYxNDYiLCJNNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyMGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzIwYzAtOC44LTcuMi0xNi0xNi0xNkw2NCA4MHpNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTEzNiAyMzJsMTc2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE3NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxoQ3Q9Y3BlLG1DdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjYWxlbmRhci1jaGVjayIsaWNvbjpbNDQ4LDUxMixbXSwiZjI3NCIsIk0zMjggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQwIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwIDE2MCAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTY0IDExMmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjg4YzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yODhjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDExMnptMjMwLjcgNjUuOWM3LjgtMTAuNyAyMi44LTEzLjEgMzMuNS01LjMgMTAuNyA3LjggMTMuMSAyMi44IDUuMyAzMy41TDIxMS40IDM3NC4xYy00LjEgNS43LTEwLjUgOS4zLTE3LjUgOS44LTcgLjUtMTMuOS0yLTE4LjgtNi45bC01NS45LTU1LjljLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwzNiAzNiAxMDUuNi0xNDUuMnoiXX0sZHBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2Uta2lzcyIsaWNvbjpbNTEyLDUxMixbMTI4NTM1LCJraXNzIl0sImY1OTYiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0yNDAgMGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgMTIuMy00LjYgMjMuNS0xMi4yIDMyIDcuNiA4LjUgMTIuMiAxOS43IDEyLjIgMzIgMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0tOTYtNDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sZ0N0PWRwZSxPYj17cHJlZml4OiJmYXIiLGljb25OYW1lOiJwYXN0ZSIsaWNvbjpbNTEyLDUxMixbImZpbGUtY2xpcGJvYXJkIl0sImYwZWEiLCJNNjQgNDhsMjI0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDggNDggMCAwLTQ4YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDExMiAwIDAtNDgtMTEyIDBjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA2NGMwLTguOCA3LjItMTYgMTYtMTZ6bTE3NiA3MmMwLTEzLjMtMTAuNy0yNC0yNC0yNEwxMDQgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTA1LjYgMGM4LjgtOC42IDE5LTE1LjggMzAuMi0yMS4xIC4xLS45IC4yLTEuOSAuMi0yLjl6TTQ0OCA0NjRsLTE2MCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yMjRjMC04LjggNy4yLTE2IDE2LTE2bDEwMS41IDBjNC4yIDAgOC4zIDEuNyAxMS4zIDQuN2w1OC41IDU4LjVjMyAzIDQuNyA3LjEgNC43IDExLjNMNDY0IDQ0OGMwIDguOC03LjIgMTYtMTYgMTZ6TTIyNCAyMjRsMCAyMjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTYwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNjUuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM2wtNTguNS01OC41Yy0xMi0xMi0yOC4zLTE4LjctNDUuMy0xOC43TDI4OCAxNjBjLTM1LjMgMC02NCAyOC43LTY0IDY0eiJdfSxiQ3Q9T2IsdkN0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmQtcG9pbnQtbGVmdCIsaWNvbjpbNTEyLDUxMixbXSwiZjBhNSIsIk02NCAxMjhsMTc3LjYgMGMtMSA1LjItMS42IDEwLjUtMS42IDE2bDAgMTYtMTc2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTIyNCAxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNCAwYzY2LjMgMCAxMjAgNTMuNyAxMjAgMTIwbDAgNDhjMCA1Mi41LTMzLjcgOTcuMS04MC43IDExMy40IC41LTMuMSAuNy02LjIgLjctOS40IDAtMjAtOS4yLTM3LjktMjMuNi00OS43IDQuOS05IDcuNi0xOS40IDcuNi0zMC4zIDAtMTUuMS01LjMtMjktMTQtNDAgOC44LTExIDE0LTI0LjkgMTQtNDBsMC00MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODB6bTMyLTgwbDAgMGMtMTggMC0zNC42IDYtNDggMTZMNjQgODBDMjguNyA4MCAwIDEwOC43IDAgMTQ0czI4LjcgNjQgNjQgNjRsODIgMGMtMS4zIDUuMS0yIDEwLjUtMiAxNiAwIDI1LjMgMTQuNyA0Ny4yIDM2IDU3LjYtMi42IDctNCAxNC41LTQgMjIuNCAwIDIwIDkuMiAzNy45IDIzLjYgNDkuNy00LjkgOS03LjYgMTkuNC03LjYgMzAuMyAwIDM1LjMgMjguNyA2NCA2NCA2NGw4OCAwYzkyLjggMCAxNjgtNzUuMiAxNjgtMTY4bDAtNDhjMC05Mi44LTc1LjItMTY4LTE2OC0xNjhsLTI0IDB6TTI1NiA0MDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsNjQgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNjQgMHpNMjQwIDIyNGMwIDUuNSAuNyAxMC45IDIgMTZsLTM0IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMzIgMCAwIDE2em0yNCA2NGw0MCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC02NCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDI0IDB6Il19LHhDdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLWV4Y2VsIixpY29uOlszODQsNTEyLFtdLCJmMWMzIiwiTTY0IDQ4bDExMiAwIDAgODhjMCAzOS44IDMyLjIgNzIgNzIgNzJsODggMCAwIDI0MGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZMNDggNjRjMC04LjggNy4yLTE2IDE2LTE2ek0yMjQgNjcuOWw5Mi4xIDkyLjEtNjguMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTY4LjF6TTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjYxLjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjQyLjcgMTguN0MyMzAuNyA2LjcgMjE0LjUgMCAxOTcuNSAwTDY0IDB6bTk5LjIgMjY1LjZjLTgtMTAuNi0yMy0xMi44LTMzLjYtNC44cy0xMi44IDIzLTQuOCAzMy42TDE2MiAzNDQgMTI0LjggMzkzLjZjLTggMTAuNi01LjggMjUuNiA0LjggMzMuNnMyNS42IDUuOCAzMy42LTQuOEwxOTIgMzg0IDIyMC44IDQyMi40YzggMTAuNiAyMyAxMi44IDMzLjYgNC44czEyLjgtMjMgNC44LTMzLjZMMjIyIDM0NCAyNTkuMiAyOTQuNGM4LTEwLjYgNS44LTI1LjYtNC44LTMzLjZzLTI1LjYtNS44LTMzLjYgNC44TDE5MiAzMDQgMTYzLjIgMjY1LjZ6Il19LHlDdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJlbnZlbG9wZSIsaWNvbjpbNTEyLDUxMixbMTI4Mzg2LDk5OTMsNjE0NDNdLCJmMGUwIiwiTTYxLjQgNjRDMjcuNSA2NCAwIDkxLjUgMCAxMjUuNCAwIDEyNi4zIDAgMTI3LjEgLjEgMTI4TDAgMTI4IDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2LS4xIDBjMC0uOSAuMS0xLjcgLjEtMi42IDAtMzMuOS0yNy41LTYxLjQtNjEuNC02MS40TDYxLjQgNjR6TTQ2NCAxOTIuM0w0NjQgMzg0YzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0MDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE5MS43IDE1NC44IDExNy40YzMxLjQgMjMuOSA3NC45IDIzLjkgMTA2LjQgMEw0NjQgMTkyLjN6TTQ4IDEyNS40QzQ4IDExOCA1NCAxMTIgNjEuNCAxMTJsMzg5LjIgMGM3LjQgMCAxMy40IDYgMTMuNCAxMy40IDAgNC4yLTIgOC4yLTUuMyAxMC43TDI4MC4yIDI3MS41Yy0xNC4zIDEwLjgtMzQuMSAxMC44LTQ4LjQgMEw1My4zIDEzNi4xYy0zLjMtMi41LTUuMy02LjUtNS4zLTEwLjd6Il19LHVwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzcXVhcmUtY2FyZXQtZG93biIsaWNvbjpbNDQ4LDUxMixbImNhcmV0LXNxdWFyZS1kb3duIl0sImYxNTAiLCJNMzg0IDQzMmM4LjggMCAxNi03LjIgMTYtMTZsMC0zMjBjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMjBjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwem02NC0xNmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjB6TTIyNCAzNTJjLTYuNyAwLTEzLTIuOC0xNy42LTcuN2wtMTA0LTExMmMtNi41LTctOC4yLTE3LjItNC40LTI1LjlTMTEwLjUgMTkyIDEyMCAxOTJsMjA4IDBjOS41IDAgMTguMiA1LjcgMjIgMTQuNHMyLjEgMTguOS00LjQgMjUuOWwtMTA0IDExMmMtNC41IDQuOS0xMC45IDcuNy0xNy42IDcuN3oiXX0sd0N0PXVwZSxNQ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToidHJ1Y2siLGljb246WzU3Niw1MTIsWzEyODY2Niw5OTUxXSwiZjBkMSIsIk02NCA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjg4YzAgOC44IDcuMiAxNiAxNiAxNmwzLjMgMGMxMC40LTM2LjkgNDQuNC02NCA4NC43LTY0czc0LjIgMjcuMSA4NC43IDY0bDEwMi42IDBjNC45LTE3LjQgMTUuMS0zMi43IDI4LjctNDMuOUwzNjggOTZjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDgwem0zLjMgMzY4TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwyODggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyIDU1LjQgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN2w0MC42IDQwLjZjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0w1NzYgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0zLjMgMGMtMTAuNCAzNi45LTQ0LjQgNjQtODQuNyA2NHMtNzQuMi0yNy4xLTg0LjctNjRsLTEwMi42IDBjLTEwLjQgMzYuOS00NC40IDY0LTg0LjcgNjRzLTc0LjItMjcuMS04NC43LTY0ek00MTYgMjU2bDExMiAwIDAtMjMuNGMwLTQuMi0xLjctOC4zLTQuNy0xMS4zbC00MC42LTQwLjZjLTMtMy03LjEtNC43LTExLjMtNC43bC01NS40IDAgMCA4MHptMCA0OGwwIDMyLjRjMi42LS4yIDUuMy0uNCA4LS40IDQwLjMgMCA3NC4yIDI3LjEgODQuNyA2NGwzLjMgMGM4LjggMCAxNi03LjIgMTYtMTZsMC04MC0xMTIgMHpNMTUyIDQ2NGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6bTI3MiAwYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHoiXX0sa0N0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImJlbGwiLGljb246WzQ0OCw1MTIsWzEyODI3Niw2MTYwMl0sImYwZjMiLCJNMjI0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgOS43QzExOC42IDQ1LjMgNTYgMTE1LjQgNTYgMjAwbDAgMTQuNWMwIDM3LjctMTAgNzQuNy0yOSAxMDcuM0w1LjEgMzU5LjJDMS44IDM2NSAwIDM3MS41IDAgMzc4LjIgMCAzOTkuMSAxNi45IDQxNiAzNy44IDQxNmwzNzIuNCAwYzIwLjkgMCAzNy44LTE2LjkgMzcuOC0zNy44IDAtNi43LTEuOC0xMy4zLTUuMS0xOUw0MjEgMzIxLjdjLTE5LTMyLjYtMjktNjkuNi0yOS0xMDcuM2wwLTE0LjVjMC04NC42LTYyLjYtMTU0LjctMTQ0LTE2Ni4zbDAtOS43YzAtMTMuMy0xMC43LTI0LTI0LTI0ek0zOTIuNCAzNjhsLTMzNi45IDAgMTIuOS0yMi4xQzkxLjcgMzA2IDEwNCAyNjAuNiAxMDQgMjE0LjVsMC0xNC41YzAtNjYuMyA1My43LTEyMCAxMjAtMTIwczEyMCA1My43IDEyMCAxMjBsMCAxNC41YzAgNDYuMiAxMi4zIDkxLjUgMzUuNSAxMzEuNEwzOTIuNCAzNjh6TTE1Ni4xIDQ2NGM5LjkgMjggMzYuNiA0OCA2Ny45IDQ4czU4LTIwIDY3LjktNDhsLTEzNS44IDB6Il19LEZiPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6Im1lc3NhZ2UiLGljb246WzUxMiw1MTIsWyJjb21tZW50LWFsdCJdLCJmMjdhIiwiTTIwMy43IDUxMi45czAgMCAwIDBsLTM3LjggMjYuN2MtNy4zIDUuMi0xNi45IDUuOC0yNC45IDEuN1MxMjggNTI5IDEyOCA1MjBsMC03Mi0zMiAwYy01MyAwLTk2LTQzLTk2LTk2TDAgMTI4QzAgNzUgNDMgMzIgOTYgMzJsMzIwIDBjNTMgMCA5NiA0MyA5NiA5NmwwIDIyNGMwIDUzLTQzIDk2LTk2IDk2bC0xMjAuNCAwLTkxLjkgNjQuOXptNjQuMy0xMDQuMWM4LjEtNS43IDE3LjgtOC44IDI3LjctOC44TDQxNiA0MDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMjRjMC0yNi41LTIxLjUtNDgtNDgtNDhMOTYgODBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMjI0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDU2IDBjMTAuNCAwIDE5LjMgNi42IDIyLjYgMTUuOSAuOSAyLjUgMS40IDUuMiAxLjQgOC4xbDAgNDkuN2MzMi43LTIzLjEgNjMuMy00NC43IDkxLjktNjQuOXoiXX0sU0N0PUZiLHBwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWRpenp5IixpY29uOls1MTIsNTEyLFsiZGl6enkiXSwiZjU2NyIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6TTEzNC4xIDE1My45bDI1LjkgMjUuOSAyNS45LTI1LjljNy44LTcuOCAyMC41LTcuOCAyOC4zIDBzNy44IDIwLjUgMCAyOC4zbC0yNS45IDI1LjkgMjUuOSAyNS45YzcuOCA3LjggNy44IDIwLjUgMCAyOC4zcy0yMC41IDcuOC0yOC4zIDBsLTI1LjktMjUuOS0yNS45IDI1LjljLTcuOCA3LjgtMjAuNSA3LjgtMjguMyAwcy03LjgtMjAuNSAwLTI4LjNsMjUuOS0yNS45LTI1LjktMjUuOWMtNy44LTcuOC03LjgtMjAuNSAwLTI4LjNzMjAuNS03LjggMjguMyAwem0xOTIgMGwyNS45IDI1LjkgMjUuOS0yNS45YzcuOC03LjggMjAuNS03LjggMjguMyAwczcuOCAyMC41IDAgMjguM2wtMjUuOSAyNS45IDI1LjkgMjUuOWM3LjggNy44IDcuOCAyMC41IDAgMjguM3MtMjAuNSA3LjgtMjguMyAwbC0yNS45LTI1LjktMjUuOSAyNS45Yy03LjggNy44LTIwLjUgNy44LTI4LjMgMHMtNy44LTIwLjUgMC0yOC4zbDI1LjktMjUuOS0yNS45LTI1LjljLTcuOC03LjgtNy44LTIwLjUgMC0yOC4zczIwLjUtNy44IDI4LjMgMHpNMjU2IDI4OGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHoiXX0sekN0PXBwZSxmcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2FsZW5kYXItZGF5cyIsaWNvbjpbNDQ4LDUxMixbImNhbGVuZGFyLWFsdCJdLCJmMDczIiwiTTEyMCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDAgMTYwIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNMzg0IDQzMmM4LjggMCAxNi03LjIgMTYtMTZsMC02NC04OCAwIDAgODAgNzIgMHptMTYtMTI4bDAtODAtODggMCAwIDgwIDg4IDB6bS0xMzYgMGwwLTgwLTgwIDAgMCA4MCA4MCAwem0tMTI4IDBsMC04MC04OCAwIDAgODAgODggMHpNNDggMzUybDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2bDcyIDAgMC04MC04OCAwem0xMzYgMGwwIDgwIDgwIDAgMC04MC04MCAwek0xMjAgMTEybC01NiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCA0OCAzNTIgMCAwLTQ4YzAtOC44LTcuMi0xNi0xNi0xNmwtMjY0IDB6Il19LENDdD1mcGUsX0N0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmQtcG9pbnQtdXAiLGljb246WzM4NCw1MTIsWzk3NTddLCJmMGE2IiwiTTY0IDY0bDAgMTc3LjZjNS4yLTEgMTAuNS0xLjYgMTYtMS42bDE2IDAgMC0xNzZjMC04LjgtNy4yLTE2LTE2LTE2UzY0IDU1LjIgNjQgNjR6TTgwIDI4OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAyNGMwIDY2LjMgNTMuNyAxMjAgMTIwIDEyMGw0OCAwYzUyLjUgMCA5Ny4xLTMzLjcgMTEzLjQtODAuNy0zLjEgLjUtNi4yIC43LTkuNCAuNy0yMCAwLTM3LjktOS4yLTQ5LjctMjMuNi05IDQuOS0xOS40IDcuNi0zMC4zIDcuNi0xNS4xIDAtMjktNS4zLTQwLTE0LTExIDguOC0yNC45IDE0LTQwIDE0bC00MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDQwIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTgwIDB6TTAgMzIwbDAgMGMwLTE4IDYtMzQuNiAxNi00OEwxNiA2NEMxNiAyOC43IDQ0LjcgMCA4MCAwczY0IDI4LjcgNjQgNjRsMCA4MmM1LjEtMS4zIDEwLjUtMiAxNi0yIDI1LjMgMCA0Ny4yIDE0LjcgNTcuNiAzNiA3LTIuNiAxNC41LTQgMjIuNC00IDIwIDAgMzcuOSA5LjIgNDkuNyAyMy42IDktNC45IDE5LjQtNy42IDMwLjMtNy42IDM1LjMgMCA2NCAyOC43IDY0IDY0bDAgODhjMCA5Mi44LTc1LjIgMTY4LTE2OCAxNjhsLTQ4IDBDNzUuMiA1MTIgMCA0MzYuOCAwIDM0NGwwLTI0em0zMzYtNjRjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjR6TTE2MCAyNDBjNS41IDAgMTAuOSAuNyAxNiAybDAtMzRjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAzMiAxNiAwem02NCAyNGwwIDQwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC02NGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDI0eiJdfSxUQ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGFuZC1saXphcmQiLGljb246WzUxMiw1MTIsW10sImYyNTgiLCJNNzIgMTEyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE2OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0bC0xMDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNTIgMGM0LjUgMCA4LjkgMS4zIDEyLjcgMy42bDY0IDQwYzcgNC40IDExLjMgMTIuMSAxMS4zIDIwLjRsMCAyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTEwLjctNDYuOS0yOS4zLTE0NS4xIDBjLTM5LjggMC03Mi0zMi4yLTcyLTcyczMyLjItNzIgNzItNzJsMTA0IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZMNzIgMjA4Yy0zOS44IDAtNzItMzIuMi03Mi03MlMzMi4yIDY0IDcyIDY0bDIwOS42IDBjNDYuNyAwIDkwLjkgMjEuNSAxMTkuNyA1OC4zbDc4LjQgMTAwLjFjMjAuOSAyNi43IDMyLjMgNTkuNyAzMi4zIDkzLjdMNTEyIDQyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTEwNy45YzAtMjMuMi03LjgtNDUuOC0yMi4xLTY0LjFMMzYzLjUgMTUxLjljLTE5LjctMjUuMi00OS45LTM5LjktODEuOS0zOS45TDcyIDExMnoiXX0sTEN0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InNxdWFyZS1mdWxsIixpY29uOls1MTIsNTEyLFsxMjg5OTcsMTI4OTk4LDEyODk5OSwxMjllMywxMjkwMDEsMTI5MDAyLDEyOTAwMywxMTAzNSwxMTAzNl0sImY0NWMiLCJNNDQ4IDQ4YzguOCAwIDE2IDcuMiAxNiAxNmwwIDM4NGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZMNDggNjRjMC04LjggNy4yLTE2IDE2LTE2bDM4NCAwek02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAweiJdfSxocGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLXBhdXNlIixpY29uOls1MTIsNTEyLFs2MjA5MiwicGF1c2UtY2lyY2xlIl0sImYyOGIiLCJNMjU2IDQ4YTIwOCAyMDggMCAxIDEgMCA0MTYgMjA4IDIwOCAwIDEgMSAwLTQxNnptMCA0NjRhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMjQgMTg0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTQ0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNDR6bTExMiAwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTQ0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNDR6Il19LCRDdD1ocGUsbXBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhcmQtZHJpdmUiLGljb246WzQ0OCw1MTIsWzEyODQzNiwiaGRkIl0sImYwYTAiLCJNNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2MmM1LjEtMS4zIDEwLjUtMiAxNi0ybDMyMCAwYzUuNSAwIDEwLjkgLjcgMTYgMmwwLTE2MmMwLTguOC03LjItMTYtMTYtMTZMNjQgODB6TTQ4IDMyMGwwIDk2YzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC05NmMwLTguOC03LjItMTYtMTYtMTZMNjQgMzA0Yy04LjggMC0xNiA3LjItMTYgMTZ6TTAgMzIwTDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTk2em0yMTYgNDhhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTIwLTI0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHoiXX0sREN0PW1wZSxncGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmlsZS16aXBwZXIiLGljb246WzM4NCw1MTIsWyJmaWxlLWFyY2hpdmUiXSwiZjFjNiIsIk02NCA0OGwxMTIgMCAwIDg4YzAgMzkuOCAzMi4yIDcyIDcyIDcybDg4IDAgMCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNnpNMjI0IDY3LjlsOTIuMSA5Mi4xLTY4LjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC02OC4xek02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI2MS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI0Mi43IDE4LjdDMjMwLjcgNi43IDIxNC41IDAgMTk3LjUgMEw2NCAwek04MCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bTAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bTY0IDU2bC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4czQ4LTIxLjUgNDgtNDhsMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTE2IDY0YTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnoiXX0sQUN0PWdwZSxicGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmxvcHB5LWRpc2siLGljb246WzQ0OCw1MTIsWzEyODE5MCwxMjg0MjYsInNhdmUiXSwiZjBjNyIsIk02NCA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzIwYzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNDIuN2MwLTQuMi0xLjctOC4zLTQuNy0xMS4zTDMyMCA4Ni42IDMyMCAxNzZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk2LTMyIDB6bTgwIDBsMCA4MCAxMjggMCAwLTgwLTEyOCAwek0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDI0Mi43IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMNDI5LjMgMTI4YzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMNDQ4IDQxNmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTE2MCAzMjBhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAweiJdfSxFQ3Q9YnBlLHZwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4tdG9uZ3VlLXNxdWludCIsaWNvbjpbNTEyLDUxMixbMTI4NTQxLCJncmluLXRvbmd1ZS1zcXVpbnQiXSwiZjU4YSIsIk00NjQgMjU2YzAtMTE0LjktOTMuMS0yMDgtMjA4LTIwOFM0OCAxNDEuMSA0OCAyNTZjMCA3NS45IDQwLjcgMTQyLjQgMTAxLjUgMTc4LjctMy42LTEwLjktNS41LTIyLjYtNS41LTM0LjdsMC0zNy41Yy0xMC4yLTEyLjYtMTguMy0yNi45LTIzLjgtNDIuNC00LjEtMTEuNiA3LjgtMjEuNCAxOS42LTE3LjggMzQuNyAxMC42IDc0LjIgMTYuNSAxMTYuMSAxNi41IDQyIDAgODEuNS02IDExNi4zLTE2LjYgMTEuOC0zLjYgMjMuNyA2LjEgMTkuNiAxNy44LTUuNSAxNS42LTEzLjYgMjkuOS0yMy44IDQyLjVsMCAzNy41YzAgMTIuMS0xLjkgMjMuOC01LjUgMzQuNyA2MC44LTM2LjMgMTAxLjUtMTAyLjcgMTAxLjUtMTc4Ljd6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTEyNS44LTc1LjdjLTYuMi01LjItNy42LTE0LjMtMy4xLTIxLjFzMTMuMy05LjIgMjAuNi01LjVsNzkuNiA0MGM1LjQgMi43IDguOCA4LjIgOC44IDE0LjNzLTMuNCAxMS42LTguOCAxNC4zbC03OS42IDQwYy03LjMgMy42LTE2LjEgMS4zLTIwLjYtNS41cy0zLjEtMTUuOSAzLjEtMjEuMUwxNTkgMjA4IDEyNS44IDE4MC4zem0yNjMuNi0yMS4xYzQuNSA2LjggMy4xIDE1LjktMy4xIDIxLjFMMzUzIDIwOCAzODYuMiAyMzUuN2M2LjIgNS4yIDcuNiAxNC4zIDMuMSAyMS4xcy0xMy4zIDkuMi0yMC42IDUuNWwtNzkuNi00MGMtNS40LTIuNy04LjgtOC4yLTguOC0xNC4zczMuNC0xMS42IDguOC0xNC4zbDc5LjYtNDBjNy4zLTMuNiAxNi4xLTEuMyAyMC42IDUuNXpNMzIwIDQxNmwwLTM3LjRjMC0xNC43LTExLjktMjYuNi0yNi42LTI2LjZsLTIgMGMtMTEuMyAwLTIxLjEgNy45LTIzLjYgMTguOS0yLjggMTIuNi0yMC44IDEyLjYtMjMuNiAwLTIuNS0xMS4xLTEyLjMtMTguOS0yMy42LTE4LjlsLTIgMGMtMTQuNyAwLTI2LjYgMTEuOS0yNi42IDI2LjZsMCAzNy40YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6Il19LFBDdD12cGUseHBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNhbWVyYSIsaWNvbjpbNTEyLDUxMixbNjIyNTgsImNhbWVyYS1hbHQiXSwiZjAzMCIsIk0xOTMuMSAzMmMtMTguNyAwLTM2LjIgOS40LTQ2LjYgMjQuOUwxMjAuNSA5NiA2NCA5NkMyOC43IDk2IDAgMTI0LjcgMCAxNjBMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTU2LjUgMC0yNi0zOS4xQzM1NS4xIDQxLjQgMzM3LjYgMzIgMzE4LjkgMzJMMTkzLjEgMzJ6bS02LjcgNTEuNmMxLjUtMi4yIDQtMy42IDYuNy0zLjZsMTI1LjcgMGMyLjcgMCA1LjIgMS4zIDYuNyAzLjZsMzMuMiA0OS44YzQuNSA2LjcgMTEuOSAxMC43IDIwIDEwLjdsNjkuMyAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDI1NmMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDMyYy04LjggMC0xNi03LjItMTYtMTZsMC0yNTZjMC04LjggNy4yLTE2IDE2LTE2bDY5LjMgMGM4IDAgMTUuNS00IDIwLTEwLjdsMzMuMi00OS44ek0yNTYgMzg0YTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHpNMTkyIDI3MmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6Il19LElDdD14cGUseXBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1zdGFycyIsaWNvbjpbNTEyLDUxMixbMTI5MzIxLCJncmluLXN0YXJzIl0sImY1ODciLCJNMCAyNTZjMC0yOS42IDUtNTcuOSAxNC4yLTg0LjRsMTcuMyAxNi45LTQuNiAyN2MtNC4yIDI0LjQgNS42IDQ2LjIgMjIgNTkuOSA5LjggMTA1LjggOTguOCAxODguNyAyMDcuMSAxODguN3MxOTcuNC04Mi44IDIwNy4xLTE4OC42YzE2LjQtMTMuNyAyNi4xLTM1LjQgMjItNTkuOWwtNC42LTI3IDE3LjMtMTYuOWM5LjIgMjYuNCAxNC4yIDU0LjggMTQuMiA4NC40IDAgMTQxLjQtMTE0LjYgMjU2LTI1NiAyNTZTMCAzOTcuNCAwIDI1NnpNMjU2IDQ4Yy0xNS4yIDAtMzAgMS42LTQ0LjMgNC43TDIwMS40IDMxLjhDMTk3IDIzIDE5MS4xIDE1LjggMTg0LjIgMTAuMiAyMDcgMy42IDIzMS4xIDAgMjU2IDBzNDkgMy42IDcxLjggMTAuMkMzMjAuOSAxNS44IDMxNSAyMyAzMTAuNiAzMS44TDMwMC4zIDUyLjdDMjg2IDQ5LjYgMjcxLjIgNDggMjU2IDQ4ek0zNzIuMiAzMDIuM2MxMS44LTMuNiAyMy43IDYuMSAxOS42IDE3LjgtMTkuOCA1NS45LTczLjEgOTYtMTM1LjggOTYtNjIuNyAwLTExNi00MC0xMzUuOC05NS45LTQuMS0xMS42IDcuOC0yMS40IDE5LjYtMTcuOCAzNC43IDEwLjYgNzQuMiAxNi41IDExNi4xIDE2LjUgNDIgMCA4MS41LTYgMTE2LjMtMTYuNnpNMzUzLjcgNTMuMWM1LjktMTEuOSAyMi44LTExLjkgMjguNyAwbDIzLjMgNDcuMiA1MiA3LjZjMTMuMSAxLjkgMTguNCAxOCA4LjkgMjcuM2wtMzcuNyAzNi43IDguOSA1MS44YzIuMiAxMy4xLTExLjUgMjMtMjMuMiAxNi45TDM2OCAyMTYgMzIxLjUgMjQwLjVjLTExLjcgNi4yLTI1LjUtMy44LTIzLjItMTYuOWw4LjktNTEuOC0zNy43LTM2LjdjLTkuNS05LjMtNC4zLTI1LjQgOC45LTI3LjNsNTItNy42IDIzLjMtNDcuMnptLTE5NS4zIDBsMjMuMyA0Ny4yIDUyIDcuNmMxMy4xIDEuOSAxOC40IDE4IDguOSAyNy4zbC0zNy43IDM2LjcgOC45IDUxLjhjMi4yIDEzLjEtMTEuNSAyMy0yMy4yIDE2LjlMMTQ0IDIxNiA5Ny41IDI0MC41Yy0xMS43IDYuMi0yNS41LTMuOC0yMy4yLTE2LjlsOC45LTUxLjgtMzcuNy0zNi43Yy05LjUtOS4zLTQuMy0yNS40IDguOS0yNy4zbDUyLTcuNiAyMy4zLTQ3LjJjNS45LTExLjkgMjIuOC0xMS45IDI4LjcgMHoiXX0sTkN0PXlwZSxSQ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZXllIixpY29uOls1NzYsNTEyLFsxMjgwNjVdLCJmMDZlIiwiTTI4OCA4MEMyMjIuOCA4MCAxNjkuMiAxMDkuNiAxMjguMSAxNDcuNyA4OS42IDE4My41IDYzIDIyNiA0OS40IDI1NiA2MyAyODYgODkuNiAzMjguNSAxMjguMSAzNjQuMyAxNjkuMiA0MDIuNCAyMjIuOCA0MzIgMjg4IDQzMnMxMTguOC0yOS42IDE1OS45LTY3LjdDNDg2LjQgMzI4LjUgNTEzIDI4NiA1MjYuNiAyNTYgNTEzIDIyNiA0ODYuNCAxODMuNSA0NDcuOSAxNDcuNyA0MDYuOCAxMDkuNiAzNTMuMiA4MCAyODggODB6TTk1LjQgMTEyLjZDMTQyLjUgNjguOCAyMDcuMiAzMiAyODggMzJzMTQ1LjUgMzYuOCAxOTIuNiA4MC42YzQ2LjggNDMuNSA3OC4xIDk1LjQgOTMgMTMxLjEgMy4zIDcuOSAzLjMgMTYuNyAwIDI0LjYtMTQuOSAzNS43LTQ2LjIgODcuNy05MyAxMzEuMS00Ny4xIDQzLjctMTExLjggODAuNi0xOTIuNiA4MC42UzE0Mi41IDQ0My4yIDk1LjQgMzk5LjRjLTQ2LjgtNDMuNS03OC4xLTk1LjQtOTMtMTMxLjEtMy4zLTcuOS0zLjMtMTYuNyAwLTI0LjYgMTQuOS0zNS43IDQ2LjItODcuNyA5My0xMzEuMXpNMjg4IDMzNmM0NC4yIDAgODAtMzUuOCA4MC04MCAwLTI5LjYtMTYuMS01NS41LTQwLTY5LjMtMS40IDU5LjctNDkuNiAxMDcuOS0xMDkuMyAxMDkuMyAxMy44IDIzLjkgMzkuNyA0MCA2OS4zIDQwem0tNzkuNi04OC40YzIuNSAuMyA1IC40IDcuNiAuNCAzNS4zIDAgNjQtMjguNyA2NC02NCAwLTIuNi0uMi01LjEtLjQtNy42LTM3LjQgMy45LTY3LjIgMzMuNy03MS4xIDcxLjF6bTQ1LjYtMTE1YzEwLjgtMyAyMi4yLTQuNSAzMy45LTQuNSA4LjggMCAxNy41IC45IDI1LjggMi42IC4zIC4xIC41IC4xIC44IC4yIDU3LjkgMTIuMiAxMDEuNCA2My43IDEwMS40IDEyNS4yIDAgNzAuNy01Ny4zIDEyOC0xMjggMTI4LTYxLjYgMC0xMTMtNDMuNS0xMjUuMi0xMDEuNC0xLjgtOC42LTIuOC0xNy41LTIuOC0yNi42IDAtMTEgMS40LTIxLjggNC0zMiAuMi0uNyAuMy0xLjMgLjUtMS45IDExLjktNDMuNCA0Ni4xLTc3LjYgODkuNS04OS41eiJdfSx3cGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1zYWQtdGVhciIsaWNvbjpbNTEyLDUxMixbMTI4NTQ2LCJzYWQtdGVhciJdLCJmNWI0IiwiTTQ2NCAyNTZjMC0xMTQuOS05My4xLTIwOC0yMDgtMjA4UzQ4IDE0MS4xIDQ4IDI1NmMwIDQxLjggMTIuMyA4MC43IDMzLjYgMTEzLjMgOC4yIDQ0LjcgNDcuMyA3OC42IDk0LjMgNzguNyAyNC43IDEwLjMgNTEuNyAxNiA4MC4xIDE2IDExNC45IDAgMjA4LTkzLjEgMjA4LTIwOHpNMjg4IDM1MmMtNS41IDAtMTAuOSAuNi0xNiAxLjggMC0uNiAwLTEuMiAwLTEuOCAwLTE2LjItNC0zMS41LTExLjEtNDQuOSA4LjctMiAxNy44LTMuMSAyNy4xLTMuMSA0MC4yIDAgNzUuNyAxOS44IDk3LjUgNTAgNy43IDEwLjggNS4zIDI1LjgtNS41IDMzLjVzLTI1LjggNS4zLTMzLjUtNS41Yy0xMy4xLTE4LjItMzQuNC0zMC01OC41LTMwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0xNzYtODBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMTg1LjQgMjc2LjhjNi41IDcuOCAxMi42IDE2LjEgMTguMyAyNC42IDkgMTMuNCAyMC4zIDMwLjIgMjAuMyA0Ny40IDAgMjguMy0yMS41IDUxLjItNDggNTEuMnMtNDgtMjIuOS00OC01MS4yYzAtMTcuMiAxMS4yLTM0IDIwLjMtNDcuNCA1LjctOC41IDExLjktMTYuNyAxOC4zLTI0LjYgMi40LTIuOSA1LjctNC44IDkuNC00LjhzNyAxLjkgOS40IDQuOHoiXX0sT0N0PXdwZSxNcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic2hhcmUtZnJvbS1zcXVhcmUiLGljb246WzU3Niw1MTIsWzYxNTA5LCJzaGFyZS1zcXVhcmUiXSwiZjE0ZCIsIk00MjUuNSA3Yy02LjktNi45LTE3LjItOC45LTI2LjItNS4yUzM4NC41IDE0LjMgMzg0LjUgMjRsMCA1Ni00OCAwYy04OC40IDAtMTYwIDcxLjYtMTYwIDE2MCAwIDQ2LjcgMjAuNyA4MC40IDQzLjYgMTAzLjQgOC4xIDguMiAxNi41IDE0LjkgMjQuMyAyMC40IDkuMiA2LjUgMjEuNyA1LjcgMzAuMS0xLjlzMTAuMi0yMCA0LjUtMjkuOGMtMy42LTYuMy02LjUtMTQuOS02LjUtMjYuNyAwLTM2LjIgMjkuMy02NS41IDY1LjUtNjUuNWw0Ni41IDAgMCA1NmMwIDkuNyA1LjggMTguNSAxNC44IDIyLjJzMTkuMyAxLjcgMjYuMi01LjJsMTM2LTEzNmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOUw0MjUuNSA3em03IDk3bDAtMjIuMSA3OC4xIDc4LjEtNzguMSA3OC4xIDAtMjIuMWMwLTEzLjMtMTAuNy0yNC0yNC0yNEwzMzggMTkyYy01MC45IDAtOTMuOSAzMy41LTEwOC4zIDc5LjYtMy4zLTkuNC01LjItMTkuOC01LjItMzEuNiAwLTYxLjkgNTAuMS0xMTIgMTEyLTExMmw3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0em0tMzIwLThjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMjU2YzAgNDQuMiAzNS44IDgwIDgwIDgwbDI1NiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDAtMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyNGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDI0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTI0IDB6Il19LEZDdD1NcGUsa3BlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6Im5vdGUtc3RpY2t5IixpY29uOls0NDgsNTEyLFs2MjAyNiwic3RpY2t5LW5vdGUiXSwiZjI0OSIsIk0yNDAgNDMyTDY0IDQzMmMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDk2YzAtOC44IDcuMi0xNiAxNi0xNmwzMjAgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNzYtODggMGMtMzkuOCAwLTcyIDMyLjItNzIgNzJsMCA4OHpNMzgwLjEgMzIwTDI4OCA0MTIuMSAyODggMzQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDY4LjEgMHpNMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTk3LjUgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN0w0MjkuMyAzMzguN2MxMi0xMiAxOC43LTI4LjMgMTguNy00NS4zTDQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2eiJdfSxCQ3Q9a3BlLFNwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kLWJhY2stZmlzdCIsaWNvbjpbMzg0LDUxMixbImhhbmQtcm9jayJdLCJmMjU1IiwiTTk2IDQwMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDk2IDQwMHpNNzMuMiAzNTJsNjQuNiAwLTc5LjUtODguM0M1MS43IDI1Ni4zIDQ4IDI0Ni44IDQ4IDIzNi45TDQ4IDIwNGMwLTE2LjEgMTEuOS0yOS41IDI3LjQtMzEuNyAxMS44LTEuNyAyMC42LTExLjggMjAuNi0yMy44TDk2IDcyYzAtMTMuMyAxMC43LTI0IDI0LTI0IDcuMiAwIDEzLjYgMy4xIDE4IDguMSA0LjYgNS4yIDExLjEgOC4xIDE4IDguMXMxMy40LTMgMTgtOC4xYzQuNC01IDEwLjgtOC4xIDE4LTguMSA4LjUgMCAxNS45IDQuNCAyMC4yIDExLjEgNi45IDEwLjcgMjAuOSAxNC4yIDMyIDggMy41LTEuOSA3LjQtMy4xIDExLjgtMy4xIDEwLjYgMCAxOS43IDYuOSAyMi44IDE2LjYgMy44IDExLjcgMTUuOSAxOC43IDI4IDE2IDEuNy0uNCAzLjQtLjYgNS4yLS42IDEzLjMgMCAyNCAxMC43IDI0IDI0bDAgOTIuMmMwIDE0LjQtMy41IDI4LjUtMTAuMiA0MS4ybC01Mi4yIDk4LjYgNTQuMyAwIDQwLjMtNzYuMmMxMC40LTE5LjYgMTUuOC00MS41IDE1LjgtNjMuNmwwLTkyLjJjMC0zOC40LTMwLjEtNjkuOC02OC4xLTcxLjktMTIuOS0xOS4zLTM0LjktMzIuMS01OS45LTMyLjEtNS43IDAtMTEuMiAuNy0xNi41IDEuOS0xMi43LTExLjEtMjkuMy0xNy45LTQ3LjUtMTcuOS0xMy4xIDAtMjUuNCAzLjUtMzYgOS42LTEwLjYtNi4xLTIyLjktOS42LTM2LTkuNi0zOS44IDAtNzIgMzIuMi03MiA3MmwwIDU4LjdDMTkuNyAxNDMgMCAxNzEuMiAwIDIwNGwwIDMyLjljMCAyMS43IDggNDIuNyAyMi42IDU4LjlMNzMuMiAzNTJ6Il19LEhDdD1TcGUscUN0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNoZXNzLXF1ZWVuIixpY29uOls1MTIsNTEyLFs5ODE5XSwiZjQ0NSIsIk0zMjUuMyA5MC44YzkuMS00LjggMjAuNi0zLjMgMjguMiA0LjNsMzkuOCAzOS44IDMuNyAzLjNjOS4xIDcuMSAyMC45IDEwIDMyLjQgNy43bDQ2LjQtOS4zIDMuNS0uNGM4LS40IDE1LjggMy4yIDIwLjYgOS44IDUuNSA3LjYgNi4xIDE3LjYgMS42IDI1LjhsLTExMi42IDIwMi42IDUxLjUgNzAuOSAxLjggMi43YzQgNi42IDYuMiAxNC4yIDYuMiAyMiAwIDIzLjMtMTguOSA0Mi4xLTQyLjEgNDIuMWwtMjk5LjggMGMtMjEuOCAwLTM5LjgtMTYuNi00MS45LTM3LjhsLS4yLTQuMyAuMS0zLjNjLjYtNy43IDMuNC0xNS4xIDcuOS0yMS40bDUxLjUtNzAuOS0xMTIuNS0yMDIuNmMtNC41LTguMi0zLjktMTguMyAxLjYtMjUuOHMxNC45LTExLjIgMjQuMS05LjRsNDYuNCA5LjNjMTMuMSAyLjYgMjYuNy0xLjUgMzYuMS0xMC45TDE1OS41IDk1IDE2MyA5Mi4yYzguNi01LjggMjAuMS01LjYgMjguNSAxLjFsNDAgMzIgMi44IDIuMWMxNC40IDkuNiAzMy41IDguOSA0Ny4yLTIuMWw0MC0zMiAzLjgtMi41ek0xNjQuNyA0MDBsLTQ2LjYgNjQgMjc2LjcgMC00Ni42LTY0LTE4My42IDB6TTMxMS41IDE2Mi44Yy0zMC4xIDI0LjEtNzIuMSAyNS42LTEwMy44IDQuNWwtNi4yLTQuNS0yMy4zLTE4LjYtMjQuNiAyNC42Yy0xOS44IDE5LjgtNDcuNyAyOC45LTc1LjEgMjQuOGw4OC4xIDE1OC41IDE3OS44IDAgODgtMTU4LjVjLTI1LjcgMy44LTUxLjctMy45LTcxLjEtMjFsLTQtMy43LTI0LjYtMjQuNi0yMy4yIDE4LjZ6TTI1Ni41IDcyYTQwIDQwIDAgMSAxIDAtODAgNDAgNDAgMCAxIDEgMCA4MHoiXX0senBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi10ZWFycyIsaWNvbjpbNjQwLDUxMixbMTI4NTE0LCJncmluLXRlYXJzIl0sImY1ODgiLCJNNTA0LjEgMzUzQzUxMi45IDM2Ny4yIDUyNS4zIDM3OSA1MzkuOCAzODcuMiA0OTUuMSA0NjIgNDEzLjQgNTEyIDMyMCA1MTJTMTQ0LjkgNDYyIDEwMC4yIDM4Ny4yYzE0LjYtOC4yIDI2LjktMjAgMzUuOC0zNC4zIDM0LjkgNjYgMTA0LjIgMTExIDE4NC4xIDExMXMxNDkuMi00NSAxODQuMS0xMTF6bTE2LjQtMTUyLjVDNDk2LjIgMTEyLjYgNDE1LjcgNDggMzIwIDQ4UzE0My44IDExMi42IDExOS41IDIwMC41Yy0xMC42LTQuOC0yMi43LTYuOC0zNS40LTVsLTEzLjQgMS45Qzk3LjIgODQuMyAxOTguOCAwIDMyMCAwUzU0Mi44IDg0LjMgNTY5LjMgMTk3LjRsLTEzLjQtMS45Yy0xMi43LTEuOC0yNC44IC4yLTM1LjQgNXpNNDU1LjggMzIwYy0xOS44IDU1LjktNzMuMSA5Ni0xMzUuOCA5Ni02Mi43IDAtMTE2LTQwLTEzNS44LTk1LjktNC4xLTExLjYgNy44LTIxLjQgMTkuNi0xNy44IDM0LjcgMTAuNiA3NC4yIDE2LjUgMTE2LjEgMTYuNSA0MiAwIDgxLjUtNiAxMTYuMy0xNi42IDExLjgtMy42IDIzLjcgNi4xIDE5LjYgMTcuOHpNMjEyIDIwOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4cy0yOCAxMi41LTI4IDI4em0xODgtMjhjLTE1LjUgMC0yOCAxMi41LTI4IDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjh6TTY0MCAzMDAuNmMwIDI4LjQtMjMgNTEuNC01MS40IDUxLjQtMjUuNiAwLTQ3LjMtMTguOC01MC45LTQ0LjFMNTMxIDI2MS4xYy0xLjUtMTAuNiA3LjUtMTkuNiAxOC4xLTE4LjFsNDYuNyA2LjdjMjUuMyAzLjYgNDQuMSAyNS4zIDQ0LjEgNTAuOXptLTY0MCAwYzAtMjUuNiAxOC44LTQ3LjMgNDQuMS01MC45TDkwLjkgMjQzYzEwLjYtMS41IDE5LjYgNy41IDE4LjEgMTguMWwtNi43IDQ2LjdDOTguNyAzMzMuMiA3NyAzNTIgNTEuNCAzNTIgMjMgMzUyIDAgMzI5IDAgMzAwLjZ6Il19LFZDdD16cGUsQ3BlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InBlbi10by1zcXVhcmUiLGljb246WzUxMiw1MTIsWyJlZGl0Il0sImYwNDQiLCJNNDQxIDU4LjlMNDUzLjEgNzFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlMNDI0IDEzNC4xIDM3Ny45IDg4IDQwNyA1OC45YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwek0yMDkuOCAyNTYuMkwzNDQgMTIxLjkgMzkwLjEgMTY4IDI1NS44IDMwMi4yYy0yLjkgMi45LTYuNSA1LTEwLjQgNi4xbC01OC41IDE2LjcgMTYuNy01OC41YzEuMS0zLjkgMy4yLTcuNSA2LjEtMTAuNHpNMzczLjEgMjVMMTc1LjggMjIyLjJjLTguNyA4LjctMTUgMTkuNC0xOC4zIDMxLjFsLTI4LjYgMTAwYy0yLjQgOC40LS4xIDE3LjQgNi4xIDIzLjZzMTUuMiA4LjUgMjMuNiA2LjFsMTAwLTI4LjZjMTEuOC0zLjQgMjIuNS05LjcgMzEuMS0xOC4zTDQ4NyAxMzguOWMyOC4xLTI4LjEgMjguMS03My43IDAtMTAxLjhMNDc0LjkgMjVDNDQ2LjgtMy4xIDQwMS4yLTMuMSAzNzMuMSAyNXpNODggNjRDMzkuNCA2NCAwIDEwMy40IDAgMTUyTDAgNDI0YzAgNDguNiAzOS40IDg4IDg4IDg4bDI3MiAwYzQ4LjYgMCA4OC0zOS40IDg4LTg4bDAtMTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTEyYzAgMjIuMS0xNy45IDQwLTQwIDQwTDg4IDQ2NGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC0yNzJjMC0yMi4xIDE3LjktNDAgNDAtNDBsMTEyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMODggNjR6Il19LGpDdD1DcGUsX3BlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1iZWFtLXN3ZWF0IixpY29uOls1NzYsNTEyLFsxMjg1MTcsImdyaW4tYmVhbS1zd2VhdCJdLCJmNTgzIiwiTTUzMC4yIDE1LjljLTguOC0xMC43LTE4LjUtMjAuOS0yOS0zMC0zLTIuNi03LjQtMi42LTEwLjQgMC0xMC41IDkuMS0yMC4xIDE5LjMtMjkgMzAtMTQuNyAxNy44LTI5LjggNDAuMS0yOS44IDY0LjEgMCAzNi40IDI3LjYgNjQgNjQgNjRzNjQtMjcuNiA2NC02NGMwLTI0LTE1LjItNDYuMy0yOS44LTY0LjF6bS0xMzIgOC45QzM2NC44IDguOSAzMjcuNCAwIDI4OCAwIDE0Ni42IDAgMzIgMTE0LjYgMzIgMjU2UzE0Ni42IDUxMiAyODggNTEyIDU0NCAzOTcuNCA1NDQgMjU2YzAtMjQuNC0zLjQtNDgtOS44LTcwLjQtMTEuOSA0LjItMjQuNyA2LjQtMzguMiA2LjQtMy40IDAtNi44LS4xLTEwLjItLjQgNi42IDIwLjMgMTAuMiA0MS45IDEwLjIgNjQuNCAwIDExNC45LTkzLjEgMjA4LTIwOCAyMDhTODAgMzcwLjkgODAgMjU2IDE3My4xIDQ4IDI4OCA0OGMzNC44IDAgNjcuNSA4LjUgOTYuMyAyMy42IDEuNC0xNy40IDYuOS0zMy4xIDEzLjgtNDYuOHpNNDIzLjggMzIwYzQuMS0xMS42LTcuOC0yMS40LTE5LjYtMTcuOC0zNC44IDEwLjYtNzQuMyAxNi42LTExNi4zIDE2LjYtNDEuOSAwLTgxLjQtNi0xMTYuMS0xNi41LTExLjgtMy42LTIzLjcgNi4xLTE5LjYgMTcuOCAxOS44IDU1LjkgNzMuMSA5NS45IDEzNS44IDk1LjkgNjIuNyAwIDExNi00MC4xIDEzNS44LTk2ek0xODAgMjA4YzAtMTUuNSAxMi41LTI4IDI4LTI4czI4IDEyLjUgMjggMjhsMCA4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtOGMwLTM3LjYtMzAuNC02OC02OC02OHMtNjggMzAuNC02OCA2OGwwIDhjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC04em0xODgtMjhjMTUuNSAwIDI4IDEyLjUgMjggMjhsMCA4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtOGMwLTM3LjYtMzAuNC02OC02OC02OHMtNjggMzAuNC02OCA2OGwwIDhjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC04YzAtMTUuNSAxMi41LTI4IDI4LTI4eiJdfSxVQ3Q9X3BlLFRwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjbG9jayIsaWNvbjpbNTEyLDUxMixbMTI4MzM5LCJjbG9jay1mb3VyIl0sImYwMTciLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAxIC00MTYgMCAyMDggMjA4IDAgMSAxIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwIDI1NiAyNTYgMCAxIDAgLTUxMiAwek0yMzIgMTIwbDAgMTM2YzAgOCA0IDE1LjUgMTAuNyAyMGw5NiA2NGMxMSA3LjQgMjUuOSA0LjQgMzMuMy02LjdzNC40LTI1LjktNi43LTMzLjNMMjgwIDI0My4yIDI4MCAxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6Il19LFdDdD1UcGUsTHBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtbGF1Z2gtd2luayIsaWNvbjpbNTEyLDUxMixbImxhdWdoLXdpbmsiXSwiZjU5YyIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTExOC4zIDU4LjJjLTQuMi0xMy43IDcuMS0yNi4yIDIxLjQtMjYuMmwyMzIuNiAwYzE0LjMgMCAyNS42IDEyLjUgMjEuNCAyNi4yLTE4IDU4LjktNzIuOSAxMDEuOC0xMzcuNyAxMDEuOFMxMzYuMyAzNzMuMSAxMTguMyAzMTQuMnpNMTQ0IDE5MmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNjQgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBjMC0zMy4xIDI2LjktNjAgNjAtNjBsMTYgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MCAwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjAtOS0yMC0yMC0yMGwtMTYgMGMtMTEgMC0yMCA5LTIwIDIweiJdfSxHQ3Q9THBlLFlDdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJwYXBlci1wbGFuZSIsaWNvbjpbNTc2LDUxMixbNjE5MTNdLCJmMWQ4IiwiTTI5MC41IDI4Ny43TDQ5MS40IDg2LjkgMzU5IDQ1Ni4zIDI5MC41IDI4Ny43ek00NTcuNCA1M0wyNTYuNiAyNTMuOCA4OCAxODUuMyA0NTcuNCA1M3pNMzguMSAyMTYuOGwyMDUuOCA4My42IDgzLjYgMjA1LjhjNS4zIDEzLjEgMTguMSAyMS43IDMyLjMgMjEuNyAxNC43IDAgMjcuOC05LjIgMzIuOC0yMy4xTDU3MC42IDhjMy41LTkuOCAxLTIwLjYtNi4zLTI4cy0xOC4yLTkuOC0yOC02LjNMMzkuNCAxNTEuN2MtMTMuOSA1LTIzLjEgMTguMS0yMy4xIDMyLjggMCAxNC4yIDguNiAyNyAyMS43IDMyLjN6Il19LEtDdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoZWFydCIsaWNvbjpbNTEyLDUxMixbMTI4MTUzLDEyODE1NCwxMjgxNTUsMTI4MTU2LDEyODQyMCwxMjkyOTMsMTI5Mjk0LDEyOTUwNSw5ODI5LDEwMDg0LDYxNTc4XSwiZjAwNCIsIk0zNzguOSA4MGMtMjcuMyAwLTUzIDEzLjEtNjkgMzUuMmwtMzQuNCA0Ny42Yy00LjUgNi4yLTExLjcgOS45LTE5LjQgOS45cy0xNC45LTMuNy0xOS40LTkuOWwtMzQuNC00Ny42Yy0xNi0yMi4xLTQxLjctMzUuMi02OS0zNS4yLTQ3IDAtODUuMSAzOC4xLTg1LjEgODUuMSAwIDQ5LjkgMzIgOTguNCA2OC4xIDE0Mi4zIDQxLjEgNTAgOTEuNCA5NCAxMjUuOSAxMjAuMyAzLjIgMi40IDcuOSA0LjIgMTQgNC4yczEwLjgtMS44IDE0LTQuMmMzNC41LTI2LjMgODQuOC03MC40IDEyNS45LTEyMC4zIDM2LjItNDMuOSA2OC4xLTkyLjQgNjguMS0xNDIuMyAwLTQ3LTM4LjEtODUuMS04NS4xLTg1LjF6TTI3MSA4Ny4xYzI1LTM0LjYgNjUuMi01NS4xIDEwNy45LTU1LjEgNzMuNSAwIDEzMy4xIDU5LjYgMTMzLjEgMTMzLjEgMCA2OC42LTQyLjkgMTI4LjktNzkuMSAxNzIuOC00NC4xIDUzLjYtOTcuMyAxMDAuMS0xMzMuOCAxMjcuOS0xMi4zIDkuNC0yNy41IDE0LjEtNDMuMSAxNC4xcy0zMC44LTQuNy00My4xLTE0LjFDMTc2LjQgNDM4IDEyMy4yIDM5MS41IDc5LjEgMzM4IDQyLjkgMjk0LjEgMCAyMzMuNyAwIDE2NS4xIDAgOTEuNiA1OS42IDMyIDEzMy4xIDMyIDE3NS44IDMyIDIxNiA1Mi41IDI0MSA4Ny4xbDE1IDIwLjcgMTUtMjAuN3oiXX0sd2VlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZvbnQtYXdlc29tZSIsaWNvbjpbNTEyLDUxMixbNjI1MDEsNjI2OTQsImZvbnQtYXdlc29tZS1mbGFnIiwiZm9udC1hd2Vzb21lLWxvZ28tZnVsbCJdLCJmMmI0IiwiTTkxLjcgOTZDMTA2LjMgODYuOCAxMTYgNzAuNSAxMTYgNTIgMTE2IDIzLjMgOTIuNyAwIDY0IDBTMTIgMjMuMyAxMiA1MmMwIDE2LjcgNy44IDMxLjUgMjAgNDFsMCA0MTkgNDggMCAwLTY0IDM4OS42IDBjMTQuNiAwIDI2LjQtMTEuOCAyNi40LTI2LjQgMC0zLjctLjgtNy4zLTIuMy0xMC43TDQzMiAyNzIgNDkzLjcgMTMzLjFjMS41LTMuNCAyLjMtNyAyLjMtMTAuNyAwLTE0LjYtMTEuOC0yNi40LTI2LjQtMjYuNEw5MS43IDk2ek04MCA0MDBsMC0yNTYgMzU2LjQgMC00OC4yIDEwOC41Yy01LjUgMTIuNC01LjUgMjYuNiAwIDM5TDQzNi40IDQwMCA4MCA0MDB6Il19LFpDdD13ZWUsWEN0PXdlZSxRQ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2xvbmUiLGljb246WzUxMiw1MTIsW10sImYyNGQiLCJNMjg4IDQ2NEw2NCA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTIyNGMwLTguOCA3LjItMTYgMTYtMTZsNDggMCAwLTQ4LTQ4IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDIyNCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNDgtNDggMCAwIDQ4YzAgOC44LTcuMiAxNi0xNiAxNnpNMjI0IDMwNGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjI0YzAtOC44IDcuMi0xNiAxNi0xNmwyMjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyMjRjMCA4LjgtNy4yIDE2LTE2IDE2bC0yMjQgMHptLTY0LTE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDIyNCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjI0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDIyNCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDIyNHoiXX0sSkN0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZvbGRlci1vcGVuIixpY29uOls1NzYsNTEyLFsxMjgxOTQsMTI4NDQ5LDYxNzE3XSwiZjA3YyIsIk05Ny41IDQwMGw1MC0xNjAgMzc5LjQgMC01MCAxNjAtMzc5LjQgMHptMTkwLjcgNDhMNDc3IDQ0OGMyMSAwIDM5LjYtMTMuNiA0NS44LTMzLjdsNTAtMTYwYzkuNy0zMC45LTEzLjQtNjIuMy00NS44LTYyLjNsLTM3OS40IDBjLTIxIDAtMzkuNiAxMy42LTQ1LjggMzMuN0w4MC4yIDI5NC40IDgwLjIgOTZjMC04LjggNy4yLTE2IDE2LTE2bDEzOC43IDBjMy41IDAgNi44IDEuMSA5LjYgMy4yTDI4Mi45IDExMmMxMy44IDEwLjQgMzAuNyAxNiA0OCAxNmwxMTcuMyAwYzguOCAwIDE2IDcuMiAxNiAxNmw0OCAwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDMzMC45IDgwYy02LjkgMC0xMy43LTIuMi0xOS4yLTYuNEwyNzMuMyA0NC44QzI2Mi4yIDM2LjUgMjQ4LjggMzIgMjM0LjkgMzJMOTYuMiAzMmMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyODhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTkyIDB6Il19LGVfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJ3aW5kb3ctbWluaW1pemUiLGljb246WzUxMiw1MTIsWzEyODQ2OV0sImYyZDEiLCJNMCA0MjRjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgNDQ4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHoiXX0sdF90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InN0YXItaGFsZiIsaWNvbjpbNTc2LDUxMixbNjE3MzFdLCJmMDg5IiwiTTI4NS43LTE1LjhjMTAuOCAyLjYgMTguNCAxMi4yIDE4LjQgMjMuM2wwIDM4Ny4xYzAgOS01LjEgMTcuMy0xMy4xIDIxLjRMMTQzLjggNDkxYy04IDQuMS0xNy43IDMuMy0yNS0ycy0xMS0xNC4yLTkuNi0yMy4yTDEzNC40IDMwNS45IDIwIDE5MS40Yy02LjQtNi40LTguNi0xNS44LTUuOC0yNC40czEwLjEtMTQuOSAxOS4xLTE2LjNMMTkzLjEgMTI1LjMgMjU4LjgtMy4zYzUtOS45IDE2LjItMTUgMjctMTIuNHpNMjU2LjEgMTA3LjRMMjMwLjMgMTU4Yy0zLjUgNi44LTEwIDExLjYtMTcuNiAxMi44bC0xMjUuNSAyMCA4OS44IDg5LjljNS40IDUuNCA3LjkgMTMuMSA2LjcgMjAuN2wtMTkuOCAxMjUuNSA5Mi4yLTQ2LjkgMC0yNzIuNnoiXX0sYV90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImFsYXJtLWNsb2NrIixpY29uOls1MTIsNTEyLFs5MjAwXSwiZjM0ZSIsIk00MDIuNiA1MC4yYy01LjQgMS43LTExLjMgMS44LTE2LjItLjktNS44LTMuMi0xMS44LTYuMi0xNy44LTguOS0xMC40LTQuNy0xMy43LTE4LjMtNC4xLTI0LjYgMTUtOS45IDMzLTE1LjcgNTIuMy0xNS43IDUyLjYgMCA5NS4yIDQyLjYgOTUuMiA5NS4yIDAgMTMuMi0yLjcgMjUuOC03LjYgMzcuMy00LjUgMTAuNS0xOC40IDkuOC0yNC45IC40LTMuOC01LjUtNy44LTEwLjgtMTItMTYtMy41LTQuNC00LjUtMTAuMi0zLjgtMTUuOCAuMi0xLjkgLjQtMy45IC40LTUuOSAwLTI2LjEtMjEuMi00Ny4yLTQ3LjItNDcuMi00LjkgMC05LjcgLjgtMTQuMiAyLjJ6TTMyLjUgMTMyLjljLTYuNSA5LjQtMjAuNSAxMC4xLTI0LjktLjQtNC45LTExLjUtNy42LTI0LjEtNy42LTM3LjMgMC01Mi42IDQyLjYtOTUuMiA5NS4yLTk1LjIgMTkuMyAwIDM3LjMgNS44IDUyLjMgMTUuNyA5LjYgNi4zIDYuMyAxOS45LTQuMSAyNC42LTYuMSAyLjgtMTIgNS43LTE3LjggOC45LTQuOSAyLjctMTAuOSAyLjYtMTYuMiAuOS00LjUtMS40LTkuMi0yLjItMTQuMi0yLjItMjYuMSAwLTQ3LjIgMjEuMi00Ny4yIDQ3LjIgMCAyIC4xIDQgLjQgNS45IC43IDUuNi0uMyAxMS40LTMuOCAxNS44LTQuMiA1LjItOC4yIDEwLjUtMTIgMTZ6TTQzMiAyODhhMTc2IDE3NiAwIDEgMCAtMzUyIDAgMTc2IDE3NiAwIDEgMCAzNTIgMHpNMzk2LjUgNDYyLjVDMzU4LjEgNDkzLjQgMzA5LjIgNTEyIDI1NiA1MTJzLTEwMi4xLTE4LjYtMTQwLjUtNDkuNUw3MyA1MDVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNDIuNS00Mi41QzUwLjYgMzkwLjEgMzIgMzQxLjIgMzIgMjg4IDMyIDE2NC4zIDEzMi4zIDY0IDI1NiA2NFM0ODAgMTY0LjMgNDgwIDI4OGMwIDUzLjItMTguNiAxMDIuMS00OS41IDE0MC41TDQ3MyA0NzFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDIuNS00Mi41ek0yODAgMTg0bDAgOTQuMSA0MSA0MWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00OC00OGMtNC41LTQuNS03LTEwLjYtNy0xN2wwLTEwNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0eiJdfSxyX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibmV3c3BhcGVyIixpY29uOls1MTIsNTEyLFsxMjgyNDBdLCJmMWVhIiwiTTE2OCA4MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAzMDRjMCA4LjQtMS40IDE2LjUtNC4xIDI0TDQ0MCA0MzJjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0zMDRjMC0xMy4zLTEwLjctMjQtMjQtMjRMMTY4IDgwek03MiA0ODBjLTM5LjggMC03Mi0zMi4yLTcyLTcyTDAgMTEyQzAgOTguNyAxMC43IDg4IDI0IDg4czI0IDEwLjcgMjQgMjRsMCAyOTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMwNGMwLTM5LjggMzIuMi03MiA3Mi03MmwyNzIgMGMzOS44IDAgNzIgMzIuMiA3MiA3MmwwIDMwNGMwIDM5LjgtMzIuMiA3Mi03MiA3Mkw3MiA0ODB6TTE5MiAxNTJjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQ4em0xNTIgMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNMjE2IDI1NmwxNzYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTc2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTAgODBsMTc2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE3NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxNZWU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaG9zcGl0YWwiLGljb246WzU3Niw1MTIsWzEyNzk3Myw2MjU4OSwiaG9zcGl0YWwtYWx0IiwiaG9zcGl0YWwtd2lkZSJdLCJmMGY4IiwiTTE3NiAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDQ4LTQ4IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjcyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC00OCAwIDAtNDhjMC0zNS4zLTI4LjctNjQtNjQtNjRMMTc2IDB6TTE2MCA2NGMwLTguOCA3LjItMTYgMTYtMTZsMjI0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyNzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNzYgMCAwLTgwYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDgwLTE3NiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yNzJjMC04LjggNy4yLTE2IDE2LTE2bDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC03MnpNMTEyIDIyNGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek05NiAzMzZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMzIwIDBsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTYtMTEyYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTI2NCAxMDRsMCAzMi0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMCAwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyIDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwIDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZ6Il19LHNfdD1NZWUsaV90PU1lZSwkcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLXN0b3AiLGljb246WzUxMiw1MTIsWzYyMDk0LCJzdG9wLWNpcmNsZSJdLCJmMjhkIiwiTTI1NiA0OGEyMDggMjA4IDAgMSAxIDAgNDE2IDIwOCAyMDggMCAxIDEgMC00MTZ6bTAgNDY0YTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTYwIDE5MmwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTI4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem00OCAxMTJsMC05NiA5NiAwIDAgOTYtOTYgMHoiXX0sb190PSRwZSxuX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToib2JqZWN0LXVuZ3JvdXAiLGljb246WzY0MCw1MTIsW10sImYyNDgiLCJNNDguMiA2Ni44Yy0uMS0uOC0uMi0xLjctLjItMi41bDAtLjJjMC04LjggNy4yLTE2IDE2LTE2IC45IDAgMS45IC4xIDIuOCAuMiA3LjUgMS4zIDEzLjIgNy45IDEzLjIgMTUuOCAwIDguOC03LjIgMTYtMTYgMTYtNy45IDAtMTQuNS01LjctMTUuOC0xMy4yek0wIDY0YzAgMjYuOSAxNi41IDQ5LjkgNDAgNTkuM2wwIDEwNS4zYy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjMgMCAzNS4zIDI4LjcgNjQgNjQgNjQgMjYuOSAwIDQ5LjktMTYuNSA1OS4zLTQwbDIwMS4zIDBjOS41IDIzLjUgMzIuNSA0MCA1OS4zIDQwIDM1LjMgMCA2NC0yOC43IDY0LTY0IDAtMjYuOS0xNi41LTQ5LjktNDAtNTkuM2wwLTEwNS4zYzIzLjUtOS41IDQwLTMyLjUgNDAtNTkuMyAwLTM1LjMtMjguNy02NC02NC02NC0yNi45IDAtNDkuOSAxNi41LTU5LjMgNDBMMTIzLjMgNDBDMTEzLjkgMTYuNSA5MC45IDAgNjQgMCAyOC43IDAgMCAyOC43IDAgNjR6bTM2OCAwYTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6TTMyNC43IDg4YzYuNSAxNiAxOS4zIDI4LjkgMzUuMyAzNS4zbDAgMTA1LjNjLTE2IDYuNS0yOC45IDE5LjMtMzUuMyAzNS4zbC0yMDEuMyAwYy02LjUtMTYtMTkuMy0yOC45LTM1LjMtMzUuM2wwLTEwNS4zYzE2LTYuNSAyOC45LTE5LjMgMzUuMy0zNS4zbDIwMS4zIDB6TTM4NCAyNzJhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyek04MCAyODhjMCA3LjktNS43IDE0LjUtMTMuMiAxNS44LS44IC4xLTEuNyAuMi0yLjUgLjJsLS4yIDBjLTguOCAwLTE2LTcuMi0xNi0xNiAwLS45IC4xLTEuOSAuMi0yLjggMS4zLTcuNSA3LjktMTMuMiAxNS44LTEzLjIgOC44IDAgMTYgNy4yIDE2IDE2em00MzYuNy00MGM2LjUgMTYgMTkuMyAyOC45IDM1LjMgMzUuM2wwIDEwNS4zYy0xNiA2LjUtMjguOSAxOS4zLTM1LjMgMzUuM2wtMjAxLjMgMGMtNi41LTE2LTE5LjMtMjguOS0zNS4zLTM1LjNsMC0yMC43LTQ4IDAgMCAyMC43Yy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjMgMCAzNS4zIDI4LjcgNjQgNjQgNjQgMjYuOSAwIDQ5LjktMTYuNSA1OS4zLTQwbDIwMS4zIDBjOS41IDIzLjUgMzIuNSA0MCA1OS4zIDQwIDM1LjMgMCA2NC0yOC43IDY0LTY0IDAtMjYuOS0xNi41LTQ5LjktNDAtNTkuM2wwLTEwNS4zYzIzLjUtOS41IDQwLTMyLjUgNDAtNTkuMyAwLTM1LjMtMjguNy02NC02NC02NC0yNi45IDAtNDkuOSAxNi41LTU5LjMgNDBsLTUyLjcgMCAwIDkuNmMxMC43IDEwLjkgMTkuMSAyMy45IDI0LjYgMzguNGwyOCAwem01OS4zLThhMTYgMTYgMCAxIDEgMC0zMiAxNiAxNiAwIDEgMSAwIDMyek0yNzEuOCA0NTAuN2ExNiAxNiAwIDEgMSAtMzEuNS01LjUgMTYgMTYgMCAxIDEgMzEuNSA1LjV6bTMwMS41IDEzYy03LjUtMS4zLTEzLjItNy45LTEzLjItMTUuOCAwLTguOCA3LjItMTYgMTYtMTYgNy45IDAgMTQuNSA1LjcgMTUuOCAxMy4ybDAgLjFjLjEgLjkgLjIgMS44IC4yIDIuNyAwIDguOC03LjIgMTYtMTYgMTYtLjkgMC0xLjktLjEtMi44LS4yeiJdfSxsX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY29tbWVudCIsaWNvbjpbNTEyLDUxMixbMTI4NDg5LDYxNjY5XSwiZjA3NSIsIk01MS45IDM4NC45QzE5LjMgMzQ0LjYgMCAyOTQuNCAwIDI0MCAwIDEwNy41IDExNC42IDAgMjU2IDBTNTEyIDEwNy41IDUxMiAyNDAgMzk3LjQgNDgwIDI1NiA0ODBjLTM2LjUgMC03MS4yLTcuMi0xMDIuNi0yMEwzNyA1MDkuOWMtMy43IDEuNi03LjUgMi4xLTExLjUgMi4xLTE0LjEgMC0yNS41LTExLjQtMjUuNS0yNS41IDAtNC4zIDEuMS04LjUgMy4xLTEyLjJsNDguOC04OS40em0zNy4zLTMwLjJjMTIuMiAxNS4xIDE0LjEgMzYuMSA0LjggNTMuMmwtMTggMzMuMSA1OC41LTI1LjFjMTEuOC01LjEgMjUuMi01LjIgMzcuMS0uMyAyNS43IDEwLjUgNTQuMiAxNi40IDg0LjMgMTYuNCAxMTcuOCAwIDIwOC04OC44IDIwOC0xOTJTMzczLjggNDggMjU2IDQ4IDQ4IDEzNi44IDQ4IDI0MGMwIDQyLjggMTUuMSA4Mi40IDQxLjIgMTE0Ljd6Il19LGNfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaGVzcy1wYXduIixpY29uOlszODQsNTEyLFs5ODIzXSwiZjQ0MyIsIk0xOTItMzJjNjYuMyAwIDEyMCA1My43IDEyMCAxMjAgMCAyNy42LTkuMyA1Mi45LTI0LjkgNzMuMiA5LjggMyAxNi45IDEyLjEgMTYuOSAyMi44IDAgMTMuMy0xMC43IDI0LTI0IDI0bC0uNiAwIDI0LjYgMTYwIDUzLjYgNjdjNi43IDguNCAxMC40IDE4LjggMTAuNCAyOS42IDAgMjYuMi0yMS4yIDQ3LjQtNDcuNCA0Ny40TDYzLjQgNTEyYy0yNi4yIDAtNDcuNC0yMS4yLTQ3LjQtNDcuNCAwLTEwLjggMy43LTIxLjIgMTAuNC0yOS42bDUzLjYtNjcgMjQuNi0xNjAtLjYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjQgMC0xMC44IDcuMS0xOS44IDE2LjktMjIuOC0xNS42LTIwLjMtMjQuOS00NS42LTI0LjktNzMuMiAwLTY2LjMgNTMuNy0xMjAgMTIwLTEyMHpNMTE1LjkgNDAwbC01MS4yIDY0IDI1NC43IDAtNTEuMi02NC0xNTIuMiAwem0zNi4yLTE4NC43bC0yMSAxMzYuNyAxMjEuOSAwLTIxLTEzNi43LTEuMS03LjMtNzcuNiAwLTEuMSA3LjN6TTE5MiAxNmE3MiA3MiAwIDEgMCAwIDE0NCA3MiA3MiAwIDEgMCAwLTE0NHoiXX0sZF90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNhbGVuZGFyLXBsdXMiLGljb246WzQ0OCw1MTIsW10sImYyNzEiLCJNMTIwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0MCAxNjAgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MCAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjg4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzIgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0em0wIDExMmwtNTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjg4YzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yODhjMC04LjgtNy4yLTE2LTE2LTE2bC0yNjQgMHptMTA0IDY0YzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDggNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMCAwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDgtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw0OCAwIDAtNDhjMC0xMy4zIDEwLjctMjQgMjQtMjR6Il19LHVfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjbGlwYm9hcmQiLGljb246WzM4NCw1MTIsWzEyODIwM10sImYzMjgiLCJNMjMyIDk2bC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjR6bTAgNDhjMzcuMSAwIDY3LjYtMjggNzEuNi02NEwzMjAgODBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzUyYzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA5NmMwLTguOCA3LjItMTYgMTYtMTZsMTYuNCAwYzQgMzYgMzQuNSA2NCA3MS42IDY0bDgwIDB6TTI5MS45IDMyQzI3OSAxMi43IDI1NyAwIDIzMiAwTDE1MiAwYy0yNSAwLTQ3IDEyLjctNTkuOSAzMkw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzUyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC0yOC4xIDB6Il19LHBfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJ0aHVtYnMtZG93biIsaWNvbjpbNTEyLDUxMixbMTI4MDc4LDYxNTc2XSwiZjE2NSIsIk0zNjAgMzJsNy40IC40YzM1IDMuNiA2Mi41IDMyLjIgNjQuNCA2Ny43IDE3LjggMTEuOCAzMC4xIDMxLjQgMzIgNTMuOWwuMiA2YzAgNS43LS43IDExLjItMiAxNi41IDEwLjIgMTEuNSAxNi44IDI2LjMgMTcuOCA0Mi43bC4yIDQuOGMwIDEzLjItMy42IDI1LjQtOS44IDM2IDQuOSA4LjQgOC4yIDE3LjkgOS4zIDI4bC40IDhjMCAzNy4zLTI4LjMgNjcuOS02NC42IDcxLjZsLTcuNCAuNC0xMDkuNyAwIDE0LjEgMzAgMy4xIDcuNmMxMi41IDM1LjctMS44IDc1LjUtMzQuMiA5NWwtNy4yIDMuOWMtMzcuNSAxNy42LTgxLjcgMy42LTEwMi42LTMxLjJsLS42LS45LTIuNy01LS42LTEuMi0zMC4xLTY0Yy05LjQgMTcuOC0yOCAyOS45LTQ5LjUgMjkuOWwtMzIgMGMtMzAuOSAwLTU2LTI1LjEtNTYtNTZMMCAxNTJjMC0zMC45IDI1LjEtNTYgNTYtNTZsMzIgMGMxMi40IDAgMjMuOSA0LjEgMzMuMiAxMSAxMy4yLTIxLjQgMzItMzkuNCA1NS01MS42bDEyLjItNi41IC43LS4zIDYuNi0zLjIgLjctLjMgNy4xLTNjMTYuNy02LjYgMzQuNS05LjkgNTIuNi05LjlMMzYwIDMyek0yNTUuOSA4MGMtMTIgMC0yMy45IDIuMy0zNS4xIDYuNmwtNC43IDItNS4zIDIuNiAwIDAtMTIuMiA2LjVjLTI5LjIgMTUuNS00OC4zIDQ0LjktNTAuNyA3Ny42bC0uMiA4IDAgMTEyLjkgLjEgNC4xYy41IDguMiAyLjUgMTYuMiA2IDIzLjdsNTYuOCAxMjAuOSAyLjEgMy44YzguNCAxMy43IDI2IDE5LjEgNDAuOCAxMi4ybDIuOS0xLjZjMTMtNy44IDE4LjctMjMuNyAxMy43LTM4bC0xLjItMy0zMC4yLTY0LjJjLTMuNS03LjQtMi45LTE2LjEgMS41LTIzLjFzMTItMTEuMSAyMC4yLTExLjFsMTQ3LjUgMCAyLjQtLjFjMTEuMy0xLjEgMjAuMy0xMC4xIDIxLjQtMjEuNGwuMS0yLjVjMC03LjEtMy4xLTEzLjUtOC4yLTE4LTUuMi00LjYtOC4yLTExLjEtOC4yLTE4czMtMTMuNCA4LjItMThjNC40LTMuOSA3LjQtOS4zIDgtMTUuM2wuMi0yLjdjMC04LjQtNC40LTE1LjktMTEuMi0yMC4yLTEwLjctNi45LTE0LjItMjAuOS04LTMyIDEuNS0yLjYgMi41LTUuNiAyLjktOC42bC4yLTMuMmMwLTEwLjYtNi45LTE5LjYtMTYuNi0yMi44LTExLjctMy44LTE4LjctMTUuOS0xNi0yOCAuMi0uOSAuMy0xLjggLjQtMi42bC4yLTIuNmMwLTEyLjQtOS41LTIyLjYtMjEuNi0yMy44TDM2MCA4MCAyNTUuOSA4MHpNNTYgMTQ0Yy00LjQgMC04IDMuNi04IDhsMCAyMjRjMCA0LjQgMy42IDggOCA4bDMyIDBjNC40IDAgOC0zLjYgOC04bDAtMjI0YzAtNC40LTMuNi04LTgtOGwtMzIgMHoiXX0sZl90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImlkLWJhZGdlIixpY29uOlszODQsNTEyLFtdLCJmMmMxIiwiTTI1NiA0OGwwIDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2LTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDM4NGMwIDguOCA3LjIgMTYgMTYgMTZsMjU2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzg0YzAtOC44LTcuMi0xNi0xNi0xNmwtNjQgMHpNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0ek0xNjAgMzIwbDY0IDBjNDQuMiAwIDgwIDM1LjggODAgODAgMCA4LjgtNy4yIDE2LTE2IDE2TDk2IDQxNmMtOC44IDAtMTYtNy4yLTE2LTE2IDAtNDQuMiAzNS44LTgwIDgwLTgwem0tMjQtOTZhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAweiJdfSxEcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3F1YXJlLWNoZWNrIixpY29uOls0NDgsNTEyLFs5NzQ1LDk5ODksNjE1MTAsImNoZWNrLXNxdWFyZSJdLCJmMTRhIiwiTTM4NCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDB6TTY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMjBjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyMGMwLTguOC03LjItMTYtMTYtMTZMNjQgODB6bTIzMC43IDg5LjljNy44LTEwLjcgMjIuOC0xMy4xIDMzLjUtNS4zIDEwLjcgNy44IDEzLjEgMjIuOCA1LjMgMzMuNUwyMTEuNCAzNjYuMWMtNC4xIDUuNy0xMC41IDkuMy0xNy41IDkuOC03IC41LTEzLjktMi0xOC44LTYuOWwtNTUuOS01NS45Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMzYgMzYgMTA1LjYtMTQ1LjJ6Il19LGhfdD1EcGUsbV90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNoZXNzLWJpc2hvcCIsaWNvbjpbMzIwLDUxMixbOTgyMV0sImY0M2EiLCJNMjE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDAgODEuOCA5OC4xYzI0LjcgMjkuNiAzOC4yIDY3IDM4LjIgMTA1LjYgMCA0My43LTE3LjQgODUuNy00OC4zIDExNi42bC04LjYgOC42IDQ2LjUgNTguMmM2LjcgOC40IDEwLjQgMTguOCAxMC40IDI5LjYgMCAyNi4yLTIxLjIgNDcuNC00Ny40IDQ3LjRMNDcuNCA1MTJDMjEuMiA1MTIgMCA0OTAuOCAwIDQ2NC42IDAgNDUzLjkgMy43IDQ0My40IDEwLjQgNDM1bDQ2LjUtNTguMi04LjYtOC42QzE3LjQgMzM3LjQgMCAyOTUuNCAwIDI1MS43IDAgMjEzLjEgMTMuNSAxNzUuOCAzOC4yIDE0Ni4xTDEyMCA0OCAxMDQgNDhDOTAuNyA0OCA4MCAzNy4zIDgwIDI0UzkwLjcgMCAxMDQgMEwyMTYgMHpNOTQuNCA0MDYuOGwtNDUuNyA1Ny4yIDIyMi43IDAtNDUuNy01Ny4xLTUuNS02LjktMTIwLjMgMC01LjUgNi44ek0xNTYuOSA3OC43TDc1LjEgMTc2LjhjLTE1LjMgMTguNC0yNC42IDQxLTI2LjcgNjQuN0w0OCAyNTEuN2MwIDMxIDEyLjMgNjAuNyAzNC4yIDgyLjdsMTcuNyAxNy43IDEyMC4yIDBjNi4yLTYuMiAxMi4xLTEyLjEgMTcuOC0xNy43IDIxLjktMjEuOSAzNC4yLTUxLjYgMzQuMi04Mi42bC0uNC0xMC4yYy0xLjUtMTctNi43LTMzLjMtMTUuMi00OEwyMDkgMjQxYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDUxLjgtNTEuOC02My43LTc2LjUtMy4xLTMuOC0zLjEgMy44eiJdfSxnX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZW52ZWxvcGUtb3BlbiIsaWNvbjpbNTEyLDUxMixbNjIxMzVdLCJmMmI2IiwiTTUxMiA0MTZjMCAzNS4zLTI4LjUgNjQtNjMuOSA2NEw2NCA0ODBjLTM1LjQgMC02NC0yOC43LTY0LTY0TDAgMTY0Yy4xLTE1LjUgNy44LTMwIDIwLjUtMzguOEwyMDYtMi43YzMwLjEtMjAuNyA2OS44LTIwLjcgOTkuOSAwTDQ5MS41IDEyNS4yYzEyLjggOC44IDIwLjQgMjMuMyAyMC41IDM4LjhsMCAyNTJ6TTY0IDQzMmwzODQuMSAwYzguOCAwIDE1LjktNy4xIDE1LjktMTZsMC0xOTEuNy0xNTQuOCAxMTcuNGMtMzEuNCAyMy45LTc0LjkgMjMuOS0xMDYuNCAwTDQ4IDIyNC4zIDQ4IDQxNmMwIDguOSA3LjIgMTYgMTYgMTZ6TTQ2My42IDE2NC40TDI3OC43IDM2LjhjLTEzLjctOS40LTMxLjctOS40LTQ1LjQgMEw0OC40IDE2NC40IDIzMS44IDMwMy41YzE0LjMgMTAuOCAzNC4xIDEwLjggNDguNCAwTDQ2My42IDE2NC40eiJdfSxROD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaXJjbGUteG1hcmsiLGljb246WzUxMiw1MTIsWzYxNTMyLCJ0aW1lcy1jaXJjbGUiLCJ4bWFyay1jaXJjbGUiXSwiZjA1NyIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMSAwIDQxNiAyMDggMjA4IDAgMSAxIDAtNDE2em0wIDQ2NGEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2NyAxNjdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDU1IDU1LTU1IDU1Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNTUtNTUgNTUgNTVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC01NS01NSA1NS01NWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC01NSA1NS01NS01NWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDB6Il19LGJfdD1ROCx2X3Q9UTgsQXBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InNxdWFyZS1jYXJldC11cCIsaWNvbjpbNDQ4LDUxMixbImNhcmV0LXNxdWFyZS11cCJdLCJmMTUxIiwiTTY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMjBjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyMGMwLTguOC03LjItMTYtMTYtMTZMNjQgODB6TTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em0yMjQgNjRjNi43IDAgMTMgMi44IDE3LjYgNy43bDEwNCAxMTJjNi41IDcgOC4yIDE3LjIgNC40IDI1LjlTMzM3LjUgMzIwIDMyOCAzMjBsLTIwOCAwYy05LjUgMC0xOC4yLTUuNy0yMi0xNC40cy0yLjEtMTguOSA0LjQtMjUuOWwxMDQtMTEyYzQuNS00LjkgMTAuOS03LjcgMTcuNi03Ljd6Il19LHhfdD1BcGUseV90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZpbGUtaW1hZ2UiLGljb246WzM4NCw1MTIsWzEyODQ0M10sImYxYzUiLCJNMTc2IDQ4TDY0IDQ4Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzODRjMCA4LjggNy4yIDE2IDE2IDE2bDI1NiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0MC04OCAwYy0zOS44IDAtNzItMzIuMi03Mi03MmwwLTg4ek0zMTYuMSAxNjBMMjI0IDY3LjkgMjI0IDEzNmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw2OC4xIDB6TTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDE5Ny41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTQxLjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHpNMjU5LjQgNDMybC0xMzQuOCAwYy0xNS44IDAtMjguNi0xMi44LTI4LjYtMjguNiAwLTYuNCAyLjEtMTIuNSA2LTE3LjZsNjcuNi04Ni45QzE3NSAyOTIgMTgzLjMgMjg4IDE5MiAyODhzMTcgNCAyMi40IDEwLjlMMjgyIDM4NS45YzMuOSA1IDYgMTEuMiA2IDE3LjYgMCAxNS44LTEyLjggMjguNi0yOC42IDI4LjZ6TTExMiAyMjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxFcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3F1YXJlLWNhcmV0LXJpZ2h0IixpY29uOls0NDgsNTEyLFsiY2FyZXQtc3F1YXJlLXJpZ2h0Il0sImYxNTIiLCJNNDAwIDk2YzAtOC44LTcuMi0xNi0xNi0xNkw2NCA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzIwYzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMjB6TTM4NCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDB6TTMyMCAyNTZjMCA2LjctMi44IDEzLTcuNyAxNy42bC0xMTIgMTA0Yy03IDYuNS0xNy4yIDguMi0yNS45IDQuNFMxNjAgMzY5LjUgMTYwIDM2MGwwLTIwOGMwLTkuNSA1LjctMTguMiAxNC40LTIyczE4LjktMi4xIDI1LjkgNC40bDExMiAxMDRjNC45IDQuNSA3LjcgMTAuOSA3LjcgMTcuNnoiXX0sd190PUVwZSxMZWU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3VuIixpY29uOls1NzYsNTEyLFs5NzI4XSwiZjE4NSIsIk0yODgtMzJjOCAwIDE1LjQgNCAxOS45IDEwLjZsNTguOCA4Ny40IDEwMy40LTIwLjJjNy44LTEuNSAxNS45IC45IDIxLjYgNi42czguMSAxMy44IDYuNiAyMS42TDQ3OCAxNzcuMyA1NjUuNCAyMzYuMUM1NzIgMjQwLjUgNTc2IDI0OCA1NzYgMjU2cy00IDE1LjQtMTAuNiAxOS45TDQ3OCAzMzQuNyA0OTguMiA0MzhjMS41IDcuOC0uOSAxNS45LTYuNiAyMS42cy0xMy44IDguMS0yMS42IDYuNkwzNjYuNyA0NDYgMzA3LjkgNTMzLjRDMzAzLjQgNTQwIDI5NiA1NDQgMjg4IDU0NHMtMTUuNC00LTE5LjktMTAuNkwyMDkuMyA0NDYgMTA1LjkgNDY2LjJjLTcuOCAxLjUtMTUuOS0uOS0yMS42LTYuNnMtOC4xLTEzLjgtNi42LTIxLjZMOTggMzM0LjcgMTAuNiAyNzUuOUM0IDI3MS40IDAgMjY0IDAgMjU2czQtMTUuNCAxMC42LTE5LjlMOTggMTc3LjMgNzcuOCA3My45Yy0xLjUtNy44IC45LTE1LjkgNi42LTIxLjZzMTMuOC04LjEgMjEuNi02LjZsMTAzLjMgMjAuMiA1OC44LTg3LjQgMS44LTIuM0MyNzQuNC0yOSAyODEtMzIgMjg4LTMyem0tNDcuOCAxMzhjLTUuNCA4LTE1IDEyLTI0LjUgMTAuMmwtODQtMTYuNCAxNi40IDg0YzEuOCA5LjUtMi4yIDE5LjEtMTAuMiAyNC41TDY3IDI1NiAxMzggMzAzLjhjOCA1LjQgMTIgMTUgMTAuMiAyNC41bC0xNi40IDg0IDg0LTE2LjQgMy41LS40YzguMy0uNCAxNi4zIDMuNiAyMSAxMC42bDQ3LjggNzEgNDcuOC03MSAyLjItMi44YzUuNi02LjEgMTQtOSAyMi4zLTcuM2w4NCAxNi40LTE2LjQtODRjLTEuOC05LjUgMi4yLTE5LjEgMTAuMi0yNC41bDcxLTQ3LjgtNzEtNDcuOGMtOC01LjQtMTItMTUtMTAuMi0yNC41bDE2LjQtODQtODQgMTYuNGMtOS41IDEuOC0xOS4xLTIuMi0yNC41LTEwLjJsLTQ3LjgtNzEtNDcuOCA3MXpNMjg4IDM3NmExMjAgMTIwIDAgMSAxIDAtMjQwIDEyMCAxMjAgMCAxIDEgMCAyNDB6bTAtMTkyYTcyIDcyIDAgMSAwIDAgMTQ0IDcyIDcyIDAgMSAwIDAtMTQ0eiJdfSxNX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaW1hZ2UiLGljb246WzQ0OCw1MTIsW10sImYwM2UiLCJNNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyMGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzIwYzAtOC44LTcuMi0xNi0xNi0xNkw2NCA4MHpNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTEyOCAzMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEzNiA3MmM4LjUgMCAxNi40IDQuNSAyMC43IDExLjhsODAgMTM2YzQuNCA3LjQgNC40IDE2LjYgLjEgMjQuMVMzNTIuNiAzODQgMzQ0IDM4NGwtMjQwIDBjLTguOSAwLTE3LjItNS0yMS4zLTEyLjlzLTMuNS0xNy41IDEuNi0yNC44bDU2LTgwYzQuNS02LjQgMTEuOC0xMC4yIDE5LjctMTAuMnMxNS4yIDMuOCAxOS43IDEwLjJsMTcuMiAyNC42IDQ2LjUtNzljNC4zLTcuMyAxMi4yLTExLjggMjAuNy0xMS44eiJdfSxrX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibGlnaHRidWxiIixpY29uOlszODQsNTEyLFsxMjgxNjFdLCJmMGViIiwiTTI5Ni41IDI5MS4xQzMyMSAyNjUuMiAzMzYgMjMwLjQgMzM2IDE5MiAzMzYgMTEyLjUgMjcxLjUgNDggMTkyIDQ4UzQ4IDExMi41IDQ4IDE5MmMwIDM4LjQgMTUgNzMuMiAzOS41IDk5LjEgMjEuMyAyMi40IDQ0LjkgNTQgNTMuMyA5Mi45bDEwMi40IDBjOC40LTM5IDMyLTcwLjUgNTMuMy05Mi45em0zNC44IDMzQzMwNy43IDM0OSAyODggMzc5LjQgMjg4IDQxMy43bDAgMTguM2MwIDQ0LjItMzUuOCA4MC04MCA4MGwtMzIgMGMtNDQuMiAwLTgwLTM1LjgtODAtODBsMC0xOC4zQzk2IDM3OS40IDc2LjMgMzQ5IDUyLjcgMzI0LjEgMjAgMjg5LjcgMCAyNDMuMiAwIDE5MiAwIDg2IDg2IDAgMTkyIDBTMzg0IDg2IDM4NCAxOTJjMCA1MS4yLTIwIDk3LjctNTIuNyAxMzIuMXpNMTQ0IDE4NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTQ4LjYgMzkuNC04OCA4OC04OCAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMjIuMSAwLTQwIDE3LjktNDAgNDB6Il19LGtlZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJhZGRyZXNzLWNhcmQiLGljb246WzU3Niw1MTIsWzYyMTQwLCJjb250YWN0LWNhcmQiLCJ2Y2FyZCJdLCJmMmJiIiwiTTUxMiA4MGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMjBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQzMmMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDk2YzAtOC44IDcuMi0xNiAxNi0xNmw0NDggMHpNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjA4IDI0OGE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnptLTMyIDQwYy00NC4yIDAtODAgMzUuOC04MCA4MCAwIDguOCA3LjIgMTYgMTYgMTZsMTkyIDBjOC44IDAgMTYtNy4yIDE2LTE2IDAtNDQuMi0zNS44LTgwLTgwLTgwbC02NCAwek0zNzYgMTQ0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTgwIDB6bTAgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAgMHoiXX0sU190PWtlZSx6X3Q9a2VlLFBwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLW1laCIsaWNvbjpbNTEyLDUxMixbMTI4NTI4LCJtZWgiXSwiZjExYSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDEgLTQxNiAwIDIwOCAyMDggMCAxIDEgNDE2IDB6TTI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTIgMjU2IDI1NiAwIDEgMCAwLTUxMnpNMTc2IDI0MGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTE5Mi0zMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0xODQgMzIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHoiXX0sQ190PVBwZSxfX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibWFwIixpY29uOls1MTIsNTEyLFsxMjg1MDYsNjIwNzJdLCJmMjc5IiwiTTUxMiA0OGMwLTguMy00LjMtMTYtMTEuMy0yMC40cy0xNS45LTQuOC0yMy4zLTEuMUwzNTIuNSA4OC4xIDE4MCAyOS40Yy0xMy43LTQuNy0yOC43LTMuOC00MS45IDIuM0wxMy44IDkwLjNDNS40IDk0LjIgMCAxMDIuNyAwIDExMkwwIDQ2NGMwIDguMiA0LjIgMTUuOSAxMS4xIDIwLjNzMTUuNiA0LjkgMjMuMSAxLjRsMTI3LjMtNTkuOSAxNzAuNyA1Ni45YzEzLjcgNC42IDI4LjUgMy43IDQxLjYtMi41bDEyNC40LTU4LjVjOC40LTQgMTMuOC0xMi40IDEzLjgtMjEuN2wwLTM1MnpNMTQ0IDgyLjFsMCAyOTktOTYgNDUuMiAwLTI5OSA5Ni00NS4yem00OCAzMDMuM2wwLTMwMS4xIDEyOCA0My41IDAgMzAwLjMtMTI4LTQyLjd6TTM2OCAxMzRsOTYtNDcuNCAwIDI5OC4yLTk2IDQ1LjIgMC0yOTZ6Il19LFRfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kLXBvaW50LWRvd24iLGljb246WzM4NCw1MTIsW10sImYwYTciLCJNNjQgNDQ4bDAtMTc3LjZjNS4yIDEgMTAuNSAxLjYgMTYgMS42bDE2IDAgMCAxNzZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZ6TTgwIDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yNGMwLTY2LjMgNTMuNy0xMjAgMTIwLTEyMGw0OCAwYzUyLjUgMCA5Ny4xIDMzLjcgMTEzLjQgODAuNy0zLjEtLjUtNi4yLS43LTkuNC0uNy0yMCAwLTM3LjkgOS4yLTQ5LjcgMjMuNi05LTQuOS0xOS40LTcuNi0zMC4zLTcuNi0xNS4xIDAtMjkgNS4zLTQwIDE0LTExLTguOC0yNC45LTE0LTQwLTE0bC00MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQwIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTgwIDB6TTAgMTkybDAgMGMwIDE4IDYgMzQuNiAxNiA0OGwwIDIwOGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0bDAtODJjNS4xIDEuMyAxMC41IDIgMTYgMiAyNS4zIDAgNDcuMi0xNC43IDU3LjYtMzYgNyAyLjYgMTQuNSA0IDIyLjQgNCAyMCAwIDM3LjktOS4yIDQ5LjctMjMuNiA5IDQuOSAxOS40IDcuNiAzMC4zIDcuNiAzNS4zIDAgNjQtMjguNyA2NC02NGwwLTg4QzM4NCA3NS4yIDMwOC44IDAgMjE2IDBMMTY4IDBDNzUuMiAwIDAgNzUuMiAwIDE2OGwwIDI0em0zMzYgNjRjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNjR6TTE2MCAyNzJjNS41IDAgMTAuOS0uNyAxNi0ybDAgMzRjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0zMiAxNiAwem02NC0yNGwwLTQwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA2NGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTI0eiJdfSxJcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1tZWgtYmxhbmsiLGljb246WzUxMiw1MTIsWzEyODU2NiwibWVoLWJsYW5rIl0sImY1YTQiLCJNMjU2IDQ4YTIwOCAyMDggMCAxIDAgMCA0MTYgMjA4IDIwOCAwIDEgMCAwLTQxNnpNNTEyIDI1NmEyNTYgMjU2IDAgMSAxIC01MTIgMCAyNTYgMjU2IDAgMSAxIDUxMiAwek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LExfdD1JcGUsTnBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi10b25ndWUiLGljb246WzUxMiw1MTIsWzEyODUzOSwiZ3Jpbi10b25ndWUiXSwiZjU4OSIsIk00NjQgMjU2YzAtMTE0LjktOTMuMS0yMDgtMjA4LTIwOFM0OCAxNDEuMSA0OCAyNTZjMCA3NC4xIDM4LjggMTM5LjIgOTcuMSAxNzYtLjctNS4yLTEuMS0xMC42LTEuMS0xNmwwLTUzLjVjLTEwLjItMTIuNi0xOC4zLTI2LjktMjMuOC00Mi40LTQuMS0xMS42IDcuOC0yMS40IDE5LjYtMTcuOCAzNC43IDEwLjYgNzQuMiAxNi41IDExNi4xIDE2LjUgNDIgMCA4MS41LTYgMTE2LjMtMTYuNiAxMS44LTMuNiAyMy43IDYuMSAxOS42IDE3LjgtNS41IDE1LjYtMTMuNiAyOS45LTIzLjggNDIuNWwwIDUzLjVjMCA1LjQtLjQgMTAuOC0xLjEgMTYgNTguNC0zNi44IDk3LjEtMTAxLjkgOTcuMS0xNzZ6bTQ4IDBjMCAxMTYuMy03Ny42IDIxNC42LTE4My45IDI0NS43LTE5LjUgMTYuNC00NC42IDI2LjMtNzIuMSAyNi4zcy01Mi42LTkuOS03Mi4xLTI2LjNDNzcuNiA0NzAuNiAwIDM3Mi4zIDAgMjU2IDAgMTE0LjYgMTE0LjYgMCAyNTYgMFM1MTIgMTE0LjYgNTEyIDI1NnpNMTc2IDE3NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEyOCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNiAyMDhsMC0zNy40YzAtMTQuNy0xMS45LTI2LjYtMjYuNi0yNi42bC0yIDBjLTExLjMgMC0yMS4xIDcuOS0yMy42IDE4LjktMi44IDEyLjYtMjAuOCAxMi42LTIzLjYgMC0yLjUtMTEuMS0xMi4zLTE4LjktMjMuNi0xOC45bC0yIDBjLTE0LjcgMC0yNi42IDExLjktMjYuNiAyNi42bDAgMzcuNGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0eiJdfSwkX3Q9TnBlLFNlZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmdXRib2wiLGljb246WzUxMiw1MTIsWzk5MTcsImZ1dGJvbC1iYWxsIiwic29jY2VyLWJhbGwiXSwiZjFlMyIsIk0zODcgMjI4LjNjLTQuNC0yLjgtNy42LTctOS4yLTExLjlzLTEuNC0xMC4yIC41LTE1TDQxMS42IDExOGMtMTkuOS0yMi40LTQ0LjYtNDAuNS03Mi40LTUyLjdsLTY5LjEgNTcuNmMtNCAzLjMtOSA1LjEtMTQuMSA1LjFzLTEwLjItMS44LTE0LjEtNS4xTDE3Mi44IDY1LjNjLTI3LjggMTIuMi01Mi41IDMwLjMtNzIuNCA1Mi43bDMzLjQgODMuNGMxLjkgNC44IDIuMSAxMC4xIC41IDE1cy00LjkgOS4xLTkuMiAxMS45TDQ5IDI3Ni4yYzMgMzAuOSAxMi43IDU5LjcgMjcuNiA4NS4ybDg5LjctNmM1LjItLjMgMTAuMyAxLjEgMTQuNSA0LjJzNy4yIDcuNCA4LjQgMTIuNWwyMiA4Ny4yYzE0LjQgMy4yIDI5LjQgNC44IDQ0LjggNC44czMwLjMtMS43IDQ0LjgtNC44bDIyLTg3LjJjMS4zLTUgNC4yLTkuNCA4LjQtMTIuNXM5LjMtNC41IDE0LjUtNC4ybDg5LjcgNmMxNS0yNS40IDI0LjctNTQuMyAyNy42LTg1LjFMMzg3IDIyOC4zek0yNTYgMGEyNTYgMjU2IDAgMSAxIDAgNTEyIDI1NiAyNTYgMCAxIDEgMC01MTJ6bTYyIDIyMWM4LjQgNi4xIDExLjkgMTYuOSA4LjcgMjYuOGwtMTguMyA1Ni4zYy0zLjIgOS45LTEyLjQgMTYuNi0yMi44IDE2LjZsLTU5LjIgMGMtMTAuNCAwLTE5LjYtNi43LTIyLjgtMTYuNmwtMTguMy01Ni4zYy0zLjItOS45IC4zLTIwLjcgOC43LTI2LjhsNDcuOS0zNC44YzguNC02LjEgMTkuOC02LjEgMjguMiAwTDMxOCAyMjF6Il19LERfdD1TZWUsQV90PVNlZSxScGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1zdXJwcmlzZSIsaWNvbjpbNTEyLDUxMixbMTI4NTU4LCJzdXJwcmlzZSJdLCJmNWMyIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTc2LTgwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bS00OCA4MGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHoiXX0sRV90PVJwZSxPcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZm9sZGVyIixpY29uOls1MTIsNTEyLFsxMjgxOTMsMTI4NDQ3LDYxNzE2LCJmb2xkZXItYmxhbmsiXSwiZjA3YiIsIk02NCA0MDBsMzg0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjQwYzAtOC44LTcuMi0xNi0xNi0xNmwtMTQ5LjMgMGMtMTcuMyAwLTM0LjItNS42LTQ4LTE2TDIxMi4zIDgzLjJjLTIuOC0yLjEtNi4xLTMuMi05LjYtMy4yTDY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAyODhjMCA4LjggNy4yIDE2IDE2IDE2em0zODQgNDhMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDEzOC43IDBjMTMuOCAwIDI3LjMgNC41IDM4LjQgMTIuOGwzOC40IDI4LjhjNS41IDQuMiAxMi4zIDYuNCAxOS4yIDYuNEw0NDggODBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNDBjMCAzNS4zLTI4LjcgNjQtNjQgNjR6Il19LFBfdD1PcGUsSV90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNsb3VkIixpY29uOls1NzYsNTEyLFs5NzI5XSwiZjBjMiIsIk04MCAxOTJjMC04OC40IDcxLjYtMTYwIDE2MC0xNjAgNDcuMSAwIDg5LjQgMjAuNCAxMTguNyA1Mi43IDEwLjYtMy4xIDIxLjgtNC43IDMzLjMtNC43IDY2LjMgMCAxMjAgNTMuNyAxMjAgMTIwIDAgMTMuMi0yLjEgMjUuOS02LjEgMzcuOCA0MS42IDIxLjEgNzAuMSA2NC4zIDcwLjEgMTE0LjIgMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhsLTMwNCAwYy03OS41IDAtMTQ0LTY0LjUtMTQ0LTE0NCAwLTU2LjggMzIuOS0xMDUuOSA4MC43LTEyOS40LS40LTQuOC0uNy05LjctLjctMTQuNnpNMjQwIDgwYy02MS45IDAtMTEyIDUwLjEtMTEyIDExMiAwIDguNCAuOSAxNi42IDIuNyAyNC41IDIuNyAxMi4xLTQuMyAyNC4zLTE2LjEgMjguMS0zOC43IDEyLjQtNjYuNiA0OC43LTY2LjYgOTEuNCAwIDUzIDQzIDk2IDk2IDk2bDMwNCAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwIDAtMzcuNC0yNS43LTY4LjktNjAuNS03Ny42LTcuNS0xLjktMTMuNi03LjItMTYuNS0xNC4zcy0yLjEtMTUuMiAyLTIxLjdjNy0xMS4xIDExLTI0LjIgMTEtMzguMyAwLTM5LjgtMzIuMi03Mi03Mi03Mi0xMS4xIDAtMjEuNSAyLjUtMzAuOCA2LjktMTAuNSA1LTIzLjEgMS43LTI5LjgtNy44LTIwLjMtMjguNi01My43LTQ3LjEtOTEuMy00Ny4xeiJdfSxOX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlIixpY29uOls1MTIsNTEyLFsxMjgzMDgsMTI4MzA5LDEyODk5MiwxMjg5OTMsMTI4OTk0LDEyODk5NSwxMjg5OTYsOTY3OSw5ODk4LDk4OTksMTEwNDQsNjE3MDgsNjE5MTVdLCJmMTExIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHoiXX0sRnBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1zcXVpbnQiLGljb246WzUxMiw1MTIsWzEyODUxOCwiZ3Jpbi1zcXVpbnQiXSwiZjU4NSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTM3Mi4yIDQ2LjNjMTEuOC0zLjYgMjMuNyA2LjEgMTkuNiAxNy44LTE5LjggNTUuOS03My4xIDk2LTEzNS44IDk2LTYyLjcgMC0xMTYtNDAtMTM1LjgtOTUuOS00LjEtMTEuNiA3LjgtMjEuNCAxOS42LTE3LjggMzQuNyAxMC42IDc0LjIgMTYuNSAxMTYuMSAxNi41IDQyIDAgODEuNS02IDExNi4zLTE2LjZ6bS0yNDkuNi0xNDNjNC41LTYuOCAxMy4zLTkuMiAyMC42LTUuNWw3OS42IDQwYzUuNCAyLjcgOC44IDguMiA4LjggMTQuM3MtMy40IDExLjYtOC44IDE0LjNsLTc5LjYgNDBjLTcuMyAzLjYtMTYuMSAxLjMtMjAuNi01LjVzLTMuMS0xNS45IDMuMS0yMS4xTDE1OSAyMDggMTI1LjggMTgwLjNjLTYuMi01LjItNy42LTE0LjMtMy4xLTIxLjF6bTI2My42IDIxLjFMMzUzIDIwOCAzODYuMiAyMzUuN2M2LjIgNS4yIDcuNiAxNC4zIDMuMSAyMS4xcy0xMy4zIDkuMi0yMC42IDUuNWwtNzkuNi00MGMtNS40LTIuNy04LjgtOC4yLTguOC0xNC4zczMuNC0xMS42IDguOC0xNC4zbDc5LjYtNDBjNy4zLTMuNiAxNi4xLTEuMyAyMC42IDUuNXMzLjEgMTUuOS0zLjEgMjEuMXoiXX0sUl90PUZwZSxCcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLXVzZXIiLGljb246WzUxMiw1MTIsWzYyMTQyLCJ1c2VyLWNpcmNsZSJdLCJmMmJkIiwiTTQwNi41IDM5OS42QzM4Ny40IDM1Mi45IDM0MS41IDMyMCAyODggMzIwbC02NCAwYy01My41IDAtOTkuNCAzMi45LTExOC41IDc5LjYtMzUuNi0zNy4zLTU3LjUtODcuOS01Ny41LTE0My42IDAtMTE0LjkgOTMuMS0yMDggMjA4LTIwOHMyMDggOTMuMSAyMDggMjA4YzAgNTUuNy0yMS45IDEwNi4yLTU3LjUgMTQzLjZ6bS00MC4xIDMyLjdDMzM0LjQgNDUyLjQgMjk2LjYgNDY0IDI1NiA0NjRzLTc4LjQtMTEuNi0xMTAuNS0zMS43YzcuMy0zNi43IDM5LjctNjQuMyA3OC41LTY0LjNsNjQgMGMzOC44IDAgNzEuMiAyNy42IDc4LjUgNjQuM3pNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTAtMjcyYTQwIDQwIDAgMSAxIDAtODAgNDAgNDAgMCAxIDEgMCA4MHptLTg4LTQwYTg4IDg4IDAgMSAwIDE3NiAwIDg4IDg4IDAgMSAwIC0xNzYgMHoiXX0sT190PUJwZSxIcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToicmVjdGFuZ2xlLWxpc3QiLGljb246WzUxMiw1MTIsWyJsaXN0LWFsdCJdLCJmMDIyIiwiTTY0IDExMmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjU2YzAgOC44IDcuMiAxNiAxNiAxNmwzODQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNTZjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDExMnpNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHpNMTYwIDMyMGEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0tMzItOTZhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em0xMDQtNTZsMTYwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0wIDEyOGwxNjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LEZfdD1IcGUscXBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmQiLGljb246WzUxMiw1MTIsWzEyOTMwNiw5OTk1LCJoYW5kLXBhcGVyIl0sImYyNTYiLCJNMjU2LjUgMGMtMjUuMyAwLTQ3LjIgMTQuNy01Ny42IDM2LTctMi42LTE0LjUtNC0yMi40LTQtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAxNjUuNS0yLjctMi43Yy0yNS0yNS02NS41LTI1LTkwLjUgMHMtMjUgNjUuNSAwIDkwLjVMMTA3IDQzN2M0OCA0OCAxMTMuMSA3NSAxODEgNzVsMTYuNSAwYzEuNSAwIDMtLjEgNC41LS40IDkxLjctNi4yIDE2NS03OS40IDE3MS4xLTE3MS4xIC4zLTEuNSAuNC0zIC40LTQuNWwwLTE3NmMwLTM1LjMtMjguNy02NC02NC02NC01LjUgMC0xMC45IC43LTE2IDJsMC0yYzAtMzUuMy0yOC43LTY0LTY0LTY0LTcuOSAwLTE1LjQgMS40LTIyLjQgNC0xMC40LTIxLjMtMzIuMy0zNi01Ny42LTM2em0tMTYgOTYuMWwwLS4xIDAtMzJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTM2YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxMzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTcyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNzIuOWMtLjEgLjYtLjEgMS4zLS4yIDEuOS0zLjQgNjkuNy01OS4zIDEyNS42LTEyOSAxMjktLjYgMC0xLjMgLjEtMS45IC4yTDI4OCA0NjRDMjMyLjkgNDY0IDE4MCA0NDIuMSAxNDEgNDAzLjFMNTMuMiAzMTUuM2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDQzLjcgNDMuN2M2LjkgNi45IDE3LjIgOC45IDI2LjIgNS4yczE0LjgtMTIuNSAxNC44LTIyLjJsMC0yMjMuNGMwLTguOCA3LjItMTYgMTYtMTYgOC44IDAgMTYgNy4xIDE2IDE1LjlsMCAxMzYuMWMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTM1Ljl6Il19LEJfdD1xcGUsSF90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InRodW1icy11cCIsaWNvbjpbNTEyLDUxMixbMTI4MDc3LDYxNTc1XSwiZjE2NCIsIk0xNzEuNSAzOC44QzE5Mi4zIDQgMjM2LjUtMTAgMjc0IDcuNmw3LjIgMy44QzMxNiAzMi4zIDMzMCA3Ni41IDMxMi40IDExNGwwIDAtMTQuMSAzMCAxMDkuNyAwIDcuNCAuNGMzNi4zIDMuNyA2NC42IDM0LjQgNjQuNiA3MS42IDAgMTMuMi0zLjYgMjUuNC05LjggMzYgNi4xIDEwLjYgOS43IDIyLjggOS44IDM2IDAgMTguMy02LjkgMzQuOC0xOCA0Ny41IDEuMyA1LjMgMiAxMC44IDIgMTYuNSAwIDI1LjEtMTIuOSA0Ny0zMi4yIDU5LjktMS45IDM1LjUtMjkuNCA2NC4yLTY0LjQgNjcuN2wtNy40IC40LTEwNC4xIDBjLTE4IDAtMzUuOS0zLjQtNTIuNi05LjlsLTcuMS0zLS43LS4zLTYuNi0zLjItLjctLjMtMTIuMi02LjVjLTEyLjMtNi41LTIzLjMtMTQuNy0zMi45LTI0LjEtNC4xIDI2LjktMjcuMyA0Ny40LTU1LjMgNDcuNGwtMzIgMGMtMzAuOSAwLTU2LTI1LjEtNTYtNTZMMCAyMDBjMC0zMC45IDI1LjEtNTYgNTYtNTZsMzIgMGMxMC44IDAgMjAuOSAzLjEgMjkuNSA4LjVsNTAuMS0xMDYuNSAuNi0xLjIgMi43LTUgLjYtLjl6TTU2IDE5MmMtNC40IDAtOCAzLjYtOCA4bDAgMjI0YzAgNC40IDMuNiA4IDggOGwzMiAwYzQuNCAwIDgtMy42IDgtOGwwLTIyNGMwLTQuNC0zLjYtOC04LThsLTMyIDB6TTI1My42IDUxYy0xNC44LTYuOS0zMi4zLTEuNi00MC43IDEybC0yLjIgNC01Ni44IDEyMC45Yy0zLjUgNy41LTUuNSAxNS41LTYgMjMuN2wtLjEgNC4yIDAgMTEyLjkgLjIgNy45YzIuNCAzMi43IDIxLjQgNjIuMSA1MC43IDc3LjdsMTEuNSA2LjEgNi4zIDMuMWMxMi40IDUuNiAyNS44IDguNSAzOS40IDguNWwxMDQuMSAwIDIuNC0uMWMxMi4xLTEuMiAyMS42LTExLjUgMjEuNi0yMy45bC0uMi0yLjZjLS4xLS45LS4yLTEuNy0uNC0yLjYtMi43LTEyLjEgNC4zLTI0LjIgMTYtMjggOS43LTMuMSAxNi42LTEyLjIgMTYuNi0yMi44IDAtNC4zLTEuMS04LjItMy4xLTExLjgtNi4zLTExLjEtMi44LTI1LjIgOC0zMiA2LjgtNC4zIDExLjItMTEuOCAxMS4yLTIwLjIgMC03LjEtMy4xLTEzLjUtOC4yLTE4LTUuMi00LjYtOC4yLTExLjEtOC4yLTE4czMtMTMuNCA4LjItMThjNS4xLTQuNSA4LjItMTAuOSA4LjItMThsLS4xLTIuNGMtMS4xLTExLjMtMTAuMS0yMC4zLTIxLjQtMjEuNGwtMi40LS4xLTE0Ny41IDBjLTguMiAwLTE1LjgtNC4yLTIwLjItMTEuMS00LjQtNi45LTUtMTUuNy0xLjUtMjMuMUwyNjkgOTMuNmM3LTE1IDEuNC0zMi43LTEyLjUtNDFMMjUzLjYgNTF6Il19LHFfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJidWlsZGluZyIsaWNvbjpbMzg0LDUxMixbMTI3OTcwLDYxNjg3XSwiZjFhZCIsIk02NCA0OGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzg0YzAgOC44IDcuMiAxNiAxNiAxNmw4MCAwIDAtODBjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDgwIDgwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzg0YzAtOC44LTcuMi0xNi0xNi0xNkw2NCA0OHpNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em05NiA0OGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNDAgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNOTYgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE0NC0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2eiJdfSxWX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2hlc3Mtcm9vayIsaWNvbjpbMzg0LDUxMixbOTgyMF0sImY0NDciLCJNMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMzguN2MwIDEzLjgtNC41IDI3LjMtMTIuOCAzOC40bC0zNS4yIDQ2LjkgMCAxMTIgNDAuOCA2OC4xYzQuNyA3LjggNy4yIDE2LjcgNy4yIDI1LjggMCAyNy43LTIyLjQgNTAuMS01MC4xIDUwLjFMNTAuMSA1MTJjLTI3LjcgMC01MC4xLTIyLjQtNTAuMS01MC4xIDAtOS4xIDIuNS0xOCA3LjItMjUuOEw0OCAzNjggNDggMjU2IDEyLjggMjA5LjFDNC41IDE5OCAwIDE4NC41IDAgMTcwLjdMMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMMzUyIDB6TTQ4LjMgNDYwLjhsLS4zIDEuMWMwIDEuMiAxIDIuMSAyLjEgMi4xbDI4My44IDBjMS4yIDAgMi4xLTEgMi4xLTIuMWwtLjMtMS4xLTM2LjUtNjAuOC0yMTQuNCAwLTM2LjUgNjAuOHpNNDggMTcwLjdjMCAyLjYgLjYgNS4xIDEuOCA3LjRsMS40IDIuMiAwIDAgMzUuMiA0Ni45IDkuNiAxMi44IDAgMTEyIDE5MiAwIDAtMTEyIDkuNi0xMi44IDM1LjItNDYuOSAwIDAgMS40LTIuMmMxLjItMi4zIDEuOC00LjggMS44LTcuNGwwLTEyMi43LTY0IDAgMCAyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTI0LTY0IDAgMCAyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTI0LTY0IDAgMCAxMjIuN3oiXX0sVnBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS1xdWVzdGlvbiIsaWNvbjpbNTEyLDUxMixbNjIxMDgsInF1ZXN0aW9uLWNpcmNsZSJdLCJmMDU5IiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMjU2LTgwYy0xNy43IDAtMzIgMTQuMy0zMiAzMiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgNDcuMi0zNiA2Ny4yLTU2IDc0LjVsMCAzLjhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC04LjFjMC0yMC41IDE0LjgtMzUuMiAzMC4xLTQwLjIgNi40LTIuMSAxMy4yLTUuNSAxOC4yLTEwLjMgNC4zLTQuMiA3LjctMTAgNy43LTE5LjYgMC0xNy43LTE0LjMtMzItMzItMzJ6TTIyNCAzNjhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0sal90PVZwZSxVX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmlsZSIsaWNvbjpbMzg0LDUxMixbMTI4MTk2LDEyODQ1OSw2MTQ2Ml0sImYxNWIiLCJNMTc2IDQ4TDY0IDQ4Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzODRjMCA4LjggNy4yIDE2IDE2IDE2bDI1NiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0MC04OCAwYy0zOS44IDAtNzItMzIuMi03Mi03MmwwLTg4ek0zMTYuMSAxNjBMMjI0IDY3LjkgMjI0IDEzNmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw2OC4xIDB6TTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDE5Ny41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTQxLjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHoiXX0sanBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2Utc2FkLWNyeSIsaWNvbjpbNTEyLDUxMixbMTI4NTU3LCJzYWQtY3J5Il0sImY1YjMiLCJNNDAwIDQwNi4xTDQwMCAyODhjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxNTIuNmMtMjguNyAxNS02MS40IDIzLjQtOTYgMjMuNHMtNjcuMy04LjUtOTYtMjMuNEwxNjAgMjg4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTE4LjFDNzIuNiAzNjguMiA0OCAzMTUgNDggMjU2IDQ4IDE0MS4xIDE0MS4xIDQ4IDI1NiA0OHMyMDggOTMuMSAyMDggMjA4YzAgNTktMjQuNiAxMTIuMi02NCAxNTAuMXpNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE1MiAxOTZsMTYgMGMxMSAwIDIwIDkgMjAgMjBzOSAyMCAyMCAyMCAyMC05IDIwLTIwYzAtMzMuMS0yNi45LTYwLTYwLTYwbC0xNiAwYy0zMy4xIDAtNjAgMjYuOS02MCA2MCAwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMCA5LTIwIDIwLTIwem0xNzIgMjBjMC0xMSA5LTIwIDIwLTIwbDE2IDBjMTEgMCAyMCA5IDIwIDIwczkgMjAgMjAgMjAgMjAtOSAyMC0yMGMwLTMzLjEtMjYuOS02MC02MC02MGwtMTYgMGMtMzMuMSAwLTYwIDI2LjktNjAgNjAgMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjB6TTIwOCAzMzZsMCAzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OHM0OC0yMS41IDQ4LTQ4bDAtMzJjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh6Il19LFdfdD1qcGUsR190PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNhbGVuZGFyLW1pbnVzIixpY29uOls0NDgsNTEyLFtdLCJmMjcyIiwiTTEyMCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDAgMTYwIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHptMCAxMTJsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI4OGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjg4YzAtOC44LTcuMi0xNi0xNi0xNmwtMjY0IDB6bTMyIDEzNmwxNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LFVwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLXRpcmVkIixpY29uOls1MTIsNTEyLFsxMjg1NTUsInRpcmVkIl0sImY1YzgiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0xNzYuNSA2NC4zQzE5Ni4xIDMwMi4xIDIyMy44IDI4OCAyNTYgMjg4czU5LjkgMTQuMSA3OS41IDMyLjNjMTkgMTcuOCAzMi41IDQxLjcgMzIuNSA2My43IDAgNS40LTIuNyAxMC40LTcuMiAxMy40cy0xMC4yIDMuNC0xNS4yIDEuM2wtMTcuMi03LjVjLTIyLjgtMTAtNDcuNS0xNS4xLTcyLjQtMTUuMXMtNDkuNiA1LjItNzIuNCAxNS4xbC0xNy4yIDcuNWMtNC45IDIuMi0xMC43IDEuNy0xNS4yLTEuM3MtNy4yLTgtNy4yLTEzLjRjMC0yMiAxMy41LTQ1LjkgMzIuNS02My43ek0xMjIuNiAxNTkuMmM0LjUtNi44IDEzLjMtOS4yIDIwLjYtNS41bDc5LjYgNDBjNS40IDIuNyA4LjggOC4yIDguOCAxNC4zcy0zLjQgMTEuNi04LjggMTQuM2wtNzkuNiA0MGMtNy4zIDMuNi0xNi4xIDEuMy0yMC42LTUuNXMtMy4xLTE1LjkgMy4xLTIxLjFMMTU5IDIwOCAxMjUuOCAxODAuM2MtNi4yLTUuMi03LjYtMTQuMy0zLjEtMjEuMXptMjYzLjYgMjEuMUwzNTMgMjA4IDM4Ni4yIDIzNS43YzYuMiA1LjIgNy42IDE0LjMgMy4xIDIxLjFzLTEzLjMgOS4yLTIwLjYgNS41bC03OS42LTQwYy01LjQtMi43LTguOC04LjItOC44LTE0LjNzMy40LTExLjYgOC44LTE0LjNsNzkuNi00MGM3LjMtMy42IDE2LjEtMS4zIDIwLjYgNS41czMuMSAxNS45LTMuMSAyMS4xeiJdfSxZX3Q9VXBlLEtfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kLXBvaW50LXJpZ2h0IixpY29uOls1MTIsNTEyLFtdLCJmMGE0IiwiTTQ0OCAxMjhsLTE3Ny42IDBjMSA1LjIgMS42IDEwLjUgMS42IDE2bDAgMTYgMTc2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZ6TTIyNCAxNDRjMC0xNy43LTE0LjMtMzItMzItMzJsLTI0IDBjLTY2LjMgMC0xMjAgNTMuNy0xMjAgMTIwbDAgNDhjMCA1Mi41IDMzLjcgOTcuMSA4MC43IDExMy40LS41LTMuMS0uNy02LjItLjctOS40IDAtMjAgOS4yLTM3LjkgMjMuNi00OS43LTQuOS05LTcuNi0xOS40LTcuNi0zMC4zIDAtMTUuMSA1LjMtMjkgMTQtNDAtOC44LTExLTE0LTI0LjktMTQtNDBsMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTgwek0xOTIgNjRsMCAwYzE4IDAgMzQuNiA2IDQ4IDE2bDIwOCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0bC04MiAwYzEuMyA1LjEgMiAxMC41IDIgMTYgMCAyNS4zLTE0LjcgNDcuMi0zNiA1Ny42IDIuNiA3IDQgMTQuNSA0IDIyLjQgMCAyMC05LjIgMzcuOS0yMy42IDQ5LjcgNC45IDkgNy42IDE5LjQgNy42IDMwLjMgMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTg4IDBDNzUuMiA0NDggMCAzNzIuOCAwIDI4MGwwLTQ4QzAgMTM5LjIgNzUuMiA2NCAxNjggNjRsMjQgMHptNjQgMzM2YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC02NCAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDY0IDB6bTE2LTE3NmMwIDUuNS0uNyAxMC45LTIgMTZsMzQgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMzIgMCAwIDE2em0tMjQgNjRsLTQwIDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsNjQgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMjQgMHoiXX0sV3BlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS11cCIsaWNvbjpbNTEyLDUxMixbNjE0NjcsImFycm93LWFsdC1jaXJjbGUtdXAiXSwiZjM1YiIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMSAwIDQxNiAyMDggMjA4IDAgMSAxIDAtNDE2em0wIDQ2NGEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTExLjMtMzg3LjNjLTYuMi02LjItMTYuNC02LjItMjIuNiAwbC0xMDQgMTA0Yy00LjYgNC42LTUuOSAxMS41LTMuNSAxNy40czguMyA5LjkgMTQuOCA5LjlsNzIgMCAwIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTA0IDcyIDBjNi41IDAgMTIuMy0zLjkgMTQuOC05LjlzMS4xLTEyLjktMy41LTE3LjRsLTEwNC0xMDR6Il19LFpfdD1XcGUsWF90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmQtc2Npc3NvcnMiLGljb246WzUxMiw1MTIsW10sImYyNTciLCJNLjIgMjc2LjNjLTEuMi0zNS4zIDI2LjQtNjUgNjEuNy02Ni4ybDMuMy0uMS04LjItMS44QzIyLjUgMjAwLjUgLjcgMTY2LjMgOC4zIDEzMS44UzUwLjIgNzUuNSA4NC43IDgzLjJsMTczIDM4LjNjMi4zLTIuOSA0LjYtNS43IDcuMS04LjVsMTguNC0yMC4zQzI5OS45IDc0LjUgMzIzLjUgNjQgMzQ4LjMgNjRsMTAuMiAwYzU0LjEgMCAxMDQuMSAyOC43IDEzMS4zIDc1LjRsMS41IDIuNmMxMy42IDIzLjIgMjAuNyA0OS43IDIwLjcgNzYuNkw1MTIgMzQ0YzAgNjYuMy01My43IDEyMC0xMjAgMTIwbC0xMDQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjQgMC0yLjggLjItNS42IC41LTguMy0xOS40LTExLTMyLjUtMzEuOC0zMi41LTU1LjcgMC0uOCAwLTEuNiAwLTIuNEw2Ni40IDMzOGMtMzUuMyAxLjItNjUtMjYuNC02Ni4yLTYxLjd6bTYzLjQtMTguMmMtOC44IC4zLTE1LjcgNy43LTE1LjQgMTYuNnM3LjcgMTUuNyAxNi41IDE1LjRsMTYxLjUtNS42YzkuOC0uMyAxOC43IDUuMyAyMi43IDE0LjJzMi4yIDE5LjMtNC41IDI2LjRjLTIuOCAyLjktNC40IDYuNy00LjQgMTEgMCA4LjggNy4yIDE2IDE2IDE2IDkuMSAwIDE3LjQgNS4xIDIxLjUgMTMuM3MzLjIgMTcuOS0yLjMgMjUuMWMtMiAyLjctMy4yIDYtMy4yIDkuNiAwIDguOCA3LjIgMTYgMTYgMTZsMTA0IDBjMzkuOCAwIDcyLTMyLjIgNzItNzJsMC0xMjUuNGMwLTE4LjQtNC45LTM2LjUtMTQuMi01Mi40bC0xLjUtMi42Yy0xOC42LTMyLTUyLjgtNTEuNi04OS44LTUxLjZsLTEwLjIgMGMtMTEuMyAwLTIyIDQuOC0yOS42IDEzLjFsMCAwLTE4LjQgMjAuM2MtLjYgLjYtMS4xIDEuMy0xLjcgMS45bDU3IDEzLjJjOC42IDIgMTQgMTAuNiAxMiAxOS4ycy0xMC42IDE0LTE5LjIgMTJMMjYyLjggMTcxLjggNzQuMyAxMzBjLTguNi0xLjktMTcuMiAzLjUtMTkuMSAxMi4yczMuNSAxNy4yIDEyLjIgMTkuMWwxODcuNSA0MS42YzEwLjIgMi4zIDE3LjggMTAuOSAxOC43IDIxLjRsLjEgMWMuNiA2LjYtMS41IDEzLjEtNS44IDE4LjFzLTEwLjYgNy45LTE3LjIgOC4yTDYzLjYgMjU4LjF6Il19LFFfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJnZW0iLGljb246WzUxMiw1MTIsWzEyODE0Ml0sImYzYTUiLCJNMTY4LjUgNzJsODcuNSA5MyA4Ny41LTkzLTE3NSAwek0zODMuOSA5OS4xbC03Mi4zIDc2LjkgMTI5IDAtNTYuNi03Ni45em01MCAxMjQuOUw3OC4xIDIyNCAyNTYgNDIwLjMgNDMzLjkgMjI0ek03MS41IDE3NmwxMjkgMC03Mi4zLTc2LjktNTYuNiA3Ni45em00MzQuMyA0MC4xbC0yMzIgMjU2Yy00LjUgNS0xMSA3LjktMTcuOCA3LjlzLTEzLjItMi45LTE3LjgtNy45bC0yMzItMjU2Yy03LjctOC41LTguMy0yMS4yLTEuNS0zMC40bDExMi0xNTJjNC41LTYuMSAxMS43LTkuOCAxOS4zLTkuOGwyNDAgMGM3LjYgMCAxNC44IDMuNiAxOS4zIDkuOGwxMTIgMTUyYzYuOCA5LjIgNi4xIDIxLjktMS41IDMwLjR6Il19LE5iPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InJlY3RhbmdsZS14bWFyayIsaWNvbjpbNTEyLDUxMixbNjIxNjQsInJlY3RhbmdsZS10aW1lcyIsInRpbWVzLXJlY3RhbmdsZSIsIndpbmRvdy1jbG9zZSJdLCJmNDEwIiwiTTY0IDExMmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjU2YzAgOC44IDcuMiAxNiAxNiAxNmwzODQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNTZjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDExMnpNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptMzM0LjEgNDkuOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNDQuMSA0NC4xIDQ0LjEgNDQuMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00NC4xLTQ0LjEtNDQuMSA0NC4xYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDQ0LjEtNDQuMS00NC4xLTQ0LjFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0NC4xIDQ0LjEgNDQuMS00NC4xYzkuNC05LjQgMjQuNi05LjQgMzMuOSAweiJdfSxKX3Q9TmIsZVR0PU5iLHRUdD1OYixCYj17cHJlZml4OiJmYXIiLGljb25OYW1lOiJ0cmFzaC1jYW4iLGljb246WzQ0OCw1MTIsWzYxNDYwLCJ0cmFzaC1hbHQiXSwiZjJlZCIsIk0xNjYuMi0xNmMtMTMuMyAwLTI1LjMgOC4zLTMwIDIwLjhMMTIwIDQ4IDI0IDQ4QzEwLjcgNDggMCA1OC43IDAgNzJTMTAuNyA5NiAyNCA5Nmw0MDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtOTYgMC0xNi4yLTQzLjJDMzA3LjEtNy43IDI5NS4yLTE2IDI4MS44LTE2TDE2Ni4yLTE2ek0zMiAxNDRsMCAzMDRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMDQtNDggMCAwIDMwNGMwIDguOC03LjIgMTYtMTYgMTZMOTYgNDY0Yy04LjggMC0xNi03LjItMTYtMTZsMC0zMDQtNDggMHptMTYwIDcyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTc2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNzZ6bTExMiAwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTc2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNzZ6Il19LGFUdD1CYixyVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibGlmZS1yaW5nIixpY29uOls1MTIsNTEyLFtdLCJmMWNkIiwiTTM4NS4xIDQxOS4xQzM0OS43IDQ0Ny4yIDMwNC44IDQ2NCAyNTYgNDY0cy05My43LTE2LjgtMTI5LjEtNDQuOWw4MC40LTgwLjRjMTQuMyA4LjQgMzEgMTMuMyA0OC44IDEzLjNzMzQuNS00LjggNDguOC0xMy4zbDgwLjQgODAuNHptNjguMSAuMkM0ODkuOSAzNzQuOSA1MTIgMzE4LjEgNTEyIDI1NlM0ODkuOSAxMzcuMSA0NTMuMiA5Mi43TDQ2NSA4MWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDQxOS4zIDU4LjhDMzc0LjkgMjIuMSAzMTguMSAwIDI1NiAwUzEzNy4xIDIyLjEgOTIuNyA1OC44TDgxIDQ3Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMzNy43IDcxLjYgNDcgODFMNTguOCA5Mi43QzIyLjEgMTM3LjEgMCAxOTMuOSAwIDI1NlMyMi4xIDM3NC45IDU4LjggNDE5LjNMNDcgNDMxYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMTEuOC0xMS44QzEzNy4xIDQ4OS45IDE5My45IDUxMiAyNTYgNTEyczExOC45LTIyLjEgMTYzLjMtNTguOEw0MzEgNDY1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMTEuOC0xMS44em0tMzQuMS0zNC4xbC04MC40LTgwLjRjOC40LTE0LjMgMTMuMy0zMSAxMy4zLTQ4LjhzLTQuOC0zNC41LTEzLjMtNDguOGw4MC40LTgwLjRDNDQ3LjIgMTYyLjMgNDY0IDIwNy4yIDQ2NCAyNTZzLTE2LjggOTMuNy00NC45IDEyOS4xek0zODUuMSA5Mi45bC04MC40IDgwLjRjLTE0LjMtOC40LTMxLTEzLjMtNDguOC0xMy4zcy0zNC41IDQuOC00OC44IDEzLjNMMTI2LjkgOTIuOUMxNjIuMyA2NC44IDIwNy4yIDQ4IDI1NiA0OHM5My43IDE2LjggMTI5LjEgNDQuOXpNMTczLjMgMzA0LjhMOTIuOSAzODUuMUM2NC44IDM0OS43IDQ4IDMwNC44IDQ4IDI1NnMxNi44LTkzLjcgNDQuOS0xMjkuMWw4MC40IDgwLjRjLTguNCAxNC4zLTEzLjMgMzEtMTMuMyA0OC44czQuOCAzNC41IDEzLjMgNDguOHpNMjA4IDI1NmE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAweiJdfSxzVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY29weXJpZ2h0IixpY29uOls1MTIsNTEyLFsxNjldLCJmMWY5IiwiTTI1NiA0OGEyMDggMjA4IDAgMSAxIDAgNDE2IDIwOCAyMDggMCAxIDEgMC00MTZ6bTAgNDY0YTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjA1LjEgMzA2LjljLTI4LjEtMjguMS0yOC4xLTczLjcgMC0xMDEuOHM3My43LTI4LjEgMTAxLjggMGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjljLTQ2LjktNDYuOS0xMjIuOC00Ni45LTE2OS43IDBzLTQ2LjkgMTIyLjggMCAxNjkuNyAxMjIuOCA0Ni45IDE2OS43IDBjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGMtMjguMSAyOC4xLTczLjcgMjguMS0xMDEuOCAweiJdfSxHcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLWxlZnQiLGljb246WzUxMiw1MTIsWzYxODQwLCJhcnJvdy1hbHQtY2lyY2xlLWxlZnQiXSwiZjM1OSIsIk00OCAyNTZhMjA4IDIwOCAwIDEgMSA0MTYgMCAyMDggMjA4IDAgMSAxIC00MTYgMHptNDY0IDBhMjU2IDI1NiAwIDEgMCAtNTEyIDAgMjU2IDI1NiAwIDEgMCA1MTIgMHpNMTI0LjcgMjQ0LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42bDEwNCAxMDRjNC42IDQuNiAxMS41IDUuOSAxNy40IDMuNXM5LjktOC4zIDkuOS0xNC44bDAtNzIgMTA0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xNmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMTA0IDAgMC03MmMwLTYuNS0zLjktMTIuMy05LjktMTQuOHMtMTIuOS0xLjEtMTcuNCAzLjVsLTEwNCAxMDR6Il19LGlUdD1HcGUsb1R0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNhbGVuZGFyIixpY29uOls0NDgsNTEyLFsxMjgxOTcsMTI4MTk4XSwiZjEzMyIsIk0xMjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQwIDE2MCAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjR6bTAgMTEybC01NiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCA0OCAzNTIgMCAwLTQ4YzAtOC44LTcuMi0xNi0xNi0xNmwtMjY0IDB6TTQ4IDIyNGwwIDE5MmMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTkyLTM1MiAweiJdfSxZcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1mcm93bi1vcGVuIixpY29uOls1MTIsNTEyLFsxMjg1NTAsImZyb3duLW9wZW4iXSwiZjU3YSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6TTE4Mi40IDM4Mi41Yy0xMi40IDUuMi0yNi41LTQuMS0yMS4xLTE2LjQgMTYtMzYuNiA1Mi40LTYyLjEgOTQuOC02Mi4xczc4LjggMjUuNiA5NC44IDYyLjFjNS40IDEyLjMtOC43IDIxLjYtMjEuMSAxNi40LTIyLjQtOS41LTQ3LjQtMTQuOC03My43LTE0LjhzLTUxLjMgNS4zLTczLjcgMTQuOHpNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxuVHQ9WXBlLEtwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaGFydC1iYXIiLGljb246WzUxMiw1MTIsWyJiYXItY2hhcnQiXSwiZjA4MCIsIk00OCA1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNFMwIDQyLjcgMCA1NkwwIDQwMGMwIDQ0LjIgMzUuOCA4MCA4MCA4MGw0MDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw4MCA0MzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDQ4IDU2em0xMDQgNzJsMjA4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMMTUyIDgwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0em0wIDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHptMCAxMTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTI3MiAweiJdfSxsVHQ9S3BlLFJiPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhvdXNlIixpY29uOls1MTIsNTEyLFsxMjc5NjgsNjM0OTgsNjM1MDAsImhvbWUiLCJob21lLWFsdCIsImhvbWUtbGctYWx0Il0sImYwMTUiLCJNMjQwIDYuMWM5LjEtOC4yIDIyLjktOC4yIDMyIDBsMjMyIDIwOGM5LjkgOC44IDEwLjcgMjQgMS44IDMzLjlzLTI0IDEwLjctMzMuOSAxLjhsLTgtNy4yIDAgMjA1LjNjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTI4OCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTIwNS4zLTggNy4yYy05LjkgOC44LTI1IDgtMzMuOS0xLjhzLTgtMjUgMS44LTMzLjlMMjQwIDYuMXptMTYgNTAuMUw5NiAxOTkuNyA5NiA0NDhjMCA4LjggNy4yIDE2IDE2IDE2bDQ4IDAgMC0xMDRjMC0zOS44IDMyLjItNzIgNzItNzJsNDggMGMzOS44IDAgNzIgMzIuMiA3MiA3MmwwIDEwNCA0OCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0OC4zLTE2MC0xNDMuNHpNMjA4IDQ2NGw5NiAwIDAtMTA0YzAtMTMuMy0xMC43LTI0LTI0LTI0bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDEwNHoiXX0sY1R0PVJiLGRUdD1SYix1VHQ9UmIsWnBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZnJvd24iLGljb246WzUxMiw1MTIsWzk3ODUsImZyb3duIl0sImYxMTkiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0zMzQuNyAzODQuNkMzMTkuNyAzNjkgMjkzLjYgMzUyIDI1NiAzNTJzLTYzLjcgMTctNzguNyAzMi42Yy05LjIgOS42LTI0LjQgOS45LTMzLjkgLjdzLTkuOS0yNC40LS43LTMzLjljMjIuMS0yMyA2MC00Ny40IDExMy4zLTQ3LjRzOTEuMiAyNC40IDExMy4zIDQ3LjRjOS4yIDkuNiA4LjkgMjQuOC0uNyAzMy45cy0yNC44IDguOS0zMy45LS43ek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LHBUdD1acGUsemVlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InVzZXIiLGljb246WzQ0OCw1MTIsWzEyODEwMCw2MjE0NCw2MjQ3MCwidXNlci1hbHQiLCJ1c2VyLWxhcmdlIl0sImYwMDciLCJNMTQ0IDEyOGE4MCA4MCAwIDEgMSAxNjAgMCA4MCA4MCAwIDEgMSAtMTYwIDB6bTIwOCAwYTEyOCAxMjggMCAxIDAgLTI1NiAwIDEyOCAxMjggMCAxIDAgMjU2IDB6TTQ4IDQ4MGMwLTcwLjcgNTcuMy0xMjggMTI4LTEyOGw5NiAwYzcwLjcgMCAxMjggNTcuMyAxMjggMTI4bDAgOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtOGMwLTk3LjItNzguOC0xNzYtMTc2LTE3NmwtOTYgMEM3OC44IDMwNCAwIDM4Mi44IDAgNDgwbDAgOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtOHoiXX0sZlR0PXplZSxoVHQ9emVlLG1UdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzbm93Zmxha2UiLGljb246WzUxMiw1MTIsWzEwMDUyLDEwMDU0XSwiZjJkYyIsIk0yODAuMS04YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNzguMS0yMy0yM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw1NyA1NyAwIDc2LjUtNjYuMi0zOC4yLTIwLjktNzcuOGMtMy40LTEyLjgtMTYuNi0yMC40LTI5LjQtMTdTOTUuMiA5OCA5OC43IDExMC44bDguNCAzMS41LTY3LjYtMzlDMjggOTYuNiAxMy4zIDEwMC41IDYuNyAxMTJTNCAxMzguMiAxNS41IDE0NC44bDY3LjYgMzktMzEuNSA4LjRjLTEyLjggMy40LTIwLjQgMTYuNi0xNyAyOS40czE2LjYgMjAuNCAyOS40IDE3bDc3LjgtMjAuOSA2Ni4yIDM4LjItNjYuMiAzOC4yLTc3LjgtMjAuOWMtMTIuOC0zLjQtMjYgNC4yLTI5LjQgMTdzNC4yIDI2IDE3IDI5LjRsMzEuNSA4LjQtNjcuNiAzOUM0IDM3My44IC4xIDM4OC41IDYuNyA0MDBzMjEuMyAxNS40IDMyLjggOC44bDY3LjYtMzktOC40IDMxLjVjLTMuNCAxMi44IDQuMiAyNiAxNyAyOS40czI2LTQuMiAyOS40LTE3bDIwLjktNzcuOCA2Ni4yLTM4LjIgMCA3Ni41LTU3IDU3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMjMtMjMgMCA3OC4xYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC03OC4xIDIzIDIzYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTctNTcgMC03Ni41IDY2LjIgMzguMiAyMC45IDc3LjhjMy40IDEyLjggMTYuNiAyMC40IDI5LjQgMTdzMjAuNC0xNi42IDE3LTI5LjRsLTguNC0zMS41IDY3LjYgMzljMTEuNSA2LjYgMjYuMiAyLjcgMzIuOC04LjhzMi43LTI2LjItOC44LTMyLjhsLTY3LjYtMzkgMzEuNS04LjRjMTIuOC0zLjQgMjAuNC0xNi42IDE3LTI5LjRzLTE2LjYtMjAuNC0yOS40LTE3bC03Ny44IDIwLjktNjYuMi0zOC4yIDY2LjItMzguMiA3Ny44IDIwLjljMTIuOCAzLjQgMjYtNC4yIDI5LjQtMTdzLTQuMi0yNi0xNy0yOS40bC0zMS41LTguNCA2Ny42LTM5YzExLjUtNi42IDE1LjQtMjEuMyA4LjgtMzIuOHMtMjEuMy0xNS40LTMyLjgtOC44bC02Ny42IDM5IDguNC0zMS41YzMuNC0xMi44LTQuMi0yNi0xNy0yOS40cy0yNiA0LjItMjkuNCAxN2wtMjAuOSA3Ny44LTY2LjIgMzguMiAwLTc2LjUgNTctNTdjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMjMgMjMgMC03OC4xeiJdfSxnVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiYm9va21hcmsiLGljb246WzM4NCw1MTIsWzEyODI3OCw2MTU5MV0sImYwMmUiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA0MTcuMWMwIDI1LjYtMjguNSA0MC44LTQ5LjggMjYuNkwxOTIgNDEyLjggNDkuOCA1MDcuN0MyOC41IDUyMS45IDAgNTA2LjYgMCA0ODEuMUwwIDY0ek02NCA0OGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzg3LjIgMTE3LjQtNzguMmMxNi4xLTEwLjcgMzcuMS0xMC43IDUzLjIgMEwzMzYgNDUxLjIgMzM2IDY0YzAtOC44LTcuMi0xNi0xNi0xNkw2NCA0OHoiXX0sWHBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InNxdWFyZS1jYXJldC1sZWZ0IixpY29uOls0NDgsNTEyLFsiY2FyZXQtc3F1YXJlLWxlZnQiXSwiZjE5MSIsIk00OCA0MTZjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyMGMwLTguOC03LjItMTYtMTYtMTZMNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyMHptMTYgNjRjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwem02NC0yMjRjMC02LjcgMi44LTEzIDcuNy0xNy42bDExMi0xMDRjNy02LjUgMTcuMi04LjIgMjUuOS00LjRTMjg4IDE0Mi41IDI4OCAxNTJsMCAyMDhjMCA5LjUtNS43IDE4LjItMTQuNCAyMnMtMTguOSAyLjEtMjUuOS00LjRsLTExMi0xMDRjLTQuOS00LjUtNy43LTEwLjktNy43LTE3LjZ6Il19LGJUdD1YcGUsQ2VlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmRzaGFrZSIsaWNvbjpbNjQwLDUxMixbMTI5MzA5LDYyNjYyLCJoYW5kc2hha2UtYWx0IiwiaGFuZHNoYWtlLXNpbXBsZSJdLCJmMmI1IiwiTTU5OC4xIDc1LjRjMTAuNy03LjggMTMuMS0yMi44IDUuMy0zMy41cy0yMi44LTEzLjEtMzMuNS01LjNsLTc0LjUgNTQuMi05LjktNi42QzQ2NS44IDcxIDQ0Mi42IDY0IDQxOC45IDY0bC01OS4yIDAtLjQgMC0xNDMuNiAwYy0yNi43IDAtNTIuNSA4LjktNzMuNCAyNS4xTDcwLjEgMzYuNmMtMTAuNy03LjgtMjUuNy01LjQtMzMuNSA1LjNzLTUuNCAyNS43IDUuMyAzMy41bDg4IDY0YzkuNiA2LjkgMjIuNyA1LjkgMzEuMS0yLjRsMy45LTMuOWMxMy41LTEzLjUgMzEuOC0yMS4xIDUwLjktMjEuMWw0Ni4zIDAtOTEuNyA5MS43Yy0xNS42IDE1LjYtMTUuNiA0MC45IDAgNTYuNmwuOCAuOEMyMTggMzA4IDI5NCAzMDggMzQwLjkgMjYxLjFsMjcuMS0yNy4xIDk3LjggOTcuOGMxNS42IDE1LjYgMTUuNiA0MC45IDAgNTYuNmwtOS44IDkuOC0zMS0zMWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwyOCAyOGMtMTcuNSAxMC40LTM3LjIgMTYuNy01Ny42IDE4LjVMMzEzIDM5OWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwxNSAxNS0zLjggMGMtMzYuMSAwLTcwLjctMTQuMy05Ni4yLTM5LjhMNjUgMjc5Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45TDE2MC4yIDQ0Mi4xYzM0LjUgMzQuNSA4MS4zIDUzLjkgMTMwLjEgNTMuOWw1MS44IDAgMSAxIDEtMSA1LjcgMGM0OC44IDAgOTUuNi0xOS40IDEzMC4xLTUzLjlsMTkuOS0xOS45YzEuMi0xLjIgMi4zLTIuMyAzLjQtMy41IC43LS41IDEuMy0xLjEgMS45LTEuN0w2MDkgMzEzYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTUzLjggNTMuOGMtNC4yLTEyLjgtMTEuMy0yNC45LTIxLjUtMzUuMUwzODUgMTgzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtNDQuMSA0NC4xYy0yNi41IDI2LjUtNjguNSAyOC05Ni43IDQuNmw5OC43LTk4LjdjMTMuNC0xMy40IDMxLjYtMjEgNTAuNi0yMS4xbDguNSAwIC4yIDAgNTAuOCAwYzE0LjIgMCAyOC4xIDQuMiAzOS45IDEyLjFMNDgyLjcgMTQwYzguNCA1LjYgMTkuMyA1LjMgMjcuNC0uNmw4OC02NHoiXX0sdlR0PUNlZSx4VHQ9Q2VlLFFwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLXNtaWxlLXdpbmsiLGljb246WzUxMiw1MTIsWzEyODUyMSwic21pbGUtd2luayJdLCJmNGRhIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTc3LjMgNjMuNEMxOTIuMyAzMzUgMjE4LjQgMzUyIDI1NiAzNTJzNjMuNy0xNyA3OC43LTMyLjZjOS4yLTkuNiAyNC40LTkuOSAzMy45LS43czkuOSAyNC40IC43IDMzLjljLTIyLjEgMjMtNjAgNDcuNC0xMTMuMyA0Ny40cy05MS4yLTI0LjQtMTEzLjMtNDcuNGMtOS4yLTkuNi04LjktMjQuOCAuNy0zMy45czI0LjgtOC45IDMzLjkgLjd6TTE0NCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTY0IDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwYzAtMzMuMSAyNi45LTYwIDYwLTYwbDE2IDBjMzMuMSAwIDYwIDI2LjkgNjAgNjAgMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwLTktMjAtMjAtMjBsLTE2IDBjLTExIDAtMjAgOS0yMCAyMHoiXX0seVR0PVFwZSxKcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmluLXNxdWludC10ZWFycyIsaWNvbjpbNTEyLDUxMixbMTI5MzE1LCJncmluLXNxdWludC10ZWFycyJdLCJmNTg2IiwiTTQwMy4xIDQwMy4xYzY3LjItNjcuMiA3OC44LTE2OC45IDM0LjktMjQ4bDM2LjctNS4yYzQuNS0uNiA4LjgtMS42IDEzLjEtMi44IDQ0LjYgOTQuOSAyNy43IDIxMS41LTUwLjcgMjkwcy0xOTUuMSA5NS4zLTI5MCA1MC43YzEuMi00LjIgMi4xLTguNiAyLjgtMTMuMWw1LjItMzYuN2M3OS4xIDQzLjkgMTgwLjggMzIuMyAyNDgtMzQuOXpNNzUgNzVjNzguNC03OC40IDE5NS4xLTk1LjMgMjkwLTUwLjctMS4yIDQuMi0yLjEgOC42LTIuOCAxMy4xbC01LjIgMzYuN2MtNzkuMS00My45LTE4MC44LTMyLjMtMjQ4IDM0LjlzLTc4LjggMTY4LjktMzQuOSAyNDhsLTM2LjcgNS4yYy00LjUgLjYtOC44IDEuNi0xMy4xIDIuOC00NC42LTk0LjktMjcuNy0yMTEuNSA1MC43LTI5MHpNMzcwLjkgMjA2LjVjNS44LTEwLjkgMjEuMS0xMi40IDI2LjQtMS4zIDI1LjYgNTMuNSAxNi4yIDExOS42LTI4LjIgMTYzLjktNDQuMyA0NC4zLTExMC4zIDUzLjctMTYzLjggMjguMi0xMS4xLTUuMy05LjYtMjAuNiAxLjMtMjYuNCAzMi0xNy4xIDY0LjItNDAuOCA5My44LTcwLjQgMjkuNy0yOS43IDUzLjQtNjEuOSA3MC41LTk0ek05My4zIDI4MS45Yy0xLjctOCAyLjktMTUuOSAxMC42LTE4LjRsODQuNi0yOGM1LjctMS45IDEyLjEtLjQgMTYuMyAzLjlzNS44IDEwLjYgMy45IDE2LjNsLTI4IDg0LjZjLTIuNiA3LjctMTAuNSAxMi4zLTE4LjQgMTAuNnMtMTMuNC05LTEyLjctMTcuMWwzLjktNDMuMS00My4xIDMuOWMtOC4xIC43LTE1LjUtNC43LTE3LjEtMTIuN3pNMjk0LjYgMTEwLjRsLTMuOSA0My4xIDQzLjEtMy45YzguMS0uNyAxNS41IDQuNyAxNy4xIDEyLjdzLTIuOSAxNS45LTEwLjYgMTguNGwtODQuNiAyOGMtNS43IDEuOS0xMi4xIC40LTE2LjMtMy45cy01LjgtMTAuNi0zLjktMTYuM2wyOC04NC42YzIuNi03LjcgMTAuNS0xMi4zIDE4LjQtMTAuNnMxMy40IDkgMTIuNyAxNy4xek01MTIgNTEuNGMwIDI1LjYtMTguOCA0Ny4zLTQ0LjEgNTAuOUw0MjEuMSAxMDljLTEwLjYgMS41LTE5LjYtNy41LTE4LjEtMTguMWw2LjctNDYuN0M0MTMuMyAxOC44IDQzNSAwIDQ2MC42IDAgNDg5IDAgNTEyIDIzIDUxMiA1MS40ek00NC4xIDQwOS43TDkwLjkgNDAzYzEwLjYtMS41IDE5LjYgNy41IDE4LjEgMTguMWwtNi43IDQ2LjdDOTguNyA0OTMuMiA3NyA1MTIgNTEuNCA1MTIgMjMgNTEyIDAgNDg5IDAgNDYwLjYgMCA0MzUgMTguOCA0MTMuMyA0NC4xIDQwOS43eiJdfSx3VHQ9SnBlLE1UdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLWF1ZGlvIixpY29uOlszODQsNTEyLFtdLCJmMWM3IiwiTTY0IDQ4bDExMiAwIDAgODhjMCAzOS44IDMyLjIgNzIgNzIgNzJsODggMCAwIDI0MGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZMNDggNjRjMC04LjggNy4yLTE2IDE2LTE2ek0yMjQgNjcuOWw5Mi4xIDkyLjEtNjguMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTY4LjF6TTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjYxLjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjQyLjcgMTguN0MyMzAuNyA2LjcgMjE0LjUgMCAxOTcuNSAwTDY0IDB6TTIyMS45IDI2Ny42Yy00LjcgMTAtLjMgMjEuOSA5LjcgMjYuNiAxOS4yIDguOSAzMi40IDI4LjMgMzIuNCA1MC44cy0xMy4yIDQxLjktMzIuNCA1MC44Yy0xMCA0LjctMTQuNCAxNi42LTkuNyAyNi42czE2LjYgMTQuNCAyNi42IDkuN0MyODEuMiA0MTYuOCAzMDQgMzgzLjYgMzA0IDM0NXMtMjIuOC03MS45LTU1LjYtODcuMWMtMTAtNC43LTIxLjktLjMtMjYuNiA5Ljd6TTEwNCAzMDVjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTYgMCAyNy4yIDM0YzMgMy44IDcuNiA2IDEyLjUgNmwuMyAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTEyOGMwLTguOC03LjItMTYtMTYtMTZsLS4zIDBjLTQuOSAwLTkuNSAyLjItMTIuNSA2bC0yNy4yIDM0LTE2IDB6TTIyMy4zIDM3M2M5LjktNS40IDE2LjctMTYgMTYuNy0yOC4xcy02LjctMjIuNy0xNi43LTI4LjFjLTcuOC00LjItMTUuMyAzLjMtMTUuMyAxMi4xbDAgMzJjMCA4LjggNy42IDE2LjMgMTUuMyAxMi4xeiJdfSxlZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2FsZW5kYXIteG1hcmsiLGljb246WzQ0OCw1MTIsWyJjYWxlbmRhci10aW1lcyJdLCJmMjczIiwiTTEyMCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDAgMTYwIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHptMCAxMTJsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI4OGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjg4YzAtOC44LTcuMi0xNi0xNi0xNmwtMjY0IDB6bTE3MS45IDkyLjFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTMzLjkgMzMuOSAzMy45IDMzLjljOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtMzMuOS0zMy45LTMzLjkgMzMuOWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMy45LTMzLjktMzMuOS0zMy45Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMzMuOSAzMy45IDMzLjktMzMuOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHoiXX0sa1R0PWVmZSx0ZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLWRvd24iLGljb246WzUxMiw1MTIsWzYxNDY2LCJhcnJvdy1hbHQtY2lyY2xlLWRvd24iXSwiZjM1OCIsIk0yNTYgNDY0YTIwOCAyMDggMCAxIDEgMC00MTYgMjA4IDIwOCAwIDEgMSAwIDQxNnpNMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMiAyNTYgMjU2IDAgMSAwIDAtNTEyek0yNDQuNyAzODcuM2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGwxMDQtMTA0YzQuNi00LjYgNS45LTExLjUgMy41LTE3LjRTMzY2LjUgMjU2IDM2MCAyNTZsLTcyIDAgMC0xMDRjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTE2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTA0LTcyIDBjLTYuNSAwLTEyLjMgMy45LTE0LjggOS45cy0xLjEgMTIuOSAzLjUgMTcuNGwxMDQgMTA0eiJdfSxTVHQ9dGZlLF9lZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLWxpbmVzIixpY29uOlszODQsNTEyLFsxMjg0NDEsMTI4NDYyLDYxNjg2LCJmaWxlLWFsdCIsImZpbGUtdGV4dCJdLCJmMTVjIiwiTTY0IDQ4bDExMiAwIDAgODhjMCAzOS44IDMyLjIgNzIgNzIgNzJsODggMCAwIDI0MGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZMNDggNjRjMC04LjggNy4yLTE2IDE2LTE2ek0yMjQgNjcuOWw5Mi4xIDkyLjEtNjguMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTY4LjF6TTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjYxLjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjQyLjcgMTguN0MyMzAuNyA2LjcgMjE0LjUgMCAxOTcuNSAwTDY0IDB6bTU2IDI1NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6bTAgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAweiJdfSx6VHQ9X2VlLENUdD1fZWUsX1R0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNvbW1lbnRzIixpY29uOls1NzYsNTEyLFsxMjg0OTAsNjE2NzBdLCJmMDg2IiwiTTc2LjIgMjU4LjdjNi4xLTE1LjIgNC0zMi42LTUuNi00NS45LTE0LjUtMjAuMS0yMi42LTQzLjctMjIuNi02OC44IDAtNjYuOCA2MC41LTEyOCAxNDQtMTI4czE0NCA2MS4yIDE0NCAxMjgtNjAuNSAxMjgtMTQ0IDEyOGMtMTUuOSAwLTMxLjEtMi4zLTQ1LjMtNi41LTEwLjMtMy4xLTIxLjQtMi41LTMxLjQgMS41bC01MC40IDIwLjIgMTEuNC0yOC41ek0wIDE0NGMwIDM1LjggMTEuNiA2OS4xIDMxLjcgOTYuOEwxLjkgMzE1LjJjLTEuMyAzLjItMS45IDYuNi0xLjkgMTAgMCAxNC44IDEyIDI2LjggMjYuOCAyNi44IDMuNCAwIDYuOC0uNyAxMC0xLjlsOTYuMy0zOC41YzE4LjYgNS41IDM4LjQgOC40IDU4LjkgOC40IDEwNiAwIDE5Mi03OC44IDE5Mi0xNzZTMjk4LTMyIDE5Mi0zMiAwIDQ2LjggMCAxNDR6TTM4NCA1MTJjMjAuNiAwIDQwLjMtMyA1OC45LTguNGw5Ni4zIDM4LjVjMy4yIDEuMyA2LjYgMS45IDEwIDEuOSAxNC44IDAgMjYuOC0xMiAyNi44LTI2LjggMC0zLjQtLjctNi44LTEuOS0xMGwtMjkuNy03NC40YzIwLTI3LjggMzEuNy02MS4xIDMxLjctOTYuOCAwLTgyLjQtNjEuNy0xNTEuNS0xNDUtMTcwLjctMS42IDE2LjMtNS4xIDMxLjktMTAuMSA0Ni45IDYzLjkgMTQuOCAxMDcuMiA2Ny4zIDEwNy4yIDEyMy45IDAgMjUuMS04LjEgNDguNy0yMi42IDY4LjgtOS42IDEzLjMtMTEuNyAzMC42LTUuNiA0NS45bDExLjQgMjguNS01MC40LTIwLjJjLTEwLTQtMjEuMS00LjUtMzEuNC0xLjUtMTQuMiA0LjItMjkuNCA2LjUtNDUuMyA2LjUtNzIuMiAwLTEyNy4xLTQ1LjctMTQwLjctMTAxLjItMTUuNiAzLjItMzEuNyA1LTQ4LjEgNS4yIDE2LjQgODEuOSA5NC43IDE0NCAxODguOCAxNDR6Il19LEhiPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS1jaGVjayIsaWNvbjpbNTEyLDUxMixbNjE1MzMsImNoZWNrLWNpcmNsZSJdLCJmMDU4IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMSAwLTUxMiAyNTYgMjU2IDAgMSAxIDAgNTEyem0wLTQ2NGEyMDggMjA4IDAgMSAwIDAgNDE2IDIwOCAyMDggMCAxIDAgMC00MTZ6bTcwLjcgMTIxLjljNy44LTEwLjcgMjIuOC0xMy4xIDMzLjUtNS4zIDEwLjcgNy44IDEzLjEgMjIuOCA1LjMgMzMuNUwyNDMuNCAzNjYuMWMtNC4xIDUuNy0xMC41IDkuMy0xNy41IDkuOC03IC41LTEzLjktMi0xOC44LTYuOWwtNTUuOS01NS45Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMzYgMzYgMTA1LjYtMTQ1LjJ6Il19LFRUdD1IYixMVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibW9vbiIsaWNvbjpbNTEyLDUxMixbMTI3NzY5LDkyMTRdLCJmMTg2IiwiTTIzOS4zIDQ4LjdjLTEwNy4xIDguNS0xOTEuMyA5OC4xLTE5MS4zIDIwNy4zIDAgMTE0LjkgOTMuMSAyMDggMjA4IDIwOCAzMy4zIDAgNjQuNy03LjggOTIuNi0yMS43LTEwMy40LTIzLjQtMTgwLjYtMTE1LjgtMTgwLjYtMjI2LjMgMC02NS44IDI3LjQtMTI1LjEgNzEuMy0xNjcuM3pNMCAyNTZjMC0xNDEuNCAxMTQuNi0yNTYgMjU2LTI1NiAxOS40IDAgMzguNCAyLjIgNTYuNyA2LjMgOS45IDIuMiAxNy4zIDEwLjUgMTguNSAyMC41cy00IDE5LjgtMTMuMSAyNC40Yy02MC42IDMwLjItMTAyLjEgOTIuNy0xMDIuMSAxNjQuOCAwIDEwMS42IDgyLjQgMTg0IDE4NCAxODQgNSAwIDkuOS0uMiAxNC44LS42IDEwLjEtLjggMTkuNiA0LjggMjMuOCAxNC4xczIgMjAuMS01LjMgMjcuMUMzODcuMyA0ODQuOCAzMjQuOCA1MTIgMjU2IDUxMiAxMTQuNiA1MTIgMCAzOTcuNCAwIDI1NnoiXX0sJFR0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNsb3NlZC1jYXB0aW9uaW5nIixpY29uOls1MTIsNTEyLFtdLCJmMjBhIiwiTTQ0OCAxMTJjOC44IDAgMTYgNy4yIDE2IDE2bDAgMjU2YzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0MDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTI1NmMwLTguOCA3LjItMTYgMTYtMTZsMzg0IDB6TTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0em04OCAxNDRsMzIgMGM0LjQgMCA4IDMuNiA4IDggMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTMwLjktMjUuMS01Ni01Ni01NmwtMzIgMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCA4MGMwIDMwLjkgMjUuMSA1NiA1NiA1NmwzMiAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2IDAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgNC40LTMuNiA4LTggOGwtMzIgMGMtNC40IDAtOC0zLjYtOC04bDAtODBjMC00LjQgMy42LTggOC04em0xNjggOGMwLTQuNCAzLjYtOCA4LThsMzIgMGM0LjQgMCA4IDMuNiA4IDggMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTMwLjktMjUuMS01Ni01Ni01NmwtMzIgMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCA4MGMwIDMwLjkgMjUuMSA1NiA1NiA1NmwzMiAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2IDAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgNC40LTMuNiA4LTggOGwtMzIgMGMtNC40IDAtOC0zLjYtOC04bDAtODB6Il19LERUdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJpbWFnZXMiLGljb246WzU3Niw1MTIsW10sImYzMDIiLCJNNDgwIDgwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDI1NmMwIDguOC03LjIgMTYtMTYgMTZsLTMyMCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yNTZjMC04LjggNy4yLTE2IDE2LTE2bDMyMCAwek0xNjAgMzJjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMjU2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDE2MCAzMnptODAgMTEyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTE0MC43IDMuOGMtNC4zLTcuMy0xMi4yLTExLjgtMjAuNy0xMS44cy0xNi40IDQuNS0yMC43IDExLjhsLTQ2LjUgNzktMTcuMi0yNC42Yy00LjUtNi40LTExLjgtMTAuMi0xOS43LTEwLjJzLTE1LjIgMy44LTE5LjcgMTAuMmwtNTYgODBjLTUuMSA3LjMtNS44IDE2LjktMS42IDI0LjhTMTkxLjEgMzIwIDIwMCAzMjBsMjQwIDBjOC42IDAgMTYuNi00LjYgMjAuOC0xMi4xczQuMi0xNi43LS4xLTI0LjFsLTgwLTEzNnpNNDggMTUyYzAtMTMuMy0xMC43LTI0LTI0LTI0UzAgMTM4LjcgMCAxNTJMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzYwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZsMC0yOTZ6Il19LGFmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaXJjbGUtcmlnaHQiLGljb246WzUxMiw1MTIsWzYxODM4LCJhcnJvdy1hbHQtY2lyY2xlLXJpZ2h0Il0sImYzNWEiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAxIC00MTYgMCAyMDggMjA4IDAgMSAxIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwIDI1NiAyNTYgMCAxIDAgLTUxMiAwem0zODcuMyAxMS4zYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42bC0xMDQtMTA0Yy00LjYtNC42LTExLjUtNS45LTE3LjQtMy41UzI1NiAxNDUuNSAyNTYgMTUybDAgNzItMTA0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTA0IDAgMCA3MmMwIDYuNSAzLjkgMTIuMyA5LjkgMTQuOHMxMi45IDEuMSAxNy40LTMuNWwxMDQtMTA0eiJdfSxBVHQ9YWZlLHJmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJpZC1jYXJkIixpY29uOls1NzYsNTEyLFs2MjE0NywiZHJpdmVycy1saWNlbnNlIl0sImYyYzIiLCJNNDggNDE2bDAtMjU2IDQ4MCAwIDAgMjU2YzAgOC44LTcuMiAxNi0xNiAxNmwtMTkyIDBjMC00NC4yLTM1LjgtODAtODAtODBsLTY0IDBjLTQ0LjIgMC04MCAzNS44LTgwIDgwbC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZ6TTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTIwOCAzMTJhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6TTM3NiAyMDhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAgMHptMCA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MCAweiJdfSxFVHQ9cmZlLHNmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaXJjbGUtcGxheSIsaWNvbjpbNTEyLDUxMixbNjE0NjksInBsYXktY2lyY2xlIl0sImYxNDQiLCJNMjU2IDQ4YTIwOCAyMDggMCAxIDEgMCA0MTYgMjA4IDIwOCAwIDEgMSAwLTQxNnptMCA0NjRhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMTIuNSAxNDcuNWMtNy40LTQuNS0xNi43LTQuNy0yNC4zLS41UzE3NiAxNTkuMyAxNzYgMTY4bDAgMTc2YzAgOC43IDQuNyAxNi43IDEyLjMgMjAuOXMxNi44IDQuMSAyNC4zLS41bDE0NC04OGM3LjEtNC40IDExLjUtMTIuMSAxMS41LTIwLjVzLTQuNC0xNi4xLTExLjUtMjAuNWwtMTQ0LTg4ek0yOTggMjU2bC03NCA0NS4yIDAtOTAuNCA3NCA0NS4yeiJdfSxQVHQ9c2ZlLGlmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWxhdWdoLWJlYW0iLGljb246WzUxMiw1MTIsWzEyODUxMywibGF1Z2gtYmVhbSJdLCJmNTlhIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTE4LjMgNTguMmMtNC4yLTEzLjcgNy4xLTI2LjIgMjEuNC0yNi4ybDIzMi42IDBjMTQuMyAwIDI1LjYgMTIuNSAyMS40IDI2LjItMTggNTguOS03Mi45IDEwMS44LTEzNy43IDEwMS44UzEzNi4zIDM3My4xIDExOC4zIDMxNC4yek0xNzYgMTgwYy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4em0xMzIgMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHoiXX0sSVR0PWlmZSxvZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiYWRkcmVzcy1ib29rIixpY29uOls1MTIsNTEyLFs2MjEzOCwiY29udGFjdC1ib29rIl0sImYyYjkiLCJNMzg0IDQ4YzguOCAwIDE2IDcuMiAxNiAxNmwwIDM4NGMwIDguOC03LjIgMTYtMTYgMTZMOTYgNDY0Yy04LjggMC0xNi03LjItMTYtMTZMODAgNjRjMC04LjggNy4yLTE2IDE2LTE2bDI4OCAwek05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI4OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDk2IDB6TTI0MCAyNDhhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6bS0zMiA0MGMtNDQuMiAwLTgwIDM1LjgtODAgODAgMCA4LjggNy4yIDE2IDE2IDE2bDE5MiAwYzguOCAwIDE2LTcuMiAxNi0xNiAwLTQ0LjItMzUuOC04MC04MC04MGwtNjQgMHpNNTEyIDgwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0ek00OTYgMTkyYy04LjggMC0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjRjMC04LjgtNy4yLTE2LTE2LTE2em0xNiAxNDRjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjR6Il19LE5UdD1vZmUsbmZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhvdXJnbGFzcyIsaWNvbjpbMzg0LDUxMixbOTIwMyw2MjAzMiwiaG91cmdsYXNzLWVtcHR5Il0sImYyNTQiLCJNMjQgMEMxMC43IDAgMCAxMC43IDAgMjRTMTAuNyA0OCAyNCA0OGw4IDAgMCAxOWMwIDQwLjMgMTYgNzkgNDQuNSAxMDcuNWw4MS41IDgxLjUtODEuNSA4MS41QzQ4IDM2NiAzMiA0MDQuNyAzMiA0NDVsMCAxOS04IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzM2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTggMCAwLTE5YzAtNDAuMy0xNi03OS00NC41LTEwNy41bC04MS41LTgxLjUgODEuNS04MS41QzMzNiAxNDYgMzUyIDEwNy4zIDM1MiA2N2wwLTE5IDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNFMzNzMuMyAwIDM2MCAwTDI0IDB6TTE5MiAyODkuOWw4MS41IDgxLjVDMjkzIDM5MSAzMDQgNDE3LjQgMzA0IDQ0NWwwIDE5LTIyNCAwIDAtMTljMC0yNy42IDExLTU0IDMwLjUtNzMuNUwxOTIgMjg5Ljl6bTAtNjcuOWwtODEuNS04MS41QzkxIDEyMSA4MCA5NC42IDgwIDY3bDAtMTkgMjI0IDAgMCAxOWMwIDI3LjYtMTEgNTQtMzAuNSA3My41TDE5MiAyMjIuMXoiXX0sUlR0PW5mZSxUZWU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGVhZHBob25lcyIsaWNvbjpbNDQ4LDUxMixbMTI3OTExLDYyODYzLCJoZWFkcGhvbmVzLWFsdCIsImhlYWRwaG9uZXMtc2ltcGxlIl0sImYwMjUiLCJNNDggMjI0YzAtOTcuMiA3OC44LTE3NiAxNzYtMTc2czE3NiA3OC44IDE3NiAxNzZsMCA0NC44Yy0xNC4xLTguMi0zMC41LTEyLjgtNDgtMTIuOGwtMTYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxMjhjMCAyNi41IDIxLjUgNDggNDggNDhsMTYgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMTYwQzQ0OCAxMDAuMyAzNDcuNyAwIDIyNCAwUzAgMTAwLjMgMCAyMjRMMCAzODRjMCA1MyA0MyA5NiA5NiA5NmwxNiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTI4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0xNiAwYy0xNy41IDAtMzMuOSA0LjctNDggMTIuOEw0OCAyMjR6bTAgMTI4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDE2IDAgMCAxMjgtMTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0zMnptMzUyIDBsMCAzMmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTYgMCAwLTEyOCAxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4eiJdfSxPVHQ9VGVlLEZUdD1UZWUsQlR0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZpbGUtcG93ZXJwb2ludCIsaWNvbjpbMzg0LDUxMixbXSwiZjFjNCIsIk02NCA0OGwxMTIgMCAwIDg4YzAgMzkuOCAzMi4yIDcyIDcyIDcybDg4IDAgMCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNnpNMjI0IDY3LjlsOTIuMSA5Mi4xLTY4LjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC02OC4xek02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI2MS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI0Mi43IDE4LjdDMjMwLjcgNi43IDIxNC41IDAgMTk3LjUgMEw2NCAwem04OCAyNTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTI4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNiAyOCAwYzM3LjYgMCA2OC0zMC40IDY4LTY4cy0zMC40LTY4LTY4LTY4bC01MiAwem01MiA4OGwtMjggMCAwLTQwIDI4IDBjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIweiJdfSxIVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToid2luZG93LW1heGltaXplIixpY29uOls1MTIsNTEyLFsxMjg0NzBdLCJmMmQwIiwiTTQ4IDIyNGwwIDE2MGMwIDguOCA3LjIgMTYgMTYgMTZsMzg0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTYwLTQxNiAwek0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4eiJdfSxsZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY29tbWVudC1kb3RzIixpY29uOls1MTIsNTEyLFsxMjgxNzIsNjIwNzUsImNvbW1lbnRpbmciXSwiZjRhZCIsIk0wIDI0MGMwIDU0LjQgMTkuMyAxMDQuNiA1MS45IDE0NC45TDMuMSA0NzQuM2MtMiAzLjctMy4xIDcuOS0zLjEgMTIuMiAwIDE0LjEgMTEuNCAyNS41IDI1LjUgMjUuNSA0IDAgNy44LS42IDExLjUtMi4xTDE1My40IDQ2MGMzMS40IDEyLjkgNjYuMSAyMCAxMDIuNiAyMCAxNDEuNCAwIDI1Ni0xMDcuNSAyNTYtMjQwUzM5Ny40IDAgMjU2IDAgMCAxMDcuNSAwIDI0MHpNOTQgNDA3LjljOS4zLTE3LjEgNy40LTM4LjEtNC44LTUzLjItMjYuMS0zMi4zLTQxLjItNzEuOS00MS4yLTExNC43IDAtMTAzLjIgOTAuMi0xOTIgMjA4LTE5MnMyMDggODguOCAyMDggMTkyLTkwLjIgMTkyLTIwOCAxOTJjLTMwLjIgMC01OC43LTUuOS04NC4zLTE2LjQtMTEuOS00LjktMjUuMy00LjgtMzcuMSAuM0w3NiA0NDAuOSA5NCA0MDcuOXpNMTQ0IDI3MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTE0NC0zMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem04MCAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LHFUdD1sZmUsY2ZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi10b25ndWUtd2luayIsaWNvbjpbNTEyLDUxMixbMTI4NTQwLCJncmluLXRvbmd1ZS13aW5rIl0sImY1OGIiLCJNMzY2LjkgNDMyYy44LTUuMiAxLjEtMTAuNiAxLjEtMTZsMC01My41YzEwLjItMTIuNiAxOC4zLTI2LjkgMjMuOC00Mi41IDQuMS0xMS42LTcuOC0yMS40LTE5LjYtMTcuOC0zNC44IDEwLjYtNzQuMyAxNi42LTExNi4zIDE2LjYtNDEuOSAwLTgxLjQtNi0xMTYuMS0xNi41LTExLjgtMy42LTIzLjcgNi4xLTE5LjYgMTcuOCA1LjUgMTUuNSAxMy42IDI5LjkgMjMuOCA0Mi40bDAgNTMuNWMwIDUuNCAuNCAxMC44IDEuMSAxNi01OC40LTM2LjgtOTcuMS0xMDEuOS05Ny4xLTE3NiAwLTExNC45IDkzLjEtMjA4IDIwOC0yMDhzMjA4IDkzLjEgMjA4IDIwOGMwIDc0LjEtMzguOCAxMzkuMi05Ny4xIDE3NnptLTM4LjggNjkuN0M0MzQuNCA0NzAuNiA1MTIgMzcyLjMgNTEyIDI1NiA1MTIgMTE0LjYgMzk3LjQgMCAyNTYgMFMwIDExNC42IDAgMjU2QzAgMzcyLjMgNzcuNiA0NzAuNiAxODMuOSA1MDEuNyAyMDMuNCA1MTguMSAyMjguNSA1MjggMjU2IDUyOHM1Mi42LTkuOSA3Mi4xLTI2LjN6TTMyMCAzNzguNmwwIDM3LjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRzLTY0LTI4LjctNjQtNjRsMC0zNy40YzAtMTQuNyAxMS45LTI2LjYgMjYuNi0yNi42bDIgMGMxMS4zIDAgMjEuMSA3LjkgMjMuNiAxOC45IDIuOCAxMi42IDIwLjggMTIuNiAyMy42IDAgMi41LTExLjEgMTIuMy0xOC45IDIzLjYtMTguOWwyIDBjMTQuNyAwIDI2LjYgMTEuOSAyNi42IDI2LjZ6TTEzMiAyMzJjMC0xMSA5LTIwIDIwLTIwbDE2IDBjMTEgMCAyMCA5IDIwIDIwczkgMjAgMjAgMjAgMjAtOSAyMC0yMGMwLTMzLjEtMjYuOS02MC02MC02MGwtMTYgMGMtMzMuMSAwLTYwIDI2LjktNjAgNjAgMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjB6bTIyOC40LTI0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTI4OCAyMDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptMTI4IDBhODAgODAgMCAxIDAgLTE2MCAwIDgwIDgwIDAgMSAwIDE2MCAweiJdfSxWVHQ9Y2ZlLGRmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJob3VyZ2xhc3MtaGFsZiIsaWNvbjpbMzg0LDUxMixbImhvdXJnbGFzcy0yIl0sImYyNTIiLCJNMCAyNEMwIDEwLjcgMTAuNyAwIDI0IDBMMzYwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTggMCAwIDE5YzAgNDAuMy0xNiA3OS00NC41IDEwNy41bC04MS41IDgxLjUgODEuNSA4MS41QzMzNiAzNjYgMzUyIDQwNC43IDM1MiA0NDVsMCAxOSA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDggMCAwLTE5YzAtNDAuMyAxNi03OSA0NC41LTEwNy41bDgxLjUtODEuNS04MS41LTgxLjVDNDggMTQ2IDMyIDEwNy4zIDMyIDY3bDAtMTktOCAwQzEwLjcgNDggMCAzNy4zIDAgMjR6TTExMC41IDM3MS41Yy0zLjkgMy45LTcuNSA4LjEtMTAuNyAxMi41bDE4NC40IDBjLTMuMi00LjQtNi44LTguNi0xMC43LTEyLjVsLTgxLjUtODEuNS04MS41IDgxLjV6TTgwLjggNDMyYy0uNSA0LjMtLjggOC42LS44IDEzbDAgMTkgMjI0IDAgMC0xOWMwLTQuNC0uMy04LjctLjgtMTNMODAuOCA0MzJ6TTI1NC4xIDE2MGwtMTI0LjEgMCA2Mi4xIDYyLjEgNjIuMS02Mi4xem0zOS43LTQ4QzMwMC40IDk4LjEgMzA0IDgyLjcgMzA0IDY3bDAtMTktMjI0IDAgMCAxOWMwIDE1LjcgMy42IDMxLjEgMTAuMiA0NWwyMDMuNSAweiJdfSxqVHQ9ZGZlLHVmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjcmVkaXQtY2FyZCIsaWNvbjpbNTEyLDUxMixbMTI4MTc5LDYyMDgzLCJjcmVkaXQtY2FyZC1hbHQiXSwiZjA5ZCIsIk00NDggMTEyYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyLTQxNiAwIDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDM4NCAwem0xNiAxMTJsMCAxNjBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQwMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTYwIDQxNiAwek02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCA2NHpNODAgMzQ0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0em0xNDQgMGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC02NCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHoiXX0sVVR0PXVmZSxXVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGFuZC1zcG9jayIsaWNvbjpbNTEyLDUxMixbMTI4NDA2XSwiZjI1OSIsIk0xMzguMyA4MC44Yy05LjItMzMuOCAxMC41LTY4LjggNDQuMy03OC40IDM0LTkuNiA2OS40IDEwLjIgNzkgNDQuMkwyOTEuOSAxNTMuNyAzMDUuMSA4NGM2LjYtMzQuNyA0MC4xLTU3LjUgNzQuOC01MC45IDMxLjQgNiA1MyAzMy45IDUyIDY0LjkgMTAtMi42IDIwLjgtMi44IDMxLjUtLjEgMzQuMyA4LjYgNTUuMSA0My4zIDQ2LjYgNzcuNkw0NTQuNyAzOTcuMkM0MzcuOCA0NjQuNyAzNzcuMiA1MTIgMzA3LjYgNTEybC0zMy43IDBjLTU2LjkgMC0xMTIuMi0xOS0xNTcuMi01My45bC05Mi03MS42Yy0yNy45LTIxLjctMzIuOS02MS45LTExLjItODkuOHM2MS45LTMyLjkgODkuOC0xMS4ybDE3IDEzLjItNTEuOC0xMzEuMmMtMTMtMzIuOSAzLjItNzAuMSAzNi04MyAxMS4xLTQuNCAyMi43LTUuNCAzMy43LTMuN3ptNzcuMS0yMS4yYy0yLjQtOC41LTExLjItMTMuNC0xOS43LTExcy0xMy40IDExLjItMTEgMTkuN2w1NC44IDE4Mi40YzMuNSAxMi4zLTMuMyAyNS4yLTE1LjQgMjkuM3MtMjUuMy0yLTMwLTEzLjlMMTQyLjkgMTM4LjFjLTMuMi04LjItMTIuNS0xMi4zLTIwLjgtOXMtMTIuMyAxMi41LTkgMjAuOGw3My4zIDE4NS42YzEyIDMwLjMtMjMuNyA1Ny00OS40IDM3TDczLjggMzIzLjRjLTctNS40LTE3LTQuMi0yMi41IDIuOHMtNC4yIDE3IDIuOCAyMi41bDkyIDcxLjZjMzYuNSAyOC40IDgxLjQgNDMuOCAxMjcuNyA0My44bDMzLjcgMGM0Ny41IDAgODktMzIuNCAxMDAuNS03OC41bDU1LjQtMjIxLjZjMi4xLTguNi0zLjEtMTcuMy0xMS42LTE5LjRzLTE3LjMgMy4xLTE5LjQgMTEuNmwtMjYgMTA0Yy0yLjkgMTEuNy0xMy40IDE5LjktMjUuNSAxOS45LTE2LjUgMC0yOC45LTE1LTI1LjgtMzEuMkwzODMuNyA5OWMxLjctOC43LTQtMTcuMS0xMi43LTE4LjdTMzU0IDg0LjMgMzUyLjMgOTNMMzIwLjUgMjYwYy0yLjIgMTEuNi0xMi40IDIwLTI0LjIgMjAtMTEgMC0yMC43LTcuMy0yMy43LTE3LjlMMjE1LjQgNTkuNnoiXX0sR1R0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImJlbGwtc2xhc2giLGljb246WzU3Niw1MTIsWzEyODI3Nyw2MTk0M10sImYxZjYiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtODcuOC04Ny44YzE3LjUtMy4zIDMwLjgtMTguNyAzMC44LTM3LjEgMC02LjctMS44LTEzLjMtNS4xLTE5TDQ4NSAzMjEuN2MtMTktMzIuNi0yOS02OS42LTI5LTEwNy4zbDAtMTQuNWMwLTg0LjYtNjIuNi0xNTQuNy0xNDQtMTY2LjNsMC05LjdjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA5LjdjLTQyLjIgNi03OS40IDI3LjgtMTA1LjQgNTkuMUw0MS0yNC45ek0xOTIuOCAxMjYuOUMyMTQuNyA5OC40IDI0OS4yIDgwIDI4OCA4MCAzNTQuMyA4MCA0MDggMTMzLjcgNDA4IDIwMGwwIDE0LjVjMCA0Ni4yIDEyLjMgOTEuNSAzNS41IDEzMS40bDEyLjkgMjIuMS0yMi42IDAtMjQxLjEtMjQxLjF6TTEzMi41IDM0NS45YzE5LjUtMzMuNCAzMS4zLTcwLjcgMzQuNi0xMDlsLTQ2LjctNDYuN2MtLjIgMy4zLS4zIDYuNi0uMyA5LjlsMCAxNC41YzAgMzcuNy0xMCA3NC43LTI5IDEwNy4zTDY5LjEgMzU5LjJjLTMuNCA1LjgtNS4xIDEyLjMtNS4xIDE5IDAgMjAuOSAxNi45IDM3LjggMzcuOCAzNy44bDI0NC40IDAtNDgtNDgtMTc4LjYgMCAxMi45LTIyLjF6TTIyMC4xIDQ2NGM5LjkgMjggMzYuNiA0OCA2Ny45IDQ4czU4LTIwIDY3LjktNDhsLTEzNS44IDB6Il19LFlUdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzdGFyIixpY29uOls1NzYsNTEyLFsxMTA4OCw2MTQ0Nl0sImYwMDUiLCJNMjg4LjEtMzJjOSAwIDE3LjMgNS4xIDIxLjQgMTMuMUwzODMgMTI1LjMgNTQyLjkgMTUwLjdjOC45IDEuNCAxNi4zIDcuNyAxOS4xIDE2LjNzLjUgMTgtNS44IDI0LjRMNDQxLjcgMzA1LjkgNDY3IDQ2NS44YzEuNCA4LjktMi4zIDE3LjktOS42IDIzLjJzLTE3IDYuMS0yNSAyTDI4OC4xIDQxNy42IDE0My44IDQ5MWMtOCA0LjEtMTcuNyAzLjMtMjUtMnMtMTEtMTQuMi05LjYtMjMuMkwxMzQuNCAzMDUuOSAyMCAxOTEuNGMtNi40LTYuNC04LjYtMTUuOC01LjgtMjQuNHMxMC4xLTE0LjkgMTkuMS0xNi4zbDE1OS45LTI1LjQgNzMuNi0xNDQuMmM0LjEtOCAxMi40LTEzLjEgMjEuNC0xMy4xem0wIDc2LjhMMjMwLjMgMTU4Yy0zLjUgNi44LTEwIDExLjYtMTcuNiAxMi44bC0xMjUuNSAyMCA4OS44IDg5LjljNS40IDUuNCA3LjkgMTMuMSA2LjcgMjAuN2wtMTkuOCAxMjUuNSAxMTMuMy01Ny42YzYuOC0zLjUgMTQuOS0zLjUgMjEuOCAwbDExMy4zIDU3LjYtMTkuOC0xMjUuNWMtMS4yLTcuNiAxLjMtMTUuMyA2LjctMjAuN2w4OS44LTg5LjktMTI1LjUtMjBjLTcuNi0xLjItMTQuMS02LTE3LjYtMTIuOEwyODguMSA0NC44eiJdfSxLVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmxhZyIsaWNvbjpbNDQ4LDUxMixbMTI3OTg4LDYxNzI1XSwiZjAyNCIsIk00OCAyNEM0OCAxMC43IDM3LjMgMCAyNCAwUzAgMTAuNyAwIDI0TDAgNDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMDAgODAuMy0yMC4xYzQxLjEtMTAuMyA4NC42LTUuNSAxMjIuNSAxMy40IDQ0LjIgMjIuMSA5NS41IDI0LjggMTQxLjcgNy40bDM0LjctMTNjMTIuNS00LjcgMjAuOC0xNi42IDIwLjgtMzBsMC0yNzkuN2MwLTIzLTI0LjItMzgtNDQuOC0yNy43bC05LjYgNC44Yy00Ni4zIDIzLjItMTAwLjggMjMuMi0xNDcuMSAwLTM1LjEtMTcuNi03NS40LTIyLTExMy41LTEyLjVMNDggNTIgNDggMjR6bTAgNzcuNWw5Ni42LTI0LjJjMjctNi43IDU1LjUtMy42IDgwLjQgOC44IDU0LjkgMjcuNCAxMTguNyAyOS43IDE3NSA2LjhsMCAyNDEuOC0yNC40IDkuMWMtMzMuNyAxMi42LTcxLjIgMTAuNy0xMDMuNC01LjQtNDguMi0yNC4xLTEwMy4zLTMwLjEtMTU1LjYtMTcuMWwtNjguNiAxNy4yIDAtMjM3eiJdfSxaVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibGVtb24iLGljb246WzQ0OCw1MTIsWzEyNzgxOV0sImYwOTQiLCJNMzY4IDgwYy0zLjIgMC02LjIgLjQtOC45IDEuMy0xOS4xIDUuNS00Ni4xIDEwLjctNzQuMyAzLjMtNTcuNC0xNC45LTEyNC42IDcuNC0xNzQuNyA1Ny41UzM3LjcgMjU5LjQgNTIuNiAzMTYuOGM3LjMgMjguMiAyLjIgNTUuMi0zLjMgNzQuMy0uOCAyLjgtMS4zIDUuOC0xLjMgOC45IDAgMTcuNyAxNC4zIDMyIDMyIDMyIDMuMiAwIDYuMi0uNCA4LjktMS4zIDE5LjEtNS41IDQ2LjEtMTAuNyA3NC4zLTMuMyA1Ny40IDE0LjkgMTI0LjYtNy40IDE3NC43LTU3LjVzNzIuNC0xMTcuMyA1Ny41LTE3NC43Yy03LjMtMjguMi0yLjItNTUuMiAzLjMtNzQuMyAuOC0yLjggMS4zLTUuOCAxLjMtOC45IDAtMTcuNy0xNC4zLTMyLTMyLTMyem0wLTQ4YzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgNy43LTEuMSAxNS4yLTMuMSAyMi4zLTQuNiAxNS44LTcuMSAzMi45LTMgNDguOSAyMC4xIDc3LjYtMTAuOSAxNjEuNS03MCAyMjAuN3MtMTQzLjEgOTAuMi0yMjAuNyA3MGMtMTYtNC4xLTMzLTEuNi00OC45IDMtNy4xIDItMTQuNiAzLjEtMjIuMyAzLjEtNDQuMiAwLTgwLTM1LjgtODAtODAgMC03LjcgMS4xLTE1LjIgMy4xLTIyLjMgNC42LTE1LjggNy4xLTMyLjkgMy00OC45LTIwLjEtNzcuNiAxMC45LTE2MS41IDcwLTIyMC43UzIxOS4zIDE4IDI5Ni44IDM4LjFjMTYgNC4xIDMzIDEuNiA0OC45LTMgNy4xLTIgMTQuNi0zLjEgMjIuMy0zLjF6TTI0Ni43IDE2N2MtNTIgMTUuMi05Ni41IDU5LjctMTExLjcgMTExLjctMy43IDEyLjctMTcuMSAyMC0yOS44IDE2LjNTODUuMiAyNzggODkgMjY1LjNjMTkuOC02Ny43IDc2LjYtMTI0LjUgMTQ0LjMtMTQ0LjMgMTIuNy0zLjcgMjYuMSAzLjYgMjkuOCAxNi4zcy0zLjYgMjYuMS0xNi4zIDI5Ljh6Il19LFhUdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJ3aW5kb3ctcmVzdG9yZSIsaWNvbjpbNTc2LDUxMixbXSwiZjJkMiIsIk01MTIgODBMMjI0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNi00OCAwIDAtMTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMjg4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxOTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTQ4IDAgMC00OCA0OCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTE5MmMwLTguOC03LjItMTYtMTYtMTZ6TTM2OCAyODhsLTMyMCAwIDAgMTI4YzAgOC44IDcuMiAxNiAxNiAxNmwyODggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMjh6TTY0IDE2MGwyODggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE5MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMjI0YzAtMzUuMyAyOC43LTY0IDY0LTY0eiJdfSxwZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmluLWhlYXJ0cyIsaWNvbjpbNTEyLDUxMixbMTI4NTI1LCJncmluLWhlYXJ0cyJdLCJmNTg0IiwiTTQ2NCAyNTZjMCAxMTQuOS05My4xIDIwOC0yMDggMjA4UzQ4IDM3MC45IDQ4IDI1NmMwLTMuNSAuMS03LjEgLjMtMTAuNi0xNC0xMy45LTI5LjctMzMuMS0zOS4zLTU2LjctNS44IDIxLjQtOC45IDQ0LTguOSA2Ny4zIDAgMTQxLjQgMTE0LjYgMjU2IDI1NiAyNTZTNTEyIDM5Ny40IDUxMiAyNTZjMC0yMy4zLTMuMS00NS45LTguOS02Ny4zLTkuNiAyMy43LTI1LjQgNDIuOC0zOS4zIDU2LjcgLjIgMy41IC4zIDcgLjMgMTAuNnpNMzY4IDU4LjljMTEuNy02IDI0LjUtOS42IDM3LjctMTAuNi00Mi4xLTMwLjQtOTMuOC00OC4zLTE0OS43LTQ4LjNTMTQ4LjQgMTcuOSAxMDYuMyA0OC4zYzEzLjIgMSAyNiA0LjYgMzcuNyAxMC42IDEzLjgtNy4xIDI5LjMtMTAuOSA0NS4xLTEwLjlsMi45IDBjOC45IDAgMTcuNiAxLjIgMjUuOCAzLjUgMTIuNC0yLjMgMjUuMi0zLjUgMzguMi0zLjVzMjUuOCAxLjIgMzguMiAzLjVjOC4yLTIuMyAxNi45LTMuNSAyNS44LTMuNWwyLjkgMGMxNS44IDAgMzEuMyAzLjggNDUuMSAxMC45em00LjIgMjQzLjRjLTM0LjggMTAuNi03NC4zIDE2LjYtMTE2LjMgMTYuNi00MS45IDAtODEuNC02LTExNi4xLTE2LjUtMTEuOC0zLjYtMjMuNyA2LjEtMTkuNiAxNy44IDE5LjggNTUuOSA3My4xIDk1LjkgMTM1LjggOTUuOSA2Mi43IDAgMTE2LTQwLjEgMTM1LjgtOTYgNC4xLTExLjYtNy44LTIxLjQtMTkuNi0xNy44ek0zMjIuOSA5NkwzMjAgOTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4IDAgNTMuNCA2Ni45IDk1LjcgODkgMTA4LjIgNC40IDIuNSA5LjYgMi41IDE0IDAgMjIuMS0xMi41IDg5LTU0LjggODktMTA4LjIgMC0yNi41LTIxLjUtNDgtNDgtNDhsLTIuOSAwYy0xMy41IDAtMjYuNSA1LjQtMzYgMTQuOWwtOS4xIDkuMS05LjEtOS4xYy05LjUtOS41LTIyLjUtMTQuOS0zNi0xNC45em0tMTg4IDE0LjljLTkuNS05LjUtMjIuNS0xNC45LTM2LTE0LjlMOTYgOTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4IDAgNTMuNCA2Ni45IDk1LjcgODkgMTA4LjIgNC40IDIuNSA5LjYgMi41IDE0IDAgMjIuMS0xMi41IDg5LTU0LjggODktMTA4LjIgMC0yNi41LTIxLjUtNDgtNDgtNDhsLTIuOSAwYy0xMy41IDAtMjYuNSA1LjQtMzYgMTQuOWwtOS4xIDkuMS05LjEtOS4xeiJdfSxRVHQ9cGZlLGZmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWtpc3MtYmVhbSIsaWNvbjpbNTEyLDUxMixbMTI4NTM3LCJraXNzLWJlYW0iXSwiZjU5NyIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTI0MCAxNmwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgMTIuMy00LjYgMjMuNS0xMi4yIDMyIDcuNiA4LjUgMTIuMiAxOS43IDEyLjIgMzIgMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0tNjQtOTJjLTE1LjUgMC0yOCAxMi41LTI4IDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjh6bTEzMiAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4cy0yOCAxMi41LTI4IDI4eiJdfSxKVHQ9ZmZlLGVMdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLXBkZiIsaWNvbjpbNTc2LDUxMixbXSwiZjFjMSIsIk0yMDggNDhMOTYgNDhjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDM4NGMwIDguOCA3LjIgMTYgMTYgMTZsODAgMCAwIDQ4LTgwIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDMyIDY0QzMyIDI4LjcgNjAuNyAwIDk2IDBMMjI5LjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzOTcuMyAxNDEuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zbDAgMTQ5LjUtNDggMCAwLTEyOC04OCAwYy0zOS44IDAtNzItMzIuMi03Mi03MmwwLTg4ek0zNDguMSAxNjBMMjU2IDY3LjkgMjU2IDEzNmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw2OC4xIDB6TTI0MCAzODBsMzIgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MHMtMjYuOSA2MC02MCA2MGwtMTIgMCAwIDI4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTEyOGMwLTExIDktMjAgMjAtMjB6bTMyIDgwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtMTIgMCAwIDQwIDEyIDB6bTk2LTgwbDMyIDBjMjguNyAwIDUyIDIzLjMgNTIgNTJsMCA2NGMwIDI4LjctMjMuMyA1Mi01MiA1MmwtMzIgMGMtMTEgMC0yMC05LTIwLTIwbDAtMTI4YzAtMTEgOS0yMCAyMC0yMHptMzIgMTI4YzYuNiAwIDEyLTUuNCAxMi0xMmwwLTY0YzAtNi42LTUuNC0xMi0xMi0xMmwtMTIgMCAwIDg4IDEyIDB6bTc2LTEwOGMwLTExIDktMjAgMjAtMjBsNDggMGMxMSAwIDIwIDkgMjAgMjBzLTkgMjAtMjAgMjBsLTI4IDAgMCAyNCAyOCAwYzExIDAgMjAgOSAyMCAyMHMtOSAyMC0yMCAyMGwtMjggMCAwIDQ0YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTEyOHoiXX0saGZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi13aWRlIixpY29uOls1MTIsNTEyLFsxMjg1MTUsImdyaW4tYWx0Il0sImY1ODEiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0zNzIuMiA0Ni4zYzExLjgtMy42IDIzLjcgNi4xIDE5LjYgMTcuOC0xOS44IDU1LjktNzMuMSA5Ni0xMzUuOCA5Ni02Mi43IDAtMTE2LTQwLTEzNS44LTk1LjktNC4xLTExLjYgNy44LTIxLjQgMTkuNi0xNy44IDM0LjcgMTAuNiA3NC4yIDE2LjUgMTE2LjEgMTYuNSA0MiAwIDgxLjUtNiAxMTYuMy0xNi42ek0yMjQgMTkyYzAgMzUuMy0xNC4zIDY0LTMyIDY0cy0zMi0yOC43LTMyLTY0IDE0LjMtNjQgMzItNjQgMzIgMjguNyAzMiA2NHptOTYgNjRjLTE3LjcgMC0zMi0yOC43LTMyLTY0czE0LjMtNjQgMzItNjQgMzIgMjguNyAzMiA2NC0xNC4zIDY0LTMyIDY0eiJdfSx0THQ9aGZlLG1mZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWxhdWdoLXNxdWludCIsaWNvbjpbNTEyLDUxMixbImxhdWdoLXNxdWludCJdLCJmNTliIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTI1LjIgNzYuNGMtNi41LTE0IDUtMjguNCAyMC40LTI4LjRsMjIwLjggMGMxNS40IDAgMjYuOCAxNC40IDIwLjQgMjguNC0yMi44IDQ5LjQtNzIuOCA4My42LTEzMC44IDgzLjZzLTEwNy45LTM0LjItMTMwLjgtODMuNnptLTIuNi0xNzMuMmM0LjUtNi44IDEzLjMtOS4yIDIwLjYtNS41bDc5LjYgNDBjNS40IDIuNyA4LjggOC4yIDguOCAxNC4zcy0zLjQgMTEuNi04LjggMTQuM2wtNzkuNiA0MGMtNy4zIDMuNi0xNi4xIDEuMy0yMC42LTUuNXMtMy4xLTE1LjkgMy4xLTIxLjFMMTU5IDIwOCAxMjUuOCAxODAuM2MtNi4yLTUuMi03LjYtMTQuMy0zLjEtMjEuMXptMjYzLjYgMjEuMUwzNTMgMjA4IDM4Ni4yIDIzNS43YzYuMiA1LjIgNy42IDE0LjMgMy4xIDIxLjFzLTEzLjMgOS4yLTIwLjYgNS41bC03OS42LTQwYy01LjQtMi43LTguOC04LjItOC44LTE0LjNzMy40LTExLjYgOC44LTE0LjNsNzkuNi00MGM3LjMtMy42IDE2LjEtMS4zIDIwLjYgNS41czMuMSAxNS45LTMuMSAyMS4xeiJdfSxhTHQ9bWZlLGdmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWtpc3Mtd2luay1oZWFydCIsaWNvbjpbNjQwLDUxMixbMTI4NTM2LCJraXNzLXdpbmstaGVhcnQiXSwiZjU5OCIsIk0zODYgNDM5LjVjLTI5LjIgMTUuNi02Mi41IDI0LjUtOTggMjQuNS0xMTQuOSAwLTIwOC05My4xLTIwOC0yMDhTMTczLjIgNDggMjg4IDQ4YzExMy4yIDAgMjA1LjIgOTAuNCAyMDcuOSAyMDIuOSAxNC4zIDEuNSAyOC42IDYgNDEuOSAxMy43IDIgMS4yIDQgMi40IDUuOSAzLjcgLjItNC4xIC4zLTguMiAuMy0xMi4zIDAtMTQxLjQtMTE0LjYtMjU2LTI1Ni0yNTZTMzIgMTE0LjYgMzIgMjU2IDE0Ni42IDUxMiAyODggNTEyYzQxLjQgMCA4MC41LTkuOCAxMTUuMS0yNy4zLTUuOC0xMi45LTEyLTI4LjUtMTcuMi00NS4yek0yNTYgMjg4YzAgOC44IDcuMiAxNiAxNiAxNmwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMzIgMGMyNi41IDAgNDgtMjEuNSA0OC00OCAwLTEyLjMtNC42LTIzLjUtMTIuMi0zMiA3LjYtOC41IDEyLjItMTkuNyAxMi4yLTMyIDAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bS00OC00OGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTE1Mi00NGwxNiAwYzExIDAgMjAgOSAyMCAyMHM5IDIwIDIwIDIwIDIwLTkgMjAtMjBjMC0zMy4xLTI2LjktNjAtNjAtNjBsLTE2IDBjLTMzLjEgMC02MCAyNi45LTYwIDYwIDAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwIDktMjAgMjAtMjB6TTU0Mi44IDM1MGMtMi4yLTE4LjMtMTIuOS0zNC42LTI4LjktNDMuOC0yOC4xLTE2LjItNjMuOS02LjYtODAuMSAyMS41bC0yLjcgNC42Yy0yNC41IDQyLjUgNy45IDExNy45IDI0LjQgMTUwLjggNS4xIDEwLjEgMTUuNSAxNi4xIDI2LjggMTUuNSAzNi43LTIuMiAxMTguMi0xMS43IDE0Mi44LTU0LjJsMi43LTQuNmMxNi4yLTI4LjEgNi42LTYzLjktMjEuNS04MC4xLTE2LTkuMi0zNS40LTEwLjQtNTIuNC0zLjFsLTkuOCA0LjItMS4zLTEwLjZ6Il19LHJMdD1nZmUsJGVlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNvcHkiLGljb246WzQ0OCw1MTIsW10sImYwYzUiLCJNMzg0IDMzNmwtMTkyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTI1NmMwLTguOCA3LjItMTYgMTYtMTZsMTMzLjUgMGM0LjIgMCA4LjMgMS43IDExLjMgNC43bDU4LjUgNTguNWMzIDMgNC43IDcuMSA0LjcgMTEuM0w0MDAgMzIwYzAgOC44LTcuMiAxNi0xNiAxNnpNMTkyIDM4NGwxOTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5Ny41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDM3MC43IDE4LjdDMzU4LjcgNi43IDM0Mi41IDAgMzI1LjUgMEwxOTIgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyNTZjMCAzNS4zIDI4LjcgNjQgNjQgNjR6TTY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTkyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNi00OCAwIDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjU2YzAtOC44IDcuMi0xNiAxNi0xNmwxNiAwIDAtNDgtMTYgMHoiXX0sc0x0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNoZXNzLWtpbmciLGljb246WzQ0OCw1MTIsWzk4MThdLCJmNDNmIiwiTTIyNC0zMmMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQwIDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDAgMCA4MCAxNjEuOCAwYzIxLjEgMCAzOC4yIDE3LjEgMzguMiAzOC4yIDAgNi40LTEuNiAxMi43LTQuNyAxOC4zTDM1Ny4yIDM3NC41IDQwNS42IDQzNWM2LjcgOC40IDEwLjQgMTguOCAxMC40IDI5LjYgMCAyNi4yLTIxLjIgNDcuNC00Ny40IDQ3LjRMNzkuNCA1MTJjLTI2LjIgMC00Ny40LTIxLjItNDcuNC00Ny40IDAtMTAuOCAzLjctMjEuMiAxMC40LTI5LjZMOTAuOCAzNzQuNSA0LjcgMjE2LjZDMS42IDIxMC45IDAgMjA0LjYgMCAxOTguMiAwIDE3Ny4xIDE3LjEgMTYwIDM4LjIgMTYwbDE2MS44IDAgMC04MC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDQ4IDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNMTMxLjggNDAwbC0zLjYgNC40LTQ3LjYgNTkuNiAyODYuNiAwLTQ3LjYtNTkuNi0zLjYtNC40LTE4NC4zIDB6bTEuMS00OC41bC4zIC41IDE4MS42IDAgLjMtLjUgNzguMy0xNDMuNS0zMzguNyAwIDc4LjMgMTQzLjV6Il19LGJmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzcXVhcmUtcGx1cyIsaWNvbjpbNDQ4LDUxMixbNjE4NDYsInBsdXMtc3F1YXJlIl0sImYwZmUiLCJNNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyMGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzIwYzAtOC44LTcuMi0xNi0xNi0xNkw2NCA4MHpNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTIwMCAzNDRsMC02NC02NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDY0IDAgMC02NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNjQgNjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNjQgMCAwIDY0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0eiJdfSxpTHQ9YmZlLG9MdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLWNvZGUiLGljb246WzM4NCw1MTIsW10sImYxYzkiLCJNNjQgNDhsMTEyIDAgMCA4OGMwIDM5LjggMzIuMiA3MiA3MiA3Mmw4OCAwIDAgMjQwYzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA2NGMwLTguOCA3LjItMTYgMTYtMTZ6TTIyNCA2Ny45bDkyLjEgOTIuMS02OC4xIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNjguMXpNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNjEuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNDIuNyAxOC43QzIzMC43IDYuNyAyMTQuNSAwIDE5Ny41IDBMNjQgMHpNMTcwLjIgMjk1LjZjOC42LTEwLjEgNy41LTI1LjItMi42LTMzLjhzLTI1LjItNy41LTMzLjggMi42bC00OCA1NmMtNy43IDktNy43IDIyLjIgMCAzMS4ybDQ4IDU2YzguNiAxMC4xIDIzLjggMTEuMiAzMy44IDIuNnMxMS4yLTIzLjggMi42LTMzLjhsLTM0LjYtNDAuNCAzNC42LTQwLjR6bTgwLTMxLjJjLTguNi0xMC4xLTIzLjgtMTEuMi0zMy44LTIuNnMtMTEuMiAyMy44LTIuNiAzMy44bDM0LjYgNDAuNC0zNC42IDQwLjRjLTguNiAxMC4xLTcuNSAyNS4yIDIuNiAzMy44czI1LjIgNy41IDMzLjgtMi42bDQ4LTU2YzcuNy05IDcuNy0yMi4yIDAtMzEuMmwtNDgtNTZ6Il19LHZmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4td2luayIsaWNvbjpbNTEyLDUxMixbImdyaW4td2luayJdLCJmNThjIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMzcyLjIgNDYuM2MxMS44LTMuNiAyMy43IDYuMSAxOS42IDE3LjgtMTkuOCA1NS45LTczLjEgOTYtMTM1LjggOTYtNjIuNyAwLTExNi00MC0xMzUuOC05NS45LTQuMS0xMS42IDcuOC0yMS40IDE5LjYtMTcuOCAzNC43IDEwLjYgNzQuMiAxNi41IDExNi4xIDE2LjUgNDIgMCA4MS41LTYgMTE2LjMtMTYuNnpNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNjQgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBjMC0zMy4xIDI2LjktNjAgNjAtNjBsMTYgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MCAwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjAtOS0yMC0yMC0yMGwtMTYgMGMtMTEgMC0yMCA5LTIwIDIweiJdfSxuTHQ9dmZlLHhmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJtb25leS1iaWxsLTEiLGljb246WzUxMiw1MTIsWyJtb25leS1iaWxsLWFsdCJdLCJmM2QxIiwiTTExMiAxMTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRsMCAxNjBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMjg4IDBjMC0zNS4zIDI4LjctNjQgNjQtNjRsMC0xNjBjLTM1LjMgMC02NC0yOC43LTY0LTY0bC0yODggMHpNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptMjU2IDE2YTExMiAxMTIgMCAxIDEgMCAyMjQgMTEyIDExMiAwIDEgMSAwLTIyNHptLTE2IDQ0Yy0xMSAwLTIwIDktMjAgMjAgMCA5LjcgNi45IDE3LjcgMTYgMTkuNmwwIDQ4LjQtNCAwYy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGw0OCAwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtNCAwIDAtNjhjMC0xMS05LTIwLTIwLTIwbC0xNiAweiJdfSxsTHQ9eGZlLGNMdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJleWUtc2xhc2giLGljb246WzU3Niw1MTIsW10sImYwNzAiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtOTYuNC05Ni40YzIuNy0yLjQgNS40LTQuOCA4LTcuMiA0Ni44LTQzLjUgNzguMS05NS40IDkzLTEzMS4xIDMuMy03LjkgMy4zLTE2LjcgMC0yNC42LTE0LjktMzUuNy00Ni4yLTg3LjctOTMtMTMxLjEtNDcuMS00My43LTExMS44LTgwLjYtMTkyLjYtODAuNi01Ni44IDAtMTA1LjYgMTguMi0xNDYgNDQuMkw0MS0yNC45ek0xNzYuOSAxMTEuMWMzMi4xLTE4LjkgNjkuMi0zMS4xIDExMS4xLTMxLjEgNjUuMiAwIDExOC44IDI5LjYgMTU5LjkgNjcuNyAzOC41IDM1LjcgNjUuMSA3OC4zIDc4LjYgMTA4LjMtMTMuNiAzMC00MC4yIDcyLjUtNzguNiAxMDguMy0zLjEgMi44LTYuMiA1LjYtOS40IDguNEwzOTMuOCAzMjhjMTQtMjAuNSAyMi4yLTQ1LjMgMjIuMi03MiAwLTcwLjctNTcuMy0xMjgtMTI4LTEyOC0yNi43IDAtNTEuNSA4LjItNzIgMjIuMmwtMzkuMS0zOS4xem0xODIgMTgybC0xMDgtMTA4YzExLjEtNS44IDIzLjctOS4xIDM3LjEtOS4xIDQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgMTMuNC0zLjMgMjYtOS4xIDM3LjF6TTEwMy40IDE3My4ybC0zNC0zNGMtMzIuNiAzNi44LTU1IDc1LjgtNjYuOSAxMDQuNS0zLjMgNy45LTMuMyAxNi43IDAgMjQuNiAxNC45IDM1LjcgNDYuMiA4Ny43IDkzIDEzMS4xIDQ3LjEgNDMuNyAxMTEuOCA4MC42IDE5Mi42IDgwLjYgMzcuMyAwIDcxLjItNy45IDEwMS41LTIwLjZMMzUyLjIgNDIyYy0yMCA2LjQtNDEuNCAxMC02NC4yIDEwLTY1LjIgMC0xMTguOC0yOS42LTE1OS45LTY3LjctMzguNS0zNS43LTY1LjEtNzguMy03OC42LTEwOC4zIDEwLjQtMjMuMSAyOC42LTUzLjYgNTQtODIuOHoiXX0sZEx0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZpbGUtd29yZCIsaWNvbjpbMzg0LDUxMixbXSwiZjFjMiIsIk02NCA0OGwxMTIgMCAwIDg4YzAgMzkuOCAzMi4yIDcyIDcyIDcybDg4IDAgMCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNnpNMjI0IDY3LjlsOTIuMSA5Mi4xLTY4LjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC02OC4xek02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI2MS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI0Mi43IDE4LjdDMjMwLjcgNi43IDIxNC41IDAgMTk3LjUgMEw2NCAwem03MS4zIDI3NC4yYy0zLjItMTIuOS0xNi4yLTIwLjctMjkuMS0xNy41Uzg1LjUgMjczIDg4LjcgMjg1LjhsMzIgMTI4YzIuNSAxMC4yIDExLjQgMTcuNSAyMS45IDE4LjFzMjAuMS01LjcgMjMuOC0xNS41bDI1LjUtNjguMSAyNS41IDY4LjFjMy43IDkuOCAxMy4zIDE2LjEgMjMuOCAxNS41czE5LjQtNy45IDIxLjktMTguMWwzMi0xMjhjMy4yLTEyLjktNC42LTI1LjktMTcuNS0yOS4xcy0yNS45IDQuNi0yOS4xIDE3LjVsLTEzLjMgNTMuMi0yMC45LTU1LjhDMjExIDI2Mi4yIDIwMiAyNTYgMTkyIDI1NnMtMTkgNi4yLTIyLjUgMTUuNmwtMjAuOSA1NS44LTEzLjMtNTMuMnoiXX0seWZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtYW5ncnkiLGljb246WzUxMiw1MTIsWzEyODU0NCwiYW5ncnkiXSwiZjU1NiIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMSAwIDQxNiAyMDggMjA4IDAgMSAxIDAtNDE2em0wIDQ2NGEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTAtMTQ0YzI0LjEgMCA0NS40IDExLjggNTguNSAzMCA3LjcgMTAuOCAyMi43IDEzLjIgMzMuNSA1LjVzMTMuMi0yMi43IDUuNS0zMy41Yy0yMS43LTMwLjItNTcuMy01MC05Ny41LTUwcy03NS43IDE5LjgtOTcuNSA1MGMtNy43IDEwLjgtNS4zIDI1LjggNS41IDMzLjVzMjUuOCA1LjMgMzMuNS01LjVjMTMuMS0xOC4yIDM0LjQtMzAgNTguNS0zMHptLTgwLTk2YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtLjMgOS43IDMuMmMxMC41IDMuNSAyMS44LTIuMiAyNS4zLTEyLjZzLTIuMi0yMS44LTEyLjYtMjUuM2wtOTYtMzJjLTEwLjUtMy41LTIxLjggMi4yLTI1LjMgMTIuNnMyLjIgMjEuOCAxMi42IDI1LjNsMjguOSA5LjZjLTQuMSA1LjQtNi42IDEyLjEtNi42IDE5LjQgMCAxNy43IDE0LjMgMzIgMzIgMzJ6bTE5Mi0zMmMwLTcuMy0yLjQtMTQtNi42LTE5LjRsMjguOS05LjZjMTAuNS0zLjUgMTYuMS0xNC44IDEyLjYtMjUuM3MtMTQuOC0xNi4xLTI1LjMtMTIuNmwtOTYgMzJjLTEwLjUgMy41LTE2LjEgMTQuOC0xMi42IDI1LjNzMTQuOCAxNi4xIDI1LjMgMTIuNmw5LjctMy4yIDAgLjNjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnoiXX0sdUx0PXlmZSxwTHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2hlc3Mta25pZ2h0IixpY29uOls0NDgsNTEyLFs5ODIyXSwiZjQ0MSIsIk0yMzItMzJjMTEwLjUgMCAyMDAgODkuNSAyMDAgMjAwbDAgMTI3LjdjMCAxOC45LTYuMSAzNy4xLTE3LjIgNTIuMmwtNS4xIDYuMi0zNi4zIDQwLjcgMzIuMSA0MC4yYzYuNyA4LjQgMTAuNCAxOC44IDEwLjQgMjkuNmwtLjIgNC44Yy0yLjQgMjMuOS0yMi42IDQyLjUtNDcuMSA0Mi41bC0yODkuMiAwLTQuOC0uMmMtMjMuOS0yLjQtNDIuNS0yMi42LTQyLjUtNDcuMSAwLTEwLjggMy43LTIxLjIgMTAuNC0yOS42bDM3LjYtNDcgMC0yNC4zYzAtMjQuMyAxMC4xLTQ3LjYgMjcuOC02NC4ybDYzLjUtNTkuNS0xNy40IDAtLjIgLjJjLTIwLjMgMjAuMy00OS42IDI4LjItNzcuMSAyMS4xbC01LjUtMS42Yy0zMC45LTEwLjMtNTIuMy0zOC01NC45LTcwLjFsLS4yLTYuNCAwLTEuNGMwLTE5LjcgNy4xLTM4LjggMTkuOS01My44bDc2LjEtODguOCAwLTQ3LjEgLjEtMi41QzExMy40LTIyLjYgMTIzLjYtMzIgMTM2LTMybDk2IDB6TTgwLjcgNDY0bDI4Ni42IDAtMzguNC00OC0yMDkuOSAwLTM4LjQgNDh6TTE2MCA0OGMwIDUuNy0yLjEgMTEuMy01LjggMTUuNkw3Mi4zIDE1OS4xQzY3IDE2NS40IDY0IDE3My40IDY0IDE4MS43bDAgMS40IC40IDUuMmMxLjkgMTEuOSAxMC4zIDIxLjkgMjEuOSAyNS44bDQuNSAxLjFjMTAuNSAxLjkgMjEuMy0xLjQgMjktOWw3LjItNy4yIDMuNy0zYzMuOS0yLjYgOC41LTQgMTMuMy00bDg4IDBjOS44IDAgMTguNyA2IDIyLjMgMTUuMnMxLjMgMTkuNi01LjkgMjYuM2wtMTA3LjggMTAxYy04LjEgNy42LTEyLjcgMTguMS0xMi43IDI5LjJsMCA0LjMgMjA1LjIgMCA0MC43LTQ1LjggMi4zLTIuOGM1LjEtNi44IDcuOC0xNS4yIDcuOC0yMy43TDM4NCAxNjhjMC04My45LTY4LjEtMTUyLTE1Mi0xNTJsLTcyIDAgMCAzMnptMzIgNzJhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4eiJdfSx3ZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmluLWJlYW0iLGljb246WzUxMiw1MTIsWzEyODUxNiwiZ3Jpbi1iZWFtIl0sImY1ODIiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0zNzIuMiA0Ni4zYzExLjgtMy42IDIzLjcgNi4xIDE5LjYgMTcuOC0xOS44IDU1LjktNzMuMSA5Ni0xMzUuOCA5Ni02Mi43IDAtMTE2LTQwLTEzNS44LTk1LjktNC4xLTExLjYgNy44LTIxLjQgMTkuNi0xNy44IDM0LjcgMTAuNiA3NC4yIDE2LjUgMTE2LjEgMTYuNSA0MiAwIDgxLjUtNiAxMTYuMy0xNi42ek0xNzYgMTgwYy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4em0xMzIgMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHoiXX0sZkx0PXdmZSxoTHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGFuZC1wZWFjZSIsaWNvbjpbNDQ4LDUxMixbOTk5Nl0sImYyNWIiLCJNMjE5IDEuNGMtMzUuMi0zLjctNjYuNiAyMS44LTcwLjMgNTdsLTYuNCA2MC42LTE3LjQtNDkuNEMxMTMuMiAzNi4zIDc2LjYgMTguOCA0My4zIDMwLjVTLTcuNiA3OC44IDQuMSAxMTIuMUw1Ni45IDI2Mi4yQzQxLjcgMjc2LjcgMzIuMiAyOTcuMyAzMi4yIDMyMGwwIDI0YzAgOTIuOCA3NS4yIDE2OCAxNjggMTY4bDQ4IDBjOTIuOCAwIDE2OC03NS4yIDE2OC0xNjhsMC0xMjBjMC0zNS4zLTI4LjctNjQtNjQtNjQtNy45IDAtMTUuNCAxLjQtMjIuNCA0LTEwLjQtMjEuMy0zMi4zLTM2LTU3LjYtMzYtLjcgMC0xLjUgMC0yLjIgMGw1LjktNTYuM2MzLjctMzUuMi0yMS44LTY2LjYtNTctNzAuM3ptLS4yIDE1NS40Yy02LjYgMTAuMS0xMC41IDIyLjItMTAuNSAzNS4ybDAgNDhjMCAuNyAwIDEuNCAwIDItNS4xLTEuMy0xMC41LTItMTYtMmwtNy40IDAtNS40LTE1LjMgMTctMTYxLjNjLjktOC44IDguOC0xNS4yIDE3LjYtMTQuMnMxNS4yIDguOCAxNC4yIDE3LjZsLTkuNSA5MC4xek03OS42IDg1LjZsNTQuMyAxNTQuNC0yMS43IDBjLTQgMC04IC4zLTExLjkgLjlMNDkuNCA5Ni4yYy0yLjktOC4zIDEuNS0xNy41IDkuOC0yMC40czE3LjUgMS41IDIwLjQgOS44ek0yNTYuMiAxOTJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDQ4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtNDh6bTM4LjQgMTA4YzEwLjQgMjEuMyAzMi4zIDM2IDU3LjYgMzYgNS41IDAgMTAuOS0uNyAxNi0ybDAgMTBjMCA2Ni4zLTUzLjcgMTIwLTEyMCAxMjBsLTQ4IDBjLTY2LjMgMC0xMjAtNTMuNy0xMjAtMTIwbDAtMjRjMC0xNy43IDE0LjMtMzIgMzItMzJsODAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0IDAtLjcgMC0xLjQgMC0yIDUuMSAxLjMgMTAuNSAyIDE2IDIgNy45IDAgMTUuNC0xLjQgMjIuNC00em03My42LTI4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtNDhjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDQ4eiJdfSxtTHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY29tcGFzcyIsaWNvbjpbNTEyLDUxMixbMTI5NTE3XSwiZjE0ZSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTMwNi43IDY5LjFMMTYyLjQgMzgwLjZjLTE5LjQgNy41LTM4LjUtMTEuNi0zMS0zMWw1NS41LTE0NC4zYzMuMy04LjUgOS45LTE1LjEgMTguNC0xOC40bDE0NC4zLTU1LjVjMTkuNC03LjUgMzguNSAxMS42IDMxIDMxTDMyNS4xIDMwNi43Yy0zLjMgOC41LTkuOSAxNS4xLTE4LjQgMTguNHpNMjg4IDI1NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAweiJdfSxnTHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3F1YXJlIixpY29uOls0NDgsNTEyLFs5NjMyLDk3MjMsOTcyNCw2MTU5MF0sImYwYzgiLCJNMzg0IDgwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyMGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDMyYy04LjggMC0xNi03LjItMTYtMTZMNDggOTZjMC04LjggNy4yLTE2IDE2LTE2bDMyMCAwek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyeiJdfSxNZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmluIixpY29uOls1MTIsNTEyLFsxMjg1MTIsImdyaW4iXSwiZjU4MCIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTM3Mi4yIDQ2LjNjMTEuOC0zLjYgMjMuNyA2LjEgMTkuNiAxNy44LTE5LjggNTUuOS03My4xIDk2LTEzNS44IDk2LTYyLjcgMC0xMTYtNDAtMTM1LjgtOTUuOS00LjEtMTEuNiA3LjgtMjEuNCAxOS42LTE3LjggMzQuNyAxMC42IDc0LjIgMTYuNSAxMTYuMSAxNi41IDQyIDAgODEuNS02IDExNi4zLTE2LjZ6TTE0NCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sYkx0PU1mZSxrZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1zbWlsZSIsaWNvbjpbNTEyLDUxMixbMTI4NTc4LCJzbWlsZSJdLCJmMTE4IiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTc3LjMgNjMuNEMxOTIuMyAzMzUgMjE4LjQgMzUyIDI1NiAzNTJzNjMuNy0xNyA3OC43LTMyLjZjOS4yLTkuNiAyNC40LTkuOSAzMy45LS43czkuOSAyNC40IC43IDMzLjljLTIyLjEgMjMtNjAgNDcuNC0xMTMuMyA0Ny40cy05MS4yLTI0LjQtMTEzLjMtNDcuNGMtOS4yLTkuNi04LjktMjQuOCAuNy0zMy45czI0LjgtOC45IDMzLjkgLjd6TTE0NCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sdkx0PWtmZSxTZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1zbWlsZS1iZWFtIixpY29uOls1MTIsNTEyLFsxMjg1MjIsInNtaWxlLWJlYW0iXSwiZjViOCIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTE3Ny4zIDYzLjRDMTkyLjMgMzM1IDIxOC40IDM1MiAyNTYgMzUyczYzLjctMTcgNzguNy0zMi42YzkuMi05LjYgMjQuNC05LjkgMzMuOS0uN3M5LjkgMjQuNCAuNyAzMy45Yy0yMi4xIDIzLTYwIDQ3LjQtMTEzLjMgNDcuNHMtOTEuMi0yNC40LTExMy4zLTQ3LjRjLTkuMi05LjYtOC45LTI0LjggLjctMzMuOXMyNC44LTguOSAzMy45IC43ek0xNzYgMTgwYy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4em0xMzIgMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHoiXX0seEx0PVNmZSx5THQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZm9sZGVyLWNsb3NlZCIsaWNvbjpbNTEyLDUxMixbXSwiZTE4NSIsIk00NDggNDAwTDY0IDQwMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTQ0IDQxNiAwIDAgMTQ0YzAgOC44LTcuMiAxNi0xNiAxNnptMTYtMjA4bC00MTYgMCAwLTk2YzAtOC44IDcuMi0xNiAxNi0xNmwxMzguNyAwYzMuNSAwIDYuOCAxLjEgOS42IDMuMkwyNTAuNyAxMTJjMTMuOCAxMC40IDMwLjcgMTYgNDggMTZMNDQ4IDEyOGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0OHpNNjQgNDQ4bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjQwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDI5OC43IDgwYy02LjkgMC0xMy43LTIuMi0xOS4yLTYuNEwyNDEuMSA0NC44QzIzMCAzNi41IDIxNi41IDMyIDIwMi43IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjR6Il19LHdMdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJrZXlib2FyZCIsaWNvbjpbNTc2LDUxMixbOWUzXSwiZjExYyIsIk02NCAxMTJjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI1NmMwIDguOCA3LjIgMTYgMTYgMTZsNDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjU2YzAtOC44LTcuMi0xNi0xNi0xNkw2NCAxMTJ6TTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6TTE3NiAzMjBsMjI0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0yMjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZjMC04LjggNy4yLTE2IDE2LTE2em0tNzItNzJjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNnptMTYtOTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnptNjQgOTZjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNnptMTYtOTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnptNjQgOTZjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNnptMTYtOTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnptNjQgOTZjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNnptMTYtOTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnptNjQgOTZjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNnptMTYtOTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnoiXX0semZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2Utcm9sbGluZy1leWVzIixpY29uOls1MTIsNTEyLFsxMjg1ODAsIm1laC1yb2xsaW5nLWV5ZXMiXSwiZjVhNSIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMSAwIDQxNiAyMDggMjA4IDAgMSAxIDAtNDE2em0wIDQ2NGEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE3NiAzNzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTEyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTExMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHpNMTYwIDI2NGMtMjIuMSAwLTQwLTE3LjktNDAtNDAgMC05LjUgMy4zLTE4LjEgOC44LTI1IDMuMiAxNC4zIDE2IDI1IDMxLjIgMjVzMjgtMTAuNyAzMS4yLTI1YzUuNSA2LjggOC44IDE1LjUgOC44IDI1IDAgMjIuMS0xNy45IDQwLTQwIDQwem0wIDQwYTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwem0xOTItNDBjLTIyLjEgMC00MC0xNy45LTQwLTQwIDAtOS41IDMuMy0xOC4xIDguOC0yNSAzLjIgMTQuMyAxNiAyNSAzMS4yIDI1czI4LTEwLjcgMzEuMi0yNWM1LjUgNi44IDguOCAxNS41IDguOCAyNSAwIDIyLjEtMTcuOSA0MC00MCA0MHptMCA0MGE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHoiXX0sTUx0PXpmZSxDZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmltYWNlIixpY29uOls1MTIsNTEyLFsxMjg1NTYsImdyaW1hY2UiXSwiZjU3ZiIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMCAwIDQxNiAyMDggMjA4IDAgMSAwIDAtNDE2ek01MTIgMjU2YTI1NiAyNTYgMCAxIDEgLTUxMiAwIDI1NiAyNTYgMCAxIDEgNTEyIDB6TTE1MiAzNTJjMCAxMS45IDguNiAyMS44IDIwIDIzLjdsMC00Ny4zYy0xMS40IDEuOS0yMCAxMS44LTIwIDIzLjd6bTg0IDI0bDAtNDgtMjQgMCAwIDQ4IDI0IDB6bTY0IDBsMC00OC0yNCAwIDAgNDggMjQgMHptNDAtLjNjMTEuNC0xLjkgMjAtMTEuOCAyMC0yMy43cy04LjYtMjEuOC0yMC0yMy43bDAgNDcuM3pNMTc2IDI4OGwxNjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NGwtMTYwIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjR6bTAtMTEyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LGtMdD1DZmUsX2ZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS1kb3QiLGljb246WzUxMiw1MTIsWzEyODI4MCwiZG90LWNpcmNsZSJdLCJmMTkyIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMSAwLTUxMiAyNTYgMjU2IDAgMSAxIDAgNTEyem0wLTQ2NGEyMDggMjA4IDAgMSAwIDAgNDE2IDIwOCAyMDggMCAxIDAgMC00MTZ6bTAgMzA0YTk2IDk2IDAgMSAxIDAtMTkyIDk2IDk2IDAgMSAxIDAgMTkyeiJdfSxTTHQ9X2ZlLHpMdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJvYmplY3QtZ3JvdXAiLGljb246WzU3Niw1MTIsW10sImYyNDciLCJNNDAgNjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptNDggNTkuM2MxNi02LjUgMjguOS0xOS4zIDM1LjMtMzUuM2wzMjkuMyAwYzYuNSAxNiAxOS4zIDI4LjkgMzUuMyAzNS4zbDAgMjY1LjNjLTE2IDYuNS0yOC45IDE5LjMtMzUuMyAzNS4zbC0zMjkuMyAwYy02LjUtMTYtMTkuMy0yOC45LTM1LjMtMzUuM2wwLTI2NS4zek01MTIgMGMtMjYuOSAwLTQ5LjkgMTYuNS01OS4zIDQwTDEyMy4zIDQwQzExMy45IDE2LjUgOTAuOSAwIDY0IDAgMjguNyAwIDAgMjguNyAwIDY0IDAgOTAuOSAxNi41IDExMy45IDQwIDEyMy4zbDAgMjY1LjNjLTIzLjUgOS41LTQwIDMyLjUtNDAgNTkuMyAwIDM1LjMgMjguNyA2NCA2NCA2NCAyNi45IDAgNDkuOS0xNi41IDU5LjMtNDBsMzI5LjMgMGM5LjUgMjMuNSAzMi41IDQwIDU5LjMgNDAgMzUuMyAwIDY0LTI4LjcgNjQtNjQgMC0yNi45LTE2LjUtNDkuOS00MC01OS4zbDAtMjY1LjNjMjMuNS05LjUgNDAtMzIuNSA0MC01OS4zIDAtMzUuMy0yOC43LTY0LTY0LTY0ek00ODggNjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpNNjQgNDI0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptNDI0IDI0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6TTE5MiAxNzZsODggMCAwIDU2LTg4IDAgMC01NnptLTgtNDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTA0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC03MmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTA0IDB6bTcyIDE4NGwwIDI0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEwNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNzJjMC0xNy43LTE0LjMtMzItMzItMzJsLTI0IDBjMCAxNC42LTMuOSAyOC4yLTEwLjcgNDBsMjYuNyAwIDAgNTYtODggMCAwLTE2LjRjLTIuNiAuMy01LjMgLjQtOCAuNGwtMzIgMHoiXX0sVGZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZmx1c2hlZCIsaWNvbjpbNTEyLDUxMixbMTI4NTYzLCJmbHVzaGVkIl0sImY1NzkiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAxIC00MTYgMCAyMDggMjA4IDAgMSAxIDQxNiAwek0yNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyIDI1NiAyNTYgMCAxIDAgMC01MTJ6TTE2MCAyNDhhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0yMTYtMjRhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNMTkyIDM1MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMjggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTI4IDB6TTE2MCAxNzZhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2em0wIDEyOGE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMTQ0LTgwYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTEyOCAwYTgwIDgwIDAgMSAwIC0xNjAgMCA4MCA4MCAwIDEgMCAxNjAgMHoiXX0sQ0x0PVRmZSxMZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3Rhci1oYWxmLXN0cm9rZSIsaWNvbjpbNTc2LDUxMixbInN0YXItaGFsZi1hbHQiXSwiZjVjMCIsIk0zMDkuNS0xOC45Yy00LjEtOC0xMi40LTEzLjEtMjEuNC0xMy4xcy0xNy4zIDUuMS0yMS40IDEzLjFMMTkzLjEgMTI1LjMgMzMuMiAxNTAuN2MtOC45IDEuNC0xNi4zIDcuNy0xOS4xIDE2LjNzLS41IDE4IDUuOCAyNC40bDExNC40IDExNC41LTI1LjIgMTU5LjljLTEuNCA4LjkgMi4zIDE3LjkgOS42IDIzLjJzMTYuOSA2LjEgMjUgMkwyODguMSA0MTcuNiA0MzIuNCA0OTFjOCA0LjEgMTcuNyAzLjMgMjUtMnMxMS0xNC4yIDkuNi0yMy4yTDQ0MS43IDMwNS45IDU1Ni4xIDE5MS40YzYuNC02LjQgOC42LTE1LjggNS44LTI0LjRzLTEwLjEtMTQuOS0xOS4xLTE2LjNMMzgzIDEyNS4zIDMwOS41LTE4Ljl6TTI2NC4xIDkxLjhsMCAyODQuMS0xMDAuMSA1MC45IDE5LjgtMTI1LjVjMS4yLTcuNi0xLjMtMTUuMy02LjctMjAuN2wtODkuOC04OS45IDEyNS41LTIwYzcuNi0xLjIgMTQuMS02IDE3LjYtMTIuOGwzMy44LTY2LjJ6bTQ4IDI4NC4xbDAtMjg0LjEgMzMuOCA2Ni4yYzMuNSA2LjggMTAgMTEuNiAxNy42IDEyLjhsMTI1LjUgMjAtODkuOCA4OS45Yy01LjQgNS40LTcuOSAxMy4xLTYuNyAyMC43bDE5LjggMTI1LjUtMTAwLjEtNTAuOXoiXX0sX0x0PUxmZSxUTHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmlsZS12aWRlbyIsaWNvbjpbMzg0LDUxMixbXSwiZjFjOCIsIk02NCA0OGwxMTIgMCAwIDg4YzAgMzkuOCAzMi4yIDcyIDcyIDcybDg4IDAgMCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNnpNMjI0IDY3LjlsOTIuMSA5Mi4xLTY4LjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC02OC4xek02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI2MS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI0Mi43IDE4LjdDMjMwLjcgNi43IDIxNC41IDAgMTk3LjUgMEw2NCAwek04MCAyODhsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjQgMzUgMzVjMy4yIDMuMiA3LjUgNSAxMiA1IDkuNCAwIDE3LTcuNiAxNy0xN2wwLTk0LjFjMC05LjQtNy42LTE3LTE3LTE3LTQuNSAwLTguOCAxLjgtMTIgNWwtMzUgMzUgMC0yNGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtOTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6Il19LCRmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWxhdWdoIixpY29uOls1MTIsNTEyLFsibGF1Z2giXSwiZjU5OSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTExOC4zIDU4LjJjLTQuMi0xMy43IDcuMS0yNi4yIDIxLjQtMjYuMmwyMzIuNiAwYzE0LjMgMCAyNS42IDEyLjUgMjEuNCAyNi4yLTE4IDU4LjktNzIuOSAxMDEuOC0xMzcuNyAxMDEuOFMxMzYuMyAzNzMuMSAxMTguMyAzMTQuMnpNMTQ0IDE5MmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxMTHQ9JGZlLCRMdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kLXBvaW50ZXIiLGljb246WzQ0OCw1MTIsW10sImYyNWEiLCJNMTYwIDY0YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxMzZjMCAxMC4zIDYuNiAxOS41IDE2LjQgMjIuOHMyMC42LS4xIDI2LjgtOC4zYzMtMy45IDcuNi02LjQgMTIuOC02LjQgOC44IDAgMTYgNy4yIDE2IDE2IDAgMTAuMyA2LjYgMTkuNSAxNi40IDIyLjhzMjAuNi0uMSAyNi44LTguM2MzLTMuOSA3LjYtNi40IDEyLjgtNi40IDcuOCAwIDE0LjMgNS42IDE1LjcgMTMgMS42IDguMiA3LjMgMTUuMSAxNS4xIDE4czE2LjcgMS42IDIzLjMtMy42YzIuNy0yLjEgNi4xLTMuNCA5LjktMy40IDguOCAwIDE2IDcuMiAxNiAxNmwwIDEyMGMwIDM5LjgtMzIuMiA3Mi03MiA3MmwtMTE2LjYgMGMtMzcuNCAwLTcyLjQtMTguNy05My4yLTQ5LjlMNTAuNyAzMTIuOWMtNC45LTcuNC0yLjktMTcuMyA0LjQtMjIuMnMxNy4zLTIuOSAyMi4yIDQuNEwxMTYgMzUzLjJjNS45IDguOCAxNi44IDEyLjcgMjYuOSA5LjdzMTctMTIuNCAxNy0yM0wxNjAgNjR6TTE3NiAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDE5Ny43QzkxLjIgMjM4IDU1LjUgMjMyLjggMjguNSAyNTAuNy0uOSAyNzAuNC04LjkgMzEwLjEgMTAuOCAzMzkuNUw3OC4zIDQ0MC44YzI5LjcgNDQuNSA3OS42IDcxLjIgMTMzLjEgNzEuMkwzMjggNTEyYzY2LjMgMCAxMjAtNTMuNyAxMjAtMTIwbDAtMTIwYzAtMzUuMy0yOC43LTY0LTY0LTY0LTQuNSAwLTguOCAuNS0xMyAxLjMtMTEuNy0xNS40LTMwLjItMjUuMy01MS0yNS4zLTYuOSAwLTEzLjUgMS4xLTE5LjcgMy4xLTExLjYtMTYuNC0zMC43LTI3LjEtNTIuMy0yNy4xLTIuNyAwLTUuNCAuMi04IC41TDI0MCA2NGMwLTM1LjMtMjguNy02NC02NC02NHptNDggMzA0YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTk2em00OC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTk2YzAtOC44LTcuMi0xNi0xNi0xNnptODAgMTZjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTZ6Il19LERMdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJyZWdpc3RlcmVkIixpY29uOls1MTIsNTEyLFsxNzRdLCJmMjVkIiwiTTI1NiA0OGEyMDggMjA4IDAgMSAxIDAgNDE2IDIwOCAyMDggMCAxIDEgMC00MTZ6bTAgNDY0YTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjAwIDE0NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxNzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTU2IDM0LjQgMCA0MSA2OC4zYzYuOCAxMS40IDIxLjYgMTUgMzIuOSA4LjJzMTUtMjEuNiA4LjItMzIuOWwtMzAuMi01MC4zYzI0LjYtMTEuNSA0MS42LTM2LjQgNDEuNi02NS4zIDAtMzkuOC0zMi4yLTcyLTcyLTcybC04MCAwem03MiA5NmwtNDggMCAwLTQ4IDU2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTggMHoiXX0seiRhPXtmYVNxdWFyZU1pbnVzOmNwZSxmYU1pbnVzU3F1YXJlOmhDdCxmYUNhbGVuZGFyQ2hlY2s6bUN0LGZhRmFjZUtpc3M6ZHBlLGZhS2lzczpnQ3QsZmFQYXN0ZTpPYixmYUZpbGVDbGlwYm9hcmQ6YkN0LGZhSGFuZFBvaW50TGVmdDp2Q3QsZmFGaWxlRXhjZWw6eEN0LGZhRW52ZWxvcGU6eUN0LGZhU3F1YXJlQ2FyZXREb3duOnVwZSxmYUNhcmV0U3F1YXJlRG93bjp3Q3QsZmFUcnVjazpNQ3QsZmFCZWxsOmtDdCxmYU1lc3NhZ2U6RmIsZmFDb21tZW50QWx0OlNDdCxmYUZhY2VEaXp6eTpwcGUsZmFEaXp6eTp6Q3QsZmFDYWxlbmRhckRheXM6ZnBlLGZhQ2FsZW5kYXJBbHQ6Q0N0LGZhSGFuZFBvaW50VXA6X0N0LGZhSGFuZExpemFyZDpUQ3QsZmFTcXVhcmVGdWxsOkxDdCxmYUNpcmNsZVBhdXNlOmhwZSxmYVBhdXNlQ2lyY2xlOiRDdCxmYUhhcmREcml2ZTptcGUsZmFIZGQ6REN0LGZhRmlsZVppcHBlcjpncGUsZmFGaWxlQXJjaGl2ZTpBQ3QsZmFGbG9wcHlEaXNrOmJwZSxmYVNhdmU6RUN0LGZhRmFjZUdyaW5Ub25ndWVTcXVpbnQ6dnBlLGZhR3JpblRvbmd1ZVNxdWludDpQQ3QsZmFDYW1lcmE6eHBlLGZhQ2FtZXJhQWx0OklDdCxmYUZhY2VHcmluU3RhcnM6eXBlLGZhR3JpblN0YXJzOk5DdCxmYUV5ZTpSQ3QsZmFGYWNlU2FkVGVhcjp3cGUsZmFTYWRUZWFyOk9DdCxmYVNoYXJlRnJvbVNxdWFyZTpNcGUsZmFTaGFyZVNxdWFyZTpGQ3QsZmFOb3RlU3RpY2t5OmtwZSxmYVN0aWNreU5vdGU6QkN0LGZhSGFuZEJhY2tGaXN0OlNwZSxmYUhhbmRSb2NrOkhDdCxmYUNoZXNzUXVlZW46cUN0LGZhRmFjZUdyaW5UZWFyczp6cGUsZmFHcmluVGVhcnM6VkN0LGZhUGVuVG9TcXVhcmU6Q3BlLGZhRWRpdDpqQ3QsZmFGYWNlR3JpbkJlYW1Td2VhdDpfcGUsZmFHcmluQmVhbVN3ZWF0OlVDdCxmYUNsb2NrOlRwZSxmYUNsb2NrRm91cjpXQ3QsZmFGYWNlTGF1Z2hXaW5rOkxwZSxmYUxhdWdoV2luazpHQ3QsZmFQYXBlclBsYW5lOllDdCxmYUhlYXJ0OktDdCxmYUZvbnRBd2Vzb21lOndlZSxmYUZvbnRBd2Vzb21lRmxhZzpaQ3QsZmFGb250QXdlc29tZUxvZ29GdWxsOlhDdCxmYUNsb25lOlFDdCxmYUZvbGRlck9wZW46SkN0LGZhV2luZG93TWluaW1pemU6ZV90LGZhU3RhckhhbGY6dF90LGZhQWxhcm1DbG9jazphX3QsZmFOZXdzcGFwZXI6cl90LGZhSG9zcGl0YWw6TWVlLGZhSG9zcGl0YWxBbHQ6c190LGZhSG9zcGl0YWxXaWRlOmlfdCxmYUNpcmNsZVN0b3A6JHBlLGZhU3RvcENpcmNsZTpvX3QsZmFPYmplY3RVbmdyb3VwOm5fdCxmYUNvbW1lbnQ6bF90LGZhQ2hlc3NQYXduOmNfdCxmYUNhbGVuZGFyUGx1czpkX3QsZmFDbGlwYm9hcmQ6dV90LGZhVGh1bWJzRG93bjpwX3QsZmFJZEJhZGdlOmZfdCxmYVNxdWFyZUNoZWNrOkRwZSxmYUNoZWNrU3F1YXJlOmhfdCxmYUNoZXNzQmlzaG9wOm1fdCxmYUVudmVsb3BlT3BlbjpnX3QsZmFDaXJjbGVYbWFyazpROCxmYVRpbWVzQ2lyY2xlOmJfdCxmYVhtYXJrQ2lyY2xlOnZfdCxmYVNxdWFyZUNhcmV0VXA6QXBlLGZhQ2FyZXRTcXVhcmVVcDp4X3QsZmFGaWxlSW1hZ2U6eV90LGZhU3F1YXJlQ2FyZXRSaWdodDpFcGUsZmFDYXJldFNxdWFyZVJpZ2h0OndfdCxmYVN1bjpMZWUsZmFJbWFnZTpNX3QsZmFMaWdodGJ1bGI6a190LGZhQWRkcmVzc0NhcmQ6a2VlLGZhQ29udGFjdENhcmQ6U190LGZhVmNhcmQ6el90LGZhRmFjZU1laDpQcGUsZmFNZWg6Q190LGZhTWFwOl9fdCxmYUhhbmRQb2ludERvd246VF90LGZhRmFjZU1laEJsYW5rOklwZSxmYU1laEJsYW5rOkxfdCxmYUZhY2VHcmluVG9uZ3VlOk5wZSxmYUdyaW5Ub25ndWU6JF90LGZhRnV0Ym9sOlNlZSxmYUZ1dGJvbEJhbGw6RF90LGZhU29jY2VyQmFsbDpBX3QsZmFGYWNlU3VycHJpc2U6UnBlLGZhU3VycHJpc2U6RV90LGZhRm9sZGVyOk9wZSxmYUZvbGRlckJsYW5rOlBfdCxmYUNsb3VkOklfdCxmYUNpcmNsZTpOX3QsZmFGYWNlR3JpblNxdWludDpGcGUsZmFHcmluU3F1aW50OlJfdCxmYUNpcmNsZVVzZXI6QnBlLGZhVXNlckNpcmNsZTpPX3QsZmFSZWN0YW5nbGVMaXN0OkhwZSxmYUxpc3RBbHQ6Rl90LGZhSGFuZDpxcGUsZmFIYW5kUGFwZXI6Ql90LGZhVGh1bWJzVXA6SF90LGZhQnVpbGRpbmc6cV90LGZhQ2hlc3NSb29rOlZfdCxmYUNpcmNsZVF1ZXN0aW9uOlZwZSxmYVF1ZXN0aW9uQ2lyY2xlOmpfdCxmYUZpbGU6VV90LGZhRmFjZVNhZENyeTpqcGUsZmFTYWRDcnk6V190LGZhQ2FsZW5kYXJNaW51czpHX3QsZmFGYWNlVGlyZWQ6VXBlLGZhVGlyZWQ6WV90LGZhSGFuZFBvaW50UmlnaHQ6S190LGZhQ2lyY2xlVXA6V3BlLGZhQXJyb3dBbHRDaXJjbGVVcDpaX3QsZmFIYW5kU2Npc3NvcnM6WF90LGZhR2VtOlFfdCxmYVJlY3RhbmdsZVhtYXJrOk5iLGZhUmVjdGFuZ2xlVGltZXM6Sl90LGZhVGltZXNSZWN0YW5nbGU6ZVR0LGZhV2luZG93Q2xvc2U6dFR0LGZhVHJhc2hDYW46QmIsZmFUcmFzaEFsdDphVHQsZmFMaWZlUmluZzpyVHQsZmFDb3B5cmlnaHQ6c1R0LGZhQ2lyY2xlTGVmdDpHcGUsZmFBcnJvd0FsdENpcmNsZUxlZnQ6aVR0LGZhQ2FsZW5kYXI6b1R0LGZhRmFjZUZyb3duT3BlbjpZcGUsZmFGcm93bk9wZW46blR0LGZhQ2hhcnRCYXI6S3BlLGZhQmFyQ2hhcnQ6bFR0LGZhSG91c2U6UmIsZmFIb21lOmNUdCxmYUhvbWVBbHQ6ZFR0LGZhSG9tZUxnQWx0OnVUdCxmYUZhY2VGcm93bjpacGUsZmFGcm93bjpwVHQsZmFVc2VyOnplZSxmYVVzZXJBbHQ6ZlR0LGZhVXNlckxhcmdlOmhUdCxmYVNub3dmbGFrZTptVHQsZmFCb29rbWFyazpnVHQsZmFTcXVhcmVDYXJldExlZnQ6WHBlLGZhQ2FyZXRTcXVhcmVMZWZ0OmJUdCxmYUhhbmRzaGFrZTpDZWUsZmFIYW5kc2hha2VBbHQ6dlR0LGZhSGFuZHNoYWtlU2ltcGxlOnhUdCxmYUZhY2VTbWlsZVdpbms6UXBlLGZhU21pbGVXaW5rOnlUdCxmYUZhY2VHcmluU3F1aW50VGVhcnM6SnBlLGZhR3JpblNxdWludFRlYXJzOndUdCxmYUZpbGVBdWRpbzpNVHQsZmFDYWxlbmRhclhtYXJrOmVmZSxmYUNhbGVuZGFyVGltZXM6a1R0LGZhQ2lyY2xlRG93bjp0ZmUsZmFBcnJvd0FsdENpcmNsZURvd246U1R0LGZhRmlsZUxpbmVzOl9lZSxmYUZpbGVBbHQ6elR0LGZhRmlsZVRleHQ6Q1R0LGZhQ29tbWVudHM6X1R0LGZhQ2lyY2xlQ2hlY2s6SGIsZmFDaGVja0NpcmNsZTpUVHQsZmFNb29uOkxUdCxmYUNsb3NlZENhcHRpb25pbmc6JFR0LGZhSW1hZ2VzOkRUdCxmYUNpcmNsZVJpZ2h0OmFmZSxmYUFycm93QWx0Q2lyY2xlUmlnaHQ6QVR0LGZhSWRDYXJkOnJmZSxmYURyaXZlcnNMaWNlbnNlOkVUdCxmYUNpcmNsZVBsYXk6c2ZlLGZhUGxheUNpcmNsZTpQVHQsZmFGYWNlTGF1Z2hCZWFtOmlmZSxmYUxhdWdoQmVhbTpJVHQsZmFBZGRyZXNzQm9vazpvZmUsZmFDb250YWN0Qm9vazpOVHQsZmFIb3VyZ2xhc3M6bmZlLGZhSG91cmdsYXNzRW1wdHk6UlR0LGZhSGVhZHBob25lczpUZWUsZmFIZWFkcGhvbmVzQWx0Ok9UdCxmYUhlYWRwaG9uZXNTaW1wbGU6RlR0LGZhRmlsZVBvd2VycG9pbnQ6QlR0LGZhV2luZG93TWF4aW1pemU6SFR0LGZhQ29tbWVudERvdHM6bGZlLGZhQ29tbWVudGluZzpxVHQsZmFGYWNlR3JpblRvbmd1ZVdpbms6Y2ZlLGZhR3JpblRvbmd1ZVdpbms6VlR0LGZhSG91cmdsYXNzSGFsZjpkZmUsZmFIb3VyZ2xhc3MyOmpUdCxmYUNyZWRpdENhcmQ6dWZlLGZhQ3JlZGl0Q2FyZEFsdDpVVHQsZmFIYW5kU3BvY2s6V1R0LGZhQmVsbFNsYXNoOkdUdCxmYVN0YXI6WVR0LGZhRmxhZzpLVHQsZmFMZW1vbjpaVHQsZmFXaW5kb3dSZXN0b3JlOlhUdCxmYUZhY2VHcmluSGVhcnRzOnBmZSxmYUdyaW5IZWFydHM6UVR0LGZhRmFjZUtpc3NCZWFtOmZmZSxmYUtpc3NCZWFtOkpUdCxmYUZpbGVQZGY6ZUx0LGZhRmFjZUdyaW5XaWRlOmhmZSxmYUdyaW5BbHQ6dEx0LGZhRmFjZUxhdWdoU3F1aW50Om1mZSxmYUxhdWdoU3F1aW50OmFMdCxmYUZhY2VLaXNzV2lua0hlYXJ0OmdmZSxmYUtpc3NXaW5rSGVhcnQ6ckx0LGZhQ29weTokZWUsZmFDaGVzc0tpbmc6c0x0LGZhU3F1YXJlUGx1czpiZmUsZmFQbHVzU3F1YXJlOmlMdCxmYUZpbGVDb2RlOm9MdCxmYUZhY2VHcmluV2luazp2ZmUsZmFHcmluV2luazpuTHQsZmFNb25leUJpbGwxOnhmZSxmYU1vbmV5QmlsbEFsdDpsTHQsZmFFeWVTbGFzaDpjTHQsZmFGaWxlV29yZDpkTHQsZmFGYWNlQW5ncnk6eWZlLGZhQW5ncnk6dUx0LGZhQ2hlc3NLbmlnaHQ6cEx0LGZhRmFjZUdyaW5CZWFtOndmZSxmYUdyaW5CZWFtOmZMdCxmYUhhbmRQZWFjZTpoTHQsZmFDb21wYXNzOm1MdCxmYVNxdWFyZTpnTHQsZmFGYWNlR3JpbjpNZmUsZmFHcmluOmJMdCxmYUZhY2VTbWlsZTprZmUsZmFTbWlsZTp2THQsZmFGYWNlU21pbGVCZWFtOlNmZSxmYVNtaWxlQmVhbTp4THQsZmFGb2xkZXJDbG9zZWQ6eUx0LGZhS2V5Ym9hcmQ6d0x0LGZhRmFjZVJvbGxpbmdFeWVzOnpmZSxmYU1laFJvbGxpbmdFeWVzOk1MdCxmYUZhY2VHcmltYWNlOkNmZSxmYUdyaW1hY2U6a0x0LGZhQ2lyY2xlRG90Ol9mZSxmYURvdENpcmNsZTpTTHQsZmFPYmplY3RHcm91cDp6THQsZmFGYWNlRmx1c2hlZDpUZmUsZmFGbHVzaGVkOkNMdCxmYVN0YXJIYWxmU3Ryb2tlOkxmZSxmYVN0YXJIYWxmQWx0Ol9MdCxmYUZpbGVWaWRlbzpUTHQsZmFGYWNlTGF1Z2g6JGZlLGZhTGF1Z2g6TEx0LGZhSGFuZFBvaW50ZXI6JEx0LGZhUmVnaXN0ZXJlZDpETHR9fSk7dmFyIEMkYSxFTHQsUEx0LElMdCxOTHQsUkx0LE9MdCxGTHQsQkx0LEhMdCxxTHQsRGVlLFZMdCxqTHQsVUx0LFdMdCxEZmUsR0x0LEFmZSxZTHQsS0x0LFpMdCxFZmUsWEx0LFFMdCxKTHQsZSR0LHN2LHQkdCxhJHQsUGZlLHIkdCxzJHQsaSR0LG8kdCxuJHQsbCR0LGMkdCxkJHQsSWZlLHUkdCxwJHQsZiR0LE5mZSxoJHQsbSR0LGckdCxiJHQsdiR0LGl2LHgkdCxSZmUseSR0LHckdCxBZWUsTSR0LGskdCxPZmUsUyR0LEZmZSx6JHQsQyR0LEJmZSxfJHQsSGZlLFQkdCxxZmUsTCR0LCQkdCxEJHQsQSR0LEUkdCxQJHQsSSR0LFZmZSxOJHQsUiR0LE8kdCxGJHQsamZlLEIkdCxIJHQscSR0LFYkdCxqJHQsVSR0LEVlZSxXJHQsRyR0LFkkdCxQZWUsSyR0LFokdCxYJHQsVWZlLFEkdCxKJHQsZUR0LHREdCxXZmUsYUR0LFR0ZSxyRHQsTHRlLHNEdCxpRHQsR2ZlLG9EdCxZZmUsbkR0LGxEdCxJZWUsY0R0LGREdCx1RHQscER0LGZEdCxoRHQsbUR0LGdEdCwkdGUsb3YsYkR0LHZEdCxLZmUseER0LHlEdCxxYix3RHQsTUR0LGtEdCxaZmUsU0R0LHpEdCxDRHQsWGZlLF9EdCxRZmUsVER0LExEdCwkRHQsRER0LEpmZSxBRHQsRUR0LFBEdCxlNWUsSUR0LHQ1ZSxORHQsUkR0LE9EdCxGRHQsTmVlLEJEdCxIRHQscUR0LFZEdCxqRHQsVUR0LFdEdCxhNWUsR0R0LFlEdCxLRHQsWkR0LFhEdCxyNWUsUUR0LEpEdCxWYixlQXQsdEF0LGFBdCxyQXQsc0F0LGlBdCxSZWUsb0F0LG5BdCxsQXQsY0F0LGRBdCxzNWUsdUF0LHBBdCxmQXQsaEF0LG1BdCxnQXQsaTVlLGJBdCx2QXQseEF0LHlBdCxvNWUsd0F0LE1BdCxrQXQsbjVlLFNBdCx6QXQsbDVlLENBdCxjNWUsX0F0LFRBdCxkNWUsTEF0LCRBdCx1NWUsREF0LHA1ZSxBQXQsRUF0LG52LFBBdCxsdixJQXQsTkF0LE9lZSxSQXQsT0F0LEZBdCxmNWUsQkF0LEhBdCxoNWUscUF0LFZBdCxqQXQsVUF0LG01ZSxXQXQsR0F0LFlBdCxLQXQsWkF0LGc1ZSxYQXQsUUF0LEpBdCxlRXQsYjVlLHRFdCx2NWUsYUV0LHJFdCxzRXQsaUV0LG9FdCx4NWUsbkV0LGxFdCxjRXQsZEV0LHk1ZSx1RXQscEV0LHc1ZSxmRXQsTTVlLGhFdCxtRXQsZ0V0LGJFdCx2RXQseEV0LGs1ZSx5RXQsd0V0LE1FdCxrRXQsU0V0LFM1ZSx6RXQsQ0V0LF9FdCxURXQsejVlLExFdCxDNWUsJEV0LER0ZSxBdGUsXzVlLERFdCxUNWUsQUV0LEVFdCxQRXQseXYsTDVlLElFdCxORXQsUkV0LE9FdCxGRXQsQkV0LCQ1ZSxIRXQsRXRlLHFFdCxWRXQsakV0LFVFdCxXRXQsRDVlLEdFdCxBNWUsWUV0LEtFdCxaRXQsWEV0LEU1ZSxRRXQsRmVlLEpFdCxlUHQsdFB0LFA1ZSxhUHQsclB0LHNQdCxpUHQsSTVlLG9QdCxuUHQsbFB0LGNQdCxONWUsZFB0LHVQdCxwUHQsZlB0LGhQdCxtUHQsZ1B0LGJQdCx2UHQseFB0LHlQdCx3UHQsTVB0LFI1ZSxrUHQsU1B0LHpQdCxDUHQsX1B0LFRQdCxMUHQsTzVlLCRQdCxEUHQsQVB0LEo4LEVQdCxQUHQsSVB0LE5QdCxSUHQsRjVlLE9QdCxCNWUsRlB0LEg1ZSxCUHQscTVlLEhQdCxWNWUscVB0LGN2LFZQdCxqNWUsalB0LFU1ZSxVUHQsVzVlLFdQdCxHUHQsWVB0LEtQdCxHNWUsWlB0LFhQdCxZNWUsUVB0LEpQdCxLNWUsZUl0LHRJdCxhSXQsckl0LFo1ZSxzSXQsaUl0LG9JdCxYNWUsbkl0LGxJdCxqYixjSXQsZEl0LHVJdCxwSXQsZkl0LGhJdCxRNWUsbUl0LEo1ZSxnSXQsYkl0LHZJdCxlaGUseEl0LHlJdCx3SXQsdGhlLE1JdCxhaGUsa0l0LEJlZSxTSXQsekl0LENJdCxfSXQsVEl0LExJdCwkSXQsREl0LEFJdCxFSXQsUEl0LElJdCxOSXQsUkl0LFViLE9JdCxGSXQsQkl0LEhJdCxxSXQsVkl0LGpJdCxVSXQscmhlLFdJdCxHSXQsWUl0LEtJdCxaSXQsWEl0LFFJdCxKSXQsZU50LHROdCxzaGUsYU50LHJOdCxzTnQsaU50LG9OdCxuTnQsbE50LGloZSxjTnQsb2hlLGROdCx1TnQsbmhlLHBOdCxmTnQsaE50LG1OdCxsaGUsZ050LGJOdCx2TnQsY2hlLHhOdCxkaGUseU50LHdOdCx1aGUsTU50LGtOdCxTTnQsek50LHBoZSxDTnQsX050LFROdCxQdGUsTE50LCROdCxETnQsZmhlLEFOdCxFTnQsUE50LElOdCxOTnQsaGhlLFJOdCxPTnQsRk50LEJOdCxITnQsbWhlLHFOdCxWTnQsak50LGdoZSxVTnQsV050LEhlZSxHTnQsWU50LEtOdCxaTnQsYmhlLFhOdCxRTnQsSk50LHZoZSxlUnQseGhlLHRSdCxhUnQsclJ0LHNSdCxkdixpUnQseWhlLG9SdCxuUnQsbFJ0LGNSdCxkUnQsd2hlLHVSdCxNaGUscFJ0LGtoZSxmUnQsaFJ0LHFlZSxtUnQsZ1J0LFNoZSxiUnQsVmVlLHZSdCx4UnQseVJ0LHdSdCxNUnQsa1J0LFNSdCx6UnQsemhlLENSdCxfUnQsVFJ0LExSdCwkUnQsQ2hlLERSdCxBUnQsRVJ0LF9oZSxQUnQsVGhlLElSdCxMaGUsTlJ0LFJSdCxPUnQsRlJ0LEJSdCxIUnQscVJ0LCRoZSxWUnQsalJ0LFVSdCxXUnQsRGhlLEdSdCxZUnQsS1J0LFpSdCxYUnQsUVJ0LEFoZSxKUnQsZU90LEVoZSx0T3QsYU90LFBoZSxyT3Qsc090LGlPdCxvT3QsSWhlLG5PdCxsT3QsY090LE5oZSxkT3QsUmhlLHVPdCxwT3QsZk90LGhPdCxPaGUsbU90LGdPdCxiT3Qsdk90LHhPdCxGaGUseU90LEJoZSx3T3QsSGhlLE1PdCxrT3QscWhlLFNPdCxWaGUsek90LENPdCxfT3QsVE90LExPdCwkT3QsRE90LEFPdCxFT3QsUE90LElPdCxqZWUsTk90LFJPdCxybSxPT3QsRk90LEJPdCxVZWUsSE90LHFPdCxWT3Qsak90LFVPdCxXT3QsR090LGpoZSxZT3QsVWhlLEtPdCxaT3QsWE90LFdoZSxRT3QsR2hlLEpPdCxlRnQsV2VlLHRGdCxhRnQsckZ0LHNGdCxlbSxpRnQsb0Z0LG5GdCxsRnQsY0Z0LGRGdCx1RnQsWWhlLHBGdCxmRnQsaEZ0LG1GdCxLaGUsZ0Z0LGJGdCx2RnQseEZ0LHlGdCx3RnQsTUZ0LFpoZSxrRnQsU0Z0LHpGdCxDRnQsX0Z0LFRGdCxYaGUsTEZ0LEl0ZSxRaGUsJEZ0LERGdCxBRnQsSmhlLEVGdCxlOGUsUEZ0LElGdCxORnQsdDhlLFJGdCxPRnQsYThlLEZGdCxCRnQsSEZ0LHFGdCxyOGUsVkZ0LGpGdCxVRnQsV0Z0LEdGdCxZRnQsczhlLEtGdCxaRnQsTnRlLFhGdCxRRnQsaThlLEpGdCxlQnQsdEJ0LFdiLGFCdCxyQnQsc0J0LGlCdCxHYixvQnQsbkJ0LGxCdCxjQnQsZEJ0LHVCdCxvOGUscEJ0LEdlZSxmQnQsaEJ0LG1CdCxuOGUsZ0J0LGJCdCx2QnQseEJ0LHlCdCx3QnQsTUJ0LGw4ZSxrQnQsUnRlLFNCdCx6QnQsQ0J0LGM4ZSxfQnQsZDhlLFRCdCxMQnQsdThlLCRCdCxZYixEQnQsQUJ0LEVCdCxQQnQsSUJ0LE5CdCxSQnQsT0J0LEZCdCxwOGUsQkJ0LEhCdCxxQnQsVkJ0LFllZSxqQnQsVUJ0LGY4ZSxXQnQsR0J0LFlCdCxoOGUsS0J0LFpCdCxYQnQsbThlLFFCdCxKQnQsZUh0LHRIdCxhSHQsckh0LHNIdCxpSHQsb0h0LGc4ZSxuSHQsYjhlLGxIdCxjSHQsZEh0LHVIdCxwSHQsZkh0LGhIdCx2OGUsbUh0LGdIdCxiSHQseDhlLHZIdCx4SHQseThlLHlIdCx3OGUsd0h0LE04ZSxNSHQsa0h0LFNIdCxrOGUsekh0LFM4ZSxDSHQsejhlLF9IdCxUSHQsQzhlLExIdCxfOGUsJEh0LFQ4ZSxESHQsQUh0LEw4ZSxFSHQsUEh0LElIdCxOSHQsUkh0LE9IdCxGSHQsQkh0LEhIdCxxSHQsJDhlLFZIdCxEOGUsakh0LEE4ZSxVSHQsV0h0LE90ZSxHSHQsRThlLFlIdCxLSHQsWkh0LFA4ZSxYSHQsUUh0LEk4ZSxKSHQsdXYsZXF0LHRxdCxhcXQsTjhlLHJxdCxSOGUsc3F0LGlxdCxPOGUsb3F0LEY4ZSxucXQsQjhlLGxxdCxjcXQsZHF0LHVxdCxwcXQsSDhlLGZxdCxxOGUsaHF0LG1xdCxncXQsYnF0LFY4ZSx2cXQseHF0LHlxdCxqOGUsd3F0LE1xdCxrcXQsVThlLFNxdCx6cXQsQ3F0LF9xdCxXOGUsVHF0LExxdCxHOGUsJHF0LERxdCxBcXQsWThlLEVxdCxQcXQsSXF0LEs4ZSxOcXQsWjhlLFJxdCxLZWUsT3F0LEZxdCxCcXQsWDhlLEhxdCxxcXQsVnF0LFE4ZSxqcXQsVXF0LFdxdCxKOGUsR3F0LFlxdCxLcXQsWnF0LFhxdCxRcXQsSnF0LGVWdCx0VnQsYVZ0LHJWdCxzVnQsZW1lLGlWdCxGdGUsb1Z0LHRtZSxuVnQsbFZ0LGNWdCxkVnQsYW1lLHVWdCxwVnQsZlZ0LGhWdCxtVnQsZ1Z0LGJWdCxLYix2VnQseFZ0LHlWdCx3VnQscHYsTVZ0LHJtZSxrVnQsU1Z0LHpWdCxzbWUsQ1Z0LF9WdCxpbWUsVFZ0LExWdCwkVnQsRFZ0LEFWdCxvbWUsRVZ0LG5tZSxQVnQsSVZ0LE5WdCxsbWUsUlZ0LE9WdCxGVnQsY21lLEJWdCxIVnQscVZ0LFZWdCxqVnQsVVZ0LFdWdCxkbWUsR1Z0LEJ0ZSxZVnQsS1Z0LFpWdCx1bWUsWFZ0LFFWdCxwbWUsSlZ0LGZtZSxlanQsdGp0LGFqdCxobWUscmp0LG1tZSxzanQsZ21lLGlqdCxvanQsYm1lLG5qdCxsanQsY2p0LGRqdCx2bWUsdWp0LFpiLHBqdCxmanQsaGp0LG1qdCx4bWUsZ2p0LHltZSxianQsdmp0LHhqdCx5anQsd21lLHdqdCxYYixNanQsa2p0LFNqdCxNbWUsemp0LENqdCxfanQsVGp0LGttZSxManQsU21lLCRqdCxEanQsQWp0LHptZSxFanQsQ21lLFBqdCxJanQsX21lLE5qdCxUbWUsUmp0LExtZSxPanQsJG1lLEZqdCxCanQsSGp0LHFqdCxEbWUsVmp0LGpqdCxVanQsV2p0LEdqdCxZanQsS2p0LFpqdCxBbWUsWGp0LEVtZSxRanQsSmp0LGVVdCx0VXQsUG1lLGFVdCxyVXQsWmVlLHNVdCxpVXQsb1V0LG5VdCxsVXQsY1V0LGRVdCxRYix1VXQscFV0LGZVdCxoVXQsbVV0LGdVdCxiVXQsdlV0LHhVdCx5VXQsd1V0LE1VdCxrVXQsWGVlLFNVdCx6VXQsQ1V0LF9VdCxUVXQsTFV0LEltZSwkVXQsTm1lLERVdCxBVXQsRVV0LFFlZSxQVXQsSVV0LE5VdCxSbWUsUlV0LEplZSxPVXQsRlV0LEJVdCxIVXQsSHRlLGV0ZSxxVXQsVlV0LE9tZSxqVXQsVVV0LFdVdCxHVXQsRm1lLFlVdCxLVXQsQm1lLFpVdCxYVXQsSG1lLFFVdCxKVXQsZVd0LHRXdCxhV3Qscld0LHR0ZSxzV3QsaVd0LHFtZSxvV3Qsbld0LGxXdCxjV3QsZFd0LHVXdCxwV3QsZld0LFZtZSxoV3QsbVd0LGptZSxnV3QsVW1lLGJXdCx2V3QsaTQseFd0LHlXdCx3V3QsTVd0LFdtZSxrV3QsU1d0LHpXdCxDV3QsR21lLF9XdCxZbWUsVFd0LGF0ZSxMV3QsJFd0LERXdCxLbWUsQVd0LHF0ZSxFV3QsUFd0LFptZSxJV3QscnRlLE5XdCxSV3QsT1d0LEZXdCxCV3QsSFd0LGZ2LHFXdCxWV3QsWG1lLGpXdCxVV3QsV1d0LFFtZSxHV3QsSm1lLFlXdCxKYixLV3QsWld0LFhXdCxRV3QsSld0LGVHdCx0R3QsZTdlLGFHdCxyR3QsdDdlLHNHdCxhN2UsaUd0LHI3ZSxvR3Qsbkd0LGxHdCxjR3QsZEd0LHVHdCxzN2UscEd0LGZHdCxoR3QsbUd0LGdHdCxpN2UsYkd0LG83ZSx2R3QsbjdlLHhHdCx5R3Qsd0d0LHN0ZSxNR3Qsa0d0LFNHdCx6R3QsQ0d0LGw3ZSxfR3QsYzdlLFRHdCxMR3QsJEd0LERHdCxkN2UsQUd0LHU3ZSxFR3QsUEd0LGl0ZSxJR3QsTkd0LFJHdCxPR3QsRkd0LHA3ZSxCR3QsSEd0LGY3ZSxxR3QsaDdlLFZHdCxqR3QsVUd0LFdHdCxHR3QsWUd0LEtHdCxaR3QsWEd0LFFHdCxtN2UsSkd0LGVZdCx0WXQsYVl0LG90ZSxyWXQsc1l0LGlZdCxvWXQsZzdlLG5ZdCxsWXQsYjdlLGNZdCxkWXQsdVl0LHBZdCx2N2UsZll0LGhZdCxtWXQsaHYsZ1l0LGJZdCxudGUsdll0LHhZdCx4N2UseVl0LHdZdCxNWXQsa1l0LFNZdCx5N2Usell0LENZdCx3N2UsX1l0LE03ZSxUWXQsTFl0LCRZdCxEWXQsQVl0LGs3ZSxFWXQsUzdlLFBZdCx6N2UsSVl0LE5ZdCxSWXQsT1l0LEM3ZSxGWXQsQll0LF83ZSxIWXQscVl0LFZZdCxUN2Usall0LFVZdCxsdGUsV1l0LEdZdCxMN2UsWVl0LCQ3ZSxLWXQsRDdlLFpZdCxWdGUsQTdlLFhZdCxFN2UsUVl0LEpZdCxlS3QsdEt0LGFLdCxyS3QsY3RlLHNLdCxpS3Qsb0t0LFA3ZSxuS3QsbEt0LGNLdCxkdGUsZEt0LHVLdCxwS3QsZkt0LHV0ZSxoS3QsbUt0LGdLdCxiS3QsSTdlLHZLdCxON2UseEt0LHlLdCx3S3QsTUt0LGtLdCxwdGUsU0t0LHpLdCxDS3QsX0t0LFRLdCxMS3QsZnRlLCRLdCxES3QsQUt0LFI3ZSxFS3QsUEt0LElLdCxOS3QsTzdlLFJLdCxPS3QsRkt0LEJLdCxIS3QscUt0LEY3ZSxWS3Qsakt0LFVLdCxXS3QsQjdlLEdLdCxZS3QsZXYsS0t0LFpLdCxYS3QsSDdlLFFLdCxKS3QsZVp0LHRadCxhWnQsclp0LHNadCxpWnQsb1p0LHE3ZSxuWnQsbFp0LFY3ZSxjWnQsZFp0LHVadCxqN2UscFp0LGZadCxoWnQsbVp0LGdadCxVN2UsYlp0LGp0ZSxXN2Usdlp0LHhadCx5WnQsd1p0LE1adCxHN2Usa1p0LFNadCx6WnQsQ1p0LF9adCxZN2UsVFp0LExadCwkWnQsRFp0LEFadCxodGUsRVp0LFBadCxJWnQsTlp0LFJadCxLN2UsT1p0LFo3ZSxGWnQsQlp0LEhadCxtdGUscVp0LFZadCxqWnQsWDdlLFVadCxRN2UsV1p0LEdadCxZWnQsS1p0LFpadCxYWnQsSjdlLFFadCxKWnQsZTllLGVYdCx0OWUsdFh0LGE5ZSxhWHQsclh0LHI5ZSxzWHQsczllLGlYdCxvWHQsblh0LGxYdCxjWHQsZFh0LHVYdCxwWHQsZlh0LGk5ZSxoWHQsbVh0LGd0ZSxnWHQsYlh0LG85ZSx2WHQseFh0LHlYdCxuOWUsd1h0LE1YdCxrWHQsU1h0LGw5ZSx6WHQsQ1h0LF9YdCxUWHQsTFh0LGM5ZSwkWHQsRFh0LEFYdCxidGUsRVh0LFBYdCxJWHQsTlh0LFJYdCxPWHQsdnRlLEZYdCxCWHQsSFh0LGQ5ZSxxWHQsdTllLFZYdCxqWHQsVVh0LFdYdCxwOWUsR1h0LGY5ZSxZWHQsS1h0LGg5ZSxaWHQsWFh0LG05ZSxRWHQsSlh0LGVRdCx0UXQsZzllLGFRdCxyUXQsc1F0LGlRdCxtdixvUXQsVXRlLG5RdCxsUXQsY1F0LGRRdCxiOWUsdVF0LHY5ZSxwUXQsZlF0LGhRdCxtUXQsdHYsZ1F0LGJRdCx2UXQsYXYseFF0LHlRdCx3UXQseDllLE1RdCxrUXQseHRlLFNRdCx6UXQsQ1F0LF9RdCx5OWUsVFF0LExRdCwkUXQsdzllLERRdCxBUXQsRVF0LFBRdCxJUXQsTTllLE5RdCx5dGUsUlF0LE9RdCxGUXQsQlF0LEhRdCxxUXQsazllLFZRdCxTOWUsalF0LHo5ZSxVUXQsV1F0LEM5ZSxHUXQsV3RlLF85ZSxZUXQsS1F0LFpRdCxUOWUsWFF0LFFRdCxHdGUsTDllLEpRdCxlSnQsdEp0LGFKdCx0bSxySnQsc0p0LGlKdCxvSnQsJDllLG5KdCxsSnQsY0p0LEQ5ZSxkSnQsdUp0LHBKdCxmSnQsQTllLGhKdCxtSnQsZ0p0LGJKdCx2SnQsd3RlLHhKdCx5SnQsZ3Ysd0p0LEU5ZSxNSnQsUDllLGtKdCxTSnQsekp0LENKdCxJOWUsX0p0LFRKdCxMSnQsJEp0LE45ZSxESnQsQUp0LEVKdCxSOWUsUEp0LElKdCxOSnQsUkp0LE85ZSxPSnQsRkp0LEJKdCxGOWUsSEp0LHFKdCxWSnQsYnYsakp0LFVKdCxCOWUsV0p0LEg5ZSxHSnQscTllLFlKdCxWOWUsS0p0LFpKdCxqOWUsWEp0LFFKdCxKSnQsZWVhLHRlYSxhZWEsVTllLHJlYSxzZWEsVzllLGllYSxvZWEsRzllLG5lYSxsZWEsY2VhLFk5ZSxkZWEsdWVhLHBlYSxmZWEsaGVhLGFtLG1lYSxnZWEsYmVhLHZlYSx4ZWEseWVhLHdlYSxNZWEsa2VhLFNlYSx6ZWEsQ2VhLF9lYSxUZWEsTGVhLCRlYSxEZWEsSzllLEFlYSxFZWEsUGVhLEllYSxaOWUsTmVhLFJlYSxPZWEscnYsRmVhLEJlYSxIZWEscWVhLFZlYSxYOWUsamVhLHZ2LFVlYSxXZWEsR2VhLFE5ZSxZZWEsS2VhLFplYSxYZWEsSjllLFFlYSxKZWEsZWdlLGV0YSx0dGEsYXRhLHRnZSxydGEsc3RhLGFnZSxpdGEscmdlLG90YSxudGEsbHRhLGN0YSxkdGEsc2dlLHV0YSxwdGEsZnRhLGlnZSxodGEsbXRhLGd0YSxidGEsdnRhLHh0YSx5dGEsb2dlLHd0YSxuZ2UsTXRhLGxnZSxrdGEsTXRlLFN0YSx6dGEsY2dlLEN0YSxkZ2UsX3RhLHVnZSxUdGEsTHRhLCR0YSxEdGEsQXRhLEV0YSxwZ2UsUHRhLGZnZSxJdGEsTnRhLFJ0YSxPdGEsRnRhLGhnZSxCdGEsbWdlLEh0YSxnZ2UscXRhLGJnZSxWdGEsanRhLFV0YSxXdGEsdmdlLEd0YSxZdGEsa3RlLEt0YSxadGEseGdlLFh0YSxRdGEsSnRhLGVhYSx5Z2UsdGFhLGFhYSxyYWEsc2FhLHdnZSxpYWEsc20sb2FhLG5hYSxNZ2UsbGFhLGtnZSxjYWEsZGFhLHVhYSxTdGUscGFhLGZhYSxoYWEsU2dlLG1hYSx6Z2UsZ2FhLENnZSxiYWEsX2dlLHZhYSx4YWEseWFhLHdhYSxNYWEsa2FhLFNhYSx6dGUsemFhLENhYSxfYWEsVGFhLExhYSxUZ2UsJGFhLERhYSxBYWEsRWFhLFBhYSxJYWEsTGdlLE5hYSxSYWEsJGdlLE9hYSxGYWEsQ3RlLEJhYSxIYWEscWFhLHh2LFZhYSxqYWEsVWFhLERnZSxXYWEsQWdlLEdhYSxZYWEsS2FhLFphYSxYYWEsRWdlLFFhYSxKYWEsZXJhLHRyYSxhcmEsX3RlLHJyYSxzcmEsaXJhLG9yYSxucmEsUGdlLGxyYSxJZ2UsY3JhLGRyYSxOZ2UsdXJhLFJnZSxwcmEsT2dlLGZyYSxGZ2UsaHJhLG1yYSxCZ2UsZ3JhLGJyYSx2cmEseHJhLHlyYSx3cmEsXyRhLE1yYT1mKCgpPT57QyRhPSJmYXMiLEVMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiIwIixpY29uOlszMjAsNTEyLFtdLCIzMCIsIk0wIDE5MkMwIDEwMy42IDcxLjYgMzIgMTYwIDMyczE2MCA3MS42IDE2MCAxNjBsMCAxMjhjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMCA0MDguNCAwIDMyMEwwIDE5MnpNMTYwIDk2Yy01MyAwLTk2IDQzLTk2IDk2bDAgMTI4YzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZsMC0xMjhjMC01My00My05Ni05Ni05NnoiXX0sUEx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IjEiLGljb246WzI1Niw1MTIsW10sIjMxIiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5Nmw2NCAwIDAgMzIwLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAgMC0zNTJjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMzJ6Il19LElMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiIyIixpY29uOlszODQsNTEyLFtdLCIzMiIsIk00OCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxNzEgMGM2MC4yIDAgMTA5IDQ4LjggMTA5IDEwOSAwIDQzLjgtMjYuMiA4My4zLTY2LjQgMTAwLjRsLTEzOS4xIDU5QzExOSAzMTUuNCA5NiAzNTAuMiA5NiAzODguN2wwIDI3LjMgMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMNjQgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTU5LjNjMC02NC4yIDM4LjQtMTIyLjIgOTcuNS0xNDcuM2wxMzkuMS01OWMxNi42LTcuMSAyNy40LTIzLjQgMjcuNC00MS40IDAtMjQuOS0yMC4yLTQ1LTQ1LTQ1TDgwIDk2QzYyLjMgOTYgNDggODEuNyA0OCA2NHoiXX0sTkx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IjMiLGljb246WzMyMCw1MTIsW10sIjMzIiwiTTgwIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxMTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NEwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0UzE0LjMgMzIgMzIgMzJsMTYwIDBjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjggMCAzOC4yLTE2LjggNzIuNS00My4zIDk2IDI2LjYgMjMuNSA0My4zIDU3LjggNDMuMyA5NiAwIDcwLjctNTcuMyAxMjgtMTI4IDEyOEwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRzLTI4LjctNjQtNjQtNjRMODAgMjg4eiJdfSxSTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiNCIsaWNvbjpbMzg0LDUxMixbXSwiMzQiLCJNNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRMMCAyODhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTkyIDAgMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTYgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDIyNC0xOTIgMCAwLTIyNHoiXX0sT0x0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IjUiLGljb246WzMyMCw1MTIsW10sIjM1IiwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwIDAgMTEyIDEyMCAwYzc1LjEgMCAxMzYgNjAuOSAxMzYgMTM2UzI1OS4xIDQ4MCAxODQgNDgwTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNTIgMGMzOS44IDAgNzItMzIuMiA3Mi03MnMtMzIuMi03Mi03Mi03MkwzMiAyNzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDAgNjR6Il19LEZMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiI2IixpY29uOlszODQsNTEyLFtdLCIzNiIsIk0yNTYgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTg4IDBjLTQ4LjYgMC04OCAzOS40LTg4IDg4bDAgMzIuMmMyMi45LTE1LjMgNTAuNC0yNC4yIDgwLTI0LjJsNDggMGM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NFMyODcuNSA0ODAgMjA4IDQ4MGwtNDggMEM4MC41IDQ4MCAxNiA0MTUuNSAxNiAzMzZsMC0xNTJDMTYgMTAwLjEgODQuMSAzMiAxNjggMzJsODggMHpNODAgMzM2YzAgNDQuMiAzNS44IDgwIDgwIDgwbDQ4IDBjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODBsLTQ4IDBjLTQ0LjIgMC04MCAzNS44LTgwIDgweiJdfSxCTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiNyIsaWNvbjpbMzIwLDUxMixbXSwiMzciLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwyNTYgMGMxMS41IDAgMjIgNi4xIDI3LjcgMTYuMXM1LjcgMjIuMi0uMSAzMi4xbC0yMjQgMzg0Yy04LjkgMTUuMy0yOC41IDIwLjQtNDMuOCAxMS41cy0yMC40LTI4LjUtMTEuNS00My44TDIzMi4zIDk2IDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjR6Il19LEhMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiI4IixpY29uOlszMjAsNTEyLFtdLCIzOCIsIk0zMDQgMTYwYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4bC0zMiAwYy03MC43IDAtMTI4IDU3LjMtMTI4IDEyOCAwIDM0LjYgMTMuNyA2NiAzNiA4OS0zMS41IDIzLjMtNTIgNjAuOC01MiAxMDMgMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhsNjQgMGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOCAwLTQyLjItMjAuNS03OS43LTUyLTEwMyAyMi4zLTIzIDM2LTU0LjQgMzYtODl6TTE3Ni4xIDI4OGwxNS45IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRsLTY0IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjRsNDguMSAwem0wLTY0TDE0NCAyMjRjLTM1LjMgMC02NC0yOC43LTY0LTY0IDAtMzUuMyAyOC43LTY0IDY0LTY0bDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjQgMCAzNS4zLTI4LjYgNjQtNjQgNjR6Il19LHFMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiI5IixpY29uOlszODQsNTEyLFtdLCIzOSIsIk0yMDggMzIwYzI5LjYgMCA1Ny4xLTguOSA4MC0yNC4ybDAgMzIuMmMwIDQ4LjYtMzkuNCA4OC04OCA4OEw5NiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTA0IDBjODMuOSAwIDE1Mi02OC4xIDE1Mi0xNTJsMC0xNTIuMUMzNTEuOSA5Ni40IDI4Ny41IDMyIDIwOCAzMmwtNDggMEM4MC41IDMyIDE2IDk2LjUgMTYgMTc2UzgwLjUgMzIwIDE2MCAzMjBsNDggMHptODAtMTQ0YzAgNDQuMi0zNS44IDgwLTgwIDgwbC00OCAwYy00NC4yIDAtODAtMzUuOC04MC04MHMzNS44LTgwIDgwLTgwbDQ4IDBjNDQuMiAwIDgwIDM1LjggODAgODB6Il19LERlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkb2xsYXItc2lnbiIsaWNvbjpbMzIwLDUxMixbMTI4MTc4LDYxNzgxLCJkb2xsYXIiLCJ1c2QiXSwiMjQiLCJNMTM2IDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MCA1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMTQuOSAwYy0yNC45IDAtNDUuMSAyMC4yLTQ1LjEgNDUuMSAwIDIyLjUgMTYuNSA0MS41IDM4LjcgNDQuN2w5MS42IDEzLjFjNTMuOCA3LjcgOTMuNyA1My43IDkzLjcgMTA4IDAgNjAuMy00OC45IDEwOS4xLTEwOS4xIDEwOS4xbC0xMC45IDAgMCA0MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQwLTcyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTMwLjkgMGMyNC45IDAgNDUuMS0yMC4yIDQ1LjEtNDUuMSAwLTIyLjUtMTYuNS00MS41LTM4LjctNDQuN2wtOTEuNi0xMy4xQzU1LjkgMjczLjUgMTYgMjI3LjQgMTYgMTczLjEgMTYgMTEyLjkgNjQuOSA2NCAxMjUuMSA2NGwxMC45IDAgMC00MHoiXX0sVkx0PURlZSxqTHQ9RGVlLFVMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkb2ciLGljb246WzU3Niw1MTIsWzEyODAyMV0sImY2ZDMiLCJNMzIgMTEyYzE2LjYgMCAzMC4yIDEyLjYgMzEuOCAyOC43bC4zIDYuNkM2NS44IDE2My40IDc5LjQgMTc2IDk2IDE3NmwxNzkuMSAwIDE0MC45IDYwLjQgMCAyNDMuNmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMzEuM0MyOTYgMzYxIDI2OC44IDM2OCAyNDAgMzY4cy01Ni03LTgwLTE5LjNMMTYwIDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yNDUuNmMtMzcuMy0xMy4yLTY0LTQ4LjYtNjQtOTAuNCAwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzU1LjgtMzJjNy43IDAgMTQuOSAzLjYgMTkuNiA5LjhMMzkyIDAgNDQ0LjEgMGMxMi43IDAgMjQuOSA1LjEgMzMuOSAxNC4xTDQ5NiAzMiA1NTIgMzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyNGMwIDQ0LjItMzUuOCA4MC04MCA4MGwtNjQgMC03IDI4LTEyNC43LTUzLjQgMzEuNi0xNDcuMkMzMzQuMy0yMy45IDM0NC4yLTMyIDM1NS44LTMyek00NDggNDRhMjAgMjAgMCAxIDAgMCA0MCAyMCAyMCAwIDEgMCAwLTQweiJdfSxXTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stbW92aW5nIixpY29uOls2NDAsNTEyLFtdLCJmNGRmIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MjRjMCA0OC42IDM5LjQgODggODggODggMjUuMiAwIDQ4LTEwLjYgNjQtMjcuNiAxNiAxNyAzOC44IDI3LjYgNjQgMjcuNiA0MC4zIDAgNzQuMi0yNy4xIDg0LjctNjRsMTM0LjYgMGMxMC40IDM2LjkgNDQuNCA2NCA4NC43IDY0IDQzIDAgNzguOS0zMC45IDg2LjUtNzEuNyAyMC0xMC44IDMzLjUtMzIgMzMuNS01Ni4zbDAtMTQ2LjdjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMNTc2IDE0Ni43Yy0xMi0xMi0yOC4zLTE4LjctNDUuMy0xOC43bC01MC43IDAgMC0zMmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNNDgwIDE5Mmw1MC43IDAgNDUuMyA0NS4zIDAgNTAuNy05NiAwIDAtOTZ6TTg4IDM4NGE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6bTM5MiA0MGE0MCA0MCAwIDEgMSA4MCAwIDQwIDQwIDAgMSAxIC04MCAwek0yMTYgMzg0YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHoiXX0sRGZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvdGF0ZSIsaWNvbjpbNTEyLDUxMixbMTI4MjYwLCJzeW5jLWFsdCJdLCJmMmYxIiwiTTQ4MC4xIDE5Mmw3LjkgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTE0NGMwLTkuNy01LjgtMTguNS0xNC44LTIyLjJTNDc3LjkgLjIgNDcxIDdMNDE5LjMgNTguOEMzNzUgMjIuMSAzMTggMCAyNTYgMCAxMjcgMCAyMC4zIDk1LjQgMi42IDIxOS41IC4xIDIzNyAxMi4yIDI1My4yIDI5LjcgMjU1LjdzMzMuNy05LjcgMzYuMi0yNy4xQzc5LjIgMTM1LjUgMTU5LjMgNjQgMjU2IDY0IDMwMC40IDY0IDM0MS4yIDc5IDM3My43IDEwNC4zTDMyNyAxNTFjLTYuOSA2LjktOC45IDE3LjItNS4yIDI2LjJTMzM0LjMgMTkyIDM0NCAxOTJsMTM2LjEgMHptMjkuNCAxMDAuNWMyLjUtMTcuNS05LjctMzMuNy0yNy4xLTM2LjJzLTMzLjcgOS43LTM2LjIgMjcuMWMtMTMuMyA5My05My40IDE2NC41LTE5MC4xIDE2NC41LTQ0LjQgMC04NS4yLTE1LTExNy43LTQwLjNMMTg1IDM2MWM2LjktNi45IDguOS0xNy4yIDUuMi0yNi4yUzE3Ny43IDMyMCAxNjggMzIwTDI0IDMyMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRMMCA0ODhjMCA5LjcgNS44IDE4LjUgMTQuOCAyMi4yUzM0LjEgNTExLjggNDEgNTA1bDUxLjgtNTEuOEMxMzcgNDg5LjkgMTk0IDUxMiAyNTYgNTEyIDM4NSA1MTIgNDkxLjcgNDE2LjYgNTA5LjQgMjkyLjV6Il19LEdMdD1EZmUsQWZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1taW51cyIsaWNvbjpbNDQ4LDUxMixbNjE3NjcsIm1pbnVzLXNxdWFyZSJdLCJmMTQ2IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTcyIDIwMGwxNzYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTc2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LFlMdD1BZmUsS0x0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFsaWduLWp1c3RpZnkiLGljb246WzQ0OCw1MTIsW10sImYwMzkiLCJNNDQ4IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5NmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnptMCAyNTZjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMjg4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDM4NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyek0wIDE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek00NDggNDQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnoiXX0sWkx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbGVuZGFyLWNoZWNrIixpY29uOls0NDgsNTEyLFtdLCJmMjc0IiwiTTMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzIgMTI4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMjIgMTYxLjdjLTEwLjctNy44LTI1LjctNS40LTMzLjUgNS4zTDE4OS4xIDMzMS4yIDEzNyAyNzkuMWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw3MiA3MmM1IDUgMTEuOSA3LjUgMTguOCA3czEzLjQtNC4xIDE3LjUtOS44TDM0Ny4zIDE5NS4yYzcuOC0xMC43IDUuNC0yNS43LTUuMy0zMy41eiJdfSxFZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1raXNzIixpY29uOls1MTIsNTEyLFsxMjg1MzUsImtpc3MiXSwiZjU5NiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjQwIDI4OGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgMTIuMy00LjYgMjMuNS0xMi4yIDMyIDcuNiA4LjUgMTIuMiAxOS43IDEyLjIgMzIgMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0tOTYtODBhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sWEx0PUVmZSxRTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToia2l0Y2hlbi1zZXQiLGljb246WzU3Niw1MTIsW10sImU1MWEiLCJNMjQwIDE0NGE5NiA5NiAwIDEgMCAtMTkyIDAgOTYgOTYgMCAxIDAgMTkyIDB6bTQ0LjQgMzJDMjY5LjkgMjQwLjEgMjEyLjUgMjg4IDE0NCAyODggNjQuNSAyODggMCAyMjMuNSAwIDE0NFM2NC41IDAgMTQ0IDBjNjguNSAwIDEyNS45IDQ3LjkgMTQwLjQgMTEybDcxLjggMGM4LjgtOS44IDIxLjYtMTYgMzUuOC0xNmwxMDQgMGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OGwtMTA0IDBjLTE0LjIgMC0yNy02LjItMzUuOC0xNmwtNzEuOCAwek0xNDQgODBhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTQwMCAyNDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA4IDk2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTI0MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDk2IDAgMC04YzAtMTMuMyAxMC43LTI0IDI0LTI0ek0yODggNDY0bDAtMTEyIDIyNCAwIDAgMTEyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDh6TTQ4IDMyMGwxMjggMGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OGwtMTYgMGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6bTEyOCA2NGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMCAwIDMyIDE2IDB6TTI0IDQ2NGwxNzYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwyNCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LEpMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkbmEiLGljb246WzM4NCw1MTIsWzEyOTUxNl0sImY0NzEiLCJNMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzIgMCA1Ny44LTI0LjQgMTA0LjgtNTcuNCAxNDQuNS0yNC4xIDI4LjktNTMuOCA1NS4xLTgzLjYgNzkuNSAyOS44IDI0LjUgNTkuNSA1MC42IDgzLjYgNzkuNSAzMyAzOS42IDU3LjQgODYuNyA1Ny40IDE0NC41IDAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyTDY0IDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ5Ny43IDAgNDgwQzAgNDIyLjIgMjQuNCAzNzUuMiA1Ny40IDMzNS41IDgxLjUgMzA2LjYgMTExLjIgMjgwLjUgMTQxIDI1NiAxMTEuMiAyMzEuNSA4MS41IDIwNS40IDU3LjQgMTc2LjUgMjQuNCAxMzYuOCAwIDg5LjggMCAzMiAwIDE0LjMgMTQuMyAwIDMyIDBTNjQgMTQuMyA2NCAzMmwyNTYgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMjgzLjUgMzg0bC0xODIuOSAwYy04LjIgMTAuNS0xNS4xIDIxLjEtMjAuNiAzMmwyMjQuMiAwYy01LjYtMTAuOS0xMi41LTIxLjUtMjAuNi0zMnpNMjM4IDMzNmMtMTQuMy0xMy0yOS44LTI1LjgtNDYtMzktMTYuMiAxMy4xLTMxLjcgMjYtNDYgMzlsOTIgMHpNMTAwLjUgMTI4bDE4Mi45IDBjOC4yLTEwLjUgMTUuMS0yMS4xIDIwLjYtMzJMNzkuOSA5NmM1LjYgMTAuOSAxMi41IDIxLjUgMjAuNiAzMnpNMTQ2IDE3NmMxNC4zIDEzIDI5LjggMjUuOCA0NiAzOSAxNi4yLTEzLjEgMzEuNy0yNiA0Ni0zOWwtOTIgMHoiXX0sZSR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoaWxkLXJlYWNoaW5nIixpY29uOlszODQsNTEyLFtdLCJlNTlkIiwiTTI1NiA2NGE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6TTE1Mi45IDE2OS4zYy0yMy43LTguNC00NC41LTI0LjMtNTguOC00NS44TDc0LjYgOTQuMkM2NC44IDc5LjUgNDUgNzUuNiAzMC4zIDg1LjRTMTEuNiAxMTUgMjEuNCAxMjkuOEw0MC45IDE1OWMxOC4xIDI3LjEgNDIuOCA0OC40IDcxLjEgNjIuNEwxMTIgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiAzMiAwIDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI1OC40YzI5LjEtMTQuMiA1NC40LTM2LjIgNzIuNy02NC4ybDE4LjItMjcuOWM5LjYtMTQuOCA1LjQtMzQuNi05LjQtNDQuM3MtMzQuNi01LjUtNDQuMyA5LjRMMjkxIDEyMi40Yy0yMS44IDMzLjQtNTguOSA1My42LTk4LjggNTMuNi0xMi42IDAtMjQuOS0yLTM2LjYtNS44LS45LS4zLTEuOC0uNy0yLjctLjl6Il19LHN2PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhc3RlIixpY29uOls1MTIsNTEyLFsiZmlsZS1jbGlwYm9hcmQiXSwiZjBlYSIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxMTIgMCAwLTIyNGMwLTYxLjkgNTAuMS0xMTIgMTEyLTExMmw2NCAwIDAtNDhjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHpNMjQ4IDExMmwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTQ0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjR6bTQwIDQ4Yy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDIyNGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE2NS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zbC01OC41LTU4LjVjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdMMjg4IDE2MHoiXX0sdCR0PXN2LGEkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtZXRlb3IiLGljb246WzUxMiw1MTIsWzk3MzJdLCJmNzUzIiwiTTQ5My43IC45bC0xOTQuMiA3NC43IDIuMy0yOS4zYzEtMTIuOC0xMi44LTIxLjUtMjQtMTUuMUwxMDEuMyAxMzMuNEMzOC42IDE2OS43IDAgMjM2LjYgMCAzMDkgMCA0MjEuMSA5MC45IDUxMiAyMDMgNTEyIDI3NS40IDUxMiAzNDIuMyA0NzMuNCAzNzguNiA0MTAuN0w0ODAuOCAyMzQuM2M2LjUtMTEuMS0yLjItMjUtMTUuMS0yNGwtMjkuMyAyLjMgNzQuNy0xOTQuMmMuNi0xLjUgLjktMy4yIC45LTQuOCAwLTcuNS02LTEzLjUtMTMuNS0xMy41LTEuNyAwLTMuMyAuMy00LjggLjl6TTE5MiAxOTJhMTI4IDEyOCAwIDEgMSAwIDI1NiAxMjggMTI4IDAgMSAxIDAtMjU2em0wIDk2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTE2IDk2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnoiXX0sUGZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdlYXJzIixpY29uOls2NDAsNTEyLFsiY29ncyJdLCJmMDg1IiwiTTQxNS45IDIxMC41YzEyLjItMy4zIDI1IDIuNSAzMC41IDEzLjhMNDY1IDI2MS45YzEwLjMgMS40IDIwLjQgNC4yIDI5LjkgOC4xbDM1LTIzLjNjMTAuNS03IDI0LjQtNS42IDMzLjMgMy4zbDE5LjIgMTkuMmM4LjkgOC45IDEwLjMgMjIuOSAzLjMgMzMuM2wtMjMuMyAzNC45YzEuOSA0LjcgMy42IDkuNiA1IDE0LjcgMS40IDUuMSAyLjMgMTAuMSAzIDE1LjJsMzcuNyAxOC42YzExLjMgNS42IDE3LjEgMTguNCAxMy44IDMwLjVsLTcgMjYuMmMtMy4zIDEyLjEtMTQuNiAyMC4zLTI3LjIgMTkuNWwtNDItMi43Yy02LjMgOC4xLTEzLjYgMTUuNi0yMS45IDIybDIuNyA0MS45Yy44IDEyLjYtNy40IDI0LTE5LjUgMjcuMmwtMjYuMiA3Yy0xMi4yIDMuMy0yNC45LTIuNS0zMC41LTEzLjhsLTE4LjYtMzcuNmMtMTAuMy0xLjQtMjAuNC00LjItMjkuOS04LjFsLTM1IDIzLjNjLTEwLjUgNy0yNC40IDUuNi0zMy4zLTMuM2wtMTkuMi0xOS4yYy04LjktOC45LTEwLjMtMjIuOC0zLjMtMzMuM2wyMy4zLTM1Yy0xLjktNC43LTMuNi05LjYtNS0xNC43cy0yLjMtMTAuMi0zLTE1LjJsLTM3LjctMTguNmMtMTEuMy01LjYtMTctMTguNC0xMy44LTMwLjVsNy0yNi4yYzMuMy0xMi4xIDE0LjYtMjAuMyAyNy4yLTE5LjVsNDEuOSAyLjdjNi4zLTguMSAxMy42LTE1LjYgMjEuOS0yMmwtMi43LTQxLjhjLS44LTEyLjYgNy40LTI0IDE5LjUtMjcuMmwyNi4yLTd6TTQ0OC40IDM0MGE0NCA0NCAwIDEgMCAuMSA4OCA0NCA0NCAwIDEgMCAtLjEtODh6TTIyNC45LTQ1LjVsMjYuMiA3YzEyLjEgMy4zIDIwLjMgMTQuNyAxOS41IDI3LjJsLTIuNyA0MS44YzguMyA2LjQgMTUuNiAxMy44IDIxLjkgMjJsNDItMi43YzEyLjUtLjggMjMuOSA3LjQgMjcuMiAxOS41bDcgMjYuMmMzLjIgMTIuMS0yLjUgMjQuOS0xMy44IDMwLjVsLTM3LjcgMTguNmMtLjcgNS4xLTEuNyAxMC4yLTMgMTUuMnMtMy4xIDEwLTUgMTQuN2wyMy4zIDM1YzcgMTAuNSA1LjYgMjQuNC0zLjMgMzMuM0wzMDcuMyAyNjJjLTguOSA4LjktMjIuOCAxMC4zLTMzLjMgMy4zTDIzOSAyNDJjLTkuNSAzLjktMTkuNiA2LjctMjkuOSA4LjFsLTE4LjYgMzcuNmMtNS42IDExLjMtMTguNCAxNy0zMC41IDEzLjhsLTI2LjItN2MtMTIuMi0zLjMtMjAuMy0xNC43LTE5LjUtMjcuMmwyLjctNDEuOWMtOC4zLTYuNC0xNS42LTEzLjgtMjEuOS0yMmwtNDIgMi43Yy0xMi41IC44LTIzLjktNy40LTI3LjItMTkuNWwtNy0yNi4yYy0zLjItMTIuMSAyLjUtMjQuOSAxMy44LTMwLjVsMzcuNy0xOC42Yy43LTUuMSAxLjctMTAuMSAzLTE1LjIgMS40LTUuMSAzLTEwIDUtMTQuN0w1NS4xIDQ2LjVjLTctMTAuNS01LjYtMjQuNCAzLjMtMzMuM0w3Ny42LTZjOC45LTguOSAyMi44LTEwLjMgMzMuMy0zLjNsMzUgMjMuM2M5LjUtMy45IDE5LjYtNi43IDI5LjktOC4xbDE4LjYtMzcuNmM1LjYtMTEuMyAxOC4zLTE3IDMwLjUtMTMuOHpNMTkyLjQgODRhNDQgNDQgMCAxIDAgMCA4OCA0NCA0NCAwIDEgMCAwLTg4eiJdfSxyJHQ9UGZlLHMkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWNpcmNsZS1wbHVzIixpY29uOls1NzYsNTEyLFs1ODYwNl0sImU0OTQiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODAgMGMtMjIuNy0zMS41LTM2LTcwLjItMzYtMTEyIDAtMTAwLjYgNzcuNC0xODMuMiAxNzYtMTkxLjNsMC0zOC4xYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI5MC43IDE4LjdDMjc4LjcgNi43IDI2Mi41IDAgMjQ1LjUgMEw5NiAwek0zNTcuNSAxNzZMMjY0IDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjQwIDU4LjUgMzU3LjUgMTc2ek00MzIgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMTYtMjA4bDAgNDggNDggMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNDggMCAwIDQ4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtNDgtNDggMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw0OCAwIDAtNDhjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnoiXX0saSR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImljaWNsZXMiLGljb246WzUxMiw1MTIsW10sImY3YWQiLCJNNzUuOCAzMDQuOEwxIDM1LjdDLjMgMzMuMiAwIDMwLjcgMCAyOC4yIDAgMTIuNiAxMi42IDAgMjguMiAwTDQ4Mi40IDBjMTYuMyAwIDI5LjYgMTMuMiAyOS42IDI5LjYgMCAxLjYtLjEgMy4zLS40IDQuOUw0MzQuNiA0OTYuMWMtMS41IDkuMi05LjUgMTUuOS0xOC44IDE1LjktOS4yIDAtMTcuMS02LjYtMTguNy0xNS42TDMzNiAxNjAgMzA3LjIgMzAzLjljLTEuOSA5LjMtMTAuMSAxNi4xLTE5LjYgMTYuMS05LjIgMC0xNy4yLTYuMi0xOS40LTE1LjFMMjQwIDE5MiAyMTAuNiAzNjguMmMtMS41IDkuMS05LjQgMTUuOC0xOC42IDE1LjhzLTE3LjEtNi43LTE4LjYtMTUuOEwxNDQgMTkyIDExNS45IDMwNC4zYy0yLjMgOS4yLTEwLjYgMTUuNy0yMC4xIDE1LjctOS4zIDAtMTcuNS02LjItMjAtMTUuMnoiXX0sbyR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXRyZW5kLXVwIixpY29uOls1NzYsNTEyLFtdLCJlMDk4IiwiTTM4NCAxNjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC04Mi43LTE2OS40IDE2OS40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMEwxOTIgMjY5LjMgNTQuNiA0MDYuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMTYwLTE2MGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMEwzMjAgMzA2LjcgNDY2LjcgMTYwIDM4NCAxNjB6Il19LG4kdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZXhhZ29uLW5vZGVzLWJvbHQiLGljb246WzU3Niw1MTIsW10sImU2OWEiLCJNMjQ4IDEwNi42YzE4LjktOSAzMi0yOC4zIDMyLTUwLjZjMC0zMC45LTI1LjEtNTYtNTYtNTZzLTU2IDI1LjEtNTYgNTZjMCAyMi4zIDEzLjEgNDEuNiAzMiA1MC42bDAgOTguOGMtMi44IDEuMy01LjUgMi45LTggNC43bC04MC4xLTQ1LjhjMS42LTIwLjgtOC42LTQxLjYtMjcuOS01Mi44QzU3LjIgOTYgMjMgMTA1LjIgNy41IDEzMlMxLjIgMTkzIDI4IDIwOC41YzEuMyAuOCAyLjYgMS41IDQgMi4xbDAgOTAuOGMtMS4zIC42LTIuNyAxLjMtNCAyLjFDMS4yIDMxOS04IDM1My4yIDcuNSAzODBTNTcuMiA0MTYgODQgNDAwLjVjMTkuMy0xMS4xIDI5LjQtMzIgMjcuOC01Mi44bDUwLjUtMjguOWMtMTEuNS0xMS4yLTE5LjktMjUuNi0yMy44LTQxLjdMODggMzA2LjFjLTIuNi0xLjgtNS4yLTMuMy04LTQuN2wwLTkwLjhjMi44LTEuMyA1LjUtMi45IDgtNC43bDgwLjEgNDUuOGMtLjEgMS40LS4yIDIuOC0uMiA0LjNjMCAyMi4zIDEzLjEgNDEuNiAzMiA1MC42bDAgOTguOGMtMTguOSA5LTMyIDI4LjMtMzIgNTAuNmMwIDMwLjkgMjUuMSA1NiA1NiA1NmMzMC43IDAgNTUuNi0yNC43IDU2LTU1LjJjLTcuNS0xMi45LTEzLjUtMjYuOC0xNy42LTQxLjVjLTQuMi00LTkuMS03LjMtMTQuNC05LjlsMC05OC44YzIuOC0xLjMgNS41LTIuOSA4LTQuN2wxMC41IDZjNS41LTE1LjMgMTMuMS0yOS41IDIyLjQtNDIuNWwtOS4xLTUuMmMuMS0xLjQgLjItMi44IC4yLTQuM2MwLTIyLjMtMTMuMS00MS42LTMyLTUwLjZsMC05OC44ek00NDAuNSAxMzJDNDI1IDEwNS4yIDM5MC44IDk2IDM2NCAxMTEuNWMtMTkuMyAxMS4xLTI5LjQgMzItMjcuOCA1Mi44bC01MC42IDI4LjljMTEuNSAxMS4yIDE5LjkgMjUuNiAyMy44IDQxLjdMMzYwIDIwNS45Yy40IC4zIC44IC42IDEuMyAuOWMyMS43LTkuNSA0NS42LTE0LjggNzAuOC0xNC44YzIgMCA0IDAgNS45IC4xYzEyLjEtMTcuMyAxMy44LTQwLjYgMi42LTYwLjF6TTQzMiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em00Ny45LTIyNWM0LjMgMy43IDUuNCA5LjkgMi42IDE0LjlMNDUyLjQgMzU2bDM1LjYgMGM1LjIgMCA5LjggMy4zIDExLjQgOC4ycy0uMSAxMC4zLTQuMiAxMy40bC05NiA3MmMtNC41IDMuNC0xMC44IDMuMi0xNS4xLS42cy01LjQtOS45LTIuNi0xNC45TDQxMS42IDM4MCAzNzYgMzgwYy01LjIgMC05LjgtMy4zLTExLjQtOC4ycy4xLTEwLjMgNC4yLTEzLjRsOTYtNzJjNC41LTMuNCAxMC44LTMuMiAxNS4xIC42eiJdfSxsJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicXVlc3Rpb24iLGljb246WzMyMCw1MTIsWzEwMDY3LDEwMDY4LDYxNzM2XSwiM2YiLCJNNjQgMTYwYzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZjMCA0Mi43LTI3LjkgNzguOS02Ni41IDkxLjQtMjguNCA5LjItNjEuNSAzNS4zLTYxLjUgNzYuNmwwIDI0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNGMwLTEuNyAuNi00LjEgMy41LTcuMyAzLTMuMyA3LjktNi41IDEzLjctOC40IDY0LjMtMjAuNyAxMTAuOC04MSAxMTAuOC0xNTIuMyAwLTg4LjQtNzEuNi0xNjAtMTYwLTE2MFMwIDcxLjYgMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnptOTYgMzUyYzIyLjEgMCA0MC0xNy45IDQwLTQwcy0xNy45LTQwLTQwLTQwLTQwIDE3LjktNDAgNDAgMTcuOSA0MCA0MCA0MHoiXX0sYyR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzLWJvdW5kIixpY29uOls1NzYsNTEyLFtdLCJlNGY5IiwiTTY0IDMyQzY0IDE0LjMgNDkuNyAwIDMyIDBTMCAxNC4zIDAgMzJMMCAyMTMuOWMwIDE0LjIgNS4xIDI3LjkgMTQuMyAzOC43TDk5LjYgMzUyIDk2IDM1MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzODQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMy42IDAgODUuMy05OS41YzkuMi0xMC44IDE0LjMtMjQuNSAxNC4zLTM4LjdMNTc2IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTEyLjgtNjkuMyA5Mi40Yy01LjcgNy42LTE2LjEgOS42LTI0LjIgNC44LTkuNy01LjctMTIuMS0xOC43LTUuMS0yNy41TDQ0MSAxODBjMTAuOC0xMy41IDguOS0zMy4zLTQuNC00NC41cy0zMy05LjgtNDQuNSAzLjJsLTQ2LjcgNTIuNUMzMjkgMjA5LjcgMzIwIDIzMy40IDMyMCAyNTguMWwwIDkzLjktNjQgMCAwLTkzLjljMC0yNC42LTktNDguNC0yNS40LTY2LjhsLTQ2LjctNTIuNWMtMTEuNS0xMy0zMS4zLTE0LjQtNDQuNS0zLjJTMTI0LjIgMTY2LjQgMTM1IDE4MGwyNy42IDM0LjVjNyA4LjggNC43IDIxLjgtNS4xIDI3LjUtOC4xIDQuOC0xOC42IDIuNy0yNC4yLTQuOEw2NCAxNDQuOCA2NCAzMnptNjQgNDQ4bDAgMzIgMTI4IDAgMC0zMiA2NCAwIDAgMzIgMTI4IDAgMC0zMiAzMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDk2IDQzMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzMiAweiJdfSxkJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXdhbGtpbmctbHVnZ2FnZSIsaWNvbjpbNTEyLDUxMixbXSwiZTU1NCIsIk0yNjQuMyAyNGE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6bS04IDE4MS4zbC0yMi42IDIyLjZjLTYgNi05LjQgMTQuMS05LjQgMjIuNmwwIDM3LjVjMCAxMi4zLTcgMjMtMTcuMiAyOC40LS45IDQuMi0yLjQgOC40LTQuMyAxMi4zbC02OSAxMzguMS0uOC0uNC0yNy43IDU1LjNjLTkuOSAxOS44LTMzLjkgMjcuOC01My43IDE3LjlMMTQuNiA1MjFjLTE5LjgtOS45LTI3LjgtMzMuOS0xNy45LTUzLjdMNDcuMyAzNjYuM2M5LjktMTkuOCAzMy45LTI3LjggNTMuNy0xNy45bDMwLjcgMTUuMyAyOC4zLTU2LjZjLjMtLjYgLjQtMS4yIC40LTEuOGwwLTE2LjljMC0uMiAwLS4zIDAtLjVsMC0zNy41YzAtMjUuNSAxMC4xLTQ5LjkgMjguMS02Ny45bDM1LjEtMzUuMWMyMi44LTIyLjggNTMuNi0zNS42IDg1LjgtMzUuNiAzNi45IDAgNzEuOCAxNi44IDk0LjggNDUuNkw0MjIuMSAxODBjNi4xIDcuNiAxNS4zIDEyIDI1IDEybDMzLjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzMuMiAwYy0yOS4yIDAtNTYuNy0xMy4zLTc1LTM2bC0zLjgtNC43IDAgMTE1LjIgMzQuNSAyOS42YzE3LjcgMTUuMiAyOS4zIDM2LjIgMzIuNiA1OS4zTDQ0OCA1MDcuNWMyLjUgMTcuNS05LjcgMzMuNy0yNy4yIDM2LjJzLTMzLjctOS43LTM2LjItMjcuMkwzNzIgNDI4LjRjLTEuMS03LjctNS0xNC43LTEwLjktMTkuOGwtNzEuNC02MS4yYy0yMS4zLTE4LjItMzMuNS00NC45LTMzLjUtNzIuOWwwLTY5LjN6bS4xIDE2NS44YzIuNCAyLjMgNC44IDQuNiA3LjQgNi44bDQ2IDM5LjQtMi4yIDcuNmMtNC41IDE1LjctMTIuOSAzMC0yNC40IDQxLjVsLTY4LjMgNjguM2MtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMjM4IDQyMS4xYzMuOC0zLjggNi42LTguNiA4LjEtMTMuOEwyNTYuNCAzNzF6Il19LElmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWFycm93LWRvd24iLGljb246WzM4NCw1MTIsWyJmaWxlLWRvd25sb2FkIl0sImY1NmQiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTE3NSA0NDFjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsNjQtNjRjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMjMgMjMgMC04Ni4xYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgODYuMS0yMy0yM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw2NCA2NHoiXX0sdSR0PUlmZSxwJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWJvb3RoIixpY29uOls1NzYsNTEyLFtdLCJmNzU2IiwiTTQwIDI0QTU2IDU2IDAgMSAxIDE1MiAyNCA1NiA1NiAwIDEgMSA0MCAyNHptNTEuMSA4OGMyMy41IDAgNDUuNSAxMS4zIDU5LjEgMzAuNGw0OC43IDY4LjJjNiA4LjQgMTUuNyAxMy40IDI2IDEzLjRsMzEuMSAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMS4xIDBjLTMxIDAtNjAuMS0xNS03OC4xLTQwLjJsLTIuOC0zLjkgMCA4MC4xIDQxLjYgMzEuMkMyMDkuOCAzNzMuMyAyMjQgNDAxLjggMjI0IDQzMmwwIDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtODBjMC0xMC4xLTQuNy0xOS42LTEyLjgtMjUuNkw3MC40IDM0OC44QzQ2LjIgMzMwLjcgMzIgMzAyLjIgMzIgMjcybDAtMTAwLjlDMzIgMTM4LjUgNTguNSAxMTIgOTEuMSAxMTJ6TTMyIDUxMmwwLTEzMi43YzMuMSAyLjcgNi4zIDUuNCA5LjYgNy45TDk2IDQyOCA5NiA1MTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJ6bTU0NC04OGwwIDk2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNzItMTY4IDBjLTcuMSAwLTEzLjgtMy4xLTE4LjQtOC42cy02LjUtMTIuNi01LjMtMTkuNmwzMC43LTE3Ni43LTYzLjEtMTM3LjYgMCA3MmMtNS4yLTEtMTAuNS0xLjYtMTYtMS42bC0zMiAwIDAtMTIwYzAtMzAuOSAyNS4xLTU2IDU2LTU2TDUyMCAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2bDAgMzY4ek0yODggMzM2YzUuNSAwIDEwLjgtLjYgMTYtMS42TDMwNCA1MjBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xODQgMzIgMHoiXX0sZiR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxvY3VzdCIsaWNvbjpbNTc2LDUxMixbXSwiZTUyMCIsIk0zMjggMzJjMTM3IDAgMjQ4IDExMSAyNDggMjQ4bDAgNDAtLjQgOC4yQzU3MS41IDM2OC41IDUzNy40IDQwMCA0OTYgNDAwbC0xMi4zIDAgMjUuMiA0NC4xYzYuNiAxMS41IDIuNiAyNi4yLTguOSAzMi44cy0yNi4yIDIuNi0zMi43LTguOWwtMzguOC02Ny45LTgwLjQgMC00OC4yIDY5LjdjLTcuNSAxMC45LTIyLjUgMTMuNi0zMy40IDYuMXMtMTMuNi0yMi41LTYuMS0zMy40bDI5LjMtNDIuMy03NC41IDAtNTEuNyA3MC4yYy03LjkgMTAuNy0yMi45IDEyLjktMzMuNiA1LjFzLTEyLjktMjIuOS01LjEtMzMuNmw0MC41LTU1LTQzLTE2LjQtNzkuMyAxMDAuNWMtOC4yIDEwLjQtMjMuMyAxMi4yLTMzLjcgNHMtMTIuMi0yMy4zLTQtMzMuN2wyNDAtMzA0IDIuMS0yLjNjNS4yLTUuMSAxMi41LTcuNSAxOS45LTYuNiA4LjQgMS4xIDE1LjYgNi41IDE4LjkgMTQuM2wyMS43IDUwLjcgNDAuOS01NS41IDIuMS0yLjRjNS4xLTUuMyAxMi41LTggMjAtNy4yIDguNSAxIDE1LjkgNi41IDE5LjMgMTQuNGw0MS44IDk3LjUgNjQuMiAwYzEwLjIgMCAyMCAyIDI5IDUuNS0xNi40LTk0LTk4LjMtMTY1LjUtMTk3LTE2NS41bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE2IDB6TTQ4OCAyOTZhMjQgMjQgMCAxIDAgMCA0OCAyNCAyNCAwIDEgMCAwLTQ4ek00My41IDMzMS4xQzM2LjIgMzIxLjQgMzIgMzA5LjUgMzIgMjk2LjggMzIgMjY1LjUgNTcuNSAyNDAgODguOSAyNDBsMjcuNiAwLTcyLjkgOTEuMXpNMjI1LjEgMjQwbDQ4LjIgMCAxLjQtMS45LTE2LjktMzkuNS0zMi43IDQxLjV6bTEwNy44IDBsNDYuNyAwLTE3LjItNDAtMjkuNSA0MHoiXX0sTmZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJpZ2h0LWxvbmciLGljb246WzU3Niw1MTIsWyJsb25nLWFycm93LWFsdC1yaWdodCJdLCJmMzBiIiwiTTU2Ni42IDIzMy40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0xMjggMTI4Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOVMzODQgMzk2LjkgMzg0IDM4NGwwLTY0LTMzNiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTMyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDMzNiAwIDAtNjRjMC0xMi45IDcuOC0yNC42IDE5LjgtMjkuNnMyNS43LTIuMiAzNC45IDYuOWwxMjggMTI4eiJdfSxoJHQ9TmZlLG0kdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1kcm9wbGV0IixpY29uOls1NzYsNTEyLFtdLCJlNThjIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMy4zIDBjMTAuNCAzNi45IDQ0LjQgNjQgODQuNyA2NHM3NC4yLTI3LjEgODQuNy02NGwxMDIuNiAwYzEwLjQgMzYuOSA0NC40IDY0IDg0LjcgNjRzNzQuMi0yNy4xIDg0LjctNjRsMy4zIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNDYuN2MwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0w1MTIgMTQ2LjdjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdsLTUwLjcgMCAwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek01MTIgMjM3LjNsMCA1MC43LTk2IDAgMC05NiA1MC43IDAgNDUuMyA0NS4zek0xNTIgMzg0YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHptMjMyIDQwYTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6TTIwOCAzMDRjLTM5LjggMC03Mi0zMi4yLTcyLTcyIDAtMzMuMiAzNC41LTc4IDU1LjgtMTAyLjQgOC43LTEwIDIzLjgtMTAgMzIuNSAwIDIxLjIgMjQuNCA1NS44IDY5LjEgNTUuOCAxMDIuNCAwIDQ4LTMyLjIgNzItNzIgNzJ6Il19LGckdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLWhvbGRpbmctbWVkaWNhbCIsaWNvbjpbNTc2LDUxMixbXSwiZTA1YyIsIk0yNDAgMjRjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDU2IDU2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNTYgMCAwIDU2YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTU2LTU2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNDhjMC0xMy4zIDEwLjctMjQgMjQtMjRsNTYgMCAwLTU2ek02Ni43IDM4NGw0Mi41LTQyLjVjMjQtMjQgNTYuNi0zNy41IDkwLjUtMzcuNUwzNTIgMzA0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDExMi42IDAgMTE5LjctODguMmMxNy44LTEzLjEgNDIuOC05LjMgNTUuOSA4LjVzOS4zIDQyLjgtOC41IDU1LjlMNDMzLjEgNDg1LjVjLTIzLjQgMTcuMi01MS42IDI2LjUtODAuNyAyNi41TDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzNC43IDB6Il19LGIkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLXBvaW50LWxlZnQiLGljb246WzUxMiw1MTIsW10sImYwYTUiLCJNMzIgOTZDMTQuMyA5NiAwIDExMC4zIDAgMTI4czE0LjMgMzIgMzIgMzJsMjA4IDAgMC02NC0yMDggMHpNMTkyIDI4OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwem0tNjQtNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNDggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTk2IDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwem04OC05NmwtLjYgMGM1LjQgOS40IDguNiAyMC4zIDguNiAzMiAwIDEzLjItNCAyNS40LTEwLjggMzUuNiAyNC45IDguNyA0Mi44IDMyLjUgNDIuOCA2MC40IDAgMTEuNy0zLjEgMjIuNi04LjYgMzJsOC42IDBjODguNCAwIDE2MC03MS42IDE2MC0xNjBsMC02MS43YzAtNDIuNC0xNi45LTgzLjEtNDYuOS0xMTMuMWwtMTEuNi0xMS42QzQyOS41IDc3LjUgMzk2LjkgNjQgMzYzIDY0bC0yNyAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDg4YzAgMjIuMSAxNy45IDQwIDQwIDQwczQwLTE3LjkgNDAtNDBsMC01NmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNTZjMCAzOS44LTMyLjIgNzItNzIgNzJ6Il19LHYkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWxjdWxhdG9yIixpY29uOlszODQsNTEyLFsxMjg0MjVdLCJmMWVjIiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDB6TTk2IDY0bDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJMOTYgMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0xNiAxNjhhMjQgMjQgMCAxIDEgLTQ4IDAgMjQgMjQgMCAxIDEgNDggMHptODAgMjRhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4em0xMjgtMjRhMjQgMjQgMCAxIDEgLTQ4IDAgMjQgMjQgMCAxIDEgNDggMHpNODggMzUyYTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHptMTI4LTI0YTI0IDI0IDAgMSAxIC00OCAwIDI0IDI0IDAgMSAxIDQ4IDB6bTgwIDI0YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHpNNjQgNDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDg4IDQ0OGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTIzMi0yNGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNC0yNC0xMC43LTI0LTI0IDEwLjctMjQgMjQtMjR6Il19LGl2PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pbnVzIixpY29uOls0NDgsNTEyLFs4MjExLDg3MjIsMTAxMzQsInN1YnRyYWN0Il0sImYwNjgiLCJNMCAyNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnoiXX0seCR0PWl2LFJmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC16LWEiLGljb246WzUxMiw1MTIsWyJzb3J0LWFscGhhLXVwLWFsdCJdLCJmODgyIiwiTTE1MC42IDQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC04MCA4MGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw5NiAxNDEuMyA5NiA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMwNi43IDI1LjQgMjUuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC04MC04MHpNMjg4IDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDUwLjcgMC03My40IDczLjRjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45UzMwNy4xIDIyNCAzMjAgMjI0bDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC01MC43IDAgNzMuNC03My40YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzQ2MSAzMiA0NDggMzJMMzIwIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNNDEyLjYgMjczLjdDNDA3LjIgMjYyLjggMzk2LjEgMjU2IDM4NCAyNTZzLTIzLjIgNi44LTI4LjYgMTcuN2wtODAgMTYwYy03LjkgMTUuOC0xLjUgMzUgMTQuMyA0Mi45czM1IDEuNSA0Mi45LTE0LjNsNy4yLTE0LjMgODguNCAwIDcuMiAxNC4zYzcuOSAxNS44IDI3LjEgMjIuMiA0Mi45IDE0LjNzMjIuMi0yNy4xIDE0LjMtNDIuOWwtODAtMTYwek0zODQgMzU5LjZsMjAuMiA0MC40LTQwLjQgMCAyMC4yLTQwLjR6Il19LHkkdD1SZmUsdyR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pY3JvcGhvbmUtc2xhc2giLGljb246WzU3Niw1MTIsW10sImYxMzEiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw0MjQuNyAzNTguOEM0NTguOSAzMjQuMiA0ODAgMjc2LjYgNDgwIDIyNGwwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDBjMCAzOS4zLTE1LjcgNzQuOS00MS4zIDEwMC45TDM1Ni44IDI5MUMzNzMuNiAyNzMuNyAzODQgMjUwIDM4NCAyMjRsMC0xMjhjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZsMCAzMC4yLTE1MS0xNTF6bTI5OC4zIDQzNGwtNDEuNC00MS40Yy0zLjMgLjItNi41IC4zLTkuOCAuMy03OS41IDAtMTQ0LTY0LjUtMTQ0LTE0NGwwLTEwLjItNDMuNi00My42Yy0yLjggMy45LTQuNCA4LjctNC40IDEzLjhsMCA0MGMwIDk3LjkgNzMuMyAxNzguNyAxNjggMTkwLjVsMCA0OS41LTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDAgMC00OS41YzkuMy0xLjIgMTguNC0zIDI3LjMtNS40eiJdfSxBZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXBlbiIsaWNvbjpbNDQ4LDUxMixbInBlbi1zcXVhcmUiLCJwZW5jaWwtc3F1YXJlIl0sImYxNGIiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMzI1LjggMTM5LjdsMTQuNCAxNC40YzE1LjYgMTUuNiAxNS42IDQwLjkgMCA1Ni42bC0yMy44IDIzLjgtNzEtNzEgMjMuOC0yMy44YzE1LjYtMTUuNiA0MC45LTE1LjYgNTYuNiAwek0xMTkuOSAyODlsOTEuNS05MS42IDcxIDcxLTkxLjYgOTEuNWMtNC4xIDQuMS05LjIgNy0xNC45IDguNGwtNjAuMSAxNWMtNS41IDEuNC0xMS4yLS4yLTE1LjItNC4ycy01LjYtOS43LTQuMi0xNS4ybDE1LTYwLjFjMS40LTUuNiA0LjMtMTAuOCA4LjQtMTQuOXoiXX0sTSR0PUFlZSxrJHQ9QWVlLE9mZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLWZpc3QiLGljb246WzM4NCw1MTIsWzk5OTQsImZpc3QtcmFpc2VkIl0sImY2ZGUiLCJNMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMTItNjQgMCAwLTExMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzIgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJTOTYgNDYuMyA5NiA2NGwwIDgwLTY0IDAgMC04MHptMTkyIDBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTZ6bTk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0em0tOTYgODhsMC0uNmM5LjQgNS40IDIwLjMgOC42IDMyIDguNiAxMy4yIDAgMjUuNC00IDM1LjYtMTAuOCA4LjcgMjQuOSAzMi41IDQyLjggNjAuNCA0Mi44IDExLjcgMCAyMi42LTMuMSAzMi04LjZsMCA4LjZjMCA1Mi4zLTI1LjEgOTguOC02NCAxMjhsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNzguNGMtMTcuMy03LjktMzMuMi0xOC44LTQ2LjktMzIuNUwzNy41IDM1Ny41QzEzLjUgMzMzLjUgMCAzMDAuOSAwIDI2N2wwLTI3YzAtMzUuMyAyOC43LTY0IDY0LTY0bDg4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBzLTE3LjkgNDAtNDAgNDBsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsNTYgMGMzOS44IDAgNzItMzIuMiA3Mi03MnoiXX0sUyR0PU9mZSxGZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tbWVudC1zbXMiLGljb246WzUxMiw1MTIsWyJzbXMiXSwiZjdjZCIsIk0yNTYgNDgwYzE0MS40IDAgMjU2LTEwNy41IDI1Ni0yNDBTMzk3LjQgMCAyNTYgMCAwIDEwNy41IDAgMjQwYzAgNTQuMyAxOS4yIDEwNC4zIDUxLjYgMTQ0LjVMMi44IDQ3Ni44Yy00LjggOS0zLjMgMjAgMy42IDI3LjVzMTcuOCA5LjggMjcuMSA1LjhsMTE4LjQtNTAuN0MxODMuNyA0NzIuNiAyMTguOSA0ODAgMjU2IDQ4MHpNMTQwLjggMTcyLjhsMTkuMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xOS4yIDBjLTUuMyAwLTkuNiA0LjMtOS42IDkuNnM0LjMgOS42IDkuNiA5LjZjMjMgMCA0MS42IDE4LjYgNDEuNiA0MS42cy0xOC42IDQxLjYtNDEuNiA0MS42bC0yNS42IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMjUuNiAwYzUuMyAwIDkuNi00LjMgOS42LTkuNnMtNC4zLTkuNi05LjYtOS42Yy0yMyAwLTQxLjYtMTguNi00MS42LTQxLjZzMTguNi00MS42IDQxLjYtNDEuNnptMTg4LjggNDEuNmMwLTIzIDE4LjYtNDEuNiA0MS42LTQxLjZsMTkuMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xOS4yIDBjLTUuMyAwLTkuNiA0LjMtOS42IDkuNnM0LjMgOS42IDkuNiA5LjZjMjMgMCA0MS42IDE4LjYgNDEuNiA0MS42cy0xOC42IDQxLjYtNDEuNiA0MS42bC0yNS42IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMjUuNiAwYzUuMyAwIDkuNi00LjMgOS42LTkuNnMtNC4zLTkuNi05LjYtOS42Yy0yMyAwLTQxLjYtMTguNi00MS42LTQxLjZ6bS05OC4zLTMzLjhsMjQuNyA0MS4xIDI0LjctNDEuMWMzLjctNi4yIDExLjEtOS4xIDE4LTcuMnMxMS43IDguMiAxMS43IDE1LjRsMCAxMDIuNGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTQ0LjYtOC43IDE0LjVjLTIuOSA0LjgtOC4xIDcuOC0xMy43IDcuOHMtMTAuOC0zLTEzLjctNy44bC04LjctMTQuNSAwIDQ0LjZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xMDIuNGMwLTcuMiA0LjgtMTMuNSAxMS43LTE1LjRzMTQuMyAxIDE4IDcuMnoiXX0seiR0PUZmZSxDJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2ltLWNhcmQiLGljb246WzM4NCw1MTIsW10sImY3YzQiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjU4LjcgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyA4MGMxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0ek05NiAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDAgMTI4IDAgMC03Mi05NiAwek02NCA0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsNDggMCAwLTcyLTgwIDAgMCA0MHptMjU2IDBsMC00MC0xMjggMCAwIDcyIDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6bTAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMybC00OCAwIDAgNzIgODAgMCAwLTQweiJdfSxCZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2NhbGUtYmFsYW5jZWQiLGljb246WzY0MCw1MTIsWzk4NzgsImJhbGFuY2Utc2NhbGUiXSwiZjI0ZSIsIk0zODQgMzJsMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzk4LjQgOTZjLTUuMiAyNS44LTIyLjkgNDcuMS00Ni40IDU3LjNsMCAyOTQuNyAxNjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzg0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYwIDAgMC0yOTQuN2MtMjMuNS0xMC4zLTQxLjItMzEuNi00Ni40LTU3LjNMMTI4IDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDEyOCAwYzE0LjYtMTkuNCAzNy44LTMyIDY0LTMyczQ5LjQgMTIuNiA2NCAzMnptNTUuNiAyODhMNTg0LjQgMzIwIDUxMiAxOTUuOCA0MzkuNiAzMjB6TTUxMiA0MTZjLTYyLjkgMC0xMTUuMi0zNC0xMjYtNzguOS0yLjYtMTEgMS0yMi4zIDYuNy0zMi4xbDk1LjItMTYzLjJjNS04LjYgMTQuMi0xMy44IDI0LjEtMTMuOHMxOS4xIDUuMyAyNC4xIDEzLjhsOTUuMiAxNjMuMmM1LjcgOS44IDkuMyAyMS4xIDYuNyAzMi4xLTEwLjggNDQuOC02My4xIDc4LjktMTI2IDc4Ljl6TTEyNi44IDE5NS44TDU0LjQgMzIwIDE5OS4zIDMyMCAxMjYuOCAxOTUuOHpNLjkgMzM3LjFjLTIuNi0xMSAxLTIyLjMgNi43LTMyLjFsOTUuMi0xNjMuMmM1LTguNiAxNC4yLTEzLjggMjQuMS0xMy44czE5LjEgNS4zIDI0LjEgMTMuOGw5NS4yIDE2My4yYzUuNyA5LjggOS4zIDIxLjEgNi43IDMyLjEtMTAuOCA0NC44LTYzLjEgNzguOS0xMjYgNzguOVMxMS43IDM4MiAuOSAzMzcuMXoiXX0sXyR0PUJmZSxIZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyIixpY29uOls1MTIsNTEyLFsxMjg2NjQsImF1dG9tb2JpbGUiXSwiZjFiOSIsIk0xMzUuMiAxMTcuNGwtMjYuMSA3NC42IDI5My44IDAtMjYuMS03NC42QzM3Mi4zIDEwNC42IDM2MC4yIDk2IDM0Ni42IDk2TDE2NS40IDk2Yy0xMy42IDAtMjUuNyA4LjYtMzAuMiAyMS40ek0zOS42IDE5Ni44TDc0LjggOTYuM0M4OC4zIDU3LjggMTI0LjYgMzIgMTY1LjQgMzJsMTgxLjIgMGM0MC44IDAgNzcuMSAyNS44IDkwLjYgNjQuM2wzNS4yIDEwMC41YzIzLjIgOS42IDM5LjYgMzIuNSAzOS42IDU5LjJsMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzItMzIwIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMCAyNTZjMC0yNi43IDE2LjQtNDkuNiAzOS42LTU5LjJ6TTEyOCAzMDRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMjg4IDMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sVCR0PUhmZSxxZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3JvcC1zaW1wbGUiLGljb246WzUxMiw1MTIsWyJjcm9wLWFsdCJdLCJmNTY1IiwiTTEyOCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMlM2NCAxNC4zIDY0IDMybDAgMzItMzIgMEMxNC4zIDY0IDAgNzguMyAwIDk2czE0LjMgMzIgMzIgMzJsMzIgMCAwIDI1NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMDggMCAwLTY0LTIwOCAwIDAtMzUyek0zODQgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMiAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0yMDggMCAwIDY0IDIwOCAwIDAgMzUyeiJdfSxMJHQ9cWZlLCQkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtZWRhbCIsaWNvbjpbNDQ4LDUxMixbMTI3OTQxXSwiZjVhMiIsIk0yMjQuMyAxMjhMMTM5LjctMTIuOWMtNi41LTEwLjgtMjAuMS0xNC43LTMxLjMtOS4xTDIxLjggMjEuM0M5LjkgMjcuMiA1LjEgNDEuNiAxMSA1My41TDgwLjYgMTkyLjZjLTMwLjEgMzMuOS00OC4zIDc4LjUtNDguMyAxMjcuNCAwIDEwNiA4NiAxOTIgMTkyIDE5MnMxOTItODYgMTkyLTE5MmMwLTQ4LjktMTguMy05My41LTQ4LjMtMTI3LjRMNDM3LjYgNTMuNWM1LjktMTEuOSAxLjEtMjYuMy0xMC43LTMyLjJMMzQwLjItMjIuMWMtMTEuMi01LjYtMjQuOS0xLjYtMzEuMyA5LjFMMjI0LjMgMTI4em0zMC44IDE0Mi41YzEuNCAyLjggNCA0LjcgNyA1LjFsNTAuMSA3LjNjNy43IDEuMSAxMC43IDEwLjUgNS4yIDE2bC0zNi4zIDM1LjRjLTIuMiAyLjItMy4yIDUuMi0yLjcgOC4zbDguNiA0OS45YzEuMyA3LjYtNi43IDEzLjUtMTMuNiA5LjlsLTQ0LjgtMjMuNmMtMi43LTEuNC02LTEuNC04LjcgMGwtNDQuOCAyMy42Yy02LjkgMy42LTE0LjktMi4yLTEzLjYtOS45bDguNi00OS45Yy41LTMtLjUtNi4xLTIuNy04LjNsLTM2LjMtMzUuNGMtNS42LTUuNC0yLjUtMTQuOCA1LjItMTZsNTAuMS03LjNjMy0uNCA1LjctMi40IDctNS4xbDIyLjQtNDUuNGMzLjQtNyAxMy4zLTcgMTYuOCAwbDIyLjQgNDUuNHoiXX0sRCR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjcm9sbCIsaWNvbjpbNTc2LDUxMixbMTI4MjIwXSwiZjcwZSIsIk0wIDExMkMwIDcwLjUgMzEuNiAzNi40IDcyIDMyLjRsMC0uNCAyODAgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMTc2LTE3NiAwYy0zOS44IDAtNzIgMzIuMi03MiA3MmwwIDYwYzAgMjQuMy0xOS43IDQ0LTQ0IDQ0cy00NC0xOS43LTQ0LTQ0bDAtMjI4LTY0IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtNDh6TTIzNi44IDQ4MGM3LjEtMTMuMSAxMS4yLTI4LjEgMTEuMi00NGwwLTYwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDI0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMjRjMCA0NC4yLTM1LjggODAtODAgODBsLTIyNy4yIDB6TTgwIDgwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ4IDY0IDAgMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnoiXX0sQSR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtZXhjZWwiLGljb246WzM4NCw1MTIsW10sImYxYzMiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTE2NCAyNjYuN2MtNy40LTExLTIyLjMtMTQtMzMuMy02LjdzLTE0IDIyLjMtNi43IDMzLjNMMTYzLjIgMzUyIDEyNCA0MTAuN2MtNy40IDExLTQuNCAyNS45IDYuNyAzMy4zczI1LjkgNC40IDMzLjMtNi43bDI4LTQyIDI4IDQyYzcuNCAxMSAyMi4zIDE0IDMzLjMgNi43czE0LTIyLjMgNi43LTMzLjNMMjIwLjggMzUyIDI2MCAyOTMuM2M3LjQtMTEgNC40LTI1LjktNi43LTMzLjNzLTI1LjktNC40LTMzLjMgNi43bC0yOCA0Mi0yOC00MnoiXX0sRSR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbHRlciIsaWNvbjpbNTEyLDUxMixbXSwiZjBiMCIsIk0zMiA2NEMxOS4xIDY0IDcuNCA3MS44IDIuNCA4My44Uy4yIDEwOS41IDkuNCAxMTguNkwxOTIgMzAxLjMgMTkyIDQxNmMwIDguNSAzLjQgMTYuNiA5LjQgMjIuNmw2NCA2NGM5LjIgOS4yIDIyLjkgMTEuOSAzNC45IDYuOVMzMjAgNDkyLjkgMzIwIDQ4MGwwLTE3OC43IDE4Mi42LTE4Mi42YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzQ5Mi45IDY0IDQ4MCA2NEwzMiA2NHoiXX0sUCR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRydW0iLGljb246WzUxMiw1MTIsWzEyOTM0NV0sImY1NjkiLCJNNTAxLjIgNzYuMWMxMS4xLTcuMyAxNC4yLTIyLjEgNi45LTMzLjJzLTIyLjEtMTQuMi0zMy4yLTYuOUwzNzAuMiAxMDQuNUMzMzUuOCA5OC43IDI5NyA5NiAyNTYgOTYgMTE0LjYgOTYgMCAxMjggMCAyMDhMMCAzNjhjMCAzMS4zIDI3LjQgNTguOCA3MiA3OC43TDcyIDM0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTE5LjRjMzMgOC45IDcxLjEgMTQuNSAxMTIgMTYuMUwyMzIgMzc2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMDMuNWM0MC45LTEuNiA3OS03LjIgMTEyLTE2LjFMMzkyIDM0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTAyLjdjNDQuNi0xOS45IDcyLTQ3LjQgNzItNzguN2wwLTE2MGMwLTQxLjEtMzAuMi02OS41LTc4LjgtODcuNGw2Ny45LTQ0LjV6TTMwNy40IDE0NS42bC02NC42IDQyLjNjLTExLjEgNy4zLTE0LjIgMjIuMS02LjkgMzMuMnMyMi4xIDE0LjIgMzMuMiA2LjlsMTExLjEtNzIuOGMxNC43IDMuMiAyNy45IDcgMzkuNCAxMS41IDM4LjggMTUuMSA0NC40IDMwLjYgNDQuNCA0MS4zIDAgLjgtMi43IDE3LjItNDYgMzUuOS0zOC45IDE2LjgtOTYgMjguMS0xNjIgMjguMVMxMzIuOSAyNjAuNyA5NCAyNDMuOWMtNDMuMy0xOC43LTQ2LTM1LjEtNDYtMzUuOSAwLTEwLjYgNS42LTI2LjIgNDQuNC00MS4zIDM4LjMtMTQuOSA5NS40LTIyLjcgMTYzLjYtMjIuNyAxOCAwIDM1LjEgLjUgNTEuNCAxLjZ6Il19LEkkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXAtcGluIixpY29uOlszMjAsNTEyLFsxMjgyMDVdLCJmMjc2IiwiTTE5MiAyODQuNEMyNTYuMSAyNjkuOSAzMDQgMjEyLjUgMzA0IDE0NCAzMDQgNjQuNSAyMzkuNSAwIDE2MCAwUzE2IDY0LjUgMTYgMTQ0YzAgNjguNSA0Ny45IDEyNS45IDExMiAxNDAuNEwxMjggNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xOTUuNnpNMTY4IDk2Yy0zMC45IDAtNTYgMjUuMS01NiA1NiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTU3LjQgNDYuNi0xMDQgMTA0LTEwNCAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNHoiXX0sVmZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjYWxlLXVuYmFsYW5jZWQtZmxpcCIsaWNvbjpbNjQwLDUxMixbImJhbGFuY2Utc2NhbGUtcmlnaHQiXSwiZjUxNiIsIk0xMTguMiA2Mi40QzEwMS41IDU2LjggOTIuNCAzOC42IDk4IDIxLjlTMTIxLjctMy45IDEzOC41IDEuNmwxMTMgMzcuN2MxMy45LTIzLjUgMzkuNi0zOS4zIDY4LjktMzkuMyA0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDMtLjIgNS45LS41IDguOGwxMjIuNiA0MC45YzE2LjggNS42IDI1LjggMjMuNyAyMC4yIDQwLjVzLTIzLjcgMjUuOC00MC41IDIwLjJMMzY2LjcgMTQ1LjJjLTQuNSAzLjItOS4zIDUuOS0xNC40IDguMmwwIDMyNi43YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNjAgMCAwLTI5NC43Yy0yMS05LjItMzcuMi0yNy00NC4yLTQ5bC0xMjUuOS00MnpNMjAwLjggMjg4TDEyOC4zIDE2My44IDU1LjkgMjg4IDIwMC44IDI4OHptLTcyLjQgOTZjLTYyLjkgMC0xMTUuMi0zNC0xMjYtNzguOS0yLjYtMTEgMS0yMi4zIDYuNy0zMi4xbDk1LjItMTYzLjJjNS04LjYgMTQuMi0xMy44IDI0LjEtMTMuOHMxOS4xIDUuMyAyNC4xIDEzLjhsOTUuMiAxNjMuMmM1LjcgOS44IDkuMyAyMS4xIDYuNyAzMi4xLTEwLjggNDQuOC02My4xIDc4LjktMTI2IDc4Ljl6bTM4Mi44LTkyLjJsLTcyLjQgMTI0LjIgMTQ0LjkgMC03Mi40LTEyNC4yem0xMjYgMTQxLjNDNjI2LjQgNDc4IDU3NC4xIDUxMiA1MTEuMiA1MTJzLTExNS4yLTM0LTEyNi03OC45Yy0yLjYtMTEgMS0yMi4zIDYuNy0zMi4xbDk1LjItMTYzLjJjNS04LjYgMTQuMi0xMy44IDI0LjEtMTMuOHMxOS4xIDUuMyAyNC4xIDEzLjhsOTUuMiAxNjMuMmM1LjcgOS44IDkuMyAyMS4xIDYuNyAzMi4xeiJdfSxOJHQ9VmZlLFIkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3MtdG8tY2lyY2xlIixpY29uOls1MTIsNTEyLFtdLCJlNGJkIiwiTTkuNCA5LjRDMjEuOS0zLjEgNDIuMS0zLjEgNTQuNiA5LjRMMTI4IDgyLjcgMTI4IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxOC43IDAtNzMuNC03My40Qy0zLjEgNDIuMS0zLjEgMjEuOSA5LjQgOS40ek0yMDAgMjU2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNNTAyLjYgNTQuNkw0MjkuMyAxMjggNDQ4IDEyOGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTguNyA3My40LTczLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3ptLTQ1LjMgNDQ4TDM4NCA0MjkuMyAzODQgNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTguNyAwIDczLjQgNzMuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMHpNOS40IDQ1Ny40TDgyLjcgMzg0IDY0IDM4NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xOC43LTczLjQgNzMuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjN6Il19LE8kdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlbnZlbG9wZSIsaWNvbjpbNTEyLDUxMixbMTI4Mzg2LDk5OTMsNjE0NDNdLCJmMGUwIiwiTTQ4IDY0Yy0yNi41IDAtNDggMjEuNS00OCA0OCAwIDE1LjEgNy4xIDI5LjMgMTkuMiAzOC40bDIwOCAxNTZjMTcuMSAxMi44IDQwLjUgMTIuOCA1Ny42IDBsMjA4LTE1NmMxMi4xLTkuMSAxOS4yLTIzLjMgMTkuMi0zOC40IDAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ4IDY0ek0wIDE5NkwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE4OC0xOTguNCAxNDguOGMtMzQuMSAyNS42LTgxLjEgMjUuNi0xMTUuMiAwTDAgMTk2eiJdfSxGJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFieSIsaWNvbjpbMzg0LDUxMixbXSwiZjc3YyIsIk0xMjAgODhhNzIgNzIgMCAxIDEgMTQ0IDAgNzIgNzIgMCAxIDEgLTE0NCAwek03LjcgMTQ0LjVjMTMtMTcuOSAzOC0yMS44IDU1LjktOC44TDk5LjggMTYyYzI2LjggMTkuNSA1OS4xIDMwIDkyLjIgMzBzNjUuNC0xMC41IDkyLjItMzBsMzYuMi0yNi40YzE3LjktMTMgNDIuOS05IDU1LjkgOC44czkgNDIuOS04LjggNTUuOWwtMzYuMiAyNi40Yy0xMy42IDkuOS0yOC4xIDE4LjItNDMuMyAyNWwwIDM2LjMtMTkyIDAgMC0zNi4zYy0xNS4yLTYuNy0yOS43LTE1LjEtNDMuMy0yNUwxNi41IDIwMC4zYy0xNy45LTEzLTIxLjgtMzgtOC44LTU1Ljl6TTk3LjUgMzI5LjNsNjAuNiA1My0yNiAzNy4yIDI0LjMgMjQuM2MxNS42IDE1LjYgMTUuNiA0MC45IDAgNTYuNnMtNDAuOSAxNS42LTU2LjYgMGwtNDgtNDhDMzggNDM4LjYgMzYuMSA0MTcgNDcuMiA0MDEuMWw1MC4yLTcxLjh6bTEyOC41IDUzbDYwLjYtNTMgNTAuMiA3MS44YzExLjEgMTUuOSA5LjIgMzcuNS00LjUgNTEuMmwtNDggNDhjLTE1LjYgMTUuNi00MC45IDE1LjYtNTYuNiAwcy0xNS42LTQwLjkgMC01Ni42bDI0LjMtMjQuMy0yNi0zNy4yeiJdfSxqZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWNhcmV0LWRvd24iLGljb246WzQ0OCw1MTIsWyJjYXJldC1zcXVhcmUtZG93biJdLCJmMTUwIiwiTTM4NCA0ODBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMHpNMjI0IDM1MmMtNi43IDAtMTMtMi44LTE3LjYtNy43bC0xMDQtMTEyYy02LjUtNy04LjItMTcuMi00LjQtMjUuOVMxMTAuNSAxOTIgMTIwIDE5MmwyMDggMGM5LjUgMCAxOC4yIDUuNyAyMiAxNC40czIuMSAxOC45LTQuNCAyNS45bC0xMDQgMTEyYy00LjUgNC45LTEwLjkgNy43LTE3LjYgNy43eiJdfSxCJHQ9amZlLEgkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW50IixpY29uOls1MTIsNTEyLFtdLCJlNTdkIiwiTTI2LjkgMjA2LjlMMy43IDQ0NC45QzEuOCA0NjMuNyAxNi42IDQ4MCAzNS41IDQ4MGwxNzIuNyAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTI5YzAtOC4zIDYuNy0xNSAxNS0xNSA1LjUgMCAxMC42IDMgMTMuMiA3LjlsODYuMSAxNTljOC40IDE1LjUgMjQuNiAyNS4xIDQyLjIgMjUuMWw2NC4xIDBjMTguOSAwIDMzLjctMTYuMyAzMS44LTM1LjFMNDg1LjYgMjA3LjFjLTEuOS0xOS42LTEyLjgtMzcuMy0yOS41LTQ3LjhMMjgwLjkgNDguM2MtMTUuNy0xMC0zNS44LTkuOS01MS41IC4xTDU2LjEgMTU5LjJjLTE2LjUgMTAuNi0yNy4zIDI4LjItMjkuMiA0Ny43eiJdfSxxJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYSIsaWNvbjpbMzg0LDUxMixbOTddLCI0MSIsIk0yMjEuNSA1MS43QzIxNi42IDM5LjggMjA0LjkgMzIgMTkyIDMycy0yNC42IDcuOC0yOS41IDE5LjdjLTkzLjMgMjI0LTE0Ni43IDM1Mi0xNjAgMzg0LTYuOCAxNi4zIC45IDM1IDE3LjIgNDEuOHMzNS0uOSA0MS44LTE3LjJsMzEuOC03Ni4zIDE5Ny4zIDAgMzEuOCA3Ni4zYzYuOCAxNi4zIDI1LjUgMjQgNDEuOCAxNy4yczI0LTI1LjUgMTcuMi00MS44Yy0xMy4zLTMyLTY2LjctMTYwLTE2MC0zODR6TTI2NCAzMjBsLTE0NCAwIDcyLTE3Mi44IDcyIDE3Mi44eiJdfSxWJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGFyYWNodXRlLWJveCIsaWNvbjpbNTEyLDUxMixbXSwiZjRjZCIsIk0xMjggMjI0QzEyOCAxNTIuMiAxNDQuMyA4OC40IDE2OS41IDQzLjQgMTk1LjEtMi40IDIyNi42LTI0IDI1Ni0yNHM2MC45IDIxLjYgODYuNSA2Ny40QzM2Ny43IDg4LjQgMzg0IDE1Mi4yIDM4NCAyMjRsLTEwNCAwIDAgOTYgOCAwYzkuMyAwIDE4LjEgMiAyNiA1LjVsMTE4LjQtMTAxLjUtLjUgMGMwLTc4LjQtMTcuNy0xNTAuNi00Ny42LTIwNC02LjEtMTEtMTIuOS0yMS4zLTIwLjMtMzAuOSA4Ni41IDM1LjkgMTQ3LjggMTE1LjEgMTQ3LjggMjE4LjkgMCA3LTMuMSAxMy43LTguNCAxOC4yTDM0Ny40IDM2MC4xYzMgNy40IDQuNiAxNS40IDQuNiAyMy45bDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTY0IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjRjMC04LjQgMS42LTE2LjUgNC42LTIzLjlMOC40IDIyNi4yQzMuMSAyMjEuNyAwIDIxNSAwIDIwOCAwIDEwNC4yIDYxLjMgMjQuOSAxNDcuOC0xMC45IDE0MC41LTEuNCAxMzMuNyA5IDEyNy42IDIwIDk3LjcgNzMuNCA4MCAxNDUuNiA4MCAyMjRsLS41IDAgMTE4LjQgMTAxLjVjOC0zLjUgMTYuOC01LjUgMjYtNS41bDggMCAwLTk2LTEwNCAweiJdfSxqJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FydC1hcnJvdy1kb3duIixpY29uOls2NDAsNTEyLFtdLCJmMjE4IiwiTTAgOEMwLTUuMyAxMC43LTE2IDI0LTE2bDQ1LjMgMGMyNy4xIDAgNTAuMyAxOS40IDU1LjEgNDZsLjQgMiAxODcuMiAwIDAgMTAyLjEtMzEtMzFjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsNzItNzJjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMzEgMzEgMC0xMDIuMSAxNzcuNCAwYzIwIDAgMzUuMSAxOC4yIDMxLjQgMzcuOUw1MzcuOCAyMzUuOGMtNS43IDMwLjMtMzIuMSA1Mi4yLTYyLjkgNTIuMmwtMzAzLjYgMCA1LjEgMjguM2MyLjEgMTEuNCAxMiAxOS43IDIzLjYgMTkuN0w0NTYgMzM2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yNTUuOSAwYy0zNC44IDAtNjQuNi0yNC45LTcwLjgtNTkuMUw3Ny4yIDM4LjZjLS43LTMuOC00LTYuNi03LjktNi42TDI0IDMyQzEwLjcgMzIgMCAyMS4zIDAgOHpNMTYwIDQ2NGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem0yMjQgMGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAweiJdfSxVJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJpZGdlLWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNTc2LDUxMixbXSwiZTRjYSIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsOCAwIDAgNjQtNDAgMCAwIDExMmMzNy42IDkuNCA2NCA0My4yIDY0IDgybDAgOTRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtNTMgNDMtOTYgOTYtOTYgNi40IDAgMTIuNyAuNiAxOC43IDEuOCAzNC43LTQ5LjUgOTIuMi04MS44IDE1Ny4zLTgxLjggMjguNiAwIDU1LjYgNi4yIDgwIDE3LjRsMC02NS40LTQwIDAgMC02NCA4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6TTQyNCA5NmwwIDY0LTgwIDAgMC02NCA4MCAwek0yOTYgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNODggOTZsODAgMCAwIDY0LTgwIDAgMC02NHpNNDMyIDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtMTAwYTIwIDIwIDAgMSAxIDAgNDAgMjAgMjAgMCAxIDEgMC00MHptMC0xNDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6Il19LEVlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1hcnJvdy11cCIsaWNvbjpbNTc2LDUxMixbNjIzMzgsImNsb3VkLXVwbG9hZCIsImNsb3VkLXVwbG9hZC1hbHQiXSwiZjBlZSIsIk0xNDQgNDgwYy03OS41IDAtMTQ0LTY0LjUtMTQ0LTE0NCAwLTYzLjQgNDEtMTE3LjIgOTcuOS0xMzYuNS0xLjMtNy43LTEuOS0xNS41LTEuOS0yMy41IDAtNzkuNSA2NC41LTE0NCAxNDQtMTQ0IDU1LjQgMCAxMDMuNSAzMS4zIDEyNy42IDc3LjEgMTQuMi04LjMgMzAuOC0xMy4xIDQ4LjQtMTMuMSA1MyAwIDk2IDQzIDk2IDk2IDAgMTUuNy0zLjggMzAuNi0xMC41IDQzLjcgNDQgMjAuMyA3NC41IDY0LjcgNzQuNSAxMTYuMyAwIDcwLjctNTcuMyAxMjgtMTI4IDEyOGwtMzA0IDB6TTMwNSAxOTFjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC03MiA3MmMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDMxLTMxIDAgMTAyLjFjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEwMi4xIDMxIDMxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNzItNzJ6Il19LFckdD1FZWUsRyR0PUVlZSxZJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXQiLGljb246WzUxMiw1MTIsWzYxOTQ2XSwiNDAiLCJNMjU2IDY0QzE1MCA2NCA2NCAxNTAgNjQgMjU2czg2IDE5MiAxOTIgMTkyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyQzExNC42IDUxMiAwIDM5Ny40IDAgMjU2UzExNC42IDAgMjU2IDAgNTEyIDExNC42IDUxMiAyNTZsMCAzMmMwIDUzLTQzIDk2LTk2IDk2LTI5LjMgMC01NS42LTEzLjItNzMuMi0zMy45LTIyLjggMjEtNTMuMyAzMy45LTg2LjggMzMuOS03MC43IDAtMTI4LTU3LjMtMTI4LTEyOHM1Ny4zLTEyOCAxMjgtMTI4YzI3LjkgMCA1My43IDguOSA3NC43IDI0LjEgNS43LTUgMTMuMS04LjEgMjEuMy04LjEgMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyYzAtMTA2LTg2LTE5Mi0xOTItMTkyem02NCAxOTJhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAweiJdfSxQZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaW5kaWFuLXJ1cGVlLXNpZ24iLGljb246WzMyMCw1MTIsWyJpbmRpYW4tcnVwZWUiLCJpbnIiXSwiZTFiYyIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDI2NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC03Ni43IDBjMTcuNyAxOS44IDMwLjEgNDQuNiAzNC43IDcybDQyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQyIDBjLTEwLjQgNjIuMi02MC44IDExMC45LTEyMy44IDExOC45TDI3NC42IDQyMmMxNC40IDEwLjMgMTcuNyAzMC4zIDcuNCA0NC42cy0zMC4zIDE3LjctNDQuNiA3LjRMMTMuNCAzMTRDMi4xIDMwNi0yLjcgMjkxLjUgMS41IDI3OC4yUzE4LjEgMjU2IDMyIDI1Nmw4MCAwYzM1LjggMCA2Ni4xLTIzLjUgNzYuMy01NkwyNCAyMDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTY0LjMgMGMtMTAuMi0zMi41LTQwLjUtNTYtNzYuMy01NkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0eiJdfSxLJHQ9UGVlLFokdD1QZWUsWCR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrIixpY29uOls1NzYsNTEyLFsxMjg2NjYsOTk1MV0sImYwZDEiLCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwyODggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyIDUwLjcgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0w1NTcuMyAxOTJjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0w1NzYgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0zLjMgMGMtMTAuNCAzNi45LTQ0LjQgNjQtODQuNyA2NHMtNzQuMi0yNy4xLTg0LjctNjRsLTEwMi42IDBjLTEwLjQgMzYuOS00NC40IDY0LTg0LjcgNjRzLTc0LjItMjcuMS04NC43LTY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnpNNTEyIDI4OGwwLTUwLjctNDUuMy00NS4zLTUwLjcgMCAwIDk2IDk2IDB6TTE5MiA0MjRhNDAgNDAgMCAxIDAgLTgwIDAgNDAgNDAgMCAxIDAgODAgMHptMjMyIDQwYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHoiXX0sVWZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYWxrYm9hcmQtdXNlciIsaWNvbjpbNjQwLDUxMixbImNoYWxrYm9hcmQtdGVhY2hlciJdLCJmNTFjIiwiTTE5MiAzODRjNTMgMCA5NiA0MyA5NiA5NiAwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyIDAtNTMgNDMtOTYgOTYtOTZsOTYgMHpNNTQ0IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjg4YzAgMzMuMS0yNS4yIDYwLjQtNTcuNSA2My43bC02LjUgLjMtMjExLjEgMGMtNS4xLTI0LjItMTYuMy00Ni4xLTMyLjEtNjRsNTEuMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDAgMC0yODgtMzUyIDAgMCA1Ny4zYy0xNC44LTYtMzEtOS4zLTQ4LTkuMy01LjQgMC0xMC44IC4zLTE2IDFsMC00OWMwLTM1LjMgMjguNy02NCA2NC02NGwzNTIgMHpNMTQ0IDM1MmE4MCA4MCAwIDEgMSAwLTE2MCA4MCA4MCAwIDEgMSAwIDE2MHoiXX0sUSR0PVVmZSxKJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1jaGVjayIsaWNvbjpbNjQwLDUxMixbXSwiZjRmYyIsIk0yODYgMzA0Yzk4LjUgMCAxNzguMyA3OS44IDE3OC4zIDE3OC4zIDAgMTYuNC0xMy4zIDI5LjctMjkuNyAyOS43TDc4IDUxMmMtMTYuNCAwLTI5LjctMTMuMy0yOS43LTI5LjcgMC05OC41IDc5LjgtMTc4LjMgMTc4LjMtMTc4LjNsNTkuNCAwek01ODUuNyAxMDUuOWM3LjgtMTAuNyAyMi44LTEzLjEgMzMuNS01LjNzMTMuMSAyMi44IDUuMyAzMy41TDUyMi4xIDI3NC45Yy00LjIgNS43LTEwLjcgOS40LTE3LjcgOS44cy0xNC0yLjItMTguOS03LjNsLTQ2LjQtNDhjLTkuMi05LjUtOS0yNC43IC42LTMzLjkgOS41LTkuMiAyNC43LTguOSAzMy45IC42bDI2LjUgMjcuNCA4NS42LTExNy43ek0yNTYuMyAyNDhhMTIwIDEyMCAwIDEgMSAwLTI0MCAxMjAgMTIwIDAgMSAxIDAgMjQweiJdfSxlRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1uaW5qYSIsaWNvbjpbNDQ4LDUxMixbMTI5Mzk5XSwiZjUwNCIsIk0zNTIgMTI4YzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4LTU3LjIgMC0xMDUuNi0zNy41LTEyMi04OS4zLTEuMSAxLjMtMi4yIDIuNi0zLjUgMy44LTE1LjggMTUuOC0zOC44IDIwLjctNTMuNiAyMi4xLTguMSAuOC0xNC42LTUuNy0xMy44LTEzLjggMS40LTE0LjcgNi4zLTM3LjggMjIuMS01My42IDUuOC01LjggMTIuNi0xMC4xIDE5LjYtMTMuNC03LTMuMi0xMy44LTcuNi0xOS42LTEzLjQtMTUuOC0xNS44LTIwLjctMzguOC0yMi4xLTUzLjYtLjgtOC4xIDUuNy0xNC42IDEzLjgtMTMuOCAxNC43IDEuNCAzNy44IDYuMyA1My42IDIyLjEgNC44IDQuOCA4LjcgMTAuNCAxMS43IDE2LjEgMjEuMy00MS4yIDY0LjMtNjkuNCAxMTMuOC02OS40IDcwLjcgMCAxMjggNTcuMyAxMjggMTI4ek0xNDQgMTEyYzAgOC44IDcuMiAxNiAxNiAxNmwxMjggMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkwxNjAgOTZjLTguOCAwLTE2IDcuMi0xNiAxNnptLTEuNCAyMTFsNjcgNTAuMmM4LjUgNi40IDIwLjMgNi40IDI4LjggMGw2Ny01MC4yYzYuNS00LjkgMTUuMi02LjIgMjIuNi0yLjggNjEuNCAyOC4yIDEwNC4xIDkwLjIgMTA0LjEgMTYyLjEgMCAxNi40LTEzLjMgMjkuNy0yOS43IDI5LjdMNDUuNyA1MTJjLTE2LjQgMC0yOS43LTEzLjMtMjkuNy0yOS43IDAtNzIgNDIuNy0xMzQgMTA0LjEtMTYyLjEgNy40LTMuNCAxNi4xLTIuMSAyMi42IDIuOHoiXX0sdER0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW50LXdpbHQiLGljb246WzUxMiw1MTIsW10sImU1YWEiLCJNMzQ0LTMyYzY2LjMgMCAxMjAgNTMuNyAxMjAgMTIwbDAgNi4yYzI5LjMgMTIuMiA0OCA0MS4zIDQ4IDc2LjkgMCAyNy45LTI1LjMgNzQuOC02NiAxMTEuNy0zLjggMy41LTguOCA1LjMtMTQgNS4zcy0xMC4yLTEuOC0xNC01LjNjLTQwLjctMzYuOC02Ni04My43LTY2LTExMS43IDAtMzUuNiAxOC43LTY0LjcgNDgtNzYuOWwwLTYuMmMwLTMwLjktMjUuMS01Ni01Ni01NnMtNTYgMjUuMS01NiA1NmwwIDQyNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTI5NmMwLTMwLjktMjUuMS01Ni01Ni01NnMtNTYgMjUuMS01NiA1NmwwIDM4LjJjMjkuMyAxMi4yIDQ4IDQxLjMgNDggNzYuOSAwIDI3LjktMjUuMyA3NC44LTY2IDExMS43LTMuOCAzLjUtOC44IDUuMy0xNCA1LjNzLTEwLjItMS44LTE0LTUuM0MyNS4zIDQwNS45IDAgMzU5IDAgMzMxLjEgMCAyOTUuNCAxOC43IDI2Ni40IDQ4IDI1NC4yTDQ4IDIxNmMwLTY2LjMgNTMuNy0xMjAgMTIwLTEyMCAyMC4yIDAgMzkuMyA1IDU2IDEzLjhMMjI0IDg4YzAtNjYuMyA1My43LTEyMCAxMjAtMTIweiJdfSxXZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2VpZ2h0LXNjYWxlIixpY29uOls0NDgsNTEyLFsid2VpZ2h0Il0sImY0OTYiLCJNMTE2LjYgMTkyYy0zLTEwLjEtNC42LTIwLjktNC42LTMyIDAtNjEuOSA1MC4xLTExMiAxMTItMTEyUzMzNiA5OC4xIDMzNiAxNjBjMCAxMS4xLTEuNiAyMS45LTQuNiAzMmwtNzEgMCAyNC42LTQ0LjNjNi40LTExLjYgMi4zLTI2LjItOS4zLTMyLjZzLTI2LjItMi4zLTMyLjYgOS4zbC0zNy42IDY3LjctODguOCAwek0xMjggMzJMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMEMyOTMuMyAxMS45IDI2MCAwIDIyNCAwcy02OS4zIDExLjktOTYgMzJ6Il19LGFEdD1XZmUsVHRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcmV0LXJpZ2h0IixpY29uOlsyNTYsNTEyLFtdLCJmMGRhIiwiTTI0OS4zIDIzNS44YzEwLjIgMTIuNiA5LjUgMzEuMS0yLjIgNDIuOGwtMTI4IDEyOGMtOS4yIDkuMi0yMi45IDExLjktMzQuOSA2LjlTNjQuNSAzOTYuOSA2NC41IDM4NGwwLTI1NmMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42czI1LjctMi4yIDM0LjkgNi45bDEyOCAxMjggMi4yIDIuNHoiXX0sckR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZsb3Jpbi1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMTg0IiwiTTMxNC43IDMyYy0zOC44IDAtNzMuNyAyMy4zLTg4LjYgNTkuMUwxNzAuNyAyMjQgNjQgMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDgwIDAtNDUuMSAxMDguM2MtNSAxMS45LTE2LjYgMTkuNy0yOS41IDE5LjdMMzIgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDM3LjMgMGMzOC44IDAgNzMuNy0yMy4zIDg4LjYtNTkuMUwyMTMuMyAyODggMzIwIDI4OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtODAgMCA0NS4xLTEwOC4zYzUtMTEuOSAxNi42LTE5LjcgMjkuNS0xOS43TDM1MiA5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzcuMyAweiJdfSxMdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmVsbCIsaWNvbjpbNDQ4LDUxMixbMTI4Mjc2LDYxNjAyXSwiZjBmMyIsIk0yMjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzLjJDMTE5IDUwIDY0IDExNC42IDY0IDE5MmwwIDIxLjdjMCA0OC4xLTE2LjQgOTQuOC00Ni40IDEzMi40TDcuOCAzNTguM0MyLjcgMzY0LjYgMCAzNzIuNCAwIDM4MC41IDAgNDAwLjEgMTUuOSA0MTYgMzUuNSA0MTZsMzc2LjkgMGMxOS42IDAgMzUuNS0xNS45IDM1LjUtMzUuNSAwLTguMS0yLjctMTUuOS03LjgtMjIuMmwtOS44LTEyLjJDNDAwLjQgMzA4LjUgMzg0IDI2MS44IDM4NCAyMTMuN2wwLTIxLjdjMC03Ny40LTU1LTE0Mi0xMjgtMTU2LjhsMC0zLjJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTE2MiA0NjRjNy4xIDI3LjYgMzIuMiA0OCA2MiA0OHM1NC45LTIwLjQgNjItNDhsLTEyNCAweiJdfSxzRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGFyaS1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMWM4IiwiTTE0NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDEuNWM3LjktMSAxNS45LTEuNSAyNC0xLjVzMTYuMSAuNSAyNCAxLjVMMjE2IDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA1NGM1OC45IDIzLjggMTAzLjIgNzYgMTE2LjIgMTM5LjcgMy41IDE3LjMtNy43IDM0LjItMjUgMzcuN3MtMzQuMi03LjctMzcuNy0yNWMtNi43LTMzLjItMjYuNC02MS44LTUzLjQtODAuMmwwIDgxLjhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMDEuOGMtNy44LTEuNS0xNS44LTIuMi0yNC0yLjJzLTE2LjIgLjgtMjQgMi4yTDE2OCAyMzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC04MS44Yy0zMy44IDIzLTU2IDYxLjktNTYgMTA1LjggMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhsMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2LjkgMEMxOC41IDM1MCAwIDMwNS4yIDAgMjU2IDAgMTc1LjQgNDkuNiAxMDYuNCAxMjAgNzhsMC01NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHoiXX0saUR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pbGwtc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTFlZCIsIk0yOTctMjIuMmMxMi4zIDUgMTguMiAxOSAxMy4yIDMxLjNsLTI5IDcxLjNDMzM4LjggODUuMSAzODQgMTMzLjMgMzg0IDE5MmwwIDIwOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIwOGMwLTI2LjUtMjEuNS00OC00OC00OC02LjQgMC0xMi41IDEuMi0xOCAzLjVsLTMwIDczLjggMCAxNzguN2MwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIxLjItNTcuOCAxNDIuMmMtNSAxMi4zLTE5IDE4LjItMzEuMyAxMy4ycy0xOC4yLTE5LTEzLjItMzEuM0wxNjAgMjUxLjMgMTYwIDE5MmMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OGwwIDIwOGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQxNy43IDAgNDAwTDAgMTEyYzAtMTcuNyAxNC4zLTMyIDMyLTMyIDEwLjkgMCAyMC41IDUuNCAyNi4zIDEzLjcgMTYtOC43IDM0LjMtMTMuNyA1My43LTEzLjcgMzEuMyAwIDU5LjcgMTIuOSA4MCAzMy42IDkuNi05LjggMjAuOS0xNy44IDMzLjUtMjMuNUwyNjUuOC05YzUtMTIuMyAxOS0xOC4yIDMxLjMtMTMuMnoiXX0sR2ZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1zbm93Ym9hcmRpbmciLGljb246WzU3Niw1MTIsWzEyNzkzOCwic25vd2JvYXJkaW5nIl0sImY3Y2UiLCJNNDI0LjUgMTZhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6TTE2Ni40IDQ1LjVjMTAuMi0xNC40IDMwLjItMTcuOSA0NC42LTcuN2wyNzIgMTkyYzE0LjQgMTAuMiAxNy45IDMwLjIgNy43IDQ0LjZzLTMwLjIgMTcuOS00NC42IDcuN2wtOTIuMi02NS4xLTYyLjIgNTMuMyAzMi4xIDI2LjdjMTguMiAxNS4yIDI4LjggMzcuNyAyOC44IDYxLjVsMCA4Ny44IDc3LjUgMTUuMmM2LjIgMS4yIDEyLjYgLjkgMTguNy0uOGw0MS4yLTExLjhjMTIuNy0zLjYgMjYgMy43IDI5LjcgMTYuNXMtMy43IDI2LTE2LjUgMjkuN2wtNDEuMiAxMS44Yy0xMy40IDMuOC0yNy40IDQuNC00MS4xIDEuOEw4Ny4xIDQ0My4zYy0xNy4yLTMuNC0zMy0xMS44LTQ1LjMtMjQuMUwxNS41IDM5M2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDI2LjIgMjYuMmM1LjYgNS42IDEyLjggOS40IDIwLjYgMTFsNjQuMiAxMi42IDAtMTIzLjdjMC0yNy43IDEyLTU0IDMyLjgtNzIuMmw2OS02MC40LTg4LjItNjIuM0MxNTkuNiA4MCAxNTYuMiA2MCAxNjYuNCA0NS41em01OC4xIDM3NS43bDY0IDEyLjUgMC03NS4zYzAtNC43LTIuMS05LjMtNS44LTEyLjNsLTU4LjItNDguNSAwIDEyMy42eiJdfSxvRHQ9R2ZlLFlmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0dHkiLGljb246WzUxMiw1MTIsWyJ0ZWxldHlwZSJdLCJmMWU0IiwiTTQ1MC4yIDI2Ni44YzE1LjggNi41IDM0LjEgLjMgNDIuNi0xNC42bDIuNC00LjJjMjcuOS00OC45IDIzLjYtMTE4LjgtMzEuMy0xNTQuNS0xMjYtODItMjg5LjYtODItNDE1LjYgMC01NC45IDM1LjctNTkuMyAxMDUuNy0zMS4zIDE1NC41bDIuNCA0LjJjOC41IDE0LjkgMjYuNyAyMS4xIDQyLjYgMTQuNmw4MS45LTMzLjdjMTMuOS01LjcgMjIuNC0xOS45IDIwLjktMzQuOWwtNS4xLTUxYzYyLjUtMjEgMTMwLjgtMTkuOSAxOTIuNiAzLjNsLTQuOCA0Ny43Yy0xLjUgMTUgNyAyOS4yIDIwLjkgMzQuOWw4MS45IDMzLjd6TTMyIDM1MmEzMiAzMiAwIDEgMCA2NCAwIDMyIDMyIDAgMSAwIC02NCAwem05NiAwYTMyIDMyIDAgMSAwIDY0IDAgMzIgMzIgMCAxIDAgLTY0IDB6TTY0IDQxNmEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6bTM1MiAzMmEzMiAzMiAwIDEgMCA2NCAwIDMyIDMyIDAgMSAwIC02NCAwek0yNTYgMzIwYTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHptNjQgMzJhMzIgMzIgMCAxIDAgNjQgMCAzMiAzMiAwIDEgMCAtNjQgMHptMTI4LTMyYTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHpNMTI4IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTkyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyeiJdfSxuRHQ9WWZlLGxEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2Vycy1yZWN0YW5nbGUiLGljb246WzU3Niw1MTIsW10sImU1OTQiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptMjI0IDcyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyem0wIDE1MmM1MyAwIDk2IDQzIDk2IDk2bDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTI0YzAtNTMgNDMtOTYgOTYtOTZ6bTk2LTY0YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTE2OCAyNzIuM2MtMTUuMiAyMi44LTI0IDUwLjItMjQgNzkuN2wwIDI0YzAgOC40IDEuNCAxNi41IDQuMSAyNGwtNDYuOCAwQzg5LjYgNDAwIDgwIDM5MC40IDgwIDM3OC43TDgwIDM2OGMwLTUwLjMgMzguNy05MS42IDg4LTk1Ljd6TTQyNy45IDQwMGMyLjctNy41IDQuMS0xNS42IDQuMS0yNGwwLTI0YzAtMjkuNS04LjgtNTYuOS0yNC03OS43IDQ5LjMgNC4xIDg4IDQ1LjMgODggOTUuN2wwIDEwLjdjMCAxMS44LTkuNiAyMS4zLTIxLjMgMjEuM2wtNDYuOCAwek05NiAxOTJhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHoiXX0sSWVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vYmlsZSIsaWNvbjpbMzg0LDUxMixbMTI4MjQxLCJtb2JpbGUtYW5kcm9pZCIsIm1vYmlsZS1waG9uZSJdLCJmM2NlIiwiTTgwIDBDNDQuNyAwIDE2IDI4LjcgMTYgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjI0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMODAgMHptNzIgNDE2bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTgwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LGNEdD1JZWUsZER0PUllZSx1RHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLXR1cm4tdG8tZG90cyIsaWNvbjpbNDQ4LDUxMixbXSwiZTRjMSIsIk0yNjUuNC02LjZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM0wyODUuMyA2NCAzNTIgNjRjNTMgMCA5NiA0MyA5NiA5NmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJsLTY2LjcgMCAyNS40IDI1LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTgwLTgwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2w4MC04MHptLTgyLjcgMjcybDgwIDgwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC04MCA4MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMTYyLjcgNDAwIDk2IDQwMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ4MS43IDAgNDY0bDAtMzJjMC01MyA0My05NiA5Ni05Nmw2Ni43IDAtMjUuNC0yNS40Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwek0zMjAgMzY4YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNNjQgMTYwYTY0IDY0IDAgMSAxIDAtMTI4IDY0IDY0IDAgMSAxIDAgMTI4eiJdfSxwRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZXhjbGFtYXRpb24iLGljb246WzEyOCw1MTIsWzEwMDY5LDEwMDcxLDYxNzM4XSwiMjEiLCJNNjQgNDMyYzIyLjEgMCA0MCAxNy45IDQwIDQwcy0xNy45IDQwLTQwIDQwLTQwLTE3LjktNDAtNDBjMC0yMi4xIDE3LjktNDAgNDAtNDB6TTY0IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDggMCAuNiAwIDEuMSAwIDEuN2wtMTYgMzA0Yy0uOSAxNy0xNSAzMC4zLTMyIDMwLjNTMzMgMzcwLjcgMzIgMzUzLjdMMTYgNDkuN2MwLS42IDAtMS4xIDAtMS43IDAtMjYuNSAyMS41LTQ4IDQ4LTQ4eiJdfSxmRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2h1cmNoIixpY29uOls1MTIsNTEyLFs5OTYyXSwiZjUxZCIsIk0yODAtOGMwLTEzLjMtMTAuNy0yNC0yNC0yNFMyMzItMjEuMyAyMzItOGwwIDI0LTMyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzIgMCAwIDQ4LTk4LjYgNjUuOEMxMjAgMTg2LjcgMTEyIDIwMS42IDExMiAyMTcuN2wwIDM4LjMtNzkuOCA0NS42QzEyLjMgMzEzIDAgMzM0LjIgMCAzNTcuMUwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NCA3NC43IDAgODUuNCAwIDMyMCAwbDY0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC05MC45YzAtMjMtMTIuMy00NC4yLTMyLjItNTUuNkw0MDAgMjU2IDQwMCAyMTcuN2MwLTE2LTgtMzEtMjEuNC0zOS45bC05OC42LTY1LjggMC00OCAzMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zMiAwIDAtMjR6TTI1NiAzMjBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA4MC0xMjggMCAwLTgwYzAtMzUuMyAyOC43LTY0IDY0LTY0eiJdfSxoRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9nZ2xlLW9mZiIsaWNvbjpbNTc2LDUxMixbXSwiZjIwNCIsIk0zODQgMTI4YzcwLjcgMCAxMjggNTcuMyAxMjggMTI4UzQ1NC43IDM4NCAzODQgMzg0bC0xOTIgMGMtNzAuNyAwLTEyOC01Ny4zLTEyOC0xMjhzNTcuMy0xMjggMTI4LTEyOGwxOTIgMHpNNTc2IDI1NmMwLTEwNi04Ni0xOTItMTkyLTE5MkwxOTIgNjRDODYgNjQgMCAxNTAgMCAyNTZTODYgNDQ4IDE5MiA0NDhsMTkyIDBjMTA2IDAgMTkyLTg2IDE5Mi0xOTJ6TTE5MiAzMzZhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6Il19LG1EdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaG9lLXByaW50cyIsaWNvbjpbNTc2LDUxMixbXSwiZjU0YiIsIk0yOTYgMTkyYy0yMS4xLTEyLjEtNDIuMy0yNC4yLTcyLTI5LjNsMC0xNDAuM0MyNTcuNyAxMyAzMTEuNCAwIDM1MiAwIDQ0OCAwIDU3NiA0OCA1NzYgMTI4cy0xMTkuNiA5Ni0xNzYgOTZjLTQ4IDAtNzYtMTYtMTA0LTMyek0xMjggMzJsNDggMCAwIDEyOC00OCAwYy0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0ek0yMzIgMzIwYzI4LTE2IDU2LTMyIDEwNC0zMiA1Ni40IDAgMTc2IDE2IDE3NiA5NlMzODQgNTEyIDI4OCA1MTJjLTQwLjUgMC05NC4zLTEzLTEyOC0yMi40bDAtMTQwLjNjMjkuNy01LjIgNTAuOS0xNy4zIDcyLTI5LjR6TTY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NGw0OCAwIDAgMTI4LTQ4IDB6Il19LGdEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNTc2LDUxMixbXSwiZTRlYiIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE4MCAwYy0yMi43LTMxLjUtMzYtNzAuMi0zNi0xMTIgMC0xMDAuNiA3Ny40LTE4My4yIDE3Ni0xOTEuM2wwLTM4LjFjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjkwLjcgMTguN0MyNzguNyA2LjcgMjYyLjUgMCAyNDUuNSAwTDk2IDB6TTM1Ny41IDE3NkwyNjQgMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyNDAgNTguNSAzNTcuNSAxNzZ6TTQzMiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTEwMGEyMCAyMCAwIDEgMSAwIDQwIDIwIDIwIDAgMSAxIDAtNDB6bTAtMTQwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2eiJdfSwkdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2FsbGV0IixpY29uOls1MTIsNTEyLFtdLCJmNTU1IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xOTJjMC0zNS4zLTI4LjctNjQtNjQtNjRMNzIgMTI4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNFM1OC43IDgwIDcyIDgwbDM4NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDY0IDMyek00MTYgMjU2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sb3Y9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWVzc2FnZSIsaWNvbjpbNTEyLDUxMixbImNvbW1lbnQtYWx0Il0sImYyN2EiLCJNMCAzNTJMMCAxMjhDMCA3NSA0MyAzMiA5NiAzMmwzMjAgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMjI0YzAgNTMtNDMgOTYtOTYgOTZsLTEyMCAwYy01LjIgMC0xMC4yIDEuNy0xNC40IDQuOEwxNjYuNCA1MzkuMmMtNC4yIDMuMS05LjIgNC44LTE0LjQgNC44LTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNzItMzIgMGMtNTMgMC05Ni00My05Ni05NnoiXX0sYkR0PW92LHZEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cm9waHkiLGljb246WzUxMiw1MTIsWzEyNzk0Ml0sImYwOTEiLCJNMTQ0LjMgMGwyMjQgMGMyNi41IDAgNDguMSAyMS44IDQ3LjEgNDguMi0uMiA1LjMtLjQgMTAuNi0uNyAxNS44bDQ5LjYgMGMyNi4xIDAgNDkuMSAyMS42IDQ3LjEgNDkuOC03LjUgMTAzLjctNjAuNSAxNjAuNy0xMTggMTkwLjUtMTUuOCA4LjItMzEuOSAxNC4zLTQ3LjIgMTguOC0yMC4yIDI4LjYtNDEuMiA0My43LTU3LjkgNTEuOGwwIDczLjEgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMCAwLTczLjFjLTE2LTcuNy0zNS45LTIyLTU1LjMtNDguMy0xOC40LTQuOC0zOC40LTEyLjEtNTcuOS0yMy4xLTU0LjEtMzAuMy0xMDIuOS04Ny40LTEwOS45LTE4OS45LTEuOS0yOC4xIDIxLTQ5LjcgNDcuMS00OS43bDQ5LjYgMGMtLjMtNS4yLS41LTEwLjQtLjctMTUuOC0xLTI2LjUgMjAuNi00OC4yIDQ3LjEtNDguMnpNMTAxLjUgMTEybC01Mi40IDBjNi4yIDg0LjcgNDUuMSAxMjcuMSA4NS4yIDE0OS42LTE0LjQtMzcuMy0yNi4zLTg2LTMyLjgtMTQ5LjZ6TTM4MCAyNTYuOGM0MC41LTIzLjggNzcuMS02Ni4xIDgzLjMtMTQ0LjhMNDExIDExMmMtNi4yIDYwLjktMTcuNCAxMDguMi0zMSAxNDQuOHoiXX0sS2ZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZGl6enkiLGljb246WzUxMiw1MTIsWyJkaXp6eSJdLCJmNTY3IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xMzQuMSAxNTMuOWwyNS45IDI1LjkgMjUuOS0yNS45YzcuOC03LjggMjAuNS03LjggMjguMyAwczcuOCAyMC41IDAgMjguM2wtMjUuOSAyNS45IDI1LjkgMjUuOWM3LjggNy44IDcuOCAyMC41IDAgMjguM3MtMjAuNSA3LjgtMjguMyAwbC0yNS45LTI1LjktMjUuOSAyNS45Yy03LjggNy44LTIwLjUgNy44LTI4LjMgMHMtNy44LTIwLjUgMC0yOC4zbDI1LjktMjUuOS0yNS45LTI1LjljLTcuOC03LjgtNy44LTIwLjUgMC0yOC4zczIwLjUtNy44IDI4LjMgMHptMTkyIDBsMjUuOSAyNS45IDI1LjktMjUuOWM3LjgtNy44IDIwLjUtNy44IDI4LjMgMHM3LjggMjAuNSAwIDI4LjNsLTI1LjkgMjUuOSAyNS45IDI1LjljNy44IDcuOCA3LjggMjAuNSAwIDI4LjNzLTIwLjUgNy44LTI4LjMgMGwtMjUuOS0yNS45LTI1LjkgMjUuOWMtNy44IDcuOC0yMC41IDcuOC0yOC4zIDBzLTcuOC0yMC41IDAtMjguM2wyNS45LTI1LjktMjUuOS0yNS45Yy03LjgtNy44LTcuOC0yMC41IDAtMjguM3MyMC41LTcuOCAyOC4zIDB6TTI1NiAzMDRhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6Il19LHhEdD1LZmUseUR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhY3RlcmlhIixpY29uOls2NDAsNTEyLFtdLCJlMDU5IiwiTTI1Ni0zMmMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDExYzguNiAyLjIgMTYuOSA1LjYgMjQuOCAxMC4zTDMxMSA3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNi4zIDYuM2M0LjYgNy44IDggMTYuMiAxMC4zIDI0LjhsMTEgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTEgMGMtMi4yIDguNi01LjYgMTYuOS0xMC4zIDI0LjhMMzQ1IDE1MWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00LjEtNC4xLTMwLjEgMzAuMSA0LjEgNC4xYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQuMS00LjFjLTEwIDEwLTIwIDIwLTMwLjEgMzAuMUwyMTcgMjc5YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTYuMy02LjNjLTcuOCA0LjYtMTYuMiA4LTI0LjggMTAuM2wwIDExYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTFjLTguNi0yLjItMTYuOS01LjYtMjQuOC0xMC4zTDczIDMxM2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw2LjMtNi4zYy00LjYtNy44LTgtMTYuMi0xMC4zLTI0LjhsLTExIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTEgMGMyLjItOC42IDUuNi0xNi45IDEwLjMtMjQuOEwzOSAxNjljLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0LjEgNC4xYzEwLTEwIDIwLTIwIDMwLjEtMzAuMUwxMDMgMTA1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNC4xIDQuMSAzMC4xLTMwLjEtNC4xLTQuMWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlTMTkxLjYtMi4zIDIwMSA3bDYuMyA2LjNjNy44LTQuNiAxNi4yLTggMjQuOC0xMC4zbDAtMTFjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTEyOCAyNTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek0yNDAgMTQ0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTI5NiA0MGwwIDExYzguNiAyLjIgMTYuOSA1LjYgMjQuOCAxMC4zTDU2NyAxOTljOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC02LjMgNi4zYzQuNiA3LjggOCAxNi4yIDEwLjMgMjQuOGwxMSAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xMSAwYy0yLjIgOC42LTUuNiAxNi45LTEwLjMgMjQuOEw2MDEgMzQzYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQuMS00LjEtMzAuMSAzMC4xIDQuMSA0LjFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNC4xLTQuMWMtMTAgMTAtMjAgMjAtMzAuMSAzMC4xTDQ3MyA0NzFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNi4zLTYuM2MtNy44IDQuNi0xNi4yIDgtMjQuOCAxMC4zbDAgMTFjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMWMtOC42LTIuMi0xNi45LTUuNi0yNC44LTEwLjNMMzI5IDUwNWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw2LjMtNi4zYy00LjYtNy44LTgtMTYuMi0xMC4zLTI0LjhsLTExIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTEgMGMyLjItOC42IDUuNi0xNi45IDEwLjMtMjQuOEwyOTUgMzYxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNC4xIDQuMWMxMC0xMCAyMC0yMCAzMC4xLTMwLjFMMzU5IDI5N2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDQuMSA0LjEgMzAuMS0zMC4xLTQuMS00LjFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw2LjMgNi4zYzcuOC00LjYgMTYuMi04IDI0LjgtMTAuM2wwLTExYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6TTQ0OCAzODRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHoiXX0scWI9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWFyLWRlYWYiLGljb246WzUxMiw1MTIsWyJkZWFmIiwiZGVhZm5lc3MiLCJoYXJkLW9mLWhlYXJpbmciXSwiZjJhNCIsIk01MDIuNiA1NC42bC00MCA0MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsNDAtNDBjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3ptLTMyMCAzMjBsLTEyOCAxMjhjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDEyOC0xMjhjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3pNMjQwIDEyOGMtNTcuNiAwLTEwNS4xIDQzLjYtMTExLjMgOTkuNS0xLjkgMTcuNi0xNy44IDMwLjItMzUuMyAyOC4zcy0zMC4yLTE3LjgtMjguMy0zNS4zYzkuNy04OCA4NC4zLTE1Ni41IDE3NC45LTE1Ni41IDk3LjIgMCAxNzYgNzguOCAxNzYgMTc2IDAgNDYtMTcuNyA4Ny45LTQ2LjYgMTE5LjMtMTIgMTMtMTcuNCAyNC44LTE3LjQgMzQuN2wwIDYuMWMwIDYxLjktNTAuMSAxMTItMTEyIDExMi0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNi4xYzAtMzIuOSAxNy40LTU5LjYgMzQuNC03OCAxOC40LTIwIDI5LjYtNDYuNiAyOS42LTc1LjkgMC02MS45LTUwLjEtMTEyLTExMi0xMTJ6bTAgODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyIDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xNy43LTE0LjMtMzItMzItMzJ6Il19LHdEdD1xYixNRHQ9cWIsa0R0PXFiLFpmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW9wbGUtYXJyb3dzIixpY29uOls1MTIsNTEyLFsicGVvcGxlLWFycm93cy1sZWZ0LXJpZ2h0Il0sImUwNjgiLCJNMzIgNjRBNjQgNjQgMCAxIDEgMTYwIDY0IDY0IDY0IDAgMSAxIDMyIDY0ek0wIDIyNGMwLTM1LjMgMjguNy02NCA2NC02NGw2NCAwYzMuMiAwIDYuNCAuMiA5LjUgLjdMOTMuMSAyMDUuMUM2NSAyMzMuMiA2NSAyNzguOCA5My4xIDMwNi45bDU2IDU2YzMuNCAzLjQgNyA2LjQgMTAuOSA5bDAgOTIuMWMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xMjAuNkMxMi45IDMzMi40IDAgMzExLjcgMCAyODhsMC02NHpNMzUyIDY0YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHptNjYuOSAxNDEuMWwtNDQuNC00NC40YzMuMS0uNSA2LjMtLjcgOS41LS43bDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA2NGMwIDIzLjctMTIuOSA0NC40LTMyIDU1LjRMNDgwIDQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05Mi4xYzMuOS0yLjYgNy41LTUuNiAxMC45LTlsNTYtNTZjMjguMS0yOC4xIDI4LjEtNzMuNyAwLTEwMS44ek0zMDIuOCAxNzcuOGM5LTMuNyAxOS4zLTEuNyAyNi4yIDUuMmw1NiA1NmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNTYgNTZjLTYuOSA2LjktMTcuMiA4LjktMjYuMiA1LjJTMjg4IDMyMS43IDI4OCAzMTJsMC0yNC02NCAwIDAgMjRjMCA5LjctNS44IDE4LjUtMTQuOCAyMi4ycy0xOS4zIDEuNy0yNi4yLTUuMmwtNTYtNTZjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDU2LTU2YzYuOS02LjkgMTcuMi04LjkgMjYuMi01LjJTMjI0IDE5MC4zIDIyNCAyMDBsMCAyNCA2NCAwIDAtMjRjMC05LjcgNS44LTE4LjUgMTQuOC0yMi4yeiJdfSxTRHQ9WmZlLHpEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kcy1jbGFwcGluZyIsaWNvbjpbNTEyLDUxMixbXSwiZTFhOCIsIk0zNDQgOGwwIDY0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNjRjMC0xMy4zIDEwLjctMjQgMjQtMjRTMzQ0LTUuMyAzNDQgOHpNMjIwIDEwLjdsMzIgNDhjNy40IDExIDQuNCAyNS45LTYuNyAzMy4zcy0yNS45IDQuNC0zMy4zLTYuN2wtMzItNDhjLTcuNC0xMS00LjQtMjUuOSA2LjctMzMuM1MyMTIuNi0uMyAyMjAgMTAuN3pNMTM1IDExOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwyOTIuNyAyNDIuN2MxMC4xIDEwLjEgMjcuMyAyLjkgMjcuMy0xMS4zbDAtMzkuNGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTUzLjZjMCA1Ny4xLTMwIDExMC03OC45IDEzOS40LTY0IDM4LjQtMTQ1LjggMjguMy0xOTguNS0yNC40TDcgMzYxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNTMgNTNjNi4xIDYuMSAxNiA2LjEgMjIuMSAwczYuMS0xNiAwLTIyLjFMMjMgMjY1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsOTMgOTNjNi4xIDYuMSAxNiA2LjEgMjIuMSAwczYuMS0xNiAwLTIyLjFMNTUgMTg1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMTE3IDExN2M2LjEgNi4xIDE2IDYuMSAyMi4xIDBzNi4xLTE2IDAtMjIuMWwtOTMtOTNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45ek00MzMuMSA0ODQuOWMtMjQuMiAxNC41LTUwLjkgMjIuMS03Ny43IDIzLjEgNDguMS0zOS42IDc2LjYtOTkgNzYuNi0xNjIuNGwwLTk4LjFjOC4yLS4xIDE2LTYuNCAxNi0xNmwwLTM5LjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE1My42YzAgNTcuMS0zMCAxMTAtNzguOSAxMzkuNHpNNDUzLjMgNGMxMSA3LjQgMTQgMjIuMyA2LjcgMzMuM2wtMzIgNDhjLTcuNCAxMS0yMi4zIDE0LTMzLjMgNi43cy0xNC0yMi4zLTYuNy0zMy4zbDMyLTQ4YzcuNC0xMSAyMi4zLTE0IDMzLjMtNi43eiJdfSxDRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlydXMtY292aWQtc2xhc2giLGljb246WzU3Niw1MTIsW10sImU0YTkiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtODMtODMgMTEuNC0xMS40YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTExLjMgMTEuMy0yMy44LTIzLjhjMTcuOS0yMy41IDI5LjktNTEuNyAzNC4xLTgyLjNsMzMuNiAwIDAgMTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTgwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTYtMzMuNiAwYy00LjItMzAuNy0xNi4zLTU4LjgtMzQuMS04Mi4zbDIzLjgtMjMuOCAxMS4zIDExLjNjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDQ0MC43IDQ2LjdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMTEuMyAxMS4zLTIzLjggMjMuOEMzNzAuOCA5Ny45IDM0Mi43IDg1LjggMzEyIDgxLjZsMC0zMy42IDE2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRTMzQxLjMgMCAzMjggMEwyNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNiAwIDAgMzMuNmMtMzAuNyA0LjItNTguOCAxNi4zLTgyLjMgMzQuMUwxNTcuOSA5MiAxNjkuMiA4MC42YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMMTIzLjkgNTguMSA0MS0yNC45ek0xMTMuNiAyMzJsLTMzLjYgMCAwLTE2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE2IDMzLjYgMGM0LjIgMzAuNyAxNi4zIDU4LjggMzQuMSA4Mi4zbC0yMy44IDIzLjgtMTEuMy0xMS4zYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDU2LjYgNTYuNmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTExLjMtMTEuMyAyMy44LTIzLjhjMjMuNSAxNy45IDUxLjcgMjkuOSA4Mi4zIDM0LjFsMCAzMy42LTE2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTYgMCAwLTMzLjZjMTMuNC0xLjggMjYuNC01LjIgMzguNy05LjlMMTIzLjUgMTkzLjNjLTQuNyAxMi4zLTggMjUuMi05LjkgMzguN3oiXX0sWGZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbGVuZGFyLWRheXMiLGljb246WzQ0OCw1MTIsWyJjYWxlbmRhci1hbHQiXSwiZjA3MyIsIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTY0IDI0MGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xMjggMGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNDQtMTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNNjQgMzY4bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE0NC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0xMTIgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnoiXX0sX0R0PVhmZSxRZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGlhbW9uZC10dXJuLXJpZ2h0IixpY29uOls1MTIsNTEyLFsiZGlyZWN0aW9ucyJdLCJmNWViIiwiTTIxNSAxN0wxNyAyMTVDNi4xIDIyNS45IDAgMjQwLjYgMCAyNTZzNi4xIDMwLjEgMTcgNDFMMjE1IDQ5NWMxMC45IDEwLjkgMjUuNiAxNyA0MSAxN3MzMC4xLTYuMSA0MS0xN0w0OTUgMjk3YzEwLjktMTAuOSAxNy0yNS42IDE3LTQxcy02LjEtMzAuMS0xNy00MUwyOTcgMTdDMjg2LjEgNi4xIDI3MS40IDAgMjU2IDBzLTMwLjEgNi4xLTQxIDE3ek0zODUgMjU3bC03MiA3MmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMS0zMS03OC4xIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00MGMwLTM5LjggMzIuMi03MiA3Mi03Mmw3OC4xIDAtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw3MiA3MmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXoiXX0sVER0PVFmZSxMRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1wb2ludC11cCIsaWNvbjpbMzg0LDUxMixbOTc1N10sImYwYTYiLCJNMzIgMzJDMzIgMTQuMyA0Ni4zIDAgNjQgMFM5NiAxNC4zIDk2IDMybDAgMjA4LTY0IDAgMC0yMDh6TTIyNCAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6bS02NC02NGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTE2MCA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NHptLTk2IDg4bDAtLjZjOS40IDUuNCAyMC4zIDguNiAzMiA4LjYgMTMuMiAwIDI1LjQtNCAzNS42LTEwLjggOC43IDI0LjkgMzIuNSA0Mi44IDYwLjQgNDIuOCAxMS43IDAgMjIuNi0zLjEgMzItOC42bDAgOC42YzAgODguNC03MS42IDE2MC0xNjAgMTYwbC02MS43IDBjLTQyLjQgMC04My4xLTE2LjktMTEzLjEtNDYuOUwzNy41IDQ1My41QzEzLjUgNDI5LjUgMCAzOTYuOSAwIDM2M2wwLTI3YzAtMzUuMyAyOC43LTY0IDY0LTY0bDg4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBzLTE3LjkgNDAtNDAgNDBsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsNTYgMGMzOS44IDAgNzItMzIuMiA3Mi03MnoiXX0sJER0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJlemllci1jdXJ2ZSIsaWNvbjpbNjQwLDUxMixbXSwiZjU1YiIsIk0yOTYgMTM2bDAtNDggNDggMCAwIDQ4LTQ4IDB6TTI4OCAzMmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA0LTExOC40IDBDMTExLjIgNjIuNyA4OS4zIDQ4IDY0IDQ4IDI4LjcgNDggMCA3Ni43IDAgMTEyczI4LjcgNjQgNjQgNjRjMjUuMyAwIDQ3LjItMTQuNyA1Ny42LTM2bDY2LjkgMGMtNTguOSAzOS42LTk4LjkgMTA1LTEwNCAxODBMODAgMzIwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02NGMwLTI2LjUtMjEuNS00OC00OC00OGwtMy4zIDBjNS45LTY3IDQ4LjUtMTIzLjQgMTA3LjUtMTQ5LjEgOC42IDEyLjcgMjMuMiAyMS4xIDM5LjggMjEuMWw2NCAwYzE2LjYgMCAzMS4xLTguNCAzOS44LTIxLjEgNTkgMjUuNyAxMDEuNiA4Mi4xIDEwNy41IDE0OS4xbC0zLjMgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQuNSAwYy01LTc1LTQ1LjEtMTQwLjQtMTA0LTE4MGw2Ni45IDBjMTAuNCAyMS4zIDMyLjMgMzYgNTcuNiAzNiAzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NGMtMjUuMyAwLTQ3LjIgMTQuNy01Ny42IDM2bC0xMTguNCAwIDAtNGMwLTI2LjUtMjEuNS00OC00OC00OGwtNjQgMHpNODggMzc2bDQ4IDAgMCA0OC00OCAwIDAtNDh6bTQxNiA0OGwwLTQ4IDQ4IDAgMCA0OC00OCAweiJdfSxERHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWhhbGYtZHJlc3MiLGljb246WzM4NCw1MTIsW10sImU1NDgiLCJNMTQzLjQtMy45YzkuNy0xNi44IDI3LjgtMjguMSA0OC42LTI4LjEgMzAuOSAwIDU2IDI1LjEgNTYgNTYgMCAyNS40LTE2LjkgNDYuOC00MCA1My43bDAgMGMtNS4xIDEuNS0xMC40IDIuMy0xNiAyLjMtMzAuOSAwLTU2LTI1LjEtNTYtNTZsMCAwYzAtMTAuMSAyLjctMTkuNyA3LjQtMjcuOXpNMzE4LjMgMjk5LjFMMjcyIDIzNi43IDI3MiA1MTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNjAgMC0uNCAwLTIzOC42YzM2LjIgNC40IDY5LjIgMjMuNCA5MS4yIDUzbDcwLjUgOTVjMTAuNSAxNC4yIDcuNiAzNC4yLTYuNiA0NC44cy0zNC4yIDcuNi00NC44LTYuNnpNMTc2IDExM2wwIDM5OWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOC0yNS44IDBjLTEwLjkgMC0xOC42LTEwLjctMTUuMi0yMS4xbDQzLTEyOS00OC4zIDY1LjFjLTEwLjUgMTQuMi0zMC42IDE3LjItNDQuOCA2LjZzLTE3LjItMzAuNi02LjYtNDQuOGw3MC41LTk1YzIyLTI5LjYgNTUuMS00OC42IDkxLjItNTN6Il19LEpmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtcG9sbC1ob3Jpem9udGFsIixpY29uOls0NDgsNTEyLFsicG9sbC1oIl0sImY2ODIiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTI1NiAxNTJjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTExMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0em03MiA4MGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjA4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjA4IDB6TTE5MiAzNjBjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHoiXX0sQUR0PUpmZSxFRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Nob29sLWNpcmNsZS14bWFyayIsaWNvbjpbNjQwLDUxMixbXSwiZTU2ZCIsIk02NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI3NiAwYy0xMC41LTE0LjYtMTktMzAuNy0yNS4xLTQ4bC05MC45IDAgMC04OGMwLTIyLjEgMTcuOS00MCA0MC00MGw0OCAwYzEgMCAxLjkgMCAyLjkgLjEgMjYuMy03NC42IDk3LjUtMTI4LjEgMTgxLjEtMTI4LjEgMjguNiAwIDU1LjYgNi4yIDgwIDE3LjRsMC0zMy40YzAtMzUuMy0yOC43LTY0LTY0LTY0bC02NCAwLTEyNy45LTExNS4xYy0xOC4zLTE2LjQtNDYtMTYuNC02NC4yIDBMMTI4IDEyOCA2NCAxMjh6bTY0IDI0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyek0xMTIgMjU2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZ6TTI4OCAxMjhhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43bC0zNi43IDM2LjcgMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTM2LjctMzYuNy0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsMzYuNy0zNi43LTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDM2LjcgMzYuNyAzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42eiJdfSxQRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1saXphcmQiLGljb246WzUxMiw1MTIsW10sImYyNTgiLCJNMCAxMTJDMCA4NS41IDIxLjUgNjQgNDggNjRsMjM4LjUgMGMzNi44IDAgNzEuMiAxOCA5Mi4xIDQ4LjJsMTEzLjUgMTY0YzEzIDE4LjcgMTkuOSA0MSAxOS45IDYzLjhsMCA3NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMy44LTc4LjEtNTAuMi0xNjEuOSAwYy0yNi41IDAtNDgtMjEuNS00OC00OHMyMS41LTQ4IDQ4LTQ4bDEyOCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4TDQ4IDE2MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDh6Il19LGU1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFsa2JvYXJkIixpY29uOls1NzYsNTEyLFsiYmxhY2tib2FyZCJdLCJmNTFiIiwiTTk2IDY0Yy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1MTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw5NiA2NHpNNDgwIDM4NGwtNjQgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC05NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyLTE2MCAwIDAtMjU2IDM4NCAwIDAgMjU2eiJdfSxJRHQ9ZTVlLHQ1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1cC1yaWdodC1mcm9tLXNxdWFyZSIsaWNvbjpbNTEyLDUxMixbImV4dGVybmFsLWxpbmstYWx0Il0sImYzNWQiLCJNMjkwLjQgMTkuOEMyOTUuNCA3LjggMzA3LjEgMCAzMjAgMEw0ODAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE2MGMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOUw0MDAgMTU3LjMgMjQ2LjYgMzEwLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDM1NC43IDExMiAyOTcuNCA1NC42Yy05LjItOS4yLTExLjktMjIuOS02LjktMzQuOXpNMCAxNzZjMC00NC4yIDM1LjgtODAgODAtODBsODAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtODAgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjU2YzAgOC44IDcuMiAxNiAxNiAxNmwyNTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC04MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgODBjMCA0NC4yLTM1LjggODAtODAgODBMODAgNTEyYy00NC4yIDAtODAtMzUuOC04MC04MEwwIDE3NnoiXX0sTkR0PXQ1ZSxSRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWZ1bGwiLGljb246WzUxMiw1MTIsWzEyODk5NywxMjg5OTgsMTI4OTk5LDEyOWUzLDEyOTAwMSwxMjkwMDIsMTI5MDAzLDExMDM1LDExMDM2XSwiZjQ1YyIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEw0NDggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6Il19LE9EdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG92ZXIiLGljb246WzUxMiw1MTIsW10sImUxMzkiLCJNMzEwLjQgMTZDMzQ2LjYgMTYgMzc2IDQ1LjQgMzc2IDgxLjdsMCA1LjJjMCAxMS4yLTIuNyAyMi4zLTcuOCAzMi4ybC0yLjMgNC4yLTIwLjEgMzMuNWMtMS4xIDEuOS0xLjIgMy40LTEuMSA0LjUgLjIgMS4zIC45IDIuNyAyLjEgMy45czIuNiAxLjkgMy45IDIuMWMxLjEgLjIgMi42IC4xIDQuNS0xLjFsMzMuNS0yMC4xIDQuMi0yLjNjMTAtNS4xIDIxLTcuOCAzMi4yLTcuOGw1LjIgMGMzNi4yIDAgNjUuNiAyOS40IDY1LjYgNjUuNyAwIDE3LjQtNi45IDM0LjEtMTkuMiA0Ni40bC0xLjMgMS4zYy0zLjcgMy43LTMuNyA5LjYgMCAxMy4zbDEuMyAxLjNjMTIuMyAxMi4zIDE5LjIgMjkgMTkuMiA0Ni40IDAgMzYuMi0yOS40IDY1LjYtNjUuNiA2NS42bC01LjIgMGMtMTIuOCAwLTI1LjUtMy41LTM2LjUtMTAuMWwtMzMuNS0yMC4xYy0xLjktMS4xLTMuNC0xLjItNC41LTEuMS0xLjMgLjItMi43IC45LTMuOSAyLjFzLTEuOSAyLjYtMi4xIDMuOWMtLjIgMS4xLS4xIDIuNiAxLjEgNC41bDIwLjEgMzMuNWM2LjYgMTEgMTAuMSAyMy42IDEwLjEgMzYuNWwwIDUuMmMwIDM2LjItMjkuNCA2NS42LTY1LjYgNjUuNi0xNy40IDAtMzQuMS02LjktNDYuNC0xOS4ybC0xLjMtMS4zYy0zLjctMy43LTkuNi0zLjctMTMuMyAwbC0xLjMgMS4zYy0xMi4zIDEyLjMtMjkgMTkuMi00Ni40IDE5LjItMzYuMiAwLTY1LjYtMjkuNC02NS43LTY1LjZsMC01LjJjMC0xMi44IDMuNS0yNS41IDEwLjEtMzYuNWwyMC4xLTMzLjVjMS4xLTEuOSAxLjItMy40IDEuMS00LjUtLjItMS4zLS45LTIuNy0yLjEtMy45cy0yLjYtMS45LTMuOS0yLjFjLS41LS4xLTEuMi0uMS0xLjkgMGwtMi41IDEtMzMuNSAyMC4xYy0xMSA2LjYtMjMuNiAxMC4xLTM2LjUgMTAuMWwtNS4yIDBDNDUuNCAzNzYgMTYgMzQ2LjYgMTYgMzEwLjQgMTYgMjkzIDIyLjkgMjc2LjMgMzUuMiAyNjRsMS4zLTEuMyAxLjItMS41YzIuMS0zLjEgMi4xLTcuMiAwLTEwLjNsLTEuMi0xLjUtMS4zLTEuM0MyMi45IDIzNS44IDE2IDIxOS4xIDE2IDIwMS43IDE2IDE2NS40IDQ1LjQgMTM2IDgxLjcgMTM2bDUuMiAwYzEyLjggMCAyNS41IDMuNSAzNi41IDEwLjFsMzMuNSAyMC4xIDIuNSAxYy43IC4xIDEuNCAuMSAxLjkgLjEgMS4zLS4yIDIuNy0uOSAzLjktMi4xczEuOS0yLjYgMi4xLTMuOWMuMS0uNSAuMS0xLjItLjEtMS45bC0xLTIuNS0yMC4xLTMzLjVjLTYuNi0xMS0xMC4xLTIzLjYtMTAuMS0zNi41bDAtNS4yYzAtMzYuMiAyOS40LTY1LjcgNjUuNy02NS43IDE3LjQgMCAzNC4xIDYuOSA0Ni40IDE5LjJsMS4zIDEuM2MzLjcgMy42IDkuNiAzLjcgMTMuMyAwbDEuMy0xLjMgNC44LTQuNEMyODAuNSAyMS4zIDI5NS4xIDE2IDMxMC40IDE2eiJdfSxGRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVldGgtb3BlbiIsaWNvbjpbNTEyLDUxMixbXSwiZjYyZiIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2bDAgODBjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC04MGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptMCAyNzJjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC00OGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMDR6bTgwLTE2MGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMjR6bTEyOCAwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhsMCAyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC0yNHpNODAgMTEyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTMyMCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMjR6TTQ4IDM4NGwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyem0xNDQgNDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTZjMC04LjggNy4yLTE2IDE2LTE2bDY0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCAyNi41LTIxLjUgNDgtNDggNDh6bTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNmw2NCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4em0xMTItMTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCAxNy43LTE0LjMgMzItMzIgMzJ6Il19LE5lZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXJzLXN0YWdnZXJlZCIsaWNvbjpbNTEyLDUxMixbInJlb3JkZXIiLCJzdHJlYW0iXSwiZjU1MCIsIk0wIDk2QzAgNzguMyAxNC4zIDY0IDMyIDY0bDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDEyOEMxNC4zIDEyOCAwIDExMy43IDAgOTZ6TTY0IDI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw5NiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek00NDggNDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnoiXX0sQkR0PU5lZSxIRHQ9TmVlLHFEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3YXJlaG91c2UiLGljb246WzU3Niw1MTIsW10sImY0OTQiLCJNMCAxNDIuMUwwIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjQwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjQwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMzcuOWMwLTI3LjUtMTcuNi01Mi00My44LTYwLjdMMzAzLjIgNS4xYy05LjktMy4zLTIwLjUtMy4zLTMwLjQgMEw0My44IDgxLjRDMTcuNiA5MC4xIDAgMTE0LjYgMCAxNDIuMXpNNDY0IDI1NmwtMzUyIDAgMCA2NCAzNTIgMCAwLTY0ek0xMTIgNDE2bDM1MiAwIDAtNjQtMzUyIDAgMCA2NHptMzUyIDMybC0zNTIgMCAwIDY0IDM1MiAwIDAtNjR6Il19LFZEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzd2F0Y2hib29rIixpY29uOls1MTIsNTEyLFtdLCJmNWMzIiwiTTAgNDhDMCAyMS41IDIxLjUgMCA0OCAwbDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAzNjhjMCA1My00MyA5Ni05NiA5NlMwIDQ2OSAwIDQxNkwwIDQ4ek0yNDAgNDA5LjZsMC0yNzEuNSA0OC4xLTQ4LjFjMTguNy0xOC43IDQ5LjEtMTguNyA2Ny45IDBsNjcuOSA2Ny45YzE4LjcgMTguNyAxOC43IDQ5LjEgMCA2Ny45TDI0MCA0MDkuNnpNMjA1LjUgNTEybDE5Mi0xOTIgNjYuNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTI1OC41IDB6TTgwIDY0Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZMODAgNjR6TTY0IDIwOGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek05NiA0NDBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSxqRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FtcGdyb3VuZCIsaWNvbjpbNTEyLDUxMixbOTk3OF0sImY2YmIiLCJNMzQ0LjggNTIuM2MxMS4yLTEzLjcgOS4yLTMzLjgtNC41LTQ1cy0zMy44LTkuMi00NSA0LjVsLTM5LjIgNDgtMzkuMi00OEMyMDUuNi0xLjkgMTg1LjQtNCAxNzEuNyA3LjJzLTE1LjcgMzEuNC00LjUgNDVsNDcuNCA1OC0yMDIgMjQ2LjlDNC41IDM2Ny4xIDAgMzc5LjYgMCAzOTIuNkwwIDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw0MTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM5LjRjMC0xMi45LTQuNS0yNS41LTEyLjctMzUuNWwtMjAyLTI0Ni45IDQ3LjQtNTh6TTI1NiAyODhsMTEyIDEyOC0yMjQgMCAxMTItMTI4eiJdfSxVRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXdhbGtpbmctYXJyb3ctcmlnaHQiLGljb246WzU3Niw1MTIsW10sImU1NTIiLCJNMTA0LjUgMjRhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwem0tOCAxODEuM0w3My45IDIyNy45Yy02IDYtOS40IDE0LjEtOS40IDIyLjZsMCAzNy41YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzcuNWMwLTI1LjUgMTAuMS00OS45IDI4LjEtNjcuOWwzNS4xLTM1LjFjMjIuOC0yMi44IDUzLjYtMzUuNiA4NS44LTM1LjYgMzYuOSAwIDcxLjggMTYuOCA5NC44IDQ1LjZMMjYyLjMgMTgwYzYuMSA3LjYgMTUuMyAxMiAyNSAxMmwzMy4yIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMzLjIgMGMtMjkuMiAwLTU2LjctMTMuMy03NS0zNmwtMy44LTQuNyAwIDExNS4yIDM0LjUgMjkuNmMxNy43IDE1LjIgMjkuMyAzNi4yIDMyLjYgNTkuM2wxMi42IDg4LjFjMi41IDE3LjUtOS43IDMzLjctMjcuMiAzNi4ycy0zMy43LTkuNy0zNi4yLTI3LjJsLTEyLjYtODguMWMtMS4xLTcuNy01LTE0LjctMTAuOS0xOS44TDEzMCAzNDcuNWMtMjEuMy0xOC4yLTMzLjUtNDQuOS0zMy41LTcyLjlsMC02OS4zek05Ni42IDM3MWMyLjQgMi4zIDQuOCA0LjYgNy40IDYuOGw0NiAzOS40LTIuMiA3LjZjLTQuNSAxNS43LTEyLjkgMzAtMjQuNCA0MS41TDU1LjEgNTM0LjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDY4LjMtNjguM2MzLjgtMy44IDYuNi04LjYgOC4xLTEzLjhMOTYuNiAzNzF6TTUwNS41IDM0NWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMS0zMS0xMDIuMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEwMi4xIDAtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw3MiA3MmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNzIgNzJ6Il19LFdEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnbGFzc2VzIixpY29uOls1NzYsNTEyLFtdLCJmNTMwIiwiTTE0My4zIDk2Yy0xNCAwLTI2LjUgOS4yLTMwLjYgMjIuNkw3MC40IDI1NiAyMjQgMjU2YzE3LjcgMCAzMiAxNC4zIDMyIDMybDY0IDBjMC0xNy43IDE0LjMtMzIgMzItMzJsMTUzLjYgMC00Mi4zLTEzNy40QzQ1OS4yIDEwNS4yIDQ0Ni44IDk2IDQzMi43IDk2TDQwMCA5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMi43IDBjNDIuMSAwIDc5LjQgMjcuNSA5MS44IDY3LjhsNDUuNCAxNDcuNWM0LjEgMTMuMiA2LjEgMjYuOSA2LjEgNDAuN2wwIDk2YzAgNTMtNDMgOTYtOTYgOTZsLTY0IDBjLTUzIDAtOTYtNDMtOTYtOTZsMC0zMi02NCAwIDAgMzJjMCA1My00MyA5Ni05NiA5NmwtNjQgMGMtNTMgMC05Ni00My05Ni05NmwwLTk2YzAtMTMuOCAyLjEtMjcuNSA2LjEtNDAuN0w1MS41IDk5LjhDNjMuOSA1OS41IDEwMS4xIDMyIDE0My4zIDMyTDE3NiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIuNyAwek02NCAzMjBsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjQtMTI4IDB6bTQxNiA5NmMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0LTEyOCAwIDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMHoiXX0sYTVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1wYXVzZSIsaWNvbjpbNTEyLDUxMixbNjIwOTIsInBhdXNlLWNpcmNsZSJdLCJmMjhiIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMjQgMTkybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6bTEyOCAwbDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6Il19LEdEdD1hNWUsWUR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1lbW9yeSIsaWNvbjpbNTEyLDUxMixbXSwiZjUzOCIsIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOGwwIDcuNEMwIDE0Mi4yIDQuNCAxNDggMTAuMSAxNTEuNyAyMy4zIDE2MC4zIDMyIDE3NS4xIDMyIDE5MnMtOC43IDMxLjctMjEuOSA0MC4zQzQuNCAyMzYgMCAyNDEuOCAwIDI0OC42bDAgNTUuNCA1MTIgMCAwLTU1LjRjMC02LjgtNC40LTEyLjYtMTAuMS0xNi4zLTEzLjItOC42LTIxLjktMjMuNC0yMS45LTQwLjNzOC43LTMxLjcgMjEuOS00MC4zYzUuNy0zLjcgMTAuMS05LjUgMTAuMS0xNi4zbDAtNy40YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0ek01MTIgNDE2bDAtNjQtNTEyIDAgMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwIDAtMjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDI0IDg4IDAgMC0yNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMjQgODggMCAwLTI0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAyNCA2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyek0xNjAgMTYwbDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyem0xMjggMGwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptMTI4IDBsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6Il19LEtEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnaWZ0IixpY29uOls1MTIsNTEyLFsxMjc4NzNdLCJmMDZiIiwiTTMyMS41IDY4LjhDMzI5LjEgNTUuOSAzNDIuOSA0OCAzNTcuOCA0OGwyLjIgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MHMtMTcuOSA0MC00MCA0MGwtNzMuMyAwIDM0LjgtNTkuMnptLTEzMSAwbDM0LjggNTkuMi03My4zIDBjLTIyLjEgMC00MC0xNy45LTQwLTQwczE3LjktNDAgNDAtNDBsMi4yIDBjMTQuOSAwIDI4LjggNy45IDM2LjMgMjAuOHptODkuNi0yNC4zbC0yNC4xIDQxLTI0LjEtNDFDMjE1LjcgMTYuOSAxODYuMSAwIDE1NC4yIDBMMTUyIDBjLTQ4LjYgMC04OCAzOS40LTg4IDg4IDAgMTQuNCAzLjUgMjggOS42IDQwTDMyIDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC00MS42IDBjNi4xLTEyIDkuNi0yNS42IDkuNi00MCAwLTQ4LjYtMzkuNC04OC04OC04OGwtMi4yIDBjLTMxLjkgMC02MS41IDE2LjktNzcuNyA0NC40ek00ODAgMjcybC0yMDAgMCAwIDIwOCAxMzYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE0NHptLTI0OCAwbC0yMDAgMCAwIDE0NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxMzYgMCAwLTIwOHoiXX0sWkR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbmV5LWJpbGwtd2hlYXQiLGljb246WzUxMiw1MTIsW10sImU1MmEiLCJNMTc2LTE2YzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNi00NC4yIDAtODAtMzUuOC04MC04MCAwLTguOCA3LjItMTYgMTYtMTZ6TTU2IDBsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEw1NiA0OEM0Mi43IDQ4IDMyIDM3LjMgMzIgMjRTNDIuNyAwIDU2IDB6TTI0IDcybDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDEyMEMxMC43IDEyMCAwIDEwOS4zIDAgOTZTMTAuNyA3MiAyNCA3MnptOCA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMjcyIDBjMC04LjggNy4yLTE2IDE2LTE2IDQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNi00NC4yIDAtODAtMzUuOC04MC04MHpNNDAwLTE2YzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNi00NC4yIDAtODAtMzUuOC04MC04MCAwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE0NGMwIDQ0LjItMzUuOCA4MC04MCA4MC04LjggMC0xNi03LjItMTYtMTYgMC00NC4yIDM1LjgtODAgODAtODAgOC44IDAgMTYgNy4yIDE2IDE2ek0zNTIgMTEyYzguOCAwIDE2IDcuMiAxNiAxNiAwIDQ0LjItMzUuOCA4MC04MCA4MC04LjggMC0xNi03LjItMTYtMTYgMC00NC4yIDM1LjgtODAgODAtODB6bS05NiAxNmMwIDQ0LjItMzUuOCA4MC04MCA4MC04LjggMC0xNi03LjItMTYtMTYgMC00NC4yIDM1LjgtODAgODAtODAgOC44IDAgMTYgNy4yIDE2IDE2ek0wIDMwNGMwLTI2LjUgMjEuNS00OCA0OC00OGw0MTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE2MGMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMzA0ek00OCA0MTZsMCA0OCA0OCAwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek05NiAzMDRsLTQ4IDAgMCA0OGMyNi41IDAgNDgtMjEuNSA0OC00OHpNNDY0IDQxNmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsNDggMCAwLTQ4ek00MTYgMzA0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDAtNDgtNDggMHptLTk2IDgwYTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHoiXX0sWER0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImR1bmdlb24iLGljb246WzUxMiw1MTIsW10sImY2ZDkiLCJNMzQ3LjUgMTQ0LjhjNi41IDUuNCAxMi41IDExLjMgMTggMTcuNyA4LjcgMTAuMiAyMy43IDE0IDM1LjEgNi45bDU0LjEtMzMuOGMxMS4yLTcgMTQuNy0yMS43IDYuOS0zMi4yLTE1LjMtMjAuNS0zMy41LTM4LjYtNTQuMS01My44LTEwLjQtNy42LTI0LjctNC4zLTMxLjggNi40bC0zNS4xIDUyLjZjLTcuOCAxMS42LTMuOCAyNy4zIDcgMzYuMnpNMzI3LjggNDEuMWM4LjYtMTIuOSAyLjktMzAuNS0xMi4yLTM0LjEtMTkuMS00LjYtMzkuMS03LTU5LjYtN3MtNDAuNCAyLjQtNTkuNiA3Yy0xNS4xIDMuNi0yMC44IDIxLjItMTIuMiAzNC4xbDQwIDYwYzUuMiA3LjggMTQuNSAxMS43IDIzLjkgMTEuMiA1LjItLjMgMTAuNi0uMyAxNS44IDAgOS40IC41IDE4LjctMy40IDIzLjktMTEuMmw0MC02MHpNNTAuNSAxMDMuM2MtNy45IDEwLjUtNC4zIDI1LjMgNi45IDMyLjJsNTQuMSAzMy44YzExLjQgNy4xIDI2LjMgMy4zIDM1LjEtNi45IDUuNS02LjQgMTEuNS0xMi4zIDE4LTE3LjcgMTAuOC04LjkgMTQuOC0yNC42IDctMzYuMkwxMzYuNCA1NS45Yy03LjEtMTAuNy0yMS41LTE0LTMxLjgtNi40LTIwLjYgMTUuMS0zOC44IDMzLjMtNTQuMSA1My44em02MiAxNDEuMWMuOC05LjktMy4zLTE5LjktMTEuOC0yNS4xTDQxIDE4MmMtMTIuOS04LTI5LjktMi4zLTMzLjYgMTIuNS00LjkgMTkuNy03LjUgNDAuMy03LjUgNjEuNmwwIDI0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0yNGMwLTMuOSAuMi03LjggLjUtMTEuNnptMjg3LjEgMGMuMyAzLjggLjUgNy43IC41IDExLjZsMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMjRjMC0yMS4yLTIuNi00MS44LTcuNS02MS42LTMuNi0xNC43LTIwLjctMjAuNS0zMy42LTEyLjVsLTU5LjcgMzcuM2MtOC40IDUuMy0xMi42IDE1LjItMTEuOCAyNS4xek04OCAzNTJsLTY0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0TDAgNDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTQwMCAwbC02NCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDExMmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0ek0yODAgMTg0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMzA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zMDR6bS04MCAzMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjcyem0xNjAgMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjcyeiJdfSxyNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3VpdGNhc2UtbWVkaWNhbCIsaWNvbjpbNTEyLDUxMixbIm1lZGtpdCJdLCJmMGZhIiwiTTE5MiA1NmwwIDQwIDEyOCAwIDAtNDBjMC00LjQtMy42LTgtOC04TDIwMCA0OGMtNC40IDAtOCAzLjYtOCA4em0tNDggOGwwLThjMC0zMC45IDI1LjEtNTYgNTYtNTZMMzEyIDBjMzAuOSAwIDU2IDI1LjEgNTYgNTZsMCA0MjQtMjI0IDAgMC00MTZ6TTk2IDE3NmwwIDMwNC0zMiAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE2MGMwLTM1LjMgMjguNy02NCA2NC02NGwzMiAwIDAgODB6TTQxNiA0ODBsMC0zODQgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NGwtMzIgMHpNMjQ0IDIwOGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzYtMzYgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjRjMCA4LjggNy4yIDE2IDE2IDE2bDM2IDAgMCAzNmMwIDguOCA3LjIgMTYgMTYgMTZsMjQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zNiAzNiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0YzAtOC44LTcuMi0xNi0xNi0xNmwtMzYgMCAwLTM2YzAtOC44LTcuMi0xNi0xNi0xNmwtMjQgMHoiXX0sUUR0PXI1ZSxKRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWNhbmUiLGljb246WzQ0OCw1MTIsW10sImU1M2MiLCJNMjMyLTMyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek0xNDQgMjM2LjdMOTcuNyAyOTkuMWMtMTAuNSAxNC4yLTMwLjYgMTcuMi00NC44IDYuNnMtMTcuMi0zMC42LTYuNi00NC44bDcwLjUtOTVDMTQyIDEzMiAxODEuNyAxMTIgMjI0IDExMnM4MiAyMCAxMDcuMiA1My45bDcwLjUgOTVjMTAuNSAxNC4yIDcuNiAzNC4yLTYuNiA0NC44cy0zNC4yIDcuNi00NC44LTYuNkwzMDQgMjM2LjcgMzA0IDUxMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE2MGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTI3NS4zek0zOTIgMzg0Yy00LjQgMC04IDMuNi04IDggMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0zMC45IDI1LjEtNTYgNTYtNTZzNTYgMjUuMSA1NiA1NmwwIDEyOGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTEyOGMwLTQuNC0zLjYtOC04LTh6Il19LFZiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdhdWdlIixpY29uOls1MTIsNTEyLFsiZGFzaGJvYXJkIiwiZ2F1Z2UtbWVkIiwidGFjaG9tZXRlci1hbHQtYXZlcmFnZSJdLCJmNjI0IiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTMyMCA5NmMwLTI2LjktMTYuNS00OS45LTQwLTU5LjNMMjgwIDEyMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE3Mi43Yy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjMgMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHpNMTQ0IDE3NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bS0xNiA4MGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0yODggMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek00MDAgMTQ0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6Il19LGVBdD1WYix0QXQ9VmIsYUF0PVZiLHJBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlbnZlbG9wZS1vcGVuLXRleHQiLGljb246WzU3Niw1MTIsW10sImY2NTgiLCJNMjg4IDMzLjlMOTYuNCAxNzUuOCAyNTQuNSAyOTNjNS4zIDMuOSAxMS4yIDYuOSAxNy41IDguN0wyNzIgNDY0YzAgNS41IC41IDEwLjggMS4zIDE2TDk2IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0yMzkuOWMwLTIwLjMgOS42LTM5LjQgMjUuOS01MS40TDI1NC41LTIxYzkuNy03LjIgMjEuNC0xMSAzMy41LTExczIzLjggMy45IDMzLjUgMTFMNTE4LjEgMTI0LjdjNy4yIDUuMyAxMy4xIDEyIDE3LjQgMTkuNi0yLjUtLjItNS0uMy03LjUtLjNMNDM2LjYgMTQ0IDI4OCAzMy45ek0zMjAgMjQwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDE2MCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMjI0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNjAgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0yMjR6bTgwIDE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDk2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTk2IDB6bTAgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNTYgMHoiXX0sc0F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvb2xib3giLGljb246WzUxMiw1MTIsWzEyOTUyMF0sImY1NTIiLCJNMTc2IDU2bDAgNDAgMTYwIDAgMC00MGMwLTQuNC0zLjYtOC04LThMMTg0IDQ4Yy00LjQgMC04IDMuNi04IDh6TTEyOCA5NmwwLTQwYzAtMzAuOSAyNS4xLTU2IDU2LTU2TDMyOCAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2bDAgNDAgMjguMSAwYzEyLjcgMCAyNC45IDUuMSAzMy45IDE0LjFsNTEuOSA1MS45YzkgOSAxNC4xIDIxLjIgMTQuMSAzMy45bDAgNzYuMS0xMzYgMCAwLTE2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTYtMTQ0IDAgMC0xNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE2LTEzNiAwIDAtNzYuMWMwLTEyLjcgNS4xLTI0LjkgMTQuMS0zMy45bDUxLjktNTEuOWM5LTkgMjEuMi0xNC4xIDMzLjktMTQuMUwxMjggOTZ6TTAgNDE2bDAtOTYgMTM2IDAgMCAxNmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYgMTQ0IDAgMCAxNmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYgMTM2IDAgMCA5NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0eiJdfSxpQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicG93ZXItb2ZmIixpY29uOls1MTIsNTEyLFs5MjExXSwiZjAxMSIsIk0yODggMGMwLTE3LjctMTQuMy0zMi0zMi0zMlMyMjQtMTcuNyAyMjQgMGwwIDI1NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyTDI4OCAwek0xNDYuMyA5OC40YzE0LjUtMTAuMSAxOC0zMC4xIDcuOS00NC42cy0zMC4xLTE4LTQ0LjYtNy45QzQzLjQgOTIuMSAwIDE2OSAwIDI1NiAwIDM5Ny40IDExNC42IDUxMiAyNTYgNTEyUzUxMiAzOTcuNCA1MTIgMjU2YzAtODctNDMuNC0xNjMuOS0xMDkuNy0yMTAuMS0xNC41LTEwLjEtMzQuNC02LjYtNDQuNiA3LjlzLTYuNiAzNC40IDcuOSA0NC42YzQ5LjggMzQuOCA4Mi4zIDkyLjQgODIuMyAxNTcuNiAwIDEwNi04NiAxOTItMTkyIDE5MlM2NCAzNjIgNjQgMjU2YzAtNjUuMiAzMi41LTEyMi45IDgyLjMtMTU3LjZ6Il19LFJlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaWduYWwiLGljb246WzUxMiw1MTIsWzEyODI0Niwic2lnbmFsLTUiLCJzaWduYWwtcGVyZmVjdCJdLCJmMDEyIiwiTTQ4OCA1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQwMGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDAwek0zNjAgMTI4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDMwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMzA0YzAtMTMuMy0xMC43LTI0LTI0LTI0ek0yODAgMjQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjA4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yMDh6TTE1MiAzMjBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTEyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTQ4IDM4NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LG9BdD1SZWUsbkF0PVJlZSxsQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLXNwaW4iLGljb246WzUxMiw1MTIsW10sImU0YmIiLCJNNDgxLjcgMjQwLjFjLTE3LjYtMS4yLTMyLjkgMTItMzQuMiAyOS43LTMuMyA0Ny0yMy42IDg5LjQtNTQuOCAxMjFMMzYxIDM1OWMtNi45LTYuOS0xNy4yLTguOS0yNi4yLTUuMlMzMjAgMzY2LjMgMzIwIDM3NmwwIDExMmMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxMTIgMGM5LjcgMCAxOC41LTUuOCAyMi4yLTE0LjhzMS43LTE5LjMtNS4yLTI2LjJsLTM1LTM1YzQxLjctNDIuMiA2OC45LTk4LjggNzMuNC0xNjEuOCAxLjItMTcuNi0xMi0zMi45LTI5LjctMzQuMnpNMzkgNDFMNzQgNzZjLTQxLjcgNDIuMi02OC45IDk4LjgtNzMuNCAxNjEuOC0xLjIgMTcuNiAxMiAzMi45IDI5LjcgMzQuMnMzMi45LTEyIDM0LjItMjkuN2MzLjMtNDcgMjMuNi04OS40IDU0LjgtMTIxTDE1MSAxNTNjNi45IDYuOSAxNy4yIDguOSAyNi4yIDUuMlMxOTIgMTQ1LjcgMTkyIDEzNmwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNEw1NiAwQzQ2LjMgMCAzNy41IDUuOCAzMy44IDE0LjhTMzIuMiAzNC4xIDM5IDQxem0yMDEtMTAuN2MtMS4yIDE3LjYgMTIgMzIuOSAyOS43IDM0LjIgNDcgMy4zIDg5LjQgMjMuNiAxMjEgNTQuOEwzNTkgMTUxYy02LjkgNi45LTguOSAxNy4yLTUuMiAyNi4yUzM2Ni4zIDE5MiAzNzYgMTkybDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTEyYzAtOS43LTUuOC0xOC41LTE0LjgtMjIuMlM0NzcuOSAzMi4yIDQ3MSAzOUw0MzYgNzRjLTQyLjItNDEuNy05OC44LTY4LjktMTYxLjgtNzMuNC0xNy42LTEuMi0zMi45IDEyLTM0LjIgMjkuN3pNNDEgNDczbDM1LTM1YzQyLjIgNDEuNyA5OC44IDY4LjkgMTYxLjggNzMuNCAxNy42IDEuMiAzMi45LTEyIDM0LjItMjkuN3MtMTItMzIuOS0yOS43LTM0LjJjLTQ3LTMuMy04OS40LTIzLjYtMTIxLTU0LjhMMTUzIDM2MWM2LjktNi45IDguOS0xNy4yIDUuMi0yNi4yUzE0NS43IDMyMCAxMzYgMzIwTDI0IDMyMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRMMCA0NTZjMCA5LjcgNS44IDE4LjUgMTQuOCAyMi4yUzM0LjEgNDc5LjggNDEgNDczeiJdfSxjQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiam9pbnQiLGljb246WzU3Niw1MTIsW10sImY1OTUiLCJNMzYwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxOWMwIDQwLjMgMTYgNzkgNDQuNSAxMDcuNWwyMSAyMUM0NjkgMTkxIDQ4MCAyMTcuNCA0ODAgMjQ1bDAgMTljMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xOWMwLTE0LjktNS45LTI5LjEtMTYuNC0zOS42bC0yMS0yMUMzNTcuMSAxNDYuOSAzMzYgOTYgMzM2IDQzbDAtMTljMC0xMy4zIDEwLjctMjQgMjQtMjR6TTU1MiAyODhjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMTljMC00MC4zLTE2LTc5LTQ0LjUtMTA3LjVsLTIxLTIxQzQ0MyA5NyA0MzIgNzAuNiA0MzIgNDNsMC0xOWMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTljMCAxNC45IDUuOSAyOS4xIDE2LjQgMzkuNmwyMSAyMUM1NTQuOSAxNDEuMSA1NzYgMTkyIDU3NiAyNDVsMCAxOWMwIDEzLjMtMTAuNyAyNC0yNCAyNHpNMjkyLjcgMzIwYzUuNiAwIDEwLjcgMi45IDEzLjYgNy42TDM5NC42IDQ3MWMxLjMgMi4xIDAgNC45LTIuNCA1LjItMTYuMSAyLjUtMzIuNCAzLjctNDguNyAzLjdsLTM4LjEgMGMtNS42IDAtMTAuNy0yLjktMTMuNi03LjZsLTc5LTEyOC40Yy02LTkuOCAwLTIyLjYgMTEuNS0yMy4zIDYuNy0uNCAxMy40LS42IDIwLjItLjZsNDguMyAwek00NTkuMyA0NjUuOWMtNi40IDEtMTIuNy0xLjktMTYuMS03LjRMMzc0LjEgMzQ2LjFjLTYuNy0xMC45IDEuNS0yNC43IDE0LjItMjIuOSAxLjMgLjIgMi42IC40IDMuOCAuNmwxMzYuNCAyMWMyNy4zIDQuMiA0Ny40IDI3LjcgNDcuNCA1NS4zcy0yMC4xIDUxLjEtNDcuNCA1NS4zbC02OS4yIDEwLjZ6TTEzOC43IDMzNmM2LjctMS41IDEzLjYgMS40IDE3LjIgNy4ybDY4LjkgMTEyYzYuNiAxMC43LTEuMiAyNC40LTEzLjggMjMuMS0xMy0xLjQtMjUuOS0zLjUtMzguNi02LjVMMzEuMiA0MzkuMkMxMi45IDQzNSAwIDQxOC43IDAgNDAwczEyLjktMzUgMzEuMi0zOS4yTDEzOC43IDMzNnoiXX0sZEF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyYWlsbGUiLGljb246WzM4NCw1MTIsW10sImYyYTEiLCJNODAgMTQ0YTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwem0wIDE5MmE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMCAxMzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjQgMjQgMTAuNyAyNCAyNC0xMC43IDI0LTI0IDI0em0wIDU2YzQ0LjIgMCA4MC0zNS44IDgwLTgwcy0zNS44LTgwLTgwLTgwLTgwIDM1LjgtODAgODAgMzUuOCA4MCA4MCA4MHptMjQ4LTgwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0IDEwLjctMjQgMjQtMjQgMjQgMTAuNyAyNCAyNHptNTYgMGMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MCAzNS44IDgwIDgwIDgwIDgwLTM1LjggODAtODB6TTMwNCAyMzJhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0wIDEwNGE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMC0xOTJhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6Il19LHM1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXNrZXQtc2hvcHBpbmciLGljb246WzU3Niw1MTIsWyJzaG9wcGluZy1iYXNrZXQiXSwiZjI5MSIsIk0yODggMGM2LjYgMCAxMi45IDIuNyAxNy40IDcuNWwxNDQgMTUyIC41IC41IDc4LjEgMGMxNy43IDAgMzIgMTQuMyAzMiAzMiAwIDE0LjUtOS42IDI2LjctMjIuOCAzMC43TDQ5MS4xIDQyOS45Yy02LjUgMjkuMy0zMi41IDUwLjEtNjIuNSA1MC4xbC0yODEuMyAwYy0zMCAwLTU2LTIwLjgtNjIuNS01MC4xbC00Ni0yMDcuMmMtMTMuMi0zLjktMjIuOC0xNi4yLTIyLjgtMzAuNyAwLTE3LjcgMTQuMy0zMiAzMi0zMmw3OC4xIDAgLjUtLjUgMTQ0LTE1MkMyNzUuMSAyLjcgMjgxLjQgMCAyODggMHptMCA1OC45TDE5Mi4yIDE2MCAzODMuOCAxNjAgMjg4IDU4Ljl6TTIwOCAyNjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTExMnptODAtMjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTEyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTEyOCAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDExMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTEyeiJdfSx1QXQ9czVlLHBBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmlkZ2UiLGljb246WzUxMiw1MTIsW10sImU0YzgiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDggMCAwIDY0LTQwIDAgMCAxMTJjMzcuNiA5LjQgNjQgNDMuMiA2NCA4MmwwIDk0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk0YzAtMzguOCAyNi40LTcyLjYgNjQtODJsMC0xMTItNDAgMCAwLTY0IDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnpNNDI0IDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTI5NiA5NmwwIDY0LTgwIDAgMC02NCA4MCAwek04OCA5Nmw4MCAwIDAgNjQtODAgMCAwLTY0eiJdfSxmQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhbmUtYXJyaXZhbCIsaWNvbjpbNTc2LDUxMixbMTI4NzQ4XSwiZjVhZiIsIk0zODYuNiAxOTMuMUwyNjUuOSAzLjdjLTQuOC03LjYtMTIuNi0xMi44LTIxLjQtMTQuM2wtNDMuMS03LjZjLTEwLjgtMS45LTIwLjIgNy4zLTE4LjYgMTguMWwyNCAxNjEuNi0xMDUtMTguNS0zMy44LTYxLjhDNjQuNSA3NC43IDU4LjIgNzAuMiA1MS4xIDY5TDM0IDY2Yy05LjgtMS43LTE4LjggNS45LTE4LjggMTUuOGwuNiAxMDYuM2MuMiAzMC45IDIyLjQgNTcuMyA1Mi45IDYyLjdsMTMuNSAyLjQgMCAwIDQxNy42IDczLjZjMzAuNSA1LjQgNTkuNS0xNSA2NC45LTQ1LjRzLTE1LTU5LjUtNDUuNC02NC45TDM4Ni42IDE5My4xek0yMjQgMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMTMxLjItMTUuM2EzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zMiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgNDQ4eiJdfSxoQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FzaC1yZWdpc3RlciIsaWNvbjpbNTEyLDUxMixbXSwiZjc4OCIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0czI4LjcgNjQgNjQgNjRsNDggMCAwIDMyLTU3IDBjLTMxLjYgMC01OC41IDIzLjEtNjMuMyA1NC40TDEuMSAzNjQuMUMuNCAzNjguOCAwIDM3My42IDAgMzc4LjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC02OS42YzAtNC44LS40LTkuNi0xLjEtMTQuNEw0ODguMiAyMTQuNEM0ODMuNSAxODMuMSA0NTYuNiAxNjAgNDI1IDE2MGwtMjE3IDAgMC0zMiA0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0UzI5MS4zIDAgMjU2IDBMOTYgMHptMCA0OGwxNjAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkw5NiA4MGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpNNjQgNDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDMzNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDg4IDQ0OGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTQ4LTE2MGEyNCAyNCAwIDEgMSAwLTQ4IDI0IDI0IDAgMSAxIDAgNDh6bTEyMC0yNGEyNCAyNCAwIDEgMSAtNDggMCAyNCAyNCAwIDEgMSA0OCAwek0xNjAgMzQ0YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHpNMzI4IDI0MGEyNCAyNCAwIDEgMSAtNDggMCAyNCAyNCAwIDEgMSA0OCAwek0yNTYgMzQ0YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHpNNDI0IDI0MGEyNCAyNCAwIDEgMSAtNDggMCAyNCAyNCAwIDEgMSA0OCAwek0zNTIgMzQ0YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHoiXX0sbUF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJpbmciLGljb246WzUxMiw1MTIsW10sImY3MGIiLCJNNjQgMjA4YzAgNy44IDQuNCAxOC43IDE3LjEgMzAuMyA0NS40LTI0LjIgMTA3LjctMzguMyAxNzQuOS0zOC4zczEyOS41IDE0LjEgMTc0LjkgMzguM2MxMi44LTExLjYgMTcuMS0yMi41IDE3LjEtMzAuMyAwLTEyLjMtMTAuOC0zMi00Ny45LTUwLjYtMzUuMi0xNy42LTg2LjEtMjkuNC0xNDQuMS0yOS40cy0xMDguOSAxMS44LTE0NC4xIDI5LjRDNzQuOCAxNzYgNjQgMTk1LjcgNjQgMjA4em0xOTIgNDBjLTQ3IDAtODkuMyA3LjYtMTIyLjkgMTkuNyAzMy4yIDEyLjQgNzUuNyAyMC4zIDEyMi45IDIwLjNzODkuNy03LjggMTIyLjktMjAuM0MzNDUuMyAyNTUuNiAzMDMgMjQ4IDI1NiAyNDh6TTAgMjA4QzAgMTU4LjQgMzkuNCAxMjIuMiA4My4zIDEwMC4yIDEyOS4xIDc3LjMgMTkwLjMgNjQgMjU2IDY0czEyNi45IDEzLjMgMTcyLjcgMzYuMmM0My45IDIyIDgzLjMgNTguMiA4My4zIDEwNy44bDAgOTZjMCA0OS42LTM5LjQgODUuOC04My4zIDEwNy44LTQ1LjkgMjIuOS0xMDcgMzYuMi0xNzIuNyAzNi4yUzEyOS4xIDQzNC43IDgzLjMgNDExLjhDMzkuNCAzODkuOCAwIDM1My42IDAgMzA0bDAtOTZ6Il19LGdBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcXVhcml1cyIsaWNvbjpbNTc2LDUxMixbXSwiZTg0NSIsIk00MDEuNyAyOTEuNGM5LTQuNSAxOS42LTQuNSAyOC42IDBsMTI4IDY0YzE1LjggNy45IDIyLjIgMjcuMSAxNC4zIDQyLjlzLTI3LjEgMjIuMi00Mi45IDE0LjNMNDE2IDM1NS44IDMwMi4zIDQxMi42Yy05IDQuNS0xOS42IDQuNS0yOC42IDBMMTYwIDM1NS44IDQ2LjMgNDEyLjZjLTE1LjggNy45LTM1IDEuNS00Mi45LTE0LjNzLTEuNS0zNSAxNC4zLTQyLjlsMTI4LTY0YzktNC41IDE5LjYtNC41IDI4LjYgMEwyODggMzQ4LjIgNDAxLjcgMjkxLjR6bTMuNC0xOTMuNWM4LjItMyAxNy4zLTIuNSAyNS4yIDEuNWwxMjggNjRjMTUuOCA3LjkgMjIuMiAyNy4xIDE0LjMgNDIuOXMtMjcuMSAyMi4yLTQyLjkgMTQuM0w0MTYgMTYzLjggMzAyLjMgMjIwLjZjLTkgNC41LTE5LjYgNC41LTI4LjYgMEwxNjAgMTYzLjggNDYuMyAyMjAuNmMtMTUuOCA3LjktMzUgMS41LTQyLjktMTQuM3MtMS41LTM1IDE0LjMtNDIuOWwxMjgtNjQgMy40LTEuNWM4LjItMyAxNy4zLTIuNSAyNS4yIDEuNWwxMTMuNyA1Ni44IDExMy43LTU2LjggMy40LTEuNXoiXX0saTVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoYXJlLW5vZGVzIixpY29uOls1MTIsNTEyLFsic2hhcmUtYWx0Il0sImYxZTAiLCJNMzg0IDE5MmM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05Ni05NiA0My05NiA5NmMwIDUuNCAuNSAxMC44IDEuMyAxNkwxNTkuNiAxODQuMWMtMTYuOS0xNS0zOS4yLTI0LjEtNjMuNi0yNC4xLTUzIDAtOTYgNDMtOTYgOTZzNDMgOTYgOTYgOTZjMjQuNCAwIDQ2LjYtOS4xIDYzLjYtMjQuMUwyODkuMyA0MDBjLS45IDUuMi0xLjMgMTAuNS0xLjMgMTYgMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05Ni00My05Ni05Ni05NmMtMjQuNCAwLTQ2LjYgOS4xLTYzLjYgMjQuMUwxOTAuNyAyNzJjLjktNS4yIDEuMy0xMC41IDEuMy0xNnMtLjUtMTAuOC0xLjMtMTZsMTI5LjctNzIuMWMxNi45IDE1IDM5LjIgMjQuMSA2My42IDI0LjF6Il19LGJBdD1pNWUsdkF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzY0MCw1MTIsW10sImU1M2YiLCJNMjgwIDI0YTU2IDU2IDAgMSAwIC0xMTIgMCA1NiA1NiAwIDEgMCAxMTIgMHptMjQgMjEyLjdMMzQxIDI4Ni42YzEyLjgtMTcuNSAyOC41LTMyLjcgNDYuMy00NWwtNTYuMi03NS43QzMwNiAxMzIgMjY2LjMgMTEyIDIyNCAxMTJzLTgyIDIwLTEwNy4yIDUzLjlsLTcwLjUgOTVjLTEwLjUgMTQuMi03LjYgMzQuMiA2LjYgNDQuOHMzNC4yIDcuNiA0NC44LTYuNkwxNDQgMjM2LjcgMTQ0IDUxMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI3NS4zek00OTYgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTE0MGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0seEF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJpbm9jdWxhcnMiLGljb246WzUxMiw1MTIsW10sImYxZTUiLCJNMTI4IDMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMi05NiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTY0IDk2bDAgMzIwYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC01OS4xYzAtMzQuNiA5LjQtNjguNiAyNy4yLTk4LjMgMTMuNy0yMi44IDIyLjUtNDguMiAyNS44LTc0LjZMNjAuNSAxNTZjMi0xNiAxNS42LTI4IDMxLjgtMjhsOTkuOCAwem0yMjcuOCAwYzE2LjEgMCAyOS44IDEyIDMxLjggMjhMNDU5IDIxNmMzLjMgMjYuNCAxMi4xIDUxLjggMjUuOCA3NC42IDE3LjggMjkuNyAyNy4yIDYzLjcgMjcuMiA5OC4zbDAgNTkuMWMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzIwIDk5LjggMHpNMzIwIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMi05NiAwIDAtMzJ6bS0zMiA2NGwwIDE2MC02NCAwIDAtMTYwIDY0IDB6Il19LHlBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJraXAtc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTFjNCIsIk0zNDAuOCA4OC4zYzEzLjQtMTEuNSAxNS0zMS43IDMuNS00NS4xcy0zMS43LTE1LTQ1LjEtMy41TDEyOCAxODYuNCAxMjggNjRjMC0xNy43LTE0LjMtMzItMzItMzJTNjQgNDYuMyA2NCA2NGwwIDE2OC0zMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDAgMCAxNjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyMi40IDE3MS4yIDE0Ni43YzEzLjQgMTEuNSAzMy42IDkuOSA0NS4xLTMuNXM5LjktMzMuNi0zLjUtNDUuMUwxNzMuMiAyODAgMzUyIDI4MGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwxNzMuMiAyMzIgMzQwLjggODguM3oiXX0sbzVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhcmQtZHJpdmUiLGljb246WzQ0OCw1MTIsWzEyODQzNiwiaGRkIl0sImYwYTAiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDI2MC4xQzE4LjEgMjQ3LjQgNDAuMiAyNDAgNjQgMjQwbDMyMCAwYzIzLjggMCA0NS45IDcuNCA2NCAyMC4xTDQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNNDQ4IDM1MmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAyODhjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC02NHpNMjI0IDM4NGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xMjgtMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSx3QXQ9bzVlLE1BdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyYW5raW5nLXN0YXIiLGljb246WzU3Niw1MTIsW10sImU1NjEiLCJNMzIxLjggNTQuMUwyOTguMiA2LjNjLTMuOS04LjMtMTYuMS04LjYtMjAuNCAwbC0yMy42IDQ3LjgtNTIuMyA3LjVjLTkuMyAxLjQtMTMuMyAxMi45LTYuNCAxOS44bDM4IDM3LTkgNTIuMWMtMS40IDkuMyA4LjIgMTYuNSAxNi44IDEyLjJsNDYuOS0yNC44IDQ2LjYgMjQuNGM4LjYgNC4zIDE4LjMtMi45IDE2LjgtMTIuMmwtOS01Mi4xIDM4LTM2LjZjNi44LTYuOCAyLjktMTguMy02LjQtMTkuOGwtNTIuMy03LjV6TTI1NiAyNTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMTYwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xNjBjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDB6TTQ4IDMyMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtOTZjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDB6TTQxNiA0MzJsMCAzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzJjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4eiJdfSxrQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci10aWUiLGljb246WzQ0OCw1MTIsW10sImY1MDgiLCJNMjI0IDI0OGExMjAgMTIwIDAgMSAxIDAtMjQwIDEyMCAxMjAgMCAxIDEgMCAyNDB6bS0zMC41IDU2bDYxIDBjOS43IDAgMTcuNSA3LjggMTcuNSAxNy41IDAgNC4yLTEuNSA4LjItNC4yIDExLjRsLTI3LjQgMzIgMzEgMTE1LjEgLjYgMCAzNC42LTEzOC41YzIuMi04LjcgMTEuMS0xNCAxOS41LTEwLjggNjEuOSAyMy42IDEwNS45IDgzLjYgMTA1LjkgMTUzLjggMCAxNS4xLTEyLjMgMjcuNC0yNy40IDI3LjRMNDMuNCA1MTJjLTE1LjEgMC0yNy40LTEyLjMtMjcuNC0yNy40IDAtNzAuMiA0NC0xMzAuMiAxMDUuOS0xNTMuOCA4LjQtMy4yIDE3LjMgMi4xIDE5LjUgMTAuOGwzNC42IDEzOC41IC42IDAgMzEtMTE1LjEtMjcuNC0zMmMtMi43LTMuMi00LjItNy4yLTQuMi0xMS40IDAtOS43IDcuOC0xNy41IDE3LjUtMTcuNXoiXX0sbjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVsbGlwc2lzIixpY29uOls0NDgsNTEyLFsiZWxsaXBzaXMtaCJdLCJmMTQxIiwiTTAgMjU2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHptMTY4IDBhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwem0yMjQtNTZhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6Il19LFNBdD1uNWUsekF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0b3JlLXNsYXNoIixpY29uOls1NzYsNTEyLFtdLCJlMDcxIiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTU4LjYtNTguNmMxLjEtNCAxLjYtOC4yIDEuNi0xMi41bDAtMTUxLjJjLTEyLjUgNC42LTI2LjEgNy4yLTQwLjUgNy4yLTguMSAwLTE1LjktLjgtMjMuNS0yLjRsMCA2Ni40LTMwLjIgMC0xMzcuNS0xMzcuNWMyLjktMy42IDUuNS03LjQgNy42LTExLjUgMTEuNiAyMiAzNC43IDM3IDYxLjMgMzcgMjYuOCAwIDQ5LjgtMTUuMSA2MS40LTM3LjEgMTEuNCAyMi4xIDM0LjUgMzcuMSA2MC44IDM3LjEgNDUuNiAwIDc4LjQtNDMuNyA2NS42LTg3LjVMNTEzLjggNzIuM0M1MDYuOCA0OC40IDQ4NC45IDMyIDQ2MCAzMkwxMTYgMzJjLTUuNSAwLTEwLjggLjgtMTUuOSAyLjNMNDEtMjQuOXpNMTUxLjUgMjIxLjNMNDguNyAxMTguNiAzOC45IDE1Mi41Yy0xMi44IDQzLjcgMjAgODcuNSA2NS42IDg3LjUgMTguMSAwIDM0LjctNy4xIDQ3LTE4Ljd6TTQxMC4yIDQ4MGwtMTI4LTEyOC0xNTQuMiAwIDAtNjYuNGMtNy42IDEuNi0xNS41IDIuNC0yMy41IDIuNC0xNC40IDAtMjgtMi42LTQwLjUtNy4yTDY0IDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyOTguMiAweiJdfSxsNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyY2VudCIsaWNvbjpbNDQ4LDUxMixbNjIxMDEsNjI3ODUsInBlcmNlbnRhZ2UiXSwiMjUiLCJNMTkyIDEyOGE5NiA5NiAwIDEgMCAtMTkyIDAgOTYgOTYgMCAxIDAgMTkyIDB6TTQ0OCAzODRhOTYgOTYgMCAxIDAgLTE5MiAwIDk2IDk2IDAgMSAwIDE5MiAwek00MzguNiA4Ni42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0zODQgMzg0Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDM4NC0zODR6Il19LENBdD1sNWUsYzVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtemlwcGVyIixpY29uOlszODQsNTEyLFsiZmlsZS1hcmNoaXZlIl0sImYxYzYiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTY0IDcyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMODggNDhDNzQuNyA0OCA2NCA1OC43IDY0IDcyem0wIDk2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0em02NCA3MmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0OGMwIDI2LjUgMjEuNSA0OCA0OCA0OHM0OC0yMS41IDQ4LTQ4bDAtNDhjMC0xNy43LTE0LjMtMzItMzItMzJ6bS0xNiA2NGExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6Il19LF9BdD1jNWUsVEF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpc3BsYXkiLGljb246WzUxMiw1MTIsW10sImUxNjMiLCJNNDQ4IDk2bDAgMjU2LTM4NCAwIDAtMjU2IDM4NCAwek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgMzUyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDE0NCAwLTE2IDQ4LTcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTcyIDAtMTYtNDggMTQ0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6Il19LGQ1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpY29ucyIsaWNvbjpbNTEyLDUxMixbImhlYXJ0LW11c2ljLWNhbWVyYS1ib2x0Il0sImY4NmQiLCJNMTc0LjkgMjcyYzEwLjcgMCAyMC43IDUuMyAyNi42IDE0LjJsMTEuOCAxNy44IDI2LjcgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDExMmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMzUyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDI2LjcgMCAxMS44LTE3LjhjNS45LTguOSAxNS45LTE0LjIgMjYuNi0xNC4ybDYxLjcgMHptMjc4LjYtMTJjNS42LTQuOSAxMy45LTUuMyAxOS45LS45czguMyAxMi40IDUuMyAxOS4zTDQ0MC4zIDM2OCA0OTYgMzY4YzYuNyAwIDEyLjYgNC4xIDE1IDEwLjRzLjYgMTMuMy00LjQgMTcuN2wtMTI4IDExMmMtNS42IDQuOS0xMy45IDUuMy0xOS45IC45cy04LjMtMTIuNC01LjMtMTkuM2wzOC41LTg5LjctNTUuOCAwYy02LjcgMC0xMi42LTQuMS0xNS0xMC40cy0uNi0xMy4zIDQuNC0xNy43bDEyOC0xMTJ6TTE0NCAzNjBhNDggNDggMCAxIDAgMCA5NiA0OCA0OCAwIDEgMCAwLTk2ek00ODMuOCAuNGM2LjUtMS4xIDEzLjEgLjQgMTguNSA0LjQgNi4xIDQuNSA5LjcgMTEuNyA5LjcgMTkuMmwwIDE1Mi0uMyA0LjljLTMuMyAyNC4yLTMwLjUgNDMuMS02My43IDQzLjEtMzUuMyAwLTY0LTIxLjUtNjQtNDhzMjguNy00OCA2NC00OGM1LjUgMCAxMC45IC42IDE2IDEuNmwwLTQ5LjMtMTEyIDMzLjYgMCAxMTAuMi0uMyA0LjljLTMuMyAyNC4yLTMwLjUgNDMuMS02My43IDQzLjEtMzUuMyAwLTY0LTIxLjUtNjQtNDhzMjguNy00OCA2NC00OGM1LjUgMCAxMC45IC42IDE2IDEuNkwzMDQgNzJjMC0xMC42IDctMjAgMTcuMS0yM2wxNjAtNDggMi43LS42ek0xODguOSAwQzIyNiAwIDI1NiAzMCAyNTYgNjcuMWwwIDYuMWMwIDU2LjEtNzUuMiAxMTIuMS0xMTAuMyAxMzUuMy0xMC44IDcuMS0yNC42IDcuMS0zNS40IDAtMzUuMS0yMy4xLTExMC4zLTc5LjItMTEwLjMtMTM1LjNsMC02LjFDMCAzMCAzMCAwIDY3LjEgMCA4OC4yIDAgMTA4IDkuOSAxMjAuNyAyNi44bDcuMyA5LjggNy4zLTkuOEMxNDggOS45IDE2Ny44IDAgMTg4LjkgMHoiXX0sTEF0PWQ1ZSwkQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicnVsZXItdmVydGljYWwiLGljb246WzI1Niw1MTIsW10sImY1NDgiLCJNMCAxNkMwLTEwLjUgMjEuNS0zMiA0OC0zMmwxNjAgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDI0LTEwNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDEwNCAwIDAgNDgtNzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw3MiAwIDAgNDgtMTA0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTA0IDAgMCA0OC03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDcyIDAgMCA0OC0xMDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMDQgMCAwIDI0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDU0NGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAxNnoiXX0sdTVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcC1sb2NhdGlvbi1kb3QiLGljb246WzY0MCw1MTIsWyJtYXAtbWFya2VkLWFsdCJdLCJmNWEwIiwiTTU3NiA0OGMwLTExLjEtNS43LTIxLjQtMTUuMi0yNy4ycy0yMS4yLTYuNC0zMS4xLTEuNEw0MTMuNSA3Ny41IDIzNC4xIDE3LjZjLTguMS0yLjctMTYuOC0yLjEtMjQuNCAxLjdsLTEyOCA2NEM3MC44IDg4LjggNjQgOTkuOSA2NCAxMTJsMCAzNTJjMCAxMS4xIDUuNyAyMS40IDE1LjIgMjcuMnMyMS4yIDYuNCAzMS4xIDEuNGwxMTYuMS01OC4xIDE3My4zIDU3LjhjLTQuMy02LjQtOC41LTEzLjEtMTIuNi0xOS45LTExLTE4LjMtMjEuOS0zOS4zLTMwLTYxLjhsLTEwMS4yLTMzLjcgMC0yODQuNSAxMjggNDIuNyAwIDk5LjNjMzEtMzUuOCA3Ny01OC40IDEyOC01OC40IDIyLjYgMCA0NC4yIDQuNCA2NCAxMi41TDU3NiA0OHpNNTEyIDIyNGMtNjYuMyAwLTEyMCA1Mi44LTEyMCAxMTcuOSAwIDY4LjkgNjQuMSAxNTAuNCA5OC42IDE4OS4zIDExLjYgMTMgMzEuMyAxMyA0Mi45IDAgMzQuNS0zOC45IDk4LjYtMTIwLjQgOTguNi0xODkuMyAwLTY1LjEtNTMuNy0xMTcuOS0xMjAtMTE3Ljl6TTQ3MiAzNDRhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHoiXX0sREF0PXU1ZSxwNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhcnQtY3JhY2siLGljb246WzUxMiw1MTIsWzEyODE0OCwiaGVhcnQtYnJva2VuIl0sImY3YTkiLCJNMTMzLjEgMzJjMTcuMyAwIDM0LjIgMy40IDQ5LjkgOS43bDU0LjggODUuMi03NS40IDc1LjRjLTEuNSAxLjUtMi40IDMuNi0yLjMgNS44czEgNC4yIDIuNiA1LjdsMTEyIDEwNGMyLjkgMi43IDcuNCAyLjkgMTAuNSAuM3MzLjgtNyAxLjctMTAuNGwtNjAuNC05OC4xIDkwLjctNzUuNmMyLjYtMi4xIDMuNS01LjcgMi40LTguOEwyOTYuNCA2MC42QzMxOS42IDQyLjMgMzQ4LjYgMzIgMzc4LjkgMzIgNDUyLjQgMzIgNTEyIDkxLjYgNTEyIDE2NS4xbDAgMi42YzAgMTEyLjItMTM5LjkgMjQyLjUtMjEyLjkgMjk4LjItMTIuNCA5LjQtMjcuNiAxNC4xLTQzLjEgMTQuMXMtMzAuOC00LjYtNDMuMS0xNC4xQzEzOS45IDQxMC4yIDAgMjc5LjkgMCAxNjcuN2wwLTIuNkMwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMnoiXX0sQUF0PXA1ZSxFQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY293IixpY29uOls2NDAsNTEyLFsxMjgwMDRdLCJmNmM4IiwiTTk2IDIyNGwwIDE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtODguMmM5LjkgNi42IDIwLjYgMTIgMzIgMTYuMWwwIDI0LjJjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTE2LjljNS4zIC42IDEwLjYgLjkgMTYgLjlzMTAuNy0uMyAxNi0uOWwwIDE2LjljMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTI0LjJjMTEuNC00IDIyLjEtOS40IDMyLTE2LjFsMCA4OC4yYzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xNjAgMzIgMzIgMCA0OS41YzAgOS41IDIuOCAxOC43IDguMSAyNi42TDUzMCA0MjdjOC44IDEzLjEgMjMuNSAyMSAzOS4zIDIxIDIyLjUgMCA0MS45LTE1LjkgNDYuMy0zOGwyMC4zLTEwMS42YzIuNi0xMy0uMy0yNi41LTgtMzcuM2wtMy45LTUuNSAwLTgxLjZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxNC40LTUyLjktNzQuMUM0OTYgODYuNSA0NTIuNCA2NCA0MDUuOSA2NEwxNDQgNjRDNzcuNyA2NCAyNCAxMTcuNyAyNCAxODRsMCA1NEM5LjQgMjQ5LjggMCAyNjcuOCAwIDI4OGwwIDE3LjZjMCA4IDYuNCAxNC40IDE0LjQgMTQuNCAzMS44IDAgNTcuNi0yNS44IDU3LjYtNTcuNkw3MiAxODRjMC0yNC4zIDEyLjEtNDUuOCAzMC41LTU4LjktNC4yIDEwLjgtNi41IDIyLjYtNi41IDM0LjlsMCA2NHpNNTYwIDMzNmExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwek0xNjYuNiAxNjYuNmMtNC4yLTQuMi02LjYtMTAtNi42LTE2IDAtMTIuNSAxMC4xLTIyLjYgMjIuNi0yMi42bDE3OC43IDBjMTIuNSAwIDIyLjYgMTAuMSAyMi42IDIyLjYgMCA2LTIuNCAxMS44LTYuNiAxNmwtMjMuNCAyMy40QzMzMi4yIDIxMS44IDMwMi43IDIyNCAyNzIgMjI0cy02MC4yLTEyLjItODEuOS0zMy45bC0yMy40LTIzLjR6Il19LG52PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJzcyIsaWNvbjpbNDQ4LDUxMixbImZlZWQiXSwiZjA5ZSIsIk0wIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyIDIyOS44IDAgNDE2IDE4Ni4yIDQxNiA0MTYgMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJDMzg0IDI1My42IDIyNi40IDk2IDMyIDk2IDE0LjMgOTYgMCA4MS43IDAgNjR6TTAgNDE2YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNMzIgMTYwYzE1OS4xIDAgMjg4IDEyOC45IDI4OCAyODggMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJjMC0xMjMuNy0xMDAuMy0yMjQtMjI0LTIyNC0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyeiJdfSxQQXQ9bnYsbHY9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFnbmlmeWluZy1nbGFzcyIsaWNvbjpbNTEyLDUxMixbMTI4MjY5LCJzZWFyY2giXSwiZjAwMiIsIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2QzI5Ni4zIDQwMS4xIDI1My45IDQxNiAyMDggNDE2IDkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwIDQxNiA5My4xIDQxNiAyMDh6TTIwOCAzNTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4eiJdfSxJQXQ9bHYsTkF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3VkLW1vb24iLGljb246WzY0MCw1MTIsW10sImY2YzMiLCJNNDgwIDBjMTQuNiAwIDI4LjggMS42IDQyLjUgNC43IDcuNCAxLjcgMTMgNy44IDEzLjkgMTUuNHMtMyAxNC45LTkuOCAxOC4zYy00NS40IDIyLjYtNzYuNiA2OS41LTc2LjYgMTIzLjYgMCA3Ni4yIDYxLjggMTM4IDEzOCAxMzggMy43IDAgNy40LS4xIDExLjEtLjQgNy42LS42IDE0LjcgMy42IDE3LjggMTAuNnMxLjUgMTUuMS0zLjkgMjAuNGMtMjYgMjUtNTkuMSA0Mi43LTk1LjkgNDkuOS0xMS4xLTI1LjMtMzAuMi00Ni4zLTU0LjEtNTkuOC03LjYtNjMuNC02MS42LTExMi42LTEyNy4xLTExMi42LTExLjIgMC0yMi4xIDEuNS0zMi41IDQuMi00LjgtNC4yLTkuOS04LjItMTUuMi0xMS44LS4xLTIuOC0uMi01LjYtLjItOC40IDAtMTA2IDg2LTE5MiAxOTItMTkyem0tLjEgNDMxLjljMCA0NC4yLTM1LjggODAtODAgODBsLTI3MS45IDBjLTUzIDAtOTYtNDMtOTYtOTYgMC00Ny42IDM0LjYtODcgODAtOTQuNi0uNC01Mi44IDQyLjktOTcuMyA5Ni05Ny4zIDM0LjkgMCA2NS40IDE4LjYgODIuMiA0Ni40IDEzLTkuMSAyOC44LTE0LjQgNDUuOC0xNC40IDQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgNS45LS42IDExLjctMS45IDE3LjIgMzcuNCA2LjcgNjUuOCAzOS40IDY1LjggNzguN3oiXX0sT2VlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJveGVzLXN0YWNrZWQiLGljb246WzUxMiw1MTIsWzYyNjI1LCJib3hlcyIsImJveGVzLWFsdCJdLCJmNDY4IiwiTTIyNCAwbDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNjQgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDEyOGMwIDUuNS0uNyAxMC45LTIgMTZsLTI1MiAwYy0xLjMtNS4xLTItMTAuNS0yLTE2bDAtMTI4YzAtMzUuMyAyOC43LTY0IDY0LTY0bDMyIDB6bTk2IDUxMmMtMTEuMiAwLTIxLjgtMi45LTMxLTggOS41LTE2LjUgMTUtMzUuNiAxNS01NmwwLTEyOGMwLTIwLjQtNS41LTM5LjUtMTUtNTYgOS4yLTUuMSAxOS43LTggMzEtOGwzMiAwIDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNjQgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDEyOGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMTI4IDB6TTAgMzIwYzAtMzUuMyAyOC43LTY0IDY0LTY0bDMyIDAgMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC02NCAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTI4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAzMjB6Il19LFJBdD1PZWUsT0F0PU9lZSxGQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29kZS1icmFuY2giLGljb246WzQ0OCw1MTIsW10sImYxMjYiLCJNODAgMTA0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptODAtMjRjMCAzMi44LTE5LjcgNjEtNDggNzMuM2wwIDcwLjcgMTc2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMi43Yy0yOC4zLTEyLjMtNDgtNDAuNS00OC03My4zIDAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCAzMi44LTE5LjcgNjEtNDggNzMuM2wwIDIyLjdjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJsLTE3NiAwIDAgNzAuN2MyOC4zIDEyLjMgNDggNDAuNSA0OCA3My4zIDAgNDQuMi0zNS44IDgwLTgwIDgwUzAgNDc2LjIgMCA0MzJjMC0zMi44IDE5LjctNjEgNDgtNzMuM2wwLTIwNS4zQzE5LjcgMTQxIDAgMTEyLjggMCA4MCAwIDM1LjggMzUuOCAwIDgwIDBzODAgMzUuOCA4MCA4MHptMjMyIDBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNODAgNDU2YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHoiXX0sZjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhbiIsaWNvbjpbNTEyLDUxMixbMTI4NjgzLCJjYW5jZWwiXSwiZjA1ZSIsIk0zNjcuMiA0MTIuNUw5OS41IDE0NC44Yy0yMi40IDMxLjQtMzUuNSA2OS44LTM1LjUgMTExLjIgMCAxMDYgODYgMTkyIDE5MiAxOTIgNDEuNSAwIDc5LjktMTMuMSAxMTEuMi0zNS41em00NS4zLTQ1LjNjMjIuNC0zMS40IDM1LjUtNjkuOCAzNS41LTExMS4yIDAtMTA2LTg2LTE5Mi0xOTItMTkyLTQxLjUgMC03OS45IDEzLjEtMTExLjIgMzUuNUw0MTIuNSAzNjcuMnpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHoiXX0sQkF0PWY1ZSxIQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToianVnLWRldGVyZ2VudCIsaWNvbjpbMzg0LDUxMixbXSwiZTUxOSIsIk05NiAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMjQgOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDg4IDk2Qzc0LjcgOTYgNjQgODUuMyA2NCA3MlM3NC43IDQ4IDg4IDQ4bDggMCAwLTI0ek0wIDI1NmMwLTcwLjcgNTcuMy0xMjggMTI4LTEyOGwxMjggMGM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOGwwIDE5MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMjU2em0yNTYgMGwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnoiXX0saDVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlcGx5IixpY29uOls1MTIsNTEyLFs2MTcxNCwibWFpbC1yZXBseSJdLCJmM2U1IiwiTTIwNC4yIDE4LjRjMTIgNSAxOS44IDE2LjYgMTkuOCAyOS42bDAgODAgMTEyIDBjOTcuMiAwIDE3NiA3OC44IDE3NiAxNzYgMCAxMTMuMy04MS41IDE2My45LTEwMC4yIDE3NC4xLTIuNSAxLjQtNS4zIDEuOS04LjEgMS45LTEwLjkgMC0xOS43LTguOS0xOS43LTE5LjcgMC03LjUgNC4zLTE0LjQgOS44LTE5LjUgOS40LTguOCAyMi4yLTI2LjQgMjIuMi01Ni43IDAtNTMtNDMtOTYtOTYtOTZsLTk2IDAgMCA4MGMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOWwtMTYwLTE2MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsMTYwLTE2MGM5LjItOS4yIDIyLjktMTEuOSAzNC45LTYuOXoiXX0scUF0PWg1ZSxWQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3VuLXBsYW50LXdpbHQiLGljb246WzY0MCw1MTIsW10sImU1N2EiLCJNMTYwIDBjLTUuNSAwLTEwLjYgMi44LTEzLjUgNy40bC0xLjEgMi4xLTI0LjggNTUuNC01Ni43LTIxLjdjLTUuOS0yLjItMTIuNS0uOC0xNyAzLjdTNDEgNTggNDMuMiA2My45bDIxLjcgNTYuNy01NS40IDI0LjhDMy43IDE0OCAwIDE1My43IDAgMTYwczMuNyAxMiA5LjUgMTQuNmw1NS40IDI0LjgtMjEuNyA1Ni43Yy0yLjIgNS45LS44IDEyLjUgMy43IDE3czExLjEgNS45IDE3IDMuN2w1Ni43LTIxLjcgMjQuOCA1NS40YzIuNiA1LjggOC4zIDkuNSAxNC42IDkuNXMxMi0zLjcgMTQuNi05LjVsMjQuOC01NS40IDU2LjggMjEuN2M1LjkgMi4yIDEyLjUgLjggMTctMy43czUuOS0xMS4xIDMuNy0xN2wtMjEuNy01Ni43IDU1LjQtMjQuOGM1LjgtMi42IDkuNS04LjMgOS41LTE0LjZzLTMuNy0xMi05LjUtMTQuNmwtNTUuNC0yNC44IDIxLjctNTYuNyAuNy0yLjJjMS4yLTUuMy0uNC0xMC45LTQuMy0xNC44cy05LjUtNS41LTE0LjgtNC4zbC0yLjIgLjctNTYuOCAyMS43LTI0LjgtNTUuNEMxNzIgMy43IDE2Ni4zIDAgMTYwIDB6bTAgOTZhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6bTMyIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTM3NiAxNmwwIDUzLjRjLTE0LjggNy43LTI0IDIzLjEtMjQgNDQuNiAwIDE2LjggMTYgNDQgMzcuNCA2Ny4yIDUuOCA2LjIgMTUuNSA2LjIgMjEuMiAwIDIxLjQtMjMuMyAzNy40LTUwLjYgMzcuNC02Ny4yIDAtMjEuNS05LjItMzctMjQtNDQuNmwwLTUzLjRjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBsMCAyMi43Yy05LjgtNC4zLTIwLjYtNi43LTMyLTYuNy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDIxLjRjLTE0LjggNy42LTI0IDIzLjEtMjQgNDQuNiAwIDE2LjggMTYgNDQgMzcuNCA2Ny4yIDUuOCA2LjIgMTUuNSA2LjIgMjEuMiAwIDIxLjQtMjMuMyAzNy40LTUwLjYgMzcuNC02Ny4yIDAtMjEuNS05LjItMzctMjQtNDQuNmwwLTIxLjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE3Ni00MjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1NzYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTA0IDAgMC0yNzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnoiXX0sakF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhY3Rlcml1bSIsaWNvbjpbNTc2LDUxMixbXSwiZTA1YSIsIk00MDggMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRTMzYwIDIuNyAzNjAgMTZsMCAyMy40Yy0xMy45IDUuMy0yNi45IDEzLjUtMzguMiAyNC41TDMwNSA0N2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwxNi44IDE2LjgtMzAuMSAzMC4xLTE2LjgtMTYuOGMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwxNi44IDE2LjhjLTEwIDEwLTIwIDIwLTMwLjEgMzAuMUwxNzcgMTc1Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDE2LjggMTYuOC0zMC4xIDMwLjEtMTYuOC0xNi44Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDE2LjggMTYuOGMtMTEgMTEuMy0xOS4yIDI0LjMtMjQuNSAzOC4yTDQ4IDMyOGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNi4zIDBjMS4zIDE4LjMgNy4xIDM2LjQgMTcuNCA1Mi40TDcxIDQzOWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDEwLjYtMTAuNmMxNiAxMC4zIDM0LjEgMTYuMSA1Mi40IDE3LjRsMCAxNi4zYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yMy40YzEzLjktNS4zIDI2LjktMTMuNSAzOC4yLTI0LjVMMjcxIDQ2NWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTE2LjgtMTYuOCAzMC4xLTMwLjEgMTYuOCAxNi44YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMTYuOC0xNi44YzEwLTEwIDIwLTIwIDMwLjEtMzAuMUwzOTkgMzM3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMTYuOC0xNi44IDMwLjEtMzAuMSAxNi44IDE2LjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0xNi44LTE2LjhjMTEtMTEuMyAxOS4yLTI0LjMgMjQuNS0zOC4ybDIzLjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTYuMyAwYy0xLjMtMTguMy03LjEtMzYuNC0xNy40LTUyLjRMNTA1IDczYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMNDYwLjQgNDkuN2MtMTYtMTAuMy0zNC4xLTE2LjEtNTIuNC0xNy40TDQwOCAxNnpNMTYwIDM1MmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0yNzIgMjQwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sVUF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlY29yZC12aW55bCIsaWNvbjpbNTEyLDUxMixbXSwiZjhkOSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0yNTYtOTZhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6bTAgMjQwYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMTJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxtNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmxvcHB5LWRpc2siLGljb246WzQ0OCw1MTIsWzEyODE5MCwxMjg0MjYsInNhdmUiXSwiZjBjNyIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjQyLjdjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMzUyIDUwLjdDMzQwIDM4LjcgMzIzLjcgMzIgMzA2LjcgMzJMNjQgMzJ6bTMyIDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0ek0yMjQgMjg4YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4eiJdfSxXQXQ9bTVlLEdBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b2lsZXRzLXBvcnRhYmxlIixpY29uOls1MTIsNTEyLFtdLCJlNTg0IiwiTTY0IDBsOTYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE2LTIyNCAwIDAtMTZDMCAyOC43IDI4LjcgMCA2NCAwek0wIDEyOGwyMjQgMCAwIDM2MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTgtMTI4IDAgMCA4YzAgMTMuMy0xMC43IDI0LTI0IDI0UzAgNTAxLjMgMCA0ODhMMCAxMjh6TTEyOCAyNDhsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwyNCAwIDAtOTYtMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTM1MiAwbDk2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxNi0yMjQgMCAwLTE2YzAtMzUuMyAyOC43LTY0IDY0LTY0ek0yODggMTI4bDIyNCAwIDAgMzYwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtOC0xMjggMCAwIDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0zNjB6TTQxNiAyNDhsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwyNCAwIDAtOTYtMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6Il19LFlBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJvIixpY29uOls0NDgsNTEyLFsxMTFdLCI0ZiIsIk0yMjQgOTZhMTYwIDE2MCAwIDEgMCAwIDMyMCAxNjAgMTYwIDAgMSAwIDAtMzIwek00NDggMjU2YTIyNCAyMjQgMCAxIDEgLTQ0OCAwIDIyNCAyMjQgMCAxIDEgNDQ4IDB6Il19LEtBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYWxldHRlIixpY29uOls1MTIsNTEyLFsxMjc5MTJdLCJmNTNmIiwiTTUxMiAyNTZjMCAuOSAwIDEuOCAwIDIuNy0uNCAzNi41LTMzLjYgNjEuMy03MC4xIDYxLjNMMzQ0IDMyMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDggMCAzLjQgLjQgNi43IDEgOS45IDIuMSAxMC4yIDYuNSAyMCAxMC44IDI5LjkgNi4xIDEzLjggMTIuMSAyNy41IDEyLjEgNDIgMCAzMS44LTIxLjYgNjAuNy01My40IDYyLTMuNSAuMS03IC4yLTEwLjYgLjItMTQxLjQgMC0yNTYtMTE0LjYtMjU2LTI1NlMxMTQuNiAwIDI1NiAwIDUxMiAxMTQuNiA1MTIgMjU2ek0xMjggMjg4YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTAtOTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek0yODggOTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptOTYgOTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxaQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidW5sb2NrIixpY29uOlszODQsNTEyLFsxMjgyNzVdLCJmMDljIiwiTTEyOCA5NmMwLTM1LjMgMjguNy02NCA2NC02NCAzMS43IDAgNTggMjMgNjMuMSA1My4zIDIuOSAxNy40IDE5LjQgMjkuMiAzNi45IDI2LjNzMjkuMi0xOS40IDI2LjMtMzYuOUMzMDguMSAxNC4xIDI1NS41LTMyIDE5Mi0zMiAxMjEuMy0zMiA2NCAyNS4zIDY0IDk2bDAgNjRjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjI0YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0xOTIgMCAwLTY0eiJdfSxnNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWFyLWxpc3RlbiIsaWNvbjpbNTEyLDUxMixbImFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtcyJdLCJmMmEyIiwiTTM3OS42IC4zYy04LjkgMS4yLTE3LjIgNi4yLTIyLjQgMTQuMS02LjggMTAuNC03IDI0LjEtLjQgMzQuNiA1LjYgOC45IDE1LjUgMTIuNyAyMy44IDE4LjUgNy41IDUuMiAxNy42IDEzLjIgMjcuNyAyNC4yIDIwIDIxLjcgMzkuNSA1NC4zIDM5LjUgMTAwLjMgMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMwLTY2LTI4LjUtMTEzLjQtNTYuNS0xNDMuNy0xMy45LTE1LjEtMjcuOC0yNi4xLTM4LjMtMzMuMy0xMS03LjYtMjMuNS0xNi42LTM3LjYtMTQuN3pNMjQwIDEyOGMtNTcuNiAwLTEwNS4xIDQzLjYtMTExLjMgOTkuNS0xLjkgMTcuNi0xNy44IDMwLjItMzUuMyAyOC4zcy0zMC4yLTE3LjgtMjguMy0zNS4zYzkuNy04OCA4NC4zLTE1Ni41IDE3NC45LTE1Ni41IDk3LjIgMCAxNzYgNzguOCAxNzYgMTc2IDAgNDYtMTcuNyA4Ny45LTQ2LjYgMTE5LjMtMTIgMTMtMTcuNCAyNC44LTE3LjQgMzQuN2wwIDYuMWMwIDYxLjktNTAuMSAxMTItMTEyIDExMi0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNi4xYzAtMzIuOSAxNy40LTU5LjYgMzQuNC03OCAxOC40LTIwIDI5LjYtNDYuNiAyOS42LTc1LjkgMC02MS45LTUwLjEtMTEyLTExMi0xMTJ6TTAgNDgwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE2MC05NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTg2LjYgMzYxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0ek0yNDAgMjA4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSxYQXQ9ZzVlLFFBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2RlLXB1bGwtcmVxdWVzdCIsaWNvbjpbNTEyLDUxMixbXSwiZTEzYyIsIk0zMjggMjRjMC05LjctNS44LTE4LjUtMTQuOC0yMi4yUzI5My45IC4yIDI4NyA3TDIzMSA2M2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsNTYgNTZjNi45IDYuOSAxNy4yIDguOSAyNi4yIDUuMlMzMjggMTQ1LjcgMzI4IDEzNmwwLTI0IDI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyMTQuN2MtMjguMyAxMi4zLTQ4IDQwLjUtNDggNzMuMyAwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMzIuOC0xOS43LTYxLTQ4LTczLjNMNDQ4IDE0NGMwLTUzLTQzLTk2LTk2LTk2bC0yNCAwIDAtMjR6TTcyIDgwYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTU2IDczLjNjMjguMy0xMi4zIDQ4LTQwLjUgNDgtNzMuMyAwLTQ0LjItMzUuOC04MC04MC04MFMxNiAzNS44IDE2IDgwYzAgMzIuOCAxOS43IDYxIDQ4IDczLjNsMCAyMDUuM2MtMjguMyAxMi4zLTQ4IDQwLjUtNDggNzMuMyAwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMzIuOC0xOS43LTYxLTQ4LTczLjNsMC0yMDUuM3pNNzIgNDMyYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTM0NC0yNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LEpBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJrZXkiLGljb246WzUxMiw1MTIsWzEyODI3M10sImYwODQiLCJNMzM2IDM1MmM5Ny4yIDAgMTc2LTc4LjggMTc2LTE3NlM0MzMuMiAwIDMzNiAwIDE2MCA3OC44IDE2MCAxNzZjMCAxOC43IDIuOSAzNi44IDguMyA1My43TDcgMzkxYy00LjUgNC41LTcgMTAuNi03IDE3bDAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQwIDQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00MCA0MCAwYzYuNCAwIDEyLjUtMi41IDE3LTdsMzMuMy0zMy4zYzE2LjkgNS40IDM1IDguMyA1My43IDguM3pNMzc2IDk2YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHoiXX0sZUV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNrdWxsIixpY29uOls1MTIsNTEyLFsxMjgxMjhdLCJmNTRjIiwiTTQxNiA0MjcuNGM1OC41LTQ0IDk2LTExMS42IDk2LTE4Ny40IDAtMTMyLjUtMTE0LjYtMjQwLTI1Ni0yNDBTMCAxMDcuNSAwIDI0MGMwIDc1LjggMzcuNSAxNDMuNCA5NiAxODcuNEw5NiA0NjRjMCAyNi41IDIxLjUgNDggNDggNDhsMzIgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MCA2NCAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwIDMyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zNi42ek05NiAyNTZhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwem0yNTYtNjRhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6Il19LGI1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJzLXN0cm9rZS11cCIsaWNvbjpbMzg0LDUxMixbOTg5NiwibWFycy1zdHJva2UtdiJdLCJmMjJhIiwiTTE5MiAyNTZhMTEyIDExMiAwIDEgMCAwIDIyNCAxMTIgMTEyIDAgMSAwIDAtMjI0ek0xNiAzNjhjMC04Ni4zIDYyLjEtMTU4LjEgMTQ0LjEtMTczLjEtLjEtLjktLjEtMS45LS4xLTIuOWwwLTE2LTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTYxLjQtMjggMjIuNGMtMTMuOCAxMS0zMy45IDguOC00NS01cy04LjgtMzMuOSA1LTQ1bDgwLTY0YzExLjctOS4zIDI4LjMtOS4zIDQwIDBsODAgNjRjMTMuOCAxMSAxNiAzMS4yIDUgNDVzLTMxLjIgMTYtNDUgNWwtMjgtMjIuNCAwIDYxLjQgMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDE2YzAgMSAwIDEuOS0uMSAyLjkgODIgMTUgMTQ0LjEgODYuOCAxNDQuMSAxNzMuMSAwIDk3LjItNzguOCAxNzYtMTc2IDE3NlMxNiA0NjUuMiAxNiAzNjh6Il19LHRFdD1iNWUsdjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpcmUtZmxhbWUtc2ltcGxlIixpY29uOlszODQsNTEyLFsiYnVybiJdLCJmNDZhIiwiTTM3Mi41IDI1Ni41bC0uNy0xLjlDMzM3LjggMTYwLjggMjgyIDc2LjUgMjA5LjEgOC41bC0zLjMtM0MyMDIuMSAyIDE5Ny4xIDAgMTkyIDBzLTEwLjEgMi0xMy44IDUuNWwtMy4zIDNDMTAyIDc2LjUgNDYuMiAxNjAuOCAxMi4yIDI1NC42bC0uNyAxLjlDMy45IDI3Ny4zIDAgMjk5LjQgMCAzMjEuNiAwIDQyNi43IDg2LjggNTEyIDE5MiA1MTJzMTkyLTg1LjMgMTkyLTE5MC40YzAtMjIuMi0zLjktNDQuMi0xMS41LTY1LjF6bS05MC44IDQ5LjVjNC4xIDkuMyA2LjIgMTkuNCA2LjIgMjkuNSAwIDUzLTQzIDk2LjUtOTYgOTYuNXMtOTYtNDMuNS05Ni05Ni41YzAtMTAuMSAyLjEtMjAuMyA2LjItMjkuNWwxLjktNC4zYzE1LjgtMzUuNCAzNy45LTY3LjcgNjUuMy05NS4xbDguOS04LjljMy42LTMuNiA4LjUtNS42IDEzLjYtNS42czEwIDIgMTMuNiA1LjZsOC45IDguOWMyNy40IDI3LjQgNDkuNiA1OS43IDY1LjMgOTUuMWwxLjkgNC4zeiJdfSxhRXQ9djVlLHJFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmVlIixpY29uOls0NDgsNTEyLFsxMjc3OTRdLCJmMWJiIiwiTTIyNC0zMmM3IDAgMTMuNyAzLjEgMTguMyA4LjVsMTM2IDE2MGM2LjEgNy4xIDcuNCAxNy4xIDMuNSAyNS42UzM2OS40IDE3NiAzNjAgMTc2bC0yNC45IDAgNzUuMiA4OC41YzYuMSA3LjEgNy40IDE3LjEgMy41IDI1LjZTNDAxLjQgMzA0IDM5MiAzMDRsLTM4LjUgMCA4OC44IDEwNC41YzYuMSA3LjEgNy40IDE3LjEgMy41IDI1LjZTNDMzLjQgNDQ4IDQyNCA0NDhsLTE2OCAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NC0xNjggMGMtOS40IDAtMTcuOS01LjQtMjEuOC0xMy45cy0yLjYtMTguNSAzLjUtMjUuNkw5NC41IDMwNCA1NiAzMDRjLTkuNCAwLTE3LjktNS40LTIxLjgtMTMuOXMtMi42LTE4LjUgMy41LTI1LjZMMTEyLjkgMTc2IDg4IDE3NmMtOS40IDAtMTcuOS01LjQtMjEuOC0xMy45cy0yLjYtMTguNSAzLjUtMjUuNmwxMzYtMTYwQzIxMC4zLTI4LjkgMjE3LTMyIDIyNC0zMnoiXX0sc0V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNtb2ciLGljb246WzU3Niw1MTIsW10sImY3NWYiLCJNMTc2IDI4OEM5Ni41IDI4OCAzMiAyMjMuNSAzMiAxNDRTOTYuNSAwIDE3NiAwYzI3LjIgMCA1Mi42IDcuNSA3NC4zIDIwLjYgMjAuMS0xMyA0NC0yMC42IDY5LjctMjAuNiA0Ny40IDAgODguNyAyNS43IDExMC45IDY0bDEuMSAwYzYxLjkgMCAxMTIgNTAuMSAxMTIgMTEyIDAgNjAuMy00Ny42IDEwOS40LTEwNy4yIDExMS45LTIyLjYgMjAtNTIuMyAzMi4xLTg0LjggMzIuMS0zMi41IDAtNjIuMS0xMi4xLTg0LjctMzJMMTc2IDI4OHpNNTEyIDM5MmMwIDEzLjMtMTAuNyAyNC0yNCAyNEwyNCA0MTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjR6TTg4IDQ2NGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0xNzYgMGwyODggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjg4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LGlFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzIixpY29uOlszMjAsNTEyLFsxMTVdLCI1MyIsIk0wIDE1Ny41QzAgODguMiA1Ni4yIDMyIDEyNS41IDMyTDI3MiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwxMjUuNSA5NmMtMzQgMC02MS41IDI3LjUtNjEuNSA2MS41IDAgMzEgMjMuMSA1Ny4yIDUzLjkgNjFMMjEwLjEgMjMwQzI3Mi45IDIzNy45IDMyMCAyOTEuMiAzMjAgMzU0LjUgMzIwIDQyMy44IDI2My44IDQ4MCAxOTQuNSA0ODBMNDggNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE0Ni41IDBjMzQgMCA2MS41LTI3LjUgNjEuNS02MS41IDAtMzEtMjMuMS01Ny4yLTUzLjktNjFMMTA5LjkgMjgyQzQ3LjEgMjc0LjEgMCAyMjAuOCAwIDE1Ny41eiJdfSxvRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiamVkaSIsaWNvbjpbNTc2LDUxMixbXSwiZjY2OSIsIk0yNDYgMzE1LjdsLTIxLjItMzEuOWMtMi4xLTMuMi0xLjctNy40IDEtMTAuMXM2LjktMy4xIDEwLjEtMWwyOS41IDE5LjdjMi4xIDEuNCA0LjktLjEgNS0yLjZMMjc5LjcgOGMuMS00LjUgMy44LTggOC4zLThzOC4xIDMuNSA4LjMgOGw5LjQgMjgxLjljLjEgMi41IDIuOSAzLjkgNSAyLjZsMjkuNS0xOS43YzMuMi0yLjEgNy40LTEuNyAxMC4xIDFzMy4xIDYuOSAxIDEwLjFMMzMwIDMxNS43Yy0xLjMgMS45LS4yIDQuNSAyIDQuOWwzNy42IDcuNWMzLjcgLjcgNi40IDQgNi40IDcuOHMtMi43IDcuMS02LjQgNy44TDMzMiAzNTEuNGMtMi4yIC40LTMuMyAzLTIgNC45bDIxLjIgMzEuOWMyLjEgMy4yIDEuNyA3LjQtMSAxMC4xcy02LjkgMy4xLTEwLjEgMWwtMjYuMy0xNy42Yy0yLjItMS40LTUuMSAuMi01IDIuOGwyLjEgNjEuNWM1OS44LTEwLjggMTA1LjEtNjMuMSAxMDUuMS0xMjYgMC0zNy0xNS43LTcwLjQtNDAuOC05My43LTctNi41LTYuNS0xOC42IDEtMjQuNCAzNC0yNi4zIDU1LjgtNjcuNSA1NS44LTExMy45IDAtMTYuOC0yLjktMzMtOC4yLTQ4LTQuNi0xMyAxMC4yLTMwIDIxLjQtMjIgNTMuNSAzOCA5Mi43IDk0LjggMTA3LjggMTYwLjcgLjUgMi4xLS4yIDQuMy0xLjcgNS45bC0yOC40IDI4LjRjLTQgNC0xLjIgMTAuOSA0LjUgMTAuOWwyNiAwYzMuNCAwIDYuMiAyLjYgNi4zIDYgLjEgMy4zIC4yIDYuNiAuMiAxMCAwIDE3LjUtMS43IDM0LjctNC44IDUxLjMtLjIgMS4yLS45IDIuNC0xLjcgMy4zbC00Ni41IDQ2LjVjLTQgNC0xLjIgMTAuOSA0LjUgMTAuOWwxNC42IDBjNC42IDAgNy43IDQuOCA1LjcgOS00NC41IDg5LjUtMTM2LjkgMTUxLTI0My43IDE1MVM4OC44IDQ1MC41IDQ0LjMgMzYxYy0yLjEtNC4yIDEtOSA1LjctOWwxNC42IDBjNS43IDAgOC42LTYuOSA0LjUtMTAuOUwyMi42IDI5NC42Yy0uOS0uOS0xLjUtMi0xLjctMy4zLTMuMi0xNi42LTQuOC0zMy44LTQuOC01MS4zIDAtMy4zIC4xLTYuNyAuMi0xMCAuMS0zLjQgMi45LTYgNi4zLTZsMjYgMGM1LjcgMCA4LjYtNi45IDQuNS0xMC45TDI0LjYgMTg0LjZjLTEuNS0xLjUtMi4yLTMuOC0xLjctNS45IDE1LjItNjYgNTQuMy0xMjIuOCAxMDcuOC0xNjAuNyAxMS4zLTggMjYgOC45IDIxLjQgMjItNS4zIDE1LTguMiAzMS4yLTguMiA0OCAwIDQ2LjMgMjEuOSA4Ny41IDU1LjggMTEzLjkgNy41IDUuOCA4IDE3LjkgMSAyNC40LTI1LjEgMjMuNC00MC44IDU2LjctNDAuOCA5My43IDAgNjIuOSA0NS40IDExNS4yIDEwNS4xIDEyNmwyLjEtNjEuNWMuMS0yLjYtMi44LTQuMi01LTIuOGwtMjYuMyAxNy42Yy0zLjIgMi4xLTcuNCAxLjctMTAuMS0xcy0zLjEtNi45LTEtMTAuMUwyNDYgMzU2LjNjMS4zLTEuOSAuMi00LjUtMi00LjlsLTM3LjYtNy41Yy0zLjctLjctNi40LTQtNi40LTcuOHMyLjctNy4xIDYuNC03LjhsMzcuNi03LjVjMi4yLS40IDMuMy0zIDItNC45eiJdfSx4NWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWhpa2luZyIsaWNvbjpbNDQ4LDUxMixbImhpa2luZyJdLCJmNmVjIiwiTTE5Mi0zMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnpNMTI4IDE3My42YzAtMzQgMjcuNi02MS42IDYxLjYtNjEuNiAyMC4zIDAgMzkuNyA4LjEgNTQgMjIuNGw0OC4yIDQ4LjJjNiA2IDE0LjEgOS40IDIyLjYgOS40bDM3LjUgMGM1LjggMCAxMS4zIDEuNiAxNiA0LjNsMC03Ni4zYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MDBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yNjguM2MtNC43IDIuNy0xMC4yIDQuMy0xNiA0LjNsLTM3LjUgMGMtMjUuNSAwLTQ5LjktMTAuMS02Ny45LTI4LjFsLTYuNi02LjYgMCAxMDkuMiAzNC41IDI5LjZjMTcuNyAxNS4yIDI5LjMgMzYuMiAzMi42IDU5LjNsMTIuNiA4OC4xYzIuNSAxNy41LTkuNyAzMy43LTI3LjIgMzYuMnMtMzMuNy05LjctMzYuMi0yNy4ybC0xMi42LTg4LjFjLTEuMS03LjctNS0xNC43LTEwLjktMTkuOGwtNzEuNC02MS4yYy0yMS4zLTE4LjItMzMuNS00NC45LTMzLjUtNzIuOWwwLTEwMXptLTQuOCAyMDMuN2MyLjMgMi4zIDQuNyA0LjQgNy4xIDYuNWw0NC45IDM4LjVjLTMuNiA4LjQtOC41IDE2LjMtMTQuNCAyMy40TDg4LjYgNTMyLjVjLTExLjMgMTMuNi0zMS41IDE1LjQtNDUuMSA0LjFzLTE1LjQtMzEuNS00LjEtNDUuMWw3Mi4zLTg2LjdjMi42LTMuMSA0LjUtNi42IDUuOC0xMC40bDUuNy0xNy4xek0wIDE2MGMwLTM1LjMgMjguNy02NCA2NC02NCAxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NnoiXX0sbkV0PXg1ZSxsRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLXVwLXRvLWxpbmUiLGljb246WzQ0OCw1MTIsW10sImU0YzIiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMlM0MzMuNyAwIDQxNiAwTDMyIDB6bTg2LjYgMTM3LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw2NCAyMzcuMyA2NCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI0Mi43IDkuNCA5LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtNjQtNjR6bTI1NiAwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsOS40LTkuNCAwIDI0Mi43YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNDIuNyA5LjQgOS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0eiJdfSxjRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFycy1kb3VibGUiLGljb246WzY0MCw1MTIsWzk4OTFdLCJmMjI3IiwiTTI4OCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMkw0NDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTUwLjctOTUgOTVjMTkuNSAyOC40IDMxIDYyLjcgMzEgOTkuOCAwIDk3LjItNzguOCAxNzYtMTc2IDE3NlMwIDQwMS4yIDAgMzA0IDc4LjggMTI4IDE3NiAxMjhjMzcgMCA3MS40IDExLjQgOTkuOCAzMWw5NS05NS01MC43IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0xNzYgNDE2YTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHptMTYwIDY0Yy02LjggMC0xMy40LS40LTIwLTEuMSAyMy42LTE4LjkgNDMuMy00Mi41IDU3LjYtNjkuNCA0My4zLTE1LjUgNzQuNC01Ni45IDc0LjQtMTA1LjUgMC0yNS4yLTguMy00OC41LTIyLjQtNjcuMiA3LjEgMi4xIDE0LjYgMy4yIDIyLjQgMy4yIDE3IDAgMzIuNy01LjMgNDUuNy0xNC4zIDExLjcgMjMuNiAxOC4zIDUwLjIgMTguMyA3OC4zIDAgOTcuMi03OC44IDE3Ni0xNzYgMTc2ek01MjggMTU3LjNMNTI4IDMyYzAtMTEuNC0yLjQtMjIuMi02LjctMzJMNjA4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC01MC43LTQ4IDQ4eiJdfSxkRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGhlcm1vbWV0ZXIiLGljb246WzUxMiw1MTIsW10sImY0OTEiLCJNOTYgMzgyLjFsMC04OC44YzAtMTQuOSA1LjktMjkuMSAxNi40LTM5LjZsMjEuNy0yMS43IDQxIDQxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNDEtNDEgNDYuMS00Ni4xIDQxIDQxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNDEtNDEgNDYuMS00Ni4xIDQxIDQxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNDEtNDEgNy44LTcuOGMxOS40LTE5LjQgNDUuNi0zMC4yIDczLTMwLjIgNTcgMCAxMDMuMiA0Ni4yIDEwMy4yIDEwMy4yIDAgMjcuNC0xMC45IDUzLjYtMzAuMiA3M0wyNTguMyAzOTkuNmMtMTAuNSAxMC41LTI0LjcgMTYuNC0zOS42IDE2LjRsLTg4LjggMC04OSA4OWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBTLTIuMyA0ODAuNCA3IDQ3MWw4OS04OXoiXX0seTVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhaW50YnJ1c2giLGljb246WzU3Niw1MTIsWzEyODM5NiwicGFpbnQtYnJ1c2giXSwiZjFmYyIsIk00ODAuNSAxMC4zTDI1OS4xIDE1OGMtMjkuMSAxOS40LTQ3LjYgNTAuOS01MC42IDg1LjMgNjIuMyAxMi44IDExMS40IDYxLjkgMTI0LjMgMTI0LjMgMzQuNS0zIDY1LjktMjEuNSA4NS4zLTUwLjZMNTY1LjcgOTUuNWM2LjctMTAuMSAxMC4zLTIxLjkgMTAuMy0zNC4xIDAtMzMuOS0yNy41LTYxLjQtNjEuNC02MS40LTEyLjEgMC0yNCAzLjYtMzQuMSAxMC4zek0yODggNDAwYzAtNjEuOS01MC4xLTExMi0xMTItMTEyUzY0IDMzOC4xIDY0IDQwMGMwIDMuOSAuMiA3LjggLjYgMTEuNiAxLjggMTcuNS0xMC4yIDM2LjQtMjcuOCAzNi40TDMyIDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNDQgMGM2MS45IDAgMTEyLTUwLjEgMTEyLTExMnoiXX0sdUV0PXk1ZSxwRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibmV1dGVyIixpY29uOlszODQsNTEyLFs5OTA2XSwiZjIyYyIsIk04MCAxNzZhMTEyIDExMiAwIDEgMSAyMjQgMCAxMTIgMTEyIDAgMSAxIC0yMjQgMHpNMjIzLjkgMzQ5LjFDMzA1LjkgMzM0LjEgMzY4IDI2Mi4zIDM2OCAxNzYgMzY4IDc4LjggMjg5LjIgMCAxOTIgMFMxNiA3OC44IDE2IDE3NmMwIDg2LjMgNjIuMSAxNTguMSAxNDQuMSAxNzMuMS0uMSAxLS4xIDEuOS0uMSAyLjlsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTEgMC0xLjktLjEtMi45eiJdfSx3NWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXBob25lLWZsaXAiLGljb246WzQ0OCw1MTIsWyJwaG9uZS1zcXVhcmUtYWx0Il0sImY4N2IiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptMjMyIDk2LjdsMi44IC44YzMyLjMgOC44IDU5LjkgNDAuMSA1MS44IDc4LjItMTguNSA4Ny41LTg3LjQgMTU2LjMtMTc0LjkgMTc0LjktMzguMSA4LjEtNjkuNC0xOS41LTc4LjItNTEuOGwtLjgtMi44Yy0yLjctOS44IDIuNC0yMC4xIDExLjgtMjRsNDguNy0yMC4zYzguMy0zLjQgMTcuOC0xLjEgMjMuNSA1LjlsMTkuMyAyMy42YzM1LjEtMTcuNCA2My40LTQ2LjYgNzkuNi04Mi40bC0yMi4xLTE4Yy02LjktNS43LTkuMy0xNS4yLTUuOS0yMy41bDIwLjMtNDguN2MzLjktOS40IDE0LjItMTQuNCAyNC0xMS44eiJdfSxmRXQ9dzVlLE01ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4tdG9uZ3VlLXNxdWludCIsaWNvbjpbNTEyLDUxMixbMTI4NTQxLCJncmluLXRvbmd1ZS1zcXVpbnQiXSwiZjU4YSIsIk0wIDI1NmMwIDEwNC40IDYyLjUgMTk0LjIgMTUyLjIgMjM0LjEtNS4zLTEzLTguMi0yNy4yLTguMi00Mi4xbDAtNjEuN2MtMTYuOS0xNi41LTMwLjEtMzYuNy0zOC4zLTU5LjMtNC4zLTExLjggNy43LTIxLjggMTkuNi0xOC4xIDM5LjIgMTIuMiA4My43IDE5LjEgMTMwLjcgMTkuMXM5MS41LTYuOSAxMzAuNy0xOS4xYzExLjktMy43IDIzLjkgNi4zIDE5LjYgMTguMS04LjMgMjIuNi0yMS41IDQyLjgtMzguMyA1OS4zbDAgNjEuN2MwIDE0LjktMi45IDI5LjEtOC4yIDQyLjEgODkuNy0zOS44IDE1Mi4yLTEyOS42IDE1Mi4yLTIzNC4xIDAtMTQxLjQtMTE0LjYtMjU2LTI1Ni0yNTZTMCAxMTQuNiAwIDI1NnptMTI1LjgtOTEuN2MtNi4yLTUuMi03LjYtMTQuMy0zLjEtMjEuMXMxMy4zLTkuMiAyMC42LTUuNWw3OS42IDQwYzUuNCAyLjcgOC44IDguMiA4LjggMTQuM3MtMy40IDExLjYtOC44IDE0LjNsLTc5LjYgNDBjLTcuMyAzLjYtMTYuMSAxLjMtMjAuNi01LjVzLTMuMS0xNS45IDMuMS0yMS4xTDE1OSAxOTIgMTI1LjggMTY0LjN6bTI2My42LTIxLjFjNC41IDYuOCAzLjEgMTUuOS0zLjEgMjEuMUwzNTMgMTkyIDM4Ni4yIDIxOS43YzYuMiA1LjIgNy42IDE0LjMgMy4xIDIxLjFzLTEzLjMgOS4yLTIwLjYgNS41bC03OS42LTQwYy01LjQtMi43LTguOC04LjItOC44LTE0LjNzMy40LTExLjYgOC44LTE0LjNsNzkuNi00MGM3LjMtMy42IDE2LjEtMS4zIDIwLjYgNS41ek0zMjAgNDQ4bDAtNDUuNGMwLTE0LjctMTEuOS0yNi42LTI2LjYtMjYuNmwtMiAwYy0xMS4zIDAtMjEuMSA3LjktMjMuNiAxOC45LTIuOCAxMi42LTIwLjggMTIuNi0yMy42IDAtMi41LTExLjEtMTIuMy0xOC45LTIzLjYtMTguOWwtMiAwYy0xNC43IDAtMjYuNiAxMS45LTI2LjYgMjYuNmwwIDQ1LjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHoiXX0saEV0PU01ZSxtRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tbWVudC1kb2xsYXIiLGljb246WzUxMiw1MTIsW10sImY2NTEiLCJNMjU2IDQ4MGMxNDEuNCAwIDI1Ni0xMDcuNSAyNTYtMjQwUzM5Ny40IDAgMjU2IDAgMCAxMDcuNSAwIDI0MGMwIDU0LjMgMTkuMiAxMDQuMyA1MS42IDE0NC41TDIuOCA0NzYuOGMtNC44IDktMy4zIDIwIDMuNiAyNy41czE3LjggOS44IDI3LjEgNS44bDExOC40LTUwLjdDMTgzLjcgNDcyLjYgMjE4LjkgNDgwIDI1NiA0ODB6bTQtMzUyYzExIDAgMjAgOSAyMCAyMGwwIDQgOCAwYzExIDAgMjAgOSAyMCAyMHMtOSAyMC0yMCAyMGwtNDcuNSAwYy02LjkgMC0xMi41IDUuNi0xMi41IDEyLjUgMCA2LjEgNC40IDExLjMgMTAuNCAxMi4zbDQxLjcgN2MyNS4zIDQuMiA0My45IDI2LjEgNDMuOSA1MS44IDAgMjYuMS0xOSA0Ny43LTQ0IDUxLjhsMCA0LjdjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtNC0yNCAwYy0xMSAwLTIwLTktMjAtMjBzOS0yMCAyMC0yMGw1NS41IDBjNi45IDAgMTIuNS01LjYgMTIuNS0xMi41IDAtNi4xLTQuNC0xMS4zLTEwLjQtMTIuM2wtNDEuNy03Yy0yNS4zLTQuMi00My45LTI2LjEtNDMuOS01MS44IDAtMjguOCAyMy4yLTUyLjIgNTItNTIuNWwwLTRjMC0xMSA5LTIwIDIwLTIweiJdfSxnRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGlwcG8iLGljb246WzY0MCw1MTIsWzEyOTQzNV0sImY2ZWQiLCJNNDA3IDQ3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDE3LjIgMTcuMmMxLjktLjEgMy45LS4yIDUuOC0uMmwzMiAwYzExLjIgMCAyMS45IDIuMyAzMS42IDYuNUw1NDMgNTVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45TDU2NCAxMDEuOWM3LjYgMTIuMiAxMiAyNi43IDEyIDQyLjEgMCAxMC4yIDcuNCAxOC44IDE2LjcgMjMgMjcuOSAxMi41IDQ3LjMgNDAuNSA0Ny4zIDczIDAgMjYuMi0xMi42IDQ5LjQtMzIgNjRsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2LTY0IDAgMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE3LjZjLTExLjgtMi40LTIyLjctNy40LTMyLTE0LjQtMS41LTEuMS0yLjktMi4zLTQuMy0zLjUtMTctMTQuNy0yNy43LTM2LjQtMjcuNy02MC41IDAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2YzAgNDQuNyAyNi4yIDgzLjIgNjQgMTAxLjJsMCAxMC44YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC03NmMtMTkuOCA3LjctNDEuNCAxMi02NCAxMnMtNDQuMi00LjMtNjQtMTJsMCA3NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMTguOS0xOC4xIDQwLjdjLTUuNCAxMi4xLTE5LjYgMTcuNi0zMS43IDEyLjJTLTMuMyAzNjIuNCAyLjEgMzUwLjNMMjQgMzAwLjljNS4zLTExLjkgOC0yNC43IDgtMzcuNyAwLTEwNy41IDg1LjItMTk1LjIgMTkxLjgtMTk5LjFsLjItLjEgNjQgMGM0MS43IDAgODMuNCAxMi4xIDExNy4yIDI1LjcgMS43LTEuOCAzLjUtMy42IDUuMy01LjJMNDA3IDgxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXptNzMgMTg1YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6bTg4IDI0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHpNNDgwIDE0NGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem00OCAxNmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6Il19LGJFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3dsLWZvb2QiLGljb246WzUxMiw1MTIsW10sImU0YzYiLCJNMCAxNzZjMC0zNS4zIDI4LjctNjQgNjQtNjQgLjUgMCAxLjEgMCAxLjYgMCA3LjQtMzYuNSAzOS43LTY0IDc4LjQtNjQgMTUgMCAyOSA0LjEgNDAuOSAxMS4yIDEzLjMtMjUuNyA0MC4xLTQzLjIgNzEuMS00My4yczU3LjggMTcuNiA3MS4xIDQzLjJjMTItNy4xIDI2LTExLjIgNDAuOS0xMS4yIDM4LjcgMCA3MSAyNy41IDc4LjQgNjQgLjUgMCAxLjEgMCAxLjYgMCAzNS4zIDAgNjQgMjguNyA2NCA2NCAwIDExLjctMy4xIDIyLjYtOC42IDMyTDguNiAyMDhDMy4xIDE5OC42IDAgMTg3LjcgMCAxNzZ6TTAgMjgzLjRDMCAyNjguMyAxMi4zIDI1NiAyNy40IDI1Nmw0NTcuMSAwYzE1LjEgMCAyNy40IDEyLjMgMjcuNCAyNy40IDAgNzAuNS00NC40IDEzMC43LTEwNi43IDE1NC4xTDQwMy41IDQ1MmMtMiAxNi0xNS42IDI4LTMxLjggMjhsLTIzMS41IDBjLTE2LjEgMC0yOS44LTEyLTMxLjgtMjhsLTEuOC0xNC40QzQ0LjQgNDE0LjEgMCAzNTMuOSAwIDI4My40eiJdfSx2RXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXZpcnVzIixpY29uOls0NDgsNTEyLFtdLCJlNTc4IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTE2MCA4MGMxMy4zIDAgMjQgMTAuNyAyNCAyNCAwIDIyLjkgMjcuNyAzNC40IDQzLjkgMTguMiA5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjljLTE2LjIgMTYuMi00LjcgNDMuOSAxOC4yIDQzLjkgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTIyLjkgMC0zNC40IDI3LjctMTguMiA0My45IDkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBjLTE2LjItMTYuMi00My45LTQuNy00My45IDE4LjIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0yMi45LTI3LjctMzQuNC00My45LTE4LjItOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWMxNi4yLTE2LjIgNC43LTQzLjktMTguMi00My45LTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMjIuOSAwIDM0LjQtMjcuNyAxOC4yLTQzLjktOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwYzE2LjIgMTYuMiA0My45IDQuNyA0My45LTE4LjIgMC0xMy4zIDEwLjctMjQgMjQtMjR6TTE5MiAyNDhhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em04OCA0MGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSx4RXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQtc3VuLXJhaW4iLGljb246WzY0MCw1MTIsWzEyNzc4Ml0sImY3NDMiLCJNMjU0LjkgNDQ4LjJjNC4yLTEyLjYgMTcuOC0xOS40IDMwLjMtMTUuMiAxMi42IDQuMiAxOS40IDE3LjggMTUuMiAzMC40bC0yMS40IDY0LjFjLTQuMiAxMi42LTE3LjggMTkuNC0zMC40IDE1LjJzLTE5LjQtMTcuOC0xNS4yLTMwLjNsMjEuNC02NC4yem0xMjAgMGM0LjItMTIuNiAxNy44LTE5LjQgMzAuMy0xNS4yIDEyLjYgNC4yIDE5LjQgMTcuOCAxNS4yIDMwLjRsLTIxLjQgNjQuMWMtNC4yIDEyLjYtMTcuOCAxOS40LTMwLjQgMTUuMnMtMTkuNC0xNy44LTE1LjItMzAuM2wyMS40LTY0LjJ6bTEyMCAwYzQuMi0xMi42IDE3LjgtMTkuNCAzMC4zLTE1LjIgMTIuNiA0LjIgMTkuNCAxNy44IDE1LjIgMzAuNGwtMjEuNCA2NC4xYy00LjIgMTIuNi0xNy44IDE5LjQtMzAuNCAxNS4ycy0xOS40LTE3LjgtMTUuMi0zMC4zbDIxLjQtNjQuMnpNNDQ4LjMgMTI4YzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgNy41LTEuMSAxNC43LTMgMjEuNSAyOS44IDExLjYgNTEgNDAuNiA1MSA3NC41IDAgNDQuMi0zNS44IDgwLTgwIDgwbC0xOTIgMC04LjItLjRjLTQwLjMtNC4xLTcxLjgtMzguMi03MS44LTc5LjYgMC0zOSAyNy45LTcxLjUgNjQuOS03OC41LS41LTMuMS0uOS02LjItLjktOS41IDAtMzAuOSAyNS4xLTU2IDU2LTU2IDEyLjQgMCAyMy45IDQuMSAzMy4yIDEwLjkgMTMuNC0yNS41IDQwLjEtNDIuOSA3MC44LTQyLjl6TTI0MC4zLTMxLjhjNS4zIDAgMTAuMyAyLjcgMTMuMyA3LjFsNDcuMyA3MC40IDgzLjMtMTYuM2M1LjItMSAxMC42IC43IDE0LjMgNC40IDMuOCAzLjggNS40IDkuMiA0LjQgMTQuNGwtOC42IDQzLjhjLTExLjkgNS41LTIyLjggMTIuOS0zMi40IDIxLjYtNS43LTEtMTEuNy0xLjUtMTcuNy0xLjUtMTQuMyAwLTI4IDMtNDAuNCA4LjItMTYuOS0xNS0zOS4yLTI0LjItNjMuNi0yNC4yLTUzIDAtOTYgNDMtOTYgOTYgMCAzMC45IDE0LjYgNTguMiAzNy4yIDc1LjgtMy40IDExLjUtNS4yIDIzLjYtNS4yIDM2LjIgMCAxMy4yIDIgMjUuOSA1LjcgMzcuOWwtMi40LTMuNS04My4yIDE2LjNjLTUuMiAxLTEwLjYtLjctMTQuMy00LjQtMy44LTMuOC01LjQtOS4yLTQuNC0xNC40bDE2LjMtODMuMy03MC40LTQ3LjRjLTQuNC0zLTcuMS04LTcuMS0xMy4zIDAtNS4zIDIuNi0xMC4zIDctMTMuMmw3MC40LTQ3LjQtMTYuMy04My4yLS4yLTJjLS4zLTQuNiAxLjMtOS4xIDQuNi0xMi40IDMuOC0zLjggOS4yLTUuNCAxNC40LTQuNGw4My4yIDE2LjMgNDcuMy03MC40IDEuMi0xLjZjMy0zLjUgNy40LTUuNSAxMi4xLTUuNXptMCAxNzUuOGM4LjYgMCAxNi42IDIuMyAyMy42IDYuMi05LjcgMTEuOS0xNi45IDI1LjktMjAuNyA0MS4zLTE1IDguMS0yOC4yIDE5LjItMzguOCAzMi4zLTcuNS04LjUtMTIuMi0xOS42LTEyLjItMzEuOCAwLTI2LjUgMjEuNS00OCA0OC00OHoiXX0sazVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXJpZ2h0LWxvbmciLGljb246WzU3Niw1MTIsWyJsb25nLWFycm93LXJpZ2h0Il0sImYxNzgiLCJNNTY2LjYgMjc4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjhjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDQ2Ni43IDIyNCAzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNDM0LjcgMC03My40IDczLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMTI4LTEyOHoiXX0seUV0PWs1ZSx3RXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmctdW4iLGljb246WzUxMiw1MTIsW10sImU0ZDkiLCJNMzIgNjRDMzIgMjguNyA2MC43IDAgOTYgMEwzNTIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI3Mi0xMTIgMGMtMjAuOSAwLTM5LjUgMTAuMS01MS4yIDI1LjYtOC02LTE4LTkuNi0yOC44LTkuNi0yNi41IDAtNDggMjEuNS00OCA0OGwwIDY0IDY0IDAgMCA0OC0xNDQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMzIgNjR6TTE0NCA5NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0xMTIgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMTQ0IDIyNGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0xMTIgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNNDI3LjQgMzgwLjVjOS0yLjEgMTguMyAyLjIgMjIuNSAxMC41bDI2LjEgNTIuMiAwLTQzLjNjMC0xMSA5LTIwIDIwLTIwczIwIDkgMjAgMjBsMCAxMjhjMCA5LjMtNi40IDE3LjMtMTUuNCAxOS41cy0xOC4zLTIuMi0yMi41LTEwLjVMNDUyIDQ4NC43IDQ1MiA1MjhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtMTI4YzAtOS4zIDYuNC0xNy4zIDE1LjQtMTkuNXpNMzI0IDQwMGwwIDk2YzAgNi42IDUuNCAxMiAxMiAxMnMxMi01LjQgMTItMTJsMC05NmMwLTExIDktMjAgMjAtMjBzMjAgOSAyMCAyMGwwIDk2YzAgMjguNy0yMy4zIDUyLTUyIDUycy01Mi0yMy4zLTUyLTUybDAtOTZjMC0xMSA5LTIwIDIwLTIwczIwIDkgMjAgMjB6Il19LE1FdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW1wZXJhdHVyZS1sb3ciLGljb246WzUxMiw1MTIsW10sImY3NmIiLCJNOTYgOTZjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDE2NC43YzI5LjUgMjYuNCA0OCA2NC43IDQ4IDEwNy4zIDAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzQ4IDQ0Ny41IDQ4IDM2OGMwLTQyLjYgMTguNS04MSA0OC0xMDcuM0w5NiA5NnptOTYgMzM2YzM1LjMgMCA2NC0yOC43IDY0LTY0IDAtMjYuOS0xNi41LTQ5LjktNDAtNTkuM2wwLTI4LjdjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyOC43Yy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjMgMCAzNS4zIDI4LjcgNjQgNjQgNjR6TTQ2NCA4MGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zNTIgODBhODAgODAgMCAxIDEgMTYwIDAgODAgODAgMCAxIDEgLTE2MCAweiJdfSxrRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG9vci1vcGVuIixpY29uOls0NDgsNTEyLFtdLCJmNTJiIiwiTTI4OCA2NGw2NCAwIDAgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTk2IDAgMCAwLTE2MCAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDIyNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNDE2ek0xNjAgMjU2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LFNFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbGlnbi1sZWZ0IixpY29uOls0NDgsNTEyLFtdLCJmMDM2IiwiTTI4OCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0UzE0LjMgMzIgMzIgMzJsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6bTAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDM1MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnpNMCAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDQ4IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6Il19LFM1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYW1lcmEiLGljb246WzUxMiw1MTIsWzYyMjU4LCJjYW1lcmEtYWx0Il0sImYwMzAiLCJNMTQ5LjEgNjQuOEwxMzguNyA5NiA2NCA5NkMyOC43IDk2IDAgMTI0LjcgMCAxNjBMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTc0LjcgMC0xMC40LTMxLjJDMzU2LjQgNDUuMiAzMzguMSAzMiAzMTcuNCAzMkwxOTQuNiAzMmMtMjAuNyAwLTM5IDEzLjItNDUuNSAzMi44ek0yNTYgMTkyYTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyeiJdfSx6RXQ9UzVlLENFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2Vycy1yYXlzIixpY29uOls2NDAsNTEyLFtdLCJlNTkzIiwiTTMxLTMzQzIxLjctMjMuNiAyMS43LTguNCAzMSAxTDg3IDU3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw2NS0zM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDB6TTYwOS0zM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBMNTE5IDIzYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBMNjA5IDFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjl6TTY1IDU0NWw1Ni01NmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDMxIDUxMWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwem01NDQgMGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOWwtNTYtNTZjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNTYgNTZjOS40IDkuNCAyNC42IDkuNCAzMy45IDB6TTMyMCAyMDhhNjQgNjQgMCAxIDAgMC0xMjggNjQgNjQgMCAxIDAgMCAxMjh6bTAgMzJjLTYxLjkgMC0xMTIgNTAuMS0xMTIgMTEybDAgOGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNzYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLThjMC02MS45LTUwLjEtMTEyLTExMi0xMTJ6bTIxNi04MGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6TTQ1MS4yIDI2MC40QzQ2OS40IDI4Ni4zIDQ4MCAzMTcuOSA0ODAgMzUybDAgOGMwIDguNC0xLjQgMTYuNS00LjEgMjRsNzguOCAwYzExLjggMCAyMS4zLTkuNiAyMS4zLTIxLjNsMC0xMC43YzAtNTMtNDMtOTYtOTYtOTYtMTAgMC0xOS43IDEuNS0yOC44IDQuNHptLTI2Mi40IDBjLTkuMS0yLjktMTguOC00LjQtMjguOC00LjQtNTMgMC05NiA0My05NiA5NmwwIDEwLjdjMCAxMS44IDkuNiAyMS4zIDIxLjMgMjEuM2w3OC44IDBjLTIuNy03LjUtNC4xLTE1LjYtNC4xLTI0bDAtOGMwLTM0LjEgMTAuNi02NS43IDI4LjgtOTEuNnpNMjE2IDE2MGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6Il19LF9FdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyYWluYm93IixpY29uOls2NDAsNTEyLFsxMjc3NTJdLCJmNzViIiwiTTMyMCA5NkMxNzguNiA5NiA2NCAyMTAuNiA2NCAzNTJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQzMy43IDAgNDE2bDAtNjRDMCAxNzUuMyAxNDMuMyAzMiAzMjAgMzJTNjQwIDE3NS4zIDY0MCAzNTJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0QzU3NiAyMTAuNiA0NjEuNCA5NiAzMjAgOTZ6bTAgMTEyYy03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NGwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xMTQuOSA5My4xLTIwOCAyMDgtMjA4czIwOCA5My4xIDIwOCAyMDhsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtNzkuNS02NC41LTE0NC0xNDQtMTQ0ek0yODggMzUybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnoiXX0sVEV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNpdGVtYXAiLGljb246WzUxMiw1MTIsW10sImYwZTgiLCJNMTkyIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOCAwIDAgNjQgMTIwIDBjMzkuOCAwIDcyIDMyLjIgNzIgNzJsMCA1NiA4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw4IDAgMC01NmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMTIwIDAgMCA4MCA4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw4IDAgMC04MC0xMjAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA1NiA4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw4IDAgMC01NmMwLTM5LjggMzIuMi03MiA3Mi03MmwxMjAgMCAwLTY0LTggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NHoiXX0sejVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1zdGFycyIsaWNvbjpbNTEyLDUxMixbMTI5MzIxLCJncmluLXN0YXJzIl0sImY1ODciLCJNMjU2IDUxMmMxNDEuNCAwIDI1Ni0xMTQuNiAyNTYtMjU2IDAtMjQuNC0zLjQtNDguMS05LjgtNzAuNSAxOC42LTM2LjEtMi43LTgzLjYtNDYuNy05MC00Ni45LTU4LjMtMTE4LjktOTUuNS0xOTkuNS05NS41UzEwMy40IDM3LjMgNTYuNSA5NS41Yy00NCA2LjQtNjUuMyA1My45LTQ2LjcgOTAtNi40IDIyLjQtOS44IDQ2LTkuOCA3MC41IDAgMTQxLjQgMTE0LjYgMjU2IDI1NiAyNTZ6TTM4Ni43IDMyNC45YzExLjktMy43IDIzLjkgNi4zIDE5LjYgMTguMS0yMi40IDYxLjMtODEuMyAxMDUuMS0xNTAuMyAxMDUuMVMxMjguMSA0MDQuMiAxMDUuNyAzNDIuOWMtNC4zLTExLjggNy43LTIxLjggMTkuNi0xOC4xIDM5LjIgMTIuMiA4My43IDE5LjEgMTMwLjcgMTkuMXM5MS41LTYuOSAxMzAuNy0xOS4xem0tMzEuNi0yMzFjNS4zLTEwLjcgMjAuNS0xMC43IDI1LjggMGwyMC45IDQyLjQgNDYuNyA2LjhjMTEuOCAxLjcgMTYuNSAxNi4yIDggMjQuNWwtMzMuOCAzMyA4IDQ2LjZjMiAxMS43LTEwLjMgMjAuNy0yMC45IDE1LjJsLTQxLjgtMjItNDEuOCAyMmMtMTAuNSA1LjUtMjIuOS0zLjQtMjAuOS0xNS4ybDgtNDYuNi0zMy44LTMzYy04LjUtOC4zLTMuOC0yMi44IDgtMjQuNWw0Ni43LTYuOCAyMC45LTQyLjR6bS0xOTguMiAwbDIwLjkgNDIuNCA0Ni43IDYuOGMxMS44IDEuNyAxNi41IDE2LjIgOCAyNC41bC0zMy44IDMzIDggNDYuNmMyIDExLjctMTAuMyAyMC43LTIwLjkgMTUuMmwtNDEuOC0yMi00MS44IDIyYy0xMC41IDUuNS0yMi45LTMuNC0yMC45LTE1LjJsOC00Ni42LTMzLjgtMzNjLTguNS04LjMtMy44LTIyLjggOC0yNC41bDQ2LjctNi44IDIwLjktNDIuNGM1LjMtMTAuNyAyMC41LTEwLjcgMjUuOCAweiJdfSxMRXQ9ejVlLEM1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzb3J0LXVwIixpY29uOlszODQsNTEyLFsic29ydC1hc2MiXSwiZjBkZSIsIk0zMiAyMjRjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhTLjIgMTc4LjUgOS40IDE2OS40bDE2MC0xNjBjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTYwIDE2MGM5LjIgOS4yIDExLjkgMjIuOSA2LjkgMzQuOVMzNjQuOSAyMjQgMzUyIDIyNEwzMiAyMjR6Il19LCRFdD1DNWUsRHRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImV5ZSIsaWNvbjpbNTc2LDUxMixbMTI4MDY1XSwiZjA2ZSIsIk0yODggMzJjLTgwLjggMC0xNDUuNSAzNi44LTE5Mi42IDgwLjYtNDYuOCA0My41LTc4LjEgOTUuNC05MyAxMzEuMS0zLjMgNy45LTMuMyAxNi43IDAgMjQuNiAxNC45IDM1LjcgNDYuMiA4Ny43IDkzIDEzMS4xIDQ3LjEgNDMuNyAxMTEuOCA4MC42IDE5Mi42IDgwLjZzMTQ1LjUtMzYuOCAxOTIuNi04MC42YzQ2LjgtNDMuNSA3OC4xLTk1LjQgOTMtMTMxLjEgMy4zLTcuOSAzLjMtMTYuNyAwLTI0LjYtMTQuOS0zNS43LTQ2LjItODcuNy05My0xMzEuMS00Ny4xLTQzLjctMTExLjgtODAuNi0xOTIuNi04MC42ek0xNDQgMjU2YTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTE0NC02NGMwIDM1LjMtMjguNyA2NC02NCA2NC0xMS41IDAtMjIuMy0zLTMxLjctOC40LTEgMTAuOS0uMSAyMi4xIDIuOSAzMy4yIDEzLjcgNTEuMiA2Ni40IDgxLjYgMTE3LjYgNjcuOXM4MS42LTY2LjQgNjcuOS0xMTcuNmMtMTIuMi00NS43LTU1LjUtNzQuOC0xMDEuMS03MC44IDUuMyA5LjMgOC40IDIwLjEgOC40IDMxLjd6Il19LEF0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXJldC1sZWZ0IixpY29uOlsyNTYsNTEyLFtdLCJmMGQ5IiwiTTcuNyAyMzUuOGMtMTAuMyAxMi42LTkuNSAzMS4xIDIuMiA0Mi44bDEyOCAxMjhjOS4yIDkuMiAyMi45IDExLjkgMzQuOSA2LjlzMTkuOC0xNi42IDE5LjgtMjkuNmwwLTI1NmMwLTEyLjktNy44LTI0LjYtMTkuOC0yOS42cy0yNS43LTIuMi0zNC45IDYuOWwtMTI4IDEyOC0yLjIgMi40eiJdfSxfNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXBwbGUtd2hvbGUiLGljb246WzQ0OCw1MTIsWzEyNzgyMiwxMjc4MjMsImFwcGxlLWFsdCJdLCJmNWQxIiwiTTIyNCAxMTJjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwbDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA0NC4yLTM1LjggODAtODAgODBsLTE2IDB6TTAgMjg4YzAtNzYuMyAzNS43LTE2MCAxMTItMTYwIDI3LjMgMCA1OS43IDEwLjMgODIuNyAxOS4zIDE4LjggNy4zIDM5LjkgNy4zIDU4LjcgMCAyMi45LTguOSA1NS40LTE5LjMgODIuNy0xOS4zIDc2LjMgMCAxMTIgODMuNyAxMTIgMTYwIDAgMTI4LTgwIDIyNC0xNjAgMjI0LTE2LjUgMC0zOC4xLTYuNi01MS41LTExLjMtOC4xLTIuOC0xNi45LTIuOC0yNSAwLTEzLjQgNC43LTM1IDExLjMtNTEuNSAxMS4zLTgwIDAtMTYwLTk2LTE2MC0yMjR6Il19LERFdD1fNWUsVDVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjcm9sbC10b3JhaCIsaWNvbjpbNTc2LDUxMixbInRvcmFoIl0sImY2YTAiLCJNMCA0OEMwIDIxLjUgMjEuNSAwIDQ4IDAgNjguOSAwIDg2LjcgMTMuNCA5My4zIDMybDM4OS41IDBjNi42LTE4LjYgMjQuNC0zMiA0NS4zLTMyIDI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4LTIwLjkgMC0zOC43LTEzLjQtNDUuMy0zMkw5My4zIDQ4MGMtNi42IDE4LjYtMjQuNCAzMi00NS4zIDMyLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgNDh6TTE3Ny45IDMwMWMtMS4yIDItMS45IDQuMi0xLjkgNi42IDAgNi45IDUuNiAxMi41IDEyLjUgMTIuNWw1Ni45IDAgMzAuNSA0OS4yYzIuNiA0LjIgNy4yIDYuOCAxMi4yIDYuOHM5LjYtMi42IDEyLjItNi44bDMwLjUtNDkuMiA1Ni45IDBjNi45IDAgMTIuNS01LjYgMTIuNS0xMi41IDAtMi4zLS42LTQuNi0xLjktNi42bC0yNy44LTQ1IDI3LjgtNDVjMS4yLTIgMS45LTQuMiAxLjktNi42IDAtNi45LTUuNi0xMi41LTEyLjUtMTIuNWwtNTYuOSAwLTMwLjUtNDkuMmMtMi42LTQuMi03LjItNi44LTEyLjItNi44cy05LjYgMi42LTEyLjIgNi44bC0zMC41IDQ5LjItNTYuOSAwYy02LjkgMC0xMi41IDUuNi0xMi41IDEyLjUgMCAyLjMgLjYgNC42IDEuOSA2LjZsMjcuOCA0NS0yNy44IDQ1eiJdfSxBRXQ9VDVlLEVFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1sb2NrIixpY29uOls2NDAsNTEyLFtdLCJlNTEwIiwiTTUyOCAyMjQuMWM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2YzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODB6TTI2OC42IDYuNWMxMi4yLTkuMyAyOS43LTguNyA0MS4yIDJsMTg1IDE3MS44QzQ0MC4yIDE5NSA0MDAgMjQ0LjggNDAwIDMwNGwwIDI0LjRjLTE5LjYgMTcuNi0zMiA0My4xLTMyIDcxLjVsMCA5NmMwIDUuNSAuNSAxMC45IDEuMyAxNi4xTDE0NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOCAyLjQtMnpNMjcyIDMyMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NiA5NiAwIDAtODcuM2MwLTE2LjUgNy0zMS41IDE4LjQtNDIuMS04LjctOS0yMC45LTE0LjYtMzQuNC0xNC42bC0zMiAwem0yNTYtNDcuOWMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45YzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSxQRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLWxlZnQtcmlnaHQtdG8tbGluZSIsaWNvbjpbNTc2LDUxMixbXSwiZTRiYSIsIk0zMiA5NkMxNC4zIDk2IDAgMTEwLjMgMCAxMjhMMCAzODRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI1NmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMzkwLjYgMzQyLjZsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5LjQgOS40LTEzMy41IDAgOS40LTkuNGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTYgNi05LjQgMTQuMS05LjQgMjIuNnMzLjQgMTYuNiA5LjQgMjIuNmw2NCA2NGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05LjQtOS40IDEzMy41IDAtOS40IDkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMHpNNTc2IDEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDI1NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjU2eiJdfSx5dj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFzaCIsaWNvbjpbNDQ4LDUxMixbXSwiZjFmOCIsIk0xMzYuNyA1LjlMMTI4IDMyIDMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5NmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMC04LjctMjYuMUMzMDYuOS03LjIgMjk0LjctMTYgMjgwLjktMTZMMTY3LjEtMTZjLTEzLjggMC0yNiA4LjgtMzAuNCAyMS45ek00MTYgMTQ0TDMyIDE0NCA1My4xIDQ2Ny4xQzU0LjcgNDkyLjQgNzUuNyA1MTIgMTAxIDUxMkwzNDcgNTEyYzI1LjMgMCA0Ni4zLTE5LjYgNDcuOS00NC45TDQxNiAxNDR6Il19LEw1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLXNhZC10ZWFyIixpY29uOls1MTIsNTEyLFsxMjg1NDYsInNhZC10ZWFyIl0sImY1YjQiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMjcxIDk4YzUuNS0xLjMgMTEuMS0yIDE3LTIgMjQuMSAwIDQ1LjQgMTEuOCA1OC41IDMwIDcuNyAxMC44IDIyLjcgMTMuMiAzMy41IDUuNXMxMy4yLTIyLjcgNS41LTMzLjVjLTIxLjctMzAuMi01Ny4zLTUwLTk3LjUtNTAtMTIuNSAwLTI0LjYgMS45LTM1LjkgNS41IDkuOCAxMi43IDE2LjUgMjcuOSAxOC45IDQ0LjZ6TTE3NiAyNDBhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0xOTItMzJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMTg1LjQgMjkyLjhjLTIuNC0yLjktNS43LTQuOC05LjQtNC44cy03IDEuOS05LjQgNC44Yy02LjUgNy44LTEyLjYgMTYuMS0xOC4zIDI0LjYtOSAxMy40LTIwLjMgMzAuMi0yMC4zIDQ3LjQgMCAyOC4zIDIxLjUgNTEuMiA0OCA1MS4yczQ4LTIyLjkgNDgtNTEuMmMwLTE3LjItMTEuMi0zNC0yMC4zLTQ3LjQtNS43LTguNS0xMS45LTE2LjctMTguMy0yNC42eiJdfSxJRXQ9TDVlLE5FdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYXgiLGljb246WzUxMiw1MTIsWzEyODIyNCwxMjg0MzldLCJmMWFjIiwiTTE2MCA2NGwwIDgwIDY0IDAgMC04MCAxNDYuNyAwIDQ1LjMgNDUuMyAwIDM0LjcgNjQgMCAwLTM0LjdjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMNDE2IDE4LjdDNDA0IDYuNyAzODcuNyAwIDM3MC43IDBMMjI0IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0ek0zMiAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyTDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0yODhjMC0xNy43LTE0LjMtMzItMzItMzJsLTQ4IDB6bTQ0OCA2NGwtMzIwIDAgMCAyNTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0yMjRjMC0xNy43LTE0LjMtMzItMzItMzJ6TTIyNCAyODhhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMCA5NmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwek0zMzYgMjY0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMzEyIDM4NGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwek00MjQgMjY0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNNDAwIDM4NGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxSRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWNpcmNsZS1wbHVzIixpY29uOls2NDAsNTEyLFtdLCJlNTQxIiwiTTI4MCAyNGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6bTI0IDIxMi43TDM0MSAyODYuNmMxMi44LTE3LjUgMjguNS0zMi43IDQ2LjMtNDVsLTU2LjItNzUuN0MzMDYgMTMyIDI2Ni4zIDExMiAyMjQgMTEycy04MiAyMC0xMDcuMiA1My45bC03MC41IDk1Yy0xMC41IDE0LjItNy42IDM0LjIgNi42IDQ0LjhzMzQuMiA3LjYgNDQuOC02LjZMMTQ0IDIzNi43IDE0NCA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNzUuM3pNNDk2IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTE2LTIwOGwwIDQ4IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTQ4IDAgMCA0OGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTQ4LTQ4IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsNDggMCAwLTQ4YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6Il19LE9FdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW1zYSIsaWNvbjpbNTEyLDUxMixbXSwiZjY2NSIsIk0zNC42IDI4OEw4MCAyODhjOC44IDAgMTYtNy4yIDE2LTE2TDk2IDcyYzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDBsMCAxMzJjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC0xNjRjMC0yMi4xIDE3LjktNDAgNDAtNDBzNDAgMTcuOSA0MCA0MGwwIDE2NGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTEzMmMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwbDAgMjAwYzAgOC44IDcuMiAxNiAxNiAxNmw0NS40IDBjMTkuMSAwIDM0LjYgMTUuNSAzNC42IDM0LjYgMCA4LjYtMy4yIDE2LjktOSAyMy4zTDQxNi42IDQ0MWMtNDEuMSA0NS4yLTk5LjQgNzEtMTYwLjYgNzFTMTM2LjYgNDg2LjIgOTUuNCA0NDFMOSAzNDUuOWMtNS44LTYuNC05LTE0LjctOS0yMy4zIDAtMTkuMSAxNS41LTM0LjYgMzQuNi0zNC42ek0yNTYgMjg4Yy0zOC40IDAtNzYuOCAzNS44LTkwLjYgNTAuMi0zLjYgMy43LTUuNCA4LjctNS40IDEzLjhzMS44IDEwLjEgNS40IDEzLjhDMTc5LjIgMzgwLjIgMjE3LjYgNDE2IDI1NiA0MTZzNzYuOC0zNS44IDkwLjYtNTAuMmMzLjYtMy43IDUuNC04LjcgNS40LTEzLjhzLTEuOC0xMC4xLTUuNC0xMy44QzMzMi44IDMyMy44IDI5NC40IDI4OCAyNTYgMjg4em0wIDMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sRkV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1jaXJjbGUtcXVlc3Rpb24iLGljb246WzY0MCw1MTIsW10sImU1NDIiLCJNMjgwIDI0YTU2IDU2IDAgMSAwIC0xMTIgMCA1NiA1NiAwIDEgMCAxMTIgMHptMjQgMjEyLjdMMzQxIDI4Ni42YzEyLjgtMTcuNSAyOC41LTMyLjcgNDYuMy00NWwtNTYuMi03NS43QzMwNiAxMzIgMjY2LjMgMTEyIDIyNCAxMTJzLTgyIDIwLTEwNy4yIDUzLjlsLTcwLjUgOTVjLTEwLjUgMTQuMi03LjYgMzQuMiA2LjYgNDQuOHMzNC4yIDcuNiA0NC44LTYuNkwxNDQgMjM2LjcgMTQ0IDUxMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI3NS4zek00OTYgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTEwMGMtMTEuNiAwLTIxLjMgOC4yLTIzLjUgMTkuMi0xLjggOC43LTEwLjIgMTQuMy0xOC45IDEyLjVzLTE0LjMtMTAuMi0xMi41LTE4LjljNS4yLTI1LjYgMjcuOC00NC44IDU0LjktNDQuOCAzMC45IDAgNTYgMjUuMSA1NiA1NiAwIDE5LjgtMTEuNyAzNy44LTI5LjggNDUuOWwtMTAuNCA0LjZjLTEuMiA3LjctNy44IDEzLjUtMTUuOCAxMy41LTguOCAwLTE2LTcuMi0xNi0xNiAwLTExLjIgNi42LTIxLjMgMTYuOC0yNS45bDEyLjQtNS41YzYuNi0yLjkgMTAuOC05LjQgMTAuOC0xNi42IDAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxCRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xpcGJvYXJkLWNoZWNrIixpY29uOlszODQsNTEyLFtdLCJmNDZjIiwiTTI1NiAwYzIzLjcgMCA0NC40IDEyLjkgNTUuNCAzMmw4LjYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM1MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsOC42IDBDODMuNiAxMi45IDEwNC4zIDAgMTI4IDBMMjU2IDB6bTI2LjkgMjEyLjZjLTEwLjctNy44LTI1LjctNS40LTMzLjUgNS4zbC04NS42IDExNy43LTI2LjUtMjcuNGMtOS4yLTkuNS0yNC40LTkuOC0zMy45LS42cy05LjggMjQuNC0uNiAzMy45bDQ2LjQgNDhjNC45IDUuMSAxMS44IDcuOCAxOC45IDcuM3MxMy42LTQuMSAxNy44LTkuOEwyODguMiAyNDYuMWM3LjgtMTAuNyA1LjQtMjUuNy01LjMtMzMuNXpNMTM2IDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDEzNiA2NHoiXX0sJDVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoYXJlLWZyb20tc3F1YXJlIixpY29uOls1NzYsNTEyLFs2MTUwOSwic2hhcmUtc3F1YXJlIl0sImYxNGQiLCJNMzg0LjUgMjRsMCA3Mi02NCAwYy03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NCAwIDkzLjQgODIuOCAxMzQuOCAxMDAuNiAxNDIuNiAyLjIgMSA0LjYgMS40IDcuMSAxLjRsMi41IDBjOS44IDAgMTcuOC04IDE3LjgtMTcuOCAwLTguMy01LjktMTUuNS0xMi44LTIwLjMtOC45LTYuMi0xOS4yLTE4LjItMTkuMi00MC41IDAtNDUgMzYuNS04MS41IDgxLjUtODEuNWwzMC41IDAgMCA3MmMwIDkuNyA1LjggMTguNSAxNC44IDIyLjJzMTkuMyAxLjcgMjYuMi01LjJsMTM2LTEzNmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOUw0MjUuNSA3Yy02LjktNi45LTE3LjItOC45LTI2LjItNS4yUzM4NC41IDE0LjMgMzg0LjUgMjR6bS0yNzIgNzJjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMjU2YzAgNDQuMiAzNS44IDgwIDgwIDgwbDI1NiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTI1NiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yNTZjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE2IDB6Il19LEhFdD0kNWUsRXRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlY2VpcHQiLGljb246WzM4NCw1MTIsWzEyOTUzNF0sImY1NDMiLCJNMTQgMi4yQzIyLjUtMS43IDMyLjUtLjMgMzkuNiA1LjhMODAgNDAuNCAxMjAuNCA1LjhjOS03LjcgMjIuMy03LjcgMzEuMiAwTDE5MiA0MC40IDIzMi40IDUuOGM5LTcuNyAyMi4yLTcuNyAzMS4yIDBMMzA0IDQwLjQgMzQ0LjQgNS44YzcuMS02LjEgMTcuMS03LjUgMjUuNi0zLjZTMzg0IDE0LjYgMzg0IDI0bDAgNDY0YzAgOS40LTUuNSAxNy45LTE0IDIxLjhzLTE4LjUgMi41LTI1LjYtMy42bC00MC40LTM0LjYtNDAuNCAzNC42Yy05IDcuNy0yMi4yIDcuNy0zMS4yIDBsLTQwLjQtMzQuNi00MC40IDM0LjZjLTkgNy43LTIyLjMgNy43LTMxLjIgMEw4MCA0NzEuNiAzOS42IDUwNi4yYy03LjEgNi4xLTE3LjEgNy41LTI1LjYgMy42UzAgNDk3LjQgMCA0ODhMMCAyNEMwIDE0LjYgNS41IDYuMSAxNCAyLjJ6TTEwNCAxMzZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE3NiAwek04MCAzNTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE3NiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptMjQtMTIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNzYgMHoiXX0scUV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVxdWFscyIsaWNvbjpbNDQ4LDUxMixbNjI3NjRdLCIzZCIsIk0zMiAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMTI4em0wIDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMjB6Il19LFZFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGV2cm9uLXVwIixpY29uOls0NDgsNTEyLFtdLCJmMDc3IiwiTTIwMS40IDEwNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDE5MiAxOTJjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMjI0IDE3My4zIDU0LjYgMzQyLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDE5Mi0xOTJ6Il19LGpFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aXJ1cy1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZTA3NSIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC04OC42LTg4LjZjMS43LTEyLjEtMi0yNC44LTExLjMtMzQtMzEuMi0zMS4yLTkuMS04NC41IDM1LTg0LjUgMjIuMSAwIDQwLTE3LjkgNDAtNDBzLTE3LjktNDAtNDAtNDBjLTQ0LjEgMC02Ni4xLTUzLjMtMzUtODQuNSAxNS42LTE1LjYgMTUuNi00MC45IDAtNTYuNnMtNDAuOS0xNS42LTU2LjYgMGMtMzEuMiAzMS4yLTg0LjUgOS4xLTg0LjUtMzUgMC0yMi4xLTE3LjktNDAtNDAtNDBzLTQwIDE3LjktNDAgNDBjMCA0NC4xLTUzLjMgNjYuMS04NC41IDM1LTkuMy05LjMtMjItMTMtMzQtMTEuM0w0MS0yNC45ek03MiAyMTZjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBjNDQuMSAwIDY2LjEgNTMuMyAzNSA4NC41LTE1LjYgMTUuNi0xNS42IDQwLjkgMCA1Ni42czQwLjkgMTUuNiA1Ni42IDBjMzEuMi0zMS4yIDg0LjUtOS4xIDg0LjUgMzUgMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MGMwLTIxLjQgMTIuNi0zNy42IDI5LjEtNDUuMWwtMjQwLTI0MEMxMDkuNiAyMDMuNCA5My40IDIxNiA3MiAyMTZ6Il19LFVFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZjcxNSIsIk03LTI1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwTDU2OSA1MDNjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEw3IDlDLTIuMy0uNC0yLjMtMTUuNiA3LTI1eiJdfSxXRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZXhwYW5kIixpY29uOls0NDgsNTEyLFtdLCJmMDY1IiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNjQgNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnpNNjQgMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgMzM0LjMgMCAzNTJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwIDAtNjR6TTMyMCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwIDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC05NiAwek00NDggMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjQtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtOTZ6Il19LEQ1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJub3RlLXN0aWNreSIsaWNvbjpbNDQ4LDUxMixbNjIwMjYsInN0aWNreS1ub3RlIl0sImYyNDkiLCJNNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjEzLjVjMCAxNy02LjcgMzMuMy0xOC43IDQ1LjNMMzIyLjcgNDYxLjNjLTEyIDEyLTI4LjMgMTguNy00NS4zIDE4LjdMNjQgNDgwek0zODkuNSAzMDRMMjk2IDMwNGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA5My41IDExNy41LTExNy41eiJdfSxHRXQ9RDVlLEE1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZS1jb2x1bW5zIixpY29uOls0NDgsNTEyLFsiY29sdW1ucyJdLCJmMGRiIiwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em02NCA2NGwwIDI1NiAxMjggMCAwLTI1Ni0xMjggMHptMzIwIDBsLTEyOCAwIDAgMjU2IDEyOCAwIDAtMjU2eiJdfSxZRXQ9QTVlLEtFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tc2hlbHRlciIsaWNvbjpbNTEyLDUxMixbXSwiZTU0ZiIsIk0yNzEuOSA0LjJjLTkuOC01LjYtMjEuOS01LjYtMzEuOCAwbC0yMjQgMTI4QzYuMiAxMzcuOSAwIDE0OC41IDAgMTYwTDAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJMNjQgMTc4LjYgMjU2IDY4LjkgNDQ4IDE3OC42IDQ0OCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyMGMwLTExLjUtNi4yLTIyLjEtMTYuMS0yNy44bC0yMjQtMTI4ek0yNTYgMjA4YTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHptLTggMTkybDE2IDAgMCA4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTc0LjUgMjYuOSA0OS45YzYuMyAxMS43IDIwLjggMTYgMzIuNSA5LjhzMTYtMjAuOCA5LjgtMzIuNWwtMzMuMi02MS43QzMyOS43IDI0NS4xIDI5NC40IDIyNCAyNTYgMjI0cy03My43IDIxLjEtOTEuOSA1NC45bC0zMy4yIDYxLjdjLTYuMyAxMS43LTEuOSAyNi4yIDkuOCAzMi41czI2LjIgMS45IDMyLjUtOS44TDIwMCAzMTMuNSAyMDAgNDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC04OHoiXX0sWkV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1ub3RjaCIsaWNvbjpbNTEyLDUxMixbXSwiZjFjZSIsIk0yMjIuNyAzMi4xYzUgMTYuOS00LjYgMzQuOC0yMS41IDM5LjgtNzkuMyAyMy42LTEzNy4xIDk3LjEtMTM3LjEgMTg0LjEgMCAxMDYgODYgMTkyIDE5MiAxOTJzMTkyLTg2IDE5Mi0xOTJjMC04Ni45LTU3LjgtMTYwLjQtMTM3LjEtMTg0LjEtMTYuOS01LTI2LjYtMjIuOS0yMS41LTM5LjhzMjIuOS0yNi42IDM5LjgtMjEuNUM0MzQuOSA0Mi4xIDUxMiAxNDAgNTEyIDI1NiA1MTIgMzk3LjQgMzk3LjQgNTEyIDI1NiA1MTJTMCAzOTcuNCAwIDI1NmMwLTExNiA3Ny4xLTIxMy45IDE4Mi45LTI0NS40IDE2LjktNSAzNC44IDQuNiAzOS44IDIxLjV6Il19LFhFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3YXRlciIsaWNvbjpbNTEyLDUxMixbXSwiZjc3MyIsIk00MTAuNiAxMjQuMWMyMC43IDE1LjYgNDYgMzAuNyA3NC4yIDM0LjUgMTMuMSAxLjggMjUuMi03LjUgMjctMjAuNnMtNy41LTI1LjItMjAuNi0yN2MtMTUuOS0yLjEtMzMuMi0xMS4zLTUxLjctMjUuMi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zcy0zMC41LTguMi01NC41LTI2LjNjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0xOC41IDEzLjktMzUuOCAyMy4xLTUxLjcgMjUuMi0xMy4xIDEuOC0yMi40IDEzLjgtMjAuNiAyN3MxMy44IDIyLjQgMjcgMjAuNmMyOC4yLTMuOCA1My42LTE4LjkgNzQuMi0zNC41IDIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDI0LjIgMTguMyA1Mi4zIDM1LjkgODMuNCAzNS45czU5LjEtMTcuNyA4My40LTM1LjljMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDB6bTAgMTQ0YzIwLjcgMTUuNiA0NiAzMC43IDc0LjIgMzQuNSAxMy4xIDEuOCAyNS4yLTcuNSAyNy0yMC42cy03LjUtMjUuMi0yMC42LTI3Yy0xNS45LTIuMS0zMy4yLTExLjMtNTEuNy0yNS4yLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yNCAxOC4xLTQwLjcgMjYuMy01NC41IDI2LjNzLTMwLjUtOC4yLTU0LjUtMjYuM2MtMzguNC0yOS05MC41LTI5LTEyOSAwLTE4LjUgMTMuOS0zNS44IDIzLjEtNTEuNyAyNS4yLTEzLjEgMS43LTIyLjQgMTMuOC0yMC42IDI3czEzLjggMjIuNCAyNyAyMC42YzI4LjItMy44IDUzLjYtMTguOSA3NC4yLTM0LjUgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOWMyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMHptLTcxLjIgMTQ0YzIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDIwLjcgMTUuNiA0NiAzMC43IDc0LjIgMzQuNSAxMy4xIDEuOCAyNS4yLTcuNSAyNy0yMC42cy03LjUtMjUuMi0yMC42LTI3Yy0xNS45LTIuMS0zMy4yLTExLjMtNTEuNy0yNS4yLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yNCAxOC4xLTQwLjcgMjYuMy01NC41IDI2LjNzLTMwLjUtOC4yLTU0LjUtMjYuM2MtMzguNC0yOS05MC41LTI5LTEyOSAwLTE4LjUgMTMuOS0zNS44IDIzLjEtNTEuNyAyNS4yLTEzLjEgMS44LTIyLjQgMTMuOC0yMC42IDI3czEzLjggMjIuNCAyNyAyMC42YzI4LjItMy44IDUzLjYtMTguOSA3NC4yLTM0LjUgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOXoiXX0sRTVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRlbGV0ZS1sZWZ0IixpY29uOls2NDAsNTEyLFs5MDAzLCJiYWNrc3BhY2UiXSwiZjU1YSIsIk01NzYgMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0TDIwNS4zIDY0Yy0xNyAwLTMzLjMgNi43LTQ1LjMgMTguN0w5LjQgMjMzLjRjLTYgNi05LjQgMTQuMS05LjQgMjIuNnMzLjQgMTYuNiA5LjQgMjIuNkwxNjAgNDI5LjNjMTIgMTIgMjguMyAxOC43IDQ1LjMgMTguN0w1MTIgNDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2ek0yODQuMSAxODguMWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGwzMy45IDMzLjkgMzMuOS0zMy45YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtMzMuOSAzMy45IDMzLjkgMzMuOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC0zMy45LTMzLjktMzMuOSAzMy45Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDMzLjktMzMuOS0zMy45LTMzLjljLTkuNC05LjQtOS40LTI0LjYgMC0zMy45eiJdfSxRRXQ9RTVlLEZlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicm9vbS1iYWxsIixpY29uOls1NzYsNTEyLFsicXVpZGRpdGNoIiwicXVpZGRpdGNoLWJyb29tLWJhbGwiXSwiZjQ1OCIsIk00OTYgNTQ0YTgwIDgwIDAgMSAxIDAtMTYwIDgwIDgwIDAgMSAxIDAgMTYwek0xMDYuOCAyNzcuMmMzMC42LTMwLjYgNzMuMS00NS45IDExNS44LTQyLjJMMzQxIDM1My4zYzMuNyA0Mi44LTExLjYgODUuMi00Mi4yIDExNS45LTI3LjQgMjcuNC02NC42IDQyLjgtMTAzLjMgNDIuOEwyMi4xIDUxMmMtMTIuMiAwLTIyLjEtOS45LTIyLjEtMjIuMSAwLTYuMyAyLjctMTIuMyA3LjMtMTYuNUwxMzMuNyAzNTkuN2M0LjItMy43LS40LTEwLjQtNS40LTcuOUw3Ny4yIDM3Ny40Yy02LjEgMy0xMy4yLTEuNC0xMy4yLTguMiAwLTMxLjUgMTIuNS02MS44IDM0LjgtODRsOC04em00MTctMjcwYzEyLjYtMTAuMyAzMS4xLTkuNSA0Mi44IDIuMnMxMi40IDMwLjIgMi4yIDQyLjhsLTIuMiAyLjQtMTkyIDE5MiAzNC44IDM0LjdjNC4yIDQuMiA2LjYgMTAgNi42IDE2IDAgMTIuNS0xMC4xIDIyLjYtMjIuNiAyMi42bC0yOS4xIDAtMTA4LjMtMTA4LjMgMC0yOS4xYzAtMTIuNSAxMC4xLTIyLjYgMjIuNi0yMi42IDYgMCAxMS44IDIuNCAxNiA2LjZsMzQuOCAzNC43IDE5Mi0xOTIgMi40LTIuMnoiXX0sSkV0PUZlZSxlUHQ9RmVlLHRQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJqIixpY29uOlszMjAsNTEyLFsxMDZdLCI0YSIsIk0yODggMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyNTZjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMCA0MDguNCAwIDMyMGwwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMmMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxQNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2h1dHRsZS1zcGFjZSIsaWNvbjpbNTc2LDUxMixbInNwYWNlLXNodXR0bGUiXSwiZjE5NyIsIk0wIDM2OGwwIDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDUwIDBjNDAuNiAwIDgwLjQtMTEgMTE1LjItMzEuOWwxMzMuNS04MC4xLTkzLjMgMC02NC45IDM4LjljLTE0IDguNC0yOC45IDE0LjctNDQuNSAxOWwwLTY2LjRjOS43LTUuNiAxNy44LTEzLjcgMjMuNC0yMy40bDE5OC44IDBjNjcuMSAwIDEyNy44LTIwLjYgMTcwLjMtNzAuNiA0LjYtNS40IDQuNi0xMy4zIDAtMTguOC00Mi41LTUwLjEtMTAzLjItNzAuNi0xNzAuMy03MC42bC0xOTguOCAwYy01LjYtOS43LTEzLjctMTcuOC0yMy40LTIzLjRsMC02Ni40YzE1LjYgNC4yIDMwLjYgMTAuNiA0NC41IDE5bDY0LjkgMzguOSA5My4zIDAtMTMzLjUtODAuMUMxNzguNCA0MyAxMzguNiAzMiA5OCAzMkw0OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwTDAgMzY4em05NiAwbDAgNjQtNDggMCAwLTY0IDQ4IDB6TTk2IDgwbDAgNjQtNDggMCAwLTY0IDQ4IDB6TTQxNiAyMjRjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6Il19LGFQdD1QNWUsclB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Inlpbi15YW5nIixpY29uOls1MTIsNTEyLFs5Nzc1XSwiZjZhZCIsIk0yMjQgMTYwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTMyIDM1MmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTAtNDQ4YzUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2LTk2IDQzLTk2IDk2IDQzIDk2IDk2IDk2QzE1MCA0NDggNjQgMzYyIDY0IDI1NlMxNTAgNjQgMjU2IDY0ek0yMjQgMzUyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LHNQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdG9wIixpY29uOls0NDgsNTEyLFs5MjA5XSwiZjA0ZCIsIk02NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJ6Il19LGlQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cm93ZWwiLGljb246WzU3Niw1MTIsW10sImU1ODkiLCJNNDA3LjkgMTgxLjRMMjc3LjMgMzEyIDM0Mi42IDM3Ny40YzcuOSA3LjkgMTEuMSAxOS40IDguNCAzMC4zcy0xMC44IDE5LjYtMjEuNSAyMi45bC0yNTYgODBjLTExLjQgMy41LTIzLjggLjUtMzIuMi03LjlzLTExLjUtMjAuOC03LjktMzIuMmw4MC0yNTZjMy4zLTEwLjcgMTItMTguOSAyMi45LTIxLjVzMjIuNCAuNSAzMC4zIDguNEwyMzIgMjY2LjcgMzYyLjYgMTM2LjFjLTE0LjMtMTQuNi0xNC4yLTM4IC4zLTUyLjVsOTUuNC05NS40YzI2LjktMjYuOSA3MC41LTI2LjkgOTcuNSAwczI2LjkgNzAuNSAwIDk3LjVsLTk1LjQgOTUuNGMtMTQuNSAxNC41LTM3LjkgMTQuNi01Mi41IC4zeiJdfSxJNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1iYWNrLWZpc3QiLGljb246WzM4NCw1MTIsWyJoYW5kLXJvY2siXSwiZjI1NSIsIk03LjQgMjUzLjZDMi42IDI0NS45IDAgMjM3LjEgMCAyMjhsMC0zNmMwLTI2LjUgMjEuNS00OCA0OC00OGwxNiAwIDAtODBjMC0yNi41IDIxLjUtNDggNDgtNDggMTcuMyAwIDMyLjQgOS4xIDQwLjkgMjIuOCA0LjMtMjIuMSAyMy44LTM4LjggNDcuMS0zOC44IDIzLjQgMCA0Mi45IDE2LjggNDcuMSAzOC45IDcuMy00LjQgMTUuOC02LjkgMjQuOS02LjkgMjIuMSAwIDQwLjggMTUgNDYuMyAzNS40IDUuNS0yLjIgMTEuNC0zLjQgMTcuNy0zLjQgMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5Ni45YzAgOS45LTIuMyAxOS43LTYuOCAyOC42bC0zOS42IDc5LjFjLTEwLjggMjEuNy0zMyAzNS40LTU3LjIgMzUuNEw5NiAzNTJjLTE2LjUgMC0zMS44LTguNC00MC42LTIyLjRsLTQ4LTc2ek0zMiA0ODBsMC00OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDY0IDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LG9QdD1JNWUsblB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbXBlcmF0dXJlLWhpZ2giLGljb246WzUxMiw1MTIsW10sImY3NjkiLCJNOTYgOTZjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDE2NC43YzI5LjUgMjYuNCA0OCA2NC43IDQ4IDEwNy4zIDAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzQ4IDQ0Ny41IDQ4IDM2OGMwLTQyLjYgMTguNS04MSA0OC0xMDcuM0w5NiA5NnptOTYgMzM2YzM1LjMgMCA2NC0yOC43IDY0LTY0IDAtMjYuOS0xNi41LTQ5LjktNDAtNTkuM0wyMTYgOTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyMTIuN2MtMjMuNSA5LjUtNDAgMzIuNS00MCA1OS4zIDAgMzUuMyAyOC43IDY0IDY0IDY0ek00NjQgODBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzUyIDgwYTgwIDgwIDAgMSAxIDE2MCAwIDgwIDgwIDAgMSAxIC0xNjAgMHoiXX0sbFB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdyZWF0ZXItdGhhbiIsaWNvbjpbNTEyLDUxMixbNjI3NjldLCIzZSIsIk0zNC45IDUwLjZjLTcuNCAxNi0uNCAzNS4xIDE1LjYgNDIuNUw0MDMuNiAyNTYgNTAuNiA0MTljLTE2IDcuNC0yMy4xIDI2LjQtMTUuNiA0Mi41czI2LjQgMjMgNDIuNSAxNS42bDQxNi0xOTJjMTEuMy01LjIgMTguNi0xNi42IDE4LjYtMjkuMXMtNy4zLTIzLjgtMTguNi0yOS4xTDc3LjQgMzVjLTE2LTcuNC0zNS4xLS40LTQyLjUgMTUuNnoiXX0sY1B0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNydXRjaCIsaWNvbjpbNTEyLDUxMixbXSwiZjdmNyIsIk0yOTcuNCA5LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTYwIDE2MGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMGwtMS40LTEuNC0xNTguNiAxNTguNmMtMTggMTgtNDIuNCAyOC4xLTY3LjkgMjguMWwtNTkgMGMtOC41IDAtMTYuNiAzLjQtMjIuNiA5LjQtNjEuNyA2MS43LTkyLjggOTIuOC05My4zIDkzLjMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMTYtMTYgMCAwIDc3LjMtNzcuM2M2LTYgOS40LTE0LjEgOS40LTIyLjZsMC01OWMwLTI1LjUgMTAuMS00OS45IDI4LjEtNjcuOUwyOTguNyA1NiAyOTcuNCA1NC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3pNMzQ0IDEwMS4zTDI2MS4zIDE4NCAzMjggMjUwLjcgNDEwLjcgMTY4IDM0NCAxMDEuM3ptLTEyOCAxMjhsLTMwLjYgMzAuNmMtNiA2LTkuNCAxNC4xLTkuNCAyMi42bDAgNTMuNSA1My41IDBjOC41IDAgMTYuNi0zLjQgMjIuNi05LjRMMjgyLjcgMjk2IDIxNiAyMjkuM3oiXX0sTjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNlcHRhZ29uIixpY29uOls1NzYsNTEyLFsiaGVwdGFnb24iXSwiZTgyMCIsIk0yNjcuNC0zMS41YzE1LjktNS41IDMzLjUtNC42IDQ4LjggMi43bDE3Mi40IDgzIDYuMyAzLjVjMTQuMiA5IDI0LjUgMjMuMyAyOC4zIDM5LjlsNDIuNiAxODYuNSAxLjIgNy4yYzEuNiAxNC4zLTEuNyAyOC44LTkuNCA0MS4xbC00LjIgNS45LTExOS4zIDE0OS42Yy0xMi4xIDE1LjItMzAuNiAyNC4xLTUwIDI0LjFsLTE5MS4zIDBjLTE5LjUgMC0zNy45LTguOS01MC0yNC4xTDIzLjUgMzM4LjRjLTEyLjEtMTUuMi0xNi43LTM1LjItMTIuMy01NC4ybDQyLjYtMTg2LjUgMi03YzUuNi0xNS45IDE3LjItMjkgMzIuNi0zNi40bDE3Mi40LTgzIDYuNy0yLjd6Il19LGRQdD1ONWUsdVB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0cmVldC12aWV3IixpY29uOls1MTIsNTEyLFtdLCJmMjFkIiwiTTI1NiAwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek0yMjQgMTYwbDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA0OGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMS44IDAtMTEuMSA5OS41Yy0xLjggMTYuMi0xNS41IDI4LjUtMzEuOCAyOC41bC0zOC43IDBjLTE2LjMgMC0zMC0xMi4zLTMxLjgtMjguNWwtMTEuMS05OS41LTEuOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTQ4YzAtMzUuMyAyOC43LTY0IDY0LTY0ek00MTIuNCA0MDAuMmMtMTYuMS00LjItMzQuOC03LjYtNTUuNC0xMC4ybDUuMy00Ny43YzIyLjcgMi45IDQzLjcgNi43IDYyLjEgMTEuNSAyMi40IDUuOCA0Mi42IDEzLjMgNTcuOCAyMy4zIDE0LjcgOS42IDI5LjggMjQuOSAyOS44IDQ3cy0xNS4xIDM3LjQtMjkuOCA0N2MtMTUuMiA5LjktMzUuNSAxNy41LTU3LjggMjMuMy00NS4xIDExLjctMTA1LjMgMTcuOC0xNjguNCAxNy44cy0xMjMuMy02LjEtMTY4LjQtMTcuOEM2NS4yIDQ4OC40IDQ1IDQ4MC45IDI5LjggNDcxIDE1LjEgNDYxLjQgMCA0NDYuMSAwIDQyNHMxNS4xLTM3LjQgMjkuOC00N2MxNS4yLTkuOSAzNS41LTE3LjUgNTcuOC0yMy4zIDE4LjUtNC44IDM5LjUtOC42IDYyLjEtMTEuNUwxNTUgMzkwYy0yMC42IDIuNi0zOS4zIDYuMS01NS40IDEwLjItNTYuNiAxNC42LTU2LjYgMzIuOSAwIDQ3LjUgMzkuOSAxMC4zIDk1LjggMTYuMiAxNTYuNCAxNi4yczExNi41LTUuOSAxNTYuNC0xNi4yYzU2LjYtMTQuNiA1Ni42LTMyLjkgMC00Ny41eiJdfSxwUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2F2ZS1zcXVhcmUiLGljb246WzUxMiw1MTIsW10sImY4M2UiLCJNNjQgOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyODggOTYgMCAwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xNjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yODgtOTYgMCAwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMiAwIDAtMTI4eiJdfSxmUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5nbGUtbGVmdCIsaWNvbjpbMjU2LDUxMixbODI0OV0sImYxMDQiLCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTYgMjE0LjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjB6Il19LGhQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY3Jld2RyaXZlciIsaWNvbjpbNTc2LDUxMixbMTI5NjkxXSwiZjU0YSIsIk0zNTIuMSAxNDYuN2wwLTQ5LjZjMC0xMC43IDUuMy0yMC43IDE0LjItMjYuNkw0ODUuMi04LjdjNi4zLTQuMiAxNC44LTMuNCAyMC4yIDJsNDUuNCA0NS41YzUuNCA1LjQgNi4yIDEzLjggMiAyMC4yTDQ3My42IDE3Ny44Yy01LjkgOC45LTE1LjkgMTQuMi0yNi42IDE0LjJsLTQ5LjYgMC05MC43IDkwLjdjMTUgMzMuMyA4LjkgNzMuOS0xOC41IDEwMS4zTDE2Mi4xIDUxMC4xYy0xOC43IDE4LjctNDkuMSAxOC43LTY3LjkgMEwzNC4xIDQ0OS45Yy0xOC43LTE4LjctMTguNy00OS4xIDAtNjcuOUwxNjAuMSAyNTZjMjcuNC0yNy40IDY3LjktMzMuNiAxMDEuMy0xOC41bDkwLjctOTAuN3oiXX0sbVB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyYWN0b3IiLGljb246WzU3Niw1MTIsWzEyODY2OF0sImY3MjIiLCJNMTYwIDk2bDAgOTYgMTMzLjQgMC01Ny42LTk2LTc1LjggMHpNOTYgMjIzTDk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEwNy44IDBjMjIuNSAwIDQzLjMgMTEuOCA1NC45IDMxLjFsNzcuNCAxMjguOSA2NCAwIDAtNzJjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDcyIDQ4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0MS41YzAgMTQuMi02LjMgMjcuOC0xNy4zIDM2LjlsLTM1IDI5LjJjMjYuNSAxNS4yIDQ0LjMgNDMuNyA0NC4zIDc2LjQgMCA0OC42LTM5LjQgODgtODggODhzLTg4LTM5LjQtODgtODhjMC0xNC40IDMuNS0yOCA5LjYtNDBsLTEwMS4yIDBjLTMgMTMuNC03LjkgMjYtMTQuNCAzNy43IDcuNyA5LjQgNy4yIDIzLjQtMS42IDMyLjJsLTIyLjYgMjIuNmMtOC44IDguOC0yMi43IDkuMy0zMi4yIDEuNi05LjMgNS4yLTE5LjMgOS4zLTI5LjggMTIuMy0xLjIgMTIuMS0xMS40IDIxLjYtMjMuOSAyMS42bC0zMiAwYy0xMi40IDAtMjIuNy05LjUtMjMuOS0yMS42LTEwLjUtMy0yMC40LTcuMi0yOS44LTEyLjMtOS40IDcuNy0yMy40IDcuMi0zMi4yLTEuNkwzNS41IDQ1My44Yy04LjgtOC44LTkuMy0yMi43LTEuNi0zMi4yLTUuMi05LjMtOS4zLTE5LjMtMTIuMy0yOS44LTEyLjEtMS4yLTIxLjYtMTEuNC0yMS42LTIzLjlsMC0zMmMwLTEyLjQgOS41LTIyLjcgMjEuNi0yMy45IDMtMTAuNSA3LjItMjAuNCAxMi4zLTI5LjgtNy43LTkuNC03LjItMjMuNCAxLjYtMzIuMmwyMi42LTIyLjZjOC44LTguOCAyMi43LTkuMyAzMi4yLTEuNiAxLjktMSAzLjctMiA1LjctM3ptNjQgNjVhNjQgNjQgMCAxIDAgMCAxMjggNjQgNjQgMCAxIDAgMC0xMjh6TTQ0MCA0MjRhNDAgNDAgMCAxIDAgODAgMCA0MCA0MCAwIDEgMCAtODAgMHoiXX0sZ1B0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyaWRnZS1jaXJjbGUteG1hcmsiLGljb246WzU3Niw1MTIsW10sImU0Y2IiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDggMCAwIDY0LTQwIDAgMCAxMTJjMzcuNiA5LjQgNjQgNDMuMiA2NCA4MmwwIDk0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2IDYuNCAwIDEyLjcgLjYgMTguNyAxLjggMzQuNy00OS41IDkyLjItODEuOCAxNTcuMy04MS44IDI4LjYgMCA1NS42IDYuMiA4MCAxNy40bDAtNjUuNC00MCAwIDAtNjQgOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyek00MjQgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNMjk2IDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTg4IDk2bDgwIDAgMCA2NC04MCAwIDAtNjR6TTQzMiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43bC0zNi43IDM2LjcgMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTM2LjctMzYuNy0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsMzYuNy0zNi43LTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDM2LjcgMzYuNyAzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42eiJdfSxiUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlhbHMiLGljb246WzUxMiw1MTIsW10sImY0OTMiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGwwIDM1MmMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMzUyIDY0IDAgMCAzNTJjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwwLTM1MmMxNy43IDAgMzItMTQuMyAzMi0zMlM0OTcuNyAwIDQ4MCAwTDMyIDB6TTE2MCA2NGwwIDEyOC02NCAwIDAtMTI4IDY0IDB6bTI1NiAwbDAgMTI4LTY0IDAgMC0xMjggNjQgMHoiXX0sdlB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0ZXRob3Njb3BlIixpY29uOls1NzYsNTEyLFsxMjk2NThdLCJmMGYxIiwiTTMyIDQ4QzMyIDIxLjUgNTMuNSAwIDgwIDBsNDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDEyOGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMTI4LTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzIzOC4zIDAgMjU2IDBsNDggMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE0NGMwIDc3LjQtNTUgMTQyLTEyOCAxNTYuOGwwIDE5LjJjMCA2MS45IDUwLjEgMTEyIDExMiAxMTJzMTEyLTUwLjEgMTEyLTExMmwwLTg1LjVjLTM3LjMtMTMuMi02NC00OC43LTY0LTkwLjUgMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmMwIDQxLjgtMjYuNyA3Ny40LTY0IDkwLjVsMCA4NS41YzAgOTcuMi03OC44IDE3Ni0xNzYgMTc2UzE2MCA0NjUuMiAxNjAgMzY4bDAtMTkuMkM4NyAzMzQgMzIgMjY5LjQgMzIgMTkyTDMyIDQ4ek00ODAgMjI0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0seFB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBvZGNhc3QiLGljb246WzQ0OCw1MTIsW10sImYyY2UiLCJNMzM2IDM1OS44YzM5LjEtMzIuMyA2NC04MS4xIDY0LTEzNS44IDAtOTcuMi03OC44LTE3Ni0xNzYtMTc2UzQ4IDEyNi44IDQ4IDIyNEM0OCAyNzguNyA3Mi45IDMyNy41IDExMiAzNTkuOCAxMTIuNCAzNzcuNCAxMTUuMiA0MDAuMiAxMTguNCA0MjEuNiA0OCAzODMuOSAwIDMwOS41IDAgMjI0IDAgMTAwLjMgMTAwLjMgMCAyMjQgMFM0NDggMTAwLjMgNDQ4IDIyNGMwIDg1LjYtNDggMTU5LjktMTE4LjUgMTk3LjYgMy4zLTIxLjQgNi00NC4yIDYuNC02MS44em0tMTQtNTMuNGMtOC4zLTEyLjYtMTkuMi0yMS42LTMwLjQtMjcuOC0yLjEtMS4xLTQuMi0yLjItNi4zLTMuMiAxMS43LTEzLjkgMTguOC0zMS45IDE4LjgtNTEuNSAwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MGMwIDE5LjYgNy4xIDM3LjYgMTguOCA1MS41LTIuMSAxLTQuMiAyLTYuMyAzLjItMTEuMiA2LjItMjIuMSAxNS4yLTMwLjQgMjcuOC0xOC44LTIyLjMtMzAuMS01MS0zMC4xLTgyLjQgMC03MC43IDU3LjMtMTI4IDEyOC0xMjhzMTI4IDU3LjMgMTI4IDEyOGMwIDMxLjQtMTEuMyA2MC4yLTMwLjEgODIuNHpNMjI0IDMxMmMzMi45IDAgNjQgOC42IDY0IDQzLjggMCAzMy0xMi45IDEwNC4xLTIwLjYgMTMyLjktNS4xIDE5LTI0LjUgMjMuNC00My40IDIzLjRzLTM4LjItNC40LTQzLjQtMjMuNGMtNy44LTI4LjUtMjAuNi05OS43LTIwLjYtMTMyLjggMC0zNS4xIDMxLjEtNDMuOCA2NC00My44em0wLTEyOGE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6Il19LHlQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC1yaWdodC1kb3RzIixpY29uOls1MTIsNTEyLFtdLCJlNGI3IiwiTTk2IDMyQzc4LjMgMzIgNjQgNDYuMyA2NCA2NFM3OC4zIDk2IDk2IDk2TDExNC43IDk2IDkuNCAyMDEuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxNjAgMTQxLjMgMTYwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJMOTYgMzJ6TTQwMy44IDcwLjFhMzguMSAzOC4xIDAgMSAwIDc2LjIgMCAzOC4xIDM4LjEgMCAxIDAgLTc2LjIgMHpNMjc5LjcgMTk0LjJhMzguMSAzOC4xIDAgMSAwIDc2LjIgMCAzOC4xIDM4LjEgMCAxIDAgLTc2LjIgMHptMTYyLjItMzguMWEzOC4xIDM4LjEgMCAxIDAgMCA3Ni4yIDM4LjEgMzguMSAwIDEgMCAwLTc2LjJ6TTE1Ni4yIDMxNy44YTM4LjEgMzguMSAwIDEgMCA3Ni4yIDAgMzguMSAzOC4xIDAgMSAwIC03Ni4yIDB6bTE2MS42LTM4LjFhMzguMSAzOC4xIDAgMSAwIDAgNzYuMiAzOC4xIDM4LjEgMCAxIDAgMC03Ni4yem04Ni4xIDM4LjFhMzguMSAzOC4xIDAgMSAwIDc2LjIgMCAzOC4xIDM4LjEgMCAxIDAgLTc2LjIgMHpNNzAuMSA0MDMuOGEzOC4xIDM4LjEgMCAxIDAgMCA3Ni4yIDM4LjEgMzguMSAwIDEgMCAwLTc2LjJ6bTg2LjEgMzguMWEzOC4xIDM4LjEgMCAxIDAgNzYuMiAwIDM4LjEgMzguMSAwIDEgMCAtNzYuMiAwem0xNjEuNi0zOC4xYTM4LjEgMzguMSAwIDEgMCAwIDc2LjIgMzguMSAzOC4xIDAgMSAwIDAtNzYuMnptODYuMSAzOC4xYTM4LjEgMzguMSAwIDEgMCA3Ni4yIDAgMzguMSAzOC4xIDAgMSAwIC03Ni4yIDB6Il19LHdQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGVzcy1xdWVlbiIsaWNvbjpbNTEyLDUxMixbOTgxOV0sImY0NDUiLCJNMjU2IDgwYTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNNS41IDE4NUwxMjggMzg0IDcxLjggNDU0LjNjLTUgNi4zLTcuOCAxNC4xLTcuOCAyMi4yIDAgMTkuNiAxNS45IDM1LjUgMzUuNSAzNS41bDMxMi45IDBjMTkuNiAwIDM1LjUtMTUuOSAzNS41LTM1LjUgMC04LjEtMi43LTE1LjktNy44LTIyLjJMMzg0IDM4NCA1MDYuNSAxODVjMy42LTUuOSA1LjUtMTIuNyA1LjUtMTkuNmwwLS42YzAtMjAuMy0xNi41LTM2LjgtMzYuOC0zNi44LTcuMyAwLTE0LjQgMi4yLTIwLjQgNi4ybC0xNi45IDExLjNjLTEyLjcgOC41LTI5LjYgNi44LTQwLjQtNGwtMzQuMS0zNC4xQzM1Ni4xIDEwMC4xIDM0Ni4yIDk2IDMzNiA5NnMtMjAuMSA0LjEtMjcuMyAxMS4zbC0zMC4xIDMwLjFjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC0zMC4xLTMwLjFDMTk2LjEgMTAwLjEgMTg2LjIgOTYgMTc2IDk2cy0yMC4xIDQuMS0yNy4zIDExLjNsLTM0LjEgMzQuMWMtMTAuOCAxMC44LTI3LjcgMTIuNS00MC40IDRMNTcuMyAxMzQuMmMtNi4xLTQtMTMuMi02LjItMjAuNC02LjItMjAuMyAwLTM2LjggMTYuNS0zNi44IDM2LjhsMCAuNmMwIDYuOSAxLjkgMTMuNyA1LjUgMTkuNnoiXX0sTVB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFuY2hvci1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzY0MCw1MTIsW10sImU0YWIiLCJNMzIwLjUgOTZhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHptLTMyLTk2Yy01MyAwLTk2IDQzLTk2IDk2IDAgNDEuOCAyNi43IDc3LjQgNjQgOTAuNWwwIDI1Ny45Yy02Mi45LTE0LjMtMTEwLjItNjkuNy0xMTEuOS0xMzYuNWwxNi4xIDE0LjFjMTAgOC43IDI1LjEgNy43IDMzLjktMi4zczcuNy0yNS4xLTIuMy0zMy45bC02NC01NmMtOS03LjktMjIuNi03LjktMzEuNiAwbC02NCA1NmMtMTAgOC43LTExIDIzLjktMi4zIDMzLjlzMjMuOSAxMSAzMy45IDIuM2wxNi4yLTE0LjJjMi4xIDExMy4xIDk0LjQgMjA0LjEgMjA4IDIwNC4xIDE2LjYgMCAzMi43LTEuOSA0OC4yLTUuNi0yMC4zLTMwLjUtMzIuMi02Ny0zMi4yLTEwNi40IDAtMjcuMyA1LjctNTMuMyAxNi03Ni45bDAtMTM2LjZjMzcuMy0xMy4yIDY0LTQ4LjcgNjQtOTAuNSAwLTUzLTQzLTk2LTk2LTk2em0yMDggNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTE0MGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sUjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVsbGlwc2lzLXZlcnRpY2FsIixpY29uOlsxMjgsNTEyLFsiZWxsaXBzaXMtdiJdLCJmMTQyIiwiTTY0IDE0NGE1NiA1NiAwIDEgMSAwLTExMiA1NiA1NiAwIDEgMSAwIDExMnptMCAyMjRjMzAuOSAwIDU2IDI1LjEgNTYgNTZzLTI1LjEgNTYtNTYgNTYtNTYtMjUuMS01Ni01NiAyNS4xLTU2IDU2LTU2em01Ni0xMTJjMCAzMC45LTI1LjEgNTYtNTYgNTZzLTU2LTI1LjEtNTYtNTYgMjUuMS01NiA1Ni01NiA1NiAyNS4xIDU2IDU2eiJdfSxrUHQ9UjVlLFNQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFydC1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzU3Niw1MTIsW10sImU0ZmUiLCJNMjQxIDg3LjFsMTUgMjAuNyAxNS0yMC43QzI5NiA1Mi41IDMzNi4yIDMyIDM3OC45IDMyIDQ1Mi40IDMyIDUxMiA5MS42IDUxMiAxNjUuMWwwIDIuNmMwIDE3LjYtMy40IDM1LjYtOS41IDUzLjctMjEuOC04LjYtNDUuNi0xMy40LTcwLjUtMTMuNC0xMDYgMC0xOTIgODYtMTkyIDE5MiAwIDI4LjUgNi4yIDU1LjYgMTcuNCA4MC0uNSAwLS45IDAtMS40IDAtMTUuNSAwLTMwLjgtNC42LTQzLjEtMTQuMS03My01NS43LTIxMi45LTE4Ni0yMTIuOS0yOTguMmwwLTIuNkMwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMiAxNzUuOCAzMiAyMTYgNTIuNSAyNDEgODcuMXpNNDMyIDI1NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTAgMjI4YTIwIDIwIDAgMSAwIDAtNDAgMjAgMjAgMCAxIDAgMCA0MHptMC0xODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDgwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC04MGMwLTguOC03LjItMTYtMTYtMTZ6Il19LHpQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzU3Niw1MTIsW10sImU0ZDMiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODAgMGMtMTAuNS0xNC42LTE5LTMwLjctMjUuMS00OGwtNzQuOSAwIDAtODBjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMyIDAgNCAuMiA1LjkgLjUgNi0yMy42IDE2LjMtNDUuNCAzMC4xLTY0LjVsLTQgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNGMyNy41LTE5LjggNjAuMy0zMi40IDk2LTM1LjRMNDE2IDY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDk2IDB6bTMyIDExMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNzIgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNMTI4IDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek00MzIgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTE0MGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sQ1B0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1hcnJvdy11cC1mcm9tLWxpbmUiLGljb246WzU3Niw1MTIsW10sImU1MzkiLCJNMTkyLTMyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek0zMTguMyAyOTkuMWwtNDYuMy02Mi40IDAgMjQzLjMgMjcyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNTQ0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDgwIDAgMC0yNDMuMy00Ni4zIDYyLjRjLTEwLjUgMTQuMi0zMC42IDE3LjItNDQuOCA2LjZzLTE3LjItMzAuNi02LjYtNDQuOGw3MC41LTk1QzExMCAxMzIgMTQ5LjcgMTEyIDE5MiAxMTJzODIgMjAgMTA3LjIgNTMuOWw3MC41IDk1YzEwLjUgMTQuMiA3LjYgMzQuMi02LjYgNDQuOHMtMzQuMiA3LjYtNDQuOC02LjZ6TTIwOCA0ODBsMC0xMjhjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAxMjggMzIgMHpNNTY2LjYgMTAyLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwTDQ5NiA3Ny4zIDQ5NiAyMjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNDYuNy0yNS40IDI1LjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDgwLTgwYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDgwIDgwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zeiJdfSxfUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibm90LWVxdWFsIixpY29uOls0NDgsNTEyLFtdLCJmNTNlIiwiTTM3OC42IDgxLjhjOS44LTE0LjcgNS44LTM0LjYtOC45LTQ0LjRzLTM0LjYtNS44LTQ0LjQgOC45TDI3MC45IDEyOCAzMiAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTk2LjIgMC04NS4zIDEyOC0xMTAuOSAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDY4LjIgMC0zMC44IDQ2LjJjLTkuOCAxNC43LTUuOCAzNC42IDguOSA0NC40czM0LjYgNS44IDQ0LjQtOC45TDE3Ny4xIDM4NCA0MTYgMzg0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xOTYuMiAwIDg1LjMtMTI4IDExMC45IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY4LjIgMCAzMC44LTQ2LjJ6Il19LFRQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFpbi10cmFtIixpY29uOlszODQsNTEyLFsxMjg2NTBdLCJlNWI0IiwiTTAgOEMwLTUuMyAxMC43LTE2IDI0LTE2bDMzNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC04LTEyMCAwIDAgNjQgNDAgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMTYwYzAgMzEuMi0xNC45IDU5LTM4IDc2LjVsNjQuMyA3NmM4LjYgMTAuMSA3LjMgMjUuMy0yLjggMzMuOHMtMjUuMyA3LjMtMzMuOC0yLjhsLTc0LjYtODguMWMtMy42IC40LTcuMyAuNi0xMS4xIC42bC0xMjggMGMtMy44IDAtNy41LS4yLTExLjEtLjZMNDIuMyA1MzUuNWMtOC42IDEwLjEtMjMuNyAxMS40LTMzLjggMi44cy0xMS40LTIzLjctMi44LTMzLjhsNjQuMy03NkM0Ni45IDQxMSAzMiAzODMuMiAzMiAzNTJsMC0xNjBjMC01MyA0My05NiA5Ni05Nmw0MCAwIDAtNjQtMTIwIDAgMCA4YzAgMTMuMy0xMC43IDI0LTI0IDI0UzAgNTMuMyAwIDQwTDAgOHpNMTI4IDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xMjggMHptMzIgMTkyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTk2IDMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sTFB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW5lLWRlcGFydHVyZSIsaWNvbjpbNTc2LDUxMixbMTI4NzQ3XSwiZjViMCIsIk0zNzIgMTQzLjlMMTcyLjcgNDAuMmMtOC00LjEtMTcuMy00LjgtMjUuNy0xLjdsLTQxLjEgMTVjLTEwLjMgMy43LTEzLjggMTYuNC03LjEgMjVMMjAwLjMgMjA2LjQgMTAwLjEgMjQyLjggNDAgMjA2LjJjLTYuMi0zLjgtMTMuOC00LjUtMjAuNy0yLjFMMyAyMTAuMWMtOS40IDMuNC0xMy40IDE0LjUtOC4zIDIzLjFsNTMuNiA5MS44YzE1LjYgMjYuNyA0OC4xIDM4LjQgNzcuMSAyNy44bDEyLjktNC43IDAgMCAzOTguNC0xNDVjMjkuMS0xMC42IDQ0LTQyLjcgMzMuNS03MS44cy00Mi43LTQ0LTcxLjgtMzMuNUwzNzIgMTQzLjl6TTMyLjIgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDUxMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC01MTIgMHoiXX0sTzVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJpZ2h0LXRvLWJyYWNrZXQiLGljb246WzUxMiw1MTIsWyJzaWduLWluLWFsdCJdLCJmMmY2IiwiTTM0NSAyNzNjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlMMjAxIDk1Yy02LjktNi45LTE3LjItOC45LTI2LjItNS4yUzE2MCAxMDIuMyAxNjAgMTEybDAgODAtMTEyIDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMzJjMCAyNi41IDIxLjUgNDggNDggNDhsMTEyIDAgMCA4MGMwIDkuNyA1LjggMTguNSAxNC44IDIyLjJzMTkuMyAxLjcgMjYuMi01LjJMMzQ1IDI3M3ptNyAxNDNjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMjU2YzAtNTMtNDMtOTYtOTYtOTZsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMHoiXX0sJFB0PU81ZSxEUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2QtY2FyZCIsaWNvbjpbMzg0LDUxMixbXSwiZjdjMiIsIk0zODQgNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMMTI1LjMgMEMxMDguMyAwIDkyIDYuNyA4MCAxOC43TDE4LjcgODBDNi43IDkyIDAgMTA4LjMgMCAxMjUuM0wwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NHpNMTYwIDg4bDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0em04OCAwbDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0em04OCAwbDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0eiJdfSxBUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls2NDAsNTEyLFtdLCJlNTBhIiwiTTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMSAwLTI4OCAxNDQgMTQ0IDAgMSAxIDAgMjg4ek0yNjguNiA2LjVjMTIuMi05LjMgMjkuNy04LjcgNDEuMiAybDIxNy42IDIwMmMtMTAuMi0xLjctMjAuNy0yLjYtMzEuMy0yLjYtNzguNiAwLTE0Ni4xIDQ3LjItMTc1LjggMTE0LjgtNS4xLTEuOC0xMC41LTIuOC0xNi4yLTIuOGwtMzIgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NiA5MSAwYzYuMSAxNy4zIDE0LjYgMzMuNCAyNS4xIDQ4TDE0NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOCAyLjQtMnpNNDk2IDQ0NGEyMCAyMCAwIDEgMCAwIDQwIDIwIDIwIDAgMSAwIDAtNDB6bTAtMTQwYy04LjggMC0xNiA3LjItMTYgMTZsMCA4MGMwIDguOCA3LjIgMTYgMTYgMTYgOC44IDAgMTYtNy4yIDE2LTE2bDAtODBjMC04LjgtNy4yLTE2LTE2LTE2eiJdfSxKOD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGVrZWwtc2lnbiIsaWNvbjpbNDQ4LDUxMixbODM2MiwiaWxzIiwic2hla2VsIiwic2hlcWVsIiwic2hlcWVsLXNpZ24iXSwiZjIwYiIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zNTIgMTI4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTcwLjctNTcuMy0xMjgtMTI4LTEyOEwzMiAzMnpNMzIwIDQ4MGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGwwLTI4OGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMTI4IDAgMC0yMjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyNTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDB6Il19LEVQdD1KOCxQUHQ9SjgsSVB0PUo4LE5QdD1KOCxSUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmFkaW8iLGljb246WzUxMiw1MTIsWzEyODI1MV0sImY4ZDciLCJNNDk0LjggMTVjMTIuNy0zLjcgMjAtMTcuMSAxNi4zLTI5LjhTNDk0LTM0LjggNDgxLjMtMzFMNTEuOCA5NC45QzQyLjQgOTcuNiAzMy45IDEwMi4xIDI2LjYgMTA4IDEwLjUgMTE5LjcgMCAxMzguNiAwIDE2MEwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEwyMTguNSA5NiA0OTQuOCAxNXpNMzY4IDIwOGE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHpNNjQgMjQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDg4IDI3MmMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTAgOTZjMC0xMy4zIDEwLjctMjQgMjQtMjRsMTEyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMODggMzY4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHoiXX0sRjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtZG90cyIsaWNvbjpbNTEyLDUxMixbImFsbGVyZ2llcyJdLCJmNDYxIiwiTTI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDIwOGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTE3NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDI3MmMwIDEuNSAwIDMuMSAuMSA0LjZMNjcuNiAyODNjLTE2LTE1LjItNDEuMy0xNC42LTU2LjYgMS40Uy0zLjYgMzI1LjcgMTIuNCAzNDFMMTI0LjggNDQ4YzQzLjEgNDEuMSAxMDAuNCA2NCAxNjAgNjRsMTkuMiAwYzk3LjIgMCAxNzYtNzguOCAxNzYtMTc2bDAtMjA4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTEyYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTc2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTc2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMjA4ek0yMDAgMzUyYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTEyMC01NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTQwIDg4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bS04OCAyNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LE9QdD1GNWUsQjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2stc2t1bGwiLGljb246WzQ0OCw1MTIsWyJib29rLWRlYWQiXSwiZjZiNyIsIk05NiA1MTJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC02Ni43YzE4LjYtNi42IDMyLTI0LjQgMzItNDUuM2wwLTI4OGMwLTI2LjUtMjEuNS00OC00OC00OEw5NiAwQzQzIDAgMCA0MyAwIDk2TDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZ6TTY0IDQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNTYgMCAwIDY0LTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNMjcyIDE2My4ybDAgMTIuOGMwIDguOC03LjIgMTYtMTYgMTZsLTY0IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTEyLjhjLTE5LjQtMTEuNy0zMi0zMC4zLTMyLTUxLjIgMC0zNS4zIDM1LjgtNjQgODAtNjRzODAgMjguNyA4MCA2NGMwIDIwLjktMTIuNiAzOS41LTMyIDUxLjJ6TTIwOCAxMTJhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptNDggMTZhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem03NC4yIDk1LjdjNC42IDEwLjEgLjEgMjEuOS05LjkgMjYuNWwtNDcuOSAyMS44IDQ3LjkgMjEuOGMxMC4xIDQuNiAxNC41IDE2LjQgOS45IDI2LjVzLTE2LjQgMTQuNS0yNi41IDkuOUwyMjQgMjk0IDE0NC4zIDMzMC4yYy0xMC4xIDQuNi0yMS45IC4xLTI2LjUtOS45cy0uMS0yMS45IDkuOS0yNi41bDQ3LjktMjEuOC00Ny45LTIxLjhjLTEwLjEtNC42LTE0LjUtMTYuNC05LjktMjYuNXMxNi40LTE0LjUgMjYuNS05LjlMMjI0IDI1MCAzMDMuNyAyMTMuOGMxMC4xLTQuNiAyMS45LS4xIDI2LjUgOS45eiJdfSxGUHQ9QjVlLEg1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1bmxvY2sta2V5aG9sZSIsaWNvbjpbMzg0LDUxMixbInVubG9jay1hbHQiXSwiZjEzZSIsIk0xOTIgMzJjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNjQgMTkyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyMjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDIyNGMwLTM1LjMgMjguNy02NCA2NC02NGwwLTY0YzAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4IDYzLjUgMCAxMTYuMSA0Ni4xIDEyNi4yIDEwNi43IDIuOSAxNy40LTguOCAzMy45LTI2LjMgMzYuOXMtMzMuOS04LjgtMzYuOS0yNi4zQzI1MCA1NS4xIDIyMy43IDMyIDE5MiAzMnptNDAgMzI4YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDgwIDB6Il19LEJQdD1INWUscTVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtYXJyb3ctdXAiLGljb246WzM4NCw1MTIsWyJmaWxlLXVwbG9hZCJdLCJmNTc0IiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek0yMDkgMjYzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtNjQgNjRjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGwyMy0yMyAwIDg2LjFjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTg2LjEgMjMgMjNjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC02NC02NHoiXX0sSFB0PXE1ZSxWNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmluLXRlYXJzIixpY29uOls2NDAsNTEyLFsxMjg1MTQsImdyaW4tdGVhcnMiXSwiZjU4OCIsIk01NTQuOCAyMDMuNGwxNi4zIDIuM0M1NDcuNyA4OC40IDQ0NC4yIDAgMzIwIDBTOTIuMyA4OC40IDY4LjkgMjA1LjdsMTYuMy0yLjNjMzctNS4zIDY4LjYgMjYuNCA2My40IDYzLjRsLTYuNyA0Ni43Yy00LjEgMjktMjEuNiA1My4yLTQ1LjggNjYuOCA0My43IDc4LjUgMTI3LjYgMTMxLjcgMjIzLjggMTMxLjdzMTgwLjEtNTMuMSAyMjMuOC0xMzEuN2MtMjQuMS0xMy41LTQxLjYtMzcuOC00NS44LTY2LjhsLTYuNy00Ni43Yy01LjMtMzcgMjYuNC02OC42IDYzLjQtNjMuNHpNNDcwLjMgMzI2LjlDNDQ3LjkgMzg4LjIgMzg5LjEgNDMyIDMyMCA0MzJTMTkyLjEgMzg4LjIgMTY5LjcgMzI2LjljLTQuMy0xMS44IDcuNy0yMS44IDE5LjYtMTguMSAzOS4yIDEyLjIgODMuNyAxOS4xIDEzMC43IDE5LjFzOTEuNS02LjkgMTMwLjctMTkuMWMxMS45LTMuNyAyMy45IDYuMyAxOS42IDE4LjF6TTIxMiAyMDhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHptMTg4LTI4Yy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4ek02NDAgMzAwLjZjMC0yNS42LTE4LjgtNDcuMy00NC4xLTUwLjlMNTQ5LjEgMjQzYy0xMC42LTEuNS0xOS42IDcuNS0xOC4xIDE4LjFsNi43IDQ2LjdjMy42IDI1LjMgMjUuMyA0NC4xIDUwLjkgNDQuMSAyOC40IDAgNTEuNC0yMyA1MS40LTUxLjR6bS02NDAgMEMwIDMyOSAyMyAzNTIgNTEuNCAzNTIgNzcgMzUyIDk4LjcgMzMzLjIgMTAyLjMgMzA3LjlsNi43LTQ2LjdjMS41LTEwLjYtNy41LTE5LjYtMTguMS0xOC4xbC00Ni43IDYuN0MxOC44IDI1My4zIDAgMjc1IDAgMzAwLjZ6Il19LHFQdD1WNWUsY3Y9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVuLXRvLXNxdWFyZSIsaWNvbjpbNTEyLDUxMixbImVkaXQiXSwiZjA0NCIsIk00NzEuNiAyMS43Yy0yMS45LTIxLjktNTcuMy0yMS45LTc5LjIgMEwzNjggNDYuMSA0NjUuOSAxNDQgNDkwLjMgMTE5LjZjMjEuOS0yMS45IDIxLjktNTcuMyAwLTc5LjJMNDcxLjYgMjEuN3ptLTI5OS4yIDIyMGMtNi4xIDYuMS0xMC44IDEzLjYtMTMuNSAyMS45bC0yOS42IDg4LjhjLTIuOSA4LjYtLjYgMTguMSA1LjggMjQuNnMxNS45IDguNyAyNC42IDUuOGw4OC44LTI5LjZjOC4yLTIuNyAxNS43LTcuNCAyMS45LTEzLjVMNDMyIDE3Ny45IDMzNC4xIDgwIDE3Mi40IDI0MS43ek05NiA2NEM0MyA2NCAwIDEwNyAwIDE2MEwwIDQxNmMwIDUzIDQzIDk2IDk2IDk2bDI1NiAwYzUzIDAgOTYtNDMgOTYtOTZsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw5NiA2NHoiXX0sVlB0PWN2LGo1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlYXJ0aC1ldXJvcGUiLGljb246WzUxMiw1MTIsWyJnbG9iZS1ldXJvcGUiXSwiZjdhMiIsIk0yNTYuMiA0OGMxMTQuOCAuMSAyMDcuOCA5My4yIDIwNy44IDIwOCAwIDIyLjEtMy40IDQzLjQtOS44IDYzLjQtMiAuNC00LjEgLjYtNi4yIC42bC0yLjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRsLTI5LjMtMjkuM2MtNi02LTkuNC0xNC4xLTkuNC0yMi42bDAtNTAuN2MwLTguOCA3LjItMTYgMTYtMTZzMTYtNy4yIDE2LTE2LTcuMi0xNi0xNi0xNmwtMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnMtNy4yIDE2LTE2IDE2bC0yNS40IDBjLTEyLjUgMC0yMi42LTEwLjEtMjIuNi0yMi42IDAtNiAyLjQtMTEuOCA2LjYtMTZsNzAuMS03MC4xYzIuMS0yLjEgMy4zLTUgMy4zLTggMC02LjItNS4xLTExLjMtMTEuMy0xMS4zbC0xNC4xIDBjLTEyLjUgMC0yMi42LTEwLjEtMjIuNi0yMi42IDAtNiAyLjQtMTEuOCA2LjYtMTZsMjMuMS0yMy4xYy44LS44IDEuNi0xLjUgMi41LTIuMnpNNDM4LjQgMzU2LjFjLTMyLjggNTkuNi05My45IDEwMS40LTE2NS4yIDEwNy4yLS43LTIuMy0xLjEtNC44LTEuMS03LjMgMC0xMy4zLTEwLjctMjQtMjQtMjRsLTI2LjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRsLTI5LjMtMjkuM2MtNi02LTkuNC0xNC4xLTkuNC0yMi42bDAtNjYuN2MwLTE3LjcgMTQuMy0zMiAzMi0zMmw5OC43IDBjOC41IDAgMTYuNiAzLjQgMjIuNiA5LjRsMjkuMyAyOS4zYzYgNiAxNC4xIDkuNCAyMi42IDkuNGw1LjUgMGM4LjUgMCAxNi42IDMuNCAyMi42IDkuNGwxNiAxNmM0LjIgNC4yIDEwIDYuNiAxNiA2LjYgNC44IDAgOS4zIDEuNSAxMyA0LjF6TTI1NiA1MTJsMjYuMi0xLjNjLTguNiAuOS0xNy4zIDEuMy0yNi4yIDEuM3ptMjYuMi0xLjNDNDExLjMgNDk3LjYgNTEyIDM4OC42IDUxMiAyNTYgNTEyIDExNC42IDM5Ny40IDAgMjU2IDBsMCAwQzExNC42IDAgMCAxMTQuNiAwIDI1NiAwIDM4My41IDkzLjIgNDg5LjMgMjE1LjMgNTA4LjggMjI4LjUgNTEwLjkgMjQyLjEgNTEyIDI1NiA1MTJ6TTE4Ny4zIDEyMy4zbC0zMiAzMmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzMi0zMmM2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6Il19LGpQdD1qNWUsVTVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1iZWFtLXN3ZWF0IixpY29uOls1NzYsNTEyLFsxMjg1MTcsImdyaW4tYmVhbS1zd2VhdCJdLCJmNTgzIiwiTTU0Ni4yLS4xYzE0LjcgMTcuOCAyOS44IDQwLjEgMjkuOCA2NC4xIDAgMzYuNC0yNy42IDY0LTY0IDY0cy02NC0yNy42LTY0LTY0YzAtMjQgMTUuMi00Ni4zIDI5LjgtNjQuMSA4LjgtMTAuNyAxOC41LTIwLjggMjktMzAgMy0yLjYgNy40LTIuNiAxMC40IDAgMTAuNSA5LjEgMjAuMSAxOS4zIDI5IDMwek0yODggMGM0Mi41IDAgODIuNiAxMC40IDExNy44IDI4LjctMy42IDEwLjktNS44IDIyLjctNS44IDM1LjMgMCA2Mi45IDQ5LjEgMTEyIDExMiAxMTIgNi40IDAgMTIuNy0uNSAxOC44LTEuNSA4LjYgMjUuNiAxMy4yIDUzIDEzLjIgODEuNSAwIDE0MS40LTExNC42IDI1Ni0yNTYgMjU2UzMyIDM5Ny40IDMyIDI1NiAxNDYuNiAwIDI4OCAwek00MTguNyAzMDguOUMzNzkuNSAzMjEuMSAzMzUuMSAzMjggMjg4IDMyOHMtOTEuNS02LjktMTMwLjctMTkuMWMtMTEuOS0zLjctMjMuOSA2LjMtMTkuNiAxOC4xIDIyLjQgNjEuMyA4MS4zIDEwNS4xIDE1MC4zIDEwNS4xczEyNy45LTQzLjggMTUwLjMtMTA1LjFjNC4zLTExLjgtNy43LTIxLjgtMTkuNi0xOC4xek0yMDggMTgwYzE1LjUgMCAyOCAxMi41IDI4IDI4bDAgOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLThjMC0zNy42LTMwLjQtNjgtNjgtNjhzLTY4IDMwLjQtNjggNjhsMCA4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtOGMwLTE1LjUgMTIuNS0yOCAyOC0yOHptMTMyIDI4YzAtMTUuNSAxMi41LTI4IDI4LTI4czI4IDEyLjUgMjggMjhsMCA4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtOGMwLTM3LjYtMzAuNC02OC02OC02OHMtNjggMzAuNC02OCA2OGwwIDhjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC04eiJdfSxVUHQ9VTVlLFc1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtaGFsZi1zdHJva2UiLGljb246WzUxMiw1MTIsWzk2ODAsImFkanVzdCJdLCJmMDQyIiwiTTQ0OCAyNTZjMC0xMDYtODYtMTkyLTE5Mi0xOTJsMCAzODRjMTA2IDAgMTkyLTg2IDE5Mi0xOTJ6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6Il19LFdQdD1XNWUsR1B0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1taWxpdGFyeS10by1wZXJzb24iLGljb246WzUxMiw1MTIsW10sImU1NGMiLCJNNzEgMTIuNWMtOC42IDEtMTUgOC4yLTE1IDE2LjggMCA5LjMgNy41IDE2LjggMTYuNyAxNi45bDExMS40IDBjOC44LS4xIDE1LjktNy4yIDE1LjktMTZMMjAwIDE2YzAtOS41LTguMy0xNy0xNy44LTE1LjlMNzEgMTIuNXpNMTg5LjUgNzguMWwtMTIyLjkgMGMtMS42IDUuNy0yLjUgMTEuNy0yLjUgMTcuOSAwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0YzAtNi4yLS45LTEyLjItMi41LTE3Ljl6TTMyIDI1NmwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzEuOCAwIDMuNS0uMSA1LjItLjRMNTMgMjA4LjZDNDAuMSAyMjAuMyAzMiAyMzcuMiAzMiAyNTZ6bTE5MC4yIDQyLjVjMS4xLTMuMyAxLjgtNi44IDEuOC0xMC41bDAtMzJjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTY0IDBjLTMuNyAwLTcuNCAuMy0xMC45IC45TDIyMi4yIDI5OC41ek0zODQgMTYwYTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4em0tMzIgMzJjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMmMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMHpNMjE1LjggNDUwLjFjNS4yLTQuNiA4LjItMTEuMSA4LjItMTguMXMtMy0xMy41LTguMi0xOC4xbC02NC01NmMtNy4xLTYuMi0xNy4xLTcuNy0yNS43LTMuOFMxMTIgMzY2LjYgMTEyIDM3NmwwIDMyLTg4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODggMCAwIDMyYzAgOS40IDUuNSAxOCAxNC4xIDIxLjlzMTguNiAyLjQgMjUuNy0zLjhsNjQtNTZ6TTI4OCA0MzEuOWMwIDYuOSAzIDEzLjUgOC4xIDE4LjFsNjQgNTYuNGM3LjEgNi4yIDE3LjEgNy44IDI1LjcgMy45UzQwMCA0OTcuOCA0MDAgNDg4LjRsMC0zMi40IDg4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTg4IDAgMC0zMmMwLTkuNC01LjUtMTgtMTQuMS0yMS45cy0xOC42LTIuNC0yNS43IDMuOGwtNjQgNTZjLTUuMiA0LjUtOC4yIDExLjEtOC4yIDE4eiJdfSxZUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGUtY2VsbHMtY29sdW1uLWxvY2siLGljb246WzY0MCw1MTIsW10sImU2NzgiLCJNMjU2IDIyNGwwIDE5MiA2NCAwIDAtMTkyLTY0IDB6bTI1Ni03OWMtNDYuNyA1LjgtODUuNiAzNi44LTEwMi43IDc5bC0yNS4zIDAgMCA5MC44Yy0xMC4xIDE1LjItMTYgMzMuNC0xNiA1My4xbDAgOTZjMCA1LjUgLjUgMTAuOSAxLjMgMTYuMUwxMjggNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEw2NCA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDQ5ek0xMjggMjI0bDAgMTkyIDY0IDAgMC0xOTItNjQgMHptNDMyIDQ4LjFjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45ek00MTYgMzY4YzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2eiJdfSxLUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stZmllbGQtdW4iLGljb246WzY0MCw1MTIsW10sImU1OGUiLCJNOTYgMzJDNjAuNyAzMiAzMiA2MC43IDMyIDk2bDAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsMCA0OGMwIDIxLjEgMTMuNyAzOS4xIDMyLjYgNDUuNS0uNCAzLjQtLjYgNy0uNiAxMC41IDAgNDguNiAzOS40IDg4IDg4IDg4czg4LTM5LjQgODgtODhjMC0yLjctLjEtNS40LS40LThsMTQ0LjcgMGMtLjIgMi42LS40IDUuMy0uNCA4IDAgNDguNiAzOS40IDg4IDg4IDg4czg4LTM5LjQgODgtODhjMC0yLjctLjEtNS40LS40LThsLjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTY0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0yNC43IDAtMS43LTQuMi00My44LTEwNi4zYy0xMi4zLTMwLTQxLjYtNDkuNS03NC00OS41bC00MC40IDBDMzY0LjQgNDQuOSAzNDMuNyAzMiAzMjAgMzJMOTYgMzJ6TTM4NCAyMjRsMC05NiAzMS45IDBjNi41IDAgMTIuMyAzLjkgMTQuOCA5LjlsMzUuNCA4Ni4xLTgyLjEgMHpNMTUyIDM1MmE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6bTI4MCA0MGE0MCA0MCAwIDEgMSA4MCAwIDQwIDQwIDAgMSAxIC04MCAwek0yNTYuNiAxMzIuOWwyNy40IDQxIDAtMjkuOWMwLTExIDktMjAgMjAtMjBzMjAgOSAyMCAyMGwwIDk2YzAgOC44LTUuOCAxNi42LTE0LjIgMTkuMXMtMTcuNS0uNy0yMi40LThsLTI3LjQtNDEgMCAyOS45YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTk2YzAtOC44IDUuOC0xNi42IDE0LjItMTkuMXMxNy41IC43IDIyLjQgOHpNMTMyIDE0NGwwIDY0YzAgNi42IDUuNCAxMiAxMiAxMnMxMi01LjQgMTItMTJsMC02NGMwLTExIDktMjAgMjAtMjBzMjAgOSAyMCAyMGwwIDY0YzAgMjguNy0yMy4zIDUyLTUyIDUycy01Mi0yMy4zLTUyLTUybDAtNjRjMC0xMSA5LTIwIDIwLTIwczIwIDkgMjAgMjB6Il19LEc1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG9jayIsaWNvbjpbNTEyLDUxMixbMTI4MzM5LCJjbG9jay1mb3VyIl0sImYwMTciLCJNMjU2IDBhMjU2IDI1NiAwIDEgMSAwIDUxMiAyNTYgMjU2IDAgMSAxIDAtNTEyek0yMzIgMTIwbDAgMTM2YzAgOCA0IDE1LjUgMTAuNyAyMGw5NiA2NGMxMSA3LjQgMjUuOSA0LjQgMzMuMy02LjdzNC40LTI1LjktNi43LTMzLjNMMjgwIDI0My4yIDI4MCAxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6Il19LFpQdD1HNWUsWFB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2siLGljb246WzQ0OCw1MTIsWzEyODIxMl0sImYwMmQiLCJNMzg0IDUxMkw5NiA1MTJjLTUzIDAtOTYtNDMtOTYtOTZMMCA5NkMwIDQzIDQzIDAgOTYgMEw0MDAgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDI4OGMwIDIwLjktMTMuNCAzOC43LTMyIDQ1LjNsMCA2Ni43YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwek05NiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjU2IDAgMC02NC0yNTYgMHptMzItMjMyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNzYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bTI0IDcyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNzYgMHoiXX0sWTVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtbGF1Z2gtd2luayIsaWNvbjpbNTEyLDUxMixbImxhdWdoLXdpbmsiXSwiZjU5YyIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTAxLjYgMzE0Yy0zLjctMTMuNyA3LjUtMjYgMjEuNy0yNmwyNjUuNCAwYzE0LjIgMCAyNS40IDEyLjMgMjEuNyAyNi0xOC41IDY4LTgwLjYgMTE4LTE1NC40IDExOFMxMjAgMzgyIDEwMS42IDMxNHpNMTQ0IDE5MmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNjQgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBjMC0zMy4xIDI2LjktNjAgNjAtNjBsMTYgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MCAwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjAtOS0yMC0yMC0yMGwtMTYgMGMtMTEgMC0yMCA5LTIwIDIweiJdfSxRUHQ9WTVlLEpQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1tZWF0YmFsbCIsaWNvbjpbNTEyLDUxMixbXSwiZjczYiIsIk0wIDIyNGMwIDUzIDQzIDk2IDk2IDk2bDI2LjkgMGMzLjUtMTIuMSAxMC4xLTIzLjMgMTkuMi0zMi40bDEuNC0xLjRjMTUtMTUgMzUuMy0yMi45IDU2LjEtMjIuMiAxNC4yLTE1LjEgMzQuMi0yMy45IDU1LjQtMjMuOWwyIDBjMjEuMSAwIDQxLjEgOC44IDU1LjQgMjMuOSAyMC44LS42IDQxLjEgNy4zIDU2LjEgMjIuMmwxLjQgMS40YzkuMiA5LjIgMTUuNyAyMC40IDE5LjIgMzIuNGwyNi45IDBjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZjLS41IDAtMS4xIDAtMS42IDAgMS4xLTUuMiAxLjYtMTAuNSAxLjYtMTYgMC00NC4yLTM1LjgtODAtODAtODAtMjQuMyAwLTQ2LjEgMTAuOS02MC44IDI4LTE4LjctMzUuNy01Ni4xLTYwLTk5LjItNjAtNjEuOSAwLTExMiA1MC4xLTExMiAxMTIgMCA3LjEgLjcgMTQuMSAxLjkgMjAuOC0zOC4zIDEyLjYtNjUuOSA0OC43LTY1LjkgOTEuMnpNMTU2LjUgNDI0LjNjOS41IDYuMyAxNC4yIDE3LjcgMTEuOSAyOC44LTEuOCA5LjIgMSAxOC43IDcuNyAyNS4zbDEuNCAxLjRjNi42IDYuNiAxNi4xIDkuNSAyNS4zIDcuNyAxMS4xLTIuMiAyMi41IDIuNSAyOC44IDExLjkgNS4yIDcuOCAxNCAxMi41IDIzLjMgMTIuNWwyIDBjOS40IDAgMTguMS00LjcgMjMuMy0xMi41IDYuMy05LjUgMTcuNy0xNC4yIDI4LjgtMTEuOSA5LjIgMS44IDE4LjctMSAyNS4zLTcuN2wxLjQtMS40YzYuNi02LjYgOS41LTE2LjEgNy43LTI1LjMtMi4yLTExLjEgMi41LTIyLjUgMTEuOS0yOC44IDcuOC01LjIgMTIuNS0xNCAxMi41LTIzLjNsMC0yYzAtOS40LTQuNy0xOC4xLTEyLjUtMjMuMy05LjUtNi4zLTE0LjItMTcuNy0xMS45LTI4LjggMS44LTkuMi0xLTE4LjctNy43LTI1LjNsLTEuNC0xLjRjLTYuNi02LjYtMTYuMS05LjUtMjUuMy03LjctMTEuMSAyLjItMjIuNS0yLjUtMjguOC0xMS45LTUuMi03LjgtMTQtMTIuNS0yMy4zLTEyLjVsLTIgMGMtOS40IDAtMTguMSA0LjctMjMuMyAxMi41LTYuMyA5LjUtMTcuNyAxNC4yLTI4LjggMTEuOS05LjItMS44LTE4LjcgMS0yNS4zIDcuN2wtMS40IDEuNGMtNi42IDYuNi05LjUgMTYuMS03LjcgMjUuMyAyLjIgMTEuMS0yLjUgMjIuNS0xMS45IDI4LjgtNy44IDUuMi0xMi41IDE0LTEyLjUgMjMuM2wwIDJjMCA5LjQgNC43IDE4LjEgMTIuNSAyMy4zek00OCA0NDhhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em00MTYgMGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6Il19LEs1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFydC1hcmVhIixpY29uOls1MTIsNTEyLFsiYXJlYS1jaGFydCJdLCJmMWZlIiwiTTMyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzM2YzAgOC44IDcuMiAxNiAxNiAxNmw0MDAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw4MCA0ODBjLTQ0LjIgMC04MC0zNS44LTgwLTgwTDAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJ6TTI0MCA5NmM2LjcgMCAxMy4xIDIuOCAxNy43IDcuOEwzMjguOCAxODEuMyAzNzUgMTM1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDY0IDY0YzQuNSA0LjUgNyAxMC42IDcgMTdsMCAxMTJjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTMwNCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTExMmMwLTYgMi4zLTExLjggNi4zLTE2LjJsODgtOTZjNC41LTUgMTEtNy44IDE3LjctNy44eiJdfSxlSXQ9SzVlLHRJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJydXBpYWgtc2lnbiIsaWNvbjpbNTEyLDUxMixbXSwiZTIzZCIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDgwIDBjNzkuNSAwIDE0NCA2NC41IDE0NCAxNDQgMCA1NC4zLTMwIDEwMS41LTc0LjQgMTI2LjFsNDEgMTM2LjdjNS4xIDE2LjktNC41IDM0LjgtMjEuNSAzOS44cy0zNC44LTQuNS0zOS44LTIxLjVMMTIwLjEgMzE5LjhjLTIuNyAuMS01LjQgLjItOC4xIC4ybC00OCAwIDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhMMCA2NHpNNjQgMjU2bDQ4IDBjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODBsLTQ4IDAgMCAxNjB6bTI1Ni0zMmw4MCAwYzYxLjkgMCAxMTIgNTAuMSAxMTIgMTEyUzQ2MS45IDQ0OCA0MDAgNDQ4bC00OCAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yNTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTgwIDE2MGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OGwtNDggMCAwIDk2IDQ4IDB6Il19LGFJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZXh0LXdpZHRoIixpY29uOls0NDgsNTEyLFtdLCJmMDM1IiwiTTQwIDBDMTcuOSAwIDAgMTcuOSAwIDQwTDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDEyOCAwIDAgMTYwLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0xNjAgMTI4IDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNTZjMC0yMi4xLTE3LjktNDAtNDAtNDBMNDAgMHptNzguNiA0MDYuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTkuNC05LjQgMjI5LjUgMC05LjQgOS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC02NC02NGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOS40IDkuNC0yMjkuNSAwIDkuNC05LjR6Il19LHJJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzYXRlbGxpdGUiLGljb246WzUxMiw1MTIsWzEyODc1Ml0sImY3YmYiLCJNMTk5IDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsODkuNCA4OS40IDU1LTU1YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDQ4IDQ4YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC01NSA1NSA4OS40IDg5LjRjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTk2IDk2Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtODkuNC04OS40LTE1LjUgMTUuNWMxMS40IDI0LjYgMTcuOCA1MiAxNy44IDgwLjkgMCAzMS43LTcuNyA2MS41LTIxLjIgODcuOC00LjcgOS0xNi43IDEwLjMtMjMuOCAzLjFsLTk2LjMtOTYuMy02MCA2MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsNjAtNjAtOTYuMy05Ni4zYy03LjItNy4yLTUuOS0xOS4yIDMuMS0yMy44IDI2LjMtMTMuNiA1Ni4yLTIxLjIgODcuOC0yMS4yIDI4LjkgMCA1Ni4zIDYuNCA4MC45IDE3LjhMMTkyLjQgMjI2LjMgMTAzIDEzN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlMMTk5IDd6bTE3IDUwLjlsLTYyLjEgNjIuMSA3Mi40IDcyLjQgNjIuMS02Mi4xLTcyLjQtNzIuNHpNMzkyIDM1OC4xbDYyLjEtNjIuMS03Mi40LTcyLjQtNjIuMSA2Mi4xIDcyLjQgNzIuNHoiXX0sWjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hZ25pZnlpbmctZ2xhc3MtbWludXMiLGljb246WzUxMiw1MTIsWyJzZWFyY2gtbWludXMiXSwiZjAxMCIsIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2QzI5Ni4zIDQwMS4xIDI1My45IDQxNiAyMDggNDE2IDkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwIDQxNiA5My4xIDQxNiAyMDh6TTEzNiAxODRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAweiJdfSxzSXQ9WjVlLGlJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW9wbGUtZ3JvdXAiLGljb246WzUxMiw1MTIsW10sImU1MzMiLCJNMjU2IDBhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6bTk2IDMxMmMwIDI1LTEyLjcgNDctMzIgNTkuOWwwIDkyLjFjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTIuMUMxNzIuNyAzNTkgMTYwIDMzNyAxNjAgMzEybDAtNDBjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDQwek05NiAzMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnptMTYgMjQwbDAgMzJjMCAzMi41IDEyLjEgNjIuMSAzMiA4NC43bDAgNzUuM2MwIDEuMiAwIDIuNSAuMSAzLjctOC41IDcuNi0xOS43IDEyLjMtMzIuMSAxMi4zbC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTU2LjZDMTIuOSAzNjQuNCAwIDM0My43IDAgMzIwbDAtMzJjMC01MyA0My05NiA5Ni05NiAxMi43IDAgMjQuOCAyLjUgMzUuOSA2LjktMTIuNiAyMS40LTE5LjkgNDYuNC0xOS45IDczLjF6TTM2OCA0NjRsMC03NS4zYzE5LjktMjIuNSAzMi01Mi4yIDMyLTg0LjdsMC0zMmMwLTI2LjctNy4zLTUxLjYtMTkuOS03My4xIDExLjEtNC41IDIzLjItNi45IDM1LjktNi45IDUzIDAgOTYgNDMgOTYgOTZsMCAzMmMwIDIzLjctMTIuOSA0NC40LTMyIDU1LjRsMCA1Ni42YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0xMi4zIDAtMjMuNi00LjYtMzIuMS0xMi4zIDAtMS4yIC4xLTIuNSAuMS0zLjd6TTQxNiAzMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnoiXX0sb0l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1iaW5hcnkiLGljb246WzQ0OCw1MTIsW10sImU2OWIiLCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTE0NCA0Yy0yNC4zIDAtNDQgMTkuNy00NCA0NGwwIDQ4YzAgMjQuMyAxOS43IDQ0IDQ0IDQ0bDMyIDBjMjQuMyAwIDQ0LTE5LjcgNDQtNDRsMC00OGMwLTI0LjMtMTkuNy00NC00NC00NGwtMzIgMHptLTQgNDRjMC0yLjIgMS44LTQgNC00bDMyIDBjMi4yIDAgNCAxLjggNCA0bDAgNDhjMCAyLjItMS44IDQtNCA0bC0zMiAwYy0yLjIgMC00LTEuOC00LTRsMC00OHptMTQwLTQ0Yy0xMSAwLTIwIDktMjAgMjAgMCA5LjcgNi45IDE3LjcgMTYgMTkuNmwwIDc2LjRjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC05NmMwLTExLTktMjAtMjAtMjBsLTE2IDB6TTEzMiAyOTZjMCA5LjcgNi45IDE3LjcgMTYgMTkuNmwwIDc2LjRjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC05NmMwLTExLTktMjAtMjAtMjBsLTE2IDBjLTExIDAtMjAgOS0yMCAyMHptOTYgMjRsMCA0OGMwIDI0LjMgMTkuNyA0NCA0NCA0NGwzMiAwYzI0LjMgMCA0NC0xOS43IDQ0LTQ0bDAtNDhjMC0yNC4zLTE5LjctNDQtNDQtNDRsLTMyIDBjLTI0LjMgMC00NCAxOS43LTQ0IDQ0em00NC00bDMyIDBjMi4yIDAgNCAxLjggNCA0bDAgNDhjMCAyLjItMS44IDQtNCA0bC0zMiAwYy0yLjIgMC00LTEuOC00LTRsMC00OGMwLTIuMiAxLjgtNCA0LTR6Il19LFg1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXNrcy10aGVhdGVyIixpY29uOls1NzYsNTEyLFsxMjc5MTcsInRoZWF0ZXItbWFza3MiXSwiZjYzMCIsIk0tNSAxMThMMjMuNSAyNzkuN2MxNCA3OS41IDc2LjMgMTQxLjggMTU1LjggMTU1LjhsMTIuNyAyLjJjLTE2LjUtMjguNi0yNy4xLTYwLjctMzAuNi05NC41bC0yNC4xIDQuM2MtOS43IDEuNy0xOC44LTUuOC0xNi45LTE1LjUgNC44LTI0LjcgMTkuMS00Ni42IDM5LjctNjAuOWwwLTc0LjZjLTEuNCAuOC0zIDEuMy00LjcgMS42bC02MyAxMS4xYy04LjcgMS41LTE3LjMtNC40LTE1LjktMTMuMSAzLjEtMTkuNiAxOC40LTM2IDM5LjEtMzkuNyAxNy4yLTMgMzMuOSAzLjUgNDQuNiAxNS44bDAtMjIuN2MwLTIyLjUgNi45LTUyLjQgMzIuMy03My40IDI2LTIxLjUgNjcuNy00My45IDEyNC45LTU0LjItMzAuNS0xNi4zLTg2LjMtMzItMTYzLjgtMTguNC04MC4zIDE0LjItMTI4IDUwLjEtMTUwLjEgNzYuMS05IDEwLjUtMTAuOCAyNC45LTguNCAzOC41ek0yMDggMTM4LjdsMCAxNzQuOGMwIDgwLjcgNTAuNSAxNTIuOSAxMjYuNCAxODAuNEwzNjIuMSA1MDRjMTQuMSA1LjEgMjkuNiA1LjEgNDMuNyAwTDQzMy42IDQ5NEM1MDkuNSA0NjYuNCA1NjAgMzk0LjMgNTYwIDMxMy41bDAtMTc0LjhjMC02LjktMi4xLTEzLjgtNy0xOC42LTIyLjYtMjIuNS03OC4yLTU2LTE2OS01NnMtMTQ2LjQgMzMuNi0xNjkgNTZjLTQuOSA0LjktNyAxMS43LTcgMTguNnptNjYuMSAxODcuMWMtMS40LTcgNy0xMSAxMi43LTYuNiAyNi45IDIwLjYgNjAuNiAzMi45IDk3LjIgMzIuOXM3MC4yLTEyLjMgOTcuMi0zMi45YzUuNy00LjQgMTQuMS0uNCAxMi43IDYuNi0xMC4xIDUxLjQtNTUuNSA5MC4zLTEwOS45IDkwLjNzLTk5LjgtMzguOC0xMDkuOS05MC4zem0uNS0xMDEuNUMyODEuMiAyMDUuNSAyOTkgMTkyIDMyMCAxOTJzMzguOSAxMy41IDQ1LjQgMzIuM2MyLjkgOC40LTQuNSAxNS43LTEzLjQgMTUuN2wtNjQgMGMtOC44IDAtMTYuMy03LjQtMTMuNC0xNS43ek00ODAgMjQwbC02NCAwYy04LjggMC0xNi4zLTcuNC0xMy40LTE1LjcgNi41LTE4LjggMjQuNC0zMi4zIDQ1LjQtMzIuM3MzOC45IDEzLjUgNDUuNCAzMi4zYzIuOSA4LjQtNC41IDE1LjctMTMuNCAxNS43eiJdfSxuSXQ9WDVlLGxJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXJ0LXBsdXMiLGljb246WzY0MCw1MTIsW10sImYyMTciLCJNMCA4QzAtNS4zIDEwLjctMTYgMjQtMTZsNDUuMyAwYzI3LjEgMCA1MC4zIDE5LjQgNTUuMSA0NmwuNCAyIDQxMi43IDBjMjAgMCAzNS4xIDE4LjIgMzEuNCAzNy45TDUzNy44IDIzNS44Yy01LjcgMzAuMy0zMi4xIDUyLjItNjIuOSA1Mi4ybC0zMDMuNiAwIDUuMSAyOC4zYzIuMSAxMS40IDEyIDE5LjcgMjMuNiAxOS43TDQ1NiAzMzZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTI1NS45IDBjLTM0LjggMC02NC42LTI0LjktNzAuOC01OS4xTDc3LjIgMzguNmMtLjctMy44LTQtNi42LTcuOS02LjZMMjQgMzJDMTAuNyAzMiAwIDIxLjMgMCA4ek0xNjAgNDY0YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTIyNCAwYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTMzNiA3OC40Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDMzLjYtMzMuNiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMzLjYgMCAwIDMzLjZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMzLjYgMzMuNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zMy42IDAgMC0zMy42YzAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxqYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kcy1hc2wtaW50ZXJwcmV0aW5nIixpY29uOls2NDAsNTEyLFsiYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmciLCJhc2wtaW50ZXJwcmV0aW5nIiwiaGFuZHMtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmciXSwiZjJhMyIsIk0xNTYuNiA0Ni4zYzcuOS0xNS44IDEuNS0zNS0xNC4zLTQyLjlzLTM1LTEuNS00Mi45IDE0LjNMMTMuNSAxODkuNEM0LjYgMjA3LjIgMCAyMjYuOCAwIDI0Ni43TDAgMjU2YzAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4bDgwIDAgMC0uM2MzNS4yLTIuNyA2NS40LTIyLjggODIuMS01MS43IDguOC0xNS4zIDMuNi0zNC45LTExLjctNDMuN3MtMzQuOS0zLjYtNDMuNyAxMS43Yy03IDEyLTE5LjkgMjAtMzQuNyAyMC0yMi4xIDAtNDAtMTcuOS00MC00MHMxNy45LTQwIDQwLTQwYzE0LjggMCAyNy43IDggMzQuNyAyMCA4LjggMTUuMyAyOC40IDIwLjUgNDMuNyAxMS43czIwLjUtMjguNCAxMS43LTQzLjdjLTEyLjgtMjIuMS0zMy42LTM5LjEtNTguNC00Ny4xbDgwLjgtMjJjMTctNC42IDI3LjEtMjIuMiAyMi41LTM5LjNzLTIyLjItMjcuMS0zOS4zLTIyLjVsLTEwMC43IDI3LjUgODEuNi02OGMxMy42LTExLjMgMTUuNC0zMS41IDQuMS00NS4xUzI0OS4xLTMuOSAyMzUuNSA3LjRsLTEwMS45IDg0LjkgMjMtNDZ6TTQ4My40IDQ2NS43Yy03LjkgMTUuOC0xLjUgMzUgMTQuMyA0Mi45czM1IDEuNSA0Mi45LTE0LjNsODUuOS0xNzEuN2M4LjktMTcuOCAxMy41LTM3LjQgMTMuNS01Ny4ybDAtOS4zYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4bC04MCAwIDAgLjNjLTM1LjIgMi43LTY1LjQgMjIuOC04Mi4xIDUxLjctOC45IDE1LjMtMy42IDM0LjkgMTEuNyA0My43czM0LjkgMy42IDQzLjctMTEuN2M3LTEyIDE5LjktMjAgMzQuNy0yMCAyMi4xIDAgNDAgMTcuOSA0MCA0MHMtMTcuOSA0MC00MCA0MGMtMTQuOCAwLTI3LjctOC0zNC43LTIwLTguOS0xNS4zLTI4LjQtMjAuNS00My43LTExLjdzLTIwLjUgMjguNC0xMS43IDQzLjdjMTIuOCAyMi4xIDMzLjYgMzkuMSA1OC40IDQ3LjFsLTgwLjggMjJjLTE3LjEgNC42LTI3LjEgMjIuMi0yMi41IDM5LjNzMjIuMiAyNy4xIDM5LjMgMjIuNWwxMDAuNy0yNy41LTgxLjYgNjhjLTEzLjYgMTEuMy0xNS40IDMxLjUtNC4xIDQ1LjFzMzEuNSAxNS40IDQ1LjEgNC4xbDEwMS45LTg0LjktMjMgNDZ6Il19LGNJdD1qYixkSXQ9amIsdUl0PWpiLHBJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZS1jZWxscy1yb3ctdW5sb2NrIixpY29uOls2NDAsNTEyLFtdLCJlNjkxIiwiTTI1NiAyMjRsMCAxOTIgNjQgMCAwLTE5Mi02NCAwem0yNTYtNzljLTQ2LjcgNS44LTg1LjYgMzYuOC0xMDIuNyA3OWwtMjUuMyAwIDAgOTAuOGMtMTAuMSAxNS4yLTE2IDMzLjQtMTYgNTMuMWwwIDk2YzAgNS41IC41IDEwLjkgMS4zIDE2LjFMMTI4IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMNjQgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA0OXpNMTI4IDIyNGwwIDE5MiA2NCAwIDAtMTkyLTY0IDB6bTQzMiA0OGMtLjEtMTcuNi0xNC40LTMxLjktMzItMzEuOS0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ3LjkgOTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NmMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC01MC42YzAtNDQuMiAzNS44LTgwIDgwLTgwIDQ0LjIgMCA3OS45IDM1LjggODAgNzkuOWwtNDggMHoiXX0sZkl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvY2tldCIsaWNvbjpbNTEyLDUxMixbXSwiZjEzNSIsIk0xMjggMzIwTDI0LjUgMzIwYy0yNC45IDAtNDAuMi0yNy4xLTI3LjQtNDguNUw1MCAxODMuM0M1OC43IDE2OC44IDc0LjMgMTYwIDkxLjIgMTYwbDk1IDBjNzYuMS0xMjguOSAxODkuNi0xMzUuNCAyNjUuNS0xMjQuMyAxMi44IDEuOSAyMi44IDExLjkgMjQuNiAyNC42IDExLjEgNzUuOSA0LjYgMTg5LjQtMTI0LjMgMjY1LjVsMCA5NWMwIDE2LjktOC44IDMyLjUtMjMuMyA0MS4ybC04OC4yIDUyLjljLTIxLjMgMTIuOC00OC41LTIuNi00OC41LTI3LjRMMTkyIDM4NGMwLTM1LjMtMjguNy02NC02NC02NGwtLjEgMHpNNDAwIDE2MGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAweiJdfSxoSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hyaW1wIixpY29uOls1MTIsNTEyLFsxMjk0MjRdLCJlNDQ4IiwiTTcyIDMyQzMyLjIgMzIgMCA2NC4yIDAgMTA0IDAgMTQxLjkgMjkuMyAxNzIuOSA2Ni40IDE3NS44IDc3LjYgMjU3LjIgMTQ3LjQgMzIwIDIzMiAzMjBsNTYgMCAwLTE5Mi0yMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRTNTguNyA4MCA3MiA4MGwzODQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw3MiAzMnpNMjI0IDQ1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw3MiAwIDAtNzIuMi02NC4xLTIyLjRjLTEyLjUtNC40LTI2LjIgMi4yLTMwLjYgMTQuN3MyLjIgMjYuMiAxNC43IDMwLjZsNC41IDEuNkMyMzMgNDMzLjkgMjI0IDQ0My45IDIyNCA0NTZ6bTEyOCAyMy4zYzM2LjQtMy4zIDY5LjUtMTcuNiA5Ni4xLTM5LjZsLTg2LjUtMzQuNmMtMyAxLjgtNi4yIDMuMi05LjYgNC4zbDAgNjkuOXpNNDcyLjYgNDE1YzI0LjYtMzAuMyAzOS40LTY4LjkgMzkuNC0xMTEgMC0xMi4zLTEuMy0yNC4zLTMuNy0zNS45TDM4Mi44IDM1NS4xYy44IDMuNCAxLjIgNyAxLjIgMTAuNiAwIDQuNi0uNyA5LTEuOSAxMy4xTDQ3Mi42IDQxNXpNMzM2IDEyOGwtMTYgMCAwIDE5MiAxOC4zIDBjOS45IDAgMTkuMSAzLjIgMjYuNiA4LjVsMTMzLjUtOTIuNEM0NzEuOCAxNzIuNiA0MDkuMSAxMjggMzM2IDEyOHpNMTY4IDE5MmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxRNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVuZ2Utc2lnbiIsaWNvbjpbMzg0LDUxMixbODM3NiwidGVuZ2UiXSwiZjdkNyIsIk0wIDU2QzAgNDIuNyAxMC43IDMyIDI0IDMybDMzNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDgwQzEwLjcgODAgMCA2OS4zIDAgNTZ6TTAgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMjggMCAwIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTI1Ni0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LG1JdD1RNWUsSjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWNoaW1uZXktbWVkaWNhbCIsaWNvbjpbNTEyLDUxMixbImNsaW5pYy1tZWRpY2FsIl0sImY3ZjIiLCJNMjM0LjIgOC42YzEyLjMtMTEuNCAzMS4zLTExLjQgNDMuNSAwTDM2OCA5Mi4zIDM2OCA4MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTAxLjUgMzcuOCAzNS4xYzkuNiA5IDEyLjggMjIuOSA4IDM1LjFTNDkzLjIgMjcyIDQ4MCAyNzJsLTE2IDAgMCAxNzZjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTI4OCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3Ni0xNiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC0zNS4xbDIyNC0yMDh6TTIyNCAyNDhsMCA0MC00MCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsNDAgMCAwIDQwYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTQwIDQwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC00MCAwIDAtNDBjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6Il19LGdJdD1KNWUsYkl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXJzLXNsYXNoIixpY29uOls2NDAsNTEyLFtdLCJlMDczIiwiTTczLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUzI5LjctLjMgMzkgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDMyMS44IDIyNGM1Ni42LTEgMTAyLjItNDcuMiAxMDIuMi0xMDQgMC01Ny40LTQ2LjYtMTA0LTEwNC0xMDQtNTYuOCAwLTEwMyA0NS42LTEwNCAxMDIuMkw3My0yNC45ek01MTIgMjg4Yy0xNy4yIDAtMzMuNyAzLjQtNDguNyA5LjZsMTcwIDE3MGM0LjItNS40IDYuNy0xMi4yIDYuNy0xOS42bDAtMzJjMC03MC43LTU3LjMtMTI4LTEyOC0xMjh6TTU5LjkgOTcuN2MtMjEuNSAxMi41LTM1LjkgMzUuNy0zNS45IDYyLjMgMCAzOS44IDMyLjIgNzIgNzIgNzIgMjYuNiAwIDQ5LjgtMTQuNCA2Mi4zLTM1LjlMNTkuOSA5Ny43ek0yNTAuMiAyODhDMTk2LjggMzEzLjkgMTYwIDM2OC43IDE2MCA0MzJsMCAxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwyNTAuMiAwLTE5Mi0xOTJ6TTEyOCAyODhDNTcuMyAyODggMCAzNDUuMyAwIDQxNmwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDg2LjcgMGMtNC4zLTkuOC02LjctMjAuNi02LjctMzJsMC0xNmMwLTUzLjIgMjAtMTAxLjggNTIuOS0xMzguNi0xMS43LTMuNS0yNC4xLTUuNC0zNi45LTUuNHpNNjE2IDE2MGE3MiA3MiAwIDEgMCAtMTQ0IDAgNzIgNzIgMCAxIDAgMTQ0IDB6Il19LHZJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYXBlci1wbGFuZSIsaWNvbjpbNTc2LDUxMixbNjE5MTNdLCJmMWQ4IiwiTTUzNi40LTI2LjNjOS44LTMuNSAyMC42LTEgMjggNi4zczkuOCAxOC4yIDYuMyAyOGwtMTc4IDQ5Ni45Yy01IDEzLjktMTguMSAyMy4xLTMyLjggMjMuMS0xNC4yIDAtMjctOC42LTMyLjMtMjEuN2wtNjQuMi0xNThjLTQuNS0xMS0yLjUtMjMuNiA1LjItMzIuNmw5NC41LTExMi40YzUuMS02LjEgNC43LTE1LS45LTIwLjZzLTE0LjYtNi0yMC42LS45TDIyOS4yIDI3Ni4xYy05LjEgNy42LTIxLjYgOS42LTMyLjYgNS4yTDM4LjEgMjE2LjhjLTEzLjEtNS4zLTIxLjctMTguMS0yMS43LTMyLjMgMC0xNC43IDkuMi0yNy44IDIzLjEtMzIuOGw0OTYuOS0xNzh6Il19LGVoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rLWF0bGFzIixpY29uOls0NDgsNTEyLFsiYXRsYXMiXSwiZjU1OCIsIk05NiA1MTJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC02Ni43YzE4LjYtNi42IDMyLTI0LjQgMzItNDUuM2wwLTI4OGMwLTI2LjUtMjEuNS00OC00OC00OEw5NiAwQzQzIDAgMCA0MyAwIDk2TDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZ6TTY0IDQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNTYgMCAwIDY0LTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNMzEwLjYgMjA4TDI3OSAyMDhjLTEuNCAyMy4xLTYgNDQuMi0xMi42IDYxLjIgMjIuNy0xMi41IDM5LjQtMzQuOCA0NC4yLTYxLjJ6bS0xNzMuMSAwYzQuOCAyNi40IDIxLjUgNDguNyA0NC4yIDYxLjItNi43LTE3LTExLjItMzgtMTIuNi02MS4ybC0zMS42IDB6bTc2LjQgNTVjNC41IDkuNiA4LjIgMTMuOCAxMC4yIDE1LjUgMi0xLjcgNS43LTUuOCAxMC4yLTE1LjUgNi4yLTEzLjQgMTEuMS0zMi41IDEyLjctNTVsLTQ1LjggMGMxLjYgMjIuNSA2LjUgNDEuNiAxMi43IDU1em0tMTIuNy04N2w0NS44IDBjLTEuNi0yMi41LTYuNS00MS42LTEyLjctNTUtNC41LTkuNi04LjItMTMuOC0xMC4yLTE1LjUtMiAxLjctNS43IDUuOC0xMC4yIDE1LjUtNi4yIDEzLjQtMTEuMSAzMi41LTEyLjcgNTV6bTEwOS41IDBjLTQuOC0yNi40LTIxLjUtNDguNy00NC4yLTYxLjIgNi43IDE3IDExLjIgMzggMTIuNiA2MS4ybDMxLjYgMHpNMTY5IDE3NmMxLjQtMjMuMSA2LTQ0LjIgMTIuNi02MS4yLTIyLjcgMTIuNS0zOS40IDM0LjgtNDQuMiA2MS4ybDMxLjYgMHpNOTYgMTkyYTEyOCAxMjggMCAxIDEgMjU2IDAgMTI4IDEyOCAwIDEgMSAtMjU2IDB6Il19LHhJdD1laGUseUl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhYmxlIixpY29uOls0NDgsNTEyLFtdLCJmMGNlIiwiTTM4NCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMzIwIDAtNi41LS4zQzI1LjIgNDc2LjQgMCA0NDkuMSAwIDQxNkwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwek02NCAzMjBsMCA5NiAxMjggMCAwLTk2LTEyOCAwem0xOTIgMGwwIDk2IDEyOCAwIDAtOTYtMTI4IDB6TTY0IDI1NmwxMjggMCAwLTk2LTEyOCAwIDAgOTZ6bTE5MiAwbDEyOCAwIDAtOTYtMTI4IDAgMCA5NnoiXX0sd0l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYXJ0IixpY29uOls1MTIsNTEyLFsxMjgxNTMsMTI4MTU0LDEyODE1NSwxMjgxNTYsMTI4NDIwLDEyOTI5MywxMjkyOTQsMTI5NTA1LDk4MjksMTAwODQsNjE1NzhdLCJmMDA0IiwiTTI0MSA4Ny4xbDE1IDIwLjcgMTUtMjAuN0MyOTYgNTIuNSAzMzYuMiAzMiAzNzguOSAzMiA0NTIuNCAzMiA1MTIgOTEuNiA1MTIgMTY1LjFsMCAyLjZjMCAxMTIuMi0xMzkuOSAyNDIuNS0yMTIuOSAyOTguMi0xMi40IDkuNC0yNy42IDE0LjEtNDMuMSAxNC4xcy0zMC44LTQuNi00My4xLTE0LjFDMTM5LjkgNDEwLjIgMCAyNzkuOSAwIDE2Ny43bDAtMi42QzAgOTEuNiA1OS42IDMyIDEzMy4xIDMyIDE3NS44IDMyIDIxNiA1Mi41IDI0MSA4Ny4xeiJdfSx0aGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWNoZXZyb24tdXAiLGljb246WzUxMiw1MTIsWyJjaGV2cm9uLWNpcmNsZS11cCJdLCJmMTM5IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0zNzcgMjcxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTg3LTg3LTg3IDg3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDIzOSAxNjdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBMMzc3IDI3MXoiXX0sTUl0PXRoZSxhaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmF0dGVyeS1oYWxmIixpY29uOls2NDAsNTEyLFsiYmF0dGVyeS0zIl0sImYyNDIiLCJNNTI4IDEyOGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyMjRjMCA4LjgtNy4yIDE2LTE2IDE2bC00MTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjI0YzAtOC44IDcuMi0xNiAxNi0xNmw0MTYgMHpNMTEyIDY0Yy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDIyNGMwIDQ0LjIgMzUuOCA4MCA4MCA4MGw0MTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsMC00OGMwLTQ0LjItMzUuOC04MC04MC04MEwxMTIgNjR6bTU2IDExMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTE0NCAweiJdfSxrSXQ9YWhlLEJlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb250LWF3ZXNvbWUiLGljb246WzUxMiw1MTIsWzYyNTAxLDYyNjk0LCJmb250LWF3ZXNvbWUtZmxhZyIsImZvbnQtYXdlc29tZS1sb2dvLWZ1bGwiXSwiZjJiNCIsIk05MS43IDk2QzEwNi4zIDg2LjggMTE2IDcwLjUgMTE2IDUyIDExNiAyMy4zIDkyLjcgMCA2NCAwUzEyIDIzLjMgMTIgNTJjMCAxNi43IDcuOCAzMS41IDIwIDQxbDAgNDE5IDY0IDAgMC02NCAzNzMuNiAwYzE0LjYgMCAyNi40LTExLjggMjYuNC0yNi40IDAtMy43LS44LTcuMy0yLjMtMTAuN0w0MzIgMjcyIDQ5My43IDEzMy4xYzEuNS0zLjQgMi4zLTcgMi4zLTEwLjcgMC0xNC42LTExLjgtMjYuNC0yNi40LTI2LjRMOTEuNyA5NnoiXX0sU0l0PUJlZSx6SXQ9QmVlLENJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kY3VmZnMiLGljb246WzU3Niw1MTIsW10sImU0ZjgiLCJNMzIwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyIDE0LjMgMzIgMzIgMzIgMzItMTQuMyAzMi0zMnpNMTkyIDY0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMTUyIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE2YzAgMSAuMSAxLjkgLjIgMi45LTc0LjcgMjYuMy0xMjguMiA5Ny41LTEyOC4yIDE4MS4xIDAgMTA2IDg2IDE5MiAxOTIgMTkyczE5Mi04NiAxOTItMTkyYzAtODMuNy01My41LTE1NC44LTEyOC4yLTE4MS4xIC4xLS45IC4yLTEuOSAuMi0yLjlsMC0xNmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtODAgMHpNNjQgMzIwYTEyOCAxMjggMCAxIDEgMjU2IDAgMTI4IDEyOCAwIDEgMSAtMjU2IDB6bTQ0OCAwYzAgNjYuOS01MS4zIDEyMS44LTExNi42IDEyNy41LTE0LjMgMjIuOC0zMi40IDQzLjEtNTMuNCA1OS45IDEzLjUgMyAyNy42IDQuNiA0MiA0LjYgMTA2IDAgMTkyLTg2IDE5Mi0xOTIgMC04My43LTUzLjUtMTU0LjgtMTI4LjItMTgxLjEgLjEtLjkgLjItMS45IC4yLTIuOWwwLTE2YzAtMTMuMy0xMC43LTI0LTI0LTI0bC04MCAwYy0xMi4zIDAtMjIuNCA5LjItMjMuOCAyMS4xIDMwLjMgMTkuMiA1Ni4xIDQ1IDc1LjIgNzUuNCA2NS40IDUuOCAxMTYuNiA2MC42IDExNi42IDEyNy41ek0zODQgNjRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxfSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGF0LWNvd2JveS1zaWRlIixpY29uOls2NDAsNTEyLFtdLCJmOGMxIiwiTTY0MCAzODguM2MwIDE2LjktNy4xIDMyLjItMTguNCA0My4xbC0zNS0yMy4zLTI5Mi43LTE5NS4xYy0zNi4xLTI0LjEtNzguNi0zNi45LTEyMi0zNi45bC0zLjkgMGMtMi43IDAtNS40IDAtOCAuMWwyMi4yLTEwMGM1LjctMjUuOCAyOC42LTQ0LjEgNTUtNDQuMSAxMi4yIDAgMjQuMSA0IDMzLjggMTEuM2w0LjcgMy41YzI2LjMgMTkuNyA2Mi40IDE5LjcgODguNiAwbDQuNy0zLjVjOS44LTcuMyAyMS42LTExLjMgMzMuOC0xMS4zIDI2LjQgMCA0OS4zIDE4LjMgNTUgNDQuMWwzMyAxNDguNUM1NzQuNSAyMzIuMyA2NDAgMzAyLjYgNjQwIDM4OC4zek0xNzEuOSAyMjRjMzMuOSAwIDY3LjEgMTAgOTUuNCAyOC45TDU2MCA0NDggNTYgNDQ4Yy0zMC45IDAtNTYtMjUuMS01Ni01NiAwLTkyLjggNzUuMi0xNjggMTY4LTE2OGwzLjkgMHoiXX0sVEl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImluZHVzdHJ5IixpY29uOls1MTIsNTEyLFtdLCJmMjc1IiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRMMCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsNDE2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yNzkuOGMwLTE4LjItMTkuNC0yOS43LTM1LjQtMjEuMWwtMTU2LjYgODQuMyAwLTYzLjJjMC0xOC4yLTE5LjQtMjkuNy0zNS40LTIxLjFMMTI4IDIxNS40IDEyOCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiAzMnoiXX0sTEl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxpbmVzLWxlYW5pbmciLGljb246WzM4NCw1MTIsW10sImU1MWUiLCJNMTkwLjQgNzQuMWM1LjYtMTYuOC0zLjUtMzQuOS0yMC4yLTQwLjVzLTM0LjkgMy41LTQwLjUgMjAuMmwtMTI4IDM4NGMtNS42IDE2LjggMy41IDM0LjkgMjAuMiA0MC41czM0LjktMy41IDQwLjUtMjAuMmwxMjgtMzg0em03MC45LTQxLjdjLTE3LjQtMi45LTMzLjkgOC45LTM2LjggMjYuM2wtNjQgMzg0Yy0yLjkgMTcuNCA4LjkgMzMuOSAyNi4zIDM2LjhzMzMuOS04LjkgMzYuOC0yNi4zbDY0LTM4NGMyLjktMTcuNC04LjktMzMuOS0yNi4zLTM2Ljh6TTM1MiAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzODRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMnoiXX0sJEl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhc3Nwb3J0IixpY29uOlszODQsNTEyLFtdLCJmNWFiIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHpNOTYgNDA4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTI3OC42IDIwOGMtNC44IDI2LjQtMjEuNSA0OC43LTQ0LjIgNjEuMiA2LjctMTcgMTEuMi0zOCAxMi42LTYxLjJsMzEuNiAwem0tMTczLjEgMGwzMS42IDBjMS40IDIzLjEgNiA0NC4yIDEyLjYgNjEuMi0yMi43LTEyLjUtMzkuNC0zNC44LTQ0LjItNjEuMnptNzYuNCA1NWMtNi4yLTEzLjQtMTEuMS0zMi41LTEyLjctNTVsNDUuOCAwYy0xLjYgMjIuNS02LjUgNDEuNi0xMi43IDU1LTQuNSA5LjYtOC4yIDEzLjgtMTAuMiAxNS41LTItMS43LTUuNy01LjgtMTAuMi0xNS41em0wLTE0MmM0LjUtOS42IDguMi0xMy44IDEwLjItMTUuNSAyIDEuNyA1LjcgNS44IDEwLjIgMTUuNSA2LjIgMTMuNCAxMS4xIDMyLjUgMTIuNyA1NWwtNDUuOCAwYzEuNi0yMi41IDYuNS00MS42IDEyLjctNTV6bTk2LjcgNTVMMjQ3IDE3NmMtMS40LTIzLjEtNi00NC4yLTEyLjYtNjEuMiAyMi43IDEyLjUgMzkuNCAzNC44IDQ0LjIgNjEuMnpNMTM3IDE3NmwtMzEuNiAwYzQuOC0yNi40IDIxLjUtNDguNyA0NC4yLTYxLjItNi43IDE3LTExLjIgMzgtMTIuNiA2MS4yem0xODMgMTZhMTI4IDEyOCAwIDEgMCAtMjU2IDAgMTI4IDEyOCAwIDEgMCAyNTYgMHoiXX0sREl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImluZmluaXR5IixpY29uOls2NDAsNTEyLFs4NzM0LDk4NTRdLCJmNTM0IiwiTTAgMjU2YzAtODguNCA3MS42LTE2MCAxNjAtMTYwIDUwLjQgMCA5Ny44IDIzLjcgMTI4IDY0bDMyIDQyLjcgMzItNDIuN2MzMC4yLTQwLjMgNzcuNi02NCAxMjgtNjQgODguNCAwIDE2MCA3MS42IDE2MCAxNjBTNTY4LjQgNDE2IDQ4MCA0MTZjLTUwLjQgMC05Ny44LTIzLjctMTI4LTY0bC0zMi00Mi43LTMyIDQyLjdjLTMwLjIgNDAuMy03Ny42IDY0LTEyOCA2NC04OC40IDAtMTYwLTcxLjYtMTYwLTE2MHptMjgwIDBsLTQzLjItNTcuNmMtMTguMS0yNC4yLTQ2LjYtMzguNC03Ni44LTM4LjQtNTMgMC05NiA0My05NiA5NnM0MyA5NiA5NiA5NmMzMC4yIDAgNTguNy0xNC4yIDc2LjgtMzguNEwyODAgMjU2em04MCAwbDQzLjIgNTcuNmMxOC4xIDI0LjIgNDYuNiAzOC40IDc2LjggMzguNCA1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05NmMtMzAuMiAwLTU4LjcgMTQuMi03Ni44IDM4LjRMMzYwIDI1NnoiXX0sQUl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb25lIixpY29uOls1MTIsNTEyLFtdLCJmMjRkIiwiTTI4OCA0NDhsLTIyNCAwIDAtMjI0IDQ4IDAgMC02NC00OCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMjQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTQ4LTY0IDAgMCA0OHptLTY0LTk2bDIyNCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjI0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDIyNCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDIyNGMwIDM1LjMgMjguNyA2NCA2NCA2NHoiXX0sRUl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvcndhcmQiLGljb246WzU3Niw1MTIsWzkxOTNdLCJmMDRlIiwiTTM3MS43IDQzLjFDMzYwLjEgMzIgMzQzIDI4LjkgMzI4LjMgMzUuMlMzMDQgNTYgMzA0IDcybDAgMTM2LjMtMTcyLjMtMTY1LjFDMTIwLjEgMzIgMTAzIDI4LjkgODguMyAzNS4yUzY0IDU2IDY0IDcybDAgMzY4YzAgMTYgOS42IDMwLjUgMjQuMyAzNi44czMxLjggMy4yIDQzLjQtNy45TDMwNCAzMDMuNyAzMDQgNDQwYzAgMTYgOS42IDMwLjUgMjQuMyAzNi44czMxLjggMy4yIDQzLjQtNy45bDE5Mi0xODRjNy45LTcuNSAxMi4zLTE4IDEyLjMtMjguOXMtNC41LTIxLjMtMTIuMy0yOC45bC0xOTItMTg0eiJdfSxQSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibSIsaWNvbjpbNDQ4LDUxMixbMTA5XSwiNGQiLCJNMjIuNyAzMy40YzEzLjUtNC4xIDI4LjEgMS4xIDM1LjkgMTIuOUwyMjQgMjk0LjMgMzg5LjQgNDYuM2M3LjgtMTEuNyAyMi40LTE3IDM1LjktMTIuOVM0NDggNDkuOSA0NDggNjRsMCAzODRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yNzguMy0xMzMuNCAyMDAuMWMtNS45IDguOS0xNS45IDE0LjItMjYuNiAxNC4ycy0yMC43LTUuMy0yNi42LTE0LjJMNjQgMTY5LjcgNjQgNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhMMCA2NEMwIDQ5LjkgOS4yIDM3LjUgMjIuNyAzMy40eiJdfSxJSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9hZC1zcGlrZXMiLGljb246WzY0MCw1MTIsW10sImU1NjgiLCJNNjQgMTE2LjhjMC0xNS44IDIwLjUtMjIgMjkuMy04LjlsOTguNyAxNDggMC0xMzkuMmMwLTE1LjggMjAuNS0yMiAyOS4zLTguOWw5OC43IDE0OCAwLTEzOS4yYzAtMTUuOCAyMC41LTIyIDI5LjMtOC45bDk4LjcgMTQ4IDAtMTM5LjJjMC0xNS44IDIwLjUtMjIgMjkuMy04LjlMNjA2LjggMzAyLjJjMTQuMiAyMS4zLTEuMSA0OS44LTI2LjYgNDkuOEw2NCAzNTIgNjQgMTE2Ljh6TTMyIDM4NGw1NzYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA0NDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6Il19LE5JdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb3VudGFpbiIsaWNvbjpbNTEyLDUxMixbMTI3OTU2XSwiZjZmYyIsIk0yNTYuNSAwYzE0LjcgMCAyOC4yIDguMSAzNS4yIDIxbDIxNiA0MDBjNi43IDEyLjQgNi40IDI3LjQtLjggMzkuNS03LjIgMTIuMS0yMC4zIDE5LjUtMzQuMyAxOS41bC00MzIgMGMtMTQuMSAwLTI3LjEtNy40LTM0LjMtMTkuNXMtNy41LTI3LjEtLjgtMzkuNWwyMTYtNDAwIDIuOS00LjZDMjMxLjcgNi4yIDI0My42IDAgMjU2LjUgMHpNMTcwLjQgMjQ5LjlsMjYuOCAyNi44YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwbDQzLjMtNDMuM2M2LTYgMTQuMS05LjQgMjIuNi05LjRsNDIuOCAwLTcyLjEtMTMzLjUtODYuMSAxNTkuNHoiXX0sUkl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZXNzIixpY29uOls1MTIsNTEyLFtdLCJmNDM5IiwiTTE2OCA1NmwwIDQwLTc4LjEgMGMtMTQuMyAwLTI1LjkgMTEuNi0yNS45IDI1LjkgMCA0IC45IDggMi43IDExLjZsMzMuNCA2Ni44Yy0xMS40IDEuOC0yMC4yIDExLjctMjAuMiAyMy43IDAgMTMuMyAxMC43IDI0IDI0IDI0bDUuNiAwLTEzLjYgMTM2LTU2LjIgNzAuM2MtNSA2LjMtNy44IDE0LjEtNy44IDIyLjIgMCAxOS42IDE1LjkgMzUuNSAzNS41IDM1LjVsMjQ4LjkgMGMxOS42IDAgMzUuNS0xNS45IDM1LjUtMzUuNSAwLTguMS0yLjctMTUuOS03LjgtMjIuMkwyODggMzg0IDI3NC40IDI0OCAyODAgMjQ4YzEzLjMgMCAyNC0xMC43IDI0LTI0IDAtMTEuOS04LjctMjEuOS0yMC4yLTIzLjdsMzMuNC02Ni44YzEuOC0zLjYgMi43LTcuNiAyLjctMTEuNiAwLTE0LjMtMTEuNi0yNS45LTI1LjktMjUuOWwtNzguMSAwIDAtNDAgMTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNFMyNDUuMyA4IDIzMiA4bC0xNiAwIDAtMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRTMTY4LTIxLjMgMTY4LThsMCAxNi0xNiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE2IDB6TTMyNS44IDI3OS42bDguNSA4NS41IDQ3LjQgNTkuMiA0LjIgNS43YzkuMiAxMy43IDE0LjEgMjkuOSAxNC4xIDQ2LjUgMCAxMi43LTIuOCAyNC44LTcuOSAzNS41bDgzLjEgMGMyMC4zIDAgMzYuOC0xNi41IDM2LjgtMzYuOCAwLTcuMy0yLjItMTQuNC02LjItMjAuNGwtMjUuOC0zOC43IDAtNjQgMTMuMy0xMy4zYzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNMNTEyIDE5MmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE2LTMyIDAgMC0xNmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDMyYzAgMjIuNC0xMC4yIDQyLjQtMjYuMiA1NS42eiJdfSxVYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW1wZXJhdHVyZS10aHJlZS1xdWFydGVycyIsaWNvbjpbMzIwLDUxMixbInRlbXBlcmF0dXJlLTMiLCJ0aGVybW9tZXRlci0zIiwidGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnMiXSwiZjJjOCIsIk0xNjAgMEMxMDcgMCA2NCA0MyA2NCA5NmwwIDE2NC43QzM0LjUgMjg3IDE2IDMyNS40IDE2IDM2OCAxNiA0NDcuNSA4MC41IDUxMiAxNjAgNTEyczE0NC02NC41IDE0NC0xNDRjMC00Mi42LTE4LjUtODEtNDgtMTA3LjNMMjU2IDk2YzAtNTMtNDMtOTYtOTYtOTZ6bTY0IDM2OGMwIDM1LjMtMjguNyA2NC02NCA2NHMtNjQtMjguNy02NC02NGMwLTI2LjkgMTYuNS00OS45IDQwLTU5LjNMMTM2IDE1MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTU2LjdjMjMuNSA5LjUgNDAgMzIuNSA0MCA1OS4zeiJdfSxPSXQ9VWIsRkl0PVViLEJJdD1VYixISXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYiIsaWNvbjpbMzIwLDUxMixbOThdLCI0MiIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2MCAwYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4IDAtNDYuNS0yNC44LTg3LjMtNjItMTA5LjcgMTguNy0yMi4zIDMwLTUxIDMwLTgyLjMgMC03MC43LTU3LjMtMTI4LTEyOC0xMjhMMzIgMzJ6TTE2MCAyMjRsLTk2IDAgMC0xMjggOTYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NHpNNjQgMjg4bDEyOCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0bC0xMjggMCAwLTEyOHoiXX0scUl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoaWVsZC12aXJ1cyIsaWNvbjpbNTEyLDUxMixbXSwiZTA2YyIsIk0yNTMuNCAyLjlDMjQ5LjIgMSAyNDQuNyAwIDI0MCAwcy05LjIgMS0xMy40IDIuOUwzOC4zIDgyLjhjLTIyIDkuMy0zOC40IDMxLTM4LjMgNTcuMiAuNSA5OS4yIDQxLjMgMjgwLjcgMjEzLjYgMzYzLjIgMTYuNyA4IDM2LjEgOCA1Mi44IDAgMTcyLjQtODIuNSAyMTMuMi0yNjQgMjEzLjYtMzYzLjIgLjEtMjYuMi0xNi4zLTQ3LjktMzguMy01Ny4yTDI1My40IDIuOXpNMjQwIDEyOGMxMy4zIDAgMjQgMTAuNyAyNCAyNCAwIDIyLjkgMjcuNyAzNC40IDQzLjkgMTguMiA5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjljLTE2LjIgMTYuMi00LjcgNDMuOSAxOC4yIDQzLjkgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTIyLjkgMC0zNC40IDI3LjctMTguMiA0My45IDkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBjLTE2LjItMTYuMi00My45LTQuNy00My45IDE4LjIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0yMi45LTI3LjctMzQuNC00My45LTE4LjItOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWMxNi4yLTE2LjIgNC43LTQzLjktMTguMi00My45LTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMjIuOSAwIDM0LjQtMjcuNyAxOC4yLTQzLjktOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwYzE2LjIgMTYuMiA0My45IDQuNyA0My45LTE4LjIgMC0xMy4zIDEwLjctMjQgMjQtMjR6TTIwOCAyNjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em04OCA0MGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxWSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGl0ZWNvaW4tc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTFkMyIsIk0xMjggNjRjMC0xNy43LTE0LjMtMzItMzItMzJTNjQgNDYuMyA2NCA2NGwwIDE1Ny45LTM4LjYgMTFjLTEyLjcgMy42LTIwLjEgMTYuOS0xNi41IDI5LjdzMTYuOSAyMC4xIDI5LjcgMTYuNUw2NCAyNzEuOCA2NCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTIyNCAwIDAtMTYyLjUgMTM0LjYtMzguNWMxMi43LTMuNiAyMC4xLTE2LjkgMTYuNS0yOS43cy0xNi45LTIwLjEtMjkuNy0xNi41TDEyOCAyMDMuNiAxMjggNjR6Il19LGpJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWNlLWQ2IixpY29uOls1MTIsNTEyLFtdLCJmNmQxIiwiTTIyNC40IDguM0MyNDQtMi44IDI2OC0yLjggMjg3LjYgOC4zbDE3NiA5OS43YzIwIDExLjQgMzIuNCAzMi42IDMyLjQgNTUuN2wwIDE5Ny40YzAgMjMtMTIuNCA0NC4zLTMyLjQgNTUuN2wtMTc2IDk5LjdjLTE5LjYgMTEuMS00My42IDExLjEtNjMuMSAwbC0xNzYtOTkuN0MyOC40IDQwNS41IDE2IDM4NC4yIDE2IDM2MS4ybDAtMTk3LjRjMC0yMyAxMi40LTQ0LjMgMzIuNC01NS43bDE3Ni05OS43ek0xMDIuNiAxNTUuNmMtOC44LTMuMS0xOC44IC4zLTIzLjggOC42cy0zLjIgMTguNyAzLjYgMjVsMy4yIDIuNCAxNTAuMiA5MC4yIDAgMTQ4LjdjMCAxMSA5IDIwIDIwIDIwIDExIDAgMjAtOSAyMC0yMGwwLTE0OC43IDE1MC4zLTkwLjJjOS41LTUuNyAxMi42LTE4IDYuOS0yNy40cy0xOC0xMi41LTI3LjQtNi45bC0xNDkuNyA4OS44LTE0OS43LTg5LjgtMy43LTEuN3oiXX0sVUl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdyaXAtbGluZXMtdmVydGljYWwiLGljb246WzE5Miw1MTIsW10sImY3YTUiLCJNNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMkw2NCA2NHptMTI4IDBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzODRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM4NHoiXX0scmhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdvbGYtYmFsbC10ZWUiLGljb246WzM4NCw1MTIsWyJnb2xmLWJhbGwiXSwiZjQ1MCIsIk0yOTguNSAzODQuMWMxMi4xIDEuMiAyMS41IDExLjUgMjEuNSAyMy45cy05LjQgMjIuNi0yMS41IDIzLjlsLTIuNSAuMS04MCAwIDAgODhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC04OC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNCAwLTEyLjQgOS40LTIyLjYgMjEuNS0yMy45bDIuNS0uMSAyMDggMCAyLjUgLjF6TTE5MiAwYzEwNiAwIDE5MiA4NiAxOTIgMTkyIDAgNTcuNC0yNS4yIDEwOC44LTY1LjEgMTQ0TDY1LjEgMzM2QzI1LjIgMzAwLjggMCAyNDkuNCAwIDE5MiAwIDg2IDg2IDAgMTkyIDB6bTMyIDI0MGMtNy43IDAtMTQuMiA1LjUtMTUuNyAxMi44bC0uNiA2LjRjLTEuMyA2LjMtNi4yIDExLjItMTIuNSAxMi41bC02LjQgLjZjLTcuMyAxLjUtMTIuOCA4LTEyLjggMTUuNyAwIDguOCA3LjIgMTYgMTYgMTYgMjYuNSAwIDQ4LTIxLjUgNDgtNDggMC04LjgtNy4yLTE2LTE2LTE2em02NC02NGMtNy43IDAtMTQuMiA1LjUtMTUuNyAxMi44bC0uNiA2LjRjLTEuMyA2LjMtNi4yIDExLjItMTIuNSAxMi41bC02LjQgLjZjLTcuMyAxLjUtMTIuOCA4LTEyLjggMTUuNyAwIDguOCA3LjIgMTYgMTYgMTYgMjYuNSAwIDQ4LTIxLjUgNDgtNDggMC04LjgtNy4yLTE2LTE2LTE2em0tODAtMTZjLTcuNyAwLTE0LjIgNS41LTE1LjcgMTIuOGwtLjYgNi40Yy0xLjMgNi4zLTYuMiAxMS4yLTEyLjUgMTIuNWwtNi40IC42Yy03LjMgMS41LTEyLjggOC0xMi44IDE1LjcgMCA4LjggNy4yIDE2IDE2IDE2IDI2LjUgMCA0OC0yMS41IDQ4LTQ4IDAtOC44LTcuMi0xNi0xNi0xNnoiXX0sV0l0PXJoZSxHSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGV4YWdvbiIsaWNvbjpbNTc2LDUxMixbMTEwNDNdLCJmMzEyIiwiTTMzLjUgMjIwLjNjLTEyLjcgMjIuMi0xMi43IDQ5LjQgMCA3MS41bDk2LjIgMTY4LjFjMTIuOCAyMi40IDM2LjcgMzYuMiA2Mi41IDM2LjJsMTkxLjYgMGMyNS44IDAgNDkuNy0xMy44IDYyLjUtMzYuMmw5Ni4yLTE2OC4xYzEyLjctMjIuMiAxMi43LTQ5LjQgMC03MS41TDQ0Ni4zIDUyLjJDNDMzLjUgMjkuOCA0MDkuNiAxNiAzODMuOCAxNkwxOTIuMiAxNmMtMjUuOCAwLTQ5LjcgMTMuOC02Mi41IDM2LjJMMzMuNSAyMjAuM3oiXX0sWUl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvbGRlci1vcGVuIixpY29uOls1NzYsNTEyLFsxMjgxOTQsMTI4NDQ5LDYxNzE3XSwiZjA3YyIsIk01NiAyMjUuNkwzMi40IDI5Ni4yIDMyLjQgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTM4LjcgMGMxMy44IDAgMjcuMyA0LjUgMzguNCAxMi44bDM4LjQgMjguOGM1LjUgNC4yIDEyLjMgNi40IDE5LjIgNi40bDExNy4zIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxNi0zNjUuNCAwYy00MS4zIDAtNzggMjYuNC05MS4xIDY1LjZ6TTQ3Ny44IDQ0OEw5OSA0NDhjLTMyLjggMC01NS45LTMyLjEtNDUuNS02My4ybDQ4LTE0NEMxMDggMjIxLjIgMTI2LjQgMjA4IDE0NyAyMDhsMzc4LjggMGMzMi44IDAgNTUuOSAzMi4xIDQ1LjUgNjMuMmwtNDggMTQ0Yy02LjUgMTkuNi0yNC45IDMyLjgtNDUuNSAzMi44eiJdfSxLSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToia2FhYmEiLGljb246WzUxMiw1MTIsWzEyODMzMV0sImY2NmIiLCJNMjU2IDUxLjNMOTIuOCAxMTIuNCAyNDcuNSAxNzEuMWM1LjUgMi4xIDExLjUgMi4xIDE3IDBMNDE5LjIgMTEyLjQgMjU2IDUxLjN6TTAgMTI5LjNjMC0yMCAxMi40LTM3LjkgMzEuMS00NC45bDIwOC03OGMxMC45LTQuMSAyMi44LTQuMSAzMy43IDBsMjA4IDc4YzE4LjcgNyAzMS4xIDI0LjkgMzEuMSA0NC45bDAgMzYtMjUzLjIgOTZjLTEuOCAuNy0zLjggLjctNS43IDBsLTI1My4yLTk2IDAtMzZ6bTAgMTQwbDAtNTIuNyAyMzYuMSA4OS42YzEyLjggNC45IDI2LjkgNC45IDM5LjcgMGwyMzYuMS04OS42IDAgNTIuNy0xMjggNDguNiAwIDUxLjMgMTI4LTQ4LjYgMCA2Mi4yYzAgMjAtMTIuNCAzNy45LTMxLjEgNDQuOWwtMjA4IDc4Yy0xMC45IDQuMS0yMi44IDQuMS0zMy43IDBsLTIwOC03OEMxMi40IDQyMC43IDAgNDAyLjcgMCAzODIuN2wwLTYyLjIgMTI4IDQ4LjYgMC01MS4zLTEyOC00OC42ek0yMzYuMSA0MTAuMWMxMi44IDQuOSAyNi45IDQuOSAzOS43IDBsNjAuMS0yMi44IDAtNTEuMy03Ny4yIDI5LjNjLTEuOCAuNy0zLjggLjctNS43IDBsLTc3LjItMjkuMyAwIDUxLjMgNjAuMSAyMi44eiJdfSxaSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1ob2xkaW5nIixpY29uOls1NzYsNTEyLFtdLCJmNGJkIiwiTTY2LjcgMzg0bDQyLjUtNDIuNWMyNC0yNCA1Ni42LTM3LjUgOTAuNS0zNy41TDM1MiAzMDRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTEyLjYgMCAxMTkuNy04OC4yYzE3LjgtMTMuMSA0Mi44LTkuMyA1NS45IDguNXM5LjMgNDIuOC04LjUgNTUuOUw0MzMuMSA0ODUuNWMtMjMuNCAxNy4yLTUxLjYgMjYuNS04MC43IDI2LjVMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM0LjcgMHoiXX0sWEl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNpbmdsZS1xdW90ZS1yaWdodCIsaWNvbjpbMTkyLDUxMixbXSwiZTgxYyIsIk02NCA0MTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOCAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2bDAtOC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMzZjMCA2Ni4zLTUzLjcgMTIwLTEyMCAxMjBsLTggMHoiXX0sUUl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvdHRsZS1kcm9wbGV0IixpY29uOlszMjAsNTEyLFtdLCJlNGM0IiwiTTgwIDBjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDEwMy4zYzY0LjkgMjAuNCAxMTIgODEgMTEyIDE1Mi43bDAgMTkyYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDU0NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyODhjMC03MS42IDQ3LjEtMTMyLjMgMTEyLTE1Mi43TDExMiAzMkM5NC4zIDMyIDgwIDE3LjcgODAgMHptODAgNDE2YzM1LjMgMCA2NC0zMi40IDY0LTY0IDAtMjEuMi0yOC45LTY0LjUtNDcuOS05MC42LTguMS0xMS4xLTI0LjItMTEuMS0zMi4zIDAtMTkgMjYuMS00Ny45IDY5LjQtNDcuOSA5MC42IDAgMzEuNiAyOC43IDY0IDY0IDY0eiJdfSxKSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2luZG93LW1pbmltaXplIixpY29uOls1MTIsNTEyLFsxMjg0NjldLCJmMmQxIiwiTTAgNDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDQ0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LGVOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGV2cm9uLXJpZ2h0IixpY29uOlszMjAsNTEyLFs5MDAyXSwiZjA1NCIsIk0zMTEuMSAyMzMuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMTkyIDE5MmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMjQzLjIgMjU2IDczLjkgODYuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwxOTIgMTkyeiJdfSx0TnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWdnIixpY29uOlszODQsNTEyLFsxMjkzNzBdLCJmN2ZiIiwiTTE5MiA0OTZDODYgNDk2IDAgMzk0IDAgMjg4IDAgMTc2IDY0IDE2IDE5MiAxNlMzODQgMTc2IDM4NCAyODhjMCAxMDYtODYgMjA4LTE5MiAyMDh6TTE1NC44IDEzNGM2LjUtNiA3LTE2LjEgMS0yMi42cy0xNi4xLTctMjIuNi0xYy0yMy45IDIxLjgtNDEuMSA1Mi43LTUyLjMgODQuMi0xMS4yIDMxLjYtMTYuOSA2NS4xLTE2LjkgOTMuNSAwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2YzAtMjQuNSA1LTU0LjQgMTUuMS04Mi44IDEwLjEtMjguNSAyNS01NC4xIDQzLjctNzEuMnoiXX0sc2hlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxhbmRtYXJrLWRvbWUiLGljb246WzUxMiw1MTIsWyJsYW5kbWFyay1hbHQiXSwiZjc1MiIsIk0yNTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzIgMCAuOSAwIDEuOCAuMSAyLjYtODAuNSAxMy40LTE0NCA3Ni45LTE1Ny41IDE1Ny40TDY0IDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwwIDE2MC01MS4yIDM4LjRDNC43IDQ2MC40IDAgNDY5LjkgMCA0ODAgMCA0OTcuNyAxNC4zIDUxMiAzMiA1MTJsNDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzIgMC0xMC4xLTQuNy0xOS42LTEyLjgtMjUuNkw0NDggNDE2IDQ0OCAyNTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTIuNyAwYy0xMy41LTgwLjQtNzctMTQzLjktMTU3LjUtMTU3LjQgLjEtLjkgLjEtMS43IC4xLTIuNiAwLTE3LjctMTQuMy0zMi0zMi0zMnptODAgMjU2bDY0IDAgMCAxNjAtNjQgMCAwLTE2MHpNMjI0IDQxNmwwLTE2MCA2NCAwIDAgMTYwLTY0IDB6TTExMiAyNTZsNjQgMCAwIDE2MC02NCAwIDAtMTYweiJdfSxhTnQ9c2hlLHJOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3b3JtIixpY29uOls0NDgsNTEyLFtdLCJlNTk5IiwiTTIyNCA5NmMwLTUzIDQzLTk2IDk2LTk2bDM4LjQgMEM0MDcuOSAwIDQ0OCA0MC4xIDQ0OCA4OS42TDQ0OCAzNzZjMCA3NS4xLTYwLjkgMTM2LTEzNiAxMzZTMTc2IDQ1MS4xIDE3NiAzNzZsMC04MGMwLTIyLjEtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MGwwIDE2OGMwIDI2LjUtMjEuNSA0OC00OCA0OFMwIDQ5MC41IDAgNDY0TDAgMjk2YzAtNzUuMSA2MC45LTEzNiAxMzYtMTM2czEzNiA2MC45IDEzNiAxMzZsMCA4MGMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwbDAtMTg0LTMyIDBjLTUzIDAtOTYtNDMtOTYtOTZ6bTE0NC04YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6Il19LHNOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLWluanVyZWQiLGljb246WzQ0OCw1MTIsW10sImY3MjgiLCJNMjQyLjcgODBMMzM0IDgwYy0xMC43LTI0LjYtMjkuNS00NC45LTUyLjktNTcuNkwyNDIuNyA4MHptLS45LTcwLjdDMjM2IDguNCAyMzAgOCAyMjQgOCAxNzQuOCA4IDEzMi41IDM3LjYgMTE0IDgwbDgwLjYgMCA0Ny4xLTcwLjd6TTIyNCAyNDhjNjYuMyAwIDEyMC01My43IDEyMC0xMjBsLTI0MCAwYzAgNjYuMyA1My43IDEyMCAxMjAgMTIwek05OC43IDM0MS44QzQ5LjMgMzcwLjIgMTYgNDIzLjUgMTYgNDg0LjYgMTYgNDk5LjcgMjguMyA1MTIgNDMuNCA1MTJsMTUxIDAtOTUuOC0xNzAuMnptNDUuMS0xNy43bDQyLjcgNzUuOSA4NS41IDBjNDQuMiAwIDgwIDM1LjggODAgODAgMCAxMS40LTIuNCAyMi4yLTYuNyAzMmw1OS4yIDBjMTUuMSAwIDI3LjQtMTIuMyAyNy40LTI3LjQgMC05MC45LTczLjctMTY0LjYtMTY0LjYtMTY0LjZsLTg2LjkgMGMtMTIuNiAwLTI0LjkgMS40LTM2LjcgNC4xek0yMTMuNSA0NDhsMzYgNjQgMjIuNSAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC01OC41IDB6Il19LGlOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdHJpa2V0aHJvdWdoIixpY29uOls1MTIsNTEyLFtdLCJmMGNjIiwiTTk2IDE1Ny41Qzk2IDg4LjIgMTUyLjIgMzIgMjIxLjUgMzJMMzY4IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDIyMS41IDk2Yy0zNCAwLTYxLjUgMjcuNS02MS41IDYxLjUgMCAzMSAyMy4xIDU3LjIgNTMuOSA2MWw0NC4xIDUuNSAyMjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsODMuMSAwQzEwMyAyMDQuNiA5NiAxODEuOCA5NiAxNTcuNXpNMzQ5LjIgMzM2bDY1LjUgMGMuOSA2LjEgMS40IDEyLjIgMS40IDE4LjUgMCA2OS4zLTU2LjIgMTI1LjUtMTI1LjUgMTI1LjVMMTQ0IDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNDYuNSAwYzM0IDAgNjEuNS0yNy41IDYxLjUtNjEuNSAwLTYuNC0xLTEyLjctMi44LTE4LjV6Il19LG9OdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJibG9nIixpY29uOls1MTIsNTEyLFtdLCJmNzgxIiwiTTIyNCAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNCAxNDUuOCAwIDI2NCAxMTguMiAyNjQgMjY0IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMTE5LjMtOTYuNy0yMTYtMjE2LTIxNi0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNODAgOTZjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAyMjRjMCAyNi41IDIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OC0yMS41LTQ4LTQ4LTQ4Yy04LjggMC0xNi03LjItMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTYgNzkuNSAwIDE0NCA2NC41IDE0NCAxNDRTMjU1LjUgNTEyIDE3NiA1MTIgMzIgNDQ3LjUgMzIgMzY4bDAtMjI0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4em0xNjggMGM5Mi44IDAgMTY4IDc1LjIgMTY4IDE2OCAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTY2LjMtNTMuNy0xMjAtMTIwLTEyMC0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxuTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3RvcHdhdGNoLTIwIixpY29uOls0NDgsNTEyLFtdLCJlMDZmIiwiTTE2OC41IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzIgMCAwIDI1LjNjLTEwOCAxMS45LTE5MiAxMDMuNS0xOTIgMjE0LjcgMCAxMTkuMyA5Ni43IDIxNiAyMTYgMjE2czIxNi05Ni43IDIxNi0yMTZjMC0zOS44LTEwLjgtNzcuMS0yOS42LTEwOS4ybDI4LjItMjguMmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMjMuNCAyMy40Yy0zMi45LTMwLjItNzUuMi01MC4zLTEyMi01NS41bDAtMjUuMyAzMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xMTIgMHptLTYwIDI0MGMwLTI4LjcgMjMuMy01MiA1Mi01MnM1MiAyMy4zIDUyIDUybDAgMy44YzAgMTEuNy0zLjIgMjMuMS05LjMgMzNsLTQzLjggNzEuMiAzMy4xIDBjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIwbC01Ny44IDBjLTE0LjUgMC0yNi4yLTExLjctMjYuMi0yNi4yIDAtNC45IDEuMy05LjYgMy45LTEzLjhsNTYuNy05Mi4xYzIuMi0zLjYgMy40LTcuOCAzLjQtMTIuMWwwLTMuOGMwLTYuNi01LjQtMTItMTItMTJzLTEyIDUuNC0xMiAxMmMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjB6bTE4MC01MmMyOC43IDAgNTIgMjMuMyA1MiA1MmwwIDk2YzAgMjguNy0yMy4zIDUyLTUyIDUycy01Mi0yMy4zLTUyLTUybDAtOTZjMC0yOC43IDIzLjMtNTIgNTItNTJ6bS0xMiA1MmwwIDk2YzAgNi42IDUuNCAxMiAxMiAxMnMxMi01LjQgMTItMTJsMC05NmMwLTYuNi01LjQtMTItMTItMTJzLTEyIDUuNC0xMiAxMnoiXX0sbE50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrLXBpY2t1cCIsaWNvbjpbNjQwLDUxMixbMTI4NzYzXSwiZjYzYyIsIk0zNjMuOCA5Nmw1Ny42IDk2LTEzMy40IDAgMC05NiA3NS44IDB6TTQ5NiAxOTJMNDE4LjYgNjMuMUM0MDcuMSA0My44IDM4Ni4yIDMyIDM2My44IDMyTDI1NiAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxMjgtMTQ0IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIuNCAwYy0uMiAyLjYtLjQgNS4zLS40IDggMCA0OC42IDM5LjQgODggODggODhzODgtMzkuNCA4OC04OGMwLTIuNy0uMS01LjQtLjQtOGwxNjAuNyAwYy0uMiAyLjYtLjQgNS4zLS40IDggMCA0OC42IDM5LjQgODggODggODhzODgtMzkuNCA4OC04OGMwLTIuNy0uMS01LjQtLjQtOGwzMi40IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC04MGMwLTI2LjUtMjEuNS00OC00OC00OGwtNjQgMHpNMTEyIDM5MmE0MCA0MCAwIDEgMSA4MCAwIDQwIDQwIDAgMSAxIC04MCAwem0zNzYtNDBhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgweiJdfSxpaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2VlZGxpbmciLGljb246WzUxMiw1MTIsWzEyNzc5Mywic3Byb3V0Il0sImY0ZDgiLCJNNTEyIDMyQzUxMiAxNDAuMSA0MzUuNCAyMzAuMyAzMzMuNiAyNTEuNCAzMjUuNyAxOTMuMyAyOTkuNiAxNDEgMjYxLjEgMTAwLjUgMzAxLjIgNDAgMzY5LjkgMCA0NDggMGwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyek0wIDk2QzAgNzguMyAxNC4zIDY0IDMyIDY0bDMyIDBjMTIzLjcgMCAyMjQgMTAwLjMgMjI0IDIyNGwwIDE5MmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE2MEMxMDAuMyAzMjAgMCAyMTkuNyAwIDk2eiJdfSxjTnQ9aWhlLG9oZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFuc2dlbmRlciIsaWNvbjpbNTc2LDUxMixbOTg5NSwidHJhbnNnZW5kZXItYWx0Il0sImYyMjUiLCJNMTI4LTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDk3LjkgMzIgMTM2IDcwLjEgMTUxIDU1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtMTUgMTUgMTQuMiAxNC4yYzI3LjktMjMuOCA2NC4yLTM4LjIgMTAzLjgtMzguMiAzNi43IDAgNzAuNiAxMi40IDk3LjYgMzMuMkw0NjYuNyAzMiA0NDggMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTguNy04NC40IDg0LjRjMTMgMjMuMSAyMC40IDQ5LjkgMjAuNCA3OC4zIDAgNzcuNC01NSAxNDItMTI4IDE1Ni44bDAgMzUuMiAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNi0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC0zNS4yYy03My0xNC44LTEyOC03OS40LTEyOC0xNTYuOCAwLTMxLjQgOS02MC43IDI0LjctODUuNGwtMTYuNy0xNi43LTE1IDE1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDE1LTE1LTM4LjEtMzguMSAwIDMwLjFjMCAxNy43LTE0LjMgMzItMzIgMzJTMCAxMTMuNyAwIDk2TDAgMEMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwek0yODggMzM2YTk2IDk2IDAgMSAwIDAtMTkyIDk2IDk2IDAgMSAwIDAgMTkyeiJdfSxkTnQ9b2hlLHVOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFyLWhhbGYiLGljb246WzU3Niw1MTIsWzYxNzMxXSwiZjA4OSIsIk0zMDQuMSA3LjZjMC0xMS4xLTcuNi0yMC43LTE4LjQtMjMuM3MtMjEuOSAyLjUtMjcgMTIuNEwxOTMuMSAxMjUuMyAzMy4yIDE1MC43Yy04LjkgMS40LTE2LjMgNy43LTE5LjEgMTYuM3MtLjUgMTggNS44IDI0LjRsMTE0LjQgMTE0LjUtMjUuMiAxNTkuOWMtMS40IDguOSAyLjMgMTcuOSA5LjYgMjMuMnMxNi45IDYuMSAyNSAyTDI5MSA0MTYuMWM4LTQuMSAxMy4xLTEyLjQgMTMuMS0yMS40bDAtMzg3LjF6Il19LG5oZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaG90by1maWxtIixpY29uOls2NDAsNTEyLFsicGhvdG8tdmlkZW8iXSwiZjg3YyIsIk0xOTIgNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRMNTc2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyMjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTMyMCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTIyNHpNMzIwIDk2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTE1Ni41IDExLjVDNDcyLjEgMTAwLjQgNDY0LjQgOTYgNDU2IDk2cy0xNi4xIDQuNC0yMC41IDExLjVsLTU0IDg4LjMtMTcuOS0yNS42Yy00LjUtNi40LTExLjgtMTAuMi0xOS43LTEwLjJzLTE1LjIgMy44LTE5LjcgMTAuMmwtNTYgODBjLTUuMSA3LjMtNS44IDE2LjktMS42IDI0LjhTMjc5LjEgMjg4IDI4OCAyODhsMjU2IDBjOC43IDAgMTYuNy00LjcgMjAuOS0xMi4zczQuMS0xNi44LS41LTI0LjNsLTg4LTE0NHpNMTQ0IDEyOGwwIDE2MGMwIDYxLjkgNTAuMSAxMTIgMTEyIDExMmwxOTIgMCAwIDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxOTJjMC0zNS4zIDI4LjctNjQgNjQtNjRsODAgMHpNNTIgMTk2bDAgMjRjMCA4LjggNy4yIDE2IDE2IDE2bDI0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjRjMC04LjgtNy4yLTE2LTE2LTE2bC0yNCAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE2IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAyNGMwIDguOCA3LjIgMTYgMTYgMTZsMjQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNGMwLTguOC03LjItMTYtMTYtMTZsLTI0IDB6bTAgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI0YzAgOC44IDcuMiAxNiAxNiAxNmwyNCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0YzAtOC44LTcuMi0xNi0xNi0xNmwtMjQgMHoiXX0scE50PW5oZSxmTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGljdHVyZS1pbi1waWN0dXJlIixpY29uOls1MTIsNTEyLFtdLCJlODBiIiwiTTQ0OCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDExMi02NCAwIDAtMTEyLTM4NCAwIDAgMzIwIDE0NCAwIDAgNjQtMTQ0IDAtNi41LS4zYy0zMC4xLTMuMS01NC4xLTI3LTU3LjEtNTcuMUwwIDQxNiAwIDk2QzAgNjIuOSAyNS4yIDM1LjYgNTcuNSAzMi4zTDY0IDMyIDQ0OCAzMnptMTYgMjI0YzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTI4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNjAgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xMjhjMC0yNi41IDIxLjUtNDggNDgtNDhsMTYwIDB6Il19LGhOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwdW1wLW1lZGljYWwiLGljb246WzMyMCw1MTIsW10sImUwNmEiLCJNOTYgMGwwIDgwIDEyOCAwIDAtMjQgNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNFMzMDkuMyA4IDI5NiA4bC03MiAwIDAtOGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNjQgMEMxMTAuMy0zMiA5Ni0xNy43IDk2IDB6TTY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTkyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMTI4em02NCAxMjBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDAgNDAgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTQwIDAgMCA0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQwLTQwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0MCAwIDAtNDB6Il19LG1OdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaXJlIixpY29uOls0NDgsNTEyLFsxMjgyOTNdLCJmMDZkIiwiTTE2MC41LTI2LjRjOS4zLTcuOCAyMy03LjUgMzEuOSAuOSAxMi4zIDExLjYgMjMuMyAyNC40IDMzLjkgMzcuNCAxMy41IDE2LjUgMjkuNyAzOC4zIDQ1LjMgNjQuMiA1LjItNi44IDEwLTEyLjggMTQuMi0xNy45IDEuMS0xLjMgMi4yLTIuNyAzLjMtNC4xIDcuOS05LjggMTcuNy0yMi4xIDMwLjgtMjIuMSAxMy40IDAgMjIuOCAxMS45IDMwLjggMjIuMSAxLjMgMS43IDIuNiAzLjMgMy45IDQuOCAxMC4zIDEyLjQgMjQgMzAuMyAzNy43IDUyLjQgMjcuMiA0My45IDU1LjYgMTA2LjQgNTUuNiAxNzYuNiAwIDEyMy43LTEwMC4zIDIyNC0yMjQgMjI0UzAgNDExLjcgMCAyODhjMC05MS4xIDQxLjEtMTcwIDgwLjUtMjI1IDE5LjktMjcuNyAzOS43LTQ5LjkgNTQuNi02NS4xIDguMi04LjQgMTYuNS0xNi43IDI1LjUtMjQuMnpNMjI1LjcgNDE2YzI1LjMgMCA0Ny43LTcgNjguOC0yMSA0Mi4xLTI5LjQgNTMuNC04OC4yIDI4LjEtMTM0LjQtNC41LTktMTYtOS42LTIyLjUtMmwtMjUuMiAyOS4zYy02LjYgNy42LTE4LjUgNy40LTI0LjctLjUtMTcuMy0yMi4xLTQ5LjEtNjIuNC02NS4zLTgzLTUuNC02LjktMTUuMi04LTIxLjUtMS45LTE4LjMgMTcuOC01MS41IDU2LjgtNTEuNSAxMDQuMyAwIDY4LjYgNTAuNiAxMDkuMiAxMTMuNyAxMDkuMnoiXX0sbGhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hZ25pZnlpbmctZ2xhc3MtcGx1cyIsaWNvbjpbNTEyLDUxMixbInNlYXJjaC1wbHVzIl0sImYwMGUiLCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NkMyOTYuMyA0MDEuMSAyNTMuOSA0MTYgMjA4IDQxNiA5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMCA0MTYgOTMuMSA0MTYgMjA4ek0yMDggMTEyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQ4LTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMCAwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00OCA0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwIDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LGdOdD1saGUsYk50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZsYXNrIixpY29uOls0NDgsNTEyLFtdLCJmMGMzIiwiTTI4OCAwTDEyOCAwQzExMC4zIDAgOTYgMTQuMyA5NiAzMnMxNC4zIDMyIDMyIDMyTDEyOCAyMTUuNSA3LjUgNDI2LjNDMi42IDQzNSAwIDQ0NC43IDAgNDU0LjcgMCA0ODYuNCAyNS42IDUxMiA1Ny4zIDUxMmwzMzMuNCAwYzMxLjYgMCA1Ny4zLTI1LjYgNTcuMy01Ny4zIDAtMTAtMi42LTE5LjgtNy41LTI4LjRMMzIwIDIxNS41IDMyMCA2NGMxNy43IDAgMzItMTQuMyAzMi0zMlMzMzcuNyAwIDMyMCAwTDI4OCAwek0xOTIgMjE1LjVsMC0xNTEuNSA2NCAwIDAgMTUxLjVjMCAxMS4xIDIuOSAyMi4xIDguNCAzMS44bDQxLjYgNzIuNy0xNjQgMCA0MS42LTcyLjdjNS41LTkuNyA4LjQtMjAuNiA4LjQtMzEuOHoiXX0sdk50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFsaWduLXJpZ2h0IixpY29uOls0NDgsNTEyLFtdLCJmMDM4IiwiTTQ0OCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkwxOTIgOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6bTAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnpNMCAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDQ4IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6Il19LGNoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWJsZS1jYXIiLGljb246WzUxMiw1MTIsWzEyODY3Myw1NzU1MSwidHJhbSJdLCJmN2RhIiwiTTI4OC0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTE2MCAyNGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0zMiAyODhjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTM2IDAgMC05Ni4yLTE5My40IDU1LjNjLTEyLjcgMy42LTI2LTMuNy0yOS43LTE2LjVzMy43LTI2IDE2LjUtMjkuN2wyMjQtNjQgMCAwIDIyNC02NGMxMi43LTMuNiAyNiAzLjcgMjkuNyAxNi41cy0zLjcgMjYtMTYuNSAyOS43bC0yMDYuNiA1OSAwIDEwOS45IDEzNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTYwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDk2IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNjB6bTgwIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmw1NiAwIDAtOTYtNTYgMHptMTg0IDk2bDAtOTYtODAgMCAwIDk2IDgwIDB6bTQ4IDBsNTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC02NGMwLTguOC03LjItMTYtMTYtMTZsLTU2IDAgMCA5NnoiXX0seE50PWNoZSxkaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToia2l0LW1lZGljYWwiLGljb246WzUxMiw1MTIsWyJmaXJzdC1haWQiXSwiZjQ3OSIsIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNiAwIDAtMzg0LTE2IDB6bTY0IDBsMCAzODQgMjU2IDAgMC0zODQtMjU2IDB6TTQ0OCA0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTE2IDAgMCAzODQgMTYgMHpNMjI0IDE4NGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCA0MCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtNDAgMCAwIDQwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MHoiXX0seU50PWRoZSx3TnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ3JpcC1saW5lcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjdhNCIsIk0zMiAyODhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMjg4em0wLTEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAxNjB6Il19LHVoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidXJnZXIiLGljb246WzUxMiw1MTIsWyJoYW1idXJnZXIiXSwiZjgwNSIsIk00OCAzODRjLTguOCAwLTE2IDcuMi0xNiAxNiAwIDQ0LjIgMzUuOCA4MCA4MCA4MGwyODggMGM0NC4yIDAgODAtMzUuOCA4MC04MCAwLTguOC03LjItMTYtMTYtMTZMNDggMzg0ek0zMiAyMDJjMCAxMi4yIDkuOSAyMiAyMiAyMkw0NTggMjI0YzEyLjIgMCAyMi05LjkgMjItMjIgMC0xNy4yLTIuNi0zNC40LTEwLjgtNDkuNS0yMi4yLTQwLjgtODIuMy0xMjAuNS0yMTMuMi0xMjAuNVM2NSAxMTEuNiA0Mi44IDE1Mi41QzM0LjYgMTY3LjYgMzIgMTg0LjggMzIgMjAyek0wIDMwNGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAyNzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0yNTYgNzJhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4ek0xMjAgMTI4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTI0OC0yNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LE1OdD11aGUsa050PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNub3dtYW4iLGljb246WzY0MCw1MTIsWzk3MzEsOTkyNF0sImY3ZDAiLCJNNDAzIDIxMS43YzMyLjItMjQuOSA1My02My45IDUzLTEwNy43IDAtNzUuMS02MC45LTEzNi0xMzYtMTM2UzE4NCAyOC45IDE4NCAxMDRjMCA0My45IDIwLjggODIuOSA1MyAxMDcuNy0zMi4yIDE2LjMtNTkgNDEuOC03Ni44IDczLjFMMTEyIDI2NC4yIDExMiAyMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxOS42LTIyLjUtOS43Yy0xMi4yLTUuMi0yNi4zIC40LTMxLjUgMTIuNnMuNCAyNi4zIDEyLjYgMzEuNWMzNi4xIDE1LjUgNzUuOSAzMi41IDExOS40IDUxLjItMy45IDE0LjktNiAzMC42LTYgNDYuNyAwIDcwIDM5LjEgMTMwLjggOTYuNiAxNjEuOSA3LjkgNC4zIDE2LjkgNi4xIDI1LjkgNi4xbDEyMyAwYzkgMCAxOC0xLjggMjUuOS02LjEgNTcuNS0zMS4xIDk2LjYtOTIgOTYuNi0xNjEuOSAwLTE2LjItMi4xLTMxLjgtNi00Ni43IDQzLjUtMTguNyA4My40LTM1LjcgMTE5LjQtNTEuMiAxMi4yLTUuMiAxNy44LTE5LjMgMTIuNi0zMS41cy0xOS4zLTE3LjgtMzEuNS0xMi42bC0yMi41IDkuNyAwLTE5LjZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MC4yLTQ4LjIgMjAuNmMtMTcuOS0zMS4zLTQ0LjYtNTYuOC03Ni44LTczLjF6TTI5NiA0MTZhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMjQtMTIwYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMjQ4IDgwYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6TTM2OCA1NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTI5Mi4yIDE1OS4zYy0yLjctNC44LTQuMi0xMC4yLTQuMi0xNS43IDAtMTcuNSAxNC4yLTMxLjYgMzEuNi0zMS42bC44IDBjMTcuNSAwIDMxLjYgMTQuMiAzMS42IDMxLjYgMCA1LjUtMS40IDEwLjktNC4yIDE1LjdMMzI3IDE5NS44Yy0zLjEgNS40LTEwLjggNS40LTEzLjkgMGwtMjAuOS0zNi42eiJdfSxTTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG90ZWwiLGljb246WzUxMiw1MTIsWzEyNzk3Nl0sImY1OTQiLCJNMTYgMjRDMTYgMTAuNyAyNi43IDAgNDAgMEw0NzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtOCAwIDAgNDE2IDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEw0MCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsOCAwIDAtNDE2LTggMEMyNi43IDQ4IDE2IDM3LjMgMTYgMjR6bTIwOCA4OGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0xMjggOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptOTYgMTEybDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6TTM1MiA5NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek0xMTIgMjA4bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTI0MC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek0yODggMzg0bDQzLjggMGM5LjkgMCAxNy41LTkgMTQtMTguMi0xMy44LTM2LjEtNDguOC02MS44LTg5LjctNjEuOHMtNzUuOSAyNS43LTg5LjcgNjEuOGMtMy41IDkuMiA0LjEgMTguMiAxNCAxOC4ybDQzLjggMCAwIDgwIDY0IDAgMC04MHoiXX0sek50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InByaW50IixpY29uOls1MTIsNTEyLFsxMjg0MjQsMTI4NDM4LDkxMTNdLCJmMDJmIiwiTTY0IDY0QzY0IDI4LjcgOTIuNyAwIDEyOCAwTDM0MS41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdsNDIuNSA0Mi41YzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNsMCAzNy41LTM4NCAwIDAtODB6TTAgMjU2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDAgMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMjU2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjQtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NnpNMTI4IDQxNmwwIDMyIDI1NiAwIDAtOTYtMjU2IDAgMCA2NHpNNDU2IDI3MmEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxwaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidm9sbGV5YmFsbCIsaWNvbjpbNTEyLDUxMixbMTI3OTUyLCJ2b2xsZXliYWxsLWJhbGwiXSwiZjQ1ZiIsIk01MTIgMjU4LjljLTIzLjQgOC00Ny44IDEzLjEtNzIuNiAxNS4xIDUuOS05OC42LTMwLjctMTkxLjEtOTQuOS0yNTguMyA5Ny44IDM2IDE2Ny41IDEzMCAxNjcuNSAyNDAuMyAwIDEgMCAxLjkgMCAyLjl6bS01LjkgNTJjLTUuMiAyMy43LTEzLjYgNDYuMi0yNC45IDY2LjktOTQuNyA1Mi4yLTIxNCA1MC0zMDguNC0xMy42IDIxLjctMzEuMyA0OS44LTU4LjkgODMuOC04MC41IDc5LjUgNDEuNiAxNjguNSA0OS4xIDI0OS41IDI3LjF6TTI3OS43IDI0MS42Yy0zLjctODkuNy00MS43LTE3MC41LTEwMS4zLTIyOS43IDIyLjMtNy4xIDQ2LTExLjIgNzAuNS0xMS45IDkyLjUgNTUuOSAxNTAuMyAxNjAuMyAxNDIuNCAyNzMuOC0zOC0zLjItNzUuOS0xMy43LTExMS42LTMyLjN6TTEzMC41IDMyLjhDMTQ5LjEgNDkuMSAxNjUuOCA2Ny43IDE3OS45IDg4LjIgOTEuNSAxMzIuMyAyOS43IDIxMC4zIDMuNyAyOTkuNSAxLjMgMjg1LjMgMCAyNzAuOCAwIDI1NiAwIDE2MC4yIDUyLjYgNzYuNyAxMzAuNSAzMi44em03My40IDk3YzE2LjMgMzQuNSAyNi4xIDcyLjYgMjcuOSAxMTIuOC03NS44IDQ4LTEyNi44IDEyMS4zLTE0OC4zIDIwMi41LTE3LjYtMTYuMS0zMy0zNC42LTQ1LjUtNTUgMi4xLTEwOC4xIDYzLjctMjEwLjQgMTY1LjktMjYwLjN6TTI1NiA1MTJjLTQ3LjcgMC05Mi4zLTEzLTEzMC41LTM1LjcgNC44LTI0LjMgMTIuNi00OCAyMy4yLTcwLjQgODIuNCA1NC40IDE4MC44IDY4LjkgMjcxIDQ3LTQ0LjQgMzctMTAxLjUgNTkuMi0xNjMuNyA1OS4yeiJdfSxDTnQ9cGhlLF9OdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFmZmljLWxpZ2h0IixpY29uOlszMjAsNTEyLFsxMjg2NzhdLCJmNjM3IiwiTTY0LTMyQzI4LjctMzIgMC0zLjMgMCAzMkwwIDM4NGMwIDg4LjQgNzEuNiAxNjAgMTYwIDE2MHMxNjAtNzEuNiAxNjAtMTYwbDAtMzUyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0LTMyem05NiAzOTJjMzAuOSAwIDU2IDI1LjEgNTYgNTZzLTI1LjEgNTYtNTYgNTYtNTYtMjUuMS01Ni01NiAyNS4xLTU2IDU2LTU2em01Ni0xMDRhNTYgNTYgMCAxIDEgLTExMiAwIDU2IDU2IDAgMSAxIDExMiAwek0xNjAgMTUyYTU2IDU2IDAgMSAxIDAtMTEyIDU2IDU2IDAgMSAxIDAgMTEyeiJdfSxUTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhbmUtY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNTU1IiwiTTIzMiAyNGMwLTMwLjkgMjUuMS01NiA1Ni01NnM1NiAyNS4xIDU2IDU2bDAgMTI3LjMgNzggNzEuNWMtNjkuMyAyOS0xMTggOTcuNC0xMTggMTc3LjIgMCA0OS4zIDE4LjYgOTQuMyA0OS4xIDEyOC4zTDI4OCA1MTIgMTc5LjkgNTM5Yy0xMC4xIDIuNS0xOS45LTUuMS0xOS45LTE1LjVsMC0xOS44YzAtNC45IDIuMi05LjUgNi0xMi41bDY2LTUyLjggMC05OS43LTE2Mi45IDU0LjNDNTguNyAzOTYuNCA0OCAzODguNyA0OCAzNzcuOGwwLTQzLjdjMC05IDMuOC0xNy41IDEwLjQtMjMuNkwyMzIgMTUxLjMgMjMyIDI0ek0zNTIgNDAwYTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTIwMS40LTYwLjljLTcuMS01LjItMTcuMi0zLjYtMjIuNCAzLjVsLTUzIDcyLjktMjYuOC0yNi44Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDQwIDQwYzMuMyAzLjMgNy45IDUgMTIuNiA0LjZzOC45LTIuOCAxMS43LTYuNWw2NC04OGM1LjItNy4xIDMuNi0xNy4yLTMuNS0yMi4zeiJdfSxQdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlcnMiLGljb246WzY0MCw1MTIsW10sImYwYzAiLCJNMzIwIDE2YTEwNCAxMDQgMCAxIDEgMCAyMDggMTA0IDEwNCAwIDEgMSAwLTIwOHpNOTYgODhhNzIgNzIgMCAxIDEgMCAxNDQgNzIgNzIgMCAxIDEgMC0xNDR6TTAgNDE2YzAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4IDEyLjggMCAyNS4yIDEuOSAzNi45IDUuNC0zMi45IDM2LjgtNTIuOSA4NS40LTUyLjkgMTM4LjZsMCAxNmMwIDExLjQgMi40IDIyLjIgNi43IDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMnptNTIxLjMgNjRjNC4zLTkuOCA2LjctMjAuNiA2LjctMzJsMC0xNmMwLTUzLjItMjAtMTAxLjgtNTIuOS0xMzguNiAxMS43LTMuNSAyNC4xLTUuNCAzNi45LTUuNCA3MC43IDAgMTI4IDU3LjMgMTI4IDEyOGwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC04Ni43IDB6TTQ3MiAxNjBhNzIgNzIgMCAxIDEgMTQ0IDAgNzIgNzIgMCAxIDEgLTE0NCAwek0xNjAgNDMyYzAtODguNCA3MS42LTE2MCAxNjAtMTYwczE2MCA3MS42IDE2MCAxNjBsMCAxNmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTZ6Il19LExOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjZXJ0aWZpY2F0ZSIsaWNvbjpbNTc2LDUxMixbXSwiZjBhMyIsIk0yMzkuMi04Yy02LjEtNi4yLTE1LTguNy0yMy40LTYuNFMyMDAuOS01LjYgMTk4LjggMi44TDE4My41IDYzYy0xLjEgNC40LTUuNiA3LTkuOSA1LjdMMTEzLjggNTEuOWMtOC40LTIuNC0xNy40IDAtMjMuNSA2LjFzLTguNSAxNS4xLTYuMSAyMy41bDE2LjkgNTkuOGMxLjIgNC4zLTEuNCA4LjgtNS43IDkuOUwzNS4xIDE2Ni41Yy04LjQgMi4xLTE1IDguNy0xNy4zIDE3LjFzLjIgMTcuMyA2LjQgMjMuNGw0NC41IDQzLjNjMy4yIDMuMSAzLjIgOC4zIDAgMTEuNUwyNC4zIDMwNS4xYy02LjIgNi4xLTguNyAxNS02LjQgMjMuNHM4LjkgMTQuOSAxNy4zIDE3LjFsNjAuMiAxNS4zYzQuNCAxLjEgNyA1LjYgNS43IDkuOUw4NC4yIDQzMC41Yy0yLjQgOC40IDAgMTcuNCA2LjEgMjMuNXMxNS4xIDguNSAyMy41IDYuMWw1OS44LTE2LjljNC4zLTEuMiA4LjggMS40IDkuOSA1LjdsMTUuMyA2MC4yYzIuMSA4LjQgOC43IDE1IDE3LjEgMTcuM3MxNy4zLS4yIDIzLjQtNi40bDQzLjMtNDQuNWMzLjEtMy4yIDguMy0zLjIgMTEuNSAwTDMzNy4zIDUyMGM2LjEgNi4yIDE1IDguNyAyMy40IDYuNHMxNC45LTguOSAxNy4xLTE3LjNMMzkzLjEgNDQ5YzEuMS00LjQgNS42LTcgOS45LTUuN2w1OS44IDE2LjljOC40IDIuNCAxNy40IDAgMjMuNS02LjFzOC41LTE1LjEgNi4xLTIzLjVsLTE2LjktNTkuOGMtMS4yLTQuMyAxLjQtOC44IDUuNy05LjlsNjAuMi0xNS4zYzguNC0yLjEgMTUtOC43IDE3LjMtMTcuMXMtLjItMTcuNC02LjQtMjMuNGwtNDQuNS00My4zYy0zLjItMy4xLTMuMi04LjMgMC0xMS41bDQ0LjUtNDMuM2M2LjItNi4xIDguNy0xNSA2LjQtMjMuNHMtOC45LTE0LjktMTcuMy0xNy4xbC02MC4yLTE1LjNjLTQuNC0xLjEtNy01LjYtNS43LTkuOWwxNi45LTU5LjhjMi40LTguNCAwLTE3LjQtNi4xLTIzLjVzLTE1LjEtOC41LTIzLjUtNi4xTDQwMyA2OC44Yy00LjMgMS4yLTguOC0xLjQtOS45LTUuN0wzNzcuOCAyLjhjLTIuMS04LjQtOC43LTE1LTE3LjEtMTcuM3MtMTcuMyAuMi0yMy40IDYuNEwyOTQgMzYuNWMtMy4xIDMuMi04LjMgMy4yLTExLjUgMEwyMzkuMi04eiJdfSwkTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYWxhcm0tY2xvY2siLGljb246WzUxMiw1MTIsWzkyMDBdLCJmMzRlIiwiTTUwNC40IDEzMi41Yy00LjUgMTAuNS0xOC40IDkuOC0yNC45IC40LTI3LjgtNDAtNjYuMS03Mi4yLTExMS05Mi42LTEwLjQtNC43LTEzLjctMTguMy00LjEtMjQuNiAxNS05LjkgMzMtMTUuNyA1Mi4zLTE1LjcgNTIuNiAwIDk1LjIgNDIuNiA5NS4yIDk1LjIgMCAxMy4yLTIuNyAyNS44LTcuNiAzNy4zem0tNDcxLjkgLjRjLTYuNSA5LjQtMjAuNSAxMC4xLTI0LjktLjQtNC45LTExLjUtNy42LTI0LjEtNy42LTM3LjMgMC01Mi42IDQyLjYtOTUuMiA5NS4yLTk1LjIgMTkuMyAwIDM3LjMgNS44IDUyLjMgMTUuNyA5LjYgNi4zIDYuMyAxOS45LTQuMSAyNC42LTQ0LjggMjAuNC04My4xIDUyLjYtMTExIDkyLjZ6TTM5MC4yIDQ2Ny40QzM1Mi44IDQ5NS40IDMwNi4zIDUxMiAyNTYgNTEycy05Ni44LTE2LjYtMTM0LjEtNDQuNkw4Ni42IDUwMi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2wzNS4yLTM1LjJDNDguNiAzODQuOCAzMiAzMzguMyAzMiAyODggMzIgMTY0LjMgMTMyLjMgNjQgMjU2IDY0UzQ4MCAxNjQuMyA0ODAgMjg4YzAgNTAuMy0xNi42IDk2LjgtNDQuNiAxMzQuMmwzNS4yIDM1LjJjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTM1LjItMzUuMnpNMjgwIDE4NGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDEwNGMwIDYuNCAyLjUgMTIuNSA3IDE3bDU2IDU2YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNDktNDkgMC05NC4xeiJdfSxETnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVsaWNvcHRlci1zeW1ib2wiLGljb246WzUxMiw1MTIsW10sImU1MDIiLCJNNDQ1LjQgMjI0bDY0LjcgMEM0OTUuNiAxMDguMiA0MDMuOCAxNi40IDI4OCAybDAgNjQuN0MzNjguNCA4MC4xIDQzMS45IDE0My42IDQ0NS40IDIyNHpNNTEwIDI4OGwtNjQuNyAwQzQzMS45IDM2OC40IDM2OC40IDQzMS45IDI4OCA0NDUuM2wwIDY0LjdjMTE1LjgtMTQuNCAyMDcuNi0xMDYuMiAyMjItMjIyek0yIDI4OEMxNi40IDQwMy44IDEwOC4yIDQ5NS42IDIyNCA1MTBsMC02NC43QzE0My42IDQzMS45IDgwLjIgMzY4LjQgNjYuNyAyODhMMiAyODh6bTAtNjRsNjQuNyAwQzgwLjIgMTQzLjYgMTQzLjYgODAuMSAyMjQgNjYuN0wyMjQgMkMxMDguMiAxNi40IDE2LjQgMTA4LjIgMiAyMjR6bTIwNi02NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNjQgOTYgMCAwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xOTJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA2NC05NiAwIDAtNjR6Il19LGZoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1jaGltbmV5LWNyYWNrIixpY29uOls1MTIsNTEyLFsiaG91c2UtZGFtYWdlIl0sImY2ZjEiLCJNMjM0LjIgOC42YzEyLjMtMTEuNCAzMS4zLTExLjQgNDMuNSAwTDM2OCA5Mi4zIDM2OCA4MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTAxLjUgMzcuOCAzNS4xYzkuNiA5IDEyLjggMjIuOSA4IDM1LjFTNDkzLjIgMjcyIDQ4MCAyNzJsLTE2IDAgMCAxNzZjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTEwNS42IDAtMzguNC02NCA4MC44LTY3LjNjNy44LTYuNSA3LjYtMTguNi0uNC0yNC45TDIxOC42IDI2My4yYy0xNC42LTExLjUtMzMuOCA3LTIyLjggMjJMMjU2IDM2OCAxNzAuNSA0MzkuMmMtNi4xIDUtNy41IDEzLjgtMy41IDIwLjVsMzEuMyA1Mi4yLTg2LjQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNzYtMTYgMGMtMTMuMiAwLTI1LTguMS0yOS44LTIwLjNzLTEuNi0yNi4yIDgtMzUuMWwyMjQtMjA4eiJdfSxBTnQ9ZmhlLEVOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tbWlsaXRhcnktcG9pbnRpbmciLGljb246WzUxMiw1MTIsW10sImU1NGEiLCJNMjE0LjkgMTQuMUMyMDIgMTUuMiAxOTIgMjYgMTkyIDM5IDE5MiA1Mi44IDIwMy4yIDY0IDIxNyA2NGwxNTEgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMC42QzM4NCA4IDM3NiAuNyAzNjYuNyAxLjRMMjE0LjkgMTQuMXpNMjA4IDExMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtNS41LS42LTEwLjgtMS42LTE2TDIwOS42IDk2Yy0xIDUuMi0xLjYgMTAuNS0xLjYgMTZ6TTQwIDIyNGMtMjIuMSAwLTQwIDE3LjktNDAgNDBzMTcuOSA0MCA0MCA0MGwxNTIgMCAwIDg5LjQgMTYyLjgtMTYyLjhjLTEzLjMtNC4zLTI3LjMtNi41LTQxLjYtNi41TDQwIDIyNHptMzQ1LjcgMjAuOWwtMTcxLjEgMTcxLjEgMTY5LjQgMCAwLTQ2LjMgNTMuNiA5MC42YzExLjIgMTkgMzUuOCAyNS4zIDU0LjggMTQuMXMyNS4zLTM1LjggMTQuMS01NC44TDQzMC4zIDI5MC44Yy0xMS4yLTE5LTI2LjYtMzQuNS00NC42LTQ1Ljl6TTE5MiA0NDhsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyLTE5MiAweiJdfSxQTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGF0YWJhc2UiLGljb246WzQ0OCw1MTIsW10sImYxYzAiLCJNNDQ4IDIwNS44Yy0xNC44IDkuOC0zMS44IDE3LjctNDkuNSAyNC00NyAxNi44LTEwOC43IDI2LjItMTc0LjUgMjYuMlM5Ni40IDI0Ni41IDQ5LjUgMjI5LjhjLTE3LjYtNi4zLTM0LjctMTQuMi00OS41LTI0TDAgMjg4YzAgNDQuMiAxMDAuMyA4MCAyMjQgODBzMjI0LTM1LjggMjI0LTgwbDAtODIuMnptMC03Ny44bDAtNDhDNDQ4IDM1LjggMzQ3LjcgMCAyMjQgMFMwIDM1LjggMCA4MGwwIDQ4YzAgNDQuMiAxMDAuMyA4MCAyMjQgODBzMjI0LTM1LjggMjI0LTgwek0zOTguNSAzODkuOEMzNTEuNiA0MDYuNSAyODkuOSA0MTYgMjI0IDQxNlM5Ni40IDQwNi41IDQ5LjUgMzg5LjhjLTE3LjYtNi4zLTM0LjctMTQuMi00OS41LTI0TDAgNDMyYzAgNDQuMiAxMDAuMyA4MCAyMjQgODBzMjI0LTM1LjggMjI0LTgwbDAtNjYuMmMtMTQuOCA5LjgtMzEuOCAxNy43LTQ5LjUgMjR6Il19LElOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJuZXdzcGFwZXIiLGljb246WzUxMiw1MTIsWzEyODI0MF0sImYxZWEiLCJNMCA0MTZMMCAxMjBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDI4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0TDk2IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDI4OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjR6TTE2MCAxMjhsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem0yNCAyNDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTI0MCAwem0tMjQtNzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMjQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTI0MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHpNMzYwIDE3NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC02NCAweiJdfSxOTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQtcmFpbiIsaWNvbjpbNTEyLDUxMixbMTI3NzgzLDk5MjZdLCJmNzNkIiwiTTk2IDMyMGMtNTMgMC05Ni00My05Ni05NiAwLTQyLjUgMjcuNi03OC42IDY1LjktOTEuMi0xLjMtNi43LTEuOS0xMy43LTEuOS0yMC44IDAtNjEuOSA1MC4xLTExMiAxMTItMTEyIDQzLjEgMCA4MC41IDI0LjMgOTkuMiA2MCAxNC43LTE3LjEgMzYuNS0yOCA2MC44LTI4IDQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgNS41LS42IDEwLjgtMS42IDE2IC41IDAgMS4xIDAgMS42IDAgNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZMOTYgMzIwem0xLjYgNjguMmMxLjEtMi41IDMuNi00LjIgNi40LTQuMnM1LjMgMS42IDYuNCA0LjJsMzAuMiA2OC4yYzIuMiA1LjEgMy40IDEwLjUgMy40IDE2IDAgMjEuOS0xOC4xIDM5LjYtNDAgMzkuNnMtNDAtMTcuNy00MC0zOS42YzAtNS41IDEuMi0xMSAzLjQtMTZsMzAuMi02OC4yem0xNTIgMGMxLjEtMi41IDMuNi00LjIgNi40LTQuMnM1LjMgMS42IDYuNCA0LjJsMzAuMiA2OC4yYzIuMiA1LjEgMy40IDEwLjUgMy40IDE2IDAgMjEuOS0xOC4xIDM5LjYtNDAgMzkuNnMtNDAtMTcuNy00MC0zOS42YzAtNS41IDEuMi0xMSAzLjQtMTZsMzAuMi02OC4yem0xMjEuOCA2OC4ybDMwLjItNjguMmMxLjEtMi41IDMuNi00LjIgNi40LTQuMnM1LjMgMS42IDYuNCA0LjJsMzAuMiA2OC4yYzIuMiA1LjEgMy40IDEwLjUgMy40IDE2IDAgMjEuOS0xOC4xIDM5LjYtNDAgMzkuNnMtNDAtMTcuNy00MC0zOS42YzAtNS41IDEuMi0xMSAzLjQtMTZ6Il19LGhoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXhpbWl6ZSIsaWNvbjpbNDQ4LDUxMixbImV4cGFuZC1hcnJvd3MtYWx0Il0sImYzMWUiLCJNMTY4IDMyTDI0IDMyQzEwLjcgMzIgMCA0Mi43IDAgNTZMMCAyMDBjMCA5LjcgNS44IDE4LjUgMTQuOCAyMi4yUzM0LjEgMjIzLjggNDEgMjE3bDQwLTQwIDc5IDc5LTc5IDc5LTQwLTQwYy02LjktNi45LTE3LjItOC45LTI2LjItNS4yUzAgMzAyLjMgMCAzMTJMMCA0NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTQ0IDBjOS43IDAgMTguNS01LjggMjIuMi0xNC44czEuNy0xOS4zLTUuMi0yNi4ybC00MC00MCA3OS03OSA3OSA3OS00MCA0MGMtNi45IDYuOS04LjkgMTcuMi01LjIgMjYuMlMyNzAuMyA0ODAgMjgwIDQ4MGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTE0NGMwLTkuNy01LjgtMTguNS0xNC44LTIyLjJzLTE5LjMtMS43LTI2LjIgNS4ybC00MCA0MC03OS03OSA3OS03OSA0MCA0MGM2LjkgNi45IDE3LjIgOC45IDI2LjIgNS4yUzQ0OCAyMDkuNyA0NDggMjAwbDAtMTQ0YzAtMTMuMy0xMC43LTI0LTI0LTI0TDI4MCAzMmMtOS43IDAtMTguNSA1LjgtMjIuMiAxNC44UzI1Ni4yIDY2LjEgMjYzIDczbDQwIDQwLTc5IDc5LTc5LTc5IDQwLTQwYzYuOS02LjkgOC45LTE3LjIgNS4yLTI2LjJTMTc3LjcgMzIgMTY4IDMyeiJdfSxSTnQ9aGhlLE9OdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsb2NhdGlvbi1hcnJvdyIsaWNvbjpbNTEyLDUxMixbXSwiZjEyNCIsIk00NzcuOSA3NS41YzQuNS0xMS44IDEuNy0yNS4yLTcuMi0zNC4xcy0yMi4zLTExLjgtMzQuMS03LjJsLTQxNiAxNjBDNy45IDE5OS0uMyAyMTEuMiAwIDIyNC43czkuMSAyNS40IDIxLjkgMjkuNmwxNzYuOCA1OC45IDU4LjkgMTc2LjhjNC4zIDEyLjggMTYuMSAyMS42IDI5LjYgMjEuOXMyNS43LTcuOSAzMC42LTIwLjVsMTYwLTQxNnoiXX0sRk50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpdHkiLGljb246WzU3Niw1MTIsWzEyNzk2MV0sImY2NGYiLCJNMzIwIDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMzItNDggMCAwLTcyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNzItNjQgMCAwLTcyQzk2IDEwLjcgODUuMyAwIDcyIDBTNDggMTAuNyA0OCAyNGwwIDc0Yy0yNy42IDcuMS00OCAzMi4yLTQ4IDYyTDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTkyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC02NCAwIDAtMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0TDMyMCAwem02NCAxMTJsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnptLTE2IDgwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDB6bTE2IDExMmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2em0xMTItMTZjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMHpNMjU2IDMwNGwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2ek0yNDAgMTkyYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDB6TTEyOCAzMDRsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnpNMTEyIDE5MmM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAweiJdfSxCTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToieC1yYXkiLGljb246WzUxMiw1MTIsW10sImY0OTciLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDMyMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NHptMjgwIDU2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTYtNjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw2NCAwIDAgNDgtODAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw4MCAwIDAgNDgtNjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw2NCAwIDAgMTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE2IDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTY0IDAgMC00OCA4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MCAwIDAtNDggNjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNjQgMCAwLTE2eiJdfSxITnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidW1icmVsbGEtYmVhY2giLGljb246WzUxMiw1MTIsWzEyNzk1OF0sImY1Y2EiLCJNNDk3LjUgMzQxLjFjLTUuOSAxNi43LTI1LjMgMjMtNDEuMSAxNS4xbC0xNzguMi04OS4xLTEuNiAzLjItODguOCAxNzcuNyAyOTIuMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw4NC4yIDAgMTAzLjItMjA2LjMgMS42LTMuMi0xNjUuNC04Mi43Yy0xNS44LTcuOS0yMi40LTI3LjMtMTIuNS00MiA0NS45LTY4LjYgMTI0LjEtMTEzLjggMjEyLjktMTEzLjggMTQxLjQgMCAyNTYgMTE0LjYgMjU2IDI1NiAwIDI5LjgtNS4xIDU4LjUtMTQuNSA4NS4xeiJdfSxtaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctcmlnaHQtdG8tYnJhY2tldCIsaWNvbjpbNTEyLDUxMixbInNpZ24taW4iXSwiZjA5MCIsIk0zNTIgOTZsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzUzIDAgOTYtNDMgOTYtOTZsMC0yNTZjMC01My00My05Ni05Ni05NmwtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnptLTkuNCAxODIuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMMjQyLjcgMjI0IDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyMTAuNyAwLTczLjQgNzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4eiJdfSxxTnQ9bWhlLFZOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFkc2V0IixpY29uOls0NDgsNTEyLFtdLCJmNTkwIiwiTTIyNCA2NGMtNzkgMC0xNDQuNyA1Ny4zLTE1Ny43IDEzMi43IDkuMy0zIDE5LjMtNC43IDI5LjctNC43bDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTYgMGMtNTMgMC05Ni00My05Ni05NmwwLTY0QzAgMTAwLjMgMTAwLjMgMCAyMjQgMFM0NDggMTAwLjMgNDQ4IDIyNGwwIDE2OC4xYzAgNjYuMy01My44IDEyMC0xMjAuMSAxMjBsLTg3LjktLjEtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhzMjEuNS00OCA0OC00OGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMCA0MCAwYzM5LjggMCA3Mi0zMi4yIDcyLTcybDAtMjAuOWMtMTQuMSA4LjItMzAuNSAxMi44LTQ4IDEyLjhsLTE2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC0yNi41IDIxLjUtNDggNDgtNDhsMTYgMGMxMC40IDAgMjAuMyAxLjYgMjkuNyA0LjctMTMtNzUuMy03OC42LTEzMi43LTE1Ny43LTEzMi43eiJdfSxqTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3Bsb3RjaCIsaWNvbjpbNTEyLDUxMixbXSwiZjViYyIsIk0yMDguNSA2Mi4zbDI4LjEtMzYuOUMyNDguOCA5LjQgMjY3LjggMCAyODggMCAzMTYuNSAwIDM0MS42IDE4LjcgMzQ5LjggNDZsMTcuOCA1OS40YzEwLjMgMzQuNCAzNi4xIDYyIDY5LjggNzQuNmwzOS44IDE0LjljMjAuOSA3LjkgMzQuOCAyNy45IDM0LjggNTAuMiAwIDE2LjktNy45IDMyLjgtMjEuNSA0Mi45bC02Ny4zIDUwLjVjLTI0LjMgMTguMi0zNy4yIDQ3LjktMzMuOCA3OC4xbDIuNSAyMi43YzQuMyAzOC43LTI2IDcyLjYtNjUgNzIuNi0xNC44IDAtMjkuMy01LjEtNDAuOS0xNC4zbC01NS4zLTQ0LjNjLTQuNS0zLjYtOS4zLTYuNy0xNC41LTkuMi0xNS44LTcuOS0zMy43LTEwLjQtNTEtNy4zTDgyLjQgNDUxLjljLTM0LjYgNi4zLTY2LjQtMjAuMy02Ni40LTU1LjQgMC0xMy4yIDQuNy0yNiAxMy4xLTM2LjJsMTEuMi0xMy40YzE0LjYtMTcuNCAyMi42LTM5LjQgMjIuNi02Mi4xIDAtMTguOC01LjUtMzcuMi0xNS44LTUzTDguOCAxNzMuNUMzLjEgMTY0LjcgMCAxNTQuNCAwIDE0My45IDAgMTEwLjUgMzAuMSA4NS4xIDYzIDkwLjdsNTEuMyA4LjdjMzUuOSA2LjEgNzIuMi04LjIgOTQuMi0zNy4xeiJdfSxnaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXAtbG9uZyIsaWNvbjpbMzIwLDUxMixbImxvbmctYXJyb3ctYWx0LXVwIl0sImYzMGMiLCJNMTM3LjQtMjIuNmMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGwxMjggMTI4YzkuMiA5LjIgMTEuOSAyMi45IDYuOSAzNC45UzMwMC45IDE2MCAyODggMTYwbC02NCAwIDAgMzM2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTMzNi02NCAwYy0xMi45IDAtMjQuNi03LjgtMjkuNi0xOS44Uy4yIDExNC41IDkuNCAxMDUuNGwxMjgtMTI4eiJdfSxVTnQ9Z2hlLFdOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZXhhZ29uLW5vZGVzIixpY29uOls0NDgsNTEyLFtdLCJlNjk5IiwiTTI0OCAxMDYuNmMxOC45LTkgMzItMjguMyAzMi01MC42YzAtMzAuOS0yNS4xLTU2LTU2LTU2cy01NiAyNS4xLTU2IDU2YzAgMjIuMyAxMy4xIDQxLjYgMzIgNTAuNmwwIDk4LjhjLTIuOCAxLjMtNS41IDIuOS04IDQuN2wtODAuMS00NS44YzEuNi0yMC44LTguNi00MS42LTI3LjktNTIuOEM1Ny4yIDk2IDIzIDEwNS4yIDcuNSAxMzJTMS4yIDE5MyAyOCAyMDguNWMxLjMgLjggMi42IDEuNSA0IDIuMWwwIDkwLjhjLTEuMyAuNi0yLjcgMS4zLTQgMi4xQzEuMiAzMTktOCAzNTMuMiA3LjUgMzgwUzU3LjIgNDE2IDg0IDQwMC41YzE5LjMtMTEuMSAyOS40LTMyIDI3LjgtNTIuOGw1MC41LTI4LjljLTExLjUtMTEuMi0xOS45LTI1LjYtMjMuOC00MS43TDg4IDMwNi4xYy0yLjYtMS44LTUuMi0zLjMtOC00LjdsMC05MC44YzIuOC0xLjMgNS41LTIuOSA4LTQuN2w4MC4xIDQ1LjhjLS4xIDEuNC0uMiAyLjgtLjIgNC4zYzAgMjIuMyAxMy4xIDQxLjYgMzIgNTAuNmwwIDk4LjhjLTE4LjkgOS0zMiAyOC4zLTMyIDUwLjZjMCAzMC45IDI1LjEgNTYgNTYgNTZzNTYtMjUuMSA1Ni01NmMwLTIyLjMtMTMuMS00MS42LTMyLTUwLjZsMC05OC44YzIuOC0xLjMgNS41LTIuOSA4LTQuN2w4MC4xIDQ1LjhjLTEuNiAyMC44IDguNiA0MS42IDI3LjggNTIuOGMyNi44IDE1LjUgNjEgNi4zIDc2LjUtMjAuNXM2LjMtNjEtMjAuNS03Ni41Yy0xLjMtLjgtMi43LTEuNS00LTIuMWwwLTkwLjhjMS40LS42IDIuNy0xLjMgNC0yLjFjMjYuOC0xNS41IDM2LTQ5LjcgMjAuNS03Ni41UzM5MC44IDk2IDM2NCAxMTEuNWMtMTkuMyAxMS4xLTI5LjQgMzItMjcuOCA1Mi44bC01MC42IDI4LjljMTEuNSAxMS4yIDE5LjkgMjUuNiAyMy44IDQxLjdMMzYwIDIwNS45YzIuNiAxLjggNS4yIDMuMyA4IDQuN2wwIDkwLjhjLTIuOCAxLjMtNS41IDIuOS04IDQuNmwtODAuMS00NS44Yy4xLTEuNCAuMi0yLjggLjItNC4zYzAtMjIuMy0xMy4xLTQxLjYtMzItNTAuNmwwLTk4Ljh6Il19LEhlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3NwaXRhbCIsaWNvbjpbNTc2LDUxMixbMTI3OTczLDYyNTg5LCJob3NwaXRhbC1hbHQiLCJob3NwaXRhbC13aWRlIl0sImYwZjgiLCJNMTI4IDY0YzAtMzUuMyAyOC43LTY0IDY0LTY0TDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjQgNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTkyYzAtMzUuMyAyOC43LTY0IDY0LTY0bDY0IDAgMC02NHpNMjcyIDM1MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA4MCA5NiAwIDAtODBjMC0xNy43LTE0LjMtMzItMzItMzJsLTMyIDB6TTEyOCAzNjhsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNnpNMTEyIDI1NmM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwek01MTIgMzY4bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZ6TTQ5NiAyNTZjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMHpNMjY0IDEwNGwwIDMyLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2YzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwIDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzIgMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDAgMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnoiXX0sR050PUhlZSxZTnQ9SGVlLEtOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24taGFyYXNzaW5nIixpY29uOls1NzYsNTEyLFtdLCJlNTQ5IiwiTTE5MiA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTU5LjQgMzA0LjVMODggMjU2LjkgODggNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjggMTYgMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjQ0LjcgNDcuNCA1Ny4xYzExLjMgMTMuNiAzMS41IDE1LjUgNDUuMSA0LjJzMTUuNS0zMS41IDQuMi00NS4xbC03My43LTg4LjljLTE4LjItMjItNDUuMy0zNC43LTczLjktMzQuN2wtMzUuOSAwYy0zMy43IDAtNjQuOSAxNy43LTgyLjMgNDYuNmwtNTguMyA5N2MtOS4xIDE1LjEtNC4yIDM0LjggMTAuOSA0My45czM0LjggNC4yIDQzLjktMTAuOXpNNDgwIDI0MGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek00NjQgMzQ0bDAgNTguNy00MS40LTQxLjRjLTcuMy03LjMtMTcuNi0xMC42LTI3LjgtOXMtMTguOSA4LjEtMjMuNSAxNy4zbC00OCA5NmMtNy45IDE1LjgtMS41IDM1IDE0LjMgNDIuOXMzNSAxLjUgNDIuOS0xNC4zbDI4LjEtNTYuMyA1NC43IDU0LjdjMTIuNCAxMi40IDI5LjEgMTkuMyA0Ni42IDE5LjMgMzYuNCAwIDY1LjktMjkuNSA2NS45LTY1LjlMNTc2IDM0NGMwLTMwLjktMjUuMS01Ni01Ni01NnMtNTYgMjUuMS01NiA1NnpNMjg4IDQ4YzAgOC44IDcuMiAxNiAxNiAxNmw1NiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC01NiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bS0uOCA0OS43Yy03LjktNC0xNy41LS43LTIxLjUgNy4ycy0uNyAxNy41IDcuMiAyMS41bDQ4IDI0YzcuOSA0IDE3LjUgLjcgMjEuNS03LjJzLjctMTcuNS03LjItMjEuNWwtNDgtMjR6Il19LFpOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb25leS1iaWxsLXRyZW5kLXVwIixpY29uOls1MTIsNTEyLFtdLCJlNTI5IiwiTTQ4MCA4YzAtMTMuMy0xMC43LTI0LTI0LTI0TDM1NC4yLTE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQzLjkgMC0xMTEuMyAxMTEuMy05NS4xLTgxLjVjLTktNy43LTIyLjItNy43LTMxLjIgMGwtMTEyIDk2Yy0xMC4xIDguNi0xMS4yIDIzLjgtMi42IDMzLjhzMjMuOCAxMS4yIDMzLjggMi42bDk2LjQtODIuNiA5Ni40IDgyLjZjOS41IDguMiAyMy43IDcuNiAzMi42LTEuM2wxMjctMTI3IDAgNDMuOWMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0TDQ4MCA4ek00OCAyNTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4TDAgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDQxNiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTYwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ4IDI1NnptNDcuMyA1NmMtMy40IDIwLjEtMTkuMiAzNi0zOS40IDM5LjQtNC40IC43LTgtMi45LTgtNy4zbDAtMzJjMC00LjQgMy42LTggOC04bDMyIDBjNC40IDAgOC4xIDMuNiA3LjMgOHptMCAxNDQuMWMuNyA0LjQtMi45IDgtNy4zIDhsLTMyIDBjLTQuNCAwLTgtMy42LTgtOGwwLTMyYzAtNC40IDMuNi04LjEgOC03LjMgMjAuMSAzLjQgMzYgMTkuMiAzOS40IDM5LjR6TTQ1NiA0MTYuN2M0LjQtLjcgOCAyLjkgOCA3LjNsMCAzMmMwIDQuNC0zLjYgOC04IDhsLTMyIDBjLTQuNCAwLTguMS0zLjYtNy4zLTggMy40LTIwLjEgMTkuMi0zNiAzOS40LTM5LjR6TTQxNi43IDMxMmMtLjctNC40IDIuOS04IDcuMy04bDMyIDBjNC40IDAgOCAzLjYgOCA4bDAgMzJjMCA0LjQtMy42IDguMS04IDcuMy0yMC4xLTMuNC0zNi0xOS4yLTM5LjQtMzkuNHpNMTkyIDM4NGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6Il19LGJoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW4tcnVsZXIiLGljb246WzUxMiw1MTIsWyJwZW5jaWwtcnVsZXIiXSwiZjVhZSIsIk00MDQgMGMxOS4yIDAgMzcuNiA3LjYgNTEuMSAyMS4ybDM1LjcgMzUuN0M1MDQuNCA3MC40IDUxMiA4OC44IDUxMiAxMDhzLTcuNiAzNy42LTIxLjIgNTEuMUw0NDUuOSAyMDQgMzA4IDY2LjEgMzUyLjkgMjEuMkMzNjYuNCA3LjYgMzg0LjggMCA0MDQgMHpNNTguOSAzMTUuMUwyNzQuMSAxMDAgNDEyIDIzNy45IDE5Ni45IDQ1My4xYy0xMC43IDEwLjctMjQuMSAxOC41LTM4LjcgMjIuNkwzMC40IDUxMS4xYy04LjMgMi4zLTE3LjMgMC0yMy40LTYuMnMtOC41LTE1LjEtNi4yLTIzLjRMMzYuNCAzNTMuOGM0LjEtMTQuNiAxMS44LTI3LjkgMjIuNi0zOC43ek0yMjUuNCA4MC44TDgwLjggMjI1LjQgMTEuNyAxNTYuM2MtMTUuNi0xNS42LTE1LjYtNDAuOSAwLTU2LjZsODgtODhjMTUuNi0xNS42IDQwLjktMTUuNiA1Ni42IDBsNS45IDUuOS01Ni4zIDU2LjNjLTcuOCA3LjgtNy44IDIwLjUgMCAyOC4zczIwLjUgNy44IDI4LjMgMGw1Ni4zLTU2LjMgMzQuOSAzNC45ek00MzEuMiAyODYuNmwzNC45IDM0LjktNTYuMyA1Ni4zYy03LjggNy44LTcuOCAyMC41IDAgMjguM3MyMC41IDcuOCAyOC4zIDBsNTYuMy01Ni4zIDUuOSA1LjljMTUuNiAxNS42IDE1LjYgNDAuOSAwIDU2LjZsLTg4IDg4Yy0xNS42IDE1LjYtNDAuOSAxNS42LTU2LjYgMGwtNjkuMS02OS4xIDE0NC42LTE0NC42eiJdfSxYTnQ9YmhlLFFOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZXBlYXQiLGljb246WzUxMiw1MTIsWzEyODI1N10sImYzNjMiLCJNNDcwLjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0Yy05LjItOS4yLTIyLjktMTEuOS0zNC45LTYuOVMzNTIgMTkuMSAzNTIgMzJsMCAzMi0xNjAgMEM4NiA2NCAwIDE1MCAwIDI1NiAwIDI3My43IDE0LjMgMjg4IDMyIDI4OHMzMi0xNC4zIDMyLTMyYzAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4bDE2MCAwIDAgMzJjMCAxMi45IDcuOCAyNC42IDE5LjggMjkuNnMyNS43IDIuMiAzNC45LTYuOWw2NC02NHpNNDEuNCAzOTMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjOS4yIDkuMiAyMi45IDExLjkgMzQuOSA2LjlTMTYwIDQ5Mi45IDE2MCA0ODBsMC0zMiAxNjAgMGMxMDYgMCAxOTItODYgMTkyLTE5MiAwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOGwtMTYwIDAgMC0zMmMwLTEyLjktNy44LTI0LjYtMTkuOC0yOS42cy0yNS43LTIuMi0zNC45IDYuOWwtNjQgNjR6Il19LEpOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib25lIixpY29uOls2NDAsNTEyLFsxMjk0NjBdLCJmNWQ3IiwiTTE5Ny40IDE2MGMtMy45IDAtNy4yLTIuOC04LjEtNi42LTEwLjItNDIuMS00OC4xLTczLjQtOTMuMy03My40LTUzIDAtOTYgNDMtOTYgOTYgMCAyOS4xIDEyLjkgNTUuMSAzMy4zIDcyLjcgNC4zIDMuNyA0LjMgMTAuOCAwIDE0LjUtMjAuNCAxNy42LTMzLjMgNDMuNy0zMy4zIDcyLjcgMCA1MyA0MyA5NiA5NiA5NiA0NS4yIDAgODMuMS0zMS4zIDkzLjMtNzMuNCAuOS0zLjggNC4yLTYuNiA4LjEtNi42bDI0NS4xIDBjMy45IDAgNy4yIDIuOCA4LjEgNi42IDEwLjIgNDIuMSA0OC4xIDczLjQgOTMuMyA3My40IDUzIDAgOTYtNDMgOTYtOTYgMC0yOS4xLTEyLjktNTUuMS0zMy4zLTcyLjctNC4zLTMuNy00LjMtMTAuOCAwLTE0LjUgMjAuNC0xNy42IDMzLjMtNDMuNyAzMy4zLTcyLjcgMC01My00My05Ni05Ni05Ni00NS4yIDAtODMuMSAzMS4zLTkzLjMgNzMuNC0uOSAzLjgtNC4yIDYuNi04LjEgNi42bC0yNDUuMSAweiJdfSx2aGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlyZS1mbGFtZS1jdXJ2ZWQiLGljb246WzM4NCw1MTIsWyJmaXJlLWFsdCJdLCJmN2U0IiwiTTE1My42IDI5LjlsMTYtMjEuM0MxNzMuNiAzLjIgMTgwIDAgMTg2LjcgMCAxOTguNCAwIDIwOCA5LjYgMjA4IDIxLjNsMCAyMi4xYzAgMTMuMSA1LjQgMjUuNyAxNC45IDM0LjdMMzA3LjYgMTU5QzM1Ni40IDIwNS42IDM4NCAyNzAuMiAzODQgMzM3LjcgMzg0IDQzNCAzMDYgNTEyIDIwOS43IDUxMkwxOTIgNTEyQzg2IDUxMiAwIDQyNiAwIDMyMGwwLTMuOGMwLTQ4LjggMTkuNC05NS42IDUzLjktMTMwLjFsMy41LTMuNWM0LjItNC4yIDEwLTYuNiAxNi02LjYgMTIuNSAwIDIyLjYgMTAuMSAyMi42IDIyLjZMOTYgMjg4YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRsMC0zLjljMC0xOC03LjItMzUuMy0xOS45LTQ4bC0zOC42LTM4LjZjLTI0LTI0LTM3LjUtNTYuNy0zNy41LTkwLjcgMC0yNy43IDktNTQuOCAyNS42LTc2Ljl6Il19LGVSdD12aGUseGhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1cy1zaW1wbGUiLGljb246WzQ0OCw1MTIsWyJidXMtYWx0Il0sImY1NWUiLCJNOTYgMEM0MyAwIDAgNDMgMCA5NkwwIDM4NGMwIDI5LjggMjAuNCA1NC45IDQ4IDYybDAgMzRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyIDE5MiAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTM0YzI3LjYtNy4xIDQ4LTMyLjIgNDgtNjJsMC0yODhjMC01My00My05Ni05Ni05Nkw5NiAwek02NCAxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJsMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMkw5NiAyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTZ6TTk2IDMyMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTI1NiAwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sdFJ0PXhoZSxhUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmVudXMtbWFycyIsaWNvbjpbNjQwLDUxMixbOTg5Ml0sImYyMjgiLCJNNDgwLTY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMlM0NjIuMyAwIDQ4MCAwTDUzMC43IDAgNDc0IDU2LjdjLTI2LjMtMTUuNy01Ny4xLTI0LjctOTAtMjQuNy0zNS40IDAtNjguNCAxMC41LTk2IDI4LjUtMjcuNi0xOC02MC42LTI4LjUtOTYtMjguNS05Ny4yIDAtMTc2IDc4LjgtMTc2IDE3NiAwIDg2LjMgNjIuMSAxNTguMSAxNDQgMTczLjFsMCAzNC45LTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMiAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMzQuOWMyMy4zLTQuMyA0NC45LTEzLjEgNjQtMjUuNiAyNy42IDE4IDYwLjYgMjguNSA5NiAyOC41IDk3LjIgMCAxNzYtNzguOCAxNzYtMTc2IDAtNDEuMS0xNC4xLTc5LTM3LjgtMTA5TDU3NiA0NS4zIDU3NiA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDQ4MC02NHpNMzM2IDMwOS4yYzIwLjItMjguNiAzMi02My41IDMyLTEwMS4ycy0xMS44LTcyLjYtMzItMTAxLjJjMTQuNi02LjkgMzAuOC0xMC44IDQ4LTEwLjggNjEuOSAwIDExMiA1MC4xIDExMiAxMTJTNDQ1LjkgMzIwIDM4NCAzMjBjLTE3LjIgMC0zMy41LTMuOS00OC0xMC44ek0yODggMTUwLjNjMTAuMiAxNi45IDE2IDM2LjYgMTYgNTcuN3MtNS44IDQwLjktMTYgNTcuN2MtMTAuMi0xNi45LTE2LTM2LjYtMTYtNTcuN3M1LjgtNDAuOSAxNi01Ny43em0tNDgtNDMuNWMtMjAuMiAyOC42LTMyIDYzLjUtMzIgMTAxLjJzMTEuOCA3Mi42IDMyIDEwMS4yYy0xNC41IDYuOS0zMC44IDEwLjgtNDggMTAuOC02MS45IDAtMTEyLTUwLjEtMTEyLTExMlMxMzAuMSA5NiAxOTIgOTZjMTcuMiAwIDMzLjUgMy45IDQ4IDEwLjh6Il19LHJSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJibGVuZGVyIixpY29uOls1MTIsNTEyLFtdLCJmNTE3IiwiTTAgNTZDMCAyNS4xIDI1LjEgMCA1NiAwTDQzNy42IDBjMjEuMyAwIDM2LjYgMjAuMyAzMC44IDQwLjhMNDU3LjEgODAgMzQ0IDgwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDk5LjQgMC0xOC4zIDY0LTgxLjEgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw2Ny40IDAtMjcuNCA5Ni0yNTYgMC05LjEtOTYtNjIuOSAwYy0zMC45IDAtNTYtMjUuMS01Ni01NkwwIDU2ek0xMTQuMyAxOTJMMTAwLjYgNDggNTYgNDhjLTQuNCAwLTggMy42LTggOGwwIDEyOGMwIDQuNCAzLjYgOCA4IDhsNTguMyAwek0xMzYgMzg0bDI0MCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDhjMCAyMi4xLTE3LjkgNDAtNDAgNDBsLTI0MCAwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTQ4YzAtMjIuMSAxNy45LTQwIDQwLTQwem0xMjAgODhhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSxzUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidSIsaWNvbjpbMzg0LDUxMixbMTE3XSwiNTUiLCJNMzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyMjRjMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhzMTI4LTU3LjMgMTI4LTEyOGwwLTIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMjI0YzAgMTA2LTg2IDE5Mi0xOTIgMTkyUzAgMzk0IDAgMjg4TDAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJ6Il19LGR2PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoYXJlIixpY29uOls1MTIsNTEyLFsibWFpbC1mb3J3YXJkIl0sImYwNjQiLCJNMzA3LjggMTguNGMtMTIgNS0xOS44IDE2LjYtMTkuOCAyOS42bDAgODAtMTEyIDBjLTk3LjIgMC0xNzYgNzguOC0xNzYgMTc2IDAgMTEzLjMgODEuNSAxNjMuOSAxMDAuMiAxNzQuMSAyLjUgMS40IDUuMyAxLjkgOC4xIDEuOSAxMC45IDAgMTkuNy04LjkgMTkuNy0xOS43IDAtNy41LTQuMy0xNC40LTkuOC0xOS41LTkuNC04LjgtMjIuMi0yNi40LTIyLjItNTYuNyAwLTUzIDQzLTk2IDk2LTk2bDk2IDAgMCA4MGMwIDEyLjkgNy44IDI0LjYgMTkuOCAyOS42czI1LjcgMi4yIDM0LjktNi45bDE2MC0xNjBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjBjLTkuMi05LjItMjIuOS0xMS45LTM0LjktNi45eiJdfSxpUnQ9ZHYseWhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBob25lLWZsaXAiLGljb246WzUxMiw1MTIsWzEyODM4MSwicGhvbmUtYWx0Il0sImY4NzkiLCJNMzUxLjggMjVjNy44LTE4LjggMjguNC0yOC45IDQ4LjEtMjMuNWw1LjUgMS41YzY0LjYgMTcuNiAxMTkuOCA4MC4yIDEwMy43IDE1Ni40LTM3LjEgMTc1LTE3NC44IDMxMi43LTM0OS44IDM0OS44LTc2LjMgMTYuMi0xMzguOC0zOS4xLTE1Ni40LTEwMy43bC0xLjUtNS41Yy01LjQtMTkuNyA0LjctNDAuMyAyMy41LTQ4LjFsOTcuMy00MC41YzE2LjUtNi45IDM1LjYtMi4xIDQ3IDExLjhsMzguNiA0Ny4yYzcwLjMtMzQuOSAxMjYuOC05My4zIDE1OS4zLTE2NC45bC00NC4xLTM2LjFjLTEzLjktMTEuMy0xOC42LTMwLjQtMTEuOC00N0wzNTEuOCAyNXoiXX0sb1J0PXloZSxuUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9pbGV0LXBvcnRhYmxlIixpY29uOlszMjAsNTEyLFtdLCJlNTgzIiwiTTAgNjRsMCAxNiAzMjAgMCAwLTE2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDBDMjguNyAwIDAgMjguNyAwIDY0em0yNCA2NEwwIDEyOCAwIDQ4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtOCAyMjQgMCAwIDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTM2MC0yOTYgMHptMjI0IDk2bDI0IDAgMCA5Ni0yNCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0eiJdfSxsUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXByZWduYW50IixpY29uOlszODQsNTEyLFtdLCJlMzFlIiwiTTE5MiA4MGE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnptODAgMzIxLjJjOC42LTQuNSAxNi44LTEwIDI0LjMtMTYuNWw0LTMuNGMyMi42LTE5LjQgMzUuNy00Ny43IDM1LjctNzcuNiAwLTM1LjktMTguOC02OS4xLTQ5LjYtODcuNmwtMzAuNC0xOC4yIDAtMS44YzAtNDYuNS0zNy43LTg0LjEtODQuMS04NC4xLTI4LjEgMC01NC40IDE0LjEtNzAgMzcuNUwyMS40IDI3MC4yYy05LjggMTQuNy01LjggMzQuNiA4LjkgNDQuNHMzNC42IDUuOCA0NC40LTguOWwyOS00My41LTMwLjUgMTEzLjVjLTIuNiA5LjYtLjYgMTkuOSA1LjUgMjcuOFM5NCA0MTYgMTA0IDQxNmw4IDAgMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTYgMzIgMCAwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMTAuOHoiXX0sY1J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imxlc3MtdGhhbiIsaWNvbjpbNTEyLDUxMixbNjI3NzRdLCIzYyIsIk00NzcuMSA1MC42YzcuNCAxNiAuNCAzNS4xLTE1LjYgNDIuNUwxMDguNCAyNTYgNDYxLjQgNDE5YzE2IDcuNCAyMyAyNi40IDE1LjYgNDIuNXMtMjYuNCAyMy00Mi41IDE1LjZsLTQxNi0xOTJDNy4zIDI3OS44IDAgMjY4LjUgMCAyNTZTNy4zIDIzMi4yIDE4LjYgMjI3bDQxNi0xOTJjMTYtNy40IDM1LjEtLjQgNDIuNSAxNS42eiJdfSxkUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3VwZXJzY3JpcHQiLGljb246WzU3Niw1MTIsW10sImYxMmIiLCJNNTQ0IDMyYzAtMTEuMS01LjctMjEuNC0xNS4yLTI3LjJzLTIxLjItNi40LTMxLjEtMS40bC0zMiAxNkM0NDkuOSAyNy4zIDQ0My41IDQ2LjUgNDUxLjQgNjIuMyA0NTcgNzMuNSA0NjguMyA4MCA0ODAgODBsMCA4MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMTI4ek05NiA2NEM3OC4zIDY0IDY0IDc4LjMgNjQgOTZzMTQuMyAzMiAzMiAzMmwxNS4zIDAgODkuNiAxMjgtODkuNiAxMjgtMTUuMyAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDBjMTAuNCAwIDIwLjItNS4xIDI2LjItMTMuNkwyNDAgMzExLjggMzI1LjggNDM0LjRjNiA4LjYgMTUuOCAxMy42IDI2LjIgMTMuNmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNS4zIDAtODkuNi0xMjggODkuNi0xMjggMTUuMyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwYy0xMC40IDAtMjAuMiA1LjEtMjYuMiAxMy42TDI0MCAyMDAuMiAxNTQuMiA3Ny42QzE0OC4yIDY5LjEgMTM4LjQgNjQgMTI4IDY0TDk2IDY0eiJdfSx3aGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLXN0b3AiLGljb246WzUxMiw1MTIsWzYyMDk0LCJzdG9wLWNpcmNsZSJdLCJmMjhkIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xOTIgMTYwbDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LHVSdD13aGUsTWhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy11cC1kb3duIixpY29uOlsyNTYsNTEyLFsiYXJyb3dzLXYiXSwiZjA3ZCIsIk0xNTAuNi0yMi42Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMOTYgNzcuMyA5NiA0MzQuNyA1NC42IDM5My40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5NiA5NmM2IDYgMTQuMSA5LjQgMjIuNiA5LjRzMTYuNi0zLjQgMjIuNi05LjRsOTYtOTZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTQxLjQgNDEuNCAwLTM1Ny41IDQxLjQgNDEuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05Ni05NnoiXX0scFJ0PU1oZSxraGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicG9vLXN0b3JtIixpY29uOls1MTIsNTEyLFsicG9vLWJvbHQiXSwiZjc1YSIsIk0yNjguOS0zMS44Yy01LjUtLjctMTEgMS40LTE0LjUgNS43cy00LjYgMTAuMS0yLjggMTUuM2MyLjggOC4yIDQuMyAxNi45IDQuMyAyNi4xIDAgMjEuNy04LjUgMzcuMi0yMS45IDQ3LjYtMTMuOSAxMC44LTM0LjEgMTctNTguMSAxN2wtMjQgMGMtNDguNiAwLTg4IDM5LjQtODggODggMCAxNC44IDMuNyAyOC44IDEwLjIgNDEuMS00MiA2LjYtNzQuMiA0My03NC4yIDg2LjkgMCA0Ni42IDM2LjIgODQuNyA4MS45IDg3LjggMy4xLTEyLjQgOS45LTIzLjggMTkuNi0zMi41TDI0Mi43IDIyNWMxMi4yLTEwLjkgMjgtMTcgNDQuNC0xNyA0NC42IDAgNzYuNSA0MyA2My43IDg1LjdsLTEyLjcgNDIuNGMyOC44IDEuMiA1Mi43IDIxLjEgNTkuOCA0Ny45bDI2LjIgMGM0OC42IDAgODgtMzkuNCA4OC04OCAwLTQzLjktMzIuMS04MC4zLTc0LjItODYuOSA2LjUtMTIuMyAxMC4yLTI2LjIgMTAuMi00MS4xIDAtNDguNi0zOS40LTg4LTg4LTg4bC05LjQgMGMuOS01LjQgMS40LTEwLjkgMS40LTE2LjYgMC00OC43LTM2LjEtODguOS04My4xLTk1LjJ6TTE0NC42IDQxNmw2MS44IDAtMzEuMiAxMDQuMWMtMy42IDExLjkgNS4zIDIzLjkgMTcuOCAyMy45IDQuNiAwIDktMS43IDEyLjQtNC43TDM0Ni41IDQxMi45YzMuNS0zLjEgNS41LTcuNiA1LjUtMTIuNCAwLTkuMi03LjQtMTYuNi0xNi42LTE2LjZsLTYxLjggMCAzMS4yLTEwNC4xYzMuNi0xMS45LTUuMy0yMy45LTE3LjgtMjMuOS00LjYgMC05IDEuNy0xMi40IDQuN0wxMzMuNSAzODcuMWMtMy41IDMuMS01LjUgNy42LTUuNSAxMi40IDAgOS4yIDcuNCAxNi42IDE2LjYgMTYuNnoiXX0sZlJ0PWtoZSxoUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlkZW8tc2xhc2giLGljb246WzU3Niw1MTIsW10sImY0ZTIiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMTUzLTE1MyAwLTIyMi4yYzAtMzUuMy0yOC43LTY0LTY0LTY0TDEyOS44IDY0IDQxLTI0Ljl6TTMyIDEyOGwwIDI1NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGM3LjggMCAxNS4zLTEuNCAyMi4yLTRMMzYgMTA1LjhjLTIuNiA2LjktNCAxNC40LTQgMjIuMnpNNDY0IDMzNmw3My41IDU4LjhjNC4yIDMuNCA5LjQgNS4yIDE0LjggNS4yIDEzLjEgMCAyMy43LTEwLjYgMjMuNy0yMy43bDAtMjQwLjZjMC0xMy4xLTEwLjYtMjMuNy0yMy43LTIzLjctNS40IDAtMTAuNiAxLjgtMTQuOCA1LjJMNDY0IDE3NiA0NjQgMzM2eiJdfSxxZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXhtYXJrIixpY29uOls0NDgsNTEyLFsxMDA2MiwidGltZXMtc3F1YXJlIiwieG1hcmstc3F1YXJlIl0sImYyZDMiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNzEgMTM1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDU1IDU1IDU1LTU1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNTUgNTUgNTUgNTVjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNTUtNTUtNTUgNTVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNTUtNTUtNTUtNTVjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45eiJdfSxtUnQ9cWVlLGdSdD1xZWUsU2hlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtaG9sZGluZy1kcm9wbGV0IixpY29uOls1NzYsNTEyLFsiaGFuZC1ob2xkaW5nLXdhdGVyIl0sImY0YzEiLCJNMjc1LjUgNi42TDIwOS4yIDEwM0MxOTggMTE5LjMgMTkyIDEzOC42IDE5MiAxNTguM2wwIDEuN2MwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMS43YzAtMTkuOC02LTM5LTE3LjItNTUuM0wzMDAuNSA2LjZDMjk3LjcgMi41IDI5MyAwIDI4OCAwcy05LjcgMi41LTEyLjUgNi42ek0xMDkuMyAzNDEuNUw2Ni43IDM4NCAzMiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIwLjUgMGMyOSAwIDU3LjMtOS4zIDgwLjctMjYuNWwxMjYuNi05My4zYzE3LjgtMTMuMSAyMS42LTM4LjEgOC41LTU1LjlzLTM4LjEtMjEuNi01NS45LTguNUwzOTIuNiA0MTYgMjgwIDQxNmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw3MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNTIuMiAwYy0zMy45IDAtNjYuNSAxMy41LTkwLjUgMzcuNXoiXX0sYlJ0PVNoZSxWZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid29uLXNpZ24iLGljb246WzUxMiw1MTIsWzgzNjEsImtydyIsIndvbiJdLCJmMTU5IiwiTTYyLjQgNTMuOUM1Ni44IDM3LjEgMzguNyAyOC4xIDIxLjkgMzMuNlMtMy45IDU3LjQgMS43IDc0LjFMNTYuOSAyNDAgMzIgMjQwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQwLjkgMCA1Ni43IDE3MC4xYzQuNSAxMy41IDE3LjQgMjIuNCAzMS42IDIxLjlzMjYuNC0xMC40IDI5LjgtMjQuMkwyMzMgMjg4IDI3OSAyODggMzIxIDQ1NS44YzMuNCAxMy44IDE1LjYgMjMuNyAyOS44IDI0LjJzMjcuMS04LjQgMzEuNi0yMS45TDQzOS4xIDI4OCA0ODAgMjg4YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yNC45IDAgNTUuMy0xNjUuOWM1LjYtMTYuOC0zLjUtMzQuOS0yMC4yLTQwLjVzLTM0LjkgMy41LTQwLjUgMjAuMmwtNjIgMTg2LjEtNTQuNiAwLTQ1LjktMTgzLjhDMjgzLjUgNDIgMjcwLjcgMzIgMjU2IDMycy0yNy41IDEwLTMxIDI0LjJMMTc5IDI0MCAxMjQuNCAyNDAgNjIuNCA1My45em03OCAyMzQuMWwyNi42IDAtMTEuNCA0NS42LTE1LjItNDUuNnpNMjQ1IDI0MGwxMS00NC4xIDExIDQ0LjEtMjIgMHptMTAwIDQ4bDI2LjYgMC0xNS4yIDQ1LjYtMTEuNC00NS42eiJdfSx2UnQ9VmVlLHhSdD1WZWUseVJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im9iamVjdC11bmdyb3VwIixpY29uOls2NDAsNTEyLFtdLCJmMjQ4IiwiTTMyIDExOS40QzEyLjkgMTA4LjQgMCA4Ny43IDAgNjQgMCAyOC43IDI4LjcgMCA2NCAwIDg3LjcgMCAxMDguNCAxMi45IDExOS40IDMybDIwOS4xIDBjMTEuMS0xOS4xIDMxLjctMzIgNTUuNC0zMiAzNS4zIDAgNjQgMjguNyA2NCA2NCAwIDIzLjctMTIuOSA0NC40LTMyIDU1LjRsMCAxMTMuMWMxOS4xIDExLjEgMzIgMzEuNyAzMiA1NS40IDAgMzUuMy0yOC43IDY0LTY0IDY0LTIzLjcgMC00NC40LTEyLjktNTUuNC0zMmwtMjA5LjEgMGMtMTEuMSAxOS4xLTMxLjcgMzItNTUuNCAzMi0zNS4zIDAtNjQtMjguNy02NC02NCAwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRsMC0xMTMuMXpNMTE5LjQgOTZjLTUuNiA5LjctMTMuNyAxNy44LTIzLjQgMjMuNGwwIDExMy4xYzkuNyA1LjYgMTcuOCAxMy43IDIzLjQgMjMuNGwyMDkuMSAwYzUuNi05LjcgMTMuNy0xNy44IDIzLjQtMjMuNGwwLTExMy4xYy05LjctNS42LTE3LjgtMTMuNy0yMy40LTIzLjRMMTE5LjQgOTZ6TTU0NCAyNzkuNGMtOS43LTUuNi0xNy44LTEzLjctMjMuNC0yMy40bC0yOS4yIDBjLTUuMy0xNy43LTE0LjgtMzMuNS0yNy40LTQ2LjRsMC0xNy42IDU2LjYgMGMxMS4xLTE5LjEgMzEuNy0zMiA1NS40LTMyIDM1LjMgMCA2NCAyOC43IDY0IDY0IDAgMjMuNy0xMi45IDQ0LjQtMzIgNTUuNGwwIDExMy4xYzE5LjEgMTEuMSAzMiAzMS43IDMyIDU1LjQgMCAzNS4zLTI4LjcgNjQtNjQgNjQtMjMuNyAwLTQ0LjQtMTIuOS01NS40LTMybC0yMDkuMSAwYy0xMS4xIDE5LjEtMzEuNyAzMi01NS40IDMyLTM1LjMgMC02NC0yOC43LTY0LTY0IDAtMjMuNyAxMi45LTQ0LjQgMzItNTUuNGwwLTI0LjYgNjQgMCAwIDI0LjZjOS43IDUuNiAxNy44IDEzLjcgMjMuNCAyMy40bDIwOS4xIDBjNS42LTkuNyAxMy43LTE3LjggMjMuNC0yMy40bDAtMTEzLjF6Il19LHdSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21tZW50IixpY29uOls1MTIsNTEyLFsxMjg0ODksNjE2NjldLCJmMDc1IiwiTTUxMiAyNDBjMCAxMzIuNS0xMTQuNiAyNDAtMjU2IDI0MC0zNy4xIDAtNzIuMy03LjQtMTA0LjEtMjAuN0wzMy41IDUxMC4xYy05LjQgNC0yMC4yIDEuNy0yNy4xLTUuOFMtMiA0ODUuOCAyLjggNDc2LjhsNDguOC05Mi4yQzE5LjIgMzQ0LjMgMCAyOTQuMyAwIDI0MCAwIDEwNy41IDExNC42IDAgMjU2IDBTNTEyIDEwNy41IDUxMiAyNDB6Il19LE1SdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoaWxsLWF2YWxhbmNoZSIsaWNvbjpbNTc2LDUxMixbXSwiZTUwNyIsIk00NDAuMSA0MDEuOWMzNC4yIDIzLjEgODEuMSAxOS41IDExMS40LTEwLjggMzQuNC0zNC40IDM0LjQtOTAuMSAwLTEyNC41LTI3LjgtMjcuOC02OS41LTMzLjEtMTAyLjYtMTYtMTEuOCA2LjEtMTYuNCAyMC42LTEwLjMgMzIuM3MyMC42IDE2LjQgMzIuMyAxMC4zYzE1LjEtNy44IDM0LTUuMyA0Ni42IDcuMyAxNS42IDE1LjYgMTUuNiA0MC45IDAgNTYuNnMtNDAuOSAxNS42LTU2LjYgMGwtODEuNy04MS43YzIyLjMtMTQuMiAzNy4xLTM5LjEgMzcuMS02Ny41IDAtMzMuOS0yMS4xLTYyLjktNTAuOS03NC41IDEuOS02LjggMi45LTE0IDIuOS0yMS41IDAtNDQuMi0zNS44LTgwLTgwLTgwLTI3LjMgMC01MS41IDEzLjctNjUuOSAzNC42LTUuOC0yMC0yNC4yLTM0LjYtNDYuMS0zNC42LTI2LjUgMC00OCAyMS41LTQ4IDQ4IDAgNCAuNSA3LjkgMS40IDExLjZMNDQwLjEgNDAxLjl6TTQ4MC40IDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTAgMTI4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNNjguNyA4N0M0My41IDYxLjggLjQgNzkuNyAuNCAxMTUuM0wuNCA0MzJjMCA0NC4yIDM1LjggODAgODAgODBsMzE2LjcgMGMzNS42IDAgNTMuNS00My4xIDI4LjMtNjguM0w2OC43IDg3eiJdfSxrUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLXRvLWV5ZSIsaWNvbjpbNjQwLDUxMixbXSwiZTRiZiIsIk0xNzYgNTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAzOC4xLTYzLTYzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMyMS43IDU1LjYgMzEgNjVsNjMgNjMtMzguMSAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDk2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC05NnptMCA0MDBsMC05NmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtOTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzOC4xIDAtNjMgNjNjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw2My02MyAwIDM4LjFjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNHptMzEyIDI0YzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMzguMSA2MyA2M2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTYzLTYzIDM4LjEgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtOTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA5NmMwIDEzLjMgMTAuNyAyNCAyNCAyNHpNNDY0IDU2bDAgOTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsOTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMzguMSAwIDYzLTYzYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTYzIDYzIDAtMzguMWMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHpNMzIwIDEyMGMtNTcuMyAwLTk5LjQgMzQtMTI1LjYgNjQuMy0yMCAyMy4xLTMyLjQgNDUuOC0zNy42IDU2LjEtMi41IDUtNC45IDkuNy00LjkgMTUuNnMyLjMgMTAuNiA0LjkgMTUuNmM1LjIgMTAuMyAxNy42IDMzIDM3LjYgNTYuMSAyNi4yIDMwLjMgNjguMiA2NC4zIDEyNS42IDY0LjNzOTkuNC0zNCAxMjUuNi02NC4zYzIwLTIzLjEgMzIuNC00NS44IDM3LjYtNTYuMSAyLjUtNSA0LjktOS43IDQuOS0xNS42cy0yLjMtMTAuNi00LjktMTUuNmMtNS4yLTEwLjMtMTcuNi0zMy0zNy42LTU2LjEtMjYuMi0zMC4zLTY4LjItNjQuMy0xMjUuNi02NC4zek0yNTYgMjU2YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHoiXX0sU1J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNub3dwbG93IixpY29uOls2NDAsNTEyLFtdLCJmN2QyIiwiTTEyOCAxNjBsMC05NmMwLTM1LjMgMjguNy02NCA2NC02NEwyOTYuNCAwYzI0LjIgMCA0Ni40IDEzLjcgNTcuMiAzNS40bDg3LjYgMTc1LjFjNC40IDguOSA2LjggMTguNyA2LjggMjguNmwwIDU2LjkgODAgMCAwLTgwYzAtNDguNiAzOS40LTg4IDg4LTg4IDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0yMi4xIDAtNDAgMTcuOS00MCA0MGwwIDIwOGMwIDIyLjEgMTcuOSA0MCA0MCA0MCAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtNDguNiAwLTg4LTM5LjQtODgtODhsMC04MC02MyAwYzkuNSAxNi41IDE1IDM1LjYgMTUgNTYgMCA2MS45LTUwLjEgMTEyLTExMiAxMTJsLTIyNCAwYy02MS45IDAtMTEyLTUwLjEtMTEyLTExMiAwLTMwLjUgMTIuMi01OC4yIDMyLTc4LjRMNjQgMjI0YzAtMzUuMyAyOC43LTY0IDY0LTY0em05MS43IDM0LjlsNDMuNiAyOS4xIDExMy4yIDAtODAtMTYwLTEwNC40IDAgMCAxMDguOCAyNy43IDIyLjF6TTQxNiA0MDBjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTIyNCAwYy0yNi41IDAtNDggMjEuNS00OCA0OHMyMS41IDQ4IDQ4IDQ4bDIyNCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4em0tMjgwIDBhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMjE2LTI0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMjMyIDQwMGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSx6UnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhcnQtZ2FudHQiLGljb246WzUxMiw1MTIsW10sImUwZTQiLCJNNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRMMCA0MDBjMCA0NC4yIDM1LjggODAgODAgODBsNDAwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMODAgNDE2Yy04LjggMC0xNi03LjItMTYtMTZMNjQgNjR6bTk2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMHptNjQgMTEyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMjggMHpNMzg0IDI4OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAweiJdfSx6aGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlkZW8iLGljb246WzU3Niw1MTIsWyJ2aWRlby1jYW1lcmEiXSwiZjAzZCIsIk05NiA2NGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyNTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMOTYgNjR6TTQ2NCAzMzZsNzMuNSA1OC44YzQuMiAzLjQgOS40IDUuMiAxNC44IDUuMiAxMy4xIDAgMjMuNy0xMC42IDIzLjctMjMuN2wwLTI0MC42YzAtMTMuMS0xMC42LTIzLjctMjMuNy0yMy43LTUuNCAwLTEwLjYgMS44LTE0LjggNS4yTDQ2NCAxNzYgNDY0IDMzNnoiXX0sQ1J0PXpoZSxfUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlc3MtcGF3biIsaWNvbjpbMzg0LDUxMixbOTgyM10sImY0NDMiLCJNMTkyLTMyYzY2LjMgMCAxMjAgNTMuNyAxMjAgMTIwIDAgMjctOC45IDUxLjktMjQgNzIgMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTEwLjcgMCAyNi43IDE2MCA1Ni4yIDcwLjNjNSA2LjMgNy44IDE0LjEgNy44IDIyLjIgMCAxOS42LTE1LjkgMzUuNS0zNS41IDM1LjVMNTEuNSA1MTJjLTE5LjYgMC0zNS41LTE1LjktMzUuNS0zNS41IDAtOC4xIDIuNy0xNS45IDcuOC0yMi4yTDgwIDM4NCAxMDYuNyAyMjQgOTYgMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyYy0xNS4xLTIwLjEtMjQtNDUtMjQtNzIgMC02Ni4zIDUzLjctMTIwIDEyMC0xMjB6Il19LFRSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzeW5hZ29ndWUiLGljb246WzU3Niw1MTIsWzEyODMzM10sImY2OWIiLCJNMTYgODBjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NGwwIDMyLTEyOCAwIDAtMzJ6bTAgMzY4bDAtMjg4IDEyOCAwIDEyNi4yLTg0LjJjMTAuNy03LjIgMjQuOC03LjIgMzUuNSAwbDEyNi4yIDg0LjIgMTI4IDAgMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMODAgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NHpNNTYwIDExMmwtMTI4IDAgMC0zMmMwLTM1LjMgMjguNy02NCA2NC02NHM2NCAyOC43IDY0IDY0bDAgMzJ6TTIyNCAzODRsMCA4MCAxMjggMCAwLTgwYzAtMzUuMy0yOC43LTY0LTY0LTY0cy02NCAyOC43LTY0IDY0em02NC0xNTJhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgweiJdfSxMUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmctY2lyY2xlLWNoZWNrIixpY29uOls1NzYsNTEyLFtdLCJlNGQyIiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTgwIDBjLTEwLjUtMTQuNi0xOS0zMC43LTI1LjEtNDhsLTc0LjkgMCAwLTgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMiAwIDQgLjIgNS45IC41IDYtMjMuNiAxNi4zLTQ1LjQgMzAuMS02NC41bC00IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDRjMjcuNS0xOS44IDYwLjMtMzIuNCA5Ni0zNS40TDQxNiA2NGMwLTM1LjMtMjguNy02NC02NC02NEw5NiAwem0zMiAxMTJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMjcyIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTEyOCAyNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNNTc2IDQwMGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tODYuNi02MC45YzcuMSA1LjIgOC43IDE1LjIgMy41IDIyLjNsLTY0IDg4Yy0yLjggMy44LTcgNi4yLTExLjcgNi41cy05LjMtMS4zLTEyLjYtNC42bC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDI2LjggMjYuOCA1My03Mi45YzUuMi03LjEgMTUuMi04LjcgMjIuNC0zLjV6Il19LCRSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWxlbmRhci1wbHVzIixpY29uOls0NDgsNTEyLFtdLCJmMjcxIiwiTTEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMTI4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzIgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptOTYgMTkyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQ4LTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMCAwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00OCA0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwIDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LENoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3aGVlbGNoYWlyLW1vdmUiLGljb246WzQ0OCw1MTIsWyJ3aGVlbGNoYWlyLWFsdCJdLCJlMmNlIiwiTTMxMiA1NmE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTIwNS40IDEyNC4xYy02LjQtNS4yLTE1LjYtNC43LTIxLjQgMS4xbC0zMy40IDMzLjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDEzOC44IDgwYzI5LTI5IDc1LjItMzEuNCAxMDctNS41bDgxLjMgNjZjMjEuNCAxNy40IDIzLjggNDkuMiA1LjIgNjkuNWwtNDEuOCA0NiA5OCAwYzMwLjMgMCA1MyAyNy43IDQ3LjEgNTcuNEw0MDcuNCA0NTQuM2MtMy41IDE3LjMtMjAuMyAyOC42LTM3LjcgMjUuMXMtMjguNi0yMC4zLTI1LjEtMzcuN0wzNjkgMzIwIDMxNi44IDMyMGMyLjEgMTAuMyAzLjIgMjEgMy4yIDMyIDAgODguNC03MS42IDE2MC0xNjAgMTYwUzAgNDQwLjQgMCAzNTIgNzEuNiAxOTIgMTYwIDE5MmM2IDAgMTEuOSAuMyAxNy44IDFsNTAuNC01MC40LTIyLjctMTguNXpNMTYwIDQ0OGE5NiA5NiAwIDEgMCAwLTE5MiA5NiA5NiAwIDEgMCAwIDE5MnoiXX0sRFJ0PUNoZSxBUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1zaGllbGQiLGljb246WzU3Niw1MTIsW10sImY1MDUiLCJNMjI0IDI0OGExMjAgMTIwIDAgMSAwIDAtMjQwIDEyMCAxMjAgMCAxIDAgMCAyNDB6bS0yOS43IDU2Qzk1LjggMzA0IDE2IDM4My44IDE2IDQ4Mi4zIDE2IDQ5OC43IDI5LjMgNTEyIDQ1LjcgNTEybDI1MS41IDBDMjYxIDQ2OS40IDI0MCA0MTQuNSAyNDAgMzU2LjRsMC0zMS4xYzAtNy4zIDEtMTQuNSAyLjktMjEuM2wtNDguNiAwem0yNTEgMTg0LjVsLTEzLjMgNi4zIDAtMTg4LjEgOTYgMzIgMCAxOS42YzAgNTUuOC0zMi4yIDEwNi41LTgyLjcgMTMwLjN6TTQyMS45IDI1OS41bC0xMTIgMzcuM2MtMTMuMSA0LjQtMjEuOSAxNi42LTIxLjkgMzAuNGwwIDMxLjFjMCA3NC40IDQzIDE0Mi4xIDExMC4yIDE3My43bDE4LjUgOC43YzQuOCAyLjIgMTAgMy40IDE1LjIgMy40czEwLjUtMS4yIDE1LjItMy40bDE4LjUtOC43QzUzMyA1MDAuMyA1NzYgNDMyLjYgNTc2IDM1OC4ybDAtMzEuMWMwLTEzLjgtOC44LTI2LTIxLjktMzAuNGwtMTEyLTM3LjNjLTYuNi0yLjItMTMuNy0yLjItMjAuMiAweiJdfSxFUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9sZCIsaWNvbjpbMzg0LDUxMixbXSwiZjAzMiIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsMzIgMCAwIDMyMC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDIyNCAwYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4IDAtNDYuNS0yNC44LTg3LjMtNjItMTA5LjcgMTguNy0yMi4zIDMwLTUxIDMwLTgyLjMgMC03MC43LTU3LjMtMTI4LTEyOC0xMjhMMzIgMzJ6TTI4OCAxNjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTk2IDAgMC0xMjggOTYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NHpNMTI4IDQxNmwwLTEyOCAxMjggMGMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NGwtMTI4IDB6Il19LF9oZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFydC1wdWxzZSIsaWNvbjpbNTEyLDUxMixbImhlYXJ0YmVhdCJdLCJmMjFlIiwiTTI1NiAxMDcuOUwyNDEgODcuMUMyMTYgNTIuNSAxNzUuOSAzMiAxMzMuMSAzMiA1OS42IDMyIDAgOTEuNiAwIDE2NS4xbDAgMi42YzAgMjMuNiA2LjIgNDggMTYuNiA3Mi4zbDEwNiAwYzMuMiAwIDYuMS0xLjkgNy40LTQuOWwzMS44LTc2LjNjMy43LTguOCAxMi4zLTE0LjYgMjEuOC0xNC44czE4LjMgNS40IDIyLjIgMTQuMWw1MS4zIDExMy45IDQxLjQtODIuOGM0LjEtOC4xIDEyLjQtMTMuMyAyMS41LTEzLjNzMTcuNCA1LjEgMjEuNSAxMy4zbDIzLjIgNDYuM2MxLjQgMi43IDQuMSA0LjQgNy4yIDQuNGwxMjMuNiAwYzEwLjUtMjQuMyAxNi42LTQ4LjcgMTYuNi03Mi4zbDAtMi42QzUxMiA5MS42IDQ1Mi40IDMyIDM3OC45IDMyIDMzNi4yIDMyIDI5NiA1Mi41IDI3MSA4Ny4xbC0xNSAyMC43ek00NjkuNiAyODhsLTk3LjggMGMtMjEuMiAwLTQwLjYtMTItNTAuMS0zMWwtMS43LTMuNC00Mi41IDg1LjFjLTQuMSA4LjMtMTIuNyAxMy41LTIyIDEzLjNzLTE3LjYtNS43LTIxLjQtMTQuMWwtNDkuMy0xMDkuNS0xMC41IDI1LjJjLTguNyAyMC45LTI5LjEgMzQuNS01MS43IDM0LjVsLTgwLjIgMGM0Ny4yIDczLjggMTIzIDE0MS43IDE3MC40IDE3Ny45IDEyLjQgOS40IDI3LjYgMTQuMSA0My4xIDE0LjFzMzAuOC00LjYgNDMuMS0xNC4xQzM0Ni42IDQyOS43IDQyMi40IDM2MS44IDQ2OS42IDI4OHoiXX0sUFJ0PV9oZSxUaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXJvb3QtdmFyaWFibGUiLGljb246WzU3Niw1MTIsWyJzcXVhcmUtcm9vdC1hbHQiXSwiZjY5OCIsIk0yODIuNiA3OC4xYzgtMjcuMyAzMy00Ni4xIDYxLjQtNDYuMWwyMDAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzNDQgOTYgMjM4LjcgNDU3Yy0zLjYgMTIuMy0xNC4xIDIxLjItMjYuOCAyMi44cy0yNS4xLTQuNi0zMS41LTE1LjZMNzcuNiAyODggMzIgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDQ1LjYgMGMyMi44IDAgNDMuOCAxMi4xIDU1LjMgMzEuOGw2NS4yIDExMS44IDg0LjQtMjg5LjV6TTM5My40IDIzMy40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDQxLjQgNDEuNCA0MS40LTQxLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtNDEuNCA0MS40IDQxLjQgNDEuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMGwtNDEuNC00MS40LTQxLjQgNDEuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsNDEuNC00MS40LTQxLjQtNDEuNGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjN6Il19LElSdD1UaGUsTGhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzLWJ1YmJsZXMiLGljb246WzUxMiw1MTIsWyJoYW5kcy13YXNoIl0sImUwNWUiLCJNMzg0IDY0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptOTYgMTI4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMTI4IDQ2NGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0wIDE2MGwuMSA3Mi42YzAgNDQuOCAxNy42IDg3LjEgNDcuOSAxMTguNCAuMy03NyA0MC4xLTE0OC40IDEwNS40LTE4OS4zbDEuOS0xLjJjLTIuNS0zLjctMi44LTguNi0uNC0xMi43bDYyLTEwNy40YzYuNi0xMS41IDIuNy0yNi4yLTguOC0zMi44UzE4MiA1IDE3NS40IDE2LjVsLTY4IDExNy44IDAgMCAwIDAtNDMuMyA3NSAwLTQ5LjNjMC0xNy43LTE0LjQtMzItMzItMzJTMCAxNDIuNCAwIDE2MHptMjEzLjYtMzUuOWMxNC4xLTguOCAyOS44LTEyLjcgNDUuMi0xMi4xbDM2LjUtNjMuM2M2LjYtMTEuNSAyLjctMjYuMi04LjgtMzIuOHMtMjYuMi0yLjctMzIuOCA4LjhsLTY3LjEgMTE2LjIgMjctMTYuOXptODYuNS0zNS43bC0xNi40IDI4LjRjMTUuMSA1LjUgMjguNiAxNS42IDM4LjMgMjkuN2wxOS43LTM0LjJjNi42LTExLjUgMi43LTI2LjItOC44LTMyLjhzLTI2LjItMi43LTMyLjggOC44em00Ni40IDYzLjdsLTEyLjUgMjEuN2MyIDguNiAyLjUgMTcuNSAxLjcgMjYuMWw0LjMgMCAwIDAgMzQuNCAwIDEzLjctMjMuOGM2LjYtMTEuNSAyLjctMjYuMi04LjgtMzIuOHMtMjYuMi0yLjctMzIuOCA4Ljh6TTI4My4xIDE3NWMtOS40LTE1LTI5LjEtMTkuNS00NC4xLTEwLjJsLTYwLjIgMzcuNkMxMjcuMyAyMzQuNyA5NiAyOTEuMiA5NiAzNTJsMCA4YzAgOC45IC44IDE3LjYgMi4yIDI2LjEgMzUuNCA4LjIgNjEuOCA0MCA2MS44IDc3LjkgMCA2LjMtLjcgMTIuNS0yLjEgMTguNCAyNS4yIDE4LjYgNTYuNCAyOS42IDkwLjEgMjkuNmwxNzYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtOTIgMGMtNi42IDAtMTItNS40LTEyLTEyczUuNC0xMiAxMi0xMmwxMjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTI0IDBjLTYuNiAwLTEyLTUuNC0xMi0xMnM1LjQtMTIgMTItMTJsMTU2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE1NiAwYy02LjYgMC0xMi01LjQtMTItMTJzNS40LTEyIDEyLTEybDEyNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xMzYgMCAwIDAgMCAwLTkzLjIgMCA0Ni4yLTI4LjljMTUtOS40IDE5LjUtMjkuMSAxMC4yLTQ0LjF6Il19LE5SdD1MaGUsUlJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcmtlciIsaWNvbjpbNTEyLDUxMixbXSwiZjVhMSIsIk00MDguOCAwYy0yNy40IDAtNTMuNiAxMC45LTczIDMwLjJMMzE4LjEgNDggMzA1IDM0LjljLTI4LjEtMjguMS03My43LTI4LjEtMTAxLjggMEwxMDMgMTM1Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBMMjM3LjEgNjguOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwyODQuMSA4MS45IDE4NCAxODIuMSAzMjkuOSAzMjggNDgxLjggMTc2LjJjMTkuNC0xOS40IDMwLjItNDUuNiAzMC4yLTczIDAtNTctNDYuMi0xMDMuMi0xMDMuMi0xMDMuMnpNMTAyLjQgMjYzLjdjLTQ5LjkgNDkuOS04My4zIDExNC05NS41IDE4My41TC40IDQ4My44Qy0xIDQ5MS42IDEuNSA0OTkuNCA3IDUwNXMxMy40IDggMjEuMSA2LjdsMzYuNy02LjVjNjkuNS0xMi4zIDEzMy42LTQ1LjYgMTgzLjUtOTUuNUwyOTYgMzYxLjkgMTUwLjEgMjE2IDEwMi40IDI2My43eiJdfSxPUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xpcGJvYXJkIixpY29uOlszODQsNTEyLFsxMjgyMDNdLCJmMzI4IiwiTTMyMCAzMmwtOC42IDBDMzAwLjQgMTIuOSAyNzkuNyAwIDI1NiAwTDEyOCAwQzEwNC4zIDAgODMuNiAxMi45IDcyLjYgMzJMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM1MmMwLTM1LjMtMjguNy02NC02NC02NHpNMTM2IDExMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxMTIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTEyIDB6Il19LEZSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbGFjZS1vZi13b3JzaGlwIixpY29uOls1MTIsNTEyLFtdLCJmNjdmIiwiTTE2MCA3OWwwIDgxLTQ0LjggMzMuNkMxMDMuMSAyMDIuNyA5NiAyMTYuOSA5NiAyMzJsMCA0MC02MC42IDMwLjNDMTMuNyAzMTMuMiAwIDMzNS4zIDAgMzU5LjZMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjQgNzQuNyAwIDg1LjQgMCAzMjAgMGw2NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtODguNGMwLTI0LjItMTMuNy00Ni40LTM1LjQtNTcuMkw0MTYgMjcyIDQxNiAyMzJjMC0xNS4xLTcuMS0yOS4zLTE5LjItMzguNEwzNTIgMTYwIDM1MiA3OWMwLTkuNS00LjItMTguNS0xMS41LTI0LjZMMjcxLjQtMy4yYy04LjktNy40LTIxLjgtNy40LTMwLjcgMEwxNzEuNSA1NC40QzE2NC4yIDYwLjUgMTYwIDY5LjUgMTYwIDc5em05NiAyNDFjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA4MC0xMjggMCAwLTgwYzAtMzUuMyAyOC43LTY0IDY0LTY0eiJdfSxCUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FubmFiaXMiLGljb246WzUxMiw1MTIsW10sImY1NWYiLCJNMjU2IDBjNS4zIDAgMTAuMyAyLjcgMTMuMyA3LjEgMTUuOCAyMy41IDM2LjcgNjMuNyA0OS4yIDEwOSA3LjMgMjYuNCAxMS44IDU1LjMgMTAuMyA4NCAxMS42LTguOSAyMy43LTE2LjcgMzUuOS0yMy43IDQxLTIzLjMgODQuNC0zNi45IDExMi4yLTQyLjUgNS4yLTEgMTAuNyAuNiAxNC40IDQuNHM1LjQgOS4yIDQuNCAxNC41Yy01LjYgMjcuNy0xOS4zIDcwLjktNDIuNyAxMTEuNy05LjEgMTUuOS0xOS45IDMxLjctMzIuNSA0Ni4zIDI3LjkgNi42IDUyLjUgMTcuMiA2Ny4zIDI1LjQgNS4xIDIuOCA4LjIgOC4yIDguMiAxNHMtMy4yIDExLjItOC4yIDE0Yy0xNS4yIDguNC00MC45IDE5LjUtNjkuOCAyNi4xLTIwLjIgNC42LTQyLjkgNy4yLTY1LjIgNC42bDguMyAzMy4yYzEuNSA2LjEtLjYgMTIuNS01LjUgMTYuNHMtMTEuNiA0LjYtMTcuMiAxLjhMMjgwIDQxNy4yIDI4MCA0ODhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC03MC44LTU4LjUgMjkuMWMtNS42IDIuOC0xMi4zIDIuMS0xNy4yLTEuOHMtNy0xMC4zLTUuNS0xNi40bDguMy0zMy4yYy0yMi4yIDIuNi00NSAwLTY1LjItNC42LTI4LjktNi42LTU0LjUtMTcuNi02OS44LTI2LjEtNS4xLTIuOC04LjItOC4yLTguMi0xNHMzLjItMTEuMiA4LjItMTRsNi4yLTMuM2MxNS03LjYgMzYuOC0xNi40IDYxLjEtMjIuMi0xMi41LTE0LjUtMjMuMy0zMC40LTMyLjQtNDYuMi0yMy40LTQwLjgtMzcuMS04NC00Mi43LTExMS43LTEuMS01LjIgLjYtMTAuNyA0LjQtMTQuNXM5LjItNS40IDE0LjQtNC40YzI3LjkgNS41IDcxLjIgMTkuMiAxMTIuMiA0Mi41IDEyLjIgNi45IDI0LjMgMTQuOCAzNS44IDIzLjctMS40LTI4LjcgMy4xLTU3LjYgMTAuMy04NCAxMi41LTQ1LjMgMzMuNC04NS41IDQ5LjItMTA5bDEuMi0xLjZDMjQ2LjkgMiAyNTEuMyAwIDI1NiAweiJdfSxIUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVvcGxlLXJvb2YiLGljb246WzU3Niw1MTIsW10sImU1MzciLCJNMzAyLjMtMTIuNmMtOS00LjUtMTkuNi00LjUtMjguNiAwbC0yNTYgMTI4QzEuOSAxMjMuMy00LjUgMTQyLjUgMy40IDE1OC4zczI3LjEgMjIuMiA0Mi45IDE0LjNMMjg4IDUxLjggNTI5LjcgMTcyLjZjMTUuOCA3LjkgMzUgMS41IDQyLjktMTQuM3MxLjUtMzUtMTQuMy00Mi45bC0yNTYtMTI4ek0yODggMjcyYTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyem0wIDQ4Yy01MyAwLTk2IDQzLTk2IDk2bDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMmMwLTUzLTQzLTk2LTk2LTk2ek0xNjAgMjU2YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6bTM1MiAwYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTExMiAzMzZjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMzMuMWMwIDE3IDEzLjggMzAuOSAzMC45IDMwLjlsODcuOCAwYy00LjMtOS44LTYuNy0yMC42LTYuNy0zMmwwLTQ4YzAtMTguNCAzLjUtMzYgOS44LTUyLjItMTIuMi03LjUtMjYuNS0xMS44LTQxLjgtMTEuOHpNNDI1LjQgNDgwbDg3LjggMGMxNyAwIDMwLjktMTMuOCAzMC45LTMwLjlsMC0zMy4xYzAtNDQuMi0zNS44LTgwLTgwLTgwLTE1LjMgMC0yOS42IDQuMy00MS44IDExLjggNi4zIDE2LjIgOS44IDMzLjggOS44IDUyLjJsMCA0OGMwIDExLjQtMi40IDIyLjItNi43IDMyeiJdfSxxUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGlzZWFzZSIsaWNvbjpbNTEyLDUxMixbXSwiZjdmYSIsIk0yMzYuNSAyOS40TDIyNCA0OGMtMjAgMzAtNTMuNiA0OC04OS43IDQ4TDY4IDk2Yy0zNy41IDAtNjcuOSAzMC40LTY3LjkgNjcuOSAwIDE4IDcuMiAzNS4yIDE5LjkgNDcuOWwyNyAyN2MxMSAxMSAxNy4yIDI1LjkgMTcuMiA0MS41IDAgMTUuOC02LjQgMzAuOS0xNy43IDQyTDMzLjQgMzM1LjFjLTExLjEgMTAuOC0xNy4zIDI1LjctMTcuMyA0MS4yIDAgMzYuOCAzNC4xIDY0LjIgNzAuMSA1Ni4ybDYyLjMtMTMuOGM3LjctMS43IDE1LjctMi42IDIzLjYtMi42IDMyLjggMCA2NC4yIDE0LjYgODUuMiAzOS44bDMwLjUgMzYuNmMxMC40IDEyLjQgMjUuNyAxOS42IDQxLjkgMTkuNiAzMC4xIDAgNTQuNS0yNC40IDU0LjUtNTQuNWwwLTUxLjJjMC00MS40IDI1LjQtNzguNSA2NC05My41bDIyLjItOC42YzI1LjItOS44IDQxLjgtMzQuMSA0MS44LTYxLjEgMC0yNi40LTE1LjktNTAuMy00MC4zLTYwLjVMNDI5IDE2NC44Yy0zMy4yLTEzLjktNTcuNi00My02NS41LTc4LjFsLTcuOS0zNS4yYy02LjgtMzAuMS0zMy41LTUxLjUtNjQuMy01MS41LTIyIDAtNDIuNiAxMS01NC44IDI5LjR6TTE2MCAxOTJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em05NiAwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTMyIDk2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sJGhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2stYmlibGUiLGljb246WzQ0OCw1MTIsWyJiaWJsZSJdLCJmNjQ3IiwiTTk2IDUxMmMtNTMgMC05Ni00My05Ni05NkwwIDk2QzAgNDMgNDMgMCA5NiAwTDQwMCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMjg4YzAgMjAuOS0xMy40IDM4LjctMzIgNDUuM2wwIDY2LjdjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMOTYgNTEyem0wLTEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyNTYgMCAwLTY0LTI1NiAwek0xOTIgODBsMCA0OC00OCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsNDggMCAwIDExMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMTIgNDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTQ4IDAgMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnoiXX0sVlJ0PSRoZSxqUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlc3MtYm9hcmQiLGljb246WzQ0OCw1MTIsW10sImY0M2MiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNjQgNjRsMCA2NCA2NCAwIDAtNjQgNjQgMCAwIDY0IDY0IDAgMC02NCA2NCAwIDAgNjQtNjQgMCAwIDY0IDY0IDAgMCA2NC02NCAwIDAgNjQgNjQgMCAwIDY0LTY0IDAgMC02NC02NCAwIDAgNjQtNjQgMCAwLTY0LTY0IDAgMCA2NC02NCAwIDAtNjQgNjQgMCAwLTY0LTY0IDAgMC02NCA2NCAwIDAtNjQtNjQgMCAwLTY0IDY0IDB6bTY0IDEyOGw2NCAwIDAtNjQtNjQgMCAwIDY0em0wIDY0bDAtNjQtNjQgMCAwIDY0IDY0IDB6bTY0IDBsLTY0IDAgMCA2NCA2NCAwIDAtNjR6bTAgMGw2NCAwIDAtNjQtNjQgMCAwIDY0eiJdfSxVUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFycyIsaWNvbjpbNTEyLDUxMixbOTc5NF0sImYyMjIiLCJNMzIwIDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyTDQ4MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNTAuNy05NSA5NWMxOS41IDI4LjQgMzEgNjIuNyAzMSA5OS44IDAgOTcuMi03OC44IDE3Ni0xNzYgMTc2UzMyIDQwMS4yIDMyIDMwNCAxMTAuOCAxMjggMjA4IDEyOGMzNyAwIDcxLjQgMTEuNCA5OS44IDMxbDk1LTk1LTUwLjcgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTIwOCA0MTZhMTEyIDExMiAwIDEgMCAwLTIyNCAxMTIgMTEyIDAgMSAwIDAgMjI0eiJdfSxXUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGFwdG9wIixpY29uOls2NDAsNTEyLFsxMjgxODddLCJmMTA5IiwiTTEyOCAzMkM5Mi43IDMyIDY0IDYwLjcgNjQgOTZsMCAyNDAgNjQgMCAwLTI0MCAzODQgMCAwIDI0MCA2NCAwIDAtMjQwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDEyOCAzMnpNMTkuMiAzODRDOC42IDM4NCAwIDM5Mi42IDAgNDAzLjIgMCA0NDUuNiAzNC40IDQ4MCA3Ni44IDQ4MGw0ODYuNCAwYzQyLjQgMCA3Ni44LTM0LjQgNzYuOC03Ni44IDAtMTAuNi04LjYtMTkuMi0xOS4yLTE5LjJMMTkuMiAzODR6Il19LERoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLXhtYXJrIixpY29uOls1NzYsNTEyLFsidXNlci10aW1lcyJdLCJmMjM1IiwiTTI1NC4xIDMwNGM5OC41IDAgMTc4LjMgNzkuOCAxNzguMyAxNzguMyAwIDE2LjQtMTMuMyAyOS43LTI5LjcgMjkuN0w0Ni4xIDUxMmMtMTYuNCAwLTI5LjctMTMuMy0yOS43LTI5LjcgMC05OC41IDc5LjgtMTc4LjMgMTc4LjMtMTc4LjNsNTkuNCAwek01MzAuMyAxMDguMWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTMzLjkgMzMuOSAzMy45IDMzLjljOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtMzMuOS0zMy45LTMzLjkgMzMuOWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMy45LTMzLjktMzMuOS0zMy45Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMzMuOSAzMy45IDMzLjktMzMuOXpNMjI0LjQgMjQ4YTEyMCAxMjAgMCAxIDEgMC0yNDAgMTIwIDEyMCAwIDEgMSAwIDI0MHoiXX0sR1J0PURoZSxZUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmxhZy11c2EiLGljb246WzQ0OCw1MTIsW10sImY3NGQiLCJNMzIgMEM0OS43IDAgNjQgMTQuMyA2NCAzMmwwIDE2IDY5LTE3LjJjMzguMS05LjUgNzguMy01LjEgMTEzLjUgMTIuNSA0Ni4zIDIzLjIgMTAwLjggMjMuMiAxNDcuMSAwbDkuNi00LjhDNDIzLjggMjguMSA0NDggNDMuMSA0NDggNjYuMWwwIDM2LjEtNDQuNyAxNi4yYy00Mi44IDE1LjYtOTAgMTMuOS0xMzEuNi00LjZsLTE2LjEtNy4yYy0yMC4zLTktNDEuOC0xNC43LTYzLjYtMTYuOWwwIDMyLjJjMTcuNCAyLjEgMzQuNCA2LjcgNTAuNiAxMy45bDE2LjEgNy4yYzQ5LjIgMjEuOSAxMDUgMjMuOCAxNTUuNiA1LjRsMzMuNy0xMi4zIDAgNjItNDQuNyAxNi4yYy00Mi44IDE1LjYtOTAgMTMuOS0xMzEuNi00LjZsLTE2LjEtNy4yYy00MC4yLTE3LjktODUtMjIuNS0xMjguMS0xMy4zbC02My41IDEzLjYgMCAzMi43IDcwLjItMTUuMWMzNi40LTcuOCA3NC4zLTMuOSAxMDguNCAxMS4zbDE2LjEgNy4yYzQ5LjIgMjEuOSAxMDUgMjMuOCAxNTUuNiA1LjRsMzMuNy0xMi4zIDAgNjEuOS00NC43IDE2LjJjLTQyLjggMTUuNi05MCAxMy45LTEzMS42LTQuNmwtMTYuMS03LjJjLTQwLjItMTcuOS04NS0yMi41LTEyOC4xLTEzLjNsLTYzLjUgMTMuNiAwIDMyLjcgNzAuMi0xNS4xYzM2LjQtNy44IDc0LjMtMy45IDEwOC40IDExLjNsMTYuMSA3LjJjNDkuMiAyMS45IDEwNSAyMy44IDE1NS42IDUuNGwzMy43LTEyLjMgMCAzMy41YzAgMTMuMy04LjMgMjUuMy0yMC44IDMwbC0zNC43IDEzYy00Ni4yIDE3LjMtOTcuNiAxNC42LTE0MS43LTcuNC0zNy45LTE5LTgxLjQtMjMuNy0xMjIuNS0xMy40TDY0IDQwMCA2NCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0OTcuNyAwIDQ4MEwwIDMyQzAgMTQuMyAxNC4zIDAgMzIgMHptODAgOTZhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptMzIgMGExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bS0zMiA0OGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem0zMiAwYTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnoiXX0sS1J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtbWlkZGxlLWZpbmdlciIsaWNvbjpbNDQ4LDUxMixbMTI4NDA1XSwiZjgwNiIsIk0yMzIgMGMtMjIuMSAwLTQwIDE3LjktNDAgNDBsMCAxNjQuMmMtOC41LTcuNi0xOS43LTEyLjItMzItMTIuMi0yNi41IDAtNDggMjEuNS00OCA0OGwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtNTUuN2MtMiAxLjQtMy45IDMtNS44IDQuNUw1NSAyODQuOEM0MC40IDI5NyAzMiAzMTUgMzIgMzM0TDMyIDM3MmMwIDM4IDE2LjkgNzQgNDYuMSA5OC4zbDUuNCA0LjVjMjguOCAyNCA2NSAzNy4xIDEwMi40IDM3LjFMMzA0IDUxMmM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGwwLTk2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4LTEyLjQgMC0yMy42IDQuNy0zMi4xIDEyLjMtMS45LTI0LjgtMjIuNi00NC4zLTQ3LjktNDQuMy0xMi4zIDAtMjMuNSA0LjYtMzIgMTIuMkwyNzIgNDBjMC0yMi4xLTE3LjktNDAtNDAtNDB6Il19LFpSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb3J0YXItcGVzdGxlIixpY29uOls1MTIsNTEyLFtdLCJmNWE3IiwiTTUwNC4zIDExLjFDNDkzLjMtMS42IDQ3NC41LTMuNyA0NjEgNi4yTDI1Mi4zIDE2MCAzOTcuMyAxNjAgNTAyLjYgNTQuNmMxMS44LTExLjggMTIuNi0zMC44IDEuNi00My41ek0zMiAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJjMCA4Mi41IDQzLjQgMTQ3LjcgMTIzLjkgMTc2LjItMTEuMSAxMy45LTE5LjQgMzAuMy0yMy45IDQ4LjEtNC40IDE3LjEgMTAuNCAzMS43IDI4LjEgMzEuN2wxOTIgMGMxNy43IDAgMzIuNC0xNC42IDI4LjEtMzEuNy00LjUtMTcuOC0xMi44LTM0LjEtMjMuOS00OC4xIDgwLjUtMjguNiAxMjMuOS05My43IDEyMy45LTE3Ni4yIDE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDE5MnoiXX0sWFJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYWQtc2lkZS1jb3VnaCIsaWNvbjpbNTEyLDUxMixbXSwiZTA2MSIsIk05NiA1MTJsNjQgMGM1MyAwIDk2LTQzIDk2LTk2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2bDEgMGMyNiAwIDQ3LTIxIDQ3LTQ3IDAtMTEtMy45LTIxLjYtMTAuOS0zMC4xTDI3My4zIDIwMEMyNzEuNCAxOTcuNiAyNzAuMSAxOTQuNyAyNjkuNyAxOTEuNyAyNTQgODMuMyAxNjAuNyAwIDQ4IDAgNDAuNCAwIDMyLjkgLjQgMjUuNCAxLjEgMTAuNSAyLjYgMCAxNS45IDAgMzAuOUwwIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwem0xNi0zMjBhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptNjMuMSAyMzcuMmwtNDEuNS0zLjVjLTEyLjItMS0yMS42LTExLjItMjEuNi0yMy40IDAtMTAuOCA3LjMtMjAuMiAxNy44LTIyLjhsNDAuNC0xMC4xYzE5LjItNC44IDM3LjggOS43IDM3LjggMjkuNSAwIDE3LjgtMTUuMiAzMS44LTMyLjkgMzAuM3pNNDgwIDMxMmEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bS00MCAyNGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwem0tNjQgNDhhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptMTI4IDBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNNDgwIDUwNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bS00MC03MmEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxRUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhbmUtbG9jayIsaWNvbjpbNjQwLDUxMixbXSwiZTU1OCIsIk0yMzIgMjRjMC0zMC45IDI1LjEtNTYgNTYtNTZzNTYgMjUuMSA1NiA1NmwwIDEyNy4zIDgyLjEgNzUuMkM0MDkuNyAyNDguMSA0MDAgMjc0LjkgNDAwIDMwNGwwIDI0LjRjLTcuMyA2LjYtMTMuNiAxNC4yLTE4LjcgMjIuN2wtMzcuMy0xMi40IDAgOTkuNyAyNCAxOS4yIDAgMzguM2MwIDEzLjUgMi44IDI2LjQgNy44IDM4LjFMMjg4IDUxMiAxNzkuOSA1MzljLTEwLjEgMi41LTE5LjktNS4xLTE5LjktMTUuNWwwLTE5LjhjMC00LjkgMi4yLTkuNSA2LTEyLjVsNjYtNTIuOCAwLTk5LjctMTYyLjkgNTQuM0M1OC43IDM5Ni40IDQ4IDM4OC43IDQ4IDM3Ny44bDAtNDMuN2MwLTkgMy44LTE3LjUgMTAuNC0yMy42TDIzMiAxNTEuMyAyMzIgMjR6TTU2MCAzMDQuMWMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ3LjkgNjQgMCAwLTQ3Ljl6TTQxNiA0MDBjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zbDAtNTAuNmMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwbDAgNTAuNmMxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjNsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTI4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZ6Il19LEFoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzIixpY29uOls2NDAsNTEyLFsiYmF0dGVyeS00Il0sImYyNDEiLCJNNTI4IDEyOGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyMjRjMCA4LjgtNy4yIDE2LTE2IDE2bC00MTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjI0YzAtOC44IDcuMi0xNiAxNi0xNmw0MTYgMHpNMTEyIDY0Yy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDIyNGMwIDQ0LjIgMzUuOCA4MCA4MCA4MGw0MTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsMC00OGMwLTQ0LjItMzUuOC04MC04MC04MEwxMTIgNjR6bTU2IDExMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMjI0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTIyNCAweiJdfSxKUnQ9QWhlLGVPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmcmFuYy1zaWduIixpY29uOlszMjAsNTEyLFtdLCJlMThmIiwiTTgwIDMyQzYyLjMgMzIgNDggNDYuMyA0OCA2NGwwIDI1Ni0yNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI0IDAgMCA4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtODAgODggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODggMCAwLTY0IDE0NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNDQgMCAwLTk2IDE3NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDgwIDMyeiJdfSxFaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsdGVyLWNpcmNsZS1kb2xsYXIiLGljb246WzU3Niw1MTIsWyJmdW5uZWwtZG9sbGFyIl0sImY2NjIiLCJNMzIgNjRDMTkuMSA2NCA3LjQgNzEuOCAyLjQgODMuOFMuMiAxMDkuNSA5LjQgMTE4LjZMMTkyIDMwMS4zIDE5MiA0MTZjMCA4LjUgMy40IDE2LjYgOS40IDIyLjZsNjQgNjRjMi41IDIuNSA1LjMgNC41IDguMyA2LTIxLjItMzAuOS0zMy42LTY4LjMtMzMuNi0xMDguNiAwLTk5LjQgNzUuNS0xODEuMSAxNzIuMy0xOTFsOTAuNC05MC40YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzQ5Mi45IDY0IDQ4MCA2NEwzMiA2NHpNNTc2IDQwMGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwek00MTYgMzIwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA4IDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTQ1LjggMGMtNS42IDAtMTAuMiA0LjYtMTAuMiAxMC4yIDAgNC45IDMuNSA5LjEgOC4zIDEwbDQ1IDguMmMyMCAzLjYgMzQuNiAyMS4xIDM0LjYgNDEuNSAwIDIzLjMtMTguOSA0Mi4yLTQyLjIgNDIuMmwtNS44IDAgMCA4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtOC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDUzLjggMGM1LjYgMCAxMC4yLTQuNiAxMC4yLTEwLjIgMC00LjktMy41LTkuMS04LjMtMTBsLTQ1LTguMmMtMjAtMy42LTM0LjYtMjEuMS0zNC42LTQxLjUgMC0yMi42IDE3LjctNDEgNDAtNDIuMWwwLTguMXoiXX0sdE90PUVoZSxhT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlZXNlIixpY29uOls1MTIsNTEyLFtdLCJmN2VmIiwiTTUxMiAyNDAuMmwwIDE1LjgtNTEyIDBjMC0yMCAxMC0zOC43IDI2LjYtNDkuOEwyNzQuOSA0MC43YzguNi01LjcgMTguNi04LjcgMjguOS04LjcgMTE1IDAgMjA4LjIgOTMuMiAyMDguMiAyMDguMnptMCA2My44bDAgMTEyYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xMTIgNTEyIDB6Il19LFBoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtaCIsaWNvbjpbNTEyLDUxMixbOTQwNSwiaG9zcGl0YWwtc3ltYm9sIl0sImY0N2UiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTk2LTM0NGwwIDE3NmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTY0LTk2IDAgMCA2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE3NmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNjQgOTYgMCAwLTY0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6Il19LHJPdD1QaGUsc090PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjaG9vbCIsaWNvbjpbNTc2LDUxMixbMTI3OTc5XSwiZjU0OSIsIk0wIDE5MmMwLTM1LjMgMjguNy02NCA2NC02NGw2NCAwIDEyNy45LTExNS4xYzE4LjMtMTYuNCA0Ni0xNi40IDY0LjIgMEw0NDggMTI4IDUxMiAxMjhjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE5MnpNMjI0IDM3NmwwIDg4IDEyOCAwIDAtODhjMC0yMi4xLTE3LjktNDAtNDAtNDBsLTQ4IDBjLTIyLjEgMC00MCAxNy45LTQwIDQwem0tMTEyIDhjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMHptMTYtMTQ0bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZ6TTQ5NiAzODRjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMHptMTYtMTQ0bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZ6TTI4OCAyNTZhNjQgNjQgMCAxIDAgMC0xMjggNjQgNjQgMCAxIDAgMCAxMjh6Il19LGlPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWNlLWZpdmUiLGljb246WzQ0OCw1MTIsWzk4NjBdLCJmNTIzIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTY0IDk2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNOTYgMzUyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTIyNCAyMjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em02NC02NGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0zMiAxNjBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxvT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9ybmFkbyIsaWNvbjpbNDQ4LDUxMixbMTI3Nzg2XSwiZjc2ZiIsIk0wIDMyTDAgNDUuNkMwIDYyLjcgMS43IDc5LjYgNSA5NmwzNTIuOCAwYzMuMi02LjkgNy41LTEzLjMgMTMtMTguOGwzOC42LTM4LjZjNC4yLTQuMiA2LjYtMTAgNi42LTE2IDAtMTIuNS0xMC4xLTIyLjYtMjIuNi0yMi42TDMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyek0zNTUuNyAxNDRsLTMzNiAwYzEyLjQgMjkuNyAzMC4yIDU2LjggNTIuNyA4MGwzMzkuNiAwLTQ3LjItNjIuOWMtMy45LTUuMi03LTExLTkuMi0xNy4xek0yNDIuNiAzMzQuN2M4LjIgNC44IDE1LjggMTAuNyAyMi41IDE3LjNMNDQ1IDM1MmMyLTkuOCAzLTE5LjkgMy0zMC4xIDAtMTcuMS0yLjktMzQtOC42LTQ5LjlMMTM2IDI3MiAyNDIuNiAzMzQuN3pNMjk0LjMgNDAwYzUuMyAxNyA2LjUgMzUuMiAzLjYgNTNsLTUuOSAzNS43Yy0yIDEyLjIgNy40IDIzLjQgMTkuOCAyMy40IDUuMyAwIDEwLjQtMi4xIDE0LjItNS45bDc4LjItNzguMmM4LjUtOC41IDE1LjgtMTcuOCAyMS45LTI3LjlsLTEzMS44IDB6Il19LEloZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJqZXQtZmlnaHRlciIsaWNvbjpbNTc2LDUxMixbImZpZ2h0ZXItamV0Il0sImYwZmIiLCJNNDk2LjIgMjA2LjhjLTEwLjctNC41LTIyLjItNi44LTMzLjgtNi44TDM2MiAyMDAgMjQ4IDQ4IDI5NiA0OGMxMy4zIDAgMjQtMTAuNyAyNC0yNFMzMDkuMyAwIDI5NiAwTDE1MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDggMCAwIDE1Mi01NC40IDAtNTIuOC02NmMtMy0zLjgtNy42LTYtMTIuNS02TDE2IDEyOGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgODggNDAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDAgMCAwIDg4YzAgOC44IDcuMiAxNiAxNiAxNmwyNC4zIDBjNC45IDAgOS41LTIuMiAxMi41LTZsNTIuOC02NiA1NC40IDAgMCAxNTItOCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwIDExNC0xNTIgMTAwLjQgMGMxMS42IDAgMjMuMS0yLjMgMzMuOC02LjhsNjUtMjcuMWM4LjktMy43IDE0LjgtMTIuNSAxNC44LTIyLjJzLTUuOC0xOC40LTE0LjgtMjIuMmwtNjUtMjcuMXoiXX0sbk90PUloZSxsT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGh1bWJzLWRvd24iLGljb246WzUxMiw1MTIsWzEyODA3OCw2MTU3Nl0sImYxNjUiLCJNMzg0IDMyYzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgNi4zLTEuMyAxMi4yLTMuNCAxNy43IDIwLjQgNS41IDM1LjQgMjQuMSAzNS40IDQ2LjMgMCA5LjEtMi42IDE3LjYtNyAyNC45IDIyLjIgNC4yIDM5IDIzLjcgMzkgNDcuMSAwIDE5LjctMTEuOSAzNi42LTI4LjkgNDQgMTcgNy40IDI4LjkgMjQuMyAyOC45IDQ0IDAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNjAgMCAyOC4yIDcwLjRjMi41IDYuMyAzLjggMTMuMSAzLjggMTkuOWwwIDQuMmMwIDI3LjMtMjIuMSA0OS40LTQ5LjQgNDkuNC0xOC43IDAtMzUuOC0xMC42LTQ0LjItMjcuM0wxNzAuMSAzNTYuM2MtNi43LTEzLjMtMTAuMS0yOC0xMC4xLTQyLjlsMC0xODYuNmMwLTE5LjQgOC45LTM3LjggMjQtNTBsMTIuMi05LjdDMjI0LjYgNDQuNCAyNTkuOCAzMiAyOTYuMSAzMkwzODQgMzJ6TTgwIDk2YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC00OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwwIDEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw0OCAweiJdfSxjT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJvb20iLGljb246WzU3Niw1MTIsWzEyOTUyOV0sImY1MWEiLCJNNTY2LjYgNTQuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMTkyIDE5Mi0zNC43LTM0LjdjLTQuMi00LjItMTAtNi42LTE2LTYuNi0xMi41IDAtMjIuNiAxMC4xLTIyLjYgMjIuNmwwIDI5LjEgMTA4LjMgMTA4LjMgMjkuMSAwYzEyLjUgMCAyMi42LTEwLjEgMjIuNi0yMi42IDAtNi0yLjQtMTEuOC02LjYtMTZsLTM0LjctMzQuNyAxOTItMTkyek0zNDEuMSAzNTMuNEwyMjIuNiAyMzQuOWMtNDIuNy0zLjctODUuMiAxMS43LTExNS44IDQyLjNsLTggOGMtMjIuMyAyMi4zLTM0LjggNTIuNS0zNC44IDg0IDAgNi44IDcuMSAxMS4yIDEzLjIgOC4ybDUxLjEtMjUuNWM1LTIuNSA5LjUgNC4xIDUuNCA3LjlMNy4zIDQ3My40QzIuNyA0NzcuNiAwIDQ4My42IDAgNDg5LjkgMCA1MDIuMSA5LjkgNTEyIDIyLjEgNTEybDE3My4zIDBjMzguOCAwIDc1LjktMTUuNCAxMDMuNC00Mi44IDMwLjYtMzAuNiA0NS45LTczLjEgNDIuMy0xMTUuOHoiXX0sTmhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtaW1wb3J0IixpY29uOlszODQsNTEyLFsiYXJyb3ctcmlnaHQtdG8tZmlsZSJdLCJmNTZmIiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0bDAgMjQwIDE4Mi4xIDAtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw3MiA3MmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNzIgNzJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzEtMzEtMTgyLjEgMCAwIDk2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjc3LjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjU4LjcgMTguN0MyNDYuNyA2LjcgMjMwLjUgMCAyMTMuNSAwTDY0IDB6TTMyNS41IDE3NkwyMzIgMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyMDggNTguNSAzMjUuNSAxNzZ6Il19LGRPdD1OaGUsUmhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InV0ZW5zaWxzIixpY29uOls1MTIsNTEyLFsxMjc4NjAsNjE2ODUsImN1dGxlcnkiXSwiZjJlNyIsIk02My45IDE0LjRDNjMuMSA2LjIgNTYuMiAwIDQ4IDBzLTE1LjEgNi4yLTE2IDE0LjNMMTcuOSAxNDkuN2MtMS4zIDYtMS45IDEyLjEtMS45IDE4LjIgMCA0NS45IDM1LjEgODMuNiA4MCA4Ny43TDk2IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjI0LjRjNDQuOS00LjEgODAtNDEuOCA4MC04Ny43IDAtNi4xLS42LTEyLjItMS45LTE4LjJMMjIzLjkgMTQuM0MyMjMuMSA2LjIgMjE2LjIgMCAyMDggMHMtMTUuMSA2LjItMTUuOSAxNC40TDE3OC41IDE0OS45Yy0uNiA1LjctNS40IDEwLjEtMTEuMSAxMC4xLTUuOCAwLTEwLjYtNC40LTExLjItMTAuMkwxNDMuOSAxNC42QzE0My4yIDYuMyAxMzYuMyAwIDEyOCAwcy0xNS4yIDYuMy0xNS45IDE0LjZMOTkuOCAxNDkuOGMtLjUgNS44LTUuNCAxMC4yLTExLjIgMTAuMi01LjggMC0xMC42LTQuNC0xMS4xLTEwLjFMNjMuOSAxNC40ek00NDggMEM0MzIgMCAzMjAgMzIgMzIwIDE3NmwwIDExMmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMiAwIDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC00NDhjMC0xNy43LTE0LjMtMzItMzItMzJ6Il19LHVPdD1SaGUscE90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImlkLWJhZGdlIixpY29uOlszODQsNTEyLFtdLCJmMmMxIiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDB6bTk2IDM1Mmw2NCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNkw5NiA0NDhjLTguOCAwLTE2LTcuMi0xNi0xNiAwLTQ0LjIgMzUuOC04MCA4MC04MHptLTI0LTk2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMTUyIDY0bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTgwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LGZPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcGlkZXIiLGljb246WzUxMiw1MTIsWzEyODM3NV0sImY3MTciLCJNMzY5LjMtMzFjMTEuOS0zLjUgMjQuNCAyLjcgMjkgMTMuOWwuOCAyLjMgNDAgMTM2YzIuNSA4LjQgLjEgMTcuNS02LjEgMjMuN2wtNjQuMSA2NC4xIDc2LjQtMjAuOCAxOS45LTU5LjggLjktMi4zYzUtMTEuMSAxNy43LTE2LjggMjkuNS0xMi45IDExLjggMy45IDE4LjUgMTYuMSAxNS44IDI4bC0uNyAyLjQtMjQgNzJjLTIuNSA3LjYtOC43IDEzLjQtMTYuNSAxNS42bC05MS4xIDI0LjggOTEuMSAyNC44YzcuNyAyLjEgMTMuOSA4IDE2LjUgMTUuNmwyNCA3MiAuNyAyLjRjMi43IDExLjktNC4xIDI0LjEtMTUuOCAyOC0xMS44IDMuOS0yNC41LTEuOC0yOS41LTEyLjlsLS45LTIuMy0xOS45LTU5LjgtNzYuNC0yMC44IDY0LjEgNjQuMWM2LjEgNi4xIDguNSAxNS4xIDYuMiAyMy40bC00MCAxNDQtLjggMi4zYy00LjQgMTEuMy0xNi44IDE3LjctMjguOCAxNC40LTEyLTMuMy0xOS4zLTE1LjItMTcuMi0yNy4ybC41LTIuNCAzNi4yLTEzMC41LTM3LjItMzcuMkMzNTEgNDA2IDMwOC40IDQ0OCAyNTYgNDQ4cy05NS00Mi05Ni05NC4xbC0zNyAzNyAzNiAxMjIuMyAuNiAyLjRjMi4yIDExLjktNC45IDIzLjktMTYuOCAyNy40LTExLjkgMy41LTI0LjQtMi43LTI5LTEzLjlsLS44LTIuMy00MC0xMzZjLTIuNS04LjQtLjEtMTcuNSA2LjEtMjMuOGw2NC4xLTY0LjEtNzYuNCAyMC44LTE5LjkgNTkuOC0uOSAyLjNjLTUgMTEuMS0xNy43IDE2LjgtMjkuNSAxMi45cy0xOC41LTE2LjEtMTUuOC0yOGwuNy0yLjQgMjQtNzJjMi41LTcuNiA4LjctMTMuNCAxNi41LTE1LjZsOTEuMS0yNC44LTkxLjEtMjQuOGMtNy43LTIuMS0xMy45LTgtMTYuNS0xNS42bC0yNC03Mi0uNy0yLjRjLTIuNy0xMS45IDQuMS0yNC4xIDE1LjgtMjhzMjQuNSAxLjggMjkuNSAxMi45bC45IDIuMyAxOS45IDU5LjggNzYuNCAyMC44LTY0LjEtNjQuMWMtNi4yLTYuMi04LjUtMTUuMy02LjEtMjMuN2w0MC0xMzYgLjgtMi4zYzQuNi0xMS4zIDE3LjEtMTcuNCAyOS0xMy45IDExLjkgMy41IDE5IDE1LjUgMTYuOCAyNy40bC0uNiAyLjQtMzYgMTIyLjMgNTMgNTNjMS00My4zIDM2LjQtNzguMSA3OS45LTc4LjFzNzguOSAzNC44IDc5LjkgNzguMmw1My4xLTUzLjEtMzYtMTIyLjMtLjYtMi40Yy0yLjItMTIgNC45LTIzLjkgMTYuOC0yNy40eiJdfSxoT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9iaWxlLXJldHJvIixpY29uOlszODQsNTEyLFtdLCJlNTI3IiwiTTE2IDY0QzE2IDI4LjcgNDQuNyAwIDgwIDBMMzA0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMODAgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwxNiA2NHptODAgOTZsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xMjggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTggMTkyYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMjQgNzJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjQgMTAuNyAyNCAyNCAyNCAyNC0xMC43IDI0LTI0em02NC03MmEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTI0IDcyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0IDEwLjcgMjQgMjQgMjQgMjQtMTAuNyAyNC0yNHptNjQtNzJhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0yNCA3MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNCAxMC43IDI0IDI0IDI0IDI0LTEwLjcgMjQtMjR6TTE2OCA0MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAweiJdfSxPaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2lnbnMtcG9zdCIsaWNvbjpbNTEyLDUxMixbIm1hcC1zaWducyJdLCJmMjc3IiwiTTI1Ni40IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzItMTYwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDAgMCA2NC0xNTMuNCAwYy00LjIgMC04LjMgMS43LTExLjMgNC43bC00OCA0OGMtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZsNDggNDhjMyAzIDcuMSA0LjcgMTEuMyA0LjdsMTUzLjQgMCAwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiAxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xNjAgMCAwLTY0IDE1My40IDBjNC4yIDAgOC4zLTEuNyAxMS4zLTQuN2w0OC00OGM2LjItNi4yIDYuMi0xNi40IDAtMjIuNmwtNDgtNDhjLTMtMy03LjEtNC43LTExLjMtNC43bC0xNTMuNCAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6Il19LG1PdD1PaGUsZ090PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imdyb3VwLWFycm93cy1yb3RhdGUiLGljb246WzUxMiw1MTIsW10sImU0ZjYiLCJNMzcuNiAxMjIuM2MtMTEuNSAxOC43LTIwLjYgMzktMjcgNjAuNS01IDE2LjkgNC42IDM0LjggMjEuNSAzOS44czM0LjgtNC42IDM5LjgtMjEuNWMxOC40LTYxLjkgNjcuMy0xMTAuOCAxMjkuMi0xMjkuMiAxNi45LTUgMjYuNi0yMi45IDIxLjUtMzkuOFMxOTkuOCA1LjYgMTgyLjkgMTAuNkMxNjEuNCAxNyAxNDEuMSAyNi4xIDEyMi4zIDM3LjYgMTEyLjMgMTUuNCA4OS45IDAgNjQgMCAyOC43IDAgMCAyOC43IDAgNjQgMCA4OS45IDE1LjQgMTEyLjMgMzcuNiAxMjIuM3ptNDM2LjcgMGMyMi4yLTEwIDM3LjYtMzIuNCAzNy42LTU4LjMgMC0zNS4zLTI4LjctNjQtNjQtNjQtMjUuOSAwLTQ4LjMgMTUuNC01OC4zIDM3LjYtMTguNy0xMS41LTM5LTIwLjYtNjAuNS0yNy0xNi45LTUtMzQuOCA0LjYtMzkuOCAyMS41czQuNiAzNC44IDIxLjUgMzkuOGM2MS45IDE4LjQgMTEwLjggNjcuMyAxMjkuMiAxMjkuMiA1IDE2LjkgMjIuOSAyNi42IDM5LjggMjEuNXMyNi42LTIyLjkgMjEuNS0zOS44Yy02LjQtMjEuNS0xNS41LTQxLjgtMjctNjAuNXpNNTEyIDQ0OGMwLTI1LjktMTUuNC00OC4zLTM3LjYtNTguMyAxMS41LTE4LjcgMjAuNi0zOSAyNy02MC41IDUtMTYuOS00LjYtMzQuOC0yMS41LTM5LjhzLTM0LjggNC42LTM5LjggMjEuNWMtMTguNCA2MS45LTY3LjMgMTEwLjgtMTI5LjIgMTI5LjItMTYuOSA1LTI2LjYgMjIuOS0yMS41IDM5LjhzMjIuOSAyNi42IDM5LjggMjEuNWMyMS41LTYuNCA0MS44LTE1LjUgNjAuNS0yNyAxMCAyMi4yIDMyLjQgMzcuNiA1OC4zIDM3LjYgMzUuMyAwIDY0LTI4LjcgNjQtNjR6TTM3LjYgMzg5LjdjLTIyLjIgMTAtMzcuNiAzMi40LTM3LjYgNTguMyAwIDM1LjMgMjguNyA2NCA2NCA2NCAyNS45IDAgNDguMy0xNS40IDU4LjMtMzcuNiAxOC43IDExLjUgMzkgMjAuNiA2MC41IDI3IDE2LjkgNSAzNC44LTQuNiAzOS44LTIxLjVzLTQuNi0zNC44LTIxLjUtMzkuOGMtNjEuOS0xOC40LTExMC44LTY3LjMtMTI5LjItMTI5LjItNS0xNi45LTIyLjktMjYuNi0zOS44LTIxLjVTNS42IDMxMi4yIDEwLjYgMzI5LjFjNi40IDIxLjUgMTUuNSA0MS44IDI3IDYwLjV6TTI1NiAxOTJjMTUuNiAwIDMwIDUuNiA0MS4xIDE0LjlsLTE1LjMgMTUuM2MtNi42IDYuNi0xLjkgMTcuOCA3LjQgMTcuOGw2MC41IDBjNS43IDAgMTAuNC00LjcgMTAuNC0xMC40bDAtNjAuNWMwLTkuMy0xMS4yLTEzLjktMTcuOC03LjRsLTExLjIgMTEuMmMtMTkuOC0xNy45LTQ2LjItMjguOS03NS4xLTI4LjktNDMuNiAwLTgxLjMgMjQuOS05OS44IDYxLjEtNiAxMS44LTEuNCAyNi4zIDEwLjQgMzIuM3MyNi4zIDEuNCAzMi4zLTEwLjRjMTAuNi0yMC44IDMyLjItMzQuOSA1Ny0zNC45em01OC42IDkzLjFjLTEwLjYgMjAuOC0zMi4yIDM0LjktNTcgMzQuOS0xNS43IDAtMzAtNS42LTQxLjEtMTQuOWwxNS4zLTE1LjNjNi42LTYuNiAxLjktMTcuOC03LjQtMTcuOEwxNjQgMjcyYy01LjcgMC0xMC40IDQuNy0xMC40IDEwLjRsMCA2MC41YzAgOS4zIDExLjIgMTMuOSAxNy44IDcuNGwxMS4yLTExLjJjMTkuOCAxNy45IDQ2LjIgMjguOSA3NS4xIDI4LjkgNDMuNiAwIDgxLjMtMjQuOSA5OS44LTYxLjEgNi0xMS44IDEuNC0yNi4zLTEwLjQtMzIuM3MtMjYuMy0xLjQtMzIuMyAxMC40eiJdfSxiT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLXNwbGl0LXVwLWFuZC1sZWZ0IixpY29uOls1MTIsNTEyLFtdLCJlNGJjIiwiTTM0Mi42LTIyLjZjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw0MS40LTQxLjQgMCAxOTUuOWMtMTguOC0xMC45LTQwLjctMTcuMS02NC0xNy4xbC0xMTQuNyAwIDQxLjQtNDEuNGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMTA5LjMgMzIwIDIyNCAzMjBjMzUuMyAwIDY0IDI4LjcgNjQgNjQgMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0zMDYuNyA0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZ6Il19LHZPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxsLWRyaXAiLGljb246WzU3Niw1MTIsW10sImY1NzYiLCJNMzA5LjcgNzEuNmwtNjQuNCA2NC40IDMzLjQgMzMuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMGwtMzMuNC0zMy40LTk2LjQgOTYuNGMtMi45IDIuOS01LjEgNi41LTYuMyAxMC4zbDMyMS41IDAgNTMuNy01My43YzQuOS00LjkgNy42LTExLjUgNy42LTE4LjNzLTIuNy0xMy41LTcuNi0xOC4zTDM0Ni4zIDcxLjZDMzQxLjUgNjYuNyAzMzQuOSA2NCAzMjggNjRzLTEzLjUgMi43LTE4LjMgNy42ek01OC4zIDIzMi40bDk2LjQtOTYuNC00OS40LTQ5LjRjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMMjAwIDkwLjcgMjY0LjQgMjYuM0MyODEuMyA5LjUgMzA0LjEgMCAzMjggMHM0Ni43IDkuNSA2My42IDI2LjNMNTE3LjcgMTUyLjRDNTM0LjUgMTY5LjMgNTQ0IDE5Mi4xIDU0NCAyMTZzLTkuNSA0Ni43LTI2LjMgNjMuNkwzMTEuNiA0ODUuN0MyOTQuNyA1MDIuNSAyNzEuOSA1MTIgMjQ4IDUxMnMtNDYuNy05LjUtNjMuNi0yNi4zTDU4LjMgMzU5LjZDNDEuNSAzNDIuNyAzMiAzMTkuOSAzMiAyOTZzOS41LTQ2LjcgMjYuMy02My42ek01MTIgNTQ0Yy0zNS4zIDAtNjQtMjguNy02NC02NCAwLTI1LjIgMzIuNi03OS42IDUxLjItMTA4LjcgNi05LjQgMTkuNS05LjQgMjUuNSAwIDE4LjcgMjkuMSA1MS4yIDgzLjUgNTEuMiAxMDguNyAwIDM1LjMtMjguNyA2NC02NCA2NHoiXX0seE90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoaWVsZC1oZWFydCIsaWNvbjpbNTEyLDUxMixbXSwiZTU3NCIsIk0yNjkuNCAyLjlDMjY1LjIgMSAyNjAuNyAwIDI1NiAwcy05LjIgMS0xMy40IDIuOUw1NC4zIDgyLjhjLTIyIDkuMy0zOC40IDMxLTM4LjMgNTcuMiAuNSA5OS4yIDQxLjMgMjgwLjcgMjEzLjYgMzYzLjIgMTYuNyA4IDM2LjEgOCA1Mi44IDAgMTcyLjQtODIuNSAyMTMuMi0yNjQgMjEzLjYtMzYzLjIgLjEtMjYuMi0xNi4zLTQ3LjktMzguMy01Ny4yTDI2OS40IDIuOXpNMjQ5LjYgMTgzLjVsNi40IDguNSA2LjQtOC41YzExLjEtMTQuOCAyOC41LTIzLjUgNDYuOS0yMy41IDMyLjQgMCA1OC43IDI2LjMgNTguNyA1OC43bDAgNS4zYzAgNDkuMS02NS44IDk4LjEtOTYuNSAxMTguMy05LjUgNi4yLTIxLjUgNi4yLTMwLjkgMC0zMC43LTIwLjItOTYuNS02OS4zLTk2LjUtMTE4LjNsMC01LjNjMC0zMi40IDI2LjMtNTguNyA1OC43LTU4LjcgMTguNSAwIDM1LjkgOC43IDQ2LjkgMjMuNXoiXX0sRmhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1za2lpbmctbm9yZGljIixpY29uOls1NzYsNTEyLFsic2tpaW5nLW5vcmRpYyJdLCJmN2NhIiwiTTQyNC44IDE2YTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyem05OS44IDE5My43YzcuNiAxNS4yIDEuOSAzMy42LTEyLjYgNDJsMCAxODAuMy0zMiAwIDAtMTY0LjItMTAuMSA1Yy0yNy40IDEzLjctNjAuNyA2LjEtNzkuNC0xOC4ybC0xOS42LTI1LjUtMzkuNSA2OC44IDI0LjggMTIuNGMyOS41IDE0LjcgNDIuOSA0OS41IDMxLjEgODAuMmwtMjguMiA3My40IDE0OS40IDBjNy45IDAgMTUuNi0yLjMgMjIuMi02LjdsNy45LTUuM2MxMS03LjQgMjUuOS00LjQgMzMuMyA2LjdzNC40IDI1LjktNi43IDMzLjNsLTcuOSA1LjNDNTQzIDUwNi45IDUyNiA1MTIgNTA4LjYgNTEybC0xODkuMSAwYy0uNSAwLTEgMC0xLjUgMEwyNCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsODggMGMwLTguMiAzLjEtMTYuNCA5LjQtMjIuNmw3NC4xLTc0LjEgMTAuMi0zNS45YzExLjMgMTguMyAyNy43IDMzLjggNDguNCA0NC4ybDQuOCAyLjQtMS45IDYuOGMtMyAxMC41LTguNiAyMC0xNi4zIDI3LjdsLTUxLjUgNTEuNSAxMDEuMyAwIDM3LjEtOTYuNC01NS42LTI3LjhDMjMwLjQgMzE5IDIxNS4zIDI2NyAyMzkuMyAyMjcuMWwzNy43LTYyLjctMjcuNy03LjdjLTktMi41LTE4LjEgMy4yLTIwIDEyLjNsLTUuOSAyOS4zYy0zLjEgMTUuNi0xNy4xIDI2LjMtMzIuNSAyNS43bC0xMzAgMjA4LTM3LjcgMCAxNDAuNi0yMjVjLTMuNC02LjMtNC42LTEzLjgtMy4xLTIxLjNsNS45LTI5LjNjOS4xLTQ1LjYgNTUuMS03My44IDk5LjktNjEuNGwzMi41IDljNDYuNyAxMyA4OCA0MC44IDExNy42IDc5LjNsMjQuOSAzMi4zIDQwLjQtMjAuMmMxNS44LTcuOSAzNS0xLjUgNDIuOSAxNC4zeiJdfSx5T3Q9RmhlLEJoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtY2hlY2siLGljb246WzQ0OCw1MTIsWzk3NDUsOTk4OSw2MTUxMCwiY2hlY2stc3F1YXJlIl0sImYxNGEiLCJNMzg0IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMHpNMzQyIDE0NS43Yy0xMC43LTcuOC0yNS43LTUuNC0zMy41IDUuM0wxODkuMSAzMTUuMiAxMzcgMjYzLjFjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNzIgNzJjNSA1IDExLjkgNy41IDE4LjggN3MxMy40LTQuMSAxNy41LTkuOEwzNDcuMyAxNzkuMmM3LjgtMTAuNyA1LjQtMjUuNy01LjMtMzMuNXoiXX0sd090PUJoZSxIaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmF0aCIsaWNvbjpbNTEyLDUxMixbMTI4NzA1LCJiYXRodHViIl0sImYyY2QiLCJNOTYgNzcuM2MwLTcuMyA1LjktMTMuMyAxMy4zLTEzLjMgMy41IDAgNi45IDEuNCA5LjQgMy45bDE0LjkgMTQuOWMtMy42IDkuMS01LjUgMTguOS01LjUgMjkuMiAwIDE5LjkgNy4yIDM4IDE5LjIgNTItNS4zIDkuMi00IDIxLjEgMy44IDI5IDkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwTDI4OSA4OWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOS03LjgtNy45LTE5LjgtOS4xLTI5LTMuOC0xNC0xMi0zMi4xLTE5LjItNTItMTkuMi0xMC4zIDAtMjAuMiAyLTI5LjIgNS41TDE2My45IDIyLjZDMTQ5LjQgOC4xIDEyOS43IDAgMTA5LjMgMCA2Ni42IDAgMzIgMzQuNiAzMiA3Ny4zTDMyIDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwwIDQ4YzAgMjguNCAxMi40IDU0IDMyIDcxLjZMNjQgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNiAyNTYgMCAwIDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC00MC40YzE5LjYtMTcuNiAzMi00My4xIDMyLTcxLjZsMC00OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw5NiAyNTYgOTYgNzcuM3oiXX0sTU90PUhoZSxrT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlc3MtYmlzaG9wIixpY29uOlszMjAsNTEyLFs5ODIxXSwiZjQzYSIsIk02NCAzODRMNDguMyAzNjguM0MxNy40IDMzNy40IDAgMjk1LjQgMCAyNTEuNyAwIDIxMy4xIDEzLjUgMTc1LjggMzguMiAxNDYuMUwxMDYuNyA2NCA5NiA2NEM3OC4zIDY0IDY0IDQ5LjcgNjQgMzJTNzguMyAwIDk2IDBMMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTEwLjcgMCA0Ny42IDU3LjEtODUuOSA4NS45Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsODIuMy04Mi4zYzE4LjcgMjcuMyAyOC43IDU5LjcgMjguNyA5MyAwIDQzLjctMTcuNCA4NS43LTQ4LjMgMTE2LjZMMjU2IDM4NCAzMTIuMiA0NTQuM2M1IDYuMyA3LjggMTQuMSA3LjggMjIuMiAwIDE5LjYtMTUuOSAzNS41LTM1LjUgMzUuNUwzNS41IDUxMmMtMTkuNiAwLTM1LjUtMTUuOS0zNS41LTM1LjUgMC04LjEgMi43LTE1LjkgNy44LTIyLjJMNjQgMzg0eiJdfSxxaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicHJlc2NyaXB0aW9uLWJvdHRsZS1tZWRpY2FsIixpY29uOlszODQsNTEyLFsicHJlc2NyaXB0aW9uLWJvdHRsZS1hbHQiXSwiZjQ4NiIsIk0wIDMyQzAgMTQuMyAxNC4zIDAgMzIgMEwzNTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjRMMCAzMnpNMzIgMTQ0bDMyMCAwIDAgMzA0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDk2IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0zMDR6TTE2MCAyNDhsMCA0MC00MCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsNDAgMCAwIDQwYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTQwIDQwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC00MCAwIDAtNDBjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6Il19LFNPdD1xaGUsVmhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRyYXctcG9seWdvbiIsaWNvbjpbNTEyLDUxMixbNTgwNTUsInZlY3Rvci1wb2x5Z29uIl0sImY1ZWUiLCJNNjQgMGMyMy43IDAgNDQuNCAxMi45IDU1LjQgMzJsMjczLjEgMGMxMS4xLTE5LjEgMzEuNy0zMiA1NS40LTMyIDM1LjMgMCA2NCAyOC43IDY0IDY0IDAgMzQtMjYuNSA2MS44LTYwIDYzLjlsLTIuMSAyLjktNzEuNSA5OS4xYzMuNiA4IDUuNiAxNi45IDUuNiAyNi4ycy0yIDE4LjItNS42IDI2LjJsMi4yIDMuMSA2OS4zIDk2IDIuMSAyLjljMzMuNSAyLjEgNjAgMjkuOSA2MCA2My45IDAgMzUuMy0yOC43IDY0LTY0IDY0LTIzLjcgMC00NC40LTEyLjktNTUuNC0zMmwtMjczLjEgMGMtMTEuMSAxOS4xLTMxLjcgMzItNTUuNCAzMi0zNS4zIDAtNjQtMjguNy02NC02NCAwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRsMC0yNzMuMUMxMi45IDEwOC40IDAgODcuNyAwIDY0IDAgMjguNyAyOC43IDAgNjQgMHpNMzk0LjIgNDEzLjRsLTY1LjUtOTAuNi0yLjItMy4xYy0yLjEgLjItNC4zIC4zLTYuNSAuMy0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0YzIuMiAwIDQuNCAuMSA2LjUgLjNsNjcuNy05My43Yy0uNi0uOS0xLjEtMS43LTEuNi0yLjZMMTE5LjQgOTZjLTUuNiA5LjctMTMuNyAxNy44LTIzLjQgMjMuNGwwIDI3My4xYzkuNyA1LjYgMTcuOCAxMy43IDIzLjQgMjMuNGwyNzMuMSAwYy41LS45IDEuMS0xLjggMS42LTIuNnoiXX0sek90PVZoZSxDT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaS1jdXJzb3IiLGljb246WzI1Niw1MTIsW10sImYyNDYiLCJNLjEgMjkuM0MtMS40IDQ3IDExLjcgNjIuNCAyOS4zIDYzLjlsOCAuN0M3MC41IDY3LjMgOTYgOTUgOTYgMTI4LjNsMCA5NS43LTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDk1LjdjMCAzMy4zLTI1LjUgNjEtNTguNyA2My44bC04IC43QzExLjcgNDQ5LjYtMS40IDQ2NSAuMSA0ODIuN1MxNyA1MTMuNCAzNC43IDUxMS45bDgtLjdjMzQuMS0yLjggNjQuMi0xOC45IDg1LjQtNDIuOSAyMS4yIDI0IDUxLjIgNDAgODUuNCA0Mi45bDggLjdjMTcuNiAxLjUgMzMuMS0xMS42IDM0LjUtMjkuMnMtMTEuNi0zMy4xLTI5LjItMzQuNWwtOC0uN0MxODUuNSA0NDQuNyAxNjAgNDE3IDE2MCAzODMuN2wwLTk1LjcgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTk1LjdjMC0zMy4zIDI1LjUtNjEgNTguNy02My44bDgtLjdjMTcuNi0xLjUgMzAuNy0xNi45IDI5LjItMzQuNVMyMzktMS40IDIyMS4zIC4xbC04IC43Yy0zNC4xIDIuOC02NC4yIDE4LjktODUuNCA0Mi45LTIxLjItMjQtNTEuMi00MC04NS40LTQyLjlsLTgtLjdDMTctMS40IDEuNiAxMS43IC4xIDI5LjN6Il19LF9PdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFydC1jaXJjbGUtcGx1cyIsaWNvbjpbNTc2LDUxMixbXSwiZTUwMCIsIk0yNDEgODcuMWwxNSAyMC43IDE1LTIwLjdDMjk2IDUyLjUgMzM2LjIgMzIgMzc4LjkgMzIgNDUyLjQgMzIgNTEyIDkxLjYgNTEyIDE2NS4xbDAgMi42YzAgMTcuNi0zLjQgMzUuNi05LjUgNTMuNy0yMS44LTguNi00NS42LTEzLjQtNzAuNS0xMy40LTEwNiAwLTE5MiA4Ni0xOTIgMTkyIDAgMjguNSA2LjIgNTUuNiAxNy40IDgwLS41IDAtLjkgMC0xLjQgMC0xNS41IDAtMzAuOC00LjYtNDMuMS0xNC4xLTczLTU1LjctMjEyLjktMTg2LTIxMi45LTI5OC4ybDAtMi42QzAgOTEuNiA1OS42IDMyIDEzMy4xIDMyIDE3NS44IDMyIDIxNiA1Mi41IDI0MSA4Ny4xek00MzIgMjU2YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMTYgODBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA0OC00OCAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDQ4IDAgMCA0OGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNDggNDggMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtNDggMCAwLTQ4eiJdfSxUT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hpZWxkLWRvZyIsaWNvbjpbNTEyLDUxMixbXSwiZTU3MyIsIk0yNjkuNCAyLjlDMjY1LjIgMSAyNjAuNyAwIDI1NiAwcy05LjIgMS0xMy40IDIuOUw1NC4zIDgyLjhjLTIyIDkuMy0zOC40IDMxLTM4LjMgNTcuMiAuNSA5OS4yIDQxLjMgMjgwLjcgMjEzLjYgMzYzLjIgMTYuNyA4IDM2LjEgOCA1Mi44IDAgMTcyLjQtODIuNSAyMTMuMi0yNjQgMjEzLjYtMzYzLjIgLjEtMjYuMi0xNi4zLTQ3LjktMzguMy01Ny4yTDI2OS40IDIuOXpNMTYwLjkgMjg2LjJjNC44IDEuMiA5LjkgMS44IDE1LjEgMS44IDM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNjQgNDQuMiAwYzEyLjEgMCAyMy4yIDYuOCAyOC42IDE3LjdsNy4yIDE0LjMgNjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDQ0LjItMzUuOCA4MC04MCA4MGwtNDggMCAwIDUwLjdjMCA3LjMtNS45IDEzLjMtMTMuMyAxMy4zLTEuOCAwLTMuNi0uNC01LjItMS4xbC05OC43LTQyLjNjLTYuNi0yLjgtMTAuOC05LjMtMTAuOC0xNi40IDAtMi44IC42LTUuNSAxLjktOGwxNS0zMHpNMTYwIDE2MGw0OCAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC00OGMwLTguOCA3LjItMTYgMTYtMTZ6bTEyOCA0OGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAweiJdfSxMT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ3JlYXRlci10aGFuLWVxdWFsIixpY29uOls0NDgsNTEyLFtdLCJmNTMyIiwiTTIxLjkgOTQuNEM1LjEgODguOC0zLjkgNzAuNiAxLjcgNTMuOVMyNS40IDI4LjEgNDIuMSAzMy42bDM4NCAxMjhDNDM5LjIgMTY2IDQ0OCAxNzguMiA0NDggMTkycy04LjggMjYtMjEuOSAzMC40bC0zODQgMTI4Yy0xNi44IDUuNi0zNC45LTMuNS00MC41LTIwLjJzMy41LTM0LjkgMjAuMi00MC41TDMxNC44IDE5MiAyMS45IDk0LjR6TTQxNiA0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDM4NCAweiJdfSwkT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZW52ZWxvcGUtb3BlbiIsaWNvbjpbNTEyLDUxMixbNjIxMzVdLCJmMmI2IiwiTTY0LjQgMTc1LjhMMjU2IDMzLjkgNDQ3LjYgMTc1LjggMjg5LjUgMjkzYy05LjcgNy4yLTIxLjQgMTEtMzMuNSAxMXMtMjMuOC0zLjktMzMuNS0xMUw2NC40IDE3NS44ek0yNTYtMzJjLTEyLjEgMC0yMy44IDMuOS0zMy41IDExTDI1LjkgMTI0LjdDOS42IDEzNi44IDAgMTU1LjggMCAxNzYuMUwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTIzOS45YzAtMjAuMy05LjYtMzkuNC0yNS45LTUxLjRMMjg5LjUtMjFjLTkuNy03LjItMjEuNC0xMS0zMy41LTExeiJdfSxET3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW91bmQiLGljb246WzUxMiw1MTIsW10sImU1MmQiLCJNMTEyLjQgMTc5LjJDMTQyIDEyNy43IDE5Ni44IDk2IDI1Ni4yIDk2czExNC4yIDMxLjcgMTQzLjkgODMuMkw1MDguNyAzNjhjMTIuMyAyMS4zLTMuMSA0OC0yNy43IDQ4TDMxLjUgNDE2Yy0yNC42IDAtNDAtMjYuNi0yNy43LTQ4TDExMi40IDE3OS4yeiJdfSxBT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidm9pY2VtYWlsIixpY29uOls2NDAsNTEyLFtdLCJmODk3IiwiTTE0NCAxNjBhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6TTI2My44IDMyMGMxNS4zLTIyLjkgMjQuMi01MC40IDI0LjItODAgMC03OS41LTY0LjUtMTQ0LTE0NC0xNDRTMCAxNjAuNSAwIDI0MCA2NC41IDM4NCAxNDQgMzg0bDM1MiAwYzc5LjUgMCAxNDQtNjQuNSAxNDQtMTQ0UzU3NS41IDk2IDQ5NiA5NiAzNTIgMTYwLjUgMzUyIDI0MGMwIDI5LjYgOC45IDU3LjEgMjQuMiA4MGwtMTEyLjUgMHpNNDk2IDE2MGE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHoiXX0sRU90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZlc3QiLGljb246WzQ0OCw1MTIsW10sImUwODUiLCJNMjAwIDQ2NGwwLTE3MC4xYzAtMy45LS41LTcuOC0xLjQtMTEuNkwxNDQuNCA2NS40QzE2Mi4xIDc3LjIgMTg4LjIgODggMjI0IDg4czYxLjktMTAuOCA3OS42LTIyLjZMMjQ5LjQgMjgyLjNjLTEgMy44LTEuNCA3LjctMS40IDExLjZMMjQ4IDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMDQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE5My41YzAtOS41LTIuOC0xOC43LTguMS0yNi42bC00Ny45LTcxLjhjLTUuMy03LjktOC4xLTE3LjEtOC4xLTI2LjZMMzg0IDQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0zLjUgMGMtLjMgMC0uNiAwLTEgMC0uNiAwLTEuMiAwLTEuOCAwLTE4LjggMC0zNC4xIDkuNy00NC4xIDE4LjgtOS4zIDguNC0yOC41IDIxLjItNjEuNyAyMS4ycy01Mi40LTEyLjgtNjEuNy0yMS4yYy0xMC05LjEtMjUuMy0xOC44LTQ0LjEtMTguOC0uNiAwLTEuMiAwLTEuOCAwLS4zIDAtLjYgMC0xIDBMMTEyIDBDODUuNSAwIDY0IDIxLjUgNjQgNDhsMCA5Ny41YzAgOS41LTIuOCAxOC43LTguMSAyNi42TDguMSAyNDMuOUMyLjggMjUxLjggMCAyNjEuMSAwIDI3MC41TDAgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDEwNCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4eiJdfSxQT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXVkaW8tZGVzY3JpcHRpb24iLGljb246WzUxMiw1MTIsW10sImYyOWUiLCJNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptOTYgOTZsMCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTI0IDQ4IDAgMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTA0YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0xNiAwYy0zNS4zIDAtNjQgMjguNy02NCA2NHptNDggMzJsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMi00OCAwem0xNTItOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTQ0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMzkuOCAwIDcyLTMyLjIgNzItNzJsMC00OGMwLTM5LjgtMzIuMi03Mi03Mi03MmwtNDggMHptNDggMTQ0bC0yNCAwIDAtOTYgMjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0eiJdfSxJT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidyIsaWNvbjpbNTc2LDUxMixbMTE5XSwiNTciLCJNMjAuOCAzNGMxNi41LTYuMiAzNSAyLjIgNDEuMiAxOC43TDE3Mi4yIDM0Ni43IDI1Ny4zIDU1YzQtMTMuNyAxNi41LTIzIDMwLjctMjNzMjYuNyA5LjQgMzAuNyAyM0w0MDMuOCAzNDYuNyA1MTQgNTIuOGM2LjItMTYuNSAyNC42LTI0LjkgNDEuMi0xOC43UzU4MC4yIDU4LjcgNTc0IDc1LjJsLTE0NCAzODRjLTQuOCAxMi45LTE3LjQgMjEuMy0zMS4yIDIwLjdzLTI1LjctOS44LTI5LjUtMjNMMjg4IDE3OC4zIDIwNi43IDQ1N2MtMy45IDEzLjItMTUuOCAyMi41LTI5LjUgMjNzLTI2LjMtNy44LTMxLjItMjAuN0wyIDc1LjJDLTQuMiA1OC43IDQuMiA0MC4yIDIwLjggMzR6Il19LGplZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJleWUtZHJvcHBlciIsaWNvbjpbNTEyLDUxMixbImV5ZS1kcm9wcGVyLWVtcHR5IiwiZXllZHJvcHBlciJdLCJmMWZiIiwiTTM0MS42IDI5LjJsLTEwMS42IDEwMS42LTkuNC05LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOS40LTkuNCAxMDEuNi0xMDEuNmMzOS0zOSAzOS0xMDIuMiAwLTE0MS4xcy0xMDIuMi0zOS0xNDEuMSAwek01NS40IDMyMy4zYy0xNSAxNS0yMy40IDM1LjQtMjMuNCA1Ni42bDAgNDIuNC0yNi42IDM5LjljLTguNSAxMi43LTYuOCAyOS42IDQgNDAuNHMyNy43IDEyLjUgNDAuNCA0bDM5LjktMjYuNiA0Mi40IDBjMjEuMiAwIDQxLjYtOC40IDU2LjYtMjMuNGwxMDkuNC0xMDkuNC00NS4zLTQ1LjMtMTA5LjQgMTA5LjRjLTMgMy03LjEgNC43LTExLjMgNC43bC0zNi4xIDAgMC0zNi4xYzAtNC4yIDEuNy04LjMgNC43LTExLjNsMTA5LjQtMTA5LjQtNDUuMy00NS4zLTEwOS40IDEwOS40eiJdfSxOT3Q9amVlLFJPdD1qZWUscm09e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLXhtYXJrIixpY29uOls1MTIsNTEyLFs2MTUzMiwidGltZXMtY2lyY2xlIiwieG1hcmstY2lyY2xlIl0sImYwNTciLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2NyAxNjdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsNTUgNTUgNTUtNTVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC01NSA1NSA1NSA1NWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC01NS01NS01NSA1NWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw1NS01NS01NS01NWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6Il19LE9PdD1ybSxGT3Q9cm0sQk90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyYWlsZXIiLGljb246WzY0MCw1MTIsW10sImUwNDEiLCJNMzIgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTYgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjk2LjQgMGMuMiAyLjYgLjQgNS4zIC40IDggMCA0OC42LTM5LjQgODgtODggODhzLTg4LTM5LjQtODgtODhjMC0yLjcgLjEtNS40IC40LThMOTYgNDE2Yy0zNS4zIDAtNjQtMjguNy02NC02NEwzMiA5NnptNDA4IDE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE2MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYwYzAtMTMuMy0xMC43LTI0LTI0LTI0ek0xMTIgMTM2bDAgMTYwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNjBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6bTE3Ni0yNGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxNjBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE2MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHpNMjY0IDQyNGE0MCA0MCAwIDEgMCAtODAgMCA0MCA0MCAwIDEgMCA4MCAweiJdfSxVZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHVya2lzaC1saXJhLXNpZ24iLGljb246WzQ0OCw1MTIsWyJ0cnkiLCJ0dXJraXNoLWxpcmEiXSwiZTJiYiIsIk0xNjAgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA0My42IDEyMS40LTM0LjdjMTIuNy0zLjYgMjYgMy43IDI5LjcgMTYuNXMtMy43IDI2LTE2LjUgMjkuN2wtMTM0LjYgMzguNSAwIDQ2LjEgMTIxLjQtMzQuN2MxMi43LTMuNiAyNiAzLjcgMjkuNyAxNi41cy0zLjcgMjYtMTYuNSAyOS43bC0xMzQuNiAzOC41IDAgMTYyLjUgNzIgMGM1MyAwIDk2LTQzIDk2LTk2IDAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBsLTEwNCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE3Ni4yLTI1LjQgNy4zYy0xMi43IDMuNi0yNi0zLjctMjkuNy0xNi41czMuNy0yNiAxNi41LTI5LjdsMzguNi0xMSAwLTQ2LjEtMjUuNCA3LjNjLTEyLjcgMy42LTI2LTMuNy0yOS43LTE2LjVzMy43LTI2IDE2LjUtMjkuN2wzOC42LTExIDAtNjEuOWMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0sSE90PVVlZSxxT3Q9VWVlLFZPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2b2xjYW5vIixpY29uOls1MTIsNTEyLFsxMjc3NTVdLCJmNzcwIiwiTTE2MCAxNDRjLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjRjMTUuNyAwIDMwIDUuNiA0MS4yIDE1IDExLjItMTguNiAzMS42LTMxIDU0LjgtMzFzNDMuNiAxMi40IDU0LjggMzFjMTEuMS05LjQgMjUuNS0xNSA0MS4yLTE1IDM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0Yy0xNC43IDAtMjguMy01LTM5LjEtMTMuM2wtMzIgNDhDMjc1LjMgMTg3IDI2NiAxOTIgMjU2IDE5MnMtMTkuMy01LTI0LjktMTMuM2wtMzItNDhDMTg4LjMgMTM5IDE3NC43IDE0NCAxNjAgMTQ0ek0xNDQgMzUybDQ4LjQtMjQuMmMxMC4yLTUuMSAyMS42LTcuOCAzMy03LjggMTkuNiAwIDM4LjQgNy44IDUyLjIgMjEuNmwzMi41IDMyLjVjNi4zIDYuMyAxNC45IDkuOSAyMy44IDkuOSAxMS4zIDAgMjEuOC01LjYgMjgtMTVsOS43LTE0LjYtNTktNjYuM2MtOS4xLTEwLjItMjIuMi0xNi4xLTM1LjktMTYuMWwtNDEuOCAwYy0xMy43IDAtMjYuOCA1LjktMzUuOSAxNi4xbC01OS45IDY3LjQgNC43LTMuNXptMTkuNC05NS44YzE4LjItMjAuNSA0NC4zLTMyLjIgNzEuOC0zMi4ybDQxLjggMGMyNy40IDAgNTMuNSAxMS43IDcxLjggMzIuMmwxNTAuMiAxNjljOC41IDkuNSAxMy4yIDIxLjkgMTMuMiAzNC43IDAgMjguOC0yMy40IDUyLjItNTIuMiA1Mi4yTDUyLjIgNTEyQzIzLjQgNTEyIDAgNDg4LjYgMCA0NTkuOCAwIDQ0Ny4xIDQuNyA0MzQuNyAxMy4yIDQyNS4ybDE1MC4yLTE2OXoiXX0sak90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndhbmQtc3BhcmtsZXMiLGljb246WzUxMiw1MTIsW10sImY3MmIiLCJNNDY0IDYuMWM5LjUtOC41IDI0LTguMSAzMyAuOWw4IDhjOSA5IDkuNCAyMy41IC45IDMzbC04NS44IDk1LjljLTIuNiAyLjktNC4xIDYuNy00LjEgMTAuN2wwIDIxLjRjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNS44IDBjLTQuNiAwLTguOSAxLjktMTEuOSA1LjNMMTAwLjcgNTAwLjljLTYuMyA3LjEtMTUuMyAxMS4xLTI0LjggMTEuMS04LjggMC0xNy4zLTMuNS0yMy41LTkuOEw5LjcgNDU5LjdjLTYuMi02LjItOS43LTE0LjctOS43LTIzLjUgMC05LjUgNC0xOC41IDExLjEtMjQuOGwxMTEuNi05OS44YzMuNC0zIDUuMy03LjQgNS4zLTExLjlsMC0yNy42YzAtOC44IDcuMi0xNiAxNi0xNmwzNC42IDBjMy45IDAgNy43LTEuNSAxMC43LTQuMUw0NjQgNi4xek00MzIgMjg4YzMuNiAwIDYuNyAyLjQgNy43IDUuOGwxNC44IDUxLjcgNTEuNyAxNC44YzMuNCAxIDUuOCA0LjEgNS44IDcuN3MtMi40IDYuNy01LjggNy43bC01MS43IDE0LjgtMTQuOCA1MS43Yy0xIDMuNC00LjEgNS44LTcuNyA1LjhzLTYuNy0yLjQtNy43LTUuOGwtMTQuOC01MS43LTUxLjctMTQuOGMtMy40LTEtNS44LTQuMS01LjgtNy43czIuNC02LjcgNS44LTcuN2w1MS43LTE0LjggMTQuOC01MS43YzEtMy40IDQuMS01LjggNy43LTUuOHpNODcuNyA2OS44bDE0LjggNTEuNyA1MS43IDE0LjhjMy40IDEgNS44IDQuMSA1LjggNy43cy0yLjQgNi43LTUuOCA3LjdsLTUxLjcgMTQuOC0xNC44IDUxLjdjLTEgMy40LTQuMSA1LjgtNy43IDUuOHMtNi43LTIuNC03LjctNS44TDU3LjUgMTY2LjUgNS44IDE1MS43Yy0zLjQtMS01LjgtNC4xLTUuOC03LjdzMi40LTYuNyA1LjgtNy43bDUxLjctMTQuOCAxNC44LTUxLjdjMS0zLjQgNC4xLTUuOCA3LjctNS44czYuNyAyLjQgNy43IDUuOHpNMjA4IDBjMy43IDAgNi45IDIuNSA3LjggNi4xbDYuOCAyNy4zIDI3LjMgNi44YzMuNiAuOSA2LjEgNC4xIDYuMSA3LjhzLTIuNSA2LjktNi4xIDcuOGwtMjcuMyA2LjgtNi44IDI3LjNjLS45IDMuNi00LjEgNi4xLTcuOCA2LjFzLTYuOS0yLjUtNy44LTYuMWwtNi44LTI3LjMtMjcuMy02LjhjLTMuNi0uOS02LjEtNC4xLTYuMS03LjhzMi41LTYuOSA2LjEtNy44bDI3LjMtNi44IDYuOC0yNy4zYy45LTMuNiA0LjEtNi4xIDcuOC02LjF6Il19LFVPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtaWNyb3Bob25lIixpY29uOlszODQsNTEyLFtdLCJmMTMwIiwiTTE5MiAwQzEzOSAwIDk2IDQzIDk2IDk2bDAgMTI4YzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZsMC0xMjhjMC01My00My05Ni05Ni05NnpNNDggMTg0YzAtMTMuMy0xMC43LTI0LTI0LTI0UzAgMTcwLjcgMCAxODRsMCA0MGMwIDk3LjkgNzMuMyAxNzguNyAxNjggMTkwLjVsMCA0OS41LTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDAgMC00OS41Yzk0LjctMTEuOCAxNjgtOTIuNiAxNjgtMTkwLjVsMC00MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQwYzAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzQ4IDMwMy41IDQ4IDIyNGwwLTQweiJdfSxXT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3Jvd24iLGljb246WzU3Niw1MTIsWzEyODA4MV0sImY1MjEiLCJNMzEzIDg3LjJjOS4yLTcuMyAxNS0xOC42IDE1LTMxLjIgMC0yMi4xLTE3LjktNDAtNDAtNDBzLTQwIDE3LjktNDAgNDBjMCAxMi42IDUuOSAyMy45IDE1IDMxLjJMMTk0LjYgMTk0LjhjLTEwIDE1LjctMzEuMyAxOS42LTQ2LjIgOC40TDg4LjkgMTU4LjdjNC41LTYuNCA3LjEtMTQuMyA3LjEtMjIuNyAwLTIyLjEtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MGMwIDIxLjggMTcuNSAzOS42IDM5LjIgNDBMODcuOCAzOTMuNWM0LjcgMzEuMyAzMS42IDU0LjUgNjMuMyA1NC41bDI3My44IDBjMzEuNyAwIDU4LjYtMjMuMiA2My4zLTU0LjVMNTIwLjggMTc2YzIxLjctLjQgMzkuMi0xOC4yIDM5LjItNDAgMC0yMi4xLTE3LjktNDAtNDAtNDBzLTQwIDE3LjktNDAgNDBjMCA4LjQgMi42IDE2LjMgNy4xIDIyLjdsLTU5LjQgNDQuNmMtMTQuOSAxMS4yLTM2LjIgNy4zLTQ2LjItOC40TDMxMyA4Ny4yeiJdfSxHT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVudC1hcnJvdy10dXJuLWxlZnQiLGljb246WzUxMiw1MTIsW10sImU1ODAiLCJNLS41IDExM2w3MiA3MmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTMxLTMxIDM1MC4xIDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjRjMC00OC42LTM5LjQtODgtODgtODhsLTM1MC4xIDAgMzEtMzFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlTODAuOS0yLjMgNzEuNSA3TC0uNSA3OWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjl6TTYwLjMgMjkyLjZMMzcuMSA0NzZjLTIuNCAxOS4xIDEyLjUgMzYgMzEuNyAzNmwxNTQuNSAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTE3LjRjMC01LjkgNC43LTEwLjYgMTAuNi0xMC42IDQgMCA3LjcgMi4zIDkuNSA1LjlsNjguMiAxMzYuNWM1LjQgMTAuOCAxNi41IDE3LjcgMjguNiAxNy43bDcxLjkgMGMxOS4zIDAgMzQuMi0xNi45IDMxLjctMzZMNDUyLjcgMjkyLjdjLTEuMi05LjctNi45LTE4LjQtMTUuMy0yMy40TDI3MS45IDE2OS45Yy0xMC4yLTYuMS0yMi45LTYuMS0zMy4xIC4xTDc1LjQgMjY5LjNjLTguMyA1LjEtMTMuOSAxMy43LTE1LjEgMjMuM3oiXX0samhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrLWZhc3QiLGljb246WzY0MCw1MTIsWyJzaGlwcGluZy1mYXN0Il0sImY0OGIiLCJNNjQgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMjg4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMiA1MC43IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMNjIxLjMgMTkyYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMNjQwIDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMy4zIDBjLTEwLjQgMzYuOS00NC40IDY0LTg0LjcgNjRzLTc0LjItMjcuMS04NC43LTY0bC0xMDIuNiAwYy0xMC40IDM2LjktNDQuNCA2NC04NC43IDY0cy03NC4yLTI3LjEtODQuNy02NGwtMy4zIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNDgtNDAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxMTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwyNCAyNDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMMjQgMTQ0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNFMxMC43IDk2IDI0IDk2bDQwIDB6TTU3NiAyODhsMC01MC43LTQ1LjMtNDUuMy01MC43IDAgMCA5NiA5NiAwek0yNTYgNDI0YTQwIDQwIDAgMSAwIC04MCAwIDQwIDQwIDAgMSAwIDgwIDB6bTIzMiA0MGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6Il19LFlPdD1qaGUsVWhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItcGVuIixpY29uOls2NDAsNTEyLFsidXNlci1lZGl0Il0sImY0ZmYiLCJNMjU2LjEgMjQ4YTEyMCAxMjAgMCAxIDAgMC0yNDAgMTIwIDEyMCAwIDEgMCAwIDI0MHptLTI5LjcgNTZjLTk4LjUgMC0xNzguMyA3OS44LTE3OC4zIDE3OC4zIDAgMTYuNCAxMy4zIDI5LjcgMjkuNyAyOS43bDE5Ni41IDAgMTAuOS01NC41YzQuMy0yMS43IDE1LTQxLjYgMzAuNi01Ny4ybDY3LjMtNjcuM2MtMjgtMTguMy02MS40LTI4LjktOTcuNC0yOC45bC01OS40IDB6TTMzMi4zIDQ2Ni45bC0xMS45IDU5LjZjLS4yIC45LS4zIDEuOS0uMyAyLjkgMCA4IDYuNSAxNC42IDE0LjYgMTQuNiAxIDAgMS45LS4xIDIuOS0uM2w1OS42LTExLjljMTIuNC0yLjUgMjMuOC04LjYgMzIuNy0xNy41bDExOC45LTExOC45LTgwLTgwLTExOC45IDExOC45Yy04LjkgOC45LTE1IDIwLjMtMTcuNSAzMi43em0yNjcuOC0xMjNjMjIuMS0yMi4xIDIyLjEtNTcuOSAwLTgwcy01Ny45LTIyLjEtODAgMGwtMjguOCAyOC44IDgwIDgwIDI4LjgtMjguOHoiXX0sS090PVVoZSxaT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1jbG9jayIsaWNvbjpbNTc2LDUxMixbXSwiZjRmZCIsIk0yMjQgOGExMjAgMTIwIDAgMSAxIDAgMjQwIDEyMCAxMjAgMCAxIDEgMC0yNDB6TTE5NC4zIDMwNGw1OS40IDBjMy45IDAgNy45IC4xIDExLjggLjQtMTYuMiAyOC4yLTI1LjUgNjAuOC0yNS41IDk1LjYgMCA0MS44IDEzLjQgODAuNSAzNiAxMTJMNDUuNyA1MTJDMjkuMyA1MTIgMTYgNDk4LjcgMTYgNDgyLjMgMTYgMzgzLjggOTUuOCAzMDQgMTk0LjMgMzA0ek0yODggNDAwYTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTE0NC04MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2bDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTMyIDAgMC00OGMwLTguOC03LjItMTYtMTYtMTZ6Il19LFhPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaG93ZXIiLGljb246WzUxMiw1MTIsWzEyODcwM10sImYyY2MiLCJNNjQgMTMxLjljMC0xOS44IDE2LjEtMzUuOSAzNS45LTM1LjkgOS41IDAgMTguNiAzLjggMjUuNCAxMC41bDE2LjIgMTYuMmMtMjEgMzguOS0xNy40IDg3LjUgMTAuOSAxMjNMMTUxIDI0N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwTDM0NSAxMjFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMS4zIDEuM2MtMzUuNS0yOC4zLTg0LjEtMzEuOS0xMjMtMTAuOUwxNzAuNSA2MS4zQzE1MS44IDQyLjUgMTI2LjQgMzIgOTkuOSAzMiA0NC43IDMyIDAgNzYuNyAwIDEzMS45TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMTYuMXpNMjU2IDM1MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTY0IDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTAtMTI4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptNjQgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMC0xMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em02NCA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0zMi0zMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LFdoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtY2FyZXQtdXAiLGljb246WzQ0OCw1MTIsWyJjYXJldC1zcXVhcmUtdXAiXSwiZjE1MSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMjQgMTYwYzYuNyAwIDEzIDIuOCAxNy42IDcuN2wxMDQgMTEyYzYuNSA3IDguMiAxNy4yIDQuNCAyNS45UzMzNy41IDMyMCAzMjggMzIwbC0yMDggMGMtOS41IDAtMTguMi01LjctMjItMTQuNHMtMi4xLTE4LjkgNC40LTI1LjlsMTA0LTExMmM0LjUtNC45IDEwLjktNy43IDE3LjYtNy43eiJdfSxRT3Q9V2hlLEdoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXAtbG9jYXRpb24iLGljb246WzY0MCw1MTIsWyJtYXAtbWFya2VkIl0sImY1OWYiLCJNNTc2IDQ4YzAtMTEuMS01LjctMjEuNC0xNS4yLTI3LjJzLTIxLjItNi40LTMxLjEtMS40TDQxMy41IDc3LjUgMjM0LjEgMTcuNmMtOC4xLTIuNy0xNi44LTIuMS0yNC40IDEuN2wtMTI4IDY0QzcwLjggODguOCA2NCA5OS45IDY0IDExMmwwIDM1MmMwIDExLjEgNS43IDIxLjQgMTUuMiAyNy4yczIxLjIgNi40IDMxLjEgMS40bDExNi4xLTU4LjEgMTczLjMgNTcuOGMtNC4zLTYuNC04LjUtMTMuMS0xMi42LTE5LjktMTEtMTguMy0yMS45LTM5LjMtMzAtNjEuOGwtMTAxLjItMzMuNyAwLTI4NC41IDEyOCA0Mi43IDAgOTkuM2MzMS0zNS44IDc3LTU4LjQgMTI4LTU4LjQgMjIuNiAwIDQ0LjIgNC40IDY0IDEyLjVMNTc2IDQ4ek0zOTIgMzQxLjljMCA2OC45IDY0LjEgMTUwLjQgOTguNiAxODkuMyAxMS42IDEzIDMxLjMgMTMgNDIuOSAwIDM0LjUtMzguOSA5OC42LTEyMC40IDk4LjYtMTg5LjMgMC02NS4xLTUzLjctMTE3LjktMTIwLTExNy45UzM5MiAyNzYuOCAzOTIgMzQxLjl6Il19LEpPdD1HaGUsZUZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlbi1mYW5jeSIsaWNvbjpbNTEyLDUxMixbMTI4Mzk1LDEwMDAyXSwiZjVhYyIsIk0zNzMuNSAyNy4xYzE1LTE3LjIgMzYuNy0yNy4xIDU5LjYtMjcuMSA0My42IDAgNzkgMzUuNCA3OSA3OSAwIDIyLjgtOS45IDQ0LjYtMjcuMSA1OS42TDI4My43IDMxMy44IDI3MyAzMDMgMjA5IDIzOSAxOTguMiAyMjguMyAzNzMuNSAyNy4xek0xNjEuMSAyNTlDMTYyIDI2MCAxODggMjg2IDIzOSAzMzdsMTMuOSAxMy45LTE3LjEgNzQuMmMtMy45IDE3LjEtMTYuOSAzMC43LTMzLjggMzUuNGwtMTY5LjggNDcuNSA5Mi4zLTkyLjNjMS4yIC4xIDIuMyAuMiAzLjUgLjIgMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzItMzIgMTQuMy0zMiAzMmMwIDEuMiAuMSAyLjQgLjIgMy41TDMuOSA0NzkuOCA1MS41IDMxMGM0LjctMTYuOSAxOC4zLTI5LjkgMzUuNC0zMy44TDE2MS4xIDI1OXoiXX0sV2VlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImV1cm8tc2lnbiIsaWNvbjpbNDQ4LDUxMixbODM2NCwiZXVyIiwiZXVybyJdLCJmMTUzIiwiTTczLjMgMTkyQzEwMC44IDk5LjUgMTg2LjUgMzIgMjg4IDMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDBjLTY1LjYgMC0xMjIgMzkuNS0xNDYuNyA5NkwyNzIgMTkyYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDMuMiAwYy0uNSA1LjMtLjggMTAuNi0uOCAxNnMuMyAxMC43IC44IDE2TDI3MiAyNzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTEzMC43IDBjMjQuNyA1Ni41IDgxLjEgOTYgMTQ2LjcgOTZsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTAxLjUgMC0xODcuMi02Ny41LTIxNC43LTE2MEw0MCAzMjBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjQuNiAwYy0uNy0xMC41LS43LTIxLjUgMC0zMkw0MCAyNDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMzMuMyAweiJdfSx0RnQ9V2VlLGFGdD1XZWUsckZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWNpcmNsZS14bWFyayIsaWNvbjpbNjQwLDUxMixbXSwiZTUwYiIsIk00OTYgNTQ0YTE0NCAxNDQgMCAxIDEgMC0yODggMTQ0IDE0NCAwIDEgMSAwIDI4OHpNMjY4LjYgNi41YzEyLjItOS4zIDI5LjctOC43IDQxLjIgMmwyMTcuNiAyMDJjLTEwLjItMS43LTIwLjctMi42LTMxLjMtMi42LTc4LjYgMC0xNDYuMiA0Ny4yLTE3NS45IDExNC44LTUtMS44LTEwLjUtMi44LTE2LjEtMi44bC0zMiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDk2IDkwLjkgMGM2LjEgMTcuMyAxNC42IDMzLjQgMjUuMiA0OEwxNDQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3Ni0xNiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC0zNS4xbDIyNC0yMDggMi40LTJ6TTU1NS4zIDM0MC43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMGwtMzYuNyAzNi43LTM2LjctMzYuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmwzNi43IDM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsMzYuNy0zNi43IDM2LjcgMzYuN2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTM2LjctMzYuNyAzNi43LTM2LjdjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZ6Il19LHNGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsaXJhLXNpZ24iLGljb246WzM4NCw1MTIsWzgzNTZdLCJmMTk1IiwiTTg0LjkgMjU2bC0yOC40IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTEuNiAwQzUzLjIgMTI0LjcgMTE2LjggNDIgMjA3LjYgNDJsOC4yIDBjMzMuNiAwIDY2LjIgMTEuMyA5Mi41IDMyLjJsMTYuMSAxMi43YzEzLjkgMTEgMTYuMiAzMS4xIDUuMiA0NXMtMzEuMSAxNi4yLTQ1IDUuMmwtMTYuMS0xMi43Yy0xNS0xMS45LTMzLjYtMTguNC01Mi44LTE4LjRsLTguMiAwYy01My44IDAtOTAuMSA1Mi45LTczLjUgMTAybDE2Mi40IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0NS4xIDBjMi4zIDEwLjYgMy42IDIxLjMgMy45IDMybDE0MS4yIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMTUwIDMzNmMtNC44IDE4LjYtMTIuNiAzNi41LTIzLjYgNTIuOWwtMTguMSAyNy4xIDIxMi4yIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI3MiAwYy0xMS44IDAtMjIuNi02LjUtMjguMi0xNi45cy01LTIzIDEuNi0zMi45bDUxLjItNzYuOGMzLjctNS42IDYuOS0xMS40IDkuNC0xNy40bC0yNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDM0LjggMGMtLjUtMTAuOC0yLjYtMjEuNi02LjQtMzJ6Il19LGVtPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Inllbi1zaWduIixpY29uOlszODQsNTEyLFsxNjUsImNueSIsImpweSIsInJtYiIsInllbiJdLCJmMTU3IiwiTTc0LjkgNDYuN2MtOS42LTE0LjktMjkuNC0xOS4yLTQ0LjItOS42UzExLjUgNjYuNCAyMS4xIDgxLjNMMTQzLjcgMjcyIDg4IDI3MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw3MiAwIDAgMzItNzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw3MiAwIDAgNDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTQ4IDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTcyIDAgMC0zMiA3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC01NS43IDAgMTIyLjYtMTkwLjdjOS42LTE0LjkgNS4zLTM0LjctOS42LTQ0LjJzLTM0LjctNS4zLTQ0LjIgOS42TDE5MiAyMjguOCA3NC45IDQ2Ljd6Il19LGlGdD1lbSxvRnQ9ZW0sbkZ0PWVtLGxGdD1lbSxjRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm94LW9wZW4iLGljb246WzY0MCw1MTIsW10sImY0OWUiLCJNNTYwLjMgMjM3LjJjMTAuNCAxMS44IDI4LjMgMTQuNCA0MS44IDUuNSAxNC43LTkuOCAxOC43LTI5LjcgOC45LTQ0LjRsLTQ4LTcyYy0yLjgtNC4yLTYuNi03LjctMTEuMS0xMC4yTDM1MS40IDQuN2MtMTkuMy0xMC43LTQyLjgtMTAuNy02Mi4yIDBMODguOCAxMTZjLTUuNCAzLTkuNyA3LjQtMTIuNiAxMi44TDI3LjcgMjE4LjdjLTEyLjYgMjMuNC0zLjggNTIuNSAxOS42IDY1LjFsMzMgMTcuNyAwIDUzLjNjMCAyMyAxMi40IDQ0LjMgMzIuNCA1NS43bDE3NiA5OS43YzE5LjYgMTEuMSA0My41IDExLjEgNjMuMSAwbDE3Ni05OS43YzIwLjEtMTEuNCAzMi40LTMyLjYgMzIuNC01NS43bDAtMTE3LjV6bS0yNDAtOS44TDE3MC4yIDE0NCAzMjAuMyA2MC42IDQ3MC40IDE0NCAzMjAuMyAyMjcuNHptLTQxLjUgNTAuMmwtMjEuMyA0Ni4yLTE2NS44LTg4LjggMjUuNC00Ny4yIDE2MS43IDg5Ljh6Il19LGRGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1maWVsZCIsaWNvbjpbNjQwLDUxMixbXSwiZTU4ZCIsIk0zMiA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwyMjQgMGMyMy43IDAgNDQuNCAxMi45IDU1LjQgMzJsNDAuNCAwYzMyLjQgMCA2MS42IDE5LjYgNzQgNDkuNWw0My44IDEwNi4zIDEuNyA0LjIgMjQuNyAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhsLS40IDBjLjIgMi42IC40IDUuMyAuNCA4IDAgNDguNi0zOS40IDg4LTg4IDg4cy04OC0zOS40LTg4LTg4YzAtMi43IC4xLTUuNCAuNC04bC0xNDQuNyAwYy4yIDIuNiAuNCA1LjMgLjQgOCAwIDQ4LjYtMzkuNCA4OC04OCA4OHMtODgtMzkuNC04OC04OGMwLTMuNiAuMi03LjEgLjYtMTAuNS0xOS02LjQtMzIuNi0yNC40LTMyLjYtNDUuNWwwLTQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDAtMzJ6bTM1MiAzMmwwIDk2IDgyLjEgMC0zNS40LTg2LjFjLTIuNS02LTguMy05LjktMTQuOC05LjlMMzg0IDEyOHpNMTkyIDM5MmE0MCA0MCAwIDEgMCAtODAgMCA0MCA0MCAwIDEgMCA4MCAwem0yODAgNDBhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgweiJdfSx1RnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibG9jYXRpb24tcGluLWxvY2siLGljb246WzUxMiw1MTIsW10sImU1MWYiLCJNMCAxODguNkMwIDg0LjQgODYgMCAxOTIgMCAyOTQuMSAwIDM3Ny42IDc4LjMgMzgzLjYgMTc3IDMyMC43IDE4NS4xIDI3MiAyMzguOCAyNzIgMzA0bDAgMjQuNGMtMTkuNiAxNy42LTMyIDQzLjEtMzIgNzEuNWwwIDc1LjdjLTkuOSAxMS42LTE4LjkgMjEuNy0yNi40IDI5LjgtMTEuOCAxMi44LTMxLjUgMTIuOC00My4zIDAtNTAuMi01NC41LTE3MC40LTE5Ny41LTE3MC40LTMxNi44ek0xOTIgMjU2YTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4em0yNDAgNDguMWMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ3LjkgNjQgMCAwLTQ3Ljl6TTI4OCA0MDBjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zbDAtNTAuNmMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwbDAgNTAuNmMxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjNsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTI4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZ6Il19LFloZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tcHJheWluZyIsaWNvbjpbMzg0LDUxMixbMTI4NzIwLCJwcmF5Il0sImY2ODMiLCJNMzIwIDY0YTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpNMjAwLjcgMjY0bDIyLjkgMzEuNWM2LjUgOC45IDE2LjMgMTQuNyAyNy4yIDE2LjFzMjEuOS0xLjcgMzAuNC04LjdsODgtNzJjMTcuMS0xNCAxOS42LTM5LjIgNS42LTU2LjNzLTM5LjItMTkuNi01Ni4zLTUuNmwtNTUuMiA0NS4yLTI2LjItMzZjLTE1LjYtMjEuNS00MC42LTM0LjItNjcuMi0zNC4yLTMwLjkgMC01OS4yIDE3LjEtNzMuNiA0NC40TDQ3LjggMjgwLjljLTIwLjIgMzguNS05LjQgODUuOSAyNS42IDExMS44TDEyNi42IDQzMiA0MCA0MzJjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBsMjA4IDBjMTcuMyAwIDMyLjYtMTEuMSAzOC0yNy41cy0uMy0zNC40LTE0LjItNDQuN2wtMTE2LjEtODUuOCA0NS05MHoiXX0scEZ0PVloZSxmRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xpcGJvYXJkLWxpc3QiLGljb246WzM4NCw1MTIsW10sImY0NmQiLCJNMzExLjQgMzJsOC42IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzNTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDguNiAwQzgzLjYgMTIuOSAxMDQuMyAwIDEyOCAwTDI1NiAwYzIzLjcgMCA0NC40IDEyLjkgNTUuNCAzMnpNMjQ4IDExMmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwxMzYgNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTEyIDB6TTEyOCAyNTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMzIgMGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxMTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTEyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0em0wIDEyOGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxMTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTEyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0ek05NiA0MTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxoRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Fjay1kb2xsYXIiLGljb246WzUxMiw1MTIsWzEyODE3Nl0sImY4MWQiLCJNMzI4IDExMmwtMTQ0IDAtMzcuMy03NC41Yy0xLjgtMy42LTIuNy03LjYtMi43LTExLjYgMC0xNC4zIDExLjYtMjUuOSAyNS45LTI1LjlMMzQyLjEgMGMxNC4zIDAgMjUuOSAxMS42IDI1LjkgMjUuOSAwIDQtLjkgOC0yLjcgMTEuNkwzMjggMTEyek0xNjkuNiAxNjBsMTcyLjggMCA0OC43IDQwLjZDNDU3LjYgMjU2IDQ5NiAzMzggNDk2IDQyNC41IDQ5NiA0NzIuOCA0NTYuOCA1MTIgNDA4LjUgNTEybC0zMDUuMSAwQzU1LjIgNTEyIDE2IDQ3Mi44IDE2IDQyNC41IDE2IDMzOCA1NC40IDI1NiAxMjAuOSAyMDAuNkwxNjkuNiAxNjB6TTI2MCAyMjRjLTExIDAtMjAgOS0yMCAyMGwwIDRjLTI4LjggLjMtNTIgMjMuNy01MiA1Mi41IDAgMjUuNyAxOC41IDQ3LjYgNDMuOSA1MS44bDQxLjcgN2M2IDEgMTAuNCA2LjIgMTAuNCAxMi4zIDAgNi45LTUuNiAxMi41LTEyLjUgMTIuNUwyMTYgMzg0Yy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGwyNCAwIDAgNGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTQuN2MyNS00LjEgNDQtMjUuNyA0NC01MS44IDAtMjUuNy0xOC41LTQ3LjYtNDMuOS01MS44bC00MS43LTdjLTYtMS0xMC40LTYuMi0xMC40LTEyLjMgMC02LjkgNS42LTEyLjUgMTIuNS0xMi41bDQ3LjUgMGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTggMCAwLTRjMC0xMS05LTIwLTIwLTIweiJdfSxtRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW91bnRhaW4tc3VuIixpY29uOls1NzYsNTEyLFtdLCJlNTJmIiwiTTI1Ni41IDBjMTQuNyAwIDI4LjIgOC4xIDM1LjIgMjFsMjE2IDQwMGM2LjcgMTIuNCA2LjQgMjcuNC0uOCAzOS41LTcuMiAxMi4xLTIwLjMgMTkuNS0zNC4zIDE5LjVsLTQzMiAwYy0xNC4xIDAtMjcuMS03LjQtMzQuMy0xOS41cy03LjUtMjcuMS0uOC0zOS41bDIxNi00MDAgMi45LTQuNkMyMzEuNyA2LjIgMjQzLjYgMCAyNTYuNSAwek0xNzAuNCAyNDkuOWwyNi44IDI2LjhjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsNDMuMy00My4zYzYtNiAxNC4xLTkuNCAyMi42LTkuNGw0Mi44IDAtNzIuMS0xMzMuNS04Ni4xIDE1OS40ek00OTYuNSAxNjBhODAgODAgMCAxIDEgMC0xNjAgODAgODAgMCAxIDEgMCAxNjB6Il19LEtoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC13aWRlLXNob3J0IixpY29uOls1NzYsNTEyLFsic29ydC1hbW91bnQtdXAiXSwiZjE2MSIsIk0xNTAuNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMOTYgMTQxLjMgOTYgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMDYuNyA0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZ6TTMyMCA0ODBsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnptMC0xMjhsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnptMC0xMjhsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE2MCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyem0wLTEyOGwyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMjAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6Il19LGdGdD1LaGUsYkZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXJzLWxpbmUiLGljb246WzU3Niw1MTIsW10sImU1OTIiLCJNMjI0IDEyOGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTE3NiAzMzZjMC02MS45IDUwLjEtMTEyIDExMi0xMTJzMTEyIDUwLjEgMTEyIDExMmwwIDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTE3NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTh6TTM5MiAxNDRhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwem0yNy4yIDEwMC40YzkuMS0yLjkgMTguOC00LjQgMjguOC00LjQgNTMgMCA5NiA0MyA5NiA5NmwwIDEwLjdjMCAxMS44LTkuNiAyMS4zLTIxLjMgMjEuM2wtNzguOCAwYzIuNy03LjUgNC4xLTE1LjYgNC4xLTI0bDAtOGMwLTM0LjEtMTAuNi02NS43LTI4LjgtOTEuNnptLTI2Mi40IDBjLTE4LjIgMjYtMjguOCA1Ny41LTI4LjggOTEuNmwwIDhjMCA4LjQgMS40IDE2LjUgNC4xIDI0bC03OC44IDBDNDEuNiAzNjggMzIgMzU4LjQgMzIgMzQ2LjdMMzIgMzM2YzAtNTMgNDMtOTYgOTYtOTYgMTAgMCAxOS43IDEuNSAyOC44IDQuNHpNNzIgMTQ0YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMCA0NDBjMC0xMy4zIDEwLjctMjQgMjQtMjRsNTI4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgNDY0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHoiXX0sdkZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0YXItb2YtZGF2aWQiLGljb246WzUxMiw1MTIsWzEwMDE3XSwiZjY5YSIsIk00MTUuOSAzMTEuOWwtMjcuOCA0OC4xIDU1LjcgMC0yNy44LTQ4LjF6TTM4My42IDI1NmwtNjAuMi0xMDQtMTM0LjggMC02MC4yIDEwNCA2MC4yIDEwNCAxMzQuOCAwIDYwLjItMTA0em02NC43IDBsNTguNCAxMDAuOWMzLjUgNiA1LjMgMTIuOCA1LjMgMTkuNyAwIDIxLjctMTcuNiAzOS40LTM5LjQgMzkuNGwtMTE3IDAtNjEuMyAxMDUuOEMyODYuNSA1MzUuNiAyNzEuOCA1NDQgMjU2IDU0NHMtMzAuNS04LjQtMzguNC0yMi4ybC02MS4zLTEwNS44LTExNyAwYy0yMS43IDAtMzkuNC0xNy42LTM5LjQtMzkuNCAwLTYuOSAxLjgtMTMuNyA1LjMtMTkuN0w2My43IDI1NiA1LjMgMTU1LjFDMS44IDE0OS4xIDAgMTQyLjMgMCAxMzUuNCAwIDExMy42IDE3LjYgOTYgMzkuNCA5NmwxMTcgMCA2MS4zLTEwNS44QzIyNS41LTIzLjYgMjQwLjItMzIgMjU2LTMyczMwLjUgOC40IDM4LjQgMjIuMmw2MS4zIDEwNS44IDExNyAwYzIxLjcgMCAzOS40IDE3LjYgMzkuNCAzOS40IDAgNi45LTEuOCAxMy43LTUuMyAxOS43TDQ0OC4zIDI1NnpNMzg4LjEgMTUybDI3LjggNDguMSAyNy44LTQ4LjEtNTUuNyAwek0yOTEgOTZsLTM1LTYwLjQtMzUgNjAuNCA3MCAwek0xMjMuOSAxNTJsLTU1LjcgMCAyNy44IDQ4LjEgMjcuOC00OC4xek05Ni4xIDMxMS45bC0yNy44IDQ4LjEgNTUuNyAwLTI3LjgtNDguMXpNMjIxIDQxNmwzNSA2MC40IDM1LTYwLjQtNzAgMHoiXX0seEZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im5vdGVzLW1lZGljYWwiLGljb246WzUxMiw1MTIsW10sImY0ODEiLCJNOTYgMzUyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDE4MS41IDBjMTcgMCAzMy4zLTYuNyA0NS4zLTE4LjdMNDkzLjMgMjkwLjdjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM0w1MTIgNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMMTYwIDBDMTI0LjcgMCA5NiAyOC43IDk2IDY0bDAgMjg4ek0yODggMTEybDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDggNDggMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTQ4IDAgMCA0OGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQ4LTQ4IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0OCAwIDAtNDhjMC04LjggNy4yLTE2IDE2LTE2ek00OCAxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRTMCAxMDYuNyAwIDEyMEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw2NCA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyOHoiXX0seUZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImF1c3RyYWwtc2lnbiIsaWNvbjpbNDQ4LDUxMixbXSwiZTBhOSIsIk0yNjYuNSAyNDBsLTg1IDAgNDIuNS0xMDYuNCA0Mi41IDEwNi40em02OC45IDBMMjYyLjkgNTguM0MyNTYuNSA0Mi40IDI0MS4xIDMyIDIyNCAzMnMtMzIuNSAxMC40LTM4LjkgMjYuM0wxMTIuNiAyNDAgMzIgMjQwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDYxLjQgMC0xOS4yIDQ4LTQyLjMgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyMy4xIDAtMjAuOCA1Mi4xYy02LjYgMTYuNCAxLjQgMzUgMTcuOSA0MS42czM1LTEuNCA0MS42LTE3LjlsMzAuMy03NS45IDIwMCAwIDMwLjMgNzUuOWM2LjYgMTYuNCAyNS4yIDI0LjQgNDEuNiAxNy45czI0LjQtMjUuMiAxNy45LTQxLjZMMzkyLjkgMzg0IDQxNiAzODRjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQyLjMgMC0xOS4yLTQ4IDYxLjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAuNiAwem0tNDkuNyA0OGwxOS4yIDQ4LTE2MS42IDAgMTkuMi00OCAxMjMuMyAweiJdfSx3RnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xpcGJvYXJkLXVzZXIiLGljb246WzM4NCw1MTIsW10sImY3ZjMiLCJNMzExLjQgMzJsOC42IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzNTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDguNiAwQzgzLjYgMTIuOSAxMDQuMyAwIDEyOCAwTDI1NiAwYzIzLjcgMCA0NC40IDEyLjkgNTUuNCAzMnpNMjQ4IDExMmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwxMzYgNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTEyIDB6TTE5MiAzNDRhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6TTk4LjMgNDEzYy0xMi45IDE1LjYgMi4yIDM1IDIyLjQgMzVsMTQyLjUgMGMyMC4yIDAgMzUuMy0xOS40IDIyLjQtMzUtMTQuNy0xNy43LTM2LjktMjktNjEuNy0yOWwtNjQgMGMtMjQuOCAwLTQ3IDExLjMtNjEuNyAyOXoiXX0sTUZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtaW1hZ2UiLGljb246WzM4NCw1MTIsWzEyODQ0M10sImYxYzUiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTEyOCAyNTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNOTIuNiA0NDhsMTk4LjggMGMxNS44IDAgMjguNi0xMi44IDI4LjYtMjguNiAwLTcuMy0yLjgtMTQuNC03LjktMTkuN0wyMTUuMyAyOTcuOWMtNi02LjMtMTQuNC05LjktMjMuMi05LjlsLS4zIDBjLTguOCAwLTE3LjEgMy42LTIzLjIgOS45TDcxLjkgMzk5LjdDNjYuOCA0MDUgNjQgNDEyLjEgNjQgNDE5LjQgNjQgNDM1LjIgNzYuOCA0NDggOTIuNiA0NDh6Il19LFpoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtY2FyZXQtcmlnaHQiLGljb246WzQ0OCw1MTIsWyJjYXJldC1zcXVhcmUtcmlnaHQiXSwiZjE1MiIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMzIwIDI1NmMwIDYuNy0yLjggMTMtNy43IDE3LjZsLTExMiAxMDRjLTcgNi41LTE3LjIgOC4yLTI1LjkgNC40UzE2MCAzNjkuNSAxNjAgMzYwbDAtMjA4YzAtOS41IDUuNy0xOC4yIDE0LjQtMjJzMTguOS0yLjEgMjUuOSA0LjRsMTEyIDEwNGM0LjkgNC41IDcuNyAxMC45IDcuNyAxNy42eiJdfSxrRnQ9WmhlLFNGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aWFsIixpY29uOls1MTIsNTEyLFsxMjk1MTRdLCJmNDkyIiwiTTM0Mi42IDkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMMzA2LjcgNjQgMjguMSAzNDIuNkMxMC4xIDM2MC42IDAgMzg1IDAgNDEwLjVMMCA0MTZjMCA1MyA0MyA5NiA5NiA5Nmw1LjUgMGMyNS41IDAgNDkuOS0xMC4xIDY3LjktMjguMWwyNzguNi0yNzguNiA5LjQgOS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjB6TTIwNS4zIDI1NmwxNDYuNy0xNDYuNyA1MC43IDUwLjctOTYgOTYtMTAxLjUgMHoiXX0sekZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlbGljb3B0ZXIiLGljb246WzU3Niw1MTIsWzEyODY0MV0sImY1MzMiLCJNMTc2IDMyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE1MiAwIDAgNDgtMjIwLjggMC0zMi44LTM5LjRDNjkuOSA4My4yIDYzLjEgODAgNTYgODBMMjQgODBDMTUuNyA4MCA4IDg0LjMgMy42IDkxLjRzLTQuOCAxNS45LTEuMSAyMy40bDQ4IDk2QzU0LjYgMjE4LjkgNjIuOSAyMjQgNzIgMjI0bDEwNy44IDAgMTA0IDE0My4xYzE1LjEgMjAuNyAzOS4xIDMyLjkgNjQuNyAzMi45bDc1LjUgMGM3NS4xIDAgMTM2LTYwLjkgMTM2LTEzNlM0OTkuMSAxMjggNDI0IDEyOGwtNDggMCAwLTQ4IDE1MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDE3NiAzMnpNMzc2IDE5Mmw0OCAwYzM5LjggMCA3MiAzMi4yIDcyIDcycy0zMi4yIDcyLTcyIDcybC00OCAwIDAtMTQ0ek01NTIgNDE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNCAwIDQuNC0zLjYgOC04IDhsLTI3MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI3MiAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2IDAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxDRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWl0dGVuIixpY29uOls0NDgsNTEyLFtdLCJmN2I1IiwiTTM1MiAzODRMNjQgMzg0IDUuNCAxNzguOUMxLjggMTY2LjQgMCAxNTMuNCAwIDE0MC4zIDAgNjIuOCA2Mi44IDAgMTQwLjMgMGwzLjQgMGM2NiAwIDEyMy41IDQ0LjkgMTM5LjUgMTA4LjlsMzEuNCAxMjUuOCAxNy42LTIwLjFDMzQ0LjggMjAwLjIgMzYyLjkgMTkyIDM4MiAxOTJsMi44IDBjMzQuOSAwIDYzLjMgMjguMyA2My4zIDYzLjMgMCAxNS45LTYgMzEuMi0xNi44IDQyLjlMMzUyIDM4NHpNMzIgNDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDI4OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTZjMCAxNy43LTE0LjMgMzItMzIgMzJMNjQgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2eiJdfSxfRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2FzLXB1bXAiLGljb246WzUxMiw1MTIsWzk5ODFdLCJmNTJmIiwiTTMyIDY0QzMyIDI4LjcgNjAuNyAwIDk2IDBMMjU2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxOTIgOCAwYzQ4LjYgMCA4OCAzOS40IDg4IDg4bDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE1NGMtMjcuNi03LjEtNDgtMzIuMi00OC02MmwwLTU5LjUtMjUuOC0yOC4zYy04LjktOS44LTguMi0yNSAxLjYtMzMuOXMyNS04LjIgMzMuOSAxLjZsNzEuNyA3OC44YzkuNCAxMC4zIDE0LjYgMjMuNyAxNC42IDM3LjdMNTEyIDM3NmMwIDM5LjgtMzIuMiA3Mi03MiA3MnMtNzItMzIuMi03Mi03MmwwLTMyYzAtMjIuMS0xNy45LTQwLTQwLTQwbC04IDAgMCAxNjEuNGM5LjMgMy4zIDE2IDEyLjIgMTYgMjIuNiAwIDEzLjMtMTAuNyAyNC0yNCAyNEw0MCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0IDAtMTAuNSA2LjctMTkuMyAxNi0yMi42TDMyIDY0ek05NiA4MGwwIDk2YzAgOC44IDcuMiAxNiAxNiAxNmwxMjggMGM4LjggMCAxNi03LjIgMTYtMTZsMC05NmMwLTguOC03LjItMTYtMTYtMTZMMTEyIDY0Yy04LjggMC0xNiA3LjItMTYgMTZ6Il19LFRGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlbnZlbG9wZS1jaXJjbGUtY2hlY2siLGljb246WzY0MCw1MTIsW10sImU0ZTgiLCJNNjQgMTEyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDQxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgODEuNGMtMjQuNC0xMS4yLTUxLjQtMTcuNC04MC0xNy40LTg3LjcgMC0xNjEuNyA1OC44LTE4NC43IDEzOS4yLTcuMS0xLjMtMTQuMS00LjItMjAuMS04LjhsLTIwOC0xNTZDNzEuMSAxNDEuMyA2NCAxMjcuMSA2NCAxMTJ6TTMwNCAzNjhjMCAyOC42IDYuMiA1NS42IDE3LjQgODBMMTI4IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xODggMTk4LjQgMTQ4LjhjMTIuNiA5LjQgMjYuOSAxNS40IDQxLjcgMTcuOSAwIDEuOC0uMSAzLjUtLjEgNS4zem00OCAwYTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTIwMS40LTYwLjljLTcuMS01LjItMTcuMi0zLjYtMjIuNCAzLjVsLTUzIDcyLjktMjYuOC0yNi44Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDQwIDQwYzMuMyAzLjMgNy45IDUgMTIuNiA0LjZzOC45LTIuOCAxMS43LTYuNWw2NC04OGM1LjItNy4xIDMuNi0xNy4yLTMuNS0yMi4zeiJdfSxYaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXNrYXRpbmciLGljb246WzUxMiw1MTIsWyJza2F0aW5nIl0sImY3YzUiLCJNMzY4IDU2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMTI4IDEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxNTAuMSAwYzQ5LjkgMCA3NC45IDYwLjMgMzkuNiA5NS42bC02My45IDYzLjkgNjkuOCAzMWMxNy4zIDcuNyAyOC41IDI0LjkgMjguNSA0My45bDAgODUuNmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTc1LjItODIuNC0zNi42Yy00MS0xOC4yLTUxLTcyLTE5LjMtMTAzLjdsNDAuNC00MC40LTk4LjcgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTg5LjQgMzYxLjRsNzUuOS03NS45YzcuNyAxOS43IDIxLjYgMzcuMyA0MSA0OS42bC03MS42IDcxLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zem0zNDYuNSA4Ny4xYzguNiAyLjEgMTMuOCAxMC44IDExLjYgMTkuNGwtLjQgMS43Yy02LjIgMjQuOS0yOC42IDQyLjQtNTQuMyA0Mi40TDMwNCA1MTJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsODguOCAwYzExIDAgMjAuNi03LjUgMjMuMy0xOC4ybC40LTEuN2MyLjEtOC42IDEwLjgtMTMuOCAxOS40LTExLjZ6TTE0My4yIDQ4Ni4zbC02LjIgMy4xYy0yMS42IDEwLjgtNDcuNiA2LjYtNjQuNi0xMC41TDEyLjcgNDE5LjNjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGw1OS42IDU5LjZjNy4zIDcuMyAxOC41IDkuMSAyNy43IDQuNWw2LjItMy4xYzcuOS00IDE3LjUtLjcgMjEuNSA3LjJzLjcgMTcuNS03LjIgMjEuNXoiXX0sTEZ0PVhoZSxJdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3VuIixpY29uOls1NzYsNTEyLFs5NzI4XSwiZjE4NSIsIk0yODgtMzJjOC40IDAgMTYuMyA0LjQgMjAuNiAxMS43TDM2NC4xIDcyLjMgNDY4LjkgNDZjOC4yLTIgMTYuOSAuNCAyMi44IDYuM1M1MDAgNjcgNDk4IDc1LjFsLTI2LjMgMTA0LjcgOTIuNyA1NS41YzcuMiA0LjMgMTEuNyAxMi4yIDExLjcgMjAuNnMtNC40IDE2LjMtMTEuNyAyMC42TDQ3MS43IDMzMi4xIDQ5OCA0MzYuOGMyIDguMi0uNCAxNi45LTYuMyAyMi44UzQ3NyA0NjggNDY4LjkgNDY2bC0xMDQuNy0yNi4zLTU1LjUgOTIuN2MtNC4zIDcuMi0xMi4yIDExLjctMjAuNiAxMS43cy0xNi4zLTQuNC0yMC42LTExLjdMMjExLjkgNDM5LjcgMTA3LjIgNDY2Yy04LjIgMi0xNi44LS40LTIyLjgtNi4zUzc2IDQ0NSA3OCA0MzYuOGwyNi4yLTEwNC43LTkyLjYtNTUuNUM0LjQgMjcyLjIgMCAyNjQuNCAwIDI1NnM0LjQtMTYuMyAxMS43LTIwLjZMMTA0LjMgMTc5LjkgNzggNzUuMWMtMi04LjIgLjMtMTYuOCA2LjMtMjIuOFM5OSA0NCAxMDcuMiA0NmwxMDQuNyAyNi4yIDU1LjUtOTIuNiAxLjgtMi42YzQuNS01LjcgMTEuNC05LjEgMTguOC05LjF6bTAgMTQ0YTE0NCAxNDQgMCAxIDAgMCAyODggMTQ0IDE0NCAwIDEgMCAwLTI4OHptMCAyNDBhOTYgOTYgMCAxIDEgMC0xOTIgOTYgOTYgMCAxIDEgMCAxOTJ6Il19LFFoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXNlYmFsbCIsaWNvbjpbNTEyLDUxMixbMTI5MzU4LDk5MTgsImJhc2ViYWxsLWJhbGwiXSwiZjQzMyIsIk0yMzIuNCAxLjFjLTEyMi4yIDExLjQtMjE5LjUgMTA4LjctMjMwLjkgMjMwLjkgMTYuMi0uMSAzMi0xLjggNDcuMi01IDEzLTIuNyAyNS43IDUuNSAyOC40IDE4LjVzLTUuNSAyNS43LTE4LjUgMjguNGMtMTguNCAzLjktMzcuNiA2LTU3LjEgNi4xIDExLjQgMTIyLjIgMTA4LjcgMjE5LjUgMjMwLjkgMjMwLjkgLjEtMTkuNSAyLjItMzguNyA2LjEtNTcuMSAyLjctMTMgMTUuNS0yMS4zIDI4LjQtMTguNXMyMS4zIDE1LjUgMTguNSAyOC40Yy0zLjIgMTUuMi00LjkgMzEtNSA0Ny4yIDEyMi4yLTExLjQgMjE5LjUtMTA4LjcgMjMwLjktMjMwLjktMTYuMiAuMS0zMiAxLjgtNDcuMiA1LTEzIDIuNy0yNS43LTUuNS0yOC40LTE4LjVzNS41LTI1LjcgMTguNS0yOC40YzE4LjQtMy45IDM3LjYtNiA1Ny4xLTYuMS0xMS40LTEyMi4yLTEwOC43LTIxOS41LTIzMC45LTIzMC45LS4xIDE5LjUtMi4yIDM4LjctNi4xIDU3LjEtMi43IDEzLTE1LjUgMjEuMy0yOC40IDE4LjVzLTIxLjMtMTUuNS0xOC41LTI4LjRjMy4yLTE1LjIgNC45LTMxIDUtNDcuMnptMi44IDE1MS40Yy0yMS40IDMyLjktNDkuNSA2MC45LTgyLjMgODIuMy0xMS4xIDcuMi0yNiA0LjEtMzMuMi03cy00LjEtMjYgNy0zMy4yYzI3LjItMTcuNyA1MC41LTQxIDY4LjMtNjguMyA3LjItMTEuMSAyMi4xLTE0LjMgMzMuMi03czE0LjMgMjIuMSA3IDMzLjJ6TTM5My4xIDI4NC4yYzcuMiAxMS4xIDQuMSAyNi03IDMzLjItMjcuMiAxNy43LTUwLjUgNDEtNjguMyA2OC4zLTcuMiAxMS4xLTIyLjEgMTQuMy0zMy4yIDdzLTE0LjMtMjIuMS03LTMzLjJjMjEuNC0zMi45IDQ5LjUtNjAuOSA4Mi4zLTgyLjMgMTEuMS03LjIgMjYtNC4xIDMzLjIgN3oiXX0sJEZ0PVFoZSxERnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaW1hZ2UiLGljb246WzQ0OCw1MTIsW10sImYwM2UiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNjQgODBhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2ek0yNzIgMjI0YzguNCAwIDE2LjEgNC40IDIwLjUgMTEuNWw4OCAxNDRjNC41IDcuNCA0LjcgMTYuNyAuNSAyNC4zUzM2OC43IDQxNiAzNjAgNDE2TDg4IDQxNmMtOC45IDAtMTcuMi01LTIxLjMtMTIuOXMtMy41LTE3LjUgMS42LTI0LjhsNTYtODBjNC41LTYuNCAxMS44LTEwLjIgMTkuNy0xMC4yczE1LjIgMy44IDE5LjcgMTAuMmwyNi40IDM3LjggNjEuNC0xMDAuNWM0LjQtNy4xIDEyLjEtMTEuNSAyMC41LTExLjV6Il19LEFGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJub3RkZWYiLGljb246WzM4NCw1MTIsW10sImUxZmUiLCJNNjQgMzkwLjNMMTUzLjUgMjU2IDY0IDEyMS43IDY0IDM5MC4zek0xMDIuNSA0NDhMMjgxLjUgNDQ4IDE5MiAzMTMuNyAxMDIuNSA0NDh6bTEyOC0xOTJMMzIwIDM5MC4zIDMyMCAxMjEuNyAyMzAuNSAyNTZ6TTI4MS41IDY0TDEwMi41IDY0IDE5MiAxOTguMyAyODEuNSA2NHpNMCA0OEMwIDIxLjUgMjEuNSAwIDQ4IDBMMzM2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0MTZjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDQ4eiJdfSxKaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFza2V0YmFsbCIsaWNvbjpbNTEyLDUxMixbMTI3OTM2LCJiYXNrZXRiYWxsLWJhbGwiXSwiZjQzNCIsIk05Mi43IDU4LjhsNzguNCA3OC40YzE4LjItMjUgMjguOS01NS45IDI4LjktODkuMiAwLTE0LjEtMS45LTI3LjctNS41LTQwLjYtMzggOS40LTcyLjYgMjcuMi0xMDEuOCA1MS40ek01OC44IDkyLjdjLTI0LjIgMjkuMi00MiA2My44LTUxLjQgMTAxLjggMTIuOSAzLjYgMjYuNSA1LjUgNDAuNiA1LjUgMzMuMyAwIDY0LjEtMTAuNyA4OS4yLTI4LjlMNTguOCA5Mi43ek0yNTYgMGMtNC42IDAtOS4yIC4xLTEzLjcgLjQgMy43IDE1LjMgNS43IDMxLjIgNS43IDQ3LjYgMCA0Ni42LTE1LjkgODkuNC00Mi42IDEyMy40TDI1NiAyMjIuMSA0MTkuMyA1OC44QzM3NC45IDIyLjEgMzE4LjEgMCAyNTYgMHpNNDggMjQ4Yy0xNi40IDAtMzIuNC0yLTQ3LjYtNS43LS4yIDQuNS0uNCA5LjEtLjQgMTMuNyAwIDYyLjEgMjIuMSAxMTguOSA1OC44IDE2My4zTDIyMi4xIDI1NiAxNzEuNCAyMDUuNEMxMzcuNCAyMzIuMSA5NC42IDI0OCA0OCAyNDh6bTQ2My42IDIxLjdjLjItNC41IC40LTkuMSAuNC0xMy43IDAtNjIuMS0yMi4xLTExOC45LTU4LjgtMTYzLjNMMjg5LjkgMjU2IDM0MC42IDMwNi42YzM0LTI2LjcgNzYuOS00Mi42IDEyMy40LTQyLjYgMTYuNCAwIDMyLjQgMiA0Ny42IDUuN3ptLTcuMSA0Ny44Yy0xMi45LTMuNi0yNi41LTUuNS00MC42LTUuNS0zMy4zIDAtNjQuMSAxMC43LTg5LjIgMjguOWw3OC40IDc4LjRjMjQuMi0yOS4yIDQyLTYzLjggNTEuNC0xMDEuOHpNMzQwLjkgMzc0LjhjLTE4LjIgMjUtMjguOSA1NS45LTI4LjkgODkuMiAwIDE0LjEgMS45IDI3LjcgNS41IDQwLjYgMzgtOS40IDcyLjYtMjcuMiAxMDEuOC01MS40bC03OC40LTc4LjR6bS0zNC4zLTM0LjNMMjU2IDI4OS45IDkyLjcgNDUzLjJjNDQuMyAzNi43IDEwMS4yIDU4LjggMTYzLjMgNTguOCA0LjYgMCA5LjItLjEgMTMuNy0uNC0zLjctMTUuMy01LjctMzEuMi01LjctNDcuNiAwLTQ2LjYgMTUuOS04OS40IDQyLjYtMTIzLjR6Il19LEVGdD1KaGUsZThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlbmNpbCIsaWNvbjpbNTEyLDUxMixbOTk5OSw2MTUwNCwicGVuY2lsLWFsdCJdLCJmMzAzIiwiTTM2LjQgMzUzLjJjNC4xLTE0LjYgMTEuOC0yNy45IDIyLjYtMzguN2wxODEuMi0xODEuMiAzMy45LTMzLjljMTYuNiAxNi42IDUxLjMgNTEuMyAxMDQgMTA0bDMzLjkgMzMuOS0zMy45IDMzLjktMTgxLjIgMTgxLjJjLTEwLjcgMTAuNy0yNC4xIDE4LjUtMzguNyAyMi42TDMwLjQgNTEwLjZjLTguMyAyLjMtMTcuMyAwLTIzLjQtNi4yUy0xLjQgNDg5LjMgLjkgNDgxTDM2LjQgMzUzLjJ6bTU1LjYtMy43Yy00LjQgNC43LTcuNiAxMC40LTkuMyAxNi42bC0yNC4xIDg2LjkgODYuOS0yNC4xYzYuNC0xLjggMTIuMi01LjEgMTctOS43TDkxLjkgMzQ5LjV6bTM1NC0xNDYuMWMtMTYuNi0xNi42LTUxLjMtNTEuMy0xMDQtMTA0TDMwOCA2NS41QzMzNC41IDM5IDM0OS40IDI0LjEgMzUyLjkgMjAuNiAzNjYuNCA3IDM4NC44LS42IDQwNC0uNlM0NDEuNiA3IDQ1NS4xIDIwLjZsMzUuNyAzNS43QzUwNC40IDY5LjkgNTEyIDg4LjMgNTEyIDEwNy40cy03LjYgMzcuNi0yMS4yIDUxLjFjLTMuNSAzLjUtMTguNCAxOC40LTQ0LjkgNDQuOXoiXX0sUEZ0PWU4ZSxJRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXdhbGtpbmctYXJyb3ctbG9vcC1sZWZ0IixpY29uOls2NDAsNTEyLFtdLCJlNTUxIiwiTTE2MCA4MGE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnpNNzMuNCAyMjcuOWwyMi42LTIyLjYgMCA2OS4zYzAgMjggMTIuMiA1NC43IDMzLjUgNzIuOWw3MS40IDYxLjJjNS45IDUuMSA5LjggMTIuMSAxMC45IDE5LjhsMTIuNiA4OC4xYzIuNSAxNy41IDE4LjcgMjkuNyAzNi4yIDI3LjJzMjkuNy0xOC43IDI3LjItMzYuMmwtMTIuNi04OC4xYy0zLjMtMjMuMS0xNC45LTQ0LjEtMzIuNi01OS4zbC0zNC41LTI5LjYgMC0xMTUuMiAzLjggNC43YzE4LjIgMjIuOCA0NS44IDM2IDc1IDM2bDMzLjIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzMuMiAwYy05LjcgMC0xOC45LTQuNC0yNS0xMmwtMTcuOS0yMi40Yy0yMy0yOC44LTU3LjktNDUuNi05NC44LTQ1LjYtMzIuMiAwLTYzLjEgMTIuOC04NS44IDM1LjZMMjguMSAxODIuNkMxMC4xIDIwMC42IDAgMjI1IDAgMjUwLjVMMCAyODhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM3LjVjMC04LjUgMy40LTE2LjYgOS40LTIyLjZ6TTg1LjggNDA3LjNjLTEuNSA1LjItNC4zIDEwLTguMSAxMy44TDkuNCA0ODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw2OC4zLTY4LjNjMTEuNS0xMS41IDE5LjktMjUuOCAyNC40LTQxLjVsMi4yLTcuNi00Ni0zOS40Yy0yLjUtMi4yLTUtNC40LTcuNC02LjhMODUuOCA0MDcuM3pNMzU5IDMzNWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0zMS0zMSAxMDIuMSAwYzEuMiAwIDIuNC0uMSAzLjUtLjMgNTYuMS0zLjkgMTAwLjUtNTAuNiAxMDAuNS0xMDcuNyAwLTU5LjYtNDguNC0xMDgtMTA4LTEwOGwtOTIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw5MiAwYzMzLjEgMCA2MCAyNi45IDYwIDYwcy0yNi45IDYwLTYwIDYwbC05OC4xIDAgMzEtMzFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNzIgNzJ6Il19LE5GdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWNlLXNpeCIsaWNvbjpbNDQ4LDUxMixbOTg2MV0sImY1MjYiLCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTE2MCA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0xMjggMjg4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMzIgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzIwIDE5MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTMyIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTMyMCAzODRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSx0OGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5nbGVzLWRvd24iLGljb246WzM4NCw1MTIsWyJhbmdsZS1kb3VibGUtZG93biJdLCJmMTAzIiwiTTIxNC42IDQ3MC42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtMTYwLTE2MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEwxOTIgNDAyLjcgMzI5LjQgMjY1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtMTYwIDE2MHptMTYwLTM1MmwtMTYwIDE2MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTE2MC0xNjBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMMTkyIDIxMC43IDMyOS40IDczLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3oiXX0sUkZ0PXQ4ZSxPRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3lyaW5nZSIsaWNvbjpbNTc2LDUxMixbMTI4MTM3XSwiZjQ4ZSIsIk00OTcuNS0xN2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwxNSAxNS00Ni4xIDQ2LjEtNjMtNjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNyA3LTc4LjEgNzguMSA0MSA0MWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00MS00MS00Ni4xIDQ2LjEgNDEgNDFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDEtNDEtMzcuNyAzNy43Yy0xMC41IDEwLjUtMTYuNCAyNC43LTE2LjQgMzkuNmwwIDg4LjgtNTcgNTdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw1Ny01NyA4OC44IDBjMTQuOSAwIDI5LjEtNS45IDM5LjYtMTYuNGwyMjkuNy0yMjkuNyA3IDdjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC02My02MyA0Ni4xLTQ2LjEgMTUgMTVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC02NC02NHoiXX0sYThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndoZWF0LWF3biIsaWNvbjpbNTc2LDUxMixbIndoZWF0LWFsdCJdLCJlMmNkIiwiTTc5LjcgMjM0LjZjNi4yLTQuMSAxNC43LTMuNCAyMC4xIDIuMWw0Ni4xIDQ2LjEgNi4xIDYuN2MxOS43IDIzLjggMjYuMyA1NSAxOS4yIDgzLjkgMzEuNy03LjcgNjYuMiAxIDkwLjYgMjUuM2w0Ni4xIDQ2LjFjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTcuNCA3LjRjLTM3LjUgMzcuNS05OC4zIDM3LjUtMTM1LjggMEwxMzQuMSA0NDQuMyA0OS40IDUyOWMtOS40IDkuNC0yNC41IDkuNC0zMy45IDAtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsODQuNy04NC43LTMwLjUtMzAuNWMtMzcuNS0zNy41LTM3LjUtOTguMyAwLTEzNS43bDcuNC03LjQgMi41LTIuMXptMTA0LTEwNGM2LjItNC4xIDE0LjctMy40IDIwLjEgMi4xbDQ2LjEgNDYuMSA2LjEgNi43YzE5LjcgMjMuOCAyNi4zIDU1IDE5LjIgODMuOSAzMS43LTcuNyA2Ni4yIDEgOTAuNiAyNS4zbDQ2LjEgNDYuMWM2LjIgNi4yIDYuMiAxNi40IDAgMjIuNmwtNy40IDcuNGMtMzcuNSAzNy41LTk4LjMgMzcuNS0xMzUuOCAwbC05NC45LTk0LjljLTM3LjUtMzcuNS0zNy41LTk4LjMgMC0xMzUuN2w3LjQtNy40IDIuNS0yLjF6TTQ5NS4yIDE1YzkuNC05LjQgMjQuNi05LjQgMzQgMCA4LjggOC44IDkuMyAyMi43IDEuNiAzMi4yTDUyOS4yIDQ5IDQxNC43IDE2My40YzcuNyAxIDE1LjIgMyAyMi41IDUuOUw0OTUuNSAxMTFjOS40LTkuNCAyNC42LTkuNCAzNCAwIDguOCA4LjggOS4zIDIyLjcgMS42IDMyLjFsLTEuNyAxLjgtNTIuNyA1Mi43IDM5IDM5YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC03LjQgNy40Yy0zNy41IDM3LjUtOTguMyAzNy41LTEzNS44IDBsLTk0LjktOTQuOWMtMzcuNS0zNy41LTM3LjUtOTguMyAwLTEzNS43bDcuNC03LjQgMi41LTIuMWM2LjItNC4xIDE0LjctMy40IDIwLjEgMi4xbDM5IDM5IDUyLjctNTIuN2M5LjQtOS40IDI0LjYtOS40IDM0IDAgOC44IDguOCA5LjMgMjIuNyAxLjYgMzIuMWwtMS43IDEuOC01OC4zIDU4LjNjMi44IDcuMSA0LjcgMTQuNSA1LjcgMjIuMUw0OTUuMiAxNXoiXX0sRkZ0PWE4ZSxCRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhbmUtdXAiLGljb246WzUxMiw1MTIsW10sImUyMmQiLCJNMjAwIDI0YzAtMzAuOSAyNS4xLTU2IDU2LTU2czU2IDI1LjEgNTYgNTZsMCAxMjcuMyAxNzMuNiAxNTkuMmM2LjYgNi4xIDEwLjQgMTQuNiAxMC40IDIzLjZsMCA0My43YzAgMTAuOS0xMC43IDE4LjYtMjEuMSAxNS4ybC0xNjIuOS01NC4zIDAgOTkuNyA2NiA1Mi44YzMuOCAzIDYgNy42IDYgMTIuNWwwIDE5LjhjMCAxMC40LTkuOCAxOC0xOS45IDE1LjVMMjU2IDUxMiAxNDcuOSA1MzljLTEwLjEgMi41LTE5LjktNS4xLTE5LjktMTUuNWwwLTE5LjhjMC00LjkgMi4yLTkuNSA2LTEyLjVsNjYtNTIuOCAwLTk5LjctMTYyLjkgNTQuM0MyNi43IDM5Ni40IDE2IDM4OC43IDE2IDM3Ny44bDAtNDMuN2MwLTkgMy44LTE3LjUgMTAuNC0yMy42TDIwMCAxNTEuMyAyMDAgMjR6Il19LEhGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbGlnbi1jZW50ZXIiLGljb246WzQ0OCw1MTIsW10sImYwMzciLCJNMzUyIDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDEyOCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnptOTYgMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnpNMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMzUyIDMyMGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTkyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6Il19LHFGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob2NrZXktcHVjayIsaWNvbjpbNTEyLDUxMixbXSwiZjQ1MyIsIk0yNTYgMjU2QzExNC42IDI1NiAwIDIxMyAwIDE2MHMxMTQuNi05NiAyNTYtOTYgMjU2IDQzIDI1NiA5Ni0xMTQuNiA5Ni0yNTYgOTZ6TTAgMzUyTDAgMjQyLjdjMTYuOSAxMi4zIDM3IDIyLjIgNTguMSAzMC4xIDUzIDE5LjkgMTIzIDMxLjIgMTk3LjkgMzEuMnMxNDQuOS0xMS4zIDE5Ny45LTMxLjJjMjEuMi03LjkgNDEuMi0xNy44IDU4LjEtMzAuMUw1MTIgMzUyYzAgNTMtMTE0LjYgOTYtMjU2IDk2UzAgNDA1IDAgMzUyeiJdfSxyOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWFycm93LWxlZnQiLGljb246WzUxMiw1MTIsWyJhcnJvdy1jaXJjbGUtbGVmdCJdLCJmMGE4IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xMzUgMjM5bDgwLTgwYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtMzkgMzkgMTUwLjEgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTUwLjEgMCAzOSAzOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC04MC04MGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6Il19LFZGdD1yOGUsakZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsdWctY2lyY2xlLWJvbHQiLGljb246WzY0MCw1MTIsW10sImU1NWIiLCJNMTkyLTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTYgMTI4IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgOTYgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDQ4LjdjLTk4LjYgOC4xLTE3NiA5MC43LTE3NiAxOTEuMyAwIDI3LjMgNS43IDUzLjMgMTYgNzYuOWwwIDMuMWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY2LjdDMTY1LjIgMzk4LjEgOTYgMzE5LjEgOTYgMjI0bDAtNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzc4LjMgOTYgOTYgOTZsNjQgMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0zNTIgNDAwYTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTE3Ny40LTc3Yy01LjgtNC4yLTEzLjgtNC0xOS40IC41bC04MCA2NGMtNS4zIDQuMi03LjQgMTEuNC01LjEgMTcuOFM0MzMuMiA0MTYgNDQwIDQxNmwzMi45IDAtMTUuOSA0Mi40Yy0yLjUgNi43LS4yIDE0LjMgNS42IDE4LjZzMTMuOCA0IDE5LjQtLjVsODAtNjRjNS4zLTQuMiA3LjQtMTEuNCA1LjEtMTcuOFM1NTguOCAzODQgNTUyIDM4NGwtMzIuOSAwIDE1LjktNDIuNGMyLjUtNi43IC4yLTE0LjMtNS42LTE4LjZ6Il19LFVGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZXN0cm9vbSIsaWNvbjpbNjQwLDUxMixbXSwiZjdiZCIsIk04MCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00MCAzMDRsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNTQuOGMtOC4xIDkuMi0yMS4xIDEzLjItMzMuNSA5LjQtMTYuOS01LjMtMjYuMy0yMy4yLTIxLTQwLjFsMjkuNy05NS4yQzQ0LjQgMTU2LjkgODMuNiAxMjggMTI4IDEyOHM4My42IDI4LjkgOTYuOCA3MS4ybDI5LjcgOTUuMmM1LjMgMTYuOS00LjEgMzQuOC0yMSA0MC4xLTEyLjQgMy45LTI1LjQtLjItMzMuNS05LjRMMjAwIDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOC0xNiAwek0zMjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQ2NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNNDY0IDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTQ0MCA0ODBsMC05Ni0xNy44IDBjLTEwLjkgMC0xOC42LTEwLjctMTUuMi0yMS4xbDktMjYuOWMtMy4yIDAtNi40LS41LTkuNS0xLjUtMTYuOS01LjMtMjYuMy0yMy4yLTIxLTQwLjFsMjkuNy05NS4yQzQyOC40IDE1Ni45IDQ2Ny42IDEyOCA1MTIgMTI4czgzLjYgMjguOSA5Ni44IDcxLjJsMjkuNyA5NS4yYzUuMyAxNi45LTQuMSAzNC44LTIxIDQwLjEtMy4yIDEtNi40IDEuNS05LjUgMS41bDkgMjYuOWMzLjUgMTAuNC00LjMgMjEuMS0xNS4yIDIxLjFsLTE3LjggMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTYtMTYgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyeiJdfSxXRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5jaG9yLWxvY2siLGljb246WzY0MCw1MTIsW10sImU0YWQiLCJNMzIwLjUgOTZhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHptLTMyLTk2Yy01MyAwLTk2IDQzLTk2IDk2IDAgNDEuOCAyNi43IDc3LjQgNjQgOTAuNWwwIDI1Ny45Yy02Mi45LTE0LjMtMTEwLjItNjkuNy0xMTEuOS0xMzYuNWwxNi4xIDE0LjFjMTAgOC43IDI1LjEgNy43IDMzLjktMi4zczcuNy0yNS4xLTIuMy0zMy45bC02NC01NmMtOS03LjktMjIuNi03LjktMzEuNiAwbC02NCA1NmMtMTAgOC43LTExIDIzLjktMi4zIDMzLjlzMjMuOSAxMSAzMy45IDIuM2wxNi4yLTE0LjJjMi4xIDExMy4xIDk0LjQgMjA0LjEgMjA4IDIwNC4xIDI4LjMgMCA1NS40LTUuNyA4MC0xNS45bDAtLjIgMC03Mi4yYy0xNC40IDkuNi0zMC42IDE2LjctNDggMjAuN2wwLTI1Ny45YzM3LjMtMTMuMiA2NC00OC43IDY0LTkwLjUgMC01My00My05Ni05Ni05NnptMjcyIDMwNC4xbDAgNDcuOS02NCAwIDAtNDcuOWMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyek00MTYuNSA0MDBsMCA5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMjggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTk2YzAtMjAuOS0xMy40LTM4LjctMzItNDUuM2wwLTUwLjZjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBsMCA1MC42Yy0xOC42IDYuNi0zMiAyNC40LTMyIDQ1LjN6Il19LEdGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0aW1lbGluZSIsaWNvbjpbNTc2LDUxMixbXSwiZTI5YyIsIk0xNjAgMTY5LjNjMjguMy0xMi4zIDQ4LTQwLjUgNDgtNzMuMyAwLTQ0LjItMzUuOC04MC04MC04MFM0OCA1MS44IDQ4IDk2YzAgMzIuOCAxOS43IDYxIDQ4IDczLjNsMCA1NC43LTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjI0IDAgMCA1NC43Yy0yOC4zIDEyLjMtNDggNDAuNS00OCA3My4zIDAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0zMi44LTE5LjctNjEtNDgtNzMuM2wwLTU0LjcgMjI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAgMC01NC43YzI4LjMtMTIuMyA0OC00MC41IDQ4LTczLjMgMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBjMCAzMi44IDE5LjcgNjEgNDggNzMuM2wwIDU0LjctMjU2IDAgMC01NC43eiJdfSxZRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGlnaHRidWxiIixpY29uOlszODQsNTEyLFsxMjgxNjFdLCJmMGViIiwiTTI5Mi45IDM4NGM3LjMtMjIuMyAyMS45LTQyLjUgMzguNC01OS45IDMyLjctMzQuNCA1Mi43LTgwLjkgNTIuNy0xMzIuMSAwLTEwNi04Ni0xOTItMTkyLTE5MlMwIDg2IDAgMTkyYzAgNTEuMiAyMCA5Ny43IDUyLjcgMTMyLjEgMTYuNSAxNy40IDMxLjIgMzcuNiAzOC40IDU5LjlsMjAxLjcgMHpNMjg4IDQzMmwtMTkyIDAgMCAxNmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwzMiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDAtMTZ6TTE4NCAxMTJjLTM5LjggMC03MiAzMi4yLTcyIDcyIDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNjYuMyA1My43LTEyMCAxMjAtMTIwIDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0eiJdfSxzOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWFycm93LXJpZ2h0IixpY29uOls1MTIsNTEyLFsiYXJyb3ctY2lyY2xlLXJpZ2h0Il0sImYwYTkiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTQxLTE1OWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzOS0zOS0xNTAuMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE1MC4xIDAtMzktMzljLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw4MCA4MGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtODAgODB6Il19LEtGdD1zOGUsWkZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcnMtYW5kLXZlbnVzIixpY29uOls1MTIsNTEyLFs5ODkzXSwiZjIyNCIsIk0zNjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxMTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDExMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTM0LjctNjMgNjNjMTkuNSAyOC40IDMxIDYyLjcgMzEgOTkuOCAwIDg2LjMtNjIuMSAxNTguMS0xNDQgMTczLjFsMCAzNC45IDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTM0LjljLTgxLjktMTUtMTQ0LTg2LjgtMTQ0LTE3My4xIDAtOTcuMiA3OC44LTE3NiAxNzYtMTc2IDM3IDAgNzEuNCAxMS40IDk5LjggMzFsNjMtNjMtMzQuNyAwek0zNTIgMjA4YTExMiAxMTIgMCAxIDAgLTIyNCAwIDExMiAxMTIgMCAxIDAgMjI0IDB6Il19LE50ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJuZXR3b3JrLXdpcmVkIixpY29uOls1NzYsNTEyLFtdLCJmNmZmIiwiTTI0OCA4OGw4MCAwIDAgNDgtODAgMCAwLTQ4em0tOC01NmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxNiAwIDAgMzItMjI0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYgMCAwIDMyLTE2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjRjMCAyNi41IDIxLjUgNDggNDggNDhsOTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTY0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0xNiAwIDAtMzIgMTkyIDAgMCAzMi0xNiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDk2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02NGMwLTI2LjUtMjEuNS00OC00OC00OGwtMTYgMCAwLTMyIDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTIyNCAwIDAtMzIgMTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTY0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC05NiAwek00NDggMzc2bDggMCAwIDQ4LTgwIDAgMC00OCA3MiAwem0tMjU2IDBsOCAwIDAgNDgtODAgMCAwLTQ4IDcyIDB6Il19LFhGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy1zaGllbGQiLGljb246WzU3Niw1MTIsW10sImU0ZDgiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMDEuMiAwYy0xMi41LTE0LjctMjMuMi0zMC44LTMxLjgtNDhsLTg5LjUgMCAwLTgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDAgMC0yNi43YzAtMTguMSA2LjEtMzUuMiAxNi42LTQ4LjgtLjQtMS40LS42LTIuOS0uNi00LjVsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxIDg2LjctMjguOWMzLjEtMSA2LjItMS44IDkuMy0yLjVMNDE2IDY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDk2IDB6bTMyIDExMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNzIgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNMTI4IDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek00NDUuMyA0ODguNWwtMTMuMyA2LjMgMC0xODguMSA5NiAzMiAwIDE5LjZjMCA1NS44LTMyLjIgMTA2LjUtODIuNyAxMzAuM3pNNDIxLjkgMjU5LjVsLTExMiAzNy4zYy0xMy4xIDQuNC0yMS45IDE2LjYtMjEuOSAzMC40bDAgMzEuMWMwIDc0LjQgNDMgMTQyLjEgMTEwLjIgMTczLjdsMTguNSA4LjdjNC44IDIuMiAxMCAzLjQgMTUuMiAzLjRzMTAuNS0xLjIgMTUuMi0zLjRsMTguNS04LjdDNTMzIDUwMC4zIDU3NiA0MzIuNiA1NzYgMzU4LjJsMC0zMS4xYzAtMTMuOC04LjgtMjYtMjEuOS0zMC40bC0xMTItMzcuM2MtNi42LTIuMi0xMy43LTIuMi0yMC4yIDB6Il19LFFGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2RlIixpY29uOls1NzYsNTEyLFtdLCJmMTIxIiwiTTM2MC44IDEuMmMtMTctNC45LTM0LjcgNS0zOS42IDIybC0xMjggNDQ4Yy00LjkgMTcgNSAzNC43IDIyIDM5LjZzMzQuNy01IDM5LjYtMjJsMTI4LTQ0OGM0LjktMTctNS0zNC43LTIyLTM5LjZ6bTY0LjYgMTM2LjFjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDczLjQgNzMuNC03My40IDczLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsOTYtOTZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTI3NC43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsOTYgOTZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0w3Ny4zIDI1NiAxNTAuNiAxODIuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3oiXX0saThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZlYXRoZXItcG9pbnRlZCIsaWNvbjpbNTEyLDUxMixbImZlYXRoZXItYWx0Il0sImY1NmIiLCJNNDc1LjMgLjFjOS45LS44IDE5LjYgMyAyNi42IDEwczEwLjggMTYuNyAxMCAyNi42Yy00IDQ5LjMtMTcuNCAxMjYuMi00Ni4zIDE5OS43LTEuOCA0LjUtNS41IDcuOS0xMC4yIDkuM0wzNzQuNSAyNzBjLTMuOSAxLjItNi41IDQuNy02LjUgOC44IDAgNS4xIDQuMSA5LjIgOS4yIDkuMmwzOC42IDBjMTIgMCAxOS43IDEyLjggMTMuNSAyMy4xLTQgNi43LTguMyAxMy4yLTEyLjcgMTkuNi0yIDIuOS01IDUtOC40IDYuMUwzMTAuNSAzNjZjLTMuOSAxLjItNi41IDQuNy02LjUgOC44IDAgNS4xIDQuMSA5LjIgOS4yIDkuMmwxNiAwYzE0LjYgMCAyMSAxNy40IDguOCAyNS40LTY4IDQ1LTEzNy43IDQzLjMtMTgyLjQgMzEuMy0xMi43LTMuNC0yNC05LjktMzQuNC0xNy45TDQ4IDQ5NmMtOC44IDguOC0yMy4yIDguOC0zMiAwcy04LjgtMjMuMiAwLTMybDgwLTgwIC41IC41Yy43LTEuMyAxLjYtMi41IDIuNy0zLjZMMjU2IDIyNGM4LjgtOC44IDguOC0yMy4yIDAtMzJzLTIzLjItOC44LTMyIDBMODkuNyAzMjYuMmMtOC45IDguOS0yNCA0LjQtMjUtOC4yLTQuMy01My4yIDkuMy0xMjMuMSA3Mi42LTE4Ni40IDkxLjEtOTEuMSAyNTQuMi0xMjQuNyAzMzcuOS0xMzEuNXoiXX0sSkZ0PWk4ZSxlQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1jaXJjbGUtcXVlc3Rpb24iLGljb246WzU3Niw1MTIsW10sImU0ZWYiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODAgMGMtMjIuNy0zMS41LTM2LTcwLjItMzYtMTEyIDAtMTAwLjYgNzcuNC0xODMuMiAxNzYtMTkxLjNsMC0zOC4xYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI5MC43IDE4LjdDMjc4LjcgNi43IDI2Mi41IDAgMjQ1LjUgMEw5NiAwek0zNTcuNSAxNzZMMjY0IDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjQwIDU4LjUgMzU3LjUgMTc2ek00MzIgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTEwMGMtMTEuNiAwLTIxLjMgOC4yLTIzLjUgMTkuMi0xLjggOC43LTEwLjIgMTQuMy0xOC45IDEyLjVzLTE0LjMtMTAuMi0xMi41LTE4LjljNS4yLTI1LjYgMjcuOC00NC44IDU0LjktNDQuOCAzMC45IDAgNTYgMjUuMSA1NiA1NiAwIDE5LjgtMTEuNyAzNy44LTI5LjggNDUuOWwtMTAuNCA0LjZjLTEuMiA3LjctNy44IDEzLjUtMTUuOCAxMy41LTguOCAwLTE2LTcuMi0xNi0xNiAwLTExLjIgNi42LTIxLjMgMTYuOC0yNS45bDEyLjQtNS41YzYuNi0yLjkgMTAuOC05LjQgMTAuOC0xNi42IDAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSx0QnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2lnbmF0dXJlIixpY29uOls2NDAsNTEyLFtdLCJmNWI3IiwiTTE5MiAxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDcuOGMwIDI3LjctMi40IDU1LjMtNy4xIDgyLjVsLTg0LjQgMjUuM2MtNDAuNiAxMi4yLTY4LjQgNDkuNi02OC40IDkybDAgMzIuNC03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDcyLjUgMGM0LjIgMzYgMzQuOCA2NCA3MiA2NCAyNiAwIDUwLTEzLjkgNjIuOS0zNi41bDEzLjktMjQuM2MyNi44LTQ3IDQ2LjUtOTcuNyA1OC40LTE1MC41bDk0LjQtMjguMy0xMi41IDM3LjVjLTMuMyA5LjgtMS42IDIwLjUgNC40IDI4LjhTNDA1LjcgMzIwIDQxNiAzMjBsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTgzLjYgMCAxOC01My45YzMuOC0xMS4zIC45LTIzLjgtNy40LTMyLjRzLTIwLjctMTEuOC0zMi4yLTguNEwzMTYuNCAxOTguMWMyLjQtMjAuNyAzLjYtNDEuNCAzLjYtNjIuM2wwLTcuOGMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMnptLTkuMiAxNzdsNDktMTQuN2MtMTAuNCAzMy44LTI0LjUgNjYuNC00Mi4xIDk3LjJsLTEzLjkgMjQuM2MtMS41IDIuNi00LjMgNC4zLTcuNCA0LjMtNC43IDAtOC41LTMuOC04LjUtOC41bDAtNzEuOWMwLTE0LjEgOS4zLTI2LjYgMjIuOC0zMC43ek02MTYgNDE2YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yOTIuOSAwYy02LjUgMTYuMy0xMy43IDMyLjMtMjEuNiA0OEw2MTYgNDE2eiJdfSxXYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlYXJ0aC1hbWVyaWNhcyIsaWNvbjpbNTEyLDUxMixbMTI3NzU4LCJlYXJ0aCIsImVhcnRoLWFtZXJpY2EiLCJnbG9iZS1hbWVyaWNhcyJdLCJmNTdkIiwiTTU1LjcgMTk5LjdsMzAuOSAzMC45YzYgNiAxNC4xIDkuNCAyMi42IDkuNGwyMS41IDBjOC41IDAgMTYuNiAzLjQgMjIuNiA5LjRsMjkuMyAyOS4zYzYgNiA5LjQgMTQuMSA5LjQgMjIuNmwwIDM3LjVjMCA4LjUgMy40IDE2LjYgOS40IDIyLjZsMTMuMyAxMy4zYzYgNiA5LjQgMTQuMSA5LjQgMjIuNmwwIDE4LjdjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIuN2MwLTguNSAzLjQtMTYuNiA5LjQtMjIuNmw0NS4zLTQ1LjNjNi02IDkuNC0xNC4xIDkuNC0yMi42bDAtMzQuN2MwLTE3LjctMTQuMy0zMi0zMi0zMmwtODIuNyAwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNGwtMTYtMTZjLTQuMi00LjItNi42LTEwLTYuNi0xNiAwLTEyLjUgMTAuMS0yMi42IDIyLjYtMjIuNmwzNC43IDBjMTIuNSAwIDIyLjYtMTAuMSAyMi42LTIyLjYgMC02LTIuNC0xMS44LTYuNi0xNmwtMTkuNy0xOS43QzI0MiAxMzAgMjQwIDEyNS4xIDI0MCAxMjBzMi0xMCA1LjctMTMuN2wxNy4zLTE3LjNjNS44LTUuOCA5LjEtMTMuNyA5LjEtMjEuOSAwLTcuMi0yLjQtMTMuNy02LjQtMTguOS0zLjItLjEtNi40LS4yLTkuNi0uMi05NS40IDAtMTc1LjcgNjQuMi0yMDAuMyAxNTEuN3pNNDY0IDI1NmMwLTM0LjYtOC40LTY3LjItMjMuNC05NS44LTYuNCAuOS0xMi43IDMuOS0xNy45IDkuMWwtMTMuNCAxMy40Yy02IDYtOS40IDE0LjEtOS40IDIyLjZsMCAzNC43YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI0LjEgMGMyLjUgMCA1LS4zIDcuMy0uOCAuNC01IC41LTEwLjEgLjUtMTUuMnpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHoiXX0sYUJ0PVdiLHJCdD1XYixzQnQ9V2IsaUJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcnJvdCIsaWNvbjpbNjQwLDUxMixbMTI5MzY1XSwiZjc4NyIsIk00NTMuMS0zNi43TDQ0MC45LTI0LjZjLTMxLjIgMzEuMi0zMS4yIDgxLjkgMCAxMTMuMSAxNS42IDE1LjYgMzEuMiAzMS4yIDQ2LjkgNDYuOSAzMS4yIDMxLjIgODEuOSAzMS4yIDExMy4xIDBsMTIuMS0xMi4xYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42TDYwMC45IDg4LjZjLTMxLjItMzEuMi04MS45LTMxLjItMTEzLjEgMCAzMS4yLTMxLjIgMzEuMi04MS45IDAtMTEzLjFMNDc1LjctMzYuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDB6TTMzMS42IDk2Yy00NS4yIDAtODcuMSAyMC40LTExNSA1NC4zTDI3My4zIDIwN2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDE5MS42IDE5My4yIDY3LjIgNDY2LjhjLTUuNSAxMi4xLTIuOSAyNi40IDYuNSAzNS45czIzLjcgMTIgMzUuOSA2LjVsMTQxLjYtNjQuNC00My44LTQzLjhjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw1Ni41IDU2LjUgOTUuMy00My4zYzUzLjEtMjQuMSA4Ny4yLTc3LjEgODcuMi0xMzUuNSAwLTgyLjItNjYuNi0xNDguOC0xNDguOC0xNDguOHoiXX0sR2I9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVtcGVyYXR1cmUtZnVsbCIsaWNvbjpbMzIwLDUxMixbInRlbXBlcmF0dXJlLTQiLCJ0aGVybW9tZXRlci00IiwidGhlcm1vbWV0ZXItZnVsbCJdLCJmMmM3IiwiTTE2MCAwQzEwNyAwIDY0IDQzIDY0IDk2bDAgMTY0LjdDMzQuNSAyODcgMTYgMzI1LjQgMTYgMzY4IDE2IDQ0Ny41IDgwLjUgNTEyIDE2MCA1MTJzMTQ0LTY0LjUgMTQ0LTE0NGMwLTQyLjYtMTguNS04MS00OC0xMDcuM0wyNTYgOTZjMC01My00My05Ni05Ni05NnptNjQgMzY4YzAgMzUuMy0yOC43IDY0LTY0IDY0cy02NC0yOC43LTY0LTY0YzAtMjYuOSAxNi41LTQ5LjkgNDAtNTkuM0wxMzYgOTZjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDIxMi43YzIzLjUgOS41IDQwIDMyLjUgNDAgNTkuM3oiXX0sb0J0PUdiLG5CdD1HYixsQnQ9R2IsY0J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhYmxlLWNlbGxzLXJvdy1sb2NrIixpY29uOls2NDAsNTEyLFtdLCJlNjdhIiwiTTI1NiAyODhsMC02NCAxNTMuMyAwYzE3LjEtNDIuMiA1Ni03My4yIDEwMi43LTc5bDAtNDljMC0zNS4zLTI4LjctNjQtNjQtNjRMMTI4IDMyQzkyLjcgMzIgNjQgNjAuNyA2NCA5NmwwIDMyMGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNDEuMyAwYy0uOS01LjItMS4zLTEwLjYtMS4zLTE2LjFsMC00Ny45LTExMiAwIDAtNjQgMTEzLjMgMGMzLjctMjIgMTQuOC00MS40IDMwLjctNTUuNmwwLTguNC0xNDQgMHptMC0xOTJsMTkyIDAgMCA2NC0xOTIgMCAwLTY0ek01NjAgMjcyLjFsMCA0Ny45LTY0IDAgMC00Ny45YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6TTQxNiAzNjhsMCA5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMjggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTk2YzAtMjAuOS0xMy40LTM4LjctMzItNDUuM2wwLTUwLjZjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBsMCA1MC42Yy0xOC42IDYuNi0zMiAyNC40LTMyIDQ1LjN6Il19LGRCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib2x0LWxpZ2h0bmluZyIsaWNvbjpbMzg0LDUxMixbXSwiZTBiNyIsIk0wIDI1NkwyOC41IDI4YzItMTYgMTUuNi0yOCAzMS44LTI4TDIyOC45IDBjMTUgMCAyNy4xIDEyLjEgMjcuMSAyNy4xIDAgMy4yLS42IDYuNS0xLjcgOS41TDIwOCAxNjAgMzQ3LjMgMTYwYzIwLjIgMCAzNi43IDE2LjQgMzYuNyAzNi43IDAgNy40LTIuMiAxNC42LTYuNCAyMC43bC0xOTIuMiAyODFjLTUuOSA4LjYtMTUuNiAxMy43LTI1LjkgMTMuN2wtMi45IDBjLTE1LjcgMC0yOC41LTEyLjgtMjguNS0yOC41IDAtMi4zIC4zLTQuNiAuOS02LjlMMTc2IDI4OCAzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSx1QnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQtc2hvd2Vycy13YXRlciIsaWNvbjpbNTEyLDUxMixbXSwiZTRlNCIsIk0yNzkuMiA1NS43QzI2My45IDIyLjggMjMwLjYgMCAxOTIgMCAxMzkgMCA5NiA0MyA5NiA5NiA2MC43IDk2IDMyIDEyNC43IDMyIDE2MHMyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0cy0yOC43LTY0LTY0LTY0bC0xLjYgMGMtNy40LTM2LjUtMzkuNy02NC03OC40LTY0LTIyLjIgMC00Mi4zIDkuMS01Ni44IDIzLjd6TTQxMC42IDQ3Ni4xYzIwLjcgMTUuNiA0NiAzMC43IDc0LjIgMzQuNSAxMy4xIDEuOCAyNS4yLTcuNSAyNy0yMC42cy03LjUtMjUuMi0yMC42LTI3Yy0xNS45LTIuMS0zMy4yLTExLjMtNTEuNy0yNS4yLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yNCAxOC4xLTQwLjcgMjYuMy01NC41IDI2LjNzLTMwLjUtOC4yLTU0LjUtMjYuM2MtMzguNC0yOS05MC41LTI5LTEyOSAwLTE4LjUgMTMuOS0zNS44IDIzLjEtNTEuNyAyNS4yLTEzLjEgMS44LTIyLjQgMTMuOC0yMC42IDI3czEzLjggMjIuNCAyNyAyMC42YzI4LjItMy44IDUzLjYtMTguOSA3NC4yLTM0LjUgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOWMyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMHpNMTAwLjEgMzAzLjZjNC4yLTEyLjYtMi42LTI2LjItMTUuMi0zMC40cy0yNi4yIDIuNi0zMC40IDE1LjJsLTIxLjMgNjRDMjkgMzY1IDM1LjggMzc4LjYgNDguNCAzODIuOHMyNi4yLTIuNiAzMC40LTE1LjJsMjEuMy02NHptMTIwIDBjNC4yLTEyLjYtMi42LTI2LjItMTUuMi0zMC40cy0yNi4yIDIuNi0zMC40IDE1LjJsLTIxLjMgNjRjLTQuMiAxMi42IDIuNiAyNi4yIDE1LjIgMzAuNHMyNi4yLTIuNiAzMC40LTE1LjJsMjEuMy02NHptMTEyIDBjNC4yLTEyLjYtMi42LTI2LjItMTUuMi0zMC40cy0yNi4yIDIuNi0zMC40IDE1LjJsLTIxLjMgNjRjLTQuMiAxMi42IDIuNiAyNi4yIDE1LjIgMzAuNHMyNi4yLTIuNiAzMC40LTE1LjJsMjEuMy02NHptMTIwIDBjNC4yLTEyLjYtMi42LTI2LjItMTUuMi0zMC40cy0yNi4yIDIuNi0zMC40IDE1LjJsLTIxLjMgNjRjLTQuMiAxMi42IDIuNiAyNi4yIDE1LjIgMzAuNHMyNi4yLTIuNiAzMC40LTE1LjJsMjEuMy02NHoiXX0sbzhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwLWxvbmciLGljb246WzMyMCw1MTIsWyJsb25nLWFycm93LXVwIl0sImYxNzYiLCJNMTgyLjYtMjIuNmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTEyOCAxMjhjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTI4IDc3LjMgMTI4IDUxMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNDM0LjcgNzMuNCA3My40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjh6Il19LHBCdD1vOGUsR2VlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFkZHJlc3MtY2FyZCIsaWNvbjpbNTc2LDUxMixbNjIxNDAsImNvbnRhY3QtY2FyZCIsInZjYXJkIl0sImYyYmIiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptODAgMjU2bDY0IDBjNDQuMiAwIDgwIDM1LjggODAgODAgMCA4LjgtNy4yIDE2LTE2IDE2TDgwIDM4NGMtOC44IDAtMTYtNy4yLTE2LTE2IDAtNDQuMiAzNS44LTgwIDgwLTgwem0tMjQtOTZhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwem0yNDAtNDhsMTEyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTExMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0wIDk2bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xMTIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sZkJ0PUdlZSxoQnQ9R2VlLG1CdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmdsZS1yaWdodCIsaWNvbjpbMjU2LDUxMixbODI1MF0sImYxMDUiLCJNMjQ3LjEgMjMzLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTE2MCAxNjBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDE3OS4yIDI1NiA0MS45IDExOC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDE2MCAxNjB6Il19LG44ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLW1laCIsaWNvbjpbNTEyLDUxMixbMTI4NTI4LCJtZWgiXSwiZjExYSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTc2IDE3NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEyOCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0xNzYgMzIwbDE2MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNjAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sZ0J0PW44ZSxiQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAtZnJvbS1ncm91bmQtd2F0ZXIiLGljb246WzY0MCw1MTIsW10sImU0YjUiLCJNMzAzIDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsODggODhjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDctNDcgMCAyNzguMWMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTI3OC4xLTQ3IDQ3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDMwMyA3ek0yNDAgMTkybDAgMTYzLjFjLTEwLjYtMi4yLTIxLjMtMy4yLTMyLTMuMS0zMi41IC4yLTY0LjkgMTAuNy05Mi4zIDMxLjQtOC44IDYuNi0xNS45IDEwLjktMjEuNyAxMy41bC0uOCAuNGMtMy43IDEuNy02LjQgMi45LTkuOCAuMy02LTQuNS0xMi42LTgtMTkuMy0xMC40TDY0IDI0MGMwLTI2LjUgMjEuNS00OCA0OC00OGwxMjggMHptMzM2IDQ4bDAgMTU1LjJjLTEuMSAuOC0yLjIgMS41LTMuMyAyLjQtNC4xIDMuMS04LjMgLjgtMTIuNi0xLjUtLjYtLjMtMS4yLS42LTEuOC0xLTUuMi0yLjctMTEuMS02LjYtMTgtMTEuNy0yOC4xLTIxLjEtNjEuMy0zMS42LTk0LjQtMzEuNC0xNS41IC4xLTMxIDIuNS00NiA3LjNsMC0xNjcuMyAxMjggMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNNDAzLjQgNDc2LjFDMzc5LjEgNDk0LjMgMzUxLjEgNTEyIDMyMCA1MTJzLTU5LjEtMTcuNy04My40LTM1LjljLTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAwLTIzLjggMTcuOS01NC4xIDM1LjUtODguMSAzNS4zLTIwLjQtLjEtNDAuNy02LjctNTkuOC0yMS4xLTEwLjYtOC0xMi43LTIzLTQuNy0zMy42czIzLTEyLjcgMzMuNi00LjdjMTEuMyA4LjUgMjEuNiAxMS40IDMxLjIgMTEuNSAxNy42IC4xIDM3LjMtOS40IDU4LjktMjUuNyAzOC40LTI5IDkwLjUtMjkgMTI5IDAgMjQgMTguMSA0MC43IDI2LjMgNTQuNSAyNi4zczMwLjUtOC4yIDU0LjUtMjYuM2MzOC40LTI5IDkwLjUtMjkgMTI5IDAgMTYuOSAxMi43IDMyLjkgMjEuNSA0Ny44IDI0LjYgMTMuNyAyLjggMjcuNCAuOSA0Mi4zLTEwLjMgMTAuNi04IDI1LjYtNS45IDMzLjYgNC43czUuOSAyNS42LTQuNyAzMy42Yy0yNi40IDE5LjktNTQuMiAyNC40LTgwLjcgMTkuMS0yNS4zLTUuMS00OC4xLTE4LjktNjcuMi0zMy4zLTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAweiJdfSx2QnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFwIixpY29uOls1MTIsNTEyLFsxMjg1MDYsNjIwNzJdLCJmMjc5IiwiTTUxMiA0OGMwLTExLjEtNS43LTIxLjQtMTUuMi0yNy4ycy0yMS4yLTYuNC0zMS4xLTEuNEwzNDkuNSA3Ny41IDE3MC4xIDE3LjZjLTguMS0yLjctMTYuOC0yLjEtMjQuNCAxLjdsLTEyOCA2NEM2LjggODguOCAwIDk5LjkgMCAxMTJMMCA0NjRjMCAxMS4xIDUuNyAyMS40IDE1LjIgMjcuMnMyMS4yIDYuNCAzMS4xIDEuNGwxMTYuMS01OC4xIDE3OS40IDU5LjhjOC4xIDIuNyAxNi44IDIuMSAyNC40LTEuN2wxMjgtNjRjMTAuOC01LjQgMTcuNy0xNi41IDE3LjctMjguNmwwLTM1MnpNMTkyIDM3Ni45bDAtMjg0LjUgMTI4IDQyLjcgMCAyODQuNS0xMjgtNDIuN3oiXX0seEJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItcGx1cyIsaWNvbjpbNjQwLDUxMixbXSwiZjIzNCIsIk0yODUuNyAzMDRjOTguNSAwIDE3OC4zIDc5LjggMTc4LjMgMTc4LjMgMCAxNi40LTEzLjMgMjkuNy0yOS43IDI5LjdMNzcuNyA1MTJDNjEuMyA1MTIgNDggNDk4LjcgNDggNDgyLjMgNDggMzgzLjggMTI3LjggMzA0IDIyNi4zIDMwNGw1OS40IDB6TTUyOCA4MGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4IDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDAgMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQ4LTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDggMCAwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0ek0yNTYgMjQ4YTEyMCAxMjAgMCAxIDEgMC0yNDAgMTIwIDEyMCAwIDEgMSAwIDI0MHoiXX0seUJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZlbnVzIixpY29uOlszODQsNTEyLFs5NzkyXSwiZjIyMSIsIk04MCAxNzZhMTEyIDExMiAwIDEgMSAyMjQgMCAxMTIgMTEyIDAgMSAxIC0yMjQgMHpNMjIzLjkgMzQ5LjFDMzA1LjkgMzM0LjEgMzY4IDI2Mi4zIDM2OCAxNzYgMzY4IDc4LjggMjg5LjIgMCAxOTIgMFMxNiA3OC44IDE2IDE3NmMwIDg2LjMgNjIuMSAxNTguMSAxNDQuMSAxNzMuMS0uMSAxLS4xIDEuOS0uMSAyLjlsMCA2NC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzIgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTY0YzAtMSAwLTEuOS0uMS0yLjl6Il19LHdCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWFncmFtLXN1Y2Nlc3NvciIsaWNvbjpbNDQ4LDUxMixbXSwiZTQ3YSIsIk0yODkuMiAxMzcuOWMyLjUtNiA4LjMtOS45IDE0LjgtOS45bDQwIDAgMC0yNGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtOTggMGMxLjMgNS4xIDIgMTAuNSAyIDE2bDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTk2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMjU2IDBjMzkuOCAwIDcyIDMyLjIgNzIgNzJsMCAyNCA0MCAwYzYuNSAwIDEyLjMgMy45IDE0LjggOS45czEuMSAxMi45LTMuNSAxNy40bC02NCA2NGMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTY0LTY0Yy00LjYtNC42LTUuOS0xMS41LTMuNS0xNy40ek0zODQgNDgwTDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NGMwLTM1LjMgMjguNy02NCA2NC02NGwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0ek0xNjAgMTYwbDAtNjQtOTYgMCAwIDY0IDk2IDB6Il19LE1CdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFkLXNpZGUtY291Z2gtc2xhc2giLGljb246WzU3Niw1MTIsW10sImUwNjIiLCJNNTM1LTI0LjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45TDQxIDUzNy4xYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDI1LTI1IDAtNDQ3LjJjMC0xNSAxMC41LTI4LjMgMjUuNC0yOS44IDcuNC0uNyAxNC45LTEuMSAyMi42LTEuMSAxMTIuNyAwIDIwNiA4My4zIDIyMS43IDE5MS43IC40IDMgMS43IDUuOSAzLjYgOC4zbDIuMiAyLjYgMjI3LjUtMjI3LjV6TTEzMy44IDUxMkwyODggMzU3LjggMjg4IDQxNmMwIDUzLTQzIDk2LTk2IDk2bC01OC4yIDB6TTE3NiAyMjRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0zMzYgNDBhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0tODggNzJhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptLTY0IDQ4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTEyOCAwYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTI0IDcyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptLTg4LTI0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6Il19LGw4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWFncmFtLXByb2plY3QiLGljb246WzUxMiw1MTIsWyJwcm9qZWN0LWRpYWdyYW0iXSwiZjU0MiIsIk0wIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNiAxMjggMCAwLTE2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtOTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNi0xMjggMCAwIDE2YzAgNy4zLTEuNyAxNC4zLTQuNiAyMC41bDY4LjYgOTEuNSA4MCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC03LjMgMS43LTE0LjMgNC42LTIwLjVMMTI4IDIyNCA0OCAyMjRjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODB6Il19LGtCdD1sOGUsUnRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlcm1pbmFsIixpY29uOls1MTIsNTEyLFtdLCJmMTIwIiwiTTkuNCAxMTguNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwxNjAgMTYwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0xNjAgMTYwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wxNDYuNyAyNTYgOS40IDExOC42ek0yMjQgMzg0bDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnoiXX0sU0J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWZpcmUiLGljb246WzY0MCw1MTIsW10sImU1MGMiLCJNNDQ4IDE5MmMxNC4xIC40IDIzLjggMTEuNCAzMi43IDIxLjcgMiAyLjMgNCA0LjYgNiA2LjdsMTkgMTkuOSAxMi4yLTEzLjhjNS40LTYuMSAxMy4zLTguOSAyMC45LTguOSA3LjIgMCAxNC4zIDIuNiAxOS45IDcuOCAxOS43IDE4LjMgMzkuOCA0My4yIDU1IDcwLjYgMTUuMSAyNy4yIDI2LjIgNTguMiAyNi4yIDg4LjIgMCA4OC43LTcxLjMgMTU5LjgtMTYwIDE1OS44LTg5LjYgMC0xNjAtNzEuMy0xNjAtMTU5LjggMC0zNy4zIDE2LTczLjQgMzYuOC0xMDQuNSAyMC45LTMxLjMgNDcuNS01OSA3MC45LTgwLjEgNS43LTUuMiAxMy4xLTcuNyAyMC4zLTcuNXpNMjY4LjYgNi41YzEyLjItOS4zIDI5LjctOC43IDQxLjIgMmwxNDcuNSAxMzdjLTE5LjItNC4zLTQwIC41LTU1LjUgMTQuNC0zNi40IDMyLjYtNjcuNyA2OS44LTkwLjMgMTA2LjQtMTAuMyAxNi42LTE5LjcgMzQuOS0yNi44IDUzLjdMMjcyIDMyMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NiA2NC42IDBjNy4zIDE3LjIgMTYuOCAzMy40IDI4LjIgNDhMMTQ0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNzYtMTYgMGMtMTMuMiAwLTI1LTguMS0yOS44LTIwLjNzLTEuNi0yNi4yIDgtMzUuMWwyMjQtMjA4IDIuNC0yek00ODkuMyAzNDMuN2MtNS40LTQuNy0xMy4xLTQuNy0xOC41IDAtMTcuNyAxNS40LTU0LjcgNTEuOS01NC43IDg4LjQgMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NGMwLTM2LjUtMzctNzMtNTQuNy04OC40eiJdfSx6QnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFzayIsaWNvbjpbNTc2LDUxMixbXSwiZjZmYSIsIk0yODggNjRDNjQgNjQgMCAxNjAgMCAyNzJTODAgNDQ4IDE3NiA0NDhsOC40IDBjMjQuMiAwIDQ2LjQtMTMuNyA1Ny4yLTM1LjRsMjMuMi00Ni4zYzQuNC04LjggMTMuMy0xNC4zIDIzLjItMTQuM3MxOC44IDUuNSAyMy4yIDE0LjNsMjMuMiA0Ni4zYzEwLjggMjEuNyAzMyAzNS40IDU3LjIgMzUuNGw4LjQgMGM5NiAwIDE3Ni02NCAxNzYtMTc2UzUxMiA2NCAyODggNjR6TTk2IDI1NmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6bTMyMC02NGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHoiXX0sQ0J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imh1cnJpY2FuZSIsaWNvbjpbMzg0LDUxMixbXSwiZjc1MSIsIk0wIDIwOEMwIDEwNC40IDc1LjcgMTguNSAxNzQuOSAyLjYgMTg0IDEuMiAxOTIgOC42IDE5MiAxNy45bDAgNjMuM2MwIDguNCA2LjUgMTUuMyAxNC43IDE2LjUgMTAwLjMgMTQuOSAxNzcuMyAxMDEuMyAxNzcuMyAyMDUuNyAwIDEwMy42LTc1LjcgMTg5LjUtMTc0LjkgMjA1LjQtOS4yIDEuNS0xNy4xLTUuOS0xNy4xLTE1LjJsMC02My4zQzE5MiA0MjEuOSAxODUuNSA0MTUgMTc3LjMgNDEzLjcgNzcgMzk4LjkgMCAzMTIuNCAwIDIwOHptMjg4IDQ4YTk2IDk2IDAgMSAwIC0xOTIgMCA5NiA5NiAwIDEgMCAxOTIgMHptLTk2LTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sYzhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVhcnRoLWFmcmljYSIsaWNvbjpbNTEyLDUxMixbMTI3NzU3LCJnbG9iZS1hZnJpY2EiXSwiZjU3YyIsIk00NDcuNiAxNzVjLTMxLjYtNzQuNi0xMDUuNS0xMjctMTkxLjYtMTI3LTIyLjEgMC00My40IDMuNS02My40IDkuOC0uNCAyLS42IDQuMS0uNiA2LjJsMCA3My40YzAgMTIuNSAxMC4xIDIyLjYgMjIuNiAyMi42IDYgMCAxMS44LTIuNCAxNi02LjZsMTYtMTZjNi02IDE0LjEtOS40IDIyLjYtOS40bDUuNSAwYzI4LjUgMCA0Mi44IDM0LjUgMjIuNiA1NC42LTYgNi0xNC4xIDkuNC0yMi42IDkuNGwtNjEuNSAwYy04LjUgMC0xNi42IDMuNC0yMi42IDkuNGwtMjEuMyAyMS4zYy02IDYtOS40IDE0LjEtOS40IDIyLjZsMCA0Mi43YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwyLjcgMGM4LjUgMCAxNi42LTMuNCAyMi42LTkuNGwyOS4zLTI5LjNjNi02IDkuNC0xNC4xIDkuNC0yMi42bDAtMTguN2MwLTguOCA3LjItMTYgMTYtMTZzMTYtNy4yIDE2LTE2bDAtMzQuN2MwLTguNS0zLjQtMTYuNi05LjQtMjIuNmwtMTYtMTZjLTQuMi00LjItNi42LTEwLTYuNi0xNiAwLTEyLjUgMTAuMS0yMi42IDIyLjYtMjIuNmw0NSAwYzEyLjQgMCAyMi43LTcuMSAyOC0xN3pNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHoiXX0sX0J0PWM4ZSxkOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGh1bWJ0YWNrIixpY29uOlszODQsNTEyLFsxMjgyMDQsMTI4MzkyLCJ0aHVtYi10YWNrIl0sImYwOGQiLCJNMzIgMzJDMzIgMTQuMyA0Ni4zIDAgNjQgMEwzMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjkuNSAwIDEwLjMgMTM0LjFjMzcuMSAyMS4yIDY1LjggNTYuNCA3OC4yIDk5LjdsMy44IDEzLjRjMi44IDkuNyAuOCAyMC01LjIgMjguMVMzNjIgMzUyIDM1MiAzNTJMMzIgMzUyYy0xMCAwLTE5LjUtNC43LTI1LjUtMTIuN3MtOC0xOC40LTUuMi0yOC4xTDUgMjk3LjhjMTIuNC00My4zIDQxLTc4LjUgNzguMi05OS43TDkzLjUgNjQgNjQgNjRDNDYuMyA2NCAzMiA0OS43IDMyIDMyek0xNjAgNDAwbDY0IDAgMCAxMTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMTJ6Il19LFRCdD1kOGUsTEJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtcG9pbnQtZG93biIsaWNvbjpbMzg0LDUxMixbXSwiZjBhNyIsIk0zMiA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIwOC02NCAwIDAgMjA4ek0yMjQgMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDY0em0tNjQgNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyem0xNjAtOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjR6bS05Ni04OGwwIC42YzkuNC01LjQgMjAuMy04LjYgMzItOC42IDEzLjIgMCAyNS40IDQgMzUuNiAxMC44IDguNy0yNC45IDMyLjUtNDIuOCA2MC40LTQyLjggMTEuNyAwIDIyLjYgMy4xIDMyIDguNmwwLTguNkMzODQgNzEuNiAzMTIuNCAwIDIyNCAwTDE2Mi4zIDBDMTE5LjggMCA3OS4xIDE2LjkgNDkuMSA0Ni45TDM3LjUgNTguNUMxMy41IDgyLjUgMCAxMTUuMSAwIDE0OWwwIDI3YzAgMzUuMyAyOC43IDY0IDY0IDY0bDg4IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBzLTE3LjktNDAtNDAtNDBsLTU2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsNTYgMGMzOS44IDAgNzIgMzIuMiA3MiA3MnoiXX0sdThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtbWVoLWJsYW5rIixpY29uOls1MTIsNTEyLFsxMjg1NjYsIm1laC1ibGFuayJdLCJmNWE0IiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTIwOC00OGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0xMjggMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSwkQnQ9dThlLFliPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbXBlcmF0dXJlLWVtcHR5IixpY29uOlszMjAsNTEyLFsidGVtcGVyYXR1cmUtMCIsInRoZXJtb21ldGVyLTAiLCJ0aGVybW9tZXRlci1lbXB0eSJdLCJmMmNiIiwiTTY0IDk2YzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZsMCAxNjQuN2MyOS41IDI2LjQgNDggNjQuNyA0OCAxMDcuMyAwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NFMxNiA0NDcuNSAxNiAzNjhjMC00Mi42IDE4LjUtODEgNDgtMTA3LjNMNjQgOTZ6bTk2IDMzNmMzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NC02NCAyOC43LTY0IDY0IDI4LjcgNjQgNjQgNjR6Il19LERCdD1ZYixBQnQ9WWIsRUJ0PVliLFBCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3JkZXItbm9uZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjg1MCIsIk0zMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzIgMzItMTQuMyAzMi0zMi0xNC4zLTMyLTMyLTMyek0xNjAgMzJhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0ek0yODggNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyIDMyLTE0LjMgMzItMzItMTQuMy0zMi0zMi0zMnpNMTYwIDQ4MGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMi0zMiAxNC4zLTMyIDMyIDE0LjMgMzIgMzIgMzJ6TTI4OCAzMmEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6TTQxNiA0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzItMzIgMTQuMy0zMiAzMiAxNC4zIDMyIDMyIDMyem0wLTM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTMyIDMyYTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHpNNDE2IDM1MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTMyIDE2MGEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6bTAgMTkyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNNDE2IDE2MGEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6Il19LElCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoaWdobGlnaHRlciIsaWNvbjpbNTc2LDUxMixbXSwiZjU5MSIsIk0zMTUgMzE1TDQ3My40IDk5LjkgNDQ0LjEgNzAuNiAyMjkgMjI5IDMxNSAzMTV6bS0xODcgNWwwIDAgMC03MS43YzAtMTUuMyA3LjItMjkuNiAxOS41LTM4LjZMNDIwLjYgOC40QzQyOCAyLjkgNDM3IDAgNDQ2LjIgMCA0NTcuNiAwIDQ2OC41IDQuNSA0NzYuNiAxMi42bDU0LjggNTQuOGM4LjEgOC4xIDEyLjYgMTkgMTIuNiAzMC41IDAgOS4yLTIuOSAxOC4yLTguNCAyNS42TDMzNC40IDM5Ni41Yy05IDEyLjMtMjMuNCAxOS41LTM4LjYgMTkuNWwtNzEuNyAwLTI1LjQgMjUuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTUwLjctNTAuN2MtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNMMTI4IDMyMHpNNyA0NjYuM2w1MS43LTUxLjcgNzAuNiA3MC42LTE5LjcgMTkuN2MtNC41IDQuNS0xMC42IDctMTcgN0wyNCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNC43YzAtNi40IDIuNS0xMi41IDctMTd6Il19LE5CdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb25leS1iaWxsLXdhdmUiLGljb246WzUxMiw1MTIsW10sImY1M2EiLCJNMCA0MTkuNkwwIDEwOS41YzAtMjMuMiAyNC4xLTM4LjYgNDYuMy0zMiA4Ny43IDI2LjIgMTQ5LjcgNS41IDIxMi4xLTE1LjMgNjQuNS0yMS41IDEyOS40LTQzLjEgMjIzLjMtMTMuMSAxOC41IDUuOSAzMC4zIDIzLjggMzAuMyA0My4zbDAgMzEwLjFjMCAyMy4yLTI0LjEgMzguNi00Ni4yIDMyLTg3LjctMjYuMi0xNDkuOC01LjUtMjEyLjEgMTUuMy02NC41IDIxLjUtMTI5LjQgNDMuMS0yMjMuMyAxMy4xLTE4LjUtNS45LTMwLjMtMjMuOC0zMC4zLTQzLjN6TTMzNiAyNTZjMC01My0zNS44LTk2LTgwLTk2cy04MCA0My04MCA5NiAzNS44IDk2IDgwIDk2IDgwLTQzIDgwLTk2ek0xMjAgNDEzLjZjNC40IDAgNy45LTMuOCA3LjItOC4xLTQuNi0yNy44LTI3LTQ5LjUtNTUuMi01My00LjQtLjUtOCAzLjEtOCA3LjVsMCAzOS45YzAgMy42IDIuNCA2LjggNiA3LjcgMTcuOSA0LjIgMzQuMyA2LjEgNTAgNi4xem0zMTguNS01MS4xYzUgLjggOS41LTMgOS41LThsMC00Mi42YzAtNC40LTMuNi04LjEtOC03LjUtMjUuMiAzLjEtNDUuOSAyMC45LTUzLjIgNDQuNi0xLjQgNC43IDIuMyA5LjEgNy4yIDkuMiAxNC4yIC40IDI5IDEuNyA0NC40IDQuM3pNNDQ4IDE1MmwwLTM5LjljMC0zLjYtMi41LTYuOC02LTcuNy0xNy45LTQuMi0zNC4zLTYuMS01MC02LjEtNC40IDAtNy45IDMuOC03LjIgOC4xIDQuNiAyNy44IDI3IDQ5LjUgNTUuMiA1MyA0LjQgLjUgOC0zLjEgOC03LjV6TTEyNS4yIDE2Mi45YzEuNC00LjctMi4zLTkuMS03LjItOS4yLTE0LjItLjQtMjktMS43LTQ0LjQtNC4zLTUtLjgtOS41IDMtOS41IDhMNjQgMjAwYzAgNC40IDMuNiA4LjEgOCA3LjUgMjUuMi0zLjEgNDUuOS0yMC45IDUzLjItNDQuNnoiXX0sUkJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvaWxldC1wYXBlci1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZTA3MiIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC05NC41LTk0LjVjNDAuMi0yMyA2OS41LTk2LjkgNjkuNS0xODQuNiAwLTEwNi00My0xOTItOTYtMTkycy05NiA4Ni05NiAxOTJjMCAyNC4xIDIuMiA0Ny4yIDYuMyA2OC40TDMwNCAyMzguMiAzMDQgMjI0YzAtNTguOSAxMS44LTExNC41IDMzLjItMTU3LjIgNS45LTExLjcgMTMuMS0yMy43IDIxLjktMzQuOEwxMjggMzJjLTguMyAwLTE2LjQgMi4xLTI0LjEgNi4xbC02My02M3pNMzIgMjI0bDAgMjY0YzAgMzAuOSAyNS4xIDU2IDU2IDU2bDE2MCAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2bDAtMTE0LjItMjU2LTI1NkMzNy45IDE0OC4yIDMyIDE4NC43IDMyIDIyNHptNDE2IDY0Yy0xNy43IDAtMzItMjguNy0zMi02NHMxNC4zLTY0IDMyLTY0IDMyIDI4LjcgMzIgNjQtMTQuMyA2NC0zMiA2NHoiXX0sT0J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtc2hpZWxkIixpY29uOls1NzYsNTEyLFtdLCJlNGYwIiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjAxLjIgMEMyNjEgNDY5LjQgMjQwIDQxNC41IDI0MCAzNTYuNGwwLTMxLjFjMC0zNC40IDIyLTY1IDU0LjctNzUuOWwxMTItMzcuM2MzLjEtMSA2LjItMS44IDkuMy0yLjVsMC0zOS4xYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI5MC43IDE4LjdDMjc4LjcgNi43IDI2Mi41IDAgMjQ1LjUgMEw5NiAwek0zNTcuNSAxNzZMMjY0IDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjQwIDU4LjUgMzU3LjUgMTc2em04Ny44IDMxMi41bC0xMy4zIDYuMyAwLTE4OC4xIDk2IDMyIDAgMTkuNmMwIDU1LjgtMzIuMiAxMDYuNS04Mi43IDEzMC4zek00MjEuOSAyNTkuNWwtMTEyIDM3LjNjLTEzLjEgNC40LTIxLjkgMTYuNi0yMS45IDMwLjRsMCAzMS4xYzAgNzQuNCA0MyAxNDIuMSAxMTAuMiAxNzMuN2wxOC41IDguN2M0LjggMi4yIDEwIDMuNCAxNS4yIDMuNHMxMC41LTEuMiAxNS4yLTMuNGwxOC41LTguN0M1MzMgNTAwLjMgNTc2IDQzMi42IDU3NiAzNTguMmwwLTMxLjFjMC0xMy44LTguOC0yNi0yMS45LTMwLjRsLTExMi0zNy4zYy02LjYtMi4yLTEzLjctMi4yLTIwLjIgMHoiXX0sRkJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRleHQtaGVpZ2h0IixpY29uOls1NzYsNTEyLFtdLCJmMDM0IiwiTTQwIDMyQzE3LjkgMzIgMCA0OS45IDAgNzJsMCA1NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzIgNjQgMCAwIDMyMC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMzIwIDY0IDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNTZjMC0yMi4xLTE3LjktNDAtNDAtNDBMNDAgMzJ6TTQzOC42IDM2MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw2NC02NGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtOS40IDkuNCAwLTIyOS41IDkuNCA5LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtNjQtNjRjLTYtNi0xNC4xLTkuNC0yMi42LTkuNHMtMTYuNiAzLjQtMjIuNiA5LjRsLTY0IDY0Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDkuNC05LjQgMCAyMjkuNS05LjQtOS40eiJdfSxwOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmluLXRvbmd1ZSIsaWNvbjpbNTEyLDUxMixbMTI4NTM5LCJncmluLXRvbmd1ZSJdLCJmNTg5IiwiTTAgMjU2YzAgMTA0LjQgNjIuNSAxOTQuMiAxNTIuMiAyMzQuMS01LjMtMTMtOC4yLTI3LjItOC4yLTQyLjFsMC02MS43Yy0xNi45LTE2LjUtMzAuMS0zNi43LTM4LjMtNTkuMy00LjMtMTEuOCA3LjctMjEuOCAxOS42LTE4LjEgMzkuMiAxMi4yIDgzLjcgMTkuMSAxMzAuNyAxOS4xczkxLjUtNi45IDEzMC43LTE5LjFjMTEuOS0zLjcgMjMuOSA2LjMgMTkuNiAxOC4xLTguMyAyMi42LTIxLjUgNDIuOC0zOC4zIDU5LjNsMCA2MS43YzAgMTQuOS0yLjkgMjkuMS04LjIgNDIuMSA4OS43LTM5LjggMTUyLjItMTI5LjYgMTUyLjItMjM0LjEgMC0xNDEuNC0xMTQuNi0yNTYtMjU2LTI1NlMwIDExNC42IDAgMjU2em0xNzYtODBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTYgMjQwbDAtNDUuNGMwLTE0LjctMTEuOS0yNi42LTI2LjYtMjYuNmwtMiAwYy0xMS4zIDAtMjEuMSA3LjktMjMuNiAxOC45LTIuOCAxMi42LTIwLjggMTIuNi0yMy42IDAtMi41LTExLjEtMTIuMy0xOC45LTIzLjYtMTguOWwtMiAwYy0xNC43IDAtMjYuNiAxMS45LTI2LjYgMjYuNmwwIDQ1LjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHoiXX0sQkJ0PXA4ZSxIQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1zaWduYXR1cmUiLGljb246WzY0MCw1MTIsW10sImY1NzMiLCJNNjQuMSA2NGMwLTM1LjMgMjguNy02NCA2NC02NEwyNzcuNiAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDQyOS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNsMCA5Ny41LTEzMiAxMzItNDIuMSAwLTE2LjEtNTMuNmMtNC43LTE1LjctMTkuMS0yNi40LTM1LjUtMjYuNC0xMS4zIDAtMjEuOSA1LjEtMjguOSAxMy45TDEzMy4zIDQwOWMtOC4zIDEwLjMtNi42IDI1LjUgMy43IDMzLjdzMjUuNSA2LjYgMzMuNy0zLjhsNDcuMS01OC44IDE1LjIgNTAuN2MzIDEwLjIgMTIuNCAxNy4xIDIzIDE3LjFsMzEuNSAwYy0uOSAzLjEtMS43IDYuMy0yLjMgOS41bC0xMC45IDU0LjUtMTQ2LjIgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0zODR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0bDkzLjUgMC0xMTcuNS0xMTcuNXptNjAuMiA0MDguNGMyLjUtMTIuNCA4LjYtMjMuOCAxNy41LTMyLjdsMTE4LjktMTE4LjkgODAgODAtMTE4LjkgMTE4LjljLTguOSA4LjktMjAuMyAxNS0zMi43IDE3LjVsLTU5LjYgMTEuOWMtLjkgLjItMS45IC4zLTIuOSAuMy04IDAtMTQuNi02LjUtMTQuNi0xNC42IDAtMSAuMS0xLjkgLjMtMi45bDExLjktNTkuNnptMjY3LjgtMTIzbC0yOC44IDI4LjgtODAtODAgMjguOC0yOC44YzIyLjEtMjIuMSA1Ny45LTIyLjEgODAgMHMyMi4xIDU3LjkgMCA4MHoiXX0scUJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1aWxkaW5nLXdoZWF0IixpY29uOls2NDAsNTEyLFtdLCJlNGRiIiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjQ5LjMgMGMtNi0xNC44LTkuMy0zMS05LjMtNDggMC0xNy43IDcuMi0zMy43IDE4LjgtNDUuMy0xMS45LTE5LjQtMTguOC00Mi4zLTE4LjgtNjYuNyAwLTE3LjcgNy4yLTMzLjcgMTguOC00NS4zLTExLjktMTkuNC0xOC44LTQyLjMtMTguOC02Ni43IDAtMjUuMiAxNC41LTQ2LjkgMzUuNi01Ny40LTIuNC03LjEtMy42LTE0LjctMy42LTIyLjZsMC0zMkMzNjggOTYuNyAzODggNzAuMSA0MTUuOSA2MC4xIDQxMy45IDI2LjYgMzg2IDAgMzUyIDBMOTYgMHpNMjA4IDM1MmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgODAtOTYgMCAwLTgwYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0xMjggMTEyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTI3MiA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek0xMjggMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE0NC0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em0zNTIgMGwtMTYgMGMtNDQuMiAwLTgwIDM1LjgtODAgODAgMCA4LjggNy4yIDE2IDE2IDE2bDE2IDBjNDQuMiAwIDgwLTM1LjggODAtODAgMC04LjgtNy4yLTE2LTE2LTE2em0xNiAxMjhjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwYy00NC4yIDAtODAgMzUuOC04MCA4MCAwIDguOCA3LjIgMTYgMTYgMTZsMTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MHptMCAxMTJjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwYy00NC4yIDAtODAgMzUuOC04MCA4MCAwIDguOCA3LjIgMTYgMTYgMTZsMTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MHpNNDk2IDUyOGMwLTQ0LjItMzUuOC04MC04MC04MGwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2IDAgNDQuMiAzNS44IDgwIDgwIDgwbDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2em0tMTYtOTZjOC44IDAgMTYtNy4yIDE2LTE2IDAtNDQuMi0zNS44LTgwLTgwLTgwbC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTYgMCA0NC4yIDM1LjggODAgODAgODBsMTYgMHptMTYtMTI4YzAtNDQuMi0zNS44LTgwLTgwLTgwbC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTYgMCA0NC4yIDM1LjggODAgODAgODBsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZ6TTUxMiA2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEwNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHptOTYgNjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAzMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMzJ6TTQ0MCAxMDRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMyYzAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxWQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGx1Zy1jaXJjbGUtbWludXMiLGljb246WzY0MCw1MTIsW10sImU1NWUiLCJNMTkyLTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTYgMTI4IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgOTYgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDQ4LjdjLTk4LjYgOC4xLTE3NiA5MC43LTE3NiAxOTEuMyAwIDI3LjMgNS43IDUzLjMgMTYgNzYuOWwwIDMuMWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY2LjdDMTY1LjIgMzk4LjEgOTYgMzE5LjEgOTYgMjI0bDAtNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzc4LjMgOTYgOTYgOTZsNjQgMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0zNTIgNDAwYTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTIyNCAwYzAtOC44LTcuMi0xNi0xNi0xNmwtMTI4IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMTI4IDBjOC44IDAgMTYtNy4yIDE2LTE2eiJdfSxZZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZnV0Ym9sIixpY29uOls1MTIsNTEyLFs5OTE3LCJmdXRib2wtYmFsbCIsInNvY2Nlci1iYWxsIl0sImYxZTMiLCJNNDE3LjMgMzYwLjFsLTcxLjYtNC44Yy01LjItLjMtMTAuMyAxLjEtMTQuNSA0LjJzLTcuMiA3LjQtOC40IDEyLjVsLTE3LjYgNjkuNkMyODkuNSA0NDUuOCAyNzMgNDQ4IDI1NiA0NDhzLTMzLjUtMi4yLTQ5LjItNi40TDE4OS4yIDM3MmMtMS4zLTUtNC4zLTkuNC04LjQtMTIuNXMtOS4zLTQuNS0xNC41LTQuMmwtNzEuNiA0LjhjLTE3LjYtMjcuMi0yOC41LTU5LjItMzAuNC05My42TDEyNSAyMjguM2M0LjQtMi44IDcuNi03IDkuMi0xMS45czEuNC0xMC4yLS41LTE1bC0yNi43LTY2LjZDMTI4IDEwOS4yIDE1NS4zIDg5IDE4Ni43IDc2LjlsNTUuMiA0NmM0IDMuMyA5IDUuMSAxNC4xIDUuMXMxMC4yLTEuOCAxNC4xLTUuMWw1NS4yLTQ2YzMxLjMgMTIuMSA1OC43IDMyLjMgNzkuNiA1Ny45bC0yNi43IDY2LjZjLTEuOSA0LjgtMi4xIDEwLjEtLjUgMTVzNC45IDkuMSA5LjIgMTEuOWw2MC43IDM4LjJjLTEuOSAzNC40LTEyLjggNjYuNC0zMC40IDkzLjZ6TTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem0xNC4xLTMyNS43Yy04LjQtNi4xLTE5LjgtNi4xLTI4LjIgMEwxOTQgMjIxYy04LjQgNi4xLTExLjkgMTYuOS04LjcgMjYuOGwxOC4zIDU2LjNjMy4yIDkuOSAxMi40IDE2LjYgMjIuOCAxNi42bDU5LjIgMGMxMC40IDAgMTkuNi02LjcgMjIuOC0xNi42bDE4LjMtNTYuM2MzLjItOS45LS4zLTIwLjctOC43LTI2LjhsLTQ3LjktMzQuOHoiXX0sakJ0PVllZSxVQnQ9WWVlLGY4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtcGx1cyIsaWNvbjpbNTEyLDUxMixbInBsdXMtY2lyY2xlIl0sImYwNTUiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTIzMiAzNDRsMC02NC02NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDY0IDAgMC02NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNjQgNjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNjQgMCAwIDY0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0eiJdfSxXQnQ9ZjhlLEdCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmF6aWxpYW4tcmVhbC1zaWduIixpY29uOls1MTIsNTEyLFtdLCJlNDZjIiwiTTQwMCAxNmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE2IDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTQ4LjkgMGMtMjYgMC00Ny4xIDIxLjEtNDcuMSA0Ny4xIDAgMjIuNSAxNS45IDQxLjggMzcuOSA0Ni4ybDMyLjggNi42YzUxLjkgMTAuNCA4OS4zIDU2IDg5LjMgMTA5IDAgNTAuNi0zMy44IDkzLjMtODAgMTA2LjdsMCAyMC40YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTYtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NC45IDBjMjYgMCA0Ny4xLTIxLjEgNDcuMS00Ny4xIDAtMjIuNS0xNS45LTQxLjgtMzcuOS00Ni4ybC0zMi44LTYuNmMtNTEuOS0xMC40LTg5LjMtNTYtODkuMy0xMDkgMC01MC42IDMzLjgtOTMuMiA4MC0xMDYuN0wzNjggNDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsODAgMGM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NCAwIDU0LjMtMzAgMTAxLjUtNzQuNCAxMjYuMWw0MSAxMzYuN2M1LjEgMTYuOS00LjUgMzQuOC0yMS41IDM5LjhzLTM0LjgtNC41LTM5LjgtMjEuNUwxMjAuMSAzMTkuOGMtMi43IC4xLTUuNCAuMi04LjEgLjJsLTQ4IDAgMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0NjUuNyAwIDQ0OEwwIDY0ek02NCAyNTZsNDggMGM0NC4yIDAgODAtMzUuOCA4MC04MHMtMzUuOC04MC04MC04MGwtNDggMCAwIDE2MHoiXX0sWUJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0YXItYW5kLWNyZXNjZW50IixpY29uOls1MTIsNTEyLFs5NzcwXSwiZjY5OSIsIk0wIDI1NmMwLTE0MS40IDExNC42LTI1NiAyNTYtMjU2IDMzIDAgNjQuNiA2LjMgOTMuNiAxNy43IDcuNCAyLjkgMTEuNSAxMC43IDkuOCAxOC40cy04LjggMTMtMTYuNyAxMi40Yy00LjgtLjMtOS43LS41LTE0LjYtLjUtMTE0LjkgMC0yMDggOTMuMS0yMDggMjA4czkzLjEgMjA4IDIwOCAyMDhjNC45IDAgOS44LS4yIDE0LjYtLjUgNy45LS41IDE1IDQuNyAxNi43IDEyLjRzLTIuNCAxNS41LTkuOCAxOC40QzMyMC42IDUwNS43IDI4OSA1MTIgMjU2IDUxMiAxMTQuNiA1MTIgMCAzOTcuNCAwIDI1NnpNMzc1LjQgMTM3LjRjMy41LTcuMSAxMy43LTcuMSAxNy4yIDBsMzEuNSA2My44YzEuNCAyLjggNC4xIDQuOCA3LjIgNS4zbDcwLjQgMTAuMmM3LjkgMS4xIDExIDEwLjggNS4zIDE2LjRsLTUwLjkgNDkuNmMtMi4zIDIuMi0zLjMgNS40LTIuOCA4LjVsMTIgNzAuMWMxLjMgNy44LTYuOSAxMy44LTEzLjkgMTAuMWwtNjMtMzMuMWMtMi44LTEuNS02LjEtMS41LTguOSAwbC02MyAzMy4xYy03IDMuNy0xNS4zLTIuMy0xMy45LTEwLjFsMTItNzAuMWMuNS0zLjEtLjUtNi4zLTIuOC04LjVMMjYxIDIzMy4xYy01LjctNS42LTIuNi0xNS4yIDUuMy0xNi40bDcwLjQtMTAuMmMzLjEtLjUgNS44LTIuNCA3LjItNS4zbDMxLjUtNjMuOHoiXX0saDhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2Utc3VycHJpc2UiLGljb246WzUxMiw1MTIsWzEyODU1OCwic3VycHJpc2UiXSwiZjVjMiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTc2IDE3NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEyOCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0tNDggODBhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6Il19LEtCdD1oOGUsWkJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imhvc3BpdGFsLXVzZXIiLGljb246WzY0MCw1MTIsW10sImY4MGQiLCJNNjQgNjRDNjQgMjguNyA5Mi43IDAgMTI4IDBMMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMjEuM2MtNDYuOSAxOS04MCA2NS04MCAxMTguNyAwIDI3LjcgOC44IDUzLjQgMjMuOCA3NC40LTUxLjUgMjEtODcuOCA3MS42LTg3LjggMTMwLjcgMCAxIDAgMS45IDAgMi45bC0xNzYgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMNjQgNjR6TTIwOCA0MDBsMCA2NCA1My40IDBjNy4yLTI5LjQgMjEuMy01Ni4xIDQwLjQtNzguMy02LjEtMTkuNS0yNC4zLTMzLjctNDUuOC0zMy43LTI2LjUgMC00OCAyMS41LTQ4IDQ4ek0yNDggODhjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2YzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwIDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzIgMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDAgMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTE2IDB6TTQxNiAzMDRhODAgODAgMCAxIDEgMTYwIDAgODAgODAgMCAxIDEgLTE2MCAwek0zNTIgNTEyYzAtNTMgNDMtOTYgOTYtOTZsOTYgMGM1MyAwIDk2IDQzIDk2IDk2IDAgMTcuNy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LFhCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1kb3duLXVwLWxvY2siLGljb246WzU3Niw1MTIsW10sImU0YjAiLCJNMjYyLjYgNDIyLjZsLTgwIDgwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtODAtODBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsMjUuNCAyNS40IDAtMTE0LjctNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwyNTYgMCAwLTExNC43LTI1LjQgMjUuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsODAtODBjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsODAgODBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTI1LjQtMjUuNCAwIDk0LjhjLTI1LjMgMjAuMy00Mi44IDUwLjEtNDcgODMuOWwtMTQ1IDAgMCAxMTQuNyAyNS40LTI1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3pNMTkyIDMybDAgMTQ0LTY0IDAgMC0xNDRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnpNNDk2IDMwNC4xYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDcuOSA2NCAwIDAtNDcuOXpNMzUyIDQwMGMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC01MC42YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBsMCA1MC42YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM2wwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NnoiXX0sbThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvbGRlciIsaWNvbjpbNTEyLDUxMixbMTI4MTkzLDEyODQ0Nyw2MTcxNiwiZm9sZGVyLWJsYW5rIl0sImYwN2IiLCJNNjQgNDQ4bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjQwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDI5OC43IDgwYy02LjkgMC0xMy43LTIuMi0xOS4yLTYuNEwyNDEuMSA0NC44QzIzMCAzNi41IDIxNi41IDMyIDIwMi43IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjR6Il19LFFCdD1tOGUsSkJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvbGx5LWJlcnJ5IixpY29uOls1MTIsNTEyLFtdLCJmN2FhIiwiTTI1Ni4yIDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptLTgwIDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMjc3IDM4My44YzEgLjEgMi4xIC4yIDMuMiAuMiAzOS44IDAgNzIgMzIuMiA3MiA3MmwwIDIyLjdjMCAxNi40IDE2IDI3LjkgMzEuNiAyMi44bDEyLjgtNC4zYzE4LTYgMzcuMy02LjUgNTUuNi0xLjVsMTkuNCA1LjNjMTcuOSA0LjkgMzQuNC0xMS42IDI5LjUtMjkuNUw0OTUuOSA0NTJjLTUtMTguMy00LjQtMzcuNiAxLjUtNTUuNmw0LjMtMTIuOGM1LjItMTUuNS02LjQtMzEuNi0yMi44LTMxLjYtMzQuNiAwLTYyLjctMjguMS02Mi43LTYyLjdsMC0zMmMwLTE2LjQtMTYtMjcuOS0zMS42LTIyLjhsLTEyLjggNC4zYy0xOCA2LTM3LjMgNi41LTU1LjYgMS41bC0yOS42LTguMWMtMi45LS44LTUuOS0xLTguNy0uNyA0LjIgOS43IDUuOCAyMC44IDMuNyAzMi4zbC02LjMgMzQuOGMtMS41IDguNC0xLjQgMTcgLjUgMjUuM2w1LjMgMjMuOWMyLjggMTIuNyAxLjEgMjUuMi00IDM1Ljl6TTEyNy44IDIzNC41Yy0xNS41LTUuMi0zMS42IDYuNC0zMS42IDIyLjhsMCAzMmMwIDM0LjYtMjguMSA2Mi43LTYyLjcgNjIuNy0xNi40IDAtMjcuOSAxNi0yMi44IDMxLjZMMTUgMzk2LjRjNiAxOCA2LjUgMzcuMyAxLjUgNTUuNmwtNS4zIDE5LjRDNi40IDQ4OS40IDIyLjggNTA1LjggNDAuNyA1MDFsMTkuNC01LjNjMTguMy01IDM3LjYtNC41IDU1LjYgMS41bDEyLjggNC4zYzE1LjUgNS4yIDMxLjYtNi40IDMxLjYtMjIuOGwwLTMyYzAtMzQuNiAyOC4xLTYyLjcgNjIuNy02Mi43IDE2LjQgMCAyNy45LTE2IDIyLjgtMzEuNmwtNC4zLTEyLjhjLTYtMTgtNi41LTM3LjMtMS41LTU1LjZsNS4zLTE5LjRjNC45LTE3LjktMTEuNi0zNC40LTI5LjUtMjkuNWwtMTkuNCA1LjNjLTE4LjMgNS0zNy42IDQuNC01NS42LTEuNWwtMTIuOC00LjN6TTM4NC4yIDE0NGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAweiJdfSxlSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmVudXMtZG91YmxlIixpY29uOls2NDAsNTEyLFs5ODkwXSwiZjIyNiIsIk0xOTIgMjg4YTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHpNMzY4IDE3NmMwIDg2LjMtNjIuMSAxNTguMS0xNDQuMSAxNzMuMSAuMSAxIC4xIDEuOSAuMSAyLjlsMCA2NCAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC02NGMwLTEgMC0xLjkgLjEtMi45LTgyLTE1LTE0NC4xLTg2LjgtMTQ0LjEtMTczLjEgMC05Ny4yIDc4LjgtMTc2IDE3Ni0xNzZTMzY4IDc4LjggMzY4IDE3NnpNMzU3LjUgMzI3YzE0LjQtMTUuOCAyNi42LTMzLjcgMzYuMS01My4xIDE2LjEgOSAzNC43IDE0LjEgNTQuNSAxNC4xIDYxLjkgMCAxMTItNTAuMSAxMTItMTEyUzUwOS45IDY0IDQ0OCA2NGMtMTkuOCAwLTM4LjMgNS4xLTU0LjUgMTQuMS05LjUtMTkuNC0yMS42LTM3LjMtMzYuMS01My4xIDI2LjQtMTUuOSA1Ny40LTI1IDkwLjUtMjUgOTcuMiAwIDE3NiA3OC44IDE3NiAxNzYgMCA4Ni4zLTYyLjEgMTU4LjEtMTQ0LjEgMTczLjEgLjEgLjkgLjEgMS45IC4xIDIuOWwwIDY0IDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTY0YzAtMSAwLTEuOSAuMS0yLjktMjEuMS0zLjktNDAuOS0xMS41LTU4LjYtMjIuMnoiXX0sdEh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsaXBib2FyZC1xdWVzdGlvbiIsaWNvbjpbMzg0LDUxMixbXSwiZTRlMyIsIk0zMTEuNCAzMmw4LjYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM1MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsOC42IDBDODMuNiAxMi45IDEwNC4zIDAgMTI4IDBMMjU2IDBjMjMuNyAwIDQ0LjQgMTIuOSA1NS40IDMyek0yNDggMTEyYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDEzNiA2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMTIgMHpNMTkyIDI0OGMxNi4xIDAgMjkuMiAxMy4xIDI5LjIgMjkuMiAwIDguNy0zLjEgMTMuOS02LjkgMTcuNy00LjUgNC40LTEwLjcgNy41LTE2LjggOS41LTE0LjkgNS0yOS41IDE5LjMtMjkuNSAzOS41IDAgMTMuMyAxMC43IDI0IDI0IDI0IDExLjUgMCAyMS4yLTguMSAyMy41LTE5IDE5LjItNy4xIDUzLjctMjYuMyA1My43LTcxLjggMC00Mi42LTM0LjYtNzcuMi03Ny4yLTc3LjJzLTc3LjIgMzQuNi03Ny4yIDc3LjJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE2LjEgMTMuMS0yOS4yIDI5LjItMjkuMnptMjggMTY4YzAtMTUuNS0xMi41LTI4LTI4LTI4cy0yOCAxMi41LTI4IDI4IDEyLjUgMjggMjggMjggMjgtMTIuNSAyOC0yOHoiXX0sYUh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdGRvZyIsaWNvbjpbNTEyLDUxMixbMTI3Nzg5XSwiZjgwZiIsIk0yODggMGMtMjAuNSAwLTQwLjEgOC4xLTU0LjYgMjIuNkwyMi42IDIzMy40QzguMSAyNDcuOSAwIDI2Ny41IDAgMjg4IDAgMzAwLjIgMi45IDMxMi4xIDguMiAzMjIuN0wzMjIuNyA4LjJDMzEyLjEgMi45IDMwMC4yIDAgMjg4IDB6TTIyNCA1MTJjMjAuNSAwIDQwLjEtOC4xIDU0LjYtMjIuNkw0ODkuNCAyNzguNmMxNC41LTE0LjUgMjIuNi0zNC4xIDIyLjYtNTQuNiAwLTEyLjItMi45LTI0LjEtOC4yLTM0LjdMMTg5LjMgNTAzLjhjMTAuNyA1LjQgMjIuNiA4LjIgMzQuNyA4LjJ6TTQ1Ni42IDE2OC42YzMxLjItMzEuMiAzMS4yLTgxLjkgMC0xMTMuMXMtODEuOS0zMS4yLTExMy4xIDBsLTI4OCAyODhjLTMxLjIgMzEuMi0zMS4yIDgxLjkgMCAxMTMuMXM4MS45IDMxLjIgMTEzLjEgMGwyODgtMjg4eiJdfSxySHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAtZnJvbS1icmFja2V0IixpY29uOls0NDgsNTEyLFtdLCJlMDlhIiwiTTI0Ni42IDkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTEyOCAxMjhjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTkyIDEwOS4zIDE5MiAzMjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIxMC43IDczLjQgNzMuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC0xMjgtMTI4ek02NCAzNTJjMC0xNy43LTE0LjMtMzItMzItMzJTMCAzMzQuMyAwIDM1MmwwIDY0YzAgNTMgNDMgOTYgOTYgOTZsMjU2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJMOTYgNDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0eiJdfSxzSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWljcm9zY29wZSIsaWNvbjpbNTEyLDUxMixbMTI4MzAwXSwiZjYxMCIsIk0xNzYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAyMDhjMCAyNi41IDIxLjUgNDggNDggNDhsNjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTY0IDMyIDBjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhTMzkwLjcgNDQ4IDMyMCA0NDhMMzIgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDQ0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNi45IDBjMzAuNC0zNCA0OC45LTc4LjggNDguOS0xMjggMC0xMDYtODYtMTkyLTE5Mi0xOTJsLTMyIDAgMC04MGMwLTI2LjUtMjEuNS00OC00OC00OEwxNzYgMHpNMTIwIDM1MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNzYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTc2IDB6Il19LGlIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZCIsaWNvbjpbNTc2LDUxMixbOTcyOV0sImYwYzIiLCJNMCAzMzZjMCA3OS41IDY0LjUgMTQ0IDE0NCAxNDRsMzA0IDBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjggMC01MS42LTMwLjUtOTYuMS03NC41LTExNi4zIDYuNy0xMy4xIDEwLjUtMjggMTAuNS00My43IDAtNTMtNDMtOTYtOTYtOTYtMTcuNyAwLTM0LjIgNC44LTQ4LjQgMTMuMS0yNC4xLTQ1LjgtNzIuMi03Ny4xLTEyNy42LTc3LjEtNzkuNSAwLTE0NCA2NC41LTE0NCAxNDQgMCA4IC43IDE1LjkgMS45IDIzLjUtNTYuOSAxOS4yLTk3LjkgNzMuMS05Ny45IDEzNi41eiJdfSxvSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFzZWJhbGwtYmF0LWJhbGwiLGljb246WzU3Niw1MTIsW10sImY0MzIiLCJNNDY0LjEgNTQ0YTgwIDgwIDAgMSAxIDAtMTYwIDgwIDgwIDAgMSAxIDAgMTYwem04LjQtNTc2YzE1LjEgMCAyOS43IDUuOCA0MC43IDE2LjJsNDcuMiA0NC44YzEyLjYgMTIgMTkuMSAyOSAxNy41IDQ2LjMtMS4yIDEzLjMtNyAyNS44LTE2LjUgMzUuMkwzNjMuMSAzMDljLTcuMyA3LjMtMTUuNyAxMy40LTI1IDE4TDIwNiAzOTNjLTkuMiA0LjYtMTcuNyAxMC43LTI1IDE4bC05MiA5MiAxLjcgMS44YzcuNyA5LjQgNy4xIDIzLjMtMS43IDMyLjFzLTIyLjcgOS4zLTMyLjEgMS43bC0xLjgtMS43LTQ4LTQ4LTEuNy0xLjhjLTcuNy05LjQtNy4xLTIzLjMgMS43LTMyLjFzMjIuNy05LjMgMzIuMS0xLjdsMS44IDEuNyA5Mi05MmM3LjMtNy4zIDEzLjQtMTUuNyAxOC0yNWw2Ni4xLTEzMi4xYzQuNi05LjIgMTAuNy0xNy43IDE4LTI1TDQzMC44LTE0LjdDNDQxLjktMjUuOCA0NTYuOS0zMiA0NzIuNS0zMnoiXX0sZzhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhci1yZWFyIixpY29uOls1MTIsNTEyLFsiY2FyLWFsdCJdLCJmNWRlIiwiTTE2NS40IDk2bDE4MS4yIDBjMTMuNiAwIDI1LjcgOC42IDMwLjIgMjEuNGwyNi4xIDc0LjYtMjkzLjggMCAyNi4xLTc0LjZjNC41LTEyLjggMTYuNi0yMS40IDMwLjItMjEuNHptLTkwLjYgLjNMMzkuNiAxOTYuOEMxNi40IDIwNi40IDAgMjI5LjMgMCAyNTZsMCA5NmMwIDIzLjcgMTIuOSA0NC40IDMyIDU1LjRMMzIgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMiAyNTYgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC00MC42YzE5LjEtMTEuMSAzMi0zMS43IDMyLTU1LjRsMC05NmMwLTI2LjctMTYuNC00OS42LTM5LjYtNTkuMkw0MzcuMiA5Ni4zQzQyMy43IDU3LjggMzg3LjQgMzIgMzQ2LjYgMzJMMTY1LjQgMzJjLTQwLjggMC03Ny4xIDI1LjgtOTAuNiA2NC4zek0yMDggMjg4bDk2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC05NiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTQ4IDI4MGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwzMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0zMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptMzYwLTI0bDMyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTMyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LG5IdD1nOGUsYjhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRodW1idGFjay1zbGFzaCIsaWNvbjpbNTc2LDUxMixbInRodW1iLXRhY2stc2xhc2giXSwiZTY4ZiIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDQxNy44IDM1MiA0NDggMzUyYzEwIDAgMTkuNS00LjcgMjUuNS0xMi43czgtMTguNCA1LjItMjguMUw0NzUgMjk3LjhjLTEyLjQtNDMuMy00MS03OC41LTc4LjItOTkuN0wzODYuNSA2NCA0MTYgNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJTNDMzLjcgMCA0MTYgMEwxNjAgMGMtNy40IDAtMTQuMSAyLjUtMTkuNSA2LjZMMTkwLjEgNTYuMyAxODUuMyAxMTkuNCA0MS0yNC45ek0yODIuMiAzNTJMMTQ5LjcgMjE5LjZjLTIyLjcgMjAuNS0zOS44IDQ3LjQtNDguNyA3OC4zbC0zLjggMTMuNGMtMi44IDkuNy0uOCAyMCA1LjIgMjguMVMxMTggMzUyIDEyOCAzNTJsMTU0LjIgMHpNMjU2IDUxMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTEyLTY0IDAgMCAxMTJ6Il19LGxIdD1iOGUsY0h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsdXMtbWludXMiLGljb246WzM4NCw1MTIsW10sImU0M2MiLCJNMjI0IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTI4LTEyOCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyOCAwIDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjggMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEyOCAwIDAtMTI4ek0wIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyeiJdfSxkSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNTA5IiwiTTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMSAwLTI4OCAxNDQgMTQ0IDAgMSAxIDAgMjg4ek0yNjguNiA2LjVjMTIuMi05LjMgMjkuNy04LjcgNDEuMiAybDIxNy42IDIwMmMtMTAuMi0xLjctMjAuNy0yLjYtMzEuMy0yLjYtNzguNiAwLTE0Ni4xIDQ3LjItMTc1LjggMTE0LjgtNS4xLTEuOC0xMC41LTIuOC0xNi4yLTIuOGwtMzIgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NiA5MSAwYzYuMSAxNy4zIDE0LjYgMzMuNCAyNS4xIDQ4TDE0NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOCAyLjQtMnpNNTUzLjQgMzM5LjFjLTcuMS01LjItMTcuMS0zLjYtMjIuMyAzLjVsLTUzIDcyLjgtMjYuNy0yNi44Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMC02LjIgNi4yLTYuMiAxNi40IDAgMjIuNmw0MCA0MGMzLjMgMy4zIDcuOSA1IDEyLjYgNC43czguOS0yLjggMTEuNy02LjZsNjQtODhjNS4yLTcuMSAzLjYtMTcuMS0zLjUtMjIuM3oiXX0sdUh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbGVuZGFyLWRheSIsaWNvbjpbNDQ4LDUxMixbXSwiZjc4MyIsIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTAgMjU2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNjQgMHoiXX0scEh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxpYnJhIixpY29uOls1MTIsNTEyLFtdLCJlODRiIiwiTTQ4MCAzODRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDQ0OCAwek0yNTYgMzJjOTcuMiAwIDE3NiA3OC44IDE3NiAxNzYgMCAxNi42LTIuNCAzMi43LTYuNyA0OGw1NC43IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTEwNC4yIDBjLTExLjggMC0yMi43LTYuNS0yOC4yLTE2LjlzLTQuOS0yMy4xIDEuNi0zMi45YzExLjktMTcuOCAxOC44LTM5LjEgMTguOC02Mi4yIDAtNjEuOS01MC4xLTExMi0xMTItMTEyUzE0NCAxNDYuMSAxNDQgMjA4YzAgMjMuMSA2LjkgNDQuNCAxOC44IDYyLjIgNi42IDkuOCA3LjIgMjIuNSAxLjYgMzIuOVMxNDguMSAzMjAgMTM2LjIgMzIwTDMyIDMyMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw1NC44IDBjLTQuMy0xNS4zLTYuOC0zMS40LTYuOC00OCAwLTk3LjIgNzguOC0xNzYgMTc2LTE3NnoiXX0sZkh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZSIsaWNvbjpbNTEyLDUxMixbMTI4MzA4LDEyODMwOSwxMjg5OTIsMTI4OTkzLDEyODk5NCwxMjg5OTUsMTI4OTk2LDk2NzksOTg5OCw5ODk5LDExMDQ0LDYxNzA4LDYxOTE1XSwiZjExMSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAweiJdfSxoSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9iaWxlLXZpYnJhdGUiLGljb246WzU3Niw1MTIsW10sImU4MTYiLCJNMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTE5MiAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTM4NGMwLTM1LjMgMjguNy02NCA2NC02NEwzODQgMHpNMjQ4IDQxNmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MCAwek00OC44IDEzMy40YzkuNC03LjcgMjMuMy03LjEgMzIuMSAxLjcgOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTMxIDMxIDI1LjQgMjUuNCAyLjkgMy4yYzYuMyA3LjcgOS44IDE3LjQgOS44IDI3LjQgMCAxMS41LTQuNiAyMi41LTEyLjcgMzAuNmwtMjUuNCAyNS40IDMxIDMxIDEuNyAxLjhjNy43IDkuNCA3LjEgMjMuMy0xLjcgMzIuMXMtMjIuNyA5LjMtMzIuMSAxLjdMNDcgMzc3IDEyLjcgMzQyLjZDNS42IDMzNS41IDEuMiAzMjYuMiAuMiAzMTYuM0wwIDMxMiAuMiAzMDcuN2MxLTkuOSA1LjQtMTkuMiAxMi41LTI2LjNMMzguMSAyNTYgMTIuNyAyMzAuNkM1LjYgMjIzLjUgMS4yIDIxNC4yIC4yIDIwNC4zTDAgMjAwIC4yIDE5NS43YzEtOS45IDUuNC0xOS4yIDEyLjUtMjYuM0w0NyAxMzUgNDguOCAxMzMuNHpNNDk1IDEzNWM4LjgtOC44IDIyLjctOS4zIDMyLjEtMS43bDEuOCAxLjcgMzQuMyAzNC4zYzcuMSA3LjEgMTEuNSAxNi40IDEyLjUgMjYuM2wuMiA0LjMtLjIgNC4zYy0xIDkuOS01LjQgMTkuMi0xMi41IDI2LjNsLTI1LjQgMjUuNCAyNS40IDI1LjRjNy4xIDcuMSAxMS41IDE2LjQgMTIuNSAyNi4zbC4yIDQuMy0uMiA0LjNjLTEgOS45LTUuNCAxOS4yLTEyLjUgMjYuM2wtMzQuMyAzNC4zLTEuOCAxLjdjLTkuNCA3LjctMjMuMyA3LjEtMzIuMS0xLjdzLTkuMy0yMi43LTEuNy0zMi4xbDEuNy0xLjggMzEtMzEtMjUuNC0yNS40Yy04LjEtOC4xLTEyLjctMTkuMS0xMi43LTMwLjYgMC0xMCAzLjUtMTkuNyA5LjgtMjcuNGwyLjktMy4yIDI1LjQtMjUuNC0zMS0zMWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6Il19LHY4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4tc3F1aW50IixpY29uOls1MTIsNTEyLFsxMjg1MTgsImdyaW4tc3F1aW50Il0sImY1ODUiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTM4Ni43IDMwOC45YzExLjktMy43IDIzLjkgNi4zIDE5LjYgMTguMS0yMi40IDYxLjMtODEuMyAxMDUuMS0xNTAuMyAxMDUuMVMxMjguMSAzODguMiAxMDUuNyAzMjYuOWMtNC4zLTExLjggNy43LTIxLjggMTkuNi0xOC4xIDM5LjIgMTIuMiA4My43IDE5LjEgMTMwLjcgMTkuMXM5MS41LTYuOSAxMzAuNy0xOS4xek0xMjIuNiAxNDMuMmM0LjUtNi44IDEzLjMtOS4yIDIwLjYtNS41bDc5LjYgNDBjNS40IDIuNyA4LjggOC4yIDguOCAxNC4zcy0zLjQgMTEuNi04LjggMTQuM2wtNzkuNiA0MGMtNy4zIDMuNi0xNi4xIDEuMy0yMC42LTUuNXMtMy4xLTE1LjkgMy4xLTIxLjFMMTU5IDE5MiAxMjUuOCAxNjQuM2MtNi4yLTUuMi03LjYtMTQuMy0zLjEtMjEuMXptMjYzLjYgMjEuMUwzNTMgMTkyIDM4Ni4yIDIxOS43YzYuMiA1LjIgNy42IDE0LjMgMy4xIDIxLjFzLTEzLjMgOS4yLTIwLjYgNS41bC03OS42LTQwYy01LjQtMi43LTguOC04LjItOC44LTE0LjNzMy40LTExLjYgOC44LTE0LjNsNzkuNi00MGM3LjMtMy42IDE2LjEtMS4zIDIwLjYgNS41czMuMSAxNS45LTMuMSAyMS4xeiJdfSxtSHQ9djhlLGdIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2Vycy1iZXR3ZWVuLWxpbmVzIixpY29uOls1NzYsNTEyLFtdLCJlNTkxIiwiTTI0IDE2bDUyOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDY0QzEwLjcgNjQgMCA1My4zIDAgNDBTMTAuNyAxNiAyNCAxNnptMCA0NDhsNTI4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0ek0zOTIgMTkyYTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHptMjcuMiAxMDAuNGM5LjEtMi45IDE4LjgtNC40IDI4LjgtNC40IDUzIDAgOTYgNDMgOTYgOTZsMCAxMC43YzAgMTEuOC05LjYgMjEuMy0yMS4zIDIxLjNsLTc4LjggMGMyLjctNy41IDQuMS0xNS42IDQuMS0yNGwwLThjMC0zNC4xLTEwLjYtNjUuNy0yOC44LTkxLjZ6bS0yNjIuNCAwQzEzOC42IDMxOC4zIDEyOCAzNDkuOSAxMjggMzg0bDAgOGMwIDguNCAxLjQgMTYuNSA0LjEgMjRsLTc4LjggMEM0MS42IDQxNiAzMiA0MDYuNCAzMiAzOTQuN0wzMiAzODRjMC01MyA0My05NiA5Ni05NiAxMCAwIDE5LjcgMS41IDI4LjggNC40ek03MiAxOTJhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwem0xNTItMTZhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwek0xNzYgMzg0YzAtNjEuOSA1MC4xLTExMiAxMTItMTEyczExMiA1MC4xIDExMiAxMTJsMCA4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC0xNzYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC04eiJdfSxiSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtbWVkaWNhbC1jaXJjbGUteG1hcmsiLGljb246WzY0MCw1MTIsW10sImU1MTMiLCJNMzA5LjggOC42Yy0xMi4zLTExLjQtMzEuMy0xMS40LTQzLjUgMGwtMjI0IDIwOGMtOS42IDktMTIuOCAyMi45LTggMzUuMVM1MC44IDI3MiA2NCAyNzJsMTYgMCAwIDE3NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTYgMGMtMjEuMi0yOS41LTM0LjMtNjUuMy0zNS45LTEwNEwyNzIgNDA4Yy04LjggMC0xNi03LjItMTYtMTZsMC00MC00MCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDAgMCAwLTQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQwIDIwIDBjMzQuOS00OC41IDkxLjctODAgMTU2LTgwIDEwLjcgMCAyMS4xIC45IDMxLjMgMi41TDMwOS44IDguNnpNNDk2IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTIyLjYtMTQ0bDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwbC0zNi43LTM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDM2LjctMzYuNy0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwzNi43IDM2LjcgMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNkw1MTguNiA0MDB6Il19LHg4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZS1saXN0IixpY29uOls0NDgsNTEyLFsidGgtbGlzdCJdLCJmMDBiIiwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em02NCAwbDAgNjQgNjQgMCAwLTY0LTY0IDB6bTMyMCAwbC0xOTIgMCAwIDY0IDE5MiAwIDAtNjR6TTY0IDIyNGwwIDY0IDY0IDAgMC02NC02NCAwem0zMjAgMGwtMTkyIDAgMCA2NCAxOTIgMCAwLTY0ek02NCAzNTJsMCA2NCA2NCAwIDAtNjQtNjQgMHptMzIwIDBsLTE5MiAwIDAgNjQgMTkyIDAgMC02NHoiXX0sdkh0PXg4ZSx4SHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmxhc2stdmlhbCIsaWNvbjpbNjQwLDUxMixbXSwiZTRmMyIsIk0xODQuNiA0MTEuNWMtMy4xIDcuMy01LjQgMTQuOS02LjggMjIuNi0xNC41IDguOC0zMS41IDEzLjktNDkuOCAxMy45LTUzIDAtOTYtNDMtOTYtOTZMMzIgNjRDMTQuMyA2NCAwIDQ5LjcgMCAzMlMxNC4zIDAgMzIgMEwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDI1NS42LTM5LjQgOTEuOXpNOTYgNjRsMCAxMjggNjQgMCAwLTEyOC02NCAwek0zNTIgMEw1MTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDE1My40IDkxLjMgMjEzYzIuMyA1LjQgMy44IDExLjEgNC40IDE3bC4zIC42LS4zIDBjLjIgMS44IC4zIDMuNiAuMyA1LjQgMCAzMi4zLTI2LjIgNTguNi01OC42IDU4LjZsLTI2Ni45IDBjLTMyLjMgMC01OC42LTI2LjItNTguNi01OC42IDAtMS44IC4xLTMuNiAuMy01LjRsLS4zIDAgLjMtLjZjLjYtNS44IDIuMS0xMS42IDQuNC0xN0wzMjAgMjE3LjQgMzIwIDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlMzMDIuMyAwIDMyMCAwbDMyIDB6TTQ1My4yIDI0Mi42Yy0zLjQtOC01LjItMTYuNS01LjItMjUuMmwwLTE1My40LTY0IDAgMCAxNTMuNGMwIDguNy0xLjggMTcuMi01LjIgMjUuMmwtMzMuMiA3Ny40IDE0MC43IDAtMzMuMi03Ny40eiJdfSx5OGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls1MTIsNTEyLFsiZXhjbGFtYXRpb24tY2lyY2xlIl0sImYwNmEiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAxIDAtNTEyIDI1NiAyNTYgMCAxIDEgMCA1MTJ6bTAtMTkyYTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHptMC0xOTJjLTE4LjIgMC0zMi43IDE1LjUtMzEuNCAzMy43bDcuNCAxMDRjLjkgMTIuNiAxMS40IDIyLjMgMjMuOSAyMi4zIDEyLjYgMCAyMy05LjcgMjMuOS0yMi4zbDcuNC0xMDRjMS4zLTE4LjItMTMuMS0zMy43LTMxLjQtMzMuN3oiXX0seUh0PXk4ZSx3OGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGF4aSIsaWNvbjpbNTEyLDUxMixbMTI4NjYyLCJjYWIiXSwiZjFiYSIsIk0xOTIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMi04LjkgMGMtNDIgMC03OS4xIDI3LjMtOTEuNiA2Ny40bC0yMyA3My41QzE0LjUgMjE5LjEgMCAyNDMuOSAwIDI3MkwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzIgMzIwIDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTc2YzAtMjguMS0xNC41LTUyLjktMzYuNC02Ny4xbC0yMy03My41QzQ0MC4xIDkxLjMgNDAyLjkgNjQgMzYwLjkgNjRsLTguOSAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJMMTkyIDB6TTE1MS4xIDEyOGwyMDkuOSAwYzE0IDAgMjYuNCA5LjEgMzAuNSAyMi41bDEzIDQxLjUtMjk2LjkgMCAxMy00MS41YzQuMi0xMy40IDE2LjUtMjIuNSAzMC41LTIyLjV6TTk2IDI3MmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTI4OCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAweiJdfSx3SHQ9dzhlLE04ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZXh0LXNsYXNoIixpY29uOls1NzYsNTEyLFsicmVtb3ZlLWZvcm1hdCJdLCJmODdkIiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMMzIyLjcgMjU2LjkgMzY4LjIgOTYgNDcxIDk2IDQ2NSAxMjAuMmMtNC4zIDE3LjEgNi4xIDM0LjUgMjMuMyAzOC44czM0LjUtNi4xIDM4LjgtMjMuM2wxMS00NC4xQzU0NS42IDYxLjMgNTIyLjcgMzIgNDkxLjUgMzJsLTMxOSAwYy0xOS44IDAtMzcuMyAxMi4xLTQ0LjUgMzAuMWwtODctODd6TTE4MC40IDExNC41bDQuNi0xOC41IDExNi43IDAtMzAuOCAxMDktOTAuNS05MC41ek0yNDEgMzEwLjhMMjExLjMgNDE2IDE2MCA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQyLjIgMCAxNS4xLTUzLjMtNTEuOS01MS45eiJdfSxNSHQ9TThlLGtIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW9wbGUtcHVsbGluZyIsaWNvbjpbNTc2LDUxMixbXSwiZTUzNSIsIk04MCA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRMMCAzMjBjMCAxNy43IDE0LjMgMzIgMzIgMzIgOS44IDAgMTguNS00LjQgMjQuNC0xMS4yTDgwLjQgNDg1LjNjMi45IDE3LjQgMTkuNCAyOS4yIDM2LjggMjYuM3MyOS4yLTE5LjQgMjYuMy0zNi44bC0yMC41LTEyMi43IDE1LjcgMCAzMCAxMzQuOWMzLjggMTcuMyAyMC45IDI4LjEgMzguMiAyNC4zczI4LjEtMjAuOSAyNC4zLTM4LjJsLTU3LjMtMjU4IDExNi4zIDUzLjhjLjUgLjMgMS4xIC41IDEuNiAuNyA4LjYgMy42IDE4IDMuMSAyNS45LS43IDMuNC0xLjYgNi42LTMuOSA5LjMtNi43IDMuMS0zLjIgNS41LTcgNy4xLTExLjQgLjEtLjMgLjItLjcgLjMtMWwyLjUtNy41YzUuNy0xNy4xIDE4LjMtMzAuOSAzNC43LTM4LjJsOC0zLjVjMS0uNCAxLjktLjggMi45LTEuMmwtMTYuOSA2My41Yy01LjYgMjEuMS0uMSA0My42IDE0LjcgNTkuN2w3MC43IDc3LjEgMjIgODguMWM0LjMgMTcuMSAyMS43IDI3LjYgMzguOCAyMy4zczI3LjYtMjEuNyAyMy4zLTM4LjhsLTIzLTkyLjFjLTEuOS03LjgtNS44LTE0LjktMTEuMi0yMC44bC00OS41LTU0IDE5LjMtNjUuNSA5LjYgMjNjNC40IDEwLjYgMTIuNSAxOS4zIDIyLjggMjQuNWwyNi43IDEzLjNjMTUuOCA3LjkgMzUgMS41IDQyLjktMTQuM3MxLjUtMzUtMTQuMy00Mi45bC0yMS40LTEwLjctMTUuMy0zNi44Yy0xNy4xLTQxLjEtNTcuMy02Ny45LTEwMS45LTY3LjktMjIuOCAwLTQ1LjMgNC44LTY2LjEgMTRsLTggMy41Yy0yNC40IDEwLjktNDQuNiAyOS01OC4xIDUxLjZMMTU3LjMgMTM2LjlDMTQ0LjcgMTMxIDEzMC45IDEyOCAxMTcgMTI4bC01MyAwek00NjQgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0zNDkuNyAzMzUuNmwtMjUgNjIuNC01OS40IDU5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMzcyLjMgNDQxYzQuNi00LjYgOC4yLTEwLjEgMTAuNi0xNi4xbDE0LjUtMzYuMi00MC43LTQ0LjRjLTIuNS0yLjctNC44LTUuNi03LTguNnoiXX0sU0h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhY2t3YXJkIixpY29uOls1NzYsNTEyLFs5MTk0XSwiZjA0YSIsIk0yMDQuMyA0My4xQzIxNS45IDMyIDIzMyAyOC45IDI0Ny43IDM1LjJTMjcyIDU2IDI3MiA3MmwwIDEzNi4zIDE3Mi4zLTE2NS4xQzQ1NS45IDMyIDQ3MyAyOC45IDQ4Ny43IDM1LjJTNTEyIDU2IDUxMiA3MmwwIDM2OGMwIDE2LTkuNiAzMC41LTI0LjMgMzYuOHMtMzEuOCAzLjItNDMuNC03LjlMMjcyIDMwMy43IDI3MiA0NDBjMCAxNi05LjYgMzAuNS0yNC4zIDM2LjhzLTMxLjggMy4yLTQzLjQtNy45bC0xOTItMTg0QzQuNSAyNzcuMyAwIDI2Ni45IDAgMjU2czQuNS0yMS4zIDEyLjMtMjguOWwxOTItMTg0eiJdfSxrOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyLWJ1cnN0IixpY29uOls2NDAsNTEyLFsiY2FyLWNyYXNoIl0sImY1ZTEiLCJNMjMyIDE2LjFsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjR6TTMyIDE2OC4xbDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjR6TTI4MS41IDcwLjZjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsMzMuOS0zMy45YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMMjgxLjUgMzYuNmMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjl6bS0xODEgMjE1bDMzLjktMzMuOWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDY2LjYgMjUxLjZjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMHpNNjYuNiAyLjdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDMzLjkgMzMuOWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMMTAwLjUgMi43QzkxLjEtNi43IDc2LTYuNyA2Ni42IDIuN3pNMzUyLjkgMTc1LjRMNTA1IDIxNi4yYzYuNCAxLjcgMTEuMSA3LjMgMTEuOCAxMy45bDcuMiA3NC0yMzEuNS02MiA0My4yLTYwLjVjMy45LTUuNCAxMC43LTcuOSAxNy4yLTYuMnpNMjIzLjYgMjI4LjVsLTIuMSAyLjljLTIxLjcgNS41LTM5LjkgMjIuMy00Ni4xIDQ1LjUtNC4xIDE1LjUtMTIuNCA0Ni40LTI0LjggOTIuN2wtOC4zIDMwLjljLTQuNiAxNy4xIDUuNiAzNC42IDIyLjYgMzkuMmwxNS41IDQuMWMxNy4xIDQuNiAzNC42LTUuNiAzOS4yLTIyLjZsOC4zLTMwLjkgMjc4LjIgNzQuNS04LjMgMzAuOWMtNC42IDE3LjEgNS42IDM0LjYgMjIuNiAzOS4ybDE1LjUgNC4xYzE3LjEgNC42IDM0LjYtNS42IDM5LjItMjIuNiA0LjEtMTUuNSAxMi40LTQ2LjQgMjQuOC05Mi43bDguMy0zMC45YzYuMi0yMy4yLTEuMS00Ni44LTE3LjItNjIuNWwtLjMtMy42LTEwLTEwM2MtMy4yLTMzLjItMjYuNy02MC45LTU4LjktNjkuNUwzNjkuNSAxMTMuNmMtMzIuMi04LjYtNjYuNCAzLjYtODUuOCAzMC44bC02MC4yIDg0LjJ6bTQ4LjcgNTcuOGEzMiAzMiAwIDEgMSAtMTYuNiA2MS44IDMyIDMyIDAgMSAxIDE2LjYtNjEuOHptMjA4LjEgODguOWEzMiAzMiAwIDEgMSA2MS44IDE2LjYgMzIgMzIgMCAxIDEgLTYxLjgtMTYuNnoiXX0sekh0PWs4ZSxTOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGluayIsaWNvbjpbNTc2LDUxMixbMTI4Mjc5LCJjaGFpbiJdLCJmMGMxIiwiTTQxOS41IDk2Yy0xNi42IDAtMzIuNyA0LjUtNDYuOCAxMi43LTE1LjgtMTYtMzQuMi0yOS40LTU0LjUtMzkuNSAyOC4yLTI0IDY0LjEtMzcuMiAxMDEuMy0zNy4yIDg2LjQgMCAxNTYuNSA3MCAxNTYuNSAxNTYuNSAwIDQxLjUtMTYuNSA4MS4zLTQ1LjggMTEwLjZsLTcxLjEgNzEuMWMtMjkuMyAyOS4zLTY5LjEgNDUuOC0xMTAuNiA0NS44LTg2LjQgMC0xNTYuNS03MC0xNTYuNS0xNTYuNSAwLTEuNSAwLTMgLjEtNC41IC41LTE3LjcgMTUuMi0zMS42IDMyLjktMzEuMXMzMS42IDE1LjIgMzEuMSAzMi45YzAgLjkgMCAxLjggMCAyLjYgMCA1MS4xIDQxLjQgOTIuNSA5Mi41IDkyLjUgMjQuNSAwIDQ4LTkuNyA2NS40LTI3LjFsNzEuMS03MS4xYzE3LjMtMTcuMyAyNy4xLTQwLjkgMjcuMS02NS40IDAtNTEuMS00MS40LTkyLjUtOTIuNS05Mi41ek0yNzUuMiAxNzMuM2MtMS45LS44LTMuOC0xLjktNS41LTMuMS0xMi42LTYuNS0yNy0xMC4yLTQyLjEtMTAuMi0yNC41IDAtNDggOS43LTY1LjQgMjcuMUw5MS4xIDI1OC4yYy0xNy4zIDE3LjMtMjcuMSA0MC45LTI3LjEgNjUuNCAwIDUxLjEgNDEuNCA5Mi41IDkyLjUgOTIuNSAxNi41IDAgMzIuNi00LjQgNDYuNy0xMi42IDE1LjggMTYgMzQuMiAyOS40IDU0LjYgMzkuNS0yOC4yIDIzLjktNjQgMzcuMi0xMDEuMyAzNy4yLTg2LjQgMC0xNTYuNS03MC0xNTYuNS0xNTYuNSAwLTQxLjUgMTYuNS04MS4zIDQ1LjgtMTEwLjZsNzEuMS03MS4xYzI5LjMtMjkuMyA2OS4xLTQ1LjggMTEwLjYtNDUuOCA4Ni42IDAgMTU2LjUgNzAuNiAxNTYuNSAxNTYuOSAwIDEuMyAwIDIuNiAwIDMuOS0uNCAxNy43LTE1LjEgMzEuNi0zMi44IDMxLjJzLTMxLjYtMTUuMS0zMS4yLTMyLjhjMC0uOCAwLTEuNSAwLTIuMyAwLTMzLjctMTgtNjMuMy00NC44LTc5LjZ6Il19LENIdD1TOGUsejhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhY2t3YXJkLXN0ZXAiLGljb246WzM4NCw1MTIsWyJzdGVwLWJhY2t3YXJkIl0sImYwNDgiLCJNMzYzIDM2LjhjLTEyLjktNy0yOC43LTYuMy00MSAxLjhMNjQgMjA4LjEgNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE0NC4xIDI1OCAxNjkuNmMxMi4zIDguMSAyOCA4LjggNDEgMS44czIxLTIwLjUgMjEtMzUuMmwwLTM2OGMwLTE0LjctOC4xLTI4LjItMjEtMzUuMnoiXX0sX0h0PXo4ZSxUSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToieCIsaWNvbjpbMzg0LDUxMixbMTIwXSwiNTgiLCJNMzc2LjYgODQuNWMxMS4zLTEzLjYgOS41LTMzLjgtNC4xLTQ1LjFzLTMzLjgtOS41LTQ1LjEgNC4xTDE5MiAyMDYgNTYuNiA0My41QzQ1LjMgMjkuOSAyNS4xIDI4LjEgMTEuNSAzOS40Uy0zLjkgNzAuOSA3LjQgODQuNUwxNTAuMyAyNTYgNy40IDQyNy41Yy0xMS4zIDEzLjYtOS41IDMzLjggNC4xIDQ1LjFzMzMuOCA5LjUgNDUuMS00LjFMMTkyIDMwNiAzMjcuNCA0NjguNWMxMS4zIDEzLjYgMzEuNSAxNS40IDQ1LjEgNC4xczE1LjQtMzEuNSA0LjEtNDUuMUwyMzMuNyAyNTYgMzc2LjYgODQuNXoiXX0sQzhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS11c2VyIixpY29uOls1MTIsNTEyLFs2MjE0MiwidXNlci1jaXJjbGUiXSwiZjJiZCIsIk0zOTkgMzg0LjJDMzc2LjkgMzQ1LjggMzM1LjQgMzIwIDI4OCAzMjBsLTY0IDBjLTQ3LjQgMC04OC45IDI1LjgtMTExIDY0LjIgMzUuMiAzOS4yIDg2LjIgNjMuOCAxNDMgNjMuOHMxMDcuOC0yNC43IDE0My02My44ek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0yNTYgMTZhNzIgNzIgMCAxIDAgMC0xNDQgNzIgNzIgMCAxIDAgMCAxNDR6Il19LExIdD1DOGUsXzhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlY3RhbmdsZS1saXN0IixpY29uOls1MTIsNTEyLFsibGlzdC1hbHQiXSwiZjAyMiIsIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCA2NHptOTYgMjU2YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6bS0zMi05NmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6bTEyMC01NmwxNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTAgMTI4bDE0NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sJEh0PV84ZSxUOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZCIsaWNvbjpbNTEyLDUxMixbMTI5MzA2LDk5OTUsImhhbmQtcGFwZXIiXSwiZjI1NiIsIk0yODggMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyMDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xNzZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyNzJjMCAxLjUgMCAzLjEgLjEgNC42TDY3LjYgMjgzYy0xNi0xNS4yLTQxLjMtMTQuNi01Ni42IDEuNFMtMy42IDMyNS43IDEyLjQgMzQxTDEyNC44IDQ0OGM0My4xIDQxLjEgMTAwLjQgNjQgMTYwIDY0bDE5LjIgMGM5Ny4yIDAgMTc2LTc4LjggMTc2LTE3NmwwLTIwOGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDExMmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTE3NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE3NmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTIwOHoiXX0sREh0PVQ4ZSxBSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FuY2VyIixpY29uOls1MTIsNTEyLFtdLCJlODQ3IiwiTTQwOCAxNTJjNTcuNCAwIDEwNCA0Ni42IDEwNCAxMDQgMCAxNDEuNC0xMTQuNiAyNTYtMjU2IDI1Ni01NC4zIDAtMTA0LjgtMTctMTQ2LjMtNDUuOS0xNC41LTEwLjEtMTgtMzAuMS03LjktNDQuNnMzMC4xLTE4IDQ0LjYtNy45YzMxLjEgMjEuNyA2OC45IDM0LjQgMTA5LjcgMzQuNCA2Ny45IDAgMTI3LjUtMzUuMyAxNjEuNy04OC41LTMuMiAuMy02LjQgLjUtOS43IC41LTU3LjQgMC0xMDQtNDYuNi0xMDQtMTA0czQ2LjYtMTA0IDEwNC0xMDR6TTI1NiAwYzU0LjMgMCAxMDQuOCAxNyAxNDYuMyA0NS45IDE0LjUgMTAuMSAxOCAzMC4xIDcuOSA0NC42cy0zMC4xIDE4LTQ0LjYgNy45Yy0zMS4xLTIxLjctNjguOS0zNC40LTEwOS43LTM0LjQtNjcuOSAwLTEyNy41IDM1LjItMTYxLjcgODguNCAzLjItLjMgNi40LS40IDkuNy0uNCA1Ny40IDAgMTA0IDQ2LjYgMTA0IDEwNFMxNjEuNCAzNjAgMTA0IDM2MCAwIDMxMy40IDAgMjU2QzAgMjU0LjEgMCAyNTIuMiAuMSAyNTAuNCAzLjEgMTExLjYgMTE2LjUgMCAyNTYgMHpNMTA0IDIxNmE0MCA0MCAwIDEgMCAwIDgwIDQwIDQwIDAgMSAwIDAtODB6bTMwNCAwYTQwIDQwIDAgMSAwIDAgODAgNDAgNDAgMCAxIDAgMC04MHoiXX0sTDhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZhbi1zaHV0dGxlIixpY29uOls1NzYsNTEyLFsxMjg2NTYsInNodXR0bGUtdmFuIl0sImY1YjYiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzMzZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsLjQgMGM0IDQ0LjkgNDEuNyA4MCA4Ny42IDgwczgzLjYtMzUuMSA4Ny42LTgwbDEwNC43IDBjNCA0NC45IDQxLjcgODAgODcuNiA4MCA0Ni4xIDAgODMuOS0zNS40IDg3LjctODAuNSAzMS43LTMuOCA1Ni4zLTMwLjggNTYuMy02My41bDAtMTAxLjNjMC0xMy44LTQuNS0yNy4zLTEyLjgtMzguNGwtODAtMTA2LjdDNDcxLjEgNzMuNSA0NTIuMSA2NCA0MzIgNjRMNjQgNjR6TTUwNCAyMjRsLTEyMCAwIDAtOTYgNDggMCA3MiA5NnpNNjQgMjI0bDAtOTYgOTYgMCAwIDk2LTk2IDB6bTE2MCAwbDAtOTYgOTYgMCAwIDk2LTk2IDB6TTM5MiAzOTJhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHpNMTUyIDM1MmE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6Il19LEVIdD1MOGUsUEh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0YWlycyIsaWNvbjpbNTc2LDUxMixbXSwiZTI4OSIsIk0zODQgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwIDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk2IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMCAwLTk2eiJdfSxJSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG9yc2UtaGVhZCIsaWNvbjpbNTEyLDUxMixbXSwiZjdhYiIsIk0wIDQ2NEwwIDMxNi45QzAgMjA4LjUgNjguMyAxMTEuOCAxNzAuNSA3NS42TDM0MC4yIDE1LjVjMjEuNC03LjYgNDMuOCA4LjMgNDMuOCAzMC45IDAgMTEtNS41IDIxLjItMTQuNiAyNy4zTDMzNiA5NmM0OC4xIDAgOTEuMiAyOS44IDEwOC4xIDc0LjlsNDguNiAxMjkuNWMxMS44IDMxLjQgNC4xIDY2LjgtMTkuNiA5MC41LTE2IDE2LTM3LjggMjUuMS02MC41IDI1LjFsLTMuNCAwYy0yNi4xIDAtNTAuOS0xMS42LTY3LjYtMzEuN2wtMzIuMy0zOC43Yy0xMS43IDQuMS0yNC4yIDYuNC0zNy4zIDYuNGwtLjEgMGMtNi4zIDAtMTIuNS0uNS0xOC42LTEuNS0zLjYtLjYtNy4yLTEuNC0xMC43LTIuM2wwIDBjLTI4LjktNy44LTUzLjEtMjYuOC02Ny44LTUyLjItNC40LTcuNy0xNC4yLTEwLjMtMjEuOS01LjhzLTEwLjMgMTQuMi01LjggMjEuOWMyNCA0MS41IDY4LjMgNzAgMTE5LjMgNzEuOWw0Ny4yIDcwLjhjNCA2LjEgNi4yIDEzLjIgNi4yIDIwLjQgMCAyMC4zLTE2LjUgMzYuOC0zNi44IDM2LjhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OHpNMzI4IDIyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6Il19LE5IdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2YXVsdCIsaWNvbjpbNTEyLDUxMixbXSwiZTJjNSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0IDAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMjU2IDBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjU2IDI1NmE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6TTY0IDI1NmExMjggMTI4IDAgMSAxIDI1NiAwIDEyOCAxMjggMCAxIDEgLTI1NiAwem0zODQtNDhjMCAxNy44LTkuNyAzMy4zLTI0IDQxLjZsMCA3OC40YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNzguNGMtMTQuMy04LjMtMjQtMjMuOC0yNC00MS42IDAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDh6Il19LFJIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG9zZWQtY2FwdGlvbmluZy1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZTEzNSIsIk03LTI0LjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBMMTI5LjggNjQgNDgwIDY0YzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMjUuNS0xNC45IDQ3LjQtMzYuNCA1Ny44TDU2OSA1MDMuMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDcgOS4xQy0yLjMtLjMtMi4zLTE1LjUgNy0yNC45em0zNDUgMzExbDAtNzAuMmMwLTQuNCAzLjYtOCA4LThsMzIgMGM0LjQgMCA4IDMuNiA4IDggMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTMwLjktMjUuMS01Ni01Ni01NmwtMzIgMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCAyMi4yIDQ4IDQ4em02MS41IDYxLjVjMjAuMi04LjQgMzQuNS0yOC40IDM0LjUtNTEuNyAwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGMwIDQuNC0zLjYgOC04IDhsLTIyLjIgMCA0My43IDQzLjd6TTEzMC4zIDIwMC4xYy0xLjUgNS0yLjMgMTAuNC0yLjMgMTUuOWwwIDgwYzAgMzAuOSAyNS4xIDU2IDU2IDU2bDMyIDBjMTguMSAwIDM0LjEtOC41IDQ0LjQtMjEuOEwzNzguMiA0NDggOTYgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTI1NmMwLTcuOCAxLjQtMTUuMyA0LTIyLjJsOTQuMyA5NC4zem05My44IDkzLjhjLS4xIC43LS4xIDEuNC0uMSAyLjEgMCA0LjQtMy42IDgtOCA4bC0zMiAwYy00LjQgMC04LTMuNi04LThsMC01MC4yIDQ4LjEgNDguMXoiXX0sT0h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRydW0tc3RlZWxwYW4iLGljb246WzU3Niw1MTIsW10sImY1NmEiLCJNMjg4IDMyYzE1OS4xIDAgMjg4IDQ4IDI4OCAxMjhsMCAxOTJjMCA4MC0xMjguOSAxMjgtMjg4IDEyOFMwIDQzMiAwIDM1MkwwIDE2MEMwIDgwIDEyOC45IDMyIDI4OCAzMnpNNTI4IDE2MGMwLTkuOS04LTI5LjktNTUtNDkuOC0xOC42LTcuOS00MC45LTE0LjQtNjYtMTkuNGwtMjcuOCA0My42Yy03LjMgMTEuNS0xMS4yIDI0LjgtMTEuMiAzOC40IDAgMTcuNSA2LjQgMzQuNCAxOC4xIDQ3LjVsOS44IDExYzI5LjgtNS4yIDU1LjktMTIuNSA3Ny4yLTIxLjUgNDcuMS0xOS45IDU1LTM5LjkgNTUtNDkuOHpNMzQ5LjIgMjM3LjNjLTgtMjYuMi0zMi40LTQ1LjMtNjEuMi00NS4zcy01My4zIDE5LjEtNjEuMiA0NS4zYzE5LjQgMS43IDM5LjkgMi43IDYxLjIgMi43czQxLjgtLjkgNjEuMi0yLjd6TTE2OSA5MC44Yy0yNS4yIDUtNDcuNCAxMS42LTY2IDE5LjQtNDcuMSAxOS45LTU1IDM5LjktNTUgNDkuOHM4IDI5LjkgNTUgNDkuOGMyMS4zIDkgNDcuNCAxNi4zIDc3LjIgMjEuNWw5LjgtMTFjMTEuNi0xMy4xIDE4LjEtMzAgMTguMS00Ny41IDAtMTMuNi0zLjktMjYuOS0xMS4yLTM4LjRMMTY5IDkwLjh6bTU2LjMtOGMtLjkgNC4zLTEuNCA4LjctMS40IDEzLjIgMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NGMwLTQuNS0uNS05LTEuNC0xMy4yLTE5LjgtMS44LTQwLjgtMi44LTYyLjYtMi44cy00Mi44IDEtNjIuNiAyLjh6Il19LEZIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0aHVtYnMtdXAiLGljb246WzUxMiw1MTIsWzEyODA3Nyw2MTU3NV0sImYxNjQiLCJNODAgMTYwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC00OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwwIDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw0OCAwek0yNzAuNiAxNkMyOTcuOSAxNiAzMjAgMzguMSAzMjAgNjUuNGwwIDQuMmMwIDYuOC0xLjMgMTMuNi0zLjggMTkuOUwyODggMTYwIDQ0OCAxNjBjMjYuNSAwIDQ4IDIxLjUgNDggNDggMCAxOS43LTExLjkgMzYuNi0yOC45IDQ0IDE3IDcuNCAyOC45IDI0LjMgMjguOSA0NCAwIDIzLjQtMTYuOCA0Mi45LTM5IDQ3LjEgNC40IDcuMyA3IDE1LjggNyAyNC45IDAgMjIuMi0xNSA0MC44LTM1LjQgNDYuMyAyLjIgNS41IDMuNCAxMS41IDMuNCAxNy43IDAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC04Ny45IDBjLTM2LjMgMC03MS42LTEyLjQtOTkuOS0zNS4xTDE4NCA0MzUuMmMtMTUuMi0xMi4xLTI0LTMwLjUtMjQtNTBsMC0xODYuNmMwLTE0LjkgMy41LTI5LjYgMTAuMS00Mi45TDIyNi4zIDQzLjNDMjM0LjcgMjYuNiAyNTEuOCAxNiAyNzAuNiAxNnoiXX0sQkh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0YW1wIixpY29uOls1MTIsNTEyLFtdLCJmNWJmIiwiTTMxMiAyMDEuOGMwLTE3LjQgOS4yLTMzLjIgMTkuOS00NyAxMi42LTE2LjIgMjAuMS0zNi42IDIwLjEtNTguOCAwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmMwIDIyLjEgNy41IDQyLjUgMjAuMSA1OC44IDEwLjcgMTMuOCAxOS45IDI5LjYgMTkuOSA0NyAwIDI5LjktMjQuMyA1NC4yLTU0LjIgNTQuMkwxMTIgMjU2Yy02MS45IDAtMTEyIDUwLjEtMTEyIDExMiAwIDI2LjUgMjEuNSA0OCA0OCA0OGw0MTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OCAwLTYxLjktNTAuMS0xMTItMTEyLTExMmwtMzMuOCAwYy0yOS45IDAtNTQuMi0yNC4zLTU0LjItNTQuMnpNNTYgNDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQwMCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDU2IDQ2NHoiXX0sSEh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1lbm9yYWgiLGljb246WzY0MCw1MTIsW10sImY2NzYiLCJNMjAuOCA3LjRDMjIuOCAyLjkgMjcuMSAwIDMyIDBzOS4yIDIuOSAxMS4yIDcuNEw2MS4zIDQ5LjdjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xTDY0IDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgODEuNyAwIDY0bDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMUwyMC44IDcuNHptOTYgMEMxMTguOCAyLjkgMTIzLjEgMCAxMjggMHM5LjIgMi45IDExLjIgNy40bDE4LjIgNDIuNGMxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFsMCAxLjJjMCAxNy43LTE0LjMgMzItMzIgMzJTOTYgODEuNyA5NiA2NGwwLTEuMmMwLTQuNSAuOS04LjkgMi43LTEzLjFMMTE2LjggNy40em03Ny44IDQyLjRMMjEyLjggNy40QzIxNC44IDIuOSAyMTkuMSAwIDIyNCAwczkuMiAyLjkgMTEuMiA3LjRsMTguMiA0Mi40YzEuOCA0LjEgMi43IDguNiAyLjcgMTMuMWwwIDEuMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEuMmMwLTQuNSAuOS04LjkgMi43LTEzLjF6TTMwOC44IDcuNEMzMTAuOCAyLjkgMzE1LjEgMCAzMjAgMHM5LjIgMi45IDExLjIgNy40bDE4LjIgNDIuNGMxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFsMCAxLjJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xLjJjMC00LjUgLjktOC45IDIuNy0xMy4xTDMwOC44IDcuNHptNzcuOCA0Mi40TDQwNC44IDcuNEM0MDYuOCAyLjkgNDExLjEgMCA0MTYgMHM5LjIgMi45IDExLjIgNy40bDE4LjIgNDIuNGMxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFsMCAxLjJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xLjJjMC00LjUgLjktOC45IDIuNy0xMy4xek01MDAuOCA3LjRDNTAyLjggMi45IDUwNy4xIDAgNTEyIDBzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xbDAgMS4yYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMUw1MDAuOCA3LjR6bTc3LjggNDIuNEw1OTYuOCA3LjRDNTk4LjggMi45IDYwMy4xIDAgNjA4IDBzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xbDAgMS4yYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMXpNMzIgMTI4YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE5MiAwIDAtMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxNjAgMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDUzLTQzIDk2LTk2IDk2bC0xOTIgMCAwIDY0IDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxMjggMCAwLTY0LTE5MiAwYy01MyAwLTk2LTQzLTk2LTk2TDAgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyem05NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4LTY0IDAgMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjgtNjQgMCAwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjgtNjQgMCAwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOC02NCAwIDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxxSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hpbGRyZW4iLGljb246WzY0MCw1MTIsW10sImU0ZTEiLCJNMTYwLjUgMGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHptLTcyIDQ4MGwwLTgwLTE3LjggMGMtMTAuOSAwLTE4LjYtMTAuNy0xNS4yLTIxLjFMODYuNyAyODUuNSA1OCAzMjMuM2MtMTAuNyAxNC4xLTMwLjggMTYuOC00NC44IDYuMlMtMy43IDI5OC43IDcgMjg0LjdMNjUuOSAyMDdjMjIuNC0yOS42IDU3LjUtNDcgOTQuNi00N3M3Mi4yIDE3LjQgOTQuNiA0N0wzMTQgMjg0LjdjMTAuNyAxNC4xIDcuOSAzNC4yLTYuMiA0NC44cy0zNC4yIDcuOS00NC44LTYuMmwtMjguNy0zNy44IDMxLjEgOTMuNGMzLjUgMTAuNC00LjMgMjEuMS0xNS4yIDIxLjFsLTE3LjggMCAwIDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtODAtMTYgMCAwIDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyek00ODAuNSAwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4em0tOCAzODRsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE3OS41LTEyLjkgMjAuNWMtOS40IDE1LTI5LjIgMTkuNC00NC4xIDEwcy0xOS40LTI5LjItMTAtNDQuMWw1MS43LTgyLjFjMTcuNi0yNy45IDQ4LjMtNDQuOSA4MS4yLTQ0LjlsMTIuMyAwYzMzIDAgNjMuNyAxNi45IDgxLjIgNDQuOUw2MTkuNiAyODdjOS40IDE1IDQuOSAzNC43LTEwIDQ0LjFzLTM0LjcgNC45LTQ0LjEtMTBsLTEyLjktMjAuNSAwIDE3OS41YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTYtMTYgMHoiXX0sJDhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYXJ0LWxpbmUiLGljb246WzUxMiw1MTIsWyJsaW5lLWNoYXJ0Il0sImYyMDEiLCJNNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRMMCA0MDBjMCA0NC4yIDM1LjggODAgODAgODBsNDAwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMODAgNDE2Yy04LjggMC0xNi03LjItMTYtMTZMNjQgNjR6bTQwNi42IDg2LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMzIwIDIxMC43IDI2Mi42IDE1My40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNzMuNC03My40IDU3LjQgNTcuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4eiJdfSxWSHQ9JDhlLEQ4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtZW52ZWxvcGUiLGljb246WzQ0OCw1MTIsWyJlbnZlbG9wZS1zcXVhcmUiXSwiZjE5OSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMDkuMSAyNjcuOUwxMDguNCAyMDcuNGMtNy43LTQuNi0xMi40LTEyLjktMTIuNC0yMS45IDAtMTQuMSAxMS40LTI1LjUgMjUuNS0yNS41bDIwNC45IDBjMTQuMSAwIDI1LjUgMTEuNCAyNS41IDI1LjUgMCA5LTQuNyAxNy4zLTEyLjQgMjEuOUwyMzguOSAyNjcuOWMtNC41IDIuNy05LjYgNC4xLTE0LjkgNC4xcy0xMC40LTEuNC0xNC45LTQuMXpNMzUyIDIzNy4zbDAgODIuN2MwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtODIuNyA5Ni43IDU4QzIwMi4xIDMwMSAyMTMgMzA0IDIyNCAzMDRzMjEuOS0zIDMxLjMtOC43bDk2LjctNTh6Il19LGpIdD1EOGUsQThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhbi1zbW9raW5nIixpY29uOls1MTIsNTEyLFsxMjg2ODUsInNtb2tpbmctYmFuIl0sImY1NGQiLCJNOTkuNSAxNDQuOGw3OS4yIDc5LjItNTAuNyAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDE0Ni43IDAgOTIuNSA5Mi41Yy0zMS40IDIyLjQtNjkuOCAzNS41LTExMS4yIDM1LjUtMTA2IDAtMTkyLTg2LTE5Mi0xOTIgMC00MS41IDEzLjEtNzkuOSAzNS41LTExMS4yek0zMzMuMyAyODhsLTMyLTMyIDgyLjcgMCAwIDMyLTUwLjcgMHptMzIgMzJsMTguNyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJMMjY5LjMgMjI0IDE0NC44IDk5LjVjMzEuNC0yMi40IDY5LjgtMzUuNSAxMTEuMi0zNS41IDEwNiAwIDE5MiA4NiAxOTIgMTkyIDAgNDEuNS0xMy4xIDc5LjktMzUuNSAxMTEuMkwzNjUuMyAzMjB6TTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yNzIgOTZjLTguOCAwLTE2IDcuMi0xNiAxNiAwIDI2LjUgMjEuNSA0OCA0OCA0OGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnM3LjIgMTYgMTYgMTYgMTYtNy4yIDE2LTE2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZzLTcuMi0xNi0xNi0xNnoiXX0sVUh0PUE4ZSxXSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stZnJvbnQiLGljb246WzQ0OCw1MTIsW10sImUyYjciLCJNMCAxMTJDMCA2Ny44IDM1LjggMzIgODAgMzJsMjg4IDBjNDQuMiAwIDgwIDM1LjggODAgODBsMCAyNTZjMCAyNi4yLTEyLjYgNDkuNC0zMiA2NGwwIDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTMyLTE5MiAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNDhDMTIuNiA0MTcuNCAwIDM5NC4yIDAgMzY4TDAgMTEyem05NiA4MGwwIDY0IDI1NiAwIDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTE5MiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnptMzIgMTYwYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTIyNCAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LE90ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZyIsaWNvbjpbMzg0LDUxMixbMTI3OTcwLDYxNjg3XSwiZjFhZCIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwek0xNzYgMzUybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA4MC05NiAwIDAtODBjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTk2IDExMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNDAgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNOTYgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE0NC0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2eiJdfSxHSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVsbHNleWUiLGljb246WzUxMiw1MTIsW10sImYxNDAiLCJNNDQ4IDI1NmExOTIgMTkyIDAgMSAwIC0zODQgMCAxOTIgMTkyIDAgMSAwIDM4NCAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0yNTYgODBhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6bTAtMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHpNMjI0IDI1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAweiJdfSxFOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctbGVmdC1sb25nIixpY29uOls1NzYsNTEyLFsibG9uZy1hcnJvdy1sZWZ0Il0sImYxNzciLCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMjggMTI4YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMTA5LjMgMjg4IDU0NCAyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQzNC43IDAgNzMuNC03My40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0xMjggMTI4eiJdfSxZSHQ9RThlLEtIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGVzcy1yb29rIixpY29uOlszODQsNTEyLFs5ODIwXSwiZjQ0NyIsIk0wIDMyTDAgMTMzLjVjMCAxNyA2LjcgMzMuMyAxOC43IDQ1LjNMNjQgMjI0IDY0IDM4NCA3LjggNDU0LjNDMi43IDQ2MC42IDAgNDY4LjQgMCA0NzYuNSAwIDQ5Ni4xIDE1LjkgNTEyIDM1LjUgNTEybDMxMi45IDBjMTkuNiAwIDM1LjUtMTUuOSAzNS41LTM1LjUgMC04LjEtMi43LTE1LjktNy44LTIyLjJsLTU2LjItNzAuMyAwLTE2MCA0NS4zLTQ1LjNjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM0wzODQgMzJjMC0xNy43LTE0LjMtMzItMzItMzJMMzIwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzItNDggMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDE3NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyLTQ4IDAgMC0zMkM5NiAxNC4zIDgxLjcgMCA2NCAwTDMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyeiJdfSxaSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmxlbmRlci1waG9uZSIsaWNvbjpbNTc2LDUxMixbXSwiZjZiNiIsIk0xNTEuNCAxMy4yYzEwLjIgNS44IDE0LjUgMTguNCAxMCAyOS4zTDEzOC4yIDk4LjhjLTMuOSA5LjYtMTMuNyAxNS40LTI0IDE0LjRsLTIwLjItMkM3OC43IDE1Mi45IDc4IDE5OC45IDkxLjkgMjQxLjFsMjIuNC0yLjJjMTAuMy0xIDIwIDQuOCAyNCAxNC40bDIzLjIgNTYuM2M0LjUgMTAuOSAuMiAyMy40LTEwIDI5LjNsLTIuOSAxLjZjLTMzLjYgMTkuMi04MS43IDE2LjItMTA2LjItMjEuNi01Ni4zLTg2LjYtNTYuMy0xOTkuMSAwLTI4NS43IDI0LjYtMzcuNyA3Mi43LTQwLjcgMTA2LjItMjEuNmwyLjkgMS42ek0yMjQgMzM2TDE5My43IDE3LjVDMTkyLjggOC4xIDIwMC4yIDAgMjA5LjYgMGwzMjQgMGMyMS4zIDAgMzYuNiAyMC4zIDMwLjggNDAuOEw1NTMuMSA4MCA0NDAgODBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsOTkuNCAwLTE4LjMgNjQtODEuMSAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDY3LjQgMC0yNy40IDk2LTI1NiAwem04IDQ4bDI0MCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDhjMCAyMi4xLTE3LjkgNDAtNDAgNDBsLTI0MCAwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTQ4YzAtMjIuMSAxNy45LTQwIDQwLTQwem0xMjAgODhhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSxQOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdHVybi11cCIsaWNvbjpbMzg0LDUxMixbImxldmVsLXVwIl0sImYxNDgiLCJNMzIgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTMwNi43IDczLjQgNzMuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC0xMjgtMTI4Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTI4IDEyOGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxNjAgMTA5LjMgMTYwIDQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMHoiXX0sWEh0PVA4ZSxRSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmljeWNsZSIsaWNvbjpbNjQwLDUxMixbMTI4NjkwXSwiZjIwNiIsIk0zMzEuNyA0My4zQzMzNiAzNi4zIDM0My43IDMyIDM1MiAzMmwxMDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNjUuNiAwIDcyLjIgMTQ4LjRjMTAuNy0yLjkgMjEuOS00LjQgMzMuNC00LjQgNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhzLTU3LjMgMTI4LTEyOCAxMjgtMTI4LTU3LjMtMTI4LTEyOGMwLTQyIDIwLjItNzkuMiA1MS40LTEwMi42bC0yMC40LTQxLjktNzMuNSAxNDdjLTIuMyA0LjgtNi4zIDguOC0xMS40IDExLjItLjYgLjMtMS4yIC41LTEuOCAuNy0yLjkgMS4xLTUuOSAxLjYtOC45IDEuNUwyNzEgMzY4Yy03LjkgNjMuMS02MS43IDExMi0xMjcgMTEyLTcwLjcgMC0xMjgtNTcuMy0xMjgtMTI4UzczLjMgMjI0IDE0NCAyMjRjMTAuOCAwIDIxLjIgMS4zIDMxLjIgMy44bDI4LjUtNTYuOS0xMS41LTI2LjktNDAuMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDU2IDBjOS42IDAgMTguMyA1LjcgMjIuMSAxNC41bDE0LjMgMzMuNSAxMjMuNyAwLTM3LjctNzcuNWMtMy42LTcuNC0zLjItMTYuMiAxLjItMjMuMnpNMjI4LjUgMjI4LjdsLTQ1LjYgOTEuMyA4NC44IDAtMzkuMS05MS4zek0zMDUuNyAyODdsNDcuNS05NS04OC4yIDAgNDAuNyA5NXptMTY4LjcgNzUuNWwtMjkuNy02MWMtMTIuOCAxMy0yMC43IDMwLjgtMjAuNyA1MC41IDAgMzkuOCAzMi4yIDcyIDcyIDcyczcyLTMyLjIgNzItNzItMzIuMi03Mi03Mi03MmMtMi43IDAtNS41IC4yLTguMSAuNWwyOS43IDYxYzUuOCAxMS45IC44IDI2LjMtMTEuMSAzMi4xcy0yNi4zIC44LTMyLjEtMTEuMXpNMTQ5LjIgMzY4Yy0yMC4yIDAtMzMuNC0yMS4zLTI0LjMtMzkuNGwyNC4yLTQ4LjVjLTEuNy0uMS0zLjQtLjItNS4xLS4yLTM5LjggMC03MiAzMi4yLTcyIDcyczMyLjIgNzIgNzIgNzJjMzQuMyAwIDYyLjktMjMuOSA3MC4yLTU2bC02NSAweiJdfSxJOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWFycm93LWRvd24iLGljb246WzUxMiw1MTIsWyJhcnJvdy1jaXJjbGUtZG93biJdLCJmMGFiIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMzkgMzc3bC04MC04MGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDM5IDM5IDAtMTUwLjFjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDE1MC4xIDM5LTM5YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtODAgODBjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAweiJdfSxKSHQ9SThlLHV2PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdlYXIiLGljb246WzUxMiw1MTIsWzk4ODEsImNvZyJdLCJmMDEzIiwiTTE5NS4xIDkuNUMxOTguMS01LjMgMjExLjItMTYgMjI2LjQtMTZsNTkuOCAwYzE1LjIgMCAyOC4zIDEwLjcgMzEuMyAyNS41TDMzMiA3OS41YzE0LjEgNiAyNy4zIDEzLjcgMzkuMyAyMi44bDY3LjgtMjIuNWMxNC40LTQuOCAzMC4yIDEuMiAzNy44IDE0LjRsMjkuOSA1MS44YzcuNiAxMy4yIDQuOSAyOS44LTYuNSAzOS45TDQ0NyAyMzMuM2MuOSA3LjQgMS4zIDE1IDEuMyAyMi43cy0uNSAxNS4zLTEuMyAyMi43bDUzLjQgNDcuNWMxMS40IDEwLjEgMTQgMjYuOCA2LjUgMzkuOWwtMjkuOSA1MS44Yy03LjYgMTMuMS0yMy40IDE5LjItMzcuOCAxNC40bC02Ny44LTIyLjVjLTEyLjEgOS4xLTI1LjMgMTYuNy0zOS4zIDIyLjhsLTE0LjQgNjkuOWMtMy4xIDE0LjktMTYuMiAyNS41LTMxLjMgMjUuNWwtNTkuOCAwYy0xNS4yIDAtMjguMy0xMC43LTMxLjMtMjUuNWwtMTQuNC02OS45Yy0xNC4xLTYtMjcuMi0xMy43LTM5LjMtMjIuOEw3My41IDQzMi4zYy0xNC40IDQuOC0zMC4yLTEuMi0zNy44LTE0LjRMNS44IDM2Ni4xYy03LjYtMTMuMi00LjktMjkuOCA2LjUtMzkuOWw1My40LTQ3LjVjLS45LTcuNC0xLjMtMTUtMS4zLTIyLjdzLjUtMTUuMyAxLjMtMjIuN0wxMi4zIDE4NS44Yy0xMS40LTEwLjEtMTQtMjYuOC02LjUtMzkuOUwzNS43IDk0LjFjNy42LTEzLjIgMjMuNC0xOS4yIDM3LjgtMTQuNGw2Ny44IDIyLjVjMTIuMS05LjEgMjUuMy0xNi43IDM5LjMtMjIuOEwxOTUuMSA5LjV6TTI1Ni4zIDMzNmE4MCA4MCAwIDEgMCAtLjYtMTYwIDgwIDgwIDAgMSAwIC42IDE2MHoiXX0sZXF0PXV2LHRxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJzLWFuZC12ZW51cy1idXJzdCIsaWNvbjpbNjQwLDUxMixbXSwiZTUyMyIsIk00NjQtMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzQuNyAwLTYzIDYzYy0yOC40LTE5LjUtNjIuNy0zMS05OS44LTMxLTk3LjIgMC0xNzYgNzguOC0xNzYgMTc2IDAgODYuMyA2Mi4xIDE1OC4xIDE0NCAxNzMuMWwwIDM0LjktMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0zNC45YzgxLjktMTUgMTQ0LTg2LjggMTQ0LTE3My4xIDAtMzctMTEuNC03MS40LTMxLTk5LjhsNjMtNjMgMCAzNC43YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMTJjMC0xNy43LTE0LjMtMzItMzItMzJMNDk2LTY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMzY4IDk2YTExMiAxMTIgMCAxIDEgMCAyMjQgMTEyIDExMiAwIDEgMSAwLTIyNHpNMTkwLjktMjEuOUMxODguNC0yOCAxODIuNi0zMiAxNzYtMzJzLTEyLjQgNC0xNC45IDEwLjFsLTI5LjQgNzQtNzYuMi0yMy4xYy02LjMtMS45LTEzLjEgLjItMTcuMiA1LjNTMzMuOCA0Ni41IDM3IDUyLjJsMzkuNSA2OS4xLTY1LjYgNDUuMWMtNS40IDMuNy04IDEwLjMtNi41IDE2LjdzNi43IDExLjIgMTMuMSAxMi4ybDc4LjcgMTIuMi01LjYgNzkuNGMtLjUgNi41IDMuMSAxMi43IDkgMTUuNXMxMi45IDEuOCAxNy44LTIuNkwxNTIuMSAyNjhjLTUuMy0xOS4xLTguMS0zOS4yLTguMS02MCAwLTY1LjQgMjgtMTI0LjIgNzIuNi0xNjUuMUwxOTAuOS0yMS45eiJdfSxhcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToib3R0ZXIiLGljb246WzY0MCw1MTIsWzEyOTQ0Nl0sImY3MDAiLCJNMTgxLjUgMTk3LjFsMTIuOSA2LjRjNS45IDMgMTIuNCA0LjUgMTkuMSA0LjUgMjMuNSAwIDQyLjYtMTkuMSA0Mi42LTQyLjZsMC0yMS40YzAtMzUuMy0yOC43LTY0LTY0LTY0bC02NCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDIxLjRjMCAyMy41IDE5LjEgNDIuNiA0Mi42IDQyLjYgNi42IDAgMTMuMS0xLjUgMTkuMS00LjUgOS4zLTQuNyAxNi40LTguMiAyMS4yLTEwLjZMMTM1LjEgMTg1Yy00LjUtMy03LjEtOC03LjEtMTMuM2wwLTMuN2MwLTEzLjMgMTAuNy0yNCAyNC0yNGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMy43YzAgNS4zLTIuNyAxMC4zLTcuMSAxMy4zbC0xMS44IDcuOSA4LjQgNC4yem0tOC42IDQ5LjRsLTEyLjktNi40LTEyLjkgNi40Yy0xMi42IDYuMy0yNi41IDkuNi00MC41IDkuNi0zLjYgMC03LjEtLjItMTAuNi0uNmwwIC42YzAgMzUuMyAyOC43IDY0IDY0IDY0bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMTYwIDAgMC02NGMwLTIzLjcgMTIuOS00NC40IDMyLTU1LjQgOS40LTUuNCAyMC4zLTguNiAzMi04LjZsMC0xNmMwLTI2LjUgMjEuNS00OCA0OC00OCA4LjggMCAxNiA3LjIgMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTkuN2MwLTQ4LjItMzAuOC05MS03Ni42LTEwNi4zbC04LjUtMi44Yy04LTIuNy0xMi42LTExLjEtMTAuNC0xOS4zczEwLjMtMTMuMiAxOC42LTExLjZsMTkuOSA0QzU3NiA4Ni4xIDY0MCAxNjQuMiA2NDAgMjU0LjlsMCAxLjEgMCAwYzAgMTIzLjctMTAwLjMgMjI0LTIyNCAyMjRsLTE2MC42IDBDMTMyIDQ4MCAzMiAzODAgMzIgMjU2LjZsMC0zOS44Yy0xMC4xLTE0LjYtMTYtMzIuMy0xNi01MS40bDAtMjEuNCAwLTEuNEM2LjcgMTM5LjMgMCAxMzAuNSAwIDEyMCAwIDEwNi43IDEwLjcgOTYgMjQgOTZsMi44IDBDNDQuOCA1OC4yIDgzLjMgMzIgMTI4IDMybDY0IDBjNDQuNyAwIDgzLjIgMjYuMiAxMDEuMiA2NGwyLjggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNCAwIDEwLjUtNi43IDE5LjMtMTYgMjIuNmwwIDEuNCAwIDIxLjRjMCAxLjQgMCAyLjgtLjEgNC4zIDEyLTYuMiAyNS43LTkuNiA0MC4xLTkuNmw4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA4IDU2LjQgMGMtMTUuMiAxNy0yNC40IDM5LjQtMjQuNCA2NGwtMzIgMGMtNDIuMyAwLTc4LjItMjcuNC05MS02NS4zLTUuMSAuOS0xMC4zIDEuMy0xNS42IDEuMy0xNC4xIDAtMjcuOS0zLjMtNDAuNS05LjZ6TTk2IDEyOGExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6bTExMiAxNmExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAweiJdfSxOOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWNoZXZyb24tbGVmdCIsaWNvbjpbNTEyLDUxMixbImNoZXZyb24tY2lyY2xlLWxlZnQiXSwiZjEzNyIsIk01MTIgMjU2YTI1NiAyNTYgMCAxIDAgLTUxMiAwIDI1NiAyNTYgMCAxIDAgNTEyIDB6TTI3MSAxMzVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC04NyA4NyA4NyA4N2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDE2NyAyNzNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45TDI3MSAxMzV6Il19LHJxdD1OOGUsUjhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1xdWVzdGlvbiIsaWNvbjpbNTEyLDUxMixbNjIxMDgsInF1ZXN0aW9uLWNpcmNsZSJdLCJmMDU5IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem0wLTMzNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDQ3LjItMzYgNjcuMi01NiA3NC41bDAgMy44YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtOC4xYzAtMjAuNSAxNC44LTM1LjIgMzAuMS00MC4yIDYuNC0yLjEgMTMuMi01LjUgMTguMi0xMC4zIDQuMy00LjIgNy43LTEwIDcuNy0xOS42IDAtMTcuNy0xNC4zLTMyLTMyLTMyek0yMjQgMzY4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LHNxdD1SOGUsaXF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndhbGtpZS10YWxraWUiLGljb246WzM4NCw1MTIsW10sImY4ZWYiLCJNODgtMzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA3MiA0OCAwYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMzIgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNjAuOWMwIDkuOS0yLjMgMTkuNy02LjggMjguNmwtMjAuMiA0MC40Yy0zLjMgNi43LTUuMSAxNC01LjEgMjEuNWwwIDg0LjdjMCAzNS4zLTI4LjcgNjQtNjQgNjRMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTg0LjdjMC03LjUtMS43LTE0LjgtNS4xLTIxLjVMNi44IDMwMS41QzIuMyAyOTIuNiAwIDI4Mi44IDAgMjcyLjlMMCAxMTJDMCA4NS41IDIxLjUgNjQgNDggNjRsMTYgMCAwLTcyYzAtMTMuMyAxMC43LTI0IDI0LTI0em0zMiAxNzZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAwem0wIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHoiXX0sTzhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItZ3JvdXAiLGljb246WzU3Niw1MTIsWzEyODEwMSwidXNlci1mcmllbmRzIl0sImY1MDAiLCJNNjQgMTI4YTExMiAxMTIgMCAxIDEgMjI0IDAgMTEyIDExMiAwIDEgMSAtMjI0IDB6TTAgNDY0YzAtOTcuMiA3OC44LTE3NiAxNzYtMTc2czE3NiA3OC44IDE3NiAxNzZsMCA2YzAgMjMuMi0xOC44IDQyLTQyIDQyTDQyIDUxMmMtMjMuMiAwLTQyLTE4LjgtNDItNDJsMC02ek00MzIgNjRhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6bTAgMjQwYzc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0bDAgMjIuNGMwIDIzLTE4LjYgNDEuNi00MS42IDQxLjZsLTE0NC44IDBjNi42LTEyLjUgMTAuNC0yNi44IDEwLjQtNDJsMC02YzAtNTEuNS0xNy40LTk4LjktNDYuNS0xMzYuNyAyMi42LTE0LjcgNDkuNi0yMy4zIDc4LjUtMjMuM3oiXX0sb3F0PU84ZSxGOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtY2hpbW5leSIsaWNvbjpbNTEyLDUxMixbNjM0OTksImhvbWUtbGciXSwiZTNhZiIsIk0yMzQuMiA4LjZjMTIuMy0xMS40IDMxLjMtMTEuNCA0My41IDBMMzY4IDkyLjMgMzY4IDgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMDEuNSAzNy44IDM1LjFjOS42IDkgMTIuOCAyMi45IDggMzUuMVM0OTMuMiAyNzIgNDgwIDI3MmwtMTYgMCAwIDE3NmMwIDM1LjMtMjguNyA2NC02NCA2NGwtMjg4IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOHpNMjQwIDMyMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NiAxMjggMCAwLTk2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0zMiAweiJdfSxucXQ9RjhlLEI4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyaWdodC1mcm9tLWJyYWNrZXQiLGljb246WzUxMiw1MTIsWyJzaWduLW91dC1hbHQiXSwiZjJmNSIsIk01MDUgMjczYzkuNC05LjQgOS40LTI0LjYgMC0zMy45TDM2MSA5NWMtNi45LTYuOS0xNy4yLTguOS0yNi4yLTUuMlMzMjAgMTAyLjMgMzIwIDExMmwwIDgwLTExMiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDExMiAwIDAgODBjMCA5LjcgNS44IDE4LjUgMTQuOCAyMi4yczE5LjMgMS43IDI2LjItNS4yTDUwNSAyNzN6TTE2MCA5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw5NiAzMkM0MyAzMiAwIDc1IDAgMTI4TDAgMzg0YzAgNTMgNDMgOTYgOTYgOTZsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsNjQgMHoiXX0sbHF0PUI4ZSxjcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZSIsaWNvbjpbMzg0LDUxMixbMTI4MTk2LDEyODQ1OSw2MTQ2Ml0sImYxNWIiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNzcuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNTguNyAxOC43QzI0Ni43IDYuNyAyMzAuNSAwIDIxMy41IDBMNjQgMHpNMzI1LjUgMTc2TDIzMiAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDIwOCA1OC41IDMyNS41IDE3NnoiXX0sZHF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW5lLXNsYXNoIixpY29uOls1NzYsNTEyLFtdLCJlMDY5IiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTE4My40LTE4My40IDcuMS03LjcgMTI3LjMgMGMzMC45IDAgNTYtMjUuMSA1Ni01NnMtMjUuMS01Ni01Ni01NkwzOTIuNyAyMDAgMjMzLjUgMjYuNEMyMjcuNSAxOS44IDIxOC45IDE2IDIwOS45IDE2bC00My43IDBjLTEwLjkgMC0xOC42IDEwLjctMTUuMiAyMS4xTDE3NS4xIDEwOS4yIDQxLTI0Ljl6TTEzMC4yIDIwMGwtMjQuNiAwLTUyLjgtNjZjLTMtMy44LTcuNi02LTEyLjUtNmwtMTkuOCAwYy0xMC40IDAtMTggOS44LTE1LjUgMTkuOUwzMiAyNTYgNSAzNjQuMUMyLjQgMzc0LjIgMTAuMSAzODQgMjAuNSAzODRsMTkuOCAwYzQuOSAwIDkuNS0yLjIgMTIuNS02bDUyLjgtNjYgOTkuNyAwLTU0LjMgMTYyLjljLTMuNSAxMC40IDQuMyAyMS4xIDE1LjIgMjEuMWw0My43IDBjOSAwIDE3LjUtMy44IDIzLjYtMTAuNEwzMjAuNyAzOTAuNSAxMzAuMiAyMDB6Il19LHVxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1zaG93ZXJzLWhlYXZ5IixpY29uOls1MTIsNTEyLFtdLCJmNzQwIiwiTTk2IDMyMGMtNTMgMC05Ni00My05Ni05NiAwLTQyLjUgMjcuNi03OC42IDY1LjktOTEuMi0xLjMtNi43LTEuOS0xMy43LTEuOS0yMC44IDAtNjEuOSA1MC4xLTExMiAxMTItMTEyIDQzLjEgMCA4MC41IDI0LjMgOTkuMiA2MCAxNC43LTE3LjEgMzYuNS0yOCA2MC44LTI4IDQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgNS41LS42IDEwLjgtMS42IDE2IC41IDAgMS4xIDAgMS42IDAgNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZMOTYgMzIwem02LjggNzkuNmwtMzIgOTZDNjYuNiA1MDguMiA1MyA1MTUgNDAuNCA1MTAuOFMyMSA0OTMgMjUuMiA0ODAuNGwzMi05NkM2MS40IDM3MS44IDc1IDM2NSA4Ny42IDM2OS4yUzEwNyAzODcgMTAyLjggMzk5LjZ6bTEyMCAwbC0zMiA5NmMtNC4yIDEyLjYtMTcuOCAxOS40LTMwLjQgMTUuMlMxNDEgNDkzIDE0NS4yIDQ4MC40bDMyLTk2YzQuMi0xMi42IDE3LjgtMTkuNCAzMC40LTE1LjJTMjI3IDM4NyAyMjIuOCAzOTkuNnptMTEyIDBsLTMyIDk2Yy00LjIgMTIuNi0xNy44IDE5LjQtMzAuNCAxNS4yUzI1MyA0OTMgMjU3LjIgNDgwLjRsMzItOTZjNC4yLTEyLjYgMTcuOC0xOS40IDMwLjQtMTUuMlMzMzkgMzg3IDMzNC44IDM5OS42em0xMjAgMGwtMzIgOTZjLTQuMiAxMi42LTE3LjggMTkuNC0zMC40IDE1LjJTMzczIDQ5MyAzNzcuMiA0ODAuNGwzMi05NmM0LjItMTIuNiAxNy44LTE5LjQgMzAuNC0xNS4yUzQ1OSAzODcgNDU0LjggMzk5LjZ6Il19LHBxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tZmFsbGluZyIsaWNvbjpbNTEyLDUxMixbXSwiZTU0NiIsIk0zMjAgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA1LjRjMCA0NS0yMy42IDg2LjYtNjIuMSAxMDkuOGwtNC42IDIuOEMxMzEuNCAxODQuNyA5NiAyNDcuMSA5NiAzMTQuNkw5NiAzODRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY5LjRjMC0xNi43IDMuMy0zMyA5LjQtNDhMMzU5LjIgNTAwLjJjMTEuMSAxMy43IDMxLjMgMTUuOCA0NSA0LjdzMTUuOC0zMS4zIDQuNy00NUwyOTUuMiAzMjAgNDAwIDMyMCA0MzguNCAzNzEuMmMxMC42IDE0LjEgMzAuNyAxNyA0NC44IDYuNHMxNy0zMC43IDYuNC00NC44bC00My4yLTU3LjZDNDM3LjMgMjYzLjEgNDIzLjEgMjU2IDQwOCAyNTZsLTg5IDAtNjIuOS03NS41YzQwLjMtMzYgNjMuOS04Ny45IDYzLjktMTQzLjFsMC01LjR6TTEwNCAxNDRhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6Il19LEg4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0dXJuLWRvd24iLGljb246WzM4NCw1MTIsWzEwNTQ5LCJsZXZlbC1kb3duLWFsdCJdLCJmM2JlIiwiTTE2OS40IDUwMi42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjhjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTMzMyLjkgMzIwIDMyMCAzMjBsLTY0IDAgMC0xNjBDMjU2IDcxLjYgMTg0LjQgMCA5NiAwTDMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyTDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE2MC02NCAwYy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44cy0yLjIgMjUuNyA2LjkgMzQuOWwxMjggMTI4eiJdfSxmcXQ9SDhlLHE4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1cC1yaWdodC1hbmQtZG93bi1sZWZ0LWZyb20tY2VudGVyIixpY29uOls1MTIsNTEyLFsiZXhwYW5kLWFsdCJdLCJmNDI0IiwiTTM0NCAwTDQ4OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTQ0YzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTM5LTM5LTg3IDg3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtMzItMzJjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDg3LTg3LTM5LTM5Yy02LjktNi45LTguOS0xNy4yLTUuMi0yNi4yUzMzNC4zIDAgMzQ0IDB6TTE2OCA1MTJMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwwIDM0NGMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJTMzQuMSAzMjAuMiA0MSAzMjdsMzkgMzkgODctODdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMzIgMzJjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTg3IDg3IDM5IDM5YzYuOSA2LjkgOC45IDE3LjIgNS4yIDI2LjJTMTc3LjcgNTEyIDE2OCA1MTJ6Il19LGhxdD1xOGUsbXF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItdGFnIixpY29uOls2NDAsNTEyLFtdLCJmNTA3IiwiTTI1Ni4xIDhhMTIwIDEyMCAwIDEgMSAwIDI0MCAxMjAgMTIwIDAgMSAxIDAtMjQwek0yMjYuNCAzMDRsNTkuNCAwYzYuNyAwIDEzLjIgLjQgMTkuNyAxLjEtLjkgNC45LTEuNCA5LjktMS40IDE1bDAgOTIuMWMwIDI1LjUgMTAuMSA0OS45IDI4LjEgNjcuOWwzMS45IDMxLjktMjg2LjMgMGMtMTYuNCAwLTI5LjctMTMuMy0yOS43LTI5LjcgMC05OC41IDc5LjgtMTc4LjMgMTc4LjMtMTc4LjN6TTM1Mi4xIDQxMi4ybDAtOTIuMWMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5Mi4xIDBjMTIuNyAwIDI0LjkgNS4xIDMzLjkgMTQuMWw5NiA5NmMxOC43IDE4LjcgMTguNyA0OS4xIDAgNjcuOWwtNzYuMSA3Ni4xYy0xOC43IDE4LjctNDkuMSAxOC43LTY3LjkgMGwtOTYtOTZjLTktOS0xNC4xLTIxLjItMTQuMS0zMy45em0xMDQtNDQuMmEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxncXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1zcGFya2xlcyIsaWNvbjpbNjQwLDUxMixbXSwiZTA1ZCIsIk0zMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDIwOGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMTc2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxNzZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTExMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTc4LjJjLTE5LjIgNS40LTM0LjcgMjAuNC00MC40IDQwLjNsLTYuNSAyMi43LTIyLjcgNi41Yy0yNS4yIDcuMi00Mi41IDMwLjItNDIuNSA1Ni40IDAgMjIuMSAxMi40IDQyIDMxLjQgNTEuOS0yNy41IDE3LjgtNjAuMiAyOC4xLTk1LjQgMjguMWwtMTkuMiAwYy01OS42IDAtMTE2LjktMjIuOS0xNjAtNjRMNzYuNCAzNDFjLTE2LTE1LjItMTYuNi00MC42LTEuNC01Ni42czQwLjYtMTYuNiA1Ni42LTEuNGw2MC41IDU3LjZjMC0xLjUtLjEtMy4xLS4xLTQuNmwwLTI3MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTc2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0yMDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS03LjMgMzI2LjZjLTEuMS0zLjktNC43LTYuNi04LjctNi42cy03LjYgMi43LTguNyA2LjZsLTcuMyAyNS40LTI1LjQgNy4zYy0zLjkgMS4xLTYuNiA0LjctNi42IDguN3MyLjcgNy42IDYuNiA4LjdsMjUuNCA3LjMgNy4zIDI1LjRjMS4xIDMuOSA0LjcgNi42IDguNyA2LjZzNy42LTIuNyA4LjctNi42bDcuMy0yNS40IDI1LjQtNy4zYzMuOS0xLjEgNi42LTQuNyA2LjYtOC43cy0yLjctNy42LTYuNi04LjdsLTI1LjQtNy4zLTcuMy0yNS40ek0xMDQgMTIwbDQ4LjMgMTMuOGM0LjYgMS4zIDcuNyA1LjUgNy43IDEwLjJzLTMuMSA4LjktNy43IDEwLjJMMTA0IDE2OCA5MC4yIDIxNi4zYy0xLjMgNC42LTUuNSA3LjctMTAuMiA3LjdzLTguOS0zLjEtMTAuMi03LjdMNTYgMTY4IDcuNyAxNTQuMkMzLjEgMTUyLjkgMCAxNDguNyAwIDE0NHMzLjEtOC45IDcuNy0xMC4yTDU2IDEyMCA2OS44IDcxLjdDNzEuMSA2Ny4xIDc1LjMgNjQgODAgNjRzOC45IDMuMSAxMC4yIDcuN0wxMDQgMTIwek01ODQgNDA4bDQ4LjMgMTMuOGM0LjYgMS4zIDcuNyA1LjUgNy43IDEwLjJzLTMuMSA4LjktNy43IDEwLjJMNTg0IDQ1NiA1NzAuMiA1MDQuM2MtMS4zIDQuNi01LjUgNy43LTEwLjIgNy43cy04LjktMy4xLTEwLjItNy43TDUzNiA0NTYgNDg3LjcgNDQyLjJjLTQuNi0xLjMtNy43LTUuNS03LjctMTAuMnMzLjEtOC45IDcuNy0xMC4yTDUzNiA0MDggNTQ5LjggMzU5LjdjMS4zLTQuNiA1LjUtNy43IDEwLjItNy43czguOSAzLjEgMTAuMiA3LjdMNTg0IDQwOHoiXX0sYnF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy10by1kb3QiLGljb246WzUxMiw1MTIsW10sImU0YmUiLCJNMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAzMiAwYzEyLjkgMCAyNC42IDcuOCAyOS42IDE5LjhzMi4yIDI1LjctNi45IDM0LjlsLTY0IDY0Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtNjQtNjRjLTkuMi05LjItMTEuOS0yMi45LTYuOS0zNC45UzE3OS4xIDY0IDE5MiA2NGwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTE2OS40IDM5My40bDY0LTY0YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDY0IDY0YzkuMiA5LjIgMTEuOSAyMi45IDYuOSAzNC45UzMzMi45IDQ0OCAzMjAgNDQ4bC0zMiAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0zMiAwYy0xMi45IDAtMjQuNi03LjgtMjkuNi0xOS44cy0yLjItMjUuNyA2LjktMzQuOXpNMzIgMjI0bDMyIDAgMC0zMmMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42czI1LjctMi4yIDM0LjkgNi45bDY0IDY0YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC02NCA2NGMtOS4yIDkuMi0yMi45IDExLjktMzQuOSA2LjlTNjQgMzMyLjkgNjQgMzIwbDAtMzItMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMjk3LjQgNTQuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsNjQtNjRjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02LjlTNDQ4IDE3OS4xIDQ0OCAxOTJsMCAzMiAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMzJjMCAxMi45LTcuOCAyNC42LTE5LjggMjkuNnMtMjUuNyAyLjItMzQuOS02LjlsLTY0LTY0ek0yNTYgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sVjhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2Utc2FkLWNyeSIsaWNvbjpbNTEyLDUxMixbMTI4NTU3LCJzYWQtY3J5Il0sImY1YjMiLCJNMzUyIDQ5My40Yy0yOS42IDEyLTYyLjEgMTguNi05NiAxOC42cy02Ni40LTYuNi05Ni0xOC42TDE2MCAyOTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxNzEuN0M0NC40IDQyMS42IDAgMzQ0IDAgMjU2IDAgMTE0LjYgMTE0LjYgMCAyNTYgMFM1MTIgMTE0LjYgNTEyIDI1NmMwIDg4LTQ0LjQgMTY1LjYtMTEyIDIxMS43TDQwMCAyOTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxOTcuNHpNMTUyIDE5NmwxNiAwYzExIDAgMjAgOSAyMCAyMHM5IDIwIDIwIDIwIDIwLTkgMjAtMjBjMC0zMy4xLTI2LjktNjAtNjAtNjBsLTE2IDBjLTMzLjEgMC02MCAyNi45LTYwIDYwIDAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwIDktMjAgMjAtMjB6bTE3MiAyMGMwLTExIDktMjAgMjAtMjBsMTYgMGMxMSAwIDIwIDkgMjAgMjBzOSAyMCAyMCAyMCAyMC05IDIwLTIwYzAtMzMuMS0yNi45LTYwLTYwLTYwbC0xNiAwYy0zMy4xIDAtNjAgMjYuOS02MCA2MCAwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMHpNMjA4IDMzNmwwIDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4czQ4LTIxLjUgNDgtNDhsMC0zMmMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHoiXX0sdnF0PVY4ZSx4cXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG9uZy1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMTY5IiwiTTI4OC0xNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMi0xMDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMDQgMCAwIDcyLjJjLTIyLjktMTUuMy01MC40LTI0LjItODAtMjQuMi03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NFM5Ni41IDQzMiAxNzYgNDMyYzMwIDAgNTcuOC05LjEgODAuOC0yNC44IDMuMyAxNC4yIDE2IDI0LjggMzEuMiAyNC44IDE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzA0IDQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQwIDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNOTYgMjg4YTgwIDgwIDAgMSAxIDE2MCAwIDgwIDgwIDAgMSAxIC0xNjAgMHpNMjQgNDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMzNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDI0IDQ2NHoiXX0seXF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlb3BsZS1saW5lIixpY29uOls1NzYsNTEyLFtdLCJlNTM0IiwiTTI4OCAwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4em05NiAzMTJjMCAyNS0xMi43IDQ3LTMyIDU5LjlsMCA0NC4xLTEyOCAwIDAtNDQuMUMyMDQuNyAzNTkgMTkyIDMzNyAxOTIgMzEybDAtNDBjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDQwem0xNiAxMDRsMC0yNy4zYzE5LjktMjIuNSAzMi01Mi4yIDMyLTg0LjdsMC0zMmMwLTI2LjctNy4zLTUxLjYtMTkuOS03My4xIDExLjEtNC41IDIzLjItNi45IDM1LjktNi45IDUzIDAgOTYgNDMgOTYgOTZsMCAzMmMwIDIzLjctMTIuOSA0NC40LTMyIDU1LjRsMCA0MC42LTExMiAwek02NCAzNzUuNEM0NC45IDM2NC40IDMyIDM0My43IDMyIDMyMGwwLTMyYzAtNTMgNDMtOTYgOTYtOTYgMTIuNyAwIDI0LjggMi41IDM1LjkgNi45LTEyLjYgMjEuNC0xOS45IDQ2LjQtMTkuOSA3My4xbDAgMzJjMCAzMi41IDEyLjEgNjIuMSAzMiA4NC43bDAgMjcuMy0xMTIgMCAwLTQwLjZ6TTEyOCAzMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnptMzIwIDBhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6TTI0IDQ2NGw1MjggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwyNCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LGo4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtcnNzIixpY29uOls0NDgsNTEyLFsicnNzLXNxdWFyZSJdLCJmMTQzIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTk2IDEzNmMwLTEzLjMgMTAuNy0yNCAyNC0yNCAxMzcgMCAyNDggMTExIDI0OCAyNDggMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xMTAuNS04OS41LTIwMC0yMDAtMjAwLTEzLjMgMC0yNC0xMC43LTI0LTI0em0wIDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0IDgzLjkgMCAxNTIgNjguMSAxNTIgMTUyIDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNTcuNC00Ni42LTEwNC0xMDQtMTA0LTEzLjMgMC0yNC0xMC43LTI0LTI0em0wIDEyMGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAweiJdfSx3cXQ9ajhlLE1xdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWxlbmRhci1taW51cyIsaWNvbjpbNDQ4LDUxMixbXSwiZjI3MiIsIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTI0IDI2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6Il19LGtxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFydC1kaWFncmFtIixpY29uOls1MTIsNTEyLFtdLCJlNjk1IiwiTTgwIDMyQzUzLjUgMzIgMzIgNTMuNSAzMiA4MHMyMS41IDQ4IDQ4IDQ4bDE1MiAwIDAgNDAtNDggNDgtNzIgMGMtMzkuOCAwLTcyIDMyLjItNzIgNzJsMCA2NC04IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC04IDAgMC02NGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw3MiAwIDQ4IDQ4IDAgNDAtOCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtOCAwIDAtNDAgNDgtNDggNzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDY0LTggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTggMCAwLTY0YzAtMzkuOC0zMi4yLTcyLTcyLTcybC03MiAwLTQ4LTQ4IDAtNDAgMTUyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhMODAgMzJ6Il19LFU4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLXRpcmVkIixpY29uOls1MTIsNTEyLFsxMjg1NTUsInRpcmVkIl0sImY1YzgiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2NC43IDMyOC43YzIyLTIyIDUzLjktNDAuNyA5MS4zLTQwLjdzNjkuMyAxOC43IDkxLjMgNDAuN2MxMS4xIDExLjEgMjAuMSAyMy40IDI2LjQgMzUuNCA2LjIgMTEuNyAxMC4zIDI0LjQgMTAuMyAzNS45IDAgNS4yLTIuNiAxMC4yLTYuOSAxMy4ycy05LjggMy43LTE0LjcgMS44bC0yMC41LTcuN2MtMjYuOS0xMC4xLTU1LjUtMTUuMy04NC4zLTE1LjNsLTMuMiAwYy0yOC44IDAtNTcuMyA1LjItODQuMyAxNS4zTDE0OS42IDQxNWMtNC45IDEuOC0xMC40IDEuMi0xNC43LTEuOFMxMjggNDA1LjIgMTI4IDQwMGMwLTExLjYgNC4yLTI0LjIgMTAuMy0zNS45IDYuMy0xMiAxNS4zLTI0LjMgMjYuNC0zNS40ek0xMjIuNiAxNTkuMmM0LjUtNi44IDEzLjMtOS4yIDIwLjYtNS41bDc5LjYgNDBjNS40IDIuNyA4LjggOC4yIDguOCAxNC4zcy0zLjQgMTEuNi04LjggMTQuM2wtNzkuNiA0MGMtNy4zIDMuNi0xNi4xIDEuMy0yMC42LTUuNXMtMy4xLTE1LjkgMy4xLTIxLjFMMTU5IDIwOCAxMjUuOCAxODAuM2MtNi4yLTUuMi03LjYtMTQuMy0zLjEtMjEuMXptMjYzLjYgMjEuMUwzNTMgMjA4IDM4Ni4yIDIzNS43YzYuMiA1LjIgNy42IDE0LjMgMy4xIDIxLjFzLTEzLjMgOS4yLTIwLjYgNS41bC03OS42LTQwYy01LjQtMi43LTguOC04LjItOC44LTE0LjNzMy40LTExLjYgOC44LTE0LjNsNzkuNi00MGM3LjMtMy42IDE2LjEtMS4zIDIwLjYgNS41czMuMSAxNS45LTMuMSAyMS4xeiJdfSxTcXQ9VThlLHpxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLXBvaW50LXJpZ2h0IixpY29uOls1MTIsNTEyLFtdLCJmMGE0IiwiTTQ4MCA5NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjA4IDAgMC02NCAyMDggMHpNMzIwIDI4OGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwem02NC02NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNDggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyek0yODggMzg0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDY0IDB6bS04OC05NmwuNiAwYy01LjQgOS40LTguNiAyMC4zLTguNiAzMiAwIDEzLjIgNCAyNS40IDEwLjggMzUuNi0yNC45IDguNy00Mi44IDMyLjUtNDIuOCA2MC40IDAgMTEuNyAzLjEgMjIuNiA4LjYgMzJsLTguNiAwQzcxLjYgNDQ4IDAgMzc2LjQgMCAyODhsMC02MS43YzAtNDIuNCAxNi45LTgzLjEgNDYuOS0xMTMuMWwxMS42LTExLjZDODIuNSA3Ny41IDExNS4xIDY0IDE0OSA2NGwyNyAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgODhjMCAyMi4xLTE3LjkgNDAtNDAgNDBzLTQwLTE3LjktNDAtNDBsMC01NmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDU2YzAgMzkuOCAzMi4yIDcyIDcyIDcyeiJdfSxDcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAiLGljb246WzM4NCw1MTIsWzg1OTNdLCJmMDYyIiwiTTIxNC42IDkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTYwIDEwOS4zIDE2MCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM3MC43IDEwNS40IDEwNS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjB6Il19LF9xdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjdWJlcy1zdGFja2VkIixpY29uOls1MTIsNTEyLFtdLCJlNGU2IiwiTTE5MiAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjR6bTMyIDM1Mmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTE5MiAwbDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzIwIDE5Mmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS0xODIuNi0zLjljMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsNDUuMyA0NS4zYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC00NS4zIDQ1LjNjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwTDkyLjEgMjc4LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDQ1LjMtNDUuM3pNMzIgMzg0bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0sVzhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoaWxkLWNvbWJhdGFudCIsaWNvbjpbNTc2LDUxMixbImNoaWxkLXJpZmxlIl0sImU0ZTAiLCJNMTc2LjUgMTI4YTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4em0tMTYgMzUybDAtOTYgMzIgMCAwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xOTIuMiAyMC45IDMzLjJjOS40IDE1IDI5LjIgMTkuNCA0NC4xIDEwczE5LjQtMjkuMiAxMC00NC4xbC0zOS45LTYzLjNDMjY2LjggMTg0IDIyMy4zIDE2MCAxNzYuNSAxNjBTODYuMiAxODQgNjEuMyAyMjMuNkwyMS40IDI4N2MtOS40IDE1LTQuOSAzNC43IDEwIDQ0LjFzMzQuNyA0LjkgNDQuMS0xMGwyMC45LTMzLjIgMCAxOTIuMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyek00NDguNSAwbC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDAgMTAwLjNjLTkuNiA1LjUtMTYgMTUuOS0xNiAyNy43bDAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTQ0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDAgMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZsNTkuNSAwYzEwLjQgMCAxOC05LjggMTUuNS0xOS45bC0yMy05Mi4xIDQ0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC00OCAwIDAtMjYuNyA1My4xLTE3LjdjNi41LTIuMiAxMC45LTguMyAxMC45LTE1LjJsMC04NC41YzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNTYtMTYgNS4zIDAtMTA5LjNjMC0xMS44LTYuNC0yMi4yLTE2LTI3LjdsMC0xMTYuM2MwLTguOC03LjItMTYtMTYtMTZ6Il19LFRxdD1XOGUsTHF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZlc3QtcGF0Y2hlcyIsaWNvbjpbNDQ4LDUxMixbXSwiZTA4NiIsIk0yMDAgMjkzLjlMMjAwIDQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMjcwLjVjMC05LjUgMi44LTE4LjcgOC4xLTI2LjZsNDcuOS03MS44YzUuMy03LjkgOC4xLTE3LjEgOC4xLTI2LjZMNjQgNDhDNjQgMjEuNSA4NS41IDAgMTEyIDBsMy41IDBjLjMgMCAuNiAwIDEgMCAuNiAwIDEuMiAwIDEuOCAwIDE4LjggMCAzNC4xIDkuNyA0NC4xIDE4LjggOS4zIDguNCAyOC41IDIxLjIgNjEuNyAyMS4yczUyLjQtMTIuOCA2MS43LTIxLjJjMTAtOS4xIDI1LjMtMTguOCA0NC4xLTE4LjggLjYgMCAxLjIgMCAxLjggMCAuMyAwIC42IDAgMSAwTDMzNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTcuNWMwIDkuNSAyLjggMTguNyA4LjEgMjYuNmw0Ny45IDcxLjhjNS4zIDcuOSA4LjEgMTcuMSA4LjEgMjYuNkw0NDggNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMDQgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNzAuMWMwLTMuOSAuNS03LjggMS40LTExLjZMMzAzLjYgNjUuNEMyODUuOSA3Ny4yIDI1OS44IDg4IDIyNCA4OHMtNjEuOS0xMC44LTc5LjYtMjIuNmw1NC4yIDIxNi44YzEgMy44IDEuNCA3LjcgMS40IDExLjZ6TTk2IDQ1NmE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6TTYzLjUgMjU1LjVjLTQuNyA0LjctNC43IDEyLjMgMCAxN0w3OSAyODggNjMuNSAzMDMuNWMtNC43IDQuNy00LjcgMTIuMyAwIDE3czEyLjMgNC43IDE3IDBMOTYgMzA1IDExMS41IDMyMC41YzQuNyA0LjcgMTIuMyA0LjcgMTcgMHM0LjctMTIuMyAwLTE3TDExMyAyODggMTI4LjUgMjcyLjVjNC43LTQuNyA0LjctMTIuMyAwLTE3cy0xMi4zLTQuNy0xNyAwTDk2IDI3MSA4MC41IDI1NS41Yy00LjctNC43LTEyLjMtNC43LTE3IDB6TTMwNCAyODBsMCA0MGMwIDguOCA3LjIgMTYgMTYgMTZsNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtOCAwIDAtOGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHoiXX0sRzhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcnRpbmktZ2xhc3MtZW1wdHkiLGljb246WzUxMiw1MTIsWyJnbGFzcy1tYXJ0aW5pIl0sImYwMDAiLCJNMzIgMzJDMTkuMSAzMiA3LjQgMzkuOCAyLjQgNTEuOFMuMiA3Ny41IDkuNCA4Ni42bDIxNC42IDIxNC42IDAgMTQ2LjctNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwLTE0Ni43IDIxNC42LTIxNC42YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzQ5Mi45IDMyIDQ4MCAzMkwzMiAzMnpNMjU2IDI0Mi43TDEwOS4zIDk2IDQwMi43IDk2IDI1NiAyNDIuN3oiXX0sJHF0PUc4ZSxEcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFnbmV0IixpY29uOls0NDgsNTEyLFsxMjk1MjJdLCJmMDc2IiwiTTAgMTc2TDAgMjg4QzAgNDExLjcgMTAwLjMgNTEyIDIyNCA1MTJTNDQ4IDQxMS43IDQ0OCAyODhsMC0xMTItMTI4IDAgMCAxMTJjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZsMC0xMTItMTI4IDB6bTAtNDhsMTI4IDAgMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0bDAgNjR6bTMyMCAwbDEyOCAwIDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjR6Il19LEFxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyb2FkLWJhcnJpZXIiLGljb246WzY0MCw1MTIsW10sImU1NjIiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyTDY0IDI2Ni4zIDE0OS4yIDk2IDY0IDk2IDY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyek00MDUuMiA5NmwtNzQuMyAwLTUuNCAxMC43LTkwLjYgMTgxLjMgNzQuMyAwIDUuNC0xMC43IDkwLjYtMTgxLjN6TTM2Mi44IDI4OGw3NC4zIDAgNS40LTEwLjcgOTAuNi0xODEuMy03NC4zIDAtNS40IDEwLjctOTAuNiAxODEuM3pNMjAyLjggOTZsLTUuNCAxMC43LTkwLjYgMTgxLjMgNzQuMyAwIDUuNC0xMC43IDkwLjYtMTgxLjMtNzQuMyAwem0yODggMTkybDg1LjIgMCAwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzg0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNTMuNy04NS4yIDE3MC4zeiJdfSxZOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tcGFzcy1kcmFmdGluZyIsaWNvbjpbNTEyLDUxMixbImRyYWZ0aW5nLWNvbXBhc3MiXSwiZjU2OCIsIk05OS4zIDI1Ni4xbDY5LjQtMTE5LjljLTUuNi0xMi4yLTguOC0yNS44LTguOC00MC4yIDAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZjMCAxNC4zLTMuMSAyNy45LTguOCA0MC4ybDQ0LjQgNzYuN2MtMjMuMSAyNi01My43IDQ1LjEtODguNCA1My44TDI1NiAxOTEuOSAxODcuOSAzMDkuNWMyMS41IDYuOCA0NC4zIDEwLjUgNjguMSAxMC41IDcwLjcgMCAxMzMuOC0zMi43IDE3NC45LTg0IDExLjEtMTMuOCAzMS4yLTE2IDQ1LTVzMTYgMzEuMiA1IDQ1Yy01Mi43IDY1LjgtMTMzLjkgMTA4LTIyNC44IDEwOC0zNS40IDAtNjkuNC02LjQtMTAwLjctMTguMUw5OC43IDQ2My43Qzk0IDQ3MS44IDg3IDQ3OC40IDc4LjYgNDgyLjZMMjMuMiA1MTAuM2MtNSAyLjUtMTAuOSAyLjItMTUuNi0uN1MwIDUwMS41IDAgNDk2bDAtNTUuNGMwLTguNCAyLjItMTYuNyA2LjUtMjQuMWw2MC0xMDMuN2MtMTIuOC0xMS4yLTI0LjYtMjMuNS0zNS4zLTM2LjgtMTEuMS0xMy44LTguOC0zMy45IDUtNDVzMzMuOS04LjggNDUgNWM1LjcgNy4xIDExLjggMTMuOCAxOC4yIDIwLjF6TTM4MS4xIDQwNy45YzMyLjUtMTMgNjIuNC0zMSA4OC45LTUyLjlsMzUuNiA2MS41YzQuMiA3LjMgNi41IDE1LjYgNi41IDI0LjFsMCA1NS40YzAgNS41LTIuOSAxMC43LTcuNiAxMy42cy0xMC42IDMuMi0xNS42IC43bC01NS40LTI3LjdjLTguNC00LjItMTUuNC0xMC44LTIwLjEtMTguOWwtMzIuMy01NS44ek0yNTYgMTI4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sRXF0PVk4ZSxQcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXBlcnNvbi1jb25maW5lZCIsaWNvbjpbNDQ4LDUxMixbXSwiZTU3NyIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem05NiAxMTJhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptODAgMTA0YzAtMzAuOSAyNS4xLTU2IDU2LTU2czU2IDI1LjEgNTYgNTZsMCAxMDIuMWMwIDM2LjQtMjkuNSA2NS45LTY1LjkgNjUuOS0xNy41IDAtMzQuMy02LjktNDYuNi0xOS4zbC01NC43LTU0LjctMjguMSA1Ni4zYy03LjkgMTUuOC0yNy4xIDIyLjItNDIuOSAxNC4zcy0yMi4yLTI3LjEtMTQuMy00Mi45bDQ4LTk2YzQuNi05LjIgMTMuMy0xNS42IDIzLjUtMTcuM3MyMC41IDEuNyAyNy44IDlsNDEuNCA0MS40IDAtNTguN3oiXX0sSXF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYXRlLXdoZWF0IixpY29uOls1MTIsNTEyLFtdLCJlNTVhIiwiTTE3NiAzMmM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDE2YzAgOC44LTcuMiAxNi0xNiAxNi00NC4yIDAtODAtMzUuOC04MC04MGwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnpNNTYgNjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRTNDIuNyA2NCA1NiA2NHpNMjQgMTM2bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDE4NGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptOCA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMjcyIDQ4YzAtOC44IDcuMi0xNiAxNi0xNiA0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDE2YzAgOC44LTcuMiAxNi0xNiAxNi00NC4yIDAtODAtMzUuOC04MC04MGwwLTE2ek00MDAgMzJjNDQuMiAwIDgwIDM1LjggODAgODBsMCAxNmMwIDguOC03LjIgMTYtMTYgMTYtNDQuMiAwLTgwLTM1LjgtODAtODBsMC0xNmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2MGwwIDE2YzAgNDQuMi0zNS44IDgwLTgwIDgwLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwIDguOCAwIDE2IDcuMiAxNiAxNnpNMzUyIDE3NmM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDQ0LjItMzUuOCA4MC04MCA4MC04LjggMC0xNi03LjItMTYtMTZsMC0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MHptLTk2IDE2bDAgMTZjMCA0NC4yLTM1LjggODAtODAgODAtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZjMC00NC4yIDM1LjgtODAgODAtODAgOC44IDAgMTYgNy4yIDE2IDE2ek0zLjUgMzQ3LjZDMS42IDMzMi45IDEzIDMyMCAyNy44IDMyMGw0NTYuNCAwYzE0LjggMCAyNi4yIDEyLjkgMjQuNCAyNy42LTYuMyA1MC4yLTQ0LjQgODkuNC05Mi42IDk4LjRsMCAyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yYy00OC4yLTktODYuMy00OC4yLTkyLjUtOTguNHoiXX0sSzhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNpZ24taGFuZ2luZyIsaWNvbjpbNTEyLDUxMixbInNpZ24iXSwiZjRkOSIsIk05NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTM1MiAwIDAgMzUyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzUyLTMyIDBDMTQuMyAxMjggMCAxMTMuNyAwIDk2UzE0LjMgNjQgMzIgNjRsMzIgMCAwLTMyQzY0IDE0LjMgNzguMyAwIDk2IDB6TTIwOCAxNzZsMjQwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNDRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTI0MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE0NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0sTnF0PUs4ZSxaOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyLWJhdHRlcnkiLGljb246WzUxMiw1MTIsWyJiYXR0ZXJ5LWNhciJdLCJmNWRmIiwiTTgwIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsOTYgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDE2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwxNiAwek0zOTIgMTg0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMzItMzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzMiAwIDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMyIDMyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTMyIDAgMC0zMnpNNjQgMjQwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDg4IDIxNmMtMTMuMyAwLTI0IDEwLjctMjQgMjR6Il19LFJxdD1aOGUsS2VlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoaXJ0IixpY29uOls2NDAsNTEyLFsxMjgwODUsInQtc2hpcnQiLCJ0c2hpcnQiXSwiZjU1MyIsIk0zMjAuMiAxMTJjNDQuMiAwIDgwLTM1LjggODAtODBsNTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDYxNy42IDE2OS40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC01MC43IDUwLjdjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC00MS40LTQxLjQgMCAyMjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTE5MiAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTIyNC00MS40IDQxLjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwTDIyLjkgMjE0LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zTDE0MS41IDUwLjdjMTItMTIgMjguMy0xOC43IDQ1LjMtMTguN2w1My41IDBjMCA0NC4yIDM1LjggODAgODAgODB6Il19LE9xdD1LZWUsRnF0PUtlZSxCcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGFyYWdyYXBoIixpY29uOls0NDgsNTEyLFsxODJdLCJmMWRkIiwiTTE2MCAwTDQxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgNDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNDE2LTQ4IDAgMCA0MTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNjAtNDggMEM3MS42IDMyMCAwIDI0OC40IDAgMTYwUzcxLjYgMCAxNjAgMHoiXX0sWDhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVudmVsb3Blcy1idWxrIixpY29uOls1NzYsNTEyLFsibWFpbC1idWxrIl0sImY2NzQiLCJNMTEyIDBDODUuNSAwIDY0IDIxLjUgNjQgNDhsMCAxNjAgODAgMCAwLTMyYzAtNTMgNDMtOTYgOTYtOTZsMjA4IDAgMC0zMmMwLTI2LjUtMjEuNS00OC00OC00OEwxMTIgMHpNMjQwIDEyOGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAzMiA4MCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAxMTIgMTYwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xOTJjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTI4OCAwem0yMDAgNjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0ek00OCAyNTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMTAuNCAxNTYuNiA4Ni4yYzEuMSAuNiAyLjIgLjkgMy40IC45czIuNC0uMyAzLjQtLjlMMzIwIDMxNC40IDMyMCAzMDRjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMjU2ek0zMjAgMzY5LjJMMTg2LjYgNDQyLjZjLTguMSA0LjUtMTcuMyA2LjgtMjYuNiA2LjhzLTE4LjQtMi40LTI2LjYtNi44TDAgMzY5LjIgMCA0NjRjMCAyNi41IDIxLjUgNDggNDggNDhsMjI0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NC44eiJdfSxIcXQ9WDhlLHFxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJndWl0YXIiLGljb246WzUxMiw1MTIsW10sImY3YTYiLCJNNDY1IDdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwTDM4MyA1NWMtMi40IDIuNC00LjMgNS4zLTUuNSA4LjVsLTE1LjQgNDEtNzcuNSA3Ny42Yy00NS4xLTI5LjQtOTkuMy0zMC4yLTEzMSAxLjYtMTEgMTEtMTggMjQuNi0yMS40IDM5LjYtMy43IDE2LjYtMTkuMSAzMC43LTM2LjEgMzEuNi0yNS42IDEuMy00OS4zIDEwLjctNjcuMyAyOC42LTQ0LjggNDQuOC0zNi40IDEyNS44IDE4LjcgMTgwLjlTMTgzLjYgNTI4IDIyOC40IDQ4My4yYzE3LjktMTcuOSAyNy40LTQxLjcgMjguNi02Ny4zIC45LTE3IDE1LTMyLjMgMzEuNi0zNi4xIDE1LTMuNCAyOC42LTEwLjUgMzkuNi0yMS40IDMxLjgtMzEuOCAzMS04NS45IDEuNi0xMzFsNzcuNi03Ny42IDQxLTE1LjRjMy4yLTEuMiA2LjEtMy4xIDguNS01LjVsNDgtNDhjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlMNDY1IDd6TTIwOCAyNTZhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2eiJdfSxWcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3VpdGNhc2UiLGljb246WzUxMiw1MTIsWzEyOTUyM10sImYwZjIiLCJNMjAwIDQ4bDExMiAwYzQuNCAwIDggMy42IDggOGwwIDQwLTEyOCAwIDAtNDBjMC00LjQgMy42LTggOC04em0tNTYgOGwwIDQyNCAyMjQgMCAwLTQyNGMwLTMwLjktMjUuMS01Ni01Ni01NkwyMDAgMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZ6TTQxNiA5NmwwIDM4NCAzMiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0zMiAwek05NiA0ODBsMC0zODQtMzIgMEMyOC43IDk2IDAgMTI0LjcgMCAxNjBMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIgMHoiXX0sUThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS11cCIsaWNvbjpbNTEyLDUxMixbNjE0NjcsImFycm93LWFsdC1jaXJjbGUtdXAiXSwiZjM1YiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnptMTEuMy0zODcuM2wxMDQgMTA0YzQuNiA0LjYgNS45IDExLjUgMy41IDE3LjRTMzY2LjUgMjU2IDM2MCAyNTZsLTU2IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05Ni01NiAwYy02LjUgMC0xMi4zLTMuOS0xNC44LTkuOXMtMS4xLTEyLjkgMy41LTE3LjRsMTA0LTEwNGM2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHoiXX0sanF0PVE4ZSxVcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZiIsaWNvbjpbMzIwLDUxMixbMTAyXSwiNDYiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwIDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNjAgMCAwLTEyOCAyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnoiXX0sV3F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InhtYXJrcy1saW5lcyIsaWNvbjpbNjQwLDUxMixbXSwiZTU5YSIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsNTc2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6bTAgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDU3NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDQxNnpNNyAxNjdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDU1IDU1LTU1IDU1Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNTUtNTUgNTUgNTVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC01NS01NSA1NS01NWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC01NSA1NS01NS01NWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDB6TTI2NSAxNjdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNTUgNTUtNTUgNTVjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw1NS01NSA1NSA1NWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTU1LTU1IDU1LTU1YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTU1IDU1LTU1LTU1ek00NTUgMTY3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWw1NSA1NS01NSA1NWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDU1LTU1IDU1IDU1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTUtNTUgNTUtNTVjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNTUgNTUtNTUtNTVjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAweiJdfSxKOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWFydGgtb2NlYW5pYSIsaWNvbjpbNTEyLDUxMixbImdsb2JlLW9jZWFuaWEiXSwiZTQ3YiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTkyIDE1MC42YzAtMTIuNSAxMC4xLTIyLjYgMjIuNi0yMi42bDQxLjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTguNyAwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNGwtMTYtMTZjLTQuMi00LjItNi42LTEwLTYuNi0xNnpNNDMyIDI1NmM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNNDExLjMgMzc5LjNsLTMyIDMyYy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDMyLTMyYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnpNMjI0IDQzMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2em0tOTYtODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTguN2MwLTguNSAzLjQtMTYuNiA5LjQtMjIuNmw0OC00OGM0LjItNC4yIDEwLTYuNiAxNi02LjZsNi42IDBjOC44IDAgMTYgNy4yIDE2IDE2czcuMiAxNiAxNiAxNiAxNi03LjIgMTYtMTYgNy4yLTE2IDE2LTE2bDYuNiAwYzYgMCAxMS44IDIuNCAxNiA2LjZsNDggNDhjNiA2IDkuNCAxNC4xIDkuNCAyMi42bDAgNTAuN2MwIDE3LjctMTQuMyAzMi0zMiAzMmwtNTAuNyAwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNGwtMTMuMy0xMy4zYy02LTYtMTQuMS05LjQtMjIuNi05LjRMMTI4IDM1MnoiXX0sR3F0PUo4ZSxZcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tbWVudC1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZjRiMyIsIk00MS0yNUMzMS42LTM0LjMgMTYuNC0zNC4zIDctMjVTLTIuMy0uNCA3IDlMNTM1IDUzN2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTk2LjYtOTYuNmM0NC40LTQzLjIgNzEuNi0xMDEuOCA3MS42LTE2Ni41IDAtMTMyLjUtMTE0LjYtMjQwLTI1Ni0yNDAtNjMgMC0xMjAuOCAyMS40LTE2NS40IDU2LjhMNDEtMjV6bTE5LjQgMTU1QzQyLjIgMTYzIDMyIDIwMC4zIDMyIDIzOS45IDMyIDI5NC4yIDUxLjIgMzQ0LjIgODMuNiAzODQuNEwzNC44IDQ3Ni43Yy00LjggOS0zLjMgMjAgMy42IDI3LjVTNTYuMSA1MTQgNjUuNSA1MTBsMTE4LjQtNTAuN2MzMS44IDEzLjMgNjcuMSAyMC43IDEwNC4xIDIwLjcgMzYuNCAwIDcwLjktNy4xIDEwMi4zLTE5LjlMNjAuMyAxMzAuMXoiXX0sS3F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYXkiLGljb246WzQ0OCw1MTIsWzk2NTRdLCJmMDRiIiwiTTkxLjIgMzYuOWMtMTIuNC02LjgtMjcuNC02LjUtMzkuNiAuN1MzMiA1Ny45IDMyIDcybDAgMzY4YzAgMTQuMSA3LjUgMjcuMiAxOS42IDM0LjRzMjcuMiA3LjUgMzkuNiAuN2wzMzYtMTg0YzEyLjgtNyAyMC44LTIwLjUgMjAuOC0zNS4xcy04LTI4LjEtMjAuOC0zNS4xbC0zMzYtMTg0eiJdfSxacXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlhbC1jaXJjbGUtY2hlY2siLGljb246WzUxMiw1MTIsW10sImU1OTYiLCJNMzIgMzJDMzIgMTQuMyA0Ni4zIDAgNjQgMEwyODggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDE2MS40Yy02Ni4xIDMwLjMtMTEyIDk3LjEtMTEyIDE3NC42IDAgMzkuNyAxMiA3Ni42IDMyLjcgMTA3LjItMTAuMyAzLjEtMjEuMyA0LjgtMzIuNyA0LjgtNjEuOSAwLTExMi01MC4xLTExMi0xMTJMNjQgNjRDNDYuMyA2NCAzMiA0OS43IDMyIDMyem05NiAzMmwwIDEyOCA5NiAwIDAtMTI4LTk2IDB6bTk2IDMzNmExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMDEuNC02MC45Yy03LjEtNS4yLTE3LjItMy42LTIyLjQgMy41bC01MyA3Mi45LTI2LjgtMjYuOGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGMzLjMgMy4zIDcuOSA1IDEyLjYgNC42czguOS0yLjggMTEuNy02LjVsNjQtODhjNS4yLTcuMSAzLjYtMTcuMi0zLjUtMjIuM3oiXX0sWHF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyaWRnZS1jaXJjbGUtY2hlY2siLGljb246WzU3Niw1MTIsW10sImU0YzkiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDggMCAwIDY0LTQwIDAgMCAxMTJjMzcuNiA5LjQgNjQgNDMuMiA2NCA4MmwwIDk0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2IDYuNCAwIDEyLjcgLjYgMTguNyAxLjggMzQuNy00OS41IDkyLjItODEuOCAxNTcuMy04MS44IDI4LjYgMCA1NS42IDYuMiA4MCAxNy40bDAtNjUuNC00MCAwIDAtNjQgOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyek00MjQgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNMjk2IDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTg4IDk2bDgwIDAgMCA2NC04MCAwIDAtNjR6TTU3NiA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTg2LjYtNjAuOWM3LjEgNS4yIDguNyAxNS4yIDMuNSAyMi4zbC02NCA4OGMtMi44IDMuOC03IDYuMi0xMS43IDYuNXMtOS4zLTEuMy0xMi42LTQuNmwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwyNi44IDI2LjggNTMtNzIuOWM1LjItNy4xIDE1LjItOC43IDIyLjQtMy41eiJdfSxRcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2VkaS1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMGRmIiwiTTIzMiAzMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI2LjVDODguOCA3My45IDE2IDE1Ni40IDE2IDI1NlM4OC44IDQzOC4xIDE4NCA0NTMuNWwwIDI2LjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTI0LjZjNDYuOC0zLjcgODkuMS0yMy42IDEyMS4zLTUzLjkgMTIuOS0xMi4xIDEzLjQtMzIuNCAxLjMtNDUuMnMtMzIuNC0xMy40LTQ1LjItMS4zYy0yMC43IDE5LjYtNDcuNiAzMi43LTc3LjMgMzYuMmwwLTI3MC4xYzI5LjggMy41IDU2LjYgMTYuNiA3Ny4zIDM2LjIgMTIuOSAxMi4xIDMzLjEgMTEuNSA0NS4yLTEuM3MxMS41LTMzLjEtMS4zLTQ1LjJDMzIxLjEgODAuMiAyNzguOCA2MC4zIDIzMiA1Ni42TDIzMiAzMnptLTQ4IDkxLjhsMCAyNjQuNEMxMjQuMyAzNzMuOCA4MCAzMjAuMSA4MCAyNTZzNDQuMy0xMTcuOCAxMDQtMTMyLjJ6Il19LEpxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwdXp6bGUtcGllY2UiLGljb246WzUxMiw1MTIsWzEyOTUxM10sImYxMmUiLCJNMjI0IDBjMzUuMyAwIDY0IDIxLjUgNjQgNDggMCAxMC40LTQuNCAyMC0xMiAyNy45LTYuNiA2LjktMTIgMTUuMy0xMiAyNC45IDAgMTUgMTIuMiAyNy4yIDI3LjIgMjcuMmw0NC44IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0NC44YzAgMTUgMTIuMiAyNy4yIDI3LjIgMjcuMiA5LjUgMCAxOC01LjQgMjQuOS0xMiA3LjktNy41IDE3LjUtMTIgMjcuOS0xMiAyNi41IDAgNDggMjguNyA0OCA2NHMtMjEuNSA2NC00OCA2NGMtMTAuNCAwLTIwLjEtNC40LTI3LjktMTItNi45LTYuNi0xNS4zLTEyLTI0LjktMTItMTUgMC0yNy4yIDEyLjItMjcuMiAyNy4yTDM4NCA0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhsLTU2LjggMGMtMTIuOCAwLTIzLjItMTAuNC0yMy4yLTIzLjIgMC05LjIgNS44LTE3LjMgMTMuMi0yMi44IDExLjYtOC43IDE4LjgtMjAuNyAxOC44LTM0IDAtMjYuNS0yOC43LTQ4LTY0LTQ4cy02NCAyMS41LTY0IDQ4YzAgMTMuMyA3LjIgMjUuMyAxOC44IDM0IDcuNCA1LjUgMTMuMiAxMy41IDEzLjIgMjIuOCAwIDEyLjgtMTAuNCAyMy4yLTIzLjIgMjMuMkw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMzQzLjJjMC0xMi44IDEwLjQtMjMuMiAyMy4yLTIzLjIgOS4yIDAgMTcuMyA1LjggMjIuOCAxMy4yIDguNyAxMS42IDIwLjcgMTguOCAzNCAxOC44IDI2LjUgMCA0OC0yOC43IDQ4LTY0cy0yMS41LTY0LTQ4LTY0Yy0xMy4zIDAtMjUuMyA3LjItMzQgMTguOC01LjUgNy40LTEzLjUgMTMuMi0yMi44IDEzLjItMTIuOCAwLTIzLjItMTAuNC0yMy4yLTIzLjJMMCAxNzZjMC0yNi41IDIxLjUtNDggNDgtNDhsMTA4LjggMGMxNSAwIDI3LjItMTIuMiAyNy4yLTI3LjIgMC05LjUtNS40LTE4LTEyLTI0LjktNy41LTcuOS0xMi0xNy41LTEyLTI3LjkgMC0yNi41IDI4LjctNDggNjQtNDh6Il19LGVWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWxtZXQtdW4iLGljb246WzUxMiw1MTIsW10sImU1MDMiLCJNNDc5LjUgMjI0QzQ3MS4yIDk4LjkgMzY3LjIgMCAyNDAgMCAxMDcuNSAwIDAgMTA3LjUgMCAyNDBsMCA1Ni4zQzAgMzQ0LjggMzkuMiAzODQgODcuNyAzODRsMTI3LjMgMCAxMjguNiAxMjEuNGM0LjUgNC4yIDEwLjQgNi42IDE2LjUgNi42bDk2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTg2LjUgMC0xLjUtMS41IDAtMTc0LjUgMTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLS41IDB6TTMyMCA0MTcuMmwtNzgtNzMuNyAzMi40LTU1LjUgNDUuNiAwIDAgMTI5LjJ6TTI4NS4zIDEwMy4xbDM0LjcgNTIgMC00My4yYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA5NmMwIDcuMS00LjYgMTMuMy0xMS40IDE1LjNzLTE0LS42LTE3LjktNi40bC0zNC43LTUyIDAgNDMuMmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTk2YzAtNy4xIDQuNi0xMy4zIDExLjQtMTUuM3MxNCAuNiAxNy45IDYuNHpNMTYwIDExMmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhsMC02NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2eiJdfSx0VnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2xhc3Mtd2F0ZXIiLGljb246WzM4NCw1MTIsW10sImU0ZjQiLCJNMzIgMEMyMy4xIDAgMTQuNiAzLjcgOC42IDEwLjJTLS42IDI1LjQgLjEgMzQuM0wyOC45IDQzNy43YzMgNDEuOSAzNy44IDc0LjMgNzkuOCA3NC4zbDE2Ni42IDBjNDIgMCA3Ni44LTMyLjQgNzkuOC03NC4zTDM4My45IDM0LjNjLjYtOC45LTIuNC0xNy42LTguNS0yNC4xUzM2MC45IDAgMzUyIDBMMzIgMHpNNzMgMTU2LjVsLTYuNi05Mi41IDI1MS4zIDAtNi42IDkyLjUtMjQuMiAxMi4xYy0xOS40IDkuNy00Mi4yIDkuNy02MS42IDAtMjAuOS0xMC40LTQ1LjUtMTAuNC02Ni40IDAtMTkuNCA5LjctNDIuMiA5LjctNjEuNiAwTDczIDE1Ni41eiJdfSxhVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhcnQtY2lyY2xlLWJvbHQiLGljb246WzU3Niw1MTIsW10sImU0ZmMiLCJNMjQxIDg3LjFsMTUgMjAuNyAxNS0yMC43QzI5NiA1Mi41IDMzNi4yIDMyIDM3OC45IDMyIDQ1Mi40IDMyIDUxMiA5MS42IDUxMiAxNjUuMWwwIDIuNmMwIDE3LjYtMy40IDM1LjYtOS41IDUzLjctMjEuOC04LjYtNDUuNi0xMy40LTcwLjUtMTMuNC0xMDYgMC0xOTIgODYtMTkyIDE5MiAwIDI4LjUgNi4yIDU1LjYgMTcuNCA4MC0uNSAwLS45IDAtMS40IDAtMTUuNSAwLTMwLjgtNC42LTQzLjEtMTQuMS03My01NS43LTIxMi45LTE4Ni0yMTIuOS0yOTguMmwwLTIuNkMwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMiAxNzUuOCAzMiAyMTYgNTIuNSAyNDEgODcuMXpNMjg4IDQwMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0xNzcuNC03N2MtNS44LTQuMi0xMy44LTQtMTkuNCAuNWwtODAgNjRjLTUuMyA0LjItNy40IDExLjQtNS4xIDE3LjhTMzY5LjIgNDE2IDM3NiA0MTZsMzIuOSAwLTE1LjkgNDIuNGMtMi41IDYuNy0uMiAxNC4zIDUuNiAxOC42czEzLjggNCAxOS40LS41bDgwLTY0YzUuMy00LjIgNy40LTExLjQgNS4xLTE3LjhTNDk0LjggMzg0IDQ4OCAzODRsLTMyLjkgMCAxNS45LTQyLjRjMi41LTYuNyAuMi0xNC4zLTUuNi0xOC42eiJdfSxyVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicHVtcC1zb2FwIixpY29uOlszMjAsNTEyLFtdLCJlMDZiIiwiTTk2IDBsMCA4MCAxMjggMCAwLTI0IDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRTMzA5LjMgOCAyOTYgOGwtNzIgMCAwLThjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBDMTEwLjMtMzIgOTYtMTcuNyA5NiAwek02NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5MiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDEyOHpNMjI0IDM0NGMwIDM1LjMtMjguNyA1Ni02NCA1NnMtNjQtMjAuNy02NC01NmMwLTMyLjUgMzctODAuOSA1MC45LTk3LjkgMy4yLTMuOSA4LjEtNi4xIDEzLjEtNi4xczkuOSAyLjIgMTMuMSA2LjFDMTg3IDI2My4xIDIyNCAzMTEuNSAyMjQgMzQ0eiJdfSxzVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1zY2lzc29ycyIsaWNvbjpbNTEyLDUxMixbXSwiZjI1NyIsIk00MCAyMDhjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBsMTgwLjIgMGMtNy42IDguNS0xMi4yIDE5LjctMTIuMiAzMiAwIDI1LjMgMTkuNSA0NiA0NC4zIDQ3LjktNy43IDguNS0xMi4zIDE5LjgtMTIuMyAzMi4xIDAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDk2IDBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhsMC0xMTMuMWMwLTQwLjItMTYtNzguOC00NC40LTEwNy4zLTIyLjgtMjIuOC01My42LTM1LjYtODUuOC0zNS42TDMzNiA2NGMtMjEuMyAwLTM5LjMgMTMuOS00NS42IDMzLjFsNzQuNSAyMy43YzguNCAyLjcgMTMuMSAxMS43IDEwLjQgMjAuMXMtMTEuNyAxMy4xLTIwLjEgMTAuNGwtNjcuMS0yMS40IDAgLjEtMjA0LTY0LjFDNjIuOSA1OS4yIDQwLjUgNzAuOSAzMy45IDkyczUuMSA0My41IDI2LjIgNTAuMkwyNjkuNSAyMDggNDAgMjA4eiJdfSxlbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG9sbHkiLGljb246WzU3Niw1MTIsWyJkb2xseS1ib3giXSwiZjQ3MiIsIk0zMiAwQzE0LjMgMCAwIDE0LjMgMCAzMlMxNC4zIDY0IDMyIDY0bDcyLjkgMCA5Mi4xIDI3Ni4yYy0yMi41IDE3LjYtMzcgNDUtMzcgNzUuOCAwIDUzIDQzIDk2IDk2IDk2IDUyLjQgMCA5NS4xLTQyIDk2LTk0LjNsMjAyLjEtNjcuNGMxNi44LTUuNiAyNS44LTIzLjcgMjAuMi00MC41cy0yMy43LTI1LjgtNDAuNS0yMC4yTDMzMS44IDM1N2MtMTcuMi0yMi4xLTQzLjktMzYuNS03NC0zN0wxNjUuNyA0My44QzE1Ni45IDE3LjYgMTMyLjUgMCAxMDQuOSAwTDMyIDB6TTIwOCA0MTZhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNMjgwLjUgODkuM2MtMjUuMiA4LjItMzkgMzUuMy0zMC44IDYwLjVsMzkuNiAxMjEuN2M4LjIgMjUuMiAzNS4zIDM5IDYwLjUgMzAuOGwxMjEuNy0zOS42YzI1LjItOC4yIDM5LTM1LjMgMzAuOC02MC41TDQ2Mi44IDgwLjVjLTguMi0yNS4yLTM1LjMtMzktNjAuNS0zMC44TDI4MC41IDg5LjN6Il19LGlWdD1lbWUsRnRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhcGVyY2xpcCIsaWNvbjpbNTEyLDUxMixbMTI4MjA2XSwiZjBjNiIsIk0yMjQuNiAxMi44YzU2LjItNTYuMiAxNDcuNC01Ni4yIDIwMy42IDBzNTYuMiAxNDcuNCAwIDIwMy42bC0xNjQgMTY0Yy0zNC40IDM0LjQtOTAuMSAzNC40LTEyNC41IDBzLTM0LjQtOTAuMSAwLTEyNC41TDI5Mi41IDEwMy4zYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNMMTg1IDMwMS4zYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMTY0LTE2NGMzMS4yLTMxLjIgMzEuMi04MS45IDAtMTEzLjFzLTgxLjktMzEuMi0xMTMuMSAwbC0xNjQgMTY0Yy01My4xIDUzLjEtNTMuMSAxMzkuMiAwIDE5Mi4zczEzOS4yIDUzLjEgMTkyLjMgMEw0MjguMyAyODQuM2MxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zTDM0My40IDQ1OS42Yy03OC4xIDc4LjEtMjA0LjcgNzguMS0yODIuOCAwcy03OC4xLTIwNC43IDAtMjgyLjhsMTY0LTE2NHoiXX0sb1Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRlbW9jcmF0IixpY29uOls2NDAsNTEyLFtdLCJmNzQ3IiwiTTY0IDMyYzAtOC45IDMuOC0yMC45IDYuMi0yNy4zIDEtMi44IDMuOC00LjcgNi44LTQuNyAxLjkgMCAzLjggLjcgNS4yIDIuMUwxMjggNDUuNyAxNzMuOCAyLjFjMS40LTEuMyAzLjItMi4xIDUuMi0yLjEgMyAwIDUuOCAxLjggNi44IDQuNyAyLjQgNi41IDYuMiAxOC40IDYuMiAyNy4zIDAgMjYuNS0yMS45IDQyLTI5LjUgNDYuNmw3Ni4yIDcyLjZjNiA1LjcgMTMuOSA4LjggMjIuMSA4LjhsMjE5LjIgMCAzMiAwYzQwLjMgMCA3OC4yIDE5IDEwMi40IDUxLjJsMTkuMiAyNS42YzEwLjYgMTQuMSA3LjcgMzQuMi02LjQgNDQuOHMtMzQuMiA3LjctNDQuOC02LjRsLTE5LjItMjUuNmMtNS4zLTctMTEuOC0xMi44LTE5LjItMTdsMCA4Ny40LTM1MiAwLTQwLjQtOTQuM2MtMy45LTkuMi0xNS4zLTEyLjYtMjMuNi03bC00Mi4xIDI4Yy05LjEgNi4xLTE5LjcgOS4zLTMwLjcgOS4zbC0yIDBDMjMuOSAyNTYgMCAyMzIuMSAwIDIwMi43IDAgMTkwLjYgNC4xIDE3OC45IDExLjcgMTY5LjRMODcuNiA3NC42Qzc4LjEgNjcuNCA2NCA1My4yIDY0IDMyek01NDQgMzUybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0LTE2MCAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTI4IDM1MiAwek0yNTYgMjgwYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMjQ4LTI0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTM2OCAyODBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSx0bWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWFycm93LXVwLXJpZ2h0IixpY29uOls0NDgsNTEyLFsiZXh0ZXJuYWwtbGluay1zcXVhcmUiXSwiZjE0YyIsIk0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwek0yNzIgMjk2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTExMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDU0LjEgMC0xMDMgMTAzYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMTAzLTEwMyAwIDU0LjF6Il19LG5WdD10bWUsbFZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZlcnJ5IixpY29uOls2NDAsNTEyLFtdLCJlNGVhIiwiTTIyNCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMkwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDQ4IDBjNDQuMiAwIDgwIDM1LjggODAgODBsMCAxMjgtLjEgMGMuMSAuNyAuMSAxLjMgLjEgMiAwIDMwLjItNy42IDU5LjgtMjIgODYuM2wtMTIuNyAyMy4zLS42IDFjLTIyLjMtMTEuMy00Ni41LTE2LjgtNzAuOC0xNi43LTMyLjUgLjItNjQuOSAxMC43LTkyLjQgMzEuNC0yMi4xIDE2LjYtMjkuMSAxNi42LTUxLjIgMC0yOC4xLTIxLjEtNjEuMy0zMS42LTk0LjQtMzEuNC0yMy42IC4yLTQ3LjEgNS43LTY4LjcgMTYuN2wtLjYtMS0xMi43LTIzLjNjLTE0LjQtMjYuNS0yMi01Ni4yLTIyLTg2LjMgMC0uNyAwLTEuNCAuMS0ybC0uMSAwIDAtMTI4YzAtNDQuMiAzNS44LTgwIDgwLTgwbDQ4IDAgMC0zMnpNMTYwIDI1NmwzMjAgMCAwLTExMmMwLTguOC03LjItMTYtMTYtMTZsLTI4OCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxMTJ6TTQwMy40IDQ3Ni4xQzM3OS4xIDQ5NC4zIDM1MS4xIDUxMiAzMjAgNTEycy01OS4xLTE3LjctODMuNC0zNS45Yy0yMS4zLTE2LjEtNDkuOS0xNi4xLTcxLjIgMC0yMy44IDE3LjktNTQuMSAzNS41LTg4LjEgMzUuMy0yMC40LS4xLTQwLjctNi43LTU5LjgtMjEuMS0xMC42LTgtMTIuNy0yMy00LjctMzMuNnMyMy0xMi43IDMzLjYtNC43YzExLjMgOC41IDIxLjYgMTEuNCAzMS4yIDExLjUgMTcuNiAuMSAzNy4zLTkuNCA1OC45LTI1LjcgMzguNC0yOSA5MC41LTI5IDEyOSAwIDI0IDE4LjEgNDAuNyAyNi4zIDU0LjUgMjYuM3MzMC41LTguMiA1NC41LTI2LjNjMzguNC0yOSA5MC41LTI5IDEyOSAwIDE2LjkgMTIuNyAzMi45IDIxLjUgNDcuOCAyNC42IDEzLjcgMi44IDI3LjQgLjkgNDIuMy0xMC4zIDEwLjYtOCAyNS42LTUuOSAzMy42IDQuN3M1LjkgMjUuNi00LjcgMzMuNmMtMjYuNCAxOS45LTU0LjIgMjQuNC04MC43IDE5LjEtMjUuMy01LjEtNDguMS0xOC45LTY3LjItMzMuMy0yMS4zLTE2LjEtNDkuOS0xNi4xLTcxLjIgMHoiXX0sY1Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vc3F1aXRvIixpY29uOls1NzYsNTEyLFtdLCJlNTJiIiwiTTE3OC41IDQ5NS4yYy03LjUgOS42LTIxIDEyLjEtMzEuMyA1LjNTMTMzLjUgNDgwIDEzOC45IDQ2OWwxLjItMi4yIDM2LjItNTggMC00MSAuMy00Yy42LTMuOSAyLjItNy43IDQuNi0xMC45bDM5LjMtNTIuMi02Ni4yIDU5LjVjLTE3IDE1LjMtMzkgMjMuNy02MS45IDIzLjhsLTguMSAwYy00Ni42IDAtODQuNC0zNy44LTg0LjQtODQuNCAwLTQzIDMyLjQtNzkuMiA3NS4xLTgzLjlsMTMwLjUtMTQuNS00NC44LTM4LjMtMi40LTIuNGMtNS4zLTYtNy4zLTE0LjQtNS4zLTIyLjNsMTMuMy01My40LTI1LjktMzguOS0xLjMtMi4xYy01LjgtMTAuOC0yLjctMjQuNiA3LjQtMzEuNyAxMC4xLTcuMSAyMy43LTUuMSAzMS40IDQuM2wxLjUgMiAzMiA0OCAxLjQgMi4yYzIuOCA1LjMgMy41IDExLjYgMi4xIDE3LjZsLTEyLjMgNDkuMiA1My4zIDQ1LjcgMC0yOC44YzAtMTEuOCA2LjUtMjIuMSAxNi0yNy43bDAtNjAuNSAuMy0zLjNjMS41LTcuMyA4LTEyLjcgMTUuNy0xMi43czE0LjIgNS41IDE1LjcgMTIuN2wuMyAzLjIgMCA2MC41YzkuNiA1LjUgMTYgMTUuOCAxNiAyNy43bDAgMjguOSA1My40LTQ1LjgtMTIuMy00OS4yYy0xLjUtNS45LS43LTEyLjIgMi4xLTE3LjZsMS40LTIuMiAzMi00OCAxLjUtMmM3LjctOS40IDIxLjMtMTEuNSAzMS40LTQuMyAxMC4xIDcuMSAxMy4xIDIwLjkgNy40IDMxLjdsLTEuMyAyLjEtMjUuOSAzOC45IDEzLjMgNTMuNGMyIDgtLjEgMTYuMy01LjMgMjIuM2wtMi40IDIuNC00NC43IDM4LjMgMTMwLjUgMTQuNWM0Mi44IDQuOCA3NS4xIDQwLjkgNzUuMSA4My45IDAgNDYuNi0zNy44IDg0LjQtODQuNCA4NC40bC04LjEgMGMtMjIuOCAwLTQ0LjktOC41LTYxLjktMjMuOGwtNjYuMS01OS41IDM5LjIgNTIuMmMyLjQgMy4yIDQgNyA0LjYgMTAuOWwuMyA0IDAgNDEgMzYuMiA1OCAxLjIgMi4xYzUuNCAxMSAyIDI0LjctOC4zIDMxLjVzLTIzLjggNC40LTMxLjMtNS4zbC0xLjQtMi00MC02NC0xLjYtMy4xYy0xLjQtMy4xLTIuMS02LjYtMi4xLTEwLjFsMC0zOS44LTMyLjQtNDMuMSAwIDc0LjdjMCAxNy43LTE0LjMgMzItMzIgMzItMTcuNyAwLTMyLTE0LjMtMzItMzJsMC03NC42LTMyLjMgNDMgMCAzOS44YzAgMy41LS43IDYuOS0yLjEgMTAuMWwtMS42IDMuMS00MCA2NC0xLjQgMnoiXX0sZFZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1aWxkaW5nLWNpcmNsZS1hcnJvdy1yaWdodCIsaWNvbjpbNTc2LDUxMixbXSwiZTRkMSIsIk0zMiA2NEMzMiAyOC43IDYwLjcgMCA5NiAwTDM1MiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTQ0LjdjLTM1LjcgMi45LTY4LjUgMTUuNi05NiAzNS40bDAtNGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0IDBjLTEzLjggMTkuMi0yNC4xIDQxLTMwLjEgNjQuNS0xLjktLjQtMy45LS41LTUuOS0uNWwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA4MCA3NC45IDBjNi4xIDE3LjMgMTQuNiAzMy40IDI1LjEgNDhMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwzMiA2NHpNMTQ0IDk2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bTExMiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0xNDQgMjI0Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTI4OCA0MDBhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMTQwLjctNjcuM2MtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZsMjguNyAyOC43LTg5LjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw4OS40IDAtMjguNyAyOC43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsNTYtNTZjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZsLTU2LTU2Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHoiXX0sYW1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxlZnQtcmlnaHQiLGljb246WzUxMiw1MTIsWzg1OTYsImFycm93cy1hbHQtaCJdLCJmMzM3IiwiTTUwMi42IDQwNi42bC05NiA5NmMtOS4yIDkuMi0yMi45IDExLjktMzQuOSA2LjlTMzUyIDQ5Mi45IDM1MiA0ODBsMC02NC0zMjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMjAgMCAwLTY0YzAtMTIuOSA3LjgtMjQuNiAxOS44LTI5LjZzMjUuNy0yLjIgMzQuOSA2LjlsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjN6TTkuNCAxNTAuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsOTYtOTZjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02LjlTMTYwIDE5LjEgMTYwIDMybDAgNjQgMzIwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyMCAwIDAgNjRjMCAxMi45LTcuOCAyNC42LTE5LjggMjkuNnMtMjUuNyAyLjItMzQuOS02LjlsLTk2LTk2eiJdfSx1VnQ9YW1lLHBWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aXJ1cyIsaWNvbjpbNTEyLDUxMixbXSwiZTA3NCIsIk0yOTYgNDBjMC0yMi4xLTE3LjktNDAtNDAtNDBzLTQwIDE3LjktNDAgNDBjMCA0NC4xLTUzLjMgNjYuMS04NC41IDM1LTE1LjYtMTUuNi00MC45LTE1LjYtNTYuNiAwcy0xNS42IDQwLjkgMCA1Ni42YzMxLjIgMzEuMiA5LjEgODQuNS0zNSA4NC41LTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBjNDQuMSAwIDY2LjEgNTMuMyAzNSA4NC41LTE1LjYgMTUuNi0xNS42IDQwLjkgMCA1Ni42czQwLjkgMTUuNiA1Ni42IDBjMzEuMi0zMS4yIDg0LjUtOS4xIDg0LjUgMzUgMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MGMwLTQ0LjEgNTMuMy02Ni4xIDg0LjUtMzUgMTUuNiAxNS42IDQwLjkgMTUuNiA1Ni42IDBzMTUuNi00MC45IDAtNTYuNmMtMzEuMi0zMS4yLTkuMS04NC41IDM1LTg0LjUgMjIuMSAwIDQwLTE3LjkgNDAtNDBzLTE3LjktNDAtNDAtNDBjLTQ0LjEgMC02Ni4xLTUzLjMtMzUtODQuNSAxNS42LTE1LjYgMTUuNi00MC45IDAtNTYuNnMtNDAuOS0xNS42LTU2LjYgMEMzNDkuMyAxMDYuMSAyOTYgODQuMSAyOTYgNDB6TTE2MCAyMjRhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTYwIDMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sZlZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdlbSIsaWNvbjpbNTEyLDUxMixbMTI4MTQyXSwiZjNhNSIsIk0xMTYuNyAzMy44YzQuNS02LjEgMTEuNy05LjggMTkuMy05LjhsMjQwIDBjNy42IDAgMTQuOCAzLjYgMTkuMyA5LjhsMTEyIDE1MmM2LjggOS4yIDYuMSAyMS45LTEuNSAzMC40bC0yMzIgMjU2Yy00LjUgNS0xMSA3LjktMTcuOCA3LjlzLTEzLjItMi45LTE3LjgtNy45bC0yMzItMjU2Yy03LjctOC41LTguMy0yMS4yLTEuNS0zMC40bDExMi0xNTJ6bTM4LjUgMzkuOGMtMy4zIDIuNS00LjIgNy0yLjEgMTAuNUwyMTAuNSAxNzkuOCA2My4zIDE5MmMtNC4xIC4zLTcuMyAzLjgtNy4zIDhzMy4yIDcuNiA3LjMgOGwxOTIgMTZjLjQgMCAuOSAwIDEuMyAwbDE5Mi0xNmM0LjEtLjMgNy4zLTMuOCA3LjMtOHMtMy4yLTcuNi03LjMtOGwtMTQ3LjItMTIuMyA1Ny40LTk1LjZjMi4xLTMuNSAxLjItOC4xLTIuMS0xMC41cy03LjktMi0xMC43IDFMMjU2IDE3Mi4yIDE2NS45IDc0LjZjLTIuOC0zLTcuNC0zLjQtMTAuNy0xeiJdfSxoVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9pbGV0IixpY29uOls0NDgsNTEyLFsxMjg3MDFdLCJmN2Q4IiwiTTI0IDBDMTAuNyAwIDAgMTAuNyAwIDI0UzEwLjcgNDggMjQgNDhsOCAwIDAgMTQ4LjljLTEuOSAxLjQtMy44IDIuOS01LjYgNC40LTE1LjUgMTMuMi0yNi40IDMxLjYtMjYuNCA1NC42IDAgNDYuOSAxNC4zIDg0LjEgMzcgMTEyLjUgMTQuMiAxNy43IDMxLjEgMzEuMyA0OC41IDQxLjhMNjUuNiA0NjkuOWMtMy4zIDkuOC0xLjYgMjAuNSA0LjQgMjguOFM4NS43IDUxMiA5NiA1MTJsMjU2IDBjMTAuMyAwIDE5LjktNC45IDI2LTEzLjNzNy43LTE5LjEgNC40LTI4LjhsLTE5LjgtNTkuNWMxNy40LTEwLjUgMzQuMy0yNC4xIDQ4LjUtNDEuOCAyMi43LTI4LjQgMzctNjUuNSAzNy0xMTIuNSAwLTIzLjEtMTAuOS00MS41LTI2LjQtNTQuNi0xLjgtMS41LTMuNy0zLTUuNi00LjRsMC0xNDguOSA4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRTNDM3LjMgMCA0MjQgMEwyNCAwek05NiA4MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2ek0yMjQgMjg4Yy04OC40IDAtMTYwLTE0LjMtMTYwLTMyczcxLjYtMzIgMTYwLTMyIDE2MCAxNC4zIDE2MCAzMi03MS42IDMyLTE2MCAzMnoiXX0sbVZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNpbmdsZS1xdW90ZS1sZWZ0IixpY29uOlsxOTIsNTEyLFtdLCJlODFiIiwiTTEyOCA5NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOCAwYy0zMC45IDAtNTYgMjUuMS01NiA1NmwwIDggNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDIxNkMwIDE0OS43IDUzLjcgOTYgMTIwIDk2bDggMHoiXX0sZ1Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbmV5LWJpbGxzIixpY29uOls1NzYsNTEyLFtdLCJlMWYzIiwiTTE2MCAzMmMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyMjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzUyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMMTYwIDMyem0xNzYgOTZhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6TTE2MCAxNTJsMC00OGMwLTQuNCAzLjYtOCA4LThsNDggMGM0LjQgMCA4LjEgMy42IDcuNSA4LTMuNiAyOS0yNi42IDUxLjktNTUuNSA1NS41LTQuNCAuNS04LTMuMS04LTcuNXptMCAxMTJjMC00LjQgMy42LTguMSA4LTcuNSAyOSAzLjYgNTEuOSAyNi42IDU1LjUgNTUuNSAuNSA0LjQtMy4xIDgtNy41IDhsLTQ4IDBjLTQuNCAwLTgtMy42LTgtOGwwLTQ4ek01MDQgMTU5LjVjLTI5LTMuNi01MS45LTI2LjYtNTUuNS01NS41LS41LTQuNCAzLjEtOCA3LjUtOGw0OCAwYzQuNCAwIDggMy42IDggOGwwIDQ4YzAgNC40LTMuNiA4LjEtOCA3LjV6TTUxMiAyNjRsMCA0OGMwIDQuNC0zLjYgOC04IDhsLTQ4IDBjLTQuNCAwLTguMS0zLjYtNy41LTggMy42LTI5IDI2LjYtNTEuOSA1NS41LTU1LjUgNC40LS41IDggMy4xIDggNy41ek00OCAxNTJjMC0xMy4zLTEwLjctMjQtMjQtMjRTMCAxMzguNyAwIDE1MkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzOTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw2NCA0MzJjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTI2NHoiXX0sYlZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhYmxldC1idXR0b24iLGljb246WzQ0OCw1MTIsW10sImYxMGEiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHpNMjI0IDQwMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LEtiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlY3RhbmdsZS14bWFyayIsaWNvbjpbNTEyLDUxMixbNjIxNjQsInJlY3RhbmdsZS10aW1lcyIsInRpbWVzLXJlY3RhbmdsZSIsIndpbmRvdy1jbG9zZSJdLCJmNDEwIiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0ek0xNjcgMTY3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDU1IDU1IDU1LTU1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNTUgNTUgNTUgNTVjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNTUtNTUtNTUgNTVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNTUtNTUtNTUtNTVjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45eiJdfSx2VnQ9S2IseFZ0PUtiLHlWdD1LYix3VnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid3JlbmNoIixpY29uOls1NzYsNTEyLFsxMjgyOTVdLCJmMGFkIiwiTTUwOS40IDk4LjZjNy42LTcuNiAyMC4zLTUuNyAyNC4xIDQuMyA2LjggMTcuNyAxMC41IDM3IDEwLjUgNTcuMSAwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MC0xNy41IDAtMzQuNC0yLjgtNTAuMi04TDE0Ni45IDQ5OC45Yy0yOC4xIDI4LjEtNzMuNyAyOC4xLTEwMS44IDBzLTI4LjEtNzMuNyAwLTEwMS44TDIzMiAyMTAuMmMtNS4yLTE1LjgtOC0zMi42LTgtNTAuMiAwLTg4LjQgNzEuNi0xNjAgMTYwLTE2MCAyMC4xIDAgMzkuNCAzLjcgNTcuMSAxMC41IDEwIDMuOCAxMS44IDE2LjUgNC4zIDI0LjFsLTg4LjcgODguN2MtMyAzLTQuNyA3LjEtNC43IDExLjNsMCA0MS40YzAgOC44IDcuMiAxNiAxNiAxNmw0MS40IDBjNC4yIDAgOC4zLTEuNyAxMS4zLTQuN2w4OC43LTg4Ljd6Il19LHB2PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyYXNoLWNhbiIsaWNvbjpbNDQ4LDUxMixbNjE0NjAsInRyYXNoLWFsdCJdLCJmMmVkIiwiTTEzNi43IDUuOUMxNDEuMS03LjIgMTUzLjMtMTYgMTY3LjEtMTZsMTEzLjkgMGMxMy44IDAgMjYgOC44IDMwLjQgMjEuOUwzMjAgMzIgNDE2IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjRTMTQuMyAzMiAzMiAzMmw5NiAwIDguNy0yNi4xek0zMiAxNDRsMzg0IDAgMCAzMDRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTMwNHptODggNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTkyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xOTJjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTEwNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE5MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTkyYzAtMTMuMy0xMC43LTI0LTI0LTI0em0xMDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxOTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE5MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0sTVZ0PXB2LHJtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZS1jZWxscyIsaWNvbjpbNDQ4LDUxMixbInRoIl0sImYwMGEiLCJNMzg0IDk2bDAgNjQtNjQgMCAwLTY0IDY0IDB6bTAgMTI4bDAgNjQtNjQgMCAwLTY0IDY0IDB6bTAgMTI4bDAgNjQtNjQgMCAwLTY0IDY0IDB6TTI1NiAyODhsLTY0IDAgMC02NCA2NCAwIDAgNjR6bS02NCA2NGw2NCAwIDAgNjQtNjQgMCAwLTY0em0tNjQtNjRsLTY0IDAgMC02NCA2NCAwIDAgNjR6TTY0IDM1Mmw2NCAwIDAgNjQtNjQgMCAwLTY0em0wLTE5MmwwLTY0IDY0IDAgMCA2NC02NCAwem0xMjggMGwwLTY0IDY0IDAgMCA2NC02NCAwek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyeiJdfSxrVnQ9cm1lLFNWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyaWJib24iLGljb246WzM4NCw1MTIsWzEyNzg5NV0sImY0ZDYiLCJNMjM1LjEgMGMzMy40IDAgNjQuNSAxNy40IDgxLjkgNDUuOSAxLjIgMiAxMyAyMS4zIDM1LjMgNTcuOCAyMS4xIDM0LjUgMTguMyA3OC41LTcgMTEwTDI3OC4zIDI5Ny43IDM2NC41IDQwNmM1LjUgNi45IDQuNCAxNi45LTIuNSAyMi41bC04MCA2NGMtNi45IDUuNS0xNyA0LjQtMjIuNS0yLjVMMzguNiAyMTMuOEMxMy4zIDE4Mi4zIDEwLjUgMTM4LjMgMzEuNiAxMDMuOCA1NCA2Ny4yIDY1LjcgNDcuOSA2NyA0NS45IDg0LjQgMTcuNCAxMTUuNCAwIDE0OC45IDBsODYuMyAwek0xOTIgMTg5LjJsNDguNi02MS4yLTk3LjMgMCA0OC42IDYxLjJ6TTc1IDMzNi4ybDg2LjIgMTA3LjgtMzYuOCA0NmMtNS41IDYuOS0xNS42IDgtMjIuNSAyLjVsLTgwLTY0Yy02LjktNS41LTgtMTUuNi0yLjUtMjIuNUw3NSAzMzYuMnoiXX0selZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxhbmRtYXJrLWZsYWciLGljb246WzUxMiw1MTIsW10sImU1MWMiLCJNMzUyLTMyTDI0MC0zMmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTQ0LTE3NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE2IDAgMCAyMjQtNTEuMiAzOC40QzQuNyA0NjAuNCAwIDQ2OS45IDAgNDgwIDAgNDk3LjcgMTQuMyA1MTIgMzIgNTEybDQ0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyIDAtMTAuMS00LjctMTkuNi0xMi44LTI1LjZsLTUxLjItMzguNCAwLTIyNCAxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xOTIgMCAwLTY0IDgwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNjRjMC04LjgtNy4yLTE2LTE2LTE2em00OCAyMjRsMCAyMjQtNjQgMCAwLTIyNCA2NCAwem0tMTEyIDBsMCAyMjQtNjQgMCAwLTIyNCA2NCAwem0tMTEyIDBsMCAyMjQtNjQgMCAwLTIyNCA2NCAweiJdfSxzbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXAtZG93bi1sZWZ0LXJpZ2h0IixpY29uOls1MTIsNTEyLFsiYXJyb3dzLWFsdCJdLCJmMGIyIiwiTTI3OC42IDkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy05LjIgOS4yLTExLjkgMjIuOS02LjkgMzQuOVMxNzkuMSAxMjggMTkyIDEyOGwzMiAwIDAgOTYtOTYgMCAwLTMyYzAtMTIuOS03LjgtMjQuNi0xOS44LTI5LjZzLTI1LjctMi4yLTM0LjkgNi45bC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjOS4yIDkuMiAyMi45IDExLjkgMzQuOSA2LjlTMTI4IDMzMi45IDEyOCAzMjBsMC0zMiA5NiAwIDAgOTYtMzIgMGMtMTIuOSAwLTI0LjYgNy44LTI5LjYgMTkuOHMtMi4yIDI1LjcgNi45IDM0LjlsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsNjQtNjRjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTMzMyLjkgMzg0IDMyMCAzODRsLTMyIDAgMC05NiA5NiAwIDAgMzJjMCAxMi45IDcuOCAyNC42IDE5LjggMjkuNnMyNS43IDIuMiAzNC45LTYuOWw2NC02NGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtNjQtNjRjLTkuMi05LjItMjIuOS0xMS45LTM0LjktNi45UzM4NCAxNzkuMSAzODQgMTkybDAgMzItOTYgMCAwLTk2IDMyIDBjMTIuOSAwIDI0LjYtNy44IDI5LjYtMTkuOHMyLjItMjUuNy02LjktMzQuOWwtNjQtNjR6Il19LENWdD1zbWUsX1Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhci1zaWRlIixpY29uOls2NDAsNTEyLFsxMjg2NjNdLCJmNWU0IiwiTTE0NyAxMDYuN2wtMjkuOCA4NS4zIDEyMi45IDAgMC05Ni03Ny45IDBjLTYuOCAwLTEyLjkgNC4zLTE1LjEgMTAuN3pNNDguNiAxOTMuOUw4Ni41IDg1LjZDOTcuOCA1My41IDEyOC4xIDMyIDE2Mi4xIDMyTDM2MCAzMmMyNS4yIDAgNDguOSAxMS45IDY0IDMybDk2LjIgMTI4LjNDNTg3LjEgMTk2LjUgNjQwIDI1Mi4xIDY0MCAzMjBsMCAxNmMwIDM1LjMtMjguNyA2NC02NCA2NGwtMTYuNCAwYy00IDQ0LjktNDEuNyA4MC04Ny42IDgwcy04My42LTM1LjEtODcuNi04MGwtMTQ0LjcgMGMtNCA0NC45LTQxLjcgODAtODcuNiA4MHMtODMuNi0zNS4xLTg3LjYtODBsLS40IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtODBjMC0zMC4xIDIwLjctNTUuMyA0OC42LTYyLjF6TTQ0MCAxOTJsLTY3LjItODkuNmMtMy00LTcuOC02LjQtMTIuOC02LjRsLTcyIDAgMCA5NiAxNTIgMHpNMTUyIDQzMmE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6bTM2MC00MGE0MCA0MCAwIDEgMCAtODAgMCA0MCA0MCAwIDEgMCA4MCAweiJdfSxpbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJhc2gtYXJyb3ctdXAiLGljb246WzQ0OCw1MTIsWyJ0cmFzaC1yZXN0b3JlIl0sImY4MjkiLCJNMTY3LjEtMTZsMTEzLjkgMGMxMy44IDAgMjYgOC44IDMwLjQgMjEuOUwzMjAgMzIgNDE2IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjRTMTQuMyAzMiAzMiAzMmw5NiAwIDguNy0yNi4xQzE0MS4xLTcuMiAxNTMuMy0xNiAxNjcuMS0xNnpNMzIgMTQ0bDM4NCAwLTIxLjEgMzIzLjFDMzkzLjMgNDkyLjQgMzcyLjMgNTEyIDM0NyA1MTJMMTAxIDUxMmMtMjUuMyAwLTQ2LjMtMTkuNi00Ny45LTQ0LjlMMzIgMTQ0em0yMDkgNzljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC03MiA3MmMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDMxLTMxIDAgMTAyLjFjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEwMi4xIDMxIDMxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNzItNzJ6Il19LFRWdD1pbWUsTFZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxpZmUtcmluZyIsaWNvbjpbNTEyLDUxMixbXSwiZjFjZCIsIk0zNjcuMiA0MTIuNUMzMzUuOSA0MzQuOSAyOTcuNSA0NDggMjU2IDQ0OHMtNzkuOS0xMy4xLTExMS4yLTM1LjVsNTgtNThjMTUuOCA4LjYgMzQgMTMuNSA1My4zIDEzLjVzMzcuNC00LjkgNTMuMy0xMy41bDU4IDU4em05MC43IC44YzMzLjgtNDMuNCA1NC05OCA1NC0xNTcuM1M0OTEuOCAxNDIuMSA0NTggOTguN2M5LTEyLjUgNy45LTMwLjEtMy40LTQxLjNTNDI1LjggNDUgNDEzLjMgNTRDMzY5LjkgMjAuMiAzMTUuMyAwIDI1NiAwUzE0Mi4xIDIwLjIgOTguNyA1NGMtMTIuNS05LTMwLjEtNy45LTQxLjMgMy40UzQ1IDg2LjIgNTQgOTguN0MyMC4yIDE0Mi4xIDAgMTk2LjcgMCAyNTZTMjAuMiAzNjkuOSA1NCA0MTMuM2MtOSAxMi41LTcuOSAzMC4xIDMuNCA0MS4zUzg2LjIgNDY3IDk4LjcgNDU4YzQzLjQgMzMuOCA5OCA1NCAxNTcuMyA1NHMxMTMuOS0yMC4yIDE1Ny4zLTU0YzEyLjUgOSAzMC4xIDcuOSA0MS4zLTMuNHMxMi40LTI4LjggMy40LTQxLjN6bS00NS41LTQ2LjFsLTU4LTU4YzguNi0xNS44IDEzLjUtMzQgMTMuNS01My4zcy00LjktMzcuNC0xMy41LTUzLjNsNTgtNThDNDM0LjkgMTc2LjEgNDQ4IDIxNC41IDQ0OCAyNTZzLTEzLjEgNzkuOS0zNS41IDExMS4yek0zNjcuMiA5OS41bC01OCA1OGMtMTUuOC04LjYtMzQtMTMuNS01My4zLTEzLjVzLTM3LjQgNC45LTUzLjMgMTMuNWwtNTgtNThDMTc2LjEgNzcuMSAyMTQuNSA2NCAyNTYgNjRzNzkuOSAxMy4xIDExMS4yIDM1LjV6TTE1Ny41IDMwOS4zbC01OCA1OEM3Ny4xIDMzNS45IDY0IDI5Ny41IDY0IDI1NnMxMy4xLTc5LjkgMzUuNS0xMTEuMmw1OCA1OGMtOC42IDE1LjgtMTMuNSAzNC0xMy41IDUzLjNzNC45IDM3LjQgMTMuNSA1My4zek0yMDggMjU2YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6Il19LCRWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb3B5cmlnaHQiLGljb246WzUxMiw1MTIsWzE2OV0sImYxZjkiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTIwNS4xIDMwNi45YzI4LjEgMjguMSA3My43IDI4LjEgMTAxLjggMCA5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjljLTQ2LjkgNDYuOS0xMjIuOCA0Ni45LTE2OS43IDBzLTQ2LjktMTIyLjggMC0xNjkuNyAxMjIuOC00Ni45IDE2OS43IDBjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGMtMjguMS0yOC4xLTczLjctMjguMS0xMDEuOCAwcy0yOC4xIDczLjcgMCAxMDEuOHoiXX0sRFZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtcHJlc2NyaXB0aW9uIixpY29uOlszODQsNTEyLFtdLCJmNTcyIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek04OCAxOTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTQ0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MCAyMi41IDAgNTguNCA1NS0zMy40IDMxLjZjLTkuNiA5LjEtMTAuMSAyNC4zLS45IDMzLjlzMjQuMyAxMC4xIDMzLjkgLjlsMzUuNC0zMy41IDM1LjYgMzMuNWM5LjcgOS4xIDI0LjggOC42IDMzLjktMXM4LjYtMjQuOC0xLTMzLjlsLTMzLjYtMzEuNiAzMy42LTMxLjhjOS42LTkuMSAxMC4xLTI0LjMgLjktMzMuOXMtMjQuMy0xMC4xLTMzLjktLjlsLTM1LjcgMzMuNy00MC45LTM4LjVjMTIuOS0xMS43IDIxLjEtMjguNiAyMS4xLTQ3LjUgMC0zNS4zLTI4LjctNjQtNjQtNjRsLTU2IDB6bTMyIDgwbC04IDAgMC0zMiAzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0yNCAweiJdfSxBVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZXJhc2VyIixpY29uOls1NzYsNTEyLFtdLCJmMTJkIiwiTTE3OC41IDQxNmwxMjMgMCA2NS4zLTY1LjMtMTczLjUtMTczLjUtMTI2LjcgMTI2LjcgMTEyIDExMnpNMjI0IDQ4MGwtNDUuNSAwYy0xNyAwLTMzLjMtNi43LTQ1LjMtMTguN0wxNyAzNDVDNi4xIDMzNC4xIDAgMzE5LjQgMCAzMDRzNi4xLTMwLjEgMTctNDFMMjYzIDE3QzI3My45IDYuMSAyODguNiAwIDMwNCAwczMwLjEgNi4xIDQxIDE3TDUyNyAxOTljMTAuOSAxMC45IDE3IDI1LjYgMTcgNDFzLTYuMSAzMC4xLTE3IDQxbC0xMzUgMTM1IDEyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yODggMHoiXX0sb21lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXJnbGFzcy1zdGFydCIsaWNvbjpbMzg0LDUxMixbImhvdXJnbGFzcy0xIl0sImYyNTEiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGwwIDExYzAgNDIuNCAxNi45IDgzLjEgNDYuOSAxMTMuMWw2Ny45IDY3LjktNjcuOSA2Ny45QzQ4LjkgMzUzLjkgMzIgMzk0LjYgMzIgNDM3bDAgMTFjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC0xMWMwLTQyLjQtMTYuOS04My4xLTQ2LjktMTEzLjFsLTY3LjktNjcuOSA2Ny45LTY3LjljMzAtMzAgNDYuOS03MC43IDQ2LjktMTEzLjFsMC0xMWMxNy43IDAgMzItMTQuMyAzMi0zMlMzNjkuNyAwIDM1MiAwTDMyIDB6TTI4OCA0MzdsMCAxMS0xOTIgMCAwLTExYzAtMjUuNSAxMC4xLTQ5LjkgMjguMS02Ny45bDY3LjktNjcuOSA2Ny45IDY3LjljMTggMTggMjguMSA0Mi40IDI4LjEgNjcuOXoiXX0sRVZ0PW9tZSxubWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWxlZnQiLGljb246WzUxMiw1MTIsWzYxODQwLCJhcnJvdy1hbHQtY2lyY2xlLWxlZnQiXSwiZjM1OSIsIk01MTIgMjU2YTI1NiAyNTYgMCAxIDAgLTUxMiAwIDI1NiAyNTYgMCAxIDAgNTEyIDB6TTEyNC43IDI0NC43bDEwNC0xMDRjNC42LTQuNiAxMS41LTUuOSAxNy40LTMuNXM5LjkgOC4zIDkuOSAxNC44bDAgNTYgOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwIDAgNTZjMCA2LjUtMy45IDEyLjMtOS45IDE0LjhzLTEyLjkgMS4xLTE3LjQtMy41bC0xMDQtMTA0Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnoiXX0sUFZ0PW5tZSxJVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3J1emVpcm8tc2lnbiIsaWNvbjpbNDQ4LDUxMixbXSwiZTE1MiIsIk0yNDAgOTZjLTg4LjQgMC0xNjAgNzEuNi0xNjAgMTYwIDAgNzEuNiA0Ny4xIDEzMi4zIDExMiAxNTIuN0wxOTIgMjU2YzAtMTMuMyAxMC43LTI0IDI0LTI0IDEyLjggMCAyMy4zIDEwLjEgMjQgMjIuNyAxNS41LTkuNSAzMy41LTE0LjcgNTIuMy0xNC43bDExLjggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTEuOCAwYy0xOC44IDAtMzYuMSAxMC00NS40IDI2LjMtNC41IDcuOS02LjkgMTYuOC02LjkgMjUuOWwwIDc1LjhjNDIuNSAwIDgxLjEtMTYuNiAxMDkuOC00My42IDEyLjktMTIuMSAzMy4xLTExLjUgNDUuMiAxLjNzMTEuNSAzMy4xLTEuMyA0NS4yQzM1My43IDQ1Ni44IDI5OS41IDQ4MCAyNDAgNDgwIDExNi4zIDQ4MCAxNiAzNzkuNyAxNiAyNTZTMTE2LjMgMzIgMjQwIDMyYzU5LjUgMCAxMTMuNyAyMy4yIDE1My43IDYxLjEgMTIuOSAxMi4xIDEzLjQgMzIuNCAxLjMgNDUuMnMtMzIuNCAxMy40LTQ1LjIgMS4zQzMyMS4xIDExMi42IDI4Mi41IDk2IDI0MCA5NnoiXX0sTlZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNtb2tpbmciLGljb246WzU3Niw1MTIsWzEyODY4NF0sImY0OGQiLCJNMzYwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxOWMwIDQwLjMgMTYgNzkgNDQuNSAxMDcuNWwyMSAyMUM0NjkgMTkxIDQ4MCAyMTcuNCA0ODAgMjQ1bDAgMTljMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xOWMwLTE0LjktNS45LTI5LjEtMTYuNC0zOS42bC0yMS0yMUMzNTcuMSAxNDYuOSAzMzYgOTYgMzM2IDQzbDAtMTljMC0xMy4zIDEwLjctMjQgMjQtMjR6TTU1MiAyODhjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMTljMC00MC4zLTE2LTc5LTQ0LjUtMTA3LjVsLTIxLTIxQzQ0MyA5NyA0MzIgNzAuNiA0MzIgNDNsMC0xOWMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTljMCAxNC45IDUuOSAyOS4xIDE2LjQgMzkuNmwyMSAyMUM1NTQuOSAxNDEuMSA1NzYgMTkyIDU3NiAyNDVsMCAxOWMwIDEzLjMtMTAuNyAyNC0yNCAyNHpNMzIwIDQ0OGw5NiAwIDAtMzItOTYgMCAwIDMyek0wIDQxNmMwLTM1LjMgMjguNy02NCA2NC02NGwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0zMnptNTc2LTQwbDAgMTEyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTEyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6Il19LGxtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtcG9sbC12ZXJ0aWNhbCIsaWNvbjpbNDQ4LDUxMixbInBvbGwiXSwiZjY4MSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem01NiAxOTJjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxMTJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMTJjMC0xMy4zIDEwLjctMjQgMjQtMjR6bTE4NCA4OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OHpNMjI0IDEyOGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDIwOGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTIwOGMwLTEzLjMgMTAuNy0yNCAyNC0yNHoiXX0sUlZ0PWxtZSxPVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWNpcmNsZS1taW51cyIsaWNvbjpbNjQwLDUxMixbXSwiZTU0MCIsIk0yODAgMjRhNTYgNTYgMCAxIDAgLTExMiAwIDU2IDU2IDAgMSAwIDExMiAwem0yNCAyMTIuN0wzNDEgMjg2LjZjMTIuOC0xNy41IDI4LjUtMzIuNyA0Ni4zLTQ1bC01Ni4yLTc1LjdDMzA2IDEzMiAyNjYuMyAxMTIgMjI0IDExMnMtODIgMjAtMTA3LjIgNTMuOWwtNzAuNSA5NWMtMTAuNSAxNC4yLTcuNiAzNC4yIDYuNiA0NC44czM0LjIgNy42IDQ0LjgtNi42TDE0NCAyMzYuNyAxNDQgNTEyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjc1LjN6TTY0MCA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTY0IDBjMCA4LjgtNy4yIDE2LTE2IDE2bC0xMjggMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxMjggMGM4LjggMCAxNiA3LjIgMTYgMTZ6Il19LEZWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiaW9oYXphcmQiLGljb246WzU3Niw1MTIsWzk3NjNdLCJmNzgwIiwiTTI2MCAxMi42YzAtOC4zLTcuNi0xNC41LTE1LjUtMTIuMS02MC45IDE4LjgtMTA1LjEgNzUuOC0xMDUuMSAxNDMuMSAwIDI1LjEgNi4xIDQ4LjcgMTcgNjkuNS0yMSAxLjgtNDIgOC4yLTYxLjUgMTkuNS01Ny45IDMzLjYtODQuOCAxMDAuMi03MC45IDE2Mi41IDEuOSA4LjQgMTEuNCAxMiAxOC45IDcuNiA1LTIuOSA3LjYtOC42IDcuMS0xNC40LS4zLTMuMy0uNC02LjYtLjQtMTAuMSAwLTEyMy41IDE4NC40LTEyMy41IDE4NC40IDAgMCA4OC40LTk0LjUgMTEzLjYtMTQ4LjIgNzUuNC00LjUtMy4yLTEwLjUtMy45LTE1LjMtMS4xLTcgNC4xLTguNiAxMy42LTIuNyAxOS4xIDQ2LjYgNDMuOCAxMTggNTMuOSAxNzYuMSAyMC4yIDE3LjktMTAuNCAzMi44LTIzLjkgNDQuNS0zOS40IDExLjcgMTUuNiAyNi42IDI5LjEgNDQuNSAzOS40IDU4LjEgMzMuNyAxMjkuNSAyMy42IDE3Ni4xLTIwLjIgNS45LTUuNSA0LjMtMTUuMS0yLjctMTkuMS00LjgtMi44LTEwLjgtMi4xLTE1LjMgMS4xLTUzLjcgMzguMi0xNDguMiAxMy0xNDguMi03NS40IDAtMTIzLjUgMTg0LjQtMTIzLjUgMTg0LjQgMCAwIDMuNC0uMSA2LjgtLjQgMTAuMS0uNSA1LjggMi4xIDExLjUgNy4xIDE0LjQgNy40IDQuMyAxNyAuOCAxOC45LTcuNiAxMy45LTYyLjItMTMtMTI4LjktNzAuOS0xNjIuNS0xOS41LTExLjMtNDAuNC0xNy43LTYxLjUtMTkuNSAxMC45LTIwLjggMTctNDQuNCAxNy02OS41IDAtNjcuMy00NC4yLTEyNC4zLTEwNS4xLTE0My4xLTcuOS0yLjQtMTUuNSAzLjgtMTUuNSAxMi4xIDAgNS45IDQgMTEgOS41IDEzLjIgODMuNCAzMy42IDcwLjggMTc4LjQtMzcuOCAxNzguNFMxNjcuMSA1OS40IDI1MC41IDI1LjhjNS41LTIuMiA5LjUtNy4zIDkuNS0xMy4yek0yNDguNCAyODhhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHpNNDM1IDMxNy43Yy0xNi4yIDAtMzEuNCA1LjUtNDIuMSAxNS0xMC4xIDkuMS0xOC4xIDIzLjQtMTguMSA0NS42IDAgMjEuMSA3LjIgMzUgMTYuNSA0NC4xIDMyLjItMjQuNiA1NS41LTYwLjUgNjMuOS0xMDEuOC02LjMtMS45LTEzLjItMy0yMC4yLTN6TTIwMiAzNzguM2MwLTIyLjMtOC0zNi42LTE4LjEtNDUuNi0xMC43LTkuNi0yNS45LTE1LTQyLjEtMTUtNyAwLTEzLjkgMS0yMC4yIDMgOC40IDQxLjMgMzEuNiA3Ny4yIDYzLjkgMTAxLjggOS40LTkuMSAxNi41LTIzLjEgMTYuNS00NC4yem00MS4yLTIyNC4zYzkgMTAuMiAyMy4yIDE4LjIgNDUuMiAxOC4yczM2LjItOCA0NS4yLTE4LjJjNi43LTcuNiAxMS41LTE3LjUgMTMuNi0yOC40LTE4LjMtNi44LTM4LjItMTAuNS01OC44LTEwLjVzLTQwLjUgMy43LTU4LjggMTAuNWMyLjIgMTAuOSA2LjkgMjAuOCAxMy42IDI4LjV6Il19LGNtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiZWxsLWNvbmNpZXJnZSIsaWNvbjpbNTEyLDUxMixbMTI4NzE4LCJjb25jaWVyZ2UtYmVsbCJdLCJmNTYyIiwiTTIxNiA2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNiAwIDAgMzMuM0MxMjQuOCAxNTYuNyA0MC4yIDI0My43IDMyLjYgMzUybDQ0Ni45IDBDNDcxLjggMjQzLjcgMzg3LjIgMTU2LjcgMjgwIDE0NS4zbDAtMzMuMyAxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MCAwek0yNCA0MDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMMjQgNDAweiJdfSxCVnQ9Y21lLEhWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJydWxlci1ob3Jpem9udGFsIixpY29uOls1NzYsNTEyLFtdLCJmNTQ3IiwiTTQ4IDM4NGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAxNzZjMC0yNi41IDIxLjUtNDggNDgtNDhsMjQgMCAwIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTA0IDQ4IDAgMCA3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNzIgNDggMCAwIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTA0IDQ4IDAgMCA3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNzIgNDggMCAwIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTA0IDI0IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNjBjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggMzg0eiJdfSxxVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG9yc2UiLGljb246WzU3Niw1MTIsWzEyODAxNF0sImY2ZjAiLCJNNDQ4IDIzOC4xbDAtNzguMSAxNiAwIDkuOCAxOS42YzEyLjUgMjUuMSA0Mi4yIDM2LjQgNjguMyAyNiAyMC41LTguMiAzMy45LTI4IDMzLjktNTAuMUw1NzYgODBjMC0xOS4xLTguNC0zNi4zLTIxLjctNDhsNS43IDBjOC44IDAgMTYtNy4yIDE2LTE2UzU2OC44IDAgNTYwIDBMNDQ4IDBDMzc3LjMgMCAzMjAgNTcuMyAzMjAgMTI4bC0xNzEuMiAwQzExOC4xIDEyOCA5MS4yIDE0NC4zIDc2LjMgMTY4LjggMzMuMiAxNzQuNSAwIDIxMS40IDAgMjU2bDAgNTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTU2YzAtMTMuNCA2LjYtMjUuMiAxNi43LTMyLjUgMS42IDEzIDYuMyAyNS40IDEzLjYgMzYuNGwyOC4yIDQyLjRjOC4zIDEyLjQgNi40IDI4LjctMS4yIDQxLjYtMTYuNSAyOC0yMC42IDYyLjItMTAgOTMuOWwxNy41IDUyLjRjNC40IDEzLjEgMTYuNiAyMS45IDMwLjQgMjEuOWwzMy43IDBjMjEuOCAwIDM3LjMtMjEuNCAzMC40LTQyLjFsLTIwLjgtNjIuNWMtMi4xLTYuNC0uNS0xMy40IDQuMy0xOC4ybDEyLjctMTIuN2MxMy4yLTEzLjIgMjAuNi0zMS4xIDIwLjYtNDkuNyAwLTIuMy0uMS00LjYtLjMtNi45bDg0IDI0YzQuMSAxLjIgOC4yIDIuMSAxMi4zIDIuOEwzMjAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xNjQuM2MxOS4yLTE5LjIgMzEuNS00NS43IDMyLTc1LjdsMCAwIDAtMS45ek00OTYgNjRhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyeiJdfSxWVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FsZW5kYXIiLGljb246WzQ0OCw1MTIsWzEyODE5NywxMjgxOThdLCJmMTMzIiwiTTEyOCAwQzExMC4zIDAgOTYgMTQuMyA5NiAzMmwwIDMyLTMyIDBDMjguNyA2NCAwIDkyLjcgMCAxMjhsMCA0OCA0NDggMCAwLTQ4YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0zMiAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzMi0xMjggMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek0wIDIyNEwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5Mi00NDggMHoiXX0salZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzLWhvbGRpbmctY2hpbGQiLGljb246WzY0MCw1MTIsW10sImU0ZmEiLCJNMzIwLTMyYTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHpNNDAgNjRjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCAxNjAuMmMwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM2w1MS4xIDUxLjFjOC4zIDguMyAyMS4zIDkuNiAzMSAzLjEgMTIuOS04LjYgMTQuNy0yNi45IDMuNy0zNy44LTcuMy03LjMtMjMuMS0yMy4xLTQ3LjItNDcuMi0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwYzI0LjEgMjQuMSAzOS45IDM5LjkgNDcuMiA0Ny4ybDAgMCAyNS4zIDI1LjNjMjEgMjEgMzIuOCA0OS41IDMyLjggNzkuMmwwIDc4LjljMCAyNi41LTIxLjUgNDgtNDggNDhsLTY2LjcgMGMtMTcgMC0zMy4zLTYuNy00NS4zLTE4LjdMMjguMSAzOTMuNEMxMC4xIDM3NS40IDAgMzUxIDAgMzI1LjVMMCAxMDRDMCA4MS45IDE3LjkgNjQgNDAgNjR6bTU2MCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgMjIxLjVjMCAyNS41LTEwLjEgNDkuOS0yOC4xIDY3LjlMNTEyIDQ5My4zYy0xMiAxMi0yOC4zIDE4LjctNDUuMyAxOC43TDQwMCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtNzguOWMwLTI5LjcgMTEuOC01OC4yIDMyLjgtNzkuMmwyNS4zLTI1LjMgMCAwYzcuMy03LjMgMjMuMS0yMy4xIDQ3LjItNDcuMiAxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zYy0yNC4xIDI0LjEtMzkuOSAzOS45LTQ3LjIgNDcuMi0xMSAxMS05LjIgMjkuMiAzLjcgMzcuOCA5LjcgNi41IDIyLjcgNS4yIDMxLTMuMWw1MS4xLTUxLjFjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM0w1NjAgMTA0YzAtMjIuMSAxNy45LTQwIDQwLTQwek0zODQuNSAxNDlsLTE5LjgtMTYuNyAxMS4xIDg4LjhjMS42IDEzLjItNy43IDI1LjEtMjAuOCAyNi44cy0yNS4xLTcuNy0yNi44LTIwLjhsLTQuNC0zNS03LjYgMC00LjQgMzVjLTEuNiAxMy4yLTEzLjYgMjIuNS0yNi44IDIwLjhzLTIyLjUtMTMuNi0yMC44LTI2LjhsMTEuMS04OC44LTE5LjggMTYuN2MtMTAuMSA4LjYtMjUuMyA3LjMtMzMuOC0yLjhzLTcuMy0yNS4zIDIuOC0zMy44bDI3LjktMjMuNkMyNzEuMyA3Mi44IDI5NS4zIDY0IDMyMCA2NHM0OC43IDguOCA2Ny42IDI0LjdsMjcuOSAyMy42YzEwLjEgOC42IDExLjQgMjMuNyAyLjggMzMuOHMtMjMuNyAxMS40LTMzLjggMi44eiJdfSxVVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaXRhbGljIixpY29uOlszODQsNTEyLFtdLCJmMDMzIiwiTTEyOCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNTguNyAwLTEzMy4zIDMyMCA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw1OC43IDAgMTMzLjMtMzIwLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSxXVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToia2hhbmRhIixpY29uOls1MTIsNTEyLFs5NzcyXSwiZjY2ZCIsIk0yNDAuNyA4YzguOS03LjQgMjEuOC03LjQgMzAuNyAwbDM3LjggMzEuNWM4LjcgNy4zIDExLjEgMTkuNiA2IDI5LjYtMS4yIDIuNC0yLjggNS41LTQuNiA5LjIgMzQuMiAxOS4yIDU3LjMgNTUuOCA1Ny4zIDk3LjhzLTIzLjEgNzguNi01Ny4zIDk3LjhjMS44IDMuNyAzLjMgNi44IDQuNiA5LjIgNS4xIDEwIDIuNyAyMi4zLTYgMjkuNmwtMzcuMiAzMSAwIDE5LjhjMjIuOS0xNS43IDQ4LjQtMzMuMyA3Ni43LTUyLjcgNDIuOC0yOS40IDY4LjQtNzggNjguNC0xMzBsMC0xMS4xYzAtMjMuOS03LjEtNDcuMy0yMC40LTY3LjItNS4xLTcuNy00LjYtMTcuOCAxLjctMjQuNiA2LjYtNy4xIDE3LjItOC4xIDI1LjItMi44IDI3LjUgMTguMSA4OS40IDY3LjUgODkuNCAxNDkuMSAwIDQ2LjUtMjAuMiA4OC42LTQxLjggMTIwLjQtMjEuNiAzMi00NS42IDU1LTU1LjMgNjMuOC03LjggNy4xLTE5IDcuOS0yNy42IDNsLTcwLjgtNDAuMy0zMi43IDIyLjUgNDUuNSAzMS4zYzEuOC0uNCAzLjctLjcgNS43LS43IDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0xMi4yIDAtMjIuMy05LjEtMjMuOC0yMWwtNDAuMi0yNy42IDAgMjguOWM5LjYgNS41IDE2IDE1LjkgMTYgMjcuNyAwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmMwLTExLjggNi40LTIyLjIgMTYtMjcuN2wwLTI4LjEtNDAuMyAyNy43Yy0xLjggMTEuNC0xMS44IDIwLjEtMjMuNyAyMC4xLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMi4yIDAgNC40IC4zIDYuNSAuOWw0NS44LTMxLjUtMzIuNy0yMi41LTcwLjggNDAuM2MtOC43IDQuOS0xOS44IDQuMS0yNy42LTMtOS43LTguOC0zMy43LTMxLjktNTUuMy02My44LTIxLjUtMzEuOC00MS44LTczLjktNDEuOC0xMjAuNCAwLTgxLjcgNjEuOS0xMzEuMSA4OS40LTE0OS4xIDguMS01LjMgMTguNi00LjMgMjUuMiAyLjggNi40IDYuOSA2LjggMTcgMS43IDI0LjYtMTMuMyAxOS45LTIwLjQgNDMuMy0yMC40IDY3LjJsMCAxMS4xYzAgNTEuOSAyNS42IDEwMC42IDY4LjQgMTMwIDI4LjQgMTkuNiA1My43IDM2LjkgNzUuNiA1MmwwLTE5LjEtMzcuMi0zMWMtOC43LTcuMy0xMS4xLTE5LjYtNi0yOS42IDEuMi0yLjQgMi44LTUuNSA0LjYtOS4yLTM0LjItMTkuMi01Ny4zLTU1LjgtNTcuMy05Ny44czIzLjEtNzguNiA1Ny4zLTk3LjhjLTEuOC0zLjctMy4zLTYuOC00LjYtOS4yLTUuMS0xMC0yLjctMjIuMyA2LTI5LjZMMjQwLjcgOHpNMjIwLjMgMTIyLjljLTE3IDExLjUtMjguMiAzMS0yOC4yIDUzLjFzMTEuMiA0MS42IDI4LjIgNTMuMWM2LjgtMTkuMiAxMS44LTM4LjQgMTEuOC01My4xcy00LjktMzMuOS0xMS44LTUzLjF6bTcxLjUgMTA2LjJjMTctMTEuNSAyOC4yLTMxIDI4LjItNTMuMXMtMTEuMi00MS42LTI4LjItNTMuMWMtNi44IDE5LjItMTEuOCAzOC40LTExLjggNTMuMXM0LjkgMzMuOSAxMS44IDUzLjF6Il19LGRtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWZyb3duLW9wZW4iLGljb246WzUxMiw1MTIsWzEyODU1MCwiZnJvd24tb3BlbiJdLCJmNTdhIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNzYgMTc2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTE4Mi40IDM4Mi41Yy0xMi40IDUuMi0yNi41LTQuMS0yMS4xLTE2LjQgMTYtMzYuNiA1Mi40LTYyLjEgOTQuOC02Mi4xczc4LjggMjUuNiA5NC44IDYyLjFjNS40IDEyLjMtOC43IDIxLjYtMjEuMSAxNi40LTIyLjQtOS41LTQ3LjQtMTQuOC03My43LTE0LjhzLTUxLjMgNS4zLTczLjcgMTQuOHoiXX0sR1Z0PWRtZSxCdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlY2siLGljb246WzQ0OCw1MTIsWzEwMDAzLDEwMDA0XSwiZjAwYyIsIk00MzQuOCA3MC4xYzE0LjMgMTAuNCAxNy41IDMwLjQgNy4xIDQ0LjdsLTI1NiAzNTJjLTUuNSA3LjYtMTQgMTIuMy0yMy40IDEzLjFzLTE4LjUtMi43LTI1LjEtOS4zbC0xMjgtMTI4Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDEwMS41IDEwMS41IDIzNC0zMjEuN2MxMC40LTE0LjMgMzAuNC0xNy41IDQ0LjctNy4xeiJdfSxZVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmluZ2VycHJpbnQiLGljb246WzUxMiw1MTIsW10sImY1NzciLCJNNDggMjU2YzAtMTE0LjkgOTMuMS0yMDggMjA4LTIwOCA2My4xIDAgMTE5LjYgMjguMSAxNTcuOCA3Mi41IDguNiAxMC4xIDIzLjggMTEuMiAzMy44IDIuNnMxMS4yLTIzLjggMi42LTMzLjhDNDAzLjMgMzQuNiAzMzMuNyAwIDI1NiAwIDExNC42IDAgMCAxMTQuNiAwIDI1NmwwIDQwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MHptNDU4LjUtNTIuOWMtMi43LTEzLTE1LjUtMjEuMy0yOC40LTE4LjVzLTIxLjMgMTUuNS0xOC41IDI4LjRjMi45IDEzLjkgNC41IDI4LjMgNC41IDQzLjFsMCA0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDBjMC0xOC4xLTEuOS0zNS44LTUuNS01Mi45ek0yNTYgODBjLTE5IDAtMzcuNCAzLTU0LjUgOC42LTE1LjIgNS0xOC43IDIzLjctOC4zIDM1LjkgNy4xIDguMyAxOC44IDEwLjggMjkuNCA3LjkgMTAuNi0yLjkgMjEuOC00LjQgMzMuNC00LjQgNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhsMCAyNC45YzAgMjUuMi0xLjUgNTAuMy00LjQgNzUuMy0xLjcgMTQuNiA5LjQgMjcuOCAyNC4yIDI3LjggMTEuOCAwIDIxLjktOC42IDIzLjMtMjAuMyAzLjMtMjcuNCA1LTU1IDUtODIuN2wwLTI0LjljMC05Ny4yLTc4LjgtMTc2LTE3Ni0xNzZ6TTE1MC43IDE0OC43Yy05LjEtMTAuNi0yNS4zLTExLjQtMzMuOS0uNC0yMy4xIDI5LjgtMzYuOCA2Ny4xLTM2LjggMTA3LjdsMCAyNC45YzAgMjQuMi0yLjYgNDguNC03LjggNzEuOS0zLjQgMTUuNiA3LjkgMzEuMSAyMy45IDMxLjEgMTAuNSAwIDE5LjktNyAyMi4yLTE3LjMgNi40LTI4LjEgOS43LTU2LjggOS43LTg1LjhsMC0yNC45YzAtMjcuMiA4LjUtNTIuNCAyMi45LTczLjEgNy4yLTEwLjQgOC0yNC42LS4yLTM0LjJ6TTI1NiAxNjBjLTUzIDAtOTYgNDMtOTYgOTZsMCAyNC45YzAgMzUuOS00LjYgNzEuNS0xMy44IDEwNi4xLTMuOCAxNC4zIDYuNyAyOSAyMS41IDI5IDkuNSAwIDE3LjktNi4yIDIwLjQtMTUuNCAxMC41LTM5IDE1LjktNzkuMiAxNS45LTExOS43bDAtMjQuOWMwLTI4LjcgMjMuMy01MiA1Mi01MnM1MiAyMy4zIDUyIDUybDAgMjQuOWMwIDM2LjMtMy41IDcyLjQtMTAuNCAxMDcuOS0yLjcgMTMuOSA3LjcgMjcuMiAyMS44IDI3LjIgMTAuMiAwIDE5LTcgMjEtMTcgNy43LTM4LjggMTEuNi03OC4zIDExLjYtMTE4LjFsMC0yNC45YzAtNTMtNDMtOTYtOTYtOTZ6bTI0IDk2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjQuOWMwIDU5LjktMTEgMTE5LjMtMzIuNSAxNzUuMmwtNS45IDE1LjNjLTQuOCAxMi40IDEuNCAyNi4zIDEzLjggMzFzMjYuMy0xLjQgMzEtMTMuOGw1LjktMTUuM0MyNjcuOSA0MTEuOSAyODAgMzQ2LjcgMjgwIDI4MC45bDAtMjQuOXoiXX0sS1Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYXJnaW5nLXN0YXRpb24iLGljb246WzU3Niw1MTIsW10sImY1ZTciLCJNNjQgNjRDNjQgMjguNyA5Mi43IDAgMTI4IDBMMjg4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyMjRjNDQuMiAwIDgwIDM1LjggODAgODBsMCAxMmMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTEyNy43Yy0zMi41LTEwLjItNTYtNDAuNS01Ni03Ni4zbDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDE2IDAgMC00OGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNDggMzIgMCAwLTQ4YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA0OCAxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgMzUuOC0yMy41IDY2LjEtNTYgNzYuM0w1MjAgMzgwYzAgMzcuNi0zMC40IDY4LTY4IDY4cy02OC0zMC40LTY4LTY4bDAtMTJjMC0xNy43LTE0LjMtMzItMzItMzJsMCAxMjkuNGM5LjMgMy4zIDE2IDEyLjIgMTYgMjIuNiAwIDEzLjMtMTAuNyAyNC0yNCAyNEw3MiA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0IDAtMTAuNSA2LjctMTkuMyAxNi0yMi42TDY0IDY0em04Mi43IDEyNS43bDM5IDAtMjAuOSA2Ni45Yy0yLjQgNy42IDMuMyAxNS40IDExLjMgMTUuNCAyLjkgMCA1LjYtMSA3LjgtMi45bDk0LjYtODJjMy4xLTIuNyA0LjktNi42IDQuOS0xMC43IDAtNy44LTYuMy0xNC4xLTE0LjEtMTQuMWwtMzkgMCAyMC45LTY2LjljMi40LTcuNi0zLjMtMTUuNC0xMS4zLTE1LjQtMi45IDAtNS42IDEtNy44IDIuOWwtOTQuNiA4MmMtMy4xIDIuNy00LjkgNi42LTQuOSAxMC43IDAgNy44IDYuMyAxNC4xIDE0LjEgMTQuMXoiXX0sWlZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItbG9jayIsaWNvbjpbNTc2LDUxMixbXSwiZjUwMiIsIk0yMjQgOGExMjAgMTIwIDAgMSAxIDAgMjQwIDEyMCAxMjAgMCAxIDEgMC0yNDB6TTE5NC4zIDMwNGw1OS40IDBjMjkuNyAwIDU3LjcgNy4zIDgyLjMgMjAuMWwwIDQuM2MtMTkuNiAxNy42LTMyIDQzLjEtMzIgNzEuNWwwIDk2YzAgNS41IC41IDEwLjkgMS4zIDE2LjFMNDUuNyA1MTJDMjkuMyA1MTIgMTYgNDk4LjcgMTYgNDgyLjMgMTYgMzgzLjggOTUuOCAzMDQgMTk0LjMgMzA0em0zMDEuNyAuMWMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ3LjkgNjQgMCAwLTQ3Ljl6TTM1MiA0MDBjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zbDAtNTAuNmMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwbDAgNTAuNmMxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjNsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTI4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZ6Il19LHVtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb2JpbGUtc2NyZWVuLWJ1dHRvbiIsaWNvbjpbMzg0LDUxMixbIm1vYmlsZS1hbHQiXSwiZjNjZCIsIk0xNiA2NEMxNiAyOC43IDQ0LjcgMCA4MCAwTDMwNCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDgwIDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMTYgNjR6bTY0IDBsMCAzMDQgMjI0IDAgMC0zMDQtMjI0IDB6TTE5MiA0NzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzItMzIgMTQuMy0zMiAzMiAxNC4zIDMyIDMyIDMyeiJdfSxYVnQ9dW1lLFFWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmNob3ItY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNGFhIiwiTTMyMCA5NmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwek0yODggMGMtNTMgMC05NiA0My05NiA5NiAwIDQxLjggMjYuNyA3Ny40IDY0IDkwLjVsMCAyNTcuOWMtNjIuOS0xNC4zLTExMC4yLTY5LjctMTExLjktMTM2LjVsMTYuMSAxNC4xYzEwIDguNyAyNS4xIDcuNyAzMy45LTIuM3M3LjctMjUuMS0yLjMtMzMuOWwtNjQtNTZjLTktNy45LTIyLjYtNy45LTMxLjYgMGwtNjQgNTZjLTEwIDguNy0xMSAyMy45LTIuMyAzMy45czIzLjkgMTEgMzMuOSAyLjNMODAgMzA3LjljMi4xIDExMy4xIDk0LjQgMjA0LjEgMjA4IDIwNC4xIDE2LjYgMCAzMi43LTEuOSA0OC4yLTUuNi0yMC4zLTMwLjUtMzIuMi02Ny0zMi4yLTEwNi40IDAtMjcuMyA1LjctNTMuMyAxNi03Ni45bDAtMTM2LjZjMzcuMy0xMy4yIDY0LTQ4LjcgNjQtOTAuNSAwLTUzLTQzLTk2LTk2LTk2ek02NDAgNDAwYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS04Ni42LTYwLjljNy4xIDUuMiA4LjcgMTUuMiAzLjUgMjIuM2wtNjQgODhjLTIuOCAzLjgtNyA2LjItMTEuNyA2LjVzLTkuMy0xLjMtMTIuNi00LjZsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMjYuOCAyNi44IDUzLTcyLjljNS4yLTcuMSAxNS4yLTguNyAyMi40LTMuNXoiXX0scG1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi13YWxraW5nLXdpdGgtY2FuZSIsaWNvbjpbNTc2LDUxMixbImJsaW5kIl0sImYyOWQiLCJNMjI0LTMyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek0xNjAgMjA1LjNsLTIyLjYgMjIuNmMtNiA2LTkuNCAxNC4xLTkuNCAyMi42bDAgMzcuNWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTM3LjVjMC0yNS41IDEwLjEtNDkuOSAyOC4xLTY3LjlsMzQuNC0zNC40YzIzLjItMjMuMiA1NC42LTM2LjIgODcuMy0zNi4yIDM2LjEgMCA3MC4zIDE1LjggOTMuOCA0My4xbDY4LjYgODBjMTEuNSAxMy40IDkuOSAzMy42LTMuNSA0NS4xcy0zMy42IDkuOS00NS4xLTMuNWwtNTUuNy02NSAwIDExOC42IDM0LjUgMjkuNmMxNy43IDE1LjIgMjkuMyAzNi4yIDMyLjYgNTkuM2wxMi42IDg4LjFjMi41IDE3LjUtOS43IDMzLjctMjcuMiAzNi4ycy0zMy43LTkuNy0zNi4yLTI3LjJsLTEyLjYtODguMWMtMS4xLTcuNy01LTE0LjctMTAuOS0xOS44bC03MS40LTYxLjJjLTIxLjMtMTguMi0zMy41LTQ0LjktMzMuNS03Mi45bDAtNjkuM3ptLjEgMTY1LjhjMi40IDIuMyA0LjggNC42IDcuNCA2LjhsNDYgMzkuNC0yLjIgNy42Yy00LjUgMTUuNy0xMi45IDMwLTI0LjQgNDEuNWwtNjguMyA2OC4zYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2w2OC4zLTY4LjNjMy44LTMuOCA2LjYtOC42IDguMS0xMy44TDE2MC4xIDM3MXptMjMzLjUtNjIuMmMxMC42LTggMjUuNi01LjggMzMuNiA0LjhsMTQ0IDE5MmM4IDEwLjYgNS44IDI1LjYtNC44IDMzLjZzLTI1LjYgNS44LTMzLjYtNC44bC0xNDQtMTkyYy04LTEwLjYtNS44LTI1LjYgNC44LTMzLjZ6Il19LEpWdD1wbWUsZm1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtd2F2ZWZvcm0iLGljb246WzM4NCw1MTIsWyJmaWxlLW1lZGljYWwtYWx0Il0sImY0NzgiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTk2IDYwLjMgMCA0OC44IDYyLjdjNS4xIDYuNiAxMy4zIDEwIDIxLjYgOS4xczE1LjUtNi4xIDE5LjEtMTMuNmw0Mi45LTkxLjIgOS45IDE5LjhjNC4xIDguMSAxMi40IDEzLjMgMjEuNSAxMy4zbDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTU3LjIgMC0yNS40LTUwLjdjLTQuMS04LjItMTIuNi0xMy40LTIxLjgtMTMuM3MtMTcuNSA1LjUtMjEuNCAxMy44bC00Ny4zIDEwMC42LTMyLTQxLjFDODYuNCAzMDcuNCA3OS40IDMwNCA3MiAzMDRMMCAzMDQgMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41eiJdfSxlanQ9Zm1lLHRqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1jcmFjayIsaWNvbjpbNTEyLDUxMixbXSwiZTNiMSIsIk0yNzcuOCA4LjZjLTEyLjMtMTEuNC0zMS4zLTExLjQtNDMuNSAwbC0yMjQgMjA4Yy05LjYgOS0xMi44IDIyLjktOCAzNS4xUzE4LjggMjcyIDMyIDI3MmwxNiAwIDAgMTc2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDg2LjQgMC0zMS4zLTUyLjJjLTQuMS02LjgtMi42LTE1LjUgMy41LTIwLjVMMjU2IDM2OCAxOTUuOCAyODUuMmMtMTAuOS0xNSA4LjItMzMuNSAyMi44LTIybDExNy45IDkyLjZjOCA2LjMgOC4yIDE4LjQgLjQgMjQuOUwyNTYgNDQ4IDI5NC40IDUxMiA0MDAgNTEyYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTc2IDE2IDBjMTMuMiAwIDI1LTguMSAyOS44LTIwLjNzMS42LTI2LjItOC0zNS4xbC0yMjQtMjA4eiJdfSxhanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGF0LXdpemFyZCIsaWNvbjpbNTEyLDUxMixbXSwiZjZlOCIsIk02NCA0MDBsODUuNy0yMDguMmMxNy00MS4zIDQ3LjgtNzUuMyA4Ny4yLTk2LjNMMzgzLjggMTcuMmMxMi4zLTYuNiAyNi41IDQuNyAyMyAxOC4yTDM2OS42IDE3Ny44Yy0xLjEgNC4xLTEuNiA4LjMtMS42IDEyLjYgMCA2LjMgMS4yIDEyLjYgMy42IDE4LjVsNzYuNCAxOTEuMS0yMDcuMSAwIDExLjgtMzUuNCA0MC40LTEzLjVjNi41LTIuMiAxMC45LTguMyAxMC45LTE1LjJzLTQuNC0xMy0xMC45LTE1LjJsLTQwLjQtMTMuNS0xMy41LTQwLjRDMjM3IDI2MC40IDIzMC45IDI1NiAyMjQgMjU2cy0xMyA0LjQtMTUuMiAxMC45bC0xMy41IDQwLjQtNDAuNCAxMy41QzE0OC40IDMyMyAxNDQgMzI5LjEgMTQ0IDMzNnM0LjQgMTMgMTAuOSAxNS4ybDQwLjQgMTMuNSAxMS44IDM1LjQtMTQzLjEgMHpNMjc5LjYgMTQxLjVjLTEuMS0zLjMtNC4xLTUuNS03LjYtNS41cy02LjUgMi4yLTcuNiA1LjVsLTYuNyAyMC4yLTIwLjIgNi43Yy0zLjMgMS4xLTUuNSA0LjEtNS41IDcuNnMyLjIgNi41IDUuNSA3LjZsMjAuMiA2LjcgNi43IDIwLjJjMS4xIDMuMyA0LjEgNS41IDcuNiA1LjVzNi41LTIuMiA3LjYtNS41bDYuNy0yMC4yIDIwLjItNi43YzMuMy0xLjEgNS41LTQuMSA1LjUtNy42cy0yLjItNi41LTUuNS03LjZsLTIwLjItNi43LTYuNy0yMC4yek0zMiA0NDhsNDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyeiJdfSxobWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1kb2N0b3IiLGljb246WzQ0OCw1MTIsWyJ1c2VyLW1kIl0sImYwZjAiLCJNMjI0IDhhMTIwIDEyMCAwIDEgMCAwIDI0MCAxMjAgMTIwIDAgMSAwIDAtMjQwem02MCAzMTIuOGMtNS40LS41LTExLS44LTE2LjYtLjhsLTg2LjkgMGMtNS42IDAtMTEuMSAuMy0xNi42IC44bDAgNjcuNWMxNi41IDcuNiAyOCAyNC4zIDI4IDQzLjYgMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhjMC0xOS40IDExLjUtMzYuMSAyOC00My42bDAtNTguNEM2MSAzNTMgMTYgNDEzLjYgMTYgNDg0LjYgMTYgNDk5LjcgMjguMyA1MTIgNDMuNCA1MTJsMzYxLjEgMGMxNS4xIDAgMjcuNC0xMi4zIDI3LjQtMjcuNCAwLTcxLTQ1LTEzMS41LTEwOC0xNTQuNmwwIDM3LjRjMjMuMyA4LjIgNDAgMzAuNSA0MCA1Ni42bDAgMzJjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtMzJjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwbDAgMzJjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtMzJjMC0yNi4xIDE2LjctNDguMyA0MC01Ni42bDAtNDYuNnoiXX0scmp0PWhtZSxtbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhcnQtYmFyIixpY29uOls1MTIsNTEyLFsiYmFyLWNoYXJ0Il0sImYwODAiLCJNMzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMzZjMCA4LjggNy4yIDE2IDE2IDE2bDQwMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDgwIDQ4MGMtNDQuMiAwLTgwLTM1LjgtODAtODBMMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMnptOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnptMzIgODBsMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDExMmwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6Il19LHNqdD1tbWUsZ21lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNwcmF5LWNhbi1zcGFya2xlcyIsaWNvbjpbNTc2LDUxMixbImFpci1mcmVzaGVuZXIiXSwiZjVkMCIsIk0xNjAgMzJsMCA4MCAxMjggMCAwLTgwYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDE5MiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnptMCAxMjhjLTUzIDAtOTYgNDMtOTYgOTZsMCAyMDhjMCAyNi41IDIxLjUgNDggNDggNDhsMjI0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMDhjMC01My00My05Ni05Ni05NmwtMTI4IDB6bTY0IDk2YTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwek00NDggNDhjMC0xLjQtMS0zLTIuMi0zLjZMNDE2IDMyIDQwMy42IDIuMkM0MDMgMSA0MDEuNCAwIDQwMCAwcy0zIDEtMy42IDIuMkwzODQgMzIgMzU0LjIgNDQuNGMtMS4yIC42LTIuMiAyLjItMi4yIDMuNiAwIDEuNCAxIDMgMi4yIDMuNkwzODQgNjQgMzk2LjQgOTMuOEMzOTcgOTUgMzk4LjYgOTYgNDAwIDk2czMtMSAzLjYtMi4yTDQxNiA2NCA0NDUuOCA1MS42QzQ0NyA1MSA0NDggNDkuNCA0NDggNDh6bTc2LjQgNDUuOEM1MjUgOTUgNTI2LjYgOTYgNTI4IDk2czMtMSAzLjYtMi4yTDU0NCA2NCA1NzMuOCA1MS42YzEuMi0uNiAyLjItMi4yIDIuMi0zLjYgMC0xLjQtMS0zLTIuMi0zLjZMNTQ0IDMyIDUzMS42IDIuMkM1MzEgMSA1MjkuNCAwIDUyOCAwcy0zIDEtMy42IDIuMkw1MTIgMzIgNDgyLjIgNDQuNGMtMS4yIC42LTIuMiAyLjItMi4yIDMuNiAwIDEuNCAxIDMgMi4yIDMuNkw1MTIgNjQgNTI0LjQgOTMuOHptNy4yIDEwMC40Yy0uNi0xLjItMi4yLTIuMi0zLjYtMi4ycy0zIDEtMy42IDIuMkw1MTIgMjI0IDQ4Mi4yIDIzNi40Yy0xLjIgLjYtMi4yIDIuMi0yLjIgMy42IDAgMS40IDEgMyAyLjIgMy42TDUxMiAyNTYgNTI0LjQgMjg1LjhjLjYgMS4yIDIuMiAyLjIgMy42IDIuMnMzLTEgMy42LTIuMkw1NDQgMjU2IDU3My44IDI0My42YzEuMi0uNiAyLjItMi4yIDIuMi0zLjYgMC0xLjQtMS0zLTIuMi0zLjZMNTQ0IDIyNCA1MzEuNiAxOTQuMnpNNTEyIDE0NGMwLTEuNC0xLTMtMi4yLTMuNkw0ODAgMTI4IDQ2Ny42IDk4LjJDNDY3IDk3IDQ2NS40IDk2IDQ2NCA5NnMtMyAxLTMuNiAyLjJMNDQ4IDEyOCA0MTguMiAxNDAuNGMtMS4yIC42LTIuMiAyLjItMi4yIDMuNiAwIDEuNCAxIDMgMi4yIDMuNkw0NDggMTYwIDQ2MC40IDE4OS44Yy42IDEuMiAyLjIgMi4yIDMuNiAyLjJzMy0xIDMuNi0yLjJMNDgwIDE2MCA1MDkuOCAxNDcuNmMxLjItLjYgMi4yLTIuMiAyLjItMy42eiJdfSxpanQ9Z21lLG9qdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWh0LXNpZ24iLGljb246WzMyMCw1MTIsW10sImUwYWMiLCJNMTM2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDAtNzQuNCAwQzE2LjggNjQgMCA4MC44IDAgMTAxLjZMMCA0MDYuM2MwIDIzIDE4LjcgNDEuNyA0MS43IDQxLjdsNzAuMyAwIDAgNDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwIDQ4IDBjNjEuOSAwIDExMi01MC4xIDExMi0xMTIgMC00MC4xLTIxLjEtNzUuMy01Mi43LTk1LjEgMTMuMS0xOC4zIDIwLjctNDAuNyAyMC43LTY0LjkgMC02MS45LTUwLjEtMTEyLTExMi0xMTJsLTE2IDAgMC00MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHpNMTEyIDEyOGwwIDk2LTQ4IDAgMC05NiA0OCAwem00OCA5NmwwLTk2IDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhsLTE2IDB6bS00OCA2NGwwIDk2LTQ4IDAgMC05NiA0OCAwem00OCA5NmwwLTk2IDQ4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhsLTQ4IDB6Il19LGJtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW1wZXJhdHVyZS1hcnJvdy11cCIsaWNvbjpbNTEyLDUxMixbInRlbXBlcmF0dXJlLXVwIl0sImUwNDAiLCJNNjQuNSA5NmMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgMTY0LjdjMjkuNSAyNi40IDQ4IDY0LjcgNDggMTA3LjMgMCA3OS41LTY0LjUgMTQ0LTE0NCAxNDRzLTE0NC02NC41LTE0NC0xNDRjMC00Mi42IDE4LjUtODEgNDgtMTA3LjNMNjQuNSA5NnptOTYgMzM2YzM1LjMgMCA2NC0yOC43IDY0LTY0IDAtMjYuOS0xNi41LTQ5LjktNDAtNTkuM2wwLTIxMi43YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjEyLjdjLTIzLjUgOS41LTQwIDMyLjUtNDAgNTkuMyAwIDM1LjMgMjguNyA2NCA2NCA2NHpNNDM5LjEgOS40bDY0IDY0YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC05LjQtOS40IDAgMTc4LjdjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNzguNy05LjQgOS40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2w2NC02NGM2LTYgMTQuMS05LjQgMjIuNi05LjRzMTYuNiAzLjQgMjIuNiA5LjR6Il19LG5qdD1ibWUsbGp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndlYi1hd2Vzb21lIixpY29uOls2NDAsNTEyLFtdLCJlNjgyIiwiTTM3Mi4yIDUyYzAgMjAuOS0xMi40IDM5LTMwLjIgNDcuMkw0NDggMTkyIDU1Mi40IDE3MS4xYy01LjMtNy43LTguNC0xNy4xLTguNC0yNy4xIDAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhjMCAyNi0yMC42IDQ3LjEtNDYuNCA0OEw0ODEgNDQyLjNjLTEwLjMgMjMtMzMuMiAzNy43LTU4LjQgMzcuN2wtMjA1LjIgMGMtMjUuMiAwLTQ4LTE0LjgtNTguNC0zNy43TDQ2LjQgMTkyQzIwLjYgMTkxLjEgMCAxNzAgMCAxNDQgMCAxMTcuNSAyMS41IDk2IDQ4IDk2czQ4IDIxLjUgNDggNDhjMCAxMC4xLTMuMSAxOS40LTguNCAyNy4xTDE5MiAxOTIgMjk4LjEgOTkuMWMtMTcuNy04LjMtMzAtMjYuMy0zMC00Ny4xIDAtMjguNyAyMy4zLTUyIDUyLTUyczUyIDIzLjMgNTIgNTJ6Il19LGNqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJub24tYmluYXJ5IixpY29uOlszODQsNTEyLFtdLCJlODA3IiwiTTE5MiA1NDRjLTk3LjIgMC0xNzYtNzguOC0xNzYtMTc2IDAtODYuMyA2Mi4xLTE1OCAxNDQtMTczbDAtNDcuMi00OS43IDI0LjgtMyAxLjNjLTE1LjIgNS43LTMyLjUtLjgtMzkuOS0xNS43LTcuNC0xNC44LTIuMi0zMi42IDExLjUtNDEuM2wyLjgtMS42IDM4LjgtMTkuNC0zOC44LTE5LjRjLTE1LjgtNy45LTIyLjItMjcuMS0xNC4zLTQyLjkgNy40LTE0LjggMjQuOC0yMS40IDQwLTE1LjZsMyAxLjMgNDkuNyAyNC44IDAtNDQuMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNDQuMiA0OS43LTI0LjggMy0xLjNjMTUuMi01LjggMzIuNSAuOCAzOS45IDE1LjZzMi4yIDMyLjctMTEuNSA0MS4zbC0yLjggMS42LTM4LjcgMTkuNCAzOC43IDE5LjNjMTUuOCA3LjkgMjIuMiAyNy4xIDE0LjMgNDIuOS03LjQgMTQuOC0yNC43IDIxLjQtMzkuOSAxNS42bC0zLTEuMy00OS43LTI0LjggMCA0Ny4yYzgxLjkgMTUuMSAxNDQgODYuOCAxNDQgMTczIDAgOTcuMi03OC44IDE3Ni0xNzYgMTc2em0wLTY0YTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHoiXX0sZGp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im4iLGljb246WzM4NCw1MTIsWzExMF0sIjRlIiwiTTIxLjEgMzMuOWMxMi43LTQuNiAyNi45LS43IDM1LjUgOS42TDMyMCAzNTkuNiAzMjAgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDM4NGMwIDEzLjUtOC40IDI1LjUtMjEuMSAzMC4xcy0yNi45IC43LTM1LjUtOS42TDY0IDE1Mi40IDY0IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ2NS43IDAgNDQ4TDAgNjRDMCA1MC41IDguNCAzOC41IDIxLjEgMzMuOXoiXX0sdm1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy11cC1kb3duLWxlZnQtcmlnaHQiLGljb246WzUxMiw1MTIsWyJhcnJvd3MiXSwiZjA0NyIsIk0yNzguNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw5LjQtOS40IDAgMTE0LjctMTE0LjcgMCA5LjQtOS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOS40LTkuNCAxMTQuNyAwIDAgMTE0LjctOS40LTkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTkuNCA5LjQgMC0xMTQuNyAxMTQuNyAwLTkuNCA5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5LjQgOS40LTExNC43IDAgMC0xMTQuNyA5LjQgOS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0eiJdfSx1anQ9dm1lLFpiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlIixpY29uOls1MTIsNTEyLFsxMjc5NjgsNjM0OTgsNjM1MDAsImhvbWUiLCJob21lLWFsdCIsImhvbWUtbGctYWx0Il0sImYwMTUiLCJNMjc3LjggOC42Yy0xMi4zLTExLjQtMzEuMy0xMS40LTQzLjUgMGwtMjI0IDIwOGMtOS42IDktMTIuOCAyMi45LTggMzUuMVMxOC44IDI3MiAzMiAyNzJsMTYgMCAwIDE3NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyODggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE3NiAxNiAwYzEzLjIgMCAyNS04LjEgMjkuOC0yMC4zczEuNi0yNi4yLTgtMzUuMWwtMjI0LTIwOHpNMjQwIDMyMGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTYtMTI4IDAgMC05NmMwLTI2LjUgMjEuNS00OCA0OC00OHoiXX0scGp0PVpiLGZqdD1aYixoanQ9WmIsbWp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNwaW5uZXIiLGljb246WzUxMiw1MTIsW10sImYxMTAiLCJNMjA4IDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTAgNDE2YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTQ4IDIwOGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6bTM2OCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek03NSAzNjkuMUE0OCA0OCAwIDEgMSAxNDIuOSA0MzcgNDggNDggMCAxIDEgNzUgMzY5LjF6TTc1IDc1QTQ4IDQ4IDAgMSAxIDE0Mi45IDE0Mi45IDQ4IDQ4IDAgMSAxIDc1IDc1ek00MzcgMzY5LjFBNDggNDggMCAxIDEgMzY5LjEgNDM3IDQ4IDQ4IDAgMSAxIDQzNyAzNjkuMXoiXX0seG1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdhdmVsIixpY29uOls1NzYsNTEyLFsibGVnYWwiXSwiZjBlMyIsIk0xNjkuNiAxNTMuNGwtMTguNy0xOC43Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM0wyNjUuNi0yNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwTDMyOS42LTYuNmMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM0wyMTQuOSAxNTMuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDB6TTI3NiAyMTEuN2wtMzEuNC0zMS40IDExMi0xMTIgMTE5LjQgMTE5LjQtMTEyIDExMi0zMS40LTMxLjQtMjMyIDIzMmMtMTUuNiAxNS42LTQwLjkgMTUuNi01Ni42IDBzLTE1LjYtNDAuOSAwLTU2LjZsMjMyLTIzMnpNMzkwLjkgMzc0LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zTDUwNS42IDIxNC42YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDE4LjcgMTguN2MxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM0w0NTQuOSAzOTMuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTE4LjctMTguN3oiXX0sZ2p0PXhtZSx5bWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGlja2V0LXNpbXBsZSIsaWNvbjpbNTc2LDUxMixbInRpY2tldC1hbHQiXSwiZjNmZiIsIk0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgOC44LTcuNCAxNS43LTE1LjcgMTguNi0xOC44IDYuNS0zMi4zIDI0LjQtMzIuMyA0NS40czEzLjUgMzguOSAzMi4zIDQ1LjRjOC4zIDIuOSAxNS43IDkuOCAxNS43IDE4LjZsMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjRDMCAzMTEuMiA3LjQgMzA0LjMgMTUuNyAzMDEuNCAzNC41IDI5NC45IDQ4IDI3NyA0OCAyNTZzLTEzLjUtMzguOS0zMi4zLTQ1LjRDNy40IDIwNy43IDAgMjAwLjggMCAxOTJsMC02NHoiXX0sYmp0PXltZSx2anQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG92ZSIsaWNvbjpbNTEyLDUxMixbMTI4MzMwXSwiZjRiYSIsIk00OTYgNjRjMTMuMiAwIDIwLjcgMTUuMSAxMi44IDI1LjZMNDgwIDEyOCA0ODAgMzA0YzAgNzkuNS02NC41IDE0NC0xNDQgMTQ0bC0xMTIgMC00Ni4zIDQ2LjNjLTEwLjQgMTAuNC0yNi41IDEyLjQtMzkuMSA0LjhMNDEuNSA0NDAuOWMtMTctMTAuMi0xNS0zNS41IDMuNC00Mi45TDE2MCAzNTJDMjMuOCAzMTEuMSA3LjUgMTY5LjggMjIgOTUuNyAyNS42IDc3LjkgNDUuMyA3MS40IDYxLjMgODAuMkwzMjAgMjI0IDMyMCAxNDRjMC00NC4yIDM1LjgtODAgODAtODBsOTYgMHptLTk2IDU2YTI0IDI0IDAgMSAwIDAgNDggMjQgMjQgMCAxIDAgMC00OHpNMTgyLjUtOS42YzEyLjQtMTMuNyAzMy4zLTguOSA0Mi41IDcuMWw1Ni40IDk4LjNjLTUuOCAxNC40LTkuMiAzMC4xLTkuNCA0Ni41TDEzOC4xIDY4YzEwLjEtMzEuNiAyNy01OC40IDQ0LjQtNzcuNnoiXX0seGp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhcnAtZHJvcGxldCIsaWNvbjpbNTEyLDUxMixbXSwiZTU3YyIsIk0yNTYgMTYwYzM1LjMgMCA2NC0yNi45IDY0LTYwIDAtMjQtMzMuNy03MC4xLTUyLjItOTMuNS02LjEtNy43LTE3LjUtNy43LTIzLjYgMC0xOC41IDIzLjQtNTIuMiA2OS41LTUyLjIgOTMuNSAwIDMzLjEgMjguNyA2MCA2NCA2MHpNMzY4IDk2YzAgNjEuOS01MC4xIDExMi0xMTIgMTEyUzE0NCAxNTcuOSAxNDQgOTZjMC0xMS4xIDEuNi0yMS45IDQuNi0zMkw2NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNzcuNSAwYzE3IDAgMzMuMy02LjcgNDUuMy0xOC43TDQ5My4zIDMyMi43YzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNMNTEyIDEyOGMwLTM1LjMtMjguNy02NC02NC02NGwtODQuNiAwYzMgMTAuMSA0LjYgMjAuOSA0LjYgMzJ6bTg1LjUgMTc2TDMzNiAzODkuNSAzMzYgMjk2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDkzLjUgMHpNOTYgMTI4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0seWp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyZWUtY2l0eSIsaWNvbjpbNjQwLDUxMixbXSwiZTU4NyIsIk0yODggNDhjMC0yNi41IDIxLjUtNDggNDgtNDhsOTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQ4IDQ4IDAgMC03MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNzIgMTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDMyMGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMjU2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtNDE2em02NCA2NGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNiA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek0zNTIgMzA0bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6TTUyOCAxOTJjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNNTEyIDMwNGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek05NiA0ODBsMC0xNjAtMTYgMGMtNDQuMiAwLTgwLTM1LjgtODAtODAgMC0yNi43IDEzLjEtNTAuMyAzMy4yLTY0LjktLjgtNC45LTEuMi0xMC0xLjItMTUuMSAwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgOTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRsMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJ6Il19LHdtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0dXJuLXVwIixpY29uOlszODQsNTEyLFsxMDU0OCwibGV2ZWwtdXAtYWx0Il0sImYzYmYiLCJNMTY5LjQgOS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDEyOCAxMjhjOS4yIDkuMiAxMS45IDIyLjkgNi45IDM0LjlTMzMyLjkgMTkyIDMyMCAxOTJsLTY0IDAgMCAxNjBjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE2MC02NCAwYy0xMi45IDAtMjQuNi03LjgtMjkuNi0xOS44cy0yLjItMjUuNyA2LjktMzQuOWwxMjgtMTI4eiJdfSx3anQ9d21lLFhiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbXBlcmF0dXJlLXF1YXJ0ZXIiLGljb246WzMyMCw1MTIsWyJ0ZW1wZXJhdHVyZS0xIiwidGhlcm1vbWV0ZXItMSIsInRoZXJtb21ldGVyLXF1YXJ0ZXIiXSwiZjJjYSIsIk0xNjAgMEMxMDcgMCA2NCA0MyA2NCA5NmwwIDE2NC43QzM0LjUgMjg3IDE2IDMyNS40IDE2IDM2OCAxNiA0NDcuNSA4MC41IDUxMiAxNjAgNTEyczE0NC02NC41IDE0NC0xNDRjMC00Mi42LTE4LjUtODEtNDgtMTA3LjNMMjU2IDk2YzAtNTMtNDMtOTYtOTYtOTZ6bTY0IDM2OGMwIDM1LjMtMjguNyA2NC02NCA2NHMtNjQtMjguNy02NC02NGMwLTI2LjkgMTYuNS00OS45IDQwLTU5LjNsMC0yOC43YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAyOC43YzIzLjUgOS41IDQwIDMyLjUgNDAgNTkuM3oiXX0sTWp0PVhiLGtqdD1YYixTanQ9WGIsTW1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNsaWRlcnMiLGljb246WzUxMiw1MTIsWyJzbGlkZXJzLWgiXSwiZjFkZSIsIk0zMiA2NEMxNC4zIDY0IDAgNzguMyAwIDk2czE0LjMgMzIgMzIgMzJsODYuNyAwYzEyLjMgMjguMyA0MC41IDQ4IDczLjMgNDhzNjEtMTkuNyA3My4zLTQ4TDQ4MCAxMjhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMjY1LjMgNjRDMjUzIDM1LjcgMjI0LjggMTYgMTkyIDE2cy02MSAxOS43LTczLjMgNDhMMzIgNjR6bTAgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI0Ni43IDBjMTIuMyAyOC4zIDQwLjUgNDggNzMuMyA0OHM2MS0xOS43IDczLjMtNDhsNTQuNyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC01NC43IDBjLTEyLjMtMjguMy00MC41LTQ4LTczLjMtNDhzLTYxIDE5LjctNzMuMyA0OEwzMiAyMjR6bTAgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDU0LjcgMGMxMi4zIDI4LjMgNDAuNSA0OCA3My4zIDQ4czYxLTE5LjcgNzMuMy00OEw0ODAgNDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yNDYuNyAwYy0xMi4zLTI4LjMtNDAuNS00OC03My4zLTQ4cy02MSAxOS43LTczLjMgNDhMMzIgMzg0eiJdfSx6anQ9TW1lLENqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb3NxdWUiLGljb246WzU3Niw1MTIsWzEyODMzMl0sImY2NzgiLCJNMTc0LjggMjI0bDIyNi40IDBjNDMuNSAwIDc4LjgtMzUuMyA3OC44LTc4LjggMC0yNS41LTEyLjMtNDkuNC0zMy4xLTY0LjJMMjk3LjMtMjUuNGMtNS42LTMuOS0xMy0zLjktMTguNSAwTDEyOS4xIDgxQzEwOC4zIDk1LjggOTYgMTE5LjcgOTYgMTQ1LjIgOTYgMTg4LjcgMTMxLjMgMjI0IDE3NC44IDIyNHpNNTEyIDUxMmMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ4LTQ0OCAwIDAtNDhjMC0xNy43LTE0LjMtMzItMzItMzJTMCAyMDYuMyAwIDIyNEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMHpNMjQwIDM4NGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgODAtOTYgMCAwLTgweiJdfSxfanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaCIsaWNvbjpbMzg0LDUxMixbMTA0XSwiNDgiLCJNMzIwIDI4OGwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzg0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTYwLTI1NiAwIDAtMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjAgMjU2IDB6Il19LFRqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpbmZvIixpY29uOlsxOTIsNTEyLFtdLCJmMTI5IiwiTTQ4IDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTAgMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyNTYgMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTIyNC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnoiXX0sa21lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi13YWxraW5nIixpY29uOlszODQsNTEyLFsxMjg2OTQsIndhbGtpbmciXSwiZjU1NCIsIk0xOTIgODBhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6TTEwNS40IDIyNy45bDIyLjYtMjIuNiAwIDY5LjNjMCAyOCAxMi4yIDU0LjcgMzMuNSA3Mi45bDcxLjQgNjEuMmM1LjkgNS4xIDkuOCAxMi4xIDEwLjkgMTkuOGwxMi42IDg4LjFjMi41IDE3LjUgMTguNyAyOS43IDM2LjIgMjcuMnMyOS43LTE4LjcgMjcuMi0zNi4ybC0xMi42LTg4LjFjLTMuMy0yMy4xLTE0LjktNDQuMS0zMi42LTU5LjNsLTM0LjUtMjkuNiAwLTExNS4yIDMuOCA0LjdjMTguMiAyMi44IDQ1LjggMzYgNzUgMzZsMzMuMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMy4yIDBjLTkuNyAwLTE4LjktNC40LTI1LTEybC0xNy45LTIyLjRjLTIzLTI4LjgtNTcuOS00NS42LTk0LjgtNDUuNi0zMi4yIDAtNjMuMSAxMi44LTg1LjggMzUuNkw2MC4xIDE4Mi42QzQyLjEgMjAwLjYgMzIgMjI1IDMyIDI1MC41TDMyIDI4OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzcuNWMwLTguNSAzLjQtMTYuNiA5LjQtMjIuNnptMTIuNCAxNzkuNGMtMS41IDUuMi00LjMgMTAtOC4xIDEzLjhMNDEuNCA0ODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw2OC4zLTY4LjNjMTEuNS0xMS41IDE5LjktMjUuOCAyNC40LTQxLjVsMi4yLTcuNi00Ni0zOS40Yy0yLjUtMi4yLTUtNC40LTcuNC02LjhsLTEwLjQgMzYuMnoiXX0sTGp0PWttZSxTbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdHVybi1kb3duIixpY29uOlszODQsNTEyLFsibGV2ZWwtZG93biJdLCJmMTQ5IiwiTTMyIDY0QzE0LjMgNjQgMCA0OS43IDAgMzJTMTQuMyAwIDMyIDBsOTYgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMzA2LjcgNzMuNC03My40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNsLTEyOCAxMjhjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC0xMjgtMTI4Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDE2MCA0MDIuNyAxNjAgOTZjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgNjR6Il19LCRqdD1TbWUsRGp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvYWQiLGljb246WzUxMiw1MTIsWzEyODczOV0sImYwMTgiLCJNMjIzLjkgMzJsLTc2LjIgMGMtMjkuNCAwLTU1LjEgMjAuMS02Mi4xIDQ4LjZMMS40IDQyMC41Qy02LjEgNDUwLjcgMTYuOCA0ODAgNDggNDgwbDE3NS45IDAgMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNjQgMTc2LjEgMGMzMS4yIDAgNTQuMS0yOS4zIDQ2LjYtNTkuNUw0MjYuNSA4MC42QzQxOS40IDUyLjEgMzkzLjggMzIgMzY0LjMgMzJsLTc2LjQgMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6bTY0IDE5MmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnoiXX0sQWp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNwaXJhbCIsaWNvbjpbNTEyLDUxMixbXSwiZTgwYSIsIk0xMTUuNSA3LjRjMTMuNi0xMS4zIDMzLjgtOS41IDQ1LjEgNC4xczkuNSAzMy44LTQuMSA0NS4xQzEwMC4yIDEwMy41IDY0IDE3NS4yIDY0IDI1NiA2NCAzNjIgMTUwIDQ0OCAyNTYgNDQ4czE5Mi04NiAxOTItMTkyYzAtNzUuMS02MC45LTEzNi0xMzYtMTM2UzE3NiAxODAuOSAxNzYgMjU2YzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJjMC00OC42IDM5LjQtODggODgtODhzODggMzkuNCA4OCA4OGMwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NFMxMTIgMzM1LjUgMTEyIDI1NmMwLTExMC41IDg5LjUtMjAwIDIwMC0yMDBzMjAwIDg5LjUgMjAwIDIwMGMwIDE0MS40LTExNC42IDI1Ni0yNTYgMjU2UzAgMzk3LjQgMCAyNTZDMCAxNTUuOCA0NSA2Ni4xIDExNS41IDcuNHoiXX0sem1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZnJvd24iLGljb246WzUxMiw1MTIsWzk3ODUsImZyb3duIl0sImYxMTkiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTkwLjYtMTEzLjljLTIwLjQtMjgtNTMuNC00Ni4xLTkwLjYtNDYuMXMtNzAuMiAxOC4xLTkwLjYgNDYuMWMtNy44IDEwLjctMjIuOCAxMy4xLTMzLjUgNS4zcy0xMy4xLTIyLjgtNS4zLTMzLjVDMTU1LjcgMzMwIDIwMi44IDMwNCAyNTYgMzA0czEwMC4zIDI2IDEyOS40IDY1LjljNy44IDEwLjcgNS40IDI1LjctNS4zIDMzLjVzLTI1LjcgNS40LTMzLjUtNS4zek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LEVqdD16bWUsQ21lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndpbmUtZ2xhc3MtZW1wdHkiLGljb246WzMyMCw1MTIsWyJ3aW5lLWdsYXNzLWFsdCJdLCJmNWNlIiwiTTY0IDBDNDguNyAwIDM1LjYgMTAuOCAzMi42IDI1LjdMMy4yIDE3M0MxLjEgMTgzLjUgMCAxOTQuMiAwIDIwNWwwIDNjMCA3Ny40IDU1IDE0MiAxMjggMTU2LjhsMCAxMTUuMi02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwIDAtMTE1LjJDMjY1IDM1MCAzMjAgMjg1LjQgMzIwIDIwOGwwLTNjMC0xMC43LTEuMS0yMS40LTMuMi0zMkwyODcuNCAyNS43QzI4NC40IDEwLjggMjcxLjMgMCAyNTYgMEw2NCAwem0xLjkgMTg1LjZMOTAuMiA2NCAyMjkuOCA2NCAyNTQuMSAxODUuNmMxLjMgNi40IDEuOSAxMi45IDEuOSAxOS40bDAgM2MwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NmwwLTNjMC02LjUgLjYtMTMgMS45LTE5LjR6Il19LFBqdD1DbWUsSWp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsYXBwZXJib2FyZCIsaWNvbjpbNTEyLDUxMixbXSwiZTEzMSIsIk00NDggNjRjMiAwIDMuOSAuMSA1LjggLjNsLTk1LjcgOTUuNyA2Ny45IDAgNzItNzJjOC44IDExIDE0IDI0LjkgMTQgNDBsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGw3MC4xIDAtOTYgOTYgNjcuOSAwIDk1LTk1IDEtMSA5Mi4xIDAtOTYgOTYgNjcuOSAwIDk1LTk1IDEtMSA4Ni4xIDB6Il19LF9tZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb3J3YXJkLXN0ZXAiLGljb246WzM4NCw1MTIsWyJzdGVwLWZvcndhcmQiXSwiZjA1MSIsIk0yMSAzNi44YzEyLjktNyAyOC43LTYuMyA0MSAxLjhMMzIwIDIwOC4xIDMyMCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzg0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTQ0LjEtMjU4IDE2OS42Yy0xMi4zIDguMS0yOCA4LjgtNDEgMS44UzAgNDU0LjcgMCA0NDBMMCA3MkMwIDU3LjMgOC4xIDQzLjggMjEgMzYuOHoiXX0sTmp0PV9tZSxUbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXVwLXJpZ2h0IixpY29uOls0NDgsNTEyLFs4NTk5LCJleHRlcm5hbC1saW5rLXNxdWFyZS1hbHQiXSwiZjM2MCIsIk0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwek0xNjggMTYwYy05LjcgMC0xOC41IDUuOC0yMi4yIDE0LjhzLTEuNyAxOS4zIDUuMiAyNi4ybDM1IDM1LTY3IDY3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWwyNCAyNGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGw2Ny02NyAzNSAzNWM2LjkgNi45IDE3LjIgOC45IDI2LjIgNS4yUzMyMCAzMjEuNyAzMjAgMzEybDAtMTI4YzAtMTMuMy0xMC43LTI0LTI0LTI0bC0xMjggMHoiXX0sUmp0PVRtZSxMbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9vay1qb3VybmFsLXdoaWxscyIsaWNvbjpbNDQ4LDUxMixbImpvdXJuYWwtd2hpbGxzIl0sImY2NmEiLCJNOTYgNTEybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtNjYuN2MxOC42LTYuNiAzMi0yNC40IDMyLTQ1LjNsMC0yODhjMC0yNi41LTIxLjUtNDgtNDgtNDhMOTYgMEM0MyAwIDAgNDMgMCA5NkwwIDQxNmMwIDUzIDQzIDk2IDk2IDk2ek02NCA0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMjU2IDAgMCA2NC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTI3NC4xIDk5LjJjMi42LTIuNiA2LjctMy4xIDkuOS0xLjEgMzIuMSAyMCA1My40IDU1LjYgNTMuNCA5Ni4yIDAgNjIuNi01MC43IDExMy4zLTExMy4zIDExMy4zUzExMC43IDI1Ni45IDExMC43IDE5NC4zYzAtNDAuNiAyMS40LTc2LjIgNTMuNC05Ni4yIDMuMS0yIDcuMi0xLjUgOS45IDEuMXMzLjEgNi43IDEuMiA5LjhjLTUuMiA4LjYtOC4yIDE4LjctOC4yIDI5LjUgMCAxNS4xIDUuOSAyOC44IDE1LjUgMzkuMSAyLjUgMi43IDIuOSA2LjcgLjkgOS43LTQuNyA3LjQtNy40IDE2LjEtNy40IDI1LjUgMCAyMS42IDE0LjMgMzkuOSAzNCA0NS45bDEtMjQuOGMtNy4xLTQuNC0xMS44LTEyLjItMTEuOC0yMS4xIDAtOS42IDUuNS0xOCAxMy41LTIyLjFsMy4zLTgxLjhjLjItNC4zIDMuNy03LjcgOC03LjdzNy44IDMuNCA4IDcuN2wzLjMgODEuOGM4IDQuMSAxMy41IDEyLjQgMTMuNSAyMi4xIDAgOC45LTQuNyAxNi43LTExLjggMjEuMWwxIDI0LjhjMTkuNi02IDMzLjktMjQuMSAzNC00NS42bDAtLjZjLS4xLTkuMy0yLjctMTcuOS03LjQtMjUuMi0xLjktMy4xLTEuNi03LjEgLjktOS43IDkuNi0xMC4yIDE1LjUtMjMuOSAxNS41LTM5LjEgMC0xMC44LTMtMjAuOS04LjItMjkuNS0xLjktMy4yLTEuNC03LjIgMS4yLTkuOHoiXX0sT2p0PUxtZSwkbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhbXBhZ25lLWdsYXNzZXMiLGljb246WzY0MCw1MTIsWzEyOTM0NiwiZ2xhc3MtY2hlZXJzIl0sImY3OWYiLCJNMTU1LjYgMTcuM0MxNjMgMyAxNzkuOS0zLjYgMTk1IDEuOWwxMjUgNDUuNiAxMjUtNDUuNmMxNS4xLTUuNSAzMiAxLjEgMzkuNCAxNS40bDc4LjggMTUyLjljMjguOCA1NS44IDEwLjMgMTIyLjMtMzguNSAxNTYuNmwzMS4zIDg2LjIgNDEtMTVjMTYuNi02IDM1IDIuNSA0MSAxOS4xcy0yLjUgMzUtMTkuMSA0MWMtNDcuNCAxNy4zLTk0LjggMzQuNS0xNDIuMiA1MS44LTE2LjYgNi4xLTM1LTIuNS00MS0xOS4xczIuNS0zNSAxOS4xLTQxbDQxLTE1LTMxLjMtODYuMmMtNTkuNCA1LjItMTE2LjItMzMuOS0xMzAtOTUuMmwtMTQuNi02NC43LTE0LjYgNjQuN2MtMTMuOCA2MS4zLTcwLjYgMTAwLjQtMTMwIDk1LjJsLTMxLjMgODYuMiA0MSAxNWMxNi42IDYuMSAyNS4yIDI0LjQgMTkuMSA0MXMtMjQuNCAyNS4yLTQxIDE5LjFjLTQ3LjQtMTcuMy05NC44LTM0LjYtMTQyLjItNTEuOC0xNi42LTYuMS0yNS4yLTI0LjQtMTkuMS00MVMyNi4zIDM5MiA0Mi45IDM5OGw0MSAxNSAzMS4zLTg2LjJDNjYuNSAyOTIuNSA0OC4xIDIyNiA3Ni45IDE3MC4yTDE1NS42IDE3LjN6bTQ0IDU0LjRsLTI3LjIgNTIuOCA4OS4yIDMyLjUgMTMuMS01Ny45LTc1LjEtMjcuNHptMjQwLjkgMGwtNzUuMSAyNy40IDEzLjEgNTcuOSA4OS4yLTMyLjUtMjcuMi01Mi44eiJdfSxGanQ9JG1lLEJqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkdW1wc3RlciIsaWNvbjpbNTc2LDUxMixbXSwiZjc5MyIsIk0xMzIuMyA2NEwxMDYuNyAxOTIgMjQgMTkyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQuMWMwLTIuNiAuNC01LjEgMS4yLTcuNkwyNi41IDgwLjRDMjkuOCA3MC42IDM5IDY0IDQ5LjMgNjRsODMgMHptMjMuNCAxMjhsMjUuNi0xMjggODIuNyAwIDAgMTI4LTEwOC4zIDB6TTMxMiA2NGw4Mi43IDAgMjUuNiAxMjgtMTA4LjMgMCAwLTEyOHptMTMxLjcgMGw4MyAwYzEwLjMgMCAxOS41IDYuNiAyMi44IDE2LjRsMjUuMyA3NS45Yy44IDIuNCAxLjIgNSAxLjIgNy42bDAgNC4xYzAgMTMuMy0xMC43IDI0LTI0IDI0bC04Mi43IDAtMjUuNi0xMjh6TTI1LjcgMjQwbDUyNC43IDBjLS40IDIuMS0xMy4zIDczLjQtMzguOSAyMTMuNy0zIDE2LjMtMTcuOSAyNy42LTM0LjQgMjYuMVM0NDggNDY0LjYgNDQ4IDQ0OGwwLTE2LTMyMCAwIDAgMTZjMCAxNi42LTEyLjYgMzAuNC0yOS4xIDMxLjlTNjcuNSA0NzAgNjQuNSA0NTMuN0MzOSAzMTMuMyAyNiAyNDIuMSAyNS43IDI0MHoiXX0sSGp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYXJ0LWNpcmNsZS14bWFyayIsaWNvbjpbNTc2LDUxMixbXSwiZTUwMSIsIk0yNDEgODcuMWwxNSAyMC43IDE1LTIwLjdDMjk2IDUyLjUgMzM2LjIgMzIgMzc4LjkgMzIgNDUyLjQgMzIgNTEyIDkxLjYgNTEyIDE2NS4xbDAgMi42YzAgMTcuNi0zLjQgMzUuNi05LjUgNTMuNy0yMS44LTguNi00NS42LTEzLjQtNzAuNS0xMy40LTEwNiAwLTE5MiA4Ni0xOTIgMTkyIDAgMjguNSA2LjIgNTUuNiAxNy40IDgwLS41IDAtLjkgMC0xLjQgMC0xNS41IDAtMzAuOC00LjYtNDMuMS0xNC4xLTczLTU1LjctMjEyLjktMTg2LTIxMi45LTI5OC4ybDAtMi42QzAgOTEuNiA1OS42IDMyIDEzMy4xIDMyIDE3NS44IDMyIDIxNiA1Mi41IDI0MSA4Ny4xek00MzIgMjU2YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptNTkuMyAxMDcuM2M2LjItNi4yIDYuMi0xNi40IDAtMjIuNnMtMTYuNC02LjItMjIuNiAwbC0zNi43IDM2LjctMzYuNy0zNi43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDM2LjcgMzYuNy0zNi43IDM2LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGwzNi43LTM2LjcgMzYuNyAzNi43YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtMzYuNy0zNi43IDM2LjctMzYuN3oiXX0scWp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbXB1dGVyIixpY29uOls1NzYsNTEyLFtdLCJlNGU1IiwiTTM0OC44IDMyQzM0MC43IDQ2LjEgMzM2IDYyLjUgMzM2IDgwbDAgMTYtMjcyIDAgMCAyMjQgMjcyIDAgMCA2NC0yNzIgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwyODQuOCAwek0zMzYgNDMyYzAgMTcuNSA0LjcgMzMuOSAxMi44IDQ4TDEyMCA0ODBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjE2IDB6TTQzMiAzMmw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC05NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTM1MmMwLTI2LjUgMjEuNS00OCA0OC00OHptMjQgNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMHptMCA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwem01NiAxNDRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHoiXX0sRG1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndhbmQtbWFnaWMiLGljb246WzUxMiw1MTIsWyJtYWdpYyJdLCJmMGQwIiwiTTM5OC41IDEyLjJsLTg4LjIgODguMiAxMDEuMyAxMDEuMyA4OC4yLTg4LjJDNTA3LjYgMTA1LjYgNTEyIDk1IDUxMiA4NHMtNC40LTIxLjYtMTIuMi0yOS41TDQ1Ny41IDEyLjJDNDQ5LjYgNC40IDQzOSAwIDQyOCAwcy0yMS42IDQuNC0yOS41IDEyLjJ6TTI3Ni40IDEzNC4zTDEyLjIgMzk4LjVDNC40IDQwNi40IDAgNDE3IDAgNDI4czQuNCAyMS42IDEyLjIgMjkuNWw0Mi4zIDQyLjNDNjIuNCA1MDcuNiA3MyA1MTIgODQgNTEyczIxLjYtNC40IDI5LjUtMTIuMkwzNzcuNyAyMzUuNiAyNzYuNCAxMzQuM3oiXX0sVmp0PURtZSxqanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJhaW4iLGljb246WzUxMiw1MTIsWzEyOTUwNF0sImY1ZGMiLCJNMTIwIDU2YzAtMzAuOSAyNS4xLTU2IDU2LTU2bDI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTI5LjggMC01NC45LTIwLjQtNjItNDgtLjcgMC0xLjMgMC0yIDAtNDQuMiAwLTgwLTM1LjgtODAtODAgMC0xOCA2LTM0LjYgMTYtNDgtMTkuNC0xNC42LTMyLTM3LjgtMzItNjQgMC0zMC45IDE3LjYtNTcuOCA0My4yLTcxLjEtNy4xLTEyLTExLjItMjYtMTEuMi00MC45IDAtNDQuMiAzNS44LTgwIDgwLTgwbDAtMjR6bTI3MiAwbDAgMjRjNDQuMiAwIDgwIDM1LjggODAgODAgMCAxNS00LjEgMjktMTEuMiA0MC45IDI1LjcgMTMuMyA0My4yIDQwLjEgNDMuMiA3MS4xIDAgMjYuMi0xMi42IDQ5LjQtMzIgNjQgMTAgMTMuNCAxNiAzMCAxNiA0OCAwIDQ0LjItMzUuOCA4MC04MCA4MC0uNyAwLTEuMyAwLTIgMC03LjEgMjcuNi0zMi4yIDQ4LTYyIDQ4bC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTQ0OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNCAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2eiJdfSxVanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJpZWZjYXNlLW1lZGljYWwiLGljb246WzUxMiw1MTIsW10sImY0NjkiLCJNMjAwIDQ4bDExMiAwYzQuNCAwIDggMy42IDggOGwwIDQwLTEyOCAwIDAtNDBjMC00LjQgMy42LTggOC04em0tNTYgOGwwIDQwLTgwIDBDMjguNyA5NiAwIDEyNC43IDAgMTYwTDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0bC04MCAwIDAtNDBjMC0zMC45LTI1LjEtNTYtNTYtNTZMMjAwIDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2em04MCAxNjBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDAgNDAgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTQwIDAgMCA0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQwLTQwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0MCAwIDAtNDB6Il19LFdqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1tZWRpY2FsLWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNjQwLDUxMixbXSwiZTUxMiIsIk0zMDkuOCA4LjZjLTEyLjMtMTEuNC0zMS4zLTExLjQtNDMuNSAwbC0yMjQgMjA4Yy05LjYgOS0xMi44IDIyLjktOCAzNS4xUzUwLjggMjcyIDY0IDI3MmwxNiAwIDAgMTc2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5NiAwYy0yMS4yLTI5LjUtMzQuMy02NS4zLTM1LjktMTA0TDI3MiA0MDhjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQwLTQwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0MCAwIDAtNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDAgMjAgMGMzNC45LTQ4LjUgOTEuNy04MCAxNTYtODAgMTAuNyAwIDIxLjEgLjkgMzEuMyAyLjVMMzA5LjggOC42ek00OTYgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTE0MGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sR2p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvZGUtY29tbWl0IixpY29uOls1NzYsNTEyLFtdLCJmMzg2IiwiTTI4OCAzMzZhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6bTE1Ni44LTQ4QzQzMCAzNjEgMzY1LjQgNDE2IDI4OCA0MTZTMTQ2IDM2MSAxMzEuMiAyODhMMzIgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk5LjIgMEMxNDYgMTUxIDIxMC42IDk2IDI4OCA5NnMxNDIgNTUgMTU2LjggMTI4bDk5LjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTkuMiAweiJdfSxZanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWJyZWFzdGZlZWRpbmciLGljb246WzQ0OCw1MTIsW10sImU1M2EiLCJNMjI0IDBhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6TTQzNi44IDM4Mi44TDM3My41IDQ2MmMtMTYuNiAyMC43LTQ2LjggMjQuMS02Ny41IDcuNS0xNy42LTE0LjEtMjIuNy0zOC4xLTEzLjUtNTcuN2wtLjctLjFjLTM4LjktNS42LTc0LjMtMjUuMS05OS43LTU0LjhsMC0zNi44YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDhjMCAuOCAwIDEuNiAuMSAyLjRsMTAxLjQgNTAuN2MyMy43IDExLjkgMzMuMyA0MC43IDIxLjUgNjQuNHMtNDAuNyAzMy4zLTY0LjQgMjEuNUwyNy4yIDQyNy4zYy0xLjEtLjUtMi4yLTEuMS0zLjMtMS43LTQuOS0yLjgtOS4yLTYuNC0xMi42LTEwLjYtNC42LTUuNC03LjgtMTEuNy05LjYtMTguNC0zLjMtMTItMS45LTI1LjIgNC44LTM2LjYgLjYtMS4xIDEuMy0yLjIgMi0zLjJMNzUuNiAyNTYuMWMyNi43LTQwLjEgNzEuNy02NC4xIDExOS44LTY0LjFsNzUuMiAwYzQ2LjUgMCA5MC4xIDIyLjUgMTE3LjIgNjAuM2w1MC43IDcwLjljMi4yIDMgNCA2LjEgNS41IDkuNCAyLjkgNi43IDQuMyAxMy44IDQgMjAuOC0uMyAxMC42LTQuMiAyMS0xMS4yIDI5LjR6TTMyMCAzMzJhNDQgNDQgMCAxIDAgLTg4IDAgNDQgNDQgMCAxIDAgODggMHoiXX0sS2p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1yYXlzIixpY29uOls1MTIsNTEyLFtdLCJlNTRkIiwiTTMxMi41IDI0YTU2IDU2IDAgMSAwIC0xMTIgMCA1NiA1NiAwIDEgMCAxMTIgMHptMjQgMjEyLjdsNDYuMyA2Mi40YzEwLjUgMTQuMiAzMC42IDE3LjIgNDQuOCA2LjZzMTcuMi0zMC42IDYuNi00NC44bC03MC41LTk1QzMzOC41IDEzMiAyOTguOCAxMTIgMjU2LjUgMTEycy04MiAyMC0xMDcuMiA1My45bC03MC41IDk1Yy0xMC41IDE0LjItNy42IDM0LjIgNi42IDQ0LjhzMzQuMiA3LjYgNDQuOC02LjZsNDYuMy02Mi40IDAgMjc1LjNjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNzUuM3pNNy41IDdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDgwIDgwYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw0MS41IDdDMzIuMS0yLjMgMTYuOS0yLjMgNy41IDd6bTQ2NCAwbC04MCA4MGMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDgwLTgwYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDB6TTcuNSA1MDVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsODAtODBjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtODAgODBjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45em00NjQgMGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTgwLTgwYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDgwIDgweiJdfSxaanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFuYXQtc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTFkNSIsIk0xOTIgMzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDEuNUM3My4zIDEwOS4zIDAgMTkwLjEgMCAyODhMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTYyLjUgNDQuOC0xMTQuNSAxMDQtMTI1LjhMMTY4IDQ1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjkzLjhjNTkuMiAxMS4yIDEwNCA2My4zIDEwNCAxMjUuOGwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtOTcuOS03My4zLTE3OC43LTE2OC0xOTAuNUwyMTYgNTZjMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LEFtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzb3J0IixpY29uOlszODQsNTEyLFsidW5zb3J0ZWQiXSwiZjBkYyIsIk0yLjQgMjA0LjJjNSAxMiAxNi42IDE5LjggMjkuNiAxOS44bDMyMCAwYzEyLjkgMCAyNC42LTcuOCAyOS42LTE5LjhzMi4yLTI1LjctNi45LTM0LjlsLTE2MC0xNjBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xNjAgMTYwYy05LjIgOS4yLTExLjkgMjIuOS02LjkgMzQuOXptMCAxMDMuNWMtNSAxMi0yLjIgMjUuNyA2LjkgMzQuOWwxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjBjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTMzY0LjkgMjg4IDM1MiAyODhMMzIgMjg4Yy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44eiJdfSxYanQ9QW1lLEVtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtcmFkaWF0aW9uIixpY29uOls1MTIsNTEyLFs5NzYyLCJyYWRpYXRpb24tYWx0Il0sImY3YmEiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptODAgMGw2NC4zIDBjOC43IDAgMTUuNy03LjEgMTcuMy0xNS42IDQuNC0yNC40IDE4LjEtNDUuNSAzNy4yLTU5LjcgNy40LTUuNSAxMC42LTE1LjYgNi0yMy42bC0zMi41LTU2LjNjLTQuMy03LjUtMTMuOS0xMC4zLTIxLjItNS41LTQ4LjIgMzEuNS04MS4zIDg0LjItODYuMyAxNDQuOC0uNyA4LjggNi41IDE2IDE1LjMgMTZ6bTEzNy45IDg5LjhjLTguNS0zLjctMTguOC0xLjQtMjMuNSA2LjZsLTMxIDUzLjhjLTQuMyA3LjUtMS45IDE3LjIgNS44IDIxLjEgMjYuMSAxMy4yIDU1LjUgMjAuNyA4Ni44IDIwLjdzNjAuNy03LjUgODYuOC0yMC43YzcuNy0zLjkgMTAuMS0xMy42IDUuOC0yMS4xbC0zMS01My44Yy00LjYtOC0xNS0xMC4zLTIzLjUtNi42LTExLjcgNS0yNC41IDcuOC0zOC4xIDcuOHMtMjYuNC0yLjgtMzguMS03Ljh6TTM1MC40IDI0MC40YzEuNiA4LjYgOC41IDE1LjYgMTcuMyAxNS42bDY0LjMgMGM4LjggMCAxNi4xLTcuMiAxNS4zLTE2LTUtNjAuNi0zOC4xLTExMy4yLTg2LjMtMTQ0LjgtNy4zLTQuOC0xNi44LTItMjEuMiA1LjVMMzA3LjMgMTU3Yy00LjYgOC0xLjQgMTguMSA2IDIzLjYgMTkuMSAxNC4yIDMyLjcgMzUuNCAzNy4yIDU5Ljd6TTI1NiAzMDUuN2E0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6Il19LFFqdD1FbWUsSmp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxhcHRvcC1jb2RlIixpY29uOls2NDAsNTEyLFtdLCJmNWZjIiwiTTY0IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjQwLTY0IDAgMC0yNDAtMzg0IDAgMCAyNDAtNjQgMCAwLTI0MHpNMCA0MDMuMkMwIDM5Mi42IDguNiAzODQgMTkuMiAzODRsNjAxLjYgMGMxMC42IDAgMTkuMiA4LjYgMTkuMiAxOS4yIDAgNDIuNC0zNC40IDc2LjgtNzYuOCA3Ni44TDc2LjggNDgwQzM0LjQgNDgwIDAgNDQ1LjYgMCA0MDMuMnpNMjgxIDIwOWwtMzEgMzEgMzEgMzFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDgtNDhjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDQ4LTQ4YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOXpNMzkzIDE3NWw0OCA0OGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNDggNDhjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzEtMzEtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMHoiXX0sZVV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNpbmsiLGljb246WzUxMiw1MTIsW10sImUwNmQiLCJNMjg4IDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzIgMTQuMyAzMiAzMiAzMiAzMi0xNC4zIDMyLTMyYzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2bDAgMTkyLTY0IDAgMC00MGMwLTMwLjktMjUuMS01Ni01Ni01NmwtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0OCAwYzQuNCAwIDggMy42IDggOGwwIDQwLTgwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMCA2NGMwIDUzIDQzIDk2IDk2IDk2bDI1NiAwYzUzIDAgOTYtNDMgOTYtOTZsMC02NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtODAgMCAwLTQwYzAtNC40IDMuNi04IDgtOGw1NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC01NiAwYy0zMC45IDAtNTYgMjUuMS01NiA1NmwwIDQwLTY0IDAgMC0xOTJ6Il19LHRVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC1mcm9tLXdhdGVyLXB1bXAiLGljb246WzY0MCw1MTIsW10sImU0YjYiLCJNMTQ0IDMyYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE3Ni0xNiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDc5LjZjMTcuNi0yIDM2IDIuNSA1MS4zIDE0IDMuNCAyLjYgNi4xIDEuNCA5LjgtLjNsLjgtLjRjNS43LTIuNiAxMi45LTYuOSAyMS43LTEzLjUgMjcuNS0yMC43IDU5LjktMzEuMiA5Mi4zLTMxLjQgMzMuMS0uMiA2Ni4zIDEwLjIgOTQuNCAzMS40IDIyLjEgMTYuNiAyOS4xIDE2LjYgNTEuMiAwIDI3LjUtMjAuNyA1OS45LTMxLjIgOTIuNC0zMS40IDMzLjEtLjIgNjYuMyAxMC4yIDk0LjQgMzEuNCA2LjkgNS4yIDEyLjggOSAxOCAxMS43IC42IC4zIDEuMiAuNiAxLjggMSA0LjIgMi4zIDguNSA0LjYgMTIuNiAxLjUgMTAuNy04LjEgMjIuOS0xMi43IDM1LjMtMTQuMWwwLTc5LjVjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTU2IDAgMC0xNDIuMSA0NyA0N2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNDk3IDM5Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtODggODhjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw0Ny00NyAwIDE0Mi4xLTEzNiAwIDAtMTc2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDE0NCAzMnpNNDc0LjYgNDc2LjFjMTkgMTQuNCA0MS45IDI4LjIgNjcuMiAzMy4zIDI2LjUgNS40IDU0LjMgLjggODAuNy0xOS4xIDEwLjYtOCAxMi43LTIzIDQuNy0zMy42cy0yMy0xMi43LTMzLjYtNC43Yy0xNC45IDExLjItMjguNiAxMy4xLTQyLjMgMTAuMy0xNC45LTMtMzAuOS0xMS45LTQ3LjgtMjQuNi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zcy0zMC41LTguMi01NC41LTI2LjNjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yMS42IDE2LjMtNDEuMyAyNS44LTU4LjkgMjUuNy05LjYtLjEtMTkuOS0zLTMxLjItMTEuNS0xMC42LTgtMjUuNi01LjktMzMuNiA0LjdTNyA0ODIuMyAxNy42IDQ5MC4zYzE5LjEgMTQuNCAzOS40IDIxIDU5LjggMjEuMSAzMy45IC4yIDY0LjMtMTcuNCA4OC4xLTM1LjMgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOWMyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMHoiXX0sUG1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pY3JvcGhvbmUtbGluZXMtc2xhc2giLGljb246WzU3Niw1MTIsWyJtaWNyb3Bob25lLWFsdC1zbGFzaCJdLCJmNTM5IiwiTTctMjQuOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGwxNTEgMTUxIDAtMzAuMmMwLTUzIDQzLTk2IDk2LTk2IDUwLjMgMCA5MS42IDM4LjcgOTUuNyA4OEwzMjggODhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTYgMCAwIDQ4LTU2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTUuNyAwYy0xLjkgMjIuOS0xMS44IDQzLjQtMjYuOSA1OWwzMy45IDMzLjljMjUuNS0yNiA0MS4zLTYxLjYgNDEuMy0xMDAuOWwwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MGMwIDUyLjYtMjEuMSAxMDAuMi01NS4zIDEzNC44TDU2OSA1MDMuMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDcgOS4xQy0yLjMtLjMtMi4zLTE1LjUgNy0yNC45ek0yOTcuOCAzNjcuN2w0MS40IDQxLjRjLTguOCAyLjQtMTcuOSA0LjMtMjcuMyA1LjRsMCA0OS41IDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDQ4IDAgMC00OS41QzE2OS4zIDQwMi43IDk2IDMyMS45IDk2IDIyNGwwLTQwYzAtNS4xIDEuNi05LjkgNC40LTEzLjhsNDMuNiA0My42IDAgMTAuMmMwIDc5LjUgNjQuNSAxNDQgMTQ0IDE0NCAzLjMgMCA2LjYtLjEgOS44LS4zeiJdfSxhVXQ9UG1lLHJVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzZXJ2ZXIiLGljb246WzQ0OCw1MTIsW10sImYyMzMiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NmwwIDY0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTIxNiA3MmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTU2IDI0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6TTY0IDI4OGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDI4OHptMjE2IDcyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptNTYgMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHoiXX0sWmVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXIiLGljb246WzQ0OCw1MTIsWzEyODEwMCw2MjE0NCw2MjQ3MCwidXNlci1hbHQiLCJ1c2VyLWxhcmdlIl0sImYwMDciLCJNMjI0IDI0OGExMjAgMTIwIDAgMSAwIDAtMjQwIDEyMCAxMjAgMCAxIDAgMCAyNDB6bS0yOS43IDU2Qzk1LjggMzA0IDE2IDM4My44IDE2IDQ4Mi4zIDE2IDQ5OC43IDI5LjMgNTEyIDQ1LjcgNTEybDM1Ni42IDBjMTYuNCAwIDI5LjctMTMuMyAyOS43LTI5LjcgMC05OC41LTc5LjgtMTc4LjMtMTc4LjMtMTc4LjNsLTU5LjQgMHoiXX0sc1V0PVplZSxpVXQ9WmVlLG9VdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzbm93Zmxha2UiLGljb246WzUxMiw1MTIsWzEwMDUyLDEwMDU0XSwiZjJkYyIsIk0yODguMiAwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjIuMS0xNS0xNWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw0OSA0OSAwIDcwLjYtNjEuMi0zNS4zLTE3LjktNjYuOWMtMy40LTEyLjgtMTYuNi0yMC40LTI5LjQtMTdTOTUuMyA5OCA5OC43IDExMC44bDUuNSAyMC41LTUzLjctMzFDMzUuMiA5MS41IDE1LjYgOTYuNyA2LjggMTEycy0zLjYgMzQuOSAxMS43IDQzLjdsNTMuNyAzMS0yMC41IDUuNWMtMTIuOCAzLjQtMjAuNCAxNi42LTE3IDI5LjRzMTYuNiAyMC40IDI5LjQgMTdsNjYuOS0xNy45IDYxLjIgMzUuMy02MS4yIDM1LjMtNjYuOS0xNy45Yy0xMi44LTMuNC0yNiA0LjItMjkuNCAxN3M0LjIgMjYgMTcgMjkuNGwyMC41IDUuNS01My43IDMxQzMuMiAzNjUuMS0yIDM4NC43IDYuOCA0MDBzMjguNCAyMC42IDQzLjcgMTEuN2w1My43LTMxLTUuNSAyMC41Yy0zLjQgMTIuOCA0LjIgMjYgMTcgMjkuNHMyNi00LjIgMjkuNC0xN2wxNy45LTY2LjkgNjEuMi0zNS4zIDAgNzAuNi00OSA0OWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDE1LTE1IDAgNjIuMWMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNjIuMSAxNSAxNWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTQ5LTQ5IDAtNzAuNiA2MS4yIDM1LjMgMTcuOSA2Ni45YzMuNCAxMi44IDE2LjYgMjAuNCAyOS40IDE3czIwLjQtMTYuNiAxNy0yOS40bC01LjUtMjAuNSA1My43IDMxYzE1LjMgOC44IDM0LjkgMy42IDQzLjctMTEuN3MzLjYtMzQuOS0xMS43LTQzLjdsLTUzLjctMzEgMjAuNS01LjVjMTIuOC0zLjQgMjAuNC0xNi42IDE3LTI5LjRzLTE2LjYtMjAuNC0yOS40LTE3bC02Ni45IDE3LjktNjEuMi0zNS4zIDYxLjItMzUuMyA2Ni45IDE3LjljMTIuOCAzLjQgMjYtNC4yIDI5LjQtMTdzLTQuMi0yNi0xNy0yOS40bC0yMC41LTUuNSA1My43LTMxYzE1LjMtOC44IDIwLjYtMjguNCAxMS43LTQzLjdzLTI4LjQtMjAuNS00My43LTExLjdsLTUzLjcgMzEgNS41LTIwLjVjMy40LTEyLjgtNC4yLTI2LTE3LTI5LjRzLTI2IDQuMi0yOS40IDE3bC0xNy45IDY2LjktNjEuMiAzNS4zIDAtNzAuNiA0OS00OWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC0xNSAxNSAwLTYyLjF6Il19LG5VdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YXVydXMiLGljb246WzM4NCw1MTIsW10sImU4NGYiLCJNMzM2LTE2YzE3LjcgMCAzMiAxNC4zIDMyIDMyIDAgNTguNS0yOC42IDExMC4zLTcyLjUgMTQyLjMgNTMuMiAzNC4xIDg4LjUgOTMuOCA4OC41IDE2MS43IDAgMTA2LTg2IDE5Mi0xOTIgMTkyUzAgNDI2IDAgMzIwQzAgMjUyLjEgMzUuMyAxOTIuNCA4OC41IDE1OC4zIDQ0LjYgMTI2LjMgMTYgNzQuNSAxNiAxNiAxNi0xLjcgMzAuMy0xNiA0OC0xNlM4MC0xLjcgODAgMTZjMCA2MS45IDUwLjEgMTEyIDExMiAxMTJTMzA0IDc3LjkgMzA0IDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0xOTIgMTkyYTEyOCAxMjggMCAxIDAgMCAyNTYgMTI4IDEyOCAwIDEgMCAwLTI1NnoiXX0sbFV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNrdWxsLWNyb3NzYm9uZXMiLGljb246WzQ0OCw1MTIsWzEyODM2OSw5NzYwXSwiZjcxNCIsIk0zODQgMTQ0QzM4NCA2NC41IDMxMi40IDAgMjI0IDBTNjQgNjQuNSA2NCAxNDRjMCA0Ny4xIDI1LjEgODguOSA2NCAxMTUuMmwwIDI4LjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0yOC44YzM4LjktMjYuMyA2NC02OC4xIDY0LTExNS4yek0xNjAgMTI4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptOTYgMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNNDQ1LjUgMzM5LjdjLTYuOC0xNi4zLTI1LjUtMjQtNDEuOC0xNy4yTDIyNCAzOTcuMyA0NC4zIDMyMi41Yy0xNi4zLTYuOC0zNSAuOS00MS44IDE3LjJzLjkgMzUgMTcuMiA0MS44TDE0MC44IDQzMiAxOS43IDQ4Mi41QzMuNCA0ODkuMy00LjMgNTA4IDIuNSA1MjQuM3MyNS41IDI0IDQxLjggMTcuMkwyMjQgNDY2LjcgNDAzLjcgNTQxLjVjMTYuMyA2LjggMzUtLjkgNDEuOC0xNy4ycy0uOS0zNS0xNy4yLTQxLjhMMzA3LjIgNDMyIDQyOC4zIDM4MS41YzE2LjMtNi44IDI0LTI1LjUgMTcuMi00MS44eiJdfSxjVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVzby1zaWduIixpY29uOls0NDgsNTEyLFtdLCJlMjIyIiwiTTExMiAzMkM5NC4zIDMyIDgwIDQ2LjMgODAgNjRsMCA2NC0yNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI0IDAgMCAzMi0yNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI0IDAgMCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2IDk2IDBjNjUuNiAwIDEyMi0zOS41IDE0Ni43LTk2bDM3LjMgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMjQuOCAwYy41LTUuMyAuOC0xMC42IC44LTE2cy0uMy0xMC43LS44LTE2bDI0LjggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMzcuMyAwQzM2MiA3MS41IDMwNS42IDMyIDI0MCAzMkwxMTIgMzJ6bTE5OS42IDk2bC0xNjcuNiAwIDAtMzIgOTYgMGMyOC40IDAgNTQgMTIuNCA3MS42IDMyek0xNDQgMTc2bDE5MC43IDBjLjkgNS4yIDEuMyAxMC41IDEuMyAxNnMtLjUgMTAuOC0xLjMgMTZsLTE5MC43IDAgMC0zMnptMTY3LjYgODBjLTE3LjYgMTkuNi00My4xIDMyLTcxLjYgMzJsLTk2IDAgMC0zMiAxNjcuNiAweiJdfSxkVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2luZS1nbGFzcyIsaWNvbjpbMzIwLDUxMixbMTI3ODYzXSwiZjRlMyIsIk0zMi42IDI1LjdDMzUuNiAxMC44IDQ4LjcgMCA2NCAwTDI1NiAwYzE1LjMgMCAyOC40IDEwLjggMzEuNCAyNS43TDMxNi44IDE3M2MyLjEgMTAuNSAzLjIgMjEuMiAzLjIgMzJsMCAzYzAgNzcuNC01NSAxNDItMTI4IDE1Ni44bDAgMTE1LjIgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw2NCA1NDRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMCAwLTExNS4yQzU1IDM1MCAwIDI4NS40IDAgMjA4bDAtM2MwLTEwLjcgMS4xLTIxLjQgMy4yLTMyTDMyLjYgMjUuN3pNNzcuNCAxMjhsMTY1LjEgMC0xMi44LTY0LTEzOS41IDAtMTIuOCA2NHoiXX0sUWI9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVtcGVyYXR1cmUtaGFsZiIsaWNvbjpbMzIwLDUxMixbMTI3Nzc3LCJ0ZW1wZXJhdHVyZS0yIiwidGhlcm1vbWV0ZXItMiIsInRoZXJtb21ldGVyLWhhbGYiXSwiZjJjOSIsIk0xNjAgMEMxMDcgMCA2NCA0MyA2NCA5NmwwIDE2NC43QzM0LjUgMjg3IDE2IDMyNS40IDE2IDM2OCAxNiA0NDcuNSA4MC41IDUxMiAxNjAgNTEyczE0NC02NC41IDE0NC0xNDRjMC00Mi42LTE4LjUtODEtNDgtMTA3LjNMMjU2IDk2YzAtNTMtNDMtOTYtOTYtOTZ6bTY0IDM2OGMwIDM1LjMtMjguNyA2NC02NCA2NHMtNjQtMjguNy02NC02NGMwLTI2LjkgMTYuNS00OS45IDQwLTU5LjNsMC05Mi43YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA5Mi43YzIzLjUgOS41IDQwIDMyLjUgNDAgNTkuM3oiXX0sdVV0PVFiLHBVdD1RYixmVXQ9UWIsaFV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRpY2tldCIsaWNvbjpbNTc2LDUxMixbMTI3OTAzXSwiZjE0NSIsIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOGwwIDY0QzAgMjAwLjggNy40IDIwNy43IDE1LjcgMjEwLjYgMzQuNSAyMTcuMSA0OCAyMzUgNDggMjU2cy0xMy41IDM4LjktMzIuMyA0NS40QzcuNCAzMDQuMyAwIDMxMS4yIDAgMzIwbDAgNjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC02NGMwLTguOC03LjQtMTUuNy0xNS43LTE4LjYtMTguOC02LjUtMzIuMy0yNC40LTMyLjMtNDUuNHMxMy41LTM4LjkgMzIuMy00NS40YzguMy0yLjkgMTUuNy05LjggMTUuNy0xOC42bDAtNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6TTQxNiAzMzZsMC0xNjAtMjU2IDAgMCAxNjAgMjU2IDB6TTExMiAxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJsMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTI4OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE5MnoiXX0sbVV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndoZWF0LWF3bi1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzY0MCw1MTIsW10sImU1OTgiLCJNNDk2IDU3NmExNDQgMTQ0IDAgMSAxIDAtMjg4IDE0NCAxNDQgMCAxIDEgMCAyODh6TTgxIDUyOWMtOS40IDkuMy0yNC41IDkuMy0zMy45IDAtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlMODEgNTI5em0zMC4yLTI5NC40YzYuMi00LjEgMTQuNy0zLjQgMjAuMSAyLjFsNDYuMSA0Ni4xIDYuMSA2LjdjMTkuNyAyMy44IDI2LjMgNTUgMTkuMyA4My45IDMxLjctNy43IDY2LjIgMSA5MC42IDI1LjNsMTIgMTJjLS44IDctMS4yIDE0LjItMS4yIDIxLjQgMCAyMCAzIDM5LjMgOC43IDU3LjQtMzYuOCAyMS44LTg1IDE3LTExNi42LTE0LjdMMTY1LjYgNDQ0LjMgODEgNTI5QzY5LjcgNTE3LjcgNTguNCA1MDYuMyA0NyA0OTVsODQuNy04NC43LTMwLjUtMzAuNWMtMzcuNS0zNy41LTM3LjUtOTguMyAwLTEzNS43bDcuNC03LjQgMi41LTIuMXpNNDk2IDQ3NmEyMCAyMCAwIDEgMCAwIDQwIDIwIDIwIDAgMSAwIDAtNDB6bTAtMTQwYy04LjggMC0xNiA3LjItMTYgMTZsMCA4MGMwIDguOCA3LjIgMTYgMTYgMTYgOC44IDAgMTYtNy4yIDE2LTE2bDAtODBjMC04LjgtNy4yLTE2LTE2LTE2ek0yMTUuMiAxMzAuNmM2LjItNC4xIDE0LjctMy40IDIwLjEgMi4xbDQ2LjEgNDYuMSA2LjEgNi43YzE5LjcgMjMuOCAyNi4zIDU1IDE5LjMgODMuOSAyNC4yLTUuOSA1MC4xLTIuMSA3MS45IDEwLjgtMzIuMiAyNC45LTU2LjIgNTkuOC02Ny40IDEwMC4xLTMuOC0yLjgtNy41LTYtMTEtOS41bC05NC45LTk0LjljLTM3LjUtMzcuNS0zNy41LTk4LjMgMC0xMzUuN2w3LjQtNy40IDIuNS0yLjF6TTUyNi43IDE1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwIDguOCA4LjggOS4zIDIyLjcgMS43IDMyLjFMNTYwLjYgNDkgNDQ2LjIgMTYzLjRjNy43IDEgMTUuMyAzIDIyLjUgNS45TDUyNyAxMTFjOS40LTkuNCAyNC42LTkuNCAzNCAwIDguOCA4LjggOS4zIDIyLjcgMS42IDMyLjFsLTEuNyAxLjgtNTIuNyA1Mi43IDM5IDM5YzMuMiAzLjIgNC43IDcuNCA0LjcgMTEuNi0xNy43LTUuNC0zNi41LTguMy01NS45LTguMy0zNC4yIDAtNjYuMyA4LjktOTQuMSAyNC42bC05Mi43LTkyLjdjLTM3LjUtMzcuNS0zNy41LTk4LjMgMC0xMzUuOGw3LjQtNy40IDIuNS0yLjFjNi4yLTQuMSAxNC43LTMuNCAyMC4xIDIuMWwzOSAzOSA1Mi43LTUyLjdjOS40LTkuNCAyNC42LTkuNCAzNCAwIDguOCA4LjggOS4zIDIyLjcgMS42IDMyLjFMNDY1IDQ5IDQwNi43IDEwNy4zYzIuOCA3LjEgNC43IDE0LjUgNS44IDIyLjFMNTI2LjcgMTV6Il19LGdVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3MtdHVybi1yaWdodCIsaWNvbjpbNDQ4LDUxMixbXSwiZTRjMCIsIk0zMTMuNC02LjZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsODAgODBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTgwIDgwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wzMzguNyAxMjggMTI4IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDI0MS43IDAgMjI0bDAtMzJDMCAxMjEuMyA1Ny4zIDY0IDEyOCA2NGwyMTAuNyAwLTI1LjQtMjUuNGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjN6bS05NiAyNTZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsODAgODBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTgwIDgwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyNDIuNyAzODQgOTYgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhsMC0zMmMwLTUzIDQzLTk2IDk2LTk2bDE0Ni43IDAtMjUuNC0yNS40Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3oiXX0sYlV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbmR5LWNhbmUiLGljb246WzQ0OCw1MTIsW10sImY3ODYiLCJNNDIxLjggMzkuNkM0NTIgODUuMiA0NTYuNSAxNDIuOSA0MzUuMSAxOTJsLTE2NS40IDAgNDEuNC00MS40Yy44LS44IDEuNS0xLjYgMi4yLTIuNEw0MjEuOCAzOS42ek0yNjggMTAyLjljLS44IC43LTEuNiAxLjQtMi40IDIuMmwtMjguMSAyOC4xYy0yNSAyNS02NS41IDI1LTkwLjUgMHMtMjUtNjUuNSAwLTkwLjVMMTc1IDE0LjZDMjI5LjktNDAuMiAzMTQuNS00Ni43IDM3Ni41LTUuNkwyNjggMTAyLjl6TTEyNS43IDMzNmw4MC04MCAxODEgMC04Mi41IDgyLjUgMC0yLjUtMTc4LjUgMHptMTE3IDY0TDE0MS40IDUwMS4zYy0yNSAyNS02NS41IDI1LTkwLjUgMHMtMjUtNjUuNSAwLTkwLjVsMTAuNy0xMC43IDE4MSAweiJdfSx2VXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2hlZWxjaGFpciIsaWNvbjpbNTEyLDUxMixbXSwiZjE5MyIsIk0xMzYgNDBhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwek0xMTcuOSAxOTcuNmwxMi42IDYzYy0zOC42IDEyLjQtNjYuNSA0OC43LTY2LjUgOTEuNCAwIDUzIDQzIDk2IDk2IDk2IDM1LjYgMCA2Ni43LTE5LjQgODMuMy00OC4yIDIuMyAuMSA0LjYgLjIgNyAuMmw0LjEgMGMxIDAgMi4xIDAgMy4xIDBsNTUuMiAwYy0yMC40IDY0LjktODEgMTEyLTE1Mi43IDExMi04OC40IDAtMTYwLTcxLjYtMTYwLTE2MCAwLTczLjggNTAtMTM1LjkgMTE3LjktMTU0LjR6bTE0OC42LTI4LjFsMjMuNyAxMTguNSA2MC41IDBjMzMuMyAwIDYzLjIgMjAuNyA3NC45IDUxLjlsMjUuNSA2OCAxOC43LTYuMmMxNi44LTUuNiAzNC45IDMuNSA0MC41IDIwLjJzLTMuNSAzNC45LTIwLjIgNDAuNWwtNDggMTZjLTE2LjMgNS40LTM0LTMtNDAuMS0xOS4xbC0zNi4zLTk2LjljLTIuMy02LjItOC4zLTEwLjQtMTUtMTAuNGwtODYuMSAwYy0uNCAwLS44IDAtMS4zIDBsLTEzLjEgMGMtMzAuNSAwLTU2LjgtMjEuNS02Mi44LTUxLjRMMTY1LjMgMTg5LjdjLTYuNC0zMS45IDE4LTYxLjcgNTAuNi02MS43IDI0LjYgMCA0NS44IDE3LjQgNTAuNiA0MS41eiJdfSx4VXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3BlbGwtY2hlY2siLGljb246WzU3Niw1MTIsW10sImY4OTEiLCJNMTIwIDMyYy00OC42IDAtODggMzkuNC04OCA4OGwwIDE2OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNjQgNjQgMCAwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjhjMC00OC42LTM5LjQtODgtODgtODhsLTE2IDB6bTQwIDEyOGwtNjQgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0MHpNMzA0IDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDIyNGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw3MiAwYzQ4LjYgMCA4OC0zOS40IDg4LTg4IDAtMjMuNi05LjMtNDUtMjQuNC02MC44IDEwLjMtMTQuNCAxNi40LTMyLjEgMTYuNC01MS4yIDAtNDguNi0zOS40LTg4LTg4LTg4bC02NCAwem02NCAxMTJsLTMyIDAgMC00OCAzMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0ek0zMzYgMjU2bDAtNDggNDAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDAgMHptMjMzIDg0YzExLTEzLjggOC44LTMzLjktNS00NXMtMzMuOS04LjgtNDUgNWwtMTA1LjcgMTMyLjEtMzguNy0zOC43Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGM2LjQgNi40IDE1LjMgOS44IDI0LjQgOS4zczE3LjUtNC45IDIzLjItMTJMNTY5IDM0MHoiXX0seVV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZvbHVtZS1vZmYiLGljb246WzMyMCw1MTIsW10sImYwMjYiLCJNOTYgMzUybC00OCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDQ4IDAgMTM0LjEtMTE5LjJjNi40LTUuNyAxNC42LTguOCAyMy4xLTguOCAxOS4yIDAgMzQuOCAxNS42IDM0LjggMzQuOGwwIDM3OC40YzAgMTkuMi0xNS42IDM0LjgtMzQuOCAzNC44LTguNSAwLTE2LjctMy4xLTIzLjEtOC44TDk2IDM1MnoiXX0sd1V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imx1bmdzIixpY29uOls1NzYsNTEyLFsxMjk3MjldLCJmNjA0IiwiTTMyMCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE0MS45LTMyIDE5LjIgMC0xMTYuN2MwLTI0LjUtMTkuOS00NC40LTQ0LjQtNDQuNC0xMi41IDAtMjQuNCA1LjMtMzIuOCAxNC41bC0yNi40IDI5QzQyLjkgMTYwLjggMCAyNzEuOCAwIDM4N2wwIDMwLjVjMCA1Mi4yIDQyLjMgOTQuNSA5NC41IDk0LjUgMjIgMCA0My43LTUuMSA2My40LTE1bDUtMi41YzM3LjQtMTguNyA2MS01Ni45IDYxLTk4LjhsMC0xMjggNjQtMzguNCA2NCAzOC40IDAgMTI4YzAgNDEuOCAyMy42IDgwLjEgNjEgOTguOGw1IDIuNWMxOS43IDkuOCA0MS40IDE1IDYzLjQgMTUgNTIuMiAwIDk0LjUtNDIuMyA5NC41LTk0LjVsMC02LjJjMC0xMTEuMS0zNi43LTIxOS0xMDQuNC0zMDdMNDI4LjkgNDguN2MtOC4xLTEwLjYtMjAuNy0xNi43LTM0LTE2LjctMjMuNyAwLTQyLjkgMTkuMi00Mi45IDQyLjlsMCAxMTguMi0zMi0xOS4yIDAtMTQxLjl6Il19LE1VdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rbWFyayIsaWNvbjpbMzg0LDUxMixbMTI4Mjc4LDYxNTkxXSwiZjAyZSIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ4MGMwIDExLjUgNi4yIDIyLjIgMTYuMiAyNy44czIyLjMgNS41IDMyLjItLjRMMTkyIDQyMS4zIDMzNS41IDUwNy40YzkuOSA1LjkgMjIuMiA2LjEgMzIuMiAuNFMzODQgNDkxLjUgMzg0IDQ4MGwwLTQxNmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAweiJdfSxrVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFyY29kZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjAyYSIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJMNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJ6bTg4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDAwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MDBjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTcyIDMybDAgMzg0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zODRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ6bTIwOC04bDAgNDAwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6bS05NiAwbDAgNDAwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6Il19LFhlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsaXN0LW9sIixpY29uOls1MTIsNTEyLFsibGlzdC0xLTIiLCJsaXN0LW51bWVyaWMiXSwiZjBjYiIsIk0wIDcyQzAgNTguOCAxMC43IDQ4IDI0IDQ4bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxMDQgMjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtOTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyNCAwIDAtODAtMjQgMEMxMC43IDk2IDAgODUuMyAwIDcyek0zMC40IDMwMS4yQzQxLjggMjkyLjYgNTUuNyAyODggNzAgMjg4bDQuOSAwYzMzLjcgMCA2MS4xIDI3LjQgNjEuMSA2MS4xIDAgMTkuNi05LjQgMzcuOS0yNS4yIDQ5LjRsLTI0IDE3LjUgMzMuMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC05MC43IDBDMTMuMSA0NjQgMCA0NTAuOSAwIDQzNC43IDAgNDI1LjMgNC41IDQxNi41IDEyLjEgNDExbDcwLjUtNTEuM2MzLjQtMi41IDUuNC02LjQgNS40LTEwLjYgMC03LjItNS45LTEzLjEtMTMuMS0xMy4xTDcwIDMzNmMtMy45IDAtNy43IDEuMy0xMC44IDMuNkwzOC40IDM1NS4yYy0xMC42IDgtMjUuNiA1LjgtMzMuNi00LjhTLTEgMzI0LjggOS42IDMxNi44bDIwLjgtMTUuNnpNMjI0IDY0bDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxNjBsMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDE2MGwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6Il19LFNVdD1YZWUselV0PVhlZSxDVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1jaXJjbGUteG1hcmsiLGljb246WzU3Niw1MTIsW10sImU1YTEiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODAgMGMtMjIuNy0zMS41LTM2LTcwLjItMzYtMTEyIDAtMTAwLjYgNzcuNC0xODMuMiAxNzYtMTkxLjNsMC0zOC4xYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI5MC43IDE4LjdDMjc4LjcgNi43IDI2Mi41IDAgMjQ1LjUgMEw5NiAwek0zNTcuNSAxNzZMMjY0IDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjQwIDU4LjUgMzU3LjUgMTc2ek00MzIgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNTkuMy0xODAuN2wtMzYuNyAzNi43IDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwbC0zNi43LTM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDM2LjctMzYuNy0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwzNi43IDM2LjcgMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnoiXX0sX1V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImN1YmUiLGljb246WzUxMiw1MTIsW10sImYxYjIiLCJNMjI0LjMtMi41YzE5LjgtMTEuNCA0NC4yLTExLjQgNjQgMEw0NjQuMiA5OWMxOS44IDExLjQgMzIgMzIuNiAzMiA1NS40bDAgMjAzYzAgMjIuOS0xMi4yIDQ0LTMyIDU1LjRMMjg4LjMgNTE0LjVjLTE5LjggMTEuNC00NC4yIDExLjQtNjQgMEw0OC41IDQxM2MtMTkuOC0xMS40LTMyLTMyLjYtMzItNTUuNGwwLTIwM2MwLTIyLjkgMTIuMi00NCAzMi01NS40TDIyNC4zLTIuNXptMjA3LjggMzYwbDAtMTY2LjEtMTQzLjggODMgMCAxNjYuMSAxNDMuOC04M3oiXX0sVFV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhcGUiLGljb246WzU3Niw1MTIsW10sImY0ZGIiLCJNNDEyLjggNDE2YzQxLjUtNDAuNyA2Ny4yLTk3LjMgNjcuMi0xNjAgMC0xMjMuNy0xMDAuMy0yMjQtMjI0LTIyNFMzMiAxMzIuMyAzMiAyNTYgMTMyLjMgNDgwIDI1NiA0ODBsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEzMS4yIDB6TTI1NiAxNjBhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6bTQ4IDk2YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6Il19LExVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib21iIixpY29uOls1NzYsNTEyLFsxMjgxNjNdLCJmMWUyIiwiTTQ4MC0xNmM2LjkgMCAxMyA0LjQgMTUuMiAxMC45bDEzLjUgNDAuNCA0MC40IDEzLjVDNTU1LjYgNTEgNTYwIDU3LjEgNTYwIDY0cy00LjQgMTMtMTAuOSAxNS4ybC00MC40IDEzLjUtMTMuNSA0MC40QzQ5MyAxMzkuNiA0ODYuOSAxNDQgNDgwIDE0NHMtMTMtNC40LTE1LjItMTAuOWwtMTMuNS00MC40LTQwLjQtMTMuNUM0MDQuNCA3NyA0MDAgNzAuOSA0MDAgNjRzNC40LTEzIDEwLjktMTUuMmw0MC40LTEzLjUgMTMuNS00MC40QzQ2Ny0xMS42IDQ3My4xLTE2IDQ4MC0xNnpNMzIxLjQgOTcuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGw4MCA4MGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMTAuOSAxMC45YzcuOSAyMiAxMi4yIDQ1LjcgMTIuMiA3MC41IDAgMTE0LjktOTMuMSAyMDgtMjA4IDIwOFMzMiA0MTguOSAzMiAzMDQgMTI1LjEgOTYgMjQwIDk2YzI0LjcgMCA0OC41IDQuMyA3MC41IDEyLjNsMTAuOS0xMC45ek0xNDQgMzA0YzAtNTMgNDMtOTYgOTYtOTYgMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRjLTc5LjUgMC0xNDQgNjQuNS0xNDQgMTQ0IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjR6Il19LEltZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY2FsZS11bmJhbGFuY2VkIixpY29uOls2NDAsNTEyLFsiYmFsYW5jZS1zY2FsZS1sZWZ0Il0sImY1MTUiLCJNNTE5LjggNjIuNGMxNi44LTUuNiAyNS44LTIzLjcgMjAuMi00MC41UzUxNi4zLTMuOSA0OTkuNiAxLjZsLTExMyAzNy43Yy0xMy45LTIzLjUtMzkuNi0zOS4zLTY4LjktMzkuMy00NC4yIDAtODAgMzUuOC04MCA4MCAwIDMgLjIgNS45IC41IDguOEwxMTUuNiAxMjkuNmMtMTYuOCA1LjYtMjUuOCAyMy43LTIwLjIgNDAuNXMyMy43IDI1LjggNDAuNSAyMC4ybDEzNS41LTQ1LjJjNC41IDMuMiA5LjMgNS45IDE0LjQgOC4ybDAgMzI2LjdjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE2MCAwIDAtMjk0LjdjMjEtOS4yIDM3LjItMjcgNDQuMi00OWwxMjUuOS00MnpNNDM3LjMgMjg4bDcyLjQtMTI0LjIgNzIuNCAxMjQuMi0xNDQuOSAwem03Mi40IDk2YzYyLjkgMCAxMTUuMi0zNCAxMjYtNzguOSAyLjYtMTEtMS0yMi4zLTYuNy0zMi4xTDUzMy44IDEwOS44Yy01LTguNi0xNC4yLTEzLjgtMjQuMS0xMy44cy0xOS4xIDUuMy0yNC4xIDEzLjhMMzkwLjQgMjczLjFjLTUuNyA5LjgtOS4zIDIxLjEtNi43IDMyLjEgMTAuOCA0NC44IDYzLjEgNzguOSAxMjYgNzguOXpNMTI2LjggMjkxLjhsNzIuNCAxMjQuMi0xNDQuOSAwIDcyLjQtMTI0LjJ6TS45IDQzMy4xQzExLjcgNDc4IDY0IDUxMiAxMjYuOCA1MTJzMTE1LjItMzQgMTI2LTc4LjljMi42LTExLTEtMjIuMy02LjctMzIuMUwxNTAuOSAyMzcuOGMtNS04LjYtMTQuMi0xMy44LTI0LjEtMTMuOHMtMTkuMSA1LjMtMjQuMSAxMy44TDcuNiA0MDEuMWMtNS43IDkuOC05LjMgMjEuMS02LjcgMzIuMXoiXX0sJFV0PUltZSxObWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWNhcmV0LWxlZnQiLGljb246WzQ0OCw1MTIsWyJjYXJldC1zcXVhcmUtbGVmdCJdLCJmMTkxIiwiTTAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZ6TTEyOCAyNTZjMC02LjcgMi44LTEzIDcuNy0xNy42bDExMi0xMDRjNy02LjUgMTcuMi04LjIgMjUuOS00LjRTMjg4IDE0Mi41IDI4OCAxNTJsMCAyMDhjMCA5LjUtNS43IDE4LjItMTQuNCAyMnMtMTguOSAyLjEtMjUuOS00LjRsLTExMi0xMDRjLTQuOS00LjUtNy43LTEwLjktNy43LTE3LjZ6Il19LERVdD1ObWUsQVV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJ1bGVyIixpY29uOls1NzYsNTEyLFsxMjgyMDddLCJmNTQ1IiwiTTIwOS4xIDUxNi4yYy0xOC43IDE4LjctNDkuMSAxOC43LTY3LjkgMEwyOC4xIDQwMy4xYy0xOC43LTE4LjctMTguNy00OS4xIDAtNjcuOWwxNy0xNyA3My41IDczLjVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC03My41LTczLjUgMzMuOS0zMy45IDUwLjkgNTAuOWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTUwLjktNTAuOSAzMy45LTMzLjkgNzMuNSA3My41YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNzMuNS03My41IDMzLjktMzMuOSA1MC45IDUwLjljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC01MC45LTUwLjkgMzMuOS0zMy45IDczLjUgNzMuNWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTczLjUtNzMuNSAxNy0xN2MxOC43LTE4LjcgNDkuMS0xOC43IDY3LjkgMEw1NDguNSAxMDguOWMxOC43IDE4LjcgMTguNyA0OS4xIDAgNjcuOUwyMDkuMSA1MTYuMnoiXX0sRVV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImkiLGljb246WzMyMCw1MTIsWzEwNV0sIjQ5IiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5Nmw5NiAwIDAgMzIwLTk2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDAgMC0zMjAgOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnoiXX0sUWVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZvbHVtZS14bWFyayIsaWNvbjpbNTc2LDUxMixbInZvbHVtZS1tdXRlIiwidm9sdW1lLXRpbWVzIl0sImY2YTkiLCJNNDggMzUybDQ4IDAgMTM0LjEgMTE5LjJjNi40IDUuNyAxNC42IDguOCAyMy4xIDguOCAxOS4yIDAgMzQuOC0xNS42IDM0LjgtMzQuOGwwLTM3OC40YzAtMTkuMi0xNS42LTM0LjgtMzQuOC0zNC44LTguNSAwLTE2LjcgMy4xLTIzLjEgOC44TDk2IDE2MCA0OCAxNjBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTZjMCAyNi41IDIxLjUgNDggNDggNDh6TTM2NyAxNzVjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDQ3IDQ3LTQ3IDQ3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNDctNDcgNDcgNDdjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC00Ny00NyA0Ny00N2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC00NyA0Ny00Ny00N2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDB6Il19LFBVdD1RZWUsSVV0PVFlZSxOVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJjaHdheSIsaWNvbjpbNTEyLDUxMixbXSwiZjU1NyIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsNDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6bTAgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyOCAwIDAtMTI4YzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZsMCAxMjggMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC0yNzItNDQ4IDAgMCAyNzJ6Il19LFJtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tZGlnZ2luZyIsaWNvbjpbNTc2LDUxMixbImRpZ2dpbmciXSwiZjg1ZSIsIk0yMDggNDBhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwek0xMC41IDE4MS4zYzUuOS0xMS45IDIwLjMtMTYuNyAzMi4yLTEwLjdsMjQuNiAxMi4zIDEyLjItMjAuNGMxOC45LTMxLjUgNTMuMi01MC41IDg5LjYtNTAuNSA0Ni4yIDAgODcuNyAzMC41IDEwMC41IDc1LjRsMzIuMiAxMTIuNyA5Mi45IDQ2LjQgMjUuOC00M2M1LjgtOS42IDE2LjItMTUuNSAyNy40LTE1LjVzMjEuNyA1LjkgMjcuNCAxNS41bDk2IDE2MGM1LjkgOS45IDYuMSAyMi4yIC40IDMyLjJTNTU1LjUgNTEyIDU0NCA1MTJsLTE5MiAwYy0xMS41IDAtMjIuMi02LjItMjcuOC0xNi4ycy01LjUtMjIuMyAuNC0zMi4yTDM3MCAzODcuOCAyMS4zIDIxMy41Yy0xMS45LTUuOS0xNi43LTIwLjMtMTAuNy0zMi4yek05NC4zIDMwNy40bDExMiA1NmMxMC44IDUuNCAxNy43IDE2LjUgMTcuNyAyOC42bDAgODhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02OC4yLTYxLjMtMzAuNy0zNi4zIDEwOWMtNS42IDE2LjgtMjMuNyAyNS44LTQwLjUgMjAuMlMtMy45IDQ4Ni42IDEuNyA0NjkuOWw0OC0xNDRjMi45LTguOCA5LjUtMTUuOSAxOC4xLTE5LjRzMTguMy0zLjIgMjYuNiAuOXoiXX0sUlV0PVJtZSxKZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2F1Z2UtaGlnaCIsaWNvbjpbNTEyLDUxMixbNjI0NjEsInRhY2hvbWV0ZXItYWx0IiwidGFjaG9tZXRlci1hbHQtZmFzdCJdLCJmNjI1IiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6TTI4OCA5NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0yNTYgNDE2YzM1LjMgMCA2NC0yOC43IDY0LTY0IDAtMTYuMi02LTMxLjEtMTYtNDIuM2w2OS41LTEzOC45YzUuOS0xMS45IDEuMS0yNi4zLTEwLjctMzIuMnMtMjYuMy0xLjEtMzIuMiAxMC43TDI2MS4xIDI4OC4yYy0xLjctLjEtMy40LS4yLTUuMS0uMi0zNS4zIDAtNjQgMjguNy02NCA2NHMyOC43IDY0IDY0IDY0ek0xNzYgMTQ0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTk2IDI4OGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTM1Mi0zMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAweiJdfSxPVXQ9SmVlLEZVdD1KZWUsQlV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdlbmRlcmxlc3MiLGljb246WzM4NCw1MTIsW10sImYyMmQiLCJNMTkyIDEyOGExMjggMTI4IDAgMSAxIDAgMjU2IDEyOCAxMjggMCAxIDEgMC0yNTZ6bTAgMzIwYTE5MiAxOTIgMCAxIDAgMC0zODQgMTkyIDE5MiAwIDEgMCAwIDM4NHoiXX0sSFV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3VkLXN1biIsaWNvbjpbNjQwLDUxMixbOTkyNV0sImY2YzQiLCJNMjA4LjMgMTkyYzQzLjEgMCA4MC41IDI0LjQgOTkuMiA2MC4xIDE0LjctMTcuMiAzNi40LTI4LjEgNjAuOC0yOC4xIDQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgNS41LS42IDEwLjktMS42IDE2IC41IDAgMS4xIDAgMS42IDAgNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZsLTMyMCAwYy01MyAwLTk2LTQzLTk2LTk2IDAtNDIuNSAyNy43LTc4LjUgNjYtOTEuMi0xLjMtNi44LTItMTMuNy0yLTIwLjggMC02MS45IDUwLjEtMTEyIDExMi0xMTJ6bTE5Mi0yMjMuOGM1LjMgMCAxMC4zIDIuNyAxMy4zIDcuMWw0Ny4zIDcwLjQgODMuMy0xNi4zYzUuMi0xIDEwLjYgLjcgMTQuMyA0LjQgMy44IDMuOCA1LjQgOS4yIDQuNCAxNC40bC0xNi4zIDgzLjMgNzAuNCA0Ny4zYzQuNCAzIDcuMSA4IDcuMSAxMy4zIDAgNS4zLTIuNiAxMC4zLTcgMTMuMmwtNzAuNCA0Ny4zIDE0LjUgNzQuMmMtMTcuMi0yMS43LTQwLjQtMzguNC02Ny4yLTQ3LjMtMi41LTEyLjctNi45LTI0LjYtMTIuOC0zNS43IDkuNi0xNC45IDE1LjItMzIuNyAxNS4yLTUxLjcgMC01My00My05Ni05Ni05Ni00Ny45IDAtODcuNiAzNS4xLTk0LjggODAuOS0yMC45LTE2LTQ1LjktMjctNzMuMS0zMS4xbDIxLjUtMTQuNS0xNi4zLTgzLjItLjMtMmMtLjMtNC42IDEuMy05LjEgNC42LTEyLjQgMy44LTMuOCA5LjItNS40IDE0LjQtNC40bDgzLjMgMTYuMyA0Ny4zLTcwLjQgMS4yLTEuNmMzLTMuNSA3LjQtNS41IDEyLjEtNS41em0wIDE3NS44YzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgMy44LS41IDcuNi0xLjQgMTEuMS0yMS43LTE2LjktNDguOS0yNy4xLTc4LjYtMjcuMS00LjYgMC05LjEgLjItMTMuNSAuNyA2LjQtMTkgMjQuMy0zMi43IDQ1LjUtMzIuN3oiXX0sSHRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXJpZ2h0IixpY29uOls1MTIsNTEyLFs4NTk0XSwiZjA2MSIsIk01MDIuNiAyNzguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMNDAyLjcgMjI0IDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzNzAuNyAwLTEwNS40IDEwNS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjB6Il19LGV0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kc2hha2UiLGljb246WzU3Niw1MTIsWzEyOTMwOSw2MjY2MiwiaGFuZHNoYWtlLWFsdCIsImhhbmRzaGFrZS1zaW1wbGUiXSwiZjJiNSIsIk0yNjguOSA4NS4yTDE1Mi4zIDIxNC44Yy00LjYgNS4xLTQuNCAxMyAuNSAxNy45IDMwLjUgMzAuNSA4MCAzMC41IDExMC41IDBsMzEuOC0zMS44YzQuMi00LjIgOS41LTYuNSAxNC45LTYuOSA2LjgtLjYgMTMuOCAxLjcgMTkgNi45TDUwNS42IDM3NiA1NzYgMzIwIDU3NiAzMiA0NjQgOTYgNDQwLjIgODAuMUM0MjQuNCA2OS42IDQwNS45IDY0IDM4Ni45IDY0bC03MC40IDBjLTEuMSAwLTIuMyAwLTMuNCAuMS0xNi45IC45LTMyLjggOC41LTQ0LjIgMjEuMXpNMTE2LjYgMTgyLjdMMjIzLjQgNjQgMTgzLjggNjRjLTI1LjUgMC00OS45IDEwLjEtNjcuOSAyOC4xTDExMiA5NiAwIDMyIDAgMzIwIDE1Ni40IDQ1MC4zYzIzIDE5LjIgNTIgMjkuNyA4MS45IDI5LjdsMTUuNyAwLTctN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDQxIDQxIDkgMGMxOS4xIDAgMzcuOC00LjMgNTQuOC0xMi4zTDM1OSA0NDFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwzMiAzMiAxNy41LTE3LjVjOC45LTguOSAxMS41LTIxLjggNy42LTMzLjFsLTEzNy45LTEzNi44LTE0LjkgMTQuOWMtNDkuMyA0OS4zLTEyOS4xIDQ5LjMtMTc4LjQgMC0yMy0yMy0yMy45LTU5LjktMi4yLTg0eiJdfSxxVXQ9ZXRlLFZVdD1ldGUsT21lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1za2lpbmciLGljb246WzU3Niw1MTIsWzk5NzUsInNraWluZyJdLCJmN2M5IiwiTTQxNiA1NmE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTIuNyAzMDAuOWM2LjEtMTEuOCAyMC42LTE2LjMgMzIuNC0xMC4ybDE5Ny44IDEwMi43IDYyLjMtODcuMi04Mi05Mi4yYy0xMS0xMi40LTE2LjItMjcuNS0xNi4yLTQyLjRsMTExLjYgNTMuNCA0Mi45IDQ4LjJjMTQuOSAxNi43IDE2LjIgNDEuNiAzLjIgNTkuOGwtNjQuNCA5MC4yIDEyOC4zIDY2LjZjMTMuNiA3LjEgMjkuOCA3LjIgNDMuNiAuM2wxNS4yLTcuNmMxMS45LTUuOSAyNi4zLTEuMSAzMi4yIDEwLjdzMS4xIDI2LjMtMTAuNyAzMi4ybC0xNS4yIDcuNmMtMjcuNSAxMy43LTU5LjkgMTMuNS04Ny4yLS43TDEyLjkgMzMzLjNDMS4yIDMyNy4yLTMuNCAzMTIuNyAyLjcgMzAwLjl6TTEwMyA0OS42bDE4IDguNyA4LjctMTcuNGM0LTcuOSAxMy42LTExLjEgMjEuNS03LjJzMTEuMSAxMy42IDcuMiAyMS41bC04LjUgMTcgODQuOCA0MSAuNC0uMiA3Ni4xLTMzLjhjMzEuMy0xMy45IDY3LjktLjcgODMuMiAyOS45bDI4LjkgNTcuOCA2OC43IDI3LjVjMTYuNCA2LjYgMjQuNCAyNS4yIDE3LjggNDEuNnMtMjUuMiAyNC40LTQxLjYgMTcuOEwzOTMuOCAyMjRjLTEwLjktNC40LTE5LjgtMTIuNi0yNS4xLTIzLjFsLTExLjUtMjMuMWMtMTYuNCA5LjQtMjUuOSAxNC44LTI4LjUgMTYuM2wtNy42LTMuNy0xODUuNi04OS42LTkuMiAxOC4zYy00IDcuOS0xMy42IDExLjEtMjEuNSA3LjJzLTExLjEtMTMuNi03LjItMjEuNWw5LTE3LjktMTcuNi04LjVDODEuMSA3NC42IDc3LjggNjUgODEuNiA1N1M5NSA0NS43IDEwMyA0OS42eiJdfSxqVXQ9T21lLFVVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmlkZ2Utd2F0ZXIiLGljb246WzY0MCw1MTIsW10sImU0Y2UiLCJNNjQgNjRsNTEyIDAgMCAxMTJjLTM3LjYgOS40LTY0IDQzLjItNjQgODJsMCA3Ni40Yy0yMS05LjctNDMuNS0xNC41LTY2LTE0LjQtMTAgLjEtMjAuMSAxLjEtMzAgMy4xbDAtMzUuMWMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmwwIDMyLjdjLTUuMy0uNS0xMC43LS44LTE2LS43LTI3LjcgLjItNTUuNCA3LjgtODAgMjNsMC04NWMwLTM4LjgtMjYuNC03Mi42LTY0LTgyTDY0IDY0ek00MDMuNCA0NDQuMUMzNzkuMSA0NjIuMyAzNTEuMSA0ODAgMzIwIDQ4MHMtNTkuMS0xNy43LTgzLjQtMzUuOWMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDAtMjMuOCAxNy45LTU0LjEgMzUuNS04OC4xIDM1LjMtMjAuNC0uMS00MC43LTYuNy01OS44LTIxLjEtMTAuNi04LTEyLjctMjMtNC43LTMzLjZzMjMtMTIuNyAzMy42LTQuN2MxMS4zIDguNSAyMS42IDExLjQgMzEuMiAxMS41IDE3LjYgLjEgMzcuMy05LjQgNTguOS0yNS43IDM4LjQtMjkgOTAuNS0yOSAxMjkgMCAyNCAxOC4xIDQwLjcgMjYuMyA1NC41IDI2LjNzMzAuNS04LjIgNTQuNS0yNi4zYzM4LjQtMjkgOTAuNS0yOSAxMjkgMCAxNi45IDEyLjcgMzIuOSAyMS41IDQ3LjggMjQuNiAxMy43IDIuOCAyNy40IC45IDQyLjMtMTAuMyAxMC42LTggMjUuNi01LjkgMzMuNiA0LjdzNS45IDI1LjYtNC43IDMzLjZjLTI2LjQgMTkuOS01NC4yIDI0LjQtODAuNyAxOS4xLTI1LjMtNS4xLTQ4LjEtMTguOS02Ny4yLTMzLjMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDB6Il19LFdVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy1uZ28iLGljb246WzU3Niw1MTIsW10sImU0ZDciLCJNMTI4IDBDOTIuNyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDggMCAwLTExMmMwLTM1LjMgMjguNy02NCA2NC02NGwyMDggMCAwLTI3MmMwLTM1LjMtMjguNy02NC02NC02NEwxMjggMHptMzIgMTEyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTMwNCA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek0xNjAgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE0NC0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek01MjAgMzgwYy0yNC4zIDAtNDQgMTkuNy00NCA0NGwwIDgwYzAgMjQuMyAxOS43IDQ0IDQ0IDQ0bDE2IDBjMjQuMyAwIDQ0LTE5LjcgNDQtNDRsMC04MGMwLTI0LjMtMTkuNy00NC00NC00NGwtMTYgMHptLTQgNDRjMC0yLjIgMS44LTQgNC00bDE2IDBjMi4yIDAgNCAxLjggNCA0bDAgODBjMCAyLjItMS44IDQtNCA0bC0xNiAwYy0yLjIgMC00LTEuOC00LTRsMC04MHptLTE2OCAwbDAgODBjMCAyNC4zIDE5LjcgNDQgNDQgNDRsMTYgMGMyNC4zIDAgNDQtMTkuNyA0NC00NGwwLTI0YzAtMTEtOS0yMC0yMC0yMGwtOCAwYy0xMSAwLTIwIDktMjAgMjAgMCA2LjUgMy4xIDEyLjQgOCAxNmwwIDhjMCAyLjItMS44IDQtNCA0bC0xNiAwYy0yLjIgMC00LTEuOC00LTRsMC04MGMwLTIuMiAxLjgtNCA0LTRsMjAuNCAwYzEuOSA5LjEgOS45IDE2IDE5LjYgMTYgMTEgMCAyMC05IDIwLTIwIDAtMTkuOS0xNi4xLTM2LTM2LTM2bC0yNCAwYy0yNC4zIDAtNDQgMTkuNy00NCA0NHptLTkwLjEtMzIuOWMtNC4xLTguMy0xMy41LTEyLjctMjIuNS0xMC41UzIyMCAzOTAuNyAyMjAgNDAwbDAgMTI4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtNDMuMyAyNi4xIDUyLjJjNC4xIDguMyAxMy41IDEyLjcgMjIuNSAxMC41UzMyNCA1MzcuMyAzMjQgNTI4bDAtMTI4YzAtMTEtOS0yMC0yMC0yMHMtMjAgOS0yMCAyMGwwIDQzLjMtMjYuMS01Mi4yeiJdfSxHVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaWdsb28iLGljb246WzU3Niw1MTIsW10sImY3YWUiLCJNMzIwIDMzLjhsMCAxMjYuMi0yNzEuNSAwYzUxLjctNzcuMiAxMzkuNi0xMjggMjM5LjUtMTI4IDEwLjggMCAyMS41IC42IDMyIDEuOHpNMzY4IDE2MGwwLTExNi43YzY2IDE5IDEyMi4yIDYxIDE1OS41IDExNi43TDM2OCAxNjB6TTIyLjYgMjA4bDczLjQgMCAwIDExMi05NiAwYzAtMzkuNyA4LTc3LjYgMjIuNi0xMTJ6TTE3NiAzMjBsLTMyIDAgMC0xMTIgMjg4IDAgMCAxMTItMzIgMCAwIDQ4IDE3NiAwIDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTY0IDE3NiAwIDAtNDh6bTMwNCAwbDAtMTEyIDczLjQgMEM1NjggMjQyLjQgNTc2IDI4MC4zIDU3NiAzMjBsLTk2IDB6TTI4OCAyODhjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgODAgMTI4IDAgMC04MGMwLTM1LjMtMjguNy02NC02NC02NHoiXX0sRm1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1kb2xsYXItdG8tc2xvdCIsaWNvbjpbNTc2LDUxMixbImRvbmF0ZSJdLCJmNGI5IiwiTTk2IDIyNGExOTIgMTkyIDAgMSAxIDM4NCAwIDE5MiAxOTIgMCAxIDEgLTM4NCAwem0xNzYtOTJsMCA0Yy0yOC44IC4zLTUyIDIzLjctNTIgNTIuNSAwIDI1LjcgMTguNSA0Ny42IDQzLjkgNTEuOGw0MS43IDdjNiAxIDEwLjQgNi4yIDEwLjQgMTIuMyAwIDYuOS01LjYgMTIuNS0xMi41IDEyLjVMMjQ4IDI3MmMtMTEgMC0yMCA5LTIwIDIwczkgMjAgMjAgMjBsMjQgMCAwIDRjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC00LjdjMjUtNC4xIDQ0LTI1LjcgNDQtNTEuOCAwLTI1LjctMTguNS00Ny42LTQzLjktNTEuOGwtNDEuNy03Yy02LTEtMTAuNC02LjItMTAuNC0xMi4zIDAtNi45IDUuNi0xMi41IDEyLjUtMTIuNWw0Ny41IDBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwbC04IDAgMC00YzAtMTEtOS0yMC0yMC0yMHMtMjAgOS0yMCAyMHpNNDggMzQ0bDAgMTA0YzAgOC44IDcuMiAxNiAxNiAxNmw0NDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMDRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDEwNGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMzQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6Il19LFlVdD1GbWUsS1V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InkiLGljb246WzM4NCw1MTIsWzEyMV0sIjU5IiwiTTU4IDQ1LjRDNDcuOCAzMSAyNy44IDI3LjcgMTMuNCAzOFMtNC4zIDY4LjIgNiA4Mi42TDE2MCAyOTguMyAxNjAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNDkuNyAxNTQtMjE1LjdjMTAuMy0xNC40IDYuOS0zNC40LTcuNC00NC42UzMzNi4yIDMxIDMyNiA0NS40TDE5MiAyMzIuOSA1OCA0NS40eiJdfSxCbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1zbWlsZS13aW5rIixpY29uOls1MTIsNTEyLFsxMjg1MjEsInNtaWxlLXdpbmsiXSwiZjRkYSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTY1LjQgMzIxLjljMjAuNCAyOCA1My40IDQ2LjEgOTAuNiA0Ni4xczcwLjItMTguMSA5MC42LTQ2LjFjNy44LTEwLjcgMjIuOC0xMy4xIDMzLjUtNS4zczEzLjEgMjIuOCA1LjMgMzMuNUMzNTYuMyAzOTAgMzA5LjIgNDE2IDI1NiA0MTZzLTEwMC4zLTI2LTEyOS40LTY1LjljLTcuOC0xMC43LTUuNC0yNS43IDUuMy0zMy41czI1LjctNS40IDMzLjUgNS4zek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE2NCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGMwLTMzLjEgMjYuOS02MCA2MC02MGwxNiAwYzMzLjEgMCA2MCAyNi45IDYwIDYwIDAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMC05LTIwLTIwLTIwbC0xNiAwYy0xMSAwLTIwIDktMjAgMjB6Il19LFpVdD1CbWUsWFV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpY2UtZm91ciIsaWNvbjpbNDQ4LDUxMixbOTg1OV0sImY1MjQiLCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTE2MCA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0xMjggMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMzUyIDE2MGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zMjAgMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sSG1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1zcXVpbnQtdGVhcnMiLGljb246WzU3Niw1MTIsWzEyOTMxNSwiZ3Jpbi1zcXVpbnQtdGVhcnMiXSwiZjU4NiIsIk01NjAgMzUuNGMwIDI1LjYtMTguOCA0Ny4zLTQ0LjEgNTAuOUw0NjkuMSA5M2MtMTAuNiAxLjUtMTkuNi03LjUtMTguMS0xOC4xbDYuNy00Ni43QzQ2MS4zIDIuOCA0ODMtMTYgNTA4LjYtMTYgNTM3LTE2IDU2MCA3IDU2MCAzNS40ek00MDMuNSA2OC4xYy02IDQyLjIgMzAuMiA3OC40IDcyLjQgNzIuNGwzNy44LTUuNEM1NjUuNyAyMzIgNTUwLjggMzU1LjMgNDY5IDQzN3MtMjA1IDk2LjYtMzAxLjkgNDQuN2w1LjQtMzcuOGM2LTQyLjItMzAuMi03OC40LTcyLjQtNzIuNGwtMzcuOCA1LjRDMTAuMyAyODAgMjUuMiAxNTYuNyAxMDcgNzVTMzEyLTIxLjcgNDA4LjkgMzAuM2wtNS40IDM3Ljh6TTQxNy44IDIwMWMtMTkuMSAzNi40LTQ1LjYgNzIuNy03OC45IDEwNnMtNjkuNiA1OS44LTEwNiA3OC45Yy0xMS4xIDUuOC0xMi40IDIxLjQtMS4xIDI2LjYgNTkuMiAyNy41IDEzMS44IDE2LjggMTgwLjYtMzJzNTkuNS0xMjEuNCAzMi0xODAuNmMtNS4zLTExLjMtMjAuOC0xMC0yNi42IDEuMXpNMTEzLjkgMjcwLjZjMS43IDggOSAxMy40IDE3LjEgMTIuN2w0My4xLTMuOS0zLjkgNDMuMWMtLjcgOC4xIDQuNyAxNS41IDEyLjcgMTcuMXMxNS45LTIuOSAxOC40LTEwLjZsMjgtODQuNmMxLjktNS43IC40LTEyLjEtMy45LTE2LjNzLTEwLjYtNS44LTE2LjMtMy45bC04NC42IDI4Yy03LjcgMi42LTEyLjMgMTAuNS0xMC42IDE4LjV6TTMxNS4yIDk5LjFjLjctOC4xLTQuNy0xNS41LTEyLjctMTcuMXMtMTUuOSAyLjktMTguNSAxMC42bC0yOCA4NC42Yy0xLjkgNS43LS40IDEyLjEgMy45IDE2LjNzMTAuNiA1LjggMTYuMyAzLjlsODQuNi0yOGM3LjctMi42IDEyLjMtMTAuNSAxMC42LTE4LjRzLTktMTMuNC0xNy4xLTEyLjdsLTQzLjEgMy45IDMuOS00My4xek02MC4xIDQyNS43bDQ2LjctNi43YzEwLjYtMS41IDE5LjYgNy41IDE4LjEgMTguMWwtNi43IDQ2LjdDMTE0LjcgNTA5LjIgOTMgNTI4IDY3LjQgNTI4IDM5IDUyOCAxNiA1MDUgMTYgNDc2LjYgMTYgNDUxIDM0LjggNDI5LjMgNjAuMSA0MjUuN3oiXX0sUVV0PUhtZSxKVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1hdWRpbyIsaWNvbjpbMzg0LDUxMixbXSwiZjFjNyIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXptNTMuOCAxODUuMmMtOS4xLTYuMy0yMS41LTQuMS0yNy44IDVzLTQuMSAyMS41IDUgMjcuOGMyMy45IDE2LjcgMzkuNCA0NC4zIDM5LjQgNzUuNXMtMTUuNiA1OC45LTM5LjQgNzUuNWMtOS4xIDYuMy0xMS4zIDE4LjgtNSAyNy44czE4LjggMTEuMyAyNy44IDVjMzQuMS0yMy44IDU2LjYtNjMuNSA1Ni42LTEwOC4zUzI5NiAyNjcuNSAyNjEuOCAyNDMuN3pNODAgMzEyYy04LjggMC0xNiA3LjItMTYgMTZsMCA0OGMwIDguOCA3LjIgMTYgMTYgMTZsMjQgMCAyNy4yIDM0YzMgMy44IDcuNiA2IDEyLjUgNmwuMyAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTEyOGMwLTguOC03LjItMTYtMTYtMTZsLS4zIDBjLTQuOSAwLTkuNSAyLjItMTIuNSA2bC0yNy4yIDM0LTI0IDB6bTEyOCA3Mi4yYzAgMTAuNyAxMC41IDE4LjIgMTguOSAxMS42IDEyLjktMTAuMyAyMS4xLTI2LjEgMjEuMS00My44cy04LjItMzMuNS0yMS4xLTQzLjhjLTguNC02LjctMTguOSAuOS0xOC45IDExLjZsMCA2NC41eiJdfSxlV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLWRvd24tdG8tbGluZSIsaWNvbjpbNTEyLDUxMixbXSwiZTRiOCIsIk0yMTQuNiAzMTAuNmwtNjQgNjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC02NC02NGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEw5NiAyNzQuNyA5NiAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMjQyLjcgOS40LTkuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zem0yNTYgMGwtNjQgNjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC02NC02NGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGw5LjQgOS40IDAtMjQyLjdjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDI0Mi43IDkuNC05LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3pNMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDQ0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMnoiXX0sdFd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImciLGljb246WzQ0OCw1MTIsWzEwM10sIjQ3IiwiTTIyNCA5NkMxMzUuNiA5NiA2NCAxNjcuNiA2NCAyNTZzNzEuNiAxNjAgMTYwIDE2MGM3Ny40IDAgMTQyLTU1IDE1Ni44LTEyOEwyNTYgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE0NCAwYzI1LjggMCA0OS42IDIxLjQgNDcuMiA1MC42LTkuNSAxMTUtMTA1LjggMjA1LjQtMjIzLjIgMjA1LjQtMTIzLjcgMC0yMjQtMTAwLjMtMjI0LTIyNFMxMDAuMyAzMiAyMjQgMzJjNTcuNCAwIDEwOS43IDIxLjYgMTQ5LjMgNTcgMTMuMiAxMS44IDE0LjMgMzIgMi41IDQ1LjJzLTMyIDE0LjMtNDUuMiAyLjVDMzAyLjMgMTExLjQgMjY1IDk2IDIyNCA5NnoiXX0sYVd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZpaGFyYSIsaWNvbjpbNTc2LDUxMixbXSwiZjZhNyIsIk0yNzMuNi0zLjJjOC41LTYuNCAyMC4zLTYuNCAyOC44IDBMNDQzLjIgMTAyLjRjOC4zIDYuMiAxOC40IDkuNiAyOC44IDkuNiAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjQgMCAwIDQ4IDU4LjcgNjQgMTMuMyAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04IDAgMCA0OCAyNC40IDMyIDE1LjYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDAgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItMTI4IDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTEyOCAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi00MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDIyLjEgMCAxNy45LTMyIDAtNDgtOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEzLjMgMCA1OC43LTY0IDAtNDgtMjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGMxMC40IDAgMjAuNS0zLjQgMjguOC05LjZMMjczLjYtMy4yek0xMjggMzY4bDMyMCAwIDAtNDgtMzIwIDAgMCA0OHpNMzg0IDE2MGwtMTkyIDAgMCA0OCAxOTIgMCAwLTQ4eiJdfSxyV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmxhZy1jaGVja2VyZWQiLGljb246WzQ0OCw1MTIsWzEyNzkzN10sImYxMWUiLCJNMzIgMEM0OS43IDAgNjQgMTQuMyA2NCAzMmwwIDE2IDY5LTE3LjJjMzguMS05LjUgNzguMy01LjEgMTEzLjUgMTIuNSA0Ni4zIDIzLjIgMTAwLjggMjMuMiAxNDcuMSAwbDkuNi00LjhDNDIzLjggMjguMSA0NDggNDMuMSA0NDggNjYuMWwwIDI3OS43YzAgMTMuMy04LjMgMjUuMy0yMC44IDMwbC0zNC43IDEzYy00Ni4yIDE3LjMtOTcuNiAxNC42LTE0MS43LTcuNC0zNy45LTE5LTgxLjQtMjMuNy0xMjIuNS0xMy40TDY0IDM4NCA2NCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0OTcuNyAwIDQ4MEwwIDMyQzAgMTQuMyAxNC4zIDAgMzIgMHpNNjQgMTg3LjFsNjQtMTMuOSAwIDY1LjUtNjQgMTMuOSAwIDY1LjUgNDguOC0xMi4yYzUuMS0xLjMgMTAuMS0yLjQgMTUuMi0zLjNsMC02My45IDM4LjktOC40YzguMy0xLjggMTYuNy0yLjUgMjUuMS0yLjFsMC02NGMxMy42IC40IDI3LjIgMi42IDQwLjQgNi40bDIzLjYgNi45IDAgNjYuNy00MS43LTEyLjNjLTcuMy0yLjEtMTQuOC0zLjQtMjIuMy0zLjhsMCA3MS40YzIxLjggMS45IDQzLjMgNi43IDY0IDE0LjRsMC02OS44IDIyLjcgNi43YzEzLjUgNCAyNy4zIDYuNCA0MS4zIDcuNGwwLTY0LjJjLTcuOC0uOC0xNS42LTIuMy0yMy4yLTQuNWwtNDAuOC0xMiAwLTYyYy0xMy0zLjgtMjUuOC04LjgtMzguMi0xNS04LjItNC4xLTE2LjktNy0yNS44LTguOGwwIDcyLjRjLTEzLS40LTI2IC44LTM4LjcgMy42bC0yNS4zIDUuNSAwLTc1LjItNjQgMTYgMCA3My4xek0zMjAgMzM1LjdjMTYuOCAxLjUgMzMuOS0uNyA1MC02LjhsMTQtNS4yIDAtNzEuNy03LjkgMS44Yy0xOC40IDQuMy0zNy4zIDUuNy01Ni4xIDQuNWwwIDc3LjR6bTY0LTE0OS40bDAtNzAuOGMtMjAuOSA2LjEtNDIuNCA5LjEtNjQgOS4xbDAgNjkuNGMxMy45IDEuNCAyOCAuNSA0MS43LTIuNmwyMi4zLTUuMnoiXX0sdHRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdhdWdlLXNpbXBsZSIsaWNvbjpbNTEyLDUxMixbImdhdWdlLXNpbXBsZS1tZWQiLCJ0YWNob21ldGVyLWF2ZXJhZ2UiXSwiZjYyOSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0zMjAgOTZjMC0yNi45LTE2LjUtNDkuOS00MC01OS4zTDI4MCAxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxNzIuN2MtMjMuNSA5LjUtNDAgMzIuNS00MCA1OS4zIDAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6Il19LHNXdD10dGUsaVd0PXR0ZSxxbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmlnaHQtbGVmdCIsaWNvbjpbNTEyLDUxMixbImV4Y2hhbmdlLWFsdCJdLCJmMzYyIiwiTTUwMi42IDE1MC42bC05NiA5NmMtOS4yIDkuMi0yMi45IDExLjktMzQuOSA2LjlTMzUyIDIzNi45IDM1MiAyMjRsMC02NC0zMjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJTMTQuMyA5NiAzMiA5NmwzMjAgMCAwLTY0YzAtMTIuOSA3LjgtMjQuNiAxOS44LTI5LjZzMjUuNy0yLjIgMzQuOSA2LjlsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjN6bS0zOTcuMyAzNTJsLTk2LTk2Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2w5Ni05NmM5LjItOS4yIDIyLjktMTEuOSAzNC45LTYuOVMxNjAgMjc1LjEgMTYwIDI4OGwwIDY0IDMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMjAgMCAwIDY0YzAgMTIuOS03LjggMjQuNi0xOS44IDI5LjZzLTI1LjcgMi4yLTM0LjktNi45eiJdfSxvV3Q9cW1lLG5XdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaWxscyIsaWNvbjpbNTEyLDUxMixbXSwiZjQ4NCIsIk02NCAxMTJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDExMi05NiAwIDAtMTEyek0xNzYgMzY4YzAtNDguNyAxOC4xLTkzLjIgNDgtMTI3bDAtMTI5QzIyNCA1MC4xIDE3My45IDAgMTEyIDBTMCA1MC4xIDAgMTEyTDAgNDAwYzAgNjEuOSA1MC4xIDExMiAxMTIgMTEyIDM3LjMgMCA3MC4zLTE4LjIgOTAuNy00Ni4zLTE3LTI4LjYtMjYuNy02Mi0yNi43LTk3Ljd6bTY0LjcgNjcuNGM0LjYgOC43IDE2LjMgOS43IDIzLjMgMi43TDQzOC4xIDI2NGM3LTcgNi0xOC43LTIuNy0yMy4zLTIwLjEtMTAuNy00My0xNi43LTY3LjQtMTYuNy03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NCAwIDI0LjMgNiA0Ny4zIDE2LjcgNjcuNHpNMjk3LjkgNDcyYy03IDctNiAxOC43IDIuNyAyMy4zIDIwLjEgMTAuNyA0MyAxNi43IDY3LjQgMTYuNyA3OS41IDAgMTQ0LTY0LjUgMTQ0LTE0NCAwLTI0LjMtNi00Ny4zLTE2LjctNjcuNC00LjYtOC43LTE2LjMtOS43LTIzLjMtMi43TDI5Ny45IDQ3MnoiXX0sbFd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImV4cGxvc2lvbiIsaWNvbjpbNTEyLDUxMixbXSwiZTRlOSIsIk0yNTYtMzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0em0wIDE2MGMxMi40IDAgMjIuNyA5LjQgMjMuOSAyMS43TDI5My40IDI5MS42IDQ2Ny42IDExLjNjNi43LTEwLjcgMjAuNS0xNC41IDMxLjctOC41czE1LjggMTkuNSAxMC42IDMxTDM3Mi44IDMzOC42YzIuMiAyLjMgNC4zIDQuNyA2LjMgNy4xbDk3LjItNTQuN2MxMC41LTUuOSAyMy42LTMuMSAzMC45IDYuNHM2LjMgMjMtMi4yIDMxLjVsLTg3IDg3LTcxLjQgMGMtMTMuMi0zNy4zLTQ4LjctNjQtOTAuNS02NHMtNzcuNCAyNi43LTkwLjUgNjRsLTc5LjYgMC03NS41LTUyLjNDLjYgMzU3LTIuOCAzNDQuMSAyLjQgMzMzLjVzMTcuNC0xNS45IDI4LjctMTIuNGw5Ny4yIDMwLjRjMy0zLjkgNi4xLTcuNiA5LjQtMTEuM0w3NS40IDIzNi4zYy02LjEtMTAuMS0zLjktMjMuMSA1LjEtMzAuN3MyMi4yLTcuNSAzMS4xIC4xTDIxNCAyOTMuNmMxLjUtLjQgMy0uOCA0LjUtMS4xbDEzLjYtMTQyLjdjMS4yLTEyLjMgMTEuNS0yMS43IDIzLjktMjEuN3pNMzIgNDY0bDQ1NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw4IDB6Il19LGNXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3MtZG93bi10by1wZW9wbGUiLGljb246WzUxMiw1MTIsW10sImU0YjkiLCJNMTEzIDE1M2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBMMTUgODlDNS43IDc5LjYgNS43IDY0LjQgMTUgNTVTMzkuNiA0NS43IDQ5IDU1TDcyIDc4LjEgNzItOGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgODYuMSAyMy0yM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTY0IDY0em0zMjAgMGMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBMMzM1IDg5Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMjMgMjMgMC04Ni4xYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA4Ni4xIDIzLTIzYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNjQgNjR6TTI1NiAxOTJhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6bTAgMTYwYzUzIDAgOTYgNDMgOTYgOTZsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJjMC01MyA0My05NiA5Ni05NnpNMzIgMjg4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTM1MiAwYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTgwIDM2OGMxNS4zIDAgMjkuNiA0LjMgNDEuOCAxMS44LTYuMyAxNi4yLTkuOCAzMy44LTkuOCA1Mi4ybDAgNDhjMCAxMS40IDIuNCAyMi4yIDYuNyAzMmwtODcuOCAwQzEzLjggNTEyIDAgNDk4LjIgMCA0ODEuMUwwIDQ0OGMwLTQ0LjIgMzUuOC04MCA4MC04MHpNMzkzLjMgNTEyYzQuMy05LjggNi43LTIwLjYgNi43LTMybDAtNDhjMC0xOC40LTMuNS0zNi05LjgtNTIuMiAxMi4yLTcuNSAyNi41LTExLjggNDEuOC0xMS44IDQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMzMuMWMwIDE3LTEzLjggMzAuOS0zMC45IDMwLjlsLTg3LjggMHoiXX0sZFd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXJzLXZpZXdmaW5kZXIiLGljb246WzU3Niw1MTIsW10sImU1OTUiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRsMCA3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNzJjMC04LjggNy4yLTE2IDE2LTE2bDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRTMTQ5LjMgMCAxMzYgMEw2NCAwek00NDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw3MiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDcyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC03MmMwLTM1LjMtMjguNy02NC02NC02NEw0NDAgMHpNNDggMzc2YzAtMTMuMy0xMC43LTI0LTI0LTI0UzAgMzYyLjcgMCAzNzZsMCA3MmMwIDM1LjMgMjguNyA2NCA2NCA2NGw3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC03MiAwYy04LjggMC0xNi03LjItMTYtMTZsMC03MnptNTI4IDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA3MmMwIDguOC03LjIgMTYtMTYgMTZsLTcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNzIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTcyek0yODggMjE2YTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyem0wIDQwYy01MyAwLTk2IDQzLTk2IDk2bDAgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0yNGMwLTUzLTQzLTk2LTk2LTk2em0xOTItNjRhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMTY4IDI3Mi4zYy00OS4zIDQuMS04OCA0NS4zLTg4IDk1LjdsMCAxMC43YzAgMTEuOCA5LjYgMjEuMyAyMS4zIDIxLjNsNDYuOCAwYy0yLjctNy41LTQuMS0xNS42LTQuMS0yNGwwLTI0YzAtMjkuNSA4LjgtNTYuOSAyNC03OS43ek00MjcuOSA0MDBsNDYuOCAwYzExLjggMCAyMS4zLTkuNiAyMS4zLTIxLjNsMC0xMC43YzAtNTAuMy0zOC43LTkxLjYtODgtOTUuNyAxNS4yIDIyLjggMjQgNTAuMiAyNCA3OS43bDAgMjRjMCA4LjQtMS40IDE2LjUtNC4xIDI0ek0xOTIgMTkyYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6Il19LHVXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXItb24iLGljb246WzQ0OCw1MTIsW10sImU0ZGQiLCJNMjQ4LThjMC0xMy4zLTEwLjctMjQtMjQtMjRTMjAwLTIxLjMgMjAwLThsMCA2NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNjR6TTE0NS4zIDIwOGwxNTcuNSAwYzYuNyAwIDEyLjYgNC4xIDE1IDEwLjRsMjYuMSA2OS42LTIzOS42IDAgMjYuMS02OS42YzIuMy02LjIgOC4zLTEwLjQgMTUtMTAuNHpNMzQgMjkyLjhsLTEuMyAzLjRDMTMuMiAzMDcuMSAwIDMyOCAwIDM1MkwwIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzIgMjg4IDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMjQtMTMuMi00NC45LTMyLjgtNTUuOWwtMS4zLTMuNC0zNi4zLTk2LjljLTExLjctMzEuMi00MS42LTUxLjktNzQuOS01MS45bC0xNTcuNSAwYy0zMy4zIDAtNjMuMiAyMC43LTc0LjkgNTEuOUwzNCAyOTIuOHpNOTYgMzM2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMjI0IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTcgN0MtMi4zIDE2LjQtMi4zIDMxLjYgNyA0MUw1NSA4OWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMFM5OC4zIDY0LjQgODkgNTVMNDEgN0MzMS42LTIuMyAxNi40LTIuMyA3IDd6TTQwNyA3TDM1OSA1NWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDQ4LTQ4YzkuNC05LjQgOS40LTI0LjYgMC0zMy45UzQxNi40LTIuMyA0MDcgN3oiXX0scFd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNsZWlnaCIsaWNvbjpbNjQwLDUxMixbXSwiZjdjYyIsIk02NCAzMkM0Ni4zIDMyIDMyIDQ2LjMgMzIgNjRTNDYuMyA5NiA2NCA5NmwwIDE2MGMwIDQxLjggMjYuNyA3Ny40IDY0IDkwLjVsMCA2OS41LTcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTA0IDBjNDQuMiAwIDgwLTM1LjggODAtODBsMC04YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtODAgMCAwLTY0YzUzIDAgOTYtNDMgOTYtOTZsMC05NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDM1LjMtMjguNyA2NC02NCA2NGwtNDguOSAwYy00OC41IDAtOTIuOC0yNy40LTExNC41LTcwLjhsLTI1LjItNTAuNUMyMzcuNyA1OS40IDE5My40IDMyIDE0NC45IDMyTDY0IDMyek00MzIgNDE2bC0yNTYgMCAwLTY0IDI1NiAwIDAgNjR6Il19LGZXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkdW1iYmVsbCIsaWNvbjpbNjQwLDUxMixbXSwiZjQ0YiIsIk05NiAxMTJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDExMiAyNTYgMCAwLTExMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMTYgMTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQ4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgNDhjMCAyNi41LTIxLjUgNDgtNDggNDhsLTE2IDAgMCAxNmMwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGwwLTExMi0yNTYgMCAwIDExMmMwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGwwLTE2LTE2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtNDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMC00OGMwLTI2LjUgMjEuNS00OCA0OC00OGwxNiAwIDAtMTZ6Il19LFZtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWJ5LWNhcnJpYWdlIixpY29uOls1MTIsNTEyLFsiY2FycmlhZ2UtYmFieSJdLCJmNzdkIiwiTTY0IDIwOGwwIDgwYzAgNTMgNDMgOTYgOTYgOTZsMTkyIDBjNTMgMCA5Ni00MyA5Ni05NmwwLTExMiA0MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC02NCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDU2LTMzNiAwem0uMi00OGwyMjMuOCAwIDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDIzMiAwQzE0MS45IDAgNjguNCA3MC45IDY0LjIgMTYwek0xNjAgNDY0YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6bTI4OCAwYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6Il19LGhXdD1WbWUsbVd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imtpd2ktYmlyZCIsaWNvbjpbNTc2LDUxMixbXSwiZjUzNSIsIk0yOTEuMiAzODguNGMzMS4yLTE4LjggNjQuNy0zNi40IDEwMS4xLTM2LjRsNTUuNyAwYzQuNiAwIDkuMS0uMiAxMy42LS43bDg1LjMgMTIxLjljNCA1LjcgMTEuMyA4LjIgMTcuOSA2LjFTNTc2IDQ3MSA1NzYgNDY0bDAtMjQwYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4bC01NS43IDBDMzU1LjkgOTYgMzIyLjQgNzguNCAyOTEuMiA1OS42IDI2Mi4zIDQyLjEgMjI4LjMgMzIgMTkyIDMyIDg2IDMyIDAgMTE4IDAgMjI0IDAgMjk1LjEgMzguNiAzNTcuMSA5NiAzOTAuM0w5NiA0NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQ2YzE1LjMgMy45IDMxLjQgNiA0OCA2IDUuNCAwIDEwLjctLjIgMTYtLjdsMCA0MC43YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC01MC45YzEyLjQtNC40IDI0LjItMTAgMzUuMi0xNi43ek00NDggMjAwYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHoiXX0sam1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbGVuZGFyLXhtYXJrIixpY29uOls0NDgsNTEyLFsiY2FsZW5kYXItdGltZXMiXSwiZjI3MyIsIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTI5MS45IDIyMC4xYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtMzMuOSAzMy45LTMzLjktMzMuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwzMy45IDMzLjktMzMuOSAzMy45Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMzMuOS0zMy45IDMzLjkgMzMuOWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTMzLjktMzMuOSAzMy45LTMzLjljOS40LTkuNCA5LjQtMjQuNiAwLTMzLjl6Il19LGdXdD1qbWUsVW1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1kb3duIixpY29uOls1MTIsNTEyLFs2MTQ2NiwiYXJyb3ctYWx0LWNpcmNsZS1kb3duIl0sImYzNTgiLCJNMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMiAyNTYgMjU2IDAgMSAwIDAtNTEyek0yNDQuNyAzODcuM2wtMTA0LTEwNGMtNC42LTQuNi01LjktMTEuNS0zLjUtMTcuNHM4LjMtOS45IDE0LjgtOS45bDU2IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTYgNTYgMGM2LjUgMCAxMi4zIDMuOSAxNC44IDkuOXMxLjEgMTIuOS0zLjUgMTcuNGwtMTA0IDEwNGMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDB6Il19LGJXdD1VbWUsdld0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtbWVkaWNhbCIsaWNvbjpbMzg0LDUxMixbXSwiZjQ3NyIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNMTYwIDI4MGwwIDQwLTQwIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0MCAwIDAgNDBjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNDAgNDAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTQwIDAgMC00MGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnoiXX0saTQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToieG1hcmsiLGljb246WzM4NCw1MTIsWzEyODQ3MywxMDAwNSwxMDAwNiwxMDA2MCwyMTUsImNsb3NlIiwibXVsdGlwbHkiLCJyZW1vdmUiLCJ0aW1lcyJdLCJmMDBkIiwiTTU1LjEgNzMuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMMTQ3LjIgMjU2IDkuOSAzOTMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxOTIuNSAzMDEuMyAzMjkuOSA0MzguNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDIzNy44IDI1NiAzNzUuMSAxMTguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwxOTIuNSAyMTAuNyA1NS4xIDczLjR6Il19LHhXdD1pNCx5V3Q9aTQsd1d0PWk0LE1XdD1pNCxXbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hhcGVzIixpY29uOls1MTIsNTEyLFsidHJpYW5nbGUtY2lyY2xlLXNxdWFyZSJdLCJmNjFmIiwiTTI1NiAwYzExLjIgMCAyMS43IDUuOSAyNy40IDE1LjVsOTYgMTYwYzUuOSA5LjkgNi4xIDIyLjIgLjQgMzIuMlMzNjMuNSAyMjQgMzUyIDIyNGwtMTkyIDBjLTExLjUgMC0yMi4yLTYuMi0yNy44LTE2LjJzLTUuNS0yMi4zIC40LTMyLjJsOTYtMTYwQzIzNC4zIDUuOSAyNDQuOCAwIDI1NiAwek0xMjggMjcyYTExMiAxMTIgMCAxIDEgMCAyMjQgMTEyIDExMiAwIDEgMSAwLTIyNHptMjAwIDE2bDExMiAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgMTEyYzAgMjIuMS0xNy45IDQwLTQwIDQwbC0xMTIgMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC0xMTJjMC0yMi4xIDE3LjktNDAgNDAtNDB6Il19LGtXdD1XbWUsU1d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpY2Utb25lIixpY29uOls0NDgsNTEyLFs5ODU2XSwiZjUyNSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMjQgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0seld0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxvY2stb3BlbiIsaWNvbjpbNTc2LDUxMixbXSwiZjNjMSIsIk0zODQgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NGwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMmMwLTcwLjctNTcuMy0xMjgtMTI4LTEyOFMzMjAgMjUuMyAzMjAgOTZsMCA2NC0xNjAgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyMjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMjRjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTMyIDAgMC02NHoiXX0sQ1d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcHBlci1ob3QiLGljb246WzU3Niw1MTIsWzEyNzc5OF0sImY4MTYiLCJNNTQ1IDY1YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMNDc4LjkgNjMuMkM0NTIuMyA0My42IDQxOS41IDMyIDM4NCAzMiAzNDguOSAzMiAzMTYuNSA0My4zIDI5MC4xIDYyLjQgMjc0LjEgNzQuMSAyODQuMiA5NiAzMDQgOTZsMjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyNGMwIDE5LjggMjEuOSAyOS45IDMzLjYgMTMuOSAxOS4xLTI2LjQgMzAuNC01OC44IDMwLjQtOTMuOSAwLTM1LjUtMTEuNi02OC4zLTMxLjItOTQuOUw1NDUgNjV6TTI3MCAxMzUuNWwtMTU5LjYgMjI4QzEwMS4zIDM3Ni40IDg2LjcgMzg0IDcxIDM4NGwtNyAwYy0yNi41IDAtNDggMjEuNS00OCA0OHMyMS41IDQ4IDQ4IDQ4bDI3LjEgMGM2NS43IDAgMTI5LjctMjAuMiAxODMuNS01Ny44TDQ0MC41IDMwNi4xQzQzNSAyOTUuOSA0MzIgMjg0LjIgNDMyIDI3MmwtNTYgMGMtMzkuOCAwLTcyLTMyLjItNzItNzJsMC01NmMtMTIuMiAwLTIzLjktMy0zNC04LjV6Il19LEdtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkcm9wbGV0LXNsYXNoIixpY29uOls1NzYsNTEyLFsidGludC1zbGFzaCJdLCJmNWM3IiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNDYzLjYgMzk3LjhjMTAuNS0yMy44IDE2LjQtNTAuMSAxNi40LTc3LjggMC05MS4yLTEzMC4yLTI3NC4xLTE2Ni42LTMyMy41LTUuOS04LTE1LjItMTIuNS0yNS4yLTEyLjVsLS40IDBjLTEwIDAtMTkuMyA0LjUtMjUuMiAxMi41LTE1LjYgMjEuMi00OC41IDY2LjktODAuOSAxMTkuNEw0MS0yNC45em05MiAyMjcuN2MtMjEuNiA0My44LTM3IDg1LjktMzcgMTE3LjIgMCAxMDYgODYgMTkyIDE5MiAxOTIgNDMuNCAwIDgzLjQtMTQuNCAxMTUuNS0zOC42TDEzMyAyMDIuOHoiXX0sX1d0PUdtZSxZbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZHJvcGxldCIsaWNvbjpbMzg0LDUxMixbMTI4MTY3LCJ0aW50Il0sImYwNDMiLCJNMTkyIDUxMkM4NiA1MTIgMCA0MjYgMCAzMjAgMCAyMjguOCAxMzAuMiA0NS45IDE2Ni42LTMuNSAxNzIuNS0xMS41IDE4MS44LTE2IDE5MS44LTE2bC40IDBjMTAgMCAxOS4zIDQuNSAyNS4yIDEyLjUgMzYuNCA0OS40IDE2Ni42IDIzMi4zIDE2Ni42IDMyMy41IDAgMTA2LTg2IDE5Mi0xOTIgMTkyek0xMTIgMzEyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgNzUuMSA2MC45IDEzNiAxMzYgMTM2IDEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0Yy00OC42IDAtODgtMzkuNC04OC04OHoiXX0sVFd0PVltZSxhdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1saW5lcyIsaWNvbjpbMzg0LDUxMixbMTI4NDQxLDEyODQ2Miw2MTY4NiwiZmlsZS1hbHQiLCJmaWxlLXRleHQiXSwiZjE1YyIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNMTIwIDI1NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6bTAgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAweiJdfSxMV3Q9YXRlLCRXdD1hdGUsRFd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbW1lbnRzLWRvbGxhciIsaWNvbjpbNTc2LDUxMixbXSwiZjY1MyIsIk0xOTIgMzIwYzEwNiAwIDE5Mi03OC44IDE5Mi0xNzZTMjk4LTMyIDE5Mi0zMiAwIDQ2LjggMCAxNDRjMCAzOS42IDE0LjMgNzYuMiAzOC40IDEwNS42TDIuOCAzMTYuOEMtMi4xIDMyNi4xLS40IDMzNy41IDcgMzQ1czE4LjkgOS4yIDI4LjIgNC4yTDExNi44IDMwNmMyMy4xIDkgNDguNSAxNCA3NS4yIDE0em0zLjIgNDhjMTYuNCA4MS45IDk0LjcgMTQ0IDE4OC44IDE0NCAyNi43IDAgNTIuMS01IDc1LjItMTRsODEuNiA0My4yYzkuMyA0LjkgMjAuNyAzLjIgMjguMi00LjJzOS4yLTE4LjkgNC4yLTI4LjJsLTM1LjYtNjcuMmMyNC4xLTI5LjQgMzguNC02NiAzOC40LTEwNS42IDAtODIuNC02MS43LTE1MS41LTE0NS0xNzAuNy0xMS41IDExNS44LTExNS44IDIwMS4yLTIzNS44IDIwMi43ek0xOTYgMzJjMTEgMCAyMCA5IDIwIDIwbDAgNCA4IDBjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIwbC00Ny41IDBjLTYuOSAwLTEyLjUgNS42LTEyLjUgMTIuNSAwIDYuMSA0LjQgMTEuMyAxMC40IDEyLjNsNDEuNyA3YzI1LjMgNC4yIDQzLjkgMjYuMSA0My45IDUxLjggMCAyNi4xLTE5IDQ3LjctNDQgNTEuOGwwIDQuN2MwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC00LTI0IDBjLTExIDAtMjAtOS0yMC0yMHM5LTIwIDIwLTIwbDU1LjUgMGM2LjkgMCAxMi41LTUuNiAxMi41LTEyLjUgMC02LjEtNC40LTExLjMtMTAuNC0xMi4zbC00MS43LTdjLTI1LjMtNC4yLTQzLjktMjYuMS00My45LTUxLjggMC0yOC44IDIzLjItNTIuMiA1Mi01Mi41bDAtNGMwLTExIDktMjAgMjAtMjB6Il19LEttZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYWduaWZ5aW5nLWdsYXNzLWxvY2F0aW9uIixpY29uOls1MTIsNTEyLFsic2VhcmNoLWxvY2F0aW9uIl0sImY2ODkiLCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NkMyOTYuMyA0MDEuMSAyNTMuOSA0MTYgMjA4IDQxNiA5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMCA0MTYgOTMuMSA0MTYgMjA4ek0yODggMTc2YzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwYzAgNDguOCA0Ni41IDExMS42IDY4LjYgMTM4LjYgNiA3LjMgMTYuOCA3LjMgMjIuNyAwIDIyLjEtMjcgNjguNi04OS44IDY4LjYtMTM4LjZ6bS0xMTIgMGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAweiJdfSxBV3Q9S21lLHF0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWludm9pY2UiLGljb246WzM4NCw1MTIsW10sImY1NzAiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNzcuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNTguNyAxOC43QzI0Ni43IDYuNyAyMzAuNSAwIDIxMy41IDBMNjQgMHpNMzI1LjUgMTc2TDIzMiAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDIwOCA1OC41IDMyNS41IDE3NnpNNjQgMzg0bDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkw5NiA0MTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek04OCA2NGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNFM3NC43IDY0IDg4IDY0em0wIDk2bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LEVXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW50YWdvbiIsaWNvbjpbNTc2LDUxMixbXSwiZTc5MCIsIk0zMTYuNC0zLjFjLTE2LjgtMTIuMi0zOS42LTEyLjItNTYuNCAwTDM1LjMgMTYwLjJjLTE2LjggMTIuMi0yMy45IDMzLjktMTcuNCA1My43bDg1LjggMjY0LjFjNi40IDE5LjggMjQuOSAzMy4yIDQ1LjcgMzMuMmwyNzcuNyAwYzIwLjggMCAzOS4yLTEzLjQgNDUuNy0zMy4ybDg1LjgtMjY0LjFjNi40LTE5LjgtLjYtNDEuNC0xNy40LTUzLjdMMzE2LjQtMy4xeiJdfSxQV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmVwdWJsaWNhbiIsaWNvbjpbNjQwLDUxMixbXSwiZjc1ZSIsIk0wIDE5MkMwIDEwMy42IDcxLjYgMzIgMTYwIDMybDIyNCAwYzg4LjQgMCAxNjAgNzEuNiAxNjAgMTYwbDAgNjQtNTQ0IDAgMC02NHptMTUyLTMyYTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6bTIzMiAyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6TTI4MCAxNjBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNMTI4IDI4OGw0MTYgMCAwIDExMmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNDhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDQ4YzAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwbDAtNDgtMzIgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0LTE5MiAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTYwIDEyOCAweiJdfSxabWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hvcCIsaWNvbjpbNTc2LDUxMixbInN0b3JlLWFsdCJdLCJmNTRmIiwiTTIxLjUgMTgxLjFMNzguMyA2Ny40Qzg5LjIgNDUuNyAxMTEuMyAzMiAxMzUuNiAzMmwzMDQuOSAwYzI0LjIgMCA0Ni40IDEzLjcgNTcuMiAzNS40bDU2LjggMTEzLjdjMy42IDcuMiA1LjUgMTUuMSA1LjUgMjMuMiAwIDI3LjMtMjEuMiA0OS43LTQ4IDUxLjZMNTEyIDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE5Mi05NiAwIDAgMTc2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xOTIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNzYuMWMtMjYuOC0xLjktNDgtMjQuMy00OC01MS42IDAtOCAxLjktMTYgNS41LTIzLjJ6TTEyOCAyNTZsMCAxMTJjMCA4LjggNy4yIDE2IDE2IDE2bDEyOCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTExMi0xNjAgMHoiXX0sSVd0PVptZSxydGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsbSIsaWNvbjpbNDQ4LDUxMixbMTI3OTAyLDYyMzY4LCJmaWxtLWFsdCIsImZpbG0tc2ltcGxlIl0sImYwMDgiLCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTQ4IDM2OGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0zMDQtMTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNNDggMjQwbDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTMwNC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek00OCAxMTJsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZMNjQgOTZjLTguOCAwLTE2IDcuMi0xNiAxNnpNMzUyIDk2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6Il19LE5XdD1ydGUsUld0PXJ0ZSxPV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmctY2lyY2xlLXhtYXJrIixpY29uOls1NzYsNTEyLFtdLCJlNGQ0IiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTgwIDBjLTEwLjUtMTQuNi0xOS0zMC43LTI1LjEtNDhsLTc0LjkgMCAwLTgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMiAwIDQgLjIgNS45IC41IDYtMjMuNiAxNi4zLTQ1LjQgMzAuMS02NC41bC00IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDRjMjcuNS0xOS44IDYwLjMtMzIuNCA5Ni0zNS40TDQxNiA2NGMwLTM1LjMtMjguNy02NC02NC02NEw5NiAwem0zMiAxMTJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMjcyIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTEyOCAyNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNNDMyIDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTIyLjYtMTQ0bDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwbC0zNi43LTM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDM2LjctMzYuNy0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwzNi43IDM2LjcgMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNkw0NTQuNiA0MDB6Il19LEZXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21tZW50cyIsaWNvbjpbNTc2LDUxMixbMTI4NDkwLDYxNjcwXSwiZjA4NiIsIk0zODQgMTQ0YzAgOTcuMi04NiAxNzYtMTkyIDE3Ni0yNi43IDAtNTIuMS01LTc1LjItMTRMMzUuMiAzNDkuMmMtOS4zIDQuOS0yMC43IDMuMi0yOC4yLTQuMnMtOS4yLTE4LjktNC4yLTI4LjJsMzUuNi02Ny4yQzE0LjMgMjIwLjIgMCAxODMuNiAwIDE0NCAwIDQ2LjggODYtMzIgMTkyLTMyUzM4NCA0Ni44IDM4NCAxNDR6bTAgMzY4Yy05NC4xIDAtMTcyLjQtNjIuMS0xODguOC0xNDQgMTIwLTEuNSAyMjQuMy04Ni45IDIzNS44LTIwMi43IDgzLjMgMTkuMiAxNDUgODguMyAxNDUgMTcwLjcgMCAzOS42LTE0LjMgNzYuMi0zOC40IDEwNS42bDM1LjYgNjcuMmM0LjkgOS4zIDMuMiAyMC43LTQuMiAyOC4ycy0xOC45IDkuMi0yOC4yIDQuMkw0NTkuMiA0OThjLTIzLjEgOS00OC41IDE0LTc1LjIgMTR6Il19LEJXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWdzIixpY29uOls1NzYsNTEyLFtdLCJmMDJjIiwiTTQwMS4yIDM5LjFMNTQ5LjQgMTg5LjRjMjcuNyAyOC4xIDI3LjcgNzMuMSAwIDEwMS4yTDM5MyA0NDguOWMtOS4zIDkuNC0yNC41IDkuNS0zMy45IC4ycy05LjUtMjQuNS0uMi0zMy45TDUxNS4zIDI1Ni44YzkuMi05LjMgOS4yLTI0LjQgMC0zMy43TDM2NyA3Mi45Yy05LjMtOS40LTkuMi0yNC42IC4yLTMzLjlzMjQuNi05LjIgMzMuOSAuMnpNMzIuMSAyMjkuNUwzMi4xIDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDEzMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdsMTQ0IDE0NGMyNSAyNSAyNSA2NS41IDAgOTAuNUwyODUuNCA0MTguN2MtMjUgMjUtNjUuNSAyNS05MC41IDBsLTE0NC0xNDRjLTEyLTEyLTE4LjctMjguMy0xOC43LTQ1LjN6bTE0NC04NS41YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6Il19LEhXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJndW4iLGljb246WzU3Niw1MTIsW10sImUxOWIiLCJNNTI4IDU2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgOC00NDggMEMxNC4zIDY0IDAgNzguMyAwIDk2TDAgMjA4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEwIDBjMjAuOCAwIDM2LjEgMTkuNiAzMSAzOS44TDMzIDQ0MC4yYy0yLjQgOS42LS4yIDE5LjcgNS44IDI3LjVTNTQuMSA0ODAgNjQgNDgwbDk2IDBjMTQuNyAwIDI3LjUtMTAgMzEtMjQuMkwyMTcgMzUyIDMyMS40IDM1MmMyMy43IDAgNDQuOC0xNC45IDUyLjctMzcuMmwyNi43LTc0LjggMzEuMSAwYzguNSAwIDE2LjYtMy40IDIyLjYtOS40bDIyLjYtMjIuNiA2Ni43IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC04MGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTYgMCAwLTh6TTMyMS40IDMwNGwtOTIuNSAwIDE2LTY0IDEwNSAwLTIxIDU4LjdjLTEuMSAzLjItNC4yIDUuMy03LjUgNS4zek04MCAxMjhsMzg0IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZMODAgMTYwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2eiJdfSxmdj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtY2hlY2siLGljb246WzUxMiw1MTIsWzYxNTMzLCJjaGVjay1jaXJjbGUiXSwiZjA1OCIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDEgMC01MTIgMjU2IDI1NiAwIDEgMSAwIDUxMnpNMzc0IDE0NS43Yy0xMC43LTcuOC0yNS43LTUuNC0zMy41IDUuM0wyMjEuMSAzMTUuMiAxNjkgMjYzLjFjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNzIgNzJjNSA1IDExLjggNy41IDE4LjggN3MxMy40LTQuMSAxNy41LTkuOEwzNzkuMyAxNzkuMmM3LjgtMTAuNyA1LjQtMjUuNy01LjMtMzMuNXoiXX0scVd0PWZ2LFZXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY29ycGlvIixpY29uOls2NDAsNTEyLFtdLCJlODRlIiwiTTM2OCAzMmM2MS45IDAgMTEyIDUwLjEgMTEyIDExMmwwIDI4OS43YzAgNy45IDYuNCAxNC4zIDE0LjMgMTQuMyAzLjkgMCA3LjYtMS42IDEwLjItNC4zbDQwLjEtNDEuMS05LjctOS43Yy02LjktNi45LTguOS0xNy4yLTUuMi0yNi4yUzU0Mi4zIDM1MiA1NTIgMzUybDY0IDAgMi41IC4xYzEyLjEgMS4yIDIxLjUgMTEuNSAyMS41IDIzLjlsMCA2NC0uMyAzLjZjLTEuMiA4LjItNi43IDE1LjMtMTQuNSAxOC42LTkgMy43LTE5LjMgMS42LTI2LjItNS4ybC05LjEtOS4xLTM5LjYgNDAuNmMtMTQuNyAxNS4xLTM0LjkgMjMuNi01NiAyMy42LTQzLjMgMC03OC4zLTM1LjEtNzguMy03OC4zTDQxNiAxNDRjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCAzMDRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMDRjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCAzMDRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMjBjMC0xNi42LTEyLjYtMzAuMi0yOC43LTMxLjhsLTYuNi0uM0M0NC42IDk0LjIgMzIgODAuNiAzMiA2NCAzMiA0Ni4zIDQ2LjMgMzIgNjQgMzIgOTEgMzIgMTE1LjMgNDMuMSAxMzIuNyA2MSAxNTIuNiA0MyAxNzkgMzIgMjA4IDMyIDIzOS4zIDMyIDI2Ny43IDQ0LjkgMjg4IDY1LjcgMzA4LjMgNDQuOSAzMzYuNiAzMiAzNjggMzJ6Il19LFhtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpZC1jYXJkLWNsaXAiLGljb246WzU3Niw1MTIsWyJpZC1jYXJkLWFsdCJdLCJmNDdmIiwiTTI1Ni0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjQtMTI4IDAgMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNjQgMzJsMTEyIDAgMCAzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMjggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTMyIDExMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMnpNMTc2IDQwMGMwIDguOCA3LjIgMTYgMTYgMTZsMTkyIDBjOC44IDAgMTYtNy4yIDE2LTE2IDAtNDQuMi0zNS44LTgwLTgwLTgwbC02NCAwYy00NC4yIDAtODAgMzUuOC04MCA4MHpNMjg4IDI4MGE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnoiXX0sald0PVhtZSxVV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9vbiIsaWNvbjpbNTEyLDUxMixbMTI3NzY5LDkyMTRdLCJmMTg2IiwiTTI1NiAwQzExNC42IDAgMCAxMTQuNiAwIDI1NlMxMTQuNiA1MTIgMjU2IDUxMmM2OC44IDAgMTMxLjMtMjcuMiAxNzcuMy03MS40IDcuMy03IDkuNC0xNy45IDUuMy0yNy4xcy0xMy43LTE0LjktMjMuOC0xNC4xYy00LjkgLjQtOS44IC42LTE0LjggLjYtMTAxLjYgMC0xODQtODIuNC0xODQtMTg0IDAtNzIuMSA0MS41LTEzNC42IDEwMi4xLTE2NC44IDkuMS00LjUgMTQuMy0xNC4zIDEzLjEtMjQuNFMzMjIuNiA4LjUgMzEyLjcgNi4zQzI5NC40IDIuMiAyNzUuNCAwIDI1NiAweiJdfSxXV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToib2lsLXdlbGwiLGljb246WzU3Niw1MTIsW10sImU1MzIiLCJNNTI4LjMgNjEuM2MtMTEuNC00Mi43LTU1LjMtNjgtOTgtNTYuNkw0MTQuOSA4LjhDMzk3LjggMTMuNCAzODcuNyAzMSAzOTIuMyA0OGwyNC41IDkxLjQtMTA4LjIgMjguMS02LjMtMTguMUMyOTcuNyAxMzYuNiAyODUuNiAxMjggMjcyIDEyOHMtMjUuNyA4LjYtMzAuMiAyMS40bC0xMy42IDM5LTEzMi4yIDM0LjMgMC0zOC42YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjY0LTE2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEzNy4zIDAtNjEuNC0xNzUuNC02Mi4yIDE2LjEgMjIuMSA2My4yLTY2LjYgMCAxOS45LTU2LjktNzQuNiAxOS4zLTQ2LjcgMTMzLjUtNDEuMyAwIDAtMTU5LjIgMzM3LjQtODcuNSAyNS4yIDk0YzQuNiAxNy4xIDIyLjEgMjcuMiAzOS4yIDIyLjZsMTUuNS00LjFjNDIuNy0xMS40IDY4LTU1LjMgNTYuNi05OEw1MjguMyA2MS4zek0yMDUuMSA0NDhsMTYuOC00OCAxMDAuMiAwIDE2LjggNDgtMTMzLjggMHoiXX0sUW1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhY2hvZ3JhcGgtZGlnaXRhbCIsaWNvbjpbNTc2LDUxMixbImRpZ2l0YWwtdGFjaG9ncmFwaCJdLCJmNTY2IiwiTTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6bTY0IDMybDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMkw5NiAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek04OCAzNTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTM2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMODggMzUyem0yNTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6TTQ5NiAxOTJhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAwek04OCAzMTJhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0xMDQtMjRhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptNTYgMjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSxHV3Q9UW1lLEptZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZXQiLGljb246WzQ0OCw1MTIsWyJ0YWJsZXQtYW5kcm9pZCJdLCJmM2ZiIiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDB6TTE4NCA0MDBsODAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtODAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sWVd0PUptZSxKYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJydWJsZS1zaWduIixpY29uOls0NDgsNTEyLFs4MzgxLCJyb3VibGUiLCJydWIiLCJydWJsZSJdLCJmMTU4IiwiTTExMiAzMkM5NC4zIDMyIDgwIDQ2LjMgODAgNjRsMCAyMDgtNDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MCAwIDAgNDgtNDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MCAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDE1MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNTIgMCAwLTQ4IDExMiAwYzc5LjUgMCAxNDQtNjQuNSAxNDQtMTQ0UzMzNS41IDMyIDI1NiAzMkwxMTIgMzJ6TTI1NiAyNTZsLTExMiAwIDAtMTYwIDExMiAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwcy0zNS44IDgwLTgwIDgweiJdfSxLV3Q9SmIsWld0PUpiLFhXdD1KYixRV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvc2VkLWNhcHRpb25pbmciLGljb246WzUxMiw1MTIsW10sImYyMGEiLCJNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptMTUyIDgwbDMyIDBjNC40IDAgOCAzLjYgOCA4IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zMC45LTI1LjEtNTYtNTYtNTZsLTMyIDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2bDAgODBjMCAzMC45IDI1LjEgNTYgNTYgNTZsMzIgMGMzMC45IDAgNTYtMjUuMSA1Ni01NiAwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGMwIDQuNC0zLjYgOC04IDhsLTMyIDBjLTQuNCAwLTgtMy42LTgtOGwwLTgwYzAtNC40IDMuNi04IDgtOHptMTY4IDhjMC00LjQgMy42LTggOC04bDMyIDBjNC40IDAgOCAzLjYgOCA4IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zMC45LTI1LjEtNTYtNTYtNTZsLTMyIDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2bDAgODBjMCAzMC45IDI1LjEgNTYgNTYgNTZsMzIgMGMzMC45IDAgNTYtMjUuMSA1Ni01NiAwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGMwIDQuNC0zLjYgOC04IDhsLTMyIDBjLTQuNCAwLTgtMy42LTgtOGwwLTgweiJdfSxKV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVuIixpY29uOls1MTIsNTEyLFsxMjgzOTRdLCJmMzA0IiwiTTM1Mi45IDIxLjJMMzA4IDY2LjEgNDQ1LjkgMjA0IDQ5MC44IDE1OS4xQzUwNC40IDE0NS42IDUxMiAxMjcuMiA1MTIgMTA4cy03LjYtMzcuNi0yMS4yLTUxLjFMNDU1LjEgMjEuMkM0NDEuNiA3LjYgNDIzLjIgMCA0MDQgMHMtMzcuNiA3LjYtNTEuMSAyMS4yek0yNzQuMSAxMDBMNTguOSAzMTUuMWMtMTAuNyAxMC43LTE4LjUgMjQuMS0yMi42IDM4LjdMLjkgNDgxLjZjLTIuMyA4LjMgMCAxNy4zIDYuMiAyMy40czE1LjEgOC41IDIzLjQgNi4ybDEyNy44LTM1LjVjMTQuNi00LjEgMjcuOS0xMS44IDM4LjctMjIuNkw0MTIgMjM3LjkgMjc0LjEgMTAweiJdfSxlR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhbmUiLGljb246WzU3Niw1MTIsW10sImYwNzIiLCJNNTIwIDIwMGMzMC45IDAgNTYgMjUuMSA1NiA1NnMtMjUuMSA1Ni01NiA1NmwtMTI3LjMgMC0xNTkuMiAxNzMuNmMtNi4xIDYuNi0xNC42IDEwLjQtMjMuNiAxMC40bC00My43IDBjLTEwLjkgMC0xOC42LTEwLjctMTUuMi0yMS4xbDU0LjMtMTYyLjktOTkuNyAwLTUyLjggNjZjLTMgMy44LTcuNiA2LTEyLjUgNmwtMTkuOCAwYy0xMC40IDAtMTgtOS44LTE1LjUtMTkuOUwzMiAyNTYgNSAxNDcuOUMyLjQgMTM3LjggMTAuMSAxMjggMjAuNSAxMjhsMTkuOCAwYzQuOSAwIDkuNSAyLjIgMTIuNSA2bDUyLjggNjYgOTkuNyAwLTU0LjMtMTYyLjlDMTQ3LjYgMjYuNyAxNTUuMyAxNiAxNjYuMiAxNmw0My43IDBjOSAwIDE3LjUgMy44IDIzLjYgMTAuNEwzOTIuNyAyMDAgNTIwIDIwMHoiXX0sdEd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImltYWdlcyIsaWNvbjpbNTc2LDUxMixbXSwiZjMwMiIsIk05NiA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NGwtMzIwIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDk2IDk2ek0yNCAxMjhjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyOTZjMCA4LjggNy4yIDE2IDE2IDE2bDM2MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxNTJjMC0xMy4zIDEwLjctMjQgMjQtMjR6bTE2OCAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTE5Ni41IDExLjVjLTQuNC03LjEtMTIuMS0xMS41LTIwLjUtMTEuNXMtMTYuMSA0LjQtMjAuNSAxMS41bC01Ni4zIDkyLjEtMjQuNS0zMC42Yy00LjYtNS43LTExLjQtOS0xOC43LTlzLTE0LjIgMy4zLTE4LjcgOWwtNjQgODBjLTUuOCA3LjItNi45IDE3LjEtMi45IDI1LjRTMTc0LjggMzUyIDE4NCAzNTJsMjcyIDBjOC43IDAgMTYuNy00LjcgMjAuOS0xMi4zczQuMS0xNi44LS41LTI0LjNsLTg4LTE0NHoiXX0sZTdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vYmlsZS1zY3JlZW4iLGljb246WzM4NCw1MTIsWyJtb2JpbGUtYW5kcm9pZC1hbHQiXSwiZjNjZiIsIk0xNiA2NEMxNiAyOC43IDQ0LjcgMCA4MCAwTDMwNCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDgwIDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMTYgNjR6TTEyOCA0NDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTMwNCA2NGwtMjI0IDAgMCAzMDQgMjI0IDAgMC0zMDR6Il19LGFHdD1lN2Usckd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imd1YXJhbmktc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTE5YSIsIk0xOTIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0MS41QzczLjMgNzcuMyAwIDE1OC4xIDAgMjU2UzczLjMgNDM0LjcgMTY4IDQ0Ni41bDAgNDEuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDEuNWM5NC43LTExLjggMTY4LTkyLjYgMTY4LTE5MC41IDAtMTcuNy0xNC4zLTMyLTMyLTMybC0xMzYgMCAwLTkzLjhjMjUuMyA0LjggNDcuOSAxNyA2NS42IDM0LjMgMTIuNiAxMi40IDMyLjkgMTIuMiA0NS4zLS40czEyLjItMzIuOS0uNS00NS4zQzI5Ny4yIDkwLjIgMjU4LjggNzAuOCAyMTYgNjUuNUwyMTYgMjRjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTE2OCAxMzAuMmwwIDI1MS41QzEwOC44IDM3MC41IDY0IDMxOC41IDY0IDI1NnM0NC44LTExNC41IDEwNC0xMjUuOHptNDggMjUxLjVsMC05My44IDEwMCAwYy0xMi4zIDQ3LjYtNTEuMiA4NC41LTEwMCA5My44eiJdfSx0N2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFnLXNob3BwaW5nIixpY29uOls0NDgsNTEyLFsic2hvcHBpbmctYmFnIl0sImYyOTAiLCJNMTYwIDgwYzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjRsMCA0OC0xMjggMCAwLTQ4em0tNDggNDhsLTY0IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4TDAgMzg0YzAgNTMgNDMgOTYgOTYgOTZsMjU2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTIwOGMwLTI2LjUtMjEuNS00OC00OC00OGwtNjQgMCAwLTQ4YzAtNjEuOS01MC4xLTExMi0xMTItMTEyUzExMiAxOC4xIDExMiA4MGwwIDQ4em0yNCA0OGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTE1MiAyNGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxzR3Q9dDdlLGE3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtcmlnaHQiLGljb246WzUxMiw1MTIsWzYxODM4LCJhcnJvdy1hbHQtY2lyY2xlLXJpZ2h0Il0sImYzNWEiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMCA1MTIgMCAyNTYgMjU2IDAgMSAwIC01MTIgMHptMzg3LjMgMTEuM2wtMTA0IDEwNGMtNC42IDQuNi0xMS41IDUuOS0xNy40IDMuNVMyNTYgMzY2LjUgMjU2IDM2MGwwLTU2LTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMCAwLTU2YzAtNi41IDMuOS0xMi4zIDkuOS0xNC44czEyLjktMS4xIDE3LjQgMy41bDEwNCAxMDRjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZ6Il19LGlHdD1hN2UscjdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBob25lLXZvbHVtZSIsaWNvbjpbNTc2LDUxMixbInZvbHVtZS1jb250cm9sLXBob25lIl0sImYyYTAiLCJNMzQ0LTMyYzEyOC4xIDAgMjMyIDEwMy45IDIzMiAyMzIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xMDEuNi04Mi40LTE4NC0xODQtMTg0LTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTggMTkyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMzIwIDg4YzAtMTMuMyAxMC43LTI0IDI0LTI0IDc1LjEgMCAxMzYgNjAuOSAxMzYgMTM2IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNDguNi0zOS40LTg4LTg4LTg4LTEzLjMgMC0yNC0xMC43LTI0LTI0ek0xNDQuMSAxLjRjMTkuNy01LjQgNDAuMyA0LjcgNDguMSAyMy41bDQwLjUgOTcuM2M2LjkgMTYuNSAyLjEgMzUuNi0xMS44IDQ3bC00NC4xIDM2LjFjMzIuNSA3MS42IDg5IDEzMCAxNTkuMyAxNjQuOUwzNzQuNyAzMjNjMTEuMy0xMy45IDMwLjQtMTguNiA0Ny0xMS44TDUxOSAzNTEuOGMxOC44IDcuOCAyOC45IDI4LjQgMjMuNSA0OC4xbC0xLjUgNS41QzUyMy40IDQ3MC4xIDQ2MC45IDUyNS4zIDM4NC42IDUwOS4yIDIwOS42IDQ3Mi4xIDcxLjkgMzM0LjQgMzQuOCAxNTkuNCAxOC43IDgzLjEgNzMuOSAyMC42IDEzOC41IDIuOWw1LjUtMS41eiJdfSxvR3Q9cjdlLG5HdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjdWJlcyIsaWNvbjpbNTEyLDUxMixbXSwiZjFiMyIsIk0yODQtMS4zYy0xNy4zLTEwLTM4LjctMTAtNTYgMEwxNDMuOCA0Ny4zYy0xNy4zIDEwLTI4IDI4LjUtMjggNDguNWwwIDEwMS45LTg4LjMgNTFjLTE3LjMgMTAtMjggMjguNS0yOCA0OC41bDAgOTcuM2MwIDIwIDEwLjcgMzguNSAyOCA0OC41bDg0LjMgNDguNmMxNy4zIDEwIDM4LjcgMTAgNTYgMGw4OC4zLTUxIDg4LjMgNTFjMTcuMyAxMCAzOC43IDEwIDU2IDBMNDg0LjUgNDQzYzE3LjMtMTAgMjgtMjguNSAyOC00OC41bDAtOTcuM2MwLTIwLTEwLjctMzguNS0yOC00OC41bC04OC4zLTUxIDAtMTAxLjljMC0yMC0xMC43LTM4LjUtMjgtNDguNUwyODQtMS4zek0yMzIgMjkyLjZsMCAxMDYuNS04OC4zIDUxYy0xLjIgLjctMi42IDEuMS00IDEuMWwwLTEwNS4zIDkyLjMtNTMuM3ptMjMxLjQgLjZjLjcgMS4yIDEuMSAyLjYgMS4xIDRsMCA5Ny4zYzAgMi45LTEuNSA1LjUtNCA2LjlsLTg0LjMgNDguNmMtMS4yIC43LTIuNiAxLjEtNCAxLjFsMC0xMDUuMyA5MS4yLTUyLjZ6TTM0OC4zIDk1LjhsMCAxMDEuOS05Mi4zIDUzLjMgMC0xMDYuNSA5MS4yLTUyLjZjLjcgMS4yIDEuMSAyLjYgMS4xIDR6Il19LGxHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaG9uZSIsaWNvbjpbNTEyLDUxMixbMTI4MjIyLDEyODM3OV0sImYwOTUiLCJNMTYwLjIgMjVDMTUyLjMgNi4xIDEzMS43LTMuOSAxMTIuMSAxLjRsLTUuNSAxLjVjLTY0LjYgMTcuNi0xMTkuOCA4MC4yLTEwMy43IDE1Ni40IDM3LjEgMTc1IDE3NC44IDMxMi43IDM0OS44IDM0OS44IDc2LjMgMTYuMiAxMzguOC0zOS4xIDE1Ni40LTEwMy43bDEuNS01LjVjNS40LTE5LjctNC43LTQwLjMtMjMuNS00OC4xbC05Ny4zLTQwLjVjLTE2LjUtNi45LTM1LjYtMi4xLTQ3IDExLjhsLTM4LjYgNDcuMkMyMzMuOSAzMzUuNCAxNzcuMyAyNzcgMTQ0LjggMjA1LjNMMTg5IDE2OS4zYzEzLjktMTEuMyAxOC42LTMwLjQgMTEuOC00N0wxNjAuMiAyNXoiXX0sY0d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvcmlpLWdhdGUiLGljb246WzQ0OCw1MTIsWzk5NjFdLCJmNmExIiwiTTAgOTZMMCAyOC41QzAgMjEuNiA1LjYgMTYgMTIuNSAxNiAxNC44IDE2IDE3IDE2LjYgMTkgMTcuOEw1OCA0MS4yQzgyLjkgNTYuMSAxMTEuMyA2NCAxNDAuMyA2NGwxNjcuNCAwYzI5IDAgNTcuNS03LjkgODIuMy0yMi44bDM5LTIzLjRjMS45LTEuMiA0LjItMS44IDYuNC0xLjggNi45IDAgMTIuNSA1LjYgMTIuNSAxMi41TDQ0OCA5NmMwIDM1LjMtMjguNyA2NC02NCA2NGwwIDY0IDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE2IDAgMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xOTItMTkyIDAgMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xOTItMTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNiAwIDAtNjRDMjguNyAxNjAgMCAxMzEuMyAwIDk2ek0xMjggMjI0bDY0IDAgMC02NC02NCAwIDAgNjR6bTEyOCAwbDY0IDAgMC02NC02NCAwIDAgNjR6Il19LGRHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWNvbiIsaWNvbjpbNTc2LDUxMixbMTI5MzYzXSwiZjdlNSIsIk01NTcgOTYuN2MxNC40IDE0LjQgMTIuNCAzOC40LTQuMyA1MC4ybC02NC42IDQ1LjdjLTQzLjcgMzAuOS03OS4yIDcxLjktMTAzLjQgMTE5LjZsLTI1LjMgNDkuOGMtMjUuMSA0OS4zLTYyLjEgOTEuNS0xMDcuOCAxMjIuNmwtNzQuMSA1MC42Yy0xMy4xIDguOS0zMC43IDcuMy00MS44LTMuOWwtNDQuOS00NC45IDg2LjUtNjYuNWM0Mi4zLTMyLjUgNzYuNy03NC4zIDEwMC42LTEyMmwyNC41LTQ5LjFjMjQuNS00OSA2MS44LTkwLjYgMTA3LjktMTIwLjJsMTA4LjctNjkuOSAzOCAzOHpNNDg0LjIgMjMuOUwzODQuMyA4OC4yYy01My40IDM0LjMtOTYuNSA4Mi40LTEyNC45IDEzOS4xbC0yNC41IDQ5LjFjLTIwLjYgNDEuMy01MC4zIDc3LjMtODYuOSAxMDUuNGwtOTEuNCA3MC4zLTM2LjktMzYuOWMtMTQuNC0xNC40LTEyLjQtMzguNCA0LjMtNTAuMmw2NC42LTQ1LjdjNDMuNy0zMC45IDc5LjItNzEuOSAxMDMuNC0xMTkuNmwyNS4zLTQ5LjhDMjQyLjMgMTAwLjggMjc5LjMgNTguNiAzMjUgMjcuNGw3NC4xLTUwLjZjMTMuMS04LjkgMzAuNi03LjMgNDEuOCAzLjlsNDMuMyA0My4zeiJdfSx1R3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWZhbGxpbmctYnVyc3QiLGljb246WzU3Niw1MTIsW10sImU1NDciLCJNMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA1LjRjMCA1NS4yLTIzLjcgMTA3LTYzLjkgMTQzLjFsNjIuOSA3NS41IDg5IDBjMTUuMSAwIDI5LjMgNy4xIDM4LjQgMTkuMmw0My4yIDU3LjZjMTAuNiAxNC4xIDcuNyAzNC4yLTYuNCA0NC44cy0zNC4yIDcuNy00NC44LTYuNEwzNjggMzIwIDI2My4yIDMyMCAzNzYuOCA0NTkuOGMxMS4xIDEzLjcgOS4xIDMzLjktNC43IDQ1cy0zMy45IDkuMS00NS00LjdMMTM3LjQgMjY2LjZjLTYuMSAxNS05LjQgMzEuMy05LjQgNDhsMCA2OS40YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjkuNGMwLTY3LjQgMzUuNC0xMjkuOSA5My4yLTE2NC42bDQuNi0yLjhDMjAwLjQgMTI0IDIyNCA4Mi40IDIyNCAzNy40bDAtNS40YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0xNiA4OEE1NiA1NiAwIDEgMSAxMjggODggNTYgNTYgMCAxIDEgMTYgODh6bTM3Ni03LjljMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDh6bTEwNCAxNTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMHptLTU0LjUtOTcuNWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsMzMuOS0zMy45YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtMzMuOSAzMy45Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHoiXX0sczdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InF1b3RlLXJpZ2h0IixpY29uOls0NDgsNTEyLFs4MjIxLCJxdW90ZS1yaWdodC1hbHQiXSwiZjEwZSIsIk00NDggMjk2YzAgNjYuMy01My43IDEyMC0xMjAgMTIwbC04IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOCAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2bDAtOC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMzZ6bS0yNTYgMGMwIDY2LjMtNTMuNyAxMjAtMTIwIDEyMGwtOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDggMGMzMC45IDAgNTYtMjUuMSA1Ni01NmwwLTgtNjQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NGMwLTM1LjMgMjguNy02NCA2NC02NGw2NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTM2eiJdfSxwR3Q9czdlLGZHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1tZWRpY2FsLWZsYWciLGljb246WzY0MCw1MTIsW10sImU1MTQiLCJNNDgwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwIDAgMjg4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNDQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0yNjcuNSA1OS4xTDQwMCAxODYuOSA0MDAgNTAzLjRjLTkuNCA1LjQtMjAuMyA4LjYtMzIgOC42bC0yNTYgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNDQtMTkuOSAwQzEyLjYgMzA0IDAgMjkxLjQgMCAyNzUuOSAwIDI2OC4zIDMuMSAyNjEgOC42IDI1NS43TDIxMi41IDU5LjFDMjE5LjkgNTIgMjI5LjcgNDggMjQwIDQ4czIwLjEgNCAyNy41IDExLjF6TTIwNC44IDI1Ni44bDAgNDQtNDQgMGMtOS43IDAtMTcuNiA3LjktMTcuNiAxNy42bDAgMzUuMmMwIDkuNyA3LjkgMTcuNiAxNy42IDE3LjZsNDQgMCAwIDQ0YzAgOS43IDcuOSAxNy42IDE3LjYgMTcuNmwzNS4yIDBjOS43IDAgMTcuNi03LjkgMTcuNi0xNy42bDAtNDQgNDQgMGM5LjcgMCAxNy42LTcuOSAxNy42LTE3LjZsMC0zNS4yYzAtOS43LTcuOS0xNy42LTE3LjYtMTcuNmwtNDQgMCAwLTQ0YzAtOS43LTcuOS0xNy42LTE3LjYtMTcuNmwtMzUuMiAwYy05LjcgMC0xNy42IDcuOS0xNy42IDE3LjZ6Il19LGhHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwcmVzY3JpcHRpb24iLGljb246WzQ0OCw1MTIsW10sImY1YjEiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJMMCAyODhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDUwLjcgMCAxMjggMTI4LTEwNS40IDEwNS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDI4OCAzOTcuMyAzOTMuNCA1MDIuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDMzMy4zIDM1MiA0MzguNiAyNDYuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwyODggMzA2LjcgMjAyLjIgMjIwLjlDMjUxLjQgMjA5LjEgMjg4IDE2NC44IDI4OCAxMTIgMjg4IDUwLjEgMjM3LjkgMCAxNzYgMEwzMiAwek0xNzYgMTYwbC0xMTIgMCAwLTk2IDExMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4eiJdfSxtR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGljZS10aHJlZSIsaWNvbjpbNDQ4LDUxMixbOTg1OF0sImY1MjciLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNjQgOTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em02NCAxMjhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTI4IDY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sZ0d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1aWxkaW5nLWxvY2siLGljb246WzU3Niw1MTIsW10sImU0ZDYiLCJNMzIgNjRDMzIgMjguNyA2MC43IDAgOTYgMEwzNTIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDEyMS4zYy00Ni45IDE5LTgwIDY1LTgwIDExOC43bDAgMjQuNGMtMTkuNiAxNy42LTMyIDQzLjEtMzIgNzEuNWwwIDk2YzAgNS41IC41IDEwLjkgMS4zIDE2LjFMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwzMiA2NHpNMTc2IDM4NGwwIDgwIDgwIDAgMC02NC4xYzAtMTMuNyAxLjktMjcgNS41LTM5LjYtNS43LTUuMi0xMy4yLTguMy0yMS41LTguM2wtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTMwNyAyMjQuM2MtMS0uMi0yLS4zLTMtLjNsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwxNi43IDBjMi4xLTIyLjggOC40LTQ0LjMgMTguMy02My43ek0xNDQgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptMTEyIDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6TTE0NCAyMjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptMzUyIDgwLjFjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45ek0zNTIgNDAwYzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2eiJdfSxpN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaWQtY2FyZCIsaWNvbjpbNTc2LDUxMixbNjIxNDcsImRyaXZlcnMtbGljZW5zZSJdLCJmMmMyIiwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsNDQ4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRMMCA5NnptMCA0OGw1NzYgMCAwIDI3MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTQ0ek0yNDcuMyA0MTZjMjAuMiAwIDM1LjMtMTkuNCAyMi40LTM1LTE0LjctMTcuNy0zNi45LTI5LTYxLjctMjlsLTY0IDBjLTI0LjggMC00NyAxMS4zLTYxLjcgMjktMTIuOSAxNS42IDIuMiAzNSAyMi40IDM1bDE0Mi41IDB6TTE3NiAzMTJhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6TTM2MCAyMDhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTEyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTExMiAwem0wIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xMTIgMHoiXX0sYkd0PWk3ZSxvN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLXBsYXkiLGljb246WzUxMiw1MTIsWzYxNDY5LCJwbGF5LWNpcmNsZSJdLCJmMTQ0IiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6TTE4OC4zIDE0Ny4xYy03LjYgNC4yLTEyLjMgMTIuMy0xMi4zIDIwLjlsMCAxNzZjMCA4LjcgNC43IDE2LjcgMTIuMyAyMC45czE2LjggNC4xIDI0LjMtLjVsMTQ0LTg4YzcuMS00LjQgMTEuNS0xMi4xIDExLjUtMjAuNXMtNC40LTE2LjEtMTEuNS0yMC41bC0xNDQtODhjLTcuNC00LjUtMTYuNy00LjctMjQuMy0uNXoiXX0sdkd0PW83ZSxuN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1sYXVnaC1iZWFtIixpY29uOls1MTIsNTEyLFsxMjg1MTMsImxhdWdoLWJlYW0iXSwiZjU5YSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTAxLjYgMzE0Yy0zLjctMTMuNyA3LjUtMjYgMjEuNy0yNmwyNjUuNCAwYzE0LjIgMCAyNS40IDEyLjMgMjEuNyAyNi0xOC41IDY4LTgwLjYgMTE4LTE1NC40IDExOFMxMjAgMzgyIDEwMS42IDMxNHpNMTc2IDE2NGMtMTUuNSAwLTI4IDEyLjUtMjggMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHptMTMyIDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjhzLTI4IDEyLjUtMjggMjh6Il19LHhHdD1uN2UseUd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxlYWYiLGljb246WzUxMiw1MTIsW10sImYwNmMiLCJNNDcxLjMgNi43QzQ3Ny43IC42IDQ4Ny0xLjYgNDk1LjYgMS4yIDUwNS40IDQuNSA1MTIgMTMuNyA1MTIgMjRsMCAxODYuOWMwIDEzMS4yLTEwOC4xIDIzNy4xLTIzOC44IDIzNy4xLTc3IDAtMTQzLjQtNDkuNS0xNjcuNS0xMTguNy0zNS40IDMwLjgtNTcuNyA3Ni4xLTU3LjcgMTI2LjcgMCAxMy4zLTEwLjcgMjQtMjQgMjRTMCA0NjkuMyAwIDQ1NkMwIDM4MS4xIDM4LjIgMzE1LjEgOTYuMSAyNzYuMyAxMzEuNCAyNTIuNyAxNzMuNSAyNDAgMjE2IDI0MGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MCAwYy0zOS43IDAtNzcuMyA4LjgtMTExIDI0LjUgMjMuMy03MCA4OS4yLTEyMC41IDE2Ny0xMjAuNSA2Ni40IDAgMTE1LjgtMjIuMSAxNDguNy00NCAxOS4yLTEyLjggMzUuNS0yOC4xIDUwLjctNDUuM3oiXX0sd0d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWNoaW1uZXktdXNlciIsaWNvbjpbNTEyLDUxMixbXSwiZTA2NSIsIk0yMzQuMiA4LjZjMTIuMy0xMS40IDMxLjMtMTEuNCA0My41IDBMMzY4IDkyLjMgMzY4IDgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMDEuNSAzNy44IDM1LjFjOS42IDkgMTIuOCAyMi45IDggMzUuMVM0OTMuMiAyNzIgNDgwIDI3MmwtMTYgMCAwIDE3NmMwIDM1LjMtMjguNyA2NC02NCA2NGwtMjg4IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOHpNMzEyIDI1NmE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6TTE0NCA0MzJjMCA4LjggNy4yIDE2IDE2IDE2bDE5MiAwYzguOCAwIDE2LTcuMiAxNi0xNiAwLTQ0LjItMzUuOC04MC04MC04MGwtNjQgMGMtNDQuMiAwLTgwIDM1LjgtODAgODB6Il19LHN0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyb3RhdGUtcmlnaHQiLGljb246WzUxMiw1MTIsWyJyZWRvLWFsdCIsInJvdGF0ZS1mb3J3YXJkIl0sImYyZjkiLCJNNDg4IDE5MmwtMTQ0IDBjLTkuNyAwLTE4LjUtNS44LTIyLjItMTQuOHMtMS43LTE5LjMgNS4yLTI2LjJsNDYuNy00Ni43Yy03NS4zLTU4LjYtMTg0LjMtNTMuMy0yNTMuNSAxNS45LTc1IDc1LTc1IDE5Ni41IDAgMjcxLjVzMTk2LjUgNzUgMjcxLjUgMGM4LjItOC4yIDE1LjUtMTYuOSAyMS45LTI2LjEgMTAuMS0xNC41IDMwLjEtMTggNDQuNi03LjlzMTggMzAuMSA3LjkgNDQuNmMtOC41IDEyLjItMTguMiAyMy44LTI5LjEgMzQuNy0xMDAgMTAwLTI2Mi4xIDEwMC0zNjIgMFMtMjUgMTc1IDc1IDc1Yzk0LjMtOTQuMyAyNDMuNy05OS42IDM0NC4zLTE2LjJMNDcxIDdjNi45LTYuOSAxNy4yLTguOSAyNi4yLTUuMlM1MTIgMTQuMyA1MTIgMjRsMCAxNDRjMCAxMy4zLTEwLjcgMjQtMjQgMjR6Il19LE1HdD1zdGUsa0d0PXN0ZSxTR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9vdGgiLGljb246WzQ0OCw1MTIsWzEyOTQ2M10sImY1YzkiLCJNMTQ1IDUuN0wyMjQgMzIgMzAzIDUuN0MzMTQuMyAxLjkgMzI2IDAgMzM3LjkgMCAzOTguNyAwIDQ0OCA0OS4zIDQ0OCAxMTAuMWwwIDY4LjVjMCAyOS40LTkuNSA1OC4xLTI3LjIgODEuNmwtMS4xIDEuNWMtMTIuOSAxNy4yLTIxLjMgMzcuNC0yNC4zIDU4LjdMMzczLjcgNDcxLjljLTMuMyAyMy0yMyA0MC4xLTQ2LjIgNDAuMS0yMi44IDAtNDIuMy0xNi41LTQ2LTM5TDI2MS4zIDM1MS42Yy0zLTE4LjItMTguOC0zMS42LTM3LjMtMzEuNnMtMzQuMiAxMy40LTM3LjMgMzEuNkwxNjYuNSA0NzNjLTMuOCAyMi41LTIzLjIgMzktNDYgMzktMjMuMiAwLTQyLjktMTcuMS00Ni4yLTQwLjFMNTIuNiAzMjAuNWMtMy0yMS4zLTExLjQtNDEuNS0yNC4zLTU4LjdsLTEuMS0xLjVDOS41IDIzNi43IDAgMjA4LjEgMCAxNzguN2wwLTY4LjVDMCA0OS4zIDQ5LjMgMCAxMTAuMSAwIDEyMiAwIDEzMy43IDEuOSAxNDUgNS43eiJdfSx6R3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtY2hpbW5leS13aW5kb3ciLGljb246WzUxMiw1MTIsW10sImUwMGQiLCJNMjM0LjIgOC42YzEyLjMtMTEuNCAzMS4zLTExLjQgNDMuNSAwTDM2OCA5Mi4zIDM2OCA4MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTAxLjUgMzcuOCAzNS4xYzkuNiA5IDEyLjggMjIuOSA4IDM1LjFTNDkzLjIgMjcyIDQ4MCAyNzJsLTE2IDAgMCAxNzZjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTI4OCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3Ni0xNiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC0zNS4xbDIyNC0yMDh6TTIxNiAyMjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTgwYzAtMTMuMy0xMC43LTI0LTI0LTI0bC04MCAweiJdfSxDR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW90b3JjeWNsZSIsaWNvbjpbNjQwLDUxMixbMTI3OTQ5XSwiZjIxYyIsIk0yODAgMTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTYuNiAwIDIyLjUgNDguNy05NS4xIDcxLjNjLTMzLjQtMjUuMS03NS00MC0xMjAtNDBsLTU2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTYgMGM3OC41IDAgMTQzLjIgNTkuNiAxNTEuMiAxMzZsLTI1LjQgMGMtMTEuMi01OS4yLTYzLjMtMTA0LTEyNS44LTEwNC03MC43IDAtMTI4IDU3LjMtMTI4IDEyOFM3My4zIDQ4MCAxNDQgNDgwYzYyLjUgMCAxMTQuNS00NC44IDEyNS44LTEwNGw1MC4yIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0yMi41YzAtNDUuMSAyNS43LTg1LjQgNjUuNS0xMDcuN2wxMi4xIDI2LjFjLTMyLjQgMjMuMi01My41IDYxLjItNTMuNSAxMDQuMSAwIDcwLjcgNTcuMyAxMjggMTI4IDEyOHMxMjgtNTcuMyAxMjgtMTI4LTU3LjMtMTI4LTEyOC0xMjhjLTEwLjcgMC0yMSAxLjMtMzAuOSAzLjhMNDMzLjggMTYwIDQ4OCAxNjBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNTMuMyAwYy02LjkgMC0xMy43IDIuMi0xOS4yIDYuNGwtMTcuMSAxMi44LTI0LjYtNTMuM0MzNjkuOSAyMS40IDM2MS40IDE2IDM1MiAxNmwtNzIgMHpNNDQ1LjggMzAwLjRsMjguNCA2MS42YzUuNiAxMiAxOS44IDE3LjMgMzEuOCAxMS43czE3LjMtMTkuOCAxMS43LTMxLjhsLTI4LjUtNjEuNmMyLjItLjIgNC40LS4zIDYuNy0uMyAzOS44IDAgNzIgMzIuMiA3MiA3MnMtMzIuMiA3Mi03MiA3Mi03Mi0zMi4yLTcyLTcyYzAtMjAuMiA4LjMtMzguNSAyMS44LTUxLjZ6TTE0NCA0MjRjLTM5LjggMC03Mi0zMi4yLTcyLTcyczMyLjItNzIgNzItNzJjMzEuMyAwIDU4IDIwIDY3LjkgNDhMMTQ0IDMyOGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw2Ny45IDBjLTkuOSAyOC0zNi42IDQ4LTY3LjkgNDh6Il19LGw3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWNrd2FyZC1mYXN0IixpY29uOls1MTIsNTEyLFs5MTk4LCJmYXN0LWJhY2t3YXJkIl0sImYwNDkiLCJNNDkyLjIgNDc3LjZjLTEyIDUtMjUuNyAyLjItMzQuOS02LjlMMjg4IDMwMS4zIDI4OCA0NDhjMCAxMi45LTcuOCAyNC42LTE5LjggMjkuNnMtMjUuNyAyLjItMzQuOS02LjlMNjQgMzAxLjMgNjQgNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhMMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMlM2NCA0Ni4zIDY0IDY0TDY0IDIxMC43IDIzMy40IDQxLjRjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02LjlTMjg4IDUxLjEgMjg4IDY0bDAgMTQ2LjcgMTY5LjQtMTY5LjRjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02LjlTNTEyIDUxLjEgNTEyIDY0bDAgMzg0YzAgMTIuOS03LjggMjQuNi0xOS44IDI5LjZ6Il19LF9HdD1sN2UsYzdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFkZHJlc3MtYm9vayIsaWNvbjpbNTEyLDUxMixbNjIxMzgsImNvbnRhY3QtYm9vayJdLCJmMmI5IiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjg4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMOTYgMHpNMjA4IDI4OGw2NCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNmwtMTkyIDBjLTguOCAwLTE2LTcuMi0xNi0xNiAwLTQ0LjIgMzUuOC04MCA4MC04MHptLTI0LTk2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNNTEyIDgwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0em0wIDEyOGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC02NHpNNDk2IDMyMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNnoiXX0sVEd0PWM3ZSxMR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2FpbGJvYXQiLGljb246WzUxMiw1MTIsW10sImU0NDUiLCJNMjQwIDM1LjlsMCAzNDguMS0yMjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2IDAgNjEuOSA1MC4xIDExMiAxMTIgMTEybDI4OCAwYzYxLjkgMCAxMTItNTAuMSAxMTItMTEyIDAtOC44LTcuMi0xNi0xNi0xNmwtMjA4IDAgMC00OCAxNjEuNyAwYzEyLjkgMCAyMC41LTE0LjQgMTMuMi0yNUwyNjkuMiAyNi45Yy04LjktMTMtMjkuMi02LjctMjkuMiA5ek0xOTIgMzIwbDAtMTg0LjJjMC0xNi4xLTIxLTIyLjEtMjkuNi04LjVMNDcuMyAzMTEuNWMtNi43IDEwLjcgMSAyNC41IDEzLjYgMjQuNUwxNzYgMzM2YzguOCAwIDE2LTcuMiAxNi0xNnoiXX0sJEd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2stYm9va21hcmsiLGljb246WzQ0OCw1MTIsW10sImUwYmIiLCJNOTYgNTEybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtNjYuN2MxOC42LTYuNiAzMi0yNC40IDMyLTQ1LjNsMC0yODhjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQ4IDAgMCAxNjkuNGMwIDEyLjUtMTAuMSAyMi42LTIyLjYgMjIuNi02IDAtMTEuOC0yLjQtMTYtNi42TDI3MiAxNDQgMjMwLjYgMTg1LjRjLTQuMiA0LjItMTAgNi42LTE2IDYuNi0xMi41IDAtMjIuNi0xMC4xLTIyLjYtMjIuNkwxOTIgMCA5NiAwQzQzIDAgMCA0MyAwIDk2TDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZ6TTY0IDQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNTYgMCAwIDY0LTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnoiXX0sREd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hZ25pZnlpbmctZ2xhc3MtYXJyb3ctcmlnaHQiLGljb246WzUxMiw1MTIsW10sImU1MjEiLCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NkMyOTYuMyA0MDEuMSAyNTMuOSA0MTYgMjA4IDQxNiA5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMCA0MTYgOTMuMSA0MTYgMjA4ek0zMDUgMjI1YzkuNC05LjQgOS40LTI0LjYgMC0zMy45bC03Mi03MmMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwzMSAzMS0xMDIuMSAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDEwMi4xIDAtMzEgMzFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3Mi03MnoiXX0sZDdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pY3JvcGhvbmUtbGluZXMiLGljb246WzM4NCw1MTIsWzEyNzg5NywibWljcm9waG9uZS1hbHQiXSwiZjNjOSIsIk05NiA5NmMwLTUzIDQzLTk2IDk2LTk2IDUwLjMgMCA5MS42IDM4LjcgOTUuNyA4OEwyMzIgODhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTYgMCAwIDQ4LTU2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTUuNyAwYy00LjEgNDkuMy00NS4zIDg4LTk1LjcgODgtNTMgMC05Ni00My05Ni05Nkw5NiA5NnpNMjQgMTYwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDBjMCA3OS41IDY0LjUgMTQ0IDE0NCAxNDRzMTQ0LTY0LjUgMTQ0LTE0NGwwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MGMwIDk3LjktNzMuMyAxNzguNy0xNjggMTkwLjVsMCA0OS41IDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDQ4IDAgMC00OS41QzczLjMgNDAyLjcgMCAzMjEuOSAwIDIyNGwwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0eiJdfSxBR3Q9ZDdlLHU3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZXBseS1hbGwiLGljb246WzU3Niw1MTIsWyJtYWlsLXJlcGx5LWFsbCJdLCJmMTIyIiwiTTMzMi4yIDE4LjRjMTIgNSAxOS44IDE2LjYgMTkuOCAyOS42bDAgODAgNDggMGM5Ny4yIDAgMTc2IDc4LjggMTc2IDE3NiAwIDExMy4zLTgxLjUgMTYzLjktMTAwLjIgMTc0LjEtMi41IDEuNC01LjMgMS45LTguMSAxLjktMTAuOSAwLTE5LjctOC45LTE5LjctMTkuNyAwLTcuNSA0LjMtMTQuNCA5LjgtMTkuNSA5LjQtOC44IDIyLjItMjYuNCAyMi4yLTU2LjcgMC01My00My05Ni05Ni05NmwtMzIgMCAwIDgwYzAgMTIuOS03LjggMjQuNi0xOS44IDI5LjZzLTI1LjcgMi4yLTM0LjktNi45bC0xNjAtMTYwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2wxNjAtMTYwYzkuMi05LjIgMjIuOS0xMS45IDM0LjktNi45ek0yMDUuNiAyMy4xYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45TDU0LjYgMjA4IDIwNS42IDM1OC45YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBMMTAgMjMxLjJjLTYuNC02LTEwLTE0LjQtMTAtMjMuMnMzLjYtMTcuMiAxMC0yMy4yTDE3MS42IDIzLjFjOS40LTkuNCAyNC42LTkuNCAzMy45IDB6Il19LEVHdD11N2UsUEd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVuaXZlcnNhbC1hY2Nlc3MiLGljb246WzUxMiw1MTIsW10sImYyOWEiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTYxLjUtODYuMWMtMTIuMi01LjItMjYuMyAuNC0zMS41IDEyLjZzLjQgMjYuMyAxMi42IDMxLjVsMTEuOSA1LjFjMTcuMyA3LjQgMzUuMiAxMi45IDUzLjYgMTYuM2wwIDUwLjFjMCA0LjMtLjcgOC42LTIuMSAxMi42bC0yOC43IDg2LjFjLTQuMiAxMi42IDIuNiAyNi4yIDE1LjIgMzAuNHMyNi4yLTIuNiAzMC40LTE1LjJsMjQuNC03My4yYzEuMy0zLjggNC44LTYuNCA4LjgtNi40czcuNiAyLjYgOC44IDYuNGwyNC40IDczLjJjNC4yIDEyLjYgMTcuOCAxOS40IDMwLjQgMTUuMlMzMzkgMzk3IDMzNC44IDM4NC40bC0yOC43LTg2LjFjLTEuNC00LjEtMi4xLTguMy0yLjEtMTIuNmwwLTUwLjFjMTguNC0zLjUgMzYuMy04LjkgNTMuNi0xNi4zbDExLjktNS4xYzEyLjItNS4yIDE3LjgtMTkuMyAxMi42LTMxLjVzLTE5LjMtMTcuOC0zMS41LTEyLjZMMzM4LjcgMTc1Yy0yNi4xIDExLjItNTQuMiAxNy04Mi43IDE3cy01Ni41LTUuOC04Mi43LTE3bC0xMS45LTUuMXpNMjU2IDE2MGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6Il19LGl0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b2lsZXQtcGFwZXIiLGljb246WzUxMiw1MTIsWzEyOTUzMSw2MzI2MywidG9pbGV0LXBhcGVyLWFsdCIsInRvaWxldC1wYXBlci1ibGFuayJdLCJmNzFlIiwiTTMyNy4xIDMyYy04LjggMTEuMS0xNiAyMy4xLTIxLjkgMzQuOC0yMS40IDQyLjctMzMuMiA5OC40LTMzLjIgMTU3LjJsMCAyNjRjMCAzMC45LTI1LjEgNTYtNTYgNTZMNTYgNTQ0Yy0zMC45IDAtNTYtMjUuMS01Ni01NkwwIDIyNEMwIDExOCA0MyAzMiA5NiAzMmwyMzEuMSAwek00MTYgNDE2Yy01MyAwLTk2LTg2LTk2LTE5MnM0My0xOTIgOTYtMTkyIDk2IDg2IDk2IDE5Mi00MyAxOTItOTYgMTkyem0wLTEyOGMxNy43IDAgMzItMjguNyAzMi02NHMtMTQuMy02NC0zMi02NC0zMiAyOC43LTMyIDY0IDE0LjMgNjQgMzIgNjR6Il19LElHdD1pdGUsTkd0PWl0ZSxSR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidnItY2FyZGJvYXJkIixpY29uOls1NzYsNTEyLFtdLCJmNzI5IiwiTTUxMiA5Nkw2NCA5NkMyOC43IDk2IDAgMTI0LjcgMCAxNjBMMCAzNTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTE3LjUgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN2wzMy45LTMzLjljNy4yLTcuMiAxNy4xLTExLjMgMjcuMy0xMS4zczIwLjEgNC4xIDI3LjMgMTEuM2wzMy45IDMzLjljMTIgMTIgMjguMyAxOC43IDQ1LjMgMTguN0w1MTIgNDE2YzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTkyYzAtMzUuMy0yOC43LTY0LTY0LTY0ek04MCAyNDBhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwem0zNTItNjRhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6Il19LE9HdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaXp6YS1zbGljZSIsaWNvbjpbNTEyLDUxMixbXSwiZjgxOCIsIk0xNjkuNyAuOWMtMjIuOC0xLjYtNDEuOSAxNC00Ny41IDM0LjdMMTEyLjUgNzJDMjkzLjMgNzIuMyA0MzkuNyAyMTguNyA0NDAgMzk5LjVsMzYuNC05LjdjMjAuOC01LjUgMzYuMy0yNC43IDM0LjctNDcuNS0xMi42LTE4Mi44LTE1OC42LTMyOC44LTM0MS40LTM0MS40em0yMjIgNDExLjVjLjItNC4xIC4zLTguMiAuMy0xMi40IDAtMTU0LjYtMTI1LjQtMjgwLTI4MC0yODAtNC4xIDAtOC4zIC4xLTEyLjQgLjNMLjUgNDkxLjljLTEuNSA1LjUgLjEgMTEuNCA0LjEgMTUuNHM5LjkgNS42IDE1LjQgNC4xbDM3MS42LTk5LjF6TTE3NiAyMDhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em02NCAxMjhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNOTYgMzg0YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LEZHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcHJheS1jYW4iLGljb246WzU3Niw1MTIsW10sImY1YmQiLCJNMTkyIDBsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDgwLTEyOCAwIDAtODBjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTY0IDI1NmMwLTUzIDQzLTk2IDk2LTk2bDEyOCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAyMDhjMCAyNi41LTIxLjUgNDgtNDggNDhsLTIyNCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTIwOHptMjQwIDgwYTgwIDgwIDAgMSAwIC0xNjAgMCA4MCA4MCAwIDEgMCAxNjAgMHpNMzIwIDY0YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTQ0OCAzMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTY0IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTMyIDY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNNTEyIDI1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek00NDggMTI4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0scDdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZvbHVtZS1sb3ciLGljb246WzQ0OCw1MTIsWzEyODI2NCwidm9sdW1lLWRvd24iXSwiZjAyNyIsIk00OCAzNTJsNDggMCAxMzQuMSAxMTkuMmM2LjQgNS43IDE0LjYgOC44IDIzLjEgOC44IDE5LjIgMCAzNC44LTE1LjYgMzQuOC0zNC44bDAtMzc4LjRjMC0xOS4yLTE1LjYtMzQuOC0zNC44LTM0LjgtOC41IDAtMTYuNyAzLjEtMjMuMSA4LjhMOTYgMTYwIDQ4IDE2MGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OHpNMzgwLjYgMTgxLjVjLTEwLjMtOC40LTI1LjQtNi44LTMzLjggMy41cy02LjggMjUuNCAzLjUgMzMuOEMzNjEuMSAyMjcuNiAzNjggMjQxIDM2OCAyNTZzLTYuOSAyOC40LTE3LjcgMzcuM2MtMTAuMyA4LjQtMTEuOCAyMy41LTMuNSAzMy44czIzLjUgMTEuOCAzMy44IDMuNUM0MDIuMSAzMTIuOSA0MTYgMjg2LjEgNDE2IDI1NnMtMTMuOS01Ni45LTM1LjUtNzQuNXoiXX0sQkd0PXA3ZSxIR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3Jvc3MiLGljb246WzM4NCw1MTIsWzEyODMyNywxMDAxM10sImY2NTQiLCJNMTc2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgODAtODAgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw4MCAwIDAgMjA4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDMyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMDggODAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTMyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC04MCAwIDAtODBjMC0yNi41LTIxLjUtNDgtNDgtNDhMMTc2IDB6Il19LGY3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24iLGljb246WzM4NCw1MTIsWzEyOTQ4NSwibWFsZSJdLCJmMTgzIiwiTTI0OCAyNGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6bTI0IDIxMi43bDQ2LjMgNjIuNGMxMC41IDE0LjIgMzAuNiAxNy4yIDQ0LjggNi42czE3LjItMzAuNiA2LjYtNDQuOGwtNzAuNS05NUMyNzQgMTMyIDIzNC4zIDExMiAxOTIgMTEycy04MiAyMC0xMDcuMiA1My45bC03MC41IDk1Yy0xMC41IDE0LjItNy42IDM0LjIgNi42IDQ0LjhzMzQuMiA3LjYgNDQuOC02LjZMMTEyIDIzNi43IDExMiA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNzUuM3oiXX0scUd0PWY3ZSxoN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91cmdsYXNzIixpY29uOlszODQsNTEyLFs5MjAzLDYyMDMyLCJob3VyZ2xhc3MtZW1wdHkiXSwiZjI1NCIsIk0wIDMyQzAgMTQuMyAxNC4zIDAgMzIgMEwzNTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDExYzAgNDIuNC0xNi45IDgzLjEtNDYuOSAxMTMuMWwtNjcuOSA2Ny45IDY3LjkgNjcuOWMzMCAzMCA0Ni45IDcwLjcgNDYuOSAxMTMuMWwwIDExYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwwLTExYzAtNDIuNCAxNi45LTgzLjEgNDYuOS0xMTMuMWw2Ny45LTY3LjktNjcuOS02Ny45QzQ4LjkgMTU4LjEgMzIgMTE3LjQgMzIgNzVsMC0xMUMxNC4zIDY0IDAgNDkuNyAwIDMyek05NiA2NGwwIDExYzAgMjUuNSAxMC4xIDQ5LjkgMjguMSA2Ny45bDY3LjkgNjcuOSA2Ny45LTY3LjljMTgtMTggMjguMS00Mi40IDI4LjEtNjcuOWwwLTExLTE5MiAwem0wIDM4NGwxOTIgMCAwLTExYzAtMjUuNS0xMC4xLTQ5LjktMjguMS02Ny45bC02Ny45LTY3LjktNjcuOSA2Ny45Yy0xOCAxOC0yOC4xIDQyLjQtMjguMSA2Ny45bDAgMTF6Il19LFZHdD1oN2Usakd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpc2giLGljb246WzU3Niw1MTIsWzEyODAzMV0sImY1NzgiLCJNMTgwLjUgMTQxLjVDMjE5LjcgMTA4LjUgMjcyLjYgODAgMzM2IDgwczExNi4zIDI4LjUgMTU1LjUgNjEuNWMzOS4xIDMzIDY2LjkgNzIuNCA4MSA5OS44IDQuNyA5LjIgNC43IDIwLjEgMCAyOS4zLTE0LjEgMjcuNC00MS45IDY2LjgtODEgOTkuOC0zOS4yIDMzLjEtOTIgNjEuNS0xNTUuNSA2MS41cy0xMTYuMy0yOC41LTE1NS41LTYxLjVjLTE2LjItMTMuNy0zMC41LTI4LjUtNDIuNy00My4xTDQ4LjEgMzc5LjZjLTEyLjUgNy4zLTI4LjQgNS4zLTM4LjctNC45cy0xMi40LTI2LTUuMy0zOC42TDUwIDI1NiA0LjIgMTc1LjljLTcuMi0xMi42LTUtMjguNCA1LjMtMzguNnMyNi4xLTEyLjIgMzguNy00LjlsODkuNyA1Mi4zYzEyLjItMTQuNiAyNi41LTI5LjQgNDIuNy00My4xek00NDggMjU2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6Il19LFVHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkcnVtc3RpY2stYml0ZSIsaWNvbjpbNTEyLDUxMixbXSwiZjZkNyIsIk0xNjAgMjY1LjJjMCA4LjUtMy40IDE2LjYtOS40IDIyLjZsLTI2LjggMjYuOGMtMTIuMyAxMi4zLTMyLjUgMTEuNC00OS40IDcuMi00LjYtMS4xLTkuNS0xLjgtMTQuNS0xLjgtMzMuMSAwLTYwIDI2LjktNjAgNjBzMjYuOSA2MCA2MCA2MGM2LjMgMCAxMiA1LjcgMTIgMTIgMCAzMy4xIDI2LjkgNjAgNjAgNjBzNjAtMjYuOSA2MC02MGMwLTUtLjYtOS44LTEuOC0xNC41LTQuMi0xNi45LTUuMi0zNy4xIDcuMi00OS40bDI2LjgtMjYuOGM2LTYgMTQuMS05LjQgMjIuNi05LjRsODkuMiAwYzYuMyAwIDEyLjQtLjMgMTguNS0xIDExLjktMS4yIDE2LjQtMTUuNSAxMC44LTI2LTguNS0xNS44LTEzLjMtMzMuOC0xMy4zLTUzIDAtNjEuOSA1MC4xLTExMiAxMTItMTEyIDggMCAxNS43IC44IDIzLjIgMi40IDExLjcgMi41IDI0LjEtNS45IDIyLTE3LjYtMTQuNy04Mi4zLTg2LjctMTQ0LjgtMTczLjItMTQ0LjgtOTcuMiAwLTE3NiA3OC44LTE3NiAxNzZsMCA4OS4yeiJdfSxXR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhcnQtc2ltcGxlIixpY29uOls1MTIsNTEyLFtdLCJlNDczIiwiTTE5MiA4MGMwLTI2LjUgMjEuNS00OCA0OC00OGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTM1MnpNMCAyNzJjMC0yNi41IDIxLjUtNDggNDgtNDhsMzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE2MGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAyNzJ6TTQzMiA5NmwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMjg4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTI4OGMwLTI2LjUgMjEuNS00OCA0OC00OHoiXX0sR0d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImF0b20iLGljb246WzQ0OCw1MTIsWzk4ODNdLCJmNWQyIiwiTTIyNCAzOTguOGMtMTEuOCA1LjEtMjMuNCA5LjctMzQuOSAxMy41IDE2LjcgMzMuOCAzMSAzNS43IDM0LjkgMzUuN3MxOC4xLTEuOSAzNC45LTM1LjdjLTExLjQtMy45LTIzLjEtOC40LTM0LjktMTMuNXpNNDE0IDI1NmMzMyA0NS4yIDQ0LjMgOTAuOSAyMy42IDEyOC0yMC4yIDM2LjMtNjIuNSA0OS4zLTExNS4yIDQzLjItMjIgNTIuMS01NS43IDg0LjgtOTguNCA4NC44cy03Ni40LTMyLjctOTguNC04NC44QzcyLjkgNDMzLjMgMzAuNiA0MjAuMyAxMC40IDM4NC0xMC4zIDM0Ni45IDEgMzAxLjIgMzQgMjU2IDEgMjEwLjgtMTAuMyAxNjUuMSAxMC40IDEyOCAzMC42IDkxLjcgNzIuOSA3OC43IDEyNS42IDg0LjggMTQ3LjYgMzIuNyAxODEuMiAwIDIyNCAwczc2LjQgMzIuNyA5OC40IDg0LjhjNTIuNy02LjEgOTUgNi44IDExNS4yIDQzLjIgMjAuNyAzNy4xIDkuNCA4Mi44LTIzLjYgMTI4em0tNjUuOCA2Ny40Yy0xLjcgMTQuMi0zLjkgMjgtNi43IDQxLjIgMzEuOCAxLjQgMzguNi04LjcgNDAuMi0xMS43IDIuMy00LjIgNy0xNy45LTExLjktNDguMS02LjggNi4zLTE0IDEyLjUtMjEuNiAxOC42em0tNi43LTE3NS45YzIuOCAxMy4xIDUgMjYuOSA2LjcgNDEuMiA3LjYgNi4xIDE0LjggMTIuMyAyMS42IDE4LjYgMTguOS0zMC4yIDE0LjItNDQgMTEuOS00OC4xLTEuNi0yLjktOC40LTEzLTQwLjItMTEuN3pNMjU4LjkgOTkuN0MyNDIuMSA2NS45IDIyNy45IDY0IDIyNCA2NHMtMTguMSAxLjktMzQuOSAzNS43YzExLjQgMy45IDIzLjEgOC40IDM0LjkgMTMuNSAxMS44LTUuMSAyMy40LTkuNyAzNC45LTEzLjV6bS0xNTkgODguOWMxLjctMTQuMyAzLjktMjggNi43LTQxLjItMzEuOC0xLjQtMzguNiA4LjctNDAuMiAxMS43LTIuMyA0LjItNyAxNy45IDExLjkgNDguMSA2LjgtNi4zIDE0LTEyLjUgMjEuNi0xOC42ek03OC4yIDMwNC44Yy0xOC45IDMwLjItMTQuMiA0NC0xMS45IDQ4LjEgMS42IDIuOSA4LjQgMTMgNDAuMiAxMS43LTIuOC0xMy4xLTUtMjYuOS02LjctNDEuMi03LjYtNi4xLTE0LjgtMTIuMy0yMS42LTE4LjZ6TTMwNCAyNTZhODAgODAgMCAxIDAgLTE2MCAwIDgwIDgwIDAgMSAwIDE2MCAwem0tODAtMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxZR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicCIsaWNvbjpbMzIwLDUxMixbMTEyXSwiNTAiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwxMjggMGM4OC40IDAgMTYwIDcxLjYgMTYwIDE2MFMyNDguNCAzNTIgMTYwIDM1MmwtOTYgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhMMCA2NHpNNjQgMjg4bDk2IDBjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZsLTk2IDAgMCAxOTJ6Il19LEtHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJqZXQtZmlnaHRlci11cCIsaWNvbjpbNTEyLDUxMixbXSwiZTUxOCIsIk0yMDYuOCA0Ny44QzIwMi4zIDU4LjUgMjAwIDcwIDIwMCA4MS42bDAgMTAwLjQtMTUyIDExNCAwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0UzAgMjM0LjcgMCAyNDhMMCAzOTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTggMTUyIDAgMCA1NC40LTY2IDUyLjhjLTMuOCAzLTYgNy42LTYgMTIuNWwwIDI0LjNjMCA4LjggNy4yIDE2IDE2IDE2bDg4IDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAgODggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNC4zYzAtNC45LTIuMi05LjUtNi0xMi41bC02Ni01Mi44IDAtNTQuNCAxNTIgMCAwIDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE0NGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQ4LTE1Mi0xMTQgMC0xMDAuNGMwLTExLjYtMi4zLTIzLjEtNi44LTMzLjhsLTI3LjEtNjVDMjc0LjQtMjYuMiAyNjUuNy0zMiAyNTYtMzJzLTE4LjQgNS44LTIyLjIgMTQuOGwtMjcuMSA2NXoiXX0sWkd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsdWctY2lyY2xlLXhtYXJrIixpY29uOls2NDAsNTEyLFtdLCJlNTYwIiwiTTE5Mi0zMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2IDEyOCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCA0OC43Yy05OC42IDguMS0xNzYgOTAuNy0xNzYgMTkxLjMgMCAyNy4zIDUuNyA1My4zIDE2IDc2LjlsMCAzLjFjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02Ni43QzE2NS4yIDM5OC4xIDk2IDMxOS4xIDk2IDIyNGwwLTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlM3OC4zIDk2IDk2IDk2bDY0IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNDk2IDI1NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTU5LjMgMTA3LjNjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZzLTE2LjQtNi4yLTIyLjYgMGwtMzYuNyAzNi43LTM2LjctMzYuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmwzNi43IDM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsMzYuNy0zNi43IDM2LjcgMzYuN2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTM2LjctMzYuNyAzNi43LTM2Ljd6Il19LFhHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGVldC1wbGFzdGljIixpY29uOlszODQsNTEyLFtdLCJlNTcxIiwiTTAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE0OS41IDBjMTcgMCAzMy4zLTYuNyA0NS4zLTE4LjdMMzY1LjMgMzg2LjdjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM0wzODQgNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDh6bTIwOCA1LjVsMC05My41YzAtMTMuMyAxMC43LTI0IDI0LTI0bDkzLjUgMC0xMTcuNSAxMTcuNXpNMTUzIDEwNWwtNDggNDhjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNDgtNDhjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45em05NiAzMkwxMzcgMjQ5Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDIxNSAxMDNjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45eiJdfSxRR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidiIsaWNvbjpbMzg0LDUxMixbMTE4XSwiNTYiLCJNMTkuNyAzNC41YzE2LjMtNi44IDM1IC45IDQxLjggMTcuMkwxOTIgMzY0LjggMzIyLjUgNTEuN2M2LjgtMTYuMyAyNS41LTI0IDQxLjgtMTcuMnMyNCAyNS41IDE3LjIgNDEuOGwtMTYwIDM4NGMtNSAxMS45LTE2LjYgMTkuNy0yOS41IDE5LjdzLTI0LjYtNy44LTI5LjUtMTkuN0wyLjUgNzYuM2MtNi44LTE2LjMgLjktMzUgMTcuMi00MS44eiJdfSxtN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGlzdCIsaWNvbjpbNTEyLDUxMixbImxpc3Qtc3F1YXJlcyJdLCJmMDNhIiwiTTQwIDQ4QzI2LjcgNDggMTYgNTguNyAxNiA3MmwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNEw0MCA0OHpNMTkyIDY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDE5MiA2NHptMCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI4OCAwem0wIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyODggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjg4IDB6TTE2IDIzMmwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTQwIDM2OGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTQ4IDB6Il19LEpHdD1tN2UsZVl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBpc2NlcyIsaWNvbjpbNDQ4LDUxMixbXSwiZTg0YyIsIk00MC40IDEwLjRjMTEuOS0xMyAzMi4yLTEzLjkgNDUuMi0yIDIuOSAyLjcgMjguMyAyNi43IDUzLjYgNjcuOCAyMi4zIDM2LjIgNDUgODYuNiA1MS4xIDE0Ny44bDY3LjMgMGM2LjEtNjEuMSAyOC44LTExMS42IDUxLjEtMTQ3LjggMjUuMy00MS4xIDUwLjctNjUuMSA1My42LTY3LjggMTMtMTEuOSAzMy4zLTExLjEgNDUuMiAyIDExLjkgMTMgMTEgMzMuMy0yIDQ1LjItMS40IDEuMy0yMiAyMS4xLTQyLjQgNTQuMi0xNy45IDI5LjEtMzUuNCA2OC00MS4yIDExNC4ybDk0IDAgMy4zIC4yYzE2LjEgMS42IDI4LjcgMTUuMyAyOC43IDMxLjhzLTEyLjYgMzAuMi0yOC43IDMxLjhsLTMuMyAuMi05NCAwYzUuOCA0Ni4yIDIzLjMgODUuMSA0MS4yIDExNC4yIDIwLjQgMzMuMSA0MSA1Mi45IDQyLjQgNTQuMiAxMyAxMS45IDEzLjkgMzIuMiAyIDQ1LjItMTEuOSAxMy0zMi4yIDEzLjktNDUuMiAyLTIuOS0yLjctMjguMy0yNi43LTUzLjYtNjcuOC0yMi4zLTM2LjItNDUtODYuNi01MS4xLTE0Ny44bC02Ny4zIDBjLTYuMSA2MS4xLTI4LjggMTExLjYtNTEuMSAxNDcuOC0yNS4zIDQxLjEtNTAuNyA2NS4xLTUzLjYgNjcuOC0xMyAxMS45LTMzLjMgMTEuMS00NS4yLTItMTEuOS0xMy0xMS0zMy4zIDItNDUuMiAxLjQtMS4zIDIyLTIxLjEgNDIuNC01NC4yIDE3LjktMjkuMSAzNS40LTY4IDQxLjItMTE0LjJsLTk0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTQgMGMtNS44LTQ2LjItMjMuMy04NS4xLTQxLjItMTE0LjItMjAuNC0zMy4xLTQxLTUyLjktNDIuNC01NC4yLTEzLTExLjktMTMuOS0zMi4yLTItNDUuMnoiXX0sdFl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNvbGFyLXBhbmVsIixpY29uOls1NzYsNTEyLFtdLCJmNWJhIiwiTTEyMS44IDMyYy0zMCAwLTU2IDIwLjgtNjIuNSA1MC4xTDkuNiAzMDYuMUMuNyAzNDYuMSAzMS4xIDM4NCA3MiAzODRsMTg0LjEgMCAwIDY0LTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAgMC02NCAxODQuMSAwYzQwLjkgMCA3MS40LTM3LjkgNjIuNS03Ny45bC00OS44LTIyNEM1MTAuNCA1Mi44IDQ4NC41IDMyIDQ1NC41IDMyTDEyMS44IDMyek0yNDUuNiA5Nmw4NS4yIDAgNy4zIDg4LTk5LjggMCA3LjMtODh6bS01NS41IDg4bC04Ny44IDAgMTkuNi04OCA3NS42IDAtNy4zIDg4ek05MS42IDIzMmw5NC41IDAtNy4zIDg4LTEwNi43IDAgMTkuNi04OHptMTQyLjYgMGwxMDcuOCAwIDcuMyA4OC0xMjIuNSAwIDcuMy04OHptMTU2IDBsOTQuNSAwIDE5LjYgODgtMTA2LjcgMC03LjMtODh6TTQ3NCAxODRsLTg3LjggMC03LjMtODggNzUuNiAwIDE5LjYgODh6Il19LGFZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsYW5kLW1pbmUtb24iLGljb246WzU3Niw1MTIsW10sImU1MWIiLCJNMzEyIDBsMCAxMjhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRMMjY0IDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHpNMTYwIDI4OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDgwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OEw4MCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC0yNi41IDIxLjUtNDggNDgtNDhsODAgMCAwLTMyek0xMiAxMTQuN2M3LjQtMTEgMjIuMy0xNCAzMy4zLTYuN2w5NiA2NGMxMSA3LjQgMTQgMjIuMyA2LjcgMzMuM3MtMjIuMyAxNC0zMy4zIDYuN2wtOTYtNjRjLTExLTcuNC0xNC0yMi4zLTYuNy0zMy4zek01MzAuNyAxMDhjMTEtNy40IDI1LjktNC40IDMzLjMgNi43czQuNCAyNS45LTYuNyAzMy4zbC05NiA2NGMtMTEgNy40LTI1LjkgNC40LTMzLjMtNi43cy00LjQtMjUuOSA2LjctMzMuM2w5Ni02NHoiXX0sb3RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYWRwaG9uZXMiLGljb246WzQ0OCw1MTIsWzEyNzkxMSw2Mjg2MywiaGVhZHBob25lcy1hbHQiLCJoZWFkcGhvbmVzLXNpbXBsZSJdLCJmMDI1IiwiTTY0IDIyNGMwLTg4LjQgNzEuNi0xNjAgMTYwLTE2MHMxNjAgNzEuNiAxNjAgMTYwbDAgMzcuNWMtMTAtMy41LTIwLjgtNS41LTMyLTUuNWwtMTYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxMjhjMCAyNi41IDIxLjUgNDggNDggNDhsMTYgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMTYwQzQ0OCAxMDAuMyAzNDcuNyAwIDIyNCAwUzAgMTAwLjMgMCAyMjRMMCAzODRjMCA1MyA0MyA5NiA5NiA5NmwxNiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTI4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0xNiAwYy0xMS4yIDAtMjIgMS45LTMyIDUuNUw2NCAyMjR6Il19LHJZdD1vdGUsc1l0PW90ZSxpWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVzIixpY29uOls0NDgsNTEyLFsxMjg2NTNdLCJmMjA3IiwiTTk2IDBDNDMgMCAwIDQzIDAgOTZMMCAzODRjMCAyOS44IDIwLjQgNTQuOSA0OCA2MmwwIDM0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMiAxOTIgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zNGMyNy42LTcuMSA0OC0zMi4yIDQ4LTYybDAtMjg4YzAtNTMtNDMtOTYtOTYtOTZMOTYgMHpNNjQgMTc2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEwNCAwIDAgMTEyLTEwNCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTQ4em0xODQgODBsMC0xMTIgMTA0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA0OGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTA0IDB6TTk2IDMyMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTI1NiAwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTUyIDcyYzAtMTMuMyAxMC43LTI0IDI0LTI0bDk2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTk2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0eiJdfSxvWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1wb3dlcnBvaW50IixpY29uOlszODQsNTEyLFtdLCJmMWM0IiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek0xNTIgMjU2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE0NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjQgMjQgMGMzOS44IDAgNzItMzIuMiA3Mi03MnMtMzIuMi03Mi03Mi03MmwtNDggMHptNDggOTZsLTI0IDAgMC00OCAyNCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0eiJdfSxnN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicXVvdGUtbGVmdCIsaWNvbjpbNDQ4LDUxMixbODIyMCwicXVvdGUtbGVmdC1hbHQiXSwiZjEwZCIsIk0wIDIxNkMwIDE0OS43IDUzLjcgOTYgMTIwIDk2bDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOCAwYy0zMC45IDAtNTYgMjUuMS01NiA1NmwwIDggNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDIxNnptMjU2IDBjMC02Ni4zIDUzLjctMTIwIDEyMC0xMjBsOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC04IDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2bDAgOCA2NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTY0IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTM2eiJdfSxuWXQ9ZzdlLGxZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGV2cm9uLWRvd24iLGljb246WzQ0OCw1MTIsW10sImYwNzgiLCJNMjAxLjQgNDA2LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTkyLTE5MmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwyMjQgMzM4LjcgNTQuNiAxNjkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTkyIDE5MnoiXX0sYjdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVhcnRoLWFzaWEiLGljb246WzUxMiw1MTIsWzEyNzc1OSwiZ2xvYmUtYXNpYSJdLCJmNTdlIiwiTTUwIDI4NC44YzQuMiAyLjEgOSAzLjIgMTQgMy4ybDUwLjcgMGM4LjUgMCAxNi42IDMuNCAyMi42IDkuNGwxMy4zIDEzLjNjNiA2IDE0LjEgOS40IDIyLjYgOS40bDE4LjcgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0LTEwLjcgMjQtMjRsMC00Mi43YzAtOC41IDMuNC0xNi42IDkuNC0yMi42bDEzLjMtMTMuM2M2LTYgOS40LTE0LjEgOS40LTIyLjZMMzA0IDU3YzAtMS4yLS4xLTIuMy0uMi0zLjUtMTUuNC0zLjYtMzEuNC01LjUtNDcuOC01LjUtMTE0LjkgMC0yMDggOTMuMS0yMDggMjA4IDAgOS44IC43IDE5LjQgMiAyOC44em00MDMuMyAzNy4zYy0zLjItMS40LTYuNy0yLjEtMTAuNS0yLjFMNDMyIDMyMGMtOC44IDAtMTYtNy4yLTE2LTE2cy03LjItMTYtMTYtMTZsLTM0LjcgMGMtOC41IDAtMTYuNiAzLjQtMjIuNiA5LjRsLTQ1LjMgNDUuM2MtNiA2LTkuNCAxNC4xLTkuNCAyMi42bDAgMTguN2MwIDE3LjcgMTQuMyAzMiAzMiAzMmwxOC43IDBjOC41IDAgMTYuNiAzLjQgMjIuNiA5LjQgMi4yIDIuMiA0LjcgNC4xIDcuMyA1LjUgMzkuMy0yNS40IDY5LjUtNjMuNiA4NC42LTEwOC44ek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0xMjggMzY4YzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6TTI3MiAyNTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZ6bTQ4LTExMmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNnoiXX0sY1l0PWI3ZSxkWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2VudC1zaWduIixpY29uOlszODQsNTEyLFtdLCJlM2Y1IiwiTTIwOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjUuNGM0My42IDUuMiA4MyAyNC41IDExMy4zIDUzLjEgMTIuOSAxMi4xIDEzLjQgMzIuNCAxLjMgNDUuMnMtMzIuNCAxMy40LTQ1LjIgMS4zYy0yNC40LTIzLTU3LjItMzcuMS05My4zLTM3LjEtNzUuMSAwLTEzNiA2MC45LTEzNiAxMzZzNjAuOSAxMzYgMTM2IDEzNmMzNi4yIDAgNjktMTQuMSA5My4zLTM3LjEgMTIuOS0xMi4xIDMzLjEtMTEuNSA0NS4yIDEuM3MxMS41IDMzLjEtMS4zIDQ1LjJDMzIzIDQzMC4xIDI4My42IDQ0OS40IDI0MCA0NTQuNmwwIDI1LjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yOEM4NC43IDQzMy41IDE2IDM1Mi44IDE2IDI1NlM4NC43IDc4LjUgMTc2IDYwbDAtMjhjMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LHVZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGllbGQtY2F0IixpY29uOls1MTIsNTEyLFtdLCJlNTcyIiwiTTI2OS40IDIuOUMyNjUuMiAxIDI2MC43IDAgMjU2IDBzLTkuMiAxLTEzLjQgMi45TDU0LjMgODIuOGMtMjIgOS4zLTM4LjQgMzEtMzguMyA1Ny4yIC41IDk5LjIgNDEuMyAyODAuNyAyMTMuNiAzNjMuMiAxNi43IDggMzYuMSA4IDUyLjggMCAxNzIuNC04Mi41IDIxMy4yLTI2NCAyMTMuNi0zNjMuMiAuMS0yNi4yLTE2LjMtNDcuOS0zOC4zLTU3LjJMMjY5LjQgMi45ek0xNjAgMTU0LjRjMC01LjggNC43LTEwLjQgMTAuNC0xMC40bC4yIDBjMy40IDAgNi41IDEuNiA4LjUgNC4zbDQwIDUzLjNjMyA0IDcuOCA2LjQgMTIuOCA2LjRsNDggMGM1IDAgOS44LTIuNCAxMi44LTYuNGw0MC01My4zYzItMi43IDUuMi00LjMgOC41LTQuM2wuMiAwYzUuOCAwIDEwLjQgNC43IDEwLjQgMTAuNEwzNTIgMjcyYzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2bDAtMTE3LjZ6TTIxNiAyODhhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem05Ni0xNmExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAweiJdfSxwWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Nob29sLWNpcmNsZS1jaGVjayIsaWNvbjpbNjQwLDUxMixbXSwiZTU2YiIsIk02NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI3NiAwYy0xMC41LTE0LjYtMTktMzAuNy0yNS4xLTQ4bC05MC45IDAgMC04OGMwLTIyLjEgMTcuOS00MCA0MC00MGw0OCAwYzEgMCAxLjkgMCAyLjkgLjEgMjYuMy03NC42IDk3LjUtMTI4LjEgMTgxLjEtMTI4LjEgMjguNiAwIDU1LjYgNi4yIDgwIDE3LjRsMC0zMy40YzAtMzUuMy0yOC43LTY0LTY0LTY0bC02NCAwLTEyNy45LTExNS4xYy0xOC4zLTE2LjQtNDYtMTYuNC02NC4yIDBMMTI4IDEyOCA2NCAxMjh6bTY0IDI0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyek0xMTIgMjU2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZ6TTI4OCAxMjhhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTY0MCA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTg2LjYtNjAuOWM3LjEgNS4yIDguNyAxNS4yIDMuNSAyMi4zbC02NCA4OGMtMi44IDMuOC03IDYuMi0xMS43IDYuNXMtOS4zLTEuMy0xMi42LTQuNmwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwyNi44IDI2LjggNTMtNzIuOWM1LjItNy4xIDE1LjItOC43IDIyLjQtMy41eiJdfSx2N2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFydGluaS1nbGFzcyIsaWNvbjpbNTEyLDUxMixbMTI3ODY0LCJnbGFzcy1tYXJ0aW5pLWFsdCJdLCJmNTdiIiwiTTIuNCA1MS44QzcuNCAzOS44IDE5LjEgMzIgMzIgMzJsNDQ4IDBjMTIuOSAwIDI0LjYgNy44IDI5LjYgMTkuOHMyLjIgMjUuNy02LjkgMzQuOUwyODggMzAxLjMgMjg4IDQ0OCAzNTIgNDQ4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwIDAtMTQ2LjctMjE0LjYtMjE0LjZDLjIgNzcuNS0yLjUgNjMuNyAyLjQgNTEuOHpNMzU0LjcgMTQ0bDQ4LTQ4LTI5My41IDAgNDggNDggMTk3LjUgMHoiXX0sZll0PXY3ZSxoWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGx1ZyIsaWNvbjpbNDQ4LDUxMixbMTI4MjY4XSwiZjFlNiIsIk0xMjgtMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NiAxMjggMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA5NiA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgNjRjMCA5NS4xLTY5LjIgMTc0LjEtMTYwIDE4OS4zbDAgNjYuN2MwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY2LjdDMTAxLjIgMzk4LjEgMzIgMzE5LjEgMzIgMjI0bDAtNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzE0LjMgOTYgMzIgOTZsNjQgMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxtWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGFub3JhbWEiLGljb246WzU3Niw1MTIsW10sImUyMDkiLCJNNDMuOSA0OEMxOS43IDQ4IDAgNjcuNyAwIDkxLjlMMCA0MjAuMWMwIDI0LjMgMTkuNyA0My45IDQzLjkgNDMuOSA1LjUgMCAxMC43LTEgMTUuNy0yLjkgMTIuOS00LjkgMTAzLjQtMzcuMSAyMjguNC0zNy4xczIxNS41IDMyLjMgMjI4LjQgMzcuMWM1IDEuOSAxMC4yIDIuOSAxNS43IDIuOSAyNC4zIDAgNDMuOS0xOS43IDQzLjktNDMuOWwwLTMyOC4yYzAtMjQuMy0xOS43LTQzLjktNDMuOS00My45LTUuNSAwLTEwLjcgMS0xNS43IDIuOS0xMi45IDQuOS0xMDMuNCAzNy4xLTIyOC40IDM3LjFTNzIuNSA1NS43IDU5LjYgNTAuOUM1NC42IDQ5IDQ5LjQgNDggNDMuOSA0OHpNNzIgMTc2YTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6bTI2NC4xLTE2YzcuNSAwIDE0LjYgMy42IDE5LjEgOS42TDQ3OS43IDMzNi4yYzUuOSA3LjkgNi40IDE4LjUgMS4zIDI2LjlzLTE0LjggMTIuOC0yNC41IDExLjFjLTQ1LjgtNy44LTEwMy4zLTE0LjItMTY4LjQtMTQuMi02NS42IDAtMTIzLjQgNi41LTE2OS4zIDE0LjQtOS44IDEuNy0xOS43LTIuOS0yNC43LTExLjVzLTQuMy0xOS40IDEuOS0yNy4yTDE2NS4zIDI0OWM0LjYtNS43IDExLjUtOSAxOC43LTlzMTQuMiAzLjMgMTguNyA5bDI3LjUgMzQuNCA4Ni43LTExMy45YzQuNi02IDExLjctOS41IDE5LjItOS41eiJdfSxodj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG9jay1yb3RhdGUtbGVmdCIsaWNvbjpbNTc2LDUxMixbImhpc3RvcnkiXSwiZjFkYSIsIk0yODggNjRjMTA2IDAgMTkyIDg2IDE5MiAxOTJTMzk0IDQ0OCAyODggNDQ4Yy02NS4yIDAtMTIyLjktMzIuNS0xNTcuNi04Mi4zLTEwLjEtMTQuNS0zMC4xLTE4LTQ0LjYtNy45cy0xOCAzMC4xLTcuOSA0NC42QzEyNC4xIDQ2OC42IDIwMSA1MTIgMjg4IDUxMiA0MjkuNCA1MTIgNTQ0IDM5Ny40IDU0NCAyNTZTNDI5LjQgMCAyODggMEMyMDIuMyAwIDEyNi41IDQyLjEgODAgMTA2LjdMODAgODBjMC0xNy43LTE0LjMtMzItMzItMzJTMTYgNjIuMyAxNiA4MGwwIDExMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwyNC42IDBjLjUgMCAxIDAgMS41IDBsODYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzguMyAwQzE1NC45IDEwMi42IDIxNyA2NCAyODggNjR6bTI0IDg4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTA0YzAgNi40IDIuNSAxMi41IDcgMTdsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC02NS02NSAwLTk0LjF6Il19LGdZdD1odixiWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiamFyLXdoZWF0IixpY29uOlszMjAsNTEyLFtdLCJlNTE3IiwiTTMyLThjMC0xMy4zIDEwLjctMjQgMjQtMjRsMjA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMNTYgMTZDNDIuNyAxNiAzMiA1LjMgMzItOHpNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMTkyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptMTEyIDMybC00Mi4yIDBjLTMuMiAwLTUuOCAyLjYtNS44IDUuOCAwIDMyLjEgMjYgNTguMiA1OC4yIDU4LjJsNzUuNiAwYzMyLjEgMCA1OC4yLTI2IDU4LjItNTguMiAwLTMuMi0yLjYtNS44LTUuOC01LjhMMjA4IDE2MGMtMTkuMSAwLTM2LjMgOC40LTQ4IDIxLjctMTEuNy0xMy4zLTI4LjktMjEuNy00OC0yMS43em00OCAxMTcuN2MtMTEuNy0xMy4zLTI4LjktMjEuNy00OC0yMS43bC00Mi4yIDBjLTMuMiAwLTUuOCAyLjYtNS44IDUuOCAwIDMyLjEgMjYgNTguMiA1OC4yIDU4LjJsNzUuNiAwYzMyLjEgMCA1OC4yLTI2IDU4LjItNTguMiAwLTMuMi0yLjYtNS44LTUuOC01LjhMMjA4IDI1NmMtMTkuMSAwLTM2LjMgOC40LTQ4IDIxLjd6TTExMiAzNTJsLTQyLjIgMGMtMy4yIDAtNS44IDIuNi01LjggNS44IDAgMzIuMSAyNiA1OC4yIDU4LjIgNTguMmwyMS44IDAgMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMzIgMjEuOCAwYzMyLjEgMCA1OC4yLTI2IDU4LjItNTguMiAwLTMuMi0yLjYtNS44LTUuOC01LjhMMjA4IDM1MmMtMTkuMSAwLTM2LjMgOC40LTQ4IDIxLjctMTEuNy0xMy4zLTI4LjktMjEuNy00OC0yMS43eiJdfSxudGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQtYXJyb3ctZG93biIsaWNvbjpbNTc2LDUxMixbNjIzMzcsImNsb3VkLWRvd25sb2FkIiwiY2xvdWQtZG93bmxvYWQtYWx0Il0sImYwZWQiLCJNMTQ0IDQ4MGMtNzkuNSAwLTE0NC02NC41LTE0NC0xNDQgMC02My40IDQxLTExNy4yIDk3LjktMTM2LjUtMS4zLTcuNy0xLjktMTUuNS0xLjktMjMuNSAwLTc5LjUgNjQuNS0xNDQgMTQ0LTE0NCA1NS40IDAgMTAzLjUgMzEuMyAxMjcuNiA3Ny4xIDE0LjItOC4zIDMwLjgtMTMuMSA0OC40LTEzLjEgNTMgMCA5NiA0MyA5NiA5NiAwIDE1LjctMy44IDMwLjYtMTAuNSA0My43IDQ0IDIwLjMgNzQuNSA2NC43IDc0LjUgMTE2LjMgMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhsLTMwNCAwek0zNzcgMzEzYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTMxIDMxIDAtMTAyLjFjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxMDIuMS0zMS0zMWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw3MiA3MmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGw3Mi03MnoiXX0sdll0PW50ZSx4WXQ9bnRlLHg3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1yYW1wLWJveCIsaWNvbjpbNTc2LDUxMixbInRydWNrLWxvYWRpbmciXSwiZjRkZSIsIk00MDAgMzJjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMjQ4LjItMjk3LjIgODkuMkM1LjkgNDU0LjQtMy43IDQ3Mi4zIDEuNCA0ODkuMnMyMi45IDI2LjUgMzkuOCAyMS41bDMxNS41LTk0LjYgNDMuNyAwYy0uMiAyLjYtLjQgNS4zLS40IDggMCA0OC42IDM5LjQgODggODggODhzODgtMzkuNCA4OC04OGwwLTM5Mi0xNzYgMHpNNTI4IDQyNGMwIDIyLjEtMTcuOSA0MC00MCA0MHMtNDAtMTcuOS00MC00MCAxNy45LTQwIDQwLTQwYzIyLjEgMCAzOS45IDE3LjkgNDAgMzkuOWwwIC4xek01MS45IDE0OS41QzE4LjEgMTU5LjgtLjkgMTk1LjYgOS40IDIyOS40bDI4LjEgOTEuOEM0Ny44IDM1NSA4My42IDM3NCAxMTcuNCAzNjMuN2w5MS44LTI4LjFjMzMuOC0xMC4zIDUyLjgtNDYuMSA0Mi41LTc5LjlsLTI4LjEtOTEuOGMtMTAuMy0zMy44LTQ2LjEtNTIuOC03OS45LTQyLjVMNTEuOSAxNDkuNXoiXX0seVl0PXg3ZSx3WXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5nbGUtZG93biIsaWNvbjpbMzg0LDUxMixbODk2NF0sImYxMDciLCJNMTY5LjQgMzc0LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwxOTIgMzA2LjcgNTQuNiAxNjkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MHoiXX0sTVl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsdWctY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNTVjIiwiTTE5Mi0zMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2IDEyOCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCA0OC43Yy05OC42IDguMS0xNzYgOTAuNy0xNzYgMTkxLjMgMCAyNy4zIDUuNyA1My4zIDE2IDc2LjlsMCAzLjFjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02Ni43QzE2NS4yIDM5OC4xIDk2IDMxOS4xIDk2IDIyNGwwLTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlM3OC4zIDk2IDk2IDk2bDY0IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzUyIDQwMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMDEuNC02MC45Yy03LjEtNS4yLTE3LjItMy42LTIyLjQgMy41bC01MyA3Mi45LTI2LjgtMjYuOGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGMzLjMgMy4zIDcuOSA1IDEyLjYgNC42czguOS0yLjggMTEuNy02LjVsNjQtODhjNS4yLTcuMSAzLjYtMTcuMi0zLjUtMjIuM3oiXX0sa1l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndpbmRvdy1tYXhpbWl6ZSIsaWNvbjpbNTEyLDUxMixbMTI4NDcwXSwiZjJkMCIsIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCA2NHptMjQgNjRsMzM2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMODggMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxTWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZHMtaG9sZGluZy1jaXJjbGUiLGljb246WzY0MCw1MTIsW10sImU0ZmIiLCJNMzIwIDBhMTI4IDEyOCAwIDEgMSAwIDI1NiAxMjggMTI4IDAgMSAxIDAtMjU2ek00MCA2NGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDE2MC4yYzAgMTcgNi43IDMzLjMgMTguNyA0NS4zbDUxLjEgNTEuMWM4LjMgOC4zIDIxLjMgOS42IDMxIDMuMSAxMi45LTguNiAxNC43LTI2LjkgMy43LTM3LjgtNy4zLTcuMy0yMy4xLTIzLjEtNDcuMi00Ny4yLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBjMjQuMSAyNC4xIDM5LjkgMzkuOSA0Ny4yIDQ3LjJsMCAwIDI1LjMgMjUuM2MyMSAyMSAzMi44IDQ5LjUgMzIuOCA3OS4ybDAgNzguOWMwIDI2LjUtMjEuNSA0OC00OCA0OGwtNjYuNyAwYy0xNyAwLTMzLjMtNi43LTQ1LjMtMTguN0wyOC4xIDM5My40QzEwLjEgMzc1LjQgMCAzNTEgMCAzMjUuNUwwIDEwNEMwIDgxLjkgMTcuOSA2NCA0MCA2NHptNTYwIDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCAyMjEuNWMwIDI1LjUtMTAuMSA0OS45LTI4LjEgNjcuOUw1MTIgNDkzLjNjLTEyIDEyLTI4LjMgMTguNy00NS4zIDE4LjdMNDAwIDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC03OC45YzAtMjkuNyAxMS44LTU4LjIgMzIuOC03OS4ybDI1LjMtMjUuMyAwIDBjNy4zLTcuMyAyMy4xLTIzLjEgNDcuMi00Ny4yIDEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNjLTI0LjEgMjQuMS0zOS45IDM5LjktNDcuMiA0Ny4yLTExIDExLTkuMiAyOS4yIDMuNyAzNy44IDkuNyA2LjUgMjIuNyA1LjIgMzEtMy4xbDUxLjEtNTEuMWMxMi0xMiAxOC43LTI4LjMgMTguNy00NS4zTDU2MCAxMDRjMC0yMi4xIDE3LjktNDAgNDAtNDB6Il19LHk3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsb2NhdGlvbi1waW4iLGljb246WzM4NCw1MTIsWyJtYXAtbWFya2VyIl0sImYwNDEiLCJNMTkyIDBDODYgMCAwIDg0LjQgMCAxODguNiAwIDMwNy45IDEyMC4yIDQ1MC45IDE3MC40IDUwNS40IDE4Mi4yIDUxOC4yIDIwMS44IDUxOC4yIDIxMy42IDUwNS40IDI2My44IDQ1MC45IDM4NCAzMDcuOSAzODQgMTg4LjYgMzg0IDg0LjQgMjk4IDAgMTkyIDB6Il19LHpZdD15N2UsQ1l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvd2xpbmctYmFsbCIsaWNvbjpbNTEyLDUxMixbXSwiZjQzNiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjQwIDgwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMjA4IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0tNjQtNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSx3N2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FydC1mbGF0YmVkIixpY29uOls1NzYsNTEyLFsiZG9sbHktZmxhdGJlZCJdLCJmNDc0IiwiTTMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyUzE0LjMgNjQgMzIgNjRsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyODhjMCAzOS44IDI5LjEgNzIuOCA2Ny4xIDc5LTIgNS4zLTMuMSAxMS0zLjEgMTcgMCAyNi41IDIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OGMwLTUuNi0xLTExLTIuNy0xNmwxOTcuNSAwYy0xLjggNS0yLjcgMTAuNC0yLjcgMTYgMCAyNi41IDIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OGMwLTUuNi0xLTExLTIuNy0xNmwzNC43IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQwMCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yODhDMTI4IDM1LjggOTIuMiAwIDQ4IDBMMzIgMHpNMjI0IDY0Yy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE3NmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyNDAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE3NmMwLTI2LjUtMjEuNS00OC00OC00OEwyMjQgNjR6Il19LF9ZdD13N2UsTTdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLXVzZXIiLGljb246WzUxMiw1MTIsWyJob21lLXVzZXIiXSwiZTFiMCIsIk0yNzcuOCA4LjZjLTEyLjMtMTEuNC0zMS4zLTExLjQtNDMuNSAwbC0yMjQgMjA4Yy05LjYgOS0xMi44IDIyLjktOCAzNS4xUzE4LjggMjcyIDMyIDI3MmwxNiAwIDAgMTc2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI4OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTc2IDE2IDBjMTMuMiAwIDI1LTguMSAyOS44LTIwLjNzMS42LTI2LjItOC0zNS4xbC0yMjQtMjA4ek0yMDAgMjU2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMTQ0IDQzMmMwLTQ0LjIgMzUuOC04MCA4MC04MGw2NCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNmwtMTkyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnoiXX0sVFl0PU03ZSxMWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2hvc3QiLGljb246WzM4NCw1MTIsWzEyODEyM10sImY2ZTIiLCJNNDAuMSA0NjcuMWwtMTEuMiA5QzI1LjcgNDc4LjYgMjEuOCA0ODAgMTcuOCA0ODAgOCA0ODAgMCA0NzIgMCA0NjIuMkwwIDE5MkMwIDg2IDg2IDAgMTkyIDBTMzg0IDg2IDM4NCAxOTJsMCAyNzAuMmMwIDkuOC04IDE3LjgtMTcuOCAxNy44LTQgMC03LjktMS40LTExLjEtMy45bC0xMS4yLTljLTEzLjQtMTAuNy0zMi44LTktNDQuMSAzLjlMMjY5LjMgNTA2Yy0zLjMgMy44LTguMiA2LTEzLjMgNnMtOS45LTIuMi0xMy4zLTZsLTI2LjYtMzAuNWMtMTIuNy0xNC42LTM1LjQtMTQuNi00OC4yIDBMMTQxLjMgNTA2Yy0zLjMgMy44LTguMiA2LTEzLjMgNnMtOS45LTIuMi0xMy4zLTZMODQuMiA0NzFjLTExLjMtMTIuOS0zMC43LTE0LjYtNDQuMS0zLjl6TTE2MCAxOTJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptOTYgMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSwkWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tbWVudC1ub2RlcyIsaWNvbjpbNjQwLDUxMixbXSwiZTY5NiIsIk00ODAgMjA4QzUwMy43IDIwOCA1MjUuNiAyMTUuMyA1NDMuNyAyMjcuOSA1MzYuOSAxMDAuOSA0MjUgMCAyODggMCAxNDYuNiAwIDMyIDEwNy41IDMyIDI0MCAzMiAyOTQuMyA1MS4yIDM0NC4zIDgzLjYgMzg0LjVMMzQuOCA0NzYuOGMtNC44IDktMy4zIDIwIDMuNiAyNy41czE3LjggOS44IDI3LjEgNS44bDExOC40LTUwLjdjMjcuMiAxMS40IDU2LjkgMTguNCA4OC4xIDIwLjIgLjEtMTguOSA0LjktMzggMTUtNTUuNSAxNy4xLTI5LjcgNDUuOC00OC41IDc3LTU0LjJsOS4yLTE2Yy0zLjQtMTAuNy01LjItMjItNS4yLTMzLjggMC02MS45IDUwLjEtMTEyIDExMi0xMTJ6TTMyOC42IDQ0OGMtMTcuNyAzMC42LTcuMiA2OS43IDIzLjQgODcuNHM2OS43IDcuMiA4Ny40LTIzLjRjMS41LTIuNiAyLjgtNS4zIDMuOS04bDczLjMgMGMxLjEgMi43IDIuNCA1LjQgMy45IDggMTcuNyAzMC42IDU2LjggNDEuMSA4Ny40IDIzLjRzNDEuMS01Ni44IDIzLjQtODcuNGMtMTMuNC0yMy4yLTM5LjEtMzQuOC02NC0zMS40bC0xNy42LTMwLjdjLTExIDExLjctMjUgMjAuNi00MC42IDI1LjZsMTYuNSAyOC45Yy0zLjggNC44LTYuOCAxMC05IDE1LjZsLTczLjQgMGMtMi4yLTUuNi01LjMtMTAuOC05LTE1LjZsMzMtNTcuN2M0LjEgLjggOC40IDEuMyAxMi44IDEuMyAzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NC02NCAyOC43LTY0IDY0YzAgMTMuNCA0LjEgMjUuOCAxMS4yIDM2LjFsLTM0LjYgNjAuNWMtMjUtMy40LTUwLjYgOC4zLTY0IDMxLjR6Il19LERZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tYXJyb3ctZG93bi10by1saW5lIixpY29uOls1NzYsNTEyLFtdLCJlNTM4IiwiTTE5Mi0zMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnpNMzE4LjMgMjk5LjFsLTQ2LjMtNjIuNCAwIDI0My4zIDI3MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDU0NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw4MCAwIDAtMjQzLjMtNDYuMyA2Mi40Yy0xMC41IDE0LjItMzAuNiAxNy4yLTQ0LjggNi42cy0xNy4yLTMwLjYtNi42LTQ0LjhsNzAuNS05NUMxMTAgMTMyIDE0OS43IDExMiAxOTIgMTEyczgyIDIwIDEwNy4yIDUzLjlsNzAuNSA5NWMxMC41IDE0LjIgNy42IDM0LjItNi42IDQ0LjhzLTM0LjIgNy42LTQ0LjgtNi42ek0xNzYgNDgwbDMyIDAgMC0xMjhjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAxMjh6TTU2Ni42IDE2Ni42bC04MCA4MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTgwLTgwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDQzMiAxNDYuNyA0MzIgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTQ2LjcgMjUuNC0yNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6Il19LEFZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbHVnLWNpcmNsZS1wbHVzIixpY29uOls2NDAsNTEyLFtdLCJlNTVmIiwiTTE5Mi0zMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2IDEyOCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCA0OC43Yy05OC42IDguMS0xNzYgOTAuNy0xNzYgMTkxLjMgMCAyNy4zIDUuNyA1My4zIDE2IDc2LjlsMCAzLjFjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02Ni43QzE2NS4yIDM5OC4xIDk2IDMxOS4xIDk2IDIyNGwwLTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlM3OC4zIDk2IDk2IDk2bDY0IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNDk2IDI1NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTE2IDgwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNDgtNDggMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTQ4IDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTQ4IDAgMC00OHoiXX0sazdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1zd2ltbWluZyIsaWNvbjpbNjQwLDUxMixbMTI3OTQ2LCJzd2ltbWVyIl0sImY1YzQiLCJNNTUyIDE1MmE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6TTI5My40IDE5OC4ybC04OC42IDczLjljMS4xIDAgMi4yLS4xIDMuMy0uMSAzMy4xLS4yIDY2LjMgMTAuMiA5NC40IDMxLjQgMjIuMSAxNi42IDI5LjEgMTYuNiA1MS4yIDAgMjcuNS0yMC43IDU5LjktMzEuMiA5Mi40LTMxLjQgNC44IDAgOS43IC4yIDE0LjUgLjYtOC4zLTMwLTI0LjMtNTcuNy00Ni44LTgwLjItMTguNC0xOC40LTQwLjYtMzIuNy02NS00MS44bC02OC42LTI1LjdjLTI3LjQtMTAuMy01OC03LjUtODMuMSA3LjZsLTUzLjUgMzIuMWMtMTUuMiA5LjEtMjAuMSAyOC43LTExIDQzLjlzMjguNyAyMC4xIDQzLjkgMTFMMjMwIDE4Ny4zYzguNC01IDE4LjYtNS45IDI3LjctMi41bDM1LjcgMTMuNHptMTEwIDE4MS45YzIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDE5IDE0LjQgNDEuOSAyOC4yIDY3LjIgMzMuMyAyNi41IDUuNCA1NC4zIC44IDgwLjctMTkuMSAxMC42LTggMTIuNy0yMyA0LjctMzMuNnMtMjMtMTIuNy0zMy42LTQuN2MtMTQuOSAxMS4yLTI4LjYgMTMuMS00Mi4zIDEwLjMtMTQuOS0zLTMwLjktMTEuOS00Ny44LTI0LjYtMzguNC0yOS05MC41LTI5LTEyOSAwLTI0IDE4LjEtNDAuNyAyNi4zLTU0LjUgMjYuM3MtMzAuNS04LjItNTQuNS0yNi4zYy0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjEuNiAxNi4zLTQxLjMgMjUuOC01OC45IDI1LjctOS42LS4xLTE5LjktMy0zMS4yLTExLjUtMTAuNi04LTI1LjYtNS45LTMzLjYgNC43UzcgMzg2LjMgMTcuNiAzOTQuM2MxOS4xIDE0LjQgMzkuNCAyMSA1OS44IDIxLjEgMzMuOSAuMiA2NC4zLTE3LjQgODguMS0zNS4zIDIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDI0LjIgMTguMyA1Mi4zIDM1LjkgODMuNCAzNS45czU5LjEtMTcuNyA4My40LTM1Ljl6Il19LEVZdD1rN2UsUzdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbW1lbnQtZG90cyIsaWNvbjpbNTEyLDUxMixbMTI4MTcyLDYyMDc1LCJjb21tZW50aW5nIl0sImY0YWQiLCJNMjU2IDQ4MGMxNDEuNCAwIDI1Ni0xMDcuNSAyNTYtMjQwUzM5Ny40IDAgMjU2IDAgMCAxMDcuNSAwIDI0MGMwIDU0LjMgMTkuMiAxMDQuMyA1MS42IDE0NC41TDIuOCA0NzYuOGMtNC44IDktMy4zIDIwIDMuNiAyNy41czE3LjggOS44IDI3LjEgNS44bDExOC40LTUwLjdDMTgzLjcgNDcyLjYgMjE4LjkgNDgwIDI1NiA0ODB6TTEyOCAyMDhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTk2IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LFBZdD1TN2UsejdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYXJ0LXBpZSIsaWNvbjpbNTc2LDUxMixbInBpZS1jaGFydCJdLCJmMjAwIiwiTTUxMi40IDI0MGwtMTc2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTc2YzAtMTcuNyAxNC40LTMyLjIgMzEuOS0yOS45IDEwNyAxNC4yIDE5MS44IDk5IDIwNiAyMDYgMi4zIDE3LjUtMTIuMiAzMS45LTI5LjkgMzEuOXpNMjIyLjYgMzcuMmMxOC4xLTMuOCAzMy44IDExIDMzLjggMjkuNWwwIDE5Ny4zYzAgNS42IDIgMTEgNS41IDE1LjNMMzk0IDQzOC43YzExLjcgMTQuMSA5LjIgMzUuNC02LjkgNDQuMS0zNC4xIDE4LjYtNzMuMiAyOS4yLTExNC43IDI5LjItMTMyLjUgMC0yNDAtMTA3LjUtMjQwLTI0MCAwLTExNS41IDgxLjUtMjExLjkgMTkwLjItMjM0Ljh6TTQ3Ny44IDI4OGw2NCAwYzE4LjUgMCAzMy4zIDE1LjcgMjkuNSAzMy44LTEwLjIgNDguNC0zNSA5MS40LTY5LjYgMTI0LjItMTIuMyAxMS43LTMxLjYgOS4yLTQyLjQtMy45TDM3NC45IDM0MC40Yy0xNy4zLTIwLjktMi40LTUyLjQgMjQuNi01Mi40bDc4LjIgMHoiXX0sSVl0PXo3ZSxOWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZnJvZyIsaWNvbjpbNTc2LDUxMixbXSwiZjUyZSIsIk0zNjggMzJjNDEuNyAwIDc1LjkgMzEuOCA3OS43IDcyLjVsODUuNiAyNi4zYzI1LjQgNy44IDQyLjggMzEuMyA0Mi44IDU3LjkgMCAyMS44LTExLjcgNDEuOS0zMC43IDUyLjdsLTE0NC41IDgyLjEgOTIuNSA5Mi41IDUwLjcgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRMMzQ2LjkgMzYwLjJjMTEuNy0zNiAzLjItNzcuMS0yNS40LTEwNS43LTQwLjYtNDAuNi0xMDYuMy00MC42LTE0Ni45LS4xTDEwMSAzMjQuNGMtNi40IDYuMS02LjcgMTYuMi0uNiAyMi42czE2LjIgNi42IDIyLjYgLjZsNzMuOC03MC4yIC4xLS4xIC4xLS4xYzMuNS0zLjUgNy4zLTYuNiAxMS4zLTkuMiAyNy45LTE4LjUgNjUuOS0xNS40IDkwLjUgOS4yIDI0LjcgMjQuNyAyNy43IDYyLjkgOSA5MC45LTIuNiAzLjgtNS42IDcuNS05IDEwLjlMMjYxLjggNDE2IDM1MiA0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMNjQgNDgwQzI4LjcgNDgwIDAgNDUxLjMgMCA0MTYgMCAyNDkuNiAxMjcgMTEyLjkgMjg5LjMgOTcuNSAyOTYuMiA2MC4yIDMyOC44IDMyIDM2OCAzMnptMCAxMDRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSxSWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2luZS1ib3R0bGUiLGljb246WzMyMCw1MTIsW10sImY3MmYiLCJNODAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMiAwIDExLjgtNi40IDIyLjItMTYgMjcuN2wwIDE0NS42YzU2LjUgMjQuNyA5NiA4MS4xIDk2IDE0Ni43bDAgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDU3NmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyODhjMC02NS42IDM5LjUtMTIyIDk2LTE0Ni43TDk2LTQuM0M4Ni40LTkuOCA4MC0yMC4yIDgwLTMyek05NiAyODhjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDk2IDI4OHoiXX0sT1l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImluYm94IixpY29uOls1MTIsNTEyLFtdLCJmMDFjIiwiTTkxLjggMzJDNTkuOSAzMiAzMi45IDU1LjQgMjguNCA4Ni45TC42IDI4MS4yYy0uNCAzLS42IDYtLjYgOS4xTDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTI1LjdjMC0zLS4yLTYuMS0uNi05LjFMNDgzLjYgODYuOUM0NzkuMSA1NS40IDQ1Mi4xIDMyIDQyMC4yIDMyTDkxLjggMzJ6bTAgNjRsMzI4LjUgMCAyNy40IDE5Mi01OS45IDBjLTEyLjEgMC0yMy4yIDYuOC0yOC42IDE3LjdsLTE0LjMgMjguNmMtNS40IDEwLjgtMTYuNSAxNy43LTI4LjYgMTcuN2wtMTIwLjQgMGMtMTIuMSAwLTIzLjItNi44LTI4LjYtMTcuN2wtMTQuMy0yOC42Yy01LjQtMTAuOC0xNi41LTE3LjctMjguNi0xNy43TDY0LjMgMjg4IDkxLjggOTZ6Il19LEM3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtaCIsaWNvbjpbNDQ4LDUxMixbImgtc3F1YXJlIl0sImYwZmQiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMzIwIDE2OGwwIDE3NmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTY0LTk2IDAgMCA2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE3NmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNjQgOTYgMCAwLTY0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6Il19LEZZdD1DN2UsQll0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLW1lZGljYWwiLGljb246WzUxMiw1MTIsW10sImUzYjIiLCJNMjc3LjggOC42Yy0xMi4zLTExLjQtMzEuMy0xMS40LTQzLjUgMGwtMjI0IDIwOGMtOS42IDktMTIuOCAyMi45LTggMzUuMVMxOC44IDI3MiAzMiAyNzJsMTYgMCAwIDE3NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyODggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE3NiAxNiAwYzEzLjIgMCAyNS04LjEgMjkuOC0yMC4zczEuNi0yNi4yLTgtMzUuMWwtMjI0LTIwOHpNMjI0IDI0OGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCA0MCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtNDAgMCAwIDQwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MHoiXX0sXzdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1jaGV2cm9uLXJpZ2h0IixpY29uOls1MTIsNTEyLFsiY2hldnJvbi1jaXJjbGUtcmlnaHQiXSwiZjEzOCIsIk0wIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwIDI1NiAyNTYgMCAxIDAgLTUxMiAwek0yNDEgMzc3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDg3LTg3LTg3LTg3Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBMMzQ1IDIzOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOUwyNDEgMzc3eiJdfSxIWXQ9XzdlLHFZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWNzdiIsaWNvbjpbNTc2LDUxMixbXSwiZjZkZCIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDgwIDAgMC0xMTJjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTc2IDAgMC0xNjUuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyOTAuNyAxOC43QzI3OC43IDYuNyAyNjIuNSAwIDI0NS41IDBMOTYgMHpNMzU3LjUgMTc2TDI2NCAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MCA1OC41IDM1Ny41IDE3NnpNMjY0IDM4MGMtMjQuMyAwLTQ0IDE5LjctNDQgNDRsMCA4MGMwIDI0LjMgMTkuNyA0NCA0NCA0NGwxNiAwYzI0LjMgMCA0NC0xOS43IDQ0LTQ0bDAtOGMwLTExLTktMjAtMjAtMjBzLTIwIDktMjAgMjBsMCA4YzAgMi4yLTEuOCA0LTQgNGwtMTYgMGMtMi4yIDAtNC0xLjgtNC00bDAtODBjMC0yLjIgMS44LTQgNC00bDE2IDBjMi4yIDAgNCAxLjggNCA0bDAgOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLThjMC0yNC4zLTE5LjctNDQtNDQtNDRsLTE2IDB6bTEzNiAwYy0yOC43IDAtNTIgMjMuMy01MiA1MnMyMy4zIDUyIDUyIDUyYzYuNiAwIDEyIDUuNCAxMiAxMnMtNS40IDEyLTEyIDEybC0zMiAwYy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGwzMiAwYzI4LjcgMCA1Mi0yMy4zIDUyLTUycy0yMy4zLTUyLTUyLTUyYy02LjYgMC0xMi01LjQtMTItMTJzNS40LTEyIDEyLTEybDI0IDBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwbC0yNCAwem05NiAwYy0xMSAwLTIwIDktMjAgMjBsMCAzMS42YzAgMzUuNSAxMC41IDcwLjMgMzAuMiA5OS44bDUuMSA3LjdjMy43IDUuNiAxMCA4LjkgMTYuNiA4LjlzMTIuOS0zLjMgMTYuNi04LjlsNS4xLTcuN2MxOS43LTI5LjYgMzAuMi02NC4zIDMwLjItOTkuOGwwLTMxLjZjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwbDAgMzEuNmMwIDE5LjYtNC4xIDM4LjktMTIgNTYuNy03LjktMTcuOC0xMi0zNy4xLTEyLTU2LjdsMC0zMS42YzAtMTEtOS0yMC0yMC0yMHoiXX0sVll0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhdC1jb3dib3kiLGljb246WzY0MCw1MTIsW10sImY4YzAiLCJNMTgyLjIgNzYuMUwxMzAuOCAzMDcuNUMxNDUuNSAzMjQuOSAxNjcuNCAzMzYgMTkyIDMzNmwyNTYgMGMyNC42IDAgNDYuNS0xMS4xIDYxLjItMjguNUw0NTcuOCA3Ni4xYy01LjctMjUuOC0yOC42LTQ0LjEtNTUtNDQuMS0xMi4yIDAtMjQuMSA0LTMzLjggMTEuM2wtNC43IDMuNWMtMjYuMyAxOS43LTYyLjQgMTkuNy04OC42IDBMMjcxIDQzLjNjLTkuOC03LjMtMjEuNi0xMS4zLTMzLjgtMTEuMy0yNi40IDAtNDkuMyAxOC4zLTU1IDQ0LjF6TTY0IDI1NmMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDIzOC4zIDAgMjU2QzAgMzYyIDg2IDQ0OCAxOTIgNDQ4bDI1NiAwYzEwNiAwIDE5Mi04NiAxOTItMTkyIDAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4bC0yNTYgMGMtNzAuNyAwLTEyOC01Ny4zLTEyOC0xMjh6Il19LFQ3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4tdG9uZ3VlLXdpbmsiLGljb246WzUxMiw1MTIsWzEyODU0MCwiZ3Jpbi10b25ndWUtd2luayJdLCJmNThiIiwiTTE1Mi4yIDQ5MC4xQzYyLjUgNDUwLjIgMCAzNjAuNCAwIDI1NiAwIDExNC42IDExNC42IDAgMjU2IDBTNTEyIDExNC42IDUxMiAyNTZjMCAxMDQuNC02Mi41IDE5NC4yLTE1Mi4yIDIzNC4xIDUuMy0xMyA4LjItMjcuMiA4LjItNDIuMWwwLTYxLjdjMTYuOS0xNi41IDMwLjEtMzYuNyAzOC4zLTU5LjMgNC4zLTExLjgtNy43LTIxLjgtMTkuNi0xOC4xLTM5LjIgMTIuMi04My43IDE5LjEtMTMwLjcgMTkuMXMtOTEuNS02LjktMTMwLjctMTkuMWMtMTEuOS0zLjctMjMuOSA2LjMtMTkuNiAxOC4xIDguMyAyMi42IDIxLjUgNDIuOCAzOC4zIDU5LjNsMCA2MS43YzAgMTQuOSAyLjkgMjkuMSA4LjIgNDIuMXpNMTUyIDIxMmwxNiAwYzExIDAgMjAgOSAyMCAyMHM5IDIwIDIwIDIwIDIwLTkgMjAtMjBjMC0zMy4xLTI2LjktNjAtNjAtNjBsLTE2IDBjLTMzLjEgMC02MCAyNi45LTYwIDYwIDAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwIDktMjAgMjAtMjB6bTE4NCA2MGE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHpNMzIwIDQwMi42bDAgNDUuNGMwIDM1LjMtMjguNyA2NC02NCA2NHMtNjQtMjguNy02NC02NGwwLTQ1LjRjMC0xNC43IDExLjktMjYuNiAyNi42LTI2LjZsMiAwYzExLjMgMCAyMS4xIDcuOSAyMy42IDE4LjkgMi44IDEyLjYgMjAuOCAxMi42IDIzLjYgMCAyLjUtMTEuMSAxMi4zLTE4LjkgMjMuNi0xOC45bDIgMGMxNC43IDAgMjYuNiAxMS45IDI2LjYgMjYuNnpNMzM2IDE4NGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LGpZdD1UN2UsVVl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImwiLGljb246WzMyMCw1MTIsWzEwOF0sIjRjIiwiTTY0IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzUyIDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDY0IDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMzIgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LGx0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1kb3duLXNob3J0LXdpZGUiLGljb246WzU3Niw1MTIsWyJzb3J0LWFtb3VudC1kZXNjIiwic29ydC1hbW91bnQtZG93bi1hbHQiXSwiZjg4NCIsIk0yNDYuNiAzNzQuNmwtOTYgOTZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC05Ni05NmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEw5NiAzNzAuNyA5NiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzA2LjcgNDEuNC00MS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6TTMyMCAzMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDEyOGw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDEyOGwxNjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTAgMTI4bDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnoiXX0sV1l0PWx0ZSxHWXQ9bHRlLEw3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VyZ2xhc3MtaGFsZiIsaWNvbjpbMzg0LDUxMixbImhvdXJnbGFzcy0yIl0sImYyNTIiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGwwIDExYzAgNDIuNCAxNi45IDgzLjEgNDYuOSAxMTMuMWw2Ny45IDY3LjktNjcuOSA2Ny45QzQ4LjkgMzUzLjkgMzIgMzk0LjYgMzIgNDM3bDAgMTFjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC0xMWMwLTQyLjQtMTYuOS04My4xLTQ2LjktMTEzLjFsLTY3LjktNjcuOSA2Ny45LTY3LjljMzAtMzAgNDYuOS03MC43IDQ2LjktMTEzLjFsMC0xMWMxNy43IDAgMzItMTQuMyAzMi0zMlMzNjkuNyAwIDM1MiAwTDMyIDB6TTk2IDc1bDAtMTEgMTkyIDAgMCAxMWMwIDE5LTUuNiAzNy40LTE2IDUzTDExMiAxMjhjLTEwLjMtMTUuNi0xNi0zNC0xNi01M3ptMTYgMzA5YzMuNS01LjMgNy42LTEwLjMgMTIuMS0xNC45bDY3LjktNjcuOSA2Ny45IDY3LjljNC42IDQuNiA4LjYgOS42IDEyLjIgMTQuOUwxMTIgMzg0eiJdfSxZWXQ9TDdlLCQ3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcG9vbiIsaWNvbjpbNTEyLDUxMixbMTI5MzQ4LDYxODczLCJ1dGVuc2lsLXNwb29uIl0sImYyZTUiLCJNMjQ1LjggMjIwLjljLTE0LjUtMTcuNi0yMS44LTM5LjItMjEuOC02MC44IDAtODAuMiA5Ni0xNjAuMiAxOTItMTYwLjIgNTMgMCA5NiA0MyA5NiA5NiAwIDk2LTgwIDE5Mi0xNjAuMiAxOTItMjEuNiAwLTQzLjItNy4zLTYwLjgtMjEuOEw1NC42IDUwMi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyNDUuOCAyMjAuOXoiXX0sS1l0PSQ3ZSxEN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3JlZGl0LWNhcmQiLGljb246WzUxMiw1MTIsWzEyODE3OSw2MjA4MywiY3JlZGl0LWNhcmQtYWx0Il0sImYwOWQiLCJNMCAxMjhsMCAzMiA1MTIgMCAwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4em0wIDgwTDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTc2LTUxMiAwek02NCAzNjBjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTE0NCAwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTY0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0eiJdfSxaWXQ9RDdlLFZ0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWludm9pY2UtZG9sbGFyIixpY29uOlszODQsNTEyLFtdLCJmNTcxIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek02NCA4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDg4IDY0Qzc0LjcgNjQgNjQgNzQuNyA2NCA4OHptMCA5NmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptMTEyIDc2bDAgNGMtMjguOCAuMy01MiAyMy43LTUyIDUyLjUgMCAyNS43IDE4LjUgNDcuNiA0My45IDUxLjhsNDEuNyA3YzYgMSAxMC40IDYuMiAxMC40IDEyLjMgMCA2LjktNS42IDEyLjUtMTIuNSAxMi41TDE1MiA0MDBjLTExIDAtMjAgOS0yMCAyMHM5IDIwIDIwIDIwbDI0IDAgMCA0YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtNC43YzI1LTQuMSA0NC0yNS43IDQ0LTUxLjggMC0yNS43LTE4LjUtNDcuNi00My45LTUxLjhsLTQxLjctN2MtNi0xLTEwLjQtNi4yLTEwLjQtMTIuMyAwLTYuOSA1LjYtMTIuNSAxMi41LTEyLjVsNDcuNSAwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtOCAwIDAtNGMwLTExLTktMjAtMjAtMjBzLTIwIDktMjAgMjB6Il19LEE3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcGFnaGV0dGktbW9uc3Rlci1mbHlpbmciLGljb246WzY0MCw1MTIsWyJwYXN0YWZhcmlhbmlzbSJdLCJmNjdiIiwiTTIwOCA2NGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem00OCAwYzAgMTYuMi02IDMxLjEtMTYgNDIuM2wxNS42IDMxLjJjMTguNy02IDM5LjktOS41IDY0LjQtOS41czQ1LjggMy41IDY0LjQgOS41TDQwMCAxMDYuM2MtMTAtMTEuMy0xNi0yNi4xLTE2LTQyLjMgMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NC0yOC43IDY0LTY0IDY0Yy0xLjcgMC0zLjQtLjEtNS4xLS4yTDQyNy44IDE1OGMyMS4xIDEzLjYgMzcuNyAzMC4yIDUxLjQgNDYuNCA3LjEgOC4zIDEzLjUgMTYuNiAxOS4zIDI0bDEuNCAxLjhjNi4zIDguMSAxMS42IDE0LjggMTYuNyAyMC40IDEwLjcgMTEuNyAxNi4xIDEzLjQgMTkuNCAxMy40IDIuNSAwIDQuMy0uNiA3LjEtMy4zIDMuNy0zLjUgNy4xLTguOCAxMi41LTE3LjRsLjYtLjljNC42LTcuNCAxMS0xNy42IDE5LjQtMjUuNyA5LjctOS4zIDIyLjktMTYuNyA0MC40LTE2LjcgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTIuNSAwLTQuMyAuNi03LjEgMy4zLTMuNyAzLjUtNy4xIDguOC0xMi41IDE3LjRsLS42IC45Yy00LjYgNy40LTExIDE3LjYtMTkuNCAyNS43LTkuNyA5LjMtMjIuOSAxNi43LTQwLjQgMTYuNy0xOC41IDAtMzIuOS04LjUtNDQuMy0xOC42LTMuMSA0LTYuNiA4LjMtMTAuNSAxMi43IDEuNCA0LjMgMi44IDguNSA0IDEyLjUgLjkgMyAxLjggNS44IDIuNiA4LjYgMyA5LjggNS41IDE4LjIgOC42IDI1LjkgMy45IDkuOCA3LjQgMTUuNCAxMC44IDE4LjUgMi42IDIuNCA1LjkgNC4zIDEyLjggNC4zIDguNyAwIDE2LjktNC4yIDMzLjctMTMuMiAxNS04IDM1LjctMTguOCA2Mi4zLTE4LjggMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTEzLjQgMC0yNC43IDUuMi0zOS43IDEzLjItMSAuNi0yLjEgMS4xLTMuMiAxLjctMTMuMSA3LjEtMzEuNiAxNy4xLTUzLjEgMTcuMS0xOC40IDAtMzMuNi02LjEtNDUuNS0xNy4yLTExLjEtMTAuMy0xNy45LTIzLjctMjIuNy0zNi0zLjYtOS02LjctMTkuMS05LjUtMjguNS0xNi40IDEyLjMtMzYuMSAyMy42LTU4LjkgMzEuMyAzLjYgMTAuOCA4LjQgMjMuNSAxNC40IDM2LjIgNy41IDE1LjkgMTYuMiAzMC40IDI1LjggNDAuNSA5LjYgMTAuMiAxNy43IDEzLjcgMjQuNSAxMy43IDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0yNS4yIDAtNDUtMTMuNS01OS41LTI4LjgtMTQuNS0xNS40LTI1LjctMzQuOS0zNC4yLTUzLTgtMTctMTQuMS0zMy44LTE4LjMtNDYuOS01LjIgLjQtMTAuNiAuNi0xNiAuNnMtMTAuOC0uMi0xNi0uNmMtNC4yIDEzLTEwLjMgMjkuOS0xOC4zIDQ2LjktOC41IDE4LjEtMTkuOCAzNy42LTM0LjIgNTMtMTQuNCAxNS4zLTM0LjMgMjguOC01OS41IDI4LjgtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGM2LjggMCAxNS0zLjUgMjQuNS0xMy43IDkuNS0xMC4xIDE4LjMtMjQuNiAyNS44LTQwLjUgNS45LTEyLjYgMTAuNy0yNS40IDE0LjQtMzYuMi0yMi44LTcuNy00Mi41LTE5LTU4LjktMzEuMy0yLjkgOS40LTYgMTkuNS05LjUgMjguNS00LjggMTIuMi0xMS42IDI1LjYtMjIuNyAzNi0xMS45IDExLjEtMjcuMSAxNy4yLTQ1LjUgMTcuMi0xMy4xIDAtMjQuNS00LjEtMzMuOC04LjktNy45LTQtMTUuNy05LjItMjIuMS0xMy41bDAgMC0yLjQtMS42Yy0xNS4zLTEwLjItMjUuOC0xNi0zNy43LTE2LTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMjguMSAwIDQ5LjYgMTQuMiA2NC4zIDI0bDIuNCAxLjZjNi45IDQuNiAxMi4xIDguMSAxNy4yIDEwLjcgNS41IDIuOCA5LjEgMy42IDEyIDMuNiA2LjggMCAxMC4yLTEuOSAxMi44LTQuMyAzLjQtMy4yIDctOC44IDEwLjgtMTguNSAzLTcuNyA1LjYtMTYuMSA4LjYtMjUuOSAuOC0yLjcgMS43LTUuNiAyLjYtOC42IDEuMi00IDIuNi04LjIgNC0xMi41LTMuOS00LjUtNy40LTguOC0xMC41LTEyLjctMTEuNCAxMC4xLTI1LjkgMTguNi00NC4zIDE4LjYtMTcuNSAwLTMwLjctNy40LTQwLjQtMTYuNy04LjQtOC4xLTE0LjgtMTguMy0xOS40LTI1LjdsLS42LS45Yy01LjQtOC42LTguOC0xMy45LTEyLjUtMTcuNC0yLjgtMi43LTQuNi0zLjMtNy4xLTMuMy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzE3LjUgMCAzMC43IDcuNCA0MC40IDE2LjcgOC40IDguMSAxNC44IDE4LjMgMTkuNCAyNS43bC42IC45YzUuNCA4LjYgOC44IDEzLjkgMTIuNSAxNy40IDIuOCAyLjcgNC42IDMuMyA3LjEgMy4zIDMuMyAwIDguNy0xLjcgMTkuNC0xMy40IDUuMS01LjYgMTAuNC0xMi4zIDE2LjctMjAuNGwxLjQtMS44YzUuOC03LjQgMTIuMi0xNS43IDE5LjMtMjQgMTMuOC0xNi4yIDMwLjMtMzIuOCA1MS40LTQ2LjRsLTE1LjEtMzAuMmMtMS43IC4xLTMuNCAuMi01LjEgLjItMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NCA2NCAyOC43IDY0IDY0em0yMDggMGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAweiJdfSxYWXQ9QTdlLEU3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJ0aW5pLWdsYXNzLWNpdHJ1cyIsaWNvbjpbNjQwLDUxMixbImNvY2t0YWlsIl0sImY1NjEiLCJNNTc2IDgwYzAtNDQuMi0zNS44LTgwLTgwLTgwLTE4IDAtMzQuNiA2LTQ4IDE2bC04MSAwYzIzLjYtNDcuNCA3Mi41LTgwIDEyOS04MCA3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NFM1NzUuNSAyMjQgNDk2IDIyNGMtNi41IDAtMTMtLjQtMTkuMy0xLjNsNjQtNzQuN2MxLjEtMS4zIDIuMi0yLjcgMy4zLTQuMSAxOS40LTE0LjYgMzItMzcuOCAzMi02NHpNNjYuOSA4Mi42QzcyLjIgNzEuMyA4My41IDY0IDk2IDY0bDM4NCAwYzEyLjUgMCAyMy44IDcuMyAyOS4xIDE4LjZzMy40IDI0LjctNC44IDM0LjJsLTE4NC4zIDIxNSAwIDExNi4yIDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDY0IDAgMC0xMTYuMi0xODQuMy0yMTVjLTguMS05LjUtMTAtMjIuOC00LjgtMzQuMnpNMTY1LjYgMTI4TDI4OCAyNzAuOCA0MTAuNCAxMjggMTY1LjYgMTI4eiJdfSxRWXQ9RTdlLEpZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWxsaG9ybiIsaWNvbjpbNTEyLDUxMixbMTI4MjI2LDEyODM2M10sImYwYTEiLCJNNDYxLjIgMTguOUM0NzIuNyAyNCA0ODAgMzUuNCA0ODAgNDhsMCA0MTZjMCAxMi42LTcuMyAyNC0xOC44IDI5LjFzLTI0LjggMy4yLTM0LjMtNS4xbC00Ni42LTQwLjdjLTQzLjYtMzguMS05OC43LTYwLjMtMTU2LjQtNjNsMCA5NS43YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk2QzU3LjMgMzg0IDAgMzI2LjcgMCAyNTZTNTcuMyAxMjggMTI4IDEyOGw4NC41IDBjNjEuOC0uMiAxMjEuNC0yMi43IDE2Ny45LTYzLjNsNDYuNi00MC43YzkuNC04LjMgMjIuOS0xMC4yIDM0LjMtNS4xek0yMjQgMzIwbDAgLjJjNzAuMyAyLjcgMTM3LjggMjguNSAxOTIgNzMuNGwwLTI3NS4zYy01NC4yIDQ0LjktMTIxLjcgNzAuNy0xOTIgNzMuNEwyMjQgMzIweiJdfSxlS3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm94LXRpc3N1ZSIsaWNvbjpbNTEyLDUxMixbXSwiZTA1YiIsIk0xMDMuOSAzMmwxNjEgMGMxMy44IDAgMjYgOC44IDMwLjQgMjEuOWwxNy40IDUyLjJjNC40IDEzLjEgMTYuNiAyMS45IDMwLjQgMjEuOWw2MC41IDBjMjEuOCAwIDM3LjMgMjEuNCAzMC40IDQyLjFMMzg0IDMyMCAxMjggMzIwIDcyLjcgNzAuOUM2OC4yIDUxIDgzLjQgMzIgMTAzLjkgMzJ6TTQ4IDI1NmwxNi42IDAgMTYuNSA3NC40Qzg2IDM1Mi40IDEwNS41IDM2OCAxMjggMzY4bDI1NiAwYzIwLjcgMCAzOS0xMy4yIDQ1LjUtMzIuOGwyNi40LTc5LjIgOC4xIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxMjhjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDMwNGMwLTI2LjUgMjEuNS00OCA0OC00OHoiXX0sdEt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hdHRyZXNzLXBpbGxvdyIsaWNvbjpbNTc2LDUxMixbXSwiZTUyNSIsIk0yNTYgNjRMNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTkyIDAgMC0zODR6bTQ4IDM4NGwyMDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NGwtMjA4IDAgMCAzODR6TTY0IDE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTkyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE5MnoiXX0sYUt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZXZyb24tbGVmdCIsaWNvbjpbMzIwLDUxMixbOTAwMV0sImYwNTMiLCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxOTIgMTkyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTYgMjQ2LjYgODYuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMTkyIDE5MnoiXX0sckt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3VkLW1vb24tcmFpbiIsaWNvbjpbNTc2LDUxMixbXSwiZjczYyIsIk00NDggMGMtNjguNiAwLTEyNy4xIDQzLjEtMTQ5LjggMTAzLjggMTcuMSAxNC4xIDI5LjYgMzMuNSAzNC45IDU1LjggMzkuOSAyMS43IDY2LjkgNjMuOSA2Ni45IDExMi41IDAgMTMuNS0yLjEgMjYuNS01LjkgMzguNyAxNi45IDYgMzUgOS4zIDUzLjkgOS4zIDQzIDAgODIuMS0xNyAxMTAuOC00NC42IDQuNi00LjQgNS45LTExLjIgMy4zLTE3cy04LjYtOS4zLTE0LjktOC44Yy0zIC4yLTYuMSAuNC05LjIgLjQtNjMuNSAwLTExNS01MS41LTExNS0xMTUgMC00NS4xIDI2LTg0LjIgNjMuOC0xMDMgNS43LTIuOCA5LTguOSA4LjItMTUuMlM0ODkuNiA1LjMgNDgzLjQgMy45QzQ3MiAxLjQgNDYwLjIgMCA0NDggMHpNMjcyIDM1MmM0NC4yIDAgODAtMzUuOCA4MC04MCAwLTM5LTI3LjktNzEuNS02NC44LTc4LjYgLjUtMy4xIC44LTYuMiAuOC05LjQgMC0zMC45LTI1LjEtNTYtNTYtNTYtMTIuNCAwLTIzLjkgNC0zMy4xIDEwLjgtMTMuNC0yNS41LTQwLjEtNDIuOC03MC45LTQyLjgtNDQuMiAwLTgwIDM1LjgtODAgODAgMCA3LjQgMSAxNC42IDIuOSAyMS41LTI5LjggMTEuNi01MC45IDQwLjYtNTAuOSA3NC41IDAgNDQuMiAzNS44IDgwIDgwIDgwbDE5MiAwek02OSA0MDEuMWMtMTIuNi00LjItMjYuMiAyLjYtMzAuNCAxNS4yTDE3LjIgNDgwLjRDMTMgNDkzIDE5LjggNTA2LjYgMzIuNCA1MTAuOHMyNi4yLTIuNiAzMC40LTE1LjJsMjEuNC02NC4xYzQuMi0xMi42LTIuNi0yNi4yLTE1LjItMzAuNHptMTIwIDBjLTEyLjYtNC4yLTI2LjIgMi42LTMwLjQgMTUuMmwtMjEuNCA2NC4xYy00LjIgMTIuNiAyLjYgMjYuMiAxNS4yIDMwLjRzMjYuMi0yLjYgMzAuNC0xNS4ybDIxLjQtNjQuMWM0LjItMTIuNi0yLjYtMjYuMi0xNS4yLTMwLjR6bTEyMCAwYy0xMi42LTQuMi0yNi4yIDIuNi0zMC40IDE1LjJsLTIxLjQgNjQuMWMtNC4yIDEyLjYgMi42IDI2LjIgMTUuMiAzMC40czI2LjItMi42IDMwLjQtMTUuMmwyMS40LTY0LjFjNC4yLTEyLjYtMi42LTI2LjItMTUuMi0zMC40eiJdfSxjdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctZG93bi0xLTkiLGljb246WzUxMiw1MTIsWyJzb3J0LW51bWVyaWMtYXNjIiwic29ydC1udW1lcmljLWRvd24iXSwiZjE2MiIsIk00MTguNyAzOGM4LjMgNiAxMy4zIDE1LjcgMTMuMyAyNmwwIDk2IDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYgMCAwLTUxLjYtNS45IDJjLTE2LjggNS42LTM0LjktMy41LTQwLjUtMjAuMnMzLjUtMzQuOSAyMC4yLTQwLjVsNDgtMTZjOS44LTMuMyAyMC41LTEuNiAyOC44IDQuNHpNMzY1LjEgNDMwLjZsMTEuNy0xOGMtMzIuOS05LjktNTYuOC00MC41LTU2LjgtNzYuNiAwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMjIuOS02LjYgNDUuMy0xOS4xIDY0LjVsLTQyLjEgNjQuOWMtOS42IDE0LjgtMjkuNCAxOS4xLTQ0LjMgOS40cy0xOS4xLTI5LjQtOS40LTQ0LjN6TTQyNCAzMzZhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNMTUwLjYgNDcwLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC05Ni05NmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEw5NiAzNzAuNyA5NiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzA2LjcgNDEuNC00MS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNsLTk2IDk2eiJdfSxzS3Q9Y3RlLGlLdD1jdGUsb0t0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtc3BvY2siLGljb246WzUxMiw1MTIsWzEyODQwNl0sImYyNTkiLCJNMjE0LjkgMjMuN0MyMTAuMyA2LjYgMTkyLjgtMy41IDE3NS43IDEuMXMtMjcuMiAyMi4xLTIyLjYgMzkuMkwyMDYgMjM3LjhjMi41IDkuMi00LjUgMTguMi0xNCAxOC4yLTYuNCAwLTEyLTQuMi0xMy45LTEwLjNMMTM0LjYgMTAyLjdjLTUuMS0xNi45LTIzLTI2LjQtMzkuOS0yMS4zcy0yNi40IDIzLTIxLjMgMzkuOWw2Mi44IDIwNi40YzIuNCA3LjktNy4yIDEzLjgtMTMuMiA4LjFMNjcuNiAyODNjLTE2LTE1LjItNDEuMy0xNC42LTU2LjYgMS40Uy0zLjYgMzI1LjcgMTIuNCAzNDFMMTI0LjggNDQ4YzQzLjEgNDEuMSAxMDAuNCA2NCAxNjAgNjRsMTkuMSAwYy4xIDAgLjEtLjEgLjEtLjFzLjEtLjEgLjEtLjFjNTguMy0zLjUgMTA4LjYtNDMuMiAxMjUuMy05OS43bDgxLjItMjc1YzUtMTYuOS00LjctMzQuNy0yMS42LTM5LjhzLTM0LjcgNC43LTM5LjggMjEuNkw0MTEuNSAyNDcuMWMtMS42IDUuMy02LjQgOC45LTEyIDguOS03LjkgMC0xMy44LTcuMy0xMi4yLTE1LjFsMzYtMTcwLjNjMy43LTE3LjMtNy40LTM0LjMtMjQuNy0zNy45cy0zNC4zIDcuNC0zNy45IDI0LjdMMzIzLjEgMjM1LjFjLTIuNiAxMi4yLTEzLjMgMjAuOS0yNS44IDIwLjktMTEuOSAwLTIyLjQtOC0yNS40LTE5LjVsLTU3LTIxMi44eiJdfSxQN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2FuZC1tYWdpYy1zcGFya2xlcyIsaWNvbjpbNTc2LDUxMixbIm1hZ2ljLXdhbmQtc3BhcmtsZXMiXSwiZTJjYSIsIk0yNjMuNC0yN0wyNzguMiA5LjggMzE1IDI0LjZjMyAxLjIgNSA0LjIgNSA3LjRzLTIgNi4yLTUgNy40TDI3OC4yIDU0LjIgMjYzLjQgOTFjLTEuMiAzLTQuMiA1LTcuNCA1cy02LjItMi03LjQtNUwyMzMuOCA1NC4yIDE5NyAzOS40Yy0zLTEuMi01LTQuMi01LTcuNHMyLTYuMiA1LTcuNEwyMzMuOCA5LjggMjQ4LjYtMjdjMS4yLTMgNC4yLTUgNy40LTVzNi4yIDIgNy40IDV6TTExMC43IDQxLjdsMjEuNSA1MC4xIDUwLjEgMjEuNWM1LjkgMi41IDkuNyA4LjMgOS43IDE0LjdzLTMuOCAxMi4yLTkuNyAxNC43bC01MC4xIDIxLjUtMjEuNSA1MC4xYy0yLjUgNS45LTguMyA5LjctMTQuNyA5LjdzLTEyLjItMy44LTE0LjctOS43TDU5LjggMTY0LjIgOS43IDE0Mi43QzMuOCAxNDAuMiAwIDEzNC40IDAgMTI4czMuOC0xMi4yIDkuNy0xNC43TDU5LjggOTEuOCA4MS4zIDQxLjdDODMuOCAzNS44IDg5LjYgMzIgOTYgMzJzMTIuMiAzLjggMTQuNyA5Ljd6TTQ2NCAzMDRjNi40IDAgMTIuMiAzLjggMTQuNyA5LjdsMjEuNSA1MC4xIDUwLjEgMjEuNWM1LjkgMi41IDkuNyA4LjMgOS43IDE0LjdzLTMuOCAxMi4yLTkuNyAxNC43bC01MC4xIDIxLjUtMjEuNSA1MC4xYy0yLjUgNS45LTguMyA5LjctMTQuNyA5LjdzLTEyLjItMy44LTE0LjctOS43bC0yMS41LTUwLjEtNTAuMS0yMS41Yy01LjktMi41LTkuNy04LjMtOS43LTE0LjdzMy44LTEyLjIgOS43LTE0LjdsNTAuMS0yMS41IDIxLjUtNTAuMWMyLjUtNS45IDguMy05LjcgMTQuNy05Ljd6TTQ2MCAwYzExIDAgMjEuNiA0LjQgMjkuNSAxMi4ybDQyLjMgNDIuM0M1MzkuNiA2Mi40IDU0NCA3MyA1NDQgODRzLTQuNCAyMS42LTEyLjIgMjkuNWwtODguMiA4OC4yLTEwMS4zLTEwMS4zIDg4LjItODguMkM0MzguNCA0LjQgNDQ5IDAgNDYwIDB6TTQ0LjIgMzk4LjVMMzA4LjQgMTM0LjMgNDA5LjcgMjM1LjYgMTQ1LjUgNDk5LjhDMTM3LjYgNTA3LjYgMTI3IDUxMiAxMTYgNTEycy0yMS42LTQuNC0yOS41LTEyLjJMNDQuMiA0NTcuNUMzNi40IDQ0OS42IDMyIDQzOSAzMiA0MjhzNC40LTIxLjYgMTIuMi0yOS41eiJdfSxuS3Q9UDdlLGxLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21tZW50LW1lZGljYWwiLGljb246WzUxMiw1MTIsW10sImY3ZjUiLCJNMjU2IDQ4MGMxNDEuNCAwIDI1Ni0xMDcuNSAyNTYtMjQwUzM5Ny40IDAgMjU2IDAgMCAxMDcuNSAwIDI0MGMwIDU0LjMgMTkuMiAxMDQuMyA1MS42IDE0NC41TDIuOCA0NzYuOGMtNC44IDktMy4zIDIwIDMuNiAyNy41czE3LjggOS44IDI3LjEgNS44bDExOC40LTUwLjdDMTgzLjcgNDcyLjYgMjE4LjkgNDgwIDI1NiA0ODB6TTIxNy42IDE1My42YzAtMTAuNiA4LjYtMTkuMiAxOS4yLTE5LjJsMzguNCAwYzEwLjYgMCAxOS4yIDguNiAxOS4yIDE5LjJsMCA0OCA0OCAwYzEwLjYgMCAxOS4yIDguNiAxOS4yIDE5LjJsMCAzOC40YzAgMTAuNi04LjYgMTkuMi0xOS4yIDE5LjJsLTQ4IDAgMCA0OGMwIDEwLjYtOC42IDE5LjItMTkuMiAxOS4ybC0zOC40IDBjLTEwLjYgMC0xOS4yLTguNi0xOS4yLTE5LjJsMC00OC00OCAwYy0xMC42IDAtMTkuMi04LjYtMTkuMi0xOS4ybDAtMzguNGMwLTEwLjYgOC42LTE5LjIgMTkuMi0xOS4ybDQ4IDAgMC00OHoiXX0sY0t0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJlbGwtc2xhc2giLGljb246WzU3Niw1MTIsWzEyODI3Nyw2MTk0M10sImYxZjYiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtODcuNS04Ny41YzE3LjItMi40IDMwLjUtMTcuMyAzMC41LTM1LjIgMC04LjEtMi43LTE1LjktNy44LTIyLjJsLTkuOC0xMi4yQzQ2NC40IDMwOC41IDQ0OCAyNjEuOCA0NDggMjEzLjdsMC0yMS43YzAtNzcuNC01NS0xNDItMTI4LTE1Ni44bDAtMy4yYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMy4yYy0zOC42IDcuOC03Mi4yIDI5LjYtOTUuMiA1OS43TDQxLTI0Ljl6bTg3IDIzOC41YzAgNDguMS0xNi40IDk0LjgtNDYuNCAxMzIuNGwtOS44IDEyLjJjLTUgNi4zLTcuOCAxNC4xLTcuOCAyMi4yIDAgMTkuNiAxNS45IDM1LjUgMzUuNSAzNS41bDIzNS4zIDAtMjA2LjktMjA2LjkgMCA0LjV6TTI4OCA1MTJjMjkuOCAwIDU0LjktMjAuNCA2Mi00OGwtMTI0IDBjNy4xIDI3LjYgMzIuMiA0OCA2MiA0OHoiXX0sZHRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzaGFrZS1zbGFzaCIsaWNvbjpbNTc2LDUxMixbNTc0MzksImhhbmRzaGFrZS1hbHQtc2xhc2giLCJoYW5kc2hha2Utc2ltcGxlLXNsYXNoIl0sImUwNjAiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMjg4LTI4OCAxNC4yLTE0LjJjNC4yLTQuMiA5LjUtNi41IDE0LjktNi45IDYuOC0uNiAxMy44IDEuNyAxOSA2LjlMNTA1LjYgMzc2IDU3NiAzMjAgNTc2IDMyIDQ2NCA5NiA0NDAuMiA4MC4xQzQyNC40IDY5LjYgNDA1LjkgNjQgMzg2LjkgNjRsLTcwLjQgMGMtMS4xIDAtMi4zIDAtMy40IC4xLTE2LjkgLjktMzIuOCA4LjUtNDQuMiAyMS4xbC01NS44IDYyLjEtMzQtMzQgNDQuMy00OS4yLTM5LjcgMGMtMTUuMyAwLTMwLjEgMy42LTQzLjUgMTAuNEw0MS0yNC45ek0wIDY5LjhMMCAzMjAgMTU2LjQgNDUwLjNjMjMgMTkuMiA1MiAyOS43IDgxLjkgMjkuN2wxNS43IDAtNy03Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNDEgNDEgOSAwYzIyLjIgMCA0My44LTUuOCA2Mi44LTE2LjRMMCA2OS44eiJdfSxkS3Q9ZHRlLHVLdD1kdGUscEt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvdHRsZS13YXRlciIsaWNvbjpbMzIwLDUxMixbXSwiZTRjNSIsIk0xMTItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMEM5NC4zIDMyIDgwIDE3LjcgODAgMHMxNC4zLTMyIDMyLTMyek0xNiAxNDRjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTYwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjQgMCAyNC4xLTEzLjMgNDUuMS0zMyA1NiAxOS43IDEwLjkgMzMgMzEuOSAzMyA1NnMtMTMuMyA0NS4xLTMzIDU2YzE5LjcgMTAuOSAzMyAzMS45IDMzIDU2cy0xMy4zIDQ1LjEtMzMgNTZjMTkuNyAxMC45IDMzIDMxLjkgMzMgNTYgMCAzNS4zLTI4LjcgNjQtNjQgNjRMODAgNTQ0Yy0zNS4zIDAtNjQtMjguNy02NC02NCAwLTI0LjEgMTMuMy00NS4xIDMzLTU2LTE5LjctMTAuOS0zMy0zMS45LTMzLTU2czEzLjMtNDUuMSAzMy01NmMtMTkuNy0xMC45LTMzLTMxLjktMzMtNTZzMTMuMy00NS4xIDMzLTU2Yy0xOS43LTEwLjktMzMtMzEuOS0zMy01NnoiXX0sZkt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpY2UtZDIwIixpY29uOls1MTIsNTEyLFtdLCJmNmNmIiwiTTIyNC40LTguMmMxOS42LTExLjEgNDMuNi0xMS4xIDYzLjEgMGwxOTIgMTA4LjhjMjAgMTEuNCAzMi40IDMyLjYgMzIuNCA1NS43bDAgMjE1LjZjMCAyMy0xMi40IDQ0LjMtMzIuNCA1NS43bC0xOTIgMTA4LjhjLTE5LjYgMTEuMS00My42IDExLjEtNjMuMSAwTDMyLjQgNDI3LjVDMTIuNCA0MTYuMSAwIDM5NC44IDAgMzcxLjhMMCAxNTYuMmMwLTIzIDEyLjQtNDQuMyAzMi40LTU1LjdMMjI0LjQtOC4yem01MiA3My4yQzI2NyA0OS44IDI0NSA0OS44IDIzNS42IDY1bC03Ni42IDEyMy43LTg1LjQtNDYuMy0zLjgtMS42Yy04LjktMi43LTE4LjggMS4xLTIzLjQgOS42cy0yLjQgMTguOSA0LjcgMjQuOGwzLjMgMi4zIDgzLjQgNDUuMi03NC42IDEyMC42QzU1LjMgMzU2LjIgNjEgMzczIDc1IDM3OC40bDE2MSA2MS45IDAgMzkuN2MwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTM5LjcgMTYxLTYxLjljMTQtNS40IDE5LjctMjIuMiAxMS44LTM1bC03NC43LTEyMC42IDgzLjQtNDUuMmM5LjctNS4zIDEzLjMtMTcuNCA4LjEtMjcuMXMtMTcuNC0xMy4zLTI3LjEtOC4xTDM1MyAxODguNyAyNzYuNCA2NXptLTQ3IDMyOS45bC0xMjItNDYuOSA1NC41LTg4LjEgNjcuNSAxMzV6TTQwNC42IDM0OGwtMTIyIDQ2LjkgNjcuNS0xMzUgNTQuNSA4OC4xek0zMTkuMyAyMzJMMjU2IDM1OC42IDE5Mi43IDIzMiAzMTkuMyAyMzJ6TTMwOCAxOTJsLTEwNC4xIDAgNTItODQgNTIgODR6Il19LHV0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1kb3duLXotYSIsaWNvbjpbNTEyLDUxMixbInNvcnQtYWxwaGEtZGVzYyIsInNvcnQtYWxwaGEtZG93bi1hbHQiXSwiZjg4MSIsIk0yMzAuNiAzOTAuNmwtODAgODBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC04MC04MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEw5NiAzNzAuNyA5NiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzA2LjcgMjUuNC0yNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6TTI4OCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxMjggMGMxMi45IDAgMjQuNiA3LjggMjkuNiAxOS44czIuMiAyNS43LTYuOSAzNC45TDM5Ny4zIDE2MCA0NDggMTYwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMjggMGMtMTIuOSAwLTI0LjYtNy44LTI5LjYtMTkuOHMtMi4yLTI1LjcgNi45LTM0LjlMMzcwLjggOTYgMzIwIDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDEyLjYgMjczLjdsODAgMTYwYzcuOSAxNS44IDEuNSAzNS0xNC4zIDQyLjlzLTM1IDEuNS00Mi45LTE0LjNsLTcuMi0xNC4zLTg4LjQgMC03LjIgMTQuM2MtNy45IDE1LjgtMjcuMSAyMi4yLTQyLjkgMTQuM3MtMjIuMi0yNy4xLTE0LjMtNDIuOWw4MC0xNjBjNS40LTEwLjggMTYuNS0xNy43IDI4LjYtMTcuN3MyMy4yIDYuOCAyOC42IDE3Ljd6TTM4NCAzNTkuNmwtMjAuMiA0MC40IDQwLjQgMC0yMC4yLTQwLjR6Il19LGhLdD11dGUsbUt0PXV0ZSxnS3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJ1c2giLGljb246WzM4NCw1MTIsW10sImY1NWQiLCJNMTYyLjQgNmMtMS41LTMuNi01LTYtOC45LTZsLTE5IDBjLTMuOSAwLTcuNSAyLjQtOC45IDZMMTA0LjkgNTcuN2MtMy4yIDgtMTQuNiA4LTE3LjggMEw2Ni40IDZjLTEuNS0zLjYtNS02LTguOS02TDQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4bDAgMjA4IDM4NCAwIDAtMjA4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDIzMC41IDBjLTMuOSAwLTcuNSAyLjQtOC45IDZMMjAwLjkgNTcuN2MtMy4yIDgtMTQuNiA4LTE3LjggMEwxNjIuNCA2ek0wIDMwNGwwIDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDY0IDAgMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0bDAtNjQgNjQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE2LTM4NCAwek0xOTIgNDY0Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2IDE2IDcuMiAxNiAxNi03LjIgMTYtMTYgMTZ6Il19LGJLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24td2Fsa2luZy1kYXNoZWQtbGluZS1hcnJvdy1yaWdodCIsaWNvbjpbNjQwLDUxMixbXSwiZTU1MyIsIk0xNjAgODBhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6TTczLjQgMjI3LjlsMjIuNi0yMi42IDAgNjkuM2MwIDI4IDEyLjIgNTQuNyAzMy41IDcyLjlsNzEuNCA2MS4yYzUuOSA1LjEgOS44IDEyLjEgMTAuOSAxOS44bDEyLjYgODguMWMyLjUgMTcuNSAxOC43IDI5LjcgMzYuMiAyNy4yczI5LjctMTguNyAyNy4yLTM2LjJsLTEyLjYtODguMWMtMy4zLTIzLjEtMTQuOS00NC4xLTMyLjYtNTkuM2wtMzQuNS0yOS42IDAtMTE1LjIgMy44IDQuN2MxOC4yIDIyLjggNDUuOCAzNiA3NSAzNmwzMy4yIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMzLjIgMGMtOS43IDAtMTguOS00LjQtMjUtMTJsLTE3LjktMjIuNGMtMjMtMjguOC01Ny45LTQ1LjYtOTQuOC00NS42LTMyLjIgMC02My4xIDEyLjgtODUuOCAzNS42TDI4LjEgMTgyLjZDMTAuMSAyMDAuNiAwIDIyNSAwIDI1MC41TDAgMjg4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zNy41YzAtOC41IDMuNC0xNi42IDkuNC0yMi42ek04NS44IDQwNy4zYy0xLjUgNS4yLTQuMyAxMC04LjEgMTMuOEw5LjQgNDg5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNjguMy02OC4zYzExLjUtMTEuNSAxOS45LTI1LjggMjQuNC00MS41bDIuMi03LjYtNDYtMzkuNGMtMi41LTIuMi01LTQuNC03LjQtNi44TDg1LjggNDA3LjN6TTQzMiA4YzAtMTMuMy0xMC43LTI0LTI0LTI0UzM4NC01LjMgMzg0IDhsMCAzMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMzJ6bTAgMTI4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMyek00MDggMzIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDMyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHptMjQgMTUyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMyek02MDkgMjczYzkuNC05LjQgOS40LTI0LjYgMC0zMy45bC03Mi03MmMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwzMSAzMS0xMDIuMSAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDEwMi4xIDAtMzEgMzFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3Mi03MnoiXX0sSTdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwLXNob3J0LXdpZGUiLGljb246WzU3Niw1MTIsWyJzb3J0LWFtb3VudC11cC1hbHQiXSwiZjg4NSIsIk0zMjAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMHptMCAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMHptMCAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE2MCAwem0wIDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjI0IDB6TTE1MC42IDQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw5NiAxNDEuMyA5NiA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMwNi43IDQxLjQgNDEuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05Ni05NnoiXX0sdkt0PUk3ZSxON2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ3JpcC12ZXJ0aWNhbCIsaWNvbjpbMzIwLDUxMixbImdyaWQtdmVydGljYWwiXSwiZjU4ZSIsIk0xMjggNDBjMC0yMi4xLTE3LjktNDAtNDAtNDBMNDAgMEMxNy45IDAgMCAxNy45IDAgNDBMMCA4OGMwIDIyLjEgMTcuOSA0MCA0MCA0MGw0OCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtNDh6bTAgMTkyYzAtMjIuMS0xNy45LTQwLTQwLTQwbC00OCAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MGwwIDQ4YzAgMjIuMSAxNy45IDQwIDQwIDQwbDQ4IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBsMC00OHpNMCA0MjRsMCA0OGMwIDIyLjEgMTcuOSA0MCA0MCA0MGw0OCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtNDhjMC0yMi4xLTE3LjktNDAtNDAtNDBsLTQ4IDBjLTIyLjEgMC00MCAxNy45LTQwIDQwek0zMjAgNDBjMC0yMi4xLTE3LjktNDAtNDAtNDBMMjMyIDBjLTIyLjEgMC00MCAxNy45LTQwIDQwbDAgNDhjMCAyMi4xIDE3LjkgNDAgNDAgNDBsNDggMGMyMi4xIDAgNDAtMTcuOSA0MC00MGwwLTQ4ek0xOTIgMjMybDAgNDhjMCAyMi4xIDE3LjkgNDAgNDAgNDBsNDggMGMyMi4xIDAgNDAtMTcuOSA0MC00MGwwLTQ4YzAtMjIuMS0xNy45LTQwLTQwLTQwbC00OCAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MHpNMzIwIDQyNGMwLTIyLjEtMTcuOS00MC00MC00MGwtNDggMGMtMjIuMSAwLTQwIDE3LjktNDAgNDBsMCA0OGMwIDIyLjEgMTcuOSA0MCA0MCA0MGw0OCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtNDh6Il19LHhLdD1ON2UseUt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhci10dW5uZWwiLGljb246WzUxMiw1MTIsW10sImU0ZGUiLCJNMjU2IDBDMTE0LjYgMCAwIDExNC42IDAgMjU2TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQyLjggMGMtNi42LTUuOS0xMC44LTE0LjQtMTAuOC0yNGwwLTExMy4xYzAtMTMuNSAzLjEtMjYuOCA5LTM4LjlsMzkuNy04MC44YzkuNC0xOS4xIDI4LjktMzEuMyA1MC4yLTMxLjNMMzE3IDIyNGMyMS4zIDAgNDAuOCAxMi4xIDUwLjIgMzEuM0w0MDcgMzM2YzUuOSAxMi4xIDkgMjUuNCA5IDM4LjlMNDE2IDQ4OGMwIDkuNi00LjIgMTguMS0xMC44IDI0bDQyLjggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5MkM1MTIgMTE0LjYgMzk3LjQgMCAyNTYgMHpNMzYyLjggNTEyYy02LjYtNS45LTEwLjgtMTQuNC0xMC44LTI0bDAtMjQtMTkyIDAgMCAyNGMwIDkuNi00LjIgMTguMS0xMC44IDI0bDIxMy43IDB6bS0xNzUtMjM1LjVsLTI5LjMgNTkuNSAxOTQuOSAwLTI5LjMtNTkuNWMtMS4zLTIuNy00LjEtNC41LTcuMi00LjVMMTk1IDI3MmMtMyAwLTUuOCAxLjctNy4yIDQuNXpNMTc2IDQyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTE4NC0yNGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSx3S3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhcnQtY29sdW1uIixpY29uOls1MTIsNTEyLFtdLCJlMGUzIiwiTTMyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzM2YzAgOC44IDcuMiAxNiAxNiAxNmw0MDAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw4MCA0ODBjLTQ0LjIgMC04MC0zNS44LTgwLTgwTDAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJ6TTE0NCAyMjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0xNDQtNjRsMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNjBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptODAgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek01MTIgOTZsMCAyMjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnoiXX0sTUt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcHJpY29ybiIsaWNvbjpbNTc2LDUxMixbXSwiZTg0OCIsIk0yNDAgMzJjNzkuNSAwIDE0NCA2NC41IDE0NCAxNDRsMCA2NS4yYzE4LjgtMTAuOSA0MC43LTE3LjIgNjQtMTcuMiA3MC43IDAgMTI4IDU3LjMgMTI4IDEyOFM1MTguNyA0ODAgNDQ4IDQ4MGMtMzUuOCAwLTY4LjItMTQuNy05MS40LTM4LjQtMjguOCA0Mi41LTc3LjQgNzAuNC0xMzIuNiA3MC40LTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJjNTMgMCA5Ni00MyA5Ni05NmwwLTE3NmMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MGwwIDIwOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIyNGMwLTM1LjMtMjguNy02NC02NC02NC0xNy43IDAtMzItMTQuMy0zMi0zMlMxNC4zIDMyIDMyIDMyQzcyLjYgMzIgMTA4LjggNTEgMTMyLjIgODAuNSAxNTguNiA1MC43IDE5Ny4xIDMyIDI0MCAzMnpNNDQ4IDI4OGE2NCA2NCAwIDEgMCAwIDEyOCA2NCA2NCAwIDEgMCAwLTEyOHoiXX0sa0t0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrLWFycm93LXJpZ2h0IixpY29uOls1NzYsNTEyLFtdLCJlNThiIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMy4zIDBjMTAuNCAzNi45IDQ0LjQgNjQgODQuNyA2NHM3NC4yLTI3LjEgODQuNy02NGwxMDIuNiAwYzEwLjQgMzYuOSA0NC40IDY0IDg0LjcgNjRzNzQuMi0yNy4xIDg0LjctNjRsMy4zIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNDYuN2MwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0w1MTIgMTQ2LjdjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdsLTUwLjcgMCAwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek01MTIgMjM3LjNsMCA1MC43LTk2IDAgMC05NiA1MC43IDAgNDUuMyA0NS4zek0xNTIgMzg0YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHptMjMyIDQwYTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6TTMwNSAyMjVsLTcyIDcyYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDMxLTMxLTEwMi4xIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTAyLjEgMC0zMS0zMWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDcyIDcyYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45eiJdfSxwdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHYiLGljb246WzU3Niw1MTIsWzYzNzE3LCJ0ZWxldmlzaW9uIiwidHYtYWx0Il0sImYyNmMiLCJNNjQgOTZsMCAyNDAgNDQ4IDAgMC0yNDAtNDQ4IDB6TTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsNDQ4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNDBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2ek0xNjAgNDQ4bDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnoiXX0sU0t0PXB0ZSx6S3Q9cHRlLENLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzZWN0aW9uIixpY29uOlsyNTYsNTEyLFtdLCJlNDQ3IiwiTTExMCAwQzQ5LjIgMCAwIDQ5LjIgMCAxMTAgMCAxMzMuNyA3LjYgMTU1LjggMjAuNSAxNzQgNy42IDE5MiAwIDIxNC4xIDAgMjM4IDAgMjkxLjcgMzguOSAzMzcuNiA5MS45IDM0Ni40bDYxLjcgMTAuM2MyMi4yIDMuNyAzOC40IDIyLjkgMzguNCA0NS4zIDAgMjUuNC0yMC42IDQ2LTQ2IDQ2bC05OCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk4IDBjNjAuNyAwIDExMC00OS4yIDExMC0xMTAgMC0yMy43LTcuNi00NS45LTIwLjUtNjQgMTIuOS0xOCAyMC41LTQwLjEgMjAuNS02NCAwLTUzLjgtMzguOS05OS42LTkxLjktMTA4LjVsLTYxLjctMTAuM0M4MC4yIDE1MS42IDY0IDEzMi40IDY0IDExMCA2NCA4NC42IDg0LjYgNjQgMTEwIDY0bDk4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJTMjI1LjcgMCAyMDggMEwxMTAgMHptNzQuNyAyOTkuMWMtNi41LTIuNC0xMy40LTQuMy0yMC41LTUuNWwtNjEuNy0xMC4zYy0yMi4yLTMuNy0zOC40LTIyLjktMzguNC00NS4zIDAtOS4yIDIuNy0xNy44IDcuNC0yNSA2LjUgMi40IDEzLjQgNC4zIDIwLjUgNS41bDYxLjcgMTAuM2MyMi4yIDMuNyAzOC40IDIyLjkgMzguNCA0NS4zIDAgOS4yLTIuNyAxNy44LTcuNCAyNXoiXX0sX0t0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlYWNlIixpY29uOls1MTIsNTEyLFs5Nzc0XSwiZjY3YyIsIk0yMjQgNDQ1LjNsMC0xMjEuOC05NC4zIDc3LjFjMjYuMSAyMi44IDU4LjUgMzguNyA5NC4zIDQ0Ljd6TTg5LjIgMzUxLjFMMjI0IDI0MC44IDIyNCA2Ni43Yy05MC44IDE1LjItMTYwIDk0LjItMTYwIDE4OS4zIDAgMzQuNiA5LjIgNjcuMSAyNS4yIDk1LjF6bTI5My4xIDQ5LjVsLTk0LjMtNzcuMSAwIDEyMS44YzM1LjctNiA2OC4xLTIxLjkgOTQuMy00NC43em00MC42LTQ5LjVjMTYtMjggMjUuMi02MC41IDI1LjItOTUuMSAwLTk1LjEtNjkuMi0xNzQuMS0xNjAtMTg5LjNsMCAxNzQuMiAxMzQuOCAxMTAuM3pNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHoiXX0sVEt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0YXIiLGljb246WzU3Niw1MTIsWzExMDg4LDYxNDQ2XSwiZjAwNSIsIk0zMDkuNS0xOC45Yy00LjEtOC0xMi40LTEzLjEtMjEuNC0xMy4xcy0xNy4zIDUuMS0yMS40IDEzLjFMMTkzLjEgMTI1LjMgMzMuMiAxNTAuN2MtOC45IDEuNC0xNi4zIDcuNy0xOS4xIDE2LjNzLS41IDE4IDUuOCAyNC40bDExNC40IDExNC41LTI1LjIgMTU5LjljLTEuNCA4LjkgMi4zIDE3LjkgOS42IDIzLjJzMTYuOSA2LjEgMjUgMkwyODguMSA0MTcuNiA0MzIuNCA0OTFjOCA0LjEgMTcuNyAzLjMgMjUtMnMxMS0xNC4yIDkuNi0yMy4yTDQ0MS43IDMwNS45IDU1Ni4xIDE5MS40YzYuNC02LjQgOC42LTE1LjggNS44LTI0LjRzLTEwLjEtMTQuOS0xOS4xLTE2LjNMMzgzIDEyNS4zIDMwOS41LTE4Ljl6Il19LExLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmbGFnIixpY29uOls0NDgsNTEyLFsxMjc5ODgsNjE3MjVdLCJmMDI0IiwiTTY0IDMyQzY0IDE0LjMgNDkuNyAwIDMyIDBTMCAxNC4zIDAgMzJMMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyMS42IDYyLjctMTguOGM0MS45LTEyLjYgODcuMS04LjcgMTI2LjIgMTAuOSA0Mi43IDIxLjQgOTIuNSAyNCAxMzcuMiA3LjJsMzcuMS0xMy45YzEyLjUtNC43IDIwLjgtMTYuNiAyMC44LTMwbDAtMjQ3LjdjMC0yMy0yNC4yLTM4LTQ0LjgtMjcuN2wtMTEuOCA1LjljLTQ0LjkgMjIuNS05Ny44IDIyLjUtMTQyLjggMC0zNi40LTE4LjItNzguMy0yMS44LTExNy4yLTEwLjFMNjQgNTQuNCA2NCAzMnoiXX0sZnRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyaWFuZ2xlLWV4Y2xhbWF0aW9uIixpY29uOls1MTIsNTEyLFs5ODg4LCJleGNsYW1hdGlvbi10cmlhbmdsZSIsIndhcm5pbmciXSwiZjA3MSIsIk0yNTYgMGMxNC43IDAgMjguMiA4LjEgMzUuMiAyMWwyMTYgNDAwYzYuNyAxMi40IDYuNCAyNy40LS44IDM5LjVTNDg2LjEgNDgwIDQ3MiA0ODBMNDAgNDgwYy0xNC4xIDAtMjcuMi03LjQtMzQuNC0xOS41cy03LjUtMjcuMS0uOC0zOS41bDIxNi00MDBjNy0xMi45IDIwLjUtMjEgMzUuMi0yMXptMCAzNTJhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0em0wLTE5MmMtMTguMiAwLTMyLjcgMTUuNS0zMS40IDMzLjdsNy40IDEwNGMuOSAxMi41IDExLjQgMjIuMyAyMy45IDIyLjMgMTIuNiAwIDIzLTkuNyAyMy45LTIyLjNsNy40LTEwNGMxLjMtMTguMi0xMy4xLTMzLjctMzEuNC0zMy43eiJdfSwkS3Q9ZnRlLERLdD1mdGUsQUt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjaG9vbC1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzY0MCw1MTIsW10sImU1NmMiLCJNNjQgMTI4Yy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNzYgMGMtMTAuNS0xNC42LTE5LTMwLjctMjUuMS00OGwtOTAuOSAwIDAtODhjMC0yMi4xIDE3LjktNDAgNDAtNDBsNDggMGMxIDAgMS45IDAgMi45IC4xIDI2LjMtNzQuNiA5Ny41LTEyOC4xIDE4MS4xLTEyOC4xIDI4LjYgMCA1NS42IDYuMiA4MCAxNy40bDAtMzMuNGMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMC0xMjcuOS0xMTUuMWMtMTguMy0xNi40LTQ2LTE2LjQtNjQuMiAwTDEyOCAxMjggNjQgMTI4em02NCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMnpNMTEyIDI1NmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2ek0yODggMTI4YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek00OTYgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTE0MGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sUjdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdyYWR1YXRpb24tY2FwIixpY29uOls1NzYsNTEyLFsxMjc4OTEsIm1vcnRhci1ib2FyZCJdLCJmMTlkIiwiTTQ4IDE5NS44bDIwOS4yIDg2LjFjOS44IDQgMjAuMiA2LjEgMzAuOCA2LjFzMjEtMi4xIDMwLjgtNi4xbDI0Mi40LTk5LjhjOS0zLjcgMTQuOC0xMi40IDE0LjgtMjIuMXMtNS44LTE4LjQtMTQuOC0yMi4xTDMxOC44IDM4LjFDMzA5IDM0LjEgMjk4LjYgMzIgMjg4IDMycy0yMSAyLjEtMzAuOCA2LjFMMTQuOCAxMzcuOUM1LjggMTQxLjYgMCAxNTAuMyAwIDE2MEwwIDQ1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjYwLjJ6bTQ4IDcxLjdMOTYgMzg0YzAgNTMgODYgOTYgMTkyIDk2czE5Mi00MyAxOTItOTZsMC0xMTYuNi0xNDIuOSA1OC45Yy0xNS42IDYuNC0zMi4yIDkuNy00OS4xIDkuN3MtMzMuNS0zLjMtNDkuMS05LjdMOTYgMjY3LjR6Il19LEVLdD1SN2UsUEt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0b3JlIixpY29uOls1MTIsNTEyLFtdLCJmNTRlIiwiTTMwLjcgNzIuM0MzNy42IDQ4LjQgNTkuNSAzMiA4NC40IDMybDM0NCAwYzI0LjkgMCA0Ni44IDE2LjQgNTMuOCA0MC4zbDIzLjQgODAuMmMxMi44IDQzLjctMjAuMSA4Ny41LTY1LjYgODcuNS0yNi4zIDAtNDkuNC0xNC45LTYwLjgtMzcuMS0xMS42IDIxLjktMzQuNiAzNy4xLTYxLjQgMzcuMS0yNi42IDAtNDkuNy0xNS02MS4zLTM3LTExLjYgMjItMzQuNyAzNy02MS4zIDM3LTI2LjggMC00OS44LTE1LjEtNjEuNC0zNy4xLTExLjQgMjIuMS0zNC41IDM3LjEtNjAuOCAzNy4xLTQ1LjYgMC03OC40LTQzLjctNjUuNi04Ny41TDMwLjcgNzIuM3pNOTYuNCAzNTJsMzIwIDAgMC02Ni40YzcuNiAxLjYgMTUuNSAyLjQgMjMuNSAyLjQgMTQuMyAwIDI4LTIuNiA0MC41LTcuMmwwIDE1MS4yYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zNTIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNTEuMmMxMi41IDQuNiAyNi4xIDcuMiA0MC41IDcuMiA4LjEgMCAxNS45LS44IDIzLjUtMi40bDAgNjYuNHoiXX0sSUt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItYXN0cm9uYXV0IixpY29uOls0NDgsNTEyLFtdLCJmNGZiIiwiTTIyNCAzMzZjNzQuNiAwIDEzOC40LTQ2LjQgMTY0LTExMmw0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC04MGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNCAwQzM2Mi40IDMwLjQgMjk4LjYtMTYgMjI0LTE2Uzg1LjYgMzAuNCA2MCA5NmwtNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDQgMGMyNS42IDY1LjYgODkuNCAxMTIgMTY0IDExMnpNMjA4IDgwbDMyIDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZsLTMyIDBjLTUzIDAtOTYtNDMtOTYtOTZzNDMtOTYgOTYtOTZ6TTE2IDQ4NC42QzE2IDQ5OS43IDI4LjMgNTEyIDQzLjQgNTEybDUyLjYgMCAwLTQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNDggNTIuNiAwYzE1LjEgMCAyNy40LTEyLjMgMjcuNC0yNy40IDAtNTkuOC0zMS45LTExMi4yLTc5LjYtMTQxLTM2LjQgMjUuNS04MC42IDQwLjQtMTI4LjQgNDAuNHMtOTItMTQuOS0xMjguNC00MC40QzQ3LjkgMzcyLjQgMTYgNDI0LjggMTYgNDg0LjZ6TTE4My4zIDE0MS41Yy0uOS0zLjMtMy45LTUuNS03LjMtNS41cy02LjQgMi4yLTcuMyA1LjVsLTYgMjEuMi0yMS4yIDZjLTMuMyAuOS01LjUgMy45LTUuNSA3LjNzMi4yIDYuNCA1LjUgNy4zbDIxLjIgNiA2IDIxLjJjLjkgMy4zIDMuOSA1LjUgNy4zIDUuNXM2LjQtMi4yIDcuMy01LjVsNi0yMS4yIDIxLjItNmMzLjMtLjkgNS41LTMuOSA1LjUtNy4zcy0yLjItNi40LTUuNS03LjNsLTIxLjItNi02LTIxLjJ6TTE1MiA0ODhsMCAyNCA0OCAwIDAtMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6bTEyMC0yNGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAyNCA0OCAwIDAtMjRjMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LE5LdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy1mbGFnIixpY29uOls2NDAsNTEyLFtdLCJlNGQ1IiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDB6TTE3NiAzNTJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDgwLTk2IDAgMC04MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNOTYgMTEyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTI0MCA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek05NiAyNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnptMTQ0LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTQ2NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjg4IDExMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJMNDk2IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSxPN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibXVnLXNhdWNlciIsaWNvbjpbNTc2LDUxMixbImNvZmZlZSJdLCJmMGY0IiwiTTY0IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM1MiAwYzcwLjcgMCAxMjggNTcuMyAxMjggMTI4UzUxOC43IDI4OCA0NDggMjg4YzAgNTMtNDMgOTYtOTYgOTZsLTE5MiAwYy01MyAwLTk2LTQzLTk2LTk2TDY0IDY0em00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRsMCAxMjhjMzUuMyAwIDY0LTI4LjcgNjQtNjR6TTY0IDQ0OGwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw2NCA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6Il19LFJLdD1PN2UsT0t0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxlbW9uIixpY29uOls0NDgsNTEyLFsxMjc4MTldLCJmMDk0IiwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NC02LjYgMC0xMyAxLTE5IDIuOS0yMi41IDctNDguMSAxNC45LTcxIDktNzUuMi0xOS4xLTE1Ni40IDExLTIxMy43IDY4LjNTLTcuMiAyNTAuOCAxMS45IDMyNmM1LjggMjIuOS0yIDQ4LjQtOSA3MS0xLjkgNi0yLjkgMTIuNC0yLjkgMTkgMCAzNS4zIDI4LjcgNjQgNjQgNjQgNi42IDAgMTMtMSAxOS4xLTIuOSAyMi41LTcgNDguMS0xNC45IDcxLTkgNzUuMiAxOS4xIDE1Ni40LTExIDIxMy43LTY4LjNTNDU1LjIgMjYxLjIgNDM2LjEgMTg2Yy01LjgtMjIuOSAyLTQ4LjQgOS03MSAxLjktNiAyLjktMTIuNCAyLjktMTkuMXpNMjIyLjcgMTQzYy01MiAxNS4yLTk2LjUgNTkuNy0xMTEuNyAxMTEuNy0zLjcgMTIuNy0xNy4xIDIwLTI5LjggMTYuM1M2MS4yIDI1NCA2NSAyNDEuM2MxOS44LTY3LjcgNzYuNi0xMjQuNSAxNDQuMy0xNDQuMyAxMi43LTMuNyAyNi4xIDMuNiAyOS44IDE2LjNzLTMuNiAyNi4xLTE2LjMgMjkuOHoiXX0sRkt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcmF2YW4iLGljb246WzY0MCw1MTIsW10sImY4ZmYiLCJNMzIgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzIwIDBjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhsMCAxOTIgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjk2LjQgMGMuMiAyLjYgLjQgNS4zIC40IDggMCA0OC42LTM5LjQgODgtODggODhzLTg4LTM5LjQtODgtODhjMC0yLjcgLjEtNS40IC40LThMOTYgNDE2Yy0zNS4zIDAtNjQtMjguNy02NC02NEwzMiA5NnpNMzUyIDM1Mmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNDgtMjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyNCAwIDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyek0xNjAgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNjQgMHptNjQgMzM2YTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHoiXX0sQkt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InEiLGljb246WzQ0OCw1MTIsWzExM10sIjUxIiwiTTY0IDI1NmMwIDg4LjQgNzEuNiAxNjAgMTYwIDE2MCAyOC45IDAgNTYtNy43IDc5LjQtMjEuMWwtNzItODYuNGMtMTEuMy0xMy42LTkuNS0zMy44IDQuMS00NS4xczMzLjgtOS41IDQ1LjEgNC4xbDcwLjkgODUuMWMyMC40LTI2LjggMzIuNS02MC4zIDMyLjUtOTYuNiAwLTg4LjQtNzEuNi0xNjAtMTYwLTE2MFM2NCAxNjcuNiA2NCAyNTZ6TTM0NC45IDQ0NC42QzMxMCA0NjcgMjY4LjUgNDgwIDIyNCA0ODAgMTAwLjMgNDgwIDAgMzc5LjcgMCAyNTZTMTAwLjMgMzIgMjI0IDMyIDQ0OCAxMzIuMyA0NDggMjU2YzAgNTYuMS0yMC42IDEwNy40LTU0LjcgMTQ2LjdsNDcuMyA1Ni44YzExLjMgMTMuNiA5LjUgMzMuOC00LjEgNDUuMXMtMzMuOCA5LjUtNDUuMS00LjFsLTQ2LjYtNTUuOXoiXX0sSEt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxvY2siLGljb246WzM4NCw1MTIsWzEyODI3NF0sImYwMjMiLCJNMTI4IDk2bDAgNjQgMTI4IDAgMC02NGMwLTM1LjMtMjguNy02NC02NC02NHMtNjQgMjguNy02NCA2NHpNNjQgMTYwbDAtNjRDNjQgMjUuMyAxMjEuMy0zMiAxOTItMzJTMzIwIDI1LjMgMzIwIDk2bDAgNjRjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyMjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDIyNGMwLTM1LjMgMjguNy02NCA2NC02NHoiXX0scUt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhaW50LXJvbGxlciIsaWNvbjpbNTEyLDUxMixbXSwiZjVhYSIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwzNTIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwxNiAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgOTZjMCA0NC4yLTM1LjggODAtODAgODBsLTE2MCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxOC43YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM2wwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2YzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTE4LjdjMC00NC4yIDM1LjgtODAgODAtODBsMTYwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtOTZjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDE5MmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHoiXX0sRjdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZvbHVtZS1oaWdoIixpY29uOls2NDAsNTEyLFsxMjgyNjYsInZvbHVtZS11cCJdLCJmMDI4IiwiTTUzMy42IDMyLjVjLTEwLjMtOC40LTI1LjQtNi44LTMzLjggMy41cy02LjggMjUuNCAzLjUgMzMuOEM1NTcuNSAxMTMuOCA1OTIgMTgwLjggNTkyIDI1NnMtMzQuNSAxNDIuMi04OC43IDE4Ni4zYy0xMC4zIDguNC0xMS44IDIzLjUtMy41IDMzLjhzMjMuNSAxMS44IDMzLjggMy41QzU5OC41IDQyNi43IDY0MCAzNDYuMiA2NDAgMjU2UzU5OC41IDg1LjIgNTMzLjYgMzIuNXpNNDczLjEgMTA3Yy0xMC4zLTguNC0yNS40LTYuOC0zMy44IDMuNXMtNi44IDI1LjQgMy41IDMzLjhDNDc1LjMgMTcwLjcgNDk2IDIxMC45IDQ5NiAyNTZzLTIwLjcgODUuMy01My4yIDExMS44Yy0xMC4zIDguNC0xMS44IDIzLjUtMy41IDMzLjhzMjMuNSAxMS44IDMzLjggMy41YzQzLjItMzUuMiA3MC45LTg4LjkgNzAuOS0xNDlzLTI3LjctMTEzLjgtNzAuOS0xNDl6bS02MC41IDc0LjVjLTEwLjMtOC40LTI1LjQtNi44LTMzLjggMy41cy02LjggMjUuNCAzLjUgMzMuOEMzOTMuMSAyMjcuNiA0MDAgMjQxIDQwMCAyNTZzLTYuOSAyOC40LTE3LjcgMzcuM2MtMTAuMyA4LjQtMTEuOCAyMy41LTMuNSAzMy44czIzLjUgMTEuOCAzMy44IDMuNUM0MzQuMSAzMTIuOSA0NDggMjg2LjEgNDQ4IDI1NnMtMTMuOS01Ni45LTM1LjQtNzQuNXpNODAgMzUybDQ4IDAgMTM0LjEgMTE5LjJjNi40IDUuNyAxNC42IDguOCAyMy4xIDguOCAxOS4yIDAgMzQuOC0xNS42IDM0LjgtMzQuOGwwLTM3OC40YzAtMTkuMi0xNS42LTM0LjgtMzQuOC0zNC44LTguNSAwLTE2LjcgMy4xLTIzLjEgOC44TDEyOCAxNjAgODAgMTYwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDk2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4eiJdfSxWS3Q9RjdlLGpLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb2xkZXItcGx1cyIsaWNvbjpbNTEyLDUxMixbXSwiZjY1ZSIsIk01MTIgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwxMzguNyAwYzEzLjggMCAyNy4zIDQuNSAzOC40IDEyLjhsMzguNCAyOC44YzUuNSA0LjIgMTIuMyA2LjQgMTkuMiA2LjRMNDQ4IDgwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjQwek0yNTYgMTYwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQ4LTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMCAwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00OCA0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwIDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LFVLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtZXJjdXJ5IixpY29uOlszODQsNTEyLFs5NzkxXSwiZjIyMyIsIk0xMTctNEMxMDYtMTcuOCA4NS44LTIwIDcyLjEtOXMtMTYgMzEuMi01IDQ1Qzc0LjkgNDUuNyA4My43IDU0LjUgOTMuNSA2Mi4xIDQ2LjcgOTMuNyAxNiAxNDcuMyAxNiAyMDggMTYgMjk0LjMgNzguMSAzNjYuMSAxNjAgMzgxLjFsMCAzNC45LTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMiAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMzQuOWM4MS45LTE1IDE0NC04Ni44IDE0NC0xNzMuMSAwLTYwLjctMzAuNy0xMTQuMy03Ny41LTE0NS45IDkuOC03LjcgMTguNy0xNi40IDI2LjQtMjYuMSAxMS4xLTEzLjggOC44LTMzLjktNS00NVMyNzgtMTcuOCAyNjctNGMtMTcuNiAyMi00NC43IDM2LTc1IDM2UzEzNC43IDE4IDExNy00em03NSAzMjRjLTYxLjkgMC0xMTItNTAuMS0xMTItMTEyUzEzMC4xIDk2IDE5MiA5NiAzMDQgMTQ2LjEgMzA0IDIwOGMwIDYxLjgtNTAuMSAxMTItMTExLjkgMTEybC0uMSAweiJdfSxXS3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5jaG9yIixpY29uOls1NzYsNTEyLFs5ODc1XSwiZjEzZCIsIk0yODggNjRhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0ek0xOTIgOTZjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmMwIDQxLjgtMjYuNyA3Ny40LTY0IDkwLjVsMCAyNTcuOWM2Mi45LTE0LjMgMTEwLjItNjkuNyAxMTEuOS0xMzYuNWwtMTYuMSAxNC4xYy0xMCA4LjctMjUuMSA3LjctMzMuOS0yLjNzLTcuNy0yNS4xIDIuMy0zMy45bDY0LTU2YzktNy45IDIyLjYtNy45IDMxLjYgMGw2NCA1NmMxMCA4LjcgMTEgMjMuOSAyLjMgMzMuOXMtMjMuOSAxMS0zMy45IDIuM0w0OTYgMzA3LjlDNDkzLjkgNDIxIDQwMS42IDUxMiAyODggNTEyUzgyLjEgNDIxIDgwIDMwNy45TDYzLjggMzIyLjFjLTEwIDguNy0yNS4xIDcuNy0zMy45LTIuM3MtNy43LTI1LjEgMi4zLTMzLjlsNjQtNTZjOS03LjkgMjIuNi03LjkgMzEuNiAwbDY0IDU2YzEwIDguNyAxMSAyMy45IDIuMyAzMy45cy0yMy45IDExLTMzLjkgMi4zbC0xNi4xLTE0LjFjMS44IDY2LjggNDkuMSAxMjIuMiAxMTEuOSAxMzYuNWwwLTI1Ny45Yy0zNy4zLTEzLjItNjQtNDguNy02NC05MC41eiJdfSxCN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXBhcmtpbmciLGljb246WzQ0OCw1MTIsWzEyNzM1OSwicGFya2luZyJdLCJmNTQwIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTE5MiAyNTZsNDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNDggMCAwIDY0em00OCA2NGwtNDggMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTg0YzAtMjIuMSAxNy45LTQwIDQwLTQwbDcyIDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZ6Il19LEdLdD1CN2UsWUt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbnVraWFoIixpY29uOls2NDAsNTEyLFsxMjgzMzRdLCJmNmU2IiwiTTMxNC4yIDMuM2MtNS4xIDguOC0xOC4yIDMzLjMtMTguMiA1Mi43IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjctMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM3ptLTI4OCA0OEMyMS4xIDYwLjEgOCA4NC42IDggMTA0IDggMTE3LjMgMTguNyAxMjggMzIgMTI4czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjctMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM3pNODggMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjctMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM0MxMDEuMSA2MC4xIDg4IDg0LjYgODggMTA0em04Mi4yLTUyLjdjLTUuMSA4LjgtMTguMiAzMy4zLTE4LjIgNTIuNyAwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43LTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjN6TTIxNiAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuNy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zQzIyOS4xIDYwLjEgMjE2IDg0LjYgMjE2IDEwNHpNMzk0LjIgNTEuM2MtNS4xIDguOC0xOC4yIDMzLjMtMTguMiA1Mi43IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjctMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM3pNNDQwIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43LTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjNDNDUzLjEgNjAuMSA0NDAgODQuNiA0NDAgMTA0em04Mi4yLTUyLjdjLTUuMSA4LjgtMTguMiAzMy4zLTE4LjIgNTIuNyAwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43LTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjN6TTU4NCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuNy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zQzU5Ny4xIDYwLjEgNTg0IDg0LjYgNTg0IDEwNHpNMTEyIDE2MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTEyIDMyIDAgMC0xMTJjMC04LjgtNy4yLTE2LTE2LTE2em02NCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxMTIgMzIgMCAwLTExMmMwLTguOC03LjItMTYtMTYtMTZ6bTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDExMiAzMiAwIDAtMTEyYzAtOC44LTcuMi0xNi0xNi0xNnptMTYwIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDExMiAzMiAwIDAtMTEyYzAtOC44LTcuMi0xNi0xNi0xNnptNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTEyIDMyIDAgMC0xMTJjMC04LjgtNy4yLTE2LTE2LTE2em02NCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxMTIgMzIgMCAwLTExMmMwLTguOC03LjItMTYtMTYtMTZ6TTM1MiAxNDRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxNzYtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJTMCAxNzQuMyAwIDE5MmwwIDk2YzAgNTMgNDMgOTYgOTYgOTZsMTkyIDAgMCA2NC0xMjggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTI4IDAgMC02NCAxOTIgMGM1MyAwIDk2LTQzIDk2LTk2bDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTkyIDAgMC0xNzZ6Il19LGV2PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvdGF0ZS1sZWZ0IixpY29uOls1MTIsNTEyLFsicm90YXRlLWJhY2siLCJyb3RhdGUtYmFja3dhcmQiLCJ1bmRvLWFsdCJdLCJmMmVhIiwiTTI0IDE5MmwxNDQgMGM5LjcgMCAxOC41LTUuOCAyMi4yLTE0LjhzMS43LTE5LjMtNS4yLTI2LjJsLTQ2LjctNDYuN2M3NS4zLTU4LjYgMTg0LjMtNTMuMyAyNTMuNSAxNS45IDc1IDc1IDc1IDE5Ni41IDAgMjcxLjVzLTE5Ni41IDc1LTI3MS41IDBjLTEwLjItMTAuMi0xOS0yMS4zLTI2LjQtMzMtOS41LTE0LjktMjkuMy0xOS4zLTQ0LjItOS44cy0xOS4zIDI5LjMtOS44IDQ0LjJDNDkuNyA0MDguNyA2MS40IDQyMy41IDc1IDQzNyAxNzUgNTM3IDMzNyA1MzcgNDM3IDQzN1M1MzcgMTc1IDQzNyA3NUMzNDIuOC0xOS4zIDE5My4zLTI0LjcgOTIuNyA1OC44TDQxIDdDMzQuMSAuMiAyMy44LTEuOSAxNC44IDEuOFMwIDE0LjMgMCAyNEwwIDE2OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHoiXX0sS0t0PWV2LFpLdD1ldixYS3Q9ZXYsSDdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYWRpbmciLGljb246WzQ0OCw1MTIsWyJoZWFkZXIiXSwiZjFkYyIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE2IDAgMCAxMTIgMjI0IDAgMC0xMTItMTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xNiAwIDAgMzIwIDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYgMCAwLTE0NC0yMjQgMCAwIDE0NCAxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2IDAgMC0zMjAtMTYgMEMxNC4zIDk2IDAgODEuNyAwIDY0eiJdfSxRS3Q9SDdlLEpLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjcm9zc2hhaXJzIixpY29uOls1NzYsNTEyLFtdLCJmMDViIiwiTTI4OC0xNmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE4LjNjOTguMSAxNCAxNzUuNyA5MS42IDE4OS43IDE4OS43bDE4LjMgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTguMyAwYy0xNCA5OC4xLTkxLjYgMTc1LjctMTg5LjcgMTg5LjdsMCAxOC4zYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTguM0MxNTcuOSA0NjMuNyA4MC4zIDM4Ni4xIDY2LjMgMjg4TDQ4IDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxOC4zIDBDODAuMyAxMjUuOSAxNTcuOSA0OC4zIDI1NiAzNC4zTDI1NiAxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMTMxLjIgMjg4YzEyLjcgNjIuNyA2Mi4xIDExMi4xIDEyNC44IDEyNC44bDAtMTIuOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTIuOGM2Mi43LTEyLjcgMTEyLjEtNjIuMSAxMjQuOC0xMjQuOEw0MzIgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDEyLjggMEM0MzIuMSAxNjEuMyAzODIuNyAxMTEuOSAzMjAgOTkuMmwwIDEyLjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMi44QzE5My4zIDExMS45IDE0My45IDE2MS4zIDEzMS4yIDIyNGwxMi44IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTEyLjggMHpNMjg4IDIwOGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6Il19LGVadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtbm9kZXMiLGljb246WzUxMiw1MTIsW10sImU0ZTIiLCJNNDE4LjQgMTU3LjljMzUuMy04LjMgNjEuNi00MCA2MS42LTc3LjkgMC00NC4yLTM1LjgtODAtODAtODAtNDMuNCAwLTc4LjcgMzQuNS04MCA3Ny41TDEzNi4yIDE1MS4xQzEyMS43IDEzNi44IDEwMS45IDEyOCA4MCAxMjggMzUuOCAxMjggMCAxNjMuOCAwIDIwOHMzNS44IDgwIDgwIDgwYzEyLjIgMCAyMy44LTIuNyAzNC4xLTcuNkwyNTkuNyA0MDcuOGMtMi40IDcuNi0zLjcgMTUuOC0zLjcgMjQuMiAwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMjcuNy0xNC01Mi4xLTM1LjQtNjYuNGwzNy44LTIwNy43ek0xNTYuMyAyMzIuMmMyLjItNi45IDMuNS0xNC4yIDMuNy0yMS43bDE4My44LTczLjVjMy42IDMuNSA3LjQgNi43IDExLjYgOS41TDMxNy42IDM1NC4xYy01LjUgMS4zLTEwLjggMy4xLTE1LjggNS41TDE1Ni4zIDIzMi4yeiJdfSx0WnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2luZG93LXJlc3RvcmUiLGljb246WzU3Niw1MTIsW10sImYyZDIiLCJNNTEyIDk2TDE2MCA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwyODggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE5MmMwIDM1LjMtMjguNyA2NC02NCA2NGwtNDggMCAwLTY0IDQ4IDAgMC0xOTJ6TTAgMjI0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDI4OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTkyYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyMjR6bTY0IDQwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDI0MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDg4IDI0MGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6Il19LGFadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyIixpY29uOlszMjAsNTEyLFsxMTRdLCI1MiIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjggOTUuMyAwIDEwMi40IDE0Ni40YzEwLjEgMTQuNSAzMC4xIDE4IDQ0LjYgNy45czE4LTMwLjEgNy45LTQ0LjZMMjMwLjEgMzA5LjVDMjgyLjggMjg4LjEgMzIwIDIzNi40IDMyMCAxNzYgMzIwIDk2LjUgMjU1LjUgMzIgMTc2IDMyTDMyIDMyek0xNzYgMjU2bC0xMTIgMCAwLTE2MCAxMTIgMGM0NC4yIDAgODAgMzUuOCA4MCA4MHMtMzUuOCA4MC04MCA4MHoiXX0sclp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbHRlci1jaXJjbGUteG1hcmsiLGljb246WzU3Niw1MTIsW10sImUxN2IiLCJNMzIgNjRDMTkuMSA2NCA3LjQgNzEuOCAyLjQgODMuOFMuMiAxMDkuNSA5LjQgMTE4LjZMMTkyIDMwMS4zIDE5MiA0MTZjMCA4LjUgMy40IDE2LjYgOS40IDIyLjZsNjQgNjRjMi41IDIuNSA1LjMgNC41IDguMyA2LTIxLjItMzAuOS0zMy42LTY4LjMtMzMuNi0xMDguNiAwLTk5LjQgNzUuNS0xODEuMSAxNzIuMy0xOTFsOTAuNC05MC40YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzQ5Mi45IDY0IDQ4MCA2NEwzMiA2NHpNNDMyIDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdsLTM2LjcgMzYuNyAzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtMzYuNy0zNi43LTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzNi43LTM2LjctMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMzYuNyAzNi43IDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6Il19LHNadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnb3B1cmFtIixpY29uOls1MTIsNTEyLFtdLCJmNjY0IiwiTTEyMCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgOCA0MCAwIDAtOGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgOCA0OCAwIDAtOGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgOCA0MCAwIDAtOGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTM2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgODBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxMjhjMCAyNi41LTIxLjUgNDgtNDggNDhsLTQ4IDAgMC0yMjQtMzIgMCAwLTEyOC00OCAwIDAgMTI4IDMyIDAgMCAyMjQtMjI0IDAgMC0yMjQgMzIgMCAwLTEyOC00OCAwIDAgMTI4LTMyIDAgMCAyMjQtNDggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAzMzZjMC0yNi41IDIxLjUtNDggNDgtNDhsMC04MGMwLTI2LjUgMjEuNS00OCA0OC00OEw5NiAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNMjU2IDIwOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0OCA2NCAwIDAtNDhjMC0xNy43LTE0LjMtMzItMzItMzJ6TTIwOCA0MDBsMCA2NCA5NiAwIDAtNjRjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh6TTI1NiA5NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMiA2NCAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6Il19LGladD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFydC1jaXJjbGUtbWludXMiLGljb246WzU3Niw1MTIsW10sImU0ZmYiLCJNMjQxIDg3LjFsMTUgMjAuNyAxNS0yMC43QzI5NiA1Mi41IDMzNi4yIDMyIDM3OC45IDMyIDQ1Mi40IDMyIDUxMiA5MS42IDUxMiAxNjUuMWwwIDIuNmMwIDE3LjYtMy40IDM1LjYtOS41IDUzLjctMjEuOC04LjYtNDUuNi0xMy40LTcwLjUtMTMuNC0xMDYgMC0xOTIgODYtMTkyIDE5MiAwIDI4LjUgNi4yIDU1LjYgMTcuNCA4MC0uNSAwLS45IDAtMS40IDAtMTUuNSAwLTMwLjgtNC42LTQzLjEtMTQuMS03My01NS43LTIxMi45LTE4Ni0yMTIuOS0yOTguMmwwLTIuNkMwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMiAxNzUuOCAzMiAyMTYgNTIuNSAyNDEgODcuMXpNMjg4IDQwMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMjQgMGMwLTguOC03LjItMTYtMTYtMTZsLTEyOCAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDEyOCAwYzguOCAwIDE2LTcuMiAxNi0xNnoiXX0sb1p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0YXItb2YtbGlmZSIsaWNvbjpbNTEyLDUxMixbXSwiZjYyMSIsIk0yMDguNSAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTQwLjkgMTIyLTcwLjRjMTUuMy04LjggMzQuOS0zLjYgNDMuNyAxMS43bDE2IDI3LjdjOC44IDE1LjMgMy42IDM0LjktMTEuNyA0My43bC0xMjIgNzAuNCAxMjIgNzAuNGMxNS4zIDguOCAyMC42IDI4LjQgMTEuNyA0My43bC0xNiAyNy43Yy04LjggMTUuMy0yOC40IDIwLjYtNDMuNyAxMS43bC0xMjItNzAuNCAwIDE0MC45YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE0MC45LTEyMiA3MC40Yy0xNS4zIDguOC0zNC45IDMuNi00My43LTExLjdsLTE2LTI3LjdjLTguOC0xNS4zLTMuNi0zNC45IDExLjctNDMuN2wxMjItNzAuNC0xMjItNzAuNGMtMTUuMy04LjgtMjAuNS0yOC40LTExLjctNDMuN2wxNi0yNy43YzguOC0xNS4zIDI4LjQtMjAuNSA0My43LTExLjdsMTIyIDcwLjQgMC0xNDAuOXoiXX0scTdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1c2luZXNzLXRpbWUiLGljb246WzY0MCw1MTIsWyJicmllZmNhc2UtY2xvY2siXSwiZjY0YSIsIk0yNjQgNDhsMTEyIDBjNC40IDAgOCAzLjYgOCA4bDAgNDAtMTI4IDAgMC00MGMwLTQuNCAzLjYtOCA4LTh6bS01NiA4bDAgNDAtODAgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA5NiAzMDUgMGMzMy44LTI5LjkgNzguMy00OCAxMjctNDggMjguNiAwIDU1LjYgNi4yIDgwIDE3LjRsMC02NS40YzAtMzUuMy0yOC43LTY0LTY0LTY0bC04MCAwIDAtNDBjMC0zMC45LTI1LjEtNTYtNTYtNTZMMjY0IDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2em04MCAyOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTYtMTkyIDAgMCAxMTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTkzLjQgMGMtMTEuMi0yNC40LTE3LjQtNTEuNC0xNy40LTgwIDAtMTYuNiAyLjEtMzIuNyA2LTQ4bC0yMiAwem0zNTIgNDhhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHpNNDk2IDMyMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0OCAzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC00OCAwYy04LjggMC0xNi03LjItMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZ6Il19LG5adD1xN2UsbFp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpcmUtZXh0aW5ndWlzaGVyIixpY29uOls1MTIsNTEyLFsxMjk1MTldLCJmMTM0IiwiTTUxMiAzMmMwLTkuNi00LjMtMTguNy0xMS43LTI0LjdTNDgzLjEtMS4zIDQ3My43IC42bC0xNjAgMzJDMzAxLjUgMzUuMSAyOTIgNDQuMyAyODkgNTZsLTY1IDAgMC0yNGMwLTE3LjctMTQuMy0zMi0zMi0zMkwxNjAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAyOC40Yy01NS4zIDEyLjMtMTAxLjMgNDkuNS0xMjUuNSA5OS4xLTUuOCAxMS45LS45IDI2LjMgMTEuMSAzMi4xczI2LjMgLjkgMzIuMS0xMS4xQzYyIDE0Ni45IDkxLjggMTIxLjEgMTI4IDExMGwwIDI4LjhjLTM3LjggMTgtNjQgNTYuNS02NCAxMDEuMmwwIDEyOCAyMjQgMCAwLTEyOGMwLTQ0LjctMjYuMi04My4yLTY0LTEwMS4ybDAtMzQuOCA2NSAwYzMgMTEuNyAxMi41IDIwLjkgMjQuNyAyMy40bDE2MCAzMmM5LjQgMS45IDE5LjEtLjYgMjYuNi02LjZTNTEyIDEzNy42IDUxMiAxMjhsMC05NnpNMjg4IDQ0OGwwLTMyLTIyNCAwIDAgMzJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsOTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NHoiXX0sVjdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LWRvd24tbG9uZyIsaWNvbjpbMzIwLDUxMixbImxvbmctYXJyb3ctZG93biJdLCJmMTc1IiwiTTEzNy40IDUzNC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjhjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMTkyIDQzNC43IDE5MiAwYzAtMTcuNy0xNC4zLTMyLTMyLTMyUzEyOC0xNy43IDEyOCAwbDAgNDM0LjctNzMuNC03My40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxMjggMTI4eiJdfSxjWnQ9VjdlLGRadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLW1pbnVzIixpY29uOls2NDAsNTEyLFtdLCJmNTAzIiwiTTI4NS43IDMwNGM5OC41IDAgMTc4LjMgNzkuOCAxNzguMyAxNzguMyAwIDE2LjQtMTMuMyAyOS43LTI5LjcgMjkuN0w3Ny43IDUxMkM2MS4zIDUxMiA0OCA0OTguNyA0OCA0ODIuMyA0OCAzODMuOCAxMjcuOCAzMDQgMjI2LjMgMzA0bDU5LjQgMHpNMjU2IDI0OGExMjAgMTIwIDAgMSAxIDAtMjQwIDEyMCAxMjAgMCAxIDEgMCAyNDB6bTM0NC05NmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTQ0IDB6Il19LHVadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb25leS1jaGVjayIsaWNvbjpbNTEyLDUxMixbXSwiZjUzYyIsIk0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4ek05NiAzMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptMjQtMTM2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yNzIgMHoiXX0sajdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWxhcHRvcCIsaWNvbjpbNjQwLDUxMixbImxhcHRvcC1ob3VzZSJdLCJlMDY2IiwiTTQ0OCAyNDBsMTkuOSAwYzE1LjUgMCAyOC4xLTEyLjYgMjguMS0yOC4xIDAtNy42LTMuMS0xNC45LTguNi0yMC4yTDI4My41LTQuOUMyNzYuMS0xMiAyNjYuMy0xNiAyNTYtMTZzLTIwLjEgNC0yNy41IDExLjFMMjQuNiAxOTEuN0MxOS4xIDE5NyAxNiAyMDQuMyAxNiAyMTEuOSAxNiAyMjcuNCAyOC42IDI0MCA0NC4xIDI0MGwxOS45IDAgMCAxNDRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsODUuNyAwYzcuNC02LjYgMTYuNC0xMS40IDI2LjMtMTRsMC0xMzBjMC01LjUgLjctMTAuOSAyLTE2bC0xMCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyNCAxNDQgMHpNMzUyIDM1MmwxNjAgMCAwIDEyOC0xNjAgMCAwLTEyOHptLTY0LTMybDAgMTYwLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNiAwIDI2LjUgMjEuNSA0OCA0OCA0OGwyODggMGMyNi41IDAgNDgtMjEuNSA0OC00OCAwLTguOC03LjItMTYtMTYtMTZsLTMyIDAgMC0xNjBjMC0xNy43LTE0LjMtMzItMzItMzJsLTIyNCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnoiXX0scFp0PWo3ZSxmWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG93bmxvYWQiLGljb246WzQ0OCw1MTIsW10sImYwMTkiLCJNMjU2IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMjEwLjctNDEuNC00MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5NiA5NmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw5Ni05NmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwyNTYgMjQyLjcgMjU2IDMyek02NCAzMjBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMzJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMmMwLTM1LjMtMjguNy02NC02NC02NGwtNDYuOSAwLTU2LjYgNTYuNmMtMzEuMiAzMS4yLTgxLjkgMzEuMi0xMTMuMSAwTDExMC45IDMyMCA2NCAzMjB6bTMwNCA1NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LGhadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzYWdpdHRhcml1cyIsaWNvbjpbNDQ4LDUxMixbXSwiZTg0ZCIsIk00MTYgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC04Mi44LTE0Ni44IDE0Ni44IDQxLjQgNDEuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuMnMtMzIuOCAxMi41LTQ1LjMgMEwxOTIgMzMzLjMgNTQuNiA0NzAuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4yIDBzLTEyLjUtMzIuOCAwLTQ1LjJMMTQ2LjggMjg4IDEwNS40IDI0Ni42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuMnMzMi44LTEyLjUgNDUuMiAwTDE5MiAyNDIuOCAzMzguOCA5NiAyNTYgOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYwIDB6Il19LG1adD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb3VjaCIsaWNvbjpbNjQwLDUxMixbXSwiZjRiOCIsIk0xNDQgMjcyQzE0NCAyMjQuNyAxMDkuOCAxODUuNCA2NC44IDE3Ny41IDcyIDExMy42IDEyNi4yIDY0IDE5MiA2NGwyNTYgMGM2NS44IDAgMTIwIDQ5LjYgMTI3LjIgMTEzLjUtNDUgOC03OS4yIDQ3LjItNzkuMiA5NC41bDAgMzItMzUyIDAgMC0zMnpNMCAzODRMMCAyNzJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDgwIDQ0OCAwIDAtODBjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDExMmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0eiJdfSxnWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9hZC1sb2NrIixpY29uOls1NzYsNTEyLFtdLCJlNTY3IiwiTTI1NiAzMmwtNzYuMyAwYy0yOS40IDAtNTUuMSAyMC4xLTYyLjEgNDguNkwzMy40IDQyMC41QzI1LjkgNDUwLjcgNDguOCA0ODAgODAgNDgwbDE3NS45IDAgMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMiA2LjEgMCAxMS44IDEuNyAxNi43IDQuNyAyLjgtMjMuOSAxNC4zLTQ1LjEgMzEuNC02MC4zbDAtMjQuNGMwLTcwLjcgNTcuMy0xMjggMTI4LTEyOCA2LjIgMCAxMi40IC40IDE4LjQgMS4zTDQ1OC41IDgwLjZDNDUxLjQgNTIuMSA0MjUuOCAzMiAzOTYuMyAzMmwtNzYuNCAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NHptNjQgMTkybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyem0xNzYgODAuMWwwIDQ3LjktNjQgMCAwLTQ3LjljMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnpNMzUyIDQwMGwwIDk2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDEyOCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtOTZjMC0yMC45LTEzLjQtMzguNy0zMi00NS4zbDAtNTAuNmMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MGwwIDUwLjZjLTE4LjYgNi42LTMyIDI0LjQtMzIgNDUuM3oiXX0sVTdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjaXNzb3JzIixpY29uOls1MTIsNTEyLFs5OTg0LDk5ODYsOTk4OCwiY3V0Il0sImYwYzQiLCJNMTkyIDI1NmwtMzkuNSAzOS41Yy0xMi42LTQuOS0yNi4yLTcuNS00MC41LTcuNS02MS45IDAtMTEyIDUwLjEtMTEyIDExMnM1MC4xIDExMiAxMTIgMTEyIDExMi01MC4xIDExMi0xMTJjMC0xNC4zLTIuNy0yNy45LTcuNS00MC41TDQ5OS4yIDc2LjhjNy4xLTcuMSA3LjEtMTguNSAwLTI1LjYtMjguMy0yOC4zLTc0LjEtMjguMy0xMDIuNCAwTDI1NiAxOTIgMjE2LjUgMTUyLjVjNC45LTEyLjYgNy41LTI2LjIgNy41LTQwLjUgMC02MS45LTUwLjEtMTEyLTExMi0xMTJTMCA1MC4xIDAgMTEyIDUwLjEgMjI0IDExMiAyMjRjMTQuMyAwIDI3LjktMi43IDQwLjUtNy41TDE5MiAyNTZ6bTk3LjkgOTcuOUwzOTYuOCA0NjAuOGMyOC4zIDI4LjMgNzQuMSAyOC4zIDEwMi40IDAgNy4xLTcuMSA3LjEtMTguNSAwLTI1LjZsLTE0NS4zLTE0NS4zLTY0IDY0ek02NCAxMTJhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptNDggMjQwYTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnoiXX0sYlp0PVU3ZSxqdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVnIixpY29uOls1NzYsNTEyLFtdLCJmMTg4IiwiTTE5MiA5NmMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgMy42YzAgMTUuNy0xMi43IDI4LjQtMjguNCAyOC40bC0xMzUuMSAwYy0xNS43IDAtMjguNC0xMi43LTI4LjQtMjguNGwwLTMuNnptMzQ1LjYgMTIuOGMxMC42IDE0LjEgNy43IDM0LjItNi40IDQ0LjhsLTk3LjggNzMuM2M1LjMgOC45IDkuMyAxOC43IDExLjggMjkuMWw5OC44IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDAgMCAzMmMwIDIuNi0uMSA1LjMtLjIgNy45bDgzLjQgNjIuNWMxNC4xIDEwLjYgMTcgMzAuNyA2LjQgNDQuOHMtMzAuNyAxNy00NC44IDYuNGwtNjMuMS00Ny4zYy0yMy4yIDQ0LjItNjYuNSA3Ni4yLTExNy43IDgzLjlMMzEyIDI4MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDIzMC4yYy01MS4yLTcuNy05NC41LTM5LjctMTE3LjctODMuOUw4My4yIDQ3My42Yy0xNC4xIDEwLjYtMzQuMiA3LjctNDQuOC02LjRzLTcuNy0zNC4yIDYuNC00NC44bDgzLjQtNjIuNWMtLjEtMi42LS4yLTUuMi0uMi03LjlsMC0zMi05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk4LjggMGMyLjUtMTAuNCA2LjUtMjAuMiAxMS44LTI5LjFMNDQuOCAxNTMuNmMtMTQuMS0xMC42LTE3LTMwLjctNi40LTQ0LjhzMzAuNy0xNyA0NC44LTYuNEwxOTIgMTg0YzEyLjMtNS4xIDI1LjgtOCA0MC04bDExMiAwYzE0LjIgMCAyNy43IDIuOCA0MCA4bDEwOC44LTgxLjZjMTQuMS0xMC42IDM0LjItNy43IDQ0LjggNi40eiJdfSxXN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctcmlnaHQtZnJvbS1icmFja2V0IixpY29uOls1MTIsNTEyLFsic2lnbi1vdXQiXSwiZjA4YiIsIk0xNjAgOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMOTYgMzJDNDMgMzIgMCA3NSAwIDEyOEwwIDM4NGMwIDUzIDQzIDk2IDk2IDk2bDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDB6TTUwMi42IDI3OC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMjgtMTI4Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0w0MDIuNyAyMjQgMTkyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyMTAuNyAwLTczLjQgNzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4eiJdfSx2WnQ9VzdlLHhadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLWhvbGRpbmctaGFuZCIsaWNvbjpbNTc2LDUxMixbXSwiZTRmNyIsIk00NjYuOCAxODYuNWw0Mi41LTQyLjUgMzQuNyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJMMjIzLjYgMTZjLTI5IDAtNTcuMyA5LjMtODAuNyAyNi41TDE2LjMgMTM1LjhjLTE3LjggMTMuMS0yMS42IDM4LjEtOC41IDU1LjlzMzguMSAyMS42IDU1LjkgOC41TDE4My40IDExMiAyOTYgMTEyYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC03MiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE1Mi4yIDBjMzMuOSAwIDY2LjUtMTMuNSA5MC41LTM3LjV6bS0zNTcuNSAxMzlMNjYuNyAzNjggMzIgMzY4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyMC41IDBjMjkgMCA1Ny4zLTkuMyA4MC43LTI2LjVsMTI2LjYtOTMuM2MxNy44LTEzLjEgMjEuNi0zOC4xIDguNS01NS45cy0zOC4xLTIxLjYtNTUuOS04LjVMMzkyLjYgNDAwIDI4MCA0MDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTUyLjIgMGMtMzMuOSAwLTY2LjUgMTMuNS05MC41IDM3LjV6Il19LHladD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdHJvb3B3YWZlbCIsaWNvbjpbNTEyLDUxMixbXSwiZjU1MSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0zMTIuNiA2My43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEwyNTYgOTcuNiAyMjIuMSA2My43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDMzLjkgMzMuOS00NS4zIDQ1LjMtNTYuNi01Ni42Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDU2LjYgNTYuNi00NS4zIDQ1LjMtMzMuOS0zMy45Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42TDk3LjYgMjU2IDYzLjcgMjg5LjljLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGwzMy45LTMzLjkgNDUuMyA0NS4zLTU2LjYgNTYuNmMtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwbDU2LjYtNTYuNiA0NS4zIDQ1LjMtMzMuOSAzMy45Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsMzMuOS0zMy45IDMzLjkgMzMuOWM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTMzLjktMzMuOSA0NS4zLTQ1LjMgNTYuNiA1Ni42YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNTYuNi01Ni42IDQ1LjMtNDUuMyAzMy45IDMzLjljNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC0zMy45LTMzLjkgMzMuOS0zMy45YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBsLTMzLjkgMzMuOS00NS4zLTQ1LjMgNTYuNi01Ni42YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBsLTU2LjYgNTYuNi00NS4zLTQ1LjMgMzMuOS0zMy45YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42ek0xNDIuOSAyNTZsNDUuMy00NS4zIDQ1LjMgNDUuMy00NS4zIDQ1LjMtNDUuMy00NS4zem02Ny45IDY3LjlsNDUuMy00NS4zIDQ1LjMgNDUuMy00NS4zIDQ1LjMtNDUuMy00NS4zek0yNzguNiAyNTZsNDUuMy00NS4zIDQ1LjMgNDUuMy00NS4zIDQ1LjMtNDUuMy00NS4zem0yMi42LTY3LjlsLTQ1LjMgNDUuMy00NS4zLTQ1LjMgNDUuMy00NS4zIDQ1LjMgNDUuM3oiXX0sd1p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoaWxkIixpY29uOlszMjAsNTEyLFtdLCJmMWFlIiwiTTk2IDY0QTY0IDY0IDAgMSAxIDIyNCA2NCA2NCA2NCAwIDEgMSA5NiA2NHptNDggMzIwbDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJMODAgMjg3LjggNTkuMSAzMjFjLTkuNCAxNS0yOS4yIDE5LjQtNDQuMSAxMFMtNC41IDMwMS45IDQuOSAyODdsMzkuOS02My4zQzY5LjcgMTg0IDExMy4yIDE2MCAxNjAgMTYwczkwLjMgMjQgMTE1LjIgNjMuNkwzMTUuMSAyODdjOS40IDE1IDQuOSAzNC43LTEwIDQ0LjFzLTM0LjcgNC45LTQ0LjEtMTBMMjQwIDI4Ny44IDI0MCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05Ni0zMiAweiJdfSxNWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaWNlLWNyZWFtIixpY29uOlszODQsNTEyLFsxMjc4NDhdLCJmODEwIiwiTTMzNS4xIDE2MGMuNi01LjMgLjktMTAuNiAuOS0xNiAwLTc5LjUtNjQuNS0xNDQtMTQ0LTE0NFM0OCA2NC41IDQ4IDE0NGMwIDUuNCAuMyAxMC43IC45IDE2bC0uOSAwYy0yNi41IDAtNDggMjEuNS00OCA0OHMyMS41IDQ4IDQ4IDQ4bDI4OCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4bC0uOSAwek02NCAzMDRMMTY5LjIgNTI5LjVjNC4xIDguOCAxMyAxNC41IDIyLjggMTQuNXMxOC42LTUuNyAyMi44LTE0LjVMMzIwIDMwNCA2NCAzMDR6Il19LEc3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21wdXRlci1tb3VzZSIsaWNvbjpbMzg0LDUxMixbMTI4NDMzLCJtb3VzZSJdLCJmOGNjIiwiTTAgMTkybDE2OCAwIDAtMTkyLTggMEM3MS42IDAgMCA3MS42IDAgMTYwbDAgMzJ6bTAgNDhMMCAzNTJjMCA4OC40IDcxLjYgMTYwIDE2MCAxNjBsNjQgMGM4OC40IDAgMTYwLTcxLjYgMTYwLTE2MGwwLTExMi0zODQgMHptMzg0LTQ4bDAtMzJDMzg0IDcxLjYgMzEyLjQgMCAyMjQgMGwtOCAwIDAgMTkyIDE2OCAweiJdfSxrWnQ9RzdlLFNadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYXVjZXQiLGljb246WzUxMiw1MTIsW10sImUwMDUiLCJNMTkyIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMCAwIDY0IDE4LjcgMGM4LjUgMCAxNi42IDMuNCAyMi42IDkuNGwyMi42IDIyLjYgMzIgMGM4OC40IDAgMTYwIDcxLjYgMTYwIDE2MCAwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzLTE0LjMtMzItMzItMzJsLTM2LjEgMGMtMjAuMiAyOS01My45IDQ4LTkxLjkgNDhzLTcxLjctMTktOTEuOS00OEwzMiAzNTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMCAyMi42LTIyLjZjNi02IDE0LjEtOS40IDIyLjYtOS40bDE4LjcgMCAwLTY0LTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzc4LjMgNjQgOTYgNjRsOTYgMHoiXX0selp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImF3YXJkIixpY29uOls0NDgsNTEyLFtdLCJmNTU5IiwiTTI0NS45LTI1LjljLTEzLjQtOC4yLTMwLjMtOC4yLTQzLjcgMC0yNC40IDE0LjktMzkuNSAxOC45LTY4LjEgMTguMy0xNS43LS40LTMwLjMgOC4xLTM3LjkgMjEuOS0xMy43IDI1LjEtMjQuOCAzNi4yLTQ5LjkgNDkuOS0xMy44IDcuNS0yMi4yIDIyLjItMjEuOSAzNy45IC43IDI4LjYtMy40IDQzLjctMTguMyA2OC4xLTguMiAxMy40LTguMiAzMC4zIDAgNDMuNyAxNC45IDI0LjQgMTguOSAzOS41IDE4LjMgNjguMS0uNCAxNS43IDguMSAzMC4zIDIxLjkgMzcuOSAyMi4xIDEyLjEgMzMuMyAyMi4xIDQ1LjEgNDEuNUw0Mi43IDQ1OC41Yy01LjkgMTEuOS0xLjEgMjYuMyAxMC43IDMyLjJsODYgNDNjMTEuNSA1LjcgMjUuNSAxLjQgMzEuNy05LjhsNTIuOC05NS4xIDUyLjggOTUuMWM2LjIgMTEuMiAyMC4yIDE1LjYgMzEuNyA5LjhsODYtNDNjMTEuOS01LjkgMTYuNy0yMC4zIDEwLjctMzIuMmwtNDguNi05Ny4yYzExLjctMTkuNCAyMy0yOS40IDQ1LjEtNDEuNSAxMy44LTcuNSAyMi4yLTIyLjIgMjEuOS0zNy45LS43LTI4LjYgMy40LTQzLjcgMTguMy02OC4xIDguMi0xMy40IDguMi0zMC4zIDAtNDMuNy0xNC45LTI0LjQtMTguOS0zOS41LTE4LjMtNjguMSAuNC0xNS43LTguMS0zMC4zLTIxLjktMzcuOS0yNS4xLTEzLjctMzYuMi0yNC44LTQ5LjktNDkuOS03LjUtMTMuOC0yMi4yLTIyLjItMzcuOS0yMS45LTI4LjYgLjctNDMuNy0zLjQtNjguMS0xOC4zek0yMjQgOTZhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6Il19LENadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tZHJvd25pbmciLGljb246WzY0MCw1MTIsW10sImU1NDUiLCJNMjY0IDg4YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMTMzLjkgNjUuNmMxNi44LTUuNiAzNC45IDMuNSA0MC41IDIwLjJsMTAuOSAzMi44YzkuNCAyOC4zIDMzLjIgNDkuNSA2Mi41IDU1LjYgNS42IDEuMiAxMS4zIDEuOCAxNy4xIDEuOGw4OCAwYzE3LjIgMCAzNC4zLTIuOCA1MC42LTguMmwxMTQuNC0zOC4xYzE2LjgtNS42IDM0LjkgMy41IDQwLjUgMjAuMnMtMy41IDM0LjktMjAuMiA0MC41TDQyMy43IDIyOC41Yy04LjQgMi44LTE3IDUuMS0yNS43IDYuOWwtMjYuNSA4OC4zYy02LjEgMy40LTEyLjEgNy4zLTE3LjkgMTEuNy0yMi4xIDE2LjYtMjkuMSAxNi42LTUxLjIgMC0yNi4yLTE5LjctNTYuOS0zMC4yLTg3LjgtMzEuM2wyMC4yLTY3LjJjLTUxLjUtMTAuNy05My41LTQ4LjEtMTEwLjItOThsLTEwLjktMzIuOGMtNS42LTE2LjggMy41LTM0LjkgMjAuMi00MC41ek00MDMuNCA0MTIuMUMzNzkuMSA0MzAuMyAzNTEuMSA0NDggMzIwIDQ0OHMtNTkuMS0xNy43LTgzLjQtMzUuOWMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDAtMjMuOCAxNy45LTU0LjEgMzUuNS04OC4xIDM1LjMtMjAuNC0uMS00MC43LTYuNy01OS44LTIxLjEtMTAuNi04LTEyLjctMjMtNC43LTMzLjZzMjMtMTIuNyAzMy42LTQuN2MxMS4zIDguNSAyMS42IDExLjQgMzEuMiAxMS41IDE3LjYgLjEgMzcuMy05LjQgNTguOS0yNS43IDM4LjQtMjkgOTAuNS0yOSAxMjkgMCAyNCAxOC4xIDQwLjcgMjYuMyA1NC41IDI2LjNzMzAuNS04LjIgNTQuNS0yNi4zYzM4LjQtMjkgOTAuNS0yOSAxMjkgMCAxNi45IDEyLjcgMzIuOSAyMS41IDQ3LjggMjQuNiAxMy43IDIuOCAyNy40IC45IDQyLjMtMTAuMyAxMC42LTggMjUuNi01LjkgMzMuNiA0LjdzNS45IDI1LjYtNC43IDMzLjZjLTI2LjQgMTkuOS01NC4yIDI0LjQtODAuNyAxOS4xLTI1LjMtNS4xLTQ4LjEtMTguOS02Ny4yLTMzLjMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDB6Il19LF9adD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYW1lcmEtcm90YXRlIixpY29uOls1MTIsNTEyLFtdLCJlMGQ4IiwiTTEzOC43IDk2bDEwLjQtMzEuMkMxNTUuNiA0NS4yIDE3My45IDMyIDE5NC42IDMybDEyMi44IDBjMjAuNyAwIDM5IDEzLjIgNDUuNSAzMi44TDM3My4zIDk2IDQ0OCA5NmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTYwYzAtMzUuMyAyOC43LTY0IDY0LTY0bDc0LjcgMHpNOTYgMzA1LjljMCAzLjkgMS40IDcuNyA0IDEwLjZsNDggNTRjNi40IDcuMiAxNy42IDcuMiAyMy45IDBsNDgtNTRjMi42LTIuOSA0LTYuNyA0LTEwLjZsMC0xLjljMC04LjgtNy4yLTE2LTE2LTE2bC0yNCAwYzAtMzkuOCAzMi4yLTcyIDcyLTcyIDQuNCAwIDguNyAuNCAxMi45IDEuMmwzNC45LTM5LjNjLTE0LjYtNi40LTMwLjgtOS45LTQ3LjgtOS45LTY2LjMgMC0xMjAgNTMuNy0xMjAgMTIwbC0yNCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxLjl6bTE5Ni00Ni41Yy0yLjYgMi45LTQgNi43LTQgMTAuNmwwIDEuOWMwIDguOCA3LjIgMTYgMTYgMTZsMjQgMGMwIDM5LjgtMzIuMiA3Mi03MiA3Mi00LjQgMC04LjctLjQtMTIuOS0xLjJsLTM0LjkgMzkuM2MxNC43IDYuNCAzMC44IDkuOSA0Ny44IDkuOSA2Ni4zIDAgMTIwLTUzLjcgMTIwLTEyMGwyNCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTEuOWMwLTMuOS0xLjQtNy43LTQtMTAuNmwtNDgtNTRjLTYuNC03LjItMTcuNi03LjItMjMuOSAwbC00OCA1NHoiXX0sWTdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1oZWFydHMiLGljb246WzUxMiw1MTIsWzEyODUyNSwiZ3Jpbi1oZWFydHMiXSwiZjU4NCIsIk0yNTYgNTEyYzE0MS40IDAgMjU2LTExNC42IDI1Ni0yNTYgMC0yMy4zLTMuMS00NS45LTguOS02Ny4zIDUuNS0xMy41IDguOS0yOC40IDguOS00NC43IDAtNTMtNDMtOTYtOTYtOTZsLTIuOSAwYy0yLjUgMC01IC4xLTcuNCAuMy00Mi4xLTMwLjQtOTMuOC00OC4zLTE0OS43LTQ4LjNTMTQ4LjQgMTcuOSAxMDYuMyA0OC4zYy0yLjUtLjItNC45LS4zLTcuNC0uM0w5NiA0OGMtNTMgMC05NiA0My05NiA5NiAwIDE2LjMgMy41IDMxLjIgOC45IDQ0LjctNS44IDIxLjQtOC45IDQ0LTguOSA2Ny4zIDAgMTQxLjQgMTE0LjYgMjU2IDI1NiAyNTZ6TTM4Ni43IDMyNC45YzExLjktMy43IDIzLjkgNi4zIDE5LjYgMTguMS0yMi40IDYxLjMtODEuMyAxMDUuMS0xNTAuMyAxMDUuMVMxMjguMSA0MDQuMiAxMDUuNyAzNDIuOWMtNC4zLTExLjggNy43LTIxLjggMTkuNi0xOC4xIDM5LjIgMTIuMiA4My43IDE5LjEgMTMwLjcgMTkuMXM5MS41LTYuOSAxMzAuNy0xOS4xek0zMjIuOSA5NmMxMy41IDAgMjYuNSA1LjQgMzYgMTQuOWw5LjEgOS4xIDkuMS05LjFjOS41LTkuNSAyMi41LTE0LjkgMzYtMTQuOWwyLjkgMGMyNi41IDAgNDggMjEuNSA0OCA0OCAwIDUzLjQtNjYuOSA5NS43LTg5IDEwOC4yLTQuNCAyLjUtOS42IDIuNS0xNCAwLTIyLjEtMTIuNS04OS01NC44LTg5LTEwOC4yIDAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDIuOSAwem0tMTg4IDE0LjlsOS4xIDkuMSA5LjEtOS4xYzkuNS05LjUgMjIuNS0xNC45IDM2LTE0LjlsMi45IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDggMCA1My40LTY2LjkgOTUuNy04OSAxMDguMi00LjQgMi41LTkuNiAyLjUtMTQgMC0yMi4xLTEyLjUtODktNTQuOC04OS0xMDguMiAwLTI2LjUgMjEuNS00OCA0OC00OGwyLjkgMGMxMy41IDAgMjYuNSA1LjQgMzYgMTQuOXoiXX0sVFp0PVk3ZSxMWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1mcmFnbWVudCIsaWNvbjpbMzg0LDUxMixbXSwiZTY5NyIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NGwwIDI0MCAxMjggMGM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDEyOCAxMTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI3Ny41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI1OC43IDE4LjdDMjQ2LjcgNi43IDIzMC41IDAgMjEzLjUgMEw2NCAwek0zMjUuNSAxNzZMMjMyIDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjA4IDU4LjUgMzI1LjUgMTc2ek0zMiAzNTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC05NiAweiJdfSwkWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLW1pbGl0YXJ5LXJpZmxlIixpY29uOls0NDgsNTEyLFtdLCJlNTRiIiwiTTEyOCAzOWMwLTEzIDEwLTIzLjggMjIuOS0yNC45TDMwMi43IDEuNEMzMTIgLjcgMzIwIDggMzIwIDE3LjRMMzIwIDQ4YzAgOC44LTcuMiAxNi0xNiAxNkwxNTMgNjRjLTEzLjggMC0yNS0xMS4yLTI1LTI1em0xNy42IDU3bDE1Ni44IDBjMSA1LjIgMS42IDEwLjUgMS42IDE2IDAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwYzAtNS41IC42LTEwLjggMS42LTE2em0yMjggMzY0LjNMMzIwIDM2OS43IDMyMCA0ODBjMCAxLjMtLjEgMi41LS4yIDMuOEwxNDUuNSAyMzQuOWMxNi42LTcuMSAzNC42LTEwLjkgNTMuMy0xMC45bDUwLjQgMGMxNS45IDAgMzEuMyAyLjggNDUuOCA3LjlMMzg5LjkgNjcuN2MtNy43LTQuNC0xMC4zLTE0LjItNS45LTIxLjlzMTQuMi0xMC4zIDIxLjktNS45bDI3LjcgMTZjNy43IDQuNCAxMC4zIDE0LjIgNS45IDIxLjlsLTU1LjUgOTYuMSAxLjYgLjljMTUuMyA4LjggMjAuNiAyOC40IDExLjcgNDMuN0wzNjAuNyAyODJjMiAyLjggMy45IDUuOCA1LjcgOC44bDc2LjEgMTI4LjhjMTEuMiAxOSA0LjkgNDMuNS0xNC4xIDU0LjhzLTQzLjUgNC45LTU0LjgtMTQuMXpNMjg4IDUxMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTEwLjMtNTMuNiA5MC42Yy0xMS4yIDE5LTM1LjggMjUuMy01NC44IDE0LjFTLTUuNyA0MzguNyA1LjYgNDE5LjdMODEuNyAyOTAuOGM5LjQtMTUuOCAyMS43LTI5LjMgMzYtNDBMMjk5LjEgNTEwYy0zLjUgMS4zLTcuMiAyLTExLjEgMnpNMjY0IDMyMGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6Il19LERadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b2dnbGUtb24iLGljb246WzU3Niw1MTIsW10sImYyMDUiLCJNMTkyIDY0Qzg2IDY0IDAgMTUwIDAgMjU2Uzg2IDQ0OCAxOTIgNDQ4bDE5MiAwYzEwNiAwIDE5Mi04NiAxOTItMTkyUzQ5MCA2NCAzODQgNjRMMTkyIDY0em0xOTIgOTZhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6Il19LEFadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsdW5ncy12aXJ1cyIsaWNvbjpbNTc2LDUxMixbXSwiZTA2NyIsIk0yODggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxNTEuM2M5LjYtNC44IDIwLjUtNy41IDMyLTcuNXMyMi40IDIuNyAzMiA3LjVMMzIwIDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek00NTAuMSA0NTFjOCAxOC4zIDguMSAzOS4yIC4yIDU3LjUgMTAuMiAyLjMgMjAuNiAzLjUgMzEuMiAzLjUgNTIuMiAwIDk0LjUtNDIuMyA5NC41LTk0LjVsMC02LjJjMC0xMTEuMS0zNi43LTIxOS0xMDQuNC0zMDdMNDI4LjkgNDguN2MtOC4xLTEwLjYtMjAuNy0xNi43LTM0LTE2LjctMjMuNyAwLTQyLjkgMTkuMi00Mi45IDQyLjlsMCAxMzkuOWMxLjIgMi4yIDIuMiA0LjYgMy4xIDYuOSAyNi40LTExLjYgNTguMy02LjYgNzkuOSAxNXMyNi42IDUzLjYgMTUgNzkuOUM0NzcgMzI3LjIgNDk2IDM1My4zIDQ5NiAzODMuOHMtMTkgNTYuNy00NS45IDY3LjF6TTIyMC45IDIyMS44Yy45LTIuNCAyLTQuNyAzLjEtNi45bDAtMTM4LjVjMC0yNC41LTE5LjktNDQuNC00NC40LTQ0LjQtMTIuNSAwLTI0LjQgNS4zLTMyLjggMTQuNWwtMjYuNCAyOUM0Mi45IDE2MC44IDAgMjcxLjggMCAzODdsMCAzMC41YzAgNTIuMiA0Mi4zIDk0LjUgOTQuNSA5NC41IDEwLjUgMCAyMS0xLjIgMzEuMi0zLjUtNy45LTE4LjMtNy44LTM5LjMgLjItNTcuNS0yNi45LTEwLjQtNDUuOS0zNi42LTQ1LjktNjcuMXMxOS01Ni43IDQ1LjktNjcuMWMtMTEuNi0yNi40LTYuNi01OC4zIDE1LTc5LjlzNTMuNi0yNi42IDc5LjktMTV6TTE1MiA0MDhjMjguOCAwIDQzLjIgMzQuOCAyMi45IDU1LjItOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwYzIwLjQtMjAuNCA1NS4yLTUuOSA1NS4yIDIyLjkgMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTI4LjggMzQuOC00My4yIDU1LjItMjIuOSA5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjljLTIwLjQtMjAuNC01LjktNTUuMiAyMi45LTU1LjIgMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRjLTI4LjggMC00My4yLTM0LjgtMjIuOS01NS4yIDkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBjLTIwLjQgMjAuNC01NS4yIDUuOS01NS4yLTIyLjkgMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRjMCAyOC44LTM0LjggNDMuMi01NS4yIDIyLjktOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWMyMC40IDIwLjQgNS45IDU1LjItMjIuOSA1NS4yLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjR6bTEwNC04MGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTQwIDg4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6Il19LGh0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZS10ZW5uaXMtcGFkZGxlLWJhbGwiLGljb246WzUxMiw1MTIsWzEyNzk1NSwicGluZy1wb25nLXBhZGRsZS1iYWxsIiwidGFibGUtdGVubmlzIl0sImY0NWQiLCJNOTcgMTI3bDY3LjQtNjcuNGMzOC4yLTM4LjIgOTAtNTkuNiAxNDQtNTkuNiAxMTIuNSAwIDIwMy43IDkxLjIgMjAzLjcgMjAzLjYgMCA0Ni40LTE1LjggOTEuMS00NC41IDEyNy0yMy42LTE2LjgtNTIuNC0yNi43LTgzLjUtMjYuNy0zMS4xIDAtNTkuOSA5LjktODMuNCAyNi42TDk3IDEyN3pNMjQwIDQ0OGMwIDkuNyAxIDE5LjEgMi44IDI4LjItMTkuOC01LjItMzgtMTUuNS01Mi43LTMwLjItMTIuMi0xMi4yLTMxLjktMTIuMi00NC4xIDBMOTYuNiA0OTUuNGMtMTAuNiAxMC42LTI1IDE2LjYtNDAgMTYuNi0zMS4yIDAtNTYuNi0yNS4zLTU2LjYtNTYuNiAwLTE1IDYtMjkuNCAxNi42LTQwbDQ5LjQtNDkuNGMxMi4yLTEyLjIgMTIuMi0zMS45IDAtNDQuMS0yMS43LTIxLjctMzMuOS01MS4yLTMzLjktODEuOSAwLTI5LjQgMTEuMS01Ny42IDMxLjEtNzlMMjY2LjYgMzY0LjZDMjQ5LjkgMzg4LjEgMjQwIDQxNi45IDI0MCA0NDh6bTE0NC05NmE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnoiXX0sRVp0PWh0ZSxQWnQ9aHRlLEladD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3hlcy1wYWNraW5nIixpY29uOls1NzYsNTEyLFtdLCJlNGM3IiwiTTIwOCAwbDgwIDAgMCA1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNTYgODAgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQxNmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTA4LjggMGM4LjItMTQuMSAxMi44LTMwLjUgMTIuOC00OGwwLTE2MGMxMC0xMy40IDE2LTMwIDE2LTQ4bDAtMzJjMC00NC4yLTM1LjgtODAtODAtODBsLTE3NiAwIDAtOTZjMC0yNi41IDIxLjUtNDggNDgtNDh6TTMyIDMzNmwzMjAgMCAwIDEyOGMwIDI2LjUtMjEuNSA0OC00OCA0OEw4MCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTI4ek00OCAxOTJsMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkw0OCAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LE5adD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tY2hhbGtib2FyZCIsaWNvbjpbNjQwLDUxMixbXSwiZTUzZCIsIk0xOTIgODBhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6TTE3NiA1MTJsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzM2IDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNiAwIDAtNDggMTkyIDAgMCAxOTItMTkyIDAgMC0zMi02NCAwIDAgNDhjMCAyNi41IDIxLjUgNDggNDggNDhsMjI0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMjRjMC0yNi41LTIxLjUtNDgtNDgtNDhMMzY4IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjQtMTIyLjcgMGMtNDUuNiAwLTg4LjUgMjEuNi0xMTUuNiA1OC4yTDE0LjMgMjYwLjljLTEwLjUgMTQuMi03LjYgMzQuMiA2LjYgNDQuOHMzNC4yIDcuNiA0NC44LTYuNkwxMTIgMjM2LjcgMTEyIDUxMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyeiJdfSxSWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGljZS10d28iLGljb246WzQ0OCw1MTIsWzk4NTddLCJmNTI4IiwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2ek0zNTIgMzUyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTEyOCAxOTJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxLN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCIsaWNvbjpbNTEyLDUxMixbODY0NCwiZXhjaGFuZ2UiXSwiZjBlYyIsIk01MDIuNiAxNTAuNmwtOTYgOTZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDQwMi43IDE2MCAzMiAxNjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzE0LjMgOTYgMzIgOTZsMzcwLjcgMC00MS40LTQxLjRjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjN6bS0zOTcuMyAzNTJsLTk2LTk2Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2w5Ni05NmMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zTDEwOS4zIDM1MiA0ODAgMzUyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zNzAuNyAwIDQxLjQgNDEuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMHoiXX0sT1p0PUs3ZSxaN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZm9vdGJhbGwiLGljb246WzUxMiw1MTIsWzEyNzk0NCwiZm9vdGJhbGwtYmFsbCJdLCJmNDRlIiwiTTI2MS4xIDIyLjZjLTg5IDE4LTE1MC41IDYzLjQtMTkwIDEyMy45LTIzLjMgMzUuNi0zOC4xIDc1LjMtNDYuNyAxMTUuNUwyNTEuOSA0ODkuNGM4OS0xOCAxNTAuNS02My40IDE5MC4xLTEyMy45IDIzLjMtMzUuNiAzOC4xLTc1LjMgNDYuNy0xMTUuNUwyNjEuMSAyMi42em0yMzYgMTY4LjFjMy4yLTQyLjMgLjctODMuMy00LjgtMTE4LjctNC40LTI3LjgtMjYuOC00OC01My4xLTUxLjYtNDMtNS45LTgyLjItNy41LTExNy44LTUuNEw0OTcuMSAxOTAuNnpNMTkxLjcgNDk3LjFMMTUuOSAzMjEuNGMtMy4yIDQyLjMtLjcgODMuMyA0LjggMTE4LjcgNC40IDI3LjggMjYuOCA0OCA1My4xIDUxLjYgNDMgNS45IDgyLjIgNy41IDExNy44IDUuNHpNMjcxLjUgMTQzYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDY0IDY0YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTY0LTY0Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXptLTY0IDY0YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDY0IDY0YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTY0LTY0Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXptLTY0IDY0YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDY0IDY0YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTY0LTY0Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXoiXX0sRlp0PVo3ZSxCWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stbW9uc3RlciIsaWNvbjpbNTc2LDUxMixbXSwiZjYzYiIsIk0zMzYgOTZsNDggNjQtMTI4IDAgMC02NCA4MCAwem0xMjggNjRMMzg3LjIgNTcuNkMzNzUuMSA0MS41IDM1Ni4xIDMyIDMzNiAzMkwyMjQgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTYtMTQ0IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjRjMCAxOC4xIDEwLjEgMzMuOSAyNC45IDQyLjEtLjUgNS43IDEuMSAxMS42IDQuNyAxNi40LTMuNyA2LjktNi44IDE0LjEtOSAyMS44LTExLjYgMS43LTIwLjYgMTEuNy0yMC42IDIzLjhsMCAxNmMwIDEyLjEgOC45IDIyLjEgMjAuNiAyMy44IDIuMiA3LjYgNS4zIDE0LjkgOSAyMS44LTcgOS40LTYuMyAyMi44IDIuMyAzMS4zbDExLjMgMTEuM2M4LjYgOC42IDIxLjkgOS4zIDMxLjMgMi4yIDYuOCAzLjcgMTQuMSA2LjggMjEuNyA5IDEuNyAxMS42IDExLjcgMjAuNiAyMy44IDIwLjZsMTYgMGMxMi4xIDAgMjIuMS04LjkgMjMuOC0yMC42IDcuNi0yLjIgMTQuOS01LjMgMjEuNy05IDkuNCA3IDIyLjggNi4zIDMxLjMtMi4ybDExLjMtMTEuM2M4LjYtOC42IDkuMy0yMS45IDIuMy0zMS4zIDMuNy02LjggNi44LTE0LjEgOS0yMS43IDExLjYtMS43IDIwLjYtMTEuNyAyMC42LTIzLjhsMC0xNmMwLTEyLjEtOC45LTIyLjEtMjAuNi0yMy44LTIuMi03LjYtNS4zLTE0LjktOS0yMS43IDIuNC0zLjIgMy45LTYuOCA0LjUtMTAuNWwxMTQuMiAwYy42IDMuNyAyLjEgNy4zIDQuNSAxMC41LTMuNyA2LjktNi44IDE0LjEtOSAyMS44LTExLjYgMS43LTIwLjYgMTEuNy0yMC42IDIzLjhsMCAxNmMwIDEyLjEgOC45IDIyLjEgMjAuNiAyMy44IDIuMiA3LjYgNS4zIDE0LjkgOSAyMS44LTcgOS40LTYuMyAyMi44IDIuMiAzMS4zbDExLjMgMTEuM2M4LjUgOC42IDIxLjkgOS4zIDMxLjMgMi4yIDYuOCAzLjcgMTQuMSA2LjggMjEuNyA5IDEuNyAxMS42IDExLjcgMjAuNiAyMy44IDIwLjZsMTYgMGMxMi4xIDAgMjIuMS04LjkgMjMuOC0yMC42IDcuNi0yLjIgMTQuOS01LjMgMjEuOC05IDkuNCA3IDIyLjggNi4zIDMxLjMtMi4ybDExLjMtMTEuM2M4LjYtOC42IDkuMy0yMS45IDIuMi0zMS4zIDMuNy02LjggNi44LTE0LjEgOS0yMS43IDExLjYtMS43IDIwLjYtMTEuNyAyMC42LTIzLjhsMC0xNmMwLTEyLjEtOC45LTIyLjEtMjAuNi0yMy44LTIuMi03LjYtNS4zLTE0LjktOS0yMS43IDMuNi00LjggNS4yLTEwLjcgNC43LTE2LjQgMTQuOC04LjIgMjQuOS0yMy45IDI0LjktNDIuMWwwLTY0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC02NCAwek0xMjggMzM2YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnptMjcyIDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6Il19LEhadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhc3RlcmlzayIsaWNvbjpbNDQ4LDUxMixbMTAwMzMsNjE1NDVdLCIyYSIsIk0yMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE2OC42IDE0NC04My4xYzE1LjMtOC44IDM0LjktMy42IDQzLjcgMTEuN3MzLjYgMzQuOS0xMS43IDQzLjdMMjg4IDI1NiA0MzIgMzM5LjFjMTUuMyA4LjggMjAuNiAyOC40IDExLjcgNDMuN3MtMjguNCAyMC42LTQzLjcgMTEuN0wyNTYgMzExLjQgMjU2IDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE2OC42LTE0NCA4My4xYy0xNS4zIDguOC0zNC45IDMuNi00My43LTExLjdTLjcgMzQ4IDE2IDMzOS4xTDE2MCAyNTYgMTYgMTcyLjlDLjcgMTY0LTQuNSAxNDQuNSA0LjMgMTI5LjFTMzIuNyAxMDguNiA0OCAxMTcuNEwxOTIgMjAwLjYgMTkyIDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxtdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmF0dGVyeS1mdWxsIixpY29uOls2NDAsNTEyLFsxMjgyNjcsImJhdHRlcnkiLCJiYXR0ZXJ5LTUiXSwiZjI0MCIsIk01MjggMTI4YzguOCAwIDE2IDcuMiAxNiAxNmwwIDIyNGMwIDguOC03LjIgMTYtMTYgMTZsLTQxNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yMjRjMC04LjggNy4yLTE2IDE2LTE2bDQxNiAwek0xMTIgNjRjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMjI0YzAgNDQuMiAzNS44IDgwIDgwIDgwbDQxNiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDAtNDhjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwwLTQ4YzAtNDQuMi0zNS44LTgwLTgwLTgwTDExMiA2NHptNTYgMTEyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDExMmMwIDEzLjMgMTAuNyAyNCAyNCAyNGwzMDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMzA0IDB6Il19LHFadD1tdGUsVlp0PW10ZSxqWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hpbGQtZHJlc3MiLGljb246WzMyMCw1MTIsW10sImU1OWMiLCJNMjI0IDY0QTY0IDY0IDAgMSAwIDk2IDY0IDY0IDY0IDAgMSAwIDIyNCA2NHpNODggNDAwbDAgODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTgwIDE2IDAgMCA4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtODAgMTcuOCAwYzEwLjkgMCAxOC42LTEwLjcgMTUuMi0yMS4xbC0zMS4xLTkzLjQgMjguNyAzNy44YzEwLjcgMTQuMSAzMC44IDE2LjggNDQuOCA2LjJzMTYuOC0zMC43IDYuMi00NC44TDI1NC42IDIwN2MtMjIuNC0yOS42LTU3LjUtNDctOTQuNi00N3MtNzIuMiAxNy40LTk0LjYgNDdMNi41IDI4NC43Yy0xMC43IDE0LjEtNy45IDM0LjIgNi4yIDQ0LjhzMzQuMiA3LjkgNDQuOC02LjJMODYuMiAyODUuNSA1NSAzNzguOUM1MS42IDM4OS4zIDU5LjMgNDAwIDcwLjIgNDAwTDg4IDQwMHoiXX0sWDdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2Uta2lzcy1iZWFtIixpY29uOls1MTIsNTEyLFsxMjg1MzcsImtpc3MtYmVhbSJdLCJmNTk3IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yNDAgMjg4bDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDggMCAxMi4zLTQuNiAyMy41LTEyLjIgMzIgNy42IDguNSAxMi4yIDE5LjcgMTIuMiAzMiAwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6TTE3NiAxODBjLTE1LjUgMC0yOCAxMi41LTI4IDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjh6bTEzMiAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4cy0yOCAxMi41LTI4IDI4eiJdfSxVWnQ9WDdlLFE3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFzaC1jYW4tYXJyb3ctdXAiLGljb246WzQ0OCw1MTIsWyJ0cmFzaC1yZXN0b3JlLWFsdCJdLCJmODJhIiwiTTE2Ny4xLTE2bDExMy45IDBjMTMuOCAwIDI2IDguOCAzMC40IDIxLjlMMzIwIDMyIDQxNiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0UzE0LjMgMzIgMzIgMzJsOTYgMCA4LjctMjYuMUMxNDEuMS03LjIgMTUzLjMtMTYgMTY3LjEtMTZ6TTMyIDE0NGwzODQgMCAwIDMwNGMwIDM1LjMtMjguNyA2NC02NCA2NEw5NiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzA0em0yMDkgNzljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC03MiA3MmMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDMxLTMxIDAgMTAyLjFjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEwMi4xIDMxIDMxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNzItNzJ6Il19LFdadD1RN2UsR1p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvbnQiLGljb246WzUxMiw1MTIsW10sImYwMzEiLCJNMjg1LjEgNTAuN0MyNzkuOSAzOS4zIDI2OC41IDMyIDI1NiAzMnMtMjMuOSA3LjMtMjkuMSAxOC43TDU5LjUgNDE2IDQ4IDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02LjEgMCAyMi00OCAyMDguMyAwIDIyIDQ4LTYuMSAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTExLjUgMC0xNjcuNC0zNjUuM3pNMzMwLjggMzA0TDE4MS4yIDMwNCAyNTYgMTQwLjggMzMwLjggMzA0eiJdfSxZWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9yZS1ob2xlIixpY29uOls1MTIsNTEyLFtdLCJlNGMzIiwiTTI1NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDIzMi42Yy0xOS4xIDExLjEtMzIgMzEuNy0zMiA1NS40IDAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRjMC0yMy43LTEyLjktNDQuNC0zMi01NS40TDI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMCAzODRsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI3MmMwLTI2LjUtMjEuNS00OC00OC00OGwtNDggMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxNDRjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJTMTQ0IDM4MS45IDE0NCAzMjBsMC0xNDRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQ4IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4TDAgMzg0eiJdfSxLWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlydXMtY292aWQiLGljb246WzUxMiw1MTIsW10sImU0YTgiLCJNMTkyIDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDAgMCAzMy42YzMwLjcgNC4yIDU4LjggMTYuMyA4Mi4zIDM0LjFMMzg2LjEgOTIgMzc0LjggODAuNmMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDU2LjYgNTYuNmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC0xMS4zLTExLjMtMjMuOCAyMy44YzE3LjkgMjMuNSAyOS45IDUxLjcgMzQuMSA4Mi4zbDMzLjYgMCAwLTE2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA4MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE2LTMzLjYgMGMtNC4yIDMwLjctMTYuMyA1OC44LTM0LjEgODIuM2wyMy44IDIzLjggMTEuMy0xMS4zYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNTYuNiA1Ni42Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDExLjMtMTEuMy0yMy44LTIzLjhjLTIzLjUgMTcuOS01MS43IDI5LjktODIuMyAzNC4xbDAgMzMuNiAxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE2IDAgMC0zMy42Yy0zMC43LTQuMi01OC44LTE2LjMtODIuMy0zNC4xbC0yMy44IDIzLjggMTEuMyAxMS4zYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBMNDYuNyA0MDguN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDExLjMgMTEuMyAyMy44LTIzLjhDOTcuOSAzMzguOCA4NS44IDMxMC43IDgxLjYgMjgwbC0zMy42IDAgMCAxNmMwIDEzLjMtMTAuNyAyNC0yNCAyNFMwIDMwOS4zIDAgMjk2bDAtODBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDE2IDMzLjYgMGM0LjItMzAuNyAxNi4zLTU4LjggMzQuMS04Mi4zTDkyIDEyNS45IDgwLjYgMTM3LjJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNTYuNi01Ni42YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOUwxMjUuOSA5MiAxNDkuNyAxMTUuN2MyMy41LTE3LjkgNTEuNy0yOS45IDgyLjMtMzQuMWwwLTMzLjYtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTMyIDIwMGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem05NiA5NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LFpadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLXBkZiIsaWNvbjpbNTc2LDUxMixbXSwiZjFjMSIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDgwIDAgMC0xMTJjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTc2IDAgMC0xNjUuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyOTAuNyAxOC43QzI3OC43IDYuNyAyNjIuNSAwIDI0NS41IDBMOTYgMHpNMzU3LjUgMTc2TDI2NCAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MCA1OC41IDM1Ny41IDE3NnpNMjQwIDM4MGMtMTEgMC0yMCA5LTIwIDIwbDAgMTI4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtMjggMTIgMGMzMy4xIDAgNjAtMjYuOSA2MC02MHMtMjYuOS02MC02MC02MGwtMzIgMHptMzIgODBsLTEyIDAgMC00MCAxMiAwYzExIDAgMjAgOSAyMCAyMHMtOSAyMC0yMCAyMHptOTYtODBjLTExIDAtMjAgOS0yMCAyMGwwIDEyOGMwIDExIDkgMjAgMjAgMjBsMzIgMGMyOC43IDAgNTItMjMuMyA1Mi01MmwwLTY0YzAtMjguNy0yMy4zLTUyLTUyLTUybC0zMiAwem0yMCAxMjhsMC04OCAxMiAwYzYuNiAwIDEyIDUuNCAxMiAxMmwwIDY0YzAgNi42LTUuNCAxMi0xMiAxMmwtMTIgMHptODgtMTA4bDAgMTI4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtNDQgMjggMGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTI4IDAgMC0yNCAyOCAwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtNDggMGMtMTEgMC0yMCA5LTIwIDIweiJdfSxYWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGFuZ3VhZ2UiLGljb246WzU3Niw1MTIsW10sImYxYWIiLCJNMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAxMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOS42IDAtOC40IDIzLjFjLTE2LjQgNDUuMi00MS4xIDg2LjUtNzIuMiAxMjIgMTQuMiA4LjggMjkgMTYuNiA0NC40IDIzLjVsNTAuNCAyMi40IDYyLjItMTQwYzUuMS0xMS42IDE2LjYtMTkgMjkuMi0xOXMyNC4xIDcuNCAyOS4yIDE5bDEyOCAyODhjNy4yIDE2LjItLjEgMzUuMS0xNi4yIDQyLjJzLTM1LjEtLjEtNDIuMi0xNi4ybC0yMC00NS0xNTcuNSAwLTIwIDQ1Yy03LjIgMTYuMi0yNi4xIDIzLjQtNDIuMiAxNi4ycy0yMy40LTI2LjEtMTYuMi00Mi4ybDM5LjgtODkuNS01MC40LTIyLjRjLTIzLTEwLjItNDUtMjIuNC02NS44LTM2LjQtMjEuMyAxNy4yLTQ0LjYgMzIuMi02OS41IDQ0LjdMNzguMyAzODAuNmMtMTUuOCA3LjktMzUgMS41LTQyLjktMTQuM3MtMS41LTM1IDE0LjMtNDIuOWwzNC41LTE3LjNjMTYuMy04LjIgMzEuOC0xNy43IDQ2LjQtMjguMy0xMy44LTEyLjctMjYuOC0yNi40LTM4LjktNDAuOUw4MS42IDIyNC43Yy0xMS4zLTEzLjYtOS41LTMzLjggNC4xLTQ1LjFzMzMuOC05LjUgNDUuMSA0LjFsMTAuMiAxMi4yYzExLjUgMTMuOSAyNC4xIDI2LjggMzcuNCAzOC43IDI3LjUtMzAuNCA0OS4yLTY2LjEgNjMuNS0xMDUuNGwuNS0xLjItMjEwLjMgMEMxNC4zIDEyOCAwIDExMy43IDAgOTZTMTQuMyA2NCAzMiA2NGw5NiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTQxNiAyNzAuOEwzNjUuNyAzODQgNDY2LjMgMzg0IDQxNiAyNzAuOHoiXX0sSjdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoaWVsZC1oYWx2ZWQiLGljb246WzUxMiw1MTIsWyJzaGllbGQtYWx0Il0sImYzZWQiLCJNMjU2IDBjNC42IDAgOS4yIDEgMTMuNCAyLjlMNDU3LjggODIuOGMyMiA5LjMgMzguNCAzMSAzOC4zIDU3LjItLjUgOTkuMi00MS4zIDI4MC43LTIxMy42IDM2My4yLTE2LjcgOC0zNi4xIDgtNTIuOCAwLTE3Mi40LTgyLjUtMjEzLjEtMjY0LTIxMy42LTM2My4yLS4xLTI2LjIgMTYuMy00Ny45IDM4LjMtNTcuMkwyNDIuNyAyLjlDMjQ2LjkgMSAyNTEuNCAwIDI1NiAwem0wIDY2LjhsMCAzNzguMWMxMzgtNjYuOCAxNzUuMS0yMTQuOCAxNzYtMzAzLjRsLTE3Ni03NC42IDAgMHoiXX0sUVp0PUo3ZSxKWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyZXQtdXAiLGljb246WzMyMCw1MTIsW10sImYwZDgiLCJNMTQwLjMgMTM1LjJjMTIuNi0xMC4zIDMxLjEtOS41IDQyLjggMi4ybDEyOCAxMjhjOS4yIDkuMiAxMS45IDIyLjkgNi45IDM0LjlTMzAxLjQgMzIwIDI4OC41IDMyMGwtMjU2IDBjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhTLjcgMjc0LjUgOS45IDI2NS40bDEyOC0xMjggMi40LTIuMnoiXX0sZTllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtcGVuIixpY29uOls2NDAsNTEyLFsxMjgyMjEsImZpbGUtZWRpdCJdLCJmMzFjIiwiTTEyOC4xIDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE0Ni4yIDAgMTAuOS01NC41YzQuMy0yMS43IDE1LTQxLjYgMzAuNi01Ny4ybDEzMi4yLTEzMi4yIDAtOTcuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wzMjIuOCAxOC43QzMxMC44IDYuNyAyOTQuNSAwIDI3Ny42IDBMMTI4LjEgMHpNMzg5LjYgMTc2bC05My41IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtOTMuNSAxMTcuNSAxMTcuNXpNMzMyLjMgNDY2LjlsLTExLjkgNTkuNmMtLjIgLjktLjMgMS45LS4zIDIuOSAwIDggNi41IDE0LjYgMTQuNiAxNC42IDEgMCAxLjktLjEgMi45LS4zbDU5LjYtMTEuOWMxMi40LTIuNSAyMy44LTguNiAzMi43LTE3LjVsMTE4LjktMTE4LjktODAtODAtMTE4LjkgMTE4LjljLTguOSA4LjktMTUgMjAuMy0xNy41IDMyLjd6bTI2Ny44LTEyM2MyMi4xLTIyLjEgMjIuMS01Ny45IDAtODBzLTU3LjktMjIuMS04MCAwbC0yOC44IDI4LjggODAgODAgMjguOC0yOC44eiJdfSxlWHQ9ZTllLHQ5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tYmlraW5nIixpY29uOls1NzYsNTEyLFsxMjg2OTIsImJpa2luZyJdLCJmODRhIiwiTTM2OCA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTI3LjIgNjRsLTYxLjgtNDguOGMtMTcuMy0xMy42LTQxLjctMTMuOC01OS4xLS4zbC04My4xIDY0LjJjLTMwLjcgMjMuOC0yOC41IDcwLjggNC4zIDkxLjZMMjU2IDMwNS4xIDI1NiA0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOGMwLTEwLjctNS4zLTIwLjctMTQuMi0yNi42TDI2MyAyMzIuOSAzMjMuMyAxODQuNCAzNjQgMjE3YzUuNyA0LjUgMTIuNyA3IDIwIDdsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNTIuOCAwek0xMTIgNTEyYTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHptMzUyIDBhMTEyIDExMiAwIDEgMCAwLTIyNCAxMTIgMTEyIDAgMSAwIDAgMjI0eiJdfSx0WHQ9dDllLGE5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rLW9wZW4tcmVhZGVyIixpY29uOls1MTIsNTEyLFsiYm9vay1yZWFkZXIiXSwiZjVkYSIsIk0yNTYgMTUyYTg4IDg4IDAgMSAwIDAtMTc2IDg4IDg4IDAgMSAwIDAgMTc2em0wIDI5OC43bDAtMTQ5LjNjMTYuMy02LjggMzIuOS0xMy43IDQ5LjctMjAuNyAzOS0xNi4yIDgwLjgtMjQuNiAxMjMuMS0yNC42bDE5LjIgMCAwIDE2MC0xOS4yIDBjLTU5LjEgMC0xMTcuNyAxMS43LTE3Mi4zIDM0LjVsLS41IC4yek0yNTYgMjMybC0yNS4xLTEwLjVDMTg0LjEgMjAyIDEzMy45IDE5MiA4My4yIDE5Mkw0OCAxOTJjLTI2LjUgMC00OCAyMS41LTQ4IDQ4TDAgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDM1LjIgMGM1MC43IDAgMTAwLjkgMTAgMTQ3LjcgMjkuNWwxMi44IDUuM2M3LjkgMy4zIDE2LjcgMy4zIDI0LjYgMGwxMi44LTUuM2M0Ni44LTE5LjUgOTctMjkuNSAxNDcuNy0yOS41bDM1LjIgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE5MmMwLTI2LjUtMjEuNS00OC00OC00OGwtMzUuMiAwYy01MC43IDAtMTAwLjkgMTAtMTQ3LjcgMjkuNUwyNTYgMjMyeiJdfSxhWHQ9YTllLHJYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnbGFzcy13YXRlci1kcm9wbGV0IixpY29uOlszODQsNTEyLFtdLCJlNGY1IiwiTTMyIDBDMjMuMSAwIDE0LjYgMy43IDguNiAxMC4yUy0uNiAyNS40IC4xIDM0LjNMMjguOSA0MzcuN2MzIDQxLjkgMzcuOCA3NC4zIDc5LjggNzQuM2wxNjYuNiAwYzQyIDAgNzYuOC0zMi40IDc5LjgtNzQuM0wzODMuOSAzNC4zYy42LTguOS0yLjQtMTcuNi04LjUtMjQuMVMzNjAuOSAwIDM1MiAwTDMyIDB6TTgzIDI5Ny41TDY2LjQgNjQgMzE3LjYgNjQgMzAxIDI5Ny41IDI4OCAzMDRjLTIwLjEgMTAuMS00My45IDEwLjEtNjQgMHMtNDMuOS0xMC4xLTY0IDAtNDMuOSAxMC4xLTY0IDBsLTEzLTYuNXpNMjU2IDE5NmMwLTI0LTMzLjctNzAuMS01Mi4yLTkzLjUtNi4xLTcuNy0xNy41LTcuNy0yMy42IDAtMTguNSAyMy40LTUyLjIgNjkuNS01Mi4yIDkzLjUgMCAzMy4xIDI4LjcgNjAgNjQgNjBzNjQtMjYuOSA2NC02MHoiXX0scjllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvd2VyLWJyb2FkY2FzdCIsaWNvbjpbNTc2LDUxMixbImJyb2FkY2FzdC10b3dlciJdLCJmNTE5IiwiTTg3LjkgMTEuNWMtMTEuMy02LjktMjYuMS0zLjItMzMgOC4xLTI0LjggNDEtMzkgODkuMS0zOSAxNDAuNHMxNC4yIDk5LjQgMzkgMTQwLjRjNi45IDExLjMgMjEuNiAxNSAzMyA4LjFzMTUtMjEuNiA4LjEtMzNDNzUuNyAyNDEuOSA2NCAyMDIuMyA2NCAxNjBTNzUuNyA3OC4xIDk2LjEgNDQuNGM2LjktMTEuMyAzLjItMjYuMS04LjEtMzN6bTQwMC4xIDBjLTExLjMgNi45LTE1IDIxLjYtOC4xIDMzIDIwLjQgMzMuNyAzMi4xIDczLjMgMzIuMSAxMTUuNnMtMTEuNyA4MS45LTMyLjEgMTE1LjZjLTYuOSAxMS4zLTMuMiAyNi4xIDguMSAzM3MyNi4xIDMuMiAzMy04LjFjMjQuOC00MSAzOS04OS4xIDM5LTE0MC40UzU0NS44IDYwLjYgNTIxIDE5LjZjLTYuOS0xMS4zLTIxLjYtMTUtMzMtOC4xek0zMjAgMjE1LjRjMTkuMS0xMS4xIDMyLTMxLjcgMzItNTUuNCAwLTM1LjMtMjguNy02NC02NC02NHMtNjQgMjguNy02NCA2NGMwIDIzLjcgMTIuOSA0NC40IDMyIDU1LjRMMjU2IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjY0LjZ6TTE4MC4yIDkxYzcuMi0xMS4yIDMuOS0yNi03LjItMzMuMnMtMjYtMy45LTMzLjIgNy4yYy0xNy42IDI3LjQtMjcuOCA2MC0yNy44IDk1czEwLjIgNjcuNiAyNy44IDk1YzcuMiAxMS4yIDIyIDE0LjQgMzMuMiA3LjJzMTQuNC0yMiA3LjItMzMuMmMtMTIuOC0xOS45LTIwLjItNDMuNi0yMC4yLTY5czcuNC00OS4xIDIwLjItNjl6TTQzNi4yIDY1Yy03LjItMTEuMi0yMi0xNC40LTMzLjItNy4ycy0xNC40IDIyLTcuMiAzMy4yYzEyLjggMTkuOSAyMC4yIDQzLjYgMjAuMiA2OXMtNy40IDQ5LjEtMjAuMiA2OWMtNy4yIDExLjItMy45IDI2IDcuMiAzMy4yczI2IDMuOSAzMy4yLTcuMmMxNy42LTI3LjQgMjcuOC02MCAyNy44LTk1cy0xMC4yLTY3LjYtMjcuOC05NXoiXX0sc1h0PXI5ZSxzOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWluaW1pemUiLGljb246WzUxMiw1MTIsWyJjb21wcmVzcy1hcnJvd3MtYWx0Il0sImY3OGMiLCJNNDU2IDIyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMTQ0YzAtOS43IDUuOC0xOC41IDE0LjgtMjIuMlMzMjIuMSAzMi4yIDMyOSAzOWw0MCA0MCA3My40LTczLjRDNDQ2IDIgNDUwLjkgMCA0NTYgMHMxMCAyIDEzLjcgNS43bDM2LjcgMzYuN0M1MTAgNDYgNTEyIDUwLjkgNTEyIDU2cy0yIDEwLTUuNyAxMy43TDQzMyAxNDMgNDczIDE4M2M2LjkgNi45IDguOSAxNy4yIDUuMiAyNi4yUzQ2NS43IDIyNCA0NTYgMjI0em0wIDY0YzkuNyAwIDE4LjUgNS44IDIyLjIgMTQuOHMxLjcgMTkuMy01LjIgMjYuMmwtNDAgNDAgNzMuNCA3My40YzMuNiAzLjYgNS43IDguNSA1LjcgMTMuN3MtMiAxMC01LjcgMTMuN2wtMzYuNyAzNi43QzQ2NiA1MTAgNDYxLjEgNTEyIDQ1NiA1MTJzLTEwLTItMTMuNy01LjdMMzY5IDQzMyAzMjkgNDczYy02LjkgNi45LTE3LjIgOC45LTI2LjIgNS4yUzI4OCA0NjUuNyAyODggNDU2bDAtMTQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDE0NCAwem0tMjU2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxNDRjMCA5LjctNS44IDE4LjUtMTQuOCAyMi4ycy0xOS4zIDEuNy0yNi4yLTUuMmwtNDAtNDAtNzMuNCA3My40QzY2IDUxMCA2MS4xIDUxMiA1NiA1MTJzLTEwLTItMTMuNy01LjdMNS43IDQ2OS43QzIgNDY2IDAgNDYxLjEgMCA0NTZzMi0xMCA1LjctMTMuN0w3OSAzNjkgMzkgMzI5Yy02LjktNi45LTguOS0xNy4yLTUuMi0yNi4yUzQ2LjMgMjg4IDU2IDI4OGwxNDQgMHpNNTYgMjI0Yy05LjcgMC0xOC41LTUuOC0yMi4yLTE0LjhTMzIuMiAxODkuOSAzOSAxODNMNzkgMTQzIDUuNyA2OS43QzIgNjYgMCA2MS4xIDAgNTZTMiA0NiA1LjcgNDIuM0w0Mi4zIDUuN0M0NiAyIDUwLjkgMCA1NiAwUzY2IDIgNjkuNyA1LjdMMTQzIDc5IDE4MyAzOWM2LjktNi45IDE3LjItOC45IDI2LjItNS4yUzIyNCA0Ni4zIDIyNCA1NmwwIDE0NGMwIDEzLjMtMTAuNyAyNC0yNCAyNEw1NiAyMjR6Il19LGlYdD1zOWUsb1h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXJpZ2h0LXRvLWNpdHkiLGljb246WzY0MCw1MTIsW10sImU0YjMiLCJNMjg4IDQ4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA4MCA0OCAwIDAtNzJjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDcyIDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAyODhjMCAyNi41LTIxLjUgNDgtNDggNDhsLTI1NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTQxNnptNjQgNjRsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTYgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNMzUyIDMwNGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNzYtODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNNTEyIDMzNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0xNTMgMTY3bDcyIDcyYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC03MiA3MmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMS0zMS0xMDIuMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEwMi4xIDAtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMHoiXX0sblh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxhcHRvcC1tZWRpY2FsIixpY29uOls2NDAsNTEyLFtdLCJmODEyIiwiTTY0IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjQwLTY0IDAgMC0yNDAtMzg0IDAgMCAyNDAtNjQgMCAwLTI0MHpNMCA0MDMuMkMwIDM5Mi42IDguNiAzODQgMTkuMiAzODRsNjAxLjYgMGMxMC42IDAgMTkuMiA4LjYgMTkuMiAxOS4yIDAgNDIuNC0zNC40IDc2LjgtNzYuOCA3Ni44TDc2LjggNDgwQzM0LjQgNDgwIDAgNDQ1LjYgMCA0MDMuMnpNMjg4IDE2MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCA0MCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtNDAgMCAwIDQwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MHoiXX0sbFh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyZWFkLXNsaWNlIixpY29uOls1MTIsNTEyLFtdLCJmN2VjIiwiTTY0IDQzMmwwLTE3NmMtMzUuMyAwLTY0LTI4LjctNjQtNjQgMC0yMTYuNSA1MTItMjE2LjUgNTEyIDAgMCAzNS4zLTI4LjcgNjQtNjQgNjRsMCAxNzZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTI4OCAwYy0yNi41IDAtNDgtMjEuNS00OC00OHoiXX0sY1h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imdsb2JlIixpY29uOls1MTIsNTEyLFsxMjc3NjBdLCJmMGFjIiwiTTM1MS45IDI4MGwtMTkwLjkgMGMyLjkgNjQuNSAxNy4yIDEyMy45IDM3LjUgMTY3LjQgMTEuNCAyNC41IDIzLjcgNDEuOCAzNS4xIDUyLjQgMTEuMiAxMC41IDE4LjkgMTIuMiAyMi45IDEyLjJzMTEuNy0xLjcgMjIuOS0xMi4yYzExLjQtMTAuNiAyMy43LTI4IDM1LjEtNTIuNCAyMC4zLTQzLjUgMzQuNi0xMDIuOSAzNy41LTE2Ny40ek0xNjAuOSAyMzJsMTkwLjkgMEMzNDkgMTY3LjUgMzM0LjcgMTA4LjEgMzE0LjQgNjQuNiAzMDMgNDAuMiAyOTAuNyAyMi44IDI3OS4zIDEyLjIgMjY4LjEgMS43IDI2MC40IDAgMjU2LjQgMHMtMTEuNyAxLjctMjIuOSAxMi4yYy0xMS40IDEwLjYtMjMuNyAyOC0zNS4xIDUyLjQtMjAuMyA0My41LTM0LjYgMTAyLjktMzcuNSAxNjcuNHptLTQ4IDBDMTE2LjQgMTQ2LjQgMTM4LjUgNjYuOSAxNzAuOCAxNC43IDc4LjcgNDcuMyAxMC45IDEzMS4yIDEuNSAyMzJsMTExLjQgMHpNMS41IDI4MGM5LjQgMTAwLjggNzcuMiAxODQuNyAxNjkuMyAyMTcuMy0zMi4zLTUyLjItNTQuNC0xMzEuNy01Ny45LTIxNy4zTDEuNSAyODB6bTM5OC40IDBjLTMuNSA4NS42LTI1LjYgMTY1LjEtNTcuOSAyMTcuMyA5Mi4xLTMyLjcgMTU5LjktMTE2LjUgMTY5LjMtMjE3LjNsLTExMS40IDB6bTExMS40LTQ4QzUwMS45IDEzMS4yIDQzNC4xIDQ3LjMgMzQyIDE0LjcgMzc0LjMgNjYuOSAzOTYuNCAxNDYuNCAzOTkuOSAyMzJsMTExLjQgMHoiXX0sZFh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvbGRlci1taW51cyIsaWNvbjpbNTEyLDUxMixbXSwiZjY1ZCIsIk00NDggNDQ4TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwxMzguNyAwYzEzLjggMCAyNy4zIDQuNSAzOC40IDEyLjhsMzguNCAyOC44YzUuNSA0LjIgMTIuMyA2LjQgMTkuMiA2LjRMNDQ4IDgwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjQwYzAgMzUuMy0yOC43IDY0LTY0IDY0ek0xODQgMjQwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHoiXX0sdVh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hc2stZmFjZSIsaWNvbjpbNjQwLDUxMixbXSwiZTFkNyIsIk0zMjAgNjRjLTI3LjIgMC01My44IDgtNzYuNCAyMy4xbC0zNy4xIDI0LjhjLTE1LjggMTAuNS0zNC4zIDE2LjEtNTMuMyAxNi4xTDY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA3OC43YzAgNjIuNiA0NS4yIDExNiAxMDcgMTI2LjNsOTcuOSAxNi4zYzMzIDIyIDcyLjYgMzQuNyAxMTUuMSAzNC43czgyLjItMTIuOCAxMTUuMS0zNC43TDUzMyAzOTYuOWM2MS43LTEwLjMgMTA3LTYzLjcgMTA3LTEyNi4zbDAtNzguN2MwLTM1LjMtMjguNy02NC02NC02NGwtODkuMiAwYy0xOSAwLTM3LjUtNS42LTUzLjMtMTYuMUwzOTYuNCA4Ny4xQzM3My44IDcyIDM0Ny4yIDY0IDMyMCA2NHpNMTM1LjkgMzM2LjlsLTE4LjQtMy4xQzg2LjYgMzI4LjcgNjQgMzAyIDY0IDI3MC43bDAtNzguNyA0OCAwIDAgNDhjMCAzNSA4LjYgNjcuOSAyMy45IDk2Ljl6bTM4Ni42LTMuMWwtMTguNCAzLjFDNTE5LjQgMzA3LjkgNTI4IDI3NSA1MjggMjQwbDAtNDggNDggMCAwIDc4LjdjMCAzMS4zLTIyLjYgNTgtNTMuNSA2My4xek0xOTIgMjMyYzAtMTMuMyAxMC43LTI0IDI0LTI0bDIwOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yMDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTU2IDU2bDE0NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0scFh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvbmciLGljb246WzUxMiw1MTIsW10sImY1NWMiLCJNNDQ4LjUgMzg0YzAgNDEuNS0xMy4xIDc5LjktMzUuNSAxMTEuMy03LjkgMTEuMS0yMS4yIDE2LjctMzQuOCAxNi43bC0yNDMuMyAwYy0xMy43IDAtMjYuOS01LjYtMzQuOC0xNi43LTIyLjQtMzEuNC0zNS41LTY5LjgtMzUuNS0xMTEuMyAwLTcxLjEgMzguNi0xMzMuMSA5Ni0xNjYuM2wwLTE1My43Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgMTUzLjdjMTQuMiA4LjIgMjcuMiAxOC4yIDM4LjggMjkuNmwzOS4zLTM5LjMtNy03Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBjMTYgMTYgMzIgMzIgNDggNDggOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNy03LTQzLjMgNDMuM2MxNy4zIDI4LjkgMjcuMyA2Mi42IDI3LjMgOTguOHpNMjg4LjUgNjRsLTY0IDAgMCAxOTAuNi0zMiAxOC41Yy0xOS41IDExLjMtMzUuNyAyNy41LTQ2LjkgNDYuOWwyMjEuOCAwYy0xMS4yLTE5LjQtMjcuNC0zNS42LTQ2LjktNDYuOWwtMzItMTguNSAwLTE5MC42eiJdfSxmWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9hZC1icmlkZ2UiLGljb246WzU3Niw1MTIsW10sImU1NjMiLCJNMzIgMzJsMjA4IDAgMCA2NC0yNCAwIDAgNjQgMjQgMCAwIDEyOS4zYy00NS40IDcuNi04MCA0Ny4xLTgwIDk0LjdsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NGMwLTM4LjgtMjYuNC03Mi42LTY0LTgybDAtMTEyIDQwIDAgMC02NC04IDBDMTQuMyA5NiAwIDgxLjcgMCA2NFMxNC4zIDMyIDMyIDMyek04OCA5NmwwIDY0IDgwIDAgMC02NC04MCAwek0zMzYgMzJsNzIgMCAwIDcyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC03MiA3MiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC03MiAwIDAtNzJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA3Mi03MiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTM1MmMwLTI2LjUgMjEuNS00OCA0OC00OHptOTYgMTYwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC04MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0saTllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwLTktMSIsaWNvbjpbNTEyLDUxMixbInNvcnQtbnVtZXJpYy11cC1hbHQiXSwiZjg4NyIsIk0xNTAuNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMOTYgMTQxLjMgOTYgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMDYuNyA0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZ6TTM2NS4xIDIwNi42Yy05LjYgMTQuOC01LjQgMzQuNiA5LjQgNDQuM3MzNC42IDUuNCA0NC4zLTkuNGw0Mi4xLTY0LjljMTIuNC0xOS4yIDE5LjEtNDEuNiAxOS4xLTY0LjUgMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBjMCAzNi4xIDIzLjkgNjYuNyA1Ni44IDc2LjZsLTExLjcgMTh6TTM3NiAxMTJhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptNDIuNyAxODJjLTguMy02LTE5LjEtNy43LTI4LjgtNC40bC00OCAxNmMtMTYuOCA1LjYtMjUuOCAyMy43LTIwLjIgNDAuNXMyMy43IDI1LjggNDAuNSAyMC4ybDUuOS0yIDAgNTEuNi0xNiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE2IDAgMC05NmMwLTEwLjMtNC45LTE5LjktMTMuMy0yNnoiXX0saFh0PWk5ZSxtWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW91bnRhaW4tY2l0eSIsaWNvbjpbNjQwLDUxMixbXSwiZTUyZSIsIk0yNTYuMyA0OGMwLTI2LjUgMjEuNS00OCA0OC00OGw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDggNDggMCAwLTcyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA3MiAxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMzIwYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC03Ny44IDBjNC0xNS40IDIuNC0zMi42LTYuNy00OC4yTDM1NC42IDI1NiAzNjguMyAyNTZjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy02LjEgMC0xMS40IDMuNC0xNC4xIDguNWwtNDIuNi03M2MtNi0xMC4yLTE0LjEtMTgtMjMuMy0yMy4zbDAtNTYuMnptNjQgNjRsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTYwIDk2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE2IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bS0yNzItNjQuN2wtNjUuMSAxMTEuNiAzMy4xIDMzLjEgNDgtNDggNDAuNCAwLTU2LjQtOTYuN3ptLTI3LjYtNDcuOWMxMi4zLTIxLjIgNDIuOS0yMS4yIDU1LjMgMEw0MjAuMyA0NjMuOWMxMi40IDIxLjMtMi45IDQ4LjEtMjcuNiA0OC4xTDU2IDUxMmMtMjQuNyAwLTQwLjEtMjYuOC0yNy42LTQ4LjFMMTk2LjcgMTc1LjR6Il19LGd0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1kb3duLTktMSIsaWNvbjpbNTEyLDUxMixbInNvcnQtbnVtZXJpYy1kZXNjIiwic29ydC1udW1lcmljLWRvd24tYWx0Il0sImY4ODYiLCJNMjMwLjYgMzkwLjZsLTgwIDgwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtODAtODBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMOTYgMzcwLjcgOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMwNi43IDI1LjQtMjUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zem0xMzQuNS0xODRsMTEuNy0xOGMtMzIuOS05LjktNTYuOC00MC41LTU2LjgtNzYuNiAwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMjIuOS02LjYgNDUuMy0xOS4xIDY0LjVsLTQyLjEgNjQuOWMtOS42IDE0LjgtMjkuNCAxOS4xLTQ0LjMgOS40cy0xOS4xLTI5LjQtOS40LTQ0LjN6TTQyNCAxMTJhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptLTUuMyAxODJjOC4zIDYgMTMuMyAxNS43IDEzLjMgMjZsMCA5NiAxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2IDAgMC01MS42LTUuOSAyYy0xNi44IDUuNi0zNC45LTMuNS00MC41LTIwLjJzMy41LTM0LjkgMjAuMi00MC41bDQ4LTE2YzkuOC0zLjMgMjAuNS0xLjYgMjguOCA0LjR6Il19LGdYdD1ndGUsYlh0PWd0ZSxvOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmluLXdpZGUiLGljb246WzUxMiw1MTIsWzEyODUxNSwiZ3Jpbi1hbHQiXSwiZjU4MSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzg2LjcgMzA4LjljMTEuOS0zLjcgMjMuOSA2LjMgMTkuNiAxOC4xLTIyLjQgNjEuMy04MS4zIDEwNS4xLTE1MC4zIDEwNS4xUzEyOC4xIDM4OC4yIDEwNS43IDMyNi45Yy00LjMtMTEuOCA3LjctMjEuOCAxOS42LTE4LjEgMzkuMiAxMi4yIDgzLjcgMTkuMSAxMzAuNyAxOS4xczkxLjUtNi45IDEzMC43LTE5LjF6TTIwOCAxOTJjMCAzNS4zLTE0LjMgNjQtMzIgNjRzLTMyLTI4LjctMzItNjQgMTQuMy02NCAzMi02NCAzMiAyOC43IDMyIDY0em0xMjggNjRjLTE3LjcgMC0zMi0yOC43LTMyLTY0czE0LjMtNjQgMzItNjQgMzIgMjguNyAzMiA2NC0xNC4zIDY0LTMyIDY0eiJdfSx2WHQ9bzllLHhYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwb29wIixpY29uOls1MTIsNTEyLFtdLCJmNjE5IiwiTTI1NC40IDYuNmMzLjUtNC4zIDktNi41IDE0LjUtNS43IDQ2LjkgNi4zIDgzLjEgNDYuNSA4My4xIDk1LjEgMCAxMS4yLTEuOSAyMi01LjUgMzJsNS41IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjQgMCAxOS4xLTguNCAzNi4zLTIxLjcgNDhsMTMuNyAwYzM5LjggMCA3MiAzMi4yIDcyIDcyIDAgMjMuMi0xMSA0My44LTI4IDU3IDM0LjEgNS43IDYwIDM1LjMgNjAgNzEgMCAzOS44LTMyLjIgNzItNzIgNzJMNzIgNTEyYy0zOS44IDAtNzItMzIuMi03Mi03MiAwLTM1LjcgMjUuOS02NS4zIDYwLTcxLTE3LTEzLjItMjgtMzMuOC0yOC01NyAwLTM5LjggMzIuMi03MiA3Mi03MmwxMy43IDBjLTEzLjMtMTEuNy0yMS43LTI4LjktMjEuNy00OCAwLTM1LjMgMjguNy02NCA2NC02NGwxNi4yIDBjNDQuMS0uMSA3OS44LTM1LjkgNzkuOC04MCAwLTkuMi0xLjUtMTcuOS00LjMtMjYuMS0xLjgtNS4yLS44LTExLjEgMi44LTE1LjR6Il19LHlYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaGFybWFjaGFrcmEiLGljb246WzUxMiw1MTIsWzk3ODRdLCJmNjU1IiwiTTMzNy44IDIwNS43bDQ4LjYtNDIuNWMxMy44IDE5LjMgMjMuNCA0MS45IDI3LjQgNjYuMmwtNjQuNCA0LjNjLTIuNC0xMC4xLTYuNC0xOS41LTExLjYtMjh6bTE0MC4xIDE5LjVjLTUuMy0zOC44LTIwLjYtNzQuNS00My4yLTEwNC4zbC44LS43QzQ0OSAxMDguNCA0NDkuNyA4Ny42IDQzNyA3NXMtMzMuNC0xMi00NS4yIDEuNWwtLjcgLjhjLTI5LjgtMjIuNi02NS41LTM3LjktMTA0LjMtNDMuMmwuMS0xLjFjMS4yLTE3LjktMTMtMzMtMzAuOS0zM3MtMzIuMSAxNS4yLTMwLjkgMzNsLjEgMS4xYy0zOC44IDUuMy03NC41IDIwLjYtMTA0LjMgNDMuMmwtLjctLjhDMTA4LjQgNjMgODcuNiA2Mi4zIDc1IDc1cy0xMiAzMy40IDEuNSA0NS4ybC44IC43Yy0yMi42IDI5LjgtMzcuOSA2NS41LTQzLjIgMTA0LjNsLTEuMS0uMWMtMTcuOS0xLjItMzMgMTMtMzMgMzAuOXMxNS4yIDMyLjEgMzMgMzAuOWwxLjEtLjFjNS4zIDM4LjggMjAuNiA3NC41IDQzLjIgMTA0LjNsLS44IC43QzYzIDQwMy42IDYyLjMgNDI0LjQgNzUgNDM3czMzLjQgMTIgNDUuMi0xLjVsLjctLjhjMjkuOCAyMi42IDY1LjUgMzcuOSAxMDQuMyA0My4ybC0uMSAxLjFjLTEuMiAxNy45IDEzIDMzIDMwLjkgMzNzMzIuMS0xNS4yIDMwLjktMzNsLS4xLTEuMWMzOC44LTUuMyA3NC41LTIwLjYgMTA0LjMtNDMuMmwuNyAuOGMxMS44IDEzLjUgMzIuNSAxNC4yIDQ1LjIgMS41czEyLTMzLjQtMS41LTQ1LjJsLS44LS43YzIyLjYtMjkuOCAzNy45LTY1LjUgNDMuMi0xMDQuM2wxLjEgLjFjMTcuOSAxLjIgMzMtMTMgMzMtMzAuOXMtMTUuMi0zMi4xLTMzLTMwLjlsLTEuMSAuMXpNMTYzLjIgMTI1LjZjMTkuMy0xMy44IDQxLjktMjMuNCA2Ni4yLTI3LjVsNC4zIDY0LjRjLTEwIDIuNC0xOS41IDYuNC0yOCAxMS42bC00Mi41LTQ4LjZ6bS02NSAxMDMuOGM0LjEtMjQuNCAxMy43LTQ2LjkgMjcuNS02Ni4ybDQ4LjYgNDIuNWMtNS4zIDguNS05LjIgMTgtMTEuNiAyOGwtNjQuNC00LjN6bTI3LjUgMTE5LjRjLTEzLjgtMTkuMy0yMy40LTQxLjktMjcuNS02Ni4ybDY0LjQtNC4zYzIuNCAxMC4xIDYuNCAxOS41IDExLjYgMjhsLTQ4LjYgNDIuNXptMTAzLjggNjVjLTI0LjQtNC4xLTQ2LjktMTMuNy02Ni4yLTI3LjRsNDIuNS00OC42YzguNSA1LjMgMTggOS4yIDI4IDExLjZsLTQuMyA2NC40em0xMTkuNC0yNy40Yy0xOS4zIDEzLjgtNDEuOSAyMy40LTY2LjIgMjcuNGwtNC4zLTY0LjRjMTAtMi40IDE5LjUtNi40IDI4LTExLjZsNDIuNSA0OC42em02NS0xMDMuOGMtNC4xIDI0LjQtMTMuNyA0Ni45LTI3LjQgNjYuMmwtNDguNi00Mi41YzUuMy04LjYgOS4yLTE4IDExLjYtMjhsNjQuNCA0LjN6bS02NS0xNTYuOWwtNDIuNSA0OC42Yy04LjYtNS4zLTE4LTkuMi0yOC0xMS42bDQuMy02NC40YzI0LjQgNC4xIDQ2LjkgMTMuNyA2Ni4yIDI3LjV6TTI1NiAyMjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxuOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmF0dGVyeS1xdWFydGVyIixpY29uOls2NDAsNTEyLFsiYmF0dGVyeS0yIl0sImYyNDMiLCJNNTI4IDEyOGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyMjRjMCA4LjgtNy4yIDE2LTE2IDE2bC00MTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjI0YzAtOC44IDcuMi0xNiAxNi0xNmw0MTYgMHpNMTEyIDY0Yy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDIyNGMwIDQ0LjIgMzUuOCA4MCA4MCA4MGw0MTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsMC00OGMwLTQ0LjItMzUuOC04MC04MC04MEwxMTIgNjR6bTU2IDExMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNjQgMHoiXX0sd1h0PW45ZSxNWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5raCIsaWNvbjpbMzIwLDUxMixbOTc2NV0sImY2NDQiLCJNOTYgMTI4YzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjRjMCA0MS42LTIwLjcgNzYuNi00Ni42IDEwNC4xLTUuOSA2LjItMTEuOCAxMS44LTE3LjQgMTYuNy01LjYtNC45LTExLjUtMTAuNS0xNy40LTE2LjctMjUuOS0yNy41LTQ2LjYtNjIuNi00Ni42LTEwNC4xek0xNjAgMEM4OS4zIDAgMzIgNTcuMyAzMiAxMjggMzIgMTgwLjQgNTMuNSAyMjMuNSA3OC44IDI1NkwzMiAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYgMCAwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwIDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQ2LjggMEMyNjYuNSAyMjMuNSAyODggMTgwLjQgMjg4IDEyOCAyODggNTcuMyAyMzAuNyAwIDE2MCAweiJdfSxrWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGlhbW9uZCIsaWNvbjpbNTEyLDUxMixbOTgzMF0sImYyMTkiLCJNMTcgMjE1TDIxNSAxN0MyMjUuOSA2LjEgMjQwLjYgMCAyNTYgMHMzMC4xIDYuMSA0MSAxN0w0OTUgMjE1YzEwLjkgMTAuOSAxNyAyNS42IDE3IDQxcy02LjEgMzAuMS0xNyA0MUwyOTcgNDk1Yy0xMC45IDEwLjktMjUuNiAxNy00MSAxN3MtMzAuMS02LjEtNDEtMTdMMTcgMjk3QzYuMSAyODYuMSAwIDI3MS40IDAgMjU2czYuMS0zMC4xIDE3LTQxeiJdfSxTWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3Vic2NyaXB0IixpY29uOls1NzYsNTEyLFtdLCJmMTJjIiwiTTk2IDY0Qzc4LjMgNjQgNjQgNzguMyA2NCA5NnMxNC4zIDMyIDMyIDMybDE1LjMgMCA4OS42IDEyOC04OS42IDEyOC0xNS4zIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMGMxMC40IDAgMjAuMi01LjEgMjYuMi0xMy42TDI0MCAzMTEuOCAzMjUuOCA0MzQuNGM2IDguNiAxNS44IDEzLjYgMjYuMiAxMy42bDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE1LjMgMC04OS42LTEyOCA4OS42LTEyOCAxNS4zIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDBjLTEwLjQgMC0yMC4yIDUuMS0yNi4yIDEzLjZMMjQwIDIwMC4yIDE1NC4yIDc3LjZDMTQ4LjIgNjkuMSAxMzguNCA2NCAxMjggNjRMOTYgNjR6TTU0NCAzMjBjMC0xMS4xLTUuNy0yMS40LTE1LjItMjcuMnMtMjEuMi02LjQtMzEuMS0xLjRsLTMyIDE2Yy0xNS44IDcuOS0yMi4yIDI3LjEtMTQuMyA0Mi45IDUuNiAxMS4yIDE2LjkgMTcuNyAyOC42IDE3LjdsMCA4MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMTI4eiJdfSxsOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicnVwZWUtc2lnbiIsaWNvbjpbNDQ4LDUxMixbODM2MCwicnVwZWUiXSwiZjE1NiIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDgwIDBjNzkuNSAwIDE0NCA2NC41IDE0NCAxNDQgMCA1NC4zLTMwIDEwMS41LTc0LjQgMTI2LjFsNDEgMTM2LjdjNS4xIDE2LjktNC41IDM0LjgtMjEuNSAzOS44cy0zNC44LTQuNS0zOS44LTIxLjVMMTIwLjEgMzE5LjhjLTIuNyAuMS01LjQgLjItOC4xIC4ybC00OCAwIDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhMMCA2NHpNNjQgMjU2bDQ4IDBjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODBsLTQ4IDAgMCAxNjB6bTI4NS4xLTMybDM0LjkgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzQuOSAwYy03LjIgMC0xMy4xIDUuOS0xMy4xIDEzLjEgMCA1LjcgMy43IDEwLjcgOS4xIDEyLjVsNDkuNCAxNS45YzMxLjkgMTAuMyA1My41IDM5LjkgNTMuNSA3My40IDAgNDIuNi0zNC41IDc3LjEtNzcuMSA3Ny4xTDMyMCA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNTAuOSAwYzcuMiAwIDEzLjEtNS45IDEzLjEtMTMuMSAwLTUuNy0zLjctMTAuNy05LjEtMTIuNWwtNDkuNC0xNS45Yy0zMS45LTEwLjMtNTMuNS0zOS45LTUzLjUtNzMuNCAwLTQyLjYgMzQuNS03Ny4xIDc3LjEtNzcuMXoiXX0selh0PWw5ZSxDWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXJpZmxlIixpY29uOls1MTIsNTEyLFtdLCJlNTRlIiwiTTQxNiAwTDM4NCAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDAgMTAwLjNjLTkuNiA1LjUtMTYgMTUuOS0xNiAyNy43bDAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTQ0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDAgMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZsNTkuNSAwYzEwLjQgMCAxOC05LjggMTUuNS0xOS45bC0yMy05Mi4xIDQ0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC00OCAwIDAtMjYuNyA1My4xLTE3LjdjNi41LTIuMiAxMC45LTguMyAxMC45LTE1LjJsMC04NC41YzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNTYtMTYgNS4zIDAtMTA5LjNjMC0xMS44LTYuNC0yMi4yLTE2LTI3LjdMNDMyIDE2YzAtOC44LTcuMi0xNi0xNi0xNnpNMjI0IDIwOEMxMTggMjA4IDMyIDI5NCAzMiA0MDBsMCA0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNDhjMC0zMi41IDEyLjEtNjIuMSAzMi04NC43bDAgMTk2LjcgMTYwIDAgMC0yOTMuMWMtMjAtNy4xLTQxLjYtMTAuOS02NC0xMC45ek0yODAgODhhNzIgNzIgMCAxIDAgLTE0NCAwIDcyIDcyIDAgMSAwIDE0NCAweiJdfSxfWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZCIsaWNvbjpbMzg0LDUxMixbMTAwXSwiNDQiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwxMjggMGMxMjMuNyAwIDIyNCAxMDAuMyAyMjQgMjI0UzI4My43IDQ4MCAxNjAgNDgwTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMCA2NHpNNjQgOTZsMCAzMjAgOTYgMGM4OC40IDAgMTYwLTcxLjYgMTYwLTE2MFMyNDguNCA5NiAxNjAgOTZMNjQgOTZ6Il19LFRYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtbmZpIixpY29uOls0NDgsNTEyLFtdLCJlNTc2IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTkzIDE3Mi4zbDM1IDYzIDAtNTEuNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTQ0YzAgMTAuOS03LjQgMjAuNS0xOCAyMy4ycy0yMS43LTItMjctMTEuNmwtMzUtNjMgMCA1MS40YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTQ0YzAtMTAuOSA3LjQtMjAuNSAxOC0yMy4yczIxLjcgMiAyNyAxMS42ek0yMDggMTg0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTU2IDAgMCAzMiA0MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00MCAwIDAgNDBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xNDR6bTE5MiAwbDAgMTQ0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6Il19LExYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZWV0aCIsaWNvbjpbNTEyLDUxMixbXSwiZjYyZSIsIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnpNMTQ0IDIwOGwwIDI0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0yNGMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHptMTI4IDBsMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMjRjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh6TTgwIDE3NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMjRjMC0xNy43LTE0LjMtMzItMzItMzJ6bTMyMCAzMmwwIDI0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDE2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0yNGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnpNNDggMzM2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2em0xNDQgNDhjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4em0xMjggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE2YzAtOC44LTcuMi0xNi0xNi0xNmwtNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZjMCAyNi41IDIxLjUgNDggNDggNDh6bTExMi0xNmMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE2YzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZjMCAxNy43IDE0LjMgMzIgMzIgMzJ6Il19LGM5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYWduaWZ5aW5nLWdsYXNzLWRvbGxhciIsaWNvbjpbNTEyLDUxMixbInNlYXJjaC1kb2xsYXIiXSwiZjY4OCIsIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2QzI5Ni4zIDQwMS4xIDI1My45IDQxNiAyMDggNDE2IDkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwIDQxNiA5My4xIDQxNiAyMDh6TTIxMiA5NmMtMTEgMC0yMCA5LTIwIDIwbDAgNGMtMjguOCAuMy01MiAyMy43LTUyIDUyLjUgMCAyNS43IDE4LjUgNDcuNiA0My45IDUxLjhsNDEuNyA3YzYgMSAxMC40IDYuMiAxMC40IDEyLjMgMCA2LjktNS42IDEyLjUtMTIuNSAxMi41TDE2OCAyNTZjLTExIDAtMjAgOS0yMCAyMHM5IDIwIDIwIDIwbDI0IDAgMCA0YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtNC43YzI1LTQuMSA0NC0yNS43IDQ0LTUxLjggMC0yNS43LTE4LjUtNDcuNi00My45LTUxLjhsLTQxLjctN2MtNi0xLTEwLjQtNi4yLTEwLjQtMTIuMyAwLTYuOSA1LjYtMTIuNSAxMi41LTEyLjVsNDcuNSAwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtOCAwIDAtNGMwLTExLTktMjAtMjAtMjB6Il19LCRYdD1jOWUsRFh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImR1bXBzdGVyLWZpcmUiLGljb246WzY0MCw1MTIsW10sImY3OTQiLCJNMTY0LjMgNjRMMTM4LjcgMTkyIDU2IDE5MmMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00LjFjMC0yLjYgLjQtNS4xIDEuMi03LjZMNTguNSA4MC40QzYxLjggNzAuNiA3MSA2NCA4MS4zIDY0bDgzIDB6bTIzLjQgMTI4bDI1LjYtMTI4IDgyLjcgMCAwIDEyOC0xMDguMyAwek0zNDQgNjRsODIuNyAwIDE2IDgwYy0xNC43IC4yLTI5LjMgNS41LTQwLjkgMTUuOS0xMS41IDEwLjMtMjIuNSAyMS0zMi44IDMyLjFsLTI0LjkgMCAwLTEyOHpNOTYgMjQwbDIzMy4yIDBjLTYuNCA4LjgtMTIuMyAxNy42LTE3LjcgMjYuMy0yMS40IDM0LjctMzkuNSA3Ni4xLTM5LjUgMTE1LjggMCAxNy4xIDIuMSAzMy44IDYgNDkuOWwtMTIwLjQgMCAxLjkgMTAuM2MzLjIgMTcuNC04LjQgMzQtMjUuOCAzNy4ycy0zNC04LjQtMzcuMi0yNS44QzcxIDMxMy4zIDU4IDI0Mi4xIDU3LjcgMjQwTDk2IDI0MHptNTEyLTcyYzAgMTEtNy40IDIwLjMtMTcuNSAyMy4xLS45LS44LTEuNy0xLjYtMi42LTIuNC0yMS44LTIwLTU0LjMtMjEuOC03OC01LjUtNC4yLTQuMy04LjUtOC41LTEyLjktMTIuNmwtMjEuMy0xMDYuNiA4MyAwYzEwLjMgMCAxOS41IDYuNiAyMi44IDE2LjRsMjUuMyA3NS45Yy44IDIuNCAxLjIgNSAxLjIgNy42bDAgNC4xek01MDUuNyAyNDAuM0w1MTggMjI2LjVjNS40LTYuMSAxMy4zLTguOCAyMC45LTguOSA3LjIgMCAxNC4zIDIuNiAxOS45IDcuOCAxOS43IDE4LjMgMzkuOCA0My4yIDU1IDcwLjYgMTUuMSAyNy4yIDI2LjIgNTguMSAyNi4yIDg4LjEgMCA4OC43LTcxLjMgMTU5LjgtMTYwIDE1OS44LTg5LjYgMC0xNjAtNzEuMy0xNjAtMTU5LjggMC0zNy4zIDE2LTczLjQgMzYuOC0xMDQuNSAyMC45LTMxLjMgNDcuNS01OSA3MC45LTgwLjIgNS43LTUuMiAxMy4xLTcuNyAyMC4zLTcuNXMxMy40IDMuMiAxOC44IDcuNWMxNC40IDExLjQgMzguOSA0MC43IDM4LjkgNDAuN3pNNTQ0IDQzMi4yYzAtMzYuNS0zNy03My01NC44LTg4LjQtNS40LTQuNy0xMy4xLTQuNy0xOC41IDAtMTcuNyAxNS40LTU0LjggNTEuOS01NC44IDg4LjQgMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHoiXX0sQVh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVwbG9hZCIsaWNvbjpbNDQ4LDUxMixbXSwiZjA5MyIsIk0yNTYgMTA5LjNMMjU2IDMyMGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIxMC43LTQxLjQgNDEuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsOTYtOTZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMjU2IDEwOS4zek0yMjQgNDAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDgwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzJjMC0zNS4zIDI4LjctNjQgNjQtNjRsODAgMGMwIDQ0LjIgMzUuOCA4MCA4MCA4MHptMTQ0IDI0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHoiXX0sYnRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItc2xhc2giLGljb246WzU3Niw1MTIsWzYyNzE0LCJ1c2VyLWFsdC1zbGFzaCIsInVzZXItbGFyZ2Utc2xhc2giXSwiZjUwNiIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDMxMS41IDI0NS43YzU1LTEwLjkgOTYuNS01OS41IDk2LjUtMTE3LjcgMC02Ni4zLTUzLjctMTIwLTEyMC0xMjAtNTguMiAwLTEwNi44IDQxLjUtMTE3LjcgOTYuNUw0MS0yNC45ek0yMzUuNiAzMDUuNEMxNDcuOSAzMTYuNiA4MCAzOTEuNSA4MCA0ODIuMyA4MCA0OTguNyA5My4zIDUxMiAxMDkuNyA1MTJsMzMyLjUgMC0yMDYuNi0yMDYuNnoiXX0sRVh0PWJ0ZSxQWHQ9YnRlLElYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1sZWZ0IixpY29uOls1MTIsNTEyLFs4NTkyXSwiZjA2MCIsIk05LjQgMjMzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wxMDkuMyAyODggNDgwIDI4OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzcwLjcgMCAxMDUuNC0xMDUuNGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMTYwIDE2MHoiXX0sTlh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZpYWwtdmlydXMiLGljb246WzU3Niw1MTIsW10sImU1OTciLCJNNjQgMzJDNjQgMTQuMyA3OC4zIDAgOTYgMEwzMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDE1MS43Yy0xOC41IDAtMzcgNy01MS4xIDIxLjEtMjEuNiAyMS42LTI2LjYgNTMuNi0xNSA3OS45LTI2LjkgMTAuNC00NS45IDM2LjYtNDUuOSA2Ny4xczE5IDU2LjcgNDUuOSA2Ny4xYy03LjMgMTYuNS04IDM1LjItMi4zIDUyLjItMTMuNCA1LjctMjguMiA4LjgtNDMuNiA4LjgtNjEuOSAwLTExMi01MC4xLTExMi0xMTJMOTYgNjRDNzguMyA2NCA2NCA0OS43IDY0IDMyem05NiAzMmwwIDEyOCA5NiAwIDAtMTI4LTk2IDB6TTI4MCA0MDhjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMjguOCAwIDQzLjItMzQuOCAyMi45LTU1LjItOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwYzIwLjQgMjAuNCA1NS4yIDUuOSA1NS4yLTIyLjkgMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGMwIDI4LjggMzQuOCA0My4yIDU1LjIgMjIuOSA5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjljLTIwLjQgMjAuNC01LjkgNTUuMiAyMi45IDU1LjIgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTI4LjggMC00My4yIDM0LjgtMjIuOSA1NS4yIDkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBjLTIwLjQtMjAuNC01NS4yLTUuOS01NS4yIDIyLjkgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0yOC44LTM0LjgtNDMuMi01NS4yLTIyLjktOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWMyMC40LTIwLjQgNS45LTU1LjItMjIuOS01NS4yem0xMDQtMzJhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em04OCA0MGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxSWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlY2stZG91YmxlIixpY29uOlszODQsNTEyLFtdLCJmNTYwIiwiTTI0OS45IDY2LjhjMTAuNC0xNC4zIDcuMi0zNC4zLTcuMS00NC43cy0zNC4zLTcuMi00NC43IDcuMWwtMTA2IDE0NS43LTM3LjUtMzcuNWMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjNi42IDYuNiAxNS44IDEwIDI1LjEgOS4zczE3LjktNS41IDIzLjQtMTMuMWwxMjgtMTc2em0xMjggMTM2YzEwLjQtMTQuMyA3LjItMzQuMy03LjEtNDQuN3MtMzQuMy03LjItNDQuNyA3LjFsLTE3MCAyMzMuNy02OS41LTY5LjVjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDk2IDk2YzYuNiA2LjYgMTUuOCAxMCAyNS4xIDkuM3MxNy45LTUuNSAyMy40LTEzLjFsMTkyLTI2NHoiXX0sT1h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhdyIsaWNvbjpbNTEyLDUxMixbXSwiZjFiMCIsIk0yMzQuNSA5Mi45YzE0LjMgNDIuOS0uMyA4Ni4yLTMyLjYgOTYuOHMtNzAuMS0xNS42LTg0LjQtNTguNSAuMy04Ni4yIDMyLjYtOTYuOCA3MC4xIDE1LjYgODQuNCA1OC41ek0xMDAuNCAxOTguNmMxOC45IDMyLjQgMTQuMyA3MC4xLTEwLjIgODQuMXMtNTkuNy0uOS03OC41LTMzLjMtMTQuMy03MC4xIDEwLjItODQuMSA1OS43IC45IDc4LjUgMzMuM3pNNjkuMiA0MDEuMkMxMjEuNiAyNTkuOSAyMTQuNyAyMjQgMjU2IDIyNHMxMzQuNCAzNS45IDE4Ni44IDE3Ny4yYzMuNiA5LjcgNS4yIDIwLjEgNS4yIDMwLjVsMCAxLjZjMCAyNS44LTIwLjkgNDYuNy00Ni43IDQ2LjctMTEuNSAwLTIyLjktMS40LTM0LTQuMmwtODgtMjJjLTE1LjMtMy44LTMxLjMtMy44LTQ2LjYgMGwtODggMjJjLTExLjEgMi44LTIyLjUgNC4yLTM0IDQuMi0yNS44IDAtNDYuNy0yMC45LTQ2LjctNDYuN2wwLTEuNmMwLTEwLjQgMS42LTIwLjggNS4yLTMwLjV6TTQyMS44IDI4Mi43Yy0yNC41LTE0LTI5LjEtNTEuNy0xMC4yLTg0LjFzNTQtNDcuMyA3OC41LTMzLjMgMjkuMSA1MS43IDEwLjIgODQuMS01NCA0Ny4zLTc4LjUgMzMuM3pNMzEwLjEgMTg5LjdjLTMyLjMtMTAuNi00Ni45LTUzLjktMzIuNi05Ni44czUyLjEtNjkuMSA4NC40LTU4LjUgNDYuOSA1My45IDMyLjYgOTYuOC01Mi4xIDY5LjEtODQuNCA1OC41eiJdfSx2dGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVsbWV0LXNhZmV0eSIsaWNvbjpbNTc2LDUxMixbImhhcmQtaGF0IiwiaGF0LWhhcmQiXSwiZjgwNyIsIk0zNTIgMjY0bDAtMjAwYzAtMTcuNy0xNC4zLTMyLTMyLTMybC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDIwMGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE4NS45QzkwIDEwOS44IDMyIDE5MS44IDMyIDI4OGwwIDY0IDUxMiAwIDAtNjRjLTEtOTUuMi01OC40LTE3Ny43LTE0NC0yMDkuOEw0MDAgMjY0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0ek00MCA0MDBjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBsNDk2IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBzLTE3LjktNDAtNDAtNDBMNDAgNDAweiJdfSxGWHQ9dnRlLEJYdD12dGUsSFh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImUiLGljb246WzMyMCw1MTIsWzEwMV0sIjQ1IiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTIyNCAwIDAtMTI4IDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNjAgMCAwLTEyOCAyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnoiXX0sZDllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtbGF1Z2gtc3F1aW50IixpY29uOls1MTIsNTEyLFsibGF1Z2gtc3F1aW50Il0sImY1OWIiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTEwNy43IDMzMi4xQzEwMiAzMTggMTEzLjQgMzA0IDEyOC42IDMwNGwyNTQuOSAwYzE1LjIgMCAyNi42IDE0IDIwLjkgMjguMS0yMy44IDU4LjYtODEuMiA5OS45LTE0OC4zIDk5LjlzLTEyNC42LTQxLjMtMTQ4LjMtOTkuOXptMTUtMTg4LjhjNC41LTYuOCAxMy4zLTkuMiAyMC42LTUuNWw3OS42IDQwYzUuNCAyLjcgOC44IDguMiA4LjggMTQuM3MtMy40IDExLjYtOC44IDE0LjNsLTc5LjYgNDBjLTcuMyAzLjYtMTYuMSAxLjMtMjAuNi01LjVzLTMuMS0xNS45IDMuMS0yMS4xTDE1OSAxOTIgMTI1LjggMTY0LjNjLTYuMi01LjItNy42LTE0LjMtMy4xLTIxLjF6bTI2My42IDIxLjFMMzUzIDE5MiAzODYuMiAyMTkuN2M2LjIgNS4yIDcuNiAxNC4zIDMuMSAyMS4xcy0xMy4zIDkuMi0yMC42IDUuNWwtNzkuNi00MGMtNS40LTIuNy04LjgtOC4yLTguOC0xNC4zczMuNC0xMS42IDguOC0xNC4zbDc5LjYtNDBjNy4zLTMuNiAxNi4xLTEuMyAyMC42IDUuNXMzLjEgMTUuOS0zLjEgMjEuMXoiXX0scVh0PWQ5ZSx1OWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG93bi1sZWZ0LWFuZC11cC1yaWdodC10by1jZW50ZXIiLGljb246WzUxMiw1MTIsWyJjb21wcmVzcy1hbHQiXSwiZjQyMiIsIk00MzkuNSA3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDMyIDMyYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC04NyA4NyAzOSAzOWM2LjkgNi45IDguOSAxNy4yIDUuMiAyNi4yUzQ1MC4yIDI0MCA0NDAuNSAyNDBsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTE0NGMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJzMTkuMy0xLjcgMjYuMiA1LjJsMzkgMzkgODctODd6TTcyLjUgMjcybDE0NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTQ0YzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTM5LTM5LTg3IDg3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtMzItMzJjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDg3LTg3LTM5LTM5Yy02LjktNi45LTguOS0xNy4yLTUuMi0yNi4yUzYyLjggMjcyIDcyLjUgMjcyeiJdfSxWWHQ9dTllLGpYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnaWZ0cyIsaWNvbjpbNTc2LDUxMixbXSwiZjc5YyIsIk0yMDItMzAuNmMxMi41IDQuNCAxOSAxOC4xIDE0LjYgMzAuNmwtOC4yIDIzLjEgMjUuNC0xOC41YzEwLjctNy44IDI1LjctNS40IDMzLjUgNS4zczUuNCAyNS43LTUuMyAzMy41TDIzMy44IDY0IDI3MiA2NGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDIuMWMtNTQuNyAxMC40LTk2IDU4LjQtOTYgMTE2bDAgMS45YzAgOC45IDEgMTcuNSAyLjggMjUuOS0xMS45IDE3LjgtMTguOCAzOS4xLTE4LjggNjIuMWwwIDEyOGMwIDIzLjggNy40IDQ1LjkgMjAuMSA2NEw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMTEyQzAgODUuNSAyMS41IDY0IDQ4IDY0bDM4LjIgMC0yOC4zLTIwLjZDNDcuMiAzNS42IDQ0LjggMjAuNiA1Mi42IDkuOVM3NS40LTMuMiA4Ni4xIDQuNmwyNy40IDIwLTguMy0yNUMxMDEtMTMgMTA3LjgtMjYuNiAxMjAuNC0zMC44czI2LjIgMi42IDMwLjQgMTUuMmw5LjkgMjkuOCAxMC43LTMwLjJjNC40LTEyLjUgMTguMS0xOSAzMC42LTE0LjZ6TTQ4OS45IDIwOGMtNy41IDAtMTQuNSAzLjgtMTguNiAxMC4xTDQ0Ni45IDI1NiA0ODggMjU2YzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMS45YzAtMTIuMi05LjktMjIuMS0yMi4xLTIyLjF6TTM4NS4xIDI1NmwtMjQuNC0zNy45Yy00LjEtNi4zLTExLjEtMTAuMS0xOC42LTEwLjEtMTIuMiAwLTIyLjEgOS45LTIyLjEgMjIuMWwwIDEuOWMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0MS4xIDB6TTI4MS45IDI2OC41Yy02LjMtMTAuNy05LjktMjMuMi05LjktMzYuNWwwLTEuOWMwLTM4LjcgMzEuNC03MC4xIDcwLjEtNzAuMSAyMy44IDAgNDYgMTIuMSA1OC45IDMyLjFsMTUgMjMuMiAxNS0yMy4yYzEyLjktMjAgMzUuMS0zMi4xIDU4LjktMzIuMSAzOC43IDAgNzAuMSAzMS40IDcwLjEgNzAuMWwwIDEuOWMwIDEzLjMtMy42IDI1LjgtOS45IDM2LjUgMTUuNyAxMS43IDI1LjkgMzAuNCAyNS45IDUxLjVsMCAxMjhjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTcyIDAgMC0yMDgtNDggMCAwIDIwOC03MiAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTEyOGMwLTIxLjEgMTAuMi0zOS44IDI1LjktNTEuNXoiXX0sVVh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJlZCIsaWNvbjpbNTc2LDUxMixbMTI4NzE2XSwiZjIzNiIsIk0zMiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDIyNCAyMjQgMCAwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxNjAgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMjI0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjQtNDQ4IDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ2NS43IDAgNDQ4TDAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJ6bTgwIDE2MGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6Il19LFdYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb25leS1iaWxsLXRyYW5zZmVyIixpY29uOls2NDAsNTEyLFtdLCJlNTI4IiwiTTMxIDEwNWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlMMTAzLTFjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC0zMSAzMSA2Ny43IDAgMCAwIDMzOC4zIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxNzguMi01LjEtNS4xYy0yOC4xLTI4LjEtNzMuNy0yOC4xLTEwMS44IDAtMjcuMiAyNy4yLTI4LjEgNzAuNi0yLjggOTguOWw2Ny43IDAtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw3MiA3MmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNzIgNzJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzEtMzEtNDA2LjEgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNzguMiA1LjEgNS4xYzI4LjEgMjguMSA3My43IDI4LjEgMTAxLjggMCAyNy4yLTI3LjIgMjguMS03MC42IDIuOC05OC45bC02Ny43IDAgMzEgMzFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEwzMSAxMDV6TTQxNiAyNTZhOTYgOTYgMCAxIDAgLTE5MiAwIDk2IDk2IDAgMSAwIDE5MiAwem04OC02NC41YzQuNCAuNSA4LTMuMSA4LTcuNWwwLTQ4YzAtNC40LTMuNi04LTgtOGwtNDggMGMtNC40IDAtOC4xIDMuNi03LjUgOCAzLjYgMjkgMjYuNiA1MS45IDU1LjUgNTUuNXptLTM2OCAxMjljLTQuNC0uNS04IDMuMS04IDcuNWwwIDQ4YzAgNC40IDMuNiA4IDggOGw0OCAwYzQuNCAwIDguMS0zLjYgNy41LTgtMy42LTI5LTI2LjYtNTEuOS01NS41LTU1LjV6Il19LHA5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tcnVubmluZyIsaWNvbjpbNDQ4LDUxMixbMTI3OTM5LCJydW5uaW5nIl0sImY3MGMiLCJNMjU2LjUtMzJhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6TTEyMy42IDE3NmMtMy4zIDAtNi4yIDItNy40IDVMOTQuMiAyMzUuOWMtNi42IDE2LjQtMjUuMiAyNC40LTQxLjYgMTcuOHMtMjQuNC0yNS4yLTE3LjgtNDEuNmwyMS45LTU0LjlDNjcuNyAxMjkuOSA5NC4xIDExMiAxMjMuNiAxMTJsOTcuMyAwYzI4LjUgMCA1NC44IDE1LjEgNjkuMSAzOS43bDMyLjggNTYuMyA2MS42IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTYxLjYgMGMtMjIuOCAwLTQzLjgtMTIuMS01NS4zLTMxLjhsLTEwLTE3LjEtMjAuNyA3MC40IDc1LjQgMjIuNmMyNy43IDguMyA0MS44IDM5IDMwLjEgNjUuNUwyODUuNyA1MDljLTcuMiAxNi4yLTI2LjEgMjMuNC00Mi4yIDE2LjJzLTIzLjQtMjYuMS0xNi4yLTQyLjJsNDkuMi0xMTAuOC05NS45LTI4LjhjLTMyLjctOS44LTUyLTQzLjctNDMuNy03Ni44bDIyLjctOTAuNi0zNS45IDB6bS04IDE4MWMxMy4zIDE0LjkgMzAuNyAyNi4zIDUxLjIgMzIuNGw0LjcgMS40LTYuOSAxOS4zYy01LjggMTYuMy0xNiAzMC44LTI5LjMgNDEuOEw1Mi45IDUxOS44Yy0xMy42IDExLjItMzMuOCA5LjMtNDUtNC4zcy05LjMtMzMuOCA0LjMtNDVsODIuNC02Ny45YzQuNS0zLjcgNy44LTguNSA5LjgtMTMuOUwxMTUuNiAzNTd6Il19LEdYdD1wOWUsZjllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1jaGV2cm9uLWRvd24iLGljb246WzUxMiw1MTIsWyJjaGV2cm9uLWNpcmNsZS1kb3duIl0sImYxM2EiLCJNMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMiAyNTYgMjU2IDAgMSAwIDAtNTEyek0xMzUgMjQxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsODcgODcgODctODdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45TDI3MyAzNDVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwTDEzNSAyNDF6Il19LFlYdD1mOWUsS1h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItbnVyc2UiLGljb246WzQ0OCw1MTIsW10sImY4MmYiLCJNOTYgNDQuOWMwLTEyLjcgNy41LTI0LjIgMTkuMi0yOS4zbDk2LTQyYzguMi0zLjYgMTcuNS0zLjYgMjUuNyAwbDk2IDQyQzM0NC41IDIwLjcgMzUyIDMyLjIgMzUyIDQ0LjlsMCA5OS4xYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4Uzk2IDIxNC43IDk2IDE0NGwwLTk5LjF6TTMwNCAxMjhsLTExMS42IDAtLjQgMC00OCAwIDAgMTZjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGwwLTE2ek0yMDggMTZsMCAxNi0xNiAwYy00LjQgMC04IDMuNi04IDhsMCAxNmMwIDQuNCAzLjYgOCA4IDhsMTYgMCAwIDE2YzAgNC40IDMuNiA4IDggOGwxNiAwYzQuNCAwIDgtMy42IDgtOGwwLTE2IDE2IDBjNC40IDAgOC0zLjYgOC04bDAtMTZjMC00LjQtMy42LTgtOC04bC0xNiAwIDAtMTZjMC00LjQtMy42LTgtOC04TDIxNiA4Yy00LjQgMC04IDMuNi04IDh6TTE0Mi42IDMyM2MtNi41LTQuOS0xNS4yLTYuMi0yMi42LTIuOC02MS40IDI4LjItMTA0LjEgOTAuMi0xMDQuMSAxNjIuMSAwIDE2LjQgMTMuMyAyOS43IDI5LjcgMjkuN2wzNTYuNiAwYzE2LjQgMCAyOS43LTEzLjMgMjkuNy0yOS43IDAtNzItNDIuNy0xMzQtMTA0LjEtMTYyLjEtNy40LTMuNC0xNi4xLTIuMS0yMi42IDIuOGwtNjcgNTAuMmMtOC41IDYuNC0yMC4zIDYuNC0yOC44IDBsLTY3LTUwLjJ6Il19LGg5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWtpc3Mtd2luay1oZWFydCIsaWNvbjpbNjQwLDUxMixbMTI4NTM2LCJraXNzLXdpbmstaGVhcnQiXSwiZjU5OCIsIk01NDMuNyAyNjguM2MuMi00LjEgLjMtOC4yIC4zLTEyLjMgMC0xNDEuNC0xMTQuNi0yNTYtMjU2LTI1NlMzMiAxMTQuNiAzMiAyNTYgMTQ2LjYgNTEyIDI4OCA1MTJjNDEuNCAwIDgwLjUtOS44IDExNS4xLTI3LjMtNy42LTE3LjEtMTYuMS0zOC44LTIxLjgtNjEuNy03LjctMzAuNS0xNC4xLTc2LjIgOC4yLTExNC43bDIuNy00LjZjMjkuNS01MSA5NC43LTY4LjUgMTQ1LjctMzkgMiAxLjIgNCAyLjQgNS45IDMuN3pNMjQwIDMwNGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OCAwIDEyLjMtNC42IDIzLjUtMTIuMiAzMiA3LjYgOC41IDEyLjIgMTkuNyAxMi4yIDMyIDAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2ek0yMDggMTc2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTUyIDIwYy0xMSAwLTIwIDktMjAgMjBzLTkgMjAtMjAgMjAtMjAtOS0yMC0yMGMwLTMzLjEgMjYuOS02MCA2MC02MGwxNiAwYzMzLjEgMCA2MCAyNi45IDYwIDYwIDAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMC05LTIwLTIwLTIwbC0xNiAwek01NDIuOCAzNTBjLTIuMi0xOC4zLTEyLjktMzQuNi0yOC45LTQzLjgtMjguMS0xNi4yLTYzLjktNi42LTgwLjEgMjEuNWwtMi43IDQuNmMtMjQuNSA0Mi41IDcuOSAxMTcuOSAyNC40IDE1MC44IDUuMSAxMC4xIDE1LjUgMTYuMSAyNi44IDE1LjUgMzYuNy0yLjIgMTE4LjItMTEuNyAxNDIuOC01NC4ybDIuNy00LjZjMTYuMi0yOC4xIDYuNi02My45LTIxLjUtODAuMS0xNi05LjItMzUuNC0xMC40LTUyLjQtMy4xbC05LjggNC4yLTEuMy0xMC42eiJdfSxaWHQ9aDllLFhYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxsIixpY29uOls1MTIsNTEyLFtdLCJmNTc1IiwiTTI5NiA2NGM2LjkgMCAxMy41IDIuNyAxOC4zIDcuNkw0NDAuNCAxOTcuN2M0LjkgNC45IDcuNiAxMS41IDcuNiAxOC4zcy0yLjcgMTMuNS03LjYgMTguM0wzODYuNyAyODggNjUuMyAyODhjMS4zLTMuOSAzLjQtNy40IDYuMy0xMC4zbDk2LjQtOTYuNCAzMy40IDMzLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wyMTMuMyAxMzYgMjc3LjcgNzEuNmM0LjktNC45IDExLjUtNy42IDE4LjMtNy42ek0xMjIuNyAxMzZMMjYuMyAyMzIuNEM5LjUgMjQ5LjMgMCAyNzIuMSAwIDI5NnM5LjUgNDYuNyAyNi4zIDYzLjZMMTUyLjQgNDg1LjdDMTY5LjMgNTAyLjUgMTkyLjEgNTEyIDIxNiA1MTJzNDYuNy05LjUgNjMuNi0yNi4zTDQ4NS43IDI3OS42QzUwMi41IDI2Mi43IDUxMiAyMzkuOSA1MTIgMjE2cy05LjUtNDYuNy0yNi4zLTYzLjZMMzU5LjYgMjYuM0MzNDIuNyA5LjUgMzE5LjkgMCAyOTYgMHMtNDYuNyA5LjUtNjMuNiAyNi4zTDE2OCA5MC43IDExOC42IDQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDEyMi43IDEzNnoiXX0sbTllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbmV5LWJpbGwtMS13YXZlIixpY29uOls1MTIsNTEyLFsibW9uZXktYmlsbC13YXZlLWFsdCJdLCJmNTNiIiwiTTAgMTA5LjVMMCA0MTkuNmMwIDE5LjQgMTEuOCAzNy4zIDMwLjMgNDMuMyA5NCAzMCAxNTguOCA4LjQgMjIzLjMtMTMuMSA2Mi40LTIwLjggMTI0LjQtNDEuNSAyMTIuMS0xNS4zIDIyLjIgNi42IDQ2LjItOC44IDQ2LjItMzJsMC0zMTAuMWMwLTE5LjQtMTEuOC0zNy4zLTMwLjMtNDMuMy05NC0zMC0xNTguOC04LjQtMjIzLjMgMTMuMS02Mi40IDIwLjgtMTI0LjQgNDEuNS0yMTIuMSAxNS4zLTIyLjItNi42LTQ2LjMgOC44LTQ2LjMgMzJ6TTI1NiAzNjhjLTUzIDAtOTYtNTAuMS05Ni0xMTJzNDMtMTEyIDk2LTExMiA5NiA1MC4xIDk2IDExMi00MyAxMTItOTYgMTEyek0xMjcuMSA0MDUuNWMuNyA0LjQtMi44IDguMS03LjIgOC4xLTE1LjcgMC0zMi4xLTEuOC01MC02LjEtMy41LS44LTYtNC02LTcuN0w2NCAzNjBjMC00LjQgMy42LTguMSA4LTcuNSAyOC4xIDMuNSA1MC42IDI1LjIgNTUuMiA1M3pNNDQ4IDM1NC42YzAgNS00LjYgOC44LTkuNSA4LTE1LjQtMi41LTMwLjItMy45LTQ0LjQtNC4zLTQuOS0uMS04LjctNC41LTcuMi05LjIgNy4zLTIzLjcgMjgtNDEuNCA1My4yLTQ0LjYgNC40LS41IDggMy4xIDggNy41bDAgNDIuNnptLTgtMTk1LjFjLTI4LjEtMy41LTUwLjYtMjUuMi01NS4yLTUzLS43LTQuNCAyLjgtOC4xIDcuMi04LjEgMTUuNyAwIDMyLjEgMS44IDUwIDYuMSAzLjUgLjggNiA0IDYgNy43bDAgMzkuOWMwIDQuNC0zLjYgOC4xLTggNy41em0tMzIyLjEtNS44YzQuOSAuMSA4LjcgNC41IDcuMiA5LjItNy4zIDIzLjctMjggNDEuNC01My4yIDQ0LjYtNC40IC41LTgtMy4xLTgtNy41bDAtNDIuNmMwLTUgNC42LTguOCA5LjUtOCAxNS40IDIuNSAzMC4yIDMuOSA0NC40IDQuM3pNMjQwIDE4OGMtMTEgMC0yMCA5LTIwIDIwIDAgOS43IDYuOSAxNy43IDE2IDE5LjZsMCA0OC40LTQgMGMtMTEgMC0yMCA5LTIwIDIwczkgMjAgMjAgMjBsNDggMGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTQgMCAwLTY4YzAtMTEtOS0yMC0yMC0yMGwtMTYgMHoiXX0sUVh0PW05ZSxKWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGFuZG1hcmsiLGljb246WzUxMiw1MTIsWzEyNzk2M10sImY2NmYiLCJNMjM4LjcgNS4xYzEwLjUtNi44IDI0LjEtNi44IDM0LjYgMGwyMjQgMTQ0YzExLjkgNy43IDE3LjQgMjIuMyAxMy40IDM1LjlzLTE2LjUgMjMtMzAuNyAyM2wtMzIgMCAwIDIwOCA1MS4yIDM4LjRjOC4xIDYgMTIuOCAxNS41IDEyLjggMjUuNiAwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyIDAtMTAuMSA0LjctMTkuNiAxMi44LTI1LjZsNTEuMi0zOC40IDAgMCAwLTIwOC0zMiAwYy0xNC4yIDAtMjYuNy05LjQtMzAuNy0yM3MxLjUtMjguMyAxMy40LTM1LjlsMjI0LTE0NHpNMzM2IDIwOGwwIDIwOCA2NCAwIDAtMjA4LTY0IDB6TTIyNCA0MTZsNjQgMCAwLTIwOC02NCAwIDAgMjA4ek0xMTIgMjA4bDAgMjA4IDY0IDAgMC0yMDgtNjQgMHoiXX0sZVF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im11c2ljIixpY29uOls1MTIsNTEyLFsxMjc5MjVdLCJmMDAxIiwiTTQ2OCA3YzcuNiA2LjEgMTIgMTUuMyAxMiAyNWwwIDMwNGMwIDQ0LjItNDMgODAtOTYgODBzLTk2LTM1LjgtOTYtODAgNDMtODAgOTYtODBjMTEuMiAwIDIyIDEuNiAzMiA0LjZsMC0xMTYuNy0yMjQgNDkuOCAwIDIwNi4zYzAgNDQuMi00MyA4MC05NiA4MHMtOTYtMzUuOC05Ni04MCA0My04MCA5Ni04MGMxMS4yIDAgMjIgMS42IDMyIDQuNkwxMjggOTZjMC0xNSAxMC40LTI4IDI1LjEtMzEuMmwyODgtNjRjOS41LTIuMSAxOS40IC4yIDI3IDYuM3oiXX0sdFF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2stbWVkaWNhbCIsaWNvbjpbNDQ4LDUxMixbXSwiZjdlNiIsIk05NiA1MTJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC02Ni43YzE4LjYtNi42IDMyLTI0LjQgMzItNDUuM2wwLTI4OGMwLTI2LjUtMjEuNS00OC00OC00OEw5NiAwQzQzIDAgMCA0MyAwIDk2TDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZ6TTY0IDQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNTYgMCAwIDY0LTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNMTkyIDEyMGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCA0MCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtNDAgMCAwIDQwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MHoiXX0sZzllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNodWZmbGUiLGljb246WzUxMiw1MTIsWzEyODI1NiwicmFuZG9tIl0sImYwNzQiLCJNNDAzLjggMzQuNGMxMi01IDI1LjctMi4yIDM0LjkgNi45bDY0IDY0YzYgNiA5LjQgMTQuMSA5LjQgMjIuNnMtMy40IDE2LjYtOS40IDIyLjZsLTY0IDY0Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOVMzODQgMjA0LjkgMzg0IDE5MmwwLTMyLTMyIDBjLTEwLjEgMC0xOS42IDQuNy0yNS42IDEyLjhsLTMyLjQgNDMuMi00MC01My4zIDIxLjItMjguM0MyOTMuMyAxMTAuMiAzMjEuOCA5NiAzNTIgOTZsMzIgMCAwLTMyYzAtMTIuOSA3LjgtMjQuNiAxOS44LTI5LjZ6TTE1NCAyOTZsNDAgNTMuMy0yMS4yIDI4LjNDMTU0LjcgNDAxLjggMTI2LjIgNDE2IDk2IDQxNmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwYzEwLjEgMCAxOS42LTQuNyAyNS42LTEyLjhMMTU0IDI5NnpNNDM4LjYgNDcwLjZjLTkuMiA5LjItMjIuOSAxMS45LTM0LjkgNi45UzM4NCA0NjAuOSAzODQgNDQ4bDAtMzItMzIgMGMtMzAuMiAwLTU4LjctMTQuMi03Ni44LTM4LjRMMTIxLjYgMTcyLjhjLTYtOC4xLTE1LjUtMTIuOC0yNS42LTEyLjhsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzE0LjMgOTYgMzIgOTZsNjQgMGMzMC4yIDAgNTguNyAxNC4yIDc2LjggMzguNEwzMjYuNCAzMzkuMmM2IDguMSAxNS41IDEyLjggMjUuNiAxMi44bDMyIDAgMC0zMmMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42czI1LjctMi4yIDM0LjkgNi45bDY0IDY0YzYgNiA5LjQgMTQuMSA5LjQgMjIuNnMtMy40IDE2LjYtOS40IDIyLjZsLTY0IDY0eiJdfSxhUXQ9ZzllLHJRdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1bmRlcmxpbmUiLGljb246WzM4NCw1MTIsW10sImYwY2QiLCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMlMxMTMuNyA2NCA5NiA2NGwwIDE2MGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMlMyNzAuMyAwIDI4OCAwbDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAxNjBjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMzIgMzEyLjQgMzIgMjI0TDMyIDY0QzE0LjMgNjQgMCA0OS43IDAgMzJ6TTAgNDgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LHNRdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy11c2VyIixpY29uOls2NDAsNTEyLFtdLCJlNGRhIiwiTTY0IDY0QzY0IDI4LjcgOTIuNyAwIDEyOCAwTDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTIxLjNjLTQ2LjkgMTktODAgNjUtODAgMTE4LjcgMCAyNy43IDguOCA1My40IDIzLjggNzQuNC01MS41IDIxLTg3LjggNzEuNi04Ny44IDEzMC43IDAgMSAwIDEuOSAwIDIuOWwtMTc2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDY0IDY0ek0yMDggNDAwbDAgNjQgNTMuNCAwYzcuMi0yOS40IDIxLjMtNTYuMSA0MC40LTc4LjMtNi4xLTE5LjUtMjQuMy0zMy43LTQ1LjgtMzMuNy0yNi41IDAtNDggMjEuNS00OCA0OHpNMzM5IDIyNC4zYy0xLS4yLTItLjMtMy0uM2wtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDE2LjcgMGMyLjEtMjIuOCA4LjQtNDQuMyAxOC4zLTYzLjd6TTE3NiA5NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0xMTIgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMTc2IDIyNGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0yNDAgODBhODAgODAgMCAxIDEgMTYwIDAgODAgODAgMCAxIDEgLTE2MCAwek0zNTIgNTEyYzAtNTMgNDMtOTYgOTYtOTZsOTYgMGM1MyAwIDk2IDQzIDk2IDk2IDAgMTcuNy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LGlRdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyb2JvdCIsaWNvbjpbNjQwLDUxMixbMTI5MzAyXSwiZjU0NCIsIk0zNTIgMGMwLTE3LjctMTQuMy0zMi0zMi0zMlMyODgtMTcuNyAyODggMGwwIDY0LTk2IDBjLTUzIDAtOTYgNDMtOTYgOTZsMCAyMjRjMCA1MyA0MyA5NiA5NiA5NmwyNTYgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMjI0YzAtNTMtNDMtOTYtOTYtOTZsLTk2IDAgMC02NHpNMTYwIDM2OGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwzMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0zMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptMTIwIDBjMC0xMy4zIDEwLjctMjQgMjQtMjRsMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMzIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTEyMCAwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDMyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTMyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0ek0yMjQgMTc2YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnptMTQ0IDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTY0IDIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDIwNi4zIDAgMjI0bDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2em01NDQtMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSxtdj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbHVzIixpY29uOls0NDgsNTEyLFsxMDEzMyw2MTU0MywiYWRkIl0sIjJiIiwiTTI1NiA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE2MC0xNjAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNjAgMCAwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwIDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNjAgMCAwLTE2MHoiXX0sb1F0PW12LFV0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb3B5IixpY29uOls0NDgsNTEyLFtdLCJmMGM1IiwiTTE5MiAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDI1NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTIwMC42YzAtMTcuNC03LjEtMzQuMS0xOS43LTQ2LjJMMzcwLjYgMTcuOEMzNTguNyA2LjQgMzQyLjggMCAzMjYuMyAwTDE5MiAwek02NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5MiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTYtNjQgMCAwIDE2LTE5MiAwIDAtMjU2IDE2IDAgMC02NC0xNiAweiJdfSxuUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlc3Mta2luZyIsaWNvbjpbNDQ4LDUxMixbOTgxOF0sImY0M2YiLCJNMjI0LTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDY0IDE1My44IDBjMjEuMSAwIDM4LjIgMTcuMSAzOC4yIDM4LjIgMCA2LjQtMS42IDEyLjctNC43IDE4LjNMMzUyIDM4NCA0MDguMiA0NTQuM2M1IDYuMyA3LjggMTQuMSA3LjggMjIuMiAwIDE5LjYtMTUuOSAzNS41LTM1LjUgMzUuNUw2Ny41IDUxMmMtMTkuNiAwLTM1LjUtMTUuOS0zNS41LTM1LjUgMC04LjEgMi43LTE1LjkgNy44LTIyLjJMOTYgMzg0IDQuNyAyMTYuNkMxLjYgMjEwLjkgMCAyMDQuNiAwIDE5OC4yIDAgMTc3LjEgMTcuMSAxNjAgMzguMiAxNjBsMTUzLjggMCAwLTY0LTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxsUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtZmxvb2Qtd2F0ZXIiLGljb246WzY0MCw1MTIsW10sImU1MGUiLCJNNDk2IDIwOGw0LjUgMGMxNS4yIDAgMjcuNS0xMi4zIDI3LjUtMjcuNSAwLTcuOS0zLjQtMTUuNS05LjQtMjAuN0wzNDggMTAuNUMzNDAuMyAzLjcgMzMwLjMgMCAzMjAgMHMtMjAuMyAzLjctMjggMTAuNUwxMjEuNCAxNTkuOGMtNiA1LjItOS40IDEyLjgtOS40IDIwLjcgMCAxNS4yIDEyLjMgMjcuNSAyNy41IDI3LjVsNC41IDAgMCA5NC40YzIwLjMtOS40IDQyLjEtMTQuMiA2NC0xNC40IDMzLjEtLjIgNjYuMyAxMC4yIDk0LjQgMzEuNCAyMi4xIDE2LjYgMjkuMSAxNi42IDUxLjIgMCAyNy41LTIwLjcgNTkuOS0zMS4yIDkyLjQtMzEuNCAxNi45LS4xIDMzLjggMi42IDUwIDhsMC04OHptLTIyNC04YzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00OHpNNDc0LjYgNDEyLjFjMTkgMTQuNCA0MS45IDI4LjIgNjcuMiAzMy4zIDI2LjUgNS40IDU0LjMgLjggODAuNy0xOS4xIDEwLjYtOCAxMi43LTIzIDQuNy0zMy42cy0yMy0xMi43LTMzLjYtNC43Yy0xNC45IDExLjItMjguNiAxMy4xLTQyLjMgMTAuMy0xNC45LTMtMzAuOS0xMS45LTQ3LjgtMjQuNi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zcy0zMC41LTguMi01NC41LTI2LjNjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yMS42IDE2LjMtNDEuMyAyNS44LTU4LjkgMjUuNy05LjYtLjEtMTkuOS0zLTMxLjItMTEuNS0xMC42LTgtMjUuNi01LjktMzMuNiA0LjdTNyA0MTguMyAxNy42IDQyNi4zYzE5LjEgMTQuNCAzOS40IDIxIDU5LjggMjEuMSAzMy45IC4yIDY0LjMtMTcuNCA4OC4xLTM1LjMgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOWMyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMHptLTcxLjIgOTZjMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMTkgMTQuNCA0MS45IDI4LjIgNjcuMiAzMy4zIDI2LjUgNS40IDU0LjMgLjggODAuNy0xOS4xIDEwLjYtOCAxMi43LTIzIDQuNy0zMy42cy0yMy0xMi43LTMzLjYtNC43Yy0xNC45IDExLjItMjguNiAxMy4xLTQyLjMgMTAuMy0xNC45LTMtMzAuOS0xMS45LTQ3LjgtMjQuNi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zcy0zMC41LTguMi01NC41LTI2LjNjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yMS42IDE2LjMtNDEuMyAyNS44LTU4LjkgMjUuNy05LjYtLjEtMTkuOS0zLTMxLjItMTEuNS0xMC42LTgtMjUuNi01LjktMzMuNiA0LjdTNyA1MTQuMyAxNy42IDUyMi4zYzE5LjEgMTQuNCAzOS40IDIxIDU5LjggMjEuMSAzMy45IC4yIDY0LjMtMTcuNCA4OC4xLTM1LjMgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOXoiXX0sY1F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJpdGNvaW4tc2lnbiIsaWNvbjpbMzIwLDUxMixbXSwiZTBiNCIsIk02NCAyNEM2NCAxMC43IDc0LjcgMCA4OCAwczI0IDEwLjcgMjQgMjRsMCA0MCAzMiAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQxLjFjNTQuMyA3LjggOTYgNTQuNCA5NiAxMTAuOSAwIDI0LjItNy43IDQ2LjYtMjAuNyA2NC45IDMxLjcgMTkuOCA1Mi43IDU1IDUyLjcgOTUuMSAwIDYxLjktNTAuMSAxMTItMTEyIDExMmwtMTYgMCAwIDQwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDAtMzIgMCAwIDQwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDAtMjIuMyAwQzE4LjcgNDQ4IDAgNDI5LjMgMCA0MDYuM0wwIDEwMS42QzAgODAuOCAxNi44IDY0IDM3LjYgNjRMNjQgNjQgNjQgMjR6bTAgMjAwbDExMiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4bC0xMTIgMCAwIDk2em0xMTIgNjRsLTExMiAwIDAgOTYgMTQ0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhsLTMyIDB6Il19LGRRdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3giLGljb246WzQ0OCw1MTIsWzEyODIzMF0sImY0NjYiLCJNMzY5LjQgMTI4bC0zNC4zLTQ4LTIyMi4xIDAtMzQuMyA0OCAyOTAuNyAwek0wIDE0OC41YzAtMTMuMyA0LjItMjYuMyAxMS45LTM3LjJMNjAuOSA0Mi44QzcyLjkgMjYgOTIuMyAxNiAxMTIuOSAxNmwyMjIuMSAwYzIwLjcgMCA0MC4xIDEwIDUyLjEgMjYuOGw0OC45IDY4LjVjNy44IDEwLjkgMTEuOSAyMy45IDExLjkgMzcuMkw0NDggNDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxNDguNXoiXX0sYjllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1wbHVzIixpY29uOls0NDgsNTEyLFs2MTg0NiwicGx1cy1zcXVhcmUiXSwiZjBmZSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMDAgMzQ0bDAtNjQtNjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw2NCAwIDAtNjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDY0IDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTY0IDAgMCA2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHoiXX0sdVF0PWI5ZSx2OWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLWxlZnQtcmlnaHQiLGljb246WzU3Niw1MTIsWyJhcnJvd3MtaCJdLCJmMDdlIiwiTTQ3MC42IDM3NC42bDk2LTk2YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC05Ni05NmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsNDEuNCA0MS40LTM1Ny41IDAgNDEuNC00MS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtNiA2LTkuNCAxNC4xLTkuNCAyMi42czMuNCAxNi42IDkuNCAyMi42bDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTQxLjQtNDEuNCAzNTcuNSAwLTQxLjQgNDEuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMHoiXX0scFF0PXY5ZSxmUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFuIixpY29uOls1MTIsNTEyLFtdLCJmODYzIiwiTTE2MCAxNDRjMC03OS41IDY0LjUtMTQ0IDE0NC0xNDQgOC44IDAgMTYgNy4yIDE2IDE2bDAgMTUyLjJjMTUtNS4zIDMxLjItOC4yIDQ4LTguMiA3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NCAwIDguOC03LjIgMTYtMTYgMTZsLTE1Mi4yIDBjNS4zIDE1IDguMiAzMS4yIDguMiA0OCAwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NC04LjggMC0xNi03LjItMTYtMTZsMC0xNTIuMmMtMTUgNS4zLTMxLjIgOC4yLTQ4IDguMi03OS41IDAtMTQ0LTY0LjUtMTQ0LTE0NCAwLTguOCA3LjItMTYgMTYtMTZsMTUyLjIgMGMtNS4zLTE1LTguMi0zMS4yLTguMi00OHptOTYgMTQ0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0saFF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNyb3ciLGljb246WzY0MCw1MTIsW10sImY1MjAiLCJNNDU2LjUgMGMtNDguNiAwLTg4IDM5LjQtODggODhsMCAzNi0zNTUuMiAyNjYuNEMtLjggNDAxLTMuNyA0MjEgNi45IDQzNS4yczMwLjYgMTcgNDQuOCA2LjRsNzYuOC01Ny42IDEzMS4zIDAgNDYuNiAxMTMuMSAxIDIuMmM1LjcgMTAuNyAxOC44IDE1LjUgMzAuMyAxMC44czE3LjMtMTcuMyAxMy45LTI5bC0uOC0yLjMtMzkuMS05NC45IDQwLjkgMGMxLjEgMCAyLjIgMCAzLjIgMGw0Ni42IDExMy4yIDEgMi4yYzUuNyAxMC43IDE4LjggMTUuNSAzMC4zIDEwLjhzMTcuMy0xNy4zIDEzLjktMjlsLS44LTIuMy00Mi0xMDJDNDg1LjMgMzU0LjEgNTQ0LjUgMjgwIDU0NC41IDE5MmwwLTcyIDgwLjUtMjAuMWM4LjYtMi4xIDEzLjgtMTAuOCAxMS42LTE5LjQtNy4xLTI4LjUtMzIuNy00OC41LTYyLjEtNDguNWwtNTAuMSAwQzUwOC4yIDEyLjUgNDgzLjggMCA0NTYuNSAwem0wIDY0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHoiXX0sbVF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtY2lyY2xlLWNoZWNrIixpY29uOls1NzYsNTEyLFtdLCJlNWEwIiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTgwIDBjLTIyLjctMzEuNS0zNi03MC4yLTM2LTExMiAwLTEwMC42IDc3LjQtMTgzLjIgMTc2LTE5MS4zbDAtMzguMWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyOTAuNyAxOC43QzI3OC43IDYuNyAyNjIuNSAwIDI0NS41IDBMOTYgMHpNMzU3LjUgMTc2TDI2NCAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MCA1OC41IDM1Ny41IDE3NnpNNTc2IDQwMGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tODYuNi02MC45YzcuMSA1LjIgOC43IDE1LjIgMy41IDIyLjNsLTY0IDg4Yy0yLjggMy44LTcgNi4yLTExLjcgNi41cy05LjMtMS4zLTEyLjYtNC42bC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDI2LjggMjYuOCA1My03Mi45YzUuMi03LjEgMTUuMi04LjcgMjIuNC0zLjV6Il19LHR2PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imxpbmstc2xhc2giLGljb246WzU3Niw1MTIsWyJjaGFpbi1icm9rZW4iLCJjaGFpbi1zbGFzaCIsInVubGluayJdLCJmMTI3IiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTEyMi0xMjJjNC4yLTMuNCA4LjMtNy4xIDEyLjEtMTAuOWw3MS4xLTcxLjFjMjkuMy0yOS4zIDQ1LjgtNjkuMSA0NS44LTExMC42IDAtODYuNC03MC0xNTYuNS0xNTYuNS0xNTYuNS0zNy4zIDAtNzMuMSAxMy4zLTEwMS4zIDM3LjIgMjAuMyAxMC4xIDM4LjcgMjMuNSA1NC41IDM5LjUgMTQuMS04LjMgMzAuMi0xMi43IDQ2LjgtMTIuNyA1MS4xIDAgOTIuNSA0MS40IDkyLjUgOTIuNSAwIDI0LjUtOS43IDQ4LTI3LjEgNjUuNGwtNzEuMSA3MS4xYy0zLjkgMy45LTguMSA3LjQtMTIuNiAxMC41bC00Ny41LTQ3LjVjMTYuNS0uOSAyOS43LTE0LjQgMzAuMi0zMS4xIDAtMS4zIDAtMi42IDAtMy45IDAtODYuMy02OS45LTE1Ni45LTE1Ni41LTE1Ni45LTE5LjIgMC0zNy45IDMuNS01NS41IDEwLjJMNDEtMjQuOXpNMjI1LjkgMTYwYy42IDAgMS4xIDAgMS43IDAgMTUuMSAwIDI5LjUgMy43IDQyLjEgMTAuMiAxLjggMS4yIDMuNiAyLjMgNS41IDMuMSAyNi44IDE2LjMgNDQuOCA0NS45IDQ0LjggNzkuNiAwIC40IDAgLjggMCAxLjJMMjI1LjkgMTYwek0zNDYuMiA0MTZMMTkyIDI2MS44YzEuMiA4NC42IDY5LjYgMTUyLjkgMTU0LjEgMTU0LjF6TTEzOS43IDIwOS41bC00NS4zLTQ1LjMtNDguNiA0OC42Yy0yOS4zIDI5LjMtNDUuOCA2OS4xLTQ1LjggMTEwLjYgMCA4Ni40IDcwIDE1Ni41IDE1Ni41IDE1Ni41IDM3LjIgMCA3My4xLTEzLjMgMTAxLjMtMzcuMi0yMC4zLTEwLjEtMzguOC0yMy41LTU0LjYtMzkuNS0xNCA4LjItMzAuMSAxMi42LTQ2LjcgMTIuNi01MS4xIDAtOTIuNS00MS40LTkyLjUtOTIuNSAwLTI0LjUgOS43LTQ4IDI3LjEtNjUuNGw0OC42LTQ4LjZ6Il19LGdRdD10dixiUXQ9dHYsdlF0PXR2LGF2PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXJvdGF0ZS1yaWdodCIsaWNvbjpbNTEyLDUxMixbODYzNSwiYXJyb3ctcmlnaHQtcm90YXRlIiwiYXJyb3ctcm90YXRlLWZvcndhcmQiLCJyZWRvIl0sImYwMWUiLCJNNDM2LjcgNzQuN0w0NDggODUuNCA0NDggMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNDcuOSAwLTcuNi03LjJjLS4yLS4yLS40LS40LS42LS42LTc1LTc1LTE5Ni41LTc1LTI3MS41IDBzLTc1IDE5Ni41IDAgMjcxLjUgMTk2LjUgNzUgMjcxLjUgMGM4LjItOC4yIDE1LjUtMTYuOSAyMS45LTI2LjEgMTAuMS0xNC41IDMwLjEtMTggNDQuNi03LjlzMTggMzAuMSA3LjkgNDQuNmMtOC41IDEyLjItMTguMiAyMy44LTI5LjEgMzQuNy0xMDAgMTAwLTI2Mi4xIDEwMC0zNjIgMFMtMjUgMTc1IDc1IDc1Yzk5LjktOTkuOSAyNjEuNy0xMDAgMzYxLjctLjN6Il19LHhRdD1hdix5UXQ9YXYsd1F0PWF2LHg5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW4tY2xpcCIsaWNvbjpbNTEyLDUxMixbInBlbi1hbHQiXSwiZjMwNSIsIk00MDQgMGMxOS4yIDAgMzcuNiA3LjYgNTEuMSAyMS4ybDM1LjcgMzUuN0M1MDQuNCA3MC40IDUxMiA4OC44IDUxMiAxMDhzLTcuNiAzNy42LTIxLjIgNTEuMUw0NDUuOSAyMDQgMzA4IDY2LjEgMzUyLjkgMjEuMkMzNjYuNCA3LjYgMzg0LjggMCA0MDQgMHpNMjc0LjEgMTAwbDAgMCAxMzcuOSAxMzcuOS0yMTUuMSAyMTUuMWMtMTAuNyAxMC43LTI0LjEgMTguNS0zOC43IDIyLjZMMzAuNCA1MTEuMWMtOC4zIDIuMy0xNy4zIDAtMjMuNC02LjJzLTguNS0xNS4xLTYuMi0yMy40TDM2LjQgMzUzLjhjNC4xLTE0LjYgMTEuOC0yNy45IDIyLjYtMzguN0wyNDAuMSAxMzMuOSAyMjMgMTE2LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwTDg5IDIxN2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOUwxNTUuMSA4Mi45YzI4LjEtMjguMSA3My43LTI4LjEgMTAxLjggMEwyNzQuMSAxMDB6Il19LE1RdD14OWUsa1F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRvb3ItY2xvc2VkIixpY29uOls0NDgsNTEyLFsxMjg2ODJdLCJmNTJhIiwiTTMyIDY0QzMyIDI4LjcgNjAuNyAwIDk2IDBMMzUyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyTDMyIDY0ek0zMjAgMjg4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0seHRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LWRvd24td2lkZS1zaG9ydCIsaWNvbjpbNTc2LDUxMixbInNvcnQtYW1vdW50LWFzYyIsInNvcnQtYW1vdW50LWRvd24iXSwiZjE2MCIsIk0yNDYuNiAzNzQuNmwtOTYgOTZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC05Ni05NmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEw5NiAzNzAuNyA5NiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzA2LjcgNDEuNC00MS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6TTMyMCA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMHptMC0xMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMHptMC0xMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE2MCAwem0wLTEyOGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMjAgOTZ6Il19LFNRdD14dGUselF0PXh0ZSxDUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyZXQtZG93biIsaWNvbjpbMzIwLDUxMixbXSwiZjBkNyIsIk0xNDAuMyAzNzYuOGMxMi42IDEwLjIgMzEuMSA5LjUgNDIuOC0yLjJsMTI4LTEyOGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVMzMDEuNCAxOTIgMjg4LjUgMTkybC0yNTYgMGMtMTIuOSAwLTI0LjYgNy44LTI5LjYgMTkuOFMuNyAyMzcuNSA5LjkgMjQ2LjZsMTI4IDEyOCAyLjQgMi4yeiJdfSxfUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiayIsaWNvbjpbMzIwLDUxMixbMTA3XSwiNGIiLCJNMzExIDg2LjNjMTIuMy0xMi43IDEyLTMyLjktLjctNDUuMnMtMzIuOS0xMi00NS4yIC43QzE0My40IDE2Ny4yIDc2LjQgMjM2LjMgNjQgMjQ5TDY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMDcgNjQuNy02Ni43IDEzMyAxOTJjMTAuMSAxNC41IDMwIDE4LjEgNDQuNSA4LjFzMTguMS0zMCA4LjEtNDQuNUwxNzQuMSAyMjcuNCAzMTEgODYuM3oiXX0seTllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZWNrLXRvLXNsb3QiLGljb246WzU3Niw1MTIsWyJ2b3RlLXllYSJdLCJmNzcyIiwiTTU1MiAyODhjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxMDRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDMxMmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTA0YzAgOC44IDcuMiAxNiAxNiAxNmw0NDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMDRjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTQxNiAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDIyNGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMjU2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDk2IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDI1NiAwem0tMzcuMSA4NC42Yy0xMC43LTcuOC0yNS43LTUuNC0zMy41IDUuM2wtODUuNiAxMTcuNy0yNi41LTI3LjRjLTkuMi05LjUtMjQuNC05LjgtMzMuOS0uNi05LjUgOS4yLTkuOCAyNC40LS42IDMzLjlsNDYuNCA0OGM0LjkgNS4xIDExLjggNy44IDE4LjkgNy4zczEzLjYtNC4xIDE3LjgtOS44TDM4NC4yIDE1MC4xYzcuOC0xMC43IDUuNC0yNS43LTUuMy0zMy41eiJdfSxUUXQ9eTllLExRdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaXNoLWZpbnMiLGljb246WzU3Niw1MTIsW10sImU0ZjIiLCJNMjc1LjIgMzguNGMtMTAuNi04LTI1LTguNS0zNi4zLTEuNVMyMjIgNTcuMyAyMjQuNiA3MC4zbDkuNyA0OC42Yy0xOS40IDktMzYuOSAxOS45LTUyLjQgMzEuNS0xNS4zIDExLjUtMjkgMjMuOS00MC43IDM2LjNMNDguMSAxMzIuNGMtMTIuNS03LjMtMjguNC01LjMtMzguNyA0LjlzLTEyLjQgMjYtNS4zIDM4LjZMNTAgMjU2IDQuMiAzMzYuMWMtNy4yIDEyLjYtNSAyOC40IDUuMyAzOC42czI2LjEgMTIuMiAzOC43IDQuOWw5My4xLTU0LjNjMTEuOCAxMi4zIDI1LjQgMjQuOCA0MC43IDM2LjMgMTUuNSAxMS42IDMzIDIyLjUgNTIuNCAzMS41bC05LjcgNDguNmMtMi42IDEzIDMuMSAyNi4zIDE0LjMgMzMuM3MyNS42IDYuNSAzNi4zLTEuNWw3Ny42LTU4LjJjNTQuOS00IDEwMS41LTI3IDEzNy4yLTUzLjggMzkuMi0yOS40IDY3LjItNjQuNyA4MS42LTg5LjUgNS44LTkuOSA1LjgtMjIuMiAwLTMyLjEtMTQuNC0yNC44LTQyLjUtNjAuMS04MS42LTg5LjUtMzUuOC0yNi44LTgyLjMtNDkuOC0xMzcuMi01My44TDI3NS4yIDM4LjR6TTM4NCAyNTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0sJFF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbXByZXNzIixpY29uOls0NDgsNTEyLFtdLCJmMDY2IiwiTTE2MCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMlM5NiA0Ni4zIDk2IDY0bDAgNjQtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtOTZ6TTMyIDMyMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwIDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC05NiAwek0zNTIgNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwIDAtNjR6TTMyMCAzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDB6Il19LHc5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC1hLXoiLGljb246WzUxMiw1MTIsWyJzb3J0LWFscGhhLXVwIl0sImYxNWUiLCJNNDEyLjYgNDkuN0M0MDcuMiAzOC44IDM5Ni4xIDMyIDM4NCAzMnMtMjMuMiA2LjgtMjguNiAxNy43Yy01MC43IDEwMS4zLTc3LjMgMTU0LjctODAgMTYwLTcuOSAxNS44LTEuNSAzNSAxNC4zIDQyLjlzMzUgMS41IDQyLjktMTQuM2w3LjItMTQuMyA4OC40IDAgNy4yIDE0LjNjNy45IDE1LjggMjcuMSAyMi4yIDQyLjkgMTQuM3MyMi4yLTI3LjEgMTQuMy00Mi45Yy0yLjctNS4zLTI5LjMtNTguNy04MC0xNjB6TTM4NCAxMzUuNmwyMC4yIDQwLjQtNDAuNCAwIDIwLjItNDAuNHpNMjg4IDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw1MC43IDAtNzMuNCA3My40Yy05LjIgOS4yLTExLjkgMjIuOS02LjkgMzQuOVMzMDcuMSA0ODAgMzIwIDQ4MGwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNTAuNyAwIDczLjQtNzMuNGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVM0NjAuOSAyODggNDQ4IDI4OGwtMTI4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0xNTAuNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtODAgODBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMOTYgMTQxLjMgOTYgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMDYuNyAyNS40IDI1LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtODAtODB6Il19LERRdD13OWUsQVF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItZ3JhZHVhdGUiLGljb246WzQ0OCw1MTIsW10sImY1MDEiLCJNMjQxLjMtMTNjLTExLjQtMi4zLTIzLjEtMi4zLTM0LjUgMEwxOS4zIDI0LjVDOC4xIDI2LjcgMCAzNi42IDAgNDggMCA1OC4zIDYuNSA2Ny4zIDE2IDcwLjZMMTYgMTQ0IC4zIDIyMi42Yy0uMiAuOS0uMyAxLjktLjMgMi45IDAgOCA2LjUgMTQuNiAxNC42IDE0LjZsMzQuOSAwYzggMCAxNC42LTYuNSAxNC42LTE0LjYgMC0xLS4xLTEuOS0uMy0yLjlMNDggMTQ0IDQ4IDc3LjMgOTYgODYuOSA5NiAxNDRjMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhzMTI4LTU3LjMgMTI4LTEyOGwwLTU3LjEgNzYuNy0xNS4zQzQzOS45IDY5LjMgNDQ4IDU5LjQgNDQ4IDQ4cy04LjEtMjEuMy0xOS4zLTIzLjVMMjQxLjMtMTN6TTIyNCAyMjRjLTQ0LjIgMC04MC0zNS44LTgwLTgwbDE2MCAwYzAgNDQuMi0zNS44IDgwLTgwIDgwek0xMjAuMSAzMjAuMUM1OC43IDM0OC4zIDE2IDQxMC4zIDE2IDQ4Mi4zIDE2IDQ5OC43IDI5LjMgNTEyIDQ1LjcgNTEybDE1NC4zIDAgMC0xNDYtNTcuNC00M2MtNi41LTQuOS0xNS4yLTYuMi0yMi42LTIuOHpNMjQ4IDUxMmwxNTQuMyAwYzE2LjQgMCAyOS43LTEzLjMgMjkuNy0yOS43IDAtNzItNDIuNy0xMzQtMTA0LjEtMTYyLjEtNy40LTMuNC0xNi4xLTIuMS0yMi42IDIuOGwtNTcuNCA0MyAwIDE0NnoiXX0sRVF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtY29kZSIsaWNvbjpbMzg0LDUxMixbXSwiZjFjOSIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNMTU0LjIgMjk1LjZjOC42LTEwLjEgNy41LTI1LjItMi42LTMzLjhzLTI1LjItNy41LTMzLjggMi42bC00OCA1NmMtNy43IDktNy43IDIyLjIgMCAzMS4ybDQ4IDU2YzguNiAxMC4xIDIzLjggMTEuMiAzMy44IDIuNnMxMS4yLTIzLjggMi42LTMzLjhsLTM0LjYtNDAuNCAzNC42LTQwLjR6bTExMi0zMS4yYy04LjYtMTAuMS0yMy44LTExLjItMzMuOC0yLjZzLTExLjIgMjMuOC0yLjYgMzMuOGwzNC42IDQwLjQtMzQuNiA0MC40Yy04LjYgMTAuMS03LjUgMjUuMiAyLjYgMzMuOHMyNS4yIDcuNSAzMy44LTIuNmw0OC01NmM3LjctOSA3LjctMjIuMiAwLTMxLjJsLTQ4LTU2eiJdfSxQUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic29hcCIsaWNvbjpbNTEyLDUxMixbMTI5NTMyXSwiZTA2ZSIsIk0yMDgtMzJhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2ek0zMjAgOTZhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTM1MiAwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTk2IDE2MGwxMTIgMGMwIDIzLjggNy40IDQ1LjkgMjAuMSA2NEwxNjAgMjI0Yy01MyAwLTk2IDQzLTk2IDk2czQzIDk2IDk2IDk2bDE5MiAwYzUzIDAgOTYtNDMgOTYtOTYgMC0zNS4xLTE4LjktNjUuOS00Ny04Mi42IDE5LTE5LjggMzAuNy00Ni42IDMxLTc2LjEgNDUuNCA3LjYgODAgNDcuMSA4MCA5NC43bDAgMTI4YzAgNTMtNDMgOTYtOTYgOTZMOTYgNDgwYy01MyAwLTk2LTQzLTk2LTk2TDAgMjU2YzAtNTMgNDMtOTYgOTYtOTZ6bTY0IDExMmwxOTIgMGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OGwtMTkyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4czIxLjUtNDggNDgtNDh6Il19LElRdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZWN5Y2xlIixpY29uOls1MTIsNTEyLFs5ODQyLDk4NTAsOTg1MV0sImYxYjgiLCJNMTUyLjMgNjBDMTk4LjUtMjAgMzE0LTIwIDM2MC4yIDYwbDM3LjMgNjQuNiAyNy43LTE2YzguNC00LjkgMTguOS00LjIgMjYuNiAxLjdzMTEuMSAxNS45IDguNiAyNS4zTDQzNi45IDIyM2MtMy40IDEyLjgtMTYuNiAyMC40LTI5LjQgMTdsLTg3LjQtMjMuNGMtOS40LTIuNS0xNi4zLTEwLjQtMTcuNi0yMHMzLjQtMTkuMSAxMS44LTIzLjlsMjcuNy0xNi0zNy4zLTY0LjZjLTIxLjYtMzcuMy03NS40LTM3LjMtOTcgMGwtNS4zIDkuMWMtOC44IDE1LjMtMjguNCAyMC41LTQzLjcgMTEuN1MxMzguMiA4NC41IDE0NyA2OS4xbDUuMy05LjF6TTQ0OS43IDI3OS4xYzE1LjMtOC44IDM0LjktMy42IDQzLjcgMTEuN2w1LjMgOS4xYzQ2LjIgODAtMTEuNSAxODAtMTAzLjkgMTgwbC03NC42IDAgMCAzMmMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC02NC02NGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsNjQtNjRjNi45LTYuOSAxNy4yLTguOSAyNi4yLTUuMnMxNC44IDEyLjUgMTQuOCAyMi4ybDAgMzIgNzQuNiAwYzQzLjEgMCA3MC4xLTQ2LjcgNDguNS04NGwtNS4zLTkuMWMtOC44LTE1LjMtMy42LTM0LjkgMTEuNy00My43ek01MSAyMzUuNGwtMjcuNy0xNmMtOC40LTQuOS0xMy4xLTE0LjMtMTEuOC0yMy45czguMi0xNy41IDE3LjYtMjBMMTE2LjUgMTUyYzEyLjgtMy40IDI2IDQuMiAyOS40IDE3bDIzLjQgODcuNGMyLjUgOS40LS45IDE5LjMtOC42IDI1LjNzLTE4LjIgNi42LTI2LjYgMS43bC0yNy43LTE2LTM3LjMgNjQuNmMtMjEuNiAzNy4zIDUuNCA4NCA0OC41IDg0bDEwLjYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTAuNiAwQzI1LjMgNDgwLTMyLjQgMzgwIDEzLjggMzAwTDUxIDIzNS40eiJdfSxNOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmluLXdpbmsiLGljb246WzUxMiw1MTIsWyJncmluLXdpbmsiXSwiZjU4YyIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzg2LjcgMzA4LjljMTEuOS0zLjcgMjMuOSA2LjMgMTkuNiAxOC4xLTIyLjQgNjEuMy04MS4zIDEwNS4xLTE1MC4zIDEwNS4xUzEyOC4xIDM4OC4yIDEwNS43IDMyNi45Yy00LjMtMTEuOCA3LjctMjEuOCAxOS42LTE4LjEgMzkuMiAxMi4yIDgzLjcgMTkuMSAxMzAuNyAxOS4xczkxLjUtNi45IDEzMC43LTE5LjF6TTMyOCAxOTZjLTExIDAtMjAgOS0yMCAyMHMtOSAyMC0yMCAyMC0yMC05LTIwLTIwYzAtMzMuMSAyNi45LTYwIDYwLTYwbDE2IDBjMzMuMSAwIDYwIDI2LjkgNjAgNjAgMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwLTktMjAtMjAtMjBsLTE2IDB6TTE3NiAxNzZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxOUXQ9TTllLHl0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3YXRlci1sYWRkZXIiLGljb246WzY0MCw1MTIsWyJsYWRkZXItd2F0ZXIiLCJzd2ltbWluZy1wb29sIl0sImY1YzUiLCJNMzc0LjUgNDA1LjdjMzguNC0yOSA5MC41LTI5IDEyOSAwIDE2LjkgMTIuNyAzMi45IDIxLjUgNDcuOCAyNC42IDEzLjcgMi44IDI3LjQgLjkgNDIuMy0xMC4zIDEwLjYtOCAyNS42LTUuOSAzMy42IDQuN3M1LjggMjUuNy00LjggMzMuNmMtMjYuNCAxOS45LTU0LjIgMjQuNC04MC43IDE5LjEtMjUuMy01LjEtNDguMS0xOC45LTY3LjItMzMuMy0yMS4zLTE2LjEtNDkuOS0xNi4xLTcxLjIgMC0yNC4yIDE4LjMtNTIuMyAzNS45LTgzLjQgMzUuOXMtNTkuMS0xNy43LTgzLjMtMzUuOWMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDAtMjMuOCAxNy45LTU0LjEgMzUuNS04OC4xIDM1LjMtMjAuNC0uMS00MC43LTYuNy01OS44LTIxLjEtMTAuNi04LTEyLjctMjMtNC43LTMzLjZzMjMtMTIuNyAzMy42LTQuN2MxMS4zIDguNSAyMS42IDExLjQgMzEuMiAxMS41IDE3LjYgLjEgMzcuMy05LjQgNTguOS0yNS43IDM4LjQtMjkgOTAuNi0yOSAxMjkgMCAyNCAxOC4xIDQwLjcgMjYuMyA1NC41IDI2LjNzMzAuNS04LjIgNTQuNS0yNi4zek01MTEuOCAzMmM0OC4zIDAgODkgMzYgOTUgODMuOWwxIDguMmMyLjIgMTcuNS0xMC4yIDMzLjUtMjcuOCAzNS43cy0zMy41LTEwLjItMzUuNy0yNy44bC0xLTguMmMtMi0xNS45LTE1LjUtMjcuOC0zMS41LTI3LjgtMTcuNSAwLTMxLjggMTQuMi0zMS44IDMxLjhsMCAyMTEuOGMtMjMuMS01LjEtNDQuOS00LjQtNjQtLjRsMC01MS4yLTE5MiAwIDAgNDguN2MtNS4zLS41LTEwLjctLjgtMTYtLjctMTYuMiAuMS0zMi40IDIuNy00OCA4bDAtMjE2LjJjMC01Mi45IDQyLjktOTUuOCA5NS43LTk1LjggNDguMyAwIDg5IDM2IDk1IDgzLjlsMSA4LjJjMi4yIDE3LjUtMTAuMiAzMy41LTI3LjggMzUuN3MtMzMuNS0xMC4yLTM1LjctMjcuOGwtMS04LjJjLTItMTUuOS0xNS41LTI3LjgtMzEuNS0yNy44LTE3LjUgMC0zMS43IDE0LjItMzEuNyAzMS44bDAgOTYuMiAxOTIgMCAwLTk2LjJDNDE2IDc0LjkgNDU4LjkgMzIgNTExLjggMzJ6Il19LFJRdD15dGUsT1F0PXl0ZSxGUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2VtaW5pIixpY29uOls0NDgsNTEyLFtdLCJlODQ5IiwiTTM5NS40IDhjMTMuMi0xMS43IDMzLjMtMTAuNSA0NS4xIDIuNyAxMS43IDEzLjIgMTAuNSAzMy40LTIuNyA0NS4yLTIuNyAyLjQtMjMuMSAxOS44LTU4LjMgMzYuOC04LjIgNC0xNy4yIDcuOS0yNyAxMS42bDAgMzAzLjJjOS44IDMuOCAxOC44IDcuNiAyNyAxMS42IDE4LjIgOC44IDMyLjQgMTcuNyA0Mi4yIDI0LjUgMyAyLjEgNS41IDQuMSA3LjcgNS43IDEuMiAuOSAyLjMgMS42IDMuMiAyLjQgLjIgLjEgLjMgLjIgLjUgLjQgMS4zIDEuMSAyLjQgMiAzLjIgMi42IC40IC4zIC43IC42IC45IC44IC4xIC4xIC4zIC4yIC4zIC4zIDAgMCAuMSAuMSAuMSAuMWwuMSAwIDAgMCAwIDBjMy4zIDIuOSA1LjkgNi40IDcuNyAxMC4yIDUuNCAxMS4zIDMuOCAyNS4xLTUgMzUtLjMgLjQtLjcgLjctMS4xIDEuMS0xMS45IDEyLjItMzEuMiAxMy4xLTQ0IDEuNy0uMy0uMy0xLjUtMS4zLTMuNS0yLjgtLjQtLjMtLjktLjctMS41LTEuMS0xLjktMS40LTQuMi0zLjEtNy4xLTUuMS0yLjItMS41LTQuNy0zLjEtNy40LTQuOC02LjYtNC4xLTE0LjgtOC44LTI0LjQtMTMuNS03LjQtMy42LTE1LjYtNy4yLTI0LjctMTAuNS0xMy42LTUuMS0yOS05LjYtNDYuMS0xMi45LTUuNy0xLjEtMTEuNi0yLjEtMTcuNy0yLjgtMTIuMS0xLjYtMjUtMi41LTM4LjYtMi41LTU0LjIgMC05Ny40IDE0LjQtMTI3IDI4LjgtMy40IDEuNi02LjUgMy4zLTkuNSA0LjktNS4xIDIuOC05LjcgNS40LTEzLjggNy45LTMuMyAyLjEtNi4zIDQtOC45IDUuNy0xLjcgMS4yLTMuMiAyLjMtNC42IDMuMy0xLjkgMS40LTMuNSAyLjUtNC42IDMuNC0xLjQgMS4xLTIuMiAxLjgtMi41IDItMTMuMiAxMS43LTMzLjMgMTAuNS00NS4xLTIuOC0yLjItMi41LTQtNS4yLTUuMi04LjFzLTIuMS01LjktMi41LTguOWMtMS40LTEwLjIgMi4yLTIwLjggMTAuNC0yOC4yIC4yLS4yIC42LS41IDEuMi0xIC4xLS4xIC4yLS4yIC4zLS4zbDMuMi0yLjZjMS43LTEuMyAzLjctMi44IDYuMi00LjYgMS42LTEuMiAzLjMtMi41IDUuMi0zLjggOS44LTYuOCAyNC0xNS43IDQyLjItMjQuNSA4LjItNCAxNy4yLTcuOSAyNy0xMS42bDAtMzAzLjJDODYuNyAxMDAuNiA3Ny43IDk2LjcgNjkuNSA5Mi44IDM0LjMgNzUuNyAxNCA1OC4zIDExLjMgNTUuOS0xLjkgNDQuMi0zLjEgMjQgOC42IDEwLjcgMjAuMy0yLjUgNDAuNS0zLjcgNTMuNyA4IDU1LjEgOS4yIDcwLjcgMjIuMiA5Ny41IDM1LjIgMTI3LjEgNDkuNiAxNzAuMyA2NCAyMjQuNSA2NHM5Ny40LTE0LjQgMTI3LTI4LjhjMjYuOC0xMyA0Mi40LTI2IDQzLjgtMjcuMnpNMjg4LjUgMTIyLjNjLTE5LjcgMy41LTQxIDUuNy02NCA1LjdzLTQ0LjMtMi4yLTY0LTUuN2wwIDI2Ny40YzEyLjYtMi4zIDI1LjktNCAzOS45LTQuOSA3LjgtLjUgMTUuOC0uOCAyNC0uOCAyMyAwIDQ0LjQgMi4yIDY0IDUuN2wwLTI2Ny40eiJdfSxCUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG93ZXItY2VsbCIsaWNvbjpbNTc2LDUxMixbXSwiZTU4NSIsIk01OS42IDkuOEM0Ny4zIDQuOCAzMy4zIDEwLjcgMjguNCAyMyAxNS4yIDU1LjUgOCA5MC45IDggMTI4czcuMiA3Mi41IDIwLjQgMTA1YzUgMTIuMyAxOSAxOC4yIDMxLjMgMTMuMnMxOC4yLTE5IDEzLjItMzEuM0M2MiAxODguMiA1NiAxNTguOCA1NiAxMjhzNi02MC4yIDE2LjktODdjNS0xMi4zLTEtMjYuMy0xMy4yLTMxLjN6bTQ1Ni44IDBjLTEyLjMgNS0xOC4yIDE5LTEzLjIgMzEuMyAxMC45IDI2LjggMTYuOSA1Ni4yIDE2LjkgODdzLTYgNjAuMi0xNi45IDg3Yy01IDEyLjMgMSAyNi4zIDEzLjIgMzEuM3MyNi4zLTEgMzEuMy0xMy4yYzEzLjEtMzIuNSAyMC40LTY3LjkgMjAuNC0xMDVzLTcuMi03Mi41LTIwLjQtMTA1Yy01LTEyLjMtMTktMTguMi0zMS4zLTEzLjJ6TTM0MC4xIDE2NS4yYzcuNS0xMC41IDExLjktMjMuMyAxMS45LTM3LjIgMC0zNS4zLTI4LjctNjQtNjQtNjRzLTY0IDI4LjctNjQgNjRjMCAxMy45IDQuNCAyNi43IDExLjkgMzcuMkw5OC45IDQ2Ni44Yy03LjMgMTYuMS0uMiAzNS4xIDE1LjkgNDIuNHMzNS4xIC4yIDQyLjQtMTUuOWwyMC42LTQ1LjIgMjIwLjYgMCAyMC42IDQ1LjJjNy4zIDE2LjEgMjYuMyAyMy4yIDQyLjQgMTUuOXMyMy4yLTI2LjMgMTUuOS00Mi40TDM0MC4xIDE2NS4yek0zNzYuNSA0MDBsLTE3NyAwIDIxLjgtNDggMTMzLjMgMCAyMS44IDQ4ek0yODggMjA1LjNsNDQuOCA5OC43LTg5LjcgMCA0NC44LTk4Ljd6TTE2My4zIDczLjZjNS4zLTEyLjEtLjItMjYuMy0xMi40LTMxLjZzLTI2LjMgLjItMzEuNiAxMi40QzEwOS41IDc3IDEwNCAxMDEuOSAxMDQgMTI4czUuNSA1MSAxNS4zIDczLjZjNS4zIDEyLjEgMTkuNSAxNy43IDMxLjYgMTIuNHMxNy43LTE5LjUgMTIuNC0zMS42QzE1NiAxNjUuOCAxNTIgMTQ3LjQgMTUyIDEyOHM0LTM3LjggMTEuMy01NC40ek00NTYuNyA1NC40Yy01LjMtMTIuMS0xOS41LTE3LjctMzEuNi0xMi40cy0xNy43IDE5LjUtMTIuNCAzMS42QzQyMCA5MC4yIDQyNCAxMDguNiA0MjQgMTI4cy00IDM3LjgtMTEuMyA1NC40Yy01LjMgMTIuMSAuMiAyNi4zIDEyLjQgMzEuNnMyNi4zLS4yIDMxLjYtMTIuNEM0NjYuNSAxNzkgNDcyIDE1NC4xIDQ3MiAxMjhzLTUuNS01MS0xNS4zLTczLjZ6Il19LEhRdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2xvbi1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMTQwIiwiTTIxMy44IDguN2MxMi45IDMuMiAyMC43IDE2LjIgMTcuNSAyOS4xbC00LjYgMTguNWMxNS40IC44IDMwLjQgMy40IDQ0LjcgNy41bDkuNC0zNy42QzI4My45IDEzLjMgMjk3IDUuNSAzMDkuOCA4LjdTMzMwLjUgMjUgMzI3LjMgMzcuOEwzMTYgODIuOGMxMy41IDcuOCAyNiAxNy4xIDM3LjIgMjcuOCAxMi45IDEyLjEgMTMuNCAzMi40IDEuMyA0NS4ycy0zMi40IDEzLjQtNDUuMiAxLjNjLTMuMS0yLjktNi40LTUuOC05LjgtOC40TDIzOS4yIDM5MGMyNi45LTQuNiA1MS4xLTE3LjEgNzAuMS0zNS4xIDEyLjktMTIuMSAzMy4xLTExLjUgNDUuMiAxLjNzMTEuNSAzMy4xLTEuMyA0NS4yYy0zNC4zIDMyLjMtODAgNTIuOC0xMzAuNSA1NC40bC03LjUgMjkuOWMtMy4yIDEyLjktMTYuMiAyMC43LTI5LjEgMTcuNXMtMjAuNy0xNi4yLTE3LjUtMjkuMWw1LjYtMjIuNWMtMTUtMy4yLTI5LjQtOC00Mi45LTE0LjRsLTEyLjEgNDguNWMtMy4yIDEyLjktMTYuMiAyMC43LTI5LjEgMTcuNVM2OS41IDQ4NyA3Mi43IDQ3NC4ybDE2LTYzLjlDNDQuMyAzNzMuNiAxNiAzMTguMSAxNiAyNTYgMTYgMTU5LjIgODQuOCA3OC40IDE3Ni4zIDYwbDguNC0zMy44QzE4Ny45IDEzLjMgMjAxIDUuNSAyMTMuOCA4Ljd6TTE1OCAxMzIuOWMtNDYuMSAyMS44LTc4IDY4LjctNzggMTIzLjEgMCAzMC41IDEwIDU4LjYgMjYuOSA4MS4zTDE1OCAxMzIuOXpNMTQ3LjQgMzczLjRjMTMgNy42IDI3LjMgMTMuMSA0Mi41IDE2LjFsNjUuOS0yNjMuNmMtMTIuNi0zLjgtMjUuOS01LjktMzkuOC01LjktMS44IDAtMy41IDAtNS4zIC4xTDE0Ny40IDM3My40eiJdfSxxUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGFwdG9wLWZpbGUiLGljb246WzU3Niw1MTIsW10sImU1MWQiLCJNNjQgNjRDNjQgMjguNyA5Mi43IDAgMTI4IDBMNDE2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA0OC02NCAwIDAtNDgtMjg4IDAgMCAxOTIgMTEyIDAgMCA5Ni0xNjMuMiAwQzM0LjQgMzUyIDAgMzE3LjYgMCAyNzUuMiAwIDI2NC42IDguNiAyNTYgMTkuMiAyNTZMNjQgMjU2IDY0IDY0ek01MjkuOSAyNTcuOWM5IDkgMTQuMSAyMS4yIDE0LjEgMzMuOUw1NDQgNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNjAgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0yNTZjMC0yNi41IDIxLjUtNDggNDgtNDhsNzYuMSAwYzEyLjcgMCAyNC45IDUuMSAzMy45IDE0LjEgMjAgMjAgNDcuOSA0Ny45IDgzLjkgODMuOXpNNDE2IDI3MmMwIDguOCA3LjIgMTYgMTYgMTZsNjAuMSAwLTc2LjEtNzYuMSAwIDYwLjF6Il19LGs5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWhhaSIsaWNvbjpbNTc2LDUxMixbImhheWthbCJdLCJmNjY2IiwiTTI4OC40LThjMTMuMiAwIDI1IDguMSAyOS44IDIwLjRsMzEuOSA4MiA3Ny4yLTQyLjNjMTEuNi02LjMgMjUuOC00LjkgMzUuOSAzLjVzMTQgMjIuMyA5LjcgMzQuOGwtMjguMiA4My4zIDg2LjMgMTcuMmMxMi45IDIuNiAyMyAxMi44IDI1LjMgMjUuOHMtMy42IDI2LjEtMTQuOSAzMi45bC03NS4yIDQ1LjcgNTUgNjguNmM4LjMgMTAuMyA5LjMgMjQuNiAyLjcgMzZzLTE5LjUgMTcuNi0zMi42IDE1LjZsLTg3LTEzLjMtMiA4OGMtLjMgMTMuMi04LjYgMjQuOC0yMSAyOS40cy0yNi4zIDEtMzUtOWwtNTgtNjYuMS01OCA2Ni4xYy04LjcgOS45LTIyLjYgMTMuNS0zNSA5cy0yMC44LTE2LjItMjEtMjkuNGwtMi04OC04NyAxMy4zYy0xMyAyLTI2LTQuMi0zMi42LTE1LjZzLTUuNS0yNS43IDIuNy0zNmw1NS02OC42LTc1LjItNDUuN2MtMTEuMy02LjgtMTcuMi0xOS45LTE0LjktMzIuOXMxMi4zLTIzLjIgMjUuMy0yNS44bDg2LjMtMTcuMi0yOC4yLTgzLjNjLTQuMi0xMi41LS40LTI2LjMgOS43LTM0LjhzMjQuNC05LjkgMzUuOS0zLjVsNzcuMSA0Mi4zIDMxLjktODJDMjYzLjMgLjEgMjc1LjItOCAyODguNC04em0wIDEyMC4yTDI3MyAxNTEuNmMtMy4zIDguNi0xMC4yIDE1LjMtMTguOSAxOC41cy0xOC4yIDIuNC0yNi4zLTJsLTM3LTIwLjMgMTMuNiA0MGMzIDguNyAyIDE4LjMtMi42IDI2LjNzLTEyLjQgMTMuNi0yMS41IDE1LjRsLTQxLjQgOC4zIDM2LjEgMjEuOWM3LjkgNC44IDEzLjMgMTIuNyAxNC45IDIxLjhzLS44IDE4LjQtNi41IDI1LjZsLTI2LjQgMzMgNDEuOC02LjRjOS4xLTEuNCAxOC40IDEuMiAyNS40IDcuMXMxMS4yIDE0LjYgMTEuNCAyMy44bC45IDQyLjIgMjcuOS0zMS44YzYuMS02LjkgMTQuOC0xMC45IDI0LjEtMTAuOXMxOCA0IDI0LjEgMTAuOWwyNy45IDMxLjggLjktNDIuMmMuMi05LjIgNC40LTE3LjkgMTEuNC0yMy44czE2LjMtOC41IDI1LjQtNy4xbDQxLjggNi40LTI2LjQtMzNjLTUuOC03LjItOC4yLTE2LjUtNi42LTI1LjZzNy0xNyAxNC45LTIxLjhsMzYuMS0yMS45LTQxLjQtOC4zYy05LTEuOC0xNi45LTcuNC0yMS41LTE1LjRzLTUuNS0xNy42LTIuNi0yNi4zbDEzLjYtNDAtMzcgMjAuM2MtOC4xIDQuNC0xNy43IDUuMi0yNi4zIDJzLTE1LjUtOS45LTE4LjktMTguNWwtMTUuMy0zOS40eiJdfSxWUXQ9azllLFM5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb25leS1iaWxsLTEiLGljb246WzUxMiw1MTIsWyJtb25leS1iaWxsLWFsdCJdLCJmM2QxIiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0em0xOTIgODBhMTEyIDExMiAwIDEgMSAwIDIyNCAxMTIgMTEyIDAgMSAxIDAtMjI0ek02NCAxODRsMC00OGMwLTQuNCAzLjYtOCA4LThsNDggMGM0LjQgMCA4LjEgMy42IDcuNSA4LTMuNiAyOS0yNi42IDUxLjktNTUuNSA1NS41LTQuNCAuNS04LTMuMS04LTcuNXptMCAxNDRjMC00LjQgMy42LTguMSA4LTcuNSAyOSAzLjYgNTEuOSAyNi42IDU1LjUgNTUuNSAuNSA0LjQtMy4xIDgtNy41IDhsLTQ4IDBjLTQuNCAwLTgtMy42LTgtOGwwLTQ4ek00NDAgMTkxLjVjLTI5LTMuNi01MS45LTI2LjYtNTUuNS01NS41LS41LTQuNCAzLjEtOCA3LjUtOGw0OCAwYzQuNCAwIDggMy42IDggOGwwIDQ4YzAgNC40LTMuNiA4LjEtOCA3LjV6TTQ0OCAzMjhsMCA0OGMwIDQuNC0zLjYgOC04IDhsLTQ4IDBjLTQuNCAwLTguMS0zLjYtNy41LTggMy42LTI5IDI2LjYtNTEuOSA1NS41LTU1LjUgNC40LS41IDggMy4xIDggNy41ek0yNDAgMTg4Yy0xMSAwLTIwIDktMjAgMjAgMCA5LjcgNi45IDE3LjcgMTYgMTkuNmwwIDQ4LjQtNCAwYy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGw0OCAwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtNCAwIDAtNjhjMC0xMS05LTIwLTIwLTIwbC0xNiAweiJdfSxqUXQ9UzllLHo5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1ib2x0IixpY29uOls1MTIsNTEyLFsxMjc3ODUsInRodW5kZXJzdG9ybSJdLCJmNzZjIiwiTTAgMjI0YzAgNTMgNDMgOTYgOTYgOTZsMzguNiAwIDEyNC4xLTExMWMxMi4yLTEwLjkgMjgtMTcgNDQuNC0xNyA0NC42IDAgNzYuNSA0MyA2My43IDg1LjdMMzU0LjEgMzIwIDQxNiAzMjBjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZjLS41IDAtMS4xIDAtMS42IDAgMS4xLTUuMiAxLjYtMTAuNSAxLjYtMTYgMC00NC4yLTM1LjgtODAtODAtODAtMjQuMyAwLTQ2LjEgMTAuOS02MC44IDI4LTE4LjctMzUuNy01Ni4xLTYwLTk5LjItNjAtNjEuOSAwLTExMiA1MC4xLTExMiAxMTIgMCA3LjEgLjcgMTQuMSAxLjkgMjAuOC0zOC4zIDEyLjYtNjUuOSA0OC43LTY1LjkgOTEuMnpNMTYwLjYgNDAwbDYxLjggMC0zMS4yIDEwNC4xYy0zLjYgMTEuOSA1LjMgMjMuOSAxNy44IDIzLjkgNC42IDAgOS0xLjcgMTIuNC00LjdMMzYyLjUgMzk2LjljMy41LTMuMSA1LjUtNy42IDUuNS0xMi40IDAtOS4yLTcuNC0xNi42LTE2LjYtMTYuNmwtNjEuOCAwIDMxLjItMTA0LjFjMy42LTExLjktNS4zLTIzLjktMTcuOC0yMy45LTQuNiAwLTkgMS43LTEyLjQgNC43TDE0OS41IDM3MS4xYy0zLjUgMy4xLTUuNSA3LjYtNS41IDEyLjQgMCA5LjIgNy40IDE2LjYgMTYuNiAxNi42eiJdfSxVUXQ9ejllLFdRdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJldGhlcm5ldCIsaWNvbjpbNTEyLDUxMixbXSwiZjc5NiIsIk0wIDIyNEwwIDQxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwIDAtMTA0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMDQgNjQgMCAwLTEwNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTA0IDY0IDAgMC0xMDRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDEwNCA2NCAwIDAtMTA0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMDQgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE5MmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJMMTYwIDY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzItMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6Il19LEM5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJocnl2bmlhLXNpZ24iLGljb246WzM4NCw1MTIsWzgzNzIsImhyeXZuaWEiXSwiZjZmMiIsIk0zMzYgMTQ5LjRDMzM2IDc3IDI2OC41IDIzLjUgMTk4IDQwLjFMOTMuMiA2NC45Qzc2IDY4LjkgNjUuNCA4Ni4yIDY5LjQgMTAzLjRzMjEuMyAyNy45IDM4LjUgMjMuOGwxMDQuOC0yNC43YzMwLjMtNy4xIDU5LjMgMTUuOCA1OS4zIDQ2LjkgMCAxNy42LTkuNiAzMy44LTI1IDQyLjNsLS43IC40LTIyMi4zIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzM2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTMyLjQgMGM1LjUtMTMuMyA4LjQtMjcuOCA4LjQtNDIuNnpNMzYwIDI3MkwyNCAyNzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzMuMyAwYy02LjEgMTMuNC05LjMgMjguMS05LjMgNDMuMyAwIDY0LjEgNTYuOSAxMTMuNCAxMjAuNCAxMDQuMmwxMzcuOS0xOS45YzE3LjUtMi41IDI5LjYtMTguNyAyNy4xLTM2LjJzLTE4LjgtMjkuNi0zNi4yLTI3LjFMMTU5LjIgNDA0LjJjLTI0LjkgMy42LTQ3LjItMTUuNy00Ny4yLTQwLjkgMC0xNS4xIDguMi0yOC45IDIxLjQtMzYuMmwxMy03LjEgMjEzLjYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNHoiXX0sR1F0PUM5ZSxXdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZXllLXNsYXNoIixpY29uOls1NzYsNTEyLFtdLCJmMDcwIiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTk2LjQtOTYuNGMyLjctMi40IDUuNC00LjggOC03LjIgNDYuOC00My41IDc4LjEtOTUuNCA5My0xMzEuMSAzLjMtNy45IDMuMy0xNi43IDAtMjQuNi0xNC45LTM1LjctNDYuMi04Ny43LTkzLTEzMS4xLTQ3LjEtNDMuNy0xMTEuOC04MC42LTE5Mi42LTgwLjYtNTYuOCAwLTEwNS42IDE4LjItMTQ2IDQ0LjJMNDEtMjQuOXpNMjA0LjUgMTM4LjdjMjMuNS0xNi44IDUyLjQtMjYuNyA4My41LTI2LjcgNzkuNSAwIDE0NCA2NC41IDE0NCAxNDQgMCAzMS4xLTkuOSA1OS45LTI2LjcgODMuNWwtMzQuNy0zNC43YzEyLjctMjEuNCAxNy00Ny43IDEwLjEtNzMuNy0xMy43LTUxLjItNjYuNC04MS42LTExNy42LTY3LjktOC42IDIuMy0xNi43IDUuNy0yNCAxMGwtMzQuNy0zNC43ek0zMjUuMyAzOTUuMWMtMTEuOSAzLjItMjQuNCA0LjktMzcuMyA0LjktNzkuNSAwLTE0NC02NC41LTE0NC0xNDQgMC0xMi45IDEuNy0yNS40IDQuOS0zNy4zTDY5LjQgMTM5LjJjLTMyLjYgMzYuOC01NSA3NS44LTY2LjkgMTA0LjUtMy4zIDcuOS0zLjMgMTYuNyAwIDI0LjYgMTQuOSAzNS43IDQ2LjIgODcuNyA5MyAxMzEuMSA0Ny4xIDQzLjcgMTExLjggODAuNiAxOTIuNiA4MC42IDM3LjMgMCA3MS4yLTcuOSAxMDEuNS0yMC42bC02NC4yLTY0LjJ6Il19LF85ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXJ0LWZsYXRiZWQtc3VpdGNhc2UiLGljb246WzU3Niw1MTIsWyJsdWdnYWdlLWNhcnQiXSwiZjU5ZCIsIk0wIDMyQzAgMTQuMyAxNC4zIDAgMzIgMEw0OCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMjg4YzAgOC44IDcuMiAxNiAxNiAxNmw0MDAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzQuNyAwYzEuOCA1IDIuNyAxMC40IDIuNyAxNiAwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGMwLTUuNiAxLTExIDIuNy0xNmwtMTk3LjUgMGMxLjggNSAyLjcgMTAuNCAyLjcgMTYgMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhjMC02IDEuMS0xMS43IDMuMS0xNy0zOC4xLTYuMi02Ny4xLTM5LjItNjcuMS03OUw2NCA4MGMwLTguOC03LjItMTYtMTYtMTZMMzIgNjRDMTQuMyA2NCAwIDQ5LjcgMCAzMnpNMTc2IDE0NGMwLTI2LjUgMjEuNS00OCA0OC00OGwzMiAwIDAtMjRjMC0zMC45IDI1LjEtNTYgNTYtNTZsNjQgMGMzMC45IDAgNTYgMjUuMSA1NiA1NmwwIDI0IDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNDRjMCAyNi41LTIxLjUgNDgtNDggNDhsLTI0MCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTE0NHpNMzg0IDk2bDAtMjRjMC00LjQtMy42LTgtOC04bC02NCAwYy00LjQgMC04IDMuNi04IDhsMCAyNCA4MCAweiJdfSxZUXQ9XzllLEtRdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyYWRpYXRpb24iLGljb246WzU3Niw1MTIsW10sImY3YjkiLCJNNDQ2LjIgMzQuNWMtMTQuMi0xMC4xLTMzLjUtNC42LTQyLjIgMTAuNUwzMzEuNiAxNzAuM2MzMS4zIDE1LjggNTIuOCA0OC4zIDUyLjggODUuN2wxNDQgMGMxNy43IDAgMzIuMi0xNC40IDMwLjEtMzEuOS05LjEtNzguMS01MS40LTE0Ni4xLTExMi4zLTE4OS42ek0xNzIuNyA0NC45QzE2NCAyOS44IDE0NC43IDI0LjMgMTMwLjUgMzQuNSA2OS42IDc3LjkgMjcuMyAxNDUuOSAxOC4yIDIyNC4xIDE2LjEgMjQxLjYgMzAuNyAyNTYgNDguMyAyNTZsMTQ0IDBjMC0zNy41IDIxLjUtNjkuOSA1Mi44LTg1LjdMMTcyLjcgNDQuOXptLTkuNCA0MTYuOGMtOC43IDE1LjEtMy44IDM0LjUgMTIgNDEuOCAzNC40IDE1LjcgNzIuNyAyNC41IDExMyAyNC41czc4LjYtOC44IDExMy0yNC41YzE1LjgtNy4yIDIwLjctMjYuNyAxMi00MS44TDM0MSAzMzYuM2MtMTUuMSA5LjktMzMuMiAxNS43LTUyLjYgMTUuN3MtMzcuNS01LjgtNTIuNi0xNS43TDE2My4zIDQ2MS43ek0yODguMyAzMDRhNDggNDggMCAxIDAgLS43LTk2IDQ4IDQ4IDAgMSAwIC43IDk2eiJdfSxaUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS13b3JkIixpY29uOlszODQsNTEyLFtdLCJmMWMyIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek0xMzUuNCAyNzQuOGMtMi45LTEyLjktMTUuNy0yMS4xLTI4LjYtMTguMnMtMjEuMSAxNS43LTE4LjIgMjguNmwzMiAxNDRjMi4zIDEwLjUgMTEuNCAxOC4yIDIyLjIgMTguOHMyMC42LTYuMSAyNC0xNi40bDI1LjItNzUuNyAyNS4yIDc1LjdjMy40IDEwLjIgMTMuMiAxNi45IDI0IDE2LjRzMTkuOS04LjIgMjIuMi0xOC44bDMyLTE0NGMyLjktMTIuOS01LjMtMjUuOC0xOC4yLTI4LjZzLTI1LjggNS4zLTI4LjYgMTguMmwtMTMuMiA1OS40LTIwLjYtNjEuOGMtMy4zLTkuOC0xMi40LTE2LjQtMjIuOC0xNi40cy0xOS41IDYuNi0yMi44IDE2LjRsLTIwLjYgNjEuOC0xMy4yLTU5LjR6Il19LFQ5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiZWQtcHVsc2UiLGljb246WzY0MCw1MTIsWyJwcm9jZWR1cmVzIl0sImY0ODciLCJNNTMxLjItMjIuNEw1NzIgMzIgNjE2IDMyYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC01NiAwYy03LjYgMC0xNC43LTMuNi0xOS4yLTkuNmwtMjQuMS0zMi4xLTQ3IDk5LjljLTMuNyA3LjgtMTEuMyAxMy4xLTE5LjkgMTMuN3MtMTYuOS0zLjQtMjEuNy0xMC42TDM4Ny4yIDgwIDM0NCA4MGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw1NiAwYzggMCAxNS41IDQgMjAgMTAuN2wyNC40IDM2LjYgNDUuOS05Ny41YzMuNi03LjYgMTAuOS0xMi44IDE5LjMtMTMuN3MxNi42IDIuNyAyMS42IDkuNXpNMzIwIDE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5LjUgMCAyNi42IDM5LjljMTQuNCAyMS42IDM5LjMgMzMuOCA2NS4yIDMxLjlzNDguOC0xNy42IDU5LjgtNDEuMUw1MjcgMTI5LjJjNDUuOSA3LjIgODEgNDYuOSA4MSA5NC44bDAgMjI0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjQtNDQ4IDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMkwzMiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMlM5NiA0Ni4zIDk2IDY0bDAgMjI0IDIyNCAwIDAtMTI4ek0xNDQgMTkyYTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHoiXX0sWFF0PVQ5ZSxRUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVudHMiLGljb246WzU3Niw1MTIsW10sImU1ODIiLCJNNTM5LjkgMzUybC05NS42IDAtOC40LTY2LjFjLTIuOS0yMy4yLTE1LjktNDMuOS0zNS40LTU2LjhMMjUyLjIgMTMxLjVjLTE4LTExLjktMzkuNy0xNS43LTYwLjEtMTEuNSAyLjUtNC4zIDUuOS03LjkgMTAuMS0xMC43TDM1MC42IDExLjZjMTAuNy03IDI0LjUtNyAzNS4yIDBsMTQ4LjQgOTcuN2M3LjggNS4xIDEzIDEzLjQgMTQuMiAyMi43bDIzLjMgMTg0YzIuNCAxOS4xLTEyLjUgMzYtMzEuNyAzNnpNNC44IDQ3NmwyMy4zLTE4NGMxLjItOS4zIDYuMy0xNy42IDE0LjItMjIuN2wxNDguNC05Ny43YzEwLjctNyAyNC41LTcgMzUuMiAwbDE0OC40IDk3LjdjNy44IDUuMSAxMyAxMy40IDE0LjIgMjIuN2wyMy4zIDE4NGMyLjQgMTkuMS0xMi41IDM2LTMxLjcgMzZsLTQ5LjcgMGMtMTEuMiAwLTIxLjUtNS44LTI3LjMtMTUuNGwtNzctMTI2LjdjLTEuNy0yLjgtNC44LTQuNi04LjEtNC42LTUuMyAwLTkuNSA0LjMtOS41IDkuNWwwIDEwNS4yYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDM2LjUgNTEyYy0xOS4zIDAtMzQuMi0xNi45LTMxLjctMzZ6Il19LEd0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtdWctaG90IixpY29uOls1NzYsNTEyLFs5NzQ5XSwiZjdiNiIsIk0xNTItMTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0IDAgMzguOSAyMy40IDU5LjQgMzkuMSA3My4xbDEuMSAxYzE2LjMgMTQuMyAyMy44IDIxLjggMjMuOCAzNy45IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zOC45LTIzLjQtNTkuNC0zOS4xLTczLjFsLTEuMS0xQzE4My41IDMxLjcgMTc2IDI0LjEgMTc2IDggMTc2LTUuMyAxNjUuMy0xNiAxNTItMTZ6TTk2IDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxOTJjMCA1MyA0MyA5NiA5NiA5NmwxOTIgMGM0MS44IDAgNzcuNC0yNi43IDkwLjUtNjRsNS41IDBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhTNTE4LjcgMTkyIDQ0OCAxOTJMOTYgMTkyek00NDggMzg0bDAtMTI4YzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0ek0yODggOGMwLTEzLjMtMTAuNy0yNC0yNC0yNFMyNDAtNS4zIDI0MCA4YzAgMzguOSAyMy40IDU5LjQgMzkuMSA3My4xbDEuMSAxYzE2LjMgMTQuMyAyMy44IDIxLjggMjMuOCAzNy45IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zOC45LTIzLjQtNTkuNC0zOS4xLTczLjFsLTEuMS0xQzI5NS41IDMxLjcgMjg4IDI0LjEgMjg4IDh6Il19LEw5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib2x0IixpY29uOls0NDgsNTEyLFs5ODg5LCJ6YXAiXSwiZjBlNyIsIk0zMzguOC05LjljMTEuOSA4LjYgMTYuMyAyNC4yIDEwLjkgMzcuOEwyNzEuMyAyMjQgNDE2IDIyNGMxMy41IDAgMjUuNSA4LjQgMzAuMSAyMS4xcy43IDI2LjktOS42IDM1LjVsLTI4OCAyNDBjLTExLjMgOS40LTI3LjQgOS45LTM5LjMgMS4zcy0xNi4zLTI0LjItMTAuOS0zNy44TDE3Ni43IDI4OCAzMiAyODhjLTEzLjUgMC0yNS41LTguNC0zMC4xLTIxLjFzLS43LTI2LjkgOS42LTM1LjVsMjg4LTI0MGMxMS4zLTkuNCAyNy40LTkuOSAzOS4zLTEuM3oiXX0sSlF0PUw5ZSxlSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiamFyIixpY29uOlszMjAsNTEyLFtdLCJlNTE2IiwiTTMyLThjMC0xMy4zIDEwLjctMjQgMjQtMjRsMjA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMNTYgMTZDNDIuNyAxNiAzMiA1LjMgMzItOHpNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMTkyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptOTYgNjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDk2IDE5MnoiXX0sdEp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrLXBsYW5lIixpY29uOls2NDAsNTEyLFtdLCJlNThmIiwiTTE0NCA0OGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMzIwYzAgMzIuNSAxMi4xIDYyLjEgMzIgODQuN2wwIDI3LjNjMCA3LjEgLjkgMTQuMSAyLjcgMjAuN0wxOTIgNDgwIDgzLjkgNTA3QzczLjggNTA5LjYgNjQgNTAxLjkgNjQgNDkxLjVsMC0xOS44YzAtNC45IDIuMi05LjUgNi0xMi41bDc0LTU5LjIgMC01Ny42LTEyMi4xIDQ4LjhDMTEuNCAzOTUuNCAwIDM4Ny43IDAgMzc2LjRsMC00NGMwLTggMy0xNS42IDguMy0yMS41TDE0NCAxNjEuNiAxNDQgNDh6bTIyNCA4MGwxOTIgMGM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDE2MGMwIDI2LjItMTIuNiA0OS40LTMyIDY0bDAgNDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0xNjAgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNDhjLTE5LjQtMTQuNi0zMi0zNy44LTMyLTY0bDAtMTYwYzAtNDQuMiAzNS44LTgwIDgwLTgwem0wIDE3NmwxOTIgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xMjggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMnptMCA4OGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTIxNi0yNGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxhSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1ob2xkaW5nLWhlYXJ0IixpY29uOls1NzYsNTEyLFtdLCJmNGJlIiwiTTI3OS42IDMxQzI2NS41IDExLjUgMjQyLjkgMCAyMTguOSAwIDE3Ny41IDAgMTQ0IDMzLjUgMTQ0IDc0LjlsMCAyLjRjMCA2NC40IDgyIDEzMy40IDEyMi4yIDE2My4zIDEzIDkuNyAzMC41IDkuNyA0My41IDAgNDAuMi0zMCAxMjIuMi05OC45IDEyMi4yLTE2My4zbDAtMi40YzAtNDEuNC0zMy41LTc0LjktNzQuOS03NC45LTI0IDAtNDYuNiAxMS41LTYwLjcgMzFMMjg4IDQyLjcgMjc5LjYgMzF6TTEwOS4zIDM0MS41TDY2LjcgMzg0IDMyIDM4NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMjAuNSAwYzI5IDAgNTcuMy05LjMgODAuNy0yNi41bDEyNi42LTkzLjNjMTcuOC0xMy4xIDIxLjYtMzguMSA4LjUtNTUuOXMtMzguMS0yMS42LTU1LjktOC41TDM5Mi42IDQxNiAyODAgNDE2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDcyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE1Mi4yIDBjLTMzLjkgMC02Ni41IDEzLjUtOTAuNSAzNy41eiJdfSx0bT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1yb3RhdGUtbGVmdCIsaWNvbjpbNTEyLDUxMixbODYzNCwiYXJyb3ctbGVmdC1yb3RhdGUiLCJhcnJvdy1yb3RhdGUtYmFjayIsImFycm93LXJvdGF0ZS1iYWNrd2FyZCIsInVuZG8iXSwiZjBlMiIsIk0yNTYgNjRjLTU2LjggMC0xMDcuOSAyNC43LTE0My4xIDY0bDQ3LjEgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAxOTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwUzY0IDE0LjMgNjQgMzJsMCA1NC43QzExMC45IDMzLjYgMTc5LjUgMCAyNTYgMCAzOTcuNCAwIDUxMiAxMTQuNiA1MTIgMjU2UzM5Ny40IDUxMiAyNTYgNTEyYy04NyAwLTE2My45LTQzLjQtMjEwLjEtMTA5LjctMTAuMS0xNC41LTYuNi0zNC40IDcuOS00NC42czM0LjQtNi42IDQ0LjYgNy45YzM0LjggNDkuOCA5Mi40IDgyLjMgMTU3LjYgODIuMyAxMDYgMCAxOTItODYgMTkyLTE5MlMzNjIgNjQgMjU2IDY0eiJdfSxySnQ9dG0sc0p0PXRtLGlKdD10bSxvSnQ9dG0sJDllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtYW5ncnkiLGljb246WzUxMiw1MTIsWzEyODU0NCwiYW5ncnkiXSwiZjU1NiIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0yNTYgMzY4YzI0LjEgMCA0NS40IDExLjggNTguNSAzMCA3LjcgMTAuOCAyMi43IDEzLjIgMzMuNSA1LjVzMTMuMi0yMi43IDUuNS0zMy41Yy0yMS43LTMwLjItNTcuMy01MC05Ny41LTUwcy03NS43IDE5LjgtOTcuNSA1MGMtNy43IDEwLjgtNS4zIDI1LjggNS41IDMzLjVzMjUuOCA1LjMgMzMuNS01LjVjMTMuMS0xOC4yIDM0LjQtMzAgNTguNS0zMHptLTgwLTk2YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtLjMgOS43IDMuMmMxMC41IDMuNSAyMS44LTIuMiAyNS4zLTEyLjZzLTIuMi0yMS44LTEyLjYtMjUuM2wtOTYtMzJjLTEwLjUtMy41LTIxLjggMi4yLTI1LjMgMTIuNnMyLjIgMjEuOCAxMi42IDI1LjNsMjguOSA5LjZjLTQuMSA1LjQtNi42IDEyLjEtNi42IDE5LjQgMCAxNy43IDE0LjMgMzIgMzIgMzJ6bTE5Mi0zMmMwLTcuMy0yLjQtMTQtNi42LTE5LjRsMjguOS05LjZjMTAuNS0zLjUgMTYuMS0xNC44IDEyLjYtMjUuM3MtMTQuOC0xNi4xLTI1LjMtMTIuNmwtOTYgMzJjLTEwLjUgMy41LTE2LjEgMTQuOC0xMi42IDI1LjNzMTQuOCAxNi4xIDI1LjMgMTIuNmw5LjctMy4yIDAgLjNjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnoiXX0sbkp0PSQ5ZSxsSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVyc3QiLGljb246WzUxMiw1MTIsW10sImU0ZGMiLCJNMzcuNiA0LjJDMjgtMi4zIDE1LjItMS4xIDcgN1MtMi4zIDI4IDQuMiAzNy42bDExMiAxNjMuMy05OS42IDMyLjNDNi43IDIzNi40IDAgMjQ1LjYgMCAyNTZzNi43IDE5LjYgMTYuNiAyMi44bDEwMy4xIDMzLjQtNTIuOSAxMDAuNmMtNC45IDkuMy0zLjIgMjAuNyA0LjMgMjguMXMxOC44IDkuMiAyOC4xIDQuM2wxMDAuNi01Mi45IDMzLjQgMTAzLjFjMy4yIDkuOSAxMi40IDE2LjYgMjIuOCAxNi42czE5LjYtNi43IDIyLjgtMTYuNmwzMy40LTEwMy4xIDEwMC42IDUyLjljOS4zIDQuOSAyMC43IDMuMiAyOC4xLTQuM3M5LjItMTguOCA0LjMtMjguMWwtNTIuOS0xMDAuNiAxMDMuMS0zMy40YzkuOS0zLjIgMTYuNi0xMi40IDE2LjYtMjIuOHMtNi43LTE5LjYtMTYuNi0yMi44bC0xMDYuNS0zNC41IDI1LjctNzAuNGMzLjItOC44IDEtMTguNi01LjYtMjUuMnMtMTYuNC04LjgtMjUuMi01LjZsLTcwLjQgMjUuNy0zNC41LTEwNi41QzI3NS42IDYuNyAyNjYuNCAwIDI1NiAwcy0xOS42IDYuNy0yMi44IDE2LjZMMjAwLjkgMTE2LjIgMzcuNiA0LjJ6Il19LGNKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ6IixpY29uOlszODQsNTEyLFsxMjJdLCI1YSIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDMyMCAwYzEyLjQgMCAyMy43IDcuMiAyOSAxOC40czMuNiAyNC41LTQuNCAzNC4xTDEwMC4zIDQxNiAzNTIgNDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTIuNCAwLTIzLjctNy4yLTI5LTE4LjRzLTMuNi0yNC41IDQuNC0zNC4xTDI4My43IDk2IDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjR6Il19LEQ5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYW5kYWdlIixpY29uOls1NzYsNTEyLFsxMjk2NTcsImJhbmQtYWlkIl0sImY0NjIiLCJNNDY0IDQxNmw0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTkyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC00OCAwIDAgMzIwek00MTYgOTZsLTI1NiAwIDAgMzIwIDI1NiAwIDAtMzIwek02NCA5NkMyOC43IDk2IDAgMTI0LjcgMCAxNjBMMCAzNTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDggMCAwLTMyMC00OCAwek0yMTYgMjA4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTEyMC0yNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTIxNiAzMDRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTIwLTI0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHoiXX0sZEp0PUQ5ZSx1SnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhbmUtY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls2NDAsNTEyLFtdLCJlNTU2IiwiTTIzMiAyNGMwLTMwLjkgMjUuMS01NiA1Ni01NnM1NiAyNS4xIDU2IDU2bDAgMTI3LjMgNzggNzEuNWMtNjkuMyAyOS0xMTggOTcuNC0xMTggMTc3LjIgMCA0OS4zIDE4LjYgOTQuMyA0OS4xIDEyOC4zTDI4OCA1MTIgMTc5LjkgNTM5Yy0xMC4xIDIuNS0xOS45LTUuMS0xOS45LTE1LjVsMC0xOS44YzAtNC45IDIuMi05LjUgNi0xMi41bDY2LTUyLjggMC05OS43LTE2Mi45IDU0LjNDNTguNyAzOTYuNCA0OCAzODguNyA0OCAzNzcuOGwwLTQzLjdjMC05IDMuOC0xNy41IDEwLjQtMjMuNkwyMzIgMTUxLjMgMjMyIDI0ek00OTYgMjU2YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMCAyMjhhMjAgMjAgMCAxIDAgMC00MCAyMCAyMCAwIDEgMCAwIDQwem0wLTE4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgODBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTgwYzAtOC44LTcuMi0xNi0xNi0xNnoiXX0scEp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1cy1zaWRlIixpY29uOls2NDAsNTEyLFtdLCJlODFkIiwiTTQ4MCAwYzg4LjQgMCAxNjAgNzEuNiAxNjAgMTYwbDAgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC01LjYgMGMtMTMuMiAzNy4zLTQ4LjYgNjQtOTAuNCA2NHMtNzcuMy0yNi43LTkwLjQtNjRsLTEzOS4xIDBjLTEzLjIgMzcuMy00OC43IDY0LTkwLjQgNjRzLTc3LjItMjYuNy05MC40LTY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDQzIDQzIDAgOTYgMEw0ODAgMHpNMTYwIDM2OGE0OCA0OCAwIDEgMCAwIDk2IDQ4IDQ4IDAgMSAwIDAtOTZ6bTMyMCAwYTQ4IDQ4IDAgMSAwIDAgOTYgNDggNDggMCAxIDAgMC05NnptMC0zMDRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTkyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMjhjMC01My00My05Ni05Ni05NnpNMjQ4IDIyNGwxMDQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xMDQgMCAwIDE2MHpNOTYgNjRDNzguMyA2NCA2NCA3OC4zIDY0IDk2bDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTA0IDAgMC0xNjAtMTA0IDB6Il19LGZKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWdzIixpY29uOls1NzYsNTEyLFtdLCJlNGQwIiwiTTQ0Ny41IDE3NC42YzguOC04LjQgMjIuNy04LjkgMzIuMi0uOHMxMSAyMS45IDQuMSAzMS45bC0xLjUgMS45LTIzIDI2LjdjMjYuNyAxMy41IDQ2LjMgMzkuMSA1MS40IDY5LjZsMjUuMyAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yNCAwIDAgMzIgMjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjUuMyAwYy03LjYgNDUuNC00Ny4xIDgwLTk0LjcgODBzLTg3LTM0LjYtOTQuNy04MEwyOTYgNDMyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDI0IDAgMC0zMi0yNCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDI1LjMgMGM1LjEtMzAuNSAyNC43LTU2LjEgNTEuNC02OS42bC0yMi45LTI2LjdjLTguNi0xMC4xLTcuNS0yNS4yIDIuNi0zMy44czI1LjItNy41IDMzLjggMi42bDI5LjggMzQuOCAyOS44LTM0LjggMS43LTEuOHptLTI1Ni0xOTJjOC44LTguNCAyMi43LTguOSAzMi4yLS44czExIDIxLjkgNC4xIDMxLjlsLTEuNSAxLjktMjMgMjYuN0MyMzAgNTUuOSAyNDkuNSA4MS41IDI1NC43IDExMmwyNS4zIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTI0IDAgMCAzMiAyNCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yNS4zIDBjLTcuNiA0NS40LTQ3LjEgODAtOTQuNyA4MHMtODctMzQuNi05NC43LTgwTDQwIDI0MGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyNCAwIDAtMzItMjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyNS4zIDBDNzAuNSA4MS41IDkwIDU1LjkgMTE2LjcgNDIuNEw5My44IDE1LjZDODUuMiA1LjYgODYuMy05LjYgOTYuNC0xOC4yczI1LjItNy41IDMzLjggMi42bDI5LjggMzQuOCAyOS44LTM0LjggMS43LTEuOHoiXX0sQTllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJlZXItbXVnLWVtcHR5IixpY29uOls1NzYsNTEyLFsiYmVlciJdLCJmMGZjIiwiTTY0IDgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDI4OCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTYgNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDEwOC4yYzAgMjQuMi0xMy43IDQ2LjQtMzUuNCA1Ny4yTDQ0OCAzNzEuOCA0NDggMzg0YzAgNTMtNDMgOTYtOTYgOTZsLTE5MiAwYy01MyAwLTk2LTQzLTk2LTk2TDY0IDgwek00NDggMzAwLjJsNjQtMzIgMC0xMDguMi02NCAwIDAgMTQwLjJ6TTE5MiAxNTJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyMDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTIwOHptODggMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDIwOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjA4em04OCAwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjA4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yMDh6Il19LGhKdD1BOWUsbUp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1jaXJjbGUtY2hlY2siLGljb246WzY0MCw1MTIsW10sImU1M2UiLCJNMjgwIDI0YTU2IDU2IDAgMSAwIC0xMTIgMCA1NiA1NiAwIDEgMCAxMTIgMHptMjQgMjEyLjdMMzQxIDI4Ni42YzEyLjgtMTcuNSAyOC41LTMyLjcgNDYuMy00NWwtNTYuMi03NS43QzMwNiAxMzIgMjY2LjMgMTEyIDIyNCAxMTJzLTgyIDIwLTEwNy4yIDUzLjlsLTcwLjUgOTVjLTEwLjUgMTQuMi03LjYgMzQuMiA2LjYgNDQuOHMzNC4yIDcuNiA0NC44LTYuNkwxNDQgMjM2LjcgMTQ0IDUxMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI3NS4zek02NDAgNDAwYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS04Ni42LTYwLjljNy4xIDUuMiA4LjcgMTUuMiAzLjUgMjIuM2wtNjQgODhjLTIuOCAzLjgtNyA2LjItMTEuNyA2LjVzLTkuMy0xLjMtMTIuNi00LjZsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMjYuOCAyNi44IDUzLTcyLjljNS4yLTcuMSAxNS4yLTguNyAyMi40LTMuNXoiXX0sZ0p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0YXBsZXIiLGljb246WzY0MCw1MTIsW10sImU1YWYiLCJNNjQwIDI5OS4zTDY0MCA0MzJjMCAyNi41LTIxLjUgNDgtNDggNDhMNjQgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDM4NCAwIDAtNDgtMzUyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTE2LjYtMzAuMi01LjRjLTE5LjYtMy41LTMzLjgtMjAuNS0zMy44LTQwLjQgMC04LjkgMi45LTE3LjUgOC4yLTI0LjZsMzUuNi00Ny41YzMyLjgtNDMuOCA4NC40LTY5LjYgMTM5LjEtNjkuNiAyNyAwIDUzLjYgNi4zIDc3LjggMTguNEw1ODYuOSAyMTMuNUM2MTkuNSAyMjkuNyA2NDAgMjYzIDY0MCAyOTkuM3pNNDQ4IDMwNGwwLTE2LTMyMC01Ny4xIDAgNzMuMSAzMjAgMHoiXX0sYkp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLW1lZGljYWwtY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNTExIiwiTTMwOS44IDguNmMtMTIuMy0xMS40LTMxLjMtMTEuNC00My41IDBsLTIyNCAyMDhjLTkuNiA5LTEyLjggMjIuOS04IDM1LjFTNTAuOCAyNzIgNjQgMjcybDE2IDAgMCAxNzZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTk2IDBjLTIxLjItMjkuNS0zNC4zLTY1LjMtMzUuOS0xMDRMMjcyIDQwOGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCAyMCAwYzM0LjktNDguNSA5MS43LTgwIDE1Ni04MCAxMC43IDAgMjEuMSAuOSAzMS4zIDIuNUwzMDkuOCA4LjZ6TTY0MCA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTg2LjYtNjAuOWM3LjEgNS4yIDguNyAxNS4yIDMuNSAyMi4zbC02NCA4OGMtMi44IDMuOC03IDYuMi0xMS43IDYuNXMtOS4zLTEuMy0xMi42LTQuNmwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwyNi44IDI2LjggNTMtNzIuOWM1LjItNy4xIDE1LjItOC43IDIyLjQtMy41eiJdfSx2SnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibmFpcmEtc2lnbiIsaWNvbjpbNDQ4LDUxMixbXSwiZTFmNiIsIk0xMjIuNiA0Ni4zYy03LjgtMTEuNy0yMi40LTE3LTM1LjktMTIuOVM2NCA0OS45IDY0IDY0bDAgMTkyLTMyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzIgMCAwIDE0NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTQ0IDg5LjUgMCAxMDcuOCAxNjEuOGM3LjggMTEuNyAyMi40IDE3IDM1LjkgMTIuOVMzODQgNDYyLjEgMzg0IDQ0OGwwLTE0NCAzMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zMiAwIDAtMTkyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTkyLTU3LjUgMC0xMzkuOC0yMDkuN3pNMjk0LjUgMzA0bDI1LjUgMCAwIDM4LjMtMjUuNS0zOC4zek0xODUuNSAyNTZsLTU3LjUgMCAwLTg2LjMgNTcuNSA4Ni4zeiJdfSx3dGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2lmaSIsaWNvbjpbNTc2LDUxMixbIndpZmktMyIsIndpZmktc3Ryb25nIl0sImYxZWIiLCJNMjg4IDk2Yy05MC45IDAtMTczLjIgMzYtMjMzLjcgOTQuNi0xMi43IDEyLjMtMzMgMTItNDUuMi0uN3MtMTItMzMgLjctNDUuMkM4MS43IDc0LjkgMTc5LjkgMzIgMjg4IDMyUzQ5NC4zIDc0LjkgNTY2LjMgMTQ0LjdjMTIuNyAxMi4zIDEzIDMyLjYgLjcgNDUuMnMtMzIuNiAxMy00NS4yIC43QzQ2MS4yIDEzMiAzNzguOSA5NiAyODggOTZ6TTI0MCA0MzJhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNMTY4IDMyNi4yYy0xMS43IDEzLjMtMzEuOSAxNC41LTQ1LjIgMi44cy0xNC41LTMxLjktMi44LTQ1LjJDMTYxIDIzNy40IDIyMS4xIDIwOCAyODggMjA4czEyNyAyOS40IDE2OCA3NS44YzExLjcgMTMuMyAxMC40IDMzLjUtMi44IDQ1LjJzLTMzLjUgMTAuNC00NS4yLTIuOEMzNzguNiAyOTIuOSAzMzUuOCAyNzIgMjg4IDI3MnMtOTAuNiAyMC45LTEyMCA1NC4yeiJdfSx4SnQ9d3RlLHlKdD13dGUsZ3Y9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9uZXktY2hlY2stZG9sbGFyIixpY29uOls1MTIsNTEyLFsibW9uZXktY2hlY2stYWx0Il0sImY1M2QiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6TTI5NiAyODhsMTI4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTEyOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0tMjQtODhjMC0xMy4zIDEwLjctMjQgMjQtMjRsMTI4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTEyOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMTQ4IDE0NGMxMSAwIDIwIDkgMjAgMjBsMCA0IDggMGMxMSAwIDIwIDkgMjAgMjBzLTkgMjAtMjAgMjBsLTQ3LjUgMGMtNi45IDAtMTIuNSA1LjYtMTIuNSAxMi41IDAgNi4xIDQuNCAxMS4zIDEwLjQgMTIuM2w0MS43IDdjMjUuMyA0LjIgNDMuOSAyNi4xIDQzLjkgNTEuOCAwIDI2LjEtMTkgNDcuNy00NCA1MS44bDAgNC43YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTQtMjQgMGMtMTEgMC0yMC05LTIwLTIwczktMjAgMjAtMjBsNTUuNSAwYzYuOSAwIDEyLjUtNS42IDEyLjUtMTIuNSAwLTYuMS00LjQtMTEuMy0xMC40LTEyLjNsLTQxLjctN0M5NC41IDI2OCA3NiAyNDYuMSA3NiAyMjAuNSA3NiAxOTEuNyA5OS4yIDE2OC4zIDEyOCAxNjhsMC00YzAtMTEgOS0yMCAyMC0yMHoiXX0sd0p0PWd2LEU5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJleWUtbG93LXZpc2lvbiIsaWNvbjpbNTc2LDUxMixbImxvdy12aXNpb24iXSwiZjJhOCIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC05Ni40LTk2LjRjMi43LTIuNCA1LjQtNC44IDgtNy4yIDQ2LjgtNDMuNSA3OC4xLTk1LjQgOTMtMTMxLjEgMy4zLTcuOSAzLjMtMTYuNyAwLTI0LjYtMTQuOS0zNS43LTQ2LjItODcuNy05My0xMzEuMS00Ny4xLTQzLjctMTExLjgtODAuNi0xOTIuNi04MC42LTU2LjggMC0xMDUuNiAxOC4yLTE0NiA0NC4yTDQxLTI0Ljl6TTIwNC41IDEzOC43YzIzLjUtMTYuOCA1Mi40LTI2LjcgODMuNS0yNi43IDc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0IDAgMzEuMS05LjkgNTkuOS0yNi43IDgzLjVsLTM0LjctMzQuN2MxMi43LTIxLjQgMTctNDcuNyAxMC4xLTczLjctMTMuNy01MS4yLTY2LjQtODEuNi0xMTcuNi02Ny45LTguNiAyLjMtMTYuNyA1LjctMjQgMTBsLTM0LjctMzQuN3pNODggMTU3LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlMMzI4LjIgNDY2YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw4OCAxNTcuOXpNNDUuNyAyNTEuM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOUwxODEuOSA0NTUuNWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNDUuNyAyNTEuM3oiXX0sTUp0PUU5ZSxQOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWFycm93LXVwIixpY29uOls1MTIsNTEyLFsiYXJyb3ctY2lyY2xlLXVwIl0sImYwYWEiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTE3LTM3N2w4MCA4MGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC0zOS0zOSAwIDE1MC4xYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTUwLjEtMzkgMzljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsODAtODBjOS40LTkuNCAyNC42LTkuNCAzMy45IDB6Il19LGtKdD1QOWUsU0p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbWVyYS1yZXRybyIsaWNvbjpbNTEyLDUxMixbMTI4MjQ3XSwiZjA4MyIsIk0wIDQxNmwwLTIwOCAxMzYuMiAwYzEzLjUtMjAuMiAzMi0zNi44IDUzLjctNDhMMCAxNjAgMCAxMjUuN2MwLTM1LjMgMjguNy02NCA2NC02NGwuMSAwQzY1LjMgNDUuMSA3OS4xIDMyIDk2IDMybDMyIDBjMTYuOSAwIDMwLjcgMTMuMSAzMS45IDI5LjdsMzIuMSAwIDUxLjItMjMuOGM4LjQtMy45IDE3LjYtNiAyNi45LTZMNDQ4IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjQtMTkwIDBjMjEuNyAxMS4yIDQwLjIgMjcuOCA1My43IDQ4bDEzNi4yIDAgMCAyMDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NHpNMjU2IDE5MmE5Ni4xIDk2LjEgMCAxIDAgMCAxOTIuMSA5Ni4xIDk2LjEgMCAxIDAgMC0xOTIuMXoiXX0sekp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcHN1bGVzIixpY29uOls1NzYsNTEyLFtdLCJmNDZiIiwiTTk2IDExMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMTEyLTk2IDAgMC0xMTJ6bS02NCAwbDAgMjg4YzAgNjEuOSA1MC4xIDExMiAxMTIgMTEyczExMi01MC4xIDExMi0xMTJsMC0xMDUuOCAxMTYuMyAxNjkuNWMzNS41IDUxLjcgMTA1LjMgNjQuMyAxNTYgMjguMXM2My0xMDcuNSAyNy41LTE1OS4yTDQyNy4zIDE0NS4zYy0zNS41LTUxLjctMTA1LjMtNjQuMy0xNTYtMjguMS01LjYgNC0xMC43IDguNC0xNS4zIDEzLjFsMC0xOC4zQzI1NiA1MC4xIDIwNS45IDAgMTQ0IDBTMzIgNTAuMSAzMiAxMTJ6TTI5Ni42IDI0MC4yYy0xNi0yMy4zLTEwLTU1LjMgMTEuOS03MSAyMS4yLTE1LjEgNTAuNS0xMC4zIDY2IDEyLjJsNjcgOTcuNi03OS45IDU1LjktNjUtOTQuOHoiXX0sQ0p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBvbyIsaWNvbjpbNTEyLDUxMixbMTI4MTY5XSwiZjJmZSIsIk0yNjguOSAuOWMtNS41LS43LTExIDEuNC0xNC41IDUuN3MtNC42IDEwLjEtMi44IDE1LjRjMi44IDguMiA0LjMgMTYuOSA0LjMgMjYuMSAwIDQ0LjEtMzUuNyA3OS45LTc5LjggODBMMTYwIDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjQgMCAxOS4xIDguNCAzNi4zIDIxLjcgNDhMMTA0IDI0MGMtMzkuOCAwLTcyIDMyLjItNzIgNzIgMCAyMy4yIDExIDQzLjggMjggNTctMzQuMSA1LjctNjAgMzUuMy02MCA3MSAwIDM5LjggMzIuMiA3MiA3MiA3MmwzNjggMGMzOS44IDAgNzItMzIuMiA3Mi03MiAwLTM1LjctMjUuOS02NS4zLTYwLTcxIDE3LTEzLjIgMjgtMzMuOCAyOC01NyAwLTM5LjgtMzIuMi03Mi03Mi03MmwtMTMuNyAwYzEzLjMtMTEuNyAyMS43LTI4LjkgMjEuNy00OCAwLTM1LjMtMjguNy02NC02NC02NGwtNS41IDBjMy41LTEwIDUuNS0yMC44IDUuNS0zMiAwLTQ4LjYtMzYuMi04OC44LTgzLjEtOTUuMXpNMTkyIDI1NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTk2IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTY0IDEwOC4zYzAgMi40LS43IDQuOC0yLjIgNi43LTguMiAxMC41LTM5LjUgNDUtOTMuOCA0NXMtODUuNi0zNC42LTkzLjgtNDVjLTEuNS0xLjktMi4yLTQuMy0yLjItNi43IDAtNi44IDUuNS0xMi4zIDEyLjMtMTIuM2wxNjcuNCAwYzYuOCAwIDEyLjMgNS41IDEyLjMgMTIuM3oiXX0sSTllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZvbHVtZSIsaWNvbjpbNTEyLDUxMixbMTI4MjY1LCJ2b2x1bWUtbWVkaXVtIl0sImY2YTgiLCJNNDggMzUybDQ4IDAgMTM0LjEgMTE5LjJjNi40IDUuNyAxNC42IDguOCAyMy4xIDguOCAxOS4yIDAgMzQuOC0xNS42IDM0LjgtMzQuOGwwLTM3OC40YzAtMTkuMi0xNS42LTM0LjgtMzQuOC0zNC44LTguNSAwLTE2LjcgMy4xLTIzLjEgOC44TDk2IDE2MCA0OCAxNjBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTZjMCAyNi41IDIxLjUgNDggNDggNDh6TTQ0MS4xIDEwN2MtMTAuMy04LjQtMjUuNC02LjgtMzMuOCAzLjVzLTYuOCAyNS40IDMuNSAzMy44QzQ0My4zIDE3MC43IDQ2NCAyMTAuOSA0NjQgMjU2cy0yMC43IDg1LjMtNTMuMiAxMTEuOGMtMTAuMyA4LjQtMTEuOCAyMy41LTMuNSAzMy44czIzLjUgMTEuOCAzMy44IDMuNWM0My4yLTM1LjIgNzAuOS04OC45IDcwLjktMTQ5cy0yNy43LTExMy44LTcwLjktMTQ5em0tNjAuNSA3NC41Yy0xMC4zLTguNC0yNS40LTYuOC0zMy44IDMuNXMtNi44IDI1LjQgMy41IDMzLjhDMzYxLjEgMjI3LjYgMzY4IDI0MSAzNjggMjU2cy02LjkgMjguNC0xNy43IDM3LjNjLTEwLjMgOC40LTExLjggMjMuNS0zLjUgMzMuOHMyMy41IDExLjggMzMuOCAzLjVDNDAyLjEgMzEyLjkgNDE2IDI4Ni4xIDQxNiAyNTZzLTEzLjktNTYuOS0zNS41LTc0LjV6Il19LF9KdD1JOWUsVEp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVsZXZhdG9yIixpY29uOls1MTIsNTEyLFtdLCJlMTZkIiwiTTI5Mi43LTQuN2w2NCA2NGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw2NC02NGM0LjYtNC42IDUuOS0xMS41IDMuNS0xNy40UzQzOC41LTMyIDQzMi0zMkwzMDQtMzJjLTYuNSAwLTEyLjMgMy45LTE0LjggOS45cy0xLjEgMTIuOSAzLjUgMTcuNHptLTE2MC0yMi42bC02NCA2NGMtNC42IDQuNi01LjkgMTEuNS0zLjUgMTcuNFM3My41IDY0IDgwIDY0bDEyOCAwYzYuNSAwIDEyLjMtMy45IDE0LjgtOS45czEuMS0xMi45LTMuNS0xNy40bC02NC02NGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDB6TTY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMTI4em05NiA5NmE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6TTgwIDQwMGMwLTI2LjUgMjEuNS00OCA0OC00OGw2NCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTZ6bTE5MiAwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDY0IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNnptMzItMTI4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6Il19LExKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWciLGljb246WzUxMiw1MTIsWzEyNzk5MV0sImYwMmIiLCJNMzIuNSA5NmwwIDE0OS41YzAgMTcgNi43IDMzLjMgMTguNyA0NS4zbDE5MiAxOTJjMjUgMjUgNjUuNSAyNSA5MC41IDBMNDgzLjIgMzMzLjNjMjUtMjUgMjUtNjUuNSAwLTkwLjVsLTE5Mi0xOTJDMjc5LjIgMzguNyAyNjMgMzIgMjQ2IDMyTDk2LjUgMzJjLTM1LjMgMC02NCAyOC43LTY0IDY0em0xMTIgMTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSwkSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1jaXJjbGUtbWludXMiLGljb246WzU3Niw1MTIsW10sImU0ZWQiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODAgMGMtMjIuNy0zMS41LTM2LTcwLjItMzYtMTEyIDAtMTAwLjYgNzcuNC0xODMuMiAxNzYtMTkxLjNsMC0zOC4xYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI5MC43IDE4LjdDMjc4LjcgNi43IDI2Mi41IDAgMjQ1LjUgMEw5NiAwek0zNTcuNSAxNzZMMjY0IDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjQwIDU4LjUgMzU3LjUgMTc2ek01NzYgNDAwYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS02NCAwYzAgOC44LTcuMiAxNi0xNiAxNmwtMTI4IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTI4IDBjOC44IDAgMTYgNy4yIDE2IDE2eiJdfSxOOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG93bi1sb25nIixpY29uOlszMjAsNTEyLFsibG9uZy1hcnJvdy1hbHQtZG93biJdLCJmMzA5IiwiTTEzNy40IDUzNC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjhjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTMzAwLjkgMzUyIDI4OCAzNTJsLTY0IDAgMC0zMzZjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTMyIDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMzM2LTY0IDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhTLjIgMzk3LjUgOS40IDQwNi42bDEyOCAxMjh6Il19LERKdD1OOWUsQUp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbXBhY3QtZGlzYyIsaWNvbjpbNTEyLDUxMixbMTI4MTkxLDEyODE5MiwxMjg0NDBdLCJmNTFmIiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTI1NiAzMmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6bS05Ni0zMmE5NiA5NiAwIDEgMCAxOTIgMCA5NiA5NiAwIDEgMCAtMTkyIDB6bS01Ni0xNmMwLTMyLjQgMTYuMy02Ni42IDQyLjgtOTMuMlMyMDcuNiAxMDQgMjQwIDEwNGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGMtNDcuOSAwLTkzLjcgMjMuNS0xMjcuMSA1Ni45UzU2IDE5Mi4xIDU2IDI0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0eiJdfSxFSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3VpdGNhc2Utcm9sbGluZyIsaWNvbjpbMzg0LDUxMixbXSwiZjVjMSIsIk0xNDQgMjRjMC00LjQgMy42LTggOC04bDgwIDBjNC40IDAgOCAzLjYgOCA4bDAgNzItOTYgMCAwLTcyek0zMjAgOTZsLTMyIDAgMC03MmMwLTMwLjktMjUuMS01Ni01Ni01NmwtODAgMEMxMjEuMS0zMiA5Ni02LjkgOTYgMjRsMCA3Mi0zMiAwQzI4LjcgOTYgMCAxMjQuNyAwIDE2MEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NCAwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDEyOCAwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yODhjMC0zNS4zLTI4LjctNjQtNjQtNjR6TTEyMCAyMDhsMTQ0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0wIDEyOGwxNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LFI5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rLXF1cmFuIixpY29uOls0NDgsNTEyLFsicXVyYW4iXSwiZjY4NyIsIk02NCA1MTJsMjg4IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTMyMGMwLTUzLTQzLTk2LTk2LTk2TDQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4TDAgMzM2YzAgMjAuOSAxMy40IDM4LjcgMzIgNDUuM0wzMiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMHpNMzUyIDM4NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjU2IDAgMC02NCAyNTYgMHpNMjczLjEgMTQ0LjRjMi41LTYuMSAxMS4yLTYuMSAxMy43IDBsMTAuMyAyNC44IDI2LjggMi4xYzYuNiAuNSA5LjIgOC43IDQuMiAxM0wzMDcuOCAyMDEuOSAzMTQgMjI4YzEuNSA2LjQtNS41IDExLjUtMTEuMSA4LjFsLTIyLjktMTQtMjIuOSAxNGMtNS42IDMuNC0xMi42LTEuNi0xMS4xLTguMWw2LjItMjYuMS0yMC40LTE3LjVjLTUtNC4zLTIuMy0xMi41IDQuMi0xM2wyNi44LTIuMSAxMC4zLTI0Ljh6TTEwMCAxOTJjMC02OC41IDU1LjUtMTI0IDEyNC0xMjQgMjMuOCAwIDQ2LjEgNi43IDY1IDE4LjQgNC44IDIuOSA2LjkgOC44IDUgMTQuMXMtNy4xIDguNi0xMi43IDhjLTMuMS0uMy02LjItLjUtOS40LS41LTQ2LjQgMC04NCAzNy42LTg0IDg0czM3LjYgODQgODQgODRjMy4yIDAgNi4zLS4yIDkuNC0uNSA1LjYtLjYgMTAuOCAyLjcgMTIuNyA4cy0uMyAxMS4yLTUgMTQuMWMtMTguOSAxMS43LTQxLjIgMTguNC02NSAxOC40LTY4LjUgMC0xMjQtNTUuNS0xMjQtMTI0eiJdfSxQSnQ9UjllLElKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaG9uZS1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZjNkZCIsIk01MzUtMjQuOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlMNDEgNTM3LjFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMMTQxLjUgMzY4LjZDODkuMiAzMTAuNSA1MS42IDIzOC44IDM0LjggMTU5LjQgMTguNyA4My4xIDczLjkgMjAuNiAxMzguNSAyLjlsNS41LTEuNWMxOS43LTUuNCA0MC4zIDQuNyA0OC4xIDIzLjVsNDAuNSA5Ny4zYzYuOSAxNi41IDIuMSAzNS42LTExLjggNDdsLTQ0LjEgMzYuMWMxMi45IDI4LjUgMjkuNiA1NC44IDQ5LjUgNzguNUw1MzUtMjQuOXptLTE1MC40IDUzNGMtNjMtMTMuNC0xMjEuMy0zOS44LTE3MS43LTc2LjNMMjk3LjggMzQ4YzEyLjIgOC4yIDI1IDE1LjYgMzguMyAyMi4yTDM3NC43IDMyM2MxMS4zLTEzLjkgMzAuNC0xOC42IDQ3LTExLjhMNTE5IDM1MS44YzE4LjggNy44IDI4LjkgMjguNCAyMy41IDQ4LjFsLTEuNSA1LjVjLTE3LjYgNjQuNi04MC4yIDExOS44LTE1Ni40IDEwMy43eiJdfSxOSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9hZC1jaXJjbGUtY2hlY2siLGljb246WzY0MCw1MTIsW10sImU1NjQiLCJNMjg4IDMybC03Ni4zIDBjLTI5LjQgMC01NS4xIDIwLjEtNjIuMSA0OC42TDY1LjQgNDIwLjVDNTcuOSA0NTAuNyA4MC44IDQ4MCAxMTIgNDgwbDIwOS40IDBjLTExLjItMjQuNC0xNy40LTUxLjQtMTcuNC04MCAwLTI4LjYgNi4yLTU1LjcgMTcuNC04MC0uNSAwLTEgMC0xLjUgMC0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA0OWMzNS4yLTM5LjkgODYuNy02NSAxNDQtNjUgOSAwIDE3LjggLjYgMjYuNSAxLjhsLTMyLTEyOS4yQzQ4My40IDUyLjEgNDU3LjggMzIgNDI4LjMgMzJsLTc2LjQgMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6TTY0MCA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTg2LjYtNjAuOWM3LjEgNS4yIDguNyAxNS4yIDMuNSAyMi4zbC02NCA4OGMtMi44IDMuOC03IDYuMi0xMS43IDYuNXMtOS4zLTEuMy0xMi42LTQuNmwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwyNi44IDI2LjggNTMtNzIuOWM1LjItNy4xIDE1LjItOC43IDIyLjQtMy41eiJdfSxSSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hvcC1sb2NrIixpY29uOls2NDAsNTEyLFtdLCJlNGE1IiwiTTIxLjUgMTgxLjFMNzguMyA2Ny40Qzg5LjIgNDUuNyAxMTEuMyAzMiAxMzUuNiAzMmwzMDQuOSAwYzI0LjIgMCA0Ni40IDEzLjcgNTcuMiAzNS40bDU1LjYgMTExLjFjLTguMi0xLjYtMTYuNi0yLjUtMjUuMi0yLjUtNTMuNyAwLTk5LjcgMzMuMS0xMTguNyA4MGwtNTcuMyAwIDAgMTc2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xOTIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNzYuMWMtMjYuOC0xLjktNDgtMjQuMy00OC01MS42IDAtOCAxLjktMTYgNS41LTIzLjJ6TTEyOCAyNTZsMCAxMTJjMCA4LjggNy4yIDE2IDE2IDE2bDEyOCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTExMi0xNjAgMHptNDMyIDQ4LjFjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45ek00MTYgNDAwYzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2eiJdfSxPOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaW1hZ2UtcG9ydHJhaXQiLGljb246WzM4NCw1MTIsWyJwb3J0cmFpdCJdLCJmM2UwIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHpNODAgMzY4YzAgOC44IDcuMiAxNiAxNiAxNmwxOTIgMGM4LjggMCAxNi03LjIgMTYtMTYgMC00NC4yLTM1LjgtODAtODAtODBsLTY0IDBjLTQ0LjIgMC04MCAzNS44LTgwIDgwek0xOTIgMjQ4YTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyeiJdfSxPSnQ9TzllLEZKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmlkZ2UtbG9jayIsaWNvbjpbNTc2LDUxMixbXSwiZTRjYyIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDQ0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC04IDAgMCAzMi4yYzEzLjggLjYgMjcuMiAyLjggNDAgNi40bDAgNTAuN2MtMTQuOC02LTMxLTkuMy00OC05LjMtNzAuNyAwLTEyOCA1Ny4zLTEyOCAxMjhsMCAyNC40Yy0uNCAuMy0uNyAuNi0xLjEgMS0xNy4zLTI1LTQ2LjItNDEuMy03OC45LTQxLjMtNTMgMC05NiA0My05NiA5NmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk0YzAtMzguOC0yNi40LTcyLjYtNjQtODJsMC0xMTIgNDAgMCAwLTY0LTggMEMxNC4zIDk2IDAgODEuNyAwIDY0em00MjQgNjguNmwwLTM2LjYtODAgMCAwIDY0IDE4LjggMGMxOC4yLTEyLjggMzguOS0yMi4yIDYxLjItMjcuNHpNMjE2IDk2bDAgNjQgODAgMCAwLTY0LTgwIDB6bS00OCAwbC04MCAwIDAgNjQgODAgMCAwLTY0ek00OTYgMzA0LjFjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45ek0zNTIgNDAwYzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2eiJdfSxCSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFtbWVyIixpY29uOls2NDAsNTEyLFsxMjgyOTZdLCJmNmUzIiwiTTI0Ni45IDE4LjNMMjcxIDMuOGMyMS42LTEzIDQ2LjMtMTkuOCA3MS41LTE5LjggMzYuOCAwIDcyLjIgMTQuNiA5OC4yIDQwLjdsNjMuOSA2My45YzE1IDE1IDIzLjQgMzUuNCAyMy40IDU2LjZsMCAzMC45IDE5LjcgMTkuNyAwIDBjMTUuNi0xNS42IDQwLjktMTUuNiA1Ni42IDBzMTUuNiA0MC45IDAgNTYuNmwtNjQgNjRjLTE1LjYgMTUuNi00MC45IDE1LjYtNTYuNiAwcy0xNS42LTQwLjkgMC01Ni42TDQ2NCAyNDAgNDMzLjEgMjQwYy0yMS4yIDAtNDEuNi04LjQtNTYuNi0yMy40bC00OS4xLTQ5LjFjLTE1LTE1LTIzLjQtMzUuNC0yMy40LTU2LjZsMC0xMi43YzAtMTEuMi01LjktMjEuNy0xNS41LTI3LjRsLTQxLjYtMjVjLTEwLjQtNi4yLTEwLjQtMjEuMiAwLTI3LjR6TTUwLjcgNDAyLjdsMjIyLjEtMjIyLjEgOTAuNSA5MC41LTIyMi4xIDIyMi4xYy0yNSAyNS02NS41IDI1LTkwLjUgMHMtMjUtNjUuNSAwLTkwLjV6Il19LEY5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC0xLTkiLGljb246WzUxMiw1MTIsWyJzb3J0LW51bWVyaWMtdXAiXSwiZjE2MyIsIk0xNTAuNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMOTYgMTQxLjMgOTYgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMDYuNyA0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZ6TTQxOC43IDM4Yy04LjMtNi0xOS4xLTcuNy0yOC44LTQuNGwtNDggMTZjLTE2LjggNS42LTI1LjggMjMuNy0yMC4yIDQwLjVzMjMuNyAyNS44IDQwLjUgMjAuMmw1LjktMiAwIDUxLjYtMTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNiAwIDAtOTZjMC0xMC4zLTQuOS0xOS45LTEzLjMtMjZ6TTM2NS4xIDQzMC42Yy05LjYgMTQuOC01LjQgMzQuNiA5LjQgNDQuM3MzNC42IDUuNCA0NC4zLTkuNGw0Mi4xLTY0LjljMTIuNC0xOS4yIDE5LjEtNDEuNiAxOS4xLTY0LjUgMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBjMCAzNi4xIDIzLjkgNjYuNyA1Ni44IDc2LjZsLTExLjcgMTh6TTM3NiAzMzZhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHoiXX0sSEp0PUY5ZSxxSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlc3Mta25pZ2h0IixpY29uOlszODQsNTEyLFs5ODIyXSwiZjQ0MSIsIk0xOTItMzJjMTA2IDAgMTkyIDg2IDE5MiAxOTJsMCAxMzMuNWMwIDE3LTYuOCAzMy4yLTE4LjcgNDUuMkwzMjAgMzg0IDM3MC44IDQzNC43YzguNSA4LjUgMTMuMiAyMCAxMy4yIDMyIDAgMjUtMjAuMyA0NS4yLTQ1LjIgNDUuM0w0NS4zIDUxMmMtMjUgMC00NS4yLTIwLjMtNDUuMi00NS4zIDAtMTIgNC44LTIzLjUgMTMuMi0zMkw2NCAzODQgNjQgMzQ5LjRjMC0xOC43IDguMi0zNi40IDIyLjMtNDguNmw4OS43LTc2LjgtNDggMC0xMi4xIDEyLjFjLTEyLjcgMTIuNy0zMCAxOS45LTQ4IDE5LjktMzcuNSAwLTY3LjktMzAuNC02Ny45LTY3LjlsMC04LjdjMC0yMi44IDguMi00NC45IDIzLjEtNjIuM0w5NiAzMiA5NiAwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDB6TTE2MCA3MmEyNCAyNCAwIDEgMCAwIDQ4IDI0IDI0IDAgMSAwIDAtNDh6Il19LFZKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1mbG9vZC13YXRlci1jaXJjbGUtYXJyb3ctcmlnaHQiLGljb246WzY0MCw1MTIsW10sImU1MGYiLCJNMjg4LjUgMTEyYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6TTE0MS4yIDQ0LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBsNTYgNTZjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTU2IDU2Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDI4LjctMjguNy04OS40IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsODkuNCAwLTI4LjctMjguN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZ6TTMzNi41IDExMmMwIDcxLjEtMzguNiAxMzMuMS05NiAxNjYuM2wwIDEyLjhjMjIuMSA0LjUgNDMuNCAxMy45IDYyLjQgMjguMiAyMi4xIDE2LjYgMjkuMSAxNi42IDUxLjIgMCAyNy41LTIwLjcgNTkuOS0zMS4yIDkyLjQtMzEuNCAzMy4xLS4yIDY2LjMgMTAuMiA5NC40IDMxLjQgNi45IDUuMiAxMi44IDkgMTggMTEuNyAuNiAuMyAxLjIgLjYgMS44IDEgNC4yIDIuMyA4LjUgNC42IDEyLjYgMS41IDYtNC41IDEyLjYtOCAxOS4zLTEwLjRsMC0xMTUuMiA0LjUgMGMxNS4yIDAgMjcuNS0xMi4zIDI3LjUtMjcuNSAwLTcuOS0zLjQtMTUuNS05LjQtMjAuN0w0NDQuNSAxMC41QzQzNi44IDMuNyA0MjYuOCAwIDQxNi41IDBzLTIwLjMgMy43LTI4IDEwLjVMMzI5LjkgNjEuOGM0LjMgMTYgNi42IDMyLjggNi42IDUwLjJ6bTMyIDg4YzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00OHpNNDc1LjEgNDEyLjFjMTkgMTQuNCA0MS45IDI4LjIgNjcuMiAzMy4zIDI2LjUgNS40IDU0LjMgLjggODAuNy0xOS4xIDEwLjYtOCAxMi43LTIzIDQuNy0zMy42cy0yMy0xMi43LTMzLjYtNC43Yy0xNC45IDExLjItMjguNiAxMy4xLTQyLjMgMTAuMy0xNC45LTMtMzAuOS0xMS45LTQ3LjgtMjQuNi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zUzI5MCAzOTEuOCAyNjYgMzczLjdjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yMS42IDE2LjMtNDEuMyAyNS44LTU4LjkgMjUuNy05LjYtLjEtMTkuOS0zLTMxLjItMTEuNS0xMC42LTgtMjUuNi01LjktMzMuNiA0LjdzLTUuOSAyNS42IDQuNyAzMy42YzE5LjEgMTQuNCAzOS40IDIxIDU5LjggMjEuMSAzMy45IC4yIDY0LjMtMTcuNCA4OC4xLTM1LjMgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOWMyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMHptLTcxLjIgOTZjMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMTkgMTQuNCA0MS45IDI4LjIgNjcuMiAzMy4zIDI2LjUgNS40IDU0LjMgLjggODAuNy0xOS4xIDEwLjYtOCAxMi43LTIzIDQuNy0zMy42cy0yMy0xMi43LTMzLjYtNC43Yy0xNC45IDExLjItMjguNiAxMy4xLTQyLjMgMTAuMy0xNC45LTMtMzAuOS0xMS45LTQ3LjgtMjQuNi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zUzI5MCA0ODcuOCAyNjYgNDY5LjdjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yMS42IDE2LjMtNDEuMyAyNS44LTU4LjkgMjUuNy05LjYtLjEtMTkuOS0zLTMxLjItMTEuNS0xMC42LTgtMjUuNi01LjktMzMuNiA0LjdzLTUuOSAyNS42IDQuNyAzMy42YzE5LjEgMTQuNCAzOS40IDIxIDU5LjggMjEuMSAzMy45IC4yIDY0LjMtMTcuNCA4OC4xLTM1LjMgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOXoiXX0sYnY9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAtcmlnaHQtZnJvbS1zcXVhcmUiLGljb246WzUxMiw1MTIsWyJleHRlcm5hbC1saW5rIl0sImYwOGUiLCJNMzIwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsODIuNyAwLTIwMS40IDIwMS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDQ0OCAxMDkuMyA0NDggMTkyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC0xNy43LTE0LjMtMzItMzItMzJMMzIwIDB6TTgwIDk2QzM1LjggOTYgMCAxMzEuOCAwIDE3NkwwIDQzMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwyNTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTgwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2TDgwIDQ0OGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjU2YzAtOC44IDcuMi0xNiAxNi0xNmw4MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDgwIDk2eiJdfSxqSnQ9YnYsVUp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LWRvd24tdXAtYWNyb3NzLWxpbmUiLGljb246WzUxMiw1MTIsW10sImU0YWYiLCJNMjY1LjQgMTA1LjRsOTYtOTZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTQxLjQtNDEuNCAwIDExNC43IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyMCAwIDAgMTE0LjcgNDEuNC00MS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNsLTk2IDk2Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtOTYtOTZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMOTYgNDAyLjcgOTYgMjg4IDMyIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMjAgMCAwLTExNC43LTQxLjQgNDEuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjN6TTQxNiAzMzZsMCAxNDRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNDQgNjQgMHpNOTYgMTc2TDk2IDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxNDQtNjQgMHoiXX0sQjllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1iZWFtIixpY29uOls1MTIsNTEyLFsxMjg1MTYsImdyaW4tYmVhbSJdLCJmNTgyIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0zODYuNyAzMDguOWMxMS45LTMuNyAyMy45IDYuMyAxOS42IDE4LjEtMjIuNCA2MS4zLTgxLjMgMTA1LjEtMTUwLjMgMTA1LjFTMTI4LjEgMzg4LjIgMTA1LjcgMzI2LjljLTQuMy0xMS44IDcuNy0yMS44IDE5LjYtMTguMSAzOS4yIDEyLjIgODMuNyAxOS4xIDEzMC43IDE5LjFzOTEuNS02LjkgMTMwLjctMTkuMXpNMTc2IDE4MGMtMTUuNSAwLTI4IDEyLjUtMjggMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHptMTMyIDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjhzLTI4IDEyLjUtMjggMjh6Il19LFdKdD1COWUsSDllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlY3RhbmdsZS1hZCIsaWNvbjpbNTEyLDUxMixbImFkIl0sImY2NDEiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6TTQxNiAxODRsMCAxNDRjMCAxMy4zLTEwLjcgMjQtMjQgMjQtNy4xIDAtMTMuNS0zLjEtMTcuOS04LTEwLjIgNS4xLTIxLjggOC0zNC4xIDgtNDIgMC03Ni0zNC03Ni03NnMzNC03NiA3Ni03NmM5LjkgMCAxOS4zIDEuOSAyOCA1LjNsMC0yMS4zYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6bS00OCA5MmEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwek0xNjAgMjA4Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMiA0OCAwIDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwem0zMiA5NmwtNDggMCAwIDI0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTA0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDE2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMDRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yNHoiXX0sR0p0PUg5ZSxxOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9vay10YW5ha2giLGljb246WzQ0OCw1MTIsWyJ0YW5ha2giXSwiZjgyNyIsIk0zNTIgNTEyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwwLTY2LjdDMTMuNCAzNzQuNyAwIDM1Ni45IDAgMzM2TDAgNDhDMCAyMS41IDIxLjUgMCA0OCAwTDM1MiAwYzUzIDAgOTYgNDMgOTYgOTZsMCAzMjBjMCA1My00MyA5Ni05NiA5NnptMzItOTZjMC0xNy43LTE0LjMtMzItMzItMzJsLTI1NiAwIDAgNjQgMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6TTExMy45IDIyOWMtMS4yIDItMS45IDQuMi0xLjkgNi42IDAgNi45IDUuNiAxMi41IDEyLjUgMTIuNWw1Ni45IDAgMzAuNSA0OS4yYzIuNiA0LjIgNy4yIDYuOCAxMi4yIDYuOHM5LjYtMi42IDEyLjItNi44bDMwLjUtNDkuMiA1Ni45IDBjNi45IDAgMTIuNS01LjYgMTIuNS0xMi41IDAtMi4zLS42LTQuNi0xLjktNi42bC0yNy44LTQ1IDI3LjgtNDVjMS4yLTIgMS45LTQuMiAxLjktNi42IDAtNi45LTUuNi0xMi41LTEyLjUtMTIuNWwtNTYuOSAwLTMwLjUtNDkuMkMyMzMuNiA2Ni42IDIyOSA2NCAyMjQgNjRzLTkuNiAyLjYtMTIuMiA2LjhsLTMwLjUgNDkuMi01Ni45IDBjLTYuOSAwLTEyLjUgNS42LTEyLjUgMTIuNSAwIDIuMyAuNiA0LjYgMS45IDYuNmwyNy44IDQ1LTI3LjggNDV6Il19LFlKdD1xOWUsVjllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdC10dWItcGVyc29uIixpY29uOls0NDgsNTEyLFsiaG90LXR1YiJdLCJmNTkzIiwiTTI0MCA0MGMwIDEzLjYgNS44IDI2LjUgMTUuOCAzNS42bDI2LjUgMjMuOGMyNCAyMS42IDM3LjcgNTIuMyAzNy43IDg0LjYgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xOC43LTcuOS0zNi40LTIxLjgtNDguOWwtMjYuNS0yMy44QzIwMy41IDkzLjEgMTkyIDY3LjIgMTkyIDQwIDE5MiAyNi43IDIwMi43IDE2IDIxNiAxNnMyNCAxMC43IDI0IDI0ek0wIDMzNmwwLTgwYzAtMzUuMyAyOC43LTY0IDY0LTY0bDE5LjcgMGM4LjEgMCAxNi4yIDEuNiAyMy44IDQuNmwxMzcuMSA1NC44YzcuNiAzIDE1LjYgNC42IDIzLjggNC42TDM4NCAyNTZjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMjhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDMzNnptOTYtMTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTgwYzAtMTMuMy0xMC43LTI0LTI0LTI0em0xNTIgMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtODB6bTEwNC0yNGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtODBjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTMyOCAxNmMxMy4zIDAgMjQgMTAuNyAyNCAyNCAwIDEzLjYgNS44IDI2LjUgMTUuOCAzNS42bDI2LjUgMjMuOGMyNCAyMS42IDM3LjcgNTIuMyAzNy43IDg0LjYgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xOC43LTcuOS0zNi40LTIxLjgtNDguOWwtMjYuNS0yMy44QzMxNS41IDkzLjEgMzA0IDY3LjIgMzA0IDQwIDMwNCAyNi43IDMxNC43IDE2IDMyOCAxNnpNNjQgNDBhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6Il19LEtKdD1WOWUsWkp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtaGFsZi1kYXNoZWQiLGljb246WzM4NCw1MTIsW10sImU2OTgiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRsMCAyNTYgMzg0IDAgMC0xNDkuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNTguNyAxOC43QzI0Ni43IDYuNyAyMzAuNSAwIDIxMy41IDBMNjQgMHpNMzI1LjUgMTc2TDIzMiAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDIwOCA1OC41IDMyNS41IDE3NnpNMCAzNTJsMCA2NCA2NCAwIDAtNjQtNjQgMHpNNjQgNTEybDAtNjQtNjQgMGMwIDM1LjMgMjguNyA2NCA2NCA2NHptMzIgMGw4MCAwIDAtNjQtODAgMCAwIDY0em0xMTIgMGw4MCAwIDAtNjQtODAgMCAwIDY0em0xMTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwtNjQgMCAwIDY0em02NC0xNjBsLTY0IDAgMCA2NCA2NCAwIDAtNjR6Il19LGo5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJvdXRkZW50IixpY29uOls0NDgsNTEyLFsiZGVkZW50Il0sImYwM2IiLCJNLjQgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTM4NCAwQzE0LjggOTYgLjQgODEuNyAuNCA2NHptMTkyIDEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyem0zMiA5NmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6TS40IDQ0OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzg0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0uNyAyNjguNmMtOC4yLTYuNC04LjItMTguOSAwLTI1LjNsMTAxLjktNzkuM2MxMC41LTguMiAyNS44LS43IDI1LjggMTIuNmwwIDE1OC42YzAgMTMuMy0xNS4zIDIwLjgtMjUuOCAxMi42TC43IDI2OC42eiJdfSxYSnQ9ajllLFFKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLXBlYWNlIixpY29uOls0NDgsNTEyLFs5OTk2XSwiZjI1YiIsIk0xOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDIwOC02NCAwIDAtMjA4YzAtMTcuNyAxNC4zLTMyIDMyLTMyem05NiAxNjBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyem02NCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NHpNNjEuMyA1MS4yTDE0My45IDI0MCA3NC4xIDI0MCAyLjcgNzYuOEMtNC40IDYwLjYgMyA0MS44IDE5LjIgMzQuN1M1NC4yIDM1IDYxLjMgNTEuMnptMjcgMjIxLjNsLS4yLS41IDk1LjkgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MHMtMTcuOSA0MC00MCA0MGwtNTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw1NiAwYzM5LjggMCA3Mi0zMi4yIDcyLTcybDAtLjZjOS40IDUuNCAyMC4zIDguNiAzMiA4LjYgMTMuMiAwIDI1LjQtNCAzNS42LTEwLjggOC43IDI0LjkgMzIuNSA0Mi44IDYwLjQgNDIuOCAxMS43IDAgMjIuNi0zLjEgMzItOC42bDAgOC42YzAgODguNC03MS42IDE2MC0xNjAgMTYwbC02MS43IDBjLTQyLjQgMC04My4xLTE2LjktMTEzLjEtNDYuOUw2OS41IDQ1My41QzQ1LjUgNDI5LjUgMzIgMzk2LjkgMzIgMzYzbDAtMjdjMC0zMi43IDI0LjYtNTkuNyA1Ni4zLTYzLjV6Il19LEpKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFkLXNpZGUtdmlydXMiLGljb246WzUxMiw1MTIsW10sImUwNjQiLCJNMzI5LjcgNDQ4Yy01LjEgMC05LjcgMy43LTkuNyA4LjhsMCA3LjJjMCAyNi41LTIxLjUgNDgtNDggNDhsLTE2MCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTYzLjZjMC0xMi42LTUuMS0yNC41LTEzLjEtMzQuMi0zMS44LTM4LjctNTAuOS04OC4yLTUwLjktMTQyLjIgMC0xMjMuNyAxMDAuMy0yMjQgMjI0LTIyNCAxMTIuNyAwIDIwNiA4My4zIDIyMS43IDE5MS43IC40IDMgMS43IDUuOSAzLjYgOC4zbDM1LjggNDIuOWM3IDguNCAxMC45IDE5LjEgMTAuOSAzMC4xIDAgMjUuOS0yMSA0Ny00NyA0N2wtMSAwYy04LjggMC0xNiA3LjItMTYgMTZsMCA0OGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMzguMyAwek0yMjQgNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0IDAgMjIuOS0yNy43IDM0LjQtNDMuOSAxOC4yLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjljMTYuMiAxNi4yIDQuNyA0My45LTE4LjIgNDMuOS0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0YzIyLjkgMCAzNC40IDI3LjcgMTguMiA0My45LTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGMxNi4yLTE2LjIgNDMuOS00LjcgNDMuOSAxOC4yIDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0yMi45IDI3LjctMzQuNCA0My45LTE4LjIgOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45Yy0xNi4yLTE2LjItNC43LTQzLjkgMTguMi00My45IDEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0Yy0yMi45IDAtMzQuNC0yNy43LTE4LjItNDMuOSA5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwYy0xNi4yIDE2LjItNDMuOSA0LjctNDMuOS0xOC4yIDAtMTMuMy0xMC43LTI0LTI0LTI0em0tMzIgODhhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em00MCA4OGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxlZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tcGFzcyIsaWNvbjpbNTEyLDUxMixbMTI5NTE3XSwiZjE0ZSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnptNTAuNy0xODYuOUwxNjIuNCAzODAuNmMtMTkuNCA3LjUtMzguNS0xMS42LTMxLTMxbDU1LjUtMTQ0LjNjMy4zLTguNSA5LjktMTUuMSAxOC40LTE4LjRsMTQ0LjMtNTUuNWMxOS40LTcuNSAzOC41IDExLjYgMzEgMzFMMzI1LjEgMzA2LjdjLTMuMiA4LjUtOS45IDE1LjEtMTguNCAxOC40ek0yODggMjU2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6Il19LHRlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW4tbmliIixpY29uOls1MTIsNTEyLFsxMDAwMV0sImY1YWQiLCJNMzY4LjUgMTguM2wtNTAuMSA1MC4xIDEyNS4zIDEyNS4zIDUwLjEtNTAuMWMyMS45LTIxLjkgMjEuOS01Ny4zIDAtNzkuMkw0NDcuNyAxOC4zYy0yMS45LTIxLjktNTcuMy0yMS45LTc5LjIgMHpNMjc5LjMgOTcuMmwtLjUgLjEtMTQ0LjEgNDMuMmMtMTkuOSA2LTM1LjcgMjEuMi00Mi4zIDQxTDMuOCA0NDUuOGMtMi45IDguNy0xLjkgMTguMiAyLjUgMjZMMTYxLjcgMzE2LjRjLTEuMS00LTEuNi04LjEtMS42LTEyLjQgMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OC0yMS41IDQ4LTQ4IDQ4Yy00LjMgMC04LjUtLjYtMTIuNC0xLjZMNDAuMyA1MDUuN2M3LjggNC40IDE3LjIgNS40IDI2IDIuNWwyNjQuMy04OC42YzE5LjctNi42IDM1LTIyLjQgNDEtNDIuM2w0My4yLTE0NC4xIC4xLS41LTEzNS41LTEzNS41eiJdfSxhZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVudC1hcnJvd3MtZG93biIsaWNvbjpbNTEyLDUxMixbXSwiZTU4MSIsIk0xODUuNSAxMjFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMzEgMzEgMC0xMDIuMWMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDEwMi4xLTMxLTMxYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDcyIDcyYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDcyLTcyem0yNDggNzJsNzItNzJjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMzEgMzEgMC0xMDIuMWMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDEwMi4xLTMxLTMxYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDcyIDcyYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwek02MC4zIDI5Mi42TDM3LjEgNDc2Yy0yLjQgMTkuMSAxMi41IDM2IDMxLjcgMzZsMTU0LjUgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTExNy40YzAtNS45IDQuNy0xMC42IDEwLjYtMTAuNiA0IDAgNy43IDIuMyA5LjUgNS45bDY4LjIgMTM2LjVjNS40IDEwLjggMTYuNSAxNy43IDI4LjYgMTcuN2w3MS45IDBjMTkuMyAwIDM0LjItMTYuOSAzMS43LTM2TDQ1Mi43IDI5Mi43Yy0xLjItOS43LTYuOS0xOC40LTE1LjMtMjMuNEwyNzEuOSAxNjkuOWMtMTAuMi02LjEtMjIuOS02LjEtMzMuMSAuMUw3NS40IDI2OS4zYy04LjMgNS4xLTEzLjkgMTMuNy0xNS4xIDIzLjN6Il19LFU5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb3J3YXJkLWZhc3QiLGljb246WzUxMiw1MTIsWzkxOTcsImZhc3QtZm9yd2FyZCJdLCJmMDUwIiwiTTE5LjggNDc3LjZjMTIgNSAyNS43IDIuMiAzNC45LTYuOUwyMjQgMzAxLjMgMjI0IDQ0OGMwIDEyLjkgNy44IDI0LjYgMTkuOCAyOS42czI1LjcgMi4yIDM0LjktNi45TDQ0OCAzMDEuMyA0NDggNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zODRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxNDYuNy0xNjkuNC0xNjkuNGMtOS4yLTkuMi0yMi45LTExLjktMzQuOS02LjlTMjI0IDUxLjEgMjI0IDY0TDIyNCAyMTAuNyA1NC42IDQxLjRjLTkuMi05LjItMjIuOS0xMS45LTM0LjktNi45UzAgNTEuMSAwIDY0TDAgNDQ4YzAgMTIuOSA3LjggMjQuNiAxOS44IDI5LjZ6Il19LHJlYT1VOWUsc2VhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNyb3AiLGljb246WzUxMiw1MTIsW10sImYxMjUiLCJNNDQ4IDEwOS4zbDU0LjYtNTQuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEw0MDIuNyA2NCAxNzYgNjQgMTc2IDEyOCAzMzguNyAxMjggMTI4IDMzOC43IDEyOCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMlM2NCAxNC4zIDY0IDMybDAgMzItMzIgMEMxNC4zIDY0IDAgNzguMyAwIDk2czE0LjMgMzIgMzIgMzJsMzIgMCAwIDI1NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMDggMCAwLTY0LTE2Mi43IDAgMjEwLjctMjEwLjcgMCAzMDYuN2MwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzIgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTI3NC43eiJdfSxXOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2hpc2tleS1nbGFzcyIsaWNvbjpbNDQ4LDUxMixbMTI5MzQ3LCJnbGFzcy13aGlza2V5Il0sImY3YTAiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NEwwIDM1MmMwIDcwLjcgNTcuMyAxMjggMTI4IDEyOGwxOTIgMGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGwwLTI4OGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiAzMnpNNjQgMjU2bDAtMTYwIDMyMCAwIDAgMTYwLTMyMCAweiJdfSxpZWE9VzllLG9lYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUiLGljb246WzQ0OCw1MTIsWzk2MzIsOTcyMyw5NzI0LDYxNTkwXSwiZjBjOCIsIk02NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJ6Il19LEc5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4iLGljb246WzUxMiw1MTIsWzEyODUxMiwiZ3JpbiJdLCJmNTgwIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0zODYuNyAzMDguOWMxMS45LTMuNyAyMy45IDYuMyAxOS42IDE4LjEtMjIuNCA2MS4zLTgxLjMgMTA1LjEtMTUwLjMgMTA1LjFTMTI4LjEgMzg4LjIgMTA1LjcgMzI2LjljLTQuMy0xMS44IDcuNy0yMS44IDE5LjYtMTguMSAzOS4yIDEyLjIgODMuNyAxOS4xIDEzMC43IDE5LjFzOTEuNS02LjkgMTMwLjctMTkuMXpNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxuZWE9RzllLGxlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWNvbnRyYWN0IixpY29uOlszODQsNTEyLFtdLCJmNTZjIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek04OCA2NEM3NC43IDY0IDY0IDc0LjcgNjQgODhzMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDg4IDY0em0wIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDB6bTcwLjMgMTYwYy0xMS4zIDAtMjEuOSA1LjEtMjguOSAxMy45TDY5LjMgNDA5Yy04LjMgMTAuMy02LjYgMjUuNSAzLjcgMzMuN3MyNS41IDYuNiAzMy43LTMuOGw0Ny4xLTU4LjggMTUuMiA1MC43YzMgMTAuMiAxMi40IDE3LjEgMjMgMTcuMWwxMDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODYuMSAwLTE2LjEtNTMuNmMtNC43LTE1LjctMTkuMS0yNi40LTM1LjUtMjYuNHoiXX0sY2VhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFuZ2xlLXVwIixpY29uOlszODQsNTEyLFs4OTYzXSwiZjEwNiIsIk0xNjkuNCAxMzcuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGwxNjAgMTYwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDE5MiAyMDUuMyA1NC42IDM0Mi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2wxNjAtMTYweiJdfSxZOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1zbWlsZSIsaWNvbjpbNTEyLDUxMixbMTI4NTc4LCJzbWlsZSJdLCJmMTE4IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjUuNCAzMjEuOWMyMC40IDI4IDUzLjQgNDYuMSA5MC42IDQ2LjFzNzAuMi0xOC4xIDkwLjYtNDYuMWM3LjgtMTAuNyAyMi44LTEzLjEgMzMuNS01LjNzMTMuMSAyMi44IDUuMyAzMy41QzM1Ni4zIDM5MCAzMDkuMiA0MTYgMjU2IDQxNnMtMTAwLjMtMjYtMTI5LjQtNjUuOWMtNy44LTEwLjctNS40LTI1LjcgNS4zLTMzLjVzMjUuNy01LjQgMzMuNSA1LjN6TTE0NCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sZGVhPVk5ZSx1ZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWRyZXNzLWJ1cnN0IixpY29uOls2NDAsNTEyLFtdLCJlNTQ0IiwiTTIwOCA0MC4xYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHpNOCAxNDQuMWMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptOTIuNSAxNDEuNGwzMy45LTMzLjljOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEw2Ni42IDI1MS42Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDB6TTY2LjYgMi43Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWwzMy45IDMzLjljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDEwMC41IDIuN0M5MS4xLTYuNyA3Ni02LjcgNjYuNiAyLjd6TTM1MiA4MGE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnpNMjQ2LjIgMzg0bDI1LjggMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4IDMyIDAgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOCAyNS44IDBjMTAuOSAwIDE4LjYtMTAuNyAxNS4yLTIxLjFsLTQzLTEyOSA0OC4zIDY1LjFjMTAuNSAxNC4yIDMwLjYgMTcuMiA0NC44IDYuNnMxNy4yLTMwLjYgNi42LTQ0LjhsLTcwLjUtOTVDNDM0IDEzMiAzOTQuMyAxMTIgMzUyIDExMnMtODIgMjAtMTA3LjIgNTMuOWwtNzAuNSA5NWMtMTAuNSAxNC4yLTcuNiAzNC4yIDYuNiA0NC44czM0LjIgNy42IDQ0LjgtNi42bDQ4LjMtNjUuMS00MyAxMjljLTMuNSAxMC40IDQuMyAyMS4xIDE1LjIgMjEuMXoiXX0scGVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpdmlkZSIsaWNvbjpbNDQ4LDUxMixbMTAxMzUsMjQ3XSwiZjUyOSIsIk0yMjQgNDhhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6TTAgMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTE2OCA0MDhhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAweiJdfSxmZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29kZS1mb3JrIixpY29uOls0NDgsNTEyLFtdLCJlMTNiIiwiTTgwIDEwNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTgwLTI0YzAgMzIuOC0xOS43IDYxLTQ4IDczLjNsMCAyMi43YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDEyOCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjIuN2MtMjguMy0xMi4zLTQ4LTQwLjUtNDgtNzMuMyAwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMzIuOC0xOS43IDYxLTQ4IDczLjNsMCAyMi43YzAgNjEuOS01MC4xIDExMi0xMTIgMTEybC0zMiAwIDAgNzAuN2MyOC4zIDEyLjMgNDggNDAuNSA0OCA3My4zIDAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwYzAtMzIuOCAxOS43LTYxIDQ4LTczLjNsMC03MC43LTMyIDBDOTguMSAyODggNDggMjM3LjkgNDggMTc2bDAtMjIuN0MxOS43IDE0MSAwIDExMi44IDAgODAgMCAzNS44IDM1LjggMCA4MCAwczgwIDM1LjggODAgODB6bTIwOCAyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6TTI0OCA0MzJhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHoiXX0saGVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWZsYWciLGljb246WzY0MCw1MTIsW10sImU1MGQiLCJNNDcyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwIDAgMjg4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNDQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0yODMuNSA1OS4xbDEwMC41IDk2LjkgMCAzNTYtMjU2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTQ0LTE5LjkgMGMtMTUuNSAwLTI4LjEtMTIuNi0yOC4xLTI4LjEgMC03LjYgMy4xLTE0LjkgOC42LTIwLjJMMjI4LjUgNTkuMUMyMzUuOSA1MiAyNDUuNyA0OCAyNTYgNDhzMjAuMSA0IDI3LjUgMTEuMXpNMjMyIDI1NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTQ4IDB6Il19LGFtPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1aWxkaW5nLWNvbHVtbnMiLGljb246WzUxMiw1MTIsWyJiYW5rIiwiaW5zdGl0dXRpb24iLCJtdXNldW0iLCJ1bml2ZXJzaXR5Il0sImYxOWMiLCJNMjcxLjkgMjAuMmMtOS44LTUuNi0yMS45LTUuNi0zMS44IDBsLTIyNCAxMjhjLTEyLjYgNy4yLTE4LjggMjItMTUuMSAzNlMxNy41IDIwOCAzMiAyMDhsMzIgMCAwIDIwOCAwIDAtNTEuMiAzOC40QzQuNyA0NjAuNCAwIDQ2OS45IDAgNDgwIDAgNDk3LjcgMTQuMyA1MTIgMzIgNTEybDQ0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyIDAtMTAuMS00LjctMTkuNi0xMi44LTI1LjZsLTUxLjItMzguNCAwLTIwOCAzMiAwYzE0LjUgMCAyNy4yLTkuOCAzMC45LTIzLjhzLTIuNS0yOC44LTE1LjEtMzZsLTIyNC0xMjh6TTQwMCAyMDhsMCAyMDgtNjQgMCAwLTIwOCA2NCAwem0tMTEyIDBsMCAyMDgtNjQgMCAwLTIwOCA2NCAwem0tMTEyIDBsMCAyMDgtNjQgMCAwLTIwOCA2NCAwek0yNTYgOTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxtZWE9YW0sZ2VhPWFtLGJlYT1hbSx2ZWE9YW0seGVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJ1ZyIsaWNvbjpbNTc2LDUxMixbXSwiZTU2OSIsIk0yNCA2NGw1NiAwIDAgMzg0LTU2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsOCAwIDAtNDAtOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDggMCAwLTMyLTggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw4IDAgMC0zMi04IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsOCAwIDAtNDAtOCAwQzEwLjcgMTEyIDAgMTAxLjMgMCA4OFMxMC43IDY0IDI0IDY0em0xMDQgMGwzMjAgMCAwIDM4NC0zMjAgMCAwLTM4NHpNNTc2IDg4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC04IDAgMCA0MCA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTggMCAwIDMyIDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtOCAwIDAgMzIgOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04IDAgMCA0MCA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTU2IDAgMC0zODQgNTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHoiXX0seWVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvZGUtbWVyZ2UiLGljb246WzQ0OCw1MTIsW10sImYzODciLCJNODAgNTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0zMi40IDk3LjJjMjgtMTIuNCA0Ny42LTQwLjUgNDcuNi03My4yIDAtNDQuMi0zNS44LTgwLTgwLTgwUzAgMzUuOCAwIDgwYzAgMzIuOCAxOS43IDYxIDQ4IDczLjNsMCAyMDUuM0MxOS43IDM3MSAwIDM5OS4yIDAgNDMyIDAgNDc2LjIgMzUuOCA1MTIgODAgNTEyczgwLTM1LjggODAtODBjMC0zMi44LTE5LjctNjEtNDgtNzMuM2wwLTg2LjZjMjYuNyAyMC4xIDYwIDMyIDk2IDMybDg2LjcgMGMxMi4zIDI4LjMgNDAuNSA0OCA3My4zIDQ4IDQ0LjIgMCA4MC0zNS44IDgwLTgwcy0zNS44LTgwLTgwLTgwYy0zMi44IDAtNjEgMTkuNy03My4zIDQ4TDIwOCAyNDBjLTQ5LjkgMC05MS0zOC4xLTk1LjYtODYuOHpNODAgNDA4YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMzQ0IDI3MmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSx3ZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtdHN1bmFtaSIsaWNvbjpbNjQwLDUxMixbXSwiZTUxNSIsIk0yODggMTZDMTU1LjUgMTYgNDggMTIzLjUgNDggMjU2UzE1NS41IDQ5NiAyODggNDk2YzcuNCAwIDE5LjctMi4zIDMzLjctNy4zIDEzLjgtNC45IDI3LjEtMTEuNyAzNi43LTE4LjkgMzguNC0yOSA5MC41LTI5IDEyOSAwIDE1LjQgMTEuNiAzNS4zIDIxLjEgNTUgMjQuNCAxOS41IDMuMyAzNyAuNCA1MS4xLTEwLjIgMTAuNi04IDI1LjYtNS45IDMzLjYgNC43czUuOSAyNS42LTQuNyAzMy42Yy0yNy4zIDIwLjUtNTkuMiAyNC04Ny45IDE5LjItMjguNS00LjgtNTUuNC0xOC03NS45LTMzLjQtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDAtMTQuNSAxMC45LTMyLjQgMTkuNy00OS41IDI1LjgtMTYuOCA2LTM0LjkgMTAuMS00OS45IDEwLjFsLS4xIDBDMTI4LjkgNTQzLjkgMCA0MTUgMCAyNTYgMCA5Ni45IDEyOC45LTMyIDI4OC0zMiAzMDEuMy0zMiAzMTItMjEuMyAzMTItOHMtMTAuNyAyNC0yNCAyNHptNDQuOCAxNjYuNGw5Ni03MmMxMS40LTguNSAyNy4xLTguNSAzOC41IDBsOTUuNSA3MmM4IDYgMTIuNyAxNS41IDEyLjcgMjUuNWwuMyAxMjEuNWMtMi4yIDEuMy00LjMgMi42LTYuNCA0LjItNC4zIDMuMS04LjcgLjgtMTMuMi0xLjVsLTEuMi0uNi0uNy0uM2MtNS40LTIuNy0xMS43LTYuNi0xOC45LTExLjctMjkuNS0yMS4xLTY0LjMtMzEuNi05OS4xLTMxLjQtMzQuMSAuMi02OC4xIDEwLjctOTcgMzEuNC03LjggNS42LTEzLjggOS4zLTE5LjMgMTEuMkwzMjAgMjA4YzAtMTAuMSA0LjctMTkuNiAxMi44LTI1LjZ6bTU0LjYgMjI5LjdjLTE0LjUgMTAuOS0zMi40IDE5LjctNDkuNSAyNS44LTE2LjggNi0zNC45IDEwLjEtNDkuOSAxMC4xLTEwNiAwLTE5Mi04Ni0xOTItMTkyUzE4MiA2NCAyODggNjRjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTc5LjUgMC0xNDQgNjQuNS0xNDQgMTQ0czY0LjUgMTQ0IDE0NCAxNDRjNy40IDAgMTkuNy0yLjMgMzMuNy03LjMgMTMuOC00LjkgMjcuMS0xMS43IDM2LjctMTguOSAzOC40LTI5IDkwLjUtMjkgMTI5IDAgMTUuNCAxMS42IDM1LjMgMjEuMSA1NSAyNC40IDE5LjUgMy4zIDM3IC40IDUxLjEtMTAuMiAxMC42LTggMjUuNi01LjkgMzMuNiA0LjdzNS45IDI1LjYtNC43IDMzLjZjLTI3LjMgMjAuNS01OS4yIDI0LTg3LjkgMTkuMi0yOC41LTQuOC01NS40LTE4LTc1LjktMzMuNC0yMS4zLTE2LjEtNDkuOS0xNi4xLTcxLjIgMHoiXX0sTWVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hZ25pZnlpbmctZ2xhc3MtY2hhcnQiLGljb246WzUxMiw1MTIsW10sImU1MjIiLCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NkMyOTYuMyA0MDEuMSAyNTMuOSA0MTYgMjA4IDQxNiA5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMCA0MTYgOTMuMSA0MTYgMjA4em0tMzEyIDhsMCA2NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6bTgwLTk2bDAgMTYwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNjBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6bTgwIDY0bDAgOTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTk2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0eiJdfSxrZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidW1icmVsbGEiLGljb246WzUxMiw1MTIsW10sImYwZTkiLCJNMjU2LTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMmMxMjYuMyAxNS43IDIyNCAxMjMuNSAyMjQgMjU0IDAgMy44LS4xIDcuNS0uMiAxMS4zLS4zIDYuOS01IDEyLjgtMTEuNyAxNC43cy0xMy44LS43LTE3LjYtNi41Yy0xNC40LTIxLjQtMzguOC0zNS41LTY2LjUtMzUuNS0yOS4zIDAtNTQuOSAxNS43LTY4LjkgMzkuMy0yLjcgNC42LTcuNiA3LjYtMTMgNy44cy0xMC41LTIuMi0xMy43LTYuNWMtMTQuNi0xOS44LTM4LTMyLjYtNjQuNS0zMi42cy00OS45IDEyLjgtNjQuNSAzMi42Yy0zLjIgNC4zLTguMyA2LjgtMTMuNyA2LjVzLTEwLjItMy4yLTEzLTcuOGMtMTQtMjMuNi0zOS42LTM5LjMtNjguOS0zOS4zLTI3LjcgMC01Mi4xIDE0LjEtNjYuNSAzNS41LTMuOSA1LjctMTEgOC40LTE3LjYgNi41Uy41IDI3NC4yIC4yIDI2Ny4zQy4xIDI2My41IDAgMjU5LjggMCAyNTYgMCAxMjUuNSA5Ny43IDE3LjcgMjI0IDJsMC0yYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0zMiAzNjBsMCAxMDIuNmMwIDQ1LTM2LjUgODEuNC04MS40IDgxLjQtMzAuOCAwLTU5LTE3LjQtNzIuOC00NWwtMi4zLTQuN2MtNy45LTE1LjgtMS41LTM1IDE0LjMtNDIuOXMzNS0xLjUgNDIuOSAxNC4zbDIuMyA0LjdjMyA1LjkgOSA5LjYgMTUuNiA5LjYgOS42IDAgMTcuNC03LjggMTcuNC0xNy40TDIyNCAzMjhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnoiXX0sU2VhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhpbGwtcm9ja3NsaWRlIixpY29uOls1NzYsNTEyLFtdLCJlNTA4IiwiTTI1Mi40IDEwMy44bDI3IDQ4YzIuOCA1IDguMiA4LjIgMTMuOSA4LjJsNTMuMyAwYzUuOCAwIDExLjEtMy4xIDEzLjktOC4ybDI3LTQ4YzIuNy00LjkgMi43LTEwLjggMC0xNS43bC0yNy00OGMtMi44LTUtOC4yLTguMi0xMy45LTguMmwtNTMuMyAwYy01LjggMC0xMS4xIDMuMS0xMy45IDguMmwtMjcgNDhjLTIuNyA0LjktMi43IDEwLjggMCAxNS43ek02OC4zIDg3QzQzLjEgNjEuOCAwIDc5LjcgMCAxMTUuM0wwIDQzMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwzMTYuNyAwYzM1LjYgMCA1My41LTQzLjEgMjguMy02OC4zTDY4LjMgODd6TTUwNC4yIDQwMy42YzQuOSAyLjcgMTAuOCAyLjcgMTUuNyAwbDQ4LTI3YzUtMi44IDguMi04LjIgOC4yLTEzLjlsMC01My4zYzAtNS44LTMuMS0xMS4xLTguMi0xMy45bC00OC0yN2MtNC45LTIuNy0xMC44LTIuNy0xNS43IDBsLTQ4IDI3Yy01IDIuOC04LjIgOC4yLTguMiAxMy45bDAgNTMuM2MwIDUuOCAzLjEgMTEuMSA4LjIgMTMuOWw0OCAyN3pNMTkyIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTM4NCAyODhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSx6ZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1zZWNyZXQiLGljb246WzQ0OCw1MTIsWzEyODM3M10sImYyMWIiLCJNMTcxLTE2Yy0zNi40IDAtNTcuOCA1OC4zLTY4LjMgMTEyTDcyIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI0IDAgMCAzMmMwIDE3IDMuMyAzMy4yIDkuMyA0OGwtOS4zIDAgMCAwLTIwLjUgMGMtMTUuMiAwLTI3LjUgMTIuMy0yNy41IDI3LjUgMCAzIC41IDUuOSAxLjQgOC43bDI4LjkgODYuNkM0MC4yIDM3OS42IDE2IDQyOC4xIDE2IDQ4Mi4zIDE2IDQ5OC43IDI5LjMgNTEyIDQ1LjcgNTEybDM1Ni42IDBjMTYuNCAwIDI5LjctMTMuMyAyOS43LTI5LjcgMC01NC4yLTI0LjItMTAyLjctNjIuMy0xMzUuNGwyOC45LTg2LjZjLjktMi44IDEuNC01LjcgMS40LTguNyAwLTE1LjItMTIuMy0yNy41LTI3LjUtMjcuNWwtMjAuNSAwIDAgMC05LjMgMGM2LTE0LjggOS4zLTMxIDkuMy00OGwwLTMyIDI0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTMwLjcgMGMtMTAuNC01My43LTMxLjktMTEyLTY4LjMtMTEyLTkuNiAwLTE5IDMuOS0yNy41IDguMi04LjIgNC4xLTE4LjQgNy44LTI1LjUgNy44cy0xNy4zLTMuNy0yNS41LTcuOEMxOTAtMTIuMSAxODAuNi0xNiAxNzEtMTZ6bTkzLjcgNDg0LjRsLTI0LjgtNzAuOSAyNy45LTMyLjVjMi43LTMuMiA0LjItNy4yIDQuMi0xMS40IDAtOS43LTcuOC0xNy41LTE3LjUtMTcuNWwtNjEgMGMtOS43IDAtMTcuNSA3LjgtMTcuNSAxNy41IDAgNC4yIDEuNSA4LjIgNC4yIDExLjRsMjcuOSAzMi41LTI0LjggNzAuOS01Ny0xODAuNCAzNS43IDBjMTguNCAxMC4yIDM5LjUgMTYgNjIgMTZzNDMuNi01LjggNjItMTZsMzUuNyAwLTU3IDE4MC40ek0yMjQgMjU2Yy0zNC43IDAtNjQuMi0yMi4xLTc1LjMtNTMgNS43IDMuMiAxMi4zIDUgMTkuMyA1bDEyLjQgMGMxNi41IDAgMzEuMS0xMC42IDM2LjMtMjYuMiAyLjMtNyAxMi4yLTcgMTQuNSAwIDUuMiAxNS42IDE5LjkgMjYuMiAzNi4zIDI2LjJsMTIuNCAwYzcgMCAxMy42LTEuOCAxOS4zLTUtMTEuMSAzMC45LTQwLjYgNTMtNzUuMyA1M3oiXX0sQ2VhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhZ2VyIixpY29uOls1MTIsNTEyLFsxMjgyMjNdLCJmODE1IiwiTTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6bTY0IDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMkw5NiAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek04OCAzMjBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMHptMTI4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMHoiXX0sX2VhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyaWVmY2FzZSIsaWNvbjpbNTEyLDUxMixbMTI4MTg4XSwiZjBiMSIsIk0yMDAgNDhsMTEyIDBjNC40IDAgOCAzLjYgOCA4bDAgNDAtMTI4IDAgMC00MGMwLTQuNCAzLjYtOCA4LTh6bS01NiA4bDAgNDAtODAgMEMyOC43IDk2IDAgMTI0LjcgMCAxNjBsMCA5NiA1MTIgMCAwLTk2YzAtMzUuMy0yOC43LTY0LTY0LTY0bC04MCAwIDAtNDBjMC0zMC45LTI1LjEtNTYtNTYtNTZMMjAwIDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2ek01MTIgMzA0bC0xOTIgMCAwIDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2LTE5MiAwIDAgMTEyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTEyeiJdfSxUZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJvd2VsLWJyaWNrcyIsaWNvbjpbNTEyLDUxMixbXSwiZTU4YSIsIk0yMjQgMzJjMC0xMS41LTYuMi0yMi4yLTE2LjItMjcuOHMtMjIuMy01LjUtMzIuMiAuNGwtMTYwIDk2QzUuOSAxMDYuMyAwIDExNi44IDAgMTI4czUuOSAyMS43IDE1LjUgMjcuNGwxNjAgOTZjOS45IDUuOSAyMi4yIDYuMSAzMi4yIC40UzIyNCAyMzUuNSAyMjQgMjI0bDAtNjQgMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI1NiAwIDAtNjR6bTk2IDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xNjAgMHpNMCA0MTZsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTk2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem0yMjQtMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMjU2IDB6Il19LExlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzb2NrcyIsaWNvbjpbNTEyLDUxMixbMTI5NTEwXSwiZjY5NiIsIk0yNTIuOCAwTDE3NiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE2IDExMiAwIDAtMTZjMC0xNy41IDQuNy0zMy45IDEyLjgtNDh6TTEyOCAxMTJsMCAxMjhjMCAyMC4xLTkuNSAzOS4xLTI1LjYgNTEuMmwtNjQgNDhjLTI0LjIgMTguMS0zOC40IDQ2LjYtMzguNCA3Ni44IDAgNTMgNDMgOTYgOTYgOTYgMTUuNCAwIDMwLjUtMy43IDQ0LTEwLjctMTcuNi0yMy45LTI4LTUzLjQtMjgtODUuMyAwLTQ1LjMgMjEuMy04OCA1Ny42LTExNS4ybDY0LTQ4YzQtMyA2LjQtNy44IDYuNC0xMi44bDAtMTI4LTExMiAwem0xNjAgMGwwIDEyOGMwIDIwLjEtOS41IDM5LjEtMjUuNiA1MS4ybC02NCA0OGMtMjQuMiAxOC4xLTM4LjQgNDYuNi0zOC40IDc2LjggMCA1MyA0MyA5NiA5NiA5NiAyMC44IDAgNDEtNi43IDU3LjYtMTkuMmwxMTUuMi04Ni40QzQ2MSAzODIuMiA0ODAgMzQ0LjMgNDgwIDMwNGwwLTE5Mi0xOTIgMHpNNDgwIDY0bDAtMTZjMC0yNi41LTIxLjUtNDgtNDgtNDhMMzM2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMTYgMTkyIDB6Il19LCRlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0IixpY29uOlszODQsNTEyLFsxMTZdLCI1NCIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsMTI4IDAgMCAzNTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM1MiAxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnoiXX0sRGVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pY3JvY2hpcCIsaWNvbjpbNTEyLDUxMixbXSwiZjJkYiIsIk0xNzYgMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsLTQwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDAgMCAwIDU2LTQwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDAgMCAwIDU2LTQwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDAgMGMwIDM1LjMgMjguNyA2NCA2NCA2NGwwIDQwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MCA1NiAwIDAgNDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwIDU2IDAgMCA0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDAgMCAwLTU2IDQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQwIDAgMC01NiA0MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00MCAwYzAtMzUuMy0yOC43LTY0LTY0LTY0bDAtNDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MC01NiAwIDAtNDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MC01NiAwIDAtNDB6TTE2MCAxMjhsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMTYgNDhsMCAxNjAgMTYwIDAgMC0xNjAtMTYwIDB6Il19LEs5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1tZWRpY2FsIixpY29uOls1NzYsNTEyLFsxMjg2NTcsImFtYnVsYW5jZSJdLCJmMGY5IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMy4zIDBjMTAuNCAzNi45IDQ0LjQgNjQgODQuNyA2NHM3NC4yLTI3LjEgODQuNy02NGwxMDIuNiAwYzEwLjQgMzYuOSA0NC40IDY0IDg0LjcgNjRzNzQuMi0yNy4xIDg0LjctNjRsMy4zIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNDYuN2MwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0w1MTIgMTQ2LjdjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdsLTUwLjcgMCAwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek01MTIgMjM3LjNsMCA1MC43LTk2IDAgMC05NiA1MC43IDAgNDUuMyA0NS4zek0xNTIgMzg0YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHptMjMyIDQwYTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6TTE3NiAxMzZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDAgNDAgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTQwIDAgMCA0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQwLTQwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0MCAwIDAtNDB6Il19LEFlYT1LOWUsRWVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im9tIixpY29uOls1NzYsNTEyLFsxMjgzMjldLCJmNjc5IiwiTTM4OC43IDQuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMGwxNiAxNmM2LjIgNi4yIDYuMiAxNi40IDAgMjIuNmwtMTYgMTZjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwbC0xNi0xNmMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZsMTYtMTZ6TTE3NiAxNjBjLTEwLjggMC0yMC44IDMuNi0yOC44IDkuNi0xNC4xIDEwLjYtMzQuMiA3LjgtNDQuOC02LjRzLTcuOC0zNC4yIDYuNC00NC44YzE4LjctMTQuMSA0Mi0yMi40IDY3LjItMjIuNCA2MS45IDAgMTEyIDUwLjEgMTEyIDExMiAwIDE3LjItMy45IDMzLjUtMTAuOCA0OGw0OS43IDBjMTIuNyAwIDI0LjktNSAzMy45LTE0LjFsMjAuNy0yMC43YzE4LjctMTguNyA0NC4xLTI5LjMgNzAuNi0yOS4zIDU1LjIgMCA5OS45IDQ0LjcgOTkuOSA5OS45bDAgOTYuMWMwIDU1LjItNDQuOCAxMDAtMTAwIDEwMFMzNTIgNDQzLjIgMzUyIDM4OGwwLTRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDRjMCAxOS45IDE2LjEgMzYgMzYgMzZzMzYtMTYuMSAzNi0zNmwwLTk2LjFjMC0xOS44LTE2LjEtMzUuOS0zNS45LTM1LjktOS41IDAtMTguNiAzLjgtMjUuNCAxMC41bC0yMC43IDIwLjdjLTIxIDIxLTQ5LjQgMzIuOC03OS4xIDMyLjhsLTI2LjggMGMxMi42IDE5LjYgMTkuOSA0Mi44IDE5LjkgNjggMCA3NS4yLTY1IDEzMi0xNDAgMTMyUzQwIDQ2My4yIDQwIDM4OGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyYzAgMzUuMyAzMS43IDY4IDc2IDY4czc2LTMyLjcgNzYtNjgtMzEuNy02OC03Ni02OGwtMjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4ek0zMzcuMSA2MC4xYy0xMS0xMy44LTMxLjEtMTYuMi00NS01LjJzLTE2LjIgMzEuMS01LjIgNDVDMzEyLjYgMTMyLjIgMzU0LjQgMTUyIDQwMCAxNTJzODcuNC0xOS44IDExMy4xLTUyLjFjMTEtMTMuOCA4LjctMzQtNS4yLTQ1cy0zNC04LjctNDUgNS4yQzQ1MC4zIDc2IDQyNy41IDg4IDQwMCA4OHMtNTAuMy0xMi02Mi45LTI3Ljl6Il19LFBlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb3NxdWl0by1uZXQiLGljb246WzY0MCw1MTIsW10sImU1MmMiLCJNNTc2IDM1MmMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDE2IDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDAgMCA0OCAxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwIDAgMTYtLjEgMi41QzU5OC42IDU2Ni42IDU4OC40IDU3NiA1NzYgNTc2cy0yMi42LTkuNC0yMy45LTIxLjVsLS4xLTIuNSAwLTE2LTQ4IDAgMCAxNi0uMSAyLjVDNTAyLjYgNTY2LjYgNDkyLjQgNTc2IDQ4MCA1NzZzLTIyLjYtOS40LTIzLjktMjEuNWwtLjEtMi41IDAtMTYtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNiAwIDAtNDgtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNiAwIDAtMTZjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDE2IDQ4IDAgMC0xNmMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNNDI5LjkgMTYuM2M3LjctOS40IDIxLjMtMTEuNSAzMS40LTQuMyAxMC4xIDcuMSAxMy4xIDIwLjkgNy40IDMxLjdsLTEuMyAyLjEtMjUuOSAzOC45IDEzLjMgNTMuNGMyIDgtLjEgMTYuMy01LjMgMjIuM2wtMi40IDIuNC00NC43IDM4LjMgMTMwLjUgMTQuNWM0Mi44IDQuOCA3NS4xIDQwLjkgNzUuMSA4My45IDAgMy45LS40IDcuNy0uOSAxMS41LTcuMy0zLjUtMTUuMy01LjgtMjMuOC02LjdMNTc2IDMwNGMtMTguNSAwLTM1LjMgNy00OCAxOC40LTExLTkuOS0yNS4xLTE2LjUtNDAuNi0xOC4xTDQ4MCAzMDRjLTMwLjMgMC01Ni4xIDE4LjctNjYuOCA0NS4yLTEyLjUgNS0yMy4yIDEzLjQtMzEuMSAyNGwtMzAuMi00MC4xIDAgNzQuN2MwIDE3LjctMTQuMyAzMi0zMiAzMi0xNi42IDAtMzAuMi0xMi42LTMxLjgtMjguN2wtLjItMy4zIDAtNzQuNi0zMi4zIDQzIDAgMzkuOGMwIDMuNS0uNyA2LjktMi4xIDEwLjFsLTEuNiAzLjEtNDAgNjQtMS40IDJjLTcuNSA5LjYtMjEgMTIuMS0zMS4zIDUuMy0xMC4zLTYuOC0xMy43LTIwLjUtOC4zLTMxLjVsMS4yLTIuMiAzNi4yLTU4IDAtNDEgLjMtNGMuNi0zLjkgMi4yLTcuNyA0LjYtMTAuOWwzOS4zLTUyLjItNjYuMiA1OS41Yy0xNyAxNS4zLTM5IDIzLjctNjEuOSAyMy44bC04LjEgMGMtNDYuNiAwLTg0LjQtMzcuOC04NC40LTg0LjQgMC00MyAzMi40LTc5LjIgNzUuMS04My45bDEzMC41LTE0LjUtNDQuNy0zOC4zLTIuNC0yLjRjLTUuMi02LTcuMy0xNC40LTUuMy0yMi4zbDEzLjMtNTMuNC0yNS45LTM4LjktMS4yLTIuMWMtNS43LTEwLjgtMi43LTI0LjYgNy40LTMxLjcgMTAuMS03LjEgMjMuNy01LjEgMzEuNCA0LjNsMS41IDIgMzIgNDggMS40IDIuMmMyLjggNS4zIDMuNSAxMS42IDIuMSAxNy42bC0xMi4zIDQ5LjIgNTMuMyA0NS43IDAtMjguOCAuMi0zLjJjMS4xLTEwLjQgNy4yLTE5LjQgMTUuOC0yNC40bDAtNjAuNSAuMy0zLjJjMS41LTcuMyA4LTEyLjcgMTUuNy0xMi44IDcuNyAwIDE0LjIgNS41IDE1LjcgMTIuOGwuMyAzLjIgMCA2MC41YzguNyA1IDE0LjggMTQgMTUuOCAyNC40bC4yIDMuMiAwIDI4LjkgNTMuNC00NS43LTEyLjMtNDkuMmMtMS41LTUuOS0uNy0xMi4yIDIuMS0xNy42bDEuNC0yLjIgMzItNDggMS41LTJ6TTUwNCA0ODhsNDggMCAwLTQ4LTQ4IDAgMCA0OHoiXX0sSWVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InByZXNjcmlwdGlvbi1ib3R0bGUiLGljb246WzM4NCw1MTIsW10sImY0ODUiLCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0TDAgMzJ6TTMyIDE0NGwzMjAgMCAwIDMwNGMwIDM1LjMtMjguNyA2NC02NCA2NEw5NiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTcyIDAgMC00OCA3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC03MiAwIDAtNDggNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNzIgMCAwLTY0eiJdfSxaOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlcnMtZ2VhciIsaWNvbjpbNjQwLDUxMixbInVzZXJzLWNvZyJdLCJmNTA5IiwiTTMyMCAyMjRhMTA0IDEwNCAwIDEgMCAwLTIwOCAxMDQgMTA0IDAgMSAwIDAgMjA4ek05NiAyMzJhNzIgNzIgMCAxIDAgMC0xNDQgNzIgNzIgMCAxIDAgMCAxNDR6TTAgNDE2bDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsODYuNyAwYy00LjMtOS44LTYuNy0yMC42LTYuNy0zMmwwLTE2YzAtNTMuMiAyMC0xMDEuOCA1Mi45LTEzOC42LTExLjctMy41LTI0LjEtNS40LTM2LjktNS40LTcwLjcgMC0xMjggNTcuMy0xMjggMTI4ek02MTYgMTYwYTcyIDcyIDAgMSAwIC0xNDQgMCA3MiA3MiAwIDEgMCAxNDQgMHpNMTYwIDQzMmwwIDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE1Ni44IDBjLTcuMS0yMS42LTYuMy00NC40IDEwLjctNjQtMTQtMTYuMi0yMC41LTM5LjctMTEuNC02My4zIDYuNi0xNy4xIDE1LjktMzMuMSAyNy40LTQ3LjMgNS40LTYuNiAxMS42LTExLjcgMTguMy0xNS40LTIyLjEtMTEuNS00Ny4yLTE4LTczLjgtMTgtODguNCAwLTE2MCA3MS42LTE2MCAxNjB6bTQ2NC42LTQ0LjFjNi4zLTMuNiA5LjUtMTEuMSA2LjgtMTgtNC44LTEyLjQtMTEuNS0yNC4xLTE5LjktMzQuNC00LjYtNS43LTEyLjctNi43LTE5LTMtMjEuOCAxMi42LTQ4LjYtMi44LTQ4LjYtMjguMSAwLTcuMy00LjktMTMuOC0xMi4xLTE0LjktMTIuOS0yLTI2LjgtMi0zOS43IDAtNy4yIDEuMS0xMi4xIDcuNi0xMi4xIDE0LjkgMCAyNS4yLTI2LjggNDAuNy00OC42IDI4LjEtNi4zLTMuNi0xNC40LTIuNi0xOSAzLTguNCAxMC4zLTE1LjEgMjItMTkuOSAzNC40LTIuNiA2LjggLjUgMTQuMyA2LjggMTcuOSAyMS45IDEyLjYgMjEuOSA0My41IDAgNTYuMi02LjMgMy42LTkuNSAxMS4xLTYuOCAxNy45IDQuOCAxMi40IDExLjUgMjQuMSAxOS45IDM0LjQgNC42IDUuNyAxMi43IDYuNyAxOSAzIDIxLjgtMTIuNiA0OC42IDIuOSA0OC42IDI4LjEgMCA3LjMgNC45IDEzLjggMTIuMSAxNC45IDEyLjkgMiAyNi44IDIgMzkuNyAwIDcuMi0xLjEgMTIuMS03LjYgMTIuMS0xNC45IDAtMjUuMiAyNi44LTQwLjcgNDguNi0yOC4xIDYuMyAzLjYgMTQuNCAyLjYgMTktMyA4LjQtMTAuMyAxNS4xLTIyIDE5LjktMzQuNCAyLjYtNi44LS41LTE0LjMtNi44LTE3LjktMjEuOS0xMi42LTIxLjktNDMuNSAwLTU2LjJ6TTQ3MiA0MTZhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHoiXX0sTmVhPVo5ZSxSZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9hZC1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzY0MCw1MTIsW10sImU1NjUiLCJNMjg4IDMybC03Ni4zIDBjLTI5LjQgMC01NS4xIDIwLjEtNjIuMSA0OC42TDY1LjQgNDIwLjVDNTcuOSA0NTAuNyA4MC44IDQ4MCAxMTIgNDgwbDIwOS40IDBjLTExLjItMjQuNC0xNy40LTUxLjQtMTcuNC04MCAwLTI4LjYgNi4yLTU1LjcgMTcuNC04MC0uNSAwLTEgMC0xLjUgMC0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA0OWMzNS4yLTM5LjkgODYuNy02NSAxNDQtNjUgOSAwIDE3LjggLjYgMjYuNSAxLjhsLTMyLTEyOS4yQzQ4My40IDUyLjEgNDU3LjggMzIgNDI4LjMgMzJsLTc2LjQgMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6TTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTEwMGEyMCAyMCAwIDEgMSAwIDQwIDIwIDIwIDAgMSAxIDAtNDB6bTAtMTQwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2eiJdfSxPZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGF1c2UiLGljb246WzM4NCw1MTIsWzkyMDhdLCJmMDRjIiwiTTQ4IDMyQzIxLjUgMzIgMCA1My41IDAgODBMMCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsNjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM1MmMwLTI2LjUtMjEuNS00OC00OC00OEw0OCAzMnptMjI0IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMzUyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zNTJjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDB6Il19LHJ2PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0YWZmLXNuYWtlIixpY29uOls0NDgsNTEyLFsicm9kLWFzY2xlcGl1cyIsInJvZC1zbmFrZSIsInN0YWZmLWFlc2N1bGFwaXVzIl0sImU1NzkiLCJNMTkyIDMybDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDY0IDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZsLTE2IDAgMC02NCAxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwIDAgMTkyIDMyIDBjNTMgMCA5NiA0MyA5NiA5NiAwIDQ3LjYtMzQuNiA4Ny4xLTgwIDk0LjdsMC02N2M5LjYtNS41IDE2LTE1LjkgMTYtMjcuNyAwLTE3LjctMTQuMy0zMi0zMi0zMmwtMzIgMCAwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTY0LTMyIDBjLTUzIDAtOTYtNDMtOTYtOTYgMC00Ny42IDM0LjYtODcuMSA4MC05NC43bDAgNjdjLTkuNiA1LjUtMTYgMTUuOS0xNiAyNy43IDAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDAgMC0xOTItNzIuNiAwYy0xMS4xIDE5LjEtMzEuNyAzMi01NS40IDMybC0xNiAwQzIxLjUgMTI4IDAgMTA2LjUgMCA4MFMyMS41IDMyIDQ4IDMybDE0NCAweiJdfSxGZWE9cnYsQmVhPXJ2LEhlYT1ydixxZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGlnZ3ktYmFuayIsaWNvbjpbNTc2LDUxMixbXSwiZjRkMyIsIk0yODgtMzJhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6TTQ4IDMwNGMwLTcwLjEgNDctMTMxLjQgMTE3LjEtMTY0LjkgMjUuMyA0MS4zIDcwLjkgNjguOSAxMjIuOSA2OC45IDU1LjcgMCAxMDQuMS0zMS43IDEyOC03OCAxNS44LTExLjMgMzUuMS0xOCA1Ni0xOGwxOS41IDBjMTAuNCAwIDE4IDkuOCAxNS41IDE5LjlsLTE3LjEgNjguM2M5LjkgMTIuNCAxOC4yIDI1LjcgMjQuNCAzOS44bDIxLjcgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDExMmMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDAgMGMtMTYuNSAyMi0zOC41IDM5LjYtNjQgNTAuN2wwIDI5LjNjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMzIDBjLTE0LjMgMC0yNi44LTkuNS0zMC44LTIzLjJsLTcuMS0yNC44LTgyLjMgMC03LjEgMjQuOEMyMzUuOCA1MDIuNSAyMjMuMyA1MTIgMjA5IDUxMmwtMzMgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yOS4zQzg3LjUgNDI2IDQ4IDM2OS42IDQ4IDMwNHptMzc2IDE2YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHoiXX0sVmVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbnVtZW50IixpY29uOlszODQsNTEyLFtdLCJmNWE2IiwiTTIwOS0zM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBMOTUgNDdjLTQuMSA0LjEtNi41IDkuNC03IDE1LjFMNTguNCA0NDggNDggNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMC40IDAtMjkuNy0zODUuOGMtLjQtNS43LTIuOS0xMS4xLTctMTUuMUwyMDktMzN6TTEyOCAyOTZjMC0xMy4zIDEwLjctMjQgMjQtMjRsODAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtODAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6Il19LFg5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmdsZXMtcmlnaHQiLGljb246WzQ0OCw1MTIsWzE4NywiYW5nbGUtZG91YmxlLXJpZ2h0Il0sImYxMDEiLCJNNDM5LjEgMjc4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDM3MS4yIDI1NiAyMzMuOSAzOTMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxNjAtMTYwem0tMzUyIDE2MGwxNjAtMTYwYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xNjAtMTYwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0wxNzkuMiAyNTYgNDEuOSAzOTMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMHoiXX0samVhPVg5ZSx2dj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkZXNrdG9wIixpY29uOls1MTIsNTEyLFsxMjg0MjEsNjE3MDQsImRlc2t0b3AtYWx0Il0sImYzOTAiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDM1MmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNDQgMC0xNiA0OC03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC03MiAwLTE2LTQ4IDE0NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek05NiA5NmwzMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMkw5NiAzMjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxVZWE9dnYsV2VhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW5lLWNpcmNsZS14bWFyayIsaWNvbjpbNjQwLDUxMixbXSwiZTU1NyIsIk0yMzIgMjRjMC0zMC45IDI1LjEtNTYgNTYtNTZzNTYgMjUuMSA1NiA1NmwwIDEyNy4zIDc4IDcxLjVjLTY5LjMgMjktMTE4IDk3LjQtMTE4IDE3Ny4yIDAgNDkuMyAxOC42IDk0LjMgNDkuMSAxMjguM0wyODggNTEyIDE3OS45IDUzOWMtMTAuMSAyLjUtMTkuOS01LjEtMTkuOS0xNS41bDAtMTkuOGMwLTQuOSAyLjItOS41IDYtMTIuNWw2Ni01Mi44IDAtOTkuNy0xNjIuOSA1NC4zQzU4LjcgMzk2LjQgNDggMzg4LjcgNDggMzc3LjhsMC00My43YzAtOSAzLjgtMTcuNSAxMC40LTIzLjZMMjMyIDE1MS4zIDIzMiAyNHpNNDk2IDI1NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTU5LjMgMTA3LjNjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZzLTE2LjQtNi4yLTIyLjYgMGwtMzYuNyAzNi43LTM2LjctMzYuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmwzNi43IDM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsMzYuNy0zNi43IDM2LjcgMzYuN2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTM2LjctMzYuNyAzNi43LTM2Ljd6Il19LEdlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZXR3ZWV0IixpY29uOls1NzYsNTEyLFtdLCJmMDc5IiwiTTExOC42IDQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlTMTkuMSAxNjAgMzIgMTYwbDMyIDAgMCAyMjRjMCA1MyA0MyA5NiA5NiA5NmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMjI0IDMyIDBjMTIuOSAwIDI0LjYtNy44IDI5LjYtMTkuOHMyLjItMjUuNy02LjktMzQuOWwtNjQtNjR6TTQ1Ny40IDQ3MC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzU1Ni45IDM1MiA1NDQgMzUybC0zMiAwIDAtMjI0YzAtNTMtNDMtOTYtOTYtOTZMMjg4IDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjI0LTMyIDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45bDY0IDY0eiJdfSxROWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1nZWFyIixpY29uOls2NDAsNTEyLFsidXNlci1jb2ciXSwiZjRmZSIsIk0yNTYuNSA4YTEyMCAxMjAgMCAxIDEgMCAyNDAgMTIwIDEyMCAwIDEgMSAwLTI0MHpNMjI2LjcgMzA0bDU5LjQgMCAxLjUgMGMtMTIuOSAyNi44LTcuOCA1OC4yIDExLjUgNzkuNS0yMC4yIDIyLjMtMjQuOCA1NS44LTkuNCA4My40bDIyLjUgNDAuNGMuOSAxLjYgMS45IDMuMiAyLjkgNC43bC0yMzcgMGMtMTYuNCAwLTI5LjctMTMuMy0yOS43LTI5LjcgMC05OC41IDc5LjgtMTc4LjMgMTc4LjMtMTc4LjN6bTIwNS45LTU2LjRjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDYuMWMwIDE4LjkgMjQuMSAzMi44IDQwLjUgMjMuNGw1LTIuOWMxMS42LTYuNyAyNi41LTIuNiAzMyA5LjFsMjIuNCA0MC4yYzYuMiAxMS4yIDIuNiAyNS4yLTguMiAzMmwtNC43IDIuOWMtMTYuMiAxMC4xLTE2LjIgMzkuOSAwIDUwLjFsNC42IDIuOWMxMC44IDYuOCAxNC41IDIwLjggOC4zIDMyTDYwNyA0ODMuOGMtNi41IDExLjctMjEuNCAxNS45LTMzIDkuMWwtNC45LTIuOWMtMTYuNC05LjUtNDAuNSA0LjUtNDAuNSAyMy40bDAgNi4xYzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTUuOWMwLTE5LTI0LjItMzMtNDAuNy0yMy41bC00LjggMi44Yy0xMS42IDYuNy0yNi40IDIuNi0zMy05LjFsLTIyLjYtNDAuNGMtNi4yLTExLjItMi42LTI1LjMgOC4zLTMyLjFsNC40LTIuN2MxNi4zLTEwLjEgMTYuMy00MC4xIDAtNTAuMmwtNC41LTIuOGMtMTAuOS02LjgtMTQuNS0yMC45LTguMy0zMi4xbDIyLjUtNDAuM2M2LjUtMTEuNyAyMS40LTE1LjggMzIuOS05LjFsNC44IDIuOGMxNi41IDkuNSA0MC43LTQuNSA0MC43LTIzLjVsMC01Ljl6bTk5LjkgMTM2LjJhNTIgNTIgMCAxIDAgLTEwNCAwIDUyIDUyIDAgMSAwIDEwNCAweiJdfSxZZWE9UTllLEtlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3JkZXItYWxsIixpY29uOls0NDgsNTEyLFtdLCJmODRjIiwiTTM4NCA5NmwwIDEyOC0xMjggMCAwLTEyOCAxMjggMHptMCAxOTJsMCAxMjgtMTI4IDAgMC0xMjggMTI4IDB6TTE5MiAyMjRsLTEyOCAwIDAtMTI4IDEyOCAwIDAgMTI4ek02NCAyODhsMTI4IDAgMCAxMjgtMTI4IDAgMC0xMjh6TTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6Il19LFplYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2lucyIsaWNvbjpbNTEyLDUxMixbXSwiZjUxZSIsIk0xMjggOTZsMC0xNmMwLTQ0LjIgODYtODAgMTkyLTgwUzUxMiAzNS44IDUxMiA4MGwwIDE2YzAgMzAuNi00MS4zIDU3LjItMTAyIDcwLjctMi40LTIuOC00LjktNS41LTcuNC04LTE1LjUtMTUuMy0zNS41LTI2LjktNTYuNC0zNS41LTQxLjktMTcuNS05Ni41LTI3LjEtMTU0LjItMjcuMS0yMS45IDAtNDMuMyAxLjQtNjMuOCA0LjEtLjItMS4zLS4yLTIuNy0uMi00LjF6TTQzMiAzNTNsMC00Ni4yYzE1LjEtMy45IDI5LjMtOC41IDQyLjItMTMuOSAxMy4yLTUuNSAyNi4xLTEyLjIgMzcuOC0yMC4zbDAgMTUuNGMwIDI2LjgtMzEuNSA1MC41LTgwIDY1em0wLTk2bDAtMzNjMC00LjUtLjQtOC44LTEtMTMgMTUuNS0zLjkgMzAtOC42IDQzLjItMTQuMnMyNi4xLTEyLjIgMzcuOC0yMC4zbDAgMTUuNGMwIDI2LjgtMzEuNSA1MC41LTgwIDY1ek0wIDI0MGwwLTE2YzAtNDQuMiA4Ni04MCAxOTItODBzMTkyIDM1LjggMTkyIDgwbDAgMTZjMCA0NC4yLTg2IDgwLTE5MiA4MFMwIDI4NC4yIDAgMjQwem0zODQgOTZjMCA0NC4yLTg2IDgwLTE5MiA4MFMwIDM4MC4yIDAgMzM2bDAtMTUuNGMxMS42IDguMSAyNC41IDE0LjcgMzcuOCAyMC4zIDQxLjkgMTcuNSA5Ni41IDI3LjEgMTU0LjIgMjcuMXMxMTIuMy05LjcgMTU0LjItMjcuMWMxMy4yLTUuNSAyNi4xLTEyLjIgMzcuOC0yMC4zbDAgMTUuNHptMCA4MC42bDAgMTUuNGMwIDQ0LjItODYgODAtMTkyIDgwUzAgNDc2LjIgMCA0MzJsMC0xNS40YzExLjYgOC4xIDI0LjUgMTQuNyAzNy44IDIwLjMgNDEuOSAxNy41IDk2LjUgMjcuMSAxNTQuMiAyNy4xczExMi4zLTkuNyAxNTQuMi0yNy4xYzEzLjItNS41IDI2LjEtMTIuMiAzNy44LTIwLjN6Il19LFhlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJzLXN0cm9rZSIsaWNvbjpbNTc2LDUxMixbOTg5NF0sImYyMjkiLCJNNDE2LTMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDUwLjcgMC01OC43IDU4LjctMTcuNC0xNy40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxNy40IDE3LjQtMjMgMjNjLTI4LjQtMTkuNS02Mi43LTMxLTk5LjgtMzEtOTcuMiAwLTE3NiA3OC44LTE3NiAxNzZzNzguOCAxNzYgMTc2IDE3NiAxNzYtNzguOCAxNzYtMTc2YzAtMzctMTEuNC03MS40LTMxLTk5LjhsMjMtMjMgMTcuNCAxNy40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNDUzLjMgMTM2IDUxMiA3Ny4zIDUxMiAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMkw1NzYgMGMwLTE3LjctMTQuMy0zMi0zMi0zMkw0MTYtMzJ6TTEyOCAzMDRhMTEyIDExMiAwIDEgMSAyMjQgMCAxMTIgMTEyIDAgMSAxIC0yMjQgMHoiXX0sSjllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzaGFrZS1hbmdsZSIsaWNvbjpbNTc2LDUxMixbImhhbmRzLWhlbHBpbmciXSwiZjRjNCIsIk0yNjguOSA1My4yTDE1Mi4zIDE4Mi44Yy00LjYgNS4xLTQuNCAxMyAuNSAxNy45IDMwLjUgMzAuNSA4MCAzMC41IDExMC41IDBsMzEuOC0zMS44YzQuMi00LjIgOS41LTYuNSAxNC45LTYuOSA2LjgtLjYgMTMuOCAxLjcgMTkgNi45TDUwNS42IDM0NCA1NzYgMjg4IDU3NiAwIDQ2NCA2NCA0NDAuMiA0OC4xQzQyNC40IDM3LjYgNDA1LjkgMzIgMzg2LjkgMzJsLTcwLjQgMGMtMS4xIDAtMi4zIDAtMy40IC4xLTE2LjkgLjktMzIuOCA4LjUtNDQuMiAyMS4xek0xMTYuNiAxNTAuN0wyMjMuNCAzMiAxODMuOCAzMmMtMjUuNSAwLTQ5LjkgMTAuMS02Ny45IDI4LjFMMCAxOTIgMCA1NDQgMTQ0IDQwOCAxNTYuNCA0MTguM2MyMyAxOS4yIDUyIDI5LjcgODEuOSAyOS43bDE1LjcgMC03LTdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0MSA0MSA5IDBjMTkuMSAwIDM3LjgtNC4zIDU0LjgtMTIuM0wzNTkgNDA5Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMzIgMzIgMTcuNS0xNy41YzguOS04LjkgMTEuNS0yMS44IDcuNi0zMy4xbC0xMzcuOS0xMzYuOC0xNC45IDE0LjljLTQ5LjMgNDkuMy0xMjkuMSA0OS4zLTE3OC40IDAtMjMtMjMtMjMuOS01OS45LTIuMi04NHoiXX0sUWVhPUo5ZSxKZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctZG93biIsaWNvbjpbMzg0LDUxMixbODU5NV0sImYwNjMiLCJNMTY5LjQgNTAyLjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwyMjQgNDAyLjcgMjI0IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzcwLjctMTA1LjQtMTA1LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjB6Il19LGVnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsb2NhdGlvbi1kb3QiLGljb246WzM4NCw1MTIsWyJtYXAtbWFya2VyLWFsdCJdLCJmM2M1IiwiTTAgMTg4LjZDMCA4NC40IDg2IDAgMTkyIDBTMzg0IDg0LjQgMzg0IDE4OC42YzAgMTE5LjMtMTIwLjIgMjYyLjMtMTcwLjQgMzE2LjgtMTEuOCAxMi44LTMxLjUgMTIuOC00My4zIDAtNTAuMi01NC41LTE3MC40LTE5Ny41LTE3MC40LTMxNi44ek0xOTIgMjU2YTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4eiJdfSxldGE9ZWdlLHR0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbHVnLWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNjQwLDUxMixbXSwiZTU1ZCIsIk0xOTItMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NiAxMjggMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA5NiA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgNDguN2MtOTguNiA4LjEtMTc2IDkwLjctMTc2IDE5MS4zIDAgMjcuMyA1LjcgNTMuMyAxNiA3Ni45bDAgMy4xYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjYuN0MxNjUuMiAzOTguMSA5NiAzMTkuMSA5NiAyMjRsMC02NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJTNzguMyA5NiA5NiA5Nmw2NCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTQ5NiAyNTZhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em0wIDIyOGEyMCAyMCAwIDEgMCAwLTQwIDIwIDIwIDAgMSAwIDAgNDB6bTAtMTgwYy04LjggMC0xNiA3LjItMTYgMTZsMCA4MGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtODBjMC04LjgtNy4yLTE2LTE2LTE2eiJdfSxhdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29va2llLWJpdGUiLGljb246WzUxMiw1MTIsW10sImY1NjQiLCJNMjU3LjUgMjcuNmMtLjgtNS40LTQuOS05LjgtMTAuMy0xMC42LTIyLjEtMy4xLTQ0LjYgLjktNjQuNCAxMS40bC03NCAzOS41Qzg5LjEgNzguNCA3My4yIDk0LjkgNjMuNCAxMTVMMjYuNyAxOTAuNmMtOS44IDIwLjEtMTMgNDIuOS05LjEgNjQuOWwxNC41IDgyLjhjMy45IDIyLjEgMTQuNiA0Mi4zIDMwLjcgNTcuOWw2MC4zIDU4LjRjMTYuMSAxNS42IDM2LjYgMjUuNiA1OC43IDI4LjdsODMgMTEuN2MyMi4xIDMuMSA0NC42LS45IDY0LjQtMTEuNGw3NC0zOS41YzE5LjctMTAuNSAzNS42LTI3IDQ1LjQtNDcuMmwzNi43LTc1LjVjOS44LTIwLjEgMTMtNDIuOSA5LjEtNjQuOS0uOS01LjMtNS4zLTkuMy0xMC42LTEwLjEtNTEuNS04LjItOTIuOC00Ny4xLTEwNC41LTk3LjQtMS44LTcuNi04LTEzLjQtMTUuNy0xNC42LTU0LjYtOC43LTk3LjctNTItMTA2LjItMTA2Ljh6TTIwOCAxNDRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek0xNDQgMzM2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTIyNC02NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LHRnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY3Jld2RyaXZlci13cmVuY2giLGljb246WzU3Niw1MTIsWyJ0b29scyJdLCJmN2Q5IiwiTTcwLjgtNi43YzUuNC01LjQgMTMuOC02LjIgMjAuMi0yTDIwOS45IDcwLjVjOC45IDUuOSAxNC4yIDE1LjkgMTQuMiAyNi42bDAgNDkuNiA5MC44IDkwLjhjMzMuMy0xNSA3My45LTguOSAxMDEuMiAxOC41TDU0Mi4yIDM4Mi4xYzE4LjcgMTguNyAxOC43IDQ5LjEgMCA2Ny45bC02MC4xIDYwLjFjLTE4LjcgMTguNy00OS4xIDE4LjctNjcuOSAwTDI4OC4xIDM4NGMtMjcuNC0yNy40LTMzLjUtNjcuOS0xOC41LTEwMS4ybC05MC44LTkwLjgtNDkuNiAwYy0xMC43IDAtMjAuNy01LjMtMjYuNi0xNC4yTDIzLjQgNTguOWMtNC4yLTYuMy0zLjQtMTQuOCAyLTIwLjJMNzAuOC02Ljd6bTE0NSAzMDMuNWMtNi4zIDM2LjkgMi4zIDc1LjkgMjYuMiAxMDcuMmwtOTQuOSA5NWMtMjguMSAyOC4xLTczLjcgMjguMS0xMDEuOCAwcy0yOC4xLTczLjcgMC0xMDEuOGwxMzUuNC0xMzUuNSAzNS4yIDM1LjF6TTM4NC4xIDBjMjAuMSAwIDM5LjQgMy43IDU3LjEgMTAuNSAxMCAzLjggMTEuOCAxNi41IDQuMyAyNC4xTDM4OC44IDkxLjNjLTMgMy00LjcgNy4xLTQuNyAxMS4zbDAgNDEuNGMwIDguOCA3LjIgMTYgMTYgMTZsNDEuNCAwYzQuMiAwIDguMy0xLjcgMTEuMy00LjdsNTYuNy01Ni43YzcuNi03LjUgMjAuMy01LjcgMjQuMSA0LjMgNi44IDE3LjcgMTAuNSAzNyAxMC41IDU3LjEgMCA0My4yLTE3LjIgODIuMy00NSAxMTEuMWwtNDkuMS00OS4xYy0zMy4xLTMzLTc4LjUtNDUuNy0xMjEuMS0zOC40bC01Ni44LTU2LjggMC0yOS43LS4yLTVjLS44LTEyLjQtNC40LTI0LjMtMTAuNS0zNC45IDI5LjQtMzUgNzMuNC01Ny4yIDEyMi43LTU3LjN6Il19LHJ0YT10Z2Usc3RhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImluZGVudCIsaWNvbjpbNDQ4LDUxMixbXSwiZjAzYyIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjR6TTE5MiAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnptMzIgOTZsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyek0wIDQ0OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0xMjcuOCAyNjguNkwyNS44IDM0Ny45QzE1LjMgMzU2LjEgMCAzNDguNiAwIDMzNS4zTDAgMTc2LjdjMC0xMy4zIDE1LjMtMjAuOCAyNS44LTEyLjZsMTAxLjkgNzkuM2M4LjIgNi40IDguMiAxOC45IDAgMjUuM3oiXX0sYWdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhcnMiLGljb246WzQ0OCw1MTIsWyJuYXZpY29uIl0sImYwYzkiLCJNMCA5NkMwIDc4LjMgMTQuMyA2NCAzMiA2NGwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAxMjhDMTQuMyAxMjggMCAxMTMuNyAwIDk2ek0wIDI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek00NDggNDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnoiXX0saXRhPWFnZSxyZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZHMtcHJheWluZyIsaWNvbjpbNjQwLDUxMixbInByYXlpbmctaGFuZHMiXSwiZjY4NCIsIk0yMjQgMjk2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTEyLjYgODguMi0xMTkuN2MxMy4xLTE3LjggOS4zLTQyLjgtOC41LTU1LjlzLTQyLjgtOS4zLTU1LjkgOC41TDEwNi41IDE0Mi45Qzg5LjMgMTY2LjIgODAgMTk0LjUgODAgMjIzLjZsMCAxMTAuNy01OC4xIDE5LjRDOC44IDM1OCAwIDM3MC4yIDAgMzg0bDAgOTZjMCAxMCA0LjcgMTkuNSAxMi43IDI1LjVzMTguNCA4IDI4LjEgNS4ybDE1NC40LTQ0LjFjNTUtMTUuNyA5Mi44LTY1LjkgOTIuOC0xMjMuMUwyODggMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNzJ6bTE5MiAwbDAtNzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxMTkuNmMwIDU3LjIgMzcuOSAxMDcuNCA5Mi44IDEyMy4xbDE1NC40IDQ0LjFjOS43IDIuOCAyMCAuOCAyOC4xLTUuMlM2NDAgNDkwIDY0MCA0ODBsMC05NmMwLTEzLjgtOC44LTI2LTIxLjktMzAuNGwtNTguMS0xOS40IDAtMTEwLjdjMC0yOS05LjMtNTcuMy0yNi41LTgwLjdMNDQwLjIgMTYuM0M0MjcuMS0xLjUgNDAyLjEtNS4zIDM4NC4zIDcuOHMtMjEuNiAzOC4xLTguNSA1NS45TDQ2NCAxODMuNCA0NjQgMjk2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0eiJdfSxvdGE9cmdlLG50YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aXJ1c2VzIixpY29uOls2NDAsNTEyLFtdLCJlMDc2IiwiTTE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyIDAgMzAuNSAzNi45IDQ1LjggNTguNSAyNC4yIDEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNjLTIxLjYgMjEuNi02LjMgNTguNSAyNC4yIDU4LjUgMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJjLTMwLjUgMC00NS44IDM2LjktMjQuMiA1OC41IDEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwYy0yMS42LTIxLjYtNTguNS02LjMtNTguNSAyNC4yIDAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyYzAtMzAuNS0zNi45LTQ1LjgtNTguNS0yNC4yLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zQzc3LjggMjYwLjkgNjIuNSAyMjQgMzIgMjI0IDE0LjMgMjI0IDAgMjA5LjcgMCAxOTJzMTQuMy0zMiAzMi0zMmMzMC41IDAgNDUuOC0zNi45IDI0LjItNTguNS0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwQzEyMy4xIDc3LjggMTYwIDYyLjUgMTYwIDMyIDE2MCAxNC4zIDE3NC4zIDAgMTkyIDB6TTE0NCAxNzZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0xMjggNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMjQ4IDQwYzAgMjIuOSAyNy43IDM0LjQgNDMuOSAxOC4yIDkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWMtMTYuMiAxNi4yLTQuNyA0My45IDE4LjIgNDMuOSAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMjIuOSAwLTM0LjQgMjcuNy0xOC4yIDQzLjkgOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGMtMTYuMi0xNi4yLTQzLjktNC43LTQzLjkgMTguMiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTIyLjktMjcuNy0zNC40LTQzLjktMTguMi05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45YzE2LjItMTYuMiA0LjctNDMuOS0xOC4yLTQzLjktMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGMyMi45IDAgMzQuNC0yNy43IDE4LjItNDMuOS05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBjMTYuMiAxNi4yIDQzLjkgNC43IDQzLjktMTguMiAwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0ek01MDQgMzg0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6Il19LGx0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY2hvb2wtZmxhZyIsaWNvbjpbNTc2LDUxMixbXSwiZTU2ZSIsIk0yNTYtOGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxMTIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC03MiAwIDAgMTkuMiAxMjggNzYuOCA2NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyMjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjQgMCAxMjgtNzYuOCAwLTkxLjJ6TTI0MCAzODRsMCA4MCA5NiAwIDAtODBjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh6TTExMiA0MTZjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMHptMTYtMTQ0bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZ6TTQ5NiA0MTZjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMHptMTYtMTQ0bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZ6bS0yMjQgMGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6Il19LGN0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFkZW1hcmsiLGljb246WzY0MCw1MTIsWzg0ODJdLCJmMjVjIiwiTTM0Ni42IDExMC4yYy03LjgtMTEuNy0yMi40LTE3LTM1LjktMTIuOVMyODggMTEzLjkgMjg4IDEyOGwwIDI1NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTUwLjMgNjkuNCAxMDQuMWM1LjkgOC45IDE1LjkgMTQuMiAyNi42IDE0LjJzMjAuNy01LjMgMjYuNi0xNC4yTDU0NCAyMzMuNyA1NDQgMzg0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNTZjMC0xNC4xLTkuMi0yNi41LTIyLjctMzAuNnMtMjguMSAxLjEtMzUuOSAxMi45TDQ0OCAyNjIuMyAzNDYuNiAxMTAuMnpNMzIgOTZDMTQuMyA5NiAwIDExMC4zIDAgMTI4czE0LjMgMzIgMzIgMzJsNjQgMCAwIDIyNGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjI0IDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgOTZ6Il19LGR0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaXJlLWJ1cm5lciIsaWNvbjpbNTEyLDUxMixbXSwiZTRmMSIsIk0yODEuNyA0OC4zTDI5NCAzNC41YzUuNC02LjEgMTMuMy04LjggMjAuOS04LjkgNy4yIDAgMTQuMyAyLjYgMTkuOSA3LjggMTkuNyAxOC4zIDM5LjggNDMuMiA1NSA3MC42IDE1LjEgMjcuMiAyNi4yIDU4LjEgMjYuMiA4OC4xIDAgODguNy03MS4zIDE1OS44LTE2MCAxNTkuOC04OS42IDAtMTYwLTcxLjMtMTYwLTE1OS44IDAtMzcuMyAxNi03My40IDM2LjgtMTA0LjUgMjAuOS0zMS4zIDQ3LjUtNTkgNzAuOS04MC4yIDUuNy01LjIgMTMuMS03LjcgMjAuMy03LjVzMTMuNCAzLjIgMTguOCA3LjVjMTQuNCAxMS40IDM4LjkgNDAuNyAzOC45IDQwLjd6TTMyMCAyNDAuMmMwLTM2LjUtMzctNzMtNTQuOC04OC40LTUuNC00LjctMTMuMS00LjctMTguNSAwLTE3LjcgMTUuNC01NC44IDUxLjktNTQuOCA4OC40IDAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6TTkyLjggMzIwYzM3LjcgNDguMyA5Ni4xIDgwIDE2My4yIDgwIDY2LjUgMCAxMjUuMS0zMS43IDE2My04MGw0NSAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTY0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDQ0LjggMHpNNDU2IDQwMGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxzZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1zbWlsZS1iZWFtIixpY29uOls1MTIsNTEyLFsxMjg1MjIsInNtaWxlLWJlYW0iXSwiZjViOCIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTY1LjQgMzIxLjljMjAuNCAyOCA1My40IDQ2LjEgOTAuNiA0Ni4xczcwLjItMTguMSA5MC42LTQ2LjFjNy44LTEwLjcgMjIuOC0xMy4xIDMzLjUtNS4zczEzLjEgMjIuOCA1LjMgMzMuNUMzNTYuMyAzOTAgMzA5LjIgNDE2IDI1NiA0MTZzLTEwMC4zLTI2LTEyOS40LTY1LjljLTcuOC0xMC43LTUuNC0yNS43IDUuMy0zMy41czI1LjctNS40IDMzLjUgNS4zek0xNzYgMTgwYy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4em0xMzIgMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHoiXX0sdXRhPXNnZSxwdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVudC1hcnJvdy1sZWZ0LXJpZ2h0IixpY29uOls1MTIsNTEyLFtdLCJlNTdmIiwiTS0uNSAxMTNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDcyLTcyYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtMzEgMzEgMzEwLjEgMCA1NC4xIDAtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw3MiA3MmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNzIgNzJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzEtMzEtMTAyLjEgMC0uMSAwLTI2MiAwIDMxIDMxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTcyLTcyek0zNy4xIDQ3Nkw2MC4zIDI5Mi42YzEuMi05LjcgNi44LTE4LjMgMTUuMS0yMy4zTDIzOC44IDE3MGMxMC4yLTYuMiAyMi45LTYuMiAzMy4xLS4xbDE2NS41IDk5LjRjOC40IDUgMTQgMTMuNyAxNS4zIDIzLjRMNDc1LjkgNDc2YzIuNCAxOS4xLTEyLjUgMzYtMzEuNyAzNmwtNzEuOSAwYy0xMi4xIDAtMjMuMi02LjgtMjguNi0xNy43TDI3NS40IDM1Ny45Yy0xLjgtMy42LTUuNS01LjktOS41LTUuOS01LjkgMC0xMC42IDQuNy0xMC42IDEwLjZsMCAxMTcuNGMwIDE3LjctMTQuMyAzMi0zMiAzMkw2OC44IDUxMmMtMTkuMyAwLTM0LjItMTYuOS0zMS43LTM2eiJdfSxmdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm91dGUiLGljb246WzUxMiw1MTIsW10sImY0ZDciLCJNNTEyIDk2YzAgNTAuMi01OS4xIDEyNS4xLTg0LjYgMTU1LTMuOCA0LjQtOS40IDYuMS0xNC41IDVMMzIwIDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2bC0yNzYuNCAwYzguNy05LjkgMTkuMy0yMi42IDMwLTM2LjggNi4zLTguNCAxMi44LTE3LjYgMTktMjcuMkw0MTYgNDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC05NiAwYy01MyAwLTk2LTQzLTk2LTk2czQzLTk2IDk2LTk2bDM5LjggMGMtMjEtMzEuNS0zOS44LTY3LjctMzkuOC05NiAwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2ek0xMTcuMSA0ODkuMWMtMy44IDQuMy03LjIgOC4xLTEwLjEgMTEuM2wtMS44IDItLjItLjJjLTYgNC42LTE0LjYgNC0yMC0xLjgtMjUuMi0yNy40LTg1LTk3LjktODUtMTQ4LjQgMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmMwIDMwLTIxLjEgNjctNDMuNSA5Ny45LTEwLjcgMTQuNy0yMS43IDI4LTMwLjggMzguNWwtLjYgLjd6TTEyOCAzNTJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNNDE2IDEyOGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LGlnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmdsZXMtdXAiLGljb246WzM4NCw1MTIsWyJhbmdsZS1kb3VibGUtdXAiXSwiZjEwMiIsIk0yMTQuNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTYwIDE2MGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxOTIgMTA5LjMgMzI5LjQgMjQ2LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MHptMTYwIDM1MmwtMTYwLTE2MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTkyIDMwMS4zIDMyOS40IDQzOC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjN6Il19LGh0YT1pZ2UsbXRhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1Y2tldCIsaWNvbjpbNDQ4LDUxMixbXSwiZTRjZiIsIk00NDMuNyAyMDhjMi43IDQuNyA0LjMgMTAuMiA0LjMgMTYgMCAxNy43LTE0LjMgMzItMzIgMzJsLTUuMSAwLTIyLjQgMjEzYy0yLjYgMjQuNC0yMy4yIDQzLTQ3LjggNDNsLTIzMy42IDBjLTI0LjYgMC00NS4yLTE4LjUtNDcuOC00M0wzNy4xIDI1NiAzMiAyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyIDAtNS44IDEuNi0xMS4zIDQuMy0xNmw0MzkuNCAwek0yMjQtMTZjNzkuNSAwIDE0NCA2NC41IDE0NCAxNDRsMCAzMi00OCAwIDAtMzJjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZsMCAzMi00OCAwIDAtMzJDODAgNDguNSAxNDQuNS0xNiAyMjQtMTZ6Il19LGd0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsZXNzLXRoYW4tZXF1YWwiLGljb246WzQ0OCw1MTIsW10sImY1MzciLCJNNDI2LjEgOTQuNGMxNi44LTUuNiAyNS44LTIzLjcgMjAuMi00MC41cy0yMy43LTI1LjgtNDAuNS0yMC4ybC0zODQgMTI4QzguOCAxNjYgMCAxNzguMiAwIDE5MnM4LjggMjYgMjEuOSAzMC40bDM4NCAxMjhjMTYuOCA1LjYgMzQuOS0zLjUgNDAuNS0yMC4ycy0zLjUtMzQuOS0yMC4yLTQwLjVMMTMzLjIgMTkyIDQyNi4xIDk0LjR6TTMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiA0MTZ6Il19LGJ0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb2xkZXItY2xvc2VkIixpY29uOls1MTIsNTEyLFtdLCJlMTg1IiwiTTQ0OCA0NDhMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3NiA1MTIgMCAwIDE3NmMwIDM1LjMtMjguNyA2NC02NCA2NHptNjQtMjg4TDAgMTYwIDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMTM4LjcgMGMxMy44IDAgMjcuMyA0LjUgMzguNCAxMi44bDM4LjQgMjguOGM1LjUgNC4yIDEyLjMgNi40IDE5LjIgNi40TDQ0OCA4MGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE2eiJdfSx2dGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXRocm91Z2gtd2luZG93IixpY29uOls2NDAsNTEyLFtdLCJlNWE5IiwiTTY0IDY0bDIyNCAwIDAgOS44YzAgMzktMjMuNyA3NC01OS45IDg4LjQtNjAuNSAyNC4yLTEwMC4xIDgyLjctMTAwLjEgMTQ3LjlsMCA3My44LTY0IDAgMC0zMjB6bTI4OCAwbDIyNCAwIDAgMzIwLTY3LjcgMC0zLjctNC41LTc1LjItOTAuMmMtOS4xLTEwLjktMjIuNi0xNy4zLTM2LjktMTcuM2wtNzEuMSAwLTQxLTYzLjFjLS4zLS41LS42LTEtMS0xLjQgNDQuNy0yOSA3Mi41LTc5IDcyLjUtMTMzLjZsMC05Ljh6bTczIDMyMGwtMjYuNiAwIDQyLjcgNjQgMTUwLjkgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM1MmMwLTI2LjUtMjEuNS00OC00OC00OEw0OCAwQzIxLjUgMCAwIDIxLjUgMCA0OEwwIDQwMGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyNjAuMiAwIDMzLjIgNDkuOGM5LjggMTQuNyAyOS43IDE4LjcgNDQuNCA4LjlzMTguNy0yOS43IDguOS00NC40bC04NC4yLTEyNi4yIDc0LjYgMCA0MCA0OHptLTE1OS41IDBsLTczLjUgMCAwLTczLjhjMC0xMC4yIDEuNi0yMC4xIDQuNy0yOS41TDI2NS41IDM4NHpNMTkyIDEyOGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAweiJdfSx4dGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Nob29sLWxvY2siLGljb246WzY0MCw1MTIsW10sImU1NmYiLCJNMCAxOTJjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjQgMCAxMjcuOS0xMTUuMWMxOC4zLTE2LjQgNDYtMTYuNCA2NC4yIDBMNDQ4IDEyOCA1MTIgMTI4YzMzIDAgNjAuMiAyNSA2My42IDU3LjItMTQuNy01LjktMzAuOC05LjItNDcuNi05LjItNzAuNyAwLTEyOCA1Ny4zLTEyOCAxMjhsMCAyNC40Yy0xOS42IDE3LjYtMzIgNDMuMS0zMiA3MS41bDAgOTZjMCA1LjUgLjUgMTAuOSAxLjMgMTYuMUw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTkyek0zMzIuMyAzNDEuNWMtNi0zLjUtMTIuOS01LjUtMjAuMy01LjVsLTQ4IDBjLTIyLjEgMC00MCAxNy45LTQwIDQwbDAgODggOTYgMCAwLTY0LjFjMC0yMC44IDQuNC00MC41IDEyLjMtNTguNHpNMTEyIDM4NGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwem0xNi0xNDRsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNnptMjI0LTQ4YTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpNNTYwIDM1MmwwLTQ3LjljMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDB6bS0xMTIgMi43bDAtNTAuNmMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwbDAgNTAuNmMxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjNsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTI4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zeiJdfSx5dGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWJ1cnN0IixpY29uOls2NDAsNTEyLFtdLCJlNTNiIiwiTTIwNCA0MC4xYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHpNNCAxNDQuMWMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNOTYuNSAyODUuNWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMy45LTMzLjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45TDk2LjUgMjg1LjV6TTYyLjYgMi43YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDMzLjkgMzMuOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDYyLjYgMzYuNmMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6TTM1Mi40LTMyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek00NzguNyAyOTkuMWwtNDYuMy02Mi40IDAgMjc1LjNjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNjBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yNzUuMy00Ni4zIDYyLjRjLTEwLjUgMTQuMi0zMC42IDE3LjItNDQuOCA2LjZzLTE3LjItMzAuNi02LjYtNDQuOGw3MC41LTk1YzI1LjItMzMuOSA2NS01My45IDEwNy4yLTUzLjlzODIgMjAgMTA3LjIgNTMuOWw3MC41IDk1YzEwLjUgMTQuMiA3LjYgMzQuMi02LjYgNDQuOHMtMzQuMiA3LjYtNDQuOC02LjZ6Il19LG9nZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsZWZ0LWxvbmciLGljb246WzU3Niw1MTIsWyJsb25nLWFycm93LWFsdC1sZWZ0Il0sImYzMGEiLCJNOS40IDI3OC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2wxMjgtMTI4YzkuMi05LjIgMjIuOS0xMS45IDM0LjktNi45UzE5MiAxMTUuMSAxOTIgMTI4bDAgNjQgMzM2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAzMmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzM2IDAgMCA2NGMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOWwtMTI4LTEyOHoiXX0sd3RhPW9nZSxuZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibG9jYXRpb24tY3Jvc3NoYWlycyIsaWNvbjpbNTc2LDUxMixbImxvY2F0aW9uIl0sImY2MDEiLCJNMjg4LTE2YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTguM2M5OC4xIDE0IDE3NS43IDkxLjYgMTg5LjcgMTg5LjdsMTguMyAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOC4zIDBjLTE0IDk4LjEtOTEuNiAxNzUuNy0xODkuNyAxODkuN2wwIDE4LjNjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xOC4zQzE1Ny45IDQ2My43IDgwLjMgMzg2LjEgNjYuMyAyODhMNDggMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE4LjMgMEM4MC4zIDEyNS45IDE1Ny45IDQ4LjMgMjU2IDM0LjNMMjU2IDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0xMjggMjU2YTE2MCAxNjAgMCAxIDAgMzIwIDAgMTYwIDE2MCAwIDEgMCAtMzIwIDB6bTE2MC05NmE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnoiXX0sTXRhPW5nZSxsZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWRvdHMtZnJvbS1saW5lIixpY29uOls1MTIsNTEyLFsiZGlhZ25vc2VzIl0sImY0NzAiLCJNMTg0IDcyYTcyIDcyIDAgMSAxIDE0NCAwIDcyIDcyIDAgMSAxIC0xNDQgMHpNMTYwIDI5OS4zYy0xOS45IDIyLjYtMzIgNTIuMi0zMiA4NC43bDAgMzItNjQgMCAwLTMyYzAtMTA2IDg2LTE5MiAxOTItMTkyczE5MiA4NiAxOTIgMTkybDAgMzItNjQgMCAwLTMyYzAtMzIuNS0xMi4xLTYyLjEtMzItODQuN2wwIDExNi43LTE5MiAwIDAtMTE2Ljd6TTIzMiAzODRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em04OC0xMDRhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNMjQgNDY0bDQ2NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNNjQgMTg0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTQyNCA3MmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LGt0YT1sZ2UsTXRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdhdWdlLXNpbXBsZS1oaWdoIixpY29uOls1MTIsNTEyLFs2MTY2OCwidGFjaG9tZXRlciIsInRhY2hvbWV0ZXItZmFzdCJdLCJmNjJhIiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTMyMCA5NmMwLTE2LjItNi0zMS4xLTE2LTQyLjNsNjkuNS0xMzguOWM1LjktMTEuOSAxLjEtMjYuMy0xMC43LTMyLjJzLTI2LjMtMS4xLTMyLjIgMTAuN0wyNjEuMSAyODguMmMtMS43LS4xLTMuNC0uMi01LjEtLjItMzUuMyAwLTY0IDI4LjctNjQgNjRzMjguNyA2NCA2NCA2NCA2NC0yOC43IDY0LTY0eiJdfSxTdGE9TXRlLHp0YT1NdGUsY2dlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFuZ2xlcy1sZWZ0IixpY29uOls0NDgsNTEyLFsxNzEsImFuZ2xlLWRvdWJsZS1sZWZ0Il0sImYxMDAiLCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTYgMjE0LjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjB6bTM1Mi0xNjBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wyNjkuMyAyNTYgNDA2LjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDB6Il19LEN0YT1jZ2UsZGdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVwLWRvd24iLGljb246WzUxMiw1MTIsWzg1OTcsMTEwMjEsImFycm93cy1hbHQtdiJdLCJmMzM4IiwiTTQwNi42IDUwMi42bDk2LTk2YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzQ5Mi45IDM1MiA0ODAgMzUybC02NCAwIDAtMzIwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzIwLTY0IDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45bDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwek0xNTAuNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlTMTkuMSAxNjAgMzIgMTYwbDY0IDAgMCAzMjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyMCA2NCAwYzEyLjkgMCAyNC42LTcuOCAyOS42LTE5LjhzMi4yLTI1LjctNi45LTM0LjlsLTk2LTk2eiJdfSxfdGE9ZGdlLHVnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXR0ZXJ5LWVtcHR5IixpY29uOls2NDAsNTEyLFsiYmF0dGVyeS0wIl0sImYyNDQiLCJNMTEyIDE2MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjI0YzAgOC44IDcuMiAxNiAxNiAxNmw0MTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yMjRjMC04LjgtNy4yLTE2LTE2LTE2bC00MTYgMHpNMzIgMTc2YzAtNDQuMiAzNS44LTgwIDgwLTgwbDQxNiAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgNDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwwIDQ4YzAgNDQuMi0zNS44IDgwLTgwIDgwbC00MTYgMGMtNDQuMiAwLTgwLTM1LjgtODAtODBsMC0yMjR6Il19LFR0YT11Z2UsTHRhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImtleWJvYXJkIixpY29uOls1NzYsNTEyLFs5ZTNdLCJmMTFjIiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0em0xNiA2NGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek02NCAyNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMTc2IDEyOGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek0xNjAgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE2IDgwbDIyNCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMjI0IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnptODAtMTc2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE2IDgwbDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwLTgwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE2IDgwbDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwLTgwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE2IDgwbDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6Il19LCR0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb29raWUiLGljb246WzUxMiw1MTIsWzEyNzg1MF0sImY1NjMiLCJNMjQ3LjIgMTdjLTIyLjEtMy4xLTQ0LjYgLjktNjQuNCAxMS40bC03NCAzOS41Qzg5LjEgNzguNCA3My4yIDk0LjkgNjMuNCAxMTVMMjYuNyAxOTAuNmMtOS44IDIwLjEtMTMgNDIuOS05LjEgNjQuOWwxNC41IDgyLjhjMy45IDIyLjEgMTQuNiA0Mi4zIDMwLjcgNTcuOWw2MC4zIDU4LjRjMTYuMSAxNS42IDM2LjYgMjUuNiA1OC43IDI4LjdsODMgMTEuN2MyMi4xIDMuMSA0NC42LS45IDY0LjQtMTEuNGw3NC0zOS41YzE5LjctMTAuNSAzNS42LTI3IDQ1LjQtNDcuMmwzNi43LTc1LjVjOS44LTIwLjEgMTMtNDIuOSA5LjEtNjQuOWwtMTQuNi04Mi44Yy0zLjktMjIuMS0xNC42LTQyLjMtMzAuNy01Ny45TDM4OC45IDU3LjVjLTE2LjEtMTUuNi0zNi42LTI1LjYtNTguNy0yOC43TDI0Ny4yIDE3ek0yMDggMTQ0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTQ0IDMzNmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0yMjQtNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxEdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3RvcHdhdGNoIixpY29uOls0NDgsNTEyLFs5MjAxXSwiZjJmMiIsIk0xNjguNSAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDAgMCAyNS4zYy0xMDggMTEuOS0xOTIgMTAzLjUtMTkyIDIxNC43IDAgMTE5LjMgOTYuNyAyMTYgMjE2IDIxNnMyMTYtOTYuNyAyMTYtMjE2YzAtMzkuOC0xMC44LTc3LjEtMjkuNi0xMDkuMmwyOC4yLTI4LjJjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTIzLjQgMjMuNGMtMzIuOS0zMC4yLTc1LjItNTAuMy0xMjItNTUuNWwwLTI1LjMgMzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTEyIDB6bTgwIDE4NGwwIDEwNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTEwNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0eiJdfSxBdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWplY3QiLGljb246WzQ0OCw1MTIsWzkxNjddLCJmMDUyIiwiTTIyNCAzMmMxMy41IDAgMjYuMyA1LjYgMzUuNCAxNS42bDE3NiAxOTJjMTIuOSAxNCAxNi4yIDM0LjMgOC42IDUxLjhTNDE5IDMyMCA0MDAgMzIwTDQ4IDMyMGMtMTkgMC0zNi4zLTExLjItNDMuOS0yOC43cy00LjMtMzcuNyA4LjYtNTEuOGwxNzYtMTkyQzE5Ny43IDM3LjYgMjEwLjUgMzIgMjI0IDMyek0wIDQzMmMwLTI2LjUgMjEuNS00OCA0OC00OGwzNTIgMGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4eiJdfSxFdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2F0ZWxsaXRlLWRpc2giLGljb246WzUxMiw1MTIsWzEyODIyNV0sImY3YzAiLCJNMjMyIDBjMTU0LjYgMCAyODAgMTI1LjQgMjgwIDI4MCAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTEyOC4xLTEwMy45LTIzMi0yMzItMjMyLTEzLjMgMC0yNC0xMC43LTI0LTI0UzIxOC43IDAgMjMyIDB6TTIwOCAxMjBjMC0xMy4zIDEwLjctMjQgMjQtMjQgMTAxLjYgMCAxODQgODIuNCAxODQgMTg0IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNzUuMS02MC45LTEzNi0xMzYtMTM2LTEzLjMgMC0yNC0xMC43LTI0LTI0ek0yNi40IDE0Mi43YzguOC0xNy45IDMyLjQtMTkuOSA0Ni41LTUuOGwxMjguNSAxMjguNSAzMi0zMmMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zbC0zMiAzMiAxMjguNSAxMjguNWMxNC4xIDE0LjEgMTIgMzcuNi01LjggNDYuNS0zNC4yIDE2LjktNzIuNiAyNi40LTExMy4zIDI2LjQtMTQxLjQgMC0yNTYtMTE0LjYtMjU2LTI1NiAwLTQwLjcgOS41LTc5LjIgMjYuNC0xMTMuM3oiXX0scGdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2Utcm9sbGluZy1leWVzIixpY29uOls1MTIsNTEyLFsxMjg1ODAsIm1laC1yb2xsaW5nLWV5ZXMiXSwiZjVhNSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTkyIDM1MmwxMjggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTI4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTMyLTEyOGMwIDM1LjMtMjguNyA2NC02NCA2NHMtNjQtMjguNy02NC02NGMwLTI2IDE1LjUtNDguNCAzNy44LTU4LjQtMy43IDUuMi01LjggMTEuNi01LjggMTguNCAwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzAtNi45LTIuMi0xMy4yLTUuOC0xOC40IDIyLjMgMTAgMzcuOCAzMi40IDM3LjggNTguNHptMTI4IDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NCAwLTI2IDE1LjUtNDguNCAzNy44LTU4LjQtMy43IDUuMi01LjggMTEuNi01LjggMTguNCAwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzAtNi45LTIuMi0xMy4yLTUuOC0xOC40IDIyLjMgMTAgMzcuOCAzMi40IDM3LjggNTguNCAwIDM1LjMtMjguNyA2NC02NCA2NHoiXX0sUHRhPXBnZSxmZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGlzdC1jaGVjayIsaWNvbjpbNTEyLDUxMixbInRhc2tzIl0sImYwYWUiLCJNMTMzLjggMzYuM2MxMC45IDcuNiAxMy41IDIyLjYgNS45IDMzLjRsLTU2IDgwYy00LjEgNS44LTEwLjUgOS41LTE3LjYgMTAuMVM1MiAxNTggNDcgMTUzTDcgMTEzQy0yLjMgMTAzLjYtMi4zIDg4LjQgNyA3OVMzMS42IDY5LjcgNDEgNzlsMTkuOCAxOS44IDM5LjYtNTYuNmM3LjYtMTAuOSAyMi42LTEzLjUgMzMuNC01Ljl6bTAgMTYwYzEwLjkgNy42IDEzLjUgMjIuNiA1LjkgMzMuNGwtNTYgODBjLTQuMSA1LjgtMTAuNSA5LjUtMTcuNiAxMC4xUzUyIDMxOCA0NyAzMTNMNyAyNzNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwxOS44IDE5LjggMzkuNi01Ni42YzcuNi0xMC45IDIyLjYtMTMuNSAzMy40LTUuOXpNMjI0IDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTAgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTE2MCA0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI4OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNjQgMzc2YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHoiXX0sSXRhPWZnZSxOdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Fjay14bWFyayIsaWNvbjpbNTEyLDUxMixbXSwiZTU2YSIsIk0zMjggMTEybC0xNDQgMC0zNy4zLTc0LjVjLTEuOC0zLjYtMi43LTcuNi0yLjctMTEuNiAwLTE0LjMgMTEuNi0yNS45IDI1LjktMjUuOUwzNDIuMSAwYzE0LjMgMCAyNS45IDExLjYgMjUuOSAyNS45IDAgNC0uOSA4LTIuNyAxMS42TDMyOCAxMTJ6TTE2OS42IDE2MGwxNzIuOCAwIDQ4LjcgNDAuNkM0NTcuNiAyNTYgNDk2IDMzOCA0OTYgNDI0LjUgNDk2IDQ3Mi44IDQ1Ni44IDUxMiA0MDguNSA1MTJsLTMwNS4xIDBDNTUuMiA1MTIgMTYgNDcyLjggMTYgNDI0LjUgMTYgMzM4IDU0LjQgMjU2IDEyMC45IDIwMC42TDE2OS42IDE2MHpNMzIzLjkgMjg0LjFjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC0zMy45IDMzLjktMzMuOS0zMy45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDMzLjkgMzMuOS0zMy45IDMzLjljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGwzMy45LTMzLjkgMzMuOSAzMy45YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMzMuOS0zMy45IDMzLjktMzMuOWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXoiXX0sUnRhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imhhc2h0YWciLGljb246WzUxMiw1MTIsWzYyMDk4XSwiMjMiLCJNMjE0LjcgLjdjMTcuMyAzLjcgMjguMyAyMC43IDI0LjYgMzhsLTE5LjEgODkuMyAxMjYuNSAwIDIyLTEwMi43QzM3Mi40IDggMzg5LjQtMyA0MDYuNyAuN3MyOC4zIDIwLjcgMjQuNiAzOEw0MTIuMiAxMjggNDgwIDEyOGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtODEuNiAwLTI3LjQgMTI4IDY3LjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtODEuNiAwLTIyIDEwMi43Yy0zLjcgMTcuMy0yMC43IDI4LjMtMzggMjQuNnMtMjguMy0yMC43LTI0LjYtMzhsMTkuMS04OS4zLTEyNi41IDAtMjIgMTAyLjdjLTMuNyAxNy4zLTIwLjcgMjguMy0zOCAyNC42cy0yOC4zLTIwLjctMjQuNi0zOEw5OS44IDM4NCAzMiAzODRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsODEuNiAwIDI3LjQtMTI4LTY3LjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw4MS42IDAgMjItMTAyLjdDMTgwLjQgOCAxOTcuNC0zIDIxNC43IC43ek0yMDYuNCAxOTJsLTI3LjQgMTI4IDEyNi41IDAgMjcuNC0xMjgtMTI2LjUgMHoiXX0sT3RhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyYWluIixpY29uOlszODQsNTEyLFsxMjg2NDZdLCJmMjM4IiwiTTAgOTZDMCA0MyA0MyAwIDk2IDBMMjg4IDBjNTMgMCA5NiA0MyA5NiA5NmwwIDI1NmMwIDQwLjEtMjQuNiA3NC41LTU5LjUgODguOGw1My45IDYzLjdjOC42IDEwLjEgNy4zIDI1LjMtMi44IDMzLjhzLTI1LjMgNy4zLTMzLjgtMi44bC03NC04Ny41LTE1MS4zIDAtNzQgODcuNWMtOC42IDEwLjEtMjMuNyAxMS40LTMzLjggMi44cy0xMS40LTIzLjctMi44LTMzLjhsNTMuOS02My43QzI0LjYgNDI2LjUgMCAzOTIuMSAwIDM1MkwwIDk2em02NCAzMmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJMOTYgOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0xOTIgMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sRnRhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdhbWVwYWQiLGljb246WzY0MCw1MTIsW10sImYxMWIiLCJNNDQ4IDY0YzEwNiAwIDE5MiA4NiAxOTIgMTkyUzU1NCA0NDggNDQ4IDQ0OGwtMjU2IDBDODYgNDQ4IDAgMzYyIDAgMjU2Uzg2IDY0IDE5MiA2NGwyNTYgMHpNMTkyIDE3NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAzMi0zMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDAgMCAzMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMzIgMzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMzIgMCAwLTMyYzAtMTMuMy0xMC43LTI0LTI0LTI0em0yNDAgOTZhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0em02NC05NmEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6Il19LGhnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWV4cG9ydCIsaWNvbjpbNTc2LDUxMixbImFycm93LXJpZ2h0LWZyb20tZmlsZSJdLCJmNTZlIiwiTTk2LjUgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC05NiA3OC4xIDAtMzEgMzFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3Mi03MmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOWwtNzItNzJjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMzEgMzEtNzguMSAwIDAtMTMzLjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjkxLjIgMTguN0MyNzkuMiA2LjcgMjYzIDAgMjQ2IDBMOTYuNSAwek0zNTggMTc2bC05My41IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MC41IDU4LjUgMzU4IDE3NnpNMjI0LjUgMzI4YzAtMTMuMyAxMC43LTI0IDI0LTI0bDEwNCAwIDAgNDgtMTA0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0eiJdfSxCdGE9aGdlLG1nZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW1hY2UiLGljb246WzUxMiw1MTIsWzEyODU1NiwiZ3JpbWFjZSJdLCJmNTdmIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek00MDAgMzUyYzAgMjUuMi0xOS40IDQ1LjgtNDQgNDcuOGwwLTk1LjdjMjQuNiAyIDQ0IDIyLjcgNDQgNDcuOHpNMjc2IDMwNGw0MCAwIDAgOTYtNDAgMCAwLTk2em0tODAgOTZsMC05NiA0MCAwIDAgOTYtNDAgMHptLTQwLTk1LjhsMCA5NS43Yy0yNC42LTItNDQtMjIuNy00NC00Ny44czE5LjQtNDUuOCA0NC00Ny44ek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LEh0YT1tZ2UsZ2dlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyYWluLXN1YndheSIsaWNvbjpbMzg0LDUxMixbInN1YndheSJdLCJmMjM5IiwiTTAgOTZDMCA0MyA0MyAwIDk2IDBMMjg4IDBjNTMgMCA5NiA0MyA5NiA5NmwwIDI1NmMwIDQwLjEtMjQuNiA3NC41LTU5LjUgODguOGw1My45IDYzLjdjOC42IDEwLjEgNy4zIDI1LjMtMi44IDMzLjhzLTI1LjMgNy4zLTMzLjgtMi44bC03NC04Ny41LTE1MS4zIDAtNzQgODcuNWMtOC42IDEwLjEtMjMuNyAxMS40LTMzLjggMi44cy0xMS40LTIzLjctMi44LTMzLjhsNTMuOS02My43QzI0LjYgNDI2LjUgMCAzOTIuMSAwIDM1MkwwIDk2em02NCAzMmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDcyIDAgMC0xNjAtNzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTIxNiAyNTZsNzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC03MiAwIDAgMTYwek05NiAzODRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0yMjQtMzJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHoiXX0scXRhPWdnZSxiZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWRvdCIsaWNvbjpbNTEyLDUxMixbMTI4MjgwLCJkb3QtY2lyY2xlIl0sImYxOTIiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTAtMzUyYTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyeiJdfSxWdGE9YmdlLGp0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJvYmplY3QtZ3JvdXAiLGljb246WzU3Niw1MTIsW10sImYyNDciLCJNMzIgMTE5LjRDMTIuOSAxMDguNCAwIDg3LjcgMCA2NCAwIDI4LjcgMjguNyAwIDY0IDAgODcuNyAwIDEwOC40IDEyLjkgMTE5LjQgMzJsMzM3LjEgMGMxMS4xLTE5LjEgMzEuNy0zMiA1NS40LTMyIDM1LjMgMCA2NCAyOC43IDY0IDY0IDAgMjMuNy0xMi45IDQ0LjQtMzIgNTUuNGwwIDI3My4xYzE5LjEgMTEuMSAzMiAzMS43IDMyIDU1LjQgMCAzNS4zLTI4LjcgNjQtNjQgNjQtMjMuNyAwLTQ0LjQtMTIuOS01NS40LTMybC0zMzcuMSAwYy0xMS4xIDE5LjEtMzEuNyAzMi01NS40IDMyLTM1LjMgMC02NC0yOC43LTY0LTY0IDAtMjMuNyAxMi45LTQ0LjQgMzItNTUuNGwwLTI3My4xem00NDggMGMtOS43LTUuNi0xNy44LTEzLjctMjMuNC0yMy40TDExOS40IDk2Yy01LjYgOS43LTEzLjcgMTcuOC0yMy40IDIzLjRsMCAyNzMuMWM5LjcgNS42IDE3LjggMTMuNyAyMy40IDIzLjRsMzM3LjEgMGM1LjYtOS43IDEzLjctMTcuOCAyMy40LTIzLjRsMC0yNzMuMXpNMTQ0IDE3NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxMTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xMTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NHpNMjU2IDMyMGwzMiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTEyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTZ6Il19LFV0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGlwIixpY29uOls2NDAsNTEyLFsxMjg2NzRdLCJmMjFhIiwiTTI3MiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE2LTE2IDBjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMTA4LjgtMjEuNiA4LjZjLTE0LjggNS45LTIyLjUgMjIuNC0xNy40IDM3LjUgMTAuNCAzMS4zIDI2LjggNTkuMyA0Ny43IDgzLjEgMjAuMS05LjIgNDEuNy0xMy45IDYzLjMtMTQgMzMuMS0uMiA2Ni4zIDEwLjIgOTQuNCAzMS40bDEuNiAxLjIgMC0yMTUtMTA0IDQxLjYgMC04My4yYzAtOC44IDcuMi0xNiAxNi0xNmwyMjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4My4yLTEwNC00MS42IDAgMjE1IDEuNi0xLjJjMjcuNS0yMC43IDU5LjktMzEuMiA5Mi40LTMxLjQgMjIuMy0uMSA0NC42IDQuNSA2NS4zIDE0IDIwLjktMjMuNyAzNy4zLTUxLjggNDcuNy04My4xIDUtMTUuMi0yLjYtMzEuNi0xNy40LTM3LjVMNTEyIDI1Mi44IDUxMiAxNDRjMC00NC4yLTM1LjgtODAtODAtODBsLTE2IDAgMC0xNmMwLTI2LjUtMjEuNS00OC00OC00OEwyNzIgMHpNNDAzLjQgNDc2LjFjMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMTkgMTQuNCA0MS45IDI4LjIgNjcuMiAzMy4zIDI2LjUgNS40IDU0LjMgLjggODAuNy0xOS4xIDEwLjYtOCAxMi43LTIzIDQuNy0zMy42cy0yMy0xMi43LTMzLjYtNC43Yy0xNC45IDExLjItMjguNiAxMy4xLTQyLjMgMTAuMy0xNC45LTMtMzAuOS0xMS45LTQ3LjgtMjQuNi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zcy0zMC41LTguMi01NC41LTI2LjNjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yMS42IDE2LjMtNDEuMyAyNS44LTU4LjkgMjUuNy05LjYtLjEtMTkuOS0zLTMxLjItMTEuNS0xMC42LTgtMjUuNi01LjktMzMuNiA0LjdTNyA0ODIuMyAxNy42IDQ5MC4zYzE5LjEgMTQuNCAzOS40IDIxIDU5LjggMjEuMSAzMy45IC4yIDY0LjMtMTcuNCA4OC4xLTM1LjMgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOXoiXX0sV3RhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImMiLGljb246WzM4NCw1MTIsWzk5XSwiNDMiLCJNMzI5LjEgMTQyLjljLTYyLjUtNjIuNS0xNTUuOC02Mi41LTIxOC4zIDBzLTYyLjUgMTYzLjggMCAyMjYuMyAxNTUuOCA2Mi41IDIxOC4zIDBjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2MtODcuNSA4Ny41LTIyMS4zIDg3LjUtMzA4LjggMHMtODcuNS0yMjkuMyAwLTMxNi44IDIyMS4zLTg3LjUgMzA4LjggMGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMHoiXX0sdmdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1waG9uZSIsaWNvbjpbNDQ4LDUxMixbInBob25lLXNxdWFyZSJdLCJmMDk4IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTg4IDk2LjdjOS44LTIuNyAyMC4xIDIuNCAyNCAxMS44bDIwLjMgNDguN2MzLjQgOC4zIDEuMSAxNy44LTUuOSAyMy41bC0yMi4xIDE4YzE2LjIgMzUuOCA0NC41IDY1IDc5LjYgODIuNGwxOS4zLTIzLjZjNS43LTYuOSAxNS4yLTkuMyAyMy41LTUuOWw0OC43IDIwLjNjOS40IDMuOSAxNC40IDE0LjIgMTEuOCAyNGwtLjggMi44Yy04LjggMzIuMy00MC4xIDU5LjktNzguMiA1MS44LTg3LjUtMTguNS0xNTYuMy04Ny40LTE3NC45LTE3NC45LTguMS0zOC4xIDE5LjUtNjkuNCA1MS44LTc4LjJsMi44LS44eiJdfSxHdGE9dmdlLFl0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJydWxlci1jb21iaW5lZCIsaWNvbjpbNDQ4LDUxMixbXSwiZjU0NiIsIk0xIDQ0MS43QzUuNSA0NjMuNSAyNC44IDQ4MCA0OCA0ODBsMzUyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NmMwLTI2LjUtMjEuNS00OC00OC00OGwtNDggMCAwIDcyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNzItNjQgMCAwIDcyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNzItNzIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw3MiAwIDAtNjQtNzIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw3MiAwIDAtNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMzJDMjEuNSAzMiAwIDUzLjUgMCA4MEwwIDQzMmMwIDMuMyAuMyA2LjYgMSA5Ljd6Il19LGt0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3Mtcm90YXRlIixpY29uOls1MTIsNTEyLFsxMjg0NzIsInJlZnJlc2giLCJzeW5jIl0sImYwMjEiLCJNNjUuOSAyMjguNWMxMy4zLTkzIDkzLjQtMTY0LjUgMTkwLjEtMTY0LjUgNTMgMCAxMDEgMjEuNSAxMzUuOCA1Ni4yIC4yIC4yIC40IC40IC42IC42bDcuNiA3LjItNDcuOSAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNTMuNC0xMS4zLTEwLjdDMzkwLjUgMjguNiAzMjYuNSAwIDI1NiAwIDEyNyAwIDIwLjMgOTUuNCAyLjYgMjE5LjUgLjEgMjM3IDEyLjIgMjUzLjIgMjkuNyAyNTUuN3MzMy43LTkuNyAzNi4yLTI3LjF6bTQ0My41IDY0YzIuNS0xNy41LTkuNy0zMy43LTI3LjEtMzYuMnMtMzMuNyA5LjctMzYuMiAyNy4xYy0xMy4zIDkzLTkzLjQgMTY0LjUtMTkwLjEgMTY0LjUtNTMgMC0xMDEtMjEuNS0xMzUuOC01Ni4yLS4yLS4yLS40LS40LS42LS42bC03LjYtNy4yIDQ3LjkgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMjBjLTguNSAwLTE2LjcgMy40LTIyLjcgOS41Uy0uMSAzNDMuNyAwIDM1Mi4zbDEgMTI3Yy4xIDE3LjcgMTQuNiAzMS45IDMyLjMgMzEuN1M2NS4yIDQ5Ni40IDY1IDQ3OC43bC0uNC01MS41IDEwLjcgMTAuMWM0Ni4zIDQ2LjEgMTEwLjIgNzQuNyAxODAuNyA3NC43IDEyOSAwIDIzNS43LTk1LjQgMjUzLjQtMjE5LjV6Il19LEt0YT1rdGUsWnRhPWt0ZSx4Z2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWRyZXNzIixpY29uOlszODQsNTEyLFsiZmVtYWxlIl0sImYxODIiLCJNMTM2IDI0YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMTEyIDM4NGwtMjUuOCAwYy0xMC45IDAtMTguNi0xMC43LTE1LjItMjEuMWw0My0xMjktNDguMyA2NS4xYy0xMC41IDE0LjItMzAuNiAxNy4yLTQ0LjggNi42cy0xNy4yLTMwLjYtNi42LTQ0LjhsNzAuNS05NUMxMTAgMTMyIDE0OS43IDExMiAxOTIgMTEyczgyIDIwIDEwNy4yIDUzLjlsNzAuNSA5NWMxMC41IDE0LjIgNy42IDM0LjItNi42IDQ0LjhzLTM0LjIgNy42LTQ0LjgtNi42TDI3MCAyMzQgMzEzIDM2Mi45YzMuNSAxMC40LTQuMyAyMS4xLTE1LjIgMjEuMWwtMjUuOCAwIDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTI4LTMyIDAgMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMjh6Il19LFh0YT14Z2UsUXRhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2stb3BlbiIsaWNvbjpbNTEyLDUxMixbMTI4MjE0LDEyODM2Nl0sImY1MTgiLCJNMjU2IDE0MS4zbDAgMzA5LjMgLjUtLjJDMzExLjEgNDI3LjcgMzY5LjcgNDE2IDQyOC44IDQxNmwxOS4yIDAgMC0zMjAtMTkuMiAwYy00Mi4yIDAtODQuMSA4LjQtMTIzLjEgMjQuNi0xNi44IDctMzMuNCAxMy45LTQ5LjcgMjAuN3pNMjMwLjkgNjEuNUwyNTYgNzIgMjgxLjEgNjEuNUMzMjcuOSA0MiAzNzguMSAzMiA0MjguOCAzMkw0NjQgMzJjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhsLTM1LjIgMGMtNTAuNyAwLTEwMC45IDEwLTE0Ny43IDI5LjVsLTEyLjggNS4zYy03LjkgMy4zLTE2LjcgMy4zLTI0LjYgMGwtMTIuOC01LjNDMTg0LjEgNDkwIDEzMy45IDQ4MCA4My4yIDQ4MEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODBDMCA1My41IDIxLjUgMzIgNDggMzJsMzUuMiAwYzUwLjcgMCAxMDAuOSAxMCAxNDcuNyAyOS41eiJdfSxKdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZm9sZGVyLXRyZWUiLGljb246WzU3Niw1MTIsW10sImY4MDIiLCJNNDggMjRDNDggMTAuNyAzNy4zIDAgMjQgMFMwIDEwLjcgMCAyNEwwIDM5MmMwIDMwLjkgMjUuMSA1NiA1NiA1NmwxODQgMCAwLTQ4LTE4NCAwYy00LjQgMC04LTMuNi04LThsMC0yMzIgMTkyIDAgMC00OC0xOTIgMCAwLTg4ek0zMzYgMjI0bDE5MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtOTZjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTgyLjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRsLTguNi04LjZjLTktOS0yMS4yLTE0LjEtMzMuOS0xNC4xTDMzNiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDEyOGMwIDI2LjUgMjEuNSA0OCA0OCA0OHptMCAyODhsMTkyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NmMwLTI2LjUtMjEuNS00OC00OC00OGwtODIuNyAwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNGwtOC42LTguNmMtOS05LTIxLjItMTQuMS0zMy45LTE0LjFMMzM2IDI4OGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxMjhjMCAyNi41IDIxLjUgNDggNDggNDh6Il19LGVhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aXJnbyIsaWNvbjpbNjQwLDUxMixbXSwiZTg1MCIsIk0zNjggMzJjNjEuOSAwIDExMiA1MC4xIDExMiAxMTJsMCAyNi44YzE0LjUtNi45IDMwLjgtMTAuOCA0OC0xMC44IDYxLjkgMCAxMTIgNTAuMSAxMTIgMTEyUzU4OS45IDM4NCA1MjggMzg0bC00OCAwIDAgMzJjMCAxNi42IDEyLjYgMzAuMiAyOC43IDMxLjhsNi42IC4zYzE2LjEgMS42IDI4LjcgMTUuMyAyOC43IDMxLjggMCAxNy43LTE0LjMgMzItMzIgMzItNTMgMC05Ni00My05Ni05NmwwLTMyLTE2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYgMCAwLTE3NmMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OGwwIDMwNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMwNGMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OGwwIDMwNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyMGMwLTE2LjYtMTIuNi0zMC4yLTI4LjctMzEuOGwtNi42LS4zQzQ0LjYgOTQuMiAzMiA4MC42IDMyIDY0IDMyIDQ2LjMgNDYuMyAzMiA2NCAzMiA5MSAzMiAxMTUuMyA0My4xIDEzMi43IDYxIDE1Mi42IDQzIDE3OSAzMiAyMDggMzIgMjM5LjMgMzIgMjY3LjcgNDQuOSAyODggNjUuNyAzMDguMyA0NC45IDMzNi42IDMyIDM2OCAzMnpNNTI4IDIyNGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA0OCA0OCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4eiJdfSx5Z2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm94LWFyY2hpdmUiLGljb246WzUxMiw1MTIsWyJhcmNoaXZlIl0sImYxODciLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDEyOEMxNC4zIDEyOCAwIDExMy43IDAgOTZMMCA2NHpNMzIgMTc2bDQ0OCAwIDAgMjQwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDk2IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0yNDB6bTE1MiA2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6Il19LHRhYT15Z2UsYWFhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbnQtYXJyb3ctZG93bi10by1saW5lIixpY29uOls1NzYsNTEyLFtdLCJlNTdlIiwiTTE4NSAxMjFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMzEgMzEgMC0xMDIuMUMxMjAgMi43IDEwOS4zLTggOTYtOFM3MiAyLjcgNzIgMTZsMCAxMDIuMS0zMS0zMUMzMS42IDc3LjcgMTYuNCA3Ny43IDcgODdTLTIuMyAxMTEuNiA3IDEyMWw3MiA3MmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGw3Mi03MnpNMTU1LjggMjYwLjZMMTMyLjEgNDQ4IDMyIDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1MTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMiAwLTIuOC0uNC01LjUtMS04TDU0OC4yIDI2MC43Yy0xLjItOS43LTYuOS0xOC40LTE1LjMtMjMuNEwzNjcuNCAxMzcuOWMtMTAuMi02LjEtMjIuOS02LjEtMzMuMSAuMUwxNzAuOSAyMzcuM2MtOC4zIDUuMS0xMy45IDEzLjctMTUuMSAyMy4zek00NDggNDQ4bC05Ny4xIDAgMC0xNDkuNGMwLTUuOSA0LjctMTAuNiAxMC42LTEwLjYgNCAwIDcuNyAyLjMgOS41IDUuOUw0NDggNDQ4eiJdfSxyYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicXJjb2RlIixpY29uOls0NDgsNTEyLFtdLCJmMDI5IiwiTTY0IDE2MGw2NCAwIDAtNjQtNjQgMCAwIDY0ek0wIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtOTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MHpNNjQgNDE2bDY0IDAgMC02NC02NCAwIDAgNjR6TTAgMzM2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtOTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NnpNMzIwIDk2bDAgNjQgNjQgMCAwLTY0LTY0IDB6TTMwNCAzMmw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC0yNi41IDIxLjUtNDggNDgtNDh6TTI4OCAzNTJhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em0wIDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyLTMyLTE0LjMtMzItMzIgMTQuMy0zMiAzMi0zMnptOTYgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMi0xNC4zIDMyLTMyIDMyLTMyLTE0LjMtMzItMzJ6bTMyLTk2YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHptLTMyIDMyYTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6Il19LHNhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkcmFnb24iLGljb246WzY0MCw1MTIsWzEyODAwOV0sImY2ZDUiLCJNMzUyIDEyNC41bC01MS45LTEzYy02LjUtMS42LTExLjMtNy4xLTEyLTEzLjhzMi44LTEzLjEgOC43LTE2LjFsNDAuOC0yMC40LTQzLjMtMzIuNWMtNS41LTQuMS03LjgtMTEuMy01LjYtMTcuOVMyOTcuMSAwIDMwNCAwTDQ2NCAwYzMwLjIgMCA1OC43IDE0LjIgNzYuOCAzOC40bDU3LjYgNzYuOGM2LjIgOC4zIDkuNiAxOC40IDkuNiAyOC44IDAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0yMS41IDBjLTE3IDAtMzMuMy02LjctNDUuMy0xOC43bC0xMy4zLTEzLjMtMzIgMCAwIDIxLjVjMCAyNC44IDEyLjggNDcuOSAzMy44IDYxLjFsMTA2LjYgNjYuNmMzMi4xIDIwLjEgNTEuNiA1NS4yIDUxLjYgOTMuMSAwIDYwLjYtNDkuMSAxMDkuOC0xMDkuOCAxMDkuOEwzMi4zIDUxMmMtMy4zIDAtNi42LS40LTkuNi0xLjQtOS4yLTIuOC0xNi43LTkuNi0yMC40LTE4LjYtMS4zLTMuMy0yLjItNi45LTIuMy0xMC43LS4yLTMuNyAuMy03LjMgMS4zLTEwLjcgMi44LTkuMiA5LjYtMTYuNyAxOC42LTIwLjQgMy0xLjIgNi4yLTIgOS41LTIuMkw0MzMuMyA0MTJjOC4zLS43IDE0LjctNy43IDE0LjctMTYuMSAwLTQuMy0xLjctOC40LTQuNy0xMS40bC00NC40LTQ0LjRjLTMwLTMwLTQ2LjktNzAuNy00Ni45LTExMy4xbDAtMTAyLjV6TTUxMiA3Mi4zYzAtLjEgMC0uMiAwLS4zczAtLjIgMC0uM2wwIC42em0tMS4zIDcuNEw0NjQuMyA2OC4xYy0uMiAxLjMtLjMgMi42LS4zIDMuOSAwIDEzLjMgMTAuNyAyNCAyNCAyNCAxMC42IDAgMTkuNS02LjggMjIuNy0xNi4zek0xMzAuOSAxMTYuNWMxNi4zLTE0LjUgNDAuNC0xNi4yIDU4LjUtNC4xbDEzMC42IDg3IDAgMjcuNWMwIDMyLjggOC40IDY0LjggMjQgOTNsLTIzMiAwYy02LjcgMC0xMi43LTQuMi0xNS0xMC40cy0uNS0xMy4zIDQuNi0xNy43TDE3MSAyMzIuMyAxOC40IDI1NS44Yy03IDEuMS0xMy45LTIuNi0xNi45LTlTLjEgMjMyLjggNS40IDIyOEwxMzAuOSAxMTYuNXoiXX0sd2dlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXJnbGFzcy1lbmQiLGljb246WzM4NCw1MTIsWzg5ODcsImhvdXJnbGFzcy0zIl0sImYyNTMiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGwwIDExYzAgNDIuNCAxNi45IDgzLjEgNDYuOSAxMTMuMWw2Ny45IDY3LjktNjcuOSA2Ny45QzQ4LjkgMzUzLjkgMzIgMzk0LjYgMzIgNDM3bDAgMTFjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC0xMWMwLTQyLjQtMTYuOS04My4xLTQ2LjktMTEzLjFsLTY3LjktNjcuOSA2Ny45LTY3LjljMzAtMzAgNDYuOS03MC43IDQ2LjktMTEzLjFsMC0xMWMxNy43IDAgMzItMTQuMyAzMi0zMlMzNjkuNyAwIDM1MiAwTDMyIDB6TTk2IDc1bDAtMTEgMTkyIDAgMCAxMWMwIDI1LjUtMTAuMSA0OS45LTI4LjEgNjcuOWwtNjcuOSA2Ny45LTY3LjktNjcuOUMxMDYuMSAxMjQuOSA5NiAxMDAuNCA5NiA3NXoiXX0saWFhPXdnZSxzbT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJncmlwIixpY29uOls1MTIsNTEyLFs1ODExOSwiZ3JpZC1ob3Jpem9udGFsIiwiZ3JpcC1ob3Jpem9udGFsIl0sImY1OGQiLCJNODggOTZjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MGw0OCAwek0yODAgMjI0bC00OCAwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTQ4YzAtMjIuMSAxNy45LTQwIDQwLTQwbDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MHptMTkyIDBsLTQ4IDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtNDhjMC0yMi4xIDE3LjktNDAgNDAtNDBsNDggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ4YzAgMjIuMS0xNy45IDQwLTQwIDQwem0wIDE5MmwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MGw0OCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDhjMCAyMi4xLTE3LjkgNDAtNDAgNDB6TTI4MCAyODhjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MGw0OCAwek04OCA0MTZsLTQ4IDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtNDhjMC0yMi4xIDE3LjktNDAgNDAtNDBsNDggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ4YzAgMjIuMS0xNy45IDQwLTQwIDQweiJdfSxvYWE9c20sbmFhPXNtLE1nZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3JkZXItdG9wLWxlZnQiLGljb246WzQ0OCw1MTIsWyJib3JkZXItc3R5bGUiXSwiZjg1MyIsIk0wIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzUyIDM1MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0NDh6bTEyOCAwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzItMTQuMy0zMi0zMi0zMi0zMiAxNC4zLTMyIDMyem0xMjggMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyLTE0LjMtMzItMzItMzItMzIgMTQuMy0zMiAzMnptMTYwIDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyLTMyIDE0LjMtMzIgMzIgMTQuMyAzMiAzMiAzMnpNMzg0IDE5MmEzMiAzMiAwIDEgMCA2NCAwIDMyIDMyIDAgMSAwIC02NCAwem0zMiAxNjBhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxsYWE9TWdlLGtnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsaXN0LXVsIixpY29uOls1MTIsNTEyLFsibGlzdC1kb3RzIl0sImYwY2EiLCJNNDggMTQ0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMTkyIDY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDE5MiA2NHptMCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI4OCAwem0wIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyODggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjg4IDB6TTQ4IDQ2NGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTk2IDI1NmE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAweiJdfSxjYWE9a2dlLGRhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW9wbGUtcm9iYmVyeSIsaWNvbjpbNTc2LDUxMixbXSwiZTUzNiIsIk00ODguMiA1OS4xQzQ3OC4xIDk5LjYgNDQxLjcgMTI4IDQwMCAxMjhzLTc4LjEtMjguNC04OC4yLTY4LjlMMzAzIDI0LjJDMjk4LjggNy4xIDI4MS40LTMuMyAyNjQuMiAxUzIzNi43IDIyLjYgMjQxIDM5LjhsOC43IDM0LjljMTEgNDQgNDAuMiA3OS42IDc4LjMgOTkuNkwzMjggNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjggMTYgMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzA1LjdjMzguMS0yMCA2Ny4zLTU1LjYgNzguMy05OS42TDU1OSAzOS44YzQuMy0xNy4xLTYuMS0zNC41LTIzLjMtMzguOFM1MDEuMiA3LjEgNDk3IDI0LjJsLTguNyAzNC45ek00MDAgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek04MCA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bS04IDMyYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDk2IDAgLjYgMCAxOTEuNGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4IDE2IDAgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIyNy4zIDEzIDIwLjVjNS45IDkuMiAxNi4xIDE0LjkgMjcgMTQuOWw0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMC40IDAtMzcuNC01OC45QzE1Ny42IDE0MiAxMzIuMSAxMjggMTA0LjcgMTI4TDcyIDEyOHoiXX0sdWFhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vYmlsZS1idXR0b24iLGljb246WzM4NCw1MTIsW10sImYxMGIiLCJNODAgMEM0NC43IDAgMTYgMjguNyAxNiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMjQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw4MCAwek0xOTIgNDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyIDMyIDE0LjMgMzIgMzItMTQuMyAzMi0zMiAzMnoiXX0sU3RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LWRvd24tYS16IixpY29uOls1MTIsNTEyLFsic29ydC1hbHBoYS1hc2MiLCJzb3J0LWFscGhhLWRvd24iXSwiZjE1ZCIsIk0yMzAuNiAzOTAuNmwtODAgODBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC04MC04MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEw5NiAzNzAuNyA5NiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzA2LjcgMjUuNC0yNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6bTE4Mi0zNDAuOWM1MC43IDEwMS4zIDc3LjMgMTU0LjcgODAgMTYwIDcuOSAxNS44IDEuNSAzNS0xNC4zIDQyLjlzLTM1IDEuNS00Mi45LTE0LjNsLTcuMi0xNC4zLTg4LjQgMC03LjIgMTQuM2MtNy45IDE1LjgtMjcuMSAyMi4yLTQyLjkgMTQuM3MtMjIuMi0yNy4xLTE0LjMtNDIuOWMyLjctNS4zIDI5LjMtNTguNyA4MC0xNjAgNS40LTEwLjggMTYuNS0xNy43IDI4LjYtMTcuN3MyMy4yIDYuOCAyOC42IDE3Ljd6TTM4NCAxMzUuNmwtMjAuMiA0MC40IDQwLjQgMC0yMC4yLTQwLjR6TTI4OCAzMjBjMC0xNy43IDE0LjMtMzIgMzItMzJsMTI4IDBjMTIuOSAwIDI0LjYgNy44IDI5LjYgMTkuOHMyLjIgMjUuNy02LjkgMzQuOUwzOTcuMyA0MTYgNDQ4IDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhzLTIuMi0yNS43IDYuOS0zNC45bDczLjQtNzMuNC01MC43IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSxwYWE9U3RlLGZhYT1TdGUsaGFhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbmV5LWJpbGwiLGljb246WzUxMiw1MTIsW10sImYwZDYiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6bTE5MiA5NmE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnptMTkyIDI0YzAgNC40LTMuNiA4LjEtOCA3LjUtMjktMy42LTUxLjktMjYuNi01NS41LTU1LjUtLjUtNC40IDMuMS04IDcuNS04bDQ4IDBjNC40IDAgOCAzLjYgOCA4bDAgNDh6TTY0IDMyOGMwLTQuNCAzLjYtOC4xIDgtNy41IDI5IDMuNiA1MS45IDI2LjYgNTUuNSA1NS41IC41IDQuNC0zLjEgOC03LjUgOGwtNDggMGMtNC40IDAtOC0zLjYtOC04bDAtNDh6bTgtMTM2LjVjLTQuNCAuNS04LTMuMS04LTcuNWwwLTQ4YzAtNC40IDMuNi04IDgtOGw0OCAwYzQuNCAwIDguMSAzLjYgNy41IDgtMy42IDI5LTI2LjYgNTEuOS01NS41IDU1LjV6bTM2OCAxMjljNC40LS41IDggMy4xIDggNy41bDAgNDhjMCA0LjQtMy42IDgtOCA4bC00OCAwYy00LjQgMC04LjEtMy42LTcuNS04IDMuNi0yOSAyNi42LTUxLjkgNTUuNS01NS41eiJdfSxTZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLW1pbnVzIixpY29uOls1MTIsNTEyLFsibWludXMtY2lyY2xlIl0sImYwNTYiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2OCAyMzJsMTc2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE3NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxtYWE9U2dlLHpnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1wb2ludGVyIixpY29uOls0NDgsNTEyLFsibW91c2UtcG9pbnRlciJdLCJmMjQ1IiwiTTc3LjMgMi41YzguMS00LjEgMTcuOS0zLjIgMjUuMSAyLjNsMzIwIDIzOS45YzguMyA2LjIgMTEuNiAxNyA4LjQgMjYuOHMtMTIuNCAxNi40LTIyLjggMTYuNGwtMTUyLjMgMCA4OC45IDE3Ny43YzcuOSAxNS44IDEuNSAzNS0xNC4zIDQyLjlzLTM1IDEuNS00Mi45LTE0LjNsLTg4LjktMTc3LjctOTEuMyAxMjEuOGMtNi4yIDguMy0xNyAxMS42LTI2LjggOC40UzY0IDQzNC4zIDY0IDQyNEw2NCAyNGMwLTkuMSA1LjEtMTcuNCAxMy4zLTIxLjV6Il19LGdhYT16Z2UsQ2dlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1zaGFyZS1ub2RlcyIsaWNvbjpbNDQ4LDUxMixbInNoYXJlLWFsdC1zcXVhcmUiXSwiZjFlMSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0zNjggMTYwYzAgMzUuMy0yOC43IDY0LTY0IDY0LTE1LjQgMC0yOS41LTUuNC00MC42LTE0LjVsLTg1LjMgNDYuNSA4NS4zIDQ2LjVjMTEtOS4xIDI1LjItMTQuNSA0MC42LTE0LjUgMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjQtNjQtMjguNy02NC02NGMwLTIuNSAuMS00LjkgLjQtNy4zTDE1OC41IDMwMGMtMTEuNyAxMi4zLTI4LjIgMjAtNDYuNSAyMC0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0YzE4LjMgMCAzNC44IDcuNyA0Ni41IDIwbDgxLjktNDQuN2MtLjMtMi40LS40LTQuOS0uNC03LjMgMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NHoiXX0sYmFhPUNnZSxfZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGUtY2VsbHMtbGFyZ2UiLGljb246WzQ0OCw1MTIsWyJ0aC1sYXJnZSJdLCJmMDA5IiwiTTM4NCA5NmwtMTI4IDAgMCAxMjggMTI4IDAgMC0xMjh6bTY0IDEyOGwwIDE5MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMjh6TTY0IDI4OGwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHptMTI4LTY0bDAtMTI4LTEyOCAwIDAgMTI4IDEyOCAwem02NCA2NGwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHoiXX0sdmFhPV9nZSx4YWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2F0IixpY29uOls1NzYsNTEyLFsxMjgwMDhdLCJmNmJlIiwiTTY0IDk2YzUzIDAgOTYgNDMgOTYgOTZsMCA4NS44YzI5LjctNDQuNyA3Ny44LTc2LjIgMTMzLjQtODQgMjUuNiA2MCA4NS4yIDEwMi4xIDE1NC42IDEwMi4xIDEwLjkgMCAyMS42LTEuMSAzMi0zLjFMNDgwIDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE0MC44LTEzNiAxMDguOCA1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xNDQgMGMtNTMgMC05Ni00My05Ni05NmwwLTIyNGMwLTE2LjYtMTIuNi0zMC4yLTI4LjctMzEuOGwtNi42LS4zQzQ0LjYgMTU4LjIgMzIgMTQ0LjYgMzIgMTI4IDMyIDExMC4zIDQ2LjMgOTYgNjQgOTZ6TTUzMy44IDMuMkM1NDQuMi01LjUgNTYwIDEuOSA1NjAgMTUuNUw1NjAgMTI4YzAgNjEuOS01MC4xIDExMi0xMTIgMTEyUzMzNiAxODkuOSAzMzYgMTI4bDAtMTEyLjVjMC0xMy42IDE1LjgtMjEgMjYuMi0xMi4zTDQxNiA0OCA0ODAgNDggNTMzLjggMy4yek00MDAgMTA4YTIwIDIwIDAgMSAwIDAgNDAgMjAgMjAgMCAxIDAgMC00MHptOTYgMGEyMCAyMCAwIDEgMCAwIDQwIDIwIDIwIDAgMSAwIDAtNDB6Il19LHlhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWxlbmRhci13ZWVrIixpY29uOls0NDgsNTEyLFtdLCJmNzg0IiwiTTEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMTI4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzIgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMCAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTkyIDB6Il19LHdhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2RlLWNvbXBhcmUiLGljb246WzUxMiw1MTIsW10sImUxM2EiLCJNMTk4LjggMS44YzktMy43IDE5LjMtMS43IDI2LjIgNS4ybDU2IDU2YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC01NiA1NmMtNi45IDYuOS0xNy4yIDguOS0yNi4yIDUuMlMxODQgMTQ1LjcgMTg0IDEzNmwwLTI0LTI0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMjE0LjdjMjguMyAxMi4zIDQ4IDQwLjUgNDggNzMuMyAwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTMyLjggMTkuNy02MSA0OC03My4zTDY0IDE0NGMwLTUzIDQzLTk2IDk2LTk2bDI0IDAgMC0yNGMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJ6TTM5MiA4MGEyNCAyNCAwIDEgMCA0OCAwIDI0IDI0IDAgMSAwIC00OCAwem0tOCA3My4zYy0yOC4zLTEyLjMtNDgtNDAuNS00OC03My4zIDAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCAzMi44LTE5LjcgNjEtNDggNzMuM0w0NDggMzY4YzAgNTMtNDMgOTYtOTYgOTZsLTI0IDAgMCAyNGMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC01Ni01NmMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsNTYtNTZjNi45LTYuOSAxNy4yLTguOSAyNi4yLTUuMlMzMjggMzY2LjMgMzI4IDM3NmwwIDI0IDI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0yMTQuN3pNNzIgNDMyYTI0IDI0IDAgMSAwIDQ4IDAgMjQgMjQgMCAxIDAgLTQ4IDB6Il19LE1hYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsZW8iLGljb246WzUxMiw1MTIsW10sImU4NGEiLCJNMjYwIDBjNzIuOSAwIDEzMiA1OS4xIDEzMiAxMzJsMCA1LjQtLjEgMS40LTIzLjggMjcwYy40IDIxLjcgMTguMiAzOS4yIDQwIDM5LjIgMjIuMSAwIDQwLTE3LjkgNDAtNDBsMC00MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNDBjMCA1Ny40LTQ2LjYgMTA0LTEwNCAxMDRTMzA0IDQ2NS40IDMwNCA0MDhsMC0xLjQgLjEtMS40IDIzLjktMjcwLjYgMC0yLjZjMC0zNy42LTMwLjQtNjgtNjgtNjhzLTY4IDMwLjQtNjggNjhsMCA0YzAgMy43IC4zIDcuMyAuOCAxMWwyOS43IDE5My40Yy45IDYuMSAxLjQgMTIuMiAxLjQgMTguNGwwIDkuMmMwIDYxLjktNTAuMSAxMTItMTEyIDExMlMwIDQyOS45IDAgMzY4IDUwLjEgMjU2IDExMiAyNTZjMTEuNyAwIDIzIDEuOCAzMy43IDUuMUwxMjkuNiAxNTYuN2MtMS4xLTYuOC0xLjYtMTMuOC0xLjYtMjAuN2wwLTRDMTI4IDU5LjEgMTg3LjEgMCAyNjAgMHpNMTEyIDMyMGE0OCA0OCAwIDEgMCAwIDk2IDQ4IDQ4IDAgMSAwIDAtOTZ6Il19LGthYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyb2FkLWNpcmNsZS14bWFyayIsaWNvbjpbNjQwLDUxMixbXSwiZTU2NiIsIk0yODcuOSAzMmwtNzYuMiAwYy0yOS40IDAtNTUuMSAyMC4xLTYyLjEgNDguNkw2NS40IDQyMC41QzU3LjkgNDUwLjcgODAuOCA0ODAgMTEyIDQ4MGwyMDkuNCAwYy0xMS4yLTI0LjQtMTcuNC01MS40LTE3LjQtODAgMC0yOC42IDYuMi01NS43IDE3LjQtODAtLjUgMC0xIDAtMS42IDAtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNDkuMmMzNS4yLTQwIDg2LjctNjUuMiAxNDQuMi02NS4yIDkgMCAxNy44IC42IDI2LjQgMS44bC0zMi0xMjkuMkM0ODMuNCA1Mi4xIDQ1Ny44IDMyIDQyOC4zIDMybC03Ni41IDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0ek00OTYgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNTkuMy0xODAuN2wtMzYuNyAzNi43IDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwbC0zNi43LTM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDM2LjctMzYuNy0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwzNi43IDM2LjcgMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnoiXX0sU2FhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhbGxldCIsaWNvbjpbNTc2LDUxMixbXSwiZjQ4MiIsIk0zMiAzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDY0LTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC02NCAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyMHptOTYgNjRsMTI4IDAgMCA2NC0xMjggMCAwLTY0em0xOTIgMGwxMjggMCAwIDY0LTEyOCAwIDAtNjR6Il19LHp0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWtlLWNhbmRsZXMiLGljb246WzQ0OCw1MTIsWzEyNzg3NCwiYmlydGhkYXktY2FrZSIsImNha2UiXSwiZjFmZCIsIk04Ni40LTEwLjVMNjEuOCAzMS42QzU4IDM4LjEgNTYgNDUuNiA1NiA1My4yTDU2IDU2YzAgMjIuMSAxNy45IDQwIDQwIDQwczQwLTE3LjkgNDAtNDBsMC0yLjhjMC03LjYtMi0xNS01LjgtMjEuNkwxMDUuNi0xMC41Yy0yLTMuNC01LjctNS41LTkuNi01LjVzLTcuNiAyLjEtOS42IDUuNXptMTI4IDBMMTg5LjggMzEuNmMtMy44IDYuNS01LjggMTQtNS44IDIxLjZsMCAyLjhjMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MGwwLTIuOGMwLTcuNi0yLTE1LTUuOC0yMS42TDIzMy42LTEwLjVjLTItMy40LTUuNy01LjUtOS42LTUuNXMtNy42IDIuMS05LjYgNS41ek0zMTcuOCAzMS42Yy0zLjggNi41LTUuOCAxNC01LjggMjEuNmwwIDIuOGMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwbDAtMi44YzAtNy42LTItMTUtNS44LTIxLjZMMzYxLjYtMTAuNWMtMi0zLjQtNS43LTUuNS05LjYtNS41cy03LjYgMi4xLTkuNiA1LjVMMzE3LjggMzEuNnpNMTI4IDE2MGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDUzLjVDMjYuNyAyMjYuNiAwIDI2Mi4yIDAgMzA0bDAgMjAuOGMyMC45IDEuMyA0MS42IDcuMyA2MC4zIDE4bDcuMSA0LjFjMjYuMyAxNSA1OC45IDEzLjQgODMuNi00LjIgNDMuNy0zMS4yIDEwMi4zLTMxLjIgMTQ2IDAgMjQuNiAxNy42IDU3LjMgMTkuMyA4My42IDQuMmw3LjEtNC4xYzE4LjctMTAuNyAzOS4zLTE2LjcgNjAuMy0xOGwwLTIwLjhjMC00MS44LTI2LjctNzcuNC02NC05MC41bDAtNTMuNWMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ4LTY0IDAgMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ4LTY0IDAgMC00OHpNNDQ4IDM3M2MtMTIuNyAxLjItMjUuMSA1LTM2LjUgMTEuNWwtNy4xIDQuMWMtNDIuNiAyNC4zLTk1LjQgMjEuNy0xMzUuMy02LjgtMjctMTkuMy02My4yLTE5LjMtOTAuMiAwLTM5LjkgMjguNS05Mi43IDMxLjItMTM1LjMgNi44bC03LjEtNC4xQzI1LjEgMzc4IDEyLjcgMzc0LjEgMCAzNzNsMCA3NWMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTc1eiJdfSx6YWE9enRlLENhYT16dGUsX2FhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1Zy1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZTQ5MCIsIk03LTI0LjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBMMjQxLjggMTc2IDM0NCAxNzZjMTQuMiAwIDI3LjcgMi44IDQwIDhsMTA4LjgtODEuNmMxNC4xLTEwLjYgMzQuMi03LjcgNDQuOCA2LjRzNy43IDM0LjItNi40IDQ0LjhsLTk3LjggNzMuM2M1LjMgOC45IDkuMyAxOC43IDExLjggMjkuMWw5OC44IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDAgMCAzMmMwIDkuNS0uOCAxOC43LTIuNCAyNy44TDU2OSA1MDMuMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDcgOS4xQy0yLjMtLjMtMi4zLTE1LjUgNy0yNC45ek0zOTguMiA0NjhjLTIzLjIgMjIuMS01MyAzNy4yLTg2LjIgNDIuMmwwLTEyOC40IDg2LjIgODYuMnpNMjY0IDMzMy44bDAgMTc2LjRjLTUxLjItNy43LTk0LjUtMzkuNy0xMTcuNy04My45TDgzLjIgNDczLjZjLTE0LjEgMTAuNi0zNC4yIDcuNy00NC44LTYuNHMtNy43LTM0LjIgNi40LTQ0LjhsODMuNC02Mi41Yy0uMS0yLjYtLjItNS4yLS4yLTcuOWwwLTMyLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTguOCAwYzMuMy0xMy45IDkuMy0yNi43IDE3LjYtMzcuOEwyNjQgMzMzLjh6TTM1NS42IDEyOGwtODIuNCAwLTcyLjMtNzIuM0MyMTYuMSAyMi44IDI0OS40IDAgMjg4IDAgMzQxIDAgMzg0IDQzIDM4NCA5NmwwIDMuNmMwIDE1LjctMTIuNyAyOC40LTI4LjQgMjguNHoiXX0sVGFhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhcnAiLGljb246WzUxMiw1MTIsW10sImU1N2IiLCJNNDQ4IDY0YzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTQ5LjVjMCAxNy02LjcgMzMuMy0xOC43IDQ1LjNMMzg2LjcgNDI5LjNjLTEyIDEyLTI4LjMgMTguNy00NS4zIDE4LjdMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzODQgMHptNS41IDIwOEwzNjAgMjcyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDkzLjUgMTE3LjUtMTE3LjV6TTk2IDE5MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LExhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWFncmFtLXByZWRlY2Vzc29yIixpY29uOls0NDgsNTEyLFtdLCJlNDc3IiwiTTI4OS4yIDEzNy45YzIuNS02IDguMy05LjkgMTQuOC05LjlsNDAgMCAwLTI0YzAtMTMuMy0xMC43LTI0LTI0LTI0bC05OCAwYzEuMyA1LjEgMiAxMC41IDIgMTZsMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtOTYgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwyNTYgMGMzOS44IDAgNzIgMzIuMiA3MiA3MmwwIDI0IDQwIDBjNi41IDAgMTIuMyAzLjkgMTQuOCA5LjlzMS4xIDEyLjktMy41IDE3LjRsLTY0IDY0Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMGwtNjQtNjRjLTQuNi00LjYtNS45LTExLjUtMy41LTE3LjR6TTM4NCAzNTJsLTMyMCAwIDAgNjQgMzIwIDAgMC02NHptNjQgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjR6Il19LFRnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWZsdXNoZWQiLGljb246WzUxMiw1MTIsWzEyODU2MywiZmx1c2hlZCJdLCJmNTc5IiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6TTE2OCAzOTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTI4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTEyOCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptLTgtOTZhNzIgNzIgMCAxIDAgMC0xNDQgNzIgNzIgMCAxIDAgMCAxNDR6bTI2NC03MmE3MiA3MiAwIDEgMCAtMTQ0IDAgNzIgNzIgMCAxIDAgMTQ0IDB6bS0yODggMGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0xOTIgMGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSwkYWE9VGdlLERhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWFncmFtLW5leHQiLGljb246WzQ0OCw1MTIsW10sImU0NzYiLCJNMzg0IDIyNGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxMjggMCAwIDY0LTMyIDBjLTYuNSAwLTEyLjMgMy45LTE0LjggOS45cy0xLjEgMTIuOSAzLjUgMTcuNGw2NCA2NGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw2NC02NGM0LjYtNC42IDUuOS0xMS41IDMuNS0xNy40UzI5NC41IDI4OCAyODggMjg4bC0zMiAwIDAtNjQgMTI4IDB6TTY0IDI4OGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0zNCAwYzUuNiAyMS43LS41IDQ1LjEtMTYuNyA2MS4zbC02NCA2NGMtMjUgMjUtNjUuNSAyNS05MC41IDBsLTY0LTY0Qzk4LjYgMzMzLjEgOTIuNCAzMDkuNyA5OCAyODhsLTM0IDB6Il19LEFhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmNob3ItY2lyY2xlLXhtYXJrIixpY29uOls2NDAsNTEyLFtdLCJlNGFjIiwiTTMyMC41IDk2YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6bS0zMi05NmMtNTMgMC05NiA0My05NiA5NiAwIDQxLjggMjYuNyA3Ny40IDY0IDkwLjVsMCAyNTcuOWMtNjIuOS0xNC4zLTExMC4yLTY5LjctMTExLjktMTM2LjVsMTYuMSAxNC4xYzEwIDguNyAyNS4xIDcuNyAzMy45LTIuM3M3LjctMjUuMS0yLjMtMzMuOWwtNjQtNTZjLTktNy45LTIyLjYtNy45LTMxLjYgMGwtNjQgNTZjLTEwIDguNy0xMSAyMy45LTIuMyAzMy45czIzLjkgMTEgMzMuOSAyLjNsMTYuMi0xNC4yYzIuMSAxMTMuMSA5NC40IDIwNC4xIDIwOCAyMDQuMSAxNi42IDAgMzIuNy0xLjkgNDguMi01LjYtMjAuMy0zMC41LTMyLjItNjctMzIuMi0xMDYuNCAwLTI3LjMgNS43LTUzLjMgMTYtNzYuOWwwLTEzNi42YzM3LjMtMTMuMiA2NC00OC43IDY0LTkwLjUgMC01My00My05Ni05Ni05NnptMjA4IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdsLTM2LjcgMzYuNyAzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtMzYuNy0zNi43LTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzNi43LTM2LjctMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMzYuNyAzNi43IDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6Il19LEVhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tY2lyY2xlLXhtYXJrIixpY29uOls2NDAsNTEyLFtdLCJlNTQzIiwiTTI4MCAyNGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6bTI0IDIxMi43TDM0MSAyODYuNmMxMi44LTE3LjUgMjguNS0zMi43IDQ2LjMtNDVsLTU2LjItNzUuN0MzMDYgMTMyIDI2Ni4zIDExMiAyMjQgMTEycy04MiAyMC0xMDcuMiA1My45bC03MC41IDk1Yy0xMC41IDE0LjItNy42IDM0LjIgNi42IDQ0LjhzMzQuMiA3LjYgNDQuOC02LjZMMTQ0IDIzNi43IDE0NCA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNzUuM3pNNDk2IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTIyLjYtMTQ0bDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwbC0zNi43LTM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDM2LjctMzYuNy0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwzNi43IDM2LjcgMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNkw1MTguNiA0MDB6Il19LFBhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcGEiLGljb246WzU3Niw1MTIsW10sImY1YmIiLCJNMTY5LjcgMjI3LjVjMzQuMyAxOC43IDY0LjUgNDQuMSA4OC44IDc0LjUgMTEuMSAxMy45IDIxIDI4LjkgMjkuNCA0NC44IDguNS0xNS45IDE4LjMtMzAuOCAyOS40LTQ0LjggMjQuMy0zMC41IDU0LjUtNTUuOSA4OC44LTc0LjUgNDEuNy0yMi43IDg5LjQtMzUuNSAxMzkuNy0zNS41bDkuOSAwYzExLjEgMCAyMC4xIDkgMjAuMSAyMC4xIDAgMTQ4LTExOS45IDI2Ny45LTI2Ny45IDI2Ny45bC00MC4yIDBDMTE5LjkgNDgwIDAgMzYwLjEgMCAyMTIuMSAwIDIwMSA5IDE5MiAyMC4xIDE5Mmw5LjkgMGM1MC40IDAgOTguMSAxMi44IDEzOS43IDM1LjV6TTMwMy45IDM4YzE2LjkgMTUuOSA2MS40IDYzLjQgODkgMTQyLjMtNDAuMSAyMC4yLTc1LjggNDguMi0xMDQuOSA4Mi4xLTI5LjItMzMuOS02NC44LTYxLjgtMTA0LjktODIuMSAyNy42LTc4LjkgNzIuMi0xMjYuNCA4OS0xNDIuMyA0LjMtNC4xIDEwLTYgMTUuOS02czExLjYgMiAxNS45IDZ6Il19LElhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcmllcyIsaWNvbjpbNTEyLDUxMixbXSwiZTg0NiIsIk00MDEuNiAwYzYxLjMgMCAxMTAuNCA1MC4zIDExMC40IDExMSAwIDI5LjQtMTEuNiA1Ny45LTMyLjYgNzguOGwtOC44IDguOGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4yIDBzLTEyLjUtMzIuOCAwLTQ1LjJsOC44LTguOGM4LjgtOC44IDEzLjgtMjEgMTMuOC0zMy42IDAtMjUuOS0yMS4xLTQ3LTQ2LjQtNDctMjIuNSAwLTQxLjcgMTYuMS00NS43IDM4LjJMMjg3LjUgNDg1LjZjMCAuMS0uMSAuMy0uMSAuNC0uMiAuOC0uMyAxLjYtLjUgMi4zLS4xIC4zLS4xIC41LS4yIC43LS4yIC42LS40IDEuMy0uNyAxLjktLjIgLjUtLjQgMS0uNiAxLjUtLjEgLjMtLjMgLjYtLjQgLjktMS42IDMuNS0zLjggNi41LTYuNCA5LjItMiAyLTQuMiAzLjctNi42IDUuMS0uMiAuMS0uMyAuMi0uNSAuMy0uNyAuNC0xLjQgLjctMi4xIDEtLjMgLjEtLjYgLjMtLjkgLjQtLjUgLjItMSAuNC0xLjUgLjYtLjYgLjItMS4yIC41LTEuOSAuNy0uMiAuMS0uNSAuMi0uNyAuMi0uOCAuMi0xLjYgLjQtMi4zIC41LS4yIDAtLjMgLjEtLjQgLjEtLjIgMC0uNCAwLS42IC4xLS43IC4xLTEuMyAuMi0yIC4yLS40IDAtLjggLjEtMS4yIC4xLS42IDAtMS4yIC4xLTEuOCAuMS0uNiAwLTEuMiAwLTEuOC0uMS0uNCAwLS44LS4xLTEuMi0uMS0uNy0uMS0xLjQtLjEtMi0uMi0uMiAwLS40IDAtLjYtLjEtLjIgMC0uMy0uMS0uNS0uMS0uOC0uMi0xLjYtLjMtMi4zLS41LS4zLS4xLS41LS4xLS44LS4yLS42LS4yLTEuMy0uNC0xLjktLjctLjUtLjItMS0uNC0xLjUtLjYtLjMtLjEtLjYtLjMtLjktLjQtLjctLjMtMS40LS43LTIuMS0xLS4yLS4xLS4zLS4yLS41LS4zLTIuNC0xLjQtNC43LTMuMS02LjYtNS4xLTIuNi0yLjYtNC44LTUuNy02LjQtOS4yLS4xLS4yLS4yLS4zLS4yLS41bC0uNS0xLjFjLS4xLS4zLS4yLS41LS4zLS44LS4yLS42LS41LTEuMi0uNy0xLjktLjEtLjItLjItLjUtLjItLjctLjItLjgtLjQtMS42LS41LTIuMyAwLS4xLS4xLS4zLS4xLS40TDE1NiAxMDIuMmMtNC0yMi4xLTIzLjItMzguMi00NS43LTM4LjItMjUuMyAwLTQ2LjQgMjEuMS00Ni40IDQ3IDAgMTIuNiA1IDI0LjggMTMuOCAzMy42bDguOCA4LjhjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjJzLTMyLjggMTIuNS00NS4yIDBsLTguOC04LjhDMTEuNiAxNjguOSAwIDE0MC4zIDAgMTExIDAgNTAuMyA0OS4xIDAgMTEwLjQgMCAxNjMuOCAwIDIwOS42IDM4LjMgMjE5IDkxbDM3IDIwNyAzNy0yMDdjOS40LTUyLjYgNTUuMi05MSAxMDguNy05MXoiXX0sTGdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhcnMtcHJvZ3Jlc3MiLGljb246WzQ0OCw1MTIsWyJ0YXNrcy1hbHQiXSwiZjgyOCIsIk0yODggMTYwbDk2IDAgMC02NC05NiAwIDAgNjR6TTAgMTYwTDAgODBDMCA1My41IDIxLjUgMzIgNDggMzJsMzUyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCAyMjRjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTZ6TTE2MCA0MTZsMjI0IDAgMC02NC0yMjQgMCAwIDY0ek0wIDQxNmwwLTgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDM1MiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTE2eiJdfSxOYWE9TGdlLFJhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFydC1jaXJjbGUtY2hlY2siLGljb246WzU3Niw1MTIsW10sImU0ZmQiLCJNMjQxIDg3LjFsMTUgMjAuNyAxNS0yMC43QzI5NiA1Mi41IDMzNi4yIDMyIDM3OC45IDMyIDQ1Mi40IDMyIDUxMiA5MS42IDUxMiAxNjUuMWwwIDIuNmMwIDE3LjYtMy40IDM1LjYtOS41IDUzLjctMjEuOC04LjYtNDUuNi0xMy40LTcwLjUtMTMuNC0xMDYgMC0xOTIgODYtMTkyIDE5MiAwIDI4LjUgNi4yIDU1LjYgMTcuNCA4MC0uNSAwLS45IDAtMS40IDAtMTUuNSAwLTMwLjgtNC42LTQzLjEtMTQuMS03My01NS43LTIxMi45LTE4Ni0yMTIuOS0yOTguMmwwLTIuNkMwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMiAxNzUuOCAzMiAyMTYgNTIuNSAyNDEgODcuMXpNMjg4IDQwMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMDEuNC02MC45Yy03LjEtNS4yLTE3LjItMy42LTIyLjQgMy41bC01MyA3Mi45LTI2LjgtMjYuOGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGMzLjMgMy4zIDcuOSA1IDEyLjYgNC42czguOS0yLjggMTEuNy02LjVsNjQtODhjNS4yLTcuMSAzLjYtMTcuMi0zLjUtMjIuM3oiXX0sJGdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcnMtc3Ryb2tlLXJpZ2h0IixpY29uOls2NDAsNTEyLFs5ODk3LCJtYXJzLXN0cm9rZS1oIl0sImYyMmIiLCJNMzIwLjUgMjU2YTExMiAxMTIgMCAxIDAgLTIyNCAwIDExMiAxMTIgMCAxIDAgMjI0IDB6TTIwOC41IDgwYzg2LjMgMCAxNTguMSA2Mi4xIDE3My4xIDE0NC4xIDEtLjEgMS45LS4xIDIuOS0uMWwxNiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDYxLjQgMC0yMi40LTI4Yy0xMS0xMy44LTguOC0zMy45IDUtNDVzMzMuOS04LjggNDUgNWw2NCA4MGM5LjMgMTEuNyA5LjMgMjguMyAwIDQwbC02NCA4MGMtMTEgMTMuOC0zMS4yIDE2LTQ1IDVzLTE2LTMxLjItNS00NWwyMi40LTI4LTYxLjQgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItMTYgMGMtMSAwLTEuOSAwLTIuOS0uMS0xNSA4Mi04Ni44IDE0NC4xLTE3My4xIDE0NC4xLTk3LjIgMC0xNzYtNzguOC0xNzYtMTc2czc4LjgtMTc2IDE3Ni0xNzZ6Il19LE9hYT0kZ2UsRmFhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvd2VyLW9ic2VydmF0aW9uIixpY29uOls0NDgsNTEyLFtdLCJlNTg2IiwiTTIwOS43IDMuNGM5LTQuNSAxOS42LTQuNSAyOC42IDBsMTYwIDgwYzE1LjggNy45IDIyLjIgMjcuMSAxNC4zIDQyLjktNS42IDExLjItMTYuOSAxNy43LTI4LjYgMTcuN2wwIDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xMyAwIDMyIDE5MiA0NSAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0NSAwIDMyLTE5Mi0xMyAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTgwYy0xMS43IDAtMjMtNi41LTI4LjYtMTcuNy03LjktMTUuOC0xLjUtMzUgMTQuMy00Mi45bDE2MC04MHpNMzEwLjcgNDQ4bC04Ni43LTYxLjktODYuNyA2MS45IDE3My40IDB6bS0xNTMtMTkybC0zLjUgMjEuMiA2OS45IDQ5LjkgNjkuOS00OS45LTMuNS0yMS4yLTEzMi43IDB6bS0xMi4zIDczLjlsLTEwLjEgNjAuNiA0Ny41LTMzLjktMzcuNC0yNi43em0xMTkuOSAyNi43bDQ3LjUgMzMuOS0xMC4xLTYwLjYtMzcuNCAyNi43ek0xNTIgMTI4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHoiXX0sQ3RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0ZXJsaW5nLXNpZ24iLGljb246WzM4NCw1MTIsWzE2MywiZ2JwIiwicG91bmQtc2lnbiJdLCJmMTU0IiwiTTkxLjMgMjg4bC0zNC44IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjEuNCAwQzM3LjMgMTQ3LjMgMTA1LjEgNDIgMjA3LjYgNDJsOC4yIDBjMzMuNiAwIDY2LjIgMTEuMyA5Mi41IDMyLjJsMTYuMSAxMi43YzEzLjkgMTEgMTYuMiAzMS4xIDUuMiA0NXMtMzEuMSAxNi4yLTQ1IDUuMmwtMTYuMS0xMi43Yy0xNS0xMS45LTMzLjYtMTguNC01Mi44LTE4LjRsLTguMiAwYy01Ny4zIDAtOTQuNyA1OS45LTY5LjcgMTExLjQgMy42IDcuNCA2LjYgMTQuOSA5LjEgMjIuNmwxNDkuNSAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDEuMiAwYzEgMzUuMy04LjcgNzAuNi0yOC45IDEwMC45bC0xOC4xIDI3LjEgMjEyLjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjcyIDBjLTExLjggMC0yMi42LTYuNS0yOC4yLTE2LjlzLTUtMjMgMS42LTMyLjlsNTEuMi03Ni44YzEzLjEtMTkuNiAxOS4yLTQyLjYgMTguMi02NS40eiJdfSxCYWE9Q3RlLEhhYT1DdGUscWFhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhdWNldC1kcmlwIixpY29uOls1MTIsNTEyLFsxMjg2ODhdLCJlMDA2IiwiTTIyNCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJMOTYgNjRDNzguMyA2NCA2NCA3OC4zIDY0IDk2czE0LjMgMzIgMzIgMzJsOTYgMCAwIDY0LTE4LjcgMGMtOC41IDAtMTYuNiAzLjQtMjIuNiA5LjRMMTI4IDIyNCAzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTAwLjEgMGMyMC4yIDI5IDUzLjkgNDggOTEuOSA0OHM3MS43LTE5IDkxLjktNDhsMzYuMSAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMiAwLTg4LjQtNzEuNi0xNjAtMTYwLTE2MGwtMzIgMC0yMi42LTIyLjZjLTYtNi0xNC4xLTkuNC0yMi42LTkuNGwtMTguNyAwIDAtNjQgOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMGMwLTE3LjctMTQuMy0zMi0zMi0zMnpNNDM2LjggNDU1LjRsLTE4LjIgNDIuNGMtMS44IDQuMS0yLjcgOC42LTIuNyAxMy4xbDAgMS4yYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xLjJjMC00LjUtLjktOC45LTIuNy0xMy4xbC0xOC4yLTQyLjRjLTEuOS00LjUtNi4zLTcuNC0xMS4yLTcuNHMtOS4yIDIuOS0xMS4yIDcuNHoiXX0seHY9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWluZm8iLGljb246WzUxMiw1MTIsWyJpbmZvLWNpcmNsZSJdLCJmMDVhIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMjQgMTYwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bS04IDY0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA4OCA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTgwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjQgMCAwLTY0LTI0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LFZhYT14dixqYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmVhdGhlciIsaWNvbjpbNTEyLDUxMixbMTI5NzE4XSwiZjUyZCIsIk0zNTIgMGM0MSAwIDgwLjMgMTYuMyAxMDkuMiA0NS4ybDUuNSA1LjVjMjkgMjkgNDUuMyA2OC4zIDQ1LjMgMTA5LjIgMCAyNC4xLTUuNyA0Ny42LTE2LjIgNjguOC0xLjkgMy43LTUuMyA2LjUtOS4zIDcuN0wzNzQuNSAyNzBjLTMuOSAxLjItNi41IDQuNy02LjUgOC44IDAgNS4xIDQuMSA5LjIgOS4yIDkuMmwzMi4yIDBjMTQuMyAwIDIxLjQgMTcuMiAxMS4zIDI3LjNsLTIyLjQgMjIuNGMtMS45IDEuOS00LjIgMy4yLTYuNyA0bC04MSAyNC4zYy0zLjkgMS4yLTYuNSA0LjctNi41IDguOCAwIDUuMSA0LjEgOS4yIDkuMiA5LjIgMTMuMiAwIDE4LjkgMTUuNyA3LjggMjIuOS00MS4xIDI2LjYtODkuMyA0MS4xLTEzOSA0MS4xbC04NiAwLTQ4IDQ4Yy04LjggOC44LTIzLjIgOC44LTMyIDBzLTguOC0yMy4yIDAtMzJMMjU2IDIyNGM4LjgtOC44IDguOC0yMy4yIDAtMzJzLTIzLjItOC44LTMyIDBMNzkuNSAzMzYuNWMtNS43IDUuNy0xNS41IDEuNy0xNS41LTYuNCAwLTY3LjkgMjctMTMzIDc1LTE4MUwyNDIuOCA0NS4yQzI3MS43IDE2LjMgMzExIDAgMzUyIDB6Il19LFVhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3dsLXJpY2UiLGljb246WzUxMiw1MTIsW10sImUyZWIiLCJNMTc2IDQwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0yNCA0OGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0ek01NiAxNjBsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNMCAyODMuNEMwIDI2OC4zIDEyLjMgMjU2IDI3LjQgMjU2bDQ1Ny4xIDBjMTUuMSAwIDI3LjQgMTIuMyAyNy40IDI3LjQgMCA3MC41LTQ0LjQgMTMwLjctMTA2LjcgMTU0LjFMNDAzLjUgNDUyYy0yIDE2LTE1LjYgMjgtMzEuOCAyOGwtMjMxLjUgMGMtMTYuMSAwLTI5LjgtMTItMzEuOC0yOGwtMS44LTE0LjRDNDQuNCA0MTQuMSAwIDM1My45IDAgMjgzLjR6TTIyNCAxODRjMC0xMy4zIDEwLjctMjQgMjQtMjRsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bS05NiAwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0ek0xMDQgODhsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMjE2IDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0ek0yOTYgODhsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMTIwIDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0ek0zOTIgODhsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNMjk2IDE2bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LERnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFyLWhhbGYtc3Ryb2tlIixpY29uOls1NzYsNTEyLFsic3Rhci1oYWxmLWFsdCJdLCJmNWMwIiwiTTI4OC4xIDM1My42YzEwIDAgMTkuOSAyLjMgMjkgN2w3NC40IDM3LjktMTMtODIuNWMtMy4yLTIwLjIgMy41LTQwLjcgMTcuOS01NS4ybDU5LTU5LjEtODIuNS0xMy4xYy0yMC4yLTMuMi0zNy43LTE1LjktNDctMzQuMWwtMzgtNzQuNCAwIDI3My42ek00NTcuNCA0ODljLTcuMyA1LjMtMTcgNi4xLTI1IDJMMjg4LjEgNDE3LjYgMTQzLjggNDkxYy04IDQuMS0xNy43IDMuMy0yNS0ycy0xMS0xNC4yLTkuNi0yMy4yTDEzNC40IDMwNS45IDIwIDE5MS40Yy02LjQtNi40LTguNi0xNS44LTUuOC0yNC40czEwLjEtMTQuOSAxOS4xLTE2LjNsMTU5LjktMjUuNCA3My42LTE0NC4yYzQuMS04IDEyLjQtMTMuMSAyMS40LTEzLjFzMTcuMyA1LjEgMjEuNCAxMy4xTDM4MyAxMjUuMyA1NDIuOSAxNTAuN2M4LjkgMS40IDE2LjMgNy43IDE5LjEgMTYuM3MuNSAxOC01LjggMjQuNEw0NDEuNyAzMDUuOSA0NjcgNDY1LjhjMS40IDguOS0yLjMgMTcuOS05LjYgMjMuMnoiXX0sV2FhPURnZSxBZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVtcGVyYXR1cmUtYXJyb3ctZG93biIsaWNvbjpbNTEyLDUxMixbInRlbXBlcmF0dXJlLWRvd24iXSwiZTAzZiIsIk02NC41IDk2YzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZsMCAxNjQuN2MyOS41IDI2LjQgNDggNjQuNyA0OCAxMDcuMyAwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NHMtMTQ0LTY0LjUtMTQ0LTE0NGMwLTQyLjYgMTguNS04MSA0OC0xMDcuM0w2NC41IDk2em05NiAzMzZjMzUuMyAwIDY0LTI4LjcgNjQtNjQgMC0yNi45LTE2LjUtNDkuOS00MC01OS4zbDAtMjguN2MwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI4LjdjLTIzLjUgOS41LTQwIDMyLjUtNDAgNTkuMyAwIDM1LjMgMjguNyA2NCA2NCA2NHpNNDM5LjEgMzEwLjZjLTYgNi0xNC4xIDkuNC0yMi42IDkuNHMtMTYuNi0zLjQtMjIuNi05LjRsLTY0LTY0Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDkuNCA5LjQgMC0xNzguN2MwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTc4LjcgOS40LTkuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zbC02NCA2NHoiXX0sR2FhPUFnZSxZYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFzay12ZW50aWxhdG9yIixpY29uOls2NDAsNTEyLFtdLCJlNTI0IiwiTTE1Mi4yIDE5MmMtMTUuNCAzOC4zLTI0LjIgNzcuMi0yNC4yIDEwOC44IDAgMTMuMyAxLjUgMjYuMiA0LjQgMzguN2wtMTctMy40Yy0yOS45LTYtNTEuNC0zMi4yLTUxLjQtNjIuOGwwLTgxLjMgODguMiAwem0zMi45LTY0TDY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA4MS4zYzAgNjEgNDMuMSAxMTMuNSAxMDIuOSAxMjUuNWw2Ni4zIDEzLjNjMTguNyAyMi4xIDQyLjkgNDAgNzAuOCA1MS44bDAtODcuOGMtMTAuMS0xNC4yLTE2LTMxLjMtMTYtNDkuNyAwLTQ5LjUgNDMtMTM0LjQgOTYtMTM0LjQgNTIuNSAwIDk2IDg0LjkgOTYgMTM0LjQgMCAxOC40LTUuOSAzNS40LTE2IDQ5LjZsMCA4Ny43YzI3LjYtMTEuOCA1MS43LTI5LjYgNzAuNC01MS42bDY2LjctMTMuM2M1OS44LTEyIDEwMi45LTY0LjUgMTAyLjktMTI1LjVsMC04MS4zYzAtMzUuMy0yOC43LTY0LTY0LTY0bC0xMjEuNSAwYy0zNC44LTU0LjItODIuNS05Ni0xMzQuNS05Ni01Mi42IDAtMTAwLjIgNDEuOC0xMzQuOSA5NnptMzAyLjUgNjRsODguNCAwIDAgODEuM2MwIDMwLjUtMjEuNSA1Ni44LTUxLjQgNjIuOGwtMTcgMy40YzIuOS0xMi40IDQuNS0yNS40IDQuNS0zOC43IDAtMzEuNi04LjktNzAuNS0yNC40LTEwOC44ek0yODggMzIwbDAgMTkyIDY0IDAgMC0xOTJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ6Il19LEthYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLXZpZGVvIixpY29uOlszODQsNTEyLFtdLCJmMWM4IiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek04MCAzMDRsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjQgMzUgMzVjMy4yIDMuMiA3LjUgNSAxMiA1IDkuNCAwIDE3LTcuNiAxNy0xN2wwLTk0LjFjMC05LjQtNy42LTE3LTE3LTE3LTQuNSAwLTguOCAxLjgtMTIgNWwtMzUgMzUgMC0yNGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtOTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6Il19LFphYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy10cmVuZC1kb3duIixpY29uOls1NzYsNTEyLFtdLCJlMDk3IiwiTTM4NCAzNTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xNjBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA4Mi43LTE2OS40LTE2OS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMEwxOTIgMjQyLjcgNTQuNiAxMDUuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMEwzMjAgMjA1LjMgNDY2LjcgMzUyIDM4NCAzNTJ6Il19LFhhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJvaWwtY2FuIixpY29uOls2NDAsNTEyLFtdLCJmNjEzIiwiTTMyMCAxMjhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMTkyIDY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCAzMi0xNzYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA2NC44YzAgMTkgMTEuMiAzNi4yIDI4LjUgNDMuOWw2Ny41IDMwIDAgMjEuM2MwIDI2LjUgMjEuNSA0OCA0OCA0OGwyNTkuMSAwYzE4LjQgMCAzNS44LTcuOSA0OC0yMS43TDYzMy41IDE4Ny43YzEyLjMtMTMuOS0uMy0zNS40LTE4LjQtMzEuNUw0NDggMTkyIDM5Ny41IDE2Ni44Yy04LjktNC40LTE4LjctNi44LTI4LjYtNi44bC04MC45IDAgMC0zMiAzMiAwek05NiAyMDhsMCA4Ni4xLTQ4LTIxLjMgMC02NC44IDQ4IDB6Il19LEVnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW9wbGUtY2FycnktYm94IixpY29uOls1NzYsNTEyLFsicGVvcGxlLWNhcnJ5Il0sImY0Y2UiLCJNNjQtMzJBNTYgNTYgMCAxIDEgNjQgODAgNTYgNTYgMCAxIDEgNjQtMzJ6TTAgMTcxLjFjMC0zMi42IDI2LjUtNTkuMSA1OS4xLTU5LjEgMjMuNSAwIDQ1LjUgMTEuMyA1OS4xIDMwLjRsNDguNyA2OC4yYzUuOCA4LjIgMTUuMSAxMy4xIDI1LjEgMTMuNGwwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMTAtLjMgMTkuMy01LjIgMjUuMS0xMy40bDQ4LjctNjguMmMxMy42LTE5LjEgMzUuNi0zMC40IDU5LjEtMzAuNCAzMi42IDAgNTkuMSAyNi41IDU5LjEgNTkuMUw1NzYgMjcyYzAgMzAuMi0xNC4yIDU4LjctMzguNCA3Ni44bC03Ni44IDU3LjZjLTguMSA2LTEyLjggMTUuNS0xMi44IDI1LjZsMCA4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTgwYzAtMzAuMiAxNC4yLTU4LjcgMzguNC03Ni44bDQxLjYtMzEuMiAwLTgwLjEtMi44IDMuOWMtMTggMjUuMi00Ny4xIDQwLjItNzguMSA0MC4yTDM1MiAyODhjLS42IDAtMS4zIDAtMS45LS4xLS42IDAtMS4zIC4xLTEuOSAuMWwtMTIwLjQgMGMtLjYgMC0xLjMgMC0xLjktLjEtLjYgMC0xLjMgLjEtMS45IC4xbC0zMS4xIDBjLTMxIDAtNjAuMS0xNS03OC4xLTQwLjJsLTIuOC0zLjkgMCA4MC4xIDQxLjYgMzEuMkMxNzcuOCAzNzMuMyAxOTIgNDAxLjggMTkyIDQzMmwwIDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtODBjMC0xMC4xLTQuNy0xOS42LTEyLjgtMjUuNkwzOC40IDM0OC44QzE0LjIgMzMwLjcgMCAzMDIuMiAwIDI3MkwwIDE3MS4xek0wIDM3OS4zYzMuMSAyLjcgNi4zIDUuNCA5LjYgNy45TDY0IDQyOCA2NCA1MTJjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA1MjkuNyAwIDUxMkwwIDM3OS4zek01NjggMjRhNTYgNTYgMCAxIDEgLTExMiAwIDU2IDU2IDAgMSAxIDExMiAwem04IDQ4OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTg0IDU0LjQtNDAuOGMzLjMtMi41IDYuNS01LjEgOS42LTcuOUw1NzYgNTEyeiJdfSxRYWE9RWdlLEphYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFpciIsaWNvbjpbNDQ4LDUxMixbMTI5NjgxXSwiZjZjMCIsIk0xNTIgMjU2bDAtMTgxLjhjLTI0LjUgMjAuNS00MCA1MS40LTQwIDg1LjhsMCA5NiA0MCAwem00OCAwbDQ4IDAgMC0yMDUuNGMtNy43LTEuNy0xNS44LTIuNi0yNC0yLjZzLTE2LjMgLjktMjQgMi42TDIwMCAyNTZ6TTI5NiA3NC4ybDAgMTgxLjggNDAgMCAwLTk2YzAtMzQuNC0xNS41LTY1LjItNDAtODUuOHpNMzIgMjU2bDMyIDAgMC05NkM2NCA3MS42IDEzNS42IDAgMjI0IDBTMzg0IDcxLjYgMzg0IDE2MGwwIDk2IDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTYtMjU2IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxlcmE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2luZCIsaWNvbjpbNTEyLDUxMixbXSwiZjcyZSIsIk0yODggMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsNDAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwzMiAxMTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzI4IDBjNDguNiAwIDg4LTM5LjQgODgtODhTNDA4LjYgMCAzNjAgMEwzMjAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTY0IDM1MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzUzIDAgOTYtNDMgOTYtOTZzLTQzLTk2LTk2LTk2TDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTEyOCA1MTJsNDAgMGM0OC42IDAgODgtMzkuNCA4OC04OHMtMzkuNC04OC04OC04OEwzMiAzMzZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTM2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6Il19LHRyYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsYXllci1ncm91cCIsaWNvbjpbNTEyLDUxMixbXSwiZjVmZCIsIk0yMzIuNSA1LjJjMTQuOS02LjkgMzIuMS02LjkgNDcgMGwyMTguNiAxMDFjOC41IDMuOSAxMy45IDEyLjQgMTMuOSAyMS44cy01LjQgMTcuOS0xMy45IDIxLjhsLTIxOC42IDEwMWMtMTQuOSA2LjktMzIuMSA2LjktNDcgMEwxMy45IDE0OS44QzUuNCAxNDUuOCAwIDEzNy4zIDAgMTI4czUuNC0xNy45IDEzLjktMjEuOEwyMzIuNSA1LjJ6TTQ4LjEgMjE4LjRsMTY0LjMgNzUuOWMyNy43IDEyLjggNTkuNiAxMi44IDg3LjMgMGwxNjQuMy03NS45IDM0LjEgMTUuOGM4LjUgMy45IDEzLjkgMTIuNCAxMy45IDIxLjhzLTUuNCAxNy45LTEzLjkgMjEuOGwtMjE4LjYgMTAxYy0xNC45IDYuOS0zMi4xIDYuOS00NyAwTDEzLjkgMjc3LjhDNS40IDI3My44IDAgMjY1LjMgMCAyNTZzNS40LTE3LjkgMTMuOS0yMS44bDM0LjEtMTUuOHpNMTMuOSAzNjIuMmwzNC4xLTE1LjggMTY0LjMgNzUuOWMyNy43IDEyLjggNTkuNiAxMi44IDg3LjMgMGwxNjQuMy03NS45IDM0LjEgMTUuOGM4LjUgMy45IDEzLjkgMTIuNCAxMy45IDIxLjhzLTUuNCAxNy45LTEzLjkgMjEuOGwtMjE4LjYgMTAxYy0xNC45IDYuOS0zMi4xIDYuOS00NyAwTDEzLjkgNDA1LjhDNS40IDQwMS44IDAgMzkzLjMgMCAzODRzNS40LTE3LjkgMTMuOS0yMS44eiJdfSxhcmE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhZC1zaWRlLW1hc2siLGljb246WzUxMiw1MTIsW10sImUwNjMiLCJNNDQ1LjkgMTkzYy0uMS0uNC0uMi0uOS0uMi0xLjMtMTUuNy0xMDguNC0xMDguOS0xOTEuNy0yMjEuNy0xOTEuNy04NSAwLTE1OSA0Ny40LTE5Ni45IDExNy4yTDI4My4zIDI4OCA0NTYgMjg4IDQ0Mi45IDMzNiAzMzYgMzM2Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDk4LjIgMC04LjcgMzItODkuNSAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDgwLjYgMGMtNi43IDE5LjEtMjQuOCAzMi00NS4zIDMyTDI4OCA0NjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTA0LjUtMjQ3LjUtMTY1QzMgMTgyLjEgMCAyMDIuNyAwIDIyNCAwIDI3OCAxOS4xIDMyNy41IDUwLjkgMzY2LjIgNTguOSAzNzUuOSA2NCAzODcuOCA2NCA0MDAuNEw2NCA0NjRjMCAyNi41IDIxLjUgNDggNDggNDhsMTI3LjMgMCAuNyAwIDEzMS4zIDBjNDQuOSAwIDgzLjgtMzEuMSA5My42LTc0LjlsMzMuOS0xNTAuM2MzLjMtMTQuNC0uMy0yOS41LTkuNy00MUw0NDUuOSAxOTN6TTI4OCAxOTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0sX3RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzIixpY29uOls1MTIsNTEyLFsic2lnbi1sYW5ndWFnZSIsInNpZ25pbmciXSwiZjJhNyIsIk01MTIgMTYwbC0uMSA3Mi42YzAgNDQuOC0xNy42IDg3LjEtNDcuOSAxMTguNC0uMy03Ny00MC4xLTE0OC40LTEwNS40LTE4OS4zbC0xLjktMS4yYzIuNS0zLjcgMi44LTguNiAuNC0xMi43bC02Mi0xMDcuNGMtNi42LTExLjUtMi43LTI2LjIgOC44LTMyLjhTMzMwIDUgMzM2LjYgMTYuNWw2OCAxMTcuOCAwIDAgMCAwIDQzLjMgNzUgLjEtNDkuM2MwLTE3LjcgMTQuNC0zMiAzMi0zMnMzMiAxNC40IDMyIDMyek0yOTguNCAxMjQuMmMtMTQuMS04LjgtMjkuOC0xMi43LTQ1LjItMTIuMUwyMTYuNyA0OC44Yy02LjYtMTEuNS0yLjctMjYuMiA4LjgtMzIuOHMyNi4yLTIuNyAzMi44IDguOGw2Ny4xIDExNi4yLTI3LTE2Ljl6TTIxMS45IDg4LjVsMTYuNCAyOC40Yy0xNS4xIDUuNS0yOC42IDE1LjYtMzguMyAyOS43bC0xOS43LTM0LjJjLTYuNi0xMS41LTIuNy0yNi4yIDguOC0zMi44czI2LjItMi43IDMyLjggOC44em0tNDYuNCA2My43bDEyLjUgMjEuN2MtMiA4LjYtMi41IDE3LjUtMS43IDI2LjFsLTQuMyAwIDAgMC0zNC40IDAtMTMuNy0yMy44Yy02LjYtMTEuNS0yLjctMjYuMiA4LjgtMzIuOHMyNi4yLTIuNyAzMi44IDguOHpNMjI4LjkgMTc1YzkuNC0xNSAyOS4xLTE5LjUgNDQuMS0xMC4ybDYwLjIgMzcuNkMzODQuNyAyMzQuNyA0MTYgMjkxLjIgNDE2IDM1MmwwIDhjMCA4My45LTY4LjEgMTUyLTE1MiAxNTJMODggNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDkyIDBjNi42IDAgMTItNS40IDEyLTEycy01LjQtMTItMTItMTJMNTYgNDQwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEyNCAwYzYuNiAwIDEyLTUuNCAxMi0xMnMtNS40LTEyLTEyLTEyTDI0IDM2OGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNTYgMGM2LjYgMCAxMi01LjQgMTItMTJzLTUuNC0xMi0xMi0xMkw1NiAyOTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTM2IDAgMCAwIDAgMCA5My4yIDAtNDYuMi0yOC45Yy0xNS05LjQtMTkuNS0yOS4xLTEwLjItNDQuMXoiXX0scnJhPV90ZSxzcmE9X3RlLGlyYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZXRzIixpY29uOls1MTIsNTEyLFtdLCJmNDkwIiwiTTQ5NS4zIDc2LjZjLTQuNi04LjctMTYuMy05LjctMjMuMy0yLjdMMjk3LjkgMjQ4Yy03IDctNiAxOC43IDIuNyAyMy4zIDIwLjEgMTAuNyA0MyAxNi43IDY3LjQgMTYuNyA3OS41IDAgMTQ0LTY0LjUgMTQ0LTE0NCAwLTI0LjMtNi00Ny4zLTE2LjctNjcuNHpNMjQwLjcgMjExLjRjNC42IDguNyAxNi4zIDkuNyAyMy4zIDIuN0w0MzguMSA0MGM3LTcgNi0xOC43LTIuNy0yMy4zLTIwLjEtMTAuNy00My0xNi43LTY3LjQtMTYuNy03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NCAwIDI0LjMgNiA0Ny4zIDE2LjcgNjcuNHpNMTQ0IDIyNEM3OS4yIDIyNCAyNC40IDI2Ni44IDYuMyAzMjUuNiAzLjQgMzM1LjEgMTEgMzQ0IDIwLjkgMzQ0bDI0Ni4yIDBjOS45IDAgMTcuNS04LjkgMTQuNi0xOC40LS45LTMtMS45LTUuOS0zLTguNy0zNy40LTE4LjEtNjgtNDgtODctODQuOC0xNC45LTUuMi0zMC45LTguMS00Ny42LTguMXpNMjgxLjcgNDEwLjRjMi45LTkuNS00LjctMTguNC0xNC42LTE4LjRMMjAuOSAzOTJDMTEgMzkyIDMuNCA0MDAuOSA2LjMgNDEwLjQgMjQuNCA0NjkuMiA3OS4yIDUxMiAxNDQgNTEyczExOS42LTQyLjggMTM3LjctMTAxLjZ6Il19LG9yYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3ZWlnaHQtaGFuZ2luZyIsaWNvbjpbNTEyLDUxMixbXSwiZjVjZCIsIk0yMjQgOTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTIyLjUgMzJjMy41LTEwIDUuNS0yMC44IDUuNS0zMiAwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmMwIDExLjIgMS45IDIyIDUuNSAzMmwtMjEuOCAwYy0yOC4zIDAtNTMuMiAxOC41LTYxLjMgNDUuNkwyLjQgNDQwLjJDLjggNDQ1LjQgMCA0NTAuOCAwIDQ1Ni4yIDAgNDg3IDI1IDUxMiA1NS44IDUxMmw0MDAuNCAwYzMwLjggMCA1NS44LTI1IDU1LjgtNTUuOCAwLTUuNC0uOC0xMC44LTIuNC0xNmwtODAtMjY2LjVjLTguMS0yNy4xLTMzLTQ1LjYtNjEuMy00NS42bC0yMS44IDB6Il19LG5yYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWNlIixpY29uOls1MTIsNTEyLFsxMjc5MjJdLCJmNTIyIiwiTTE0MS40IDIuM0MxMDMtOCA2My41IDE0LjggNTMuMyA1My4yTDIuNSAyNDIuN0MtNy44IDI4MS4xIDE1IDMyMC42IDUzLjQgMzMwLjlsMTg5LjUgNTAuOGMzOC40IDEwLjMgNzcuOS0xMi41IDg4LjItNTAuOWw1MC44LTE4OS41YzEwLjMtMzguNC0xMi41LTc3LjktNTAuOS04OC4yTDE0MS40IDIuM3ptMjMgMjA1LjdhMzIgMzIgMCAxIDEgNTUuNC0zMiAzMiAzMiAwIDEgMSAtNTUuNCAzMnpNNzkuMiAyMjAuM2EzMiAzMiAwIDEgMSAzMiA1NS40IDMyIDMyIDAgMSAxIC0zMi01NS40em0xODUgOTYuNGEzMiAzMiAwIDEgMSAtMzItNTUuNCAzMiAzMiAwIDEgMSAzMiA1NS40em05LTIwOC40YTMyIDMyIDAgMSAxIDMyIDU1LjQgMzIgMzIgMCAxIDEgLTMyLTU1LjR6bS0xMjEgMTQuNGEzMiAzMiAwIDEgMSAtMzItNTUuNCAzMiAzMiAwIDEgMSAzMiA1NS40ek00MTggMTkyTDM3Ny40IDM0My4yYy0xNy4yIDY0LTgzIDEwMi0xNDcgODQuOWwtMzguMy0xMC4zIDAgMzAuMmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5MmMwLTM1LjMtMjguNy02NC02NC02NEw0MTggMTkyeiJdfSxQZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hvcC1zbGFzaCIsaWNvbjpbNTc2LDUxMixbInN0b3JlLWFsdC1zbGFzaCJdLCJlMDcwIiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTU3LTU3IDAtMTkwLjNjMjYuOC0xLjkgNDgtMjQuMyA0OC01MS42IDAtOC0xLjktMTYtNS41LTIzLjJMNDk3LjcgNjcuNEM0ODYuOCA0NS43IDQ2NC43IDMyIDQ0MC40IDMyTDEzNS42IDMyYy0xMC43IDAtMjEgMi43LTMwLjIgNy42TDQxLTI0Ljl6TTMyMS44IDI1Nkw0NDggMjU2IDQ0OCAzODIuMiAzMjEuOCAyNTZ6TTM1MiA0MjEuOGwtNjQtNjQgMCAxMC4yYzAgOC44LTcuMiAxNi0xNiAxNmwtMTI4IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTExMiA1OC4yIDAtMTM0LjgtMTM0LjgtMjkuOSA1OS45Yy0zLjYgNy4yLTUuNSAxNS4xLTUuNSAyMy4yIDAgMjcuMyAyMS4yIDQ5LjcgNDggNTEuNkw2NCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsMTkyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xMC4yeiJdfSxscmE9UGdlLElnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzb3J0LWRvd24iLGljb246WzM4NCw1MTIsWyJzb3J0LWRlc2MiXSwiZjBkZCIsIk0zMiAyODhjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhTLjIgMzMzLjUgOS40IDM0Mi42bDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVMzNjQuOSAyODggMzUyIDI4OEwzMiAyODh6Il19LGNyYT1JZ2UsZHJhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlc2V0YS1zaWduIixpY29uOls0NDgsNTEyLFtdLCJlMjIxIiwiTTExMiAzMkM5NC4zIDMyIDgwIDQ2LjMgODAgNjRsMCAxMDQtMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNCAwIDAgMjMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiA5NiAwYzgwLjIgMCAxNDYuNi01OSAxNTguMi0xMzZsMjUuOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yNS44IDBDMzg2LjYgOTEgMzIwLjIgMzIgMjQwIDMyTDExMiAzMnpNMzMzIDE2OGwtMTg5IDAgMC03MiA5NiAwYzQ0LjcgMCA4Mi4zIDMwLjYgOTMgNzJ6TTE0NCAyMTZsMTg5IDBjLTEwLjcgNDEuNC00OC4yIDcyLTkzIDcybC05NiAwIDAtNzJ6Il19LE5nZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZXQtc2NyZWVuLWJ1dHRvbiIsaWNvbjpbNDQ4LDUxMixbInRhYmxldC1hbHQiXSwiZjNmYSIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6TTI1NiA0MzJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzg0IDY0bC0zMjAgMCAwIDI4OCAzMjAgMCAwLTI4OHoiXX0sdXJhPU5nZSxSZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1ob2xkaW5nLWRvbGxhciIsaWNvbjpbNTc2LDUxMixbImhhbmQtaG9sZGluZy11c2QiXSwiZjRjMCIsIk0yODgtMTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTItMS44IDBjLTM2LjYgMC02Ni4yIDI5LjctNjYuMiA2Ni4yIDAgMzMuNCAyNC45IDYxLjYgNTggNjUuN2w2MSA3LjZjNS4xIC42IDkgNSA5IDEwLjIgMCA1LjctNC42IDEwLjItMTAuMiAxMC4yTDI0MCAxODBjLTE1LjUgMC0yOCAxMi41LTI4IDI4czEyLjUgMjggMjggMjhsMjQgMCAwIDEyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMiAxLjggMGMzNi42IDAgNjYuMi0yOS43IDY2LjItNjYuMiAwLTMzLjQtMjQuOS02MS42LTU4LTY1LjdsLTYxLTcuNmMtNS4xLS42LTktNS05LTEwLjIgMC01LjcgNC42LTEwLjIgMTAuMi0xMC4yTDMyOCA3NmMxNS41IDAgMjgtMTIuNSAyOC0yOHMtMTIuNS0yOC0yOC0yOGwtMTYgMCAwLTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0ek0xMDkuMyAzNDEuNUw2Ni43IDM4NCAzMiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIwLjUgMGMyOSAwIDU3LjMtOS4zIDgwLjctMjYuNWwxMjYuNi05My4zYzE3LjgtMTMuMSAyMS42LTM4LjEgOC41LTU1LjlzLTM4LjEtMjEuNi01NS45LTguNUwzOTIuNiA0MTYgMjgwIDQxNmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw3MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNTIuMiAwYy0zMy45IDAtNjYuNSAxMy41LTkwLjUgMzcuNXoiXX0scHJhPVJnZSxPZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hpZWxkIixpY29uOls1MTIsNTEyLFsxMjg3MzcsInNoaWVsZC1ibGFuayJdLCJmMTMyIiwiTTI1NiAwYzQuNiAwIDkuMiAxIDEzLjQgMi45TDQ1Ny44IDgyLjhjMjIgOS4zIDM4LjQgMzEgMzguMyA1Ny4yLS41IDk5LjItNDEuMyAyODAuNy0yMTMuNiAzNjMuMi0xNi43IDgtMzYuMSA4LTUyLjggMC0xNzIuNC04Mi41LTIxMy4xLTI2NC0yMTMuNi0zNjMuMi0uMS0yNi4yIDE2LjMtNDcuOSAzOC4zLTU3LjJMMjQyLjcgMi45QzI0Ni45IDEgMjUxLjQgMCAyNTYgMHoiXX0sZnJhPU9nZSxGZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1sYXVnaCIsaWNvbjpbNTEyLDUxMixbImxhdWdoIl0sImY1OTkiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTEwMS42IDMxNGMtMy43LTEzLjcgNy41LTI2IDIxLjctMjZsMjY1LjQgMGMxNC4yIDAgMjUuNCAxMi4zIDIxLjcgMjYtMTguNSA2OC04MC42IDExOC0xNTQuNCAxMThTMTIwIDM4MiAxMDEuNiAzMTR6TTE0NCAxOTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0saHJhPUZnZSxtcmE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZHMtaG9sZGluZyIsaWNvbjpbNjQwLDUxMixbXSwiZjRjMiIsIk04MCAxMDRjMC0yMi4xLTE3LjktNDAtNDAtNDBTMCA4MS45IDAgMTA0TDAgMzI1LjVjMCAyNS41IDEwLjEgNDkuOSAyOC4xIDY3LjlMMTI4IDQ5My4zYzEyIDEyIDI4LjMgMTguNyA0NS4zIDE4LjdsNjYuNyAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNzguOWMwLTI5LjctMTEuOC01OC4yLTMyLjgtNzkuMmwtMjUuMy0yNS4zIDAgMGMtNy4zLTcuMy0yMy4xLTIzLjEtNDcuMi00Ny4yLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zYzI0LjEgMjQuMSAzOS45IDM5LjkgNDcuMiA0Ny4yIDExIDExIDkuMiAyOS4yLTMuNyAzNy44LTkuNyA2LjUtMjIuNyA1LjItMzEtMy4xTDk4LjcgMzA5LjVjLTEyLTEyLTE4LjctMjguMy0xOC43LTQ1LjNMODAgMTA0em00ODAgMGwwIDE2MC4yYzAgMTctNi43IDMzLjMtMTguNyA0NS4zbC01MS4xIDUxLjFjLTguMyA4LjMtMjEuMyA5LjYtMzEgMy4xLTEyLjktOC42LTE0LjctMjYuOS0zLjctMzcuOCA3LjMtNy4zIDIzLjEtMjMuMSA0Ny4yLTQ3LjIgMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBjLTI0LjEgMjQuMS0zOS45IDM5LjktNDcuMiA0Ny4ybDAgMC0yNS4zIDI1LjNjLTIxIDIxLTMyLjggNDkuNS0zMi44IDc5LjJsMCA3OC45YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY2LjcgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN2w5OS45LTk5LjljMTgtMTggMjguMS00Mi40IDI4LjEtNjcuOUw2NDAgMTA0YzAtMjIuMS0xNy45LTQwLTQwLTQwcy00MCAxNy45LTQwIDQweiJdfSxCZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FydC1zaG9wcGluZyIsaWNvbjpbNjQwLDUxMixbMTI4NzIyLCJzaG9wcGluZy1jYXJ0Il0sImYwN2EiLCJNMjQtMTZDMTAuNy0xNiAwLTUuMyAwIDhTMTAuNyAzMiAyNCAzMmw0NS4zIDBjMy45IDAgNy4yIDIuOCA3LjkgNi42bDUyLjEgMjg2LjNjNi4yIDM0LjIgMzYgNTkuMSA3MC44IDU5LjFMNDU2IDM4NGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMjU1LjkgMGMtMTEuNiAwLTIxLjUtOC4zLTIzLjYtMTkuN2wtNS4xLTI4LjMgMzAzLjYgMGMzMC44IDAgNTcuMi0yMS45IDYyLjktNTIuMkw1NjguOSA2OS45QzU3Mi42IDUwLjIgNTU3LjUgMzIgNTM3LjQgMzJsLTQxMi43IDAtLjQtMmMtNC44LTI2LjYtMjgtNDYtNTUuMS00NkwyNC0xNnpNMjA4IDUxMmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTIyNCAwYTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnoiXX0sZ3JhPUJnZSxicmE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToib2N0YWdvbiIsaWNvbjpbNTEyLDUxMixbMTI4NzIxXSwiZjMwNiIsIk0xODguNiAuMWMtMTcgMC0zMy4zIDYuNy00NS4zIDE4LjdMMTkuMiAxNDNDNy4yIDE1NSAuNSAxNzEuMiAuNSAxODguMmwwIDEzNS42YzAgMTcgNi43IDMzLjMgMTguNyA0NS4zTDE0My40IDQ5My4yYzEyIDEyIDI4LjMgMTguNyA0NS4zIDE4LjdsMTM1LjYgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN0w0OTMuNiAzNjljMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM2wwLTEzNS42YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDM2OS41IDE4LjhjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdMMTg4LjYgLjF6Il19LHZyYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLXBvaW50ZXIiLGljb246WzQ0OCw1MTIsW10sImYyNWEiLCJNMTI4IDQwYzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDBsMCAxNDguMmM4LjUtNy42IDE5LjctMTIuMiAzMi0xMi4yIDIwLjYgMCAzOC4yIDEzIDQ1IDMxLjIgOC44LTkuMyAyMS4yLTE1LjIgMzUtMTUuMiAyNS4zIDAgNDYgMTkuNSA0Ny45IDQ0LjMgOC41LTcuNyAxOS44LTEyLjMgMzIuMS0xMi4zIDI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTEyYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4bC04NS4zIDBjLTUgMC05LjktLjMtMTQuNy0xLTU1LjMtNS42LTEwNi4yLTM0LTE0MC03OUw4IDMzNmMtMTMuMy0xNy43LTkuNy00Mi43IDgtNTZzNDIuNy05LjcgNTYgOGw1NiA3NC43IDAtMzIyLjd6TTI0MCAzMDRjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTZ6bTQ4LTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTZjMC04LjgtNy4yLTE2LTE2LTE2em04MCAxNmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDk2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC05NnoiXX0seHJhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlZ2lzdGVyZWQiLGljb246WzUxMiw1MTIsWzE3NF0sImYyNWQiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTIwMCAxNDRsODAgMGMzOS44IDAgNzIgMzIuMiA3MiA3MiAwIDI4LjktMTcgNTMuOC00MS42IDY1LjNsMzAuMiA1MC4zYzYuOCAxMS40IDMuMSAyNi4xLTguMiAzMi45cy0yNi4xIDMuMS0zMi45LTguMmwtNDEtNjguMy0zNC40IDAgMCA1NmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE3NmMwLTEzLjMgMTAuNy0yNCAyNC0yNHptNzIgOTZsOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC01NiAwIDAgNDggNDggMHoiXX0seXJhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLXNpZ25hbCIsaWNvbjpbNTc2LDUxMixbXSwiZTAxMiIsIk01MTUuOSAyNDBsLTE5LjkgMCAwIDE0NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMTM3IDBjLTI0LTkxLjctOTMuNS0xNjUtMTgzLTE5NC4zbDAtMTMuNy0xOS45IDBjLTE1LjUgMC0yOC4xLTEyLjYtMjguMS0yOC4xIDAtNy42IDMuMS0xNC45IDguNi0yMC4yTDI3Ni41LTQuOUMyODMuOS0xMiAyOTMuNy0xNiAzMDQtMTZzMjAuMSA0IDI3LjUgMTEuMUw1MzUuNCAxOTEuN2M1LjUgNS4zIDguNiAxMi42IDguNiAyMC4yIDAgMTUuNS0xMi42IDI4LjEtMjguMSAyOC4xek0yODAgMTkyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNDggMHpNMjQgMjg4YzEyOC4xIDAgMjMyIDEwMy45IDIzMiAyMzIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xMDEuNi04Mi40LTE4NC0xODQtMTg0LTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTggMTkyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMCA0MDhjMC0xMy4zIDEwLjctMjQgMjQtMjQgNzUuMSAwIDEzNiA2MC45IDEzNiAxMzYgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC00OC42LTM5LjQtODgtODgtODgtMTMuMyAwLTI0LTEwLjctMjQtMjR6Il19LHdyYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYW5nbGFkZXNoaS10YWthLXNpZ24iLGljb246WzM4NCw1MTIsW10sImUyZTYiLCJNMzYgMzIuM0MxOC40IDMwLjEgMi40IDQyLjUgLjMgNjBTMTAuNSA5My42IDI4IDk1LjhsNy45IDFjMTYgMiAyOCAxNS42IDI4IDMxLjhsMCAzMS41LTQwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDAgMCAwIDE3NmMwIDUzIDQzIDk2IDk2IDk2bDMyIDBjMTA2IDAgMTkyLTg2IDE5Mi0xOTJsMC0zMmMwLTUzLTQzLTk2LTk2LTk2bC0xNiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMmMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOGwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNzYgNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDAgMCAwLTMxLjVDMTI4IDgwLjEgOTIgMzkuMiA0My45IDMzLjJsLTcuOS0xeiJdfSxfJGE9e2ZhMDpFTHQsZmExOlBMdCxmYTI6SUx0LGZhMzpOTHQsZmE0OlJMdCxmYTU6T0x0LGZhNjpGTHQsZmE3OkJMdCxmYTg6SEx0LGZhOTpxTHQsZmFEb2xsYXJTaWduOkRlZSxmYURvbGxhcjpWTHQsZmFVc2Q6akx0LGZhRG9nOlVMdCxmYVRydWNrTW92aW5nOldMdCxmYVJvdGF0ZTpEZmUsZmFTeW5jQWx0OkdMdCxmYVNxdWFyZU1pbnVzOkFmZSxmYU1pbnVzU3F1YXJlOllMdCxmYUFsaWduSnVzdGlmeTpLTHQsZmFDYWxlbmRhckNoZWNrOlpMdCxmYUZhY2VLaXNzOkVmZSxmYUtpc3M6WEx0LGZhS2l0Y2hlblNldDpRTHQsZmFEbmE6Skx0LGZhQ2hpbGRSZWFjaGluZzplJHQsZmFQYXN0ZTpzdixmYUZpbGVDbGlwYm9hcmQ6dCR0LGZhTWV0ZW9yOmEkdCxmYUdlYXJzOlBmZSxmYUNvZ3M6ciR0LGZhRmlsZUNpcmNsZVBsdXM6cyR0LGZhSWNpY2xlczppJHQsZmFBcnJvd1RyZW5kVXA6byR0LGZhSGV4YWdvbk5vZGVzQm9sdDpuJHQsZmFRdWVzdGlvbjpsJHQsZmFIYW5kc0JvdW5kOmMkdCxmYVBlcnNvbldhbGtpbmdMdWdnYWdlOmQkdCxmYUZpbGVBcnJvd0Rvd246SWZlLGZhRmlsZURvd25sb2FkOnUkdCxmYVBlcnNvbkJvb3RoOnAkdCxmYUxvY3VzdDpmJHQsZmFSaWdodExvbmc6TmZlLGZhTG9uZ0Fycm93QWx0UmlnaHQ6aCR0LGZhVHJ1Y2tEcm9wbGV0Om0kdCxmYUhhbmRIb2xkaW5nTWVkaWNhbDpnJHQsZmFIYW5kUG9pbnRMZWZ0OmIkdCxmYUNhbGN1bGF0b3I6diR0LGZhTWludXM6aXYsZmFTdWJ0cmFjdDp4JHQsZmFBcnJvd1VwWkE6UmZlLGZhU29ydEFscGhhVXBBbHQ6eSR0LGZhTWljcm9waG9uZVNsYXNoOnckdCxmYVNxdWFyZVBlbjpBZWUsZmFQZW5TcXVhcmU6TSR0LGZhUGVuY2lsU3F1YXJlOmskdCxmYUhhbmRGaXN0Ok9mZSxmYUZpc3RSYWlzZWQ6UyR0LGZhQ29tbWVudFNtczpGZmUsZmFTbXM6eiR0LGZhU2ltQ2FyZDpDJHQsZmFTY2FsZUJhbGFuY2VkOkJmZSxmYUJhbGFuY2VTY2FsZTpfJHQsZmFDYXI6SGZlLGZhQXV0b21vYmlsZTpUJHQsZmFDcm9wU2ltcGxlOnFmZSxmYUNyb3BBbHQ6TCR0LGZhTWVkYWw6JCR0LGZhU2Nyb2xsOkQkdCxmYUZpbGVFeGNlbDpBJHQsZmFGaWx0ZXI6RSR0LGZhRHJ1bTpQJHQsZmFNYXBQaW46SSR0LGZhU2NhbGVVbmJhbGFuY2VkRmxpcDpWZmUsZmFCYWxhbmNlU2NhbGVSaWdodDpOJHQsZmFBcnJvd3NUb0NpcmNsZTpSJHQsZmFFbnZlbG9wZTpPJHQsZmFCYWJ5OkYkdCxmYVNxdWFyZUNhcmV0RG93bjpqZmUsZmFDYXJldFNxdWFyZURvd246QiR0LGZhVGVudDpIJHQsZmFBOnEkdCxmYVBhcmFjaHV0ZUJveDpWJHQsZmFDYXJ0QXJyb3dEb3duOmokdCxmYUJyaWRnZUNpcmNsZUV4Y2xhbWF0aW9uOlUkdCxmYUNsb3VkQXJyb3dVcDpFZWUsZmFDbG91ZFVwbG9hZDpXJHQsZmFDbG91ZFVwbG9hZEFsdDpHJHQsZmFBdDpZJHQsZmFJbmRpYW5SdXBlZVNpZ246UGVlLGZhSW5kaWFuUnVwZWU6SyR0LGZhSW5yOlokdCxmYVRydWNrOlgkdCxmYUNoYWxrYm9hcmRVc2VyOlVmZSxmYUNoYWxrYm9hcmRUZWFjaGVyOlEkdCxmYVVzZXJDaGVjazpKJHQsZmFVc2VyTmluamE6ZUR0LGZhUGxhbnRXaWx0OnREdCxmYVdlaWdodFNjYWxlOldmZSxmYVdlaWdodDphRHQsZmFDYXJldFJpZ2h0OlR0ZSxmYUZsb3JpblNpZ246ckR0LGZhQmVsbDpMdGUsZmFMYXJpU2lnbjpzRHQsZmFNaWxsU2lnbjppRHQsZmFQZXJzb25Tbm93Ym9hcmRpbmc6R2ZlLGZhU25vd2JvYXJkaW5nOm9EdCxmYVR0eTpZZmUsZmFUZWxldHlwZTpuRHQsZmFVc2Vyc1JlY3RhbmdsZTpsRHQsZmFNb2JpbGU6SWVlLGZhTW9iaWxlQW5kcm9pZDpjRHQsZmFNb2JpbGVQaG9uZTpkRHQsZmFBcnJvd3NUdXJuVG9Eb3RzOnVEdCxmYUV4Y2xhbWF0aW9uOnBEdCxmYUNodXJjaDpmRHQsZmFUb2dnbGVPZmY6aER0LGZhU2hvZVByaW50czptRHQsZmFGaWxlQ2lyY2xlRXhjbGFtYXRpb246Z0R0LGZhV2FsbGV0OiR0ZSxmYU1lc3NhZ2U6b3YsZmFDb21tZW50QWx0OmJEdCxmYVRyb3BoeTp2RHQsZmFGYWNlRGl6enk6S2ZlLGZhRGl6enk6eER0LGZhQmFjdGVyaWE6eUR0LGZhRWFyRGVhZjpxYixmYURlYWY6d0R0LGZhRGVhZm5lc3M6TUR0LGZhSGFyZE9mSGVhcmluZzprRHQsZmFQZW9wbGVBcnJvd3M6WmZlLGZhUGVvcGxlQXJyb3dzTGVmdFJpZ2h0OlNEdCxmYUhhbmRzQ2xhcHBpbmc6ekR0LGZhVmlydXNDb3ZpZFNsYXNoOkNEdCxmYUNhbGVuZGFyRGF5czpYZmUsZmFDYWxlbmRhckFsdDpfRHQsZmFEaWFtb25kVHVyblJpZ2h0OlFmZSxmYURpcmVjdGlvbnM6VER0LGZhSGFuZFBvaW50VXA6TER0LGZhQmV6aWVyQ3VydmU6JER0LGZhUGVyc29uSGFsZkRyZXNzOkREdCxmYVNxdWFyZVBvbGxIb3Jpem9udGFsOkpmZSxmYVBvbGxIOkFEdCxmYVNjaG9vbENpcmNsZVhtYXJrOkVEdCxmYUhhbmRMaXphcmQ6UER0LGZhQ2hhbGtib2FyZDplNWUsZmFCbGFja2JvYXJkOklEdCxmYVVwUmlnaHRGcm9tU3F1YXJlOnQ1ZSxmYUV4dGVybmFsTGlua0FsdDpORHQsZmFTcXVhcmVGdWxsOlJEdCxmYUNsb3ZlcjpPRHQsZmFUZWV0aE9wZW46RkR0LGZhQmFyc1N0YWdnZXJlZDpOZWUsZmFSZW9yZGVyOkJEdCxmYVN0cmVhbTpIRHQsZmFXYXJlaG91c2U6cUR0LGZhU3dhdGNoYm9vazpWRHQsZmFDYW1wZ3JvdW5kOmpEdCxmYVBlcnNvbldhbGtpbmdBcnJvd1JpZ2h0OlVEdCxmYUdsYXNzZXM6V0R0LGZhQ2lyY2xlUGF1c2U6YTVlLGZhUGF1c2VDaXJjbGU6R0R0LGZhTWVtb3J5OllEdCxmYUdpZnQ6S0R0LGZhTW9uZXlCaWxsV2hlYXQ6WkR0LGZhRHVuZ2VvbjpYRHQsZmFTdWl0Y2FzZU1lZGljYWw6cjVlLGZhTWVka2l0OlFEdCxmYVBlcnNvbkNhbmU6SkR0LGZhR2F1Z2U6VmIsZmFEYXNoYm9hcmQ6ZUF0LGZhR2F1Z2VNZWQ6dEF0LGZhVGFjaG9tZXRlckFsdEF2ZXJhZ2U6YUF0LGZhRW52ZWxvcGVPcGVuVGV4dDpyQXQsZmFUb29sYm94OnNBdCxmYVBvd2VyT2ZmOmlBdCxmYVNpZ25hbDpSZWUsZmFTaWduYWw1Om9BdCxmYVNpZ25hbFBlcmZlY3Q6bkF0LGZhQXJyb3dzU3BpbjpsQXQsZmFKb2ludDpjQXQsZmFCcmFpbGxlOmRBdCxmYUJhc2tldFNob3BwaW5nOnM1ZSxmYVNob3BwaW5nQmFza2V0OnVBdCxmYUJyaWRnZTpwQXQsZmFQbGFuZUFycml2YWw6ZkF0LGZhQ2FzaFJlZ2lzdGVyOmhBdCxmYVJpbmc6bUF0LGZhQXF1YXJpdXM6Z0F0LGZhU2hhcmVOb2RlczppNWUsZmFTaGFyZUFsdDpiQXQsZmFQZXJzb25DaXJjbGVFeGNsYW1hdGlvbjp2QXQsZmFCaW5vY3VsYXJzOnhBdCxmYUtpcFNpZ246eUF0LGZhSGFyZERyaXZlOm81ZSxmYUhkZDp3QXQsZmFSYW5raW5nU3RhcjpNQXQsZmFVc2VyVGllOmtBdCxmYUVsbGlwc2lzOm41ZSxmYUVsbGlwc2lzSDpTQXQsZmFTdG9yZVNsYXNoOnpBdCxmYVBlcmNlbnQ6bDVlLGZhUGVyY2VudGFnZTpDQXQsZmFGaWxlWmlwcGVyOmM1ZSxmYUZpbGVBcmNoaXZlOl9BdCxmYURpc3BsYXk6VEF0LGZhSWNvbnM6ZDVlLGZhSGVhcnRNdXNpY0NhbWVyYUJvbHQ6TEF0LGZhUnVsZXJWZXJ0aWNhbDokQXQsZmFNYXBMb2NhdGlvbkRvdDp1NWUsZmFNYXBNYXJrZWRBbHQ6REF0LGZhSGVhcnRDcmFjazpwNWUsZmFIZWFydEJyb2tlbjpBQXQsZmFDb3c6RUF0LGZhUnNzOm52LGZhRmVlZDpQQXQsZmFNYWduaWZ5aW5nR2xhc3M6bHYsZmFTZWFyY2g6SUF0LGZhQ2xvdWRNb29uOk5BdCxmYUJveGVzU3RhY2tlZDpPZWUsZmFCb3hlczpSQXQsZmFCb3hlc0FsdDpPQXQsZmFDb2RlQnJhbmNoOkZBdCxmYUJhbjpmNWUsZmFDYW5jZWw6QkF0LGZhSnVnRGV0ZXJnZW50OkhBdCxmYVJlcGx5Omg1ZSxmYU1haWxSZXBseTpxQXQsZmFTdW5QbGFudFdpbHQ6VkF0LGZhQmFjdGVyaXVtOmpBdCxmYVJlY29yZFZpbnlsOlVBdCxmYUZsb3BweURpc2s6bTVlLGZhU2F2ZTpXQXQsZmFUb2lsZXRzUG9ydGFibGU6R0F0LGZhTzpZQXQsZmFQYWxldHRlOktBdCxmYVVubG9jazpaQXQsZmFFYXJMaXN0ZW46ZzVlLGZhQXNzaXN0aXZlTGlzdGVuaW5nU3lzdGVtczpYQXQsZmFDb2RlUHVsbFJlcXVlc3Q6UUF0LGZhS2V5OkpBdCxmYVNrdWxsOmVFdCxmYU1hcnNTdHJva2VVcDpiNWUsZmFNYXJzU3Ryb2tlVjp0RXQsZmFGaXJlRmxhbWVTaW1wbGU6djVlLGZhQnVybjphRXQsZmFUcmVlOnJFdCxmYVNtb2c6c0V0LGZhUzppRXQsZmFKZWRpOm9FdCxmYVBlcnNvbkhpa2luZzp4NWUsZmFIaWtpbmc6bkV0LGZhQXJyb3dzVXBUb0xpbmU6bEV0LGZhTWFyc0RvdWJsZTpjRXQsZmFUaGVybW9tZXRlcjpkRXQsZmFQYWludGJydXNoOnk1ZSxmYVBhaW50QnJ1c2g6dUV0LGZhTmV1dGVyOnBFdCxmYVNxdWFyZVBob25lRmxpcDp3NWUsZmFQaG9uZVNxdWFyZUFsdDpmRXQsZmFGYWNlR3JpblRvbmd1ZVNxdWludDpNNWUsZmFHcmluVG9uZ3VlU3F1aW50OmhFdCxmYUNvbW1lbnREb2xsYXI6bUV0LGZhSGlwcG86Z0V0LGZhQm93bEZvb2Q6YkV0LGZhU3F1YXJlVmlydXM6dkV0LGZhQ2xvdWRTdW5SYWluOnhFdCxmYUFycm93UmlnaHRMb25nOms1ZSxmYUxvbmdBcnJvd1JpZ2h0OnlFdCxmYUJ1aWxkaW5nVW46d0V0LGZhVGVtcGVyYXR1cmVMb3c6TUV0LGZhRG9vck9wZW46a0V0LGZhQWxpZ25MZWZ0OlNFdCxmYUNhbWVyYTpTNWUsZmFDYW1lcmFBbHQ6ekV0LGZhVXNlcnNSYXlzOkNFdCxmYVJhaW5ib3c6X0V0LGZhU2l0ZW1hcDpURXQsZmFGYWNlR3JpblN0YXJzOno1ZSxmYUdyaW5TdGFyczpMRXQsZmFTb3J0VXA6QzVlLGZhU29ydEFzYzokRXQsZmFFeWU6RHRlLGZhQ2FyZXRMZWZ0OkF0ZSxmYUFwcGxlV2hvbGU6XzVlLGZhQXBwbGVBbHQ6REV0LGZhU2Nyb2xsVG9yYWg6VDVlLGZhVG9yYWg6QUV0LGZhSG91c2VMb2NrOkVFdCxmYUFycm93c0xlZnRSaWdodFRvTGluZTpQRXQsZmFUcmFzaDp5dixmYUZhY2VTYWRUZWFyOkw1ZSxmYVNhZFRlYXI6SUV0LGZhRmF4Ok5FdCxmYVBlcnNvbkNpcmNsZVBsdXM6UkV0LGZhSGFtc2E6T0V0LGZhUGVyc29uQ2lyY2xlUXVlc3Rpb246RkV0LGZhQ2xpcGJvYXJkQ2hlY2s6QkV0LGZhU2hhcmVGcm9tU3F1YXJlOiQ1ZSxmYVNoYXJlU3F1YXJlOkhFdCxmYVJlY2VpcHQ6RXRlLGZhRXF1YWxzOnFFdCxmYUNoZXZyb25VcDpWRXQsZmFWaXJ1c1NsYXNoOmpFdCxmYVNsYXNoOlVFdCxmYUV4cGFuZDpXRXQsZmFOb3RlU3RpY2t5OkQ1ZSxmYVN0aWNreU5vdGU6R0V0LGZhVGFibGVDb2x1bW5zOkE1ZSxmYUNvbHVtbnM6WUV0LGZhUGVyc29uU2hlbHRlcjpLRXQsZmFDaXJjbGVOb3RjaDpaRXQsZmFXYXRlcjpYRXQsZmFEZWxldGVMZWZ0OkU1ZSxmYUJhY2tzcGFjZTpRRXQsZmFCcm9vbUJhbGw6RmVlLGZhUXVpZGRpdGNoOkpFdCxmYVF1aWRkaXRjaEJyb29tQmFsbDplUHQsZmFKOnRQdCxmYVNodXR0bGVTcGFjZTpQNWUsZmFTcGFjZVNodXR0bGU6YVB0LGZhWWluWWFuZzpyUHQsZmFTdG9wOnNQdCxmYVRyb3dlbDppUHQsZmFIYW5kQmFja0Zpc3Q6STVlLGZhSGFuZFJvY2s6b1B0LGZhVGVtcGVyYXR1cmVIaWdoOm5QdCxmYUdyZWF0ZXJUaGFuOmxQdCxmYUNydXRjaDpjUHQsZmFTZXB0YWdvbjpONWUsZmFIZXB0YWdvbjpkUHQsZmFTdHJlZXRWaWV3OnVQdCxmYVdhdmVTcXVhcmU6cFB0LGZhQW5nbGVMZWZ0OmZQdCxmYVNjcmV3ZHJpdmVyOmhQdCxmYVRyYWN0b3I6bVB0LGZhQnJpZGdlQ2lyY2xlWG1hcms6Z1B0LGZhVmlhbHM6YlB0LGZhU3RldGhvc2NvcGU6dlB0LGZhUG9kY2FzdDp4UHQsZmFBcnJvd1VwUmlnaHREb3RzOnlQdCxmYUNoZXNzUXVlZW46d1B0LGZhQW5jaG9yQ2lyY2xlRXhjbGFtYXRpb246TVB0LGZhRWxsaXBzaXNWZXJ0aWNhbDpSNWUsZmFFbGxpcHNpc1Y6a1B0LGZhSGVhcnRDaXJjbGVFeGNsYW1hdGlvbjpTUHQsZmFCdWlsZGluZ0NpcmNsZUV4Y2xhbWF0aW9uOnpQdCxmYVBlcnNvbkFycm93VXBGcm9tTGluZTpDUHQsZmFOb3RFcXVhbDpfUHQsZmFUcmFpblRyYW06VFB0LGZhUGxhbmVEZXBhcnR1cmU6TFB0LGZhUmlnaHRUb0JyYWNrZXQ6TzVlLGZhU2lnbkluQWx0OiRQdCxmYVNkQ2FyZDpEUHQsZmFIb3VzZUNpcmNsZUV4Y2xhbWF0aW9uOkFQdCxmYVNoZWtlbFNpZ246SjgsZmFJbHM6RVB0LGZhU2hla2VsOlBQdCxmYVNoZXFlbDpJUHQsZmFTaGVxZWxTaWduOk5QdCxmYVJhZGlvOlJQdCxmYUhhbmREb3RzOkY1ZSxmYUFsbGVyZ2llczpPUHQsZmFCb29rU2t1bGw6QjVlLGZhQm9va0RlYWQ6RlB0LGZhVW5sb2NrS2V5aG9sZTpINWUsZmFVbmxvY2tBbHQ6QlB0LGZhRmlsZUFycm93VXA6cTVlLGZhRmlsZVVwbG9hZDpIUHQsZmFGYWNlR3JpblRlYXJzOlY1ZSxmYUdyaW5UZWFyczpxUHQsZmFQZW5Ub1NxdWFyZTpjdixmYUVkaXQ6VlB0LGZhRWFydGhFdXJvcGU6ajVlLGZhR2xvYmVFdXJvcGU6alB0LGZhRmFjZUdyaW5CZWFtU3dlYXQ6VTVlLGZhR3JpbkJlYW1Td2VhdDpVUHQsZmFDaXJjbGVIYWxmU3Ryb2tlOlc1ZSxmYUFkanVzdDpXUHQsZmFQZXJzb25NaWxpdGFyeVRvUGVyc29uOkdQdCxmYVRhYmxlQ2VsbHNDb2x1bW5Mb2NrOllQdCxmYVRydWNrRmllbGRVbjpLUHQsZmFDbG9jazpHNWUsZmFDbG9ja0ZvdXI6WlB0LGZhQm9vazpYUHQsZmFGYWNlTGF1Z2hXaW5rOlk1ZSxmYUxhdWdoV2luazpRUHQsZmFDbG91ZE1lYXRiYWxsOkpQdCxmYUNoYXJ0QXJlYTpLNWUsZmFBcmVhQ2hhcnQ6ZUl0LGZhUnVwaWFoU2lnbjp0SXQsZmFUZXh0V2lkdGg6YUl0LGZhU2F0ZWxsaXRlOnJJdCxmYU1hZ25pZnlpbmdHbGFzc01pbnVzOlo1ZSxmYVNlYXJjaE1pbnVzOnNJdCxmYVBlb3BsZUdyb3VwOmlJdCxmYVNxdWFyZUJpbmFyeTpvSXQsZmFNYXNrc1RoZWF0ZXI6WDVlLGZhVGhlYXRlck1hc2tzOm5JdCxmYUNhcnRQbHVzOmxJdCxmYUhhbmRzQXNsSW50ZXJwcmV0aW5nOmpiLGZhQW1lcmljYW5TaWduTGFuZ3VhZ2VJbnRlcnByZXRpbmc6Y0l0LGZhQXNsSW50ZXJwcmV0aW5nOmRJdCxmYUhhbmRzQW1lcmljYW5TaWduTGFuZ3VhZ2VJbnRlcnByZXRpbmc6dUl0LGZhVGFibGVDZWxsc1Jvd1VubG9jazpwSXQsZmFSb2NrZXQ6Zkl0LGZhU2hyaW1wOmhJdCxmYVRlbmdlU2lnbjpRNWUsZmFUZW5nZTptSXQsZmFIb3VzZUNoaW1uZXlNZWRpY2FsOko1ZSxmYUNsaW5pY01lZGljYWw6Z0l0LGZhVXNlcnNTbGFzaDpiSXQsZmFQYXBlclBsYW5lOnZJdCxmYUJvb2tBdGxhczplaGUsZmFBdGxhczp4SXQsZmFUYWJsZTp5SXQsZmFIZWFydDp3SXQsZmFDaXJjbGVDaGV2cm9uVXA6dGhlLGZhQ2hldnJvbkNpcmNsZVVwOk1JdCxmYUJhdHRlcnlIYWxmOmFoZSxmYUJhdHRlcnkzOmtJdCxmYUZvbnRBd2Vzb21lOkJlZSxmYUZvbnRBd2Vzb21lRmxhZzpTSXQsZmFGb250QXdlc29tZUxvZ29GdWxsOnpJdCxmYUhhbmRjdWZmczpDSXQsZmFIYXRDb3dib3lTaWRlOl9JdCxmYUluZHVzdHJ5OlRJdCxmYUxpbmVzTGVhbmluZzpMSXQsZmFQYXNzcG9ydDokSXQsZmFJbmZpbml0eTpESXQsZmFDbG9uZTpBSXQsZmFGb3J3YXJkOkVJdCxmYU06UEl0LGZhUm9hZFNwaWtlczpJSXQsZmFNb3VudGFpbjpOSXQsZmFDaGVzczpSSXQsZmFUZW1wZXJhdHVyZVRocmVlUXVhcnRlcnM6VWIsZmFUZW1wZXJhdHVyZTM6T0l0LGZhVGhlcm1vbWV0ZXIzOkZJdCxmYVRoZXJtb21ldGVyVGhyZWVRdWFydGVyczpCSXQsZmFCOkhJdCxmYVNoaWVsZFZpcnVzOnFJdCxmYUxpdGVjb2luU2lnbjpWSXQsZmFEaWNlRDY6akl0LGZhR3JpcExpbmVzVmVydGljYWw6VUl0LGZhR29sZkJhbGxUZWU6cmhlLGZhR29sZkJhbGw6V0l0LGZhSGV4YWdvbjpHSXQsZmFGb2xkZXJPcGVuOllJdCxmYUthYWJhOktJdCxmYUhhbmRIb2xkaW5nOlpJdCxmYVNpbmdsZVF1b3RlUmlnaHQ6WEl0LGZhQm90dGxlRHJvcGxldDpRSXQsZmFXaW5kb3dNaW5pbWl6ZTpKSXQsZmFDaGV2cm9uUmlnaHQ6ZU50LGZhRWdnOnROdCxmYUxhbmRtYXJrRG9tZTpzaGUsZmFMYW5kbWFya0FsdDphTnQsZmFXb3JtOnJOdCxmYVVzZXJJbmp1cmVkOnNOdCxmYVN0cmlrZXRocm91Z2g6aU50LGZhQmxvZzpvTnQsZmFTdG9wd2F0Y2gyMDpuTnQsZmFUcnVja1BpY2t1cDpsTnQsZmFTZWVkbGluZzppaGUsZmFTcHJvdXQ6Y050LGZhVHJhbnNnZW5kZXI6b2hlLGZhVHJhbnNnZW5kZXJBbHQ6ZE50LGZhU3RhckhhbGY6dU50LGZhUGhvdG9GaWxtOm5oZSxmYVBob3RvVmlkZW86cE50LGZhUGljdHVyZUluUGljdHVyZTpmTnQsZmFQdW1wTWVkaWNhbDpoTnQsZmFGaXJlOm1OdCxmYU1hZ25pZnlpbmdHbGFzc1BsdXM6bGhlLGZhU2VhcmNoUGx1czpnTnQsZmFGbGFzazpiTnQsZmFBbGlnblJpZ2h0OnZOdCxmYUNhYmxlQ2FyOmNoZSxmYVRyYW06eE50LGZhS2l0TWVkaWNhbDpkaGUsZmFGaXJzdEFpZDp5TnQsZmFHcmlwTGluZXM6d050LGZhQnVyZ2VyOnVoZSxmYUhhbWJ1cmdlcjpNTnQsZmFTbm93bWFuOmtOdCxmYUhvdGVsOlNOdCxmYVByaW50OnpOdCxmYVZvbGxleWJhbGw6cGhlLGZhVm9sbGV5YmFsbEJhbGw6Q050LGZhVHJhZmZpY0xpZ2h0Ol9OdCxmYVBsYW5lQ2lyY2xlQ2hlY2s6VE50LGZhVXNlcnM6UHRlLGZhQ2VydGlmaWNhdGU6TE50LGZhQWxhcm1DbG9jazokTnQsZmFIZWxpY29wdGVyU3ltYm9sOkROdCxmYUhvdXNlQ2hpbW5leUNyYWNrOmZoZSxmYUhvdXNlRGFtYWdlOkFOdCxmYVBlcnNvbk1pbGl0YXJ5UG9pbnRpbmc6RU50LGZhRGF0YWJhc2U6UE50LGZhTmV3c3BhcGVyOklOdCxmYUNsb3VkUmFpbjpOTnQsZmFNYXhpbWl6ZTpoaGUsZmFFeHBhbmRBcnJvd3NBbHQ6Uk50LGZhTG9jYXRpb25BcnJvdzpPTnQsZmFDaXR5OkZOdCxmYVhSYXk6Qk50LGZhVW1icmVsbGFCZWFjaDpITnQsZmFBcnJvd1JpZ2h0VG9CcmFja2V0Om1oZSxmYVNpZ25JbjpxTnQsZmFIZWFkc2V0OlZOdCxmYVNwbG90Y2g6ak50LGZhVXBMb25nOmdoZSxmYUxvbmdBcnJvd0FsdFVwOlVOdCxmYUhleGFnb25Ob2RlczpXTnQsZmFIb3NwaXRhbDpIZWUsZmFIb3NwaXRhbEFsdDpHTnQsZmFIb3NwaXRhbFdpZGU6WU50LGZhUGVyc29uSGFyYXNzaW5nOktOdCxmYU1vbmV5QmlsbFRyZW5kVXA6Wk50LGZhUGVuUnVsZXI6YmhlLGZhUGVuY2lsUnVsZXI6WE50LGZhUmVwZWF0OlFOdCxmYUJvbmU6Sk50LGZhRmlyZUZsYW1lQ3VydmVkOnZoZSxmYUZpcmVBbHQ6ZVJ0LGZhQnVzU2ltcGxlOnhoZSxmYUJ1c0FsdDp0UnQsZmFWZW51c01hcnM6YVJ0LGZhQmxlbmRlcjpyUnQsZmFVOnNSdCxmYVNoYXJlOmR2LGZhTWFpbEZvcndhcmQ6aVJ0LGZhUGhvbmVGbGlwOnloZSxmYVBob25lQWx0Om9SdCxmYVRvaWxldFBvcnRhYmxlOm5SdCxmYVBlcnNvblByZWduYW50OmxSdCxmYUxlc3NUaGFuOmNSdCxmYVN1cGVyc2NyaXB0OmRSdCxmYUNpcmNsZVN0b3A6d2hlLGZhU3RvcENpcmNsZTp1UnQsZmFBcnJvd3NVcERvd246TWhlLGZhQXJyb3dzVjpwUnQsZmFQb29TdG9ybTpraGUsZmFQb29Cb2x0OmZSdCxmYVZpZGVvU2xhc2g6aFJ0LGZhU3F1YXJlWG1hcms6cWVlLGZhVGltZXNTcXVhcmU6bVJ0LGZhWG1hcmtTcXVhcmU6Z1J0LGZhSGFuZEhvbGRpbmdEcm9wbGV0OlNoZSxmYUhhbmRIb2xkaW5nV2F0ZXI6YlJ0LGZhV29uU2lnbjpWZWUsZmFLcnc6dlJ0LGZhV29uOnhSdCxmYU9iamVjdFVuZ3JvdXA6eVJ0LGZhQ29tbWVudDp3UnQsZmFIaWxsQXZhbGFuY2hlOk1SdCxmYUFycm93c1RvRXllOmtSdCxmYVNub3dwbG93OlNSdCxmYUNoYXJ0R2FudHQ6elJ0LGZhVmlkZW86emhlLGZhVmlkZW9DYW1lcmE6Q1J0LGZhQ2hlc3NQYXduOl9SdCxmYVN5bmFnb2d1ZTpUUnQsZmFCdWlsZGluZ0NpcmNsZUNoZWNrOkxSdCxmYUNhbGVuZGFyUGx1czokUnQsZmFXaGVlbGNoYWlyTW92ZTpDaGUsZmFXaGVlbGNoYWlyQWx0OkRSdCxmYVVzZXJTaGllbGQ6QVJ0LGZhQm9sZDpFUnQsZmFIZWFydFB1bHNlOl9oZSxmYUhlYXJ0YmVhdDpQUnQsZmFTcXVhcmVSb290VmFyaWFibGU6VGhlLGZhU3F1YXJlUm9vdEFsdDpJUnQsZmFIYW5kc0J1YmJsZXM6TGhlLGZhSGFuZHNXYXNoOk5SdCxmYU1hcmtlcjpSUnQsZmFDbGlwYm9hcmQ6T1J0LGZhUGxhY2VPZldvcnNoaXA6RlJ0LGZhQ2FubmFiaXM6QlJ0LGZhUGVvcGxlUm9vZjpIUnQsZmFEaXNlYXNlOnFSdCxmYUJvb2tCaWJsZTokaGUsZmFCaWJsZTpWUnQsZmFDaGVzc0JvYXJkOmpSdCxmYU1hcnM6VVJ0LGZhTGFwdG9wOldSdCxmYVVzZXJYbWFyazpEaGUsZmFVc2VyVGltZXM6R1J0LGZhRmxhZ1VzYTpZUnQsZmFIYW5kTWlkZGxlRmluZ2VyOktSdCxmYU1vcnRhclBlc3RsZTpaUnQsZmFIZWFkU2lkZUNvdWdoOlhSdCxmYVBsYW5lTG9jazpRUnQsZmFCYXR0ZXJ5VGhyZWVRdWFydGVyczpBaGUsZmFCYXR0ZXJ5NDpKUnQsZmFGcmFuY1NpZ246ZU90LGZhRmlsdGVyQ2lyY2xlRG9sbGFyOkVoZSxmYUZ1bm5lbERvbGxhcjp0T3QsZmFDaGVlc2U6YU90LGZhQ2lyY2xlSDpQaGUsZmFIb3NwaXRhbFN5bWJvbDpyT3QsZmFTY2hvb2w6c090LGZhRGljZUZpdmU6aU90LGZhVG9ybmFkbzpvT3QsZmFKZXRGaWdodGVyOkloZSxmYUZpZ2h0ZXJKZXQ6bk90LGZhVGh1bWJzRG93bjpsT3QsZmFCcm9vbTpjT3QsZmFGaWxlSW1wb3J0Ok5oZSxmYUFycm93UmlnaHRUb0ZpbGU6ZE90LGZhVXRlbnNpbHM6UmhlLGZhQ3V0bGVyeTp1T3QsZmFJZEJhZGdlOnBPdCxmYVNwaWRlcjpmT3QsZmFNb2JpbGVSZXRybzpoT3QsZmFTaWduc1Bvc3Q6T2hlLGZhTWFwU2lnbnM6bU90LGZhR3JvdXBBcnJvd3NSb3RhdGU6Z090LGZhQXJyb3dzU3BsaXRVcEFuZExlZnQ6Yk90LGZhRmlsbERyaXA6dk90LGZhU2hpZWxkSGVhcnQ6eE90LGZhUGVyc29uU2tpaW5nTm9yZGljOkZoZSxmYVNraWluZ05vcmRpYzp5T3QsZmFTcXVhcmVDaGVjazpCaGUsZmFDaGVja1NxdWFyZTp3T3QsZmFCYXRoOkhoZSxmYUJhdGh0dWI6TU90LGZhQ2hlc3NCaXNob3A6a090LGZhUHJlc2NyaXB0aW9uQm90dGxlTWVkaWNhbDpxaGUsZmFQcmVzY3JpcHRpb25Cb3R0bGVBbHQ6U090LGZhRHJhd1BvbHlnb246VmhlLGZhVmVjdG9yUG9seWdvbjp6T3QsZmFJQ3Vyc29yOkNPdCxmYUhlYXJ0Q2lyY2xlUGx1czpfT3QsZmFTaGllbGREb2c6VE90LGZhR3JlYXRlclRoYW5FcXVhbDpMT3QsZmFFbnZlbG9wZU9wZW46JE90LGZhTW91bmQ6RE90LGZhVm9pY2VtYWlsOkFPdCxmYVZlc3Q6RU90LGZhQXVkaW9EZXNjcmlwdGlvbjpQT3QsZmFXOklPdCxmYUV5ZURyb3BwZXI6amVlLGZhRXllRHJvcHBlckVtcHR5Ok5PdCxmYUV5ZWRyb3BwZXI6Uk90LGZhQ2lyY2xlWG1hcms6cm0sZmFUaW1lc0NpcmNsZTpPT3QsZmFYbWFya0NpcmNsZTpGT3QsZmFUcmFpbGVyOkJPdCxmYVR1cmtpc2hMaXJhU2lnbjpVZWUsZmFUcnk6SE90LGZhVHVya2lzaExpcmE6cU90LGZhVm9sY2FubzpWT3QsZmFXYW5kU3BhcmtsZXM6ak90LGZhTWljcm9waG9uZTpVT3QsZmFDcm93bjpXT3QsZmFUZW50QXJyb3dUdXJuTGVmdDpHT3QsZmFUcnVja0Zhc3Q6amhlLGZhU2hpcHBpbmdGYXN0OllPdCxmYVVzZXJQZW46VWhlLGZhVXNlckVkaXQ6S090LGZhVXNlckNsb2NrOlpPdCxmYVNob3dlcjpYT3QsZmFTcXVhcmVDYXJldFVwOldoZSxmYUNhcmV0U3F1YXJlVXA6UU90LGZhTWFwTG9jYXRpb246R2hlLGZhTWFwTWFya2VkOkpPdCxmYVBlbkZhbmN5OmVGdCxmYUV1cm9TaWduOldlZSxmYUV1cjp0RnQsZmFFdXJvOmFGdCxmYUhvdXNlQ2lyY2xlWG1hcms6ckZ0LGZhTGlyYVNpZ246c0Z0LGZhWWVuU2lnbjplbSxmYUNueTppRnQsZmFKcHk6b0Z0LGZhUm1iOm5GdCxmYVllbjpsRnQsZmFCb3hPcGVuOmNGdCxmYVRydWNrRmllbGQ6ZEZ0LGZhTG9jYXRpb25QaW5Mb2NrOnVGdCxmYVBlcnNvblByYXlpbmc6WWhlLGZhUHJheTpwRnQsZmFDbGlwYm9hcmRMaXN0OmZGdCxmYVNhY2tEb2xsYXI6aEZ0LGZhTW91bnRhaW5TdW46bUZ0LGZhQXJyb3dVcFdpZGVTaG9ydDpLaGUsZmFTb3J0QW1vdW50VXA6Z0Z0LGZhVXNlcnNMaW5lOmJGdCxmYVN0YXJPZkRhdmlkOnZGdCxmYU5vdGVzTWVkaWNhbDp4RnQsZmFBdXN0cmFsU2lnbjp5RnQsZmFDbGlwYm9hcmRVc2VyOndGdCxmYUZpbGVJbWFnZTpNRnQsZmFTcXVhcmVDYXJldFJpZ2h0OlpoZSxmYUNhcmV0U3F1YXJlUmlnaHQ6a0Z0LGZhVmlhbDpTRnQsZmFIZWxpY29wdGVyOnpGdCxmYU1pdHRlbjpDRnQsZmFHYXNQdW1wOl9GdCxmYUVudmVsb3BlQ2lyY2xlQ2hlY2s6VEZ0LGZhUGVyc29uU2thdGluZzpYaGUsZmFTa2F0aW5nOkxGdCxmYVN1bjpJdGUsZmFCYXNlYmFsbDpRaGUsZmFCYXNlYmFsbEJhbGw6JEZ0LGZhSW1hZ2U6REZ0LGZhTm90ZGVmOkFGdCxmYUJhc2tldGJhbGw6SmhlLGZhQmFza2V0YmFsbEJhbGw6RUZ0LGZhUGVuY2lsOmU4ZSxmYVBlbmNpbEFsdDpQRnQsZmFQZXJzb25XYWxraW5nQXJyb3dMb29wTGVmdDpJRnQsZmFEaWNlU2l4Ok5GdCxmYUFuZ2xlc0Rvd246dDhlLGZhQW5nbGVEb3VibGVEb3duOlJGdCxmYVN5cmluZ2U6T0Z0LGZhV2hlYXRBd246YThlLGZhV2hlYXRBbHQ6RkZ0LGZhUGxhbmVVcDpCRnQsZmFBbGlnbkNlbnRlcjpIRnQsZmFIb2NrZXlQdWNrOnFGdCxmYUNpcmNsZUFycm93TGVmdDpyOGUsZmFBcnJvd0NpcmNsZUxlZnQ6VkZ0LGZhUGx1Z0NpcmNsZUJvbHQ6akZ0LGZhUmVzdHJvb206VUZ0LGZhQW5jaG9yTG9jazpXRnQsZmFUaW1lbGluZTpHRnQsZmFMaWdodGJ1bGI6WUZ0LGZhQ2lyY2xlQXJyb3dSaWdodDpzOGUsZmFBcnJvd0NpcmNsZVJpZ2h0OktGdCxmYU1hcnNBbmRWZW51czpaRnQsZmFOZXR3b3JrV2lyZWQ6TnRlLGZhQnVpbGRpbmdTaGllbGQ6WEZ0LGZhQ29kZTpRRnQsZmFGZWF0aGVyUG9pbnRlZDppOGUsZmFGZWF0aGVyQWx0OkpGdCxmYUZpbGVDaXJjbGVRdWVzdGlvbjplQnQsZmFTaWduYXR1cmU6dEJ0LGZhRWFydGhBbWVyaWNhczpXYixmYUVhcnRoOmFCdCxmYUVhcnRoQW1lcmljYTpyQnQsZmFHbG9iZUFtZXJpY2FzOnNCdCxmYUNhcnJvdDppQnQsZmFUZW1wZXJhdHVyZUZ1bGw6R2IsZmFUZW1wZXJhdHVyZTQ6b0J0LGZhVGhlcm1vbWV0ZXI0Om5CdCxmYVRoZXJtb21ldGVyRnVsbDpsQnQsZmFUYWJsZUNlbGxzUm93TG9jazpjQnQsZmFCb2x0TGlnaHRuaW5nOmRCdCxmYUNsb3VkU2hvd2Vyc1dhdGVyOnVCdCxmYUFycm93VXBMb25nOm84ZSxmYUxvbmdBcnJvd1VwOnBCdCxmYUFkZHJlc3NDYXJkOkdlZSxmYUNvbnRhY3RDYXJkOmZCdCxmYVZjYXJkOmhCdCxmYUFuZ2xlUmlnaHQ6bUJ0LGZhRmFjZU1laDpuOGUsZmFNZWg6Z0J0LGZhQXJyb3dVcEZyb21Hcm91bmRXYXRlcjpiQnQsZmFNYXA6dkJ0LGZhVXNlclBsdXM6eEJ0LGZhVmVudXM6eUJ0LGZhRGlhZ3JhbVN1Y2Nlc3Nvcjp3QnQsZmFIZWFkU2lkZUNvdWdoU2xhc2g6TUJ0LGZhRGlhZ3JhbVByb2plY3Q6bDhlLGZhUHJvamVjdERpYWdyYW06a0J0LGZhVGVybWluYWw6UnRlLGZhSG91c2VGaXJlOlNCdCxmYU1hc2s6ekJ0LGZhSHVycmljYW5lOkNCdCxmYUVhcnRoQWZyaWNhOmM4ZSxmYUdsb2JlQWZyaWNhOl9CdCxmYVRodW1idGFjazpkOGUsZmFUaHVtYlRhY2s6VEJ0LGZhSGFuZFBvaW50RG93bjpMQnQsZmFGYWNlTWVoQmxhbms6dThlLGZhTWVoQmxhbms6JEJ0LGZhVGVtcGVyYXR1cmVFbXB0eTpZYixmYVRlbXBlcmF0dXJlMDpEQnQsZmFUaGVybW9tZXRlcjA6QUJ0LGZhVGhlcm1vbWV0ZXJFbXB0eTpFQnQsZmFCb3JkZXJOb25lOlBCdCxmYUhpZ2hsaWdodGVyOklCdCxmYU1vbmV5QmlsbFdhdmU6TkJ0LGZhVG9pbGV0UGFwZXJTbGFzaDpSQnQsZmFGaWxlU2hpZWxkOk9CdCxmYVRleHRIZWlnaHQ6RkJ0LGZhRmFjZUdyaW5Ub25ndWU6cDhlLGZhR3JpblRvbmd1ZTpCQnQsZmFGaWxlU2lnbmF0dXJlOkhCdCxmYUJ1aWxkaW5nV2hlYXQ6cUJ0LGZhUGx1Z0NpcmNsZU1pbnVzOlZCdCxmYUZ1dGJvbDpZZWUsZmFGdXRib2xCYWxsOmpCdCxmYVNvY2NlckJhbGw6VUJ0LGZhQ2lyY2xlUGx1czpmOGUsZmFQbHVzQ2lyY2xlOldCdCxmYUJyYXppbGlhblJlYWxTaWduOkdCdCxmYVN0YXJBbmRDcmVzY2VudDpZQnQsZmFGYWNlU3VycHJpc2U6aDhlLGZhU3VycHJpc2U6S0J0LGZhSG9zcGl0YWxVc2VyOlpCdCxmYUFycm93RG93blVwTG9jazpYQnQsZmFGb2xkZXI6bThlLGZhRm9sZGVyQmxhbms6UUJ0LGZhSG9sbHlCZXJyeTpKQnQsZmFWZW51c0RvdWJsZTplSHQsZmFDbGlwYm9hcmRRdWVzdGlvbjp0SHQsZmFIb3Rkb2c6YUh0LGZhQXJyb3dVcEZyb21CcmFja2V0OnJIdCxmYU1pY3Jvc2NvcGU6c0h0LGZhQ2xvdWQ6aUh0LGZhQmFzZWJhbGxCYXRCYWxsOm9IdCxmYUNhclJlYXI6ZzhlLGZhQ2FyQWx0Om5IdCxmYVRodW1idGFja1NsYXNoOmI4ZSxmYVRodW1iVGFja1NsYXNoOmxIdCxmYVBsdXNNaW51czpjSHQsZmFIb3VzZUNpcmNsZUNoZWNrOmRIdCxmYUNhbGVuZGFyRGF5OnVIdCxmYUxpYnJhOnBIdCxmYUNpcmNsZTpmSHQsZmFNb2JpbGVWaWJyYXRlOmhIdCxmYUZhY2VHcmluU3F1aW50OnY4ZSxmYUdyaW5TcXVpbnQ6bUh0LGZhVXNlcnNCZXR3ZWVuTGluZXM6Z0h0LGZhSG91c2VNZWRpY2FsQ2lyY2xlWG1hcms6Ykh0LGZhVGFibGVMaXN0Ong4ZSxmYVRoTGlzdDp2SHQsZmFGbGFza1ZpYWw6eEh0LGZhQ2lyY2xlRXhjbGFtYXRpb246eThlLGZhRXhjbGFtYXRpb25DaXJjbGU6eUh0LGZhVGF4aTp3OGUsZmFDYWI6d0h0LGZhVGV4dFNsYXNoOk04ZSxmYVJlbW92ZUZvcm1hdDpNSHQsZmFQZW9wbGVQdWxsaW5nOmtIdCxmYUJhY2t3YXJkOlNIdCxmYUNhckJ1cnN0Oms4ZSxmYUNhckNyYXNoOnpIdCxmYUxpbms6UzhlLGZhQ2hhaW46Q0h0LGZhQmFja3dhcmRTdGVwOno4ZSxmYVN0ZXBCYWNrd2FyZDpfSHQsZmFYOlRIdCxmYUNpcmNsZVVzZXI6QzhlLGZhVXNlckNpcmNsZTpMSHQsZmFSZWN0YW5nbGVMaXN0Ol84ZSxmYUxpc3RBbHQ6JEh0LGZhSGFuZDpUOGUsZmFIYW5kUGFwZXI6REh0LGZhQ2FuY2VyOkFIdCxmYVZhblNodXR0bGU6TDhlLGZhU2h1dHRsZVZhbjpFSHQsZmFTdGFpcnM6UEh0LGZhSG9yc2VIZWFkOklIdCxmYVZhdWx0Ok5IdCxmYUNsb3NlZENhcHRpb25pbmdTbGFzaDpSSHQsZmFEcnVtU3RlZWxwYW46T0h0LGZhVGh1bWJzVXA6Rkh0LGZhU3RhbXA6Qkh0LGZhTWVub3JhaDpISHQsZmFDaGlsZHJlbjpxSHQsZmFDaGFydExpbmU6JDhlLGZhTGluZUNoYXJ0OlZIdCxmYVNxdWFyZUVudmVsb3BlOkQ4ZSxmYUVudmVsb3BlU3F1YXJlOmpIdCxmYUJhblNtb2tpbmc6QThlLGZhU21va2luZ0JhbjpVSHQsZmFUcnVja0Zyb250OldIdCxmYUJ1aWxkaW5nOk90ZSxmYUJ1bGxzZXllOkdIdCxmYUFycm93TGVmdExvbmc6RThlLGZhTG9uZ0Fycm93TGVmdDpZSHQsZmFDaGVzc1Jvb2s6S0h0LGZhQmxlbmRlclBob25lOlpIdCxmYUFycm93VHVyblVwOlA4ZSxmYUxldmVsVXA6WEh0LGZhQmljeWNsZTpRSHQsZmFDaXJjbGVBcnJvd0Rvd246SThlLGZhQXJyb3dDaXJjbGVEb3duOkpIdCxmYUdlYXI6dXYsZmFDb2c6ZXF0LGZhTWFyc0FuZFZlbnVzQnVyc3Q6dHF0LGZhT3R0ZXI6YXF0LGZhQ2lyY2xlQ2hldnJvbkxlZnQ6TjhlLGZhQ2hldnJvbkNpcmNsZUxlZnQ6cnF0LGZhQ2lyY2xlUXVlc3Rpb246UjhlLGZhUXVlc3Rpb25DaXJjbGU6c3F0LGZhV2Fsa2llVGFsa2llOmlxdCxmYVVzZXJHcm91cDpPOGUsZmFVc2VyRnJpZW5kczpvcXQsZmFIb3VzZUNoaW1uZXk6RjhlLGZhSG9tZUxnOm5xdCxmYVJpZ2h0RnJvbUJyYWNrZXQ6QjhlLGZhU2lnbk91dEFsdDpscXQsZmFGaWxlOmNxdCxmYVBsYW5lU2xhc2g6ZHF0LGZhQ2xvdWRTaG93ZXJzSGVhdnk6dXF0LGZhUGVyc29uRmFsbGluZzpwcXQsZmFUdXJuRG93bjpIOGUsZmFMZXZlbERvd25BbHQ6ZnF0LGZhVXBSaWdodEFuZERvd25MZWZ0RnJvbUNlbnRlcjpxOGUsZmFFeHBhbmRBbHQ6aHF0LGZhVXNlclRhZzptcXQsZmFIYW5kU3BhcmtsZXM6Z3F0LGZhQXJyb3dzVG9Eb3Q6YnF0LGZhRmFjZVNhZENyeTpWOGUsZmFTYWRDcnk6dnF0LGZhRG9uZ1NpZ246eHF0LGZhUGVvcGxlTGluZTp5cXQsZmFTcXVhcmVSc3M6ajhlLGZhUnNzU3F1YXJlOndxdCxmYUNhbGVuZGFyTWludXM6TXF0LGZhQ2hhcnREaWFncmFtOmtxdCxmYUZhY2VUaXJlZDpVOGUsZmFUaXJlZDpTcXQsZmFIYW5kUG9pbnRSaWdodDp6cXQsZmFBcnJvd1VwOkNxdCxmYUN1YmVzU3RhY2tlZDpfcXQsZmFDaGlsZENvbWJhdGFudDpXOGUsZmFDaGlsZFJpZmxlOlRxdCxmYVZlc3RQYXRjaGVzOkxxdCxmYU1hcnRpbmlHbGFzc0VtcHR5Okc4ZSxmYUdsYXNzTWFydGluaTokcXQsZmFNYWduZXQ6RHF0LGZhUm9hZEJhcnJpZXI6QXF0LGZhQ29tcGFzc0RyYWZ0aW5nOlk4ZSxmYURyYWZ0aW5nQ29tcGFzczpFcXQsZmFTcXVhcmVQZXJzb25Db25maW5lZDpQcXQsZmFQbGF0ZVdoZWF0OklxdCxmYVNpZ25IYW5naW5nOks4ZSxmYVNpZ246TnF0LGZhQ2FyQmF0dGVyeTpaOGUsZmFCYXR0ZXJ5Q2FyOlJxdCxmYVNoaXJ0OktlZSxmYVRTaGlydDpPcXQsZmFUc2hpcnQ6RnF0LGZhUGFyYWdyYXBoOkJxdCxmYUVudmVsb3Blc0J1bGs6WDhlLGZhTWFpbEJ1bGs6SHF0LGZhR3VpdGFyOnFxdCxmYVN1aXRjYXNlOlZxdCxmYUNpcmNsZVVwOlE4ZSxmYUFycm93QWx0Q2lyY2xlVXA6anF0LGZhRjpVcXQsZmFYbWFya3NMaW5lczpXcXQsZmFFYXJ0aE9jZWFuaWE6SjhlLGZhR2xvYmVPY2VhbmlhOkdxdCxmYUNvbW1lbnRTbGFzaDpZcXQsZmFQbGF5OktxdCxmYVZpYWxDaXJjbGVDaGVjazpacXQsZmFCcmlkZ2VDaXJjbGVDaGVjazpYcXQsZmFDZWRpU2lnbjpRcXQsZmFQdXp6bGVQaWVjZTpKcXQsZmFIZWxtZXRVbjplVnQsZmFHbGFzc1dhdGVyOnRWdCxmYUhlYXJ0Q2lyY2xlQm9sdDphVnQsZmFQdW1wU29hcDpyVnQsZmFIYW5kU2Npc3NvcnM6c1Z0LGZhRG9sbHk6ZW1lLGZhRG9sbHlCb3g6aVZ0LGZhUGFwZXJjbGlwOkZ0ZSxmYURlbW9jcmF0Om9WdCxmYVNxdWFyZUFycm93VXBSaWdodDp0bWUsZmFFeHRlcm5hbExpbmtTcXVhcmU6blZ0LGZhRmVycnk6bFZ0LGZhTW9zcXVpdG86Y1Z0LGZhQnVpbGRpbmdDaXJjbGVBcnJvd1JpZ2h0OmRWdCxmYUxlZnRSaWdodDphbWUsZmFBcnJvd3NBbHRIOnVWdCxmYVZpcnVzOnBWdCxmYUdlbTpmVnQsZmFUb2lsZXQ6aFZ0LGZhU2luZ2xlUXVvdGVMZWZ0Om1WdCxmYU1vbmV5QmlsbHM6Z1Z0LGZhVGFibGV0QnV0dG9uOmJWdCxmYVJlY3RhbmdsZVhtYXJrOktiLGZhUmVjdGFuZ2xlVGltZXM6dlZ0LGZhVGltZXNSZWN0YW5nbGU6eFZ0LGZhV2luZG93Q2xvc2U6eVZ0LGZhV3JlbmNoOndWdCxmYVRyYXNoQ2FuOnB2LGZhVHJhc2hBbHQ6TVZ0LGZhVGFibGVDZWxsczpybWUsZmFUaDprVnQsZmFSaWJib246U1Z0LGZhTGFuZG1hcmtGbGFnOnpWdCxmYVVwRG93bkxlZnRSaWdodDpzbWUsZmFBcnJvd3NBbHQ6Q1Z0LGZhQ2FyU2lkZTpfVnQsZmFUcmFzaEFycm93VXA6aW1lLGZhVHJhc2hSZXN0b3JlOlRWdCxmYUxpZmVSaW5nOkxWdCxmYUNvcHlyaWdodDokVnQsZmFGaWxlUHJlc2NyaXB0aW9uOkRWdCxmYUVyYXNlcjpBVnQsZmFIb3VyZ2xhc3NTdGFydDpvbWUsZmFIb3VyZ2xhc3MxOkVWdCxmYUNpcmNsZUxlZnQ6bm1lLGZhQXJyb3dBbHRDaXJjbGVMZWZ0OlBWdCxmYUNydXplaXJvU2lnbjpJVnQsZmFTbW9raW5nOk5WdCxmYVNxdWFyZVBvbGxWZXJ0aWNhbDpsbWUsZmFQb2xsOlJWdCxmYVBlcnNvbkNpcmNsZU1pbnVzOk9WdCxmYUJpb2hhemFyZDpGVnQsZmFCZWxsQ29uY2llcmdlOmNtZSxmYUNvbmNpZXJnZUJlbGw6QlZ0LGZhUnVsZXJIb3Jpem9udGFsOkhWdCxmYUhvcnNlOnFWdCxmYUNhbGVuZGFyOlZWdCxmYUhhbmRzSG9sZGluZ0NoaWxkOmpWdCxmYUl0YWxpYzpVVnQsZmFLaGFuZGE6V1Z0LGZhRmFjZUZyb3duT3BlbjpkbWUsZmFGcm93bk9wZW46R1Z0LGZhQ2hlY2s6QnRlLGZhRmluZ2VycHJpbnQ6WVZ0LGZhQ2hhcmdpbmdTdGF0aW9uOktWdCxmYVVzZXJMb2NrOlpWdCxmYU1vYmlsZVNjcmVlbkJ1dHRvbjp1bWUsZmFNb2JpbGVBbHQ6WFZ0LGZhQW5jaG9yQ2lyY2xlQ2hlY2s6UVZ0LGZhUGVyc29uV2Fsa2luZ1dpdGhDYW5lOnBtZSxmYUJsaW5kOkpWdCxmYUZpbGVXYXZlZm9ybTpmbWUsZmFGaWxlTWVkaWNhbEFsdDplanQsZmFIb3VzZUNyYWNrOnRqdCxmYUhhdFdpemFyZDphanQsZmFVc2VyRG9jdG9yOmhtZSxmYVVzZXJNZDpyanQsZmFDaGFydEJhcjptbWUsZmFCYXJDaGFydDpzanQsZmFTcHJheUNhblNwYXJrbGVzOmdtZSxmYUFpckZyZXNoZW5lcjppanQsZmFCYWh0U2lnbjpvanQsZmFUZW1wZXJhdHVyZUFycm93VXA6Ym1lLGZhVGVtcGVyYXR1cmVVcDpuanQsZmFXZWJBd2Vzb21lOmxqdCxmYU5vbkJpbmFyeTpjanQsZmFOOmRqdCxmYUFycm93c1VwRG93bkxlZnRSaWdodDp2bWUsZmFBcnJvd3M6dWp0LGZhSG91c2U6WmIsZmFIb21lOnBqdCxmYUhvbWVBbHQ6Zmp0LGZhSG9tZUxnQWx0OmhqdCxmYVNwaW5uZXI6bWp0LGZhR2F2ZWw6eG1lLGZhTGVnYWw6Z2p0LGZhVGlja2V0U2ltcGxlOnltZSxmYVRpY2tldEFsdDpianQsZmFEb3ZlOnZqdCxmYVRhcnBEcm9wbGV0OnhqdCxmYVRyZWVDaXR5OnlqdCxmYVR1cm5VcDp3bWUsZmFMZXZlbFVwQWx0OndqdCxmYVRlbXBlcmF0dXJlUXVhcnRlcjpYYixmYVRlbXBlcmF0dXJlMTpNanQsZmFUaGVybW9tZXRlcjE6a2p0LGZhVGhlcm1vbWV0ZXJRdWFydGVyOlNqdCxmYVNsaWRlcnM6TW1lLGZhU2xpZGVyc0g6emp0LGZhTW9zcXVlOkNqdCxmYUg6X2p0LGZhSW5mbzpUanQsZmFQZXJzb25XYWxraW5nOmttZSxmYVdhbGtpbmc6TGp0LGZhQXJyb3dUdXJuRG93bjpTbWUsZmFMZXZlbERvd246JGp0LGZhUm9hZDpEanQsZmFTcGlyYWw6QWp0LGZhRmFjZUZyb3duOnptZSxmYUZyb3duOkVqdCxmYVdpbmVHbGFzc0VtcHR5OkNtZSxmYVdpbmVHbGFzc0FsdDpQanQsZmFDbGFwcGVyYm9hcmQ6SWp0LGZhRm9yd2FyZFN0ZXA6X21lLGZhU3RlcEZvcndhcmQ6Tmp0LGZhU3F1YXJlVXBSaWdodDpUbWUsZmFFeHRlcm5hbExpbmtTcXVhcmVBbHQ6Ump0LGZhQm9va0pvdXJuYWxXaGlsbHM6TG1lLGZhSm91cm5hbFdoaWxsczpPanQsZmFDaGFtcGFnbmVHbGFzc2VzOiRtZSxmYUdsYXNzQ2hlZXJzOkZqdCxmYUR1bXBzdGVyOkJqdCxmYUhlYXJ0Q2lyY2xlWG1hcms6SGp0LGZhQ29tcHV0ZXI6cWp0LGZhV2FuZE1hZ2ljOkRtZSxmYU1hZ2ljOlZqdCxmYUJyYWluOmpqdCxmYUJyaWVmY2FzZU1lZGljYWw6VWp0LGZhSG91c2VNZWRpY2FsQ2lyY2xlRXhjbGFtYXRpb246V2p0LGZhQ29kZUNvbW1pdDpHanQsZmFQZXJzb25CcmVhc3RmZWVkaW5nOllqdCxmYVBlcnNvblJheXM6S2p0LGZhTWFuYXRTaWduOlpqdCxmYVNvcnQ6QW1lLGZhVW5zb3J0ZWQ6WGp0LGZhQ2lyY2xlUmFkaWF0aW9uOkVtZSxmYVJhZGlhdGlvbkFsdDpRanQsZmFMYXB0b3BDb2RlOkpqdCxmYVNpbms6ZVV0LGZhQXJyb3dVcEZyb21XYXRlclB1bXA6dFV0LGZhTWljcm9waG9uZUxpbmVzU2xhc2g6UG1lLGZhTWljcm9waG9uZUFsdFNsYXNoOmFVdCxmYVNlcnZlcjpyVXQsZmFVc2VyOlplZSxmYVVzZXJBbHQ6c1V0LGZhVXNlckxhcmdlOmlVdCxmYVNub3dmbGFrZTpvVXQsZmFUYXVydXM6blV0LGZhU2t1bGxDcm9zc2JvbmVzOmxVdCxmYVBlc29TaWduOmNVdCxmYVdpbmVHbGFzczpkVXQsZmFUZW1wZXJhdHVyZUhhbGY6UWIsZmFUZW1wZXJhdHVyZTI6dVV0LGZhVGhlcm1vbWV0ZXIyOnBVdCxmYVRoZXJtb21ldGVySGFsZjpmVXQsZmFUaWNrZXQ6aFV0LGZhV2hlYXRBd25DaXJjbGVFeGNsYW1hdGlvbjptVXQsZmFBcnJvd3NUdXJuUmlnaHQ6Z1V0LGZhQ2FuZHlDYW5lOmJVdCxmYVdoZWVsY2hhaXI6dlV0LGZhU3BlbGxDaGVjazp4VXQsZmFWb2x1bWVPZmY6eVV0LGZhTHVuZ3M6d1V0LGZhQm9va21hcms6TVV0LGZhQmFyY29kZTprVXQsZmFMaXN0T2w6WGVlLGZhTGlzdDEyOlNVdCxmYUxpc3ROdW1lcmljOnpVdCxmYUZpbGVDaXJjbGVYbWFyazpDVXQsZmFDdWJlOl9VdCxmYVRhcGU6VFV0LGZhQm9tYjpMVXQsZmFTY2FsZVVuYmFsYW5jZWQ6SW1lLGZhQmFsYW5jZVNjYWxlTGVmdDokVXQsZmFTcXVhcmVDYXJldExlZnQ6Tm1lLGZhQ2FyZXRTcXVhcmVMZWZ0OkRVdCxmYVJ1bGVyOkFVdCxmYUk6RVV0LGZhVm9sdW1lWG1hcms6UWVlLGZhVm9sdW1lTXV0ZTpQVXQsZmFWb2x1bWVUaW1lczpJVXQsZmFBcmNod2F5Ok5VdCxmYVBlcnNvbkRpZ2dpbmc6Um1lLGZhRGlnZ2luZzpSVXQsZmFHYXVnZUhpZ2g6SmVlLGZhVGFjaG9tZXRlckFsdDpPVXQsZmFUYWNob21ldGVyQWx0RmFzdDpGVXQsZmFHZW5kZXJsZXNzOkJVdCxmYUNsb3VkU3VuOkhVdCxmYUFycm93UmlnaHQ6SHRlLGZhSGFuZHNoYWtlOmV0ZSxmYUhhbmRzaGFrZUFsdDpxVXQsZmFIYW5kc2hha2VTaW1wbGU6VlV0LGZhUGVyc29uU2tpaW5nOk9tZSxmYVNraWluZzpqVXQsZmFCcmlkZ2VXYXRlcjpVVXQsZmFCdWlsZGluZ05nbzpXVXQsZmFJZ2xvbzpHVXQsZmFDaXJjbGVEb2xsYXJUb1Nsb3Q6Rm1lLGZhRG9uYXRlOllVdCxmYVk6S1V0LGZhRmFjZVNtaWxlV2luazpCbWUsZmFTbWlsZVdpbms6WlV0LGZhRGljZUZvdXI6WFV0LGZhRmFjZUdyaW5TcXVpbnRUZWFyczpIbWUsZmFHcmluU3F1aW50VGVhcnM6UVV0LGZhRmlsZUF1ZGlvOkpVdCxmYUFycm93c0Rvd25Ub0xpbmU6ZVd0LGZhRzp0V3QsZmFWaWhhcmE6YVd0LGZhRmxhZ0NoZWNrZXJlZDpyV3QsZmFHYXVnZVNpbXBsZTp0dGUsZmFHYXVnZVNpbXBsZU1lZDpzV3QsZmFUYWNob21ldGVyQXZlcmFnZTppV3QsZmFSaWdodExlZnQ6cW1lLGZhRXhjaGFuZ2VBbHQ6b1d0LGZhUGlsbHM6bld0LGZhRXhwbG9zaW9uOmxXdCxmYUFycm93c0Rvd25Ub1Blb3BsZTpjV3QsZmFVc2Vyc1ZpZXdmaW5kZXI6ZFd0LGZhQ2FyT246dVd0LGZhU2xlaWdoOnBXdCxmYUR1bWJiZWxsOmZXdCxmYUJhYnlDYXJyaWFnZTpWbWUsZmFDYXJyaWFnZUJhYnk6aFd0LGZhS2l3aUJpcmQ6bVd0LGZhQ2FsZW5kYXJYbWFyazpqbWUsZmFDYWxlbmRhclRpbWVzOmdXdCxmYUNpcmNsZURvd246VW1lLGZhQXJyb3dBbHRDaXJjbGVEb3duOmJXdCxmYUZpbGVNZWRpY2FsOnZXdCxmYVhtYXJrOmk0LGZhQ2xvc2U6eFd0LGZhTXVsdGlwbHk6eVd0LGZhUmVtb3ZlOndXdCxmYVRpbWVzOk1XdCxmYVNoYXBlczpXbWUsZmFUcmlhbmdsZUNpcmNsZVNxdWFyZTprV3QsZmFEaWNlT25lOlNXdCxmYUxvY2tPcGVuOnpXdCxmYVBlcHBlckhvdDpDV3QsZmFEcm9wbGV0U2xhc2g6R21lLGZhVGludFNsYXNoOl9XdCxmYURyb3BsZXQ6WW1lLGZhVGludDpUV3QsZmFGaWxlTGluZXM6YXRlLGZhRmlsZUFsdDpMV3QsZmFGaWxlVGV4dDokV3QsZmFDb21tZW50c0RvbGxhcjpEV3QsZmFNYWduaWZ5aW5nR2xhc3NMb2NhdGlvbjpLbWUsZmFTZWFyY2hMb2NhdGlvbjpBV3QsZmFGaWxlSW52b2ljZTpxdGUsZmFQZW50YWdvbjpFV3QsZmFSZXB1YmxpY2FuOlBXdCxmYVNob3A6Wm1lLGZhU3RvcmVBbHQ6SVd0LGZhRmlsbTpydGUsZmFGaWxtQWx0Ok5XdCxmYUZpbG1TaW1wbGU6Uld0LGZhQnVpbGRpbmdDaXJjbGVYbWFyazpPV3QsZmFDb21tZW50czpGV3QsZmFUYWdzOkJXdCxmYUd1bjpIV3QsZmFDaXJjbGVDaGVjazpmdixmYUNoZWNrQ2lyY2xlOnFXdCxmYVNjb3JwaW86Vld0LGZhSWRDYXJkQ2xpcDpYbWUsZmFJZENhcmRBbHQ6ald0LGZhTW9vbjpVV3QsZmFPaWxXZWxsOldXdCxmYVRhY2hvZ3JhcGhEaWdpdGFsOlFtZSxmYURpZ2l0YWxUYWNob2dyYXBoOkdXdCxmYVRhYmxldDpKbWUsZmFUYWJsZXRBbmRyb2lkOllXdCxmYVJ1YmxlU2lnbjpKYixmYVJvdWJsZTpLV3QsZmFSdWI6Wld0LGZhUnVibGU6WFd0LGZhQ2xvc2VkQ2FwdGlvbmluZzpRV3QsZmFQZW46Sld0LGZhUGxhbmU6ZUd0LGZhSW1hZ2VzOnRHdCxmYU1vYmlsZVNjcmVlbjplN2UsZmFNb2JpbGVBbmRyb2lkQWx0OmFHdCxmYUd1YXJhbmlTaWduOnJHdCxmYUJhZ1Nob3BwaW5nOnQ3ZSxmYVNob3BwaW5nQmFnOnNHdCxmYUNpcmNsZVJpZ2h0OmE3ZSxmYUFycm93QWx0Q2lyY2xlUmlnaHQ6aUd0LGZhUGhvbmVWb2x1bWU6cjdlLGZhVm9sdW1lQ29udHJvbFBob25lOm9HdCxmYUN1YmVzOm5HdCxmYVBob25lOmxHdCxmYVRvcmlpR2F0ZTpjR3QsZmFCYWNvbjpkR3QsZmFQZXJzb25GYWxsaW5nQnVyc3Q6dUd0LGZhUXVvdGVSaWdodDpzN2UsZmFRdW90ZVJpZ2h0QWx0OnBHdCxmYUhvdXNlTWVkaWNhbEZsYWc6Zkd0LGZhUHJlc2NyaXB0aW9uOmhHdCxmYURpY2VUaHJlZTptR3QsZmFCdWlsZGluZ0xvY2s6Z0d0LGZhSWRDYXJkOmk3ZSxmYURyaXZlcnNMaWNlbnNlOmJHdCxmYUNpcmNsZVBsYXk6bzdlLGZhUGxheUNpcmNsZTp2R3QsZmFGYWNlTGF1Z2hCZWFtOm43ZSxmYUxhdWdoQmVhbTp4R3QsZmFMZWFmOnlHdCxmYUhvdXNlQ2hpbW5leVVzZXI6d0d0LGZhUm90YXRlUmlnaHQ6c3RlLGZhUmVkb0FsdDpNR3QsZmFSb3RhdGVGb3J3YXJkOmtHdCxmYVRvb3RoOlNHdCxmYUhvdXNlQ2hpbW5leVdpbmRvdzp6R3QsZmFNb3RvcmN5Y2xlOkNHdCxmYUJhY2t3YXJkRmFzdDpsN2UsZmFGYXN0QmFja3dhcmQ6X0d0LGZhQWRkcmVzc0Jvb2s6YzdlLGZhQ29udGFjdEJvb2s6VEd0LGZhU2FpbGJvYXQ6TEd0LGZhQm9va0Jvb2ttYXJrOiRHdCxmYU1hZ25pZnlpbmdHbGFzc0Fycm93UmlnaHQ6REd0LGZhTWljcm9waG9uZUxpbmVzOmQ3ZSxmYU1pY3JvcGhvbmVBbHQ6QUd0LGZhUmVwbHlBbGw6dTdlLGZhTWFpbFJlcGx5QWxsOkVHdCxmYVVuaXZlcnNhbEFjY2VzczpQR3QsZmFUb2lsZXRQYXBlcjppdGUsZmFUb2lsZXRQYXBlckFsdDpJR3QsZmFUb2lsZXRQYXBlckJsYW5rOk5HdCxmYVZyQ2FyZGJvYXJkOlJHdCxmYVBpenphU2xpY2U6T0d0LGZhU3ByYXlDYW46Rkd0LGZhVm9sdW1lTG93OnA3ZSxmYVZvbHVtZURvd246Qkd0LGZhQ3Jvc3M6SEd0LGZhUGVyc29uOmY3ZSxmYU1hbGU6cUd0LGZhSG91cmdsYXNzOmg3ZSxmYUhvdXJnbGFzc0VtcHR5OlZHdCxmYUZpc2g6akd0LGZhRHJ1bXN0aWNrQml0ZTpVR3QsZmFDaGFydFNpbXBsZTpXR3QsZmFBdG9tOkdHdCxmYVA6WUd0LGZhSmV0RmlnaHRlclVwOktHdCxmYVBsdWdDaXJjbGVYbWFyazpaR3QsZmFTaGVldFBsYXN0aWM6WEd0LGZhVjpRR3QsZmFMaXN0Om03ZSxmYUxpc3RTcXVhcmVzOkpHdCxmYVBpc2NlczplWXQsZmFTb2xhclBhbmVsOnRZdCxmYUxhbmRNaW5lT246YVl0LGZhSGVhZHBob25lczpvdGUsZmFIZWFkcGhvbmVzQWx0OnJZdCxmYUhlYWRwaG9uZXNTaW1wbGU6c1l0LGZhQnVzOmlZdCxmYUZpbGVQb3dlcnBvaW50Om9ZdCxmYVF1b3RlTGVmdDpnN2UsZmFRdW90ZUxlZnRBbHQ6bll0LGZhQ2hldnJvbkRvd246bFl0LGZhRWFydGhBc2lhOmI3ZSxmYUdsb2JlQXNpYTpjWXQsZmFDZW50U2lnbjpkWXQsZmFTaGllbGRDYXQ6dVl0LGZhU2Nob29sQ2lyY2xlQ2hlY2s6cFl0LGZhTWFydGluaUdsYXNzOnY3ZSxmYUdsYXNzTWFydGluaUFsdDpmWXQsZmFQbHVnOmhZdCxmYVBhbm9yYW1hOm1ZdCxmYUNsb2NrUm90YXRlTGVmdDpodixmYUhpc3Rvcnk6Z1l0LGZhSmFyV2hlYXQ6Yll0LGZhQ2xvdWRBcnJvd0Rvd246bnRlLGZhQ2xvdWREb3dubG9hZDp2WXQsZmFDbG91ZERvd25sb2FkQWx0OnhZdCxmYVRydWNrUmFtcEJveDp4N2UsZmFUcnVja0xvYWRpbmc6eVl0LGZhQW5nbGVEb3duOndZdCxmYVBsdWdDaXJjbGVDaGVjazpNWXQsZmFXaW5kb3dNYXhpbWl6ZTprWXQsZmFIYW5kc0hvbGRpbmdDaXJjbGU6U1l0LGZhTG9jYXRpb25QaW46eTdlLGZhTWFwTWFya2VyOnpZdCxmYUJvd2xpbmdCYWxsOkNZdCxmYUNhcnRGbGF0YmVkOnc3ZSxmYURvbGx5RmxhdGJlZDpfWXQsZmFIb3VzZVVzZXI6TTdlLGZhSG9tZVVzZXI6VFl0LGZhR2hvc3Q6TFl0LGZhQ29tbWVudE5vZGVzOiRZdCxmYVBlcnNvbkFycm93RG93blRvTGluZTpEWXQsZmFQbHVnQ2lyY2xlUGx1czpBWXQsZmFQZXJzb25Td2ltbWluZzprN2UsZmFTd2ltbWVyOkVZdCxmYUNvbW1lbnREb3RzOlM3ZSxmYUNvbW1lbnRpbmc6UFl0LGZhQ2hhcnRQaWU6ejdlLGZhUGllQ2hhcnQ6SVl0LGZhRnJvZzpOWXQsZmFXaW5lQm90dGxlOlJZdCxmYUluYm94Ok9ZdCxmYVNxdWFyZUg6QzdlLGZhSFNxdWFyZTpGWXQsZmFIb3VzZU1lZGljYWw6Qll0LGZhQ2lyY2xlQ2hldnJvblJpZ2h0Ol83ZSxmYUNoZXZyb25DaXJjbGVSaWdodDpIWXQsZmFGaWxlQ3N2OnFZdCxmYUhhdENvd2JveTpWWXQsZmFGYWNlR3JpblRvbmd1ZVdpbms6VDdlLGZhR3JpblRvbmd1ZVdpbms6all0LGZhTDpVWXQsZmFBcnJvd0Rvd25TaG9ydFdpZGU6bHRlLGZhU29ydEFtb3VudERlc2M6V1l0LGZhU29ydEFtb3VudERvd25BbHQ6R1l0LGZhSG91cmdsYXNzSGFsZjpMN2UsZmFIb3VyZ2xhc3MyOllZdCxmYVNwb29uOiQ3ZSxmYVV0ZW5zaWxTcG9vbjpLWXQsZmFDcmVkaXRDYXJkOkQ3ZSxmYUNyZWRpdENhcmRBbHQ6Wll0LGZhRmlsZUludm9pY2VEb2xsYXI6VnRlLGZhU3BhZ2hldHRpTW9uc3RlckZseWluZzpBN2UsZmFQYXN0YWZhcmlhbmlzbTpYWXQsZmFNYXJ0aW5pR2xhc3NDaXRydXM6RTdlLGZhQ29ja3RhaWw6UVl0LGZhQnVsbGhvcm46Sll0LGZhQm94VGlzc3VlOmVLdCxmYU1hdHRyZXNzUGlsbG93OnRLdCxmYUNoZXZyb25MZWZ0OmFLdCxmYUNsb3VkTW9vblJhaW46ckt0LGZhQXJyb3dEb3duMTk6Y3RlLGZhU29ydE51bWVyaWNBc2M6c0t0LGZhU29ydE51bWVyaWNEb3duOmlLdCxmYUhhbmRTcG9jazpvS3QsZmFXYW5kTWFnaWNTcGFya2xlczpQN2UsZmFNYWdpY1dhbmRTcGFya2xlczpuS3QsZmFDb21tZW50TWVkaWNhbDpsS3QsZmFCZWxsU2xhc2g6Y0t0LGZhSGFuZHNoYWtlU2xhc2g6ZHRlLGZhSGFuZHNoYWtlQWx0U2xhc2g6ZEt0LGZhSGFuZHNoYWtlU2ltcGxlU2xhc2g6dUt0LGZhQm90dGxlV2F0ZXI6cEt0LGZhRGljZUQyMDpmS3QsZmFBcnJvd0Rvd25aQTp1dGUsZmFTb3J0QWxwaGFEZXNjOmhLdCxmYVNvcnRBbHBoYURvd25BbHQ6bUt0LGZhQnJ1c2g6Z0t0LGZhUGVyc29uV2Fsa2luZ0Rhc2hlZExpbmVBcnJvd1JpZ2h0OmJLdCxmYUFycm93VXBTaG9ydFdpZGU6STdlLGZhU29ydEFtb3VudFVwQWx0OnZLdCxmYUdyaXBWZXJ0aWNhbDpON2UsZmFHcmlkVmVydGljYWw6eEt0LGZhQ2FyVHVubmVsOnlLdCxmYUNoYXJ0Q29sdW1uOndLdCxmYUNhcHJpY29ybjpNS3QsZmFUcnVja0Fycm93UmlnaHQ6a0t0LGZhVHY6cHRlLGZhVGVsZXZpc2lvbjpTS3QsZmFUdkFsdDp6S3QsZmFTZWN0aW9uOkNLdCxmYVBlYWNlOl9LdCxmYVN0YXI6VEt0LGZhRmxhZzpMS3QsZmFUcmlhbmdsZUV4Y2xhbWF0aW9uOmZ0ZSxmYUV4Y2xhbWF0aW9uVHJpYW5nbGU6JEt0LGZhV2FybmluZzpES3QsZmFTY2hvb2xDaXJjbGVFeGNsYW1hdGlvbjpBS3QsZmFHcmFkdWF0aW9uQ2FwOlI3ZSxmYU1vcnRhckJvYXJkOkVLdCxmYVN0b3JlOlBLdCxmYVVzZXJBc3Ryb25hdXQ6SUt0LGZhQnVpbGRpbmdGbGFnOk5LdCxmYU11Z1NhdWNlcjpPN2UsZmFDb2ZmZWU6Ukt0LGZhTGVtb246T0t0LGZhQ2FyYXZhbjpGS3QsZmFROkJLdCxmYUxvY2s6SEt0LGZhUGFpbnRSb2xsZXI6cUt0LGZhVm9sdW1lSGlnaDpGN2UsZmFWb2x1bWVVcDpWS3QsZmFGb2xkZXJQbHVzOmpLdCxmYU1lcmN1cnk6VUt0LGZhQW5jaG9yOldLdCxmYVNxdWFyZVBhcmtpbmc6QjdlLGZhUGFya2luZzpHS3QsZmFIYW51a2lhaDpZS3QsZmFSb3RhdGVMZWZ0OmV2LGZhUm90YXRlQmFjazpLS3QsZmFSb3RhdGVCYWNrd2FyZDpaS3QsZmFVbmRvQWx0OlhLdCxmYUhlYWRpbmc6SDdlLGZhSGVhZGVyOlFLdCxmYUNyb3NzaGFpcnM6Skt0LGZhQ2lyY2xlTm9kZXM6ZVp0LGZhV2luZG93UmVzdG9yZTp0WnQsZmFSOmFadCxmYUZpbHRlckNpcmNsZVhtYXJrOnJadCxmYUdvcHVyYW06c1p0LGZhSGVhcnRDaXJjbGVNaW51czppWnQsZmFTdGFyT2ZMaWZlOm9adCxmYUJ1c2luZXNzVGltZTpxN2UsZmFCcmllZmNhc2VDbG9jazpuWnQsZmFGaXJlRXh0aW5ndWlzaGVyOmxadCxmYUFycm93RG93bkxvbmc6VjdlLGZhTG9uZ0Fycm93RG93bjpjWnQsZmFVc2VyTWludXM6ZFp0LGZhTW9uZXlDaGVjazp1WnQsZmFIb3VzZUxhcHRvcDpqN2UsZmFMYXB0b3BIb3VzZTpwWnQsZmFEb3dubG9hZDpmWnQsZmFTYWdpdHRhcml1czpoWnQsZmFDb3VjaDptWnQsZmFSb2FkTG9jazpnWnQsZmFTY2lzc29yczpVN2UsZmFDdXQ6Ylp0LGZhQnVnOmp0ZSxmYUFycm93UmlnaHRGcm9tQnJhY2tldDpXN2UsZmFTaWduT3V0OnZadCxmYUhhbmRIb2xkaW5nSGFuZDp4WnQsZmFTdHJvb3B3YWZlbDp5WnQsZmFDaGlsZDp3WnQsZmFJY2VDcmVhbTpNWnQsZmFDb21wdXRlck1vdXNlOkc3ZSxmYU1vdXNlOmtadCxmYUZhdWNldDpTWnQsZmFBd2FyZDp6WnQsZmFQZXJzb25Ecm93bmluZzpDWnQsZmFDYW1lcmFSb3RhdGU6X1p0LGZhRmFjZUdyaW5IZWFydHM6WTdlLGZhR3JpbkhlYXJ0czpUWnQsZmFGaWxlRnJhZ21lbnQ6TFp0LGZhUGVyc29uTWlsaXRhcnlSaWZsZTokWnQsZmFUb2dnbGVPbjpEWnQsZmFMdW5nc1ZpcnVzOkFadCxmYVRhYmxlVGVubmlzUGFkZGxlQmFsbDpodGUsZmFQaW5nUG9uZ1BhZGRsZUJhbGw6RVp0LGZhVGFibGVUZW5uaXM6UFp0LGZhQm94ZXNQYWNraW5nOkladCxmYVBlcnNvbkNoYWxrYm9hcmQ6Tlp0LGZhRGljZVR3bzpSWnQsZmFBcnJvd1JpZ2h0QXJyb3dMZWZ0Oks3ZSxmYUV4Y2hhbmdlOk9adCxmYUZvb3RiYWxsOlo3ZSxmYUZvb3RiYWxsQmFsbDpGWnQsZmFUcnVja01vbnN0ZXI6Qlp0LGZhQXN0ZXJpc2s6SFp0LGZhQmF0dGVyeUZ1bGw6bXRlLGZhQmF0dGVyeTpxWnQsZmFCYXR0ZXJ5NTpWWnQsZmFDaGlsZERyZXNzOmpadCxmYUZhY2VLaXNzQmVhbTpYN2UsZmFLaXNzQmVhbTpVWnQsZmFUcmFzaENhbkFycm93VXA6UTdlLGZhVHJhc2hSZXN0b3JlQWx0OldadCxmYUZvbnQ6R1p0LGZhQm9yZUhvbGU6WVp0LGZhVmlydXNDb3ZpZDpLWnQsZmFGaWxlUGRmOlpadCxmYUxhbmd1YWdlOlhadCxmYVNoaWVsZEhhbHZlZDpKN2UsZmFTaGllbGRBbHQ6UVp0LGZhQ2FyZXRVcDpKWnQsZmFGaWxlUGVuOmU5ZSxmYUZpbGVFZGl0OmVYdCxmYVBlcnNvbkJpa2luZzp0OWUsZmFCaWtpbmc6dFh0LGZhQm9va09wZW5SZWFkZXI6YTllLGZhQm9va1JlYWRlcjphWHQsZmFHbGFzc1dhdGVyRHJvcGxldDpyWHQsZmFUb3dlckJyb2FkY2FzdDpyOWUsZmFCcm9hZGNhc3RUb3dlcjpzWHQsZmFNaW5pbWl6ZTpzOWUsZmFDb21wcmVzc0Fycm93c0FsdDppWHQsZmFBcnJvd1JpZ2h0VG9DaXR5Om9YdCxmYUxhcHRvcE1lZGljYWw6blh0LGZhQnJlYWRTbGljZTpsWHQsZmFHbG9iZTpjWHQsZmFGb2xkZXJNaW51czpkWHQsZmFNYXNrRmFjZTp1WHQsZmFCb25nOnBYdCxmYVJvYWRCcmlkZ2U6Zlh0LGZhQXJyb3dVcDkxOmk5ZSxmYVNvcnROdW1lcmljVXBBbHQ6aFh0LGZhTW91bnRhaW5DaXR5Om1YdCxmYUFycm93RG93bjkxOmd0ZSxmYVNvcnROdW1lcmljRGVzYzpnWHQsZmFTb3J0TnVtZXJpY0Rvd25BbHQ6Ylh0LGZhRmFjZUdyaW5XaWRlOm85ZSxmYUdyaW5BbHQ6dlh0LGZhUG9vcDp4WHQsZmFEaGFybWFjaGFrcmE6eVh0LGZhQmF0dGVyeVF1YXJ0ZXI6bjllLGZhQmF0dGVyeTI6d1h0LGZhQW5raDpNWHQsZmFEaWFtb25kOmtYdCxmYVN1YnNjcmlwdDpTWHQsZmFSdXBlZVNpZ246bDllLGZhUnVwZWU6elh0LGZhUGVyc29uUmlmbGU6Q1h0LGZhRDpfWHQsZmFTcXVhcmVOZmk6VFh0LGZhVGVldGg6TFh0LGZhTWFnbmlmeWluZ0dsYXNzRG9sbGFyOmM5ZSxmYVNlYXJjaERvbGxhcjokWHQsZmFEdW1wc3RlckZpcmU6RFh0LGZhVXBsb2FkOkFYdCxmYVVzZXJTbGFzaDpidGUsZmFVc2VyQWx0U2xhc2g6RVh0LGZhVXNlckxhcmdlU2xhc2g6UFh0LGZhQXJyb3dMZWZ0OklYdCxmYVZpYWxWaXJ1czpOWHQsZmFDaGVja0RvdWJsZTpSWHQsZmFQYXc6T1h0LGZhSGVsbWV0U2FmZXR5OnZ0ZSxmYUhhcmRIYXQ6Rlh0LGZhSGF0SGFyZDpCWHQsZmFFOkhYdCxmYUZhY2VMYXVnaFNxdWludDpkOWUsZmFMYXVnaFNxdWludDpxWHQsZmFEb3duTGVmdEFuZFVwUmlnaHRUb0NlbnRlcjp1OWUsZmFDb21wcmVzc0FsdDpWWHQsZmFHaWZ0czpqWHQsZmFCZWQ6VVh0LGZhTW9uZXlCaWxsVHJhbnNmZXI6V1h0LGZhUGVyc29uUnVubmluZzpwOWUsZmFSdW5uaW5nOkdYdCxmYUNpcmNsZUNoZXZyb25Eb3duOmY5ZSxmYUNoZXZyb25DaXJjbGVEb3duOllYdCxmYVVzZXJOdXJzZTpLWHQsZmFGYWNlS2lzc1dpbmtIZWFydDpoOWUsZmFLaXNzV2lua0hlYXJ0OlpYdCxmYUZpbGw6WFh0LGZhTW9uZXlCaWxsMVdhdmU6bTllLGZhTW9uZXlCaWxsV2F2ZUFsdDpRWHQsZmFMYW5kbWFyazpKWHQsZmFNdXNpYzplUXQsZmFCb29rTWVkaWNhbDp0UXQsZmFTaHVmZmxlOmc5ZSxmYVJhbmRvbTphUXQsZmFVbmRlcmxpbmU6clF0LGZhQnVpbGRpbmdVc2VyOnNRdCxmYVJvYm90OmlRdCxmYVBsdXM6bXYsZmFBZGQ6b1F0LGZhQ29weTpVdGUsZmFDaGVzc0tpbmc6blF0LGZhSG91c2VGbG9vZFdhdGVyOmxRdCxmYUJpdGNvaW5TaWduOmNRdCxmYUJveDpkUXQsZmFTcXVhcmVQbHVzOmI5ZSxmYVBsdXNTcXVhcmU6dVF0LGZhQXJyb3dzTGVmdFJpZ2h0OnY5ZSxmYUFycm93c0g6cFF0LGZhRmFuOmZRdCxmYUNyb3c6aFF0LGZhRmlsZUNpcmNsZUNoZWNrOm1RdCxmYUxpbmtTbGFzaDp0dixmYUNoYWluQnJva2VuOmdRdCxmYUNoYWluU2xhc2g6YlF0LGZhVW5saW5rOnZRdCxmYUFycm93Um90YXRlUmlnaHQ6YXYsZmFBcnJvd1JpZ2h0Um90YXRlOnhRdCxmYUFycm93Um90YXRlRm9yd2FyZDp5UXQsZmFSZWRvOndRdCxmYVBlbkNsaXA6eDllLGZhUGVuQWx0Ok1RdCxmYURvb3JDbG9zZWQ6a1F0LGZhQXJyb3dEb3duV2lkZVNob3J0Onh0ZSxmYVNvcnRBbW91bnRBc2M6U1F0LGZhU29ydEFtb3VudERvd246elF0LGZhQ2FyZXREb3duOkNRdCxmYUs6X1F0LGZhQ2hlY2tUb1Nsb3Q6eTllLGZhVm90ZVllYTpUUXQsZmFGaXNoRmluczpMUXQsZmFDb21wcmVzczokUXQsZmFBcnJvd1VwQVo6dzllLGZhU29ydEFscGhhVXA6RFF0LGZhVXNlckdyYWR1YXRlOkFRdCxmYUZpbGVDb2RlOkVRdCxmYVNvYXA6UFF0LGZhUmVjeWNsZTpJUXQsZmFGYWNlR3Jpbldpbms6TTllLGZhR3Jpbldpbms6TlF0LGZhV2F0ZXJMYWRkZXI6eXRlLGZhTGFkZGVyV2F0ZXI6UlF0LGZhU3dpbW1pbmdQb29sOk9RdCxmYUdlbWluaTpGUXQsZmFUb3dlckNlbGw6QlF0LGZhQ29sb25TaWduOkhRdCxmYUxhcHRvcEZpbGU6cVF0LGZhQmFoYWk6azllLGZhSGF5a2FsOlZRdCxmYU1vbmV5QmlsbDE6UzllLGZhTW9uZXlCaWxsQWx0OmpRdCxmYUNsb3VkQm9sdDp6OWUsZmFUaHVuZGVyc3Rvcm06VVF0LGZhRXRoZXJuZXQ6V1F0LGZhSHJ5dm5pYVNpZ246QzllLGZhSHJ5dm5pYTpHUXQsZmFFeWVTbGFzaDpXdGUsZmFDYXJ0RmxhdGJlZFN1aXRjYXNlOl85ZSxmYUx1Z2dhZ2VDYXJ0OllRdCxmYVJhZGlhdGlvbjpLUXQsZmFGaWxlV29yZDpaUXQsZmFCZWRQdWxzZTpUOWUsZmFQcm9jZWR1cmVzOlhRdCxmYVRlbnRzOlFRdCxmYU11Z0hvdDpHdGUsZmFCb2x0Okw5ZSxmYVphcDpKUXQsZmFKYXI6ZUp0LGZhVHJ1Y2tQbGFuZTp0SnQsZmFIYW5kSG9sZGluZ0hlYXJ0OmFKdCxmYUFycm93Um90YXRlTGVmdDp0bSxmYUFycm93TGVmdFJvdGF0ZTpySnQsZmFBcnJvd1JvdGF0ZUJhY2s6c0p0LGZhQXJyb3dSb3RhdGVCYWNrd2FyZDppSnQsZmFVbmRvOm9KdCxmYUZhY2VBbmdyeTokOWUsZmFBbmdyeTpuSnQsZmFCdXJzdDpsSnQsZmFaOmNKdCxmYUJhbmRhZ2U6RDllLGZhQmFuZEFpZDpkSnQsZmFQbGFuZUNpcmNsZUV4Y2xhbWF0aW9uOnVKdCxmYUJ1c1NpZGU6cEp0LGZhQnVnczpmSnQsZmFCZWVyTXVnRW1wdHk6QTllLGZhQmVlcjpoSnQsZmFQZXJzb25DaXJjbGVDaGVjazptSnQsZmFTdGFwbGVyOmdKdCxmYUhvdXNlTWVkaWNhbENpcmNsZUNoZWNrOmJKdCxmYU5haXJhU2lnbjp2SnQsZmFXaWZpOnd0ZSxmYVdpZmkzOnhKdCxmYVdpZmlTdHJvbmc6eUp0LGZhTW9uZXlDaGVja0RvbGxhcjpndixmYU1vbmV5Q2hlY2tBbHQ6d0p0LGZhRXllTG93VmlzaW9uOkU5ZSxmYUxvd1Zpc2lvbjpNSnQsZmFDaXJjbGVBcnJvd1VwOlA5ZSxmYUFycm93Q2lyY2xlVXA6a0p0LGZhQ2FtZXJhUmV0cm86U0p0LGZhQ2Fwc3VsZXM6ekp0LGZhUG9vOkNKdCxmYVZvbHVtZTpJOWUsZmFWb2x1bWVNZWRpdW06X0p0LGZhRWxldmF0b3I6VEp0LGZhVGFnOkxKdCxmYUZpbGVDaXJjbGVNaW51czokSnQsZmFEb3duTG9uZzpOOWUsZmFMb25nQXJyb3dBbHREb3duOkRKdCxmYUNvbXBhY3REaXNjOkFKdCxmYVN1aXRjYXNlUm9sbGluZzpFSnQsZmFCb29rUXVyYW46UjllLGZhUXVyYW46UEp0LGZhUGhvbmVTbGFzaDpJSnQsZmFSb2FkQ2lyY2xlQ2hlY2s6Tkp0LGZhU2hvcExvY2s6Ukp0LGZhSW1hZ2VQb3J0cmFpdDpPOWUsZmFQb3J0cmFpdDpPSnQsZmFCcmlkZ2VMb2NrOkZKdCxmYUhhbW1lcjpCSnQsZmFBcnJvd1VwMTk6RjllLGZhU29ydE51bWVyaWNVcDpISnQsZmFDaGVzc0tuaWdodDpxSnQsZmFIb3VzZUZsb29kV2F0ZXJDaXJjbGVBcnJvd1JpZ2h0OlZKdCxmYUFycm93VXBSaWdodEZyb21TcXVhcmU6YnYsZmFFeHRlcm5hbExpbms6akp0LGZhQXJyb3dEb3duVXBBY3Jvc3NMaW5lOlVKdCxmYUZhY2VHcmluQmVhbTpCOWUsZmFHcmluQmVhbTpXSnQsZmFSZWN0YW5nbGVBZDpIOWUsZmFBZDpHSnQsZmFCb29rVGFuYWtoOnE5ZSxmYVRhbmFraDpZSnQsZmFIb3RUdWJQZXJzb246VjllLGZhSG90VHViOktKdCxmYUZpbGVIYWxmRGFzaGVkOlpKdCxmYU91dGRlbnQ6ajllLGZhRGVkZW50OlhKdCxmYUhhbmRQZWFjZTpRSnQsZmFIZWFkU2lkZVZpcnVzOkpKdCxmYUNvbXBhc3M6ZWVhLGZhUGVuTmliOnRlYSxmYVRlbnRBcnJvd3NEb3duOmFlYSxmYUZvcndhcmRGYXN0OlU5ZSxmYUZhc3RGb3J3YXJkOnJlYSxmYUNyb3A6c2VhLGZhV2hpc2tleUdsYXNzOlc5ZSxmYUdsYXNzV2hpc2tleTppZWEsZmFTcXVhcmU6b2VhLGZhRmFjZUdyaW46RzllLGZhR3JpbjpuZWEsZmFGaWxlQ29udHJhY3Q6bGVhLGZhQW5nbGVVcDpjZWEsZmFGYWNlU21pbGU6WTllLGZhU21pbGU6ZGVhLGZhUGVyc29uRHJlc3NCdXJzdDp1ZWEsZmFEaXZpZGU6cGVhLGZhQ29kZUZvcms6ZmVhLGZhSG91c2VGbGFnOmhlYSxmYUJ1aWxkaW5nQ29sdW1uczphbSxmYUJhbms6bWVhLGZhSW5zdGl0dXRpb246Z2VhLGZhTXVzZXVtOmJlYSxmYVVuaXZlcnNpdHk6dmVhLGZhUnVnOnhlYSxmYUNvZGVNZXJnZTp5ZWEsZmFIb3VzZVRzdW5hbWk6d2VhLGZhTWFnbmlmeWluZ0dsYXNzQ2hhcnQ6TWVhLGZhVW1icmVsbGE6a2VhLGZhSGlsbFJvY2tzbGlkZTpTZWEsZmFVc2VyU2VjcmV0OnplYSxmYVBhZ2VyOkNlYSxmYUJyaWVmY2FzZTpfZWEsZmFUcm93ZWxCcmlja3M6VGVhLGZhU29ja3M6TGVhLGZhVDokZWEsZmFNaWNyb2NoaXA6RGVhLGZhVHJ1Y2tNZWRpY2FsOks5ZSxmYUFtYnVsYW5jZTpBZWEsZmFPbTpFZWEsZmFNb3NxdWl0b05ldDpQZWEsZmFQcmVzY3JpcHRpb25Cb3R0bGU6SWVhLGZhVXNlcnNHZWFyOlo5ZSxmYVVzZXJzQ29nOk5lYSxmYVJvYWRDaXJjbGVFeGNsYW1hdGlvbjpSZWEsZmFQYXVzZTpPZWEsZmFTdGFmZlNuYWtlOnJ2LGZhUm9kQXNjbGVwaXVzOkZlYSxmYVJvZFNuYWtlOkJlYSxmYVN0YWZmQWVzY3VsYXBpdXM6SGVhLGZhUGlnZ3lCYW5rOnFlYSxmYU1vbnVtZW50OlZlYSxmYUFuZ2xlc1JpZ2h0Olg5ZSxmYUFuZ2xlRG91YmxlUmlnaHQ6amVhLGZhRGVza3RvcDp2dixmYURlc2t0b3BBbHQ6VWVhLGZhUGxhbmVDaXJjbGVYbWFyazpXZWEsZmFSZXR3ZWV0OkdlYSxmYVVzZXJHZWFyOlE5ZSxmYVVzZXJDb2c6WWVhLGZhQm9yZGVyQWxsOktlYSxmYUNvaW5zOlplYSxmYU1hcnNTdHJva2U6WGVhLGZhSGFuZHNoYWtlQW5nbGU6SjllLGZhSGFuZHNIZWxwaW5nOlFlYSxmYUFycm93RG93bjpKZWEsZmFMb2NhdGlvbkRvdDplZ2UsZmFNYXBNYXJrZXJBbHQ6ZXRhLGZhUGx1Z0NpcmNsZUV4Y2xhbWF0aW9uOnR0YSxmYUNvb2tpZUJpdGU6YXRhLGZhU2NyZXdkcml2ZXJXcmVuY2g6dGdlLGZhVG9vbHM6cnRhLGZhSW5kZW50OnN0YSxmYUJhcnM6YWdlLGZhTmF2aWNvbjppdGEsZmFIYW5kc1ByYXlpbmc6cmdlLGZhUHJheWluZ0hhbmRzOm90YSxmYVZpcnVzZXM6bnRhLGZhU2Nob29sRmxhZzpsdGEsZmFUcmFkZW1hcms6Y3RhLGZhRmlyZUJ1cm5lcjpkdGEsZmFGYWNlU21pbGVCZWFtOnNnZSxmYVNtaWxlQmVhbTp1dGEsZmFUZW50QXJyb3dMZWZ0UmlnaHQ6cHRhLGZhUm91dGU6ZnRhLGZhQW5nbGVzVXA6aWdlLGZhQW5nbGVEb3VibGVVcDpodGEsZmFCdWNrZXQ6bXRhLGZhTGVzc1RoYW5FcXVhbDpndGEsZmFGb2xkZXJDbG9zZWQ6YnRhLGZhUGVyc29uVGhyb3VnaFdpbmRvdzp2dGEsZmFTY2hvb2xMb2NrOnh0YSxmYVBlcnNvbkJ1cnN0Onl0YSxmYUxlZnRMb25nOm9nZSxmYUxvbmdBcnJvd0FsdExlZnQ6d3RhLGZhTG9jYXRpb25Dcm9zc2hhaXJzOm5nZSxmYUxvY2F0aW9uOk10YSxmYVBlcnNvbkRvdHNGcm9tTGluZTpsZ2UsZmFEaWFnbm9zZXM6a3RhLGZhR2F1Z2VTaW1wbGVIaWdoOk10ZSxmYVRhY2hvbWV0ZXI6U3RhLGZhVGFjaG9tZXRlckZhc3Q6enRhLGZhQW5nbGVzTGVmdDpjZ2UsZmFBbmdsZURvdWJsZUxlZnQ6Q3RhLGZhVXBEb3duOmRnZSxmYUFycm93c0FsdFY6X3RhLGZhQmF0dGVyeUVtcHR5OnVnZSxmYUJhdHRlcnkwOlR0YSxmYUtleWJvYXJkOkx0YSxmYUNvb2tpZTokdGEsZmFTdG9wd2F0Y2g6RHRhLGZhRWplY3Q6QXRhLGZhU2F0ZWxsaXRlRGlzaDpFdGEsZmFGYWNlUm9sbGluZ0V5ZXM6cGdlLGZhTWVoUm9sbGluZ0V5ZXM6UHRhLGZhTGlzdENoZWNrOmZnZSxmYVRhc2tzOkl0YSxmYVNhY2tYbWFyazpOdGEsZmFIYXNodGFnOlJ0YSxmYVRyYWluOk90YSxmYUdhbWVwYWQ6RnRhLGZhRmlsZUV4cG9ydDpoZ2UsZmFBcnJvd1JpZ2h0RnJvbUZpbGU6QnRhLGZhRmFjZUdyaW1hY2U6bWdlLGZhR3JpbWFjZTpIdGEsZmFUcmFpblN1YndheTpnZ2UsZmFTdWJ3YXk6cXRhLGZhQ2lyY2xlRG90OmJnZSxmYURvdENpcmNsZTpWdGEsZmFPYmplY3RHcm91cDpqdGEsZmFTaGlwOlV0YSxmYUM6V3RhLGZhU3F1YXJlUGhvbmU6dmdlLGZhUGhvbmVTcXVhcmU6R3RhLGZhUnVsZXJDb21iaW5lZDpZdGEsZmFBcnJvd3NSb3RhdGU6a3RlLGZhUmVmcmVzaDpLdGEsZmFTeW5jOlp0YSxmYVBlcnNvbkRyZXNzOnhnZSxmYUZlbWFsZTpYdGEsZmFCb29rT3BlbjpRdGEsZmFGb2xkZXJUcmVlOkp0YSxmYVZpcmdvOmVhYSxmYUJveEFyY2hpdmU6eWdlLGZhQXJjaGl2ZTp0YWEsZmFUZW50QXJyb3dEb3duVG9MaW5lOmFhYSxmYVFyY29kZTpyYWEsZmFEcmFnb246c2FhLGZhSG91cmdsYXNzRW5kOndnZSxmYUhvdXJnbGFzczM6aWFhLGZhR3JpcDpzbSxmYUdyaWRIb3Jpem9udGFsOm9hYSxmYUdyaXBIb3Jpem9udGFsOm5hYSxmYUJvcmRlclRvcExlZnQ6TWdlLGZhQm9yZGVyU3R5bGU6bGFhLGZhTGlzdFVsOmtnZSxmYUxpc3REb3RzOmNhYSxmYVBlb3BsZVJvYmJlcnk6ZGFhLGZhTW9iaWxlQnV0dG9uOnVhYSxmYUFycm93RG93bkFaOlN0ZSxmYVNvcnRBbHBoYUFzYzpwYWEsZmFTb3J0QWxwaGFEb3duOmZhYSxmYU1vbmV5QmlsbDpoYWEsZmFDaXJjbGVNaW51czpTZ2UsZmFNaW51c0NpcmNsZTptYWEsZmFBcnJvd1BvaW50ZXI6emdlLGZhTW91c2VQb2ludGVyOmdhYSxmYVNxdWFyZVNoYXJlTm9kZXM6Q2dlLGZhU2hhcmVBbHRTcXVhcmU6YmFhLGZhVGFibGVDZWxsc0xhcmdlOl9nZSxmYVRoTGFyZ2U6dmFhLGZhQ2F0OnhhYSxmYUNhbGVuZGFyV2Vlazp5YWEsZmFDb2RlQ29tcGFyZTp3YWEsZmFMZW86TWFhLGZhUm9hZENpcmNsZVhtYXJrOmthYSxmYVBhbGxldDpTYWEsZmFDYWtlQ2FuZGxlczp6dGUsZmFCaXJ0aGRheUNha2U6emFhLGZhQ2FrZTpDYWEsZmFCdWdTbGFzaDpfYWEsZmFUYXJwOlRhYSxmYURpYWdyYW1QcmVkZWNlc3NvcjpMYWEsZmFGYWNlRmx1c2hlZDpUZ2UsZmFGbHVzaGVkOiRhYSxmYURpYWdyYW1OZXh0OkRhYSxmYUFuY2hvckNpcmNsZVhtYXJrOkFhYSxmYVBlcnNvbkNpcmNsZVhtYXJrOkVhYSxmYVNwYTpQYWEsZmFBcmllczpJYWEsZmFCYXJzUHJvZ3Jlc3M6TGdlLGZhVGFza3NBbHQ6TmFhLGZhSGVhcnRDaXJjbGVDaGVjazpSYWEsZmFNYXJzU3Ryb2tlUmlnaHQ6JGdlLGZhTWFyc1N0cm9rZUg6T2FhLGZhVG93ZXJPYnNlcnZhdGlvbjpGYWEsZmFTdGVybGluZ1NpZ246Q3RlLGZhR2JwOkJhYSxmYVBvdW5kU2lnbjpIYWEsZmFGYXVjZXREcmlwOnFhYSxmYUNpcmNsZUluZm86eHYsZmFJbmZvQ2lyY2xlOlZhYSxmYUZlYXRoZXI6amFhLGZhQm93bFJpY2U6VWFhLGZhU3RhckhhbGZTdHJva2U6RGdlLGZhU3RhckhhbGZBbHQ6V2FhLGZhVGVtcGVyYXR1cmVBcnJvd0Rvd246QWdlLGZhVGVtcGVyYXR1cmVEb3duOkdhYSxmYU1hc2tWZW50aWxhdG9yOllhYSxmYUZpbGVWaWRlbzpLYWEsZmFBcnJvd1RyZW5kRG93bjpaYWEsZmFPaWxDYW46WGFhLGZhUGVvcGxlQ2FycnlCb3g6RWdlLGZhUGVvcGxlQ2Fycnk6UWFhLGZhQ2hhaXI6SmFhLGZhV2luZDplcmEsZmFMYXllckdyb3VwOnRyYSxmYUhlYWRTaWRlTWFzazphcmEsZmFIYW5kczpfdGUsZmFTaWduTGFuZ3VhZ2U6cnJhLGZhU2lnbmluZzpzcmEsZmFUYWJsZXRzOmlyYSxmYVdlaWdodEhhbmdpbmc6b3JhLGZhRGljZTpucmEsZmFTaG9wU2xhc2g6UGdlLGZhU3RvcmVBbHRTbGFzaDpscmEsZmFTb3J0RG93bjpJZ2UsZmFTb3J0RGVzYzpjcmEsZmFQZXNldGFTaWduOmRyYSxmYVRhYmxldFNjcmVlbkJ1dHRvbjpOZ2UsZmFUYWJsZXRBbHQ6dXJhLGZhSGFuZEhvbGRpbmdEb2xsYXI6UmdlLGZhSGFuZEhvbGRpbmdVc2Q6cHJhLGZhU2hpZWxkOk9nZSxmYVNoaWVsZEJsYW5rOmZyYSxmYUZhY2VMYXVnaDpGZ2UsZmFMYXVnaDpocmEsZmFIYW5kc0hvbGRpbmc6bXJhLGZhQ2FydFNob3BwaW5nOkJnZSxmYVNob3BwaW5nQ2FydDpncmEsZmFPY3RhZ29uOmJyYSxmYUhhbmRQb2ludGVyOnZyYSxmYVJlZ2lzdGVyZWQ6eHJhLGZhSG91c2VTaWduYWw6eXJhLGZhQmFuZ2xhZGVzaGlUYWthU2lnbjp3cmF9fSk7dmFyIHd2LEhnZT1mKCgpPT57d3Y9e3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsd2lkdGg6MjQsaGVpZ2h0OjI0LHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLCJzdHJva2Utd2lkdGgiOjIsInN0cm9rZS1saW5lY2FwIjoicm91bmQiLCJzdHJva2UtbGluZWpvaW4iOiJyb3VuZCJ9fSk7dmFyIGtyYSxvNCxxZ2U9ZigoKT0+e0hnZSgpO2tyYT1zKChbYSxlLHRdKT0+e2xldCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGEpO3JldHVybiBPYmplY3Qua2V5cyhlKS5mb3JFYWNoKGk9PntyLnNldEF0dHJpYnV0ZShpLFN0cmluZyhlW2ldKSl9KSx0Py5sZW5ndGgmJnQuZm9yRWFjaChpPT57bGV0IG89a3JhKGkpO3IuYXBwZW5kQ2hpbGQobyl9KSxyfSwiY3JlYXRlU1ZHRWxlbWVudCIpLG80PXMoKGEsZT17fSk9PntsZXQgcj17Li4ud3YsLi4uZX07cmV0dXJuIGtyYShbInN2ZyIscixhXSl9LCJjcmVhdGVFbGVtZW50Iil9KTt2YXIgVmdlLFNyYT1mKCgpPT57VmdlPXMoYT0+e2ZvcihsZXQgZSBpbiBhKWlmKGUuc3RhcnRzV2l0aCgiYXJpYS0iKXx8ZT09PSJyb2xlInx8ZT09PSJ0aXRsZSIpcmV0dXJuITA7cmV0dXJuITF9LCJoYXNBMTF5UHJvcCIpfSk7dmFyIGpnZSx6cmE9ZigoKT0+e2pnZT1zKCguLi5hKT0+YS5maWx0ZXIoKGUsdCxyKT0+ISFlJiZlLnRyaW0oKSE9PSIiJiZyLmluZGV4T2YoZSk9PT10KS5qb2luKCIgIikudHJpbSgpLCJtZXJnZUNsYXNzZXMiKX0pO3ZhciBVZ2UsQ3JhPWYoKCk9PntVZ2U9cyhhPT5hLnJlcGxhY2UoL14oW0EtWl0pfFtccy1fXSsoXHcpL2csKGUsdCxyKT0+cj9yLnRvVXBwZXJDYXNlKCk6dC50b0xvd2VyQ2FzZSgpKSwidG9DYW1lbENhc2UiKX0pO3ZhciBXZ2UsX3JhPWYoKCk9PntDcmEoKTtXZ2U9cyhhPT57bGV0IGU9VWdlKGEpO3JldHVybiBlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Uuc2xpY2UoMSl9LCJ0b1Bhc2NhbENhc2UiKX0pO3ZhciBUcmEsR2dlLFl0ZSxMcmE9ZigoKT0+e3FnZSgpO0hnZSgpO1NyYSgpO3pyYSgpO19yYSgpO1RyYT1zKGE9PkFycmF5LmZyb20oYS5hdHRyaWJ1dGVzKS5yZWR1Y2UoKGUsdCk9PihlW3QubmFtZV09dC52YWx1ZSxlKSx7fSksImdldEF0dHJzIiksR2dlPXMoYT0+dHlwZW9mIGE9PSJzdHJpbmciP2E6IWF8fCFhLmNsYXNzPyIiOmEuY2xhc3MmJnR5cGVvZiBhLmNsYXNzPT0ic3RyaW5nIj9hLmNsYXNzLnNwbGl0KCIgIik6YS5jbGFzcyYmQXJyYXkuaXNBcnJheShhLmNsYXNzKT9hLmNsYXNzOiIiLCJnZXRDbGFzc05hbWVzIiksWXRlPXMoKGEse25hbWVBdHRyOmUsaWNvbnM6dCxhdHRyczpyfSk9PntsZXQgaT1hLmdldEF0dHJpYnV0ZShlKTtpZihpPT1udWxsKXJldHVybjtsZXQgbz1XZ2UoaSksbj10W29dO2lmKCFuKXJldHVybiBjb25zb2xlLndhcm4oYCR7YS5vdXRlckhUTUx9IGljb24gbmFtZSB3YXMgbm90IGZvdW5kIGluIHRoZSBwcm92aWRlZCBpY29ucyBvYmplY3QuYCk7bGV0IGw9VHJhKGEpLGQ9VmdlKGwpP3t9OnsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sYz17Li4ud3YsImRhdGEtbHVjaWRlIjppLC4uLmQsLi4uciwuLi5sfSxwPUdnZShsKSx1PUdnZShyKSxtPWpnZSgibHVjaWRlIixgbHVjaWRlLSR7aX1gLC4uLnAsLi4udSk7bSYmT2JqZWN0LmFzc2lnbihjLHtjbGFzczptfSk7bGV0IHY9bzQobixjKTtyZXR1cm4gYS5wYXJlbnROb2RlPy5yZXBsYWNlQ2hpbGQodixhKX0sInJlcGxhY2VFbGVtZW50Iil9KTt2YXIgTXYsWWdlPWYoKCk9PntNdj1bWyJwYXRoIix7ZDoibTE0IDEyIDQgNCA0LTQifV0sWyJwYXRoIix7ZDoiTTE4IDE2VjcifV0sWyJwYXRoIix7ZDoibTIgMTYgNC4wMzktOS42OWEuNS41IDAgMCAxIC45MjMgMEwxMSAxNiJ9XSxbInBhdGgiLHtkOiJNMy4zMDQgMTNoNi4zOTIifV1dfSk7dmFyIGt2LEtnZT1mKCgpPT57a3Y9W1sicGF0aCIse2Q6Im0xNCAxMSA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik0xOCAxNlY3In1dLFsicGF0aCIse2Q6Im0yIDE2IDQuMDM5LTkuNjlhLjUuNSAwIDAgMSAuOTIzIDBMMTEgMTYifV0sWyJwYXRoIix7ZDoiTTMuMzA0IDEzaDYuMzkyIn1dXX0pO3ZhciBTdixaZ2U9ZigoKT0+e1N2PVtbInBhdGgiLHtkOiJtMTUgMTYgMi41MzYtNy4zMjhhMS4wMiAxLjAyIDEgMCAxIDEuOTI4IDBMMjIgMTYifV0sWyJwYXRoIix7ZDoiTTE1LjY5NyAxNGg1LjYwNiJ9XSxbInBhdGgiLHtkOiJtMiAxNiA0LjAzOS05LjY5YS41LjUgMCAwIDEgLjkyMyAwTDExIDE2In1dLFsicGF0aCIse2Q6Ik0zLjMwNCAxM2g2LjM5MiJ9XV19KTt2YXIgenYsWGdlPWYoKCk9Pnt6dj1bWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiI0IixyOiIxIn1dLFsicGF0aCIse2Q6Im0xOCAxOSAxLTctNiAxIn1dLFsicGF0aCIse2Q6Im01IDggMy0zIDUuNSAzLTIuMzYgMy41In1dLFsicGF0aCIse2Q6Ik00LjI0IDE0LjVhNSA1IDAgMCAwIDYuODggNiJ9XSxbInBhdGgiLHtkOiJNMTMuNzYgMTcuNWE1IDUgMCAwIDAtNi44OC02In1dXX0pO3ZhciBDdixRZ2U9ZigoKT0+e0N2PVtbInBhdGgiLHtkOiJNMjIgMTJoLTIuNDhhMiAyIDAgMCAwLTEuOTMgMS40NmwtMi4zNSA4LjM2YS4yNS4yNSAwIDAgMS0uNDggMEw5LjI0IDIuMThhLjI1LjI1IDAgMCAwLS40OCAwbC0yLjM1IDguMzZBMiAyIDAgMCAxIDQuNDkgMTJIMiJ9XV19KTt2YXIgX3YsSmdlPWYoKCk9Pntfdj1bWyJwYXRoIix7ZDoiTTE4IDE3LjVhMi41IDIuNSAwIDEgMS00IDIuMDNWMTIifV0sWyJwYXRoIix7ZDoiTTYgMTJINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjVhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNiA4aDEyIn1dLFsicGF0aCIse2Q6Ik02LjYgMTUuNTcyQTIgMiAwIDEgMCAxMCAxN3YtNSJ9XV19KTt2YXIgVHYsZWJlPWYoKCk9PntUdj1bWyJwYXRoIix7ZDoiTTUgMTdINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDJoLTEifV0sWyJwYXRoIix7ZDoibTEyIDE1IDUgNkg3WiJ9XV19KTt2YXIgdmQsdGJlPWYoKCk9Pnt2ZD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMyIscjoiOCJ9XSxbInBhdGgiLHtkOiJNNSAzIDIgNiJ9XSxbInBhdGgiLHtkOiJtMjIgNi0zLTMifV0sWyJwYXRoIix7ZDoiTTYuMzggMTguNyA0IDIxIn1dLFsicGF0aCIse2Q6Ik0xNy42NCAxOC42NyAyMCAyMSJ9XSxbInBhdGgiLHtkOiJtOSAxMyAyIDIgNC00In1dXX0pO3ZhciB4ZCxhYmU9ZigoKT0+e3hkPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiI4In1dLFsicGF0aCIse2Q6Ik01IDMgMiA2In1dLFsicGF0aCIse2Q6Im0yMiA2LTMtMyJ9XSxbInBhdGgiLHtkOiJNNi4zOCAxOC43IDQgMjEifV0sWyJwYXRoIix7ZDoiTTE3LjY0IDE4LjY3IDIwIDIxIn1dLFsicGF0aCIse2Q6Ik05IDEzaDYifV1dfSk7dmFyIEx2LHJiZT1mKCgpPT57THY9W1sicGF0aCIse2Q6Ik02Ljg3IDYuODdhOCA4IDAgMSAwIDExLjI2IDExLjI2In1dLFsicGF0aCIse2Q6Ik0xOS45IDE0LjI1YTggOCAwIDAgMC05LjE1LTkuMTUifV0sWyJwYXRoIix7ZDoibTIyIDYtMy0zIn1dLFsicGF0aCIse2Q6Ik02LjI2IDE4LjY3IDQgMjEifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNCA0IDIgNiJ9XV19KTt2YXIgeWQsc2JlPWYoKCk9Pnt5ZD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMyIscjoiOCJ9XSxbInBhdGgiLHtkOiJNNSAzIDIgNiJ9XSxbInBhdGgiLHtkOiJtMjIgNi0zLTMifV0sWyJwYXRoIix7ZDoiTTYuMzggMTguNyA0IDIxIn1dLFsicGF0aCIse2Q6Ik0xNy42NCAxOC42NyAyMCAyMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTB2NiJ9XSxbInBhdGgiLHtkOiJNOSAxM2g2In1dXX0pO3ZhciAkdixpYmU9ZigoKT0+eyR2PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiI4In1dLFsicGF0aCIse2Q6Ik0xMiA5djRsMiAyIn1dLFsicGF0aCIse2Q6Ik01IDMgMiA2In1dLFsicGF0aCIse2Q6Im0yMiA2LTMtMyJ9XSxbInBhdGgiLHtkOiJNNi4zOCAxOC43IDQgMjEifV0sWyJwYXRoIix7ZDoiTTE3LjY0IDE4LjY3IDIwIDIxIn1dXX0pO3ZhciBEdixvYmU9ZigoKT0+e0R2PVtbInBhdGgiLHtkOiJNMTEgMjFjMC0yLjUgMi0yLjUgMi01In1dLFsicGF0aCIse2Q6Ik0xNiAyMWMwLTIuNSAyLTIuNSAyLTUifV0sWyJwYXRoIix7ZDoibTE5IDgtLjggM2ExLjI1IDEuMjUgMCAwIDEtMS4yIDFIN2ExLjI1IDEuMjUgMCAwIDEtMS4yLTFMNSA4In1dLFsicGF0aCIse2Q6Ik0yMSAzYTEgMSAwIDAgMSAxIDF2MmEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY0YTEgMSAwIDAgMSAxLTF6In1dLFsicGF0aCIse2Q6Ik02IDIxYzAtMi41IDItMi41IDItNSJ9XV19KTt2YXIgQXYsbmJlPWYoKCk9PntBdj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJwb2x5bGluZSIse3BvaW50czoiMTEgMyAxMSAxMSAxNCA4IDE3IDExIDE3IDMifV1dfSk7dmFyIEV2LGxiZT1mKCgpPT57RXY9W1sicGF0aCIse2Q6Ik0yIDEyaDIwIn1dLFsicGF0aCIse2Q6Ik0xMCAxNnY0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0ydi00In1dLFsicGF0aCIse2Q6Ik0xMCA4VjRhMiAyIDAgMCAwLTItMkg2YTIgMiAwIDAgMC0yIDJ2NCJ9XSxbInBhdGgiLHtkOiJNMjAgMTZ2MWEyIDIgMCAwIDEtMiAyaC0yYTIgMiAwIDAgMS0yLTJ2LTEifV0sWyJwYXRoIix7ZDoiTTE0IDhWN2MwLTEuMS45LTIgMi0yaDJhMiAyIDAgMCAxIDIgMnYxIn1dXX0pO3ZhciBQdixjYmU9ZigoKT0+e1B2PVtbInBhdGgiLHtkOiJNMTIgMnYyMCJ9XSxbInBhdGgiLHtkOiJNOCAxMEg0YTIgMiAwIDAgMS0yLTJWNmMwLTEuMS45LTIgMi0yaDQifV0sWyJwYXRoIix7ZDoiTTE2IDEwaDRhMiAyIDAgMCAwIDItMlY2YTIgMiAwIDAgMC0yLTJoLTQifV0sWyJwYXRoIix7ZDoiTTggMjBIN2EyIDIgMCAwIDEtMi0ydi0yYzAtMS4xLjktMiAyLTJoMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTRoMWEyIDIgMCAwIDEgMiAydjJhMiAyIDAgMCAxLTIgMmgtMSJ9XV19KTt2YXIgSXYsZGJlPWYoKCk9PntJdj1bWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTYiLHg6IjQiLHk6IjIiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjkiLHg6IjE0Iix5OiI5IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMjIgMjJIMiJ9XV19KTt2YXIgTnYsdWJlPWYoKCk9PntOdj1bWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTQiLHg6IjQiLHk6IjUiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjEwIix4OiIxNCIseToiNyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE3IDIydi01In1dLFsicGF0aCIse2Q6Ik0xNyA3VjIifV0sWyJwYXRoIix7ZDoiTTcgMjJ2LTMifV0sWyJwYXRoIix7ZDoiTTcgNVYyIn1dXX0pO3ZhciBSdixwYmU9ZigoKT0+e1J2PVtbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiNiIseDoiMiIseToiNCIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjkiLGhlaWdodDoiNiIseDoiOSIseToiMTQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yMiAyMlYyIn1dXX0pO3ZhciBPdixmYmU9ZigoKT0+e092PVtbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxNCIseDoiNCIseToiNSIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTAiLHg6IjE0Iix5OiI3IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTAgMnYyMCJ9XSxbInBhdGgiLHtkOiJNMjAgMnYyMCJ9XV19KTt2YXIgRnYsaGJlPWYoKCk9PntGdj1bWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTQiLHg6IjQiLHk6IjUiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjEwIix4OiIxNCIseToiNyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTQgMnYyMCJ9XSxbInBhdGgiLHtkOiJNMTQgMnYyMCJ9XV19KTt2YXIgQnYsbWJlPWYoKCk9PntCdj1bWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjUiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjEwIix4OiIxNiIseToiNyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MjAifV1dfSk7dmFyIEh2LGdiZT1mKCgpPT57SHY9W1sicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjE0Iix4OiIyIix5OiI1IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxMCIseDoiMTIiLHk6IjciLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yMiAydjIwIn1dXX0pO3ZhciBxdixiYmU9ZigoKT0+e3F2PVtbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxNCIseDoiNiIseToiNSIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTAiLHg6IjE2Iix5OiI3IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMiAydjIwIn1dXX0pO3ZhciBWdix2YmU9ZigoKT0+e1Z2PVtbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxMCIseDoiOSIseToiNyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTQgMjJWMiJ9XSxbInBhdGgiLHtkOiJNMjAgMjJWMiJ9XV19KTt2YXIganYseGJlPWYoKCk9Pntqdj1bWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTYiLHg6IjQiLHk6IjYiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjkiLHg6IjE0Iix5OiI2IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMjIgMkgyIn1dXX0pO3ZhciBVdix5YmU9ZigoKT0+e1V2PVtbInJlY3QiLHt3aWR0aDoiOSIsaGVpZ2h0OiI2Iix4OiI2Iix5OiIxNCIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjE2IixoZWlnaHQ6IjYiLHg6IjYiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDJ2MjAifV1dfSk7dmFyIFd2LHdiZT1mKCgpPT57V3Y9W1sicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjE0Iix4OiIzIix5OiI1IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxMCIseDoiMTUiLHk6IjciLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDJ2MjAifV0sWyJwYXRoIix7ZDoiTTIxIDJ2MjAifV1dfSk7dmFyIEd2LE1iZT1mKCgpPT57R3Y9W1sicGF0aCIse2Q6Ik0yMiAxN2gtMyJ9XSxbInBhdGgiLHtkOiJNMjIgN2gtNSJ9XSxbInBhdGgiLHtkOiJNNSAxN0gyIn1dLFsicGF0aCIse2Q6Ik03IDdIMiJ9XSxbInJlY3QiLHt4OiI1Iix5OiIxNCIsd2lkdGg6IjE0IixoZWlnaHQ6IjYiLHJ4OiIyIn1dLFsicmVjdCIse3g6IjciLHk6IjQiLHdpZHRoOiIxMCIsaGVpZ2h0OiI2IixyeDoiMiJ9XV19KTt2YXIgWXYsa2JlPWYoKCk9PntZdj1bWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjYiLHg6IjUiLHk6IjE0IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMTAiLGhlaWdodDoiNiIseDoiNyIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIgMjBoMjAifV0sWyJwYXRoIix7ZDoiTTIgMTBoMjAifV1dfSk7dmFyIEt2LFNiZT1mKCgpPT57S3Y9W1sicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiI2Iix4OiI1Iix5OiIxNCIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjEwIixoZWlnaHQ6IjYiLHg6IjciLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDE0aDIwIn1dLFsicGF0aCIse2Q6Ik0yIDRoMjAifV1dfSk7dmFyIFp2LHpiZT1mKCgpPT57WnY9W1sicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiI2Iix4OiI1Iix5OiIxNiIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjEwIixoZWlnaHQ6IjYiLHg6IjciLHk6IjIiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIwIn1dXX0pO3ZhciBYdixDYmU9ZigoKT0+e1h2PVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiNiIseDoiNSIseToiMTIiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiIxMCIsaGVpZ2h0OiI2Iix4OiI3Iix5OiIyIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMiAyMmgyMCJ9XV19KTt2YXIgUXYsX2JlPWYoKCk9PntRdj1bWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjYiLHg6IjUiLHk6IjE2IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMTAiLGhlaWdodDoiNiIseDoiNyIseToiNiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIgMmgyMCJ9XV19KTt2YXIgSnYsVGJlPWYoKCk9PntKdj1bWyJyZWN0Iix7d2lkdGg6IjEwIixoZWlnaHQ6IjYiLHg6IjciLHk6IjkiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yMiAyMEgyIn1dLFsicGF0aCIse2Q6Ik0yMiA0SDIifV1dfSk7dmFyIGV4LExiZT1mKCgpPT57ZXg9W1sicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiI2Iix4OiI1Iix5OiIxNSIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjEwIixoZWlnaHQ6IjYiLHg6IjciLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDIxaDIwIn1dLFsicGF0aCIse2Q6Ik0yIDNoMjAifV1dfSk7dmFyIHR4LCRiZT1mKCgpPT57dHg9W1sicGF0aCIse2Q6Ik0xMCAxMEg2In1dLFsicGF0aCIse2Q6Ik0xNCAxOFY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjExYTEgMSAwIDAgMCAxIDFoMiJ9XSxbInBhdGgiLHtkOiJNMTkgMThoMmExIDEgMCAwIDAgMS0xdi0zLjI4YTEgMSAwIDAgMC0uNjg0LS45NDhsLTEuOTIzLS42NDFhMSAxIDAgMCAxLS41NzgtLjUwMmwtMS41MzktMy4wNzZBMSAxIDAgMCAwIDE2LjM4MiA4SDE0In1dLFsicGF0aCIse2Q6Ik04IDh2NCJ9XSxbInBhdGgiLHtkOiJNOSAxOGg2In1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiMTgiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjE4IixyOiIyIn1dXX0pO3ZhciBheCxEYmU9ZigoKT0+e2F4PVtbInBhdGgiLHtkOiJNMTAgMTdjLTUtMy03LTctNy05YTIgMiAwIDAgMSA0IDBjMCAyLjUtNSAyLjUtNSA2IDAgMS43IDEuMyAzIDMgMyAyLjggMCA1LTIuMiA1LTUifV0sWyJwYXRoIix7ZDoiTTIyIDE3Yy01LTMtNy03LTctOWEyIDIgMCAwIDEgNCAwYzAgMi41LTUgMi41LTUgNiAwIDEuNyAxLjMgMyAzIDMgMi44IDAgNS0yLjIgNS01In1dXX0pO3ZhciByeCxBYmU9ZigoKT0+e3J4PVtbInBhdGgiLHtkOiJNMTYgMTJoMyJ9XSxbInBhdGgiLHtkOiJNMTcuNSAxMmE4IDggMCAwIDEtOCA4QTQuNSA0LjUgMCAwIDEgNSAxNS41YzAtNiA4LTQgOC04LjVhMyAzIDAgMSAwLTYgMGMwIDMgMi41IDguNSAxMiAxMyJ9XV19KTt2YXIgc3gsRWJlPWYoKCk9PntzeD1bWyJwYXRoIix7ZDoiTTEwIDJ2NS42MzJjMCAuNDI0LS4yNzIuNzk1LS42NTMuOTgyQTYgNiAwIDAgMCA2IDE0Yy4wMDYgNCAzIDcgNSA4In1dLFsicGF0aCIse2Q6Ik0xMCA1SDhhMiAyIDAgMCAwIDAgNGguNjgifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NS42MzJjMCAuNDI0LjI3Mi43OTUuNjUyLjk4MkE2IDYgMCAwIDEgMTggMTRjMCA0LTMgNy01IDgifV0sWyJwYXRoIix7ZDoiTTE0IDVoMmEyIDIgMCAwIDEgMCA0aC0uNjgifV0sWyJwYXRoIix7ZDoiTTE4IDIySDYifV0sWyJwYXRoIix7ZDoiTTkgMmg2In1dXX0pO3ZhciBpeCxQYmU9ZigoKT0+e2l4PVtbInBhdGgiLHtkOiJNMTIgNnYxNiJ9XSxbInBhdGgiLHtkOiJtMTkgMTMgMi0xYTkgOSAwIDAgMS0xOCAwbDIgMSJ9XSxbInBhdGgiLHtkOiJNOSAxMWg2In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiNCIscjoiMiJ9XV19KTt2YXIgb3gsSWJlPWYoKCk9PntveD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTE2IDE2cy0xLjUtMi00LTItNCAyLTQgMiJ9XSxbInBhdGgiLHtkOiJNNy41IDggMTAgOSJ9XSxbInBhdGgiLHtkOiJtMTQgOSAyLjUtMSJ9XSxbInBhdGgiLHtkOiJNOSAxMGguMDEifV0sWyJwYXRoIix7ZDoiTTE1IDEwaC4wMSJ9XV19KTt2YXIgbngsTmJlPWYoKCk9PntueD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTggMTVoOCJ9XSxbInBhdGgiLHtkOiJNOCA5aDIifV0sWyJwYXRoIix7ZDoiTTE0IDloMiJ9XV19KTt2YXIgbHgsUmJlPWYoKCk9PntseD1bWyJwYXRoIix7ZDoiTTIgMTIgNyAyIn1dLFsicGF0aCIse2Q6Im03IDEyIDUtMTAifV0sWyJwYXRoIix7ZDoibTEyIDEyIDUtMTAifV0sWyJwYXRoIix7ZDoibTE3IDEyIDUtMTAifV0sWyJwYXRoIix7ZDoiTTQuNSA3aDE1In1dLFsicGF0aCIse2Q6Ik0xMiAxNnY2In1dXX0pO3ZhciBjeCxPYmU9ZigoKT0+e2N4PVtbInBhdGgiLHtkOiJNNyAxMEg2YTQgNCAwIDAgMS00LTQgMSAxIDAgMCAxIDEtMWg0In1dLFsicGF0aCIse2Q6Ik03IDVhMSAxIDAgMCAxIDEtMWgxM2ExIDEgMCAwIDEgMSAxIDcgNyAwIDAgMS03IDdIOGExIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJNOSAxMnY1In1dLFsicGF0aCIse2Q6Ik0xNSAxMnY1In1dLFsicGF0aCIse2Q6Ik01IDIwYTMgMyAwIDAgMSAzLTNoOGEzIDMgMCAwIDEgMyAzIDEgMSAwIDAgMS0xIDFINmExIDEgMCAwIDEtMS0xIn1dXX0pO3ZhciBkeCxGYmU9ZigoKT0+e2R4PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtMTQuMzEgOCA1Ljc0IDkuOTQifV0sWyJwYXRoIix7ZDoiTTkuNjkgOGgxMS40OCJ9XSxbInBhdGgiLHtkOiJtNy4zOCAxMiA1Ljc0LTkuOTQifV0sWyJwYXRoIix7ZDoiTTkuNjkgMTYgMy45NSA2LjA2In1dLFsicGF0aCIse2Q6Ik0xNC4zMSAxNkgyLjgzIn1dLFsicGF0aCIse2Q6Im0xNi42MiAxMi01Ljc0IDkuOTQifV1dfSk7dmFyIHV4LEJiZT1mKCgpPT57dXg9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNiIseDoiMiIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTYgOGguMDEifV0sWyJwYXRoIix7ZDoiTTEwIDhoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCA4aC4wMSJ9XV19KTt2YXIgcHgsSGJlPWYoKCk9PntweD1bWyJyZWN0Iix7eDoiMiIseToiNCIsd2lkdGg6IjIwIixoZWlnaHQ6IjE2IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTAgNHY0In1dLFsicGF0aCIse2Q6Ik0yIDhoMjAifV0sWyJwYXRoIix7ZDoiTTYgNHY0In1dXX0pO3ZhciBmeCxxYmU9ZigoKT0+e2Z4PVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiNSIseDoiMiIseToiMyIscng6IjEifV0sWyJwYXRoIix7ZDoiTTQgOHYxMWEyIDIgMCAwIDAgMiAyaDIifV0sWyJwYXRoIix7ZDoiTTIwIDh2MTFhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJtOSAxNSAzLTMgMyAzIn1dLFsicGF0aCIse2Q6Ik0xMiAxMnY5In1dXX0pO3ZhciBoeCxWYmU9ZigoKT0+e2h4PVtbInBhdGgiLHtkOiJNMTIgNi41MjhWM2ExIDEgMCAwIDEgMS0xaDAifV0sWyJwYXRoIix7ZDoiTTE4LjIzNyAyMUExNSAxNSAwIDAgMCAyMiAxMWE2IDYgMCAwIDAtMTAtNC40NzJBNiA2IDAgMCAwIDIgMTFhMTUuMSAxNS4xIDAgMCAwIDMuNzYzIDEwIDMgMyAwIDAgMCAzLjY0OC42NDggNS41IDUuNSAwIDAgMSA1LjE3OCAwQTMgMyAwIDAgMCAxOC4yMzcgMjEifV1dfSk7dmFyIG14LGpiZT1mKCgpPT57bXg9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiI1Iix4OiIyIix5OiIzIixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNNCA4djExYTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4In1dLFsicGF0aCIse2Q6Im05LjUgMTcgNS01In1dLFsicGF0aCIse2Q6Im05LjUgMTIgNSA1In1dXX0pO3ZhciBneCxVYmU9ZigoKT0+e2d4PVtbInBhdGgiLHtkOiJNMTkgOVY2YTIgMiAwIDAgMC0yLTJIN2EyIDIgMCAwIDAtMiAydjMifV0sWyJwYXRoIix7ZDoiTTMgMTZhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0ydi01YTIgMiAwIDAgMC00IDB2MS41YS41LjUgMCAwIDEtLjUuNWgtOWEuNS41IDAgMCAxLS41LS41VjExYTIgMiAwIDAgMC00IDB6In1dLFsicGF0aCIse2Q6Ik01IDE4djIifV0sWyJwYXRoIix7ZDoiTTE5IDE4djIifV1dfSk7dmFyIGJ4LFdiZT1mKCgpPT57Yng9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiI1Iix4OiIyIix5OiIzIixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNNCA4djExYTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4In1dLFsicGF0aCIse2Q6Ik0xMCAxMmg0In1dXX0pO3ZhciB2eCxHYmU9ZigoKT0+e3Z4PVtbInBhdGgiLHtkOiJNMTQgOGExIDEgMCAwIDEgMSAxdjJhMSAxIDAgMCAwIDEgMWgzLjI5M2EuNzA3LjcwNyAwIDAgMSAuNSAxLjIwN2wtNi45MzkgNi45MzlhMS4yMDcgMS4yMDcgMCAwIDEtMS43MDggMGwtNi45NC02Ljk0YS43MDcuNzA3IDAgMCAxIC41LTEuMjA2SDhhMSAxIDAgMCAwIDEtMVY5YTEgMSAwIDAgMSAxLTF6In1dLFsicGF0aCIse2Q6Ik05IDRoNiJ9XV19KTt2YXIgeHgsWWJlPWYoKCk9Pnt4eD1bWyJwYXRoIix7ZDoiTTkgNWExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDEgMXY2YTEgMSAwIDAgMCAxIDFoMy4yOTNhLjcwNy43MDcgMCAwIDEgLjUgMS4yMDdsLTcuMDg2IDcuMDg2YTEgMSAwIDAgMS0xLjQxNCAwbC03LjA4Ni03LjA4NmEuNzA3LjcwNyAwIDAgMSAuNS0xLjIwN0g4YTEgMSAwIDAgMCAxLTF6In1dXX0pO3ZhciB5eCxLYmU9ZigoKT0+e3l4PVtbInBhdGgiLHtkOiJNMTAuNzkzIDE5Ljc5M2EuNzA3LjcwNyAwIDAgMCAxLjIwNy0uNVYxNmExIDEgMCAwIDEgMS0xaDZhMSAxIDAgMCAwIDEtMXYtNGExIDEgMCAwIDAtMS0xaC02YTEgMSAwIDAgMS0xLTFWNC43MDdhLjcwNy43MDcgMCAwIDAtMS4yMDctLjVsLTYuOTQgNi45NGExLjIwNyAxLjIwNyAwIDAgMCAwIDEuNzA3eiJ9XV19KTt2YXIgd3gsWmJlPWYoKCk9Pnt3eD1bWyJwYXRoIix7ZDoiTTEzIDlhMSAxIDAgMCAxLTEtMVY0LjcwN2EuNzA3LjcwNyAwIDAgMC0xLjIwNy0uNWwtNi45NCA2Ljk0YTEuMjA3IDEuMjA3IDAgMCAwIDAgMS43MDdsNi45NCA2Ljk0YS43MDcuNzA3IDAgMCAwIDEuMjA3LS41VjE2YTEgMSAwIDAgMSAxLTFoMmExIDEgMCAwIDAgMS0xdi00YTEgMSAwIDAgMC0xLTF6In1dLFsicGF0aCIse2Q6Ik0yMCA5djYifV1dfSk7dmFyIE14LFhiZT1mKCgpPT57TXg9W1sicGF0aCIse2Q6Ik0xMSA5YTEgMSAwIDAgMCAxLTFWNC43MDdhLjcwNy43MDcgMCAwIDEgMS4yMDctLjVsNi45NCA2Ljk0YTEuMjA3IDEuMjA3IDAgMCAxIDAgMS43MDdsLTYuOTQgNi45NGEuNzA3LjcwNyAwIDAgMS0xLjIwNy0uNVYxNmExIDEgMCAwIDAtMS0xSDlhMSAxIDAgMCAxLTEtMXYtNGExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNNCA5djYifV1dfSk7dmFyIGt4LFFiZT1mKCgpPT57a3g9W1sicGF0aCIse2Q6Ik0xMy4yMDcgMTkuNzkzYS43MDcuNzA3IDAgMCAxLTEuMjA3LS41VjE2YTEgMSAwIDAgMC0xLTFINWExIDEgMCAwIDEtMS0xdi00YTEgMSAwIDAgMSAxLTFoNmExIDEgMCAwIDAgMS0xVjQuNzA3YS43MDcuNzA3IDAgMCAxIDEuMjA3LS41bDYuOTQgNi45NGExLjIwNyAxLjIwNyAwIDAgMSAwIDEuNzA3eiJ9XV19KTt2YXIgU3gsSmJlPWYoKCk9PntTeD1bWyJwYXRoIix7ZDoiTTE0IDE2YTEgMSAwIDAgMCAxLTF2LTJhMSAxIDAgMCAxIDEtMWgzLjI5M2EuNzA3LjcwNyAwIDAgMCAuNS0xLjIwN2wtNi45MzktNi45MzlhMS4yMDcgMS4yMDcgMCAwIDAtMS43MDggMGwtNi45NCA2Ljk0YS43MDcuNzA3IDAgMCAwIC41IDEuMjA2SDhhMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMCAxIDF6In1dLFsicGF0aCIse2Q6Ik05IDIwaDYifV1dfSk7dmFyIHp4LGV2ZT1mKCgpPT57eng9W1sicGF0aCIse2Q6Ik05IDE5YTEgMSAwIDAgMCAxIDFoNGExIDEgMCAwIDAgMS0xdi02YTEgMSAwIDAgMSAxLTFoMy4yOTNhLjcwNy43MDcgMCAwIDAgLjUtMS4yMDdsLTcuMDg2LTcuMDg2YTEgMSAwIDAgMC0xLjQxNCAwbC03LjA4NiA3LjA4NmEuNzA3LjcwNyAwIDAgMCAuNSAxLjIwN0g4YTEgMSAwIDAgMSAxIDF6In1dXX0pO3ZhciBDeCx0dmU9ZigoKT0+e0N4PVtbInBhdGgiLHtkOiJtMyAxNiA0IDQgNC00In1dLFsicGF0aCIse2Q6Ik03IDIwVjQifV0sWyJyZWN0Iix7eDoiMTUiLHk6IjQiLHdpZHRoOiI0IixoZWlnaHQ6IjYiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik0xNyAyMHYtNmgtMiJ9XSxbInBhdGgiLHtkOiJNMTUgMjBoNCJ9XV19KTt2YXIgX3gsYXZlPWYoKCk9PntfeD1bWyJwYXRoIix7ZDoibTMgMTYgNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJNNyAyMFY0In1dLFsicGF0aCIse2Q6Ik0xNyAxMFY0aC0yIn1dLFsicGF0aCIse2Q6Ik0xNSAxMGg0In1dLFsicmVjdCIse3g6IjE1Iix5OiIxNCIsd2lkdGg6IjQiLGhlaWdodDoiNiIscnk6IjIifV1dfSk7dmFyIFR4LHJ2ZT1mKCgpPT57VHg9W1sicGF0aCIse2Q6Ik0xOSAzSDUifV0sWyJwYXRoIix7ZDoiTTEyIDIxVjcifV0sWyJwYXRoIix7ZDoibTYgMTUgNiA2IDYtNiJ9XV19KTt2YXIgd2Qsc3ZlPWYoKCk9Pnt3ZD1bWyJwYXRoIix7ZDoibTMgMTYgNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJNNyAyMFY0In1dLFsicGF0aCIse2Q6Ik0yMCA4aC01In1dLFsicGF0aCIse2Q6Ik0xNSAxMFY2LjVhMi41IDIuNSAwIDAgMSA1IDBWMTAifV0sWyJwYXRoIix7ZDoiTTE1IDE0aDVsLTUgNmg1In1dXX0pO3ZhciBMeCxpdmU9ZigoKT0+e0x4PVtbInBhdGgiLHtkOiJNMTcgNyA3IDE3In1dLFsicGF0aCIse2Q6Ik0xNyAxN0g3VjcifV1dfSk7dmFyICR4LG92ZT1mKCgpPT57JHg9W1sicGF0aCIse2Q6Im0zIDE2IDQgNCA0LTQifV0sWyJwYXRoIix7ZDoiTTcgMjBWNCJ9XSxbInBhdGgiLHtkOiJNMTEgNGg0In1dLFsicGF0aCIse2Q6Ik0xMSA4aDcifV0sWyJwYXRoIix7ZDoiTTExIDEyaDEwIn1dXX0pO3ZhciBEeCxudmU9ZigoKT0+e0R4PVtbInBhdGgiLHtkOiJtNyA3IDEwIDEwIn1dLFsicGF0aCIse2Q6Ik0xNyA3djEwSDcifV1dfSk7dmFyIEF4LGx2ZT1mKCgpPT57QXg9W1sicGF0aCIse2Q6Ik0xMiAydjE0In1dLFsicGF0aCIse2Q6Im0xOSA5LTcgNy03LTcifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIyMSIscjoiMSJ9XV19KTt2YXIgRXgsY3ZlPWYoKCk9PntFeD1bWyJwYXRoIix7ZDoibTMgMTYgNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJNNyAyMFY0In1dLFsicGF0aCIse2Q6Im0yMSA4LTQtNC00IDQifV0sWyJwYXRoIix7ZDoiTTE3IDR2MTYifV1dfSk7dmFyIFB4LGR2ZT1mKCgpPT57UHg9W1sicGF0aCIse2Q6Ik0xMiAxN1YzIn1dLFsicGF0aCIse2Q6Im02IDExIDYgNiA2LTYifV0sWyJwYXRoIix7ZDoiTTE5IDIxSDUifV1dfSk7dmFyIE1kLHV2ZT1mKCgpPT57TWQ9W1sicGF0aCIse2Q6Im0zIDE2IDQgNCA0LTQifV0sWyJwYXRoIix7ZDoiTTcgMjBWNCJ9XSxbInBhdGgiLHtkOiJNMTEgNGgxMCJ9XSxbInBhdGgiLHtkOiJNMTEgOGg3In1dLFsicGF0aCIse2Q6Ik0xMSAxMmg0In1dXX0pO3ZhciBrZCxwdmU9ZigoKT0+e2tkPVtbInBhdGgiLHtkOiJtMyAxNiA0IDQgNC00In1dLFsicGF0aCIse2Q6Ik03IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE1IDRoNWwtNSA2aDUifV0sWyJwYXRoIix7ZDoiTTE1IDIwdi0zLjVhMi41IDIuNSAwIDAgMSA1IDBWMjAifV0sWyJwYXRoIix7ZDoiTTIwIDE4aC01In1dXX0pO3ZhciBJeCxmdmU9ZigoKT0+e0l4PVtbInBhdGgiLHtkOiJNMTIgNXYxNCJ9XSxbInBhdGgiLHtkOiJtMTkgMTItNyA3LTctNyJ9XV19KTt2YXIgTngsaHZlPWYoKCk9PntOeD1bWyJwYXRoIix7ZDoibTkgNi02IDYgNiA2In1dLFsicGF0aCIse2Q6Ik0zIDEyaDE0In1dLFsicGF0aCIse2Q6Ik0yMSAxOVY1In1dXX0pO3ZhciBSeCxtdmU9ZigoKT0+e1J4PVtbInBhdGgiLHtkOiJNOCAzIDQgN2w0IDQifV0sWyJwYXRoIix7ZDoiTTQgN2gxNiJ9XSxbInBhdGgiLHtkOiJtMTYgMjEgNC00LTQtNCJ9XSxbInBhdGgiLHtkOiJNMjAgMTdINCJ9XV19KTt2YXIgT3gsZ3ZlPWYoKCk9PntPeD1bWyJwYXRoIix7ZDoiTTMgMTlWNSJ9XSxbInBhdGgiLHtkOiJtMTMgNi02IDYgNiA2In1dLFsicGF0aCIse2Q6Ik03IDEyaDE0In1dXX0pO3ZhciBGeCxidmU9ZigoKT0+e0Z4PVtbInBhdGgiLHtkOiJNMyA1djE0In1dLFsicGF0aCIse2Q6Ik0yMSAxMkg3In1dLFsicGF0aCIse2Q6Im0xNSAxOCA2LTYtNi02In1dXX0pO3ZhciBCeCx2dmU9ZigoKT0+e0J4PVtbInBhdGgiLHtkOiJtMTIgMTktNy03IDctNyJ9XSxbInBhdGgiLHtkOiJNMTkgMTJINSJ9XV19KTt2YXIgSHgseHZlPWYoKCk9PntIeD1bWyJwYXRoIix7ZDoibTE2IDMgNCA0LTQgNCJ9XSxbInBhdGgiLHtkOiJNMjAgN0g0In1dLFsicGF0aCIse2Q6Im04IDIxLTQtNCA0LTQifV0sWyJwYXRoIix7ZDoiTTQgMTdoMTYifV1dfSk7dmFyIHF4LHl2ZT1mKCgpPT57cXg9W1sicGF0aCIse2Q6Ik0xNyAxMkgzIn1dLFsicGF0aCIse2Q6Im0xMSAxOCA2LTYtNi02In1dLFsicGF0aCIse2Q6Ik0yMSA1djE0In1dXX0pO3ZhciBWeCx3dmU9ZigoKT0+e1Z4PVtbInBhdGgiLHtkOiJNNSAxMmgxNCJ9XSxbInBhdGgiLHtkOiJtMTIgNSA3IDctNyA3In1dXX0pO3ZhciBqeCxNdmU9ZigoKT0+e2p4PVtbInBhdGgiLHtkOiJtMyA4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTcgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMTcgMTBWNGgtMiJ9XSxbInBhdGgiLHtkOiJNMTUgMTBoNCJ9XSxbInJlY3QiLHt4OiIxNSIseToiMTQiLHdpZHRoOiI0IixoZWlnaHQ6IjYiLHJ5OiIyIn1dXX0pO3ZhciBVeCxrdmU9ZigoKT0+e1V4PVtbInBhdGgiLHtkOiJtMyA4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTcgNHYxNiJ9XSxbInJlY3QiLHt4OiIxNSIseToiNCIsd2lkdGg6IjQiLGhlaWdodDoiNiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTE3IDIwdi02aC0yIn1dLFsicGF0aCIse2Q6Ik0xNSAyMGg0In1dXX0pO3ZhciBTZCxTdmU9ZigoKT0+e1NkPVtbInBhdGgiLHtkOiJtMyA4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTcgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMjAgOGgtNSJ9XSxbInBhdGgiLHtkOiJNMTUgMTBWNi41YTIuNSAyLjUgMCAwIDEgNSAwVjEwIn1dLFsicGF0aCIse2Q6Ik0xNSAxNGg1bC01IDZoNSJ9XV19KTt2YXIgV3gsenZlPWYoKCk9PntXeD1bWyJwYXRoIix7ZDoibTIxIDE2LTQgNC00LTQifV0sWyJwYXRoIix7ZDoiTTE3IDIwVjQifV0sWyJwYXRoIix7ZDoibTMgOCA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik03IDR2MTYifV1dfSk7dmFyIEd4LEN2ZT1mKCgpPT57R3g9W1sicGF0aCIse2Q6Im01IDkgNy03IDcgNyJ9XSxbInBhdGgiLHtkOiJNMTIgMTZWMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjIxIixyOiIxIn1dXX0pO3ZhciBZeCxfdmU9ZigoKT0+e1l4PVtbInBhdGgiLHtkOiJtMTggOS02LTYtNiA2In1dLFsicGF0aCIse2Q6Ik0xMiAzdjE0In1dLFsicGF0aCIse2Q6Ik01IDIxaDE0In1dXX0pO3ZhciBLeCxUdmU9ZigoKT0+e0t4PVtbInBhdGgiLHtkOiJNNyAxN1Y3aDEwIn1dLFsicGF0aCIse2Q6Ik0xNyAxNyA3IDcifV1dfSk7dmFyIHpkLEx2ZT1mKCgpPT57emQ9W1sicGF0aCIse2Q6Im0zIDggNC00IDQgNCJ9XSxbInBhdGgiLHtkOiJNNyA0djE2In1dLFsicGF0aCIse2Q6Ik0xMSAxMmg0In1dLFsicGF0aCIse2Q6Ik0xMSAxNmg3In1dLFsicGF0aCIse2Q6Ik0xMSAyMGgxMCJ9XV19KTt2YXIgWngsJHZlPWYoKCk9PntaeD1bWyJwYXRoIix7ZDoiTTcgN2gxMHYxMCJ9XSxbInBhdGgiLHtkOiJNNyAxNyAxNyA3In1dXX0pO3ZhciBYeCxEdmU9ZigoKT0+e1h4PVtbInBhdGgiLHtkOiJtMyA4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTcgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMTEgMTJoMTAifV0sWyJwYXRoIix7ZDoiTTExIDE2aDcifV0sWyJwYXRoIix7ZDoiTTExIDIwaDQifV1dfSk7dmFyIFF4LEF2ZT1mKCgpPT57UXg9W1sicGF0aCIse2Q6Ik01IDNoMTQifV0sWyJwYXRoIix7ZDoibTE4IDEzLTYtNi02IDYifV0sWyJwYXRoIix7ZDoiTTEyIDd2MTQifV1dfSk7dmFyIEp4LEV2ZT1mKCgpPT57Sng9W1sicGF0aCIse2Q6Im01IDEyIDctNyA3IDcifV0sWyJwYXRoIix7ZDoiTTEyIDE5VjUifV1dfSk7dmFyIENkLFB2ZT1mKCgpPT57Q2Q9W1sicGF0aCIse2Q6Im0zIDggNC00IDQgNCJ9XSxbInBhdGgiLHtkOiJNNyA0djE2In1dLFsicGF0aCIse2Q6Ik0xNSA0aDVsLTUgNmg1In1dLFsicGF0aCIse2Q6Ik0xNSAyMHYtMy41YTIuNSAyLjUgMCAwIDEgNSAwVjIwIn1dLFsicGF0aCIse2Q6Ik0yMCAxOGgtNSJ9XV19KTt2YXIgZXksSXZlPWYoKCk9PntleT1bWyJwYXRoIix7ZDoiTTEyIDZ2MTIifV0sWyJwYXRoIix7ZDoiTTE3LjE5NiA5IDYuODA0IDE1In1dLFsicGF0aCIse2Q6Im02LjgwNCA5IDEwLjM5MiA2In1dXX0pO3ZhciB0eSxOdmU9ZigoKT0+e3R5PVtbInBhdGgiLHtkOiJtNCA2IDMtMyAzIDMifV0sWyJwYXRoIix7ZDoiTTcgMTdWMyJ9XSxbInBhdGgiLHtkOiJtMTQgNiAzLTMgMyAzIn1dLFsicGF0aCIse2Q6Ik0xNyAxN1YzIn1dLFsicGF0aCIse2Q6Ik00IDIxaDE2In1dXX0pO3ZhciBheSxSdmU9ZigoKT0+e2F5PVtbInBhdGgiLHtkOiJNMTIuOTgzIDIxLjE4NmExIDEgMCAwIDEtMS45NjYgMCAxMCAxMCAwIDAgMC04LjIwMy04LjIwMyAxIDEgMCAwIDEgMC0xLjk2NiAxMCAxMCAwIDAgMCA4LjIwMy04LjIwMyAxIDEgMCAwIDEgMS45NjYgMCAxMCAxMCAwIDAgMCA4LjIwMyA4LjIwMyAxIDEgMCAwIDEgMCAxLjk2NiAxMCAxMCAwIDAgMC04LjIwMyA4LjIwMyJ9XV19KTt2YXIgcnksT3ZlPWYoKCk9PntyeT1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTYgOHY1YTMgMyAwIDAgMCA2IDB2LTFhMTAgMTAgMCAxIDAtNCA4In1dXX0pO3ZhciBzeSxGdmU9ZigoKT0+e3N5PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dLFsicGF0aCIse2Q6Ik0yMC4yIDIwLjJjMi4wNC0yLjAzLjAyLTcuMzYtNC41LTExLjktNC41NC00LjUyLTkuODctNi41NC0xMS45LTQuNS0yLjA0IDIuMDMtLjAyIDcuMzYgNC41IDExLjkgNC41NCA0LjUyIDkuODcgNi41NCAxMS45IDQuNVoifV0sWyJwYXRoIix7ZDoiTTE1LjcgMTUuN2M0LjUyLTQuNTQgNi41NC05Ljg3IDQuNS0xMS45LTIuMDMtMi4wNC03LjM2LS4wMi0xMS45IDQuNS00LjUyIDQuNTQtNi41NCA5Ljg3LTQuNSAxMS45IDIuMDMgMi4wNCA3LjM2LjAyIDExLjktNC41WiJ9XV19KTt2YXIgaXksQnZlPWYoKCk9PntpeT1bWyJwYXRoIix7ZDoiTTIgMTB2MyJ9XSxbInBhdGgiLHtkOiJNNiA2djExIn1dLFsicGF0aCIse2Q6Ik0xMCAzdjE4In1dLFsicGF0aCIse2Q6Ik0xNCA4djcifV0sWyJwYXRoIix7ZDoiTTE4IDV2MTMifV0sWyJwYXRoIix7ZDoiTTIyIDEwdjMifV1dfSk7dmFyIG95LEh2ZT1mKCgpPT57b3k9W1sicGF0aCIse2Q6Ik0yIDEzYTIgMiAwIDAgMCAyLTJWN2EyIDIgMCAwIDEgNCAwdjEzYTIgMiAwIDAgMCA0IDBWNGEyIDIgMCAwIDEgNCAwdjEzYTIgMiAwIDAgMCA0IDB2LTRhMiAyIDAgMCAxIDItMiJ9XV19KTt2YXIgbnkscXZlPWYoKCk9PntueT1bWyJwYXRoIix7ZDoibTE1LjQ3NyAxMi44OSAxLjUxNSA4LjUyNmEuNS41IDAgMCAxLS44MS40N2wtMy41OC0yLjY4N2ExIDEgMCAwIDAtMS4xOTcgMGwtMy41ODYgMi42ODZhLjUuNSAwIDAgMS0uODEtLjQ2OWwxLjUxNC04LjUyNiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjgiLHI6IjYifV1dfSk7dmFyIGx5LFZ2ZT1mKCgpPT57bHk9W1sicGF0aCIse2Q6Im0xNCAxMi04LjM4MSA4LjM4YTEgMSAwIDAgMS0zLjAwMS0zTDExIDkifV0sWyJwYXRoIix7ZDoiTTE1IDE1LjVhLjUuNSAwIDAgMCAuNS41QTYuNSA2LjUgMCAwIDAgMjIgOS41YS41LjUgMCAwIDAtLjUtLjVoLTEuNjcyYTIgMiAwIDAgMS0xLjQxNC0uNTg2bC01LjA2Mi01LjA2MmExLjIwNSAxLjIwNSAwIDAgMC0xLjcwNCAwTDkuMzUyIDUuNjQ4YTEuMjA1IDEuMjA1IDAgMCAwIDAgMS43MDRsNS4wNjIgNS4wNjJBMiAyIDAgMCAxIDE1IDEzLjgyOHoifV1dfSk7dmFyIGN5LGp2ZT1mKCgpPT57Y3k9W1sicGF0aCIse2Q6Ik0xMCAxNmMuNS4zIDEuMi41IDIgLjVzMS41LS4yIDItLjUifV0sWyJwYXRoIix7ZDoiTTE1IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTkuMzggNi44MTNBOSA5IDAgMCAxIDIwLjggMTAuMmEyIDIgMCAwIDEgMCAzLjYgOSA5IDAgMCAxLTE3LjYgMCAyIDIgMCAwIDEgMC0zLjZBOSA5IDAgMCAxIDEyIDNjMiAwIDMuNSAxLjEgMy41IDIuNXMtLjkgMi41LTIgMi41Yy0uOCAwLTEuNS0uNC0xLjUtMSJ9XSxbInBhdGgiLHtkOiJNOSAxMmguMDEifV1dfSk7dmFyIF9kLFV2ZT1mKCgpPT57X2Q9W1sicGF0aCIse2Q6Ik0xMy41IDEwLjUgMTUgOSJ9XSxbInBhdGgiLHtkOiJNNCA0djE1YTEgMSAwIDAgMCAxIDFoMTUifV0sWyJwYXRoIix7ZDoiTTQuMjkzIDE5LjcwNyA2IDE4In1dLFsicGF0aCIse2Q6Im05IDE1IDEuNS0xLjUifV1dfSk7dmFyIGR5LFd2ZT1mKCgpPT57ZHk9W1sicGF0aCIse2Q6Ik00IDEwYTQgNCAwIDAgMSA0LTRoOGE0IDQgMCAwIDEgNCA0djEwYTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yeiJ9XSxbInBhdGgiLHtkOiJNOCAxMGg4In1dLFsicGF0aCIse2Q6Ik04IDE4aDgifV0sWyJwYXRoIix7ZDoiTTggMjJ2LTZhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2NiJ9XSxbInBhdGgiLHtkOiJNOSA2VjRhMiAyIDAgMCAxIDItMmgyYTIgMiAwIDAgMSAyIDJ2MiJ9XV19KTt2YXIgdXksR3ZlPWYoKCk9Pnt1eT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiOCIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyLjAxIix5MToiMTYiLHkyOiIxNiJ9XV19KTt2YXIgcHksWXZlPWYoKCk9PntweT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Ik0xMiA3djEwIn1dLFsicGF0aCIse2Q6Ik0xNS40IDEwYTQgNCAwIDEgMCAwIDQifV1dfSk7dmFyIFRkLEt2ZT1mKCgpPT57VGQ9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbInBhdGgiLHtkOiJtOSAxMiAyIDIgNC00In1dXX0pO3ZhciBmeSxadmU9ZigoKT0+e2Z5PVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJwYXRoIix7ZDoiTTE2IDhoLTZhMiAyIDAgMSAwIDAgNGg0YTIgMiAwIDEgMSAwIDRIOCJ9XSxbInBhdGgiLHtkOiJNMTIgMThWNiJ9XV19KTt2YXIgaHksWHZlPWYoKCk9PntoeT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Ik03IDEyaDUifV0sWyJwYXRoIix7ZDoiTTE1IDkuNGE0IDQgMCAxIDAgMCA1LjIifV1dfSk7dmFyIG15LFF2ZT1mKCgpPT57bXk9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbInBhdGgiLHtkOiJNOCA4aDgifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XSxbInBhdGgiLHtkOiJtMTMgMTctNS0xaDFhNCA0IDAgMCAwIDAtOCJ9XV19KTt2YXIgZ3ksSnZlPWYoKCk9PntneT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMTYiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMi4wMSIseTE6IjgiLHkyOiI4In1dXX0pO3ZhciBieSxleGU9ZigoKT0+e2J5PVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJwYXRoIix7ZDoibTkgOCAzIDN2NyJ9XSxbInBhdGgiLHtkOiJtMTIgMTEgMy0zIn1dLFsicGF0aCIse2Q6Ik05IDEyaDYifV0sWyJwYXRoIix7ZDoiTTkgMTZoNiJ9XV19KTt2YXIgdnksdHhlPWYoKCk9Pnt2eT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsibGluZSIse3gxOiI4Iix4MjoiMTYiLHkxOiIxMiIseTI6IjEyIn1dXX0pO3ZhciB4eSxheGU9ZigoKT0+e3h5PVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJwYXRoIix7ZDoibTE1IDktNiA2In1dLFsicGF0aCIse2Q6Ik05IDloLjAxIn1dLFsicGF0aCIse2Q6Ik0xNSAxNWguMDEifV1dfSk7dmFyIHl5LHJ4ZT1mKCgpPT57eXk9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjgiLHkyOiIxNiJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE2Iix5MToiMTIiLHkyOiIxMiJ9XV19KTt2YXIgd3ksc3hlPWYoKCk9Pnt3eT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Ik04IDEyaDQifV0sWyJwYXRoIix7ZDoiTTEwIDE2VjkuNWEyLjUgMi41IDAgMCAxIDUgMCJ9XSxbInBhdGgiLHtkOiJNOCAxNmg3In1dXX0pO3ZhciBMZCxpeGU9ZigoKT0+e0xkPVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJwYXRoIix7ZDoiTTkuMDkgOWEzIDMgMCAwIDEgNS44MyAxYzAgMi0zIDMtMyAzIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyLjAxIix5MToiMTciLHkyOiIxNyJ9XV19KTt2YXIgTXksb3hlPWYoKCk9PntNeT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Ik0xMSAxN1Y4aDQifV0sWyJwYXRoIix7ZDoiTTExIDEyaDMifV0sWyJwYXRoIix7ZDoiTTkgMTZoNCJ9XV19KTt2YXIga3ksbnhlPWYoKCk9PntreT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Ik05IDE2aDUifV0sWyJwYXRoIix7ZDoiTTkgMTJoNWEyIDIgMCAxIDAgMC00aC0zdjkifV1dfSk7dmFyIFN5LGx4ZT1mKCgpPT57U3k9W1sicGF0aCIse2Q6Ik0xMSA3djEwYTUgNSAwIDAgMCA1LTUifV0sWyJwYXRoIix7ZDoibTE1IDgtNiAzIn1dLFsicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2In1dXX0pO3ZhciB6eSxjeGU9ZigoKT0+e3p5PVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiOSIseTE6IjkiLHkyOiIxNSJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjE1Iix5MToiOSIseTI6IjE1In1dXX0pO3ZhciBDeSxkeGU9ZigoKT0+e0N5PVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV1dfSk7dmFyIF95LHV4ZT1mKCgpPT57X3k9W1sicGF0aCIse2Q6Ik0yMiAxOEg2YTIgMiAwIDAgMS0yLTJWN2EyIDIgMCAwIDAtMi0yIn1dLFsicGF0aCIse2Q6Ik0xNyAxNFY0YTIgMiAwIDAgMC0yLTJoLTFhMiAyIDAgMCAwLTIgMnYxMCJ9XSxbInJlY3QiLHt3aWR0aDoiMTMiLGhlaWdodDoiOCIseDoiOCIseToiNiIscng6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIyMCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiMjAiLHI6IjIifV1dfSk7dmFyIFR5LHB4ZT1mKCgpPT57VHk9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik00LjkyOSA0LjkyOSAxOS4wNyAxOS4wNzEifV1dfSk7dmFyIEx5LGZ4ZT1mKCgpPT57THk9W1sicGF0aCIse2Q6Ik0xMiAxNnYxYTIgMiAwIDAgMCAyIDJoMWEyIDIgMCAwIDEgMiAydjEifV0sWyJwYXRoIix7ZDoiTTEyIDZhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMTggOGMwIDQtMy41IDgtNiA4cy02LTQtNi04YTYgNiAwIDAgMSAxMiAwIn1dXX0pO3ZhciAkeSxoeGU9ZigoKT0+eyR5PVtbInBhdGgiLHtkOiJNNCAxM2MzLjUtMiA4LTIgMTAgMmE1LjUgNS41IDAgMCAxIDggNSJ9XSxbInBhdGgiLHtkOiJNNS4xNSAxNy44OWM1LjUyLTEuNTIgOC42NS02Ljg5IDctMTJDMTEuNTUgNCAxMS41IDIgMTMgMmMzLjIyIDAgNSA1LjUgNSA4IDAgNi41LTQuMiAxMi0xMC40OSAxMkM1LjExIDIyIDIgMjIgMiAyMGMwLTEuNSAxLjE0LTEuNTUgMy4xNS0yLjExWiJ9XV19KTt2YXIgRHksbXhlPWYoKCk9PntEeT1bWyJwYXRoIix7ZDoiTTEwIDEwLjAxaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgMTQuMDFoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCAxMC4wMWguMDEifV0sWyJwYXRoIix7ZDoiTTE0IDE0LjAxaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggNnYxMiJ9XSxbInBhdGgiLHtkOiJNNiA2djEyIn1dLFsicmVjdCIse3g6IjIiLHk6IjYiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxMiIscng6IjIifV1dfSk7dmFyIEF5LGd4ZT1mKCgpPT57QXk9W1sicGF0aCIse2Q6Ik0xMiAxOEg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2NSJ9XSxbInBhdGgiLHtkOiJNMTggMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xOSAyMnYtNiJ9XSxbInBhdGgiLHtkOiJtMjIgMTktMy0zLTMgMyJ9XSxbInBhdGgiLHtkOiJNNiAxMmguMDEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XV19KTt2YXIgRXksYnhlPWYoKCk9PntFeT1bWyJwYXRoIix7ZDoiTTEyIDE4SDRhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnY1In1dLFsicGF0aCIse2Q6Im0xNiAxOSAzIDMgMy0zIn1dLFsicGF0aCIse2Q6Ik0xOCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE5IDE2djYifV0sWyJwYXRoIix7ZDoiTTYgMTJoLjAxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV1dfSk7dmFyIFB5LHZ4ZT1mKCgpPT57UHk9W1sicGF0aCIse2Q6Ik0xMyAxOEg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2NSJ9XSxbInBhdGgiLHtkOiJtMTcgMTcgNSA1In1dLFsicGF0aCIse2Q6Ik0xOCAxMmguMDEifV0sWyJwYXRoIix7ZDoibTIyIDE3LTUgNSJ9XSxbInBhdGgiLHtkOiJNNiAxMmguMDEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XV19KTt2YXIgSXkseHhlPWYoKCk9PntJeT1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjEyIix4OiIyIix5OiI2IixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyIn1dLFsicGF0aCIse2Q6Ik02IDEyaC4wMU0xOCAxMmguMDEifV1dfSk7dmFyIE55LHl4ZT1mKCgpPT57Tnk9W1sicGF0aCIse2Q6Ik0zIDV2MTQifV0sWyJwYXRoIix7ZDoiTTggNXYxNCJ9XSxbInBhdGgiLHtkOiJNMTIgNXYxNCJ9XSxbInBhdGgiLHtkOiJNMTcgNXYxNCJ9XSxbInBhdGgiLHtkOiJNMjEgNXYxNCJ9XV19KTt2YXIgUnksd3hlPWYoKCk9PntSeT1bWyJwYXRoIix7ZDoiTTEwIDNhNDEgNDEgMCAwIDAgMCAxOCJ9XSxbInBhdGgiLHtkOiJNMTQgM2E0MSA0MSAwIDAgMSAwIDE4In1dLFsicGF0aCIse2Q6Ik0xNyAzYTIgMiAwIDAgMSAxLjY4LjkyIDE1LjI1IDE1LjI1IDAgMCAxIDAgMTYuMTZBMiAyIDAgMCAxIDE3IDIxSDdhMiAyIDAgMCAxLTEuNjgtLjkyIDE1LjI1IDE1LjI1IDAgMCAxIDAtMTYuMTZBMiAyIDAgMCAxIDcgM3oifV0sWyJwYXRoIix7ZDoiTTMuODQgMTdoMTYuMzIifV0sWyJwYXRoIix7ZDoiTTMuODQgN2gxNi4zMiJ9XV19KTt2YXIgT3ksTXhlPWYoKCk9PntPeT1bWyJwYXRoIix7ZDoiTTQgMjBoMTYifV0sWyJwYXRoIix7ZDoibTYgMTYgNi0xMiA2IDEyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV1dfSk7dmFyIEZ5LGt4ZT1mKCgpPT57Rnk9W1sicGF0aCIse2Q6Ik0xMCA0IDggNiJ9XSxbInBhdGgiLHtkOiJNMTcgMTl2MiJ9XSxbInBhdGgiLHtkOiJNMiAxMmgyMCJ9XSxbInBhdGgiLHtkOiJNNyAxOXYyIn1dLFsicGF0aCIse2Q6Ik05IDUgNy42MjEgMy42MjFBMi4xMjEgMi4xMjEgMCAwIDAgNCA1djEyYTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtNSJ9XV19KTt2YXIgQnksU3hlPWYoKCk9PntCeT1bWyJwYXRoIix7ZDoibTExIDctMyA1aDRsLTMgNSJ9XSxbInBhdGgiLHtkOiJNMTQuODU2IDZIMTZhMiAyIDAgMCAxIDIgMnY4YTIgMiAwIDAgMS0yIDJoLTIuOTM1In1dLFsicGF0aCIse2Q6Ik0yMiAxNHYtNCJ9XSxbInBhdGgiLHtkOiJNNS4xNCAxOEg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDIuOTM2In1dXX0pO3ZhciBIeSx6eGU9ZigoKT0+e0h5PVtbInBhdGgiLHtkOiJNMTAgMTB2NCJ9XSxbInBhdGgiLHtkOiJNMTQgMTB2NCJ9XSxbInBhdGgiLHtkOiJNMjIgMTR2LTQifV0sWyJwYXRoIix7ZDoiTTYgMTB2NCJ9XSxbInJlY3QiLHt4OiIyIix5OiI2Iix3aWR0aDoiMTYiLGhlaWdodDoiMTIiLHJ4OiIyIn1dXX0pO3ZhciBxeSxDeGU9ZigoKT0+e3F5PVtbInBhdGgiLHtkOiJNMjIgMTR2LTQifV0sWyJwYXRoIix7ZDoiTTYgMTR2LTQifV0sWyJyZWN0Iix7eDoiMiIseToiNiIsd2lkdGg6IjE2IixoZWlnaHQ6IjEyIixyeDoiMiJ9XV19KTt2YXIgVnksX3hlPWYoKCk9PntWeT1bWyJwYXRoIix7ZDoiTTEwIDE0di00In1dLFsicGF0aCIse2Q6Ik0yMiAxNHYtNCJ9XSxbInBhdGgiLHtkOiJNNiAxNHYtNCJ9XSxbInJlY3QiLHt4OiIyIix5OiI2Iix3aWR0aDoiMTYiLGhlaWdodDoiMTIiLHJ4OiIyIn1dXX0pO3ZhciBqeSxUeGU9ZigoKT0+e2p5PVtbInBhdGgiLHtkOiJNMTAgOXY2In1dLFsicGF0aCIse2Q6Ik0xMi41NDMgNkgxNmEyIDIgMCAwIDEgMiAydjhhMiAyIDAgMCAxLTIgMmgtMy42MDUifV0sWyJwYXRoIix7ZDoiTTIyIDE0di00In1dLFsicGF0aCIse2Q6Ik03IDEyaDYifV0sWyJwYXRoIix7ZDoiTTcuNjA2IDE4SDRhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoMy42MDYifV1dfSk7dmFyIFV5LEx4ZT1mKCgpPT57VXk9W1sicGF0aCIse2Q6Ik0xMCAxN2guMDEifV0sWyJwYXRoIix7ZDoiTTEwIDd2NiJ9XSxbInBhdGgiLHtkOiJNMTQgNmgyYTIgMiAwIDAgMSAyIDJ2OGEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik0yMiAxNHYtNCJ9XSxbInBhdGgiLHtkOiJNNiAxOEg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDIifV1dfSk7dmFyIFd5LCR4ZT1mKCgpPT57V3k9W1sicGF0aCIse2Q6Ik0gMjIgMTQgTCAyMiAxMCJ9XSxbInJlY3QiLHt4OiIyIix5OiI2Iix3aWR0aDoiMTYiLGhlaWdodDoiMTIiLHJ4OiIyIn1dXX0pO3ZhciBHeSxEeGU9ZigoKT0+e0d5PVtbInBhdGgiLHtkOiJNOSA5Yy0uNjQuNjQtMS41MjEuOTU0LTIuNDAyIDEuMTY1QTYgNiAwIDAgMCA4IDIyYTEzLjk2IDEzLjk2IDAgMCAwIDkuOS00LjEifV0sWyJwYXRoIix7ZDoiTTEwLjc1IDUuMDkzQTYgNiAwIDAgMSAyMiA4YzAgMi40MTEtLjYxIDQuNjgtMS42ODMgNi42NiJ9XSxbInBhdGgiLHtkOiJNNS4zNDEgMTAuNjJhNCA0IDAgMCAwIDYuNDg3IDEuMjA4TTEwLjYyIDUuMzQxYTQuMDE1IDQuMDE1IDAgMCAxIDIuMDM5IDIuMDQifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XV19KTt2YXIgWXksQXhlPWYoKCk9PntZeT1bWyJwYXRoIix7ZDoiTTQuNSAzaDE1In1dLFsicGF0aCIse2Q6Ik02IDN2MTZhMiAyIDAgMCAwIDIgMmg4YTIgMiAwIDAgMCAyLTJWMyJ9XSxbInBhdGgiLHtkOiJNNiAxNGgxMiJ9XV19KTt2YXIgS3ksRXhlPWYoKCk9PntLeT1bWyJwYXRoIix7ZDoiTTIgMjB2LThhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjgifV0sWyJwYXRoIix7ZDoiTTQgMTBWNmEyIDIgMCAwIDEgMi0yaDEyYTIgMiAwIDAgMSAyIDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTIgNHY2In1dLFsicGF0aCIse2Q6Ik0yIDE4aDIwIn1dXX0pO3ZhciBaeSxQeGU9ZigoKT0+e1p5PVtbInBhdGgiLHtkOiJNMTAuMTY1IDYuNTk4QzkuOTU0IDcuNDc4IDkuNjQgOC4zNiA5IDljLS42NC42NC0xLjUyMS45NTQtMi40MDIgMS4xNjVBNiA2IDAgMCAwIDggMjJjNy43MzIgMCAxNC02LjI2OCAxNC0xNGE2IDYgMCAwIDAtMTEuODM1LTEuNDAyWiJ9XSxbInBhdGgiLHtkOiJNNS4zNDEgMTAuNjJhNCA0IDAgMSAwIDUuMjc5LTUuMjgifV1dfSk7dmFyIFh5LEl4ZT1mKCgpPT57WHk9W1sicGF0aCIse2Q6Ik0zIDIwdi04YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnY4In1dLFsicGF0aCIse2Q6Ik01IDEwVjZhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAydjQifV0sWyJwYXRoIix7ZDoiTTMgMThoMTgifV1dfSk7dmFyIFF5LE54ZT1mKCgpPT57UXk9W1sicGF0aCIse2Q6Ik0xMS43NzEgNi4xMDlhMi41IDIuNSAwIDAgMSAzLjEyIDMuMTIifV0sWyJwYXRoIix7ZDoiTTE3Ljg1MiAxMi4xODVhNi41IDYuNSAwIDAgMC05LjAzNS05LjA0In1dLFsicGF0aCIse2Q6Ik0xOC4wMTMgMTguMDEzQzE1LjAyOSAyMC4zNDkgMTAuODMxIDIyIDcgMjJhMyAzIDAgMCAxLTIuNjgtMS42NkwyLjQgMTYuNSJ9XSxbInBhdGgiLHtkOiJtMTguNSA2IDIuMTkgNC41YTYuNDggNi40OCAwIDAgMS0uMTM5IDQuMzkzIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTYuMzU1IDYuMzdhNyA3IDAgMCAwLS4wNzUuMjNjLTEuMSAzLjEzLS43OCAzLjktMy4xOCA2LjA4QTMgMyAwIDAgMCA1IDE4YzMuMzU2IDAgNi45OTMtMS4yNjcgOS44NS0zLjE1MSJ9XV19KTt2YXIgSnksUnhlPWYoKCk9PntKeT1bWyJwYXRoIix7ZDoiTTIgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMiA4aDE4YTIgMiAwIDAgMSAyIDJ2MTAifV0sWyJwYXRoIix7ZDoiTTIgMTdoMjAifV0sWyJwYXRoIix7ZDoiTTYgOHY5In1dXX0pO3ZhciBldyxPeGU9ZigoKT0+e2V3PVtbInBhdGgiLHtkOiJNMTYuNCAxMy43QTYuNSA2LjUgMCAxIDAgNi4yOCA2LjZjLTEuMSAzLjEzLS43OCAzLjktMy4xOCA2LjA4QTMgMyAwIDAgMCA1IDE4YzQgMCA4LjQtMS44IDExLjQtNC4zIn1dLFsicGF0aCIse2Q6Im0xOC41IDYgMi4xOSA0LjVhNi40OCA2LjQ4IDAgMCAxLTIuMjkgNy4yQzE1LjQgMjAuMiAxMSAyMiA3IDIyYTMgMyAwIDAgMS0yLjY4LTEuNjZMMi40IDE2LjUifV0sWyJjaXJjbGUiLHtjeDoiMTIuNSIsY3k6IjguNSIscjoiMi41In1dXX0pO3ZhciB0dyxGeGU9ZigoKT0+e3R3PVtbInBhdGgiLHtkOiJNMTMgMTN2NSJ9XSxbInBhdGgiLHtkOiJNMTcgMTEuNDdWOCJ9XSxbInBhdGgiLHtkOiJNMTcgMTFoMWEzIDMgMCAwIDEgMi43NDUgNC4yMTEifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNSA4djEyYTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMi0ydi0zIn1dLFsicGF0aCIse2Q6Ik03LjUzNiA3LjUzNUM2Ljc2NiA3LjY0OSA2LjE1NCA4IDUuNSA4YTIuNSAyLjUgMCAwIDEtMS43NjgtNC4yNjgifV0sWyJwYXRoIix7ZDoiTTguNzI3IDMuMjA0QzkuMzA2IDIuNzY3IDkuODg1IDIgMTEgMmMxLjU2IDAgMiAxLjUgMyAxLjVzMS43Mi0uNSAyLjUtLjVhMSAxIDAgMSAxIDAgNWMtLjc4IDAtMS41LS41LTIuNS0uNWEzLjE0OSAzLjE0OSAwIDAgMC0uODQyLjEyIn1dLFsicGF0aCIse2Q6Ik05IDE0LjZWMTgifV1dfSk7dmFyIGF3LEJ4ZT1mKCgpPT57YXc9W1sicGF0aCIse2Q6Ik0xNyAxMWgxYTMgMyAwIDAgMSAwIDZoLTEifV0sWyJwYXRoIix7ZDoiTTkgMTJ2NiJ9XSxbInBhdGgiLHtkOiJNMTMgMTJ2NiJ9XSxbInBhdGgiLHtkOiJNMTQgNy41Yy0xIDAtMS40NC41LTMgLjVzLTItLjUtMy0uNS0xLjcyLjUtMi41LjVhMi41IDIuNSAwIDAgMSAwLTVjLjc4IDAgMS41Ny41IDIuNS41UzkuNDQgMiAxMSAyczIgMS41IDMgMS41IDEuNzItLjUgMi41LS41YTIuNSAyLjUgMCAwIDEgMCA1Yy0uNzggMC0xLjUtLjUtMi41LS41WiJ9XSxbInBhdGgiLHtkOiJNNSA4djEyYTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMi0yVjgifV1dfSk7dmFyIHJ3LEh4ZT1mKCgpPT57cnc9W1sicGF0aCIse2Q6Ik0xMC4yNjggMjFhMiAyIDAgMCAwIDMuNDY0IDAifV0sWyJwYXRoIix7ZDoibTE1IDggMiAyIDQtNCJ9XSxbInBhdGgiLHtkOiJNMTYuODYwNyA0LjQ4MjRBNiA2IDAgMCAwIDYgOEM2IDEyLjQ5OSA0LjU4OSAxMy45NTYgMy4yNjIgMTUuMzI2In1dLFsicGF0aCIse2Q6Ik0zLjI2MiAxNS4zMjZBMSAxIDAgMCAwIDQgMTdIMjBBMSAxIDAgMCAwIDIwLjc0IDE1LjMyN0MyMC4yMDkgMTQuNzc5IDE5LjY2NSAxNC4yMTggMTkuMjAzIDEzLjQ1NCJ9XV19KTt2YXIgc3cscXhlPWYoKCk9Pntzdz1bWyJwYXRoIix7ZDoiTTEwLjI2OCAyMWEyIDIgMCAwIDAgMy40NjQgMCJ9XSxbInBhdGgiLHtkOiJNMTEuNjggMi4wMDlBNiA2IDAgMCAwIDYgOGMwIDQuNDk5LTEuNDExIDUuOTU2LTIuNzM4IDcuMzI2QTEgMSAwIDAgMCA0IDE3aDE2YTEgMSAwIDAgMCAuNzQtMS42NzNjLS44MjQtLjg1LTEuNjc4LTEuNzMxLTIuMjEtMy4zNDgifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiI1IixyOiIzIn1dXX0pO3ZhciBpdyxWeGU9ZigoKT0+e2l3PVtbInBhdGgiLHtkOiJNMTguNTE4IDE3LjM0N0E3IDcgMCAwIDEgMTQgMTkifV0sWyJwYXRoIix7ZDoiTTE4LjggNEExMSAxMSAwIDAgMSAyMCA5In1dLFsicGF0aCIse2Q6Ik05IDloLjAxIn1dLFsiY2lyY2xlIix7Y3g6IjIwIixjeToiMTYiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjkiLHI6IjcifV0sWyJyZWN0Iix7eDoiNCIseToiMTYiLHdpZHRoOiIxMCIsaGVpZ2h0OiI2IixyeDoiMiJ9XV19KTt2YXIgb3csanhlPWYoKCk9Pntvdz1bWyJwYXRoIix7ZDoiTTEwLjI2OCAyMWEyIDIgMCAwIDAgMy40NjQgMCJ9XSxbInBhdGgiLHtkOiJNMTcgMTdINGExIDEgMCAwIDEtLjc0LTEuNjczQzQuNTkgMTMuOTU2IDYgMTIuNDk5IDYgOGE2IDYgMCAwIDEgLjI1OC0xLjc0MiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik04LjY2OCAzLjAxQTYgNiAwIDAgMSAxOCA4YzAgMi42ODcuNzcgNC42NTMgMS43MDcgNi4wNSJ9XV19KTt2YXIgbncsVXhlPWYoKCk9Pntudz1bWyJwYXRoIix7ZDoiTTEwLjI2OCAyMWEyIDIgMCAwIDAgMy40NjQgMCJ9XSxbInBhdGgiLHtkOiJNMTUgOGg2In1dLFsicGF0aCIse2Q6Ik0xNi4yNDMgMy43NTdBNiA2IDAgMCAwIDYgOGMwIDQuNDk5LTEuNDExIDUuOTU2LTIuNzM4IDcuMzI2QTEgMSAwIDAgMCA0IDE3aDE2YTEgMSAwIDAgMCAuNzQtMS42NzNBOS40IDkuNCAwIDAgMSAxOC42NjcgMTIifV1dfSk7dmFyIGx3LFd4ZT1mKCgpPT57bHc9W1sicGF0aCIse2Q6Ik0xMC4yNjggMjFhMiAyIDAgMCAwIDMuNDY0IDAifV0sWyJwYXRoIix7ZDoiTTE1IDhoNiJ9XSxbInBhdGgiLHtkOiJNMTggNXY2In1dLFsicGF0aCIse2Q6Ik0yMC4wMDIgMTQuNDY0YTkgOSAwIDAgMCAuNzM4Ljg2M0ExIDEgMCAwIDEgMjAgMTdINGExIDEgMCAwIDEtLjc0LTEuNjczQzQuNTkgMTMuOTU2IDYgMTIuNDk5IDYgOGE2IDYgMCAwIDEgOC43NS01LjMzMiJ9XV19KTt2YXIgY3csR3hlPWYoKCk9Pntjdz1bWyJwYXRoIix7ZDoiTTEwLjI2OCAyMWEyIDIgMCAwIDAgMy40NjQgMCJ9XSxbInBhdGgiLHtkOiJNMjIgOGMwLTIuMy0uOC00LjMtMi02In1dLFsicGF0aCIse2Q6Ik0zLjI2MiAxNS4zMjZBMSAxIDAgMCAwIDQgMTdoMTZhMSAxIDAgMCAwIC43NC0xLjY3M0MxOS40MSAxMy45NTYgMTggMTIuNDk5IDE4IDhBNiA2IDAgMCAwIDYgOGMwIDQuNDk5LTEuNDExIDUuOTU2LTIuNzM4IDcuMzI2In1dLFsicGF0aCIse2Q6Ik00IDJDMi44IDMuNyAyIDUuNyAyIDgifV1dfSk7dmFyIGR3LFl4ZT1mKCgpPT57ZHc9W1sicGF0aCIse2Q6Ik0xMC4yNjggMjFhMiAyIDAgMCAwIDMuNDY0IDAifV0sWyJwYXRoIix7ZDoiTTMuMjYyIDE1LjMyNkExIDEgMCAwIDAgNCAxN2gxNmExIDEgMCAwIDAgLjc0LTEuNjczQzE5LjQxIDEzLjk1NiAxOCAxMi40OTkgMTggOEE2IDYgMCAwIDAgNiA4YzAgNC40OTktMS40MTEgNS45NTYtMi43MzggNy4zMjYifV1dfSk7dmFyICRkLEt4ZT1mKCgpPT57JGQ9W1sicmVjdCIse3dpZHRoOiIxMyIsaGVpZ2h0OiI3Iix4OiIzIix5OiIzIixyeDoiMSJ9XSxbInBhdGgiLHtkOiJtMjIgMTUtMy0zIDMtMyJ9XSxbInJlY3QiLHt3aWR0aDoiMTMiLGhlaWdodDoiNyIseDoiMyIseToiMTQiLHJ4OiIxIn1dXX0pO3ZhciBEZCxaeGU9ZigoKT0+e0RkPVtbInJlY3QiLHt3aWR0aDoiMTMiLGhlaWdodDoiNyIseDoiOCIseToiMyIscng6IjEifV0sWyJwYXRoIix7ZDoibTIgOSAzIDMtMyAzIn1dLFsicmVjdCIse3dpZHRoOiIxMyIsaGVpZ2h0OiI3Iix4OiI4Iix5OiIxNCIscng6IjEifV1dfSk7dmFyIHV3LFh4ZT1mKCgpPT57dXc9W1sicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjEzIix4OiIzIix5OiIzIixyeDoiMSJ9XSxbInBhdGgiLHtkOiJtOSAyMiAzLTMgMyAzIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjEzIix4OiIxNCIseToiMyIscng6IjEifV1dfSk7dmFyIHB3LFF4ZT1mKCgpPT57cHc9W1sicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjEzIix4OiIzIix5OiI4IixyeDoiMSJ9XSxbInBhdGgiLHtkOiJtMTUgMi0zIDMtMy0zIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjEzIix4OiIxNCIseToiOCIscng6IjEifV1dfSk7dmFyIGZ3LEp4ZT1mKCgpPT57Znc9W1sicGF0aCIse2Q6Ik0xMi40MDkgMTMuMDE3QTUgNSAwIDAgMSAyMiAxNWMwIDMuODY2LTQgNy05IDctNC4wNzcgMC04LjE1My0uODItMTAuMzcxLTIuNDYyLS40MjYtLjMxNi0uNjMxLS44MzItLjYyLTEuMzYyQzIuMTE4IDEyLjcyMyAyLjYyNyAyIDEwIDJhMyAzIDAgMCAxIDMgMyAyIDIgMCAwIDEtMiAyYy0xLjEwNSAwLTEuNjQtLjQ0NC0yLTEifV0sWyJwYXRoIix7ZDoiTTE1IDE0YTUgNSAwIDAgMC03LjU4NCAyIn1dLFsicGF0aCIse2Q6Ik05Ljk2NCA2LjgyNUM4LjAxOSA3Ljk3NyA5LjUgMTMgOCAxNSJ9XV19KTt2YXIgaHcsZXllPWYoKCk9Pntodz1bWyJjaXJjbGUiLHtjeDoiMTguNSIsY3k6IjE3LjUiLHI6IjMuNSJ9XSxbImNpcmNsZSIse2N4OiI1LjUiLGN5OiIxNy41IixyOiIzLjUifV0sWyJjaXJjbGUiLHtjeDoiMTUiLGN5OiI1IixyOiIxIn1dLFsicGF0aCIse2Q6Ik0xMiAxNy41VjE0bC0zLTMgNC0zIDIgM2gyIn1dXX0pO3ZhciBtdyx0eWU9ZigoKT0+e213PVtbInJlY3QiLHt4OiIxNCIseToiMTQiLHdpZHRoOiI0IixoZWlnaHQ6IjYiLHJ4OiIyIn1dLFsicmVjdCIse3g6IjYiLHk6IjQiLHdpZHRoOiI0IixoZWlnaHQ6IjYiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik02IDIwaDQifV0sWyJwYXRoIix7ZDoiTTE0IDEwaDQifV0sWyJwYXRoIix7ZDoiTTYgMTRoMnY2In1dLFsicGF0aCIse2Q6Ik0xNCA0aDJ2NiJ9XV19KTt2YXIgZ3csYXllPWYoKCk9Pntndz1bWyJwYXRoIix7ZDoiTTEwIDEwaDQifV0sWyJwYXRoIix7ZDoiTTE5IDdWNGExIDEgMCAwIDAtMS0xaC0yYTEgMSAwIDAgMC0xIDF2MyJ9XSxbInBhdGgiLHtkOiJNMjAgMjFhMiAyIDAgMCAwIDItMnYtMy44NTFjMC0xLjM5LTItMi45NjItMi00LjgyOVY4YTEgMSAwIDAgMC0xLTFoLTRhMSAxIDAgMCAwLTEgMXYxMWEyIDIgMCAwIDAgMiAyeiJ9XSxbInBhdGgiLHtkOiJNIDIyIDE2IEwgMiAxNiJ9XSxbInBhdGgiLHtkOiJNNCAyMWEyIDIgMCAwIDEtMi0ydi0zLjg1MWMwLTEuMzkgMi0yLjk2MiAyLTQuODI5VjhhMSAxIDAgMCAxIDEtMWg0YTEgMSAwIDAgMSAxIDF2MTFhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTkgN1Y0YTEgMSAwIDAgMC0xLTFINmExIDEgMCAwIDAtMSAxdjMifV1dfSk7dmFyIGJ3LHJ5ZT1mKCgpPT57Ync9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTEuOSIscjoiMiJ9XSxbInBhdGgiLHtkOiJNNi43IDMuNGMtLjkgMi41IDAgNS4yIDIuMiA2LjdDNi41IDkgMy43IDkuNiAyIDExLjYifV0sWyJwYXRoIix7ZDoibTguOSAxMC4xIDEuNC44In1dLFsicGF0aCIse2Q6Ik0xNy4zIDMuNGMuOSAyLjUgMCA1LjItMi4yIDYuNyAyLjQtMS4yIDUuMi0uNiA2LjkgMS41In1dLFsicGF0aCIse2Q6Im0xNS4xIDEwLjEtMS40LjgifV0sWyJwYXRoIix7ZDoiTTE2LjcgMjAuOGMtMi42LS40LTQuNi0yLjYtNC43LTUuMy0uMiAyLjYtMi4xIDQuOC00LjcgNS4yIn1dLFsicGF0aCIse2Q6Ik0xMiAxMy45djEuNiJ9XSxbInBhdGgiLHtkOiJNMTMuNSA1LjRjLTEtLjItMi0uMi0zIDAifV0sWyJwYXRoIix7ZDoiTTE3IDE2LjRjLjctLjcgMS4yLTEuNiAxLjUtMi41In1dLFsicGF0aCIse2Q6Ik01LjUgMTMuOWMuMy45LjggMS44IDEuNSAyLjUifV1dfSk7dmFyIHZ3LHN5ZT1mKCgpPT57dnc9W1sicGF0aCIse2Q6Ik0xNiA3aC4wMSJ9XSxbInBhdGgiLHtkOiJNMy40IDE4SDEyYTggOCAwIDAgMCA4LThWN2E0IDQgMCAwIDAtNy4yOC0yLjNMMiAyMCJ9XSxbInBhdGgiLHtkOiJtMjAgNyAyIC41LTIgLjUifV0sWyJwYXRoIix7ZDoiTTEwIDE4djMifV0sWyJwYXRoIix7ZDoiTTE0IDE3Ljc1VjIxIn1dLFsicGF0aCIse2Q6Ik03IDE4YTYgNiAwIDAgMCAzLjg0LTEwLjYxIn1dXX0pO3ZhciB4dyxpeWU9ZigoKT0+e3h3PVtbInBhdGgiLHtkOiJNMTIgMTh2NCJ9XSxbInBhdGgiLHtkOiJtMTcgMTggMS45NTYtMTEuNDY4In1dLFsicGF0aCIse2Q6Im0zIDggNy44Mi01LjYxNWEyIDIgMCAwIDEgMi4zNiAwTDIxIDgifV0sWyJwYXRoIix7ZDoiTTQgMThoMTYifV0sWyJwYXRoIix7ZDoiTTcgMTggNS4wNDQgNi41MzIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiMiJ9XV19KTt2YXIgeXcsb3llPWYoKCk9Pnt5dz1bWyJwYXRoIix7ZDoiTTExLjc2NyAxOS4wODljNC45MjQuODY4IDYuMTQtNi4wMjUgMS4yMTYtNi44OTRtLTEuMjE2IDYuODk0TDUuODYgMTguMDQ3bTUuOTA4IDEuMDQyLS4zNDcgMS45N20xLjU2My04Ljg2NGM0LjkyNC44NjkgNi4xNC02LjAyNSAxLjIxNS02Ljg5M20tMS4yMTUgNi44OTMtMy45NC0uNjk0bTUuMTU1LTYuMkw4LjI5IDQuMjZtNS45MDggMS4wNDIuMzQ4LTEuOTdNNy40OCAyMC4zNjRsMy4xMjYtMTcuNzI3In1dXX0pO3ZhciB3dyxueWU9ZigoKT0+e3d3PVtbImNpcmNsZSIse2N4OiI5IixjeToiOSIscjoiNyJ9XSxbImNpcmNsZSIse2N4OiIxNSIsY3k6IjE1IixyOiI3In1dXX0pO3ZhciBNdyxseWU9ZigoKT0+e013PVtbInBhdGgiLHtkOiJNMyAzaDE4In1dLFsicGF0aCIse2Q6Ik0yMCA3SDgifV0sWyJwYXRoIix7ZDoiTTIwIDExSDgifV0sWyJwYXRoIix7ZDoiTTEwIDE5aDEwIn1dLFsicGF0aCIse2Q6Ik04IDE1aDEyIn1dLFsicGF0aCIse2Q6Ik00IDN2MTQifV0sWyJjaXJjbGUiLHtjeDoiNCIsY3k6IjE5IixyOiIyIn1dXX0pO3ZhciBrdyxjeWU9ZigoKT0+e2t3PVtbInBhdGgiLHtkOiJNMTAgMjJWN2ExIDEgMCAwIDAtMS0xSDRhMiAyIDAgMCAwLTIgMnYxMmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LTVhMSAxIDAgMCAwLTEtMUgyIn1dLFsicmVjdCIse3g6IjE0Iix5OiIyIix3aWR0aDoiOCIsaGVpZ2h0OiI4IixyeDoiMSJ9XV19KTt2YXIgU3csZHllPWYoKCk9PntTdz1bWyJwYXRoIix7ZDoibTcgNyAxMCAxMC01IDVWMmw1IDVMNyAxNyJ9XSxbImxpbmUiLHt4MToiMTgiLHgyOiIyMSIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjMiLHgyOiI2Iix5MToiMTIiLHkyOiIxMiJ9XV19KTt2YXIgencsdXllPWYoKCk9Pnt6dz1bWyJwYXRoIix7ZDoibTE3IDE3LTUgNVYxMmwtNSA1In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTE0LjUgOS41IDE3IDdsLTUtNXY0LjUifV1dfSk7dmFyIEN3LHB5ZT1mKCgpPT57Q3c9W1sicGF0aCIse2Q6Im03IDcgMTAgMTAtNSA1VjJsNSA1TDcgMTcifV1dfSk7dmFyIF93LGZ5ZT1mKCgpPT57X3c9W1sicGF0aCIse2Q6Im03IDcgMTAgMTAtNSA1VjJsNSA1TDcgMTcifV0sWyJwYXRoIix7ZDoiTTIwLjgzIDE0LjgzYTQgNCAwIDAgMCAwLTUuNjYifV0sWyJwYXRoIix7ZDoiTTE4IDEyaC4wMSJ9XV19KTt2YXIgVHcsaHllPWYoKCk9PntUdz1bWyJwYXRoIix7ZDoiTTYgMTJoOWE0IDQgMCAwIDEgMCA4SDdhMSAxIDAgMCAxLTEtMVY1YTEgMSAwIDAgMSAxLTFoN2E0IDQgMCAwIDEgMCA4In1dXX0pO3ZhciBMdyxteWU9ZigoKT0+e0x3PVtbImNpcmNsZSIse2N4OiIxMSIsY3k6IjEzIixyOiI5In1dLFsicGF0aCIse2Q6Ik0xNC4zNSA0LjY1IDE2LjMgMi43YTIuNDEgMi40MSAwIDAgMSAzLjQgMGwxLjYgMS42YTIuNCAyLjQgMCAwIDEgMCAzLjRsLTEuOTUgMS45NSJ9XSxbInBhdGgiLHtkOiJtMjIgMi0xLjUgMS41In1dXX0pO3ZhciAkdyxneWU9ZigoKT0+eyR3PVtbInBhdGgiLHtkOiJNMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZ6In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjQifV1dfSk7dmFyIER3LGJ5ZT1mKCgpPT57RHc9W1sicGF0aCIse2Q6Ik0xNyAxMGMuNy0uNyAxLjY5IDAgMi41IDBhMi41IDIuNSAwIDEgMCAwLTUgLjUuNSAwIDAgMS0uNS0uNSAyLjUgMi41IDAgMSAwLTUgMGMwIC44MS43IDEuOCAwIDIuNWwtNyA3Yy0uNy43LTEuNjkgMC0yLjUgMGEyLjUgMi41IDAgMCAwIDAgNWMuMjggMCAuNS4yMi41LjVhMi41IDIuNSAwIDEgMCA1IDBjMC0uODEtLjctMS44IDAtMi41WiJ9XV19KTt2YXIgQXcsdnllPWYoKCk9PntBdz1bWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoibTggMTMgNC03IDQgNyJ9XSxbInBhdGgiLHtkOiJNOS4xIDExaDUuNyJ9XV19KTt2YXIgRXcseHllPWYoKCk9PntFdz1bWyJwYXRoIix7ZDoiTTEyIDEzaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgNnYzIn1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dXX0pO3ZhciBQdyx5eWU9ZigoKT0+e1B3PVtbInBhdGgiLHtkOiJNMTIgNnY3In1dLFsicGF0aCIse2Q6Ik0xNiA4djMifV0sWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoiTTggOHYzIn1dXX0pO3ZhciBJdyx3eWU9ZigoKT0+e0l3PVtbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJtOSA5LjUgMiAyIDQtNCJ9XV19KTt2YXIgTncsTXllPWYoKCk9PntOdz1bWyJwYXRoIix7ZDoiTTUgN2EyIDIgMCAwIDAtMiAydjExIn1dLFsicGF0aCIse2Q6Ik01LjgwMyAxOEg1YTIgMiAwIDAgMCAwIDRoOS41YS41LjUgMCAwIDAgLjUtLjVWMjEifV0sWyJwYXRoIix7ZDoiTTkgMTVWNGEyIDIgMCAwIDEgMi0yaDkuNWEuNS41IDAgMCAxIC41LjV2MTRhLjUuNSAwIDAgMS0uNS41SDExYTIgMiAwIDAgMSAwLTRoMTAifV1dfSk7dmFyIEFkLGt5ZT1mKCgpPT57QWQ9W1sicGF0aCIse2Q6Ik0xMiAxN2gxLjUifV0sWyJwYXRoIix7ZDoiTTEyIDIyaDEuNSJ9XSxbInBhdGgiLHtkOiJNMTIgMmgxLjUifV0sWyJwYXRoIix7ZDoiTTE3LjUgMjJIMTlhMSAxIDAgMCAwIDEtMSJ9XSxbInBhdGgiLHtkOiJNMTcuNSAySDE5YTEgMSAwIDAgMSAxIDF2MS41In1dLFsicGF0aCIse2Q6Ik0yMCAxNHYzaC0yLjUifV0sWyJwYXRoIix7ZDoiTTIwIDguNVYxMCJ9XSxbInBhdGgiLHtkOiJNNCAxMFY4LjUifV0sWyJwYXRoIix7ZDoiTTQgMTkuNVYxNCJ9XSxbInBhdGgiLHtkOiJNNCA0LjVBMi41IDIuNSAwIDAgMSA2LjUgMkg4In1dLFsicGF0aCIse2Q6Ik04IDIySDYuNWExIDEgMCAwIDEgMC01SDgifV1dfSk7dmFyIFJ3LFN5ZT1mKCgpPT57Unc9W1sicGF0aCIse2Q6Ik0xMiAxM1Y3In1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Im05IDEwIDMgMyAzLTMifV1dfSk7dmFyIE93LHp5ZT1mKCgpPT57T3c9W1sicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Ik04IDEydi0yYTQgNCAwIDAgMSA4IDB2MiJ9XSxbImNpcmNsZSIse2N4OiIxNSIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiIxMiIscjoiMSJ9XV19KTt2YXIgRncsQ3llPWYoKCk9PntGdz1bWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoiTTguNjIgOS44QTIuMjUgMi4yNSAwIDEgMSAxMiA2LjgzNmEyLjI1IDIuMjUgMCAxIDEgMy4zOCAyLjk2NmwtMi42MjYgMi44NTZhLjk5OC45OTggMCAwIDEtMS41MDcgMHoifV1dfSk7dmFyIEJ3LF95ZT1mKCgpPT57Qnc9W1sicGF0aCIse2Q6Im0yMCAxMy43LTIuMS0yLjFhMiAyIDAgMCAwLTIuOCAwTDkuNyAxNyJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjgiLHI6IjIifV1dfSk7dmFyIEh3LFR5ZT1mKCgpPT57SHc9W1sicGF0aCIse2Q6Ik0xMyAySDYuNUEyLjUgMi41IDAgMCAwIDQgNC41djE1In1dLFsicGF0aCIse2Q6Ik0xNyAydjYifV0sWyJwYXRoIix7ZDoiTTE3IDRoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTUuMlYyMWExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiMTAiLHI6IjIifV1dfSk7dmFyIHF3LEx5ZT1mKCgpPT57cXc9W1sicGF0aCIse2Q6Ik0xMCAydjhsMy0zIDMgM1YyIn1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dXX0pO3ZhciBWdywkeWU9ZigoKT0+e1Z3PVtbInBhdGgiLHtkOiJNMTggNlY0YTIgMiAwIDEgMC00IDB2MiJ9XSxbInBhdGgiLHtkOiJNMjAgMTV2NmExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTAifV0sWyJyZWN0Iix7eDoiMTIiLHk6IjYiLHdpZHRoOiI4IixoZWlnaHQ6IjUiLHJ4OiIxIn1dXX0pO3ZhciBqdyxEeWU9ZigoKT0+e2p3PVtbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJNOSAxMGg2In1dXX0pO3ZhciBVdyxBeWU9ZigoKT0+e1V3PVtbInBhdGgiLHtkOiJNMTIgMjFWNyJ9XSxbInBhdGgiLHtkOiJtMTYgMTIgMiAyIDQtNCJ9XSxbInBhdGgiLHtkOiJNMjIgNlY0YTEgMSAwIDAgMC0xLTFoLTVhNCA0IDAgMCAwLTQgNCA0IDQgMCAwIDAtNC00SDNhMSAxIDAgMCAwLTEgMXYxM2ExIDEgMCAwIDAgMSAxaDZhMyAzIDAgMCAxIDMgMyAzIDMgMCAwIDEgMy0zaDZhMSAxIDAgMCAwIDEtMXYtMS4zIn1dXX0pO3ZhciBXdyxFeWU9ZigoKT0+e1d3PVtbInBhdGgiLHtkOiJNMTIgN3YxNCJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoMiJ9XSxbInBhdGgiLHtkOiJNMTYgOGgyIn1dLFsicGF0aCIse2Q6Ik0zIDE4YTEgMSAwIDAgMS0xLTFWNGExIDEgMCAwIDEgMS0xaDVhNCA0IDAgMCAxIDQgNCA0IDQgMCAwIDEgNC00aDVhMSAxIDAgMCAxIDEgMXYxM2ExIDEgMCAwIDEtMSAxaC02YTMgMyAwIDAgMC0zIDMgMyAzIDAgMCAwLTMtM3oifV0sWyJwYXRoIix7ZDoiTTYgMTJoMiJ9XSxbInBhdGgiLHtkOiJNNiA4aDIifV1dfSk7dmFyIEd3LFB5ZT1mKCgpPT57R3c9W1sicGF0aCIse2Q6Ik0xMSAyMkg1LjVhMSAxIDAgMCAxIDAtNWg0LjUwMSJ9XSxbInBhdGgiLHtkOiJtMjEgMjItMS44NzktMS44NzgifV0sWyJwYXRoIix7ZDoiTTMgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA1LjUgMkgxOGExIDEgMCAwIDEgMSAxdjgifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxOCIscjoiMyJ9XV19KTt2YXIgWXcsSXllPWYoKCk9PntZdz1bWyJwYXRoIix7ZDoiTTEyIDd2MTQifV0sWyJwYXRoIix7ZDoiTTMgMThhMSAxIDAgMCAxLTEtMVY0YTEgMSAwIDAgMSAxLTFoNWE0IDQgMCAwIDEgNCA0IDQgNCAwIDAgMSA0LTRoNWExIDEgMCAwIDEgMSAxdjEzYTEgMSAwIDAgMS0xIDFoLTZhMyAzIDAgMCAwLTMgMyAzIDMgMCAwIDAtMy0zeiJ9XV19KTt2YXIgS3csTnllPWYoKCk9PntLdz1bWyJwYXRoIix7ZDoiTTEyIDd2NiJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJNOSAxMGg2In1dXX0pO3ZhciBadyxSeWU9ZigoKT0+e1p3PVtbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJNOCAxMWg4In1dLFsicGF0aCIse2Q6Ik04IDdoNiJ9XV19KTt2YXIgWHcsT3llPWYoKCk9PntYdz1bWyJwYXRoIix7ZDoiTTEyIDEzVjcifV0sWyJwYXRoIix7ZDoiTTE4IDJoMWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMiJ9XSxbInBhdGgiLHtkOiJtOSAxMCAzLTMgMyAzIn1dLFsicGF0aCIse2Q6Im05IDUgMy0zIDMgMyJ9XV19KTt2YXIgUXcsRnllPWYoKCk9PntRdz1bWyJwYXRoIix7ZDoiTTEyIDEzVjcifV0sWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoibTkgMTAgMy0zIDMgMyJ9XV19KTt2YXIgSncsQnllPWYoKCk9PntKdz1bWyJwYXRoIix7ZDoiTTEwIDEzaDQifV0sWyJwYXRoIix7ZDoiTTEyIDZ2NyJ9XSxbInBhdGgiLHtkOiJNMTYgOFY2SDh2MiJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XV19KTt2YXIgZU0sSHllPWYoKCk9PntlTT1bWyJwYXRoIix7ZDoiTTE1IDEzYTMgMyAwIDEgMC02IDAifV0sWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI4IixyOiIyIn1dXX0pO3ZhciB0TSxxeWU9ZigoKT0+e3RNPVtbInBhdGgiLHtkOiJtMTQuNSA3LTUgNSJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJtOS41IDcgNSA1In1dXX0pO3ZhciBhTSxWeWU9ZigoKT0+e2FNPVtbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XV19KTt2YXIgck0sanllPWYoKCk9PntyTT1bWyJwYXRoIix7ZDoiTTE3IDNhMiAyIDAgMCAxIDIgMnYxNWExIDEgMCAwIDEtMS40OTYuODY4bC00LjUxMi0yLjU3OGEyIDIgMCAwIDAtMS45ODQgMGwtNC41MTIgMi41NzhBMSAxIDAgMCAxIDUgMjBWNWEyIDIgMCAwIDEgMi0yeiJ9XSxbInBhdGgiLHtkOiJtOSAxMCAyIDIgNC00In1dXX0pO3ZhciBzTSxVeWU9ZigoKT0+e3NNPVtbInBhdGgiLHtkOiJNMTUgMTBIOSJ9XSxbInBhdGgiLHtkOiJNMTcgM2EyIDIgMCAwIDEgMiAydjE1YTEgMSAwIDAgMS0xLjQ5Ni44NjhsLTQuNTEyLTIuNTc4YTIgMiAwIDAgMC0xLjk4NCAwbC00LjUxMiAyLjU3OEExIDEgMCAwIDEgNSAyMFY1YTIgMiAwIDAgMSAyLTJ6In1dXX0pO3ZhciBpTSxXeWU9ZigoKT0+e2lNPVtbInBhdGgiLHtkOiJNMTkgMTl2MWExIDEgMCAwIDEtMS40OTYuODY4bC00LjUxMi0yLjU3OGEyIDIgMCAwIDAtMS45ODQgMGwtNC41MTIgMi41NzhBMSAxIDAgMCAxIDUgMjBWNSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik04LjY1NiAzSDE3YTIgMiAwIDAgMSAyIDJ2OC4zNDQifV1dfSk7dmFyIG9NLEd5ZT1mKCgpPT57b009W1sicGF0aCIse2Q6Ik0xMiA3djYifV0sWyJwYXRoIix7ZDoiTTE1IDEwSDkifV0sWyJwYXRoIix7ZDoiTTE3IDNhMiAyIDAgMCAxIDIgMnYxNWExIDEgMCAwIDEtMS40OTYuODY4bC00LjUxMi0yLjU3OGEyIDIgMCAwIDAtMS45ODQgMGwtNC41MTIgMi41NzhBMSAxIDAgMCAxIDUgMjBWNWEyIDIgMCAwIDEgMi0yeiJ9XV19KTt2YXIgbk0sWXllPWYoKCk9PntuTT1bWyJwYXRoIix7ZDoibTE0LjUgNy41LTUgNSJ9XSxbInBhdGgiLHtkOiJNMTcgM2EyIDIgMCAwIDEgMiAydjE1YTEgMSAwIDAgMS0xLjQ5Ni44NjhsLTQuNTEyLTIuNTc4YTIgMiAwIDAgMC0xLjk4NCAwbC00LjUxMiAyLjU3OEExIDEgMCAwIDEgNSAyMFY1YTIgMiAwIDAgMSAyLTJ6In1dLFsicGF0aCIse2Q6Im05LjUgNy41IDUgNSJ9XV19KTt2YXIgbE0sS3llPWYoKCk9PntsTT1bWyJwYXRoIix7ZDoiTTE3IDNhMiAyIDAgMCAxIDIgMnYxNWExIDEgMCAwIDEtMS40OTYuODY4bC00LjUxMi0yLjU3OGEyIDIgMCAwIDAtMS45ODQgMGwtNC41MTIgMi41NzhBMSAxIDAgMCAxIDUgMjBWNWEyIDIgMCAwIDEgMi0yeiJ9XV19KTt2YXIgY00sWnllPWYoKCk9PntjTT1bWyJwYXRoIix7ZDoiTTQgOVY1YTIgMiAwIDAgMSAyLTJoMTJhMiAyIDAgMCAxIDIgMnY0In1dLFsicGF0aCIse2Q6Ik04IDh2MSJ9XSxbInBhdGgiLHtkOiJNMTIgOHYxIn1dLFsicGF0aCIse2Q6Ik0xNiA4djEifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjEyIix4OiIyIix5OiI5IixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiI4IixjeToiMTUiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNSIscjoiMiJ9XV19KTt2YXIgZE0sWHllPWYoKCk9PntkTT1bWyJwYXRoIix7ZDoiTTEyIDZWMkg4In1dLFsicGF0aCIse2Q6Ik0xNSAxMXYyIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIifV0sWyJwYXRoIix7ZDoiTTIwIDEyaDIifV0sWyJwYXRoIix7ZDoiTTIwIDE2YTIgMiAwIDAgMS0yIDJIOC44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcxLjcxIDAgMCAxIDQgMjAuMjg2VjhhMiAyIDAgMCAxIDItMmgxMmEyIDIgMCAwIDEgMiAyeiJ9XSxbInBhdGgiLHtkOiJNOSAxMXYyIn1dXX0pO3ZhciB1TSxReWU9ZigoKT0+e3VNPVtbInBhdGgiLHtkOiJNMTMuNjcgOEgxOGEyIDIgMCAwIDEgMiAydjQuMzMifV0sWyJwYXRoIix7ZDoiTTIgMTRoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTRoMiJ9XSxbInBhdGgiLHtkOiJNMjIgMjIgMiAyIn1dLFsicGF0aCIse2Q6Ik04IDhINmEyIDIgMCAwIDAtMiAydjhhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMS40MTQtLjU4NiJ9XSxbInBhdGgiLHtkOiJNOSAxM3YyIn1dLFsicGF0aCIse2Q6Ik05LjY3IDRIMTJ2Mi4zMyJ9XV19KTt2YXIgcE0sSnllPWYoKCk9PntwTT1bWyJwYXRoIix7ZDoiTTEyIDhWNEg4In1dLFsicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIxMiIseDoiNCIseToiOCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIgMTRoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTRoMiJ9XSxbInBhdGgiLHtkOiJNMTUgMTN2MiJ9XSxbInBhdGgiLHtkOiJNOSAxM3YyIn1dXX0pO3ZhciBmTSxld2U9ZigoKT0+e2ZNPVtbInBhdGgiLHtkOiJNMTcgM2g0djQifV0sWyJwYXRoIix7ZDoiTTE4LjU3NSAxMS4wODJhMTMgMTMgMCAwIDEgMS4wNDggOS4wMjcgMS4xNyAxLjE3IDAgMCAxLTEuOTE0LjU5N0wxNCAxNyJ9XSxbInBhdGgiLHtkOiJNNyAxMCAzLjI5IDYuMjlhMS4xNyAxLjE3IDAgMCAxIC42LTEuOTEgMTMgMTMgMCAwIDEgOS4wMyAxLjA1In1dLFsicGF0aCIse2Q6Ik03IDE0YTEuNyAxLjcgMCAwIDAtMS4yMDcuNWwtMi42NDYgMi42NDZBLjUuNSAwIDAgMCAzLjUgMThINWExIDEgMCAwIDEgMSAxdjEuNWEuNS41IDAgMCAwIC44NTQuMzU0TDkuNSAxOC4yMDdBMS43IDEuNyAwIDAgMCAxMCAxN3YtMmExIDEgMCAwIDAtMS0xeiJ9XSxbInBhdGgiLHtkOiJNOS43MDcgMTQuMjkzIDIxIDMifV1dfSk7dmFyIGhNLHR3ZT1mKCgpPT57aE09W1sicGF0aCIse2Q6Ik0xMCAzYTEgMSAwIDAgMSAxLTFoMmExIDEgMCAwIDEgMSAxdjJhNiA2IDAgMCAwIDEuMiAzLjZsLjYuOEE2IDYgMCAwIDEgMTcgMTN2OGExIDEgMCAwIDEtMSAxSDhhMSAxIDAgMCAxLTEtMXYtOGE2IDYgMCAwIDEgMS4yLTMuNmwuNi0uOEE2IDYgMCAwIDAgMTAgNXoifV0sWyJwYXRoIix7ZDoiTTE3IDEzaC00YTEgMSAwIDAgMC0xIDF2M2ExIDEgMCAwIDAgMSAxaDQifV1dfSk7dmFyIG1NLGF3ZT1mKCgpPT57bU09W1sicGF0aCIse2Q6Ik0yMSA4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzNsNyA0YTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNloifV0sWyJwYXRoIix7ZDoibTMuMyA3IDguNyA1IDguNy01In1dLFsicGF0aCIse2Q6Ik0xMiAyMlYxMiJ9XV19KTt2YXIgZ00scndlPWYoKCk9PntnTT1bWyJwYXRoIix7ZDoiTTIuOTcgMTIuOTJBMiAyIDAgMCAwIDIgMTQuNjN2My4yNGEyIDIgMCAwIDAgLjk3IDEuNzFsMyAxLjhhMiAyIDAgMCAwIDIuMDYgMEwxMiAxOXYtNS41bC01LTMtNC4wMyAyLjQyWiJ9XSxbInBhdGgiLHtkOiJtNyAxNi41LTQuNzQtMi44NSJ9XSxbInBhdGgiLHtkOiJtNyAxNi41IDUtMyJ9XSxbInBhdGgiLHtkOiJNNyAxNi41djUuMTcifV0sWyJwYXRoIix7ZDoiTTEyIDEzLjVWMTlsMy45NyAyLjM4YTIgMiAwIDAgMCAyLjA2IDBsMy0xLjhhMiAyIDAgMCAwIC45Ny0xLjcxdi0zLjI0YTIgMiAwIDAgMC0uOTctMS43MUwxNyAxMC41bC01IDNaIn1dLFsicGF0aCIse2Q6Im0xNyAxNi41LTUtMyJ9XSxbInBhdGgiLHtkOiJtMTcgMTYuNSA0Ljc0LTIuODUifV0sWyJwYXRoIix7ZDoiTTE3IDE2LjV2NS4xNyJ9XSxbInBhdGgiLHtkOiJNNy45NyA0LjQyQTIgMiAwIDAgMCA3IDYuMTN2NC4zN2w1IDMgNS0zVjYuMTNhMiAyIDAgMCAwLS45Ny0xLjcxbC0zLTEuOGEyIDIgMCAwIDAtMi4wNiAwbC0zIDEuOFoifV0sWyJwYXRoIix7ZDoiTTEyIDggNy4yNiA1LjE1In1dLFsicGF0aCIse2Q6Im0xMiA4IDQuNzQtMi44NSJ9XSxbInBhdGgiLHtkOiJNMTIgMTMuNVY4In1dXX0pO3ZhciBFZCxzd2U9ZigoKT0+e0VkPVtbInBhdGgiLHtkOiJNOCAzSDdhMiAyIDAgMCAwLTIgMnY1YTIgMiAwIDAgMS0yIDIgMiAyIDAgMCAxIDIgMnY1YzAgMS4xLjkgMiAyIDJoMSJ9XSxbInBhdGgiLHtkOiJNMTYgMjFoMWEyIDIgMCAwIDAgMi0ydi01YzAtMS4xLjktMiAyLTJhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMC0yLTJoLTEifV1dfSk7dmFyIGJNLGl3ZT1mKCgpPT57Yk09W1sicGF0aCIse2Q6Ik0xNiAzaDNhMSAxIDAgMCAxIDEgMXYxNmExIDEgMCAwIDEtMSAxaC0zIn1dLFsicGF0aCIse2Q6Ik04IDIxSDVhMSAxIDAgMCAxLTEtMVY0YTEgMSAwIDAgMSAxLTFoMyJ9XV19KTt2YXIgdk0sb3dlPWYoKCk9Pnt2TT1bWyJwYXRoIix7ZDoiTTEyIDVhMyAzIDAgMSAwLTUuOTk3LjEyNSA0IDQgMCAwIDAtMi41MjYgNS43NyA0IDQgMCAwIDAgLjU1NiA2LjU4OEE0IDQgMCAxIDAgMTIgMThaIn1dLFsicGF0aCIse2Q6Ik05IDEzYTQuNSA0LjUgMCAwIDAgMy00In1dLFsicGF0aCIse2Q6Ik02LjAwMyA1LjEyNUEzIDMgMCAwIDAgNi40MDEgNi41In1dLFsicGF0aCIse2Q6Ik0zLjQ3NyAxMC44OTZhNCA0IDAgMCAxIC41ODUtLjM5NiJ9XSxbInBhdGgiLHtkOiJNNiAxOGE0IDQgMCAwIDEtMS45NjctLjUxNiJ9XSxbInBhdGgiLHtkOiJNMTIgMTNoNCJ9XSxbInBhdGgiLHtkOiJNMTIgMThoNmEyIDIgMCAwIDEgMiAydjEifV0sWyJwYXRoIix7ZDoiTTEyIDhoOCJ9XSxbInBhdGgiLHtkOiJNMTYgOFY1YTIgMiAwIDAgMSAyLTIifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxMyIscjoiLjUifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIzIixyOiIuNSJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjIxIixyOiIuNSJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjgiLHI6Ii41In1dXX0pO3ZhciB4TSxud2U9ZigoKT0+e3hNPVtbInBhdGgiLHtkOiJtMTAuODUyIDE0Ljc3Mi0uMzgzLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTAuODUyIDkuMjI4LS4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTMuMTQ4IDE0Ljc3Mi4zODIuOTI0In1dLFsicGF0aCIse2Q6Im0xMy41MzEgOC4zMDUtLjM4My45MjMifV0sWyJwYXRoIix7ZDoibTE0Ljc3MiAxMC44NTIuOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTE0Ljc3MiAxMy4xNDguOTIzLjM4MyJ9XSxbInBhdGgiLHtkOiJNMTcuNTk4IDYuNUEzIDMgMCAxIDAgMTIgNWEzIDMgMCAwIDAtNS42My0xLjQ0NiAzIDMgMCAwIDAtLjM2OCAxLjU3MSA0IDQgMCAwIDAtMi41MjUgNS43NzEifV0sWyJwYXRoIix7ZDoiTTE3Ljk5OCA1LjEyNWE0IDQgMCAwIDEgMi41MjUgNS43NzEifV0sWyJwYXRoIix7ZDoiTTE5LjUwNSAxMC4yOTRhNCA0IDAgMCAxLTEuNSA3LjcwNiJ9XSxbInBhdGgiLHtkOiJNNC4wMzIgMTcuNDgzQTQgNCAwIDAgMCAxMS40NjQgMjBjLjE4LS4zMTEuODkyLS4zMTEgMS4wNzIgMGE0IDQgMCAwIDAgNy40MzItMi41MTYifV0sWyJwYXRoIix7ZDoiTTQuNSAxMC4yOTFBNCA0IDAgMCAwIDYgMTgifV0sWyJwYXRoIix7ZDoiTTYuMDAyIDUuMTI1YTMgMyAwIDAgMCAuNCAxLjM3NSJ9XSxbInBhdGgiLHtkOiJtOS4yMjggMTAuODUyLS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtOS4yMjggMTMuMTQ4LS45MjMuMzgzIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV1dfSk7dmFyIHlNLGx3ZT1mKCgpPT57eU09W1sicGF0aCIse2Q6Ik0xNiAzdjIuMTA3In1dLFsicGF0aCIse2Q6Ik0xNyA5YzEgMyAyLjUgMy41IDMuNSA0LjVBNSA1IDAgMCAxIDIyIDE3YTUgNSAwIDAgMS0xMCAwYzAtLjMgMC0uNi4xLS45YTIgMiAwIDEgMCAzLjMtMkMxMyAxMS41IDE2IDkgMTcgOSJ9XSxbInBhdGgiLHtkOiJNMjEgOC4yNzRWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDMuOTM4In1dLFsicGF0aCIse2Q6Ik0zIDE1aDUuMjUzIn1dLFsicGF0aCIse2Q6Ik0zIDloOC4yMjgifV0sWyJwYXRoIix7ZDoiTTggMTV2NiJ9XSxbInBhdGgiLHtkOiJNOCAzdjYifV1dfSk7dmFyIHdNLGN3ZT1mKCgpPT57d009W1sicGF0aCIse2Q6Ik0xMiAxOFY1In1dLFsicGF0aCIse2Q6Ik0xNSAxM2E0LjE3IDQuMTcgMCAwIDEtMy00IDQuMTcgNC4xNyAwIDAgMS0zIDQifV0sWyJwYXRoIix7ZDoiTTE3LjU5OCA2LjVBMyAzIDAgMSAwIDEyIDVhMyAzIDAgMSAwLTUuNTk4IDEuNSJ9XSxbInBhdGgiLHtkOiJNMTcuOTk3IDUuMTI1YTQgNCAwIDAgMSAyLjUyNiA1Ljc3In1dLFsicGF0aCIse2Q6Ik0xOCAxOGE0IDQgMCAwIDAgMi03LjQ2NCJ9XSxbInBhdGgiLHtkOiJNMTkuOTY3IDE3LjQ4M0E0IDQgMCAxIDEgMTIgMThhNCA0IDAgMSAxLTcuOTY3LS41MTcifV0sWyJwYXRoIix7ZDoiTTYgMThhNCA0IDAgMCAxLTItNy40NjQifV0sWyJwYXRoIix7ZDoiTTYuMDAzIDUuMTI1YTQgNCAwIDAgMC0yLjUyNiA1Ljc3In1dXX0pO3ZhciBNTSxkd2U9ZigoKT0+e01NPVtbInBhdGgiLHtkOiJNMTIgOXYxLjI1OCJ9XSxbInBhdGgiLHtkOiJNMTYgM3Y1LjQ2In1dLFsicGF0aCIse2Q6Ik0yMSA5LjExOFY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoNS43NSJ9XSxbInBhdGgiLHtkOiJNMjIgMTcuNWMwIDIuNDk5LTEuNzUgMy43NDktMy44MyA0LjQ3NGEuNS41IDAgMCAxLS4zMzUtLjAwNWMtMi4wODUtLjcyLTMuODM1LTEuOTctMy44MzUtNC40N1YxNGEuNS41IDAgMCAxIC41LS40OTljMSAwIDIuMjUtLjYgMy4xMi0xLjM2YS42LjYgMCAwIDEgLjc2LS4wMDFjLjg3NS43NjUgMi4xMiAxLjM2IDMuMTIgMS4zNmEuNS41IDAgMCAxIC41LjV6In1dLFsicGF0aCIse2Q6Ik0zIDE1aDcifV0sWyJwYXRoIix7ZDoiTTMgOWgxMi4xNDIifV0sWyJwYXRoIix7ZDoiTTggMTV2NiJ9XSxbInBhdGgiLHtkOiJNOCAzdjYifV1dfSk7dmFyIGtNLHV3ZT1mKCgpPT57a009W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDl2NiJ9XSxbInBhdGgiLHtkOiJNMTYgMTV2NiJ9XSxbInBhdGgiLHtkOiJNMTYgM3Y2In1dLFsicGF0aCIse2Q6Ik0zIDE1aDE4In1dLFsicGF0aCIse2Q6Ik0zIDloMTgifV0sWyJwYXRoIix7ZDoiTTggMTV2NiJ9XSxbInBhdGgiLHtkOiJNOCAzdjYifV1dfSk7dmFyIFNNLHB3ZT1mKCgpPT57U009W1sicGF0aCIse2Q6Ik0xMiAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDZWNGEyIDIgMCAwIDAtMi0yaC00YTIgMiAwIDAgMC0yIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjIgMTNhMTguMTUgMTguMTUgMCAwIDEtMjAgMCJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjYiLHJ4OiIyIn1dXX0pO3ZhciB6TSxmd2U9ZigoKT0+e3pNPVtbInBhdGgiLHtkOiJNMTAgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTQgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTggMjB2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMjBIMyJ9XSxbInBhdGgiLHtkOiJNNiAyMHYyIn1dLFsicGF0aCIse2Q6Ik04IDE2VjRhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MTIifV0sWyJyZWN0Iix7eDoiNCIseToiNiIsd2lkdGg6IjE2IixoZWlnaHQ6IjEwIixyeDoiMiJ9XV19KTt2YXIgQ00saHdlPWYoKCk9PntDTT1bWyJwYXRoIix7ZDoiTTEyIDExdjQifV0sWyJwYXRoIix7ZDoiTTE0IDEzaC00In1dLFsicGF0aCIse2Q6Ik0xNiA2VjRhMiAyIDAgMCAwLTItMmgtNGEyIDIgMCAwIDAtMiAydjIifV0sWyJwYXRoIix7ZDoiTTE4IDZ2MTQifV0sWyJwYXRoIix7ZDoiTTYgNnYxNCJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjYiLHJ4OiIyIn1dXX0pO3ZhciBfTSxtd2U9ZigoKT0+e19NPVtbInBhdGgiLHtkOiJNMTYgMjBWNGEyIDIgMCAwIDAtMi0yaC00YTIgMiAwIDAgMC0yIDJ2MTYifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiI2IixyeDoiMiJ9XV19KTt2YXIgVE0sZ3dlPWYoKCk9PntUTT1bWyJyZWN0Iix7eDoiOCIseToiOCIsd2lkdGg6IjgiLGhlaWdodDoiOCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTBhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik0xNCAyMGEyIDIgMCAwIDAgMiAyaDRhMiAyIDAgMCAwIDItMnYtNGEyIDIgMCAwIDAtMi0yIn1dXX0pO3ZhciBMTSxid2U9ZigoKT0+e0xNPVtbInBhdGgiLHtkOiJtMTYgMjItMS00In1dLFsicGF0aCIse2Q6Ik0xOSAxNGExIDEgMCAwIDAgMS0xdi0xYTIgMiAwIDAgMC0yLTJoLTNhMSAxIDAgMCAxLTEtMVY0YTIgMiAwIDAgMC00IDB2NWExIDEgMCAwIDEtMSAxSDZhMiAyIDAgMCAwLTIgMnYxYTEgMSAwIDAgMCAxIDEifV0sWyJwYXRoIix7ZDoiTTE5IDE0SDVsLTEuOTczIDYuNzY3QTEgMSAwIDAgMCA0IDIyaDE2YTEgMSAwIDAgMCAuOTczLTEuMjMzeiJ9XSxbInBhdGgiLHtkOiJtOCAyMiAxLTQifV1dfSk7dmFyICRNLHZ3ZT1mKCgpPT57JE09W1sicGF0aCIse2Q6Im0xMSAxMCAzIDMifV0sWyJwYXRoIix7ZDoiTTYuNSAyMUEzLjUgMy41IDAgMSAwIDMgMTcuNWEyLjYyIDIuNjIgMCAwIDEtLjcwOCAxLjc5MkExIDEgMCAwIDAgMyAyMXoifV0sWyJwYXRoIix7ZDoiTTkuOTY5IDE3LjAzMSAyMS4zNzggNS42MjRhMSAxIDAgMCAwLTMuMDAyLTMuMDAyTDYuOTY3IDE0LjAzMSJ9XV19KTt2YXIgRE0seHdlPWYoKCk9PntETT1bWyJwYXRoIix7ZDoiTTEyIDIwdi04In1dLFsicGF0aCIse2Q6Ik0xMi42NTYgN0gxNGE0IDQgMCAwIDEgNCA0djEuMzQ0In1dLFsicGF0aCIse2Q6Ik0xNC4xMiAzLjg4IDE2IDIifV0sWyJwYXRoIix7ZDoiTTE3LjEyMyAxNy4xMjNBNiA2IDAgMCAxIDYgMTR2LTNhNCA0IDAgMCAxIDEuNzItMy4yODcifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjEgNWE0IDQgMCAwIDEtMy41NSAzLjk3In1dLFsicGF0aCIse2Q6Ik0yMiAxM2gtMy4zNDQifV0sWyJwYXRoIix7ZDoiTTMgMjFhNCA0IDAgMCAxIDMuODEtNCJ9XSxbInBhdGgiLHtkOiJNMyA1YTQgNCAwIDAgMCAzLjU1IDMuOTcifV0sWyJwYXRoIix7ZDoiTTYgMTNIMiJ9XSxbInBhdGgiLHtkOiJtOCAyIDEuODggMS44OCJ9XSxbInBhdGgiLHtkOiJNOS43MTIgNC4wNkEzIDMgMCAwIDEgMTUgNnYxLjEzIn1dXX0pO3ZhciBBTSx5d2U9ZigoKT0+e0FNPVtbInBhdGgiLHtkOiJNNy4wMDEgMTUuMDg1QTEuNSAxLjUgMCAwIDEgOSAxNi41In1dLFsiY2lyY2xlIix7Y3g6IjE4LjUiLGN5OiI4LjUiLHI6IjMuNSJ9XSxbImNpcmNsZSIse2N4OiI3LjUiLGN5OiIxNi41IixyOiI1LjUifV0sWyJjaXJjbGUiLHtjeDoiNy41IixjeToiNC41IixyOiIyLjUifV1dfSk7dmFyIEVNLHd3ZT1mKCgpPT57RU09W1sicGF0aCIse2Q6Ik0xMCAxOS42NTVBNiA2IDAgMCAxIDYgMTR2LTNhNCA0IDAgMCAxIDQtNGg0YTQgNCAwIDAgMSA0IDMuOTcifV0sWyJwYXRoIix7ZDoiTTE0IDE1LjAwM2ExIDEgMCAwIDEgMS41MTctLjg1OWw0Ljk5NyAyLjk5N2ExIDEgMCAwIDEgMCAxLjcxOGwtNC45OTcgMi45OTdhMSAxIDAgMCAxLTEuNTE3LS44NnoifV0sWyJwYXRoIix7ZDoiTTE0LjEyIDMuODggMTYgMiJ9XSxbInBhdGgiLHtkOiJNMjEgNWE0IDQgMCAwIDEtMy41NSAzLjk3In1dLFsicGF0aCIse2Q6Ik0zIDIxYTQgNCAwIDAgMSAzLjgxLTQifV0sWyJwYXRoIix7ZDoiTTMgNWE0IDQgMCAwIDAgMy41NSAzLjk3In1dLFsicGF0aCIse2Q6Ik02IDEzSDIifV0sWyJwYXRoIix7ZDoibTggMiAxLjg4IDEuODgifV0sWyJwYXRoIix7ZDoiTTkgNy4xM1Y2YTMgMyAwIDEgMSA2IDB2MS4xMyJ9XV19KTt2YXIgUE0sTXdlPWYoKCk9PntQTT1bWyJwYXRoIix7ZDoiTTEyIDIwdi05In1dLFsicGF0aCIse2Q6Ik0xNCA3YTQgNCAwIDAgMSA0IDR2M2E2IDYgMCAwIDEtMTIgMHYtM2E0IDQgMCAwIDEgNC00eiJ9XSxbInBhdGgiLHtkOiJNMTQuMTIgMy44OCAxNiAyIn1dLFsicGF0aCIse2Q6Ik0yMSAyMWE0IDQgMCAwIDAtMy44MS00In1dLFsicGF0aCIse2Q6Ik0yMSA1YTQgNCAwIDAgMS0zLjU1IDMuOTcifV0sWyJwYXRoIix7ZDoiTTIyIDEzaC00In1dLFsicGF0aCIse2Q6Ik0zIDIxYTQgNCAwIDAgMSAzLjgxLTQifV0sWyJwYXRoIix7ZDoiTTMgNWE0IDQgMCAwIDAgMy41NSAzLjk3In1dLFsicGF0aCIse2Q6Ik02IDEzSDIifV0sWyJwYXRoIix7ZDoibTggMiAxLjg4IDEuODgifV0sWyJwYXRoIix7ZDoiTTkgNy4xM1Y2YTMgMyAwIDEgMSA2IDB2MS4xMyJ9XV19KTt2YXIgSU0sa3dlPWYoKCk9PntJTT1bWyJwYXRoIix7ZDoiTTEyIDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiA2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTBoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDZoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTggNmguMDEifV0sWyJwYXRoIix7ZDoiTTkgMjJ2LTNhMSAxIDAgMCAxIDEtMWg0YTEgMSAwIDAgMSAxIDF2MyJ9XSxbInJlY3QiLHt4OiI0Iix5OiIyIix3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHJ4OiIyIn1dXX0pO3ZhciBOTSxTd2U9ZigoKT0+e05NPVtbInBhdGgiLHtkOiJNMTAgMTJoNCJ9XSxbInBhdGgiLHtkOiJNMTAgOGg0In1dLFsicGF0aCIse2Q6Ik0xNCAyMXYtM2EyIDIgMCAwIDAtNCAwdjMifV0sWyJwYXRoIix7ZDoiTTYgMTBINGEyIDIgMCAwIDAtMiAydjdhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0yVjlhMiAyIDAgMCAwLTItMmgtMiJ9XSxbInBhdGgiLHtkOiJNNiAyMVY1YTIgMiAwIDAgMSAyLTJoOGEyIDIgMCAwIDEgMiAydjE2In1dXX0pO3ZhciBSTSx6d2U9ZigoKT0+e1JNPVtbInBhdGgiLHtkOiJNNCA2IDIgNyJ9XSxbInBhdGgiLHtkOiJNMTAgNmg0In1dLFsicGF0aCIse2Q6Im0yMiA3LTItMSJ9XSxbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMTYiLHg6IjQiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik00IDExaDE2In1dLFsicGF0aCIse2Q6Ik04IDE1aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTVoLjAxIn1dLFsicGF0aCIse2Q6Ik02IDE5djIifV0sWyJwYXRoIix7ZDoiTTE4IDIxdi0yIn1dXX0pO3ZhciBPTSxDd2U9ZigoKT0+e09NPVtbInBhdGgiLHtkOiJNOCA2djYifV0sWyJwYXRoIix7ZDoiTTE1IDZ2NiJ9XSxbInBhdGgiLHtkOiJNMiAxMmgxOS42In1dLFsicGF0aCIse2Q6Ik0xOCAxOGgzcy41LTEuNy44LTIuOGMuMS0uNC4yLS44LjItMS4yIDAtLjQtLjEtLjgtLjItMS4ybC0xLjQtNUMyMC4xIDYuOCAxOS4xIDYgMTggNkg0YTIgMiAwIDAgMC0yIDJ2MTBoMyJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiMTgiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTkgMThoNSJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjE4IixyOiIyIn1dXX0pO3ZhciBGTSxfd2U9ZigoKT0+e0ZNPVtbInBhdGgiLHtkOiJNMTcgMTlhMSAxIDAgMCAxLTEtMXYtMmEyIDIgMCAwIDEgMi0yaDJhMiAyIDAgMCAxIDIgMnYyYTEgMSAwIDAgMS0xIDF6In1dLFsicGF0aCIse2Q6Ik0xNyAyMXYtMiJ9XSxbInBhdGgiLHtkOiJNMTkgMTRWNi41YTEgMSAwIDAgMC03IDB2MTFhMSAxIDAgMCAxLTcgMFYxMCJ9XSxbInBhdGgiLHtkOiJNMjEgMjF2LTIifV0sWyJwYXRoIix7ZDoiTTMgNVYzIn1dLFsicGF0aCIse2Q6Ik00IDEwYTIgMiAwIDAgMS0yLTJWNmExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDEgMXYyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik03IDVWMyJ9XV19KTt2YXIgQk0sVHdlPWYoKCk9PntCTT1bWyJwYXRoIix7ZDoiTTEwIDNoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCAyaC4wMSJ9XSxbInBhdGgiLHtkOiJtMiA5IDIwLTUifV0sWyJwYXRoIix7ZDoiTTEyIDEyVjYuNSJ9XSxbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMTAiLHg6IjQiLHk6IjEyIixyeDoiMyJ9XSxbInBhdGgiLHtkOiJNOSAxMnY1In1dLFsicGF0aCIse2Q6Ik0xNSAxMnY1In1dLFsicGF0aCIse2Q6Ik00IDE3aDE2In1dXX0pO3ZhciBITSxMd2U9ZigoKT0+e0hNPVtbInBhdGgiLHtkOiJNMTYgMTNIMyJ9XSxbInBhdGgiLHtkOiJNMTYgMTdIMyJ9XSxbInBhdGgiLHtkOiJtNy4yIDcuOS0zLjM4OCAyLjVBMiAyIDAgMCAwIDMgMTIuMDFWMjBhMSAxIDAgMCAwIDEgMWgxNmExIDEgMCAwIDAgMS0xdi04LjY1NGMwLTItMi40NC02LjAyNi02LjQ0LTguMDI2YTEgMSAwIDAgMC0xLjA4Mi4wNTdMMTAuNCA1LjYifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjciLHI6IjIifV1dfSk7dmFyIHFNLCR3ZT1mKCgpPT57cU09W1sicGF0aCIse2Q6Ik0yMCAyMXYtOGEyIDIgMCAwIDAtMi0ySDZhMiAyIDAgMCAwLTIgMnY4In1dLFsicGF0aCIse2Q6Ik00IDE2cy41LTEgMi0xIDIuNSAyIDQgMiAyLjUtMiA0LTIgMi41IDIgNCAyIDItMSAyLTEifV0sWyJwYXRoIix7ZDoiTTIgMjFoMjAifV0sWyJwYXRoIix7ZDoiTTcgOHYzIn1dLFsicGF0aCIse2Q6Ik0xMiA4djMifV0sWyJwYXRoIix7ZDoiTTE3IDh2MyJ9XSxbInBhdGgiLHtkOiJNNyA0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgNGguMDEifV0sWyJwYXRoIix7ZDoiTTE3IDRoLjAxIn1dXX0pO3ZhciBWTSxEd2U9ZigoKT0+e1ZNPVtbInBhdGgiLHtkOiJNMTEgMTRoMXY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicmVjdCIse3g6IjMiLHk6IjQiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dfSk7dmFyIGpNLEF3ZT1mKCgpPT57ak09W1sicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIyMCIseDoiNCIseToiMiIscng6IjIifV0sWyJsaW5lIix7eDE6IjgiLHgyOiIxNiIseTE6IjYiLHkyOiI2In1dLFsibGluZSIse3gxOiIxNiIseDI6IjE2Iix5MToiMTQiLHkyOiIxOCJ9XSxbInBhdGgiLHtkOiJNMTYgMTBoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxMGguMDEifV0sWyJwYXRoIix7ZDoiTTggMTBoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTggMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxOGguMDEifV0sWyJwYXRoIix7ZDoiTTggMThoLjAxIn1dXX0pO3ZhciBVTSxFd2U9ZigoKT0+e1VNPVtbInBhdGgiLHtkOiJtMTQgMTggNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0xOCAxNHY4In1dLFsicGF0aCIse2Q6Ik0yMSAxMS4zNTRWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDcuMzQzIn1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XV19KTt2YXIgV00sUHdlPWYoKCk9PntXTT1bWyJwYXRoIix7ZDoibTE0IDE4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTggMjJ2LTgifV0sWyJwYXRoIix7ZDoiTTIxIDExLjM0M1Y2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoOSJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJNOCAydjQifV1dfSk7dmFyIEdNLEl3ZT1mKCgpPT57R009W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0yMSAxNFY2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoOCJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJtMTYgMjAgMiAyIDQtNCJ9XV19KTt2YXIgWU0sTndlPWYoKCk9PntZTT1bWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJtOSAxNiAyIDIgNC00In1dXX0pO3ZhciBLTSxSd2U9ZigoKT0+e0tNPVtbInBhdGgiLHtkOiJNMTYgMTR2Mi4ybDEuNiAxIn1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTIxIDcuNVY2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMy41In1dLFsicGF0aCIse2Q6Ik0zIDEwaDUifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTYiLHI6IjYifV1dfSk7dmFyIFpNLE93ZT1mKCgpPT57Wk09W1sicGF0aCIse2Q6Im0xNS4yMjggMTYuODUyLS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMTUuMjI4IDE5LjE0OC0uOTIzLjM4MyJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Im0xNi40NyAxNC4zMDUuMzgyLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDIwLjc3Mi0uMzgzLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTkuMTQ4IDE1LjIyOC4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTkuNTMgMjEuNjk2LS4zODItLjkyNCJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE2Ljg1Mi45MjQtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE5LjE0OC45MjQuMzgzIn1dLFsicGF0aCIse2Q6Ik0yMSAxMC41OTJWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDYifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjMifV1dfSk7dmFyIFhNLEZ3ZT1mKCgpPT57WE09W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTggMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxOGguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDE4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMThoLjAxIn1dXX0pO3ZhciBRTSxCd2U9ZigoKT0+e1FNPVtbInBhdGgiLHtkOiJNMyAyMGEyIDIgMCAwIDAgMiAyaDEwYTIuNCAyLjQgMCAwIDAgMS43MDYtLjcwNmwzLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDIxIDE2VjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNSAyMnYtNWExIDEgMCAwIDEgMS0xaDUifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV1dfSk7dmFyIEpNLEh3ZT1mKCgpPT57Sk09W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTEwIDE2aDQifV1dfSk7dmFyIGVrLHF3ZT1mKCgpPT57ZWs9W1sicGF0aCIse2Q6Ik0xMi4xMjcgMjJINWEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjUuMTI1In1dLFsicGF0aCIse2Q6Ik0xNC42MiAxOC44QTIuMjUgMi4yNSAwIDEgMSAxOCAxNS44MzZhMi4yNSAyLjI1IDAgMSAxIDMuMzggMi45NjZsLTIuNjI2IDIuODU2YS45OTguOTk4IDAgMCAxLTEuNTA3IDB6In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dXX0pO3ZhciB0ayxWd2U9ZigoKT0+e3RrPVtbInBhdGgiLHtkOiJNNC4yIDQuMkEyIDIgMCAwIDAgMyA2djE0YTIgMiAwIDAgMCAyIDJoMTRhMiAyIDAgMCAwIDEuODItMS4xOCJ9XSxbInBhdGgiLHtkOiJNMjEgMTUuNVY2YTIgMiAwIDAgMC0yLTJIOS41In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTMgMTBoNyJ9XSxbInBhdGgiLHtkOiJNMjEgMTBoLTUuNSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXX0pO3ZhciBhayxqd2U9ZigoKT0+e2FrPVtbInBhdGgiLHtkOiJNMTYgMTloNiJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0yMSAxNVY2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoOC41In1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XV19KTt2YXIgcmssVXdlPWYoKCk9Pntyaz1bWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJNMTAgMTZoNCJ9XSxbInBhdGgiLHtkOiJNMTIgMTR2NCJ9XV19KTt2YXIgc2ssV3dlPWYoKCk9Pntzaz1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTcgMTRoLTYifV0sWyJwYXRoIix7ZDoiTTEzIDE4SDcifV0sWyJwYXRoIix7ZDoiTTcgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNyAxOGguMDEifV1dfSk7dmFyIGlrLEd3ZT1mKCgpPT57aWs9W1sicGF0aCIse2Q6Ik0xNiAxOWg2In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTE5IDE2djYifV0sWyJwYXRoIix7ZDoiTTIxIDEyLjU5OFY2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoOC41In1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XV19KTt2YXIgb2ssWXdlPWYoKCk9Pntvaz1bWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMjEgMTEuNzVWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDcuMjUifV0sWyJwYXRoIix7ZDoibTIyIDIyLTEuODc1LTEuODc1In1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciBuayxLd2U9ZigoKT0+e25rPVtbInBhdGgiLHtkOiJNMTEgMTB2NGg0In1dLFsicGF0aCIse2Q6Im0xMSAxNCAxLjUzNS0xLjYwNWE1IDUgMCAwIDEgOCAxLjUifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJtMjEgMTgtMS41MzUgMS42MDVhNSA1IDAgMCAxLTgtMS41In1dLFsicGF0aCIse2Q6Ik0yMSAyMnYtNGgtNCJ9XSxbInBhdGgiLHtkOiJNMjEgOC41VjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg0LjMifV0sWyJwYXRoIix7ZDoiTTMgMTBoNCJ9XSxbInBhdGgiLHtkOiJNOCAydjQifV1dfSk7dmFyIGxrLFp3ZT1mKCgpPT57bGs9W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0yMSAxM1Y2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoOCJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJtMTcgMjIgNS01In1dLFsicGF0aCIse2Q6Im0xNyAxNyA1IDUifV1dfSk7dmFyIGNrLFh3ZT1mKCgpPT57Y2s9W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoibTE0IDE0LTQgNCJ9XSxbInBhdGgiLHtkOiJtMTAgMTQgNCA0In1dXX0pO3ZhciBkayxRd2U9ZigoKT0+e2RrPVtbInBhdGgiLHtkOiJNOCAydjQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dXX0pO3ZhciB1ayxKd2U9ZigoKT0+e3VrPVtbInBhdGgiLHtkOiJNMTIgMnYyIn1dLFsicGF0aCIse2Q6Ik0xNS43MjYgMjEuMDFBMiAyIDAgMCAxIDE0IDIySDRhMiAyIDAgMCAxLTItMlYxMGEyIDIgMCAwIDEgMi0yIn1dLFsicGF0aCIse2Q6Ik0xOCAydjIifV0sWyJwYXRoIix7ZDoiTTIgMTNoMiJ9XSxbInBhdGgiLHtkOiJNOCA4aDE0In1dLFsicmVjdCIse3g6IjgiLHk6IjMiLHdpZHRoOiIxNCIsaGVpZ2h0OiIxNCIscng6IjIifV1dfSk7dmFyIHBrLGVNZT1mKCgpPT57cGs9W1sicGF0aCIse2Q6Ik0xNC41NjQgMTQuNTU4YTMgMyAwIDEgMS00LjEyMi00LjEyMSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yMCAyMEg0YTIgMiAwIDAgMS0yLTJWOWEyIDIgMCAwIDEgMi0yaDEuOTk3YTIgMiAwIDAgMCAuODE5LS4xNzUifV0sWyJwYXRoIix7ZDoiTTkuNjk1IDQuMDI0QTIgMiAwIDAgMSAxMC4wMDQgNGgzLjk5M2EyIDIgMCAwIDEgMS43NiAxLjA1bC40ODYuOUEyIDIgMCAwIDAgMTguMDAzIDdIMjBhMiAyIDAgMCAxIDIgMnY3LjM0NCJ9XV19KTt2YXIgZmssdE1lPWYoKCk9Pntmaz1bWyJwYXRoIix7ZDoiTTEzLjk5NyA0YTIgMiAwIDAgMSAxLjc2IDEuMDVsLjQ4Ni45QTIgMiAwIDAgMCAxOC4wMDMgN0gyMGEyIDIgMCAwIDEgMiAydjlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWOWEyIDIgMCAwIDEgMi0yaDEuOTk3YTIgMiAwIDAgMCAxLjc1OS0xLjA0OGwuNDg5LS45MDRBMiAyIDAgMCAxIDEwLjAwNCA0eiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiIzIn1dXX0pO3ZhciBoayxhTWU9ZigoKT0+e2hrPVtbInBhdGgiLHtkOiJNNS43IDIxYTIgMiAwIDAgMS0zLjUtMmw4LjYtMTRhNiA2IDAgMCAxIDEwLjQgNiAyIDIgMCAxIDEtMy40NjQtMiAyIDIgMCAxIDAtMy40NjQtMloifV0sWyJwYXRoIix7ZDoiTTE3Ljc1IDcgMTUgMi4xIn1dLFsicGF0aCIse2Q6Ik0xMC45IDQuOCAxMyA5In1dLFsicGF0aCIse2Q6Im03LjkgOS43IDIgNC40In1dLFsicGF0aCIse2Q6Ik00LjkgMTQuNyA3IDE4LjkifV1dfSk7dmFyIG1rLHJNZT1mKCgpPT57bWs9W1sicGF0aCIse2Q6Ik0xMCA3djEwLjkifV0sWyJwYXRoIix7ZDoiTTE0IDYuMVYxNyJ9XSxbInBhdGgiLHtkOiJNMTYgN1YzYTEgMSAwIDAgMSAxLjcwNy0uNzA3IDIuNSAyLjUgMCAwIDAgMi4xNTIuNzE3IDEgMSAwIDAgMSAxLjEzMSAxLjEzMSAyLjUgMi41IDAgMCAwIC43MTcgMi4xNTJBMSAxIDAgMCAxIDIxIDhoLTQifV0sWyJwYXRoIix7ZDoiTTE2LjUzNiA3LjQ2NWE1IDUgMCAwIDAtNy4wNzIgMGwtMiAyYTUgNSAwIDAgMCAwIDcuMDcgNSA1IDAgMCAwIDcuMDcyIDBsMi0yYTUgNSAwIDAgMCAwLTcuMDcifV0sWyJwYXRoIix7ZDoiTTggMTd2NGExIDEgMCAwIDEtMS43MDcuNzA3IDIuNSAyLjUgMCAwIDAtMi4xNTItLjcxNyAxIDEgMCAwIDEtMS4xMzEtMS4xMzEgMi41IDIuNSAwIDAgMC0uNzE3LTIuMTUyQTEgMSAwIDAgMSAzIDE2aDQifV1dfSk7dmFyIGdrLHNNZT1mKCgpPT57Z2s9W1sicGF0aCIse2Q6Ik0xMCAxMHY3LjkifV0sWyJwYXRoIix7ZDoiTTExLjgwMiA2LjE0NWE1IDUgMCAwIDEgNi4wNTMgNi4wNTMifV0sWyJwYXRoIix7ZDoiTTE0IDYuMXYyLjI0MyJ9XSxbInBhdGgiLHtkOiJtMTUuNSAxNS41NzEtLjk2NC45NjRhNSA1IDAgMCAxLTcuMDcxIDAgNSA1IDAgMCAxIDAtNy4wN2wuOTY0LS45NjUifV0sWyJwYXRoIix7ZDoiTTE2IDdWM2ExIDEgMCAwIDEgMS43MDctLjcwNyAyLjUgMi41IDAgMCAwIDIuMTUyLjcxNyAxIDEgMCAwIDEgMS4xMzEgMS4xMzEgMi41IDIuNSAwIDAgMCAuNzE3IDIuMTUyQTEgMSAwIDAgMSAyMSA4aC00In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTggMTd2NGExIDEgMCAwIDEtMS43MDcuNzA3IDIuNSAyLjUgMCAwIDAtMi4xNTItLjcxNyAxIDEgMCAwIDEtMS4xMzEtMS4xMzEgMi41IDIuNSAwIDAgMC0uNzE3LTIuMTUyQTEgMSAwIDAgMSAzIDE2aDQifV1dfSk7dmFyIGJrLGlNZT1mKCgpPT57Yms9W1sicGF0aCIse2Q6Ik0xMiAyMnYtNGMxLjUgMS41IDMuNSAzIDYgMyAwLTEuNS0uNS0zLjUtMi01In1dLFsicGF0aCIse2Q6Ik0xMy45ODggOC4zMjdDMTMuOTAyIDYuMDU0IDEzLjM2NSAzLjgyIDEyIDJhOS4zIDkuMyAwIDAgMC0xLjQ0NSAyLjkifV0sWyJwYXRoIix7ZDoiTTE3LjM3NSAxMS43MjVDMTguODgyIDEwLjUzIDIxIDcuODQxIDIxIDZjLTIuMzI0IDAtNS4wOCAxLjI5Ni02LjY2MiAyLjY4NCJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yMS4wMjQgMTUuMzc4QTE1IDE1IDAgMCAwIDIyIDE1Yy0uNDI2LTEuMjc5LTIuNjctMi41NTctNC4yNS0yLjkwNyJ9XSxbInBhdGgiLHtkOiJNNi45OTUgNi45OTJDNS43MTQgNi40IDQuMjkgNiAzIDZjMCAyIDIuNSA1IDQgNi0xLjUgMC00LjUgMS41LTUgMyAzLjUgMS41IDYgMSA2IDEtMS41IDEuNS0yIDMuNS0yIDUgMi41IDAgNC41LTEuNSA2LTMifV1dfSk7dmFyIHZrLG9NZT1mKCgpPT57dms9W1sicGF0aCIse2Q6Ik0xMiAyMnYtNCJ9XSxbInBhdGgiLHtkOiJNNyAxMmMtMS41IDAtNC41IDEuNS01IDMgMy41IDEuNSA2IDEgNiAxLTEuNSAxLjUtMiAzLjUtMiA1IDIuNSAwIDQuNS0xLjUgNi0zIDEuNSAxLjUgMy41IDMgNiAzIDAtMS41LS41LTMuNS0yLTUgMCAwIDIuNS41IDYtMS0uNS0xLjUtMy41LTMtNS0zIDEuNS0xIDQtNCA0LTYtMi41IDAtNS41IDEuNS03IDMgMC0yLjUtLjUtNS0yLTctMS41IDItMiA0LjUtMiA3LTEuNS0xLjUtNC41LTMtNy0zIDAgMiAyLjUgNSA0IDYifV1dfSk7dmFyIHhrLG5NZT1mKCgpPT57eGs9W1sicGF0aCIse2Q6Ik0xMC41IDVIMTlhMiAyIDAgMCAxIDIgMnY4LjUifV0sWyJwYXRoIix7ZDoiTTE3IDExaC0uNSJ9XSxbInBhdGgiLHtkOiJNMTkgMTlINWEyIDIgMCAwIDEtMi0yVjdhMiAyIDAgMCAxIDItMiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik03IDExaDQifV0sWyJwYXRoIix7ZDoiTTcgMTVoMi41In1dXX0pO3ZhciBQZCxsTWU9ZigoKT0+e1BkPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTQiLHg6IjMiLHk6IjUiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNNyAxNWg0TTE1IDE1aDJNNyAxMWgyTTEzIDExaDQifV1dfSk7dmFyIHlrLGNNZT1mKCgpPT57eWs9W1sicGF0aCIse2Q6Im0yMSA4LTIgMi0xLjUtMy43QTIgMiAwIDAgMCAxNS42NDYgNUg4LjRhMiAyIDAgMCAwLTEuOTAzIDEuMjU3TDUgMTAgMyA4In1dLFsicGF0aCIse2Q6Ik03IDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcgMTRoLjAxIn1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiI4Iix4OiIzIix5OiIxMCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTUgMTh2MiJ9XSxbInBhdGgiLHtkOiJNMTkgMTh2MiJ9XV19KTt2YXIgd2ssZE1lPWYoKCk9Pnt3az1bWyJwYXRoIix7ZDoiTTE5IDE3aDJjLjYgMCAxLS40IDEtMXYtM2MwLS45LS43LTEuNy0xLjUtMS45QzE4LjcgMTAuNiAxNiAxMCAxNiAxMHMtMS4zLTEuNC0yLjItMi4zYy0uNS0uNC0xLjEtLjctMS44LS43SDVjLS42IDAtMS4xLjQtMS40LjlsLTEuNCAyLjlBMy43IDMuNyAwIDAgMCAyIDEydjRjMCAuNi40IDEgMSAxaDIifV0sWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjE3IixyOiIyIn1dLFsicGF0aCIse2Q6Ik05IDE3aDYifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxNyIscjoiMiJ9XV19KTt2YXIgTWssdU1lPWYoKCk9PntNaz1bWyJwYXRoIix7ZDoiTTEwIDJoNCJ9XSxbInBhdGgiLHtkOiJtMjEgOC0yIDItMS41LTMuN0EyIDIgMCAwIDAgMTUuNjQ2IDVIOC40YTIgMiAwIDAgMC0xLjkwMyAxLjI1N0w1IDEwIDMgOCJ9XSxbInBhdGgiLHtkOiJNNyAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTE3IDE0aC4wMSJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiOCIseDoiMyIseToiMTAiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik01IDE4djIifV0sWyJwYXRoIix7ZDoiTTE5IDE4djIifV1dfSk7dmFyIGtrLHBNZT1mKCgpPT57a2s9W1sicGF0aCIse2Q6Ik0xOCAxOVY5YTQgNCAwIDAgMC00LTRINmE0IDQgMCAwIDAtNCA0djhhMiAyIDAgMCAwIDIgMmgyIn1dLFsicGF0aCIse2Q6Ik0yIDloM2ExIDEgMCAwIDEgMSAxdjJhMSAxIDAgMCAxLTEgMUgyIn1dLFsicGF0aCIse2Q6Ik0yMiAxN3YxYTEgMSAwIDAgMS0xIDFIMTB2LTlhMSAxIDAgMCAxIDEtMWgyYTEgMSAwIDAgMSAxIDF2OSJ9XSxbImNpcmNsZSIse2N4OiI4IixjeToiMTkiLHI6IjIifV1dfSk7dmFyIFNrLGZNZT1mKCgpPT57U2s9W1sicGF0aCIse2Q6Ik0xMiAxNHY0In1dLFsicGF0aCIse2Q6Ik0xNC4xNzIgMmEyIDIgMCAwIDEgMS40MTQuNTg2bDMuODI4IDMuODI4QTIgMiAwIDAgMSAyMCA3LjgyOFYyMGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJ6In1dLFsicGF0aCIse2Q6Ik04IDE0aDgifV0sWyJyZWN0Iix7eDoiOCIseToiMTAiLHdpZHRoOiI4IixoZWlnaHQ6IjgiLHJ4OiIxIn1dXX0pO3ZhciB6ayxoTWU9ZigoKT0+e3prPVtbInBhdGgiLHtkOiJNMi4yNyAyMS43czkuODctMy41IDEyLjczLTYuMzZhNC41IDQuNSAwIDAgMC02LjM2LTYuMzdDNS43NyAxMS44NCAyLjI3IDIxLjcgMi4yNyAyMS43ek04LjY0IDE0bC0yLjA1LTIuMDRNMTUuMzQgMTVsLTIuNDYtMi40NiJ9XSxbInBhdGgiLHtkOiJNMjIgOXMtMS4zMy0yLTMuNS0yQzE2Ljg2IDcgMTUgOSAxNSA5czEuMzMgMiAzLjUgMlMyMiA5IDIyIDl6In1dLFsicGF0aCIse2Q6Ik0xNSAycy0yIDEuMzMtMiAzLjVTMTUgOSAxNSA5czItMS44NCAyLTMuNUMxNyAzLjMzIDE1IDIgMTUgMnoifV1dfSk7dmFyIENrLG1NZT1mKCgpPT57Q2s9W1sicGF0aCIse2Q6Ik0xMCA5djcifV0sWyJwYXRoIix7ZDoiTTE0IDZ2MTAifV0sWyJjaXJjbGUiLHtjeDoiMTcuNSIsY3k6IjEyLjUiLHI6IjMuNSJ9XSxbImNpcmNsZSIse2N4OiI2LjUiLGN5OiIxMi41IixyOiIzLjUifV1dfSk7dmFyIF9rLGdNZT1mKCgpPT57X2s9W1sicGF0aCIse2Q6Im0yIDE2IDQuMDM5LTkuNjlhLjUuNSAwIDAgMSAuOTIzIDBMMTEgMTYifV0sWyJwYXRoIix7ZDoiTTIyIDl2NyJ9XSxbInBhdGgiLHtkOiJNMy4zMDQgMTNoNi4zOTIifV0sWyJjaXJjbGUiLHtjeDoiMTguNSIsY3k6IjEyLjUiLHI6IjMuNSJ9XV19KTt2YXIgVGssYk1lPWYoKCk9PntUaz1bWyJwYXRoIix7ZDoiTTE1IDExaDQuNWExIDEgMCAwIDEgMCA1aC00YS41LjUgMCAwIDEtLjUtLjV2LTlhLjUuNSAwIDAgMSAuNS0uNWgzYTEgMSAwIDAgMSAwIDUifV0sWyJwYXRoIix7ZDoibTIgMTYgNC4wMzktOS42OWEuNS41IDAgMCAxIC45MjMgMEwxMSAxNiJ9XSxbInBhdGgiLHtkOiJNMy4zMDQgMTNoNi4zOTIifV1dfSk7dmFyIExrLHZNZT1mKCgpPT57TGs9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNiIseDoiMiIseToiNCIscng6IjIifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjEwIixyOiIyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxMCIscjoiMiJ9XSxbInBhdGgiLHtkOiJtNiAyMCAuNy0yLjlBMS40IDEuNCAwIDAgMSA4LjEgMTZoNy44YTEuNCAxLjQgMCAwIDEgMS40IDFsLjcgMyJ9XV19KTt2YXIgJGsseE1lPWYoKCk9Pnskaz1bWyJwYXRoIix7ZDoiTTIgOFY2YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnYxMmEyIDIgMCAwIDEtMiAyaC02In1dLFsicGF0aCIse2Q6Ik0yIDEyYTkgOSAwIDAgMSA4IDgifV0sWyJwYXRoIix7ZDoiTTIgMTZhNSA1IDAgMCAxIDQgNCJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIuMDEiLHkxOiIyMCIseTI6IjIwIn1dXX0pO3ZhciBEayx5TWU9ZigoKT0+e0RrPVtbInBhdGgiLHtkOiJNMTAgNVYzIn1dLFsicGF0aCIse2Q6Ik0xNCA1VjMifV0sWyJwYXRoIix7ZDoiTTE1IDIxdi0zYTMgMyAwIDAgMC02IDB2MyJ9XSxbInBhdGgiLHtkOiJNMTggM3Y4In1dLFsicGF0aCIse2Q6Ik0xOCA1SDYifV0sWyJwYXRoIix7ZDoiTTIyIDExSDIifV0sWyJwYXRoIix7ZDoiTTIyIDl2MTBhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWOSJ9XSxbInBhdGgiLHtkOiJNNiAzdjgifV1dfSk7dmFyIEFrLHdNZT1mKCgpPT57QWs9W1sicGF0aCIse2Q6Ik0xMiA1Yy42NyAwIDEuMzUuMDkgMiAuMjYgMS43OC0yIDUuMDMtMi44NCA2LjQyLTIuMjYgMS40LjU4LS40MiA3LS40MiA3IC41NyAxLjA3IDEgMi4yNCAxIDMuNDRDMjEgMTcuOSAxNi45NyAyMSAxMiAyMXMtOS0zLTktNy41NmMwLTEuMjUuNS0yLjQgMS0zLjQ0IDAgMC0xLjg5LTYuNDItLjUtNyAxLjM5LS41OCA0LjcyLjIzIDYuNSAyLjIzQTkuMDQgOS4wNCAwIDAgMSAxMiA1WiJ9XSxbInBhdGgiLHtkOiJNOCAxNHYuNSJ9XSxbInBhdGgiLHtkOiJNMTYgMTR2LjUifV0sWyJwYXRoIix7ZDoiTTExLjI1IDE2LjI1aDEuNUwxMiAxN2wtLjc1LS43NVoifV1dfSk7dmFyIEVrLE1NZT1mKCgpPT57RWs9W1sicGF0aCIse2Q6Im0xMi4zMDkgNi42NTIgNC43OTcgMi40MDFhMSAxIDAgMCAxIC40NDcgMS4zNDFsLS41MDEgMS4wMDEuNjA1LjYwNWgyLjcyNWExIDEgMCAwIDEgLjg5NCAxLjQ0N2wtLjcyNCAxLjQ0OCJ9XSxbInBhdGgiLHtkOiJtMTUuMTY2IDE1LjE2Ni0uNzE5IDEuNDM5YTEgMSAwIDAgMS0xLjM0Mi40NDdMMy42MSAxMi4zYTIuOTIgMi45MiAwIDAgMS0xLjMtMy45MUwzLjY5IDUuNmEyLjkgMi45IDAgMCAxIC44NzMtMS4wMzcifV0sWyJwYXRoIix7ZDoiTTIgMTloMy43NmEyIDIgMCAwIDAgMS44LTEuMWwxLjQ0MS0yLjkwMiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yIDIxdi00In1dLFsicGF0aCIse2Q6Ik03IDloLjAxIn1dXX0pO3ZhciBQayxrTWU9ZigoKT0+e1BrPVtbInBhdGgiLHtkOiJNMTYuNzUgMTJoMy42MzJhMSAxIDAgMCAxIC44OTQgMS40NDdsLTIuMDM0IDQuMDY5YTEgMSAwIDAgMS0xLjcwOC4xMzRsLTIuMTI0LTIuOTcifV0sWyJwYXRoIix7ZDoiTTE3LjEwNiA5LjA1M2ExIDEgMCAwIDEgLjQ0NyAxLjM0MWwtMy4xMDYgNi4yMTFhMSAxIDAgMCAxLTEuMzQyLjQ0N0wzLjYxIDEyLjNhMi45MiAyLjkyIDAgMCAxLTEuMy0zLjkxTDMuNjkgNS42YTIuOTIgMi45MiAwIDAgMSAzLjkyLTEuM3oifV0sWyJwYXRoIix7ZDoiTTIgMTloMy43NmEyIDIgMCAwIDAgMS44LTEuMUw5IDE1In1dLFsicGF0aCIse2Q6Ik0yIDIxdi00In1dLFsicGF0aCIse2Q6Ik03IDloLjAxIn1dXX0pO3ZhciBJZCxTTWU9ZigoKT0+e0lkPVtbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJwYXRoIix7ZDoiTTcgMTEuMjA3YS41LjUgMCAwIDEgLjE0Ni0uMzUzbDItMmEuNS41IDAgMCAxIC43MDggMGwzLjI5MiAzLjI5MmEuNS41IDAgMCAwIC43MDggMGw0LjI5Mi00LjI5MmEuNS41IDAgMCAxIC44NTQuMzUzVjE2YTEgMSAwIDAgMS0xIDFIOGExIDEgMCAwIDEtMS0xeiJ9XV19KTt2YXIgTmQsek1lPWYoKCk9PntOZD1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicmVjdCIse3g6IjciLHk6IjEzIix3aWR0aDoiOSIsaGVpZ2h0OiI0IixyeDoiMSJ9XSxbInJlY3QiLHt4OiI3Iix5OiI1Iix3aWR0aDoiMTIiLGhlaWdodDoiNCIscng6IjEifV1dfSk7dmFyIElrLENNZT1mKCgpPT57SWs9W1sicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInBhdGgiLHtkOiJNNyAxMWg4In1dLFsicGF0aCIse2Q6Ik03IDE2aDMifV0sWyJwYXRoIix7ZDoiTTcgNmgxMiJ9XV19KTt2YXIgTmssX01lPWYoKCk9PntOaz1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Ik03IDExaDgifV0sWyJwYXRoIix7ZDoiTTcgMTZoMTIifV0sWyJwYXRoIix7ZDoiTTcgNmgzIn1dXX0pO3ZhciBSayxUTWU9ZigoKT0+e1JrPVtbInBhdGgiLHtkOiJNMTEgMTN2NCJ9XSxbInBhdGgiLHtkOiJNMTUgNXY0In1dLFsicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInJlY3QiLHt4OiI3Iix5OiIxMyIsd2lkdGg6IjkiLGhlaWdodDoiNCIscng6IjEifV0sWyJyZWN0Iix7eDoiNyIseToiNSIsd2lkdGg6IjEyIixoZWlnaHQ6IjQiLHJ4OiIxIn1dXX0pO3ZhciBSZCxMTWU9ZigoKT0+e1JkPVtbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJwYXRoIix7ZDoiTTcgMTZoOCJ9XSxbInBhdGgiLHtkOiJNNyAxMWgxMiJ9XSxbInBhdGgiLHtkOiJNNyA2aDMifV1dfSk7dmFyIE9kLCRNZT1mKCgpPT57T2Q9W1sicGF0aCIse2Q6Ik05IDV2NCJ9XSxbInJlY3QiLHt3aWR0aDoiNCIsaGVpZ2h0OiI2Iix4OiI3Iix5OiI5IixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNOSAxNXYyIn1dLFsicGF0aCIse2Q6Ik0xNyAzdjIifV0sWyJyZWN0Iix7d2lkdGg6IjQiLGhlaWdodDoiOCIseDoiMTUiLHk6IjUiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik0xNyAxM3YzIn1dLFsicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XV19KTt2YXIgRmQsRE1lPWYoKCk9PntGZD1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicmVjdCIse3g6IjE1Iix5OiI1Iix3aWR0aDoiNCIsaGVpZ2h0OiIxMiIscng6IjEifV0sWyJyZWN0Iix7eDoiNyIseToiOCIsd2lkdGg6IjQiLGhlaWdodDoiOSIscng6IjEifV1dfSk7dmFyIE9rLEFNZT1mKCgpPT57T2s9W1sicGF0aCIse2Q6Ik0xMyAxN1Y5In1dLFsicGF0aCIse2Q6Ik0xOCAxN3YtMyJ9XSxbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJwYXRoIix7ZDoiTTggMTdWNSJ9XV19KTt2YXIgQmQsRU1lPWYoKCk9PntCZD1bWyJwYXRoIix7ZDoiTTEzIDE3VjkifV0sWyJwYXRoIix7ZDoiTTE4IDE3VjUifV0sWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Ik04IDE3di0zIn1dXX0pO3ZhciBGayxQTWU9ZigoKT0+e0ZrPVtbInBhdGgiLHtkOiJNMTEgMTNINyJ9XSxbInBhdGgiLHtkOiJNMTkgOWgtNCJ9XSxbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJyZWN0Iix7eDoiMTUiLHk6IjUiLHdpZHRoOiI0IixoZWlnaHQ6IjEyIixyeDoiMSJ9XSxbInJlY3QiLHt4OiI3Iix5OiI4Iix3aWR0aDoiNCIsaGVpZ2h0OiI5IixyeDoiMSJ9XV19KTt2YXIgSGQsSU1lPWYoKCk9PntIZD1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Ik0xOCAxN1Y5In1dLFsicGF0aCIse2Q6Ik0xMyAxN1Y1In1dLFsicGF0aCIse2Q6Ik04IDE3di0zIn1dXX0pO3ZhciBCayxOTWU9ZigoKT0+e0JrPVtbInBhdGgiLHtkOiJNMTAgNmg4In1dLFsicGF0aCIse2Q6Ik0xMiAxNmg2In1dLFsicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInBhdGgiLHtkOiJNOCAxMWg3In1dXX0pO3ZhciBxZCxSTWU9ZigoKT0+e3FkPVtbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJwYXRoIix7ZDoibTE5IDktNSA1LTQtNC0zIDMifV1dfSk7dmFyIEhrLE9NZT1mKCgpPT57SGs9W1sicGF0aCIse2Q6Im0xMy4xMSA3LjY2NCAxLjc4IDIuNjcyIn1dLFsicGF0aCIse2Q6Im0xNC4xNjIgMTIuNzg4LTMuMzI0IDEuNDI0In1dLFsicGF0aCIse2Q6Im0yMCA0LTYuMDYgMS41MTUifV0sWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiNiIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjEyIixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiIxNSIscjoiMiJ9XV19KTt2YXIgcWssRk1lPWYoKCk9Pntxaz1bWyJwYXRoIix7ZDoiTTUgMjFWMyJ9XSxbInBhdGgiLHtkOiJNMTIgMjFWOSJ9XSxbInBhdGgiLHtkOiJNMTkgMjF2LTYifV1dfSk7dmFyIFZkLEJNZT1mKCgpPT57VmQ9W1sicGF0aCIse2Q6Ik01IDIxdi02In1dLFsicGF0aCIse2Q6Ik0xMiAyMVY5In1dLFsicGF0aCIse2Q6Ik0xOSAyMVYzIn1dXX0pO3ZhciBqZCxITWU9ZigoKT0+e2pkPVtbInBhdGgiLHtkOiJNNSAyMXYtNiJ9XSxbInBhdGgiLHtkOiJNMTIgMjFWMyJ9XSxbInBhdGgiLHtkOiJNMTkgMjFWOSJ9XV19KTt2YXIgVmsscU1lPWYoKCk9PntWaz1bWyJwYXRoIix7ZDoiTTEyIDE2djUifV0sWyJwYXRoIix7ZDoiTTE2IDE0djcifV0sWyJwYXRoIix7ZDoiTTIwIDEwdjExIn1dLFsicGF0aCIse2Q6Im0yMiAzLTguNjQ2IDguNjQ2YS41LjUgMCAwIDEtLjcwOCAwTDkuMzU0IDguMzU0YS41LjUgMCAwIDAtLjcwNyAwTDIgMTUifV0sWyJwYXRoIix7ZDoiTTQgMTh2MyJ9XSxbInBhdGgiLHtkOiJNOCAxNHY3In1dXX0pO3ZhciBVZCxWTWU9ZigoKT0+e1VkPVtbInBhdGgiLHtkOiJNNiA1aDEyIn1dLFsicGF0aCIse2Q6Ik00IDEyaDEwIn1dLFsicGF0aCIse2Q6Ik0xMiAxOWg4In1dXX0pO3ZhciBXZCxqTWU9ZigoKT0+e1dkPVtbInBhdGgiLHtkOiJNMjEgMTJjLjU1MiAwIDEuMDA1LS40NDkuOTUtLjk5OGExMCAxMCAwIDAgMC04Ljk1My04Ljk1MWMtLjU1LS4wNTUtLjk5OC4zOTgtLjk5OC45NXY4YTEgMSAwIDAgMCAxIDF6In1dLFsicGF0aCIse2Q6Ik0yMS4yMSAxNS44OUExMCAxMCAwIDEgMSA4IDIuODMifV1dfSk7dmFyIEdkLFVNZT1mKCgpPT57R2Q9W1siY2lyY2xlIix7Y3g6IjcuNSIsY3k6IjcuNSIscjoiLjUiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XSxbImNpcmNsZSIse2N4OiIxOC41IixjeToiNS41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsiY2lyY2xlIix7Y3g6IjExLjUiLGN5OiIxMS41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsiY2lyY2xlIix7Y3g6IjcuNSIsY3k6IjE2LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJjaXJjbGUiLHtjeDoiMTcuNSIsY3k6IjE0LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dXX0pO3ZhciBqayxXTWU9ZigoKT0+e2prPVtbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJwYXRoIix7ZDoiTTcgMTZjLjUtMiAxLjUtNyA0LTcgMiAwIDIgMyA0IDMgMi41IDAgNC41LTUgNS03In1dXX0pO3ZhciBVayxHTWU9ZigoKT0+e1VrPVtbInBhdGgiLHtkOiJNMTggNiA3IDE3bC01LTUifV0sWyJwYXRoIix7ZDoibTIyIDEwLTcuNSA3LjVMMTMgMTYifV1dfSk7dmFyIFdrLFlNZT1mKCgpPT57V2s9W1sicGF0aCIse2Q6Ik0yMCA0TDkgMTUifV0sWyJwYXRoIix7ZDoiTTIxIDE5TDMgMTkifV0sWyJwYXRoIix7ZDoiTTkgMTVMNCAxMCJ9XV19KTt2YXIgR2ssS01lPWYoKCk9PntHaz1bWyJwYXRoIix7ZDoiTTIwIDYgOSAxN2wtNS01In1dXX0pO3ZhciBZayxaTWU9ZigoKT0+e1lrPVtbInBhdGgiLHtkOiJNMTcgMjFhMSAxIDAgMCAwIDEtMXYtNS4zNWMwLS40NTcuMzE2LS44NDQuNzI3LTEuMDQxYTQgNCAwIDAgMC0yLjEzNC03LjU4OSA1IDUgMCAwIDAtOS4xODYgMCA0IDQgMCAwIDAtMi4xMzQgNy41ODhjLjQxMS4xOTguNzI3LjU4NS43MjcgMS4wNDFWMjBhMSAxIDAgMCAwIDEgMVoifV0sWyJwYXRoIix7ZDoiTTYgMTdoMTIifV1dfSk7dmFyIEtrLFhNZT1mKCgpPT57S2s9W1sicGF0aCIse2Q6Ik0yIDE3YTUgNSAwIDAgMCAxMCAwYzAtMi43Ni0yLjUtNS01LTMtMi41LTItNSAuMjQtNSAzWiJ9XSxbInBhdGgiLHtkOiJNMTIgMTdhNSA1IDAgMCAwIDEwIDBjMC0yLjc2LTIuNS01LTUtMy0yLjUtMi01IC4yNC01IDNaIn1dLFsicGF0aCIse2Q6Ik03IDE0YzMuMjItMi45MSA0LjI5LTguNzUgNS0xMiAxLjY2IDIuMzggNC45NCA5IDUgMTIifV0sWyJwYXRoIix7ZDoiTTIyIDljLTQuMjkgMC03LjE0LTIuMzMtMTAtNyA1LjcxIDAgMTAgNC42NyAxMCA3WiJ9XV19KTt2YXIgWmssUU1lPWYoKCk9Pntaaz1bWyJwYXRoIix7ZDoiTTQgMjBhMiAyIDAgMCAxIDItMmgxMmEyIDIgMCAwIDEgMiAydjFhMSAxIDAgMCAxLTEgMUg1YTEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Im02LjcgMTgtMS0xQzQuMzUgMTUuNjgyIDMgMTQuMDkgMyAxMmE1IDUgMCAwIDEgNC45NS01YzEuNTg0IDAgMi43LjQ1NSA0LjA1IDEuODE4QzEzLjM1IDcuNDU1IDE0LjQ2NiA3IDE2LjA1IDdBNSA1IDAgMCAxIDIxIDEyYzAgMi4wODItMS4zNTkgMy42NzMtMi43IDVsLTEgMSJ9XSxbInBhdGgiLHtkOiJNMTAgNGg0In1dLFsicGF0aCIse2Q6Ik0xMiAydjYuODE4In1dXX0pO3ZhciBYayxKTWU9ZigoKT0+e1hrPVtbInBhdGgiLHtkOiJNNSAyMGEyIDIgMCAwIDEgMi0yaDEwYTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDZhMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoiTTE1IDE4YzEuNS0uNjE1IDMtMi40NjEgMy00LjkyM0MxOCA4Ljc2OSAxNC41IDQuNDYyIDEyIDIgOS41IDQuNDYyIDYgOC43NyA2IDEzLjA3NyA2IDE1LjUzOSA3LjUgMTcuMzg1IDkgMTgifV0sWyJwYXRoIix7ZDoibTE2IDctMi41IDIuNSJ9XSxbInBhdGgiLHtkOiJNOSAyaDYifV1dfSk7dmFyIFFrLGVrZT1mKCgpPT57UWs9W1sicGF0aCIse2Q6Ik01IDIwYTIgMiAwIDAgMSAyLTJoMTBhMiAyIDAgMCAxIDIgMnYxYTEgMSAwIDAgMS0xIDFINmExIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJNMTYuNSAxOGMxLTIgMi41LTUgMi41LTlhNyA3IDAgMCAwLTctN0g2LjYzNWExIDEgMCAwIDAtLjc2OCAxLjY0TDcgNWwtMi4zMiA1LjgwMmEyIDIgMCAwIDAgLjk1IDIuNTI2bDIuODcgMS40NTYifV0sWyJwYXRoIix7ZDoibTE1IDUgMS40MjUtMS40MjUifV0sWyJwYXRoIix7ZDoibTE3IDggMS41My0xLjUzIn1dLFsicGF0aCIse2Q6Ik05LjcxMyAxMi4xODUgNyAxOCJ9XV19KTt2YXIgSmssdGtlPWYoKCk9PntKaz1bWyJwYXRoIix7ZDoiTTUgMjBhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAydjFhMSAxIDAgMCAxLTEgMUg2YTEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Im0xNC41IDEwIDEuNSA4In1dLFsicGF0aCIse2Q6Ik03IDEwaDEwIn1dLFsicGF0aCIse2Q6Im04IDE4IDEuNS04In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiNiIscjoiNCJ9XV19KTt2YXIgZVMsYWtlPWYoKCk9PntlUz1bWyJwYXRoIix7ZDoiTTUgMjBhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAydjFhMSAxIDAgMCAxLTEgMUg2YTEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Ik0xMCAydjIifV0sWyJwYXRoIix7ZDoiTTE0IDJ2MiJ9XSxbInBhdGgiLHtkOiJtMTcgMTgtMS05In1dLFsicGF0aCIse2Q6Ik02IDJ2NWEyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDItMlYyIn1dLFsicGF0aCIse2Q6Ik02IDRoMTIifV0sWyJwYXRoIix7ZDoibTcgMTggMS05In1dXX0pO3ZhciB0Uyxya2U9ZigoKT0+e3RTPVtbInBhdGgiLHtkOiJtNiA5IDYgNiA2LTYifV1dfSk7dmFyIGFTLHNrZT1mKCgpPT57YVM9W1sicGF0aCIse2Q6Ik00IDIwYTIgMiAwIDAgMSAyLTJoMTJhMiAyIDAgMCAxIDIgMnYxYTEgMSAwIDAgMS0xIDFINWExIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJtMTIuNDc0IDUuOTQzIDEuNTY3IDUuMzRhMSAxIDAgMCAwIDEuNzUuMzI4bDIuNjE2LTMuNDAyIn1dLFsicGF0aCIse2Q6Im0yMCA5LTMgOSJ9XSxbInBhdGgiLHtkOiJtNS41OTQgOC4yMDkgMi42MTUgMy40MDNhMSAxIDAgMCAwIDEuNzUtLjMyOWwxLjU2Ny01LjM0In1dLFsicGF0aCIse2Q6Ik03IDE4IDQgOSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjQiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiI3IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiI3IixyOiIyIn1dXX0pO3ZhciByUyxpa2U9ZigoKT0+e3JTPVtbInBhdGgiLHtkOiJtMTcgMTgtNi02IDYtNiJ9XSxbInBhdGgiLHtkOiJNNyA2djEyIn1dXX0pO3ZhciBzUyxva2U9ZigoKT0+e3NTPVtbInBhdGgiLHtkOiJtNyAxOCA2LTYtNi02In1dLFsicGF0aCIse2Q6Ik0xNyA2djEyIn1dXX0pO3ZhciBpUyxua2U9ZigoKT0+e2lTPVtbInBhdGgiLHtkOiJtMTUgMTgtNi02IDYtNiJ9XV19KTt2YXIgb1MsbGtlPWYoKCk9PntvUz1bWyJwYXRoIix7ZDoibTkgMTggNi02LTYtNiJ9XV19KTt2YXIgblMsY2tlPWYoKCk9PntuUz1bWyJwYXRoIix7ZDoibTE4IDE1LTYtNi02IDYifV1dfSk7dmFyIGxTLGRrZT1mKCgpPT57bFM9W1sicGF0aCIse2Q6Im03IDIwIDUtNSA1IDUifV0sWyJwYXRoIix7ZDoibTcgNCA1IDUgNS01In1dXX0pO3ZhciBjUyx1a2U9ZigoKT0+e2NTPVtbInBhdGgiLHtkOiJtNyA2IDUgNSA1LTUifV0sWyJwYXRoIix7ZDoibTcgMTMgNSA1IDUtNSJ9XV19KTt2YXIgZFMscGtlPWYoKCk9PntkUz1bWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoLjAxIn1dLFsicGF0aCIse2Q6Im0xNyA3IDUgNS01IDUifV0sWyJwYXRoIix7ZDoibTcgNy01IDUgNSA1In1dLFsicGF0aCIse2Q6Ik04IDEyaC4wMSJ9XV19KTt2YXIgdVMsZmtlPWYoKCk9Pnt1Uz1bWyJwYXRoIix7ZDoibTkgNy01IDUgNSA1In1dLFsicGF0aCIse2Q6Im0xNSA3IDUgNS01IDUifV1dfSk7dmFyIHBTLGhrZT1mKCgpPT57cFM9W1sicGF0aCIse2Q6Im0xMSAxNy01LTUgNS01In1dLFsicGF0aCIse2Q6Im0xOCAxNy01LTUgNS01In1dXX0pO3ZhciBmUyxta2U9ZigoKT0+e2ZTPVtbInBhdGgiLHtkOiJtMjAgMTctNS01IDUtNSJ9XSxbInBhdGgiLHtkOiJtNCAxNyA1LTUtNS01In1dXX0pO3ZhciBoUyxna2U9ZigoKT0+e2hTPVtbInBhdGgiLHtkOiJtNiAxNyA1LTUtNS01In1dLFsicGF0aCIse2Q6Im0xMyAxNyA1LTUtNS01In1dXX0pO3ZhciBtUyxia2U9ZigoKT0+e21TPVtbInBhdGgiLHtkOiJtMTcgMTEtNS01LTUgNSJ9XSxbInBhdGgiLHtkOiJtMTcgMTgtNS01LTUgNSJ9XV19KTt2YXIgZ1MsdmtlPWYoKCk9PntnUz1bWyJwYXRoIix7ZDoibTcgMTUgNSA1IDUtNSJ9XSxbInBhdGgiLHtkOiJtNyA5IDUtNSA1IDUifV1dfSk7dmFyIGJTLHhrZT1mKCgpPT57YlM9W1sicGF0aCIse2Q6Ik0xMCA5aDQifV0sWyJwYXRoIix7ZDoiTTEyIDd2NSJ9XSxbInBhdGgiLHtkOiJNMTQgMjF2LTNhMiAyIDAgMCAwLTQgMHYzIn1dLFsicGF0aCIse2Q6Im0xOCA5IDMuNTIgMi4xNDdhMSAxIDAgMCAxIC40OC44NTRWMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJ2LTYuOTk5YTEgMSAwIDAgMSAuNDgtLjg1NEw2IDkifV0sWyJwYXRoIix7ZDoiTTYgMjFWN2ExIDEgMCAwIDEgLjM3Ni0uNzgybDUtMy45OTlhMSAxIDAgMCAxIDEuMjQ5LjAwMWw1IDRBMSAxIDAgMCAxIDE4IDd2MTQifV1dfSk7dmFyIHZTLHlrZT1mKCgpPT57dlM9W1sicGF0aCIse2Q6Ik0xMiAxMkgzYTEgMSAwIDAgMC0xIDF2MmExIDEgMCAwIDAgMSAxaDEzIn1dLFsicGF0aCIse2Q6Ik0xOCA4YzAtMi41LTItMi41LTItNSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yMSAxMmExIDEgMCAwIDEgMSAxdjJhMSAxIDAgMCAxLS41Ljg2NiJ9XSxbInBhdGgiLHtkOiJNMjIgOGMwLTIuNS0yLTIuNS0yLTUifV0sWyJwYXRoIix7ZDoiTTcgMTJ2NCJ9XV19KTt2YXIgeFMsd2tlPWYoKCk9Pnt4Uz1bWyJwYXRoIix7ZDoiTTE3IDEySDNhMSAxIDAgMCAwLTEgMXYyYTEgMSAwIDAgMCAxIDFoMTQifV0sWyJwYXRoIix7ZDoiTTE4IDhjMC0yLjUtMi0yLjUtMi01In1dLFsicGF0aCIse2Q6Ik0yMSAxNmExIDEgMCAwIDAgMS0xdi0yYTEgMSAwIDAgMC0xLTEifV0sWyJwYXRoIix7ZDoiTTIyIDhjMC0yLjUtMi0yLjUtMi01In1dLFsicGF0aCIse2Q6Ik03IDEydjQifV1dfSk7dmFyIFlkLE1rZT1mKCgpPT57WWQ9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiOCIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyLjAxIix5MToiMTYiLHkyOiIxNiJ9XV19KTt2YXIgS2Qsa2tlPWYoKCk9PntLZD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDh2OCJ9XSxbInBhdGgiLHtkOiJtOCAxMiA0IDQgNC00In1dXX0pO3ZhciBaZCxTa2U9ZigoKT0+e1pkPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtMTIgOC00IDQgNCA0In1dLFsicGF0aCIse2Q6Ik0xNiAxMkg4In1dXX0pO3ZhciBYZCx6a2U9ZigoKT0+e1hkPVtbInBhdGgiLHtkOiJNMiAxMmExMCAxMCAwIDEgMSAxMCAxMCJ9XSxbInBhdGgiLHtkOiJtMiAyMiAxMC0xMCJ9XSxbInBhdGgiLHtkOiJNOCAyMkgydi02In1dXX0pO3ZhciBRZCxDa2U9ZigoKT0+e1FkPVtbInBhdGgiLHtkOiJNMTIgMjJhMTAgMTAgMCAxIDEgMTAtMTAifV0sWyJwYXRoIix7ZDoiTTIyIDIyIDEyIDEyIn1dLFsicGF0aCIse2Q6Ik0yMiAxNnY2aC02In1dXX0pO3ZhciBKZCxfa2U9ZigoKT0+e0pkPVtbInBhdGgiLHtkOiJNMiA4VjJoNiJ9XSxbInBhdGgiLHtkOiJtMiAyIDEwIDEwIn1dLFsicGF0aCIse2Q6Ik0xMiAyQTEwIDEwIDAgMSAxIDIgMTIifV1dfSk7dmFyIGU2LFRrZT1mKCgpPT57ZTY9W1sicGF0aCIse2Q6Ik0yMiAxMkExMCAxMCAwIDEgMSAxMiAyIn1dLFsicGF0aCIse2Q6Ik0yMiAyIDEyIDEyIn1dLFsicGF0aCIse2Q6Ik0xNiAyaDZ2NiJ9XV19KTt2YXIgdDYsTGtlPWYoKCk9Pnt0Nj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTEyIDE2IDQtNC00LTQifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XV19KTt2YXIgYTYsJGtlPWYoKCk9PnthNj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTE2IDEyLTQtNC00IDQifV0sWyJwYXRoIix7ZDoiTTEyIDE2VjgifV1dfSk7dmFyIHI2LERrZT1mKCgpPT57cjY9W1sicGF0aCIse2Q6Ik0yMS44MDEgMTBBMTAgMTAgMCAxIDEgMTcgMy4zMzUifV0sWyJwYXRoIix7ZDoibTkgMTEgMyAzTDIyIDQifV1dfSk7dmFyIHM2LEFrZT1mKCgpPT57czY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im05IDEyIDIgMiA0LTQifV1dfSk7dmFyIGk2LEVrZT1mKCgpPT57aTY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im0xNCAxNi00LTQgNC00In1dXX0pO3ZhciBvNixQa2U9ZigoKT0+e282PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtMTYgMTAtNCA0LTQtNCJ9XV19KTt2YXIgbjYsSWtlPWYoKCk9PntuNj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTEwIDggNCA0LTQgNCJ9XV19KTt2YXIgbDYsTmtlPWYoKCk9PntsNj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTggMTQgNC00IDQgNCJ9XV19KTt2YXIgeVMsUmtlPWYoKCk9Pnt5Uz1bWyJwYXRoIix7ZDoiTTEwLjEgMi4xODJhMTAgMTAgMCAwIDEgMy44IDAifV0sWyJwYXRoIix7ZDoiTTEzLjkgMjEuODE4YTEwIDEwIDAgMCAxLTMuOCAwIn1dLFsicGF0aCIse2Q6Ik0xNy42MDkgMy43MjFhMTAgMTAgMCAwIDEgMi42OSAyLjcifV0sWyJwYXRoIix7ZDoiTTIuMTgyIDEzLjlhMTAgMTAgMCAwIDEgMC0zLjgifV0sWyJwYXRoIix7ZDoiTTIwLjI3OSAxNy42MDlhMTAgMTAgMCAwIDEtMi43IDIuNjkifV0sWyJwYXRoIix7ZDoiTTIxLjgxOCAxMC4xYTEwIDEwIDAgMCAxIDAgMy44In1dLFsicGF0aCIse2Q6Ik0zLjcyMSA2LjM5MWExMCAxMCAwIDAgMSAyLjctMi42OSJ9XSxbInBhdGgiLHtkOiJNNi4zOTEgMjAuMjc5YTEwIDEwIDAgMCAxLTIuNjktMi43In1dXX0pO3ZhciBjNixPa2U9ZigoKT0+e2M2PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE2Iix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjE2Iix5MjoiMTYifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiI4Iix5MjoiOCJ9XV19KTt2YXIgd1MsRmtlPWYoKCk9Pnt3Uz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTE2IDhoLTZhMiAyIDAgMSAwIDAgNGg0YTIgMiAwIDEgMSAwIDRIOCJ9XSxbInBhdGgiLHtkOiJNMTIgMThWNiJ9XV19KTt2YXIgTVMsQmtlPWYoKCk9PntNUz1bWyJwYXRoIix7ZDoiTTEwLjEgMi4xOGE5LjkzIDkuOTMgMCAwIDEgMy44IDAifV0sWyJwYXRoIix7ZDoiTTE3LjYgMy43MWE5Ljk1IDkuOTUgMCAwIDEgMi42OSAyLjcifV0sWyJwYXRoIix7ZDoiTTIxLjgyIDEwLjFhOS45MyA5LjkzIDAgMCAxIDAgMy44In1dLFsicGF0aCIse2Q6Ik0yMC4yOSAxNy42YTkuOTUgOS45NSAwIDAgMS0yLjcgMi42OSJ9XSxbInBhdGgiLHtkOiJNMTMuOSAyMS44MmE5Ljk0IDkuOTQgMCAwIDEtMy44IDAifV0sWyJwYXRoIix7ZDoiTTYuNCAyMC4yOWE5Ljk1IDkuOTUgMCAwIDEtMi42OS0yLjcifV0sWyJwYXRoIix7ZDoiTTIuMTggMTMuOWE5LjkzIDkuOTMgMCAwIDEgMC0zLjgifV0sWyJwYXRoIix7ZDoiTTMuNzEgNi40YTkuOTUgOS45NSAwIDAgMSAyLjctMi42OSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dXX0pO3ZhciBrUyxIa2U9ZigoKT0+e2tTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTcgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTcgMTJoLjAxIn1dXX0pO3ZhciBTUyxxa2U9ZigoKT0+e1NTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dXX0pO3ZhciB6UyxWa2U9ZigoKT0+e3pTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNNyAxMGgxMCJ9XSxbInBhdGgiLHtkOiJNNyAxNGgxMCJ9XV19KTt2YXIgQ1MsamtlPWYoKCk9PntDUz1bWyJwYXRoIix7ZDoiTTEyIDJhMTAgMTAgMCAwIDEgNy4zOCAxNi43NSJ9XSxbInBhdGgiLHtkOiJtMTYgMTItNC00LTQgNCJ9XSxbInBhdGgiLHtkOiJNMTIgMTZWOCJ9XSxbInBhdGgiLHtkOiJNMi41IDguODc1YTEwIDEwIDAgMCAwLS41IDMifV0sWyJwYXRoIix7ZDoiTTIuODMgMTZhMTAgMTAgMCAwIDAgMi40MyAzLjQifV0sWyJwYXRoIix7ZDoiTTQuNjM2IDUuMjM1YTEwIDEwIDAgMCAxIC44OTEtLjg1NyJ9XSxbInBhdGgiLHtkOiJNOC42NDQgMjEuNDJhMTAgMTAgMCAwIDAgNy42MzEtLjM4In1dXX0pO3ZhciBfUyxVa2U9ZigoKT0+e19TPVtbInBhdGgiLHtkOiJNMTIgMmExMCAxMCAwIDAgMSA3LjM4IDE2Ljc1In1dLFsicGF0aCIse2Q6Ik0xMiA4djgifV0sWyJwYXRoIix7ZDoiTTE2IDEySDgifV0sWyJwYXRoIix7ZDoiTTIuNSA4Ljg3NWExMCAxMCAwIDAgMC0uNSAzIn1dLFsicGF0aCIse2Q6Ik0yLjgzIDE2YTEwIDEwIDAgMCAwIDIuNDMgMy40In1dLFsicGF0aCIse2Q6Ik00LjYzNiA1LjIzNWExMCAxMCAwIDAgMSAuODkxLS44NTcifV0sWyJwYXRoIix7ZDoiTTguNjQ0IDIxLjQyYTEwIDEwIDAgMCAwIDcuNjMxLS4zOCJ9XV19KTt2YXIgZDYsV2tlPWYoKCk9PntkNj1bWyJwYXRoIix7ZDoiTTE1LjYgMi43YTEwIDEwIDAgMSAwIDUuNyA1LjcifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XSxbInBhdGgiLHtkOiJNMTMuNCAxMC42IDE5IDUifV1dfSk7dmFyIHU2LEdrZT1mKCgpPT57dTY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV1dfSk7dmFyIFRTLFlrZT1mKCgpPT57VFM9W1sicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTguMzUgMi42OUExMCAxMCAwIDAgMSAyMS4zIDE1LjY1In1dLFsicGF0aCIse2Q6Ik0xOS4wOCAxOS4wOEExMCAxMCAwIDEgMSA0LjkyIDQuOTIifV1dfSk7dmFyIHA2LEtrZT1mKCgpPT57cDY9W1sicGF0aCIse2Q6Ik0xMi42NTYgN0gxM2EzIDMgMCAwIDEgMi45ODQgMy4zMDcifV0sWyJwYXRoIix7ZDoiTTEzIDEzSDkifV0sWyJwYXRoIix7ZDoiTTE5LjA3MSAxOS4wNzFBMSAxIDAgMCAxIDQuOTMgNC45MyJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik04LjM1NyAyLjY4N2ExMCAxMCAwIDAgMSAxMi45NTYgMTIuOTU2In1dLFsicGF0aCIse2Q6Ik05IDE3VjkifV1dfSk7dmFyIGY2LFprZT1mKCgpPT57ZjY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik05IDE3VjdoNGEzIDMgMCAwIDEgMCA2SDkifV1dfSk7dmFyIGg2LFhrZT1mKCgpPT57aDY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsibGluZSIse3gxOiIxMCIseDI6IjEwIix5MToiMTUiLHkyOiI5In1dLFsibGluZSIse3gxOiIxNCIseDI6IjE0Iix5MToiMTUiLHkyOiI5In1dXX0pO3ZhciBtNixRa2U9ZigoKT0+e202PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtMTUgOS02IDYifV0sWyJwYXRoIix7ZDoiTTkgOWguMDEifV0sWyJwYXRoIix7ZDoiTTE1IDE1aC4wMSJ9XV19KTt2YXIgZzYsSmtlPWYoKCk9PntnNj1bWyJwYXRoIix7ZDoiTTkgOS4wMDNhMSAxIDAgMCAxIDEuNTE3LS44NTlsNC45OTcgMi45OTdhMSAxIDAgMCAxIDAgMS43MThsLTQuOTk3IDIuOTk3QTEgMSAwIDAgMSA5IDE0Ljk5NnoifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV1dfSk7dmFyIExTLGVTZT1mKCgpPT57TFM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTkiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI1IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTIiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiIxOSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiMTkiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjEyIixyOiIyIn1dXX0pO3ZhciBiNix0U2U9ZigoKT0+e2I2PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dLFsicGF0aCIse2Q6Ik0xMiA4djgifV1dfSk7dmFyICRTLGFTZT1mKCgpPT57JFM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMCAxNlY5LjVhMSAxIDAgMCAxIDUgMCJ9XSxbInBhdGgiLHtkOiJNOCAxMmg0In1dLFsicGF0aCIse2Q6Ik04IDE2aDcifV1dfSk7dmFyIHY2LHJTZT1mKCgpPT57djY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA3djQifV0sWyJwYXRoIix7ZDoiTTcuOTk4IDkuMDAzYTUgNSAwIDEgMCA4LS4wMDUifV1dfSk7dmFyIHNjLHNTZT1mKCgpPT57c2M9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik05LjA5IDlhMyAzIDAgMCAxIDUuODMgMWMwIDItMyAzLTMgMyJ9XSxbInBhdGgiLHtkOiJNMTIgMTdoLjAxIn1dXX0pO3ZhciB4NixpU2U9ZigoKT0+e3g2PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMjIgMiAyIDIyIn1dXX0pO3ZhciBEUyxvU2U9ZigoKT0+e0RTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjE1Iix5MToiMTUiLHkyOiI5In1dXX0pO3ZhciBBUyxuU2U9ZigoKT0+e0FTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI2In1dXX0pO3ZhciBFUyxsU2U9ZigoKT0+e0VTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTEuMDUxIDcuNjE2YTEgMSAwIDAgMSAxLjkwOS4wMjRsLjczNyAxLjQ1MmExIDEgMCAwIDAgLjczNy41MzVsMS42MzQuMjU2YTEgMSAwIDAgMSAuNTg4IDEuODA2bC0xLjE3MiAxLjE2OGExIDEgMCAwIDAtLjI4Mi44NjZsLjI1OSAxLjYxM2ExIDEgMCAwIDEtMS41NDEgMS4xMzRsLTEuNDY1LS43NWExIDEgMCAwIDAtLjkxMiAwbC0xLjQ2NS43NWExIDEgMCAwIDEtMS41MzktMS4xMzNsLjI1OC0xLjYxM2ExIDEgMCAwIDAtLjI4Mi0uODY3bC0xLjE1Ni0xLjE1MmExIDEgMCAwIDEgLjU3Mi0xLjgyMmwxLjYzMy0uMjU2YTEgMSAwIDAgMCAuNzM3LS41MzV6In1dXX0pO3ZhciB5NixjU2U9ZigoKT0+e3k2PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInJlY3QiLHt4OiI5Iix5OiI5Iix3aWR0aDoiNiIsaGVpZ2h0OiI2IixyeDoiMSJ9XV19KTt2YXIgdzYsZFNlPWYoKCk9Pnt3Nj1bWyJwYXRoIix7ZDoiTTE3LjkyNSAyMC4wNTZhNiA2IDAgMCAwLTExLjg1MS4wMDEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMSIscjoiNCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XV19KTt2YXIgTTYsdVNlPWYoKCk9PntNNj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNyAyMC42NjJWMTlhMiAyIDAgMCAxIDItMmg2YTIgMiAwIDAgMSAyIDJ2MS42NjIifV1dfSk7dmFyIGs2LHBTZT1mKCgpPT57azY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im0xNSA5LTYgNiJ9XSxbInBhdGgiLHtkOiJtOSA5IDYgNiJ9XV19KTt2YXIgUFMsZlNlPWYoKCk9PntQUz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV1dfSk7dmFyIElTLGhTZT1mKCgpPT57SVM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTExIDloNGEyIDIgMCAwIDAgMi0yVjMifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjkiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTcgMjF2LTRhMiAyIDAgMCAxIDItMmg0In1dLFsiY2lyY2xlIix7Y3g6IjE1IixjeToiMTUiLHI6IjIifV1dfSk7dmFyIE5TLG1TZT1mKCgpPT57TlM9W1sicGF0aCIse2Q6Ik0yMS42NiAxNy42N2ExLjA4IDEuMDggMCAwIDEtLjA0IDEuNkExMiAxMiAwIDAgMSA0LjczIDIuMzhhMS4xIDEuMSAwIDAgMSAxLjYxLS4wNHoifV0sWyJwYXRoIix7ZDoiTTE5LjY1IDE1LjY2QTggOCAwIDAgMSA4LjM1IDQuMzQifV0sWyJwYXRoIix7ZDoibTE0IDEwLTUuNSA1LjUifV0sWyJwYXRoIix7ZDoiTTE0IDE3Ljg1VjEwSDYuMTUifV1dfSk7dmFyIFJTLGdTZT1mKCgpPT57UlM9W1sicGF0aCIse2Q6Im0xMi4yOTYgMy40NjQgMy4wMiAzLjk1NiJ9XSxbInBhdGgiLHtkOiJNMjAuMiA2IDMgMTFsLS45LTIuNGMtLjMtMS4xLjMtMi4yIDEuMy0yLjVsMTMuNS00YzEuMS0uMyAyLjIuMyAyLjUgMS4zeiJ9XSxbInBhdGgiLHtkOiJNMyAxMWgxOHY4YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yeiJ9XSxbInBhdGgiLHtkOiJtNi4xOCA1LjI3NiAzLjEgMy44OTkifV1dfSk7dmFyIE9TLGJTZT1mKCgpPT57T1M9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjQiLHg6IjgiLHk6IjIiLHJ4OiIxIixyeToiMSJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoibTkgMTQgMiAyIDQtNCJ9XV19KTt2YXIgRlMsdlNlPWYoKCk9PntGUz1bWyJwYXRoIix7ZDoiTTE2IDE0djIuMmwxLjYgMSJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2LjgzMiJ9XSxbInBhdGgiLHtkOiJNOCA0SDZhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDIifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNiIscjoiNiJ9XSxbInJlY3QiLHt4OiI4Iix5OiIyIix3aWR0aDoiOCIsaGVpZ2h0OiI0IixyeDoiMSJ9XV19KTt2YXIgQlMseFNlPWYoKCk9PntCUz1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNCIseDoiOCIseToiMiIscng6IjEiLHJ5OiIxIn1dLFsicGF0aCIse2Q6Ik04IDRINmEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtMiJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2NCJ9XSxbInBhdGgiLHtkOiJNMjEgMTRIMTEifV0sWyJwYXRoIix7ZDoibTE1IDEwLTQgNCA0IDQifV1dfSk7dmFyIEhTLHlTZT1mKCgpPT57SFM9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjQiLHg6IjgiLHk6IjIiLHJ4OiIxIixyeToiMSJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTEyIDExaDQifV0sWyJwYXRoIix7ZDoiTTEyIDE2aDQifV0sWyJwYXRoIix7ZDoiTTggMTFoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE2aC4wMSJ9XV19KTt2YXIgcVMsd1NlPWYoKCk9PntxUz1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNCIseDoiOCIseToiMiIscng6IjEiLHJ5OiIxIn1dLFsicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNOSAxNGg2In1dXX0pO3ZhciBWUyxNU2U9ZigoKT0+e1ZTPVtbInBhdGgiLHtkOiJNMTEgMTRoMTAifV0sWyJwYXRoIix7ZDoiTTE2IDRoMmEyIDIgMCAwIDEgMiAydjEuMzQ0In1dLFsicGF0aCIse2Q6Im0xNyAxOCA0LTQtNC00In1dLFsicGF0aCIse2Q6Ik04IDRINmEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDEuNzkzLTEuMTEzIn1dLFsicmVjdCIse3g6IjgiLHk6IjIiLHdpZHRoOiI4IixoZWlnaHQ6IjQiLHJ4OiIxIn1dXX0pO3ZhciBTNixrU2U9ZigoKT0+e1M2PVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI0Iix4OiI4Iix5OiIyIixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNOCA0SDZhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LS41In1dLFsicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDEuNzMgMSJ9XSxbInBhdGgiLHtkOiJNOCAxOGgxIn1dLFsicGF0aCIse2Q6Ik0yMS4zNzggMTIuNjI2YTEgMSAwIDAgMC0zLjAwNC0zLjAwNGwtNC4wMSA0LjAxMmEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNnoifV1dfSk7dmFyIHo2LFNTZT1mKCgpPT57ejY9W1sicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMS4zNCAxNS42NjRhMSAxIDAgMSAwLTMuMDA0LTMuMDA0bC01LjAxIDUuMDEyYTIgMiAwIDAgMC0uNTA2Ljg1NGwtLjgzNyAyLjg3YS41LjUgMCAwIDAgLjYyLjYybDIuODctLjgzN2EyIDIgMCAwIDAgLjg1NC0uNTA2eiJ9XSxbInBhdGgiLHtkOiJNOCAyMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDIifV0sWyJyZWN0Iix7eDoiOCIseToiMiIsd2lkdGg6IjgiLGhlaWdodDoiNCIscng6IjEifV1dfSk7dmFyIGpTLHpTZT1mKCgpPT57alM9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjQiLHg6IjgiLHk6IjIiLHJ4OiIxIixyeToiMSJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTkgMTRoNiJ9XSxbInBhdGgiLHtkOiJNMTIgMTd2LTYifV1dfSk7dmFyIFVTLENTZT1mKCgpPT57VVM9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjQiLHg6IjgiLHk6IjIiLHJ4OiIxIixyeToiMSJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTkgMTJ2LTFoNnYxIn1dLFsicGF0aCIse2Q6Ik0xMSAxN2gyIn1dLFsicGF0aCIse2Q6Ik0xMiAxMXY2In1dXX0pO3ZhciBXUyxfU2U9ZigoKT0+e1dTPVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI0Iix4OiI4Iix5OiIyIixyeDoiMSIscnk6IjEifV0sWyJwYXRoIix7ZDoiTTE2IDRoMmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Im0xNSAxMS02IDYifV0sWyJwYXRoIix7ZDoibTkgMTEgNiA2In1dXX0pO3ZhciBHUyxUU2U9ZigoKT0+e0dTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgNnY2bDItNCJ9XV19KTt2YXIgWVMsTFNlPWYoKCk9PntZUz1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNCIseDoiOCIseToiMiIscng6IjEiLHJ5OiIxIn1dLFsicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoMiJ9XV19KTt2YXIgS1MsJFNlPWYoKCk9PntLUz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDZ2NmwtNC0yIn1dXX0pO3ZhciBaUyxEU2U9ZigoKT0+e1pTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgNnY2bC0yLTQifV1dfSk7dmFyIFhTLEFTZT1mKCgpPT57WFM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA2djYifV1dfSk7dmFyIFFTLEVTZT1mKCgpPT57UVM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA2djZsNC0yIn1dXX0pO3ZhciBKUyxQU2U9ZigoKT0+e0pTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgNnY2aDQifV1dfSk7dmFyIGV6LElTZT1mKCgpPT57ZXo9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA2djZsNCAyIn1dXX0pO3ZhciB0eixOU2U9ZigoKT0+e3R6PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgNnY2bDIgNCJ9XV19KTt2YXIgYXosUlNlPWYoKCk9Pnthej1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDZ2MTAifV1dfSk7dmFyIHJ6LE9TZT1mKCgpPT57cno9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA2djZsLTQgMiJ9XV19KTt2YXIgc3osRlNlPWYoKCk9Pntzej1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDZ2NmwtMiA0In1dXX0pO3ZhciBpeixCU2U9ZigoKT0+e2l6PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgNnY2SDgifV1dfSk7dmFyIG96LEhTZT1mKCgpPT57b3o9W1sicGF0aCIse2Q6Ik0xMiA2djZsNCAyIn1dLFsicGF0aCIse2Q6Ik0yMCAxMnY1In1dLFsicGF0aCIse2Q6Ik0yMCAyMWguMDEifV0sWyJwYXRoIix7ZDoiTTIxLjI1IDguMkExMCAxMCAwIDEgMCAxNiAyMS4xNiJ9XV19KTt2YXIgbnoscVNlPWYoKCk9Pntuej1bWyJwYXRoIix7ZDoiTTEyIDZ2NmwyIDEifV0sWyJwYXRoIix7ZDoiTTEyLjMzNyAyMS45OTRhMTAgMTAgMCAxIDEgOS41ODgtOC43NjcifV0sWyJwYXRoIix7ZDoibTE0IDE4IDQgNCA0LTQifV0sWyJwYXRoIix7ZDoiTTE4IDE0djgifV1dfSk7dmFyIGx6LFZTZT1mKCgpPT57bHo9W1sicGF0aCIse2Q6Ik0xMiA2djZsMS41Ni43OCJ9XSxbInBhdGgiLHtkOiJNMTMuMjI3IDIxLjkyNWExMCAxMCAwIDEgMSA4Ljc2Ny05LjU4OCJ9XSxbInBhdGgiLHtkOiJtMTQgMTggNC00IDQgNCJ9XSxbInBhdGgiLHtkOiJNMTggMjJ2LTgifV1dfSk7dmFyIGN6LGpTZT1mKCgpPT57Y3o9W1sicGF0aCIse2Q6Ik0xMiA2djZsNCAyIn1dLFsicGF0aCIse2Q6Ik0yMiAxMmExMCAxMCAwIDEgMC0xMSA5Ljk1In1dLFsicGF0aCIse2Q6Im0yMiAxNi01LjUgNS41TDE0IDE5In1dXX0pO3ZhciBkeixVU2U9ZigoKT0+e2R6PVtbInBhdGgiLHtkOiJNMTIgMmExMCAxMCAwIDAgMSA3LjM4IDE2Ljc1In1dLFsicGF0aCIse2Q6Ik0xMiA2djZsNCAyIn1dLFsicGF0aCIse2Q6Ik0yLjUgOC44NzVhMTAgMTAgMCAwIDAtLjUgMyJ9XSxbInBhdGgiLHtkOiJNMi44MyAxNmExMCAxMCAwIDAgMCAyLjQzIDMuNCJ9XSxbInBhdGgiLHtkOiJNNC42MzYgNS4yMzVhMTAgMTAgMCAwIDEgLjg5MS0uODU3In1dLFsicGF0aCIse2Q6Ik04LjY0NCAyMS40MmExMCAxMCAwIDAgMCA3LjYzMS0uMzgifV1dfSk7dmFyIHV6LFdTZT1mKCgpPT57dXo9W1sicGF0aCIse2Q6Ik0xMiA2djZsMy42NDQgMS44MjIifV0sWyJwYXRoIix7ZDoiTTE2IDE5aDYifV0sWyJwYXRoIix7ZDoiTTE5IDE2djYifV0sWyJwYXRoIix7ZDoiTTIxLjkyIDEzLjI2N2ExMCAxMCAwIDEgMC04LjY1MyA4LjY1MyJ9XV19KTt2YXIgcHosR1NlPWYoKCk9Pntwej1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDZ2Nmw0IDIifV1dfSk7dmFyIGZ6LFlTZT1mKCgpPT57Zno9W1sicGF0aCIse2Q6Ik0xMCA5LjE3YTMgMyAwIDEgMCAwIDUuNjYifV0sWyJwYXRoIix7ZDoiTTE3IDkuMTdhMyAzIDAgMSAwIDAgNS42NiJ9XSxbInJlY3QiLHt4OiIyIix5OiI1Iix3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHJ4OiIyIn1dXX0pO3ZhciBoeixLU2U9ZigoKT0+e2h6PVtbInBhdGgiLHtkOiJNMTIgMTJ2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik04LjEyOCAxNi45NDlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWExIDEgMCAwIDEgMCA5aC0xLjY0MiJ9XV19KTt2YXIgbXosWlNlPWYoKCk9Pnttej1bWyJwYXRoIix7ZDoiTTIxIDE1LjI1MUE0LjUgNC41IDAgMCAwIDE3LjUgOGgtMS43OUE3IDcgMCAxIDAgMyAxMy42MDcifV0sWyJwYXRoIix7ZDoiTTcgMTF2NGg0In1dLFsicGF0aCIse2Q6Ik04IDE5YTUgNSAwIDAgMCA5LTMgNC41IDQuNSAwIDAgMC00LjUtNC41IDQuODIgNC44MiAwIDAgMC0zLjQxIDEuNDFMNyAxNSJ9XV19KTt2YXIgZ3osWFNlPWYoKCk9Pntnej1bWyJwYXRoIix7ZDoibTE3IDE1LTUuNSA1LjVMOSAxOCJ9XSxbInBhdGgiLHtkOiJNNS41MTYgMTYuMDdBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDMuNTAxIDcuMzI3In1dXX0pO3ZhciBieixRU2U9ZigoKT0+e2J6PVtbInBhdGgiLHtkOiJtMTAuODUyIDE5Ljc3Mi0uMzgzLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTMuMTQ4IDE0LjIyOC4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJNMTMuMTQ4IDE5Ljc3MmEzIDMgMCAxIDAtMi4yOTYtNS41NDRsLS4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTMuNTMgMjAuNjk2LS4zODItLjkyNGEzIDMgMCAxIDEtMi4yOTYtNS41NDQifV0sWyJwYXRoIix7ZDoibTE0Ljc3MiAxNS44NTIuOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTE0Ljc3MiAxOC4xNDguOTIzLjM4MyJ9XSxbInBhdGgiLHtkOiJNNC4yIDE1LjFhNyA3IDAgMSAxIDkuOTMtOS44NThBNyA3IDAgMCAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjIifV0sWyJwYXRoIix7ZDoibTkuMjI4IDE1Ljg1Mi0uOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTkuMjI4IDE4LjE0OC0uOTIzLjM4MyJ9XV19KTt2YXIgQzYsSlNlPWYoKCk9PntDNj1bWyJwYXRoIix7ZDoiTTEyIDEzdjhsLTQtNCJ9XSxbInBhdGgiLHtkOiJtMTIgMjEgNC00In1dLFsicGF0aCIse2Q6Ik00LjM5MyAxNS4yNjlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNDM2IDguMjg0In1dXX0pO3ZhciB2eixlemU9ZigoKT0+e3Z6PVtbInBhdGgiLHtkOiJNNCAxNC44OTlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjI0MiJ9XSxbInBhdGgiLHtkOiJNOCAxOXYxIn1dLFsicGF0aCIse2Q6Ik04IDE0djEifV0sWyJwYXRoIix7ZDoiTTE2IDE5djEifV0sWyJwYXRoIix7ZDoiTTE2IDE0djEifV0sWyJwYXRoIix7ZDoiTTEyIDIxdjEifV0sWyJwYXRoIix7ZDoiTTEyIDE2djEifV1dfSk7dmFyIHh6LHR6ZT1mKCgpPT57eHo9W1sicGF0aCIse2Q6Ik00IDE0Ljg5OUE3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMi41IDguMjQyIn1dLFsicGF0aCIse2Q6Ik0xNiAxNHYyIn1dLFsicGF0aCIse2Q6Ik04IDE0djIifV0sWyJwYXRoIix7ZDoiTTE2IDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDE2djIifV0sWyJwYXRoIix7ZDoiTTEyIDIyaC4wMSJ9XV19KTt2YXIgeXosYXplPWYoKCk9Pnt5ej1bWyJwYXRoIix7ZDoiTTQgMTQuODk5QTcgNyAwIDEgMSAxNS43MSA4aDEuNzlhNC41IDQuNSAwIDAgMSAyLjUgOC4yNDIifV0sWyJwYXRoIix7ZDoiTTE2IDE3SDcifV0sWyJwYXRoIix7ZDoiTTE3IDIxSDkifV1dfSk7dmFyIHd6LHJ6ZT1mKCgpPT57d3o9W1sicGF0aCIse2Q6Ik02IDE2LjMyNkE3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgLjUgOC45NzMifV0sWyJwYXRoIix7ZDoibTEzIDEyLTMgNWg0bC0zIDUifV1dfSk7dmFyIE16LHN6ZT1mKCgpPT57TXo9W1sicGF0aCIse2Q6Ik0xMSAyMHYyIn1dLFsicGF0aCIse2Q6Ik0xOC4zNzYgMTQuNTEyYTYgNiAwIDAgMCAzLjQ2MS00LjEyN2MuMTQ4LS42MjUtLjY1OS0uOTctMS4yNDgtLjcxNGE0IDQgMCAwIDEtNS4yNTktNS4yNmMuMjU1LS41ODktLjA5LTEuMzk1LS43MTYtMS4yNDhhNiA2IDAgMCAwLTQuNTk0IDUuMzYifV0sWyJwYXRoIix7ZDoiTTMgMjBhNSA1IDAgMSAxIDguOS00SDEzYTMgMyAwIDAgMSAyIDUuMjQifV0sWyJwYXRoIix7ZDoiTTcgMTl2MiJ9XV19KTt2YXIga3osaXplPWYoKCk9Pntrej1bWyJwYXRoIix7ZDoiTTEzIDE2YTMgMyAwIDAgMSAwIDZIN2E1IDUgMCAxIDEgNC45LTZ6In1dLFsicGF0aCIse2Q6Ik0xOC4zNzYgMTQuNTEyYTYgNiAwIDAgMCAzLjQ2MS00LjEyN2MuMTQ4LS42MjUtLjY1OS0uOTctMS4yNDgtLjcxNGE0IDQgMCAwIDEtNS4yNTktNS4yNmMuMjU1LS41ODktLjA5LTEuMzk1LS43MTYtMS4yNDhhNiA2IDAgMCAwLTQuNTk0IDUuMzYifV1dfSk7dmFyIFN6LG96ZT1mKCgpPT57U3o9W1sicGF0aCIse2Q6Ik00IDE0Ljg5OUE3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMi41IDguMjQyIn1dLFsicGF0aCIse2Q6Im05LjIgMjIgMy03In1dLFsicGF0aCIse2Q6Im05IDEzLTMgNyJ9XSxbInBhdGgiLHtkOiJtMTcgMTMtMyA3In1dXX0pO3ZhciB6eixuemU9ZigoKT0+e3p6PVtbInBhdGgiLHtkOiJNMTAuOTQgNS4yNzRBNyA3IDAgMCAxIDE1LjcxIDEwaDEuNzlhNC41IDQuNSAwIDAgMSA0LjIyMiA2LjA1NyJ9XSxbInBhdGgiLHtkOiJNMTguNzk2IDE4LjgxQTQuNSA0LjUgMCAwIDEgMTcuNSAxOUg5QTcgNyAwIDAgMSA1Ljc5IDUuNzgifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgQ3osbHplPWYoKCk9PntDej1bWyJwYXRoIix7ZDoiTTQgMTQuODk5QTcgNyAwIDEgMSAxNS43MSA4aDEuNzlhNC41IDQuNSAwIDAgMSAyLjUgOC4yNDIifV0sWyJwYXRoIix7ZDoiTTE2IDE0djYifV0sWyJwYXRoIix7ZDoiTTggMTR2NiJ9XSxbInBhdGgiLHtkOiJNMTIgMTZ2NiJ9XV19KTt2YXIgX3osY3plPWYoKCk9Pntfej1bWyJwYXRoIix7ZDoiTTQgMTQuODk5QTcgNyAwIDEgMSAxNS43MSA4aDEuNzlhNC41IDQuNSAwIDAgMSAyLjUgOC4yNDIifV0sWyJwYXRoIix7ZDoiTTggMTVoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE5aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTdoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAyMWguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE1aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTloLjAxIn1dXX0pO3ZhciBUeixkemU9ZigoKT0+e1R6PVtbInBhdGgiLHtkOiJNMTIgMnYyIn1dLFsicGF0aCIse2Q6Im00LjkzIDQuOTMgMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Ik0yMCAxMmgyIn1dLFsicGF0aCIse2Q6Im0xOS4wNyA0LjkzLTEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJNMTUuOTQ3IDEyLjY1YTQgNCAwIDAgMC01LjkyNS00LjEyOCJ9XSxbInBhdGgiLHtkOiJNMyAyMGE1IDUgMCAxIDEgOC45LTRIMTNhMyAzIDAgMCAxIDIgNS4yNCJ9XSxbInBhdGgiLHtkOiJNMTEgMjB2MiJ9XSxbInBhdGgiLHtkOiJNNyAxOXYyIn1dXX0pO3ZhciBMeix1emU9ZigoKT0+e0x6PVtbInBhdGgiLHtkOiJtMTcgMTgtMS41MzUgMS42MDVhNSA1IDAgMCAxLTgtMS41In1dLFsicGF0aCIse2Q6Ik0xNyAyMnYtNGgtNCJ9XSxbInBhdGgiLHtkOiJNMjAuOTk2IDE1LjI1MUE0LjUgNC41IDAgMCAwIDE3LjQ5NSA4aC0xLjc5YTcgNyAwIDEgMC0xMi43MDkgNS42MDcifV0sWyJwYXRoIix7ZDoiTTcgMTB2NGg0In1dLFsicGF0aCIse2Q6Im03IDE0IDEuNTM1LTEuNjA1YTUgNSAwIDAgMSA4IDEuNSJ9XV19KTt2YXIgJHoscHplPWYoKCk9Pnskej1bWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJtNC45MyA0LjkzIDEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJNMjAgMTJoMiJ9XSxbInBhdGgiLHtkOiJtMTkuMDcgNC45My0xLjQxIDEuNDEifV0sWyJwYXRoIix7ZDoiTTE1Ljk0NyAxMi42NWE0IDQgMCAwIDAtNS45MjUtNC4xMjgifV0sWyJwYXRoIix7ZDoiTTEzIDIySDdhNSA1IDAgMSAxIDQuOS02SDEzYTMgMyAwIDAgMSAwIDZaIn1dXX0pO3ZhciBfNixmemU9ZigoKT0+e182PVtbInBhdGgiLHtkOiJNMTIgMTN2OCJ9XSxbInBhdGgiLHtkOiJNNCAxNC44OTlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjI0MiJ9XSxbInBhdGgiLHtkOiJtOCAxNyA0LTQgNCA0In1dXX0pO3ZhciBEeixoemU9ZigoKT0+e0R6PVtbInBhdGgiLHtkOiJNMTcuNSAxOUg5YTcgNyAwIDEgMSA2LjcxLTloMS43OWE0LjUgNC41IDAgMSAxIDAgOVoifV1dfSk7dmFyIEF6LG16ZT1mKCgpPT57QXo9W1sicGF0aCIse2Q6Ik0xNy41IDEyYTEgMSAwIDEgMSAwIDlIOS4wMDZhNyA3IDAgMSAxIDYuNzAyLTl6In1dLFsicGF0aCIse2Q6Ik0yMS44MzIgOUEzIDMgMCAwIDAgMTkgN2gtMi4yMDdhNS41IDUuNSAwIDAgMC0xMC43Mi42MSJ9XV19KTt2YXIgRXosZ3plPWYoKCk9PntFej1bWyJwYXRoIix7ZDoiTTE2LjE3IDcuODMgMiAyMiJ9XSxbInBhdGgiLHtkOiJNNC4wMiAxMmEyLjgyNyAyLjgyNyAwIDEgMSAzLjgxLTQuMTdBMi44MjcgMi44MjcgMCAxIDEgMTIgNC4wMmEyLjgyNyAyLjgyNyAwIDEgMSA0LjE3IDMuODFBMi44MjcgMi44MjcgMCAxIDEgMTkuOTggMTJhMi44MjcgMi44MjcgMCAxIDEtMy44MSA0LjE3QTIuODI3IDIuODI3IDAgMSAxIDEyIDE5Ljk4YTIuODI3IDIuODI3IDAgMSAxLTQuMTctMy44MUExIDEgMCAxIDEgNCAxMiJ9XSxbInBhdGgiLHtkOiJtNy44MyA3LjgzIDguMzQgOC4zNCJ9XV19KTt2YXIgUHosYnplPWYoKCk9PntQej1bWyJwYXRoIix7ZDoiTTE3LjI4IDkuMDVhNS41IDUuNSAwIDEgMC0xMC41NiAwQTUuNSA1LjUgMCAxIDAgMTIgMTcuNjZhNS41IDUuNSAwIDEgMCA1LjI4LTguNloifV0sWyJwYXRoIix7ZDoiTTEyIDE3LjY2TDEyIDIyIn1dXX0pO3ZhciBUNix2emU9ZigoKT0+e1Q2PVtbInBhdGgiLHtkOiJtMTggMTYgNC00LTQtNCJ9XSxbInBhdGgiLHtkOiJtNiA4LTQgNCA0IDQifV0sWyJwYXRoIix7ZDoibTE0LjUgNC01IDE2In1dXX0pO3ZhciBJeix4emU9ZigoKT0+e0l6PVtbInBhdGgiLHtkOiJtMTYgMTggNi02LTYtNiJ9XSxbInBhdGgiLHtkOiJtOCA2LTYgNiA2IDYifV1dfSk7dmFyIE56LHl6ZT1mKCgpPT57Tno9W1sicGF0aCIse2Q6Ik0xMCAydjIifV0sWyJwYXRoIix7ZDoiTTE0IDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTYgOGExIDEgMCAwIDEgMSAxdjhhNCA0IDAgMCAxLTQgNEg3YTQgNCAwIDAgMS00LTRWOWExIDEgMCAwIDEgMS0xaDE0YTQgNCAwIDEgMSAwIDhoLTEifV0sWyJwYXRoIix7ZDoiTTYgMnYyIn1dXX0pO3ZhciBSeix3emU9ZigoKT0+e1J6PVtbInBhdGgiLHtkOiJNMTEgMTAuMjcgNyAzLjM0In1dLFsicGF0aCIse2Q6Im0xMSAxMy43My00IDYuOTMifV0sWyJwYXRoIix7ZDoiTTEyIDIydi0yIn1dLFsicGF0aCIse2Q6Ik0xMiAydjIifV0sWyJwYXRoIix7ZDoiTTE0IDEyaDgifV0sWyJwYXRoIix7ZDoibTE3IDIwLjY2LTEtMS43MyJ9XSxbInBhdGgiLHtkOiJtMTcgMy4zNC0xIDEuNzMifV0sWyJwYXRoIix7ZDoiTTIgMTJoMiJ9XSxbInBhdGgiLHtkOiJtMjAuNjYgMTctMS43My0xIn1dLFsicGF0aCIse2Q6Im0yMC42NiA3LTEuNzMgMSJ9XSxbInBhdGgiLHtkOiJtMy4zNCAxNyAxLjczLTEifV0sWyJwYXRoIix7ZDoibTMuMzQgNyAxLjczIDEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI4In1dXX0pO3ZhciBPeixNemU9ZigoKT0+e096PVtbInBhdGgiLHtkOiJNMTMuNzQ0IDE3LjczNmE2IDYgMCAxIDEtNy40OC03LjQ4In1dLFsicGF0aCIse2Q6Ik0xNSA2aDF2NCJ9XSxbInBhdGgiLHtkOiJtNi4xMzQgMTQuNzY4Ljg2Ni0uNSAyIDMuNDY0In1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiOCIscjoiNiJ9XV19KTt2YXIgTDYsa3plPWYoKCk9PntMNj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgM3YxOCJ9XV19KTt2YXIgaWMsU3plPWYoKCk9PntpYz1bWyJwYXRoIix7ZDoiTTEwLjUgMjFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjUuNSJ9XSxbInBhdGgiLHtkOiJtMTQuMyAxOS42IDEtLjQifV0sWyJwYXRoIix7ZDoiTTE1IDN2Ny41In1dLFsicGF0aCIse2Q6Im0xNS4yIDE2LjktLjktLjMifV0sWyJwYXRoIix7ZDoibTE2LjYgMjEuNy4zLS45In1dLFsicGF0aCIse2Q6Im0xNi44IDE1LjMtLjQtMSJ9XSxbInBhdGgiLHtkOiJtMTkuMSAxNS4yLjMtLjkifV0sWyJwYXRoIix7ZDoibTE5LjYgMjEuNy0uNC0xIn1dLFsicGF0aCIse2Q6Im0yMC43IDE2LjggMS0uNCJ9XSxbInBhdGgiLHtkOiJtMjEuNyAxOS40LS45LS4zIn1dLFsicGF0aCIse2Q6Ik05IDN2MTgifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XV19KTt2YXIgJDYsenplPWYoKCk9PnskNj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4In1dLFsicGF0aCIse2Q6Ik0xNSAzdjE4In1dXX0pO3ZhciBGeixDemU9ZigoKT0+e0Z6PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03LjUgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMTIgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMTYuNSAzdjE4In1dXX0pO3ZhciBCeixfemU9ZigoKT0+e0J6PVtbInBhdGgiLHtkOiJNMTQgM2ExIDEgMCAwIDEgMSAxdjVhMSAxIDAgMCAxLTEgMSJ9XSxbInBhdGgiLHtkOiJNMTkgM2ExIDEgMCAwIDEgMSAxdjVhMSAxIDAgMCAxLTEgMSJ9XSxbInBhdGgiLHtkOiJtNyAxNSAzIDMifV0sWyJwYXRoIix7ZDoibTcgMjEgMy0zSDVhMiAyIDAgMCAxLTItMnYtMiJ9XSxbInJlY3QiLHt4OiIxNCIseToiMTQiLHdpZHRoOiI3IixoZWlnaHQ6IjciLHJ4OiIxIn1dLFsicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiI3IixoZWlnaHQ6IjciLHJ4OiIxIn1dXX0pO3ZhciBIeixUemU9ZigoKT0+e0h6PVtbInBhdGgiLHtkOiJNMTUgNnYxMmEzIDMgMCAxIDAgMy0zSDZhMyAzIDAgMSAwIDMgM1Y2YTMgMyAwIDEgMC0zIDNoMTJhMyAzIDAgMSAwLTMtMyJ9XV19KTt2YXIgcXosTHplPWYoKCk9Pntxej1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTE2LjI0IDcuNzYtMS44MDQgNS40MTFhMiAyIDAgMCAxLTEuMjY1IDEuMjY1TDcuNzYgMTYuMjRsMS44MDQtNS40MTFhMiAyIDAgMCAxIDEuMjY1LTEuMjY1eiJ9XV19KTt2YXIgVnosJHplPWYoKCk9PntWej1bWyJwYXRoIix7ZDoiTTE1LjUzNiAxMS4yOTNhMSAxIDAgMCAwIDAgMS40MTRsMi4zNzYgMi4zNzdhMSAxIDAgMCAwIDEuNDE0IDBsMi4zNzctMi4zNzdhMSAxIDAgMCAwIDAtMS40MTRsLTIuMzc3LTIuMzc3YTEgMSAwIDAgMC0xLjQxNCAweiJ9XSxbInBhdGgiLHtkOiJNMi4yOTcgMTEuMjkzYTEgMSAwIDAgMCAwIDEuNDE0bDIuMzc3IDIuMzc3YTEgMSAwIDAgMCAxLjQxNCAwbDIuMzc3LTIuMzc3YTEgMSAwIDAgMCAwLTEuNDE0TDYuMDg4IDguOTE2YTEgMSAwIDAgMC0xLjQxNCAweiJ9XSxbInBhdGgiLHtkOiJNOC45MTYgMTcuOTEyYTEgMSAwIDAgMCAwIDEuNDE1bDIuMzc3IDIuMzc2YTEgMSAwIDAgMCAxLjQxNCAwbDIuMzc3LTIuMzc2YTEgMSAwIDAgMCAwLTEuNDE1bC0yLjM3Ny0yLjM3NmExIDEgMCAwIDAtMS40MTQgMHoifV0sWyJwYXRoIix7ZDoiTTguOTE2IDQuNjc0YTEgMSAwIDAgMCAwIDEuNDE0bDIuMzc3IDIuMzc2YTEgMSAwIDAgMCAxLjQxNCAwbDIuMzc3LTIuMzc2YTEgMSAwIDAgMCAwLTEuNDE0bC0yLjM3Ny0yLjM3N2ExIDEgMCAwIDAtMS40MTQgMHoifV1dfSk7dmFyIGp6LER6ZT1mKCgpPT57ano9W1sicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiI4Iix4OiI1Iix5OiIyIixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiOCIseDoiMiIseToiMTQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik02IDE4aDIifV0sWyJwYXRoIix7ZDoiTTEyIDE4aDYifV1dfSk7dmFyIFV6LEF6ZT1mKCgpPT57VXo9W1sicGF0aCIse2Q6Ik0zIDIwYTEgMSAwIDAgMS0xLTF2LTFhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjFhMSAxIDAgMCAxLTEgMVoifV0sWyJwYXRoIix7ZDoiTTIwIDE2YTggOCAwIDEgMC0xNiAwIn1dLFsicGF0aCIse2Q6Ik0xMiA0djQifV0sWyJwYXRoIix7ZDoiTTEwIDRoNCJ9XV19KTt2YXIgV3osRXplPWYoKCk9PntXej1bWyJwYXRoIix7ZDoibTIwLjkgMTguNTUtOC0xNS45OGExIDEgMCAwIDAtMS44IDBsLTggMTUuOTgifV0sWyJlbGxpcHNlIix7Y3g6IjEyIixjeToiMTkiLHJ4OiI5IixyeToiMyJ9XV19KTt2YXIgR3osUHplPWYoKCk9PntHej1bWyJyZWN0Iix7eDoiMiIseToiNiIsd2lkdGg6IjIwIixoZWlnaHQ6IjgiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik0xNyAxNHY3In1dLFsicGF0aCIse2Q6Ik03IDE0djcifV0sWyJwYXRoIix7ZDoiTTE3IDN2MyJ9XSxbInBhdGgiLHtkOiJNNyAzdjMifV0sWyJwYXRoIix7ZDoiTTEwIDE0IDIuMyA2LjMifV0sWyJwYXRoIix7ZDoibTE0IDYgNy43IDcuNyJ9XSxbInBhdGgiLHtkOiJtOCA2IDggOCJ9XV19KTt2YXIgRDYsSXplPWYoKCk9PntENj1bWyJwYXRoIix7ZDoiTTE2IDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTcuOTE1IDIyYTYgNiAwIDAgMC0xMiAwIn1dLFsicGF0aCIse2Q6Ik04IDJ2MiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI0In1dLFsicmVjdCIse3g6IjMiLHk6IjQiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dfSk7dmFyIFl6LE56ZT1mKCgpPT57WXo9W1sicGF0aCIse2Q6Ik0xNiAydjIifV0sWyJwYXRoIix7ZDoiTTcgMjJ2LTJhMiAyIDAgMCAxIDItMmg2YTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNOCAydjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMSIscjoiMyJ9XSxbInJlY3QiLHt4OiIzIix5OiI0Iix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciBLeixSemU9ZigoKT0+e0t6PVtbInBhdGgiLHtkOiJNMjIgNy43YzAtLjYtLjQtMS4yLS44LTEuNWwtNi4zLTMuOWExLjcyIDEuNzIgMCAwIDAtMS43IDBsLTEwLjMgNmMtLjUuMi0uOS44LS45IDEuNHY2LjZjMCAuNS40IDEuMi44IDEuNWw2LjMgMy45YTEuNzIgMS43MiAwIDAgMCAxLjcgMGwxMC4zLTZjLjUtLjMuOS0xIC45LTEuNVoifV0sWyJwYXRoIix7ZDoiTTEwIDIxLjlWMTRMMi4xIDkuMSJ9XSxbInBhdGgiLHtkOiJtMTAgMTQgMTEuOS02LjkifV0sWyJwYXRoIix7ZDoiTTE0IDE5Ljh2LTguMSJ9XSxbInBhdGgiLHtkOiJNMTggMTcuNVY5LjQifV1dfSk7dmFyIFp6LE96ZT1mKCgpPT57Wno9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiAxOGE2IDYgMCAwIDAgMC0xMnYxMnoifV1dfSk7dmFyIFh6LEZ6ZT1mKCgpPT57WHo9W1sicGF0aCIse2Q6Ik0xMiAyYTEwIDEwIDAgMSAwIDEwIDEwIDQgNCAwIDAgMS01LTUgNCA0IDAgMCAxLTUtNSJ9XSxbInBhdGgiLHtkOiJNOC41IDguNXYuMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE1LjV2LjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxMnYuMDEifV0sWyJwYXRoIix7ZDoiTTExIDE3di4wMSJ9XSxbInBhdGgiLHtkOiJNNyAxNHYuMDEifV1dfSk7dmFyIFF6LEJ6ZT1mKCgpPT57UXo9W1sicGF0aCIse2Q6Ik0yIDEyaDIwIn1dLFsicGF0aCIse2Q6Ik0yMCAxMnY4YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0ydi04In1dLFsicGF0aCIse2Q6Im00IDggMTYtNCJ9XSxbInBhdGgiLHtkOiJtOC44NiA2Ljc4LS40NS0xLjgxYTIgMiAwIDAgMSAxLjQ1LTIuNDNsMS45NC0uNDhhMiAyIDAgMCAxIDIuNDMgMS40NmwuNDUgMS44In1dXX0pO3ZhciBKeixIemU9ZigoKT0+e0p6PVtbInBhdGgiLHtkOiJtMTIgMTUgMiAyIDQtNCJ9XSxbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHg6IjgiLHk6IjgiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyIn1dXX0pO3ZhciBlQyxxemU9ZigoKT0+e2VDPVtbImxpbmUiLHt4MToiMTIiLHgyOiIxOCIseTE6IjE1Iix5MjoiMTUifV0sWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix4OiI4Iix5OiI4IixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTZjLTEuMSAwLTItLjktMi0yVjRjMC0xLjEuOS0yIDItMmgxMGMxLjEgMCAyIC45IDIgMiJ9XV19KTt2YXIgdEMsVnplPWYoKCk9Pnt0Qz1bWyJsaW5lIix7eDE6IjE1Iix4MjoiMTUiLHkxOiIxMiIseTI6IjE4In1dLFsibGluZSIse3gxOiIxMiIseDI6IjE4Iix5MToiMTUiLHkyOiIxNSJ9XSxbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHg6IjgiLHk6IjgiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyIn1dXX0pO3ZhciBhQyxqemU9ZigoKT0+e2FDPVtbImxpbmUiLHt4MToiMTIiLHgyOiIxOCIseTE6IjE4Iix5MjoiMTIifV0sWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix4OiI4Iix5OiI4IixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTZjLTEuMSAwLTItLjktMi0yVjRjMC0xLjEuOS0yIDItMmgxMGMxLjEgMCAyIC45IDIgMiJ9XV19KTt2YXIgckMsVXplPWYoKCk9PntyQz1bWyJsaW5lIix7eDE6IjEyIix4MjoiMTgiLHkxOiIxMiIseTI6IjE4In1dLFsibGluZSIse3gxOiIxMiIseDI6IjE4Iix5MToiMTgiLHkyOiIxMiJ9XSxbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHg6IjgiLHk6IjgiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyIn1dXX0pO3ZhciBzQyxXemU9ZigoKT0+e3NDPVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHg6IjgiLHk6IjgiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyIn1dXX0pO3ZhciBpQyxHemU9ZigoKT0+e2lDPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNOS4xNyAxNC44M2E0IDQgMCAxIDAgMC01LjY2In1dXX0pO3ZhciBvQyxZemU9ZigoKT0+e29DPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTQuODMgMTQuODNhNCA0IDAgMSAxIDAtNS42NiJ9XV19KTt2YXIgbkMsS3plPWYoKCk9PntuQz1bWyJwYXRoIix7ZDoiTTIwIDR2N2E0IDQgMCAwIDEtNCA0SDQifV0sWyJwYXRoIix7ZDoibTkgMTAtNSA1IDUgNSJ9XV19KTt2YXIgbEMsWnplPWYoKCk9PntsQz1bWyJwYXRoIix7ZDoibTE1IDEwIDUgNS01IDUifV0sWyJwYXRoIix7ZDoiTTQgNHY3YTQgNCAwIDAgMCA0IDRoMTIifV1dfSk7dmFyIGNDLFh6ZT1mKCgpPT57Y0M9W1sicGF0aCIse2Q6Im0xNCAxNS01IDUtNS01In1dLFsicGF0aCIse2Q6Ik0yMCA0aC03YTQgNCAwIDAgMC00IDR2MTIifV1dfSk7dmFyIGRDLFF6ZT1mKCgpPT57ZEM9W1sicGF0aCIse2Q6Ik0xNCA5IDkgNCA0IDkifV0sWyJwYXRoIix7ZDoiTTIwIDIwaC03YTQgNCAwIDAgMS00LTRWNCJ9XV19KTt2YXIgdUMsSnplPWYoKCk9Pnt1Qz1bWyJwYXRoIix7ZDoibTEwIDE1IDUgNSA1LTUifV0sWyJwYXRoIix7ZDoiTTQgNGg3YTQgNCAwIDAgMSA0IDR2MTIifV1dfSk7dmFyIHBDLGVDZT1mKCgpPT57cEM9W1sicGF0aCIse2Q6Im0xMCA5IDUtNSA1IDUifV0sWyJwYXRoIix7ZDoiTTQgMjBoN2E0IDQgMCAwIDAgNC00VjQifV1dfSk7dmFyIGZDLHRDZT1mKCgpPT57ZkM9W1sicGF0aCIse2Q6Ik0yMCAyMHYtN2E0IDQgMCAwIDAtNC00SDQifV0sWyJwYXRoIix7ZDoiTTkgMTQgNCA5bDUtNSJ9XV19KTt2YXIgaEMsYUNlPWYoKCk9PntoQz1bWyJwYXRoIix7ZDoibTE1IDE0IDUtNS01LTUifV0sWyJwYXRoIix7ZDoiTTQgMjB2LTdhNCA0IDAgMCAxIDQtNGgxMiJ9XV19KTt2YXIgbUMsckNlPWYoKCk9PnttQz1bWyJwYXRoIix7ZDoiTTEyIDIwdjIifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTcgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTcgMnYyIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIifV0sWyJwYXRoIix7ZDoiTTIgMTdoMiJ9XSxbInBhdGgiLHtkOiJNMiA3aDIifV0sWyJwYXRoIix7ZDoiTTIwIDEyaDIifV0sWyJwYXRoIix7ZDoiTTIwIDE3aDIifV0sWyJwYXRoIix7ZDoiTTIwIDdoMiJ9XSxbInBhdGgiLHtkOiJNNyAyMHYyIn1dLFsicGF0aCIse2Q6Ik03IDJ2MiJ9XSxbInJlY3QiLHt4OiI0Iix5OiI0Iix3aWR0aDoiMTYiLGhlaWdodDoiMTYiLHJ4OiIyIn1dLFsicmVjdCIse3g6IjgiLHk6IjgiLHdpZHRoOiI4IixoZWlnaHQ6IjgiLHJ4OiIxIn1dXX0pO3ZhciBnQyxzQ2U9ZigoKT0+e2dDPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTAgOS4zYTIuOCAyLjggMCAwIDAtMy41IDEgMy4xIDMuMSAwIDAgMCAwIDMuNCAyLjcgMi43IDAgMCAwIDMuNSAxIn1dLFsicGF0aCIse2Q6Ik0xNyA5LjNhMi44IDIuOCAwIDAgMC0zLjUgMSAzLjEgMy4xIDAgMCAwIDAgMy40IDIuNyAyLjcgMCAwIDAgMy41IDEifV1dfSk7dmFyIGJDLGlDZT1mKCgpPT57YkM9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiNSIscng6IjIifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjEwIix5MjoiMTAifV1dfSk7dmFyIHZDLG9DZT1mKCgpPT57dkM9W1sicGF0aCIse2Q6Ik0xMC4yIDE4SDQuNzc0YTEuNSAxLjUgMCAwIDEtMS4zNTItLjk3IDExIDExIDAgMCAxIC4xMzItNi40ODcifV0sWyJwYXRoIix7ZDoiTTE4IDEwLjJWNC43NzRhMS41IDEuNSAwIDAgMC0uOTctMS4zNTIgMTEgMTEgMCAwIDAtNi40ODYuMTMyIn1dLFsicGF0aCIse2Q6Ik0xOCA1YTQgMyAwIDAgMSA0IDMgMiAyIDAgMCAxLTIgMiAxMCAxMCAwIDAgMC01LjEzOSAxLjQyIn1dLFsicGF0aCIse2Q6Ik01IDE4YTMgNCAwIDAgMCAzIDQgMiAyIDAgMCAwIDItMiAxMCAxMCAwIDAgMSAxLjQyLTUuMTQifV0sWyJwYXRoIix7ZDoiTTguNzA5IDIuNTU0YTEwIDEwIDAgMCAwLTYuMTU1IDYuMTU1IDEuNSAxLjUgMCAwIDAgLjY3NiAxLjYyNmw5LjgwNyA1LjQyYTIgMiAwIDAgMCAyLjcxOC0yLjcxOGwtNS40Mi05LjgwN2ExLjUgMS41IDAgMCAwLTEuNjI2LS42NzYifV1dfSk7dmFyIHhDLG5DZT1mKCgpPT57eEM9W1sicGF0aCIse2Q6Ik02IDJ2MTRhMiAyIDAgMCAwIDIgMmgxNCJ9XSxbInBhdGgiLHtkOiJNMTggMjJWOGEyIDIgMCAwIDAtMi0ySDIifV1dfSk7dmFyIHlDLGxDZT1mKCgpPT57eUM9W1sicGF0aCIse2Q6Ik00IDlhMiAyIDAgMCAwLTIgMnYyYTIgMiAwIDAgMCAyIDJoNGExIDEgMCAwIDEgMSAxdjRhMiAyIDAgMCAwIDIgMmgyYTIgMiAwIDAgMCAyLTJ2LTRhMSAxIDAgMCAxIDEtMWg0YTIgMiAwIDAgMCAyLTJ2LTJhMiAyIDAgMCAwLTItMmgtNGExIDEgMCAwIDEtMS0xVjRhMiAyIDAgMCAwLTItMmgtMmEyIDIgMCAwIDAtMiAydjRhMSAxIDAgMCAxLTEgMXoifV1dfSk7dmFyIHdDLGNDZT1mKCgpPT57d0M9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsibGluZSIse3gxOiIyMiIseDI6IjE4Iix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiNiIseDI6IjIiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiNiIseTI6IjIifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIyMiIseTI6IjE4In1dXX0pO3ZhciBNQyxkQ2U9ZigoKT0+e01DPVtbInBhdGgiLHtkOiJNMTEuNTYyIDMuMjY2YS41LjUgMCAwIDEgLjg3NiAwTDE1LjM5IDguODdhMSAxIDAgMCAwIDEuNTE2LjI5NEwyMS4xODMgNS41YS41LjUgMCAwIDEgLjc5OC41MTlsLTIuODM0IDEwLjI0NmExIDEgMCAwIDEtLjk1Ni43MzRINS44MWExIDEgMCAwIDEtLjk1Ny0uNzM0TDIuMDIgNi4wMmEuNS41IDAgMCAxIC43OTgtLjUxOWw0LjI3NiAzLjY2NGExIDEgMCAwIDAgMS41MTYtLjI5NHoifV0sWyJwYXRoIix7ZDoiTTUgMjFoMTQifV1dfSk7dmFyIGtDLHVDZT1mKCgpPT57a0M9W1sicGF0aCIse2Q6Ik0xMCAyMnYtOCJ9XSxbInBhdGgiLHtkOiJNMi4zMzYgOC44OSAxMCAxNGwxMS43MTUtNy4wMjkifV0sWyJwYXRoIix7ZDoiTTIyIDE0YTIgMiAwIDAgMS0uOTcxIDEuNzE1bC0xMCA2YTIgMiAwIDAgMS0yLjEzOC0uMDVsLTYtNEEyIDIgMCAwIDEgMiAxNnYtNmEyIDIgMCAwIDEgLjk3MS0xLjcxNWwxMC02YTIgMiAwIDAgMSAyLjEzOC4wNWw2IDRBMiAyIDAgMCAxIDIyIDh6In1dXX0pO3ZhciBTQyxwQ2U9ZigoKT0+e1NDPVtbInBhdGgiLHtkOiJtNiA4IDEuNzUgMTIuMjhhMiAyIDAgMCAwIDIgMS43Mmg0LjU0YTIgMiAwIDAgMCAyLTEuNzJMMTggOCJ9XSxbInBhdGgiLHtkOiJNNSA4aDE0In1dLFsicGF0aCIse2Q6Ik03IDE1YTYuNDcgNi40NyAwIDAgMSA1IDAgNi40NyA2LjQ3IDAgMCAwIDUgMCJ9XSxbInBhdGgiLHtkOiJtMTIgOCAxLTZoMiJ9XV19KTt2YXIgekMsZkNlPWYoKCk9Pnt6Qz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiOCJ9XSxbImxpbmUiLHt4MToiMyIseDI6IjYiLHkxOiIzIix5MjoiNiJ9XSxbImxpbmUiLHt4MToiMjEiLHgyOiIxOCIseTE6IjMiLHkyOiI2In1dLFsibGluZSIse3gxOiIzIix4MjoiNiIseTE6IjIxIix5MjoiMTgifV0sWyJsaW5lIix7eDE6IjIxIix4MjoiMTgiLHkxOiIyMSIseTI6IjE4In1dXX0pO3ZhciBDQyxoQ2U9ZigoKT0+e0NDPVtbImVsbGlwc2UiLHtjeDoiMTIiLGN5OiI1IixyeDoiOSIscnk6IjMifV0sWyJwYXRoIix7ZDoiTTMgNXYxNGE5IDMgMCAwIDAgMTggMFY1In1dXX0pO3ZhciBfQyxtQ2U9ZigoKT0+e19DPVtbInBhdGgiLHtkOiJNMTEgMTEuMzFjMS4xNy41NiAxLjU0IDEuNjkgMy41IDEuNjkgMi41IDAgMi41LTIgNS0yIDEuMyAwIDEuOS41IDIuNSAxIn1dLFsicGF0aCIse2Q6Ik0xMS43NSAxOGMuMzUuNSAxLjQ1IDEgMi43NSAxIDIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMSJ9XSxbInBhdGgiLHtkOiJNMiAxMGg0In1dLFsicGF0aCIse2Q6Ik0yIDE0aDQifV0sWyJwYXRoIix7ZDoiTTIgMThoNCJ9XSxbInBhdGgiLHtkOiJNMiA2aDQifV0sWyJwYXRoIix7ZDoiTTcgM2ExIDEgMCAwIDAtMSAxdjE2YTEgMSAwIDAgMCAxIDFoNGExIDEgMCAwIDAgMS0xTDEwIDRhMSAxIDAgMCAwLTEtMXoifV1dfSk7dmFyIFRDLGdDZT1mKCgpPT57VEM9W1siZWxsaXBzZSIse2N4OiIxMiIsY3k6IjUiLHJ4OiI5IixyeToiMyJ9XSxbInBhdGgiLHtkOiJNMyAxMmE5IDMgMCAwIDAgNSAyLjY5In1dLFsicGF0aCIse2Q6Ik0yMSA5LjNWNSJ9XSxbInBhdGgiLHtkOiJNMyA1djE0YTkgMyAwIDAgMCA2LjQ3IDIuODgifV0sWyJwYXRoIix7ZDoiTTEyIDEydjRoNCJ9XSxbInBhdGgiLHtkOiJNMTMgMjBhNSA1IDAgMCAwIDktMyA0LjUgNC41IDAgMCAwLTQuNS00LjVjLTEuMzMgMC0yLjU0LjU0LTMuNDEgMS40MUwxMiAxNiJ9XV19KTt2YXIgTEMsYkNlPWYoKCk9PntMQz1bWyJlbGxpcHNlIix7Y3g6IjEyIixjeToiNSIscng6IjkiLHJ5OiIzIn1dLFsicGF0aCIse2Q6Ik0zIDVWMTlBOSAzIDAgMCAwIDE1IDIxLjg0In1dLFsicGF0aCIse2Q6Ik0yMSA1VjgifV0sWyJwYXRoIix7ZDoiTTIxIDEyTDE4IDE3SDIyTDE5IDIyIn1dLFsicGF0aCIse2Q6Ik0zIDEyQTkgMyAwIDAgMCAxNC41OSAxNC44NyJ9XV19KTt2YXIgJEMsdkNlPWYoKCk9PnskQz1bWyJwYXRoIix7ZDoiTTIxIDExLjY5M1Y1In1dLFsicGF0aCIse2Q6Im0yMiAyMi0xLjg3NS0xLjg3NSJ9XSxbInBhdGgiLHtkOiJNMyAxMmE5IDMgMCAwIDAgOC42OTcgMi45OTgifV0sWyJwYXRoIix7ZDoiTTMgNXYxNGE5IDMgMCAwIDAgOS4yOCAyLjk5OSJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dLFsiZWxsaXBzZSIse2N4OiIxMiIsY3k6IjUiLHJ4OiI5IixyeToiMyJ9XV19KTt2YXIgREMseENlPWYoKCk9PntEQz1bWyJlbGxpcHNlIix7Y3g6IjEyIixjeToiNSIscng6IjkiLHJ5OiIzIn1dLFsicGF0aCIse2Q6Ik0zIDVWMTlBOSAzIDAgMCAwIDIxIDE5VjUifV0sWyJwYXRoIix7ZDoiTTMgMTJBOSAzIDAgMCAwIDIxIDEyIn1dXX0pO3ZhciBBQyx5Q2U9ZigoKT0+e0FDPVtbInBhdGgiLHtkOiJtMTMgMjEtMy0zIDMtMyJ9XSxbInBhdGgiLHtkOiJNMjAgMThIMTAifV0sWyJwYXRoIix7ZDoiTTMgMTFoLjAxIn1dLFsicmVjdCIse3g6IjYiLHk6IjMiLHdpZHRoOiI1IixoZWlnaHQ6IjgiLHJ4OiIyLjUifV1dfSk7dmFyIEVDLHdDZT1mKCgpPT57RUM9W1sicGF0aCIse2Q6Ik0xMCAxOGgxMCJ9XSxbInBhdGgiLHtkOiJtMTcgMjEgMy0zLTMtMyJ9XSxbInBhdGgiLHtkOiJNMyAxMWguMDEifV0sWyJyZWN0Iix7eDoiMTUiLHk6IjMiLHdpZHRoOiI1IixoZWlnaHQ6IjgiLHJ4OiIyLjUifV0sWyJyZWN0Iix7eDoiNiIseToiMyIsd2lkdGg6IjUiLGhlaWdodDoiOCIscng6IjIuNSJ9XV19KTt2YXIgUEMsTUNlPWYoKCk9PntQQz1bWyJwYXRoIix7ZDoiTTEwIDVhMiAyIDAgMCAwLTEuMzQ0LjUxOWwtNi4zMjggNS43NGExIDEgMCAwIDAgMCAxLjQ4MWw2LjMyOCA1Ljc0MUEyIDIgMCAwIDAgMTAgMTloMTBhMiAyIDAgMCAwIDItMlY3YTIgMiAwIDAgMC0yLTJ6In1dLFsicGF0aCIse2Q6Im0xMiA5IDYgNiJ9XSxbInBhdGgiLHtkOiJtMTggOS02IDYifV1dfSk7dmFyIElDLGtDZT1mKCgpPT57SUM9W1sicGF0aCIse2Q6Ik0xMC4xNjIgMy4xNjdBMTAgMTAgMCAwIDAgMiAxM2EyIDIgMCAwIDAgNCAwdi0xYTIgMiAwIDAgMSA0IDB2NGEyIDIgMCAwIDAgNCAwdi00YTIgMiAwIDAgMSA0IDB2MWEyIDIgMCAwIDAgNC0uMDA2IDEwIDEwIDAgMCAwLTguMTYxLTkuODI2In1dLFsicGF0aCIse2Q6Ik0yMC44MDQgMTQuODY5YTkgOSAwIDAgMS0xNy42MDggMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjQiLHI6IjIifV1dfSk7dmFyIE5DLFNDZT1mKCgpPT57TkM9W1siY2lyY2xlIix7Y3g6IjE5IixjeToiMTkiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjUiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTYuNDggMy42NmExMCAxMCAwIDAgMSAxMy44NiAxMy44NiJ9XSxbInBhdGgiLHtkOiJtNi40MSA2LjQxIDExLjE4IDExLjE4In1dLFsicGF0aCIse2Q6Ik0zLjY2IDYuNDhhMTAgMTAgMCAwIDAgMTMuODYgMTMuODYifV1dfSk7dmFyIFJDLHpDZT1mKCgpPT57UkM9W1sicGF0aCIse2Q6Ik0yLjcgMTAuM2EyLjQxIDIuNDEgMCAwIDAgMCAzLjQxbDcuNTkgNy41OWEyLjQxIDIuNDEgMCAwIDAgMy40MSAwbDcuNTktNy41OWEyLjQxIDIuNDEgMCAwIDAgMC0zLjQxTDEzLjcgMi43MWEyLjQxIDIuNDEgMCAwIDAtMy40MSAweiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dXX0pO3ZhciBBNixDQ2U9ZigoKT0+e0E2PVtbInBhdGgiLHtkOiJNMi43IDEwLjNhMi40MSAyLjQxIDAgMCAwIDAgMy40MWw3LjU5IDcuNTlhMi40MSAyLjQxIDAgMCAwIDMuNDEgMGw3LjU5LTcuNTlhMi40MSAyLjQxIDAgMCAwIDAtMy40MUwxMy43IDIuNzFhMi40MSAyLjQxIDAgMCAwLTMuNDEgMFoifV0sWyJwYXRoIix7ZDoiTTkuMiA5LjJoLjAxIn1dLFsicGF0aCIse2Q6Im0xNC41IDkuNS01IDUifV0sWyJwYXRoIix7ZDoiTTE0LjcgMTQuOGguMDEifV1dfSk7dmFyIE9DLF9DZT1mKCgpPT57T0M9W1sicGF0aCIse2Q6Ik0xMiA4djgifV0sWyJwYXRoIix7ZDoiTTIuNyAxMC4zYTIuNDEgMi40MSAwIDAgMCAwIDMuNDFsNy41OSA3LjU5YTIuNDEgMi40MSAwIDAgMCAzLjQxIDBsNy41OS03LjU5YTIuNDEgMi40MSAwIDAgMCAwLTMuNDFMMTMuNyAyLjcxYTIuNDEgMi40MSAwIDAgMC0zLjQxIDB6In1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV1dfSk7dmFyIEZDLFRDZT1mKCgpPT57RkM9W1sicGF0aCIse2Q6Ik0yLjcgMTAuM2EyLjQxIDIuNDEgMCAwIDAgMCAzLjQxbDcuNTkgNy41OWEyLjQxIDIuNDEgMCAwIDAgMy40MSAwbDcuNTktNy41OWEyLjQxIDIuNDEgMCAwIDAgMC0zLjQxbC03LjU5LTcuNTlhMi40MSAyLjQxIDAgMCAwLTMuNDEgMFoifV1dfSk7dmFyIEJDLExDZT1mKCgpPT57QkM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik0xMiAxMmguMDEifV1dfSk7dmFyIEhDLCRDZT1mKCgpPT57SEM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik0xNSA5aC4wMSJ9XSxbInBhdGgiLHtkOiJNOSAxNWguMDEifV1dfSk7dmFyIHFDLERDZT1mKCgpPT57cUM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik0xNiA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE2aC4wMSJ9XV19KTt2YXIgVkMsQUNlPWYoKCk9PntWQz1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTE2IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTZoLjAxIn1dXX0pO3ZhciBqQyxFQ2U9ZigoKT0+e2pDPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNMTYgOGguMDEifV0sWyJwYXRoIix7ZDoiTTggOGguMDEifV0sWyJwYXRoIix7ZDoiTTggMTZoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNmguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XV19KTt2YXIgVUMsUENlPWYoKCk9PntVQz1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTE2IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE2aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTggMTZoLjAxIn1dXX0pO3ZhciBXQyxJQ2U9ZigoKT0+e1dDPVtbInBhdGgiLHtkOiJNMTIgM3YxNCJ9XSxbInBhdGgiLHtkOiJNNSAxMGgxNCJ9XSxbInBhdGgiLHtkOiJNNSAyMWgxNCJ9XV19KTt2YXIgR0MsTkNlPWYoKCk9PntHQz1bWyJyZWN0Iix7d2lkdGg6IjEyIixoZWlnaHQ6IjEyIix4OiIyIix5OiIxMCIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Im0xNy45MiAxNCAzLjUtMy41YTIuMjQgMi4yNCAwIDAgMCAwLTNsLTUtNC45MmEyLjI0IDIuMjQgMCAwIDAtMyAwTDEwIDYifV0sWyJwYXRoIix7ZDoiTTYgMThoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMCAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTE1IDZoLjAxIn1dLFsicGF0aCIse2Q6Ik0xOCA5aC4wMSJ9XV19KTt2YXIgWUMsUkNlPWYoKCk9PntZQz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTIgMTJoLjAxIn1dXX0pO3ZhciBLQyxPQ2U9ZigoKT0+e0tDPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNNiAxMmMwLTEuNy43LTMuMiAxLjgtNC4yIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTE4IDEyYzAgMS43LS43IDMuMi0xLjggNC4yIn1dXX0pO3ZhciBaQyxGQ2U9ZigoKT0+e1pDPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjUifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XV19KTt2YXIgWEMsQkNlPWYoKCk9PntYQz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI2IixyOiIxIn1dLFsibGluZSIse3gxOiI1Iix4MjoiMTkiLHkxOiIxMiIseTI6IjEyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTgiLHI6IjEifV1dfSk7dmFyIFFDLEhDZT1mKCgpPT57UUM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV1dfSk7dmFyIEpDLHFDZT1mKCgpPT57SkM9W1sicGF0aCIse2Q6Ik0xNSAyYy0xLjM1IDEuNS0yLjA5MiAzLTIuNSA0LjVMMTQgOCJ9XSxbInBhdGgiLHtkOiJtMTcgNi0yLjg5MS0yLjg5MSJ9XSxbInBhdGgiLHtkOiJNMiAxNWMzLjMzMy0zIDYuNjY3LTMgMTAtMyJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Im0yMCA5IC44OTEuODkxIn1dLFsicGF0aCIse2Q6Ik0yMiA5Yy0xLjUgMS4zNS0zIDIuMDkyLTQuNSAyLjVsLTEtMSJ9XSxbInBhdGgiLHtkOiJNMy4xMDkgMTQuMTA5IDQgMTUifV0sWyJwYXRoIix7ZDoibTYuNSAxMi41IDEgMSJ9XSxbInBhdGgiLHtkOiJtNyAxOCAyLjg5MSAyLjg5MSJ9XSxbInBhdGgiLHtkOiJNOSAyMmMxLjM1LTEuNSAyLjA5Mi0zIDIuNS00LjVMMTAgMTYifV1dfSk7dmFyIGVfLFZDZT1mKCgpPT57ZV89W1sicGF0aCIse2Q6Im0xMCAxNiAxLjUgMS41In1dLFsicGF0aCIse2Q6Im0xNCA4LTEuNS0xLjUifV0sWyJwYXRoIix7ZDoiTTE1IDJjLTEuNzk4IDEuOTk4LTIuNTE4IDMuOTk1LTIuODA3IDUuOTkzIn1dLFsicGF0aCIse2Q6Im0xNi41IDEwLjUgMSAxIn1dLFsicGF0aCIse2Q6Im0xNyA2LTIuODkxLTIuODkxIn1dLFsicGF0aCIse2Q6Ik0yIDE1YzYuNjY3LTYgMTMuMzMzIDAgMjAtNiJ9XSxbInBhdGgiLHtkOiJtMjAgOSAuODkxLjg5MSJ9XSxbInBhdGgiLHtkOiJNMy4xMDkgMTQuMTA5IDQgMTUifV0sWyJwYXRoIix7ZDoibTYuNSAxMi41IDEgMSJ9XSxbInBhdGgiLHtkOiJtNyAxOCAyLjg5MSAyLjg5MSJ9XSxbInBhdGgiLHtkOiJNOSAyMmMxLjc5OC0xLjk5OCAyLjUxOC0zLjk5NSAyLjgwNy01Ljk5MyJ9XV19KTt2YXIgdF8sakNlPWYoKCk9Pnt0Xz1bWyJwYXRoIix7ZDoiTTIgOGgyMCJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHg6IjIiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik02IDE2aDEyIn1dXX0pO3ZhciBhXyxVQ2U9ZigoKT0+e2FfPVtbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjIiLHkyOiIyMiJ9XSxbInBhdGgiLHtkOiJNMTcgNUg5LjVhMy41IDMuNSAwIDAgMCAwIDdoNWEzLjUgMy41IDAgMCAxIDAgN0g2In1dXX0pO3ZhciByXyxXQ2U9ZigoKT0+e3JfPVtbInBhdGgiLHtkOiJNMTEuMjUgMTYuMjVoMS41TDEyIDE3eiJ9XSxbInBhdGgiLHtkOiJNMTYgMTR2LjUifV0sWyJwYXRoIix7ZDoiTTQuNDIgMTEuMjQ3QTEzLjE1MiAxMy4xNTIgMCAwIDAgNCAxNC41NTZDNCAxOC43MjggNy41ODIgMjEgMTIgMjFzOC0yLjI3MiA4LTYuNDQ0YTExLjcwMiAxMS43MDIgMCAwIDAtLjQ5My0zLjMwOSJ9XSxbInBhdGgiLHtkOiJNOCAxNHYuNSJ9XSxbInBhdGgiLHtkOiJNOC41IDguNWMtLjM4NCAxLjA1LTEuMDgzIDIuMDI4LTIuMzQ0IDIuNS0xLjkzMS43MjItMy41NzYtLjI5Ny0zLjY1Ni0xLS4xMTMtLjk5NCAxLjE3Ny02LjUzIDQtNyAxLjkyMy0uMzIxIDMuNjUxLjg0NSAzLjY1MSAyLjIzNUE3LjQ5NyA3LjQ5NyAwIDAgMSAxNCA1LjI3N2MwLTEuMzkgMS44NDQtMi41OTggMy43NjctMi4yNzcgMi44MjMuNDcgNC4xMTMgNi4wMDYgNCA3LS4wOC43MDMtMS43MjUgMS43MjItMy42NTYgMS0xLjI2MS0uNDcyLTEuODU1LTEuNDUtMi4yMzktMi41In1dXX0pO3ZhciBzXyxHQ2U9ZigoKT0+e3NfPVtbInBhdGgiLHtkOiJNMjAuNSAxMGEyLjUgMi41IDAgMCAxLTIuNC0zSDE4YTIuOTUgMi45NSAwIDAgMS0yLjYtNC40IDEwIDEwIDAgMSAwIDYuMyA3LjFjLS4zLjItLjguMy0xLjIuMyJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dXX0pO3ZhciBpXyxZQ2U9ZigoKT0+e2lfPVtbInBhdGgiLHtkOiJNMTAgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xOCA5VjZhMiAyIDAgMCAwLTItMkg4YTIgMiAwIDAgMC0yIDJ2MTQifV0sWyJwYXRoIix7ZDoiTTIgMjBoOCJ9XSxbInBhdGgiLHtkOiJNMjAgMTd2LTJhMiAyIDAgMSAwLTQgMHYyIn1dLFsicmVjdCIse3g6IjE0Iix5OiIxNyIsd2lkdGg6IjgiLGhlaWdodDoiNSIscng6IjEifV1dfSk7dmFyIG9fLEtDZT1mKCgpPT57b189W1sicGF0aCIse2Q6Ik0xMCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE4IDIwVjZhMiAyIDAgMCAwLTItMkg4YTIgMiAwIDAgMC0yIDJ2MTQifV0sWyJwYXRoIix7ZDoiTTIgMjBoMjAifV1dfSk7dmFyIG5fLFpDZT1mKCgpPT57bl89W1sicGF0aCIse2Q6Ik0xMSAyMEgyIn1dLFsicGF0aCIse2Q6Ik0xMSA0LjU2MnYxNi4xNTdhMSAxIDAgMCAwIDEuMjQyLjk3TDE5IDIwVjUuNTYyYTIgMiAwIDAgMC0xLjUxNS0xLjk0bC00LTFBMiAyIDAgMCAwIDExIDQuNTYxeiJ9XSxbInBhdGgiLHtkOiJNMTEgNEg4YTIgMiAwIDAgMC0yIDJ2MTQifV0sWyJwYXRoIix7ZDoiTTE0IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMjIgMjBoLTMifV1dfSk7dmFyIGxfLFhDZT1mKCgpPT57bF89W1siY2lyY2xlIix7Y3g6IjEyLjEiLGN5OiIxMi4xIixyOiIxIn1dXX0pO3ZhciBjXyxRQ2U9ZigoKT0+e2NfPVtbInBhdGgiLHtkOiJNMTIgMTVWMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCJ9XSxbInBhdGgiLHtkOiJtNyAxMCA1IDUgNS01In1dXX0pO3ZhciBkXyxKQ2U9ZigoKT0+e2RfPVtbInBhdGgiLHtkOiJtMTIuOTkgNi43NCAxLjkzIDMuNDQifV0sWyJwYXRoIix7ZDoiTTE5LjEzNiAxMmExMCAxMCAwIDAgMS0xNC4yNzEgMCJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtMi4xNi0zLjg0In1dLFsicGF0aCIse2Q6Im0zIDIxIDguMDItMTQuMjYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI1IixyOiIyIn1dXX0pO3ZhciB1XyxlX2U9ZigoKT0+e3VfPVtbInBhdGgiLHtkOiJNMTAgMThhMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMS0xIDFINWEzIDMgMCAwIDEtMy0zIDEgMSAwIDAgMSAxLTF6In1dLFsicGF0aCIse2Q6Ik0xMyAxMEg0YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDlhMSAxIDAgMCAxIDEgMXY2YTEgMSAwIDAgMS0xIDFsLS44MSAzLjI0MmExIDEgMCAwIDEtLjk3Ljc1OEg4In1dLFsicGF0aCIse2Q6Ik0xNCA0aDNhMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMS0xIDFoLTMifV0sWyJwYXRoIix7ZDoiTTE4IDZoNCJ9XSxbInBhdGgiLHtkOiJtNSAxMC0yIDgifV0sWyJwYXRoIix7ZDoibTcgMTggMi04In1dXX0pO3ZhciBwXyx0X2U9ZigoKT0+e3BfPVtbInBhdGgiLHtkOiJNMTAgMTFoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCA2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggNmguMDEifV0sWyJwYXRoIix7ZDoiTTYuNSAxMy4xaC4wMSJ9XSxbInBhdGgiLHtkOiJNMjIgNWMwIDktNCAxMi02IDEycy02LTMtNi0xMmMwLTIgMi0zIDYtM3M2IDEgNiAzIn1dLFsicGF0aCIse2Q6Ik0xNy40IDkuOWMtLjguOC0yIC44LTIuOCAwIn1dLFsicGF0aCIse2Q6Ik0xMC4xIDcuMUM5IDcuMiA3LjcgNy43IDYgOC42Yy0zLjUgMi00LjcgMy45LTMuNyA1LjYgNC41IDcuOCA5LjUgOC40IDExLjIgNy40LjktLjUgMS45LTIuMSAxLjktNC43In1dLFsicGF0aCIse2Q6Ik05LjEgMTYuNWMuMy0xLjEgMS40LTEuNyAyLjQtMS40In1dXX0pO3ZhciBmXyxhX2U9ZigoKT0+e2ZfPVtbInBhdGgiLHtkOiJNMTAgMTAgNyA3In1dLFsicGF0aCIse2Q6Im0xMCAxNC0zIDMifV0sWyJwYXRoIix7ZDoibTE0IDEwIDMtMyJ9XSxbInBhdGgiLHtkOiJtMTQgMTQgMyAzIn1dLFsicGF0aCIse2Q6Ik0xNC4yMDUgNC4xMzlhNCA0IDAgMSAxIDUuNDM5IDUuODYzIn1dLFsicGF0aCIse2Q6Ik0xOS42MzcgMTRhNCA0IDAgMSAxLTUuNDMyIDUuODY4In1dLFsicGF0aCIse2Q6Ik00LjM2NyAxMGE0IDQgMCAxIDEgNS40MzgtNS44NjIifV0sWyJwYXRoIix7ZDoiTTkuNzk1IDE5Ljg2MmE0IDQgMCAxIDEtNS40MjktNS44NzMifV0sWyJyZWN0Iix7eDoiMTAiLHk6IjgiLHdpZHRoOiI0IixoZWlnaHQ6IjgiLHJ4OiIxIn1dXX0pO3ZhciBoXyxyX2U9ZigoKT0+e2hfPVtbInBhdGgiLHtkOiJNMTIgMjJhNyA3IDAgMCAwIDctN2MwLTItMS0zLjktMy01LjVzLTMuNS00LTQtNi41Yy0uNSAyLjUtMiA0LjktNCA2LjVDNiAxMS4xIDUgMTMgNSAxNWE3IDcgMCAwIDAgNyA3eiJ9XV19KTt2YXIgbV8sc19lPWYoKCk9PnttXz1bWyJwYXRoIix7ZDoiTTE4LjcxNSAxMy4xODZDMTguMjkgMTEuODU4IDE3LjM4NCAxMC42MDcgMTYgOS41Yy0yLTEuNi0zLjUtNC00LTYuNWExMC43IDEwLjcgMCAwIDEtLjg4NCAyLjU4NiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik04Ljc5NSA4Ljc5N0ExMSAxMSAwIDAgMSA4IDkuNUM2IDExLjEgNSAxMyA1IDE1YTcgNyAwIDAgMCAxMy4yMjIgMy4yMDgifV1dfSk7dmFyIGdfLGlfZT1mKCgpPT57Z189W1sicGF0aCIse2Q6Ik03IDE2LjNjMi4yIDAgNC0xLjgzIDQtNC4wNSAwLTEuMTYtLjU3LTIuMjYtMS43MS0zLjE5UzcuMjkgNi43NSA3IDUuM2MtLjI5IDEuNDUtMS4xNCAyLjg0LTIuMjkgMy43NlMzIDExLjEgMyAxMi4yNWMwIDIuMjIgMS44IDQuMDUgNCA0LjA1eiJ9XSxbInBhdGgiLHtkOiJNMTIuNTYgNi42QTEwLjk3IDEwLjk3IDAgMCAwIDE0IDMuMDJjLjUgMi41IDIgNC45IDQgNi41czMgMy41IDMgNS41YTYuOTggNi45OCAwIDAgMS0xMS45MSA0Ljk3In1dXX0pO3ZhciBiXyxvX2U9ZigoKT0+e2JfPVtbInBhdGgiLHtkOiJtMiAyIDggOCJ9XSxbInBhdGgiLHtkOiJtMjIgMi04IDgifV0sWyJlbGxpcHNlIix7Y3g6IjEyIixjeToiOSIscng6IjEwIixyeToiNSJ9XSxbInBhdGgiLHtkOiJNNyAxMy40djcuOSJ9XSxbInBhdGgiLHtkOiJNMTIgMTR2OCJ9XSxbInBhdGgiLHtkOiJNMTcgMTMuNHY3LjkifV0sWyJwYXRoIix7ZDoiTTIgOXY4YTEwIDUgMCAwIDAgMjAgMFY5In1dXX0pO3ZhciB2XyxuX2U9ZigoKT0+e3ZfPVtbInBhdGgiLHtkOiJNMTUuNCAxNS42M2E3Ljg3NSA2IDEzNSAxIDEgNi4yMy02LjIzIDQuNSAzLjQzIDEzNSAwIDAtNi4yMyA2LjIzIn1dLFsicGF0aCIse2Q6Im04LjI5IDEyLjcxLTIuNiAyLjZhMi41IDIuNSAwIDEgMC0xLjY1IDQuNjVBMi41IDIuNSAwIDEgMCA4LjcgMTguM2wyLjU5LTIuNTkifV1dfSk7dmFyIHhfLGxfZT1mKCgpPT57eF89W1sicGF0aCIse2Q6Ik0xNy41OTYgMTIuNzY4YTIgMiAwIDEgMCAyLjgyOS0yLjgyOWwtMS43NjgtMS43NjdhMiAyIDAgMCAwIDIuODI4LTIuODI5bC0yLjgyOC0yLjgyOGEyIDIgMCAwIDAtMi44MjkgMi44MjhsLTEuNzY3LTEuNzY4YTIgMiAwIDEgMC0yLjgyOSAyLjgyOXoifV0sWyJwYXRoIix7ZDoibTIuNSAyMS41IDEuNC0xLjQifV0sWyJwYXRoIix7ZDoibTIwLjEgMy45IDEuNC0xLjQifV0sWyJwYXRoIix7ZDoiTTUuMzQzIDIxLjQ4NWEyIDIgMCAxIDAgMi44MjktMi44MjhsMS43NjcgMS43NjhhMiAyIDAgMSAwIDIuODI5LTIuODI5bC02LjM2NC02LjM2NGEyIDIgMCAxIDAtMi44MjkgMi44MjlsMS43NjggMS43NjdhMiAyIDAgMCAwLTIuODI4IDIuODI5eiJ9XSxbInBhdGgiLHtkOiJtOS42IDE0LjQgNC44LTQuOCJ9XV19KTt2YXIgeV8sY19lPWYoKCk9Pnt5Xz1bWyJwYXRoIix7ZDoiTTYgMTguNWEzLjUgMy41IDAgMSAwIDcgMGMwLTEuNTcuOTItMi41MiAyLjA0LTMuNDYifV0sWyJwYXRoIix7ZDoiTTYgOC41YzAtLjc1LjEzLTEuNDcuMzYtMi4xNCJ9XSxbInBhdGgiLHtkOiJNOC44IDMuMTVBNi41IDYuNSAwIDAgMSAxOSA4LjVjMCAxLjYzLS40NCAyLjgxLTEuMDkgMy43NiJ9XSxbInBhdGgiLHtkOiJNMTIuNSA2QTIuNSAyLjUgMCAwIDEgMTUgOC41TTEwIDEzYTIgMiAwIDAgMCAxLjgyLTEuMTgifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XV19KTt2YXIgd18sZF9lPWYoKCk9Pnt3Xz1bWyJwYXRoIix7ZDoiTTYgOC41YTYuNSA2LjUgMCAxIDEgMTMgMGMwIDYtNiA2LTYgMTBhMy41IDMuNSAwIDEgMS03IDAifV0sWyJwYXRoIix7ZDoiTTE1IDguNWEyLjUgMi41IDAgMCAwLTUgMHYxYTIgMiAwIDEgMSAwIDQifV1dfSk7dmFyIE1fLHVfZT1mKCgpPT57TV89W1sicGF0aCIse2Q6Ik03IDMuMzRWNWEzIDMgMCAwIDAgMyAzIn1dLFsicGF0aCIse2Q6Ik0xMSAyMS45NVYxOGEyIDIgMCAwIDAtMi0yIDIgMiAwIDAgMS0yLTJ2LTFhMiAyIDAgMCAwLTItMkgyLjA1In1dLFsicGF0aCIse2Q6Ik0yMS41NCAxNUgxN2EyIDIgMCAwIDAtMiAydjQuNTQifV0sWyJwYXRoIix7ZDoiTTEyIDJhMTAgMTAgMCAxIDAgOS41NCAxMyJ9XSxbInBhdGgiLHtkOiJNMjAgNlY0YTIgMiAwIDEgMC00IDB2MiJ9XSxbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI1Iix4OiIxNCIseToiNiIscng6IjEifV1dfSk7dmFyIEU2LHBfZT1mKCgpPT57RTY9W1sicGF0aCIse2Q6Ik0yMS41NCAxNUgxN2EyIDIgMCAwIDAtMiAydjQuNTQifV0sWyJwYXRoIix7ZDoiTTcgMy4zNFY1YTMgMyAwIDAgMCAzIDNhMiAyIDAgMCAxIDIgMmMwIDEuMS45IDIgMiAyYTIgMiAwIDAgMCAyLTJjMC0xLjEuOS0yIDItMmgzLjE3In1dLFsicGF0aCIse2Q6Ik0xMSAyMS45NVYxOGEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMS0yLTJ2LTFhMiAyIDAgMCAwLTItMkgyLjA1In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXX0pO3ZhciBrXyxmX2U9ZigoKT0+e2tfPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgMmE3IDcgMCAxIDAgMTAgMTAifV1dfSk7dmFyIFNfLGhfZT1mKCgpPT57U189W1siY2lyY2xlIix7Y3g6IjExLjUiLGN5OiIxMi41IixyOiIzLjUifV0sWyJwYXRoIix7ZDoiTTMgOGMwLTMuNSAyLjUtNiA2LjUtNiA1IDAgNC44MyAzIDcuNSA1czUgMiA1IDZjMCA0LjUtMi41IDYuNS03IDYuNS0yLjUgMC0yLjUgMi41LTYgMi41cy03LTItNy01LjVjMC0zIDEuNS0zIDEuNS01QzMuNSAxMCAzIDkgMyA4WiJ9XV19KTt2YXIgel8sbV9lPWYoKCk9Pnt6Xz1bWyJwYXRoIix7ZDoiTTEyIDJDOCAyIDQgOCA0IDE0YTggOCAwIDAgMCAxNiAwYzAtNi00LTEyLTgtMTIifV1dfSk7dmFyIENfLGdfZT1mKCgpPT57Q189W1sicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTIwIDE0LjM0N1YxNGMwLTYtNC0xMi04LTEyLTEuMDc4IDAtMi4xNTcuNDM2LTMuMTU3IDEuMTkifV0sWyJwYXRoIix7ZDoiTTYuMjA2IDYuMjFDNC44NzEgOC40IDQgMTEuMiA0IDE0YTggOCAwIDAgMCAxNC41NjggNC41NjgifV1dfSk7dmFyIF9fLGJfZT1mKCgpPT57X189W1siZWxsaXBzZSIse2N4OiIxMiIsY3k6IjEyIixyeDoiMTAiLHJ5OiI2In1dXX0pO3ZhciBQNix2X2U9ZigoKT0+e1A2PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiNSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE5IixyOiIxIn1dXX0pO3ZhciBUXyx4X2U9ZigoKT0+e1RfPVtbInBhdGgiLHtkOiJNNSAxNWE2LjUgNi41IDAgMCAxIDcgMCA2LjUgNi41IDAgMCAwIDcgMCJ9XSxbInBhdGgiLHtkOiJNNSA5YTYuNSA2LjUgMCAwIDEgNyAwIDYuNSA2LjUgMCAwIDAgNyAwIn1dXX0pO3ZhciBJNix5X2U9ZigoKT0+e0k2PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTIiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjEyIixyOiIxIn1dXX0pO3ZhciBMXyx3X2U9ZigoKT0+e0xfPVtbImxpbmUiLHt4MToiNSIseDI6IjE5Iix5MToiOSIseTI6IjkifV0sWyJsaW5lIix7eDE6IjUiLHgyOiIxOSIseTE6IjE1Iix5MjoiMTUifV0sWyJsaW5lIix7eDE6IjE5Iix4MjoiNSIseTE6IjUiLHkyOiIxOSJ9XV19KTt2YXIgJF8sTV9lPWYoKCk9PnskXz1bWyJsaW5lIix7eDE6IjUiLHgyOiIxOSIseTE6IjkiLHkyOiI5In1dLFsibGluZSIse3gxOiI1Iix4MjoiMTkiLHkxOiIxNSIseTI6IjE1In1dXX0pO3ZhciBEXyxrX2U9ZigoKT0+e0RfPVtbInBhdGgiLHtkOiJNMjEgMjFIOGEyIDIgMCAwIDEtMS40Mi0uNTg3bC0zLjk5NC0zLjk5OWEyIDIgMCAwIDEgMC0yLjgyOGwxMC0xMGEyIDIgMCAwIDEgMi44MjkgMGw1Ljk5OSA2YTIgMiAwIDAgMSAwIDIuODI4TDEyLjgzNCAyMSJ9XSxbInBhdGgiLHtkOiJtNS4wODIgMTEuMDkgOC44MjggOC44MjgifV1dfSk7dmFyIEFfLFNfZT1mKCgpPT57QV89W1sicGF0aCIse2Q6Im0xNSAyMCAzLTNoMmEyIDIgMCAwIDAgMi0yVjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2OWEyIDIgMCAwIDAgMiAyaDJsMyAzeiJ9XSxbInBhdGgiLHtkOiJNNiA4djEifV0sWyJwYXRoIix7ZDoiTTEwIDh2MSJ9XSxbInBhdGgiLHtkOiJNMTQgOHYxIn1dLFsicGF0aCIse2Q6Ik0xOCA4djEifV1dfSk7dmFyIEVfLHpfZT1mKCgpPT57RV89W1sicGF0aCIse2Q6Ik00IDEwaDEyIn1dLFsicGF0aCIse2Q6Ik00IDE0aDkifV0sWyJwYXRoIix7ZDoiTTE5IDZhNy43IDcuNyAwIDAgMC01LjItMkE3LjkgNy45IDAgMCAwIDYgMTJjMCA0LjQgMy41IDggNy44IDggMiAwIDMuOC0uOCA1LjItMiJ9XV19KTt2YXIgUF8sQ19lPWYoKCk9PntQXz1bWyJwYXRoIix7ZDoiTTE0IDEzaDJhMiAyIDAgMCAxIDIgMnYyYTIgMiAwIDAgMCA0IDB2LTYuOTk4YTIgMiAwIDAgMC0uNTktMS40MkwxOCA1In1dLFsicGF0aCIse2Q6Ik0xNCAyMVY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE2In1dLFsicGF0aCIse2Q6Ik0yIDIxaDEzIn1dLFsicGF0aCIse2Q6Ik0zIDdoMTEifV0sWyJwYXRoIix7ZDoibTkgMTEtMiAzaDNsLTIgMyJ9XV19KTt2YXIgSV8sX19lPWYoKCk9PntJXz1bWyJwYXRoIix7ZDoibTE1IDE1IDYgNiJ9XSxbInBhdGgiLHtkOiJtMTUgOSA2LTYifV0sWyJwYXRoIix7ZDoiTTIxIDE2djVoLTUifV0sWyJwYXRoIix7ZDoiTTIxIDhWM2gtNSJ9XSxbInBhdGgiLHtkOiJNMyAxNnY1aDUifV0sWyJwYXRoIix7ZDoibTMgMjEgNi02In1dLFsicGF0aCIse2Q6Ik0zIDhWM2g1In1dLFsicGF0aCIse2Q6Ik05IDkgMyAzIn1dXX0pO3ZhciBOXyxUX2U9ZigoKT0+e05fPVtbInBhdGgiLHtkOiJNMTUgM2g2djYifV0sWyJwYXRoIix7ZDoiTTEwIDE0IDIxIDMifV0sWyJwYXRoIix7ZDoiTTE4IDEzdjZhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDYifV1dfSk7dmFyIFJfLExfZT1mKCgpPT57Ul89W1sicGF0aCIse2Q6Im0xNSAxOC0uNzIyLTMuMjUifV0sWyJwYXRoIix7ZDoiTTIgOGExMC42NDUgMTAuNjQ1IDAgMCAwIDIwIDAifV0sWyJwYXRoIix7ZDoibTIwIDE1LTEuNzI2LTIuMDUifV0sWyJwYXRoIix7ZDoibTQgMTUgMS43MjYtMi4wNSJ9XSxbInBhdGgiLHtkOiJtOSAxOCAuNzIyLTMuMjUifV1dfSk7dmFyIE9fLCRfZT1mKCgpPT57T189W1sicGF0aCIse2Q6Ik0xMC43MzMgNS4wNzZhMTAuNzQ0IDEwLjc0NCAwIDAgMSAxMS4yMDUgNi41NzUgMSAxIDAgMCAxIDAgLjY5NiAxMC43NDcgMTAuNzQ3IDAgMCAxLTEuNDQ0IDIuNDkifV0sWyJwYXRoIix7ZDoiTTE0LjA4NCAxNC4xNThhMyAzIDAgMCAxLTQuMjQyLTQuMjQyIn1dLFsicGF0aCIse2Q6Ik0xNy40NzkgMTcuNDk5YTEwLjc1IDEwLjc1IDAgMCAxLTE1LjQxNy01LjE1MSAxIDEgMCAwIDEgMC0uNjk2IDEwLjc1IDEwLjc1IDAgMCAxIDQuNDQ2LTUuMTQzIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIEZfLERfZT1mKCgpPT57Rl89W1sicGF0aCIse2Q6Ik0yLjA2MiAxMi4zNDhhMSAxIDAgMCAxIDAtLjY5NiAxMC43NSAxMC43NSAwIDAgMSAxOS44NzYgMCAxIDEgMCAwIDEgMCAuNjk2IDEwLjc1IDEwLjc1IDAgMCAxLTE5Ljg3NiAwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV1dfSk7dmFyIEJfLEFfZT1mKCgpPT57Ql89W1sicGF0aCIse2Q6Ik0xMiAxNmguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMyAxOWEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJWOC41YS41LjUgMCAwIDAtLjc2OS0uNDIybC00LjQ2MiAyLjg0NEEuNS41IDAgMCAxIDE1IDEwLjV2LTJhLjUuNSAwIDAgMC0uNzY5LS40MjJMOS43NyAxMC45MjJBLjUuNSAwIDAgMSA5IDEwLjVWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnoifV0sWyJwYXRoIix7ZDoiTTggMTZoLjAxIn1dXX0pO3ZhciBIXyxFX2U9ZigoKT0+e0hfPVtbInBhdGgiLHtkOiJNMTAuODI3IDE2LjM3OWE2LjA4MiA2LjA4MiAwIDAgMS04LjYxOC03LjAwMmw1LjQxMiAxLjQ1YTYuMDgyIDYuMDgyIDAgMCAxIDcuMDAyLTguNjE4bC0xLjQ1IDUuNDEyYTYuMDgyIDYuMDgyIDAgMCAxIDguNjE4IDcuMDAybC01LjQxMi0xLjQ1YTYuMDgyIDYuMDgyIDAgMCAxLTcuMDAyIDguNjE4bDEuNDUtNS40MTJaIn1dLFsicGF0aCIse2Q6Ik0xMiAxMnYuMDEifV1dfSk7dmFyIHFfLFBfZT1mKCgpPT57cV89W1sicGF0aCIse2Q6Ik0xMiA2YTIgMiAwIDAgMSAzLjQxNC0xLjQxNGw2IDZhMiAyIDAgMCAxIDAgMi44MjhsLTYgNkEyIDIgMCAwIDEgMTIgMTh6In1dLFsicGF0aCIse2Q6Ik0yIDZhMiAyIDAgMCAxIDMuNDE0LTEuNDE0bDYgNmEyIDIgMCAwIDEgMCAyLjgyOGwtNiA2QTIgMiAwIDAgMSAyIDE4eiJ9XV19KTt2YXIgVl8sSV9lPWYoKCk9PntWXz1bWyJwYXRoIix7ZDoiTTEyLjY3IDE5YTIgMiAwIDAgMCAxLjQxNi0uNTg4bDYuMTU0LTYuMTcyYTYgNiAwIDAgMC04LjQ5LTguNDlMNS41ODYgOS45MTRBMiAyIDAgMCAwIDUgMTEuMzI4VjE4YTEgMSAwIDAgMCAxIDF6In1dLFsicGF0aCIse2Q6Ik0xNiA4IDIgMjIifV0sWyJwYXRoIix7ZDoiTTE3LjUgMTVIOSJ9XV19KTt2YXIgal8sTl9lPWYoKCk9PntqXz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMnY0In1dLFsicGF0aCIse2Q6Im02LjggMTUtMy41IDIifV0sWyJwYXRoIix7ZDoibTIwLjcgNy0zLjUgMiJ9XSxbInBhdGgiLHtkOiJNNi44IDkgMy4zIDcifV0sWyJwYXRoIix7ZDoibTIwLjcgMTctMy41LTIifV0sWyJwYXRoIix7ZDoibTkgMjIgMy04IDMgOCJ9XSxbInBhdGgiLHtkOiJNOCAyMmg4In1dLFsicGF0aCIse2Q6Ik0xOCAxOC43YTkgOSAwIDEgMC0xMiAwIn1dXX0pO3ZhciBVXyxSX2U9ZigoKT0+e1VfPVtbInBhdGgiLHtkOiJNNCAzIDIgNXYxNWMwIC42LjQgMSAxIDFoMmMuNiAwIDEtLjQgMS0xVjVaIn1dLFsicGF0aCIse2Q6Ik02IDhoNCJ9XSxbInBhdGgiLHtkOiJNNiAxOGg0In1dLFsicGF0aCIse2Q6Im0xMiAzLTIgMnYxNWMwIC42LjQgMSAxIDFoMmMuNiAwIDEtLjQgMS0xVjVaIn1dLFsicGF0aCIse2Q6Ik0xNCA4aDQifV0sWyJwYXRoIix7ZDoiTTE0IDE4aDQifV0sWyJwYXRoIix7ZDoibTIwIDMtMiAydjE1YzAgLjYuNCAxIDEgMWgyYy42IDAgMS0uNCAxLTFWNVoifV1dfSk7dmFyIFdfLE9fZT1mKCgpPT57V189W1sicGF0aCIse2Q6Ik0xMy42NTkgMjJIMThhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnYxMS41In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik04IDEydi0xIn1dLFsicGF0aCIse2Q6Ik04IDE4di0yIn1dLFsicGF0aCIse2Q6Ik04IDdWNiJ9XSxbImNpcmNsZSIse2N4OiI4IixjeToiMjAiLHI6IjIifV1dfSk7dmFyIE42LEZfZT1mKCgpPT57TjY9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im04IDE4IDQtNCJ9XSxbInBhdGgiLHtkOiJNOCAxMHY4aDgifV1dfSk7dmFyIFI2LEJfZT1mKCgpPT57UjY9W1sicGF0aCIse2Q6Ik0xMyAyMmg1YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2My4zIn1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im03LjY5IDE2LjQ3OSAxLjI5IDQuODhhLjUuNSAwIDAgMS0uNjk4LjU5MWwtMS44NDMtLjg0OWExIDEgMCAwIDAtLjg3OS4wMDFsLTEuODQ2Ljg1YS41LjUgMCAwIDEtLjY5Mi0uNTkzbDEuMjktNC44OCJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiMTQiLHI6IjMifV1dfSk7dmFyIEdfLEhfZT1mKCgpPT57R189W1sicGF0aCIse2Q6Ik0xNC41IDIySDE4YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2My44In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMS43IDE0LjIgNyAxN2wtNC43LTIuOCJ9XSxbInBhdGgiLHtkOiJNMyAxMy4xYTIgMiAwIDAgMC0uOTk5IDEuNzZ2My4yNGEyIDIgMCAwIDAgLjk2OSAxLjc4TDYgMjEuN2EyIDIgMCAwIDAgMi4wMy4wMUwxMSAxOS45YTIgMiAwIDAgMCAxLTEuNzZWMTQuOWEyIDIgMCAwIDAtLjk3LTEuNzhMOCAxMS4zYTIgMiAwIDAgMC0yLjAzLS4wMXoifV0sWyJwYXRoIix7ZDoiTTcgMTd2NSJ9XV19KTt2YXIgTzYscV9lPWYoKCk9PntPNj1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTEwIDEyYTEgMSAwIDAgMC0xIDF2MWExIDEgMCAwIDEtMSAxIDEgMSAwIDAgMSAxIDF2MWExIDEgMCAwIDAgMSAxIn1dLFsicGF0aCIse2Q6Ik0xNCAxOGExIDEgMCAwIDAgMS0xdi0xYTEgMSAwIDAgMSAxLTEgMSAxIDAgMCAxLTEtMXYtMWExIDEgMCAwIDAtMS0xIn1dXX0pO3ZhciBGNixWX2U9ZigoKT0+e0Y2PVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOCAxOHYtMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTh2LTQifV0sWyJwYXRoIix7ZDoiTTE2IDE4di02In1dXX0pO3ZhciBCNixqX2U9ZigoKT0+e0I2PVtbInBhdGgiLHtkOiJNMTQgMjJoNGEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjYifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTUgMTRhMSAxIDAgMCAwLTEgMXYyYTEgMSAwIDAgMS0xIDEgMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMCAxIDEifV0sWyJwYXRoIix7ZDoiTTkgMjJhMSAxIDAgMCAwIDEtMXYtMmExIDEgMCAwIDEgMS0xIDEgMSAwIDAgMS0xLTF2LTJhMSAxIDAgMCAwLTEtMSJ9XV19KTt2YXIgSDYsVV9lPWYoKCk9PntINj1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTggMTh2LTEifV0sWyJwYXRoIix7ZDoiTTEyIDE4di02In1dLFsicGF0aCIse2Q6Ik0xNiAxOHYtMyJ9XV19KTt2YXIgcTYsV19lPWYoKCk9PntxNj1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTE2IDEzLTMuNSAzLjUtMi0yTDggMTcifV1dfSk7dmFyIFY2LEdfZT1mKCgpPT57VjY9W1sicGF0aCIse2Q6Ik0xNS45NDEgMjJIMThhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNGwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnYzLjUxMiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNNC4wMTcgMTEuNTEyYTYgNiAwIDEgMCA4LjQ2NiA4LjQ3NSJ9XSxbInBhdGgiLHtkOiJNOSAxNmExIDEgMCAwIDEtMS0xdi00YzAtLjU1Mi40NS0xLjAwOC45OTUtLjkxN2E2IDYgMCAwIDEgNC45MjIgNC45MjJjLjA5MS41NDQtLjM2NS45OTUtLjkxNy45OTV6In1dXX0pO3ZhciBqNixZX2U9ZigoKT0+e2o2PVtbInBhdGgiLHtkOiJNMTAuNSAyMkg2YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djYifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTE0IDIwIDIgMiA0LTQifV1dfSk7dmFyIFlfLEtfZT1mKCgpPT57WV89W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im05IDE1IDIgMiA0LTQifV1dfSk7dmFyIEtfLFpfZT1mKCgpPT57S189W1sicGF0aCIse2Q6Ik0xNiAyMmgyYTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2Mi44NSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOCAxNHYyLjJsMS42IDEifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjE2IixyOiI2In1dXX0pO3ZhciBVNixYX2U9ZigoKT0+e1U2PVtbInBhdGgiLHtkOiJNNCAxMi4xNVY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMmgtMy4zNSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtNSAxNi0zIDMgMyAzIn1dLFsicGF0aCIse2Q6Im05IDIyIDMtMy0zLTMifV1dfSk7dmFyIFpfLFFfZT1mKCgpPT57Wl89W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMCAxMi41IDggMTVsMiAyLjUifV0sWyJwYXRoIix7ZDoibTE0IDEyLjUgMiAyLjUtMiAyLjUifV1dfSk7dmFyIFc2LEpfZT1mKCgpPT57VzY9W1sicGF0aCIse2Q6Ik0xNSA4YTEgMSAwIDAgMS0xLTFWMmEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh6In1dLFsicGF0aCIse2Q6Ik0yMCA4djEyYTIgMiAwIDAgMS0yIDJoLTQuMTgyIn1dLFsicGF0aCIse2Q6Im0zLjMwNSAxOS41My45MjMtLjM4MiJ9XSxbInBhdGgiLHtkOiJNNCAxMC41OTJWNGEyIDIgMCAwIDEgMi0yaDgifV0sWyJwYXRoIix7ZDoibTQuMjI4IDE2Ljg1Mi0uOTI0LS4zODMifV0sWyJwYXRoIix7ZDoibTUuODUyIDE1LjIyOC0uMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTUuODUyIDIwLjc3Mi0uMzgzLjkyNCJ9XSxbInBhdGgiLHtkOiJtOC4xNDggMTUuMjI4LjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im04LjUzIDIxLjY5Ni0uMzgyLS45MjQifV0sWyJwYXRoIix7ZDoibTkuNzczIDE2Ljg1Mi45MjItLjM4MyJ9XSxbInBhdGgiLHtkOiJtOS43NzMgMTkuMTQ4LjkyMi4zODMifV0sWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciBYXyxlVGU9ZigoKT0+e1hfPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNOSAxMGg2In1dLFsicGF0aCIse2Q6Ik0xMiAxM1Y3In1dLFsicGF0aCIse2Q6Ik05IDE3aDYifV1dfSk7dmFyIFFfLHRUZT1mKCgpPT57UV89W1sicGF0aCIse2Q6Ik00IDEyVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMCAxNmgydjYifV0sWyJwYXRoIix7ZDoiTTEwIDIyaDQifV0sWyJyZWN0Iix7eDoiMiIseToiMTYiLHdpZHRoOiI0IixoZWlnaHQ6IjYiLHJ4OiIyIn1dXX0pO3ZhciBKXyxhVGU9ZigoKT0+e0pfPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTIgMTh2LTYifV0sWyJwYXRoIix7ZDoibTkgMTUgMyAzIDMtMyJ9XV19KTt2YXIgRzYsclRlPWYoKCk9PntHNj1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTEyIDl2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMTdoLjAxIn1dXX0pO3ZhciBvYyxzVGU9ZigoKT0+e29jPVtbInBhdGgiLHtkOiJNNCA2LjgzNVY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMmgtLjM0MyJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMiAxOWEyIDIgMCAwIDEgNCAwdjFhMiAyIDAgMCAxLTQgMHYtNGE2IDYgMCAwIDEgMTIgMHY0YTIgMiAwIDAgMS00IDB2LTFhMiAyIDAgMCAxIDQgMCJ9XV19KTt2YXIgZVQsaVRlPWYoKCk9PntlVD1bWyJwYXRoIix7ZDoiTTEzIDIyaDVhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnY3In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0zLjYyIDE4LjhBMi4yNSAyLjI1IDAgMSAxIDcgMTUuODM2YTIuMjUgMi4yNSAwIDEgMSAzLjM4IDIuOTY2bC0yLjYyNiAyLjg1NmExIDEgMCAwIDEtMS41MDcgMHoifV1dfSk7dmFyIHRULG9UZT1mKCgpPT57dFQ9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiMTIiLHI6IjIifV0sWyJwYXRoIix7ZDoibTIwIDE3LTEuMjk2LTEuMjk2YTIuNDEgMi40MSAwIDAgMC0zLjQwOCAwTDkgMjIifV1dfSk7dmFyIGFULG5UZT1mKCgpPT57YVQ9W1sicGF0aCIse2Q6Ik00IDExVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMnYtMSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMiAxNWgxMCJ9XSxbInBhdGgiLHtkOiJtOSAxOCAzLTMtMy0zIn1dXX0pO3ZhciBZNixsVGU9ZigoKT0+e1k2PVtbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNNCAxMnY2In1dLFsicGF0aCIse2Q6Ik00IDE0aDIifV0sWyJwYXRoIix7ZDoiTTkuNjUgMjJIMThhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnY0In1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiIyMCIscjoiMiJ9XV19KTt2YXIgSzYsY1RlPWYoKCk9PntLNj1bWyJwYXRoIix7ZDoiTTQgOS44VjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyaC0zIn1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik05IDE3di0yYTIgMiAwIDAgMC00IDB2MiJ9XSxbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI1Iix4OiIzIix5OiIxNyIscng6IjEifV1dfSk7dmFyIFo2LGRUZT1mKCgpPT57WjY9W1sicGF0aCIse2Q6Ik0yMCAxNFY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDEyIn1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xNCAxOGg2In1dXX0pO3ZhciByVCx1VGU9ZigoKT0+e3JUPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOSAxNWg2In1dXX0pO3ZhciBzVCxwVGU9ZigoKT0+e3NUPVtbInBhdGgiLHtkOiJNMTEuNjUgMjJIMThhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnYxMC4zNSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOCAyMHYtN2wzIDEuNDc0In1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiIyMCIscjoiMiJ9XV19KTt2YXIgaVQsZlRlPWYoKCk9PntpVD1bWyJwYXRoIix7ZDoiTTQuMjI2IDIwLjkyNUEyIDIgMCAwIDAgNiAyMmgxMmEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjMuMTI3In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im01IDExLTMgMyJ9XSxbInBhdGgiLHtkOiJtNSAxNy0zLTNoMTAifV1dfSk7dmFyIFg2LGhUZT1mKCgpPT57WDY9W1sicGF0aCIse2Q6Ik0xNC4zNjQgMTMuNjM0YTIgMiAwIDAgMC0uNTA2Ljg1NGwtLjgzNyAyLjg3YS41LjUgMCAwIDAgLjYyLjYybDIuODctLjgzN2EyIDIgMCAwIDAgLjg1NC0uNTA2bDQuMDEzLTQuMDA5YTEgMSAwIDAgMC0zLjAwNC0zLjAwNHoifV0sWyJwYXRoIix7ZDoiTTE0LjQ4NyA3Ljg1OEExIDEgMCAwIDEgMTQgN1YyIn1dLFsicGF0aCIse2Q6Ik0yMCAxOS42NDVWMjBhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMi41MTYgMi41MTYifV0sWyJwYXRoIix7ZDoiTTggMThoMSJ9XV19KTt2YXIgUTYsbVRlPWYoKCk9PntRNj1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTE1LjAzMyAxMy40NGEuNjQ3LjY0NyAwIDAgMSAwIDEuMTJsLTQuMDY1IDIuMzUyYS42NDUuNjQ1IDAgMCAxLS45NjgtLjU2di00LjcwNGEuNjQ1LjY0NSAwIDAgMSAuOTY3LS41NnoifV1dfSk7dmFyIEo2LGdUZT1mKCgpPT57SjY9W1sicGF0aCIse2Q6Ik0xMi42NTkgMjJIMThhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnY5LjM0In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMC4zNzggMTIuNjIyYTEgMSAwIDAgMSAzIDMuMDAzTDguMzYgMjAuNjM3YTIgMiAwIDAgMS0uODU0LjUwNmwtMi44NjcuODM3YS41LjUgMCAwIDEtLjYyLS42MmwuODM2LTIuODY5YTIgMiAwIDAgMSAuNTA2LS44NTN6In1dXX0pO3ZhciBldSxiVGU9ZigoKT0+e2V1PVtbInBhdGgiLHtkOiJNMTEuMzUgMjJINmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHY1LjM1In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xNCAxOWg2In1dLFsicGF0aCIse2Q6Ik0xNyAxNnY2In1dXX0pO3ZhciBvVCx2VGU9ZigoKT0+e29UPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOSAxNWg2In1dLFsicGF0aCIse2Q6Ik0xMiAxOHYtNiJ9XV19KTt2YXIgdHUseFRlPWYoKCk9Pnt0dT1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTEyIDE3aC4wMSJ9XSxbInBhdGgiLHtkOiJNOS4xIDlhMyAzIDAgMCAxIDUuODIgMWMwIDItMyAzLTMgMyJ9XV19KTt2YXIgblQseVRlPWYoKCk9PntuVD1bWyJwYXRoIix7ZDoiTTIwIDEwVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA0bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoNC4zNSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTYgMTRhMiAyIDAgMCAwLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTYgMjJhMiAyIDAgMCAxLTItMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTRhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMjAgMjJhMiAyIDAgMCAwIDItMiJ9XV19KTt2YXIgYXUsd1RlPWYoKCk9PnthdT1bWyJwYXRoIix7ZDoiTTExLjEgMjJINmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg5IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYzLjI1In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im0yMSAyMi0yLjg4LTIuODgifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNyIscjoiMyJ9XV19KTt2YXIgbFQsTVRlPWYoKCk9PntsVD1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJjaXJjbGUiLHtjeDoiMTEuNSIsY3k6IjE0LjUiLHI6IjIuNSJ9XSxbInBhdGgiLHtkOiJNMTMuMyAxNi4zIDE1IDE4In1dXX0pO3ZhciBydSxrVGU9ZigoKT0+e3J1PVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOCAxNWguMDEifV0sWyJwYXRoIix7ZDoiTTExLjUgMTMuNWEyLjUgMi41IDAgMCAxIDAgMyJ9XSxbInBhdGgiLHtkOiJNMTUgMTJhNSA1IDAgMCAxIDAgNiJ9XV19KTt2YXIgY1QsU1RlPWYoKCk9PntjVD1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XSxbInBhdGgiLHtkOiJNMTAgMTF2MiJ9XSxbInBhdGgiLHtkOiJNOCAxN2g4In1dLFsicGF0aCIse2Q6Ik0xNCAxNnYyIn1dXX0pO3ZhciBkVCx6VGU9ZigoKT0+e2RUPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOCAxM2gyIn1dLFsicGF0aCIse2Q6Ik0xNCAxM2gyIn1dLFsicGF0aCIse2Q6Ik04IDE3aDIifV0sWyJwYXRoIix7ZDoiTTE0IDE3aDIifV1dfSk7dmFyIHVULENUZT1mKCgpPT57dVQ9W1sicGF0aCIse2Q6Ik00IDExVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMnYtM2EyIDIgMCAwIDEgMi0yaDcifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTEwIDE4IDMtMy0zLTMifV1dfSk7dmFyIHBULF9UZT1mKCgpPT57cFQ9W1sicGF0aCIse2Q6Ik0xMSAyMWExIDEgMCAwIDEtMSAxSDRhMSAxIDAgMCAxLTEtMXYtOGExIDEgMCAwIDEgMS0xIn1dLFsicGF0aCIse2Q6Ik0xNiAxNmExIDEgMCAwIDEtMSAxSDlhMSAxIDAgMCAxLTEtMVY4YTEgMSAwIDAgMSAxLTEifV0sWyJwYXRoIix7ZDoiTTIxIDZhMiAyIDAgMCAwLS41ODYtMS40MTRsLTItMkEyIDIgMCAwIDAgMTcgMmgtM2ExIDEgMCAwIDAtMSAxdjhhMSAxIDAgMCAwIDEgMWg2YTEgMSAwIDAgMCAxLTF6In1dXX0pO3ZhciBmVCxUVGU9ZigoKT0+e2ZUPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtOCAxNiAyLTItMi0yIn1dLFsicGF0aCIse2Q6Ik0xMiAxOGg0In1dXX0pO3ZhciBoVCxMVGU9ZigoKT0+e2hUPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTAgOUg4In1dLFsicGF0aCIse2Q6Ik0xNiAxM0g4In1dLFsicGF0aCIse2Q6Ik0xNiAxN0g4In1dXX0pO3ZhciBzdSwkVGU9ZigoKT0+e3N1PVtbInBhdGgiLHtkOiJNMTIgMjJoNmEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjYifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTMgMTZ2LTEuNWEuNS41IDAgMCAxIC41LS41aDdhLjUuNSAwIDAgMSAuNS41VjE2In1dLFsicGF0aCIse2Q6Ik02IDIyaDIifV0sWyJwYXRoIix7ZDoiTTcgMTR2OCJ9XV19KTt2YXIgbVQsRFRlPWYoKCk9PnttVD1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTExIDE4aDIifV0sWyJwYXRoIix7ZDoiTTEyIDEydjYifV0sWyJwYXRoIix7ZDoiTTkgMTN2LS41YS41LjUgMCAwIDEgLjUtLjVoNWEuNS41IDAgMCAxIC41LjV2LjUifV1dfSk7dmFyIGdULEFUZT1mKCgpPT57Z1Q9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMiAxMnY2In1dLFsicGF0aCIse2Q6Im0xNSAxNS0zLTMtMyAzIn1dXX0pO3ZhciBiVCxFVGU9ZigoKT0+e2JUPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTYgMjJhNCA0IDAgMCAwLTggMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE1IixyOiIzIn1dXX0pO3ZhciB2VCxQVGU9ZigoKT0+e3ZUPVtbInBhdGgiLHtkOiJNNCAxMS41NVY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMmgtMS45NSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTIgMTVhNSA1IDAgMCAxIDAgNiJ9XSxbInBhdGgiLHtkOiJNOCAxNC41MDJhLjUuNSAwIDAgMC0uODI2LS4zODFsLTEuODkzIDEuNjMxYTEgMSAwIDAgMS0uNjUxLjI0M0gzLjVhLjUuNSAwIDAgMC0uNS41MDF2My4wMDZhLjUuNSAwIDAgMCAuNS41MDFoMS4xMjlhMSAxIDAgMCAxIC42NTIuMjQzbDEuODkzIDEuNjMzYS41LjUgMCAwIDAgLjgyNi0uMzh6In1dXX0pO3ZhciBpdSxJVGU9ZigoKT0+e2l1PVtbInBhdGgiLHtkOiJNNCAxMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtMTAgMTcuODQzIDMuMDMzLTEuNzU1YS42NC42NCAwIDAgMSAuOTY3LjU2djQuNzA0YS42NS42NSAwIDAgMS0uOTY3LjU2TDEwIDIwLjE1NyJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI2Iix4OiIzIix5OiIxNiIscng6IjEifV1dfSk7dmFyIG91LE5UZT1mKCgpPT57b3U9W1sicGF0aCIse2Q6Ik0xMSAyMkg2YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djUifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTE1IDE3IDUgNSJ9XSxbInBhdGgiLHtkOiJtMjAgMTctNSA1In1dXX0pO3ZhciB4VCxSVGU9ZigoKT0+e3hUPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtMTQuNSAxMi41LTUgNSJ9XSxbInBhdGgiLHtkOiJtOS41IDEyLjUgNSA1In1dXX0pO3ZhciB5VCxPVGU9ZigoKT0+e3lUPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XV19KTt2YXIgd1QsRlRlPWYoKCk9Pnt3VD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNyAzdjE4In1dLFsicGF0aCIse2Q6Ik0zIDcuNWg0In1dLFsicGF0aCIse2Q6Ik0zIDEyaDE4In1dLFsicGF0aCIse2Q6Ik0zIDE2LjVoNCJ9XSxbInBhdGgiLHtkOiJNMTcgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMTcgNy41aDQifV0sWyJwYXRoIix7ZDoiTTE3IDE2LjVoNCJ9XV19KTt2YXIgTVQsQlRlPWYoKCk9PntNVD1bWyJwYXRoIix7ZDoiTTE1IDJoLTRhMiAyIDAgMCAwLTIgMnYxMWEyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDItMlY4In1dLFsicGF0aCIse2Q6Ik0xNi43MDYgMi43MDZBMi40IDIuNCAwIDAgMCAxNSAydjVhMSAxIDAgMCAwIDEgMWg1YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNnoifV0sWyJwYXRoIix7ZDoiTTUgN2EyIDIgMCAwIDAtMiAydjExYTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMS43MzItMSJ9XV19KTt2YXIgbnUsSFRlPWYoKCk9PntudT1bWyJwYXRoIix7ZDoiTTEyIDEwYTIgMiAwIDAgMC0yIDJjMCAxLjAyLS4xIDIuNTEtLjI2IDQifV0sWyJwYXRoIix7ZDoiTTE0IDEzLjEyYzAgMi4zOCAwIDYuMzgtMSA4Ljg4In1dLFsicGF0aCIse2Q6Ik0xNy4yOSAyMS4wMmMuMTItLjYuNDMtMi4zLjUtMy4wMiJ9XSxbInBhdGgiLHtkOiJNMiAxMmExMCAxMCAwIDAgMSAxOC02In1dLFsicGF0aCIse2Q6Ik0yIDE2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMjEuOCAxNmMuMi0yIC4xMzEtNS4zNTQgMC02In1dLFsicGF0aCIse2Q6Ik01IDE5LjVDNS41IDE4IDYgMTUgNiAxMmE2IDYgMCAwIDEgLjM0LTIifV0sWyJwYXRoIix7ZDoiTTguNjUgMjJjLjIxLS42Ni40NS0xLjMyLjU3LTIifV0sWyJwYXRoIix7ZDoiTTkgNi44YTYgNiAwIDAgMSA5IDUuMnYyIn1dXX0pO3ZhciBrVCxxVGU9ZigoKT0+e2tUPVtbInBhdGgiLHtkOiJNMTUgNi41VjNhMSAxIDAgMCAwLTEtMWgtMmExIDEgMCAwIDAtMSAxdjMuNSJ9XSxbInBhdGgiLHtkOiJNOSAxOGg4In1dLFsicGF0aCIse2Q6Ik0xOCAzaC0zIn1dLFsicGF0aCIse2Q6Ik0xMSAzYTYgNiAwIDAgMC02IDZ2MTEifV0sWyJwYXRoIix7ZDoiTTUgMTNoNCJ9XSxbInBhdGgiLHtkOiJNMTcgMTBhNCA0IDAgMCAwLTggMHYxMGEyIDIgMCAwIDAgMiAyaDRhMiAyIDAgMCAwIDItMloifV1dfSk7dmFyIFNULFZUZT1mKCgpPT57U1Q9W1sicGF0aCIse2Q6Ik0yIDE2czktMTUgMjAtNEMxMSAyMyAyIDggMiA4In1dXX0pO3ZhciB6VCxqVGU9ZigoKT0+e3pUPVtbInBhdGgiLHtkOiJNMTggMTIuNDd2LjAzbTAtLjV2LjQ3bS0uNDc1IDUuMDU2QTYuNzQ0IDYuNzQ0IDAgMCAxIDE1IDE4Yy0zLjU2IDAtNy41Ni0yLjUzLTguNS02IC4zNDgtMS4yOCAxLjExNC0yLjQzMyAyLjEyMS0zLjM4bTMuNDQ0LTIuMDg4QTguODAyIDguODAyIDAgMCAxIDE1IDZjMy41NiAwIDYuMDYgMi41NCA3IDYtLjMwOSAxLjE0LS43ODYgMi4xNzctMS40MTMgMy4wNTgifV0sWyJwYXRoIix7ZDoiTTcgMTAuNjdDNyA4IDUuNTggNS45NyAyLjczIDUuNWMtMSAxLjUtMSA1IC4yMyA2LjUtMS4yNCAxLjUtMS4yNCA1LS4yMyA2LjVDNS41OCAxOC4wMyA3IDE2IDcgMTMuMzNtNy40OC00LjM3MkE5Ljc3IDkuNzcgMCAwIDEgMTYgNi4wN20wIDExLjg2YTkuNzcgOS43NyAwIDAgMS0xLjcyOC0zLjYxOCJ9XSxbInBhdGgiLHtkOiJtMTYuMDEgMTcuOTMtLjIzIDEuNEEyIDIgMCAwIDEgMTMuOCAyMUg5LjVhNS45NiA1Ljk2IDAgMCAwIDEuNDktMy45OE04LjUzIDNoNS4yN2EyIDIgMCAwIDEgMS45OCAxLjY3bC4yMyAxLjRNMiAybDIwIDIwIn1dXX0pO3ZhciBDVCxVVGU9ZigoKT0+e0NUPVtbInBhdGgiLHtkOiJNNi41IDEyYy45NC0zLjQ2IDQuOTQtNiA4LjUtNiAzLjU2IDAgNi4wNiAyLjU0IDcgNi0uOTQgMy40Ny0zLjQ0IDYtNyA2cy03LjU2LTIuNTMtOC41LTZaIn1dLFsicGF0aCIse2Q6Ik0xOCAxMnYuNSJ9XSxbInBhdGgiLHtkOiJNMTYgMTcuOTNhOS43NyA5Ljc3IDAgMCAxIDAtMTEuODYifV0sWyJwYXRoIix7ZDoiTTcgMTAuNjdDNyA4IDUuNTggNS45NyAyLjczIDUuNWMtMSAxLjUtMSA1IC4yMyA2LjUtMS4yNCAxLjUtMS4yNCA1LS4yMyA2LjVDNS41OCAxOC4wMyA3IDE2IDcgMTMuMzMifV0sWyJwYXRoIix7ZDoiTTEwLjQ2IDcuMjZDMTAuMiA1Ljg4IDkuMTcgNC4yNCA4IDNoNS44YTIgMiAwIDAgMSAxLjk4IDEuNjdsLjIzIDEuNCJ9XSxbInBhdGgiLHtkOiJtMTYuMDEgMTcuOTMtLjIzIDEuNEEyIDIgMCAwIDEgMTMuOCAyMUg5LjVhNS45NiA1Ljk2IDAgMCAwIDEuNDktMy45OCJ9XV19KTt2YXIgX1QsV1RlPWYoKCk9PntfVD1bWyJwYXRoIix7ZDoibTE3LjU4NiAxMS40MTQtNS45MyA1LjkzYTEgMSAwIDAgMS04LThsMy4xMzctMy4xMzdhLjcwNy43MDcgMCAwIDEgMS4yMDcuNVYxMCJ9XSxbInBhdGgiLHtkOiJNMjAuNDE0IDguNTg2IDIyIDcifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxMCIscjoiMiJ9XV19KTt2YXIgVFQsR1RlPWYoKCk9PntUVD1bWyJwYXRoIix7ZDoiTTE2IDE2Yy0zIDAtNS0yLTgtMmE2IDYgMCAwIDAtNCAxLjUyOCJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik00IDIyVjQifV0sWyJwYXRoIix7ZDoiTTcuNjU2IDJIOGMzIDAgNSAyIDcuMzMzIDJxMiAwIDMuMDY3LS44QTEgMSAwIDAgMSAyMCA0djEwLjM0NyJ9XV19KTt2YXIgTFQsWVRlPWYoKCk9PntMVD1bWyJwYXRoIix7ZDoiTTQgMTFoMSJ9XSxbInBhdGgiLHtkOiJNOCAxNWEyIDIgMCAwIDEtNCAwVjNhMSAxIDAgMCAxIDEtMWguNUMxNCAyIDIwIDkgMjAgMTh2NCJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIyIn1dXX0pO3ZhciAkVCxLVGU9ZigoKT0+eyRUPVtbInBhdGgiLHtkOiJNMTggMjJWMi44YS44LjggMCAwIDAtMS4xNy0uNzFMNS40NSA3Ljc4YS44LjggMCAwIDAgMCAxLjQ0TDE4IDE1LjUifV1dfSk7dmFyIERULFpUZT1mKCgpPT57RFQ9W1sicGF0aCIse2Q6Ik02IDIyVjIuOGEuOC44IDAgMCAxIDEuMTctLjcxbDExLjM4IDUuNjlhLjguOCAwIDAgMSAwIDEuNDRMNiAxNS41In1dXX0pO3ZhciBBVCxYVGU9ZigoKT0+e0FUPVtbInBhdGgiLHtkOiJNNCAyMlY0YTEgMSAwIDAgMSAuNC0uOEE2IDYgMCAwIDEgOCAyYzMgMCA1IDIgNy4zMzMgMnEyIDAgMy4wNjctLjhBMSAxIDAgMCAxIDIwIDR2MTBhMSAxIDAgMCAxLS40LjhBNiA2IDAgMCAxIDE2IDE2Yy0zIDAtNS0yLTgtMmE2IDYgMCAwIDAtNCAxLjUyOCJ9XV19KTt2YXIgRVQsUVRlPWYoKCk9PntFVD1bWyJwYXRoIix7ZDoiTTEyIDNxMSA0IDQgNi41dDMgNS41YTEgMSAwIDAgMS0xNCAwIDUgNSAwIDAgMSAxLTMgMSAxIDAgMCAwIDUgMGMwLTItMS41LTMtMS41LTVxMC0yIDIuNS00In1dXX0pO3ZhciBQVCxKVGU9ZigoKT0+e1BUPVtbInBhdGgiLHtkOiJNMTEuNjUyIDZIMTgifV0sWyJwYXRoIix7ZDoiTTEyIDEzdjEifV0sWyJwYXRoIix7ZDoiTTE2IDE2djRhMiAyIDAgMCAxLTIgMmgtNGEyIDIgMCAwIDEtMi0ydi04YTQgNCAwIDAgMC0uOC0yLjRsLS42LS44QTMgMyAwIDAgMSA2IDdWNiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik03LjY0OSAySDE3YTEgMSAwIDAgMSAxIDF2NGEzIDMgMCAwIDEtLjYgMS44bC0uNi44YTQgNCAwIDAgMC0uNTUgMS4wMDcifV1dfSk7dmFyIElULGVMZT1mKCgpPT57SVQ9W1sicGF0aCIse2Q6Ik0xMiAyYzEgMyAyLjUgMy41IDMuNSA0LjVBNSA1IDAgMCAxIDE3IDEwYTUgNSAwIDEgMS0xMCAwYzAtLjMgMC0uNi4xLS45YTIgMiAwIDEgMCAzLjMtMkM4IDQuNSAxMSAyIDEyIDJaIn1dLFsicGF0aCIse2Q6Im01IDIyIDE0LTQifV0sWyJwYXRoIix7ZDoibTUgMTggMTQgNCJ9XV19KTt2YXIgTlQsdExlPWYoKCk9PntOVD1bWyJwYXRoIix7ZDoiTTEyIDEzdjEifV0sWyJwYXRoIix7ZDoiTTE3IDJhMSAxIDAgMCAxIDEgMXY0YTMgMyAwIDAgMS0uNiAxLjhsLS42LjhBNCA0IDAgMCAwIDE2IDEydjhhMiAyIDAgMCAxLTIgMkgxMGEyIDIgMCAwIDEtMi0ydi04YTQgNCAwIDAgMC0uOC0yLjRsLS42LS44QTMgMyAwIDAgMSA2IDdWM2ExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNNiA2aDEyIn1dXX0pO3ZhciBSVCxhTGU9ZigoKT0+e1JUPVtbInBhdGgiLHtkOiJNMTAgMnYyLjM0MyJ9XSxbInBhdGgiLHtkOiJNMTQgMnY2LjM0MyJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yMCAyMGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTEuNzU1LTIuOTZsNS4yMjctOS41NjMifV0sWyJwYXRoIix7ZDoiTTYuNDUzIDE1SDE1In1dLFsicGF0aCIse2Q6Ik04LjUgMmg3In1dXX0pO3ZhciBPVCxyTGU9ZigoKT0+e09UPVtbInBhdGgiLHtkOiJNMTQgMnY2YTIgMiAwIDAgMCAuMjQ1Ljk2bDUuNTEgMTAuMDhBMiAyIDAgMCAxIDE4IDIySDZhMiAyIDAgMCAxLTEuNzU1LTIuOTZsNS41MS0xMC4wOEEyIDIgMCAwIDAgMTAgOFYyIn1dLFsicGF0aCIse2Q6Ik02LjQ1MyAxNWgxMS4wOTQifV0sWyJwYXRoIix7ZDoiTTguNSAyaDcifV1dfSk7dmFyIEZULHNMZT1mKCgpPT57RlQ9W1sicGF0aCIse2Q6Ik0xMCAydjYuMjkyYTcgNyAwIDEgMCA0IDBWMiJ9XSxbInBhdGgiLHtkOiJNNSAxNWgxNCJ9XSxbInBhdGgiLHtkOiJNOC41IDJoNyJ9XV19KTt2YXIgQlQsaUxlPWYoKCk9PntCVD1bWyJwYXRoIix7ZDoibTMgNyA1IDUtNSA1VjcifV0sWyJwYXRoIix7ZDoibTIxIDctNSA1IDUgNVY3In1dLFsicGF0aCIse2Q6Ik0xMiAyMHYyIn1dLFsicGF0aCIse2Q6Ik0xMiAxNHYyIn1dLFsicGF0aCIse2Q6Ik0xMiA4djIifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XV19KTt2YXIgSFQsb0xlPWYoKCk9PntIVD1bWyJwYXRoIix7ZDoibTE3IDMtNSA1LTUtNWgxMCJ9XSxbInBhdGgiLHtkOiJtMTcgMjEtNS01LTUgNWgxMCJ9XSxbInBhdGgiLHtkOiJNNCAxMkgyIn1dLFsicGF0aCIse2Q6Ik0xMCAxMkg4In1dLFsicGF0aCIse2Q6Ik0xNiAxMmgtMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTJoLTIifV1dfSk7dmFyIHFULG5MZT1mKCgpPT57cVQ9W1sicGF0aCIse2Q6Ik0xMiA1YTMgMyAwIDEgMSAzIDNtLTMtM2EzIDMgMCAxIDAtMyAzbTMtM3YxTTkgOGEzIDMgMCAxIDAgMyAzTTkgOGgxbTUgMGEzIDMgMCAxIDEtMyAzbTMtM2gtMW0tMiAzdi0xIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiOCIscjoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTB2MTIifV0sWyJwYXRoIix7ZDoiTTEyIDIyYzQuMiAwIDctMS42NjcgNy01LTQuMiAwLTcgMS42NjctNyA1WiJ9XSxbInBhdGgiLHtkOiJNMTIgMjJjLTQuMiAwLTctMS42NjctNy01IDQuMiAwIDcgMS42NjcgNyA1WiJ9XV19KTt2YXIgVlQsbExlPWYoKCk9PntWVD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIn1dXX0pO3ZhciBqVCxjTGU9ZigoKT0+e2pUPVtbInBhdGgiLHtkOiJNMiAxMmg2In1dLFsicGF0aCIse2Q6Ik0yMiAxMmgtNiJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyIn1dLFsicGF0aCIse2Q6Ik0xMiA4djIifV0sWyJwYXRoIix7ZDoiTTEyIDE0djIifV0sWyJwYXRoIix7ZDoiTTEyIDIwdjIifV0sWyJwYXRoIix7ZDoibTE5IDktMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJtNSAxNSAzLTMtMy0zIn1dXX0pO3ZhciBVVCxkTGU9ZigoKT0+e1VUPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xMiAxNi41QTQuNSA0LjUgMCAxIDEgNy41IDEyIDQuNSA0LjUgMCAxIDEgMTIgNy41YTQuNSA0LjUgMCAxIDEgNC41IDQuNSA0LjUgNC41IDAgMSAxLTQuNSA0LjUifV0sWyJwYXRoIix7ZDoiTTEyIDcuNVY5In1dLFsicGF0aCIse2Q6Ik03LjUgMTJIOSJ9XSxbInBhdGgiLHtkOiJNMTYuNSAxMkgxNSJ9XSxbInBhdGgiLHtkOiJNMTIgMTYuNVYxNSJ9XSxbInBhdGgiLHtkOiJtOCA4IDEuODggMS44OCJ9XSxbInBhdGgiLHtkOiJNMTQuMTIgOS44OCAxNiA4In1dLFsicGF0aCIse2Q6Im04IDE2IDEuODgtMS44OCJ9XSxbInBhdGgiLHtkOiJNMTQuMTIgMTQuMTIgMTYgMTYifV1dfSk7dmFyIFdULHVMZT1mKCgpPT57V1Q9W1siY2lyY2xlIix7Y3g6IjE1IixjeToiMTkiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTIwLjkgMTkuOEEyIDIgMCAwIDAgMjIgMThWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyaDUuMSJ9XSxbInBhdGgiLHtkOiJNMTUgMTF2LTEifV0sWyJwYXRoIix7ZDoiTTE1IDE3di0yIn1dXX0pO3ZhciBHVCxwTGU9ZigoKT0+e0dUPVtbInBhdGgiLHtkOiJNMTIgNnY4bDMtMyAzIDNWNiJ9XSxbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJ6In1dXX0pO3ZhciBZVCxmTGU9ZigoKT0+e1lUPVtbInBhdGgiLHtkOiJNMTIgMjJ2LTYifV0sWyJwYXRoIix7ZDoiTTEyIDhWMiJ9XSxbInBhdGgiLHtkOiJNNCAxMkgyIn1dLFsicGF0aCIse2Q6Ik0xMCAxMkg4In1dLFsicGF0aCIse2Q6Ik0xNiAxMmgtMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTJoLTIifV0sWyJwYXRoIix7ZDoibTE1IDE5LTMtMy0zIDMifV0sWyJwYXRoIix7ZDoibTE1IDUtMyAzLTMtMyJ9XV19KTt2YXIgS1QsaExlPWYoKCk9PntLVD1bWyJwYXRoIix7ZDoiTTIwIDIwYTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyWiJ9XSxbInBhdGgiLHtkOiJtOSAxMyAyIDIgNC00In1dXX0pO3ZhciBaVCxtTGU9ZigoKT0+e1pUPVtbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dLFsicGF0aCIse2Q6Ik0yIDEwaDIwIn1dXX0pO3ZhciBYVCxnTGU9ZigoKT0+e1hUPVtbInBhdGgiLHtkOiJNMTAgMTAuNSA4IDEzbDIgMi41In1dLFsicGF0aCIse2Q6Im0xNCAxMC41IDIgMi41LTIgMi41In1dLFsicGF0aCIse2Q6Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMnoifV1dfSk7dmFyIGx1LGJMZT1mKCgpPT57bHU9W1sicGF0aCIse2Q6Ik0xMC4zIDIwSDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45OGEyIDIgMCAwIDEgMS42OS45bC42NiAxLjJBMiAyIDAgMCAwIDEyIDZoOGEyIDIgMCAwIDEgMiAydjMuMyJ9XSxbInBhdGgiLHtkOiJtMTQuMzA1IDE5LjUzLjkyMy0uMzgyIn1dLFsicGF0aCIse2Q6Im0xNS4yMjggMTYuODUyLS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDE1LjIyOC0uMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTE2Ljg1MiAyMC43NzItLjM4My45MjQifV0sWyJwYXRoIix7ZDoibTE5LjE0OCAxNS4yMjguMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTE5LjUzIDIxLjY5Ni0uMzgyLS45MjQifV0sWyJwYXRoIix7ZDoibTIwLjc3MiAxNi44NTIuOTI0LS4zODMifV0sWyJwYXRoIix7ZDoibTIwLjc3MiAxOS4xNDguOTI0LjM4MyJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciBRVCx2TGU9ZigoKT0+e1FUPVtbInBhdGgiLHtkOiJNMTYgMTR2Mi4ybDEuNiAxIn1dLFsicGF0aCIse2Q6Ik03IDIwSDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45YTIgMiAwIDAgMSAxLjY5LjlsLjgxIDEuMmEyIDIgMCAwIDAgMS42Ny45SDIwYTIgMiAwIDAgMSAyIDIifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNiIscjoiNiJ9XV19KTt2YXIgSlQseExlPWYoKCk9PntKVD1bWyJwYXRoIix7ZDoiTTQgMjBoMTZhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOTNhMiAyIDAgMCAxLTEuNjYtLjlsLS44Mi0xLjJBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNjMCAxLjEuOSAyIDIgMloifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMyIscjoiMSJ9XV19KTt2YXIgZUwseUxlPWYoKCk9PntlTD1bWyJwYXRoIix7ZDoiTTIwIDIwYTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyWiJ9XSxbInBhdGgiLHtkOiJNMTIgMTB2NiJ9XSxbInBhdGgiLHtkOiJtMTUgMTMtMyAzLTMtMyJ9XV19KTt2YXIgdEwsd0xlPWYoKCk9Pnt0TD1bWyJwYXRoIix7ZDoiTTE4IDE5YTUgNSAwIDAgMS01LTV2OCJ9XSxbInBhdGgiLHtkOiJNOSAyMEg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydjUifV0sWyJjaXJjbGUiLHtjeDoiMTMiLGN5OiIxMiIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjE5IixyOiIyIn1dXX0pO3ZhciBhTCxNTGU9ZigoKT0+e2FMPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiIyIn1dLFsicGF0aCIse2Q6Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloifV0sWyJwYXRoIix7ZDoiTTE0IDEzaDMifV0sWyJwYXRoIix7ZDoiTTcgMTNoMyJ9XV19KTt2YXIgckwsa0xlPWYoKCk9PntyTD1bWyJwYXRoIix7ZDoiTTEwLjYzOCAyMEg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydjMuNDE3In1dLFsicGF0aCIse2Q6Ik0xNC42MiAxOC44QTIuMjUgMi4yNSAwIDEgMSAxOCAxNS44MzZhMi4yNSAyLjI1IDAgMSAxIDMuMzggMi45NjZsLTIuNjI2IDIuODU2YS45OTguOTk4IDAgMCAxLTEuNTA3IDB6In1dXX0pO3ZhciBzTCxTTGU9ZigoKT0+e3NMPVtbInBhdGgiLHtkOiJNNCAyMGgxNmEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45M2EyIDIgMCAwIDEtMS42Ni0uOWwtLjgyLTEuMkEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2MwIDEuMS45IDIgMiAyWiJ9XSxbInBhdGgiLHtkOiJNOCAxMHY0In1dLFsicGF0aCIse2Q6Ik0xMiAxMHYyIn1dLFsicGF0aCIse2Q6Ik0xNiAxMHY2In1dXX0pO3ZhciBpTCx6TGU9ZigoKT0+e2lMPVtbInBhdGgiLHtkOiJNMTMgMjBINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnYxLjM2In1dLFsicGF0aCIse2Q6Ik0xOSAxMnY2In1dLFsicGF0aCIse2Q6Ik0xOSAxNGgyIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMjAiLHI6IjIifV1dfSk7dmFyIG9MLENMZT1mKCgpPT57b0w9W1sicGF0aCIse2Q6Ik0yIDlWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0ydi0xIn1dLFsicGF0aCIse2Q6Ik0yIDEzaDEwIn1dLFsicGF0aCIse2Q6Im05IDE2IDMtMy0zLTMifV1dfSk7dmFyIG5MLF9MZT1mKCgpPT57bkw9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjUiLHg6IjE0Iix5OiIxNyIscng6IjEifV0sWyJwYXRoIix7ZDoiTTEwIDIwSDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45YTIgMiAwIDAgMSAxLjY5LjlsLjgxIDEuMmEyIDIgMCAwIDAgMS42Ny45SDIwYTIgMiAwIDAgMSAyIDJ2Mi41In1dLFsicGF0aCIse2Q6Ik0yMCAxN3YtMmEyIDIgMCAxIDAtNCAwdjIifV1dfSk7dmFyIGxMLFRMZT1mKCgpPT57bEw9W1sicGF0aCIse2Q6Im02IDE0IDEuNDUtMi45QTIgMiAwIDAgMSA5LjI0IDEwSDIwYTIgMiAwIDAgMSAxLjk0IDIuNWwtMS41NSA2YTIgMiAwIDAgMS0xLjk0IDEuNUg0YTIgMiAwIDAgMS0yLTJWNWMwLTEuMS45LTIgMi0yaDMuOTNhMiAyIDAgMCAxIDEuNjYuOWwuODIgMS4yYTIgMiAwIDAgMCAxLjY2LjlIMThhMiAyIDAgMCAxIDIgMnYyIn1dLFsiY2lyY2xlIix7Y3g6IjE0IixjeToiMTUiLHI6IjEifV1dfSk7dmFyIGNMLExMZT1mKCgpPT57Y0w9W1sicGF0aCIse2Q6Im02IDE0IDEuNS0yLjlBMiAyIDAgMCAxIDkuMjQgMTBIMjBhMiAyIDAgMCAxIDEuOTQgMi41bC0xLjU0IDZhMiAyIDAgMCAxLTEuOTUgMS41SDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45YTIgMiAwIDAgMSAxLjY5LjlsLjgxIDEuMmEyIDIgMCAwIDAgMS42Ny45SDE4YTIgMiAwIDAgMSAyIDJ2MiJ9XV19KTt2YXIgZEwsJExlPWYoKCk9PntkTD1bWyJwYXRoIix7ZDoiTTkgMTNoNiJ9XSxbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dXX0pO3ZhciB1TCxETGU9ZigoKT0+e3VMPVtbInBhdGgiLHtkOiJNMiA3LjVWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0xLjUifV0sWyJwYXRoIix7ZDoiTTIgMTNoMTAifV0sWyJwYXRoIix7ZDoibTUgMTAtMyAzIDMgMyJ9XV19KTt2YXIgY3UsQUxlPWYoKCk9PntjdT1bWyJwYXRoIix7ZDoiTTIgMTEuNVY1YTIgMiAwIDAgMSAyLTJoMy45Yy43IDAgMS4zLjMgMS43LjlsLjggMS4yYy40LjYgMSAuOSAxLjcuOUgyMGEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDJoLTkuNSJ9XSxbInBhdGgiLHtkOiJNMTEuMzc4IDEzLjYyNmExIDEgMCAxIDAtMy4wMDQtMy4wMDRsLTUuMDEgNS4wMTJhMiAyIDAgMCAwLS41MDYuODU0bC0uODM3IDIuODdhLjUuNSAwIDAgMCAuNjIuNjJsMi44Ny0uODM3YTIgMiAwIDAgMCAuODU0LS41MDZ6In1dXX0pO3ZhciBwTCxFTGU9ZigoKT0+e3BMPVtbInBhdGgiLHtkOiJNMTIgMTB2NiJ9XSxbInBhdGgiLHtkOiJNOSAxM2g2In1dLFsicGF0aCIse2Q6Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloifV1dfSk7dmFyIGZMLFBMZT1mKCgpPT57Zkw9W1sicGF0aCIse2Q6Ik00IDIwaDE2YTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjkzYTIgMiAwIDAgMS0xLjY2LS45bC0uODItMS4yQTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYzAgMS4xLjkgMiAyIDJaIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTMiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDE1djUifV1dfSk7dmFyIGhMLElMZT1mKCgpPT57aEw9W1siY2lyY2xlIix7Y3g6IjExLjUiLGN5OiIxMi41IixyOiIyLjUifV0sWyJwYXRoIix7ZDoiTTIwIDIwYTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyWiJ9XSxbInBhdGgiLHtkOiJNMTMuMyAxNC4zIDE1IDE2In1dXX0pO3ZhciBtTCxOTGU9ZigoKT0+e21MPVtbInBhdGgiLHtkOiJNMTAuNyAyMEg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydjQuMSJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtMS45LTEuOSJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE3IixyOiIzIn1dXX0pO3ZhciBnTCxSTGU9ZigoKT0+e2dMPVtbInBhdGgiLHtkOiJNMiA5LjM1VjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMnYtM2EyIDIgMCAwIDEgMi0yaDcifV0sWyJwYXRoIix7ZDoibTggMTYgMy0zLTMtMyJ9XV19KTt2YXIgYkwsT0xlPWYoKCk9PntiTD1bWyJwYXRoIix7ZDoiTTIwIDEwYTEgMSAwIDAgMCAxLTFWNmExIDEgMCAwIDAtMS0xaC0yLjVhMSAxIDAgMCAxLS44LS40bC0uOS0xLjJBMSAxIDAgMCAwIDE1IDNoLTJhMSAxIDAgMCAwLTEgMXY1YTEgMSAwIDAgMCAxIDFaIn1dLFsicGF0aCIse2Q6Ik0yMCAyMWExIDEgMCAwIDAgMS0xdi0zYTEgMSAwIDAgMC0xLTFoLTIuOWExIDEgMCAwIDEtLjg4LS41NWwtLjQyLS44NWExIDEgMCAwIDAtLjkyLS42SDEzYTEgMSAwIDAgMC0xIDF2NWExIDEgMCAwIDAgMSAxWiJ9XSxbInBhdGgiLHtkOiJNMyA1YTIgMiAwIDAgMCAyIDJoMyJ9XSxbInBhdGgiLHtkOiJNMyAzdjEzYTIgMiAwIDAgMCAyIDJoMyJ9XV19KTt2YXIgdkwsRkxlPWYoKCk9Pnt2TD1bWyJwYXRoIix7ZDoiTTkgMjBINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnYuNSJ9XSxbInBhdGgiLHtkOiJNMTIgMTB2NGg0In1dLFsicGF0aCIse2Q6Im0xMiAxNCAxLjUzNS0xLjYwNWE1IDUgMCAwIDEgOCAxLjUifV0sWyJwYXRoIix7ZDoiTTIyIDIydi00aC00In1dLFsicGF0aCIse2Q6Im0yMiAxOC0xLjUzNSAxLjYwNWE1IDUgMCAwIDEtOC0xLjUifV1dfSk7dmFyIHhMLEJMZT1mKCgpPT57eEw9W1sicGF0aCIse2Q6Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloifV0sWyJwYXRoIix7ZDoiTTEyIDEwdjYifV0sWyJwYXRoIix7ZDoibTkgMTMgMy0zIDMgMyJ9XV19KTt2YXIgeUwsSExlPWYoKCk9Pnt5TD1bWyJwYXRoIix7ZDoiTTIwIDIwYTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyWiJ9XSxbInBhdGgiLHtkOiJtOS41IDEwLjUgNSA1In1dLFsicGF0aCIse2Q6Im0xNC41IDEwLjUtNSA1In1dXX0pO3ZhciB3TCxxTGU9ZigoKT0+e3dMPVtbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dXX0pO3ZhciBNTCxWTGU9ZigoKT0+e01MPVtbInBhdGgiLHtkOiJNMjAgNWEyIDIgMCAwIDEgMiAydjdhMiAyIDAgMCAxLTIgMkg5YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDIuNWExLjUgMS41IDAgMCAxIDEuMi42bC42LjhhMS41IDEuNSAwIDAgMCAxLjIuNnoifV0sWyJwYXRoIix7ZDoiTTMgOC4yNjhhMiAyIDAgMCAwLTEgMS43MzhWMTlhMiAyIDAgMCAwIDIgMmgxMWEyIDIgMCAwIDAgMS43MzItMSJ9XV19KTt2YXIga0wsakxlPWYoKCk9PntrTD1bWyJwYXRoIix7ZDoiTTQgMTZ2LTIuMzhDNCAxMS41IDIuOTcgMTAuNSAzIDhjLjAzLTIuNzIgMS40OS02IDQuNS02QzkuMzcgMiAxMCAzLjggMTAgNS41YzAgMy4xMS0yIDUuNjYtMiA4LjY4VjE2YTIgMiAwIDEgMS00IDBaIn1dLFsicGF0aCIse2Q6Ik0yMCAyMHYtMi4zOGMwLTIuMTIgMS4wMy0zLjEyIDEtNS42Mi0uMDMtMi43Mi0xLjQ5LTYtNC41LTZDMTQuNjMgNiAxNCA3LjggMTQgOS41YzAgMy4xMSAyIDUuNjYgMiA4LjY4VjIwYTIgMiAwIDEgMCA0IDBaIn1dLFsicGF0aCIse2Q6Ik0xNiAxN2g0In1dLFsicGF0aCIse2Q6Ik00IDEzaDQifV1dfSk7dmFyIFNMLFVMZT1mKCgpPT57U0w9W1sicGF0aCIse2Q6Ik0xMiAxMkg1YTIgMiAwIDAgMC0yIDJ2NSJ9XSxbInBhdGgiLHtkOiJNMTUgMTloNyJ9XSxbInBhdGgiLHtkOiJNMTYgMTlWMiJ9XSxbInBhdGgiLHtkOiJNNiAxMlY3YTIgMiAwIDAgMSAyLTJoMi4xNzJhMiAyIDAgMCAxIDEuNDE0LjU4NmwzLjgyOCAzLjgyOEEyIDIgMCAwIDEgMTYgMTAuODI4In1dLFsicGF0aCIse2Q6Ik03IDE5aDQifV0sWyJjaXJjbGUiLHtjeDoiMTMiLGN5OiIxOSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTkiLHI6IjIifV1dfSk7dmFyIHpMLFdMZT1mKCgpPT57ekw9W1sicGF0aCIse2Q6Ik00IDE0aDYifV0sWyJwYXRoIix7ZDoiTTQgMmgxMCJ9XSxbInJlY3QiLHt4OiI0Iix5OiIxOCIsd2lkdGg6IjE2IixoZWlnaHQ6IjQiLHJ4OiIxIn1dLFsicmVjdCIse3g6IjQiLHk6IjYiLHdpZHRoOiIxNiIsaGVpZ2h0OiI0IixyeDoiMSJ9XV19KTt2YXIgQ0wsR0xlPWYoKCk9PntDTD1bWyJwYXRoIix7ZDoibTE1IDE3IDUtNS01LTUifV0sWyJwYXRoIix7ZDoiTTQgMTh2LTJhNCA0IDAgMCAxIDQtNGgxMiJ9XV19KTt2YXIgX0wsWUxlPWYoKCk9PntfTD1bWyJsaW5lIix7eDE6IjIyIix4MjoiMiIseTE6IjYiLHkyOiI2In1dLFsibGluZSIse3gxOiIyMiIseDI6IjIiLHkxOiIxOCIseTI6IjE4In1dLFsibGluZSIse3gxOiI2Iix4MjoiNiIseTE6IjIiLHkyOiIyMiJ9XSxbImxpbmUiLHt4MToiMTgiLHgyOiIxOCIseTE6IjIiLHkyOiIyMiJ9XV19KTt2YXIgVEwsS0xlPWYoKCk9PntUTD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTE2IDE2cy0xLjUtMi00LTItNCAyLTQgMiJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjkuMDEiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiIxNS4wMSIseTE6IjkiLHkyOiI5In1dXX0pO3ZhciBMTCxaTGU9ZigoKT0+e0xMPVtbInBhdGgiLHtkOiJNMTQgMTNoMmEyIDIgMCAwIDEgMiAydjJhMiAyIDAgMCAwIDQgMHYtNi45OThhMiAyIDAgMCAwLS41OS0xLjQyTDE4IDUifV0sWyJwYXRoIix7ZDoiTTE0IDIxVjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTYifV0sWyJwYXRoIix7ZDoiTTIgMjFoMTMifV0sWyJwYXRoIix7ZDoiTTMgOWgxMSJ9XV19KTt2YXIgJEwsWExlPWYoKCk9PnskTD1bWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTcgM2gyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMTd2MmEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVhMiAyIDAgMCAxLTItMnYtMiJ9XSxbInJlY3QiLHt3aWR0aDoiMTAiLGhlaWdodDoiOCIseDoiNyIseToiOCIscng6IjEifV1dfSk7dmFyIERMLFFMZT1mKCgpPT57REw9W1sicGF0aCIse2Q6Ik0xMy4zNTQgM0gzYTEgMSAwIDAgMC0uNzQyIDEuNjdsNy4yMjUgNy45ODlBMiAyIDAgMCAxIDEwIDE0djZhMSAxIDAgMCAwIC41NTMuODk1bDIgMUExIDEgMCAwIDAgMTQgMjF2LTdhMiAyIDAgMCAxIC41MTctMS4zNDFsMS4yMTgtMS4zNDgifV0sWyJwYXRoIix7ZDoiTTE2IDZoNiJ9XSxbInBhdGgiLHtkOiJNMTkgM3Y2In1dXX0pO3ZhciBkdSxKTGU9ZigoKT0+e2R1PVtbInBhdGgiLHtkOiJNMTIuNTMxIDNIM2ExIDEgMCAwIDAtLjc0MiAxLjY3bDcuMjI1IDcuOTg5QTIgMiAwIDAgMSAxMCAxNHY2YTEgMSAwIDAgMCAuNTUzLjg5NWwyIDFBMSAxIDAgMCAwIDE0IDIxdi03YTIgMiAwIDAgMSAuNTE3LTEuMzQxbC40MjctLjQ3MyJ9XSxbInBhdGgiLHtkOiJtMTYuNSAzLjUgNSA1In1dLFsicGF0aCIse2Q6Im0yMS41IDMuNS01IDUifV1dfSk7dmFyIEFMLGUkZT1mKCgpPT57QUw9W1sicGF0aCIse2Q6Ik0yIDd2MTAifV0sWyJwYXRoIix7ZDoiTTYgNXYxNCJ9XSxbInJlY3QiLHt3aWR0aDoiMTIiLGhlaWdodDoiMTgiLHg6IjEwIix5OiIzIixyeDoiMiJ9XV19KTt2YXIgdXUsdCRlPWYoKCk9Pnt1dT1bWyJwYXRoIix7ZDoiTTEwIDIwYTEgMSAwIDAgMCAuNTUzLjg5NWwyIDFBMSAxIDAgMCAwIDE0IDIxdi03YTIgMiAwIDAgMSAuNTE3LTEuMzQxTDIxLjc0IDQuNjdBMSAxIDAgMCAwIDIxIDNIM2ExIDEgMCAwIDAtLjc0MiAxLjY3bDcuMjI1IDcuOTg5QTIgMiAwIDAgMSAxMCAxNHoifV1dfSk7dmFyIEVMLGEkZT1mKCgpPT57RUw9W1sicGF0aCIse2Q6Ik0yIDN2MTgifV0sWyJyZWN0Iix7d2lkdGg6IjEyIixoZWlnaHQ6IjE4Iix4OiI2Iix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMjIgM3YxOCJ9XV19KTt2YXIgUEwsciRlPWYoKCk9PntQTD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE0Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNCAyMWgxIn1dLFsicGF0aCIse2Q6Ik05IDIxaDEifV0sWyJwYXRoIix7ZDoiTTE0IDIxaDEifV0sWyJwYXRoIix7ZDoiTTE5IDIxaDEifV1dfSk7dmFyIElMLHMkZT1mKCgpPT57SUw9W1sicGF0aCIse2Q6Ik03IDJoMTAifV0sWyJwYXRoIix7ZDoiTTUgNmgxNCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTIiLHg6IjMiLHk6IjEwIixyeDoiMiJ9XV19KTt2YXIgTkwsaSRlPWYoKCk9PntOTD1bWyJwYXRoIix7ZDoiTTMgMmgxOCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTIiLHg6IjMiLHk6IjYiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDIyaDE4In1dXX0pO3ZhciBSTCxvJGU9ZigoKT0+e1JMPVtbImxpbmUiLHt4MToiNiIseDI6IjEwIix5MToiMTEiLHkyOiIxMSJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjgiLHkxOiI5Iix5MjoiMTMifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiMTUuMDEiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxOCIseDI6IjE4LjAxIix5MToiMTAiLHkyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTcuMzIgNUg2LjY4YTQgNCAwIDAgMC0zLjk3OCAzLjU5Yy0uMDA2LjA1Mi0uMDEuMTAxLS4wMTcuMTUyQzIuNjA0IDkuNDE2IDIgMTQuNDU2IDIgMTZhMyAzIDAgMCAwIDMgM2MxIDAgMS41LS41IDItMWwxLjQxNC0xLjQxNEEyIDIgMCAwIDEgOS44MjggMTZoNC4zNDRhMiAyIDAgMCAxIDEuNDE0LjU4NkwxNyAxOGMuNS41IDEgMSAyIDFhMyAzIDAgMCAwIDMtM2MwLTEuNTQ1LS42MDQtNi41ODQtLjY4NS03LjI1OC0uMDA3LS4wNS0uMDExLS4xLS4wMTctLjE1MUE0IDQgMCAwIDAgMTcuMzIgNXoifV1dfSk7dmFyIE9MLG4kZT1mKCgpPT57T0w9W1sicGF0aCIse2Q6Ik0xMS4xNDYgMTUuODU0YTEuMjA3IDEuMjA3IDAgMCAxIDEuNzA4IDBsMS41NiAxLjU2QTIgMiAwIDAgMSAxNSAxOC44MjhWMjFhMSAxIDAgMCAxLTEgMWgtNGExIDEgMCAwIDEtMS0xdi0yLjE3MmEyIDIgMCAwIDEgLjU4Ni0xLjQxNHoifV0sWyJwYXRoIix7ZDoiTTE4LjgyOCAxNWEyIDIgMCAwIDEtMS40MTQtLjU4NmwtMS41Ni0xLjU2YTEuMjA3IDEuMjA3IDAgMCAxIDAtMS43MDhsMS41Ni0xLjU2QTIgMiAwIDAgMSAxOC44MjggOUgyMWExIDEgMCAwIDEgMSAxdjRhMSAxIDAgMCAxLTEgMXoifV0sWyJwYXRoIix7ZDoiTTYuNTg2IDE0LjQxNEEyIDIgMCAwIDEgNS4xNzIgMTVIM2ExIDEgMCAwIDEtMS0xdi00YTEgMSAwIDAgMSAxLTFoMi4xNzJhMiAyIDAgMCAxIDEuNDE0LjU4NmwxLjU2IDEuNTZhMS4yMDcgMS4yMDcgMCAwIDEgMCAxLjcwOHoifV0sWyJwYXRoIix7ZDoiTTkgM2ExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDEgMXYyLjE3MmEyIDIgMCAwIDEtLjU4NiAxLjQxNGwtMS41NiAxLjU2YTEuMjA3IDEuMjA3IDAgMCAxLTEuNzA4IDBsLTEuNTYtMS41NkEyIDIgMCAwIDEgOSA1LjE3MnoifV1dfSk7dmFyIEZMLGwkZT1mKCgpPT57Rkw9W1sibGluZSIse3gxOiI2Iix4MjoiMTAiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiI4Iix4MjoiOCIseTE6IjEwIix5MjoiMTQifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiMTUuMDEiLHkxOiIxMyIseTI6IjEzIn1dLFsibGluZSIse3gxOiIxOCIseDI6IjE4LjAxIix5MToiMTEiLHkyOiIxMSJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTIiLHg6IjIiLHk6IjYiLHJ4OiIyIn1dXX0pO3ZhciBCTCxjJGU9ZigoKT0+e0JMPVtbInBhdGgiLHtkOiJtMTIgMTQgNC00In1dLFsicGF0aCIse2Q6Ik0zLjM0IDE5YTEwIDEwIDAgMSAxIDE3LjMyIDAifV1dfSk7dmFyIEhMLGQkZT1mKCgpPT57SEw9W1sicGF0aCIse2Q6Im0xNCAxMy04LjM4MSA4LjM4YTEgMSAwIDAgMS0zLjAwMS0zbDguMzg0LTguMzgxIn1dLFsicGF0aCIse2Q6Im0xNiAxNiA2LTYifV0sWyJwYXRoIix7ZDoibTIxLjUgMTAuNS04LTgifV0sWyJwYXRoIix7ZDoibTggOCA2LTYifV0sWyJwYXRoIix7ZDoibTguNSA3LjUgOCA4In1dXX0pO3ZhciBxTCx1JGU9ZigoKT0+e3FMPVtbInBhdGgiLHtkOiJNMTAuNSAzIDggOWw0IDEzIDQtMTMtMi41LTYifV0sWyJwYXRoIix7ZDoiTTE3IDNhMiAyIDAgMCAxIDEuNi44bDMgNGEyIDIgMCAwIDEgLjAxMyAyLjM4MmwtNy45OSAxMC45ODZhMiAyIDAgMCAxLTMuMjQ3IDBsLTcuOTktMTAuOTg2QTIgMiAwIDAgMSAyLjQgNy44bDIuOTk4LTMuOTk3QTIgMiAwIDAgMSA3IDN6In1dLFsicGF0aCIse2Q6Ik0yIDloMjAifV1dfSk7dmFyIFZMLHAkZT1mKCgpPT57Vkw9W1sicGF0aCIse2Q6Ik05IDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTUgMTBoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAyYTggOCAwIDAgMC04IDh2MTJsMy0zIDIuNSAyLjVMMTIgMTlsMi41IDIuNUwxNyAxOWwzIDNWMTBhOCA4IDAgMCAwLTgtOHoifV1dfSk7dmFyIGpMLGYkZT1mKCgpPT57akw9W1sicGF0aCIse2Q6Ik0xMS41IDIxYTcuNSA3LjUgMCAxIDEgNy4zNS05In1dLFsicGF0aCIse2Q6Ik0xMyAxMlYzIn1dLFsicGF0aCIse2Q6Ik00IDIxaDE2In1dLFsicGF0aCIse2Q6Ik05IDEyVjMifV1dfSk7dmFyIFVMLGgkZT1mKCgpPT57VUw9W1sicGF0aCIse2Q6Ik0xNSA2YTkgOSAwIDAgMC05IDlWMyJ9XSxbInBhdGgiLHtkOiJNMjEgMThoLTYifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiI2IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiIxOCIscjoiMyJ9XV19KTt2YXIgV0wsbSRlPWYoKCk9PntXTD1bWyJwYXRoIix7ZDoiTTEyIDd2MTQifV0sWyJwYXRoIix7ZDoiTTIwIDExdjhhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJ2LTgifV0sWyJwYXRoIix7ZDoiTTcuNSA3YTEgMSAwIDAgMSAwLTVBNC44IDggMCAwIDEgMTIgN2E0LjggOCAwIDAgMSA0LjUtNSAxIDEgMCAwIDEgMCA1In1dLFsicmVjdCIse3g6IjMiLHk6IjciLHdpZHRoOiIxOCIsaGVpZ2h0OiI0IixyeDoiMSJ9XV19KTt2YXIgR0wsZyRlPWYoKCk9PntHTD1bWyJwYXRoIix7ZDoiTTYgM3YxMiJ9XSxbInBhdGgiLHtkOiJNMTggOWEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6In1dLFsicGF0aCIse2Q6Ik02IDIxYTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnoifV0sWyJwYXRoIix7ZDoiTTE1IDZhOSA5IDAgMCAwLTkgOSJ9XSxbInBhdGgiLHtkOiJNMTggMTV2NiJ9XSxbInBhdGgiLHtkOiJNMjEgMThoLTYifV1dfSk7dmFyIFlMLGIkZT1mKCgpPT57WUw9W1sicGF0aCIse2Q6Ik0xNSA2YTkgOSAwIDAgMC05IDlWMyJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjYiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciBwdSx2JGU9ZigoKT0+e3B1PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dLFsibGluZSIse3gxOiIzIix4MjoiOSIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiMjEiLHkxOiIxMiIseTI6IjEyIn1dXX0pO3ZhciBLTCx4JGU9ZigoKT0+e0tMPVtbInBhdGgiLHtkOiJNMTIgM3Y2In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTEyIDE1djYifV1dfSk7dmFyIFpMLHkkZT1mKCgpPT57Wkw9W1siY2lyY2xlIix7Y3g6IjUiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xMiA2aDVhMiAyIDAgMCAxIDIgMnY3In1dLFsicGF0aCIse2Q6Im0xNSA5LTMtMyAzLTMifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxOCIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTIgMThIN2EyIDIgMCAwIDEtMi0yVjkifV0sWyJwYXRoIix7ZDoibTkgMTUgMyAzLTMgMyJ9XV19KTt2YXIgWEwsdyRlPWYoKCk9PntYTD1bWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTMgNmgzYTIgMiAwIDAgMSAyIDJ2NyJ9XSxbInBhdGgiLHtkOiJNMTEgMThIOGEyIDIgMCAwIDEtMi0yVjkifV1dfSk7dmFyIFFMLE0kZT1mKCgpPT57UUw9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTgiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjYiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xOCA5djJjMCAuNi0uNCAxLTEgMUg3Yy0uNiAwLTEtLjQtMS0xVjkifV0sWyJwYXRoIix7ZDoiTTEyIDEydjMifV1dfSk7dmFyIEpMLGskZT1mKCgpPT57Skw9W1siY2lyY2xlIix7Y3g6IjUiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik01IDl2NiJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTgiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTEyIDN2MTgifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xNiAxNS43QTkgOSAwIDAgMCAxOSA5In1dXX0pO3ZhciBlJCxTJGU9ZigoKT0+e2UkPVtbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik02IDIxVjlhOSA5IDAgMCAwIDkgOSJ9XV19KTt2YXIgdCQseiRlPWYoKCk9Pnt0JD1bWyJwYXRoIix7ZDoiTTEyIDZoNGEyIDIgMCAwIDEgMiAydjcifV0sWyJwYXRoIix7ZDoiTTYgMTJ2OSJ9XSxbInBhdGgiLHtkOiJNOSAzIDMgOSJ9XSxbInBhdGgiLHtkOiJNOSA5IDMgMyJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciBhJCxDJGU9ZigoKT0+e2EkPVtbImNpcmNsZSIse2N4OiI1IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNSA5djEyIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTgiLHI6IjMifV0sWyJwYXRoIix7ZDoibTE1IDktMy0zIDMtMyJ9XSxbInBhdGgiLHtkOiJNMTIgNmg1YTIgMiAwIDAgMSAyIDJ2NyJ9XV19KTt2YXIgciQsXyRlPWYoKCk9PntyJD1bWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjYiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTYgOXYxMiJ9XSxbInBhdGgiLHtkOiJtMjEgMy02IDYifV0sWyJwYXRoIix7ZDoibTIxIDktNi02In1dLFsicGF0aCIse2Q6Ik0xOCAxMS41VjE1In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjMifV1dfSk7dmFyIHMkLFQkZT1mKCgpPT57cyQ9W1siY2lyY2xlIix7Y3g6IjUiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik01IDl2MTIifV0sWyJwYXRoIix7ZDoibTE1IDktMy0zIDMtMyJ9XSxbInBhdGgiLHtkOiJNMTIgNmg1YTIgMiAwIDAgMSAyIDJ2MyJ9XSxbInBhdGgiLHtkOiJNMTkgMTV2NiJ9XSxbInBhdGgiLHtkOiJNMjIgMThoLTYifV1dfSk7dmFyIGkkLEwkZT1mKCgpPT57aSQ9W1siY2lyY2xlIix7Y3g6IjYiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik02IDl2MTIifV0sWyJwYXRoIix7ZDoiTTEzIDZoM2EyIDIgMCAwIDEgMiAydjMifV0sWyJwYXRoIix7ZDoiTTE4IDE1djYifV0sWyJwYXRoIix7ZDoiTTIxIDE4aC02In1dXX0pO3ZhciBvJCwkJGU9ZigoKT0+e28kPVtbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xOCA2VjUifV0sWyJwYXRoIix7ZDoiTTE4IDExdi0xIn1dLFsibGluZSIse3gxOiI2Iix4MjoiNiIseTE6IjkiLHkyOiIyMSJ9XV19KTt2YXIgbiQsRCRlPWYoKCk9PntuJD1bWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTMgNmgzYTIgMiAwIDAgMSAyIDJ2NyJ9XSxbImxpbmUiLHt4MToiNiIseDI6IjYiLHkxOiI5Iix5MjoiMjEifV1dfSk7dmFyIGwkLEEkZT1mKCgpPT57bCQ9W1sicGF0aCIse2Q6Ik01LjExNiA0LjEwNEExIDEgMCAwIDEgNi4xMSAzaDExLjc4YTEgMSAwIDAgMSAuOTk0IDEuMTA1TDE3LjE5IDIwLjIxQTIgMiAwIDAgMSAxNS4yIDIySDguOGEyIDIgMCAwIDEtMi0xLjc5eiJ9XSxbInBhdGgiLHtkOiJNNiAxMmE1IDUgMCAwIDEgNiAwIDUgNSAwIDAgMCA2IDAifV1dfSk7dmFyIGMkLEUkZT1mKCgpPT57YyQ9W1siY2lyY2xlIix7Y3g6IjYiLGN5OiIxNSIscjoiNCJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE1IixyOiI0In1dLFsicGF0aCIse2Q6Ik0xNCAxNWEyIDIgMCAwIDAtMi0yIDIgMiAwIDAgMC0yIDIifV0sWyJwYXRoIix7ZDoiTTIuNSAxMyA1IDdjLjctMS4zIDEuNC0yIDMtMiJ9XSxbInBhdGgiLHtkOiJNMjEuNSAxMyAxOSA3Yy0uNy0xLjMtMS41LTItMy0yIn1dXX0pO3ZhciBkJCxQJGU9ZigoKT0+e2QkPVtbInBhdGgiLHtkOiJNMTUuNjg2IDE1QTE0LjUgMTQuNSAwIDAgMSAxMiAyMmExNC41IDE0LjUgMCAwIDEgMC0yMCAxMCAxMCAwIDEgMCA5LjU0MiAxMyJ9XSxbInBhdGgiLHtkOiJNMiAxMmg4LjUifV0sWyJwYXRoIix7ZDoiTTIwIDZWNGEyIDIgMCAxIDAtNCAwdjIifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNSIseDoiMTQiLHk6IjYiLHJ4OiIxIn1dXX0pO3ZhciB1JCxJJGU9ZigoKT0+e3UkPVtbInBhdGgiLHtkOiJtMTYgMyA1IDUifV0sWyJwYXRoIix7ZDoiTTIgMTJoMjBBMTAgMTAgMCAxIDEgMTIgMmExNC41IDE0LjUgMCAwIDAgMCAyMCAxNC41IDE0LjUgMCAwIDAgNC0xMCJ9XSxbInBhdGgiLHtkOiJtMjEgMy01IDUifV1dfSk7dmFyIHAkLE4kZT1mKCgpPT57cCQ9W1sicGF0aCIse2Q6Ik0xMC4xMTQgNC40NjJBMTQuNSAxNC41IDAgMCAxIDEyIDJhMTAgMTAgMCAwIDEgOS4zMTMgMTMuNjQzIn1dLFsicGF0aCIse2Q6Ik0xNS41NTcgMTUuNTU2QTE0LjUgMTQuNSAwIDAgMSAxMiAyMiAxMCAxMCAwIDAgMSA0LjkyOSA0LjkyOSJ9XSxbInBhdGgiLHtkOiJNMTUuODkyIDEwLjIzNEExNC41IDE0LjUgMCAwIDAgMTIgMmExMCAxMCAwIDAgMC0zLjY0My42ODcifV0sWyJwYXRoIix7ZDoiTTE3LjY1NiAxMkgyMiJ9XSxbInBhdGgiLHtkOiJNMTkuMDcxIDE5LjA3MUExMCAxMCAwIDAgMSAxMiAyMiAxNC41IDE0LjUgMCAwIDEgOC40NCA4LjQ1In1dLFsicGF0aCIse2Q6Ik0yIDEyaDEwIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIGYkLFIkZT1mKCgpPT57ZiQ9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiAyYTE0LjUgMTQuNSAwIDAgMCAwIDIwIDE0LjUgMTQuNSAwIDAgMCAwLTIwIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIwIn1dXX0pO3ZhciBoJCxPJGU9ZigoKT0+e2gkPVtbInBhdGgiLHtkOiJNMTIgMTNWMmw4IDQtOCA0In1dLFsicGF0aCIse2Q6Ik0yMC41NjEgMTAuMjIyYTkgOSAwIDEgMS0xMi41NS01LjI5In1dLFsicGF0aCIse2Q6Ik04LjAwMiA5Ljk5N2E1IDUgMCAxIDAgOC45IDIuMDIifV1dfSk7dmFyIG0kLEYkZT1mKCgpPT57bSQ9W1sicGF0aCIse2Q6Ik0yIDE3aDE4YTIgMiAwIDAgMCAyLTJWN2EyIDIgMCAwIDAtMi0ySDIifV0sWyJwYXRoIix7ZDoiTTIgMjFWMyJ9XSxbInBhdGgiLHtkOiJNNyAxN3YzYTEgMSAwIDAgMCAxIDFoNWExIDEgMCAwIDAgMS0xdi0zIn1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTEiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjExIixyOiIyIn1dXX0pO3ZhciBnJCxCJGU9ZigoKT0+e2ckPVtbInBhdGgiLHtkOiJNMjEuNDIgMTAuOTIyYTEgMSAwIDAgMC0uMDE5LTEuODM4TDEyLjgzIDUuMThhMiAyIDAgMCAwLTEuNjYgMEwyLjYgOS4wOGExIDEgMCAwIDAgMCAxLjgzMmw4LjU3IDMuOTA4YTIgMiAwIDAgMCAxLjY2IDB6In1dLFsicGF0aCIse2Q6Ik0yMiAxMHY2In1dLFsicGF0aCIse2Q6Ik02IDEyLjVWMTZhNiAzIDAgMCAwIDEyIDB2LTMuNSJ9XV19KTt2YXIgYiQsSCRlPWYoKCk9PntiJD1bWyJwYXRoIix7ZDoiTTIyIDVWMmwtNS44OSA1Ljg5In1dLFsiY2lyY2xlIix7Y3g6IjE2LjYiLGN5OiIxNS44OSIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI4LjExIixjeToiNy40IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjEyLjM1IixjeToiMTEuNjUiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTMuOTEiLGN5OiI1Ljg1IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjE4LjE1IixjeToiMTAuMDkiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiNi41NiIsY3k6IjEzLjIiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTAuOCIsY3k6IjE3LjQ0IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxOSIscjoiMyJ9XV19KTt2YXIgZnUscSRlPWYoKCk9PntmdT1bWyJwYXRoIix7ZDoiTTEyIDN2MTdhMSAxIDAgMCAxLTEgMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2NmExIDEgMCAwIDEtMSAxSDMifV0sWyJwYXRoIix7ZDoibTE2IDE5IDIgMiA0LTQifV1dfSk7dmFyIGh1LFYkZT1mKCgpPT57aHU9W1sicGF0aCIse2Q6Ik0xMiAzdjE3YTEgMSAwIDAgMS0xIDFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjZhMSAxIDAgMCAxLTEgMUgzIn1dLFsicGF0aCIse2Q6Ik0xNiAxOWg2In1dLFsicGF0aCIse2Q6Ik0xOSAyMnYtNiJ9XV19KTt2YXIgbXUsaiRlPWYoKCk9PnttdT1bWyJwYXRoIix7ZDoiTTEyIDN2MTdhMSAxIDAgMCAxLTEgMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2NmExIDEgMCAwIDEtMSAxSDMifV0sWyJwYXRoIix7ZDoibTE2IDE2IDUgNSJ9XSxbInBhdGgiLHtkOiJtMTYgMjEgNS01In1dXX0pO3ZhciBndSxVJGU9ZigoKT0+e2d1PVtbInBhdGgiLHtkOiJNMTIgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMyAxMmgxOCJ9XSxbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciB2JCxXJGU9ZigoKT0+e3YkPVtbInBhdGgiLHtkOiJNMTUgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMyAxMmgxOCJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4In1dLFsicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dfSk7dmFyIG5jLEckZT1mKCgpPT57bmM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgOWgxOCJ9XSxbInBhdGgiLHtkOiJNMyAxNWgxOCJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4In1dLFsicGF0aCIse2Q6Ik0xNSAzdjE4In1dXX0pO3ZhciB4JCxZJGU9ZigoKT0+e3gkPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjkiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiI5IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiI5IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTUiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxNSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTUiLHI6IjEifV1dfSk7dmFyIHkkLEskZT1mKCgpPT57eSQ9W1siY2lyY2xlIix7Y3g6IjkiLGN5OiIxMiIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiNSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiMTkiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTUiLGN5OiIxMiIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxNSIsY3k6IjUiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTUiLGN5OiIxOSIscjoiMSJ9XV19KTt2YXIgdyQsWiRlPWYoKCk9Pnt3JD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI1IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiNSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiNSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTIiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTkiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxOSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTkiLHI6IjEifV1dfSk7dmFyIE0kLFgkZT1mKCgpPT57TSQ9W1sicGF0aCIse2Q6Ik0zIDdWNWMwLTEuMS45LTIgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmMxLjEgMCAyIC45IDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYzAgMS4xLS45IDItMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVjLTEuMSAwLTItLjktMi0ydi0yIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjUiLHg6IjciLHk6IjciLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjUiLHg6IjEwIix5OiIxMiIscng6IjEifV1dfSk7dmFyIGskLFEkZT1mKCgpPT57ayQ9W1sicGF0aCIse2Q6Im0xMS45IDEyLjEgNC41MTQtNC41MTQifV0sWyJwYXRoIix7ZDoiTTIwLjEgMi4zYTEgMSAwIDAgMC0xLjQgMGwtMS4xMTQgMS4xMTRBMiAyIDAgMCAwIDE3IDQuODI4djEuMzQ0YTIgMiAwIDAgMS0uNTg2IDEuNDE0QTIgMiAwIDAgMSAxNy44MjggN2gxLjM0NGEyIDIgMCAwIDAgMS40MTQtLjU4NkwyMS43IDUuM2ExIDEgMCAwIDAgMC0xLjR6In1dLFsicGF0aCIse2Q6Im02IDE2IDIgMiJ9XSxbInBhdGgiLHtkOiJNOC4yMyA5Ljg1QTMgMyAwIDAgMSAxMSA4YTUgNSAwIDAgMSA1IDUgMyAzIDAgMCAxLTEuODUgMi43N2wtLjkyLjM4QTIgMiAwIDAgMCAxMiAxOGE0IDQgMCAwIDEtNCA0IDYgNiAwIDAgMS02LTYgNCA0IDAgMCAxIDQtNCAyIDIgMCAwIDAgMS44NS0xLjIzeiJ9XV19KTt2YXIgUyQsSiRlPWYoKCk9PntTJD1bWyJwYXRoIix7ZDoiTTEzLjE0NCAyMS4xNDRBNy4yNzQgMTAuNDQ1IDQ1IDEgMCAyLjg1NiAxMC44NTYifV0sWyJwYXRoIix7ZDoiTTEzLjE0NCAyMS4xNDRBNy4yNzQgNC4zNjUgNDUgMCAwIDIuODU2IDEwLjg1NmE3LjI3NCA0LjM2NSA0NSAwIDAgMTAuMjg4IDEwLjI4OCJ9XSxbInBhdGgiLHtkOiJNMTYuNTY1IDEwLjQzNSAxOC42IDguNGEyLjUwMSAyLjUwMSAwIDEgMCAxLjY1LTQuNjUgMi41IDIuNSAwIDEgMC00LjY2IDEuNjZsLTIuMDI0IDIuMDI1In1dLFsicGF0aCIse2Q6Im04LjUgMTYuNS0xLTEifV1dfSk7dmFyIHokLGVEZT1mKCgpPT57eiQ9W1sicGF0aCIse2Q6Ik0xMiAxNkg0YTIgMiAwIDEgMSAwLTRoMTZhMiAyIDAgMSAxIDAgNGgtNC4yNSJ9XSxbInBhdGgiLHtkOiJNNSAxMmEyIDIgMCAwIDEtMi0yIDkgNyAwIDAgMSAxOCAwIDIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTUgMTZhMiAyIDAgMCAwLTIgMiAzIDMgMCAwIDAgMyAzaDEyYTMgMyAwIDAgMCAzLTMgMiAyIDAgMCAwLTItMnEwIDAgMCAwIn1dLFsicGF0aCIse2Q6Im02LjY3IDEyIDYuMTMgNC42YTIgMiAwIDAgMCAyLjgtLjRsMy4xNS00LjIifV1dfSk7dmFyIEMkLHREZT1mKCgpPT57QyQ9W1sicGF0aCIse2Q6Im0xNSAxMi05LjM3MyA5LjM3M2ExIDEgMCAwIDEtMy4wMDEtM0wxMiA5In1dLFsicGF0aCIse2Q6Im0xOCAxNSA0LTQifV0sWyJwYXRoIix7ZDoibTIxLjUgMTEuNS0xLjkxNC0xLjkxNEEyIDIgMCAwIDEgMTkgOC4xNzJ2LS4zNDRhMiAyIDAgMCAwLS41ODYtMS40MTRsLTEuNjU3LTEuNjU3QTYgNiAwIDAgMCAxMi41MTYgM0g5bDEuMjQzIDEuMjQzQTYgNiAwIDAgMSAxMiA4LjQ4NVYxMGwyIDJoMS4xNzJhMiAyIDAgMCAxIDEuNDE0LjU4NkwxOC41IDE0LjUifV1dfSk7dmFyIF8kLGFEZT1mKCgpPT57XyQ9W1sicGF0aCIse2Q6Ik0xMSAxNWgyYTIgMiAwIDEgMCAwLTRoLTNjLS42IDAtMS4xLjItMS40LjZMMyAxNyJ9XSxbInBhdGgiLHtkOiJtNyAyMSAxLjYtMS40Yy4zLS40LjgtLjYgMS40LS42aDRjMS4xIDAgMi4xLS40IDIuOC0xLjJsNC42LTQuNGEyIDIgMCAwIDAtMi43NS0yLjkxbC00LjIgMy45In1dLFsicGF0aCIse2Q6Im0yIDE2IDYgNiJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjkiLHI6IjIuOSJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiNSIscjoiMyJ9XV19KTt2YXIgVCQsckRlPWYoKCk9PntUJD1bWyJwYXRoIix7ZDoiTTEyLjAzNSAxNy4wMTJhMyAzIDAgMCAwLTMtM2wtLjMxMS0uMDAyYS43Mi43MiAwIDAgMS0uNTA1LTEuMjI5bDEuMTk1LTEuMTk1QTIgMiAwIDAgMSAxMC44MjggMTFIMTJhMiAyIDAgMCAwIDAtNEg5LjI0M2EzIDMgMCAwIDAtMi4xMjIuODc5bC0yLjcwNyAyLjcwN0E0LjgzIDQuODMgMCAwIDAgMyAxNGE4IDggMCAwIDAgOCA4aDJhOCA4IDAgMCAwIDgtOFY3YTIgMiAwIDEgMC00IDB2MmEyIDIgMCAxIDAgNCAwIn1dLFsicGF0aCIse2Q6Ik0xMy44ODggOS42NjJBMiAyIDAgMCAwIDE3IDhWNUEyIDIgMCAxIDAgMTMgNSJ9XSxbInBhdGgiLHtkOiJNOSA1QTIgMiAwIDEgMCA1IDVWMTAifV0sWyJwYXRoIix7ZDoiTTkgN1Y0QTIgMiAwIDEgMSAxMyA0VjcuMjY4In1dXX0pO3ZhciBidSxzRGU9ZigoKT0+e2J1PVtbInBhdGgiLHtkOiJNMTggMTEuNVY5YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMnYxLjQifV0sWyJwYXRoIix7ZDoiTTE0IDEwVjhhMiAyIDAgMCAwLTItMmEyIDIgMCAwIDAtMiAydjIifV0sWyJwYXRoIix7ZDoiTTEwIDkuOVY5YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMnY1In1dLFsicGF0aCIse2Q6Ik02IDE0YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTggMTFhMiAyIDAgMSAxIDQgMHYzYTggOCAwIDAgMS04IDhoLTRhOCA4IDAgMCAxLTgtOCAyIDIgMCAxIDEgNCAwIn1dXX0pO3ZhciBMJCxpRGU9ZigoKT0+e0wkPVtbInBhdGgiLHtkOiJNMTEgMTRoMmEyIDIgMCAwIDAgMC00aC0zYy0uNiAwLTEuMS4yLTEuNC42TDMgMTYifV0sWyJwYXRoIix7ZDoibTE0LjQ1IDEzLjM5IDUuMDUtNC42OTRDMjAuMTk2IDggMjEgNi44NSAyMSA1Ljc1YTIuNzUgMi43NSAwIDAgMC00Ljc5Ny0xLjgzNy4yNzYuMjc2IDAgMCAxLS40MDYgMEEyLjc1IDIuNzUgMCAwIDAgMTEgNS43NWMwIDEuMi44MDIgMi4yNDggMS41IDIuOTQ2TDE2IDExLjk1In1dLFsicGF0aCIse2Q6Im0yIDE1IDYgNiJ9XSxbInBhdGgiLHtkOiJtNyAyMCAxLjYtMS40Yy4zLS40LjgtLjYgMS40LS42aDRjMS4xIDAgMi4xLS40IDIuOC0xLjJsNC42LTQuNGExIDEgMCAwIDAtMi43NS0yLjkxIn1dXX0pO3ZhciB2dSxvRGU9ZigoKT0+e3Z1PVtbInBhdGgiLHtkOiJNMTEgMTJoMmEyIDIgMCAxIDAgMC00aC0zYy0uNiAwLTEuMS4yLTEuNC42TDMgMTQifV0sWyJwYXRoIix7ZDoibTcgMTggMS42LTEuNGMuMy0uNC44LS42IDEuNC0uNmg0YzEuMSAwIDIuMS0uNCAyLjgtMS4ybDQuNi00LjRhMiAyIDAgMCAwLTIuNzUtMi45MWwtNC4yIDMuOSJ9XSxbInBhdGgiLHtkOiJtMiAxMyA2IDYifV1dfSk7dmFyICQkLG5EZT1mKCgpPT57JCQ9W1sicGF0aCIse2Q6Ik0xOCAxMi41VjEwYTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMnYxLjQifV0sWyJwYXRoIix7ZDoiTTE0IDExVjlhMiAyIDAgMSAwLTQgMHYyIn1dLFsicGF0aCIse2Q6Ik0xMCAxMC41VjVhMiAyIDAgMSAwLTQgMHY5In1dLFsicGF0aCIse2Q6Im03IDE1LTEuNzYtMS43NmEyIDIgMCAwIDAtMi44MyAyLjgybDMuNiAzLjZDNy41IDIxLjE0IDkuMiAyMiAxMiAyMmgyYTggOCAwIDAgMCA4LThWN2EyIDIgMCAxIDAtNCAwdjUifV1dfSk7dmFyIEQkLGxEZT1mKCgpPT57RCQ9W1sicGF0aCIse2Q6Ik0xMiAzVjIifV0sWyJwYXRoIix7ZDoibTE1LjQgMTcuNCAzLjItMi44YTIgMiAwIDEgMSAyLjggMi45bC0zLjYgMy4zYy0uNy44LTEuNyAxLjItMi44IDEuMmgtNGMtMS4xIDAtMi4xLS40LTIuOC0xLjJsLTEuMzAyLTEuNDY0QTEgMSAwIDAgMCA2LjE1MSAxOUg1In1dLFsicGF0aCIse2Q6Ik0yIDE0aDEyYTIgMiAwIDAgMSAwIDRoLTIifV0sWyJwYXRoIix7ZDoiTTQgMTBoMTYifV0sWyJwYXRoIix7ZDoiTTUgMTBhNyA3IDAgMCAxIDE0IDAifV0sWyJwYXRoIix7ZDoiTTUgMTR2NmExIDEgMCAwIDEtMSAxSDIifV1dfSk7dmFyIEEkLGNEZT1mKCgpPT57QSQ9W1sicGF0aCIse2Q6Ik0xOCAxMVY2YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTQgMTBWNGEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTAgMTAuNVY2YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMnY4In1dLFsicGF0aCIse2Q6Ik0xOCA4YTIgMiAwIDEgMSA0IDB2NmE4IDggMCAwIDEtOCA4aC0yYy0yLjggMC00LjUtLjg2LTUuOTktMi4zNGwtMy42LTMuNmEyIDIgMCAwIDEgMi44My0yLjgyTDcgMTUifV1dfSk7dmFyIEUkLGREZT1mKCgpPT57RSQ9W1sicGF0aCIse2Q6Ik0yLjA0OCAxOC41NjZBMiAyIDAgMCAwIDQgMjFoMTZhMiAyIDAgMCAwIDEuOTUyLTIuNDM0bC0yLTlBMiAyIDAgMCAwIDE4IDhINmEyIDIgMCAwIDAtMS45NTIgMS41NjZ6In1dLFsicGF0aCIse2Q6Ik04IDExVjZhNCA0IDAgMCAxIDggMHY1In1dXX0pO3ZhciBQJCx1RGU9ZigoKT0+e1AkPVtbInBhdGgiLHtkOiJtMTEgMTcgMiAyYTEgMSAwIDEgMCAzLTMifV0sWyJwYXRoIix7ZDoibTE0IDE0IDIuNSAyLjVhMSAxIDAgMSAwIDMtM2wtMy44OC0zLjg4YTMgMyAwIDAgMC00LjI0IDBsLS44OC44OGExIDEgMCAxIDEtMy0zbDIuODEtMi44MWE1Ljc5IDUuNzkgMCAwIDEgNy4wNi0uODdsLjQ3LjI4YTIgMiAwIDAgMCAxLjQyLjI1TDIxIDQifV0sWyJwYXRoIix7ZDoibTIxIDMgMSAxMWgtMiJ9XSxbInBhdGgiLHtkOiJNMyAzIDIgMTRsNi41IDYuNWExIDEgMCAxIDAgMy0zIn1dLFsicGF0aCIse2Q6Ik0zIDRoOCJ9XV19KTt2YXIgSSQscERlPWYoKCk9PntJJD1bWyJwYXRoIix7ZDoiTTEyIDJ2OCJ9XSxbInBhdGgiLHtkOiJtMTYgNi00IDQtNC00In1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiI4Iix4OiIyIix5OiIxNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTYgMThoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMCAxOGguMDEifV1dfSk7dmFyIE4kLGZEZT1mKCgpPT57TiQ9W1sicGF0aCIse2Q6Im0xNiA2LTQtNC00IDQifV0sWyJwYXRoIix7ZDoiTTEyIDJ2OCJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiOCIseDoiMiIseToiMTQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik02IDE4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgMThoLjAxIn1dXX0pO3ZhciBSJCxoRGU9ZigoKT0+e1IkPVtbInBhdGgiLHtkOiJNMTAgMTBWNWExIDEgMCAwIDEgMS0xaDJhMSAxIDAgMCAxIDEgMXY1In1dLFsicGF0aCIse2Q6Ik0xNCA2YTYgNiAwIDAgMSA2IDZ2MyJ9XSxbInBhdGgiLHtkOiJNNCAxNXYtM2E2IDYgMCAwIDEgNi02In1dLFsicmVjdCIse3g6IjIiLHk6IjE1Iix3aWR0aDoiMjAiLGhlaWdodDoiNCIscng6IjEifV1dfSk7dmFyIE8kLG1EZT1mKCgpPT57TyQ9W1sicGF0aCIse2Q6Ik0xMCAxNmguMDEifV0sWyJwYXRoIix7ZDoiTTIuMjEyIDExLjU3N2EyIDIgMCAwIDAtLjIxMi44OTZWMThhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi01LjUyN2EyIDIgMCAwIDAtLjIxMi0uODk2TDE4LjU1IDUuMTFBMiAyIDAgMCAwIDE2Ljc2IDRINy4yNGEyIDIgMCAwIDAtMS43OSAxLjExeiJ9XSxbInBhdGgiLHtkOiJNMjEuOTQ2IDEyLjAxM0gyLjA1NCJ9XSxbInBhdGgiLHtkOiJNNiAxNmguMDEifV1dfSk7dmFyIEYkLGdEZT1mKCgpPT57RiQ9W1sibGluZSIse3gxOiI0Iix4MjoiMjAiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiNCIseDI6IjIwIix5MToiMTUiLHkyOiIxNSJ9XSxbImxpbmUiLHt4MToiMTAiLHgyOiI4Iix5MToiMyIseTI6IjIxIn1dLFsibGluZSIse3gxOiIxNiIseDI6IjE0Iix5MToiMyIseTI6IjIxIn1dXX0pO3ZhciBCJCxiRGU9ZigoKT0+e0IkPVtbInBhdGgiLHtkOiJNMTQgMThhMiAyIDAgMCAwLTQgMCJ9XSxbInBhdGgiLHtkOiJtMTkgMTEtMi4xMS02LjY1N2EyIDIgMCAwIDAtMi43NTItMS4xNDhsLTEuMjc2LjYxQTIgMiAwIDAgMSAxMiA0SDguNWEyIDIgMCAwIDAtMS45MjUgMS40NTZMNSAxMSJ9XSxbInBhdGgiLHtkOiJNMiAxMWgyMCJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE4IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjciLGN5OiIxOCIscjoiMyJ9XV19KTt2YXIgSCQsdkRlPWYoKCk9PntIJD1bWyJwYXRoIix7ZDoibTUuMiA2LjIgMS40IDEuNCJ9XSxbInBhdGgiLHtkOiJNMiAxM2gyIn1dLFsicGF0aCIse2Q6Ik0yMCAxM2gyIn1dLFsicGF0aCIse2Q6Im0xNy40IDcuNiAxLjQtMS40In1dLFsicGF0aCIse2Q6Ik0yMiAxN0gyIn1dLFsicGF0aCIse2Q6Ik0yMiAyMUgyIn1dLFsicGF0aCIse2Q6Ik0xNiAxM2E0IDQgMCAwIDAtOCAwIn1dLFsicGF0aCIse2Q6Ik0xMiA1VjIuNSJ9XV19KTt2YXIgcSQseERlPWYoKCk9PntxJD1bWyJwYXRoIix7ZDoiTTEwIDEySDYifV0sWyJwYXRoIix7ZDoiTTEwIDE1VjkifV0sWyJwYXRoIix7ZDoiTTE0IDE0LjVhLjUuNSAwIDAgMCAuNS41aDFhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xQTIuNSAyLjUgMCAwIDAgMTUuNSA5aC0xYS41LjUgMCAwIDAtLjUuNXoifV0sWyJwYXRoIix7ZDoiTTYgMTVWOSJ9XSxbInJlY3QiLHt4OiIyIix5OiI1Iix3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHJ4OiIyIn1dXX0pO3ZhciBWJCx5RGU9ZigoKT0+e1YkPVtbInBhdGgiLHtkOiJNMjIgOWExIDEgMCAwIDAtMS0xSDNhMSAxIDAgMCAwLTEgMXY0YTEgMSAwIDAgMCAxIDFoMWwyIDJoMTJsMi0yaDFhMSAxIDAgMCAwIDEtMVoifV0sWyJwYXRoIix7ZDoiTTcuNSAxMmg5In1dXX0pO3ZhciBqJCx3RGU9ZigoKT0+e2okPVtbInBhdGgiLHtkOiJNNCAxMmg4In1dLFsicGF0aCIse2Q6Ik00IDE4VjYifV0sWyJwYXRoIix7ZDoiTTEyIDE4VjYifV0sWyJwYXRoIix7ZDoibTE3IDEyIDMtMnY4In1dXX0pO3ZhciBVJCxNRGU9ZigoKT0+e1UkPVtbInBhdGgiLHtkOiJNNCAxMmg4In1dLFsicGF0aCIse2Q6Ik00IDE4VjYifV0sWyJwYXRoIix7ZDoiTTEyIDE4VjYifV0sWyJwYXRoIix7ZDoiTTIxIDE4aC00YzAtNCA0LTMgNC02IDAtMS41LTItMi41LTQtMSJ9XV19KTt2YXIgVyQsa0RlPWYoKCk9PntXJD1bWyJwYXRoIix7ZDoiTTQgMTJoOCJ9XSxbInBhdGgiLHtkOiJNNCAxOFY2In1dLFsicGF0aCIse2Q6Ik0xMiAxOFY2In1dLFsicGF0aCIse2Q6Ik0xNy41IDEwLjVjMS43LTEgMy41IDAgMy41IDEuNWEyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik0xNyAxNy41YzIgMS41IDQgLjMgNC0xLjVhMiAyIDAgMCAwLTItMiJ9XV19KTt2YXIgRyQsU0RlPWYoKCk9PntHJD1bWyJwYXRoIix7ZDoiTTEyIDE4VjYifV0sWyJwYXRoIix7ZDoiTTE3IDEwdjNhMSAxIDAgMCAwIDEgMWgzIn1dLFsicGF0aCIse2Q6Ik0yMSAxMHY4In1dLFsicGF0aCIse2Q6Ik00IDEyaDgifV0sWyJwYXRoIix7ZDoiTTQgMThWNiJ9XV19KTt2YXIgWSQsekRlPWYoKCk9PntZJD1bWyJwYXRoIix7ZDoiTTQgMTJoOCJ9XSxbInBhdGgiLHtkOiJNNCAxOFY2In1dLFsicGF0aCIse2Q6Ik0xMiAxOFY2In1dLFsicGF0aCIse2Q6Ik0xNyAxM3YtM2g0In1dLFsicGF0aCIse2Q6Ik0xNyAxNy43Yy40LjIuOC4zIDEuMy4zIDEuNSAwIDIuNy0xLjEgMi43LTIuNVMxOS44IDEzIDE4LjMgMTNIMTcifV1dfSk7dmFyIEskLENEZT1mKCgpPT57SyQ9W1sicGF0aCIse2Q6Ik00IDEyaDgifV0sWyJwYXRoIix7ZDoiTTQgMThWNiJ9XSxbInBhdGgiLHtkOiJNMTIgMThWNiJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjE2IixyOiIyIn1dLFsicGF0aCIse2Q6Ik0yMCAxMGMtMiAyLTMgMy41LTMgNiJ9XV19KTt2YXIgWiQsX0RlPWYoKCk9PntaJD1bWyJwYXRoIix7ZDoiTTYgMTJoMTIifV0sWyJwYXRoIix7ZDoiTTYgMjBWNCJ9XSxbInBhdGgiLHtkOiJNMTggMjBWNCJ9XV19KTt2YXIgWCQsVERlPWYoKCk9PntYJD1bWyJwYXRoIix7ZDoiTTIxIDE0aC0xLjM0MyJ9XSxbInBhdGgiLHtkOiJNOS4xMjggMy40N0E5IDkgMCAwIDEgMjEgMTJ2My4zNDMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjAuNDE0IDIwLjQxNEEyIDIgMCAwIDEgMTkgMjFoLTFhMiAyIDAgMCAxLTItMnYtMyJ9XSxbInBhdGgiLHtkOiJNMyAxNGgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtN2E5IDkgMCAwIDEgMi42MzYtNi4zNjQifV1dfSk7dmFyIFEkLExEZT1mKCgpPT57USQ9W1sicGF0aCIse2Q6Ik0zIDExaDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi01Wm0wIDBhOSA5IDAgMSAxIDE4IDBtMCAwdjVhMiAyIDAgMCAxLTIgMmgtMWEyIDIgMCAwIDEtMi0ydi0zYTIgMiAwIDAgMSAyLTJoM1oifV0sWyJwYXRoIix7ZDoiTTIxIDE2djJhNCA0IDAgMCAxLTQgNGgtNSJ9XV19KTt2YXIgSiQsJERlPWYoKCk9PntKJD1bWyJwYXRoIix7ZDoiTTMgMTRoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTdhOSA5IDAgMCAxIDE4IDB2N2EyIDIgMCAwIDEtMiAyaC0xYTIgMiAwIDAgMS0yLTJ2LTNhMiAyIDAgMCAxIDItMmgzIn1dXX0pO3ZhciBlRCxERGU9ZigoKT0+e2VEPVtbInBhdGgiLHtkOiJNMTIuNDA5IDUuODI0Yy0uNzAyLjc5Mi0xLjE1IDEuNDk2LTEuNDE1IDIuMTY2bDIuMTUzIDIuMTU2YS41LjUgMCAwIDEgMCAuNzA3bC0yLjI5MyAyLjI5M2EuNS41IDAgMCAwIDAgLjcwN0wxMiAxNSJ9XSxbInBhdGgiLHtkOiJNMTMuNTA4IDIwLjMxM2EyIDIgMCAwIDEtMyAuMDE5TDUgMTVjLTEuNS0xLjUtMy0zLjItMy01LjVhNS41IDUuNSAwIDAgMSA5LjU5MS0zLjY3Ny42LjYgMCAwIDAgLjgxOC4wMDFBNS41IDUuNSAwIDAgMSAyMiA5LjVjMCAyLjI5LTEuNSA0LTMgNS41eiJ9XV19KTt2YXIgdEQsQURlPWYoKCk9Pnt0RD1bWyJwYXRoIix7ZDoiTTE5LjQxNCAxNC40MTRDMjEgMTIuODI4IDIyIDExLjUgMjIgOS41YTUuNSA1LjUgMCAwIDAtOS41OTEtMy42NzYuNi42IDAgMCAxLS44MTguMDAxQTUuNSA1LjUgMCAwIDAgMiA5LjVjMCAyLjMgMS41IDQgMyA1LjVsNS41MzUgNS4zNjJhMiAyIDAgMCAwIDIuODc5LjA1MiAyLjEyIDIuMTIgMCAwIDAtLjAwNC0zIDIuMTI0IDIuMTI0IDAgMSAwIDMtMyAyLjEyNCAyLjEyNCAwIDAgMCAzLjAwNCAwIDIgMiAwIDAgMCAwLTIuODI4bC0xLjg4MS0xLjg4MmEyLjQxIDIuNDEgMCAwIDAtMy40MDkgMGwtMS43MSAxLjcxYTIgMiAwIDAgMS0yLjgyOCAwIDIgMiAwIDAgMSAwLTIuODI4bDIuODIzLTIuNzYyIn1dXX0pO3ZhciBhRCxFRGU9ZigoKT0+e2FEPVtbInBhdGgiLHtkOiJtMTQuODc2IDE4Ljk5LTEuMzY4IDEuMzIzYTIgMiAwIDAgMS0zIC4wMTlMNSAxNWMtMS41LTEuNS0zLTMuMi0zLTUuNWE1LjUgNS41IDAgMCAxIDkuNTkxLTMuNjc2LjU2LjU2IDAgMCAwIC44MTggMEE1LjQ5IDUuNDkgMCAwIDEgMjIgOS41YTUuMiA1LjIgMCAwIDEtLjI0NCAxLjU3MiJ9XSxbInBhdGgiLHtkOiJNMTUgMTVoNiJ9XV19KTt2YXIgckQsUERlPWYoKCk9PntyRD1bWyJwYXRoIix7ZDoiTTEwLjUgNC44OTNhNS41IDUuNSAwIDAgMSAxLjA5MS45MzEuNTYuNTYgMCAwIDAgLjgxOCAwQTUuNDkgNS40OSAwIDAgMSAyMiA5LjVjMCAxLjg3Mi0xLjAwMiAzLjM1Ni0yLjE4NyA0LjY1NSJ9XSxbInBhdGgiLHtkOiJtMTYuOTY3IDE2Ljk2Ny0zLjQ1OSAzLjM0NmEyIDIgMCAwIDEtMyAuMDE5TDUgMTVjLTEuNS0xLjUtMy0zLjItMy01LjVhNS41IDUuNSAwIDAgMSAyLjc0Ny00Ljc2MSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXX0pO3ZhciBzRCxJRGU9ZigoKT0+e3NEPVtbInBhdGgiLHtkOiJtMTQuNDc5IDE5LjM3NC0uOTcxLjkzOWEyIDIgMCAwIDEtMyAuMDE5TDUgMTVjLTEuNS0xLjUtMy0zLjItMy01LjVhNS41IDUuNSAwIDAgMSA5LjU5MS0zLjY3Ni41Ni41NiAwIDAgMCAuODE4IDBBNS40OSA1LjQ5IDAgMCAxIDIyIDkuNWE1LjIgNS4yIDAgMCAxLS4yMTkgMS40OSJ9XSxbInBhdGgiLHtkOiJNMTUgMTVoNiJ9XSxbInBhdGgiLHtkOiJNMTggMTJ2NiJ9XV19KTt2YXIgaUQsTkRlPWYoKCk9PntpRD1bWyJwYXRoIix7ZDoiTTIgOS41YTUuNSA1LjUgMCAwIDEgOS41OTEtMy42NzYuNTYuNTYgMCAwIDAgLjgxOCAwQTUuNDkgNS40OSAwIDAgMSAyMiA5LjVjMCAyLjI5LTEuNSA0LTMgNS41bC01LjQ5MiA1LjMxM2EyIDIgMCAwIDEtMyAuMDE5TDUgMTVjLTEuNS0xLjUtMy0zLjItMy01LjUifV0sWyJwYXRoIix7ZDoiTTMuMjIgMTNIOS41bC41LTEgMiA0LjUgMi03IDEuNSAzLjVoNS4yNyJ9XV19KTt2YXIgb0QsUkRlPWYoKCk9PntvRD1bWyJwYXRoIix7ZDoibTE1LjUgMTIuNSA1IDUifV0sWyJwYXRoIix7ZDoibTIwLjUgMTIuNS01IDUifV0sWyJwYXRoIix7ZDoiTTIxLjk1NSA4Ljc3NGE1LjUgNS41IDAgMCAwLTkuNTQ2LTIuOTUuNi42IDAgMCAxLS44MTggMEE1LjUgNS41IDAgMCAwIDIgOS41YzAgMi4zIDEuNSA0IDMgNS41bDUuNTA4IDUuMzMyYTIgMiAwIDAgMCAyLjU3LjM1MiJ9XV19KTt2YXIgbkQsT0RlPWYoKCk9PntuRD1bWyJwYXRoIix7ZDoiTTIgOS41YTUuNSA1LjUgMCAwIDEgOS41OTEtMy42NzYuNTYuNTYgMCAwIDAgLjgxOCAwQTUuNDkgNS40OSAwIDAgMSAyMiA5LjVjMCAyLjI5LTEuNSA0LTMgNS41bC01LjQ5MiA1LjMxM2EyIDIgMCAwIDEtMyAuMDE5TDUgMTVjLTEuNS0xLjUtMy0zLjItMy01LjUifV1dfSk7dmFyIGxELEZEZT1mKCgpPT57bEQ9W1sicGF0aCIse2Q6Ik0xMSA4YzItMy0yLTMgMC02In1dLFsicGF0aCIse2Q6Ik0xNS41IDhjMi0zLTItMyAwLTYifV0sWyJwYXRoIix7ZDoiTTYgMTBoLjAxIn1dLFsicGF0aCIse2Q6Ik02IDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgMTZ2LTQifV0sWyJwYXRoIix7ZDoiTTE0IDE2di00In1dLFsicGF0aCIse2Q6Ik0xOCAxNnYtNCJ9XSxbInBhdGgiLHtkOiJNMjAgNmEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgzIn1dLFsicGF0aCIse2Q6Ik01IDIwdjIifV0sWyJwYXRoIix7ZDoiTTE5IDIwdjIifV1dfSk7dmFyIGNELEJEZT1mKCgpPT57Y0Q9W1sicGF0aCIse2Q6Ik0xMSAxN3Y0In1dLFsicGF0aCIse2Q6Ik0xNCAzdjhhMiAyIDAgMCAwIDIgMmg1Ljg2NSJ9XSxbInBhdGgiLHtkOiJNMTcgMTd2NCJ9XSxbInBhdGgiLHtkOiJNMTggMTdhNCA0IDAgMCAwIDQtNCA4IDYgMCAwIDAtOC02IDYgNSAwIDAgMC02IDV2M2EyIDIgMCAwIDAgMiAyeiJ9XSxbInBhdGgiLHtkOiJNMiAxMHY1In1dLFsicGF0aCIse2Q6Ik02IDNoMTYifV0sWyJwYXRoIix7ZDoiTTcgMjFoMTQifV0sWyJwYXRoIix7ZDoiTTggMTNIMiJ9XV19KTt2YXIgZEQsSERlPWYoKCk9PntkRD1bWyJwYXRoIix7ZDoiTTIxIDE2VjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43M2w3IDRhMiAyIDAgMCAwIDIgMGw3LTRBMiAyIDAgMCAwIDIxIDE2eiJ9XV19KTt2YXIgdUQscURlPWYoKCk9Pnt1RD1bWyJwYXRoIix7ZDoibTkgMTEtNiA2djNoOWwzLTMifV0sWyJwYXRoIix7ZDoibTIyIDEyLTQuNiA0LjZhMiAyIDAgMCAxLTIuOCAwbC01LjItNS4yYTIgMiAwIDAgMSAwLTIuOEwxNCA0In1dXX0pO3ZhciBwRCxWRGU9ZigoKT0+e3BEPVtbInBhdGgiLHtkOiJNMyAxMmE5IDkgMCAxIDAgOS05IDkuNzUgOS43NSAwIDAgMC02Ljc0IDIuNzRMMyA4In1dLFsicGF0aCIse2Q6Ik0zIDN2NWg1In1dLFsicGF0aCIse2Q6Ik0xMiA3djVsNCAyIn1dXX0pO3ZhciBmRCxqRGU9ZigoKT0+e2ZEPVtbInBhdGgiLHtkOiJNMTAuODIgMTYuMTJjMS42OS42IDMuOTEuNzkgNS4xOC44NS41NS4wMyAxLS40Mi45Ny0uOTctLjA2LTEuMjctLjI2LTMuNS0uODUtNS4xOCJ9XSxbInBhdGgiLHtkOiJNMTEuNSA2LjVjMS42NCAwIDUtLjM4IDYuNzEtMS4wNy41Mi0uMi41NS0uODIuMTItMS4xN0ExMCAxMCAwIDAgMCA0LjI2IDE4LjMzYy4zNS40My45Ni40IDEuMTctLjEyLjY5LTEuNzEgMS4wNy01LjA3IDEuMDctNi43MSAxLjM0LjQ1IDMuMS45IDQuODguNjJhLjg4Ljg4IDAgMCAwIC43My0uNzRjLjMtMi4xNC0uMTUtMy41LS42MS00Ljg4In1dLFsicGF0aCIse2Q6Ik0xNS42MiAxNi45NWMuMi44NS42MiAyLjc2LjUgNC4yOGEuNzcuNzcgMCAwIDEtLjkuNyAxNi42NCAxNi42NCAwIDAgMS00LjA4LTEuMzYifV0sWyJwYXRoIix7ZDoiTTE2LjEzIDIxLjA1YzEuNjUuNjMgMy42OC44NCA0Ljg3LjkxYS45LjkgMCAwIDAgLjk2LS45NiAxNy42OCAxNy42OCAwIDAgMC0uOS00Ljg3In1dLFsicGF0aCIse2Q6Ik0xNi45NCAxNS42MmMuODYuMiAyLjc3LjYyIDQuMjkuNWEuNzcuNzcgMCAwIDAgLjctLjkgMTYuNjQgMTYuNjQgMCAwIDAtMS4zNi00LjA4In1dLFsicGF0aCIse2Q6Ik0xNy45OSA1LjUyYTIwLjgyIDIwLjgyIDAgMCAxIDMuMTUgNC41LjguOCAwIDAgMS0uNjggMS4xM2MtMi4zMy4yLTUuMy0uMzItOC4yNy0xLjU3In1dLFsicGF0aCIse2Q6Ik00LjkzIDQuOTMgMyAzYS43LjcgMCAwIDEgMC0xIn1dLFsicGF0aCIse2Q6Ik05LjU4IDEyLjE4YzEuMjQgMi45OCAxLjc3IDUuOTUgMS41NyA4LjI4YS44LjggMCAwIDEtMS4xMy42OCAyMC44MiAyMC44MiAwIDAgMS00LjUtMy4xNSJ9XV19KTt2YXIgaEQsVURlPWYoKCk9PntoRD1bWyJwYXRoIix7ZDoiTTEwLjgyIDE2LjEyYzEuNjkuNiAzLjkxLjc5IDUuMTguODUuMjguMDEuNTMtLjA5LjctLjI3In1dLFsicGF0aCIse2Q6Ik0xMS4xNCAyMC41N2MuNTIuMjQgMi40NCAxLjEyIDQuMDggMS4zNy40Ni4wNi44Ni0uMjUuOS0uNzEuMTItMS41Mi0uMy0zLjQzLS41LTQuMjgifV0sWyJwYXRoIix7ZDoiTTE2LjEzIDIxLjA1YzEuNjUuNjMgMy42OC44NCA0Ljg3LjkxYS45LjkgMCAwIDAgLjctLjI2In1dLFsicGF0aCIse2Q6Ik0xNy45OSA1LjUyYTIwLjgzIDIwLjgzIDAgMCAxIDMuMTUgNC41LjguOCAwIDAgMS0uNjggMS4xM2MtMS4xNy4xLTIuNS4wMi0zLjktLjI1In1dLFsicGF0aCIse2Q6Ik0yMC41NyAxMS4xNGMuMjQuNTIgMS4xMiAyLjQ0IDEuMzcgNC4wOC4wNC4zLS4wOC41OS0uMzEuNzUifV0sWyJwYXRoIix7ZDoiTTQuOTMgNC45M2ExMCAxMCAwIDAgMC0uNjcgMTMuNGMuMzUuNDMuOTYuNCAxLjE3LS4xMi42OS0xLjcxIDEuMDctNS4wNyAxLjA3LTYuNzEgMS4zNC40NSAzLjEuOSA0Ljg4LjYyYS44NS44NSAwIDAgMCAuNDgtLjI0In1dLFsicGF0aCIse2Q6Ik01LjUyIDE3Ljk5YzEuMDUuOTUgMi45MSAyLjQyIDQuNSAzLjE1YS44LjggMCAwIDAgMS4xMy0uNjhjLjItMi4zNC0uMzMtNS4zLTEuNTctOC4yOCJ9XSxbInBhdGgiLHtkOiJNOC4zNSAyLjY4YTEwIDEwIDAgMCAxIDkuOTggMS41OGMuNDMuMzUuNC45Ni0uMTIgMS4xNy0xLjUuNi00LjMuOTgtNi4wNyAxLjA1In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIG1ELFdEZT1mKCgpPT57bUQ9W1sicGF0aCIse2Q6Ik0xMiA3djQifV0sWyJwYXRoIix7ZDoiTTE0IDIxdi0zYTIgMiAwIDAgMC00IDB2MyJ9XSxbInBhdGgiLHtkOiJNMTQgOWgtNCJ9XSxbInBhdGgiLHtkOiJNMTggMTFoMmEyIDIgMCAwIDEgMiAydjZhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJ2LTlhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik0xOCAyMVY1YTIgMiAwIDAgMC0yLTJIOGEyIDIgMCAwIDAtMiAydjE2In1dXX0pO3ZhciBnRCxHRGU9ZigoKT0+e2dEPVtbInBhdGgiLHtkOiJNMTAgMjJ2LTYuNTcifV0sWyJwYXRoIix7ZDoiTTEyIDExaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgN2guMDEifV0sWyJwYXRoIix7ZDoiTTE0IDE1LjQzVjIyIn1dLFsicGF0aCIse2Q6Ik0xNSAxNmE1IDUgMCAwIDAtNiAwIn1dLFsicGF0aCIse2Q6Ik0xNiAxMWguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDdoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDExaC4wMSJ9XSxbInBhdGgiLHtkOiJNOCA3aC4wMSJ9XSxbInJlY3QiLHt4OiI0Iix5OiIyIix3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHJ4OiIyIn1dXX0pO3ZhciBiRCxZRGU9ZigoKT0+e2JEPVtbInBhdGgiLHtkOiJNNSAyMmgxNCJ9XSxbInBhdGgiLHtkOiJNNSAyaDE0In1dLFsicGF0aCIse2Q6Ik0xNyAyMnYtNC4xNzJhMiAyIDAgMCAwLS41ODYtMS40MTRMMTIgMTJsLTQuNDE0IDQuNDE0QTIgMiAwIDAgMCA3IDE3LjgyOFYyMiJ9XSxbInBhdGgiLHtkOiJNNyAydjQuMTcyYTIgMiAwIDAgMCAuNTg2IDEuNDE0TDEyIDEybDQuNDE0LTQuNDE0QTIgMiAwIDAgMCAxNyA2LjE3MlYyIn1dXX0pO3ZhciB2RCxLRGU9ZigoKT0+e3ZEPVtbInBhdGgiLHtkOiJNOC42MiAxMy44QTIuMjUgMi4yNSAwIDEgMSAxMiAxMC44MzZhMi4yNSAyLjI1IDAgMSAxIDMuMzggMi45NjZsLTIuNjI2IDIuODU2YS45OTguOTk4IDAgMCAxLTEuNTA3IDB6In1dLFsicGF0aCIse2Q6Ik0zIDEwYTIgMiAwIDAgMSAuNzA5LTEuNTI4bDctNmEyIDIgMCAwIDEgMi41ODIgMGw3IDZBMiAyIDAgMCAxIDIxIDEwdjlhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ6In1dXX0pO3ZhciB4RCxaRGU9ZigoKT0+e3hEPVtbInBhdGgiLHtkOiJNMTAgMTJWOC45NjQifV0sWyJwYXRoIix7ZDoiTTE0IDEyVjguOTY0In1dLFsicGF0aCIse2Q6Ik0xNSAxMmExIDEgMCAwIDEgMSAxdjJhMiAyIDAgMCAxLTIgMmgtNGEyIDIgMCAwIDEtMi0ydi0yYTEgMSAwIDAgMSAxLTF6In1dLFsicGF0aCIse2Q6Ik04LjUgMjFINWEyIDIgMCAwIDEtMi0ydi05YTIgMiAwIDAgMSAuNzA5LTEuNTI4bDctNmEyIDIgMCAwIDEgMi41ODIgMGw3IDZBMiAyIDAgMCAxIDIxIDEwdjlhMiAyIDAgMCAxLTIgMmgtNWEyIDIgMCAwIDEtMi0ydi0yIn1dXX0pO3ZhciB5RCxYRGU9ZigoKT0+e3lEPVtbInBhdGgiLHtkOiJNOS41IDEzLjg2NmE0IDQgMCAwIDEgNSAuMDEifV0sWyJwYXRoIix7ZDoiTTEyIDE3aC4wMSJ9XSxbInBhdGgiLHtkOiJNMyAxMGEyIDIgMCAwIDEgLjcwOS0xLjUyOGw3LTZhMiAyIDAgMCAxIDIuNTgyIDBsNyA2QTIgMiAwIDAgMSAyMSAxMHY5YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yeiJ9XSxbInBhdGgiLHtkOiJNNyAxMC43NTRhOCA4IDAgMCAxIDEwIDAifV1dfSk7dmFyIHdELFFEZT1mKCgpPT57d0Q9W1sicGF0aCIse2Q6Ik0xMi4zNSAyMUg1YTIgMiAwIDAgMS0yLTJ2LTlhMiAyIDAgMCAxIC43MS0xLjUzbDctNmEyIDIgMCAwIDEgMi41OCAwbDcgNkEyIDIgMCAwIDEgMjEgMTB2Mi4zNSJ9XSxbInBhdGgiLHtkOiJNMTQuOCAxMi40QTEgMSAwIDAgMCAxNCAxMmgtNGExIDEgMCAwIDAtMSAxdjgifV0sWyJwYXRoIix7ZDoiTTE1IDE4aDYifV0sWyJwYXRoIix7ZDoiTTE4IDE1djYifV1dfSk7dmFyIHh1LEpEZT1mKCgpPT57eHU9W1sicGF0aCIse2Q6Ik0xNSAyMXYtOGExIDEgMCAwIDAtMS0xaC00YTEgMSAwIDAgMC0xIDF2OCJ9XSxbInBhdGgiLHtkOiJNMyAxMGEyIDIgMCAwIDEgLjcwOS0xLjUyOGw3LTZhMiAyIDAgMCAxIDIuNTgyIDBsNyA2QTIgMiAwIDAgMSAyMSAxMHY5YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yeiJ9XV19KTt2YXIgeXUsZUFlPWYoKCk9Pnt5dT1bWyJwYXRoIix7ZDoiTTEyIDE3YzUgMCA4LTIuNjkgOC02SDRjMCAzLjMxIDMgNiA4IDZtLTQgNGg4bS00LTN2M001LjE0IDExYTMuNSAzLjUgMCAxIDEgNi43MSAwIn1dLFsicGF0aCIse2Q6Ik0xMi4xNCAxMWEzLjUgMy41IDAgMSAxIDYuNzEgMCJ9XSxbInBhdGgiLHtkOiJNMTUuNSA2LjVhMy41IDMuNSAwIDEgMC03IDAifV1dfSk7dmFyIHd1LHRBZT1mKCgpPT57d3U9W1sicGF0aCIse2Q6Im03IDExIDQuMDggMTAuMzVhMSAxIDAgMCAwIDEuODQgMEwxNyAxMSJ9XSxbInBhdGgiLHtkOiJNMTcgN0E1IDUgMCAwIDAgNyA3In1dLFsicGF0aCIse2Q6Ik0xNyA3YTIgMiAwIDAgMSAwIDRIN2EyIDIgMCAwIDEgMC00In1dXX0pO3ZhciBNRCxhQWU9ZigoKT0+e01EPVtbInBhdGgiLHtkOiJNMTMuNSA4aC0zIn1dLFsicGF0aCIse2Q6Im0xNSAyLTEgMmgzYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg3YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDMifV0sWyJwYXRoIix7ZDoiTTE2Ljg5OSAyMkE1IDUgMCAwIDAgNy4xIDIyIn1dLFsicGF0aCIse2Q6Im05IDIgMyA2In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTUiLHI6IjMifV1dfSk7dmFyIGtELHJBZT1mKCgpPT57a0Q9W1sicGF0aCIse2Q6Ik0xNiAxMGgyIn1dLFsicGF0aCIse2Q6Ik0xNiAxNGgyIn1dLFsicGF0aCIse2Q6Ik02LjE3IDE1YTMgMyAwIDAgMSA1LjY2IDAifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjExIixyOiIyIn1dLFsicmVjdCIse3g6IjIiLHk6IjUiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxNCIscng6IjIifV1dfSk7dmFyIFNELHNBZT1mKCgpPT57U0Q9W1sicGF0aCIse2Q6Ik0xMC4zIDIxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnYxMGwtMy4xLTMuMWEyIDIgMCAwIDAtMi44MTQuMDE0TDYgMjEifV0sWyJwYXRoIix7ZDoibTE0IDE5IDMgM3YtNS41In1dLFsicGF0aCIse2Q6Im0xNyAyMiAzLTMifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjkiLHI6IjIifV1dfSk7dmFyIHpELGlBZT1mKCgpPT57ekQ9W1sicGF0aCIse2Q6Ik0yMSA5djEwYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg3In1dLFsibGluZSIse3gxOiIxNiIseDI6IjIyIix5MToiNSIseTI6IjUifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjkiLHI6IjIifV0sWyJwYXRoIix7ZDoibTIxIDE1LTMuMDg2LTMuMDg2YTIgMiAwIDAgMC0yLjgyOCAwTDYgMjEifV1dfSk7dmFyIENELG9BZT1mKCgpPT57Q0Q9W1sibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIyIix5MjoiMjIifV0sWyJwYXRoIix7ZDoiTTEwLjQxIDEwLjQxYTIgMiAwIDEgMS0yLjgzLTIuODMifV0sWyJsaW5lIix7eDE6IjEzLjUiLHgyOiI2Iix5MToiMTMuNSIseTI6IjIxIn1dLFsibGluZSIse3gxOiIxOCIseDI6IjIxIix5MToiMTIiLHkyOiIxNSJ9XSxbInBhdGgiLHtkOiJNMy41OSAzLjU5QTEuOTkgMS45OSAwIDAgMCAzIDV2MTRhMiAyIDAgMCAwIDIgMmgxNGMuNTUgMCAxLjA1Mi0uMjIgMS40MS0uNTkifV0sWyJwYXRoIix7ZDoiTTIxIDE1VjVhMiAyIDAgMCAwLTItMkg5In1dXX0pO3ZhciBfRCxuQWU9ZigoKT0+e19EPVtbInBhdGgiLHtkOiJNMTUgMTUuMDAzYTEgMSAwIDAgMSAxLjUxNy0uODU5bDQuOTk3IDIuOTk3YTEgMSAwIDAgMSAwIDEuNzE4bC00Ljk5NyAyLjk5N2ExIDEgMCAwIDEtMS41MTctLjg2eiJ9XSxbInBhdGgiLHtkOiJNMjEgMTIuMTdWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDYifV0sWyJwYXRoIix7ZDoibTYgMjEgNS01In1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI5IixyOiIyIn1dXX0pO3ZhciBURCxsQWU9ZigoKT0+e1REPVtbInBhdGgiLHtkOiJNMTYgNWg2In1dLFsicGF0aCIse2Q6Ik0xOSAydjYifV0sWyJwYXRoIix7ZDoiTTIxIDExLjVWMTlhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDcuNSJ9XSxbInBhdGgiLHtkOiJtMjEgMTUtMy4wODYtMy4wODZhMiAyIDAgMCAwLTIuODI4IDBMNiAyMSJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiOSIscjoiMiJ9XV19KTt2YXIgTEQsY0FlPWYoKCk9PntMRD1bWyJwYXRoIix7ZDoiTTEwLjMgMjFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjEwbC0zLjEtMy4xYTIgMiAwIDAgMC0yLjgxNC4wMTRMNiAyMSJ9XSxbInBhdGgiLHtkOiJtMTQgMTkuNSAzLTMgMyAzIn1dLFsicGF0aCIse2Q6Ik0xNyAyMnYtNS41In1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI5IixyOiIyIn1dXX0pO3ZhciAkRCxkQWU9ZigoKT0+eyREPVtbInBhdGgiLHtkOiJNMTYgM2g1djUifV0sWyJwYXRoIix7ZDoiTTE3IDIxaDJhMiAyIDAgMCAwIDItMiJ9XSxbInBhdGgiLHtkOiJNMjEgMTJ2MyJ9XSxbInBhdGgiLHtkOiJtMjEgMy01IDUifV0sWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTIifV0sWyJwYXRoIix7ZDoibTUgMjEgNC4xNDQtNC4xNDRhMS4yMSAxLjIxIDAgMCAxIDEuNzEyIDBMMTMgMTkifV0sWyJwYXRoIix7ZDoiTTkgM2gzIn1dLFsicmVjdCIse3g6IjMiLHk6IjExIix3aWR0aDoiMTAiLGhlaWdodDoiMTAiLHJ4OiIxIn1dXX0pO3ZhciBERCx1QWU9ZigoKT0+e0REPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiOSIscjoiMiJ9XSxbInBhdGgiLHtkOiJtMjEgMTUtMy4wODYtMy4wODZhMiAyIDAgMCAwLTIuODI4IDBMNiAyMSJ9XV19KTt2YXIgQUQscEFlPWYoKCk9PntBRD1bWyJwYXRoIix7ZDoibTIyIDExLTEuMjk2LTEuMjk2YTIuNCAyLjQgMCAwIDAtMy40MDggMEwxMSAxNiJ9XSxbInBhdGgiLHtkOiJNNCA4YTIgMiAwIDAgMC0yIDJ2MTBhMiAyIDAgMCAwIDIgMmgxMGEyIDIgMCAwIDAgMi0yIn1dLFsiY2lyY2xlIix7Y3g6IjEzIixjeToiNyIscjoiMSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsicmVjdCIse3g6IjgiLHk6IjIiLHdpZHRoOiIxNCIsaGVpZ2h0OiIxNCIscng6IjIifV1dfSk7dmFyIEVELGZBZT1mKCgpPT57RUQ9W1sicGF0aCIse2Q6Ik0xMiAzdjEyIn1dLFsicGF0aCIse2Q6Im04IDExIDQgNCA0LTQifV0sWyJwYXRoIix7ZDoiTTggNUg0YTIgMiAwIDAgMC0yIDJ2MTBhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0yVjdhMiAyIDAgMCAwLTItMmgtNCJ9XV19KTt2YXIgUEQsaEFlPWYoKCk9PntQRD1bWyJwb2x5bGluZSIse3BvaW50czoiMjIgMTIgMTYgMTIgMTQgMTUgMTAgMTUgOCAxMiAyIDEyIn1dLFsicGF0aCIse2Q6Ik01LjQ1IDUuMTEgMiAxMnY2YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNmwtMy40NS02Ljg5QTIgMiAwIDAgMCAxNi43NiA0SDcuMjRhMiAyIDAgMCAwLTEuNzkgMS4xMXoifV1dfSk7dmFyIElELG1BZT1mKCgpPT57SUQ9W1sicGF0aCIse2Q6Ik02IDNoMTIifV0sWyJwYXRoIix7ZDoiTTYgOGgxMiJ9XSxbInBhdGgiLHtkOiJtNiAxMyA4LjUgOCJ9XSxbInBhdGgiLHtkOiJNNiAxM2gzIn1dLFsicGF0aCIse2Q6Ik05IDEzYzYuNjY3IDAgNi42NjctMTAgMC0xMCJ9XV19KTt2YXIgTkQsZ0FlPWYoKCk9PntORD1bWyJwYXRoIix7ZDoiTTYgMTZjNSAwIDctOCAxMi04YTQgNCAwIDAgMSAwIDhjLTUgMC03LTgtMTItOGE0IDQgMCAxIDAgMCA4In1dXX0pO3ZhciBSRCxiQWU9ZigoKT0+e1JEPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgMTZ2LTQifV0sWyJwYXRoIix7ZDoiTTEyIDhoLjAxIn1dXX0pO3ZhciBPRCx2QWU9ZigoKT0+e09EPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03IDdoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNyA3aC4wMSJ9XSxbInBhdGgiLHtkOiJNNyAxN2guMDEifV0sWyJwYXRoIix7ZDoiTTE3IDE3aC4wMSJ9XV19KTt2YXIgRkQseEFlPWYoKCk9PntGRD1bWyJsaW5lIix7eDE6IjE5Iix4MjoiMTAiLHkxOiI0Iix5MjoiNCJ9XSxbImxpbmUiLHt4MToiMTQiLHgyOiI1Iix5MToiMjAiLHkyOiIyMCJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiI5Iix5MToiNCIseTI6IjIwIn1dXX0pO3ZhciBCRCx5QWU9ZigoKT0+e0JEPVtbInBhdGgiLHtkOiJtMTYgMTQgNCA0LTQgNCJ9XSxbInBhdGgiLHtkOiJNMjAgMTBhOCA4IDAgMSAwLTggOGg4In1dXX0pO3ZhciBIRCx3QWU9ZigoKT0+e0hEPVtbInBhdGgiLHtkOiJNNCAxMGE4IDggMCAxIDEgOCA4SDQifV0sWyJwYXRoIix7ZDoibTggMjItNC00IDQtNCJ9XV19KTt2YXIgcUQsTUFlPWYoKCk9PntxRD1bWyJwYXRoIix7ZDoiTTEyIDkuNVYyMW0wLTExLjVMNiAzbTYgNi41TDE4IDMifV0sWyJwYXRoIix7ZDoiTTYgMTVoMTIifV0sWyJwYXRoIix7ZDoiTTYgMTFoMTIifV1dfSk7dmFyIFZELGtBZT1mKCgpPT57VkQ9W1sicGF0aCIse2Q6Ik0yMSAxN2EyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYyYTIgMiAwIDAgMCAyIDJoMTRhMiAyIDAgMCAwIDItMnYtMloifV0sWyJwYXRoIix7ZDoiTTYgMTV2LTIifV0sWyJwYXRoIix7ZDoiTTEyIDE1VjkifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI2IixyOiIzIn1dXX0pO3ZhciBqRCxTQWU9ZigoKT0+e2pEPVtbInBhdGgiLHtkOiJNNSAzdjE0In1dLFsicGF0aCIse2Q6Ik0xMiAzdjgifV0sWyJwYXRoIix7ZDoiTTE5IDN2MTgifV1dfSk7dmFyIFVELHpBZT1mKCgpPT57VUQ9W1sicGF0aCIse2Q6Ik0xOCAxN2ExIDEgMCAwIDAtMSAxdjFhMiAyIDAgMSAwIDItMnoifV0sWyJwYXRoIix7ZDoiTTIwLjk3IDMuNjFhLjQ1LjQ1IDAgMCAwLS41OC0uNThDMTAuMiA2LjYgNi42IDEwLjIgMy4wMyAyMC4zOWEuNDUuNDUgMCAwIDAgLjU4LjU4QzEzLjggMTcuNCAxNy40IDEzLjggMjAuOTcgMy42MSJ9XSxbInBhdGgiLHtkOiJtNi43MDcgNi43MDcgMTAuNTg2IDEwLjU4NiJ9XSxbInBhdGgiLHtkOiJNNyA1YTIgMiAwIDEgMC0yIDJoMWExIDEgMCAwIDAgMS0xeiJ9XV19KTt2YXIgV0QsQ0FlPWYoKCk9PntXRD1bWyJwYXRoIix7ZDoiTTEyLjQgMi43YTIuNSAyLjUgMCAwIDEgMy40IDBsNS41IDUuNWEyLjUgMi41IDAgMCAxIDAgMy40bC0zLjcgMy43YTIuNSAyLjUgMCAwIDEtMy40IDBMOC43IDkuOGEyLjUgMi41IDAgMCAxIDAtMy40eiJ9XSxbInBhdGgiLHtkOiJtMTQgNyAzIDMifV0sWyJwYXRoIix7ZDoibTkuNCAxMC42LTYuODE0IDYuODE0QTIgMiAwIDAgMCAyIDE4LjgyOFYyMWExIDEgMCAwIDAgMSAxaDNhMSAxIDAgMCAwIDEtMXYtMWExIDEgMCAwIDEgMS0xaDFhMSAxIDAgMCAwIDEtMXYtMWExIDEgMCAwIDEgMS0xaC4xNzJhMiAyIDAgMCAwIDEuNDE0LS41ODZsLjgxNC0uODE0In1dXX0pO3ZhciBHRCxfQWU9ZigoKT0+e0dEPVtbInBhdGgiLHtkOiJNMi41ODYgMTcuNDE0QTIgMiAwIDAgMCAyIDE4LjgyOFYyMWExIDEgMCAwIDAgMSAxaDNhMSAxIDAgMCAwIDEtMXYtMWExIDEgMCAwIDEgMS0xaDFhMSAxIDAgMCAwIDEtMXYtMWExIDEgMCAwIDEgMS0xaC4xNzJhMiAyIDAgMCAwIDEuNDE0LS41ODZsLjgxNC0uODE0YTYuNSA2LjUgMCAxIDAtNC00eiJ9XSxbImNpcmNsZSIse2N4OiIxNi41IixjeToiNy41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dXX0pO3ZhciBZRCxUQWU9ZigoKT0+e1lEPVtbInBhdGgiLHtkOiJtMTUuNSA3LjUgMi4zIDIuM2ExIDEgMCAwIDAgMS40IDBsMi4xLTIuMWExIDEgMCAwIDAgMC0xLjRMMTkgNCJ9XSxbInBhdGgiLHtkOiJtMjEgMi05LjYgOS42In1dLFsiY2lyY2xlIix7Y3g6IjcuNSIsY3k6IjE1LjUiLHI6IjUuNSJ9XV19KTt2YXIgS0QsTEFlPWYoKCk9PntLRD1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE2Iix4OiIyIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNiA4aDQifV0sWyJwYXRoIix7ZDoiTTE0IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik0xOCA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMiAxMmgyMCJ9XSxbInBhdGgiLHtkOiJNNiAxMnY0In1dLFsicGF0aCIse2Q6Ik0xMCAxMnY0In1dLFsicGF0aCIse2Q6Ik0xNCAxMnY0In1dLFsicGF0aCIse2Q6Ik0xOCAxMnY0In1dXX0pO3ZhciBaRCwkQWU9ZigoKT0+e1pEPVtbInBhdGgiLHtkOiJNIDIwIDQgQTIgMiAwIDAgMSAyMiA2In1dLFsicGF0aCIse2Q6Ik0gMjIgNiBMIDIyIDE2LjQxIn1dLFsicGF0aCIse2Q6Ik0gNyAxNiBMIDE2IDE2In1dLFsicGF0aCIse2Q6Ik0gOS42OSA0IEwgMjAgNCJ9XSxbInBhdGgiLHtkOiJNMTQgOGguMDEifV0sWyJwYXRoIix7ZDoiTTE4IDhoLjAxIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTIwIDIwSDRhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTIifV0sWyJwYXRoIix7ZDoiTTYgOGguMDEifV0sWyJwYXRoIix7ZDoiTTggMTJoLjAxIn1dXX0pO3ZhciBYRCxEQWU9ZigoKT0+e1hEPVtbInBhdGgiLHtkOiJNMTAgOGguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTQgOGguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggOGguMDEifV0sWyJwYXRoIix7ZDoiTTYgOGguMDEifV0sWyJwYXRoIix7ZDoiTTcgMTZoMTAifV0sWyJwYXRoIix7ZDoiTTggMTJoLjAxIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNiIseDoiMiIseToiNCIscng6IjIifV1dfSk7dmFyIFFELEFBZT1mKCgpPT57UUQ9W1sicGF0aCIse2Q6Ik0xMiAydjUifV0sWyJwYXRoIix7ZDoiTTE0LjgyOSAxNS45OThhMyAzIDAgMSAxLTUuNjU4IDAifV0sWyJwYXRoIix7ZDoiTTIwLjkyIDE0LjYwNkExIDEgMCAwIDEgMjAgMTZINGExIDEgMCAwIDEtLjkyLTEuMzk0bDMtN0ExIDEgMCAwIDEgNyA3aDEwYTEgMSAwIDAgMSAuOTIuNjA2eiJ9XV19KTt2YXIgSkQsRUFlPWYoKCk9PntKRD1bWyJwYXRoIix7ZDoiTTEwLjI5MyAyLjI5M2ExIDEgMCAwIDEgMS40MTQgMGwyLjUgMi41IDUuOTk0IDEuMjI3YTEgMSAwIDAgMSAuNTA2IDEuNjg3bC03IDdhMSAxIDAgMCAxLTEuNjg3LS41MDZsLTEuMjI3LTUuOTk0LTIuNS0yLjVhMSAxIDAgMCAxIDAtMS40MTR6In1dLFsicGF0aCIse2Q6Im0xNC4yMDcgNC43OTMtMy40MTQgMy40MTQifV0sWyJwYXRoIix7ZDoiTTMgMjBhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDRhMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoibTkuMDg2IDYuNS00Ljc5MyA0Ljc5M2ExIDEgMCAwIDAtLjE4IDEuMTdMNyAxOCJ9XV19KTt2YXIgZUEsUEFlPWYoKCk9PntlQT1bWyJwYXRoIix7ZDoiTTEyIDEwdjEyIn1dLFsicGF0aCIse2Q6Ik0xNy45MjkgNy42MjlBMSAxIDAgMCAxIDE3IDlIN2ExIDEgMCAwIDEtLjkyOC0xLjM3MWwyLTVBMSAxIDAgMCAxIDkgMmg2YTEgMSAwIDAgMSAuOTI4LjYyOXoifV0sWyJwYXRoIix7ZDoiTTkgMjJoNiJ9XV19KTt2YXIgdEEsSUFlPWYoKCk9Pnt0QT1bWyJwYXRoIix7ZDoiTTE5LjkyOSAxOC42MjlBMSAxIDAgMCAxIDE5IDIwSDlhMSAxIDAgMCAxLS45MjgtMS4zNzFsMi01QTEgMSAwIDAgMSAxMSAxM2g2YTEgMSAwIDAgMSAuOTI4LjYyOXoifV0sWyJwYXRoIix7ZDoiTTYgM2EyIDIgMCAwIDEgMiAydjJhMiAyIDAgMCAxLTIgMkg1YTEgMSAwIDAgMS0xLTFWNGExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNOCA2aDRhMiAyIDAgMCAxIDIgMnY1In1dXX0pO3ZhciBhQSxOQWU9ZigoKT0+e2FBPVtbInBhdGgiLHtkOiJNMTkuOTI5IDkuNjI5QTEgMSAwIDAgMSAxOSAxMUg5YTEgMSAwIDAgMS0uOTI4LTEuMzcxbDItNUExIDEgMCAwIDEgMTEgNGg2YTEgMSAwIDAgMSAuOTI4LjYyOXoifV0sWyJwYXRoIix7ZDoiTTYgMTVhMiAyIDAgMCAxIDIgMnYyYTIgMiAwIDAgMS0yIDJINWExIDEgMCAwIDEtMS0xdi00YTEgMSAwIDAgMSAxLTF6In1dLFsicGF0aCIse2Q6Ik04IDE4aDRhMiAyIDAgMCAwIDItMnYtNSJ9XV19KTt2YXIgckEsUkFlPWYoKCk9PntyQT1bWyJwYXRoIix7ZDoiTTEyIDEydjYifV0sWyJwYXRoIix7ZDoiTTQuMDc3IDEwLjYxNUExIDEgMCAwIDAgNSAxMmgxNGExIDEgMCAwIDAgLjkyMy0xLjM4NWwtMy4wNzctNy4zODRBMiAyIDAgMCAwIDE1IDJIOWEyIDIgMCAwIDAtMS44NDYgMS4yM1oifV0sWyJwYXRoIix7ZDoiTTggMjBhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDlhMSAxIDAgMCAxLTEtMXoifV1dfSk7dmFyIHNBLE9BZT1mKCgpPT57c0E9W1sicGF0aCIse2Q6Im0xMiA4IDYtMy02LTN2MTAifV0sWyJwYXRoIix7ZDoibTggMTEuOTktNS41IDMuMTRhMSAxIDAgMCAwIDAgMS43NGw4LjUgNC44NmEyIDIgMCAwIDAgMiAwbDguNS00Ljg2YTEgMSAwIDAgMCAwLTEuNzRMMTYgMTIifV0sWyJwYXRoIix7ZDoibTYuNDkgMTIuODUgMTEuMDIgNi4zIn1dLFsicGF0aCIse2Q6Ik0xNy41MSAxMi44NSA2LjUgMTkuMTUifV1dfSk7dmFyIGlBLEZBZT1mKCgpPT57aUE9W1sicGF0aCIse2Q6Ik0xMCAxOHYtNyJ9XSxbInBhdGgiLHtkOiJNMTEuMTIgMi4xOThhMiAyIDAgMCAxIDEuNzYuMDA2bDcuODY2IDMuODQ3Yy40NzYuMjMzLjMxLjk0OS0uMjIuOTQ5SDMuNDc0Yy0uNTMgMC0uNjk1LS43MTYtLjIyLS45NDl6In1dLFsicGF0aCIse2Q6Ik0xNCAxOHYtNyJ9XSxbInBhdGgiLHtkOiJNMTggMTh2LTcifV0sWyJwYXRoIix7ZDoiTTMgMjJoMTgifV0sWyJwYXRoIix7ZDoiTTYgMTh2LTcifV1dfSk7dmFyIG9BLEJBZT1mKCgpPT57b0E9W1sicGF0aCIse2Q6Im01IDggNiA2In1dLFsicGF0aCIse2Q6Im00IDE0IDYtNiAyLTMifV0sWyJwYXRoIix7ZDoiTTIgNWgxMiJ9XSxbInBhdGgiLHtkOiJNNyAyaDEifV0sWyJwYXRoIix7ZDoibTIyIDIyLTUtMTAtNSAxMCJ9XSxbInBhdGgiLHtkOiJNMTQgMThoNiJ9XV19KTt2YXIgbkEsSEFlPWYoKCk9PntuQT1bWyJwYXRoIix7ZDoiTTIgMjBoMjAifV0sWyJwYXRoIix7ZDoibTkgMTAgMiAyIDQtNCJ9XSxbInJlY3QiLHt4OiIzIix5OiI0Iix3aWR0aDoiMTgiLGhlaWdodDoiMTIiLHJ4OiIyIn1dXX0pO3ZhciBNdSxxQWU9ZigoKT0+e011PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTIiLHg6IjMiLHk6IjQiLHJ4OiIyIixyeToiMiJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMjAiLHkyOiIyMCJ9XV19KTt2YXIgbEEsVkFlPWYoKCk9PntsQT1bWyJwYXRoIix7ZDoiTTE4IDVhMiAyIDAgMCAxIDIgMnY4LjUyNmEyIDIgMCAwIDAgLjIxMi44OTdsMS4wNjggMi4xMjdhMSAxIDAgMCAxLS45IDEuNDVIMy42MmExIDEgMCAwIDEtLjktMS40NWwxLjA2OC0yLjEyN0EyIDIgMCAwIDAgNCAxNS41MjZWN2EyIDIgMCAwIDEgMi0yeiJ9XSxbInBhdGgiLHtkOiJNMjAuMDU0IDE1Ljk4N0gzLjk0NiJ9XV19KTt2YXIgY0EsakFlPWYoKCk9PntjQT1bWyJwYXRoIix7ZDoiTTcgMjJhNSA1IDAgMCAxLTItNCJ9XSxbInBhdGgiLHtkOiJNNyAxNi45M2MuOTYuNDMgMS45Ni43NCAyLjk5LjkxIn1dLFsicGF0aCIse2Q6Ik0zLjM0IDE0QTYuOCA2LjggMCAwIDEgMiAxMGMwLTQuNDIgNC40OC04IDEwLThzMTAgMy41OCAxMCA4YTcuMTkgNy4xOSAwIDAgMS0uMzMgMiJ9XSxbInBhdGgiLHtkOiJNNSAxOGEyIDIgMCAxIDAgMC00IDIgMiAwIDAgMCAwIDR6In1dLFsicGF0aCIse2Q6Ik0xNC4zMyAyMmgtLjA5YS4zNS4zNSAwIDAgMS0uMjQtLjMydi0xMGEuMzQuMzQgMCAwIDEgLjMzLS4zNGMuMDggMCAuMTUuMDMuMjEuMDhsNy4zNCA2YS4zMy4zMyAwIDAgMS0uMjEuNTloLTQuNDlsLTIuNTcgMy44NWEuMzUuMzUgMCAwIDEtLjI4LjE0eiJ9XV19KTt2YXIgZEEsVUFlPWYoKCk9PntkQT1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTE4IDEzYTYgNiAwIDAgMS02IDUgNiA2IDAgMCAxLTYtNWgxMloifV0sWyJsaW5lIix7eDE6IjkiLHgyOiI5LjAxIix5MToiOSIseTI6IjkifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiMTUuMDEiLHkxOiI5Iix5MjoiOSJ9XV19KTt2YXIgdUEsV0FlPWYoKCk9Pnt1QT1bWyJwYXRoIix7ZDoiTTMuNzA0IDE0LjQ2N2ExMCA4IDAgMSAxIDMuMTE1IDIuMzc1In1dLFsicGF0aCIse2Q6Ik03IDIyYTUgNSAwIDAgMS0yLTMuOTk0In1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxNiIscjoiMiJ9XV19KTt2YXIgcEEsR0FlPWYoKCk9PntwQT1bWyJwYXRoIix7ZDoiTTEzIDEzLjc0YTIgMiAwIDAgMS0yIDBMMi41IDguODdhMSAxIDAgMCAxIDAtMS43NEwxMSAyLjI2YTIgMiAwIDAgMSAyIDBsOC41IDQuODdhMSAxIDAgMCAxIDAgMS43NHoifV0sWyJwYXRoIix7ZDoibTIwIDE0LjI4NSAxLjUuODQ1YTEgMSAwIDAgMSAwIDEuNzRMMTMgMjEuNzRhMiAyIDAgMCAxLTIgMGwtOC41LTQuODdhMSAxIDAgMCAxIDAtMS43NGwxLjUtLjg0NSJ9XV19KTt2YXIgZkEsWUFlPWYoKCk9PntmQT1bWyJwYXRoIix7ZDoiTTEyLjgzIDIuMThhMiAyIDAgMCAwLTEuNjYgMEwyLjYgNi4wOGExIDEgMCAwIDAgMCAxLjgzbDguNTggMy45MWEyIDIgMCAwIDAgLjgzLjE4IDIgMiAwIDAgMCAuODMtLjE4bDguNTgtMy45YTEgMSAwIDAgMCAwLTEuODMyeiJ9XSxbInBhdGgiLHtkOiJNMTYgMTdoNiJ9XSxbInBhdGgiLHtkOiJNMi4wMDMgMTEuOTk1YTEgMSAwIDAgMCAuNTk3LjkxNWw4LjU4IDMuOTFhMiAyIDAgMCAwIC44My4xOCJ9XSxbInBhdGgiLHtkOiJNMi4wMDMgMTYuOTk1YTEgMSAwIDAgMCAuNTk3LjkxNWw4LjU4IDMuOTFhMiAyIDAgMCAwIC44My4xOCAyIDIgMCAwIDAgLjgzLS4xOGwyLjExLS45NiJ9XSxbInBhdGgiLHtkOiJNMjIuMDE4IDEyLjAwNGExIDEgMCAwIDEtLjU5OC45MTZsLS4xNzcuMDgifV1dfSk7dmFyIGhBLEtBZT1mKCgpPT57aEE9W1sicGF0aCIse2Q6Ik0xMi44MyAyLjE4YTIgMiAwIDAgMC0xLjY2IDBMMi42IDYuMDhhMSAxIDAgMCAwIDAgMS44M2w4LjU4IDMuOTFhMiAyIDAgMCAwIC44My4xOCAyIDIgMCAwIDAgLjgzLS4xOGw4LjU4LTMuOWExIDEgMCAwIDAgMC0xLjgzMXoifV0sWyJwYXRoIix7ZDoiTTE2IDE3aDYifV0sWyJwYXRoIix7ZDoiTTE5IDE0djYifV0sWyJwYXRoIix7ZDoiTTIgMTJhMSAxIDAgMCAwIC41OC45MWw4LjYgMy45MWEyIDIgMCAwIDAgLjgyNS4xNzgifV0sWyJwYXRoIix7ZDoiTTIgMTdhMSAxIDAgMCAwIC41OC45MWw4LjYgMy45MWEyIDIgMCAwIDAgMS42NSAwbDIuMTE2LS45NjIifV1dfSk7dmFyIG1BLFpBZT1mKCgpPT57bUE9W1sicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjkiLHg6IjMiLHk6IjMiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjUiLHg6IjE0Iix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI5Iix4OiIxNCIseToiMTIiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjUiLHg6IjMiLHk6IjE2IixyeDoiMSJ9XV19KTt2YXIga3UsWEFlPWYoKCk9PntrdT1bWyJwYXRoIix7ZDoiTTEyLjgzIDIuMThhMiAyIDAgMCAwLTEuNjYgMEwyLjYgNi4wOGExIDEgMCAwIDAgMCAxLjgzbDguNTggMy45MWEyIDIgMCAwIDAgMS42NiAwbDguNTgtMy45YTEgMSAwIDAgMCAwLTEuODN6In1dLFsicGF0aCIse2Q6Ik0yIDEyYTEgMSAwIDAgMCAuNTguOTFsOC42IDMuOTFhMiAyIDAgMCAwIDEuNjUgMGw4LjU4LTMuOUExIDEgMCAwIDAgMjIgMTIifV0sWyJwYXRoIix7ZDoiTTIgMTdhMSAxIDAgMCAwIC41OC45MWw4LjYgMy45MWEyIDIgMCAwIDAgMS42NSAwbDguNTgtMy45QTEgMSAwIDAgMCAyMiAxNyJ9XV19KTt2YXIgZ0EsUUFlPWYoKCk9PntnQT1bWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMyIseToiMyIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMTQiLHk6IjMiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjciLHg6IjE0Iix5OiIxNCIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMyIseToiMTQiLHJ4OiIxIn1dXX0pO3ZhciBiQSxKQWU9ZigoKT0+e2JBPVtbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI3Iix4OiIzIix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI3Iix4OiIzIix5OiIxNCIscng6IjEifV0sWyJwYXRoIix7ZDoiTTE0IDRoNyJ9XSxbInBhdGgiLHtkOiJNMTQgOWg3In1dLFsicGF0aCIse2Q6Ik0xNCAxNWg3In1dLFsicGF0aCIse2Q6Ik0xNCAyMGg3In1dXX0pO3ZhciB2QSxlRWU9ZigoKT0+e3ZBPVtbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMTQiLHk6IjMiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjciLHg6IjE0Iix5OiIxNCIscng6IjEifV1dfSk7dmFyIHhBLHRFZT1mKCgpPT57eEE9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiI3Iix4OiIzIix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiOSIsaGVpZ2h0OiI3Iix4OiIzIix5OiIxNCIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjUiLGhlaWdodDoiNyIseDoiMTYiLHk6IjE0IixyeDoiMSJ9XV19KTt2YXIgeUEsYUVlPWYoKCk9Pnt5QT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjciLHg6IjMiLHk6IjMiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjciLHg6IjMiLHk6IjE0IixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI3Iix4OiIxNCIseToiMTQiLHJ4OiIxIn1dXX0pO3ZhciB3QSxyRWU9ZigoKT0+e3dBPVtbInBhdGgiLHtkOiJNMTEgMjBBNyA3IDAgMCAxIDkuOCA2LjFDMTUuNSA1IDE3IDQuNDggMTkgMmMxIDIgMiA0LjE4IDIgOCAwIDUuNS00Ljc4IDEwLTEwIDEwWiJ9XSxbInBhdGgiLHtkOiJNMiAyMWMwLTMgMS44NS01LjM2IDUuMDgtNkM5LjUgMTQuNTIgMTIgMTMgMTMgMTIifV1dfSk7dmFyIE1BLHNFZT1mKCgpPT57TUE9W1sicGF0aCIse2Q6Ik0yIDIyYzEuMjUtLjk4NyAyLjI3LTEuOTc1IDMuOS0yLjJhNS41NiA1LjU2IDAgMCAxIDMuOCAxLjUgNCA0IDAgMCAwIDYuMTg3LTIuMzUzIDMuNSAzLjUgMCAwIDAgMy42OS01LjExNkEzLjUgMy41IDAgMCAwIDIwLjk1IDggMy41IDMuNSAwIDEgMCAxNiAzLjA1YTMuNSAzLjUgMCAwIDAtNS44MzEgMS4zNzMgMy41IDMuNSAwIDAgMC01LjExNiAzLjY5IDQgNCAwIDAgMC0yLjM0OCA2LjE1NUMzLjQ5OSAxNS40MiA0LjQwOSAxNi43MTIgNC4yIDE4LjEgMy45MjYgMTkuNzQzIDMuMDE0IDIwLjczMiAyIDIyIn1dLFsicGF0aCIse2Q6Ik0yIDIyIDE3IDcifV1dfSk7dmFyIGtBLGlFZT1mKCgpPT57a0E9W1sicGF0aCIse2Q6Ik0xNiAxMmgzYTIgMiAwIDAgMCAxLjkwMi0xLjM4bDEuMDU2LTMuMzMzQTEgMSAwIDAgMCAyMSA2SDNhMSAxIDAgMCAwLS45NTggMS4yODdsMS4wNTYgMy4zMzRBMiAyIDAgMCAwIDUgMTJoMyJ9XSxbInBhdGgiLHtkOiJNMTggNlYzYTEgMSAwIDAgMC0xLTFoLTMifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiMTIiLHg6IjgiLHk6IjEwIixyeDoiMSJ9XV19KTt2YXIgU0Esb0VlPWYoKCk9PntTQT1bWyJwYXRoIix7ZDoiTTcgMmExIDEgMCAwIDAtLjggMS42IDE0IDE0IDAgMCAxIDAgMTYuOEExIDEgMCAwIDAgNyAyMmgxMGExIDEgMCAwIDAgLjgtMS42IDE0IDE0IDAgMCAxIDAtMTYuOEExIDEgMCAwIDAgMTcgMnoifV1dfSk7dmFyIHpBLG5FZT1mKCgpPT57ekE9W1sicGF0aCIse2Q6Ik0xMy40MzMgMmExIDEgMCAwIDEgLjgyNC40NDggMTggMTggMCAwIDEgMCAxOS4xMDQgMSAxIDAgMCAxLS44MjQuNDQ4aC0yLjg2NmExIDEgMCAwIDEtLjgyNC0uNDQ4IDE4IDE4IDAgMCAxIDAtMTkuMTA0QTEgMSAwIDAgMSAxMC41NjcgMnoifV1dfSk7dmFyIENBLGxFZT1mKCgpPT57Q0E9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNNyAzdjE4In1dLFsicGF0aCIse2Q6Ik0yMC40IDE4LjljLjIuNS0uMSAxLjEtLjYgMS4zbC0xLjkuN2MtLjUuMi0xLjEtLjEtMS4zLS42TDExLjEgNS4xYy0uMi0uNS4xLTEuMS42LTEuM2wxLjktLjdjLjUtLjIgMS4xLjEgMS4zLjZaIn1dXX0pO3ZhciBfQSxjRWU9ZigoKT0+e19BPVtbInBhdGgiLHtkOiJtMTYgNiA0IDE0In1dLFsicGF0aCIse2Q6Ik0xMiA2djE0In1dLFsicGF0aCIse2Q6Ik04IDh2MTIifV0sWyJwYXRoIix7ZDoiTTQgNHYxNiJ9XV19KTt2YXIgVEEsZEVlPWYoKCk9PntUQT1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTQuOTMgNC45MyA0LjI0IDQuMjQifV0sWyJwYXRoIix7ZDoibTE0LjgzIDkuMTcgNC4yNC00LjI0In1dLFsicGF0aCIse2Q6Im0xNC44MyAxNC44MyA0LjI0IDQuMjQifV0sWyJwYXRoIix7ZDoibTkuMTcgMTQuODMtNC4yNCA0LjI0In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjQifV1dfSk7dmFyIExBLHVFZT1mKCgpPT57TEE9W1sicGF0aCIse2Q6Ik0xNCAxMmgydjgifV0sWyJwYXRoIix7ZDoiTTE0IDIwaDQifV0sWyJwYXRoIix7ZDoiTTYgMTJoNCJ9XSxbInBhdGgiLHtkOiJNNiAyMGg0In1dLFsicGF0aCIse2Q6Ik04IDIwVjhhNCA0IDAgMCAxIDcuNDY0LTIifV1dfSk7dmFyICRBLHBFZT1mKCgpPT57JEE9W1sicGF0aCIse2Q6Ik0xNSAxNGMuMi0xIC43LTEuNyAxLjUtMi41IDEtLjkgMS41LTIuMiAxLjUtMy41QTYgNiAwIDAgMCA2IDhjMCAxIC4yIDIuMiAxLjUgMy41LjcuNyAxLjMgMS41IDEuNSAyLjUifV0sWyJwYXRoIix7ZDoiTTkgMThoNiJ9XSxbInBhdGgiLHtkOiJNMTAgMjJoNCJ9XV19KTt2YXIgREEsZkVlPWYoKCk9PntEQT1bWyJwYXRoIix7ZDoiTTE2LjggMTEuMmMuOC0uOSAxLjItMiAxLjItMy4yYTYgNiAwIDAgMC05LjMtNSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik02LjMgNi4zYTQuNjcgNC42NyAwIDAgMCAxLjIgNS4yYy43LjcgMS4zIDEuNSAxLjUgMi41In1dLFsicGF0aCIse2Q6Ik05IDE4aDYifV0sWyJwYXRoIix7ZDoiTTEwIDIyaDQifV1dfSk7dmFyIEFBLGhFZT1mKCgpPT57QUE9W1sicGF0aCIse2Q6Ik0gMyAxMiBMIDE1IDEyIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTIiLHI6IjMifV1dfSk7dmFyIEVBLG1FZT1mKCgpPT57RUE9W1sicGF0aCIse2Q6Ik0xMSA1aDIifV0sWyJwYXRoIix7ZDoiTTE1IDEyaDYifV0sWyJwYXRoIix7ZDoiTTE5IDVoMiJ9XSxbInBhdGgiLHtkOiJNMyAxMmg2In1dLFsicGF0aCIse2Q6Ik0zIDE5aDE4In1dLFsicGF0aCIse2Q6Ik0zIDVoMiJ9XV19KTt2YXIgUEEsZ0VlPWYoKCk9PntQQT1bWyJwYXRoIix7ZDoiTTcgMy41YzUtMiA3IDIuNSAzIDRDMS41IDEwIDIgMTUgNSAxNmM1IDIgOS0xMCAxNC03cy41IDEzLjUtNCAxMmMtNS0yLjUuNS0xMSA2LTIifV1dfSk7dmFyIElBLGJFZT1mKCgpPT57SUE9W1sicGF0aCIse2Q6Ik05IDE3SDdBNSA1IDAgMCAxIDcgNyJ9XSxbInBhdGgiLHtkOiJNMTUgN2gyYTUgNSAwIDAgMSA0IDgifV0sWyJsaW5lIix7eDE6IjgiLHgyOiIxMiIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XV19KTt2YXIgTkEsdkVlPWYoKCk9PntOQT1bWyJwYXRoIix7ZDoiTTkgMTdIN0E1IDUgMCAwIDEgNyA3aDIifV0sWyJwYXRoIix7ZDoiTTE1IDdoMmE1IDUgMCAxIDEgMCAxMGgtMiJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE2Iix5MToiMTIiLHkyOiIxMiJ9XV19KTt2YXIgUkEseEVlPWYoKCk9PntSQT1bWyJwYXRoIix7ZDoiTTEwIDEzYTUgNSAwIDAgMCA3LjU0LjU0bDMtM2E1IDUgMCAwIDAtNy4wNy03LjA3bC0xLjcyIDEuNzEifV0sWyJwYXRoIix7ZDoiTTE0IDExYTUgNSAwIDAgMC03LjU0LS41NGwtMyAzYTUgNSAwIDAgMCA3LjA3IDcuMDdsMS43MS0xLjcxIn1dXX0pO3ZhciBPQSx5RWU9ZigoKT0+e09BPVtbInBhdGgiLHtkOiJNMTYgNUgzIn1dLFsicGF0aCIse2Q6Ik0xNiAxMkgzIn1dLFsicGF0aCIse2Q6Ik0xMSAxOUgzIn1dLFsicGF0aCIse2Q6Im0xNSAxOCAyIDIgNC00In1dXX0pO3ZhciBGQSx3RWU9ZigoKT0+e0ZBPVtbInBhdGgiLHtkOiJNMTMgNWg4In1dLFsicGF0aCIse2Q6Ik0xMyAxMmg4In1dLFsicGF0aCIse2Q6Ik0xMyAxOWg4In1dLFsicGF0aCIse2Q6Im0zIDE3IDIgMiA0LTQifV0sWyJwYXRoIix7ZDoibTMgNyAyIDIgNC00In1dXX0pO3ZhciBCQSxNRWU9ZigoKT0+e0JBPVtbInBhdGgiLHtkOiJNMyA1aDgifV0sWyJwYXRoIix7ZDoiTTMgMTJoOCJ9XSxbInBhdGgiLHtkOiJNMyAxOWg4In1dLFsicGF0aCIse2Q6Im0xNSA1IDMgMyAzLTMifV0sWyJwYXRoIix7ZDoibTE1IDE5IDMtMyAzIDMifV1dfSk7dmFyIEhBLGtFZT1mKCgpPT57SEE9W1sicGF0aCIse2Q6Ik0zIDVoOCJ9XSxbInBhdGgiLHtkOiJNMyAxMmg4In1dLFsicGF0aCIse2Q6Ik0zIDE5aDgifV0sWyJwYXRoIix7ZDoibTE1IDggMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJtMTUgMTYgMyAzIDMtMyJ9XV19KTt2YXIgcUEsU0VlPWYoKCk9PntxQT1bWyJwYXRoIix7ZDoiTTEwIDVoMTEifV0sWyJwYXRoIix7ZDoiTTEwIDEyaDExIn1dLFsicGF0aCIse2Q6Ik0xMCAxOWgxMSJ9XSxbInBhdGgiLHtkOiJtMyAxMCAzLTMtMy0zIn1dLFsicGF0aCIse2Q6Im0zIDIwIDMtMy0zLTMifV1dfSk7dmFyIFZBLHpFZT1mKCgpPT57VkE9W1sicGF0aCIse2Q6Ik0xNiA1SDMifV0sWyJwYXRoIix7ZDoiTTE2IDEySDMifV0sWyJwYXRoIix7ZDoiTTkgMTlIMyJ9XSxbInBhdGgiLHtkOiJtMTYgMTYtMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJNMjEgNXYxMmEyIDIgMCAwIDEtMiAyaC02In1dXX0pO3ZhciBqQSxDRWU9ZigoKT0+e2pBPVtbInBhdGgiLHtkOiJNMTIgNUgyIn1dLFsicGF0aCIse2Q6Ik02IDEyaDEyIn1dLFsicGF0aCIse2Q6Ik05IDE5aDYifV0sWyJwYXRoIix7ZDoiTTE2IDVoNiJ9XSxbInBhdGgiLHtkOiJNMTkgOFYyIn1dXX0pO3ZhciBVQSxfRWU9ZigoKT0+e1VBPVtbInBhdGgiLHtkOiJNMiA1aDIwIn1dLFsicGF0aCIse2Q6Ik02IDEyaDEyIn1dLFsicGF0aCIse2Q6Ik05IDE5aDYifV1dfSk7dmFyIGxjLFRFZT1mKCgpPT57bGM9W1sicGF0aCIse2Q6Ik0yMSA1SDExIn1dLFsicGF0aCIse2Q6Ik0yMSAxMkgxMSJ9XSxbInBhdGgiLHtkOiJNMjEgMTlIMTEifV0sWyJwYXRoIix7ZDoibTcgOC00IDQgNCA0In1dXX0pO3ZhciBjYyxMRWU9ZigoKT0+e2NjPVtbInBhdGgiLHtkOiJNMjEgNUgxMSJ9XSxbInBhdGgiLHtkOiJNMjEgMTJIMTEifV0sWyJwYXRoIix7ZDoiTTIxIDE5SDExIn1dLFsicGF0aCIse2Q6Im0zIDggNCA0LTQgNCJ9XV19KTt2YXIgV0EsJEVlPWYoKCk9PntXQT1bWyJwYXRoIix7ZDoiTTE2IDVIMyJ9XSxbInBhdGgiLHtkOiJNMTEgMTJIMyJ9XSxbInBhdGgiLHtkOiJNMTYgMTlIMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTJoLTYifV1dfSk7dmFyIEdBLERFZT1mKCgpPT57R0E9W1sicGF0aCIse2Q6Ik0xNiA1SDMifV0sWyJwYXRoIix7ZDoiTTExIDEySDMifV0sWyJwYXRoIix7ZDoiTTExIDE5SDMifV0sWyJwYXRoIix7ZDoiTTIxIDE2VjUifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxNiIscjoiMyJ9XV19KTt2YXIgWUEsQUVlPWYoKCk9PntZQT1bWyJwYXRoIix7ZDoiTTExIDVoMTAifV0sWyJwYXRoIix7ZDoiTTExIDEyaDEwIn1dLFsicGF0aCIse2Q6Ik0xMSAxOWgxMCJ9XSxbInBhdGgiLHtkOiJNNCA0aDF2NSJ9XSxbInBhdGgiLHtkOiJNNCA5aDIifV0sWyJwYXRoIix7ZDoiTTYuNSAyMEgzLjRjMC0xIDIuNi0xLjkyNSAyLjYtMy41YTEuNSAxLjUgMCAwIDAtMi42LTEuMDIifV1dfSk7dmFyIEtBLEVFZT1mKCgpPT57S0E9W1sicGF0aCIse2Q6Ik0xNiA1SDMifV0sWyJwYXRoIix7ZDoiTTExIDEySDMifV0sWyJwYXRoIix7ZDoiTTE2IDE5SDMifV0sWyJwYXRoIix7ZDoiTTE4IDl2NiJ9XSxbInBhdGgiLHtkOiJNMjEgMTJoLTYifV1dfSk7dmFyIFpBLFBFZT1mKCgpPT57WkE9W1sicGF0aCIse2Q6Ik0yMSA1SDMifV0sWyJwYXRoIix7ZDoiTTcgMTJIMyJ9XSxbInBhdGgiLHtkOiJNNyAxOUgzIn1dLFsicGF0aCIse2Q6Ik0xMiAxOGE1IDUgMCAwIDAgOS0zIDQuNSA0LjUgMCAwIDAtNC41LTQuNWMtMS4zMyAwLTIuNTQuNTQtMy40MSAxLjQxTDExIDE0In1dLFsicGF0aCIse2Q6Ik0xMSAxMHY0aDQifV1dfSk7dmFyIFhBLElFZT1mKCgpPT57WEE9W1sicGF0aCIse2Q6Ik0zIDVoNiJ9XSxbInBhdGgiLHtkOiJNMyAxMmgxMyJ9XSxbInBhdGgiLHtkOiJNMyAxOWgxMyJ9XSxbInBhdGgiLHtkOiJtMTYgOC0zLTMgMy0zIn1dLFsicGF0aCIse2Q6Ik0yMSAxOVY3YTIgMiAwIDAgMC0yLTJoLTYifV1dfSk7dmFyIFFBLE5FZT1mKCgpPT57UUE9W1sicGF0aCIse2Q6Ik0xMyA1aDgifV0sWyJwYXRoIix7ZDoiTTEzIDEyaDgifV0sWyJwYXRoIix7ZDoiTTEzIDE5aDgifV0sWyJwYXRoIix7ZDoibTMgMTcgMiAyIDQtNCJ9XSxbInJlY3QiLHt4OiIzIix5OiI0Iix3aWR0aDoiNiIsaGVpZ2h0OiI2IixyeDoiMSJ9XV19KTt2YXIgSkEsUkVlPWYoKCk9PntKQT1bWyJwYXRoIix7ZDoiTTggNWgxMyJ9XSxbInBhdGgiLHtkOiJNMTMgMTJoOCJ9XSxbInBhdGgiLHtkOiJNMTMgMTloOCJ9XSxbInBhdGgiLHtkOiJNMyAxMGEyIDIgMCAwIDAgMiAyaDMifV0sWyJwYXRoIix7ZDoiTTMgNXYxMmEyIDIgMCAwIDAgMiAyaDMifV1dfSk7dmFyIGVFLE9FZT1mKCgpPT57ZUU9W1sicGF0aCIse2Q6Ik0yMSA1SDMifV0sWyJwYXRoIix7ZDoiTTEwIDEySDMifV0sWyJwYXRoIix7ZDoiTTEwIDE5SDMifV0sWyJwYXRoIix7ZDoiTTE1IDEyLjAwM2ExIDEgMCAwIDEgMS41MTctLjg1OWw0Ljk5NyAyLjk5N2ExIDEgMCAwIDEgMCAxLjcxOGwtNC45OTcgMi45OTdhMSAxIDAgMCAxLTEuNTE3LS44NnoifV1dfSk7dmFyIHRFLEZFZT1mKCgpPT57dEU9W1sicGF0aCIse2Q6Ik0xNiA1SDMifV0sWyJwYXRoIix7ZDoiTTExIDEySDMifV0sWyJwYXRoIix7ZDoiTTE2IDE5SDMifV0sWyJwYXRoIix7ZDoibTE1LjUgOS41IDUgNSJ9XSxbInBhdGgiLHtkOiJtMjAuNSA5LjUtNSA1In1dXX0pO3ZhciBhRSxCRWU9ZigoKT0+e2FFPVtbInBhdGgiLHtkOiJNMyA1aC4wMSJ9XSxbInBhdGgiLHtkOiJNMyAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTMgMTloLjAxIn1dLFsicGF0aCIse2Q6Ik04IDVoMTMifV0sWyJwYXRoIix7ZDoiTTggMTJoMTMifV0sWyJwYXRoIix7ZDoiTTggMTloMTMifV1dfSk7dmFyIFN1LEhFZT1mKCgpPT57U3U9W1sicGF0aCIse2Q6Ik0yMSAxMmE5IDkgMCAxIDEtNi4yMTktOC41NiJ9XV19KTt2YXIgckUscUVlPWYoKCk9PntyRT1bWyJwYXRoIix7ZDoiTTIyIDEyYTEgMSAwIDAgMS0xMCAwIDEgMSAwIDAgMC0xMCAwIn1dLFsicGF0aCIse2Q6Ik03IDIwLjdhMSAxIDAgMSAxIDUtOC43IDEgMSAwIDEgMCA1LTguNiJ9XSxbInBhdGgiLHtkOiJNNyAzLjNhMSAxIDAgMSAxIDUgOC42IDEgMSAwIDEgMCA1IDguNiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XV19KTt2YXIgc0UsVkVlPWYoKCk9PntzRT1bWyJwYXRoIix7ZDoiTTEyIDJ2NCJ9XSxbInBhdGgiLHtkOiJtMTYuMiA3LjggMi45LTIuOSJ9XSxbInBhdGgiLHtkOiJNMTggMTJoNCJ9XSxbInBhdGgiLHtkOiJtMTYuMiAxNi4yIDIuOSAyLjkifV0sWyJwYXRoIix7ZDoiTTEyIDE4djQifV0sWyJwYXRoIix7ZDoibTQuOSAxOS4xIDIuOS0yLjkifV0sWyJwYXRoIix7ZDoiTTIgMTJoNCJ9XSxbInBhdGgiLHtkOiJtNC45IDQuOSAyLjkgMi45In1dXX0pO3ZhciBpRSxqRWU9ZigoKT0+e2lFPVtbImxpbmUiLHt4MToiMiIseDI6IjUiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxOSIseDI6IjIyIix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjIiLHkyOiI1In1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMTkiLHkyOiIyMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI3In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV1dfSk7dmFyIG9FLFVFZT1mKCgpPT57b0U9W1sicGF0aCIse2Q6Ik0xMiAxOXYzIn1dLFsicGF0aCIse2Q6Ik0xMiAydjMifV0sWyJwYXRoIix7ZDoiTTE4Ljg5IDEzLjI0YTcgNyAwIDAgMC04LjEzLTguMTMifV0sWyJwYXRoIix7ZDoiTTE5IDEyaDMifV0sWyJwYXRoIix7ZDoiTTIgMTJoMyJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik03LjA1IDcuMDVhNyA3IDAgMCAwIDkuOSA5LjkifV1dfSk7dmFyIG5FLFdFZT1mKCgpPT57bkU9W1sibGluZSIse3gxOiIyIix4MjoiNSIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjE5Iix4MjoiMjIiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMiIseTI6IjUifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIxOSIseTI6IjIyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjcifV1dfSk7dmFyIHp1LEdFZT1mKCgpPT57enU9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTYiLHI6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjEyIix4OiIzIix5OiIxMCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTcgMTBWN2E1IDUgMCAwIDEgOS4zMy0yLjUifV1dfSk7dmFyIGxFLFlFZT1mKCgpPT57bEU9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTYiLHI6IjEifV0sWyJyZWN0Iix7eDoiMyIseToiMTAiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxMiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTcgMTBWN2E1IDUgMCAwIDEgMTAgMHYzIn1dXX0pO3ZhciBDdSxLRWU9ZigoKT0+e0N1PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTEiLHg6IjMiLHk6IjExIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTcgMTFWN2E1IDUgMCAwIDEgOS45LTEifV1dfSk7dmFyIGNFLFpFZT1mKCgpPT57Y0U9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxMSIseDoiMyIseToiMTEiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNNyAxMVY3YTUgNSAwIDAgMSAxMCAwdjQifV1dfSk7dmFyIGRFLFhFZT1mKCgpPT57ZEU9W1sicGF0aCIse2Q6Im0xMCAxNyA1LTUtNS01In1dLFsicGF0aCIse2Q6Ik0xNSAxMkgzIn1dLFsicGF0aCIse2Q6Ik0xNSAzaDRhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAyaC00In1dXX0pO3ZhciB1RSxRRWU9ZigoKT0+e3VFPVtbInBhdGgiLHtkOiJtMTYgMTcgNS01LTUtNSJ9XSxbInBhdGgiLHtkOiJNMjEgMTJIOSJ9XSxbInBhdGgiLHtkOiJNOSAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDQifV1dfSk7dmFyIHBFLEpFZT1mKCgpPT57cEU9W1sicGF0aCIse2Q6Ik0zIDVoMSJ9XSxbInBhdGgiLHtkOiJNMyAxMmgxIn1dLFsicGF0aCIse2Q6Ik0zIDE5aDEifV0sWyJwYXRoIix7ZDoiTTggNWgxIn1dLFsicGF0aCIse2Q6Ik04IDEyaDEifV0sWyJwYXRoIix7ZDoiTTggMTloMSJ9XSxbInBhdGgiLHtkOiJNMTMgNWg4In1dLFsicGF0aCIse2Q6Ik0xMyAxMmg4In1dLFsicGF0aCIse2Q6Ik0xMyAxOWg4In1dXX0pO3ZhciBmRSxlUGU9ZigoKT0+e2ZFPVtbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI4In1dLFsicGF0aCIse2Q6Im0yMSAyMS00LjMtNC4zIn1dLFsicGF0aCIse2Q6Ik0xMSAxMWEyIDIgMCAwIDAgNCAwIDQgNCAwIDAgMC04IDAgNiA2IDAgMCAwIDEyIDAifV1dfSk7dmFyIGhFLHRQZT1mKCgpPT57aEU9W1sicGF0aCIse2Q6Ik02IDIwYTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDEyYTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLTIgMiJ9XSxbInBhdGgiLHtkOiJNOCAxOFY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjE0In1dLFsicGF0aCIse2Q6Ik0xMCAyMGg0In1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMjAiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjIwIixyOiIyIn1dXX0pO3ZhciBtRSxhUGU9ZigoKT0+e21FPVtbInBhdGgiLHtkOiJNMjIgMTNWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMmMwIDEuMS45IDIgMiAyaDgifV0sWyJwYXRoIix7ZDoibTIyIDctOC45NyA1LjdhMS45NCAxLjk0IDAgMCAxLTIuMDYgMEwyIDcifV0sWyJwYXRoIix7ZDoibTE2IDE5IDIgMiA0LTQifV1dfSk7dmFyIGdFLHJQZT1mKCgpPT57Z0U9W1sicGF0aCIse2Q6Im0xMiAxNSA0IDQifV0sWyJwYXRoIix7ZDoiTTIuMzUyIDEwLjY0OGExLjIwNSAxLjIwNSAwIDAgMCAwIDEuNzA0bDIuMjk2IDIuMjk2YTEuMjA1IDEuMjA1IDAgMCAwIDEuNzA0IDBsNi4wMjktNi4wMjlhMSAxIDAgMSAxIDMgM2wtNi4wMjkgNi4wMjlhMS4yMDUgMS4yMDUgMCAwIDAgMCAxLjcwNGwyLjI5NiAyLjI5NmExLjIwNSAxLjIwNSAwIDAgMCAxLjcwNCAwbDYuMzY1LTYuMzY3QTEgMSAwIDAgMCA4LjcxNiA0LjI4MnoifV0sWyJwYXRoIix7ZDoibTUgOCA0IDQifV1dfSk7dmFyIGJFLHNQZT1mKCgpPT57YkU9W1sicGF0aCIse2Q6Ik0yMiAxNVY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjEyYzAgMS4xLjkgMiAyIDJoOCJ9XSxbInBhdGgiLHtkOiJtMjIgNy04Ljk3IDUuN2ExLjk0IDEuOTQgMCAwIDEtMi4wNiAwTDIgNyJ9XSxbInBhdGgiLHtkOiJNMTYgMTloNiJ9XV19KTt2YXIgdkUsaVBlPWYoKCk9Pnt2RT1bWyJwYXRoIix7ZDoiTTIxLjIgOC40Yy41LjM4LjguOTcuOCAxLjZ2MTBhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWMTBhMiAyIDAgMCAxIC44LTEuNmw4LTZhMiAyIDAgMCAxIDIuNCAwbDggNloifV0sWyJwYXRoIix7ZDoibTIyIDEwLTguOTcgNS43YTEuOTQgMS45NCAwIDAgMS0yLjA2IDBMMiAxMCJ9XV19KTt2YXIgeEUsb1BlPWYoKCk9Pnt4RT1bWyJwYXRoIix7ZDoiTTIyIDEzVjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTJjMCAxLjEuOSAyIDIgMmg4In1dLFsicGF0aCIse2Q6Im0yMiA3LTguOTcgNS43YTEuOTQgMS45NCAwIDAgMS0yLjA2IDBMMiA3In1dLFsicGF0aCIse2Q6Ik0xOSAxNnY2In1dLFsicGF0aCIse2Q6Ik0xNiAxOWg2In1dXX0pO3ZhciBfdSxuUGU9ZigoKT0+e191PVtbInBhdGgiLHtkOiJNMjIgMTAuNVY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjEyYzAgMS4xLjkgMiAyIDJoMTIuNSJ9XSxbInBhdGgiLHtkOiJtMjIgNy04Ljk3IDUuN2ExLjk0IDEuOTQgMCAwIDEtMi4wNiAwTDIgNyJ9XSxbInBhdGgiLHtkOiJNMTggMTUuMjhjLjItLjQuNS0uOC45LTFhMi4xIDIuMSAwIDAgMSAyLjYuNGMuMy40LjUuOC41IDEuMyAwIDEuMy0yIDItMiAyIn1dLFsicGF0aCIse2Q6Ik0yMCAyMnYuMDEifV1dfSk7dmFyIHlFLGxQZT1mKCgpPT57eUU9W1sicGF0aCIse2Q6Ik0yMiAxMi41VjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTJjMCAxLjEuOSAyIDIgMmg3LjUifV0sWyJwYXRoIix7ZDoibTIyIDctOC45NyA1LjdhMS45NCAxLjk0IDAgMCAxLTIuMDYgMEwyIDcifV0sWyJwYXRoIix7ZDoiTTE4IDIxYTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNloifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XSxbInBhdGgiLHtkOiJtMjIgMjItMS41LTEuNSJ9XV19KTt2YXIgd0UsY1BlPWYoKCk9Pnt3RT1bWyJwYXRoIix7ZDoiTTIyIDEwLjVWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMmMwIDEuMS45IDIgMiAyaDEyLjUifV0sWyJwYXRoIix7ZDoibTIyIDctOC45NyA1LjdhMS45NCAxLjk0IDAgMCAxLTIuMDYgMEwyIDcifV0sWyJwYXRoIix7ZDoiTTIwIDE0djQifV0sWyJwYXRoIix7ZDoiTTIwIDIydi4wMSJ9XV19KTt2YXIgTUUsZFBlPWYoKCk9PntNRT1bWyJwYXRoIix7ZDoiTTIyIDEzVjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTJjMCAxLjEuOSAyIDIgMmg5In1dLFsicGF0aCIse2Q6Im0yMiA3LTguOTcgNS43YTEuOTQgMS45NCAwIDAgMS0yLjA2IDBMMiA3In1dLFsicGF0aCIse2Q6Im0xNyAxNyA0IDQifV0sWyJwYXRoIix7ZDoibTIxIDE3LTQgNCJ9XV19KTt2YXIga0UsdVBlPWYoKCk9PntrRT1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjkuNUMyIDcgNCA1IDYuNSA1SDE4YzIuMiAwIDQgMS44IDQgNHY4WiJ9XSxbInBvbHlsaW5lIix7cG9pbnRzOiIxNSw5IDE4LDkgMTgsMTEifV0sWyJwYXRoIix7ZDoiTTYuNSA1QzkgNSAxMSA3IDExIDkuNVYxN2EyIDIgMCAwIDEtMiAyIn1dLFsibGluZSIse3gxOiI2Iix4MjoiNyIseTE6IjEwIix5MjoiMTAifV1dfSk7dmFyIFNFLHBQZT1mKCgpPT57U0U9W1sicGF0aCIse2Q6Im0yMiA3LTguOTkxIDUuNzI3YTIgMiAwIDAgMS0yLjAwOSAwTDIgNyJ9XSxbInJlY3QiLHt4OiIyIix5OiI0Iix3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHJ4OiIyIn1dXX0pO3ZhciB6RSxmUGU9ZigoKT0+e3pFPVtbInBhdGgiLHtkOiJNMTcgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJ2LThhMiAyIDAgMCAxIDEtMS43MzIifV0sWyJwYXRoIix7ZDoibTIyIDUuNS02LjQxOSA0LjE3OWEyIDIgMCAwIDEtMi4xNjIgMEw3IDUuNSJ9XSxbInJlY3QiLHt4OiI3Iix5OiIzIix3aWR0aDoiMTUiLGhlaWdodDoiMTIiLHJ4OiIyIn1dXX0pO3ZhciBDRSxoUGU9ZigoKT0+e0NFPVtbInBhdGgiLHtkOiJtMTEgMTktMS4xMDYtLjU1MmEyIDIgMCAwIDAtMS43ODggMGwtMy42NTkgMS44M0ExIDEgMCAwIDEgMyAxOS4zODFWNi42MThhMSAxIDAgMCAxIC41NTMtLjg5NGw0LjU1My0yLjI3N2EyIDIgMCAwIDEgMS43ODggMGw0LjIxMiAyLjEwNmEyIDIgMCAwIDAgMS43ODggMGwzLjY1OS0xLjgzQTEgMSAwIDAgMSAyMSA0LjYxOVYxNCJ9XSxbInBhdGgiLHtkOiJNMTUgNS43NjRWMTQifV0sWyJwYXRoIix7ZDoiTTIxIDE4aC02In1dLFsicGF0aCIse2Q6Ik05IDMuMjM2djE1In1dXX0pO3ZhciBfRSxtUGU9ZigoKT0+e19FPVtbInBhdGgiLHtkOiJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIn1dLFsicGF0aCIse2Q6Im05IDEwIDIgMiA0LTQifV1dfSk7dmFyIFRFLGdQZT1mKCgpPT57VEU9W1sicGF0aCIse2Q6Ik0xOS40MyAxMi45MzVjLjM1Ny0uOTY3LjU3LTEuOTU1LjU3LTIuOTM1YTggOCAwIDAgMC0xNiAwYzAgNC45OTMgNS41MzkgMTAuMTkzIDcuMzk5IDExLjc5OWExIDEgMCAwIDAgMS4yMDIgMCAzMi4xOTcgMzIuMTk3IDAgMCAwIC44MTMtLjcyOCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsicGF0aCIse2Q6Im0xNiAxOCAyIDIgNC00In1dXX0pO3ZhciBMRSxiUGU9ZigoKT0+e0xFPVtbInBhdGgiLHtkOiJNMTUgMjJhMSAxIDAgMCAxLTEtMXYtNGExIDEgMCAwIDEgLjQ0NS0uODMybDMtMmExIDEgMCAwIDEgMS4xMSAwbDMgMkExIDEgMCAwIDEgMjIgMTd2NGExIDEgMCAwIDEtMSAxeiJ9XSxbInBhdGgiLHtkOiJNMTggMTBhOCA4IDAgMCAwLTE2IDBjMCA0Ljk5MyA1LjUzOSAxMC4xOTMgNy4zOTkgMTEuNzk5YTEgMSAwIDAgMCAuNjAxLjIifV0sWyJwYXRoIix7ZDoiTTE4IDIydi0zIn1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiMTAiLHI6IjMifV1dfSk7dmFyICRFLHZQZT1mKCgpPT57JEU9W1sicGF0aCIse2Q6Ik0yMCAxMGMwIDQuOTkzLTUuNTM5IDEwLjE5My03LjM5OSAxMS43OTlhMSAxIDAgMCAxLTEuMjAyIDBDOS41MzkgMjAuMTkzIDQgMTQuOTkzIDQgMTBhOCA4IDAgMCAxIDE2IDAifV0sWyJwYXRoIix7ZDoiTTkgMTBoNiJ9XV19KTt2YXIgREUseFBlPWYoKCk9PntERT1bWyJwYXRoIix7ZDoiTTE4Ljk3NyAxNEMxOS42IDEyLjcwMSAyMCAxMS4zNDMgMjAgMTBhOCA4IDAgMCAwLTE2IDBjMCA0Ljk5MyA1LjUzOSAxMC4xOTMgNy4zOTkgMTEuNzk5YTEgMSAwIDAgMCAxLjIwMiAwIDMyIDMyIDAgMCAwIC44MjQtLjczOCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xNiAxOGg2In1dXX0pO3ZhciBBRSx5UGU9ZigoKT0+e0FFPVtbInBhdGgiLHtkOiJNMTIuNzUgNy4wOWEzIDMgMCAwIDEgMi4xNiAyLjE2In1dLFsicGF0aCIse2Q6Ik0xNy4wNzIgMTcuMDcyYy0xLjYzNCAyLjE3LTMuNTI3IDMuOTEyLTQuNDcxIDQuNzI3YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxLjQzMi00LjU2OCJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik04LjQ3NSAyLjgxOEE4IDggMCAwIDEgMjAgMTBjMCAxLjE4My0uMzEgMi4zNzctLjgxIDMuNTMzIn1dLFsicGF0aCIse2Q6Ik05LjEzIDkuMTNhMyAzIDAgMCAwIDMuNzQgMy43NCJ9XV19KTt2YXIgVHUsd1BlPWYoKCk9PntUdT1bWyJwYXRoIix7ZDoiTTE3Ljk3IDkuMzA0QTggOCAwIDAgMCAyIDEwYzAgNC42OSA0Ljg4NyA5LjU2MiA3LjAyMiAxMS40NjgifV0sWyJwYXRoIix7ZDoiTTIxLjM3OCAxNi42MjZhMSAxIDAgMCAwLTMuMDA0LTMuMDA0bC00LjAxIDQuMDEyYTIgMiAwIDAgMC0uNTA2Ljg1NGwtLjgzNyAyLjg3YS41LjUgMCAwIDAgLjYyLjYybDIuODctLjgzN2EyIDIgMCAwIDAgLjg1NC0uNTA2eiJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjEwIixyOiIzIn1dXX0pO3ZhciBFRSxNUGU9ZigoKT0+e0VFPVtbInBhdGgiLHtkOiJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIn1dLFsicGF0aCIse2Q6Ik0xMiA3djYifV0sWyJwYXRoIix7ZDoiTTkgMTBoNiJ9XV19KTt2YXIgUEUsa1BlPWYoKCk9PntQRT1bWyJwYXRoIix7ZDoiTTE5LjkxNCAxMS4xMDVBNy4yOTggNy4yOTggMCAwIDAgMjAgMTBhOCA4IDAgMCAwLTE2IDBjMCA0Ljk5MyA1LjUzOSAxMC4xOTMgNy4zOTkgMTEuNzk5YTEgMSAwIDAgMCAxLjIwMiAwIDMyIDMyIDAgMCAwIC44MjQtLjczOCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xNiAxOGg2In1dLFsicGF0aCIse2Q6Ik0xOSAxNXY2In1dXX0pO3ZhciBJRSxTUGU9ZigoKT0+e0lFPVtbInBhdGgiLHtkOiJNIDEyLjI0OCAyMS45NjkgYSAxIDEgMCAwIDEgLTAuODQ5IC0wLjE3IEMgOS41MzkgMjAuMTkzIDQgMTQuOTkzIDQgMTAgYSA4IDggMCAwIDEgMTYgMCBDIDIwIDEwLjQyIDE5Ljk2MSAxMC44NDEgMTkuODg4IDExLjI2MiJ9XSxbInBhdGgiLHtkOiJtMjIgMjItMS44OC0xLjg4In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTAiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XV19KTt2YXIgTkUselBlPWYoKCk9PntORT1bWyJwYXRoIix7ZDoiTTE5Ljc1MiAxMS45MDFBNy43OCA3Ljc4IDAgMCAwIDIwIDEwYTggOCAwIDAgMC0xNiAwYzAgNC45OTMgNS41MzkgMTAuMTkzIDcuMzk5IDExLjc5OWExIDEgMCAwIDAgMS4yMDIgMCAxOSAxOSAwIDAgMCAuMDktLjA3NyJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsicGF0aCIse2Q6Im0yMS41IDE1LjUtNSA1In1dLFsicGF0aCIse2Q6Im0yMS41IDIwLjUtNS01In1dXX0pO3ZhciBSRSxDUGU9ZigoKT0+e1JFPVtbInBhdGgiLHtkOiJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIn1dLFsicGF0aCIse2Q6Im0xNC41IDcuNS01IDUifV0sWyJwYXRoIix7ZDoibTkuNSA3LjUgNSA1In1dXX0pO3ZhciBPRSxfUGU9ZigoKT0+e09FPVtbInBhdGgiLHtkOiJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTAiLHI6IjMifV1dfSk7dmFyIEZFLFRQZT1mKCgpPT57RkU9W1sicGF0aCIse2Q6Ik0xOCA4YzAgMy42MTMtMy44NjkgNy40MjktNS4zOTMgOC43OTVhMSAxIDAgMCAxLTEuMjE0IDBDOS44NyAxNS40MjkgNiAxMS42MTMgNiA4YTYgNiAwIDAgMSAxMiAwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiOCIscjoiMiJ9XSxbInBhdGgiLHtkOiJNOC43MTQgMTRoLTMuNzFhMSAxIDAgMCAwLS45NDguNjgzbC0yLjAwNCA2QTEgMSAwIDAgMCAzIDIyaDE4YTEgMSAwIDAgMCAuOTQ4LTEuMzE2bC0yLTZhMSAxIDAgMCAwLS45NDktLjY4NGgtMy43MTIifV1dfSk7dmFyIEJFLExQZT1mKCgpPT57QkU9W1sicGF0aCIse2Q6Im0xMSAxOS0xLjEwNi0uNTUyYTIgMiAwIDAgMC0xLjc4OCAwbC0zLjY1OSAxLjgzQTEgMSAwIDAgMSAzIDE5LjM4MVY2LjYxOGExIDEgMCAwIDEgLjU1My0uODk0bDQuNTUzLTIuMjc3YTIgMiAwIDAgMSAxLjc4OCAwbDQuMjEyIDIuMTA2YTIgMiAwIDAgMCAxLjc4OCAwbDMuNjU5LTEuODNBMSAxIDAgMCAxIDIxIDQuNjE5VjEyIn1dLFsicGF0aCIse2Q6Ik0xNSA1Ljc2NFYxMiJ9XSxbInBhdGgiLHtkOiJNMTggMTV2NiJ9XSxbInBhdGgiLHtkOiJNMjEgMThoLTYifV0sWyJwYXRoIix7ZDoiTTkgMy4yMzZ2MTUifV1dfSk7dmFyIEhFLCRQZT1mKCgpPT57SEU9W1sicGF0aCIse2Q6Ik0xNC4xMDYgNS41NTNhMiAyIDAgMCAwIDEuNzg4IDBsMy42NTktMS44M0ExIDEgMCAwIDEgMjEgNC42MTl2MTIuNzY0YTEgMSAwIDAgMS0uNTUzLjg5NGwtNC41NTMgMi4yNzdhMiAyIDAgMCAxLTEuNzg4IDBsLTQuMjEyLTIuMTA2YTIgMiAwIDAgMC0xLjc4OCAwbC0zLjY1OSAxLjgzQTEgMSAwIDAgMSAzIDE5LjM4MVY2LjYxOGExIDEgMCAwIDEgLjU1My0uODk0bDQuNTUzLTIuMjc3YTIgMiAwIDAgMSAxLjc4OCAweiJ9XSxbInBhdGgiLHtkOiJNMTUgNS43NjR2MTUifV0sWyJwYXRoIix7ZDoiTTkgMy4yMzZ2MTUifV1dfSk7dmFyIHFFLERQZT1mKCgpPT57cUU9W1sicGF0aCIse2Q6Im0xNCA2IDQgNCJ9XSxbInBhdGgiLHtkOiJNMTcgM2g0djQifV0sWyJwYXRoIix7ZDoibTIxIDMtNy43NSA3Ljc1In1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiIxNSIscjoiNiJ9XV19KTt2YXIgVkUsQVBlPWYoKCk9PntWRT1bWyJwYXRoIix7ZDoiTTE2IDNoNXY1In1dLFsicGF0aCIse2Q6Im0yMSAzLTYuNzUgNi43NSJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjE0IixyOiI2In1dXX0pO3ZhciBqRSxFUGU9ZigoKT0+e2pFPVtbInBhdGgiLHtkOiJNOCAyMmg4In1dLFsicGF0aCIse2Q6Ik0xMiAxMXYxMSJ9XSxbInBhdGgiLHtkOiJtMTkgMy03IDgtNy04WiJ9XV19KTt2YXIgVUUsUFBlPWYoKCk9PntVRT1bWyJwYXRoIix7ZDoiTTE1IDNoNnY2In1dLFsicGF0aCIse2Q6Im0yMSAzLTcgNyJ9XSxbInBhdGgiLHtkOiJtMyAyMSA3LTcifV0sWyJwYXRoIix7ZDoiTTkgMjFIM3YtNiJ9XV19KTt2YXIgV0UsSVBlPWYoKCk9PntXRT1bWyJwYXRoIix7ZDoiTTggM0g1YTIgMiAwIDAgMC0yIDJ2MyJ9XSxbInBhdGgiLHtkOiJNMjEgOFY1YTIgMiAwIDAgMC0yLTJoLTMifV0sWyJwYXRoIix7ZDoiTTMgMTZ2M2EyIDIgMCAwIDAgMiAyaDMifV0sWyJwYXRoIix7ZDoiTTE2IDIxaDNhMiAyIDAgMCAwIDItMnYtMyJ9XV19KTt2YXIgR0UsTlBlPWYoKCk9PntHRT1bWyJwYXRoIix7ZDoiTTcuMjEgMTUgMi42NiA3LjE0YTIgMiAwIDAgMSAuMTMtMi4yTDQuNCAyLjhBMiAyIDAgMCAxIDYgMmgxMmEyIDIgMCAwIDEgMS42LjhsMS42IDIuMTRhMiAyIDAgMCAxIC4xNCAyLjJMMTYuNzkgMTUifV0sWyJwYXRoIix7ZDoiTTExIDEyIDUuMTIgMi4yIn1dLFsicGF0aCIse2Q6Im0xMyAxMiA1Ljg4LTkuOCJ9XSxbInBhdGgiLHtkOiJNOCA3aDgifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNyIscjoiNSJ9XSxbInBhdGgiLHtkOiJNMTIgMTh2LTJoLS41In1dXX0pO3ZhciBZRSxSUGU9ZigoKT0+e1lFPVtbInBhdGgiLHtkOiJNMTEuNjM2IDZBMTMgMTMgMCAwIDAgMTkuNCAzLjIgMSAxIDAgMCAxIDIxIDR2MTEuMzQ0In1dLFsicGF0aCIse2Q6Ik0xNC4zNzggMTQuMzU3QTEzIDEzIDAgMCAwIDExIDE0SDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoMSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik02IDE0YTEyIDEyIDAgMCAwIDIuNCA3LjIgMiAyIDAgMCAwIDMuMi0yLjRBOCA4IDAgMCAxIDEwIDE0In1dLFsicGF0aCIse2Q6Ik04IDh2NiJ9XV19KTt2YXIgS0UsT1BlPWYoKCk9PntLRT1bWyJwYXRoIix7ZDoiTTExIDZhMTMgMTMgMCAwIDAgOC40LTIuOEExIDEgMCAwIDEgMjEgNHYxMmExIDEgMCAwIDEtMS42LjhBMTMgMTMgMCAwIDAgMTEgMTRINWEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMnoifV0sWyJwYXRoIix7ZDoiTTYgMTRhMTIgMTIgMCAwIDAgMi40IDcuMiAyIDIgMCAwIDAgMy4yLTIuNEE4IDggMCAwIDEgMTAgMTQifV0sWyJwYXRoIix7ZDoiTTggNnY4In1dXX0pO3ZhciBaRSxGUGU9ZigoKT0+e1pFPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE2Iix5MToiMTUiLHkyOiIxNSJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjkuMDEiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiIxNS4wMSIseTE6IjkiLHkyOiI5In1dXX0pO3ZhciBYRSxCUGU9ZigoKT0+e1hFPVtbInBhdGgiLHtkOiJNMTIgMTJ2LTIifV0sWyJwYXRoIix7ZDoiTTEyIDE4di0yIn1dLFsicGF0aCIse2Q6Ik0xNiAxMnYtMiJ9XSxbInBhdGgiLHtkOiJNMTYgMTh2LTIifV0sWyJwYXRoIix7ZDoiTTIgMTFoMS41In1dLFsicGF0aCIse2Q6Ik0yMCAxOHYtMiJ9XSxbInBhdGgiLHtkOiJNMjAuNSAxMUgyMiJ9XSxbInBhdGgiLHtkOiJNNCAxOHYtMiJ9XSxbInBhdGgiLHtkOiJNOCAxMnYtMiJ9XSxbInBhdGgiLHtkOiJNOCAxOHYtMiJ9XSxbInJlY3QiLHt4OiIyIix5OiI2Iix3aWR0aDoiMjAiLGhlaWdodDoiMTAiLHJ4OiIyIn1dXX0pO3ZhciBRRSxIUGU9ZigoKT0+e1FFPVtbInBhdGgiLHtkOiJNNCA1aDE2In1dLFsicGF0aCIse2Q6Ik00IDEyaDE2In1dLFsicGF0aCIse2Q6Ik00IDE5aDE2In1dXX0pO3ZhciBKRSxxUGU9ZigoKT0+e0pFPVtbInBhdGgiLHtkOiJtOCA2IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MTAuM2E0IDQgMCAwIDEtMS4xNzIgMi44NzJMNCAyMiJ9XSxbInBhdGgiLHtkOiJtMjAgMjItNS01In1dXX0pO3ZhciBlUCxWUGU9ZigoKT0+e2VQPVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV0sWyJwYXRoIix7ZDoibTkgMTIgMiAyIDQtNCJ9XV19KTt2YXIgdFAsalBlPWYoKCk9Pnt0UD1bWyJwYXRoIix7ZDoibTEwIDktMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJtMTQgMTUgMy0zLTMtMyJ9XSxbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV1dfSk7dmFyIGFQLFVQZT1mKCgpPT57YVA9W1sicGF0aCIse2Q6Ik0xMC4xIDIuMTgyYTEwIDEwIDAgMCAxIDMuOCAwIn1dLFsicGF0aCIse2Q6Ik0xMy45IDIxLjgxOGExMCAxMCAwIDAgMS0zLjggMCJ9XSxbInBhdGgiLHtkOiJNMTcuNjA5IDMuNzJhMTAgMTAgMCAwIDEgMi42OSAyLjcifV0sWyJwYXRoIix7ZDoiTTIuMTgyIDEzLjlhMTAgMTAgMCAwIDEgMC0zLjgifV0sWyJwYXRoIix7ZDoiTTIwLjI4IDE3LjYxYTEwIDEwIDAgMCAxLTIuNyAyLjY5In1dLFsicGF0aCIse2Q6Ik0yMS44MTggMTAuMWExMCAxMCAwIDAgMSAwIDMuOCJ9XSxbInBhdGgiLHtkOiJNMy43MjEgNi4zOTFhMTAgMTAgMCAwIDEgMi43LTIuNjkifV0sWyJwYXRoIix7ZDoibTYuMTYzIDIxLjExNy0yLjkwNi44NWExIDEgMCAwIDEtMS4yMzYtMS4xNjlsLjk2NS0yLjk4In1dXX0pO3ZhciByUCxXUGU9ZigoKT0+e3JQPVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV0sWyJwYXRoIix7ZDoiTTcuODI4IDEzLjA3QTMgMyAwIDAgMSAxMiA4Ljc2NGEzIDMgMCAwIDEgNS4wMDQgMi4yMjQgMyAzIDAgMCAxLS44MzIgMi4wODNsLTMuNDQ3IDMuNjJhMSAxIDAgMCAxLTEuNDUtLjAwMXoifV1dfSk7dmFyIHNQLEdQZT1mKCgpPT57c1A9W1sicGF0aCIse2Q6Ik0yLjk5MiAxNi4zNDJhMiAyIDAgMCAxIC4wOTQgMS4xNjdsLTEuMDY1IDMuMjlhMSAxIDAgMCAwIDEuMjM2IDEuMTY4bDMuNDEzLS45OThhMiAyIDAgMCAxIDEuMDk5LjA5MiAxMCAxMCAwIDEgMC00Ljc3Ny00LjcxOSJ9XSxbInBhdGgiLHtkOiJNOCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoLjAxIn1dXX0pO3ZhciBpUCxZUGU9ZigoKT0+e2lQPVtbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik00LjkzIDQuOTI5YTEwIDEwIDAgMCAwLTEuOTM4IDExLjQxMiAyIDIgMCAwIDEgLjA5NCAxLjE2N2wtMS4wNjUgMy4yOWExIDEgMCAwIDAgMS4yMzYgMS4xNjhsMy40MTMtLjk5OGEyIDIgMCAwIDEgMS4wOTkuMDkyIDEwIDEwIDAgMCAwIDExLjMwMi0xLjk4OSJ9XSxbInBhdGgiLHtkOiJNOC4zNSAyLjY5QTEwIDEwIDAgMCAxIDIxLjMgMTUuNjUifV1dfSk7dmFyIG9QLEtQZT1mKCgpPT57b1A9W1sicGF0aCIse2Q6Ik0yLjk5MiAxNi4zNDJhMiAyIDAgMCAxIC4wOTQgMS4xNjdsLTEuMDY1IDMuMjlhMSAxIDAgMCAwIDEuMjM2IDEuMTY4bDMuNDEzLS45OThhMiAyIDAgMCAxIDEuMDk5LjA5MiAxMCAxMCAwIDEgMC00Ljc3Ny00LjcxOSJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dLFsicGF0aCIse2Q6Ik0xMiA4djgifV1dfSk7dmFyIEx1LFpQZT1mKCgpPT57THU9W1sicGF0aCIse2Q6Ik0yLjk5MiAxNi4zNDJhMiAyIDAgMCAxIC4wOTQgMS4xNjdsLTEuMDY1IDMuMjlhMSAxIDAgMCAwIDEuMjM2IDEuMTY4bDMuNDEzLS45OThhMiAyIDAgMCAxIDEuMDk5LjA5MiAxMCAxMCAwIDEgMC00Ljc3Ny00LjcxOSJ9XSxbInBhdGgiLHtkOiJNOS4wOSA5YTMgMyAwIDAgMSA1LjgzIDFjMCAyLTMgMy0zIDMifV0sWyJwYXRoIix7ZDoiTTEyIDE3aC4wMSJ9XV19KTt2YXIgblAsWFBlPWYoKCk9PntuUD1bWyJwYXRoIix7ZDoiTTIuOTkyIDE2LjM0MmEyIDIgMCAwIDEgLjA5NCAxLjE2N2wtMS4wNjUgMy4yOWExIDEgMCAwIDAgMS4yMzYgMS4xNjhsMy40MTMtLjk5OGEyIDIgMCAwIDEgMS4wOTkuMDkyIDEwIDEwIDAgMSAwLTQuNzc3LTQuNzE5In1dLFsicGF0aCIse2Q6Im0xMCAxNS0zLTMgMy0zIn1dLFsicGF0aCIse2Q6Ik03IDEyaDhhMiAyIDAgMCAxIDIgMnYxIn1dXX0pO3ZhciBsUCxRUGU9ZigoKT0+e2xQPVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV0sWyJwYXRoIix7ZDoiTTEyIDh2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMTZoLjAxIn1dXX0pO3ZhciBjUCxKUGU9ZigoKT0+e2NQPVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV0sWyJwYXRoIix7ZDoibTE1IDktNiA2In1dLFsicGF0aCIse2Q6Im05IDkgNiA2In1dXX0pO3ZhciBkUCxlSWU9ZigoKT0+e2RQPVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV1dfSk7dmFyIHVQLHRJZT1mKCgpPT57dVA9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoibTEwIDgtMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJtMTQgMTQgMy0zLTMtMyJ9XV19KTt2YXIgcFAsYUllPWYoKCk9PntwUD1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcuNyAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoibTkgMTEgMiAyIDQtNCJ9XV19KTt2YXIgZlAsckllPWYoKCk9PntmUD1bWyJwYXRoIix7ZDoiTTE0IDNoMiJ9XSxbInBhdGgiLHtkOiJNMTYgMTloLTIifV0sWyJwYXRoIix7ZDoiTTIgMTJ2LTIifV0sWyJwYXRoIix7ZDoiTTIgMTZ2NS4yODZhLjcxLjcxIDAgMCAwIDEuMjEyLjUwMmwxLjE0OS0xLjE0OSJ9XSxbInBhdGgiLHtkOiJNMjAgMTlhMiAyIDAgMCAwIDItMnYtMSJ9XSxbInBhdGgiLHtkOiJNMjIgMTB2MiJ9XSxbInBhdGgiLHtkOiJNMjIgNlY1YTIgMiAwIDAgMC0yLTIifV0sWyJwYXRoIix7ZDoiTTQgM2EyIDIgMCAwIDAtMiAydjEifV0sWyJwYXRoIix7ZDoiTTggMTloMiJ9XSxbInBhdGgiLHtkOiJNOCAzaDIifV1dfSk7dmFyIGhQLHNJZT1mKCgpPT57aFA9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoiTTEwIDE1aDQifV0sWyJwYXRoIix7ZDoiTTEwIDloNCJ9XSxbInBhdGgiLHtkOiJNMTIgN3Y0In1dXX0pO3ZhciBtUCxpSWU9ZigoKT0+e21QPVtbInBhdGgiLHtkOiJNMTIuNyAzSDRhMiAyIDAgMCAwLTIgMnYxNi4yODZhLjcxLjcxIDAgMCAwIDEuMjEyLjUwMmwyLjIwMi0yLjIwMkEyIDIgMCAwIDEgNi44MjggMTlIMjBhMiAyIDAgMCAwIDItMnYtNC43In1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiNiIscjoiMyJ9XV19KTt2YXIgZ1Asb0llPWYoKCk9PntnUD1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcxLjcxIDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAyeiJ9XSxbInBhdGgiLHtkOiJNNy41IDkuNWMwIC42ODcuMjY1IDEuMzgzLjY5NyAxLjg0NGwzLjAwOSAzLjI2NGExLjE0IDEuMTQgMCAwIDAgLjQwNy4zMTQgMSAxIDAgMCAwIC43ODMtLjAwNCAxLjE0IDEuMTQgMCAwIDAgLjM5OC0uMzFsMy4wMDgtMy4yNjRBMi43NyAyLjc3IDAgMCAwIDE2LjUgOS41IDIuNSAyLjUgMCAwIDAgMTIgOGEyLjUgMi41IDAgMCAwLTQuNSAxLjUifV1dfSk7dmFyIGJQLG5JZT1mKCgpPT57YlA9W1sicGF0aCIse2Q6Ik0yMiA4LjVWNWEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxNi4yODZhLjcxLjcxIDAgMCAwIDEuMjEyLjUwMmwyLjIwMi0yLjIwMkEyIDIgMCAwIDEgNi44MjggMTlIMTAifV0sWyJwYXRoIix7ZDoiTTIwIDE1di0yYTIgMiAwIDAgMC00IDB2MiJ9XSxbInJlY3QiLHt4OiIxNCIseToiMTUiLHdpZHRoOiI4IixoZWlnaHQ6IjUiLHJ4OiIxIn1dXX0pO3ZhciB2UCxsSWU9ZigoKT0+e3ZQPVtbInBhdGgiLHtkOiJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6In1dLFsicGF0aCIse2Q6Ik0xMiAxMWguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDExaC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxMWguMDEifV1dfSk7dmFyIHhQLGNJZT1mKCgpPT57eFA9W1sicGF0aCIse2Q6Ik0xOSAxOUg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNy43IDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDEuMTg0LTEuODI2In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTguNjU2IDNIMjBhMiAyIDAgMCAxIDIgMnYxMS4zNDQifV1dfSk7dmFyIHlQLGRJZT1mKCgpPT57eVA9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoiTTEyIDh2NiJ9XSxbInBhdGgiLHtkOiJNOSAxMWg2In1dXX0pO3ZhciB3UCx1SWU9ZigoKT0+e3dQPVtbInBhdGgiLHtkOiJNMTQgMTRhMiAyIDAgMCAwIDItMlY4aC0yIn1dLFsicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoiTTggMTRhMiAyIDAgMCAwIDItMlY4SDgifV1dfSk7dmFyIE1QLHBJZT1mKCgpPT57TVA9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoibTEwIDgtMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJNMTcgMTR2LTFhMiAyIDAgMCAwLTItMkg3In1dXX0pO3ZhciBrUCxmSWU9ZigoKT0+e2tQPVtbInBhdGgiLHtkOiJNMTIgM0g0YTIgMiAwIDAgMC0yIDJ2MTYuMjg2YS43MS43MSAwIDAgMCAxLjIxMi41MDJsMi4yMDItMi4yMDJBMiAyIDAgMCAxIDYuODI4IDE5SDIwYTIgMiAwIDAgMCAyLTJ2LTQifV0sWyJwYXRoIix7ZDoiTTE2IDNoNnY2In1dLFsicGF0aCIse2Q6Im0xNiA5IDYtNiJ9XV19KTt2YXIgU1AsaEllPWYoKCk9PntTUD1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcxLjcxIDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAyeiJ9XSxbInBhdGgiLHtkOiJNNyAxMWgxMCJ9XSxbInBhdGgiLHtkOiJNNyAxNWg2In1dLFsicGF0aCIse2Q6Ik03IDdoOCJ9XV19KTt2YXIgelAsbUllPWYoKCk9Pnt6UD1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcxLjcxIDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTIgMTVoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiA3djQifV1dfSk7dmFyIENQLGdJZT1mKCgpPT57Q1A9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoibTE0LjUgOC41LTUgNSJ9XSxbInBhdGgiLHtkOiJtOS41IDguNSA1IDUifV1dfSk7dmFyIF9QLGJJZT1mKCgpPT57X1A9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV1dfSk7dmFyIFRQLHZJZT1mKCgpPT57VFA9W1sicGF0aCIse2Q6Ik0xNiAxMGEyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDE0LjI4NlY0YTIgMiAwIDAgMSAyLTJoMTBhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoiTTIwIDlhMiAyIDAgMCAxIDIgMnYxMC4yODZhLjcxLjcxIDAgMCAxLTEuMjEyLjUwMmwtMi4yMDItMi4yMDJBMiAyIDAgMCAwIDE3LjE3MiAxOUgxMGEyIDIgMCAwIDEtMi0ydi0xIn1dXX0pO3ZhciBMUCx4SWU9ZigoKT0+e0xQPVtbInBhdGgiLHtkOiJNMTIgMTEuNFY5LjEifV0sWyJwYXRoIix7ZDoibTEyIDE3IDYuNTktNi41OSJ9XSxbInBhdGgiLHtkOiJtMTUuMDUgNS43LS4yMTgtLjY5MWEzIDMgMCAwIDAtNS42NjMgMEw0LjQxOCAxOS42OTVBMSAxIDAgMCAwIDUuMzcgMjFoMTMuMjUzYTEgMSAwIDAgMCAuOTUxLTEuMzFMMTguNDUgMTYuMiJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjkiLHI6IjIifV1dfSk7dmFyICRQLHlJZT1mKCgpPT57JFA9W1sicGF0aCIse2Q6Ik0xMiAxOXYzIn1dLFsicGF0aCIse2Q6Ik0xNSA5LjM0VjVhMyAzIDAgMCAwLTUuNjgtMS4zMyJ9XSxbInBhdGgiLHtkOiJNMTYuOTUgMTYuOTVBNyA3IDAgMCAxIDUgMTJ2LTIifV0sWyJwYXRoIix7ZDoiTTE4Ljg5IDEzLjIzQTcgNyAwIDAgMCAxOSAxMnYtMiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik05IDl2M2EzIDMgMCAwIDAgNS4xMiAyLjEyIn1dXX0pO3ZhciAkdSx3SWU9ZigoKT0+eyR1PVtbInBhdGgiLHtkOiJtMTEgNy42MDEtNS45OTQgOC4xOWExIDEgMCAwIDAgLjEgMS4yOThsLjgxNy44MThhMSAxIDAgMCAwIDEuMzE0LjA4N0wxNS4wOSAxMiJ9XSxbInBhdGgiLHtkOiJNMTYuNSAyMS4xNzRDMTUuNSAyMC41IDE0LjM3MiAyMCAxMyAyMGMtMi4wNTggMC0zLjkyOCAyLjM1Ni02IDItMi4wNzItLjM1Ni0yLjc3NS0zLjM2OS0xLjUtNC41In1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiNyIscjoiNSJ9XV19KTt2YXIgRFAsTUllPWYoKCk9PntEUD1bWyJwYXRoIix7ZDoiTTEyIDE5djMifV0sWyJwYXRoIix7ZDoiTTE5IDEwdjJhNyA3IDAgMCAxLTE0IDB2LTIifV0sWyJyZWN0Iix7eDoiOSIseToiMiIsd2lkdGg6IjYiLGhlaWdodDoiMTMiLHJ4OiIzIn1dXX0pO3ZhciBBUCxrSWU9ZigoKT0+e0FQPVtbInBhdGgiLHtkOiJNMTAgMTJoNCJ9XSxbInBhdGgiLHtkOiJNMTAgMTdoNCJ9XSxbInBhdGgiLHtkOiJNMTAgN2g0In1dLFsicGF0aCIse2Q6Ik0xOCAxMmgyIn1dLFsicGF0aCIse2Q6Ik0xOCAxOGgyIn1dLFsicGF0aCIse2Q6Ik0xOCA2aDIifV0sWyJwYXRoIix7ZDoiTTQgMTJoMiJ9XSxbInBhdGgiLHtkOiJNNCAxOGgyIn1dLFsicGF0aCIse2Q6Ik00IDZoMiJ9XSxbInJlY3QiLHt4OiI2Iix5OiIyIix3aWR0aDoiMTIiLGhlaWdodDoiMjAiLHJ4OiIyIn1dXX0pO3ZhciBFUCxTSWU9ZigoKT0+e0VQPVtbInBhdGgiLHtkOiJNNiAxOGg4In1dLFsicGF0aCIse2Q6Ik0zIDIyaDE4In1dLFsicGF0aCIse2Q6Ik0xNCAyMmE3IDcgMCAxIDAgMC0xNGgtMSJ9XSxbInBhdGgiLHtkOiJNOSAxNGgyIn1dLFsicGF0aCIse2Q6Ik05IDEyYTIgMiAwIDAgMS0yLTJWNmg2djRhMiAyIDAgMCAxLTIgMloifV0sWyJwYXRoIix7ZDoiTTEyIDZWM2ExIDEgMCAwIDAtMS0xSDlhMSAxIDAgMCAwLTEgMXYzIn1dXX0pO3ZhciBQUCx6SWU9ZigoKT0+e1BQPVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTUiLHg6IjIiLHk6IjQiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjciLHg6IjYiLHk6IjgiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik0xOCA4djcifV0sWyJwYXRoIix7ZDoiTTYgMTl2MiJ9XSxbInBhdGgiLHtkOiJNMTggMTl2MiJ9XV19KTt2YXIgSVAsQ0llPWYoKCk9PntJUD1bWyJwYXRoIix7ZDoiTTEyIDEzdjgifV0sWyJwYXRoIix7ZDoiTTEyIDN2MyJ9XSxbInBhdGgiLHtkOiJNMTguMTcyIDZhMiAyIDAgMCAxIDEuNDE0LjU4NmwyLjA2IDIuMDZhMS4yMDcgMS4yMDcgMCAwIDEgMCAxLjcwOGwtMi4wNiAyLjA2YTIgMiAwIDAgMS0xLjQxNC41ODZINGExIDEgMCAwIDEtMS0xVjdhMSAxIDAgMCAxIDEtMXoifV1dfSk7dmFyIE5QLF9JZT1mKCgpPT57TlA9W1sicGF0aCIse2Q6Ik04IDJoOCJ9XSxbInBhdGgiLHtkOiJNOSAydjEuMzQzTTE1IDJ2Mi43ODlhNCA0IDAgMCAwIC42NzIgMi4yMTlsLjY1Ni45ODRhNCA0IDAgMCAxIC42NzIgMi4yMnYxLjEzMU03LjggNy44bC0uMTI4LjE5MkE0IDQgMCAwIDAgNyAxMC4yMTJWMjBhMiAyIDAgMCAwIDIgMmg2YTIgMiAwIDAgMCAyLTJ2LTMifV0sWyJwYXRoIix7ZDoiTTcgMTVhNi40NyA2LjQ3IDAgMCAxIDUgMCA2LjQ3MiA2LjQ3MiAwIDAgMCAzLjQzNS40MzUifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XV19KTt2YXIgUlAsVEllPWYoKCk9PntSUD1bWyJwYXRoIix7ZDoiTTggMmg4In1dLFsicGF0aCIse2Q6Ik05IDJ2Mi43ODlhNCA0IDAgMCAxLS42NzIgMi4yMTlsLS42NTYuOTg0QTQgNCAwIDAgMCA3IDEwLjIxMlYyMGEyIDIgMCAwIDAgMiAyaDZhMiAyIDAgMCAwIDItMnYtOS43ODlhNCA0IDAgMCAwLS42NzItMi4yMTlsLS42NTYtLjk4NEE0IDQgMCAwIDEgMTUgNC43ODhWMiJ9XSxbInBhdGgiLHtkOiJNNyAxNWE2LjQ3MiA2LjQ3MiAwIDAgMSA1IDAgNi40NyA2LjQ3IDAgMCAwIDUgMCJ9XV19KTt2YXIgT1AsTEllPWYoKCk9PntPUD1bWyJwYXRoIix7ZDoibTE0IDEwIDctNyJ9XSxbInBhdGgiLHtkOiJNMjAgMTBoLTZWNCJ9XSxbInBhdGgiLHtkOiJtMyAyMSA3LTcifV0sWyJwYXRoIix7ZDoiTTQgMTRoNnY2In1dXX0pO3ZhciBGUCwkSWU9ZigoKT0+e0ZQPVtbInBhdGgiLHtkOiJNOCAzdjNhMiAyIDAgMCAxLTIgMkgzIn1dLFsicGF0aCIse2Q6Ik0yMSA4aC0zYTIgMiAwIDAgMS0yLTJWMyJ9XSxbInBhdGgiLHtkOiJNMyAxNmgzYTIgMiAwIDAgMSAyIDJ2MyJ9XSxbInBhdGgiLHtkOiJNMTYgMjF2LTNhMiAyIDAgMCAxIDItMmgzIn1dXX0pO3ZhciBCUCxESWU9ZigoKT0+e0JQPVtbInBhdGgiLHtkOiJNNSAxMmgxNCJ9XV19KTt2YXIgSFAsQUllPWYoKCk9PntIUD1bWyJwYXRoIix7ZDoiTTExIDYgOCA5In1dLFsicGF0aCIse2Q6Im0xNiA3LTggOCJ9XSxbInJlY3QiLHt4OiI0Iix5OiIyIix3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHJ4OiIyIn1dXX0pO3ZhciBxUCxFSWU9ZigoKT0+e3FQPVtbInBhdGgiLHtkOiJNMTAgNi42IDguNiA4In1dLFsicGF0aCIse2Q6Ik0xMiAxOHY0In1dLFsicGF0aCIse2Q6Ik0xNSA3LjUgOS41IDEzIn1dLFsicGF0aCIse2Q6Ik03IDIyaDEwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTAiLHI6IjgifV1dfSk7dmFyIFZQLFBJZT1mKCgpPT57VlA9W1sicGF0aCIse2Q6Im05IDEwIDIgMiA0LTQifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dXX0pO3ZhciBqUCxJSWU9ZigoKT0+e2pQPVtbInBhdGgiLHtkOiJNMTEgMTNhMyAzIDAgMSAxIDIuODMtNEgxNGEyIDIgMCAwIDEgMCA0eiJ9XSxbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dLFsicmVjdCIse3g6IjIiLHk6IjMiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxNCIscng6IjIifV1dfSk7dmFyIFVQLE5JZT1mKCgpPT57VVA9W1sicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Im0xNC4zMDUgNy41My45MjMtLjM4MiJ9XSxbInBhdGgiLHtkOiJtMTUuMjI4IDQuODUyLS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDMuMjI4LS4zODMtLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDguNzcyLS4zODMuOTIzIn1dLFsicGF0aCIse2Q6Im0xOS4xNDggMy4yMjguMzgzLS45MjQifV0sWyJwYXRoIix7ZDoibTE5LjUzIDkuNjk2LS4zODItLjkyNCJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDQuODUyLjkyNC0uMzgzIn1dLFsicGF0aCIse2Q6Im0yMC43NzIgNy4xNDguOTI0LjM4MyJ9XSxbInBhdGgiLHtkOiJNMjIgMTN2MmEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNyJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiNiIscjoiMyJ9XV19KTt2YXIgV1AsUkllPWYoKCk9PntXUD1bWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTIyIDEyLjMwN1YxNWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoOC42OTMifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjYiLHI6IjMifV1dfSk7dmFyIEdQLE9JZT1mKCgpPT57R1A9W1sicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Ik0xNyAxN0g0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMS4xODQtMS44MjYifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dLFsicGF0aCIse2Q6Ik04LjY1NiAzSDIwYTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLS4yOTMgMS4wNDIifV1dfSk7dmFyIFlQLEZJZT1mKCgpPT57WVA9W1sicGF0aCIse2Q6Ik0xMiAxM1Y3In1dLFsicGF0aCIse2Q6Im0xNSAxMC0zIDMtMy0zIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XV19KTt2YXIgS1AsQkllPWYoKCk9PntLUD1bWyJwYXRoIix7ZDoiTTEwIDEzVjcifV0sWyJwYXRoIix7ZDoiTTE0IDEzVjcifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dXX0pO3ZhciBaUCxISWU9ZigoKT0+e1pQPVtbInBhdGgiLHtkOiJNMTUuMDMzIDkuNDRhLjY0Ny42NDcgMCAwIDEgMCAxLjEybC00LjA2NSAyLjM1MmEuNjQ1LjY0NSAwIDAgMS0uOTY4LS41NlY3LjY0OGEuNjQ1LjY0NSAwIDAgMSAuOTY3LS41NnoifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XSxbInJlY3QiLHt4OiIyIix5OiIzIix3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHJ4OiIyIn1dXX0pO3ZhciBYUCxxSWU9ZigoKT0+e1hQPVtbInBhdGgiLHtkOiJNMTggOFY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjdhMiAyIDAgMCAwIDIgMmg4In1dLFsicGF0aCIse2Q6Ik0xMCAxOXYtMy45NiAzLjE1In1dLFsicGF0aCIse2Q6Ik03IDE5aDUifV0sWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTAiLHg6IjE2Iix5OiIxMiIscng6IjIifV1dfSk7dmFyIFFQLFZJZT1mKCgpPT57UVA9W1sicGF0aCIse2Q6Ik01LjUgMjBIOCJ9XSxbInBhdGgiLHtkOiJNMTcgOWguMDEifV0sWyJyZWN0Iix7d2lkdGg6IjEwIixoZWlnaHQ6IjE2Iix4OiIxMiIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTggNkg0YTIgMiAwIDAgMC0yIDJ2NmEyIDIgMCAwIDAgMiAyaDQifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxNSIscjoiMSJ9XV19KTt2YXIgSlAsakllPWYoKCk9PntKUD1bWyJwYXRoIix7ZDoibTkgMTAgMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJNMTIgMTNWNyJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV1dfSk7dmFyIGVJLFVJZT1mKCgpPT57ZUk9W1sicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV0sWyJyZWN0Iix7eDoiMiIseToiMyIsd2lkdGg6IjIwIixoZWlnaHQ6IjE0IixyeDoiMiJ9XSxbInJlY3QiLHt4OiI5Iix5OiI3Iix3aWR0aDoiNiIsaGVpZ2h0OiI2IixyeDoiMSJ9XV19KTt2YXIgdEksV0llPWYoKCk9Pnt0ST1bWyJwYXRoIix7ZDoibTE0LjUgMTIuNS01LTUifV0sWyJwYXRoIix7ZDoibTkuNSAxMi41IDUtNSJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV1dfSk7dmFyIGFJLEdJZT1mKCgpPT57YUk9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiMyIscng6IjIifV0sWyJsaW5lIix7eDE6IjgiLHgyOiIxNiIseTE6IjIxIix5MjoiMjEifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIxNyIseTI6IjIxIn1dXX0pO3ZhciBySSxZSWU9ZigoKT0+e3JJPVtbInBhdGgiLHtkOiJNMTggNWg0In1dLFsicGF0aCIse2Q6Ik0yMCAzdjQifV0sWyJwYXRoIix7ZDoiTTIwLjk4NSAxMi40ODZhOSA5IDAgMSAxLTkuNDczLTkuNDcyYy40MDUtLjAyMi42MTcuNDYuNDAyLjgwM2E2IDYgMCAwIDAgOC4yNjggOC4yNjhjLjM0NC0uMjE1LjgyNS0uMDA0LjgwMy40MDEifV1dfSk7dmFyIHNJLEtJZT1mKCgpPT57c0k9W1sicGF0aCIse2Q6Ik0yMC45ODUgMTIuNDg2YTkgOSAwIDEgMS05LjQ3My05LjQ3MmMuNDA1LS4wMjIuNjE3LjQ2LjQwMi44MDNhNiA2IDAgMCAwIDguMjY4IDguMjY4Yy4zNDQtLjIxNS44MjUtLjAwNC44MDMuNDAxIn1dXX0pO3ZhciBpSSxaSWU9ZigoKT0+e2lJPVtbInBhdGgiLHtkOiJtMTggMTQtMS0zIn1dLFsicGF0aCIse2Q6Im0zIDkgNiAyYTIgMiAwIDAgMSAyLTJoMmEyIDIgMCAwIDEgMS45OSAxLjgxIn1dLFsicGF0aCIse2Q6Ik04IDE3aDNhMSAxIDAgMCAwIDEtMSA2IDYgMCAwIDEgNi02IDEgMSAwIDAgMCAxLTF2LS43NUE1IDUgMCAwIDAgMTcgNSJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjE3IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxNyIscjoiMyJ9XV19KTt2YXIgb0ksWEllPWYoKCk9PntvST1bWyJwYXRoIix7ZDoibTggMyA0IDggNS01IDUgMTVIMkw4IDN6In1dLFsicGF0aCIse2Q6Ik00LjE0IDE1LjA4YzIuNjItMS41NyA1LjI0LTEuNDMgNy44Ni40MiAyLjc0IDEuOTQgNS40OSAyIDguMjMuMTkifV1dfSk7dmFyIG5JLFFJZT1mKCgpPT57bkk9W1sicGF0aCIse2Q6Im04IDMgNCA4IDUtNSA1IDE1SDJMOCAzeiJ9XV19KTt2YXIgbEksSkllPWYoKCk9PntsST1bWyJwYXRoIix7ZDoiTTEyIDcuMzE4VjEwIn1dLFsicGF0aCIse2Q6Ik01IDEwdjVhNyA3IDAgMCAwIDE0IDBWOWMwLTMuNTI3LTIuNjA4LTYuNTE1LTYtNyJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiNCIscjoiMiJ9XV19KTt2YXIgY0ksZU5lPWYoKCk9PntjST1bWyJwYXRoIix7ZDoiTTEyIDZ2LjM0MyJ9XSxbInBhdGgiLHtkOiJNMTguMjE4IDE4LjIxOEE3IDcgMCAwIDEgNSAxNVY5YTcgNyAwIDAgMSAuNzgyLTMuMjE4In1dLFsicGF0aCIse2Q6Ik0xOSAxMy4zNDNWOUE3IDcgMCAwIDAgOC41NiAyLjkwMiJ9XSxbInBhdGgiLHtkOiJNMjIgMjIgMiAyIn1dXX0pO3ZhciBkSSx0TmU9ZigoKT0+e2RJPVtbInBhdGgiLHtkOiJtMTUuNTUgOC40NSA1LjEzOCAyLjA4N2EuNS41IDAgMCAxLS4wNjMuOTQ3bC02LjEyNCAxLjU4YTIgMiAwIDAgMC0xLjQzOCAxLjQzNWwtMS41NzkgNi4xMjZhLjUuNSAwIDAgMS0uOTQ3LjA2M0w4LjQ1IDE1LjU1MSJ9XSxbInBhdGgiLHtkOiJNMjIgMiAyIDIyIn1dLFsicGF0aCIse2Q6Im02LjgxNiAxMS41MjgtMi43NzktNi44NGEuNDk1LjQ5NSAwIDAgMSAuNjUxLS42NTFsNi44NCAyLjc3OSJ9XV19KTt2YXIgdUksYU5lPWYoKCk9Pnt1ST1bWyJwYXRoIix7ZDoiTTQuMDM3IDQuNjg4YS40OTUuNDk1IDAgMCAxIC42NTEtLjY1MWwxNiA2LjVhLjUuNSAwIDAgMS0uMDYzLjk0N2wtNi4xMjQgMS41OGEyIDIgMCAwIDAtMS40MzggMS40MzVsLTEuNTc5IDYuMTI2YS41LjUgMCAwIDEtLjk0Ny4wNjN6In1dXX0pO3ZhciBwSSxyTmU9ZigoKT0+e3BJPVtbInBhdGgiLHtkOiJNMi4wMzQgMi42ODFhLjQ5OC40OTggMCAwIDEgLjY0Ny0uNjQ3bDkgMy41YS41LjUgMCAwIDEtLjAzMy45NDRMOC4yMDQgNy41NDVhMSAxIDAgMCAwLS42Ni42NmwtMS4wNjYgMy40NDNhLjUuNSAwIDAgMS0uOTQ0LjAzM3oifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNiIscjoiNiJ9XSxbInBhdGgiLHtkOiJtMTEuOCAxMS44IDguNCA4LjQifV1dfSk7dmFyIGZJLHNOZT1mKCgpPT57Zkk9W1sicGF0aCIse2Q6Ik0xNCA0LjEgMTIgNiJ9XSxbInBhdGgiLHtkOiJtNS4xIDgtMi45LS44In1dLFsicGF0aCIse2Q6Im02IDEyLTEuOSAyIn1dLFsicGF0aCIse2Q6Ik03LjIgMi4yIDggNS4xIn1dLFsicGF0aCIse2Q6Ik05LjAzNyA5LjY5YS40OTguNDk4IDAgMCAxIC42NTMtLjY1M2wxMSA0LjVhLjUuNSAwIDAgMS0uMDc0Ljk0OWwtNC4zNDkgMS4wNDFhMSAxIDAgMCAwLS43NC43MzlsLTEuMDQgNC4zNWEuNS41IDAgMCAxLS45NS4wNzR6In1dXX0pO3ZhciBoSSxpTmU9ZigoKT0+e2hJPVtbInBhdGgiLHtkOiJNMTIuNTg2IDEyLjU4NiAxOSAxOSJ9XSxbInBhdGgiLHtkOiJNMy42ODggMy4wMzdhLjQ5Ny40OTcgMCAwIDAtLjY1MS42NTFsNi41IDE1Ljk5OWEuNTAxLjUwMSAwIDAgMCAuOTQ3LS4wNjJsMS41NjktNi4wODNhMiAyIDAgMCAxIDEuNDQ4LTEuNDc5bDYuMTI0LTEuNTc5YS41LjUgMCAwIDAgLjA2My0uOTQ3eiJ9XV19KTt2YXIgbUksb05lPWYoKCk9PnttST1bWyJwYXRoIix7ZDoiTTEyIDcuMzE4VjEwIn1dLFsicGF0aCIse2Q6Ik0xOSAxMHY1YTcgNyAwIDAgMS0xNCAwVjljMC0zLjUyNyAyLjYwOC02LjUxNSA2LTcifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiI0IixyOiIyIn1dXX0pO3ZhciBnSSxuTmU9ZigoKT0+e2dJPVtbInJlY3QiLHt4OiI1Iix5OiIyIix3aWR0aDoiMTQiLGhlaWdodDoiMjAiLHJ4OiI3In1dLFsicGF0aCIse2Q6Ik0xMiA2djQifV1dfSk7dmFyIER1LGxOZT1mKCgpPT57RHU9W1sicGF0aCIse2Q6Ik01IDN2MTZoMTYifV0sWyJwYXRoIix7ZDoibTUgMTkgNi02In1dLFsicGF0aCIse2Q6Im0yIDYgMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJtMTggMTYgMyAzLTMgMyJ9XV19KTt2YXIgYkksY05lPWYoKCk9PntiST1bWyJwYXRoIix7ZDoiTTE5IDEzdjZoLTYifV0sWyJwYXRoIix7ZDoiTTUgMTFWNWg2In1dLFsicGF0aCIse2Q6Im01IDUgMTQgMTQifV1dfSk7dmFyIHZJLGROZT1mKCgpPT57dkk9W1sicGF0aCIse2Q6Ik0xMSAxOUg1di02In1dLFsicGF0aCIse2Q6Ik0xMyA1aDZ2NiJ9XSxbInBhdGgiLHtkOiJNMTkgNSA1IDE5In1dXX0pO3ZhciB4SSx1TmU9ZigoKT0+e3hJPVtbInBhdGgiLHtkOiJNMTEgMTlINVYxMyJ9XSxbInBhdGgiLHtkOiJNMTkgNUw1IDE5In1dXX0pO3ZhciB5SSxwTmU9ZigoKT0+e3lJPVtbInBhdGgiLHtkOiJNMTkgMTNWMTlIMTMifV0sWyJwYXRoIix7ZDoiTTUgNUwxOSAxOSJ9XV19KTt2YXIgd0ksZk5lPWYoKCk9Pnt3ST1bWyJwYXRoIix7ZDoiTTggMThMMTIgMjJMMTYgMTgifV0sWyJwYXRoIix7ZDoiTTEyIDJWMjIifV1dfSk7dmFyIE1JLGhOZT1mKCgpPT57TUk9W1sicGF0aCIse2Q6Im0xOCA4IDQgNC00IDQifV0sWyJwYXRoIix7ZDoiTTIgMTJoMjAifV0sWyJwYXRoIix7ZDoibTYgOC00IDQgNCA0In1dXX0pO3ZhciBrSSxtTmU9ZigoKT0+e2tJPVtbInBhdGgiLHtkOiJNNiA4TDIgMTJMNiAxNiJ9XSxbInBhdGgiLHtkOiJNMiAxMkgyMiJ9XV19KTt2YXIgU0ksZ05lPWYoKCk9PntTST1bWyJwYXRoIix7ZDoiTTE4IDhMMjIgMTJMMTggMTYifV0sWyJwYXRoIix7ZDoiTTIgMTJIMjIifV1dfSk7dmFyIHpJLGJOZT1mKCgpPT57ekk9W1sicGF0aCIse2Q6Ik01IDExVjVIMTEifV0sWyJwYXRoIix7ZDoiTTUgNUwxOSAxOSJ9XV19KTt2YXIgQ0ksdk5lPWYoKCk9PntDST1bWyJwYXRoIix7ZDoiTTEzIDVIMTlWMTEifV0sWyJwYXRoIix7ZDoiTTE5IDVMNSAxOSJ9XV19KTt2YXIgX0kseE5lPWYoKCk9PntfST1bWyJwYXRoIix7ZDoiTTggNkwxMiAyTDE2IDYifV0sWyJwYXRoIix7ZDoiTTEyIDJWMjIifV1dfSk7dmFyIFRJLHlOZT1mKCgpPT57VEk9W1sicGF0aCIse2Q6Ik0xMiAydjIwIn1dLFsicGF0aCIse2Q6Im04IDE4IDQgNCA0LTQifV0sWyJwYXRoIix7ZDoibTggNiA0LTQgNCA0In1dXX0pO3ZhciBMSSx3TmU9ZigoKT0+e0xJPVtbInBhdGgiLHtkOiJNMTIgMnYyMCJ9XSxbInBhdGgiLHtkOiJtMTUgMTktMyAzLTMtMyJ9XSxbInBhdGgiLHtkOiJtMTkgOSAzIDMtMyAzIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIwIn1dLFsicGF0aCIse2Q6Im01IDktMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJtOSA1IDMtMyAzIDMifV1dfSk7dmFyICRJLE1OZT1mKCgpPT57JEk9W1siY2lyY2xlIix7Y3g6IjgiLGN5OiIxOCIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTIgMThWMmw3IDQifV1dfSk7dmFyIERJLGtOZT1mKCgpPT57REk9W1sicGF0aCIse2Q6Ik05IDE4VjVsMTItMnYxMyJ9XSxbInBhdGgiLHtkOiJtOSA5IDEyLTIifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjE4IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTYiLHI6IjMifV1dfSk7dmFyIEFJLFNOZT1mKCgpPT57QUk9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTgiLHI6IjQifV0sWyJwYXRoIix7ZDoiTTE2IDE4VjIifV1dfSk7dmFyIEVJLHpOZT1mKCgpPT57RUk9W1sicGF0aCIse2Q6Ik05IDE4VjVsMTItMnYxMyJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiMTgiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxNiIscjoiMyJ9XV19KTt2YXIgUEksQ05lPWYoKCk9PntQST1bWyJwYXRoIix7ZDoiTTkuMzEgOS4zMSA1IDIxbDctNCA3IDQtMS4xNy0zLjE3In1dLFsicGF0aCIse2Q6Ik0xNC41MyA4Ljg4IDEyIDJsLTEuMTcgMy4xNyJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMiIseTI6IjIyIn1dXX0pO3ZhciBJSSxfTmU9ZigoKT0+e0lJPVtbInBvbHlnb24iLHtwb2ludHM6IjEyIDIgMTkgMjEgMTIgMTcgNSAyMSAxMiAyIn1dXX0pO3ZhciBOSSxUTmU9ZigoKT0+e05JPVtbInBhdGgiLHtkOiJNOC40MyA4LjQzIDMgMTFsOCAyIDIgOCAyLjU3LTUuNDMifV0sWyJwYXRoIix7ZDoiTTE3LjM5IDExLjczIDIyIDJsLTkuNzMgNC42MSJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMiIseTI6IjIyIn1dXX0pO3ZhciBSSSxMTmU9ZigoKT0+e1JJPVtbInBvbHlnb24iLHtwb2ludHM6IjMgMTEgMjIgMiAxMyAyMSAxMSAxMyAzIDExIn1dXX0pO3ZhciBPSSwkTmU9ZigoKT0+e09JPVtbInJlY3QiLHt4OiIxNiIseToiMTYiLHdpZHRoOiI2IixoZWlnaHQ6IjYiLHJ4OiIxIn1dLFsicmVjdCIse3g6IjIiLHk6IjE2Iix3aWR0aDoiNiIsaGVpZ2h0OiI2IixyeDoiMSJ9XSxbInJlY3QiLHt4OiI5Iix5OiIyIix3aWR0aDoiNiIsaGVpZ2h0OiI2IixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNNSAxNnYtM2ExIDEgMCAwIDEgMS0xaDEyYTEgMSAwIDAgMSAxIDF2MyJ9XSxbInBhdGgiLHtkOiJNMTIgMTJWOCJ9XV19KTt2YXIgRkksRE5lPWYoKCk9PntGST1bWyJwYXRoIix7ZDoiTTE1IDE4aC01In1dLFsicGF0aCIse2Q6Ik0xOCAxNGgtOCJ9XSxbInBhdGgiLHtkOiJNNCAyMmgxNmEyIDIgMCAwIDAgMi0yVjRhMiAyIDAgMCAwLTItMkg4YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAxLTQgMHYtOWEyIDIgMCAwIDEgMi0yaDIifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNCIseDoiMTAiLHk6IjYiLHJ4OiIxIn1dXX0pO3ZhciBCSSxBTmU9ZigoKT0+e0JJPVtbInBhdGgiLHtkOiJNNiA4LjMyYTcuNDMgNy40MyAwIDAgMSAwIDcuMzYifV0sWyJwYXRoIix7ZDoiTTkuNDYgNi4yMWExMS43NiAxMS43NiAwIDAgMSAwIDExLjU4In1dLFsicGF0aCIse2Q6Ik0xMi45MSA0LjFhMTUuOTEgMTUuOTEgMCAwIDEgLjAxIDE1LjgifV0sWyJwYXRoIix7ZDoiTTE2LjM3IDJhMjAuMTYgMjAuMTYgMCAwIDEgMCAyMCJ9XV19KTt2YXIgSEksRU5lPWYoKCk9PntIST1bWyJwYXRoIix7ZDoiTTEyIDJ2MTAifV0sWyJwYXRoIix7ZDoibTguNSA0IDcgNCJ9XSxbInBhdGgiLHtkOiJtOC41IDggNy00In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTciLHI6IjUifV1dfSk7dmFyIHFJLFBOZT1mKCgpPT57cUk9W1sicGF0aCIse2Q6Ik0xMy40IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtNy40In1dLFsicGF0aCIse2Q6Ik0yIDZoNCJ9XSxbInBhdGgiLHtkOiJNMiAxMGg0In1dLFsicGF0aCIse2Q6Ik0yIDE0aDQifV0sWyJwYXRoIix7ZDoiTTIgMThoNCJ9XSxbInBhdGgiLHtkOiJNMjEuMzc4IDUuNjI2YTEgMSAwIDEgMC0zLjAwNC0zLjAwNGwtNS4wMSA1LjAxMmEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNnoifV1dfSk7dmFyIFZJLElOZT1mKCgpPT57Vkk9W1sicGF0aCIse2Q6Ik0yIDZoNCJ9XSxbInBhdGgiLHtkOiJNMiAxMGg0In1dLFsicGF0aCIse2Q6Ik0yIDE0aDQifV0sWyJwYXRoIix7ZDoiTTIgMThoNCJ9XSxbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHg6IjQiLHk6IjIiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik05LjUgOGg1In1dLFsicGF0aCIse2Q6Ik05LjUgMTJIMTYifV0sWyJwYXRoIix7ZDoiTTkuNSAxNkgxNCJ9XV19KTt2YXIgakksTk5lPWYoKCk9PntqST1bWyJwYXRoIix7ZDoiTTIgNmg0In1dLFsicGF0aCIse2Q6Ik0yIDEwaDQifV0sWyJwYXRoIix7ZDoiTTIgMTRoNCJ9XSxbInBhdGgiLHtkOiJNMiAxOGg0In1dLFsicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIyMCIseDoiNCIseToiMiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE1IDJ2MjAifV0sWyJwYXRoIix7ZDoiTTE1IDdoNSJ9XSxbInBhdGgiLHtkOiJNMTUgMTJoNSJ9XSxbInBhdGgiLHtkOiJNMTUgMTdoNSJ9XV19KTt2YXIgVUksUk5lPWYoKCk9PntVST1bWyJwYXRoIix7ZDoiTTIgNmg0In1dLFsicGF0aCIse2Q6Ik0yIDEwaDQifV0sWyJwYXRoIix7ZDoiTTIgMTRoNCJ9XSxbInBhdGgiLHtkOiJNMiAxOGg0In1dLFsicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIyMCIseDoiNCIseToiMiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE2IDJ2MjAifV1dfSk7dmFyIFdJLE9OZT1mKCgpPT57V0k9W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMnY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTE2IDRoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIwIDEydjIifV0sWyJwYXRoIix7ZDoiTTIwIDE4djJhMiAyIDAgMCAxLTIgMmgtMSJ9XSxbInBhdGgiLHtkOiJNMTMgMjJoLTIifV0sWyJwYXRoIix7ZDoiTTcgMjJINmEyIDIgMCAwIDEtMi0ydi0yIn1dLFsicGF0aCIse2Q6Ik00IDE0di0yIn1dLFsicGF0aCIse2Q6Ik00IDhWNmEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTggMTBoNiJ9XSxbInBhdGgiLHtkOiJNOCAxNGg4In1dLFsicGF0aCIse2Q6Ik04IDE4aDUifV1dfSk7dmFyIEdJLEZOZT1mKCgpPT57R0k9W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMnY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJyZWN0Iix7d2lkdGg6IjE2IixoZWlnaHQ6IjE4Iix4OiI0Iix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOCAxMGg2In1dLFsicGF0aCIse2Q6Ik04IDE0aDgifV0sWyJwYXRoIix7ZDoiTTggMThoNSJ9XV19KTt2YXIgWUksQk5lPWYoKCk9PntZST1bWyJwYXRoIix7ZDoiTTEyIDRWMiJ9XSxbInBhdGgiLHtkOiJNNSAxMHY0YTcuMDA0IDcuMDA0IDAgMCAwIDUuMjc3IDYuNzg3Yy40MTIuMTA0LjgwMi4yOTIgMS4xMDIuNTkyTDEyIDIybC42MjEtLjYyMWMuMy0uMy42OS0uNDg4IDEuMTAyLS41OTJhNy4wMSA3LjAxIDAgMCAwIDQuMTI1LTIuOTM5In1dLFsicGF0aCIse2Q6Ik0xOSAxMHYzLjM0MyJ9XSxbInBhdGgiLHtkOiJNMTIgMTJjLTEuMzQ5LS41NzMtMS45MDUtMS4wMDUtMi41LTItLjU0Ni45MDItMS4wNDggMS4zNTMtMi41IDItMS4wMTgtLjY0NC0xLjQ2LTEuMDgtMi0yLTEuMDI4LjcxLTEuNjkuOTE4LTMgMSAxLjA4MS0xLjA0OCAxLjc1Ny0yLjAzIDItMyAuMTk0LS43NzYuODQtMS41NTEgMS43OS0yLjIxbTExLjY1NCA1Ljk5N2MuODg3LS40NTcgMS4yOC0uODkxIDEuNTU2LTEuNzg3IDEuMDMyLjkxNiAxLjY4MyAxLjE1NyAzIDEtMS4yOTctMS4wMzYtMS43NTgtMi4wMy0yLTMtLjUtMi00LTQtOC00LS43NCAwLTEuNDYxLjA2OC0yLjE1LjE5MiJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMiIseTI6IjIyIn1dXX0pO3ZhciBLSSxITmU9ZigoKT0+e0tJPVtbInBhdGgiLHtkOiJNMTIgNFYyIn1dLFsicGF0aCIse2Q6Ik01IDEwdjRhNy4wMDQgNy4wMDQgMCAwIDAgNS4yNzcgNi43ODdjLjQxMi4xMDQuODAyLjI5MiAxLjEwMi41OTJMMTIgMjJsLjYyMS0uNjIxYy4zLS4zLjY5LS40ODggMS4xMDItLjU5MkE3LjAwMyA3LjAwMyAwIDAgMCAxOSAxNHYtNCJ9XSxbInBhdGgiLHtkOiJNMTIgNEM4IDQgNC41IDYgNCA4Yy0uMjQzLjk3LS45MTkgMS45NTItMiAzIDEuMzEtLjA4MiAxLjk3Mi0uMjkgMy0xIC41NC45Mi45ODIgMS4zNTYgMiAyIDEuNDUyLS42NDcgMS45NTQtMS4wOTggMi41LTIgLjU5NS45OTUgMS4xNTEgMS40MjcgMi41IDIgMS4zMS0uNjIxIDEuODYyLTEuMDU4IDIuNS0yIC42MjkuOTc3IDEuMTYyIDEuNDIzIDIuNSAyIDEuMjA5LS41NDggMS42OC0uOTY3IDItMiAxLjAzMi45MTYgMS42ODMgMS4xNTcgMyAxLTEuMjk3LTEuMDM2LTEuNzU4LTIuMDMtMi0zLS41LTItNC00LTgtNFoifV1dfSk7dmFyIEF1LHFOZT1mKCgpPT57QXU9W1sicGF0aCIse2Q6Ik0xMiAxNmguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDh2NCJ9XSxbInBhdGgiLHtkOiJNMTUuMzEyIDJhMiAyIDAgMCAxIDEuNDE0LjU4Nmw0LjY4OCA0LjY4OEEyIDIgMCAwIDEgMjIgOC42ODh2Ni42MjRhMiAyIDAgMCAxLS41ODYgMS40MTRsLTQuNjg4IDQuNjg4YTIgMiAwIDAgMS0xLjQxNC41ODZIOC42ODhhMiAyIDAgMCAxLTEuNDE0LS41ODZsLTQuNjg4LTQuNjg4QTIgMiAwIDAgMSAyIDE1LjMxMlY4LjY4OGEyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LjY4OC00LjY4OEEyIDIgMCAwIDEgOC42ODggMnoifV1dfSk7dmFyIFpJLFZOZT1mKCgpPT57Wkk9W1sicGF0aCIse2Q6Ik0yLjU4NiAxNi43MjZBMiAyIDAgMCAxIDIgMTUuMzEyVjguNjg4YTIgMiAwIDAgMSAuNTg2LTEuNDE0bDQuNjg4LTQuNjg4QTIgMiAwIDAgMSA4LjY4OCAyaDYuNjI0YTIgMiAwIDAgMSAxLjQxNC41ODZsNC42ODggNC42ODhBMiAyIDAgMCAxIDIyIDguNjg4djYuNjI0YTIgMiAwIDAgMS0uNTg2IDEuNDE0bC00LjY4OCA0LjY4OGEyIDIgMCAwIDEtMS40MTQuNTg2SDguNjg4YTIgMiAwIDAgMS0xLjQxNC0uNTg2eiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dXX0pO3ZhciBFdSxqTmU9ZigoKT0+e0V1PVtbInBhdGgiLHtkOiJNMTAgMTVWOSJ9XSxbInBhdGgiLHtkOiJNMTQgMTVWOSJ9XSxbInBhdGgiLHtkOiJNMi41ODYgMTYuNzI2QTIgMiAwIDAgMSAyIDE1LjMxMlY4LjY4OGEyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LjY4OC00LjY4OEEyIDIgMCAwIDEgOC42ODggMmg2LjYyNGEyIDIgMCAwIDEgMS40MTQuNTg2bDQuNjg4IDQuNjg4QTIgMiAwIDAgMSAyMiA4LjY4OHY2LjYyNGEyIDIgMCAwIDEtLjU4NiAxLjQxNGwtNC42ODggNC42ODhhMiAyIDAgMCAxLTEuNDE0LjU4Nkg4LjY4OGEyIDIgMCAwIDEtMS40MTQtLjU4NnoifV1dfSk7dmFyIFhJLFVOZT1mKCgpPT57WEk9W1sicGF0aCIse2Q6Ik0yLjU4NiAxNi43MjZBMiAyIDAgMCAxIDIgMTUuMzEyVjguNjg4YTIgMiAwIDAgMSAuNTg2LTEuNDE0bDQuNjg4LTQuNjg4QTIgMiAwIDAgMSA4LjY4OCAyaDYuNjI0YTIgMiAwIDAgMSAxLjQxNC41ODZsNC42ODggNC42ODhBMiAyIDAgMCAxIDIyIDguNjg4djYuNjI0YTIgMiAwIDAgMS0uNTg2IDEuNDE0bC00LjY4OCA0LjY4OGEyIDIgMCAwIDEtMS40MTQuNTg2SDguNjg4YTIgMiAwIDAgMS0xLjQxNC0uNTg2eiJ9XV19KTt2YXIgUHUsV05lPWYoKCk9PntQdT1bWyJwYXRoIix7ZDoibTE1IDktNiA2In1dLFsicGF0aCIse2Q6Ik0yLjU4NiAxNi43MjZBMiAyIDAgMCAxIDIgMTUuMzEyVjguNjg4YTIgMiAwIDAgMSAuNTg2LTEuNDE0bDQuNjg4LTQuNjg4QTIgMiAwIDAgMSA4LjY4OCAyaDYuNjI0YTIgMiAwIDAgMSAxLjQxNC41ODZsNC42ODggNC42ODhBMiAyIDAgMCAxIDIyIDguNjg4djYuNjI0YTIgMiAwIDAgMS0uNTg2IDEuNDE0bC00LjY4OCA0LjY4OGEyIDIgMCAwIDEtMS40MTQuNTg2SDguNjg4YTIgMiAwIDAgMS0xLjQxNC0uNTg2eiJ9XSxbInBhdGgiLHtkOiJtOSA5IDYgNiJ9XV19KTt2YXIgUUksR05lPWYoKCk9PntRST1bWyJwYXRoIix7ZDoiTTMgMjBoNC41YS41LjUgMCAwIDAgLjUtLjV2LS4yODJhLjUyLjUyIDAgMCAwLS4yNDctLjQzNyA4IDggMCAxIDEgOC40OTQtLjAwMS41Mi41MiAwIDAgMC0uMjQ3LjQzOHYuMjgyYS41LjUgMCAwIDAgLjUuNUgyMSJ9XV19KTt2YXIgSkksWU5lPWYoKCk9PntKST1bWyJwYXRoIix7ZDoiTTMgM2g2bDYgMThoNiJ9XSxbInBhdGgiLHtkOiJNMTQgM2g3In1dXX0pO3ZhciBlTixLTmU9ZigoKT0+e2VOPVtbInBhdGgiLHtkOiJNMjAuMzQxIDYuNDg0QTEwIDEwIDAgMCAxIDEwLjI2NiAyMS44NSJ9XSxbInBhdGgiLHtkOiJNMy42NTkgMTcuNTE2QTEwIDEwIDAgMCAxIDEzLjc0IDIuMTUyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiI1IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxOSIscjoiMiJ9XV19KTt2YXIgdE4sWk5lPWYoKCk9Pnt0Tj1bWyJwYXRoIix7ZDoiTTEyIDEyVjRhMSAxIDAgMCAxIDEtMWg2LjI5N2ExIDEgMCAwIDEgLjY1MSAxLjc1OWwtNC42OTYgNC4wMjUifV0sWyJwYXRoIix7ZDoibTEyIDIxLTcuNDE0LTcuNDE0QTIgMiAwIDAgMSA0IDEyLjE3MlY2LjQxNWExLjAwMiAxLjAwMiAwIDAgMSAxLjcwNy0uNzA3TDIwIDIwLjAwOSJ9XSxbInBhdGgiLHtkOiJtMTIuMjE0IDMuMzgxIDguNDE0IDE0Ljk2NmExIDEgMCAwIDEtLjE2NyAxLjE5OWwtMS4xNjggMS4xNjNhMSAxIDAgMCAxLS43MDYuMjkxSDYuMzUxYTEgMSAwIDAgMS0uNjI1LS4yMTlMMy4yNSAxOC44YTEgMSAwIDAgMSAuNjMxLTEuNzgxbDQuMTY1LjAyNyJ9XV19KTt2YXIgYU4sWE5lPWYoKCk9PnthTj1bWyJwYXRoIix7ZDoiTTEyIDN2NiJ9XSxbInBhdGgiLHtkOiJNMTYuNzYgM2EyIDIgMCAwIDEgMS44IDEuMWwyLjIzIDQuNDc5YTIgMiAwIDAgMSAuMjEuODkxVjE5YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjkuNDcyYTIgMiAwIDAgMSAuMjExLS44OTRMNS40NSA0LjFBMiAyIDAgMCAxIDcuMjQgM3oifV0sWyJwYXRoIix7ZDoiTTMuMDU0IDkuMDEzaDE3Ljg5MyJ9XV19KTt2YXIgck4sUU5lPWYoKCk9PntyTj1bWyJwYXRoIix7ZDoiTTEyIDIyVjEyIn1dLFsicGF0aCIse2Q6Im0xNiAxNyAyIDIgNC00In1dLFsicGF0aCIse2Q6Ik0yMSAxMS4xMjdWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjcyOWw3IDRhMiAyIDAgMCAwIDIgLjAwMWwxLjMyLS43NTMifV0sWyJwYXRoIix7ZDoiTTMuMjkgNyAxMiAxMmw4LjcxLTUifV0sWyJwYXRoIix7ZDoibTcuNSA0LjI3IDguOTk3IDUuMTQ4In1dXX0pO3ZhciBzTixKTmU9ZigoKT0+e3NOPVtbInBhdGgiLHtkOiJNMTIgMjJWMTIifV0sWyJwYXRoIix7ZDoiTTE2IDE3aDYifV0sWyJwYXRoIix7ZDoiTTIxIDEzVjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43MjlsNyA0YTIgMiAwIDAgMCAyIC4wMDFsMS42NzUtLjk1NSJ9XSxbInBhdGgiLHtkOiJNMy4yOSA3IDEyIDEybDguNzEtNSJ9XSxbInBhdGgiLHtkOiJtNy41IDQuMjcgOC45OTcgNS4xNDgifV1dfSk7dmFyIGlOLGVSZT1mKCgpPT57aU49W1sicGF0aCIse2Q6Ik0xMiAyMnYtOSJ9XSxbInBhdGgiLHtkOiJNMTUuMTcgMi4yMWExLjY3IDEuNjcgMCAwIDEgMS42MyAwTDIxIDQuNTdhMS45MyAxLjkzIDAgMCAxIDAgMy4zNkw4LjgyIDE0Ljc5YTEuNjU1IDEuNjU1IDAgMCAxLTEuNjQgMEwzIDEyLjQzYTEuOTMgMS45MyAwIDAgMSAwLTMuMzZ6In1dLFsicGF0aCIse2Q6Ik0yMCAxM3YzLjg3YTIuMDYgMi4wNiAwIDAgMS0xLjExIDEuODNsLTYgMy4wOGExLjkzIDEuOTMgMCAwIDEtMS43OCAwbC02LTMuMDhBMi4wNiAyLjA2IDAgMCAxIDQgMTYuODdWMTMifV0sWyJwYXRoIix7ZDoiTTIxIDEyLjQzYTEuOTMgMS45MyAwIDAgMCAwLTMuMzZMOC44MyAyLjJhMS42NCAxLjY0IDAgMCAwLTEuNjMgMEwzIDQuNTdhMS45MyAxLjkzIDAgMCAwIDAgMy4zNmwxMi4xOCA2Ljg2YTEuNjM2IDEuNjM2IDAgMCAwIDEuNjMgMHoifV1dfSk7dmFyIG9OLHRSZT1mKCgpPT57b049W1sicGF0aCIse2Q6Ik0xMiAyMlYxMiJ9XSxbInBhdGgiLHtkOiJNMTYgMTdoNiJ9XSxbInBhdGgiLHtkOiJNMTkgMTR2NiJ9XSxbInBhdGgiLHtkOiJNMjEgMTAuNTM1VjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43MjlsNyA0YTIgMiAwIDAgMCAyIC4wMDFsMS42NzUtLjk1NSJ9XSxbInBhdGgiLHtkOiJNMy4yOSA3IDEyIDEybDguNzEtNSJ9XSxbInBhdGgiLHtkOiJtNy41IDQuMjcgOC45OTcgNS4xNDgifV1dfSk7dmFyIG5OLGFSZT1mKCgpPT57bk49W1sicGF0aCIse2Q6Ik0xMiAyMlYxMiJ9XSxbInBhdGgiLHtkOiJNMjAuMjcgMTguMjcgMjIgMjAifV0sWyJwYXRoIix7ZDoiTTIxIDEwLjQ5OFY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzI5bDcgNGEyIDIgMCAwIDAgMiAuMDAxbC45OC0uNTU5In1dLFsicGF0aCIse2Q6Ik0zLjI5IDcgMTIgMTJsOC43MS01In1dLFsicGF0aCIse2Q6Im03LjUgNC4yNyA4Ljk5NyA1LjE0OCJ9XSxbImNpcmNsZSIse2N4OiIxOC41IixjeToiMTYuNSIscjoiMi41In1dXX0pO3ZhciBsTixyUmU9ZigoKT0+e2xOPVtbInBhdGgiLHtkOiJNMTEgMjEuNzNhMiAyIDAgMCAwIDIgMGw3LTRBMiAyIDAgMCAwIDIxIDE2VjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43M3oifV0sWyJwYXRoIix7ZDoiTTEyIDIyVjEyIn1dLFsicG9seWxpbmUiLHtwb2ludHM6IjMuMjkgNyAxMiAxMiAyMC43MSA3In1dLFsicGF0aCIse2Q6Im03LjUgNC4yNyA5IDUuMTUifV1dfSk7dmFyIGNOLHNSZT1mKCgpPT57Y049W1sicGF0aCIse2Q6Ik0xMiAyMlYxMiJ9XSxbInBhdGgiLHtkOiJtMTYuNSAxNC41IDUgNSJ9XSxbInBhdGgiLHtkOiJtMTYuNSAxOS41IDUtNSJ9XSxbInBhdGgiLHtkOiJNMjEgMTAuNVY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzI5bDcgNGEyIDIgMCAwIDAgMiAuMDAxbC4xMy0uMDc0In1dLFsicGF0aCIse2Q6Ik0zLjI5IDcgMTIgMTJsOC43MS01In1dLFsicGF0aCIse2Q6Im03LjUgNC4yNyA4Ljk5NyA1LjE0OCJ9XV19KTt2YXIgZE4saVJlPWYoKCk9PntkTj1bWyJwYXRoIix7ZDoiTTExIDcgNiAyIn1dLFsicGF0aCIse2Q6Ik0xOC45OTIgMTJIMi4wNDEifV0sWyJwYXRoIix7ZDoiTTIxLjE0NSAxOC4zOEEzLjM0IDMuMzQgMCAwIDEgMjAgMTYuNWEzLjMgMy4zIDAgMCAxLTEuMTQ1IDEuODhjLS41NzUuNDYtLjg1NSAxLjAyLS44NTUgMS41OTVBMiAyIDAgMCAwIDIwIDIyYTIgMiAwIDAgMCAyLTIuMDI1YzAtLjU4LS4yODUtMS4xMy0uODU1LTEuNTk1In1dLFsicGF0aCIse2Q6Im04LjUgNC41IDIuMTQ4LTIuMTQ4YTEuMjA1IDEuMjA1IDAgMCAxIDEuNzA0IDBsNy4yOTYgNy4yOTZhMS4yMDUgMS4yMDUgMCAwIDEgMCAxLjcwNGwtNy41OTIgNy41OTJhMy42MTUgMy42MTUgMCAwIDEtNS4xMTIgMGwtMy44ODgtMy44ODhhMy42MTUgMy42MTUgMCAwIDEgMC01LjExMkw1LjY3IDcuMzMifV1dfSk7dmFyIHVOLG9SZT1mKCgpPT57dU49W1sicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiI2Iix4OiIyIix5OiIyIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTAgMTZ2LTJhMiAyIDAgMCAxIDItMmg4YTIgMiAwIDAgMCAyLTJWN2EyIDIgMCAwIDAtMi0yaC0yIn1dLFsicmVjdCIse3dpZHRoOiI0IixoZWlnaHQ6IjYiLHg6IjgiLHk6IjE2IixyeDoiMSJ9XV19KTt2YXIgSXUsblJlPWYoKCk9PntJdT1bWyJwYXRoIix7ZDoiTTEwIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY0In1dLFsicGF0aCIse2Q6Ik0xNyAyYTEgMSAwIDAgMSAxIDF2OUg2VjNhMSAxIDAgMCAxIDEtMXoifV0sWyJwYXRoIix7ZDoiTTYgMTJhMSAxIDAgMCAwLTEgMXYxYTIgMiAwIDAgMCAyIDJoMmExIDEgMCAwIDEgMSAxdjIuOWEyIDIgMCAxIDAgNCAwVjE3YTEgMSAwIDAgMSAxLTFoMmEyIDIgMCAwIDAgMi0ydi0xYTEgMSAwIDAgMC0xLTEifV1dfSk7dmFyIHBOLGxSZT1mKCgpPT57cE49W1sicGF0aCIse2Q6Im0xNC42MjIgMTcuODk3LTEwLjY4LTIuOTEzIn1dLFsicGF0aCIse2Q6Ik0xOC4zNzYgMi42MjJhMSAxIDAgMSAxIDMuMDAyIDMuMDAyTDE3LjM2IDkuNjQzYS41LjUgMCAwIDAgMCAuNzA3bC45NDQuOTQ0YTIuNDEgMi40MSAwIDAgMSAwIDMuNDA4bC0uOTQ0Ljk0NGEuNS41IDAgMCAxLS43MDcgMEw4LjM1NCA3LjM0OGEuNS41IDAgMCAxIDAtLjcwN2wuOTQ0LS45NDRhMi40MSAyLjQxIDAgMCAxIDMuNDA4IDBsLjk0NC45NDRhLjUuNSAwIDAgMCAuNzA3IDB6In1dLFsicGF0aCIse2Q6Ik05IDhjLTEuODA0IDIuNzEtMy45NyAzLjQ2LTYuNTgzIDMuOTQ4YS41MDcuNTA3IDAgMCAwLS4zMDIuODE5bDcuMzIgOC44ODNhMSAxIDAgMCAwIDEuMTg1LjIwNEMxMi43MzUgMjAuNDA1IDE2IDE2Ljc5MiAxNiAxNSJ9XV19KTt2YXIgZk4sY1JlPWYoKCk9PntmTj1bWyJwYXRoIix7ZDoiTTEyIDIyYTEgMSAwIDAgMSAwLTIwIDEwIDkgMCAwIDEgMTAgOSA1IDUgMCAwIDEtNSA1aC0yLjI1YTEuNzUgMS43NSAwIDAgMC0xLjQgMi44bC4zLjRhMS43NSAxLjc1IDAgMCAxLTEuNCAyLjh6In1dLFsiY2lyY2xlIix7Y3g6IjEzLjUiLGN5OiI2LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJjaXJjbGUiLHtjeDoiMTcuNSIsY3k6IjEwLjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJjaXJjbGUiLHtjeDoiNi41IixjeToiMTIuNSIscjoiLjUiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XSxbImNpcmNsZSIse2N4OiI4LjUiLGN5OiI3LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV1dfSk7dmFyIGhOLGRSZT1mKCgpPT57aE49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTVoMTgifV0sWyJwYXRoIix7ZDoibTE1IDgtMyAzLTMtMyJ9XV19KTt2YXIgbU4sdVJlPWYoKCk9PnttTj1bWyJwYXRoIix7ZDoiTTExLjI1IDE3LjI1aDEuNUwxMiAxOHoifV0sWyJwYXRoIix7ZDoibTE1IDEyIDIgMiJ9XSxbInBhdGgiLHtkOiJNMTggNi41YS41LjUgMCAwIDAtLjUtLjUifV0sWyJwYXRoIix7ZDoiTTIwLjY5IDkuNjdhNC41IDQuNSAwIDEgMC03LjA0LTUuNSA4LjM1IDguMzUgMCAwIDAtMy4zIDAgNC41IDQuNSAwIDEgMC03LjA0IDUuNUMyLjQ5IDExLjIgMiAxMi44OCAyIDE0LjUgMiAxOS40NyA2LjQ4IDIyIDEyIDIyczEwLTIuNTMgMTAtNy41YzAtMS42Mi0uNDgtMy4zLTEuMy00LjgzIn1dLFsicGF0aCIse2Q6Ik02IDYuNWEuNDk1LjQ5NSAwIDAgMSAuNS0uNSJ9XSxbInBhdGgiLHtkOiJtOSAxMi0yIDIifV1dfSk7dmFyIE51LHBSZT1mKCgpPT57TnU9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE0IDE1aDEifV0sWyJwYXRoIix7ZDoiTTE5IDE1aDIifV0sWyJwYXRoIix7ZDoiTTMgMTVoMiJ9XSxbInBhdGgiLHtkOiJNOSAxNWgxIn1dXX0pO3ZhciBnTixmUmU9ZigoKT0+e2dOPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDE1aDE4In1dLFsicGF0aCIse2Q6Im05IDEwIDMtMyAzIDMifV1dfSk7dmFyIGJOLGhSZT1mKCgpPT57Yk49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTVoMTgifV1dfSk7dmFyIFJ1LG1SZT1mKCgpPT57UnU9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTkgM3YxOCJ9XSxbInBhdGgiLHtkOiJtMTYgMTUtMy0zIDMtMyJ9XV19KTt2YXIgT3UsZ1JlPWYoKCk9PntPdT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOSAxNHYxIn1dLFsicGF0aCIse2Q6Ik05IDE5djIifV0sWyJwYXRoIix7ZDoiTTkgM3YyIn1dLFsicGF0aCIse2Q6Ik05IDl2MSJ9XV19KTt2YXIgRnUsYlJlPWYoKCk9PntGdT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4In1dLFsicGF0aCIse2Q6Im0xNCA5IDMgMy0zIDMifV1dfSk7dmFyIHZOLHZSZT1mKCgpPT57dk49W1sicGF0aCIse2Q6Ik0xNSAxMFY5In1dLFsicGF0aCIse2Q6Ik0xNSAxNXYtMSJ9XSxbInBhdGgiLHtkOiJNMTUgMjF2LTIifV0sWyJwYXRoIix7ZDoiTTE1IDVWMyJ9XSxbInBhdGgiLHtkOiJNOSAxMFY5In1dLFsicGF0aCIse2Q6Ik05IDE1di0xIn1dLFsicGF0aCIse2Q6Ik05IDIxdi0yIn1dLFsicGF0aCIse2Q6Ik05IDVWMyJ9XSxbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciBCdSx4UmU9ZigoKT0+e0J1PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik05IDN2MTgifV1dfSk7dmFyIHhOLHlSZT1mKCgpPT57eE49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE1IDN2MTgifV0sWyJwYXRoIix7ZDoibTggOSAzIDMtMyAzIn1dXX0pO3ZhciBIdSx3UmU9ZigoKT0+e0h1PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNSAxNHYxIn1dLFsicGF0aCIse2Q6Ik0xNSAxOXYyIn1dLFsicGF0aCIse2Q6Ik0xNSAzdjIifV0sWyJwYXRoIix7ZDoiTTE1IDl2MSJ9XV19KTt2YXIgeU4sTVJlPWYoKCk9Pnt5Tj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTUgM3YxOCJ9XSxbInBhdGgiLHtkOiJtMTAgMTUtMy0zIDMtMyJ9XV19KTt2YXIgd04sa1JlPWYoKCk9Pnt3Tj1bWyJwYXRoIix7ZDoiTTE0IDE1aDEifV0sWyJwYXRoIix7ZDoiTTE0IDloMSJ9XSxbInBhdGgiLHtkOiJNMTkgMTVoMiJ9XSxbInBhdGgiLHtkOiJNMTkgOWgyIn1dLFsicGF0aCIse2Q6Ik0zIDE1aDIifV0sWyJwYXRoIix7ZDoiTTMgOWgyIn1dLFsicGF0aCIse2Q6Ik05IDE1aDEifV0sWyJwYXRoIix7ZDoiTTkgOWgxIn1dLFsicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dfSk7dmFyIE1OLFNSZT1mKCgpPT57TU49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE1IDN2MTgifV1dfSk7dmFyIGtOLHpSZT1mKCgpPT57a049W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgOWgxOCJ9XSxbInBhdGgiLHtkOiJtOSAxNiAzLTMgMyAzIn1dXX0pO3ZhciBxdSxDUmU9ZigoKT0+e3F1PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNCA5aDEifV0sWyJwYXRoIix7ZDoiTTE5IDloMiJ9XSxbInBhdGgiLHtkOiJNMyA5aDIifV0sWyJwYXRoIix7ZDoiTTkgOWgxIn1dXX0pO3ZhciBTTixfUmU9ZigoKT0+e1NOPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDloMTgifV0sWyJwYXRoIix7ZDoibTE1IDE0LTMgMy0zLTMifV1dfSk7dmFyIHpOLFRSZT1mKCgpPT57ek49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgOWgxOCJ9XV19KTt2YXIgQ04sTFJlPWYoKCk9PntDTj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4In1dLFsicGF0aCIse2Q6Ik05IDE1aDEyIn1dXX0pO3ZhciBfTiwkUmU9ZigoKT0+e19OPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDE1aDEyIn1dLFsicGF0aCIse2Q6Ik0xNSAzdjE4In1dXX0pO3ZhciBWdSxEUmU9ZigoKT0+e1Z1PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDloMTgifV0sWyJwYXRoIix7ZDoiTTkgMjFWOSJ9XV19KTt2YXIgVE4sQVJlPWYoKCk9PntUTj1bWyJwYXRoIix7ZDoibTE2IDYtOC40MTQgOC41ODZhMiAyIDAgMCAwIDIuODI5IDIuODI5bDguNDE0LTguNTg2YTQgNCAwIDEgMC01LjY1Ny01LjY1N2wtOC4zNzkgOC41NTFhNiA2IDAgMSAwIDguNDg1IDguNDg1bDguMzc5LTguNTUxIn1dXX0pO3ZhciBMTixFUmU9ZigoKT0+e0xOPVtbInBhdGgiLHtkOiJNOCAyMXMtNC0zLTQtOSA0LTkgNC05In1dLFsicGF0aCIse2Q6Ik0xNiAzczQgMyA0IDktNCA5LTQgOSJ9XV19KTt2YXIgJE4sUFJlPWYoKCk9PnskTj1bWyJwYXRoIix7ZDoiTTExIDE1aDIifV0sWyJwYXRoIix7ZDoiTTEyIDEydjMifV0sWyJwYXRoIix7ZDoiTTEyIDE5djMifV0sWyJwYXRoIix7ZDoiTTE1LjI4MiAxOWExIDEgMCAwIDAgLjk0OC0uNjhsMi4zNy02Ljk4OGE3IDcgMCAxIDAtMTMuMiAwbDIuMzcgNi45ODhhMSAxIDAgMCAwIC45NDguNjh6In1dLFsicGF0aCIse2Q6Ik05IDlhMyAzIDAgMSAxIDYgMCJ9XV19KTt2YXIgRE4sSVJlPWYoKCk9PntETj1bWyJyZWN0Iix7eDoiMTQiLHk6IjMiLHdpZHRoOiI1IixoZWlnaHQ6IjE4IixyeDoiMSJ9XSxbInJlY3QiLHt4OiI1Iix5OiIzIix3aWR0aDoiNSIsaGVpZ2h0OiIxOCIscng6IjEifV1dfSk7dmFyIEFOLE5SZT1mKCgpPT57QU49W1sicGF0aCIse2Q6Ik01LjggMTEuMyAyIDIybDEwLjctMy43OSJ9XSxbInBhdGgiLHtkOiJNNCAzaC4wMSJ9XSxbInBhdGgiLHtkOiJNMjIgOGguMDEifV0sWyJwYXRoIix7ZDoiTTE1IDJoLjAxIn1dLFsicGF0aCIse2Q6Ik0yMiAyMGguMDEifV0sWyJwYXRoIix7ZDoibTIyIDItMi4yNC43NWEyLjkgMi45IDAgMCAwLTEuOTYgMy4xMmMuMS44Ni0uNTcgMS42My0xLjQ1IDEuNjNoLS4zOGMtLjg2IDAtMS42LjYtMS43NiAxLjQ0TDE0IDEwIn1dLFsicGF0aCIse2Q6Im0yMiAxMy0uODItLjMzYy0uODYtLjM0LTEuODIuMi0xLjk4IDEuMTFjLS4xMS43LS43MiAxLjIyLTEuNDMgMS4yMkgxNyJ9XSxbInBhdGgiLHtkOiJtMTEgMiAuMzMuODJjLjM0Ljg2LS4yIDEuODItMS4xMSAxLjk4QzkuNTIgNC45IDkgNS41MiA5IDYuMjNWNyJ9XSxbInBhdGgiLHtkOiJNMTEgMTNjMS45MyAxLjkzIDIuODMgNC4xNyAyIDUtLjgzLjgzLTMuMDctLjA3LTUtMi0xLjkzLTEuOTMtMi44My00LjE3LTItNSAuODMtLjgzIDMuMDcuMDcgNSAyWiJ9XV19KTt2YXIgRU4sUlJlPWYoKCk9PntFTj1bWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiI0IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiOCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjE2IixyOiIyIn1dLFsicGF0aCIse2Q6Ik05IDEwYTUgNSAwIDAgMSA1IDV2My41YTMuNSAzLjUgMCAwIDEtNi44NCAxLjA0NVE2LjUyIDE3LjQ4IDQuNDYgMTYuODRBMy41IDMuNSAwIDAgMSA1LjUgMTBaIn1dXX0pO3ZhciBQTixPUmU9ZigoKT0+e1BOPVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiMjAiLHg6IjUiLHk6IjIiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNSAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTkgNmg2In1dLFsicGF0aCIse2Q6Ik05IDEwaDYifV1dfSk7dmFyIGp1LEZSZT1mKCgpPT57anU9W1sicGF0aCIse2Q6Ik0xMyAyMWg4In1dLFsicGF0aCIse2Q6Ik0yMS4xNzQgNi44MTJhMSAxIDAgMCAwLTMuOTg2LTMuOTg3TDMuODQyIDE2LjE3NGEyIDIgMCAwIDAtLjUuODNsLTEuMzIxIDQuMzUyYS41LjUgMCAwIDAgLjYyMy42MjJsNC4zNTMtMS4zMmEyIDIgMCAwIDAgLjgzLS40OTd6In1dXX0pO3ZhciBJTixCUmU9ZigoKT0+e0lOPVtbInBhdGgiLHtkOiJtMTAgMTAtNi4xNTcgNi4xNjJhMiAyIDAgMCAwLS41LjgzM2wtMS4zMjIgNC4zNmEuNS41IDAgMCAwIC42MjIuNjI0bDQuMzU4LTEuMzIzYTIgMiAwIDAgMCAuODMtLjVMMTQgMTMuOTgyIn1dLFsicGF0aCIse2Q6Im0xMi44MjkgNy4xNzIgNC4zNTktNC4zNDZhMSAxIDAgMSAxIDMuOTg2IDMuOTg2bC00LjM1MyA0LjM1MyJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXX0pO3ZhciBVdSxIUmU9ZigoKT0+e1V1PVtbInBhdGgiLHtkOiJNMjEuMTc0IDYuODEyYTEgMSAwIDAgMC0zLjk4Ni0zLjk4N0wzLjg0MiAxNi4xNzRhMiAyIDAgMCAwLS41LjgzbC0xLjMyMSA0LjM1MmEuNS41IDAgMCAwIC42MjMuNjIybDQuMzUzLTEuMzJhMiAyIDAgMCAwIC44My0uNDk3eiJ9XV19KTt2YXIgTk4scVJlPWYoKCk9PntOTj1bWyJwYXRoIix7ZDoiTTE1LjcwNyAyMS4yOTNhMSAxIDAgMCAxLTEuNDE0IDBsLTEuNTg2LTEuNTg2YTEgMSAwIDAgMSAwLTEuNDE0bDUuNTg2LTUuNTg2YTEgMSAwIDAgMSAxLjQxNCAwbDEuNTg2IDEuNTg2YTEgMSAwIDAgMSAwIDEuNDE0eiJ9XSxbInBhdGgiLHtkOiJtMTggMTMtMS4zNzUtNi44NzRhMSAxIDAgMCAwLS43NDYtLjc3NkwzLjIzNSAyLjAyOGExIDEgMCAwIDAtMS4yMDcgMS4yMDdMNS4zNSAxNS44NzlhMSAxIDAgMCAwIC43NzYuNzQ2TDEzIDE4In1dLFsicGF0aCIse2Q6Im0yLjMgMi4zIDcuMjg2IDcuMjg2In1dLFsiY2lyY2xlIix7Y3g6IjExIixjeToiMTEiLHI6IjIifV1dfSk7dmFyIFJOLFZSZT1mKCgpPT57Uk49W1sicGF0aCIse2Q6Ik0xMyAyMWg4In1dLFsicGF0aCIse2Q6Im0xNSA1IDQgNCJ9XSxbInBhdGgiLHtkOiJNMjEuMTc0IDYuODEyYTEgMSAwIDAgMC0zLjk4Ni0zLjk4N0wzLjg0MiAxNi4xNzRhMiAyIDAgMCAwLS41LjgzbC0xLjMyMSA0LjM1MmEuNS41IDAgMCAwIC42MjMuNjIybDQuMzUzLTEuMzJhMiAyIDAgMCAwIC44My0uNDk3eiJ9XV19KTt2YXIgT04salJlPWYoKCk9PntPTj1bWyJwYXRoIix7ZDoibTEwIDEwLTYuMTU3IDYuMTYyYTIgMiAwIDAgMC0uNS44MzNsLTEuMzIyIDQuMzZhLjUuNSAwIDAgMCAuNjIyLjYyNGw0LjM1OC0xLjMyM2EyIDIgMCAwIDAgLjgzLS41TDE0IDEzLjk4MiJ9XSxbInBhdGgiLHtkOiJtMTIuODI5IDcuMTcyIDQuMzU5LTQuMzQ2YTEgMSAwIDEgMSAzLjk4NiAzLjk4NmwtNC4zNTMgNC4zNTMifV0sWyJwYXRoIix7ZDoibTE1IDUgNCA0In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIEZOLFVSZT1mKCgpPT57Rk49W1sicGF0aCIse2Q6Ik0yMS4xNzQgNi44MTJhMSAxIDAgMCAwLTMuOTg2LTMuOTg3TDMuODQyIDE2LjE3NGEyIDIgMCAwIDAtLjUuODNsLTEuMzIxIDQuMzUyYS41LjUgMCAwIDAgLjYyMy42MjJsNC4zNTMtMS4zMmEyIDIgMCAwIDAgLjgzLS40OTd6In1dLFsicGF0aCIse2Q6Im0xNSA1IDQgNCJ9XV19KTt2YXIgQk4sV1JlPWYoKCk9PntCTj1bWyJwYXRoIix7ZDoiTTEzIDcgOC43IDIuN2EyLjQxIDIuNDEgMCAwIDAtMy40IDBMMi43IDUuM2EyLjQxIDIuNDEgMCAwIDAgMCAzLjRMNyAxMyJ9XSxbInBhdGgiLHtkOiJtOCA2IDItMiJ9XSxbInBhdGgiLHtkOiJtMTggMTYgMi0yIn1dLFsicGF0aCIse2Q6Im0xNyAxMSA0LjMgNC4zYy45NC45NC45NCAyLjQ2IDAgMy40bC0yLjYgMi42Yy0uOTQuOTQtMi40Ni45NC0zLjQgMEwxMSAxNyJ9XSxbInBhdGgiLHtkOiJNMjEuMTc0IDYuODEyYTEgMSAwIDAgMC0zLjk4Ni0zLjk4N0wzLjg0MiAxNi4xNzRhMiAyIDAgMCAwLS41LjgzbC0xLjMyMSA0LjM1MmEuNS41IDAgMCAwIC42MjMuNjIybDQuMzUzLTEuMzJhMiAyIDAgMCAwIC44My0uNDk3eiJ9XSxbInBhdGgiLHtkOiJtMTUgNSA0IDQifV1dfSk7dmFyIEhOLEdSZT1mKCgpPT57SE49W1sicGF0aCIse2Q6Ik0xMC44MyAyLjM4YTIgMiAwIDAgMSAyLjM0IDBsOCA1Ljc0YTIgMiAwIDAgMSAuNzMgMi4yNWwtMy4wNCA5LjI2YTIgMiAwIDAgMS0xLjkgMS4zN0g3LjA0YTIgMiAwIDAgMS0xLjktMS4zN0wyLjEgMTAuMzdhMiAyIDAgMCAxIC43My0yLjI1eiJ9XV19KTt2YXIgcU4sWVJlPWYoKCk9PntxTj1bWyJsaW5lIix7eDE6IjE5Iix4MjoiNSIseTE6IjUiLHkyOiIxOSJ9XSxbImNpcmNsZSIse2N4OiI2LjUiLGN5OiI2LjUiLHI6IjIuNSJ9XSxbImNpcmNsZSIse2N4OiIxNy41IixjeToiMTcuNSIscjoiMi41In1dXX0pO3ZhciBWTixLUmU9ZigoKT0+e1ZOPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjUiLHI6IjEifV0sWyJwYXRoIix7ZDoibTkgMjAgMy02IDMgNiJ9XSxbInBhdGgiLHtkOiJtNiA4IDYgMiA2LTIifV0sWyJwYXRoIix7ZDoiTTEyIDEwdjQifV1dfSk7dmFyIGpOLFpSZT1mKCgpPT57ak49W1sicGF0aCIse2Q6Ik0yMCAxMUg0In1dLFsicGF0aCIse2Q6Ik0yMCA3SDQifV0sWyJwYXRoIix7ZDoiTTcgMjFWNGExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDAgMTJINyJ9XV19KTt2YXIgVU4sWFJlPWYoKCk9PntVTj1bWyJwYXRoIix7ZDoiTTEzIDJhOSA5IDAgMCAxIDkgOSJ9XSxbInBhdGgiLHtkOiJNMTMgNmE1IDUgMCAwIDEgNSA1In1dLFsicGF0aCIse2Q6Ik0xMy44MzIgMTYuNTY4YTEgMSAwIDAgMCAxLjIxMy0uMzAzbC4zNTUtLjQ2NUEyIDIgMCAwIDEgMTcgMTVoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkExOCAxOCAwIDAgMSAyIDRhMiAyIDAgMCAxIDItMmgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtLjggMS42bC0uNDY4LjM1MWExIDEgMCAwIDAtLjI5MiAxLjIzMyAxNCAxNCAwIDAgMCA2LjM5MiA2LjM4NCJ9XV19KTt2YXIgV04sUVJlPWYoKCk9PntXTj1bWyJwYXRoIix7ZDoiTTE0IDZoOCJ9XSxbInBhdGgiLHtkOiJtMTggMiA0IDQtNCA0In1dLFsicGF0aCIse2Q6Ik0xMy44MzIgMTYuNTY4YTEgMSAwIDAgMCAxLjIxMy0uMzAzbC4zNTUtLjQ2NUEyIDIgMCAwIDEgMTcgMTVoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkExOCAxOCAwIDAgMSAyIDRhMiAyIDAgMCAxIDItMmgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtLjggMS42bC0uNDY4LjM1MWExIDEgMCAwIDAtLjI5MiAxLjIzMyAxNCAxNCAwIDAgMCA2LjM5MiA2LjM4NCJ9XV19KTt2YXIgR04sSlJlPWYoKCk9PntHTj1bWyJwYXRoIix7ZDoiTTE2IDJ2Nmg2In1dLFsicGF0aCIse2Q6Im0yMiAyLTYgNiJ9XSxbInBhdGgiLHtkOiJNMTMuODMyIDE2LjU2OGExIDEgMCAwIDAgMS4yMTMtLjMwM2wuMzU1LS40NjVBMiAyIDAgMCAxIDE3IDE1aDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJBMTggMTggMCAwIDEgMiA0YTIgMiAwIDAgMSAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLS44IDEuNmwtLjQ2OC4zNTFhMSAxIDAgMCAwLS4yOTIgMS4yMzMgMTQgMTQgMCAwIDAgNi4zOTIgNi4zODQifV1dfSk7dmFyIFlOLGVPZT1mKCgpPT57WU49W1sicGF0aCIse2Q6Im0xNiAyIDYgNiJ9XSxbInBhdGgiLHtkOiJtMjIgMi02IDYifV0sWyJwYXRoIix7ZDoiTTEzLjgzMiAxNi41NjhhMSAxIDAgMCAwIDEuMjEzLS4zMDNsLjM1NS0uNDY1QTIgMiAwIDAgMSAxNyAxNWgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAyQTE4IDE4IDAgMCAxIDIgNGEyIDIgMCAwIDEgMi0yaDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0uOCAxLjZsLS40NjguMzUxYTEgMSAwIDAgMC0uMjkyIDEuMjMzIDE0IDE0IDAgMCAwIDYuMzkyIDYuMzg0In1dXX0pO3ZhciBLTix0T2U9ZigoKT0+e0tOPVtbInBhdGgiLHtkOiJNMTAuMSAxMy45YTE0IDE0IDAgMCAwIDMuNzMyIDIuNjY4IDEgMSAwIDAgMCAxLjIxMy0uMzAzbC4zNTUtLjQ2NUEyIDIgMCAwIDEgMTcgMTVoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMiAxOCAxOCAwIDAgMS0xMi43MjgtNS4yNzIifV0sWyJwYXRoIix7ZDoiTTIyIDIgMiAyMiJ9XSxbInBhdGgiLHtkOiJNNC43NiAxMy41ODJBMTggMTggMCAwIDEgMiA0YTIgMiAwIDAgMSAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLS44IDEuNmwtLjQ2OC4zNTFhMSAxIDAgMCAwLS4yOTIgMS4yMzMgMTQgMTQgMCAwIDAgLjI0NC40NzMifV1dfSk7dmFyIFpOLGFPZT1mKCgpPT57Wk49W1sicGF0aCIse2Q6Im0xNiA4IDYtNiJ9XSxbInBhdGgiLHtkOiJNMjIgOFYyaC02In1dLFsicGF0aCIse2Q6Ik0xMy44MzIgMTYuNTY4YTEgMSAwIDAgMCAxLjIxMy0uMzAzbC4zNTUtLjQ2NUEyIDIgMCAwIDEgMTcgMTVoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkExOCAxOCAwIDAgMSAyIDRhMiAyIDAgMCAxIDItMmgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtLjggMS42bC0uNDY4LjM1MWExIDEgMCAwIDAtLjI5MiAxLjIzMyAxNCAxNCAwIDAgMCA2LjM5MiA2LjM4NCJ9XV19KTt2YXIgWE4sck9lPWYoKCk9PntYTj1bWyJsaW5lIix7eDE6IjkiLHgyOiI5Iix5MToiNCIseTI6IjIwIn1dLFsicGF0aCIse2Q6Ik00IDdjMC0xLjcgMS4zLTMgMy0zaDEzIn1dLFsicGF0aCIse2Q6Ik0xOCAyMGMtMS43IDAtMy0xLjMtMy0zVjQifV1dfSk7dmFyIFFOLHNPZT1mKCgpPT57UU49W1sicGF0aCIse2Q6Ik0xMy44MzIgMTYuNTY4YTEgMSAwIDAgMCAxLjIxMy0uMzAzbC4zNTUtLjQ2NUEyIDIgMCAwIDEgMTcgMTVoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkExOCAxOCAwIDAgMSAyIDRhMiAyIDAgMCAxIDItMmgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtLjggMS42bC0uNDY4LjM1MWExIDEgMCAwIDAtLjI5MiAxLjIzMyAxNCAxNCAwIDAgMCA2LjM5MiA2LjM4NCJ9XV19KTt2YXIgSk4saU9lPWYoKCk9PntKTj1bWyJwYXRoIix7ZDoiTTE4LjUgOGMtMS40IDAtMi42LS44LTMuMi0yQTYuODcgNi44NyAwIDAgMCAyIDl2MTFhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi04LjVDMjIgOS42IDIwLjQgOCAxOC41IDgifV0sWyJwYXRoIix7ZDoiTTIgMTRoMjAifV0sWyJwYXRoIix7ZDoiTTYgMTR2NCJ9XSxbInBhdGgiLHtkOiJNMTAgMTR2NCJ9XSxbInBhdGgiLHtkOiJNMTQgMTR2NCJ9XSxbInBhdGgiLHtkOiJNMTggMTR2NCJ9XV19KTt2YXIgZVIsb09lPWYoKCk9PntlUj1bWyJwYXRoIix7ZDoibTE0IDEzLTguMzgxIDguMzhhMSAxIDAgMCAxLTMuMDAxLTNMMTEgOS45OTkifV0sWyJwYXRoIix7ZDoiTTE1Ljk3MyA0LjAyN0ExMyAxMyAwIDAgMCA1LjkwMiAyLjM3M2MtMS4zOTguMzQyLTEuMDkyIDIuMTU4LjI3NyAyLjYwMWExOS45IDE5LjkgMCAwIDEgNS44MjIgMy4wMjQifV0sWyJwYXRoIix7ZDoiTTE2LjAwMSAxMS45OTlhMTkuOSAxOS45IDAgMCAxIDMuMDI0IDUuODI0Yy40NDQgMS4zNjkgMi4yNiAxLjY3NiAyLjYwMy4yNzhBMTMgMTMgMCAwIDAgMjAgOC4wNjkifV0sWyJwYXRoIix7ZDoiTTE4LjM1MiAzLjM1MmExLjIwNSAxLjIwNSAwIDAgMC0xLjcwNCAwbC01LjI5NiA1LjI5NmExLjIwNSAxLjIwNSAwIDAgMCAwIDEuNzA0bDIuMjk2IDIuMjk2YTEuMjA1IDEuMjA1IDAgMCAwIDEuNzA0IDBsNS4yOTYtNS4yOTZhMS4yMDUgMS4yMDUgMCAwIDAgMC0xLjcwNHoifV1dfSk7dmFyIHRSLG5PZT1mKCgpPT57dFI9W1sicGF0aCIse2Q6Ik0yMSA5VjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTBjMCAxLjEuOSAyIDIgMmg0In1dLFsicmVjdCIse3dpZHRoOiIxMCIsaGVpZ2h0OiI3Iix4OiIxMiIseToiMTMiLHJ4OiIyIn1dXX0pO3ZhciBhUixsT2U9ZigoKT0+e2FSPVtbInBhdGgiLHtkOiJNMiAxMGg2VjQifV0sWyJwYXRoIix7ZDoibTIgNCA2IDYifV0sWyJwYXRoIix7ZDoiTTIxIDEwVjdhMiAyIDAgMCAwLTItMmgtNyJ9XSxbInBhdGgiLHtkOiJNMyAxNHYyYTIgMiAwIDAgMCAyIDJoMyJ9XSxbInJlY3QiLHt4OiIxMiIseToiMTQiLHdpZHRoOiIxMCIsaGVpZ2h0OiI3IixyeDoiMSJ9XV19KTt2YXIgclIsY09lPWYoKCk9PntyUj1bWyJwYXRoIix7ZDoiTTExIDE3aDN2MmExIDEgMCAwIDAgMSAxaDJhMSAxIDAgMCAwIDEtMXYtM2EzLjE2IDMuMTYgMCAwIDAgMi0yaDFhMSAxIDAgMCAwIDEtMXYtMmExIDEgMCAwIDAtMS0xaC0xYTUgNSAwIDAgMC0yLTRWM2E0IDQgMCAwIDAtMy4yIDEuNmwtLjMuNEgxMWE2IDYgMCAwIDAtNiA2djFhNSA1IDAgMCAwIDIgNHYzYTEgMSAwIDAgMCAxIDFoMmExIDEgMCAwIDAgMS0xeiJ9XSxbInBhdGgiLHtkOiJNMTYgMTBoLjAxIn1dLFsicGF0aCIse2Q6Ik0yIDh2MWEyIDIgMCAwIDAgMiAyaDEifV1dfSk7dmFyIHNSLGRPZT1mKCgpPT57c1I9W1sicGF0aCIse2Q6Ik0xNCAzdjExIn1dLFsicGF0aCIse2Q6Ik0xNCA5aC0zYTMgMyAwIDAgMSAwLTZoOSJ9XSxbInBhdGgiLHtkOiJNMTggM3YxMSJ9XSxbInBhdGgiLHtkOiJNMjIgMThIMmw0LTQifV0sWyJwYXRoIix7ZDoibTYgMjItNC00In1dXX0pO3ZhciBpUix1T2U9ZigoKT0+e2lSPVtbInBhdGgiLHtkOiJNMTAgM3YxMSJ9XSxbInBhdGgiLHtkOiJNMTAgOUg3YTEgMSAwIDAgMSAwLTZoOCJ9XSxbInBhdGgiLHtkOiJNMTQgM3YxMSJ9XSxbInBhdGgiLHtkOiJtMTggMTQgNCA0SDIifV0sWyJwYXRoIix7ZDoibTIyIDE4LTQgNCJ9XV19KTt2YXIgb1IscE9lPWYoKCk9PntvUj1bWyJwYXRoIix7ZDoiTTEzIDR2MTYifV0sWyJwYXRoIix7ZDoiTTE3IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE5IDRIOS41YTQuNSA0LjUgMCAwIDAgMCA5SDEzIn1dXX0pO3ZhciBuUixmT2U9ZigoKT0+e25SPVtbInBhdGgiLHtkOiJNMTggMTFoLTRhMSAxIDAgMCAwLTEgMXY1YTEgMSAwIDAgMCAxIDFoNCJ9XSxbInBhdGgiLHtkOiJNNiA3djEzYTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMi0yVjcifV0sWyJyZWN0Iix7d2lkdGg6IjE2IixoZWlnaHQ6IjUiLHg6IjQiLHk6IjIiLHJ4OiIxIn1dXX0pO3ZhciBsUixoT2U9ZigoKT0+e2xSPVtbInBhdGgiLHtkOiJNMTIgMTd2NSJ9XSxbInBhdGgiLHtkOiJNMTUgOS4zNFY3YTEgMSAwIDAgMSAxLTEgMiAyIDAgMCAwIDAtNEg3Ljg5In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTkgOXYxLjc2YTIgMiAwIDAgMS0xLjExIDEuNzlsLTEuNzguOUEyIDIgMCAwIDAgNSAxNS4yNFYxNmExIDEgMCAwIDAgMSAxaDExIn1dXX0pO3ZhciBjUixtT2U9ZigoKT0+e2NSPVtbInBhdGgiLHtkOiJtMTAuNSAyMC41IDEwLTEwYTQuOTUgNC45NSAwIDEgMC03LTdsLTEwIDEwYTQuOTUgNC45NSAwIDEgMCA3IDdaIn1dLFsicGF0aCIse2Q6Im04LjUgOC41IDcgNyJ9XV19KTt2YXIgZFIsZ09lPWYoKCk9PntkUj1bWyJwYXRoIix7ZDoiTTEyIDE3djUifV0sWyJwYXRoIix7ZDoiTTkgMTAuNzZhMiAyIDAgMCAxLTEuMTEgMS43OWwtMS43OC45QTIgMiAwIDAgMCA1IDE1LjI0VjE2YTEgMSAwIDAgMCAxIDFoMTJhMSAxIDAgMCAwIDEtMXYtLjc2YTIgMiAwIDAgMC0xLjExLTEuNzlsLTEuNzgtLjlBMiAyIDAgMCAxIDE1IDEwLjc2VjdhMSAxIDAgMCAxIDEtMSAyIDIgMCAwIDAgMC00SDhhMiAyIDAgMCAwIDAgNCAxIDEgMCAwIDEgMSAxeiJ9XV19KTt2YXIgdVIsYk9lPWYoKCk9Pnt1Uj1bWyJwYXRoIix7ZDoibTEyIDktOC40MTQgOC40MTRBMiAyIDAgMCAwIDMgMTguODI4djEuMzQ0YTIgMiAwIDAgMS0uNTg2IDEuNDE0QTIgMiAwIDAgMSAzLjgyOCAyMWgxLjM0NGEyIDIgMCAwIDAgMS40MTQtLjU4NkwxNSAxMiJ9XSxbInBhdGgiLHtkOiJtMTggOSAuNC40YTEgMSAwIDEgMS0zIDNsLTMuOC0zLjhhMSAxIDAgMSAxIDMtM2wuNC40IDMuNC0zLjRhMSAxIDAgMSAxIDMgM3oifV0sWyJwYXRoIix7ZDoibTIgMjIgLjQxNC0uNDE0In1dXX0pO3ZhciBwUix2T2U9ZigoKT0+e3BSPVtbInBhdGgiLHtkOiJtMTIgMTQtMSAxIn1dLFsicGF0aCIse2Q6Im0xMy43NSAxOC4yNS0xLjI1IDEuNDIifV0sWyJwYXRoIix7ZDoiTTE3Ljc3NSA1LjY1NGExNS42OCAxNS42OCAwIDAgMC0xMi4xMjEgMTIuMTIifV0sWyJwYXRoIix7ZDoiTTE4LjggOS4zYTEgMSAwIDAgMCAyLjEgNy43In1dLFsicGF0aCIse2Q6Ik0yMS45NjQgMjAuNzMyYTEgMSAwIDAgMS0xLjIzMiAxLjIzMmwtMTgtNWExIDEgMCAwIDEtLjY5NS0xLjIzMkExOS42OCAxOS42OCAwIDAgMSAxNS43MzIgMi4wMzdhMSAxIDAgMCAxIDEuMjMyLjY5NXoifV1dfSk7dmFyIGZSLHhPZT1mKCgpPT57ZlI9W1sicGF0aCIse2Q6Ik0yIDIyaDIwIn1dLFsicGF0aCIse2Q6Ik0zLjc3IDEwLjc3IDIgOWwyLTQuNSAxLjEuNTVjLjU1LjI4LjkuODQuOSAxLjQ1cy4zNSAxLjE3LjkgMS40NUw4IDguNWwzLTYgMS4wNS41M2EyIDIgMCAwIDEgMS4wOSAxLjUybC43MiA1LjRhMiAyIDAgMCAwIDEuMDkgMS41Mmw0LjQgMi4yYy40Mi4yMi43OC41NSAxLjAxLjk2bC42IDEuMDNjLjQ5Ljg4LS4wNiAxLjk4LTEuMDYgMi4xbC0xLjE4LjE1Yy0uNDcuMDYtLjk1LS4wMi0xLjM3LS4yNEw0LjI5IDExLjE1YTIgMiAwIDAgMS0uNTItLjM4WiJ9XV19KTt2YXIgaFIseU9lPWYoKCk9PntoUj1bWyJwYXRoIix7ZDoiTTIgMjJoMjAifV0sWyJwYXRoIix7ZDoiTTYuMzYgMTcuNCA0IDE3bC0yLTQgMS4xLS41NWEyIDIgMCAwIDEgMS44IDBsLjE3LjFhMiAyIDAgMCAwIDEuOCAwTDggMTIgNSA2bC45LS40NWEyIDIgMCAwIDEgMi4wOS4ybDQuMDIgM2EyIDIgMCAwIDAgMi4xLjJsNC4xOS0yLjA2YTIuNDEgMi40MSAwIDAgMSAxLjczLS4xN0wyMSA3YTEuNCAxLjQgMCAwIDEgLjg3IDEuOTlsLS4zOC43NmMtLjIzLjQ2LS42Ljg0LTEuMDcgMS4wOEw3LjU4IDE3LjJhMiAyIDAgMCAxLTEuMjIuMThaIn1dXX0pO3ZhciBtUix3T2U9ZigoKT0+e21SPVtbInBhdGgiLHtkOiJNMTcuOCAxOS4yIDE2IDExbDMuNS0zLjVDMjEgNiAyMS41IDQgMjEgM2MtMS0uNS0zIDAtNC41IDEuNUwxMyA4IDQuOCA2LjJjLS41LS4xLS45LjEtMS4xLjVsLS4zLjVjLS4yLjUtLjEgMSAuMyAxLjNMOSAxMmwtMiAzSDRsLTEgMSAzIDIgMiAzIDEtMXYtM2wzLTIgMy41IDUuM2MuMy40LjguNSAxLjMuM2wuNS0uMmMuNC0uMy42LS43LjUtMS4yeiJ9XV19KTt2YXIgZ1IsTU9lPWYoKCk9PntnUj1bWyJwYXRoIix7ZDoiTTUgNWEyIDIgMCAwIDEgMy4wMDgtMS43MjhsMTEuOTk3IDYuOTk4YTIgMiAwIDAgMSAuMDAzIDMuNDU4bC0xMiA3QTIgMiAwIDAgMSA1IDE5eiJ9XV19KTt2YXIgYlIsa09lPWYoKCk9PntiUj1bWyJwYXRoIix7ZDoiTTkgMnY2In1dLFsicGF0aCIse2Q6Ik0xNSAydjYifV0sWyJwYXRoIix7ZDoiTTEyIDE3djUifV0sWyJwYXRoIix7ZDoiTTUgOGgxNCJ9XSxbInBhdGgiLHtkOiJNNiAxMVY4aDEydjNhNiA2IDAgMSAxLTEyIDBaIn1dXX0pO3ZhciBXdSxTT2U9ZigoKT0+e1d1PVtbInBhdGgiLHtkOiJNNi4zIDIwLjNhMi40IDIuNCAwIDAgMCAzLjQgMEwxMiAxOGwtNi02LTIuMyAyLjNhMi40IDIuNCAwIDAgMCAwIDMuNFoifV0sWyJwYXRoIix7ZDoibTIgMjIgMy0zIn1dLFsicGF0aCIse2Q6Ik03LjUgMTMuNSAxMCAxMSJ9XSxbInBhdGgiLHtkOiJNMTAuNSAxNi41IDEzIDE0In1dLFsicGF0aCIse2Q6Im0xOCAzLTQgNGg2bC00IDQifV1dfSk7dmFyIHZSLHpPZT1mKCgpPT57dlI9W1sicGF0aCIse2Q6Ik0xMiAyMnYtNSJ9XSxbInBhdGgiLHtkOiJNMTUgOFYyIn1dLFsicGF0aCIse2Q6Ik0xNyA4YTEgMSAwIDAgMSAxIDF2NGE0IDQgMCAwIDEtNCA0aC00YTQgNCAwIDAgMS00LTRWOWExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNOSA4VjIifV1dfSk7dmFyIHhSLENPZT1mKCgpPT57eFI9W1sicGF0aCIse2Q6Ik01IDEyaDE0In1dLFsicGF0aCIse2Q6Ik0xMiA1djE0In1dXX0pO3ZhciB5UixfT2U9ZigoKT0+e3lSPVtbInBhdGgiLHtkOiJNMyAydjFjMCAxIDIgMSAyIDJTMyA2IDMgN3MyIDEgMiAyLTIgMS0yIDIgMiAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMTggNmguMDEifV0sWyJwYXRoIix7ZDoiTTYgMThoLjAxIn1dLFsicGF0aCIse2Q6Ik0yMC44MyA4LjgzYTQgNCAwIDAgMC01LjY2LTUuNjZsLTEyIDEyYTQgNCAwIDEgMCA1LjY2IDUuNjZaIn1dLFsicGF0aCIse2Q6Ik0xOCAxMS42NlYyMmE0IDQgMCAwIDAgNC00VjYifV1dfSk7dmFyIHdSLFRPZT1mKCgpPT57d1I9W1sicGF0aCIse2Q6Ik0xMyAxN2ExIDEgMCAxIDAtMiAwbC41IDQuNWEwLjUgMC41IDAgMCAwIDEgMHoiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XSxbInBhdGgiLHtkOiJNMTYuODUgMTguNThhOSA5IDAgMSAwLTkuNyAwIn1dLFsicGF0aCIse2Q6Ik04IDE0YTUgNSAwIDEgMSA4IDAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMSIscjoiMSIsZmlsbDoiY3VycmVudENvbG9yIn1dXX0pO3ZhciBNUixMT2U9ZigoKT0+e01SPVtbInBhdGgiLHtkOiJNMjIgMTRhOCA4IDAgMCAxLTggOCJ9XSxbInBhdGgiLHtkOiJNMTggMTF2LTFhMiAyIDAgMCAwLTItMmEyIDIgMCAwIDAtMiAyIn1dLFsicGF0aCIse2Q6Ik0xNCAxMFY5YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMnYxIn1dLFsicGF0aCIse2Q6Ik0xMCA5LjVWNGEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDJ2MTAifV0sWyJwYXRoIix7ZDoiTTE4IDExYTIgMiAwIDEgMSA0IDB2M2E4IDggMCAwIDEtOCA4aC0yYy0yLjggMC00LjUtLjg2LTUuOTktMi4zNGwtMy42LTMuNmEyIDIgMCAwIDEgMi44My0yLjgyTDcgMTUifV1dfSk7dmFyIGtSLCRPZT1mKCgpPT57a1I9W1sicGF0aCIse2Q6Ik0xMCA0LjVWNGEyIDIgMCAwIDAtMi40MS0xLjk1NyJ9XSxbInBhdGgiLHtkOiJNMTMuOSA4LjRhMiAyIDAgMCAwLTEuMjYtMS4yOTUifV0sWyJwYXRoIix7ZDoiTTIxLjcgMTYuMkE4IDggMCAwIDAgMjIgMTR2LTNhMiAyIDAgMSAwLTQgMHYtMWEyIDIgMCAwIDAtMy42My0xLjE1OCJ9XSxbInBhdGgiLHtkOiJtNyAxNS0xLjgtMS44YTIgMiAwIDAgMC0yLjc5IDIuODZMNiAxOS43YTcuNzQgNy43NCAwIDAgMCA2IDIuM2gyYTggOCAwIDAgMCA1LjY1Ny0yLjM0MyJ9XSxbInBhdGgiLHtkOiJNNiA2djgifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgU1IsRE9lPWYoKCk9PntTUj1bWyJwYXRoIix7ZDoiTTE4IDhhMiAyIDAgMCAwIDAtNCAyIDIgMCAwIDAtNCAwIDIgMiAwIDAgMC00IDAgMiAyIDAgMCAwLTQgMCAyIDIgMCAwIDAgMCA0In1dLFsicGF0aCIse2Q6Ik0xMCAyMiA5IDgifV0sWyJwYXRoIix7ZDoibTE0IDIyIDEtMTQifV0sWyJwYXRoIix7ZDoiTTIwIDhjLjUgMCAuOS40LjggMWwtMi42IDEyYy0uMS41LS43IDEtMS4yIDFIN2MtLjYgMC0xLjEtLjQtMS4yLTFMMy4yIDljLS4xLS42LjMtMSAuOC0xWiJ9XV19KTt2YXIgelIsQU9lPWYoKCk9Pnt6Uj1bWyJwYXRoIix7ZDoiTTE4LjYgMTQuNGMuOC0uOC44LTIgMC0yLjhsLTguMS04LjFhNC45NSA0Ljk1IDAgMSAwLTcuMSA3LjFsOC4xIDguMWMuOS43IDIuMS43IDIuOS0uMVoifV0sWyJwYXRoIix7ZDoibTIyIDIyLTUuNS01LjUifV1dfSk7dmFyIENSLEVPZT1mKCgpPT57Q1I9W1sicGF0aCIse2Q6Ik0xOCA3YzAtNS4zMzMtOC01LjMzMy04IDAifV0sWyJwYXRoIix7ZDoiTTEwIDd2MTQifV0sWyJwYXRoIix7ZDoiTTYgMjFoMTIifV0sWyJwYXRoIix7ZDoiTTYgMTNoMTAifV1dfSk7dmFyIF9SLFBPZT1mKCgpPT57X1I9W1sicGF0aCIse2Q6Ik0xOC4zNiA2LjY0QTkgOSAwIDAgMSAyMC43NyAxNSJ9XSxbInBhdGgiLHtkOiJNNi4xNiA2LjE2YTkgOSAwIDEgMCAxMi42OCAxMi42OCJ9XSxbInBhdGgiLHtkOiJNMTIgMnY0In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIFRSLElPZT1mKCgpPT57VFI9W1sicGF0aCIse2Q6Ik0xMiAydjEwIn1dLFsicGF0aCIse2Q6Ik0xOC40IDYuNmE5IDkgMCAxIDEtMTIuNzcuMDQifV1dfSk7dmFyIExSLE5PZT1mKCgpPT57TFI9W1sicGF0aCIse2Q6Ik0yIDNoMjAifV0sWyJwYXRoIix7ZDoiTTIxIDN2MTFhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWMyJ9XSxbInBhdGgiLHtkOiJtNyAyMSA1LTUgNSA1In1dXX0pO3ZhciAkUixST2U9ZigoKT0+eyRSPVtbInBhdGgiLHtkOiJNMTIuNTMxIDIySDdhMSAxIDAgMCAxLTEtMXYtNmExIDEgMCAwIDEgMS0xaDYuMzc3In1dLFsicGF0aCIse2Q6Im0xNi41IDE2LjUgNSA1In1dLFsicGF0aCIse2Q6Im0xNi41IDIxLjUgNS01In1dLFsicGF0aCIse2Q6Ik02IDE4SDRhMiAyIDAgMCAxLTItMnYtNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2MS41In1dLFsicGF0aCIse2Q6Ik02IDlWM2ExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2NiJ9XV19KTt2YXIgRFIsT09lPWYoKCk9PntEUj1bWyJwYXRoIix7ZDoiTTEzLjUgMjJIN2ExIDEgMCAwIDEtMS0xdi02YTEgMSAwIDAgMSAxLTFoMTBhMSAxIDAgMCAxIDEgMXYuNSJ9XSxbInBhdGgiLHtkOiJtMTYgMTkgMiAyIDQtNCJ9XSxbInBhdGgiLHtkOiJNNiAxOEg0YTIgMiAwIDAgMS0yLTJ2LTVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTYgOVYzYTEgMSAwIDAgMSAxLTFoMTBhMSAxIDAgMCAxIDEgMXY2In1dXX0pO3ZhciBBUixGT2U9ZigoKT0+e0FSPVtbInBhdGgiLHtkOiJNNiAxOEg0YTIgMiAwIDAgMS0yLTJ2LTVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjVhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNiA5VjNhMSAxIDAgMCAxIDEtMWgxMGExIDEgMCAwIDEgMSAxdjYifV0sWyJyZWN0Iix7eDoiNiIseToiMTQiLHdpZHRoOiIxMiIsaGVpZ2h0OiI4IixyeDoiMSJ9XV19KTt2YXIgRVIsQk9lPWYoKCk9PntFUj1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE2Iix4OiIyIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgOXYxMSJ9XSxbInBhdGgiLHtkOiJNMiA5aDEzYTIgMiAwIDAgMSAyIDJ2OSJ9XV19KTt2YXIgUFIsSE9lPWYoKCk9PntQUj1bWyJwYXRoIix7ZDoiTTE1LjM5IDQuMzlhMSAxIDAgMCAwIDEuNjgtLjQ3NCAyLjUgMi41IDAgMSAxIDMuMDE0IDMuMDE1IDEgMSAwIDAgMC0uNDc0IDEuNjhsMS42ODMgMS42ODJhMi40MTQgMi40MTQgMCAwIDEgMCAzLjQxNEwxOS42MSAxNS4zOWExIDEgMCAwIDEtMS42OC0uNDc0IDIuNSAyLjUgMCAxIDAtMy4wMTQgMy4wMTUgMSAxIDAgMCAxIC40NzQgMS42OGwtMS42ODMgMS42ODJhMi40MTQgMi40MTQgMCAwIDEtMy40MTQgMEw4LjYxIDE5LjYxYTEgMSAwIDAgMC0xLjY4LjQ3NCAyLjUgMi41IDAgMSAxLTMuMDE0LTMuMDE1IDEgMSAwIDAgMCAuNDc0LTEuNjhsLTEuNjgzLTEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxIDAtMy40MTRMNC4zOSA4LjYxYTEgMSAwIDAgMSAxLjY4LjQ3NCAyLjUgMi41IDAgMSAwIDMuMDE0LTMuMDE1IDEgMSAwIDAgMS0uNDc0LTEuNjhsMS42ODMtMS42ODJhMi40MTQgMi40MTQgMCAwIDEgMy40MTQgMHoifV1dfSk7dmFyIElSLHFPZT1mKCgpPT57SVI9W1sicGF0aCIse2Q6Ik01IDcgMyA1In1dLFsicGF0aCIse2Q6Ik05IDZWMyJ9XSxbInBhdGgiLHtkOiJtMTMgNyAyLTIifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjEzIixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xMS44MyAxMkgyMGEyIDIgMCAwIDEgMiAydjRhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJ2LTRhMiAyIDAgMCAxIDItMmgyLjE3In1dLFsicGF0aCIse2Q6Ik0xNiAxNmgyIn1dXX0pO3ZhciBOUixWT2U9ZigoKT0+e05SPVtbInBhdGgiLHtkOiJNMi41IDE2Ljg4YTEgMSAwIDAgMS0uMzItMS40M2w5LTEzLjAyYTEgMSAwIDAgMSAxLjY0IDBsOSAxMy4wMWExIDEgMCAwIDEtLjMyIDEuNDRsLTguNTEgNC44NmEyIDIgMCAwIDEtMS45OCAwWiJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyMCJ9XV19KTt2YXIgUlIsak9lPWYoKCk9PntSUj1bWyJwYXRoIix7ZDoiTTE2IDNhMiAyIDAgMCAwLTIgMnY2YTIgMiAwIDAgMCAyIDIgMSAxIDAgMCAxIDEgMXYxYTIgMiAwIDAgMS0yIDIgMSAxIDAgMCAwLTEgMXYyYTEgMSAwIDAgMCAxIDEgNiA2IDAgMCAwIDYtNlY1YTIgMiAwIDAgMC0yLTJ6In1dLFsicGF0aCIse2Q6Ik01IDNhMiAyIDAgMCAwLTIgMnY2YTIgMiAwIDAgMCAyIDIgMSAxIDAgMCAxIDEgMXYxYTIgMiAwIDAgMS0yIDIgMSAxIDAgMCAwLTEgMXYyYTEgMSAwIDAgMCAxIDEgNiA2IDAgMCAwIDYtNlY1YTIgMiAwIDAgMC0yLTJ6In1dXX0pO3ZhciBPUixVT2U9ZigoKT0+e09SPVtbInJlY3QiLHt3aWR0aDoiNSIsaGVpZ2h0OiI1Iix4OiIzIix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNSIsaGVpZ2h0OiI1Iix4OiIxNiIseToiMyIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjUiLGhlaWdodDoiNSIseDoiMyIseToiMTYiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik0yMSAxNmgtM2EyIDIgMCAwIDAtMiAydjMifV0sWyJwYXRoIix7ZDoiTTIxIDIxdi4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgN3YzYTIgMiAwIDAgMS0yIDJINyJ9XSxbInBhdGgiLHtkOiJNMyAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDNoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxNnYuMDEifV0sWyJwYXRoIix7ZDoiTTE2IDEyaDEifV0sWyJwYXRoIix7ZDoiTTIxIDEydi4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMjF2LTEifV1dfSk7dmFyIEZSLFdPZT1mKCgpPT57RlI9W1sicGF0aCIse2Q6Ik0xOS4wNyA0LjkzQTEwIDEwIDAgMCAwIDYuOTkgMy4zNCJ9XSxbInBhdGgiLHtkOiJNNCA2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMi4yOSA5LjYyQTEwIDEwIDAgMSAwIDIxLjMxIDguMzUifV0sWyJwYXRoIix7ZDoiTTE2LjI0IDcuNzZBNiA2IDAgMSAwIDguMjMgMTYuNjcifV0sWyJwYXRoIix7ZDoiTTEyIDE4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcuOTkgMTEuNjZBNiA2IDAgMCAxIDE1Ljc3IDE2LjY3In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV0sWyJwYXRoIix7ZDoibTEzLjQxIDEwLjU5IDUuNjYtNS42NiJ9XV19KTt2YXIgQlIsR09lPWYoKCk9PntCUj1bWyJwYXRoIix7ZDoiTTEzIDE2YTMgMyAwIDAgMSAyLjI0IDUifV0sWyJwYXRoIix7ZDoiTTE4IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggMjFoLThhNCA0IDAgMCAxLTQtNCA3IDcgMCAwIDEgNy03aC4yTDkuNiA2LjRhMSAxIDAgMSAxIDIuOC0yLjhMMTUuOCA3aC4yYzMuMyAwIDYgMi43IDYgNnYxYTIgMiAwIDAgMS0yIDJoLTFhMyAzIDAgMCAwLTMgMyJ9XSxbInBhdGgiLHtkOiJNMjAgOC41NFY0YTIgMiAwIDEgMC00IDB2MyJ9XSxbInBhdGgiLHtkOiJNNy42MTIgMTIuNTI0YTMgMyAwIDEgMC0xLjYgNC4zIn1dXX0pO3ZhciBIUixZT2U9ZigoKT0+e0hSPVtbInBhdGgiLHtkOiJNMTIgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCAxNS40NjQxYTQgNCAwIDAgMS00IDBMNy41Mjc4NiAxOS43NDU5NyBBIDEgMSAwIDAgMCA3Ljk5MzAzIDIxLjE2MjExIDEwIDEwIDAgMCAwIDE2LjAwNjk3IDIxLjE2MjExIDEgMSAwIDAgMCAxNi40NzIxNCAxOS43NDU5N3oifV0sWyJwYXRoIix7ZDoiTTE2IDEyYTQgNCAwIDAgMC0yLTMuNDY0bDIuNDcyLTQuMjgyYTEgMSAwIDAgMSAxLjQ2LS4zMDUgMTAgMTAgMCAwIDEgNC4wMDYgNi45NEExIDEgMCAwIDEgMjEgMTJ6In1dLFsicGF0aCIse2Q6Ik04IDEyYTQgNCAwIDAgMSAyLTMuNDY0TDcuNTI4IDQuMjU0YTEgMSAwIDAgMC0xLjQ2LS4zMDUgMTAgMTAgMCAwIDAtNC4wMDYgNi45NEExIDEgMCAwIDAgMyAxMnoifV1dfSk7dmFyIHFSLEtPZT1mKCgpPT57cVI9W1sicGF0aCIse2Q6Ik0zIDEyaDMuMjhhMSAxIDAgMCAxIC45NDguNjg0bDIuMjk4IDcuOTM0YS41LjUgMCAwIDAgLjk2LS4wNDRMMTMuODIgNC43NzFBMSAxIDAgMCAxIDE0Ljc5MiA0SDIxIn1dXX0pO3ZhciBWUixaT2U9ZigoKT0+e1ZSPVtbInBhdGgiLHtkOiJNMTMuNDE0IDEzLjQxNGEyIDIgMCAxIDEtMi44MjgtMi44MjgifV0sWyJwYXRoIix7ZDoiTTE2LjI0NyA3Ljc2MWE2IDYgMCAwIDEgMS43NDQgNC41NzIifV0sWyJwYXRoIix7ZDoiTTE5LjA3NSA0LjkzM2ExMCAxMCAwIDAgMSAyLjIzNCAxMC43MiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik00LjkyNSAxOS4wNjdhMTAgMTAgMCAwIDEgMC0xNC4xMzQifV0sWyJwYXRoIix7ZDoiTTcuNzUzIDE2LjIzOWE2IDYgMCAwIDEgMC04LjQ3OCJ9XV19KTt2YXIgalIsWE9lPWYoKCk9PntqUj1bWyJwYXRoIix7ZDoiTTUgMTZ2MiJ9XSxbInBhdGgiLHtkOiJNMTkgMTZ2MiJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiOCIseDoiMiIseToiOCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE4IDEyaC4wMSJ9XV19KTt2YXIgVVIsUU9lPWYoKCk9PntVUj1bWyJwYXRoIix7ZDoiTTQuOSAxNi4xQzEgMTIuMiAxIDUuOCA0LjkgMS45In1dLFsicGF0aCIse2Q6Ik03LjggNC43YTYuMTQgNi4xNCAwIDAgMC0uOCA3LjUifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI5IixyOiIyIn1dLFsicGF0aCIse2Q6Ik0xNi4yIDQuOGMyIDIgMi4yNiA1LjExLjggNy40NyJ9XSxbInBhdGgiLHtkOiJNMTkuMSAxLjlhOS45NiA5Ljk2IDAgMCAxIDAgMTQuMSJ9XSxbInBhdGgiLHtkOiJNOS41IDE4aDUifV0sWyJwYXRoIix7ZDoibTggMjIgNC0xMSA0IDExIn1dXX0pO3ZhciBXUixKT2U9ZigoKT0+e1dSPVtbInBhdGgiLHtkOiJNMTYuMjQ3IDcuNzYxYTYgNiAwIDAgMSAwIDguNDc4In1dLFsicGF0aCIse2Q6Ik0xOS4wNzUgNC45MzNhMTAgMTAgMCAwIDEgMCAxNC4xMzQifV0sWyJwYXRoIix7ZDoiTTQuOTI1IDE5LjA2N2ExMCAxMCAwIDAgMSAwLTE0LjEzNCJ9XSxbInBhdGgiLHtkOiJNNy43NTMgMTYuMjM5YTYgNiAwIDAgMSAwLTguNDc4In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV1dfSk7dmFyIEdSLGVGZT1mKCgpPT57R1I9W1sicGF0aCIse2Q6Ik0yMC4zNCAxNy41MmExMCAxMCAwIDEgMC0yLjgyIDIuODIifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxOSIscjoiMiJ9XSxbInBhdGgiLHtkOiJtMTMuNDEgMTMuNDEgNC4xOCA0LjE4In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV1dfSk7dmFyIFlSLHRGZT1mKCgpPT57WVI9W1sicGF0aCIse2Q6Ik0yMiAxN2ExMCAxMCAwIDAgMC0yMCAwIn1dLFsicGF0aCIse2Q6Ik02IDE3YTYgNiAwIDAgMSAxMiAwIn1dLFsicGF0aCIse2Q6Ik0xMCAxN2EyIDIgMCAwIDEgNCAwIn1dXX0pO3ZhciBLUixhRmU9ZigoKT0+e0tSPVtbInBhdGgiLHtkOiJNMTMgMjJINGEyIDIgMCAwIDEgMC00aDEyIn1dLFsicGF0aCIse2Q6Ik0xMy4yMzYgMThhMyAzIDAgMCAwLTIuMi01In1dLFsicGF0aCIse2Q6Ik0xNiA5aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYuODIgMy45NGEzIDMgMCAxIDEgMy4yMzcgNC44NjhsMS44MTUgMi41ODdhMS41IDEuNSAwIDAgMS0xLjUgMi4xbC0yLjg3Mi0uNDUzYTMgMyAwIDAgMC0zLjUgMyJ9XSxbInBhdGgiLHtkOiJNMTcgNC45ODhhMyAzIDAgMSAwLTUuMiAyLjA1MkE3IDcgMCAwIDAgNCAxNC4wMTUgNCA0IDAgMCAwIDggMTgifV1dfSk7dmFyIFpSLHJGZT1mKCgpPT57WlI9W1sicmVjdCIse3dpZHRoOiIxMiIsaGVpZ2h0OiIyMCIseDoiNiIseToiMiIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjEyIix4OiIyIix5OiI2IixyeDoiMiJ9XV19KTt2YXIgWFIsc0ZlPWYoKCk9PntYUj1bWyJwYXRoIix7ZDoiTTEyIDd2MTAifV0sWyJwYXRoIix7ZDoiTTE0LjgyOCAxNC44MjlhNCA0IDAgMCAxLTUuNjU2IDAgNCA0IDAgMCAxIDAtNS42NTcgNCA0IDAgMCAxIDUuNjU2IDAifV0sWyJwYXRoIix7ZDoiTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoifV1dfSk7dmFyIFFSLGlGZT1mKCgpPT57UVI9W1sicGF0aCIse2Q6Ik0xNS44MjggMTQuODI5YTQgNCAwIDAgMS01LjY1NiAwIDQgNCAwIDAgMSAwLTUuNjU3IDQgNCAwIDAgMSA1LjY1NiAwIn1dLFsicGF0aCIse2Q6Ik00IDNhMSAxIDAgMCAxIDEtMSAxLjMgMS4zIDAgMCAxIC43LjJsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzNC0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTM0LjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42QTEuMyAxLjMgMCAwIDEgMTkgMmExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDEgMS4zIDEuMyAwIDAgMS0uNy0uMmwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTM0LjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzNC0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0uNy4yIDEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Ik04IDEyaDUifV1dfSk7dmFyIEpSLG9GZT1mKCgpPT57SlI9W1sicGF0aCIse2Q6Ik00IDNhMSAxIDAgMCAxIDEtMSAxLjMgMS4zIDAgMCAxIC43LjJsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzNC0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTM0LjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42QTEuMyAxLjMgMCAwIDEgMTkgMmExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDEgMS4zIDEuMyAwIDAgMS0uNy0uMmwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTM0LjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzNC0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0uNy4yIDEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Ik04IDExaDgifV0sWyJwYXRoIix7ZDoiTTggN2g4In1dLFsicGF0aCIse2Q6Ik05IDdhNCA0IDAgMCAxIDAgOEg4bDMgMiJ9XV19KTt2YXIgZU8sbkZlPWYoKCk9PntlTz1bWyJwYXRoIix7ZDoiTTEwIDE3VjkuNWExIDEgMCAwIDEgNSAwIn1dLFsicGF0aCIse2Q6Ik00IDNhMSAxIDAgMCAxIDEtMSAxLjMgMS4zIDAgMCAxIC43LjJsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzNC0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTM0LjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42QTEuMyAxLjMgMCAwIDEgMTkgMmExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDEgMS4zIDEuMyAwIDAgMS0uNy0uMmwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTM0LjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzNC0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0uNy4yIDEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Ik04IDEzaDUifV0sWyJwYXRoIix7ZDoiTTggMTdoNyJ9XV19KTt2YXIgdE8sbEZlPWYoKCk9Pnt0Tz1bWyJwYXRoIix7ZDoibTEyIDEwIDMtMyJ9XSxbInBhdGgiLHtkOiJNNCAzYTEgMSAwIDAgMSAxLTEgMS4zIDEuMyAwIDAgMSAuNy4ybC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzQtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzNC42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNkExLjMgMS4zIDAgMCAxIDE5IDJhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxIDEuMyAxLjMgMCAwIDEtLjctLjJsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzNC42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzQtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtLjcuMiAxIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJNOSAxMWg2In1dLFsicGF0aCIse2Q6Ik05IDE1aDYifV0sWyJwYXRoIix7ZDoibTkgNyAzIDN2NyJ9XV19KTt2YXIgYU8sY0ZlPWYoKCk9PnthTz1bWyJwYXRoIix7ZDoiTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoiTTggMTFoNWEyIDIgMCAwIDAgMC00aC0zdjEwIn1dLFsicGF0aCIse2Q6Ik04IDE1aDUifV1dfSk7dmFyIHJPLGRGZT1mKCgpPT57ck89W1sicGF0aCIse2Q6Ik0xMyAxNkg4In1dLFsicGF0aCIse2Q6Ik0xNCA4SDgifV0sWyJwYXRoIix7ZDoiTTE2IDEySDgifV0sWyJwYXRoIix7ZDoiTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoifV1dfSk7dmFyIHNPLHVGZT1mKCgpPT57c089W1sicGF0aCIse2Q6Ik0xMCAxMWg0In1dLFsicGF0aCIse2Q6Ik0xMCAxN1Y3aDUifV0sWyJwYXRoIix7ZDoiTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoiTTggMTVoNSJ9XV19KTt2YXIgaU8scEZlPWYoKCk9PntpTz1bWyJwYXRoIix7ZDoiTTEyIDE3VjcifV0sWyJwYXRoIix7ZDoiTTE2IDhoLTZhMiAyIDAgMCAwIDAgNGg0YTIgMiAwIDAgMSAwIDRIOCJ9XSxbInBhdGgiLHtkOiJNNCAzYTEgMSAwIDAgMSAxLTEgMS4zIDEuMyAwIDAgMSAuNy4ybC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzQtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzNC42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNkExLjMgMS4zIDAgMCAxIDE5IDJhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxIDEuMyAxLjMgMCAwIDEtLjctLjJsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzNC42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzQtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtLjcuMiAxIDEgMCAwIDEtMS0xeiJ9XV19KTt2YXIgb08sZkZlPWYoKCk9PntvTz1bWyJwYXRoIix7ZDoiTTEwIDd2MTBhNSA1IDAgMCAwIDUtNSJ9XSxbInBhdGgiLHtkOiJtMTQgOC02IDMifV0sWyJwYXRoIix7ZDoiTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoifV1dfSk7dmFyIG5PLGhGZT1mKCgpPT57bk89W1sicGF0aCIse2Q6Ik0xNCA0djE2SDNhMSAxIDAgMCAxLTEtMVY1YTEgMSAwIDAgMSAxLTF6In1dLFsiY2lyY2xlIix7Y3g6IjE0IixjeToiMTIiLHI6IjgifV1dfSk7dmFyIEd1LG1GZT1mKCgpPT57R3U9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxMiIseDoiMiIseToiNiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDEyaC4wMSJ9XV19KTt2YXIgbE8sZ0ZlPWYoKCk9PntsTz1bWyJwYXRoIix7ZDoiTTIwIDZhMiAyIDAgMCAxIDIgMnY4YTIgMiAwIDAgMS0yIDJoLTRhMiAyIDAgMCAxLTEuNi0uOGwtMS42LTIuMTNhMSAxIDAgMCAwLTEuNiAwTDkuNiAxNy4yQTIgMiAwIDAgMSA4IDE4SDRhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJ6In1dXX0pO3ZhciBjTyxiRmU9ZigoKT0+e2NPPVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTIiLHg6IjIiLHk6IjYiLHJ4OiIyIn1dXX0pO3ZhciBkTyx2RmU9ZigoKT0+e2RPPVtbInJlY3QiLHt3aWR0aDoiMTIiLGhlaWdodDoiMjAiLHg6IjYiLHk6IjIiLHJ4OiIyIn1dXX0pO3ZhciB1Tyx4RmU9ZigoKT0+e3VPPVtbInBhdGgiLHtkOiJNNyAxOUg0LjgxNWExLjgzIDEuODMgMCAwIDEtMS41Ny0uODgxIDEuNzg1IDEuNzg1IDAgMCAxLS4wMDQtMS43ODRMNy4xOTYgOS41In1dLFsicGF0aCIse2Q6Ik0xMSAxOWg4LjIwM2ExLjgzIDEuODMgMCAwIDAgMS41NTYtLjg5IDEuNzg0IDEuNzg0IDAgMCAwIDAtMS43NzVsLTEuMjI2LTIuMTIifV0sWyJwYXRoIix7ZDoibTE0IDE2LTMgMyAzIDMifV0sWyJwYXRoIix7ZDoiTTguMjkzIDEzLjU5NiA3LjE5NiA5LjUgMy4xIDEwLjU5OCJ9XSxbInBhdGgiLHtkOiJtOS4zNDQgNS44MTEgMS4wOTMtMS44OTJBMS44MyAxLjgzIDAgMCAxIDExLjk4NSAzYTEuNzg0IDEuNzg0IDAgMCAxIDEuNTQ2Ljg4OGwzLjk0MyA2Ljg0MyJ9XSxbInBhdGgiLHtkOiJtMTMuMzc4IDkuNjMzIDQuMDk2IDEuMDk4IDEuMDk3LTQuMDk2In1dXX0pO3ZhciBwTyx5RmU9ZigoKT0+e3BPPVtbInBhdGgiLHtkOiJtMTUgMTQgNS01LTUtNSJ9XSxbInBhdGgiLHtkOiJNMjAgOUg5LjVBNS41IDUuNSAwIDAgMCA0IDE0LjVBNS41IDUuNSAwIDAgMCA5LjUgMjBIMTMifV1dfSk7dmFyIGZPLHdGZT1mKCgpPT57Zk89W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTciLHI6IjEifV0sWyJwYXRoIix7ZDoiTTIxIDd2NmgtNiJ9XSxbInBhdGgiLHtkOiJNMyAxN2E5IDkgMCAwIDEgOS05IDkgOSAwIDAgMSA2IDIuM2wzIDIuNyJ9XV19KTt2YXIgaE8sTUZlPWYoKCk9PntoTz1bWyJwYXRoIix7ZDoiTTIxIDd2NmgtNiJ9XSxbInBhdGgiLHtkOiJNMyAxN2E5IDkgMCAwIDEgOS05IDkgOSAwIDAgMSA2IDIuM2wzIDIuNyJ9XV19KTt2YXIgbU8sa0ZlPWYoKCk9PnttTz1bWyJwYXRoIix7ZDoiTTIxIDEyYTkgOSAwIDAgMC05LTkgOS43NSA5Ljc1IDAgMCAwLTYuNzQgMi43NEwzIDgifV0sWyJwYXRoIix7ZDoiTTMgM3Y1aDUifV0sWyJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMCAwIDkgOSA5Ljc1IDkuNzUgMCAwIDAgNi43NC0yLjc0TDIxIDE2In1dLFsicGF0aCIse2Q6Ik0xNiAxNmg1djUifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XV19KTt2YXIgZ08sU0ZlPWYoKCk9PntnTz1bWyJwYXRoIix7ZDoiTTIxIDEyYTkgOSAwIDAgMC05LTkgOS43NSA5Ljc1IDAgMCAwLTYuNzQgMi43NEwzIDgifV0sWyJwYXRoIix7ZDoiTTMgM3Y1aDUifV0sWyJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMCAwIDkgOSA5Ljc1IDkuNzUgMCAwIDAgNi43NC0yLjc0TDIxIDE2In1dLFsicGF0aCIse2Q6Ik0xNiAxNmg1djUifV1dfSk7dmFyIGJPLHpGZT1mKCgpPT57Yk89W1sicGF0aCIse2Q6Ik0yMSA4TDE4Ljc0IDUuNzRBOS43NSA5Ljc1IDAgMCAwIDEyIDNDMTEgMyAxMC4wMyAzLjE2IDkuMTMgMy40NyJ9XSxbInBhdGgiLHtkOiJNOCAxNkgzdjUifV0sWyJwYXRoIix7ZDoiTTMgMTJDMyA5LjUxIDQgNy4yNiA1LjY0IDUuNjQifV0sWyJwYXRoIix7ZDoibTMgMTYgMi4yNiAyLjI2QTkuNzUgOS43NSAwIDAgMCAxMiAyMWMyLjQ5IDAgNC43NC0xIDYuMzYtMi42NCJ9XSxbInBhdGgiLHtkOiJNMjEgMTJjMCAxLS4xNiAxLjk3LS40NyAyLjg3In1dLFsicGF0aCIse2Q6Ik0yMSAzdjVoLTUifV0sWyJwYXRoIix7ZDoiTTIyIDIyIDIgMiJ9XV19KTt2YXIgdk8sQ0ZlPWYoKCk9Pnt2Tz1bWyJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMCAxIDktOSA5Ljc1IDkuNzUgMCAwIDEgNi43NCAyLjc0TDIxIDgifV0sWyJwYXRoIix7ZDoiTTIxIDN2NWgtNSJ9XSxbInBhdGgiLHtkOiJNMjEgMTJhOSA5IDAgMCAxLTkgOSA5Ljc1IDkuNzUgMCAwIDEtNi43NC0yLjc0TDMgMTYifV0sWyJwYXRoIix7ZDoiTTggMTZIM3Y1In1dXX0pO3ZhciB4TyxfRmU9ZigoKT0+e3hPPVtbInBhdGgiLHtkOiJNNSA2YTQgNCAwIDAgMSA0LTRoNmE0IDQgMCAwIDEgNCA0djE0YTIgMiAwIDAgMS0yIDJIN2EyIDIgMCAwIDEtMi0yVjZaIn1dLFsicGF0aCIse2Q6Ik01IDEwaDE0In1dLFsicGF0aCIse2Q6Ik0xNSA3djYifV1dfSk7dmFyIHlPLFRGZT1mKCgpPT57eU89W1sicGF0aCIse2Q6Ik0xNyAzdjEwIn1dLFsicGF0aCIse2Q6Im0xMi42NyA1LjUgOC42NiA1In1dLFsicGF0aCIse2Q6Im0xMi42NyAxMC41IDguNjYtNSJ9XSxbInBhdGgiLHtkOiJNOSAxN2EyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYyYTIgMiAwIDAgMCAyIDJoMmEyIDIgMCAwIDAgMi0ydi0yeiJ9XV19KTt2YXIgd08sTEZlPWYoKCk9Pnt3Tz1bWyJwYXRoIix7ZDoiTTQgN1Y0aDE2djMifV0sWyJwYXRoIix7ZDoiTTUgMjBoNiJ9XSxbInBhdGgiLHtkOiJNMTMgNCA4IDIwIn1dLFsicGF0aCIse2Q6Im0xNSAxNSA1IDUifV0sWyJwYXRoIix7ZDoibTIwIDE1LTUgNSJ9XV19KTt2YXIgTU8sJEZlPWYoKCk9PntNTz1bWyJwYXRoIix7ZDoibTIgOSAzLTMgMyAzIn1dLFsicGF0aCIse2Q6Ik0xMyAxOEg3YTIgMiAwIDAgMS0yLTJWNiJ9XSxbInBhdGgiLHtkOiJtMjIgMTUtMyAzLTMtMyJ9XSxbInBhdGgiLHtkOiJNMTEgNmg2YTIgMiAwIDAgMSAyIDJ2MTAifV1dfSk7dmFyIGtPLERGZT1mKCgpPT57a089W1sicGF0aCIse2Q6Im0xNyAyIDQgNC00IDQifV0sWyJwYXRoIix7ZDoiTTMgMTF2LTFhNCA0IDAgMCAxIDQtNGgxNCJ9XSxbInBhdGgiLHtkOiJtNyAyMi00LTQgNC00In1dLFsicGF0aCIse2Q6Ik0yMSAxM3YxYTQgNCAwIDAgMS00IDRIMyJ9XSxbInBhdGgiLHtkOiJNMTEgMTBoMXY0In1dXX0pO3ZhciBTTyxBRmU9ZigoKT0+e1NPPVtbInBhdGgiLHtkOiJNMTEuNjU2IDZIMjFsLTQtNCJ9XSxbInBhdGgiLHtkOiJNMTcuODk4IDE3Ljg5OEE0IDQgMCAwIDEgMTcgMThIM2w0LTQifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjEgMTN2MWE0IDQgMCAwIDEtLjE3MSAxLjE1OSJ9XSxbInBhdGgiLHtkOiJtMjEgNi00IDQifV0sWyJwYXRoIix7ZDoiTTMgMTF2LTFhNCA0IDAgMCAxIDMuMTAyLTMuODk4In1dLFsicGF0aCIse2Q6Im03IDIyLTQtNCJ9XV19KTt2YXIgek8sRUZlPWYoKCk9Pnt6Tz1bWyJwYXRoIix7ZDoibTE3IDIgNCA0LTQgNCJ9XSxbInBhdGgiLHtkOiJNMyAxMXYtMWE0IDQgMCAwIDEgNC00aDE0In1dLFsicGF0aCIse2Q6Im03IDIyLTQtNCA0LTQifV0sWyJwYXRoIix7ZDoiTTIxIDEzdjFhNCA0IDAgMCAxLTQgNEgzIn1dXX0pO3ZhciBDTyxQRmU9ZigoKT0+e0NPPVtbInBhdGgiLHtkOiJNMTQgMTRhMSAxIDAgMCAxIDEgMXY1YTEgMSAwIDAgMS0xIDEifV0sWyJwYXRoIix7ZDoiTTE0IDRhMSAxIDAgMCAxIDEtMSJ9XSxbInBhdGgiLHtkOiJNMTUgMTBhMSAxIDAgMCAxLTEtMSJ9XSxbInBhdGgiLHtkOiJNMTkgMTRhMSAxIDAgMCAxIDEgMXY1YTEgMSAwIDAgMS0xIDEifV0sWyJwYXRoIix7ZDoiTTIxIDRhMSAxIDAgMCAwLTEtMSJ9XSxbInBhdGgiLHtkOiJNMjEgOWExIDEgMCAwIDEtMSAxIn1dLFsicGF0aCIse2Q6Im0zIDcgMyAzIDMtMyJ9XSxbInBhdGgiLHtkOiJNNiAxMFY1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInJlY3QiLHt4OiIzIix5OiIxNCIsd2lkdGg6IjciLGhlaWdodDoiNyIscng6IjEifV1dfSk7dmFyIF9PLElGZT1mKCgpPT57X089W1sicGF0aCIse2Q6Ik0xNCA0YTEgMSAwIDAgMSAxLTEifV0sWyJwYXRoIix7ZDoiTTE1IDEwYTEgMSAwIDAgMS0xLTEifV0sWyJwYXRoIix7ZDoiTTIxIDRhMSAxIDAgMCAwLTEtMSJ9XSxbInBhdGgiLHtkOiJNMjEgOWExIDEgMCAwIDEtMSAxIn1dLFsicGF0aCIse2Q6Im0zIDcgMyAzIDMtMyJ9XSxbInBhdGgiLHtkOiJNNiAxMFY1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInJlY3QiLHt4OiIzIix5OiIxNCIsd2lkdGg6IjciLGhlaWdodDoiNyIscng6IjEifV1dfSk7dmFyIFRPLE5GZT1mKCgpPT57VE89W1sicGF0aCIse2Q6Im0xMiAxNy01LTUgNS01In1dLFsicGF0aCIse2Q6Ik0yMiAxOHYtMmE0IDQgMCAwIDAtNC00SDcifV0sWyJwYXRoIix7ZDoibTcgMTctNS01IDUtNSJ9XV19KTt2YXIgTE8sUkZlPWYoKCk9PntMTz1bWyJwYXRoIix7ZDoiTTIwIDE4di0yYTQgNCAwIDAgMC00LTRINCJ9XSxbInBhdGgiLHtkOiJtOSAxNy01LTUgNS01In1dXX0pO3ZhciAkTyxPRmU9ZigoKT0+eyRPPVtbInBhdGgiLHtkOiJNMTIgMTEuMjJDMTEgOS45OTcgMTAgOSAxMCA4YTIgMiAwIDAgMSA0IDBjMCAxLS45OTggMi4wMDItMi4wMSAzLjIyIn1dLFsicGF0aCIse2Q6Im0xMiAxOCAyLjU3LTMuNSJ9XSxbInBhdGgiLHtkOiJNNi4yNDMgOS4wMTZhNyA3IDAgMCAxIDExLjUwNy0uMDA5In1dLFsicGF0aCIse2Q6Ik05LjM1IDE0LjUzIDEyIDExLjIyIn1dLFsicGF0aCIse2Q6Ik05LjM1IDE0LjUzQzcuNzI4IDEyLjI0NiA2IDEwLjIyMSA2IDdhNiA1IDAgMCAxIDEyIDBjLS4wMDUgMy4yMi0xLjc3OCA1LjIzNS0zLjQzIDcuNWwzLjU1NyA0LjUyN2ExIDEgMCAwIDEtLjIwMyAxLjQzbC0xLjg5NCAxLjM2YTEgMSAwIDAgMS0xLjM4NC0uMjE1TDEyIDE4bC0yLjY3OSAzLjU5M2ExIDEgMCAwIDEtMS4zOS4yMTNsLTEuODY1LTEuMzUzYTEgMSAwIDAgMS0uMjAzLTEuNDIyeiJ9XV19KTt2YXIgRE8sRkZlPWYoKCk9PntETz1bWyJwYXRoIix7ZDoiTTEyIDZhMiAyIDAgMCAwLTMuNDE0LTEuNDE0bC02IDZhMiAyIDAgMCAwIDAgMi44MjhsNiA2QTIgMiAwIDAgMCAxMiAxOHoifV0sWyJwYXRoIix7ZDoiTTIyIDZhMiAyIDAgMCAwLTMuNDE0LTEuNDE0bC02IDZhMiAyIDAgMCAwIDAgMi44MjhsNiA2QTIgMiAwIDAgMCAyMiAxOHoifV1dfSk7dmFyIEFPLEJGZT1mKCgpPT57QU89W1sicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Ik0xMiA1VjMifV0sWyJwYXRoIix7ZDoiTTEyIDl2MyJ9XSxbInBhdGgiLHtkOiJNMi4wNzcgMTguNDQ5QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjkyNC0yLjU1bC00LTE0QTIgMiAwIDAgMCAxNiAzSDhhMiAyIDAgMCAwLTEuOTI0IDEuNDV6In1dXX0pO3ZhciBFTyxIRmU9ZigoKT0+e0VPPVtbInBhdGgiLHtkOiJNMTIgMTV2NXMzLjAzLS41NSA0LTJjMS4wOC0xLjYyIDAtNSAwLTUifV0sWyJwYXRoIix7ZDoiTTQuNSAxNi41Yy0xLjUgMS4yNi0yIDUtMiA1czMuNzQtLjUgNS0yYy43MS0uODQuNy0yLjEzLS4wOS0yLjkxYTIuMTggMi4xOCAwIDAgMC0yLjkxLS4wOSJ9XSxbInBhdGgiLHtkOiJNOSAxMmEyMiAyMiAwIDAgMSAyLTMuOTVBMTIuODggMTIuODggMCAwIDEgMjIgMmMwIDIuNzItLjc4IDcuNS02IDExYTIyLjQgMjIuNCAwIDAgMS00IDJ6In1dLFsicGF0aCIse2Q6Ik05IDEySDRzLjU1LTMuMDMgMi00YzEuNjItMS4wOCA1IC4wNSA1IC4wNSJ9XV19KTt2YXIgUE8scUZlPWYoKCk9PntQTz1bWyJwYXRoIix7ZDoibTE1IDEzIDMuNzA4IDcuNDE2In1dLFsicGF0aCIse2Q6Ik0zIDE5YTE1IDE1IDAgMCAwIDE4IDAifV0sWyJwYXRoIix7ZDoibTMgMiAzLjIxIDkuNjMzQTIgMiAwIDAgMCA4LjEwOSAxM0gxOCJ9XSxbInBhdGgiLHtkOiJtOSAxMy0zLjcwOCA3LjQxNiJ9XV19KTt2YXIgSU8sVkZlPWYoKCk9PntJTz1bWyJwYXRoIix7ZDoiTTYgMTlWNSJ9XSxbInBhdGgiLHtkOiJNMTAgMTlWNi44In1dLFsicGF0aCIse2Q6Ik0xNCAxOXYtNy44In1dLFsicGF0aCIse2Q6Ik0xOCA1djQifV0sWyJwYXRoIix7ZDoiTTE4IDE5di02In1dLFsicGF0aCIse2Q6Ik0yMiAxOVY5In1dLFsicGF0aCIse2Q6Ik0yIDE5VjlhNCA0IDAgMCAxIDQtNGMyIDAgNCAxLjMzIDYgNHM0IDQgNiA0YTQgNCAwIDEgMC0zLTYuNjUifV1dfSk7dmFyIE5PLGpGZT1mKCgpPT57Tk89W1sicGF0aCIse2Q6Ik0xNyAxMGgtMWE0IDQgMCAxIDEgNC00di41MzQifV0sWyJwYXRoIix7ZDoiTTE3IDZoMWE0IDQgMCAwIDEgMS40MiA3Ljc0bC0yLjI5Ljg3YTYgNiAwIDAgMS01LjMzOS0xMC42OGwyLjA2OS0xLjMxIn1dLFsicGF0aCIse2Q6Ik00LjUgMTdjMi44LS41IDQuNCAwIDUuNS44czEuOCAyLjIgMi4zIDMuN2MtMiAuNC0zLjUuNC00LjgtLjMtMS4yLS42LTIuMy0xLjktMy00LjIifV0sWyJwYXRoIix7ZDoiTTkuNzcgMTJDNCAxNSAyIDIyIDIgMjIifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiI4IixyOiIyIn1dXX0pO3ZhciBZdSxVRmU9ZigoKT0+e1l1PVtbInBhdGgiLHtkOiJtMTUuMTk0IDEzLjcwNyAzLjgxNCAxLjg2LTEuODYgMy44MTQifV0sWyJwYXRoIix7ZDoiTTE2LjQ3MjE0IDcuNTI3ODYgQSA1IDEwIDAgMSAwIDEzIDIxLjc5Nzk2In1dLFsicGF0aCIse2Q6Ik0yMS43OTc5NiAxMSBBIDEwIDUgMCAxIDAgMTkgMTUuNTcwNzEifV1dfSk7dmFyIFJPLFdGZT1mKCgpPT57Uk89W1sicGF0aCIse2Q6Ik0xMiA3djYifV0sWyJwYXRoIix7ZDoiTTEyIDloMiJ9XSxbInBhdGgiLHtkOiJNMyAxMmE5IDkgMCAxIDAgOS05IDkuNzQgOS43NCAwIDAgMC02Ljc0IDIuNzRMMyA4In1dLFsicGF0aCIse2Q6Ik0zIDN2NWg1In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTUiLHI6IjIifV1dfSk7dmFyIE9PLEdGZT1mKCgpPT57T089W1sicGF0aCIse2Q6Ik0yMCA5VjdhMiAyIDAgMCAwLTItMmgtNiJ9XSxbInBhdGgiLHtkOiJtMTUgMi0zIDMgMyAzIn1dLFsicGF0aCIse2Q6Ik0yMCAxM3Y1YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjdhMiAyIDAgMCAxIDItMmgyIn1dXX0pO3ZhciBGTyxZRmU9ZigoKT0+e0ZPPVtbInBhdGgiLHtkOiJNMyAxMmE5IDkgMCAxIDAgOS05IDkuNzUgOS43NSAwIDAgMC02Ljc0IDIuNzRMMyA4In1dLFsicGF0aCIse2Q6Ik0zIDN2NWg1In1dXX0pO3ZhciBCTyxLRmU9ZigoKT0+e0JPPVtbInBhdGgiLHtkOiJNMTIgNUg2YTIgMiAwIDAgMC0yIDJ2MyJ9XSxbInBhdGgiLHtkOiJtOSA4IDMtMy0zLTMifV0sWyJwYXRoIix7ZDoiTTQgMTR2NGEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWN2EyIDIgMCAwIDAtMi0yaC0yIn1dXX0pO3ZhciBITyxaRmU9ZigoKT0+e0hPPVtbInBhdGgiLHtkOiJNMjEgMTJhOSA5IDAgMSAxLTktOWMyLjUyIDAgNC45MyAxIDYuNzQgMi43NEwyMSA4In1dLFsicGF0aCIse2Q6Ik0yMSAzdjVoLTUifV1dfSk7dmFyIHFPLFhGZT1mKCgpPT57cU89W1siY2lyY2xlIix7Y3g6IjYiLGN5OiIxOSIscjoiMyJ9XSxbInBhdGgiLHtkOiJNOSAxOWg4LjVjLjQgMCAuOS0uMSAxLjMtLjIifV0sWyJwYXRoIix7ZDoiTTUuMiA1LjJBMy41IDMuNTMgMCAwIDAgNi41IDEySDEyIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTIxIDE1LjNhMy41IDMuNSAwIDAgMC0zLjMtMy4zIn1dLFsicGF0aCIse2Q6Ik0xNSA1aC00LjMifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiI1IixyOiIzIn1dXX0pO3ZhciBWTyxRRmU9ZigoKT0+e1ZPPVtbImNpcmNsZSIse2N4OiI2IixjeToiMTkiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTkgMTloOC41YTMuNSAzLjUgMCAwIDAgMC03aC0xMWEzLjUgMy41IDAgMCAxIDAtN0gxNSJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjUiLHI6IjMifV1dfSk7dmFyIGpPLEpGZT1mKCgpPT57ak89W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiI4Iix4OiIyIix5OiIxNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTYuMDEgMThINiJ9XSxbInBhdGgiLHtkOiJNMTAuMDEgMThIMTAifV0sWyJwYXRoIix7ZDoiTTE1IDEwdjQifV0sWyJwYXRoIix7ZDoiTTE3Ljg0IDcuMTdhNCA0IDAgMCAwLTUuNjYgMCJ9XSxbInBhdGgiLHtkOiJNMjAuNjYgNC4zNGE4IDggMCAwIDAtMTEuMzEgMCJ9XV19KTt2YXIgS3UsZUJlPWYoKCk9PntLdT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyAxMmgxOCJ9XV19KTt2YXIgWnUsdEJlPWYoKCk9PntadT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMjEgOUgzIn1dLFsicGF0aCIse2Q6Ik0yMSAxNUgzIn1dXX0pO3ZhciBVTyxhQmU9ZigoKT0+e1VPPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yMSA3LjVIMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTJIMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTYuNUgzIn1dXX0pO3ZhciBXTyxyQmU9ZigoKT0+e1dPPVtbInBhdGgiLHtkOiJNNCAxMWE5IDkgMCAwIDEgOSA5In1dLFsicGF0aCIse2Q6Ik00IDRhMTYgMTYgMCAwIDEgMTYgMTYifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjE5IixyOiIxIn1dXX0pO3ZhciBHTyxzQmU9ZigoKT0+e0dPPVtbInBhdGgiLHtkOiJNMTAgMTV2LTMifV0sWyJwYXRoIix7ZDoiTTE0IDE1di0zIn1dLFsicGF0aCIse2Q6Ik0xOCAxNXYtMyJ9XSxbInBhdGgiLHtkOiJNMiA4VjQifV0sWyJwYXRoIix7ZDoiTTIyIDZIMiJ9XSxbInBhdGgiLHtkOiJNMjIgOFY0In1dLFsicGF0aCIse2Q6Ik02IDE1di0zIn1dLFsicmVjdCIse3g6IjIiLHk6IjEyIix3aWR0aDoiMjAiLGhlaWdodDoiOCIscng6IjIifV1dfSk7dmFyIFlPLGlCZT1mKCgpPT57WU89W1sicGF0aCIse2Q6Ik0yMS4zIDE1LjNhMi40IDIuNCAwIDAgMSAwIDMuNGwtMi42IDIuNmEyLjQgMi40IDAgMCAxLTMuNCAwTDIuNyA4LjdhMi40MSAyLjQxIDAgMCAxIDAtMy40bDIuNi0yLjZhMi40MSAyLjQxIDAgMCAxIDMuNCAwWiJ9XSxbInBhdGgiLHtkOiJtMTQuNSAxMi41IDItMiJ9XSxbInBhdGgiLHtkOiJtMTEuNSA5LjUgMi0yIn1dLFsicGF0aCIse2Q6Im04LjUgNi41IDItMiJ9XSxbInBhdGgiLHtkOiJtMTcuNSAxNS41IDItMiJ9XV19KTt2YXIgS08sb0JlPWYoKCk9PntLTz1bWyJwYXRoIix7ZDoiTTYgMTFoOGE0IDQgMCAwIDAgMC04SDl2MTgifV0sWyJwYXRoIix7ZDoiTTYgMTVoOCJ9XV19KTt2YXIgWk8sbkJlPWYoKCk9PntaTz1bWyJwYXRoIix7ZDoiTTEwIDJ2MTUifV0sWyJwYXRoIix7ZDoiTTcgMjJhNCA0IDAgMCAxLTQtNCAxIDEgMCAwIDEgMS0xaDE2YTEgMSAwIDAgMSAxIDEgNCA0IDAgMCAxLTQgNHoifV0sWyJwYXRoIix7ZDoiTTkuMTU5IDIuNDZhMSAxIDAgMCAxIDEuNTIxLS4xOTNsOS45NzcgOC45OEExIDEgMCAwIDEgMjAgMTNINGExIDEgMCAwIDEtLjgyNC0xLjU2N3oifV1dfSk7dmFyIFhPLGxCZT1mKCgpPT57WE89W1sicGF0aCIse2Q6Ik03IDIxaDEwIn1dLFsicGF0aCIse2Q6Ik0xMiAyMWE5IDkgMCAwIDAgOS05SDNhOSA5IDAgMCAwIDkgOVoifV0sWyJwYXRoIix7ZDoiTTExLjM4IDEyYTIuNCAyLjQgMCAwIDEtLjQtNC43NyAyLjQgMi40IDAgMCAxIDMuMi0yLjc3IDIuNCAyLjQgMCAwIDEgMy40Ny0uNjMgMi40IDIuNCAwIDAgMSAzLjM3IDMuMzcgMi40IDIuNCAwIDAgMS0xLjEgMy43IDIuNTEgMi41MSAwIDAgMSAuMDMgMS4xIn1dLFsicGF0aCIse2Q6Im0xMyAxMiA0LTQifV0sWyJwYXRoIix7ZDoiTTEwLjkgNy4yNUEzLjk5IDMuOTkgMCAwIDAgNCAxMGMwIC43My4yIDEuNDEuNTQgMiJ9XV19KTt2YXIgUU8sY0JlPWYoKCk9PntRTz1bWyJwYXRoIix7ZDoibTIuMzcgMTEuMjIzIDguMzcyLTYuNzc3YTIgMiAwIDAgMSAyLjUxNiAwbDguMzcxIDYuNzc3In1dLFsicGF0aCIse2Q6Ik0yMSAxNWExIDEgMCAwIDEgMSAxdjJhMSAxIDAgMCAxLTEgMWgtNS4yNSJ9XSxbInBhdGgiLHtkOiJNMyAxNWExIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAwIDEgMWg5In1dLFsicGF0aCIse2Q6Im02LjY3IDE1IDYuMTMgNC42YTIgMiAwIDAgMCAyLjgtLjRsMy4xNS00LjIifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjQiLHg6IjIiLHk6IjExIixyeDoiMSJ9XV19KTt2YXIgSk8sZEJlPWYoKCk9PntKTz1bWyJwYXRoIix7ZDoibTEzLjUgNi41LTMuMTQ4LTMuMTQ4YTEuMjA1IDEuMjA1IDAgMCAwLTEuNzA0IDBMNi4zNTIgNS42NDhhMS4yMDUgMS4yMDUgMCAwIDAgMCAxLjcwNEw5LjUgMTAuNSJ9XSxbInBhdGgiLHtkOiJNMTYuNSA3LjUgMTkgNSJ9XSxbInBhdGgiLHtkOiJtMTcuNSAxMC41IDMuMTQ4IDMuMTQ4YTEuMjA1IDEuMjA1IDAgMCAxIDAgMS43MDRsLTIuMjk2IDIuMjk2YTEuMjA1IDEuMjA1IDAgMCAxLTEuNzA0IDBMMTMuNSAxNC41In1dLFsicGF0aCIse2Q6Ik05IDIxYTYgNiAwIDAgMC02LTYifV0sWyJwYXRoIix7ZDoiTTkuMzUyIDEwLjY0OGExLjIwNSAxLjIwNSAwIDAgMCAwIDEuNzA0bDIuMjk2IDIuMjk2YTEuMjA1IDEuMjA1IDAgMCAwIDEuNzA0IDBsNC4yOTYtNC4yOTZhMS4yMDUgMS4yMDUgMCAwIDAgMC0xLjcwNGwtMi4yOTYtMi4yOTZhMS4yMDUgMS4yMDUgMCAwIDAtMS43MDQgMHoifV1dfSk7dmFyIGVGLHVCZT1mKCgpPT57ZUY9W1sicGF0aCIse2Q6Ik00IDEwYTcuMzEgNy4zMSAwIDAgMCAxMCAxMFoifV0sWyJwYXRoIix7ZDoibTkgMTUgMy0zIn1dLFsicGF0aCIse2Q6Ik0xNyAxM2E2IDYgMCAwIDAtNi02In1dLFsicGF0aCIse2Q6Ik0yMSAxM0ExMCAxMCAwIDAgMCAxMSAzIn1dXX0pO3ZhciB0RixwQmU9ZigoKT0+e3RGPVtbInBhdGgiLHtkOiJtMjAgMTkuNS01LjUgMS4yIn1dLFsicGF0aCIse2Q6Ik0xNC41IDR2MTEuMjJhMSAxIDAgMCAwIDEuMjQyLjk3TDIwIDE1LjIifV0sWyJwYXRoIix7ZDoibTIuOTc4IDE5LjM1MSA1LjU0OS0xLjM2M0EyIDIgMCAwIDAgMTAgMTZWMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTAgNCAxMy41In1dXX0pO3ZhciBhRixmQmU9ZigoKT0+e2FGPVtbInBhdGgiLHtkOiJNMTMgMTNIOGExIDEgMCAwIDAtMSAxdjcifV0sWyJwYXRoIix7ZDoiTTE0IDhoMSJ9XSxbInBhdGgiLHtkOiJNMTcgMjF2LTQifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjAuNDEgMjAuNDFBMiAyIDAgMCAxIDE5IDIxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAuNTktMS40MSJ9XSxbInBhdGgiLHtkOiJNMjkuNSAxMS41czUgNSA0IDUifV0sWyJwYXRoIix7ZDoiTTkgM2g2LjJhMiAyIDAgMCAxIDEuNC42bDMuOCAzLjhhMiAyIDAgMCAxIC42IDEuNFYxNSJ9XV19KTt2YXIgckYsaEJlPWYoKCk9PntyRj1bWyJwYXRoIix7ZDoiTTEwIDJ2M2ExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTE4IDE4di02YTEgMSAwIDAgMC0xLTFoLTZhMSAxIDAgMCAwLTEgMXY2In1dLFsicGF0aCIse2Q6Ik0xOCAyMkg0YTIgMiAwIDAgMS0yLTJWNiJ9XSxbInBhdGgiLHtkOiJNOCAxOGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg5LjE3MmEyIDIgMCAwIDEgMS40MTQuNTg2bDIuODI4IDIuODI4QTIgMiAwIDAgMSAyMiA2LjgyOFYxNmEyIDIgMCAwIDEtMi4wMSAyeiJ9XV19KTt2YXIgc0YsbUJlPWYoKCk9PntzRj1bWyJwYXRoIix7ZDoiTTE1LjIgM2EyIDIgMCAwIDEgMS40LjZsMy44IDMuOGEyIDIgMCAwIDEgLjYgMS40VjE5YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMnoifV0sWyJwYXRoIix7ZDoiTTE3IDIxdi03YTEgMSAwIDAgMC0xLTFIOGExIDEgMCAwIDAtMSAxdjcifV0sWyJwYXRoIix7ZDoiTTcgM3Y0YTEgMSAwIDAgMCAxIDFoNyJ9XV19KTt2YXIgWHUsZ0JlPWYoKCk9PntYdT1bWyJwYXRoIix7ZDoiTTUgN3YxMWExIDEgMCAwIDAgMSAxaDExIn1dLFsicGF0aCIse2Q6Ik01LjI5MyAxOC43MDcgMTEgMTMifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxOSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiNSIscjoiMiJ9XV19KTt2YXIgaUYsYkJlPWYoKCk9PntpRj1bWyJwYXRoIix7ZDoiTTEyIDN2MTgifV0sWyJwYXRoIix7ZDoibTE5IDggMyA4YTUgNSAwIDAgMS02IDB6VjcifV0sWyJwYXRoIix7ZDoiTTMgN2gxYTE3IDE3IDAgMCAwIDgtMiAxNyAxNyAwIDAgMCA4IDJoMSJ9XSxbInBhdGgiLHtkOiJtNSA4IDMgOGE1IDUgMCAwIDEtNiAwelY3In1dLFsicGF0aCIse2Q6Ik03IDIxaDEwIn1dXX0pO3ZhciBvRix2QmU9ZigoKT0+e29GPVtbInBhdGgiLHtkOiJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIn1dLFsicGF0aCIse2Q6Ik04IDd2MTAifV0sWyJwYXRoIix7ZDoiTTEyIDd2MTAifV0sWyJwYXRoIix7ZDoiTTE3IDd2MTAifV1dfSk7dmFyIG5GLHhCZT1mKCgpPT57bkY9W1sicGF0aCIse2Q6Ik0xMiAzSDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJ2LTcifV0sWyJwYXRoIix7ZDoiTTE0IDE1SDl2LTUifV0sWyJwYXRoIix7ZDoiTTE2IDNoNXY1In1dLFsicGF0aCIse2Q6Ik0yMSAzIDkgMTUifV1dfSk7dmFyIGxGLHlCZT1mKCgpPT57bEY9W1sicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XSxbInBhdGgiLHtkOiJNMTguOTQ0IDEyLjMzYTEgMSAwIDAgMCAwLS42NiA3LjUgNy41IDAgMCAwLTEzLjg4OCAwIDEgMSAwIDAgMCAwIC42NiA3LjUgNy41IDAgMCAwIDEzLjg4OCAwIn1dXX0pO3ZhciBjRix3QmU9ZigoKT0+e2NGPVtbInBhdGgiLHtkOiJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIn1dLFsicGF0aCIse2Q6Ik04IDE0czEuNSAyIDQgMiA0LTIgNC0yIn1dLFsicGF0aCIse2Q6Ik05IDloLjAxIn1dLFsicGF0aCIse2Q6Ik0xNSA5aC4wMSJ9XV19KTt2YXIgZEYsTUJlPWYoKCk9PntkRj1bWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVhMiAyIDAgMCAxLTItMnYtMiJ9XSxbInBhdGgiLHtkOiJNNy44MjggMTMuMDdBMyAzIDAgMCAxIDEyIDguNzY0YTMgMyAwIDAgMSA0LjE3MiA0LjMwNmwtMy40NDcgMy42MmExIDEgMCAwIDEtMS40NDkgMHoifV1dfSk7dmFyIHVGLGtCZT1mKCgpPT57dUY9W1sicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJwYXRoIix7ZDoiTTcgMTJoMTAifV1dfSk7dmFyIHBGLFNCZT1mKCgpPT57cEY9W1sicGF0aCIse2Q6Ik0xNyAxMnY0YTEgMSAwIDAgMS0xIDFoLTQifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTE3IDhWNyJ9XSxbInBhdGgiLHtkOiJNMjEgMTd2MmEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTcgMTdoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVhMiAyIDAgMCAxLTItMnYtMiJ9XSxbInJlY3QiLHt4OiI3Iix5OiI3Iix3aWR0aDoiNSIsaGVpZ2h0OiI1IixyeDoiMSJ9XV19KTt2YXIgZkYsekJlPWYoKCk9PntmRj1bWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTcgM2gyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMTd2MmEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVhMiAyIDAgMCAxLTItMnYtMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dLFsicGF0aCIse2Q6Im0xNiAxNi0xLjktMS45In1dXX0pO3ZhciBoRixDQmU9ZigoKT0+e2hGPVtbInBhdGgiLHtkOiJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIn1dLFsicGF0aCIse2Q6Ik03IDhoOCJ9XSxbInBhdGgiLHtkOiJNNyAxMmgxMCJ9XSxbInBhdGgiLHtkOiJNNyAxNmg2In1dXX0pO3ZhciBtRixfQmU9ZigoKT0+e21GPVtbInBhdGgiLHtkOiJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIn1dXX0pO3ZhciBnRixUQmU9ZigoKT0+e2dGPVtbInBhdGgiLHtkOiJNMTQgMjF2LTNhMiAyIDAgMCAwLTQgMHYzIn1dLFsicGF0aCIse2Q6Ik0xOCA0LjkzM1YyMSJ9XSxbInBhdGgiLHtkOiJtNCA2IDcuMTA2LTMuNzlhMiAyIDAgMCAxIDEuNzg4IDBMMjAgNiJ9XSxbInBhdGgiLHtkOiJtNiAxMS0zLjUyIDIuMTQ3YTEgMSAwIDAgMC0uNDguODU0VjE5YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNWExIDEgMCAwIDAtLjQ4LS44NTNMMTggMTEifV0sWyJwYXRoIix7ZDoiTTYgNC45MzNWMjEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI5IixyOiIyIn1dXX0pO3ZhciBiRixMQmU9ZigoKT0+e2JGPVtbInBhdGgiLHtkOiJNNS40MiA5LjQyIDggMTIifV0sWyJjaXJjbGUiLHtjeDoiNCIsY3k6IjgiLHI6IjIifV0sWyJwYXRoIix7ZDoibTE0IDYtOC41OCA4LjU4In1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiIxNiIscjoiMiJ9XSxbInBhdGgiLHtkOiJNMTAuOCAxNC44IDE0IDE4In1dLFsicGF0aCIse2Q6Ik0xNiAxMmgtMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTJoLTIifV1dfSk7dmFyIHZGLCRCZT1mKCgpPT57dkY9W1siY2lyY2xlIix7Y3g6IjYiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik04LjEyIDguMTIgMTIgMTIifV0sWyJwYXRoIix7ZDoiTTIwIDQgOC4xMiAxNS44OCJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiMTgiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTE0LjggMTQuOCAyMCAyMCJ9XV19KTt2YXIgeEYsREJlPWYoKCk9Pnt4Rj1bWyJwYXRoIix7ZDoiTTIxIDRoLTMuNWwyIDExLjA1In1dLFsicGF0aCIse2Q6Ik02Ljk1IDE3aDUuMTQyYy41MjMgMCAuOTUtLjQwNiAxLjA2My0uOTE2YTYuNSA2LjUgMCAwIDEgNS4zNDUtNS4wMDkifV0sWyJjaXJjbGUiLHtjeDoiMTkuNSIsY3k6IjE3LjUiLHI6IjIuNSJ9XSxbImNpcmNsZSIse2N4OiI0LjUiLGN5OiIxNy41IixyOiIyLjUifV1dfSk7dmFyIHlGLEFCZT1mKCgpPT57eUY9W1sicGF0aCIse2Q6Ik0xMyAzSDRhMiAyIDAgMCAwLTIgMnYxMGEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTMifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XSxbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJtMjIgMy01IDUifV0sWyJwYXRoIix7ZDoibTE3IDMgNSA1In1dXX0pO3ZhciB3RixFQmU9ZigoKT0+e3dGPVtbInBhdGgiLHtkOiJNMTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTBhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0zIn1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoibTE3IDggNS01In1dLFsicGF0aCIse2Q6Ik0xNyAzaDV2NSJ9XV19KTt2YXIgTUYsUEJlPWYoKCk9PntNRj1bWyJwYXRoIix7ZDoiTTE1IDEyaC01In1dLFsicGF0aCIse2Q6Ik0xNSA4aC01In1dLFsicGF0aCIse2Q6Ik0xOSAxN1Y1YTIgMiAwIDAgMC0yLTJINCJ9XSxbInBhdGgiLHtkOiJNOCAyMWgxMmEyIDIgMCAwIDAgMi0ydi0xYTEgMSAwIDAgMC0xLTFIMTFhMSAxIDAgMCAwLTEgMXYxYTIgMiAwIDEgMS00IDBWNWEyIDIgMCAxIDAtNCAwdjJhMSAxIDAgMCAwIDEgMWgzIn1dXX0pO3ZhciBrRixJQmU9ZigoKT0+e2tGPVtbInBhdGgiLHtkOiJNMTkgMTdWNWEyIDIgMCAwIDAtMi0ySDQifV0sWyJwYXRoIix7ZDoiTTggMjFoMTJhMiAyIDAgMCAwIDItMnYtMWExIDEgMCAwIDAtMS0xSDExYTEgMSAwIDAgMC0xIDF2MWEyIDIgMCAxIDEtNCAwVjVhMiAyIDAgMSAwLTQgMHYyYTEgMSAwIDAgMCAxIDFoMyJ9XV19KTt2YXIgU0YsTkJlPWYoKCk9PntTRj1bWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMSIscjoiOCJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtNC4zLTQuMyJ9XSxbInBhdGgiLHtkOiJNMTEgN3Y0In1dLFsicGF0aCIse2Q6Ik0xMSAxNWguMDEifV1dfSk7dmFyIHpGLFJCZT1mKCgpPT57ekY9W1sicGF0aCIse2Q6Im04IDExIDIgMiA0LTQifV0sWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMSIscjoiOCJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtNC4zLTQuMyJ9XV19KTt2YXIgQ0YsT0JlPWYoKCk9PntDRj1bWyJwYXRoIix7ZDoibTEzIDEzLjUgMi0yLjUtMi0yLjUifV0sWyJwYXRoIix7ZDoibTIxIDIxLTQuMy00LjMifV0sWyJwYXRoIix7ZDoiTTkgOC41IDcgMTFsMiAyLjUifV0sWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMSIscjoiOCJ9XV19KTt2YXIgX0YsRkJlPWYoKCk9PntfRj1bWyJwYXRoIix7ZDoibTEzLjUgOC41LTUgNSJ9XSxbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI4In1dLFsicGF0aCIse2Q6Im0yMSAyMS00LjMtNC4zIn1dXX0pO3ZhciBURixCQmU9ZigoKT0+e1RGPVtbInBhdGgiLHtkOiJtMTMuNSA4LjUtNSA1In1dLFsicGF0aCIse2Q6Im04LjUgOC41IDUgNSJ9XSxbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI4In1dLFsicGF0aCIse2Q6Im0yMSAyMS00LjMtNC4zIn1dXX0pO3ZhciBMRixIQmU9ZigoKT0+e0xGPVtbInBhdGgiLHtkOiJtMjEgMjEtNC4zNC00LjM0In1dLFsiY2lyY2xlIix7Y3g6IjExIixjeToiMTEiLHI6IjgifV1dfSk7dmFyICRGLHFCZT1mKCgpPT57JEY9W1sicGF0aCIse2Q6Ik0xNiA1YTQgMyAwIDAgMC04IDBjMCA0IDggMyA4IDdhNCAzIDAgMCAxLTggMCJ9XSxbInBhdGgiLHtkOiJNOCAxOWE0IDMgMCAwIDAgOCAwYzAtNC04LTMtOC03YTQgMyAwIDAgMSA4IDAifV1dfSk7dmFyIFF1LFZCZT1mKCgpPT57UXU9W1sicGF0aCIse2Q6Ik0zLjcxNCAzLjA0OGEuNDk4LjQ5OCAwIDAgMC0uNjgzLjYyN2wyLjg0MyA3LjYyN2EyIDIgMCAwIDEgMCAxLjM5NmwtMi44NDIgNy42MjdhLjQ5OC40OTggMCAwIDAgLjY4Mi42MjdsMTgtOC41YS41LjUgMCAwIDAgMC0uOTA0eiJ9XSxbInBhdGgiLHtkOiJNNiAxMmgxNiJ9XV19KTt2YXIgREYsakJlPWYoKCk9PntERj1bWyJyZWN0Iix7eDoiMTQiLHk6IjE0Iix3aWR0aDoiOCIsaGVpZ2h0OiI4IixyeDoiMiJ9XSxbInJlY3QiLHt4OiIyIix5OiIyIix3aWR0aDoiOCIsaGVpZ2h0OiI4IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNyAxNHYxYTIgMiAwIDAgMCAyIDJoMSJ9XSxbInBhdGgiLHtkOiJNMTQgN2gxYTIgMiAwIDAgMSAyIDJ2MSJ9XV19KTt2YXIgQUYsVUJlPWYoKCk9PntBRj1bWyJwYXRoIix7ZDoiTTE0LjUzNiAyMS42ODZhLjUuNSAwIDAgMCAuOTM3LS4wMjRsNi41LTE5YS40OTYuNDk2IDAgMCAwLS42MzUtLjYzNWwtMTkgNi41YS41LjUgMCAwIDAtLjAyNC45MzdsNy45MyAzLjE4YTIgMiAwIDAgMSAxLjExMiAxLjExeiJ9XSxbInBhdGgiLHtkOiJtMjEuODU0IDIuMTQ3LTEwLjk0IDEwLjkzOSJ9XV19KTt2YXIgRUYsV0JlPWYoKCk9PntFRj1bWyJwYXRoIix7ZDoibTE2IDE2LTQgNC00LTQifV0sWyJwYXRoIix7ZDoiTTMgMTJoMTgifV0sWyJwYXRoIix7ZDoibTggOCA0LTQgNCA0In1dXX0pO3ZhciBQRixHQmU9ZigoKT0+e1BGPVtbInBhdGgiLHtkOiJNMTIgM3YxOCJ9XSxbInBhdGgiLHtkOiJtMTYgMTYgNC00LTQtNCJ9XSxbInBhdGgiLHtkOiJtOCA4LTQgNCA0IDQifV1dfSk7dmFyIElGLFlCZT1mKCgpPT57SUY9W1sicGF0aCIse2Q6Im0xMC44NTIgMTQuNzcyLS4zODMuOTIzIn1dLFsicGF0aCIse2Q6Ik0xMy4xNDggMTQuNzcyYTMgMyAwIDEgMC0yLjI5Ni01LjU0NGwtLjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xMy4xNDggOS4yMjguMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTEzLjUzIDE1LjY5Ni0uMzgyLS45MjRhMyAzIDAgMSAxLTIuMjk2LTUuNTQ0In1dLFsicGF0aCIse2Q6Im0xNC43NzIgMTAuODUyLjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im0xNC43NzIgMTMuMTQ4LjkyMy4zODMifV0sWyJwYXRoIix7ZDoiTTQuNSAxMEg0YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2NGEyIDIgMCAwIDEtMiAyaC0uNSJ9XSxbInBhdGgiLHtkOiJNNC41IDE0SDRhMiAyIDAgMCAwLTIgMnY0YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNGEyIDIgMCAwIDAtMi0yaC0uNSJ9XSxbInBhdGgiLHtkOiJNNiAxOGguMDEifV0sWyJwYXRoIix7ZDoiTTYgNmguMDEifV0sWyJwYXRoIix7ZDoibTkuMjI4IDEwLjg1Mi0uOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTkuMjI4IDEzLjE0OC0uOTIzLjM4MyJ9XV19KTt2YXIgTkYsS0JlPWYoKCk9PntORj1bWyJwYXRoIix7ZDoiTTYgMTBINGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjRhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNiAxNEg0YTIgMiAwIDAgMC0yIDJ2NGEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTRhMiAyIDAgMCAwLTItMmgtMiJ9XSxbInBhdGgiLHtkOiJNNiA2aC4wMSJ9XSxbInBhdGgiLHtkOiJNNiAxOGguMDEifV0sWyJwYXRoIix7ZDoibTEzIDYtNCA2aDZsLTQgNiJ9XV19KTt2YXIgUkYsWkJlPWYoKCk9PntSRj1bWyJwYXRoIix7ZDoiTTcgMmgxM2EyIDIgMCAwIDEgMiAydjRhMiAyIDAgMCAxLTIgMmgtNSJ9XSxbInBhdGgiLHtkOiJNMTAgMTAgMi41IDIuNUMyIDIgMiAyLjUgMiA1djNhMiAyIDAgMCAwIDIgMmg2eiJ9XSxbInBhdGgiLHtkOiJNMjIgMTd2LTFhMiAyIDAgMCAwLTItMmgtMSJ9XSxbInBhdGgiLHtkOiJNNCAxNGEyIDIgMCAwIDAtMiAydjRhMiAyIDAgMCAwIDIgMmgxNi41bDEtLjUuNS41LTgtOEg0eiJ9XSxbInBhdGgiLHtkOiJNNiAxOGguMDEifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgT0YsWEJlPWYoKCk9PntPRj1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjgiLHg6IjIiLHk6IjIiLHJ4OiIyIixyeToiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiOCIseDoiMiIseToiMTQiLHJ4OiIyIixyeToiMiJ9XSxbImxpbmUiLHt4MToiNiIseDI6IjYuMDEiLHkxOiI2Iix5MjoiNiJ9XSxbImxpbmUiLHt4MToiNiIseDI6IjYuMDEiLHkxOiIxOCIseTI6IjE4In1dXX0pO3ZhciBGRixRQmU9ZigoKT0+e0ZGPVtbInBhdGgiLHtkOiJNMTQgMTdINSJ9XSxbInBhdGgiLHtkOiJNMTkgN2gtOSJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE3IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjciLGN5OiI3IixyOiIzIn1dXX0pO3ZhciBCRixKQmU9ZigoKT0+e0JGPVtbInBhdGgiLHtkOiJNOC4zIDEwYS43LjcgMCAwIDEtLjYyNi0xLjA3OUwxMS40IDNhLjcuNyAwIDAgMSAxLjE5OC0uMDQzTDE2LjMgOC45YS43LjcgMCAwIDEtLjU3MiAxLjFaIn1dLFsicmVjdCIse3g6IjMiLHk6IjE0Iix3aWR0aDoiNyIsaGVpZ2h0OiI3IixyeDoiMSJ9XSxbImNpcmNsZSIse2N4OiIxNy41IixjeToiMTcuNSIscjoiMy41In1dXX0pO3ZhciBIRixlSGU9ZigoKT0+e0hGPVtbInBhdGgiLHtkOiJNOS42NzEgNC4xMzZhMi4zNCAyLjM0IDAgMCAxIDQuNjU5IDAgMi4zNCAyLjM0IDAgMCAwIDMuMzE5IDEuOTE1IDIuMzQgMi4zNCAwIDAgMSAyLjMzIDQuMDMzIDIuMzQgMi4zNCAwIDAgMCAwIDMuODMxIDIuMzQgMi4zNCAwIDAgMS0yLjMzIDQuMDMzIDIuMzQgMi4zNCAwIDAgMC0zLjMxOSAxLjkxNSAyLjM0IDIuMzQgMCAwIDEtNC42NTkgMCAyLjM0IDIuMzQgMCAwIDAtMy4zMi0xLjkxNSAyLjM0IDIuMzQgMCAwIDEtMi4zMy00LjAzMyAyLjM0IDIuMzQgMCAwIDAgMC0zLjgzMUEyLjM0IDIuMzQgMCAwIDEgNi4zNSA2LjA1MWEyLjM0IDIuMzQgMCAwIDAgMy4zMTktMS45MTUifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyJ9XV19KTt2YXIgcUYsdEhlPWYoKCk9PntxRj1bWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiI1IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiIxMiIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE5IixyOiIzIn1dLFsibGluZSIse3gxOiI4LjU5Iix4MjoiMTUuNDIiLHkxOiIxMy41MSIseTI6IjE3LjQ5In1dLFsibGluZSIse3gxOiIxNS40MSIseDI6IjguNTkiLHkxOiI2LjUxIix5MjoiMTAuNDkifV1dfSk7dmFyIFZGLGFIZT1mKCgpPT57VkY9W1sicGF0aCIse2Q6Ik0xMiAydjEzIn1dLFsicGF0aCIse2Q6Im0xNiA2LTQtNC00IDQifV0sWyJwYXRoIix7ZDoiTTQgMTJ2OGEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LTgifV1dfSk7dmFyIGpGLHJIZT1mKCgpPT57akY9W1sicGF0aCIse2Q6Ik0xNCAxMWEyIDIgMCAxIDEtNCAwIDQgNCAwIDAgMSA4IDAgNiA2IDAgMCAxLTEyIDAgOCA4IDAgMCAxIDE2IDAgMTAgMTAgMCAxIDEtMjAgMCAxMS45MyAxMS45MyAwIDAgMSAyLjQyLTcuMjIgMiAyIDAgMSAxIDMuMTYgMi40NCJ9XV19KTt2YXIgVUYsc0hlPWYoKCk9PntVRj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJsaW5lIix7eDE6IjMiLHgyOiIyMSIseTE6IjkiLHkyOiI5In1dLFsibGluZSIse3gxOiIzIix4MjoiMjEiLHkxOiIxNSIseTI6IjE1In1dLFsibGluZSIse3gxOiI5Iix4MjoiOSIseTE6IjkiLHkyOiIyMSJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiIxNSIseTE6IjkiLHkyOiIyMSJ9XV19KTt2YXIgV0YsaUhlPWYoKCk9PntXRj1bWyJwYXRoIix7ZDoiTTEyIDEyVjlhMSAxIDAgMCAwLTEtMUg5YTEgMSAwIDAgMC0xIDF2MyJ9XSxbInBhdGgiLHtkOiJNMTYgMjB2LTNhMSAxIDAgMCAwLTEtMWgtMmExIDEgMCAwIDAtMSAxdjMifV0sWyJwYXRoIix7ZDoiTTIwIDIyVjIifV0sWyJwYXRoIix7ZDoiTTQgMTJoMTYifV0sWyJwYXRoIix7ZDoiTTQgMjBoMTYifV0sWyJwYXRoIix7ZDoiTTQgMnYyMCJ9XSxbInBhdGgiLHtkOiJNNCA0aDE2In1dXX0pO3ZhciBHRixvSGU9ZigoKT0+e0dGPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoiTTEyIDh2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMTZoLjAxIn1dXX0pO3ZhciBZRixuSGU9ZigoKT0+e1lGPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoibTQuMjQzIDUuMjEgMTQuMzkgMTIuNDcyIn1dXX0pO3ZhciBLRixsSGU9ZigoKT0+e0tGPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoibTkgMTIgMiAyIDQtNCJ9XV19KTt2YXIgWkYsY0hlPWYoKCk9PntaRj1bWyJwYXRoIix7ZDoiTTExIDIyYy0zLjgwNi0xLjQ1LTctMy45NjYtNy05VjZhMSAxIDAgMCAxIDEtMWMyIDAgNC41LTEuMiA2LjI0LTIuNzJhMS4xNyAxLjE3IDAgMCAxIDEuNTIgMEMxNC41MSAzLjgxIDE3IDUgMTkgNWExIDEgMCAwIDEgMSAxdjQifV0sWyJwYXRoIix7ZDoiTTE0LjkyMyAxNi41NDcgMTQgMTYuMTY0In1dLFsicGF0aCIse2Q6Im0xNC45MjMgMTguODQzLS45MjMuMzgzIn1dLFsicGF0aCIse2Q6Ik0xNi41NDcgMTQuOTIzIDE2LjE2NCAxNCJ9XSxbInBhdGgiLHtkOiJtMTYuNTQ3IDIwLjQ2Ny0uMzgzLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTguODQzIDE0LjkyMy4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTkuMjI1IDIxLjM5MS0uMzgyLS45MjQifV0sWyJwYXRoIix7ZDoibTIwLjQ2NyAxNi41NDcuOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTIwLjQ2NyAxOC44NDMuOTIzLjM4MyJ9XSxbImNpcmNsZSIse2N4OiIxNy42OTUiLGN5OiIxNy42OTUiLHI6IjMifV1dfSk7dmFyIFhGLGRIZT1mKCgpPT57WEY9W1sicGF0aCIse2Q6Ik0yMCAxM2MwIDUtMy41IDcuNS03LjY2IDguOTVhMSAxIDAgMCAxLS42Ny0uMDFDNy41IDIwLjUgNCAxOCA0IDEzVjZhMSAxIDAgMCAxIDEtMWMyIDAgNC41LTEuMiA2LjI0LTIuNzJhMS4xNyAxLjE3IDAgMCAxIDEuNTIgMEMxNC41MSAzLjgxIDE3IDUgMTkgNWExIDEgMCAwIDEgMSAxeiJ9XSxbInBhdGgiLHtkOiJNOCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoLjAxIn1dXX0pO3ZhciBRRix1SGU9ZigoKT0+e1FGPVtbInBhdGgiLHtkOiJtMTAuOTI5IDE0LjQ2Ny0uMzgzLjkyNCJ9XSxbInBhdGgiLHtkOiJNMTAuOTI5IDguOTIzIDEwLjU0NiA4In1dLFsicGF0aCIse2Q6Ik0xMy4yMjUgOC45MjMgMTMuNjA4IDgifV0sWyJwYXRoIix7ZDoibTEzLjYwNyAxNS4zOTEtLjM4Mi0uOTI0In1dLFsicGF0aCIse2Q6Im0xNC44NDkgMTAuNTQ3LjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im0xNC44NDkgMTIuODQzLjkyMy4zODMifV0sWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Im05LjMwNSAxMC41NDctLjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im05LjMwNSAxMi44NDMtLjkyMy4zODMifV0sWyJjaXJjbGUiLHtjeDoiMTIuMDc3IixjeToiMTEuNjk1IixyOiIzIn1dXX0pO3ZhciBKRixwSGU9ZigoKT0+e0pGPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoiTTEyIDIyVjIifV1dfSk7dmFyIGVCLGZIZT1mKCgpPT57ZUI9W1sicGF0aCIse2Q6Ik0yMCAxM2MwIDUtMy41IDcuNS03LjY2IDguOTVhMSAxIDAgMCAxLS42Ny0uMDFDNy41IDIwLjUgNCAxOCA0IDEzVjZhMSAxIDAgMCAxIDEtMWMyIDAgNC41LTEuMiA2LjI0LTIuNzJhMS4xNyAxLjE3IDAgMCAxIDEuNTIgMEMxNC41MSAzLjgxIDE3IDUgMTkgNWExIDEgMCAwIDEgMSAxeiJ9XSxbInBhdGgiLHtkOiJNOSAxMmg2In1dXX0pO3ZhciB0QixoSGU9ZigoKT0+e3RCPVtbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik01IDVhMSAxIDAgMCAwLTEgMXY3YzAgNSAzLjUgNy41IDcuNjcgOC45NGExIDEgMCAwIDAgLjY3LjAxYzIuMzUtLjgyIDQuNDgtMS45NyA1LjktMy43MSJ9XSxbInBhdGgiLHtkOiJNOS4zMDkgMy42NTJBMTIuMjUyIDEyLjI1MiAwIDAgMCAxMS4yNCAyLjI4YTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXY3YTkuNzg0IDkuNzg0IDAgMCAxLS4wOCAxLjI2NCJ9XV19KTt2YXIgYUIsbUhlPWYoKCk9PnthQj1bWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Ik05IDEyaDYifV0sWyJwYXRoIix7ZDoiTTEyIDl2NiJ9XV19KTt2YXIgSnUsZ0hlPWYoKCk9PntKdT1bWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Ik05LjEgOWEzIDMgMCAwIDEgNS44MiAxYzAgMi0zIDMtMyAzIn1dLFsicGF0aCIse2Q6Ik0xMiAxN2guMDEifV1dfSk7dmFyIHJCLGJIZT1mKCgpPT57ckI9W1sicGF0aCIse2Q6Ik0yMCAxM2MwIDUtMy41IDcuNS03LjY2IDguOTVhMSAxIDAgMCAxLS42Ny0uMDFDNy41IDIwLjUgNCAxOCA0IDEzVjZhMSAxIDAgMCAxIDEtMWMyIDAgNC41LTEuMiA2LjI0LTIuNzJhMS4xNyAxLjE3IDAgMCAxIDEuNTIgMEMxNC41MSAzLjgxIDE3IDUgMTkgNWExIDEgMCAwIDEgMSAxeiJ9XSxbInBhdGgiLHtkOiJNNi4zNzYgMTguOTFhNiA2IDAgMCAxIDExLjI0OS4wMDMifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMSIscjoiNCJ9XV19KTt2YXIgZXAsdkhlPWYoKCk9PntlcD1bWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Im0xNC41IDkuNS01IDUifV0sWyJwYXRoIix7ZDoibTkuNSA5LjUgNSA1In1dXX0pO3ZhciBzQix4SGU9ZigoKT0+e3NCPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV1dfSk7dmFyIGlCLHlIZT1mKCgpPT57aUI9W1sicGF0aCIse2Q6Ik0xMiAxMC4xODlWMTQifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MyJ9XSxbInBhdGgiLHtkOiJNMTkgMTNWN2EyIDIgMCAwIDAtMi0ySDdhMiAyIDAgMCAwLTIgMnY2In1dLFsicGF0aCIse2Q6Ik0xOS4zOCAyMEExMS42IDExLjYgMCAwIDAgMjEgMTRsLTguMTg4LTMuNjM5YTIgMiAwIDAgMC0xLjYyNCAwTDMgMTRhMTEuNiAxMS42IDAgMCAwIDIuODEgNy43NiJ9XSxbInBhdGgiLHtkOiJNMiAyMWMuNi41IDEuMiAxIDIuNSAxIDIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMXMxLjIgMSAyLjUgMWMyLjUgMCAyLjUtMiA1LTIgMS4zIDAgMS45LjUgMi41IDEifV1dfSk7dmFyIG9CLHdIZT1mKCgpPT57b0I9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjgifV0sWyJwYXRoIix7ZDoiTTEyIDJ2Ny41In1dLFsicGF0aCIse2Q6Im0xOSA1LTUuMjMgNS4yMyJ9XSxbInBhdGgiLHtkOiJNMjIgMTJoLTcuNSJ9XSxbInBhdGgiLHtkOiJtMTkgMTktNS4yMy01LjIzIn1dLFsicGF0aCIse2Q6Ik0xMiAxNC41VjIyIn1dLFsicGF0aCIse2Q6Ik0xMC4yMyAxMy43NyA1IDE5In1dLFsicGF0aCIse2Q6Ik05LjUgMTJIMiJ9XSxbInBhdGgiLHtkOiJNMTAuMjMgMTAuMjMgNSA1In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIuNSJ9XV19KTt2YXIgbkIsTUhlPWYoKCk9PntuQj1bWyJwYXRoIix7ZDoiTTIwLjM4IDMuNDYgMTYgMmE0IDQgMCAwIDEtOCAwTDMuNjIgMy40NmEyIDIgMCAwIDAtMS4zNCAyLjIzbC41OCAzLjQ3YTEgMSAwIDAgMCAuOTkuODRINnYxMGMwIDEuMS45IDIgMiAyaDhhMiAyIDAgMCAwIDItMlYxMGgyLjE1YTEgMSAwIDAgMCAuOTktLjg0bC41OC0zLjQ3YTIgMiAwIDAgMC0xLjM0LTIuMjN6In1dXX0pO3ZhciBsQixrSGU9ZigoKT0+e2xCPVtbInBhdGgiLHtkOiJNMTYgMTBhNCA0IDAgMCAxLTggMCJ9XSxbInBhdGgiLHtkOiJNMy4xMDMgNi4wMzRoMTcuNzk0In1dLFsicGF0aCIse2Q6Ik0zLjQgNS40NjdhMiAyIDAgMCAwLS40IDEuMlYyMGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJWNi42NjdhMiAyIDAgMCAwLS40LTEuMmwtMi0yLjY2N0EyIDIgMCAwIDAgMTcgMkg3YTIgMiAwIDAgMC0xLjYuOHoifV1dfSk7dmFyIGNCLFNIZT1mKCgpPT57Y0I9W1sicGF0aCIse2Q6Im0xNSAxMS0xIDkifV0sWyJwYXRoIix7ZDoibTE5IDExLTQtNyJ9XSxbInBhdGgiLHtkOiJNMiAxMWgyMCJ9XSxbInBhdGgiLHtkOiJtMy41IDExIDEuNiA3LjRhMiAyIDAgMCAwIDIgMS42aDkuOGEyIDIgMCAwIDAgMi0xLjZsMS43LTcuNCJ9XSxbInBhdGgiLHtkOiJNNC41IDE1LjVoMTUifV0sWyJwYXRoIix7ZDoibTUgMTEgNC03In1dLFsicGF0aCIse2Q6Im05IDExIDEgOSJ9XV19KTt2YXIgZEIsekhlPWYoKCk9PntkQj1bWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjIxIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMjEiLHI6IjEifV0sWyJwYXRoIix7ZDoiTTIuMDUgMi4wNWgybDIuNjYgMTIuNDJhMiAyIDAgMCAwIDIgMS41OGg5Ljc4YTIgMiAwIDAgMCAxLjk1LTEuNTdsMS42NS03LjQzSDUuMTIifV1dfSk7dmFyIHVCLENIZT1mKCgpPT57dUI9W1sicGF0aCIse2Q6Ik0yMS41NiA0LjU2YTEuNSAxLjUgMCAwIDEgMCAyLjEyMmwtLjQ3LjQ3YTMgMyAwIDAgMS00LjIxMi0uMDMgMyAzIDAgMCAxIDAtNC4yNDNsLjQ0LS40NGExLjUgMS41IDAgMCAxIDIuMTIxIDB6In1dLFsicGF0aCIse2Q6Ik0zIDIyYTEgMSAwIDAgMS0xLTF2LTMuNTg2YTEgMSAwIDAgMSAuMjkzLS43MDdsMy4zNTUtMy4zNTVhMS4yMDUgMS4yMDUgMCAwIDEgMS43MDQgMGwzLjI5NiAzLjI5NmExLjIwNSAxLjIwNSAwIDAgMSAwIDEuNzA0bC0zLjM1NSAzLjM1NWExIDEgMCAwIDEtLjcwNy4yOTN6In1dLFsicGF0aCIse2Q6Im05IDE1IDcuODc5LTcuODc4In1dXX0pO3ZhciBwQixfSGU9ZigoKT0+e3BCPVtbInBhdGgiLHtkOiJtNCA0IDIuNSAyLjUifV0sWyJwYXRoIix7ZDoiTTEzLjUgNi41YTQuOTUgNC45NSAwIDAgMC03IDcifV0sWyJwYXRoIix7ZDoiTTE1IDUgNSAxNSJ9XSxbInBhdGgiLHtkOiJNMTQgMTd2LjAxIn1dLFsicGF0aCIse2Q6Ik0xMCAxNnYuMDEifV0sWyJwYXRoIix7ZDoiTTEzIDEzdi4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTB2LjAxIn1dLFsicGF0aCIse2Q6Ik0xMSAyMHYuMDEifV0sWyJwYXRoIix7ZDoiTTE3IDE0di4wMSJ9XSxbInBhdGgiLHtkOiJNMjAgMTF2LjAxIn1dXX0pO3ZhciBmQixUSGU9ZigoKT0+e2ZCPVtbInBhdGgiLHtkOiJNNCAxM1Y0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2NSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTAgMjJ2LTUifV0sWyJwYXRoIix7ZDoiTTE0IDE5di0yIn1dLFsicGF0aCIse2Q6Ik0xOCAyMHYtMyJ9XSxbInBhdGgiLHtkOiJNMiAxM2gyMCJ9XSxbInBhdGgiLHtkOiJNNiAyMHYtMyJ9XV19KTt2YXIgaEIsTEhlPWYoKCk9PntoQj1bWyJwYXRoIix7ZDoibTE1IDE1IDYgNm0tNi02djQuOG0wLTQuOGg0LjgifV0sWyJwYXRoIix7ZDoiTTkgMTkuOFYxNW0wIDBINC4yTTkgMTVsLTYgNiJ9XSxbInBhdGgiLHtkOiJNMTUgNC4yVjltMCAwaDQuOE0xNSA5bDYtNiJ9XSxbInBhdGgiLHtkOiJNOSA0LjJWOW0wIDBINC4yTTkgOSAzIDMifV1dfSk7dmFyIG1CLCRIZT1mKCgpPT57bUI9W1sicGF0aCIse2Q6Ik0xMSAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTEzIDIyYy41LS41IDEuMTItMSAyLjUtMS0xLjM4IDAtMi0uNS0yLjUtMSJ9XSxbInBhdGgiLHtkOiJNMTQgMmEzLjI4IDMuMjggMCAwIDEtMy4yMjcgMS43OThsLTYuMTctLjU2MUEyLjM4NyAyLjM4NyAwIDEgMCA0LjM4NyA4SDE1LjVhMSAxIDAgMCAxIDAgMTMgMSAxIDAgMCAwIDAtNUgxMmE3IDcgMCAwIDEtNy03VjgifV0sWyJwYXRoIix7ZDoiTTE0IDhhOC41IDguNSAwIDAgMSAwIDgifV0sWyJwYXRoIix7ZDoiTTE2IDE2YzIgMCA0LjUtNCA0LTYifV1dfSk7dmFyIGdCLERIZT1mKCgpPT57Z0I9W1sicGF0aCIse2Q6Ik0xMiAyMnYtNS4xNzJhMiAyIDAgMCAwLS41ODYtMS40MTRMOS41IDEzLjUifV0sWyJwYXRoIix7ZDoiTTE0LjUgMTQuNSAxMiAxNyJ9XSxbInBhdGgiLHtkOiJNMTcgOC44QTYgNiAwIDAgMSAxMy44IDIwSDEwQTYuNSA2LjUgMCAwIDEgNyA4YTUgNSAwIDAgMSAxMCAweiJ9XV19KTt2YXIgYkIsQUhlPWYoKCk9PntiQj1bWyJwYXRoIix7ZDoibTE4IDE0IDQgNC00IDQifV0sWyJwYXRoIix7ZDoibTE4IDIgNCA0LTQgNCJ9XSxbInBhdGgiLHtkOiJNMiAxOGgxLjk3M2E0IDQgMCAwIDAgMy4zLTEuN2w1LjQ1NC04LjZhNCA0IDAgMCAxIDMuMy0xLjdIMjIifV0sWyJwYXRoIix7ZDoiTTIgNmgxLjk3MmE0IDQgMCAwIDEgMy42IDIuMiJ9XSxbInBhdGgiLHtkOiJNMjIgMThoLTYuMDQxYTQgNCAwIDAgMS0zLjMtMS44bC0uMzU5LS40NSJ9XV19KTt2YXIgdkIsRUhlPWYoKCk9Pnt2Qj1bWyJwYXRoIix7ZDoiTTE4IDdWNWExIDEgMCAwIDAtMS0xSDYuNWEuNS41IDAgMCAwLS40LjhsNC41IDZhMiAyIDAgMCAxIDAgMi40bC00LjUgNmEuNS41IDAgMCAwIC40LjhIMTdhMSAxIDAgMCAwIDEtMXYtMiJ9XV19KTt2YXIgeEIsUEhlPWYoKCk9Pnt4Qj1bWyJwYXRoIix7ZDoiTTIgMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDIwdi00In1dLFsicGF0aCIse2Q6Ik0xMiAyMHYtOCJ9XSxbInBhdGgiLHtkOiJNMTcgMjBWOCJ9XV19KTt2YXIgeUIsSUhlPWYoKCk9Pnt5Qj1bWyJwYXRoIix7ZDoiTTIgMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDIwdi00In1dXX0pO3ZhciB3QixOSGU9ZigoKT0+e3dCPVtbInBhdGgiLHtkOiJNMiAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTcgMjB2LTQifV0sWyJwYXRoIix7ZDoiTTEyIDIwdi04In1dXX0pO3ZhciBNQixSSGU9ZigoKT0+e01CPVtbInBhdGgiLHtkOiJNMiAyMGguMDEifV1dfSk7dmFyIGtCLE9IZT1mKCgpPT57a0I9W1sicGF0aCIse2Q6Ik0yIDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNNyAyMHYtNCJ9XSxbInBhdGgiLHtkOiJNMTIgMjB2LTgifV0sWyJwYXRoIix7ZDoiTTE3IDIwVjgifV0sWyJwYXRoIix7ZDoiTTIyIDR2MTYifV1dfSk7dmFyIFNCLEZIZT1mKCgpPT57U0I9W1sicGF0aCIse2Q6Im0yMSAxNy0yLjE1Ni0xLjg2OEEuNS41IDAgMCAwIDE4IDE1LjV2LjVhMSAxIDAgMCAxLTEgMWgtMmExIDEgMCAwIDEtMS0xYzAtMi41NDUtMy45OTEtMy45Ny04LjUtNGExIDEgMCAwIDAgMCA1YzQuMTUzIDAgNC43NDUtMTEuMjk1IDUuNzA4LTEzLjVhMi41IDIuNSAwIDEgMSAzLjMxIDMuMjg0In1dLFsicGF0aCIse2Q6Ik0zIDIxaDE4In1dXX0pO3ZhciB6QixCSGU9ZigoKT0+e3pCPVtbInBhdGgiLHtkOiJNMTAgOUg0TDIgN2wyLTJoNiJ9XSxbInBhdGgiLHtkOiJNMTQgNWg2bDIgMi0yIDJoLTYifV0sWyJwYXRoIix7ZDoiTTEwIDIyVjRhMiAyIDAgMSAxIDQgMHYxOCJ9XSxbInBhdGgiLHtkOiJNOCAyMmg4In1dXX0pO3ZhciBDQixISGU9ZigoKT0+e0NCPVtbInBhdGgiLHtkOiJNMTIgMTN2OCJ9XSxbInBhdGgiLHtkOiJNMTIgM3YzIn1dLFsicGF0aCIse2Q6Ik0yLjM1NCAxMC4zNTRhMS4yMDcgMS4yMDcgMCAwIDEgMC0xLjcwOGwyLjA2LTIuMDZBMiAyIDAgMCAxIDUuODI4IDZoMTIuMzQ0YTIgMiAwIDAgMSAxLjQxNC41ODZsMi4wNiAyLjA2YTEuMjA3IDEuMjA3IDAgMCAxIDAgMS43MDhsLTIuMDYgMi4wNmEyIDIgMCAwIDEtMS40MTQuNTg2SDUuODI4YTIgMiAwIDAgMS0xLjQxNC0uNTg2eiJ9XV19KTt2YXIgX0IscUhlPWYoKCk9PntfQj1bWyJwYXRoIix7ZDoiTTcgMTh2LTZhNSA1IDAgMSAxIDEwIDB2NiJ9XSxbInBhdGgiLHtkOiJNNSAyMWExIDEgMCAwIDAgMSAxaDEyYTEgMSAwIDAgMCAxLTF2LTFhMiAyIDAgMCAwLTItMkg3YTIgMiAwIDAgMC0yIDJ6In1dLFsicGF0aCIse2Q6Ik0yMSAxMmgxIn1dLFsicGF0aCIse2Q6Ik0xOC41IDQuNSAxOCA1In1dLFsicGF0aCIse2Q6Ik0yIDEyaDEifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MSJ9XSxbInBhdGgiLHtkOiJtNC45MjkgNC45MjkuNzA3LjcwNyJ9XSxbInBhdGgiLHtkOiJNMTIgMTJ2NiJ9XV19KTt2YXIgVEIsVkhlPWYoKCk9PntUQj1bWyJwYXRoIix7ZDoiTTE3Ljk3MSA0LjI4NUEyIDIgMCAwIDEgMjEgNnYxMmEyIDIgMCAwIDEtMy4wMjkgMS43MTVsLTkuOTk3LTUuOTk4YTIgMiAwIDAgMS0uMDAzLTMuNDMyeiJ9XSxbInBhdGgiLHtkOiJNMyAyMFY0In1dXX0pO3ZhciBMQixqSGU9ZigoKT0+e0xCPVtbInBhdGgiLHtkOiJNMjEgNHYxNiJ9XSxbInBhdGgiLHtkOiJNNi4wMjkgNC4yODVBMiAyIDAgMCAwIDMgNnYxMmEyIDIgMCAwIDAgMy4wMjkgMS43MTVsOS45OTctNS45OThhMiAyIDAgMCAwIC4wMDMtMy40MzJ6In1dXX0pO3ZhciAkQixVSGU9ZigoKT0+eyRCPVtbInBhdGgiLHtkOiJtMTIuNSAxNy0uNS0xLS41IDFoMXoifV0sWyJwYXRoIix7ZDoiTTE1IDIyYTEgMSAwIDAgMCAxLTF2LTFhMiAyIDAgMCAwIDEuNTYtMy4yNSA4IDggMCAxIDAtMTEuMTIgMEEyIDIgMCAwIDAgOCAyMHYxYTEgMSAwIDAgMCAxIDF6In1dLFsiY2lyY2xlIix7Y3g6IjE1IixjeToiMTIiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjEyIixyOiIxIn1dXX0pO3ZhciBEQixXSGU9ZigoKT0+e0RCPVtbInBhdGgiLHtkOiJNMjIgMiAyIDIyIn1dXX0pO3ZhciBBQixHSGU9ZigoKT0+e0FCPVtbInBhdGgiLHtkOiJNMTAgNUgzIn1dLFsicGF0aCIse2Q6Ik0xMiAxOUgzIn1dLFsicGF0aCIse2Q6Ik0xNCAzdjQifV0sWyJwYXRoIix7ZDoiTTE2IDE3djQifV0sWyJwYXRoIix7ZDoiTTIxIDEyaC05In1dLFsicGF0aCIse2Q6Ik0yMSAxOWgtNSJ9XSxbInBhdGgiLHtkOiJNMjEgNWgtNyJ9XSxbInBhdGgiLHtkOiJNOCAxMHY0In1dLFsicGF0aCIse2Q6Ik04IDEySDMifV1dfSk7dmFyIEVCLFlIZT1mKCgpPT57RUI9W1sicGF0aCIse2Q6Ik0xMSAxNi41ODZWMTlhMSAxIDAgMCAxLTEgMUgyTDE4LjM3IDMuNjNhMSAxIDAgMSAxIDMgM2wtOS42NjMgOS42NjNhMSAxIDAgMCAxLTEuNDE0IDBMOCAxNCJ9XV19KTt2YXIgdHAsS0hlPWYoKCk9Pnt0cD1bWyJwYXRoIix7ZDoiTTEwIDhoNCJ9XSxbInBhdGgiLHtkOiJNMTIgMjF2LTkifV0sWyJwYXRoIix7ZDoiTTEyIDhWMyJ9XSxbInBhdGgiLHtkOiJNMTcgMTZoNCJ9XSxbInBhdGgiLHtkOiJNMTkgMTJWMyJ9XSxbInBhdGgiLHtkOiJNMTkgMjF2LTUifV0sWyJwYXRoIix7ZDoiTTMgMTRoNCJ9XSxbInBhdGgiLHtkOiJNNSAxMFYzIn1dLFsicGF0aCIse2Q6Ik01IDIxdi03In1dXX0pO3ZhciBQQixaSGU9ZigoKT0+e1BCPVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiMjAiLHg6IjUiLHk6IjIiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNMTIuNjY3IDggMTAgMTJoNGwtMi42NjcgNCJ9XV19KTt2YXIgSUIsWEhlPWYoKCk9PntJQj1bWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiMTIiLHg6IjIiLHk6IjYiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik0xMyA4LjMyYTcuNDMgNy40MyAwIDAgMSAwIDcuMzYifV0sWyJwYXRoIix7ZDoiTTE2LjQ2IDYuMjFhMTEuNzYgMTEuNzYgMCAwIDEgMCAxMS41OCJ9XSxbInBhdGgiLHtkOiJNMTkuOTEgNC4xYTE1LjkxIDE1LjkxIDAgMCAxIC4wMSAxNS44In1dXX0pO3ZhciBOQixRSGU9ZigoKT0+e05CPVtbInBhdGgiLHtkOiJNMjIgMTF2MWExMCAxMCAwIDEgMS05LTEwIn1dLFsicGF0aCIse2Q6Ik04IDE0czEuNSAyIDQgMiA0LTIgNC0yIn1dLFsibGluZSIse3gxOiI5Iix4MjoiOS4wMSIseTE6IjkiLHkyOiI5In1dLFsibGluZSIse3gxOiIxNSIseDI6IjE1LjAxIix5MToiOSIseTI6IjkifV0sWyJwYXRoIix7ZDoiTTE2IDVoNiJ9XSxbInBhdGgiLHtkOiJNMTkgMnY2In1dXX0pO3ZhciBSQixKSGU9ZigoKT0+e1JCPVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiMjAiLHg6IjUiLHk6IjIiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMThoLjAxIn1dXX0pO3ZhciBPQixlcWU9ZigoKT0+e09CPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNOCAxNHMxLjUgMiA0IDIgNC0yIDQtMiJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjkuMDEiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiIxNS4wMSIseTE6IjkiLHkyOiI5In1dXX0pO3ZhciBGQix0cWU9ZigoKT0+e0ZCPVtbInBhdGgiLHtkOiJNMiAxM2E2IDYgMCAxIDAgMTIgMCA0IDQgMCAxIDAtOCAwIDIgMiAwIDAgMCA0IDAifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiIxMyIscjoiOCJ9XSxbInBhdGgiLHtkOiJNMiAyMWgxMmM0LjQgMCA4LTMuNiA4LThWN2EyIDIgMCAxIDAtNCAwdjYifV0sWyJwYXRoIix7ZDoiTTE4IDMgMTkuMSA1LjIifV0sWyJwYXRoIix7ZDoiTTIyIDMgMjAuOSA1LjIifV1dfSk7dmFyIEJCLGFxZT1mKCgpPT57QkI9W1sicGF0aCIse2Q6Im0xMCAyMC0xLjI1LTIuNUw2IDE4In1dLFsicGF0aCIse2Q6Ik0xMCA0IDguNzUgNi41IDYgNiJ9XSxbInBhdGgiLHtkOiJtMTQgMjAgMS4yNS0yLjVMMTggMTgifV0sWyJwYXRoIix7ZDoibTE0IDQgMS4yNSAyLjVMMTggNiJ9XSxbInBhdGgiLHtkOiJtMTcgMjEtMy02aC00In1dLFsicGF0aCIse2Q6Im0xNyAzLTMgNiAxLjUgMyJ9XSxbInBhdGgiLHtkOiJNMiAxMmg2LjVMMTAgOSJ9XSxbInBhdGgiLHtkOiJtMjAgMTAtMS41IDIgMS41IDIifV0sWyJwYXRoIix7ZDoiTTIyIDEyaC02LjVMMTQgMTUifV0sWyJwYXRoIix7ZDoibTQgMTAgMS41IDJMNCAxNCJ9XSxbInBhdGgiLHtkOiJtNyAyMSAzLTYtMS41LTMifV0sWyJwYXRoIix7ZDoibTcgMyAzIDZoNCJ9XV19KTt2YXIgSEIscnFlPWYoKCk9PntIQj1bWyJwYXRoIix7ZDoiTTEwLjUgMnY0In1dLFsicGF0aCIse2Q6Ik0xNCAySDdhMiAyIDAgMCAwLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTkuMjkgMTQuNzZBNi42NyA2LjY3IDAgMCAxIDE3IDExYTYuNiA2LjYgMCAwIDEtMi4yOSAzLjc2Yy0xLjE1LjkyLTEuNzEgMi4wNC0xLjcxIDMuMTkgMCAyLjIyIDEuOCA0LjA1IDQgNC4wNXM0LTEuODMgNC00LjA1YzAtMS4xNi0uNTctMi4yNi0xLjcxLTMuMTkifV0sWyJwYXRoIix7ZDoiTTkuNjA3IDIxSDZhMiAyIDAgMCAxLTItMnYtN2EyIDIgMCAwIDEgMi0yaDdWN2ExIDEgMCAwIDAtMS0xSDlhMSAxIDAgMCAwLTEgMXYzIn1dXX0pO3ZhciBxQixzcWU9ZigoKT0+e3FCPVtbInBhdGgiLHtkOiJNMjAgOVY2YTIgMiAwIDAgMC0yLTJINmEyIDIgMCAwIDAtMiAydjMifV0sWyJwYXRoIix7ZDoiTTIgMTZhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi01YTIgMiAwIDAgMC00IDB2MS41YS41LjUgMCAwIDEtLjUuNWgtMTFhLjUuNSAwIDAgMS0uNS0uNVYxMWEyIDIgMCAwIDAtNCAweiJ9XSxbInBhdGgiLHtkOiJNNCAxOHYyIn1dLFsicGF0aCIse2Q6Ik0yMCAxOHYyIn1dLFsicGF0aCIse2Q6Ik0xMiA0djkifV1dfSk7dmFyIFZCLGlxZT1mKCgpPT57VkI9W1sicGF0aCIse2Q6Ik0xMSAyaDIifV0sWyJwYXRoIix7ZDoibTE0LjI4IDE0LTQuNTYgOCJ9XSxbInBhdGgiLHtkOiJtMjEgMjItMS41NTgtNEg0LjU1OCJ9XSxbInBhdGgiLHtkOiJNMyAxMHYyIn1dLFsicGF0aCIse2Q6Ik02LjI0NSAxNS4wNEEyIDIgMCAwIDEgOCAxNGgxMmExIDEgMCAwIDEgLjg2NCAxLjUwNWwtMy4xMSA1LjQ1N0EyIDIgMCAwIDEgMTYgMjJINGExIDEgMCAwIDEtLjg2My0xLjUwNnoifV0sWyJwYXRoIix7ZDoiTTcgMmE0IDQgMCAwIDEtNCA0In1dLFsicGF0aCIse2Q6Im04LjY2IDcuNjYgMS40MSAxLjQxIn1dXX0pO3ZhciBqQixvcWU9ZigoKT0+e2pCPVtbInBhdGgiLHtkOiJNMTIgMjFhOSA5IDAgMCAwIDktOUgzYTkgOSAwIDAgMCA5IDlaIn1dLFsicGF0aCIse2Q6Ik03IDIxaDEwIn1dLFsicGF0aCIse2Q6Ik0xOS41IDEyIDIyIDYifV0sWyJwYXRoIix7ZDoiTTE2LjI1IDNjLjI3LjEuOC41My43NSAxLjM2LS4wNi44My0uOTMgMS4yLTEgMi4wMi0uMDUuNzguMzQgMS4yNC43MyAxLjYyIn1dLFsicGF0aCIse2Q6Ik0xMS4yNSAzYy4yNy4xLjguNTMuNzQgMS4zNi0uMDUuODMtLjkzIDEuMi0uOTggMi4wMi0uMDYuNzguMzMgMS4yNC43MiAxLjYyIn1dLFsicGF0aCIse2Q6Ik02LjI1IDNjLjI3LjEuOC41My43NSAxLjM2LS4wNi44My0uOTMgMS4yLTEgMi4wMi0uMDUuNzguMzQgMS4yNC43NCAxLjYyIn1dXX0pO3ZhciBVQixucWU9ZigoKT0+e1VCPVtbInBhdGgiLHtkOiJNMjIgMTd2MWMwIC41LS41IDEtMSAxSDNjLS41IDAtMS0uNS0xLTF2LTEifV1dfSk7dmFyIFdCLGxxZT1mKCgpPT57V0I9W1sicGF0aCIse2Q6Ik0xMiAxOHY0In1dLFsicGF0aCIse2Q6Ik0yIDE0LjQ5OWE1LjUgNS41IDAgMCAwIDkuNTkxIDMuNjc1LjYuNiAwIDAgMSAuODE4LjAwMUE1LjUgNS41IDAgMCAwIDIyIDE0LjVjMC0yLjI5LTEuNS00LTMtNS41bC01LjQ5Mi01LjMxMmEyIDIgMCAwIDAtMy0uMDJMNSA4Ljk5OWMtMS41IDEuNS0zIDMuMi0zIDUuNSJ9XV19KTt2YXIgR0IsY3FlPWYoKCk9PntHQj1bWyJwYXRoIix7ZDoiTTExLjAxNyAyLjgxNGExIDEgMCAwIDEgMS45NjYgMGwxLjA1MSA1LjU1OGEyIDIgMCAwIDAgMS41OTQgMS41OTRsNS41NTggMS4wNTFhMSAxIDAgMCAxIDAgMS45NjZsLTUuNTU4IDEuMDUxYTIgMiAwIDAgMC0xLjU5NCAxLjU5NGwtMS4wNTEgNS41NThhMSAxIDAgMCAxLTEuOTY2IDBsLTEuMDUxLTUuNTU4YTIgMiAwIDAgMC0xLjU5NC0xLjU5NGwtNS41NTgtMS4wNTFhMSAxIDAgMCAxIDAtMS45NjZsNS41NTgtMS4wNTFhMiAyIDAgMCAwIDEuNTk0LTEuNTk0eiJ9XV19KTt2YXIgYXAsZHFlPWYoKCk9PnthcD1bWyJwYXRoIix7ZDoiTTExLjAxNyAyLjgxNGExIDEgMCAwIDEgMS45NjYgMGwxLjA1MSA1LjU1OGEyIDIgMCAwIDAgMS41OTQgMS41OTRsNS41NTggMS4wNTFhMSAxIDAgMCAxIDAgMS45NjZsLTUuNTU4IDEuMDUxYTIgMiAwIDAgMC0xLjU5NCAxLjU5NGwtMS4wNTEgNS41NThhMSAxIDAgMCAxLTEuOTY2IDBsLTEuMDUxLTUuNTU4YTIgMiAwIDAgMC0xLjU5NC0xLjU5NGwtNS41NTgtMS4wNTFhMSAxIDAgMCAxIDAtMS45NjZsNS41NTgtMS4wNTFhMiAyIDAgMCAwIDEuNTk0LTEuNTk0eiJ9XSxbInBhdGgiLHtkOiJNMjAgMnY0In1dLFsicGF0aCIse2Q6Ik0yMiA0aC00In1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiIyMCIscjoiMiJ9XV19KTt2YXIgWUIsdXFlPWYoKCk9PntZQj1bWyJyZWN0Iix7d2lkdGg6IjE2IixoZWlnaHQ6IjIwIix4OiI0Iix5OiIyIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgNmguMDEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNCIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTIgMTRoLjAxIn1dXX0pO3ZhciBLQixwcWU9ZigoKT0+e0tCPVtbInBhdGgiLHtkOiJNOC44IDIwdi00LjFsMS45LjJhMi4zIDIuMyAwIDAgMCAyLjE2NC0yLjFWOC4zQTUuMzcgNS4zNyAwIDAgMCAyIDguMjVjMCAyLjguNjU2IDMuMDU0IDEgNC41NWE1Ljc3IDUuNzcgMCAwIDEgLjAyOSAyLjc1OEwyIDIwIn1dLFsicGF0aCIse2Q6Ik0xOS44IDE3LjhhNy41IDcuNSAwIDAgMCAuMDAzLTEwLjYwMyJ9XSxbInBhdGgiLHtkOiJNMTcgMTVhMy41IDMuNSAwIDAgMC0uMDI1LTQuOTc1In1dXX0pO3ZhciBaQixmcWU9ZigoKT0+e1pCPVtbInBhdGgiLHtkOiJtNiAxNiA2LTEyIDYgMTIifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XSxbInBhdGgiLHtkOiJtMTYgMjAgMiAyIDQtNCJ9XV19KTt2YXIgWEIsaHFlPWYoKCk9PntYQj1bWyJwYXRoIix7ZDoibTYgMTYgNi0xMiA2IDEyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJwYXRoIix7ZDoiTTQgMjFjMS4xIDAgMS4xLTEgMi4zLTFzMS4xIDEgMi4zIDFjMS4xIDAgMS4xLTEgMi4zLTEgMS4xIDAgMS4xIDEgMi4zIDEgMS4xIDAgMS4xLTEgMi4zLTEgMS4xIDAgMS4xIDEgMi4zIDEgMS4xIDAgMS4xLTEgMi4zLTEifV1dfSk7dmFyIFFCLG1xZT1mKCgpPT57UUI9W1sicGF0aCIse2Q6Ik0xMi4wMzQgMTIuNjgxYS40OTguNDk4IDAgMCAxIC42NDctLjY0N2w5IDMuNWEuNS41IDAgMCAxLS4wMzMuOTQzbC0zLjQ0NCAxLjA2OGExIDEgMCAwIDAtLjY2LjY2bC0xLjA2NyAzLjQ0M2EuNS41IDAgMCAxLS45NDMuMDMzeiJ9XSxbInBhdGgiLHtkOiJNNSAxN0ExMiAxMiAwIDAgMSAxNyA1In1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiNSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTkiLHI6IjIifV1dfSk7dmFyIEpCLGdxZT1mKCgpPT57SkI9W1siY2lyY2xlIix7Y3g6IjE5IixjeToiNSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTkiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTUgMTdBMTIgMTIgMCAwIDEgMTcgNSJ9XV19KTt2YXIgZUgsYnFlPWYoKCk9PntlSD1bWyJwYXRoIix7ZDoiTTE2IDNoNXY1In1dLFsicGF0aCIse2Q6Ik04IDNIM3Y1In1dLFsicGF0aCIse2Q6Ik0xMiAyMnYtOC4zYTQgNCAwIDAgMC0xLjE3Mi0yLjg3MkwzIDMifV0sWyJwYXRoIix7ZDoibTE1IDkgNi02In1dXX0pO3ZhciB0SCx2cWU9ZigoKT0+e3RIPVtbInBhdGgiLHtkOiJNMTcgMTMuNDQgNC40NDIgMTcuMDgyQTIgMiAwIDAgMCA0Ljk4MiAyMUgxOWEyIDIgMCAwIDAgLjU1OC0zLjkyMWwtMS4xMTUtLjMyQTIgMiAwIDAgMSAxNyAxNC44MzdWNy42NiJ9XSxbInBhdGgiLHtkOiJtNyAxMC41NiAxMi41NTgtMy42NDJBMiAyIDAgMCAwIDE5LjAxOCAzSDVhMiAyIDAgMCAwLS41NTggMy45MjFsMS4xMTUuMzJBMiAyIDAgMCAxIDcgOS4xNjN2Ny4xNzgifV1dfSk7dmFyIGFILHhxZT1mKCgpPT57YUg9W1sicGF0aCIse2Q6Im0xNSAxMC40MiA0LjgtNS4wNyJ9XSxbInBhdGgiLHtkOiJNMTkgMThoMyJ9XSxbInBhdGgiLHtkOiJNOS41IDIyIDIxLjQxNCA5LjQxNUEyIDIgMCAwIDAgMjEuMiA2LjRsLTUuNjEtNC4yMDhBMSAxIDAgMCAwIDE0IDN2MmEyIDIgMCAwIDEtMS4zOTQgMS45MDZMOC42NzcgOC4wNTNBMSAxIDAgMCAwIDggOWMtLjE1NSA2LjM5My0yLjA4MiA5LTQgOWEyIDIgMCAwIDAgMCA0aDE0In1dXX0pO3ZhciBySCx5cWU9ZigoKT0+e3JIPVtbInBhdGgiLHtkOiJNMyAzaC4wMSJ9XSxbInBhdGgiLHtkOiJNNyA1aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTEgN2guMDEifV0sWyJwYXRoIix7ZDoiTTMgN2guMDEifV0sWyJwYXRoIix7ZDoiTTcgOWguMDEifV0sWyJwYXRoIix7ZDoiTTMgMTFoLjAxIn1dLFsicmVjdCIse3dpZHRoOiI0IixoZWlnaHQ6IjQiLHg6IjE1Iix5OiI1In1dLFsicGF0aCIse2Q6Im0xOSA5IDIgMnYxMGMwIC42LS40IDEtMSAxaC02Yy0uNiAwLTEtLjQtMS0xVjExbDItMiJ9XSxbInBhdGgiLHtkOiJtMTMgMTQgOC0yIn1dLFsicGF0aCIse2Q6Im0xMyAxOSA4LTIifV1dfSk7dmFyIHNILHdxZT1mKCgpPT57c0g9W1sicGF0aCIse2Q6Ik0xNCA5LjUzNlY3YTQgNCAwIDAgMSA0LTRoMS41YS41LjUgMCAwIDEgLjUuNVY1YTQgNCAwIDAgMS00IDQgNCA0IDAgMCAwLTQgNGMwIDIgMSAzIDEgNWE1IDUgMCAwIDEtMSAzIn1dLFsicGF0aCIse2Q6Ik00IDlhNSA1IDAgMCAxIDggNCA1IDUgMCAwIDEtOC00In1dLFsicGF0aCIse2Q6Ik01IDIxaDE0In1dXX0pO3ZhciBpSCxNcWU9ZigoKT0+e2lIPVtbInBhdGgiLHtkOiJNMTUuMjk1IDE5LjU2MiAxNiAyMiJ9XSxbInBhdGgiLHtkOiJtMTcgMTYgMy43NTggMi4wOTgifV0sWyJwYXRoIix7ZDoibTE5IDEyLjUgMy4wMjYtLjU5OCJ9XSxbInBhdGgiLHtkOiJNNy42MSA2LjNhMyAzIDAgMCAwLTMuOTIgMS4zbC0xLjM4IDIuNzlhMyAzIDAgMCAwIDEuMyAzLjkxbDYuODkgMy41OTdhMSAxIDAgMCAwIDEuMzQyLS40NDdsMy4xMDYtNi4yMTFhMSAxIDAgMCAwLS40NDctMS4zNDF6In1dLFsicGF0aCIse2Q6Ik04IDlWMiJ9XV19KTt2YXIgcnAsa3FlPWYoKCk9PntycD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTcgMTJoLTJsLTIgNS0yLTEwLTIgNUg3In1dXX0pO3ZhciBzcCxTcWU9ZigoKT0+e3NwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im0xNiA4LTggOCJ9XSxbInBhdGgiLHtkOiJNMTYgMTZIOFY4In1dXX0pO3ZhciBpcCx6cWU9ZigoKT0+e2lwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im04IDggOCA4In1dLFsicGF0aCIse2Q6Ik0xNiA4djhIOCJ9XV19KTt2YXIgb3AsQ3FlPWYoKCk9PntvcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgOHY4In1dLFsicGF0aCIse2Q6Im04IDEyIDQgNCA0LTQifV1dfSk7dmFyIG5wLF9xZT1mKCgpPT57bnA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoibTEyIDgtNCA0IDQgNCJ9XSxbInBhdGgiLHtkOiJNMTYgMTJIOCJ9XV19KTt2YXIgbHAsVHFlPWYoKCk9PntscD1bWyJwYXRoIix7ZDoiTTEzIDIxaDZhMiAyIDAgMCAwIDItMlY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjYifV0sWyJwYXRoIix7ZDoibTMgMjEgOS05In1dLFsicGF0aCIse2Q6Ik05IDIxSDN2LTYifV1dfSk7dmFyIGNwLExxZT1mKCgpPT57Y3A9W1sicGF0aCIse2Q6Ik0yMSAxMVY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoNiJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtOS05In1dLFsicGF0aCIse2Q6Ik0yMSAxNXY2aC02In1dXX0pO3ZhciBkcCwkcWU9ZigoKT0+e2RwPVtbInBhdGgiLHtkOiJNMTMgM2g2YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTYifV0sWyJwYXRoIix7ZDoibTMgMyA5IDkifV0sWyJwYXRoIix7ZDoiTTMgOVYzaDYifV1dfSk7dmFyIHVwLERxZT1mKCgpPT57dXA9W1sicGF0aCIse2Q6Ik0yMSAxM3Y2YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg2In1dLFsicGF0aCIse2Q6Im0yMSAzLTkgOSJ9XSxbInBhdGgiLHtkOiJNMTUgM2g2djYifV1dfSk7dmFyIG9ILEFxZT1mKCgpPT57b0g9W1sicGF0aCIse2Q6Im0xMCAxNiA0LTQtNC00In1dLFsicGF0aCIse2Q6Ik0zIDEyaDExIn1dLFsicGF0aCIse2Q6Ik0zIDhWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTMifV1dfSk7dmFyIG5ILEVxZT1mKCgpPT57bkg9W1sicGF0aCIse2Q6Ik0xMCAxMmgxMSJ9XSxbInBhdGgiLHtkOiJtMTcgMTYgNC00LTQtNCJ9XSxbInBhdGgiLHtkOiJNMjEgNi4zNDRWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJ2LTEuMzQ0In1dXX0pO3ZhciBwcCxQcWU9ZigoKT0+e3BwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJwYXRoIix7ZDoibTEyIDE2IDQtNC00LTQifV1dfSk7dmFyIGZwLElxZT1mKCgpPT57ZnA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTggMTZWOGg4In1dLFsicGF0aCIse2Q6Ik0xNiAxNiA4IDgifV1dfSk7dmFyIGhwLE5xZT1mKCgpPT57aHA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTggOGg4djgifV0sWyJwYXRoIix7ZDoibTggMTYgOC04In1dXX0pO3ZhciBtcCxScWU9ZigoKT0+e21wPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im0xNiAxMi00LTQtNCA0In1dLFsicGF0aCIse2Q6Ik0xMiAxNlY4In1dXX0pO3ZhciBncCxPcWU9ZigoKT0+e2dwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMiA4djgifV0sWyJwYXRoIix7ZDoibTguNSAxNCA3LTQifV0sWyJwYXRoIix7ZDoibTguNSAxMCA3IDQifV1dfSk7dmFyIGJwLEZxZT1mKCgpPT57YnA9W1sibGluZSIse3gxOiI1Iix5MToiMyIseDI6IjE5Iix5MjoiMyJ9XSxbImxpbmUiLHt4MToiMyIseTE6IjUiLHgyOiIzIix5MjoiMTkifV0sWyJsaW5lIix7eDE6IjIxIix5MToiNSIseDI6IjIxIix5MjoiMTkifV0sWyJsaW5lIix7eDE6IjkiLHkxOiIyMSIseDI6IjEwIix5MjoiMjEifV0sWyJsaW5lIix7eDE6IjE0Iix5MToiMjEiLHgyOiIxNSIseTI6IjIxIn1dLFsicGF0aCIse2Q6Ik0gMyA1IEEyIDIgMCAwIDEgNSAzIn1dLFsicGF0aCIse2Q6Ik0gMTkgMyBBMiAyIDAgMCAxIDIxIDUifV0sWyJwYXRoIix7ZDoiTSA1IDIxIEEyIDIgMCAwIDEgMyAxOSJ9XSxbInBhdGgiLHtkOiJNIDIxIDE5IEEyIDIgMCAwIDEgMTkgMjEifV0sWyJjaXJjbGUiLHtjeDoiOC41IixjeToiOC41IixyOiIxLjUifV0sWyJsaW5lIix7eDE6IjkuNTYwNjYiLHkxOiI5LjU2MDY2Iix4MjoiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTciLHkxOiIxNyIseDI6IjE0LjgyIix5MjoiMTQuODIifV0sWyJjaXJjbGUiLHtjeDoiOC41IixjeToiMTUuNSIscjoiMS41In1dLFsibGluZSIse3gxOiI5LjU2MDY2Iix5MToiMTQuNDM5MzQiLHgyOiIxNyIseTI6IjcifV1dfSk7dmFyIHZwLEJxZT1mKCgpPT57dnA9W1sicGF0aCIse2Q6Ik04IDNINWEyIDIgMCAwIDAtMiAydjE0YzAgMS4xLjkgMiAyIDJoMyJ9XSxbInBhdGgiLHtkOiJNMTYgM2gzYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMmgtMyJ9XSxbInBhdGgiLHtkOiJNMTIgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTIgMTR2MiJ9XSxbInBhdGgiLHtkOiJNMTIgOHYyIn1dLFsicGF0aCIse2Q6Ik0xMiAydjIifV1dfSk7dmFyIHhwLEhxZT1mKCgpPT57eHA9W1sicGF0aCIse2Q6Ik0yMSA4VjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MyJ9XSxbInBhdGgiLHtkOiJNMjEgMTZ2M2EyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtMyJ9XSxbInBhdGgiLHtkOiJNNCAxMkgyIn1dLFsicGF0aCIse2Q6Ik0xMCAxMkg4In1dLFsicGF0aCIse2Q6Ik0xNiAxMmgtMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTJoLTIifV1dfSk7dmFyIGRjLHFxZT1mKCgpPT57ZGM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTkgOGg3In1dLFsicGF0aCIse2Q6Ik04IDEyaDYifV0sWyJwYXRoIix7ZDoiTTExIDE2aDUifV1dfSk7dmFyIHlwLFZxZT1mKCgpPT57eXA9W1sicGF0aCIse2Q6Ik0yMSAxMC42NTZWMTlhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDEyLjM0NCJ9XSxbInBhdGgiLHtkOiJtOSAxMSAzIDNMMjIgNCJ9XV19KTt2YXIgd3AsanFlPWYoKCk9Pnt3cD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJtOSAxMiAyIDIgNC00In1dXX0pO3ZhciBNcCxVcWU9ZigoKT0+e01wPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im0xNiAxMC00IDQtNC00In1dXX0pO3ZhciBrcCxXcWU9ZigoKT0+e2twPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im0xNCAxNi00LTQgNC00In1dXX0pO3ZhciBTcCxHcWU9ZigoKT0+e1NwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im0xMCA4IDQgNC00IDQifV1dfSk7dmFyIHpwLFlxZT1mKCgpPT57enA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoibTggMTQgNC00IDQgNCJ9XV19KTt2YXIgQ3AsS3FlPWYoKCk9PntDcD1bWyJwYXRoIix7ZDoibTEwIDktMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJtMTQgMTUgMy0zLTMtMyJ9XSxbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciBsSCxacWU9ZigoKT0+e2xIPVtbInBhdGgiLHtkOiJNMTAgOS41IDggMTJsMiAyLjUifV0sWyJwYXRoIix7ZDoiTTE0IDIxaDEifV0sWyJwYXRoIix7ZDoibTE0IDkuNSAyIDIuNS0yIDIuNSJ9XSxbInBhdGgiLHtkOiJNNSAyMWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTkgMjFoMSJ9XV19KTt2YXIgY0gsWHFlPWYoKCk9PntjSD1bWyJwYXRoIix7ZDoiTTUgMjFhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik05IDIxaDEifV0sWyJwYXRoIix7ZDoiTTE0IDIxaDEifV1dfSk7dmFyIF9wLFFxZT1mKCgpPT57X3A9W1sicGF0aCIse2Q6Ik04IDd2NyJ9XSxbInBhdGgiLHtkOiJNMTIgN3Y0In1dLFsicGF0aCIse2Q6Ik0xNiA3djkifV0sWyJwYXRoIix7ZDoiTTUgM2EyIDIgMCAwIDAtMiAyIn1dLFsicGF0aCIse2Q6Ik05IDNoMSJ9XSxbInBhdGgiLHtkOiJNMTQgM2gxIn1dLFsicGF0aCIse2Q6Ik0xOSAzYTIgMiAwIDAgMSAyIDIifV0sWyJwYXRoIix7ZDoiTTIxIDl2MSJ9XSxbInBhdGgiLHtkOiJNMjEgMTR2MSJ9XSxbInBhdGgiLHtkOiJNMjEgMTlhMiAyIDAgMCAxLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTQgMjFoMSJ9XSxbInBhdGgiLHtkOiJNOSAyMWgxIn1dLFsicGF0aCIse2Q6Ik01IDIxYTIgMiAwIDAgMS0yLTIifV0sWyJwYXRoIix7ZDoiTTMgMTR2MSJ9XSxbInBhdGgiLHtkOiJNMyA5djEifV1dfSk7dmFyIFRwLEpxZT1mKCgpPT57VHA9W1sicGF0aCIse2Q6Ik0xMi4wMzQgMTIuNjgxYS40OTguNDk4IDAgMCAxIC42NDctLjY0N2w5IDMuNWEuNS41IDAgMCAxLS4wMzMuOTQzbC0zLjQ0NCAxLjA2OGExIDEgMCAwIDAtLjY2LjY2bC0xLjA2NyAzLjQ0M2EuNS41IDAgMCAxLS45NDMuMDMzeiJ9XSxbInBhdGgiLHtkOiJNNSAzYTIgMiAwIDAgMC0yIDIifV0sWyJwYXRoIix7ZDoiTTE5IDNhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNNSAyMWEyIDIgMCAwIDEtMi0yIn1dLFsicGF0aCIse2Q6Ik05IDNoMSJ9XSxbInBhdGgiLHtkOiJNOSAyMWgyIn1dLFsicGF0aCIse2Q6Ik0xNCAzaDEifV0sWyJwYXRoIix7ZDoiTTMgOXYxIn1dLFsicGF0aCIse2Q6Ik0yMSA5djIifV0sWyJwYXRoIix7ZDoiTTMgMTR2MSJ9XV19KTt2YXIgdWMsZVZlPWYoKCk9Pnt1Yz1bWyJwYXRoIix7ZDoiTTE0IDIxaDEifV0sWyJwYXRoIix7ZDoiTTE0IDNoMSJ9XSxbInBhdGgiLHtkOiJNMTkgM2EyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik0yMSAxNHYxIn1dLFsicGF0aCIse2Q6Ik0yMSAxOWEyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik0yMSA5djEifV0sWyJwYXRoIix7ZDoiTTMgMTR2MSJ9XSxbInBhdGgiLHtkOiJNMyA5djEifV0sWyJwYXRoIix7ZDoiTTUgMjFhMiAyIDAgMCAxLTItMiJ9XSxbInBhdGgiLHtkOiJNNSAzYTIgMiAwIDAgMC0yIDIifV0sWyJwYXRoIix7ZDoiTTcgMTJoMTAifV0sWyJwYXRoIix7ZDoiTTcgMTZoNiJ9XSxbInBhdGgiLHtkOiJNNyA4aDgifV0sWyJwYXRoIix7ZDoiTTkgMjFoMSJ9XSxbInBhdGgiLHtkOiJNOSAzaDEifV1dfSk7dmFyIGRILHRWZT1mKCgpPT57ZEg9W1sicGF0aCIse2Q6Ik0xNCAyMWgxIn1dLFsicGF0aCIse2Q6Ik0yMSAxNHYxIn1dLFsicGF0aCIse2Q6Ik0yMSAxOWEyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik0yMSA5djEifV0sWyJwYXRoIix7ZDoiTTMgMTR2MSJ9XSxbInBhdGgiLHtkOiJNMyA1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMyA5djEifV0sWyJwYXRoIix7ZDoiTTUgMjFhMiAyIDAgMCAxLTItMiJ9XSxbInBhdGgiLHtkOiJNOSAyMWgxIn1dXX0pO3ZhciBMcCxhVmU9ZigoKT0+e0xwPVtbInBhdGgiLHtkOiJNNSAzYTIgMiAwIDAgMC0yIDIifV0sWyJwYXRoIix7ZDoiTTE5IDNhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMjEgMTlhMiAyIDAgMCAxLTIgMiJ9XSxbInBhdGgiLHtkOiJNNSAyMWEyIDIgMCAwIDEtMi0yIn1dLFsicGF0aCIse2Q6Ik05IDNoMSJ9XSxbInBhdGgiLHtkOiJNOSAyMWgxIn1dLFsicGF0aCIse2Q6Ik0xNCAzaDEifV0sWyJwYXRoIix7ZDoiTTE0IDIxaDEifV0sWyJwYXRoIix7ZDoiTTMgOXYxIn1dLFsicGF0aCIse2Q6Ik0yMSA5djEifV0sWyJwYXRoIix7ZDoiTTMgMTR2MSJ9XSxbInBhdGgiLHtkOiJNMjEgMTR2MSJ9XV19KTt2YXIgJHAsclZlPWYoKCk9PnskcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dXX0pO3ZhciBEcCxzVmU9ZigoKT0+e0RwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE2Iix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjE2Iix5MjoiMTYifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiI4Iix5MjoiOCJ9XV19KTt2YXIgQXAsaVZlPWYoKCk9PntBcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNyAxMGgxMCJ9XSxbInBhdGgiLHtkOiJNNyAxNGgxMCJ9XV19KTt2YXIgRXAsb1ZlPWYoKCk9PntFcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTkgMTdjMiAwIDIuOC0xIDIuOC0yLjhWMTBjMC0yIDEtMy4zIDMuMi0zIn1dLFsicGF0aCIse2Q6Ik05IDExLjJoNS43In1dXX0pO3ZhciBQcCxuVmU9ZigoKT0+e1BwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03IDd2MTAifV0sWyJwYXRoIix7ZDoiTTExIDd2MTAifV0sWyJwYXRoIix7ZDoibTE1IDcgMiAxMCJ9XV19KTt2YXIgSXAsbFZlPWYoKCk9PntJcD1bWyJwYXRoIix7ZDoiTTggMTZWOC41YS41LjUgMCAwIDEgLjktLjNsMi43IDMuNTk5YS41LjUgMCAwIDAgLjggMGwyLjctMy42YS41LjUgMCAwIDEgLjkuM1YxNiJ9XSxbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciBOcCxjVmU9ZigoKT0+e05wPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik04IDd2NyJ9XSxbInBhdGgiLHtkOiJNMTIgN3Y0In1dLFsicGF0aCIse2Q6Ik0xNiA3djkifV1dfSk7dmFyIFJwLGRWZT1mKCgpPT57UnA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTcgOGgxMCJ9XSxbInBhdGgiLHtkOiJNNyAxMmgxMCJ9XSxbInBhdGgiLHtkOiJNNyAxNmgxMCJ9XV19KTt2YXIgT3AsdVZlPWYoKCk9PntPcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dXX0pO3ZhciBGcCxwVmU9ZigoKT0+e0ZwPVtbInBhdGgiLHtkOiJNMTIuMDM0IDEyLjY4MWEuNDk4LjQ5OCAwIDAgMSAuNjQ3LS42NDdsOSAzLjVhLjUuNSAwIDAgMS0uMDMzLjk0M2wtMy40NDQgMS4wNjhhMSAxIDAgMCAwLS42Ni42NmwtMS4wNjcgMy40NDNhLjUuNSAwIDAgMS0uOTQzLjAzM3oifV0sWyJwYXRoIix7ZDoiTTIxIDExVjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg2In1dXX0pO3ZhciBCcCxmVmU9ZigoKT0+e0JwPVtbInBhdGgiLHtkOiJNMy42IDMuNkEyIDIgMCAwIDEgNSAzaDE0YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLS41OSAxLjQxIn1dLFsicGF0aCIse2Q6Ik0zIDguN1YxOWEyIDIgMCAwIDAgMiAyaDEwLjMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMTMgMTNhMyAzIDAgMSAwIDAtNkg5djIifV0sWyJwYXRoIix7ZDoiTTkgMTd2LTIuMyJ9XV19KTt2YXIgSHAsaFZlPWYoKCk9PntIcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOSAxN1Y3aDRhMyAzIDAgMCAxIDAgNkg5In1dXX0pO3ZhciBDMSxtVmU9ZigoKT0+e0MxPVtbInBhdGgiLHtkOiJNMTIgM0g1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0ydi03In1dLFsicGF0aCIse2Q6Ik0xOC4zNzUgMi42MjVhMSAxIDAgMCAxIDMgM2wtOS4wMTMgOS4wMTRhMiAyIDAgMCAxLS44NTMuNTA1bC0yLjg3My44NGEuNS41IDAgMCAxLS42Mi0uNjJsLjg0LTIuODczYTIgMiAwIDAgMSAuNTA2LS44NTJ6In1dXX0pO3ZhciBxcCxnVmU9ZigoKT0+e3FwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im0xNSA5LTYgNiJ9XSxbInBhdGgiLHtkOiJNOSA5aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTUgMTVoLjAxIn1dXX0pO3ZhciB1SCxiVmU9ZigoKT0+e3VIPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsibGluZSIse3gxOiIxMCIseDI6IjEwIix5MToiMTUiLHkyOiI5In1dLFsibGluZSIse3gxOiIxNCIseDI6IjE0Iix5MToiMTUiLHkyOiI5In1dXX0pO3ZhciBWcCx2VmU9ZigoKT0+e1ZwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03IDdoMTAifV0sWyJwYXRoIix7ZDoiTTEwIDd2MTAifV0sWyJwYXRoIix7ZDoiTTE2IDE3YTIgMiAwIDAgMS0yLTJWNyJ9XV19KTt2YXIganAseFZlPWYoKCk9PntqcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTJIOS41YTIuNSAyLjUgMCAwIDEgMC01SDE3In1dLFsicGF0aCIse2Q6Ik0xMiA3djEwIn1dLFsicGF0aCIse2Q6Ik0xNiA3djEwIn1dXX0pO3ZhciBVcCx5VmU9ZigoKT0+e1VwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJwYXRoIix7ZDoiTTEyIDh2OCJ9XV19KTt2YXIgV3Asd1ZlPWYoKCk9PntXcD1bWyJyZWN0Iix7eDoiMyIseToiMyIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOSA5LjAwM2ExIDEgMCAwIDEgMS41MTctLjg1OWw0Ljk5NyAyLjk5N2ExIDEgMCAwIDEgMCAxLjcxOGwtNC45OTcgMi45OTdBMSAxIDAgMCAxIDkgMTQuOTk2eiJ9XV19KTt2YXIgR3AsTVZlPWYoKCk9PntHcD1bWyJwYXRoIix7ZDoiTTEyIDd2NCJ9XSxbInBhdGgiLHtkOiJNNy45OTggOS4wMDNhNSA1IDAgMSAwIDgtLjAwNSJ9XSxbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciBwSCxrVmU9ZigoKT0+e3BIPVtbInBhdGgiLHtkOiJNNyAxMmgybDIgNSAyLTEwaDQifV0sWyJyZWN0Iix7eDoiMyIseToiMyIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XV19KTt2YXIgZkgsU1ZlPWYoKCk9PntmSD1bWyJwYXRoIix7ZDoiTTIxIDExYTggOCAwIDAgMC04LTgifV0sWyJwYXRoIix7ZDoiTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDQifV1dfSk7dmFyIFlwLHpWZT1mKCgpPT57WXA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE2IDguOVY3SDhsNCA1LTQgNWg4di0xLjkifV1dfSk7dmFyIEtwLENWZT1mKCgpPT57S3A9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJjaXJjbGUiLHtjeDoiOC41IixjeToiOC41IixyOiIxLjUifV0sWyJsaW5lIix7eDE6IjkuNTYwNjYiLHkxOiI5LjU2MDY2Iix4MjoiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTciLHkxOiIxNyIseDI6IjE0LjgyIix5MjoiMTQuODIifV0sWyJjaXJjbGUiLHtjeDoiOC41IixjeToiMTUuNSIscjoiMS41In1dLFsibGluZSIse3gxOiI5LjU2MDY2Iix5MToiMTQuNDM5MzQiLHgyOiIxNyIseTI6IjcifV1dfSk7dmFyIFpwLF9WZT1mKCgpPT57WnA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJsaW5lIix7eDE6IjkiLHgyOiIxNSIseTE6IjE1Iix5MjoiOSJ9XV19KTt2YXIgWHAsVFZlPWYoKCk9PntYcD1bWyJwYXRoIix7ZDoiTTggMTlINWMtMSAwLTItMS0yLTJWN2MwLTEgMS0yIDItMmgzIn1dLFsicGF0aCIse2Q6Ik0xNiA1aDNjMSAwIDIgMSAyIDJ2MTBjMCAxLTEgMi0yIDJoLTMifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiI0Iix5MjoiMjAifV1dfSk7dmFyIFFwLExWZT1mKCgpPT57UXA9W1sicGF0aCIse2Q6Ik01IDhWNWMwLTEgMS0yIDItMmgxMGMxIDAgMiAxIDIgMnYzIn1dLFsicGF0aCIse2Q6Ik0xOSAxNnYzYzAgMS0xIDItMiAySDdjLTEgMC0yLTEtMi0ydi0zIn1dLFsibGluZSIse3gxOiI0Iix4MjoiMjAiLHkxOiIxMiIseTI6IjEyIn1dXX0pO3ZhciBoSCwkVmU9ZigoKT0+e2hIPVtbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dLFsicmVjdCIse3g6IjgiLHk6IjgiLHdpZHRoOiI4IixoZWlnaHQ6IjgiLHJ4OiIxIn1dXX0pO3ZhciBtSCxEVmU9ZigoKT0+e21IPVtbInBhdGgiLHtkOiJNNCAxMGMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDRjMS4xIDAgMiAuOSAyIDIifV0sWyJwYXRoIix7ZDoiTTEwIDE2Yy0xLjEgMC0yLS45LTItMnYtNGMwLTEuMS45LTIgMi0yaDRjMS4xIDAgMiAuOSAyIDIifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiOCIseDoiMTQiLHk6IjE0IixyeDoiMiJ9XV19KTt2YXIgZ0gsQVZlPWYoKCk9PntnSD1bWyJwYXRoIix7ZDoiTTExLjAzNSA3LjY5YTEgMSAwIDAgMSAxLjkwOS4wMjRsLjczNyAxLjQ1MmExIDEgMCAwIDAgLjczNy41MzVsMS42MzQuMjU2YTEgMSAwIDAgMSAuNTg4IDEuODA2bC0xLjE3MiAxLjE2OGExIDEgMCAwIDAtLjI4Mi44NjZsLjI1OSAxLjYxM2ExIDEgMCAwIDEtMS41NDEgMS4xMzRsLTEuNDY1LS43NWExIDEgMCAwIDAtLjkxMiAwbC0xLjQ2NS43NWExIDEgMCAwIDEtMS41MzktMS4xMzNsLjI1OC0xLjYxM2ExIDEgMCAwIDAtLjI4Mi0uODY2bC0xLjE1Ni0xLjE1M2ExIDEgMCAwIDEgLjU3Mi0xLjgyMmwxLjYzMy0uMjU2YTEgMSAwIDAgMCAuNzM3LS41MzV6In1dLFsicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dfSk7dmFyIGJILEVWZT1mKCgpPT57Ykg9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJyZWN0Iix7eDoiOSIseToiOSIsd2lkdGg6IjYiLGhlaWdodDoiNiIscng6IjEifV1dfSk7dmFyIEpwLFBWZT1mKCgpPT57SnA9W1sicGF0aCIse2Q6Im03IDExIDItMi0yLTIifV0sWyJwYXRoIix7ZDoiTTExIDEzaDQifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV1dfSk7dmFyIGVmLElWZT1mKCgpPT57ZWY9W1sicGF0aCIse2Q6Ik0xOCAyMWE2IDYgMCAwIDAtMTIgMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjExIixyOiI0In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV1dfSk7dmFyIHRmLE5WZT1mKCgpPT57dGY9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Im0xNSA5LTYgNiJ9XSxbInBhdGgiLHtkOiJtOSA5IDYgNiJ9XV19KTt2YXIgYWYsUlZlPWYoKCk9PnthZj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsicGF0aCIse2Q6Ik03IDIxdi0yYTIgMiAwIDAgMSAyLTJoNmEyIDIgMCAwIDEgMiAydjIifV1dfSk7dmFyIHZILE9WZT1mKCgpPT57dkg9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV1dfSk7dmFyIHhILEZWZT1mKCgpPT57eEg9W1sicGF0aCIse2Q6Ik0xNiAxMnYyYTIgMiAwIDAgMS0yIDJIOWExIDEgMCAwIDAtMSAxdjNhMiAyIDAgMCAwIDIgMmgxMGEyIDIgMCAwIDAgMi0yVjEwYTIgMiAwIDAgMC0yLTJoMCJ9XSxbInBhdGgiLHtkOiJNNCAxNmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAydjNhMSAxIDAgMCAxLTEgMWgtNWEyIDIgMCAwIDAtMiAydjIifV1dfSk7dmFyIHlILEJWZT1mKCgpPT57eUg9W1sicGF0aCIse2Q6Ik0xMCAyMmEyIDIgMCAwIDEtMi0yIn1dLFsicGF0aCIse2Q6Ik0xNCAyYTIgMiAwIDAgMSAyIDIifV0sWyJwYXRoIix7ZDoiTTE2IDIyaC0yIn1dLFsicGF0aCIse2Q6Ik0yIDEwVjgifV0sWyJwYXRoIix7ZDoiTTIgNGEyIDIgMCAwIDEgMi0yIn1dLFsicGF0aCIse2Q6Ik0yMCA4YTIgMiAwIDAgMSAyIDIifV0sWyJwYXRoIix7ZDoiTTIyIDE0djIifV0sWyJwYXRoIix7ZDoiTTIyIDIwYTIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTQgMTZhMiAyIDAgMCAxLTItMiJ9XSxbInBhdGgiLHtkOiJNOCAxMGEyIDIgMCAwIDEgMi0yaDVhMSAxIDAgMCAxIDEgMXY1YTIgMiAwIDAgMS0yIDJIOWExIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJNOCAyaDIifV1dfSk7dmFyIHdILEhWZT1mKCgpPT57d0g9W1sicGF0aCIse2Q6Ik0xMCAyMmEyIDIgMCAwIDEtMi0yIn1dLFsicGF0aCIse2Q6Ik0xNiAyMmgtMiJ9XSxbInBhdGgiLHtkOiJNMTYgNGEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMGEyIDIgMCAwIDAgMiAyaDNhMSAxIDAgMCAwIDEtMXYtNWEyIDIgMCAwIDEgMi0yaDVhMSAxIDAgMCAwIDEtMXoifV0sWyJwYXRoIix7ZDoiTTIwIDhhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTR2MiJ9XSxbInBhdGgiLHtkOiJNMjIgMjBhMiAyIDAgMCAxLTIgMiJ9XV19KTt2YXIgTUgscVZlPWYoKCk9PntNSD1bWyJwYXRoIix7ZDoiTTQgMTZhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoMTBhMiAyIDAgMCAxIDIgMnYzYTEgMSAwIDAgMCAxIDFoM2EyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDJIMTBhMiAyIDAgMCAxLTItMnYtM2ExIDEgMCAwIDAtMS0xeiJ9XV19KTt2YXIga0gsVlZlPWYoKCk9PntrSD1bWyJwYXRoIix7ZDoiTTEzLjc3IDMuMDQzYTM0IDM0IDAgMCAwLTMuNTQgMCJ9XSxbInBhdGgiLHtkOiJNMTMuNzcxIDIwLjk1NmEzMyAzMyAwIDAgMS0zLjU0MS4wMDEifV0sWyJwYXRoIix7ZDoiTTIwLjE4IDE3Ljc0Yy0uNTEgMS4xNS0xLjI5IDEuOTMtMi40MzkgMi40NCJ9XSxbInBhdGgiLHtkOiJNMjAuMTggNi4yNTljLS41MS0xLjE0OC0xLjI5MS0xLjkyOS0yLjQ0LTIuNDM4In1dLFsicGF0aCIse2Q6Ik0yMC45NTcgMTAuMjNhMzMgMzMgMCAwIDEgMCAzLjU0In1dLFsicGF0aCIse2Q6Ik0zLjA0MyAxMC4yM2EzNCAzNCAwIDAgMCAuMDAxIDMuNTQxIn1dLFsicGF0aCIse2Q6Ik02LjI2IDIwLjE3OWMtMS4xNS0uNTA4LTEuOTMtMS4yOS0yLjQ0LTIuNDM4In1dLFsicGF0aCIse2Q6Ik02LjI2IDMuODJjLTEuMTQ5LjUxLTEuOTMgMS4yOTEtMi40NCAyLjQ0In1dXX0pO3ZhciBTSCxqVmU9ZigoKT0+e1NIPVtbInBhdGgiLHtkOiJNMTIgM2M3LjIgMCA5IDEuOCA5IDlzLTEuOCA5LTkgOS05LTEuOC05LTkgMS44LTkgOS05In1dXX0pO3ZhciB6SCxVVmU9ZigoKT0+e3pIPVtbInBhdGgiLHtkOiJNMTUuMjM2IDIyYTMgMyAwIDAgMC0yLjItNSJ9XSxbInBhdGgiLHtkOiJNMTYgMjBhMyAzIDAgMCAxIDMtM2gxYTIgMiAwIDAgMCAyLTJ2LTJhNCA0IDAgMCAwLTQtNFY0In1dLFsicGF0aCIse2Q6Ik0xOCAxM2guMDEifV0sWyJwYXRoIix7ZDoiTTE4IDZhNCA0IDAgMCAwLTQgNCA3IDcgMCAwIDAtNyA3YzAtNSA0LTUgNC0xMC41YTQuNSA0LjUgMCAxIDAtOSAwIDIuNSAyLjUgMCAwIDAgNSAwQzcgMTAgMyAxMSAzIDE3YzAgMi44IDIuMiA1IDUgNWgxMCJ9XV19KTt2YXIgQ0gsV1ZlPWYoKCk9PntDSD1bWyJwYXRoIix7ZDoiTTE0IDEzVjguNUMxNCA3IDE1IDcgMTUgNWEzIDMgMCAwIDAtNiAwYzAgMiAxIDIgMSAzLjVWMTMifV0sWyJwYXRoIix7ZDoiTTIwIDE1LjVhMi41IDIuNSAwIDAgMC0yLjUtMi41aC0xMUEyLjUgMi41IDAgMCAwIDQgMTUuNVYxN2ExIDEgMCAwIDAgMSAxaDE0YTEgMSAwIDAgMCAxLTF6In1dLFsicGF0aCIse2Q6Ik01IDIyaDE0In1dXX0pO3ZhciBfSCxHVmU9ZigoKT0+e19IPVtbInBhdGgiLHtkOiJNMTIgMTguMzM4YTIuMSAyLjEgMCAwIDAtLjk4Ny4yNDRMNi4zOTYgMjEuMDFhLjUzLjUzIDAgMCAxLS43Ny0uNTZsLjg4MS01LjEzOWEyLjEyIDIuMTIgMCAwIDAtLjYxMS0xLjg3OUwyLjE2IDkuNzk1YS41My41MyAwIDAgMSAuMjk0LS45MDZsNS4xNjUtLjc1NWEyLjEyIDIuMTIgMCAwIDAgMS41OTctMS4xNmwyLjMwOS00LjY3OUEuNTMuNTMgMCAwIDEgMTIgMiJ9XV19KTt2YXIgVEgsWVZlPWYoKCk9PntUSD1bWyJwYXRoIix7ZDoibTEwLjM0NCA0LjY4OCAxLjE4MS0yLjM5M2EuNTMuNTMgMCAwIDEgLjk1IDBsMi4zMSA0LjY3OWEyLjEyIDIuMTIgMCAwIDAgMS41OTUgMS4xNmw1LjE2Ni43NTZhLjUzLjUzIDAgMCAxIC4yOTQuOTA0bC0zLjIzNyAzLjE1MiJ9XSxbInBhdGgiLHtkOiJtMTcuOTQ1IDE3Ljk0NS40MyAyLjUwNWEuNTMuNTMgMCAwIDEtLjc3MS41NmwtNC42MTgtMi40MjhhMi4xMiAyLjEyIDAgMCAwLTEuOTczIDBMNi4zOTYgMjEuMDFhLjUzLjUzIDAgMCAxLS43Ny0uNTZsLjg4MS01LjEzOWEyLjEyIDIuMTIgMCAwIDAtLjYxMS0xLjg3OUwyLjE2IDkuNzk1YS41My41MyAwIDAgMSAuMjk0LS45MDZsNS4xNjUtLjc1NWE4IDggMCAwIDAgLjQtLjA5OSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXX0pO3ZhciBMSCxLVmU9ZigoKT0+e0xIPVtbInBhdGgiLHtkOiJNMTEuNTI1IDIuMjk1YS41My41MyAwIDAgMSAuOTUgMGwyLjMxIDQuNjc5YTIuMTIzIDIuMTIzIDAgMCAwIDEuNTk1IDEuMTZsNS4xNjYuNzU2YS41My41MyAwIDAgMSAuMjk0LjkwNGwtMy43MzYgMy42MzhhMi4xMjMgMi4xMjMgMCAwIDAtLjYxMSAxLjg3OGwuODgyIDUuMTRhLjUzLjUzIDAgMCAxLS43NzEuNTZsLTQuNjE4LTIuNDI4YTIuMTIyIDIuMTIyIDAgMCAwLTEuOTczIDBMNi4zOTYgMjEuMDFhLjUzLjUzIDAgMCAxLS43Ny0uNTZsLjg4MS01LjEzOWEyLjEyMiAyLjEyMiAwIDAgMC0uNjExLTEuODc5TDIuMTYgOS43OTVhLjUzLjUzIDAgMCAxIC4yOTQtLjkwNmw1LjE2NS0uNzU1YTIuMTIyIDIuMTIyIDAgMCAwIDEuNTk3LTEuMTZ6In1dXX0pO3ZhciAkSCxaVmU9ZigoKT0+eyRIPVtbInBhdGgiLHtkOiJNMTMuOTcxIDQuMjg1QTIgMiAwIDAgMSAxNyA2djEyYTIgMiAwIDAgMS0zLjAyOSAxLjcxNWwtOS45OTctNS45OThhMiAyIDAgMCAxLS4wMDMtMy40MzJ6In1dLFsicGF0aCIse2Q6Ik0yMSAyMFY0In1dXX0pO3ZhciBESCxYVmU9ZigoKT0+e0RIPVtbInBhdGgiLHtkOiJNMTAuMDI5IDQuMjg1QTIgMiAwIDAgMCA3IDZ2MTJhMiAyIDAgMCAwIDMuMDI5IDEuNzE1bDkuOTk3LTUuOTk4YTIgMiAwIDAgMCAuMDAzLTMuNDMyeiJ9XSxbInBhdGgiLHtkOiJNMyA0djE2In1dXX0pO3ZhciBBSCxRVmU9ZigoKT0+e0FIPVtbInBhdGgiLHtkOiJNMjEgOWEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTUgM0g1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0yeiJ9XSxbInBhdGgiLHtkOiJNMTUgM3Y1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOCAxM2guMDEifV0sWyJwYXRoIix7ZDoiTTE2IDEzaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgMTZzLjggMSAyIDFjMS4zIDAgMi0xIDItMSJ9XV19KTt2YXIgRUgsSlZlPWYoKCk9PntFSD1bWyJwYXRoIix7ZDoiTTExIDJ2MiJ9XSxbInBhdGgiLHtkOiJNNSAydjIifV0sWyJwYXRoIix7ZDoiTTUgM0g0YTIgMiAwIDAgMC0yIDJ2NGE2IDYgMCAwIDAgMTIgMFY1YTIgMiAwIDAgMC0yLTJoLTEifV0sWyJwYXRoIix7ZDoiTTggMTVhNiA2IDAgMCAwIDEyIDB2LTMifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiIxMCIscjoiMiJ9XV19KTt2YXIgUEgsZWplPWYoKCk9PntQSD1bWyJwYXRoIix7ZDoiTTIxIDlhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE1IDNINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMTRhMiAyIDAgMCAwIDItMnoifV0sWyJwYXRoIix7ZDoiTTE1IDN2NWExIDEgMCAwIDAgMSAxaDUifV1dfSk7dmFyIElILHRqZT1mKCgpPT57SUg9W1sicGF0aCIse2Q6Ik0xNSAyMXYtNWExIDEgMCAwIDAtMS0xaC00YTEgMSAwIDAgMC0xIDF2NSJ9XSxbInBhdGgiLHtkOiJNMTcuNzc0IDEwLjMxYTEuMTIgMS4xMiAwIDAgMC0xLjU0OSAwIDIuNSAyLjUgMCAwIDEtMy40NTEgMCAxLjEyIDEuMTIgMCAwIDAtMS41NDggMCAyLjUgMi41IDAgMCAxLTMuNDUyIDAgMS4xMiAxLjEyIDAgMCAwLTEuNTQ5IDAgMi41IDIuNSAwIDAgMS0zLjc3LTMuMjQ4bDIuODg5LTQuMTg0QTIgMiAwIDAgMSA3IDJoMTBhMiAyIDAgMCAxIDEuNjUzLjg3M2wyLjg5NSA0LjE5MmEyLjUgMi41IDAgMCAxLTMuNzc0IDMuMjQ0In1dLFsicGF0aCIse2Q6Ik00IDEwLjk1VjE5YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtOC4wNSJ9XV19KTt2YXIgTkgsYWplPWYoKCk9PntOSD1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjYiLHg6IjIiLHk6IjQiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiI2Iix4OiIyIix5OiIxNCIscng6IjIifV1dfSk7dmFyIFJILHJqZT1mKCgpPT57Ukg9W1sicGF0aCIse2Q6Ik0xMS4yNjQgMi4yMDVBNCA0IDAgMCAwIDYuNDIgNC4yMTFsLTQgOGE0IDQgMCAwIDAgMS4zNTkgNS4xMTdsNiA0YTQgNCAwIDAgMCA0LjQzOCAwbDYtNGE0IDQgMCAwIDAgMS41NzYtNC41OTJsLTItNmE0IDQgMCAwIDAtMi41My0yLjUzeiJ9XSxbInBhdGgiLHtkOiJNMTEuOTkgMjIgMTQgMTJsNy44MjIgMy4xODQifV0sWyJwYXRoIix7ZDoiTTE0IDEyIDguNDcgMi4zMDIifV1dfSk7dmFyIE9ILHNqZT1mKCgpPT57T0g9W1sicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjIwIix4OiI0Iix5OiIyIixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIyMCIseDoiMTQiLHk6IjIiLHJ4OiIyIn1dXX0pO3ZhciBGSCxpamU9ZigoKT0+e0ZIPVtbInBhdGgiLHtkOiJNMTYgNEg5YTMgMyAwIDAgMC0yLjgzIDQifV0sWyJwYXRoIix7ZDoiTTE0IDEyYTQgNCAwIDAgMSAwIDhINiJ9XSxbImxpbmUiLHt4MToiNCIseDI6IjIwIix5MToiMTIiLHkyOiIxMiJ9XV19KTt2YXIgQkgsb2plPWYoKCk9PntCSD1bWyJwYXRoIix7ZDoibTQgNSA4IDgifV0sWyJwYXRoIix7ZDoibTEyIDUtOCA4In1dLFsicGF0aCIse2Q6Ik0yMCAxOWgtNGMwLTEuNS40NC0yIDEuNS0yLjVTMjAgMTUuMzMgMjAgMTRjMC0uNDctLjE3LS45My0uNDgtMS4yOWEyLjExIDIuMTEgMCAwIDAtMi42Mi0uNDRjLS40Mi4yNC0uNzQuNjItLjkgMS4wNyJ9XV19KTt2YXIgSEgsbmplPWYoKCk9PntISD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTIgNGguMDEifV0sWyJwYXRoIix7ZDoiTTIwIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik00IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcuNjU3IDYuMzQzaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcuNjU3IDE3LjY1N2guMDEifV0sWyJwYXRoIix7ZDoiTTYuMzQzIDE3LjY1N2guMDEifV0sWyJwYXRoIix7ZDoiTTYuMzQzIDYuMzQzaC4wMSJ9XV19KTt2YXIgcUgsbGplPWYoKCk9PntxSD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTIgM3YxIn1dLFsicGF0aCIse2Q6Ik0xMiAyMHYxIn1dLFsicGF0aCIse2Q6Ik0zIDEyaDEifV0sWyJwYXRoIix7ZDoiTTIwIDEyaDEifV0sWyJwYXRoIix7ZDoibTE4LjM2NCA1LjYzNi0uNzA3LjcwNyJ9XSxbInBhdGgiLHtkOiJtNi4zNDMgMTcuNjU3LS43MDcuNzA3In1dLFsicGF0aCIse2Q6Im01LjYzNiA1LjYzNi43MDcuNzA3In1dLFsicGF0aCIse2Q6Im0xNy42NTcgMTcuNjU3LjcwNy43MDcifV1dfSk7dmFyIFZILGNqZT1mKCgpPT57Vkg9W1sicGF0aCIse2Q6Ik0xMiAydjIifV0sWyJwYXRoIix7ZDoiTTE0LjgzNyAxNi4zODVhNiA2IDAgMSAxLTcuMjIzLTcuMjIyYy42MjQtLjE0Ny45Ny42Ni43MTUgMS4yNDhhNCA0IDAgMCAwIDUuMjYgNS4yNTljLjU4OS0uMjU1IDEuMzk2LjA5IDEuMjQ4LjcxNSJ9XSxbInBhdGgiLHtkOiJNMTYgMTJhNCA0IDAgMCAwLTQtNCJ9XSxbInBhdGgiLHtkOiJtMTkgNS0xLjI1NiAxLjI1NiJ9XSxbInBhdGgiLHtkOiJNMjAgMTJoMiJ9XV19KTt2YXIgakgsZGplPWYoKCk9PntqSD1bWyJwYXRoIix7ZDoiTTEwIDIxdi0xIn1dLFsicGF0aCIse2Q6Ik0xMCA0VjMifV0sWyJwYXRoIix7ZDoiTTEwIDlhMyAzIDAgMCAwIDAgNiJ9XSxbInBhdGgiLHtkOiJtMTQgMjAgMS4yNS0yLjVMMTggMTgifV0sWyJwYXRoIix7ZDoibTE0IDQgMS4yNSAyLjVMMTggNiJ9XSxbInBhdGgiLHtkOiJtMTcgMjEtMy02IDEuNS0zSDIyIn1dLFsicGF0aCIse2Q6Im0xNyAzLTMgNiAxLjUgMyJ9XSxbInBhdGgiLHtkOiJNMiAxMmgxIn1dLFsicGF0aCIse2Q6Im0yMCAxMC0xLjUgMiAxLjUgMiJ9XSxbInBhdGgiLHtkOiJtMy42NCAxOC4zNi43LS43In1dLFsicGF0aCIse2Q6Im00LjM0IDYuMzQtLjctLjcifV1dfSk7dmFyIFVILHVqZT1mKCgpPT57VUg9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjQifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTIgMjB2MiJ9XSxbInBhdGgiLHtkOiJtNC45MyA0LjkzIDEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJtMTcuNjYgMTcuNjYgMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIifV0sWyJwYXRoIix7ZDoiTTIwIDEyaDIifV0sWyJwYXRoIix7ZDoibTYuMzQgMTcuNjYtMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Im0xOS4wNyA0LjkzLTEuNDEgMS40MSJ9XV19KTt2YXIgV0gscGplPWYoKCk9PntXSD1bWyJwYXRoIix7ZDoiTTEyIDJ2OCJ9XSxbInBhdGgiLHtkOiJtNC45MyAxMC45MyAxLjQxIDEuNDEifV0sWyJwYXRoIix7ZDoiTTIgMThoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMThoMiJ9XSxbInBhdGgiLHtkOiJtMTkuMDcgMTAuOTMtMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Ik0yMiAyMkgyIn1dLFsicGF0aCIse2Q6Im04IDYgNC00IDQgNCJ9XSxbInBhdGgiLHtkOiJNMTYgMThhNCA0IDAgMCAwLTggMCJ9XV19KTt2YXIgR0gsZmplPWYoKCk9PntHSD1bWyJwYXRoIix7ZDoiTTEyIDEwVjIifV0sWyJwYXRoIix7ZDoibTQuOTMgMTAuOTMgMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Ik0yIDE4aDIifV0sWyJwYXRoIix7ZDoiTTIwIDE4aDIifV0sWyJwYXRoIix7ZDoibTE5LjA3IDEwLjkzLTEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJNMjIgMjJIMiJ9XSxbInBhdGgiLHtkOiJtMTYgNi00IDQtNC00In1dLFsicGF0aCIse2Q6Ik0xNiAxOGE0IDQgMCAwIDAtOCAwIn1dXX0pO3ZhciBZSCxoamU9ZigoKT0+e1lIPVtbInBhdGgiLHtkOiJtNCAxOSA4LTgifV0sWyJwYXRoIix7ZDoibTEyIDE5LTgtOCJ9XSxbInBhdGgiLHtkOiJNMjAgMTJoLTRjMC0xLjUuNDQyLTIgMS41LTIuNVMyMCA4LjMzNCAyMCA3LjAwMmMwLS40NzItLjE3LS45My0uNDg0LTEuMjlhMi4xMDUgMi4xMDUgMCAwIDAtMi42MTctLjQzNmMtLjQyLjIzOS0uNzM4LjYxNC0uODk5IDEuMDYifV1dfSk7dmFyIEtILG1qZT1mKCgpPT57S0g9W1sicGF0aCIse2Q6Ik0xMSAxN2E0IDQgMCAwIDEtOCAwVjVhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJaIn1dLFsicGF0aCIse2Q6Ik0xNi43IDEzSDE5YTIgMiAwIDAgMSAyIDJ2NGEyIDIgMCAwIDEtMiAySDcifV0sWyJwYXRoIix7ZDoiTSA3IDE3aC4wMSJ9XSxbInBhdGgiLHtkOiJtMTEgOCAyLjMtMi4zYTIuNCAyLjQgMCAwIDEgMy40MDQuMDA0TDE4LjYgNy42YTIuNCAyLjQgMCAwIDEgLjAyNiAzLjQzNEw5LjkgMTkuOCJ9XV19KTt2YXIgWkgsZ2plPWYoKCk9PntaSD1bWyJwYXRoIix7ZDoiTTEwIDIxVjNoOCJ9XSxbInBhdGgiLHtkOiJNNiAxNmg5In1dLFsicGF0aCIse2Q6Ik0xMCA5LjVoNyJ9XV19KTt2YXIgWEgsYmplPWYoKCk9PntYSD1bWyJwYXRoIix7ZDoiTTExIDE5SDRhMiAyIDAgMCAxLTItMlY3YTIgMiAwIDAgMSAyLTJoNSJ9XSxbInBhdGgiLHtkOiJNMTMgNWg3YTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLTIgMmgtNSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dLFsicGF0aCIse2Q6Im0xOCAyMi0zLTMgMy0zIn1dLFsicGF0aCIse2Q6Im02IDIgMyAzLTMgMyJ9XV19KTt2YXIgUUgsdmplPWYoKCk9PntRSD1bWyJwYXRoIix7ZDoibTExIDE5LTYtNiJ9XSxbInBhdGgiLHtkOiJtNSAyMS0yLTIifV0sWyJwYXRoIix7ZDoibTggMTYtNCA0In1dLFsicGF0aCIse2Q6Ik05LjUgMTcuNSAyMSA2VjNoLTNMNi41IDE0LjUifV1dfSk7dmFyIEpILHhqZT1mKCgpPT57Skg9W1sicG9seWxpbmUiLHtwb2ludHM6IjE0LjUgMTcuNSAzIDYgMyAzIDYgMyAxNy41IDE0LjUifV0sWyJsaW5lIix7eDE6IjEzIix4MjoiMTkiLHkxOiIxOSIseTI6IjEzIn1dLFsibGluZSIse3gxOiIxNiIseDI6IjIwIix5MToiMTYiLHkyOiIyMCJ9XSxbImxpbmUiLHt4MToiMTkiLHgyOiIyMSIseTE6IjIxIix5MjoiMTkifV0sWyJwb2x5bGluZSIse3BvaW50czoiMTQuNSA2LjUgMTggMyAyMSAzIDIxIDYgMTcuNSA5LjUifV0sWyJsaW5lIix7eDE6IjUiLHgyOiI5Iix5MToiMTQiLHkyOiIxOCJ9XSxbImxpbmUiLHt4MToiNyIseDI6IjQiLHkxOiIxNyIseTI6IjIwIn1dLFsibGluZSIse3gxOiIzIix4MjoiNSIseTE6IjE5Iix5MjoiMjEifV1dfSk7dmFyIGVxLHlqZT1mKCgpPT57ZXE9W1sicGF0aCIse2Q6Im0xOCAyIDQgNCJ9XSxbInBhdGgiLHtkOiJtMTcgNyAzLTMifV0sWyJwYXRoIix7ZDoiTTE5IDkgOC43IDE5LjNjLTEgMS0yLjUgMS0zLjQgMGwtLjYtLjZjLTEtMS0xLTIuNSAwLTMuNEwxNSA1In1dLFsicGF0aCIse2Q6Im05IDExIDQgNCJ9XSxbInBhdGgiLHtkOiJtNSAxOS0zIDMifV0sWyJwYXRoIix7ZDoibTE0IDQgNiA2In1dXX0pO3ZhciB0cSx3amU9ZigoKT0+e3RxPVtbInBhdGgiLHtkOiJNOSAzSDVhMiAyIDAgMCAwLTIgMnY0bTYtNmgxMGEyIDIgMCAwIDEgMiAydjRNOSAzdjE4bTAgMGgxMGEyIDIgMCAwIDAgMi0yVjlNOSAyMUg1YTIgMiAwIDAgMS0yLTJWOW0wIDBoMTgifV1dfSk7dmFyIGFxLE1qZT1mKCgpPT57YXE9W1sicGF0aCIse2Q6Ik0xMiAyMXYtNiJ9XSxbInBhdGgiLHtkOiJNMTIgOVYzIn1dLFsicGF0aCIse2Q6Ik0zIDE1aDE4In1dLFsicGF0aCIse2Q6Ik0zIDloMTgifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XV19KTt2YXIgcnEsa2plPWYoKCk9PntycT1bWyJwYXRoIix7ZDoiTTEyIDE1VjkifV0sWyJwYXRoIix7ZDoiTTMgMTVoMTgifV0sWyJwYXRoIix7ZDoiTTMgOWgxOCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dXX0pO3ZhciBzcSxTamU9ZigoKT0+e3NxPVtbInBhdGgiLHtkOiJNMTQgMTR2MiJ9XSxbInBhdGgiLHtkOiJNMTQgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTQgMnYyIn1dLFsicGF0aCIse2Q6Ik0xNCA4djIifV0sWyJwYXRoIix7ZDoiTTIgMTVoOCJ9XSxbInBhdGgiLHtkOiJNMiAzaDZhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDIifV0sWyJwYXRoIix7ZDoiTTIgOWg4In1dLFsicGF0aCIse2Q6Ik0yMiAxNWgtNCJ9XSxbInBhdGgiLHtkOiJNMjIgM2gtMmEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMiJ9XSxbInBhdGgiLHtkOiJNMjIgOWgtNCJ9XSxbInBhdGgiLHtkOiJNNSAzdjE4In1dXX0pO3ZhciBpcSx6amU9ZigoKT0+e2lxPVtbInBhdGgiLHtkOiJNMTYgNUgzIn1dLFsicGF0aCIse2Q6Ik0xNiAxMkgzIn1dLFsicGF0aCIse2Q6Ik0xNiAxOUgzIn1dLFsicGF0aCIse2Q6Ik0yMSA1aC4wMSJ9XSxbInBhdGgiLHtkOiJNMjEgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0yMSAxOWguMDEifV1dfSk7dmFyIG9xLENqZT1mKCgpPT57b3E9W1sicGF0aCIse2Q6Ik0xNSAzdjE4In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIxIDlIMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTVIMyJ9XV19KTt2YXIgbnEsX2plPWYoKCk9PntucT1bWyJwYXRoIix7ZDoiTTE0IDEwaDIifV0sWyJwYXRoIix7ZDoiTTE1IDIydi04In1dLFsicGF0aCIse2Q6Ik0xNSAydjQifV0sWyJwYXRoIix7ZDoiTTIgMTBoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTBoMiJ9XSxbInBhdGgiLHtkOiJNMyAxOWgxOCJ9XSxbInBhdGgiLHtkOiJNMyAyMnYtNmEyIDIgMTM1IDAgMSAyLTJoMTRhMiAyIDQ1IDAgMSAyIDJ2NiJ9XSxbInBhdGgiLHtkOiJNMyAydjJhMiAyIDQ1IDAgMCAyIDJoMTRhMiAyIDEzNSAwIDAgMi0yVjIifV0sWyJwYXRoIix7ZDoiTTggMTBoMiJ9XSxbInBhdGgiLHtkOiJNOSAyMnYtOCJ9XSxbInBhdGgiLHtkOiJNOSAydjQifV1dfSk7dmFyIGxxLFRqZT1mKCgpPT57bHE9W1sicmVjdCIse3dpZHRoOiIxMCIsaGVpZ2h0OiIxNCIseDoiMyIseToiOCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTUgNGEyIDIgMCAwIDEgMi0yaDEyYTIgMiAwIDAgMSAyIDJ2MTZhMiAyIDAgMCAxLTIgMmgtMi40In1dLFsicGF0aCIse2Q6Ik04IDE4aC4wMSJ9XV19KTt2YXIgY3EsTGplPWYoKCk9PntjcT1bWyJwYXRoIix7ZDoiTTEyIDN2MTgifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyA5aDE4In1dLFsicGF0aCIse2Q6Ik0zIDE1aDE4In1dXX0pO3ZhciBkcSwkamU9ZigoKT0+e2RxPVtbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHg6IjQiLHk6IjIiLHJ4OiIyIixyeToiMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMi4wMSIseTE6IjE4Iix5MjoiMTgifV1dfSk7dmFyIHVxLERqZT1mKCgpPT57dXE9W1siY2lyY2xlIix7Y3g6IjciLGN5OiI3IixyOiI1In1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiMTciLHI6IjUifV0sWyJwYXRoIix7ZDoiTTEyIDE3aDEwIn1dLFsicGF0aCIse2Q6Im0zLjQ2IDEwLjU0IDcuMDgtNy4wOCJ9XV19KTt2YXIgcHEsQWplPWYoKCk9PntwcT1bWyJwYXRoIix7ZDoiTTEyLjU4NiAyLjU4NkEyIDIgMCAwIDAgMTEuMTcyIDJINGEyIDIgMCAwIDAtMiAydjcuMTcyYTIgMiAwIDAgMCAuNTg2IDEuNDE0bDguNzA0IDguNzA0YTIuNDI2IDIuNDI2IDAgMCAwIDMuNDIgMGw2LjU4LTYuNThhMi40MjYgMi40MjYgMCAwIDAgMC0zLjQyeiJ9XSxbImNpcmNsZSIse2N4OiI3LjUiLGN5OiI3LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV1dfSk7dmFyIGZxLEVqZT1mKCgpPT57ZnE9W1sicGF0aCIse2Q6Ik0xMy4xNzIgMmEyIDIgMCAwIDEgMS40MTQuNTg2bDYuNzEgNi43MWEyLjQgMi40IDAgMCAxIDAgMy40MDhsLTQuNTkyIDQuNTkyYTIuNCAyLjQgMCAwIDEtMy40MDggMGwtNi43MS02LjcxQTIgMiAwIDAgMSA2IDkuMTcyVjNhMSAxIDAgMCAxIDEtMXoifV0sWyJwYXRoIix7ZDoiTTIgN3Y2LjE3MmEyIDIgMCAwIDAgLjU4NiAxLjQxNGw2LjcxIDYuNzFhMi40IDIuNCAwIDAgMCAzLjE5MS4xOTMifV0sWyJjaXJjbGUiLHtjeDoiMTAuNSIsY3k6IjYuNSIscjoiLjUiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XV19KTt2YXIgaHEsUGplPWYoKCk9PntocT1bWyJwYXRoIix7ZDoiTTQgNHYxNiJ9XV19KTt2YXIgbXEsSWplPWYoKCk9PnttcT1bWyJwYXRoIix7ZDoiTTQgNHYxNiJ9XSxbInBhdGgiLHtkOiJNOSA0djE2In1dXX0pO3ZhciBncSxOamU9ZigoKT0+e2dxPVtbInBhdGgiLHtkOiJNNCA0djE2In1dLFsicGF0aCIse2Q6Ik05IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE0IDR2MTYifV1dfSk7dmFyIGJxLFJqZT1mKCgpPT57YnE9W1sicGF0aCIse2Q6Ik00IDR2MTYifV0sWyJwYXRoIix7ZDoiTTkgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMTQgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMTkgNHYxNiJ9XV19KTt2YXIgdnEsT2plPWYoKCk9Pnt2cT1bWyJjaXJjbGUiLHtjeDoiMTciLGN5OiI0IixyOiIyIn1dLFsicGF0aCIse2Q6Ik0xNS41OSA1LjQxIDUuNDEgMTUuNTkifV0sWyJjaXJjbGUiLHtjeDoiNCIsY3k6IjE3IixyOiIyIn1dLFsicGF0aCIse2Q6Ik0xMiAyMnMtNC05LTEuNS0xMS41UzIyIDEyIDIyIDEyIn1dXX0pO3ZhciB4cSxGamU9ZigoKT0+e3hxPVtbInBhdGgiLHtkOiJNNCA0djE2In1dLFsicGF0aCIse2Q6Ik05IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE0IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE5IDR2MTYifV0sWyJwYXRoIix7ZDoiTTIyIDYgMiAxOCJ9XV19KTt2YXIgeXEsQmplPWYoKCk9Pnt5cT1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyIn1dXX0pO3ZhciB3cSxIamU9ZigoKT0+e3dxPVtbInBhdGgiLHtkOiJtMTAuMDY1IDEyLjQ5My02LjE4IDEuMzE4YS45MzQuOTM0IDAgMCAxLTEuMTA4LS43MDJsLS41MzctMi4xNWExLjA3IDEuMDcgMCAwIDEgLjY5MS0xLjI2NWwxMy41MDQtNC40NCJ9XSxbInBhdGgiLHtkOiJtMTMuNTYgMTEuNzQ3IDQuMzMyLS45MjQifV0sWyJwYXRoIix7ZDoibTE2IDIxLTMuMTA1LTYuMjEifV0sWyJwYXRoIix7ZDoiTTE2LjQ4NSA1Ljk0YTIgMiAwIDAgMSAxLjQ1NS0yLjQyNWwxLjA5LS4yNzJhMSAxIDAgMCAxIDEuMjEyLjcyN2wxLjUxNSA2LjA2YTEgMSAwIDAgMS0uNzI3IDEuMjEzbC0xLjA5LjI3MmEyIDIgMCAwIDEtMi40MjUtMS40NTV6In1dLFsicGF0aCIse2Q6Im02LjE1OCA4LjYzMyAxLjExNCA0LjQ1NiJ9XSxbInBhdGgiLHtkOiJtOCAyMSAzLjEwNS02LjIxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTMiLHI6IjIifV1dfSk7dmFyIE1xLHFqZT1mKCgpPT57TXE9W1siY2lyY2xlIix7Y3g6IjQiLGN5OiI0IixyOiIyIn1dLFsicGF0aCIse2Q6Im0xNCA1IDMtMyAzIDMifV0sWyJwYXRoIix7ZDoibTE0IDEwIDMtMyAzIDMifV0sWyJwYXRoIix7ZDoiTTE3IDE0VjIifV0sWyJwYXRoIix7ZDoiTTE3IDE0SDdsLTUgOGgyMFoifV0sWyJwYXRoIix7ZDoiTTggMTR2OCJ9XSxbInBhdGgiLHtkOiJtOSAxNCA1IDgifV1dfSk7dmFyIGtxLFZqZT1mKCgpPT57a3E9W1sicGF0aCIse2Q6Ik0zLjUgMjEgMTQgMyJ9XSxbInBhdGgiLHtkOiJNMjAuNSAyMSAxMCAzIn1dLFsicGF0aCIse2Q6Ik0xNS41IDIxIDEyIDE1bC0zLjUgNiJ9XSxbInBhdGgiLHtkOiJNMiAyMWgyMCJ9XV19KTt2YXIgU3EsamplPWYoKCk9PntTcT1bWyJwYXRoIix7ZDoiTTEyIDE5aDgifV0sWyJwYXRoIix7ZDoibTQgMTcgNi02LTYtNiJ9XV19KTt2YXIgcmYsVWplPWYoKCk9PntyZj1bWyJwYXRoIix7ZDoiTTIxIDcgNi44MiAyMS4xOGEyLjgzIDIuODMgMCAwIDEtMy45OS0uMDFhMi44MyAyLjgzIDAgMCAxIDAtNEwxNyAzIn1dLFsicGF0aCIse2Q6Im0xNiAyIDYgNiJ9XSxbInBhdGgiLHtkOiJNMTIgMTZINCJ9XV19KTt2YXIgenEsV2plPWYoKCk9Pnt6cT1bWyJwYXRoIix7ZDoiTTE0LjUgMnYxNy41YzAgMS40LTEuMSAyLjUtMi41IDIuNWMtMS40IDAtMi41LTEuMS0yLjUtMi41VjIifV0sWyJwYXRoIix7ZDoiTTguNSAyaDcifV0sWyJwYXRoIix7ZDoiTTE0LjUgMTZoLTUifV1dfSk7dmFyIHNmLEdqZT1mKCgpPT57c2Y9W1sicGF0aCIse2Q6Ik0yMSA1SDMifV0sWyJwYXRoIix7ZDoiTTE3IDEySDcifV0sWyJwYXRoIix7ZDoiTTE5IDE5SDUifV1dfSk7dmFyIENxLFlqZT1mKCgpPT57Q3E9W1sicGF0aCIse2Q6Ik05IDJ2MTcuNUEyLjUgMi41IDAgMCAxIDYuNSAyMkEyLjUgMi41IDAgMCAxIDQgMTkuNVYyIn1dLFsicGF0aCIse2Q6Ik0yMCAydjE3LjVhMi41IDIuNSAwIDAgMS0yLjUgMi41YTIuNSAyLjUgMCAwIDEtMi41LTIuNVYyIn1dLFsicGF0aCIse2Q6Ik0zIDJoNyJ9XSxbInBhdGgiLHtkOiJNMTQgMmg3In1dLFsicGF0aCIse2Q6Ik05IDE2SDQifV0sWyJwYXRoIix7ZDoiTTIwIDE2aC01In1dXX0pO3ZhciBvZixLamU9ZigoKT0+e29mPVtbInBhdGgiLHtkOiJNMjEgNUgzIn1dLFsicGF0aCIse2Q6Ik0yMSAxMkg5In1dLFsicGF0aCIse2Q6Ik0yMSAxOUg3In1dXX0pO3ZhciBuZixaamU9ZigoKT0+e25mPVtbInBhdGgiLHtkOiJNMyA1aDE4In1dLFsicGF0aCIse2Q6Ik0zIDEyaDE4In1dLFsicGF0aCIse2Q6Ik0zIDE5aDE4In1dXX0pO3ZhciBwYyxYamU9ZigoKT0+e3BjPVtbInBhdGgiLHtkOiJNMjEgNUgzIn1dLFsicGF0aCIse2Q6Ik0xNSAxMkgzIn1dLFsicGF0aCIse2Q6Ik0xNyAxOUgzIn1dXX0pO3ZhciBfcSxRamU9ZigoKT0+e19xPVtbInBhdGgiLHtkOiJNMTIgMjBoLTFhMiAyIDAgMCAxLTItMiAyIDIgMCAwIDEtMiAySDYifV0sWyJwYXRoIix7ZDoiTTEzIDhoN2EyIDIgMCAwIDEgMiAydjRhMiAyIDAgMCAxLTIgMmgtNyJ9XSxbInBhdGgiLHtkOiJNNSAxNkg0YTIgMiAwIDAgMS0yLTJ2LTRhMiAyIDAgMCAxIDItMmgxIn1dLFsicGF0aCIse2Q6Ik02IDRoMWEyIDIgMCAwIDEgMiAyIDIgMiAwIDAgMSAyLTJoMSJ9XSxbInBhdGgiLHtkOiJNOSA2djEyIn1dXX0pO3ZhciBUcSxKamU9ZigoKT0+e1RxPVtbInBhdGgiLHtkOiJNMTcgMjJoLTFhNCA0IDAgMCAxLTQtNFY2YTQgNCAwIDAgMSA0LTRoMSJ9XSxbInBhdGgiLHtkOiJNNyAyMmgxYTQgNCAwIDAgMCA0LTR2LTEifV0sWyJwYXRoIix7ZDoiTTcgMmgxYTQgNCAwIDAgMSA0IDR2MSJ9XV19KTt2YXIgbGYsZVVlPWYoKCk9PntsZj1bWyJwYXRoIix7ZDoiTTE1IDVoNiJ9XSxbInBhdGgiLHtkOiJNMTUgMTJoNiJ9XSxbInBhdGgiLHtkOiJNMyAxOWgxOCJ9XSxbInBhdGgiLHtkOiJtMyAxMiAzLjU1My03LjcyNGEuNS41IDAgMCAxIC44OTQgMEwxMSAxMiJ9XSxbInBhdGgiLHtkOiJNMy45MiAxMGg2LjE2In1dXX0pO3ZhciBMcSx0VWU9ZigoKT0+e0xxPVtbInBhdGgiLHtkOiJNMTcgNUgzIn1dLFsicGF0aCIse2Q6Ik0yMSAxMkg4In1dLFsicGF0aCIse2Q6Ik0yMSAxOUg4In1dLFsicGF0aCIse2Q6Ik0zIDEydjcifV1dfSk7dmFyICRxLGFVZT1mKCgpPT57JHE9W1sicGF0aCIse2Q6Ik0yMSA1SDMifV0sWyJwYXRoIix7ZDoiTTEwIDEySDMifV0sWyJwYXRoIix7ZDoiTTEwIDE5SDMifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxNSIscjoiMyJ9XSxbInBhdGgiLHtkOiJtMjEgMTktMS45LTEuOSJ9XV19KTt2YXIgY2YsclVlPWYoKCk9PntjZj1bWyJwYXRoIix7ZDoibTE2IDE2LTMgMyAzIDMifV0sWyJwYXRoIix7ZDoiTTMgMTJoMTQuNWExIDEgMCAwIDEgMCA3SDEzIn1dLFsicGF0aCIse2Q6Ik0zIDE5aDYifV0sWyJwYXRoIix7ZDoiTTMgNWgxOCJ9XV19KTt2YXIgRHEsc1VlPWYoKCk9PntEcT1bWyJwYXRoIix7ZDoiTTIgMTBzMy0zIDMtOCJ9XSxbInBhdGgiLHtkOiJNMjIgMTBzLTMtMy0zLTgifV0sWyJwYXRoIix7ZDoiTTEwIDJjMCA0LjQtMy42IDgtOCA4In1dLFsicGF0aCIse2Q6Ik0xNCAyYzAgNC40IDMuNiA4IDggOCJ9XSxbInBhdGgiLHtkOiJNMiAxMHMyIDIgMiA1In1dLFsicGF0aCIse2Q6Ik0yMiAxMHMtMiAyLTIgNSJ9XSxbInBhdGgiLHtkOiJNOCAxNWg4In1dLFsicGF0aCIse2Q6Ik0yIDIydi0xYTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjEifV0sWyJwYXRoIix7ZDoiTTE0IDIydi0xYTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjEifV1dfSk7dmFyIEFxLGlVZT1mKCgpPT57QXE9W1sicGF0aCIse2Q6Im0xMCAyMC0xLjI1LTIuNUw2IDE4In1dLFsicGF0aCIse2Q6Ik0xMCA0IDguNzUgNi41IDYgNiJ9XSxbInBhdGgiLHtkOiJNMTAuNTg1IDE1SDEwIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDYuNUwxMCA5In1dLFsicGF0aCIse2Q6Ik0yMCAxNC41NGE0IDQgMCAxIDEtNCAwVjRhMiAyIDAgMCAxIDQgMHoifV0sWyJwYXRoIix7ZDoibTQgMTAgMS41IDJMNCAxNCJ9XSxbInBhdGgiLHtkOiJtNyAyMSAzLTYtMS41LTMifV0sWyJwYXRoIix7ZDoibTcgMyAzIDZoMiJ9XV19KTt2YXIgRXEsb1VlPWYoKCk9PntFcT1bWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTIgOGE0IDQgMCAwIDAtMS42NDUgNy42NDcifV0sWyJwYXRoIix7ZDoiTTIgMTJoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTQuNTRhNCA0IDAgMSAxLTQgMFY0YTIgMiAwIDAgMSA0IDB6In1dLFsicGF0aCIse2Q6Im00LjkzIDQuOTMgMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Im02LjM0IDE3LjY2LTEuNDEgMS40MSJ9XV19KTt2YXIgUHEsblVlPWYoKCk9PntQcT1bWyJwYXRoIix7ZDoiTTE0IDR2MTAuNTRhNCA0IDAgMSAxLTQgMFY0YTIgMiAwIDAgMSA0IDBaIn1dXX0pO3ZhciBJcSxsVWU9ZigoKT0+e0lxPVtbInBhdGgiLHtkOiJNOSAxOC4xMiAxMCAxNEg0LjE3YTIgMiAwIDAgMS0xLjkyLTIuNTZsMi4zMy04QTIgMiAwIDAgMSA2LjUgMkgyMGEyIDIgMCAwIDEgMiAydjhhMiAyIDAgMCAxLTIgMmgtMi43NmEyIDIgMCAwIDAtMS43OSAxLjExTDEyIDIyYTMuMTMgMy4xMyAwIDAgMS0zLTMuODhaIn1dLFsicGF0aCIse2Q6Ik0xNyAxNFYyIn1dXX0pO3ZhciBOcSxjVWU9ZigoKT0+e05xPVtbInBhdGgiLHtkOiJNMTUgNS44OCAxNCAxMGg1LjgzYTIgMiAwIDAgMSAxLjkyIDIuNTZsLTIuMzMgOEEyIDIgMCAwIDEgMTcuNSAyMkg0YTIgMiAwIDAgMS0yLTJ2LThhMiAyIDAgMCAxIDItMmgyLjc2YTIgMiAwIDAgMCAxLjc5LTEuMTFMMTIgMmEzLjEzIDMuMTMgMCAwIDEgMyAzLjg4WiJ9XSxbInBhdGgiLHtkOiJNNyAxMHYxMiJ9XV19KTt2YXIgUnEsZFVlPWYoKCk9PntScT1bWyJwYXRoIix7ZDoiTTIgOWEzIDMgMCAwIDEgMCA2djJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0yYTMgMyAwIDAgMSAwLTZWN2EyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMloifV0sWyJwYXRoIix7ZDoibTkgMTIgMiAyIDQtNCJ9XV19KTt2YXIgT3EsdVVlPWYoKCk9PntPcT1bWyJwYXRoIix7ZDoiTTIgOWEzIDMgMCAwIDEgMCA2djJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0yYTMgMyAwIDAgMSAwLTZWN2EyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMloifV0sWyJwYXRoIix7ZDoiTTkgMTJoNiJ9XV19KTt2YXIgRnEscFVlPWYoKCk9PntGcT1bWyJwYXRoIix7ZDoiTTIgOWEzIDMgMCAxIDEgMCA2djJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0yYTMgMyAwIDEgMSAwLTZWN2EyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMloifV0sWyJwYXRoIix7ZDoiTTkgOWguMDEifV0sWyJwYXRoIix7ZDoibTE1IDktNiA2In1dLFsicGF0aCIse2Q6Ik0xNSAxNWguMDEifV1dfSk7dmFyIEJxLGZVZT1mKCgpPT57QnE9W1sicGF0aCIse2Q6Ik0yIDlhMyAzIDAgMCAxIDAgNnYyYTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtMmEzIDMgMCAwIDEgMC02VjdhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJaIn1dLFsicGF0aCIse2Q6Ik05IDEyaDYifV0sWyJwYXRoIix7ZDoiTTEyIDl2NiJ9XV19KTt2YXIgSHEsaFVlPWYoKCk9PntIcT1bWyJwYXRoIix7ZDoiTTIgOWEzIDMgMCAwIDEgMCA2djJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0yYTMgMyAwIDAgMSAwLTZWN2EyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMloifV0sWyJwYXRoIix7ZDoibTkuNSAxNC41IDUtNSJ9XV19KTt2YXIgcXEsbVVlPWYoKCk9PntxcT1bWyJwYXRoIix7ZDoiTTIgOWEzIDMgMCAwIDEgMCA2djJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0yYTMgMyAwIDAgMSAwLTZWN2EyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMloifV0sWyJwYXRoIix7ZDoibTkuNSAxNC41IDUtNSJ9XSxbInBhdGgiLHtkOiJtOS41IDkuNSA1IDUifV1dfSk7dmFyIFZxLGdVZT1mKCgpPT57VnE9W1sicGF0aCIse2Q6Ik0yIDlhMyAzIDAgMCAxIDAgNnYyYTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtMmEzIDMgMCAwIDEgMC02VjdhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJaIn1dLFsicGF0aCIse2Q6Ik0xMyA1djIifV0sWyJwYXRoIix7ZDoiTTEzIDE3djIifV0sWyJwYXRoIix7ZDoiTTEzIDExdjIifV1dfSk7dmFyIGpxLGJVZT1mKCgpPT57anE9W1sicGF0aCIse2Q6Ik0xMC41IDE3aDEuMjI3YTIgMiAwIDAgMCAxLjM0NS0uNTJMMTggMTIifV0sWyJwYXRoIix7ZDoibTEyIDEzLjUgMy43OTQuNTA2In1dLFsicGF0aCIse2Q6Im0zLjE3MyA4LjE4IDExLTVhMiAyIDAgMCAxIDIuNjQ3Ljk5M0wxOC41NiA4In1dLFsicGF0aCIse2Q6Ik02IDEwVjgifV0sWyJwYXRoIix7ZDoiTTYgMTR2MSJ9XSxbInBhdGgiLHtkOiJNNiAxOXYyIn1dLFsicmVjdCIse3g6IjIiLHk6IjgiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxMyIscng6IjIifV1dfSk7dmFyIFVxLHZVZT1mKCgpPT57VXE9W1sicGF0aCIse2Q6Im0zLjE3MyA4LjE4IDExLTVhMiAyIDAgMCAxIDIuNjQ3Ljk5M0wxOC41NiA4In1dLFsicGF0aCIse2Q6Ik02IDEwVjgifV0sWyJwYXRoIix7ZDoiTTYgMTR2MSJ9XSxbInBhdGgiLHtkOiJNNiAxOXYyIn1dLFsicmVjdCIse3g6IjIiLHk6IjgiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxMyIscng6IjIifV1dfSk7dmFyIFdxLHhVZT1mKCgpPT57V3E9W1sicGF0aCIse2Q6Ik00IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNNCAxNmguMDEifV0sWyJwYXRoIix7ZDoiTTQgMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik00IDRoLjAxIn1dLFsicGF0aCIse2Q6Ik00IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik05LjQxNCAxMy40MTRhMiAyIDAgMCAwIDEuNDE0LjU4NkgxOWExIDEgMCAwIDAgMS0xdi0yYTEgMSAwIDAgMC0xLTFoLTguMTcyYTIgMiAwIDAgMC0xLjQxNC41ODZMOCAxMnoifV0sWyJwYXRoIix7ZDoiTTkuNDE0IDIxLjQxNGEyIDIgMCAwIDAgMS40MTQuNTg2SDE5YTEgMSAwIDAgMCAxLTF2LTJhMSAxIDAgMCAwLTEtMWgtOC4xNzJhMiAyIDAgMCAwLTEuNDE0LjU4Nkw4IDIweiJ9XSxbInBhdGgiLHtkOiJNOS40MTQgNS40MTRBMiAyIDAgMCAwIDEwLjgyOCA2SDE5YTEgMSAwIDAgMCAxLTFWM2ExIDEgMCAwIDAtMS0xaC04LjE3MmEyIDIgMCAwIDAtMS40MTQuNTg2TDggNHoifV1dfSk7dmFyIEdxLHlVZT1mKCgpPT57R3E9W1sicGF0aCIse2Q6Ik0xMCAyaDQifV0sWyJwYXRoIix7ZDoiTTQuNiAxMWE4IDggMCAwIDAgMS43IDguNyA4IDggMCAwIDAgOC43IDEuNyJ9XSxbInBhdGgiLHtkOiJNNy40IDcuNGE4IDggMCAwIDEgMTAuMyAxIDggOCAwIDAgMSAuOSAxMC4yIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTEyIDEydi0yIn1dXX0pO3ZhciBZcSx3VWU9ZigoKT0+e1lxPVtbInBhdGgiLHtkOiJNMTAgMmg0In1dLFsicGF0aCIse2Q6Ik0xMiAxNHYtNCJ9XSxbInBhdGgiLHtkOiJNNCAxM2E4IDggMCAwIDEgOC03IDggOCAwIDEgMS01LjMgMTRMNCAxNy42In1dLFsicGF0aCIse2Q6Ik05IDE3SDR2NSJ9XV19KTt2YXIgS3EsTVVlPWYoKCk9PntLcT1bWyJsaW5lIix7eDE6IjEwIix4MjoiMTQiLHkxOiIyIix5MjoiMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxNSIseTE6IjE0Iix5MjoiMTEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNCIscjoiOCJ9XV19KTt2YXIgWnEsa1VlPWYoKCk9PntacT1bWyJwYXRoIix7ZDoiTTcgMTJoMTNhMSAxIDAgMCAxIDEgMSA1IDUgMCAwIDEtNSA1aC0uNTk4YS41LjUgMCAwIDAtLjQyNC43NjVsMS41NDQgMi40N2EuNS41IDAgMCAxLS40MjQuNzY1SDUuNDAyYS41LjUgMCAwIDEtLjQyNC0uNzY1TDcgMTgifV0sWyJwYXRoIix7ZDoiTTggMThhNSA1IDAgMCAxLTUtNVY0YTIgMiAwIDAgMSAyLTJoOGEyIDIgMCAwIDEgMiAydjgifV1dfSk7dmFyIFhxLFNVZT1mKCgpPT57WHE9W1siY2lyY2xlIix7Y3g6IjkiLGN5OiIxMiIscjoiMyJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjUiLHJ4OiI3In1dXX0pO3ZhciBRcSx6VWU9ZigoKT0+e1FxPVtbImNpcmNsZSIse2N4OiIxNSIsY3k6IjEyIixyOiIzIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiNSIscng6IjcifV1dfSk7dmFyIEpxLENVZT1mKCgpPT57SnE9W1sicGF0aCIse2Q6Ik0xMCAxNWg0In1dLFsicGF0aCIse2Q6Im0xNC44MTcgMTAuOTk1LS45NzEtMS40NSAxLjAzNC0xLjIzMmEyIDIgMCAwIDAtMi4wMjUtMy4yMzhsLTEuODIuMzY0TDkuOTEgMy44ODVhMiAyIDAgMCAwLTMuNjI1Ljc0OEw2LjE0MSA2LjU1bC0xLjcyNS40MjZhMiAyIDAgMCAwLS4xOSAzLjc1NmwuNjU3LjI3In1dLFsicGF0aCIse2Q6Im0xOC44MjIgMTAuOTk1IDIuMjYtNS4zOGExIDEgMCAwIDAtLjU1Ny0xLjMxOEwxNi45NTQgMi45YTEgMSAwIDAgMC0xLjI4MS41MzNsLS45MjQgMi4xMjIifV0sWyJwYXRoIix7ZDoiTTQgMTIuMDA2QTEgMSAwIDAgMSA0Ljk5NCAxMUgxOWExIDEgMCAwIDEgMSAxdjdhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJ6In1dXX0pO3ZhciBlVixfVWU9ZigoKT0+e2VWPVtbInBhdGgiLHtkOiJNMTYgMTJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgNmEyIDIgMCAwIDEgMS40MTQuNTg2bDQgNEEyIDIgMCAwIDEgMjIgMTJ2N2EyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMnYtN2EyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LTRBMiAyIDAgMCAxIDggNnoifV0sWyJwYXRoIix7ZDoiTTE2IDZWNGEyIDIgMCAwIDAtMi0yaC00YTIgMiAwIDAgMC0yIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMiAxNGgyMCJ9XSxbInBhdGgiLHtkOiJNOCAxMnY0In1dXX0pO3ZhciB0VixUVWU9ZigoKT0+e3RWPVtbImVsbGlwc2UiLHtjeDoiMTIiLGN5OiIxMSIscng6IjMiLHJ5OiIyIn1dLFsiZWxsaXBzZSIse2N4OiIxMiIsY3k6IjEyLjUiLHJ4OiIxMCIscnk6IjguNSJ9XV19KTt2YXIgYVYsTFVlPWYoKCk9PnthVj1bWyJwYXRoIix7ZDoiTTEyIDIwdi02In1dLFsicGF0aCIse2Q6Ik0xOS42NTYgMTRIMjIifV0sWyJwYXRoIix7ZDoiTTIgMTRoMTIifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjAgMjBINGEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMiJ9XSxbInBhdGgiLHtkOiJNOS42NTYgNEgyMGEyIDIgMCAwIDEgMiAydjEwLjM0NCJ9XV19KTt2YXIgclYsJFVlPWYoKCk9PntyVj1bWyJwYXRoIix7ZDoiTTIxIDRIMyJ9XSxbInBhdGgiLHtkOiJNMTggOEg2In1dLFsicGF0aCIse2Q6Ik0xOSAxMkg5In1dLFsicGF0aCIse2Q6Ik0xNiAxNmgtNiJ9XSxbInBhdGgiLHtkOiJNMTEgMjBIOSJ9XV19KTt2YXIgc1YsRFVlPWYoKCk9PntzVj1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE2Iix4OiIyIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMiAxNGgyMCJ9XSxbInBhdGgiLHtkOiJNMTIgMjB2LTYifV1dfSk7dmFyIGlWLEFVZT1mKCgpPT57aVY9W1sicGF0aCIse2Q6Ik0yMiA3aC0yIn1dLFsicGF0aCIse2Q6Ik02LjUgM2gxMUEyLjUgMi41IDAgMCAxIDIwIDUuNVYyMGExIDEgMCAwIDEtMSAxaC05YTEgMSAwIDAgMS0xLTFWNS41YTEgMSAwIDAgMC01IDBWMTdhMSAxIDAgMCAwIDEgMWg0In1dLFsicGF0aCIse2Q6Ik05IDdIMiJ9XV19KTt2YXIgb1YsRVVlPWYoKCk9PntvVj1bWyJwYXRoIix7ZDoiTTE4LjIgMTIuMjcgMjAgNkg0bDEuOCA2LjI3YTEgMSAwIDAgMCAuOTUuNzNoMTAuNWExIDEgMCAwIDAgLjk2LS43M1oifV0sWyJwYXRoIix7ZDoiTTggMTN2OSJ9XSxbInBhdGgiLHtkOiJNMTYgMjJ2LTkifV0sWyJwYXRoIix7ZDoibTkgNiAxIDcifV0sWyJwYXRoIix7ZDoibTE1IDYtMSA3In1dLFsicGF0aCIse2Q6Ik0xMiA2VjIifV0sWyJwYXRoIix7ZDoiTTEzIDJoLTIifV1dfSk7dmFyIG5WLFBVZT1mKCgpPT57blY9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxMiIseDoiMyIseToiOCIscng6IjEifV0sWyJwYXRoIix7ZDoiTTEwIDhWNWMwLS42LS40LTEtMS0xSDZhMSAxIDAgMCAwLTEgMXYzIn1dLFsicGF0aCIse2Q6Ik0xOSA4VjVjMC0uNi0uNC0xLTEtMWgtM2ExIDEgMCAwIDAtMSAxdjMifV1dfSk7dmFyIGxWLElVZT1mKCgpPT57bFY9W1sicGF0aCIse2Q6Im0xMCAxMSAxMSAuOWExIDEgMCAwIDEgLjggMS4xbC0uNjY1IDQuMTU4YTEgMSAwIDAgMS0uOTg4Ljg0MkgyMCJ9XSxbInBhdGgiLHtkOiJNMTYgMThoLTUifV0sWyJwYXRoIix7ZDoiTTE4IDVhMSAxIDAgMCAwLTEgMXY1LjU3MyJ9XSxbInBhdGgiLHtkOiJNMyA0aDguMTI5YTEgMSAwIDAgMSAuOTkuODYzTDEzIDExLjI0NiJ9XSxbInBhdGgiLHtkOiJNNCAxMVY0In1dLFsicGF0aCIse2Q6Ik03IDE1aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxMC4xVjQifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiMTUiLHI6IjUifV1dfSk7dmFyIGNWLE5VZT1mKCgpPT57Y1Y9W1sicGF0aCIse2Q6Ik0xNi4wNSAxMC45NjZhNSAyLjUgMCAwIDEtOC4xIDAifV0sWyJwYXRoIix7ZDoibTE2LjkyMyAxNC4wNDkgNC40OCAyLjA0YTEgMSAwIDAgMSAuMDAxIDEuODMxbC04LjU3NCAzLjlhMiAyIDAgMCAxLTEuNjYgMGwtOC41NzQtMy45MWExIDEgMCAwIDEgMC0xLjgzbDQuNDg0LTIuMDQifV0sWyJwYXRoIix7ZDoiTTE2Ljk0OSAxNC4xNGE1IDIuNSAwIDEgMS05LjkgMEwxMC4wNjMgMy41YTIgMiAwIDAgMSAzLjg3NCAweiJ9XSxbInBhdGgiLHtkOiJNOS4xOTQgNi41N2E1IDIuNSAwIDAgMCA1LjYxIDAifV1dfSk7dmFyIGRWLFJVZT1mKCgpPT57ZFY9W1sicGF0aCIse2Q6Ik0yIDIyVjEyYTEwIDEwIDAgMSAxIDIwIDB2MTAifV0sWyJwYXRoIix7ZDoiTTE1IDYuOHYxLjRhMyAyLjggMCAxIDEtNiAwVjYuOCJ9XSxbInBhdGgiLHtkOiJNMTAgMTVoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCAxNWguMDEifV0sWyJwYXRoIix7ZDoiTTEwIDE5YTQgNCAwIDAgMS00LTR2LTNhNiA2IDAgMSAxIDEyIDB2M2E0IDQgMCAwIDEtNCA0WiJ9XSxbInBhdGgiLHtkOiJtOSAxOS0yIDMifV0sWyJwYXRoIix7ZDoibTE1IDE5IDIgMyJ9XV19KTt2YXIgdVYsT1VlPWYoKCk9Pnt1Vj1bWyJwYXRoIix7ZDoiTTggMy4xVjdhNCA0IDAgMCAwIDggMFYzLjEifV0sWyJwYXRoIix7ZDoibTkgMTUtMS0xIn1dLFsicGF0aCIse2Q6Im0xNSAxNSAxLTEifV0sWyJwYXRoIix7ZDoiTTkgMTljLTIuOCAwLTUtMi4yLTUtNXYtNGE4IDggMCAwIDEgMTYgMHY0YzAgMi44LTIuMiA1LTUgNVoifV0sWyJwYXRoIix7ZDoibTggMTktMiAzIn1dLFsicGF0aCIse2Q6Im0xNiAxOSAyIDMifV1dfSk7dmFyIHBWLEZVZT1mKCgpPT57cFY9W1sicGF0aCIse2Q6Ik0yIDE3IDE3IDIifV0sWyJwYXRoIix7ZDoibTIgMTQgOCA4In1dLFsicGF0aCIse2Q6Im01IDExIDggOCJ9XSxbInBhdGgiLHtkOiJtOCA4IDggOCJ9XSxbInBhdGgiLHtkOiJtMTEgNSA4IDgifV0sWyJwYXRoIix7ZDoibTE0IDIgOCA4In1dLFsicGF0aCIse2Q6Ik03IDIyIDIyIDcifV1dfSk7dmFyIGRmLEJVZT1mKCgpPT57ZGY9W1sicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIxNiIseDoiNCIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTFoMTYifV0sWyJwYXRoIix7ZDoiTTEyIDN2OCJ9XSxbInBhdGgiLHtkOiJtOCAxOS0yIDMifV0sWyJwYXRoIix7ZDoibTE4IDIyLTItMyJ9XSxbInBhdGgiLHtkOiJNOCAxNWguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE1aC4wMSJ9XV19KTt2YXIgZlYsSFVlPWYoKCk9PntmVj1bWyJwYXRoIix7ZDoiTTEyIDE2djYifV0sWyJwYXRoIix7ZDoiTTE0IDIwaC00In1dLFsicGF0aCIse2Q6Ik0xOCAyaDR2NCJ9XSxbInBhdGgiLHtkOiJtMiAyIDcuMTcgNy4xNyJ9XSxbInBhdGgiLHtkOiJNMiA1LjM1NVYyaDMuMzU3In1dLFsicGF0aCIse2Q6Im0yMiAyLTcuMTcgNy4xNyJ9XSxbInBhdGgiLHtkOiJNOCA1IDUgOCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI0In1dXX0pO3ZhciBoVixxVWU9ZigoKT0+e2hWPVtbInBhdGgiLHtkOiJNMTAgMTF2NiJ9XSxbInBhdGgiLHtkOiJNMTQgMTF2NiJ9XSxbInBhdGgiLHtkOiJNMTkgNnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2In1dLFsicGF0aCIse2Q6Ik0zIDZoMTgifV0sWyJwYXRoIix7ZDoiTTggNlY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjIifV1dfSk7dmFyIG1WLFZVZT1mKCgpPT57bVY9W1sicGF0aCIse2Q6Ik0xOSA2djE0YTIgMiAwIDAgMS0yIDJIN2EyIDIgMCAwIDEtMi0yVjYifV0sWyJwYXRoIix7ZDoiTTMgNmgxOCJ9XSxbInBhdGgiLHtkOiJNOCA2VjRhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MiJ9XV19KTt2YXIgZ1YsalVlPWYoKCk9PntnVj1bWyJwYXRoIix7ZDoiTTggMTlhNCA0IDAgMCAxLTIuMjQtNy4zMkEzLjUgMy41IDAgMCAxIDkgNi4wM1Y2YTMgMyAwIDEgMSA2IDB2LjA0YTMuNSAzLjUgMCAwIDEgMy4yNCA1LjY1QTQgNCAwIDAgMSAxNiAxOVoifV0sWyJwYXRoIix7ZDoiTTEyIDE5djMifV1dfSk7dmFyIHVmLFVVZT1mKCgpPT57dWY9W1sicGF0aCIse2Q6Ik0xMyA4YzAtMi43Ni0yLjQ2LTUtNS41LTVTMiA1LjI0IDIgOGgybDEtMSAxIDFoNCJ9XSxbInBhdGgiLHtkOiJNMTMgNy4xNEE1LjgyIDUuODIgMCAwIDEgMTYuNSA2YzMuMDQgMCA1LjUgMi4yNCA1LjUgNWgtM2wtMS0xLTEgMWgtMyJ9XSxbInBhdGgiLHtkOiJNNS44OSA5LjcxYy0yLjE1IDIuMTUtMi4zIDUuNDctLjM1IDcuNDNsNC4yNC00LjI1LjctLjcuNzEtLjcxIDIuMTItMi4xMmMtMS45NS0xLjk2LTUuMjctMS44LTcuNDIuMzUifV0sWyJwYXRoIix7ZDoiTTExIDE1LjVjLjUgMi41LS4xNyA0LjUtMSA2LjVoNGMyLTUuNS0uNS0xMi0xLTE0In1dXX0pO3ZhciBiVixXVWU9ZigoKT0+e2JWPVtbInBhdGgiLHtkOiJtMTcgMTQgMyAzLjNhMSAxIDAgMCAxLS43IDEuN0g0LjdhMSAxIDAgMCAxLS43LTEuN0w3IDE0aC0uM2ExIDEgMCAwIDEtLjctMS43TDkgOWgtLjJBMSAxIDAgMCAxIDggNy4zTDEyIDNsNCA0LjNhMSAxIDAgMCAxLS44IDEuN0gxNWwzIDMuM2ExIDEgMCAwIDEtLjcgMS43SDE3WiJ9XSxbInBhdGgiLHtkOiJNMTIgMjJ2LTMifV1dfSk7dmFyIHZWLEdVZT1mKCgpPT57dlY9W1sicGF0aCIse2Q6Ik0xMCAxMHYuMkEzIDMgMCAwIDEgOC45IDE2SDVhMyAzIDAgMCAxLTEtNS44VjEwYTMgMyAwIDAgMSA2IDBaIn1dLFsicGF0aCIse2Q6Ik03IDE2djYifV0sWyJwYXRoIix7ZDoiTTEzIDE5djMifV0sWyJwYXRoIix7ZDoiTTEyIDE5aDguM2ExIDEgMCAwIDAgLjctMS43TDE4IDE0aC4zYTEgMSAwIDAgMCAuNy0xLjdMMTYgOWguMmExIDEgMCAwIDAgLjgtMS43TDEzIDNsLTEuNCAxLjUifV1dfSk7dmFyIHhWLFlVZT1mKCgpPT57eFY9W1sicGF0aCIse2Q6Ik0xNiAxN2g2di02In1dLFsicGF0aCIse2Q6Im0yMiAxNy04LjUtOC41LTUgNUwyIDcifV1dfSk7dmFyIHlWLEtVZT1mKCgpPT57eVY9W1sicGF0aCIse2Q6Ik0xNC44MjggMTQuODI4IDIxIDIxIn1dLFsicGF0aCIse2Q6Ik0yMSAxNnY1aC01In1dLFsicGF0aCIse2Q6Im0yMSAzLTkgOS00LTQtNiA2In1dLFsicGF0aCIse2Q6Ik0yMSA4VjNoLTUifV1dfSk7dmFyIHdWLFpVZT1mKCgpPT57d1Y9W1sicGF0aCIse2Q6Ik0xNiA3aDZ2NiJ9XSxbInBhdGgiLHtkOiJtMjIgNy04LjUgOC41LTUtNUwyIDE3In1dXX0pO3ZhciBwZixYVWU9ZigoKT0+e3BmPVtbInBhdGgiLHtkOiJtMjEuNzMgMTgtOC0xNGEyIDIgMCAwIDAtMy40OCAwbC04IDE0QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjczLTMifV0sWyJwYXRoIix7ZDoiTTEyIDl2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMTdoLjAxIn1dXX0pO3ZhciBNVixRVWU9ZigoKT0+e01WPVtbInBhdGgiLHtkOiJNMTAuMTcgNC4xOTNhMiAyIDAgMCAxIDMuNjY2LjAxMyJ9XSxbInBhdGgiLHtkOiJNMTQgMjFoMiJ9XSxbInBhdGgiLHtkOiJtMTUuODc0IDcuNzQzIDEgMS43MzIifV0sWyJwYXRoIix7ZDoibTE4Ljg0OSAxMi45NTIgMSAxLjczMiJ9XSxbInBhdGgiLHtkOiJNMjEuODI0IDE4LjE4YTIgMiAwIDAgMS0xLjgzNSAyLjgyNCJ9XSxbInBhdGgiLHtkOiJNNC4wMjQgMjFhMiAyIDAgMCAxLTEuODM5LTIuODM5In1dLFsicGF0aCIse2Q6Im01LjEzNiAxMi45NTItMSAxLjczMiJ9XSxbInBhdGgiLHtkOiJNOCAyMWgyIn1dLFsicGF0aCIse2Q6Im04LjEwMiA3Ljc0My0xIDEuNzMyIn1dXX0pO3ZhciBrVixKVWU9ZigoKT0+e2tWPVtbInBhdGgiLHtkOiJNMjIgMThhMiAyIDAgMCAxLTIgMkgzYy0xLjEgMC0xLjMtLjYtLjQtMS4zTDIwLjQgNC4zYy45LS43IDEuNi0uNCAxLjYuN1oifV1dfSk7dmFyIFNWLGVXZT1mKCgpPT57U1Y9W1sicGF0aCIse2Q6Ik0xMy43MyA0YTIgMiAwIDAgMC0zLjQ2IDBsLTggMTRBMiAyIDAgMCAwIDQgMjFoMTZhMiAyIDAgMCAwIDEuNzMtM1oifV1dfSk7dmFyIHpWLHRXZT1mKCgpPT57elY9W1sicGF0aCIse2Q6Ik0xMCAxNC42NnYxLjYyNmEyIDIgMCAwIDEtLjk3NiAxLjY5NkE1IDUgMCAwIDAgNyAyMS45NzgifV0sWyJwYXRoIix7ZDoiTTE0IDE0LjY2djEuNjI2YTIgMiAwIDAgMCAuOTc2IDEuNjk2QTUgNSAwIDAgMSAxNyAyMS45NzgifV0sWyJwYXRoIix7ZDoiTTE4IDloMS41YTEgMSAwIDAgMCAwLTVIMTgifV0sWyJwYXRoIix7ZDoiTTQgMjJoMTYifV0sWyJwYXRoIix7ZDoiTTYgOWE2IDYgMCAwIDAgMTIgMFYzYTEgMSAwIDAgMC0xLTFIN2ExIDEgMCAwIDAtMSAxeiJ9XSxbInBhdGgiLHtkOiJNNiA5SDQuNWExIDEgMCAwIDEgMC01SDYifV1dfSk7dmFyIENWLGFXZT1mKCgpPT57Q1Y9W1sicGF0aCIse2Q6Ik0xNCAxOVY3YTIgMiAwIDAgMC0yLTJIOSJ9XSxbInBhdGgiLHtkOiJNMTUgMTlIOSJ9XSxbInBhdGgiLHtkOiJNMTkgMTloMmExIDEgMCAwIDAgMS0xdi0zLjY1YTEgMSAwIDAgMC0uMjItLjYyTDE4LjMgOS4zOGExIDEgMCAwIDAtLjc4LS4zOEgxNCJ9XSxbInBhdGgiLHtkOiJNMiAxM3Y1YTEgMSAwIDAgMCAxIDFoMiJ9XSxbInBhdGgiLHtkOiJNNCAzIDIuMTUgNS4xNWEuNDk1LjQ5NSAwIDAgMCAuMzUuODZoMi4xNWEuNDcuNDcgMCAwIDEgLjM1Ljg2TDMgOS4wMiJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE5IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjciLGN5OiIxOSIscjoiMiJ9XV19KTt2YXIgX1YscldlPWYoKCk9PntfVj1bWyJwYXRoIix7ZDoiTTE0IDE4VjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTFhMSAxIDAgMCAwIDEgMWgyIn1dLFsicGF0aCIse2Q6Ik0xNSAxOEg5In1dLFsicGF0aCIse2Q6Ik0xOSAxOGgyYTEgMSAwIDAgMCAxLTF2LTMuNjVhMSAxIDAgMCAwLS4yMi0uNjI0bC0zLjQ4LTQuMzVBMSAxIDAgMCAwIDE3LjUyIDhIMTQifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxOCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiMTgiLHI6IjIifV1dfSk7dmFyIFRWLHNXZT1mKCgpPT57VFY9W1sicGF0aCIse2Q6Ik0xNSA0IDUgOSJ9XSxbInBhdGgiLHtkOiJtMTUgOC41LTEwIDUifV0sWyJwYXRoIix7ZDoiTTE4IDEyYTkgOSAwIDAgMS05IDlWMyJ9XV19KTt2YXIgTFYsaVdlPWYoKCk9PntMVj1bWyJwYXRoIix7ZDoiTTEwIDEyLjAxaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggOHY0YTggOCAwIDAgMS0xLjA3IDQifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiIxMiIscjoiNCJ9XSxbInJlY3QiLHt4OiIyIix5OiI0Iix3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHJ4OiIyIn1dXX0pO3ZhciAkVixvV2U9ZigoKT0+eyRWPVtbInBhdGgiLHtkOiJtMTIgMTAgMiA0djNhMSAxIDAgMCAwIDEgMWgyYTEgMSAwIDAgMCAxLTF2LTNhOCA4IDAgMSAwLTE2IDB2M2ExIDEgMCAwIDAgMSAxaDJhMSAxIDAgMCAwIDEtMXYtM2wyLTRoNFoifV0sWyJwYXRoIix7ZDoiTTQuODIgNy45IDggMTAifV0sWyJwYXRoIix7ZDoiTTE1LjE4IDcuOSAxMiAxMCJ9XSxbInBhdGgiLHtkOiJNMTYuOTMgMTBIMjBhMiAyIDAgMCAxIDAgNEgyIn1dXX0pO3ZhciBEVixuV2U9ZigoKT0+e0RWPVtbInBhdGgiLHtkOiJNMTUuMDMzIDkuNDRhLjY0Ny42NDcgMCAwIDEgMCAxLjEybC00LjA2NSAyLjM1MmEuNjQ1LjY0NSAwIDAgMS0uOTY4LS41NlY3LjY0OGEuNjQ1LjY0NSAwIDAgMSAuOTY3LS41NnoifV0sWyJwYXRoIix7ZDoiTTcgMjFoMTAifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiIzIixyeDoiMiJ9XV19KTt2YXIgZmYsbFdlPWYoKCk9PntmZj1bWyJwYXRoIix7ZDoiTTcgMjFoMTAifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiIzIixyeDoiMiJ9XV19KTt2YXIgQVYsY1dlPWYoKCk9PntBVj1bWyJwYXRoIix7ZDoibTE3IDItNSA1LTUtNSJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTUiLHg6IjIiLHk6IjciLHJ4OiIyIn1dXX0pO3ZhciBFVixkV2U9ZigoKT0+e0VWPVtbInBhdGgiLHtkOiJNMTQgMTYuNWEuNS41IDAgMCAwIC41LjVoLjVhMiAyIDAgMCAxIDAgNEg5YTIgMiAwIDAgMSAwLTRoLjVhLjUuNSAwIDAgMCAuNS0uNXYtOWEuNS41IDAgMCAwLS41LS41aC0zYS41LjUgMCAwIDAtLjUuNVY4YTIgMiAwIDAgMS00IDBWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtNCAwdi0uNWEuNS41IDAgMCAwLS41LS41aC0zYS41LjUgMCAwIDAtLjUuNVoifV1dfSk7dmFyIFBWLHVXZT1mKCgpPT57UFY9W1sicGF0aCIse2Q6Ik0xMiA0djE2In1dLFsicGF0aCIse2Q6Ik00IDdWNWExIDEgMCAwIDEgMS0xaDE0YTEgMSAwIDAgMSAxIDF2MiJ9XSxbInBhdGgiLHtkOiJNOSAyMGg2In1dXX0pO3ZhciBJVixwV2U9ZigoKT0+e0lWPVtbInBhdGgiLHtkOiJNMTIgMTN2N2EyIDIgMCAwIDAgNCAwIn1dLFsicGF0aCIse2Q6Ik0xMiAydjIifV0sWyJwYXRoIix7ZDoiTTE4LjY1NiAxM2gyLjMzNmExIDEgMCAwIDAgLjk3LTEuMjc0IDEwLjI4NCAxMC4yODQgMCAwIDAtMTIuMDctNy41MSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik01Ljk2MSA1Ljk1N2ExMC4yOCAxMC4yOCAwIDAgMC0zLjkyMiA1Ljc2OUExIDEgMCAwIDAgMyAxM2gxMCJ9XV19KTt2YXIgTlYsZldlPWYoKCk9PntOVj1bWyJwYXRoIix7ZDoiTTEyIDEzdjdhMiAyIDAgMCAwIDQgMCJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMC45OTIgMTNhMSAxIDAgMCAwIC45Ny0xLjI3NCAxMC4yODQgMTAuMjg0IDAgMCAwLTE5LjkyMyAwQTEgMSAwIDAgMCAzIDEzeiJ9XV19KTt2YXIgUlYsaFdlPWYoKCk9PntSVj1bWyJwYXRoIix7ZDoiTTYgNHY2YTYgNiAwIDAgMCAxMiAwVjQifV0sWyJsaW5lIix7eDE6IjQiLHgyOiIyMCIseTE6IjIwIix5MjoiMjAifV1dfSk7dmFyIE9WLG1XZT1mKCgpPT57T1Y9W1sicGF0aCIse2Q6Ik05IDE0IDQgOWw1LTUifV0sWyJwYXRoIix7ZDoiTTQgOWgxMC41YTUuNSA1LjUgMCAwIDEgNS41IDUuNWE1LjUgNS41IDAgMCAxLTUuNSA1LjVIMTEifV1dfSk7dmFyIEZWLGdXZT1mKCgpPT57RlY9W1sicGF0aCIse2Q6Ik0yMSAxN2E5IDkgMCAwIDAtMTUtNi43TDMgMTMifV0sWyJwYXRoIix7ZDoiTTMgN3Y2aDYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNyIscjoiMSJ9XV19KTt2YXIgQlYsYldlPWYoKCk9PntCVj1bWyJwYXRoIix7ZDoiTTMgN3Y2aDYifV0sWyJwYXRoIix7ZDoiTTIxIDE3YTkgOSAwIDAgMC05LTkgOSA5IDAgMCAwLTYgMi4zTDMgMTMifV1dfSk7dmFyIEhWLHZXZT1mKCgpPT57SFY9W1sicGF0aCIse2Q6Ik0xNiAxMmg2In1dLFsicGF0aCIse2Q6Ik04IDEySDIifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTIgOHYyIn1dLFsicGF0aCIse2Q6Ik0xMiAxNHYyIn1dLFsicGF0aCIse2Q6Ik0xMiAyMHYyIn1dLFsicGF0aCIse2Q6Im0xOSAxNSAzLTMtMy0zIn1dLFsicGF0aCIse2Q6Im01IDktMyAzIDMgMyJ9XV19KTt2YXIgcVYseFdlPWYoKCk9PntxVj1bWyJwYXRoIix7ZDoiTTEyIDIydi02In1dLFsicGF0aCIse2Q6Ik0xMiA4VjIifV0sWyJwYXRoIix7ZDoiTTQgMTJIMiJ9XSxbInBhdGgiLHtkOiJNMTAgMTJIOCJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoLTIifV0sWyJwYXRoIix7ZDoiTTIyIDEyaC0yIn1dLFsicGF0aCIse2Q6Im0xNSAxOS0zIDMtMy0zIn1dLFsicGF0aCIse2Q6Im0xNSA1LTMtMy0zIDMifV1dfSk7dmFyIGhmLHlXZT1mKCgpPT57aGY9W1sicGF0aCIse2Q6Ik0xNCAyMXYtM2EyIDIgMCAwIDAtNCAwdjMifV0sWyJwYXRoIix7ZDoiTTE4IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggMTZoLjAxIn1dLFsicGF0aCIse2Q6Ik0yMiA3YTEgMSAwIDAgMC0xLTFoLTJhMiAyIDAgMCAxLTEuMTQzLS4zNTlMMTMuMTQzIDIuMzZhMiAyIDAgMCAwLTIuMjg2LS4wMDFMNi4xNDMgNS42NEEyIDIgMCAwIDEgNSA2SDNhMSAxIDAgMCAwLTEgMXYxMmEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ6In1dLFsicGF0aCIse2Q6Ik02IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNNiAxNmguMDEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiMiJ9XV19KTt2YXIgVlYsd1dlPWYoKCk9PntWVj1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNiIseDoiNSIseToiNCIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNiIseDoiMTEiLHk6IjE0IixyeDoiMSJ9XV19KTt2YXIgalYsTVdlPWYoKCk9PntqVj1bWyJwYXRoIix7ZDoiTTE1IDdoMmE1IDUgMCAwIDEgMCAxMGgtMm0tNiAwSDdBNSA1IDAgMCAxIDcgN2gyIn1dXX0pO3ZhciBVVixrV2U9ZigoKT0+e1VWPVtbInBhdGgiLHtkOiJtMTkgNSAzLTMifV0sWyJwYXRoIix7ZDoibTIgMjIgMy0zIn1dLFsicGF0aCIse2Q6Ik02LjMgMjAuM2EyLjQgMi40IDAgMCAwIDMuNCAwTDEyIDE4bC02LTYtMi4zIDIuM2EyLjQgMi40IDAgMCAwIDAgMy40WiJ9XSxbInBhdGgiLHtkOiJNNy41IDEzLjUgMTAgMTEifV0sWyJwYXRoIix7ZDoiTTEwLjUgMTYuNSAxMyAxNCJ9XSxbInBhdGgiLHtkOiJtMTIgNiA2IDYgMi4zLTIuM2EyLjQgMi40IDAgMCAwIDAtMy40bC0yLjYtMi42YTIuNCAyLjQgMCAwIDAtMy40IDBaIn1dXX0pO3ZhciBXVixTV2U9ZigoKT0+e1dWPVtbInBhdGgiLHtkOiJtMTguODQgMTIuMjUgMS43Mi0xLjcxaC0uMDJhNS4wMDQgNS4wMDQgMCAwIDAtLjEyLTcuMDcgNS4wMDYgNS4wMDYgMCAwIDAtNi45NSAwbC0xLjcyIDEuNzEifV0sWyJwYXRoIix7ZDoibTUuMTcgMTEuNzUtMS43MSAxLjcxYTUuMDA0IDUuMDA0IDAgMCAwIC4xMiA3LjA3IDUuMDA2IDUuMDA2IDAgMCAwIDYuOTUgMGwxLjcxLTEuNzEifV0sWyJsaW5lIix7eDE6IjgiLHgyOiI4Iix5MToiMiIseTI6IjUifV0sWyJsaW5lIix7eDE6IjIiLHgyOiI1Iix5MToiOCIseTI6IjgifV0sWyJsaW5lIix7eDE6IjE2Iix4MjoiMTYiLHkxOiIxOSIseTI6IjIyIn1dLFsibGluZSIse3gxOiIxOSIseDI6IjIyIix5MToiMTYiLHkyOiIxNiJ9XV19KTt2YXIgR1YseldlPWYoKCk9PntHVj1bWyJwYXRoIix7ZDoiTTEyIDN2MTIifV0sWyJwYXRoIix7ZDoibTE3IDgtNS01LTUgNSJ9XSxbInBhdGgiLHtkOiJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCJ9XV19KTt2YXIgWVYsQ1dlPWYoKCk9PntZVj1bWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI3IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiIyMCIscjoiMSJ9XSxbInBhdGgiLHtkOiJNNC43IDE5LjMgMTkgNSJ9XSxbInBhdGgiLHtkOiJtMjEgMy0zIDEgMiAyWiJ9XSxbInBhdGgiLHtkOiJNOS4yNiA3LjY4IDUgMTJsMiA1In1dLFsicGF0aCIse2Q6Im0xMCAxNCA1IDIgMy41LTMuNSJ9XSxbInBhdGgiLHtkOiJtMTggMTIgMS0xIDEgMS0xIDFaIn1dXX0pO3ZhciBLVixfV2U9ZigoKT0+e0tWPVtbInBhdGgiLHtkOiJtMTYgMTEgMiAyIDQtNCJ9XSxbInBhdGgiLHtkOiJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiNyIscjoiNCJ9XV19KTt2YXIgWlYsVFdlPWYoKCk9PntaVj1bWyJwYXRoIix7ZDoiTTEwIDE1SDZhNCA0IDAgMCAwLTQgNHYyIn1dLFsicGF0aCIse2Q6Im0xNC4zMDUgMTYuNTMuOTIzLS4zODIifV0sWyJwYXRoIix7ZDoibTE1LjIyOCAxMy44NTItLjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im0xNi44NTIgMTIuMjI4LS4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDE3Ljc3Mi0uMzgzLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTkuMTQ4IDEyLjIyOC4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTkuNTMgMTguNjk2LS4zODItLjkyNCJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDEzLjg1Mi45MjQtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE2LjE0OC45MjQuMzgzIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTUiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjciLHI6IjQifV1dfSk7dmFyIFhWLExXZT1mKCgpPT57WFY9W1sicGF0aCIse2Q6Ik0yMCAxMXY2In1dLFsicGF0aCIse2Q6Ik0yMCAxM2gyIn1dLFsicGF0aCIse2Q6Ik0zIDIxdi0yYTQgNCAwIDAgMSA0LTRoNmE0IDQgMCAwIDEgMi4wNzIuNTc4In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiNyIscjoiNCJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjE5IixyOiIyIn1dXX0pO3ZhciBRViwkV2U9ZigoKT0+e1FWPVtbInBhdGgiLHtkOiJNMTkgMTZ2LTJhMiAyIDAgMCAwLTQgMHYyIn1dLFsicGF0aCIse2Q6Ik05LjUgMTVIN2E0IDQgMCAwIDAtNCA0djIifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI3IixyOiI0In1dLFsicmVjdCIse3g6IjEzIix5OiIxNiIsd2lkdGg6IjgiLGhlaWdodDoiNSIscng6Ii44OTkifV1dfSk7dmFyIEpWLERXZT1mKCgpPT57SlY9W1sicGF0aCIse2Q6Ik0xNiAyMXYtMmE0IDQgMCAwIDAtNC00SDZhNCA0IDAgMCAwLTQgNHYyIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI3IixyOiI0In1dLFsibGluZSIse3gxOiIyMiIseDI6IjE2Iix5MToiMTEiLHkyOiIxMSJ9XV19KTt2YXIgZWosQVdlPWYoKCk9Pntlaj1bWyJwYXRoIix7ZDoiTTExLjUgMTVIN2E0IDQgMCAwIDAtNCA0djIifV0sWyJwYXRoIix7ZDoiTTIxLjM3OCAxNi42MjZhMSAxIDAgMCAwLTMuMDA0LTMuMDA0bC00LjAxIDQuMDEyYTIgMiAwIDAgMC0uNTA2Ljg1NGwtLjgzNyAyLjg3YS41LjUgMCAwIDAgLjYyLjYybDIuODctLjgzN2EyIDIgMCAwIDAgLjg1NC0uNTA2eiJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjciLHI6IjQifV1dfSk7dmFyIHRqLEVXZT1mKCgpPT57dGo9W1sicGF0aCIse2Q6Ik0xNiAyMXYtMmE0IDQgMCAwIDAtNC00SDZhNCA0IDAgMCAwLTQgNHYyIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI3IixyOiI0In1dLFsibGluZSIse3gxOiIxOSIseDI6IjE5Iix5MToiOCIseTI6IjE0In1dLFsibGluZSIse3gxOiIyMiIseDI6IjE2Iix5MToiMTEiLHkyOiIxMSJ9XV19KTt2YXIgbWYsUFdlPWYoKCk9PnttZj1bWyJwYXRoIix7ZDoiTTIgMjFhOCA4IDAgMCAxIDEzLjI5Mi02In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbInBhdGgiLHtkOiJtMTYgMTkgMiAyIDQtNCJ9XV19KTt2YXIgZ2YsSVdlPWYoKCk9PntnZj1bWyJwYXRoIix7ZDoibTE0LjMwNSAxOS41My45MjMtLjM4MiJ9XSxbInBhdGgiLHtkOiJtMTUuMjI4IDE2Ljg1Mi0uOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTE2Ljg1MiAxNS4yMjgtLjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xNi44NTIgMjAuNzcyLS4zODMuOTI0In1dLFsicGF0aCIse2Q6Im0xOS4xNDggMTUuMjI4LjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xOS41MyAyMS42OTYtLjM4Mi0uOTI0In1dLFsicGF0aCIse2Q6Ik0yIDIxYTggOCAwIDAgMSAxMC40MzQtNy42MiJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE2Ljg1Mi45MjQtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE5LjE0OC45MjQuMzgzIn1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciBhaixOV2U9ZigoKT0+e2FqPVtbInBhdGgiLHtkOiJNMTkgMTF2NiJ9XSxbInBhdGgiLHtkOiJNMTkgMTNoMiJ9XSxbInBhdGgiLHtkOiJNMiAyMWE4IDggMCAwIDEgMTIuODY4LTYuMzQ5In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjE5IixyOiIyIn1dXX0pO3ZhciBiZixSV2U9ZigoKT0+e2JmPVtbInBhdGgiLHtkOiJNMiAyMWE4IDggMCAwIDEgMTMuMjkyLTYifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI4IixyOiI1In1dLFsicGF0aCIse2Q6Ik0yMiAxOWgtNiJ9XV19KTt2YXIgcmosT1dlPWYoKCk9Pntyaj1bWyJwYXRoIix7ZDoiTTIgMjFhOCA4IDAgMCAxIDEwLjgyMS03LjQ4NyJ9XSxbInBhdGgiLHtkOiJNMjEuMzc4IDE2LjYyNmExIDEgMCAwIDAtMy4wMDQtMy4wMDRsLTQuMDEgNC4wMTJhMiAyIDAgMCAwLS41MDYuODU0bC0uODM3IDIuODdhLjUuNSAwIDAgMCAuNjIuNjJsMi44Ny0uODM3YTIgMiAwIDAgMCAuODU0LS41MDZ6In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XV19KTt2YXIgdmYsRldlPWYoKCk9Pnt2Zj1bWyJwYXRoIix7ZDoiTTIgMjFhOCA4IDAgMCAxIDEzLjI5Mi02In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbInBhdGgiLHtkOiJNMTkgMTZ2NiJ9XSxbInBhdGgiLHtkOiJNMjIgMTloLTYifV1dfSk7dmFyIHNqLEJXZT1mKCgpPT57c2o9W1siY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbInBhdGgiLHtkOiJNMiAyMWE4IDggMCAwIDEgMTAuNDM0LTcuNjIifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XSxbInBhdGgiLHtkOiJtMjIgMjItMS45LTEuOSJ9XV19KTt2YXIgeGYsSFdlPWYoKCk9Pnt4Zj1bWyJwYXRoIix7ZDoiTTIgMjFhOCA4IDAgMCAxIDExLjg3My03In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbInBhdGgiLHtkOiJtMTcgMTcgNSA1In1dLFsicGF0aCIse2Q6Im0yMiAxNy01IDUifV1dfSk7dmFyIHlmLHFXZT1mKCgpPT57eWY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiOCIscjoiNSJ9XSxbInBhdGgiLHtkOiJNMjAgMjFhOCA4IDAgMCAwLTE2IDAifV1dfSk7dmFyIGlqLFZXZT1mKCgpPT57aWo9W1siY2lyY2xlIix7Y3g6IjEwIixjeToiNyIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTAuMyAxNUg3YTQgNCAwIDAgMC00IDR2MiJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE3IixyOiIzIn1dLFsicGF0aCIse2Q6Im0yMSAyMS0xLjktMS45In1dXX0pO3ZhciBvaixqV2U9ZigoKT0+e29qPVtbInBhdGgiLHtkOiJNMTYuMDUxIDEyLjYxNmExIDEgMCAwIDEgMS45MDkuMDI0bC43MzcgMS40NTJhMSAxIDAgMCAwIC43MzcuNTM1bDEuNjM0LjI1NmExIDEgMCAwIDEgLjU4OCAxLjgwNmwtMS4xNzIgMS4xNjhhMSAxIDAgMCAwLS4yODIuODY2bC4yNTkgMS42MTNhMSAxIDAgMCAxLTEuNTQxIDEuMTM0bC0xLjQ2NS0uNzVhMSAxIDAgMCAwLS45MTIgMGwtMS40NjUuNzVhMSAxIDAgMCAxLTEuNTM5LTEuMTMzbC4yNTgtMS42MTNhMSAxIDAgMCAwLS4yODItLjg2NmwtMS4xNTYtMS4xNTNhMSAxIDAgMCAxIC41NzItMS44MjJsMS42MzMtLjI1NmExIDEgMCAwIDAgLjczNy0uNTM1eiJ9XSxbInBhdGgiLHtkOiJNOCAxNUg3YTQgNCAwIDAgMC00IDR2MiJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjciLHI6IjQifV1dfSk7dmFyIG5qLFVXZT1mKCgpPT57bmo9W1sicGF0aCIse2Q6Ik0xNiAyMXYtMmE0IDQgMCAwIDAtNC00SDZhNCA0IDAgMCAwLTQgNHYyIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI3IixyOiI0In1dLFsibGluZSIse3gxOiIxNyIseDI6IjIyIix5MToiOCIseTI6IjEzIn1dLFsibGluZSIse3gxOiIyMiIseDI6IjE3Iix5MToiOCIseTI6IjEzIn1dXX0pO3ZhciBsaixXV2U9ZigoKT0+e2xqPVtbInBhdGgiLHtkOiJNMTkgMjF2LTJhNCA0IDAgMCAwLTQtNEg5YTQgNCAwIDAgMC00IDR2MiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjciLHI6IjQifV1dfSk7dmFyIHdmLEdXZT1mKCgpPT57d2Y9W1sicGF0aCIse2Q6Ik0xOCAyMWE4IDggMCAwIDAtMTYgMCJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjgiLHI6IjUifV0sWyJwYXRoIix7ZDoiTTIyIDIwYzAtMy4zNy0yLTYuNS00LThhNSA1IDAgMCAwLS40NS04LjMifV1dfSk7dmFyIGNqLFlXZT1mKCgpPT57Y2o9W1sicGF0aCIse2Q6Ik0xNiAyMXYtMmE0IDQgMCAwIDAtNC00SDZhNCA0IDAgMCAwLTQgNHYyIn1dLFsicGF0aCIse2Q6Ik0xNiAzLjEyOGE0IDQgMCAwIDEgMCA3Ljc0NCJ9XSxbInBhdGgiLHtkOiJNMjIgMjF2LTJhNCA0IDAgMCAwLTMtMy44NyJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiNyIscjoiNCJ9XV19KTt2YXIgTWYsS1dlPWYoKCk9PntNZj1bWyJwYXRoIix7ZDoibTE2IDItMi4zIDIuM2EzIDMgMCAwIDAgMCA0LjJsMS44IDEuOGEzIDMgMCAwIDAgNC4yIDBMMjIgOCJ9XSxbInBhdGgiLHtkOiJNMTUgMTUgMy4zIDMuM2E0LjIgNC4yIDAgMCAwIDAgNmw3LjMgNy4zYy43LjcgMiAuNyAyLjggMEwxNSAxNVptMCAwIDcgNyJ9XSxbInBhdGgiLHtkOiJtMi4xIDIxLjggNi40LTYuMyJ9XSxbInBhdGgiLHtkOiJtMTkgNS03IDcifV1dfSk7dmFyIGtmLFpXZT1mKCgpPT57a2Y9W1sicGF0aCIse2Q6Ik0zIDJ2N2MwIDEuMS45IDIgMiAyaDRhMiAyIDAgMCAwIDItMlYyIn1dLFsicGF0aCIse2Q6Ik03IDJ2MjAifV0sWyJwYXRoIix7ZDoiTTIxIDE1VjJhNSA1IDAgMCAwLTUgNXY2YzAgMS4xLjkgMiAyIDJoM1ptMCAwdjcifV1dfSk7dmFyIGRqLFhXZT1mKCgpPT57ZGo9W1sicGF0aCIse2Q6Ik0xMyA2djVhMSAxIDAgMCAwIDEgMWg2LjEwMmExIDEgMCAwIDEgLjcxMi4yOThsLjg5OC45MWExIDEgMCAwIDEgLjI4OC43MDJWMTdhMSAxIDAgMCAxLTEgMWgtMyJ9XSxbInBhdGgiLHtkOiJNNSAxOEgzYTEgMSAwIDAgMS0xLTFWOGEyIDIgMCAwIDEgMi0yaDEyYzEuMSAwIDIuMS44IDIuNCAxLjhsMS4xNzYgNC4yIn1dLFsicGF0aCIse2Q6Ik05IDE4aDUifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxOCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiMTgiLHI6IjIifV1dfSk7dmFyIHVqLFFXZT1mKCgpPT57dWo9W1sicGF0aCIse2Q6Ik0xMiAydjIwIn1dLFsicGF0aCIse2Q6Ik0yIDVoMjAifV0sWyJwYXRoIix7ZDoiTTMgM3YyIn1dLFsicGF0aCIse2Q6Ik03IDN2MiJ9XSxbInBhdGgiLHtkOiJNMTcgM3YyIn1dLFsicGF0aCIse2Q6Ik0yMSAzdjIifV0sWyJwYXRoIix7ZDoibTE5IDUtNyA3LTctNyJ9XV19KTt2YXIgcGosSldlPWYoKCk9Pntwaj1bWyJwYXRoIix7ZDoiTTggMjFzLTQtMy00LTkgNC05IDQtOSJ9XSxbInBhdGgiLHtkOiJNMTYgM3M0IDMgNCA5LTQgOS00IDkifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiOSIseTE6IjkiLHkyOiIxNSJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjE1Iix5MToiOSIseTI6IjE1In1dXX0pO3ZhciBmaixlR2U9ZigoKT0+e2ZqPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsiY2lyY2xlIix7Y3g6IjcuNSIsY3k6IjcuNSIscjoiLjUiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XSxbInBhdGgiLHtkOiJtNy45IDcuOSAyLjcgMi43In1dLFsiY2lyY2xlIix7Y3g6IjE2LjUiLGN5OiI3LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJwYXRoIix7ZDoibTEzLjQgMTAuNiAyLjctMi43In1dLFsiY2lyY2xlIix7Y3g6IjcuNSIsY3k6IjE2LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJwYXRoIix7ZDoibTcuOSAxNi4xIDIuNy0yLjcifV0sWyJjaXJjbGUiLHtjeDoiMTYuNSIsY3k6IjE2LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJwYXRoIix7ZDoibTEzLjQgMTMuNCAyLjcgMi43In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV1dfSk7dmFyIGhqLHRHZT1mKCgpPT57aGo9W1sicGF0aCIse2Q6Ik0xOS41IDdhMjQgMjQgMCAwIDEgMCAxMCJ9XSxbInBhdGgiLHtkOiJNNC41IDdhMjQgMjQgMCAwIDAgMCAxMCJ9XSxbInBhdGgiLHtkOiJNNyAxOS41YTI0IDI0IDAgMCAwIDEwIDAifV0sWyJwYXRoIix7ZDoiTTcgNC41YTI0IDI0IDAgMCAxIDEwIDAifV0sWyJyZWN0Iix7eDoiMTciLHk6IjE3Iix3aWR0aDoiNSIsaGVpZ2h0OiI1IixyeDoiMSJ9XSxbInJlY3QiLHt4OiIxNyIseToiMiIsd2lkdGg6IjUiLGhlaWdodDoiNSIscng6IjEifV0sWyJyZWN0Iix7eDoiMiIseToiMTciLHdpZHRoOiI1IixoZWlnaHQ6IjUiLHJ4OiIxIn1dLFsicmVjdCIse3g6IjIiLHk6IjIiLHdpZHRoOiI1IixoZWlnaHQ6IjUiLHJ4OiIxIn1dXX0pO3ZhciBtaixhR2U9ZigoKT0+e21qPVtbInBhdGgiLHtkOiJNMTYgOHE2IDAgNi02LTYgMC02IDYifV0sWyJwYXRoIix7ZDoiTTE3LjQxIDMuNTlhMTAgMTAgMCAxIDAgMyAzIn1dLFsicGF0aCIse2Q6Ik0yIDJhMjYuNiAyNi42IDAgMCAxIDEwIDIwYy45LTYuODIgMS41LTkuNSA0LTE0In1dXX0pO3ZhciBnaixyR2U9ZigoKT0+e2dqPVtbInBhdGgiLHtkOiJNMTggMTFjLTEuNSAwLTIuNS41LTMgMiJ9XSxbInBhdGgiLHtkOiJNNCA2YTIgMiAwIDAgMC0yIDJ2NGE1IDUgMCAwIDAgNSA1IDggOCAwIDAgMSA1IDIgOCA4IDAgMCAxIDUtMiA1IDUgMCAwIDAgNS01VjhhMiAyIDAgMCAwLTItMmgtM2E4IDggMCAwIDAtNSAyIDggOCAwIDAgMC01LTJ6In1dLFsicGF0aCIse2Q6Ik02IDExYzEuNSAwIDIuNS41IDMgMiJ9XV19KTt2YXIgYmosc0dlPWYoKCk9Pntiaj1bWyJwYXRoIix7ZDoiTTEwIDIwaDQifV0sWyJwYXRoIix7ZDoiTTEyIDE2djYifV0sWyJwYXRoIix7ZDoiTTE3IDJoNHY0In1dLFsicGF0aCIse2Q6Im0yMSAyLTUuNDYgNS40NiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjExIixyOiI1In1dXX0pO3ZhciB2aixpR2U9ZigoKT0+e3ZqPVtbInBhdGgiLHtkOiJNMTIgMTV2NyJ9XSxbInBhdGgiLHtkOiJNOSAxOWg2In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiOSIscjoiNiJ9XV19KTt2YXIgeGosb0dlPWYoKCk9Pnt4aj1bWyJwYXRoIix7ZDoibTIgOCAyIDItMiAyIDIgMi0yIDIifV0sWyJwYXRoIix7ZDoibTIyIDgtMiAyIDIgMi0yIDIgMiAyIn1dLFsicGF0aCIse2Q6Ik04IDh2MTBjMCAuNTUuNDUgMSAxIDFoNmMuNTUgMCAxLS40NSAxLTF2LTIifV0sWyJwYXRoIix7ZDoiTTE2IDEwLjM0VjZjMC0uNTUtLjQ1LTEtMS0xaC00LjM0In1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIyIix5MjoiMjIifV1dfSk7dmFyIHlqLG5HZT1mKCgpPT57eWo9W1sicGF0aCIse2Q6Im0yIDggMiAyLTIgMiAyIDItMiAyIn1dLFsicGF0aCIse2Q6Im0yMiA4LTIgMiAyIDItMiAyIDIgMiJ9XSxbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiIxNCIseDoiOCIseToiNSIscng6IjEifV1dfSk7dmFyIHdqLGxHZT1mKCgpPT57d2o9W1sicGF0aCIse2Q6Ik0xMC42NiA2SDE0YTIgMiAwIDAgMSAyIDJ2Mi41bDUuMjQ4LTMuMDYyQS41LjUgMCAwIDEgMjIgNy44N3Y4LjE5NiJ9XSxbInBhdGgiLHtkOiJNMTYgMTZhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgTWosY0dlPWYoKCk9PntNaj1bWyJwYXRoIix7ZDoibTE2IDEzIDUuMjIzIDMuNDgyYS41LjUgMCAwIDAgLjc3Ny0uNDE2VjcuODdhLjUuNSAwIDAgMC0uNzUyLS40MzJMMTYgMTAuNSJ9XSxbInJlY3QiLHt4OiIyIix5OiI2Iix3aWR0aDoiMTQiLGhlaWdodDoiMTIiLHJ4OiIyIn1dXX0pO3ZhciBraixkR2U9ZigoKT0+e2tqPVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHg6IjIiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDhoMjAifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjE0IixyOiIyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNCIscjoiMiJ9XV19KTt2YXIgU2osdUdlPWYoKCk9PntTaj1bWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJwYXRoIix7ZDoiTTIxIDdWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEifV0sWyJwYXRoIix7ZDoiTTE4Ljk0NCAxMi4zM2ExIDEgMCAwIDAgMC0uNjYgNy41IDcuNSAwIDAgMC0xMy44ODggMCAxIDEgMCAwIDAgMCAuNjYgNy41IDcuNSAwIDAgMCAxMy44ODggMCJ9XV19KTt2YXIgemoscEdlPWYoKCk9Pnt6aj1bWyJwYXRoIix7ZDoiTTExLjEgNy4xYTE2LjU1IDE2LjU1IDAgMCAxIDEwLjkgNCJ9XSxbInBhdGgiLHtkOiJNMTIgMTJhMTIuNiAxMi42IDAgMCAxLTguNyA1In1dLFsicGF0aCIse2Q6Ik0xNi44IDEzLjZhMTYuNTUgMTYuNTUgMCAwIDEtOSA3LjUifV0sWyJwYXRoIix7ZDoiTTIwLjcgMTdhMTIuOCAxMi44IDAgMCAwLTguNy01IDEzLjMgMTMuMyAwIDAgMSAwLTEwIn1dLFsicGF0aCIse2Q6Ik02LjMgMy44YTE2LjU1IDE2LjU1IDAgMCAwIDEuOSAxMS41In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXX0pO3ZhciBDaixmR2U9ZigoKT0+e0NqPVtbImNpcmNsZSIse2N4OiI2IixjeToiMTIiLHI6IjQifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxMiIscjoiNCJ9XSxbImxpbmUiLHt4MToiNiIseDI6IjE4Iix5MToiMTYiLHkyOiIxNiJ9XV19KTt2YXIgX2osaEdlPWYoKCk9Pntfaj1bWyJwYXRoIix7ZDoiTTExIDQuNzAyYS43MDUuNzA1IDAgMCAwLTEuMjAzLS40OThMNi40MTMgNy41ODdBMS40IDEuNCAwIDAgMSA1LjQxNiA4SDNhMSAxIDAgMCAwLTEgMXY2YTEgMSAwIDAgMCAxIDFoMi40MTZhMS40IDEuNCAwIDAgMSAuOTk3LjQxM2wzLjM4MyAzLjM4NEEuNzA1LjcwNSAwIDAgMCAxMSAxOS4yOTh6In1dLFsicGF0aCIse2Q6Ik0xNiA5YTUgNSAwIDAgMSAwIDYifV1dfSk7dmFyIFRqLG1HZT1mKCgpPT57VGo9W1sicGF0aCIse2Q6Ik0xMSA0LjcwMmEuNzA1LjcwNSAwIDAgMC0xLjIwMy0uNDk4TDYuNDEzIDcuNTg3QTEuNCAxLjQgMCAwIDEgNS40MTYgOEgzYTEgMSAwIDAgMC0xIDF2NmExIDEgMCAwIDAgMSAxaDIuNDE2YTEuNCAxLjQgMCAwIDEgLjk5Ny40MTNsMy4zODMgMy4zODRBLjcwNS43MDUgMCAwIDAgMTEgMTkuMjk4eiJ9XSxbInBhdGgiLHtkOiJNMTYgOWE1IDUgMCAwIDEgMCA2In1dLFsicGF0aCIse2Q6Ik0xOS4zNjQgMTguMzY0YTkgOSAwIDAgMCAwLTEyLjcyOCJ9XV19KTt2YXIgTGosZ0dlPWYoKCk9PntMaj1bWyJwYXRoIix7ZDoiTTE2IDlhNSA1IDAgMCAxIC45NSAyLjI5MyJ9XSxbInBhdGgiLHtkOiJNMTkuMzY0IDUuNjM2YTkgOSAwIDAgMSAxLjg4OSA5Ljk2In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoibTcgNy0uNTg3LjU4N0ExLjQgMS40IDAgMCAxIDUuNDE2IDhIM2ExIDEgMCAwIDAtMSAxdjZhMSAxIDAgMCAwIDEgMWgyLjQxNmExLjQgMS40IDAgMCAxIC45OTcuNDEzbDMuMzgzIDMuMzg0QS43MDUuNzA1IDAgMCAwIDExIDE5LjI5OFYxMSJ9XSxbInBhdGgiLHtkOiJNOS44MjggNC4xNzJBLjY4Ni42ODYgMCAwIDEgMTEgNC42NTd2LjY4NiJ9XV19KTt2YXIgJGosYkdlPWYoKCk9Pnskaj1bWyJwYXRoIix7ZDoiTTExIDQuNzAyYS43MDUuNzA1IDAgMCAwLTEuMjAzLS40OThMNi40MTMgNy41ODdBMS40IDEuNCAwIDAgMSA1LjQxNiA4SDNhMSAxIDAgMCAwLTEgMXY2YTEgMSAwIDAgMCAxIDFoMi40MTZhMS40IDEuNCAwIDAgMSAuOTk3LjQxM2wzLjM4MyAzLjM4NEEuNzA1LjcwNSAwIDAgMCAxMSAxOS4yOTh6In1dLFsibGluZSIse3gxOiIyMiIseDI6IjE2Iix5MToiOSIseTI6IjE1In1dLFsibGluZSIse3gxOiIxNiIseDI6IjIyIix5MToiOSIseTI6IjE1In1dXX0pO3ZhciBEaix2R2U9ZigoKT0+e0RqPVtbInBhdGgiLHtkOiJNMTEgNC43MDJhLjcwNS43MDUgMCAwIDAtMS4yMDMtLjQ5OEw2LjQxMyA3LjU4N0ExLjQgMS40IDAgMCAxIDUuNDE2IDhIM2ExIDEgMCAwIDAtMSAxdjZhMSAxIDAgMCAwIDEgMWgyLjQxNmExLjQgMS40IDAgMCAxIC45OTcuNDEzbDMuMzgzIDMuMzg0QS43MDUuNzA1IDAgMCAwIDExIDE5LjI5OHoifV1dfSk7dmFyIEFqLHhHZT1mKCgpPT57QWo9W1sicGF0aCIse2Q6Im05IDEyIDIgMiA0LTQifV0sWyJwYXRoIix7ZDoiTTUgN2MwLTEuMS45LTIgMi0yaDEwYTIgMiAwIDAgMSAyIDJ2MTJINVY3WiJ9XSxbInBhdGgiLHtkOiJNMjIgMTlIMiJ9XV19KTt2YXIgRWoseUdlPWYoKCk9PntFaj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyA5YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMyAxMWgzYy44IDAgMS42LjMgMi4xLjlsMS4xLjljMS42IDEuNiA0LjEgMS42IDUuNyAwbDEuMS0uOWMuNS0uNSAxLjMtLjkgMi4xLS45SDIxIn1dXX0pO3ZhciBTZix3R2U9ZigoKT0+e1NmPVtbInBhdGgiLHtkOiJNMTcgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDdoMTJhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTQifV1dfSk7dmFyIFBqLE1HZT1mKCgpPT57UGo9W1sicGF0aCIse2Q6Ik0xOSA3VjRhMSAxIDAgMCAwLTEtMUg1YTIgMiAwIDAgMCAwIDRoMTVhMSAxIDAgMCAxIDEgMXY0aC0zYTIgMiAwIDAgMCAwIDRoM2ExIDEgMCAwIDAgMS0xdi0yYTEgMSAwIDAgMC0xLTEifV0sWyJwYXRoIix7ZDoiTTMgNXYxNGEyIDIgMCAwIDAgMiAyaDE1YTEgMSAwIDAgMCAxLTF2LTQifV1dfSk7dmFyIElqLGtHZT1mKCgpPT57SWo9W1sicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV0sWyJwYXRoIix7ZDoibTkgMTcgNi4xLTYuMWEyIDIgMCAwIDEgMi44MS4wMUwyMiAxNSJ9XSxbImNpcmNsZSIse2N4OiI4IixjeToiOSIscjoiMiJ9XSxbInJlY3QiLHt4OiIyIix5OiIzIix3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHJ4OiIyIn1dXX0pO3ZhciB6ZixTR2U9ZigoKT0+e3pmPVtbInBhdGgiLHtkOiJtMjEuNjQgMy42NC0xLjI4LTEuMjhhMS4yMSAxLjIxIDAgMCAwLTEuNzIgMEwyLjM2IDE4LjY0YTEuMjEgMS4yMSAwIDAgMCAwIDEuNzJsMS4yOCAxLjI4YTEuMiAxLjIgMCAwIDAgMS43MiAwTDIxLjY0IDUuMzZhMS4yIDEuMiAwIDAgMCAwLTEuNzIifV0sWyJwYXRoIix7ZDoibTE0IDcgMyAzIn1dLFsicGF0aCIse2Q6Ik01IDZ2NCJ9XSxbInBhdGgiLHtkOiJNMTkgMTR2NCJ9XSxbInBhdGgiLHtkOiJNMTAgMnYyIn1dLFsicGF0aCIse2Q6Ik03IDhIMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTZoLTQifV0sWyJwYXRoIix7ZDoiTTExIDNIOSJ9XV19KTt2YXIgTmosekdlPWYoKCk9PntOaj1bWyJwYXRoIix7ZDoiTTE1IDRWMiJ9XSxbInBhdGgiLHtkOiJNMTUgMTZ2LTIifV0sWyJwYXRoIix7ZDoiTTggOWgyIn1dLFsicGF0aCIse2Q6Ik0yMCA5aDIifV0sWyJwYXRoIix7ZDoiTTE3LjggMTEuOCAxOSAxMyJ9XSxbInBhdGgiLHtkOiJNMTUgOWguMDEifV0sWyJwYXRoIix7ZDoiTTE3LjggNi4yIDE5IDUifV0sWyJwYXRoIix7ZDoibTMgMjEgOS05In1dLFsicGF0aCIse2Q6Ik0xMi4yIDYuMiAxMSA1In1dXX0pO3ZhciBSaixDR2U9ZigoKT0+e1JqPVtbInBhdGgiLHtkOiJNMTggMjFWMTBhMSAxIDAgMCAwLTEtMUg3YTEgMSAwIDAgMC0xIDF2MTEifV0sWyJwYXRoIix7ZDoiTTIyIDE5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDEuMTMyLTEuODAzbDcuOTUtMy45NzRhMiAyIDAgMCAxIDEuODM3IDBsNy45NDggMy45NzRBMiAyIDAgMCAxIDIyIDh6In1dLFsicGF0aCIse2Q6Ik02IDEzaDEyIn1dLFsicGF0aCIse2Q6Ik02IDE3aDEyIn1dXX0pO3ZhciBPaixfR2U9ZigoKT0+e09qPVtbInBhdGgiLHtkOiJNMTIgMTB2Mi4ybDEuNiAxIn1dLFsicGF0aCIse2Q6Im0xNi4xMyA3LjY2LS44MS00LjA1YTIgMiAwIDAgMC0yLTEuNjFoLTIuNjhhMiAyIDAgMCAwLTIgMS42MWwtLjc4IDQuMDUifV0sWyJwYXRoIix7ZDoibTcuODggMTYuMzYuOCA0YTIgMiAwIDAgMCAyIDEuNjFoMi43MmEyIDIgMCAwIDAgMi0xLjYxbC44MS00LjA1In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjYifV1dfSk7dmFyIEZqLFRHZT1mKCgpPT57Rmo9W1sicGF0aCIse2Q6Ik0zIDZoMyJ9XSxbInBhdGgiLHtkOiJNMTcgNmguMDEifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjIwIix4OiIzIix5OiIyIixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiI1In1dLFsicGF0aCIse2Q6Ik0xMiAxOGEyLjUgMi41IDAgMCAwIDAtNSAyLjUgMi41IDAgMCAxIDAtNSJ9XV19KTt2YXIgQmosTEdlPWYoKCk9PntCaj1bWyJwYXRoIix7ZDoiTTEyIDEwTDEyIDIifV0sWyJwYXRoIix7ZDoiTTE2IDZMMTIgMTBMOCA2In1dLFsicGF0aCIse2Q6Ik0yIDE1QzIuNiAxNS41IDMuMiAxNiA0LjUgMTZDNyAxNiA3IDE0IDkuNSAxNEMxMi4xIDE0IDExLjkgMTYgMTQuNSAxNkMxNyAxNiAxNyAxNCAxOS41IDE0QzIwLjggMTQgMjEuNCAxNC41IDIyIDE1In1dLFsicGF0aCIse2Q6Ik0yIDIxQzIuNiAyMS41IDMuMiAyMiA0LjUgMjJDNyAyMiA3IDIwIDkuNSAyMEMxMi4xIDIwIDExLjkgMjIgMTQuNSAyMkMxNyAyMiAxNyAyMCAxOS41IDIwQzIwLjggMjAgMjEuNCAyMC41IDIyIDIxIn1dXX0pO3ZhciBIaiwkR2U9ZigoKT0+e0hqPVtbInBhdGgiLHtkOiJNMTIgMnY4In1dLFsicGF0aCIse2Q6Ik0yIDE1Yy42LjUgMS4yIDEgMi41IDEgMi41IDAgMi41LTIgNS0yIDIuNiAwIDIuNCAyIDUgMiAyLjUgMCAyLjUtMiA1LTIgMS4zIDAgMS45LjUgMi41IDEifV0sWyJwYXRoIix7ZDoiTTIgMjFjLjYuNSAxLjIgMSAyLjUgMSAyLjUgMCAyLjUtMiA1LTIgMi42IDAgMi40IDIgNSAyIDIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMSJ9XSxbInBhdGgiLHtkOiJtOCA2IDQtNCA0IDQifV1dfSk7dmFyIENmLERHZT1mKCgpPT57Q2Y9W1sicGF0aCIse2Q6Ik0yIDEycTIuNSAyIDUgMHQ1IDAgNSAwIDUgMCJ9XSxbInBhdGgiLHtkOiJNMiAxOXEyLjUgMiA1IDB0NSAwIDUgMCA1IDAifV0sWyJwYXRoIix7ZDoiTTIgNXEyLjUgMiA1IDB0NSAwIDUgMCA1IDAifV1dfSk7dmFyIHFqLEFHZT1mKCgpPT57cWo9W1sicGF0aCIse2Q6Ik0xOSA1YTIgMiAwIDAgMC0yIDJ2MTEifV0sWyJwYXRoIix7ZDoiTTIgMThjLjYuNSAxLjIgMSAyLjUgMSAyLjUgMCAyLjUtMiA1LTIgMi42IDAgMi40IDIgNSAyIDIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMSJ9XSxbInBhdGgiLHtkOiJNNyAxM2gxMCJ9XSxbInBhdGgiLHtkOiJNNyA5aDEwIn1dLFsicGF0aCIse2Q6Ik05IDVhMiAyIDAgMCAwLTIgMnYxMSJ9XV19KTt2YXIgVmosRUdlPWYoKCk9PntWaj1bWyJwYXRoIix7ZDoiTTEyIDJxMiAyLjUgMCA1dDAgNSAwIDUgMCA1In1dLFsicGF0aCIse2Q6Ik0xOSAycTIgMi41IDAgNXQwIDUgMCA1IDAgNSJ9XSxbInBhdGgiLHtkOiJNNSAycTIgMi41IDAgNXQwIDUgMCA1IDAgNSJ9XV19KTt2YXIgamosUEdlPWYoKCk9Pntqaj1bWyJwYXRoIix7ZDoibTEwLjU4NiA1LjQxNC01LjE3MiA1LjE3MiJ9XSxbInBhdGgiLHtkOiJtMTguNTg2IDEzLjQxNC01LjE3MiA1LjE3MiJ9XSxbInBhdGgiLHtkOiJNNiAxMmgxMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjIwIixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiNCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjEyIixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiIxMiIscjoiMiJ9XV19KTt2YXIgVWosSUdlPWYoKCk9PntVaj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiOCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsicGF0aCIse2Q6Ik03IDIyaDEwIn1dLFsicGF0aCIse2Q6Ik0xMiAyMnYtNCJ9XV19KTt2YXIgV2osTkdlPWYoKCk9PntXaj1bWyJwYXRoIix7ZDoiTTE3IDE3aC01Yy0xLjA5LS4wMi0xLjk0LjkyLTIuNSAxLjlBMyAzIDAgMSAxIDIuNTcgMTUifV0sWyJwYXRoIix7ZDoiTTkgMy40YTQgNCAwIDAgMSA2LjUyLjY2In1dLFsicGF0aCIse2Q6Im02IDE3IDMuMS01LjhhMi41IDIuNSAwIDAgMCAuMDU3LTIuMDUifV0sWyJwYXRoIix7ZDoiTTIwLjMgMjAuM2E0IDQgMCAwIDEtMi4zLjcifV0sWyJwYXRoIix7ZDoiTTE4LjYgMTNhNCA0IDAgMCAxIDMuMzU3IDMuNDE0In1dLFsicGF0aCIse2Q6Im0xMiA2IC42IDEifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgR2osUkdlPWYoKCk9PntHaj1bWyJwYXRoIix7ZDoiTTE4IDE2Ljk4aC01Ljk5Yy0xLjEgMC0xLjk1Ljk0LTIuNDggMS45QTQgNCAwIDAgMSAyIDE3Yy4wMS0uNy4yLTEuNC41Ny0yIn1dLFsicGF0aCIse2Q6Im02IDE3IDMuMTMtNS43OGMuNTMtLjk3LjEtMi4xOC0uNS0zLjFhNCA0IDAgMSAxIDYuODktNC4wNiJ9XSxbInBhdGgiLHtkOiJtMTIgNiAzLjEzIDUuNzNDMTUuNjYgMTIuNyAxNi45IDEzIDE4IDEzYTQgNCAwIDAgMSAwIDgifV1dfSk7dmFyIFlqLE9HZT1mKCgpPT57WWo9W1sicGF0aCIse2Q6Ik02LjUgOGEyIDIgMCAwIDAtMS45MDYgMS40NkwyLjEgMTguNUEyIDIgMCAwIDAgNCAyMWgxNmEyIDIgMCAwIDAgMS45MjUtMi41NEwxOS40IDkuNUEyIDIgMCAwIDAgMTcuNDggOHoifV0sWyJwYXRoIix7ZDoiTTcuOTk5IDE1YTIuNSAyLjUgMCAwIDEgNCAwIDIuNSAyLjUgMCAwIDAgNCAwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiNSIscjoiMyJ9XV19KTt2YXIgS2osRkdlPWYoKCk9PntLaj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI1IixyOiIzIn1dLFsicGF0aCIse2Q6Ik02LjUgOGEyIDIgMCAwIDAtMS45MDUgMS40NkwyLjEgMTguNUEyIDIgMCAwIDAgNCAyMWgxNmEyIDIgMCAwIDAgMS45MjUtMi41NEwxOS40IDkuNUEyIDIgMCAwIDAgMTcuNDggOFoifV1dfSk7dmFyIFpqLEJHZT1mKCgpPT57Wmo9W1sicGF0aCIse2Q6Im0yIDIyIDEwLTEwIn1dLFsicGF0aCIse2Q6Im0xNiA4LTEuMTcgMS4xNyJ9XSxbInBhdGgiLHtkOiJNMy40NyAxMi41MyA1IDExbDEuNTMgMS41M2EzLjUgMy41IDAgMCAxIDAgNC45NEw1IDE5bC0xLjUzLTEuNTNhMy41IDMuNSAwIDAgMSAwLTQuOTRaIn1dLFsicGF0aCIse2Q6Im04IDgtLjUzLjUzYTMuNSAzLjUgMCAwIDAgMCA0Ljk0TDkgMTVsMS41My0xLjUzYy41NS0uNTUuODgtMS4yNS45OC0xLjk3In1dLFsicGF0aCIse2Q6Ik0xMC45MSA1LjI2Yy4xNS0uMjYuMzQtLjUxLjU2LS43M0wxMyAzbDEuNTMgMS41M2EzLjUgMy41IDAgMCAxIC4yOCA0LjYyIn1dLFsicGF0aCIse2Q6Ik0yMCAyaDJ2MmE0IDQgMCAwIDEtNCA0aC0yVjZhNCA0IDAgMCAxIDQtNFoifV0sWyJwYXRoIix7ZDoiTTExLjQ3IDE3LjQ3IDEzIDE5bC0xLjUzIDEuNTNhMy41IDMuNSAwIDAgMS00Ljk0IDBMNSAxOWwxLjUzLTEuNTNhMy41IDMuNSAwIDAgMSA0Ljk0IDBaIn1dLFsicGF0aCIse2Q6Im0xNiAxNi0uNTMuNTNhMy41IDMuNSAwIDAgMS00Ljk0IDBMOSAxNWwxLjUzLTEuNTNhMy40OSAzLjQ5IDAgMCAxIDEuOTctLjk4In1dLFsicGF0aCIse2Q6Ik0xOC43NCAxMy4wOWMuMjYtLjE1LjUxLS4zNC43My0uNTZMMjEgMTFsLTEuNTMtMS41M2EzLjUgMy41IDAgMCAwLTQuNjItLjI4In1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIyIix5MjoiMjIifV1dfSk7dmFyIFhqLEhHZT1mKCgpPT57WGo9W1sicGF0aCIse2Q6Ik0yIDIyIDE2IDgifV0sWyJwYXRoIix7ZDoiTTMuNDcgMTIuNTMgNSAxMWwxLjUzIDEuNTNhMy41IDMuNSAwIDAgMSAwIDQuOTRMNSAxOWwtMS41My0xLjUzYTMuNSAzLjUgMCAwIDEgMC00Ljk0WiJ9XSxbInBhdGgiLHtkOiJNNy40NyA4LjUzIDkgN2wxLjUzIDEuNTNhMy41IDMuNSAwIDAgMSAwIDQuOTRMOSAxNWwtMS41My0xLjUzYTMuNSAzLjUgMCAwIDEgMC00Ljk0WiJ9XSxbInBhdGgiLHtkOiJNMTEuNDcgNC41MyAxMyAzbDEuNTMgMS41M2EzLjUgMy41IDAgMCAxIDAgNC45NEwxMyAxMWwtMS41My0xLjUzYTMuNSAzLjUgMCAwIDEgMC00Ljk0WiJ9XSxbInBhdGgiLHtkOiJNMjAgMmgydjJhNCA0IDAgMCAxLTQgNGgtMlY2YTQgNCAwIDAgMSA0LTRaIn1dLFsicGF0aCIse2Q6Ik0xMS40NyAxNy40NyAxMyAxOWwtMS41MyAxLjUzYTMuNSAzLjUgMCAwIDEtNC45NCAwTDUgMTlsMS41My0xLjUzYTMuNSAzLjUgMCAwIDEgNC45NCAwWiJ9XSxbInBhdGgiLHtkOiJNMTUuNDcgMTMuNDcgMTcgMTVsLTEuNTMgMS41M2EzLjUgMy41IDAgMCAxLTQuOTQgMEw5IDE1bDEuNTMtMS41M2EzLjUgMy41IDAgMCAxIDQuOTQgMFoifV0sWyJwYXRoIix7ZDoiTTE5LjQ3IDkuNDcgMjEgMTFsLTEuNTMgMS41M2EzLjUgMy41IDAgMCAxLTQuOTQgMEwxMyAxMWwxLjUzLTEuNTNhMy41IDMuNSAwIDAgMSA0Ljk0IDBaIn1dXX0pO3ZhciBRaixxR2U9ZigoKT0+e1FqPVtbImNpcmNsZSIse2N4OiI3IixjeToiMTIiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTEwIDl2NiJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjEyIixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xNCA3djgifV0sWyJwYXRoIix7ZDoiTTIyIDE3djFjMCAuNS0uNSAxLTEgMUgzYy0uNSAwLTEtLjUtMS0xdi0xIn1dXX0pO3ZhciBKaixWR2U9ZigoKT0+e0pqPVtbInBhdGgiLHtkOiJtMTQuMzA1IDE5LjUzLjkyMy0uMzgyIn1dLFsicGF0aCIse2Q6Im0xNS4yMjggMTYuODUyLS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDE1LjIyOC0uMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTE2Ljg1MiAyMC43NzItLjM4My45MjQifV0sWyJwYXRoIix7ZDoibTE5LjE0OCAxNS4yMjguMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTE5LjUzIDIxLjY5Ni0uMzgyLS45MjQifV0sWyJwYXRoIix7ZDoiTTIgNy44MmExNSAxNSAwIDAgMSAyMCAwIn1dLFsicGF0aCIse2Q6Im0yMC43NzIgMTYuODUyLjkyNC0uMzgzIn1dLFsicGF0aCIse2Q6Im0yMC43NzIgMTkuMTQ4LjkyNC4zODMifV0sWyJwYXRoIix7ZDoiTTUgMTEuODU4YTEwIDEwIDAgMCAxIDExLjUtMS43ODUifV0sWyJwYXRoIix7ZDoiTTguNSAxNS40MjlhNSA1IDAgMCAxIDIuNDEzLTEuMzEifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XV19KTt2YXIgZVUsakdlPWYoKCk9PntlVT1bWyJwYXRoIix7ZDoiTTEyIDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNNSAxMi44NTlhMTAgMTAgMCAwIDEgMTQgMCJ9XSxbInBhdGgiLHtkOiJNOC41IDE2LjQyOWE1IDUgMCAwIDEgNyAwIn1dXX0pO3ZhciB0VSxVR2U9ZigoKT0+e3RVPVtbInBhdGgiLHtkOiJNMTIgMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik04LjUgMTYuNDI5YTUgNSAwIDAgMSA3IDAifV1dfSk7dmFyIGFVLFdHZT1mKCgpPT57YVU9W1sicGF0aCIse2Q6Ik0xMiAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTguNSAxNi40MjlhNSA1IDAgMCAxIDcgMCJ9XSxbInBhdGgiLHtkOiJNNSAxMi44NTlhMTAgMTAgMCAwIDEgNS4xNy0yLjY5In1dLFsicGF0aCIse2Q6Ik0xOSAxMi44NTlhMTAgMTAgMCAwIDAtMi4wMDctMS41MjMifV0sWyJwYXRoIix7ZDoiTTIgOC44MmExNSAxNSAwIDAgMSA0LjE3Ny0yLjY0MyJ9XSxbInBhdGgiLHtkOiJNMjIgOC44MmExNSAxNSAwIDAgMC0xMS4yODgtMy43NjQifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgclUsR0dlPWYoKCk9PntyVT1bWyJwYXRoIix7ZDoiTTIgOC44MmExNSAxNSAwIDAgMSAyMCAwIn1dLFsicGF0aCIse2Q6Ik0yMS4zNzggMTYuNjI2YTEgMSAwIDAgMC0zLjAwNC0zLjAwNGwtNC4wMSA0LjAxMmEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNnoifV0sWyJwYXRoIix7ZDoiTTUgMTIuODU5YTEwIDEwIDAgMCAxIDEwLjUtMi4yMjIifV0sWyJwYXRoIix7ZDoiTTguNSAxNi40MjlhNSA1IDAgMCAxIDMtMS40MDYifV1dfSk7dmFyIHNVLFlHZT1mKCgpPT57c1U9W1sicGF0aCIse2Q6Ik0xMS45NjUgMTAuMTA1djRMMTMuNSAxMi41YTUgNSAwIDAgMSA4IDEuNSJ9XSxbInBhdGgiLHtkOiJNMTEuOTY1IDE0LjEwNWg0In1dLFsicGF0aCIse2Q6Ik0xNy45NjUgMTguMTA1aDRMMjAuNDMgMTkuNzFhNSA1IDAgMCAxLTgtMS41In1dLFsicGF0aCIse2Q6Ik0yIDguODJhMTUgMTUgMCAwIDEgMjAgMCJ9XSxbInBhdGgiLHtkOiJNMjEuOTY1IDIyLjEwNXYtNCJ9XSxbInBhdGgiLHtkOiJNNSAxMi44NmExMCAxMCAwIDAgMSAzLTIuMDMyIn1dLFsicGF0aCIse2Q6Ik04LjUgMTYuNDI5aC4wMSJ9XV19KTt2YXIgaVUsS0dlPWYoKCk9PntpVT1bWyJwYXRoIix7ZDoiTTEyIDIwaC4wMSJ9XV19KTt2YXIgb1UsWkdlPWYoKCk9PntvVT1bWyJwYXRoIix7ZDoiTTEwIDJ2OCJ9XSxbInBhdGgiLHtkOiJNMTIuOCAyMS42QTIgMiAwIDEgMCAxNCAxOEgyIn1dLFsicGF0aCIse2Q6Ik0xNy41IDEwYTIuNSAyLjUgMCAxIDEgMiA0SDIifV0sWyJwYXRoIix7ZDoibTYgNiA0IDQgNC00In1dXX0pO3ZhciBuVSxYR2U9ZigoKT0+e25VPVtbInBhdGgiLHtkOiJNMTIgMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik0yIDguODJhMTUgMTUgMCAwIDEgMjAgMCJ9XSxbInBhdGgiLHtkOiJNNSAxMi44NTlhMTAgMTAgMCAwIDEgMTQgMCJ9XSxbInBhdGgiLHtkOiJNOC41IDE2LjQyOWE1IDUgMCAwIDEgNyAwIn1dXX0pO3ZhciBsVSxRR2U9ZigoKT0+e2xVPVtbInBhdGgiLHtkOiJNMTIuOCAxOS42QTIgMiAwIDEgMCAxNCAxNkgyIn1dLFsicGF0aCIse2Q6Ik0xNy41IDhhMi41IDIuNSAwIDEgMSAyIDRIMiJ9XSxbInBhdGgiLHtkOiJNOS44IDQuNEEyIDIgMCAxIDEgMTEgOEgyIn1dXX0pO3ZhciBjVSxKR2U9ZigoKT0+e2NVPVtbInBhdGgiLHtkOiJNOCAyMmg4In1dLFsicGF0aCIse2Q6Ik03IDEwaDNtNyAwaC0xLjM0MyJ9XSxbInBhdGgiLHtkOiJNMTIgMTV2NyJ9XSxbInBhdGgiLHtkOiJNNy4zMDcgNy4zMDdBMTIuMzMgMTIuMzMgMCAwIDAgNyAxMGE1IDUgMCAwIDAgNy4zOTEgNC4zOTFNOC42MzggMi45ODFDOC43NSAyLjY2OCA4Ljg3MiAyLjM0IDkgMmg2YzEuNSA0IDIgNiAyIDggMCAuNDA3LS4wNS44MDktLjE0NSAxLjE5OCJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMiIseTI6IjIyIn1dXX0pO3ZhciBkVSxlWWU9ZigoKT0+e2RVPVtbInBhdGgiLHtkOiJtMTkgMTItMS41IDMifV0sWyJwYXRoIix7ZDoiTTE5LjYzIDE4LjgxIDIyIDIwIn1dLFsicGF0aCIse2Q6Ik02LjQ3IDguMjNhMS42OCAxLjY4IDAgMCAxIDIuNDQgMS45M2wtLjY0IDIuMDhhNi43NiA2Ljc2IDAgMCAwIDEwLjE2IDcuNjdsLjQyLS4yN2ExIDEgMCAxIDAtMi43My00LjIxbC0uNDIuMjdhMS43NiAxLjc2IDAgMCAxLTIuNjMtMS45OWwuNjQtMi4wOEE2LjY2IDYuNjYgMCAwIDAgMy45NCAzLjlsLS43LjRhMSAxIDAgMSAwIDIuNTUgNC4zNHoifV1dfSk7dmFyIHVVLHRZZT1mKCgpPT57dVU9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03IDExdjRhMiAyIDAgMCAwIDIgMmg0In1dLFsicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjgiLHg6IjEzIix5OiIxMyIscng6IjIifV1dfSk7dmFyIHBVLGFZZT1mKCgpPT57cFU9W1sicGF0aCIse2Q6Ik04IDIyaDgifV0sWyJwYXRoIix7ZDoiTTcgMTBoMTAifV0sWyJwYXRoIix7ZDoiTTEyIDE1djcifV0sWyJwYXRoIix7ZDoiTTEyIDE1YTUgNSAwIDAgMCA1LTVjMC0yLS41LTQtMi04SDljLTEuNSA0LTIgNi0yIDhhNSA1IDAgMCAwIDUgNVoifV1dfSk7dmFyIGZVLHJZZT1mKCgpPT57ZlU9W1sicGF0aCIse2Q6Ik0xNC43IDYuM2ExIDEgMCAwIDAgMCAxLjRsMS42IDEuNmExIDEgMCAwIDAgMS40IDBsMy4xMDYtMy4xMDVjLjMyLS4zMjIuODYzLS4yMi45ODMuMjE4YTYgNiAwIDAgMS04LjI1OSA3LjA1N2wtNy45MSA3LjkxYTEgMSAwIDAgMS0yLjk5OS0zbDcuOTEtNy45MWE2IDYgMCAwIDEgNy4wNTctOC4yNTljLjQzOC4xMi41NC42NjIuMjE5Ljk4NHoifV1dfSk7dmFyIGhVLHNZZT1mKCgpPT57aFU9W1sicGF0aCIse2Q6Ik0xOCA0SDYifV0sWyJwYXRoIix7ZDoiTTE4IDggNiAyMCJ9XSxbInBhdGgiLHtkOiJtNiA4IDEyIDEyIn1dXX0pO3ZhciBtVSxpWWU9ZigoKT0+e21VPVtbInBhdGgiLHtkOiJNMTggNiA2IDE4In1dLFsicGF0aCIse2Q6Im02IDYgMTIgMTIifV1dfSk7dmFyIGdVLG9ZZT1mKCgpPT57Z1U9W1sicGF0aCIse2Q6Ik0xMC41MTMgNC44NTYgMTMuMTIgMi4xN2EuNS41IDAgMCAxIC44Ni40NmwtMS4zNzcgNC4zMTcifV0sWyJwYXRoIix7ZDoiTTE1LjY1NiAxMEgyMGExIDEgMCAwIDEgLjc4IDEuNjNsLTEuNzIgMS43NzMifV0sWyJwYXRoIix7ZDoiTTE2LjI3MyAxNi4yNzMgMTAuODggMjEuODNhLjUuNSAwIDAgMS0uODYtLjQ2bDEuOTItNi4wMkExIDEgMCAwIDAgMTEgMTRINGExIDEgMCAwIDEtLjc4LTEuNjNsNC41MDctNC42NDMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgYlUsblllPWYoKCk9PntiVT1bWyJwYXRoIix7ZDoiTTQgMTRhMSAxIDAgMCAxLS43OC0xLjYzbDkuOS0xMC4yYS41LjUgMCAwIDEgLjg2LjQ2bC0xLjkyIDYuMDJBMSAxIDAgMCAwIDEzIDEwaDdhMSAxIDAgMCAxIC43OCAxLjYzbC05LjkgMTAuMmEuNS41IDAgMCAxLS44Ni0uNDZsMS45Mi02LjAyQTEgMSAwIDAgMCAxMSAxNHoifV1dfSk7dmFyIHZVLGxZZT1mKCgpPT57dlU9W1sicGF0aCIse2Q6Im0yIDEwIDIuNDU2LTMuNjg0YS43LjcgMCAwIDEgMS4xMDYtLjAxM2wyLjM5IDMuNDEzYS43LjcgMCAwIDAgMS4wOTYtLjAwMWwyLjQwMi0zLjQzMmEuNy43IDAgMCAxIDEuMDk4IDBsMi40MDIgMy40MzJhLjcuNyAwIDAgMCAxLjA5OCAwbDIuMzg5LTMuNDEzYS43LjcgMCAwIDEgMS4xMDYuMDEzTDIyIDEwIn1dLFsicGF0aCIse2Q6Im0yIDE4LjAwMiAyLjQ1Ni0zLjY4NGEuNy43IDAgMCAxIDEuMTA2LS4wMTNsMi4zOSAzLjQxM2EuNy43IDAgMCAwIDEuMDk3IDBsMi40MDItMy40MzJhLjcuNyAwIDAgMSAxLjA5OCAwbDIuNDAyIDMuNDMyYS43LjcgMCAwIDAgMS4wOTggMGwyLjM4OS0zLjQxM2EuNy43IDAgMCAxIDEuMTA2LjAxM0wyMiAxOC4wMDIifV1dfSk7dmFyIHhVLGNZZT1mKCgpPT57eFU9W1sicGF0aCIse2Q6Ik0xMiA3LjVhNC41IDQuNSAwIDEgMSA1IDQuNSJ9XSxbInBhdGgiLHtkOiJNNyAxMmE0LjUgNC41IDAgMSAxIDUtNC41VjIxIn1dXX0pO3ZhciB5VSxkWWU9ZigoKT0+e3lVPVtbInBhdGgiLHtkOiJNMjEgMTQuNUE5IDYuNSAwIDAgMSA1LjUgMTkifV0sWyJwYXRoIix7ZDoiTTMgOS41QTkgNi41IDAgMCAxIDE4LjUgNSJ9XSxbImNpcmNsZSIse2N4OiIxNy41IixjeToiMTQuNSIscjoiMy41In1dLFsiY2lyY2xlIix7Y3g6IjYuNSIsY3k6IjkuNSIscjoiMy41In1dXX0pO3ZhciB3VSx1WWU9ZigoKT0+e3dVPVtbInBhdGgiLHtkOiJNMTEgMjFhMyAzIDAgMCAwIDMtM1Y2LjVhMSAxIDAgMCAwLTcgMCJ9XSxbInBhdGgiLHtkOiJNNyAxOVY2YTMgMyAwIDAgMC0zLTNoMCJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE3IixyOiIzIn1dXX0pO3ZhciBNVSxwWWU9ZigoKT0+e01VPVtbInBhdGgiLHtkOiJNMTYgNC41MjV2MTQuOTQ4In1dLFsicGF0aCIse2Q6Ik0yMCAzQTE3IDE3IDAgMCAxIDQgMyJ9XSxbInBhdGgiLHtkOiJNNCAyMWExNyAxNyAwIDAgMSAxNiAwIn1dLFsicGF0aCIse2Q6Ik04IDQuNTI1djE0Ljk0OCJ9XV19KTt2YXIga1UsZlllPWYoKCk9PntrVT1bWyJwYXRoIix7ZDoiTTEwIDE2YzAtNC0zLTQuNS0zLThhNSA1IDAgMCAxIDEwIDBjMCAzLjQ2Ni0zIDYuMTk2LTMgMTBhMyAzIDAgMCAwIDYgMCJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiMTYiLHI6IjMifV1dfSk7dmFyIFNVLGhZZT1mKCgpPT57U1U9W1sicGF0aCIse2Q6Ik0zIDE2aDYuODU3Yy4xNjItLjAxMi4xOS0uMzIzLjAzOC0uMzhhNiA2IDAgMSAxIDQuMjEyIDBjLS4xNTMuMDU3LS4xMjUuMzY4LjAzOC4zOEgyMSJ9XSxbInBhdGgiLHtkOiJNMyAyMGgxOCJ9XV19KTt2YXIgelUsbVllPWYoKCk9Pnt6VT1bWyJwYXRoIix7ZDoiTTMgMTBBNi4wNiA2LjA2IDAgMCAxIDEyIDEwIEE2LjA2IDYuMDYgMCAwIDAgMjEgMTAifV0sWyJwYXRoIix7ZDoiTTYgM3YxMmE2IDYgMCAwIDAgMTIgMFYzIn1dXX0pO3ZhciBDVSxnWWU9ZigoKT0+e0NVPVtbInBhdGgiLHtkOiJNMTkgMjFhMTUgMTUgMCAwIDEgMC0xOCJ9XSxbInBhdGgiLHtkOiJNMjAgMTJINCJ9XSxbInBhdGgiLHtkOiJNNSAzYTE1IDE1IDAgMCAxIDAgMTgifV1dfSk7dmFyIF9VLGJZZT1mKCgpPT57X1U9W1sicGF0aCIse2Q6Ik0xMCAxOVY1LjVhMSAxIDAgMCAxIDUgMFYxN2EyIDIgMCAwIDAgMiAyaDVsLTMtMyJ9XSxbInBhdGgiLHtkOiJtMjIgMTktMyAzIn1dLFsicGF0aCIse2Q6Ik01IDE5VjUuNWExIDEgMCAwIDEgNSAwIn1dLFsicGF0aCIse2Q6Ik01IDUuNUEyLjUgMi41IDAgMCAwIDIuNSAzIn1dXX0pO3ZhciBUVSx2WWU9ZigoKT0+e1RVPVtbInBhdGgiLHtkOiJNMTUgM2g2djYifV0sWyJwYXRoIix7ZDoiTTIxIDMgMyAyMSJ9XSxbInBhdGgiLHtkOiJtOSA5IDYgNiJ9XV19KTt2YXIgTFUseFllPWYoKCk9PntMVT1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNSIscjoiNiJ9XSxbInBhdGgiLHtkOiJNMTggM0E2IDYgMCAwIDEgNiAzIn1dXX0pO3ZhciAkVSx5WWU9ZigoKT0+eyRVPVtbInBhdGgiLHtkOiJNMTEgNS41YTEgMSAwIDAgMSA1IDBWMTZhNSA1IDAgMCAwIDUgNSJ9XSxbInBhdGgiLHtkOiJNMTYgMTEuNWExIDEgMCAwIDEgNSAwVjE2YTUgNSAwIDAgMS01IDUifV0sWyJwYXRoIix7ZDoiTTYgMTlWNmEzIDMgMCAwIDAtMy0zaDAifV0sWyJwYXRoIix7ZDoiTTYgNS41YTEgMSAwIDAgMSA1IDBWMTkifV1dfSk7dmFyIERVLHdZZT1mKCgpPT57RFU9W1siY2lyY2xlIix7Y3g6IjExIixjeToiMTEiLHI6IjgifV0sWyJsaW5lIix7eDE6IjIxIix4MjoiMTYuNjUiLHkxOiIyMSIseTI6IjE2LjY1In1dLFsibGluZSIse3gxOiIxMSIseDI6IjExIix5MToiOCIseTI6IjE0In1dLFsibGluZSIse3gxOiI4Iix4MjoiMTQiLHkxOiIxMSIseTI6IjExIn1dXX0pO3ZhciBBVSxNWWU9ZigoKT0+e0FVPVtbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI4In1dLFsibGluZSIse3gxOiIyMSIseDI6IjE2LjY1Iix5MToiMjEiLHkyOiIxNi42NSJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE0Iix5MToiMTEiLHkyOiIxMSJ9XV19KTt2YXIgX2Y9e307cnQoX2Yse0FBcnJvd0Rvd246KCk9Pk12LEFBcnJvd1VwOigpPT5rdixBTGFyZ2VTbWFsbDooKT0+U3YsQWNjZXNzaWJpbGl0eTooKT0+enYsQWN0aXZpdHk6KCk9PkN2LEFjdGl2aXR5U3F1YXJlOigpPT5ycCxBaXJWZW50OigpPT5fdixBaXJwbGF5OigpPT5UdixBbGFybUNoZWNrOigpPT52ZCxBbGFybUNsb2NrOigpPT4kdixBbGFybUNsb2NrQ2hlY2s6KCk9PnZkLEFsYXJtQ2xvY2tNaW51czooKT0+eGQsQWxhcm1DbG9ja09mZjooKT0+THYsQWxhcm1DbG9ja1BsdXM6KCk9PnlkLEFsYXJtTWludXM6KCk9PnhkLEFsYXJtUGx1czooKT0+eWQsQWxhcm1TbW9rZTooKT0+RHYsQWxidW06KCk9PkF2LEFsZXJ0Q2lyY2xlOigpPT5ZZCxBbGVydE9jdGFnb246KCk9PkF1LEFsZXJ0VHJpYW5nbGU6KCk9PnBmLEFsaWduQ2VudGVyOigpPT5zZixBbGlnbkNlbnRlckhvcml6b250YWw6KCk9PkV2LEFsaWduQ2VudGVyVmVydGljYWw6KCk9PlB2LEFsaWduRW5kSG9yaXpvbnRhbDooKT0+SXYsQWxpZ25FbmRWZXJ0aWNhbDooKT0+UnYsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZUNlbnRlcjooKT0+TnYsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZUVuZDooKT0+T3YsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZVN0YXJ0OigpPT5GdixBbGlnbkhvcml6b250YWxKdXN0aWZ5Q2VudGVyOigpPT5CdixBbGlnbkhvcml6b250YWxKdXN0aWZ5RW5kOigpPT5IdixBbGlnbkhvcml6b250YWxKdXN0aWZ5U3RhcnQ6KCk9PnF2LEFsaWduSG9yaXpvbnRhbFNwYWNlQXJvdW5kOigpPT5WdixBbGlnbkhvcml6b250YWxTcGFjZUJldHdlZW46KCk9Pld2LEFsaWduSnVzdGlmeTooKT0+bmYsQWxpZ25MZWZ0OigpPT5wYyxBbGlnblJpZ2h0OigpPT5vZixBbGlnblN0YXJ0SG9yaXpvbnRhbDooKT0+anYsQWxpZ25TdGFydFZlcnRpY2FsOigpPT5VdixBbGlnblZlcnRpY2FsRGlzdHJpYnV0ZUNlbnRlcjooKT0+R3YsQWxpZ25WZXJ0aWNhbERpc3RyaWJ1dGVFbmQ6KCk9Pll2LEFsaWduVmVydGljYWxEaXN0cmlidXRlU3RhcnQ6KCk9Pkt2LEFsaWduVmVydGljYWxKdXN0aWZ5Q2VudGVyOigpPT5adixBbGlnblZlcnRpY2FsSnVzdGlmeUVuZDooKT0+WHYsQWxpZ25WZXJ0aWNhbEp1c3RpZnlTdGFydDooKT0+UXYsQWxpZ25WZXJ0aWNhbFNwYWNlQXJvdW5kOigpPT5KdixBbGlnblZlcnRpY2FsU3BhY2VCZXR3ZWVuOigpPT5leCxBbWJ1bGFuY2U6KCk9PnR4LEFtcGVyc2FuZDooKT0+cngsQW1wZXJzYW5kczooKT0+YXgsQW1waG9yYTooKT0+c3gsQW5jaG9yOigpPT5peCxBbmdyeTooKT0+b3gsQW5ub3llZDooKT0+bngsQW50ZW5uYTooKT0+bHgsQW52aWw6KCk9PmN4LEFwZXJ0dXJlOigpPT5keCxBcHBXaW5kb3c6KCk9PnB4LEFwcFdpbmRvd01hYzooKT0+dXgsQXBwbGU6KCk9Pmh4LEFyY2hpdmU6KCk9PmJ4LEFyY2hpdmVSZXN0b3JlOigpPT5meCxBcmNoaXZlWDooKT0+bXgsQXJlYUNoYXJ0OigpPT5JZCxBcm1jaGFpcjooKT0+Z3gsQXJyb3dCaWdEb3duOigpPT54eCxBcnJvd0JpZ0Rvd25EYXNoOigpPT52eCxBcnJvd0JpZ0xlZnQ6KCk9Pnl4LEFycm93QmlnTGVmdERhc2g6KCk9Pnd4LEFycm93QmlnUmlnaHQ6KCk9Pmt4LEFycm93QmlnUmlnaHREYXNoOigpPT5NeCxBcnJvd0JpZ1VwOigpPT56eCxBcnJvd0JpZ1VwRGFzaDooKT0+U3gsQXJyb3dEb3duOigpPT5JeCxBcnJvd0Rvd24wMTooKT0+Q3gsQXJyb3dEb3duMTA6KCk9Pl94LEFycm93RG93bkFaOigpPT53ZCxBcnJvd0Rvd25BejooKT0+d2QsQXJyb3dEb3duQ2lyY2xlOigpPT5LZCxBcnJvd0Rvd25Gcm9tTGluZTooKT0+VHgsQXJyb3dEb3duTGVmdDooKT0+THgsQXJyb3dEb3duTGVmdEZyb21DaXJjbGU6KCk9PlhkLEFycm93RG93bkxlZnRGcm9tU3F1YXJlOigpPT5scCxBcnJvd0Rvd25MZWZ0U3F1YXJlOigpPT5zcCxBcnJvd0Rvd25OYXJyb3dXaWRlOigpPT4keCxBcnJvd0Rvd25SaWdodDooKT0+RHgsQXJyb3dEb3duUmlnaHRGcm9tQ2lyY2xlOigpPT5RZCxBcnJvd0Rvd25SaWdodEZyb21TcXVhcmU6KCk9PmNwLEFycm93RG93blJpZ2h0U3F1YXJlOigpPT5pcCxBcnJvd0Rvd25TcXVhcmU6KCk9Pm9wLEFycm93RG93blRvRG90OigpPT5BeCxBcnJvd0Rvd25Ub0xpbmU6KCk9PlB4LEFycm93RG93blVwOigpPT5FeCxBcnJvd0Rvd25XaWRlTmFycm93OigpPT5NZCxBcnJvd0Rvd25aQTooKT0+a2QsQXJyb3dEb3duWmE6KCk9PmtkLEFycm93TGVmdDooKT0+QngsQXJyb3dMZWZ0Q2lyY2xlOigpPT5aZCxBcnJvd0xlZnRGcm9tTGluZTooKT0+TngsQXJyb3dMZWZ0UmlnaHQ6KCk9PlJ4LEFycm93TGVmdFNxdWFyZTooKT0+bnAsQXJyb3dMZWZ0VG9MaW5lOigpPT5PeCxBcnJvd1JpZ2h0OigpPT5WeCxBcnJvd1JpZ2h0Q2lyY2xlOigpPT50NixBcnJvd1JpZ2h0RnJvbUxpbmU6KCk9PkZ4LEFycm93UmlnaHRMZWZ0OigpPT5IeCxBcnJvd1JpZ2h0U3F1YXJlOigpPT5wcCxBcnJvd1JpZ2h0VG9MaW5lOigpPT5xeCxBcnJvd1VwOigpPT5KeCxBcnJvd1VwMDE6KCk9PlV4LEFycm93VXAxMDooKT0+angsQXJyb3dVcEFaOigpPT5TZCxBcnJvd1VwQXo6KCk9PlNkLEFycm93VXBDaXJjbGU6KCk9PmE2LEFycm93VXBEb3duOigpPT5XeCxBcnJvd1VwRnJvbURvdDooKT0+R3gsQXJyb3dVcEZyb21MaW5lOigpPT5ZeCxBcnJvd1VwTGVmdDooKT0+S3gsQXJyb3dVcExlZnRGcm9tQ2lyY2xlOigpPT5KZCxBcnJvd1VwTGVmdEZyb21TcXVhcmU6KCk9PmRwLEFycm93VXBMZWZ0U3F1YXJlOigpPT5mcCxBcnJvd1VwTmFycm93V2lkZTooKT0+emQsQXJyb3dVcFJpZ2h0OigpPT5aeCxBcnJvd1VwUmlnaHRGcm9tQ2lyY2xlOigpPT5lNixBcnJvd1VwUmlnaHRGcm9tU3F1YXJlOigpPT51cCxBcnJvd1VwUmlnaHRTcXVhcmU6KCk9PmhwLEFycm93VXBTcXVhcmU6KCk9Pm1wLEFycm93VXBUb0xpbmU6KCk9PlF4LEFycm93VXBXaWRlTmFycm93OigpPT5YeCxBcnJvd1VwWkE6KCk9PkNkLEFycm93VXBaYTooKT0+Q2QsQXJyb3dzVXBGcm9tTGluZTooKT0+dHksQXN0ZXJpc2s6KCk9PmV5LEFzdGVyaXNrU3F1YXJlOigpPT5ncCxBc3Ryb2lkOigpPT5heSxBdFNpZ246KCk9PnJ5LEF0b206KCk9PnN5LEF1ZGlvTGluZXM6KCk9Pml5LEF1ZGlvV2F2ZWZvcm06KCk9Pm95LEF3YXJkOigpPT5ueSxBeGU6KCk9Pmx5LEF4aXMzRDooKT0+X2QsQXhpczNkOigpPT5fZCxCYWJ5OigpPT5jeSxCYWNrcGFjazooKT0+ZHksQmFkZ2U6KCk9PkN5LEJhZGdlQWxlcnQ6KCk9PnV5LEJhZGdlQ2VudDooKT0+cHksQmFkZ2VDaGVjazooKT0+VGQsQmFkZ2VEb2xsYXJTaWduOigpPT5meSxCYWRnZUV1cm86KCk9Pmh5LEJhZGdlSGVscDooKT0+TGQsQmFkZ2VJbmRpYW5SdXBlZTooKT0+bXksQmFkZ2VJbmZvOigpPT5neSxCYWRnZUphcGFuZXNlWWVuOigpPT5ieSxCYWRnZU1pbnVzOigpPT52eSxCYWRnZVBlcmNlbnQ6KCk9Pnh5LEJhZGdlUGx1czooKT0+eXksQmFkZ2VQb3VuZFN0ZXJsaW5nOigpPT53eSxCYWRnZVF1ZXN0aW9uTWFyazooKT0+TGQsQmFkZ2VSdXNzaWFuUnVibGU6KCk9Pmt5LEJhZGdlU3dpc3NGcmFuYzooKT0+TXksQmFkZ2VUdXJraXNoTGlyYTooKT0+U3ksQmFkZ2VYOigpPT56eSxCYWdnYWdlQ2xhaW06KCk9Pl95LEJhbGxvb246KCk9Pkx5LEJhbjooKT0+VHksQmFuYW5hOigpPT4keSxCYW5kYWdlOigpPT5EeSxCYW5rbm90ZTooKT0+SXksQmFua25vdGVBcnJvd0Rvd246KCk9PkV5LEJhbmtub3RlQXJyb3dVcDooKT0+QXksQmFua25vdGVYOigpPT5QeSxCYXJDaGFydDooKT0+VmQsQmFyQ2hhcnQyOigpPT5qZCxCYXJDaGFydDM6KCk9PkhkLEJhckNoYXJ0NDooKT0+QmQsQmFyQ2hhcnRCaWc6KCk9PkZkLEJhckNoYXJ0SG9yaXpvbnRhbDooKT0+UmQsQmFyQ2hhcnRIb3Jpem9udGFsQmlnOigpPT5OZCxCYXJjb2RlOigpPT5OeSxCYXJyZWw6KCk9PlJ5LEJhc2VsaW5lOigpPT5PeSxCYXRoOigpPT5GeSxCYXR0ZXJ5OigpPT5XeSxCYXR0ZXJ5Q2hhcmdpbmc6KCk9PkJ5LEJhdHRlcnlGdWxsOigpPT5IeSxCYXR0ZXJ5TG93OigpPT5xeSxCYXR0ZXJ5TWVkaXVtOigpPT5WeSxCYXR0ZXJ5UGx1czooKT0+anksQmF0dGVyeVdhcm5pbmc6KCk9PlV5LEJlYWtlcjooKT0+WXksQmVhbjooKT0+WnksQmVhbk9mZjooKT0+R3ksQmVkOigpPT5KeSxCZWREb3VibGU6KCk9Pkt5LEJlZFNpbmdsZTooKT0+WHksQmVlZjooKT0+ZXcsQmVlZk9mZjooKT0+UXksQmVlcjooKT0+YXcsQmVlck9mZjooKT0+dHcsQmVsbDooKT0+ZHcsQmVsbENoZWNrOigpPT5ydyxCZWxsRG90OigpPT5zdyxCZWxsRWxlY3RyaWM6KCk9Pml3LEJlbGxNaW51czooKT0+bncsQmVsbE9mZjooKT0+b3csQmVsbFBsdXM6KCk9Pmx3LEJlbGxSaW5nOigpPT5jdyxCZXR3ZWVuSG9yaXpvbmFsRW5kOigpPT4kZCxCZXR3ZWVuSG9yaXpvbmFsU3RhcnQ6KCk9PkRkLEJldHdlZW5Ib3Jpem9udGFsRW5kOigpPT4kZCxCZXR3ZWVuSG9yaXpvbnRhbFN0YXJ0OigpPT5EZCxCZXR3ZWVuVmVydGljYWxFbmQ6KCk9PnV3LEJldHdlZW5WZXJ0aWNhbFN0YXJ0OigpPT5wdyxCaWNlcHNGbGV4ZWQ6KCk9PmZ3LEJpa2U6KCk9Pmh3LEJpbmFyeTooKT0+bXcsQmlub2N1bGFyczooKT0+Z3csQmlvaGF6YXJkOigpPT5idyxCaXJkOigpPT52dyxCaXJkaG91c2U6KCk9Pnh3LEJpdGNvaW46KCk9Pnl3LEJsZW5kOigpPT53dyxCbGluZHM6KCk9Pk13LEJsb2NrczooKT0+a3csQmx1ZXRvb3RoOigpPT5DdyxCbHVldG9vdGhDb25uZWN0ZWQ6KCk9PlN3LEJsdWV0b290aE9mZjooKT0+encsQmx1ZXRvb3RoU2VhcmNoaW5nOigpPT5fdyxCb2xkOigpPT5UdyxCb2x0OigpPT4kdyxCb21iOigpPT5MdyxCb25lOigpPT5EdyxCb29rOigpPT5hTSxCb29rQTooKT0+QXcsQm9va0FsZXJ0OigpPT5FdyxCb29rQXVkaW86KCk9PlB3LEJvb2tDaGVjazooKT0+SXcsQm9va0NvcHk6KCk9Pk53LEJvb2tEYXNoZWQ6KCk9PkFkLEJvb2tEb3duOigpPT5SdyxCb29rSGVhZHBob25lczooKT0+T3csQm9va0hlYXJ0OigpPT5GdyxCb29rSW1hZ2U6KCk9PkJ3LEJvb2tLZXk6KCk9Pkh3LEJvb2tMb2NrOigpPT5WdyxCb29rTWFya2VkOigpPT5xdyxCb29rTWludXM6KCk9Pmp3LEJvb2tPcGVuOigpPT5ZdyxCb29rT3BlbkNoZWNrOigpPT5VdyxCb29rT3BlblRleHQ6KCk9Pld3LEJvb2tQbHVzOigpPT5LdyxCb29rU2VhcmNoOigpPT5HdyxCb29rVGVtcGxhdGU6KCk9PkFkLEJvb2tUZXh0OigpPT5adyxCb29rVHlwZTooKT0+SncsQm9va1VwOigpPT5RdyxCb29rVXAyOigpPT5YdyxCb29rVXNlcjooKT0+ZU0sQm9va1g6KCk9PnRNLEJvb2ttYXJrOigpPT5sTSxCb29rbWFya0NoZWNrOigpPT5yTSxCb29rbWFya01pbnVzOigpPT5zTSxCb29rbWFya09mZjooKT0+aU0sQm9va21hcmtQbHVzOigpPT5vTSxCb29rbWFya1g6KCk9Pm5NLEJvb21Cb3g6KCk9PmNNLEJvdDooKT0+cE0sQm90TWVzc2FnZVNxdWFyZTooKT0+ZE0sQm90T2ZmOigpPT51TSxCb3R0bGVXaW5lOigpPT5oTSxCb3dBcnJvdzooKT0+Zk0sQm94OigpPT5tTSxCb3hTZWxlY3Q6KCk9PkxwLEJveGVzOigpPT5nTSxCcmFjZXM6KCk9PkVkLEJyYWNrZXRzOigpPT5iTSxCcmFpbjooKT0+d00sQnJhaW5DaXJjdWl0OigpPT52TSxCcmFpbkNvZzooKT0+eE0sQnJpY2tXYWxsOigpPT5rTSxCcmlja1dhbGxGaXJlOigpPT55TSxCcmlja1dhbGxTaGllbGQ6KCk9Pk1NLEJyaWVmY2FzZTooKT0+X00sQnJpZWZjYXNlQnVzaW5lc3M6KCk9PlNNLEJyaWVmY2FzZUNvbnZleW9yQmVsdDooKT0+ek0sQnJpZWZjYXNlTWVkaWNhbDooKT0+Q00sQnJpbmdUb0Zyb250OigpPT5UTSxCcnVzaDooKT0+JE0sQnJ1c2hDbGVhbmluZzooKT0+TE0sQnViYmxlczooKT0+QU0sQnVnOigpPT5QTSxCdWdPZmY6KCk9PkRNLEJ1Z1BsYXk6KCk9PkVNLEJ1aWxkaW5nOigpPT5JTSxCdWlsZGluZzI6KCk9Pk5NLEJ1czooKT0+T00sQnVzRnJvbnQ6KCk9PlJNLENhYmxlOigpPT5GTSxDYWJsZUNhcjooKT0+Qk0sQ2FrZTooKT0+cU0sQ2FrZVNsaWNlOigpPT5ITSxDYWxjdWxhdG9yOigpPT5qTSxDYWxlbmRhcjooKT0+ZGssQ2FsZW5kYXIxOigpPT5WTSxDYWxlbmRhckFycm93RG93bjooKT0+VU0sQ2FsZW5kYXJBcnJvd1VwOigpPT5XTSxDYWxlbmRhckNoZWNrOigpPT5ZTSxDYWxlbmRhckNoZWNrMjooKT0+R00sQ2FsZW5kYXJDbG9jazooKT0+S00sQ2FsZW5kYXJDb2c6KCk9PlpNLENhbGVuZGFyRGF5czooKT0+WE0sQ2FsZW5kYXJGb2xkOigpPT5RTSxDYWxlbmRhckhlYXJ0OigpPT5layxDYWxlbmRhck1pbnVzOigpPT5hayxDYWxlbmRhck1pbnVzMjooKT0+Sk0sQ2FsZW5kYXJPZmY6KCk9PnRrLENhbGVuZGFyUGx1czooKT0+aWssQ2FsZW5kYXJQbHVzMjooKT0+cmssQ2FsZW5kYXJSYW5nZTooKT0+c2ssQ2FsZW5kYXJTZWFyY2g6KCk9Pm9rLENhbGVuZGFyU3luYzooKT0+bmssQ2FsZW5kYXJYOigpPT5jayxDYWxlbmRhclgyOigpPT5sayxDYWxlbmRhcnM6KCk9PnVrLENhbWVyYTooKT0+ZmssQ2FtZXJhT2ZmOigpPT5wayxDYW5kbGVzdGlja0NoYXJ0OigpPT5PZCxDYW5keTooKT0+bWssQ2FuZHlDYW5lOigpPT5oayxDYW5keU9mZjooKT0+Z2ssQ2FubmFiaXM6KCk9PnZrLENhbm5hYmlzT2ZmOigpPT5iayxDYXB0aW9uczooKT0+UGQsQ2FwdGlvbnNPZmY6KCk9PnhrLENhcjooKT0+d2ssQ2FyRnJvbnQ6KCk9PnlrLENhclRheGlGcm9udDooKT0+TWssQ2FyYXZhbjooKT0+a2ssQ2FyZFNpbTooKT0+U2ssQ2Fycm90OigpPT56ayxDYXNlTG93ZXI6KCk9PkNrLENhc2VTZW5zaXRpdmU6KCk9Pl9rLENhc2VVcHBlcjooKT0+VGssQ2Fzc2V0dGVUYXBlOigpPT5MayxDYXN0OigpPT4kayxDYXN0bGU6KCk9PkRrLENhdDooKT0+QWssQ2N0djooKT0+UGssQ2N0dk9mZjooKT0+RWssQ2hhcnRBcmVhOigpPT5JZCxDaGFydEJhcjooKT0+UmQsQ2hhcnRCYXJCaWc6KCk9Pk5kLENoYXJ0QmFyRGVjcmVhc2luZzooKT0+SWssQ2hhcnRCYXJJbmNyZWFzaW5nOigpPT5OayxDaGFydEJhclN0YWNrZWQ6KCk9PlJrLENoYXJ0Q2FuZGxlc3RpY2s6KCk9Pk9kLENoYXJ0Q29sdW1uOigpPT5IZCxDaGFydENvbHVtbkJpZzooKT0+RmQsQ2hhcnRDb2x1bW5EZWNyZWFzaW5nOigpPT5PayxDaGFydENvbHVtbkluY3JlYXNpbmc6KCk9PkJkLENoYXJ0Q29sdW1uU3RhY2tlZDooKT0+RmssQ2hhcnRHYW50dDooKT0+QmssQ2hhcnRMaW5lOigpPT5xZCxDaGFydE5ldHdvcms6KCk9PkhrLENoYXJ0Tm9BeGVzQ29sdW1uOigpPT5qZCxDaGFydE5vQXhlc0NvbHVtbkRlY3JlYXNpbmc6KCk9PnFrLENoYXJ0Tm9BeGVzQ29sdW1uSW5jcmVhc2luZzooKT0+VmQsQ2hhcnROb0F4ZXNDb21iaW5lZDooKT0+VmssQ2hhcnROb0F4ZXNHYW50dDooKT0+VWQsQ2hhcnRQaWU6KCk9PldkLENoYXJ0U2NhdHRlcjooKT0+R2QsQ2hhcnRTcGxpbmU6KCk9PmprLENoZWNrOigpPT5HayxDaGVja0NoZWNrOigpPT5VayxDaGVja0NpcmNsZTooKT0+cjYsQ2hlY2tDaXJjbGUyOigpPT5zNixDaGVja0xpbmU6KCk9PldrLENoZWNrU3F1YXJlOigpPT55cCxDaGVja1NxdWFyZTI6KCk9PndwLENoZWZIYXQ6KCk9PllrLENoZXJyeTooKT0+S2ssQ2hlc3NCaXNob3A6KCk9PlhrLENoZXNzS2luZzooKT0+WmssQ2hlc3NLbmlnaHQ6KCk9PlFrLENoZXNzUGF3bjooKT0+SmssQ2hlc3NRdWVlbjooKT0+YVMsQ2hlc3NSb29rOigpPT5lUyxDaGV2cm9uRG93bjooKT0+dFMsQ2hldnJvbkRvd25DaXJjbGU6KCk9Pm82LENoZXZyb25Eb3duU3F1YXJlOigpPT5NcCxDaGV2cm9uRmlyc3Q6KCk9PnJTLENoZXZyb25MYXN0OigpPT5zUyxDaGV2cm9uTGVmdDooKT0+aVMsQ2hldnJvbkxlZnRDaXJjbGU6KCk9Pmk2LENoZXZyb25MZWZ0U3F1YXJlOigpPT5rcCxDaGV2cm9uUmlnaHQ6KCk9Pm9TLENoZXZyb25SaWdodENpcmNsZTooKT0+bjYsQ2hldnJvblJpZ2h0U3F1YXJlOigpPT5TcCxDaGV2cm9uVXA6KCk9Pm5TLENoZXZyb25VcENpcmNsZTooKT0+bDYsQ2hldnJvblVwU3F1YXJlOigpPT56cCxDaGV2cm9uc0Rvd246KCk9PmNTLENoZXZyb25zRG93blVwOigpPT5sUyxDaGV2cm9uc0xlZnQ6KCk9PnBTLENoZXZyb25zTGVmdFJpZ2h0OigpPT51UyxDaGV2cm9uc0xlZnRSaWdodEVsbGlwc2lzOigpPT5kUyxDaGV2cm9uc1JpZ2h0OigpPT5oUyxDaGV2cm9uc1JpZ2h0TGVmdDooKT0+ZlMsQ2hldnJvbnNVcDooKT0+bVMsQ2hldnJvbnNVcERvd246KCk9PmdTLENodXJjaDooKT0+YlMsQ2lnYXJldHRlOigpPT54UyxDaWdhcmV0dGVPZmY6KCk9PnZTLENpcmNsZTooKT0+UFMsQ2lyY2xlQWxlcnQ6KCk9PllkLENpcmNsZUFycm93RG93bjooKT0+S2QsQ2lyY2xlQXJyb3dMZWZ0OigpPT5aZCxDaXJjbGVBcnJvd091dERvd25MZWZ0OigpPT5YZCxDaXJjbGVBcnJvd091dERvd25SaWdodDooKT0+UWQsQ2lyY2xlQXJyb3dPdXRVcExlZnQ6KCk9PkpkLENpcmNsZUFycm93T3V0VXBSaWdodDooKT0+ZTYsQ2lyY2xlQXJyb3dSaWdodDooKT0+dDYsQ2lyY2xlQXJyb3dVcDooKT0+YTYsQ2lyY2xlQ2hlY2s6KCk9PnM2LENpcmNsZUNoZWNrQmlnOigpPT5yNixDaXJjbGVDaGV2cm9uRG93bjooKT0+bzYsQ2lyY2xlQ2hldnJvbkxlZnQ6KCk9Pmk2LENpcmNsZUNoZXZyb25SaWdodDooKT0+bjYsQ2lyY2xlQ2hldnJvblVwOigpPT5sNixDaXJjbGVEYXNoZWQ6KCk9PnlTLENpcmNsZURpdmlkZTooKT0+YzYsQ2lyY2xlRG9sbGFyU2lnbjooKT0+d1MsQ2lyY2xlRG90OigpPT5TUyxDaXJjbGVEb3REYXNoZWQ6KCk9Pk1TLENpcmNsZUVsbGlwc2lzOigpPT5rUyxDaXJjbGVFcXVhbDooKT0+elMsQ2lyY2xlRmFkaW5nQXJyb3dVcDooKT0+Q1MsQ2lyY2xlRmFkaW5nUGx1czooKT0+X1MsQ2lyY2xlR2F1Z2U6KCk9PmQ2LENpcmNsZUhlbHA6KCk9PnNjLENpcmNsZU1pbnVzOigpPT51NixDaXJjbGVPZmY6KCk9PlRTLENpcmNsZVBhcmtpbmc6KCk9PmY2LENpcmNsZVBhcmtpbmdPZmY6KCk9PnA2LENpcmNsZVBhdXNlOigpPT5oNixDaXJjbGVQZXJjZW50OigpPT5tNixDaXJjbGVQaWxlOigpPT5MUyxDaXJjbGVQbGF5OigpPT5nNixDaXJjbGVQbHVzOigpPT5iNixDaXJjbGVQb3VuZFN0ZXJsaW5nOigpPT4kUyxDaXJjbGVQb3dlcjooKT0+djYsQ2lyY2xlUXVlc3Rpb25NYXJrOigpPT5zYyxDaXJjbGVTbGFzaDooKT0+RFMsQ2lyY2xlU2xhc2gyOigpPT54NixDaXJjbGVTbGFzaGVkOigpPT54NixDaXJjbGVTbWFsbDooKT0+QVMsQ2lyY2xlU3RhcjooKT0+RVMsQ2lyY2xlU3RvcDooKT0+eTYsQ2lyY2xlVXNlcjooKT0+TTYsQ2lyY2xlVXNlclJvdW5kOigpPT53NixDaXJjbGVYOigpPT5rNixDaXJjdWl0Qm9hcmQ6KCk9PklTLENpdHJ1czooKT0+TlMsQ2xhcHBlcmJvYXJkOigpPT5SUyxDbGlwYm9hcmQ6KCk9PllTLENsaXBib2FyZENoZWNrOigpPT5PUyxDbGlwYm9hcmRDbG9jazooKT0+RlMsQ2xpcGJvYXJkQ29weTooKT0+QlMsQ2xpcGJvYXJkRWRpdDooKT0+ejYsQ2xpcGJvYXJkTGlzdDooKT0+SFMsQ2xpcGJvYXJkTWludXM6KCk9PnFTLENsaXBib2FyZFBhc3RlOigpPT5WUyxDbGlwYm9hcmRQZW46KCk9Pno2LENsaXBib2FyZFBlbkxpbmU6KCk9PlM2LENsaXBib2FyZFBsdXM6KCk9PmpTLENsaXBib2FyZFNpZ25hdHVyZTooKT0+UzYsQ2xpcGJvYXJkVHlwZTooKT0+VVMsQ2xpcGJvYXJkWDooKT0+V1MsQ2xvY2s6KCk9PnB6LENsb2NrMTooKT0+R1MsQ2xvY2sxMDooKT0+S1MsQ2xvY2sxMTooKT0+WlMsQ2xvY2sxMjooKT0+WFMsQ2xvY2syOigpPT5RUyxDbG9jazM6KCk9PkpTLENsb2NrNDooKT0+ZXosQ2xvY2s1OigpPT50eixDbG9jazY6KCk9PmF6LENsb2NrNzooKT0+c3osQ2xvY2s4OigpPT5yeixDbG9jazk6KCk9Pml6LENsb2NrQWxlcnQ6KCk9Pm96LENsb2NrQXJyb3dEb3duOigpPT5ueixDbG9ja0Fycm93VXA6KCk9Pmx6LENsb2NrQ2hlY2s6KCk9PmN6LENsb2NrRmFkaW5nOigpPT5keixDbG9ja1BsdXM6KCk9PnV6LENsb3NlZENhcHRpb246KCk9PmZ6LENsb3VkOigpPT5EeixDbG91ZEFsZXJ0OigpPT5oeixDbG91ZEJhY2t1cDooKT0+bXosQ2xvdWRDaGVjazooKT0+Z3osQ2xvdWRDb2c6KCk9PmJ6LENsb3VkRG93bmxvYWQ6KCk9PkM2LENsb3VkRHJpenpsZTooKT0+dnosQ2xvdWRGb2c6KCk9Pnl6LENsb3VkSGFpbDooKT0+eHosQ2xvdWRMaWdodG5pbmc6KCk9Pnd6LENsb3VkTW9vbjooKT0+a3osQ2xvdWRNb29uUmFpbjooKT0+TXosQ2xvdWRPZmY6KCk9Pnp6LENsb3VkUmFpbjooKT0+Q3osQ2xvdWRSYWluV2luZDooKT0+U3osQ2xvdWRTbm93OigpPT5feixDbG91ZFN1bjooKT0+JHosQ2xvdWRTdW5SYWluOigpPT5UeixDbG91ZFN5bmM6KCk9Pkx6LENsb3VkVXBsb2FkOigpPT5fNixDbG91ZHk6KCk9PkF6LENsb3ZlcjooKT0+RXosQ2x1YjooKT0+UHosQ29kZTooKT0+SXosQ29kZTI6KCk9PlQ2LENvZGVTcXVhcmU6KCk9PkNwLENvZGVYbWw6KCk9PlQ2LENvZmZlZTooKT0+TnosQ29nOigpPT5SeixDb2luczooKT0+T3osQ29sdW1uczooKT0+TDYsQ29sdW1uczI6KCk9Pkw2LENvbHVtbnMzOigpPT4kNixDb2x1bW5zM0NvZzooKT0+aWMsQ29sdW1uczQ6KCk9PkZ6LENvbHVtbnNTZXR0aW5nczooKT0+aWMsQ29tYmluZTooKT0+QnosQ29tbWFuZDooKT0+SHosQ29tcGFzczooKT0+cXosQ29tcG9uZW50OigpPT5WeixDb21wdXRlcjooKT0+anosQ29uY2llcmdlQmVsbDooKT0+VXosQ29uZTooKT0+V3osQ29uc3RydWN0aW9uOigpPT5HeixDb250YWN0OigpPT5ZeixDb250YWN0MjooKT0+RDYsQ29udGFjdFJvdW5kOigpPT5ENixDb250YWluZXI6KCk9Pkt6LENvbnRyYXN0OigpPT5aeixDb29raWU6KCk9Plh6LENvb2tpbmdQb3Q6KCk9PlF6LENvcHk6KCk9PnNDLENvcHlDaGVjazooKT0+SnosQ29weU1pbnVzOigpPT5lQyxDb3B5UGx1czooKT0+dEMsQ29weVNsYXNoOigpPT5hQyxDb3B5WDooKT0+ckMsQ29weWxlZnQ6KCk9PmlDLENvcHlyaWdodDooKT0+b0MsQ29ybmVyRG93bkxlZnQ6KCk9Pm5DLENvcm5lckRvd25SaWdodDooKT0+bEMsQ29ybmVyTGVmdERvd246KCk9PmNDLENvcm5lckxlZnRVcDooKT0+ZEMsQ29ybmVyUmlnaHREb3duOigpPT51QyxDb3JuZXJSaWdodFVwOigpPT5wQyxDb3JuZXJVcExlZnQ6KCk9PmZDLENvcm5lclVwUmlnaHQ6KCk9PmhDLENwdTooKT0+bUMsQ3JlYXRpdmVDb21tb25zOigpPT5nQyxDcmVkaXRDYXJkOigpPT5iQyxDcm9pc3NhbnQ6KCk9PnZDLENyb3A6KCk9PnhDLENyb3NzOigpPT55QyxDcm9zc2hhaXI6KCk9PndDLENyb3duOigpPT5NQyxDdWJvaWQ6KCk9PmtDLEN1cFNvZGE6KCk9PlNDLEN1cmx5QnJhY2VzOigpPT5FZCxDdXJyZW5jeTooKT0+ekMsQ3lsaW5kZXI6KCk9PkNDLERhbTooKT0+X0MsRGF0YWJhc2U6KCk9PkRDLERhdGFiYXNlQmFja3VwOigpPT5UQyxEYXRhYmFzZVNlYXJjaDooKT0+JEMsRGF0YWJhc2VaYXA6KCk9PkxDLERlY2ltYWxzQXJyb3dMZWZ0OigpPT5BQyxEZWNpbWFsc0Fycm93UmlnaHQ6KCk9PkVDLERlbGV0ZTooKT0+UEMsRGVzc2VydDooKT0+SUMsRGlhbWV0ZXI6KCk9Pk5DLERpYW1vbmQ6KCk9PkZDLERpYW1vbmRNaW51czooKT0+UkMsRGlhbW9uZFBlcmNlbnQ6KCk9PkE2LERpYW1vbmRQbHVzOigpPT5PQyxEaWNlMTooKT0+QkMsRGljZTI6KCk9PkhDLERpY2UzOigpPT5xQyxEaWNlNDooKT0+VkMsRGljZTU6KCk9PmpDLERpY2U2OigpPT5VQyxEaWNlczooKT0+R0MsRGlmZjooKT0+V0MsRGlzYzooKT0+UUMsRGlzYzI6KCk9PllDLERpc2MzOigpPT5LQyxEaXNjQWxidW06KCk9PlpDLERpdmlkZTooKT0+WEMsRGl2aWRlQ2lyY2xlOigpPT5jNixEaXZpZGVTcXVhcmU6KCk9PkRwLERuYTooKT0+ZV8sRG5hT2ZmOigpPT5KQyxEb2NrOigpPT50XyxEb2c6KCk9PnJfLERvbGxhclNpZ246KCk9PmFfLERvbnV0OigpPT5zXyxEb29yQ2xvc2VkOigpPT5vXyxEb29yQ2xvc2VkTG9ja2VkOigpPT5pXyxEb29yT3BlbjooKT0+bl8sRG90OigpPT5sXyxEb3RTcXVhcmU6KCk9PiRwLERvd25sb2FkOigpPT5jXyxEb3dubG9hZENsb3VkOigpPT5DNixEcmFmdGluZ0NvbXBhc3M6KCk9PmRfLERyYW1hOigpPT5wXyxEcmlsbDooKT0+dV8sRHJvbmU6KCk9PmZfLERyb3BsZXQ6KCk9PmhfLERyb3BsZXRPZmY6KCk9Pm1fLERyb3BsZXRzOigpPT5nXyxEcnVtOigpPT5iXyxEcnVtc3RpY2s6KCk9PnZfLER1bWJiZWxsOigpPT54XyxFYXI6KCk9PndfLEVhck9mZjooKT0+eV8sRWFydGg6KCk9PkU2LEVhcnRoTG9jazooKT0+TV8sRWNsaXBzZTooKT0+a18sRWRpdDooKT0+QzEsRWRpdDI6KCk9PlV1LEVkaXQzOigpPT5qdSxFZ2c6KCk9PnpfLEVnZ0ZyaWVkOigpPT5TXyxFZ2dPZmY6KCk9PkNfLEVsbGlwc2U6KCk9Pl9fLEVsbGlwc2lzOigpPT5JNixFbGxpcHNpc1ZlcnRpY2FsOigpPT5QNixFcXVhbDooKT0+JF8sRXF1YWxBcHByb3hpbWF0ZWx5OigpPT5UXyxFcXVhbE5vdDooKT0+TF8sRXF1YWxTcXVhcmU6KCk9PkFwLEVyYXNlcjooKT0+RF8sRXRoZXJuZXRQb3J0OigpPT5BXyxFdXJvOigpPT5FXyxFdkNoYXJnZXI6KCk9PlBfLEV4cGFuZDooKT0+SV8sRXh0ZXJuYWxMaW5rOigpPT5OXyxFeWU6KCk9PkZfLEV5ZUNsb3NlZDooKT0+Ul8sRXllT2ZmOigpPT5PXyxGYWN0b3J5OigpPT5CXyxGYW46KCk9PkhfLEZhc3RGb3J3YXJkOigpPT5xXyxGZWF0aGVyOigpPT5WXyxGZW5jZTooKT0+VV8sRmVycmlzV2hlZWw6KCk9PmpfLEZpbGU6KCk9PnlULEZpbGVBcmNoaXZlOigpPT5XXyxGaWxlQXVkaW86KCk9Pm9jLEZpbGVBdWRpbzI6KCk9Pm9jLEZpbGVBeGlzM0Q6KCk9Pk42LEZpbGVBeGlzM2Q6KCk9Pk42LEZpbGVCYWRnZTooKT0+UjYsRmlsZUJhZGdlMjooKT0+UjYsRmlsZUJhckNoYXJ0OigpPT5GNixGaWxlQmFyQ2hhcnQyOigpPT5INixGaWxlQm94OigpPT5HXyxGaWxlQnJhY2VzOigpPT5PNixGaWxlQnJhY2VzQ29ybmVyOigpPT5CNixGaWxlQ2hhcnRDb2x1bW46KCk9Pkg2LEZpbGVDaGFydENvbHVtbkluY3JlYXNpbmc6KCk9PkY2LEZpbGVDaGFydExpbmU6KCk9PnE2LEZpbGVDaGFydFBpZTooKT0+VjYsRmlsZUNoZWNrOigpPT5ZXyxGaWxlQ2hlY2syOigpPT5qNixGaWxlQ2hlY2tDb3JuZXI6KCk9Pmo2LEZpbGVDbG9jazooKT0+S18sRmlsZUNvZGU6KCk9PlpfLEZpbGVDb2RlMjooKT0+VTYsRmlsZUNvZGVDb3JuZXI6KCk9PlU2LEZpbGVDb2c6KCk9Plc2LEZpbGVDb2cyOigpPT5XNixGaWxlRGlmZjooKT0+WF8sRmlsZURpZ2l0OigpPT5RXyxGaWxlRG93bjooKT0+Sl8sRmlsZUVkaXQ6KCk9Pko2LEZpbGVFeGNsYW1hdGlvblBvaW50OigpPT5HNixGaWxlSGVhZHBob25lOigpPT5vYyxGaWxlSGVhcnQ6KCk9PmVULEZpbGVJbWFnZTooKT0+dFQsRmlsZUlucHV0OigpPT5hVCxGaWxlSnNvbjooKT0+TzYsRmlsZUpzb24yOigpPT5CNixGaWxlS2V5OigpPT5ZNixGaWxlS2V5MjooKT0+WTYsRmlsZUxpbmVDaGFydDooKT0+cTYsRmlsZUxvY2s6KCk9Pks2LEZpbGVMb2NrMjooKT0+SzYsRmlsZU1pbnVzOigpPT5yVCxGaWxlTWludXMyOigpPT5aNixGaWxlTWludXNDb3JuZXI6KCk9Plo2LEZpbGVNdXNpYzooKT0+c1QsRmlsZU91dHB1dDooKT0+aVQsRmlsZVBlbjooKT0+SjYsRmlsZVBlbkxpbmU6KCk9Plg2LEZpbGVQaWVDaGFydDooKT0+VjYsRmlsZVBsYXk6KCk9PlE2LEZpbGVQbHVzOigpPT5vVCxGaWxlUGx1czI6KCk9PmV1LEZpbGVQbHVzQ29ybmVyOigpPT5ldSxGaWxlUXVlc3Rpb246KCk9PnR1LEZpbGVRdWVzdGlvbk1hcms6KCk9PnR1LEZpbGVTY2FuOigpPT5uVCxGaWxlU2VhcmNoOigpPT5sVCxGaWxlU2VhcmNoMjooKT0+YXUsRmlsZVNlYXJjaENvcm5lcjooKT0+YXUsRmlsZVNpZ25hbDooKT0+cnUsRmlsZVNpZ25hdHVyZTooKT0+WDYsRmlsZVNsaWRlcnM6KCk9PmNULEZpbGVTcHJlYWRzaGVldDooKT0+ZFQsRmlsZVN0YWNrOigpPT5wVCxGaWxlU3ltbGluazooKT0+dVQsRmlsZVRlcm1pbmFsOigpPT5mVCxGaWxlVGV4dDooKT0+aFQsRmlsZVR5cGU6KCk9Pm1ULEZpbGVUeXBlMjooKT0+c3UsRmlsZVR5cGVDb3JuZXI6KCk9PnN1LEZpbGVVcDooKT0+Z1QsRmlsZVVzZXI6KCk9PmJULEZpbGVWaWRlbzooKT0+UTYsRmlsZVZpZGVvMjooKT0+aXUsRmlsZVZpZGVvQ2FtZXJhOigpPT5pdSxGaWxlVm9sdW1lOigpPT52VCxGaWxlVm9sdW1lMjooKT0+cnUsRmlsZVdhcm5pbmc6KCk9Pkc2LEZpbGVYOigpPT54VCxGaWxlWDI6KCk9Pm91LEZpbGVYQ29ybmVyOigpPT5vdSxGaWxlczooKT0+TVQsRmlsbTooKT0+d1QsRmlsdGVyOigpPT51dSxGaWx0ZXJYOigpPT5kdSxGaW5nZXJwcmludDooKT0+bnUsRmluZ2VycHJpbnRQYXR0ZXJuOigpPT5udSxGaXJlRXh0aW5ndWlzaGVyOigpPT5rVCxGaXNoOigpPT5DVCxGaXNoT2ZmOigpPT56VCxGaXNoU3ltYm9sOigpPT5TVCxGaXNoaW5nSG9vazooKT0+X1QsRmlzaGluZ1JvZDooKT0+TFQsRmxhZzooKT0+QVQsRmxhZ09mZjooKT0+VFQsRmxhZ1RyaWFuZ2xlTGVmdDooKT0+JFQsRmxhZ1RyaWFuZ2xlUmlnaHQ6KCk9PkRULEZsYW1lOigpPT5FVCxGbGFtZUtpbmRsaW5nOigpPT5JVCxGbGFzaGxpZ2h0OigpPT5OVCxGbGFzaGxpZ2h0T2ZmOigpPT5QVCxGbGFza0NvbmljYWw6KCk9Pk9ULEZsYXNrQ29uaWNhbE9mZjooKT0+UlQsRmxhc2tSb3VuZDooKT0+RlQsRmxpcEhvcml6b250YWw6KCk9PnZwLEZsaXBIb3Jpem9udGFsMjooKT0+QlQsRmxpcFZlcnRpY2FsOigpPT54cCxGbGlwVmVydGljYWwyOigpPT5IVCxGbG93ZXI6KCk9PlVULEZsb3dlcjI6KCk9PnFULEZvY3VzOigpPT5WVCxGb2xkSG9yaXpvbnRhbDooKT0+alQsRm9sZFZlcnRpY2FsOigpPT5ZVCxGb2xkZXI6KCk9PndMLEZvbGRlckFyY2hpdmU6KCk9PldULEZvbGRlckJvb2ttYXJrOigpPT5HVCxGb2xkZXJDaGVjazooKT0+S1QsRm9sZGVyQ2xvY2s6KCk9PlFULEZvbGRlckNsb3NlZDooKT0+WlQsRm9sZGVyQ29kZTooKT0+WFQsRm9sZGVyQ29nOigpPT5sdSxGb2xkZXJDb2cyOigpPT5sdSxGb2xkZXJEb3Q6KCk9PkpULEZvbGRlckRvd246KCk9PmVMLEZvbGRlckVkaXQ6KCk9PmN1LEZvbGRlckdpdDooKT0+YUwsRm9sZGVyR2l0MjooKT0+dEwsRm9sZGVySGVhcnQ6KCk9PnJMLEZvbGRlcklucHV0OigpPT5vTCxGb2xkZXJLYW5iYW46KCk9PnNMLEZvbGRlcktleTooKT0+aUwsRm9sZGVyTG9jazooKT0+bkwsRm9sZGVyTWludXM6KCk9PmRMLEZvbGRlck9wZW46KCk9PmNMLEZvbGRlck9wZW5Eb3Q6KCk9PmxMLEZvbGRlck91dHB1dDooKT0+dUwsRm9sZGVyUGVuOigpPT5jdSxGb2xkZXJQbHVzOigpPT5wTCxGb2xkZXJSb290OigpPT5mTCxGb2xkZXJTZWFyY2g6KCk9Pm1MLEZvbGRlclNlYXJjaDI6KCk9PmhMLEZvbGRlclN5bWxpbms6KCk9PmdMLEZvbGRlclN5bmM6KCk9PnZMLEZvbGRlclRyZWU6KCk9PmJMLEZvbGRlclVwOigpPT54TCxGb2xkZXJYOigpPT55TCxGb2xkZXJzOigpPT5NTCxGb290cHJpbnRzOigpPT5rTCxGb3JrS25pZmU6KCk9PmtmLEZvcmtLbmlmZUNyb3NzZWQ6KCk9Pk1mLEZvcmtsaWZ0OigpPT5TTCxGb3JtOigpPT56TCxGb3JtSW5wdXQ6KCk9Pkd1LEZvcndhcmQ6KCk9PkNMLEZyYW1lOigpPT5fTCxGcm93bjooKT0+VEwsRnVlbDooKT0+TEwsRnVsbHNjcmVlbjooKT0+JEwsRnVuY3Rpb25TcXVhcmU6KCk9PkVwLEZ1bm5lbDooKT0+dXUsRnVubmVsUGx1czooKT0+REwsRnVubmVsWDooKT0+ZHUsR2FsbGVyeUhvcml6b250YWw6KCk9PkVMLEdhbGxlcnlIb3Jpem9udGFsRW5kOigpPT5BTCxHYWxsZXJ5VGh1bWJuYWlsczooKT0+UEwsR2FsbGVyeVZlcnRpY2FsOigpPT5OTCxHYWxsZXJ5VmVydGljYWxFbmQ6KCk9PklMLEdhbWVwYWQ6KCk9PkZMLEdhbWVwYWQyOigpPT5STCxHYW1lcGFkRGlyZWN0aW9uYWw6KCk9Pk9MLEdhbnR0Q2hhcnQ6KCk9PlVkLEdhbnR0Q2hhcnRTcXVhcmU6KCk9PmRjLEdhdWdlOigpPT5CTCxHYXVnZUNpcmNsZTooKT0+ZDYsR2F2ZWw6KCk9PkhMLEdlbTooKT0+cUwsR2VvcmdpYW5MYXJpOigpPT5qTCxHaG9zdDooKT0+VkwsR2lmdDooKT0+V0wsR2l0QnJhbmNoOigpPT5ZTCxHaXRCcmFuY2hNaW51czooKT0+VUwsR2l0QnJhbmNoUGx1czooKT0+R0wsR2l0Q29tbWl0OigpPT5wdSxHaXRDb21taXRIb3Jpem9udGFsOigpPT5wdSxHaXRDb21taXRWZXJ0aWNhbDooKT0+S0wsR2l0Q29tcGFyZTooKT0+WEwsR2l0Q29tcGFyZUFycm93czooKT0+WkwsR2l0Rm9yazooKT0+UUwsR2l0R3JhcGg6KCk9PkpMLEdpdE1lcmdlOigpPT5lJCxHaXRNZXJnZUNvbmZsaWN0OigpPT50JCxHaXRQdWxsUmVxdWVzdDooKT0+biQsR2l0UHVsbFJlcXVlc3RBcnJvdzooKT0+YSQsR2l0UHVsbFJlcXVlc3RDbG9zZWQ6KCk9PnIkLEdpdFB1bGxSZXF1ZXN0Q3JlYXRlOigpPT5pJCxHaXRQdWxsUmVxdWVzdENyZWF0ZUFycm93OigpPT5zJCxHaXRQdWxsUmVxdWVzdERyYWZ0OigpPT5vJCxHbGFzc1dhdGVyOigpPT5sJCxHbGFzc2VzOigpPT5jJCxHbG9iZTooKT0+ZiQsR2xvYmUyOigpPT5FNixHbG9iZUxvY2s6KCk9PmQkLEdsb2JlT2ZmOigpPT5wJCxHbG9iZVg6KCk9PnUkLEdvYWw6KCk9PmgkLEdwdTooKT0+bSQsR3JhYjooKT0+YnUsR3JhZHVhdGlvbkNhcDooKT0+ZyQsR3JhcGU6KCk9PmIkLEdyaWQ6KCk9Pm5jLEdyaWQyWDI6KCk9Pmd1LEdyaWQyWDJDaGVjazooKT0+ZnUsR3JpZDJYMlBsdXM6KCk9Pmh1LEdyaWQyWDJYOigpPT5tdSxHcmlkMngyOigpPT5ndSxHcmlkMngyQ2hlY2s6KCk9PmZ1LEdyaWQyeDJQbHVzOigpPT5odSxHcmlkMngyWDooKT0+bXUsR3JpZDNYMzooKT0+bmMsR3JpZDN4MjooKT0+diQsR3JpZDN4MzooKT0+bmMsR3JpcDooKT0+dyQsR3JpcEhvcml6b250YWw6KCk9PngkLEdyaXBWZXJ0aWNhbDooKT0+eSQsR3JvdXA6KCk9Pk0kLEd1aXRhcjooKT0+ayQsSGFtOigpPT5TJCxIYW1idXJnZXI6KCk9PnokLEhhbW1lcjooKT0+QyQsSGFuZDooKT0+QSQsSGFuZENvaW5zOigpPT5fJCxIYW5kRmlzdDooKT0+VCQsSGFuZEdyYWI6KCk9PmJ1LEhhbmRIZWFydDooKT0+TCQsSGFuZEhlbHBpbmc6KCk9PnZ1LEhhbmRNZXRhbDooKT0+JCQsSGFuZFBsYXR0ZXI6KCk9PkQkLEhhbmRiYWc6KCk9PkUkLEhhbmRzaGFrZTooKT0+UCQsSGFyZERyaXZlOigpPT5PJCxIYXJkRHJpdmVEb3dubG9hZDooKT0+SSQsSGFyZERyaXZlVXBsb2FkOigpPT5OJCxIYXJkSGF0OigpPT5SJCxIYXNoOigpPT5GJCxIYXRHbGFzc2VzOigpPT5CJCxIYXplOigpPT5IJCxIZDooKT0+cSQsSGRtaVBvcnQ6KCk9PlYkLEhlYWRpbmc6KCk9PlokLEhlYWRpbmcxOigpPT5qJCxIZWFkaW5nMjooKT0+VSQsSGVhZGluZzM6KCk9PlckLEhlYWRpbmc0OigpPT5HJCxIZWFkaW5nNTooKT0+WSQsSGVhZGluZzY6KCk9PkskLEhlYWRwaG9uZU9mZjooKT0+WCQsSGVhZHBob25lczooKT0+SiQsSGVhZHNldDooKT0+USQsSGVhcnQ6KCk9Pm5ELEhlYXJ0Q3JhY2s6KCk9PmVELEhlYXJ0SGFuZHNoYWtlOigpPT50RCxIZWFydE1pbnVzOigpPT5hRCxIZWFydE9mZjooKT0+ckQsSGVhcnRQbHVzOigpPT5zRCxIZWFydFB1bHNlOigpPT5pRCxIZWFydFg6KCk9Pm9ELEhlYXRlcjooKT0+bEQsSGVsaWNvcHRlcjooKT0+Y0QsSGVscENpcmNsZTooKT0+c2MsSGVscGluZ0hhbmQ6KCk9PnZ1LEhleGFnb246KCk9PmRELEhpZ2hsaWdodGVyOigpPT51RCxIaXN0b3J5OigpPT5wRCxIb21lOigpPT54dSxIb3A6KCk9PmZELEhvcE9mZjooKT0+aEQsSG9zcGl0YWw6KCk9Pm1ELEhvdGVsOigpPT5nRCxIb3VyZ2xhc3M6KCk9PmJELEhvdXNlOigpPT54dSxIb3VzZUhlYXJ0OigpPT52RCxIb3VzZVBsdWc6KCk9PnhELEhvdXNlUGx1czooKT0+d0QsSG91c2VXaWZpOigpPT55RCxJY2VDcmVhbTooKT0+d3UsSWNlQ3JlYW0yOigpPT55dSxJY2VDcmVhbUJvd2w6KCk9Pnl1LEljZUNyZWFtQ29uZTooKT0+d3UsSWRDYXJkOigpPT5rRCxJZENhcmRMYW55YXJkOigpPT5NRCxJbWFnZTooKT0+REQsSW1hZ2VEb3duOigpPT5TRCxJbWFnZU1pbnVzOigpPT56RCxJbWFnZU9mZjooKT0+Q0QsSW1hZ2VQbGF5OigpPT5fRCxJbWFnZVBsdXM6KCk9PlRELEltYWdlVXA6KCk9PkxELEltYWdlVXBzY2FsZTooKT0+JEQsSW1hZ2VzOigpPT5BRCxJbXBvcnQ6KCk9PkVELEluYm94OigpPT5QRCxJbmRlbnQ6KCk9PmNjLEluZGVudERlY3JlYXNlOigpPT5sYyxJbmRlbnRJbmNyZWFzZTooKT0+Y2MsSW5kaWFuUnVwZWU6KCk9PklELEluZmluaXR5OigpPT5ORCxJbmZvOigpPT5SRCxJbnNwZWN0OigpPT5GcCxJbnNwZWN0aW9uUGFuZWw6KCk9Pk9ELEl0YWxpYzooKT0+RkQsSXRlcmF0aW9uQ2N3OigpPT5CRCxJdGVyYXRpb25DdzooKT0+SEQsSmFwYW5lc2VZZW46KCk9PnFELEpveXN0aWNrOigpPT5WRCxLYW5iYW46KCk9PmpELEthbmJhblNxdWFyZTooKT0+TnAsS2FuYmFuU3F1YXJlRGFzaGVkOigpPT5fcCxLYXlhazooKT0+VUQsS2V5OigpPT5ZRCxLZXlSb3VuZDooKT0+R0QsS2V5U3F1YXJlOigpPT5XRCxLZXlib2FyZDooKT0+WEQsS2V5Ym9hcmRNdXNpYzooKT0+S0QsS2V5Ym9hcmRPZmY6KCk9PlpELExhbXA6KCk9PnJBLExhbXBDZWlsaW5nOigpPT5RRCxMYW1wRGVzazooKT0+SkQsTGFtcEZsb29yOigpPT5lQSxMYW1wV2FsbERvd246KCk9PnRBLExhbXBXYWxsVXA6KCk9PmFBLExhbmRQbG90OigpPT5zQSxMYW5kbWFyazooKT0+aUEsTGFuZ3VhZ2VzOigpPT5vQSxMYXB0b3A6KCk9PmxBLExhcHRvcDI6KCk9Pk11LExhcHRvcE1pbmltYWw6KCk9Pk11LExhcHRvcE1pbmltYWxDaGVjazooKT0+bkEsTGFzc286KCk9PnVBLExhc3NvU2VsZWN0OigpPT5jQSxMYXVnaDooKT0+ZEEsTGF5ZXJzOigpPT5rdSxMYXllcnMyOigpPT5wQSxMYXllcnMzOigpPT5rdSxMYXllcnNNaW51czooKT0+ZkEsTGF5ZXJzUGx1czooKT0+aEEsTGF5b3V0OigpPT5WdSxMYXlvdXREYXNoYm9hcmQ6KCk9Pm1BLExheW91dEdyaWQ6KCk9PmdBLExheW91dExpc3Q6KCk9PmJBLExheW91dFBhbmVsTGVmdDooKT0+dkEsTGF5b3V0UGFuZWxUb3A6KCk9PnlBLExheW91dFRlbXBsYXRlOigpPT54QSxMZWFmOigpPT53QSxMZWFmeUdyZWVuOigpPT5NQSxMZWN0ZXJuOigpPT5rQSxMZW5zQ29uY2F2ZTooKT0+U0EsTGVuc0NvbnZleDooKT0+ekEsTGV0dGVyVGV4dDooKT0+bGYsTGlicmFyeTooKT0+X0EsTGlicmFyeUJpZzooKT0+Q0EsTGlicmFyeVNxdWFyZTooKT0+UHAsTGlmZUJ1b3k6KCk9PlRBLExpZ2F0dXJlOigpPT5MQSxMaWdodGJ1bGI6KCk9PiRBLExpZ2h0YnVsYk9mZjooKT0+REEsTGluZUNoYXJ0OigpPT5xZCxMaW5lRG90UmlnaHRIb3Jpem9udGFsOigpPT5BQSxMaW5lU3F1aWdnbGU6KCk9PlBBLExpbmVTdHlsZTooKT0+RUEsTGluazooKT0+UkEsTGluazI6KCk9Pk5BLExpbmsyT2ZmOigpPT5JQSxMaXN0OigpPT5hRSxMaXN0Q2hlY2s6KCk9Pk9BLExpc3RDaGVja3M6KCk9PkZBLExpc3RDaGV2cm9uc0Rvd25VcDooKT0+QkEsTGlzdENoZXZyb25zVXBEb3duOigpPT5IQSxMaXN0Q29sbGFwc2U6KCk9PnFBLExpc3RFbmQ6KCk9PlZBLExpc3RGaWx0ZXI6KCk9PlVBLExpc3RGaWx0ZXJQbHVzOigpPT5qQSxMaXN0SW5kZW50RGVjcmVhc2U6KCk9PmxjLExpc3RJbmRlbnRJbmNyZWFzZTooKT0+Y2MsTGlzdE1pbnVzOigpPT5XQSxMaXN0TXVzaWM6KCk9PkdBLExpc3RPcmRlcmVkOigpPT5ZQSxMaXN0UGx1czooKT0+S0EsTGlzdFJlc3RhcnQ6KCk9PlpBLExpc3RTdGFydDooKT0+WEEsTGlzdFRvZG86KCk9PlFBLExpc3RUcmVlOigpPT5KQSxMaXN0VmlkZW86KCk9PmVFLExpc3RYOigpPT50RSxMb2FkZXI6KCk9PnNFLExvYWRlcjI6KCk9PlN1LExvYWRlckNpcmNsZTooKT0+U3UsTG9hZGVyUGlud2hlZWw6KCk9PnJFLExvY2F0ZTooKT0+bkUsTG9jYXRlRml4ZWQ6KCk9PmlFLExvY2F0ZU9mZjooKT0+b0UsTG9jYXRpb25FZGl0OigpPT5UdSxMb2NrOigpPT5jRSxMb2NrS2V5aG9sZTooKT0+bEUsTG9ja0tleWhvbGVPcGVuOigpPT56dSxMb2NrT3BlbjooKT0+Q3UsTG9nSW46KCk9PmRFLExvZ091dDooKT0+dUUsTG9nczooKT0+cEUsTG9sbGlwb3A6KCk9PmZFLEx1Z2dhZ2U6KCk9PmhFLE1TcXVhcmU6KCk9PklwLE1hZ25ldDooKT0+Z0UsTWFpbDooKT0+U0UsTWFpbENoZWNrOigpPT5tRSxNYWlsTWludXM6KCk9PmJFLE1haWxPcGVuOigpPT52RSxNYWlsUGx1czooKT0+eEUsTWFpbFF1ZXN0aW9uOigpPT5fdSxNYWlsUXVlc3Rpb25NYXJrOigpPT5fdSxNYWlsU2VhcmNoOigpPT55RSxNYWlsV2FybmluZzooKT0+d0UsTWFpbFg6KCk9Pk1FLE1haWxib3g6KCk9PmtFLE1haWxzOigpPT56RSxNYXA6KCk9PkhFLE1hcE1pbnVzOigpPT5DRSxNYXBQaW46KCk9Pk9FLE1hcFBpbkNoZWNrOigpPT5URSxNYXBQaW5DaGVja0luc2lkZTooKT0+X0UsTWFwUGluSG91c2U6KCk9PkxFLE1hcFBpbk1pbnVzOigpPT5ERSxNYXBQaW5NaW51c0luc2lkZTooKT0+JEUsTWFwUGluT2ZmOigpPT5BRSxNYXBQaW5QZW46KCk9PlR1LE1hcFBpblBsdXM6KCk9PlBFLE1hcFBpblBsdXNJbnNpZGU6KCk9PkVFLE1hcFBpblNlYXJjaDooKT0+SUUsTWFwUGluWDooKT0+TkUsTWFwUGluWEluc2lkZTooKT0+UkUsTWFwUGlubmVkOigpPT5GRSxNYXBQbHVzOigpPT5CRSxNYXJzOigpPT5WRSxNYXJzU3Ryb2tlOigpPT5xRSxNYXJ0aW5pOigpPT5qRSxNYXhpbWl6ZTooKT0+V0UsTWF4aW1pemUyOigpPT5VRSxNZWRhbDooKT0+R0UsTWVnYXBob25lOigpPT5LRSxNZWdhcGhvbmVPZmY6KCk9PllFLE1laDooKT0+WkUsTWVtb3J5U3RpY2s6KCk9PlhFLE1lbnU6KCk9PlFFLE1lbnVTcXVhcmU6KCk9PlJwLE1lcmdlOigpPT5KRSxNZXNzYWdlQ2lyY2xlOigpPT5kUCxNZXNzYWdlQ2lyY2xlQ2hlY2s6KCk9PmVQLE1lc3NhZ2VDaXJjbGVDb2RlOigpPT50UCxNZXNzYWdlQ2lyY2xlRGFzaGVkOigpPT5hUCxNZXNzYWdlQ2lyY2xlSGVhcnQ6KCk9PnJQLE1lc3NhZ2VDaXJjbGVNb3JlOigpPT5zUCxNZXNzYWdlQ2lyY2xlT2ZmOigpPT5pUCxNZXNzYWdlQ2lyY2xlUGx1czooKT0+b1AsTWVzc2FnZUNpcmNsZVF1ZXN0aW9uOigpPT5MdSxNZXNzYWdlQ2lyY2xlUXVlc3Rpb25NYXJrOigpPT5MdSxNZXNzYWdlQ2lyY2xlUmVwbHk6KCk9Pm5QLE1lc3NhZ2VDaXJjbGVXYXJuaW5nOigpPT5sUCxNZXNzYWdlQ2lyY2xlWDooKT0+Y1AsTWVzc2FnZVNxdWFyZTooKT0+X1AsTWVzc2FnZVNxdWFyZUNoZWNrOigpPT5wUCxNZXNzYWdlU3F1YXJlQ29kZTooKT0+dVAsTWVzc2FnZVNxdWFyZURhc2hlZDooKT0+ZlAsTWVzc2FnZVNxdWFyZURpZmY6KCk9PmhQLE1lc3NhZ2VTcXVhcmVEb3Q6KCk9Pm1QLE1lc3NhZ2VTcXVhcmVIZWFydDooKT0+Z1AsTWVzc2FnZVNxdWFyZUxvY2s6KCk9PmJQLE1lc3NhZ2VTcXVhcmVNb3JlOigpPT52UCxNZXNzYWdlU3F1YXJlT2ZmOigpPT54UCxNZXNzYWdlU3F1YXJlUGx1czooKT0+eVAsTWVzc2FnZVNxdWFyZVF1b3RlOigpPT53UCxNZXNzYWdlU3F1YXJlUmVwbHk6KCk9Pk1QLE1lc3NhZ2VTcXVhcmVTaGFyZTooKT0+a1AsTWVzc2FnZVNxdWFyZVRleHQ6KCk9PlNQLE1lc3NhZ2VTcXVhcmVXYXJuaW5nOigpPT56UCxNZXNzYWdlU3F1YXJlWDooKT0+Q1AsTWVzc2FnZXNTcXVhcmU6KCk9PlRQLE1ldHJvbm9tZTooKT0+TFAsTWljOigpPT5EUCxNaWMyOigpPT4kdSxNaWNPZmY6KCk9PiRQLE1pY1ZvY2FsOigpPT4kdSxNaWNyb2NoaXA6KCk9PkFQLE1pY3Jvc2NvcGU6KCk9PkVQLE1pY3Jvd2F2ZTooKT0+UFAsTWlsZXN0b25lOigpPT5JUCxNaWxrOigpPT5SUCxNaWxrT2ZmOigpPT5OUCxNaW5pbWl6ZTooKT0+RlAsTWluaW1pemUyOigpPT5PUCxNaW51czooKT0+QlAsTWludXNDaXJjbGU6KCk9PnU2LE1pbnVzU3F1YXJlOigpPT5PcCxNaXJyb3JSZWN0YW5ndWxhcjooKT0+SFAsTWlycm9yUm91bmQ6KCk9PnFQLE1vbml0b3I6KCk9PmFJLE1vbml0b3JDaGVjazooKT0+VlAsTW9uaXRvckNsb3VkOigpPT5qUCxNb25pdG9yQ29nOigpPT5VUCxNb25pdG9yRG90OigpPT5XUCxNb25pdG9yRG93bjooKT0+WVAsTW9uaXRvck9mZjooKT0+R1AsTW9uaXRvclBhdXNlOigpPT5LUCxNb25pdG9yUGxheTooKT0+WlAsTW9uaXRvclNtYXJ0cGhvbmU6KCk9PlhQLE1vbml0b3JTcGVha2VyOigpPT5RUCxNb25pdG9yU3RvcDooKT0+ZUksTW9uaXRvclVwOigpPT5KUCxNb25pdG9yWDooKT0+dEksTW9vbjooKT0+c0ksTW9vblN0YXI6KCk9PnJJLE1vcmVIb3Jpem9udGFsOigpPT5JNixNb3JlVmVydGljYWw6KCk9PlA2LE1vdG9yYmlrZTooKT0+aUksTW91bnRhaW46KCk9Pm5JLE1vdW50YWluU25vdzooKT0+b0ksTW91c2U6KCk9PmdJLE1vdXNlTGVmdDooKT0+bEksTW91c2VPZmY6KCk9PmNJLE1vdXNlUG9pbnRlcjooKT0+aEksTW91c2VQb2ludGVyMjooKT0+dUksTW91c2VQb2ludGVyMk9mZjooKT0+ZEksTW91c2VQb2ludGVyQmFuOigpPT5wSSxNb3VzZVBvaW50ZXJDbGljazooKT0+ZkksTW91c2VQb2ludGVyU3F1YXJlRGFzaGVkOigpPT5UcCxNb3VzZVJpZ2h0OigpPT5tSSxNb3ZlOigpPT5MSSxNb3ZlM0Q6KCk9PkR1LE1vdmUzZDooKT0+RHUsTW92ZURpYWdvbmFsOigpPT52SSxNb3ZlRGlhZ29uYWwyOigpPT5iSSxNb3ZlRG93bjooKT0+d0ksTW92ZURvd25MZWZ0OigpPT54SSxNb3ZlRG93blJpZ2h0OigpPT55SSxNb3ZlSG9yaXpvbnRhbDooKT0+TUksTW92ZUxlZnQ6KCk9PmtJLE1vdmVSaWdodDooKT0+U0ksTW92ZVVwOigpPT5fSSxNb3ZlVXBMZWZ0OigpPT56SSxNb3ZlVXBSaWdodDooKT0+Q0ksTW92ZVZlcnRpY2FsOigpPT5USSxNdXNpYzooKT0+RUksTXVzaWMyOigpPT4kSSxNdXNpYzM6KCk9PkFJLE11c2ljNDooKT0+REksTmF2aWdhdGlvbjooKT0+UkksTmF2aWdhdGlvbjI6KCk9PklJLE5hdmlnYXRpb24yT2ZmOigpPT5QSSxOYXZpZ2F0aW9uT2ZmOigpPT5OSSxOZXR3b3JrOigpPT5PSSxOZXdzcGFwZXI6KCk9PkZJLE5mYzooKT0+QkksTm9uQmluYXJ5OigpPT5ISSxOb3RlYm9vazooKT0+VUksTm90ZWJvb2tQZW46KCk9PnFJLE5vdGVib29rVGFiczooKT0+akksTm90ZWJvb2tUZXh0OigpPT5WSSxOb3RlcGFkVGV4dDooKT0+R0ksTm90ZXBhZFRleHREYXNoZWQ6KCk9PldJLE51dDooKT0+S0ksTnV0T2ZmOigpPT5ZSSxPY3RhZ29uOigpPT5YSSxPY3RhZ29uQWxlcnQ6KCk9PkF1LE9jdGFnb25NaW51czooKT0+WkksT2N0YWdvblBhdXNlOigpPT5FdSxPY3RhZ29uWDooKT0+UHUsT21lZ2E6KCk9PlFJLE9wdGlvbjooKT0+SkksT3JiaXQ6KCk9PmVOLE9yaWdhbWk6KCk9PnROLE91dGRlbnQ6KCk9PmxjLFBhY2thZ2U6KCk9PmxOLFBhY2thZ2UyOigpPT5hTixQYWNrYWdlQ2hlY2s6KCk9PnJOLFBhY2thZ2VNaW51czooKT0+c04sUGFja2FnZU9wZW46KCk9PmlOLFBhY2thZ2VQbHVzOigpPT5vTixQYWNrYWdlU2VhcmNoOigpPT5uTixQYWNrYWdlWDooKT0+Y04sUGFpbnRCdWNrZXQ6KCk9PmROLFBhaW50Um9sbGVyOigpPT51TixQYWludGJydXNoOigpPT5wTixQYWludGJydXNoMjooKT0+SXUsUGFpbnRicnVzaFZlcnRpY2FsOigpPT5JdSxQYWxldHRlOigpPT5mTixQYWxtdHJlZTooKT0+dWYsUGFuZGE6KCk9Pm1OLFBhbmVsQm90dG9tOigpPT5iTixQYW5lbEJvdHRvbUNsb3NlOigpPT5oTixQYW5lbEJvdHRvbURhc2hlZDooKT0+TnUsUGFuZWxCb3R0b21JbmFjdGl2ZTooKT0+TnUsUGFuZWxCb3R0b21PcGVuOigpPT5nTixQYW5lbExlZnQ6KCk9PkJ1LFBhbmVsTGVmdENsb3NlOigpPT5SdSxQYW5lbExlZnREYXNoZWQ6KCk9Pk91LFBhbmVsTGVmdEluYWN0aXZlOigpPT5PdSxQYW5lbExlZnRPcGVuOigpPT5GdSxQYW5lbExlZnRSaWdodERhc2hlZDooKT0+dk4sUGFuZWxSaWdodDooKT0+TU4sUGFuZWxSaWdodENsb3NlOigpPT54TixQYW5lbFJpZ2h0RGFzaGVkOigpPT5IdSxQYW5lbFJpZ2h0SW5hY3RpdmU6KCk9Pkh1LFBhbmVsUmlnaHRPcGVuOigpPT55TixQYW5lbFRvcDooKT0+ek4sUGFuZWxUb3BCb3R0b21EYXNoZWQ6KCk9PndOLFBhbmVsVG9wQ2xvc2U6KCk9PmtOLFBhbmVsVG9wRGFzaGVkOigpPT5xdSxQYW5lbFRvcEluYWN0aXZlOigpPT5xdSxQYW5lbFRvcE9wZW46KCk9PlNOLFBhbmVsc0xlZnRCb3R0b206KCk9PkNOLFBhbmVsc0xlZnRSaWdodDooKT0+JDYsUGFuZWxzUmlnaHRCb3R0b206KCk9Pl9OLFBhbmVsc1RvcEJvdHRvbTooKT0+WnUsUGFuZWxzVG9wTGVmdDooKT0+VnUsUGFwZXJjbGlwOigpPT5UTixQYXJlbnRoZXNlczooKT0+TE4sUGFya2luZ0NpcmNsZTooKT0+ZjYsUGFya2luZ0NpcmNsZU9mZjooKT0+cDYsUGFya2luZ01ldGVyOigpPT4kTixQYXJraW5nU3F1YXJlOigpPT5IcCxQYXJraW5nU3F1YXJlT2ZmOigpPT5CcCxQYXJ0eVBvcHBlcjooKT0+QU4sUGF1c2U6KCk9PkROLFBhdXNlQ2lyY2xlOigpPT5oNixQYXVzZU9jdGFnb246KCk9PkV1LFBhd1ByaW50OigpPT5FTixQY0Nhc2U6KCk9PlBOLFBlbjooKT0+VXUsUGVuQm94OigpPT5DMSxQZW5MaW5lOigpPT5qdSxQZW5PZmY6KCk9PklOLFBlblNxdWFyZTooKT0+QzEsUGVuVG9vbDooKT0+Tk4sUGVuY2lsOigpPT5GTixQZW5jaWxMaW5lOigpPT5STixQZW5jaWxPZmY6KCk9Pk9OLFBlbmNpbFJ1bGVyOigpPT5CTixQZW50YWdvbjooKT0+SE4sUGVyY2VudDooKT0+cU4sUGVyY2VudENpcmNsZTooKT0+bTYsUGVyY2VudERpYW1vbmQ6KCk9PkE2LFBlcmNlbnRTcXVhcmU6KCk9PnFwLFBlcnNvblN0YW5kaW5nOigpPT5WTixQaGlsaXBwaW5lUGVzbzooKT0+ak4sUGhvbmU6KCk9PlFOLFBob25lQ2FsbDooKT0+VU4sUGhvbmVGb3J3YXJkZWQ6KCk9PldOLFBob25lSW5jb21pbmc6KCk9PkdOLFBob25lTWlzc2VkOigpPT5ZTixQaG9uZU9mZjooKT0+S04sUGhvbmVPdXRnb2luZzooKT0+Wk4sUGk6KCk9PlhOLFBpU3F1YXJlOigpPT5WcCxQaWFubzooKT0+Sk4sUGlja2F4ZTooKT0+ZVIsUGljdHVyZUluUGljdHVyZTooKT0+YVIsUGljdHVyZUluUGljdHVyZTI6KCk9PnRSLFBpZUNoYXJ0OigpPT5XZCxQaWdneUJhbms6KCk9PnJSLFBpbGNyb3c6KCk9Pm9SLFBpbGNyb3dMZWZ0OigpPT5zUixQaWxjcm93UmlnaHQ6KCk9PmlSLFBpbGNyb3dTcXVhcmU6KCk9PmpwLFBpbGw6KCk9PmNSLFBpbGxCb3R0bGU6KCk9Pm5SLFBpbjooKT0+ZFIsUGluT2ZmOigpPT5sUixQaXBldHRlOigpPT51UixQaXp6YTooKT0+cFIsUGxhbmU6KCk9Pm1SLFBsYW5lTGFuZGluZzooKT0+ZlIsUGxhbmVUYWtlb2ZmOigpPT5oUixQbGF5OigpPT5nUixQbGF5Q2lyY2xlOigpPT5nNixQbGF5U3F1YXJlOigpPT5XcCxQbHVnOigpPT52UixQbHVnMjooKT0+YlIsUGx1Z1phcDooKT0+V3UsUGx1Z1phcDI6KCk9Pld1LFBsdXM6KCk9PnhSLFBsdXNDaXJjbGU6KCk9PmI2LFBsdXNTcXVhcmU6KCk9PlVwLFBvY2tldEtuaWZlOigpPT55UixQb2RjYXN0OigpPT53UixQb2ludGVyOigpPT5NUixQb2ludGVyT2ZmOigpPT5rUixQb3Bjb3JuOigpPT5TUixQb3BzaWNsZTooKT0+elIsUG91bmRTdGVybGluZzooKT0+Q1IsUG93ZXI6KCk9PlRSLFBvd2VyQ2lyY2xlOigpPT52NixQb3dlck9mZjooKT0+X1IsUG93ZXJTcXVhcmU6KCk9PkdwLFByZXNlbnRhdGlvbjooKT0+TFIsUHJpbnRlcjooKT0+QVIsUHJpbnRlckNoZWNrOigpPT5EUixQcmludGVyWDooKT0+JFIsUHJvamVjdG9yOigpPT5JUixQcm9wb3J0aW9uczooKT0+RVIsUHV6emxlOigpPT5QUixQeXJhbWlkOigpPT5OUixRckNvZGU6KCk9Pk9SLFF1b3RlOigpPT5SUixSYWJiaXQ6KCk9PkJSLFJhZGFyOigpPT5GUixSYWRpYXRpb246KCk9PkhSLFJhZGljYWw6KCk9PnFSLFJhZGlvOigpPT5XUixSYWRpb09mZjooKT0+VlIsUmFkaW9SZWNlaXZlcjooKT0+alIsUmFkaW9Ub3dlcjooKT0+VVIsUmFkaXVzOigpPT5HUixSYWluYm93OigpPT5ZUixSYXQ6KCk9PktSLFJhdGlvOigpPT5aUixSZWNlaXB0OigpPT5pTyxSZWNlaXB0Q2VudDooKT0+WFIsUmVjZWlwdEV1cm86KCk9PlFSLFJlY2VpcHRJbmRpYW5SdXBlZTooKT0+SlIsUmVjZWlwdEphcGFuZXNlWWVuOigpPT50TyxSZWNlaXB0UG91bmRTdGVybGluZzooKT0+ZU8sUmVjZWlwdFJ1c3NpYW5SdWJsZTooKT0+YU8sUmVjZWlwdFN3aXNzRnJhbmM6KCk9PnNPLFJlY2VpcHRUZXh0OigpPT5yTyxSZWNlaXB0VHVya2lzaExpcmE6KCk9Pm9PLFJlY3RhbmdsZUNpcmNsZTooKT0+bk8sUmVjdGFuZ2xlRWxsaXBzaXM6KCk9Pkd1LFJlY3RhbmdsZUdvZ2dsZXM6KCk9PmxPLFJlY3RhbmdsZUhvcml6b250YWw6KCk9PmNPLFJlY3RhbmdsZVZlcnRpY2FsOigpPT5kTyxSZWN5Y2xlOigpPT51TyxSZWRvOigpPT5oTyxSZWRvMjooKT0+cE8sUmVkb0RvdDooKT0+Zk8sUmVmcmVzaENjdzooKT0+Z08sUmVmcmVzaENjd0RvdDooKT0+bU8sUmVmcmVzaEN3OigpPT52TyxSZWZyZXNoQ3dPZmY6KCk9PmJPLFJlZnJpZ2VyYXRvcjooKT0+eE8sUmVnZXg6KCk9PnlPLFJlbW92ZUZvcm1hdHRpbmc6KCk9PndPLFJlcGVhdDooKT0+ek8sUmVwZWF0MTooKT0+a08sUmVwZWF0MjooKT0+TU8sUmVwZWF0T2ZmOigpPT5TTyxSZXBsYWNlOigpPT5fTyxSZXBsYWNlQWxsOigpPT5DTyxSZXBseTooKT0+TE8sUmVwbHlBbGw6KCk9PlRPLFJld2luZDooKT0+RE8sUmliYm9uOigpPT4kTyxSb2FkOigpPT5BTyxSb2NrZXQ6KCk9PkVPLFJvY2tpbmdDaGFpcjooKT0+UE8sUm9sbGVyQ29hc3RlcjooKT0+SU8sUm9zZTooKT0+Tk8sUm90YXRlM0Q6KCk9Pll1LFJvdGF0ZTNkOigpPT5ZdSxSb3RhdGVDY3c6KCk9PkZPLFJvdGF0ZUNjd0tleTooKT0+Uk8sUm90YXRlQ2N3U3F1YXJlOigpPT5PTyxSb3RhdGVDdzooKT0+SE8sUm90YXRlQ3dTcXVhcmU6KCk9PkJPLFJvdXRlOigpPT5WTyxSb3V0ZU9mZjooKT0+cU8sUm91dGVyOigpPT5qTyxSb3dzOigpPT5LdSxSb3dzMjooKT0+S3UsUm93czM6KCk9Plp1LFJvd3M0OigpPT5VTyxSc3M6KCk9PldPLFJ1bGVyOigpPT5ZTyxSdWxlckRpbWVuc2lvbkxpbmU6KCk9PkdPLFJ1c3NpYW5SdWJsZTooKT0+S08sU2FpbGJvYXQ6KCk9PlpPLFNhbGFkOigpPT5YTyxTYW5kd2ljaDooKT0+UU8sU2F0ZWxsaXRlOigpPT5KTyxTYXRlbGxpdGVEaXNoOigpPT5lRixTYXVkaVJpeWFsOigpPT50RixTYXZlOigpPT5zRixTYXZlQWxsOigpPT5yRixTYXZlT2ZmOigpPT5hRixTY2FsZTooKT0+aUYsU2NhbGUzRDooKT0+WHUsU2NhbGUzZDooKT0+WHUsU2NhbGluZzooKT0+bkYsU2NhbjooKT0+bUYsU2NhbkJhcmNvZGU6KCk9Pm9GLFNjYW5FeWU6KCk9PmxGLFNjYW5GYWNlOigpPT5jRixTY2FuSGVhcnQ6KCk9PmRGLFNjYW5MaW5lOigpPT51RixTY2FuUXJDb2RlOigpPT5wRixTY2FuU2VhcmNoOigpPT5mRixTY2FuVGV4dDooKT0+aEYsU2NhdHRlckNoYXJ0OigpPT5HZCxTY2hvb2w6KCk9PmdGLFNjaG9vbDI6KCk9PmhmLFNjaXNzb3JzOigpPT52RixTY2lzc29yc0xpbmVEYXNoZWQ6KCk9PmJGLFNjaXNzb3JzU3F1YXJlOigpPT5LcCxTY2lzc29yc1NxdWFyZURhc2hlZEJvdHRvbTooKT0+YnAsU2Nvb3RlcjooKT0+eEYsU2NyZWVuU2hhcmU6KCk9PndGLFNjcmVlblNoYXJlT2ZmOigpPT55RixTY3JvbGw6KCk9PmtGLFNjcm9sbFRleHQ6KCk9Pk1GLFNlYXJjaDooKT0+TEYsU2VhcmNoQWxlcnQ6KCk9PlNGLFNlYXJjaENoZWNrOigpPT56RixTZWFyY2hDb2RlOigpPT5DRixTZWFyY2hTbGFzaDooKT0+X0YsU2VhcmNoWDooKT0+VEYsU2VjdGlvbjooKT0+JEYsU2VuZDooKT0+QUYsU2VuZEhvcml6b25hbDooKT0+UXUsU2VuZEhvcml6b250YWw6KCk9PlF1LFNlbmRUb0JhY2s6KCk9PkRGLFNlcGFyYXRvckhvcml6b250YWw6KCk9PkVGLFNlcGFyYXRvclZlcnRpY2FsOigpPT5QRixTZXJ2ZXI6KCk9Pk9GLFNlcnZlckNvZzooKT0+SUYsU2VydmVyQ3Jhc2g6KCk9Pk5GLFNlcnZlck9mZjooKT0+UkYsU2V0dGluZ3M6KCk9PkhGLFNldHRpbmdzMjooKT0+RkYsU2hhcGVzOigpPT5CRixTaGFyZTooKT0+VkYsU2hhcmUyOigpPT5xRixTaGVldDooKT0+VUYsU2hlbGw6KCk9PmpGLFNoZWx2aW5nVW5pdDooKT0+V0YsU2hpZWxkOigpPT5zQixTaGllbGRBbGVydDooKT0+R0YsU2hpZWxkQmFuOigpPT5ZRixTaGllbGRDaGVjazooKT0+S0YsU2hpZWxkQ2xvc2U6KCk9PmVwLFNoaWVsZENvZzooKT0+UUYsU2hpZWxkQ29nQ29ybmVyOigpPT5aRixTaGllbGRFbGxpcHNpczooKT0+WEYsU2hpZWxkSGFsZjooKT0+SkYsU2hpZWxkTWludXM6KCk9PmVCLFNoaWVsZE9mZjooKT0+dEIsU2hpZWxkUGx1czooKT0+YUIsU2hpZWxkUXVlc3Rpb246KCk9Pkp1LFNoaWVsZFF1ZXN0aW9uTWFyazooKT0+SnUsU2hpZWxkVXNlcjooKT0+ckIsU2hpZWxkWDooKT0+ZXAsU2hpcDooKT0+aUIsU2hpcFdoZWVsOigpPT5vQixTaGlydDooKT0+bkIsU2hvcHBpbmdCYWc6KCk9PmxCLFNob3BwaW5nQmFza2V0OigpPT5jQixTaG9wcGluZ0NhcnQ6KCk9PmRCLFNob3ZlbDooKT0+dUIsU2hvd2VySGVhZDooKT0+cEIsU2hyZWRkZXI6KCk9PmZCLFNocmltcDooKT0+bUIsU2hyaW5rOigpPT5oQixTaHJ1YjooKT0+Z0IsU2h1ZmZsZTooKT0+YkIsU2lkZWJhcjooKT0+QnUsU2lkZWJhckNsb3NlOigpPT5SdSxTaWRlYmFyT3BlbjooKT0+RnUsU2lnbWE6KCk9PnZCLFNpZ21hU3F1YXJlOigpPT5ZcCxTaWduYWw6KCk9PmtCLFNpZ25hbEhpZ2g6KCk9PnhCLFNpZ25hbExvdzooKT0+eUIsU2lnbmFsTWVkaXVtOigpPT53QixTaWduYWxaZXJvOigpPT5NQixTaWduYXR1cmU6KCk9PlNCLFNpZ25wb3N0OigpPT5DQixTaWducG9zdEJpZzooKT0+ekIsU2lyZW46KCk9Pl9CLFNraXBCYWNrOigpPT5UQixTa2lwRm9yd2FyZDooKT0+TEIsU2t1bGw6KCk9PiRCLFNsYXNoOigpPT5EQixTbGFzaFNxdWFyZTooKT0+WnAsU2xpY2U6KCk9PkVCLFNsaWRlcnM6KCk9PnRwLFNsaWRlcnNIb3Jpem9udGFsOigpPT5BQixTbGlkZXJzVmVydGljYWw6KCk9PnRwLFNtYXJ0cGhvbmU6KCk9PlJCLFNtYXJ0cGhvbmVDaGFyZ2luZzooKT0+UEIsU21hcnRwaG9uZU5mYzooKT0+SUIsU21pbGU6KCk9Pk9CLFNtaWxlUGx1czooKT0+TkIsU25haWw6KCk9PkZCLFNub3dmbGFrZTooKT0+QkIsU29hcERpc3BlbnNlckRyb3BsZXQ6KCk9PkhCLFNvZmE6KCk9PnFCLFNvbGFyUGFuZWw6KCk9PlZCLFNvcnRBc2M6KCk9PnpkLFNvcnREZXNjOigpPT5NZCxTb3VwOigpPT5qQixTcGFjZTooKT0+VUIsU3BhZGU6KCk9PldCLFNwYXJrbGU6KCk9PkdCLFNwYXJrbGVzOigpPT5hcCxTcGVha2VyOigpPT5ZQixTcGVlY2g6KCk9PktCLFNwZWxsQ2hlY2s6KCk9PlpCLFNwZWxsQ2hlY2syOigpPT5YQixTcGxpbmU6KCk9PkpCLFNwbGluZVBvaW50ZXI6KCk9PlFCLFNwbGl0OigpPT5lSCxTcGxpdFNxdWFyZUhvcml6b250YWw6KCk9PlhwLFNwbGl0U3F1YXJlVmVydGljYWw6KCk9PlFwLFNwb29sOigpPT50SCxTcG9ydFNob2U6KCk9PmFILFNwb3RsaWdodDooKT0+aUgsU3ByYXlDYW46KCk9PnJILFNwcm91dDooKT0+c0gsU3F1YXJlOigpPT52SCxTcXVhcmVBY3Rpdml0eTooKT0+cnAsU3F1YXJlQXJyb3dEb3duOigpPT5vcCxTcXVhcmVBcnJvd0Rvd25MZWZ0OigpPT5zcCxTcXVhcmVBcnJvd0Rvd25SaWdodDooKT0+aXAsU3F1YXJlQXJyb3dMZWZ0OigpPT5ucCxTcXVhcmVBcnJvd091dERvd25MZWZ0OigpPT5scCxTcXVhcmVBcnJvd091dERvd25SaWdodDooKT0+Y3AsU3F1YXJlQXJyb3dPdXRVcExlZnQ6KCk9PmRwLFNxdWFyZUFycm93T3V0VXBSaWdodDooKT0+dXAsU3F1YXJlQXJyb3dSaWdodDooKT0+cHAsU3F1YXJlQXJyb3dSaWdodEVudGVyOigpPT5vSCxTcXVhcmVBcnJvd1JpZ2h0RXhpdDooKT0+bkgsU3F1YXJlQXJyb3dVcDooKT0+bXAsU3F1YXJlQXJyb3dVcExlZnQ6KCk9PmZwLFNxdWFyZUFycm93VXBSaWdodDooKT0+aHAsU3F1YXJlQXN0ZXJpc2s6KCk9PmdwLFNxdWFyZUJvdHRvbURhc2hlZFNjaXNzb3JzOigpPT5icCxTcXVhcmVDZW50ZXJsaW5lRGFzaGVkSG9yaXpvbnRhbDooKT0+dnAsU3F1YXJlQ2VudGVybGluZURhc2hlZFZlcnRpY2FsOigpPT54cCxTcXVhcmVDaGFydEdhbnR0OigpPT5kYyxTcXVhcmVDaGVjazooKT0+d3AsU3F1YXJlQ2hlY2tCaWc6KCk9PnlwLFNxdWFyZUNoZXZyb25Eb3duOigpPT5NcCxTcXVhcmVDaGV2cm9uTGVmdDooKT0+a3AsU3F1YXJlQ2hldnJvblJpZ2h0OigpPT5TcCxTcXVhcmVDaGV2cm9uVXA6KCk9PnpwLFNxdWFyZUNvZGU6KCk9PkNwLFNxdWFyZURhc2hlZDooKT0+THAsU3F1YXJlRGFzaGVkQm90dG9tOigpPT5jSCxTcXVhcmVEYXNoZWRCb3R0b21Db2RlOigpPT5sSCxTcXVhcmVEYXNoZWRLYW5iYW46KCk9Pl9wLFNxdWFyZURhc2hlZE1vdXNlUG9pbnRlcjooKT0+VHAsU3F1YXJlRGFzaGVkVGV4dDooKT0+dWMsU3F1YXJlRGFzaGVkVG9wU29saWQ6KCk9PmRILFNxdWFyZURpdmlkZTooKT0+RHAsU3F1YXJlRG90OigpPT4kcCxTcXVhcmVFcXVhbDooKT0+QXAsU3F1YXJlRnVuY3Rpb246KCk9PkVwLFNxdWFyZUdhbnR0Q2hhcnQ6KCk9PmRjLFNxdWFyZUthbmJhbjooKT0+TnAsU3F1YXJlTGlicmFyeTooKT0+UHAsU3F1YXJlTTooKT0+SXAsU3F1YXJlTWVudTooKT0+UnAsU3F1YXJlTWludXM6KCk9Pk9wLFNxdWFyZU1vdXNlUG9pbnRlcjooKT0+RnAsU3F1YXJlUGFya2luZzooKT0+SHAsU3F1YXJlUGFya2luZ09mZjooKT0+QnAsU3F1YXJlUGF1c2U6KCk9PnVILFNxdWFyZVBlbjooKT0+QzEsU3F1YXJlUGVyY2VudDooKT0+cXAsU3F1YXJlUGk6KCk9PlZwLFNxdWFyZVBpbGNyb3c6KCk9PmpwLFNxdWFyZVBsYXk6KCk9PldwLFNxdWFyZVBsdXM6KCk9PlVwLFNxdWFyZVBvd2VyOigpPT5HcCxTcXVhcmVSYWRpY2FsOigpPT5wSCxTcXVhcmVSb3VuZENvcm5lcjooKT0+ZkgsU3F1YXJlU2Npc3NvcnM6KCk9PktwLFNxdWFyZVNpZ21hOigpPT5ZcCxTcXVhcmVTbGFzaDooKT0+WnAsU3F1YXJlU3BsaXRIb3Jpem9udGFsOigpPT5YcCxTcXVhcmVTcGxpdFZlcnRpY2FsOigpPT5RcCxTcXVhcmVTcXVhcmU6KCk9PmhILFNxdWFyZVN0YWNrOigpPT5tSCxTcXVhcmVTdGFyOigpPT5nSCxTcXVhcmVTdG9wOigpPT5iSCxTcXVhcmVUZXJtaW5hbDooKT0+SnAsU3F1YXJlVXNlcjooKT0+YWYsU3F1YXJlVXNlclJvdW5kOigpPT5lZixTcXVhcmVYOigpPT50ZixTcXVhcmVzRXhjbHVkZTooKT0+eEgsU3F1YXJlc0ludGVyc2VjdDooKT0+eUgsU3F1YXJlc1N1YnRyYWN0OigpPT53SCxTcXVhcmVzVW5pdGU6KCk9Pk1ILFNxdWlyY2xlOigpPT5TSCxTcXVpcmNsZURhc2hlZDooKT0+a0gsU3F1aXJyZWw6KCk9PnpILFN0YW1wOigpPT5DSCxTdGFyOigpPT5MSCxTdGFySGFsZjooKT0+X0gsU3Rhck9mZjooKT0+VEgsU3RhcnM6KCk9PmFwLFN0ZXBCYWNrOigpPT4kSCxTdGVwRm9yd2FyZDooKT0+REgsU3RldGhvc2NvcGU6KCk9PkVILFN0aWNrZXI6KCk9PkFILFN0aWNreU5vdGU6KCk9PlBILFN0b25lOigpPT5SSCxTdG9wQ2lyY2xlOigpPT55NixTdG9yZTooKT0+SUgsU3RyZXRjaEhvcml6b250YWw6KCk9Pk5ILFN0cmV0Y2hWZXJ0aWNhbDooKT0+T0gsU3RyaWtldGhyb3VnaDooKT0+RkgsU3Vic2NyaXB0OigpPT5CSCxTdWJ0aXRsZXM6KCk9PlBkLFN1bjooKT0+VUgsU3VuRGltOigpPT5ISCxTdW5NZWRpdW06KCk9PnFILFN1bk1vb246KCk9PlZILFN1blNub3c6KCk9PmpILFN1bnJpc2U6KCk9PldILFN1bnNldDooKT0+R0gsU3VwZXJzY3JpcHQ6KCk9PllILFN3YXRjaEJvb2s6KCk9PktILFN3aXNzRnJhbmM6KCk9PlpILFN3aXRjaENhbWVyYTooKT0+WEgsU3dvcmQ6KCk9PlFILFN3b3JkczooKT0+SkgsU3lyaW5nZTooKT0+ZXEsVGFibGU6KCk9PmNxLFRhYmxlMjooKT0+dHEsVGFibGVDZWxsc01lcmdlOigpPT5hcSxUYWJsZUNlbGxzU3BsaXQ6KCk9PnJxLFRhYmxlQ29sdW1uc1NwbGl0OigpPT5zcSxUYWJsZUNvbmZpZzooKT0+aWMsVGFibGVPZkNvbnRlbnRzOigpPT5pcSxUYWJsZVByb3BlcnRpZXM6KCk9Pm9xLFRhYmxlUm93c1NwbGl0OigpPT5ucSxUYWJsZXQ6KCk9PmRxLFRhYmxldFNtYXJ0cGhvbmU6KCk9PmxxLFRhYmxldHM6KCk9PnVxLFRhZzooKT0+cHEsVGFnczooKT0+ZnEsVGFsbHkxOigpPT5ocSxUYWxseTI6KCk9Pm1xLFRhbGx5MzooKT0+Z3EsVGFsbHk0OigpPT5icSxUYWxseTU6KCk9PnhxLFRhbmdlbnQ6KCk9PnZxLFRhcmdldDooKT0+eXEsVGVsZXNjb3BlOigpPT53cSxUZW50OigpPT5rcSxUZW50VHJlZTooKT0+TXEsVGVybWluYWw6KCk9PlNxLFRlcm1pbmFsU3F1YXJlOigpPT5KcCxUZXN0VHViZTooKT0+enEsVGVzdFR1YmUyOigpPT5yZixUZXN0VHViZURpYWdvbmFsOigpPT5yZixUZXN0VHViZXM6KCk9PkNxLFRleHQ6KCk9PnBjLFRleHRBbGlnbkNlbnRlcjooKT0+c2YsVGV4dEFsaWduRW5kOigpPT5vZixUZXh0QWxpZ25KdXN0aWZ5OigpPT5uZixUZXh0QWxpZ25TdGFydDooKT0+cGMsVGV4dEN1cnNvcjooKT0+VHEsVGV4dEN1cnNvcklucHV0OigpPT5fcSxUZXh0SW5pdGlhbDooKT0+bGYsVGV4dFF1b3RlOigpPT5McSxUZXh0U2VhcmNoOigpPT4kcSxUZXh0U2VsZWN0OigpPT51YyxUZXh0U2VsZWN0aW9uOigpPT51YyxUZXh0V3JhcDooKT0+Y2YsVGhlYXRlcjooKT0+RHEsVGhlcm1vbWV0ZXI6KCk9PlBxLFRoZXJtb21ldGVyU25vd2ZsYWtlOigpPT5BcSxUaGVybW9tZXRlclN1bjooKT0+RXEsVGh1bWJzRG93bjooKT0+SXEsVGh1bWJzVXA6KCk9Pk5xLFRpY2tldDooKT0+VnEsVGlja2V0Q2hlY2s6KCk9PlJxLFRpY2tldE1pbnVzOigpPT5PcSxUaWNrZXRQZXJjZW50OigpPT5GcSxUaWNrZXRQbHVzOigpPT5CcSxUaWNrZXRTbGFzaDooKT0+SHEsVGlja2V0WDooKT0+cXEsVGlja2V0czooKT0+VXEsVGlja2V0c1BsYW5lOigpPT5qcSxUaW1lbGluZTooKT0+V3EsVGltZXI6KCk9PktxLFRpbWVyT2ZmOigpPT5HcSxUaW1lclJlc2V0OigpPT5ZcSxUb2dnbGVMZWZ0OigpPT5YcSxUb2dnbGVSaWdodDooKT0+UXEsVG9pbGV0OigpPT5acSxUb29sQ2FzZTooKT0+SnEsVG9vbGJveDooKT0+ZVYsVG9ybmFkbzooKT0+clYsVG9ydXM6KCk9PnRWLFRvdWNocGFkOigpPT5zVixUb3VjaHBhZE9mZjooKT0+YVYsVG93ZWxSYWNrOigpPT5pVixUb3dlckNvbnRyb2w6KCk9Pm9WLFRveUJyaWNrOigpPT5uVixUcmFjdG9yOigpPT5sVixUcmFmZmljQ29uZTooKT0+Y1YsVHJhaW46KCk9PmRmLFRyYWluRnJvbnQ6KCk9PnVWLFRyYWluRnJvbnRUdW5uZWw6KCk9PmRWLFRyYWluVHJhY2s6KCk9PnBWLFRyYW1Gcm9udDooKT0+ZGYsVHJhbnNnZW5kZXI6KCk9PmZWLFRyYXNoOigpPT5tVixUcmFzaDI6KCk9PmhWLFRyZWVEZWNpZHVvdXM6KCk9PmdWLFRyZWVQYWxtOigpPT51ZixUcmVlUGluZTooKT0+YlYsVHJlZXM6KCk9PnZWLFRyZW5kaW5nRG93bjooKT0+eFYsVHJlbmRpbmdVcDooKT0+d1YsVHJlbmRpbmdVcERvd246KCk9PnlWLFRyaWFuZ2xlOigpPT5TVixUcmlhbmdsZUFsZXJ0OigpPT5wZixUcmlhbmdsZURhc2hlZDooKT0+TVYsVHJpYW5nbGVSaWdodDooKT0+a1YsVHJvcGh5OigpPT56VixUcnVjazooKT0+X1YsVHJ1Y2tFbGVjdHJpYzooKT0+Q1YsVHVya2lzaExpcmE6KCk9PlRWLFR1cm50YWJsZTooKT0+TFYsVHVydGxlOigpPT4kVixUdjooKT0+QVYsVHYyOigpPT5mZixUdk1pbmltYWw6KCk9PmZmLFR2TWluaW1hbFBsYXk6KCk9PkRWLFR5cGU6KCk9PlBWLFR5cGVPdXRsaW5lOigpPT5FVixVbWJyZWxsYTooKT0+TlYsVW1icmVsbGFPZmY6KCk9PklWLFVuZGVybGluZTooKT0+UlYsVW5kbzooKT0+QlYsVW5kbzI6KCk9Pk9WLFVuZG9Eb3Q6KCk9PkZWLFVuZm9sZEhvcml6b250YWw6KCk9PkhWLFVuZm9sZFZlcnRpY2FsOigpPT5xVixVbmdyb3VwOigpPT5WVixVbml2ZXJzaXR5OigpPT5oZixVbmxpbms6KCk9PldWLFVubGluazI6KCk9PmpWLFVubG9jazooKT0+Q3UsVW5sb2NrS2V5aG9sZTooKT0+enUsVW5wbHVnOigpPT5VVixVcGxvYWQ6KCk9PkdWLFVwbG9hZENsb3VkOigpPT5fNixVc2I6KCk9PllWLFVzZXI6KCk9PmxqLFVzZXIyOigpPT55ZixVc2VyQ2hlY2s6KCk9PktWLFVzZXJDaGVjazI6KCk9Pm1mLFVzZXJDaXJjbGU6KCk9Pk02LFVzZXJDaXJjbGUyOigpPT53NixVc2VyQ29nOigpPT5aVixVc2VyQ29nMjooKT0+Z2YsVXNlcktleTooKT0+WFYsVXNlckxvY2s6KCk9PlFWLFVzZXJNaW51czooKT0+SlYsVXNlck1pbnVzMjooKT0+YmYsVXNlclBlbjooKT0+ZWosVXNlclBsdXM6KCk9PnRqLFVzZXJQbHVzMjooKT0+dmYsVXNlclJvdW5kOigpPT55ZixVc2VyUm91bmRDaGVjazooKT0+bWYsVXNlclJvdW5kQ29nOigpPT5nZixVc2VyUm91bmRLZXk6KCk9PmFqLFVzZXJSb3VuZE1pbnVzOigpPT5iZixVc2VyUm91bmRQZW46KCk9PnJqLFVzZXJSb3VuZFBsdXM6KCk9PnZmLFVzZXJSb3VuZFNlYXJjaDooKT0+c2osVXNlclJvdW5kWDooKT0+eGYsVXNlclNlYXJjaDooKT0+aWosVXNlclNxdWFyZTooKT0+YWYsVXNlclNxdWFyZTI6KCk9PmVmLFVzZXJTdGFyOigpPT5vaixVc2VyWDooKT0+bmosVXNlclgyOigpPT54ZixVc2VyczooKT0+Y2osVXNlcnMyOigpPT53ZixVc2Vyc1JvdW5kOigpPT53ZixVdGVuc2lsczooKT0+a2YsVXRlbnNpbHNDcm9zc2VkOigpPT5NZixVdGlsaXR5UG9sZTooKT0+dWosVmFuOigpPT5kaixWYXJpYWJsZTooKT0+cGosVmF1bHQ6KCk9PmZqLFZlY3RvclNxdWFyZTooKT0+aGosVmVnYW46KCk9Pm1qLFZlbmV0aWFuTWFzazooKT0+Z2osVmVudXM6KCk9PnZqLFZlbnVzQW5kTWFyczooKT0+YmosVmVyaWZpZWQ6KCk9PlRkLFZpYnJhdGU6KCk9PnlqLFZpYnJhdGVPZmY6KCk9PnhqLFZpZGVvOigpPT5NaixWaWRlb09mZjooKT0+d2osVmlkZW90YXBlOigpPT5raixWaWV3OigpPT5TaixWb2ljZW1haWw6KCk9PkNqLFZvbGxleWJhbGw6KCk9PnpqLFZvbHVtZTooKT0+RGosVm9sdW1lMTooKT0+X2osVm9sdW1lMjooKT0+VGosVm9sdW1lT2ZmOigpPT5MaixWb2x1bWVYOigpPT4kaixWb3RlOigpPT5BaixXYWxsZXQ6KCk9PlBqLFdhbGxldDI6KCk9PlNmLFdhbGxldENhcmRzOigpPT5FaixXYWxsZXRNaW5pbWFsOigpPT5TZixXYWxscGFwZXI6KCk9PklqLFdhbmQ6KCk9Pk5qLFdhbmQyOigpPT56ZixXYW5kU3BhcmtsZXM6KCk9PnpmLFdhcmVob3VzZTooKT0+UmosV2FzaGluZ01hY2hpbmU6KCk9PkZqLFdhdGNoOigpPT5PaixXYXZlczooKT0+Q2YsV2F2ZXNBcnJvd0Rvd246KCk9PkJqLFdhdmVzQXJyb3dVcDooKT0+SGosV2F2ZXNIb3Jpem9udGFsOigpPT5DZixXYXZlc0xhZGRlcjooKT0+cWosV2F2ZXNWZXJ0aWNhbDooKT0+VmosV2F5cG9pbnRzOigpPT5qaixXZWJjYW06KCk9PlVqLFdlYmhvb2s6KCk9PkdqLFdlYmhvb2tPZmY6KCk9PldqLFdlaWdodDooKT0+S2osV2VpZ2h0VGlsZGU6KCk9PllqLFdoZWF0OigpPT5YaixXaGVhdE9mZjooKT0+WmosV2hvbGVXb3JkOigpPT5RaixXaWZpOigpPT5uVSxXaWZpQ29nOigpPT5KaixXaWZpSGlnaDooKT0+ZVUsV2lmaUxvdzooKT0+dFUsV2lmaU9mZjooKT0+YVUsV2lmaVBlbjooKT0+clUsV2lmaVN5bmM6KCk9PnNVLFdpZmlaZXJvOigpPT5pVSxXaW5kOigpPT5sVSxXaW5kQXJyb3dEb3duOigpPT5vVSxXaW5lOigpPT5wVSxXaW5lT2ZmOigpPT5jVSxXb3JrZmxvdzooKT0+dVUsV29ybTooKT0+ZFUsV3JhcFRleHQ6KCk9PmNmLFdyZW5jaDooKT0+ZlUsWDooKT0+bVUsWENpcmNsZTooKT0+azYsWExpbmVUb3A6KCk9PmhVLFhPY3RhZ29uOigpPT5QdSxYU3F1YXJlOigpPT50ZixaYXA6KCk9PmJVLFphcE9mZjooKT0+Z1UsWm9kaWFjQXF1YXJpdXM6KCk9PnZVLFpvZGlhY0FyaWVzOigpPT54VSxab2RpYWNDYW5jZXI6KCk9PnlVLFpvZGlhY0NhcHJpY29ybjooKT0+d1UsWm9kaWFjR2VtaW5pOigpPT5NVSxab2RpYWNMZW86KCk9PmtVLFpvZGlhY0xpYnJhOigpPT5TVSxab2RpYWNPcGhpdWNodXM6KCk9PnpVLFpvZGlhY1Bpc2NlczooKT0+Q1UsWm9kaWFjU2FnaXR0YXJpdXM6KCk9PlRVLFpvZGlhY1Njb3JwaW86KCk9Pl9VLFpvZGlhY1RhdXJ1czooKT0+TFUsWm9kaWFjVmlyZ286KCk9PiRVLFpvb21JbjooKT0+RFUsWm9vbU91dDooKT0+QVV9KTt2YXIgJHJhPWYoKCk9PntZZ2UoKTtLZ2UoKTtaZ2UoKTtYZ2UoKTtRZ2UoKTtKZ2UoKTtlYmUoKTt0YmUoKTthYmUoKTtyYmUoKTtzYmUoKTtpYmUoKTtvYmUoKTtuYmUoKTtsYmUoKTtjYmUoKTtkYmUoKTt1YmUoKTtwYmUoKTtmYmUoKTtoYmUoKTttYmUoKTtnYmUoKTtiYmUoKTt2YmUoKTt4YmUoKTt5YmUoKTt3YmUoKTtNYmUoKTtrYmUoKTtTYmUoKTt6YmUoKTtDYmUoKTtfYmUoKTtUYmUoKTtMYmUoKTskYmUoKTtEYmUoKTtBYmUoKTtFYmUoKTtQYmUoKTtJYmUoKTtOYmUoKTtSYmUoKTtPYmUoKTtGYmUoKTtCYmUoKTtIYmUoKTtxYmUoKTtWYmUoKTtqYmUoKTtVYmUoKTtXYmUoKTtHYmUoKTtZYmUoKTtLYmUoKTtaYmUoKTtYYmUoKTtRYmUoKTtKYmUoKTtldmUoKTt0dmUoKTthdmUoKTtydmUoKTtzdmUoKTtpdmUoKTtvdmUoKTtudmUoKTtsdmUoKTtjdmUoKTtkdmUoKTt1dmUoKTtwdmUoKTtmdmUoKTtodmUoKTttdmUoKTtndmUoKTtidmUoKTt2dmUoKTt4dmUoKTt5dmUoKTt3dmUoKTtNdmUoKTtrdmUoKTtTdmUoKTt6dmUoKTtDdmUoKTtfdmUoKTtUdmUoKTtMdmUoKTskdmUoKTtEdmUoKTtBdmUoKTtFdmUoKTtQdmUoKTtJdmUoKTtOdmUoKTtSdmUoKTtPdmUoKTtGdmUoKTtCdmUoKTtIdmUoKTtxdmUoKTtWdmUoKTtqdmUoKTtVdmUoKTtXdmUoKTtHdmUoKTtZdmUoKTtLdmUoKTtadmUoKTtYdmUoKTtRdmUoKTtKdmUoKTtleGUoKTt0eGUoKTtheGUoKTtyeGUoKTtzeGUoKTtpeGUoKTtveGUoKTtueGUoKTtseGUoKTtjeGUoKTtkeGUoKTt1eGUoKTtweGUoKTtmeGUoKTtoeGUoKTtteGUoKTtneGUoKTtieGUoKTt2eGUoKTt4eGUoKTt5eGUoKTt3eGUoKTtNeGUoKTtreGUoKTtTeGUoKTt6eGUoKTtDeGUoKTtfeGUoKTtUeGUoKTtMeGUoKTskeGUoKTtEeGUoKTtBeGUoKTtFeGUoKTtQeGUoKTtJeGUoKTtOeGUoKTtSeGUoKTtPeGUoKTtGeGUoKTtCeGUoKTtIeGUoKTtxeGUoKTtWeGUoKTtqeGUoKTtVeGUoKTtXeGUoKTtHeGUoKTtZeGUoKTtLeGUoKTtaeGUoKTtYeGUoKTtReGUoKTtKeGUoKTtleWUoKTt0eWUoKTtheWUoKTtyeWUoKTtzeWUoKTtpeWUoKTtveWUoKTtueWUoKTtseWUoKTtjeWUoKTtkeWUoKTt1eWUoKTtweWUoKTtmeWUoKTtoeWUoKTtteWUoKTtneWUoKTtieWUoKTt2eWUoKTt4eWUoKTt5eWUoKTt3eWUoKTtNeWUoKTtreWUoKTtTeWUoKTt6eWUoKTtDeWUoKTtfeWUoKTtUeWUoKTtMeWUoKTskeWUoKTtEeWUoKTtBeWUoKTtFeWUoKTtQeWUoKTtJeWUoKTtOeWUoKTtSeWUoKTtPeWUoKTtGeWUoKTtCeWUoKTtIeWUoKTtxeWUoKTtWeWUoKTtqeWUoKTtVeWUoKTtXeWUoKTtHeWUoKTtZeWUoKTtLeWUoKTtaeWUoKTtYeWUoKTtReWUoKTtKeWUoKTtld2UoKTt0d2UoKTthd2UoKTtyd2UoKTtzd2UoKTtpd2UoKTtvd2UoKTtud2UoKTtsd2UoKTtjd2UoKTtkd2UoKTt1d2UoKTtwd2UoKTtmd2UoKTtod2UoKTttd2UoKTtnd2UoKTtid2UoKTt2d2UoKTt4d2UoKTt5d2UoKTt3d2UoKTtNd2UoKTtrd2UoKTtTd2UoKTt6d2UoKTtDd2UoKTtfd2UoKTtUd2UoKTtMd2UoKTskd2UoKTtEd2UoKTtBd2UoKTtFd2UoKTtQd2UoKTtJd2UoKTtOd2UoKTtSd2UoKTtPd2UoKTtGd2UoKTtCd2UoKTtId2UoKTtxd2UoKTtWd2UoKTtqd2UoKTtVd2UoKTtXd2UoKTtHd2UoKTtZd2UoKTtLd2UoKTtad2UoKTtYd2UoKTtRd2UoKTtKd2UoKTtlTWUoKTt0TWUoKTthTWUoKTtyTWUoKTtzTWUoKTtpTWUoKTtvTWUoKTtuTWUoKTtsTWUoKTtjTWUoKTtkTWUoKTt1TWUoKTtwTWUoKTtmTWUoKTtoTWUoKTttTWUoKTtnTWUoKTtiTWUoKTt2TWUoKTt4TWUoKTt5TWUoKTt3TWUoKTtNTWUoKTtrTWUoKTtTTWUoKTt6TWUoKTtDTWUoKTtfTWUoKTtUTWUoKTtMTWUoKTskTWUoKTtETWUoKTtBTWUoKTtFTWUoKTtQTWUoKTtJTWUoKTtOTWUoKTtSTWUoKTtPTWUoKTtGTWUoKTtCTWUoKTtITWUoKTtxTWUoKTtWTWUoKTtqTWUoKTtVTWUoKTtXTWUoKTtHTWUoKTtZTWUoKTtLTWUoKTtaTWUoKTtYTWUoKTtRTWUoKTtKTWUoKTtla2UoKTt0a2UoKTtha2UoKTtya2UoKTtza2UoKTtpa2UoKTtva2UoKTtua2UoKTtsa2UoKTtja2UoKTtka2UoKTt1a2UoKTtwa2UoKTtma2UoKTtoa2UoKTtta2UoKTtna2UoKTtia2UoKTt2a2UoKTt4a2UoKTt5a2UoKTt3a2UoKTtNa2UoKTtra2UoKTtTa2UoKTt6a2UoKTtDa2UoKTtfa2UoKTtUa2UoKTtMa2UoKTska2UoKTtEa2UoKTtBa2UoKTtFa2UoKTtQa2UoKTtJa2UoKTtOa2UoKTtSa2UoKTtPa2UoKTtGa2UoKTtCa2UoKTtIa2UoKTtxa2UoKTtWa2UoKTtqa2UoKTtVa2UoKTtXa2UoKTtHa2UoKTtZa2UoKTtLa2UoKTtaa2UoKTtYa2UoKTtRa2UoKTtKa2UoKTtlU2UoKTt0U2UoKTthU2UoKTtyU2UoKTtzU2UoKTtpU2UoKTtvU2UoKTtuU2UoKTtsU2UoKTtjU2UoKTtkU2UoKTt1U2UoKTtwU2UoKTtmU2UoKTtoU2UoKTttU2UoKTtnU2UoKTtiU2UoKTt2U2UoKTt4U2UoKTt5U2UoKTt3U2UoKTtNU2UoKTtrU2UoKTtTU2UoKTt6U2UoKTtDU2UoKTtfU2UoKTtUU2UoKTtMU2UoKTskU2UoKTtEU2UoKTtBU2UoKTtFU2UoKTtQU2UoKTtJU2UoKTtOU2UoKTtSU2UoKTtPU2UoKTtGU2UoKTtCU2UoKTtIU2UoKTtxU2UoKTtWU2UoKTtqU2UoKTtVU2UoKTtXU2UoKTtHU2UoKTtZU2UoKTtLU2UoKTtaU2UoKTtYU2UoKTtRU2UoKTtKU2UoKTtlemUoKTt0emUoKTthemUoKTtyemUoKTtzemUoKTtpemUoKTtvemUoKTtuemUoKTtsemUoKTtjemUoKTtkemUoKTt1emUoKTtwemUoKTtmemUoKTtoemUoKTttemUoKTtnemUoKTtiemUoKTt2emUoKTt4emUoKTt5emUoKTt3emUoKTtNemUoKTtremUoKTtTemUoKTt6emUoKTtDemUoKTtfemUoKTtUemUoKTtMemUoKTskemUoKTtEemUoKTtBemUoKTtFemUoKTtQemUoKTtJemUoKTtOemUoKTtSemUoKTtPemUoKTtGemUoKTtCemUoKTtIemUoKTtxemUoKTtWemUoKTtqemUoKTtVemUoKTtXemUoKTtHemUoKTtZemUoKTtLemUoKTtaemUoKTtYemUoKTtRemUoKTtKemUoKTtlQ2UoKTt0Q2UoKTthQ2UoKTtyQ2UoKTtzQ2UoKTtpQ2UoKTtvQ2UoKTtuQ2UoKTtsQ2UoKTtjQ2UoKTtkQ2UoKTt1Q2UoKTtwQ2UoKTtmQ2UoKTtoQ2UoKTttQ2UoKTtnQ2UoKTtiQ2UoKTt2Q2UoKTt4Q2UoKTt5Q2UoKTt3Q2UoKTtNQ2UoKTtrQ2UoKTtTQ2UoKTt6Q2UoKTtDQ2UoKTtfQ2UoKTtUQ2UoKTtMQ2UoKTskQ2UoKTtEQ2UoKTtBQ2UoKTtFQ2UoKTtQQ2UoKTtJQ2UoKTtOQ2UoKTtSQ2UoKTtPQ2UoKTtGQ2UoKTtCQ2UoKTtIQ2UoKTtxQ2UoKTtWQ2UoKTtqQ2UoKTtVQ2UoKTtXQ2UoKTtHQ2UoKTtZQ2UoKTtLQ2UoKTtaQ2UoKTtYQ2UoKTtRQ2UoKTtKQ2UoKTtlX2UoKTt0X2UoKTthX2UoKTtyX2UoKTtzX2UoKTtpX2UoKTtvX2UoKTtuX2UoKTtsX2UoKTtjX2UoKTtkX2UoKTt1X2UoKTtwX2UoKTtmX2UoKTtoX2UoKTttX2UoKTtnX2UoKTtiX2UoKTt2X2UoKTt4X2UoKTt5X2UoKTt3X2UoKTtNX2UoKTtrX2UoKTtTX2UoKTt6X2UoKTtDX2UoKTtfX2UoKTtUX2UoKTtMX2UoKTskX2UoKTtEX2UoKTtBX2UoKTtFX2UoKTtQX2UoKTtJX2UoKTtOX2UoKTtSX2UoKTtPX2UoKTtGX2UoKTtCX2UoKTtIX2UoKTtxX2UoKTtWX2UoKTtqX2UoKTtVX2UoKTtXX2UoKTtHX2UoKTtZX2UoKTtLX2UoKTtaX2UoKTtYX2UoKTtRX2UoKTtKX2UoKTtlVGUoKTt0VGUoKTthVGUoKTtyVGUoKTtzVGUoKTtpVGUoKTtvVGUoKTtuVGUoKTtsVGUoKTtjVGUoKTtkVGUoKTt1VGUoKTtwVGUoKTtmVGUoKTtoVGUoKTttVGUoKTtnVGUoKTtiVGUoKTt2VGUoKTt4VGUoKTt5VGUoKTt3VGUoKTtNVGUoKTtrVGUoKTtTVGUoKTt6VGUoKTtDVGUoKTtfVGUoKTtUVGUoKTtMVGUoKTskVGUoKTtEVGUoKTtBVGUoKTtFVGUoKTtQVGUoKTtJVGUoKTtOVGUoKTtSVGUoKTtPVGUoKTtGVGUoKTtCVGUoKTtIVGUoKTtxVGUoKTtWVGUoKTtqVGUoKTtVVGUoKTtXVGUoKTtHVGUoKTtZVGUoKTtLVGUoKTtaVGUoKTtYVGUoKTtRVGUoKTtKVGUoKTtlTGUoKTt0TGUoKTthTGUoKTtyTGUoKTtzTGUoKTtpTGUoKTtvTGUoKTtuTGUoKTtsTGUoKTtjTGUoKTtkTGUoKTt1TGUoKTtwTGUoKTtmTGUoKTtoTGUoKTttTGUoKTtnTGUoKTtiTGUoKTt2TGUoKTt4TGUoKTt5TGUoKTt3TGUoKTtNTGUoKTtrTGUoKTtTTGUoKTt6TGUoKTtDTGUoKTtfTGUoKTtUTGUoKTtMTGUoKTskTGUoKTtETGUoKTtBTGUoKTtFTGUoKTtQTGUoKTtJTGUoKTtOTGUoKTtSTGUoKTtPTGUoKTtGTGUoKTtCTGUoKTtITGUoKTtxTGUoKTtWTGUoKTtqTGUoKTtVTGUoKTtXTGUoKTtHTGUoKTtZTGUoKTtLTGUoKTtaTGUoKTtYTGUoKTtRTGUoKTtKTGUoKTtlJGUoKTt0JGUoKTthJGUoKTtyJGUoKTtzJGUoKTtpJGUoKTtvJGUoKTtuJGUoKTtsJGUoKTtjJGUoKTtkJGUoKTt1JGUoKTtwJGUoKTtmJGUoKTtoJGUoKTttJGUoKTtnJGUoKTtiJGUoKTt2JGUoKTt4JGUoKTt5JGUoKTt3JGUoKTtNJGUoKTtrJGUoKTtTJGUoKTt6JGUoKTtDJGUoKTtfJGUoKTtUJGUoKTtMJGUoKTskJGUoKTtEJGUoKTtBJGUoKTtFJGUoKTtQJGUoKTtJJGUoKTtOJGUoKTtSJGUoKTtPJGUoKTtGJGUoKTtCJGUoKTtIJGUoKTtxJGUoKTtWJGUoKTtqJGUoKTtVJGUoKTtXJGUoKTtHJGUoKTtZJGUoKTtLJGUoKTtaJGUoKTtYJGUoKTtRJGUoKTtKJGUoKTtlRGUoKTt0RGUoKTthRGUoKTtyRGUoKTtzRGUoKTtpRGUoKTtvRGUoKTtuRGUoKTtsRGUoKTtjRGUoKTtkRGUoKTt1RGUoKTtwRGUoKTtmRGUoKTtoRGUoKTttRGUoKTtnRGUoKTtiRGUoKTt2RGUoKTt4RGUoKTt5RGUoKTt3RGUoKTtNRGUoKTtrRGUoKTtTRGUoKTt6RGUoKTtDRGUoKTtfRGUoKTtURGUoKTtMRGUoKTskRGUoKTtERGUoKTtBRGUoKTtFRGUoKTtQRGUoKTtJRGUoKTtORGUoKTtSRGUoKTtPRGUoKTtGRGUoKTtCRGUoKTtIRGUoKTtxRGUoKTtWRGUoKTtqRGUoKTtVRGUoKTtXRGUoKTtHRGUoKTtZRGUoKTtLRGUoKTtaRGUoKTtYRGUoKTtRRGUoKTtKRGUoKTtlQWUoKTt0QWUoKTthQWUoKTtyQWUoKTtzQWUoKTtpQWUoKTtvQWUoKTtuQWUoKTtsQWUoKTtjQWUoKTtkQWUoKTt1QWUoKTtwQWUoKTtmQWUoKTtoQWUoKTttQWUoKTtnQWUoKTtiQWUoKTt2QWUoKTt4QWUoKTt5QWUoKTt3QWUoKTtNQWUoKTtrQWUoKTtTQWUoKTt6QWUoKTtDQWUoKTtfQWUoKTtUQWUoKTtMQWUoKTskQWUoKTtEQWUoKTtBQWUoKTtFQWUoKTtQQWUoKTtJQWUoKTtOQWUoKTtSQWUoKTtPQWUoKTtGQWUoKTtCQWUoKTtIQWUoKTtxQWUoKTtWQWUoKTtqQWUoKTtVQWUoKTtXQWUoKTtHQWUoKTtZQWUoKTtLQWUoKTtaQWUoKTtYQWUoKTtRQWUoKTtKQWUoKTtlRWUoKTt0RWUoKTthRWUoKTtyRWUoKTtzRWUoKTtpRWUoKTtvRWUoKTtuRWUoKTtsRWUoKTtjRWUoKTtkRWUoKTt1RWUoKTtwRWUoKTtmRWUoKTtoRWUoKTttRWUoKTtnRWUoKTtiRWUoKTt2RWUoKTt4RWUoKTt5RWUoKTt3RWUoKTtNRWUoKTtrRWUoKTtTRWUoKTt6RWUoKTtDRWUoKTtfRWUoKTtURWUoKTtMRWUoKTskRWUoKTtERWUoKTtBRWUoKTtFRWUoKTtQRWUoKTtJRWUoKTtORWUoKTtSRWUoKTtPRWUoKTtGRWUoKTtCRWUoKTtIRWUoKTtxRWUoKTtWRWUoKTtqRWUoKTtVRWUoKTtXRWUoKTtHRWUoKTtZRWUoKTtLRWUoKTtaRWUoKTtYRWUoKTtRRWUoKTtKRWUoKTtlUGUoKTt0UGUoKTthUGUoKTtyUGUoKTtzUGUoKTtpUGUoKTtvUGUoKTtuUGUoKTtsUGUoKTtjUGUoKTtkUGUoKTt1UGUoKTtwUGUoKTtmUGUoKTtoUGUoKTttUGUoKTtnUGUoKTtiUGUoKTt2UGUoKTt4UGUoKTt5UGUoKTt3UGUoKTtNUGUoKTtrUGUoKTtTUGUoKTt6UGUoKTtDUGUoKTtfUGUoKTtUUGUoKTtMUGUoKTskUGUoKTtEUGUoKTtBUGUoKTtFUGUoKTtQUGUoKTtJUGUoKTtOUGUoKTtSUGUoKTtPUGUoKTtGUGUoKTtCUGUoKTtIUGUoKTtxUGUoKTtWUGUoKTtqUGUoKTtVUGUoKTtXUGUoKTtHUGUoKTtZUGUoKTtLUGUoKTtaUGUoKTtYUGUoKTtRUGUoKTtKUGUoKTtlSWUoKTt0SWUoKTthSWUoKTtySWUoKTtzSWUoKTtpSWUoKTtvSWUoKTtuSWUoKTtsSWUoKTtjSWUoKTtkSWUoKTt1SWUoKTtwSWUoKTtmSWUoKTtoSWUoKTttSWUoKTtnSWUoKTtiSWUoKTt2SWUoKTt4SWUoKTt5SWUoKTt3SWUoKTtNSWUoKTtrSWUoKTtTSWUoKTt6SWUoKTtDSWUoKTtfSWUoKTtUSWUoKTtMSWUoKTskSWUoKTtESWUoKTtBSWUoKTtFSWUoKTtQSWUoKTtJSWUoKTtOSWUoKTtSSWUoKTtPSWUoKTtGSWUoKTtCSWUoKTtISWUoKTtxSWUoKTtWSWUoKTtqSWUoKTtVSWUoKTtXSWUoKTtHSWUoKTtZSWUoKTtLSWUoKTtaSWUoKTtYSWUoKTtRSWUoKTtKSWUoKTtlTmUoKTt0TmUoKTthTmUoKTtyTmUoKTtzTmUoKTtpTmUoKTtvTmUoKTtuTmUoKTtsTmUoKTtjTmUoKTtkTmUoKTt1TmUoKTtwTmUoKTtmTmUoKTtoTmUoKTttTmUoKTtnTmUoKTtiTmUoKTt2TmUoKTt4TmUoKTt5TmUoKTt3TmUoKTtNTmUoKTtrTmUoKTtTTmUoKTt6TmUoKTtDTmUoKTtfTmUoKTtUTmUoKTtMTmUoKTskTmUoKTtETmUoKTtBTmUoKTtFTmUoKTtQTmUoKTtJTmUoKTtOTmUoKTtSTmUoKTtPTmUoKTtGTmUoKTtCTmUoKTtITmUoKTtxTmUoKTtWTmUoKTtqTmUoKTtVTmUoKTtXTmUoKTtHTmUoKTtZTmUoKTtLTmUoKTtaTmUoKTtYTmUoKTtRTmUoKTtKTmUoKTtlUmUoKTt0UmUoKTthUmUoKTtyUmUoKTtzUmUoKTtpUmUoKTtvUmUoKTtuUmUoKTtsUmUoKTtjUmUoKTtkUmUoKTt1UmUoKTtwUmUoKTtmUmUoKTtoUmUoKTttUmUoKTtnUmUoKTtiUmUoKTt2UmUoKTt4UmUoKTt5UmUoKTt3UmUoKTtNUmUoKTtrUmUoKTtTUmUoKTt6UmUoKTtDUmUoKTtfUmUoKTtUUmUoKTtMUmUoKTskUmUoKTtEUmUoKTtBUmUoKTtFUmUoKTtQUmUoKTtJUmUoKTtOUmUoKTtSUmUoKTtPUmUoKTtGUmUoKTtCUmUoKTtIUmUoKTtxUmUoKTtWUmUoKTtqUmUoKTtVUmUoKTtXUmUoKTtHUmUoKTtZUmUoKTtLUmUoKTtaUmUoKTtYUmUoKTtRUmUoKTtKUmUoKTtlT2UoKTt0T2UoKTthT2UoKTtyT2UoKTtzT2UoKTtpT2UoKTtvT2UoKTtuT2UoKTtsT2UoKTtjT2UoKTtkT2UoKTt1T2UoKTtwT2UoKTtmT2UoKTtoT2UoKTttT2UoKTtnT2UoKTtiT2UoKTt2T2UoKTt4T2UoKTt5T2UoKTt3T2UoKTtNT2UoKTtrT2UoKTtTT2UoKTt6T2UoKTtDT2UoKTtfT2UoKTtUT2UoKTtMT2UoKTskT2UoKTtET2UoKTtBT2UoKTtFT2UoKTtQT2UoKTtJT2UoKTtOT2UoKTtST2UoKTtPT2UoKTtGT2UoKTtCT2UoKTtIT2UoKTtxT2UoKTtWT2UoKTtqT2UoKTtVT2UoKTtXT2UoKTtHT2UoKTtZT2UoKTtLT2UoKTtaT2UoKTtYT2UoKTtRT2UoKTtKT2UoKTtlRmUoKTt0RmUoKTthRmUoKTtyRmUoKTtzRmUoKTtpRmUoKTtvRmUoKTtuRmUoKTtsRmUoKTtjRmUoKTtkRmUoKTt1RmUoKTtwRmUoKTtmRmUoKTtoRmUoKTttRmUoKTtnRmUoKTtiRmUoKTt2RmUoKTt4RmUoKTt5RmUoKTt3RmUoKTtNRmUoKTtrRmUoKTtTRmUoKTt6RmUoKTtDRmUoKTtfRmUoKTtURmUoKTtMRmUoKTskRmUoKTtERmUoKTtBRmUoKTtFRmUoKTtQRmUoKTtJRmUoKTtORmUoKTtSRmUoKTtPRmUoKTtGRmUoKTtCRmUoKTtIRmUoKTtxRmUoKTtWRmUoKTtqRmUoKTtVRmUoKTtXRmUoKTtHRmUoKTtZRmUoKTtLRmUoKTtaRmUoKTtYRmUoKTtRRmUoKTtKRmUoKTtlQmUoKTt0QmUoKTthQmUoKTtyQmUoKTtzQmUoKTtpQmUoKTtvQmUoKTtuQmUoKTtsQmUoKTtjQmUoKTtkQmUoKTt1QmUoKTtwQmUoKTtmQmUoKTtoQmUoKTttQmUoKTtnQmUoKTtiQmUoKTt2QmUoKTt4QmUoKTt5QmUoKTt3QmUoKTtNQmUoKTtrQmUoKTtTQmUoKTt6QmUoKTtDQmUoKTtfQmUoKTtUQmUoKTtMQmUoKTskQmUoKTtEQmUoKTtBQmUoKTtFQmUoKTtQQmUoKTtJQmUoKTtOQmUoKTtSQmUoKTtPQmUoKTtGQmUoKTtCQmUoKTtIQmUoKTtxQmUoKTtWQmUoKTtqQmUoKTtVQmUoKTtXQmUoKTtHQmUoKTtZQmUoKTtLQmUoKTtaQmUoKTtYQmUoKTtRQmUoKTtKQmUoKTtlSGUoKTt0SGUoKTthSGUoKTtySGUoKTtzSGUoKTtpSGUoKTtvSGUoKTtuSGUoKTtsSGUoKTtjSGUoKTtkSGUoKTt1SGUoKTtwSGUoKTtmSGUoKTtoSGUoKTttSGUoKTtnSGUoKTtiSGUoKTt2SGUoKTt4SGUoKTt5SGUoKTt3SGUoKTtNSGUoKTtrSGUoKTtTSGUoKTt6SGUoKTtDSGUoKTtfSGUoKTtUSGUoKTtMSGUoKTskSGUoKTtESGUoKTtBSGUoKTtFSGUoKTtQSGUoKTtJSGUoKTtOSGUoKTtSSGUoKTtPSGUoKTtGSGUoKTtCSGUoKTtISGUoKTtxSGUoKTtWSGUoKTtqSGUoKTtVSGUoKTtXSGUoKTtHSGUoKTtZSGUoKTtLSGUoKTtaSGUoKTtYSGUoKTtRSGUoKTtKSGUoKTtlcWUoKTt0cWUoKTthcWUoKTtycWUoKTtzcWUoKTtpcWUoKTtvcWUoKTtucWUoKTtscWUoKTtjcWUoKTtkcWUoKTt1cWUoKTtwcWUoKTtmcWUoKTtocWUoKTttcWUoKTtncWUoKTticWUoKTt2cWUoKTt4cWUoKTt5cWUoKTt3cWUoKTtNcWUoKTtrcWUoKTtTcWUoKTt6cWUoKTtDcWUoKTtfcWUoKTtUcWUoKTtMcWUoKTskcWUoKTtEcWUoKTtBcWUoKTtFcWUoKTtQcWUoKTtJcWUoKTtOcWUoKTtScWUoKTtPcWUoKTtGcWUoKTtCcWUoKTtIcWUoKTtxcWUoKTtWcWUoKTtqcWUoKTtVcWUoKTtXcWUoKTtHcWUoKTtZcWUoKTtLcWUoKTtacWUoKTtYcWUoKTtRcWUoKTtKcWUoKTtlVmUoKTt0VmUoKTthVmUoKTtyVmUoKTtzVmUoKTtpVmUoKTtvVmUoKTtuVmUoKTtsVmUoKTtjVmUoKTtkVmUoKTt1VmUoKTtwVmUoKTtmVmUoKTtoVmUoKTttVmUoKTtnVmUoKTtiVmUoKTt2VmUoKTt4VmUoKTt5VmUoKTt3VmUoKTtNVmUoKTtrVmUoKTtTVmUoKTt6VmUoKTtDVmUoKTtfVmUoKTtUVmUoKTtMVmUoKTskVmUoKTtEVmUoKTtBVmUoKTtFVmUoKTtQVmUoKTtJVmUoKTtOVmUoKTtSVmUoKTtPVmUoKTtGVmUoKTtCVmUoKTtIVmUoKTtxVmUoKTtWVmUoKTtqVmUoKTtVVmUoKTtXVmUoKTtHVmUoKTtZVmUoKTtLVmUoKTtaVmUoKTtYVmUoKTtRVmUoKTtKVmUoKTtlamUoKTt0amUoKTthamUoKTtyamUoKTtzamUoKTtpamUoKTtvamUoKTtuamUoKTtsamUoKTtjamUoKTtkamUoKTt1amUoKTtwamUoKTtmamUoKTtoamUoKTttamUoKTtnamUoKTtiamUoKTt2amUoKTt4amUoKTt5amUoKTt3amUoKTtNamUoKTtramUoKTtTamUoKTt6amUoKTtDamUoKTtfamUoKTtUamUoKTtMamUoKTskamUoKTtEamUoKTtBamUoKTtFamUoKTtQamUoKTtJamUoKTtOamUoKTtSamUoKTtPamUoKTtGamUoKTtCamUoKTtIamUoKTtxamUoKTtWamUoKTtqamUoKTtVamUoKTtXamUoKTtHamUoKTtZamUoKTtLamUoKTtaamUoKTtYamUoKTtRamUoKTtKamUoKTtlVWUoKTt0VWUoKTthVWUoKTtyVWUoKTtzVWUoKTtpVWUoKTtvVWUoKTtuVWUoKTtsVWUoKTtjVWUoKTtkVWUoKTt1VWUoKTtwVWUoKTtmVWUoKTtoVWUoKTttVWUoKTtnVWUoKTtiVWUoKTt2VWUoKTt4VWUoKTt5VWUoKTt3VWUoKTtNVWUoKTtrVWUoKTtTVWUoKTt6VWUoKTtDVWUoKTtfVWUoKTtUVWUoKTtMVWUoKTskVWUoKTtEVWUoKTtBVWUoKTtFVWUoKTtQVWUoKTtJVWUoKTtOVWUoKTtSVWUoKTtPVWUoKTtGVWUoKTtCVWUoKTtIVWUoKTtxVWUoKTtWVWUoKTtqVWUoKTtVVWUoKTtXVWUoKTtHVWUoKTtZVWUoKTtLVWUoKTtaVWUoKTtYVWUoKTtRVWUoKTtKVWUoKTtlV2UoKTt0V2UoKTthV2UoKTtyV2UoKTtzV2UoKTtpV2UoKTtvV2UoKTtuV2UoKTtsV2UoKTtjV2UoKTtkV2UoKTt1V2UoKTtwV2UoKTtmV2UoKTtoV2UoKTttV2UoKTtnV2UoKTtiV2UoKTt2V2UoKTt4V2UoKTt5V2UoKTt3V2UoKTtNV2UoKTtrV2UoKTtTV2UoKTt6V2UoKTtDV2UoKTtfV2UoKTtUV2UoKTtMV2UoKTskV2UoKTtEV2UoKTtBV2UoKTtFV2UoKTtQV2UoKTtJV2UoKTtOV2UoKTtSV2UoKTtPV2UoKTtGV2UoKTtCV2UoKTtIV2UoKTtxV2UoKTtWV2UoKTtqV2UoKTtVV2UoKTtXV2UoKTtHV2UoKTtZV2UoKTtLV2UoKTtaV2UoKTtYV2UoKTtRV2UoKTtKV2UoKTtlR2UoKTt0R2UoKTthR2UoKTtyR2UoKTtzR2UoKTtpR2UoKTtvR2UoKTtuR2UoKTtsR2UoKTtjR2UoKTtkR2UoKTt1R2UoKTtwR2UoKTtmR2UoKTtoR2UoKTttR2UoKTtnR2UoKTtiR2UoKTt2R2UoKTt4R2UoKTt5R2UoKTt3R2UoKTtNR2UoKTtrR2UoKTtTR2UoKTt6R2UoKTtDR2UoKTtfR2UoKTtUR2UoKTtMR2UoKTskR2UoKTtER2UoKTtBR2UoKTtFR2UoKTtQR2UoKTtJR2UoKTtOR2UoKTtSR2UoKTtPR2UoKTtGR2UoKTtCR2UoKTtIR2UoKTtxR2UoKTtWR2UoKTtqR2UoKTtVR2UoKTtXR2UoKTtHR2UoKTtZR2UoKTtLR2UoKTtaR2UoKTtYR2UoKTtRR2UoKTtKR2UoKTtlWWUoKTt0WWUoKTthWWUoKTtyWWUoKTtzWWUoKTtpWWUoKTtvWWUoKTtuWWUoKTtsWWUoKTtjWWUoKTtkWWUoKTt1WWUoKTtwWWUoKTtmWWUoKTtoWWUoKTttWWUoKTtnWWUoKTtiWWUoKTt2WWUoKTt4WWUoKTt5WWUoKTt3WWUoKTtNWWUoKTt9KTt2YXIgajI9e307cnQoajIse0FBcnJvd0Rvd246KCk9Pk12LEFBcnJvd1VwOigpPT5rdixBTGFyZ2VTbWFsbDooKT0+U3YsQWNjZXNzaWJpbGl0eTooKT0+enYsQWN0aXZpdHk6KCk9PkN2LEFjdGl2aXR5U3F1YXJlOigpPT5ycCxBaXJWZW50OigpPT5fdixBaXJwbGF5OigpPT5UdixBbGFybUNoZWNrOigpPT52ZCxBbGFybUNsb2NrOigpPT4kdixBbGFybUNsb2NrQ2hlY2s6KCk9PnZkLEFsYXJtQ2xvY2tNaW51czooKT0+eGQsQWxhcm1DbG9ja09mZjooKT0+THYsQWxhcm1DbG9ja1BsdXM6KCk9PnlkLEFsYXJtTWludXM6KCk9PnhkLEFsYXJtUGx1czooKT0+eWQsQWxhcm1TbW9rZTooKT0+RHYsQWxidW06KCk9PkF2LEFsZXJ0Q2lyY2xlOigpPT5ZZCxBbGVydE9jdGFnb246KCk9PkF1LEFsZXJ0VHJpYW5nbGU6KCk9PnBmLEFsaWduQ2VudGVyOigpPT5zZixBbGlnbkNlbnRlckhvcml6b250YWw6KCk9PkV2LEFsaWduQ2VudGVyVmVydGljYWw6KCk9PlB2LEFsaWduRW5kSG9yaXpvbnRhbDooKT0+SXYsQWxpZ25FbmRWZXJ0aWNhbDooKT0+UnYsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZUNlbnRlcjooKT0+TnYsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZUVuZDooKT0+T3YsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZVN0YXJ0OigpPT5GdixBbGlnbkhvcml6b250YWxKdXN0aWZ5Q2VudGVyOigpPT5CdixBbGlnbkhvcml6b250YWxKdXN0aWZ5RW5kOigpPT5IdixBbGlnbkhvcml6b250YWxKdXN0aWZ5U3RhcnQ6KCk9PnF2LEFsaWduSG9yaXpvbnRhbFNwYWNlQXJvdW5kOigpPT5WdixBbGlnbkhvcml6b250YWxTcGFjZUJldHdlZW46KCk9Pld2LEFsaWduSnVzdGlmeTooKT0+bmYsQWxpZ25MZWZ0OigpPT5wYyxBbGlnblJpZ2h0OigpPT5vZixBbGlnblN0YXJ0SG9yaXpvbnRhbDooKT0+anYsQWxpZ25TdGFydFZlcnRpY2FsOigpPT5VdixBbGlnblZlcnRpY2FsRGlzdHJpYnV0ZUNlbnRlcjooKT0+R3YsQWxpZ25WZXJ0aWNhbERpc3RyaWJ1dGVFbmQ6KCk9Pll2LEFsaWduVmVydGljYWxEaXN0cmlidXRlU3RhcnQ6KCk9Pkt2LEFsaWduVmVydGljYWxKdXN0aWZ5Q2VudGVyOigpPT5adixBbGlnblZlcnRpY2FsSnVzdGlmeUVuZDooKT0+WHYsQWxpZ25WZXJ0aWNhbEp1c3RpZnlTdGFydDooKT0+UXYsQWxpZ25WZXJ0aWNhbFNwYWNlQXJvdW5kOigpPT5KdixBbGlnblZlcnRpY2FsU3BhY2VCZXR3ZWVuOigpPT5leCxBbWJ1bGFuY2U6KCk9PnR4LEFtcGVyc2FuZDooKT0+cngsQW1wZXJzYW5kczooKT0+YXgsQW1waG9yYTooKT0+c3gsQW5jaG9yOigpPT5peCxBbmdyeTooKT0+b3gsQW5ub3llZDooKT0+bngsQW50ZW5uYTooKT0+bHgsQW52aWw6KCk9PmN4LEFwZXJ0dXJlOigpPT5keCxBcHBXaW5kb3c6KCk9PnB4LEFwcFdpbmRvd01hYzooKT0+dXgsQXBwbGU6KCk9Pmh4LEFyY2hpdmU6KCk9PmJ4LEFyY2hpdmVSZXN0b3JlOigpPT5meCxBcmNoaXZlWDooKT0+bXgsQXJlYUNoYXJ0OigpPT5JZCxBcm1jaGFpcjooKT0+Z3gsQXJyb3dCaWdEb3duOigpPT54eCxBcnJvd0JpZ0Rvd25EYXNoOigpPT52eCxBcnJvd0JpZ0xlZnQ6KCk9Pnl4LEFycm93QmlnTGVmdERhc2g6KCk9Pnd4LEFycm93QmlnUmlnaHQ6KCk9Pmt4LEFycm93QmlnUmlnaHREYXNoOigpPT5NeCxBcnJvd0JpZ1VwOigpPT56eCxBcnJvd0JpZ1VwRGFzaDooKT0+U3gsQXJyb3dEb3duOigpPT5JeCxBcnJvd0Rvd24wMTooKT0+Q3gsQXJyb3dEb3duMTA6KCk9Pl94LEFycm93RG93bkFaOigpPT53ZCxBcnJvd0Rvd25BejooKT0+d2QsQXJyb3dEb3duQ2lyY2xlOigpPT5LZCxBcnJvd0Rvd25Gcm9tTGluZTooKT0+VHgsQXJyb3dEb3duTGVmdDooKT0+THgsQXJyb3dEb3duTGVmdEZyb21DaXJjbGU6KCk9PlhkLEFycm93RG93bkxlZnRGcm9tU3F1YXJlOigpPT5scCxBcnJvd0Rvd25MZWZ0U3F1YXJlOigpPT5zcCxBcnJvd0Rvd25OYXJyb3dXaWRlOigpPT4keCxBcnJvd0Rvd25SaWdodDooKT0+RHgsQXJyb3dEb3duUmlnaHRGcm9tQ2lyY2xlOigpPT5RZCxBcnJvd0Rvd25SaWdodEZyb21TcXVhcmU6KCk9PmNwLEFycm93RG93blJpZ2h0U3F1YXJlOigpPT5pcCxBcnJvd0Rvd25TcXVhcmU6KCk9Pm9wLEFycm93RG93blRvRG90OigpPT5BeCxBcnJvd0Rvd25Ub0xpbmU6KCk9PlB4LEFycm93RG93blVwOigpPT5FeCxBcnJvd0Rvd25XaWRlTmFycm93OigpPT5NZCxBcnJvd0Rvd25aQTooKT0+a2QsQXJyb3dEb3duWmE6KCk9PmtkLEFycm93TGVmdDooKT0+QngsQXJyb3dMZWZ0Q2lyY2xlOigpPT5aZCxBcnJvd0xlZnRGcm9tTGluZTooKT0+TngsQXJyb3dMZWZ0UmlnaHQ6KCk9PlJ4LEFycm93TGVmdFNxdWFyZTooKT0+bnAsQXJyb3dMZWZ0VG9MaW5lOigpPT5PeCxBcnJvd1JpZ2h0OigpPT5WeCxBcnJvd1JpZ2h0Q2lyY2xlOigpPT50NixBcnJvd1JpZ2h0RnJvbUxpbmU6KCk9PkZ4LEFycm93UmlnaHRMZWZ0OigpPT5IeCxBcnJvd1JpZ2h0U3F1YXJlOigpPT5wcCxBcnJvd1JpZ2h0VG9MaW5lOigpPT5xeCxBcnJvd1VwOigpPT5KeCxBcnJvd1VwMDE6KCk9PlV4LEFycm93VXAxMDooKT0+angsQXJyb3dVcEFaOigpPT5TZCxBcnJvd1VwQXo6KCk9PlNkLEFycm93VXBDaXJjbGU6KCk9PmE2LEFycm93VXBEb3duOigpPT5XeCxBcnJvd1VwRnJvbURvdDooKT0+R3gsQXJyb3dVcEZyb21MaW5lOigpPT5ZeCxBcnJvd1VwTGVmdDooKT0+S3gsQXJyb3dVcExlZnRGcm9tQ2lyY2xlOigpPT5KZCxBcnJvd1VwTGVmdEZyb21TcXVhcmU6KCk9PmRwLEFycm93VXBMZWZ0U3F1YXJlOigpPT5mcCxBcnJvd1VwTmFycm93V2lkZTooKT0+emQsQXJyb3dVcFJpZ2h0OigpPT5aeCxBcnJvd1VwUmlnaHRGcm9tQ2lyY2xlOigpPT5lNixBcnJvd1VwUmlnaHRGcm9tU3F1YXJlOigpPT51cCxBcnJvd1VwUmlnaHRTcXVhcmU6KCk9PmhwLEFycm93VXBTcXVhcmU6KCk9Pm1wLEFycm93VXBUb0xpbmU6KCk9PlF4LEFycm93VXBXaWRlTmFycm93OigpPT5YeCxBcnJvd1VwWkE6KCk9PkNkLEFycm93VXBaYTooKT0+Q2QsQXJyb3dzVXBGcm9tTGluZTooKT0+dHksQXN0ZXJpc2s6KCk9PmV5LEFzdGVyaXNrU3F1YXJlOigpPT5ncCxBc3Ryb2lkOigpPT5heSxBdFNpZ246KCk9PnJ5LEF0b206KCk9PnN5LEF1ZGlvTGluZXM6KCk9Pml5LEF1ZGlvV2F2ZWZvcm06KCk9Pm95LEF3YXJkOigpPT5ueSxBeGU6KCk9Pmx5LEF4aXMzRDooKT0+X2QsQXhpczNkOigpPT5fZCxCYWJ5OigpPT5jeSxCYWNrcGFjazooKT0+ZHksQmFkZ2U6KCk9PkN5LEJhZGdlQWxlcnQ6KCk9PnV5LEJhZGdlQ2VudDooKT0+cHksQmFkZ2VDaGVjazooKT0+VGQsQmFkZ2VEb2xsYXJTaWduOigpPT5meSxCYWRnZUV1cm86KCk9Pmh5LEJhZGdlSGVscDooKT0+TGQsQmFkZ2VJbmRpYW5SdXBlZTooKT0+bXksQmFkZ2VJbmZvOigpPT5neSxCYWRnZUphcGFuZXNlWWVuOigpPT5ieSxCYWRnZU1pbnVzOigpPT52eSxCYWRnZVBlcmNlbnQ6KCk9Pnh5LEJhZGdlUGx1czooKT0+eXksQmFkZ2VQb3VuZFN0ZXJsaW5nOigpPT53eSxCYWRnZVF1ZXN0aW9uTWFyazooKT0+TGQsQmFkZ2VSdXNzaWFuUnVibGU6KCk9Pmt5LEJhZGdlU3dpc3NGcmFuYzooKT0+TXksQmFkZ2VUdXJraXNoTGlyYTooKT0+U3ksQmFkZ2VYOigpPT56eSxCYWdnYWdlQ2xhaW06KCk9Pl95LEJhbGxvb246KCk9Pkx5LEJhbjooKT0+VHksQmFuYW5hOigpPT4keSxCYW5kYWdlOigpPT5EeSxCYW5rbm90ZTooKT0+SXksQmFua25vdGVBcnJvd0Rvd246KCk9PkV5LEJhbmtub3RlQXJyb3dVcDooKT0+QXksQmFua25vdGVYOigpPT5QeSxCYXJDaGFydDooKT0+VmQsQmFyQ2hhcnQyOigpPT5qZCxCYXJDaGFydDM6KCk9PkhkLEJhckNoYXJ0NDooKT0+QmQsQmFyQ2hhcnRCaWc6KCk9PkZkLEJhckNoYXJ0SG9yaXpvbnRhbDooKT0+UmQsQmFyQ2hhcnRIb3Jpem9udGFsQmlnOigpPT5OZCxCYXJjb2RlOigpPT5OeSxCYXJyZWw6KCk9PlJ5LEJhc2VsaW5lOigpPT5PeSxCYXRoOigpPT5GeSxCYXR0ZXJ5OigpPT5XeSxCYXR0ZXJ5Q2hhcmdpbmc6KCk9PkJ5LEJhdHRlcnlGdWxsOigpPT5IeSxCYXR0ZXJ5TG93OigpPT5xeSxCYXR0ZXJ5TWVkaXVtOigpPT5WeSxCYXR0ZXJ5UGx1czooKT0+anksQmF0dGVyeVdhcm5pbmc6KCk9PlV5LEJlYWtlcjooKT0+WXksQmVhbjooKT0+WnksQmVhbk9mZjooKT0+R3ksQmVkOigpPT5KeSxCZWREb3VibGU6KCk9Pkt5LEJlZFNpbmdsZTooKT0+WHksQmVlZjooKT0+ZXcsQmVlZk9mZjooKT0+UXksQmVlcjooKT0+YXcsQmVlck9mZjooKT0+dHcsQmVsbDooKT0+ZHcsQmVsbENoZWNrOigpPT5ydyxCZWxsRG90OigpPT5zdyxCZWxsRWxlY3RyaWM6KCk9Pml3LEJlbGxNaW51czooKT0+bncsQmVsbE9mZjooKT0+b3csQmVsbFBsdXM6KCk9Pmx3LEJlbGxSaW5nOigpPT5jdyxCZXR3ZWVuSG9yaXpvbmFsRW5kOigpPT4kZCxCZXR3ZWVuSG9yaXpvbmFsU3RhcnQ6KCk9PkRkLEJldHdlZW5Ib3Jpem9udGFsRW5kOigpPT4kZCxCZXR3ZWVuSG9yaXpvbnRhbFN0YXJ0OigpPT5EZCxCZXR3ZWVuVmVydGljYWxFbmQ6KCk9PnV3LEJldHdlZW5WZXJ0aWNhbFN0YXJ0OigpPT5wdyxCaWNlcHNGbGV4ZWQ6KCk9PmZ3LEJpa2U6KCk9Pmh3LEJpbmFyeTooKT0+bXcsQmlub2N1bGFyczooKT0+Z3csQmlvaGF6YXJkOigpPT5idyxCaXJkOigpPT52dyxCaXJkaG91c2U6KCk9Pnh3LEJpdGNvaW46KCk9Pnl3LEJsZW5kOigpPT53dyxCbGluZHM6KCk9Pk13LEJsb2NrczooKT0+a3csQmx1ZXRvb3RoOigpPT5DdyxCbHVldG9vdGhDb25uZWN0ZWQ6KCk9PlN3LEJsdWV0b290aE9mZjooKT0+encsQmx1ZXRvb3RoU2VhcmNoaW5nOigpPT5fdyxCb2xkOigpPT5UdyxCb2x0OigpPT4kdyxCb21iOigpPT5MdyxCb25lOigpPT5EdyxCb29rOigpPT5hTSxCb29rQTooKT0+QXcsQm9va0FsZXJ0OigpPT5FdyxCb29rQXVkaW86KCk9PlB3LEJvb2tDaGVjazooKT0+SXcsQm9va0NvcHk6KCk9Pk53LEJvb2tEYXNoZWQ6KCk9PkFkLEJvb2tEb3duOigpPT5SdyxCb29rSGVhZHBob25lczooKT0+T3csQm9va0hlYXJ0OigpPT5GdyxCb29rSW1hZ2U6KCk9PkJ3LEJvb2tLZXk6KCk9Pkh3LEJvb2tMb2NrOigpPT5WdyxCb29rTWFya2VkOigpPT5xdyxCb29rTWludXM6KCk9Pmp3LEJvb2tPcGVuOigpPT5ZdyxCb29rT3BlbkNoZWNrOigpPT5VdyxCb29rT3BlblRleHQ6KCk9Pld3LEJvb2tQbHVzOigpPT5LdyxCb29rU2VhcmNoOigpPT5HdyxCb29rVGVtcGxhdGU6KCk9PkFkLEJvb2tUZXh0OigpPT5adyxCb29rVHlwZTooKT0+SncsQm9va1VwOigpPT5RdyxCb29rVXAyOigpPT5YdyxCb29rVXNlcjooKT0+ZU0sQm9va1g6KCk9PnRNLEJvb2ttYXJrOigpPT5sTSxCb29rbWFya0NoZWNrOigpPT5yTSxCb29rbWFya01pbnVzOigpPT5zTSxCb29rbWFya09mZjooKT0+aU0sQm9va21hcmtQbHVzOigpPT5vTSxCb29rbWFya1g6KCk9Pm5NLEJvb21Cb3g6KCk9PmNNLEJvdDooKT0+cE0sQm90TWVzc2FnZVNxdWFyZTooKT0+ZE0sQm90T2ZmOigpPT51TSxCb3R0bGVXaW5lOigpPT5oTSxCb3dBcnJvdzooKT0+Zk0sQm94OigpPT5tTSxCb3hTZWxlY3Q6KCk9PkxwLEJveGVzOigpPT5nTSxCcmFjZXM6KCk9PkVkLEJyYWNrZXRzOigpPT5iTSxCcmFpbjooKT0+d00sQnJhaW5DaXJjdWl0OigpPT52TSxCcmFpbkNvZzooKT0+eE0sQnJpY2tXYWxsOigpPT5rTSxCcmlja1dhbGxGaXJlOigpPT55TSxCcmlja1dhbGxTaGllbGQ6KCk9Pk1NLEJyaWVmY2FzZTooKT0+X00sQnJpZWZjYXNlQnVzaW5lc3M6KCk9PlNNLEJyaWVmY2FzZUNvbnZleW9yQmVsdDooKT0+ek0sQnJpZWZjYXNlTWVkaWNhbDooKT0+Q00sQnJpbmdUb0Zyb250OigpPT5UTSxCcnVzaDooKT0+JE0sQnJ1c2hDbGVhbmluZzooKT0+TE0sQnViYmxlczooKT0+QU0sQnVnOigpPT5QTSxCdWdPZmY6KCk9PkRNLEJ1Z1BsYXk6KCk9PkVNLEJ1aWxkaW5nOigpPT5JTSxCdWlsZGluZzI6KCk9Pk5NLEJ1czooKT0+T00sQnVzRnJvbnQ6KCk9PlJNLENhYmxlOigpPT5GTSxDYWJsZUNhcjooKT0+Qk0sQ2FrZTooKT0+cU0sQ2FrZVNsaWNlOigpPT5ITSxDYWxjdWxhdG9yOigpPT5qTSxDYWxlbmRhcjooKT0+ZGssQ2FsZW5kYXIxOigpPT5WTSxDYWxlbmRhckFycm93RG93bjooKT0+VU0sQ2FsZW5kYXJBcnJvd1VwOigpPT5XTSxDYWxlbmRhckNoZWNrOigpPT5ZTSxDYWxlbmRhckNoZWNrMjooKT0+R00sQ2FsZW5kYXJDbG9jazooKT0+S00sQ2FsZW5kYXJDb2c6KCk9PlpNLENhbGVuZGFyRGF5czooKT0+WE0sQ2FsZW5kYXJGb2xkOigpPT5RTSxDYWxlbmRhckhlYXJ0OigpPT5layxDYWxlbmRhck1pbnVzOigpPT5hayxDYWxlbmRhck1pbnVzMjooKT0+Sk0sQ2FsZW5kYXJPZmY6KCk9PnRrLENhbGVuZGFyUGx1czooKT0+aWssQ2FsZW5kYXJQbHVzMjooKT0+cmssQ2FsZW5kYXJSYW5nZTooKT0+c2ssQ2FsZW5kYXJTZWFyY2g6KCk9Pm9rLENhbGVuZGFyU3luYzooKT0+bmssQ2FsZW5kYXJYOigpPT5jayxDYWxlbmRhclgyOigpPT5sayxDYWxlbmRhcnM6KCk9PnVrLENhbWVyYTooKT0+ZmssQ2FtZXJhT2ZmOigpPT5wayxDYW5kbGVzdGlja0NoYXJ0OigpPT5PZCxDYW5keTooKT0+bWssQ2FuZHlDYW5lOigpPT5oayxDYW5keU9mZjooKT0+Z2ssQ2FubmFiaXM6KCk9PnZrLENhbm5hYmlzT2ZmOigpPT5iayxDYXB0aW9uczooKT0+UGQsQ2FwdGlvbnNPZmY6KCk9PnhrLENhcjooKT0+d2ssQ2FyRnJvbnQ6KCk9PnlrLENhclRheGlGcm9udDooKT0+TWssQ2FyYXZhbjooKT0+a2ssQ2FyZFNpbTooKT0+U2ssQ2Fycm90OigpPT56ayxDYXNlTG93ZXI6KCk9PkNrLENhc2VTZW5zaXRpdmU6KCk9Pl9rLENhc2VVcHBlcjooKT0+VGssQ2Fzc2V0dGVUYXBlOigpPT5MayxDYXN0OigpPT4kayxDYXN0bGU6KCk9PkRrLENhdDooKT0+QWssQ2N0djooKT0+UGssQ2N0dk9mZjooKT0+RWssQ2hhcnRBcmVhOigpPT5JZCxDaGFydEJhcjooKT0+UmQsQ2hhcnRCYXJCaWc6KCk9Pk5kLENoYXJ0QmFyRGVjcmVhc2luZzooKT0+SWssQ2hhcnRCYXJJbmNyZWFzaW5nOigpPT5OayxDaGFydEJhclN0YWNrZWQ6KCk9PlJrLENoYXJ0Q2FuZGxlc3RpY2s6KCk9Pk9kLENoYXJ0Q29sdW1uOigpPT5IZCxDaGFydENvbHVtbkJpZzooKT0+RmQsQ2hhcnRDb2x1bW5EZWNyZWFzaW5nOigpPT5PayxDaGFydENvbHVtbkluY3JlYXNpbmc6KCk9PkJkLENoYXJ0Q29sdW1uU3RhY2tlZDooKT0+RmssQ2hhcnRHYW50dDooKT0+QmssQ2hhcnRMaW5lOigpPT5xZCxDaGFydE5ldHdvcms6KCk9PkhrLENoYXJ0Tm9BeGVzQ29sdW1uOigpPT5qZCxDaGFydE5vQXhlc0NvbHVtbkRlY3JlYXNpbmc6KCk9PnFrLENoYXJ0Tm9BeGVzQ29sdW1uSW5jcmVhc2luZzooKT0+VmQsQ2hhcnROb0F4ZXNDb21iaW5lZDooKT0+VmssQ2hhcnROb0F4ZXNHYW50dDooKT0+VWQsQ2hhcnRQaWU6KCk9PldkLENoYXJ0U2NhdHRlcjooKT0+R2QsQ2hhcnRTcGxpbmU6KCk9PmprLENoZWNrOigpPT5HayxDaGVja0NoZWNrOigpPT5VayxDaGVja0NpcmNsZTooKT0+cjYsQ2hlY2tDaXJjbGUyOigpPT5zNixDaGVja0xpbmU6KCk9PldrLENoZWNrU3F1YXJlOigpPT55cCxDaGVja1NxdWFyZTI6KCk9PndwLENoZWZIYXQ6KCk9PllrLENoZXJyeTooKT0+S2ssQ2hlc3NCaXNob3A6KCk9PlhrLENoZXNzS2luZzooKT0+WmssQ2hlc3NLbmlnaHQ6KCk9PlFrLENoZXNzUGF3bjooKT0+SmssQ2hlc3NRdWVlbjooKT0+YVMsQ2hlc3NSb29rOigpPT5lUyxDaGV2cm9uRG93bjooKT0+dFMsQ2hldnJvbkRvd25DaXJjbGU6KCk9Pm82LENoZXZyb25Eb3duU3F1YXJlOigpPT5NcCxDaGV2cm9uRmlyc3Q6KCk9PnJTLENoZXZyb25MYXN0OigpPT5zUyxDaGV2cm9uTGVmdDooKT0+aVMsQ2hldnJvbkxlZnRDaXJjbGU6KCk9Pmk2LENoZXZyb25MZWZ0U3F1YXJlOigpPT5rcCxDaGV2cm9uUmlnaHQ6KCk9Pm9TLENoZXZyb25SaWdodENpcmNsZTooKT0+bjYsQ2hldnJvblJpZ2h0U3F1YXJlOigpPT5TcCxDaGV2cm9uVXA6KCk9Pm5TLENoZXZyb25VcENpcmNsZTooKT0+bDYsQ2hldnJvblVwU3F1YXJlOigpPT56cCxDaGV2cm9uc0Rvd246KCk9PmNTLENoZXZyb25zRG93blVwOigpPT5sUyxDaGV2cm9uc0xlZnQ6KCk9PnBTLENoZXZyb25zTGVmdFJpZ2h0OigpPT51UyxDaGV2cm9uc0xlZnRSaWdodEVsbGlwc2lzOigpPT5kUyxDaGV2cm9uc1JpZ2h0OigpPT5oUyxDaGV2cm9uc1JpZ2h0TGVmdDooKT0+ZlMsQ2hldnJvbnNVcDooKT0+bVMsQ2hldnJvbnNVcERvd246KCk9PmdTLENodXJjaDooKT0+YlMsQ2lnYXJldHRlOigpPT54UyxDaWdhcmV0dGVPZmY6KCk9PnZTLENpcmNsZTooKT0+UFMsQ2lyY2xlQWxlcnQ6KCk9PllkLENpcmNsZUFycm93RG93bjooKT0+S2QsQ2lyY2xlQXJyb3dMZWZ0OigpPT5aZCxDaXJjbGVBcnJvd091dERvd25MZWZ0OigpPT5YZCxDaXJjbGVBcnJvd091dERvd25SaWdodDooKT0+UWQsQ2lyY2xlQXJyb3dPdXRVcExlZnQ6KCk9PkpkLENpcmNsZUFycm93T3V0VXBSaWdodDooKT0+ZTYsQ2lyY2xlQXJyb3dSaWdodDooKT0+dDYsQ2lyY2xlQXJyb3dVcDooKT0+YTYsQ2lyY2xlQ2hlY2s6KCk9PnM2LENpcmNsZUNoZWNrQmlnOigpPT5yNixDaXJjbGVDaGV2cm9uRG93bjooKT0+bzYsQ2lyY2xlQ2hldnJvbkxlZnQ6KCk9Pmk2LENpcmNsZUNoZXZyb25SaWdodDooKT0+bjYsQ2lyY2xlQ2hldnJvblVwOigpPT5sNixDaXJjbGVEYXNoZWQ6KCk9PnlTLENpcmNsZURpdmlkZTooKT0+YzYsQ2lyY2xlRG9sbGFyU2lnbjooKT0+d1MsQ2lyY2xlRG90OigpPT5TUyxDaXJjbGVEb3REYXNoZWQ6KCk9Pk1TLENpcmNsZUVsbGlwc2lzOigpPT5rUyxDaXJjbGVFcXVhbDooKT0+elMsQ2lyY2xlRmFkaW5nQXJyb3dVcDooKT0+Q1MsQ2lyY2xlRmFkaW5nUGx1czooKT0+X1MsQ2lyY2xlR2F1Z2U6KCk9PmQ2LENpcmNsZUhlbHA6KCk9PnNjLENpcmNsZU1pbnVzOigpPT51NixDaXJjbGVPZmY6KCk9PlRTLENpcmNsZVBhcmtpbmc6KCk9PmY2LENpcmNsZVBhcmtpbmdPZmY6KCk9PnA2LENpcmNsZVBhdXNlOigpPT5oNixDaXJjbGVQZXJjZW50OigpPT5tNixDaXJjbGVQaWxlOigpPT5MUyxDaXJjbGVQbGF5OigpPT5nNixDaXJjbGVQbHVzOigpPT5iNixDaXJjbGVQb3VuZFN0ZXJsaW5nOigpPT4kUyxDaXJjbGVQb3dlcjooKT0+djYsQ2lyY2xlUXVlc3Rpb25NYXJrOigpPT5zYyxDaXJjbGVTbGFzaDooKT0+RFMsQ2lyY2xlU2xhc2gyOigpPT54NixDaXJjbGVTbGFzaGVkOigpPT54NixDaXJjbGVTbWFsbDooKT0+QVMsQ2lyY2xlU3RhcjooKT0+RVMsQ2lyY2xlU3RvcDooKT0+eTYsQ2lyY2xlVXNlcjooKT0+TTYsQ2lyY2xlVXNlclJvdW5kOigpPT53NixDaXJjbGVYOigpPT5rNixDaXJjdWl0Qm9hcmQ6KCk9PklTLENpdHJ1czooKT0+TlMsQ2xhcHBlcmJvYXJkOigpPT5SUyxDbGlwYm9hcmQ6KCk9PllTLENsaXBib2FyZENoZWNrOigpPT5PUyxDbGlwYm9hcmRDbG9jazooKT0+RlMsQ2xpcGJvYXJkQ29weTooKT0+QlMsQ2xpcGJvYXJkRWRpdDooKT0+ejYsQ2xpcGJvYXJkTGlzdDooKT0+SFMsQ2xpcGJvYXJkTWludXM6KCk9PnFTLENsaXBib2FyZFBhc3RlOigpPT5WUyxDbGlwYm9hcmRQZW46KCk9Pno2LENsaXBib2FyZFBlbkxpbmU6KCk9PlM2LENsaXBib2FyZFBsdXM6KCk9PmpTLENsaXBib2FyZFNpZ25hdHVyZTooKT0+UzYsQ2xpcGJvYXJkVHlwZTooKT0+VVMsQ2xpcGJvYXJkWDooKT0+V1MsQ2xvY2s6KCk9PnB6LENsb2NrMTooKT0+R1MsQ2xvY2sxMDooKT0+S1MsQ2xvY2sxMTooKT0+WlMsQ2xvY2sxMjooKT0+WFMsQ2xvY2syOigpPT5RUyxDbG9jazM6KCk9PkpTLENsb2NrNDooKT0+ZXosQ2xvY2s1OigpPT50eixDbG9jazY6KCk9PmF6LENsb2NrNzooKT0+c3osQ2xvY2s4OigpPT5yeixDbG9jazk6KCk9Pml6LENsb2NrQWxlcnQ6KCk9Pm96LENsb2NrQXJyb3dEb3duOigpPT5ueixDbG9ja0Fycm93VXA6KCk9Pmx6LENsb2NrQ2hlY2s6KCk9PmN6LENsb2NrRmFkaW5nOigpPT5keixDbG9ja1BsdXM6KCk9PnV6LENsb3NlZENhcHRpb246KCk9PmZ6LENsb3VkOigpPT5EeixDbG91ZEFsZXJ0OigpPT5oeixDbG91ZEJhY2t1cDooKT0+bXosQ2xvdWRDaGVjazooKT0+Z3osQ2xvdWRDb2c6KCk9PmJ6LENsb3VkRG93bmxvYWQ6KCk9PkM2LENsb3VkRHJpenpsZTooKT0+dnosQ2xvdWRGb2c6KCk9Pnl6LENsb3VkSGFpbDooKT0+eHosQ2xvdWRMaWdodG5pbmc6KCk9Pnd6LENsb3VkTW9vbjooKT0+a3osQ2xvdWRNb29uUmFpbjooKT0+TXosQ2xvdWRPZmY6KCk9Pnp6LENsb3VkUmFpbjooKT0+Q3osQ2xvdWRSYWluV2luZDooKT0+U3osQ2xvdWRTbm93OigpPT5feixDbG91ZFN1bjooKT0+JHosQ2xvdWRTdW5SYWluOigpPT5UeixDbG91ZFN5bmM6KCk9Pkx6LENsb3VkVXBsb2FkOigpPT5fNixDbG91ZHk6KCk9PkF6LENsb3ZlcjooKT0+RXosQ2x1YjooKT0+UHosQ29kZTooKT0+SXosQ29kZTI6KCk9PlQ2LENvZGVTcXVhcmU6KCk9PkNwLENvZGVYbWw6KCk9PlQ2LENvZmZlZTooKT0+TnosQ29nOigpPT5SeixDb2luczooKT0+T3osQ29sdW1uczooKT0+TDYsQ29sdW1uczI6KCk9Pkw2LENvbHVtbnMzOigpPT4kNixDb2x1bW5zM0NvZzooKT0+aWMsQ29sdW1uczQ6KCk9PkZ6LENvbHVtbnNTZXR0aW5nczooKT0+aWMsQ29tYmluZTooKT0+QnosQ29tbWFuZDooKT0+SHosQ29tcGFzczooKT0+cXosQ29tcG9uZW50OigpPT5WeixDb21wdXRlcjooKT0+anosQ29uY2llcmdlQmVsbDooKT0+VXosQ29uZTooKT0+V3osQ29uc3RydWN0aW9uOigpPT5HeixDb250YWN0OigpPT5ZeixDb250YWN0MjooKT0+RDYsQ29udGFjdFJvdW5kOigpPT5ENixDb250YWluZXI6KCk9Pkt6LENvbnRyYXN0OigpPT5aeixDb29raWU6KCk9Plh6LENvb2tpbmdQb3Q6KCk9PlF6LENvcHk6KCk9PnNDLENvcHlDaGVjazooKT0+SnosQ29weU1pbnVzOigpPT5lQyxDb3B5UGx1czooKT0+dEMsQ29weVNsYXNoOigpPT5hQyxDb3B5WDooKT0+ckMsQ29weWxlZnQ6KCk9PmlDLENvcHlyaWdodDooKT0+b0MsQ29ybmVyRG93bkxlZnQ6KCk9Pm5DLENvcm5lckRvd25SaWdodDooKT0+bEMsQ29ybmVyTGVmdERvd246KCk9PmNDLENvcm5lckxlZnRVcDooKT0+ZEMsQ29ybmVyUmlnaHREb3duOigpPT51QyxDb3JuZXJSaWdodFVwOigpPT5wQyxDb3JuZXJVcExlZnQ6KCk9PmZDLENvcm5lclVwUmlnaHQ6KCk9PmhDLENwdTooKT0+bUMsQ3JlYXRpdmVDb21tb25zOigpPT5nQyxDcmVkaXRDYXJkOigpPT5iQyxDcm9pc3NhbnQ6KCk9PnZDLENyb3A6KCk9PnhDLENyb3NzOigpPT55QyxDcm9zc2hhaXI6KCk9PndDLENyb3duOigpPT5NQyxDdWJvaWQ6KCk9PmtDLEN1cFNvZGE6KCk9PlNDLEN1cmx5QnJhY2VzOigpPT5FZCxDdXJyZW5jeTooKT0+ekMsQ3lsaW5kZXI6KCk9PkNDLERhbTooKT0+X0MsRGF0YWJhc2U6KCk9PkRDLERhdGFiYXNlQmFja3VwOigpPT5UQyxEYXRhYmFzZVNlYXJjaDooKT0+JEMsRGF0YWJhc2VaYXA6KCk9PkxDLERlY2ltYWxzQXJyb3dMZWZ0OigpPT5BQyxEZWNpbWFsc0Fycm93UmlnaHQ6KCk9PkVDLERlbGV0ZTooKT0+UEMsRGVzc2VydDooKT0+SUMsRGlhbWV0ZXI6KCk9Pk5DLERpYW1vbmQ6KCk9PkZDLERpYW1vbmRNaW51czooKT0+UkMsRGlhbW9uZFBlcmNlbnQ6KCk9PkE2LERpYW1vbmRQbHVzOigpPT5PQyxEaWNlMTooKT0+QkMsRGljZTI6KCk9PkhDLERpY2UzOigpPT5xQyxEaWNlNDooKT0+VkMsRGljZTU6KCk9PmpDLERpY2U2OigpPT5VQyxEaWNlczooKT0+R0MsRGlmZjooKT0+V0MsRGlzYzooKT0+UUMsRGlzYzI6KCk9PllDLERpc2MzOigpPT5LQyxEaXNjQWxidW06KCk9PlpDLERpdmlkZTooKT0+WEMsRGl2aWRlQ2lyY2xlOigpPT5jNixEaXZpZGVTcXVhcmU6KCk9PkRwLERuYTooKT0+ZV8sRG5hT2ZmOigpPT5KQyxEb2NrOigpPT50XyxEb2c6KCk9PnJfLERvbGxhclNpZ246KCk9PmFfLERvbnV0OigpPT5zXyxEb29yQ2xvc2VkOigpPT5vXyxEb29yQ2xvc2VkTG9ja2VkOigpPT5pXyxEb29yT3BlbjooKT0+bl8sRG90OigpPT5sXyxEb3RTcXVhcmU6KCk9PiRwLERvd25sb2FkOigpPT5jXyxEb3dubG9hZENsb3VkOigpPT5DNixEcmFmdGluZ0NvbXBhc3M6KCk9PmRfLERyYW1hOigpPT5wXyxEcmlsbDooKT0+dV8sRHJvbmU6KCk9PmZfLERyb3BsZXQ6KCk9PmhfLERyb3BsZXRPZmY6KCk9Pm1fLERyb3BsZXRzOigpPT5nXyxEcnVtOigpPT5iXyxEcnVtc3RpY2s6KCk9PnZfLER1bWJiZWxsOigpPT54XyxFYXI6KCk9PndfLEVhck9mZjooKT0+eV8sRWFydGg6KCk9PkU2LEVhcnRoTG9jazooKT0+TV8sRWNsaXBzZTooKT0+a18sRWRpdDooKT0+QzEsRWRpdDI6KCk9PlV1LEVkaXQzOigpPT5qdSxFZ2c6KCk9PnpfLEVnZ0ZyaWVkOigpPT5TXyxFZ2dPZmY6KCk9PkNfLEVsbGlwc2U6KCk9Pl9fLEVsbGlwc2lzOigpPT5JNixFbGxpcHNpc1ZlcnRpY2FsOigpPT5QNixFcXVhbDooKT0+JF8sRXF1YWxBcHByb3hpbWF0ZWx5OigpPT5UXyxFcXVhbE5vdDooKT0+TF8sRXF1YWxTcXVhcmU6KCk9PkFwLEVyYXNlcjooKT0+RF8sRXRoZXJuZXRQb3J0OigpPT5BXyxFdXJvOigpPT5FXyxFdkNoYXJnZXI6KCk9PlBfLEV4cGFuZDooKT0+SV8sRXh0ZXJuYWxMaW5rOigpPT5OXyxFeWU6KCk9PkZfLEV5ZUNsb3NlZDooKT0+Ul8sRXllT2ZmOigpPT5PXyxGYWN0b3J5OigpPT5CXyxGYW46KCk9PkhfLEZhc3RGb3J3YXJkOigpPT5xXyxGZWF0aGVyOigpPT5WXyxGZW5jZTooKT0+VV8sRmVycmlzV2hlZWw6KCk9PmpfLEZpbGU6KCk9PnlULEZpbGVBcmNoaXZlOigpPT5XXyxGaWxlQXVkaW86KCk9Pm9jLEZpbGVBdWRpbzI6KCk9Pm9jLEZpbGVBeGlzM0Q6KCk9Pk42LEZpbGVBeGlzM2Q6KCk9Pk42LEZpbGVCYWRnZTooKT0+UjYsRmlsZUJhZGdlMjooKT0+UjYsRmlsZUJhckNoYXJ0OigpPT5GNixGaWxlQmFyQ2hhcnQyOigpPT5INixGaWxlQm94OigpPT5HXyxGaWxlQnJhY2VzOigpPT5PNixGaWxlQnJhY2VzQ29ybmVyOigpPT5CNixGaWxlQ2hhcnRDb2x1bW46KCk9Pkg2LEZpbGVDaGFydENvbHVtbkluY3JlYXNpbmc6KCk9PkY2LEZpbGVDaGFydExpbmU6KCk9PnE2LEZpbGVDaGFydFBpZTooKT0+VjYsRmlsZUNoZWNrOigpPT5ZXyxGaWxlQ2hlY2syOigpPT5qNixGaWxlQ2hlY2tDb3JuZXI6KCk9Pmo2LEZpbGVDbG9jazooKT0+S18sRmlsZUNvZGU6KCk9PlpfLEZpbGVDb2RlMjooKT0+VTYsRmlsZUNvZGVDb3JuZXI6KCk9PlU2LEZpbGVDb2c6KCk9Plc2LEZpbGVDb2cyOigpPT5XNixGaWxlRGlmZjooKT0+WF8sRmlsZURpZ2l0OigpPT5RXyxGaWxlRG93bjooKT0+Sl8sRmlsZUVkaXQ6KCk9Pko2LEZpbGVFeGNsYW1hdGlvblBvaW50OigpPT5HNixGaWxlSGVhZHBob25lOigpPT5vYyxGaWxlSGVhcnQ6KCk9PmVULEZpbGVJbWFnZTooKT0+dFQsRmlsZUlucHV0OigpPT5hVCxGaWxlSnNvbjooKT0+TzYsRmlsZUpzb24yOigpPT5CNixGaWxlS2V5OigpPT5ZNixGaWxlS2V5MjooKT0+WTYsRmlsZUxpbmVDaGFydDooKT0+cTYsRmlsZUxvY2s6KCk9Pks2LEZpbGVMb2NrMjooKT0+SzYsRmlsZU1pbnVzOigpPT5yVCxGaWxlTWludXMyOigpPT5aNixGaWxlTWludXNDb3JuZXI6KCk9Plo2LEZpbGVNdXNpYzooKT0+c1QsRmlsZU91dHB1dDooKT0+aVQsRmlsZVBlbjooKT0+SjYsRmlsZVBlbkxpbmU6KCk9Plg2LEZpbGVQaWVDaGFydDooKT0+VjYsRmlsZVBsYXk6KCk9PlE2LEZpbGVQbHVzOigpPT5vVCxGaWxlUGx1czI6KCk9PmV1LEZpbGVQbHVzQ29ybmVyOigpPT5ldSxGaWxlUXVlc3Rpb246KCk9PnR1LEZpbGVRdWVzdGlvbk1hcms6KCk9PnR1LEZpbGVTY2FuOigpPT5uVCxGaWxlU2VhcmNoOigpPT5sVCxGaWxlU2VhcmNoMjooKT0+YXUsRmlsZVNlYXJjaENvcm5lcjooKT0+YXUsRmlsZVNpZ25hbDooKT0+cnUsRmlsZVNpZ25hdHVyZTooKT0+WDYsRmlsZVNsaWRlcnM6KCk9PmNULEZpbGVTcHJlYWRzaGVldDooKT0+ZFQsRmlsZVN0YWNrOigpPT5wVCxGaWxlU3ltbGluazooKT0+dVQsRmlsZVRlcm1pbmFsOigpPT5mVCxGaWxlVGV4dDooKT0+aFQsRmlsZVR5cGU6KCk9Pm1ULEZpbGVUeXBlMjooKT0+c3UsRmlsZVR5cGVDb3JuZXI6KCk9PnN1LEZpbGVVcDooKT0+Z1QsRmlsZVVzZXI6KCk9PmJULEZpbGVWaWRlbzooKT0+UTYsRmlsZVZpZGVvMjooKT0+aXUsRmlsZVZpZGVvQ2FtZXJhOigpPT5pdSxGaWxlVm9sdW1lOigpPT52VCxGaWxlVm9sdW1lMjooKT0+cnUsRmlsZVdhcm5pbmc6KCk9Pkc2LEZpbGVYOigpPT54VCxGaWxlWDI6KCk9Pm91LEZpbGVYQ29ybmVyOigpPT5vdSxGaWxlczooKT0+TVQsRmlsbTooKT0+d1QsRmlsdGVyOigpPT51dSxGaWx0ZXJYOigpPT5kdSxGaW5nZXJwcmludDooKT0+bnUsRmluZ2VycHJpbnRQYXR0ZXJuOigpPT5udSxGaXJlRXh0aW5ndWlzaGVyOigpPT5rVCxGaXNoOigpPT5DVCxGaXNoT2ZmOigpPT56VCxGaXNoU3ltYm9sOigpPT5TVCxGaXNoaW5nSG9vazooKT0+X1QsRmlzaGluZ1JvZDooKT0+TFQsRmxhZzooKT0+QVQsRmxhZ09mZjooKT0+VFQsRmxhZ1RyaWFuZ2xlTGVmdDooKT0+JFQsRmxhZ1RyaWFuZ2xlUmlnaHQ6KCk9PkRULEZsYW1lOigpPT5FVCxGbGFtZUtpbmRsaW5nOigpPT5JVCxGbGFzaGxpZ2h0OigpPT5OVCxGbGFzaGxpZ2h0T2ZmOigpPT5QVCxGbGFza0NvbmljYWw6KCk9Pk9ULEZsYXNrQ29uaWNhbE9mZjooKT0+UlQsRmxhc2tSb3VuZDooKT0+RlQsRmxpcEhvcml6b250YWw6KCk9PnZwLEZsaXBIb3Jpem9udGFsMjooKT0+QlQsRmxpcFZlcnRpY2FsOigpPT54cCxGbGlwVmVydGljYWwyOigpPT5IVCxGbG93ZXI6KCk9PlVULEZsb3dlcjI6KCk9PnFULEZvY3VzOigpPT5WVCxGb2xkSG9yaXpvbnRhbDooKT0+alQsRm9sZFZlcnRpY2FsOigpPT5ZVCxGb2xkZXI6KCk9PndMLEZvbGRlckFyY2hpdmU6KCk9PldULEZvbGRlckJvb2ttYXJrOigpPT5HVCxGb2xkZXJDaGVjazooKT0+S1QsRm9sZGVyQ2xvY2s6KCk9PlFULEZvbGRlckNsb3NlZDooKT0+WlQsRm9sZGVyQ29kZTooKT0+WFQsRm9sZGVyQ29nOigpPT5sdSxGb2xkZXJDb2cyOigpPT5sdSxGb2xkZXJEb3Q6KCk9PkpULEZvbGRlckRvd246KCk9PmVMLEZvbGRlckVkaXQ6KCk9PmN1LEZvbGRlckdpdDooKT0+YUwsRm9sZGVyR2l0MjooKT0+dEwsRm9sZGVySGVhcnQ6KCk9PnJMLEZvbGRlcklucHV0OigpPT5vTCxGb2xkZXJLYW5iYW46KCk9PnNMLEZvbGRlcktleTooKT0+aUwsRm9sZGVyTG9jazooKT0+bkwsRm9sZGVyTWludXM6KCk9PmRMLEZvbGRlck9wZW46KCk9PmNMLEZvbGRlck9wZW5Eb3Q6KCk9PmxMLEZvbGRlck91dHB1dDooKT0+dUwsRm9sZGVyUGVuOigpPT5jdSxGb2xkZXJQbHVzOigpPT5wTCxGb2xkZXJSb290OigpPT5mTCxGb2xkZXJTZWFyY2g6KCk9Pm1MLEZvbGRlclNlYXJjaDI6KCk9PmhMLEZvbGRlclN5bWxpbms6KCk9PmdMLEZvbGRlclN5bmM6KCk9PnZMLEZvbGRlclRyZWU6KCk9PmJMLEZvbGRlclVwOigpPT54TCxGb2xkZXJYOigpPT55TCxGb2xkZXJzOigpPT5NTCxGb290cHJpbnRzOigpPT5rTCxGb3JrS25pZmU6KCk9PmtmLEZvcmtLbmlmZUNyb3NzZWQ6KCk9Pk1mLEZvcmtsaWZ0OigpPT5TTCxGb3JtOigpPT56TCxGb3JtSW5wdXQ6KCk9Pkd1LEZvcndhcmQ6KCk9PkNMLEZyYW1lOigpPT5fTCxGcm93bjooKT0+VEwsRnVlbDooKT0+TEwsRnVsbHNjcmVlbjooKT0+JEwsRnVuY3Rpb25TcXVhcmU6KCk9PkVwLEZ1bm5lbDooKT0+dXUsRnVubmVsUGx1czooKT0+REwsRnVubmVsWDooKT0+ZHUsR2FsbGVyeUhvcml6b250YWw6KCk9PkVMLEdhbGxlcnlIb3Jpem9udGFsRW5kOigpPT5BTCxHYWxsZXJ5VGh1bWJuYWlsczooKT0+UEwsR2FsbGVyeVZlcnRpY2FsOigpPT5OTCxHYWxsZXJ5VmVydGljYWxFbmQ6KCk9PklMLEdhbWVwYWQ6KCk9PkZMLEdhbWVwYWQyOigpPT5STCxHYW1lcGFkRGlyZWN0aW9uYWw6KCk9Pk9MLEdhbnR0Q2hhcnQ6KCk9PlVkLEdhbnR0Q2hhcnRTcXVhcmU6KCk9PmRjLEdhdWdlOigpPT5CTCxHYXVnZUNpcmNsZTooKT0+ZDYsR2F2ZWw6KCk9PkhMLEdlbTooKT0+cUwsR2VvcmdpYW5MYXJpOigpPT5qTCxHaG9zdDooKT0+VkwsR2lmdDooKT0+V0wsR2l0QnJhbmNoOigpPT5ZTCxHaXRCcmFuY2hNaW51czooKT0+VUwsR2l0QnJhbmNoUGx1czooKT0+R0wsR2l0Q29tbWl0OigpPT5wdSxHaXRDb21taXRIb3Jpem9udGFsOigpPT5wdSxHaXRDb21taXRWZXJ0aWNhbDooKT0+S0wsR2l0Q29tcGFyZTooKT0+WEwsR2l0Q29tcGFyZUFycm93czooKT0+WkwsR2l0Rm9yazooKT0+UUwsR2l0R3JhcGg6KCk9PkpMLEdpdE1lcmdlOigpPT5lJCxHaXRNZXJnZUNvbmZsaWN0OigpPT50JCxHaXRQdWxsUmVxdWVzdDooKT0+biQsR2l0UHVsbFJlcXVlc3RBcnJvdzooKT0+YSQsR2l0UHVsbFJlcXVlc3RDbG9zZWQ6KCk9PnIkLEdpdFB1bGxSZXF1ZXN0Q3JlYXRlOigpPT5pJCxHaXRQdWxsUmVxdWVzdENyZWF0ZUFycm93OigpPT5zJCxHaXRQdWxsUmVxdWVzdERyYWZ0OigpPT5vJCxHbGFzc1dhdGVyOigpPT5sJCxHbGFzc2VzOigpPT5jJCxHbG9iZTooKT0+ZiQsR2xvYmUyOigpPT5FNixHbG9iZUxvY2s6KCk9PmQkLEdsb2JlT2ZmOigpPT5wJCxHbG9iZVg6KCk9PnUkLEdvYWw6KCk9PmgkLEdwdTooKT0+bSQsR3JhYjooKT0+YnUsR3JhZHVhdGlvbkNhcDooKT0+ZyQsR3JhcGU6KCk9PmIkLEdyaWQ6KCk9Pm5jLEdyaWQyWDI6KCk9Pmd1LEdyaWQyWDJDaGVjazooKT0+ZnUsR3JpZDJYMlBsdXM6KCk9Pmh1LEdyaWQyWDJYOigpPT5tdSxHcmlkMngyOigpPT5ndSxHcmlkMngyQ2hlY2s6KCk9PmZ1LEdyaWQyeDJQbHVzOigpPT5odSxHcmlkMngyWDooKT0+bXUsR3JpZDNYMzooKT0+bmMsR3JpZDN4MjooKT0+diQsR3JpZDN4MzooKT0+bmMsR3JpcDooKT0+dyQsR3JpcEhvcml6b250YWw6KCk9PngkLEdyaXBWZXJ0aWNhbDooKT0+eSQsR3JvdXA6KCk9Pk0kLEd1aXRhcjooKT0+ayQsSGFtOigpPT5TJCxIYW1idXJnZXI6KCk9PnokLEhhbW1lcjooKT0+QyQsSGFuZDooKT0+QSQsSGFuZENvaW5zOigpPT5fJCxIYW5kRmlzdDooKT0+VCQsSGFuZEdyYWI6KCk9PmJ1LEhhbmRIZWFydDooKT0+TCQsSGFuZEhlbHBpbmc6KCk9PnZ1LEhhbmRNZXRhbDooKT0+JCQsSGFuZFBsYXR0ZXI6KCk9PkQkLEhhbmRiYWc6KCk9PkUkLEhhbmRzaGFrZTooKT0+UCQsSGFyZERyaXZlOigpPT5PJCxIYXJkRHJpdmVEb3dubG9hZDooKT0+SSQsSGFyZERyaXZlVXBsb2FkOigpPT5OJCxIYXJkSGF0OigpPT5SJCxIYXNoOigpPT5GJCxIYXRHbGFzc2VzOigpPT5CJCxIYXplOigpPT5IJCxIZDooKT0+cSQsSGRtaVBvcnQ6KCk9PlYkLEhlYWRpbmc6KCk9PlokLEhlYWRpbmcxOigpPT5qJCxIZWFkaW5nMjooKT0+VSQsSGVhZGluZzM6KCk9PlckLEhlYWRpbmc0OigpPT5HJCxIZWFkaW5nNTooKT0+WSQsSGVhZGluZzY6KCk9PkskLEhlYWRwaG9uZU9mZjooKT0+WCQsSGVhZHBob25lczooKT0+SiQsSGVhZHNldDooKT0+USQsSGVhcnQ6KCk9Pm5ELEhlYXJ0Q3JhY2s6KCk9PmVELEhlYXJ0SGFuZHNoYWtlOigpPT50RCxIZWFydE1pbnVzOigpPT5hRCxIZWFydE9mZjooKT0+ckQsSGVhcnRQbHVzOigpPT5zRCxIZWFydFB1bHNlOigpPT5pRCxIZWFydFg6KCk9Pm9ELEhlYXRlcjooKT0+bEQsSGVsaWNvcHRlcjooKT0+Y0QsSGVscENpcmNsZTooKT0+c2MsSGVscGluZ0hhbmQ6KCk9PnZ1LEhleGFnb246KCk9PmRELEhpZ2hsaWdodGVyOigpPT51RCxIaXN0b3J5OigpPT5wRCxIb21lOigpPT54dSxIb3A6KCk9PmZELEhvcE9mZjooKT0+aEQsSG9zcGl0YWw6KCk9Pm1ELEhvdGVsOigpPT5nRCxIb3VyZ2xhc3M6KCk9PmJELEhvdXNlOigpPT54dSxIb3VzZUhlYXJ0OigpPT52RCxIb3VzZVBsdWc6KCk9PnhELEhvdXNlUGx1czooKT0+d0QsSG91c2VXaWZpOigpPT55RCxJY2VDcmVhbTooKT0+d3UsSWNlQ3JlYW0yOigpPT55dSxJY2VDcmVhbUJvd2w6KCk9Pnl1LEljZUNyZWFtQ29uZTooKT0+d3UsSWRDYXJkOigpPT5rRCxJZENhcmRMYW55YXJkOigpPT5NRCxJbWFnZTooKT0+REQsSW1hZ2VEb3duOigpPT5TRCxJbWFnZU1pbnVzOigpPT56RCxJbWFnZU9mZjooKT0+Q0QsSW1hZ2VQbGF5OigpPT5fRCxJbWFnZVBsdXM6KCk9PlRELEltYWdlVXA6KCk9PkxELEltYWdlVXBzY2FsZTooKT0+JEQsSW1hZ2VzOigpPT5BRCxJbXBvcnQ6KCk9PkVELEluYm94OigpPT5QRCxJbmRlbnQ6KCk9PmNjLEluZGVudERlY3JlYXNlOigpPT5sYyxJbmRlbnRJbmNyZWFzZTooKT0+Y2MsSW5kaWFuUnVwZWU6KCk9PklELEluZmluaXR5OigpPT5ORCxJbmZvOigpPT5SRCxJbnNwZWN0OigpPT5GcCxJbnNwZWN0aW9uUGFuZWw6KCk9Pk9ELEl0YWxpYzooKT0+RkQsSXRlcmF0aW9uQ2N3OigpPT5CRCxJdGVyYXRpb25DdzooKT0+SEQsSmFwYW5lc2VZZW46KCk9PnFELEpveXN0aWNrOigpPT5WRCxLYW5iYW46KCk9PmpELEthbmJhblNxdWFyZTooKT0+TnAsS2FuYmFuU3F1YXJlRGFzaGVkOigpPT5fcCxLYXlhazooKT0+VUQsS2V5OigpPT5ZRCxLZXlSb3VuZDooKT0+R0QsS2V5U3F1YXJlOigpPT5XRCxLZXlib2FyZDooKT0+WEQsS2V5Ym9hcmRNdXNpYzooKT0+S0QsS2V5Ym9hcmRPZmY6KCk9PlpELExhbXA6KCk9PnJBLExhbXBDZWlsaW5nOigpPT5RRCxMYW1wRGVzazooKT0+SkQsTGFtcEZsb29yOigpPT5lQSxMYW1wV2FsbERvd246KCk9PnRBLExhbXBXYWxsVXA6KCk9PmFBLExhbmRQbG90OigpPT5zQSxMYW5kbWFyazooKT0+aUEsTGFuZ3VhZ2VzOigpPT5vQSxMYXB0b3A6KCk9PmxBLExhcHRvcDI6KCk9Pk11LExhcHRvcE1pbmltYWw6KCk9Pk11LExhcHRvcE1pbmltYWxDaGVjazooKT0+bkEsTGFzc286KCk9PnVBLExhc3NvU2VsZWN0OigpPT5jQSxMYXVnaDooKT0+ZEEsTGF5ZXJzOigpPT5rdSxMYXllcnMyOigpPT5wQSxMYXllcnMzOigpPT5rdSxMYXllcnNNaW51czooKT0+ZkEsTGF5ZXJzUGx1czooKT0+aEEsTGF5b3V0OigpPT5WdSxMYXlvdXREYXNoYm9hcmQ6KCk9Pm1BLExheW91dEdyaWQ6KCk9PmdBLExheW91dExpc3Q6KCk9PmJBLExheW91dFBhbmVsTGVmdDooKT0+dkEsTGF5b3V0UGFuZWxUb3A6KCk9PnlBLExheW91dFRlbXBsYXRlOigpPT54QSxMZWFmOigpPT53QSxMZWFmeUdyZWVuOigpPT5NQSxMZWN0ZXJuOigpPT5rQSxMZW5zQ29uY2F2ZTooKT0+U0EsTGVuc0NvbnZleDooKT0+ekEsTGV0dGVyVGV4dDooKT0+bGYsTGlicmFyeTooKT0+X0EsTGlicmFyeUJpZzooKT0+Q0EsTGlicmFyeVNxdWFyZTooKT0+UHAsTGlmZUJ1b3k6KCk9PlRBLExpZ2F0dXJlOigpPT5MQSxMaWdodGJ1bGI6KCk9PiRBLExpZ2h0YnVsYk9mZjooKT0+REEsTGluZUNoYXJ0OigpPT5xZCxMaW5lRG90UmlnaHRIb3Jpem9udGFsOigpPT5BQSxMaW5lU3F1aWdnbGU6KCk9PlBBLExpbmVTdHlsZTooKT0+RUEsTGluazooKT0+UkEsTGluazI6KCk9Pk5BLExpbmsyT2ZmOigpPT5JQSxMaXN0OigpPT5hRSxMaXN0Q2hlY2s6KCk9Pk9BLExpc3RDaGVja3M6KCk9PkZBLExpc3RDaGV2cm9uc0Rvd25VcDooKT0+QkEsTGlzdENoZXZyb25zVXBEb3duOigpPT5IQSxMaXN0Q29sbGFwc2U6KCk9PnFBLExpc3RFbmQ6KCk9PlZBLExpc3RGaWx0ZXI6KCk9PlVBLExpc3RGaWx0ZXJQbHVzOigpPT5qQSxMaXN0SW5kZW50RGVjcmVhc2U6KCk9PmxjLExpc3RJbmRlbnRJbmNyZWFzZTooKT0+Y2MsTGlzdE1pbnVzOigpPT5XQSxMaXN0TXVzaWM6KCk9PkdBLExpc3RPcmRlcmVkOigpPT5ZQSxMaXN0UGx1czooKT0+S0EsTGlzdFJlc3RhcnQ6KCk9PlpBLExpc3RTdGFydDooKT0+WEEsTGlzdFRvZG86KCk9PlFBLExpc3RUcmVlOigpPT5KQSxMaXN0VmlkZW86KCk9PmVFLExpc3RYOigpPT50RSxMb2FkZXI6KCk9PnNFLExvYWRlcjI6KCk9PlN1LExvYWRlckNpcmNsZTooKT0+U3UsTG9hZGVyUGlud2hlZWw6KCk9PnJFLExvY2F0ZTooKT0+bkUsTG9jYXRlRml4ZWQ6KCk9PmlFLExvY2F0ZU9mZjooKT0+b0UsTG9jYXRpb25FZGl0OigpPT5UdSxMb2NrOigpPT5jRSxMb2NrS2V5aG9sZTooKT0+bEUsTG9ja0tleWhvbGVPcGVuOigpPT56dSxMb2NrT3BlbjooKT0+Q3UsTG9nSW46KCk9PmRFLExvZ091dDooKT0+dUUsTG9nczooKT0+cEUsTG9sbGlwb3A6KCk9PmZFLEx1Z2dhZ2U6KCk9PmhFLE1TcXVhcmU6KCk9PklwLE1hZ25ldDooKT0+Z0UsTWFpbDooKT0+U0UsTWFpbENoZWNrOigpPT5tRSxNYWlsTWludXM6KCk9PmJFLE1haWxPcGVuOigpPT52RSxNYWlsUGx1czooKT0+eEUsTWFpbFF1ZXN0aW9uOigpPT5fdSxNYWlsUXVlc3Rpb25NYXJrOigpPT5fdSxNYWlsU2VhcmNoOigpPT55RSxNYWlsV2FybmluZzooKT0+d0UsTWFpbFg6KCk9Pk1FLE1haWxib3g6KCk9PmtFLE1haWxzOigpPT56RSxNYXA6KCk9PkhFLE1hcE1pbnVzOigpPT5DRSxNYXBQaW46KCk9Pk9FLE1hcFBpbkNoZWNrOigpPT5URSxNYXBQaW5DaGVja0luc2lkZTooKT0+X0UsTWFwUGluSG91c2U6KCk9PkxFLE1hcFBpbk1pbnVzOigpPT5ERSxNYXBQaW5NaW51c0luc2lkZTooKT0+JEUsTWFwUGluT2ZmOigpPT5BRSxNYXBQaW5QZW46KCk9PlR1LE1hcFBpblBsdXM6KCk9PlBFLE1hcFBpblBsdXNJbnNpZGU6KCk9PkVFLE1hcFBpblNlYXJjaDooKT0+SUUsTWFwUGluWDooKT0+TkUsTWFwUGluWEluc2lkZTooKT0+UkUsTWFwUGlubmVkOigpPT5GRSxNYXBQbHVzOigpPT5CRSxNYXJzOigpPT5WRSxNYXJzU3Ryb2tlOigpPT5xRSxNYXJ0aW5pOigpPT5qRSxNYXhpbWl6ZTooKT0+V0UsTWF4aW1pemUyOigpPT5VRSxNZWRhbDooKT0+R0UsTWVnYXBob25lOigpPT5LRSxNZWdhcGhvbmVPZmY6KCk9PllFLE1laDooKT0+WkUsTWVtb3J5U3RpY2s6KCk9PlhFLE1lbnU6KCk9PlFFLE1lbnVTcXVhcmU6KCk9PlJwLE1lcmdlOigpPT5KRSxNZXNzYWdlQ2lyY2xlOigpPT5kUCxNZXNzYWdlQ2lyY2xlQ2hlY2s6KCk9PmVQLE1lc3NhZ2VDaXJjbGVDb2RlOigpPT50UCxNZXNzYWdlQ2lyY2xlRGFzaGVkOigpPT5hUCxNZXNzYWdlQ2lyY2xlSGVhcnQ6KCk9PnJQLE1lc3NhZ2VDaXJjbGVNb3JlOigpPT5zUCxNZXNzYWdlQ2lyY2xlT2ZmOigpPT5pUCxNZXNzYWdlQ2lyY2xlUGx1czooKT0+b1AsTWVzc2FnZUNpcmNsZVF1ZXN0aW9uOigpPT5MdSxNZXNzYWdlQ2lyY2xlUXVlc3Rpb25NYXJrOigpPT5MdSxNZXNzYWdlQ2lyY2xlUmVwbHk6KCk9Pm5QLE1lc3NhZ2VDaXJjbGVXYXJuaW5nOigpPT5sUCxNZXNzYWdlQ2lyY2xlWDooKT0+Y1AsTWVzc2FnZVNxdWFyZTooKT0+X1AsTWVzc2FnZVNxdWFyZUNoZWNrOigpPT5wUCxNZXNzYWdlU3F1YXJlQ29kZTooKT0+dVAsTWVzc2FnZVNxdWFyZURhc2hlZDooKT0+ZlAsTWVzc2FnZVNxdWFyZURpZmY6KCk9PmhQLE1lc3NhZ2VTcXVhcmVEb3Q6KCk9Pm1QLE1lc3NhZ2VTcXVhcmVIZWFydDooKT0+Z1AsTWVzc2FnZVNxdWFyZUxvY2s6KCk9PmJQLE1lc3NhZ2VTcXVhcmVNb3JlOigpPT52UCxNZXNzYWdlU3F1YXJlT2ZmOigpPT54UCxNZXNzYWdlU3F1YXJlUGx1czooKT0+eVAsTWVzc2FnZVNxdWFyZVF1b3RlOigpPT53UCxNZXNzYWdlU3F1YXJlUmVwbHk6KCk9Pk1QLE1lc3NhZ2VTcXVhcmVTaGFyZTooKT0+a1AsTWVzc2FnZVNxdWFyZVRleHQ6KCk9PlNQLE1lc3NhZ2VTcXVhcmVXYXJuaW5nOigpPT56UCxNZXNzYWdlU3F1YXJlWDooKT0+Q1AsTWVzc2FnZXNTcXVhcmU6KCk9PlRQLE1ldHJvbm9tZTooKT0+TFAsTWljOigpPT5EUCxNaWMyOigpPT4kdSxNaWNPZmY6KCk9PiRQLE1pY1ZvY2FsOigpPT4kdSxNaWNyb2NoaXA6KCk9PkFQLE1pY3Jvc2NvcGU6KCk9PkVQLE1pY3Jvd2F2ZTooKT0+UFAsTWlsZXN0b25lOigpPT5JUCxNaWxrOigpPT5SUCxNaWxrT2ZmOigpPT5OUCxNaW5pbWl6ZTooKT0+RlAsTWluaW1pemUyOigpPT5PUCxNaW51czooKT0+QlAsTWludXNDaXJjbGU6KCk9PnU2LE1pbnVzU3F1YXJlOigpPT5PcCxNaXJyb3JSZWN0YW5ndWxhcjooKT0+SFAsTWlycm9yUm91bmQ6KCk9PnFQLE1vbml0b3I6KCk9PmFJLE1vbml0b3JDaGVjazooKT0+VlAsTW9uaXRvckNsb3VkOigpPT5qUCxNb25pdG9yQ29nOigpPT5VUCxNb25pdG9yRG90OigpPT5XUCxNb25pdG9yRG93bjooKT0+WVAsTW9uaXRvck9mZjooKT0+R1AsTW9uaXRvclBhdXNlOigpPT5LUCxNb25pdG9yUGxheTooKT0+WlAsTW9uaXRvclNtYXJ0cGhvbmU6KCk9PlhQLE1vbml0b3JTcGVha2VyOigpPT5RUCxNb25pdG9yU3RvcDooKT0+ZUksTW9uaXRvclVwOigpPT5KUCxNb25pdG9yWDooKT0+dEksTW9vbjooKT0+c0ksTW9vblN0YXI6KCk9PnJJLE1vcmVIb3Jpem9udGFsOigpPT5JNixNb3JlVmVydGljYWw6KCk9PlA2LE1vdG9yYmlrZTooKT0+aUksTW91bnRhaW46KCk9Pm5JLE1vdW50YWluU25vdzooKT0+b0ksTW91c2U6KCk9PmdJLE1vdXNlTGVmdDooKT0+bEksTW91c2VPZmY6KCk9PmNJLE1vdXNlUG9pbnRlcjooKT0+aEksTW91c2VQb2ludGVyMjooKT0+dUksTW91c2VQb2ludGVyMk9mZjooKT0+ZEksTW91c2VQb2ludGVyQmFuOigpPT5wSSxNb3VzZVBvaW50ZXJDbGljazooKT0+ZkksTW91c2VQb2ludGVyU3F1YXJlRGFzaGVkOigpPT5UcCxNb3VzZVJpZ2h0OigpPT5tSSxNb3ZlOigpPT5MSSxNb3ZlM0Q6KCk9PkR1LE1vdmUzZDooKT0+RHUsTW92ZURpYWdvbmFsOigpPT52SSxNb3ZlRGlhZ29uYWwyOigpPT5iSSxNb3ZlRG93bjooKT0+d0ksTW92ZURvd25MZWZ0OigpPT54SSxNb3ZlRG93blJpZ2h0OigpPT55SSxNb3ZlSG9yaXpvbnRhbDooKT0+TUksTW92ZUxlZnQ6KCk9PmtJLE1vdmVSaWdodDooKT0+U0ksTW92ZVVwOigpPT5fSSxNb3ZlVXBMZWZ0OigpPT56SSxNb3ZlVXBSaWdodDooKT0+Q0ksTW92ZVZlcnRpY2FsOigpPT5USSxNdXNpYzooKT0+RUksTXVzaWMyOigpPT4kSSxNdXNpYzM6KCk9PkFJLE11c2ljNDooKT0+REksTmF2aWdhdGlvbjooKT0+UkksTmF2aWdhdGlvbjI6KCk9PklJLE5hdmlnYXRpb24yT2ZmOigpPT5QSSxOYXZpZ2F0aW9uT2ZmOigpPT5OSSxOZXR3b3JrOigpPT5PSSxOZXdzcGFwZXI6KCk9PkZJLE5mYzooKT0+QkksTm9uQmluYXJ5OigpPT5ISSxOb3RlYm9vazooKT0+VUksTm90ZWJvb2tQZW46KCk9PnFJLE5vdGVib29rVGFiczooKT0+akksTm90ZWJvb2tUZXh0OigpPT5WSSxOb3RlcGFkVGV4dDooKT0+R0ksTm90ZXBhZFRleHREYXNoZWQ6KCk9PldJLE51dDooKT0+S0ksTnV0T2ZmOigpPT5ZSSxPY3RhZ29uOigpPT5YSSxPY3RhZ29uQWxlcnQ6KCk9PkF1LE9jdGFnb25NaW51czooKT0+WkksT2N0YWdvblBhdXNlOigpPT5FdSxPY3RhZ29uWDooKT0+UHUsT21lZ2E6KCk9PlFJLE9wdGlvbjooKT0+SkksT3JiaXQ6KCk9PmVOLE9yaWdhbWk6KCk9PnROLE91dGRlbnQ6KCk9PmxjLFBhY2thZ2U6KCk9PmxOLFBhY2thZ2UyOigpPT5hTixQYWNrYWdlQ2hlY2s6KCk9PnJOLFBhY2thZ2VNaW51czooKT0+c04sUGFja2FnZU9wZW46KCk9PmlOLFBhY2thZ2VQbHVzOigpPT5vTixQYWNrYWdlU2VhcmNoOigpPT5uTixQYWNrYWdlWDooKT0+Y04sUGFpbnRCdWNrZXQ6KCk9PmROLFBhaW50Um9sbGVyOigpPT51TixQYWludGJydXNoOigpPT5wTixQYWludGJydXNoMjooKT0+SXUsUGFpbnRicnVzaFZlcnRpY2FsOigpPT5JdSxQYWxldHRlOigpPT5mTixQYWxtdHJlZTooKT0+dWYsUGFuZGE6KCk9Pm1OLFBhbmVsQm90dG9tOigpPT5iTixQYW5lbEJvdHRvbUNsb3NlOigpPT5oTixQYW5lbEJvdHRvbURhc2hlZDooKT0+TnUsUGFuZWxCb3R0b21JbmFjdGl2ZTooKT0+TnUsUGFuZWxCb3R0b21PcGVuOigpPT5nTixQYW5lbExlZnQ6KCk9PkJ1LFBhbmVsTGVmdENsb3NlOigpPT5SdSxQYW5lbExlZnREYXNoZWQ6KCk9Pk91LFBhbmVsTGVmdEluYWN0aXZlOigpPT5PdSxQYW5lbExlZnRPcGVuOigpPT5GdSxQYW5lbExlZnRSaWdodERhc2hlZDooKT0+dk4sUGFuZWxSaWdodDooKT0+TU4sUGFuZWxSaWdodENsb3NlOigpPT54TixQYW5lbFJpZ2h0RGFzaGVkOigpPT5IdSxQYW5lbFJpZ2h0SW5hY3RpdmU6KCk9Pkh1LFBhbmVsUmlnaHRPcGVuOigpPT55TixQYW5lbFRvcDooKT0+ek4sUGFuZWxUb3BCb3R0b21EYXNoZWQ6KCk9PndOLFBhbmVsVG9wQ2xvc2U6KCk9PmtOLFBhbmVsVG9wRGFzaGVkOigpPT5xdSxQYW5lbFRvcEluYWN0aXZlOigpPT5xdSxQYW5lbFRvcE9wZW46KCk9PlNOLFBhbmVsc0xlZnRCb3R0b206KCk9PkNOLFBhbmVsc0xlZnRSaWdodDooKT0+JDYsUGFuZWxzUmlnaHRCb3R0b206KCk9Pl9OLFBhbmVsc1RvcEJvdHRvbTooKT0+WnUsUGFuZWxzVG9wTGVmdDooKT0+VnUsUGFwZXJjbGlwOigpPT5UTixQYXJlbnRoZXNlczooKT0+TE4sUGFya2luZ0NpcmNsZTooKT0+ZjYsUGFya2luZ0NpcmNsZU9mZjooKT0+cDYsUGFya2luZ01ldGVyOigpPT4kTixQYXJraW5nU3F1YXJlOigpPT5IcCxQYXJraW5nU3F1YXJlT2ZmOigpPT5CcCxQYXJ0eVBvcHBlcjooKT0+QU4sUGF1c2U6KCk9PkROLFBhdXNlQ2lyY2xlOigpPT5oNixQYXVzZU9jdGFnb246KCk9PkV1LFBhd1ByaW50OigpPT5FTixQY0Nhc2U6KCk9PlBOLFBlbjooKT0+VXUsUGVuQm94OigpPT5DMSxQZW5MaW5lOigpPT5qdSxQZW5PZmY6KCk9PklOLFBlblNxdWFyZTooKT0+QzEsUGVuVG9vbDooKT0+Tk4sUGVuY2lsOigpPT5GTixQZW5jaWxMaW5lOigpPT5STixQZW5jaWxPZmY6KCk9Pk9OLFBlbmNpbFJ1bGVyOigpPT5CTixQZW50YWdvbjooKT0+SE4sUGVyY2VudDooKT0+cU4sUGVyY2VudENpcmNsZTooKT0+bTYsUGVyY2VudERpYW1vbmQ6KCk9PkE2LFBlcmNlbnRTcXVhcmU6KCk9PnFwLFBlcnNvblN0YW5kaW5nOigpPT5WTixQaGlsaXBwaW5lUGVzbzooKT0+ak4sUGhvbmU6KCk9PlFOLFBob25lQ2FsbDooKT0+VU4sUGhvbmVGb3J3YXJkZWQ6KCk9PldOLFBob25lSW5jb21pbmc6KCk9PkdOLFBob25lTWlzc2VkOigpPT5ZTixQaG9uZU9mZjooKT0+S04sUGhvbmVPdXRnb2luZzooKT0+Wk4sUGk6KCk9PlhOLFBpU3F1YXJlOigpPT5WcCxQaWFubzooKT0+Sk4sUGlja2F4ZTooKT0+ZVIsUGljdHVyZUluUGljdHVyZTooKT0+YVIsUGljdHVyZUluUGljdHVyZTI6KCk9PnRSLFBpZUNoYXJ0OigpPT5XZCxQaWdneUJhbms6KCk9PnJSLFBpbGNyb3c6KCk9Pm9SLFBpbGNyb3dMZWZ0OigpPT5zUixQaWxjcm93UmlnaHQ6KCk9PmlSLFBpbGNyb3dTcXVhcmU6KCk9PmpwLFBpbGw6KCk9PmNSLFBpbGxCb3R0bGU6KCk9Pm5SLFBpbjooKT0+ZFIsUGluT2ZmOigpPT5sUixQaXBldHRlOigpPT51UixQaXp6YTooKT0+cFIsUGxhbmU6KCk9Pm1SLFBsYW5lTGFuZGluZzooKT0+ZlIsUGxhbmVUYWtlb2ZmOigpPT5oUixQbGF5OigpPT5nUixQbGF5Q2lyY2xlOigpPT5nNixQbGF5U3F1YXJlOigpPT5XcCxQbHVnOigpPT52UixQbHVnMjooKT0+YlIsUGx1Z1phcDooKT0+V3UsUGx1Z1phcDI6KCk9Pld1LFBsdXM6KCk9PnhSLFBsdXNDaXJjbGU6KCk9PmI2LFBsdXNTcXVhcmU6KCk9PlVwLFBvY2tldEtuaWZlOigpPT55UixQb2RjYXN0OigpPT53UixQb2ludGVyOigpPT5NUixQb2ludGVyT2ZmOigpPT5rUixQb3Bjb3JuOigpPT5TUixQb3BzaWNsZTooKT0+elIsUG91bmRTdGVybGluZzooKT0+Q1IsUG93ZXI6KCk9PlRSLFBvd2VyQ2lyY2xlOigpPT52NixQb3dlck9mZjooKT0+X1IsUG93ZXJTcXVhcmU6KCk9PkdwLFByZXNlbnRhdGlvbjooKT0+TFIsUHJpbnRlcjooKT0+QVIsUHJpbnRlckNoZWNrOigpPT5EUixQcmludGVyWDooKT0+JFIsUHJvamVjdG9yOigpPT5JUixQcm9wb3J0aW9uczooKT0+RVIsUHV6emxlOigpPT5QUixQeXJhbWlkOigpPT5OUixRckNvZGU6KCk9Pk9SLFF1b3RlOigpPT5SUixSYWJiaXQ6KCk9PkJSLFJhZGFyOigpPT5GUixSYWRpYXRpb246KCk9PkhSLFJhZGljYWw6KCk9PnFSLFJhZGlvOigpPT5XUixSYWRpb09mZjooKT0+VlIsUmFkaW9SZWNlaXZlcjooKT0+alIsUmFkaW9Ub3dlcjooKT0+VVIsUmFkaXVzOigpPT5HUixSYWluYm93OigpPT5ZUixSYXQ6KCk9PktSLFJhdGlvOigpPT5aUixSZWNlaXB0OigpPT5pTyxSZWNlaXB0Q2VudDooKT0+WFIsUmVjZWlwdEV1cm86KCk9PlFSLFJlY2VpcHRJbmRpYW5SdXBlZTooKT0+SlIsUmVjZWlwdEphcGFuZXNlWWVuOigpPT50TyxSZWNlaXB0UG91bmRTdGVybGluZzooKT0+ZU8sUmVjZWlwdFJ1c3NpYW5SdWJsZTooKT0+YU8sUmVjZWlwdFN3aXNzRnJhbmM6KCk9PnNPLFJlY2VpcHRUZXh0OigpPT5yTyxSZWNlaXB0VHVya2lzaExpcmE6KCk9Pm9PLFJlY3RhbmdsZUNpcmNsZTooKT0+bk8sUmVjdGFuZ2xlRWxsaXBzaXM6KCk9Pkd1LFJlY3RhbmdsZUdvZ2dsZXM6KCk9PmxPLFJlY3RhbmdsZUhvcml6b250YWw6KCk9PmNPLFJlY3RhbmdsZVZlcnRpY2FsOigpPT5kTyxSZWN5Y2xlOigpPT51TyxSZWRvOigpPT5oTyxSZWRvMjooKT0+cE8sUmVkb0RvdDooKT0+Zk8sUmVmcmVzaENjdzooKT0+Z08sUmVmcmVzaENjd0RvdDooKT0+bU8sUmVmcmVzaEN3OigpPT52TyxSZWZyZXNoQ3dPZmY6KCk9PmJPLFJlZnJpZ2VyYXRvcjooKT0+eE8sUmVnZXg6KCk9PnlPLFJlbW92ZUZvcm1hdHRpbmc6KCk9PndPLFJlcGVhdDooKT0+ek8sUmVwZWF0MTooKT0+a08sUmVwZWF0MjooKT0+TU8sUmVwZWF0T2ZmOigpPT5TTyxSZXBsYWNlOigpPT5fTyxSZXBsYWNlQWxsOigpPT5DTyxSZXBseTooKT0+TE8sUmVwbHlBbGw6KCk9PlRPLFJld2luZDooKT0+RE8sUmliYm9uOigpPT4kTyxSb2FkOigpPT5BTyxSb2NrZXQ6KCk9PkVPLFJvY2tpbmdDaGFpcjooKT0+UE8sUm9sbGVyQ29hc3RlcjooKT0+SU8sUm9zZTooKT0+Tk8sUm90YXRlM0Q6KCk9Pll1LFJvdGF0ZTNkOigpPT5ZdSxSb3RhdGVDY3c6KCk9PkZPLFJvdGF0ZUNjd0tleTooKT0+Uk8sUm90YXRlQ2N3U3F1YXJlOigpPT5PTyxSb3RhdGVDdzooKT0+SE8sUm90YXRlQ3dTcXVhcmU6KCk9PkJPLFJvdXRlOigpPT5WTyxSb3V0ZU9mZjooKT0+cU8sUm91dGVyOigpPT5qTyxSb3dzOigpPT5LdSxSb3dzMjooKT0+S3UsUm93czM6KCk9Plp1LFJvd3M0OigpPT5VTyxSc3M6KCk9PldPLFJ1bGVyOigpPT5ZTyxSdWxlckRpbWVuc2lvbkxpbmU6KCk9PkdPLFJ1c3NpYW5SdWJsZTooKT0+S08sU2FpbGJvYXQ6KCk9PlpPLFNhbGFkOigpPT5YTyxTYW5kd2ljaDooKT0+UU8sU2F0ZWxsaXRlOigpPT5KTyxTYXRlbGxpdGVEaXNoOigpPT5lRixTYXVkaVJpeWFsOigpPT50RixTYXZlOigpPT5zRixTYXZlQWxsOigpPT5yRixTYXZlT2ZmOigpPT5hRixTY2FsZTooKT0+aUYsU2NhbGUzRDooKT0+WHUsU2NhbGUzZDooKT0+WHUsU2NhbGluZzooKT0+bkYsU2NhbjooKT0+bUYsU2NhbkJhcmNvZGU6KCk9Pm9GLFNjYW5FeWU6KCk9PmxGLFNjYW5GYWNlOigpPT5jRixTY2FuSGVhcnQ6KCk9PmRGLFNjYW5MaW5lOigpPT51RixTY2FuUXJDb2RlOigpPT5wRixTY2FuU2VhcmNoOigpPT5mRixTY2FuVGV4dDooKT0+aEYsU2NhdHRlckNoYXJ0OigpPT5HZCxTY2hvb2w6KCk9PmdGLFNjaG9vbDI6KCk9PmhmLFNjaXNzb3JzOigpPT52RixTY2lzc29yc0xpbmVEYXNoZWQ6KCk9PmJGLFNjaXNzb3JzU3F1YXJlOigpPT5LcCxTY2lzc29yc1NxdWFyZURhc2hlZEJvdHRvbTooKT0+YnAsU2Nvb3RlcjooKT0+eEYsU2NyZWVuU2hhcmU6KCk9PndGLFNjcmVlblNoYXJlT2ZmOigpPT55RixTY3JvbGw6KCk9PmtGLFNjcm9sbFRleHQ6KCk9Pk1GLFNlYXJjaDooKT0+TEYsU2VhcmNoQWxlcnQ6KCk9PlNGLFNlYXJjaENoZWNrOigpPT56RixTZWFyY2hDb2RlOigpPT5DRixTZWFyY2hTbGFzaDooKT0+X0YsU2VhcmNoWDooKT0+VEYsU2VjdGlvbjooKT0+JEYsU2VuZDooKT0+QUYsU2VuZEhvcml6b25hbDooKT0+UXUsU2VuZEhvcml6b250YWw6KCk9PlF1LFNlbmRUb0JhY2s6KCk9PkRGLFNlcGFyYXRvckhvcml6b250YWw6KCk9PkVGLFNlcGFyYXRvclZlcnRpY2FsOigpPT5QRixTZXJ2ZXI6KCk9Pk9GLFNlcnZlckNvZzooKT0+SUYsU2VydmVyQ3Jhc2g6KCk9Pk5GLFNlcnZlck9mZjooKT0+UkYsU2V0dGluZ3M6KCk9PkhGLFNldHRpbmdzMjooKT0+RkYsU2hhcGVzOigpPT5CRixTaGFyZTooKT0+VkYsU2hhcmUyOigpPT5xRixTaGVldDooKT0+VUYsU2hlbGw6KCk9PmpGLFNoZWx2aW5nVW5pdDooKT0+V0YsU2hpZWxkOigpPT5zQixTaGllbGRBbGVydDooKT0+R0YsU2hpZWxkQmFuOigpPT5ZRixTaGllbGRDaGVjazooKT0+S0YsU2hpZWxkQ2xvc2U6KCk9PmVwLFNoaWVsZENvZzooKT0+UUYsU2hpZWxkQ29nQ29ybmVyOigpPT5aRixTaGllbGRFbGxpcHNpczooKT0+WEYsU2hpZWxkSGFsZjooKT0+SkYsU2hpZWxkTWludXM6KCk9PmVCLFNoaWVsZE9mZjooKT0+dEIsU2hpZWxkUGx1czooKT0+YUIsU2hpZWxkUXVlc3Rpb246KCk9Pkp1LFNoaWVsZFF1ZXN0aW9uTWFyazooKT0+SnUsU2hpZWxkVXNlcjooKT0+ckIsU2hpZWxkWDooKT0+ZXAsU2hpcDooKT0+aUIsU2hpcFdoZWVsOigpPT5vQixTaGlydDooKT0+bkIsU2hvcHBpbmdCYWc6KCk9PmxCLFNob3BwaW5nQmFza2V0OigpPT5jQixTaG9wcGluZ0NhcnQ6KCk9PmRCLFNob3ZlbDooKT0+dUIsU2hvd2VySGVhZDooKT0+cEIsU2hyZWRkZXI6KCk9PmZCLFNocmltcDooKT0+bUIsU2hyaW5rOigpPT5oQixTaHJ1YjooKT0+Z0IsU2h1ZmZsZTooKT0+YkIsU2lkZWJhcjooKT0+QnUsU2lkZWJhckNsb3NlOigpPT5SdSxTaWRlYmFyT3BlbjooKT0+RnUsU2lnbWE6KCk9PnZCLFNpZ21hU3F1YXJlOigpPT5ZcCxTaWduYWw6KCk9PmtCLFNpZ25hbEhpZ2g6KCk9PnhCLFNpZ25hbExvdzooKT0+eUIsU2lnbmFsTWVkaXVtOigpPT53QixTaWduYWxaZXJvOigpPT5NQixTaWduYXR1cmU6KCk9PlNCLFNpZ25wb3N0OigpPT5DQixTaWducG9zdEJpZzooKT0+ekIsU2lyZW46KCk9Pl9CLFNraXBCYWNrOigpPT5UQixTa2lwRm9yd2FyZDooKT0+TEIsU2t1bGw6KCk9PiRCLFNsYXNoOigpPT5EQixTbGFzaFNxdWFyZTooKT0+WnAsU2xpY2U6KCk9PkVCLFNsaWRlcnM6KCk9PnRwLFNsaWRlcnNIb3Jpem9udGFsOigpPT5BQixTbGlkZXJzVmVydGljYWw6KCk9PnRwLFNtYXJ0cGhvbmU6KCk9PlJCLFNtYXJ0cGhvbmVDaGFyZ2luZzooKT0+UEIsU21hcnRwaG9uZU5mYzooKT0+SUIsU21pbGU6KCk9Pk9CLFNtaWxlUGx1czooKT0+TkIsU25haWw6KCk9PkZCLFNub3dmbGFrZTooKT0+QkIsU29hcERpc3BlbnNlckRyb3BsZXQ6KCk9PkhCLFNvZmE6KCk9PnFCLFNvbGFyUGFuZWw6KCk9PlZCLFNvcnRBc2M6KCk9PnpkLFNvcnREZXNjOigpPT5NZCxTb3VwOigpPT5qQixTcGFjZTooKT0+VUIsU3BhZGU6KCk9PldCLFNwYXJrbGU6KCk9PkdCLFNwYXJrbGVzOigpPT5hcCxTcGVha2VyOigpPT5ZQixTcGVlY2g6KCk9PktCLFNwZWxsQ2hlY2s6KCk9PlpCLFNwZWxsQ2hlY2syOigpPT5YQixTcGxpbmU6KCk9PkpCLFNwbGluZVBvaW50ZXI6KCk9PlFCLFNwbGl0OigpPT5lSCxTcGxpdFNxdWFyZUhvcml6b250YWw6KCk9PlhwLFNwbGl0U3F1YXJlVmVydGljYWw6KCk9PlFwLFNwb29sOigpPT50SCxTcG9ydFNob2U6KCk9PmFILFNwb3RsaWdodDooKT0+aUgsU3ByYXlDYW46KCk9PnJILFNwcm91dDooKT0+c0gsU3F1YXJlOigpPT52SCxTcXVhcmVBY3Rpdml0eTooKT0+cnAsU3F1YXJlQXJyb3dEb3duOigpPT5vcCxTcXVhcmVBcnJvd0Rvd25MZWZ0OigpPT5zcCxTcXVhcmVBcnJvd0Rvd25SaWdodDooKT0+aXAsU3F1YXJlQXJyb3dMZWZ0OigpPT5ucCxTcXVhcmVBcnJvd091dERvd25MZWZ0OigpPT5scCxTcXVhcmVBcnJvd091dERvd25SaWdodDooKT0+Y3AsU3F1YXJlQXJyb3dPdXRVcExlZnQ6KCk9PmRwLFNxdWFyZUFycm93T3V0VXBSaWdodDooKT0+dXAsU3F1YXJlQXJyb3dSaWdodDooKT0+cHAsU3F1YXJlQXJyb3dSaWdodEVudGVyOigpPT5vSCxTcXVhcmVBcnJvd1JpZ2h0RXhpdDooKT0+bkgsU3F1YXJlQXJyb3dVcDooKT0+bXAsU3F1YXJlQXJyb3dVcExlZnQ6KCk9PmZwLFNxdWFyZUFycm93VXBSaWdodDooKT0+aHAsU3F1YXJlQXN0ZXJpc2s6KCk9PmdwLFNxdWFyZUJvdHRvbURhc2hlZFNjaXNzb3JzOigpPT5icCxTcXVhcmVDZW50ZXJsaW5lRGFzaGVkSG9yaXpvbnRhbDooKT0+dnAsU3F1YXJlQ2VudGVybGluZURhc2hlZFZlcnRpY2FsOigpPT54cCxTcXVhcmVDaGFydEdhbnR0OigpPT5kYyxTcXVhcmVDaGVjazooKT0+d3AsU3F1YXJlQ2hlY2tCaWc6KCk9PnlwLFNxdWFyZUNoZXZyb25Eb3duOigpPT5NcCxTcXVhcmVDaGV2cm9uTGVmdDooKT0+a3AsU3F1YXJlQ2hldnJvblJpZ2h0OigpPT5TcCxTcXVhcmVDaGV2cm9uVXA6KCk9PnpwLFNxdWFyZUNvZGU6KCk9PkNwLFNxdWFyZURhc2hlZDooKT0+THAsU3F1YXJlRGFzaGVkQm90dG9tOigpPT5jSCxTcXVhcmVEYXNoZWRCb3R0b21Db2RlOigpPT5sSCxTcXVhcmVEYXNoZWRLYW5iYW46KCk9Pl9wLFNxdWFyZURhc2hlZE1vdXNlUG9pbnRlcjooKT0+VHAsU3F1YXJlRGFzaGVkVGV4dDooKT0+dWMsU3F1YXJlRGFzaGVkVG9wU29saWQ6KCk9PmRILFNxdWFyZURpdmlkZTooKT0+RHAsU3F1YXJlRG90OigpPT4kcCxTcXVhcmVFcXVhbDooKT0+QXAsU3F1YXJlRnVuY3Rpb246KCk9PkVwLFNxdWFyZUdhbnR0Q2hhcnQ6KCk9PmRjLFNxdWFyZUthbmJhbjooKT0+TnAsU3F1YXJlTGlicmFyeTooKT0+UHAsU3F1YXJlTTooKT0+SXAsU3F1YXJlTWVudTooKT0+UnAsU3F1YXJlTWludXM6KCk9Pk9wLFNxdWFyZU1vdXNlUG9pbnRlcjooKT0+RnAsU3F1YXJlUGFya2luZzooKT0+SHAsU3F1YXJlUGFya2luZ09mZjooKT0+QnAsU3F1YXJlUGF1c2U6KCk9PnVILFNxdWFyZVBlbjooKT0+QzEsU3F1YXJlUGVyY2VudDooKT0+cXAsU3F1YXJlUGk6KCk9PlZwLFNxdWFyZVBpbGNyb3c6KCk9PmpwLFNxdWFyZVBsYXk6KCk9PldwLFNxdWFyZVBsdXM6KCk9PlVwLFNxdWFyZVBvd2VyOigpPT5HcCxTcXVhcmVSYWRpY2FsOigpPT5wSCxTcXVhcmVSb3VuZENvcm5lcjooKT0+ZkgsU3F1YXJlU2Npc3NvcnM6KCk9PktwLFNxdWFyZVNpZ21hOigpPT5ZcCxTcXVhcmVTbGFzaDooKT0+WnAsU3F1YXJlU3BsaXRIb3Jpem9udGFsOigpPT5YcCxTcXVhcmVTcGxpdFZlcnRpY2FsOigpPT5RcCxTcXVhcmVTcXVhcmU6KCk9PmhILFNxdWFyZVN0YWNrOigpPT5tSCxTcXVhcmVTdGFyOigpPT5nSCxTcXVhcmVTdG9wOigpPT5iSCxTcXVhcmVUZXJtaW5hbDooKT0+SnAsU3F1YXJlVXNlcjooKT0+YWYsU3F1YXJlVXNlclJvdW5kOigpPT5lZixTcXVhcmVYOigpPT50ZixTcXVhcmVzRXhjbHVkZTooKT0+eEgsU3F1YXJlc0ludGVyc2VjdDooKT0+eUgsU3F1YXJlc1N1YnRyYWN0OigpPT53SCxTcXVhcmVzVW5pdGU6KCk9Pk1ILFNxdWlyY2xlOigpPT5TSCxTcXVpcmNsZURhc2hlZDooKT0+a0gsU3F1aXJyZWw6KCk9PnpILFN0YW1wOigpPT5DSCxTdGFyOigpPT5MSCxTdGFySGFsZjooKT0+X0gsU3Rhck9mZjooKT0+VEgsU3RhcnM6KCk9PmFwLFN0ZXBCYWNrOigpPT4kSCxTdGVwRm9yd2FyZDooKT0+REgsU3RldGhvc2NvcGU6KCk9PkVILFN0aWNrZXI6KCk9PkFILFN0aWNreU5vdGU6KCk9PlBILFN0b25lOigpPT5SSCxTdG9wQ2lyY2xlOigpPT55NixTdG9yZTooKT0+SUgsU3RyZXRjaEhvcml6b250YWw6KCk9Pk5ILFN0cmV0Y2hWZXJ0aWNhbDooKT0+T0gsU3RyaWtldGhyb3VnaDooKT0+RkgsU3Vic2NyaXB0OigpPT5CSCxTdWJ0aXRsZXM6KCk9PlBkLFN1bjooKT0+VUgsU3VuRGltOigpPT5ISCxTdW5NZWRpdW06KCk9PnFILFN1bk1vb246KCk9PlZILFN1blNub3c6KCk9PmpILFN1bnJpc2U6KCk9PldILFN1bnNldDooKT0+R0gsU3VwZXJzY3JpcHQ6KCk9PllILFN3YXRjaEJvb2s6KCk9PktILFN3aXNzRnJhbmM6KCk9PlpILFN3aXRjaENhbWVyYTooKT0+WEgsU3dvcmQ6KCk9PlFILFN3b3JkczooKT0+SkgsU3lyaW5nZTooKT0+ZXEsVGFibGU6KCk9PmNxLFRhYmxlMjooKT0+dHEsVGFibGVDZWxsc01lcmdlOigpPT5hcSxUYWJsZUNlbGxzU3BsaXQ6KCk9PnJxLFRhYmxlQ29sdW1uc1NwbGl0OigpPT5zcSxUYWJsZUNvbmZpZzooKT0+aWMsVGFibGVPZkNvbnRlbnRzOigpPT5pcSxUYWJsZVByb3BlcnRpZXM6KCk9Pm9xLFRhYmxlUm93c1NwbGl0OigpPT5ucSxUYWJsZXQ6KCk9PmRxLFRhYmxldFNtYXJ0cGhvbmU6KCk9PmxxLFRhYmxldHM6KCk9PnVxLFRhZzooKT0+cHEsVGFnczooKT0+ZnEsVGFsbHkxOigpPT5ocSxUYWxseTI6KCk9Pm1xLFRhbGx5MzooKT0+Z3EsVGFsbHk0OigpPT5icSxUYWxseTU6KCk9PnhxLFRhbmdlbnQ6KCk9PnZxLFRhcmdldDooKT0+eXEsVGVsZXNjb3BlOigpPT53cSxUZW50OigpPT5rcSxUZW50VHJlZTooKT0+TXEsVGVybWluYWw6KCk9PlNxLFRlcm1pbmFsU3F1YXJlOigpPT5KcCxUZXN0VHViZTooKT0+enEsVGVzdFR1YmUyOigpPT5yZixUZXN0VHViZURpYWdvbmFsOigpPT5yZixUZXN0VHViZXM6KCk9PkNxLFRleHQ6KCk9PnBjLFRleHRBbGlnbkNlbnRlcjooKT0+c2YsVGV4dEFsaWduRW5kOigpPT5vZixUZXh0QWxpZ25KdXN0aWZ5OigpPT5uZixUZXh0QWxpZ25TdGFydDooKT0+cGMsVGV4dEN1cnNvcjooKT0+VHEsVGV4dEN1cnNvcklucHV0OigpPT5fcSxUZXh0SW5pdGlhbDooKT0+bGYsVGV4dFF1b3RlOigpPT5McSxUZXh0U2VhcmNoOigpPT4kcSxUZXh0U2VsZWN0OigpPT51YyxUZXh0U2VsZWN0aW9uOigpPT51YyxUZXh0V3JhcDooKT0+Y2YsVGhlYXRlcjooKT0+RHEsVGhlcm1vbWV0ZXI6KCk9PlBxLFRoZXJtb21ldGVyU25vd2ZsYWtlOigpPT5BcSxUaGVybW9tZXRlclN1bjooKT0+RXEsVGh1bWJzRG93bjooKT0+SXEsVGh1bWJzVXA6KCk9Pk5xLFRpY2tldDooKT0+VnEsVGlja2V0Q2hlY2s6KCk9PlJxLFRpY2tldE1pbnVzOigpPT5PcSxUaWNrZXRQZXJjZW50OigpPT5GcSxUaWNrZXRQbHVzOigpPT5CcSxUaWNrZXRTbGFzaDooKT0+SHEsVGlja2V0WDooKT0+cXEsVGlja2V0czooKT0+VXEsVGlja2V0c1BsYW5lOigpPT5qcSxUaW1lbGluZTooKT0+V3EsVGltZXI6KCk9PktxLFRpbWVyT2ZmOigpPT5HcSxUaW1lclJlc2V0OigpPT5ZcSxUb2dnbGVMZWZ0OigpPT5YcSxUb2dnbGVSaWdodDooKT0+UXEsVG9pbGV0OigpPT5acSxUb29sQ2FzZTooKT0+SnEsVG9vbGJveDooKT0+ZVYsVG9ybmFkbzooKT0+clYsVG9ydXM6KCk9PnRWLFRvdWNocGFkOigpPT5zVixUb3VjaHBhZE9mZjooKT0+YVYsVG93ZWxSYWNrOigpPT5pVixUb3dlckNvbnRyb2w6KCk9Pm9WLFRveUJyaWNrOigpPT5uVixUcmFjdG9yOigpPT5sVixUcmFmZmljQ29uZTooKT0+Y1YsVHJhaW46KCk9PmRmLFRyYWluRnJvbnQ6KCk9PnVWLFRyYWluRnJvbnRUdW5uZWw6KCk9PmRWLFRyYWluVHJhY2s6KCk9PnBWLFRyYW1Gcm9udDooKT0+ZGYsVHJhbnNnZW5kZXI6KCk9PmZWLFRyYXNoOigpPT5tVixUcmFzaDI6KCk9PmhWLFRyZWVEZWNpZHVvdXM6KCk9PmdWLFRyZWVQYWxtOigpPT51ZixUcmVlUGluZTooKT0+YlYsVHJlZXM6KCk9PnZWLFRyZW5kaW5nRG93bjooKT0+eFYsVHJlbmRpbmdVcDooKT0+d1YsVHJlbmRpbmdVcERvd246KCk9PnlWLFRyaWFuZ2xlOigpPT5TVixUcmlhbmdsZUFsZXJ0OigpPT5wZixUcmlhbmdsZURhc2hlZDooKT0+TVYsVHJpYW5nbGVSaWdodDooKT0+a1YsVHJvcGh5OigpPT56VixUcnVjazooKT0+X1YsVHJ1Y2tFbGVjdHJpYzooKT0+Q1YsVHVya2lzaExpcmE6KCk9PlRWLFR1cm50YWJsZTooKT0+TFYsVHVydGxlOigpPT4kVixUdjooKT0+QVYsVHYyOigpPT5mZixUdk1pbmltYWw6KCk9PmZmLFR2TWluaW1hbFBsYXk6KCk9PkRWLFR5cGU6KCk9PlBWLFR5cGVPdXRsaW5lOigpPT5FVixVbWJyZWxsYTooKT0+TlYsVW1icmVsbGFPZmY6KCk9PklWLFVuZGVybGluZTooKT0+UlYsVW5kbzooKT0+QlYsVW5kbzI6KCk9Pk9WLFVuZG9Eb3Q6KCk9PkZWLFVuZm9sZEhvcml6b250YWw6KCk9PkhWLFVuZm9sZFZlcnRpY2FsOigpPT5xVixVbmdyb3VwOigpPT5WVixVbml2ZXJzaXR5OigpPT5oZixVbmxpbms6KCk9PldWLFVubGluazI6KCk9PmpWLFVubG9jazooKT0+Q3UsVW5sb2NrS2V5aG9sZTooKT0+enUsVW5wbHVnOigpPT5VVixVcGxvYWQ6KCk9PkdWLFVwbG9hZENsb3VkOigpPT5fNixVc2I6KCk9PllWLFVzZXI6KCk9PmxqLFVzZXIyOigpPT55ZixVc2VyQ2hlY2s6KCk9PktWLFVzZXJDaGVjazI6KCk9Pm1mLFVzZXJDaXJjbGU6KCk9Pk02LFVzZXJDaXJjbGUyOigpPT53NixVc2VyQ29nOigpPT5aVixVc2VyQ29nMjooKT0+Z2YsVXNlcktleTooKT0+WFYsVXNlckxvY2s6KCk9PlFWLFVzZXJNaW51czooKT0+SlYsVXNlck1pbnVzMjooKT0+YmYsVXNlclBlbjooKT0+ZWosVXNlclBsdXM6KCk9PnRqLFVzZXJQbHVzMjooKT0+dmYsVXNlclJvdW5kOigpPT55ZixVc2VyUm91bmRDaGVjazooKT0+bWYsVXNlclJvdW5kQ29nOigpPT5nZixVc2VyUm91bmRLZXk6KCk9PmFqLFVzZXJSb3VuZE1pbnVzOigpPT5iZixVc2VyUm91bmRQZW46KCk9PnJqLFVzZXJSb3VuZFBsdXM6KCk9PnZmLFVzZXJSb3VuZFNlYXJjaDooKT0+c2osVXNlclJvdW5kWDooKT0+eGYsVXNlclNlYXJjaDooKT0+aWosVXNlclNxdWFyZTooKT0+YWYsVXNlclNxdWFyZTI6KCk9PmVmLFVzZXJTdGFyOigpPT5vaixVc2VyWDooKT0+bmosVXNlclgyOigpPT54ZixVc2VyczooKT0+Y2osVXNlcnMyOigpPT53ZixVc2Vyc1JvdW5kOigpPT53ZixVdGVuc2lsczooKT0+a2YsVXRlbnNpbHNDcm9zc2VkOigpPT5NZixVdGlsaXR5UG9sZTooKT0+dWosVmFuOigpPT5kaixWYXJpYWJsZTooKT0+cGosVmF1bHQ6KCk9PmZqLFZlY3RvclNxdWFyZTooKT0+aGosVmVnYW46KCk9Pm1qLFZlbmV0aWFuTWFzazooKT0+Z2osVmVudXM6KCk9PnZqLFZlbnVzQW5kTWFyczooKT0+YmosVmVyaWZpZWQ6KCk9PlRkLFZpYnJhdGU6KCk9PnlqLFZpYnJhdGVPZmY6KCk9PnhqLFZpZGVvOigpPT5NaixWaWRlb09mZjooKT0+d2osVmlkZW90YXBlOigpPT5raixWaWV3OigpPT5TaixWb2ljZW1haWw6KCk9PkNqLFZvbGxleWJhbGw6KCk9PnpqLFZvbHVtZTooKT0+RGosVm9sdW1lMTooKT0+X2osVm9sdW1lMjooKT0+VGosVm9sdW1lT2ZmOigpPT5MaixWb2x1bWVYOigpPT4kaixWb3RlOigpPT5BaixXYWxsZXQ6KCk9PlBqLFdhbGxldDI6KCk9PlNmLFdhbGxldENhcmRzOigpPT5FaixXYWxsZXRNaW5pbWFsOigpPT5TZixXYWxscGFwZXI6KCk9PklqLFdhbmQ6KCk9Pk5qLFdhbmQyOigpPT56ZixXYW5kU3BhcmtsZXM6KCk9PnpmLFdhcmVob3VzZTooKT0+UmosV2FzaGluZ01hY2hpbmU6KCk9PkZqLFdhdGNoOigpPT5PaixXYXZlczooKT0+Q2YsV2F2ZXNBcnJvd0Rvd246KCk9PkJqLFdhdmVzQXJyb3dVcDooKT0+SGosV2F2ZXNIb3Jpem9udGFsOigpPT5DZixXYXZlc0xhZGRlcjooKT0+cWosV2F2ZXNWZXJ0aWNhbDooKT0+VmosV2F5cG9pbnRzOigpPT5qaixXZWJjYW06KCk9PlVqLFdlYmhvb2s6KCk9PkdqLFdlYmhvb2tPZmY6KCk9PldqLFdlaWdodDooKT0+S2osV2VpZ2h0VGlsZGU6KCk9PllqLFdoZWF0OigpPT5YaixXaGVhdE9mZjooKT0+WmosV2hvbGVXb3JkOigpPT5RaixXaWZpOigpPT5uVSxXaWZpQ29nOigpPT5KaixXaWZpSGlnaDooKT0+ZVUsV2lmaUxvdzooKT0+dFUsV2lmaU9mZjooKT0+YVUsV2lmaVBlbjooKT0+clUsV2lmaVN5bmM6KCk9PnNVLFdpZmlaZXJvOigpPT5pVSxXaW5kOigpPT5sVSxXaW5kQXJyb3dEb3duOigpPT5vVSxXaW5lOigpPT5wVSxXaW5lT2ZmOigpPT5jVSxXb3JrZmxvdzooKT0+dVUsV29ybTooKT0+ZFUsV3JhcFRleHQ6KCk9PmNmLFdyZW5jaDooKT0+ZlUsWDooKT0+bVUsWENpcmNsZTooKT0+azYsWExpbmVUb3A6KCk9PmhVLFhPY3RhZ29uOigpPT5QdSxYU3F1YXJlOigpPT50ZixaYXA6KCk9PmJVLFphcE9mZjooKT0+Z1UsWm9kaWFjQXF1YXJpdXM6KCk9PnZVLFpvZGlhY0FyaWVzOigpPT54VSxab2RpYWNDYW5jZXI6KCk9PnlVLFpvZGlhY0NhcHJpY29ybjooKT0+d1UsWm9kaWFjR2VtaW5pOigpPT5NVSxab2RpYWNMZW86KCk9PmtVLFpvZGlhY0xpYnJhOigpPT5TVSxab2RpYWNPcGhpdWNodXM6KCk9PnpVLFpvZGlhY1Bpc2NlczooKT0+Q1UsWm9kaWFjU2FnaXR0YXJpdXM6KCk9PlRVLFpvZGlhY1Njb3JwaW86KCk9Pl9VLFpvZGlhY1RhdXJ1czooKT0+TFUsWm9kaWFjVmlyZ286KCk9PiRVLFpvb21JbjooKT0+RFUsWm9vbU91dDooKT0+QVUsY3JlYXRlRWxlbWVudDooKT0+bzQsY3JlYXRlSWNvbnM6KCk9PmtZZSxpY29uczooKT0+X2Z9KTt2YXIga1llLEt0ZT1mKCgpPT57THJhKCk7JHJhKCk7cWdlKCk7WWdlKCk7S2dlKCk7WmdlKCk7WGdlKCk7UWdlKCk7SmdlKCk7ZWJlKCk7dGJlKCk7YWJlKCk7cmJlKCk7c2JlKCk7aWJlKCk7b2JlKCk7bmJlKCk7bGJlKCk7Y2JlKCk7ZGJlKCk7dWJlKCk7cGJlKCk7ZmJlKCk7aGJlKCk7bWJlKCk7Z2JlKCk7YmJlKCk7dmJlKCk7eGJlKCk7eWJlKCk7d2JlKCk7TWJlKCk7a2JlKCk7U2JlKCk7emJlKCk7Q2JlKCk7X2JlKCk7VGJlKCk7TGJlKCk7JGJlKCk7RGJlKCk7QWJlKCk7RWJlKCk7UGJlKCk7SWJlKCk7TmJlKCk7UmJlKCk7T2JlKCk7RmJlKCk7QmJlKCk7SGJlKCk7cWJlKCk7VmJlKCk7amJlKCk7VWJlKCk7V2JlKCk7R2JlKCk7WWJlKCk7S2JlKCk7WmJlKCk7WGJlKCk7UWJlKCk7SmJlKCk7ZXZlKCk7dHZlKCk7YXZlKCk7cnZlKCk7c3ZlKCk7aXZlKCk7b3ZlKCk7bnZlKCk7bHZlKCk7Y3ZlKCk7ZHZlKCk7dXZlKCk7cHZlKCk7ZnZlKCk7aHZlKCk7bXZlKCk7Z3ZlKCk7YnZlKCk7dnZlKCk7eHZlKCk7eXZlKCk7d3ZlKCk7TXZlKCk7a3ZlKCk7U3ZlKCk7enZlKCk7Q3ZlKCk7X3ZlKCk7VHZlKCk7THZlKCk7JHZlKCk7RHZlKCk7QXZlKCk7RXZlKCk7UHZlKCk7SXZlKCk7TnZlKCk7UnZlKCk7T3ZlKCk7RnZlKCk7QnZlKCk7SHZlKCk7cXZlKCk7VnZlKCk7anZlKCk7VXZlKCk7V3ZlKCk7R3ZlKCk7WXZlKCk7S3ZlKCk7WnZlKCk7WHZlKCk7UXZlKCk7SnZlKCk7ZXhlKCk7dHhlKCk7YXhlKCk7cnhlKCk7c3hlKCk7aXhlKCk7b3hlKCk7bnhlKCk7bHhlKCk7Y3hlKCk7ZHhlKCk7dXhlKCk7cHhlKCk7ZnhlKCk7aHhlKCk7bXhlKCk7Z3hlKCk7YnhlKCk7dnhlKCk7eHhlKCk7eXhlKCk7d3hlKCk7TXhlKCk7a3hlKCk7U3hlKCk7enhlKCk7Q3hlKCk7X3hlKCk7VHhlKCk7THhlKCk7JHhlKCk7RHhlKCk7QXhlKCk7RXhlKCk7UHhlKCk7SXhlKCk7TnhlKCk7UnhlKCk7T3hlKCk7RnhlKCk7QnhlKCk7SHhlKCk7cXhlKCk7VnhlKCk7anhlKCk7VXhlKCk7V3hlKCk7R3hlKCk7WXhlKCk7S3hlKCk7WnhlKCk7WHhlKCk7UXhlKCk7SnhlKCk7ZXllKCk7dHllKCk7YXllKCk7cnllKCk7c3llKCk7aXllKCk7b3llKCk7bnllKCk7bHllKCk7Y3llKCk7ZHllKCk7dXllKCk7cHllKCk7ZnllKCk7aHllKCk7bXllKCk7Z3llKCk7YnllKCk7dnllKCk7eHllKCk7eXllKCk7d3llKCk7TXllKCk7a3llKCk7U3llKCk7enllKCk7Q3llKCk7X3llKCk7VHllKCk7THllKCk7JHllKCk7RHllKCk7QXllKCk7RXllKCk7UHllKCk7SXllKCk7TnllKCk7UnllKCk7T3llKCk7RnllKCk7QnllKCk7SHllKCk7cXllKCk7VnllKCk7anllKCk7VXllKCk7V3llKCk7R3llKCk7WXllKCk7S3llKCk7WnllKCk7WHllKCk7UXllKCk7SnllKCk7ZXdlKCk7dHdlKCk7YXdlKCk7cndlKCk7c3dlKCk7aXdlKCk7b3dlKCk7bndlKCk7bHdlKCk7Y3dlKCk7ZHdlKCk7dXdlKCk7cHdlKCk7ZndlKCk7aHdlKCk7bXdlKCk7Z3dlKCk7YndlKCk7dndlKCk7eHdlKCk7eXdlKCk7d3dlKCk7TXdlKCk7a3dlKCk7U3dlKCk7endlKCk7Q3dlKCk7X3dlKCk7VHdlKCk7THdlKCk7JHdlKCk7RHdlKCk7QXdlKCk7RXdlKCk7UHdlKCk7SXdlKCk7TndlKCk7UndlKCk7T3dlKCk7RndlKCk7QndlKCk7SHdlKCk7cXdlKCk7VndlKCk7andlKCk7VXdlKCk7V3dlKCk7R3dlKCk7WXdlKCk7S3dlKCk7WndlKCk7WHdlKCk7UXdlKCk7SndlKCk7ZU1lKCk7dE1lKCk7YU1lKCk7ck1lKCk7c01lKCk7aU1lKCk7b01lKCk7bk1lKCk7bE1lKCk7Y01lKCk7ZE1lKCk7dU1lKCk7cE1lKCk7Zk1lKCk7aE1lKCk7bU1lKCk7Z01lKCk7Yk1lKCk7dk1lKCk7eE1lKCk7eU1lKCk7d01lKCk7TU1lKCk7a01lKCk7U01lKCk7ek1lKCk7Q01lKCk7X01lKCk7VE1lKCk7TE1lKCk7JE1lKCk7RE1lKCk7QU1lKCk7RU1lKCk7UE1lKCk7SU1lKCk7Tk1lKCk7Uk1lKCk7T01lKCk7Rk1lKCk7Qk1lKCk7SE1lKCk7cU1lKCk7Vk1lKCk7ak1lKCk7VU1lKCk7V01lKCk7R01lKCk7WU1lKCk7S01lKCk7Wk1lKCk7WE1lKCk7UU1lKCk7Sk1lKCk7ZWtlKCk7dGtlKCk7YWtlKCk7cmtlKCk7c2tlKCk7aWtlKCk7b2tlKCk7bmtlKCk7bGtlKCk7Y2tlKCk7ZGtlKCk7dWtlKCk7cGtlKCk7ZmtlKCk7aGtlKCk7bWtlKCk7Z2tlKCk7YmtlKCk7dmtlKCk7eGtlKCk7eWtlKCk7d2tlKCk7TWtlKCk7a2tlKCk7U2tlKCk7emtlKCk7Q2tlKCk7X2tlKCk7VGtlKCk7TGtlKCk7JGtlKCk7RGtlKCk7QWtlKCk7RWtlKCk7UGtlKCk7SWtlKCk7TmtlKCk7UmtlKCk7T2tlKCk7RmtlKCk7QmtlKCk7SGtlKCk7cWtlKCk7VmtlKCk7amtlKCk7VWtlKCk7V2tlKCk7R2tlKCk7WWtlKCk7S2tlKCk7WmtlKCk7WGtlKCk7UWtlKCk7SmtlKCk7ZVNlKCk7dFNlKCk7YVNlKCk7clNlKCk7c1NlKCk7aVNlKCk7b1NlKCk7blNlKCk7bFNlKCk7Y1NlKCk7ZFNlKCk7dVNlKCk7cFNlKCk7ZlNlKCk7aFNlKCk7bVNlKCk7Z1NlKCk7YlNlKCk7dlNlKCk7eFNlKCk7eVNlKCk7d1NlKCk7TVNlKCk7a1NlKCk7U1NlKCk7elNlKCk7Q1NlKCk7X1NlKCk7VFNlKCk7TFNlKCk7JFNlKCk7RFNlKCk7QVNlKCk7RVNlKCk7UFNlKCk7SVNlKCk7TlNlKCk7UlNlKCk7T1NlKCk7RlNlKCk7QlNlKCk7SFNlKCk7cVNlKCk7VlNlKCk7alNlKCk7VVNlKCk7V1NlKCk7R1NlKCk7WVNlKCk7S1NlKCk7WlNlKCk7WFNlKCk7UVNlKCk7SlNlKCk7ZXplKCk7dHplKCk7YXplKCk7cnplKCk7c3plKCk7aXplKCk7b3plKCk7bnplKCk7bHplKCk7Y3plKCk7ZHplKCk7dXplKCk7cHplKCk7ZnplKCk7aHplKCk7bXplKCk7Z3plKCk7YnplKCk7dnplKCk7eHplKCk7eXplKCk7d3plKCk7TXplKCk7a3plKCk7U3plKCk7enplKCk7Q3plKCk7X3plKCk7VHplKCk7THplKCk7JHplKCk7RHplKCk7QXplKCk7RXplKCk7UHplKCk7SXplKCk7TnplKCk7UnplKCk7T3plKCk7RnplKCk7QnplKCk7SHplKCk7cXplKCk7VnplKCk7anplKCk7VXplKCk7V3plKCk7R3plKCk7WXplKCk7S3plKCk7WnplKCk7WHplKCk7UXplKCk7SnplKCk7ZUNlKCk7dENlKCk7YUNlKCk7ckNlKCk7c0NlKCk7aUNlKCk7b0NlKCk7bkNlKCk7bENlKCk7Y0NlKCk7ZENlKCk7dUNlKCk7cENlKCk7ZkNlKCk7aENlKCk7bUNlKCk7Z0NlKCk7YkNlKCk7dkNlKCk7eENlKCk7eUNlKCk7d0NlKCk7TUNlKCk7a0NlKCk7U0NlKCk7ekNlKCk7Q0NlKCk7X0NlKCk7VENlKCk7TENlKCk7JENlKCk7RENlKCk7QUNlKCk7RUNlKCk7UENlKCk7SUNlKCk7TkNlKCk7UkNlKCk7T0NlKCk7RkNlKCk7QkNlKCk7SENlKCk7cUNlKCk7VkNlKCk7akNlKCk7VUNlKCk7V0NlKCk7R0NlKCk7WUNlKCk7S0NlKCk7WkNlKCk7WENlKCk7UUNlKCk7SkNlKCk7ZV9lKCk7dF9lKCk7YV9lKCk7cl9lKCk7c19lKCk7aV9lKCk7b19lKCk7bl9lKCk7bF9lKCk7Y19lKCk7ZF9lKCk7dV9lKCk7cF9lKCk7Zl9lKCk7aF9lKCk7bV9lKCk7Z19lKCk7Yl9lKCk7dl9lKCk7eF9lKCk7eV9lKCk7d19lKCk7TV9lKCk7a19lKCk7U19lKCk7el9lKCk7Q19lKCk7X19lKCk7VF9lKCk7TF9lKCk7JF9lKCk7RF9lKCk7QV9lKCk7RV9lKCk7UF9lKCk7SV9lKCk7Tl9lKCk7Ul9lKCk7T19lKCk7Rl9lKCk7Ql9lKCk7SF9lKCk7cV9lKCk7Vl9lKCk7al9lKCk7VV9lKCk7V19lKCk7R19lKCk7WV9lKCk7S19lKCk7Wl9lKCk7WF9lKCk7UV9lKCk7Sl9lKCk7ZVRlKCk7dFRlKCk7YVRlKCk7clRlKCk7c1RlKCk7aVRlKCk7b1RlKCk7blRlKCk7bFRlKCk7Y1RlKCk7ZFRlKCk7dVRlKCk7cFRlKCk7ZlRlKCk7aFRlKCk7bVRlKCk7Z1RlKCk7YlRlKCk7dlRlKCk7eFRlKCk7eVRlKCk7d1RlKCk7TVRlKCk7a1RlKCk7U1RlKCk7elRlKCk7Q1RlKCk7X1RlKCk7VFRlKCk7TFRlKCk7JFRlKCk7RFRlKCk7QVRlKCk7RVRlKCk7UFRlKCk7SVRlKCk7TlRlKCk7UlRlKCk7T1RlKCk7RlRlKCk7QlRlKCk7SFRlKCk7cVRlKCk7VlRlKCk7alRlKCk7VVRlKCk7V1RlKCk7R1RlKCk7WVRlKCk7S1RlKCk7WlRlKCk7WFRlKCk7UVRlKCk7SlRlKCk7ZUxlKCk7dExlKCk7YUxlKCk7ckxlKCk7c0xlKCk7aUxlKCk7b0xlKCk7bkxlKCk7bExlKCk7Y0xlKCk7ZExlKCk7dUxlKCk7cExlKCk7ZkxlKCk7aExlKCk7bUxlKCk7Z0xlKCk7YkxlKCk7dkxlKCk7eExlKCk7eUxlKCk7d0xlKCk7TUxlKCk7a0xlKCk7U0xlKCk7ekxlKCk7Q0xlKCk7X0xlKCk7VExlKCk7TExlKCk7JExlKCk7RExlKCk7QUxlKCk7RUxlKCk7UExlKCk7SUxlKCk7TkxlKCk7UkxlKCk7T0xlKCk7RkxlKCk7QkxlKCk7SExlKCk7cUxlKCk7VkxlKCk7akxlKCk7VUxlKCk7V0xlKCk7R0xlKCk7WUxlKCk7S0xlKCk7WkxlKCk7WExlKCk7UUxlKCk7SkxlKCk7ZSRlKCk7dCRlKCk7YSRlKCk7ciRlKCk7cyRlKCk7aSRlKCk7byRlKCk7biRlKCk7bCRlKCk7YyRlKCk7ZCRlKCk7dSRlKCk7cCRlKCk7ZiRlKCk7aCRlKCk7bSRlKCk7ZyRlKCk7YiRlKCk7diRlKCk7eCRlKCk7eSRlKCk7dyRlKCk7TSRlKCk7ayRlKCk7UyRlKCk7eiRlKCk7QyRlKCk7XyRlKCk7VCRlKCk7TCRlKCk7JCRlKCk7RCRlKCk7QSRlKCk7RSRlKCk7UCRlKCk7SSRlKCk7TiRlKCk7UiRlKCk7TyRlKCk7RiRlKCk7QiRlKCk7SCRlKCk7cSRlKCk7ViRlKCk7aiRlKCk7VSRlKCk7VyRlKCk7RyRlKCk7WSRlKCk7SyRlKCk7WiRlKCk7WCRlKCk7USRlKCk7SiRlKCk7ZURlKCk7dERlKCk7YURlKCk7ckRlKCk7c0RlKCk7aURlKCk7b0RlKCk7bkRlKCk7bERlKCk7Y0RlKCk7ZERlKCk7dURlKCk7cERlKCk7ZkRlKCk7aERlKCk7bURlKCk7Z0RlKCk7YkRlKCk7dkRlKCk7eERlKCk7eURlKCk7d0RlKCk7TURlKCk7a0RlKCk7U0RlKCk7ekRlKCk7Q0RlKCk7X0RlKCk7VERlKCk7TERlKCk7JERlKCk7RERlKCk7QURlKCk7RURlKCk7UERlKCk7SURlKCk7TkRlKCk7UkRlKCk7T0RlKCk7RkRlKCk7QkRlKCk7SERlKCk7cURlKCk7VkRlKCk7akRlKCk7VURlKCk7V0RlKCk7R0RlKCk7WURlKCk7S0RlKCk7WkRlKCk7WERlKCk7UURlKCk7SkRlKCk7ZUFlKCk7dEFlKCk7YUFlKCk7ckFlKCk7c0FlKCk7aUFlKCk7b0FlKCk7bkFlKCk7bEFlKCk7Y0FlKCk7ZEFlKCk7dUFlKCk7cEFlKCk7ZkFlKCk7aEFlKCk7bUFlKCk7Z0FlKCk7YkFlKCk7dkFlKCk7eEFlKCk7eUFlKCk7d0FlKCk7TUFlKCk7a0FlKCk7U0FlKCk7ekFlKCk7Q0FlKCk7X0FlKCk7VEFlKCk7TEFlKCk7JEFlKCk7REFlKCk7QUFlKCk7RUFlKCk7UEFlKCk7SUFlKCk7TkFlKCk7UkFlKCk7T0FlKCk7RkFlKCk7QkFlKCk7SEFlKCk7cUFlKCk7VkFlKCk7akFlKCk7VUFlKCk7V0FlKCk7R0FlKCk7WUFlKCk7S0FlKCk7WkFlKCk7WEFlKCk7UUFlKCk7SkFlKCk7ZUVlKCk7dEVlKCk7YUVlKCk7ckVlKCk7c0VlKCk7aUVlKCk7b0VlKCk7bkVlKCk7bEVlKCk7Y0VlKCk7ZEVlKCk7dUVlKCk7cEVlKCk7ZkVlKCk7aEVlKCk7bUVlKCk7Z0VlKCk7YkVlKCk7dkVlKCk7eEVlKCk7eUVlKCk7d0VlKCk7TUVlKCk7a0VlKCk7U0VlKCk7ekVlKCk7Q0VlKCk7X0VlKCk7VEVlKCk7TEVlKCk7JEVlKCk7REVlKCk7QUVlKCk7RUVlKCk7UEVlKCk7SUVlKCk7TkVlKCk7UkVlKCk7T0VlKCk7RkVlKCk7QkVlKCk7SEVlKCk7cUVlKCk7VkVlKCk7akVlKCk7VUVlKCk7V0VlKCk7R0VlKCk7WUVlKCk7S0VlKCk7WkVlKCk7WEVlKCk7UUVlKCk7SkVlKCk7ZVBlKCk7dFBlKCk7YVBlKCk7clBlKCk7c1BlKCk7aVBlKCk7b1BlKCk7blBlKCk7bFBlKCk7Y1BlKCk7ZFBlKCk7dVBlKCk7cFBlKCk7ZlBlKCk7aFBlKCk7bVBlKCk7Z1BlKCk7YlBlKCk7dlBlKCk7eFBlKCk7eVBlKCk7d1BlKCk7TVBlKCk7a1BlKCk7U1BlKCk7elBlKCk7Q1BlKCk7X1BlKCk7VFBlKCk7TFBlKCk7JFBlKCk7RFBlKCk7QVBlKCk7RVBlKCk7UFBlKCk7SVBlKCk7TlBlKCk7UlBlKCk7T1BlKCk7RlBlKCk7QlBlKCk7SFBlKCk7cVBlKCk7VlBlKCk7alBlKCk7VVBlKCk7V1BlKCk7R1BlKCk7WVBlKCk7S1BlKCk7WlBlKCk7WFBlKCk7UVBlKCk7SlBlKCk7ZUllKCk7dEllKCk7YUllKCk7ckllKCk7c0llKCk7aUllKCk7b0llKCk7bkllKCk7bEllKCk7Y0llKCk7ZEllKCk7dUllKCk7cEllKCk7ZkllKCk7aEllKCk7bUllKCk7Z0llKCk7YkllKCk7dkllKCk7eEllKCk7eUllKCk7d0llKCk7TUllKCk7a0llKCk7U0llKCk7ekllKCk7Q0llKCk7X0llKCk7VEllKCk7TEllKCk7JEllKCk7REllKCk7QUllKCk7RUllKCk7UEllKCk7SUllKCk7TkllKCk7UkllKCk7T0llKCk7RkllKCk7QkllKCk7SEllKCk7cUllKCk7VkllKCk7akllKCk7VUllKCk7V0llKCk7R0llKCk7WUllKCk7S0llKCk7WkllKCk7WEllKCk7UUllKCk7SkllKCk7ZU5lKCk7dE5lKCk7YU5lKCk7ck5lKCk7c05lKCk7aU5lKCk7b05lKCk7bk5lKCk7bE5lKCk7Y05lKCk7ZE5lKCk7dU5lKCk7cE5lKCk7Zk5lKCk7aE5lKCk7bU5lKCk7Z05lKCk7Yk5lKCk7dk5lKCk7eE5lKCk7eU5lKCk7d05lKCk7TU5lKCk7a05lKCk7U05lKCk7ek5lKCk7Q05lKCk7X05lKCk7VE5lKCk7TE5lKCk7JE5lKCk7RE5lKCk7QU5lKCk7RU5lKCk7UE5lKCk7SU5lKCk7Tk5lKCk7Uk5lKCk7T05lKCk7Rk5lKCk7Qk5lKCk7SE5lKCk7cU5lKCk7Vk5lKCk7ak5lKCk7VU5lKCk7V05lKCk7R05lKCk7WU5lKCk7S05lKCk7Wk5lKCk7WE5lKCk7UU5lKCk7Sk5lKCk7ZVJlKCk7dFJlKCk7YVJlKCk7clJlKCk7c1JlKCk7aVJlKCk7b1JlKCk7blJlKCk7bFJlKCk7Y1JlKCk7ZFJlKCk7dVJlKCk7cFJlKCk7ZlJlKCk7aFJlKCk7bVJlKCk7Z1JlKCk7YlJlKCk7dlJlKCk7eFJlKCk7eVJlKCk7d1JlKCk7TVJlKCk7a1JlKCk7U1JlKCk7elJlKCk7Q1JlKCk7X1JlKCk7VFJlKCk7TFJlKCk7JFJlKCk7RFJlKCk7QVJlKCk7RVJlKCk7UFJlKCk7SVJlKCk7TlJlKCk7UlJlKCk7T1JlKCk7RlJlKCk7QlJlKCk7SFJlKCk7cVJlKCk7VlJlKCk7alJlKCk7VVJlKCk7V1JlKCk7R1JlKCk7WVJlKCk7S1JlKCk7WlJlKCk7WFJlKCk7UVJlKCk7SlJlKCk7ZU9lKCk7dE9lKCk7YU9lKCk7ck9lKCk7c09lKCk7aU9lKCk7b09lKCk7bk9lKCk7bE9lKCk7Y09lKCk7ZE9lKCk7dU9lKCk7cE9lKCk7Zk9lKCk7aE9lKCk7bU9lKCk7Z09lKCk7Yk9lKCk7dk9lKCk7eE9lKCk7eU9lKCk7d09lKCk7TU9lKCk7a09lKCk7U09lKCk7ek9lKCk7Q09lKCk7X09lKCk7VE9lKCk7TE9lKCk7JE9lKCk7RE9lKCk7QU9lKCk7RU9lKCk7UE9lKCk7SU9lKCk7Tk9lKCk7Uk9lKCk7T09lKCk7Rk9lKCk7Qk9lKCk7SE9lKCk7cU9lKCk7Vk9lKCk7ak9lKCk7VU9lKCk7V09lKCk7R09lKCk7WU9lKCk7S09lKCk7Wk9lKCk7WE9lKCk7UU9lKCk7Sk9lKCk7ZUZlKCk7dEZlKCk7YUZlKCk7ckZlKCk7c0ZlKCk7aUZlKCk7b0ZlKCk7bkZlKCk7bEZlKCk7Y0ZlKCk7ZEZlKCk7dUZlKCk7cEZlKCk7ZkZlKCk7aEZlKCk7bUZlKCk7Z0ZlKCk7YkZlKCk7dkZlKCk7eEZlKCk7eUZlKCk7d0ZlKCk7TUZlKCk7a0ZlKCk7U0ZlKCk7ekZlKCk7Q0ZlKCk7X0ZlKCk7VEZlKCk7TEZlKCk7JEZlKCk7REZlKCk7QUZlKCk7RUZlKCk7UEZlKCk7SUZlKCk7TkZlKCk7UkZlKCk7T0ZlKCk7RkZlKCk7QkZlKCk7SEZlKCk7cUZlKCk7VkZlKCk7akZlKCk7VUZlKCk7V0ZlKCk7R0ZlKCk7WUZlKCk7S0ZlKCk7WkZlKCk7WEZlKCk7UUZlKCk7SkZlKCk7ZUJlKCk7dEJlKCk7YUJlKCk7ckJlKCk7c0JlKCk7aUJlKCk7b0JlKCk7bkJlKCk7bEJlKCk7Y0JlKCk7ZEJlKCk7dUJlKCk7cEJlKCk7ZkJlKCk7aEJlKCk7bUJlKCk7Z0JlKCk7YkJlKCk7dkJlKCk7eEJlKCk7eUJlKCk7d0JlKCk7TUJlKCk7a0JlKCk7U0JlKCk7ekJlKCk7Q0JlKCk7X0JlKCk7VEJlKCk7TEJlKCk7JEJlKCk7REJlKCk7QUJlKCk7RUJlKCk7UEJlKCk7SUJlKCk7TkJlKCk7UkJlKCk7T0JlKCk7RkJlKCk7QkJlKCk7SEJlKCk7cUJlKCk7VkJlKCk7akJlKCk7VUJlKCk7V0JlKCk7R0JlKCk7WUJlKCk7S0JlKCk7WkJlKCk7WEJlKCk7UUJlKCk7SkJlKCk7ZUhlKCk7dEhlKCk7YUhlKCk7ckhlKCk7c0hlKCk7aUhlKCk7b0hlKCk7bkhlKCk7bEhlKCk7Y0hlKCk7ZEhlKCk7dUhlKCk7cEhlKCk7ZkhlKCk7aEhlKCk7bUhlKCk7Z0hlKCk7YkhlKCk7dkhlKCk7eEhlKCk7eUhlKCk7d0hlKCk7TUhlKCk7a0hlKCk7U0hlKCk7ekhlKCk7Q0hlKCk7X0hlKCk7VEhlKCk7TEhlKCk7JEhlKCk7REhlKCk7QUhlKCk7RUhlKCk7UEhlKCk7SUhlKCk7TkhlKCk7UkhlKCk7T0hlKCk7RkhlKCk7QkhlKCk7SEhlKCk7cUhlKCk7VkhlKCk7akhlKCk7VUhlKCk7V0hlKCk7R0hlKCk7WUhlKCk7S0hlKCk7WkhlKCk7WEhlKCk7UUhlKCk7SkhlKCk7ZXFlKCk7dHFlKCk7YXFlKCk7cnFlKCk7c3FlKCk7aXFlKCk7b3FlKCk7bnFlKCk7bHFlKCk7Y3FlKCk7ZHFlKCk7dXFlKCk7cHFlKCk7ZnFlKCk7aHFlKCk7bXFlKCk7Z3FlKCk7YnFlKCk7dnFlKCk7eHFlKCk7eXFlKCk7d3FlKCk7TXFlKCk7a3FlKCk7U3FlKCk7enFlKCk7Q3FlKCk7X3FlKCk7VHFlKCk7THFlKCk7JHFlKCk7RHFlKCk7QXFlKCk7RXFlKCk7UHFlKCk7SXFlKCk7TnFlKCk7UnFlKCk7T3FlKCk7RnFlKCk7QnFlKCk7SHFlKCk7cXFlKCk7VnFlKCk7anFlKCk7VXFlKCk7V3FlKCk7R3FlKCk7WXFlKCk7S3FlKCk7WnFlKCk7WHFlKCk7UXFlKCk7SnFlKCk7ZVZlKCk7dFZlKCk7YVZlKCk7clZlKCk7c1ZlKCk7aVZlKCk7b1ZlKCk7blZlKCk7bFZlKCk7Y1ZlKCk7ZFZlKCk7dVZlKCk7cFZlKCk7ZlZlKCk7aFZlKCk7bVZlKCk7Z1ZlKCk7YlZlKCk7dlZlKCk7eFZlKCk7eVZlKCk7d1ZlKCk7TVZlKCk7a1ZlKCk7U1ZlKCk7elZlKCk7Q1ZlKCk7X1ZlKCk7VFZlKCk7TFZlKCk7JFZlKCk7RFZlKCk7QVZlKCk7RVZlKCk7UFZlKCk7SVZlKCk7TlZlKCk7UlZlKCk7T1ZlKCk7RlZlKCk7QlZlKCk7SFZlKCk7cVZlKCk7VlZlKCk7alZlKCk7VVZlKCk7V1ZlKCk7R1ZlKCk7WVZlKCk7S1ZlKCk7WlZlKCk7WFZlKCk7UVZlKCk7SlZlKCk7ZWplKCk7dGplKCk7YWplKCk7cmplKCk7c2plKCk7aWplKCk7b2plKCk7bmplKCk7bGplKCk7Y2plKCk7ZGplKCk7dWplKCk7cGplKCk7ZmplKCk7aGplKCk7bWplKCk7Z2plKCk7YmplKCk7dmplKCk7eGplKCk7eWplKCk7d2plKCk7TWplKCk7a2plKCk7U2plKCk7emplKCk7Q2plKCk7X2plKCk7VGplKCk7TGplKCk7JGplKCk7RGplKCk7QWplKCk7RWplKCk7UGplKCk7SWplKCk7TmplKCk7UmplKCk7T2plKCk7RmplKCk7QmplKCk7SGplKCk7cWplKCk7VmplKCk7amplKCk7VWplKCk7V2plKCk7R2plKCk7WWplKCk7S2plKCk7WmplKCk7WGplKCk7UWplKCk7SmplKCk7ZVVlKCk7dFVlKCk7YVVlKCk7clVlKCk7c1VlKCk7aVVlKCk7b1VlKCk7blVlKCk7bFVlKCk7Y1VlKCk7ZFVlKCk7dVVlKCk7cFVlKCk7ZlVlKCk7aFVlKCk7bVVlKCk7Z1VlKCk7YlVlKCk7dlVlKCk7eFVlKCk7eVVlKCk7d1VlKCk7TVVlKCk7a1VlKCk7U1VlKCk7elVlKCk7Q1VlKCk7X1VlKCk7VFVlKCk7TFVlKCk7JFVlKCk7RFVlKCk7QVVlKCk7RVVlKCk7UFVlKCk7SVVlKCk7TlVlKCk7UlVlKCk7T1VlKCk7RlVlKCk7QlVlKCk7SFVlKCk7cVVlKCk7VlVlKCk7alVlKCk7VVVlKCk7V1VlKCk7R1VlKCk7WVVlKCk7S1VlKCk7WlVlKCk7WFVlKCk7UVVlKCk7SlVlKCk7ZVdlKCk7dFdlKCk7YVdlKCk7cldlKCk7c1dlKCk7aVdlKCk7b1dlKCk7bldlKCk7bFdlKCk7Y1dlKCk7ZFdlKCk7dVdlKCk7cFdlKCk7ZldlKCk7aFdlKCk7bVdlKCk7Z1dlKCk7YldlKCk7dldlKCk7eFdlKCk7eVdlKCk7d1dlKCk7TVdlKCk7a1dlKCk7U1dlKCk7eldlKCk7Q1dlKCk7X1dlKCk7VFdlKCk7TFdlKCk7JFdlKCk7RFdlKCk7QVdlKCk7RVdlKCk7UFdlKCk7SVdlKCk7TldlKCk7UldlKCk7T1dlKCk7RldlKCk7QldlKCk7SFdlKCk7cVdlKCk7VldlKCk7aldlKCk7VVdlKCk7V1dlKCk7R1dlKCk7WVdlKCk7S1dlKCk7WldlKCk7WFdlKCk7UVdlKCk7SldlKCk7ZUdlKCk7dEdlKCk7YUdlKCk7ckdlKCk7c0dlKCk7aUdlKCk7b0dlKCk7bkdlKCk7bEdlKCk7Y0dlKCk7ZEdlKCk7dUdlKCk7cEdlKCk7ZkdlKCk7aEdlKCk7bUdlKCk7Z0dlKCk7YkdlKCk7dkdlKCk7eEdlKCk7eUdlKCk7d0dlKCk7TUdlKCk7a0dlKCk7U0dlKCk7ekdlKCk7Q0dlKCk7X0dlKCk7VEdlKCk7TEdlKCk7JEdlKCk7REdlKCk7QUdlKCk7RUdlKCk7UEdlKCk7SUdlKCk7TkdlKCk7UkdlKCk7T0dlKCk7RkdlKCk7QkdlKCk7SEdlKCk7cUdlKCk7VkdlKCk7akdlKCk7VUdlKCk7V0dlKCk7R0dlKCk7WUdlKCk7S0dlKCk7WkdlKCk7WEdlKCk7UUdlKCk7SkdlKCk7ZVllKCk7dFllKCk7YVllKCk7clllKCk7c1llKCk7aVllKCk7b1llKCk7blllKCk7bFllKCk7Y1llKCk7ZFllKCk7dVllKCk7cFllKCk7ZlllKCk7aFllKCk7bVllKCk7Z1llKCk7YlllKCk7dlllKCk7eFllKCk7eVllKCk7d1llKCk7TVllKCk7a1llPXMoKHtpY29uczphPXt9LG5hbWVBdHRyOmU9ImRhdGEtbHVjaWRlIixhdHRyczp0PXt9LHJvb3Q6cj1kb2N1bWVudCxpblRlbXBsYXRlczppfT17fSk9PntpZighT2JqZWN0LnZhbHVlcyhhKS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBQbGVhc2UgcHJvdmlkZSBhbiBpY29ucyBvYmplY3QuCklmIHlvdSB3YW50IHRvIHVzZSBhbGwgdGhlIGljb25zIHlvdSBjYW4gaW1wb3J0IGl0IGxpa2U6CiBcYGltcG9ydCB7IGNyZWF0ZUljb25zLCBpY29ucyB9IGZyb20gJ2x1Y2lkZSc7Cmx1Y2lkZS5jcmVhdGVJY29ucyh7aWNvbnN9KTtcYGApO2lmKHR5cGVvZiByPiJ1Iil0aHJvdyBuZXcgRXJyb3IoImBjcmVhdGVJY29ucygpYCBvbmx5IHdvcmtzIGluIGEgYnJvd3NlciBlbnZpcm9ubWVudC4iKTtpZihBcnJheS5mcm9tKHIucXVlcnlTZWxlY3RvckFsbChgWyR7ZX1dYCkpLmZvckVhY2gobj0+WXRlKG4se25hbWVBdHRyOmUsaWNvbnM6YSxhdHRyczp0fSkpLGkmJkFycmF5LmZyb20oci5xdWVyeVNlbGVjdG9yQWxsKCJ0ZW1wbGF0ZSIpKS5mb3JFYWNoKGw9PmtZZSh7aWNvbnM6YSxuYW1lQXR0cjplLGF0dHJzOnQscm9vdDpsLmNvbnRlbnQsaW5UZW1wbGF0ZXM6aX0pKSxlPT09ImRhdGEtbHVjaWRlIil7bGV0IG49ci5xdWVyeVNlbGVjdG9yQWxsKCJbaWNvbi1uYW1lXSIpO24ubGVuZ3RoPjAmJihjb25zb2xlLndhcm4oIltMdWNpZGVdIFNvbWUgaWNvbnMgd2VyZSBmb3VuZCB3aXRoIHRoZSBub3cgZGVwcmVjYXRlZCBpY29uLW5hbWUgYXR0cmlidXRlLiBUaGVzZSB3aWxsIHN0aWxsIGJlIHJlcGxhY2VkIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgYnV0IHdpbGwgbm8gbG9uZ2VyIGJlIHN1cHBvcnRlZCBpbiB2MS4wIGFuZCB5b3Ugc2hvdWxkIHN3aXRjaCB0byBkYXRhLWx1Y2lkZSIpLEFycmF5LmZyb20obikuZm9yRWFjaChsPT5ZdGUobCx7bmFtZUF0dHI6Imljb24tbmFtZSIsaWNvbnM6YSxhdHRyczp0fSkpKX19LCJjcmVhdGVJY29ucyIpfSk7dmFyIERyYSxBcmE9ZigoKT0+e2xlKCk7dmEoKTtLdGUoKTtEcmE9cygoKT0+e2xldCBhPU9iamVjdC5rZXlzKFp0ZS5mYSk7Y29uc29sZS5sb2coIkZpcnN0IGZldyBMdWNpZGUga2V5czoiLE9iamVjdC5rZXlzKGoyKS5zbGljZSgwLDUpKTtsZXQgZT1PYmplY3Qua2V5cyhqMikuZmlsdGVyKG89PntsZXQgbj1vWzBdPT09b1swXS50b1VwcGVyQ2FzZSgpJiZvWzBdIT09b1swXS50b0xvd2VyQ2FzZSgpLGw9dHlwZW9mIGoyW29dPT0iZnVuY3Rpb24iLGQ9IVsiY3JlYXRlRWxlbWVudCIsImNyZWF0ZUljb25zIiwiZGVmYXVsdCJdLmluY2x1ZGVzKG8pO3JldHVybiBsJiZuJiZkfSkubWFwKG89Pm8uY2hhckF0KDApLnRvTG93ZXJDYXNlKCkrby5zbGljZSgxKSk7aWYoY29uc29sZS5sb2coYEZvdW5kICR7ZS5sZW5ndGh9IEx1Y2lkZSBpY29uc2ApLGUubGVuZ3RoPT09MCYmKGNvbnNvbGUubG9nKCJUcnlpbmcgYWx0ZXJuYXRpdmUgYXBwcm9hY2ggdG8gZmluZCBMdWNpZGUgaWNvbnMiKSxfZikpe2xldCBvPV9mfHx7fTtlLnB1c2goLi4uT2JqZWN0LmtleXMobykpLGNvbnNvbGUubG9nKGBGb3VuZCAke2UubGVuZ3RofSBpY29ucyB2aWEgYWx0ZXJuYXRpdmUgbWV0aG9kYCl9bGV0IHQ9cygoKT0+e2xldCBvPWEubWFwKGM9PmBmYToke2N9YCksbj1lLm1hcChjPT5gbHVjaWRlOiR7Y31gKSxsPVsuLi5vLC4uLm5dLGQ9bC5qb2luKGAKYCk7bmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoZCkudGhlbigoKT0+e2xldCBwPXdpbmRvdy5ldmVudC5jdXJyZW50VGFyZ2V0LHU9cC50ZXh0Q29udGVudDtwLnRleHRDb250ZW50PWBcdTI3MTMgQ29waWVkICR7bC5sZW5ndGh9IGljb24gbmFtZXMhYCxzZXRUaW1lb3V0KCgpPT57cC50ZXh0Q29udGVudD11fSwyZTMpfSl9LCJjb3B5QWxsSWNvbk5hbWVzIikscj1zKG89PntsZXQgbj1vLnRhcmdldC52YWx1ZS50b0xvd2VyQ2FzZSgpLnRyaW0oKSxsPW8udGFyZ2V0LmNsb3Nlc3QoIi5kZW1vQ29udGFpbmVyIik7bC5xdWVyeVNlbGVjdG9yQWxsKCIuaWNvbkNvbnRhaW5lciIpLmZvckVhY2goYz0+e2xldCBwPWMuZ2V0QXR0cmlidXRlKCJkYXRhLW5hbWUiKTtuPT09IiJ8fHAmJnAuaW5jbHVkZXMobik/Yy5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTpjLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpfSksbC5xdWVyeVNlbGVjdG9yQWxsKCIuc2VjdGlvbi1jb250YWluZXIiKS5mb3JFYWNoKGM9PntsZXQgcD1jLnF1ZXJ5U2VsZWN0b3JBbGwoIi5pY29uQ29udGFpbmVyOm5vdCguaGlkZGVuKSIpLmxlbmd0aCx1PWMucXVlcnlTZWxlY3RvcigiLmljb24tY291bnQiKTtpZih1KXtsZXQgbT1jLmNsYXNzTGlzdC5jb250YWlucygiZmEtc2VjdGlvbiIpP2EubGVuZ3RoOmUubGVuZ3RoO3UudGV4dENvbnRlbnQ9cD09PW0/YCR7bX0gaWNvbnNgOmAke3B9IG9mICR7bX0gaWNvbnNgfX0pfSwic2VhcmNoSWNvbnMiKSxpPXMoKG8sbik9PntsZXQgbD1gJHtufToke299YDtuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChsKS50aGVuKCgpPT57bGV0IHA9d2luZG93LmV2ZW50LmN1cnJlbnRUYXJnZXQucXVlcnlTZWxlY3RvcigiLmNvcHktdG9vbHRpcCIpO3AmJihwLnRleHRDb250ZW50PSJDb3BpZWQhIixzZXRUaW1lb3V0KCgpPT57cC50ZXh0Q29udGVudD0iQ2xpY2sgdG8gY29weSJ9LDJlMykpfSl9LCJjb3B5SWNvbk5hbWUiKTtyZXR1cm4gd2AKICA8c3R5bGU+CiAgICAuZGVtb0NvbnRhaW5lciB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIGJhY2tncm91bmQ6ICMxMTExMTE7CiAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgIGZvbnQtc2l6ZTogMzBweDsKICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgIlNlZ29lIFVJIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7CiAgICB9CiAgICAKICAgIC5zZWFyY2gtY29udGFpbmVyIHsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGdhcDogMTBweDsKICAgIH0KICAgIAogICAgI2ljb25TZWFyY2ggewogICAgICBmbGV4OiAxOwogICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIGJhY2tncm91bmQ6ICMyMjI7CiAgICAgIGNvbG9yOiAjZmZmOwogICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzOwogICAgfQogICAgCiAgICAjaWNvblNlYXJjaDpmb2N1cyB7CiAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIGJvcmRlci1jb2xvcjogI2U0MDAyYjsKICAgIH0KICAgIAogICAgLmNvcHktYWxsLWJ1dHRvbiB7CiAgICAgIHBhZGRpbmc6IDEycHggMjBweDsKICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICBib3JkZXI6IG5vbmU7CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgYmFja2dyb3VuZDogI2U0MDAyYjsKICAgICAgY29sb3I6ICNmZmY7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICB9CiAgICAKICAgIC5jb3B5LWFsbC1idXR0b246aG92ZXIgewogICAgICBiYWNrZ3JvdW5kOiAjYzQwMDFiOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7CiAgICB9CiAgICAKICAgIC5jb3B5LWFsbC1idXR0b246YWN0aXZlIHsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgfQogICAgCiAgICBkZWVzLWljb24gewogICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICBjb2xvcjogI2ZmZmZmZjsKICAgIH0KCiAgICAuaWNvbkNvbnRhaW5lciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIHBhZGRpbmc6IDIwcHggMTZweCAwcHggMTZweDsKICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMzMzMzMzsKICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OwogICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yczsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB9CiAgICAKICAgIC5pY29uQ29udGFpbmVyOmhvdmVyIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjsKICAgIH0KCiAgICAuaWNvbk5hbWUgewogICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgY29sb3I6ICNjY2M7CiAgICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7CiAgICAgIHBhZGRpbmc6IDZweCAxMHB4OwogICAgICBtYXJnaW4tbGVmdDogLTE2cHg7CiAgICAgIG1hcmdpbi1yaWdodDogLTE2cHg7CiAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICBtYXgtd2lkdGg6IDEyMHB4OwogICAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDsKICAgIH0KCiAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICBtYXJnaW46IDIwcHggMDsKICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7CiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzMzMzMzOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICB9CiAgICAKICAgIC5hcGktbm90ZSB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICNlNDAwMmI7CiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNDAwMmI7CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgYmFja2dyb3VuZDogcmdiYSgyMjgsIDAsIDQzLCAwLjEpOwogICAgfQogICAgCiAgICAuaWNvbi1jb3VudCB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICM4ODg7CiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgIGJhY2tncm91bmQ6ICMyMjI7CiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OwogICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgfQogICAgCiAgICAuaWNvbnMtZ3JpZCB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CiAgICAKICAgIC5zZWN0aW9uLWNvbnRhaW5lciB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgfQogICAgCiAgICAuY29weS10b29sdGlwIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBiYWNrZ3JvdW5kOiAjMzMzOwogICAgICBjb2xvcjogd2hpdGU7CiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgdG9wOiAtMzBweDsKICAgICAgb3BhY2l0eTogMDsKICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIH0KICAgIAogICAgLmljb25Db250YWluZXI6aG92ZXIgLmNvcHktdG9vbHRpcCB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICB9CgogICAgLmljb25Db250YWluZXI6aG92ZXIgZGVlcy1pY29uIHsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogICAgfQogICAgCiAgICAuaGlkZGVuIHsKICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgfQogIDwvc3R5bGU+CiAgCiAgPGRpdiBjbGFzcz0iZGVtb0NvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJzZWFyY2gtY29udGFpbmVyIj4KICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJpY29uU2VhcmNoIiBwbGFjZWhvbGRlcj0iU2VhcmNoIGljb25zLi4uIiBAaW5wdXQ9JHtyfT4KICAgICAgPGJ1dHRvbiBjbGFzcz0iY29weS1hbGwtYnV0dG9uIiBAY2xpY2s9JHt0fT7wn5OLIENvcHkgQWxsIEljb24gTmFtZXM8L2J1dHRvbj4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJhcGktbm90ZSI+CiAgICAgIE5ldyBBUEk6IFVzZSA8Y29kZT5pY29uPSJmYTppY29uTmFtZSI8L2NvZGU+IG9yIDxjb2RlPmljb249Imx1Y2lkZTppY29uTmFtZSI8L2NvZGU+IGluc3RlYWQgb2YgPGNvZGU+aWNvbkZBPC9jb2RlPi4gCiAgICAgIENsaWNrIGFueSBpY29uIHRvIGNvcHkgaXRzIG5ldyBmb3JtYXQgdG8gY2xpcGJvYXJkLgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGFpbmVyIGZhLXNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICBGb250QXdlc29tZSBJY29ucwogICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWNvdW50Ij4ke2EubGVuZ3RofSBpY29uczwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9Imljb25zLWdyaWQiPgogICAgICAgICR7YS5tYXAobz0+e2xldCBuPWBmYToke299YDtyZXR1cm4gd2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uQ29udGFpbmVyIGZhLWljb24iIGRhdGEtbmFtZT0ke28udG9Mb3dlckNhc2UoKX0gQGNsaWNrPSR7KCk9PmkobywiZmEiKX0+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7bn0gaWNvblNpemU9IjI0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb25OYW1lIj5mYToke299PC9kaXY+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29weS10b29sdGlwIj5DbGljayB0byBjb3B5PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgfSl9CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250YWluZXIgbHVjaWRlLXNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICBMdWNpZGUgSWNvbnMKICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1jb3VudCI+JHtlLmxlbmd0aH0gaWNvbnM8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpY29ucy1ncmlkIj4KICAgICAgICAke2UubWFwKG89PntsZXQgbj1gbHVjaWRlOiR7b31gO3JldHVybiB3YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb25Db250YWluZXIgbHVjaWRlLWljb24iIGRhdGEtbmFtZT0ke28udG9Mb3dlckNhc2UoKX0gQGNsaWNrPSR7KCk9PmkobywibHVjaWRlIil9PgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke259IGljb25TaXplPSIyNCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uTmFtZSI+bHVjaWRlOiR7b308L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb3B5LXRvb2x0aXAiPkNsaWNrIHRvIGNvcHk8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGB9KX0KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KICBgfSwiZGVtb0Z1bmMiKX0pO2Z1bmN0aW9uIEwkYSgpe29tLnNpemU+RXJhJiZBcnJheS5mcm9tKG9tLmtleXMoKSkuc2xpY2UoMCxFcmEvNSkuZm9yRWFjaChlPT5vbS5kZWxldGUoZSkpfXZhciBpbSxfMSxUJGEsWnRlLG9tLEVyYSxQcmEsdmE9ZigoKT0+e2xlKCk7ZWEoKTtRZSgpO2xndCgpO2ZDdCgpO0FMdCgpO01yYSgpO0FyYSgpO0t0ZSgpO0t0ZSgpO2ltPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxfMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sVCRhPXthcnJvd1JpZ2h0Okh0ZSxhcnJvd1VwUmlnaHRGcm9tU3F1YXJlOmJ2LGJlbGw6THRlLGJ1ZzpqdGUsYnVpbGRpbmc6T3RlLGNhcmV0TGVmdDpBdGUsY2FyZXRSaWdodDpUdGUsY2hlY2s6QnRlLGNpcmNsZUluZm86eHYsY2lyY2xlQ2hlY2s6SGIsY2lyY2xlQ2hlY2tTb2xpZDpmdixjaXJjbGVYbWFyazpROCxjaXJjbGVYbWFya1NvbGlkOnJtLGNsb2NrUm90YXRlTGVmdDpodixjb3B5OiRlZSxjb3B5U29saWQ6VXRlLGRlc2t0b3A6dnYsZXllOkR0ZSxleWVTbGFzaDpXdGUsZmlsZUludm9pY2U6cXRlLGZpbGVJbnZvaWNlRG9sbGVyOlZ0ZSxnZWFyOnV2LGdyaXA6c20sbWFnbmlmeWluZ0dsYXNzOmx2LG1lc3NhZ2U6RmIsbWVzc2FnZVNvbGlkOm92LG1vbmV5Q2hlY2tEb2xsYXI6Z3YsbXVnSG90Okd0ZSxtaW51czppdixuZXR3b3JrV2lyZWQ6TnRlLHBhcGVyY2xpcDpGdGUscGFzdGU6T2IscGFzdGVTb2xpZDpzdixwZW5Ub1NxdWFyZTpjdixwbHVzOm12LHJlY2VpcHQ6RXRlLHJzczpudixzaGFyZTpkdixzdW46TGVlLHN1blNvbGlkOkl0ZSx0ZXJtaW5hbDpSdGUsdHJhc2g6eXYsdHJhc2hTb2xpZDp5dix0cmFzaENhbjpCYix0cmFzaENhblNvbGlkOnB2LHVzZXJzOlB0ZSx3YWxsZXQ6JHRlLHhtYXJrOmk0LGZhY2Vib29rOmdlZSxnb29nbGU6aGVlLGluc3RhZ3JhbTp4ZWUsbGlua2VkaW46bWVlLG1lZGl1bTpJYixzbGFjazpiZWUsdGlrdG9rOnZlZSx0d2l0dGVyOnllZX0sWnRlPXtmYTpUJGF9LG9tPW5ldyBNYXAsRXJhPTUwMDtzKEwkYSwibGltaXRDYWNoZVNpemUiKTtQcmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWljb24iKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXTt2YXIgTj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0ljb24iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZyxjb252ZXJ0ZXI6e2Zyb21BdHRyaWJ1dGU6cyh6PT56LCJmcm9tQXR0cmlidXRlIiksdG9BdHRyaWJ1dGU6cyh6PT56LCJ0b0F0dHJpYnV0ZSIpfX0pXSxkPVskKHt0eXBlOlN0cmluZyxjb252ZXJ0ZXI6e2Zyb21BdHRyaWJ1dGU6cyh6PT56LCJmcm9tQXR0cmlidXRlIiksdG9BdHRyaWJ1dGU6cyh6PT56LCJ0b0F0dHJpYnV0ZSIpfX0pXSx1PVskKHt0eXBlOk51bWJlcn0pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHt0eXBlOk51bWJlcn0pXSxpbSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imljb25GQSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iaWNvbkZBImluIHosImhhcyIpLGdldDpzKHo9PnouaWNvbkZBLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouaWNvbkZBPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbixsKSxpbSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imljb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Imljb24iaW4geiwiaGFzIiksZ2V0OnMoej0+ei5pY29uLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouaWNvbj1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGMscCksaW0odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpY29uU2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iaWNvblNpemUiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5pY29uU2l6ZSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6Lmljb25TaXplPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbSx2KSxpbSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbG9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJjb2xvciJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmNvbG9yLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouY29sb3I9T30sInNldCIpfSxtZXRhZGF0YTpffSxiLGcpLGltKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3Ryb2tlV2lkdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InN0cm9rZVdpZHRoImluIHosImhhcyIpLGdldDpzKHo9Pnouc3Ryb2tlV2lkdGgsImdldCIpLHNldDpzKCh6LE8pPT57ei5zdHJva2VXaWR0aD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGssQyksaW0obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X30sbnVsbCx0KSxOPXI9ZS52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgZGVtbz1EcmE7c3RhdGljIGRlbW9Hcm91cHM9WyJVdGlsaXR5Il07I2U9XzEodGhpcyxuLHZvaWQgMCk7Z2V0IGljb25GQSgpe3JldHVybiB0aGlzLiNlfXNldCBpY29uRkEoXyl7dGhpcy4jZT1ffSN0PShfMSh0aGlzLGwpLF8xKHRoaXMsYyx2b2lkIDApKTtnZXQgaWNvbigpe3JldHVybiB0aGlzLiN0fXNldCBpY29uKF8pe3RoaXMuI3Q9X30jYT0oXzEodGhpcyxwKSxfMSh0aGlzLG0sdm9pZCAwKSk7Z2V0IGljb25TaXplKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGljb25TaXplKF8pe3RoaXMuI2E9X30jcj0oXzEodGhpcyx2KSxfMSh0aGlzLGIsImN1cnJlbnRDb2xvciIpKTtnZXQgY29sb3IoKXtyZXR1cm4gdGhpcy4jcn1zZXQgY29sb3IoXyl7dGhpcy4jcj1ffSNzPShfMSh0aGlzLGcpLF8xKHRoaXMsaywyKSk7Z2V0IHN0cm9rZVdpZHRoKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHN0cm9rZVdpZHRoKF8pe3RoaXMuI3M9X31sYXN0SWNvbj0oXzEodGhpcyxDKSxudWxsKTtsYXN0SWNvblNpemU9bnVsbDtsYXN0Q29sb3I9bnVsbDtsYXN0U3Ryb2tlV2lkdGg9bnVsbDtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksYXIuc2V0dXAoKX1nZXRFZmZlY3RpdmVJY29uKCl7cmV0dXJuIHRoaXMuaWNvbj90aGlzLmljb246dGhpcy5pY29uRkE/dGhpcy5pY29uRkEuc3RhcnRzV2l0aCgibHVjaWRlOiIpP3RoaXMuaWNvbkZBOmBmYToke3RoaXMuaWNvbkZBfWA6bnVsbH1wYXJzZUljb25TdHJpbmcoXyl7bGV0IHo9Xy50b0xvd2VyQ2FzZSgpO3JldHVybiB6LnN0YXJ0c1dpdGgoImZhOiIpP3t0eXBlOiJmYSIsbmFtZTpfLnN1YnN0cmluZygzKX06ei5zdGFydHNXaXRoKCJsdWNpZGU6Iik/e3R5cGU6Imx1Y2lkZSIsbmFtZTpfLnN1YnN0cmluZyg3KX06e3R5cGU6Imx1Y2lkZSIsbmFtZTpffX1yZW5kZXJMdWNpZGVJY29uKF8pe2xldCB6PWBsdWNpZGU6JHtffToke3RoaXMuaWNvblNpemV9OiR7dGhpcy5jb2xvcn06JHt0aGlzLnN0cm9rZVdpZHRofWA7aWYob20uaGFzKHopKXJldHVybiBvbS5nZXQoeil8fCIiO3RyeXtsZXQgTz1fLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK18uc2xpY2UoMSk7aWYoIWoyW09dKXJldHVybiBjb25zb2xlLndhcm4oYEx1Y2lkZSBpY29uICcke099JyBub3QgZm91bmQgaW4gbHVjaWRlSWNvbnMgb2JqZWN0YCksIiI7bGV0IFQ9bzQoajJbT10se2NvbG9yOnRoaXMuY29sb3Isc2l6ZTp0aGlzLmljb25TaXplLHN0cm9rZVdpZHRoOnRoaXMuc3Ryb2tlV2lkdGh9KTtpZighVClyZXR1cm4gY29uc29sZS53YXJuKGBjcmVhdGVFbGVtZW50IHJldHVybmVkIGVtcHR5IHJlc3VsdCBmb3IgJHtPfWApLCIiO2xldCBFPVQub3V0ZXJIVE1MO3JldHVybiBvbS5zZXQoeixFKSxMJGEoKSxFfWNhdGNoKE8pe3JldHVybiBjb25zb2xlLmVycm9yKGBFcnJvciByZW5kZXJpbmcgTHVjaWRlIGljb24gJHtffTpgLE8pLGA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IiR7dGhpcy5pY29uU2l6ZX0iIGhlaWdodD0iJHt0aGlzLmljb25TaXplfSIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiR7dGhpcy5jb2xvcn0iIHN0cm9rZS13aWR0aD0iJHt0aGlzLnN0cm9rZVdpZHRofSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICAgICAgICA8dGV4dCB4PSI1MCUiIHk9IjUwJSIgZm9udC1zaXplPSI2IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkb21pbmFudC1iYXNlbGluZT0ibWlkZGxlIiBmaWxsPSIke3RoaXMuY29sb3J9Ij4ke199PC90ZXh0PgogICAgICA8L3N2Zz5gfX1zdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLyogSW1wcm92ZSByZW5kZXJpbmcgcGVyZm9ybWFuY2UgKi8KICAgICAgI2ljb25Db250YWluZXIgc3ZnIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsgLyogSGVscHMgd2l0aCBhbmltYXRpb25zICovCiAgICAgICAgY29udGFpbjogc3RyaWN0OyAvKiBQZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24gKi8KICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgICR7YXIuc3R5bGVzfQogICAgICA8c3R5bGU+CiAgICAgICAgI2ljb25Db250YWluZXIgewogICAgICAgICAgd2lkdGg6ICR7dGhpcy5pY29uU2l6ZX1weDsKICAgICAgICAgIGhlaWdodDogJHt0aGlzLmljb25TaXplfXB4OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBpZD0iaWNvbkNvbnRhaW5lciI+PC9kaXY+CiAgICBgfXVwZGF0ZWQoKXt0aGlzLmljb25TaXplfHwodGhpcy5pY29uU2l6ZT1wYXJzZUludChnbG9iYWxUaGlzLmdldENvbXB1dGVkU3R5bGUodGhpcykuZm9udFNpemUucmVwbGFjZSgvXEQvZywiIikpKTtsZXQgXz10aGlzLmdldEVmZmVjdGl2ZUljb24oKTtpZih0aGlzLmxhc3RJY29uPT09XyYmdGhpcy5sYXN0SWNvblNpemU9PT10aGlzLmljb25TaXplJiZ0aGlzLmxhc3RDb2xvcj09PXRoaXMuY29sb3ImJnRoaXMubGFzdFN0cm9rZVdpZHRoPT09dGhpcy5zdHJva2VXaWR0aClyZXR1cm47dGhpcy5sYXN0SWNvbj1fLHRoaXMubGFzdEljb25TaXplPXRoaXMuaWNvblNpemUsdGhpcy5sYXN0Q29sb3I9dGhpcy5jb2xvcix0aGlzLmxhc3RTdHJva2VXaWR0aD10aGlzLnN0cm9rZVdpZHRoO2xldCB6PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiI2ljb25Db250YWluZXIiKTtpZighKCF6fHwhXykpdHJ5e2xldHt0eXBlOk8sbmFtZTpUfT10aGlzLnBhcnNlSWNvblN0cmluZyhfKTtpZihPPT09Imx1Y2lkZSIpe3ouaW5uZXJIVE1MPSIiO3RyeXtsZXQgRT1ULmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK1Quc2xpY2UoMSk7aWYoajJbRV0pe2xldCBCPW80KGoyW0VdLHtjb2xvcjp0aGlzLmNvbG9yLHNpemU6dGhpcy5pY29uU2l6ZSxzdHJva2VXaWR0aDp0aGlzLnN0cm9rZVdpZHRofSk7aWYoQil7ei5hcHBlbmRDaGlsZChCKTtyZXR1cm59fXRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGNyZWF0ZSBlbGVtZW50IGZvciAke0V9YCl9Y2F0Y2goRSl7Y29uc29sZS5lcnJvcigiRXJyb3IgcmVuZGVyaW5nIEx1Y2lkZSBpY29uOiIsRSk7bGV0IEI9dGhpcy5yZW5kZXJMdWNpZGVJY29uKFQpO0ImJih6LmlubmVySFRNTD1CKX19ZWxzZXtsZXQgRT1adGUuZmFbVF07aWYoRSl7bGV0IEI9VHVlKEUpLmh0bWxbMF07ei5pbm5lckhUTUw9Qn1lbHNlIGNvbnNvbGUud2FybihgRm9udEF3ZXNvbWUgaWNvbiBub3QgZm91bmQ6ICR7VH1gKX19Y2F0Y2goTyl7Y29uc29sZS5lcnJvcihgRXJyb3IgdXBkYXRpbmcgaWNvbiAke199OmAsTyl9fWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmxhc3RJY29uPW51bGwsdGhpcy5sYXN0SWNvblNpemU9bnVsbCx0aGlzLmxhc3RDb2xvcj1udWxsLHRoaXMubGFzdFN0cm9rZVdpZHRoPW51bGx9c3RhdGlje18xKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBJcmEsU1llLHRhLFpyPWYoKCk9PntWcygpO183dCgpO2xlKCk7ZWEoKTtNMSgpO1VpKCk7dmEoKTtRZSgpO0lyYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sU1llPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSx0YT0oKCk9PntsZXQgYT1baWUoImRlZXMtY29udGV4dG1lbnUiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0NvbnRleHRtZW51Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxJcmEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW51SXRlbXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+Im1lbnVJdGVtcyJpbiBwLCJoYXMiKSxnZXQ6cyhwPT5wLm1lbnVJdGVtcywiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLm1lbnVJdGVtcz11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksSXJhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9c3RhdGljIGRlbW89Qzd0O3N0YXRpYyBkZW1vR3JvdXBzPVsiT3ZlcmxheSJdO3N0YXRpYyBjb250ZXh0TWVudURlYWN0aXZhdGVkPSExO3N0YXRpYyBhY2N1bXVsYXRlZE1lbnVJdGVtcz1bXTtzdGF0aWMgaW5pdGlhbGl6ZUdsb2JhbExpc3RlbmVyKCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGM9PntpZih0aGlzLmNvbnRleHRNZW51RGVhY3RpdmF0ZWQpcmV0dXJuO2MucHJldmVudERlZmF1bHQoKSxkLmFjY3VtdWxhdGVkTWVudUl0ZW1zPVtdO2xldCBwPWMuY29tcG9zZWRQYXRoKCk7Zm9yKGxldCB1IG9mIHApaWYodS5nZXRDb250ZXh0TWVudUl0ZW1zKXtsZXQgbT11LmdldENvbnRleHRNZW51SXRlbXMoKTttJiZtLmxlbmd0aD4wJiYoZC5hY2N1bXVsYXRlZE1lbnVJdGVtcy5sZW5ndGg+MCYmZC5hY2N1bXVsYXRlZE1lbnVJdGVtcy5wdXNoKHtkaXZpZGVyOiEwfSksZC5hY2N1bXVsYXRlZE1lbnVJdGVtcy5wdXNoKC4uLm0pKX1kLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKGMsZC5hY2N1bXVsYXRlZE1lbnVJdGVtcyl9KX1zdGF0aWMgYXN5bmMgb3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoYyxwKXtpZih0aGlzLmNvbnRleHRNZW51RGVhY3RpdmF0ZWQpcmV0dXJuO2MucHJldmVudERlZmF1bHQoKSxjLnN0b3BQcm9wYWdhdGlvbigpO2xldCB1PW5ldyBkO3Uuc3R5bGUucG9zaXRpb249ImZpeGVkIix1LnN0eWxlLnpJbmRleD1TdHJpbmcoRHMub3ZlcmxheS5jb250ZXh0TWVudSksdS5zdHlsZS5vcGFjaXR5PSIwIix1LnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoMC45NSkgdHJhbnNsYXRlWSgtMTBweCkiLHUubWVudUl0ZW1zPXAsdS53aW5kb3dMYXllcj1hd2FpdCBqcy5jcmVhdGVBbmRTaG93KCksdS53aW5kb3dMYXllci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYXN5bmMgeT0+e3kudGFyZ2V0LmNsb3Nlc3QoImRlZXMtY29udGV4dG1lbnUiKXx8YXdhaXQgdS5kZXN0cm95KCl9KSxkb2N1bWVudC5ib2R5LmFwcGVuZCh1KSxhd2FpdCBIdC5zbWFydGRlbGF5LmRlbGF5Rm9yKDApO2xldCBtPXUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdj13aW5kb3cuaW5uZXJXaWR0aCx4PXdpbmRvdy5pbm5lckhlaWdodCxiPWMuY2xpZW50WSxnPWMuY2xpZW50WDtnK20ud2lkdGg+diYmKGc9di1tLndpZHRoLTEwKSxiK20uaGVpZ2h0PngmJihiPXgtbS5oZWlnaHQtMTApLGc8MTAmJihnPTEwKSxiPDEwJiYoYj0xMCksdS5zdHlsZS50b3A9YCR7Yn1weGAsdS5zdHlsZS5sZWZ0PWAke2d9cHhgLHUuc3R5bGUudHJhbnNmb3JtT3JpZ2luPSJ0b3AgbGVmdCIsYXdhaXQgSHQuc21hcnRkZWxheS5kZWxheUZvcigwKSx1LnN0eWxlLm9wYWNpdHk9IjEiLHUuc3R5bGUudHJhbnNmb3JtPSJzY2FsZSgxKSB0cmFuc2xhdGVZKDApIn0jZT1TWWUodGhpcyxuLFtdKTtnZXQgbWVudUl0ZW1zKCl7cmV0dXJuIHRoaXMuI2V9c2V0IG1lbnVJdGVtcyhjKXt0aGlzLiNlPWN9d2luZG93TGF5ZXI9U1llKHRoaXMsbCk7c3VibWVudT1udWxsO3N1Ym1lbnVUaW1lb3V0PW51bGw7cGFyZW50TWVudT1udWxsO2lzRGVzdHJveWluZz0hMTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy50YWJJbmRleD0wfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzLCB0cmFuc2Zvcm0gMC4yczsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICAubWFpbmJveCB7CiAgICAgICAgbWluLXdpZHRoOiAyMDBweDsKICAgICAgICBtYXgtd2lkdGg6IDI4MHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2UwZTBlMCIsIiMyMDIwMjAiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGJveC1zaGFkb3c6ICR7aC5iZFRoZW1lKCIwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSkiLCIwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4zKSIpfTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBwYWRkaW5nOiA0cHggMDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzMzIiwiI2NjYyIpfTsKICAgICAgfQoKICAgICAgLm1lbnVpdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xczsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5tZW51aXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgICB9CiAgICAgIAogICAgICAubWVudWl0ZW0uaGFzLXN1Ym1lbnU6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAn4oC6JzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDhweDsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAubWVudWl0ZW06YWN0aXZlOm5vdCguaGFzLXN1Ym1lbnUpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA4KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5tZW51aXRlbS5kaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5tZW51aXRlbSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgIH0KCiAgICAgIC5tZW51aXRlbS10ZXh0IHsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAubWVudWl0ZW0tc2hvcnRjdXQgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5OTkiLCIjNjY2Iil9OwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgfQoKICAgICAgLm1lbnUtZGl2aWRlciB7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlMGUwZTAiLCIjMjAyMDIwIil9OwogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtYWluYm94Ij4KICAgICAgICAke3RoaXMubWVudUl0ZW1zLm1hcChjPT57aWYoImRpdmlkZXIiaW4gYyYmYy5kaXZpZGVyKXJldHVybiB3YDxkaXYgY2xhc3M9Im1lbnUtZGl2aWRlciI+PC9kaXY+YDtsZXQgcD1jLHU9cC5zdWJtZW51JiZwLnN1Ym1lbnUubGVuZ3RoPjA7cmV0dXJuIHdgCiAgICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgICAgY2xhc3M9Im1lbnVpdGVtICR7cC5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSAke3U/Imhhcy1zdWJtZW51IjoiIn0iIAogICAgICAgICAgICAgIEBjbGljaz0keygpPT4hcC5kaXNhYmxlZCYmIXUmJnRoaXMuaGFuZGxlQ2xpY2socCl9CiAgICAgICAgICAgICAgQG1vdXNlZW50ZXI9JHsoKT0+dGhpcy5oYW5kbGVNZW51SXRlbUhvdmVyKHAsdSl9CiAgICAgICAgICAgICAgQG1vdXNlbGVhdmU9JHsoKT0+dGhpcy5oYW5kbGVNZW51SXRlbUxlYXZlKCl9CiAgICAgICAgICAgID4KICAgICAgICAgICAgICAke3AuaWNvbk5hbWU/d2AKICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249IiR7cC5pY29uTmFtZX0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1lbnVpdGVtLXRleHQiPiR7cC5uYW1lfTwvc3Bhbj4KICAgICAgICAgICAgICAke3Auc2hvcnRjdXQmJiF1P3dgCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWVudWl0ZW0tc2hvcnRjdXQiPiR7cC5zaG9ydGN1dH08L3NwYW4+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfSl9CiAgICAgICAgJHt0aGlzLm1lbnVJdGVtcy5sZW5ndGg9PT0wP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lbnVpdGVtIiBAY2xpY2s9JHsoKT0+e2QuY29udGV4dE1lbnVEZWFjdGl2YXRlZD0hMCx0aGlzLmRlc3Ryb3koKX19PgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249Imx1Y2lkZTp4Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWVudWl0ZW0tdGV4dCI+QWxsb3cgbmF0aXZlIGNvbnRleHQ8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6d2BgfQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7dGhpcy5mb2N1cygpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5oYW5kbGVLZXlkb3duKX1oYW5kbGVLZXlkb3duPXMoYz0+e2xldCBwPUFycmF5LmZyb20odGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoIi5tZW51aXRlbTpub3QoLmRpc2FibGVkKSIpKSx1PXAuZmluZEluZGV4KG09Pm0ubWF0Y2hlcygiOmhvdmVyIikpO3N3aXRjaChjLmtleSl7Y2FzZSJBcnJvd0Rvd24iOmMucHJldmVudERlZmF1bHQoKTtsZXQgbT11KzE8cC5sZW5ndGg/dSsxOjA7cFttXS5kaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50KCJtb3VzZWVudGVyIikpO2JyZWFrO2Nhc2UiQXJyb3dVcCI6Yy5wcmV2ZW50RGVmYXVsdCgpO2xldCB2PXUtMT49MD91LTE6cC5sZW5ndGgtMTtwW3ZdLmRpc3BhdGNoRXZlbnQobmV3IE1vdXNlRXZlbnQoIm1vdXNlZW50ZXIiKSk7YnJlYWs7Y2FzZSJFbnRlciI6Yy5wcmV2ZW50RGVmYXVsdCgpLHU+PTAmJnBbdV0uY2xpY2soKTticmVhaztjYXNlIkVzY2FwZSI6Yy5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZGVzdHJveSgpO2JyZWFrfX0sImhhbmRsZUtleWRvd24iKTthc3luYyBoYW5kbGVDbGljayhjKXtjLmFjdGlvbigpLGF3YWl0IHRoaXMuZGVzdHJveUFsbCgpfWFzeW5jIGhhbmRsZU1lbnVJdGVtSG92ZXIoYyxwKXt0aGlzLnN1Ym1lbnVUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuc3VibWVudVRpbWVvdXQpLHRoaXMuc3VibWVudVRpbWVvdXQ9bnVsbCksdGhpcy5zdWJtZW51JiZhd2FpdCB0aGlzLmhpZGVTdWJtZW51KCkscCYmYy5zdWJtZW51JiYodGhpcy5zdWJtZW51VGltZW91dD1zZXRUaW1lb3V0KCgpPT57dGhpcy5zaG93U3VibWVudShjKX0sMjAwKSl9aGFuZGxlTWVudUl0ZW1MZWF2ZSgpe3RoaXMuc3VibWVudVRpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLnN1Ym1lbnVUaW1lb3V0KSx0aGlzLnN1Ym1lbnVUaW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLnN1Ym1lbnUmJiF0aGlzLnN1Ym1lbnUubWF0Y2hlcygiOmhvdmVyIikmJnRoaXMuaGlkZVN1Ym1lbnUoKX0sMzAwKX1hc3luYyBzaG93U3VibWVudShjKXtpZighYy5zdWJtZW51fHxjLnN1Ym1lbnUubGVuZ3RoPT09MClyZXR1cm47bGV0IHU9QXJyYXkuZnJvbSh0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvckFsbCgiLm1lbnVpdGVtIikpLmZpbmQoaz0+ay5xdWVyeVNlbGVjdG9yKCIubWVudWl0ZW0tdGV4dCIpPy50ZXh0Q29udGVudD09PWMubmFtZSk7aWYoIXUpcmV0dXJuO3RoaXMuc3VibWVudT1uZXcgZCx0aGlzLnN1Ym1lbnUubWVudUl0ZW1zPWMuc3VibWVudSx0aGlzLnN1Ym1lbnUucGFyZW50TWVudT10aGlzLHRoaXMuc3VibWVudS5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiLHRoaXMuc3VibWVudS5zdHlsZS56SW5kZXg9U3RyaW5nKHBhcnNlSW50KHRoaXMuc3R5bGUuekluZGV4KSsxKSx0aGlzLnN1Ym1lbnUuc3R5bGUub3BhY2l0eT0iMCIsdGhpcy5zdWJtZW51LnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoMC45NSkiLGRvY3VtZW50LmJvZHkuYXBwZW5kKHRoaXMuc3VibWVudSksYXdhaXQgSHQuc21hcnRkZWxheS5kZWxheUZvcigwKTtsZXQgbT11LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHY9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx4PXRoaXMuc3VibWVudS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxiPXdpbmRvdy5pbm5lcldpZHRoLGc9di5yaWdodC00LHk9bS50b3A7Zyt4LndpZHRoPmItMTAmJihnPXYubGVmdC14LndpZHRoKzQpLHkreC5oZWlnaHQ+d2luZG93LmlubmVySGVpZ2h0LTEwJiYoeT13aW5kb3cuaW5uZXJIZWlnaHQteC5oZWlnaHQtMTApLHRoaXMuc3VibWVudS5zdHlsZS5sZWZ0PWAke2d9cHhgLHRoaXMuc3VibWVudS5zdHlsZS50b3A9YCR7eX1weGAsYXdhaXQgSHQuc21hcnRkZWxheS5kZWxheUZvcigwKSx0aGlzLnN1Ym1lbnUuc3R5bGUub3BhY2l0eT0iMSIsdGhpcy5zdWJtZW51LnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoMSkiLHRoaXMuc3VibWVudS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIiwoKT0+e3RoaXMuc3VibWVudVRpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5zdWJtZW51VGltZW91dCksdGhpcy5zdWJtZW51VGltZW91dD1udWxsKX0pLHRoaXMuc3VibWVudS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwoKT0+e3RoaXMuaGFuZGxlTWVudUl0ZW1MZWF2ZSgpfSl9YXN5bmMgaGlkZVN1Ym1lbnUoKXt0aGlzLnN1Ym1lbnUmJihhd2FpdCB0aGlzLnN1Ym1lbnUuZGVzdHJveSgpLHRoaXMuc3VibWVudT1udWxsKX1hc3luYyBkZXN0cm95KCl7dGhpcy5pc0Rlc3Ryb3lpbmd8fCh0aGlzLmlzRGVzdHJveWluZz0hMCx0aGlzLnN1Ym1lbnVUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuc3VibWVudVRpbWVvdXQpLHRoaXMuc3VibWVudVRpbWVvdXQ9bnVsbCksdGhpcy5zdWJtZW51JiYoYXdhaXQgdGhpcy5zdWJtZW51LmRlc3Ryb3koKSx0aGlzLnN1Ym1lbnU9bnVsbCksdGhpcy53aW5kb3dMYXllciYmIXRoaXMucGFyZW50TWVudSYmdGhpcy53aW5kb3dMYXllci5kZXN0cm95KCksdGhpcy5zdHlsZS5vcGFjaXR5PSIwIix0aGlzLnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoMC45NSkgdHJhbnNsYXRlWSgtMTBweCkiLGF3YWl0IEh0LnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMTAwKSx0aGlzLnBhcmVudEVsZW1lbnQmJnRoaXMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzKSl9YXN5bmMgZGVzdHJveUFsbCgpe2xldCBjPXRoaXM7Zm9yKDtjLnBhcmVudE1lbnU7KWM9Yy5wYXJlbnRNZW51O2F3YWl0IGMuZGVzdHJveSgpfXN0YXRpY3tTWWUocix0KX19O3JldHVybiBkPXJ9KSgpO3RhLmluaXRpYWxpemVHbG9iYWxMaXN0ZW5lcigpfSk7dmFyIE5yYSx6WWUsJCRhLFJyYT1mKCgpPT57bGUoKTtOcmE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHpZZT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sJCRhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1kZW1vd3JhcHBlciIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzRGVtb1dyYXBwZXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHthdHRyaWJ1dGU6ITF9KV0sTnJhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicnVuQWZ0ZXJSZW5kZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+InJ1bkFmdGVyUmVuZGVyImluIHAsImhhcyIpLGdldDpzKHA9PnAucnVuQWZ0ZXJSZW5kZXIsImdldCIpLHNldDpzKChwLHUpPT57cC5ydW5BZnRlclJlbmRlcj11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksTnJhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9I2U9elllKHRoaXMsbix2b2lkIDApO2dldCBydW5BZnRlclJlbmRlcigpe3JldHVybiB0aGlzLiNlfXNldCBydW5BZnRlclJlbmRlcihjKXt0aGlzLiNlPWN9c3RhdGljIHN0eWxlcz1bWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHNsb3Q+PC9zbG90PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXtpZihhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLGF3YWl0IG5ldyBQcm9taXNlKGM9PnNldFRpbWVvdXQoYyw1MCkpLHRoaXMuY2hpbGRyZW4ubGVuZ3RoPjAmJnRoaXMucnVuQWZ0ZXJSZW5kZXIpdHJ5e2F3YWl0IHRoaXMucnVuQWZ0ZXJSZW5kZXIodGhpcyl9Y2F0Y2goYyl7Y29uc29sZS5lcnJvcigiRXJyb3IgaW4gcnVuQWZ0ZXJSZW5kZXI6IixjKX19Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHpZZSh0aGlzLGwpfXN0YXRpY3t6WWUocix0KX19O3JldHVybiBkPXJ9KSgpfSk7dmFyIE5hPWYoKCk9PntScmEoKX0pO3ZhciBPcmEsRnJhPWYoKCk9PntsZSgpO05hKCk7T3JhPXMoKCk9PntsZXQgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkZWVzLWFwcHVpLWFjdGl2aXR5bG9nIik7cmV0dXJuIHNldFRpbWVvdXQoKCk9PnthLmFkZE1hbnkoW3t0eXBlOiJsb2dpbiIsdXNlcjoiSm9obiBEb2UiLG1lc3NhZ2U6ImxvZ2dlZCBpbiBmcm9tIENocm9tZSBvbiBtYWNPUyJ9LHt0eXBlOiJjcmVhdGUiLHVzZXI6IkpvaG4gRG9lIixtZXNzYWdlOidjcmVhdGVkIGEgbmV3IHByb2plY3QgIkZyb250ZW5kIEFwcCInfSx7dHlwZToidXBkYXRlIix1c2VyOiJKYW5lIFNtaXRoIixtZXNzYWdlOiJ1cGRhdGVkIEFQSSBkb2N1bWVudGF0aW9uIn0se3R5cGU6InZpZXciLHVzZXI6IkpvaG4gRG9lIixtZXNzYWdlOiJ2aWV3ZWQgZGFzaGJvYXJkIGFuYWx5dGljcyJ9LHt0eXBlOiJkZWxldGUiLHVzZXI6IkFkbWluIixtZXNzYWdlOiJyZW1vdmVkIGRlcHJlY2F0ZWQgZW5kcG9pbnQifSx7dHlwZToiY3VzdG9tIix1c2VyOiJTeXN0ZW0iLG1lc3NhZ2U6InNjaGVkdWxlZCBiYWNrdXAgY29tcGxldGVkIixpY29uTmFtZToibHVjaWRlOmRhdGFiYXNlIn0se3R5cGU6ImxvZ291dCIsdXNlcjoiQWxpY2UgQnJvd24iLG1lc3NhZ2U6ImxvZ2dlZCBvdXQifSx7dHlwZToiY3JlYXRlIix1c2VyOiJKYW5lIFNtaXRoIixtZXNzYWdlOiJjcmVhdGVkIGludm9pY2UgIzEyMzQifV0pLGEuZW50cmllcyQuc3Vic2NyaWJlKGU9Pntjb25zb2xlLmxvZygiQWN0aXZpdHkgbG9nIHVwZGF0ZWQ6IixlLmxlbmd0aCwiZW50cmllcyIpfSl9LDEwMCksd2AKICAgIDxkZWVzLWRlbW93cmFwcGVyPgogICAgICA8c3R5bGU+CiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBoZWlnaHQ6IDYwMHB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMDkwOTBiIil9OwogICAgICAgICAgcGFkZGluZzogMzJweDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgICAke2F9CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGB9LCJkZW1vRnVuYyIpfSk7dmFyIFh0ZSxUZixCcmEsQ1llPWYoKCk9PntsZSgpO2VhKCk7WnIoKTt2YSgpO0ZyYSgpO1FlKCk7WHRlPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxUZj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sQnJhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1hcHB1aS1hY3Rpdml0eWxvZyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQXBwdWlBY3Rpdml0eWxvZyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZD1bSygpXSx1PVtLKCldLFh0ZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVudHJpZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImVudHJpZXMiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5lbnRyaWVzLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuZW50cmllcz15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCksWHRlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VhcmNoUXVlcnkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InNlYXJjaFF1ZXJ5ImluIGcsImhhcyIpLGdldDpzKGc9Pmcuc2VhcmNoUXVlcnksImdldCIpLHNldDpzKChnLHkpPT57Zy5zZWFyY2hRdWVyeT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LGMscCksWHRlKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsdGVyQ3JpdGVyaWEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImZpbHRlckNyaXRlcmlhImluIGcsImhhcyIpLGdldDpzKGc9PmcuZmlsdGVyQ3JpdGVyaWEsImdldCIpLHNldDpzKChnLHkpPT57Zy5maWx0ZXJDcml0ZXJpYT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG0sdiksWHRlKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsdCkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGRlbW89T3JhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07I2U9VGYodGhpcyxuLFtdKTtnZXQgZW50cmllcygpe3JldHVybiB0aGlzLiNlfXNldCBlbnRyaWVzKGIpe3RoaXMuI2U9Yn0jdD0oVGYodGhpcyxsKSxUZih0aGlzLGMsIiIpKTtnZXQgc2VhcmNoUXVlcnkoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VhcmNoUXVlcnkoYil7dGhpcy4jdD1ifSNhPShUZih0aGlzLHApLFRmKHRoaXMsbSx7fSkpO2dldCBmaWx0ZXJDcml0ZXJpYSgpe3JldHVybiB0aGlzLiNhfXNldCBmaWx0ZXJDcml0ZXJpYShiKXt0aGlzLiNhPWJ9ZW50cmllcyQ9KFRmKHRoaXMsdiksbmV3IEh0LnNtYXJ0cngucnhqcy5TdWJqZWN0KTtzdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIC8qIENTUyBWYXJpYWJsZXMgYWxpZ25lZCB3aXRoIHNlY29uZGFyeSBtZW51ICovCiAgICAgICAgLS1hY3Rpdml0eWxvZy1iZzogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICAgIC0tYWN0aXZpdHlsb2ctZmc6ICR7aC5iZFRoZW1lKCIjNTI1MjUyIiwiI2EzYTNhMyIpfTsKICAgICAgICAtLWFjdGl2aXR5bG9nLWZnLW11dGVkOiAke2guYmRUaGVtZSgiIzczNzM3MyIsIiM3MzczNzMiKX07CiAgICAgICAgLS1hY3Rpdml0eWxvZy1mZy1hY3RpdmU6ICR7aC5iZFRoZW1lKCIjMGEwYTBhIiwiI2ZhZmFmYSIpfTsKICAgICAgICAtLWFjdGl2aXR5bG9nLWJvcmRlcjogJHtoLmJkVGhlbWUoIiNlNWU1ZTUiLCIjMWExYTFhIil9OwogICAgICAgIC0tYWN0aXZpdHlsb2ctaG92ZXI6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDQpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KSIpfTsKICAgICAgICAtLWFjdGl2aXR5bG9nLWFjY2VudDogJHtoLmJkVGhlbWUoIiM3ODcxNmMiLCIjYjVhOTlhIil9OwoKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmcpOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWN0aXZpdHlsb2ctYmcpOwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgc2Fucy1zZXJpZjsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWFjdGl2aXR5bG9nLWJvcmRlcik7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgbGVmdDogMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMjgwcHg7CiAgICAgIH0KCiAgICAgIC8qIEhlYWRlciB3aXRoIHN0cmVhbWluZyBpbmRpY2F0b3IgKi8KICAgICAgLnRvcGJhciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMHB4OwogICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAwcHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY3Rpdml0eWxvZy1iZyk7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFjdGl2aXR5bG9nLWJvcmRlcik7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudG9wYmFyIC5oZWFkaW5nIHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmctYWN0aXZlKTsKICAgICAgfQoKICAgICAgLmxpdmUtaW5kaWNhdG9yIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpdml0eWxvZy1mZy1tdXRlZCk7CiAgICAgIH0KCiAgICAgIC5saXZlLWluZGljYXRvciAuZG90IHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICAgIGhlaWdodDogNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMjJjNTVlIiwiIzIyYzU1ZSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYW5pbWF0aW9uOiBwdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBwdWxzZSB7CiAgICAgICAgMCUsIDEwMCUgeyBvcGFjaXR5OiAwLjU7IHRyYW5zZm9ybTogc2NhbGUoMC45KTsgfQogICAgICAgIDUwJSB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfQogICAgICB9CgogICAgICAvKiBBY3Rpdml0eSBjb250YWluZXIgKi8KICAgICAgLmFjdGl2aXR5Q29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiA0OHB4OwogICAgICAgIGJvdHRvbTogNDhweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluOwogICAgICAgIHNjcm9sbGJhci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkNGQ0ZDQiLCIjMzMzMzMzIil9IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAuYWN0aXZpdHlDb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICB9CgogICAgICAuYWN0aXZpdHlDb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5Q29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkNGQ0ZDQiLCIjMzMzMzMzIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5Q29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNhM2EzYTMiLCIjNTI1MjUyIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNDBweCAxNnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpdml0eWxvZy1mZy1tdXRlZCk7CiAgICAgIH0KCiAgICAgIC8qIERhdGUgc2VwYXJhdG9yIC0gd2FybSB0YXVwZSBzdHlsaW5nICovCiAgICAgIC5kYXRlLXNlcGFyYXRvciB7CiAgICAgICAgcGFkZGluZzogMTJweCAxMnB4IDZweDsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctYWNjZW50KTsKICAgICAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgICAgIHRvcDogMDsKICAgICAgICB6LWluZGV4OiAxOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWFjdGl2aXR5bG9nLWJnKTsKICAgICAgfQoKICAgICAgLyogQWN0aXZpdHkgZW50cnkgLSBtb2Rlcm4gc3RhY2tlZCBsYXlvdXQgKi8KICAgICAgLmFjdGl2aXR5ZW50cnkgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBtYXJnaW46IDJweCA0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBsaW5lLWhlaWdodDogMS40OwogICAgICAgIGFuaW1hdGlvbjogZmFkZUluIDAuMnMgZWFzZS1vdXQ7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgZmFkZUluIHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7CiAgICAgICAgfQogICAgICAgIHRvIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAuYWN0aXZpdHllbnRyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWN0aXZpdHlsb2ctaG92ZXIpOwogICAgICB9CgogICAgICAuYWN0aXZpdHktaWNvbiB7CiAgICAgICAgd2lkdGg6IDI4cHg7CiAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA0KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNikiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmctbXV0ZWQpOwogICAgICAgIG1hcmdpbi10b3A6IDFweDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWljb24ubG9naW4gewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjA4KSIsInJnYmEoMzQsIDE5NywgOTQsIDAuMTIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiM0YWRlODAiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS1pY29uLmxvZ291dCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMjM5LCA2OCwgNjgsIDAuMDgpIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWljb24udmlldyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjA4KSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEyKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuYWN0aXZpdHktaWNvbi5jcmVhdGUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDE2OCwgODUsIDI0NywgMC4wOCkiLCJyZ2JhKDE2OCwgODUsIDI0NywgMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjOTMzM2VhIiwiI2MwODRmYyIpfTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWljb24udXBkYXRlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgyNTEsIDE0NiwgNjAsIDAuMDgpIiwicmdiYSgyNTEsIDE0NiwgNjAsIDAuMTIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2VhNTgwYyIsIiNmYjkyM2MiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS1pY29uLmRlbGV0ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMjM5LCA2OCwgNjgsIDAuMDgpIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWljb24uY3VzdG9tIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgxMDAsIDExNiwgMTM5LCAwLjA4KSIsInJnYmEoMTAwLCAxMTYsIDEzOSwgMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNDc1NTY5IiwiIzk0YTNiOCIpfTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWNvbnRlbnQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAuYWN0aXZpdHktdXNlciB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnLWFjdGl2ZSk7CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS1zZXBhcmF0b3IgewogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpdml0eWxvZy1mZy1tdXRlZCk7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICB9CgogICAgICAudGltZXN0YW1wIHsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmctbXV0ZWQpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOwogICAgICB9CgogICAgICAuYWN0aXZpdHktbWVzc2FnZSB7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnKTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOwogICAgICB9CgogICAgICAvKiBTZWFyY2ggYm94IC0gcmVmaW5lZCBzdHlsaW5nICovCiAgICAgIC5zZWFyY2hib3ggewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDBweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWN0aXZpdHlsb2ctYmcpOwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1hY3Rpdml0eWxvZy1ib3JkZXIpOwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pY29uIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMTBweDsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnLW11dGVkKTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnNlYXJjaGJveCBpbnB1dCB7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnLWFjdGl2ZSk7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wMykiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpIil9OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA4KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTJweCAwIDM0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zZWFyY2hib3ggaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmctbXV0ZWQpOwogICAgICB9CgogICAgICAuc2VhcmNoYm94IGlucHV0OmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xNSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDIpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KSIpfTsKICAgICAgfQoKICAgICAgLnNlYXJjaC13cmFwcGVyOmhhcyhpbnB1dDpmb2N1cykgLnNlYXJjaC1pY29uIHsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmcpOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgYj10aGlzLmdldEZpbHRlcmVkRW50cmllcygpLGc9dGhpcy5ncm91cEVudHJpZXNCeURhdGUoYik7cmV0dXJuIHdgCiAgICAgICR7YXIuc3R5bGVzfQogICAgICA8c3R5bGU+PC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0idG9wYmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmciPkFjdGl2aXR5IExvZzwvZGl2PgogICAgICAgICAgJHtiLmxlbmd0aD4wP3dgPGRpdiBjbGFzcz0ibGl2ZS1pbmRpY2F0b3IiPjxzcGFuIGNsYXNzPSJkb3QiPjwvc3Bhbj5MaXZlPC9kaXY+YDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpdml0eUNvbnRhaW5lciI+CiAgICAgICAgICAke2IubGVuZ3RoPT09MD93YDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj5ObyBhY3Rpdml0eSBlbnRyaWVzPC9kaXY+YDpnLm1hcCh5PT53YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkYXRlLXNlcGFyYXRvciI+JHt5LmxhYmVsfTwvZGl2PgogICAgICAgICAgICAgICAgICAke3kuZW50cmllcy5tYXAoaz0+dGhpcy5yZW5kZXJBY3Rpdml0eUVudHJ5KGspKX0KICAgICAgICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlYXJjaGJveCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWFyY2gtd3JhcHBlciI+CiAgICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9InNlYXJjaC1pY29uIiAuaWNvbj0keyJsdWNpZGU6c2VhcmNoIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IlNlYXJjaCBhY3Rpdml0aWVzLCB1c2Vycy4uLiIKICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLnNlYXJjaFF1ZXJ5fQogICAgICAgICAgICAgIEBpbnB1dD0ke3RoaXMuaGFuZGxlU2VhcmNoSW5wdXR9CiAgICAgICAgICAgIC8+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckFjdGl2aXR5RW50cnkoYil7bGV0IGc9Yi50aW1lc3RhbXB8fG5ldyBEYXRlLHk9dGhpcy5mb3JtYXRUaW1lKGcpLGs9Yi5pY29uTmFtZXx8dGhpcy5nZXRJY29uRm9yVHlwZShiLnR5cGUpO3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImFjdGl2aXR5ZW50cnkiCiAgICAgICAgQGNvbnRleHRtZW51PSR7Qz0+dGhpcy5oYW5kbGVDb250ZXh0TWVudShDLGIpfQogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0iYWN0aXZpdHktaWNvbiAke2IudHlwZX0iPgogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke2t9PjwvZGVlcy1pY29uPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImFjdGl2aXR5LWNvbnRlbnQiPgogICAgICAgICAgPGRpdiBjbGFzcz0iYWN0aXZpdHktaGVhZGVyIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFjdGl2aXR5LXVzZXIiPiR7Yi51c2VyfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFjdGl2aXR5LXNlcGFyYXRvciI+wrc8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aW1lc3RhbXAiPiR7eX08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGl2aXR5LW1lc3NhZ2UiPiR7Yi5tZXNzYWdlfTwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YWRkKGIpe2xldCBnPXsuLi5iLGlkOmIuaWR8fHRoaXMuZ2VuZXJhdGVJZCgpLHRpbWVzdGFtcDpiLnRpbWVzdGFtcHx8bmV3IERhdGV9O3RoaXMuZW50cmllcz1bZywuLi50aGlzLmVudHJpZXNdLHRoaXMuZW50cmllcyQubmV4dCh0aGlzLmVudHJpZXMpfWFkZE1hbnkoYil7bGV0IGc9Yi5tYXAoeT0+KHsuLi55LGlkOnkuaWR8fHRoaXMuZ2VuZXJhdGVJZCgpLHRpbWVzdGFtcDp5LnRpbWVzdGFtcHx8bmV3IERhdGV9KSk7dGhpcy5lbnRyaWVzPVsuLi5nLnJldmVyc2UoKSwuLi50aGlzLmVudHJpZXNdLHRoaXMuZW50cmllcyQubmV4dCh0aGlzLmVudHJpZXMpfWNsZWFyKCl7dGhpcy5lbnRyaWVzPVtdLHRoaXMuZW50cmllcyQubmV4dCh0aGlzLmVudHJpZXMpfWdldEVudHJpZXMoKXtyZXR1cm5bLi4udGhpcy5lbnRyaWVzXX1maWx0ZXIoYil7cmV0dXJuIHRoaXMuZW50cmllcy5maWx0ZXIoZz0+IShiLnVzZXImJmcudXNlciE9PWIudXNlcnx8Yi50eXBlJiZnLnR5cGUhPT1iLnR5cGUpKX1zZWFyY2goYil7bGV0IGc9Yi50b0xvd2VyQ2FzZSgpO3JldHVybiB0aGlzLmVudHJpZXMuZmlsdGVyKHk9PnkubWVzc2FnZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGcpfHx5LnVzZXIudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhnKSl9Z2VuZXJhdGVJZCgpe3JldHVybmBhY3Rpdml0eS0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsOSl9YH1nZXRGaWx0ZXJlZEVudHJpZXMoKXtsZXQgYj10aGlzLmVudHJpZXM7aWYodGhpcy5zZWFyY2hRdWVyeSl7bGV0IGc9dGhpcy5zZWFyY2hRdWVyeS50b0xvd2VyQ2FzZSgpO2I9Yi5maWx0ZXIoeT0+eS5tZXNzYWdlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZyl8fHkudXNlci50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGcpKX1yZXR1cm4odGhpcy5maWx0ZXJDcml0ZXJpYS51c2VyfHx0aGlzLmZpbHRlckNyaXRlcmlhLnR5cGUpJiYoYj1iLmZpbHRlcihnPT4hKHRoaXMuZmlsdGVyQ3JpdGVyaWEudXNlciYmZy51c2VyIT09dGhpcy5maWx0ZXJDcml0ZXJpYS51c2VyfHx0aGlzLmZpbHRlckNyaXRlcmlhLnR5cGUmJmcudHlwZSE9PXRoaXMuZmlsdGVyQ3JpdGVyaWEudHlwZSkpKSxifWdyb3VwRW50cmllc0J5RGF0ZShiKXtsZXQgZz1uZXcgTWFwLHk9bmV3IERhdGUsaz1uZXcgRGF0ZSh5KTtrLnNldERhdGUoay5nZXREYXRlKCktMSk7Zm9yKGxldCBDIG9mIGIpe2xldCBOPUMudGltZXN0YW1wfHxuZXcgRGF0ZSxfO3RoaXMuaXNTYW1lRGF5KE4seSk/Xz0iVG9kYXkiOnRoaXMuaXNTYW1lRGF5KE4sayk/Xz0iWWVzdGVyZGF5IjpfPU4udG9Mb2NhbGVEYXRlU3RyaW5nKCJlbi1VUyIse21vbnRoOiJzaG9ydCIsZGF5OiJudW1lcmljIix5ZWFyOk4uZ2V0RnVsbFllYXIoKSE9PXkuZ2V0RnVsbFllYXIoKT8ibnVtZXJpYyI6dm9pZCAwfSksZy5oYXMoXyl8fGcuc2V0KF8sW10pLGcuZ2V0KF8pLnB1c2goQyl9cmV0dXJuIEFycmF5LmZyb20oZy5lbnRyaWVzKCkpLm1hcCgoW0MsTl0pPT4oe2xhYmVsOkMsZW50cmllczpOfSkpfWlzU2FtZURheShiLGcpe3JldHVybiBiLmdldEZ1bGxZZWFyKCk9PT1nLmdldEZ1bGxZZWFyKCkmJmIuZ2V0TW9udGgoKT09PWcuZ2V0TW9udGgoKSYmYi5nZXREYXRlKCk9PT1nLmdldERhdGUoKX1mb3JtYXRUaW1lKGIpe3JldHVybiBiLnRvTG9jYWxlVGltZVN0cmluZygiZW4tVVMiLHtob3VyOiIyLWRpZ2l0IixtaW51dGU6IjItZGlnaXQiLGhvdXIxMjohMX0pfWdldEljb25Gb3JUeXBlKGIpe2xldCBnPXtsb2dpbjoibHVjaWRlOmxvZ0luIixsb2dvdXQ6Imx1Y2lkZTpsb2dPdXQiLHZpZXc6Imx1Y2lkZTpleWUiLGNyZWF0ZToibHVjaWRlOnBsdXMiLHVwZGF0ZToibHVjaWRlOmVkaXQiLGRlbGV0ZToibHVjaWRlOnRyYXNoMiIsY3VzdG9tOiJsdWNpZGU6YWN0aXZpdHkifTtyZXR1cm4gZ1tiXXx8Zy5jdXN0b219aGFuZGxlU2VhcmNoSW5wdXQoYil7bGV0IGc9Yi50YXJnZXQ7dGhpcy5zZWFyY2hRdWVyeT1nLnZhbHVlfWhhbmRsZUNvbnRleHRNZW51KGIsZyl7Yi5wcmV2ZW50RGVmYXVsdCgpLHRhLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKGIsW3tuYW1lOiJDb3B5IGFjdGl2aXR5IixpY29uTmFtZToibHVjaWRlOmNvcHkiLGFjdGlvbjpzKGFzeW5jKCk9Pnthd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChgJHtnLnVzZXJ9ICR7Zy5tZXNzYWdlfWApfSwiYWN0aW9uIil9LHtuYW1lOiJGaWx0ZXIgYnkgdXNlciIsaWNvbk5hbWU6Imx1Y2lkZTp1c2VyIixhY3Rpb246cyhhc3luYygpPT57dGhpcy5maWx0ZXJDcml0ZXJpYT17dXNlcjpnLnVzZXJ9fSwiYWN0aW9uIil9LHtuYW1lOiJGaWx0ZXIgYnkgdHlwZSIsaWNvbk5hbWU6Imx1Y2lkZTpmaWx0ZXIiLGFjdGlvbjpzKGFzeW5jKCk9Pnt0aGlzLmZpbHRlckNyaXRlcmlhPXt0eXBlOmcudHlwZX19LCJhY3Rpb24iKX0se25hbWU6IkNsZWFyIGZpbHRlcnMiLGljb25OYW1lOiJsdWNpZGU6eCIsYWN0aW9uOnMoYXN5bmMoKT0+e3RoaXMuZmlsdGVyQ3JpdGVyaWE9e30sdGhpcy5zZWFyY2hRdWVyeT0iIn0sImFjdGlvbiIpfV0pfXN0YXRpY3tUZihyLHQpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgSHJhPWYoKCk9PntDWWUoKX0pO3ZhciBxcmE9ZigoKT0+e30pO3ZhciBWcmE9ZigoKT0+e1ZzKCl9KTt2YXIganJhPWYoKCk9Pnt9KTt2YXIgVXJhPWYoKCk9Pnt9KTt2YXIgV3JhPWYoKCk9Pnt9KTt2YXIgbjQ9ZigoKT0+e3FyYSgpO1ZyYSgpO2pyYSgpO1VyYSgpO1dyYSgpfSk7dmFyIEdyYSxZcmE9ZigoKT0+e2xlKCk7TmEoKTtfWWUoKTtHcmE9cygoKT0+e2xldCBhPVt7bmFtZToiRmlsZSIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJOZXcgRmlsZSIsc2hvcnRjdXQ6IkNtZCtOIixpY29uTmFtZToiZmlsZS1wbHVzIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiTmV3IGZpbGUiKSwiYWN0aW9uIil9LHtuYW1lOiJPcGVuLi4uIixzaG9ydGN1dDoiQ21kK08iLGljb25OYW1lOiJmb2xkZXItb3BlbiIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIk9wZW4iKSwiYWN0aW9uIil9LHtuYW1lOiJPcGVuIFJlY2VudCIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJwcm9qZWN0LWFscGhhLnRzIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiByZWNlbnQgMSIpLCJhY3Rpb24iKX0se25hbWU6ImNvbmZpZy5qc29uIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiByZWNlbnQgMiIpLCJhY3Rpb24iKX0se25hbWU6InJlYWRtZS5tZCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIk9wZW4gcmVjZW50IDMiKSwiYWN0aW9uIil9XX0se2RpdmlkZXI6ITB9LHtuYW1lOiJTYXZlIixzaG9ydGN1dDoiQ21kK1MiLGljb25OYW1lOiJzYXZlIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiU2F2ZSIpLCJhY3Rpb24iKX0se25hbWU6IlNhdmUgQXMuLi4iLHNob3J0Y3V0OiJDbWQrU2hpZnQrUyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlNhdmUgYXMiKSwiYWN0aW9uIiksZGlzYWJsZWQ6ITB9LHtkaXZpZGVyOiEwfSx7bmFtZToiRXhpdCIsc2hvcnRjdXQ6IkNtZCtRIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRXhpdCIpLCJhY3Rpb24iKX1dfSx7bmFtZToiRWRpdCIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJVbmRvIixzaG9ydGN1dDoiQ21kK1oiLGljb25OYW1lOiJ1bmRvIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiVW5kbyIpLCJhY3Rpb24iKX0se25hbWU6IlJlZG8iLHNob3J0Y3V0OiJDbWQrU2hpZnQrWiIsaWNvbk5hbWU6InJlZG8iLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJSZWRvIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkN1dCIsc2hvcnRjdXQ6IkNtZCtYIixpY29uTmFtZToic2Npc3NvcnMiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJDdXQiKSwiYWN0aW9uIil9LHtuYW1lOiJDb3B5IixzaG9ydGN1dDoiQ21kK0MiLGljb25OYW1lOiJjb3B5IixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQ29weSIpLCJhY3Rpb24iKX0se25hbWU6IlBhc3RlIixzaG9ydGN1dDoiQ21kK1YiLGljb25OYW1lOiJjbGlwYm9hcmQiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJQYXN0ZSIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJGaW5kIixzaG9ydGN1dDoiQ21kK0YiLGljb25OYW1lOiJzZWFyY2giLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJGaW5kIiksImFjdGlvbiIpfSx7bmFtZToiUmVwbGFjZSIsc2hvcnRjdXQ6IkNtZCtIIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiUmVwbGFjZSIpLCJhY3Rpb24iKX1dfSx7bmFtZToiVmlldyIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJUb2dnbGUgRnVsbHNjcmVlbiIsc2hvcnRjdXQ6IkYxMSIsaWNvbk5hbWU6ImV4cGFuZCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkZ1bGxzY3JlZW4iKSwiYWN0aW9uIil9LHtuYW1lOiJab29tIEluIixzaG9ydGN1dDoiQ21kKysiLGljb25OYW1lOiJ6b29tLWluIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiWm9vbSBpbiIpLCJhY3Rpb24iKX0se25hbWU6Ilpvb20gT3V0IixzaG9ydGN1dDoiQ21kKy0iLGljb25OYW1lOiJ6b29tLW91dCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlpvb20gb3V0IiksImFjdGlvbiIpfSx7bmFtZToiUmVzZXQgWm9vbSIsc2hvcnRjdXQ6IkNtZCswIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiUmVzZXQgem9vbSIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJUb2dnbGUgU2lkZWJhciIsc2hvcnRjdXQ6IkNtZCtCIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiVG9nZ2xlIHNpZGViYXIiKSwiYWN0aW9uIil9LHtuYW1lOiJUb2dnbGUgVGVybWluYWwiLHNob3J0Y3V0OiJDbWQrSiIsaWNvbk5hbWU6InRlcm1pbmFsIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiVG9nZ2xlIHRlcm1pbmFsIiksImFjdGlvbiIpfV19LHtuYW1lOiJIZWxwIixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IkRvY3VtZW50YXRpb24iLGljb25OYW1lOiJib29rIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRG9jdW1lbnRhdGlvbiIpLCJhY3Rpb24iKX0se25hbWU6IlJlbGVhc2UgTm90ZXMiLGljb25OYW1lOiJmaWxlLXRleHQiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJSZWxlYXNlIG5vdGVzIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IlJlcG9ydCBJc3N1ZSIsaWNvbk5hbWU6ImJ1ZyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlJlcG9ydCBpc3N1ZSIpLCJhY3Rpb24iKX0se25hbWU6IkFib3V0IixpY29uTmFtZToiaW5mbyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkFib3V0IiksImFjdGlvbiIpfV19XTtyZXR1cm4gd2AKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9PntsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoIiNhcHBiYXIiKSxyPWUucXVlcnlTZWxlY3RvckFsbCgiLnN0YXR1cy10b2dnbGUgZGVlcy1idXR0b24iKTtyWzBdLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3QudXNlcj17Li4udC51c2VyLHN0YXR1czoib25saW5lIn19KSxyWzFdLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3QudXNlcj17Li4udC51c2VyLHN0YXR1czoiYnVzeSJ9fSksclsyXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pnt0LnVzZXI9ey4uLnQudXNlcixzdGF0dXM6ImF3YXkifX0pLHJbM10uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dC51c2VyPXsuLi50LnVzZXIsc3RhdHVzOiJvZmZsaW5lIn19KSxlLnF1ZXJ5U2VsZWN0b3IoIi53aW5kb3ctY29udHJvbHMtdG9nZ2xlIGRlZXMtYnV0dG9uIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dC5zaG93V2luZG93Q29udHJvbHM9IXQuc2hvd1dpbmRvd0NvbnRyb2xzfSk7bGV0IG89ZS5xdWVyeVNlbGVjdG9yQWxsKCIuYnJlYWRjcnVtYi10b2dnbGUgZGVlcy1idXR0b24iKTtvWzBdLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3QuYnJlYWRjcnVtYnM9IkhvbWUgPiBEb2N1bWVudHMgPiBQcm9qZWN0cyA+IE15QXBwID4gc3JjID4gaW5kZXgudHMifSksb1sxXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pnt0LmJyZWFkY3J1bWJzPSJEYXNoYm9hcmQifSl9fT4KICAgICAgPHN0eWxlPgogICAgICAgICR7WGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgaGVpZ2h0OiA2MDBweDsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgYmFja2dyb3VuZDogIzFhMWExYTsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29udGVudCB7CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgIGNvbG9yOiAjY2NjOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29udHJvbHMgewogICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5jb250cm9sLWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5jb250cm9sLWdyb3VwIGxhYmVsIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgIGNvbG9yOiAjODg4OwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtYXBwdWktYXBwYmFyCiAgICAgICAgaWQ9ImFwcGJhciIKICAgICAgICAubWVudUl0ZW1zPSR7YX0KICAgICAgICAuYnJlYWRjcnVtYnM9JHsiUHJvamVjdCA+IHNyYyA+IGNvbXBvbmVudHMgPiBBcHBCYXIudHMifQogICAgICAgIC5icmVhZGNydW1iU2VwYXJhdG9yPSR7IiA+ICJ9CiAgICAgICAgLnNob3dXaW5kb3dDb250cm9scz0keyEwfQogICAgICAgIC5zaG93U2VhcmNoPSR7ITB9CiAgICAgICAgLnRoZW1lPSR7ImRhcmsifQogICAgICAgIC51c2VyPSR7e25hbWU6IkpvaG4gRG9lIixzdGF0dXM6Im9ubGluZSJ9fQogICAgICAgIEBtZW51LXNlbGVjdD0ke2U9PmNvbnNvbGUubG9nKCJNZW51IHNlbGVjdGVkOiIsZS5kZXRhaWwuaXRlbSl9CiAgICAgICAgQGJyZWFkY3J1bWItbmF2aWdhdGU9JHtlPT5jb25zb2xlLmxvZygiQnJlYWRjcnVtYiBjbGlja2VkOiIsZS5kZXRhaWwpfQogICAgICAgIEBzZWFyY2gtY2xpY2s9JHsoKT0+Y29uc29sZS5sb2coIlNlYXJjaCBjbGlja2VkIil9CiAgICAgICAgQHVzZXItbWVudS1vcGVuPSR7KCk9PmNvbnNvbGUubG9nKCJVc2VyIG1lbnUgY2xpY2tlZCIpfQogICAgICA+PC9kZWVzLWFwcHVpLWFwcGJhcj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPgogICAgICAgIDxoMj5BcHAgQmFyIERlbW88L2gyPgogICAgICAgIDxwPlRoaXMgZGVtbyBzaG93cyB2YXJpb3VzIGZlYXR1cmVzIG9mIHRoZSBhcHAgYmFyIGNvbXBvbmVudDo8L3A+CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPkR5bmFtaWMgbWVudSBpdGVtcyB3aXRoIGljb25zLCBzaG9ydGN1dHMsIGFuZCBzdWJtZW51czwvbGk+CiAgICAgICAgICA8bGk+QnJlYWRjcnVtYiBuYXZpZ2F0aW9uPC9saT4KICAgICAgICAgIDxsaT5Vc2VyIGFjY291bnQgc2VjdGlvbiB3aXRoIHN0YXR1cyBpbmRpY2F0b3I8L2xpPgogICAgICAgICAgPGxpPlNlYXJjaCBpY29uPC9saT4KICAgICAgICAgIDxsaT5XaW5kb3cgY29udHJvbHMgKHBsYXRmb3JtLXNwZWNpZmljKTwvbGk+CiAgICAgICAgICA8bGk+RGFyay9saWdodCB0aGVtZSBzdXBwb3J0PC9saT4KICAgICAgICAgIDxsaT5LZXlib2FyZCBuYXZpZ2F0aW9uIChUYWIsIEVudGVyLCBFc2NhcGUpPC9saT4KICAgICAgICAgIDxsaT5DdXN0b20gZXZlbnRzIGZvciBhbGwgaW50ZXJhY3Rpb25zPC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9sLWdyb3VwIj4KICAgICAgICAgIDxsYWJlbD5UaGVtZTwvbGFiZWw+CiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgY2xhc3M9InRoZW1lLXRvZ2dsZSI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5EYXJrPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkxpZ2h0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ncm91cCI+CiAgICAgICAgICA8bGFiZWw+VXNlciBTdGF0dXM8L2xhYmVsPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGNsYXNzPSJzdGF0dXMtdG9nZ2xlIj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPk9ubGluZTwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5CdXN5PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkF3YXk8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+T2ZmbGluZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtZ3JvdXAiPgogICAgICAgICAgPGxhYmVsPldpbmRvdyBDb250cm9sczwvbGFiZWw+CiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgY2xhc3M9IndpbmRvdy1jb250cm9scy10b2dnbGUiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+VG9nZ2xlPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ncm91cCI+CiAgICAgICAgICA8bGFiZWw+QnJlYWRjcnVtYnM8L2xhYmVsPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGNsYXNzPSJicmVhZGNydW1iLXRvZ2dsZSI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5Mb25nIFBhdGg8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+U2hvcnQgUGF0aDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGB9LCJkZW1vRnVuYyIpfSk7dmFyIEtyYSxacmE9ZigoKT0+e2xlKCk7S3JhPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIC8qIENTUyBWYXJpYWJsZXMgZm9yIHRoZW1pbmcgKi8KICAgICAgICAtLWFwcGJhci1oZWlnaHQ6IDQwcHg7CiAgICAgICAgLS1hcHBiYXItZm9udC1zaXplOiAxMnB4OwogICAgICAgIAogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IHZhcigtLWFwcGJhci1oZWlnaHQpOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXByaW1hcnkpOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMDAwMDgwIiwiI2ZmZmZmZjgwIil9OwogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tYXBwYmFyLWZvbnQtc2l6ZSk7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87CiAgICAgICAgLXdlYmtpdC1hcHAtcmVnaW9uOiBkcmFnOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAubWVudXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbSB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDBweCAxMnB4OwogICAgICAgIG1hcmdpbjogOHB4IDBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgLXdlYmtpdC1hcHAtcmVnaW9uOiBuby1kcmFnOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAvKiBPcHRpb25hbDogU3R5bGUgZm9yIG1lbnUgaXRlbXMgd2l0aCBpY29ucyAobm90IHR5cGljYWxseSB1c2VkIGZvciB0b3AtbGV2ZWwgaXRlbXMpICovCiAgICAgIC5tZW51SXRlbSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMwMDAwMDAxMCIsIiNmZmZmZmYyMCIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZmZmZmZmIil9OwogICAgICB9CgogICAgICAubWVudUl0ZW0uYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzAwMDAwMDIwIiwiI2ZmZmZmZjMwIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMDAwMCIsIiNmZmZmZmYiKX07CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbVtkaXNhYmxlZF0gewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAubWVudUl0ZW06Zm9jdXMtdmlzaWJsZSB7CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7aC5iZFRoZW1lKCIjMDAwMDAwODAiLCIjZmZmZmZmODAiKX07CiAgICAgIH0KCgogICAgICAvKiBEcm9wZG93biBzdHlsZXMgKi8KICAgICAgLmRyb3Bkb3duIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgbWluLXdpZHRoOiAyMDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXByaW1hcnkpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBib3gtc2hhZG93OiAke2guYmRUaGVtZSgiMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpIiwiMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMykiKX07CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICAgIHotaW5kZXg6IDEwMDA7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycywgdHJhbnNmb3JtIDAuMnM7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5kcm9wZG93bi5vcGVuIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duLWl0ZW0gewogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzOwogICAgICB9CgogICAgICAuZHJvcGRvd24taXRlbTpob3ZlciwKICAgICAgLmRyb3Bkb3duLWl0ZW0uZm9jdXNlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMwMDAwMDAxMCIsIiNmZmZmZmYyMCIpfTsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duLWRpdmlkZXIgewogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgIH0KCiAgICAgIC5kcm9wZG93bi1pdGVtW2Rpc2FibGVkXSB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5kcm9wZG93bi1pdGVtIC5zaG9ydGN1dCB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgfQoKICAgICAgLyogQnJlYWRjcnVtYnMgKi8KICAgICAgLmJyZWFkY3J1bWJzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5icmVhZGNydW1iLWl0ZW0gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMDAwMDgwIiwiI2ZmZmZmZjgwIil9OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzOwogICAgICB9CgogICAgICAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZmZmZmZmIil9OwogICAgICB9CgogICAgICAuYnJlYWRjcnVtYi1zZXBhcmF0b3IgewogICAgICAgIG1hcmdpbjogMCA4cHg7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAvKiBBY2NvdW50IHNlY3Rpb24gKi8KICAgICAgLmFjY291bnQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtaWNvbiB7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtaWNvbjpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLnVzZXItaW5mbyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnM7CiAgICAgIH0KCiAgICAgIC51c2VyLWluZm86aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMDAwMDAwMTAiLCIjZmZmZmZmMjAiKX07CiAgICAgIH0KCiAgICAgIC51c2VyLWF2YXRhciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAyNHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMwMDAwMDAyMCIsIiNmZmZmZmYzMCIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICB9CgogICAgICAudXNlci1hdmF0YXIgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgICB9CgogICAgICAudXNlci1zdGF0dXMgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IC0ycHg7CiAgICAgICAgcmlnaHQ6IC0ycHg7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLnVzZXItc3RhdHVzLm9ubGluZSB7CiAgICAgICAgYmFja2dyb3VuZDogIzRjYWY1MDsKICAgICAgfQoKICAgICAgLnVzZXItc3RhdHVzLm9mZmxpbmUgewogICAgICAgIGJhY2tncm91bmQ6ICM3NTc1NzU7CiAgICAgIH0KCiAgICAgIC51c2VyLXN0YXR1cy5idXN5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZjQ0MzM2OwogICAgICB9CgogICAgICAudXNlci1zdGF0dXMuYXdheSB7CiAgICAgICAgYmFja2dyb3VuZDogI2ZmOTgwMDsKICAgICAgfQoKICAgICAgLyogQWN0aXZpdHkgbG9nIHRvZ2dsZSBidXR0b24gKi8KICAgICAgLmFjdGl2aXR5LXRvZ2dsZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMnB4OwogICAgICAgIGhlaWdodDogMjhweDsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIC13ZWJraXQtYXBwLXJlZ2lvbjogbm8tZHJhZzsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDA2MCIsIiNmZmZmZmY2MCIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjEpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuYWN0aXZpdHktdG9nZ2xlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzAwMDAwMDEwIiwiI2ZmZmZmZjE1Iil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMDAwMCIsIiNmZmZmZmYiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LXRvZ2dsZS5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMDAwMDAwMTUiLCIjZmZmZmZmMjAiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDAwMDAwIiwiI2ZmZmZmZiIpfTsKICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAuYWN0aXZpdHktdG9nZ2xlIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CgogICAgICAuYWN0aXZpdHktYmFkZ2UgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW4tbGVmdDogNHB4OwogICAgICAgIG1pbi13aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMCA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiM1MjUyNTIiLCIjNTI1MjUyIil9OwogICAgICAgIGNvbG9yOiAjZmFmYWZhOwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIH0KICAgIGBdfSk7dmFyIFhyYSxRcmE9ZigoKT0+e2xlKCk7WHJhPXMoYT0+d2AKICAgICAgICA8ZGl2IGNsYXNzPSJtZW51cyI+CiAgICAgICAgICAke2Euc2hvd1dpbmRvd0NvbnRyb2xzP3dgPGRlZXMtd2luZG93Y29udHJvbHM+PC9kZWVzLXdpbmRvd2NvbnRyb2xzPmA6IiJ9CiAgICAgICAgICAke2EucmVuZGVyTWVudUl0ZW1zKCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYnJlYWRjcnVtYnMiPgogICAgICAgICAgJHthLnJlbmRlckJyZWFkY3J1bWJzKCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3VudCI+CiAgICAgICAgICAke2EucmVuZGVyQWNjb3VudFNlY3Rpb24oKX0KICAgICAgICA8L2Rpdj4KICAgICAgYCwicmVuZGVyQXBwdWlBcHBiYXIiKX0pO3ZhciBUWWUsRVUsSnJhLExZZT1mKCgpPT57bGUoKTtRZSgpO1RZZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sRVU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEpyYT0oKCk9PntsZXQgYT1baWUoImRlZXMtd2luZG93Y29udHJvbHMiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1dpbmRvd0NvbnRyb2xzIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7cmVmbGVjdDohMH0pXSxkPVskKHtyZWZsZWN0OiEwfSldLFRZZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InR5cGUiaW4gdiwiaGFzIiksZ2V0OnModj0+di50eXBlLCJnZXQiKSxzZXQ6cygodix4KT0+e3YudHlwZT14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksVFllKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InBvc2l0aW9uImluIHYsImhhcyIpLGdldDpzKHY9PnYucG9zaXRpb24sImdldCIpLHNldDpzKCh2LHgpPT57di5wb3NpdGlvbj14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCksVFllKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSl9c3RhdGljIGRlbW89cygoKT0+d2A8ZGVlcy13aW5kb3djb250cm9scz48L2RlZXMtd2luZG93Y29udHJvbHM+YCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiVXRpbGl0eSJdOyNlPUVVKHRoaXMsbiwibWFjIik7Z2V0IHR5cGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdHlwZShtKXt0aGlzLiNlPW19I3Q9KEVVKHRoaXMsbCksRVUodGhpcyxjLCJsZWZ0IikpO2dldCBwb3NpdGlvbigpe3JldHVybiB0aGlzLiN0fXNldCBwb3NpdGlvbihtKXt0aGlzLiN0PW19c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7CiAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDsKICAgICAgfQoKICAgICAgLndpbmRvd0NvbnRyb2xzIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLndpbmRvd0NvbnRyb2xzIGRpdiB7CiAgICAgICAgd2lkdGg6IDEycHg7CiAgICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgbWFyZ2luOiAwcHg7CiAgICAgICAgcGFkZGluZzogMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICMyMjIyMjI7CiAgICAgIH0KCiAgICAgIC53aW5kb3dDb250cm9scyBkaXYuY2xvc2UgewogICAgICAgIGJhY2tncm91bmQ6ICNmZjVmNTc7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OwogICAgICB9CgogICAgICAud2luZG93Q29udHJvbHMgZGl2LnRvRG9jayB7CiAgICAgICAgYmFja2dyb3VuZDogI2ZmYmQyZTsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7CiAgICAgIH0KCiAgICAgIC53aW5kb3dDb250cm9scyBkaXYubWluTWF4IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMjdjOTNmOwogICAgICB9CgogICAgICAud2luZG93Q29udHJvbHMgZGl2OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgJHt0aGlzLnR5cGU9PT0ibWFjIiYmdGhpcy5wb3NpdGlvbj09PSJsZWZ0Inx8KHRoaXMudHlwZT09PSJsaW51eCJ8fHRoaXMudHlwZT09PSJ3aW5kb3dzIikmJnRoaXMucG9zaXRpb249PT0icmlnaHQiP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9IndpbmRvd0NvbnRyb2xzIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbG9zZSI+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9Eb2NrIj48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtaW5NYXgiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6d2BgfQogICAgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksRVUodGhpcyxwKX1zdGF0aWN7RVUocix0KX19O3JldHVybiB1PXJ9KSgpfSk7dmFyIFBVLGZjLGVzYSwkWWU9ZigoKT0+e1ZzKCk7VWkoKTtsZSgpO1FlKCk7UFU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGZjPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxlc2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLWFwcHVpLXByb2ZpbGVkcm9wZG93biIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQXBwdWlQcm9maWxlRHJvcGRvd24iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgaz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOkFycmF5fSldLHU9WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLFBVKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidXNlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4idXNlciJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnVzZXIsImdldCIpLHNldDpzKChDLE4pPT57Qy51c2VyPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbixsKSxQVSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1lbnVJdGVtcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4ibWVudUl0ZW1zImluIEMsImhhcyIpLGdldDpzKEM9PkMubWVudUl0ZW1zLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MubWVudUl0ZW1zPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYyxwKSxQVSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzT3BlbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iaXNPcGVuImluIEMsImhhcyIpLGdldDpzKEM9PkMuaXNPcGVuLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuaXNPcGVuPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbSx2KSxQVSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJwb3NpdGlvbiJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnBvc2l0aW9uLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MucG9zaXRpb249Tn0sInNldCIpfSxtZXRhZGF0YTprfSxiLGcpLFBVKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmt9LG51bGwsdCkseT1yPWUudmFsdWUsayYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTprfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkZWVzLWFwcHVpLXByb2ZpbGVkcm9wZG93bgogICAgICAudXNlcj0ke3tuYW1lOiJKb2huIERvZSIsZW1haWw6ImpvaG4uZG9lQGV4YW1wbGUuY29tIixhdmF0YXI6Imh0dHBzOi8vcmFuZG9tdXNlci5tZS9hcGkvcG9ydHJhaXRzL21lbi8xLmpwZyIsc3RhdHVzOiJvbmxpbmUifX0KICAgICAgLm1lbnVJdGVtcz0ke1t7bmFtZToiUHJvZmlsZSBTZXR0aW5ncyIsaWNvbk5hbWU6InVzZXIiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJQcm9maWxlIiksImFjdGlvbiIpfSx7bmFtZToiQWNjb3VudCIsaWNvbk5hbWU6InNldHRpbmdzIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQWNjb3VudCIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJIZWxwICYgU3VwcG9ydCIsaWNvbk5hbWU6ImhlbHBDaXJjbGUiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJIZWxwIiksImFjdGlvbiIpfSx7bmFtZToiS2V5Ym9hcmQgU2hvcnRjdXRzIixpY29uTmFtZToia2V5Ym9hcmQiLHNob3J0Y3V0OiJDbWQrSyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlNob3J0Y3V0cyIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJTaWduIE91dCIsaWNvbk5hbWU6ImxvZ091dCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlNpZ24gb3V0IiksImFjdGlvbiIpfV19CiAgICAgIC5pc09wZW49JHshMH0KICAgID48L2RlZXMtYXBwdWktcHJvZmlsZWRyb3Bkb3duPgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkFwcCBVSSJdOyNlPWZjKHRoaXMsbix2b2lkIDApO2dldCB1c2VyKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHVzZXIoayl7dGhpcy4jZT1rfSN0PShmYyh0aGlzLGwpLGZjKHRoaXMsYyxbXSkpO2dldCBtZW51SXRlbXMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbWVudUl0ZW1zKGspe3RoaXMuI3Q9a30jYT0oZmModGhpcyxwKSxmYyh0aGlzLG0sITEpKTtnZXQgaXNPcGVuKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGlzT3BlbihrKXt0aGlzLiNhPWt9I3I9KGZjKHRoaXMsdiksZmModGhpcyxiLCJ0b3AtcmlnaHQiKSk7Z2V0IHBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHBvc2l0aW9uKGspe3RoaXMuI3I9a31zdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDEwMCU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbWluLXdpZHRoOiAyMjBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwMDAwMDAiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlMGUwZTAiLCIjMjAyMDIwIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBib3gtc2hhZG93OiAke2guYmRUaGVtZSgiMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpIiwiMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMykiKX07CiAgICAgICAgei1pbmRleDogJHtEcy5vdmVybGF5LmRyb3Bkb3dufTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSkgdHJhbnNsYXRlWSgtMTBweCk7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzLCB0cmFuc2Zvcm0gMC4yczsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgfQoKICAgICAgOmhvc3QoW2lzb3Blbl0pIC5kcm9wZG93biB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIC5iYWNrZHJvcCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogUG9zaXRpb24gdmFyaWFudHMgKi8KICAgICAgLmRyb3Bkb3duLnRvcC1yaWdodCB7CiAgICAgICAgdG9wOiAxMDAlOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duLnRvcC1sZWZ0IHsKICAgICAgICB0b3A6IDEwMCU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgIH0KCiAgICAgIC5kcm9wZG93bi5ib3R0b20tcmlnaHQgewogICAgICAgIGJvdHRvbTogMTAwJTsKICAgICAgICByaWdodDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC5kcm9wZG93bi5ib3R0b20tbGVmdCB7CiAgICAgICAgYm90dG9tOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAvKiBVc2VyIHNlY3Rpb24gKi8KICAgICAgLnVzZXItc2VjdGlvbiB7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlMGUwZTAiLCIjMjAyMDIwIil9OwogICAgICB9CgogICAgICAudXNlci1pbmZvIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICB9CgogICAgICAudXNlci1hdmF0YXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjBmMGYwIiwiIzFhMWExYSIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNjY2IiwiIzk5OSIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAudXNlci1hdmF0YXIgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgIH0KCiAgICAgIC51c2VyLXN0YXR1cyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICB3aWR0aDogMTBweDsKICAgICAgICBoZWlnaHQ6IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgfQoKICAgICAgLnVzZXItc3RhdHVzLm9ubGluZSB7CiAgICAgICAgYmFja2dyb3VuZDogIzRjYWY1MDsKICAgICAgfQoKICAgICAgLnVzZXItc3RhdHVzLm9mZmxpbmUgewogICAgICAgIGJhY2tncm91bmQ6ICM3NTc1NzU7CiAgICAgIH0KCiAgICAgIC51c2VyLXN0YXR1cy5idXN5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZjQ0MzM2OwogICAgICB9CgogICAgICAudXNlci1zdGF0dXMuYXdheSB7CiAgICAgICAgYmFja2dyb3VuZDogI2ZmOTgwMDsKICAgICAgfQoKICAgICAgLnVzZXItZGV0YWlscyB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC51c2VyLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMCIsIiNmZmYiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAudXNlci1lbWFpbCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzY2NiIsIiM5OTkiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLyogTWVudSBzZWN0aW9uICovCiAgICAgIC5tZW51LXNlY3Rpb24gewogICAgICAgIHBhZGRpbmc6IDRweCAwOwogICAgICB9CgogICAgICAubWVudS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xczsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzMzMiLCIjY2NjIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLm1lbnUtaXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgICB9CgogICAgICAubWVudS1pdGVtOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wOCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpIil9OwogICAgICB9CgogICAgICAubWVudS1pdGVtIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgfQoKICAgICAgLm1lbnUtaXRlbS10ZXh0IHsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAubWVudS1zaG9ydGN1dCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzk5OSIsIiM2NjYiKX07CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgogICAgICAubWVudS1kaXZpZGVyIHsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2UwZTBlMCIsIiMyMDIwMjAiKX07CiAgICAgICAgbWFyZ2luOiA0cHggMDsKICAgICAgfQoKICAgICAgLyogQmFja2Ryb3AgZm9yIG1vYmlsZSAqLwogICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAuYmFja2Ryb3AgewogICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgdG9wOiAwOwogICAgICAgICAgbGVmdDogMDsKICAgICAgICAgIHJpZ2h0OiAwOwogICAgICAgICAgYm90dG9tOiAwOwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpOwogICAgICAgICAgei1pbmRleDogJHtEcy5iYWNrZHJvcC5kcm9wZG93bn07CiAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzOwogICAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICB9CgogICAgICAgIDpob3N0KFtpc29wZW5dKSAuYmFja2Ryb3AgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgICAgfQoKICAgICAgICAuZHJvcGRvd24gewogICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgICByaWdodDogYXV0bzsKICAgICAgICAgIGJvdHRvbTogYXV0bzsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDAuOTUpOwogICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMzJweCk7CiAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzJweCk7CiAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIDpob3N0KFtpc29wZW5dKSAuZHJvcGRvd24gewogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7CiAgICAgICAgfQogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iYmFja2Ryb3AiIEBjbGljaz0keygpPT50aGlzLmNsb3NlKCl9PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93biAke3RoaXMucG9zaXRpb259Ij4KICAgICAgICAke3RoaXMudXNlcj93YAogICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1pbmZvIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ1c2VyLWF2YXRhciI+CiAgICAgICAgICAgICAgICAke3RoaXMudXNlci5hdmF0YXI/d2A8aW1nIHNyYz0iJHt0aGlzLnVzZXIuYXZhdGFyfSIgYWx0PSIke3RoaXMudXNlci5uYW1lfSI+YDp0aGlzLmdldEluaXRpYWxzKHRoaXMudXNlci5uYW1lKX0KICAgICAgICAgICAgICAgICR7dGhpcy51c2VyLnN0YXR1cz93YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ1c2VyLXN0YXR1cyAke3RoaXMudXNlci5zdGF0dXN9Ij48L2Rpdj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1kZXRhaWxzIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InVzZXItbmFtZSI+JHt0aGlzLnVzZXIubmFtZX08L2Rpdj4KICAgICAgICAgICAgICAgICR7dGhpcy51c2VyLmVtYWlsP3dgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InVzZXItZW1haWwiPiR7dGhpcy51c2VyLmVtYWlsfTwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9Im1lbnUtc2VjdGlvbiI+CiAgICAgICAgICAke3RoaXMubWVudUl0ZW1zLm1hcChrPT50aGlzLnJlbmRlck1lbnVJdGVtKGspKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlck1lbnVJdGVtKGspe2lmKCJkaXZpZGVyImluIGsmJmsuZGl2aWRlcilyZXR1cm4gd2A8ZGl2IGNsYXNzPSJtZW51LWRpdmlkZXIiPjwvZGl2PmA7bGV0IEM9aztyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibWVudS1pdGVtIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVNZW51Q2xpY2soQyl9PgogICAgICAgICR7Qy5pY29uTmFtZT93YAogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHtgbHVjaWRlOiR7Qy5pY29uTmFtZX1gfSI+PC9kZWVzLWljb24+CiAgICAgICAgYDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0ibWVudS1pdGVtLXRleHQiPiR7Qy5uYW1lfTwvc3Bhbj4KICAgICAgICAke0Muc2hvcnRjdXQ/d2AKICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZW51LXNob3J0Y3V0Ij4ke0Muc2hvcnRjdXR9PC9zcGFuPgogICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1nZXRJbml0aWFscyhrKXtyZXR1cm4gay5zcGxpdCgiICIpLm1hcChDPT5DWzBdKS5qb2luKCIiKS50b1VwcGVyQ2FzZSgpLnNsaWNlKDAsMil9YXN5bmMgaGFuZGxlTWVudUNsaWNrKGspe2F3YWl0IGsuYWN0aW9uKCksdGhpcy5jbG9zZSgpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm1lbnUtc2VsZWN0Iix7ZGV0YWlsOntpdGVtOmt9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9b3Blbigpe3RoaXMuaXNPcGVuPSEwfWNsb3NlKCl7dGhpcy5pc09wZW49ITF9dG9nZ2xlKCl7dGhpcy5pc09wZW49IXRoaXMuaXNPcGVufWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmhhbmRsZU91dHNpZGVDbGljaz10aGlzLmhhbmRsZU91dHNpZGVDbGljay5iaW5kKHRoaXMpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmhhbmRsZU91dHNpZGVDbGljayl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmhhbmRsZU91dHNpZGVDbGljayl9aGFuZGxlT3V0c2lkZUNsaWNrKGspe2lmKHRoaXMuaXNPcGVuJiYhdGhpcy5jb250YWlucyhrLnRhcmdldCkpe2xldCBDPXRoaXMucGFyZW50RWxlbWVudDtpZihDJiZDLmNvbnRhaW5zKGsudGFyZ2V0KSlyZXR1cm47dGhpcy5jbG9zZSgpfX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksZmModGhpcyxnKX1zdGF0aWN7ZmMocix0KX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIExpLFJhLHRzYSxfWWU9ZigoKT0+e2xlKCk7ZWEoKTtuNCgpO1ZzKCk7WXJhKCk7WnJhKCk7UXJhKCk7dmEoKTtMWWUoKTskWWUoKTtMaT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sUmE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHRzYT0oKCk9PntsZXQgYT1baWUoImRlZXMtYXBwdWktYXBwYmFyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W10sQixNPVtdLFM9W10sUCxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdLFEsSj1bXSxaPVtdLGdlLGFlPVtdLHJlPVtdO3ZhciB5ZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0FwcHVpQmFyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFY9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOkJvb2xlYW59KV0seT1bJCh7dHlwZTpPYmplY3R9KV0sTj1bJCh7dHlwZTpBcnJheX0pXSxPPVskKHt0eXBlOkJvb2xlYW59KV0sQj1bJCh7dHlwZTpCb29sZWFufSldLFA9WyQoe3R5cGU6TnVtYmVyfSldLFc9WyQoe3R5cGU6Qm9vbGVhbn0pXSxoZT1bSygpXSxtZT1bSygpXSxjZT1bSygpXSxRPVtLKCldLGdlPVtLKCldLExpKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVudUl0ZW1zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJtZW51SXRlbXMiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5tZW51SXRlbXMsImdldCIpLHNldDpzKChILG9lKT0+e0gubWVudUl0ZW1zPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LG4sbCksTGkodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJicmVhZGNydW1icyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iYnJlYWRjcnVtYnMiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5icmVhZGNydW1icywiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5icmVhZGNydW1icz1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxjLHApLExpKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYnJlYWRjcnVtYlNlcGFyYXRvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iYnJlYWRjcnVtYlNlcGFyYXRvciJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmJyZWFkY3J1bWJTZXBhcmF0b3IsImdldCIpLHNldDpzKChILG9lKT0+e0guYnJlYWRjcnVtYlNlcGFyYXRvcj1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxtLHYpLExpKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1dpbmRvd0NvbnRyb2xzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJzaG93V2luZG93Q29udHJvbHMiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5zaG93V2luZG93Q29udHJvbHMsImdldCIpLHNldDpzKChILG9lKT0+e0guc2hvd1dpbmRvd0NvbnRyb2xzPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LGIsZyksTGkodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ1c2VyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJ1c2VyImluIEgsImhhcyIpLGdldDpzKEg9PkgudXNlciwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC51c2VyPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LGssQyksTGkodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwcm9maWxlTWVudUl0ZW1zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJwcm9maWxlTWVudUl0ZW1zImluIEgsImhhcyIpLGdldDpzKEg9PkgucHJvZmlsZU1lbnVJdGVtcywiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5wcm9maWxlTWVudUl0ZW1zPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LF8seiksTGkodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93U2VhcmNoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJzaG93U2VhcmNoImluIEgsImhhcyIpLGdldDpzKEg9Pkguc2hvd1NlYXJjaCwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5zaG93U2VhcmNoPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LFQsRSksTGkodGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93QWN0aXZpdHlMb2dUb2dnbGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+InNob3dBY3Rpdml0eUxvZ1RvZ2dsZSJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILnNob3dBY3Rpdml0eUxvZ1RvZ2dsZSwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5zaG93QWN0aXZpdHlMb2dUb2dnbGU9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sTSxTKSxMaSh0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2aXR5TG9nQ291bnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImFjdGl2aXR5TG9nQ291bnQiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5hY3Rpdml0eUxvZ0NvdW50LCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILmFjdGl2aXR5TG9nQ291bnQ9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sQSxGKSxMaSh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2aXR5TG9nQWN0aXZlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJhY3Rpdml0eUxvZ0FjdGl2ZSJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmFjdGl2aXR5TG9nQWN0aXZlLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILmFjdGl2aXR5TG9nQWN0aXZlPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LGosRyksTGkodGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aXZlTWVudSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iYWN0aXZlTWVudSJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmFjdGl2ZU1lbnUsImdldCIpLHNldDpzKChILG9lKT0+e0guYWN0aXZlTWVudT1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxSLFUpLExpKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9wZW5Ecm9wZG93bnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+Im9wZW5Ecm9wZG93bnMiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5vcGVuRHJvcGRvd25zLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILm9wZW5Ecm9wZG93bnM9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sSSxxKSxMaSh0aGlzLG51bGwsY2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmb2N1c2VkSXRlbSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iZm9jdXNlZEl0ZW0iaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5mb2N1c2VkSXRlbSwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5mb2N1c2VkSXRlbT1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSx1ZSxZKSxMaSh0aGlzLG51bGwsUSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZvY3VzZWREcm9wZG93bkl0ZW0iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImZvY3VzZWREcm9wZG93bkl0ZW0iaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5mb2N1c2VkRHJvcGRvd25JdGVtLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILmZvY3VzZWREcm9wZG93bkl0ZW09b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sSixaKSxMaSh0aGlzLG51bGwsZ2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc1Byb2ZpbGVEcm9wZG93bk9wZW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImlzUHJvZmlsZURyb3Bkb3duT3BlbiJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmlzUHJvZmlsZURyb3Bkb3duT3BlbiwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5pc1Byb2ZpbGVEcm9wZG93bk9wZW49b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sYWUscmUpLExpKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlZ9LG51bGwsdCkseWU9cj1lLnZhbHVlLFYmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Vn0pfXN0YXRpYyBkZW1vPUdyYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkFwcCBVSSJdOyNlPVJhKHRoaXMsbixbXSk7Z2V0IG1lbnVJdGVtcygpe3JldHVybiB0aGlzLiNlfXNldCBtZW51SXRlbXMoVil7dGhpcy4jZT1WfSN0PShSYSh0aGlzLGwpLFJhKHRoaXMsYywiIikpO2dldCBicmVhZGNydW1icygpe3JldHVybiB0aGlzLiN0fXNldCBicmVhZGNydW1icyhWKXt0aGlzLiN0PVZ9I2E9KFJhKHRoaXMscCksUmEodGhpcyxtLCIgPiAiKSk7Z2V0IGJyZWFkY3J1bWJTZXBhcmF0b3IoKXtyZXR1cm4gdGhpcy4jYX1zZXQgYnJlYWRjcnVtYlNlcGFyYXRvcihWKXt0aGlzLiNhPVZ9I3I9KFJhKHRoaXMsdiksUmEodGhpcyxiLCEwKSk7Z2V0IHNob3dXaW5kb3dDb250cm9scygpe3JldHVybiB0aGlzLiNyfXNldCBzaG93V2luZG93Q29udHJvbHMoVil7dGhpcy4jcj1WfSNzPShSYSh0aGlzLGcpLFJhKHRoaXMsayx2b2lkIDApKTtnZXQgdXNlcigpe3JldHVybiB0aGlzLiNzfXNldCB1c2VyKFYpe3RoaXMuI3M9Vn0jaT0oUmEodGhpcyxDKSxSYSh0aGlzLF8sW10pKTtnZXQgcHJvZmlsZU1lbnVJdGVtcygpe3JldHVybiB0aGlzLiNpfXNldCBwcm9maWxlTWVudUl0ZW1zKFYpe3RoaXMuI2k9Vn0jbz0oUmEodGhpcyx6KSxSYSh0aGlzLFQsITEpKTtnZXQgc2hvd1NlYXJjaCgpe3JldHVybiB0aGlzLiNvfXNldCBzaG93U2VhcmNoKFYpe3RoaXMuI289Vn0jbj0oUmEodGhpcyxFKSxSYSh0aGlzLE0sITEpKTtnZXQgc2hvd0FjdGl2aXR5TG9nVG9nZ2xlKCl7cmV0dXJuIHRoaXMuI259c2V0IHNob3dBY3Rpdml0eUxvZ1RvZ2dsZShWKXt0aGlzLiNuPVZ9I2w9KFJhKHRoaXMsUyksUmEodGhpcyxBLDApKTtnZXQgYWN0aXZpdHlMb2dDb3VudCgpe3JldHVybiB0aGlzLiNsfXNldCBhY3Rpdml0eUxvZ0NvdW50KFYpe3RoaXMuI2w9Vn0jYz0oUmEodGhpcyxGKSxSYSh0aGlzLGosITEpKTtnZXQgYWN0aXZpdHlMb2dBY3RpdmUoKXtyZXR1cm4gdGhpcy4jY31zZXQgYWN0aXZpdHlMb2dBY3RpdmUoVil7dGhpcy4jYz1WfSNkPShSYSh0aGlzLEcpLFJhKHRoaXMsUixudWxsKSk7Z2V0IGFjdGl2ZU1lbnUoKXtyZXR1cm4gdGhpcy4jZH1zZXQgYWN0aXZlTWVudShWKXt0aGlzLiNkPVZ9I3U9KFJhKHRoaXMsVSksUmEodGhpcyxJLG5ldyBTZXQpKTtnZXQgb3BlbkRyb3Bkb3ducygpe3JldHVybiB0aGlzLiN1fXNldCBvcGVuRHJvcGRvd25zKFYpe3RoaXMuI3U9Vn0jcD0oUmEodGhpcyxxKSxSYSh0aGlzLHVlLG51bGwpKTtnZXQgZm9jdXNlZEl0ZW0oKXtyZXR1cm4gdGhpcy4jcH1zZXQgZm9jdXNlZEl0ZW0oVil7dGhpcy4jcD1WfSNmPShSYSh0aGlzLFkpLFJhKHRoaXMsSiwtMSkpO2dldCBmb2N1c2VkRHJvcGRvd25JdGVtKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IGZvY3VzZWREcm9wZG93bkl0ZW0oVil7dGhpcy4jZj1WfSNoPShSYSh0aGlzLFopLFJhKHRoaXMsYWUsITEpKTtnZXQgaXNQcm9maWxlRHJvcGRvd25PcGVuKCl7cmV0dXJuIHRoaXMuI2h9c2V0IGlzUHJvZmlsZURyb3Bkb3duT3BlbihWKXt0aGlzLiNoPVZ9c3RhdGljIHN0eWxlcz1LcmE7cmVuZGVyKCl7cmV0dXJuIFhyYSh0aGlzKX1yZW5kZXJNZW51SXRlbXMoKXtyZXR1cm4gd2AKICAgICAgJHt0aGlzLm1lbnVJdGVtcy5tYXAoKFYsSCk9PnRoaXMucmVuZGVyTWVudUl0ZW0oVixgbWVudS0ke0h9YCkpfQogICAgYH1yZW5kZXJNZW51SXRlbShWLEgpe2lmKCJkaXZpZGVyImluIFYmJlYuZGl2aWRlcilyZXR1cm4gd2A8ZGl2IGNsYXNzPSJkcm9wZG93bi1kaXZpZGVyIj48L2Rpdj5gO2xldCBvZT1WLHNlPXRoaXMuYWN0aXZlTWVudT09PUgsdGU9b2Uuc3VibWVudSYmb2Uuc3VibWVudS5sZW5ndGg+MDtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJtZW51SXRlbSAke3NlPyJhY3RpdmUiOiIifSIKICAgICAgICA/ZGlzYWJsZWQ9JHtvZS5kaXNhYmxlZH0KICAgICAgICB0YWJpbmRleD0iJHtvZS5kaXNhYmxlZD8tMTowfSIKICAgICAgICBkYXRhLWl0ZW0taWQ9IiR7SH0iCiAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlTWVudUNsaWNrKG9lLEgpfQogICAgICAgIEBrZXlkb3duPSR7emU9PnRoaXMuaGFuZGxlTWVudUtleWRvd24oemUsb2UsSCl9CiAgICAgICAgcm9sZT0ibWVudWl0ZW0iCiAgICAgICAgYXJpYS1oYXNwb3B1cD0iJHt0ZX0iCiAgICAgICAgYXJpYS1leHBhbmRlZD0iJHtzZX0iCiAgICAgID4KICAgICAgICAke29lLmljb25OYW1lP3dgPGRlZXMtaWNvbiAuaWNvbj0iJHtgbHVjaWRlOiR7b2UuaWNvbk5hbWV9YH0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgJHtvZS5uYW1lfQogICAgICAgICR7dGU/dGhpcy5yZW5kZXJEcm9wZG93bihvZS5zdWJtZW51LEgsc2UpOiIifQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRHJvcGRvd24oVixILG9lKXtyZXR1cm4gd2AKICAgICAgPGRpdiAKICAgICAgICBjbGFzcz0iZHJvcGRvd24gJHtvZT8ib3BlbiI6IiJ9IiAKICAgICAgICBAY2xpY2s9JHtzZT0+c2Uuc3RvcFByb3BhZ2F0aW9uKCl9CiAgICAgICAgQGtleWRvd249JHtzZT0+dGhpcy5oYW5kbGVEcm9wZG93bktleWRvd24oc2UsVixIKX0KICAgICAgICB0YWJpbmRleD0iJHtvZT8wOi0xfSIKICAgICAgICByb2xlPSJtZW51IgogICAgICA+CiAgICAgICAgJHtWLm1hcCgoc2UsdGUpPT50aGlzLnJlbmRlckRyb3Bkb3duSXRlbShzZSxgJHtIfS0ke3RlfWApKX0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckRyb3Bkb3duSXRlbShWLEgpe2lmKCJkaXZpZGVyImluIFYmJlYuZGl2aWRlcilyZXR1cm4gd2A8ZGl2IGNsYXNzPSJkcm9wZG93bi1kaXZpZGVyIj48L2Rpdj5gO2xldCBvZT1WLHNlPXBhcnNlSW50KEguc3BsaXQoIi0iKS5wb3AoKXx8IjAiKSx0ZT10aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09PT1zZTtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJkcm9wZG93bi1pdGVtICR7dGU/ImZvY3VzZWQiOiIifSIKICAgICAgICA/ZGlzYWJsZWQ9JHtvZS5kaXNhYmxlZH0KICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEcm9wZG93bkl0ZW1DbGljayhvZSl9CiAgICAgICAgQG1vdXNlZW50ZXI9JHsoKT0+dGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtPXNlfQogICAgICAgIHJvbGU9Im1lbnVpdGVtIgogICAgICAgIHRhYmluZGV4PSIke29lLmRpc2FibGVkPy0xOjB9IgogICAgICA+CiAgICAgICAgJHtvZS5pY29uTmFtZT93YDxkZWVzLWljb24gLmljb249IiR7YGx1Y2lkZToke29lLmljb25OYW1lfWB9Ij48L2RlZXMtaWNvbj5gOiIifQogICAgICAgIDxzcGFuPiR7b2UubmFtZX08L3NwYW4+CiAgICAgICAgJHtvZS5zaG9ydGN1dD93YDxzcGFuIGNsYXNzPSJzaG9ydGN1dCI+JHtvZS5zaG9ydGN1dH08L3NwYW4+YDoiIn0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckJyZWFkY3J1bWJzKCl7aWYoIXRoaXMuYnJlYWRjcnVtYnMpcmV0dXJuIHdgYDtsZXQgVj10aGlzLmJyZWFkY3J1bWJzLnNwbGl0KHRoaXMuYnJlYWRjcnVtYlNlcGFyYXRvcik7cmV0dXJuIHdgCiAgICAgICR7Vi5tYXAoKEgsb2UpPT53YAogICAgICAgICR7b2U+MD93YDxzcGFuIGNsYXNzPSJicmVhZGNydW1iLXNlcGFyYXRvciI+JHt0aGlzLmJyZWFkY3J1bWJTZXBhcmF0b3J9PC9zcGFuPmA6IiJ9CiAgICAgICAgPHNwYW4gCiAgICAgICAgICBjbGFzcz0iYnJlYWRjcnVtYi1pdGVtIiAKICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUJyZWFkY3J1bWJDbGljayhILG9lKX0KICAgICAgICA+CiAgICAgICAgICAke0h9CiAgICAgICAgPC9zcGFuPgogICAgICBgKX0KICAgIGB9cmVuZGVyQWNjb3VudFNlY3Rpb24oKXtyZXR1cm4gd2AKICAgICAgJHt0aGlzLnNob3dTZWFyY2g/d2AKICAgICAgICA8ZGVlcy1pY29uCiAgICAgICAgICBjbGFzcz0ic2VhcmNoLWljb24iCiAgICAgICAgICAuaWNvbj0keyJsdWNpZGU6c2VhcmNoIn0KICAgICAgICAgIEBjbGljaz0ke3RoaXMuaGFuZGxlU2VhcmNoQ2xpY2t9CiAgICAgICAgPjwvZGVlcy1pY29uPgogICAgICBgOiIifQogICAgICAke3RoaXMudXNlcj93YAogICAgICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsiPgogICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1pbmZvIiBAY2xpY2s9JHt0aGlzLmhhbmRsZVVzZXJDbGlja30+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InVzZXItYXZhdGFyIj4KICAgICAgICAgICAgICAke3RoaXMudXNlci5hdmF0YXI/d2A8aW1nIHNyYz0iJHt0aGlzLnVzZXIuYXZhdGFyfSIgYWx0PSIke3RoaXMudXNlci5uYW1lfSI+YDp3YCR7dGhpcy51c2VyLm5hbWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9YH0KICAgICAgICAgICAgICAke3RoaXMudXNlci5zdGF0dXM/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InVzZXItc3RhdHVzICR7dGhpcy51c2VyLnN0YXR1c30iPjwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8c3Bhbj4ke3RoaXMudXNlci5uYW1lfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRlZXMtYXBwdWktcHJvZmlsZWRyb3Bkb3duCiAgICAgICAgICAgIC51c2VyPSR7dGhpcy51c2VyfQogICAgICAgICAgICAubWVudUl0ZW1zPSR7dGhpcy5wcm9maWxlTWVudUl0ZW1zfQogICAgICAgICAgICAuaXNPcGVuPSR7dGhpcy5pc1Byb2ZpbGVEcm9wZG93bk9wZW59CiAgICAgICAgICAgIC5wb3NpdGlvbj0keyJ0b3AtcmlnaHQifQogICAgICAgICAgICBAbWVudS1zZWxlY3Q9JHtWPT50aGlzLmhhbmRsZVByb2ZpbGVNZW51U2VsZWN0KFYpfQogICAgICAgICAgPjwvZGVlcy1hcHB1aS1wcm9maWxlZHJvcGRvd24+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CiAgICAgICR7dGhpcy5zaG93QWN0aXZpdHlMb2dUb2dnbGU/d2AKICAgICAgICA8ZGl2CiAgICAgICAgICBjbGFzcz0iYWN0aXZpdHktdG9nZ2xlICR7dGhpcy5hY3Rpdml0eUxvZ0FjdGl2ZT8iYWN0aXZlIjoiIn0iCiAgICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZUFjdGl2aXR5VG9nZ2xlfQogICAgICAgICAgdGl0bGU9IkFjdGl2aXR5IExvZyIKICAgICAgICA+CiAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTphY3Rpdml0eSJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgJHt0aGlzLmFjdGl2aXR5TG9nQ291bnQ+MD93YAogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWN0aXZpdHktYmFkZ2UiPiR7dGhpcy5hY3Rpdml0eUxvZ0NvdW50Pjk5PyI5OSsiOnRoaXMuYWN0aXZpdHlMb2dDb3VudH08L3NwYW4+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgYH1oYW5kbGVNZW51Q2xpY2soVixIKXtWLmRpc2FibGVkfHwoVi5zdWJtZW51JiZWLnN1Ym1lbnUubGVuZ3RoPjA/dGhpcy5hY3RpdmVNZW51PT09SD90aGlzLmFjdGl2ZU1lbnU9bnVsbDp0aGlzLmFjdGl2ZU1lbnU9SDoodGhpcy5hY3RpdmVNZW51PW51bGwsVi5hY3Rpb24mJlYuYWN0aW9uKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibWVudS1zZWxlY3QiLHtkZXRhaWw6e2l0ZW06Vn0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSkpfWhhbmRsZURyb3Bkb3duSXRlbUNsaWNrKFYpe1YuZGlzYWJsZWR8fCh0aGlzLmFjdGl2ZU1lbnU9bnVsbCxWLmFjdGlvbiYmVi5hY3Rpb24oKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJtZW51LXNlbGVjdCIse2RldGFpbDp7aXRlbTpWfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKX1oYW5kbGVNZW51S2V5ZG93bihWLEgsb2Upe3N3aXRjaChWLmtleSl7Y2FzZSJFbnRlciI6Y2FzZSIgIjpWLnByZXZlbnREZWZhdWx0KCksdGhpcy5oYW5kbGVNZW51Q2xpY2soSCxvZSk7YnJlYWs7Y2FzZSJBcnJvd0Rvd24iOmlmKEguc3VibWVudSYmdGhpcy5hY3RpdmVNZW51PT09b2Upe1YucHJldmVudERlZmF1bHQoKSx0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09MDtsZXQgc2U9dGhpcy5maW5kTmV4dFZhbGlkSXRlbShILnN1Ym1lbnUsLTEsMSk7c2UhPT0tMSYmKHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT1zZSxzZXRUaW1lb3V0KCgpPT57bGV0IHRlPXRoaXMucmVuZGVyUm9vdC5xdWVyeVNlbGVjdG9yKCIuZHJvcGRvd24ub3BlbiIpO3RlJiZ0ZS5mb2N1cygpfSwwKSl9YnJlYWs7Y2FzZSJFc2NhcGUiOnRoaXMuYWN0aXZlTWVudT1udWxsLHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT0tMTticmVhaztjYXNlIlRhYiI6dGhpcy5hY3RpdmVNZW51PT09b2UmJih0aGlzLmFjdGl2ZU1lbnU9bnVsbCx0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09LTEpO2JyZWFrO2Nhc2UiQXJyb3dSaWdodCI6Vi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZm9jdXNOZXh0TWVudUl0ZW0ob2UsMSk7YnJlYWs7Y2FzZSJBcnJvd0xlZnQiOlYucHJldmVudERlZmF1bHQoKSx0aGlzLmZvY3VzTmV4dE1lbnVJdGVtKG9lLC0xKTticmVha319aGFuZGxlQnJlYWRjcnVtYkNsaWNrKFYsSCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYnJlYWRjcnVtYi1uYXZpZ2F0ZSIse2RldGFpbDp7YnJlYWRjcnVtYjpWLGluZGV4Okh9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlU2VhcmNoQ2xpY2soKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWFyY2gtY2xpY2siLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUFjdGl2aXR5VG9nZ2xlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYWN0aXZpdHktdG9nZ2xlIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVVc2VyQ2xpY2soKXt0aGlzLmlzUHJvZmlsZURyb3Bkb3duT3Blbj0hdGhpcy5pc1Byb2ZpbGVEcm9wZG93bk9wZW4sdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidXNlci1tZW51LW9wZW4iLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVByb2ZpbGVNZW51U2VsZWN0KFYpe3RoaXMuaXNQcm9maWxlRHJvcGRvd25PcGVuPSExLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInByb2ZpbGUtbWVudS1zZWxlY3QiLHtkZXRhaWw6Vi5kZXRhaWwsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5oYW5kbGVHbG9iYWxDbGljayksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuaGFuZGxlRG9jdW1lbnRDbGljayl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmhhbmRsZURvY3VtZW50Q2xpY2spfWhhbmRsZUdsb2JhbENsaWNrPShSYSh0aGlzLHJlKSxWPT57Vi5zdG9wUHJvcGFnYXRpb24oKX0pO2hhbmRsZURvY3VtZW50Q2xpY2s9cygoKT0+e3RoaXMuYWN0aXZlTWVudT1udWxsLHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT0tMX0sImhhbmRsZURvY3VtZW50Q2xpY2siKTtoYW5kbGVEcm9wZG93bktleWRvd24oVixILG9lKXtsZXQgc2U9SC5maWx0ZXIodGU9PiEoImRpdmlkZXIiaW4gdGUmJnRlLmRpdmlkZXIpKTtzd2l0Y2goVi5rZXkpe2Nhc2UiQXJyb3dEb3duIjpWLnByZXZlbnREZWZhdWx0KCk7bGV0IHRlPXRoaXMuZmluZE5leHRWYWxpZEl0ZW0oSCx0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW0sMSk7dGUhPT0tMSYmKHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT10ZSk7YnJlYWs7Y2FzZSJBcnJvd1VwIjpWLnByZXZlbnREZWZhdWx0KCk7bGV0IHplPXRoaXMuZmluZE5leHRWYWxpZEl0ZW0oSCx0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW0sLTEpO3plIT09LTEmJih0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09emUpO2JyZWFrO2Nhc2UiRW50ZXIiOmlmKFYucHJldmVudERlZmF1bHQoKSx0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW0hPT0tMSl7bGV0ICRlPXNlW3RoaXMuZm9jdXNlZERyb3Bkb3duSXRlbV07JGUmJiJhY3Rpb24iaW4gJGUmJiEkZS5kaXNhYmxlZCYmdGhpcy5oYW5kbGVEcm9wZG93bkl0ZW1DbGljaygkZSl9YnJlYWs7Y2FzZSJIb21lIjpWLnByZXZlbnREZWZhdWx0KCk7bGV0IE9lPXRoaXMuZmluZE5leHRWYWxpZEl0ZW0oSCwtMSwxKTtPZSE9PS0xJiYodGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtPU9lKTticmVhaztjYXNlIkVuZCI6Vi5wcmV2ZW50RGVmYXVsdCgpO2xldCBxZT10aGlzLmZpbmROZXh0VmFsaWRJdGVtKEgsSC5sZW5ndGgsLTEpO3FlIT09LTEmJih0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09cWUpO2JyZWFrO2Nhc2UiRXNjYXBlIjpWLnByZXZlbnREZWZhdWx0KCksdGhpcy5hY3RpdmVNZW51PW51bGwsdGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtPS0xO2xldCBjdD10aGlzLnJlbmRlclJvb3QucXVlcnlTZWxlY3RvcigiLm1lbnVJdGVtLmFjdGl2ZSIpO2N0JiZjdC5mb2N1cygpO2JyZWFrfX1maW5kTmV4dFZhbGlkSXRlbShWLEgsb2Upe2xldCBzZT1IK29lO2Zvcig7c2U+PTAmJnNlPFYubGVuZ3RoOyl7bGV0IHRlPVZbc2VdO2lmKCEoImRpdmlkZXIiaW4gdGUmJnRlLmRpdmlkZXIpJiYhKCJkaXNhYmxlZCJpbiB0ZSYmdGUuZGlzYWJsZWQpKXJldHVybiBzZTtzZSs9b2V9cmV0dXJuLTF9Zm9jdXNOZXh0TWVudUl0ZW0oVixIKXtsZXQgb2U9QXJyYXkuZnJvbSh0aGlzLnJlbmRlclJvb3QucXVlcnlTZWxlY3RvckFsbCgiLm1lbnVJdGVtIikpLHNlPW9lLmZpbmRJbmRleChPZT0+T2UuZ2V0QXR0cmlidXRlKCJkYXRhLWl0ZW0taWQiKT09PVYpO2lmKHNlPT09LTEpcmV0dXJuO2xldCB0ZT1zZStIO3RlPDA/dGU9b2UubGVuZ3RoLTE6dGU+PW9lLmxlbmd0aCYmKHRlPTApO2xldCB6ZT0wO2Zvcig7emU8b2UubGVuZ3RoOyl7bGV0IE9lPW9lW3RlXTtpZighT2UuaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpKXtPZS5mb2N1cygpLHRoaXMuYWN0aXZlTWVudSYmKHRoaXMuYWN0aXZlTWVudT1udWxsLHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT0tMSk7YnJlYWt9dGU9KHRlK0grb2UubGVuZ3RoKSVvZS5sZW5ndGgsemUrK319c3RhdGlje1JhKHIsdCl9fTtyZXR1cm4geWU9cn0pKCl9KTt2YXIgRFllPWYoKCk9PntfWWUoKX0pO3ZhciBhc2EscnNhLHNzYT1mKCgpPT57bGUoKTtOYSgpO3JzYT1zKCgpPT53KGFzYXx8KGFzYT1VNShbYAogICAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICAgIDxzdHlsZT4KICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgYmFja2dyb3VuZDogIzFhMWExYTsKICAgICAgICB9CgogICAgICAgIC5kZW1vLXNlY3Rpb24gewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICB9CgogICAgICAgIC5kZW1vLWxhYmVsIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgIGNvbG9yOiAjNzM3MzczOwogICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICB9CgogICAgICAgIC5kZW1vLWJvdHRvbWJhci13cmFwcGVyIHsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGhzbCgwIDAlIDIwJSk7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLWxhYmVsIj5Cb3R0b20gYmFyIHdpdGggc3RhdHVzIHdpZGdldHMgYW5kIGFjdGlvbnM8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tYm90dG9tYmFyLXdyYXBwZXIiPgogICAgICAgICAgICA8ZGVlcy1hcHB1aS1ib3R0b21iYXIKICAgICAgICAgICAgICBpZD0iZGVtby1ib3R0b21iYXIiCiAgICAgICAgICAgID48L2RlZXMtYXBwdWktYm90dG9tYmFyPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLWxhYmVsIj5Db250cm9sczwvZGl2PgogICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZ2FwOiA4cHg7IGZsZXgtd3JhcDogd3JhcDsiPgogICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9ImFkZFN1Y2Nlc3NXaWRnZXQoKSI+QWRkIFN1Y2Nlc3MgV2lkZ2V0PC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0iYWRkV2FybmluZ1dpZGdldCgpIj5BZGQgV2FybmluZyBXaWRnZXQ8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJhZGRFcnJvcldpZGdldCgpIj5BZGQgRXJyb3IgV2lkZ2V0PC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0iYWRkTG9hZGluZ1dpZGdldCgpIj5BZGQgTG9hZGluZyBXaWRnZXQ8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJhZGRSaWdodFdpZGdldCgpIj5BZGQgUmlnaHQgV2lkZ2V0PC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0iYWRkQWN0aW9uKCkiPkFkZCBBY3Rpb248L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJjbGVhckFsbCgpIj5DbGVhciBBbGw8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPHNjcmlwdCB0eXBlPSJtb2R1bGUiPgogICAgICAgIGNvbnN0IGJvdHRvbWJhciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkZW1vLWJvdHRvbWJhcicpOwoKICAgICAgICAvLyBXYWl0IGZvciBjb21wb25lbnQgdG8gaW5pdGlhbGl6ZQogICAgICAgIGF3YWl0IGJvdHRvbWJhci51cGRhdGVDb21wbGV0ZTsKCiAgICAgICAgLy8gQWRkIGluaXRpYWwgd2lkZ2V0cwogICAgICAgIGJvdHRvbWJhci5hZGRXaWRnZXQoewogICAgICAgICAgaWQ6ICdzdGF0dXMnLAogICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6YWN0aXZpdHknLAogICAgICAgICAgbGFiZWw6ICdTeXN0ZW0gT25saW5lJywKICAgICAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLAogICAgICAgICAgdG9vbHRpcDogJ0FsbCBzeXN0ZW1zIG9wZXJhdGlvbmFsJywKICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IGNvbnNvbGUubG9nKCdTdGF0dXMgY2xpY2tlZCcpLAogICAgICAgICAgY29udGV4dE1lbnVJdGVtczogWwogICAgICAgICAgICB7IG5hbWU6ICdWaWV3IERldGFpbHMnLCBpY29uTmFtZTogJ2x1Y2lkZTppbmZvJywgYWN0aW9uOiAoKSA9PiBhbGVydCgnU3lzdGVtIGRldGFpbHMnKSB9LAogICAgICAgICAgICB7IGRpdmlkZXI6IHRydWUgfSwKICAgICAgICAgICAgeyBuYW1lOiAnUmVmcmVzaCBTdGF0dXMnLCBpY29uTmFtZTogJ2x1Y2lkZTpyZWZyZXNoQ3cnLCBhY3Rpb246ICgpID0+IGFsZXJ0KCdSZWZyZXNoaW5nLi4uJykgfSwKICAgICAgICAgIF0sCiAgICAgICAgfSk7CgogICAgICAgIGJvdHRvbWJhci5hZGRXaWRnZXQoewogICAgICAgICAgaWQ6ICdub3RpZmljYXRpb25zJywKICAgICAgICAgIGljb25OYW1lOiAnbHVjaWRlOmJlbGwnLAogICAgICAgICAgbGFiZWw6ICczIG5vdGlmaWNhdGlvbnMnLAogICAgICAgICAgc3RhdHVzOiAnd2FybmluZycsCiAgICAgICAgICB0b29sdGlwOiAnWW91IGhhdmUgdW5yZWFkIG5vdGlmaWNhdGlvbnMnLAogICAgICAgICAgb25DbGljazogKCkgPT4gY29uc29sZS5sb2coJ05vdGlmaWNhdGlvbnMgY2xpY2tlZCcpLAogICAgICAgIH0pOwoKICAgICAgICBib3R0b21iYXIuYWRkV2lkZ2V0KHsKICAgICAgICAgIGlkOiAndmVyc2lvbicsCiAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTpnaXRCcmFuY2gnLAogICAgICAgICAgbGFiZWw6ICd2MS4yLjMnLAogICAgICAgICAgdG9vbHRpcDogJ0N1cnJlbnQgdmVyc2lvbicsCiAgICAgICAgICBwb3NpdGlvbjogJ3JpZ2h0JywKICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IGNvbnNvbGUubG9nKCdWZXJzaW9uIGNsaWNrZWQnKSwKICAgICAgICB9KTsKCiAgICAgICAgLy8gQWRkIGluaXRpYWwgYWN0aW9ucwogICAgICAgIGJvdHRvbWJhci5hZGRBY3Rpb24oewogICAgICAgICAgaWQ6ICdzZXR0aW5ncycsCiAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTpzZXR0aW5ncycsCiAgICAgICAgICB0b29sdGlwOiAnU2V0dGluZ3MnLAogICAgICAgICAgcG9zaXRpb246ICdyaWdodCcsCiAgICAgICAgICBvbkNsaWNrOiAoKSA9PiBhbGVydCgnU2V0dGluZ3MgY2xpY2tlZCcpLAogICAgICAgIH0pOwoKICAgICAgICBib3R0b21iYXIuYWRkQWN0aW9uKHsKICAgICAgICAgIGlkOiAnaGVscCcsCiAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTpoZWxwQ2lyY2xlJywKICAgICAgICAgIHRvb2x0aXA6ICdIZWxwJywKICAgICAgICAgIHBvc2l0aW9uOiAncmlnaHQnLAogICAgICAgICAgb25DbGljazogKCkgPT4gYWxlcnQoJ0hlbHAgY2xpY2tlZCcpLAogICAgICAgIH0pOwoKICAgICAgICAvLyBEZW1vIGNvbnRyb2wgZnVuY3Rpb25zCiAgICAgICAgbGV0IHdpZGdldENvdW50ZXIgPSAwOwogICAgICAgIGxldCBhY3Rpb25Db3VudGVyID0gMDsKCiAgICAgICAgd2luZG93LmFkZFN1Y2Nlc3NXaWRnZXQgPSAoKSA9PiB7CiAgICAgICAgICB3aWRnZXRDb3VudGVyKys7CiAgICAgICAgICBib3R0b21iYXIuYWRkV2lkZ2V0KHsKICAgICAgICAgICAgaWQ6ICdzdWNjZXNzLScgKyB3aWRnZXRDb3VudGVyLAogICAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTpjaGVja0NpcmNsZScsCiAgICAgICAgICAgIGxhYmVsOiAnU3VjY2VzcyAnICsgd2lkZ2V0Q291bnRlciwKICAgICAgICAgICAgc3RhdHVzOiAnc3VjY2VzcycsCiAgICAgICAgICAgIHRvb2x0aXA6ICdTdWNjZXNzIHdpZGdldCcsCiAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IGJvdHRvbWJhci5yZW1vdmVXaWRnZXQoJ3N1Y2Nlc3MtJyArIHdpZGdldENvdW50ZXIpLAogICAgICAgICAgfSk7CiAgICAgICAgfTsKCiAgICAgICAgd2luZG93LmFkZFdhcm5pbmdXaWRnZXQgPSAoKSA9PiB7CiAgICAgICAgICB3aWRnZXRDb3VudGVyKys7CiAgICAgICAgICBib3R0b21iYXIuYWRkV2lkZ2V0KHsKICAgICAgICAgICAgaWQ6ICd3YXJuaW5nLScgKyB3aWRnZXRDb3VudGVyLAogICAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTphbGVydFRyaWFuZ2xlJywKICAgICAgICAgICAgbGFiZWw6ICdXYXJuaW5nICcgKyB3aWRnZXRDb3VudGVyLAogICAgICAgICAgICBzdGF0dXM6ICd3YXJuaW5nJywKICAgICAgICAgICAgdG9vbHRpcDogJ1dhcm5pbmcgd2lkZ2V0JywKICAgICAgICAgICAgb25DbGljazogKCkgPT4gYm90dG9tYmFyLnJlbW92ZVdpZGdldCgnd2FybmluZy0nICsgd2lkZ2V0Q291bnRlciksCiAgICAgICAgICB9KTsKICAgICAgICB9OwoKICAgICAgICB3aW5kb3cuYWRkRXJyb3JXaWRnZXQgPSAoKSA9PiB7CiAgICAgICAgICB3aWRnZXRDb3VudGVyKys7CiAgICAgICAgICBib3R0b21iYXIuYWRkV2lkZ2V0KHsKICAgICAgICAgICAgaWQ6ICdlcnJvci0nICsgd2lkZ2V0Q291bnRlciwKICAgICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6eENpcmNsZScsCiAgICAgICAgICAgIGxhYmVsOiAnRXJyb3IgJyArIHdpZGdldENvdW50ZXIsCiAgICAgICAgICAgIHN0YXR1czogJ2Vycm9yJywKICAgICAgICAgICAgdG9vbHRpcDogJ0Vycm9yIHdpZGdldCcsCiAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IGJvdHRvbWJhci5yZW1vdmVXaWRnZXQoJ2Vycm9yLScgKyB3aWRnZXRDb3VudGVyKSwKICAgICAgICAgIH0pOwogICAgICAgIH07CgogICAgICAgIHdpbmRvdy5hZGRMb2FkaW5nV2lkZ2V0ID0gKCkgPT4gewogICAgICAgICAgd2lkZ2V0Q291bnRlcisrOwogICAgICAgICAgY29uc3QgaWQgPSAnbG9hZGluZy0nICsgd2lkZ2V0Q291bnRlcjsKICAgICAgICAgIGJvdHRvbWJhci5hZGRXaWRnZXQoewogICAgICAgICAgICBpZDogaWQsCiAgICAgICAgICAgIGljb25OYW1lOiAnbHVjaWRlOmxvYWRlcjInLAogICAgICAgICAgICBsYWJlbDogJ0xvYWRpbmcuLi4nLAogICAgICAgICAgICBzdGF0dXM6ICdhY3RpdmUnLAogICAgICAgICAgICBsb2FkaW5nOiB0cnVlLAogICAgICAgICAgICB0b29sdGlwOiAnTG9hZGluZyBpbiBwcm9ncmVzcycsCiAgICAgICAgICB9KTsKCiAgICAgICAgICAvLyBTaW11bGF0ZSBjb21wbGV0aW9uIGFmdGVyIDMgc2Vjb25kcwogICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgIGJvdHRvbWJhci51cGRhdGVXaWRnZXQoaWQsIHsKICAgICAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTpjaGVjaycsCiAgICAgICAgICAgICAgbGFiZWw6ICdEb25lIScsCiAgICAgICAgICAgICAgc3RhdHVzOiAnc3VjY2VzcycsCiAgICAgICAgICAgICAgbG9hZGluZzogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSwgMzAwMCk7CiAgICAgICAgfTsKCiAgICAgICAgd2luZG93LmFkZFJpZ2h0V2lkZ2V0ID0gKCkgPT4gewogICAgICAgICAgd2lkZ2V0Q291bnRlcisrOwogICAgICAgICAgYm90dG9tYmFyLmFkZFdpZGdldCh7CiAgICAgICAgICAgIGlkOiAncmlnaHQtJyArIHdpZGdldENvdW50ZXIsCiAgICAgICAgICAgIGljb25OYW1lOiAnbHVjaWRlOmluZm8nLAogICAgICAgICAgICBsYWJlbDogJ1JpZ2h0ICcgKyB3aWRnZXRDb3VudGVyLAogICAgICAgICAgICBwb3NpdGlvbjogJ3JpZ2h0JywKICAgICAgICAgICAgb25DbGljazogKCkgPT4gYm90dG9tYmFyLnJlbW92ZVdpZGdldCgncmlnaHQtJyArIHdpZGdldENvdW50ZXIpLAogICAgICAgICAgfSk7CiAgICAgICAgfTsKCiAgICAgICAgd2luZG93LmFkZEFjdGlvbiA9ICgpID0+IHsKICAgICAgICAgIGFjdGlvbkNvdW50ZXIrKzsKICAgICAgICAgIGJvdHRvbWJhci5hZGRBY3Rpb24oewogICAgICAgICAgICBpZDogJ2FjdGlvbi0nICsgYWN0aW9uQ291bnRlciwKICAgICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6emFwJywKICAgICAgICAgICAgdG9vbHRpcDogJ0FjdGlvbiAnICsgYWN0aW9uQ291bnRlciwKICAgICAgICAgICAgb25DbGljazogKCkgPT4gewogICAgICAgICAgICAgIGFsZXJ0KCdBY3Rpb24gJyArIGFjdGlvbkNvdW50ZXIgKyAnIGNsaWNrZWQnKTsKICAgICAgICAgICAgICBib3R0b21iYXIucmVtb3ZlQWN0aW9uKCdhY3Rpb24tJyArIGFjdGlvbkNvdW50ZXIpOwogICAgICAgICAgICB9LAogICAgICAgICAgfSk7CiAgICAgICAgfTsKCiAgICAgICAgd2luZG93LmNsZWFyQWxsID0gKCkgPT4gewogICAgICAgICAgYm90dG9tYmFyLmNsZWFyV2lkZ2V0cygpOwogICAgICAgICAgYm90dG9tYmFyLmNsZWFyQWN0aW9ucygpOwogICAgICAgICAgd2lkZ2V0Q291bnRlciA9IDA7CiAgICAgICAgICBhY3Rpb25Db3VudGVyID0gMDsKICAgICAgICB9OwogICAgICA8XC9zY3JpcHQ+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgYF0pKSksImRlbW9GdW5jIil9KTt2YXIgQVllLElVLGlzYSxFWWU9ZigoKT0+e2xlKCk7UWUoKTt2YSgpO1pyKCk7c3NhKCk7QVllPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxJVT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0saXNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1hcHB1aS1ib3R0b21iYXIiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0FwcHVpQm90dG9tYmFyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bSygpXSxkPVtLKCldLEFZZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndpZGdldHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+IndpZGdldHMiaW4gdiwiaGFzIiksZ2V0OnModj0+di53aWRnZXRzLCJnZXQiKSxzZXQ6cygodix4KT0+e3Yud2lkZ2V0cz14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksQVllKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iYWN0aW9ucyJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmFjdGlvbnMsImdldCIpLHNldDpzKCh2LHgpPT57di5hY3Rpb25zPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxBWWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1yc2E7c3RhdGljIGRlbW9Hcm91cHM9WyJBcHAgVUkiXTsjZT1JVSh0aGlzLG4sW10pO2dldCB3aWRnZXRzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHdpZGdldHMobSl7dGhpcy4jZT1tfSN0PShJVSh0aGlzLGwpLElVKHRoaXMsYyxbXSkpO2dldCBhY3Rpb25zKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGFjdGlvbnMobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAuYm90dG9tLWJhciB7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXRlcnRpYXJ5KTsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CgogICAgICAud2lkZ2V0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogMnB4IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZSwgY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAud2lkZ2V0OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgIH0KCiAgICAgIC53aWRnZXQgZGVlcy1pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLndpZGdldC1zZXBhcmF0b3IgewogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CiAgICAgICAgbWFyZ2luOiAwIDRweDsKICAgICAgfQoKICAgICAgLyogU3RhdHVzIGNvbG9ycyBtYXRjaGluZyBkZWVzLXdvcmtzcGFjZS1ib3R0b21iYXIgKi8KICAgICAgLndpZGdldC5hY3RpdmUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDQ1JSkiLCJoc2woMjEwIDEwMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldC5zdWNjZXNzIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIgNzAlIDM1JSkiLCJoc2woMTQyIDcwJSA1MCUpIil9OwogICAgICB9CgogICAgICAud2lkZ2V0Lndhcm5pbmcgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDM4IDkyJSA0NSUpIiwiaHNsKDM4IDkyJSA1NSUpIil9OwogICAgICB9CgogICAgICAud2lkZ2V0LmVycm9yIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDcwJSA1MCUpIiwiaHNsKDAgNzAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgZnJvbSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9CiAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9CiAgICAgIH0KCiAgICAgIC5zcGlubmluZyB7CiAgICAgICAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgLnNwYWNlciB7CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGlzYWJsZWQ6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgbT10aGlzLndpZGdldHMuZmlsdGVyKGc9PmcucG9zaXRpb24hPT0icmlnaHQiKS5zb3J0KChnLHkpPT4oZy5vcmRlcnx8MCktKHkub3JkZXJ8fDApKSx2PXRoaXMud2lkZ2V0cy5maWx0ZXIoZz0+Zy5wb3NpdGlvbj09PSJyaWdodCIpLnNvcnQoKGcseSk9PihnLm9yZGVyfHwwKS0oeS5vcmRlcnx8MCkpLHg9dGhpcy5hY3Rpb25zLmZpbHRlcihnPT5nLnBvc2l0aW9uPT09ImxlZnQiKSxiPXRoaXMuYWN0aW9ucy5maWx0ZXIoZz0+Zy5wb3NpdGlvbiE9PSJsZWZ0Iik7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImJvdHRvbS1iYXIiPgogICAgICAgIDwhLS0gTGVmdCBhY3Rpb25zIC0tPgogICAgICAgICR7eC5tYXAoZz0+dGhpcy5yZW5kZXJBY3Rpb24oZykpfQoKICAgICAgICA8IS0tIExlZnQgd2lkZ2V0cyAtLT4KICAgICAgICAke20ubWFwKChnLHkpPT53YAogICAgICAgICAgJHt5PjB8fHgubGVuZ3RoPjA/d2A8ZGl2IGNsYXNzPSJ3aWRnZXQtc2VwYXJhdG9yIj48L2Rpdj5gOiIifQogICAgICAgICAgJHt0aGlzLnJlbmRlcldpZGdldChnKX0KICAgICAgICBgKX0KCiAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KCiAgICAgICAgPCEtLSBSaWdodCB3aWRnZXRzIC0tPgogICAgICAgICR7di5tYXAoKGcseSk9PndgCiAgICAgICAgICAke3RoaXMucmVuZGVyV2lkZ2V0KGcpfQogICAgICAgICAgJHt5PHYubGVuZ3RoLTF8fGIubGVuZ3RoPjA/d2A8ZGl2IGNsYXNzPSJ3aWRnZXQtc2VwYXJhdG9yIj48L2Rpdj5gOiIifQogICAgICAgIGApfQoKICAgICAgICA8IS0tIFJpZ2h0IGFjdGlvbnMgLS0+CiAgICAgICAgJHtiLm1hcChnPT50aGlzLnJlbmRlckFjdGlvbihnKSl9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJXaWRnZXQobSl7bGV0IHY9bS5zdGF0dXMmJm0uc3RhdHVzIT09ImlkbGUiP20uc3RhdHVzOiIiLHg9bS5pY29uTmFtZT9tLmljb25OYW1lLnN0YXJ0c1dpdGgoImx1Y2lkZToiKT9tLmljb25OYW1lOmBsdWNpZGU6JHttLmljb25OYW1lfWA6IiI7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0id2lkZ2V0ICR7dn0iCiAgICAgICAgdGl0bGU9IiR7bS50b29sdGlwfHwiIn0iCiAgICAgICAgQGNsaWNrPSR7KCk9Pm0ub25DbGljaz8uKCl9CiAgICAgICAgQGNvbnRleHRtZW51PSR7Yj0+dGhpcy5oYW5kbGVXaWRnZXRDb250ZXh0TWVudShiLG0pfQogICAgICA+CiAgICAgICAgJHt4P3dgCiAgICAgICAgICA8ZGVlcy1pY29uCiAgICAgICAgICAgIC5pY29uPSR7eH0KICAgICAgICAgICAgaWNvblNpemU9IjEyIgogICAgICAgICAgICBjbGFzcz0iJHttLmxvYWRpbmc/InNwaW5uaW5nIjoiIn0iCiAgICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgICAgYDoiIn0KICAgICAgICAke20ubGFiZWw/d2A8c3Bhbj4ke20ubGFiZWx9PC9zcGFuPmA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJBY3Rpb24obSl7bGV0IHY9bS5pY29uTmFtZS5zdGFydHNXaXRoKCJsdWNpZGU6Iik/bS5pY29uTmFtZTpgbHVjaWRlOiR7bS5pY29uTmFtZX1gO3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImFjdGlvbi1idXR0b24gJHttLmRpc2FibGVkPyJkaXNhYmxlZCI6IiJ9IgogICAgICAgIHRpdGxlPSIke20udG9vbHRpcHx8IiJ9IgogICAgICAgIEBjbGljaz0keygpPT4hbS5kaXNhYmxlZCYmbS5vbkNsaWNrPy4oKX0KICAgICAgPgogICAgICAgIDxkZWVzLWljb24KICAgICAgICAgIC5pY29uPSR7dn0KICAgICAgICAgIGljb25TaXplPSIxMiIKICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBoYW5kbGVXaWRnZXRDb250ZXh0TWVudShtLHYpe2lmKCF2LmNvbnRleHRNZW51SXRlbXN8fHYuY29udGV4dE1lbnVJdGVtcy5sZW5ndGg9PT0wKXJldHVybjttLnByZXZlbnREZWZhdWx0KCk7bGV0IHg9W107Zm9yKGxldCBiIG9mIHYuY29udGV4dE1lbnVJdGVtcyliLmRpdmlkZXI/eC5wdXNoKHtkaXZpZGVyOiEwfSk6eC5wdXNoKHtuYW1lOmIubmFtZSxpY29uTmFtZTpiLmljb25OYW1lLGFjdGlvbjpzKGFzeW5jKCk9Pnthd2FpdCBiLmFjdGlvbigpfSwiYWN0aW9uIiksZGlzYWJsZWQ6Yi5kaXNhYmxlZH0pO2F3YWl0IHRhLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKG0seCl9YWRkV2lkZ2V0KG0pe3RoaXMud2lkZ2V0cz10aGlzLndpZGdldHMuZmlsdGVyKHY9PnYuaWQhPT1tLmlkKSx0aGlzLndpZGdldHM9Wy4uLnRoaXMud2lkZ2V0cyxtXX11cGRhdGVXaWRnZXQobSx2KXt0aGlzLndpZGdldHM9dGhpcy53aWRnZXRzLm1hcCh4PT54LmlkPT09bT97Li4ueCwuLi52fTp4KX1yZW1vdmVXaWRnZXQobSl7dGhpcy53aWRnZXRzPXRoaXMud2lkZ2V0cy5maWx0ZXIodj0+di5pZCE9PW0pfWdldFdpZGdldChtKXtyZXR1cm4gdGhpcy53aWRnZXRzLmZpbmQodj0+di5pZD09PW0pfWNsZWFyV2lkZ2V0cygpe3RoaXMud2lkZ2V0cz1bXX1hZGRBY3Rpb24obSl7dGhpcy5hY3Rpb25zPXRoaXMuYWN0aW9ucy5maWx0ZXIodj0+di5pZCE9PW0uaWQpLHRoaXMuYWN0aW9ucz1bLi4udGhpcy5hY3Rpb25zLG1dfXJlbW92ZUFjdGlvbihtKXt0aGlzLmFjdGlvbnM9dGhpcy5hY3Rpb25zLmZpbHRlcih2PT52LmlkIT09bSl9Y2xlYXJBY3Rpb25zKCl7dGhpcy5hY3Rpb25zPVtdfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxJVSh0aGlzLHApfXN0YXRpY3tJVShyLHQpfX07cmV0dXJuIHU9cn0pKCl9KTt2YXIgb3NhPWYoKCk9PntFWWUoKX0pO3ZhciBuc2EsbHNhPWYoKCk9PntsZSgpO25zYT1zKCgpPT53YAogIDxzdHlsZT4KICAgICR7WGAKICAgICAgLmRlbW8tYmFja2dyb3VuZCB7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDUlKSIpfTsKICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgICAgfQogICAgICAKICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgbWFyZ2luOiAzMnB4IDAgMTZweCAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgIH0KICAgICAgCiAgICAgIC5zZWN0aW9uLXRpdGxlOmZpcnN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICB9CiAgICAgIAogICAgICAuZ3JpZC1sYXlvdXQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQogICAgICAKICAgICAgLmdyaWQtM2NvbCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQogICAgICAKICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2OHB4KSB7CiAgICAgICAgLmdyaWQtM2NvbCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkLWxheW91dCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIGNvZGUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgcGFkZGluZzogMnB4IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CiAgICBgfQogIDwvc3R5bGU+CiAgCiAgPGRpdiBjbGFzcz0iZGVtby1iYWNrZ3JvdW5kIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5EZWZhdWx0IFBhbmVsczwvaDI+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiUGFuZWwgQ29tcG9uZW50In0gLnN1YnRpdGxlPSR7IlRoZSBkZWZhdWx0IHBhbmVsIHZhcmlhbnQgd2l0aCBzaGFkY24taW5zcGlyZWQgc3R5bGluZyJ9PgogICAgICAgIDxwPlRoZSBwYW5lbCBjb21wb25lbnQgYXV0b21hdGljYWxseSBmb2xsb3dzIHRoZSB0aGVtZSBhbmQgcHJvdmlkZXMgY29uc2lzdGVudCBzdHlsaW5nIGZvciBncm91cGVkIGNvbnRlbnQuPC9wPgogICAgICAgIDxwPkl0J3MgcGVyZmVjdCBmb3IgY3JlYXRpbmcgc2VjdGlvbnMgaW4geW91ciBhcHBsaWNhdGlvbiB3aXRoIHByb3BlciBzcGFjaW5nIGFuZCBib3JkZXJzLjwvcD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1sYXlvdXQiPgogICAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGZWF0dXJlIE92ZXJ2aWV3In0gLnN1YnRpdGxlPSR7IktleSBjYXBhYmlsaXRpZXMifT4KICAgICAgICAgIDxwPkdyaWQgbGF5b3V0cyB3b3JrIGdyZWF0IHdpdGggcGFuZWxzIGZvciBjcmVhdGluZyBkYXNoYm9hcmRzIGFuZCBmZWF0dXJlIHNlY3Rpb25zLjwvcD4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5MZWFybiBNb3JlPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2RlZXMtcGFuZWw+CiAgICAgICAgCiAgICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlF1aWNrIEFjdGlvbnMifSAuc3VidGl0bGU9JHsiQ29tbW9uIHRhc2tzIn0+CiAgICAgICAgICA8cD5FYWNoIHBhbmVsIG1haW50YWlucyBjb25zaXN0ZW50IHNwYWNpbmcgYW5kIHN0eWxpbmcgYWNyb3NzIHlvdXIgYXBwbGljYXRpb24uPC9wPgogICAgICAgICAgPGRlZXMtYnV0dG9uPkdldCBTdGFydGVkPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5QYW5lbCBWYXJpYW50czwvaDI+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiRGVmYXVsdCBWYXJpYW50In0gLnZhcmlhbnQ9JHsiZGVmYXVsdCJ9PgogICAgICAgIDxwPlRoZSBkZWZhdWx0IHZhcmlhbnQgaGFzIGEgd2hpdGUgYmFja2dyb3VuZCwgc3VidGxlIGJvcmRlciwgYW5kIG1pbmltYWwgc2hhZG93LiBJdCdzIHRoZSBzdGFuZGFyZCBjaG9pY2UgZm9yIG1vc3QgY29udGVudC48L3A+CiAgICAgICAgPHA+VXNlIDxjb2RlPnZhcmlhbnQ9ImRlZmF1bHQiPC9jb2RlPiBvciBvbWl0IHRoZSB2YXJpYW50IHByb3BlcnR5LjwvcD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ik91dGxpbmUgVmFyaWFudCJ9IC5zdWJ0aXRsZT0keyJUcmFuc3BhcmVudCBiYWNrZ3JvdW5kIHdpdGggYm9yZGVyIn0gLnZhcmlhbnQ9JHsib3V0bGluZSJ9PgogICAgICAgIDxwPlRoZSBvdXRsaW5lIHZhcmlhbnQgcmVtb3ZlcyB0aGUgYmFja2dyb3VuZCBjb2xvciBhbmQgc2hhZG93LCBrZWVwaW5nIG9ubHkgdGhlIGJvcmRlci48L3A+CiAgICAgICAgPHA+VXNlIDxjb2RlPnZhcmlhbnQ9Im91dGxpbmUiPC9jb2RlPiBmb3IgYSBsaWdodGVyIHZpc3VhbCB3ZWlnaHQuPC9wPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiR2hvc3QgVmFyaWFudCJ9IC5zdWJ0aXRsZT0keyJNaW5pbWFsIHN0eWxpbmcgZm9yIHN1YnRsZSBzZWN0aW9ucyJ9IC52YXJpYW50PSR7Imdob3N0In0+CiAgICAgICAgPHA+VGhlIGdob3N0IHZhcmlhbnQgaGFzIG5vIGJvcmRlciBvciBiYWNrZ3JvdW5kIGJ5IGRlZmF1bHQsIG9ubHkgc2hvd2luZyBhIHN1YnRsZSBiYWNrZ3JvdW5kIG9uIGhvdmVyLjwvcD4KICAgICAgICA8cD5Vc2UgPGNvZGU+dmFyaWFudD0iZ2hvc3QiPC9jb2RlPiBmb3IgdGhlIG1vc3QgbWluaW1hbCBhcHBlYXJhbmNlLjwvcD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5QYW5lbCBTaXplczwvaDI+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJncmlkLTNjb2wiPgogICAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJTbWFsbCBQYW5lbCJ9IC5zaXplPSR7InNtIn0+CiAgICAgICAgICA8cD5Db21wYWN0IHBhZGRpbmcgZm9yIGRlbnNlIGxheW91dHMuPC9wPgogICAgICAgICAgPHA+VXNlIDxjb2RlPnNpemU9InNtIjwvY29kZT48L3A+CiAgICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAgIAogICAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJNZWRpdW0gUGFuZWwifSAuc2l6ZT0keyJtZCJ9PgogICAgICAgICAgPHA+RGVmYXVsdCBzaXplIHdpdGggYmFsYW5jZWQgc3BhY2luZy48L3A+CiAgICAgICAgICA8cD5Vc2UgPGNvZGU+c2l6ZT0ibWQiPC9jb2RlPiBvciBvbWl0LjwvcD4KICAgICAgICA8L2RlZXMtcGFuZWw+CiAgICAgICAgCiAgICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkxhcmdlIFBhbmVsIn0gLnNpemU9JHsibGcifT4KICAgICAgICAgIDxwPkdlbmVyb3VzIHBhZGRpbmcgZm9yIHByb21pbmVudCBzZWN0aW9ucy48L3A+CiAgICAgICAgICA8cD5Vc2UgPGNvZGU+c2l6ZT0ibGciPC9jb2RlPjwvcD4KICAgICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Db21wbGV4IEV4YW1wbGVzPC9oMj4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGb3JtIEV4YW1wbGUifSAuc3VidGl0bGU9JHsiUGFuZWxzIHdvcmsgZ3JlYXQgZm9yIG9yZ2FuaXppbmcgZm9ybSBzZWN0aW9ucyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJQcm9qZWN0IE5hbWUifSAucmVxdWlyZWQ9JHshMH0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJEZXNjcmlwdGlvbiJ9IC5pbnB1dFR5cGU9JHsidGV4dGFyZWEifT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duIAogICAgICAgICAgICAubGFiZWw9JHsiQ2F0ZWdvcnkifSAKICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiV2ViIERldmVsb3BtZW50IixrZXk6IndlYiJ9LHtvcHRpb246Ik1vYmlsZSBBcHAiLGtleToibW9iaWxlIn0se29wdGlvbjoiRGVza3RvcCBTb2Z0d2FyZSIsa2V5OiJkZXNrdG9wIn1dfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PkNyZWF0ZSBQcm9qZWN0PC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiTmVzdGVkIFBhbmVscyJ9IC5zdWJ0aXRsZT0keyJQYW5lbHMgY2FuIGJlIG5lc3RlZCBmb3IgaGllcmFyY2hpY2FsIG9yZ2FuaXphdGlvbiJ9PgogICAgICAgIDxwPllvdSBjYW4gbmVzdCBwYW5lbHMgdG8gY3JlYXRlIG1vcmUgY29tcGxleCBsYXlvdXRzOjwvcD4KICAgICAgICAKICAgICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiTmVzdGVkIFBhbmVsIDEifSAudmFyaWFudD0keyJvdXRsaW5lIn0gLnNpemU9JHsic20ifT4KICAgICAgICAgIDxwPlRoaXMgaXMgYSBuZXN0ZWQgcGFuZWwgd2l0aCBvdXRsaW5lIHZhcmlhbnQgYW5kIHNtYWxsIHNpemUuPC9wPgogICAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgICAKICAgICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiTmVzdGVkIFBhbmVsIDIifSAudmFyaWFudD0keyJnaG9zdCJ9IC5zaXplPSR7InNtIn0+CiAgICAgICAgICA8cD5UaGlzIGlzIGFub3RoZXIgbmVzdGVkIHBhbmVsIHdpdGggZ2hvc3QgdmFyaWFudC48L3A+CiAgICAgICAgPC9kZWVzLXBhbmVsPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlVudGl0bGVkIFBhbmVsczwvaDI+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbD4KICAgICAgICA8cD5QYW5lbHMgd29yayBncmVhdCBldmVuIHdpdGhvdXQgYSB0aXRsZSBmb3Igc2ltcGxlIGNvbnRlbnQgZ3JvdXBpbmcuPC9wPgogICAgICAgIDxwPlRoZXkgcHJvdmlkZSB2aXN1YWwgc2VwYXJhdGlvbiBhbmQgY29uc2lzdGVudCBwYWRkaW5nIHRocm91Z2hvdXQgeW91ciBpbnRlcmZhY2UuPC9wPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJncmlkLWxheW91dCI+CiAgICAgICAgPGRlZXMtcGFuZWwgLnZhcmlhbnQ9JHsib3V0bGluZSJ9PgogICAgICAgICAgPGg0IHN0eWxlPSJtYXJnaW4tdG9wOiAwOyI+Q3VzdG9tIENvbnRlbnQ8L2g0PgogICAgICAgICAgPHA+WW91IGNhbiBhZGQgeW91ciBvd24gaGVhZGluZ3MgYW5kIHN0cnVjdHVyZSB3aXRoaW4gdW50aXRsZWQgcGFuZWxzLjwvcD4KICAgICAgICA8L2RlZXMtcGFuZWw+CiAgICAgICAgCiAgICAgICAgPGRlZXMtcGFuZWwgLnZhcmlhbnQ9JHsiZ2hvc3QifT4KICAgICAgICAgIDxoNCBzdHlsZT0ibWFyZ2luLXRvcDogMDsiPk1pbmltYWwgU3R5bGU8L2g0PgogICAgICAgICAgPHA+R2hvc3QgcGFuZWxzIHdpdGhvdXQgdGl0bGVzIGNyZWF0ZSB2ZXJ5IHN1YnRsZSBjb250ZW50IHNlY3Rpb25zLjwvcD4KICAgICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgRCRhLEEkYSxQWWUsUXRlLHBhLExmLEUkYSxQJGEsY3NhLEkkYSxOJGEsRUVpLFBFaSxmcz1mKCgpPT57bGUoKTtEJGE9IkdlaXN0IFNhbnMiLEEkYT0iSW50ZWwgT25lIE1vbm8iLFBZZT1gJyR7RCRhfScsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsICdPeHlnZW4nLCAnVWJ1bnR1JywgJ0NhbnRhcmVsbCcsICdGaXJhIFNhbnMnLCAnRHJvaWQgU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWZgLFF0ZT1gJyR7QSRhfScsICdTRiBNb25vJywgJ01vbmFjbycsICdJbmNvbnNvbGF0YScsICdGaXJhIENvZGUnLCAnRmlyYSBNb25vJywgJ0Ryb2lkIFNhbnMgTW9ubycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZWAscGE9b2EoUFllKSxMZj1vYShRdGUpLEUkYT0iQ2FsIFNhbnMiLFAkYT1gJyR7RSRhfScsICR7UFllfWAsY3NhPW9hKFAkYSksSSRhPSJSb2JvdG8gU2xhYiIsTiRhPWAnJHtJJGF9JywgR2VvcmdpYSwgc2VyaWZgLEVFaT1vYShOJGEpLFBFaT1vYShgCiAgZm9udC1mYW1pbHk6ICR7UFllfTsKICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2N2MTEnLCAndG51bScsICdjdjA1JyAxOwpgKX0pO3ZhciBubSxUMSxkc2EsVXM9ZigoKT0+e2xlKCk7bHNhKCk7ZnMoKTtRZSgpO25tPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxUMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sZHNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1wYW5lbCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdO3ZhciBOPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzUGFuZWwiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHthdHRyaWJ1dGU6ITF9KV0sbm0odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aXRsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4idGl0bGUiaW4geiwiaGFzIiksZ2V0OnMoej0+ei50aXRsZSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnRpdGxlPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbixsKSxubSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN1YnRpdGxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzdWJ0aXRsZSJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnN1YnRpdGxlLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc3VidGl0bGU9T30sInNldCIpfSxtZXRhZGF0YTpffSxjLHApLG5tKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFyaWFudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4idmFyaWFudCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnZhcmlhbnQsImdldCIpLHNldDpzKCh6LE8pPT57ei52YXJpYW50PU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbSx2KSxubSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNpemUiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5zaXplLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc2l6ZT1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGIsZyksbm0odGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJydW5BZnRlclJlbmRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4icnVuQWZ0ZXJSZW5kZXIiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5ydW5BZnRlclJlbmRlciwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnJ1bkFmdGVyUmVuZGVyPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sayxDKSxubShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpffSxudWxsLHQpLE49cj1lLnZhbHVlLF8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6X30pfXN0YXRpYyBkZW1vPW5zYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkxheW91dCJdOyNlPVQxKHRoaXMsbiwiIik7Z2V0IHRpdGxlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHRpdGxlKF8pe3RoaXMuI2U9X30jdD0oVDEodGhpcyxsKSxUMSh0aGlzLGMsIiIpKTtnZXQgc3VidGl0bGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc3VidGl0bGUoXyl7dGhpcy4jdD1ffSNhPShUMSh0aGlzLHApLFQxKHRoaXMsbSwiZGVmYXVsdCIpKTtnZXQgdmFyaWFudCgpe3JldHVybiB0aGlzLiNhfXNldCB2YXJpYW50KF8pe3RoaXMuI2E9X30jcj0oVDEodGhpcyx2KSxUMSh0aGlzLGIsIm1kIikpO2dldCBzaXplKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHNpemUoXyl7dGhpcy4jcj1ffSNzPShUMSh0aGlzLGcpLFQxKHRoaXMsayx2b2lkIDApKTtnZXQgcnVuQWZ0ZXJSZW5kZXIoKXtyZXR1cm4gdGhpcy4jc31zZXQgcnVuQWZ0ZXJSZW5kZXIoXyl7dGhpcy4jcz1ffXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7cGF9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDMuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfQoKICAgICAgLyogVmFyaWFudDogZGVmYXVsdCAqLwogICAgICA6aG9zdChbdmFyaWFudD0iZGVmYXVsdCJdKSB7CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgaHNsKDAgMCUgMCUgLyAwLjA1KTsKICAgICAgfQoKICAgICAgLyogVmFyaWFudDogb3V0bGluZSAqLwogICAgICA6aG9zdChbdmFyaWFudD0ib3V0bGluZSJdKSB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsKICAgICAgfQoKICAgICAgLyogVmFyaWFudDogZ2hvc3QgKi8KICAgICAgOmhvc3QoW3ZhcmlhbnQ9Imdob3N0Il0pIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgfQoKICAgICAgLyogU2l6ZSB2YXJpYXRpb25zICovCiAgICAgIDpob3N0KFtzaXplPSJzbSJdKSB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgfQoKICAgICAgOmhvc3QoW3NpemU9ImxnIl0pIHsKICAgICAgICBwYWRkaW5nOiAzMnB4OwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuaGVhZGVyOmVtcHR5IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgIH0KCiAgICAgIC8qIFRpdGxlIHNpemUgdmFyaWF0aW9ucyAqLwogICAgICA6aG9zdChbc2l6ZT0ic20iXSkgLnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtzaXplPSJsZyJdKSAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgfQoKICAgICAgLnN1YnRpdGxlIHsKICAgICAgICBtYXJnaW46IDRweCAwIDAgMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwNmVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgIH0KCiAgICAgIC8qIFN1YnRpdGxlIHNpemUgdmFyaWF0aW9ucyAqLwogICAgICA6aG9zdChbc2l6ZT0ic20iXSkgLnN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtzaXplPSJsZyJdKSAuc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICBtYXJnaW4tdG9wOiA2cHg7CiAgICAgIH0KCiAgICAgIC5jb250ZW50IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgMjYuNyUpIiwiaHNsKDIxNy45IDEwLjYlIDg0LjklKSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgfQoKICAgICAgLyogQ29udGVudCBzaXplIHZhcmlhdGlvbnMgKi8KICAgICAgOmhvc3QoW3NpemU9InNtIl0pIC5jb250ZW50IHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtzaXplPSJsZyJdKSAuY29udGVudCB7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICB9CgogICAgICAvKiBSZW1vdmUgbWFyZ2lucyBmcm9tIGZpcnN0IGFuZCBsYXN0IGNoaWxkcmVuICovCiAgICAgIC5jb250ZW50IDo6c2xvdHRlZCgqOmZpcnN0LWNoaWxkKSB7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgfQoKICAgICAgLmNvbnRlbnQgOjpzbG90dGVkKCo6bGFzdC1jaGlsZCkgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC8qIEludGVyYWN0aXZlIHN0YXRlcyBmb3IgZGVmYXVsdCB2YXJpYW50ICovCiAgICAgIDpob3N0KFt2YXJpYW50PSJkZWZhdWx0Il06aG92ZXIpIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggNnB4IC0xcHggaHNsKDAgMCUgMCUgLyAwLjEpLCAwIDJweCA0cHggLTJweCBoc2woMCAwJSAwJSAvIDAuMSk7CiAgICAgIH0KCiAgICAgIC8qIEludGVyYWN0aXZlIHN0YXRlcyBmb3Igb3V0bGluZSB2YXJpYW50ICovCiAgICAgIDpob3N0KFt2YXJpYW50PSJvdXRsaW5lIl06aG92ZXIpIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk4JSkiLCJoc2woMCAwJSA3LjglKSIpfTsKICAgICAgfQoKICAgICAgLyogSW50ZXJhY3RpdmUgc3RhdGVzIGZvciBnaG9zdCB2YXJpYW50ICovCiAgICAgIDpob3N0KFt2YXJpYW50PSJnaG9zdCJdOmhvdmVyKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgfQoKICAgICAgLyogRm9jdXMgc3RhdGVzICovCiAgICAgIDpob3N0KDpmb2N1cy13aXRoaW4pIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4xKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC8qIE5lc3RlZCBwYW5lbHMgc3BhY2luZyAqLwogICAgICA6OnNsb3R0ZWQoZGVlcy1wYW5lbCkgewogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgIH0KCiAgICAgIDo6c2xvdHRlZChkZWVzLXBhbmVsOmZpcnN0LWNoaWxkKSB7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgJHt0aGlzLnRpdGxlP3dgPGgzIGNsYXNzPSJ0aXRsZSI+JHt0aGlzLnRpdGxlfTwvaDM+YDoiIn0KICAgICAgICAke3RoaXMuc3VidGl0bGU/d2A8cCBjbGFzcz0ic3VidGl0bGUiPiR7dGhpcy5zdWJ0aXRsZX08L3A+YDoiIn0KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPgogICAgICAgIDxzbG90Pjwvc2xvdD4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe3RoaXMucnVuQWZ0ZXJSZW5kZXImJmF3YWl0IHRoaXMucnVuQWZ0ZXJSZW5kZXIodGhpcyl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFQxKHRoaXMsQyl9c3RhdGlje1QxKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciB1c2EsSVllLHBzYSxmc2E9ZigoKT0+e2xlKCk7TmEoKTtVcygpO0lZZT1zKGE9PkFycmF5LmZyb20oe2xlbmd0aDphfSwoZSx0KT0+KHtpZDp0LHVzYWdlOk1hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxMDApLGxhYmVsOmAke3R9YH0pKSwiZ2VuZXJhdGVDcHVDb3JlcyIpLHBzYT1zKCgpPT53KHVzYXx8KHVzYT1VNShbYAogIDxkZWVzLWRlbW93cmFwcGVyPgogICAgPHN0eWxlPgogICAgICBgLGAKICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLXN0YXRzZ3JpZAogICAgICAgICAgLnRpbGVzPWAsYAogICAgICAgICAgLmdyaWRBY3Rpb25zPWAsYAogICAgICAgICAgLm1pblRpbGVXaWR0aD1gLGAKICAgICAgICAgIC5nYXA9YCxgCiAgICAgICAgPjwvZGVlcy1zdGF0c2dyaWQ+CiAgICAgICAgCiAgICAgICAgPGRpdiBpZD0iYWN0aW9uLW91dHB1dCIgc3R5bGU9Im1hcmdpbi10b3A6IDE2cHg7IHBhZGRpbmc6IDEycHg7IGJhY2tncm91bmQ6IGAsIjsgYm9yZGVyLXJhZGl1czogNnB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IGNvbG9yOiAiLGA7Ij4KICAgICAgICAgIDxlbT5DbGljayBvbiB0aWxlIGFjdGlvbnMgb3IgZ3JpZCBhY3Rpb25zIHRvIHNlZSB0aGUgcmVzdWx0Li4uPC9lbT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLXN0YXRzZ3JpZAogICAgICAgICAgLnRpbGVzPWAsYAogICAgICAgICAgLm1pblRpbGVXaWR0aD1gLGAKICAgICAgICAgIC5nYXA9YCxgCiAgICAgICAgPjwvZGVlcy1zdGF0c2dyaWQ+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1jb25maWciPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29uZmlnLXNlY3Rpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25maWctdGl0bGUiPkNvbmZpZ3VyYXRpb24gT3B0aW9uczwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25maWctZGVzY3JpcHRpb24iPgogICAgICAgICAgICAgIEVhY2ggdGlsZSB0eXBlIHN1cHBvcnRzIGRpZmZlcmVudCBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luOiA4cHggMDsgcGFkZGluZy1sZWZ0OiAyMHB4OyI+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5OdW1iZXI6PC9zdHJvbmc+IHZhbHVlLCB1bml0LCBjb2xvciwgZGVzY3JpcHRpb248L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+R2F1Z2U6PC9zdHJvbmc+IHZhbHVlLCB1bml0LCBnYXVnZU9wdGlvbnMgKG1pbiwgbWF4LCB0aHJlc2hvbGRzKTwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5QZXJjZW50YWdlOjwvc3Ryb25nPiB2YWx1ZSAoMC0xMDApLCBjb2xvciwgZGVzY3JpcHRpb248L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+VHJlbmQ6PC9zdHJvbmc+IHZhbHVlLCB1bml0LCB0cmVuZERhdGEgYXJyYXksIGRlc2NyaXB0aW9uPC9saT4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPlRleHQ6PC9zdHJvbmc+IHZhbHVlIChzdHJpbmcpLCBjb2xvciwgZGVzY3JpcHRpb248L2xpPgogICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8aDQgc3R5bGU9Im1hcmdpbjogMCAwIDE2cHggMDsgZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogNjAwOyI+Q29tcGFjdCBMYXlvdXQgKDE4MHB4IHRpbGVzKTwvaDQ+CiAgICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgICAudGlsZXM9YCxgCiAgICAgICAgICAubWluVGlsZVdpZHRoPWAsYAogICAgICAgICAgLmdhcD1gLGAKICAgICAgICA+PC9kZWVzLXN0YXRzZ3JpZD4KICAgICAgICAKICAgICAgICA8aDQgc3R5bGU9Im1hcmdpbjogMjRweCAwIDE2cHggMDsgZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogNjAwOyI+U3BhY2lvdXMgTGF5b3V0ICgzMjBweCB0aWxlcyk8L2g0PgogICAgICAgIDxkZWVzLXN0YXRzZ3JpZAogICAgICAgICAgLnRpbGVzPWAsYAogICAgICAgICAgLm1pblRpbGVXaWR0aD1gLGAKICAgICAgICAgIC5nYXA9YCxgCiAgICAgICAgPjwvZGVlcy1zdGF0c2dyaWQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1zdGF0c2dyaWQKICAgICAgICAgIGlkPSJjcHUtY29yZXMtZ3JpZCIKICAgICAgICAgIC50aWxlcz1gLGAKICAgICAgICAgIC5ncmlkQWN0aW9ucz1gLGAKICAgICAgICAgIC5taW5UaWxlV2lkdGg9YCxgCiAgICAgICAgICAuZ2FwPWAsYAogICAgICAgID48L2RlZXMtc3RhdHNncmlkPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgICBpZD0iaW50ZXJhY3RpdmUtZ3JpZCIKICAgICAgICAgIC50aWxlcz1gLGAKICAgICAgICAgIC5ncmlkQWN0aW9ucz1gLGAKICAgICAgICAgIC5taW5UaWxlV2lkdGg9YCxgCiAgICAgICAgICAuZ2FwPWAsYAogICAgICAgID48L2RlZXMtc3RhdHNncmlkPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1ibG9jayI+YCxgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1zdGF0c2dyaWQKICAgICAgICAgIC50aWxlcz1gLGAKICAgICAgICAgIC5taW5UaWxlV2lkdGg9YCxgCiAgICAgICAgICAuZ2FwPWAsYAogICAgICAgID48L2RlZXMtc3RhdHNncmlkPgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWNvbmZpZyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25maWctc2VjdGlvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbmZpZy10aXRsZSI+UGFydGl0aW9uIFRpbGUgUHJvcGVydGllczwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25maWctZGVzY3JpcHRpb24iPgogICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luOiA4cHggMDsgcGFkZGluZy1sZWZ0OiAyMHB4OyI+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5wYXJ0aXRpb25EYXRhLnVzZWQ6PC9zdHJvbmc+IFVzZWQgc3BhY2UgaW4gYnl0ZXMgKGF1dG8tZm9ybWF0dGVkKTwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5wYXJ0aXRpb25EYXRhLnRvdGFsOjwvc3Ryb25nPiBUb3RhbCBjYXBhY2l0eSBpbiBieXRlczwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5wYXJ0aXRpb25EYXRhLmZpbGVzeXN0ZW06PC9zdHJvbmc+IEZpbGVzeXN0ZW0gdHlwZSAoZXh0NCwgeGZzLCBudGZzKTwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5wYXJ0aXRpb25EYXRhLm1vdW50UG9pbnQ6PC9zdHJvbmc+IE1vdW50IHBvaW50IHBhdGggKG9wdGlvbmFsKTwvbGk+CiAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICBDb2xvciB0aHJlc2hvbGRzOiBOb3JtYWwgKCZsdDs3NSUpLCBXYXJuaW5nICg3NS05MCUpLCBDcml0aWNhbCAoJmd0OzkwJSkKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbmZpZy1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29uZmlnLXRpdGxlIj5EaXNrIFRpbGUgUHJvcGVydGllczwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25maWctZGVzY3JpcHRpb24iPgogICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luOiA4cHggMDsgcGFkZGluZy1sZWZ0OiAyMHB4OyI+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5kaXNrRGF0YS5jYXBhY2l0eTo8L3N0cm9uZz4gVG90YWwgY2FwYWNpdHkgaW4gYnl0ZXM8L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+ZGlza0RhdGEubW9kZWw6PC9zdHJvbmc+IERpc2sgbW9kZWwgbmFtZSAob3B0aW9uYWwpPC9saT4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPmRpc2tEYXRhLnR5cGU6PC9zdHJvbmc+IERpc2sgdHlwZTogJ3NzZCcsICdoZGQnLCBvciAnbnZtZSc8L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+ZGlza0RhdGEuaW9wczo8L3N0cm9uZz4gUmVhZC93cml0ZSBJT1BTIChvcHRpb25hbCk8L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+ZGlza0RhdGEuaGVhbHRoOjwvc3Ryb25nPiBIZWFsdGggcGVyY2VudGFnZSAwLTEwMCAob3B0aW9uYWwpPC9saT4KICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgIEhlYWx0aCB0aHJlc2hvbGRzOiBHb29kICg3MC0xMDAlKSwgV2FybmluZyAoMzAtNzAlKSwgQ3JpdGljYWwgKCZsdDszMCUpCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgoKICAgIDxzY3JpcHQ+CiAgICAgIC8vIENsZWFudXAgbGl2ZSB1cGRhdGVzIG9uIHBhZ2UgdW5sb2FkCiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdiZWZvcmV1bmxvYWQnLCAoKSA9PiB7CiAgICAgICAgaWYgKCh3aW5kb3cgYXMgYW55KS5saXZlVXBkYXRlSW50ZXJ2YWwpIHsKICAgICAgICAgIGNsZWFySW50ZXJ2YWwoKHdpbmRvdyBhcyBhbnkpLmxpdmVVcGRhdGVJbnRlcnZhbCk7CiAgICAgICAgfQogICAgICB9KTsKICAgIDxcL3NjcmlwdD4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgYF0pKSxYYAogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDE0MDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAudGlsZS1jb25maWcgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMzAwcHgsIDFmcikpOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmNvbmZpZy1zZWN0aW9uIHsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5jb25maWctdGl0bGUgewogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5jb25maWctZGVzY3JpcHRpb24gewogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5jb2RlLWJsb2NrIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlOwogICAgICAgIH0KICAgICAgYCwiMS4gQ29tcHJlaGVuc2l2ZSBEYXNoYm9hcmQiLCJGdWxsLWZlYXR1cmVkIHN0YXRzIGdyaWQgd2l0aCB2YXJpb3VzIHRpbGUgdHlwZXMsIGFjdGlvbnMsIGFuZCBMdWNpZGUgaWNvbnMiLFt7aWQ6InJldmVudWUiLHRpdGxlOiJUb3RhbCBSZXZlbnVlIix2YWx1ZToxMjU0MjAsdW5pdDoiJCIsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6ZG9sbGFyLXNpZ24iLGRlc2NyaXB0aW9uOiIrMTIuNSUgZnJvbSBsYXN0IG1vbnRoIixhY3Rpb25zOlt7bmFtZToiVmlldyBEZXRhaWxzIixpY29uTmFtZToibHVjaWRlOnRyZW5kaW5nLXVwIixhY3Rpb246cyhhc3luYygpPT57bGV0IGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2FjdGlvbi1vdXRwdXQiKTthJiYoYS50ZXh0Q29udGVudD0iVmlld2luZyByZXZlbnVlIGRldGFpbHM6ICQxMjUsNDIwICgrMTIuNSUpIil9LCJhY3Rpb24iKX0se25hbWU6IkV4cG9ydCBEYXRhIixpY29uTmFtZToibHVjaWRlOmRvd25sb2FkIixhY3Rpb246cyhhc3luYygpPT57bGV0IGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2FjdGlvbi1vdXRwdXQiKTthJiYoYS50ZXh0Q29udGVudD0iRXhwb3J0aW5nIHJldmVudWUgZGF0YSB0byBDU1YuLi4iKX0sImFjdGlvbiIpfV19LHtpZDoidXNlcnMiLHRpdGxlOiJBY3RpdmUgVXNlcnMiLHZhbHVlOjM4NDcsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6dXNlcnMiLGRlc2NyaXB0aW9uOiIzMjQgbmV3IHRoaXMgd2VlayIsYWN0aW9uczpbe25hbWU6IlZpZXcgVXNlciBMaXN0IixpY29uTmFtZToibHVjaWRlOmxpc3QiLGFjdGlvbjpzKGFzeW5jKCk9PntsZXQgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWN0aW9uLW91dHB1dCIpO2EmJihhLnRleHRDb250ZW50PSJPcGVuaW5nIHVzZXIgbGlzdC4uLiIpfSwiYWN0aW9uIil9XX0se2lkOiJjcHUiLHRpdGxlOiJDUFUgVXNhZ2UiLHZhbHVlOjczLHVuaXQ6IiUiLHR5cGU6ImdhdWdlIixpY29uOiJsdWNpZGU6Y3B1IixnYXVnZU9wdGlvbnM6e21pbjowLG1heDoxMDAsdGhyZXNob2xkczpbe3ZhbHVlOjAsY29sb3I6ImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkifSx7dmFsdWU6NjAsY29sb3I6ImhzbCg0NS40IDkzLjQlIDQ3LjUlKSJ9LHt2YWx1ZTo4MCxjb2xvcjoiaHNsKDAgODQuMiUgNjAuMiUpIn1dfX0se2lkOiJzdG9yYWdlIix0aXRsZToiU3RvcmFnZSBVc2VkIix2YWx1ZTo2NSx0eXBlOiJwZXJjZW50YWdlIixpY29uOiJsdWNpZGU6aGFyZC1kcml2ZSIsZGVzY3JpcHRpb246IjY1MCBHQiBvZiAxIFRCIn0se2lkOiJsYXRlbmN5Iix0aXRsZToiUmVzcG9uc2UgVGltZSIsdmFsdWU6MTQyLHVuaXQ6Im1zIix0eXBlOiJ0cmVuZCIsaWNvbjoibHVjaWRlOmFjdGl2aXR5Iix0cmVuZERhdGE6WzE1MCwxNDUsMTQ4LDE0MiwxMzgsMTQwLDEzNSwxNDUsMTQyXSxkZXNjcmlwdGlvbjoiUDk1In0se2lkOiJ1cHRpbWUiLHRpdGxlOiJTeXN0ZW0gVXB0aW1lIix2YWx1ZToiOTkuOTUlIix0eXBlOiJ0ZXh0IixpY29uOiJsdWNpZGU6Y2hlY2stY2lyY2xlIixjb2xvcjoiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIsZGVzY3JpcHRpb246Ikxhc3QgMzAgZGF5cyJ9XSxbe25hbWU6IlJlZnJlc2giLGljb25OYW1lOiJsdWNpZGU6cmVmcmVzaC1jdyIsYWN0aW9uOnMoYXN5bmMoKT0+e2xldCBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImRlZXMtc3RhdHNncmlkIik7YSYmKGEuc3R5bGUub3BhY2l0eT0iMC41IixzZXRUaW1lb3V0KCgpPT57YS5zdHlsZS5vcGFjaXR5PSIxIn0sMzAwKSl9LCJhY3Rpb24iKX0se25hbWU6IkV4cG9ydCIsaWNvbk5hbWU6Imx1Y2lkZTpzaGFyZSIsYWN0aW9uOnMoYXN5bmMoKT0+e2xldCBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhY3Rpb24tb3V0cHV0Iik7YSYmKGEudGV4dENvbnRlbnQ9IkV4cG9ydGluZyBkYXNoYm9hcmQgcmVwb3J0Li4uIil9LCJhY3Rpb24iKX0se25hbWU6IlNldHRpbmdzIixpY29uTmFtZToibHVjaWRlOnNldHRpbmdzIixhY3Rpb246cyhhc3luYygpPT57bGV0IGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2FjdGlvbi1vdXRwdXQiKTthJiYoYS50ZXh0Q29udGVudD0iT3BlbmluZyBkYXNoYm9hcmQgc2V0dGluZ3MuLi4iKX0sImFjdGlvbiIpfV0sMjUwLDE2LGguYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKSxoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIiksIjIuIFRpbGUgVHlwZXMiLCJEaWZmZXJlbnQgdmlzdWFsaXphdGlvbiB0eXBlcyBhdmFpbGFibGUgaW4gdGhlIHN0YXRzIGdyaWQiLFt7aWQ6Im51bWJlci1leGFtcGxlIix0aXRsZToiTnVtYmVyIFRpbGUiLHZhbHVlOjQyMTk1LHVuaXQ6IiQiLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOmhhc2giLGRlc2NyaXB0aW9uOiJTaW1wbGUgbnVtZXJpYyBkaXNwbGF5In0se2lkOiJnYXVnZS1leGFtcGxlIix0aXRsZToiR2F1Z2UgVGlsZSIsdmFsdWU6NjgsdW5pdDoiJSIsdHlwZToiZ2F1Z2UiLGljb246Imx1Y2lkZTpnYXVnZSIsZ2F1Z2VPcHRpb25zOnttaW46MCxtYXg6MTAwLHRocmVzaG9sZHM6W3t2YWx1ZTowLGNvbG9yOiJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIn0se3ZhbHVlOjUwLGNvbG9yOiJoc2woNDUuNCA5My40JSA0Ny41JSkifSx7dmFsdWU6ODAsY29sb3I6ImhzbCgwIDg0LjIlIDYwLjIlKSJ9XX19LHtpZDoicGVyY2VudGFnZS1leGFtcGxlIix0aXRsZToiUGVyY2VudGFnZSBUaWxlIix2YWx1ZTo3OCx0eXBlOiJwZXJjZW50YWdlIixpY29uOiJsdWNpZGU6cGVyY2VudCIsZGVzY3JpcHRpb246IlByb2dyZXNzIGJhciB2aXN1YWxpemF0aW9uIn0se2lkOiJ0cmVuZC1leGFtcGxlIix0aXRsZToiVHJlbmQgVGlsZSIsdmFsdWU6ODkyLHVuaXQ6Im9wcy9zIix0eXBlOiJ0cmVuZCIsaWNvbjoibHVjaWRlOnRyZW5kaW5nLXVwIix0cmVuZERhdGE6WzcyMCw3NTAsNzgwLDc5NSw4MTAsODM1LDg1MCw4NjUsODgwLDg5Ml0sZGVzY3JpcHRpb246ImF2ZyJ9LHtpZDoidGV4dC1leGFtcGxlIix0aXRsZToiVGV4dCBUaWxlIix2YWx1ZToiT3BlcmF0aW9uYWwiLHR5cGU6InRleHQiLGljb246Imx1Y2lkZTppbmZvIixjb2xvcjoiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIsZGVzY3JpcHRpb246IlN0YXR1cyBkaXNwbGF5In1dLDI4MCwxNiwiMy4gR3JpZCBDb25maWd1cmF0aW9ucyIsIkRpZmZlcmVudCBsYXlvdXQgb3B0aW9ucyBhbmQgcmVzcG9uc2l2ZSBiZWhhdmlvciIsW3tpZDoiMSIsdGl0bGU6Ik9yZGVycyIsdmFsdWU6MTU2LHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOnNob3BwaW5nLWNhcnQifSx7aWQ6IjIiLHRpdGxlOiJSZXZlbnVlIix2YWx1ZTo4NDIwLHVuaXQ6IiQiLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOmRvbGxhci1zaWduIn0se2lkOiIzIix0aXRsZToiVXNlcnMiLHZhbHVlOjQyMyx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTp1c2VycyJ9LHtpZDoiNCIsdGl0bGU6Ikdyb3d0aCIsdmFsdWU6MTIuNSx1bml0OiIlIix0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTp0cmVuZGluZy11cCIsY29sb3I6ImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkifV0sMTgwLDEyLFt7aWQ6InNwYWNpb3VzMSIsdGl0bGU6Ik1vbnRobHkgUmV2ZW51ZSIsdmFsdWU6MTg0NTAwLHVuaXQ6IiQiLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOmNyZWRpdC1jYXJkIixkZXNjcmlwdGlvbjoiVG90YWwgcmV2ZW51ZSB0aGlzIG1vbnRoIn0se2lkOiJzcGFjaW91czIiLHRpdGxlOiJDdXN0b21lciBTYXRpc2ZhY3Rpb24iLHZhbHVlOjk0LHR5cGU6InBlcmNlbnRhZ2UiLGljb246Imx1Y2lkZTpzbWlsZSIsZGVzY3JpcHRpb246IkJhc2VkIG9uIDEsMjM0IHJldmlld3MifSx7aWQ6InNwYWNpb3VzMyIsdGl0bGU6IlNlcnZlciBSZXNwb25zZSIsdmFsdWU6OTgsdW5pdDoibXMiLHR5cGU6InRyZW5kIixpY29uOiJsdWNpZGU6c2VydmVyIix0cmVuZERhdGE6WzEwNSwxMDIsMTAwLDk5LDk4LDk4LDk3LDk4XSxkZXNjcmlwdGlvbjoiYXZnIHJlc3BvbnNlIHRpbWUifV0sMzIwLDIwLCI0LiBDUFUgQ29yZXMgVmlzdWFsaXphdGlvbiIsIlZlcnRpY2FsIGJhciB2aXN1YWxpemF0aW9uIGZvciBtdWx0aS1jb3JlIENQVSB1c2FnZSB3aXRoIGNvbHVtbiBzcGFubmluZyIsW3tpZDoiY3B1LWNvcmVzLTgiLHRpdGxlOiJDUFUgQ29yZXMgKDgtY29yZSkiLHZhbHVlOjAsdHlwZToiY3B1Q29yZXMiLGljb246Imx1Y2lkZTpjcHUiLGNvbHVtblNwYW46Mixjb3Jlc0RhdGE6SVllKDgpLGRlc2NyaXB0aW9uOiJJbnRlbCBpNyAtIDggY29yZXMifSx7aWQ6Im1lbW9yeSIsdGl0bGU6Ik1lbW9yeSBVc2FnZSIsdmFsdWU6NjgsdHlwZToicGVyY2VudGFnZSIsaWNvbjoibHVjaWRlOmRhdGFiYXNlIixkZXNjcmlwdGlvbjoiMTMuNiBHQiBvZiAyMCBHQiJ9LHtpZDoiY3B1LWNvcmVzLTE2Iix0aXRsZToiQ1BVIENvcmVzICgxNi1jb3JlKSIsdmFsdWU6MCx0eXBlOiJjcHVDb3JlcyIsaWNvbjoibHVjaWRlOmNwdSIsY29sdW1uU3BhbjoyLGNvcmVzRGF0YTpJWWUoMTYpLGRlc2NyaXB0aW9uOiJBTUQgUnl6ZW4gOSAtIDE2IGNvcmVzIn0se2lkOiJuZXR3b3JrIix0aXRsZToiTmV0d29yayBJL08iLHZhbHVlOjI0NSx1bml0OiJNQi9zIix0eXBlOiJ0cmVuZCIsaWNvbjoibHVjaWRlOm5ldHdvcmsiLHRyZW5kRGF0YTpbMjAwLDIyMCwyMzUsMjQwLDIzOCwyNDVdLGRlc2NyaXB0aW9uOiJ0aHJvdWdocHV0In0se2lkOiJjcHUtY29yZXMtMzIiLHRpdGxlOiJTZXJ2ZXIgQ1BVICgzMi1jb3JlKSIsdmFsdWU6MCx0eXBlOiJjcHVDb3JlcyIsaWNvbjoibHVjaWRlOnNlcnZlciIsY29sdW1uU3BhbjozLGNvcmVzRGF0YTpJWWUoMzIpLGRlc2NyaXB0aW9uOiJBTUQgRVBZQyAtIDMyIGNvcmVzIn0se2lkOiJkaXNrIix0aXRsZToiRGlzayBVc2FnZSIsdmFsdWU6NDIsdHlwZToicGVyY2VudGFnZSIsaWNvbjoibHVjaWRlOmhhcmQtZHJpdmUiLGRlc2NyaXB0aW9uOiI0MjAgR0Igb2YgMSBUQiJ9XSxbe25hbWU6IlJhbmRvbWl6ZSIsaWNvbk5hbWU6Imx1Y2lkZTpzaHVmZmxlIixhY3Rpb246cyhhc3luYygpPT57bGV0IGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2NwdS1jb3Jlcy1ncmlkIik7aWYoIWEpcmV0dXJuO2xldCBlPWEudGlsZXMubWFwKHQ9PnQudHlwZT09PSJjcHVDb3JlcyImJnQuY29yZXNEYXRhP3suLi50LGNvcmVzRGF0YTp0LmNvcmVzRGF0YS5tYXAocj0+KHsuLi5yLHVzYWdlOk1hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxMDApfSkpfTp0KTthLnRpbGVzPWV9LCJhY3Rpb24iKX1dLDI1MCwxNiwiNS4gSW50ZXJhY3RpdmUgRmVhdHVyZXMiLCJUaWxlcyB3aXRoIGFjdGlvbnMgYW5kIHJlYWwtdGltZSB1cGRhdGVzIixbe2lkOiJsaXZlLWNwdSIsdGl0bGU6IkxpdmUgQ1BVIix2YWx1ZTo0NSx1bml0OiIlIix0eXBlOiJnYXVnZSIsaWNvbjoibHVjaWRlOmNwdSIsZ2F1Z2VPcHRpb25zOnttaW46MCxtYXg6MTAwLHRocmVzaG9sZHM6W3t2YWx1ZTowLGNvbG9yOiJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIn0se3ZhbHVlOjYwLGNvbG9yOiJoc2woNDUuNCA5My40JSA0Ny41JSkifSx7dmFsdWU6ODAsY29sb3I6ImhzbCgwIDg0LjIlIDYwLjIlKSJ9XX19LHtpZDoibGl2ZS1yZXF1ZXN0cyIsdGl0bGU6IlJlcXVlc3RzL3NlYyIsdmFsdWU6ODkyLHR5cGU6InRyZW5kIixpY29uOiJsdWNpZGU6YWN0aXZpdHkiLHRyZW5kRGF0YTpbODUwLDg2MCw4NzAsODgwLDg4NSw4OTAsODkyXX0se2lkOiJsaXZlLW1lbW9yeSIsdGl0bGU6Ik1lbW9yeSBVc2FnZSIsdmFsdWU6NjIsdHlwZToicGVyY2VudGFnZSIsaWNvbjoibHVjaWRlOmRhdGFiYXNlIn0se2lkOiJjb3VudGVyIix0aXRsZToiRXZlbnQgQ291bnRlciIsdmFsdWU6MCx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTp6YXAiLGFjdGlvbnM6W3tuYW1lOiJJbmNyZW1lbnQiLGljb25OYW1lOiJsdWNpZGU6cGx1cyIsYWN0aW9uOnMoYXN5bmMoKT0+e2xldCBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNpbnRlcmFjdGl2ZS1ncmlkIik7aWYoIWEpcmV0dXJuO2xldCBlPWEudGlsZXMuZmluZCh0PT50LmlkPT09ImNvdW50ZXIiKTtlLnZhbHVlPXR5cGVvZiBlLnZhbHVlPT0ibnVtYmVyIj9lLnZhbHVlKzE6MSxhLnRpbGVzPVsuLi5hLnRpbGVzXX0sImFjdGlvbiIpfSx7bmFtZToiUmVzZXQiLGljb25OYW1lOiJsdWNpZGU6cm90YXRlLWNjdyIsYWN0aW9uOnMoYXN5bmMoKT0+e2xldCBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNpbnRlcmFjdGl2ZS1ncmlkIik7aWYoIWEpcmV0dXJuO2xldCBlPWEudGlsZXMuZmluZCh0PT50LmlkPT09ImNvdW50ZXIiKTtlLnZhbHVlPTAsYS50aWxlcz1bLi4uYS50aWxlc119LCJhY3Rpb24iKX1dfV0sW3tuYW1lOiJTdGFydCBMaXZlIFVwZGF0ZXMiLGljb25OYW1lOiJsdWNpZGU6cGxheSIsYWN0aW9uOnMoYXN5bmMgZnVuY3Rpb24oKXt3aW5kb3cubGl2ZVVwZGF0ZUludGVydmFsPyhjbGVhckludGVydmFsKHdpbmRvdy5saXZlVXBkYXRlSW50ZXJ2YWwpLHdpbmRvdy5saXZlVXBkYXRlSW50ZXJ2YWw9bnVsbCx0aGlzLm5hbWU9IlN0YXJ0IExpdmUgVXBkYXRlcyIsdGhpcy5pY29uTmFtZT0ibHVjaWRlOnBsYXkiKTood2luZG93LmxpdmVVcGRhdGVJbnRlcnZhbD1zZXRJbnRlcnZhbCgoKT0+e2xldCBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNpbnRlcmFjdGl2ZS1ncmlkIik7aWYoYSl7bGV0IGU9Wy4uLmEudGlsZXNdLHQ9ZS5maW5kKG49Pm4uaWQ9PT0ibGl2ZS1jcHUiKTt0LnZhbHVlPU1hdGgubWF4KDAsTWF0aC5taW4oMTAwLHQudmFsdWUrKE1hdGgucmFuZG9tKCkqMjAtMTApKSk7bGV0IHI9ZS5maW5kKG49Pm4uaWQ9PT0ibGl2ZS1yZXF1ZXN0cyIpLGk9ci52YWx1ZStNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkqNTAtMjUpO3IudmFsdWU9TWF0aC5tYXgoODAwLGkpLHIudHJlbmREYXRhPVsuLi5yLnRyZW5kRGF0YS5zbGljZSgxKSxyLnZhbHVlXTtsZXQgbz1lLmZpbmQobj0+bi5pZD09PSJsaXZlLW1lbW9yeSIpO28udmFsdWU9TWF0aC5tYXgoMCxNYXRoLm1pbigxMDAsby52YWx1ZSsoTWF0aC5yYW5kb20oKSoxMC01KSkpLGEudGlsZXM9ZX19LDFlMyksdGhpcy5uYW1lPSJTdG9wIExpdmUgVXBkYXRlcyIsdGhpcy5pY29uTmFtZT0ibHVjaWRlOnBhdXNlIil9LCJhY3Rpb24iKX1dLDI1MCwxNiwiNi4gQ29kZSBFeGFtcGxlIiwiSG93IHRvIGltcGxlbWVudCBhIHN0YXRzIGdyaWQgd2l0aCBUeXBlU2NyaXB0IixgY29uc3QgdGlsZXM6IElTdGF0c1RpbGVbXSA9IFsKICB7CiAgICBpZDogJ3JldmVudWUnLAogICAgdGl0bGU6ICdUb3RhbCBSZXZlbnVlJywKICAgIHZhbHVlOiAxMjU0MjAsCiAgICB1bml0OiAnJCcsCiAgICB0eXBlOiAnbnVtYmVyJywKICAgIGljb246ICdsdWNpZGU6ZG9sbGFyLXNpZ24nLAogICAgZGVzY3JpcHRpb246ICcrMTIuNSUgZnJvbSBsYXN0IG1vbnRoJywKICAgIGFjdGlvbnM6IFsKICAgICAgewogICAgICAgIG5hbWU6ICdWaWV3IERldGFpbHMnLAogICAgICAgIGljb25OYW1lOiAnbHVjaWRlOnRyZW5kaW5nLXVwJywKICAgICAgICBhY3Rpb246IGFzeW5jICgpID0+IHsKICAgICAgICAgIGNvbnNvbGUubG9nKCdWaWV3IHJldmVudWUgZGV0YWlscycpOwogICAgICAgIH0KICAgICAgfQogICAgXQogIH0sCiAgewogICAgaWQ6ICdjcHUnLAogICAgdGl0bGU6ICdDUFUgVXNhZ2UnLAogICAgdmFsdWU6IDczLAogICAgdW5pdDogJyUnLAogICAgdHlwZTogJ2dhdWdlJywKICAgIGljb246ICdsdWNpZGU6Y3B1JywKICAgIGdhdWdlT3B0aW9uczogewogICAgICBtaW46IDAsCiAgICAgIG1heDogMTAwLAogICAgICB0aHJlc2hvbGRzOiBbCiAgICAgICAgeyB2YWx1ZTogMCwgY29sb3I6ICdoc2woMTQyLjEgNzYuMiUgMzYuMyUpJyB9LAogICAgICAgIHsgdmFsdWU6IDYwLCBjb2xvcjogJ2hzbCg0NS40IDkzLjQlIDQ3LjUlKScgfSwKICAgICAgICB7IHZhbHVlOiA4MCwgY29sb3I6ICdoc2woMCA4NC4yJSA2MC4yJSknIH0KICAgICAgXQogICAgfQogIH0KXTsKCi8vIFJlbmRlciB0aGUgc3RhdHMgZ3JpZApodG1sXGAKICA8ZGVlcy1zdGF0c2dyaWQKICAgIC50aWxlcz1cJHt0aWxlc30KICAgIC5taW5UaWxlV2lkdGg9XCR7MjUwfQogICAgLmdhcD1cJHsxNn0KICAgIC5ncmlkQWN0aW9ucz1cJHtbCiAgICAgIHsKICAgICAgICBuYW1lOiAnUmVmcmVzaCcsCiAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6cmVmcmVzaC1jdycsCiAgICAgICAgYWN0aW9uOiBhc3luYyAoKSA9PiBjb25zb2xlLmxvZygnUmVmcmVzaCcpCiAgICAgIH0KICAgIF19CiAgPjwvZGVlcy1zdGF0c2dyaWQ+ClxgO2AsIjcuIERpc2sgJiBTdG9yYWdlIFRpbGVzIiwiUGFydGl0aW9uIGFuZCBwaHlzaWNhbCBkaXNrIHZpc3VhbGl6YXRpb24gdGlsZXMiLFt7aWQ6InJvb3QtcGFydGl0aW9uIix0aXRsZToiUm9vdCBQYXJ0aXRpb24iLHZhbHVlOjAsdHlwZToicGFydGl0aW9uIixpY29uOiJsdWNpZGU6Zm9sZGVyLXJvb3QiLHBhcnRpdGlvbkRhdGE6e3VzZWQ6Njk4MzQxNDI1MTUyLHRvdGFsOjEwNzM3NDE4MjRlMyxmaWxlc3lzdGVtOiJleHQ0Iixtb3VudFBvaW50OiIvIn19LHtpZDoiaG9tZS1wYXJ0aXRpb24iLHRpdGxlOiJIb21lIFBhcnRpdGlvbiIsdmFsdWU6MCx0eXBlOiJwYXJ0aXRpb24iLGljb246Imx1Y2lkZTpob21lIixwYXJ0aXRpb25EYXRhOnt1c2VkOjIxNDc0ODM2NDgwMCx0b3RhbDo1MzY4NzA5MTJlMyxmaWxlc3lzdGVtOiJleHQ0Iixtb3VudFBvaW50OiIvaG9tZSJ9fSx7aWQ6ImRhdGEtcGFydGl0aW9uIix0aXRsZToiRGF0YSBQYXJ0aXRpb24iLHZhbHVlOjAsdHlwZToicGFydGl0aW9uIixpY29uOiJsdWNpZGU6ZGF0YWJhc2UiLHBhcnRpdGlvbkRhdGE6e3VzZWQ6MTkzMjczNTI4MzIwMCx0b3RhbDoyMTQ3NDgzNjQ4ZTMsZmlsZXN5c3RlbToieGZzIixtb3VudFBvaW50OiIvZGF0YSJ9fSx7aWQ6Im52bWUtc3NkIix0aXRsZToiUHJpbWFyeSBOVk1lIix2YWx1ZTowLHR5cGU6ImRpc2siLGljb246Imx1Y2lkZTpoYXJkLWRyaXZlIixjb2x1bW5TcGFuOjIsZGlza0RhdGE6e2NhcGFjaXR5OjJlMTIsbW9kZWw6IlNhbXN1bmcgOTkwIFBybyIsdHlwZToibnZtZSIsaW9wczp7cmVhZDo3NDUwLHdyaXRlOjY5MDB9LGhlYWx0aDo5OH19LHtpZDoic2F0YS1zc2QiLHRpdGxlOiJTZWNvbmRhcnkgU1NEIix2YWx1ZTowLHR5cGU6ImRpc2siLGljb246Imx1Y2lkZTpoYXJkLWRyaXZlIixkaXNrRGF0YTp7Y2FwYWNpdHk6MWUxMixtb2RlbDoiQ3J1Y2lhbCBNWDUwMCIsdHlwZToic3NkIixpb3BzOntyZWFkOjU2MCx3cml0ZTo1MTB9LGhlYWx0aDo4NX19LHtpZDoiaGRkLXN0b3JhZ2UiLHRpdGxlOiJCYWNrdXAgSEREIix2YWx1ZTowLHR5cGU6ImRpc2siLGljb246Imx1Y2lkZTphcmNoaXZlIixkaXNrRGF0YTp7Y2FwYWNpdHk6OGUxMixtb2RlbDoiU2VhZ2F0ZSBJcm9uV29sZiIsdHlwZToiaGRkIixpb3BzOntyZWFkOjIxMCx3cml0ZToxOTV9LGhlYWx0aDo0Mn19XSwyODAsMTYpLCJkZW1vRnVuYyIpfSk7dmFyIGw0LCRpLHd0LFNyPWYoKCk9PntsZSgpO2VhKCk7bDQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LCRpPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSx3dD0oKCk9PntsZXQgYT1wZSxlLHQ9W10scj1bXSxpLG89W10sbj1bXSxsLGQ9W10sYz1bXSxwLHU9W10sbT1bXSx2LHg9W10sYj1bXSxnLHk9W10saz1bXSxDLE49W10sXz1bXSx6LE89W10sVD1bXTtyZXR1cm4gY2xhc3MgZXh0ZW5kcyBhe3N0YXRpY3tzKHRoaXMsIkRlZXNJbnB1dEJhc2UiKX1zdGF0aWN7bGV0IEI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoYVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7ZT1bJCh7dHlwZTpTdHJpbmd9KV0saT1bJCh7dHlwZTpTdHJpbmd9KV0sbD1bJCh7dHlwZTpTdHJpbmd9KV0scD1bJCh7dHlwZTpTdHJpbmd9KV0sdj1bJCh7dHlwZTpCb29sZWFufSldLGc9WyQoe3R5cGU6Qm9vbGVhbn0pXSxDPVskKHt0eXBlOlN0cmluZ30pXSx6PVskKHt0eXBlOlN0cmluZ30pXSxsNCh0aGlzLG51bGwsZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxheW91dE1vZGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTT0+ImxheW91dE1vZGUiaW4gTSwiaGFzIiksZ2V0OnMoTT0+TS5sYXlvdXRNb2RlLCJnZXQiKSxzZXQ6cygoTSxTKT0+e00ubGF5b3V0TW9kZT1TfSwic2V0Iil9LG1ldGFkYXRhOkJ9LHQsciksbDQodGhpcyxudWxsLGkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYWJlbFBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKE09PiJsYWJlbFBvc2l0aW9uImluIE0sImhhcyIpLGdldDpzKE09Pk0ubGFiZWxQb3NpdGlvbiwiZ2V0Iiksc2V0OnMoKE0sUyk9PntNLmxhYmVsUG9zaXRpb249U30sInNldCIpfSxtZXRhZGF0YTpCfSxvLG4pLGw0KHRoaXMsbnVsbCxsLHtraW5kOiJhY2Nlc3NvciIsbmFtZToia2V5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKE09PiJrZXkiaW4gTSwiaGFzIiksZ2V0OnMoTT0+TS5rZXksImdldCIpLHNldDpzKChNLFMpPT57TS5rZXk9U30sInNldCIpfSxtZXRhZGF0YTpCfSxkLGMpLGw0KHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTT0+ImxhYmVsImluIE0sImhhcyIpLGdldDpzKE09Pk0ubGFiZWwsImdldCIpLHNldDpzKChNLFMpPT57TS5sYWJlbD1TfSwic2V0Iil9LG1ldGFkYXRhOkJ9LHUsbSksbDQodGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZXF1aXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhNPT4icmVxdWlyZWQiaW4gTSwiaGFzIiksZ2V0OnMoTT0+TS5yZXF1aXJlZCwiZ2V0Iiksc2V0OnMoKE0sUyk9PntNLnJlcXVpcmVkPVN9LCJzZXQiKX0sbWV0YWRhdGE6Qn0seCxiKSxsNCh0aGlzLG51bGwsZyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRpc2FibGVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKE09PiJkaXNhYmxlZCJpbiBNLCJoYXMiKSxnZXQ6cyhNPT5NLmRpc2FibGVkLCJnZXQiKSxzZXQ6cygoTSxTKT0+e00uZGlzYWJsZWQ9U30sInNldCIpfSxtZXRhZGF0YTpCfSx5LGspLGw0KHRoaXMsbnVsbCxDLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5mb1RleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTT0+ImluZm9UZXh0ImluIE0sImhhcyIpLGdldDpzKE09Pk0uaW5mb1RleHQsImdldCIpLHNldDpzKChNLFMpPT57TS5pbmZvVGV4dD1TfSwic2V0Iil9LG1ldGFkYXRhOkJ9LE4sXyksbDQodGhpcyxudWxsLHose2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkZXNjcmlwdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhNPT4iZGVzY3JpcHRpb24iaW4gTSwiaGFzIiksZ2V0OnMoTT0+TS5kZXNjcmlwdGlvbiwiZ2V0Iiksc2V0OnMoKE0sUyk9PntNLmRlc2NyaXB0aW9uPVN9LCJzZXQiKX0sbWV0YWRhdGE6Qn0sTyxUKSxCJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkJ9KX0jZT0kaSh0aGlzLHQsImF1dG8iKTtnZXQgbGF5b3V0TW9kZSgpe3JldHVybiB0aGlzLiNlfXNldCBsYXlvdXRNb2RlKEIpe3RoaXMuI2U9Qn0jdD0oJGkodGhpcyxyKSwkaSh0aGlzLG8sInRvcCIpKTtnZXQgbGFiZWxQb3NpdGlvbigpe3JldHVybiB0aGlzLiN0fXNldCBsYWJlbFBvc2l0aW9uKEIpe3RoaXMuI3Q9Qn0jYT0oJGkodGhpcyxuKSwkaSh0aGlzLGQsdm9pZCAwKSk7Z2V0IGtleSgpe3JldHVybiB0aGlzLiNhfXNldCBrZXkoQil7dGhpcy4jYT1CfSNyPSgkaSh0aGlzLGMpLCRpKHRoaXMsdSx2b2lkIDApKTtnZXQgbGFiZWwoKXtyZXR1cm4gdGhpcy4jcn1zZXQgbGFiZWwoQil7dGhpcy4jcj1CfSNzPSgkaSh0aGlzLG0pLCRpKHRoaXMseCwhMSkpO2dldCByZXF1aXJlZCgpe3JldHVybiB0aGlzLiNzfXNldCByZXF1aXJlZChCKXt0aGlzLiNzPUJ9I2k9KCRpKHRoaXMsYiksJGkodGhpcyx5LCExKSk7Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGRpc2FibGVkKEIpe3RoaXMuI2k9Qn0jbz0oJGkodGhpcyxrKSwkaSh0aGlzLE4sdm9pZCAwKSk7Z2V0IGluZm9UZXh0KCl7cmV0dXJuIHRoaXMuI299c2V0IGluZm9UZXh0KEIpe3RoaXMuI289Qn0jbj0oJGkodGhpcyxfKSwkaSh0aGlzLE8sdm9pZCAwKSk7Z2V0IGRlc2NyaXB0aW9uKCl7cmV0dXJuIHRoaXMuI259c2V0IGRlc2NyaXB0aW9uKEIpe3RoaXMuI249Qn1zdGF0aWMgZ2V0IGJhc2VTdHlsZXMoKXtyZXR1cm5bWGAKICAgICAgICAvKiBDU1MgVmFyaWFibGVzIGZvciBjb25zaXN0ZW50IHNwYWNpbmcgKi8KICAgICAgICA6aG9zdCB7CiAgICAgICAgICAtLWRlZXMtaW5wdXQtc3BhY2luZy11bml0OiA4cHg7CiAgICAgICAgICAtLWRlZXMtaW5wdXQtbGFiZWwtZ2FwOiB2YXIoLS1kZWVzLWlucHV0LXNwYWNpbmctdW5pdCk7IC8qIDhweCAqLwogICAgICAgIH0KCiAgICAgICAgLyogRGVmYXVsdCBibG9jayBkaXNwbGF5IHdpdGggbm8gbWFyZ2lucyAtIHNwYWNpbmcgaXMgY29udGFpbmVyLWRyaXZlbiAqLwogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIH0KCiAgICAgICAgLyogSG9yaXpvbnRhbCBsYXlvdXQgbW9kZSAtIGFjdGl2YXRlZCBieSBhdHRyaWJ1dGUgKi8KICAgICAgICA6aG9zdChbbGF5b3V0LW1vZGU9Imhvcml6b250YWwiXSkgewogICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLyogTGFiZWwgcG9zaXRpb24gdmFyaWF0aW9ucyAqLwogICAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0ibGVmdCJdKSAuaW5wdXQtd3JhcHBlciB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjsKICAgICAgICAgIGdhcDogdmFyKC0tZGVlcy1pbnB1dC1sYWJlbC1nYXApOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB9CgogICAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0icmlnaHQiXSkgLmlucHV0LXdyYXBwZXIgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87CiAgICAgICAgICBnYXA6IHZhcigtLWRlZXMtaW5wdXQtbGFiZWwtZ2FwKTsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgfQoKICAgICAgICA6aG9zdChbbGFiZWwtcG9zaXRpb249InRvcCJdKSAuaW5wdXQtd3JhcHBlciB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB9CgogICAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0ibm9uZSJdKSBkZWVzLWxhYmVsIHsKICAgICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAvKiBEZXNjcmlwdGlvbiB0ZXh0IGJlbG93IGlucHV0ICovCiAgICAgICAgLmRlc2NyaXB0aW9uVGV4dCB7CiAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBsaW5lLWhlaWdodDogMS40OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgfQogICAgICBgXX1jaGFuZ2VTdWJqZWN0PSgkaSh0aGlzLFQpLG5ldyBIdC5zbWFydHJ4LnJ4anMuU3ViamVjdCk7YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuZGV0ZWN0TGF5b3V0TW9kZSgpfWRldGVjdExheW91dE1vZGUoKXtpZih0aGlzLmxheW91dE1vZGUhPT0iYXV0byIpe3RoaXMuc2V0QXR0cmlidXRlKCJsYXlvdXQtbW9kZSIsdGhpcy5sYXlvdXRNb2RlKTtyZXR1cm59bGV0IEI9dGhpcy5jbG9zZXN0KCJkZWVzLWZvcm0iKTtCJiZCLmhhc0F0dHJpYnV0ZSgiaG9yaXpvbnRhbC1sYXlvdXQiKT90aGlzLnNldEF0dHJpYnV0ZSgibGF5b3V0LW1vZGUiLCJob3Jpem9udGFsIik6dGhpcy5zZXRBdHRyaWJ1dGUoImxheW91dC1tb2RlIiwidmVydGljYWwiKX11cGRhdGVkKEIpe3N1cGVyLnVwZGF0ZWQoQiksQi5oYXMoImxheW91dE1vZGUiKSYmdGhpcy5kZXRlY3RMYXlvdXRNb2RlKCksQi5oYXMoImxhYmVsUG9zaXRpb24iKSYmdGhpcy5zZXRBdHRyaWJ1dGUoImxhYmVsLXBvc2l0aW9uIix0aGlzLmxhYmVsUG9zaXRpb24pfWFzeW5jIGZyZWV6ZSgpe3RoaXMuZGlzYWJsZWQ9ITB9YXN5bmMgdW5mcmVlemUoKXt0aGlzLmRpc2FibGVkPSExfXJlbmRlckRlc2NyaXB0aW9uKCl7cmV0dXJuIHRoaXMuZGVzY3JpcHRpb24/d2A8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvblRleHQiPiR7dGhpcy5kZXNjcmlwdGlvbn08L2Rpdj5gOiIifX19KSgpfSk7dmFyIGhzYSxtc2E9ZigoKT0+e2xlKCk7TmEoKTtVcygpOyRmKCk7aHNhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC1jaGVja2JveCIpLHQ9YS5xdWVyeVNlbGVjdG9yKCIjc2VsZWN0LWFsbC1idG4iKSxyPWEucXVlcnlTZWxlY3RvcigiI2NsZWFyLWFsbC1idG4iKTt0JiZyJiYodC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntlLmZvckVhY2goaT0+eyFpLmRpc2FibGVkJiZpLmtleT8uc3RhcnRzV2l0aCgiZmVhdHVyZSIpJiYoaS52YWx1ZT0hMCl9KX0pLHIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ZS5mb3JFYWNoKGk9PnshaS5kaXNhYmxlZCYmaS5rZXk/LnN0YXJ0c1dpdGgoImZlYXR1cmUiKSYmKGkudmFsdWU9ITEpfSl9KSl9fT4KICAgIDxzdHlsZT4KICAgICAgJHtYYAogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY2hlY2tib3gtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5ob3Jpem9udGFsLWNoZWNrYm94ZXMgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmludGVyYWN0aXZlLXNlY3Rpb24gewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5vdXRwdXQtdGV4dCB7CiAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTAgNDAlIDgwJSkiKX07CiAgICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTglKSIsImhzbCgyMTUgMjAuMiUgMTEuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgbWluLWhlaWdodDogMjRweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmZvcm0tc2VjdGlvbiB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTclKSIsImhzbCgwIDAlIDclKSIpfTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmJ1dHRvbi1ncm91cCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZmVhdHVyZS1saXN0IHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFzaWMgQ2hlY2tib3hlcyJ9IC5zdWJ0aXRsZT0keyJTaW1wbGUgY2hlY2tib3ggZXhhbXBsZXMgd2l0aCB2YXJpb3VzIGxhYmVscyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAubGFiZWw9JHsiSSBhZ3JlZSB0byB0aGUgVGVybXMgYW5kIENvbmRpdGlvbnMifQogICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgLmtleT0keyJ0ZXJtcyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgoKICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgIC5sYWJlbD0keyJTdWJzY3JpYmUgdG8gbmV3c2xldHRlciJ9CiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAua2V5PSR7Im5ld3NsZXR0ZXIifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAubGFiZWw9JHsiRW5hYmxlIG5vdGlmaWNhdGlvbnMifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlJlY2VpdmUgZW1haWwgdXBkYXRlcyBhYm91dCB5b3VyIGFjY291bnQifQogICAgICAgICAgICAua2V5PSR7Im5vdGlmaWNhdGlvbnMifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkNoZWNrYm94IFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgY2hlY2tib3ggc3RhdGVzIGFuZCBjb25maWd1cmF0aW9ucyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAubGFiZWw9JHsiRGVmYXVsdCBzdGF0ZSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAubGFiZWw9JHsiQ2hlY2tlZCBzdGF0ZSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAubGFiZWw9JHsiRGlzYWJsZWQgdW5jaGVja2VkIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAubGFiZWw9JHsiRGlzYWJsZWQgY2hlY2tlZCJ9CiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgLmxhYmVsPSR7IlJlcXVpcmVkIGNoZWNrYm94In0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5rZXk9JHsicmVxdWlyZWQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ikhvcml6b250YWwgTGF5b3V0In0gLnN1YnRpdGxlPSR7IkNoZWNrYm94ZXMgYXJyYW5nZWQgaG9yaXpvbnRhbGx5IGZvciBjb21wYWN0IGZvcm1zIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkaXYgY2xhc3M9Imhvcml6b250YWwtY2hlY2tib3hlcyI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgICAgLmxhYmVsPSR7Ik9wdGlvbiBBIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgICAua2V5PSR7Im9wdGlvbkEifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgICAubGFiZWw9JHsiT3B0aW9uIEIifQogICAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAgIC5rZXk9JHsib3B0aW9uQiJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAgIC5sYWJlbD0keyJPcHRpb24gQyJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgICAgLmtleT0keyJvcHRpb25DIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgICAgLmxhYmVsPSR7Ik9wdGlvbiBEIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgICAua2V5PSR7Im9wdGlvbkQifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGZWF0dXJlIFNlbGVjdGlvbiBFeGFtcGxlIn0gLnN1YnRpdGxlPSR7IkNvbW1vbiB1c2UgY2FzZSBmb3IgZmVhdHVyZSB0b2dnbGVzIHdpdGggYmF0Y2ggb3BlcmF0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gaWQ9InNlbGVjdC1hbGwtYnRuIiB0eXBlPSJzZWNvbmRhcnkiPlNlbGVjdCBBbGw8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIGlkPSJjbGVhci1hbGwtYnRuIiB0eXBlPSJzZWNvbmRhcnkiPkNsZWFyIEFsbDwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1saXN0Ij4KICAgICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgICAgLmxhYmVsPSR7IkRhcmsgTW9kZSBTdXBwb3J0In0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAua2V5PSR7ImZlYXR1cmUxIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgICAgLmxhYmVsPSR7IkVtYWlsIE5vdGlmaWNhdGlvbnMifQogICAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAgIC5rZXk9JHsiZmVhdHVyZTIifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgICAubGFiZWw9JHsiVHdvLUZhY3RvciBBdXRoZW50aWNhdGlvbiJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmtleT0keyJmZWF0dXJlMyJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAgIC5sYWJlbD0keyJBUEkgQWNjZXNzIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAua2V5PSR7ImZlYXR1cmU0In0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgICAgLmxhYmVsPSR7IkFkdmFuY2VkIEFuYWx5dGljcyJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmtleT0keyJmZWF0dXJlNSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlByaXZhY3kgU2V0dGluZ3MgRXhhbXBsZSJ9IC5zdWJ0aXRsZT0keyJDaGVja2JveGVzIGluIGEgdHlwaWNhbCBmb3JtIGNvbnRleHQifT4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXNlY3Rpb24iPgogICAgICAgICAgPGg0IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Qcml2YWN5IFByZWZlcmVuY2VzPC9oND4KCiAgICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAgIC5sYWJlbD0keyJTaGFyZSBhbmFseXRpY3MgZGF0YSJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkhlbHAgdXMgaW1wcm92ZSBieSBzaGFyaW5nIGFub255bW91cyB1c2FnZSBkYXRhIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgICAgLmxhYmVsPSR7IlBlcnNvbmFsaXplZCByZWNvbW1lbmRhdGlvbnMifQogICAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJHZXQgc3VnZ2VzdGlvbnMgYmFzZWQgb24geW91ciBhY3Rpdml0eSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAgIC5sYWJlbD0keyJNYXJrZXRpbmcgY29tbXVuaWNhdGlvbnMifQogICAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJSZWNlaXZlIHByb21vdGlvbmFsIGVtYWlscyBhbmQgc3BlY2lhbCBvZmZlcnMifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgICAubGFiZWw9JHsiVGhpcmQtcGFydHkgaW50ZWdyYXRpb25zIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQWxsb3cgYXBwcm92ZWQgcGFydG5lcnMgdG8gYWNjZXNzIHlvdXIgZGF0YSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkludGVyYWN0aXZlIEV4YW1wbGUifSAuc3VidGl0bGU9JHsiQ2xpY2sgY2hlY2tib3hlcyB0byBzZWUgdmFsdWUgY2hhbmdlcyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAubGFiZWw9JHsiRmVhdHVyZSB0b2dnbGUifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgQGNoYW5nZVN1YmplY3Q9JHthPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2NoZWNrYm94LW91dHB1dCIpO2lmKGUmJmEuZGV0YWlsKXtsZXQgdD1hLmRldGFpbC5nZXRWYWx1ZSgpO2UudGV4dENvbnRlbnQ9YEZlYXR1cmUgaXMgJHt0PyJlbmFibGVkIjoiZGlzYWJsZWQifWB9fX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgLmxhYmVsPSR7IkRlYnVnIG1vZGUifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgQGNoYW5nZVN1YmplY3Q9JHthPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2RlYnVnLW91dHB1dCIpO2lmKGUmJmEuZGV0YWlsKXtsZXQgdD1hLmRldGFpbC5nZXRWYWx1ZSgpO2UudGV4dENvbnRlbnQ9YERlYnVnIG1vZGU6ICR7dD8iT04iOiJPRkYifWB9fX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgPC9kZWVzLWZvcm0+CgogICAgICAgIDxkaXYgY2xhc3M9ImludGVyYWN0aXZlLXNlY3Rpb24iPgogICAgICAgICAgPGRpdiBpZD0iY2hlY2tib3gtb3V0cHV0IiBjbGFzcz0ib3V0cHV0LXRleHQiPkZlYXR1cmUgaXMgZGlzYWJsZWQ8L2Rpdj4KICAgICAgICAgIDxkaXYgaWQ9ImRlYnVnLW91dHB1dCIgY2xhc3M9Im91dHB1dC10ZXh0IiBzdHlsZT0ibWFyZ2luLXRvcDogOHB4OyI+RGVidWcgbW9kZTogT0ZGPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBOWWUsTlUsSnRlLGVhZT1mKCgpPT57bGUoKTtTcigpO21zYSgpO2ZzKCk7UWUoKTtOWWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LE5VPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxKdGU9KCgpPT57bGV0IGE9W2llKCJkZWVzLWlucHV0LWNoZWNrYm94IildLGUsdD1bXSxyLGk9d3QsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNJbnB1dENoZWNrYm94Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpCb29sZWFufSldLGQ9WyQoe3R5cGU6Qm9vbGVhbn0pXSxOWWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4idmFsdWUiaW4gdiwiaGFzIiksZ2V0OnModj0+di52YWx1ZSwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnZhbHVlPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxOWWUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbmRldGVybWluYXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJpbmRldGVybWluYXRlImluIHYsImhhcyIpLGdldDpzKHY9PnYuaW5kZXRlcm1pbmF0ZSwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LmluZGV0ZXJtaW5hdGU9eH0sInNldCIpfSxtZXRhZGF0YTptfSxjLHApLE5ZZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pfXN0YXRpYyBkZW1vPWhzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9TlUodGhpcyxuLCExKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUobSl7dGhpcy4jZT1tfSN0PShOVSh0aGlzLGwpLE5VKHRoaXMsYywhMSkpO2dldCBpbmRldGVybWluYXRlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGluZGV0ZXJtaW5hdGUobSl7dGhpcy4jdD1tfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSxOVSh0aGlzLHApLHRoaXMubGFiZWxQb3NpdGlvbj0icmlnaHQifXN0YXRpYyBzdHlsZXM9W0VlLC4uLnd0LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgICAqIHsKICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgfQoKICAgICAgICA6aG9zdCB7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgICAgfQoKICAgICAgICAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgLmNoZWNrYm94IHsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIGhlaWdodDogMThweDsKICAgICAgICAgIHdpZHRoOiAxOHB4OwogICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICAgIG1hcmdpbi10b3A6IDFweDsKICAgICAgICB9CgogICAgICAgIC5tYWluY29udGFpbmVyOmhvdmVyIC5jaGVja2JveCB7CiAgICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgICAgfQoKICAgICAgICAuY2hlY2tib3guc2VsZWN0ZWQgewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiKX07CiAgICAgICAgfQoKICAgICAgICAuY2hlY2tib3g6Zm9jdXMtdmlzaWJsZSB7CiAgICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjEpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xKSIpfTsKICAgICAgICB9CgogICAgICAgIC8qIENoZWNrbWFyayB1c2luZyBMdWNpZGUgaWNvbiBzdHlsZSAqLwogICAgICAgIC5jaGVja2JveCAuY2hlY2ttYXJrIHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIHRvcDogNTAlOwogICAgICAgICAgbGVmdDogNTAlOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgLmNoZWNrYm94LnNlbGVjdGVkIC5jaGVja21hcmsgewogICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB9CgogICAgICAgIC5jaGVja2JveCAuY2hlY2ttYXJrIHN2ZyB7CiAgICAgICAgICB3aWR0aDogMTJweDsKICAgICAgICAgIGhlaWdodDogMTJweDsKICAgICAgICAgIHN0cm9rZTogd2hpdGU7CiAgICAgICAgICBzdHJva2Utd2lkdGg6IDM7CiAgICAgICAgfQoKICAgICAgICAvKiBEaXNhYmxlZCBzdGF0ZSAqLwogICAgICAgIC5tYWluY29udGFpbmVyLmRpc2FibGVkIHsKICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgfQoKICAgICAgICAuY2hlY2tib3guZGlzYWJsZWQgewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICB9CgogICAgICAgIC8qIExhYmVsICovCiAgICAgICAgLmxhYmVsLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMnB4OwogICAgICAgICAgZmxleDogMTsKICAgICAgICB9CgogICAgICAgIC5jaGVja2JveC1sYWJlbCB7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIH0KCiAgICAgICAgLm1haW5jb250YWluZXI6aG92ZXIgLmNoZWNrYm94LWxhYmVsIHsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICB9CgogICAgICAgIC5tYWluY29udGFpbmVyLmRpc2FibGVkOmhvdmVyIC5jaGVja2JveC1sYWJlbCB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgIH0KCiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciAke3RoaXMuZGlzYWJsZWQ/ImRpc2FibGVkIjoiIn0iIEBjbGljaz0iJHt0aGlzLnRvZ2dsZVNlbGVjdGVkfSI+CiAgICAgICAgICA8ZGl2IAogICAgICAgICAgICBjbGFzcz0iY2hlY2tib3ggJHt0aGlzLnZhbHVlPyJzZWxlY3RlZCI6IiJ9ICR7dGhpcy5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSIgCiAgICAgICAgICAgIHRhYmluZGV4PSIke3RoaXMuZGlzYWJsZWQ/Ii0xIjoiMCJ9IgogICAgICAgICAgICBAa2V5ZG93bj0iJHt0aGlzLmhhbmRsZUtleWRvd259IgogICAgICAgICAgPgogICAgICAgICAgICAke3RoaXMudmFsdWU/d2AKICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNoZWNrbWFyayI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjAgNkw5IDE3TDQgMTIiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgYDp0aGlzLmluZGV0ZXJtaW5hdGU/d2AKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2hlY2ttYXJrIj4KICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNSAxMkgxOSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICBgOndgYH0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwtY29udGFpbmVyIj4KICAgICAgICAgICAgJHt0aGlzLmxhYmVsP3dgPGRpdiBjbGFzcz0iY2hlY2tib3gtbGFiZWwiPiR7dGhpcy5sYWJlbH08L2Rpdj5gOiIifQogICAgICAgICAgICAke3RoaXMucmVuZGVyRGVzY3JpcHRpb24oKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgdG9nZ2xlU2VsZWN0ZWQoKXt0aGlzLmRpc2FibGVkfHwodGhpcy52YWx1ZT0hdGhpcy52YWx1ZSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJuZXdWYWx1ZSIse2RldGFpbDp0aGlzLnZhbHVlLGJ1YmJsZXM6ITB9KSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcykpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUobSl7dGhpcy52YWx1ZT1tfWZvY3VzKCl7bGV0IG09dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5jaGVja2JveCIpO20mJm0uZm9jdXMoKX1oYW5kbGVLZXlkb3duKG0peyhtLmtleT09PSIgInx8bS5rZXk9PT0iRW50ZXIiKSYmKG0ucHJldmVudERlZmF1bHQoKSx0aGlzLnRvZ2dsZVNlbGVjdGVkKCkpfXN0YXRpY3tOVShyLHQpfX07cmV0dXJuIHU9cn0pKCl9KTt2YXIgbG09e307cnQobG0se2JyaWdodDooKT0+ZDQsZGFyazooKT0+YzR9KTt2YXIgYzQsZDQsTDE9ZigoKT0+e2M0PXtibHVlOiIjMDA1MGI5IixibHVlQWN0aXZlOiIjMDA2OWYyIixibHVlTXV0ZWQ6IiMwMTI0NTIiLHRleHQ6IiNmZmZmZmYifSxkND17Ymx1ZToiIzAwNTBiOSIsYmx1ZUFjdGl2ZToiIzAwNjlmMiIsYmx1ZU11dGVkOiIjMDA2OWYyIix0ZXh0OiIjMzMzMzMzIn19KTt2YXIgZ3NhLGJzYT1mKCgpPT57bGUoKTtoYygpO2dzYT1zKCgpPT53YAogIDxzdHlsZT4KICAgICR7WGAKICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLXNlY3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjhmOWZhIiwiIzFhMWExYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2UwZTBlMCIsIiMzMzMiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLXNlY3Rpb24gaDMgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzMzMiLCIjZmZmIil9OwogICAgICB9CiAgICAgIAogICAgICAuZGVtby1zZWN0aW9uIHAgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzY2NiIsIiM5OTkiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTUwcHgsIDFmcikpOwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5IZWFkZXIgQnV0dG9uczwvaDM+CiAgICAgIDxwPk1vZGFscyBjYW4gaGF2ZSBvcHRpb25hbCBoZWFkZXIgYnV0dG9ucyBmb3IgaGVscCBhbmQgY2xvc2luZy48L3A+CiAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncmlkIj4KICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJXaXRoIEhlbHAgQnV0dG9uIixzaG93SGVscEJ1dHRvbjohMCxvbkhlbHA6cyhhc3luYygpPT57YXdhaXQgd2EuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiSGVscCIsd2lkdGg6InNtYWxsIixzaG93Q2xvc2VCdXR0b246ITAsc2hvd0hlbHBCdXR0b246ITEsY29udGVudDp3YAogICAgICAgICAgICAgICAgICA8cD5UaGlzIGlzIHRoZSBoZWxwIGNvbnRlbnQgZm9yIHRoZSBtb2RhbC48L3A+CiAgICAgICAgICAgICAgICAgIDxwPllvdSBjYW4gcHJvdmlkZSBjb250ZXh0LXNwZWNpZmljIGhlbHAgaGVyZS48L3A+CiAgICAgICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiR290IGl0IixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfSwib25IZWxwIiksY29udGVudDp3YAogICAgICAgICAgICAgIDxwPlRoaXMgbW9kYWwgaGFzIGEgaGVscCBidXR0b24gaW4gdGhlIGhlYWRlci4gQ2xpY2sgaXQgdG8gc2VlIGhlbHAgY29udGVudC48L3A+CiAgICAgICAgICAgICAgPHA+VGhlIGNsb3NlIGJ1dHRvbiBpcyBhbHNvIHZpc2libGUgYnkgZGVmYXVsdC48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJPSyIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfV19KX19PldpdGggSGVscCBCdXR0b248L2RlZXMtYnV0dG9uPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e3dhLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6Ik5vIENsb3NlIEJ1dHRvbiIsc2hvd0Nsb3NlQnV0dG9uOiExLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8cD5UaGlzIG1vZGFsIGhhcyBubyBjbG9zZSBidXR0b24gaW4gdGhlIGhlYWRlci48L3A+CiAgICAgICAgICAgICAgPHA+WW91IG11c3QgdXNlIHRoZSBhY3Rpb24gYnV0dG9ucyBvciBjbGljayBvdXRzaWRlIHRvIGNsb3NlIGl0LjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNsb3NlIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+Tm8gQ2xvc2UgQnV0dG9uPC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJCb3RoIEJ1dHRvbnMiLHNob3dIZWxwQnV0dG9uOiEwLHNob3dDbG9zZUJ1dHRvbjohMCxvbkhlbHA6cygoKT0+YWxlcnQoIkhlbHAgY2xpY2tlZCEiKSwib25IZWxwIiksY29udGVudDp3YAogICAgICAgICAgICAgIDxwPlRoaXMgbW9kYWwgaGFzIGJvdGggaGVscCBhbmQgY2xvc2UgYnV0dG9ucy48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJEb25lIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+Qm90aCBCdXR0b25zPC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJDbGVhbiBIZWFkZXIiLHNob3dDbG9zZUJ1dHRvbjohMSxzaG93SGVscEJ1dHRvbjohMSxjb250ZW50OndgCiAgICAgICAgICAgICAgPHA+VGhpcyBtb2RhbCBoYXMgYSBjbGVhbiBoZWFkZXIgd2l0aCBubyBidXR0b25zLjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNsb3NlIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+Q2xlYW4gSGVhZGVyPC9kZWVzLWJ1dHRvbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPk1vZGFsIFdpZHRoIFZhcmlhdGlvbnM8L2gzPgogICAgICA8cD5Nb2RhbHMgY2FuIGhhdmUgZGlmZmVyZW50IHdpZHRoczogc21hbGwsIG1lZGl1bSwgbGFyZ2UsIGZ1bGxzY3JlZW4sIG9yIGN1c3RvbSBwaXhlbCB2YWx1ZXMuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JpZCI+CiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57d2EuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiU21hbGwgTW9kYWwiLHdpZHRoOiJzbWFsbCIsY29udGVudDp3YAogICAgICAgICAgICAgIDxwPlRoaXMgaXMgYSBzbWFsbCBtb2RhbCB3aXRoIGEgd2lkdGggb2YgMzgwcHguIFBlcmZlY3QgZm9yIHNpbXBsZSBjb25maXJtYXRpb25zIG9yIGJyaWVmIG1lc3NhZ2VzLjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNhbmNlbCIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfSx7bmFtZToiT0siLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5TbWFsbCBNb2RhbDwvZGVlcy1idXR0b24+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57d2EuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiTWVkaXVtIE1vZGFsIChEZWZhdWx0KSIsd2lkdGg6Im1lZGl1bSIsY29udGVudDp3YAogICAgICAgICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJVc2VybmFtZSJ9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiRW1haWwifSAuaW5wdXRUeXBlPSR7ImVtYWlsIn0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJQYXNzd29yZCJ9IC5pbnB1dFR5cGU9JHsicGFzc3dvcmQifT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNhbmNlbCIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfSx7bmFtZToiU2lnbiBVcCIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfV19KX19Pk1lZGl1bSBNb2RhbDwvZGVlcy1idXR0b24+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57d2EuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiTGFyZ2UgTW9kYWwiLHdpZHRoOiJsYXJnZSIsY29udGVudDp3YAogICAgICAgICAgICAgIDxoND5XaWRlIENvbnRlbnQgQXJlYTwvaDQ+CiAgICAgICAgICAgICAgPHA+VGhpcyBsYXJnZSBtb2RhbCBpcyA4MDBweCB3aWRlIGFuZCBwZXJmZWN0IGZvciBkaXNwbGF5aW5nIG1vcmUgY29tcGxleCBjb250ZW50IGxpa2UgZm9ybXMgd2l0aCBtdWx0aXBsZSBjb2x1bW5zLCB0YWJsZXMsIG9yIGRldGFpbGVkIGluZm9ybWF0aW9uLjwvcD4KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogMTZweDsgbWFyZ2luLXRvcDogMTZweDsiPgogICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiRmlyc3QgTmFtZSJ9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiTGFzdCBOYW1lIn0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJDb21wYW55In0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJQb3NpdGlvbiJ9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2FuY2VsIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9LHtuYW1lOiJTYXZlIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+TGFyZ2UgTW9kYWw8L2RlZXMtYnV0dG9uPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e3dhLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IkZ1bGxzY3JlZW4gRWRpdG9yIix3aWR0aDoiZnVsbHNjcmVlbiIsc2hvd0hlbHBCdXR0b246ITAsb25IZWxwOnMoYXN5bmMoKT0+e2FsZXJ0KCJJbiBhIHJlYWwgYXBwLCB0aGlzIHdvdWxkIHNob3cgZWRpdG9yIGRvY3VtZW50YXRpb24iKX0sIm9uSGVscCIpLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8aDQ+RnVsbHNjcmVlbiBFeHBlcmllbmNlIHdpdGggSGVhZGVyIENvbnRyb2xzPC9oND4KICAgICAgICAgICAgICA8cD5UaGlzIG1vZGFsIHRha2VzIHVwIGFsbW9zdCB0aGUgZW50aXJlIHZpZXdwb3J0IHdpdGggYSAyMHB4IG1hcmdpbiBvbiBhbGwgc2lkZXMuIFRoZSBoZWFkZXIgYnV0dG9ucyBhcmUgcGFydGljdWxhcmx5IHVzZWZ1bCBpbiBmdWxsc2NyZWVuIG1vZGUuPC9wPgogICAgICAgICAgICAgIDxwPlRoZSBjb250ZW50IGFyZWEgY2FuIGJlIGFzIHRhbGwgYXMgbmVlZGVkIGFuZCB3aWxsIHNjcm9sbCBpZiBuZWNlc3NhcnkuPC9wPgogICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImhlaWdodDogMjAwcHg7IGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjBmMGYwIiwiIzJhMmEyYSIpfTsgYm9yZGVyLXJhZGl1czogOHB4OyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWFyZ2luLXRvcDogMTZweDsiPgogICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAke2guYmRUaGVtZSgiIzk5OSIsIiM2NjYiKX0iPkxhcmdlIGNvbnRlbnQgYXJlYTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IlNhdmUiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX0se25hbWU6IkNhbmNlbCIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfV19KX19PkZ1bGxzY3JlZW4gTW9kYWw8L2RlZXMtYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+Q3VzdG9tIFdpZHRoICYgQ29uc3RyYWludHM8L2gzPgogICAgICA8cD5Zb3UgY2FuIGFsc28gc2V0IGN1c3RvbSBwaXhlbCB3aWR0aHMgYW5kIG1pbi9tYXggY29uc3RyYWludHMuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JpZCI+CiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57d2EuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiQ3VzdG9tIFdpZHRoICg3MDBweCkiLHdpZHRoOjcwMCxjb250ZW50OndgCiAgICAgICAgICAgICAgPHA+VGhpcyBtb2RhbCBoYXMgYSBjdXN0b20gd2lkdGggb2YgZXhhY3RseSA3MDAgcGl4ZWxzLjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNsb3NlIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+Q3VzdG9tIDcwMHB4PC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJXaXRoIE1heCBXaWR0aCIsd2lkdGg6ImxhcmdlIixtYXhXaWR0aDo2MDAsY29udGVudDp3YAogICAgICAgICAgICAgIDxwPlRoaXMgbW9kYWwgaXMgc2V0IHRvICdsYXJnZScgYnV0IGNvbnN0cmFpbmVkIGJ5IGEgbWF4V2lkdGggb2YgNjAwcHguPC9wPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiR290IGl0IixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+TWF4IFdpZHRoIDYwMHB4PC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJXaXRoIE1pbiBXaWR0aCIsd2lkdGg6MzAwLG1pbldpZHRoOjQwMCxjb250ZW50OndgCiAgICAgICAgICAgICAgPHA+VGhpcyBtb2RhbCB3aWR0aCBpcyBzZXQgdG8gMzAwcHggYnV0IGhhcyBhIG1pbldpZHRoIG9mIDQwMHB4LCBzbyBpdCB3aWxsIGJlIDQwMHB4IHdpZGUuPC9wPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiT0siLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5NaW4gV2lkdGggNDAwcHg8L2RlZXMtYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+QnV0dG9uIFZhcmlhdGlvbnM8L2gzPgogICAgICA8cD5Nb2RhbHMgY2FuIGhhdmUgZGlmZmVyZW50IGJ1dHRvbiBjb25maWd1cmF0aW9ucyB3aXRoIHByb3BlciBzcGFjaW5nLjwvcD4KICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e3dhLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6Ik11bHRpcGxlIEFjdGlvbnMiLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8cD5UaGlzIG1vZGFsIGRlbW9uc3RyYXRlcyBtdWx0aXBsZSBidXR0b25zIHdpdGggcHJvcGVyIHNwYWNpbmcgYmV0d2VlbiB0aGVtLjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkRlbGV0ZSIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfSx7bmFtZToiQ2FuY2VsIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9LHtuYW1lOiJTYXZlIENoYW5nZXMiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5UaHJlZSBCdXR0b25zPC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJTaW5nbGUgQWN0aW9uIixjb250ZW50OndgCiAgICAgICAgICAgICAgPHA+U29tZXRpbWVzIHlvdSBqdXN0IG5lZWQgb25lIGJ1dHRvbi48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJBY2tub3dsZWRnZSIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfV19KX19PlNpbmdsZSBCdXR0b248L2RlZXMtYnV0dG9uPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e3dhLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6Ik5vIEFjdGlvbnMiLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8cD5UaGlzIG1vZGFsIGhhcyBubyBib3R0b20gYnV0dG9ucy4gVXNlIHRoZSBYIGJ1dHRvbiBvciBjbGljayBvdXRzaWRlIHRvIGNsb3NlLjwvcD4KICAgICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsgY29sb3I6ICR7aC5iZFRoZW1lKCIjNjY2IiwiIzk5OSIpfTsiPlRoaXMgaXMgdXNlZnVsIGZvciBpbmZvcm1hdGlvbmFsIG1vZGFscyB0aGF0IGRvbid0IHJlcXVpcmUgdXNlciBhY3Rpb24uPC9wPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOltdfSl9fT5ObyBCdXR0b25zPC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJMb25nIEJ1dHRvbiBMYWJlbHMiLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8cD5UZXN0aW5nIGJ1dHRvbiBsYXlvdXQgd2l0aCBsb25nZXIgbGFiZWxzLjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkRpc2NhcmQgQWxsIENoYW5nZXMiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX0se25hbWU6IlNhdmUgYW5kIENvbnRpbnVlIEVkaXRpbmciLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5Mb25nIExhYmVsczwvZGVlcy1idXR0b24+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5SZXNwb25zaXZlIEJlaGF2aW9yPC9oMz4KICAgICAgPHA+QWxsIG1vZGFscyBhdXRvbWF0aWNhbGx5IGJlY29tZSBmdWxsLXdpZHRoIG9uIG1vYmlsZSBkZXZpY2VzICg8IDc2OHB4IHZpZXdwb3J0IHdpZHRoKSBmb3IgYmV0dGVyIHVzYWJpbGl0eS48L3A+CiAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e3dhLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IlJlc3BvbnNpdmUgTW9kYWwiLHdpZHRoOiJsYXJnZSIsc2hvd0hlbHBCdXR0b246ITAsb25IZWxwOnMoKCk9PmNvbnNvbGUubG9nKCJIZWxwIHJlcXVlc3RlZCBmb3IgcmVzcG9uc2l2ZSBtb2RhbCIpLCJvbkhlbHAiKSxjb250ZW50OndgCiAgICAgICAgICAgIDxwPlJlc2l6ZSB5b3VyIGJyb3dzZXIgd2luZG93IHRvIHNlZSBob3cgdGhpcyBtb2RhbCBhZGFwdHMuIE9uIG1vYmlsZSB2aWV3cG9ydHMsIGl0IHdpbGwgYXV0b21hdGljYWxseSB0YWtlIHRoZSBmdWxsIHdpZHRoIG1pbnVzIG1hcmdpbnMuPC9wPgogICAgICAgICAgICA8cD5UaGUgaGVhZGVyIGJ1dHRvbnMgcmVtYWluIGFjY2Vzc2libGUgYXQgYWxsIHZpZXdwb3J0IHNpemVzLjwvcD4KICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDbG9zZSIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfV19KX19PlRlc3QgUmVzcG9uc2l2ZTwvZGVlcy1idXR0b24+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+U2Nyb2xsYWJsZSBDb250ZW50PC9oMz4KICAgICAgPHA+V2hlbiBjb250ZW50IGV4Y2VlZHMgdGhlIG1vZGFsJ3MgbWF4LWhlaWdodCAoPGNvZGU+Y2FsYygxMDB2aCAtIDgwcHgpPC9jb2RlPiksIHRoZSB0aWxlIGNhcHMgYXQgdGhhdCBoZWlnaHQgYW5kIHRoZSBjb250ZW50IGFyZWEgc2Nyb2xscyBpbnNpZGUuIFRoZSBoZWFkaW5nIGFuZCBib3R0b20gYnV0dG9ucyBzdGF5IHBpbm5lZC48L3A+CiAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncmlkIj4KICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJMb25nIEFydGljbGUiLHdpZHRoOiJtZWRpdW0iLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8aDQgc3R5bGU9Im1hcmdpbi10b3A6IDA7Ij5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDwvaDQ+CiAgICAgICAgICAgICAgJHtBcnJheS5mcm9tKHtsZW5ndGg6NDB9LChhLGUpPT53YAogICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgIDxzdHJvbmc+wqcgJHtlKzF9Ljwvc3Ryb25nPgogICAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTZWQgZG8KICAgICAgICAgICAgICAgICAgZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQKICAgICAgICAgICAgICAgICAgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzCiAgICAgICAgICAgICAgICAgIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yCiAgICAgICAgICAgICAgICAgIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQKICAgICAgICAgICAgICAgICAgbnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsCiAgICAgICAgICAgICAgICAgIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCiAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDYW5jZWwiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX0se25hbWU6IkFjY2VwdCIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfV19KX19PkxvbmcgQXJ0aWNsZTwvZGVlcy1idXR0b24+CgogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e3dhLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IkxvbmcgTGlzdCIsd2lkdGg6InNtYWxsIixjb250ZW50OndgCiAgICAgICAgICAgICAgPHA+U2VsZWN0ZWQgaXRlbXM6PC9wPgogICAgICAgICAgICAgIDx1bCBzdHlsZT0icGFkZGluZy1sZWZ0OiAyMHB4OyBtYXJnaW46IDA7Ij4KICAgICAgICAgICAgICAgICR7QXJyYXkuZnJvbSh7bGVuZ3RoOjgwfSwoYSxlKT0+d2AKICAgICAgICAgICAgICAgICAgPGxpIHN0eWxlPSJwYWRkaW5nOiA0cHggMDsiPkl0ZW0gJHtlKzF9IOKAlCBvcHRpb24gbGFiZWw8L2xpPgogICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkRvbmUiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5Mb25nIExpc3Q8L2RlZXMtYnV0dG9uPgoKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJUYWxsIEZvcm0iLHdpZHRoOiJtZWRpdW0iLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgICAgICAgJHtBcnJheS5mcm9tKHtsZW5ndGg6MjV9LChhLGUpPT53YAogICAgICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0ke2BGaWVsZCAke2UrMX1gfT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgIDwvZGVlcy1mb3JtPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2FuY2VsIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9LHtuYW1lOiJTdWJtaXQiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5UYWxsIEZvcm08L2RlZXMtYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIHZzYSx4c2E9ZigoKT0+e2xlKCk7WHIoKTt2c2E9cygoKT0+d2AKICAgIDxkZWVzLWRlbW93cmFwcGVyPgogICAgICA8c3R5bGU+CiAgICAgICAgJHtYYAogICAgICAgICAgLmRlbW9Cb3ggewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgfQogICAgICAgICAgLnRpbGUtZGVtby1jb250ZW50IHsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICBpbnNldDogMDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUlKSIsImhzbCgwIDAlIDU1JSkiKX07CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIH0KICAgICAgICAgIC5mb290ZXItc3RhdHMgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICB9CiAgICAgICAgICAuZm9vdGVyLXN0YXRzIC5zdGF0IHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgICB9CiAgICAgICAgICAuZm9vdGVyLXN0YXRzIC5zdGF0IHN0cm9uZyB7CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgICB9CiAgICAgICAgYH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iZGVtb0JveCI+CiAgICAgICAgPGRlZXMtdGlsZSBoZWFkaW5nPSJTaW1wbGUgVGlsZSIgc3R5bGU9ImhlaWdodDogMjAwcHg7Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtZGVtby1jb250ZW50Ij5Db250ZW50IGFyZWEgd2l0aCByb3VuZGVkIGNvcm5lcnM8L2Rpdj4KICAgICAgICA8L2RlZXMtdGlsZT4KCiAgICAgICAgPGRlZXMtdGlsZSBoZWFkaW5nPSJUaWxlIHdpdGggRm9vdGVyIiBzdHlsZT0iaGVpZ2h0OiAyMDBweDsiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1kZW1vLWNvbnRlbnQiPkNvbnRlbnQgZ29lcyBoZXJlPC9kaXY+CiAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImZvb3Rlci1zdGF0cyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0Ij5sYXRlc3QgPHN0cm9uZz40Mjwvc3Ryb25nPjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXQiPm1pbiA8c3Ryb25nPjEyPC9zdHJvbmc+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdCI+bWF4IDxzdHJvbmc+ODc8L3N0cm9uZz48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0Ij5hdmcgPHN0cm9uZz40NS4zPC9zdHJvbmc+PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLXRpbGU+CgogICAgICAgIDxkZWVzLXRpbGUgc3R5bGU9ImhlaWdodDogMjAwcHg7Ij4KICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTJweDt3aWR0aDoxMDAlOyI+CiAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDo1MDA7Ij5DdXN0b20gSGVhZGVyPC9zcGFuPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IlNlYXJjaC4uLiIgc3R5bGU9ImZsZXg6MTttYXgtd2lkdGg6MjAwcHg7cGFkZGluZzoycHggOHB4O2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLXJhZGl1czo0cHg7Zm9udC1zaXplOjEycHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjppbmhlcml0O2JvcmRlci1jb2xvcjppbmhlcml0OyI+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtZGVtby1jb250ZW50Ij5DdXN0b20gaGVhZGVyIHNsb3Qgd2l0aCBzZWFyY2ggaW5wdXQ8L2Rpdj4KICAgICAgICA8L2RlZXMtdGlsZT4KICAgICAgPC9kaXY+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgYCwiZGVtb0Z1bmMiKX0pO3ZhciB0YWUsRGYseXNhLFhyPWYoKCk9PntsZSgpO3hzYSgpO2ZzKCk7UWUoKTt0YWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LERmPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSx5c2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLXRpbGUiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1RpbGUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLHU9W0soKV0sdGFlKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGVhZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iaGVhZGluZyJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLmhlYWRpbmcsImdldCIpLHNldDpzKChnLHkpPT57Zy5oZWFkaW5nPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbixsKSx0YWUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvdmVyc2Nyb2xsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJvdmVyc2Nyb2xsImluIGcsImhhcyIpLGdldDpzKGc9Pmcub3ZlcnNjcm9sbCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLm92ZXJzY3JvbGw9eX0sInNldCIpfSxtZXRhZGF0YTpifSxjLHApLHRhZSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imhhc0Zvb3RlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iaGFzRm9vdGVyImluIGcsImhhcyIpLGdldDpzKGc9PmcuaGFzRm9vdGVyLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuaGFzRm9vdGVyPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSx0YWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtbz12c2E7c3RhdGljIGRlbW9Hcm91cHM9WyJMYXlvdXQiXTsjZT1EZih0aGlzLG4sIiIpO2dldCBoZWFkaW5nKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGhlYWRpbmcoYil7dGhpcy4jZT1ifSN0PShEZih0aGlzLGwpLERmKHRoaXMsYywiYXV0byIpKTtnZXQgb3ZlcnNjcm9sbCgpe3JldHVybiB0aGlzLiN0fXNldCBvdmVyc2Nyb2xsKGIpe3RoaXMuI3Q9Yn0jYT0oRGYodGhpcyxwKSxEZih0aGlzLG0sITEpKTtnZXQgaGFzRm9vdGVyKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGhhc0Zvb3RlcihiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZm9udC1mYW1pbHk6ICR7cGF9OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC8qIC0tLSBUaGUgZnJhbWUgLS0tICovCiAgICAgIC50aWxlLW91dGVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctcHJpbWFyeSk7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CgogICAgICAvKiAtLS0gSGVhZGVyOiBiYXJlIGNvbnRhaW5lciwgb25seSB0aGUgZGVmYXVsdCBoZWFkaW5nIGdldHMgc3R5bGVkIC0tLSAqLwogICAgICAudGlsZS1oZWFkZXIgewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAudGlsZS1oZWFkaW5nIHsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgfQoKICAgICAgLyogLS0tIENvbnRlbnQ6IHRoZSByb3VuZGVkIGluc2V0IC0tLQogICAgICAgICBVc2VzIG92ZXJmbG93LXk6IGF1dG8gc28gdGhhdCB3aGVuIGEgY29uc3VtZXIgKGUuZy4gZGVlcy1tb2RhbCkgY2FwcwogICAgICAgICB0aGUgdGlsZSB3aXRoIG1heC1oZWlnaHQsIGxvbmcgY29udGVudCBzY3JvbGxzIGluc2lkZSB0aGUgdGlsZQogICAgICAgICBpbnN0ZWFkIG9mIGJlaW5nIGNsaXBwZWQuIEZvciBjb25zdW1lcnMgd2l0aG91dCBtYXgtaGVpZ2h0CiAgICAgICAgIChlLmcuIGRlZXMtc3RlcHBlciksIHRoZSB0aWxlIGdyb3dzIHdpdGggY29udGVudCBhbmQgdGhlIHNjcm9sbAogICAgICAgICBuZXZlciBhY3RpdmF0ZXMuIEhvcml6b250YWwgb3ZlcmZsb3cgc3RheXMgY2xpcHBlZCB0byBwcmVzZXJ2ZSB0aGUKICAgICAgICAgcm91bmRlZCBjb3JuZXJzLiAqLwogICAgICAudGlsZS1jb250ZW50IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluOwogICAgICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tZGVlcy1jb2xvci1zY3JvbGxiYXItdGh1bWIpIHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICA6aG9zdChbb3ZlcnNjcm9sbD0iY29udGFpbiJdKSAudGlsZS1jb250ZW50IHsKICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICB9CgogICAgICAudGlsZS1jb250ZW50Lm5vLWZvb3RlciB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOwogICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOwogICAgICB9CgogICAgICAvKiAtLS0gRm9vdGVyOiBiYXJlIGNvbnRhaW5lciwgY29uc3VtZXIgc3R5bGVzIHRoZSBzbG90dGVkIGNvbnRlbnQgLS0tICovCiAgICAgIC50aWxlLWZvb3RlciB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC50aWxlLWZvb3Rlci5oaWRkZW4gewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJ0aWxlLW91dGVyIiBwYXJ0PSJvdXRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1oZWFkZXIiIHBhcnQ9ImhlYWRlciI+CiAgICAgICAgICA8c2xvdCBuYW1lPSJoZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWhlYWRpbmciPiR7dGhpcy5oZWFkaW5nfTwvZGl2PgogICAgICAgICAgPC9zbG90PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtY29udGVudCAke3RoaXMuaGFzRm9vdGVyPyIiOiJuby1mb290ZXIifSIgcGFydD0iY29udGVudCI+CiAgICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1mb290ZXIgJHt0aGlzLmhhc0Zvb3Rlcj8iIjoiaGlkZGVuIn0iIHBhcnQ9ImZvb3RlciI+CiAgICAgICAgICA8c2xvdCBuYW1lPSJmb290ZXIiIEBzbG90Y2hhbmdlPSR7dGhpcy5vbkZvb3RlclNsb3RDaGFuZ2V9Pjwvc2xvdD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfW9uRm9vdGVyU2xvdENoYW5nZShiKXtsZXQgZz1iLnRhcmdldDt0aGlzLmhhc0Zvb3Rlcj1nLmFzc2lnbmVkTm9kZXMoe2ZsYXR0ZW46ITB9KS5sZW5ndGg+MH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksRGYodGhpcyx2KX1zdGF0aWN7RGYocix0KX19O3JldHVybiB4PXJ9KSgpfSk7dmFyIFFvLGhyLHdhLGhjPWYoKCk9PntMMSgpO1ZzKCk7VWkoKTtmcygpO2JzYSgpO2xlKCk7ZWEoKTtNMSgpO3ZhKCk7WHIoKTtRZSgpO1FvPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxocj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sd2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLW1vZGFsIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W10sQixNPVtdLFM9W10sUCxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXTt2YXIgY2U9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNNb2RhbCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCB1ZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVtLKHt9KV0sdT1bSyh7fSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLHk9WyQoe3R5cGU6TnVtYmVyfSldLE49WyQoe3R5cGU6TnVtYmVyfSldLE89WyQoe3R5cGU6Qm9vbGVhbn0pXSxCPVskKHt0eXBlOkJvb2xlYW59KV0sUD1bJCh7YXR0cmlidXRlOiExfSldLFc9WyQoe3R5cGU6Qm9vbGVhbn0pXSxoZT1bJCh7dHlwZTpOdW1iZXJ9KV0sbWU9W0soKV0sUW8odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoZWFkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJoZWFkaW5nImluIFksImhhcyIpLGdldDpzKFk9PlkuaGVhZGluZywiZ2V0Iiksc2V0OnMoKFksUSk9PntZLmhlYWRpbmc9UX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sbixsKSxRbyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbnRlbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+ImNvbnRlbnQiaW4gWSwiaGFzIiksZ2V0OnMoWT0+WS5jb250ZW50LCJnZXQiKSxzZXQ6cygoWSxRKT0+e1kuY29udGVudD1RfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxjLHApLFFvKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVudU9wdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+Im1lbnVPcHRpb25zImluIFksImhhcyIpLGdldDpzKFk9PlkubWVudU9wdGlvbnMsImdldCIpLHNldDpzKChZLFEpPT57WS5tZW51T3B0aW9ucz1RfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxtLHYpLFFvKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToid2lkdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+IndpZHRoImluIFksImhhcyIpLGdldDpzKFk9Plkud2lkdGgsImdldCIpLHNldDpzKChZLFEpPT57WS53aWR0aD1RfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxiLGcpLFFvKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWF4V2lkdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+Im1heFdpZHRoImluIFksImhhcyIpLGdldDpzKFk9PlkubWF4V2lkdGgsImdldCIpLHNldDpzKChZLFEpPT57WS5tYXhXaWR0aD1RfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxrLEMpLFFvKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWluV2lkdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+Im1pbldpZHRoImluIFksImhhcyIpLGdldDpzKFk9PlkubWluV2lkdGgsImdldCIpLHNldDpzKChZLFEpPT57WS5taW5XaWR0aD1RfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxfLHopLFFvKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0Nsb3NlQnV0dG9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJzaG93Q2xvc2VCdXR0b24iaW4gWSwiaGFzIiksZ2V0OnMoWT0+WS5zaG93Q2xvc2VCdXR0b24sImdldCIpLHNldDpzKChZLFEpPT57WS5zaG93Q2xvc2VCdXR0b249UX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sVCxFKSxRbyh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dIZWxwQnV0dG9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJzaG93SGVscEJ1dHRvbiJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLnNob3dIZWxwQnV0dG9uLCJnZXQiKSxzZXQ6cygoWSxRKT0+e1kuc2hvd0hlbHBCdXR0b249UX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sTSxTKSxRbyh0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9uSGVscCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4ib25IZWxwImluIFksImhhcyIpLGdldDpzKFk9Plkub25IZWxwLCJnZXQiKSxzZXQ6cygoWSxRKT0+e1kub25IZWxwPVF9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LEEsRiksUW8odGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb2JpbGVGdWxsc2NyZWVuIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJtb2JpbGVGdWxsc2NyZWVuImluIFksImhhcyIpLGdldDpzKFk9PlkubW9iaWxlRnVsbHNjcmVlbiwiZ2V0Iiksc2V0OnMoKFksUSk9PntZLm1vYmlsZUZ1bGxzY3JlZW49UX0sInNldCIpfSxtZXRhZGF0YTp1ZX0saixHKSxRbyh0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50UGFkZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4iY29udGVudFBhZGRpbmciaW4gWSwiaGFzIiksZ2V0OnMoWT0+WS5jb250ZW50UGFkZGluZywiZ2V0Iiksc2V0OnMoKFksUSk9PntZLmNvbnRlbnRQYWRkaW5nPVF9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LFIsVSksUW8odGhpcyxudWxsLG1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW9kYWxaSW5kZXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+Im1vZGFsWkluZGV4ImluIFksImhhcyIpLGdldDpzKFk9PlkubW9kYWxaSW5kZXgsImdldCIpLHNldDpzKChZLFEpPT57WS5tb2RhbFpJbmRleD1RfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxJLHEpLFFvKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOnVlfSxudWxsLHQpLGNlPXI9ZS52YWx1ZSx1ZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp1ZX0pfXN0YXRpYyBkZW1vPWdzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk92ZXJsYXkiXTtzdGF0aWMgYXN5bmMgY3JlYXRlQW5kU2hvdyh1ZSl7bGV0IFk9ZG9jdW1lbnQuYm9keSxRPW5ldyBjZTtyZXR1cm4gUS5oZWFkaW5nPXVlLmhlYWRpbmcsUS5jb250ZW50PXVlLmNvbnRlbnQsUS5tZW51T3B0aW9ucz11ZS5tZW51T3B0aW9ucyx1ZS53aWR0aCYmKFEud2lkdGg9dWUud2lkdGgpLHVlLm1heFdpZHRoJiYoUS5tYXhXaWR0aD11ZS5tYXhXaWR0aCksdWUubWluV2lkdGgmJihRLm1pbldpZHRoPXVlLm1pbldpZHRoKSx1ZS5zaG93Q2xvc2VCdXR0b24hPT12b2lkIDAmJihRLnNob3dDbG9zZUJ1dHRvbj11ZS5zaG93Q2xvc2VCdXR0b24pLHVlLnNob3dIZWxwQnV0dG9uIT09dm9pZCAwJiYoUS5zaG93SGVscEJ1dHRvbj11ZS5zaG93SGVscEJ1dHRvbiksdWUub25IZWxwJiYoUS5vbkhlbHA9dWUub25IZWxwKSx1ZS5tb2JpbGVGdWxsc2NyZWVuIT09dm9pZCAwJiYoUS5tb2JpbGVGdWxsc2NyZWVuPXVlLm1vYmlsZUZ1bGxzY3JlZW4pLHVlLmNvbnRlbnRQYWRkaW5nIT09dm9pZCAwJiYoUS5jb250ZW50UGFkZGluZz11ZS5jb250ZW50UGFkZGluZyksUS53aW5kb3dMYXllcj1hd2FpdCBqcy5jcmVhdGVBbmRTaG93KHtibHVyOiEwfSksUS53aW5kb3dMYXllci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYXN5bmMoKT0+e2F3YWl0IFEuZGVzdHJveSgpfSksWS5hcHBlbmQoUS53aW5kb3dMYXllciksWS5hcHBlbmQoUSksUS5tb2RhbFpJbmRleD1adC5nZXROZXh0WkluZGV4KCksWnQucmVnaXN0ZXIoUSxRLm1vZGFsWkluZGV4KSxRfSNlPWhyKHRoaXMsbiwiIik7Z2V0IGhlYWRpbmcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgaGVhZGluZyh1ZSl7dGhpcy4jZT11ZX0jdD0oaHIodGhpcyxsKSxocih0aGlzLGMsdm9pZCAwKSk7Z2V0IGNvbnRlbnQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgY29udGVudCh1ZSl7dGhpcy4jdD11ZX0jYT0oaHIodGhpcyxwKSxocih0aGlzLG0sW10pKTtnZXQgbWVudU9wdGlvbnMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgbWVudU9wdGlvbnModWUpe3RoaXMuI2E9dWV9I3I9KGhyKHRoaXMsdiksaHIodGhpcyxiLCJtZWRpdW0iKSk7Z2V0IHdpZHRoKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHdpZHRoKHVlKXt0aGlzLiNyPXVlfSNzPShocih0aGlzLGcpLGhyKHRoaXMsayx2b2lkIDApKTtnZXQgbWF4V2lkdGgoKXtyZXR1cm4gdGhpcy4jc31zZXQgbWF4V2lkdGgodWUpe3RoaXMuI3M9dWV9I2k9KGhyKHRoaXMsQyksaHIodGhpcyxfLHZvaWQgMCkpO2dldCBtaW5XaWR0aCgpe3JldHVybiB0aGlzLiNpfXNldCBtaW5XaWR0aCh1ZSl7dGhpcy4jaT11ZX0jbz0oaHIodGhpcyx6KSxocih0aGlzLFQsITApKTtnZXQgc2hvd0Nsb3NlQnV0dG9uKCl7cmV0dXJuIHRoaXMuI299c2V0IHNob3dDbG9zZUJ1dHRvbih1ZSl7dGhpcy4jbz11ZX0jbj0oaHIodGhpcyxFKSxocih0aGlzLE0sITEpKTtnZXQgc2hvd0hlbHBCdXR0b24oKXtyZXR1cm4gdGhpcy4jbn1zZXQgc2hvd0hlbHBCdXR0b24odWUpe3RoaXMuI249dWV9I2w9KGhyKHRoaXMsUyksaHIodGhpcyxBLHZvaWQgMCkpO2dldCBvbkhlbHAoKXtyZXR1cm4gdGhpcy4jbH1zZXQgb25IZWxwKHVlKXt0aGlzLiNsPXVlfSNjPShocih0aGlzLEYpLGhyKHRoaXMsaiwhMSkpO2dldCBtb2JpbGVGdWxsc2NyZWVuKCl7cmV0dXJuIHRoaXMuI2N9c2V0IG1vYmlsZUZ1bGxzY3JlZW4odWUpe3RoaXMuI2M9dWV9I2Q9KGhyKHRoaXMsRyksaHIodGhpcyxSLDE2KSk7Z2V0IGNvbnRlbnRQYWRkaW5nKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGNvbnRlbnRQYWRkaW5nKHVlKXt0aGlzLiNkPXVlfSN1PShocih0aGlzLFUpLGhyKHRoaXMsSSwxZTMpKTtnZXQgbW9kYWxaSW5kZXgoKXtyZXR1cm4gdGhpcy4jdX1zZXQgbW9kYWxaSW5kZXgodWUpe3RoaXMuI3U9dWV9Y29uc3RydWN0b3IoKXtzdXBlcigpfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7cGF9OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KICAgICAgLm1vZGFsQ29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDBweDsKICAgICAgICBsZWZ0OiAwcHg7CiAgICAgICAgd2lkdGg6IDEwMHZ3OwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CiAgICAgIGRlZXMtdGlsZSB7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KSBzY2FsZSgwLjk4KTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4OwogICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA4MHB4KTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSksIG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICAgIG1hcmdpbjogNDBweDsKICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICB9CgogICAgICBkZWVzLXRpbGU6OnBhcnQob3V0ZXIpIHsKICAgICAgICBib3gtc2hhZG93OgogICAgICAgICAgMCAwIDAgMXB4ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDMpIiwiaHNsKDAgMCUgMTAwJSAvIDAuMDMpIil9LAogICAgICAgICAgMCA4cHggNDBweCAke2guYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjEyKSIsImhzbCgwIDAlIDAlIC8gMC41KSIpfSwKICAgICAgICAgIDAgMnB4IDhweCAke2guYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjA2KSIsImhzbCgwIDAlIDAlIC8gMC4yNSkiKX07CiAgICAgIH0KCiAgICAgIC8qIFdpZHRoIHZhcmlhdGlvbnMgKi8KICAgICAgZGVlcy10aWxlLndpZHRoLXNtYWxsIHsKICAgICAgICB3aWR0aDogMzgwcHg7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZS53aWR0aC1tZWRpdW0gewogICAgICAgIHdpZHRoOiA1NjBweDsKICAgICAgfQoKICAgICAgZGVlcy10aWxlLndpZHRoLWxhcmdlIHsKICAgICAgICB3aWR0aDogODAwcHg7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZS53aWR0aC1mdWxsc2NyZWVuIHsKICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDQwcHgpOwogICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDQwcHgpOwogICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0MHB4KTsKICAgICAgfQoKICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAgICAgZGVlcy10aWxlIHsKICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gNDBweCkgIWltcG9ydGFudDsKICAgICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OwogICAgICAgIH0KCiAgICAgICAgLm1vZGFsQ29udGFpbmVyIHsKICAgICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgICAgfQoKICAgICAgICBkZWVzLXRpbGUgewogICAgICAgICAgbWFyZ2luOiAxMHB4OwogICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDIwcHgpOwogICAgICAgIH0KCiAgICAgICAgZGVlcy10aWxlLm1vYmlsZS1mdWxsc2NyZWVuIHsKICAgICAgICAgIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OwogICAgICAgICAgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OwogICAgICAgICAgbWF4LWhlaWdodDogMTAwdmggIWltcG9ydGFudDsKICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICB9CgogICAgICAgIGRlZXMtdGlsZS5tb2JpbGUtZnVsbHNjcmVlbjo6cGFydChvdXRlcikgewogICAgICAgICAgYm9yZGVyLXJhZGl1czogMDsKICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZS5zaG93IHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTsKICAgICAgfQoKICAgICAgZGVlcy10aWxlLnNob3cucHJlZGVzdHJveSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KSBzY2FsZSgwLjk4KTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZS1pbiwgb3BhY2l0eSAwLjE1cyBlYXNlLWluOwogICAgICB9CgogICAgICAuaGVhZGluZyB7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDhweCAwIDE2cHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAuaGVhZGluZyAuaGVhZGluZy10ZXh0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nIC5oZWFkZXItYnV0dG9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nIC5oZWFkZXItYnV0dG9uIHsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nIC5oZWFkZXItYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nIC5oZWFkZXItYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDkwJSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICB9CgogICAgICAuaGVhZGluZyAuaGVhZGVyLWJ1dHRvbiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAwOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbjpmaXJzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b246YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTIlKSIsImhzbCgwIDAlIDEzJSkiKX07CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b24ucHJpbWFyeSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uLnByaW1hcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjA4KSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSAvIDAuMDgpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDUwJSkiLCJoc2woMjEzLjEgOTMuOSUgNzUlKSIpfTsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbi5wcmltYXJ5OmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMTIpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4xMikiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCB1ZT10eXBlb2YgdGhpcy53aWR0aD09InN0cmluZyI/YHdpZHRoLSR7dGhpcy53aWR0aH1gOiIiLFk9dHlwZW9mIHRoaXMud2lkdGg9PSJudW1iZXIiP2Ake3RoaXMud2lkdGh9cHhgOiIiLFE9dGhpcy5tYXhXaWR0aD9gJHt0aGlzLm1heFdpZHRofXB4YDoiIixKPXRoaXMubWluV2lkdGg/YCR7dGhpcy5taW5XaWR0aH1weGA6IiIsWj10aGlzLm1vYmlsZUZ1bGxzY3JlZW4/Im1vYmlsZS1mdWxsc2NyZWVuIjoiIjtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgICR7WT9gZGVlcy10aWxlIHsgd2lkdGg6ICR7WX07IH1gOiIifQogICAgICAgICR7UT9gZGVlcy10aWxlIHsgbWF4LXdpZHRoOiAke1F9OyB9YDoiIn0KICAgICAgICAke0o/YGRlZXMtdGlsZSB7IG1pbi13aWR0aDogJHtKfTsgfWA6IiJ9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9Im1vZGFsQ29udGFpbmVyIiBAY2xpY2s9JHt0aGlzLmhhbmRsZU91dHNpZGVDbGlja30gc3R5bGU9InotaW5kZXg6ICR7dGhpcy5tb2RhbFpJbmRleH0iPgogICAgICAgIDxkZWVzLXRpbGUgY2xhc3M9IiR7dWV9ICR7Wn0iIC5vdmVyc2Nyb2xsPSR7ImNvbnRhaW4ifT4KICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iaGVhZGluZyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmctdGV4dCI+JHt0aGlzLmhlYWRpbmd9PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1idXR0b25zIj4KICAgICAgICAgICAgICAke3RoaXMuc2hvd0hlbHBCdXR0b24/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1idXR0b24iIEBjbGljaz0ke3RoaXMuaGFuZGxlSGVscH0gdGl0bGU9IkhlbHAiPgogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpoZWxwQ2lyY2xlIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICR7dGhpcy5zaG93Q2xvc2VCdXR0b24/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmRlc3Ryb3koKX0gdGl0bGU9IkNsb3NlIj4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6eCJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiIHN0eWxlPSJwYWRkaW5nOiAke3RoaXMuY29udGVudFBhZGRpbmd9cHg7Ij4ke3RoaXMuY29udGVudH08L2Rpdj4KICAgICAgICAgICR7dGhpcy5tZW51T3B0aW9ucy5sZW5ndGg+MD93YAogICAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImJvdHRvbUJ1dHRvbnMiPgogICAgICAgICAgICAgICR7dGhpcy5tZW51T3B0aW9ucy5tYXAoKGdlLGFlKT0+d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tQnV0dG9uICR7YWU9PT10aGlzLm1lbnVPcHRpb25zLmxlbmd0aC0xPyJwcmltYXJ5IjoiIn0gJHtnZS5uYW1lPT09Ik9LIj8ib2siOiIifSIgQGNsaWNrPSR7KCk9PntnZS5hY3Rpb24odGhpcyl9fT4ke2dlLm5hbWV9PC9kaXY+CiAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGVlcy10aWxlPgogICAgICA8L2Rpdj4KICAgIGB9d2luZG93TGF5ZXI9aHIodGhpcyxxKTthc3luYyBmaXJzdFVwZGF0ZWQodWUpe3N1cGVyLmZpcnN0VXBkYXRlZCh1ZSksYXdhaXQoYXdhaXQgdGhpcy5kb210b29sc1Byb21pc2UpLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMzApLHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLXRpbGUiKS5jbGFzc0xpc3QuYWRkKCJzaG93Iil9YXN5bmMgaGFuZGxlT3V0c2lkZUNsaWNrKHVlKXt1ZS5zdG9wUHJvcGFnYXRpb24oKTtsZXQgWT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm1vZGFsQ29udGFpbmVyIik7dWUudGFyZ2V0PT09WSYmYXdhaXQgdGhpcy5kZXN0cm95KCl9YXN5bmMgZGVzdHJveSgpe2xldCB1ZT1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZTt0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy10aWxlIikuY2xhc3NMaXN0LmFkZCgicHJlZGVzdHJveSIpLGF3YWl0IHVlLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMjAwKSxkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRoaXMpLGF3YWl0IHRoaXMud2luZG93TGF5ZXIuZGVzdHJveSgpLFp0LnVucmVnaXN0ZXIodGhpcyl9YXN5bmMgaGFuZGxlSGVscCgpe3RoaXMub25IZWxwJiZhd2FpdCB0aGlzLm9uSGVscCgpfXN0YXRpY3tocihyLHQpfX07cmV0dXJuIGNlPXJ9KSgpfSk7dmFyIHdzYSxNc2E9ZigoKT0+e2xlKCk7d3NhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgJHtYYAogICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBtYXgtd2lkdGg6IDgwMHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB9CgogICAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y4ZjlmYSIsIiMxYTFhMWEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlMGUwZTAiLCIjMzMzIil9OwogICAgICB9CgogICAgICAuZGVtby1zZWN0aW9uIGgzIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzMzIiwiI2ZmZiIpfTsKICAgICAgfQoKICAgICAgLmRlbW8tc2VjdGlvbiBwIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2NjYiLCIjOTk5Iil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAubGFiZWwtZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQoKICAgICAgLmxhYmVsLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICAubGFiZWwtcm93IC5hbm5vdGF0aW9uIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM4ODgiLCIjNjY2Iil9OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIG1pbi13aWR0aDogMjAwcHg7CiAgICAgIH0KICAgIGB9CiAgPC9zdHlsZT4KCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkJhc2ljIExhYmVsPC9oMz4KICAgICAgPHA+QSBzaW1wbGUgdGV4dCBsYWJlbCB3aXRoIG5vIGFkZGl0aW9uYWwgaW5kaWNhdG9ycy48L3A+CiAgICAgIDxkaXYgY2xhc3M9ImxhYmVsLWdyaWQiPgogICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsLXJvdyI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iYW5ub3RhdGlvbiI+bGFiZWw9IlVzZXJuYW1lIjwvc3Bhbj4KICAgICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0keyJVc2VybmFtZSJ9PjwvZGVlcy1sYWJlbD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJsYWJlbC1yb3ciPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImFubm90YXRpb24iPmxhYmVsPSJFbWFpbCBBZGRyZXNzIjwvc3Bhbj4KICAgICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0keyJFbWFpbCBBZGRyZXNzIn0+PC9kZWVzLWxhYmVsPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5SZXF1aXJlZCBJbmRpY2F0b3I8L2gzPgogICAgICA8cD5XaGVuIDxjb2RlPnJlcXVpcmVkPC9jb2RlPiBpcyBzZXQsIGEgcmVkIGFzdGVyaXNrIGFwcGVhcnMgYWZ0ZXIgdGhlIGxhYmVsIHRleHQuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJsYWJlbC1ncmlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJsYWJlbC1yb3ciPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImFubm90YXRpb24iPnJlcXVpcmVkPSR7Int0cnVlfSJ9PC9zcGFuPgogICAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7IkZ1bGwgTmFtZSJ9IC5yZXF1aXJlZD0keyEwfT48L2RlZXMtbGFiZWw+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwtcm93Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbm5vdGF0aW9uIj5yZXF1aXJlZD0keyJ7ZmFsc2V9In0gKGRlZmF1bHQpPC9zcGFuPgogICAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7Ik5pY2tuYW1lIn0gLnJlcXVpcmVkPSR7ITF9PjwvZGVlcy1sYWJlbD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+SW5mbyBUZXh0IChJbmZvIEljb24pPC9oMz4KICAgICAgPHA+V2hlbiA8Y29kZT5pbmZvVGV4dDwvY29kZT4gaXMgc2V0LCBhbiBpbmZvIGljb24gYXBwZWFycyBuZXh0IHRvIHRoZSBsYWJlbC4gSG92ZXIgb3ZlciBpdCB0byBzZWUgdGhlIHRvb2x0aXAuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJsYWJlbC1ncmlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJsYWJlbC1yb3ciPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImFubm90YXRpb24iPmluZm9UZXh0PSIuLi4iPC9zcGFuPgogICAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7IkFQSSBLZXkifSAuaW5mb1RleHQ9JHsiWW91ciBBUEkga2V5IGNhbiBiZSBmb3VuZCBpbiB0aGUgZGV2ZWxvcGVyIHNldHRpbmdzIGRhc2hib2FyZC4ifT48L2RlZXMtbGFiZWw+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwtcm93Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbm5vdGF0aW9uIj5zaG9ydCBpbmZvVGV4dDwvc3Bhbj4KICAgICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0keyJSZWdpb24ifSAuaW5mb1RleHQ9JHsiU2VsZWN0IHlvdXIgbmVhcmVzdCBkYXRhY2VudGVyLiJ9PjwvZGVlcy1sYWJlbD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+UmVxdWlyZWQgKyBJbmZvIFRleHQ8L2gzPgogICAgICA8cD5Cb3RoIGluZGljYXRvcnMgY2FuIGJlIGNvbWJpbmVkLiBUaGUgYXN0ZXJpc2sgYXBwZWFycyBmaXJzdCwgdGhlbiB0aGUgaW5mbyBpY29uLjwvcD4KICAgICAgPGRpdiBjbGFzcz0ibGFiZWwtZ3JpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwtcm93Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbm5vdGF0aW9uIj5yZXF1aXJlZCArIGluZm9UZXh0PC9zcGFuPgogICAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7IlBhc3N3b3JkIn0gLnJlcXVpcmVkPSR7ITB9IC5pbmZvVGV4dD0keyJNdXN0IGJlIGF0IGxlYXN0IDggY2hhcmFjdGVycyB3aXRoIG9uZSB1cHBlcmNhc2UgbGV0dGVyIGFuZCBvbmUgbnVtYmVyLiJ9PjwvZGVlcy1sYWJlbD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJsYWJlbC1yb3ciPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImFubm90YXRpb24iPnJlcXVpcmVkICsgaW5mb1RleHQ8L3NwYW4+CiAgICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHsiRW1haWwgQWRkcmVzcyJ9IC5yZXF1aXJlZD0keyEwfSAuaW5mb1RleHQ9JHsiV2Ugd2lsbCBzZW5kIGEgdmVyaWZpY2F0aW9uIGxpbmsgdG8gdGhpcyBhZGRyZXNzLiJ9PjwvZGVlcy1sYWJlbD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+RW1wdHkgTGFiZWw8L2gzPgogICAgICA8cD5XaGVuIDxjb2RlPmxhYmVsPC9jb2RlPiBpcyBlbXB0eSBvciBub3Qgc2V0LCBub3RoaW5nIGlzIHJlbmRlcmVkLiBUaGUgZWxlbWVudCBiZWxvdyBoYXMgbm8gbGFiZWwgdGV4dDo8L3A+CiAgICAgIDxkaXYgY2xhc3M9ImxhYmVsLWdyaWQiPgogICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsLXJvdyI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iYW5ub3RhdGlvbiI+bGFiZWw9IiIgKGVtcHR5KTwvc3Bhbj4KICAgICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0keyIifT48L2RlZXMtbGFiZWw+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgYWFlLEFmLGtzYSxjbT1mKCgpPT57VnMoKTtMMSgpO2xlKCk7TXNhKCk7UWUoKTthYWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEFmPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxrc2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLWxhYmVsIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNMYWJlbCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sZD1bJCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSx1PVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSxhYWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYWJlbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4ibGFiZWwiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5sYWJlbCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLmxhYmVsPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbixsKSxhYWUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbmZvVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iaW5mb1RleHQiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5pbmZvVGV4dCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLmluZm9UZXh0PXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sYyxwKSxhYWUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZXF1aXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4icmVxdWlyZWQiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5yZXF1aXJlZCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnJlcXVpcmVkPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSxhYWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtbz13c2E7c3RhdGljIGRlbW9Hcm91cHM9WyJMYXlvdXQiLCJJbnB1dCJdOyNlPUFmKHRoaXMsbiwiIik7Z2V0IGxhYmVsKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGxhYmVsKGIpe3RoaXMuI2U9Yn0jdD0oQWYodGhpcyxsKSxBZih0aGlzLGMsdm9pZCAwKSk7Z2V0IGluZm9UZXh0KCl7cmV0dXJuIHRoaXMuI3R9c2V0IGluZm9UZXh0KGIpe3RoaXMuI3Q9Yn0jYT0oQWYodGhpcyxwKSxBZih0aGlzLG0sITEpKTtnZXQgcmVxdWlyZWQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgcmVxdWlyZWQoYil7dGhpcy4jYT1ifXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC5sYWJlbCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLnJlcXVpcmVkIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlKSIsImhzbCgwIDcyLjIlIDUwLjYlKSIpfTsKICAgICAgICBtYXJnaW4tbGVmdDogMnB4OwogICAgICB9CgogICAgICAuZGVzY3JpcHRpb24taWNvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgbWFyZ2luOiAtNnB4IDAgLTZweCAycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgIH0KCiAgICAgIC5kZXNjcmlwdGlvbi1pY29uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjA2KSIsImhzbCgwIDAlIDEwMCUgLyAwLjA4KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDI1JSkiLCJoc2woMCAwJSA4MCUpIil9OwogICAgICB9CgogICAgICAuZGVzY3JpcHRpb24taWNvbiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgICR7dGhpcy5sYWJlbD93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYWJlbCI+CiAgICAgICAgICAgICAgJHt0aGlzLmxhYmVsfQogICAgICAgICAgICAgICR7dGhpcy5yZXF1aXJlZD93YDxzcGFuIGNsYXNzPSJyZXF1aXJlZCI+Kjwvc3Bhbj5gOiIifQogICAgICAgICAgICAgICR7dGhpcy5pbmZvVGV4dD93YAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uLWljb24iPgogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6aW5mbyJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkZWVzLXNwZWVjaGJ1YmJsZSAudGV4dD0ke3RoaXMuaW5mb1RleHR9PjwvZGVlcy1zcGVlY2hidWJibGU+CiAgICAgICAgICAgICAgICAgIGA6d2BgfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6d2BgfQogICAgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksQWYodGhpcyx2KX1zdGF0aWN7QWYocix0KX19O3JldHVybiB4PXJ9KSgpfSk7dmFyIHJhZSxSWWU9ZigoKT0+e3JhZT0iMC41NS4xIn0pO3ZhciBkbSwkMSxTc2EsRWY9ZigoKT0+e2xlKCk7ZWEoKTtSWWUoKTtRZSgpO2RtPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSwkMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sU3NhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy13b3Jrc3BhY2UtbW9uYWNvIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W107dmFyIE49Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNXb3Jrc3BhY2VNb25hY28iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOk9iamVjdH0pXSx5PVskKHt0eXBlOkJvb2xlYW59KV0sZG0odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJjb250ZW50ImluIHosImhhcyIpLGdldDpzKHo9PnouY29udGVudCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmNvbnRlbnQ9T30sInNldCIpfSxtZXRhZGF0YTpffSxuLGwpLGRtKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFuZ3VhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Imxhbmd1YWdlImluIHosImhhcyIpLGdldDpzKHo9PnoubGFuZ3VhZ2UsImdldCIpLHNldDpzKCh6LE8pPT57ei5sYW5ndWFnZT1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGMscCksZG0odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWxlUGF0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iZmlsZVBhdGgiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5maWxlUGF0aCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmZpbGVQYXRoPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbSx2KSxkbSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbnRlbnRTdWJqZWN0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJjb250ZW50U3ViamVjdCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmNvbnRlbnRTdWJqZWN0LCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouY29udGVudFN1YmplY3Q9T30sInNldCIpfSxtZXRhZGF0YTpffSxiLGcpLGRtKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToid29yZFdyYXAiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+IndvcmRXcmFwImluIHosImhhcyIpLGdldDpzKHo9Pnoud29yZFdyYXAsImdldCIpLHNldDpzKCh6LE8pPT57ei53b3JkV3JhcD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGssQyksZG0obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X30sbnVsbCx0KSxOPXI9ZS52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgZGVtbz1zKCgpPT53YDxkZWVzLXdvcmtzcGFjZS1tb25hY28+PC9kZWVzLXdvcmtzcGFjZS1tb25hY28+YCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiV29ya3NwYWNlIl07c3RhdGljIG1vbmFjb0RlZmVycmVkO2VkaXRvckRlZmVycmVkPUh0LnNtYXJ0cHJvbWlzZS5kZWZlcigpOyNlPSQxKHRoaXMsbixgZnVuY3Rpb24gaGVsbG8oKSB7CglhbGVydCgnSGVsbG8gd29ybGQhJyk7Cn1gKTtnZXQgY29udGVudCgpe3JldHVybiB0aGlzLiNlfXNldCBjb250ZW50KF8pe3RoaXMuI2U9X30jdD0oJDEodGhpcyxsKSwkMSh0aGlzLGMsInR5cGVzY3JpcHQiKSk7Z2V0IGxhbmd1YWdlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGxhbmd1YWdlKF8pe3RoaXMuI3Q9X30jYT0oJDEodGhpcyxwKSwkMSh0aGlzLG0sIiIpKTtnZXQgZmlsZVBhdGgoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZmlsZVBhdGgoXyl7dGhpcy4jYT1ffSNyPSgkMSh0aGlzLHYpLCQxKHRoaXMsYixuZXcgSHQuc21hcnRyeC5yeGpzLlN1YmplY3QpKTtnZXQgY29udGVudFN1YmplY3QoKXtyZXR1cm4gdGhpcy4jcn1zZXQgY29udGVudFN1YmplY3QoXyl7dGhpcy4jcj1ffSNzPSgkMSh0aGlzLGcpLCQxKHRoaXMsaywib2ZmIikpO2dldCB3b3JkV3JhcCgpe3JldHVybiB0aGlzLiNzfXNldCB3b3JkV3JhcChfKXt0aGlzLiNzPV99bW9uYWNvVGhlbWVTdWJzY3JpcHRpb249KCQxKHRoaXMsQyksbnVsbCk7aXNVcGRhdGluZ0Zyb21FeHRlcm5hbD0hMTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksX2kuc2V0dXBEb21Ub29scygpfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgKiB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLm1haW5ib3ggewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICNjb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtYWluYm94Ij4KICAgICAgICA8ZGl2IGlkPSJjb250YWluZXIiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKF8pe3N1cGVyLmZpcnN0VXBkYXRlZChfKTtsZXQgej10aGlzLnNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLE89YGh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbW9uYWNvLWVkaXRvckAke3JhZX1gO2lmKCFOLm1vbmFjb0RlZmVycmVkKXtOLm1vbmFjb0RlZmVycmVkPUh0LnNtYXJ0cHJvbWlzZS5kZWZlcigpO2xldCBNPWAke099L21pbi92cy9sb2FkZXIuanNgLFM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Uy5zcmM9TSxTLm9ubG9hZD0oKT0+e04ubW9uYWNvRGVmZXJyZWQucmVzb2x2ZSgpfSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKFMpfWF3YWl0IE4ubW9uYWNvRGVmZXJyZWQucHJvbWlzZSx3aW5kb3cucmVxdWlyZS5jb25maWcoe3BhdGhzOnt2czpgJHtPfS9taW4vdnNgfX0pLHdpbmRvdy5yZXF1aXJlKFsidnMvZWRpdG9yL2VkaXRvci5tYWluIl0sYXN5bmMoKT0+e2xldCBNPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLFA9TS50aGVtZU1hbmFnZXIuZ29CcmlnaHRCb29sZWFuPyJ2cyI6InZzLWRhcmsiLEE9d2luZG93Lm1vbmFjbyxGPW51bGw7aWYodGhpcy5maWxlUGF0aCl7bGV0IGo9QS5VcmkucGFyc2UoYGZpbGU6Ly8ke3RoaXMuZmlsZVBhdGh9YCk7Rj1BLmVkaXRvci5nZXRNb2RlbChqKSxGP0Yuc2V0VmFsdWUodGhpcy5jb250ZW50KTpGPUEuZWRpdG9yLmNyZWF0ZU1vZGVsKHRoaXMuY29udGVudCx0aGlzLmxhbmd1YWdlLGopfWxldCBXPUEuZWRpdG9yLmNyZWF0ZSh6LHttb2RlbDpGfHx2b2lkIDAsdmFsdWU6Rj92b2lkIDA6dGhpcy5jb250ZW50LGxhbmd1YWdlOkY/dm9pZCAwOnRoaXMubGFuZ3VhZ2UsdGhlbWU6UCx1c2VTaGFkb3dET006ITAsZm9udFNpemU6MTYsYXV0b21hdGljTGF5b3V0OiEwLHdvcmRXcmFwOnRoaXMud29yZFdyYXAsaG92ZXI6e2VuYWJsZWQ6ITAsZGVsYXk6MzAwLHN0aWNreTohMCxhYm92ZTohMX19KTt0aGlzLm1vbmFjb1RoZW1lU3Vic2NyaXB0aW9uPU0udGhlbWVNYW5hZ2VyLnRoZW1lT2JzZXJ2YWJsZS5zdWJzY3JpYmUoaj0+e2xldCBHPWo/InZzIjoidnMtZGFyayI7Vy51cGRhdGVPcHRpb25zKHt0aGVtZTpHfSl9KSx0aGlzLmVkaXRvckRlZmVycmVkLnJlc29sdmUoVyl9KTtsZXQgVD1hd2FpdChhd2FpdCBmZXRjaChgJHtPfS9taW4vdnMvZWRpdG9yL2VkaXRvci5tYWluLmNzc2ApKS50ZXh0KCksRT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO0UudGV4dENvbnRlbnQ9VCx0aGlzLnNoYWRvd1Jvb3QuYXBwZW5kKEUpO2xldCBCPWF3YWl0IHRoaXMuZWRpdG9yRGVmZXJyZWQucHJvbWlzZTtCLm9uRGlkQ2hhbmdlTW9kZWxDb250ZW50KGFzeW5jIE09PntpZih0aGlzLmlzVXBkYXRpbmdGcm9tRXh0ZXJuYWwpcmV0dXJuO2xldCBTPUIuZ2V0VmFsdWUoKTt0aGlzLmNvbnRlbnRTdWJqZWN0Lm5leHQoUyksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29udGVudC1jaGFuZ2UiLHtkZXRhaWw6UyxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfSksdGhpcy5jb250ZW50U3ViamVjdC5uZXh0KEIuZ2V0VmFsdWUoKSl9YXN5bmMgdXBkYXRlZChfKXtzdXBlci51cGRhdGVkKF8pO2xldCB6PXdpbmRvdy5tb25hY287aWYoeil7aWYoXy5oYXMoImZpbGVQYXRoIikmJnRoaXMuZmlsZVBhdGgpe2xldCBPPWF3YWl0IHRoaXMuZWRpdG9yRGVmZXJyZWQucHJvbWlzZSxUPXouVXJpLnBhcnNlKGBmaWxlOi8vJHt0aGlzLmZpbGVQYXRofWApLEU9ei5lZGl0b3IuZ2V0TW9kZWwoVCk7RT9FLmdldFZhbHVlKCkhPT10aGlzLmNvbnRlbnQmJih0aGlzLmlzVXBkYXRpbmdGcm9tRXh0ZXJuYWw9ITAsRS5zZXRWYWx1ZSh0aGlzLmNvbnRlbnQpLHRoaXMuaXNVcGRhdGluZ0Zyb21FeHRlcm5hbD0hMSk6RT16LmVkaXRvci5jcmVhdGVNb2RlbCh0aGlzLmNvbnRlbnQsdGhpcy5sYW5ndWFnZSxUKSxPLmdldE1vZGVsKCk/LnVyaS50b1N0cmluZygpIT09VC50b1N0cmluZygpJiZPLnNldE1vZGVsKEUpO3JldHVybn1pZihfLmhhcygiY29udGVudCIpKXtsZXQgTz1hd2FpdCB0aGlzLmVkaXRvckRlZmVycmVkLnByb21pc2U7Ty5nZXRWYWx1ZSgpIT09dGhpcy5jb250ZW50JiYodGhpcy5pc1VwZGF0aW5nRnJvbUV4dGVybmFsPSEwLE8uc2V0VmFsdWUodGhpcy5jb250ZW50KSx0aGlzLmlzVXBkYXRpbmdGcm9tRXh0ZXJuYWw9ITEpfWlmKF8uaGFzKCJsYW5ndWFnZSIpKXtsZXQgVD0oYXdhaXQgdGhpcy5lZGl0b3JEZWZlcnJlZC5wcm9taXNlKS5nZXRNb2RlbCgpO1QmJnouZWRpdG9yLnNldE1vZGVsTGFuZ3VhZ2UoVCx0aGlzLmxhbmd1YWdlKX19fWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLm1vbmFjb1RoZW1lU3Vic2NyaXB0aW9uJiYodGhpcy5tb25hY29UaGVtZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMubW9uYWNvVGhlbWVTdWJzY3JpcHRpb249bnVsbCl9YXN5bmMgc2V0Q29udGVudEV4dGVybmFsKF8sej0hMCl7bGV0IE89YXdhaXQgdGhpcy5lZGl0b3JEZWZlcnJlZC5wcm9taXNlO2lmKE8uZ2V0VmFsdWUoKT09PV8pcmV0dXJuO2xldCBFPXo/Ty5nZXRQb3NpdGlvbigpOm51bGwsQj16P08uZ2V0U2VsZWN0aW9ucygpOm51bGwsTT16P08uZ2V0U2Nyb2xsVG9wKCk6MCxTPXo/Ty5nZXRTY3JvbGxMZWZ0KCk6MDtpZih0aGlzLmlzVXBkYXRpbmdGcm9tRXh0ZXJuYWw9ITAsTy5zZXRWYWx1ZShfKSx0aGlzLmlzVXBkYXRpbmdGcm9tRXh0ZXJuYWw9ITEseil7aWYoRSl7bGV0IFA9Ty5nZXRNb2RlbCgpLEE9UD8uZ2V0TGluZUNvdW50KCl8fDEsRj1NYXRoLm1pbihFLmxpbmVOdW1iZXIsQSksVz1QPy5nZXRMaW5lTWF4Q29sdW1uKEYpfHwxLGo9TWF0aC5taW4oRS5jb2x1bW4sVyk7Ty5zZXRQb3NpdGlvbih7bGluZU51bWJlcjpGLGNvbHVtbjpqfSl9aWYoQiYmQi5sZW5ndGg+MCl0cnl7Ty5zZXRTZWxlY3Rpb25zKEIpfWNhdGNoe31PLnNldFNjcm9sbFBvc2l0aW9uKHtzY3JvbGxUb3A6TSxzY3JvbGxMZWZ0OlN9KX19c3RhdGljeyQxKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBVMixBcyxQZixzYWUsT1llPWYoKCk9PntTcigpO2xlKCk7UWUoKTtoYygpO3ZhKCk7Y20oKTtYcigpO0VmKCk7RWYoKTtVMj1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sQXM9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFBmPVt7a2V5OiJ0eXBlc2NyaXB0IixsYWJlbDoiVHlwZVNjcmlwdCJ9LHtrZXk6ImphdmFzY3JpcHQiLGxhYmVsOiJKYXZhU2NyaXB0In0se2tleToianNvbiIsbGFiZWw6IkpTT04ifSx7a2V5OiJodG1sIixsYWJlbDoiSFRNTCJ9LHtrZXk6ImNzcyIsbGFiZWw6IkNTUyJ9LHtrZXk6InNjc3MiLGxhYmVsOiJTQ1NTIn0se2tleToibWFya2Rvd24iLGxhYmVsOiJNYXJrZG93biJ9LHtrZXk6InlhbWwiLGxhYmVsOiJZQU1MIn0se2tleToieG1sIixsYWJlbDoiWE1MIn0se2tleToic3FsIixsYWJlbDoiU1FMIn0se2tleToicHl0aG9uIixsYWJlbDoiUHl0aG9uIn0se2tleToiamF2YSIsbGFiZWw6IkphdmEifSx7a2V5OiJjc2hhcnAiLGxhYmVsOiJDIyJ9LHtrZXk6ImNwcCIsbGFiZWw6IkMrKyJ9LHtrZXk6ImdvIixsYWJlbDoiR28ifSx7a2V5OiJydXN0IixsYWJlbDoiUnVzdCJ9LHtrZXk6InNoZWxsIixsYWJlbDoiU2hlbGwifSx7a2V5OiJwbGFpbnRleHQiLGxhYmVsOiJQbGFpbiBUZXh0In1dLHNhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtY29kZSIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdLFAsQT1bXSxGPVtdO3ZhciBXPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRDb2RlIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGo9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpTdHJpbmd9KV0seD1bJCh7dHlwZTpTdHJpbmd9KV0seT1bJCh7dHlwZTpCb29sZWFufSldLE49W0soKV0sTz1bSygpXSxCPVtLKCldLFA9W0soKV0sVTIodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4idmFsdWUiaW4gRywiaGFzIiksZ2V0OnMoRz0+Ry52YWx1ZSwiZ2V0Iiksc2V0OnMoKEcsaGUpPT57Ry52YWx1ZT1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxuLGwpLFUyKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFuZ3VhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRz0+Imxhbmd1YWdlImluIEcsImhhcyIpLGdldDpzKEc9PkcubGFuZ3VhZ2UsImdldCIpLHNldDpzKChHLGhlKT0+e0cubGFuZ3VhZ2U9aGV9LCJzZXQiKX0sbWV0YWRhdGE6an0sYyxwKSxVMih0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhlaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4iaGVpZ2h0ImluIEcsImhhcyIpLGdldDpzKEc9PkcuaGVpZ2h0LCJnZXQiKSxzZXQ6cygoRyxoZSk9PntHLmhlaWdodD1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxtLHYpLFUyKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToid29yZFdyYXAiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRz0+IndvcmRXcmFwImluIEcsImhhcyIpLGdldDpzKEc9Pkcud29yZFdyYXAsImdldCIpLHNldDpzKChHLGhlKT0+e0cud29yZFdyYXA9aGV9LCJzZXQiKX0sbWV0YWRhdGE6an0sYixnKSxVMih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dMaW5lTnVtYmVycyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4ic2hvd0xpbmVOdW1iZXJzImluIEcsImhhcyIpLGdldDpzKEc9Pkcuc2hvd0xpbmVOdW1iZXJzLCJnZXQiKSxzZXQ6cygoRyxoZSk9PntHLnNob3dMaW5lTnVtYmVycz1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxrLEMpLFUyKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNMYW5ndWFnZURyb3Bkb3duT3BlbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4iaXNMYW5ndWFnZURyb3Bkb3duT3BlbiJpbiBHLCJoYXMiKSxnZXQ6cyhHPT5HLmlzTGFuZ3VhZ2VEcm9wZG93bk9wZW4sImdldCIpLHNldDpzKChHLGhlKT0+e0cuaXNMYW5ndWFnZURyb3Bkb3duT3Blbj1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxfLHopLFUyKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29weVN1Y2Nlc3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRz0+ImNvcHlTdWNjZXNzImluIEcsImhhcyIpLGdldDpzKEc9PkcuY29weVN1Y2Nlc3MsImdldCIpLHNldDpzKChHLGhlKT0+e0cuY29weVN1Y2Nlc3M9aGV9LCJzZXQiKX0sbWV0YWRhdGE6an0sVCxFKSxVMih0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxpbmVDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4ibGluZUNvdW50ImluIEcsImhhcyIpLGdldDpzKEc9PkcubGluZUNvdW50LCJnZXQiKSxzZXQ6cygoRyxoZSk9PntHLmxpbmVDb3VudD1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxNLFMpLFUyKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3Vyc29yUG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRz0+ImN1cnNvclBvc2l0aW9uImluIEcsImhhcyIpLGdldDpzKEc9PkcuY3Vyc29yUG9zaXRpb24sImdldCIpLHNldDpzKChHLGhlKT0+e0cuY3Vyc29yUG9zaXRpb249aGV9LCJzZXQiKX0sbWV0YWRhdGE6an0sQSxGKSxVMihudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpqfSxudWxsLHQpLFc9cj1lLnZhbHVlLGomJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6an0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGVlcy1pbnB1dC1jb2RlCiAgICAgIGxhYmVsPSJUeXBlU2NyaXB0IENvZGUiCiAgICAgIGtleT0iY29kZSIKICAgICAgbGFuZ3VhZ2U9InR5cGVzY3JpcHQiCiAgICAgIGhlaWdodD0iMzAwcHgiCiAgICAgIC52YWx1ZT0ke2Bjb25zdCBncmVldGluZzogc3RyaW5nID0gIkhlbGxvIFdvcmxkIjsKY29uc29sZS5sb2coZ3JlZXRpbmcpO2B9CiAgICA+PC9kZWVzLWlucHV0LWNvZGU+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiLCJXb3Jrc3BhY2UiXTsjZT1Bcyh0aGlzLG4sIiIpO2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLiNlfXNldCB2YWx1ZShqKXt0aGlzLiNlPWp9I3Q9KEFzKHRoaXMsbCksQXModGhpcyxjLCJ0eXBlc2NyaXB0IikpO2dldCBsYW5ndWFnZSgpe3JldHVybiB0aGlzLiN0fXNldCBsYW5ndWFnZShqKXt0aGlzLiN0PWp9I2E9KEFzKHRoaXMscCksQXModGhpcyxtLCIyMDBweCIpKTtnZXQgaGVpZ2h0KCl7cmV0dXJuIHRoaXMuI2F9c2V0IGhlaWdodChqKXt0aGlzLiNhPWp9I3I9KEFzKHRoaXMsdiksQXModGhpcyxiLCJvZmYiKSk7Z2V0IHdvcmRXcmFwKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHdvcmRXcmFwKGope3RoaXMuI3I9an0jcz0oQXModGhpcyxnKSxBcyh0aGlzLGssITApKTtnZXQgc2hvd0xpbmVOdW1iZXJzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNob3dMaW5lTnVtYmVycyhqKXt0aGlzLiNzPWp9I2k9KEFzKHRoaXMsQyksQXModGhpcyxfLCExKSk7Z2V0IGlzTGFuZ3VhZ2VEcm9wZG93bk9wZW4oKXtyZXR1cm4gdGhpcy4jaX1zZXQgaXNMYW5ndWFnZURyb3Bkb3duT3BlbihqKXt0aGlzLiNpPWp9I289KEFzKHRoaXMseiksQXModGhpcyxULCExKSk7Z2V0IGNvcHlTdWNjZXNzKCl7cmV0dXJuIHRoaXMuI299c2V0IGNvcHlTdWNjZXNzKGope3RoaXMuI289an0jbj0oQXModGhpcyxFKSxBcyh0aGlzLE0sMCkpO2dldCBsaW5lQ291bnQoKXtyZXR1cm4gdGhpcy4jbn1zZXQgbGluZUNvdW50KGope3RoaXMuI249an0jbD0oQXModGhpcyxTKSxBcyh0aGlzLEEse2xpbmU6MSxjb2x1bW46MX0pKTtnZXQgY3Vyc29yUG9zaXRpb24oKXtyZXR1cm4gdGhpcy4jbH1zZXQgY3Vyc29yUG9zaXRpb24oail7dGhpcy4jbD1qfWVkaXRvckVsZW1lbnQ9KEFzKHRoaXMsRiksbnVsbCk7c3RhdGljIHN0eWxlcz1bRWUsLi4ud3QuYmFzZVN0eWxlcyxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgKiB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICB9CgogICAgICAuaW5wdXQtd3JhcHBlciwKICAgICAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSJ0b3AiXSkgLmlucHV0LXdyYXBwZXIsCiAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0ibGVmdCJdKSAuaW5wdXQtd3JhcHBlciwKICAgICAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSJyaWdodCJdKSAuaW5wdXQtd3JhcHBlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi1oZWlnaHQ6IDA7CiAgICAgIH0KCiAgICAgIC50b29sYmFyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAudG9vbGJhci1sZWZ0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLXJpZ2h0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5sYW5ndWFnZS1zZWxlY3RvciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAubGFuZ3VhZ2UtYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmxhbmd1YWdlLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgIH0KCiAgICAgIC5sYW5ndWFnZS1kcm9wZG93biB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMTAwJTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXByaW1hcnkpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgICAgei1pbmRleDogMTAwOwogICAgICAgIG1heC1oZWlnaHQ6IDI1MHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgbWluLXdpZHRoOiAxNDBweDsKICAgICAgfQoKICAgICAgLmxhbmd1YWdlLW9wdGlvbiB7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAubGFuZ3VhZ2Utb3B0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgfQoKICAgICAgLmxhbmd1YWdlLW9wdGlvbi5zZWxlY3RlZCB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1hY3RpdmUpOwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b24uYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWFjdGl2ZSk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b24uc3VjY2VzcyB7CiAgICAgICAgY29sb3I6IGhzbCgxNDIuMSA3Ni4yJSAzNi4zJSk7CiAgICAgIH0KCiAgICAgIC5lZGl0b3Itd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGluc2V0OiAwOwogICAgICB9CgogICAgICBkZWVzLXdvcmtzcGFjZS1tb25hY28gewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLyogTWF0Y2ggTW9uYWNvIGJhY2tncm91bmQgdG8gdGlsZSAqLwogICAgICBkZWVzLXdvcmtzcGFjZS1tb25hY286OnBhcnQoY29udGFpbmVyKSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLnRvb2xiYXItZGl2aWRlciB7CiAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgbWFyZ2luOiAwIDRweDsKICAgICAgfQoKICAgICAgLyogRm9vdGVyICovCiAgICAgIC5lZGl0b3ItZm9vdGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5mb290ZXItbGVmdCwKICAgICAgLmZvb3Rlci1yaWdodCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmZvb3Rlci1zZXBhcmF0b3IgewogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAuY29kZS1jb250YWluZXIgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IGo9UGYuZmluZChHPT5HLmtleT09PXRoaXMubGFuZ3VhZ2UpfHxQZlswXTtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGhlaWdodDogJHt0aGlzLmhlaWdodH07CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAuaW5mb1RleHQ9JHt0aGlzLmluZm9UZXh0fSAucmVxdWlyZWQ9JHt0aGlzLnJlcXVpcmVkfT48L2RlZXMtbGFiZWw+CiAgICAgICAgPGRlZXMtdGlsZT4KICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0idG9vbGJhciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItbGVmdCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ3VhZ2Utc2VsZWN0b3IiPgogICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICBjbGFzcz0ibGFuZ3VhZ2UtYnV0dG9uIgogICAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLnRvZ2dsZUxhbmd1YWdlRHJvcGRvd259CiAgICAgICAgICAgICAgICAgIEBibHVyPSR7dGhpcy5oYW5kbGVMYW5ndWFnZUJsdXJ9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICR7ai5sYWJlbH0KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Q2hldnJvbkRvd24ifSBpY29uU2l6ZT0iMTQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAke3RoaXMuaXNMYW5ndWFnZURyb3Bkb3duT3Blbj93YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5ndWFnZS1kcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgJHtQZi5tYXAoRz0+d2AKICAgICAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Imxhbmd1YWdlLW9wdGlvbiAke0cua2V5PT09dGhpcy5sYW5ndWFnZT8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgICAgICAgICAgICAgQG1vdXNlZG93bj0ke2hlPT50aGlzLnNlbGVjdExhbmd1YWdlKGhlLEcua2V5KX0KICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgJHtHLmxhYmVsfQogICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItcmlnaHQiPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiAke3RoaXMud29yZFdyYXA9PT0ib24iPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICAgIHRpdGxlPSJXb3JkIFdyYXAiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLnRvZ2dsZVdvcmRXcmFwfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOldyYXBUZXh0In0gaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24gJHt0aGlzLnNob3dMaW5lTnVtYmVycz8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICB0aXRsZT0iTGluZSBOdW1iZXJzIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy50b2dnbGVMaW5lTnVtYmVyc30KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpIYXNoIn0gaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWRpdmlkZXIiPjwvZGl2PgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiAke3RoaXMuY29weVN1Y2Nlc3M/InN1Y2Nlc3MiOiIifSIKICAgICAgICAgICAgICAgIHRpdGxlPSJDb3B5IENvZGUiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmNvcHlDb2RlfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHt0aGlzLmNvcHlTdWNjZXNzPyJsdWNpZGU6Q2hlY2siOiJsdWNpZGU6Q29weSJ9IGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uIgogICAgICAgICAgICAgICAgdGl0bGU9IkV4cGFuZCIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMub3BlbkZ1bGxzY3JlZW59CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6TWF4aW1pemUyIn0gaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImVkaXRvci13cmFwcGVyIj4KICAgICAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1vbmFjbwogICAgICAgICAgICAgIC5jb250ZW50PSR7dGhpcy52YWx1ZX0KICAgICAgICAgICAgICAubGFuZ3VhZ2U9JHt0aGlzLmxhbmd1YWdlfQogICAgICAgICAgICAgIC53b3JkV3JhcD0ke3RoaXMud29yZFdyYXB9CiAgICAgICAgICAgICAgQGNvbnRlbnQtY2hhbmdlPSR7dGhpcy5oYW5kbGVDb250ZW50Q2hhbmdlfQogICAgICAgICAgICA+PC9kZWVzLXdvcmtzcGFjZS1tb25hY28+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0iZWRpdG9yLWZvb3RlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sZWZ0Ij4KICAgICAgICAgICAgICA8c3Bhbj5MbiAke3RoaXMuY3Vyc29yUG9zaXRpb24ubGluZX0sIENvbCAke3RoaXMuY3Vyc29yUG9zaXRpb24uY29sdW1ufTwvc3Bhbj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItc2VwYXJhdG9yIj48L2Rpdj4KICAgICAgICAgICAgICA8c3Bhbj4ke3RoaXMubGluZUNvdW50fSBsaW5lJHt0aGlzLmxpbmVDb3VudCE9PTE/InMiOiIifTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1yaWdodCI+CiAgICAgICAgICAgICAgPHNwYW4+JHsoUGYuZmluZChHPT5HLmtleT09PXRoaXMubGFuZ3VhZ2UpfHxQZlswXSkubGFiZWx9PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGVlcy10aWxlPgogICAgICAgICR7dGhpcy5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7aWYodGhpcy5lZGl0b3JFbGVtZW50PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy13b3Jrc3BhY2UtbW9uYWNvIiksdGhpcy5lZGl0b3JFbGVtZW50KXt0aGlzLmVkaXRvckVsZW1lbnQuY29udGVudFN1YmplY3Quc3Vic2NyaWJlKFU9Pnt0aGlzLnZhbHVlIT09VSYmKHRoaXMudmFsdWU9VSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSl9KTtsZXQgaj1hd2FpdCB0aGlzLmVkaXRvckVsZW1lbnQuZWRpdG9yRGVmZXJyZWQucHJvbWlzZSxHPWouZ2V0TW9kZWwoKTtHJiYodGhpcy5saW5lQ291bnQ9Ry5nZXRMaW5lQ291bnQoKSxHLm9uRGlkQ2hhbmdlQ29udGVudCgoKT0+e3RoaXMubGluZUNvdW50PUcuZ2V0TGluZUNvdW50KCl9KSksai5vbkRpZENoYW5nZUN1cnNvclBvc2l0aW9uKFU9Pnt0aGlzLmN1cnNvclBvc2l0aW9uPXtsaW5lOlUucG9zaXRpb24ubGluZU51bWJlcixjb2x1bW46VS5wb3NpdGlvbi5jb2x1bW59fSk7bGV0IGhlPWF3YWl0IHRoaXMuZWRpdG9yRWxlbWVudC5kb210b29sc1Byb21pc2UsUj1zKFU9PntsZXQgbWU9VT8iI2ZmZmZmZiI6IiMwYTBhMGEiO2oudXBkYXRlT3B0aW9ucyh7fSksd2luZG93Lm1vbmFjbz8uZWRpdG9yPy5kZWZpbmVUaGVtZT8uKCJkZWVzLWxpZ2h0Iix7YmFzZToidnMiLGluaGVyaXQ6ITAscnVsZXM6W10sY29sb3JzOnsiZWRpdG9yLmJhY2tncm91bmQiOm1lfX0pLHdpbmRvdy5tb25hY28/LmVkaXRvcj8uZGVmaW5lVGhlbWU/LigiZGVlcy1kYXJrIix7YmFzZToidnMtZGFyayIsaW5oZXJpdDohMCxydWxlczpbXSxjb2xvcnM6eyJlZGl0b3IuYmFja2dyb3VuZCI6bWV9fSksai51cGRhdGVPcHRpb25zKHt0aGVtZTpVPyJkZWVzLWxpZ2h0IjoiZGVlcy1kYXJrIn0pfSwidXBkYXRlRWRpdG9yQmciKTtSKGhlLnRoZW1lTWFuYWdlci5nb0JyaWdodEJvb2xlYW4pLGhlLnRoZW1lTWFuYWdlci50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKFU9PntSKFUpfSl9fXRvZ2dsZUxhbmd1YWdlRHJvcGRvd24oKXt0aGlzLmlzTGFuZ3VhZ2VEcm9wZG93bk9wZW49IXRoaXMuaXNMYW5ndWFnZURyb3Bkb3duT3Blbn1oYW5kbGVMYW5ndWFnZUJsdXIoKXtzZXRUaW1lb3V0KCgpPT57dGhpcy5pc0xhbmd1YWdlRHJvcGRvd25PcGVuPSExfSwxNTApfWFzeW5jIHNlbGVjdExhbmd1YWdlKGosRyl7aWYoai5wcmV2ZW50RGVmYXVsdCgpLHRoaXMubGFuZ3VhZ2U9Ryx0aGlzLmlzTGFuZ3VhZ2VEcm9wZG93bk9wZW49ITEsdGhpcy5lZGl0b3JFbGVtZW50KXt0aGlzLmVkaXRvckVsZW1lbnQubGFuZ3VhZ2U9RztsZXQgUj0oYXdhaXQgdGhpcy5lZGl0b3JFbGVtZW50LmVkaXRvckRlZmVycmVkLnByb21pc2UpLmdldE1vZGVsKCk7UiYmd2luZG93Lm1vbmFjby5lZGl0b3Iuc2V0TW9kZWxMYW5ndWFnZShSLEcpfX10b2dnbGVXb3JkV3JhcCgpe3RoaXMud29yZFdyYXA9dGhpcy53b3JkV3JhcD09PSJvbiI/Im9mZiI6Im9uIix0aGlzLnVwZGF0ZUVkaXRvck9wdGlvbigid29yZFdyYXAiLHRoaXMud29yZFdyYXApfXRvZ2dsZUxpbmVOdW1iZXJzKCl7dGhpcy5zaG93TGluZU51bWJlcnM9IXRoaXMuc2hvd0xpbmVOdW1iZXJzLHRoaXMudXBkYXRlRWRpdG9yT3B0aW9uKCJsaW5lTnVtYmVycyIsdGhpcy5zaG93TGluZU51bWJlcnM/Im9uIjoib2ZmIil9YXN5bmMgdXBkYXRlRWRpdG9yT3B0aW9uKGosRyl7dGhpcy5lZGl0b3JFbGVtZW50JiYoYXdhaXQgdGhpcy5lZGl0b3JFbGVtZW50LmVkaXRvckRlZmVycmVkLnByb21pc2UpLnVwZGF0ZU9wdGlvbnMoe1tqXTpHfSl9YXN5bmMgY29weUNvZGUoKXt0cnl7YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGhpcy52YWx1ZSksdGhpcy5jb3B5U3VjY2Vzcz0hMCxzZXRUaW1lb3V0KCgpPT57dGhpcy5jb3B5U3VjY2Vzcz0hMX0sMmUzKX1jYXRjaChqKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gY29weSBjb2RlOiIsail9fWhhbmRsZUNvbnRlbnRDaGFuZ2Uoail7bGV0IEc9ai5kZXRhaWw7dGhpcy52YWx1ZSE9PUcmJih0aGlzLnZhbHVlPUcsdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcykpfWFzeW5jIG9wZW5GdWxsc2NyZWVuKCl7bGV0IGo9dGhpcy52YWx1ZSxHPW51bGwsaGU9dGhpcy5sYW5ndWFnZSxSPXRoaXMud29yZFdyYXAsVT10aGlzLnNob3dMaW5lTnVtYmVycyxtZT0hMSxJPSExLHE9cygoKT0+e2xldCBhZT1QZi5maW5kKHJlPT5yZS5rZXk9PT1oZSk7cmV0dXJuIGFlP2FlLmxhYmVsOiJUeXBlU2NyaXB0In0sImdldExhbmd1YWdlTGFiZWwiKSxjZT1zKGFlPT57bGV0IHJlPWFlLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5tb2RhbC10b29sYmFyIik7aWYoIXJlKXJldHVybjtsZXQgeWU9cmUucXVlcnlTZWxlY3RvcigiLmxhbmd1YWdlLWJ1dHRvbiBzcGFuIik7eWUmJih5ZS50ZXh0Q29udGVudD1xKCkpO2xldCBWPXJlLnF1ZXJ5U2VsZWN0b3IoIi53cmFwLWJ0biIpO1YmJlYuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIixSPT09Im9uIik7bGV0IEg9cmUucXVlcnlTZWxlY3RvcigiLmxpbmVzLWJ0biIpO0gmJkguY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIixVKTtsZXQgb2U9cmUucXVlcnlTZWxlY3RvcigiLmNvcHktYnRuIiksc2U9b2U/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtaWNvbiIpO29lJiZzZSYmKG9lLmNsYXNzTGlzdC50b2dnbGUoInN1Y2Nlc3MiLEkpLHNlLmljb249ST8ibHVjaWRlOkNoZWNrIjoibHVjaWRlOkNvcHkiKTtsZXQgdGU9cmUucXVlcnlTZWxlY3RvcigiLmxhbmd1YWdlLWRyb3Bkb3duIik7dGUmJih0ZS5zdHlsZS5kaXNwbGF5PW1lPyJibG9jayI6Im5vbmUiKX0sInVwZGF0ZVRvb2xiYXJVSSIpLHVlPXMoYWU9PntsZXQgcmU9YWUuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLm1vZGFsLWZvb3RlciIpO2lmKCFyZSlyZXR1cm47bGV0IHllPXJlLnF1ZXJ5U2VsZWN0b3IoIi5mb290ZXItY3Vyc29yIiksVj1yZS5xdWVyeVNlbGVjdG9yKCIuZm9vdGVyLWxpbmVzIiksSD1yZS5xdWVyeVNlbGVjdG9yKCIuZm9vdGVyLWxhbmciKTt5ZSYmKHllLnRleHRDb250ZW50PWBMbiAke1l9LCBDb2wgJHtRfWApLFYmJihWLnRleHRDb250ZW50PWAke0p9IGxpbmUke0ohPT0xPyJzIjoiIn1gKSxIJiYoSC50ZXh0Q29udGVudD1xKCkpfSwidXBkYXRlRm9vdGVyVUkiKSxZPTEsUT0xLEo9ai5zcGxpdChgCmApLmxlbmd0aCxaPWF3YWl0IHdhLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6dGhpcy5sYWJlbHx8IkNvZGUgRWRpdG9yIix3aWR0aDoiZnVsbHNjcmVlbiIsY29udGVudFBhZGRpbmc6MCxjb250ZW50OndgCiAgICAgICAgPHN0eWxlPgogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC50b29sYmFyLWxlZnQgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC50b29sYmFyLXJpZ2h0IHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAubGFuZ3VhZ2Utc2VsZWN0b3IgewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAubGFuZ3VhZ2UtYnV0dG9uIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAyMCUpIil9OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAyMCUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAubGFuZ3VhZ2UtYnV0dG9uOmhvdmVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLmxhbmd1YWdlLWRyb3Bkb3duIHsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6IDEwMCU7CiAgICAgICAgICAgIGxlZnQ6IDA7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgICAgICAgIHotaW5kZXg6IDEwMDsKICAgICAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7CiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgICAgIG1pbi13aWR0aDogMTQwcHg7CiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAubGFuZ3VhZ2Utb3B0aW9uIHsKICAgICAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAubGFuZ3VhZ2Utb3B0aW9uOmhvdmVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLmxhbmd1YWdlLW9wdGlvbi5zZWxlY3RlZCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5MCUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC50b29sYmFyLWJ1dHRvbiB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0NSUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAudG9vbGJhci1idXR0b246aG92ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTAlKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAudG9vbGJhci1idXR0b24uYWN0aXZlIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAyMCUpIil9OwogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLnRvb2xiYXItYnV0dG9uLnN1Y2Nlc3MgewogICAgICAgICAgICBjb2xvcjogaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKTsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC50b29sYmFyLWRpdmlkZXIgewogICAgICAgICAgICB3aWR0aDogMXB4OwogICAgICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICAgICAgbWFyZ2luOiAwIDRweDsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC1lZGl0b3Itd3JhcHBlciB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjAwcHgpOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC1mb290ZXIgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUlKSIsImhzbCgwIDAlIDU1JSkiKX07CiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLWZvb3RlciAuZm9vdGVyLWxlZnQsCiAgICAgICAgICAubW9kYWwtZm9vdGVyIC5mb290ZXItcmlnaHQgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtZm9vdGVyIC5mb290ZXItc2VwYXJhdG9yIHsKICAgICAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODUlKSIsImhzbCgwIDAlIDIwJSkiKX07CiAgICAgICAgICB9CiAgICAgICAgPC9zdHlsZT4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC10b29sYmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItbGVmdCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Imxhbmd1YWdlLXNlbGVjdG9yIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJsYW5ndWFnZS1idXR0b24iPgogICAgICAgICAgICAgICAgPHNwYW4+JHtxKCl9PC9zcGFuPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Q2hldnJvbkRvd24ifSBpY29uU2l6ZT0iMTQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imxhbmd1YWdlLWRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICR7UGYubWFwKGFlPT53YAogICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9Imxhbmd1YWdlLW9wdGlvbiAke2FlLmtleT09PWhlPyJzZWxlY3RlZCI6IiJ9IgogICAgICAgICAgICAgICAgICAgIGRhdGEtbGFuZz0iJHthZS5rZXl9IgogICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgJHthZS5sYWJlbH0KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItcmlnaHQiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiB3cmFwLWJ0biAke1I9PT0ib24iPyJhY3RpdmUiOiIifSIgdGl0bGU9IldvcmQgV3JhcCI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6V3JhcFRleHQifSBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24gbGluZXMtYnRuICR7VT8iYWN0aXZlIjoiIn0iIHRpdGxlPSJMaW5lIE51bWJlcnMiPgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOkhhc2gifSBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1kaXZpZGVyIj48L2Rpdj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24gY29weS1idG4iIHRpdGxlPSJDb3B5IENvZGUiPgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOkNvcHkifSBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWVkaXRvci13cmFwcGVyIj4KICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tb25hY28KICAgICAgICAgICAgLmNvbnRlbnQ9JHtqfQogICAgICAgICAgICAubGFuZ3VhZ2U9JHtoZX0KICAgICAgICAgICAgLndvcmRXcmFwPSR7Un0KICAgICAgICAgID48L2RlZXMtd29ya3NwYWNlLW1vbmFjbz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1mb290ZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLWxlZnQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyLWN1cnNvciI+TG4gJHtZfSwgQ29sICR7UX08L3NwYW4+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1zZXBhcmF0b3IiPjwvZGl2PgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyLWxpbmVzIj4ke0p9IGxpbmUke0ohPT0xPyJzIjoiIn08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1yaWdodCI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXItbGFuZyI+JHtxKCl9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDYW5jZWwiLGFjdGlvbjpzKGFzeW5jIGFlPT57YXdhaXQgYWUuZGVzdHJveSgpfSwiYWN0aW9uIil9LHtuYW1lOiJTYXZlICYgQ2xvc2UiLGFjdGlvbjpzKGFzeW5jIGFlPT57aWYoRz1hZS5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tb25hY28iKSxHKXtsZXQgeWU9KGF3YWl0IEcuZWRpdG9yRGVmZXJyZWQucHJvbWlzZSkuZ2V0VmFsdWUoKTt0aGlzLnNldFZhbHVlKHllKX1hd2FpdCBhZS5kZXN0cm95KCl9LCJhY3Rpb24iKX1dfSk7aWYoYXdhaXQgbmV3IFByb21pc2UoYWU9PnNldFRpbWVvdXQoYWUsMTAwKSksRz1aLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1vbmFjbyIpLEcpe2xldCBhZT1hd2FpdCBHLmVkaXRvckRlZmVycmVkLnByb21pc2UscmU9YXdhaXQgRy5kb210b29sc1Byb21pc2UseWU9cyhIPT57bGV0IG9lPUg/IiNmZmZmZmYiOiIjMGEwYTBhIjt3aW5kb3cubW9uYWNvPy5lZGl0b3I/LmRlZmluZVRoZW1lPy4oImRlZXMtbGlnaHQiLHtiYXNlOiJ2cyIsaW5oZXJpdDohMCxydWxlczpbXSxjb2xvcnM6eyJlZGl0b3IuYmFja2dyb3VuZCI6b2V9fSksd2luZG93Lm1vbmFjbz8uZWRpdG9yPy5kZWZpbmVUaGVtZT8uKCJkZWVzLWRhcmsiLHtiYXNlOiJ2cy1kYXJrIixpbmhlcml0OiEwLHJ1bGVzOltdLGNvbG9yczp7ImVkaXRvci5iYWNrZ3JvdW5kIjpvZX19KSxhZS51cGRhdGVPcHRpb25zKHt0aGVtZTpIPyJkZWVzLWxpZ2h0IjoiZGVlcy1kYXJrIn0pfSwiYXBwbHlNb2RhbFRoZW1lIik7eWUocmUudGhlbWVNYW5hZ2VyLmdvQnJpZ2h0Qm9vbGVhbikscmUudGhlbWVNYW5hZ2VyLnRoZW1lT2JzZXJ2YWJsZS5zdWJzY3JpYmUoSD0+e3llKEgpfSksYWUub25EaWRDaGFuZ2VDdXJzb3JQb3NpdGlvbihIPT57WT1ILnBvc2l0aW9uLmxpbmVOdW1iZXIsUT1ILnBvc2l0aW9uLmNvbHVtbix1ZShaKX0pO2xldCBWPWFlLmdldE1vZGVsKCk7ViYmKEo9Vi5nZXRMaW5lQ291bnQoKSx1ZShaKSxWLm9uRGlkQ2hhbmdlQ29udGVudCgoKT0+e0o9Vi5nZXRMaW5lQ291bnQoKSx1ZShaKX0pKX1sZXQgZ2U9Wi5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIubW9kYWwtdG9vbGJhciIpO2lmKGdlKXtsZXQgYWU9Z2UucXVlcnlTZWxlY3RvcigiLmxhbmd1YWdlLWJ1dHRvbiIpO2FlPy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PnttZT0hbWUsY2UoWil9KTtsZXQgcmU9Z2UucXVlcnlTZWxlY3RvckFsbCgiLmxhbmd1YWdlLW9wdGlvbiIpO3JlLmZvckVhY2gob2U9PntvZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYXN5bmMoKT0+e2xldCBzZT1vZS5kYXRhc2V0Lmxhbmc7aWYoc2UmJkcpe2hlPXNlLG1lPSExO2xldCB6ZT0oYXdhaXQgRy5lZGl0b3JEZWZlcnJlZC5wcm9taXNlKS5nZXRNb2RlbCgpO3plJiZ3aW5kb3cubW9uYWNvLmVkaXRvci5zZXRNb2RlbExhbmd1YWdlKHplLHNlKSxyZS5mb3JFYWNoKE9lPT5PZS5jbGFzc0xpc3QucmVtb3ZlKCJzZWxlY3RlZCIpKSxvZS5jbGFzc0xpc3QuYWRkKCJzZWxlY3RlZCIpLGNlKFopLHVlKFopfX0pfSksZ2UucXVlcnlTZWxlY3RvcigiLndyYXAtYnRuIik/LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixhc3luYygpPT57Uj1SPT09Im9uIj8ib2ZmIjoib24iLEcmJihhd2FpdCBHLmVkaXRvckRlZmVycmVkLnByb21pc2UpLnVwZGF0ZU9wdGlvbnMoe3dvcmRXcmFwOlJ9KSxjZShaKX0pLGdlLnF1ZXJ5U2VsZWN0b3IoIi5saW5lcy1idG4iKT8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGFzeW5jKCk9PntVPSFVLEcmJihhd2FpdCBHLmVkaXRvckRlZmVycmVkLnByb21pc2UpLnVwZGF0ZU9wdGlvbnMoe2xpbmVOdW1iZXJzOlU/Im9uIjoib2ZmIn0pLGNlKFopfSksZ2UucXVlcnlTZWxlY3RvcigiLmNvcHktYnRuIik/LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixhc3luYygpPT57aWYoRyl7bGV0IHNlPShhd2FpdCBHLmVkaXRvckRlZmVycmVkLnByb21pc2UpLmdldFZhbHVlKCk7dHJ5e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHNlKSxJPSEwLGNlKFopLHNldFRpbWVvdXQoKCk9PntJPSExLGNlKFopfSwyZTMpfWNhdGNoKHRlKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gY29weSBjb2RlOiIsdGUpfX19KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsb2U9PnttZSYmIWFlPy5jb250YWlucyhvZS50YXJnZXQpJiYobWU9ITEsY2UoWikpfSx7b25jZTohMH0pfX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKGope3RoaXMudmFsdWU9aix0aGlzLmVkaXRvckVsZW1lbnQmJih0aGlzLmVkaXRvckVsZW1lbnQuY29udGVudD1qLHRoaXMuZWRpdG9yRWxlbWVudC5lZGl0b3JEZWZlcnJlZC5wcm9taXNlLnRoZW4oRz0+e0cuZ2V0VmFsdWUoKSE9PWomJkcuc2V0VmFsdWUoail9KSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9c3RhdGlje0FzKHIsdCl9fTtyZXR1cm4gVz1yfSkoKX0pO3ZhciB6c2EsQ3NhPWYoKCk9PntsZSgpO05hKCk7VXMoKTtGWWUoKTt6c2E9cygoKT0+d2AKICA8c3R5bGU+CiAgICAke1hgCiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLW91dHB1dCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTA1LCAyNDIsIDAuMSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICB9CiAgICAgIAogICAgICAuZGF0ZS1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CiAgICBgfQogIDwvc3R5bGU+CiAgCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1kYXRlcGlja2VyIik7ZSYmZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCh0PT57Y29uc29sZS5sb2coIkJhc2ljIGRhdGUgc2VsZWN0ZWQ6Iix0LnRhcmdldC52YWx1ZSl9KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkJhc2ljIERhdGUgUGlja2VyIn0gLnN1YnRpdGxlPSR7IlNpbXBsZSBkYXRlIHNlbGVjdGlvbiB3aXRob3V0IHRpbWUifT4KICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iU2VsZWN0IERhdGUiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iQ2hvb3NlIGEgZGF0ZSBmcm9tIHRoZSBjYWxlbmRhciIKICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LWRhdGVwaWNrZXJbbGFiZWw9IkV2ZW50IERhdGUgJiBUaW1lIl0nKSx0PWEucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC1kYXRlcGlja2VyW2xhYmVsPSJBcHBvaW50bWVudCJdJyk7ZSYmZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLChyPT57bGV0IGk9ci50YXJnZXQudmFsdWU7Y29uc29sZS5sb2coIjI0aCBmb3JtYXQgZGF0ZXRpbWU6IixpKX0pKSx0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKHI9PntsZXQgaT1yLnRhcmdldC52YWx1ZTtjb25zb2xlLmxvZygiMTJoIGZvcm1hdCBkYXRldGltZToiLGkpfSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJEYXRlIGFuZCBUaW1lIFNlbGVjdGlvbiJ9IC5zdWJ0aXRsZT0keyJEYXRlIHBpY2tlcnMgd2l0aCB0aW1lIHNlbGVjdGlvbiBpbiBkaWZmZXJlbnQgZm9ybWF0cyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIGxhYmVsPSJFdmVudCBEYXRlICYgVGltZSIKICAgICAgICAgIGRlc2NyaXB0aW9uPSJTZWxlY3QgYm90aCBkYXRlIGFuZCB0aW1lICgyNC1ob3VyIGZvcm1hdCkiCiAgICAgICAgICAuZW5hYmxlVGltZT0keyEwfQogICAgICAgICAgdGltZUZvcm1hdD0iMjRoIgogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iQXBwb2ludG1lbnQiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iRGF0ZSBhbmQgdGltZSB3aXRoIEFNL1BNIHNlbGVjdG9yICgxNS1taW51dGUgaW5jcmVtZW50cykiCiAgICAgICAgICAuZW5hYmxlVGltZT0keyEwfQogICAgICAgICAgdGltZUZvcm1hdD0iMTJoIgogICAgICAgICAgLm1pbnV0ZUluY3JlbWVudD0kezE1fQogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PnthLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtaW5wdXQtZGF0ZXBpY2tlciIpLmZvckVhY2godD0+e3QuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwocj0+e2xldCBpPXIudGFyZ2V0O2NvbnNvbGUubG9nKGAke2kubGFiZWx9IHZhbHVlOmAsaS52YWx1ZSk7bGV0IG89aS5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZGF0ZS1pbnB1dCIpO28mJmNvbnNvbGUubG9nKGAke2kubGFiZWx9IGZvcm1hdHRlZDpgLG8udmFsdWUpfSkpfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlRpbWV6b25lIFN1cHBvcnQifSAuc3VidGl0bGU9JHsiRGF0ZSBhbmQgdGltZSBzZWxlY3Rpb24gd2l0aCB0aW1lem9uZSBhd2FyZW5lc3MifT4KICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iTWVldGluZyBUaW1lICh3aXRoIFRpbWV6b25lKSIKICAgICAgICAgIGRlc2NyaXB0aW9uPSJTZWxlY3QgYSBkYXRlL3RpbWUgYW5kIHRpbWV6b25lIGZvciB0aGUgbWVldGluZyIKICAgICAgICAgIC5lbmFibGVUaW1lPSR7ITB9CiAgICAgICAgICAuZW5hYmxlVGltZXpvbmU9JHshMH0KICAgICAgICAgIHRpbWVGb3JtYXQ9IjI0aCIKICAgICAgICAgIHRpbWV6b25lPSJBbWVyaWNhL05ld19Zb3JrIgogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iR2xvYmFsIEV2ZW50IFNjaGVkdWxlIgogICAgICAgICAgZGVzY3JpcHRpb249IlNjaGVkdWxlIGFuIGV2ZW50IGFjcm9zcyBkaWZmZXJlbnQgdGltZXpvbmVzIgogICAgICAgICAgLmVuYWJsZVRpbWU9JHshMH0KICAgICAgICAgIC5lbmFibGVUaW1lem9uZT0keyEwfQogICAgICAgICAgdGltZUZvcm1hdD0iMTJoIgogICAgICAgICAgdGltZXpvbmU9IkV1cm9wZS9Mb25kb24iCiAgICAgICAgICAubWludXRlSW5jcmVtZW50PSR7MzB9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1kYXRlcGlja2VyIik7ZSYmZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCh0PT57bGV0IHI9dC50YXJnZXQudmFsdWU7aWYocil7bGV0IGk9bmV3IERhdGUociksbz1uZXcgRGF0ZSxuPU1hdGguZmxvb3IoKGkuZ2V0VGltZSgpLW8uZ2V0VGltZSgpKS8oMWUzKjYwKjYwKjI0KSk7Y29uc29sZS5sb2coYFNlbGVjdGVkIGRhdGUgaXMgJHtufSBkYXlzIGZyb20gdG9kYXlgKX19KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkRhdGUgUmFuZ2UgQ29uc3RyYWludHMifSAuc3VidGl0bGU9JHsiTGltaXQgc2VsZWN0YWJsZSBkYXRlcyB3aXRoIG1pbiBhbmQgbWF4IHZhbHVlcyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIGxhYmVsPSJGdXR1cmUgRGF0ZSBPbmx5IgogICAgICAgICAgZGVzY3JpcHRpb249IkNhbiBvbmx5IHNlbGVjdCBkYXRlcyBmcm9tIHRvZGF5IHRvIDkwIGRheXMgaW4gdGhlIGZ1dHVyZSIKICAgICAgICAgIC5taW5EYXRlPSR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfQogICAgICAgICAgLm1heERhdGU9JHtuZXcgRGF0ZShEYXRlLm5vdygpKzIxNjAqNjAqNjAqMWUzKS50b0lTT1N0cmluZygpfQogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT17IkREL01NL1lZWVkiOiJFdXJvcGVhbiIsIk1NL0REL1lZWVkiOiJVUyIsIllZWVktTU0tREQiOiJJU08ifTthLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtaW5wdXQtZGF0ZXBpY2tlciIpLmZvckVhY2gocj0+e3IuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwoaT0+e2xldCBvPWkudGFyZ2V0LG49by5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZGF0ZS1pbnB1dCIpO24mJmNvbnNvbGUubG9nKGAke28ubGFiZWx9IGZvcm1hdDpgLG4udmFsdWUpfSkpfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkRhdGUgRm9ybWF0cyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgZGF0ZSBkaXNwbGF5IGZvcm1hdHMgZm9yIHZhcmlvdXMgcmVnaW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImRhdGUtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgICBsYWJlbD0iRXVyb3BlYW4gRm9ybWF0IgogICAgICAgICAgICBkYXRlRm9ybWF0PSJERC9NTS9ZWVlZIgogICAgICAgICAgICAudmFsdWU9JHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgICAgbGFiZWw9IlVTIEZvcm1hdCIKICAgICAgICAgICAgZGF0ZUZvcm1hdD0iTU0vREQvWVlZWSIKICAgICAgICAgICAgLnZhbHVlPSR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICAgIGxhYmVsPSJJU08gRm9ybWF0IgogICAgICAgICAgICBkYXRlRm9ybWF0PSJZWVlZLU1NLUREIgogICAgICAgICAgICAudmFsdWU9JHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LWRhdGVwaWNrZXJbcmVxdWlyZWRdIik7ZSYmZS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e2UuZ2V0VmFsdWUoKXx8Y29uc29sZS5sb2coIlJlcXVpcmVkIGRhdGUgZmllbGQgaXMgZW1wdHkiKX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGb3JtIFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJSZXF1aXJlZCBhbmQgZGlzYWJsZWQgc3RhdGVzIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgbGFiZWw9IkJpcnRoIERhdGUiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iVGhpcyBmaWVsZCBpcyByZXF1aXJlZCIKICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgcGxhY2Vob2xkZXI9IlNlbGVjdCB5b3VyIGJpcnRoIGRhdGUiCiAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIGxhYmVsPSJEaXNhYmxlZCBEYXRlIgogICAgICAgICAgZGVzY3JpcHRpb249IlRoaXMgZmllbGQgY2Fubm90IGJlIGVkaXRlZCIKICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgLnZhbHVlPSR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfQogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtZGF0ZXBpY2tlcltsYWJlbD0iVVMgQ2FsZW5kYXIiXScpLHQ9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LWRhdGVwaWNrZXJbbGFiZWw9IkVVIENhbGVuZGFyIl0nKTtlJiZjb25zb2xlLmxvZygiVVMgQ2FsZW5kYXIgc3RhcnRzIG9uIFN1bmRheSAoMCkiKSx0JiZjb25zb2xlLmxvZygiRVUgQ2FsZW5kYXIgc3RhcnRzIG9uIE1vbmRheSAoMSkiKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQ2FsZW5kYXIgQ3VzdG9taXphdGlvbiJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgd2VlayBzdGFydCBkYXlzIGZvciB2YXJpb3VzIHJlZ2lvbnMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJkYXRlLWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgICAgbGFiZWw9IlVTIENhbGVuZGFyIgogICAgICAgICAgICBkZXNjcmlwdGlvbj0iV2VlayBzdGFydHMgb24gU3VuZGF5IgogICAgICAgICAgICAud2Vla1N0YXJ0c09uPSR7MH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgICBsYWJlbD0iRVUgQ2FsZW5kYXIiCiAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJXZWVrIHN0YXJ0cyBvbiBNb25kYXkiCiAgICAgICAgICAgIC53ZWVrU3RhcnRzT249JHsxfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPXMoKCk9PntsZXQgcj1bXSxpPW5ldyBEYXRlLG89aS5nZXRGdWxsWWVhcigpLG49aS5nZXRNb250aCgpLGw9bmV3IERhdGUobyxuLDEpO2Zvcig7bC5nZXRNb250aCgpPT09bjspKGwuZ2V0RGF5KCk9PT0wfHxsLmdldERheSgpPT09NikmJnIucHVzaChuZXcgRGF0ZShsKS50b0lTT1N0cmluZygpKSxsLnNldERhdGUobC5nZXREYXRlKCkrMSk7cmV0dXJuIHJ9LCJnZW5lcmF0ZVdlZWtlbmRzIiksdD1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZGF0ZXBpY2tlciIpO3QmJih0LmRpc2FibGVkRGF0ZXM9ZSgpLGNvbnNvbGUubG9nKCJEaXNhYmxlZCB3ZWVrZW5kIGRhdGVzIGZvciBjdXJyZW50IG1vbnRoIikpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJEaXNhYmxlZCBEYXRlcyJ9IC5zdWJ0aXRsZT0keyJDYWxlbmRhciB3aXRoIHNwZWNpZmljIGRhdGVzIGRpc2FibGVkICh3ZWVrZW5kcyBpbiBjdXJyZW50IG1vbnRoKSJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIGxhYmVsPSJBdmFpbGFiaWxpdHkgQ2FsZW5kYXIiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iV2Vla2VuZHMgYXJlIGRpc2FibGVkIGZvciB0aGUgY3VycmVudCBtb250aCIKICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9bmV3IERhdGUsdD1lLmdldE1vbnRoKCkscj1lLmdldEZ1bGxZZWFyKCksaT1be2RhdGU6YCR7cn0tJHsodCsxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0tJHtlLmdldERhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gLHRpdGxlOiJUZWFtIE1lZXRpbmciLHR5cGU6ImluZm8iLGNvdW50OjJ9LHtkYXRlOmAke3J9LSR7KHQrMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9LSR7KGUuZ2V0RGF0ZSgpKzEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfWAsdGl0bGU6IlByb2plY3QgRGVhZGxpbmUiLHR5cGU6Indhcm5pbmcifSx7ZGF0ZTpgJHtyfS0keyh0KzEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfS0keyhlLmdldERhdGUoKSsyKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gLHRpdGxlOiJSZWxlYXNlIERheSIsdHlwZToic3VjY2VzcyJ9LHtkYXRlOmAke3J9LSR7KHQrMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9LSR7KGUuZ2V0RGF0ZSgpKzUpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfWAsdGl0bGU6IlVyZ2VudCBGaXggUmVxdWlyZWQiLHR5cGU6ImVycm9yIn0se2RhdGU6YCR7cn0tJHsodCsxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0tJHsoZS5nZXREYXRlKCkrNykudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YCx0aXRsZToiTXVsdGlwbGUgRXZlbnRzIFRvZGF5Iix0eXBlOiJpbmZvIixjb3VudDo1fSx7ZGF0ZTpgJHtyfS0keyh0KzIpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfS0xNWAsdGl0bGU6IkZ1dHVyZSBQbGFubmluZyBTZXNzaW9uIix0eXBlOiJpbmZvIn1dLG89YS5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LWRhdGVwaWNrZXIiKTtvJiYoby5ldmVudHM9aSxjb25zb2xlLmxvZygiQ2FsZW5kYXIgZXZlbnRzIGxvYWRlZDoiLGkpKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQ2FsZW5kYXIgd2l0aCBFdmVudHMifSAuc3VidGl0bGU9JHsiVmlzdWFsIGZlZWRiYWNrIGZvciBzY2hlZHVsZWQgZXZlbnRzIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgbGFiZWw9IkV2ZW50IENhbGVuZGFyIgogICAgICAgICAgZGVzY3JpcHRpb249IkRheXMgd2l0aCBjb2xvcmVkIGRvdHMgaGF2ZSBldmVudHMuIEhvdmVyIHRvIHNlZSBkZXRhaWxzLiIKICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1vdXRwdXQiIHN0eWxlPSJtYXJnaW4tdG9wOiAxNnB4OyI+CiAgICAgICAgICA8c3Ryb25nPkV2ZW50IExlZ2VuZDo8L3N0cm9uZz48YnI+CiAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICMwOTY5ZGE7Ij7il48gSW5mbzwvc3Bhbj4gfCAKICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogI2QyOTkyMjsiPuKXjyBXYXJuaW5nPC9zcGFuPiB8IAogICAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMmVhMDQzOyI+4pePIFN1Y2Nlc3M8L3NwYW4+IHwgCiAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICNjZjIyMmU7Ij7il48gRXJyb3I8L3NwYW4+PGJyPgogICAgICAgICAgPGVtPkRheXMgd2l0aCBtb3JlIHRoYW4gMyBldmVudHMgc2hvdyBhIGNvdW50IGJhZGdlPC9lbT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZGF0ZXBpY2tlciIpLHQ9YS5xdWVyeVNlbGVjdG9yKCIjZXZlbnQtb3V0cHV0Iik7ZSYmdCYmKGUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwocj0+e2xldCBpPXIudGFyZ2V0LG89aS52YWx1ZTtpZihvKXtsZXQgbj1uZXcgRGF0ZShvKSxkPWkuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmRhdGUtaW5wdXQiKT8udmFsdWV8fCJOL0EiO3QuaW5uZXJIVE1MPWAKICAgICAgICAgICAgICA8c3Ryb25nPkV2ZW50IHRyaWdnZXJlZCE8L3N0cm9uZz48YnI+CiAgICAgICAgICAgICAgSVNPIFZhbHVlOiAke299PGJyPgogICAgICAgICAgICAgIEZvcm1hdHRlZDogJHtkfTxicj4KICAgICAgICAgICAgICBEYXRlIG9iamVjdDogJHtuLnRvTG9jYWxlU3RyaW5nKCl9CiAgICAgICAgICAgIGB9ZWxzZSB0LmlubmVySFRNTD0iPGVtPkRhdGUgY2xlYXJlZDwvZW0+In0pKSxlLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57Y29uc29sZS5sb2coIkRhdGVwaWNrZXIgbG9zdCBmb2N1cyIpfSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJFdmVudCBIYW5kbGluZyJ9IC5zdWJ0aXRsZT0keyJJbnRlcmFjdGl2ZSBkZW1vbnN0cmF0aW9uIG9mIGNoYW5nZSBldmVudHMifT4KICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iRXZlbnQgRGVtbyIKICAgICAgICAgIGRlc2NyaXB0aW9uPSJTZWxlY3QgYSBkYXRlIHRvIHNlZSB0aGUgZXZlbnQgZGV0YWlscyIKICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgICAgCiAgICAgICAgPGRpdiBpZD0iZXZlbnQtb3V0cHV0IiBjbGFzcz0iZGVtby1vdXRwdXQiPgogICAgICAgICAgPGVtPlNlbGVjdCBhIGRhdGUgdG8gc2VlIGV2ZW50IGRldGFpbHMuLi48L2VtPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgX3NhLFRzYT1mKCgpPT57bGUoKTtTcigpO19zYT1bLi4ud3QuYmFzZVN0eWxlcyxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmlucHV0LWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAuZGF0ZS1pbnB1dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjI0IDcxLjQlIDQuMSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjI0IDcxLjQlIDQuMSUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICB9CgogICAgICAuZGF0ZS1pbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICB9CgogICAgICAuZGF0ZS1pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMjAlIDk4JSkiLCJoc2woMjE1IDI3LjklIDE2LjklKSIpfTsKICAgICAgfQoKICAgICAgLmRhdGUtaW5wdXQ6Zm9jdXMsCiAgICAgIC5kYXRlLWlucHV0Lm9wZW4gewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSAxMS4yJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjI0IDcxLjQlIDQuMSUpIil9LAogICAgICAgICAgICAgICAgICAgIDAgMCAwIDRweCAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDExLjIlIC8gMC4xKSIsImhzbCgyMTAgMjAlIDk4JSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5kYXRlLWlucHV0OmRpc2FibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCAyMCUgOTglKSIsImhzbCgyMTUgMjcuOSUgMTYuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAuaWNvbi1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5pY29uLWNvbnRhaW5lciA+ICogewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICB9CgogICAgICAuY2FsZW5kYXItaWNvbiB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIwIDguOSUgNDYuMSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAuY2xlYXItYnV0dG9uIHsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuY2xlYXItYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCAyMCUgOTglKSIsImhzbCgyMTUgMjcuOSUgMTYuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyNCA3MS40JSA0LjElKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgIH0KICAgIGBdfSk7dmFyIExzYSwkc2E9ZigoKT0+e2xlKCk7THNhPXMoYT0+d2AKICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0ke2EubGFiZWx9IC5pbmZvVGV4dD0ke2EuaW5mb1RleHR9IC5yZXF1aXJlZD0ke2EucmVxdWlyZWR9PjwvZGVlcy1sYWJlbD4KICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWNvbnRhaW5lciI+CiAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgY2xhc3M9ImRhdGUtaW5wdXQgJHthLmlzT3BlbmVkPyJvcGVuIjoiIn0iCiAgICAgICAgICAgICAgLnZhbHVlPSR7YS5mb3JtYXREYXRlKGEudmFsdWUpfQogICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0ke2EucGxhY2Vob2xkZXJ9CiAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7YS5kaXNhYmxlZH0KICAgICAgICAgICAgICBAY2xpY2s9JHthLnRvZ2dsZUNhbGVuZGFyfQogICAgICAgICAgICAgIEBrZXlkb3duPSR7YS5oYW5kbGVLZXlkb3dufQogICAgICAgICAgICAgIEBpbnB1dD0ke2EuaGFuZGxlTWFudWFsSW5wdXR9CiAgICAgICAgICAgICAgQGJsdXI9JHthLmhhbmRsZUlucHV0Qmx1cn0KICAgICAgICAgICAgICBzdHlsZT0icGFkZGluZy1yaWdodDogJHthLnZhbHVlPyI2NHB4IjoiNDBweCJ9IgogICAgICAgICAgICAvPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgJHthLnZhbHVlJiYhYS5kaXNhYmxlZD93YAogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY2xlYXItYnV0dG9uIiBAY2xpY2s9JHthLmNsZWFyVmFsdWV9IHRpdGxlPSJDbGVhciI+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOngiIGljb25TaXplPSIxNCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9ImNhbGVuZGFyLWljb24iIGljb249Imx1Y2lkZTpjYWxlbmRhciIgaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7YS5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICAgIDwvZGl2PgogICAgICBgLCJyZW5kZXJEYXRlcGlja2VyIil9KTt2YXIgaHMsc2EsaWFlLEJZZT1mKCgpPT57bGUoKTtlYSgpO1VpKCk7UWUoKTtNMSgpO3ZhKCk7aHM9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHNhPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxpYWU9KCgpPT57bGV0IGE9W2llKCJkZWVzLWlucHV0LWRhdGVwaWNrZXItcG9wdXAiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdLGNlLHVlPVtdLFk9W10sUSxKPVtdLFo9W10sZ2UsYWU9W10scmU9W10seWUsVj1bXSxIPVtdLG9lLHNlPVtdLHRlPVtdLHplLE9lPVtdLHFlPVtdLGN0LCRlPVtdLENlPVtdO3ZhciBNZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0RGF0ZXBpY2tlclBvcHVwIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGRlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe2F0dHJpYnV0ZTohMX0pXSxkPVskKHthdHRyaWJ1dGU6ITF9KV0sdT1bJCh7dHlwZTpCb29sZWFufSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLHk9WyQoe3R5cGU6TnVtYmVyfSldLE49WyQoe3R5cGU6TnVtYmVyfSldLE89WyQoe3R5cGU6U3RyaW5nfSldLEI9WyQoe3R5cGU6U3RyaW5nfSldLFA9WyQoe3R5cGU6QXJyYXl9KV0sVz1bJCh7dHlwZTpCb29sZWFufSldLGhlPVskKHt0eXBlOlN0cmluZ30pXSxtZT1bJCh7dHlwZTpBcnJheX0pXSxjZT1bJCh7dHlwZTpCb29sZWFufSldLFE9W0soKV0sZ2U9W0soKV0seWU9W0soKV0sb2U9W0soKV0semU9W0soKV0sY3Q9W0soKV0saHModGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0cmlnZ2VyUmVjdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2ZT0+InRyaWdnZXJSZWN0ImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUudHJpZ2dlclJlY3QsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS50cmlnZ2VyUmVjdD1BZX0sInNldCIpfSxtZXRhZGF0YTpkZX0sbixsKSxocyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im93bmVyQ29tcG9uZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHZlPT4ib3duZXJDb21wb25lbnQiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS5vd25lckNvbXBvbmVudCwiZ2V0Iiksc2V0OnMoKHZlLEFlKT0+e3ZlLm93bmVyQ29tcG9uZW50PUFlfSwic2V0Iil9LG1ldGFkYXRhOmRlfSxjLHApLGhzKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW5hYmxlVGltZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2ZT0+ImVuYWJsZVRpbWUiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS5lbmFibGVUaW1lLCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUuZW5hYmxlVGltZT1BZX0sInNldCIpfSxtZXRhZGF0YTpkZX0sbSx2KSxocyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRpbWVGb3JtYXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJ0aW1lRm9ybWF0ImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUudGltZUZvcm1hdCwiZ2V0Iiksc2V0OnMoKHZlLEFlKT0+e3ZlLnRpbWVGb3JtYXQ9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LGIsZyksaHModGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtaW51dGVJbmNyZW1lbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJtaW51dGVJbmNyZW1lbnQiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS5taW51dGVJbmNyZW1lbnQsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS5taW51dGVJbmNyZW1lbnQ9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LGssQyksaHModGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3ZWVrU3RhcnRzT24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJ3ZWVrU3RhcnRzT24iaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS53ZWVrU3RhcnRzT24sImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS53ZWVrU3RhcnRzT249QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LF8seiksaHModGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtaW5EYXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHZlPT4ibWluRGF0ZSJpbiB2ZSwiaGFzIiksZ2V0OnModmU9PnZlLm1pbkRhdGUsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS5taW5EYXRlPUFlfSwic2V0Iil9LG1ldGFkYXRhOmRlfSxULEUpLGhzKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWF4RGF0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2ZT0+Im1heERhdGUiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS5tYXhEYXRlLCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUubWF4RGF0ZT1BZX0sInNldCIpfSxtZXRhZGF0YTpkZX0sTSxTKSxocyh0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRpc2FibGVkRGF0ZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJkaXNhYmxlZERhdGVzImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUuZGlzYWJsZWREYXRlcywiZ2V0Iiksc2V0OnMoKHZlLEFlKT0+e3ZlLmRpc2FibGVkRGF0ZXM9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LEEsRiksaHModGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbmFibGVUaW1lem9uZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2ZT0+ImVuYWJsZVRpbWV6b25lImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUuZW5hYmxlVGltZXpvbmUsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS5lbmFibGVUaW1lem9uZT1BZX0sInNldCIpfSxtZXRhZGF0YTpkZX0saixHKSxocyh0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aW1lem9uZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2ZT0+InRpbWV6b25lImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUudGltZXpvbmUsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS50aW1lem9uZT1BZX0sInNldCIpfSxtZXRhZGF0YTpkZX0sUixVKSxocyh0aGlzLG51bGwsbWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJldmVudHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJldmVudHMiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS5ldmVudHMsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS5ldmVudHM9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LEkscSksaHModGhpcyxudWxsLGNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3BlbnNUb1RvcCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2ZT0+Im9wZW5zVG9Ub3AiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS5vcGVuc1RvVG9wLCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUub3BlbnNUb1RvcD1BZX0sInNldCIpfSxtZXRhZGF0YTpkZX0sdWUsWSksaHModGhpcyxudWxsLFEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZERhdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJzZWxlY3RlZERhdGUiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS5zZWxlY3RlZERhdGUsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS5zZWxlY3RlZERhdGU9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LEosWiksaHModGhpcyxudWxsLGdlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmlld0RhdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJ2aWV3RGF0ZSJpbiB2ZSwiaGFzIiksZ2V0OnModmU9PnZlLnZpZXdEYXRlLCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUudmlld0RhdGU9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LGFlLHJlKSxocyh0aGlzLG51bGwseWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZEhvdXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJzZWxlY3RlZEhvdXIiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS5zZWxlY3RlZEhvdXIsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS5zZWxlY3RlZEhvdXI9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LFYsSCksaHModGhpcyxudWxsLG9lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRNaW51dGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJzZWxlY3RlZE1pbnV0ZSJpbiB2ZSwiaGFzIiksZ2V0OnModmU9PnZlLnNlbGVjdGVkTWludXRlLCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUuc2VsZWN0ZWRNaW51dGU9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LHNlLHRlKSxocyh0aGlzLG51bGwsemUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW51WkluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHZlPT4ibWVudVpJbmRleCJpbiB2ZSwiaGFzIiksZ2V0OnModmU9PnZlLm1lbnVaSW5kZXgsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS5tZW51WkluZGV4PUFlfSwic2V0Iil9LG1ldGFkYXRhOmRlfSxPZSxxZSksaHModGhpcyxudWxsLGN0LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2ZT0+InZpc2libGUiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS52aXNpYmxlLCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUudmlzaWJsZT1BZX0sInNldCIpfSxtZXRhZGF0YTpkZX0sJGUsQ2UpLGhzKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmRlfSxudWxsLHQpLE1lPXI9ZS52YWx1ZSxkZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpkZX0pfSNlPXNhKHRoaXMsbixudWxsKTtnZXQgdHJpZ2dlclJlY3QoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdHJpZ2dlclJlY3QoZGUpe3RoaXMuI2U9ZGV9I3Q9KHNhKHRoaXMsbCksc2EodGhpcyxjLG51bGwpKTtnZXQgb3duZXJDb21wb25lbnQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgb3duZXJDb21wb25lbnQoZGUpe3RoaXMuI3Q9ZGV9I2E9KHNhKHRoaXMscCksc2EodGhpcyxtLCExKSk7Z2V0IGVuYWJsZVRpbWUoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZW5hYmxlVGltZShkZSl7dGhpcy4jYT1kZX0jcj0oc2EodGhpcyx2KSxzYSh0aGlzLGIsIjI0aCIpKTtnZXQgdGltZUZvcm1hdCgpe3JldHVybiB0aGlzLiNyfXNldCB0aW1lRm9ybWF0KGRlKXt0aGlzLiNyPWRlfSNzPShzYSh0aGlzLGcpLHNhKHRoaXMsaywxKSk7Z2V0IG1pbnV0ZUluY3JlbWVudCgpe3JldHVybiB0aGlzLiNzfXNldCBtaW51dGVJbmNyZW1lbnQoZGUpe3RoaXMuI3M9ZGV9I2k9KHNhKHRoaXMsQyksc2EodGhpcyxfLDEpKTtnZXQgd2Vla1N0YXJ0c09uKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHdlZWtTdGFydHNPbihkZSl7dGhpcy4jaT1kZX0jbz0oc2EodGhpcyx6KSxzYSh0aGlzLFQsIiIpKTtnZXQgbWluRGF0ZSgpe3JldHVybiB0aGlzLiNvfXNldCBtaW5EYXRlKGRlKXt0aGlzLiNvPWRlfSNuPShzYSh0aGlzLEUpLHNhKHRoaXMsTSwiIikpO2dldCBtYXhEYXRlKCl7cmV0dXJuIHRoaXMuI259c2V0IG1heERhdGUoZGUpe3RoaXMuI249ZGV9I2w9KHNhKHRoaXMsUyksc2EodGhpcyxBLFtdKSk7Z2V0IGRpc2FibGVkRGF0ZXMoKXtyZXR1cm4gdGhpcy4jbH1zZXQgZGlzYWJsZWREYXRlcyhkZSl7dGhpcy4jbD1kZX0jYz0oc2EodGhpcyxGKSxzYSh0aGlzLGosITEpKTtnZXQgZW5hYmxlVGltZXpvbmUoKXtyZXR1cm4gdGhpcy4jY31zZXQgZW5hYmxlVGltZXpvbmUoZGUpe3RoaXMuI2M9ZGV9I2Q9KHNhKHRoaXMsRyksc2EodGhpcyxSLEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZSkpO2dldCB0aW1lem9uZSgpe3JldHVybiB0aGlzLiNkfXNldCB0aW1lem9uZShkZSl7dGhpcy4jZD1kZX0jdT0oc2EodGhpcyxVKSxzYSh0aGlzLEksW10pKTtnZXQgZXZlbnRzKCl7cmV0dXJuIHRoaXMuI3V9c2V0IGV2ZW50cyhkZSl7dGhpcy4jdT1kZX0jcD0oc2EodGhpcyxxKSxzYSh0aGlzLHVlLCExKSk7Z2V0IG9wZW5zVG9Ub3AoKXtyZXR1cm4gdGhpcy4jcH1zZXQgb3BlbnNUb1RvcChkZSl7dGhpcy4jcD1kZX0jZj0oc2EodGhpcyxZKSxzYSh0aGlzLEosbnVsbCkpO2dldCBzZWxlY3RlZERhdGUoKXtyZXR1cm4gdGhpcy4jZn1zZXQgc2VsZWN0ZWREYXRlKGRlKXt0aGlzLiNmPWRlfSNoPShzYSh0aGlzLFopLHNhKHRoaXMsYWUsbmV3IERhdGUpKTtnZXQgdmlld0RhdGUoKXtyZXR1cm4gdGhpcy4jaH1zZXQgdmlld0RhdGUoZGUpe3RoaXMuI2g9ZGV9I209KHNhKHRoaXMscmUpLHNhKHRoaXMsViwwKSk7Z2V0IHNlbGVjdGVkSG91cigpe3JldHVybiB0aGlzLiNtfXNldCBzZWxlY3RlZEhvdXIoZGUpe3RoaXMuI209ZGV9I2c9KHNhKHRoaXMsSCksc2EodGhpcyxzZSwwKSk7Z2V0IHNlbGVjdGVkTWludXRlKCl7cmV0dXJuIHRoaXMuI2d9c2V0IHNlbGVjdGVkTWludXRlKGRlKXt0aGlzLiNnPWRlfSNiPShzYSh0aGlzLHRlKSxzYSh0aGlzLE9lLDFlMykpO2dldCBtZW51WkluZGV4KCl7cmV0dXJuIHRoaXMuI2J9c2V0IG1lbnVaSW5kZXgoZGUpe3RoaXMuI2I9ZGV9I3Y9KHNhKHRoaXMscWUpLHNhKHRoaXMsJGUsITEpKTtnZXQgdmlzaWJsZSgpe3JldHVybiB0aGlzLiN2fXNldCB2aXNpYmxlKGRlKXt0aGlzLiN2PWRlfXdpbmRvd0xheWVyPShzYSh0aGlzLENlKSxudWxsKTtpc0Rlc3Ryb3lpbmc9ITE7c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgd2lkdGg6IDA7CiAgICAgICAgaGVpZ2h0OiAwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAqIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuY2FsZW5kYXItcG9wdXAgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMjQgNzEuNCUgNC4xJSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICAgIGJveC1zaGFkb3c6ICR7aC5iZFRoZW1lKCIwIDEwcHggMTVweCAtM3B4IGhzbCgwIDAlIDAlIC8gMC4xKSwgMCA0cHggNnB4IC00cHggaHNsKDAgMCUgMCUgLyAwLjEpIiwiMCAxMHB4IDE1cHggLTNweCBoc2woMCAwJSAwJSAvIDAuMiksIDAgNHB4IDZweCAtNHB4IGhzbCgwIDAlIDAlIC8gMC4yKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBtaW4td2lkdGg6IDI4MHB4OwogICAgICB9CgogICAgICAuY2FsZW5kYXItcG9wdXAudG9wIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTsKICAgICAgfQoKICAgICAgLmNhbGVuZGFyLXBvcHVwLnNob3cgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAvKiBDYWxlbmRhciBIZWFkZXIgKi8KICAgICAgLmNhbGVuZGFyLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAubW9udGgteWVhci1kaXNwbGF5IHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjQgNzEuNCUgNC4xJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CgogICAgICAubmF2LWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDI4cHg7CiAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICB9CgogICAgICAubmF2LWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMjAlIDk4JSkiLCJoc2woMjE1IDI3LjklIDE2LjklKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjQgNzEuNCUgNC4xJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICB9CgogICAgICAvKiBXZWVrZGF5IGhlYWRlcnMgKi8KICAgICAgLndlZWtkYXlzIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CgogICAgICAud2Vla2RheSB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIHBhZGRpbmc6IDAgMCA4cHggMDsKICAgICAgfQoKICAgICAgLyogRGF5cyBncmlkICovCiAgICAgIC5kYXlzLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLmRheSB7CiAgICAgICAgYXNwZWN0LXJhdGlvOiAxOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyNCA3MS40JSA0LjElKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIHdpZHRoOiAzNnB4OwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5kYXk6aG92ZXI6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDIwJSA5OCUpIiwiaHNsKDIxNSAyNy45JSAxNi45JSkiKX07CiAgICAgIH0KCiAgICAgIC5kYXkub3RoZXItbW9udGggewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLmRheS50b2RheSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMjAlIDk4JSkiLCJoc2woMjE1IDI3LjklIDE2LjklKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuZGF5LnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDExLjIlKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDIwJSA5OCUpIiwiaHNsKDIyMi4yIDQ3LjQlIDExLjIlKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuZGF5LmRpc2FibGVkIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIG9wYWNpdHk6IDAuMzsKICAgICAgfQoKICAgICAgLyogRXZlbnQgaW5kaWNhdG9ycyAqLwogICAgICAuZXZlbnQtaW5kaWNhdG9yIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiA0cHg7CiAgICAgICAgbGVmdDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAuZXZlbnQtZG90IHsKICAgICAgICB3aWR0aDogNHB4OwogICAgICAgIGhlaWdodDogNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICB9CgogICAgICAuZXZlbnQtZG90LmluZm8geyBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMSA3MCUgNTIlKSIsImhzbCgyMTEgNzAlIDYyJSkiKX07IH0KICAgICAgLmV2ZW50LWRvdC53YXJuaW5nIHsgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCg0NSA5MCUgNDUlKSIsImhzbCg0NSA5MCUgNTUlKSIpfTsgfQogICAgICAuZXZlbnQtZG90LnN1Y2Nlc3MgeyBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDE0MiA2OSUgNDUlKSIsImhzbCgxNDIgNjklIDU1JSkiKX07IH0KICAgICAgLmV2ZW50LWRvdC5lcnJvciB7IGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA3MiUgNTElKSIsImhzbCgwIDcyJSA2MSUpIil9OyB9CgogICAgICAuZXZlbnQtY291bnQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDJweDsKICAgICAgICByaWdodDogMnB4OwogICAgICAgIG1pbi13aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMCA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDcyJSA1MSUpIiwiaHNsKDAgNzIlIDYxJSkiKX07CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5ldmVudC10b29sdGlwIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgKyA4cHgpOwogICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAwJSkiKX07CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgIH0KCiAgICAgIC5kYXkuaGFzLWV2ZW50OmhvdmVyIC5ldmVudC10b29sdGlwIHsgb3BhY2l0eTogMTsgfQoKICAgICAgLyogVGltZSBzZWxlY3RvciAqLwogICAgICAudGltZS1zZWxlY3RvciB7CiAgICAgICAgbWFyZ2luLXRvcDogMTJweDsKICAgICAgICBwYWRkaW5nLXRvcDogMTJweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICB9CgogICAgICAudGltZS1zZWxlY3Rvci10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICB9CgogICAgICAudGltZS1pbnB1dHMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLnRpbWUtaW5wdXQgewogICAgICAgIHdpZHRoOiA2NXB4OwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMjQgNzEuNCUgNC4xJSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjI0IDcxLjQlIDQuMSUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICB9CgogICAgICAudGltZS1pbnB1dDpmb2N1cyB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgMTEuMiUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSAxMS4yJSAvIDAuMSkiLCJoc2woMjEwIDIwJSA5OCUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAudGltZS1zZXBhcmF0b3IgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICB9CgogICAgICAuYW0tcG0tc2VsZWN0b3IgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDRweDsgbWFyZ2luLWxlZnQ6IDhweDsgfQoKICAgICAgLmFtLXBtLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMjQgNzEuNCUgNC4xJSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICB9CgogICAgICAuYW0tcG0tYnV0dG9uLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDExLjIlKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDIwJSA5OCUpIiwiaHNsKDIyMi4yIDQ3LjQlIDExLjIlKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgMTEuMiUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgfQoKICAgICAgLmFtLXBtLWJ1dHRvbjpob3Zlcjpub3QoLnNlbGVjdGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMjAlIDk4JSkiLCJoc2woMjE1IDI3LjklIDE2LjklKSIpfTsKICAgICAgfQoKICAgICAgLyogVGltZXpvbmUgc2VsZWN0b3IgKi8KICAgICAgLnRpbWV6b25lLXNlbGVjdG9yIHsKICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OwogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgIH0KCiAgICAgIC50aW1lem9uZS1zZWxlY3Rvci10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICB9CgogICAgICAudGltZXpvbmUtc2VsZWN0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMjQgNzEuNCUgNC4xJSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjI0IDcxLjQlIDQuMSUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC8qIEFjdGlvbiBidXR0b25zICovCiAgICAgIC5jYWxlbmRhci1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1hcmdpbi10b3A6IDEycHg7CiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAudG9kYXktYnV0dG9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjI0IDcxLjQlIDQuMSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjQgNzEuNCUgNC4xJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICB9CgogICAgICAudG9kYXktYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCAyMCUgOTglKSIsImhzbCgyMTUgMjcuOSUgMTYuOSUpIil9OwogICAgICB9CgogICAgICAuY2xlYXItYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIwIDguOSUgNDYuMSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgIH0KCiAgICAgIC5jbGVhci1hY3Rpb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUgLyAwLjEpIiwiaHNsKDAgNjIuOCUgMzAuNiUgLyAwLjEpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUpIiwiaHNsKDAgNjIuOCUgMzAuNiUpIil9OwogICAgICB9CiAgICBgXTtzdGF0aWMgTU9OVEhfTkFNRVM9WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdO3N0YXRpYyBUSU1FWk9ORVM9W3t2YWx1ZToiVVRDIixsYWJlbDoiVVRDIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSkifSx7dmFsdWU6IkFtZXJpY2EvTmV3X1lvcmsiLGxhYmVsOiJFYXN0ZXJuIFRpbWUgKFVTICYgQ2FuYWRhKSJ9LHt2YWx1ZToiQW1lcmljYS9DaGljYWdvIixsYWJlbDoiQ2VudHJhbCBUaW1lIChVUyAmIENhbmFkYSkifSx7dmFsdWU6IkFtZXJpY2EvRGVudmVyIixsYWJlbDoiTW91bnRhaW4gVGltZSAoVVMgJiBDYW5hZGEpIn0se3ZhbHVlOiJBbWVyaWNhL0xvc19BbmdlbGVzIixsYWJlbDoiUGFjaWZpYyBUaW1lIChVUyAmIENhbmFkYSkifSx7dmFsdWU6IkV1cm9wZS9Mb25kb24iLGxhYmVsOiJMb25kb24ifSx7dmFsdWU6IkV1cm9wZS9QYXJpcyIsbGFiZWw6IlBhcmlzIn0se3ZhbHVlOiJFdXJvcGUvQmVybGluIixsYWJlbDoiQmVybGluIn0se3ZhbHVlOiJFdXJvcGUvTW9zY293IixsYWJlbDoiTW9zY293In0se3ZhbHVlOiJBc2lhL0R1YmFpIixsYWJlbDoiRHViYWkifSx7dmFsdWU6IkFzaWEvS29sa2F0YSIsbGFiZWw6IkluZGlhIFN0YW5kYXJkIFRpbWUifSx7dmFsdWU6IkFzaWEvU2hhbmdoYWkiLGxhYmVsOiJDaGluYSBTdGFuZGFyZCBUaW1lIn0se3ZhbHVlOiJBc2lhL1Rva3lvIixsYWJlbDoiVG9reW8ifSx7dmFsdWU6IkF1c3RyYWxpYS9TeWRuZXkiLGxhYmVsOiJTeWRuZXkifSx7dmFsdWU6IlBhY2lmaWMvQXVja2xhbmQiLGxhYmVsOiJBdWNrbGFuZCJ9XTtyZW5kZXIoKXtpZighdGhpcy50cmlnZ2VyUmVjdClyZXR1cm4gd2BgO2xldCBkZT10aGlzLmNvbXB1dGVQb3NpdGlvblN0eWxlKCksdmU9dGhpcy53ZWVrU3RhcnRzT249PT0xP1siTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIiwiU3UiXTpbIlN1IiwiTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIl0sQWU9dGhpcy5nZXREYXlzSW5Nb250aCgpLFplPXRoaXMuc2VsZWN0ZWRIb3VyPDEyO3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImNhbGVuZGFyLXBvcHVwICR7dGhpcy52aXNpYmxlPyJzaG93IjoiIn0gJHt0aGlzLm9wZW5zVG9Ub3A/InRvcCI6ImJvdHRvbSJ9IgogICAgICAgIHN0eWxlPSIke2RlfTsgei1pbmRleDogJHt0aGlzLm1lbnVaSW5kZXh9OyIKICAgICAgPgogICAgICAgIDxkaXYgY2xhc3M9ImNhbGVuZGFyLWhlYWRlciI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJuYXYtYnV0dG9uIiBAY2xpY2s9JHt0aGlzLnByZXZpb3VzTW9udGh9PgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpjaGV2cm9uTGVmdCIgaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPGRpdiBjbGFzcz0ibW9udGgteWVhci1kaXNwbGF5Ij4KICAgICAgICAgICAgJHtNZS5NT05USF9OQU1FU1t0aGlzLnZpZXdEYXRlLmdldE1vbnRoKCldfSAke3RoaXMudmlld0RhdGUuZ2V0RnVsbFllYXIoKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy5uZXh0TW9udGh9PgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpjaGV2cm9uUmlnaHQiIGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0id2Vla2RheXMiPgogICAgICAgICAgJHt2ZS5tYXAobHQ9PndgPGRpdiBjbGFzcz0id2Vla2RheSI+JHtsdH08L2Rpdj5gKX0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iZGF5cy1ncmlkIj4KICAgICAgICAgICR7QWUubWFwKGx0PT57bGV0IHp0PXRoaXMuaXNUb2RheShsdCksVGU9dGhpcy5pc1NlbGVjdGVkKGx0KSx3ZT1sdC5nZXRNb250aCgpIT09dGhpcy52aWV3RGF0ZS5nZXRNb250aCgpLFJlPXRoaXMuaXNEYXlEaXNhYmxlZChsdCksZmU9dGhpcy5nZXRFdmVudHNGb3JEYXRlKGx0KSxiZT1mZS5sZW5ndGg+MCxQZT1mZS5yZWR1Y2UoKGZ0LG10KT0+ZnQrKG10LmNvdW50fHwxKSwwKTtyZXR1cm4gd2AKICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICBjbGFzcz0iZGF5ICR7d2U/Im90aGVyLW1vbnRoIjoiIn0gJHt6dD8idG9kYXkiOiIifSAke1RlPyJzZWxlY3RlZCI6IiJ9ICR7UmU/ImRpc2FibGVkIjoiIn0gJHtiZT8iaGFzLWV2ZW50IjoiIn0iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+IVJlJiZ0aGlzLmhhbmRsZVNlbGVjdERhdGUobHQpfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICR7bHQuZ2V0RGF0ZSgpfQogICAgICAgICAgICAgICAgJHtiZT93YAogICAgICAgICAgICAgICAgICAke1BlPjM/d2AKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJldmVudC1jb3VudCI+JHtQZX08L2Rpdj4KICAgICAgICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV2ZW50LWluZGljYXRvciI+CiAgICAgICAgICAgICAgICAgICAgICAke2ZlLnNsaWNlKDAsMykubWFwKGZ0PT53YAogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJldmVudC1kb3QgJHtmdC50eXBlfHwiaW5mbyJ9Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICBgfQogICAgICAgICAgICAgICAgICAke2ZlWzBdLnRpdGxlP3dgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXZlbnQtdG9vbHRpcCI+CiAgICAgICAgICAgICAgICAgICAgICAke2ZlWzBdLnRpdGxlfQogICAgICAgICAgICAgICAgICAgICAgJHtQZT4xP3dgICgrJHtQZS0xfSBtb3JlKWA6IiJ9CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgfSl9CiAgICAgICAgPC9kaXY+CgogICAgICAgICR7dGhpcy5lbmFibGVUaW1lP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lLXNlbGVjdG9yIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZS1zZWxlY3Rvci10aXRsZSI+VGltZTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lLWlucHV0cyI+CiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgY2xhc3M9InRpbWUtaW5wdXQiCiAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLnRpbWVGb3JtYXQ9PT0iMTJoIj8odGhpcy5zZWxlY3RlZEhvdXI9PT0wPzEyOnRoaXMuc2VsZWN0ZWRIb3VyPjEyP3RoaXMuc2VsZWN0ZWRIb3VyLTEyOnRoaXMuc2VsZWN0ZWRIb3VyKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKTp0aGlzLnNlbGVjdGVkSG91ci50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke3RoaXMuaGFuZGxlSG91cklucHV0fQogICAgICAgICAgICAgICAgbWluPSIke3RoaXMudGltZUZvcm1hdD09PSIxMmgiPzE6MH0iCiAgICAgICAgICAgICAgICBtYXg9IiR7dGhpcy50aW1lRm9ybWF0PT09IjEyaCI/MTI6MjN9IgogICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpbWUtc2VwYXJhdG9yIj46PC9zcGFuPgogICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIGNsYXNzPSJ0aW1lLWlucHV0IgogICAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5zZWxlY3RlZE1pbnV0ZS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke3RoaXMuaGFuZGxlTWludXRlSW5wdXR9CiAgICAgICAgICAgICAgICBtaW49IjAiIG1heD0iNTkiIHN0ZXA9IiR7dGhpcy5taW51dGVJbmNyZW1lbnR8fDF9IgogICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgJHt0aGlzLnRpbWVGb3JtYXQ9PT0iMTJoIj93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW0tcG0tc2VsZWN0b3IiPgogICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhbS1wbS1idXR0b24gJHtaZT8ic2VsZWN0ZWQiOiIifSIgQGNsaWNrPSR7KCk9PnRoaXMuc2V0QU1QTSgiYW0iKX0+QU08L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYW0tcG0tYnV0dG9uICR7WmU/IiI6InNlbGVjdGVkIn0iIEBjbGljaz0keygpPT50aGlzLnNldEFNUE0oInBtIil9PlBNPC9idXR0b24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgICR7dGhpcy5lbmFibGVUaW1lem9uZT93YAogICAgICAgICAgPGRpdiBjbGFzcz0idGltZXpvbmUtc2VsZWN0b3IiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lem9uZS1zZWxlY3Rvci10aXRsZSI+VGltZXpvbmU8L2Rpdj4KICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz0idGltZXpvbmUtc2VsZWN0IiAudmFsdWU9JHt0aGlzLnRpbWV6b25lfSBAY2hhbmdlPSR7dGhpcy5oYW5kbGVUaW1lem9uZUNoYW5nZX0+CiAgICAgICAgICAgICAgJHtNZS5USU1FWk9ORVMubWFwKGx0PT53YAogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iJHtsdC52YWx1ZX0iID9zZWxlY3RlZD0ke2x0LnZhbHVlPT09dGhpcy50aW1lem9uZX0+JHtsdC5sYWJlbH08L29wdGlvbj4KICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQoKICAgICAgICA8ZGl2IGNsYXNzPSJjYWxlbmRhci1hY3Rpb25zIj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gdG9kYXktYnV0dG9uIiBAY2xpY2s9JHt0aGlzLmhhbmRsZVNlbGVjdFRvZGF5fT5Ub2RheTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBjbGVhci1hY3Rpb24tYnV0dG9uIiBAY2xpY2s9JHt0aGlzLmhhbmRsZUNsZWFyfT5DbGVhcjwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Y29tcHV0ZVBvc2l0aW9uU3R5bGUoKXtsZXQgZGU9dGhpcy50cmlnZ2VyUmVjdCx2ZT1kZS5sZWZ0O2lmKHRoaXMub3BlbnNUb1RvcCl7bGV0IEFlPXdpbmRvdy5pbm5lckhlaWdodC1kZS50b3ArNDtyZXR1cm5gbGVmdDogJHt2ZX1weDsgYm90dG9tOiAke0FlfXB4OyB0b3A6IGF1dG9gfWVsc2V7bGV0IEFlPWRlLmJvdHRvbSs0O3JldHVybmBsZWZ0OiAke3ZlfXB4OyB0b3A6ICR7QWV9cHhgfX1nZXREYXlzSW5Nb250aCgpe2xldCBkZT10aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCksdmU9dGhpcy52aWV3RGF0ZS5nZXRNb250aCgpLEFlPW5ldyBEYXRlKGRlLHZlLDEpLFplPW5ldyBEYXRlKGRlLHZlKzEsMCksbHQ9W10senQ9dGhpcy53ZWVrU3RhcnRzT249PT0xP0FlLmdldERheSgpPT09MD82OkFlLmdldERheSgpLTE6QWUuZ2V0RGF5KCk7Zm9yKGxldCB3ZT16dDt3ZT4wO3dlLS0pbHQucHVzaChuZXcgRGF0ZShkZSx2ZSwxLXdlKSk7Zm9yKGxldCB3ZT0xO3dlPD1aZS5nZXREYXRlKCk7d2UrKylsdC5wdXNoKG5ldyBEYXRlKGRlLHZlLHdlKSk7bGV0IFRlPTQyLWx0Lmxlbmd0aDtmb3IobGV0IHdlPTE7d2U8PVRlO3dlKyspbHQucHVzaChuZXcgRGF0ZShkZSx2ZSsxLHdlKSk7cmV0dXJuIGx0fWlzVG9kYXkoZGUpe2xldCB2ZT1uZXcgRGF0ZTtyZXR1cm4gZGUuZ2V0RGF0ZSgpPT09dmUuZ2V0RGF0ZSgpJiZkZS5nZXRNb250aCgpPT09dmUuZ2V0TW9udGgoKSYmZGUuZ2V0RnVsbFllYXIoKT09PXZlLmdldEZ1bGxZZWFyKCl9aXNTZWxlY3RlZChkZSl7cmV0dXJuIHRoaXMuc2VsZWN0ZWREYXRlP2RlLmdldERhdGUoKT09PXRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSYmZGUuZ2V0TW9udGgoKT09PXRoaXMuc2VsZWN0ZWREYXRlLmdldE1vbnRoKCkmJmRlLmdldEZ1bGxZZWFyKCk9PT10aGlzLnNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpOiExfWlzRGF5RGlzYWJsZWQoZGUpe2lmKHRoaXMubWluRGF0ZSl7bGV0IHZlPW5ldyBEYXRlKHRoaXMubWluRGF0ZSk7aWYoZGU8dmUpcmV0dXJuITB9aWYodGhpcy5tYXhEYXRlKXtsZXQgdmU9bmV3IERhdGUodGhpcy5tYXhEYXRlKTtpZihkZT52ZSlyZXR1cm4hMH1yZXR1cm4gdGhpcy5kaXNhYmxlZERhdGVzPy5sZW5ndGg/dGhpcy5kaXNhYmxlZERhdGVzLnNvbWUodmU9Pnt0cnl7bGV0IEFlPW5ldyBEYXRlKHZlKTtyZXR1cm4gZGUuZ2V0RGF0ZSgpPT09QWUuZ2V0RGF0ZSgpJiZkZS5nZXRNb250aCgpPT09QWUuZ2V0TW9udGgoKSYmZGUuZ2V0RnVsbFllYXIoKT09PUFlLmdldEZ1bGxZZWFyKCl9Y2F0Y2h7cmV0dXJuITF9fSk6ITF9Z2V0RXZlbnRzRm9yRGF0ZShkZSl7aWYoIXRoaXMuZXZlbnRzPy5sZW5ndGgpcmV0dXJuW107bGV0IHZlPWAke2RlLmdldEZ1bGxZZWFyKCl9LSR7KGRlLmdldE1vbnRoKCkrMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9LSR7ZGUuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfWA7cmV0dXJuIHRoaXMuZXZlbnRzLmZpbHRlcihBZT0+QWUuZGF0ZT09PXZlKX1wcmV2aW91c01vbnRoKCl7dGhpcy52aWV3RGF0ZT1uZXcgRGF0ZSh0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCksdGhpcy52aWV3RGF0ZS5nZXRNb250aCgpLTEsMSl9bmV4dE1vbnRoKCl7dGhpcy52aWV3RGF0ZT1uZXcgRGF0ZSh0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCksdGhpcy52aWV3RGF0ZS5nZXRNb250aCgpKzEsMSl9aGFuZGxlU2VsZWN0RGF0ZShkZSl7dGhpcy5zZWxlY3RlZERhdGU9bmV3IERhdGUoZGUuZ2V0RnVsbFllYXIoKSxkZS5nZXRNb250aCgpLGRlLmdldERhdGUoKSx0aGlzLnNlbGVjdGVkSG91cix0aGlzLnNlbGVjdGVkTWludXRlKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkYXRlLXNlbGVjdGVkIix7ZGV0YWlsOnRoaXMuc2VsZWN0ZWREYXRlfSkpLHRoaXMuZW5hYmxlVGltZXx8dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2xvc2UtcmVxdWVzdCIpKX1oYW5kbGVTZWxlY3RUb2RheSgpe2xldCBkZT1uZXcgRGF0ZTt0aGlzLnNlbGVjdGVkRGF0ZT1kZSx0aGlzLnZpZXdEYXRlPW5ldyBEYXRlKGRlKSx0aGlzLnNlbGVjdGVkSG91cj1kZS5nZXRIb3VycygpLHRoaXMuc2VsZWN0ZWRNaW51dGU9ZGUuZ2V0TWludXRlcygpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRhdGUtc2VsZWN0ZWQiLHtkZXRhaWw6dGhpcy5zZWxlY3RlZERhdGV9KSksdGhpcy5lbmFibGVUaW1lfHx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjbG9zZS1yZXF1ZXN0IikpfWhhbmRsZUNsZWFyKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGF0ZS1jbGVhcmVkIikpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNsb3NlLXJlcXVlc3QiKSl9aGFuZGxlSG91cklucHV0PXMoZGU9PntsZXQgdmU9ZGUudGFyZ2V0LEFlPXBhcnNlSW50KHZlLnZhbHVlKXx8MDt0aGlzLnRpbWVGb3JtYXQ9PT0iMTJoIj8oQWU9TWF0aC5tYXgoMSxNYXRoLm1pbigxMixBZSkpLHRoaXMuc2VsZWN0ZWRIb3VyPj0xMiYmQWUhPT0xMj90aGlzLnNlbGVjdGVkSG91cj1BZSsxMjp0aGlzLnNlbGVjdGVkSG91cjwxMiYmQWU9PT0xMj90aGlzLnNlbGVjdGVkSG91cj0wOnRoaXMuc2VsZWN0ZWRIb3VyPUFlKTp0aGlzLnNlbGVjdGVkSG91cj1NYXRoLm1heCgwLE1hdGgubWluKDIzLEFlKSksdGhpcy5lbWl0VGltZVVwZGF0ZSgpfSwiaGFuZGxlSG91cklucHV0Iik7aGFuZGxlTWludXRlSW5wdXQ9cyhkZT0+e2xldCB2ZT1kZS50YXJnZXQsQWU9cGFyc2VJbnQodmUudmFsdWUpfHwwO0FlPU1hdGgubWF4KDAsTWF0aC5taW4oNTksQWUpKSx0aGlzLm1pbnV0ZUluY3JlbWVudD4xJiYoQWU9TWF0aC5yb3VuZChBZS90aGlzLm1pbnV0ZUluY3JlbWVudCkqdGhpcy5taW51dGVJbmNyZW1lbnQpLHRoaXMuc2VsZWN0ZWRNaW51dGU9QWUsdGhpcy5lbWl0VGltZVVwZGF0ZSgpfSwiaGFuZGxlTWludXRlSW5wdXQiKTtzZXRBTVBNKGRlKXtkZT09PSJhbSImJnRoaXMuc2VsZWN0ZWRIb3VyPj0xMj90aGlzLnNlbGVjdGVkSG91ci09MTI6ZGU9PT0icG0iJiZ0aGlzLnNlbGVjdGVkSG91cjwxMiYmKHRoaXMuc2VsZWN0ZWRIb3VyKz0xMiksdGhpcy5lbWl0VGltZVVwZGF0ZSgpfWhhbmRsZVRpbWV6b25lQ2hhbmdlPXMoZGU9Pnt0aGlzLnRpbWV6b25lPWRlLnRhcmdldC52YWx1ZSx0aGlzLmVtaXRUaW1lVXBkYXRlKCl9LCJoYW5kbGVUaW1lem9uZUNoYW5nZSIpO2VtaXRUaW1lVXBkYXRlKCl7dGhpcy5zZWxlY3RlZERhdGUmJih0aGlzLnNlbGVjdGVkRGF0ZT1uZXcgRGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpLHRoaXMuc2VsZWN0ZWREYXRlLmdldE1vbnRoKCksdGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF0ZSgpLHRoaXMuc2VsZWN0ZWRIb3VyLHRoaXMuc2VsZWN0ZWRNaW51dGUpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRhdGUtc2VsZWN0ZWQiLHtkZXRhaWw6dGhpcy5zZWxlY3RlZERhdGV9KSkpfWFzeW5jIHNob3coKXt0aGlzLndpbmRvd0xheWVyPWF3YWl0IGpzLmNyZWF0ZUFuZFNob3coKSx0aGlzLndpbmRvd0xheWVyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNsb3NlLXJlcXVlc3QiKSl9KSx0aGlzLm1lbnVaSW5kZXg9WnQuZ2V0TmV4dFpJbmRleCgpLFp0LnJlZ2lzdGVyKHRoaXMsdGhpcy5tZW51WkluZGV4KSx0aGlzLnN0eWxlLnpJbmRleD10aGlzLm1lbnVaSW5kZXgudG9TdHJpbmcoKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMpLGF3YWl0IEh0LnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMCksdGhpcy52aXNpYmxlPSEwLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuaGFuZGxlU2Nyb2xsT3JSZXNpemUse2NhcHR1cmU6ITAscGFzc2l2ZTohMH0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuaGFuZGxlU2Nyb2xsT3JSZXNpemUse3Bhc3NpdmU6ITB9KX1hc3luYyBoaWRlKCl7dGhpcy5pc0Rlc3Ryb3lpbmd8fCh0aGlzLmlzRGVzdHJveWluZz0hMCx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLmhhbmRsZVNjcm9sbE9yUmVzaXplLHtjYXB0dXJlOiEwfSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5oYW5kbGVTY3JvbGxPclJlc2l6ZSksWnQudW5yZWdpc3Rlcih0aGlzKSx0aGlzLndpbmRvd0xheWVyJiYodGhpcy53aW5kb3dMYXllci5kZXN0cm95KCksdGhpcy53aW5kb3dMYXllcj1udWxsKSx0aGlzLnZpc2libGU9ITEsYXdhaXQgSHQuc21hcnRkZWxheS5kZWxheUZvcigxNTApLHRoaXMucGFyZW50RWxlbWVudCYmdGhpcy5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMpLHRoaXMuaXNEZXN0cm95aW5nPSExKX1oYW5kbGVTY3JvbGxPclJlc2l6ZT1zKCgpPT57dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicmVwb3NpdGlvbi1yZXF1ZXN0IikpfSwiaGFuZGxlU2Nyb2xsT3JSZXNpemUiKTthc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5oYW5kbGVTY3JvbGxPclJlc2l6ZSx7Y2FwdHVyZTohMH0pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuaGFuZGxlU2Nyb2xsT3JSZXNpemUpLFp0LnVucmVnaXN0ZXIodGhpcyl9c3RhdGlje3NhKHIsdCl9fTtyZXR1cm4gTWU9cn0pKCl9KTt2YXIgRXMseGEsb2FlLEZZZT1mKCgpPT57bGUoKTtTcigpO0NzYSgpO1RzYSgpOyRzYSgpO0JZZSgpO3ZhKCk7Y20oKTtFcz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0seGE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LG9hZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtZGF0ZXBpY2tlciIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdLFAsQT1bXSxGPVtdLFcsaj1bXSxHPVtdLGhlLFI9W10sVT1bXSxtZSxJPVtdLHE9W10sY2UsdWU9W10sWT1bXSxRLEo9W10sWj1bXSxnZSxhZT1bXSxyZT1bXSx5ZSxWPVtdLEg9W10sb2Usc2U9W10sdGU9W10semUsT2U9W10scWU9W107dmFyIGN0PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXREYXRlcGlja2VyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0ICRlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6Qm9vbGVhbn0pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOk51bWJlcn0pXSx5PVskKHt0eXBlOlN0cmluZ30pXSxOPVskKHt0eXBlOlN0cmluZ30pXSxPPVskKHt0eXBlOlN0cmluZ30pXSxCPVskKHt0eXBlOkFycmF5fSldLFA9WyQoe3R5cGU6TnVtYmVyfSldLFc9WyQoe3R5cGU6U3RyaW5nfSldLGhlPVskKHt0eXBlOkJvb2xlYW59KV0sbWU9WyQoe3R5cGU6U3RyaW5nfSldLGNlPVskKHt0eXBlOkFycmF5fSldLFE9W0soKV0sZ2U9W0soKV0seWU9W0soKV0sb2U9W0soKV0semU9W0soKV0sRXModGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+InZhbHVlImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2UudmFsdWUsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS52YWx1ZT1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sbixsKSxFcyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVuYWJsZVRpbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQ2U9PiJlbmFibGVUaW1lImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2UuZW5hYmxlVGltZSwiZ2V0Iiksc2V0OnMoKENlLE1lKT0+e0NlLmVuYWJsZVRpbWU9TWV9LCJzZXQiKX0sbWV0YWRhdGE6JGV9LGMscCksRXModGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aW1lRm9ybWF0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKENlPT4idGltZUZvcm1hdCJpbiBDZSwiaGFzIiksZ2V0OnMoQ2U9PkNlLnRpbWVGb3JtYXQsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS50aW1lRm9ybWF0PU1lfSwic2V0Iil9LG1ldGFkYXRhOiRlfSxtLHYpLEVzKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWludXRlSW5jcmVtZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKENlPT4ibWludXRlSW5jcmVtZW50ImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2UubWludXRlSW5jcmVtZW50LCJnZXQiKSxzZXQ6cygoQ2UsTWUpPT57Q2UubWludXRlSW5jcmVtZW50PU1lfSwic2V0Iil9LG1ldGFkYXRhOiRlfSxiLGcpLEVzKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0ZUZvcm1hdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+ImRhdGVGb3JtYXQiaW4gQ2UsImhhcyIpLGdldDpzKENlPT5DZS5kYXRlRm9ybWF0LCJnZXQiKSxzZXQ6cygoQ2UsTWUpPT57Q2UuZGF0ZUZvcm1hdD1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sayxDKSxFcyh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1pbkRhdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQ2U9PiJtaW5EYXRlImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2UubWluRGF0ZSwiZ2V0Iiksc2V0OnMoKENlLE1lKT0+e0NlLm1pbkRhdGU9TWV9LCJzZXQiKX0sbWV0YWRhdGE6JGV9LF8seiksRXModGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYXhEYXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKENlPT4ibWF4RGF0ZSJpbiBDZSwiaGFzIiksZ2V0OnMoQ2U9PkNlLm1heERhdGUsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS5tYXhEYXRlPU1lfSwic2V0Iil9LG1ldGFkYXRhOiRlfSxULEUpLEVzKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGlzYWJsZWREYXRlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+ImRpc2FibGVkRGF0ZXMiaW4gQ2UsImhhcyIpLGdldDpzKENlPT5DZS5kaXNhYmxlZERhdGVzLCJnZXQiKSxzZXQ6cygoQ2UsTWUpPT57Q2UuZGlzYWJsZWREYXRlcz1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sTSxTKSxFcyh0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndlZWtTdGFydHNPbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+IndlZWtTdGFydHNPbiJpbiBDZSwiaGFzIiksZ2V0OnMoQ2U9PkNlLndlZWtTdGFydHNPbiwiZ2V0Iiksc2V0OnMoKENlLE1lKT0+e0NlLndlZWtTdGFydHNPbj1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sQSxGKSxFcyh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYWNlaG9sZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKENlPT4icGxhY2Vob2xkZXIiaW4gQ2UsImhhcyIpLGdldDpzKENlPT5DZS5wbGFjZWhvbGRlciwiZ2V0Iiksc2V0OnMoKENlLE1lKT0+e0NlLnBsYWNlaG9sZGVyPU1lfSwic2V0Iil9LG1ldGFkYXRhOiRlfSxqLEcpLEVzKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVuYWJsZVRpbWV6b25lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKENlPT4iZW5hYmxlVGltZXpvbmUiaW4gQ2UsImhhcyIpLGdldDpzKENlPT5DZS5lbmFibGVUaW1lem9uZSwiZ2V0Iiksc2V0OnMoKENlLE1lKT0+e0NlLmVuYWJsZVRpbWV6b25lPU1lfSwic2V0Iil9LG1ldGFkYXRhOiRlfSxSLFUpLEVzKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRpbWV6b25lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKENlPT4idGltZXpvbmUiaW4gQ2UsImhhcyIpLGdldDpzKENlPT5DZS50aW1lem9uZSwiZ2V0Iiksc2V0OnMoKENlLE1lKT0+e0NlLnRpbWV6b25lPU1lfSwic2V0Iil9LG1ldGFkYXRhOiRlfSxJLHEpLEVzKHRoaXMsbnVsbCxjZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImV2ZW50cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+ImV2ZW50cyJpbiBDZSwiaGFzIiksZ2V0OnMoQ2U9PkNlLmV2ZW50cywiZ2V0Iiksc2V0OnMoKENlLE1lKT0+e0NlLmV2ZW50cz1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sdWUsWSksRXModGhpcyxudWxsLFEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc09wZW5lZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+ImlzT3BlbmVkImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2UuaXNPcGVuZWQsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS5pc09wZW5lZD1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sSixaKSxFcyh0aGlzLG51bGwsZ2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZERhdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQ2U9PiJzZWxlY3RlZERhdGUiaW4gQ2UsImhhcyIpLGdldDpzKENlPT5DZS5zZWxlY3RlZERhdGUsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS5zZWxlY3RlZERhdGU9TWV9LCJzZXQiKX0sbWV0YWRhdGE6JGV9LGFlLHJlKSxFcyh0aGlzLG51bGwseWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aWV3RGF0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+InZpZXdEYXRlImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2Uudmlld0RhdGUsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS52aWV3RGF0ZT1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sVixIKSxFcyh0aGlzLG51bGwsb2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZEhvdXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQ2U9PiJzZWxlY3RlZEhvdXIiaW4gQ2UsImhhcyIpLGdldDpzKENlPT5DZS5zZWxlY3RlZEhvdXIsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS5zZWxlY3RlZEhvdXI9TWV9LCJzZXQiKX0sbWV0YWRhdGE6JGV9LHNlLHRlKSxFcyh0aGlzLG51bGwsemUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZE1pbnV0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+InNlbGVjdGVkTWludXRlImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2Uuc2VsZWN0ZWRNaW51dGUsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS5zZWxlY3RlZE1pbnV0ZT1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sT2UscWUpLEVzKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOiRlfSxudWxsLHQpLGN0PXI9ZS52YWx1ZSwkZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTokZX0pfXN0YXRpYyBkZW1vPXpzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9eGEodGhpcyxuLCIiKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoJGUpe3RoaXMuI2U9JGV9I3Q9KHhhKHRoaXMsbCkseGEodGhpcyxjLCExKSk7Z2V0IGVuYWJsZVRpbWUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgZW5hYmxlVGltZSgkZSl7dGhpcy4jdD0kZX0jYT0oeGEodGhpcyxwKSx4YSh0aGlzLG0sIjI0aCIpKTtnZXQgdGltZUZvcm1hdCgpe3JldHVybiB0aGlzLiNhfXNldCB0aW1lRm9ybWF0KCRlKXt0aGlzLiNhPSRlfSNyPSh4YSh0aGlzLHYpLHhhKHRoaXMsYiwxKSk7Z2V0IG1pbnV0ZUluY3JlbWVudCgpe3JldHVybiB0aGlzLiNyfXNldCBtaW51dGVJbmNyZW1lbnQoJGUpe3RoaXMuI3I9JGV9I3M9KHhhKHRoaXMsZykseGEodGhpcyxrLCJZWVlZLU1NLUREIikpO2dldCBkYXRlRm9ybWF0KCl7cmV0dXJuIHRoaXMuI3N9c2V0IGRhdGVGb3JtYXQoJGUpe3RoaXMuI3M9JGV9I2k9KHhhKHRoaXMsQykseGEodGhpcyxfLCIiKSk7Z2V0IG1pbkRhdGUoKXtyZXR1cm4gdGhpcy4jaX1zZXQgbWluRGF0ZSgkZSl7dGhpcy4jaT0kZX0jbz0oeGEodGhpcyx6KSx4YSh0aGlzLFQsIiIpKTtnZXQgbWF4RGF0ZSgpe3JldHVybiB0aGlzLiNvfXNldCBtYXhEYXRlKCRlKXt0aGlzLiNvPSRlfSNuPSh4YSh0aGlzLEUpLHhhKHRoaXMsTSxbXSkpO2dldCBkaXNhYmxlZERhdGVzKCl7cmV0dXJuIHRoaXMuI259c2V0IGRpc2FibGVkRGF0ZXMoJGUpe3RoaXMuI249JGV9I2w9KHhhKHRoaXMsUykseGEodGhpcyxBLDEpKTtnZXQgd2Vla1N0YXJ0c09uKCl7cmV0dXJuIHRoaXMuI2x9c2V0IHdlZWtTdGFydHNPbigkZSl7dGhpcy4jbD0kZX0jYz0oeGEodGhpcyxGKSx4YSh0aGlzLGosIllZWVktTU0tREQiKSk7Z2V0IHBsYWNlaG9sZGVyKCl7cmV0dXJuIHRoaXMuI2N9c2V0IHBsYWNlaG9sZGVyKCRlKXt0aGlzLiNjPSRlfSNkPSh4YSh0aGlzLEcpLHhhKHRoaXMsUiwhMSkpO2dldCBlbmFibGVUaW1lem9uZSgpe3JldHVybiB0aGlzLiNkfXNldCBlbmFibGVUaW1lem9uZSgkZSl7dGhpcy4jZD0kZX0jdT0oeGEodGhpcyxVKSx4YSh0aGlzLEksSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lKSk7Z2V0IHRpbWV6b25lKCl7cmV0dXJuIHRoaXMuI3V9c2V0IHRpbWV6b25lKCRlKXt0aGlzLiN1PSRlfSNwPSh4YSh0aGlzLHEpLHhhKHRoaXMsdWUsW10pKTtnZXQgZXZlbnRzKCl7cmV0dXJuIHRoaXMuI3B9c2V0IGV2ZW50cygkZSl7dGhpcy4jcD0kZX0jZj0oeGEodGhpcyxZKSx4YSh0aGlzLEosITEpKTtnZXQgaXNPcGVuZWQoKXtyZXR1cm4gdGhpcy4jZn1zZXQgaXNPcGVuZWQoJGUpe3RoaXMuI2Y9JGV9I2g9KHhhKHRoaXMsWikseGEodGhpcyxhZSxudWxsKSk7Z2V0IHNlbGVjdGVkRGF0ZSgpe3JldHVybiB0aGlzLiNofXNldCBzZWxlY3RlZERhdGUoJGUpe3RoaXMuI2g9JGV9I209KHhhKHRoaXMscmUpLHhhKHRoaXMsVixuZXcgRGF0ZSkpO2dldCB2aWV3RGF0ZSgpe3JldHVybiB0aGlzLiNtfXNldCB2aWV3RGF0ZSgkZSl7dGhpcy4jbT0kZX0jZz0oeGEodGhpcyxIKSx4YSh0aGlzLHNlLDApKTtnZXQgc2VsZWN0ZWRIb3VyKCl7cmV0dXJuIHRoaXMuI2d9c2V0IHNlbGVjdGVkSG91cigkZSl7dGhpcy4jZz0kZX0jYj0oeGEodGhpcyx0ZSkseGEodGhpcyxPZSwwKSk7Z2V0IHNlbGVjdGVkTWludXRlKCl7cmV0dXJuIHRoaXMuI2J9c2V0IHNlbGVjdGVkTWludXRlKCRlKXt0aGlzLiNiPSRlfXBvcHVwSW5zdGFuY2U9KHhhKHRoaXMscWUpLG51bGwpO3N0YXRpYyBzdHlsZXM9X3NhO3JlbmRlcigpe3JldHVybiBMc2EodGhpcyl9YXN5bmMgZmlyc3RVcGRhdGVkKCl7aWYodGhpcy52YWx1ZXx8KHRoaXMudmFsdWU9IiIpLHRoaXMudmFsdWUpdHJ5e2xldCAkZT1uZXcgRGF0ZSh0aGlzLnZhbHVlKTtpc05hTigkZS5nZXRUaW1lKCkpfHwodGhpcy5zZWxlY3RlZERhdGU9JGUsdGhpcy52aWV3RGF0ZT1uZXcgRGF0ZSgkZSksdGhpcy5zZWxlY3RlZEhvdXI9JGUuZ2V0SG91cnMoKSx0aGlzLnNlbGVjdGVkTWludXRlPSRlLmdldE1pbnV0ZXMoKSl9Y2F0Y2h7fWVsc2V7bGV0ICRlPW5ldyBEYXRlO3RoaXMudmlld0RhdGU9bmV3IERhdGUoJGUpLHRoaXMuc2VsZWN0ZWRIb3VyPSRlLmdldEhvdXJzKCksdGhpcy5zZWxlY3RlZE1pbnV0ZT0wfX1mb3JtYXREYXRlKCRlKXtpZighJGUpcmV0dXJuIiI7dHJ5e2xldCBDZT1uZXcgRGF0ZSgkZSk7aWYoaXNOYU4oQ2UuZ2V0VGltZSgpKSlyZXR1cm4iIjtsZXQgTWU9dGhpcy5kYXRlRm9ybWF0LGRlPUNlLmdldERhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKSx2ZT0oQ2UuZ2V0TW9udGgoKSsxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKSxBZT1DZS5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCk7aWYoTWU9TWUucmVwbGFjZSgiWVlZWSIsQWUpLE1lPU1lLnJlcGxhY2UoIllZIixBZS5zbGljZSgtMikpLE1lPU1lLnJlcGxhY2UoIk1NIix2ZSksTWU9TWUucmVwbGFjZSgiREQiLGRlKSx0aGlzLmVuYWJsZVRpbWUpe2xldCBaZT1DZS5nZXRIb3VycygpLGx0PVplPT09MD8xMjpaZT4xMj9aZS0xMjpaZSx6dD1DZS5nZXRNaW51dGVzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIiksVGU9WmU+PTEyPyJQTSI6IkFNIjt0aGlzLnRpbWVGb3JtYXQ9PT0iMTJoIj9NZSs9YCAke2x0fToke3p0fSAke1RlfWA6TWUrPWAgJHtaZS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX06JHt6dH1gfWlmKHRoaXMuZW5hYmxlVGltZXpvbmUpe2xldCB6dD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCgiZW4tVVMiLHt0aW1lWm9uZU5hbWU6InNob3J0Iix0aW1lWm9uZTp0aGlzLnRpbWV6b25lfSkuZm9ybWF0VG9QYXJ0cyhDZSkuZmluZChUZT0+VGUudHlwZT09PSJ0aW1lWm9uZU5hbWUiKTt6dCYmKE1lKz1gICR7enQudmFsdWV9YCl9cmV0dXJuIE1lfWNhdGNoe3JldHVybiIifX1hc3luYyB0b2dnbGVDYWxlbmRhcigpe2lmKHRoaXMuZGlzYWJsZWQpcmV0dXJuO2lmKHRoaXMuaXNPcGVuZWQpe3RoaXMuY2xvc2VQb3B1cCgpO3JldHVybn10aGlzLmlzT3BlbmVkPSEwO2xldCBDZT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmlucHV0LWNvbnRhaW5lciIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLE1lPXdpbmRvdy5pbm5lckhlaWdodC1DZS5ib3R0b20sZGU9Q2UudG9wLHZlPU1lPDQwMCYmZGU+TWU7dGhpcy5wb3B1cEluc3RhbmNlfHwodGhpcy5wb3B1cEluc3RhbmNlPW5ldyBpYWUpLHRoaXMucG9wdXBJbnN0YW5jZS50cmlnZ2VyUmVjdD1DZSx0aGlzLnBvcHVwSW5zdGFuY2Uub3duZXJDb21wb25lbnQ9dGhpcyx0aGlzLnBvcHVwSW5zdGFuY2Uub3BlbnNUb1RvcD12ZSx0aGlzLnBvcHVwSW5zdGFuY2UuZW5hYmxlVGltZT10aGlzLmVuYWJsZVRpbWUsdGhpcy5wb3B1cEluc3RhbmNlLnRpbWVGb3JtYXQ9dGhpcy50aW1lRm9ybWF0LHRoaXMucG9wdXBJbnN0YW5jZS5taW51dGVJbmNyZW1lbnQ9dGhpcy5taW51dGVJbmNyZW1lbnQsdGhpcy5wb3B1cEluc3RhbmNlLndlZWtTdGFydHNPbj10aGlzLndlZWtTdGFydHNPbix0aGlzLnBvcHVwSW5zdGFuY2UubWluRGF0ZT10aGlzLm1pbkRhdGUsdGhpcy5wb3B1cEluc3RhbmNlLm1heERhdGU9dGhpcy5tYXhEYXRlLHRoaXMucG9wdXBJbnN0YW5jZS5kaXNhYmxlZERhdGVzPXRoaXMuZGlzYWJsZWREYXRlcyx0aGlzLnBvcHVwSW5zdGFuY2UuZW5hYmxlVGltZXpvbmU9dGhpcy5lbmFibGVUaW1lem9uZSx0aGlzLnBvcHVwSW5zdGFuY2UudGltZXpvbmU9dGhpcy50aW1lem9uZSx0aGlzLnBvcHVwSW5zdGFuY2UuZXZlbnRzPXRoaXMuZXZlbnRzLHRoaXMucG9wdXBJbnN0YW5jZS5zZWxlY3RlZERhdGU9dGhpcy5zZWxlY3RlZERhdGUsdGhpcy5wb3B1cEluc3RhbmNlLnZpZXdEYXRlPW5ldyBEYXRlKHRoaXMudmlld0RhdGUpLHRoaXMucG9wdXBJbnN0YW5jZS5zZWxlY3RlZEhvdXI9dGhpcy5zZWxlY3RlZEhvdXIsdGhpcy5wb3B1cEluc3RhbmNlLnNlbGVjdGVkTWludXRlPXRoaXMuc2VsZWN0ZWRNaW51dGUsdGhpcy5wb3B1cEluc3RhbmNlLmFkZEV2ZW50TGlzdGVuZXIoImRhdGUtc2VsZWN0ZWQiLHRoaXMuaGFuZGxlRGF0ZVNlbGVjdGVkKSx0aGlzLnBvcHVwSW5zdGFuY2UuYWRkRXZlbnRMaXN0ZW5lcigiZGF0ZS1jbGVhcmVkIix0aGlzLmhhbmRsZURhdGVDbGVhcmVkKSx0aGlzLnBvcHVwSW5zdGFuY2UuYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UtcmVxdWVzdCIsdGhpcy5oYW5kbGVDbG9zZVJlcXVlc3QpLHRoaXMucG9wdXBJbnN0YW5jZS5hZGRFdmVudExpc3RlbmVyKCJyZXBvc2l0aW9uLXJlcXVlc3QiLHRoaXMuaGFuZGxlUmVwb3NpdGlvblJlcXVlc3QpLGF3YWl0IHRoaXMucG9wdXBJbnN0YW5jZS5zaG93KCl9Y2xvc2VQb3B1cCgpe3RoaXMuaXNPcGVuZWQ9ITEsdGhpcy5wb3B1cEluc3RhbmNlJiYodGhpcy5wb3B1cEluc3RhbmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRhdGUtc2VsZWN0ZWQiLHRoaXMuaGFuZGxlRGF0ZVNlbGVjdGVkKSx0aGlzLnBvcHVwSW5zdGFuY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZGF0ZS1jbGVhcmVkIix0aGlzLmhhbmRsZURhdGVDbGVhcmVkKSx0aGlzLnBvcHVwSW5zdGFuY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xvc2UtcmVxdWVzdCIsdGhpcy5oYW5kbGVDbG9zZVJlcXVlc3QpLHRoaXMucG9wdXBJbnN0YW5jZS5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXBvc2l0aW9uLXJlcXVlc3QiLHRoaXMuaGFuZGxlUmVwb3NpdGlvblJlcXVlc3QpLHRoaXMucG9wdXBJbnN0YW5jZS5oaWRlKCkpfWhhbmRsZURhdGVTZWxlY3RlZD1zKCRlPT57bGV0IENlPSRlLmRldGFpbDt0aGlzLnNlbGVjdGVkRGF0ZT1DZSx0aGlzLnNlbGVjdGVkSG91cj1DZS5nZXRIb3VycygpLHRoaXMuc2VsZWN0ZWRNaW51dGU9Q2UuZ2V0TWludXRlcygpLHRoaXMudmlld0RhdGU9bmV3IERhdGUoQ2UpLHRoaXMudmFsdWU9dGhpcy5mb3JtYXRWYWx1ZVdpdGhUaW1lem9uZShDZSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9LCJoYW5kbGVEYXRlU2VsZWN0ZWQiKTtoYW5kbGVEYXRlQ2xlYXJlZD1zKCgpPT57dGhpcy52YWx1ZT0iIix0aGlzLnNlbGVjdGVkRGF0ZT1udWxsLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfSwiaGFuZGxlRGF0ZUNsZWFyZWQiKTtoYW5kbGVDbG9zZVJlcXVlc3Q9cygoKT0+e3RoaXMuY2xvc2VQb3B1cCgpfSwiaGFuZGxlQ2xvc2VSZXF1ZXN0Iik7aGFuZGxlUmVwb3NpdGlvblJlcXVlc3Q9cygoKT0+e2lmKCF0aGlzLnBvcHVwSW5zdGFuY2V8fCF0aGlzLmlzT3BlbmVkKXJldHVybjtsZXQgJGU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1jb250YWluZXIiKTtpZighJGUpcmV0dXJuO2xldCBDZT0kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihDZS5ib3R0b208MHx8Q2UudG9wPndpbmRvdy5pbm5lckhlaWdodCl7dGhpcy5jbG9zZVBvcHVwKCk7cmV0dXJufWxldCBNZT13aW5kb3cuaW5uZXJIZWlnaHQtQ2UuYm90dG9tLGRlPUNlLnRvcDt0aGlzLnBvcHVwSW5zdGFuY2Uub3BlbnNUb1RvcD1NZTw0MDAmJmRlPk1lLHRoaXMucG9wdXBJbnN0YW5jZS50cmlnZ2VyUmVjdD1DZX0sImhhbmRsZVJlcG9zaXRpb25SZXF1ZXN0Iik7aGFuZGxlS2V5ZG93bigkZSl7JGUua2V5PT09IkVudGVyInx8JGUua2V5PT09IiAiPygkZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMudG9nZ2xlQ2FsZW5kYXIoKSk6JGUua2V5PT09IkVzY2FwZSImJnRoaXMuaXNPcGVuZWQmJigkZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY2xvc2VQb3B1cCgpKX1jbGVhclZhbHVlKCRlKXskZS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnZhbHVlPSIiLHRoaXMuc2VsZWN0ZWREYXRlPW51bGwsdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9aGFuZGxlTWFudWFsSW5wdXQoJGUpe2xldCBNZT0kZS50YXJnZXQudmFsdWUudHJpbSgpO2lmKCFNZSl7dGhpcy52YWx1ZT0iIix0aGlzLnNlbGVjdGVkRGF0ZT1udWxsO3JldHVybn1sZXQgZGU9dGhpcy5wYXJzZU1hbnVhbERhdGUoTWUpO2RlJiYhaXNOYU4oZGUuZ2V0VGltZSgpKSYmKHRoaXMudmFsdWU9ZGUudG9JU09TdHJpbmcoKSx0aGlzLnNlbGVjdGVkRGF0ZT1kZSx0aGlzLnZpZXdEYXRlPW5ldyBEYXRlKGRlKSx0aGlzLnNlbGVjdGVkSG91cj1kZS5nZXRIb3VycygpLHRoaXMuc2VsZWN0ZWRNaW51dGU9ZGUuZ2V0TWludXRlcygpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKX1oYW5kbGVJbnB1dEJsdXIoJGUpe2xldCBDZT0kZS50YXJnZXQsTWU9Q2UudmFsdWUudHJpbSgpO2lmKCFNZSl7dGhpcy52YWx1ZT0iIix0aGlzLnNlbGVjdGVkRGF0ZT1udWxsLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpO3JldHVybn1sZXQgZGU9dGhpcy5wYXJzZU1hbnVhbERhdGUoTWUpO2RlJiYhaXNOYU4oZGUuZ2V0VGltZSgpKT8odGhpcy52YWx1ZT1kZS50b0lTT1N0cmluZygpLHRoaXMuc2VsZWN0ZWREYXRlPWRlLHRoaXMudmlld0RhdGU9bmV3IERhdGUoZGUpLHRoaXMuc2VsZWN0ZWRIb3VyPWRlLmdldEhvdXJzKCksdGhpcy5zZWxlY3RlZE1pbnV0ZT1kZS5nZXRNaW51dGVzKCksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyksQ2UudmFsdWU9dGhpcy5mb3JtYXREYXRlKHRoaXMudmFsdWUpKTpDZS52YWx1ZT10aGlzLmZvcm1hdERhdGUodGhpcy52YWx1ZSl9cGFyc2VNYW51YWxEYXRlKCRlKXtpZighJGUpcmV0dXJuIG51bGw7bGV0IENlPSRlLnNwbGl0KCIgIiksTWU9Q2VbMF0sZGU9Q2VbMV18fCIiLHZlPW51bGwsQWU9TWUubWF0Y2goL14oXGR7NH0pLShcZHsxLDJ9KS0oXGR7MSwyfSkkLyk7aWYoQWUpe2xldFtaZSxsdCx6dCxUZV09QWU7dmU9bmV3IERhdGUocGFyc2VJbnQobHQpLHBhcnNlSW50KHp0KS0xLHBhcnNlSW50KFRlKSl9aWYoIXZlKXtsZXQgWmU9TWUubWF0Y2goL14oXGR7MSwyfSlcLihcZHsxLDJ9KVwuKFxkezR9KSQvKTtpZihaZSl7bGV0W2x0LHp0LFRlLHdlXT1aZTt2ZT1uZXcgRGF0ZShwYXJzZUludCh3ZSkscGFyc2VJbnQoVGUpLTEscGFyc2VJbnQoenQpKX19aWYoIXZlKXtsZXQgWmU9TWUubWF0Y2goL14oXGR7MSwyfSlcLyhcZHsxLDJ9KVwvKFxkezR9KSQvKTtpZihaZSl7bGV0W2x0LHp0LFRlLHdlXT1aZTt2ZT1uZXcgRGF0ZShwYXJzZUludCh3ZSkscGFyc2VJbnQoenQpLTEscGFyc2VJbnQoVGUpKX19aWYoIXZlfHxpc05hTih2ZS5nZXRUaW1lKCkpKXJldHVybiBudWxsO2lmKGRlKXtsZXQgWmU9ZGUubWF0Y2goL14oXGR7MSwyfSk6KFxkezJ9KSQvKTtpZihaZSl7bGV0W2x0LHp0LFRlXT1aZTt2ZS5zZXRIb3VycyhwYXJzZUludCh6dCkpLHZlLnNldE1pbnV0ZXMocGFyc2VJbnQoVGUpKX19ZWxzZSBpZighdGhpcy5lbmFibGVUaW1lKXtsZXQgWmU9bmV3IERhdGU7dmUuc2V0SG91cnMoWmUuZ2V0SG91cnMoKSksdmUuc2V0TWludXRlcyhaZS5nZXRNaW51dGVzKCkpLHZlLnNldFNlY29uZHMoMCksdmUuc2V0TWlsbGlzZWNvbmRzKDApfXJldHVybiB2ZX1mb3JtYXRWYWx1ZVdpdGhUaW1lem9uZSgkZSl7aWYoIXRoaXMuZW5hYmxlVGltZXpvbmUpcmV0dXJuICRlLnRvSVNPU3RyaW5nKCk7bGV0IE1lPW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCJlbi1VUyIse3llYXI6Im51bWVyaWMiLG1vbnRoOiIyLWRpZ2l0IixkYXk6IjItZGlnaXQiLGhvdXI6IjItZGlnaXQiLG1pbnV0ZToiMi1kaWdpdCIsc2Vjb25kOiIyLWRpZ2l0Iixob3VyMTI6ITEsdGltZVpvbmU6dGhpcy50aW1lem9uZSx0aW1lWm9uZU5hbWU6InNob3J0In0pLmZvcm1hdFRvUGFydHMoJGUpLGRlPXt9O01lLmZvckVhY2goWmU9PntkZVtaZS50eXBlXT1aZS52YWx1ZX0pO2xldCB2ZT1gJHtkZS55ZWFyfS0ke2RlLm1vbnRofS0ke2RlLmRheX1UJHtkZS5ob3VyfToke2RlLm1pbnV0ZX06JHtkZS5zZWNvbmR9YCxBZT10aGlzLmdldFRpbWV6b25lT2Zmc2V0KCRlLHRoaXMudGltZXpvbmUpO3JldHVybmAke3ZlfSR7QWV9YH1nZXRUaW1lem9uZU9mZnNldCgkZSxDZSl7bGV0IE1lPW5ldyBEYXRlKCRlLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse3RpbWVab25lOkNlfSkpLGRlPW5ldyBEYXRlKCRlLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse3RpbWVab25lOiJVVEMifSkpLHZlPShNZS5nZXRUaW1lKCktZGUuZ2V0VGltZSgpKS8oMWUzKjYwKSxBZT1NYXRoLmZsb29yKE1hdGguYWJzKHZlKS82MCksWmU9TWF0aC5hYnModmUpJTYwO3JldHVybmAke3ZlPj0wPyIrIjoiLSJ9JHtBZS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX06JHtaZS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoJGUpe2lmKHRoaXMudmFsdWU9JGUsJGUpdHJ5e2xldCBDZT1uZXcgRGF0ZSgkZSk7aXNOYU4oQ2UuZ2V0VGltZSgpKXx8KHRoaXMuc2VsZWN0ZWREYXRlPUNlLHRoaXMudmlld0RhdGU9bmV3IERhdGUoQ2UpLHRoaXMuc2VsZWN0ZWRIb3VyPUNlLmdldEhvdXJzKCksdGhpcy5zZWxlY3RlZE1pbnV0ZT1DZS5nZXRNaW51dGVzKCkpfWNhdGNoe319YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMucG9wdXBJbnN0YW5jZSYmKHRoaXMucG9wdXBJbnN0YW5jZS5yZW1vdmVFdmVudExpc3RlbmVyKCJkYXRlLXNlbGVjdGVkIix0aGlzLmhhbmRsZURhdGVTZWxlY3RlZCksdGhpcy5wb3B1cEluc3RhbmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRhdGUtY2xlYXJlZCIsdGhpcy5oYW5kbGVEYXRlQ2xlYXJlZCksdGhpcy5wb3B1cEluc3RhbmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsb3NlLXJlcXVlc3QiLHRoaXMuaGFuZGxlQ2xvc2VSZXF1ZXN0KSx0aGlzLnBvcHVwSW5zdGFuY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVwb3NpdGlvbi1yZXF1ZXN0Iix0aGlzLmhhbmRsZVJlcG9zaXRpb25SZXF1ZXN0KSx0aGlzLnBvcHVwSW5zdGFuY2UuaGlkZSgpLHRoaXMucG9wdXBJbnN0YW5jZT1udWxsKX1zdGF0aWN7eGEocix0KX19O3JldHVybiBjdD1yfSkoKX0pO3ZhciBuYWU9ZigoKT0+e0ZZZSgpO0JZZSgpfSk7dmFyIERzYSxBc2E9ZigoKT0+e2xlKCk7TmEoKTtVcygpO0RzYT1zKCgpPT53YAogIDxzdHlsZT4KICAgICR7WGAKICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWwgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQogICAgICAKICAgICAgLmhvcml6b250YWwtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CiAgICAgIAogICAgICAuZ3JpZC1sYXlvdXQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQogICAgICAKICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAgICAgLmdyaWQtbGF5b3V0IHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgLmludGVyYWN0aXZlLXNlY3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICB9CiAgICAgIAogICAgICAub3V0cHV0LXRleHQgewogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjEwIDQwJSA4MCUpIil9OwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTglKSIsImhzbCgyMTUgMjAuMiUgMTEuOCUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBtaW4taGVpZ2h0OiAyNHB4OwogICAgICB9CiAgICBgfQogIDwvc3R5bGU+CiAgCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2EucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC10ZXh0IikuZm9yRWFjaChyPT57ci5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2VTdWJqZWN0IiwoaT0+e2NvbnNvbGUubG9nKGBJbnB1dCAiJHtyLmxhYmVsfSIgY2hhbmdlZCB0bzpgLHIuZ2V0VmFsdWUoKSl9KSksci5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e2NvbnNvbGUubG9nKGBJbnB1dCAiJHtyLmxhYmVsfSIgbG9zdCBmb2N1c2ApfSl9KSxhLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtdGV4dFtrZXk9InBhc3N3b3JkIl0nKSYmY29uc29sZS5sb2coIlBhc3N3b3JkIGlucHV0IGluY2x1ZGVzIHZpc2liaWxpdHkgdG9nZ2xlIil9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkJhc2ljIFRleHQgSW5wdXRzIn0gLnN1YnRpdGxlPSR7IlN0YW5kYXJkIHRleHQgaW5wdXRzIHdpdGggbGFiZWxzIGFuZCBkZXNjcmlwdGlvbnMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiVXNlcm5hbWUifQogICAgICAgICAgICAudmFsdWU9JHsiam9obmRvZSJ9CiAgICAgICAgICAgIC5rZXk9JHsidXNlcm5hbWUifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiWW91ciB1c2VybmFtZSB3aWxsIGJlIHZpc2libGUgdG8gb3RoZXIgdXNlcnMifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IkVtYWlsIEFkZHJlc3MifQogICAgICAgICAgICAudmFsdWU9JHsiam9obkBleGFtcGxlLmNvbSJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJXZSB3aWxsIG5ldmVyIHNoYXJlIHlvdXIgZW1haWwgd2l0aCBhbnlvbmUifQogICAgICAgICAgICAua2V5PSR7ImVtYWlsIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJQYXNzd29yZCJ9CiAgICAgICAgICAgIC5pc1Bhc3N3b3JkQm9vbD0keyEwfQogICAgICAgICAgICAudmFsdWU9JHsic2VjcmV0MTIzIn0KICAgICAgICAgICAgLmtleT0keyJwYXNzd29yZCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2EucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC10ZXh0IikuZm9yRWFjaChpPT57bGV0IG89d2luZG93LmdldENvbXB1dGVkU3R5bGUoaSk7Y29uc29sZS5sb2coYEhvcml6b250YWwgaW5wdXQgIiR7aS5sYWJlbH0iIGRpc3BsYXk6YCxvLmRpc3BsYXkpfSk7bGV0IHQ9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LXRleHRba2V5PSJmaXJzdE5hbWUiXScpLHI9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LXRleHRba2V5PSJsYXN0TmFtZSJdJyk7aWYodCYmcil7bGV0IGk9cygoKT0+e2xldCBvPXQuZ2V0VmFsdWUoKSxuPXIuZ2V0VmFsdWUoKTtjb25zb2xlLmxvZyhgRnVsbCBuYW1lOiAke299ICR7bn1gKX0sInVwZGF0ZUZ1bGxOYW1lIik7dC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2VTdWJqZWN0IixpKSxyLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZVN1YmplY3QiLGkpfX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiSG9yaXpvbnRhbCBMYXlvdXQifSAuc3VidGl0bGU9JHsiTXVsdGlwbGUgaW5wdXRzIGFycmFuZ2VkIGhvcml6b250YWxseSBmb3IgY29tcGFjdCBmb3JtcyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJob3Jpem9udGFsLWdyb3VwIj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAgIC5sYWJlbD0keyJGaXJzdCBOYW1lIn0KICAgICAgICAgICAgICAudmFsdWU9JHsiSm9obiJ9CiAgICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgICAgLmtleT0keyJmaXJzdE5hbWUifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgICAgLmxhYmVsPSR7Ikxhc3QgTmFtZSJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7IkRvZSJ9CiAgICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgICAgLmtleT0keyJsYXN0TmFtZSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgICAubGFiZWw9JHsiQWdlIn0KICAgICAgICAgICAgICAudmFsdWU9JHsiMjgifQogICAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAgIC5rZXk9JHsiYWdlIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2EucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC10ZXh0IikuZm9yRWFjaChyPT57bGV0IGk9ci5sYWJlbFBvc2l0aW9uO2NvbnNvbGUubG9nKGBJbnB1dCAiJHtyLmxhYmVsfSIgaGFzIGxhYmVsIHBvc2l0aW9uOiAke2l9YCl9KTtsZXQgdD1hLnF1ZXJ5U2VsZWN0b3JBbGwoJ2RlZXMtaW5wdXQtdGV4dFtsYWJlbFBvc2l0aW9uPSJsZWZ0Il0nKTt0Lmxlbmd0aD4wJiZjb25zb2xlLmxvZyhgJHt0Lmxlbmd0aH0gaW5wdXRzIGhhdmUgbGVmdC1hbGlnbmVkIGxhYmVscyBmb3IgaW5saW5lIGxheW91dGApfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJMYWJlbCBQb3NpdGlvbnMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IGxhYmVsIHBvc2l0aW9uaW5nIG9wdGlvbnMgZm9yIHZhcmlvdXMgbGF5b3V0cyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJMYWJlbCBvbiBUb3AgKERlZmF1bHQpIn0KICAgICAgICAgICAgLnZhbHVlPSR7IlN0YW5kYXJkIGxheW91dCJ9CiAgICAgICAgICAgIC5sYWJlbFBvc2l0aW9uPSR7InRvcCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiTGFiZWwgb24gTGVmdCJ9CiAgICAgICAgICAgIC52YWx1ZT0keyJJbmxpbmUgbGFiZWwifQogICAgICAgICAgICAubGFiZWxQb3NpdGlvbj0keyJsZWZ0In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWxheW91dCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJDaXR5In0KICAgICAgICAgICAgLnZhbHVlPSR7Ik5ldyBZb3JrIn0KICAgICAgICAgICAgLmxhYmVsUG9zaXRpb249JHsibGVmdCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiWklQIENvZGUifQogICAgICAgICAgICAudmFsdWU9JHsiMTAwMDEifQogICAgICAgICAgICAubGFiZWxQb3NpdGlvbj0keyJsZWZ0In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlZhbGlkYXRpb24gJiBTdGF0ZXMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IHZhbGlkYXRpb24gc3RhdGVzIGFuZCBpbnB1dCBjb25maWd1cmF0aW9ucyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJSZXF1aXJlZCBGaWVsZCJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAua2V5PSR7InJlcXVpcmVkRmllbGQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IkRpc2FibGVkIEZpZWxkIn0KICAgICAgICAgICAgLnZhbHVlPSR7IkNhbm5vdCBlZGl0IHRoaXMifQogICAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJFbWFpbCB3aXRoIFZhbGlkYXRpb24ifQogICAgICAgICAgICAudmFsdWU9JHsiaW52YWxpZEAifQogICAgICAgICAgICAudmFsaWRhdGlvbkZ1bmN0aW9uPSR7YT0+L15bXlxzQF0rQFteXHNAXStcLlteXHNAXSskLy50ZXN0KGEpP3t2YWxpZDohMCxtZXNzYWdlOiJFbWFpbCBhZGRyZXNzIGlzIHZhbGlkIn06e3ZhbGlkOiExLG1lc3NhZ2U6IlBsZWFzZSBlbnRlciBhIHZhbGlkIGVtYWlsIGFkZHJlc3MifX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57YS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWlucHV0LXRleHRbaXNQYXNzd29yZEJvb2xdIikuZm9yRWFjaCh0PT57bGV0IHI9dCxpPXMoKCk9PntsZXQgbz1yLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImlucHV0Iik7byYmY29uc29sZS5sb2coYFBhc3N3b3JkIGZpZWxkICIke3IubGFiZWx9IiB0eXBlOmAsby50eXBlKX0sImNoZWNrVG9nZ2xlIik7aWYoci5zaGFkb3dSb290KXtsZXQgbz1uZXcgTXV0YXRpb25PYnNlcnZlcihpKSxuPXIuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpO24mJm8ub2JzZXJ2ZShuLHthdHRyaWJ1dGVzOiEwLGF0dHJpYnV0ZUZpbHRlcjpbInR5cGUiXX0pfX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJBZHZhbmNlZCBGZWF0dXJlcyJ9IC5zdWJ0aXRsZT0keyJQYXNzd29yZCB2aXNpYmlsaXR5IHRvZ2dsZSBhbmQgb3RoZXIgYWR2YW5jZWQgZmVhdHVyZXMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiUGFzc3dvcmQgd2l0aCBUb2dnbGUifQogICAgICAgICAgICAuaXNQYXNzd29yZEJvb2w9JHshMH0KICAgICAgICAgICAgLnZhbHVlPSR7Im15U2VjdXJlUGFzc3dvcmQxMjMifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiQ2xpY2sgdGhlIGV5ZSBpY29uIHRvIHNob3cvaGlkZSBwYXNzd29yZCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiQVBJIEtleSJ9CiAgICAgICAgICAgIC5pc1Bhc3N3b3JkQm9vbD0keyEwfQogICAgICAgICAgICAudmFsdWU9JHsic2stMTIzNDU2Nzg5MGFiY2RlZiJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJLZWVwIHRoaXMga2V5IHNlY3VyZSBhbmQgbmV2ZXIgc2hhcmUgaXQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtdGV4dCIpLHQ9YS5xdWVyeVNlbGVjdG9yKCIjdGV4dC1pbnB1dC1vdXRwdXQiKTtlJiZ0JiZlLmNoYW5nZVN1YmplY3Quc3Vic2NyaWJlKCgpPT57dC50ZXh0Q29udGVudD1gQ3VycmVudCB2YWx1ZTogIiR7ZS5nZXRWYWx1ZSgpfSJgfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkludGVyYWN0aXZlIEV4YW1wbGUifSAuc3VidGl0bGU9JHsiVHJ5IHR5cGluZyBpbiB0aGUgaW5wdXQgdG8gc2VlIHJlYWwtdGltZSB2YWx1ZSBjaGFuZ2VzIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgLmxhYmVsPSR7IkR5bmFtaWMgSW5wdXQifQogICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IlR5cGUgc29tZXRoaW5nIGhlcmUuLi4ifQogICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgPGRpdiBjbGFzcz0iaW50ZXJhY3RpdmUtc2VjdGlvbiI+CiAgICAgICAgICA8ZGl2IGlkPSJ0ZXh0LWlucHV0LW91dHB1dCIgY2xhc3M9Im91dHB1dC10ZXh0Ij5DdXJyZW50IHZhbHVlOiAiIjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgbWMsZWksbGFlLHU0PWYoKCk9PntMMSgpO1NyKCk7QXNhKCk7ZnMoKTtsZSgpO1FlKCk7WnIoKTttYz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sZWk9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGxhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtdGV4dCIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdO3ZhciBQPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRUZXh0Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IEE9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSxkPVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSx1PVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSx4PVskKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLHk9WyQoe3JlZmxlY3Q6ITB9KV0sTj1bJCh7YXR0cmlidXRlOiExfSldLE89WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLEI9WyQoe2F0dHJpYnV0ZTohMX0pXSxtYyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJ2YWx1ZSJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnZhbHVlLCJnZXQiKSxzZXQ6cygoRixXKT0+e0YudmFsdWU9V30sInNldCIpfSxtZXRhZGF0YTpBfSxuLGwpLG1jKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNQYXNzd29yZEJvb2wiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+ImlzUGFzc3dvcmRCb29sImluIEYsImhhcyIpLGdldDpzKEY9PkYuaXNQYXNzd29yZEJvb2wsImdldCIpLHNldDpzKChGLFcpPT57Ri5pc1Bhc3N3b3JkQm9vbD1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LGMscCksbWModGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93UGFzc3dvcmRCb29sIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJzaG93UGFzc3dvcmRCb29sImluIEYsImhhcyIpLGdldDpzKEY9PkYuc2hvd1Bhc3N3b3JkQm9vbCwiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnNob3dQYXNzd29yZEJvb2w9V30sInNldCIpfSxtZXRhZGF0YTpBfSxtLHYpLG1jKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsaWRhdGlvblN0YXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJ2YWxpZGF0aW9uU3RhdGUiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri52YWxpZGF0aW9uU3RhdGUsImdldCIpLHNldDpzKChGLFcpPT57Ri52YWxpZGF0aW9uU3RhdGU9V30sInNldCIpfSxtZXRhZGF0YTpBfSxiLGcpLG1jKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsaWRhdGlvblRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+InZhbGlkYXRpb25UZXh0ImluIEYsImhhcyIpLGdldDpzKEY9PkYudmFsaWRhdGlvblRleHQsImdldCIpLHNldDpzKChGLFcpPT57Ri52YWxpZGF0aW9uVGV4dD1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LGssQyksbWModGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWxpZGF0aW9uRnVuY3Rpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+InZhbGlkYXRpb25GdW5jdGlvbiJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnZhbGlkYXRpb25GdW5jdGlvbiwiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnZhbGlkYXRpb25GdW5jdGlvbj1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LF8seiksbWModGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aW50ZWdyYXRlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4idmludGVncmF0ZWQiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri52aW50ZWdyYXRlZCwiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnZpbnRlZ3JhdGVkPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sVCxFKSxtYyh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbGlkQ29uZmlybWVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJ2YWxpZENvbmZpcm1lZCJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnZhbGlkQ29uZmlybWVkLCJnZXQiKSxzZXQ6cygoRixXKT0+e0YudmFsaWRDb25maXJtZWQ9V30sInNldCIpfSxtZXRhZGF0YTpBfSxNLFMpLG1jKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOkF9LG51bGwsdCksUD1yPWUudmFsdWUsQSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpBfSl9c3RhdGljIGRlbW89RHNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT1laSh0aGlzLG4sIiIpO2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLiNlfXNldCB2YWx1ZShBKXt0aGlzLiNlPUF9I3Q9KGVpKHRoaXMsbCksZWkodGhpcyxjLCExKSk7Z2V0IGlzUGFzc3dvcmRCb29sKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGlzUGFzc3dvcmRCb29sKEEpe3RoaXMuI3Q9QX0jYT0oZWkodGhpcyxwKSxlaSh0aGlzLG0sITEpKTtnZXQgc2hvd1Bhc3N3b3JkQm9vbCgpe3JldHVybiB0aGlzLiNhfXNldCBzaG93UGFzc3dvcmRCb29sKEEpe3RoaXMuI2E9QX0jcj0oZWkodGhpcyx2KSxlaSh0aGlzLGIsdm9pZCAwKSk7Z2V0IHZhbGlkYXRpb25TdGF0ZSgpe3JldHVybiB0aGlzLiNyfXNldCB2YWxpZGF0aW9uU3RhdGUoQSl7dGhpcy4jcj1BfSNzPShlaSh0aGlzLGcpLGVpKHRoaXMsaywiIikpO2dldCB2YWxpZGF0aW9uVGV4dCgpe3JldHVybiB0aGlzLiNzfXNldCB2YWxpZGF0aW9uVGV4dChBKXt0aGlzLiNzPUF9I2k9KGVpKHRoaXMsQyksZWkodGhpcyxfLHZvaWQgMCkpO2dldCB2YWxpZGF0aW9uRnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4jaX1zZXQgdmFsaWRhdGlvbkZ1bmN0aW9uKEEpe3RoaXMuI2k9QX0jbz0oZWkodGhpcyx6KSxlaSh0aGlzLFQsITEpKTtnZXQgdmludGVncmF0ZWQoKXtyZXR1cm4gdGhpcy4jb31zZXQgdmludGVncmF0ZWQoQSl7dGhpcy4jbz1BfSNuPShlaSh0aGlzLEUpLGVpKHRoaXMsTSwhMSkpO2dldCB2YWxpZENvbmZpcm1lZCgpe3JldHVybiB0aGlzLiNufXNldCB2YWxpZENvbmZpcm1lZChBKXt0aGlzLiNuPUF9dmFsaWRUaW1lb3V0PWVpKHRoaXMsUyk7c3RhdGljIHN0eWxlcz1bRWUsLi4ud3QuYmFzZVN0eWxlcyxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgKiB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgOmhvc3QgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB6LWluZGV4OiBhdXRvOwogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICB9CgogICAgICBpbnB1dCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBsaW5lLWhlaWdodDogNDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGN1cnNvcjogdGV4dDsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDMuOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgfQoKICAgICAgaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgfQoKICAgICAgaW5wdXQ6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KDpmb2N1cykgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDIwLjklKSIpfTsKICAgICAgfQoKICAgICAgaW5wdXQ6Zm9jdXMgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklIC8gMC4wNSkiLCJoc2woMCAwJSA5OCUgLyAwLjA1KSIpfTsKICAgICAgfQoKICAgICAgaW5wdXQ6ZGlzYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAvKiBQYXNzd29yZCB0b2dnbGUgYnV0dG9uICovCiAgICAgIC5zaG93UGFzc3dvcmQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogMXB4OwogICAgICAgIHRvcDogMjBweDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAzOHB4OwogICAgICAgIGhlaWdodDogMzhweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMCA1cHggNXB4IDA7CiAgICAgIH0KCiAgICAgIC5zaG93UGFzc3dvcmQ6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTMuOSUpIil9OwogICAgICB9CgogICAgICAvKiBWYWxpZCBjaGVja21hcmsgaWNvbiAqLwogICAgICAudmFsaWRJY29uIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDEwcHg7CiAgICAgICAgdG9wOiAyMHB4OwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIil9OwogICAgICB9CgogICAgICAudmFsaWRJY29uLnNob3cgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC52YWxpZEljb24gZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIH0KCiAgICAgIC8qIFZhbGlkYXRpb24gc3R5bGVzICovCiAgICAgIC52YWxpZGF0aW9uQ29udGFpbmVyIHsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAudmFsaWRhdGlvbkNvbnRhaW5lci5pbnZhbGlkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgODQuMiUgNjAuMiUgLyAwLjEpIiwiaHNsKDAgNzIuMiUgNTAuNiUgLyAwLjEpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgODQuMiUgNjAuMiUpIiwiaHNsKDAgNzIuMiUgNTAuNiUpIil9OwogICAgICB9CgogICAgICAudmFsaWRhdGlvbkNvbnRhaW5lci53YXJuIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDI1IDk1JSA1MyUgLyAwLjEpIiwiaHNsKDI1IDk1JSA2MyUgLyAwLjEpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDI1IDk1JSA1MyUpIiwiaHNsKDI1IDk1JSA2MyUpIil9OwogICAgICB9CgogICAgICAudmFsaWRhdGlvbkNvbnRhaW5lci52YWxpZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSAvIDAuMSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUgLyAwLjEpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiKX07CiAgICAgIH0KCiAgICAgIC8qIEVycm9yIHN0YXRlIGZvciBpbnB1dCAqLwogICAgICA6aG9zdChbdmFsaWRhdGlvbnN0YXRlPSJpbnZhbGlkIl0pIGlucHV0IHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA4NC4yJSA2MC4yJSkiLCJoc2woMCA3Mi4yJSA1MC42JSkiKX07CiAgICAgIH0KCiAgICAgIDpob3N0KFt2YWxpZGF0aW9uc3RhdGU9ImludmFsaWQiXSkgaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlKSIsImhzbCgwIDcyLjIlIDUwLjYlKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtoLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlIC8gMC4wNSkiLCJoc2woMCA3Mi4yJSA1MC42JSAvIDAuMDUpIil9OwogICAgICB9CgogICAgICAvKiBXYXJuaW5nIHN0YXRlIGZvciBpbnB1dCAqLwogICAgICA6aG9zdChbdmFsaWRhdGlvbnN0YXRlPSJ3YXJuIl0pIGlucHV0IHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjUgOTUlIDUzJSkiLCJoc2woMjUgOTUlIDYzJSkiKX07CiAgICAgIH0KCiAgICAgIDpob3N0KFt2YWxpZGF0aW9uc3RhdGU9Indhcm4iXSkgaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyNSA5NSUgNTMlKSIsImhzbCgyNSA5NSUgNjMlKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtoLmJkVGhlbWUoImhzbCgyNSA5NSUgNTMlIC8gMC4wNSkiLCJoc2woMjUgOTUlIDYzJSAvIDAuMDUpIil9OwogICAgICB9CgogICAgICAvKiBWYWxpZCBzdGF0ZSBmb3IgaW5wdXQgKi8KICAgICAgOmhvc3QoW3ZhbGlkYXRpb25zdGF0ZT0idmFsaWQiXSkgaW5wdXQgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbdmFsaWRhdGlvbnN0YXRlPSJ2YWxpZCJdKSBpbnB1dDpmb2N1cyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7aC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUgLyAwLjA1KSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSAvIDAuMDUpIil9OwogICAgICB9CgogICAgICAvKiBWaXN1YWxseSBpbnRlZ3JhdGVkIG1vZGU6IHNoZWQgY2hyb21lIHRvIGJsZW5kIGludG8gYSBob3N0IGNvbXBvbmVudAogICAgICAgICAoZS5nLiBhIGRlZXMtdGFibGUgY2VsbCBpbiBlZGl0IG1vZGUpLiAqLwogICAgICA6aG9zdChbdmludGVncmF0ZWRdKSBkZWVzLWxhYmVsLAogICAgICA6aG9zdChbdmludGVncmF0ZWRdKSAudmFsaWRhdGlvbkNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgICA6aG9zdChbdmludGVncmF0ZWRdKSAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICB9CiAgICAgIDpob3N0KFt2aW50ZWdyYXRlZF0pIGlucHV0IHsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3gtc2hhZG93OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IG5vbmU7CiAgICAgIH0KICAgICAgOmhvc3QoW3ZpbnRlZ3JhdGVkXSkgaW5wdXQ6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KDpmb2N1cyksCiAgICAgIDpob3N0KFt2aW50ZWdyYXRlZF0pIGlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQogICAgICA6aG9zdChbdmludGVncmF0ZWRdKSAuc2hvd1Bhc3N3b3JkIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIGlucHV0IHsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAke3RoaXMuaXNQYXNzd29yZEJvb2w/TGY6ImluaGVyaXQifTsKICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAke3RoaXMuaXNQYXNzd29yZEJvb2w/IjAuNXB4Ijoibm9ybWFsIn07CiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAke3RoaXMuaXNQYXNzd29yZEJvb2w/IjQ4cHgiOnRoaXMudmFsaWRDb25maXJtZWQ/IjQwcHgiOiIxMnB4In07CiAgICAgICAgfQogICAgICAgICR7dGhpcy52YWxpZGF0aW9uVGV4dCYmIXRoaXMudmFsaWRDb25maXJtZWQ/WGAKICAgICAgICAgICAgICAudmFsaWRhdGlvbkNvbnRhaW5lciB7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgYDpYYAogICAgICAgICAgICAgIC52YWxpZGF0aW9uQ29udGFpbmVyIHsKICAgICAgICAgICAgICAgIGhlaWdodDogMDsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAuaW5mb1RleHQ9JHt0aGlzLmluZm9UZXh0fSAucmVxdWlyZWQ9JHt0aGlzLnJlcXVpcmVkfT48L2RlZXMtbGFiZWw+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciI+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgdHlwZT0iJHt0aGlzLmlzUGFzc3dvcmRCb29sJiYhdGhpcy5zaG93UGFzc3dvcmRCb29sPyJwYXNzd29yZCI6InRleHQifSIKICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy52YWx1ZX0KICAgICAgICAgICAgQGlucHV0PSIke3RoaXMudXBkYXRlVmFsdWV9IgogICAgICAgICAgICAuZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfQogICAgICAgICAgICBwbGFjZWhvbGRlcj0iJHt0aGlzLmxhYmVsPyIiOiJFbnRlciB0ZXh0Li4uIn0iCiAgICAgICAgICAvPgogICAgICAgICAgJHt0aGlzLmlzUGFzc3dvcmRCb29sP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaG93UGFzc3dvcmQiIEBjbGljaz0ke3RoaXMudG9nZ2xlUGFzc3dvcmRWaWV3fT4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke3RoaXMuc2hvd1Bhc3N3b3JkQm9vbD8ibHVjaWRlOkV5ZSI6Imx1Y2lkZTpFeWVPZmYifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6d2BgfQogICAgICAgICAgPGRpdiBjbGFzcz0idmFsaWRJY29uICR7dGhpcy52YWxpZENvbmZpcm1lZD8ic2hvdyI6IiJ9Ij4KICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Q2hlY2sifT48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgJHt0aGlzLnZhbGlkYXRpb25UZXh0P3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2YWxpZGF0aW9uQ29udGFpbmVyICR7dGhpcy52YWxpZGF0aW9uU3RhdGV8fCJpbnZhbGlkIn0iPgogICAgICAgICAgICAgICAgICAke3RoaXMudmFsaWRhdGlvblRleHR9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOndgPGRpdiBjbGFzcz0idmFsaWRhdGlvbkNvbnRhaW5lciI+PC9kaXY+YH0KICAgICAgICAgICR7dGhpcy5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Zmlyc3RVcGRhdGVkKCl7aWYodGhpcy52YWxpZGF0aW9uRnVuY3Rpb24mJnRoaXMudmFsdWUpe2xldCBBPXRoaXMudmFsaWRhdGlvbkZ1bmN0aW9uKHRoaXMudmFsdWUpO3RoaXMudmFsaWRhdGlvblN0YXRlPUEudmFsaWQ/InZhbGlkIjoiaW52YWxpZCIsdGhpcy52YWxpZGF0aW9uVGV4dD1BLm1lc3NhZ2V8fCIiLEEudmFsaWQmJih0aGlzLnZhbGlkQ29uZmlybWVkPSExLHRoaXMudmFsaWRUaW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLnZhbGlkQ29uZmlybWVkPSEwLHRoaXMudmFsaWRhdGlvblN0YXRlPXZvaWQgMH0sNTAwKSl9fWFzeW5jIHVwZGF0ZVZhbHVlKEEpe2xldCBGPUEudGFyZ2V0O2lmKHRoaXMudmFsdWU9Ri52YWx1ZSx0aGlzLnZhbGlkYXRpb25GdW5jdGlvbil7bGV0IFc9dGhpcy52YWxpZGF0aW9uRnVuY3Rpb24odGhpcy52YWx1ZSk7dGhpcy52YWxpZGF0aW9uU3RhdGU9Vy52YWxpZD8idmFsaWQiOiJpbnZhbGlkIix0aGlzLnZhbGlkYXRpb25UZXh0PVcubWVzc2FnZXx8IiIsVy52YWxpZD8odGhpcy52YWxpZENvbmZpcm1lZD0hMSxjbGVhclRpbWVvdXQodGhpcy52YWxpZFRpbWVvdXQpLHRoaXMudmFsaWRUaW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLnZhbGlkQ29uZmlybWVkPSEwLHRoaXMudmFsaWRhdGlvblN0YXRlPXZvaWQgMH0sNTAwKSk6KGNsZWFyVGltZW91dCh0aGlzLnZhbGlkVGltZW91dCksdGhpcy52YWxpZENvbmZpcm1lZD0hMSl9dGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9Z2V0Q29udGV4dE1lbnVJdGVtcygpe2xldCBBPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLEY9QS5zZWxlY3Rpb25TdGFydCE9PUEuc2VsZWN0aW9uRW5kO3JldHVyblt7bmFtZToiQ3V0IixpY29uTmFtZToibHVjaWRlOlNjaXNzb3JzIixzaG9ydGN1dDoiQ21kK1giLGRpc2FibGVkOiFGLGFjdGlvbjpzKGFzeW5jKCk9PntsZXQgVz10aGlzLnZhbHVlLnN1YnN0cmluZyhBLnNlbGVjdGlvblN0YXJ0LEEuc2VsZWN0aW9uRW5kKTthd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChXKTtsZXQgaj1BLnNlbGVjdGlvblN0YXJ0O3RoaXMudmFsdWU9dGhpcy52YWx1ZS5zdWJzdHJpbmcoMCxqKSt0aGlzLnZhbHVlLnN1YnN0cmluZyhBLnNlbGVjdGlvbkVuZCksQS52YWx1ZT10aGlzLnZhbHVlLEEuc2V0U2VsZWN0aW9uUmFuZ2UoaixqKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX0sImFjdGlvbiIpfSx7bmFtZToiQ29weSIsaWNvbk5hbWU6Imx1Y2lkZTpDb3B5IixzaG9ydGN1dDoiQ21kK0MiLGRpc2FibGVkOiFGLGFjdGlvbjpzKGFzeW5jKCk9PntsZXQgVz10aGlzLnZhbHVlLnN1YnN0cmluZyhBLnNlbGVjdGlvblN0YXJ0LEEuc2VsZWN0aW9uRW5kKTthd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChXKX0sImFjdGlvbiIpfSx7bmFtZToiUGFzdGUiLGljb25OYW1lOiJsdWNpZGU6Q2xpcGJvYXJkUGFzdGUiLHNob3J0Y3V0OiJDbWQrViIsYWN0aW9uOnMoYXN5bmMoKT0+e2xldCBXPWF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZFRleHQoKSxqPUEuc2VsZWN0aW9uU3RhcnQsRz1BLnNlbGVjdGlvbkVuZDt0aGlzLnZhbHVlPXRoaXMudmFsdWUuc3Vic3RyaW5nKDAsaikrVyt0aGlzLnZhbHVlLnN1YnN0cmluZyhHKSxBLnZhbHVlPXRoaXMudmFsdWUsQS5zZXRTZWxlY3Rpb25SYW5nZShqK1cubGVuZ3RoLGorVy5sZW5ndGgpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiU2VsZWN0IEFsbCIsaWNvbk5hbWU6Imx1Y2lkZTpUZXh0Q3Vyc29ySW5wdXQiLHNob3J0Y3V0OiJDbWQrQSIsYWN0aW9uOnMoYXN5bmMoKT0+e0Euc2VsZWN0KCl9LCJhY3Rpb24iKX1dfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoQSl7dGhpcy52YWx1ZT1BfWFzeW5jIHRvZ2dsZVBhc3N3b3JkVmlldygpe3RoaXMuc2hvd1Bhc3N3b3JkQm9vbD0hdGhpcy5zaG93UGFzc3dvcmRCb29sfWFzeW5jIGZvY3VzKCl7dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikuZm9jdXMoKX1hc3luYyBibHVyKCl7dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikuYmx1cigpfXN0YXRpY3tlaShyLHQpfX07cmV0dXJuIFA9cn0pKCl9KTt2YXIgRXNhLFBzYT1mKCgpPT57bGUoKTtOYSgpO1VzKCk7RXNhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7WGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnByb2R1Y3QtZ3JpZCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjgwcHgsIDFmcikpOwogICAgICAgICAgZ2FwOiAyMHB4OwogICAgICAgIH0KCiAgICAgICAgLmNhcnQtc3VtbWFyeSB7CiAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAyMS44JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgfQoKICAgICAgICAuY2FydC1zdW1tYXJ5LXRpdGxlIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIH0KCiAgICAgICAgLmNhcnQtaXRlbSB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTcuOSAxMC42JSA3NC45JSkiKX07CiAgICAgICAgfQoKICAgICAgICAuY2FydC10b3RhbCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIHBhZGRpbmctdG9wOiAxNnB4OwogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICB9CgogICAgICAgIC5zZWxlY3RlZC1wcm9kdWN0cyB7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTcuOSAxMC42JSA3NC45JSkiKX07CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFzaWMgUHJvZHVjdCBDYXJkcyJ9IC5zdWJ0aXRsZT0keyJTaW1wbGUgcHJvZHVjdCBkaXNwbGF5IHdpdGggdmFyaW91cyBjb25maWd1cmF0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiV2lyZWxlc3MgQmx1ZXRvb3RoIEhlYWRwaG9uZXMiLGNhdGVnb3J5OiJBdWRpbyIsZGVzY3JpcHRpb246IlByZW1pdW0gc291bmQgcXVhbGl0eSB3aXRoIGFjdGl2ZSBub2lzZSBjYW5jZWxsYXRpb24iLHByaWNlOjE0OS45OSxvcmlnaW5hbFByaWNlOjE5OS45OSxpY29uTmFtZToibHVjaWRlOmhlYWRwaG9uZXMifX0KICAgICAgICAgICAgLnF1YW50aXR5PSR7MX0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CgogICAgICAgICAgPGRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IlNtYXJ0IFdhdGNoIFNlcmllcyA3IixjYXRlZ29yeToiV2VhcmFibGVzIixkZXNjcmlwdGlvbjoiVHJhY2sgeW91ciBmaXRuZXNzIGFuZCBzdGF5IGNvbm5lY3RlZCBvbiB0aGUgZ28iLHByaWNlOjM5OSxpY29uTmFtZToibHVjaWRlOndhdGNoIn19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezF9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgoKICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJVU0ItQyBIdWIiLGNhdGVnb3J5OiJBY2Nlc3NvcmllcyIscHJpY2U6NDkuOTksaWNvbk5hbWU6Imx1Y2lkZTp1c2IiLGluU3RvY2s6ITF9fQogICAgICAgICAgICAucXVhbnRpdHk9JHswfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkludGVyYWN0aXZlIFNob3BwaW5nIENhcnQifSAuc3VidGl0bGU9JHsiUHJvZHVjdCBjYXJkcyB3aXRoIGR5bmFtaWMgY2FydCBjYWxjdWxhdGlvbiJ9IC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1be2lkOiJsYXB0b3AiLGVsZW1lbnQ6bnVsbCxkYXRhOntuYW1lOidNYWNCb29rIFBybyAxNCInLGNhdGVnb3J5OiJDb21wdXRlcnMiLGRlc2NyaXB0aW9uOiJNMyBQcm8gY2hpcCB3aXRoIDE4R0IgUkFNIixwcmljZToxOTk5LG9yaWdpbmFsUHJpY2U6MjE5OSxpY29uTmFtZToibHVjaWRlOmxhcHRvcCJ9fSx7aWQ6ImlwYWQiLGVsZW1lbnQ6bnVsbCxkYXRhOntuYW1lOiJpUGFkIEFpciIsY2F0ZWdvcnk6IlRhYmxldHMiLGRlc2NyaXB0aW9uOicxMC45IiBMaXF1aWQgUmV0aW5hIGRpc3BsYXknLHByaWNlOjU5OSxpY29uTmFtZToibHVjaWRlOnRhYmxldCJ9fSx7aWQ6ImtleWJvYXJkIixlbGVtZW50Om51bGwsZGF0YTp7bmFtZToiTWFnaWMgS2V5Ym9hcmQiLGNhdGVnb3J5OiJBY2Nlc3NvcmllcyIsZGVzY3JpcHRpb246IldpcmVsZXNzIGtleWJvYXJkIHdpdGggVG91Y2ggSUQiLHByaWNlOjE0OSxpY29uTmFtZToibHVjaWRlOmtleWJvYXJkIn19XSx0PXMoKCk9PntsZXQgcj0wLGk9W107ZS5mb3JFYWNoKG49PntsZXQgbD1hLnF1ZXJ5U2VsZWN0b3IoYCMke24uaWR9YCk7aWYobCYmbC5xdWFudGl0eT4wKXtsZXQgZD1uLmRhdGEucHJpY2UqbC5xdWFudGl0eTtyKz1kLGkucHVzaChgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJ0LWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3Bhbj4ke24uZGF0YS5uYW1lfSAoJHtsLnF1YW50aXR5fSk8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuPiQke2QudG9GaXhlZCgyKX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgKX19KTtsZXQgbz1hLnF1ZXJ5U2VsZWN0b3IoIiNpbnRlcmFjdGl2ZS1jYXJ0LXN1bW1hcnkiKTtvJiYoby5pbm5lckhUTUw9YAogICAgICAgICAgICAgICR7aS5qb2luKCIiKX0KICAgICAgICAgICAgICAke2kubGVuZ3RoPT09MD8nPGRpdiBjbGFzcz0iY2FydC1pdGVtIiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogIzk5OTsiPllvdXIgY2FydCBpcyBlbXB0eTwvZGl2Pic6IiJ9CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FydC10b3RhbCI+CiAgICAgICAgICAgICAgICA8c3Bhbj5Ub3RhbDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuPiQke3IudG9GaXhlZCgyKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfSwidXBkYXRlQ2FydFN1bW1hcnkiKTtzZXRUaW1lb3V0KHQsMTAwKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQiKS5mb3JFYWNoKHI9PntyLmFkZEV2ZW50TGlzdGVuZXIoInF1YW50aXR5Q2hhbmdlIix0KX0pfX0+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ncmlkIj4KICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIGlkPSJsYXB0b3AiCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOidNYWNCb29rIFBybyAxNCInLGNhdGVnb3J5OiJDb21wdXRlcnMiLGRlc2NyaXB0aW9uOiJNMyBQcm8gY2hpcCB3aXRoIDE4R0IgUkFNIixwcmljZToxOTk5LG9yaWdpbmFsUHJpY2U6MjE5OSxpY29uTmFtZToibHVjaWRlOmxhcHRvcCJ9fQogICAgICAgICAgICAucXVhbnRpdHk9JHsxfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KCiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICBpZD0iaXBhZCIKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6ImlQYWQgQWlyIixjYXRlZ29yeToiVGFibGV0cyIsZGVzY3JpcHRpb246JzEwLjkiIExpcXVpZCBSZXRpbmEgZGlzcGxheScscHJpY2U6NTk5LGljb25OYW1lOiJsdWNpZGU6dGFibGV0In19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezB9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgoKICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIGlkPSJrZXlib2FyZCIKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6Ik1hZ2ljIEtleWJvYXJkIixjYXRlZ29yeToiQWNjZXNzb3JpZXMiLGRlc2NyaXB0aW9uOiJXaXJlbGVzcyBrZXlib2FyZCB3aXRoIFRvdWNoIElEIixwcmljZToxNDksaWNvbk5hbWU6Imx1Y2lkZTprZXlib2FyZCJ9fQogICAgICAgICAgICAucXVhbnRpdHk9JHsyfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iY2FydC1zdW1tYXJ5Ij4KICAgICAgICAgIDxoMyBjbGFzcz0iY2FydC1zdW1tYXJ5LXRpdGxlIj5TaG9wcGluZyBDYXJ0PC9oMz4KICAgICAgICAgIDxkaXYgaWQ9ImludGVyYWN0aXZlLWNhcnQtc3VtbWFyeSI+CiAgICAgICAgICAgIDwhLS0gRHluYW1pY2FsbHkgdXBkYXRlZCAtLT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiU2VsZWN0YWJsZSBQcm9kdWN0IENhcmRzIn0gLnN1YnRpdGxlPSR7IkNsaWNrIGNhcmRzIG9yIGNoZWNrYm94ZXMgdG8gc2VsZWN0IHByb2R1Y3RzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ncmlkIj4KICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJTb255IEFscGhhIDcgSVYiLGNhdGVnb3J5OiJDYW1lcmFzIixkZXNjcmlwdGlvbjoiRnVsbC1mcmFtZSBtaXJyb3JsZXNzIGNhbWVyYSIscHJpY2U6MjQ5OCxpY29uTmFtZToibHVjaWRlOmNhbWVyYSJ9fQogICAgICAgICAgICAuc2VsZWN0YWJsZT0keyEwfQogICAgICAgICAgICAuc2hvd1F1YW50aXR5U2VsZWN0b3I9JHshMX0KICAgICAgICAgICAgQHNlbGVjdGlvbkNoYW5nZT0ke2E9PntsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjc2VsZWN0aW9uLW91dHB1dCIpO2lmKGUpe2xldCB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmRbc2VsZWN0YWJsZV0iKSxyPVtdO3QuZm9yRWFjaChpPT57aS5zZWxlY3RlZCYmci5wdXNoKGkucHJvZHVjdERhdGEubmFtZSl9KSxlLnRleHRDb250ZW50PXIubGVuZ3RoPjA/YFNlbGVjdGVkOiAke3Iuam9pbigiLCAiKX1gOiJObyBwcm9kdWN0cyBzZWxlY3RlZCJ9fX0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CgogICAgICAgICAgPGRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IkRKSSBNaW5pIDMgUHJvIixjYXRlZ29yeToiRHJvbmVzIixkZXNjcmlwdGlvbjoiTGlnaHR3ZWlnaHQgZHJvbmUgd2l0aCA0SyBjYW1lcmEiLHByaWNlOjc1OSxpY29uTmFtZToibHVjaWRlOnBsYW5lIn19CiAgICAgICAgICAgIC5zZWxlY3RhYmxlPSR7ITB9CiAgICAgICAgICAgIC5zaG93UXVhbnRpdHlTZWxlY3Rvcj0keyExfQogICAgICAgICAgICBAc2VsZWN0aW9uQ2hhbmdlPSR7YT0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNzZWxlY3Rpb24tb3V0cHV0Iik7aWYoZSl7bGV0IHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZFtzZWxlY3RhYmxlXSIpLHI9W107dC5mb3JFYWNoKGk9PntpLnNlbGVjdGVkJiZyLnB1c2goaS5wcm9kdWN0RGF0YS5uYW1lKX0pLGUudGV4dENvbnRlbnQ9ci5sZW5ndGg+MD9gU2VsZWN0ZWQ6ICR7ci5qb2luKCIsICIpfWA6Ik5vIHByb2R1Y3RzIHNlbGVjdGVkIn19fQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KCiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiR29Qcm8gSEVSTzEyIixjYXRlZ29yeToiQWN0aW9uIENhbWVyYXMiLGRlc2NyaXB0aW9uOiI1LjNLIHZpZGVvIHdpdGggSHlwZXJTbW9vdGggNi4wIixwcmljZTozOTksb3JpZ2luYWxQcmljZTo0NDksaWNvbk5hbWU6Imx1Y2lkZTp2aWRlbyJ9fQogICAgICAgICAgICAuc2VsZWN0YWJsZT0keyEwfQogICAgICAgICAgICAuc2hvd1F1YW50aXR5U2VsZWN0b3I9JHshMX0KICAgICAgICAgICAgQHNlbGVjdGlvbkNoYW5nZT0ke2E9PntsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjc2VsZWN0aW9uLW91dHB1dCIpO2lmKGUpe2xldCB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmRbc2VsZWN0YWJsZV0iKSxyPVtdO3QuZm9yRWFjaChpPT57aS5zZWxlY3RlZCYmci5wdXNoKGkucHJvZHVjdERhdGEubmFtZSl9KSxlLnRleHRDb250ZW50PXIubGVuZ3RoPjA/YFNlbGVjdGVkOiAke3Iuam9pbigiLCAiKX1gOiJObyBwcm9kdWN0cyBzZWxlY3RlZCJ9fX0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0ic2VsZWN0ZWQtcHJvZHVjdHMiIGlkPSJzZWxlY3Rpb24tb3V0cHV0IiBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsiPgogICAgICAgICAgTm8gcHJvZHVjdHMgc2VsZWN0ZWQKICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlByb2R1Y3QgVmFyaWF0aW9ucyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgc3RhdGVzIGFuZCBjb25maWd1cmF0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiTGltaXRlZCBFZGl0aW9uIFNuZWFrZXJzIixjYXRlZ29yeToiRm9vdHdlYXIiLGRlc2NyaXB0aW9uOiJFeGNsdXNpdmUgY29sb3J3YXkgLSBPbmx5IDUwMCBwYWlycyIscHJpY2U6Mjk5LGljb25OYW1lOiJsdWNpZGU6Zm9vdHByaW50cyIsaW5TdG9jazohMSxzdG9ja1RleHQ6IlNvbGQgT3V0In19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezB9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgoKICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJNaW5pbWFsaXN0IFdhbGxldCIscHJpY2U6MzkuOTksaWNvbk5hbWU6Imx1Y2lkZTp3YWxsZXQifX0KICAgICAgICAgICAgLnF1YW50aXR5PSR7MX0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CgogICAgICAgICAgPGRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IlByZW1pdW0gQ29mZmVlIEJlYW5zIixjYXRlZ29yeToiRm9vZCAmIEJldmVyYWdlIixkZXNjcmlwdGlvbjoiU2luZ2xlIG9yaWdpbiwgbWVkaXVtIHJvYXN0IixwcmljZToxOC41LGljb25OYW1lOiJsdWNpZGU6Y29mZmVlIixjdXJyZW5jeToiXHUyMEFDIn19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezJ9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgdW0sRDEsSXNhLEhZZT1mKCgpPT57bGUoKTtQc2EoKTtRZSgpO1hyKCk7dW09ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEQxPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxJc2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W107dmFyIE49Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNTaG9wcGluZ1Byb2R1Y3RjYXJkIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpPYmplY3R9KV0sZD1bJCh7dHlwZTpOdW1iZXJ9KV0sdT1bJCh7dHlwZTpCb29sZWFufSldLHg9WyQoe3R5cGU6Qm9vbGVhbn0pXSx5PVskKHt0eXBlOkJvb2xlYW59KV0sdW0odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwcm9kdWN0RGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4icHJvZHVjdERhdGEiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5wcm9kdWN0RGF0YSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnByb2R1Y3REYXRhPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbixsKSx1bSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InF1YW50aXR5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJxdWFudGl0eSJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnF1YW50aXR5LCJnZXQiKSxzZXQ6cygoeixPKT0+e3oucXVhbnRpdHk9T30sInNldCIpfSxtZXRhZGF0YTpffSxjLHApLHVtKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1F1YW50aXR5U2VsZWN0b3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNob3dRdWFudGl0eVNlbGVjdG9yImluIHosImhhcyIpLGdldDpzKHo9Pnouc2hvd1F1YW50aXR5U2VsZWN0b3IsImdldCIpLHNldDpzKCh6LE8pPT57ei5zaG93UXVhbnRpdHlTZWxlY3Rvcj1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG0sdiksdW0odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RhYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzZWxlY3RhYmxlImluIHosImhhcyIpLGdldDpzKHo9Pnouc2VsZWN0YWJsZSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnNlbGVjdGFibGU9T30sInNldCIpfSxtZXRhZGF0YTpffSxiLGcpLHVtKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNlbGVjdGVkImluIHosImhhcyIpLGdldDpzKHo9Pnouc2VsZWN0ZWQsImdldCIpLHNldDpzKCh6LE8pPT57ei5zZWxlY3RlZD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGssQyksdW0obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X30sbnVsbCx0KSxOPXI9ZS52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgZGVtbz1Fc2E7c3RhdGljIGRlbW9Hcm91cHM9WyJTaW1wbGUiXTsjZT1EMSh0aGlzLG4se25hbWU6IlByb2R1Y3QgTmFtZSIscHJpY2U6MH0pO2dldCBwcm9kdWN0RGF0YSgpe3JldHVybiB0aGlzLiNlfXNldCBwcm9kdWN0RGF0YShfKXt0aGlzLiNlPV99I3Q9KEQxKHRoaXMsbCksRDEodGhpcyxjLDApKTtnZXQgcXVhbnRpdHkoKXtyZXR1cm4gdGhpcy4jdH1zZXQgcXVhbnRpdHkoXyl7dGhpcy4jdD1ffSNhPShEMSh0aGlzLHApLEQxKHRoaXMsbSwhMCkpO2dldCBzaG93UXVhbnRpdHlTZWxlY3Rvcigpe3JldHVybiB0aGlzLiNhfXNldCBzaG93UXVhbnRpdHlTZWxlY3RvcihfKXt0aGlzLiNhPV99I3I9KEQxKHRoaXMsdiksRDEodGhpcyxiLCExKSk7Z2V0IHNlbGVjdGFibGUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc2VsZWN0YWJsZShfKXt0aGlzLiNyPV99I3M9KEQxKHRoaXMsZyksRDEodGhpcyxrLCExKSk7Z2V0IHNlbGVjdGVkKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNlbGVjdGVkKF8pe3RoaXMuI3M9X31zdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICBkZWVzLXRpbGUgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgZGVlcy10aWxlOmhvdmVyOjpwYXJ0KG91dGVyKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpOwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IGhzbCgwIDAlIDAlIC8gMC4xKSwgMCAycHggNHB4IC0ycHggaHNsKDAgMCUgMCUgLyAwLjEpOwogICAgICB9CgogICAgICBkZWVzLXRpbGUuc2VsZWN0YWJsZSB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICBkZWVzLXRpbGUuc2VsZWN0ZWQ6OnBhcnQob3V0ZXIpIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAucHJvZHVjdC1pbWFnZSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxODBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAucHJvZHVjdC1pbWFnZSBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgfQoKICAgICAgLnByb2R1Y3QtaW1hZ2UgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDQ4cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDIwLjIlIDY1LjElKSIsImhzbCgyMTUgMjAuMiUgMzUuMSUpIil9OwogICAgICB9CgogICAgICAuc2VsZWN0aW9uLWNoZWNrYm94IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAxMnB4OwogICAgICAgIHJpZ2h0OiAxMnB4OwogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjE1IDMwJSA2LjglKSIpfTsKICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNSAyMC4yJSA2NS4xJSkiLCJoc2woMjE1IDIwLjIlIDM1LjElKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAuc2VsZWN0aW9uLWNoZWNrYm94LmNoZWNrZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgfQoKICAgICAgLnNlbGVjdGlvbi1jaGVja2JveCBkZWVzLWljb24gewogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zZWxlY3Rpb24tY2hlY2tib3guY2hlY2tlZCBkZWVzLWljb24gewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgfQoKICAgICAgLnByb2R1Y3QtaGVhZGVyLWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAucHJvZHVjdC1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAucHJvZHVjdC1jYXRlZ29yeSB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5wcm9kdWN0LWJvZHkgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5wcm9kdWN0LWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZmxleDogMTsKICAgICAgfQogICAgICAKICAgICAgLnByb2R1Y3QtZGVzY3JpcHRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KICAgICAgCiAgICAgIC5wcm9kdWN0LWZvb3RlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5wcm9kdWN0LXByaWNlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAycHg7CiAgICAgIH0KCiAgICAgIC5wcmljZS1jdXJyZW50IHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAucHJpY2Utb3JpZ2luYWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsKICAgICAgfQoKICAgICAgLnN0b2NrLXN0YXR1cyB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICB9CgogICAgICAuc3RvY2stc3RhdHVzLmluLXN0b2NrIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiLCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIil9OwogICAgICB9CgogICAgICAuc3RvY2stc3RhdHVzLm91dC1vZi1zdG9jayB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA1MC42JSkiLCJoc2woMCA2Mi44JSAzMC42JSkiKX07CiAgICAgIH0KCiAgICAgIC5zdG9jay1zdGF0dXMgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldHtuYW1lOl8sY2F0ZWdvcnk6eixkZXNjcmlwdGlvbjpPLHByaWNlOlQsb3JpZ2luYWxQcmljZTpFLGN1cnJlbmN5OkI9IiQiLGluU3RvY2s6TT0hMCxzdG9ja1RleHQ6Uz1NPyJJbiBTdG9jayI6Ik91dCBvZiBTdG9jayIsaW1hZ2VVcmw6UCxpY29uTmFtZTpBPSJsdWNpZGU6cGFja2FnZSJ9PXRoaXMucHJvZHVjdERhdGEsRj1zKFc9PmAke0J9JHtXLnRvRml4ZWQoMil9YCwiZm9ybWF0UHJpY2UiKTtyZXR1cm4gd2AKICAgICAgPGRlZXMtdGlsZQogICAgICAgIGNsYXNzPSIke3RoaXMuc2VsZWN0YWJsZT8ic2VsZWN0YWJsZSI6IiJ9ICR7dGhpcy5zZWxlY3RlZD8ic2VsZWN0ZWQiOiIifSIKICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZUNhcmRDbGlja30KICAgICAgPgogICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0icHJvZHVjdC1oZWFkZXItYmFyIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LW5hbWUiPiR7X308L3NwYW4+CiAgICAgICAgICAke3o/d2A8c3BhbiBjbGFzcz0icHJvZHVjdC1jYXRlZ29yeSI+JHt6fTwvc3Bhbj5gOiIifQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtYm9keSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWltYWdlIj4KICAgICAgICAgICAgJHtQP3dgCiAgICAgICAgICAgICAgPGltZyBzcmM9IiR7UH0iIGFsdD0iJHtffSI+CiAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7QX0+PC9kZWVzLWljb24+CiAgICAgICAgICAgIGB9CiAgICAgICAgICAgICR7dGhpcy5zZWxlY3RhYmxlP3dgCiAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9InNlbGVjdGlvbi1jaGVja2JveCAke3RoaXMuc2VsZWN0ZWQ/ImNoZWNrZWQiOiIifSIKICAgICAgICAgICAgICAgIEBjbGljaz0ke1c9PntXLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuaGFuZGxlU2VsZWN0aW9uVG9nZ2xlKCl9fQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmNoZWNrIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudCI+CiAgICAgICAgICAgICR7Tz93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtZGVzY3JpcHRpb24iPiR7T308L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RvY2stc3RhdHVzICR7TT8iaW4tc3RvY2siOiJvdXQtb2Ytc3RvY2sifSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke00/Imx1Y2lkZTpjaGVjay1jaXJjbGUiOiJsdWNpZGU6eC1jaXJjbGUifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAke1N9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJwcm9kdWN0LWZvb3RlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXByaWNlIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByaWNlLWN1cnJlbnQiPiR7RihUKX08L3NwYW4+CiAgICAgICAgICAgICR7RSYmRT5UP3dgCiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByaWNlLW9yaWdpbmFsIj4ke0YoRSl9PC9zcGFuPgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAke3RoaXMuc2hvd1F1YW50aXR5U2VsZWN0b3I/d2AKICAgICAgICAgICAgPGRlZXMtaW5wdXQtcXVhbnRpdHlzZWxlY3RvcgogICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMucXVhbnRpdHl9CiAgICAgICAgICAgICAgQGNoYW5nZVN1YmplY3Q9JHtXPT57dGhpcy5xdWFudGl0eT1XLmRldGFpbC5nZXRWYWx1ZSgpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInF1YW50aXR5Q2hhbmdlIix7ZGV0YWlsOntxdWFudGl0eTp0aGlzLnF1YW50aXR5LHByb2R1Y3REYXRhOnRoaXMucHJvZHVjdERhdGF9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9fQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3I+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtdGlsZT4KICAgIGB9aGFuZGxlQ2FyZENsaWNrKCl7dGhpcy5zZWxlY3RhYmxlJiYodGhpcy5zZWxlY3RlZD0hdGhpcy5zZWxlY3RlZCx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWxlY3Rpb25DaGFuZ2UiLHtkZXRhaWw6e3NlbGVjdGVkOnRoaXMuc2VsZWN0ZWQscHJvZHVjdERhdGE6dGhpcy5wcm9kdWN0RGF0YX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSl9aGFuZGxlU2VsZWN0aW9uVG9nZ2xlKCl7dGhpcy5zZWxlY3RlZD0hdGhpcy5zZWxlY3RlZCx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWxlY3Rpb25DaGFuZ2UiLHtkZXRhaWw6e3NlbGVjdGVkOnRoaXMuc2VsZWN0ZWQscHJvZHVjdERhdGE6dGhpcy5wcm9kdWN0RGF0YX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksRDEodGhpcyxDKX1zdGF0aWN7RDEocix0KX19O3JldHVybiBOPXJ9KSgpfSk7dmFyIE5zYSxSc2E9ZigoKT0+e2xlKCk7SFllKCk7TnNhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7WGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnNob3BwaW5nLWdyaWQgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI4MHB4LCAxZnIpKTsKICAgICAgICAgIGdhcDogMjBweDsKICAgICAgICB9CgogICAgICAgIC5jYXJ0LXN1bW1hcnkgewogICAgICAgICAgbWFyZ2luLXRvcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTUgMjAuMiUgMjEuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIH0KCiAgICAgICAgLmNhcnQtc3VtbWFyeS10aXRsZSB7CiAgICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICB9CgogICAgICAgIC5jYXJ0LWl0ZW0gewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjE3LjkgMTAuNiUgNzQuOSUpIil9OwogICAgICAgIH0KCiAgICAgICAgLmNhcnQtdG90YWwgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBwYWRkaW5nLXRvcDogMTZweDsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFzaWMgUXVhbnRpdHkgU2VsZWN0b3IifSAuc3VidGl0bGU9JHsiU2ltcGxlIHF1YW50aXR5IGlucHV0IHdpdGggaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3IKICAgICAgICAgICAgLmxhYmVsPSR7IlF1YW50aXR5In0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IlNlbGVjdCB0aGUgZGVzaXJlZCBxdWFudGl0eSJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJNaW5pbXVtIG9yZGVyIHF1YW50aXR5IGlzIDEgaXRlbSJ9CiAgICAgICAgICAgIC52YWx1ZT0kezF9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3I+CgogICAgICAgICAgPGRlZXMtaW5wdXQtcXVhbnRpdHlzZWxlY3RvcgogICAgICAgICAgICAubGFiZWw9JHsiSXRlbXMgaW4gQ2FydCJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJBZGp1c3QgdGhlIHF1YW50aXR5IG9mIGl0ZW1zIn0KICAgICAgICAgICAgLnZhbHVlPSR7M30KICAgICAgICAgID48L2RlZXMtaW5wdXQtcXVhbnRpdHlzZWxlY3Rvcj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlNob3BwaW5nIENhcnQifSAuc3VidGl0bGU9JHsiTW9kZXJuIGUtY29tbWVyY2UgcHJvZHVjdCBjYXJkcyB3aXRoIGludGVyYWN0aXZlIHF1YW50aXR5IHNlbGVjdG9ycyJ9IC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1zKCgpPT57bGV0IHQ9YS5xdWVyeVNlbGVjdG9yKCIjaGVhZHBob25lcy1xdHkiKSxyPWEucXVlcnlTZWxlY3RvcigiI21vdXNlLXF0eSIpLGk9YS5xdWVyeVNlbGVjdG9yKCIja2V5Ym9hcmQtcXR5Iiksbz10Py5xdWFudGl0eXx8MCxuPXI/LnF1YW50aXR5fHwwLGw9aT8ucXVhbnRpdHl8fDAsZD0zNDkuOTkqbyxjPTk5Ljk5Km4scD03OS45OSpsLHU9ZCtjK3AsbT1hLnF1ZXJ5U2VsZWN0b3IoIiNjYXJ0LXN1bW1hcnktY29udGVudCIpO20mJihtLmlubmVySFRNTD1gCiAgICAgICAgICAgICAgJHtvPjA/YDxkaXYgY2xhc3M9ImNhcnQtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3Bhbj5Tb255IFdILTEwMDBYTTUgKCR7b30pPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4+JCR7ZC50b0ZpeGVkKDIpfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj5gOiIifQogICAgICAgICAgICAgICR7bj4wP2A8ZGl2IGNsYXNzPSJjYXJ0LWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4+TG9naXRlY2ggTVggTWFzdGVyIDNTICgke259KTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuPiQke2MudG9GaXhlZCgyKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+YDoiIn0KICAgICAgICAgICAgICAke2w+MD9gPGRpdiBjbGFzcz0iY2FydC1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuPktleWNocm9uIEsyICgke2x9KTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuPiQke3AudG9GaXhlZCgyKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+YDoiIn0KICAgICAgICAgICAgICAke3U9PT0wPyc8ZGl2IGNsYXNzPSJjYXJ0LWl0ZW0iIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7IGNvbG9yOiAjOTk5OyI+WW91ciBjYXJ0IGlzIGVtcHR5PC9kaXY+JzoiIn0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJ0LXRvdGFsIj4KICAgICAgICAgICAgICAgIDxzcGFuPlRvdGFsPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4+JCR7dS50b0ZpeGVkKDIpfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYCl9LCJ1cGRhdGVDYXJ0U3VtbWFyeSIpO3NldFRpbWVvdXQoZSwxMDApLGEucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZCIpLmZvckVhY2godD0+e3QuYWRkRXZlbnRMaXN0ZW5lcigicXVhbnRpdHlDaGFuZ2UiLGUpfSl9fT4KICAgICAgICA8ZGl2IGNsYXNzPSJzaG9wcGluZy1ncmlkIj4KICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIGlkPSJoZWFkcGhvbmVzLXF0eSIKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IlNvbnkgV0gtMTAwMFhNNSBXaXJlbGVzcyBIZWFkcGhvbmVzIixjYXRlZ29yeToiQXVkaW8iLGRlc2NyaXB0aW9uOiJJbmR1c3RyeS1sZWFkaW5nIG5vaXNlIGNhbmNlbGluZyB3aXRoIEF1dG8gTkMgT3B0aW1pemVyIixwcmljZTozNDkuOTksb3JpZ2luYWxQcmljZTozOTkuOTksaWNvbk5hbWU6Imx1Y2lkZTpoZWFkcGhvbmVzIn19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezF9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICBpZD0ibW91c2UtcXR5IgogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiTG9naXRlY2ggTVggTWFzdGVyIDNTIixjYXRlZ29yeToiQWNjZXNzb3JpZXMiLGRlc2NyaXB0aW9uOiJQZXJmb3JtYW5jZSB3aXJlbGVzcyBtb3VzZSB3aXRoIHVsdHJhLWZhc3Qgc2Nyb2xsaW5nIixwcmljZTo5OS45OSxpY29uTmFtZToibHVjaWRlOm1vdXNlLXBvaW50ZXIifX0KICAgICAgICAgICAgLnF1YW50aXR5PSR7Mn0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIGlkPSJrZXlib2FyZC1xdHkiCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJLZXljaHJvbiBLMiBXaXJlbGVzcyBNZWNoYW5pY2FsIEtleWJvYXJkIixjYXRlZ29yeToiS2V5Ym9hcmRzIixkZXNjcmlwdGlvbjoiQ29tcGFjdCA3NSUgbGF5b3V0IHdpdGggaG90LXN3YXBwYWJsZSBzd2l0Y2hlcyIscHJpY2U6NzkuOTksb3JpZ2luYWxQcmljZTo5NC45OSxpY29uTmFtZToibHVjaWRlOmtleWJvYXJkIn19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezF9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjYXJ0LXN1bW1hcnkiPgogICAgICAgICAgPGgzIGNsYXNzPSJjYXJ0LXN1bW1hcnktdGl0bGUiPk9yZGVyIFN1bW1hcnk8L2gzPgogICAgICAgICAgPGRpdiBpZD0iY2FydC1zdW1tYXJ5LWNvbnRlbnQiPgogICAgICAgICAgICA8IS0tIENvbnRlbnQgd2lsbCBiZSBkeW5hbWljYWxseSB1cGRhdGVkIC0tPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJSZXF1aXJlZCAmIERpc2FibGVkIFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgc3RhdGVzIGZvciB2YWxpZGF0aW9uIGFuZCByZXN0cmljdGlvbnMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtcXVhbnRpdHlzZWxlY3RvcgogICAgICAgICAgICAubGFiZWw9JHsiTnVtYmVyIG9mIExpY2Vuc2VzIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IlNlbGVjdCBob3cgbWFueSBsaWNlbnNlcyB5b3UgbmVlZCJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAudmFsdWU9JHsxfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3IKICAgICAgICAgICAgLmxhYmVsPSR7IkZpeGVkIFF1YW50aXR5In0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IlRoaXMgcXVhbnRpdHkgY2Fubm90IGJlIGNoYW5nZWQifQogICAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgICAgLnZhbHVlPSR7NX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcXVhbnRpdHlzZWxlY3Rvcj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ik9yZGVyIEZvcm0ifSAuc3VidGl0bGU9JHsiQ29tcGxldGUgb3JkZXIgZm9ybSB3aXRoIHF1YW50aXR5IHNlbGVjdGlvbiJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJDdXN0b21lciBOYW1lIn0gLnJlcXVpcmVkPSR7ITB9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLmxhYmVsPSR7IlByb2R1Y3QifQogICAgICAgICAgICAub3B0aW9ucz0ke1siQmFzaWMgUGxhbiIsIlBybyBQbGFuIiwiRW50ZXJwcmlzZSBQbGFuIl19CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgIDxkZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3IKICAgICAgICAgICAgLmxhYmVsPSR7IlF1YW50aXR5In0KICAgICAgICAgICAgLmluZm9UZXh0PSR7Ik51bWJlciBvZiBsaWNlbnNlcyJ9CiAgICAgICAgICAgIC52YWx1ZT0kezF9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3I+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJTcGVjaWFsIEluc3RydWN0aW9ucyJ9CiAgICAgICAgICAgIC5pbnB1dFR5cGU9JHsidGV4dGFyZWEifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgT3NhLHFZZSxjYWUsVlllPWYoKCk9PntsZSgpO2VhKCk7U3IoKTtSc2EoKTtRZSgpO09zYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0scVllPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxjYWU9KCgpPT57bGV0IGE9W2llKCJkZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3IiKV0sZSx0PVtdLHIsaT13dCxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0UXVhbnRpdHlTZWxlY3RvciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBjPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6TnVtYmVyfSldLE9zYSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJ2YWx1ZSJpbiBwLCJoYXMiKSxnZXQ6cyhwPT5wLnZhbHVlLCJnZXQiKSxzZXQ6cygocCx1KT0+e3AudmFsdWU9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLE9zYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfXN0YXRpYyBkZW1vPU5zYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9cVllKHRoaXMsbiwxKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoYyl7dGhpcy4jZT1jfXN0YXRpYyBzdHlsZXM9W0VlLC4uLnd0LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgICA6aG9zdCB7CiAgICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIH0KCiAgICAgICAgLnF1YW50aXR5LWNvbnRhaW5lciB7CiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgICAgcGFkZGluZzogMDsKICAgICAgICAgIG1pbi13aWR0aDogMTIwcHg7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnF1YW50aXR5LWNvbnRhaW5lci5kaXNhYmxlZCB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAucXVhbnRpdHktY29udGFpbmVyOmhvdmVyOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDIwLjklKSIpfTsKICAgICAgICB9CgogICAgICAgIC5xdWFudGl0eS1jb250YWluZXI6Zm9jdXMtd2l0aGluIHsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjEpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xKSIpfTsKICAgICAgICB9CgogICAgICAgIC5zZWxlY3RvciB7CiAgICAgICAgICBmbGV4OiAwIDAgNDBweDsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB9CgogICAgICAgIC5zZWxlY3Rvcjpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIH0KCiAgICAgICAgLnNlbGVjdG9yOmFjdGl2ZSB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTElKSIsImhzbCgwIDAlIDExJSkiKX07CiAgICAgICAgfQoKICAgICAgICAuc2VsZWN0b3IubWludXMgewogICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICB9CgogICAgICAgIC5zZWxlY3Rvci5wbHVzIHsKICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICB9CgogICAgICAgIC5xdWFudGl0eSB7CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDA2ZW07CiAgICAgICAgfQoKICAgICAgICAvKiBLZXlib2FyZCBuYXZpZ2F0aW9uIGZvY3VzIHN0eWxlcyAqLwogICAgICAgIC5zZWxlY3Rvcjpmb2N1cyB7CiAgICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgICAgei1pbmRleDogMTsKICAgICAgICB9CgogICAgICAgIC8qIE1pbiB2YWx1ZSBzdGF0ZSAqLwogICAgICAgIC5xdWFudGl0eS1jb250YWluZXJbZGF0YS1taW49InRydWUiXSAuc2VsZWN0b3IubWludXMgewogICAgICAgICAgb3BhY2l0eTogMC4zOwogICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICB9CgogICAgICAgIC5xdWFudGl0eS1jb250YWluZXJbZGF0YS1taW49InRydWUiXSAuc2VsZWN0b3IubWludXM6aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICB9CgogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgICR7dGhpcy5sYWJlbD93YDxkZWVzLWxhYmVsIC5sYWJlbD0ke3RoaXMubGFiZWx9IC5pbmZvVGV4dD0ke3RoaXMuaW5mb1RleHR9IC5yZXF1aXJlZD0ke3RoaXMucmVxdWlyZWR9PjwvZGVlcy1sYWJlbD5gOiIifQogICAgICAgIDxkaXYgCiAgICAgICAgICBjbGFzcz0icXVhbnRpdHktY29udGFpbmVyICR7dGhpcy5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSIKICAgICAgICAgIGRhdGEtbWluPSIke3RoaXMudmFsdWU8PTB9IgogICAgICAgID4KICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgIGNsYXNzPSJzZWxlY3RvciBtaW51cyIgCiAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+e3RoaXMuZGVjcmVhc2UoKX19IgogICAgICAgICAgICB0YWJpbmRleD0iJHt0aGlzLmRpc2FibGVkPyItMSI6IjAifSIKICAgICAgICAgICAgQGtleWRvd249IiR7Yz0+eyhjLmtleT09PSJFbnRlciJ8fGMua2V5PT09IiAiKSYmKGMucHJldmVudERlZmF1bHQoKSx0aGlzLmRlY3JlYXNlKCkpfX0iCiAgICAgICAgICAgIHJvbGU9ImJ1dHRvbiIKICAgICAgICAgICAgYXJpYS1sYWJlbD0iRGVjcmVhc2UgcXVhbnRpdHkiCiAgICAgICAgICA+4oiSPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJxdWFudGl0eSIgYXJpYS1saXZlPSJwb2xpdGUiIGFyaWEtYXRvbWljPSJ0cnVlIj4ke3RoaXMudmFsdWV9PC9kaXY+CiAgICAgICAgICA8ZGl2IAogICAgICAgICAgICBjbGFzcz0ic2VsZWN0b3IgcGx1cyIgCiAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+e3RoaXMuaW5jcmVhc2UoKX19IgogICAgICAgICAgICB0YWJpbmRleD0iJHt0aGlzLmRpc2FibGVkPyItMSI6IjAifSIKICAgICAgICAgICAgQGtleWRvd249IiR7Yz0+eyhjLmtleT09PSJFbnRlciJ8fGMua2V5PT09IiAiKSYmKGMucHJldmVudERlZmF1bHQoKSx0aGlzLmluY3JlYXNlKCkpfX0iCiAgICAgICAgICAgIHJvbGU9ImJ1dHRvbiIKICAgICAgICAgICAgYXJpYS1sYWJlbD0iSW5jcmVhc2UgcXVhbnRpdHkiCiAgICAgICAgICA+KzwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICA8L2Rpdj4KICAgIGB9aW5jcmVhc2UoKXt0aGlzLmRpc2FibGVkfHwodGhpcy52YWx1ZSsrLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKX1kZWNyZWFzZSgpeyF0aGlzLmRpc2FibGVkJiZ0aGlzLnZhbHVlPjAmJih0aGlzLnZhbHVlLS0sdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcykpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoYyl7dGhpcy52YWx1ZT1jfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxxWWUodGhpcyxsKX1zdGF0aWN7cVllKHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciBGc2EsQnNhPWYoKCk9PntsZSgpO05hKCk7VXMoKTtGc2E9cygoKT0+d2AKICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgIDxzdHlsZT4KICAgICAgJHtYYAogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZGVtby1ncmlkIHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDMwMHB4LCAxZnIpKTsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnJlc3VsdC1kaXNwbGF5IHsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAxMDUsIDI0MiwgMC4xKTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMS4gQmFzaWMgUmFkaW8gR3JvdXBzIn0gLnN1YnRpdGxlPSR7IlNpbXBsZSBzdHJpbmcgb3B0aW9ucyBmb3IgY29tbW9uIHVzZSBjYXNlcyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLWdyaWQiPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgICAgLmxhYmVsPSR7IlN1YnNjcmlwdGlvbiBQbGFuIn0KICAgICAgICAgICAgICAub3B0aW9ucz0ke1siQmFzaWMgLSAkOS9tb250aCIsIlBybyAtICQyOS9tb250aCIsIkVudGVycHJpc2UgLSAkOTkvbW9udGgiXX0KICAgICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiUHJvIC0gJDI5L21vbnRoIn0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQ2hvb3NlIHlvdXIgc3Vic2NyaXB0aW9uIHRpZXIifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgICAgLmxhYmVsPSR7IlByaW9yaXR5IExldmVsIn0KICAgICAgICAgICAgICAub3B0aW9ucz0ke1siSGlnaCIsIk1lZGl1bSIsIkxvdyJdfQogICAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJNZWRpdW0ifQogICAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjIuIEhvcml6b250YWwgTGF5b3V0In0gLnN1YnRpdGxlPSR7IlJhZGlvIGdyb3VwcyB3aXRoIGhvcml6b250YWwgYXJyYW5nZW1lbnQifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgICAubGFiZWw9JHsiRG8geW91IGFncmVlIHdpdGggdGhlIHRlcm1zPyJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJZZXMiLCJObyIsIk1heWJlIl19CiAgICAgICAgICAgIC5kaXJlY3Rpb249JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJZZXMifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IkV4cGVyaWVuY2UgTGV2ZWwifQogICAgICAgICAgICAub3B0aW9ucz0ke1siQmVnaW5uZXIiLCJJbnRlcm1lZGlhdGUiLCJFeHBlcnQiXX0KICAgICAgICAgICAgLmRpcmVjdGlvbj0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkludGVybWVkaWF0ZSJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJTZWxlY3QgeW91ciBleHBlcmllbmNlIGxldmVsIHdpdGggd2ViIGRldmVsb3BtZW50In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjMuIEFkdmFuY2VkIE9wdGlvbnMifSAuc3VidGl0bGU9JHsiVXNpbmcgb2JqZWN0IGZvcm1hdCB3aXRoIGtleXMgYW5kIHBheWxvYWRzIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgaWQ9ImFkdmFuY2VkLXJhZGlvIgogICAgICAgICAgLmxhYmVsPSR7IlNlbGVjdCBSZWdpb24ifQogICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiVW5pdGVkIFN0YXRlcyAoVVMgRWFzdCkiLGtleToidXMtZWFzdCIscGF5bG9hZDp7cmVnaW9uOiJ1cy1lYXN0LTEiLGxhdGVuY3k6MjB9fSx7b3B0aW9uOiJFdXJvcGUgKEZyYW5rZnVydCkiLGtleToiZXUtY2VudHJhbCIscGF5bG9hZDp7cmVnaW9uOiJldS1jZW50cmFsLTEiLGxhdGVuY3k6NTB9fSx7b3B0aW9uOiJBc2lhIFBhY2lmaWMgKFNpbmdhcG9yZSkiLGtleToiYXAtc291dGhlYXN0IixwYXlsb2FkOntyZWdpb246ImFwLXNvdXRoZWFzdC0xIixsYXRlbmN5OjEyMH19XX0KICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJldS1jZW50cmFsIn0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJDaG9vc2UgdGhlIGNsb3Nlc3QgcmVnaW9uIGZvciBvcHRpbWFsIHBlcmZvcm1hbmNlIn0KICAgICAgICAgIEBjaGFuZ2U9JHthPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3JlZ2lvbi1yZXN1bHQiKTtlJiYoZS50ZXh0Q29udGVudD0iU2VsZWN0ZWQ6ICIrSlNPTi5zdHJpbmdpZnkoYS5kZXRhaWwudmFsdWUsbnVsbCwyKSl9fQogICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KICAgICAgICA8ZGl2IGlkPSJyZWdpb24tcmVzdWx0IiBjbGFzcz0icmVzdWx0LWRpc3BsYXkiPlNlbGVjdGVkOiB7ICJyZWdpb24iOiAiZXUtY2VudHJhbC0xIiwgImxhdGVuY3kiOiA1MCB9PC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI0LiBTdXJ2ZXkgRXhhbXBsZSJ9IC5zdWJ0aXRsZT0keyJNdWx0aXBsZSByYWRpbyBncm91cHMgZm9yIHN1cnZleXMgYW5kIGZvcm1zIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tZ3JpZCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgICAubGFiZWw9JHsiSG93IHNhdGlzZmllZCBhcmUgeW91PyJ9CiAgICAgICAgICAgICAgLm9wdGlvbnM9JHtbIlZlcnkgU2F0aXNmaWVkIiwiU2F0aXNmaWVkIiwiTmV1dHJhbCIsIkRpc3NhdGlzZmllZCIsIlZlcnkgRGlzc2F0aXNmaWVkIl19CiAgICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IlNhdGlzZmllZCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgICAubGFiZWw9JHsiV291bGQgeW91IHJlY29tbWVuZCB1cz8ifQogICAgICAgICAgICAgIC5vcHRpb25zPSR7WyJEZWZpbml0ZWx5IiwiUHJvYmFibHkiLCJOb3QgU3VyZSIsIlByb2JhYmx5IE5vdCIsIkRlZmluaXRlbHkgTm90Il19CiAgICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IlByb2JhYmx5In0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI1LiBTdGF0ZXMgJiBWYWxpZGF0aW9uIn0gLnN1YnRpdGxlPSR7IkRpZmZlcmVudCBzdGF0ZXMgYW5kIHZhbGlkYXRpb24gZXhhbXBsZXMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1ncmlkIj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgICAgIC5sYWJlbD0keyJSZXF1aXJlZCBTZWxlY3Rpb24ifQogICAgICAgICAgICAgIC5vcHRpb25zPSR7WyJPcHRpb24gQSIsIk9wdGlvbiBCIiwiT3B0aW9uIEMiXX0KICAgICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiVGhpcyBmaWVsZCBpcyByZXF1aXJlZCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgICAubGFiZWw9JHsiRGlzYWJsZWQgU3RhdGUifQogICAgICAgICAgICAgIC5vcHRpb25zPSR7WyJEaXNhYmxlZCBPcHRpb24gMSIsIkRpc2FibGVkIE9wdGlvbiAyIiwiRGlzYWJsZWQgT3B0aW9uIDMiXX0KICAgICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiRGlzYWJsZWQgT3B0aW9uIDIifQogICAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjYuIFNldHRpbmdzIEV4YW1wbGUifSAuc3VidGl0bGU9JHsiQ29tbW9uIHBhdHRlcm5zIGluIGFwcGxpY2F0aW9uIHNldHRpbmdzIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IlRoZW1lIFByZWZlcmVuY2UifQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJMaWdodCBUaGVtZSIsa2V5OiJsaWdodCIscGF5bG9hZDoibGlnaHQifSx7b3B0aW9uOiJEYXJrIFRoZW1lIixrZXk6ImRhcmsiLHBheWxvYWQ6ImRhcmsifSx7b3B0aW9uOiJTeXN0ZW0gRGVmYXVsdCIsa2V5OiJzeXN0ZW0iLHBheWxvYWQ6ImF1dG8ifV19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJkYXJrIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkNob29zZSBob3cgdGhlIGFwcGxpY2F0aW9uIHNob3VsZCBhcHBlYXIifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7Ik5vdGlmaWNhdGlvbiBGcmVxdWVuY3kifQogICAgICAgICAgICAub3B0aW9ucz0ke1siQWxsIE5vdGlmaWNhdGlvbnMiLCJJbXBvcnRhbnQgT25seSIsIk5vbmUiXX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkltcG9ydGFudCBPbmx5In0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkNvbnRyb2wgaG93IG9mdGVuIHlvdSByZWNlaXZlIG5vdGlmaWNhdGlvbnMifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7Ikxhbmd1YWdlIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIkVuZ2xpc2giLCJHZXJtYW4iLCJGcmVuY2giLCJTcGFuaXNoIiwiSmFwYW5lc2UiXX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkVuZ2xpc2gifQogICAgICAgICAgICAuZGlyZWN0aW9uPSR7Imhvcml6b250YWwifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNy4gRm9ybSBJbnRlZ3JhdGlvbiJ9IC5zdWJ0aXRsZT0keyJXb3JrcyBzZWFtbGVzc2x5IHdpdGggZGVlcy1mb3JtIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IlByb2R1Y3QgTmFtZSJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAua2V5PSR7InByb2R1Y3ROYW1lIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgICAubGFiZWw9JHsiUHJvZHVjdCBDYXRlZ29yeSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJFbGVjdHJvbmljcyIsIkNsb3RoaW5nIiwiQm9va3MiLCJIb21lICYgR2FyZGVuIiwiU3BvcnRzIl19CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAua2V5PSR7ImNhdGVnb3J5In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgICAubGFiZWw9JHsiQ29uZGl0aW9uIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIk5ldyIsIkxpa2UgTmV3IiwiR29vZCIsIkZhaXIiLCJQb29yIl19CiAgICAgICAgICAgIC5kaXJlY3Rpb249JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC5rZXk9JHsiY29uZGl0aW9uIn0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7Ik5ldyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IlNoaXBwaW5nIFNwZWVkIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiU3RhbmRhcmQgKDUtNyBkYXlzKSIsa2V5OiJzdGFuZGFyZCIscGF5bG9hZDp7ZGF5czo3LHByaWNlOjB9fSx7b3B0aW9uOiJFeHByZXNzICgyLTMgZGF5cykiLGtleToiZXhwcmVzcyIscGF5bG9hZDp7ZGF5czozLHByaWNlOjEwfX0se29wdGlvbjoiT3Zlcm5pZ2h0IixrZXk6Im92ZXJuaWdodCIscGF5bG9hZDp7ZGF5czoxLHByaWNlOjI1fX1dfQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsic3RhbmRhcmQifQogICAgICAgICAgICAua2V5PSR7InNoaXBwaW5nIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgLnRleHQ9JHsiU3VibWl0IFByb2R1Y3QifT48L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBSVSxnYyxkYWUsdWFlPWYoKCk9PntsZSgpO1NyKCk7QnNhKCk7UWUoKTtSVT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sZ2M9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGRhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtcmFkaW9ncm91cCIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRSYWRpb2dyb3VwIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGs9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVskKCldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9WyQoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sUlUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcHRpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJvcHRpb25zImluIEMsImhhcyIpLGdldDpzKEM9PkMub3B0aW9ucywiZ2V0Iiksc2V0OnMoKEMsTik9PntDLm9wdGlvbnM9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxuLGwpLFJVKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRPcHRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+InNlbGVjdGVkT3B0aW9uImluIEMsImhhcyIpLGdldDpzKEM9PkMuc2VsZWN0ZWRPcHRpb24sImdldCIpLHNldDpzKChDLE4pPT57Qy5zZWxlY3RlZE9wdGlvbj1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGMscCksUlUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXJlY3Rpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImRpcmVjdGlvbiJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmRpcmVjdGlvbiwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmRpcmVjdGlvbj1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG0sdiksUlUodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWxpZGF0aW9uU3RhdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+InZhbGlkYXRpb25TdGF0ZSJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnZhbGlkYXRpb25TdGF0ZSwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLnZhbGlkYXRpb25TdGF0ZT1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGIsZyksUlUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6a30sbnVsbCx0KSx5PXI9ZS52YWx1ZSxrJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmt9KX1zdGF0aWMgZGVtbz1Gc2E7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPWdjKHRoaXMsbixbXSk7Z2V0IG9wdGlvbnMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgb3B0aW9ucyhrKXt0aGlzLiNlPWt9I3Q9KGdjKHRoaXMsbCksZ2ModGhpcyxjLCIiKSk7Z2V0IHNlbGVjdGVkT3B0aW9uKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlbGVjdGVkT3B0aW9uKGspe3RoaXMuI3Q9a30jYT0oZ2ModGhpcyxwKSxnYyh0aGlzLG0sInZlcnRpY2FsIikpO2dldCBkaXJlY3Rpb24oKXtyZXR1cm4gdGhpcy4jYX1zZXQgZGlyZWN0aW9uKGspe3RoaXMuI2E9a30jcj0oZ2ModGhpcyx2KSxnYyh0aGlzLGIsbnVsbCkpO2dldCB2YWxpZGF0aW9uU3RhdGUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdmFsaWRhdGlvblN0YXRlKGspe3RoaXMuI3I9a31nZXQgdmFsdWUoKXtsZXQgaz10aGlzLmdldE9wdGlvbkJ5S2V5KHRoaXMuc2VsZWN0ZWRPcHRpb24pO3JldHVybiB0eXBlb2Ygaz09Im9iamVjdCImJmsucGF5bG9hZCE9PXZvaWQgMD9rLnBheWxvYWQ6dGhpcy5zZWxlY3RlZE9wdGlvbn1zZXQgdmFsdWUoayl7aWYodHlwZW9mIGs9PSJzdHJpbmciKXRoaXMuc2VsZWN0ZWRPcHRpb249aztlbHNle2xldCBDPXRoaXMub3B0aW9ucy5maW5kKE49PnR5cGVvZiBOPT0ib2JqZWN0IiYmTi5wYXlsb2FkPT09ayk7QyYmdHlwZW9mIEM9PSJvYmplY3QiJiYodGhpcy5zZWxlY3RlZE9wdGlvbj1DLmtleSl9fXN0YXRpYyBzdHlsZXM9W0VlLC4uLnd0LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgICogewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lci5ob3Jpem9udGFsIHsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5yYWRpby1vcHRpb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgcGFkZGluZzogNnB4IDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXIuaG9yaXpvbnRhbCAucmFkaW8tb3B0aW9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggMjBweCA2cHggMDsKICAgICAgfQoKICAgICAgLnJhZGlvLW9wdGlvbjpob3ZlciAucmFkaW8tY2lyY2xlIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDIwLjIlIDY1LjElKSIsImhzbCgyMTUgMjAuMiUgMzUuMSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgfQoKICAgICAgLnJhZGlvLW9wdGlvbjpob3ZlciAucmFkaW8tbGFiZWwgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgIH0KCiAgICAgIC5yYWRpby1jaXJjbGUgewogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTUgMjAuMiUgNjUuMSUpIiwiaHNsKDIxNSAyMC4yJSAzNS4xJSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIxNSAzMCUgNi44JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAucmFkaW8tb3B0aW9uLnNlbGVjdGVkIC5yYWRpby1jaXJjbGUgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgfQoKICAgICAgLnJhZGlvLW9wdGlvbi5zZWxlY3RlZCAucmFkaW8tY2lyY2xlOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHdpZHRoOiA4cHg7CiAgICAgICAgaGVpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMTUgMzAlIDYuOCUpIil9OwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfQoKICAgICAgLnJhZGlvLW9wdGlvbi5zZWxlY3RlZCAucmFkaW8tY2lyY2xlOjphZnRlciB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgfQoKICAgICAgLnJhZGlvLWNpcmNsZTpmb2N1cy12aXNpYmxlIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjE1IDMwJSAzLjklKSIpfSwKICAgICAgICAgICAgICAgICAgICAwIDAgMCA0cHggJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICB9CgogICAgICAucmFkaW8tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjE3LjkgMTAuNiUgNzQuOSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDA2ZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5yYWRpby1vcHRpb24uc2VsZWN0ZWQgLnJhZGlvLWxhYmVsIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAucmFkaW8tb3B0aW9uIHsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLnJhZGlvLW9wdGlvbjpob3ZlciAucmFkaW8tY2lyY2xlIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDIwLjIlIDY1LjElKSIsImhzbCgyMTUgMjAuMiUgMzUuMSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMTUgMzAlIDYuOCUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAucmFkaW8tb3B0aW9uOmhvdmVyIC5yYWRpby1sYWJlbCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTcuOSAxMC42JSA3NC45JSkiKX07CiAgICAgIH0KCiAgICAgIC5sYWJlbC10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwNmVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICB9CgogICAgICAvKiBWYWxpZGF0aW9uIHN0eWxlcyAqLwogICAgICA6aG9zdChbdmFsaWRhdGlvblN0YXRlPSJpbnZhbGlkIl0pIC5yYWRpby1jaXJjbGUgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlKSIsImhzbCgwIDYyLjglIDMwLjYlKSIpfTsKICAgICAgfQoKICAgICAgOmhvc3QoW3ZhbGlkYXRpb25TdGF0ZT0iaW52YWxpZCJdKSAucmFkaW8tb3B0aW9uLnNlbGVjdGVkIC5yYWRpby1jaXJjbGUgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlKSIsImhzbCgwIDYyLjglIDMwLjYlKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUpIiwiaHNsKDAgNjIuOCUgMzAuNiUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbdmFsaWRhdGlvblN0YXRlPSJ2YWxpZCJdKSAucmFkaW8tb3B0aW9uLnNlbGVjdGVkIC5yYWRpby1jaXJjbGUgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiLCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIiwiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIpfTsKICAgICAgfQoKICAgICAgOmhvc3QoW3ZhbGlkYXRpb25TdGF0ZT0id2FybiJdKSAucmFkaW8tb3B0aW9uLnNlbGVjdGVkIC5yYWRpby1jaXJjbGUgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCg0NS40IDkzLjQlIDQ3LjUlKSIsImhzbCg0NS40IDkzLjQlIDQ3LjUlKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDQ1LjQgOTMuNCUgNDcuNSUpIiwiaHNsKDQ1LjQgOTMuNCUgNDcuNSUpIil9OwogICAgICB9CgogICAgICAvKiBPdmVycmlkZSBiYXNlIGdyaWQgbGF5b3V0IGZvciByYWRpb2dyb3VwIHRvIHByZXZlbnQgbGFyZ2UgZ2FwcyAqLwogICAgICA6aG9zdChbbGFiZWwtcG9zaXRpb249ImxlZnQiXSkgLmlucHV0LXdyYXBwZXIgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvOwogICAgICB9CgogICAgICA6aG9zdChbbGFiZWwtcG9zaXRpb249InJpZ2h0Il0pIC5pbnB1dC13cmFwcGVyIHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bzsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgICR7dGhpcy5sYWJlbD93YDxkaXYgY2xhc3M9ImxhYmVsLXRleHQiPiR7dGhpcy5sYWJlbH08L2Rpdj5gOiIifQogICAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIgJHt0aGlzLmRpcmVjdGlvbn0iPgogICAgICAgICAgJHt0aGlzLm9wdGlvbnMubWFwKGs9PntsZXQgQz10aGlzLmdldE9wdGlvbktleShrKSxOPXRoaXMuZ2V0T3B0aW9uTGFiZWwoayksXz10aGlzLnNlbGVjdGVkT3B0aW9uPT09QztyZXR1cm4gd2AKICAgICAgICAgICAgICA8ZGl2IAogICAgICAgICAgICAgICAgY2xhc3M9InJhZGlvLW9wdGlvbiAke18/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgICAgICAgICBAY2xpY2s9IiR7KCk9PnRoaXMuc2VsZWN0T3B0aW9uKEMpfSIKICAgICAgICAgICAgICAgIEBrZXlkb3duPSIke3o9PnRoaXMuaGFuZGxlS2V5ZG93bih6LEMpfSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGl2IAogICAgICAgICAgICAgICAgICBjbGFzcz0icmFkaW8tY2lyY2xlIiAKICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9IiR7dGhpcy5kaXNhYmxlZD8iLTEiOiIwIn0iCiAgICAgICAgICAgICAgICAgIHJvbGU9InJhZGlvIgogICAgICAgICAgICAgICAgICBhcmlhLWNoZWNrZWQ9IiR7X30iCiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9IiR7Tn0iCiAgICAgICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYWRpby1sYWJlbCI+JHtOfTwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgfSl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnJlbmRlckRlc2NyaXB0aW9uKCl9CiAgICAgIDwvZGl2PgogICAgYH1nZXRPcHRpb25LZXkoayl7cmV0dXJuIHR5cGVvZiBrPT0ic3RyaW5nIj9rOmsua2V5fWdldE9wdGlvbkxhYmVsKGspe3JldHVybiB0eXBlb2Ygaz09InN0cmluZyI/azprLm9wdGlvbn1nZXRPcHRpb25CeUtleShrKXtyZXR1cm4gdGhpcy5vcHRpb25zLmZpbmQoQz0+dGhpcy5nZXRPcHRpb25LZXkoQyk9PT1rKX1zZWxlY3RPcHRpb24oayl7aWYodGhpcy5kaXNhYmxlZClyZXR1cm47bGV0IEM9dGhpcy5zZWxlY3RlZE9wdGlvbjt0aGlzLnNlbGVjdGVkT3B0aW9uPWssQyE9PWsmJih0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjaGFuZ2UiLHtkZXRhaWw6e3ZhbHVlOnRoaXMudmFsdWV9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiaW5wdXQiLHtkZXRhaWw6e3ZhbHVlOnRoaXMudmFsdWV9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcykpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoayl7dGhpcy52YWx1ZT1rfWFzeW5jIHZhbGlkYXRlKCl7cmV0dXJuIHRoaXMucmVxdWlyZWQmJiF0aGlzLnNlbGVjdGVkT3B0aW9uPyh0aGlzLnZhbGlkYXRpb25TdGF0ZT0iaW52YWxpZCIsITEpOih0aGlzLnZhbGlkYXRpb25TdGF0ZT0idmFsaWQiLCEwKX1hc3luYyBmaXJzdFVwZGF0ZWQoKXtpZighdGhpcy5zZWxlY3RlZE9wdGlvbiYmdGhpcy5vcHRpb25zLmxlbmd0aD4wJiYhdGhpcy5yZXF1aXJlZCl7bGV0IGs9dGhpcy5vcHRpb25zWzBdO3RoaXMuc2VsZWN0ZWRPcHRpb249dGhpcy5nZXRPcHRpb25LZXkoayl9fWhhbmRsZUtleWRvd24oayxDKXt0aGlzLmRpc2FibGVkfHwoay5rZXk9PT0iICJ8fGsua2V5PT09IkVudGVyIj8oay5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2VsZWN0T3B0aW9uKEMpKTprLmtleT09PSJBcnJvd0Rvd24ifHxrLmtleT09PSJBcnJvd1JpZ2h0Ij8oay5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZm9jdXNOZXh0T3B0aW9uKCkpOihrLmtleT09PSJBcnJvd1VwInx8ay5rZXk9PT0iQXJyb3dMZWZ0IikmJihrLnByZXZlbnREZWZhdWx0KCksdGhpcy5mb2N1c1ByZXZpb3VzT3B0aW9uKCkpKX1mb2N1c05leHRPcHRpb24oKXtsZXQgaz1BcnJheS5mcm9tKHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCIucmFkaW8tY2lyY2xlIikpLE49KGsuZmluZEluZGV4KF89Pl89PT10aGlzLnNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudCkrMSklay5sZW5ndGg7a1tOXS5mb2N1cygpfWZvY3VzUHJldmlvdXNPcHRpb24oKXtsZXQgaz1BcnJheS5mcm9tKHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCIucmFkaW8tY2lyY2xlIikpLEM9ay5maW5kSW5kZXgoXz0+Xz09PXRoaXMuc2hhZG93Um9vdC5hY3RpdmVFbGVtZW50KSxOPUM8PTA/ay5sZW5ndGgtMTpDLTE7a1tOXS5mb2N1cygpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxnYyh0aGlzLGcpfXN0YXRpY3tnYyhyLHQpfX07cmV0dXJuIHk9cn0pKCl9KTt2YXIgSHNhLHFzYT1mKCgpPT57bGUoKTtIc2E9cygoKT0+d2AKICA8c3R5bGU+CiAgICAuZGVtby1jb250YWluZXIgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBnYXA6IDI0cHg7CiAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICB9CiAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAxMnB4OwogICAgfQogICAgLmRlbW8tc2VjdGlvbiBoMyB7CiAgICAgIG1hcmdpbjogMCAwIDhweCAwOwogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGNvbG9yOiAjODg4OwogICAgfQogICAgLmRlbW8tcm93IHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZ2FwOiAxMnB4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICB9CiAgPC9zdHlsZT4KICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+QmFzaWMgVXNhZ2U8L2gzPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXJvdyI+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+U3VibWl0IEZvcm08L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgdGV4dD0iV2l0aCBUZXh0IFByb3BlcnR5Ij48L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPldpdGggSWNvbnMgKGluaGVyaXRlZCBmcm9tIERlZXNCdXR0b24pPC9oMz4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1yb3ciPgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IGljb249Imx1Y2lkZTpzZW5kIj5TdWJtaXQ8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgaWNvbj0ibHVjaWRlOnNhdmUiIGljb25Qb3NpdGlvbj0ibGVmdCI+U2F2ZSBGb3JtPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IGljb249Imx1Y2lkZTphcnJvdy1yaWdodCIgaWNvblBvc2l0aW9uPSJyaWdodCI+Q29udGludWU8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkJ1dHRvbiBUeXBlczwvaDM+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tcm93Ij4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCB0eXBlPSJoaWdobGlnaHRlZCIgaWNvbj0ibHVjaWRlOnNlbmQiPkhpZ2hsaWdodGVkPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IHR5cGU9Im5vcm1hbCIgaWNvbj0ibHVjaWRlOnNlbmQiPk5vcm1hbDwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCB0eXBlPSJkaXNjcmVldCIgaWNvbj0ibHVjaWRlOnNlbmQiPkRpc2NyZWV0PC9kZWVzLWZvcm0tc3VibWl0PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5TaXplczwvaDM+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tcm93Ij4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBzaXplPSJzbWFsbCIgaWNvbj0ibHVjaWRlOnNlbmQiPlNtYWxsPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IHNpemU9Im5vcm1hbCIgaWNvbj0ibHVjaWRlOnNlbmQiPk5vcm1hbDwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBzaXplPSJsYXJnZSIgaWNvbj0ibHVjaWRlOnNlbmQiPkxhcmdlPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5TdGF0ZXM8L2gzPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXJvdyI+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgc3RhdHVzPSJub3JtYWwiIGljb249Imx1Y2lkZTpzZW5kIj5Ob3JtYWw8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgc3RhdHVzPSJwZW5kaW5nIiBpY29uPSJsdWNpZGU6c2VuZCI+UGVuZGluZzwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBzdGF0dXM9InN1Y2Nlc3MiIGljb249Imx1Y2lkZTpjaGVjayI+U3VjY2VzczwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBzdGF0dXM9ImVycm9yIiBpY29uPSJsdWNpZGU6eCI+RXJyb3I8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgZGlzYWJsZWQgaWNvbj0ibHVjaWRlOnNlbmQiPkRpc2FibGVkPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5JbiBhIEZvcm0gQ29udGV4dDwvaDM+CiAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBsYWJlbD0iTmFtZSIga2V5PSJuYW1lIj48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGxhYmVsPSJFbWFpbCIga2V5PSJlbWFpbCI+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgaWNvbj0ibHVjaWRlOnNlbmQiIHR5cGU9ImhpZ2hsaWdodGVkIj5TdWJtaXQgRm9ybTwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgPC9kZWVzLWZvcm0+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBwNCxXaSxwYWUsSWY9ZigoKT0+e3FzYSgpO2xlKCk7UWUoKTtwND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sV2k9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHBhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtZm9ybS1zdWJtaXQiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXTt2YXIgQj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0Zvcm1TdWJtaXQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLHk9WyQoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sTj1bJCh7dHlwZTpTdHJpbmd9KV0sTz1bJCh7dHlwZTpTdHJpbmd9KV0scDQodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXNhYmxlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iZGlzYWJsZWQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5kaXNhYmxlZCwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmRpc2FibGVkPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbixsKSxwNCh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InRleHQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy50ZXh0LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MudGV4dD1QfSwic2V0Iil9LG1ldGFkYXRhOk19LGMscCkscDQodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0dXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InN0YXR1cyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnN0YXR1cywiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnN0YXR1cz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG0sdikscDQodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0eXBlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJ0eXBlImluIFMsImhhcyIpLGdldDpzKFM9PlMudHlwZSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnR5cGU9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLHA0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ic2l6ZSJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnNpemUsImdldCIpLHNldDpzKChTLFApPT57Uy5zaXplPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sayxDKSxwNCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imljb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+Imljb24iaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5pY29uLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuaWNvbj1QfSwic2V0Iil9LG1ldGFkYXRhOk19LF8seikscDQodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpY29uUG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+Imljb25Qb3NpdGlvbiJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmljb25Qb3NpdGlvbiwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmljb25Qb3NpdGlvbj1QfSwic2V0Iil9LG1ldGFkYXRhOk19LFQsRSkscDQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCx0KSxCPXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1zdGF0aWMgZGVtbz1Ic2E7c3RhdGljIGRlbW9Hcm91cHM9WyJGb3JtIiwiQnV0dG9uIl07I2U9V2kodGhpcyxuLCExKTtnZXQgZGlzYWJsZWQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZGlzYWJsZWQoTSl7dGhpcy4jZT1NfSN0PShXaSh0aGlzLGwpLFdpKHRoaXMsYyx2b2lkIDApKTtnZXQgdGV4dCgpe3JldHVybiB0aGlzLiN0fXNldCB0ZXh0KE0pe3RoaXMuI3Q9TX0jYT0oV2kodGhpcyxwKSxXaSh0aGlzLG0sIm5vcm1hbCIpKTtnZXQgc3RhdHVzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHN0YXR1cyhNKXt0aGlzLiNhPU19I3I9KFdpKHRoaXMsdiksV2kodGhpcyxiLCJkZWZhdWx0IikpO2dldCB0eXBlKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHR5cGUoTSl7dGhpcy4jcj1NfSNzPShXaSh0aGlzLGcpLFdpKHRoaXMsaywiZGVmYXVsdCIpKTtnZXQgc2l6ZSgpe3JldHVybiB0aGlzLiNzfXNldCBzaXplKE0pe3RoaXMuI3M9TX0jaT0oV2kodGhpcyxDKSxXaSh0aGlzLF8sdm9pZCAwKSk7Z2V0IGljb24oKXtyZXR1cm4gdGhpcy4jaX1zZXQgaWNvbihNKXt0aGlzLiNpPU19I289KFdpKHRoaXMseiksV2kodGhpcyxULCJsZWZ0IikpO2dldCBpY29uUG9zaXRpb24oKXtyZXR1cm4gdGhpcy4jb31zZXQgaWNvblBvc2l0aW9uKE0pe3RoaXMuI289TX1jb25zdHJ1Y3Rvcigpe3N1cGVyKCksV2kodGhpcyxFKX1zdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQogICAgICBkZWVzLWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGVlcy1idXR0b24KICAgICAgICAuc3RhdHVzPSR7dGhpcy5zdGF0dXN9CiAgICAgICAgLnR5cGU9JHt0aGlzLnR5cGV9CiAgICAgICAgLnNpemU9JHt0aGlzLnNpemV9CiAgICAgICAgLmljb249JHt0aGlzLmljb259CiAgICAgICAgLmljb25Qb3NpdGlvbj0ke3RoaXMuaWNvblBvc2l0aW9ufQogICAgICAgIC50ZXh0PSR7dGhpcy50ZXh0fQogICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9CiAgICAgICAgQGNsaWNrZWQ9JHt0aGlzLnN1Ym1pdH0KICAgICAgPjwvZGVlcy1idXR0b24+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2lmKCF0aGlzLnRleHQpe2xldCBNPXRoaXMudGV4dENvbnRlbnQ/LnRyaW0oKTtNJiYodGhpcy50ZXh0PU0pfX1hc3luYyBzdWJtaXQoKXtpZih0aGlzLmRpc2FibGVkKXJldHVybjtsZXQgTT10aGlzLmNsb3Nlc3QoImRlZXMtZm9ybSIpO00mJk0uZ2F0aGVyQW5kRGlzcGF0Y2gmJk0uZ2F0aGVyQW5kRGlzcGF0Y2goKX1hc3luYyBmb2N1cygpe2xldCBNPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlO3RoaXMuZGlzYWJsZWR8fChhd2FpdCBNLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMCksdGhpcy5zdWJtaXQoKSl9c3RhdGlje1dpKHIsdCl9fTtyZXR1cm4gQj1yfSkoKX0pO3ZhciBWc2EsanNhPWYoKCk9PntsZSgpO05hKCk7VXMoKTtwbSgpO0lmKCk7VnNhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgJHtYYAogICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgfQogICAgICAKICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQogICAgICAKICAgICAgZGVlcy1wYW5lbDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CiAgICAgIAogICAgICAuaG9yaXpvbnRhbC1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH0KICAgICAgCiAgICAgIC5zcGFjZXIgewogICAgICAgIGhlaWdodDogMjAwcHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGNvbG9yOiAjOTk5OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtZHJvcGRvd25bbGFiZWw9IlNlbGVjdCBDb3VudHJ5Il0nKSx0PWEucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC1kcm9wZG93bltsYWJlbD0iU2VsZWN0IFJvbGUiXScpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0ZWRPcHRpb24iLChyPT57Y29uc29sZS5sb2coIkNvdW50cnkgc2VsZWN0ZWQ6IixyLmRldGFpbCl9KSksdCYmdC5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3RlZE9wdGlvbiIsKHI9Pntjb25zb2xlLmxvZygiUm9sZSBzZWxlY3RlZDoiLHIuZGV0YWlsKX0pKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMS4gQmFzaWMgRHJvcGRvd25zIn0gLnN1YnRpdGxlPSR7IlN0YW5kYXJkIGRyb3Bkb3duIHdpdGggc2VhcmNoIGZ1bmN0aW9uYWxpdHkgYW5kIHZhcmlvdXMgb3B0aW9ucyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICAubGFiZWw9JHsiU2VsZWN0IENvdW50cnkifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQ2hvb3NlIHRoZSBjb3VudHJ5IHdoZXJlIHlvdXIgYnVzaW5lc3MgaXMgcmVnaXN0ZXJlZCJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IlVuaXRlZCBTdGF0ZXMiLGtleToidXMifSx7b3B0aW9uOiJDYW5hZGEiLGtleToiY2EifSx7b3B0aW9uOiJHZXJtYW55IixrZXk6ImRlIn0se29wdGlvbjoiRnJhbmNlIixrZXk6ImZyIn0se29wdGlvbjoiVW5pdGVkIEtpbmdkb20iLGtleToidWsifSx7b3B0aW9uOiJBdXN0cmFsaWEiLGtleToiYXUifSx7b3B0aW9uOiJKYXBhbiIsa2V5OiJqcCJ9LHtvcHRpb246IkJyYXppbCIsa2V5OiJiciJ9XX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7e29wdGlvbjoiVW5pdGVkIFN0YXRlcyIsa2V5OiJ1cyJ9fQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICAubGFiZWw9JHsiU2VsZWN0IFJvbGUifQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJBZG1pbmlzdHJhdG9yIixrZXk6ImFkbWluIn0se29wdGlvbjoiRWRpdG9yIixrZXk6ImVkaXRvciJ9LHtvcHRpb246IlZpZXdlciIsa2V5OiJ2aWV3ZXIifSx7b3B0aW9uOiJHdWVzdCIsa2V5OiJndWVzdCJ9XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1kcm9wZG93biIpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0ZWRPcHRpb24iLCh0PT57Y29uc29sZS5sb2coYFByaW9yaXR5IGNoYW5nZWQgdG86ICR7dC5kZXRhaWwub3B0aW9ufWApfSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIyLiBXaXRob3V0IFNlYXJjaCJ9IC5zdWJ0aXRsZT0keyJEcm9wZG93biB3aXRoIHNlYXJjaCBmdW5jdGlvbmFsaXR5IGRpc2FibGVkIGZvciBzaW1wbGVyIHNlbGVjdGlvbiJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAubGFiZWw9JHsiUHJpb3JpdHkgTGV2ZWwifQogICAgICAgICAgLmVuYWJsZVNlYXJjaD0keyExfQogICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiSGlnaCIsa2V5OiJoaWdoIn0se29wdGlvbjoiTWVkaXVtIixrZXk6Im1lZGl1bSJ9LHtvcHRpb246IkxvdyIsa2V5OiJsb3cifV19CiAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHt7b3B0aW9uOiJNZWRpdW0iLGtleToibWVkaXVtIn19CiAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57YS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWlucHV0LWRyb3Bkb3duIikuZm9yRWFjaCh0PT57dC5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3RlZE9wdGlvbiIsKHI9PntsZXQgaT10LmdldEF0dHJpYnV0ZSgibGFiZWwiKTtjb25zb2xlLmxvZyhgJHtpfTogJHtyLmRldGFpbC5vcHRpb259YCl9KSl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMy4gSG9yaXpvbnRhbCBMYXlvdXQifSAuc3VidGl0bGU9JHsiTXVsdGlwbGUgZHJvcGRvd25zIGluIGEgaG9yaXpvbnRhbCBsYXlvdXQgZm9yIGNvbXBhY3QgZm9ybXMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1ncm91cCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkRlcGFydG1lbnQifQogICAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkVuZ2luZWVyaW5nIixrZXk6ImVuZyJ9LHtvcHRpb246IkRlc2lnbiIsa2V5OiJkZXNpZ24ifSx7b3B0aW9uOiJNYXJrZXRpbmciLGtleToibWFya2V0aW5nIn0se29wdGlvbjoiU2FsZXMiLGtleToic2FsZXMifV19CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICAgIC5sYWJlbD0keyJUZWFtIFNpemUifQogICAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAgIC5lbmFibGVTZWFyY2g9JHshMX0KICAgICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiIxLTUiLGtleToic21hbGwifSx7b3B0aW9uOiI2LTIwIixrZXk6Im1lZGl1bSJ9LHtvcHRpb246IjIxLTUwIixrZXk6ImxhcmdlIn0se29wdGlvbjoiNTArIixrZXk6InhsYXJnZSJ9XX0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkxvY2F0aW9uIn0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJSZW1vdGUiLGtleToicmVtb3RlIn0se29wdGlvbjoiT24tc2l0ZSIsa2V5OiJvbnNpdGUifSx7b3B0aW9uOiJIeWJyaWQiLGtleToiaHlicmlkIn1dfQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1kcm9wZG93bltyZXF1aXJlZF0iKTtlJiZlLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57Y29uc29sZS5sb2coIlJlcXVpcmVkIGRyb3Bkb3duIGxvc3QgZm9jdXMiKX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI0LiBTdGF0ZXMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IHN0YXRlcyBhbmQgY29uZmlndXJhdGlvbnMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLmxhYmVsPSR7IlJlcXVpcmVkIEZpZWxkIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246Ik9wdGlvbiBBIixrZXk6ImEifSx7b3B0aW9uOiJPcHRpb24gQiIsa2V5OiJiIn0se29wdGlvbjoiT3B0aW9uIEMiLGtleToiYyJ9XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CgogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLmxhYmVsPSR7IkRpc2FibGVkIERyb3Bkb3duIn0KICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkNhbm5vdCBTZWxlY3QiLGtleToiZGlzYWJsZWQifV19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0ke3tvcHRpb246IkNhbm5vdCBTZWxlY3QiLGtleToiZGlzYWJsZWQifX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRpdiBjbGFzcz0ic3BhY2VyIj4KICAgICAgKFNwYWNlciB0byB0ZXN0IGRyb3Bkb3duIHBvc2l0aW9uaW5nKQogICAgPC9kaXY+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZHJvcGRvd24iKTtlJiZlLmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGVkT3B0aW9uIiwodD0+e2NvbnNvbGUubG9nKCJCb3R0b20gZHJvcGRvd24gc2VsZWN0ZWQ6Iix0LmRldGFpbCl9KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjUuIEJvdHRvbSBQb3NpdGlvbmluZyJ9IC5zdWJ0aXRsZT0keyJEcm9wZG93biB0aGF0IG9wZW5zIHVwd2FyZCB3aGVuIG5lYXIgYm90dG9tIG9mIHZpZXdwb3J0In0+CiAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgIC5sYWJlbD0keyJPcGVucyBVcHdhcmQifQogICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiRmlyc3QgT3B0aW9uIixrZXk6ImZpcnN0In0se29wdGlvbjoiU2Vjb25kIE9wdGlvbiIsa2V5OiJzZWNvbmQifSx7b3B0aW9uOiJUaGlyZCBPcHRpb24iLGtleToidGhpcmQifSx7b3B0aW9uOiJGb3VydGggT3B0aW9uIixrZXk6ImZvdXJ0aCJ9LHtvcHRpb246IkZpZnRoIE9wdGlvbiIsa2V5OiJmaWZ0aCJ9XX0KICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1kcm9wZG93biIpLHQ9YS5xdWVyeVNlbGVjdG9yKCIjc2VsZWN0aW9uLW91dHB1dCIpO2UmJnQmJih0LmlubmVySFRNTD0iPGVtPlNlbGVjdCBhIHByb2R1Y3QgdG8gc2VlIGRldGFpbHMuLi48L2VtPiIsZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLChyPT57ci5kZXRhaWwudmFsdWUmJih0LmlubmVySFRNTD1gCiAgICAgICAgICAgICAgPHN0cm9uZz5TZWxlY3RlZDo8L3N0cm9uZz4gJHtyLmRldGFpbC52YWx1ZS5vcHRpb259PGJyPgogICAgICAgICAgICAgIDxzdHJvbmc+S2V5Ojwvc3Ryb25nPiAke3IuZGV0YWlsLnZhbHVlLmtleX08YnI+CiAgICAgICAgICAgICAgPHN0cm9uZz5QcmljZTo8L3N0cm9uZz4gJCR7ci5kZXRhaWwudmFsdWUucGF5bG9hZD8ucHJpY2V8fCJOL0EifTxicj4KICAgICAgICAgICAgICA8c3Ryb25nPkZlYXR1cmVzOjwvc3Ryb25nPiAke3IuZGV0YWlsLnZhbHVlLnBheWxvYWQ/LmZlYXR1cmVzPy5qb2luKCIsICIpfHwiTi9BIn0KICAgICAgICAgICAgYCl9KSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI2LiBFdmVudCBIYW5kbGluZyAmIFBheWxvYWQifSAuc3VidGl0bGU9JHsiRHJvcGRvd24gd2l0aCBwYXlsb2FkIGRhdGEgYW5kIGNoYW5nZSBldmVudCBoYW5kbGluZyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAubGFiZWw9JHsiU2VsZWN0IFByb2R1Y3QifQogICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiQmFzaWMgUGxhbiIsa2V5OiJiYXNpYyIscGF5bG9hZDp7cHJpY2U6OS45OSxmZWF0dXJlczpbIkZlYXR1cmUgQSJdfX0se29wdGlvbjoiUHJvIFBsYW4iLGtleToicHJvIixwYXlsb2FkOntwcmljZToxOS45OSxmZWF0dXJlczpbIkZlYXR1cmUgQSIsIkZlYXR1cmUgQiJdfX0se29wdGlvbjoiRW50ZXJwcmlzZSBQbGFuIixrZXk6ImVudGVycHJpc2UiLHBheWxvYWQ6e3ByaWNlOjQ5Ljk5LGZlYXR1cmVzOlsiRmVhdHVyZSBBIiwiRmVhdHVyZSBCIiwiRmVhdHVyZSBDIl19fV19CiAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAKICAgICAgICA8ZGl2IGlkPSJzZWxlY3Rpb24tb3V0cHV0IiBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsgcGFkZGluZzogMTJweDsgYmFja2dyb3VuZDogcmdiYSgwLCAxMDUsIDI0MiwgMC4xKTsgYm9yZGVyLXJhZGl1czogNHB4OyBmb250LXNpemU6IDE0cHg7Ij48L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpLHQ9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LWRyb3Bkb3duW2tleT0icHJvamVjdFR5cGUiXScpLHI9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LWRyb3Bkb3duW2tleT0iZnJhbWV3b3JrIl0nKTtlJiZlLmFkZEV2ZW50TGlzdGVuZXIoImZvcm1EYXRhIiwoaT0+e2NvbnNvbGUubG9nKCJGb3JtIHN1Ym1pdHRlZCB3aXRoIGRhdGE6IixpLmRldGFpbC5kYXRhKX0pKSx0JiZyJiZ0LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGVkT3B0aW9uIiwoaT0+e2xldCBvPWkuZGV0YWlsLmtleTtjb25zb2xlLmxvZyhgUHJvamVjdCB0eXBlIGNoYW5nZWQgdG86ICR7b31gKX0pKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNy4gRm9ybSBJbnRlZ3JhdGlvbiJ9IC5zdWJ0aXRsZT0keyJEcm9wZG93biB3b3JraW5nIHdpdGhpbiBhIGZvcm0gd2l0aCB2YWxpZGF0aW9uIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgIC5sYWJlbD0keyJQcm9qZWN0IFR5cGUifQogICAgICAgICAgICAua2V5PSR7InByb2plY3RUeXBlIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IldlYiBBcHBsaWNhdGlvbiIsa2V5OiJ3ZWIifSx7b3B0aW9uOiJNb2JpbGUgQXBwbGljYXRpb24iLGtleToibW9iaWxlIn0se29wdGlvbjoiRGVza3RvcCBBcHBsaWNhdGlvbiIsa2V5OiJkZXNrdG9wIn0se29wdGlvbjoiQVBJIFNlcnZpY2UiLGtleToiYXBpIn1dfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLmxhYmVsPSR7IkRldmVsb3BtZW50IEZyYW1ld29yayJ9CiAgICAgICAgICAgIC5rZXk9JHsiZnJhbWV3b3JrIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IlJlYWN0IixrZXk6InJlYWN0IixwYXlsb2FkOnt0eXBlOiJ3ZWIifX0se29wdGlvbjoiVnVlLmpzIixrZXk6InZ1ZSIscGF5bG9hZDp7dHlwZToid2ViIn19LHtvcHRpb246IkFuZ3VsYXIiLGtleToiYW5ndWxhciIscGF5bG9hZDp7dHlwZToid2ViIn19LHtvcHRpb246IlJlYWN0IE5hdGl2ZSIsa2V5OiJyZWFjdC1uYXRpdmUiLHBheWxvYWQ6e3R5cGU6Im1vYmlsZSJ9fSx7b3B0aW9uOiJGbHV0dGVyIixrZXk6ImZsdXR0ZXIiLHBheWxvYWQ6e3R5cGU6Im1vYmlsZSJ9fSx7b3B0aW9uOiJFbGVjdHJvbiIsa2V5OiJlbGVjdHJvbiIscGF5bG9hZDp7dHlwZToiZGVza3RvcCJ9fV19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCAudGV4dD0keyJDcmVhdGUgUHJvamVjdCJ9PjwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIEExLFFyLGZhZSxqWWU9ZigoKT0+e2xlKCk7ZWEoKTtVaSgpO2ZzKCk7UWUoKTtNMSgpO0ExPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxRcj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sZmFlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pbnB1dC1kcm9wZG93bi1wb3B1cCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdLFAsQT1bXSxGPVtdLFcsaj1bXSxHPVtdO3ZhciBoZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0RHJvcGRvd25Qb3B1cCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBSPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpCb29sZWFufSldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx4PVskKHthdHRyaWJ1dGU6ITF9KV0seT1bJCh7YXR0cmlidXRlOiExfSldLE49W0soKV0sTz1bSygpXSxCPVtLKCldLFA9W0soKV0sVz1bSygpXSxBMSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9wdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+Im9wdGlvbnMiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5vcHRpb25zLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLm9wdGlvbnM9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sbixsKSxBMSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVuYWJsZVNlYXJjaCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4iZW5hYmxlU2VhcmNoImluIFUsImhhcyIpLGdldDpzKFU9PlUuZW5hYmxlU2VhcmNoLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLmVuYWJsZVNlYXJjaD1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxjLHApLEExKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3BlbnNUb1RvcCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4ib3BlbnNUb1RvcCJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLm9wZW5zVG9Ub3AsImdldCIpLHNldDpzKChVLG1lKT0+e1Uub3BlbnNUb1RvcD1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxtLHYpLEExKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidHJpZ2dlclJlY3QiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InRyaWdnZXJSZWN0ImluIFUsImhhcyIpLGdldDpzKFU9PlUudHJpZ2dlclJlY3QsImdldCIpLHNldDpzKChVLG1lKT0+e1UudHJpZ2dlclJlY3Q9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sYixnKSxBMSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im93bmVyQ29tcG9uZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJvd25lckNvbXBvbmVudCJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLm93bmVyQ29tcG9uZW50LCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLm93bmVyQ29tcG9uZW50PW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGssQyksQTEodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWx0ZXJlZE9wdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+ImZpbHRlcmVkT3B0aW9ucyJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLmZpbHRlcmVkT3B0aW9ucywiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5maWx0ZXJlZE9wdGlvbnM9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sXyx6KSxBMSh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhpZ2hsaWdodGVkSW5kZXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+ImhpZ2hsaWdodGVkSW5kZXgiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5oaWdobGlnaHRlZEluZGV4LCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLmhpZ2hsaWdodGVkSW5kZXg9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sVCxFKSxBMSh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlYXJjaFZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJzZWFyY2hWYWx1ZSJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnNlYXJjaFZhbHVlLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnNlYXJjaFZhbHVlPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LE0sUyksQTEodGhpcyxudWxsLFAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW51WkluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJtZW51WkluZGV4ImluIFUsImhhcyIpLGdldDpzKFU9PlUubWVudVpJbmRleCwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5tZW51WkluZGV4PW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LEEsRiksQTEodGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJ2aXNpYmxlImluIFUsImhhcyIpLGdldDpzKFU9PlUudmlzaWJsZSwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS52aXNpYmxlPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGosRyksQTEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Un0sbnVsbCx0KSxoZT1yPWUudmFsdWUsUiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpSfSl9I2U9UXIodGhpcyxuLFtdKTtnZXQgb3B0aW9ucygpe3JldHVybiB0aGlzLiNlfXNldCBvcHRpb25zKFIpe3RoaXMuI2U9Un0jdD0oUXIodGhpcyxsKSxRcih0aGlzLGMsITApKTtnZXQgZW5hYmxlU2VhcmNoKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGVuYWJsZVNlYXJjaChSKXt0aGlzLiN0PVJ9I2E9KFFyKHRoaXMscCksUXIodGhpcyxtLCExKSk7Z2V0IG9wZW5zVG9Ub3AoKXtyZXR1cm4gdGhpcy4jYX1zZXQgb3BlbnNUb1RvcChSKXt0aGlzLiNhPVJ9I3I9KFFyKHRoaXMsdiksUXIodGhpcyxiLG51bGwpKTtnZXQgdHJpZ2dlclJlY3QoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdHJpZ2dlclJlY3QoUil7dGhpcy4jcj1SfSNzPShRcih0aGlzLGcpLFFyKHRoaXMsayxudWxsKSk7Z2V0IG93bmVyQ29tcG9uZW50KCl7cmV0dXJuIHRoaXMuI3N9c2V0IG93bmVyQ29tcG9uZW50KFIpe3RoaXMuI3M9Un0jaT0oUXIodGhpcyxDKSxRcih0aGlzLF8sW10pKTtnZXQgZmlsdGVyZWRPcHRpb25zKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGZpbHRlcmVkT3B0aW9ucyhSKXt0aGlzLiNpPVJ9I289KFFyKHRoaXMseiksUXIodGhpcyxULDApKTtnZXQgaGlnaGxpZ2h0ZWRJbmRleCgpe3JldHVybiB0aGlzLiNvfXNldCBoaWdobGlnaHRlZEluZGV4KFIpe3RoaXMuI289Un0jbj0oUXIodGhpcyxFKSxRcih0aGlzLE0sIiIpKTtnZXQgc2VhcmNoVmFsdWUoKXtyZXR1cm4gdGhpcy4jbn1zZXQgc2VhcmNoVmFsdWUoUil7dGhpcy4jbj1SfSNsPShRcih0aGlzLFMpLFFyKHRoaXMsQSwxZTMpKTtnZXQgbWVudVpJbmRleCgpe3JldHVybiB0aGlzLiNsfXNldCBtZW51WkluZGV4KFIpe3RoaXMuI2w9Un0jYz0oUXIodGhpcyxGKSxRcih0aGlzLGosITEpKTtnZXQgdmlzaWJsZSgpe3JldHVybiB0aGlzLiNjfXNldCB2aXNpYmxlKFIpe3RoaXMuI2M9Un13aW5kb3dMYXllcj0oUXIodGhpcyxHKSxudWxsKTtpc0Rlc3Ryb3lpbmc9ITE7c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgd2lkdGg6IDA7CiAgICAgICAgaGVpZ2h0OiAwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICB9CgogICAgICAqIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuc2VsZWN0aW9uQm94IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KSBzY2FsZSgwLjk4KTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAzLjklKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IGhzbCgwIDAlIDAlIC8gMC4xKSwgMCAycHggNHB4IC0ycHggaHNsKDAgMCUgMCUgLyAwLjEpOwogICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7CiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5zZWxlY3Rpb25Cb3gudG9wIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KSBzY2FsZSgwLjk4KTsKICAgICAgfQoKICAgICAgLnNlbGVjdGlvbkJveC5zaG93IHsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLm9wdGlvbnMtY29udGFpbmVyIHsKICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgfQoKICAgICAgLm9wdGlvbiB7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG1hcmdpbjogMnB4IDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICB9CgogICAgICAub3B0aW9uLmhpZ2hsaWdodGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICB9CgogICAgICAub3B0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgfQoKICAgICAgLm5vLW9wdGlvbnMgewogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQoKICAgICAgLnNlYXJjaCB7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQoKICAgICAgLnNlYXJjaCBpbnB1dCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDAgOHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiBpbmhlcml0OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuc2VhcmNoIGlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA2My45JSkiLCJoc2woMCAwJSA0NS4xJSkiKX07CiAgICAgIH0KCiAgICAgIC5zZWFyY2ggaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICB9CgogICAgICAub3B0aW9ucy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogOHB4OwogICAgICB9CgogICAgICAub3B0aW9ucy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLm9wdGlvbnMtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIH0KCiAgICAgIC5vcHRpb25zLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2lmKCF0aGlzLnRyaWdnZXJSZWN0KXJldHVybiB3YGA7bGV0IFI9dGhpcy5jb21wdXRlUG9zaXRpb25TdHlsZSgpO3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9InNlbGVjdGlvbkJveCAke3RoaXMudmlzaWJsZT8ic2hvdyI6IiJ9ICR7dGhpcy5vcGVuc1RvVG9wPyJ0b3AiOiJib3R0b20ifSIKICAgICAgICBzdHlsZT0iJHtSfTsgei1pbmRleDogJHt0aGlzLm1lbnVaSW5kZXh9OyIKICAgICAgPgogICAgICAgICR7dGhpcy5lbmFibGVTZWFyY2g/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWFyY2giPgogICAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJTZWFyY2ggb3B0aW9ucy4uLiIKICAgICAgICAgICAgICAgICAgLnZhbHVlPSIke3RoaXMuc2VhcmNoVmFsdWV9IgogICAgICAgICAgICAgICAgICBAaW5wdXQ9IiR7dGhpcy5oYW5kbGVTZWFyY2h9IgogICAgICAgICAgICAgICAgICBAY2xpY2s9IiR7VT0+VS5zdG9wUHJvcGFnYXRpb24oKX0iCiAgICAgICAgICAgICAgICAgIEBrZXlkb3duPSIke3RoaXMuaGFuZGxlU2VhcmNoS2V5ZG93bn0iCiAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOm51bGx9CiAgICAgICAgPGRpdiBjbGFzcz0ib3B0aW9ucy1jb250YWluZXIiPgogICAgICAgICAgJHt0aGlzLmZpbHRlcmVkT3B0aW9ucy5sZW5ndGg9PT0wP3dgPGRpdiBjbGFzcz0ibm8tb3B0aW9ucyI+Tm8gb3B0aW9ucyBmb3VuZDwvZGl2PmA6dGhpcy5maWx0ZXJlZE9wdGlvbnMubWFwKChVLG1lKT0+e2xldCBJPXRoaXMuaGlnaGxpZ2h0ZWRJbmRleD09PW1lO3JldHVybiB3YAogICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wdGlvbiAke0k/ImhpZ2hsaWdodGVkIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSIkeygpPT50aGlzLnNlbGVjdE9wdGlvbihVKX0iCiAgICAgICAgICAgICAgICAgICAgQG1vdXNlZW50ZXI9IiR7KCk9PnRoaXMuaGlnaGxpZ2h0ZWRJbmRleD1tZX0iCiAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAke1Uub3B0aW9ufQogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGB9KX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWNvbXB1dGVQb3NpdGlvblN0eWxlKCl7bGV0IFI9dGhpcy50cmlnZ2VyUmVjdCxVPVIubGVmdCxtZT1SLndpZHRoO2lmKHRoaXMub3BlbnNUb1RvcCl7bGV0IEk9d2luZG93LmlubmVySGVpZ2h0LVIudG9wKzQ7cmV0dXJuYGxlZnQ6ICR7VX1weDsgd2lkdGg6ICR7bWV9cHg7IGJvdHRvbTogJHtJfXB4OyB0b3A6IGF1dG9gfWVsc2V7bGV0IEk9Ui5ib3R0b20rNDtyZXR1cm5gbGVmdDogJHtVfXB4OyB3aWR0aDogJHttZX1weDsgdG9wOiAke0l9cHhgfX1hc3luYyBzaG93KCl7dGhpcy5maWx0ZXJlZE9wdGlvbnM9dGhpcy5vcHRpb25zLHRoaXMuaGlnaGxpZ2h0ZWRJbmRleD0wLHRoaXMuc2VhcmNoVmFsdWU9IiIsdGhpcy53aW5kb3dMYXllcj1hd2FpdCBqcy5jcmVhdGVBbmRTaG93KCksdGhpcy53aW5kb3dMYXllci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjbG9zZS1yZXF1ZXN0IikpfSksdGhpcy5tZW51WkluZGV4PVp0LmdldE5leHRaSW5kZXgoKSxadC5yZWdpc3Rlcih0aGlzLHRoaXMubWVudVpJbmRleCksdGhpcy5zdHlsZS56SW5kZXg9dGhpcy5tZW51WkluZGV4LnRvU3RyaW5nKCksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzKSxhd2FpdCBIdC5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLHRoaXMudmlzaWJsZT0hMCx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLmhhbmRsZVNjcm9sbE9yUmVzaXplLHtjYXB0dXJlOiEwLHBhc3NpdmU6ITB9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLmhhbmRsZVNjcm9sbE9yUmVzaXplLHtwYXNzaXZlOiEwfSl9YXN5bmMgaGlkZSgpe3RoaXMuaXNEZXN0cm95aW5nfHwodGhpcy5pc0Rlc3Ryb3lpbmc9ITAsd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5oYW5kbGVTY3JvbGxPclJlc2l6ZSx7Y2FwdHVyZTohMH0pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuaGFuZGxlU2Nyb2xsT3JSZXNpemUpLFp0LnVucmVnaXN0ZXIodGhpcyksdGhpcy5zZWFyY2hWYWx1ZT0iIix0aGlzLmZpbHRlcmVkT3B0aW9ucz10aGlzLm9wdGlvbnMsdGhpcy5oaWdobGlnaHRlZEluZGV4PTAsdGhpcy53aW5kb3dMYXllciYmKHRoaXMud2luZG93TGF5ZXIuZGVzdHJveSgpLHRoaXMud2luZG93TGF5ZXI9bnVsbCksdGhpcy52aXNpYmxlPSExLGF3YWl0IEh0LnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMTUwKSx0aGlzLnBhcmVudEVsZW1lbnQmJnRoaXMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzKSx0aGlzLmlzRGVzdHJveWluZz0hMSl9YXN5bmMgZm9jdXNTZWFyY2hJbnB1dCgpe2F3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7bGV0IFI9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5zZWFyY2ggaW5wdXQiKTtSJiZSLmZvY3VzKCl9dXBkYXRlT3B0aW9ucyhSKXtpZih0aGlzLm9wdGlvbnM9Uix0aGlzLnNlYXJjaFZhbHVlKXtsZXQgVT10aGlzLnNlYXJjaFZhbHVlLnRvTG93ZXJDYXNlKCk7dGhpcy5maWx0ZXJlZE9wdGlvbnM9dGhpcy5vcHRpb25zLmZpbHRlcihtZT0+bWUub3B0aW9uLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoVSkpfWVsc2UgdGhpcy5maWx0ZXJlZE9wdGlvbnM9dGhpcy5vcHRpb25zO3RoaXMuaGlnaGxpZ2h0ZWRJbmRleD0wfXNlbGVjdE9wdGlvbihSKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJvcHRpb24tc2VsZWN0ZWQiLHtkZXRhaWw6Un0pKX1oYW5kbGVTZWFyY2g9cyhSPT57bGV0IFU9Ui50YXJnZXQudmFsdWU7dGhpcy5zZWFyY2hWYWx1ZT1VO2xldCBtZT1VLnRvTG93ZXJDYXNlKCk7dGhpcy5maWx0ZXJlZE9wdGlvbnM9dGhpcy5vcHRpb25zLmZpbHRlcihJPT5JLm9wdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG1lKSksdGhpcy5oaWdobGlnaHRlZEluZGV4PTB9LCJoYW5kbGVTZWFyY2giKTtoYW5kbGVTZWFyY2hLZXlkb3duPXMoUj0+e2xldCBVPVIua2V5LG1lPXRoaXMuZmlsdGVyZWRPcHRpb25zLmxlbmd0aC0xO1U9PT0iQXJyb3dEb3duIj8oUi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaGlnaGxpZ2h0ZWRJbmRleD10aGlzLmhpZ2hsaWdodGVkSW5kZXgrMT5tZT8wOnRoaXMuaGlnaGxpZ2h0ZWRJbmRleCsxKTpVPT09IkFycm93VXAiPyhSLnByZXZlbnREZWZhdWx0KCksdGhpcy5oaWdobGlnaHRlZEluZGV4PXRoaXMuaGlnaGxpZ2h0ZWRJbmRleC0xPDA/bWU6dGhpcy5oaWdobGlnaHRlZEluZGV4LTEpOlU9PT0iRW50ZXIiPyhSLnByZXZlbnREZWZhdWx0KCksdGhpcy5maWx0ZXJlZE9wdGlvbnNbdGhpcy5oaWdobGlnaHRlZEluZGV4XSYmdGhpcy5zZWxlY3RPcHRpb24odGhpcy5maWx0ZXJlZE9wdGlvbnNbdGhpcy5oaWdobGlnaHRlZEluZGV4XSkpOlU9PT0iRXNjYXBlIiYmKFIucHJldmVudERlZmF1bHQoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjbG9zZS1yZXF1ZXN0IikpKX0sImhhbmRsZVNlYXJjaEtleWRvd24iKTtoYW5kbGVTY3JvbGxPclJlc2l6ZT1zKCgpPT57dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicmVwb3NpdGlvbi1yZXF1ZXN0IikpfSwiaGFuZGxlU2Nyb2xsT3JSZXNpemUiKTthc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5oYW5kbGVTY3JvbGxPclJlc2l6ZSx7Y2FwdHVyZTohMH0pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuaGFuZGxlU2Nyb2xsT3JSZXNpemUpLFp0LnVucmVnaXN0ZXIodGhpcyl9c3RhdGlje1FyKHIsdCl9fTtyZXR1cm4gaGU9cn0pKCl9KTt2YXIgZm0sRTEsaGFlLG1hZT1mKCgpPT57bGUoKTtqc2EoKTtTcigpO2ZzKCk7UWUoKTtqWWUoKTtmbT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sRTE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGhhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtZHJvcGRvd24iKV0sZSx0PVtdLHIsaT13dCxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXTt2YXIgTj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0RHJvcGRvd24iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKCldLGQ9WyQoKV0sdT1bJCh7dHlwZTpCb29sZWFufSldLHg9WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLHk9W0soKV0sZm0odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcHRpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJvcHRpb25zImluIHosImhhcyIpLGdldDpzKHo9Pnoub3B0aW9ucywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6Lm9wdGlvbnM9T30sInNldCIpfSxtZXRhZGF0YTpffSxuLGwpLGZtKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRPcHRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNlbGVjdGVkT3B0aW9uImluIHosImhhcyIpLGdldDpzKHo9Pnouc2VsZWN0ZWRPcHRpb24sImdldCIpLHNldDpzKCh6LE8pPT57ei5zZWxlY3RlZE9wdGlvbj1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGMscCksZm0odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbmFibGVTZWFyY2giLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImVuYWJsZVNlYXJjaCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmVuYWJsZVNlYXJjaCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmVuYWJsZVNlYXJjaD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG0sdiksZm0odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aW50ZWdyYXRlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4idmludGVncmF0ZWQiaW4geiwiaGFzIiksZ2V0OnMoej0+ei52aW50ZWdyYXRlZCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnZpbnRlZ3JhdGVkPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYixnKSxmbSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzT3BlbmVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJpc09wZW5lZCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmlzT3BlbmVkLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouaXNPcGVuZWQ9T30sInNldCIpfSxtZXRhZGF0YTpffSxrLEMpLGZtKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsdCksTj1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89VnNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT1FMSh0aGlzLG4sW10pO2dldCBvcHRpb25zKCl7cmV0dXJuIHRoaXMuI2V9c2V0IG9wdGlvbnMoXyl7dGhpcy4jZT1ffSN0PShFMSh0aGlzLGwpLEUxKHRoaXMsYyxudWxsKSk7Z2V0IHNlbGVjdGVkT3B0aW9uKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlbGVjdGVkT3B0aW9uKF8pe3RoaXMuI3Q9X31nZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy5zZWxlY3RlZE9wdGlvbn1zZXQgdmFsdWUoXyl7dGhpcy5zZWxlY3RlZE9wdGlvbj1ffSNhPShFMSh0aGlzLHApLEUxKHRoaXMsbSwhMCkpO2dldCBlbmFibGVTZWFyY2goKXtyZXR1cm4gdGhpcy4jYX1zZXQgZW5hYmxlU2VhcmNoKF8pe3RoaXMuI2E9X30jcj0oRTEodGhpcyx2KSxFMSh0aGlzLGIsITEpKTtnZXQgdmludGVncmF0ZWQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdmludGVncmF0ZWQoXyl7dGhpcy4jcj1ffSNzPShFMSh0aGlzLGcpLEUxKHRoaXMsaywhMSkpO2dldCBpc09wZW5lZCgpe3JldHVybiB0aGlzLiNzfXNldCBpc09wZW5lZChfKXt0aGlzLiNzPV99cG9wdXBJbnN0YW5jZT0oRTEodGhpcyxDKSxudWxsKTtzdGF0aWMgc3R5bGVzPVtFZSwuLi53dC5iYXNlU3R5bGVzLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAqIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICA6aG9zdCB7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7cGF9OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAuc2VsZWN0ZWRCb3ggewogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7CiAgICAgICAgcGFkZGluZzogMCA0MHB4IDAgMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5zZWxlY3RlZEJveDpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNzkuOCUpIiwiaHNsKDAgMCUgMjAuOSUpIil9OwogICAgICB9CgogICAgICAuc2VsZWN0ZWRCb3g6Zm9jdXMtdmlzaWJsZSB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSAvIDAuMSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAuc2VsZWN0ZWRCb3guZGlzYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUpIiwiaHNsKDAgMCUgNDUuMSUpIil9OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAvKiBEcm9wZG93biBhcnJvdyAqLwogICAgICAuc2VsZWN0ZWRCb3g6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDEycHg7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIGhlaWdodDogMDsKICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuc2VsZWN0ZWRCb3gub3Blbjo6YWZ0ZXIgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTsKICAgICAgfQoKICAgICAgLyogVmlzdWFsbHkgaW50ZWdyYXRlZCBtb2RlOiBzaGVkIGNocm9tZSB0byBibGVuZCBpbnRvIGEgaG9zdCBjb21wb25lbnQKICAgICAgICAgKGUuZy4gYSBkZWVzLXRhYmxlIGNlbGwgaW4gZWRpdCBtb2RlKS4gKi8KICAgICAgOmhvc3QoW3ZpbnRlZ3JhdGVkXSkgZGVlcy1sYWJlbCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgICA6aG9zdChbdmludGVncmF0ZWRdKSAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICB9CiAgICAgIDpob3N0KFt2aW50ZWdyYXRlZF0pIC5zZWxlY3RlZEJveCB7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4OwogICAgICAgIHBhZGRpbmc6IDAgMzJweCAwIDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiAwOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsKICAgICAgfQogICAgICA6aG9zdChbdmludGVncmF0ZWRdKSAuc2VsZWN0ZWRCb3g6aG92ZXI6bm90KC5kaXNhYmxlZCksCiAgICAgIDpob3N0KFt2aW50ZWdyYXRlZF0pIC5zZWxlY3RlZEJveDpmb2N1cy12aXNpYmxlIHsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQogICAgICA6aG9zdChbdmludGVncmF0ZWRdKSAuc2VsZWN0ZWRCb3g6OmFmdGVyIHsKICAgICAgICByaWdodDogMTJweDsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAuaW5mb1RleHQ9JHt0aGlzLmluZm9UZXh0fSAucmVxdWlyZWQ9JHt0aGlzLnJlcXVpcmVkfT48L2RlZXMtbGFiZWw+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2CiAgICAgICAgICAgIGNsYXNzPSJzZWxlY3RlZEJveCAke3RoaXMuaXNPcGVuZWQ/Im9wZW4iOiIifSAke3RoaXMuZGlzYWJsZWQ/ImRpc2FibGVkIjoiIn0iCiAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+IXRoaXMuZGlzYWJsZWQmJnRoaXMudG9nZ2xlU2VsZWN0aW9uQm94KCl9IgogICAgICAgICAgICB0YWJpbmRleD0iJHt0aGlzLmRpc2FibGVkPyItMSI6IjAifSIKICAgICAgICAgICAgQGtleWRvd249IiR7dGhpcy5oYW5kbGVTZWxlY3RlZEJveEtleWRvd259IgogICAgICAgICAgPgogICAgICAgICAgICAke3RoaXMuc2VsZWN0ZWRPcHRpb24/Lm9wdGlvbnx8IlNlbGVjdCBhbiBvcHRpb24ifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnJlbmRlckRlc2NyaXB0aW9uKCl9CiAgICAgIDwvZGl2PgogICAgYH1maXJzdFVwZGF0ZWQoKXt0aGlzLnNlbGVjdGVkT3B0aW9uPXRoaXMuc2VsZWN0ZWRPcHRpb258fG51bGx9dXBkYXRlZChfKXtzdXBlci51cGRhdGVkKF8pLF8uaGFzKCJvcHRpb25zIikmJnRoaXMucG9wdXBJbnN0YW5jZSYmdGhpcy5pc09wZW5lZCYmdGhpcy5wb3B1cEluc3RhbmNlLnVwZGF0ZU9wdGlvbnModGhpcy5vcHRpb25zKX1hc3luYyB1cGRhdGVTZWxlY3Rpb24oXyl7dGhpcy5zZWxlY3RlZE9wdGlvbj1fLHRoaXMuY2xvc2VQb3B1cCgpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlbGVjdGVkT3B0aW9uIix7ZGV0YWlsOl8sYnViYmxlczohMH0pKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX1hc3luYyB0b2dnbGVTZWxlY3Rpb25Cb3goKXtpZih0aGlzLmlzT3BlbmVkKXt0aGlzLmNsb3NlUG9wdXAoKTtyZXR1cm59dGhpcy5pc09wZW5lZD0hMDtsZXQgej10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnNlbGVjdGVkQm94IikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksTz13aW5kb3cuaW5uZXJIZWlnaHQtei5ib3R0b20sVD16LnRvcCxFPU88MzAwJiZUPk87dGhpcy5wb3B1cEluc3RhbmNlfHwodGhpcy5wb3B1cEluc3RhbmNlPW5ldyBmYWUpLHRoaXMucG9wdXBJbnN0YW5jZS5vcHRpb25zPXRoaXMub3B0aW9ucyx0aGlzLnBvcHVwSW5zdGFuY2UuZW5hYmxlU2VhcmNoPXRoaXMuZW5hYmxlU2VhcmNoLHRoaXMucG9wdXBJbnN0YW5jZS5vcGVuc1RvVG9wPUUsdGhpcy5wb3B1cEluc3RhbmNlLnRyaWdnZXJSZWN0PXosdGhpcy5wb3B1cEluc3RhbmNlLm93bmVyQ29tcG9uZW50PXRoaXMsdGhpcy5wb3B1cEluc3RhbmNlLmFkZEV2ZW50TGlzdGVuZXIoIm9wdGlvbi1zZWxlY3RlZCIsdGhpcy5oYW5kbGVPcHRpb25TZWxlY3RlZCksdGhpcy5wb3B1cEluc3RhbmNlLmFkZEV2ZW50TGlzdGVuZXIoImNsb3NlLXJlcXVlc3QiLHRoaXMuaGFuZGxlQ2xvc2VSZXF1ZXN0KSx0aGlzLnBvcHVwSW5zdGFuY2UuYWRkRXZlbnRMaXN0ZW5lcigicmVwb3NpdGlvbi1yZXF1ZXN0Iix0aGlzLmhhbmRsZVJlcG9zaXRpb25SZXF1ZXN0KSxhd2FpdCB0aGlzLnBvcHVwSW5zdGFuY2Uuc2hvdygpLHRoaXMuZW5hYmxlU2VhcmNoJiZhd2FpdCB0aGlzLnBvcHVwSW5zdGFuY2UuZm9jdXNTZWFyY2hJbnB1dCgpfWNsb3NlUG9wdXAoKXt0aGlzLmlzT3BlbmVkPSExLHRoaXMucG9wdXBJbnN0YW5jZSYmKHRoaXMucG9wdXBJbnN0YW5jZS5yZW1vdmVFdmVudExpc3RlbmVyKCJvcHRpb24tc2VsZWN0ZWQiLHRoaXMuaGFuZGxlT3B0aW9uU2VsZWN0ZWQpLHRoaXMucG9wdXBJbnN0YW5jZS5yZW1vdmVFdmVudExpc3RlbmVyKCJjbG9zZS1yZXF1ZXN0Iix0aGlzLmhhbmRsZUNsb3NlUmVxdWVzdCksdGhpcy5wb3B1cEluc3RhbmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlcG9zaXRpb24tcmVxdWVzdCIsdGhpcy5oYW5kbGVSZXBvc2l0aW9uUmVxdWVzdCksdGhpcy5wb3B1cEluc3RhbmNlLmhpZGUoKSl9aGFuZGxlT3B0aW9uU2VsZWN0ZWQ9cyhfPT57bGV0IHo9Xy5kZXRhaWw7dGhpcy51cGRhdGVTZWxlY3Rpb24oeil9LCJoYW5kbGVPcHRpb25TZWxlY3RlZCIpO2hhbmRsZUNsb3NlUmVxdWVzdD1zKCgpPT57dGhpcy5jbG9zZVBvcHVwKCl9LCJoYW5kbGVDbG9zZVJlcXVlc3QiKTtoYW5kbGVSZXBvc2l0aW9uUmVxdWVzdD1zKCgpPT57aWYoIXRoaXMucG9wdXBJbnN0YW5jZXx8IXRoaXMuaXNPcGVuZWQpcmV0dXJuO2xldCBfPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuc2VsZWN0ZWRCb3giKTtpZighXylyZXR1cm47bGV0IHo9Xy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZih6LmJvdHRvbTwwfHx6LnRvcD53aW5kb3cuaW5uZXJIZWlnaHQpe3RoaXMuY2xvc2VQb3B1cCgpO3JldHVybn1sZXQgTz13aW5kb3cuaW5uZXJIZWlnaHQtei5ib3R0b20sVD16LnRvcDt0aGlzLnBvcHVwSW5zdGFuY2Uub3BlbnNUb1RvcD1PPDMwMCYmVD5PLHRoaXMucG9wdXBJbnN0YW5jZS50cmlnZ2VyUmVjdD16fSwiaGFuZGxlUmVwb3NpdGlvblJlcXVlc3QiKTtoYW5kbGVTZWxlY3RlZEJveEtleWRvd24oXyl7dGhpcy5kaXNhYmxlZHx8KF8ua2V5PT09IkVudGVyInx8Xy5rZXk9PT0iICI/KF8ucHJldmVudERlZmF1bHQoKSx0aGlzLnRvZ2dsZVNlbGVjdGlvbkJveCgpKTpfLmtleT09PSJBcnJvd0Rvd24ifHxfLmtleT09PSJBcnJvd1VwIj8oXy5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaXNPcGVuZWR8fHRoaXMudG9nZ2xlU2VsZWN0aW9uQm94KCkpOl8ua2V5PT09IkVzY2FwZSImJihfLnByZXZlbnREZWZhdWx0KCksdGhpcy5pc09wZW5lZCYmdGhpcy5jbG9zZVBvcHVwKCkpKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnNlbGVjdGVkT3B0aW9ufXNldFZhbHVlKF8pe3RoaXMuc2VsZWN0ZWRPcHRpb249X31hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5wb3B1cEluc3RhbmNlJiYodGhpcy5wb3B1cEluc3RhbmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9wdGlvbi1zZWxlY3RlZCIsdGhpcy5oYW5kbGVPcHRpb25TZWxlY3RlZCksdGhpcy5wb3B1cEluc3RhbmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsb3NlLXJlcXVlc3QiLHRoaXMuaGFuZGxlQ2xvc2VSZXF1ZXN0KSx0aGlzLnBvcHVwSW5zdGFuY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVwb3NpdGlvbi1yZXF1ZXN0Iix0aGlzLmhhbmRsZVJlcG9zaXRpb25SZXF1ZXN0KSx0aGlzLnBvcHVwSW5zdGFuY2UuaGlkZSgpLHRoaXMucG9wdXBJbnN0YW5jZT1udWxsKX1zdGF0aWN7RTEocix0KX19O3JldHVybiBOPXJ9KSgpfSk7dmFyIFVzYSxXc2E9ZigoKT0+e2xlKCk7VVllKCk7VXMoKTtVc2E9cygoKT0+d2AKICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgIDxzdHlsZT4KICAgICAgJHtYYAogICAgICAgIC5kZW1vLXNoZWxsIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAzMnB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIG1heC13aWR0aDogMTE2MHB4OwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQoKICAgICAgICAuZGVtby1ncmlkIHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHsKICAgICAgICAgIC5kZW1vLWdyaWQtLXR3byB7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC5kZW1vLXN0YWNrIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAxOHB4OwogICAgICAgIH0KCiAgICAgICAgLmRlbW8tbm90ZSB7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNyA5MSUgOTAlKSIsImhzbCgyMTUgMjAlIDI2JSkiKX07CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMyAxMDAlIDk3JSkiLCJoc2woMjE1IDIwJSAxMiUpIil9OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDI1JSAzMiUpIiwiaHNsKDIxNSAyMCUgODIlKSIpfTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU1OwogICAgICAgIH0KCiAgICAgICAgLmRlbW8tbm90ZSBzdHJvbmcgewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3IDkxJSA0NSUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNoZWxsIj4KICAgICAgPGRlZXMtcGFuZWwKICAgICAgICAudGl0bGU9JHsiTW9kZXJuIGZpbGUgdXBsb2FkZXIifQogICAgICAgIC5zdWJ0aXRsZT0keyJTaGFkY24taW5zcGlyZWQgbGF5b3V0IHdpdGggZHJhZyAmIGRyb3AsIHByZXZpZXdzIGFuZCB2YWxpZGF0aW9uIn0KICAgICAgPgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLWdyaWQgZGVtby1ncmlkLS10d28iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLXN0YWNrIj4KICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC1maWxldXBsb2FkCiAgICAgICAgICAgICAgICAubGFiZWw9JHsiQXR0YWNobWVudHMifQogICAgICAgICAgICAgICAgLmluZm9UZXh0PSR7IlVwbG9hZCBzdXBwb3J0aW5nIGRvY3VtZW50cyBmb3IgeW91ciByZXF1ZXN0In0KICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJBY2NlcHRlZCBmb3JtYXRzOiBpbWFnZXMsIFBERiwgYW5kIFpJUCBhcmNoaXZlcyB1cCB0byAxME1CIn0KICAgICAgICAgICAgICAgIC5hY2NlcHQ9JHsiaW1hZ2UvKiwucGRmLC56aXAifQogICAgICAgICAgICAgICAgLm1heFNpemU9JHsxMCoxMDI0KjEwMjR9CiAgICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1maWxldXBsb2FkPgoKICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC1maWxldXBsb2FkCiAgICAgICAgICAgICAgICAubGFiZWw9JHsiQnJhbmQgYXNzZXRzIn0KICAgICAgICAgICAgICAgIC5pbmZvVGV4dD0keyJVcGxvYWQgaGlnaC1yZXNvbHV0aW9uIGltYWdlcnkgKEpQRy9QTkcpIn0KICAgICAgICAgICAgICAgIC5hY2NlcHQ9JHsiaW1hZ2UvanBlZyxpbWFnZS9wbmcifQogICAgICAgICAgICAgICAgLm11bHRpcGxlPSR7ITF9CiAgICAgICAgICAgICAgICAubWF4U2l6ZT0kezUqMTAyNCoxMDI0fQogICAgICAgICAgICAgICAgLmJ1dHRvblRleHQ9JHsiU2VsZWN0IGNvdmVyIGltYWdlIn0KICAgICAgICAgICAgICA+PC9kZWVzLWlucHV0LWZpbGV1cGxvYWQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1zdGFjayI+CiAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtZmlsZXVwbG9hZAogICAgICAgICAgICAgICAgLmxhYmVsPSR7IkF1ZGlvIHVwbG9hZHMifQogICAgICAgICAgICAgICAgLmluZm9UZXh0PSR7IlNoYXJlIHBvZGNhc3QgZHJhZnRzIChNUDMvV0FWLCBtYXggMjVNQiBlYWNoKSJ9CiAgICAgICAgICAgICAgICAuYWNjZXB0PSR7ImF1ZGlvLyoifQogICAgICAgICAgICAgICAgLm1heFNpemU9JHsyNSoxMDI0KjEwMjR9CiAgICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1maWxldXBsb2FkPgoKICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC1maWxldXBsb2FkCiAgICAgICAgICAgICAgICAubGFiZWw9JHsiRGlzYWJsZWQgZXhhbXBsZSJ9CiAgICAgICAgICAgICAgICAuaW5mb1RleHQ9JHsiVXBsb2FkZXIgaXMgZGlzYWJsZWQgd2hpbGUgbW9kZXJhdGlvbiBpcyBwZW5kaW5nIn0KICAgICAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZmlsZXVwbG9hZD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwKICAgICAgICAudGl0bGU9JHsiRm9ybSBpbnRlZ3JhdGlvbiJ9CiAgICAgICAgLnN1YnRpdGxlPSR7IkNvbWJpbmUgZmlsZSB1cGxvYWRzIHdpdGggdGhlIHJlc3Qgb2YgdGhlIERFRVMgZm9ybSBlY29zeXN0ZW0ifQogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1ncmlkIj4KICAgICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAgICAgLmxhYmVsPSR7IlByb2plY3QgbmFtZSJ9CiAgICAgICAgICAgICAgICAuaW5mb1RleHQ9JHsiSG93IHNob3VsZCB3ZSByZWZlciB0byB0aGlzIHByb2plY3QgaW50ZXJuYWxseT8ifQogICAgICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgICAgICAua2V5PSR7InByb2plY3ROYW1lIn0KICAgICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgICAgIC5sYWJlbD0keyJDb250YWN0IGVtYWlsIn0KICAgICAgICAgICAgICAgIC5pbnB1dFR5cGU9JHsiZW1haWwifQogICAgICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgICAgICAua2V5PSR7ImNvbnRhY3RFbWFpbCJ9CiAgICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgoKICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC1maWxldXBsb2FkCiAgICAgICAgICAgICAgICAubGFiZWw9JHsiU3RhdGVtZW50IG9mIHdvcmsifQogICAgICAgICAgICAgICAgLmluZm9UZXh0PSR7IlVwbG9hZCBhIHNpZ25lZCBzdGF0ZW1lbnQgb2Ygd29yayAoUERGLCBtYXggMTVNQikifQogICAgICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgICAgICAuYWNjZXB0PSR7ImFwcGxpY2F0aW9uL3BkZiJ9CiAgICAgICAgICAgICAgICAubWF4U2l6ZT0kezE1KjEwMjQqMTAyNH0KICAgICAgICAgICAgICAgIC5tdWx0aXBsZT0keyExfQogICAgICAgICAgICAgICAgLmtleT0keyJzb3cifQogICAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZmlsZXVwbG9hZD4KCiAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtZmlsZXVwbG9hZAogICAgICAgICAgICAgICAgLmxhYmVsPSR7IkNyZWF0aXZlIHJlZmVyZW5jZXMifQogICAgICAgICAgICAgICAgLmluZm9UZXh0PSR7Ik9wdGlvbmFsLiBVcGxvYWQgdXAgdG8gZml2ZSB2aXN1YWwgcmVmZXJlbmNlcyJ9CiAgICAgICAgICAgICAgICAuYWNjZXB0PSR7ImltYWdlLyoifQogICAgICAgICAgICAgICAgLm1heEZpbGVzPSR7NX0KICAgICAgICAgICAgICAgIC5tYXhTaXplPSR7OCoxMDI0KjEwMjR9CiAgICAgICAgICAgICAgICAua2V5PSR7InJlZmVyZW5jZXMifQogICAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZmlsZXVwbG9hZD4KCiAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAgICAgLmxhYmVsPSR7Ik5vdGVzIn0KICAgICAgICAgICAgICAgIC5pbmZvVGV4dD0keyJBZGQgb3B0aW9uYWwgY29udGV4dCBmb3IgcmV2aWV3ZXJzIn0KICAgICAgICAgICAgICAgIC5pbnB1dFR5cGU9JHsidGV4dGFyZWEifQogICAgICAgICAgICAgICAgLmtleT0keyJub3RlcyJ9CiAgICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgoKICAgICAgICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCAudGV4dD0keyJTdWJtaXQgYnJpZWZpbmcifT48L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgICA8L2RlZXMtZm9ybT4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLW5vdGUiPgogICAgICAgICAgICA8c3Ryb25nPkdvb2QgdG8ga25vdzo8L3N0cm9uZz4KICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgIDxsaT5EcmFnICYgZHJvcCBoaWdobGlnaHRzIHRoZSBkcm9wem9uZSBhbmQgc3VwcG9ydHMga2V5Ym9hcmQgYWN0aXZhdGlvbi48L2xpPgogICAgICAgICAgICAgIDxsaT5BY2NlcHRlZCBmaWxlIHR5cGVzIGFyZSBzdW1tYXJpc2VkIGF1dG9tYXRpY2FsbHkgZnJvbSB0aGUgPGNvZGU+YWNjZXB0PC9jb2RlPiBhdHRyaWJ1dGUuPC9saT4KICAgICAgICAgICAgICA8bGk+SW1hZ2UgdXBsb2FkcyBzaG93IGxpdmUgcHJldmlld3MgZ2VuZXJhdGVkIHZpYSA8Y29kZT5VUkwuY3JlYXRlT2JqZWN0VVJMPC9jb2RlPi48L2xpPgogICAgICAgICAgICAgIDxsaT5GaWxlIHNpemUgYW5kIGZpbGUtY291bnQgbGltaXRzIHN1cmZhY2UgaW5saW5lIHZhbGlkYXRpb24gbWVzc2FnZXMuPC9saT4KICAgICAgICAgICAgICA8bGk+VGhlIGNvbXBvbmVudCBzdGF5cyBjb21wYXRpYmxlIHdpdGggPGNvZGU+ZGVlcy1mb3JtPC9jb2RlPiB2YWx1ZSBhY2Nlc3NvcnMuPC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgR3NhLFlzYT1mKCgpPT57bGUoKTtTcigpO1FlKCk7R3NhPVtFZSwuLi53dC5iYXNlU3R5bGVzLGguZGVmYXVsdFN0eWxlcyxYYAogICAgOmhvc3QgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgfQoKICAgIC5pbnB1dC13cmFwcGVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAxMnB4OwogICAgfQoKICAgIC8qIOKUgOKUgCBUaWxlIGludGVncmF0aW9uIOKUgOKUgCAqLwogICAgZGVlcy10aWxlIHsKICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgfQoKICAgIGRlZXMtdGlsZTpob3Zlcjo6cGFydChvdXRlcikgewogICAgICBib3JkZXItY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CiAgICB9CgogICAgZGVlcy10aWxlLmRyYWdvdmVyOjpwYXJ0KG91dGVyKSB7CiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZGVlcy1jb2xvci1hY2NlbnQtcHJpbWFyeSk7CiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke2guYmRUaGVtZSgiaHNsKDIxNyA5MSUgNjAlIC8gMC4xNSkiLCJoc2woMjEzIDkzJSA2OCUgLyAwLjE1KSIpfTsKICAgIH0KCiAgICA6aG9zdChbZGlzYWJsZWRdKSBkZWVzLXRpbGUgewogICAgICBvcGFjaXR5OiAwLjY7CiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgfQoKICAgIC8qIOKUgOKUgCBIZWFkZXIgc2xvdDogc2xlZWsgdG9vbGJhciDilIDilIAgKi8KICAgIC5kcm9wem9uZS1oZWFkZXIgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBnYXA6IDhweDsKICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICB9CgogICAgLmRyb3B6b25lLWhlYWRlciBkZWVzLWljb24gewogICAgICB3aWR0aDogMTRweDsKICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgIH0KCiAgICAuZHJvcHpvbmUtbG9hZGVyIHsKICAgICAgd2lkdGg6IDE0cHg7CiAgICAgIGhlaWdodDogMTRweDsKICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMtZnVsbCk7CiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCJyZ2JhKDE1LCAyMywgNDIsIDAuMTUpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSIpfTsKICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tZGVlcy1jb2xvci1hY2NlbnQtcHJpbWFyeSk7CiAgICAgIGFuaW1hdGlvbjogbG9hZGVyLXNwaW4gMC42cyBsaW5lYXIgaW5maW5pdGU7CiAgICB9CgogICAgLmRyb3B6b25lLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgIH0KCiAgICAuZHJvcHpvbmUtYnJvd3NlIHsKICAgICAgYXBwZWFyYW5jZTogbm9uZTsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgICBwYWRkaW5nOiAwOwogICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci1hY2NlbnQtcHJpbWFyeSk7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIH0KCiAgICAuZHJvcHpvbmUtYnJvd3NlOmhvdmVyIHsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICB9CgogICAgLmRyb3B6b25lLWJyb3dzZTpkaXNhYmxlZCB7CiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIG9wYWNpdHk6IDAuNTsKICAgIH0KCiAgICAvKiDilIDilIAgQ29udGVudCBzbG90OiBmaWxlIGxpc3QgaW4gcm91bmRlZCBpbnNldCDilIDilIAgKi8KICAgIC5maWxlLWxpc3QtZW1wdHkgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgZ2FwOiA4cHg7CiAgICAgIHBhZGRpbmc6IDI0cHggMTZweDsKICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIH0KCiAgICAuZmlsZS1saXN0LWVtcHR5IGRlZXMtaWNvbiB7CiAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgb3BhY2l0eTogMC40OwogICAgfQoKICAgIC5maWxlLWxpc3QgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgfQoKICAgIC5maWxlLWxpc3QtaGVhZGVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgIH0KCiAgICAuZmlsZS1saXN0LWNsZWFyIHsKICAgICAgYXBwZWFyYW5jZTogbm9uZTsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci1hY2NlbnQtcHJpbWFyeSk7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICBwYWRkaW5nOiAwOwogICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgIH0KCiAgICAuZmlsZS1saXN0LWNsZWFyOmhvdmVyIHsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICB9CgogICAgLmZpbGUtcm93IHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZ2FwOiAxMnB4OwogICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1kZWVzLXRyYW5zaXRpb24tZmFzdCkgZWFzZTsKICAgIH0KCiAgICAuZmlsZS1yb3c6aG92ZXIgewogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLXJvdy1ob3Zlcik7CiAgICB9CgogICAgLmZpbGUtdGh1bWIgewogICAgICB3aWR0aDogMzJweDsKICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1kZWVzLXJhZGl1cy1zbSk7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctdGVydGlhcnkpOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgZmxleC1zaHJpbms6IDA7CiAgICB9CgogICAgLmZpbGUtdGh1bWIgZGVlcy1pY29uIHsKICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHdpZHRoOiAxNnB4OwogICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICBmbGV4LXNocmluazogMDsKICAgIH0KCiAgICAudGh1bWItaW1hZ2UgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgIH0KCiAgICAuZmlsZS1tZXRhIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAycHg7CiAgICAgIG1pbi13aWR0aDogMDsKICAgIH0KCiAgICAuZmlsZS1uYW1lIHsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgIH0KCiAgICAuZmlsZS1kZXRhaWxzIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZ2FwOiA4cHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgIH0KCiAgICAuZmlsZS1zaXplIHsKICAgICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsKICAgIH0KCiAgICAuZmlsZS10eXBlIHsKICAgICAgcGFkZGluZzogMXB4IDZweDsKICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMtZnVsbCk7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsKICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIH0KCiAgICAuZmlsZS1hY3Rpb25zIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICB9CgogICAgLnJlbW92ZS1idXR0b24gewogICAgICB3aWR0aDogMjRweDsKICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1kZWVzLXJhZGl1cy14cyk7CiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICBib3JkZXI6IG5vbmU7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZGVlcy10cmFuc2l0aW9uLWZhc3QpIGVhc2UsCiAgICAgICAgICAgICAgICAgIGNvbG9yIHZhcigtLWRlZXMtdHJhbnNpdGlvbi1mYXN0KSBlYXNlOwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgIH0KCiAgICAucmVtb3ZlLWJ1dHRvbjpob3ZlciB7CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA3MiUgNTAlIC8gMC4wOCkiLCJoc2woMCA2MiUgMzIlIC8gMC4xNSkiKX07CiAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWFjY2VudC1lcnJvcik7CiAgICB9CgogICAgLnJlbW92ZS1idXR0b246YWN0aXZlIHsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk2KTsKICAgIH0KCiAgICAucmVtb3ZlLWJ1dHRvbiBkZWVzLWljb24gewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgd2lkdGg6IDE0cHg7CiAgICAgIGhlaWdodDogMTRweDsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgZmxleC1zaHJpbms6IDA7CiAgICB9CgogICAgLyog4pSA4pSAIEZvb3RlciBzbG90OiBtZXRhIGNoaXBzIOKUgOKUgCAqLwogICAgLmRyb3B6b25lLWZvb3RlciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgZ2FwOiA2cHg7CiAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgfQoKICAgIC5tZXRhLWNoaXAgewogICAgICBmb250LXNpemU6IDExcHg7CiAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWRlZXMtcmFkaXVzLWZ1bGwpOwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy10ZXJ0aWFyeSk7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICB9CgogICAgLyog4pSA4pSAIFZhbGlkYXRpb24g4pSA4pSAICovCiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci1hY2NlbnQtZXJyb3IpOwogICAgICBsaW5lLWhlaWdodDogMS41OwogICAgfQoKICAgIEBrZXlmcmFtZXMgbG9hZGVyLXNwaW4gewogICAgICB0byB7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICAgfQogICAgfQogIGBdfSk7dmFyIFcyLFBzLGdhZSxVWWU9ZigoKT0+e1NyKCk7V3NhKCk7WXNhKCk7dmEoKTtjbSgpO1hyKCk7bGUoKTtXMj1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sUHM9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGdhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtZmlsZXVwbG9hZCIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdLFAsQT1bXSxGPVtdO3ZhciBXPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRGaWxldXBsb2FkIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGo9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7YXR0cmlidXRlOiExfSldLGQ9W0soKV0sdT1bSygpXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHt0eXBlOlN0cmluZ30pXSxOPVskKHt0eXBlOkJvb2xlYW59KV0sTz1bJCh7dHlwZTpOdW1iZXJ9KV0sQj1bJCh7dHlwZTpOdW1iZXJ9KV0sUD1bJCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSxXMih0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEc9PiJ2YWx1ZSJpbiBHLCJoYXMiKSxnZXQ6cyhHPT5HLnZhbHVlLCJnZXQiKSxzZXQ6cygoRyxoZSk9PntHLnZhbHVlPWhlfSwic2V0Iil9LG1ldGFkYXRhOmp9LG4sbCksVzIodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4ic3RhdGUiaW4gRywiaGFzIiksZ2V0OnMoRz0+Ry5zdGF0ZSwiZ2V0Iiksc2V0OnMoKEcsaGUpPT57Ry5zdGF0ZT1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxjLHApLFcyKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNMb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEc9PiJpc0xvYWRpbmciaW4gRywiaGFzIiksZ2V0OnMoRz0+Ry5pc0xvYWRpbmcsImdldCIpLHNldDpzKChHLGhlKT0+e0cuaXNMb2FkaW5nPWhlfSwic2V0Iil9LG1ldGFkYXRhOmp9LG0sdiksVzIodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJidXR0b25UZXh0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEc9PiJidXR0b25UZXh0ImluIEcsImhhcyIpLGdldDpzKEc9PkcuYnV0dG9uVGV4dCwiZ2V0Iiksc2V0OnMoKEcsaGUpPT57Ry5idXR0b25UZXh0PWhlfSwic2V0Iil9LG1ldGFkYXRhOmp9LGIsZyksVzIodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY2NlcHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRz0+ImFjY2VwdCJpbiBHLCJoYXMiKSxnZXQ6cyhHPT5HLmFjY2VwdCwiZ2V0Iiksc2V0OnMoKEcsaGUpPT57Ry5hY2NlcHQ9aGV9LCJzZXQiKX0sbWV0YWRhdGE6an0sayxDKSxXMih0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im11bHRpcGxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEc9PiJtdWx0aXBsZSJpbiBHLCJoYXMiKSxnZXQ6cyhHPT5HLm11bHRpcGxlLCJnZXQiKSxzZXQ6cygoRyxoZSk9PntHLm11bHRpcGxlPWhlfSwic2V0Iil9LG1ldGFkYXRhOmp9LF8seiksVzIodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYXhTaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEc9PiJtYXhTaXplImluIEcsImhhcyIpLGdldDpzKEc9PkcubWF4U2l6ZSwiZ2V0Iiksc2V0OnMoKEcsaGUpPT57Ry5tYXhTaXplPWhlfSwic2V0Iil9LG1ldGFkYXRhOmp9LFQsRSksVzIodGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYXhGaWxlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4ibWF4RmlsZXMiaW4gRywiaGFzIiksZ2V0OnMoRz0+Ry5tYXhGaWxlcywiZ2V0Iiksc2V0OnMoKEcsaGUpPT57Ry5tYXhGaWxlcz1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxNLFMpLFcyKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsaWRhdGlvblN0YXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEc9PiJ2YWxpZGF0aW9uU3RhdGUiaW4gRywiaGFzIiksZ2V0OnMoRz0+Ry52YWxpZGF0aW9uU3RhdGUsImdldCIpLHNldDpzKChHLGhlKT0+e0cudmFsaWRhdGlvblN0YXRlPWhlfSwic2V0Iil9LG1ldGFkYXRhOmp9LEEsRiksVzIobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6an0sbnVsbCx0KSxXPXI9ZS52YWx1ZSxqJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmp9KX1zdGF0aWMgZGVtbz1Vc2E7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPVBzKHRoaXMsbixbXSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKGope3RoaXMuI2U9an0jdD0oUHModGhpcyxsKSxQcyh0aGlzLGMsImlkbGUiKSk7Z2V0IHN0YXRlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHN0YXRlKGope3RoaXMuI3Q9an0jYT0oUHModGhpcyxwKSxQcyh0aGlzLG0sITEpKTtnZXQgaXNMb2FkaW5nKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGlzTG9hZGluZyhqKXt0aGlzLiNhPWp9I3I9KFBzKHRoaXMsdiksUHModGhpcyxiLCJTZWxlY3QgZmlsZXMiKSk7Z2V0IGJ1dHRvblRleHQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgYnV0dG9uVGV4dChqKXt0aGlzLiNyPWp9I3M9KFBzKHRoaXMsZyksUHModGhpcyxrLCIiKSk7Z2V0IGFjY2VwdCgpe3JldHVybiB0aGlzLiNzfXNldCBhY2NlcHQoail7dGhpcy4jcz1qfSNpPShQcyh0aGlzLEMpLFBzKHRoaXMsXywhMCkpO2dldCBtdWx0aXBsZSgpe3JldHVybiB0aGlzLiNpfXNldCBtdWx0aXBsZShqKXt0aGlzLiNpPWp9I289KFBzKHRoaXMseiksUHModGhpcyxULDApKTtnZXQgbWF4U2l6ZSgpe3JldHVybiB0aGlzLiNvfXNldCBtYXhTaXplKGope3RoaXMuI289an0jbj0oUHModGhpcyxFKSxQcyh0aGlzLE0sMCkpO2dldCBtYXhGaWxlcygpe3JldHVybiB0aGlzLiNufXNldCBtYXhGaWxlcyhqKXt0aGlzLiNuPWp9I2w9KFBzKHRoaXMsUyksUHModGhpcyxBLG51bGwpKTtnZXQgdmFsaWRhdGlvblN0YXRlKCl7cmV0dXJuIHRoaXMuI2x9c2V0IHZhbGlkYXRpb25TdGF0ZShqKXt0aGlzLiNsPWp9I2M9KFBzKHRoaXMsRiksIiIpO2dldCB2YWxpZGF0aW9uTWVzc2FnZSgpe3JldHVybiB0aGlzLiNjfXNldCB2YWxpZGF0aW9uTWVzc2FnZShqKXt0aGlzLiNjPWp9cHJldmlld1VybE1hcD1uZXcgV2Vha01hcDtkcm9wQXJlYT1udWxsO3N0YXRpYyBzdHlsZXM9R3NhO3JlbmRlcigpe2xldCBqPXRoaXMuZ2V0QWNjZXB0ZWRTdW1tYXJ5KCksRz1bdGhpcy5tdWx0aXBsZT8iTXVsdGlwbGUgZmlsZXMgc3VwcG9ydGVkIjoiU2luZ2xlIGZpbGUgb25seSIsdGhpcy5tYXhTaXplPjA/YE1heCAke3RoaXMuZm9ybWF0RmlsZVNpemUodGhpcy5tYXhTaXplKX1gOiJObyBzaXplIGxpbWl0Il07cmV0dXJuIGomJkcucHVzaChgQWNjZXB0cyAke2p9YCksd2AKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgPGRlZXMtbGFiZWwKICAgICAgICAgIC5sYWJlbD0ke3RoaXMubGFiZWx9CiAgICAgICAgICAuaW5mb1RleHQ9JHt0aGlzLmluZm9UZXh0fQogICAgICAgICAgLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0KICAgICAgICA+PC9kZWVzLWxhYmVsPgogICAgICAgIDxkZWVzLXRpbGUKICAgICAgICAgIGNsYXNzPSIke3RoaXMuc3RhdGU9PT0iZHJhZ092ZXIiPyJkcmFnb3ZlciI6IiJ9IgogICAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVEcm9wem9uZUNsaWNrfQogICAgICAgICAgQGtleWRvd249JHt0aGlzLmhhbmRsZURyb3B6b25lS2V5ZG93bn0KICAgICAgICAgIHRhYmluZGV4PSR7dGhpcy5kaXNhYmxlZD8tMTowfQogICAgICAgICAgYXJpYS1kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9CiAgICAgICAgICBhcmlhLWxhYmVsPSR7YFNlbGVjdCBmaWxlcyR7aj9gICgke2p9KWA6IiJ9YH0KICAgICAgICA+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgY2xhc3M9ImZpbGUtaW5wdXQiCiAgICAgICAgICAgIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IG9wYWNpdHk6IDA7IHBvaW50ZXItZXZlbnRzOiBub25lOyB3aWR0aDogMXB4OyBoZWlnaHQ6IDFweDsgdG9wOiAwOyBsZWZ0OiAwOyBvdmVyZmxvdzogaGlkZGVuOyIKICAgICAgICAgICAgdHlwZT0iZmlsZSIKICAgICAgICAgICAgP211bHRpcGxlPSR7dGhpcy5tdWx0aXBsZX0KICAgICAgICAgICAgYWNjZXB0PSR7dGhpcy5hY2NlcHR8fCIifQogICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfQogICAgICAgICAgICBAY2hhbmdlPSR7dGhpcy5oYW5kbGVGaWxlSW5wdXRDaGFuZ2V9CiAgICAgICAgICAgIHRhYmluZGV4PSItMSIKICAgICAgICAgIC8+CiAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImRyb3B6b25lLWhlYWRlciI+CiAgICAgICAgICAgICR7dGhpcy5pc0xvYWRpbmc/d2A8c3BhbiBjbGFzcz0iZHJvcHpvbmUtbG9hZGVyIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPmA6d2A8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpVcGxvYWQiPjwvZGVlcy1pY29uPmB9CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wem9uZS10aXRsZSI+RHJvcCBmaWxlcyBoZXJlIG9yPC9zcGFuPgogICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgdHlwZT0iYnV0dG9uIgogICAgICAgICAgICAgIGNsYXNzPSJkcm9wem9uZS1icm93c2UiCiAgICAgICAgICAgICAgQGNsaWNrPSR7aGU9PntoZS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLm9wZW5GaWxlU2VsZWN0b3IoKX19CiAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH0KICAgICAgICAgICAgPmJyb3dzZTwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAke3RoaXMucmVuZGVyRmlsZUxpc3QoKX0KICAgICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0iZHJvcHpvbmUtZm9vdGVyIj4KICAgICAgICAgICAgJHtHLm1hcChoZT0+d2A8c3BhbiBjbGFzcz0ibWV0YS1jaGlwIj4ke2hlfTwvc3Bhbj5gKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGVlcy10aWxlPgogICAgICAgICR7dGhpcy52YWxpZGF0aW9uTWVzc2FnZT93YDxkaXYgY2xhc3M9InZhbGlkYXRpb24tbWVzc2FnZSIgYXJpYS1saXZlPSJwb2xpdGUiPiR7dGhpcy52YWxpZGF0aW9uTWVzc2FnZX08L2Rpdj5gOndgYH0KICAgICAgICAke3RoaXMucmVuZGVyRGVzY3JpcHRpb24oKX0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckZpbGVMaXN0KCl7cmV0dXJuIHRoaXMudmFsdWUubGVuZ3RoPT09MD93YAogICAgICAgIDxkaXYgY2xhc3M9ImZpbGUtbGlzdC1lbXB0eSI+CiAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpGaWxlU3RhY2siPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+Tm8gZmlsZXMgc2VsZWN0ZWQ8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6d2AKICAgICAgPGRpdiBjbGFzcz0iZmlsZS1saXN0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLWxpc3QtaGVhZGVyIj4KICAgICAgICAgIDxzcGFuPiR7dGhpcy52YWx1ZS5sZW5ndGh9IGZpbGUke3RoaXMudmFsdWUubGVuZ3RoPT09MT8iIjoicyJ9IHNlbGVjdGVkPC9zcGFuPgogICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJmaWxlLWxpc3QtY2xlYXIiIEBjbGljaz0ke3RoaXMuaGFuZGxlQ2xlYXJBbGx9PkNsZWFyICR7dGhpcy52YWx1ZS5sZW5ndGg+MT8iYWxsIjoiIn08L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMudmFsdWUubWFwKGo9PnRoaXMucmVuZGVyRmlsZVJvdyhqKSl9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJGaWxlUm93KGope2xldCBHPXRoaXMuZ2V0RmlsZVR5cGUoaiksaGU9dGhpcy5jYW5TaG93UHJldmlldyhqKT90aGlzLmdldFByZXZpZXdVcmwoaik6bnVsbDtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZmlsZS1yb3cgJHtHfS1maWxlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLXRodW1iIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAke2hlP3dgPGltZyBjbGFzcz0idGh1bWItaW1hZ2UiIHNyYz0ke2hlfSBhbHQ9JHtgUHJldmlldyBvZiAke2oubmFtZX1gfT5gOndgPGRlZXMtaWNvbiBpY29uPSR7dGhpcy5nZXRGaWxlSWNvbihqKX0+PC9kZWVzLWljb24+YH0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLW1ldGEiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1uYW1lIiB0aXRsZT0ke2oubmFtZX0+JHtqLm5hbWV9PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLWRldGFpbHMiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmlsZS1zaXplIj4ke3RoaXMuZm9ybWF0RmlsZVNpemUoai5zaXplKX08L3NwYW4+CiAgICAgICAgICAgICR7RyE9PSJmaWxlIj93YDxzcGFuIGNsYXNzPSJmaWxlLXR5cGUiPiR7R308L3NwYW4+YDp3YGB9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLWFjdGlvbnMiPgogICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICB0eXBlPSJidXR0b24iCiAgICAgICAgICAgIGNsYXNzPSJyZW1vdmUtYnV0dG9uIgogICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5yZW1vdmVGaWxlKGopfQogICAgICAgICAgICBhcmlhLWxhYmVsPSR7YFJlbW92ZSAke2oubmFtZX1gfQogICAgICAgICAgPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpYIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlRmlsZUlucHV0Q2hhbmdlPXMoYXN5bmMgaj0+e3RoaXMuaXNMb2FkaW5nPSExO2xldCBHPWoudGFyZ2V0LGhlPUFycmF5LmZyb20oRy5maWxlcz8/W10pO2hlLmxlbmd0aD4wJiZhd2FpdCB0aGlzLmFkZEZpbGVzKGhlKSxHLnZhbHVlPSIifSwiaGFuZGxlRmlsZUlucHV0Q2hhbmdlIik7aGFuZGxlRHJvcHpvbmVDbGljaz1zKGo9Pnt0aGlzLmRpc2FibGVkfHxqLnRhcmdldC5jbG9zZXN0KCIuZmlsZS1saXN0LCAuZHJvcHpvbmUtaGVhZGVyLCAuZHJvcHpvbmUtZm9vdGVyIil8fHRoaXMub3BlbkZpbGVTZWxlY3RvcigpfSwiaGFuZGxlRHJvcHpvbmVDbGljayIpO2hhbmRsZURyb3B6b25lS2V5ZG93bj1zKGo9Pnt0aGlzLmRpc2FibGVkfHwoai5rZXk9PT0iRW50ZXIifHxqLmtleT09PSIgIikmJihqLnByZXZlbnREZWZhdWx0KCksdGhpcy5vcGVuRmlsZVNlbGVjdG9yKCkpfSwiaGFuZGxlRHJvcHpvbmVLZXlkb3duIik7aGFuZGxlQ2xlYXJBbGw9cyhqPT57ai5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY2xlYXJBbGwoKX0sImhhbmRsZUNsZWFyQWxsIik7aGFuZGxlRHJhZ0V2ZW50PXMoYXN5bmMgaj0+e2lmKGoucHJldmVudERlZmF1bHQoKSxqLnN0b3BQcm9wYWdhdGlvbigpLCF0aGlzLmRpc2FibGVkKXtpZihqLnR5cGU9PT0iZHJhZ2VudGVyInx8ai50eXBlPT09ImRyYWdvdmVyIil7ai5kYXRhVHJhbnNmZXImJihqLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0PSJjb3B5IiksdGhpcy5zdGF0ZT0iZHJhZ092ZXIiO3JldHVybn1pZihqLnR5cGU9PT0iZHJhZ2xlYXZlIil7aWYoIXRoaXMuZHJvcEFyZWEpe3RoaXMuc3RhdGU9ImlkbGUiO3JldHVybn1sZXQgRz10aGlzLmRyb3BBcmVhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHtjbGllbnRYOmhlPTAsY2xpZW50WTpSPTB9PWo7KGhlPD1HLmxlZnR8fGhlPj1HLnJpZ2h0fHxSPD1HLnRvcHx8Uj49Ry5ib3R0b20pJiYodGhpcy5zdGF0ZT0iaWRsZSIpO3JldHVybn1pZihqLnR5cGU9PT0iZHJvcCIpe3RoaXMuc3RhdGU9ImlkbGUiO2xldCBHPUFycmF5LmZyb20oai5kYXRhVHJhbnNmZXI/LmZpbGVzPz9bXSk7Ry5sZW5ndGg+MCYmYXdhaXQgdGhpcy5hZGRGaWxlcyhHKX19fSwiaGFuZGxlRHJhZ0V2ZW50Iik7YXR0YWNoRHJvcExpc3RlbmVycygpe3RoaXMuZHJvcEFyZWEmJlsiZHJhZ2VudGVyIiwiZHJhZ292ZXIiLCJkcmFnbGVhdmUiLCJkcm9wIl0uZm9yRWFjaChqPT57dGhpcy5kcm9wQXJlYS5hZGRFdmVudExpc3RlbmVyKGosdGhpcy5oYW5kbGVEcmFnRXZlbnQpfSl9ZGV0YWNoRHJvcExpc3RlbmVycygpe3RoaXMuZHJvcEFyZWEmJlsiZHJhZ2VudGVyIiwiZHJhZ292ZXIiLCJkcmFnbGVhdmUiLCJkcm9wIl0uZm9yRWFjaChqPT57dGhpcy5kcm9wQXJlYS5yZW1vdmVFdmVudExpc3RlbmVyKGosdGhpcy5oYW5kbGVEcmFnRXZlbnQpfSl9cmViaW5kSW50ZXJhY3RpdmVFbGVtZW50cygpe2xldCBqPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy10aWxlIik7aiE9PXRoaXMuZHJvcEFyZWEmJih0aGlzLmRldGFjaERyb3BMaXN0ZW5lcnMoKSx0aGlzLmRyb3BBcmVhPWosdGhpcy5hdHRhY2hEcm9wTGlzdGVuZXJzKCkpfWZvcm1hdEZpbGVTaXplKGope2xldCBHPVsiQnl0ZXMiLCJLQiIsIk1CIiwiR0IiXTtpZihqPT09MClyZXR1cm4iMCBCeXRlcyI7bGV0IGhlPU1hdGgubWluKE1hdGguZmxvb3IoTWF0aC5sb2coaikvTWF0aC5sb2coMTAyNCkpLEcubGVuZ3RoLTEpLFI9ai9NYXRoLnBvdygxMDI0LGhlKTtyZXR1cm5gJHtNYXRoLnJvdW5kKFIqMTAwKS8xMDB9ICR7R1toZV19YH1nZXRGaWxlVHlwZShqKXtsZXQgRz1qLnR5cGUudG9Mb3dlckNhc2UoKTtyZXR1cm4gRy5zdGFydHNXaXRoKCJpbWFnZS8iKT8iaW1hZ2UiOkc9PT0iYXBwbGljYXRpb24vcGRmIj8icGRmIjpHLmluY2x1ZGVzKCJ3b3JkIil8fEcuaW5jbHVkZXMoImRvY3VtZW50Iik/ImRvYyI6Ry5pbmNsdWRlcygic2hlZXQiKXx8Ry5pbmNsdWRlcygiZXhjZWwiKT8ic3ByZWFkc2hlZXQiOkcuaW5jbHVkZXMoInByZXNlbnRhdGlvbiIpfHxHLmluY2x1ZGVzKCJwb3dlcnBvaW50Iik/InByZXNlbnRhdGlvbiI6Ry5zdGFydHNXaXRoKCJ2aWRlby8iKT8idmlkZW8iOkcuc3RhcnRzV2l0aCgiYXVkaW8vIik/ImF1ZGlvIjpHLmluY2x1ZGVzKCJ6aXAiKXx8Ry5pbmNsdWRlcygiY29tcHJlc3NlZCIpPyJhcmNoaXZlIjoiZmlsZSJ9Z2V0RmlsZUljb24oail7bGV0IEc9dGhpcy5nZXRGaWxlVHlwZShqKTtyZXR1cm57aW1hZ2U6Imx1Y2lkZTpGaWxlSW1hZ2UiLHBkZjoibHVjaWRlOkZpbGVUZXh0Iixkb2M6Imx1Y2lkZTpGaWxlVGV4dCIsc3ByZWFkc2hlZXQ6Imx1Y2lkZTpGaWxlU3ByZWFkc2hlZXQiLHByZXNlbnRhdGlvbjoibHVjaWRlOkZpbGVCYXJDaGFydCIsdmlkZW86Imx1Y2lkZTpGaWxlVmlkZW8iLGF1ZGlvOiJsdWNpZGU6RmlsZUF1ZGlvIixhcmNoaXZlOiJsdWNpZGU6RmlsZUFyY2hpdmUiLGZpbGU6Imx1Y2lkZTpGaWxlIn1bR10/PyJsdWNpZGU6RmlsZSJ9Y2FuU2hvd1ByZXZpZXcoail7cmV0dXJuIGoudHlwZS5zdGFydHNXaXRoKCJpbWFnZS8iKSYmai5zaXplPDUqMTAyNCoxMDI0fXZhbGlkYXRlRmlsZShqKXtpZih0aGlzLm1heFNpemU+MCYmai5zaXplPnRoaXMubWF4U2l6ZSlyZXR1cm4gdGhpcy52YWxpZGF0aW9uTWVzc2FnZT1gRmlsZSAiJHtqLm5hbWV9IiBleGNlZWRzIHRoZSBtYXhpbXVtIHNpemUgb2YgJHt0aGlzLmZvcm1hdEZpbGVTaXplKHRoaXMubWF4U2l6ZSl9YCx0aGlzLnZhbGlkYXRpb25TdGF0ZT0iaW52YWxpZCIsITE7aWYodGhpcy5hY2NlcHQpe2xldCBHPXRoaXMuYWNjZXB0LnNwbGl0KCIsIikubWFwKGhlPT5oZS50cmltKCkpLmZpbHRlcihoZT0+aGUubGVuZ3RoPjApO2lmKEcubGVuZ3RoPjApe2xldCBoZT0hMTtmb3IobGV0IFIgb2YgRylpZihSLnN0YXJ0c1dpdGgoIi4iKSl7aWYoai5uYW1lLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoUi50b0xvd2VyQ2FzZSgpKSl7aGU9ITA7YnJlYWt9fWVsc2UgaWYoUi5lbmRzV2l0aCgiLyoiKSl7bGV0IFU9Ui5zbGljZSgwLC0yKTtpZihqLnR5cGUuc3RhcnRzV2l0aChVKSl7aGU9ITA7YnJlYWt9fWVsc2UgaWYoai50eXBlPT09Uil7aGU9ITA7YnJlYWt9aWYoIWhlKXJldHVybiB0aGlzLnZhbGlkYXRpb25NZXNzYWdlPWBGaWxlIHR5cGUgbm90IGFjY2VwdGVkLiBBbGxvd2VkOiAke0cuam9pbigiLCAiKX1gLHRoaXMudmFsaWRhdGlvblN0YXRlPSJpbnZhbGlkIiwhMX19cmV0dXJuITB9Z2V0UHJldmlld1VybChqKXtsZXQgRz10aGlzLnByZXZpZXdVcmxNYXAuZ2V0KGopO3JldHVybiBHfHwoRz1VUkwuY3JlYXRlT2JqZWN0VVJMKGopLHRoaXMucHJldmlld1VybE1hcC5zZXQoaixHKSksR31yZWxlYXNlUHJldmlldyhqKXtsZXQgRz10aGlzLnByZXZpZXdVcmxNYXAuZ2V0KGopO0cmJihVUkwucmV2b2tlT2JqZWN0VVJMKEcpLHRoaXMucHJldmlld1VybE1hcC5kZWxldGUoaikpfWdldEFjY2VwdGVkU3VtbWFyeSgpe2lmKCF0aGlzLmFjY2VwdClyZXR1cm4gbnVsbDtsZXQgaj1BcnJheS5mcm9tKG5ldyBTZXQodGhpcy5hY2NlcHQuc3BsaXQoIiwiKS5tYXAoRz0+Ry50cmltKCkpLmZpbHRlcihHPT5HLmxlbmd0aD4wKS5tYXAoRz0+dGhpcy5mb3JtYXRBY2NlcHRUb2tlbihHKSkpKS5maWx0ZXIoQm9vbGVhbik7cmV0dXJuIGoubGVuZ3RoPT09MD9udWxsOmoubGVuZ3RoPT09MT9qWzBdOmoubGVuZ3RoPT09Mj9gJHtqWzBdfSwgJHtqWzFdfWA6YCR7ai5zbGljZSgwLDIpLmpvaW4oIiwgIil9XHUyMDI2YH1mb3JtYXRBY2NlcHRUb2tlbihqKXtpZihqPT09IiovKiIpcmV0dXJuIkFsbCBmaWxlcyI7aWYoai5lbmRzV2l0aCgiLyoiKSl7bGV0IFI9ai5zcGxpdCgiLyIpWzBdO3JldHVybiBSP2Ake1IuY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9JHtSLnNsaWNlKDEpfSBmaWxlc2A6IkFsbCBmaWxlcyJ9cmV0dXJuIGouc3RhcnRzV2l0aCgiLiIpP2ouc2xpY2UoMSkudG9VcHBlckNhc2UoKTpqLmluY2x1ZGVzKCJwZGYiKT8iUERGIjpqLmluY2x1ZGVzKCJ6aXAiKT8iWklQIjpqLmluY2x1ZGVzKCJqc29uIik/IkpTT04iOmouaW5jbHVkZXMoIm1zd29yZCIpPyJET0MiOmouaW5jbHVkZXMoIndvcmRwcm9jZXNzaW5nbWwiKT8iRE9DWCI6ai5pbmNsdWRlcygiZXhjZWwiKT8iWExTIjpqLmluY2x1ZGVzKCJwcmVzZW50YXRpb24iKT8iUFBUIjooai5zcGxpdCgiLyIpLnBvcCgpPz9qKS50b1VwcGVyQ2FzZSgpfWF0dGFjaExpZmVjeWNsZUxpc3RlbmVycygpe3RoaXMucmViaW5kSW50ZXJhY3RpdmVFbGVtZW50cygpfWZpcnN0VXBkYXRlZChqKXtzdXBlci5maXJzdFVwZGF0ZWQoaiksdGhpcy5hdHRhY2hMaWZlY3ljbGVMaXN0ZW5lcnMoKX11cGRhdGVkKGope3N1cGVyLnVwZGF0ZWQoaiksai5oYXMoInZhbHVlIikmJnRoaXMudmFsaWRhdGUoKSx0aGlzLnJlYmluZEludGVyYWN0aXZlRWxlbWVudHMoKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMuZGV0YWNoRHJvcExpc3RlbmVycygpLHRoaXMudmFsdWUuZm9yRWFjaChqPT50aGlzLnJlbGVhc2VQcmV2aWV3KGopKSx0aGlzLnByZXZpZXdVcmxNYXA9bmV3IFdlYWtNYXAsYXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKX1hc3luYyBvcGVuRmlsZVNlbGVjdG9yKCl7aWYodGhpcy5kaXNhYmxlZHx8dGhpcy5pc0xvYWRpbmcpcmV0dXJuO3RoaXMuaXNMb2FkaW5nPSEwO2xldCBqPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmZpbGUtaW5wdXQiKTtpZighail7dGhpcy5pc0xvYWRpbmc9ITE7cmV0dXJufWxldCBHPXMoKCk9PntzZXRUaW1lb3V0KCgpPT57KCFqLmZpbGVzfHxqLmZpbGVzLmxlbmd0aD09PTApJiYodGhpcy5pc0xvYWRpbmc9ITEpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsRyl9LDMwMCl9LCJoYW5kbGVGb2N1cyIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsRyksai5jbGljaygpfXJlbW92ZUZpbGUoail7bGV0IEc9dGhpcy52YWx1ZS5pbmRleE9mKGopO0c+LTEmJih0aGlzLnJlbGVhc2VQcmV2aWV3KGopLHRoaXMudmFsdWUuc3BsaWNlKEcsMSksdGhpcy5yZXF1ZXN0VXBkYXRlKCJ2YWx1ZSIpLHRoaXMudmFsaWRhdGUoKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSl9Y2xlYXJBbGwoKXtsZXQgaj1bLi4udGhpcy52YWx1ZV07dGhpcy52YWx1ZT1bXSxqLmZvckVhY2goRz0+dGhpcy5yZWxlYXNlUHJldmlldyhHKSksdGhpcy5yZXF1ZXN0VXBkYXRlKCJ2YWx1ZSIpLHRoaXMudmFsaWRhdGUoKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSx0aGlzLmJ1dHRvblRleHQ9IlNlbGVjdCBmaWxlcyJ9YXN5bmMgdXBkYXRlVmFsdWUoail7bGV0IEc9ai50YXJnZXQ7dGhpcy52YWx1ZT1BcnJheS5mcm9tKEcuZmlsZXM/P1tdKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX1zZXRWYWx1ZShqKXt0aGlzLnZhbHVlLmZvckVhY2goRz0+dGhpcy5yZWxlYXNlUHJldmlldyhHKSksdGhpcy52YWx1ZT1qLGoubGVuZ3RoPjA/dGhpcy5idXR0b25UZXh0PXRoaXMubXVsdGlwbGU/IkFkZCBtb3JlIGZpbGVzIjoiUmVwbGFjZSBmaWxlIjp0aGlzLmJ1dHRvblRleHQ9IlNlbGVjdCBmaWxlcyIsdGhpcy5yZXF1ZXN0VXBkYXRlKCJ2YWx1ZSIpLHRoaXMudmFsaWRhdGUoKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfWFzeW5jIGFkZEZpbGVzKGope2xldCBHPVtdO2ZvcihsZXQgaGUgb2Ygail0aGlzLnZhbGlkYXRlRmlsZShoZSkmJkcucHVzaChoZSk7aWYoRy5sZW5ndGg9PT0wKXt0aGlzLmlzTG9hZGluZz0hMTtyZXR1cm59aWYodGhpcy5tYXhGaWxlcz4wJiZ0aGlzLnZhbHVlLmxlbmd0aCtHLmxlbmd0aD50aGlzLm1heEZpbGVzKXtsZXQgUj10aGlzLm1heEZpbGVzLXRoaXMudmFsdWUubGVuZ3RoO2lmKFI8PTApe3RoaXMudmFsaWRhdGlvbk1lc3NhZ2U9YE1heGltdW0gJHt0aGlzLm1heEZpbGVzfSBmaWxlcyBhbGxvd2VkYCx0aGlzLnZhbGlkYXRpb25TdGF0ZT0iaW52YWxpZCIsdGhpcy5pc0xvYWRpbmc9ITE7cmV0dXJufUcuc3BsaWNlKFIpLHRoaXMudmFsaWRhdGlvbk1lc3NhZ2U9YE9ubHkgJHtSfSBtb3JlIGZpbGUocykgY2FuIGJlIGFkZGVkYCx0aGlzLnZhbGlkYXRpb25TdGF0ZT0id2FybiJ9IXRoaXMubXVsdGlwbGUmJkcubGVuZ3RoPjA/KHRoaXMudmFsdWUuZm9yRWFjaChoZT0+dGhpcy5yZWxlYXNlUHJldmlldyhoZSkpLHRoaXMudmFsdWU9W0dbMF1dKTp0aGlzLnZhbHVlLnB1c2goLi4uRyksdGhpcy52YWxpZGF0aW9uTWVzc2FnZT0iIix0aGlzLnZhbGlkYXRpb25TdGF0ZT1udWxsLHRoaXMucmVxdWVzdFVwZGF0ZSgidmFsdWUiKSxhd2FpdCB0aGlzLnZhbGlkYXRlKCksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyksdGhpcy5pc0xvYWRpbmc9ITEsdGhpcy52YWx1ZS5sZW5ndGg+MD90aGlzLmJ1dHRvblRleHQ9dGhpcy5tdWx0aXBsZT8iQWRkIG1vcmUgZmlsZXMiOiJSZXBsYWNlIGZpbGUiOnRoaXMuYnV0dG9uVGV4dD0iU2VsZWN0IGZpbGVzIn1hc3luYyB2YWxpZGF0ZSgpe2lmKHRoaXMudmFsaWRhdGlvbk1lc3NhZ2U9IiIsdGhpcy5yZXF1aXJlZCYmdGhpcy52YWx1ZS5sZW5ndGg9PT0wKXJldHVybiB0aGlzLnZhbGlkYXRpb25TdGF0ZT0iaW52YWxpZCIsdGhpcy52YWxpZGF0aW9uTWVzc2FnZT0iUGxlYXNlIHNlbGVjdCBhdCBsZWFzdCBvbmUgZmlsZSIsITE7Zm9yKGxldCBqIG9mIHRoaXMudmFsdWUpaWYoIXRoaXMudmFsaWRhdGVGaWxlKGopKXJldHVybiExO3JldHVybiB0aGlzLnZhbGlkYXRpb25TdGF0ZT10aGlzLnZhbHVlLmxlbmd0aD4wPyJ2YWxpZCI6bnVsbCwhMH1zdGF0aWN7UHMocix0KX19O3JldHVybiBXPXJ9KSgpfSk7dmFyIFdZZT1mKCgpPT57VVllKCl9KTtmdW5jdGlvbiB2YWUoYSxlPXthbGxvd1FSSUJBTjohMH0pe2lmKGE9PW51bGwpcmV0dXJuITE7bGV0IHQ9bmV3IFJlZ0V4cCgiXlswLTldezJ9JCIsIiIpLHI9YS5zbGljZSgwLDIpLGk9RG5bcl07cmV0dXJuIGk9PT12b2lkIDB8fGkuYmJhbl9yZWdleHA9PT12b2lkIDB8fGkuYmJhbl9yZWdleHA9PT1udWxsfHxpLmNoYXJzPT09dm9pZCAwPyExOmkuY2hhcnM9PT1hLmxlbmd0aCYmdC50ZXN0KGEuc2xpY2UoMiw0KSkmJlIkYShhLnNsaWNlKDQpLHIpJiZac2EoYSkmJihlLmFsbG93UVJJQkFOfHwhS3NhKGEpKX1mdW5jdGlvbiB0T2koYSxlPXthbGxvd1FSSUJBTjohMH0pe2xldCB0PXtlcnJvckNvZGVzOltdLHZhbGlkOiEwfTtpZihhIT1udWxsJiZhIT09IiIpe2xldCByPURuW2Euc2xpY2UoMCwyKV07aWYoIXJ8fCEoci5iYmFuX3JlZ2V4cHx8ci5jaGFycykpcmV0dXJuIHQudmFsaWQ9ITEsdC5lcnJvckNvZGVzLnB1c2goUDEuTm9JQkFOQ291bnRyeSksdDtyJiZyLmNoYXJzJiZyLmNoYXJzIT09YS5sZW5ndGgmJih0LnZhbGlkPSExLHQuZXJyb3JDb2Rlcy5wdXNoKFAxLldyb25nQkJBTkxlbmd0aCkpLHImJnIuYmJhbl9yZWdleHAmJiFHWWUoYS5zbGljZSg0KSxyLmJiYW5fcmVnZXhwKSYmKHQudmFsaWQ9ITEsdC5lcnJvckNvZGVzLnB1c2goUDEuV3JvbmdCQkFORm9ybWF0KSksciYmci5iYmFuX3ZhbGlkYXRpb25fZnVuYyYmIXIuYmJhbl92YWxpZGF0aW9uX2Z1bmMoYS5zbGljZSg0KSkmJih0LnZhbGlkPSExLHQuZXJyb3JDb2Rlcy5wdXNoKFAxLldyb25nQWNjb3VudEJhbmtCcmFuY2hDaGVja3N1bSkpLG5ldyBSZWdFeHAoIl5bMC05XXsyfSQiLCIiKS50ZXN0KGEuc2xpY2UoMiw0KSl8fCh0LnZhbGlkPSExLHQuZXJyb3JDb2Rlcy5wdXNoKFAxLkNoZWNrc3VtTm90TnVtYmVyKSksKHQuZXJyb3JDb2Rlcy5pbmRleE9mKFAxLldyb25nQkJBTkZvcm1hdCkhPT0tMXx8IVpzYShhKSkmJih0LnZhbGlkPSExLHQuZXJyb3JDb2Rlcy5wdXNoKFAxLldyb25nSUJBTkNoZWNrc3VtKSksIWUuYWxsb3dRUklCQU4mJktzYShhKSYmKHQudmFsaWQ9ITEsdC5lcnJvckNvZGVzLnB1c2goUDEuUVJJQkFOTm90QWxsb3dlZCkpfWVsc2UgdC52YWxpZD0hMSx0LmVycm9yQ29kZXMucHVzaChQMS5Ob0lCQU5Qcm92aWRlZCk7cmV0dXJuIHR9ZnVuY3Rpb24gUiRhKGEsZSl7aWYoYT09bnVsbHx8ZT09PXZvaWQgMHx8ZT09PW51bGwpcmV0dXJuITE7bGV0IHQ9RG5bZV07cmV0dXJuIHQ9PW51bGx8fHQuYmJhbl9yZWdleHA9PT12b2lkIDB8fHQuYmJhbl9yZWdleHA9PT1udWxsfHx0LmNoYXJzPT09dm9pZCAwfHx0LmNoYXJzPT09bnVsbD8hMTp0LmNoYXJzLTQ9PT1hLmxlbmd0aCYmR1llKGEsdC5iYmFuX3JlZ2V4cCk/dC5iYmFuX3ZhbGlkYXRpb25fZnVuYz90LmJiYW5fdmFsaWRhdGlvbl9mdW5jKGEucmVwbGFjZSgvW1xzLl0rL2csIiIpKTohMDohMX1mdW5jdGlvbiBhT2koYSl7aWYoYSE9bnVsbCl7bGV0IGU9RG5bYV07aWYoZSE9PXZvaWQgMClyZXR1cm4gZS5TRVBBP2UuU0VQQTohMX1yZXR1cm4hMX1mdW5jdGlvbiBLc2EoYSl7aWYoYT09bnVsbClyZXR1cm4hMTtsZXQgZT1hLnNsaWNlKDAsMik7cmV0dXJuWyJMSSIsIkNIIl0uaW5jbHVkZXMoZSk/bmV3IFJlZ0V4cCgiXjNbMC0xXXsxfVswLTldezN9JCIsIiIpLnRlc3QoYS5zbGljZSg0LDkpKTohMX1mdW5jdGlvbiByT2koYSl7bGV0IGU9WVllKGEuYmJhbil8fCIiO2lmKGEuY291bnRyeUNvZGU9PT1udWxsfHxhLmNvdW50cnlDb2RlPT09dm9pZCAwKXJldHVybiBudWxsO2xldCB0PURuW2EuY291bnRyeUNvZGVdO2lmKGUhPT0iIiYmdCE9PXZvaWQgMCYmdC5jaGFycyYmdC5jaGFycyE9PW51bGwmJnQuY2hhcnM9PT1lLmxlbmd0aCs0JiZ0LmJiYW5fcmVnZXhwJiZ0LmJiYW5fcmVnZXhwIT09bnVsbCYmR1llKGUsdC5iYmFuX3JlZ2V4cCkpe2xldCByPU8kYShhLmNvdW50cnlDb2RlKyIwMCIrZSk7cmV0dXJuIGEuY291bnRyeUNvZGUrKCIwIisoOTgtcikpLnNsaWNlKC0yKStlfXJldHVybiBudWxsfWZ1bmN0aW9uIHNPaShhKXtsZXQgZT17fSx0PVlZZShhKTtpZihlLmliYW49dHx8YSx0JiZ2YWUodCkpe2UuYmJhbj10LnNsaWNlKDQpLGUuY291bnRyeUNvZGU9dC5zbGljZSgwLDIpLGUudmFsaWQ9ITA7bGV0IHI9RG5bZS5jb3VudHJ5Q29kZV07aWYoci5hY2NvdW50X2luZGVudGlmaWVyKXtsZXQgaT1yLmFjY291bnRfaW5kZW50aWZpZXIuc3BsaXQoIi0iKSxvPXBhcnNlSW50KGlbMF0pLG49cGFyc2VJbnQoaVsxXSk7ZS5hY2NvdW50TnVtYmVyPWUuaWJhbi5zbGljZShvLG4rMSl9aWYoci5iYW5rX2lkZW50aWZpZXIpe2xldCBpPXIuYmFua19pZGVudGlmaWVyLnNwbGl0KCItIiksbz1wYXJzZUludChpWzBdKSxuPXBhcnNlSW50KGlbMV0pO2UuYmFua0lkZW50aWZpZXI9ZS5iYmFuLnNsaWNlKG8sbisxKX1pZihyLmJyYW5jaF9pbmRlbnRpZmllcil7bGV0IGk9ci5icmFuY2hfaW5kZW50aWZpZXIuc3BsaXQoIi0iKSxvPXBhcnNlSW50KGlbMF0pLG49cGFyc2VJbnQoaVsxXSk7ZS5icmFuY2hJZGVudGlmaWVyPWUuYmJhbi5zbGljZShvLG4rMSl9fWVsc2UgZS52YWxpZD0hMTtyZXR1cm4gZX1mdW5jdGlvbiBHWWUoYSxlKXtyZXR1cm4gbmV3IFJlZ0V4cChlLCIiKS50ZXN0KGEpfWZ1bmN0aW9uIFlZZShhKXtyZXR1cm4gdHlwZW9mIGEhPSJzdHJpbmciP251bGw6YS5yZXBsYWNlKC9bLVwgXS9nLCIiKS50b1VwcGVyQ2FzZSgpfWZ1bmN0aW9uIEtZZShhLGUpe2lmKHR5cGVvZiBhIT0ic3RyaW5nIilyZXR1cm4gbnVsbDtlPT1udWxsJiYoZT0iICIpO2xldCB0PVlZZShhKTtyZXR1cm4gdD09PW51bGw/bnVsbDp0LnJlcGxhY2UoLyguezR9KSg/ISQpL2csIiQxIitlKX1mdW5jdGlvbiBac2EoYSl7bGV0IGU9YS5zbGljZSgwLDIpLHQ9cGFyc2VJbnQoYS5zbGljZSgyLDQpLDEwKSxyPWEuc2xpY2UoNCksaT1Yc2EoYCR7cn0ke2V9MDBgKTtyZXR1cm4gOTgtYmFlKGkpPT09dH1mdW5jdGlvbiBYc2EoYSl7cmV0dXJuIGEuc3BsaXQoIiIpLm1hcChlPT57bGV0IHQ9ZS5jaGFyQ29kZUF0KDApO3JldHVybiB0Pj02NT8odC01NSkudG9TdHJpbmcoKTplfSkuam9pbigiIil9ZnVuY3Rpb24gTyRhKGEpe3JldHVybiBiYWUoWHNhKGEuc2xpY2UoNCkrYS5zbGljZSgwLDQpKSl9ZnVuY3Rpb24gaU9pKCl7bGV0IGE9e307Zm9yKGxldCBlIGluIERuKXtsZXQgdD1EbltlXTthW2VdPXtjaGFyczp0LmNoYXJzfHxudWxsLGJiYW5fcmVnZXhwOnQuYmJhbl9yZWdleHB8fG51bGwsSUJBTlJlZ2lzdHJ5OnQuSUJBTlJlZ2lzdHJ5fHwhMSxTRVBBOnQuU0VQQXx8ITF9fXJldHVybiBhfWZ1bmN0aW9uIEYkYShhKXtpZighYSlyZXR1cm4hMTtsZXQgZT1uZXcgUmVnRXhwKCJeW2EtekEtWl17Nn1bYS16QS1aMC05XXsyfShbYS16QS1aMC05XXszfSk/JCIsIiIpLHQ9RG5bYS50b1VwcGVyQ2FzZSgpLnNsaWNlKDQsNildO3JldHVybiBlLnRlc3QoYSkmJnQhPT12b2lkIDB9ZnVuY3Rpb24gb09pKGEpe2xldCBlPXtlcnJvckNvZGVzOltdLHZhbGlkOiEwfTtyZXR1cm4gYSE9bnVsbCYmYSE9PSIiP0RuW2EudG9VcHBlckNhc2UoKS5zbGljZSg0LDYpXT09PXZvaWQgMD8oZS52YWxpZD0hMSxlLmVycm9yQ29kZXMucHVzaChPVS5Ob0JJQ0NvdW50cnkpKTpuZXcgUmVnRXhwKCJeW2EtekEtWl17Nn1bYS16QS1aMC05XXsyfShbYS16QS1aMC05XXszfSk/JCIsIiIpLnRlc3QoYSl8fChlLnZhbGlkPSExLGUuZXJyb3JDb2Rlcy5wdXNoKE9VLldyb25nQklDRm9ybWF0KSk6KGUudmFsaWQ9ITEsZS5lcnJvckNvZGVzLnB1c2goT1UuTm9CSUNQcm92aWRlZCkpLGV9ZnVuY3Rpb24gbk9pKGEpe2xldCBlPXt9LHQ9YS50b1VwcGVyQ2FzZSgpO3JldHVybiBGJGEodCk/KGUuYmFua0NvZGU9dC5zbGljZSgwLDQpLGUuY291bnRyeUNvZGU9dC5zbGljZSg0LDYpLGUubG9jYXRpb25Db2RlPXQuc2xpY2UoNiw4KSxlLnRlc3RCSUM9ZS5sb2NhdGlvbkNvZGVbMV09PT0iMCIsZS5icmFuY2hDb2RlPXQubGVuZ3RoPjg/dC5zbGljZSg4KTpudWxsLGUudmFsaWQ9ITApOmUudmFsaWQ9ITEsZX12YXIgUDEsT1UsQiRhLEgkYSxiYWUsaG0scSRhLFYkYSxRc2EsaiRhLEpzYSxVJGEsZWlhLFckYSxsT2ksRG4sdGlhPWYoKCk9PnsidXNlIHN0cmljdCI7cyh2YWUsImlzVmFsaWRJQkFOIik7KGZ1bmN0aW9uKGEpe2FbYS5Ob0lCQU5Qcm92aWRlZD0wXT0iTm9JQkFOUHJvdmlkZWQiLGFbYS5Ob0lCQU5Db3VudHJ5PTFdPSJOb0lCQU5Db3VudHJ5IixhW2EuV3JvbmdCQkFOTGVuZ3RoPTJdPSJXcm9uZ0JCQU5MZW5ndGgiLGFbYS5Xcm9uZ0JCQU5Gb3JtYXQ9M109Ildyb25nQkJBTkZvcm1hdCIsYVthLkNoZWNrc3VtTm90TnVtYmVyPTRdPSJDaGVja3N1bU5vdE51bWJlciIsYVthLldyb25nSUJBTkNoZWNrc3VtPTVdPSJXcm9uZ0lCQU5DaGVja3N1bSIsYVthLldyb25nQWNjb3VudEJhbmtCcmFuY2hDaGVja3N1bT02XT0iV3JvbmdBY2NvdW50QmFua0JyYW5jaENoZWNrc3VtIixhW2EuUVJJQkFOTm90QWxsb3dlZD03XT0iUVJJQkFOTm90QWxsb3dlZCJ9KShQMXx8KFAxPXt9KSk7cyh0T2ksInZhbGlkYXRlSUJBTiIpO3MoUiRhLCJpc1ZhbGlkQkJBTiIpO3MoYU9pLCJpc1NFUEFDb3VudHJ5Iik7cyhLc2EsImlzUVJJQkFOIik7cyhyT2ksImNvbXBvc2VJQkFOIik7cyhzT2ksImV4dHJhY3RJQkFOIik7cyhHWWUsImNoZWNrRm9ybWF0QkJBTiIpO3MoWVllLCJlbGVjdHJvbmljRm9ybWF0SUJBTiIpO3MoS1llLCJmcmllbmRseUZvcm1hdElCQU4iKTtzKFpzYSwiaXNWYWxpZElCQU5DaGVja3N1bSIpO3MoWHNhLCJyZXBsYWNlQ2hhcmF0ZXJXaXRoQ29kZSIpO3MoTyRhLCJtb2Q5NzEwSWJhbiIpO3MoaU9pLCJnZXRDb3VudHJ5U3BlY2lmaWNhdGlvbnMiKTtzKEYkYSwiaXNWYWxpZEJJQyIpOyhmdW5jdGlvbihhKXthW2EuTm9CSUNQcm92aWRlZD0wXT0iTm9CSUNQcm92aWRlZCIsYVthLk5vQklDQ291bnRyeT0xXT0iTm9CSUNDb3VudHJ5IixhW2EuV3JvbmdCSUNGb3JtYXQ9Ml09Ildyb25nQklDRm9ybWF0In0pKE9VfHwoT1U9e30pKTtzKG9PaSwidmFsaWRhdGVCSUMiKTtzKG5PaSwiZXh0cmFjdEJJQyIpO0IkYT1zKGE9PntsZXQgZT1bNSw0LDMsMiw3LDYsNSw0LDMsMl0sdD1hLnJlcGxhY2UoL1tccy5dKy9nLCIiKSxyPXBhcnNlSW50KHQuY2hhckF0KDEwKSwxMCksaT10LnN1YnN0cmluZygwLDEwKSxvPTA7Zm9yKGxldCBsPTA7bDwxMDtsKyspbys9cGFyc2VJbnQoaS5jaGFyQXQobCksMTApKmVbbF07bGV0IG49byUxMTtyZXR1cm4gcj09PShuPT09MD8wOjExLW4pfSwiY2hlY2tOb3J3YXlCQkFOIiksSCRhPXMoYT0+e2xldCBlPWEucmVwbGFjZSgvW1xzLl0rL2csIiIpLHQ9cGFyc2VJbnQoZS5zdWJzdHJpbmcoMCxlLmxlbmd0aC0yKSwxMCkscj1wYXJzZUludChlLnN1YnN0cmluZyhlLmxlbmd0aC0yLGUubGVuZ3RoKSwxMCk7cmV0dXJuKHQlOTc9PT0wPzk3OnQlOTcpPT09cn0sImNoZWNrQmVsZ2lhbkJCQU4iKSxiYWU9cyhhPT57Zm9yKDthLmxlbmd0aD4yOyl7bGV0IGU9YS5zbGljZSgwLDYpLHQ9cGFyc2VJbnQoZSwxMCk7aWYoaXNOYU4odCkpcmV0dXJuIE5hTjthPXQlOTcrYS5zbGljZShlLmxlbmd0aCl9cmV0dXJuIHBhcnNlSW50KGEsMTApJTk3fSwibW9kOTcxMCIpLGhtPXMoYT0+e2xldCBlPWEucmVwbGFjZSgvW1xzLl0rL2csIiIpO3JldHVybiBiYWUoZSk9PT0xfSwiY2hlY2tNb2Q5NzEwQkJBTiIpLHEkYT1zKGE9PntsZXQgZT1bMyw5LDcsMSwzLDksN10sdD1wYXJzZUludChhLmNoYXJBdCg3KSwxMCkscj1hLnN1YnN0cmluZygwLDcpLGk9MDtmb3IobGV0IG49MDtuPDc7bisrKWkrPXBhcnNlSW50KHIuY2hhckF0KG4pLDEwKSplW25dO2xldCBvPWklMTA7cmV0dXJuIHQ9PT0obz09PTA/MDoxMC1vKX0sImNoZWNrUG9sYW5kQkJBTiIpLFYkYT1zKGE9PntsZXQgZT1bNCw4LDUsMTAsOSw3LDMsNl0sdD1bMSwyLDQsOCw1LDEwLDksNywzLDZdLHI9cGFyc2VJbnQoYS5jaGFyQXQoOCksMTApLGk9cGFyc2VJbnQoYS5jaGFyQXQoOSksMTApLG89YS5zdWJzdHJpbmcoMCw4KSxuPWEuc3Vic3RyaW5nKDEwLDIwKSxsPTA7Zm9yKGxldCBjPTA7Yzw4O2MrKylsKz1wYXJzZUludChvLmNoYXJBdChjKSwxMCkqZVtjXTtsZXQgZD1sJTExO2lmKHIhPT0oZD09PTA/MDpkPT09MT8xOjExLWQpKXJldHVybiExO2w9MDtmb3IobGV0IGM9MDtjPDEwO2MrKylsKz1wYXJzZUludChuLmNoYXJBdChjKSwxMCkqdFtjXTtyZXR1cm4gZD1sJTExLGk9PT0oZD09PTA/MDpkPT09MT8xOjExLWQpfSwiY2hlY2tTcGFpbkJCQU4iKSxRc2E9cygoYSxlKT0+e2xldCB0PTEwO2ZvcihsZXQgcj0wO3I8YS5sZW5ndGg7cisrKXQrPXBhcnNlSW50KGEuY2hhckF0KHIpLDEwKSx0JTEwIT09MCYmKHQ9dCUxMCksdD10KjIsdD10JTExO3JldHVybiBlPT09KDExLXQ9PT0xMD8wOjExLXQpfSwiY2hlY2tNb2QxMTEwIiksaiRhPXMoYT0+e2xldCBlPXBhcnNlSW50KGEuY2hhckF0KDYpLDEwKSx0PXBhcnNlSW50KGEuY2hhckF0KDE2KSwxMCkscj1hLnN1YnN0cmluZygwLDYpLGk9YS5zdWJzdHJpbmcoNywxNik7cmV0dXJuIFFzYShyLGUpJiZRc2EoaSx0KX0sImNoZWNrQ3JvYXRpYW5CQkFOIiksSnNhPXMoYT0+e2xldCBlPVsxMCw1LDgsNCwyLDFdLHQ9WzYsMyw3LDksMTAsNSw4LDQsMiwxXSxyPXBhcnNlSW50KGEuY2hhckF0KDkpLDEwKSxpPXBhcnNlSW50KGEuY2hhckF0KDE5KSwxMCksbz1hLnN1YnN0cmluZyg0LDkpLG49YS5zdWJzdHJpbmcoMTAsMTkpLGw9MDtmb3IobGV0IGM9MDtjPG8ubGVuZ3RoO2MrKylsKz1wYXJzZUludChvLmNoYXJBdChjKSwxMCkqZVtjXTtsZXQgZD1sJTExO2lmKHIhPT0oZD09PTA/MDpkPT09MT8xOjExLWQpKXJldHVybiExO2w9MDtmb3IobGV0IGM9MDtjPG4ubGVuZ3RoO2MrKylsKz1wYXJzZUludChuLmNoYXJBdChjKSwxMCkqdFtjXTtyZXR1cm4gZD1sJTExLGk9PT0oZD09PTA/MDpkPT09MT8xOjExLWQpfSwiY2hlY2tDemVjaEFuZFNsb3Zha0JCQU4iKSxVJGE9cyhhPT57bGV0IGU9WzcsMSwzLDcsMSwzLDcsMSwzLDcsMSwzLDddLHQ9cGFyc2VJbnQoYS5jaGFyQXQoMTUpLDEwKSxyPWEuc3Vic3RyaW5nKDIsMTUpLGk9MDtmb3IobGV0IG49MDtuPHIubGVuZ3RoO24rKylpKz1wYXJzZUludChyLmNoYXJBdChuKSwxMCkqZVtuXTtsZXQgbz1pJTEwO3JldHVybiB0PT09KG89PT0wPzA6MTAtbyl9LCJjaGVja0VzdG9uaWFuQkJBTiIpLGVpYT1zKGE9PntsZXQgZT1hLnJlcGxhY2UoL1tccy5dKy9nLCIiKSx0PUFycmF5LmZyb20oZSk7Zm9yKGxldCBpPTA7aTxlLmxlbmd0aDtpKyspe2xldCBvPXRbaV0uY2hhckNvZGVBdCgwKTtpZihvPj02NSlzd2l0Y2gobyl7Y2FzZSA2NTpjYXNlIDc0OnRbaV09IjEiO2JyZWFrO2Nhc2UgNjY6Y2FzZSA3NTpjYXNlIDgzOnRbaV09IjIiO2JyZWFrO2Nhc2UgNjc6Y2FzZSA3NjpjYXNlIDg0OnRbaV09IjMiO2JyZWFrO2Nhc2UgNjg6Y2FzZSA3NzpjYXNlIDg1OnRbaV09IjQiO2JyZWFrO2Nhc2UgNjk6Y2FzZSA3ODpjYXNlIDg2OnRbaV09IjUiO2JyZWFrO2Nhc2UgNzA6Y2FzZSA3OTpjYXNlIDg3OnRbaV09IjYiO2JyZWFrO2Nhc2UgNzE6Y2FzZSA4MDpjYXNlIDg4OnRbaV09IjciO2JyZWFrO2Nhc2UgNzI6Y2FzZSA4MTpjYXNlIDg5OnRbaV09IjgiO2JyZWFrO2Nhc2UgNzM6Y2FzZSA4MjpjYXNlIDkwOnRbaV09IjkiO2JyZWFrfX1yZXR1cm4gYmFlKHQuam9pbigiIikpPT09MH0sImNoZWNrRnJlbmNoQkJBTiIpLFckYT1zKGE9PntsZXQgZT1bOSw3LDMsMSw5LDcsMywxLDksNywzLDEsOSw3LDNdLHQ9cGFyc2VJbnQoYS5jaGFyQXQoNyksMTApLHI9YS5zdWJzdHJpbmcoMCw3KSxpPTA7Zm9yKGxldCBuPTA7bjxyLmxlbmd0aDtuKyspaSs9cGFyc2VJbnQoci5jaGFyQXQobiksMTApKmVbbl07bGV0IG89aSUxMDtpZih0IT09KG89PT0wPzA6MTAtbykpcmV0dXJuITE7aWYoaT0wLGEuZW5kc1dpdGgoIjAwMDAwMDAwIikpe2xldCBuPWEuc3Vic3RyaW5nKDgsMTUpLGw9cGFyc2VJbnQoYS5jaGFyQXQoMTUpLDEwKTtmb3IobGV0IGM9MDtjPG4ubGVuZ3RoO2MrKylpKz1wYXJzZUludChuLmNoYXJBdChjKSwxMCkqZVtjXTtsZXQgZD1pJTEwO3JldHVybiBsPT09KGQ9PT0wPzA6MTAtZCl9ZWxzZXtsZXQgbj1hLnN1YnN0cmluZyg4LDIzKSxsPXBhcnNlSW50KGEuY2hhckF0KDIzKSwxMCk7Zm9yKGxldCBjPTA7YzxuLmxlbmd0aDtjKyspaSs9cGFyc2VJbnQobi5jaGFyQXQoYyksMTApKmVbY107bGV0IGQ9aSUxMDtyZXR1cm4gbD09PShkPT09MD8wOjEwLWQpfX0sImNoZWNrSHVuZ2FyaWFuQkJBTiIpLGxPaT1zKChhLGUpPT50eXBlb2YgRG5bYV0+InUiPyExOihEblthXS5iYmFuX3ZhbGlkYXRpb25fZnVuYz1lLCEwKSwic2V0Q291bnRyeUJCQU5WYWxpZGF0aW9uIiksRG49e0FEOntjaGFyczoyNCxiYmFuX3JlZ2V4cDoiXlswLTldezh9W0EtWjAtOV17MTJ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI0LTciLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiIxMi0yMyJ9LEFFOntjaGFyczoyMyxiYmFuX3JlZ2V4cDoiXlswLTldezN9WzAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiI3LTIzIn0sQUY6e30sQUc6e30sQUk6e30sQUw6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeWzAtOV17OH1bQS1aMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIzLTciLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiIxMi0yOCJ9LEFNOnt9LEFPOntjaGFyczoyNSxiYmFuX3JlZ2V4cDoiXlswLTldezIxfSQifSxBUTp7fSxBUjp7fSxBUzp7fSxBVDp7Y2hhcnM6MjAsYmJhbl9yZWdleHA6Il5bMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtNCJ9LEFVOnt9LEFXOnt9LEFYOntjaGFyczoxOCxiYmFuX3JlZ2V4cDoiXlswLTldezE0fSQiLElCQU5SZWdpc3RyeTohMH0sQVo6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bQS1aMC05XXsyMH0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjQtMjgifSxCQTp7Y2hhcnM6MjAsYmJhbl9yZWdleHA6Il5bMC05XXsxNn0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpobSxJQkFOUmVnaXN0cnk6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIzLTUiLGJhbmtfaWRlbnRpZmllcjoiMC0yIn0sQkI6e30sQkQ6e30sQkU6e2NoYXJzOjE2LGJiYW5fcmVnZXhwOiJeWzAtOV17MTJ9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6SCRhLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiIwLTE2In0sQkY6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17Mn1bMC05XXsyMn0kIn0sQkc6e2NoYXJzOjIyLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXs2fVtBLVowLTldezh9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI0LTciLGJhbmtfaWRlbnRpZmllcjoiMC0zIn0sQkg6e2NoYXJzOjIyLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bQS1aMC05XXsxNH0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjIifSxCSTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsyM30kIixicmFuY2hfaW5kZW50aWZpZXI6IjUtOSIsYmFua19pZGVudGlmaWVyOiIwLTQiLGFjY291bnRfaW5kZW50aWZpZXI6IjE0LTI3In0sQko6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17Mn1bMC05XXsyMn0kIn0sQkw6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIn0sQk06e30sQk46e30sQk86e30sQlE6e30sQlI6e2NoYXJzOjI5LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9W0EtWl17MX1bQS1aMC05XXsxfSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjgtMTIiLGJhbmtfaWRlbnRpZmllcjoiMC03IixhY2NvdW50X2luZGVudGlmaWVyOiIxNy0yOSJ9LEJTOnt9LEJUOnt9LEJWOnt9LEJXOnt9LEJZOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17NH1bQS1aMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMifSxCWjp7fSxDQTp7fSxDQzp7fSxDRDp7fSxDRjp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsyM30kIn0sQ0c6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCJ9LENIOntjaGFyczoyMSxiYmFuX3JlZ2V4cDoiXlswLTldezV9W0EtWjAtOV17MTJ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTQifSxDSTp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bQS1aXXsxfVswLTldezIzfSQifSxDSzp7fSxDTDp7fSxDTTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsyM30kIn0sQ046e30sQ086e30sQ1I6e2NoYXJzOjIyLGJiYW5fcmVnZXhwOiJeWzAtOV17MTh9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI4LTIyIn0sQ1U6e30sQ1Y6e2NoYXJzOjI1LGJiYW5fcmVnZXhwOiJeWzAtOV17MjF9JCJ9LENXOnt9LENYOnt9LENZOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXlswLTldezh9W0EtWjAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIzLTciLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiIxMi0yOCJ9LENaOntjaGFyczoyNCxiYmFuX3JlZ2V4cDoiXlswLTldezIwfSQiLGJiYW5fdmFsaWRhdGlvbl9mdW5jOkpzYSxJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyJ9LERFOntjaGFyczoyMixiYmFuX3JlZ2V4cDoiXlswLTldezE4fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC03IixhY2NvdW50X2luZGVudGlmaWVyOiIxMi0yMiJ9LERKOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezIzfSQiLGJyYW5jaF9pbmRlbnRpZmllcjoiNS05IixiYW5rX2lkZW50aWZpZXI6IjAtNCIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTQtMjcifSxESzp7Y2hhcnM6MTgsYmJhbl9yZWdleHA6Il5bMC05XXsxNH0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiNC0xOCJ9LERNOnt9LERPOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MjB9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI4LTI4In0sRFo6e2NoYXJzOjI2LGJiYW5fcmVnZXhwOiJeWzAtOV17MjJ9JCJ9LEVDOnt9LEVFOntjaGFyczoyMCxiYmFuX3JlZ2V4cDoiXlswLTldezE2fSQiLGJiYW5fdmFsaWRhdGlvbl9mdW5jOlUkYSxJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMSIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yMCJ9LEVHOntjaGFyczoyOSxiYmFuX3JlZ2V4cDoiXlswLTldezI1fSIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC03IixiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTctMjkifSxFSDp7fSxFUjp7fSxFUzp7Y2hhcnM6MjQsYmJhbl92YWxpZGF0aW9uX2Z1bmM6ViRhLGJiYW5fcmVnZXhwOiJeWzAtOV17MjB9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI0LTciLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiIxNC0yNCJ9LEVUOnt9LEZJOntjaGFyczoxOCxiYmFuX3JlZ2V4cDoiXlswLTldezE0fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiIwLTAifSxGSjp7fSxGSzp7Y2hhcnM6MTgsYmJhbl9yZWdleHA6Il5bQS1aXXsyfVswLTldezEyfSQiLGJhbmtfaWRlbnRpZmllcjoiMC0xIixhY2NvdW50X2luZGVudGlmaWVyOiI2LTE4In0sRk06e30sRk86e2NoYXJzOjE4LGJiYW5fcmVnZXhwOiJeWzAtOV17MTR9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI0LTE4In0sRlI6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzplaWEsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTQiLGJyYW5jaF9pbmRlbnRpZmllcjoiNS05IixhY2NvdW50X2luZGVudGlmaWVyOiIxNC0yNCJ9LEdBOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezIzfSQifSxHQjp7Y2hhcnM6MjIsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVswLTldezE0fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC05IixiYW5rX2lkZW50aWZpZXI6IjAtMyJ9LEdEOnt9LEdFOntjaGFyczoyMixiYmFuX3JlZ2V4cDoiXltBLVowLTldezJ9WzAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0xIixhY2NvdW50X2luZGVudGlmaWVyOiI2LTIyIn0sR0Y6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LEdHOnt9LEdIOnt9LEdJOntjaGFyczoyMyxiYmFuX3JlZ2V4cDoiXltBLVpdezR9W0EtWjAtOV17MTV9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjMifSxHTDp7Y2hhcnM6MTgsYmJhbl9yZWdleHA6Il5bMC05XXsxNH0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjQtMTgifSxHTTp7fSxHTjp7fSxHUDp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sR1E6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCJ9LEdSOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezd9W0EtWjAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIzLTYiLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiI3LTI3In0sR1M6e30sR1Q6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17MjR9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI4LTI4In0sR1U6e30sR1c6e2NoYXJzOjI1LGJiYW5fcmVnZXhwOiJeW0EtWl17Mn1bMC05XXsxOX0kIn0sR1k6e30sSEs6e30sSE06e30sSE46e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXsyMH0kIn0sSFI6e2NoYXJzOjIxLGJiYW5fcmVnZXhwOiJeWzAtOV17MTd9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6aiRhLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC02In0sSFQ6e30sSFU6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeWzAtOV17MjR9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6VyRhLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMy02IixiYW5rX2lkZW50aWZpZXI6IjAtMiJ9LElEOnt9LElFOntjaGFyczoyMixiYmFuX3JlZ2V4cDoiXltBLVowLTldezR9WzAtOV17MTR9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI0LTkiLGJhbmtfaWRlbnRpZmllcjoiMC0zIn0sSUw6e2NoYXJzOjIzLGJiYW5fcmVnZXhwOiJeWzAtOV17MTl9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMy01IixiYW5rX2lkZW50aWZpZXI6IjAtMiJ9LElNOnt9LElOOnt9LElPOnt9LElROntjaGFyczoyMyxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MTV9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC02IixiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTEtMjMifSxJUjp7Y2hhcnM6MjYsYmJhbl9yZWdleHA6Il5bMC05XXsyMn0kIn0sSVM6e2NoYXJzOjI2LGJiYW5fcmVnZXhwOiJeWzAtOV17MjJ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIyLTMiLGJhbmtfaWRlbnRpZmllcjoiMC0xIixhY2NvdW50X2luZGVudGlmaWVyOiI4LTI1In0sSVQ6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeW0EtWl17MX1bMC05XXsxMH1bQS1aMC05XXsxMn0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjYtMTAiLGJhbmtfaWRlbnRpZmllcjoiMS01IixhY2NvdW50X2luZGVudGlmaWVyOiI0LTI3In0sSkU6e30sSk06e30sSk86e2NoYXJzOjMwLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXs0fVtBLVowLTldezE4fSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjQtNyIsYmFua19pZGVudGlmaWVyOiI0LTcifSxKUDp7fSxLRTp7fSxLRzp7fSxLSDp7fSxLSTp7fSxLTTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsyM30kIn0sS046e30sS1A6e30sS1I6e30sS1c6e2NoYXJzOjMwLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bQS1aMC05XXsyMn0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjIwLTMwIn0sS1k6e30sS1o6e2NoYXJzOjIwLGJiYW5fcmVnZXhwOiJeWzAtOV17M31bQS1aMC05XXsxM30kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTIiLGFjY291bnRfaW5kZW50aWZpZXI6IjAtMjAifSxMQTp7fSxMQjp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bMC05XXs0fVtBLVowLTldezIwfSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTQtMjgifSxMQzp7Y2hhcnM6MzIsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVtBLVowLTldezI0fSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0zMiJ9LExJOntjaGFyczoyMSxiYmFuX3JlZ2V4cDoiXlswLTldezV9W0EtWjAtOV17MTJ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTQifSxMSzp7fSxMUjp7fSxMUzp7fSxMVDp7Y2hhcnM6MjAsYmJhbl9yZWdleHA6Il5bMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtNCJ9LExVOntjaGFyczoyMCxiYmFuX3JlZ2V4cDoiXlswLTldezN9W0EtWjAtOV17MTN9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTIifSxMVjp7Y2hhcnM6MjEsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVtBLVowLTldezEzfSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiIwLTIxIn0sTFk6e2NoYXJzOjI1LGJiYW5fcmVnZXhwOiJeWzAtOV17MjF9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMy01IixiYW5rX2lkZW50aWZpZXI6IjAtMiIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTAtMjUifSxNQTp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bMC05XXsyNH0kIn0sTUM6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzplaWEsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI1LTkiLGJhbmtfaWRlbnRpZmllcjoiMC00In0sTUQ6e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17Mn1bQS1aMC05XXsxOH0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTEiLGFjY291bnRfaW5kZW50aWZpZXI6IjYtMjQifSxNRTp7Y2hhcnM6MjIsYmJhbl9yZWdleHA6Il5bMC05XXsxOH0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpobSxJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTIiLGFjY291bnRfaW5kZW50aWZpZXI6IjQtMjIifSxNRjp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sTUc6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCJ9LE1IOnt9LE1LOntjaGFyczoxOSxiYmFuX3JlZ2V4cDoiXlswLTldezN9W0EtWjAtOV17MTB9WzAtOV17Mn0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpobSxJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTIifSxNTDp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bQS1aMC05XXsyfVswLTldezIyfSQifSxNTTp7fSxNTjp7Y2hhcnM6MjAsYmJhbl9yZWdleHA6Il5bMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjAifSxNTzp7fSxNUDp7fSxNUTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sTVI6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNS05IixiYW5rX2lkZW50aWZpZXI6IjAtNCIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yNiJ9LE1TOnt9LE1UOntjaGFyczozMSxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17NX1bQS1aMC05XXsxOH0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjQtOCIsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjE1LTMxIn0sTVU6e2NoYXJzOjMwLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXsxOX1bQS1aXXszfSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjYtNyIsYmFua19pZGVudGlmaWVyOiIwLTUiLGFjY291bnRfaW5kZW50aWZpZXI6IjAtMzAifSxNVjp7fSxNVzp7fSxNWDp7fSxNWTp7fSxNWjp7Y2hhcnM6MjUsYmJhbl9yZWdleHA6Il5bMC05XXsyMX0kIn0sTkE6e30sTkM6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LE5FOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezJ9WzAtOV17MjJ9JCJ9LE5GOnt9LE5HOnt9LE5JOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MjB9JCIsYmFua19pZGVudGlmaWVyOiIwLTMiLElCQU5SZWdpc3RyeTohMCxhY2NvdW50X2luZGVudGlmaWVyOiI4LTI4In0sTkw6e2NoYXJzOjE4LGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXsxMH0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0xOCJ9LE5POntjaGFyczoxNSxiYmFuX3JlZ2V4cDoiXlswLTldezExfSQiLGJiYW5fdmFsaWRhdGlvbl9mdW5jOkIkYSxJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiNC0xNSJ9LE5QOnt9LE5SOnt9LE5VOnt9LE5aOnt9LE9NOntjaGFyczoyMyxiYmFuX3JlZ2V4cDoiXlswLTldezN9W0EtWjAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITEsYmFua19pZGVudGlmaWVyOiIwLTIifSxQQTp7fSxQRTp7fSxQRjp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sUEc6e30sUEg6e30sUEs6e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17NH1bMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMifSxQTDp7Y2hhcnM6MjgsYmJhbl92YWxpZGF0aW9uX2Z1bmM6cSRhLGJiYW5fcmVnZXhwOiJeWzAtOV17MjR9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIwLTciLGFjY291bnRfaW5kZW50aWZpZXI6IjItMjgifSxQTTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sUE46e30sUFI6e30sUFM6e2NoYXJzOjI5LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17NH1bMC05XXsyMX0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjE3LTI5In0sUFQ6e2NoYXJzOjI1LGJiYW5fcmVnZXhwOiJeWzAtOV17MjF9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6aG0sSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTMifSxQVzp7fSxQWTp7fSxRQTp7Y2hhcnM6MjksYmJhbl9yZWdleHA6Il5bQS1aXXs0fVtBLVowLTldezIxfSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yOSJ9LFJFOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezEwfVtBLVowLTldezExfVswLTldezJ9JCIsSUJBTlJlZ2lzdHJ5OiEwfSxSTzp7Y2hhcnM6MjQsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVtBLVowLTldezE2fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiIwLTI0In0sUlM6e2NoYXJzOjIyLGJiYW5fcmVnZXhwOiJeWzAtOV17MTh9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6aG0sSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIn0sUlU6e2NoYXJzOjMzLGJiYW5fcmVnZXhwOiJeWzAtOV17MTR9W0EtWjAtOV17MTV9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiOS0xMyIsYmFua19pZGVudGlmaWVyOiIwLTgiLGFjY291bnRfaW5kZW50aWZpZXI6IjEzLTMzIn0sUlc6e30sU0E6e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeWzAtOV17Mn1bQS1aMC05XXsxOH0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTEiLGFjY291bnRfaW5kZW50aWZpZXI6IjEyLTI0In0sU0I6e30sU0M6e2NoYXJzOjMxLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXsyMH1bQS1aXXszfSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjYtNyIsYmFua19pZGVudGlmaWVyOiIwLTUiLGFjY291bnRfaW5kZW50aWZpZXI6IjEyLTI4In0sU0Q6e2NoYXJzOjE4LGJiYW5fcmVnZXhwOiJeWzAtOV17MTR9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0xIixhY2NvdW50X2luZGVudGlmaWVyOiI2LTE4In0sU0U6e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeWzAtOV17MjB9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTIifSxTRzp7fSxTSDp7fSxTSTp7Y2hhcnM6MTksYmJhbl9yZWdleHA6Il5bMC05XXsxNX0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpobSxJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjItNCIsYmFua19pZGVudGlmaWVyOiIwLTEiLGFjY291bnRfaW5kZW50aWZpZXI6IjktMTYifSxTSjp7fSxTSzp7Y2hhcnM6MjQsYmJhbl9yZWdleHA6Il5bMC05XXsyMH0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpKc2EsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITB9LFNMOnt9LFNNOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXltBLVpdezF9WzAtOV17MTB9W0EtWjAtOV17MTJ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI2LTEwIn0sU046e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWl17Mn1bMC05XXsyMn0kIn0sU086e2NoYXJzOjIzLGJiYW5fcmVnZXhwOiJeWzAtOV17MTl9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC02IixhY2NvdW50X2luZGVudGlmaWVyOiIxMS0yMyJ9LFNSOnt9LFNTOnt9LFNUOntjaGFyczoyNSxiYmFuX3JlZ2V4cDoiXlswLTldezIxfSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjQtNyJ9LFNWOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MjB9JCIsSUJBTlJlZ2lzdHJ5OiEwLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjgifSxTWDp7fSxTWTp7fSxTWjp7fSxUQzp7fSxURDp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsyM30kIn0sVEY6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LFRHOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezJ9WzAtOV17MjJ9JCJ9LFRIOnt9LFRKOnt9LFRLOnt9LFRMOntjaGFyczoyMyxiYmFuX3JlZ2V4cDoiXlswLTldezE5fSQiLElCQU5SZWdpc3RyeTohMCxhY2NvdW50X2luZGVudGlmaWVyOiI0LTIzIn0sVE06e30sVE46e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeWzAtOV17MjB9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMi00IixhY2NvdW50X2luZGVudGlmaWVyOiI0LTI0In0sVE86e30sVFI6e2NoYXJzOjI2LGJiYW5fcmVnZXhwOiJeWzAtOV17NX1bQS1aMC05XXsxN30kIixJQkFOUmVnaXN0cnk6ITB9LFRUOnt9LFRWOnt9LFRXOnt9LFRaOnt9LFVBOntjaGFyczoyOSxiYmFuX3JlZ2V4cDoiXlswLTldezZ9W0EtWjAtOV17MTl9JCIsSUJBTlJlZ2lzdHJ5OiEwLGFjY291bnRfaW5kZW50aWZpZXI6IjE1LTI5In0sVUc6e30sVU06e30sVVM6e30sVVk6e30sVVo6e30sVkE6e2NoYXJzOjIyLGJiYW5fcmVnZXhwOiJeWzAtOV17MTh9IixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxhY2NvdW50X2luZGVudGlmaWVyOiI3LTIyIn0sVkM6e30sVkU6e30sVkc6e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17NH1bMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yNCJ9LFZJOnt9LFZOOnt9LFZVOnt9LFdGOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezEwfVtBLVowLTldezExfVswLTldezJ9JCIsSUJBTlJlZ2lzdHJ5OiEwfSxXUzp7fSxYSzp7Y2hhcnM6MjAsYmJhbl9yZWdleHA6Il5bMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIyLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjQtMjAifSxZRTp7Y2hhcnM6MzAsYmJhbl9yZWdleHA6IltBLVpdezR9WzAtOV17NH1bMC05QS1aXXsxOH0iLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYnJhbmNoX2luZGVudGlmaWVyOiI0LTcifSxZVDp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sWkE6e30sWk06e30sWlc6e319fSk7dmFyIGFpYSxyaWE9ZigoKT0+e2xlKCk7YWlhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7WGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnBheW1lbnQtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFzaWMgSUJBTiBJbnB1dCJ9IC5zdWJ0aXRsZT0keyJJbnRlcm5hdGlvbmFsIEJhbmsgQWNjb3VudCBOdW1iZXIgd2l0aCBhdXRvbWF0aWMgZm9ybWF0dGluZyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1pYmFuCiAgICAgICAgICAgIC5sYWJlbD0keyJCYW5rIEFjY291bnQgSUJBTiJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJFbnRlciB5b3VyIEludGVybmF0aW9uYWwgQmFuayBBY2NvdW50IE51bWJlciJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJZb3VyIElCQU4gY2FuIGJlIGZvdW5kIG9uIHlvdXIgYmFuayBzdGF0ZW1lbnQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1pYmFuPgoKICAgICAgICAgIDxkZWVzLWlucHV0LWliYW4KICAgICAgICAgICAgLmxhYmVsPSR7IlZlcmlmaWVkIElCQU4ifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiVGhpcyBJQkFOIGhhcyBiZWVuIHZlcmlmaWVkIn0KICAgICAgICAgICAgLnZhbHVlPSR7IkRFODkzNzA0MDA0NDA1MzIwMTMwMDAifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1pYmFuPgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiUGF5bWVudCBJbmZvcm1hdGlvbiJ9IC5zdWJ0aXRsZT0keyJJQkFOIGlucHV0IHdpdGggaG9yaXpvbnRhbCBsYXlvdXQgZm9yIHBheW1lbnQgZm9ybXMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRpdiBjbGFzcz0icGF5bWVudC1ncm91cCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgICAubGFiZWw9JHsiQWNjb3VudCBIb2xkZXIifQogICAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAgIC52YWx1ZT0keyJKb2huIERvZSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWliYW4KICAgICAgICAgICAgICAubGFiZWw9JHsiSUJBTiJ9CiAgICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7IkdCODJXRVNUMTIzNDU2OTg3NjU0MzIifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWliYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlZhbGlkYXRpb24gJiBTdGF0ZXMifSAuc3VidGl0bGU9JHsiUmVxdWlyZWQgZmllbGRzIGFuZCBkaXNhYmxlZCBzdGF0ZXMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtaWJhbgogICAgICAgICAgICAubGFiZWw9JHsiUGF5bWVudCBBY2NvdW50In0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IlJlcXVpcmVkIGZvciBwcm9jZXNzaW5nIHBheW1lbnRzIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWliYW4+CgogICAgICAgICAgPGRlZXMtaW5wdXQtaWJhbgogICAgICAgICAgICAubGFiZWw9JHsiTG9ja2VkIElCQU4ifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiVGhpcyBJQkFOIGNhbm5vdCBiZSBjaGFuZ2VkIn0KICAgICAgICAgICAgLnZhbHVlPSR7IkZSMTQyMDA0MTAxMDA1MDUwMDAxM00wMjYwNiJ9CiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1pYmFuPgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFuayBUcmFuc2ZlciBGb3JtIn0gLnN1YnRpdGxlPSR7IkNvbXBsZXRlIGZvcm0gZXhhbXBsZSB3aXRoIElCQU4gdmFsaWRhdGlvbiJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJSZWNpcGllbnQgTmFtZSJ9IC5yZXF1aXJlZD0keyEwfT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIDxkZWVzLWlucHV0LWliYW4gLmxhYmVsPSR7IlJlY2lwaWVudCBJQkFOIn0gLnJlcXVpcmVkPSR7ITB9PjwvZGVlcy1pbnB1dC1pYmFuPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiVHJhbnNmZXIgUmVmZXJlbmNlIn0gLmluZm9UZXh0PSR7Ik9wdGlvbmFsIHJlZmVyZW5jZSBmb3IgdGhlIHRyYW5zZmVyIn0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJBbW91bnQifSAuaW5wdXRUeXBlPSR7Im51bWJlciJ9IC5yZXF1aXJlZD0keyEwfT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kaXY+CiAgPC9kZWVzLWRlbW93cmFwcGVyPgpgLCJkZW1vRnVuYyIpfSk7dmFyIHhhZSxOZix5YWUsWlllPWYoKCk9PntsZSgpO2VhKCk7U3IoKTt0aWEoKTtyaWEoKTtRZSgpO3hhZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sTmY9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHlhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtaWJhbiIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRJYmFuIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bSygpXSxkPVtLKCldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHhhZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVudGVyZWRTdHJpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImVudGVyZWRTdHJpbmciaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5lbnRlcmVkU3RyaW5nLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuZW50ZXJlZFN0cmluZz15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCkseGFlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW50ZXJlZEliYW5Jc1ZhbGlkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJlbnRlcmVkSWJhbklzVmFsaWQiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5lbnRlcmVkSWJhbklzVmFsaWQsImdldCIpLHNldDpzKChnLHkpPT57Zy5lbnRlcmVkSWJhbklzVmFsaWQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSxjLHApLHhhZSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJ2YWx1ZSJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLnZhbHVlLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cudmFsdWU9eX0sInNldCIpfSxtZXRhZGF0YTpifSxtLHYpLHhhZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLHQpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vPWFpYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9TmYodGhpcyxuLCIiKTtnZXQgZW50ZXJlZFN0cmluZygpe3JldHVybiB0aGlzLiNlfXNldCBlbnRlcmVkU3RyaW5nKGIpe3RoaXMuI2U9Yn0jdD0oTmYodGhpcyxsKSxOZih0aGlzLGMsITEpKTtnZXQgZW50ZXJlZEliYW5Jc1ZhbGlkKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGVudGVyZWRJYmFuSXNWYWxpZChiKXt0aGlzLiN0PWJ9I2E9KE5mKHRoaXMscCksTmYodGhpcyxtLCIiKSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHZhbHVlKGIpe3RoaXMuI2E9Yn1zdGF0aWMgc3R5bGVzPVtFZSwuLi53dC5iYXNlU3R5bGVzLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICAvKiBJQkFOIGlucHV0IHNwZWNpZmljIHN0eWxlcyBjYW4gZ28gaGVyZSAqLwogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0ke3RoaXMubGFiZWx8fCJJQkFOIn0gLmluZm9UZXh0PSR7dGhpcy5pbmZvVGV4dH0+PC9kZWVzLWxhYmVsPgogICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgIC52YWx1ZT0ke3RoaXMudmFsdWV9CiAgICAgICAgICAuZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfQogICAgICAgICAgLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJERTg5IDM3MDQgMDA0NCAwNTMyIDAxMzAgMDAifQogICAgICAgICAgLnZhbGlkYXRpb25GdW5jdGlvbj0ke2I9PntsZXQgZz1iLnJlcGxhY2UoLyAvZywiIik7cmV0dXJuIGcubGVuZ3RoPT09MD97dmFsaWQ6ITAsbWVzc2FnZToiIn06dmFlKGcpP3t2YWxpZDohMCxtZXNzYWdlOiJJQkFOIGlzIHZhbGlkIn06e3ZhbGlkOiExLG1lc3NhZ2U6IlBsZWFzZSBlbnRlciBhIHZhbGlkIElCQU4ifX19CiAgICAgICAgICBAaW5wdXQ9JHtiPT57dGhpcy52YWxpZGF0ZUliYW4oYil9fQogICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAke3RoaXMucmVuZGVyRGVzY3JpcHRpb24oKX0KICAgICAgPC9kaXY+CiAgICBgfWZpcnN0VXBkYXRlZChiKXtzdXBlci5maXJzdFVwZGF0ZWQoYik7bGV0IGc9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtdGV4dCIpO2cmJmcuY2hhbmdlU3ViamVjdCYmZy5jaGFuZ2VTdWJqZWN0LnN1YnNjcmliZSgoKT0+e3RoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfSl9YXN5bmMgdmFsaWRhdGVJYmFuKGIpe2xldCBnPWIudGFyZ2V0LHk9Zz8udmFsdWU7eT15fHwiIix0aGlzLmVudGVyZWRTdHJpbmchPT15JiYodGhpcy5lbnRlcmVkU3RyaW5nPUtZZSh5KXx8IiIsZyYmKGcudmFsdWU9dGhpcy5lbnRlcmVkU3RyaW5nLHRoaXMudmFsdWU9dGhpcy5lbnRlcmVkU3RyaW5nLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKSksdGhpcy5lbnRlcmVkSWJhbklzVmFsaWQ9dmFlKHRoaXMuZW50ZXJlZFN0cmluZy5yZXBsYWNlKC8gL2csIiIpKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKGIpe3RoaXMudmFsdWU9Yix0aGlzLmVudGVyZWRTdHJpbmc9S1llKGIpfHwiIn1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksTmYodGhpcyx2KX1zdGF0aWN7TmYocix0KX19O3JldHVybiB4PXJ9KSgpfSk7dmFyIHNpYSxpaWE9ZigoKT0+e2xlKCk7c2lhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7WGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDMycHg7CiAgICAgICAgICBwYWRkaW5nOiA0OHB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOGY5ZmEiLCIjMGEwYTBhIil9OwogICAgICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zZWN0aW9uIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzE4MTgxYiIpfTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnNlY3Rpb24tZGVzY3JpcHRpb24gewogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zZXR0aW5ncy1ncmlkIHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgICAgLnNldHRpbmdzLWdyaWQgewogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIGB9CiAgICA8L3N0eWxlPgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPk11bHRpLU9wdGlvbiBUb2dnbGU8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5TZWxlY3QgZnJvbSBtdWx0aXBsZSBvcHRpb25zIHdpdGggYSBzbW9vdGggc2xpZGluZyBpbmRpY2F0b3IgYW5pbWF0aW9uLjwvZGl2PgoKICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IkRpc3BsYXkgTW9kZSJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJDaG9vc2UgaG93IGNvbnRlbnQgaXMgZGlzcGxheWVkIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlRoaXMgc2V0dGluZyBhZmZlY3RzIGhvdyBpdGVtcyBhcHBlYXIgb24geW91ciBkYXNoYm9hcmQifQogICAgICAgICAgICAub3B0aW9ucz0ke1siTGlzdCBWaWV3IiwiR3JpZCBWaWV3IiwiQ29tcGFjdCJdfQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiR3JpZCBWaWV3In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IlQtU2hpcnQgU2l6ZSJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJTZWxlY3QgeW91ciBwcmVmZXJyZWQgc2l6ZSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJYUyIsIlMiLCJNIiwiTCIsIlhMIiwiWFhMIl19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJNIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Qm9vbGVhbiBUb2dnbGU8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5TaW1wbGUgb24vb2ZmIHN3aXRjaGVzIHdpdGggY3VzdG9taXphYmxlIGxhYmVscyBmb3IgY2xlYXJlciBjb250ZXh0LjwvZGl2PgoKICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7Ik5vdGlmaWNhdGlvbnMifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiRW5hYmxlIG9yIGRpc2FibGUgcHVzaCBub3RpZmljYXRpb25zIn0KICAgICAgICAgICAgLnR5cGU9JHsiYm9vbGVhbiJ9CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJ0cnVlIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IlRoZW1lIE1vZGUifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiU3dpdGNoIGJldHdlZW4gbGlnaHQgYW5kIGRhcmsgdGhlbWUifQogICAgICAgICAgICAudHlwZT0keyJib29sZWFuIn0KICAgICAgICAgICAgLmJvb2xlYW5UcnVlTmFtZT0keyJEYXJrIn0KICAgICAgICAgICAgLmJvb2xlYW5GYWxzZU5hbWU9JHsiTGlnaHQifQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiRGFyayJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlNldHRpbmdzIEdyaWQ8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5Db25maWd1cmF0aW9uIG9wdGlvbnMgYXJyYW5nZWQgaW4gYSByZXNwb25zaXZlIGdyaWQgbGF5b3V0LjwvZGl2PgoKICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3MtZ3JpZCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkF1dG8tU2F2ZSJ9CiAgICAgICAgICAgICAgLnR5cGU9JHsiYm9vbGVhbiJ9CiAgICAgICAgICAgICAgLmJvb2xlYW5UcnVlTmFtZT0keyJFbmFibGVkIn0KICAgICAgICAgICAgICAuYm9vbGVhbkZhbHNlTmFtZT0keyJEaXNhYmxlZCJ9CiAgICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkVuYWJsZWQifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiTGFuZ3VhZ2UifQogICAgICAgICAgICAgIC5vcHRpb25zPSR7WyJFbmdsaXNoIiwiR2VybWFuIiwiRnJlbmNoIiwiU3BhbmlzaCJdfQogICAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJFbmdsaXNoIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IlF1YWxpdHkifQogICAgICAgICAgICAgIC5vcHRpb25zPSR7WyJMb3ciLCJNZWRpdW0iLCJIaWdoIiwiVWx0cmEiXX0KICAgICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiSGlnaCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgICAgIC5sYWJlbD0keyJQcml2YWN5In0KICAgICAgICAgICAgICAudHlwZT0keyJib29sZWFuIn0KICAgICAgICAgICAgICAuYm9vbGVhblRydWVOYW1lPSR7IlByaXZhdGUifQogICAgICAgICAgICAgIC5ib29sZWFuRmFsc2VOYW1lPSR7IlB1YmxpYyJ9CiAgICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IlByaXZhdGUifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+U3RhdGVzICYgRm9ybSBJbnRlZ3JhdGlvbjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkV4YW1wbGVzIG9mIGRpc2FibGVkIHN0YXRlcyBhbmQgaW50ZWdyYXRpb24gd2l0aGluIGZvcm1zLjwvZGl2PgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAubGFiZWw9JHsiQWNjb3VudCBUeXBlIn0KICAgICAgICAgIC5pbmZvVGV4dD0keyJUaGlzIHNldHRpbmcgaXMgbG9ja2VkIn0KICAgICAgICAgIC5vcHRpb25zPSR7WyJGcmVlIiwiUHJvIiwiRW50ZXJwcmlzZSJdfQogICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkVudGVycHJpc2UifQogICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgICAKICAgICAgICA8YnI+PGJyPgogICAgICAgIAogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJQcm9qZWN0IE5hbWUifSAucmVxdWlyZWQ9JHshMH0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiVmlzaWJpbGl0eSJ9CiAgICAgICAgICAgIC50eXBlPSR7ImJvb2xlYW4ifQogICAgICAgICAgICAuYm9vbGVhblRydWVOYW1lPSR7IlB1YmxpYyJ9CiAgICAgICAgICAgIC5ib29sZWFuRmFsc2VOYW1lPSR7IlByaXZhdGUifQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiUHJpdmF0ZSJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IkxpY2Vuc2UifQogICAgICAgICAgICAub3B0aW9ucz0ke1siTUlUIiwiQXBhY2hlIDIuMCIsIkdQTCB2MyIsIlByb3ByaWV0YXJ5Il19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJNSVQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgUmYsSm8sd2FlLFhZZT1mKCgpPT57bGUoKTtTcigpO0wxKCk7aWlhKCk7UWUoKTtSZj1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sSm89ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHdhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtbXVsdGl0b2dnbGUiKV0sZSx0PVtdLHIsaT13dCxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXTt2YXIgTz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0TXVsdGl0b2dnbGUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgVD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKCldLGQ9WyQoKV0sdT1bJCgpXSx4PVskKHt0eXBlOkFycmF5fSldLHk9WyQoKV0sTj1bJCh7dHlwZTpCb29sZWFufSldLFJmKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4idHlwZSJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLnR5cGUsImdldCIpLHNldDpzKChFLEIpPT57RS50eXBlPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sbixsKSxSZih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJvb2xlYW5UcnVlTmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4iYm9vbGVhblRydWVOYW1lImluIEUsImhhcyIpLGdldDpzKEU9PkUuYm9vbGVhblRydWVOYW1lLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UuYm9vbGVhblRydWVOYW1lPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sYyxwKSxSZih0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJvb2xlYW5GYWxzZU5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+ImJvb2xlYW5GYWxzZU5hbWUiaW4gRSwiaGFzIiksZ2V0OnMoRT0+RS5ib29sZWFuRmFsc2VOYW1lLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UuYm9vbGVhbkZhbHNlTmFtZT1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LG0sdiksUmYodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcHRpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJvcHRpb25zImluIEUsImhhcyIpLGdldDpzKEU9PkUub3B0aW9ucywiZ2V0Iiksc2V0OnMoKEUsQik9PntFLm9wdGlvbnM9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxiLGcpLFJmKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRPcHRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+InNlbGVjdGVkT3B0aW9uImluIEUsImhhcyIpLGdldDpzKEU9PkUuc2VsZWN0ZWRPcHRpb24sImdldCIpLHNldDpzKChFLEIpPT57RS5zZWxlY3RlZE9wdGlvbj1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LGssQyksUmYodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJib29sVmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+ImJvb2xWYWx1ZSJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLmJvb2xWYWx1ZSwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLmJvb2xWYWx1ZT1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LF8seiksUmYobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6VH0sbnVsbCx0KSxPPXI9ZS52YWx1ZSxUJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlR9KX1zdGF0aWMgZGVtbz1zaWE7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPUpvKHRoaXMsbiwibXVsdGkiKTtnZXQgdHlwZSgpe3JldHVybiB0aGlzLiNlfXNldCB0eXBlKFQpe3RoaXMuI2U9VH0jdD0oSm8odGhpcyxsKSxKbyh0aGlzLGMsInRydWUiKSk7Z2V0IGJvb2xlYW5UcnVlTmFtZSgpe3JldHVybiB0aGlzLiN0fXNldCBib29sZWFuVHJ1ZU5hbWUoVCl7dGhpcy4jdD1UfSNhPShKbyh0aGlzLHApLEpvKHRoaXMsbSwiZmFsc2UiKSk7Z2V0IGJvb2xlYW5GYWxzZU5hbWUoKXtyZXR1cm4gdGhpcy4jYX1zZXQgYm9vbGVhbkZhbHNlTmFtZShUKXt0aGlzLiNhPVR9I3I9KEpvKHRoaXMsdiksSm8odGhpcyxiLFtdKSk7Z2V0IG9wdGlvbnMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgb3B0aW9ucyhUKXt0aGlzLiNyPVR9I3M9KEpvKHRoaXMsZyksSm8odGhpcyxrLCIiKSk7Z2V0IHNlbGVjdGVkT3B0aW9uKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNlbGVjdGVkT3B0aW9uKFQpe3RoaXMuI3M9VH0jaT0oSm8odGhpcyxDKSxKbyh0aGlzLF8sITEpKTtnZXQgYm9vbFZhbHVlKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGJvb2xWYWx1ZShUKXt0aGlzLiNpPVR9Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMudHlwZT09PSJib29sZWFuIj90aGlzLnNlbGVjdGVkT3B0aW9uPT09dGhpcy5ib29sZWFuVHJ1ZU5hbWU6dGhpcy5zZWxlY3RlZE9wdGlvbn1zZXQgdmFsdWUoVCl7dGhpcy50eXBlPT09ImJvb2xlYW4iJiZ0eXBlb2YgVD09ImJvb2xlYW4iP3RoaXMuc2VsZWN0ZWRPcHRpb249VD90aGlzLmJvb2xlYW5UcnVlTmFtZTp0aGlzLmJvb2xlYW5GYWxzZU5hbWU6dGhpcy5zZWxlY3RlZE9wdGlvbj1ULHRoaXMucmVxdWVzdFVwZGF0ZSgpLHRoaXMuaGFzVXBkYXRlZCYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5zZXRJbmRpY2F0b3IoKX0pfXN0YXRpYyBzdHlsZXM9W0VlLC4uLnd0LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAuc2VsZWN0aW9ucyB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7CiAgICAgIH0KCiAgICAgIC5vcHRpb24gewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBwYWRkaW5nOiA4cHggMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgei1pbmRleDogMjsKICAgICAgfQoKICAgICAgLm9wdGlvbjpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2U0ZTRlNyIpfTsKICAgICAgfQoKICAgICAgLm9wdGlvbi5zZWxlY3RlZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmluZGljYXRvciB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA4cHgpOwogICAgICAgIHRvcDogNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgfQogICAgICAKICAgICAgLmluZGljYXRvci5uby10cmFuc2l0aW9uIHsKICAgICAgICB0cmFuc2l0aW9uOiBub25lOwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbZGlzYWJsZWRdKSAuc2VsZWN0aW9ucyB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC5vcHRpb24gewogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC5pbmRpY2F0b3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDExMywgMTEzLCAxMjIsIDAuMTUpIiwicmdiYSgxMTMsIDExMywgMTIyLCAwLjE1KSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0ke3RoaXMubGFiZWx9IC5pbmZvVGV4dD0ke3RoaXMuaW5mb1RleHR9PjwvZGVlcy1sYWJlbD4KICAgICAgICA8ZGl2IGNsYXNzPSJtYWluYm94Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlbGVjdGlvbnMiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaW5kaWNhdG9yIj48L2Rpdj4KICAgICAgICAgICR7dGhpcy5vcHRpb25zLm1hcChUPT53YDxkaXYgY2xhc3M9Im9wdGlvbiAke1Q9PT10aGlzLnNlbGVjdGVkT3B0aW9uPyJzZWxlY3RlZCI6IiJ9IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVTZWxlY3Rpb24oVCl9PgogICAgICAgICAgICAgICAgJHtUfQogICAgICAgICAgICAgIDwvZGl2PiBgKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMudHlwZT09PSJib29sZWFuIiYmdGhpcy5vcHRpb25zLmxlbmd0aD09PTAmJih0aGlzLm9wdGlvbnM9W3RoaXMuYm9vbGVhblRydWVOYW1lfHwidHJ1ZSIsdGhpcy5ib29sZWFuRmFsc2VOYW1lfHwiZmFsc2UiXSx0aGlzLnNlbGVjdGVkT3B0aW9ufHwodGhpcy5zZWxlY3RlZE9wdGlvbj10aGlzLmJvb2xlYW5GYWxzZU5hbWV8fCJmYWxzZSIpKSwhdGhpcy5zZWxlY3RlZE9wdGlvbiYmdGhpcy5vcHRpb25zLmxlbmd0aD4wJiYodGhpcy5zZWxlY3RlZE9wdGlvbj10aGlzLm9wdGlvbnNbMF0pfWFzeW5jIGZpcnN0VXBkYXRlZChUKXtzdXBlci5maXJzdFVwZGF0ZWQoVCksdGhpcy50eXBlPT09ImJvb2xlYW4iJiYodGhpcy5vcHRpb25zPVt0aGlzLmJvb2xlYW5UcnVlTmFtZXx8InRydWUiLHRoaXMuYm9vbGVhbkZhbHNlTmFtZXx8ImZhbHNlIl0pLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsZG9jdW1lbnQuZm9udHMmJmF3YWl0IGRvY3VtZW50LmZvbnRzLnJlYWR5LGF3YWl0IG5ldyBQcm9taXNlKEU9PnJlcXVlc3RBbmltYXRpb25GcmFtZShFKSksdGhpcy5zZXRJbmRpY2F0b3IoKX1hc3luYyBoYW5kbGVTZWxlY3Rpb24oVCl7dGhpcy5kaXNhYmxlZHx8KHRoaXMuc2VsZWN0ZWRPcHRpb249VCx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSxhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMuc2V0SW5kaWNhdG9yKCkpfWluZGljYXRvckluaXRpYWxpemVkPShKbyh0aGlzLHopLCExKTthc3luYyBzZXRJbmRpY2F0b3IoKXtsZXQgVD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmluZGljYXRvciIpLEU9dGhpcy5vcHRpb25zLmluZGV4T2YodGhpcy5zZWxlY3RlZE9wdGlvbik7aWYoRT09PS0xfHwhVCl7VCYmKFQuc3R5bGUub3BhY2l0eT0iMCIpO3JldHVybn1sZXQgQj10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcihgLm9wdGlvbjpudGgtY2hpbGQoJHtFKzJ9KWApO1QmJkImJih0aGlzLmluZGljYXRvckluaXRpYWxpemVkfHwoVC5jbGFzc0xpc3QuYWRkKCJuby10cmFuc2l0aW9uIiksdGhpcy5pbmRpY2F0b3JJbml0aWFsaXplZD0hMCxzZXRUaW1lb3V0KCgpPT57VC5jbGFzc0xpc3QucmVtb3ZlKCJuby10cmFuc2l0aW9uIil9LDUwKSksVC5zdHlsZS53aWR0aD1gJHtCLmNsaWVudFdpZHRofXB4YCxULnN0eWxlLmxlZnQ9YCR7Qi5vZmZzZXRMZWZ0fXB4YCxULnN0eWxlLm9wYWNpdHk9IjEiKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnR5cGU9PT0iYm9vbGVhbiI/dGhpcy5zZWxlY3RlZE9wdGlvbj09PXRoaXMuYm9vbGVhblRydWVOYW1lOnRoaXMuc2VsZWN0ZWRPcHRpb259c2V0VmFsdWUoVCl7dGhpcy50eXBlPT09ImJvb2xlYW4iJiZ0eXBlb2YgVD09ImJvb2xlYW4iP3RoaXMuc2VsZWN0ZWRPcHRpb249VD90aGlzLmJvb2xlYW5UcnVlTmFtZXx8InRydWUiOnRoaXMuYm9vbGVhbkZhbHNlTmFtZXx8ImZhbHNlIjp0aGlzLnNlbGVjdGVkT3B0aW9uPVQsdGhpcy5yZXF1ZXN0VXBkYXRlKCksdGhpcy5oYXNVcGRhdGVkJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLnNldEluZGljYXRvcigpfSl9c3RhdGlje0pvKHIsdCl9fTtyZXR1cm4gTz1yfSkoKX0pO3ZhciBvaWEsbmlhPWYoKCk9PntsZSgpO29pYT1zKCgpPT53YAogIDxkZWVzLWRlbW93cmFwcGVyPgogICAgPHN0eWxlPgogICAgICAke1hgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5ob3Jpem9udGFsLWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkJhc2ljIFBob25lIElucHV0In0gLnN1YnRpdGxlPSR7IkF1dG9tYXRpYyBmb3JtYXR0aW5nIGZvciBwaG9uZSBudW1iZXJzIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXBob25lCiAgICAgICAgICAgIC5sYWJlbD0keyJQaG9uZSBOdW1iZXIifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiRW50ZXIgeW91ciBwaG9uZSBudW1iZXIgd2l0aCBjb3VudHJ5IGNvZGUifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiSW5jbHVkZSBjb3VudHJ5IGNvZGUgZm9yIGludGVybmF0aW9uYWwgbnVtYmVycyJ9CiAgICAgICAgICAgIC52YWx1ZT0keyI1NTUxMjM0NTY3In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcGhvbmU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtcGhvbmUKICAgICAgICAgICAgLmxhYmVsPSR7IkNvbnRhY3QgUGhvbmUifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiUmVxdWlyZWQgZm9yIGFjY291bnQgdmVyaWZpY2F0aW9uIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyIrMSAoNTU1KSAwMDAtMDAwMCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXBob25lPgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiSG9yaXpvbnRhbCBMYXlvdXQifSAuc3VidGl0bGU9JHsiUGhvbmUgaW5wdXRzIGFycmFuZ2VkIGhvcml6b250YWxseSJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJob3Jpem9udGFsLWdyb3VwIj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtcGhvbmUKICAgICAgICAgICAgICAubGFiZWw9JHsiTW9iaWxlIn0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgICAudmFsdWU9JHsiNDE1NTU1MTIzNCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtcGhvbmU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1waG9uZQogICAgICAgICAgICAgIC5sYWJlbD0keyJPZmZpY2UifQogICAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyIrMSAoODAwKSA1NTUtMDAwMCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtcGhvbmU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkludGVybmF0aW9uYWwgTnVtYmVycyJ9IC5zdWJ0aXRsZT0keyJTdXBwb3J0cyBmb3JtYXR0aW5nIGZvciBudW1iZXJzIHdpdGggY291bnRyeSBjb2RlcyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1waG9uZQogICAgICAgICAgICAubGFiZWw9JHsiSW50ZXJuYXRpb25hbCBDb250YWN0In0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IkF1dG9tYXRpY2FsbHkgZm9ybWF0cyBpbnRlcm5hdGlvbmFsIG51bWJlcnMifQogICAgICAgICAgICAudmFsdWU9JHsiNDQxMjM0NTY3ODkwIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcGhvbmU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtcGhvbmUKICAgICAgICAgICAgLmxhYmVsPSR7IkVtZXJnZW5jeSBDb250YWN0In0KICAgICAgICAgICAgLnZhbHVlPSR7IjkxMSJ9CiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1waG9uZT4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkZvcm0gSW50ZWdyYXRpb24ifSAuc3VidGl0bGU9JHsiUGhvbmUgaW5wdXQgYXMgcGFydCBvZiBhIGNvbnRhY3QgZm9ybSJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJGdWxsIE5hbWUifSAucmVxdWlyZWQ9JHshMH0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1waG9uZSAubGFiZWw9JHsiUGhvbmUgTnVtYmVyIn0gLnJlcXVpcmVkPSR7ITB9PjwvZGVlcy1pbnB1dC1waG9uZT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IkVtYWlsIn0gLmlucHV0VHlwZT0keyJlbWFpbCJ9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgTWFlLE9mLGthZSxRWWU9ZigoKT0+e2xlKCk7ZWEoKTtTcigpO25pYSgpO1FlKCk7TWFlPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxPZj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sa2FlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pbnB1dC1waG9uZSIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRQaG9uZSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpTdHJpbmd9KV0sTWFlKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZm9ybWF0dGVkUGhvbmUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImZvcm1hdHRlZFBob25lImluIGcsImhhcyIpLGdldDpzKGc9PmcuZm9ybWF0dGVkUGhvbmUsImdldCIpLHNldDpzKChnLHkpPT57Zy5mb3JtYXR0ZWRQaG9uZT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCksTWFlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InZhbHVlImluIGcsImhhcyIpLGdldDpzKGc9PmcudmFsdWUsImdldCIpLHNldDpzKChnLHkpPT57Zy52YWx1ZT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LGMscCksTWFlKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGxhY2Vob2xkZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InBsYWNlaG9sZGVyImluIGcsImhhcyIpLGdldDpzKGc9PmcucGxhY2Vob2xkZXIsImdldCIpLHNldDpzKChnLHkpPT57Zy5wbGFjZWhvbGRlcj15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG0sdiksTWFlKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsdCkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGRlbW89b2lhO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT1PZih0aGlzLG4sIiIpO2dldCBmb3JtYXR0ZWRQaG9uZSgpe3JldHVybiB0aGlzLiNlfXNldCBmb3JtYXR0ZWRQaG9uZShiKXt0aGlzLiNlPWJ9I3Q9KE9mKHRoaXMsbCksT2YodGhpcyxjLCIiKSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHZhbHVlKGIpe3RoaXMuI3Q9Yn0jYT0oT2YodGhpcyxwKSxPZih0aGlzLG0sIisxICg1NTUpIDEyMy00NTY3IikpO2dldCBwbGFjZWhvbGRlcigpe3JldHVybiB0aGlzLiNhfXNldCBwbGFjZWhvbGRlcihiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1bRWUsLi4ud3QuYmFzZVN0eWxlcyxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgLyogUGhvbmUgaW5wdXQgc3BlY2lmaWMgc3R5bGVzIGNhbiBnbyBoZXJlICovCiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7dGhpcy5sYWJlbH0gLmluZm9UZXh0PSR7dGhpcy5pbmZvVGV4dH0+PC9kZWVzLWxhYmVsPgogICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgIC52YWx1ZT0ke3RoaXMuZm9ybWF0dGVkUGhvbmV9CiAgICAgICAgICAuZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfQogICAgICAgICAgLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0ke3RoaXMucGxhY2Vob2xkZXJ9CiAgICAgICAgICBAaW5wdXQ9JHtiPT50aGlzLmhhbmRsZVBob25lSW5wdXQoYil9CiAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICR7dGhpcy5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICA8L2Rpdj4KICAgIGB9Zmlyc3RVcGRhdGVkKGIpe3N1cGVyLmZpcnN0VXBkYXRlZChiKSx0aGlzLnZhbHVlJiYodGhpcy5mb3JtYXR0ZWRQaG9uZT10aGlzLmZvcm1hdFBob25lTnVtYmVyKHRoaXMudmFsdWUpKTtsZXQgZz10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC10ZXh0Iik7ZyYmZy5jaGFuZ2VTdWJqZWN0JiZnLmNoYW5nZVN1YmplY3Quc3Vic2NyaWJlKCgpPT57dGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9KX1oYW5kbGVQaG9uZUlucHV0KGIpe2xldCBnPWIudGFyZ2V0LHk9dGhpcy5jbGVhblBob25lTnVtYmVyKGcudmFsdWUpLGs9dGhpcy5mb3JtYXRQaG9uZU51bWJlcih5KTtpZihnLnZhbHVlIT09ayl7bGV0IEM9Zy5zZWxlY3Rpb25TdGFydHx8MDtnLnZhbHVlPWs7bGV0IE49dGhpcy5jYWxjdWxhdGVDdXJzb3JQb3NpdGlvbih5LGssQyk7Zy5zZXRTZWxlY3Rpb25SYW5nZShOLE4pfXRoaXMuZm9ybWF0dGVkUGhvbmU9ayx0aGlzLnZhbHVlPXksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9Y2xlYW5QaG9uZU51bWJlcihiKXtyZXR1cm4gYi5yZXBsYWNlKC9cRC9nLCIiKX1mb3JtYXRQaG9uZU51bWJlcihiKXtsZXQgZz10aGlzLmNsZWFuUGhvbmVOdW1iZXIoYik7cmV0dXJuIGcubGVuZ3RoPT09MD8iIjpnLmxlbmd0aDw9Mz9nOmcubGVuZ3RoPD02P2AoJHtnLnNsaWNlKDAsMyl9KSAke2cuc2xpY2UoMyl9YDpnLmxlbmd0aDw9MTA/YCgke2cuc2xpY2UoMCwzKX0pICR7Zy5zbGljZSgzLDYpfS0ke2cuc2xpY2UoNil9YDpgKyR7Zy5zbGljZSgwLGcubGVuZ3RoLTEwKX0gKCR7Zy5zbGljZSgtMTAsLTcpfSkgJHtnLnNsaWNlKC03LC00KX0tJHtnLnNsaWNlKC00KX1gfWNhbGN1bGF0ZUN1cnNvclBvc2l0aW9uKGIsZyx5KXtsZXQgaz0wO2ZvcihsZXQgQz0wO0M8eSYmQzxnLmxlbmd0aDtDKyspL1xkLy50ZXN0KGdbQ10pfHxrKys7cmV0dXJuIE1hdGgubWluKHkrayxnLmxlbmd0aCl9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy52YWx1ZX1zZXRWYWx1ZShiKXt0aGlzLnZhbHVlPWIsdGhpcy5mb3JtYXR0ZWRQaG9uZT10aGlzLmZvcm1hdFBob25lTnVtYmVyKGIpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxPZih0aGlzLHYpfXN0YXRpY3tPZihyLHQpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgbGlhLGNpYT1mKCgpPT57bGUoKTtOYSgpO1VzKCk7bGlhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcigiI3RvZ2dsZS1hbGwtb24iKSx0PWEucXVlcnlTZWxlY3RvcigiI3RvZ2dsZS1hbGwtb2ZmIikscj1hLnF1ZXJ5U2VsZWN0b3JBbGwoIi5mZWF0dXJlLXRvZ2dsZXMgZGVlcy1pbnB1dC10b2dnbGUiKTtlJiZ0JiYoZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntyLmZvckVhY2goaT0+e2xldCBvPWk7IW8uZGlzYWJsZWQmJiFvLnJlcXVpcmVkJiYoby52YWx1ZT0hMCl9KX0pLHQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ci5mb3JFYWNoKGk9PntsZXQgbz1pOyFvLmRpc2FibGVkJiYhby5yZXF1aXJlZCYmKG8udmFsdWU9ITEpfSl9KSl9fT4KICAgIDxzdHlsZT4KICAgICAgJHtYYAogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KCiAgICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIH0KCiAgICAgICAgZGVlcy1wYW5lbDpsYXN0LWNoaWxkIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgICAgfQoKICAgICAgICAudG9nZ2xlLWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLmhvcml6b250YWwtdG9nZ2xlcyB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZ2FwOiAzMnB4OwogICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIH0KCiAgICAgICAgLmludGVyYWN0aXZlLXNlY3Rpb24gewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgfQoKICAgICAgICAub3V0cHV0LXRleHQgewogICAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjEwIDQwJSA4MCUpIil9OwogICAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk4JSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIG1pbi1oZWlnaHQ6IDI0cHg7CiAgICAgICAgfQoKICAgICAgICAuc2V0dGluZ3Mtc2VjdGlvbiB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTclKSIsImhzbCgwIDAlIDclKSIpfTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIH0KCiAgICAgICAgLmJ1dHRvbi1ncm91cCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLmZlYXR1cmUtdG9nZ2xlcyB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxMS44JSkiKX07CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICB9CgogICAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICB9CgogICAgICAgIC5kcmFnLWhpbnQgewogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJCYXNpYyBUb2dnbGUifSAuc3VidGl0bGU9JHsiU2ltcGxlIG9uL29mZiB0b2dnbGUgc3dpdGNoIHdpdGggZHJhZyBzdXBwb3J0In0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiRW5hYmxlIGZlYXR1cmUifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgLmtleT0keyJiYXNpYyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IkFjdGl2ZSB0b2dnbGUifQogICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgLmtleT0keyJhY3RpdmUifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJXaXRoIGRlc2NyaXB0aW9uIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJUaGlzIHRvZ2dsZSBoYXMgYWRkaXRpb25hbCBoZWxwZXIgdGV4dCBleHBsYWluaW5nIGl0cyBwdXJwb3NlIn0KICAgICAgICAgICAgLmtleT0keyJ3aXRoRGVzYyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICA8cCBjbGFzcz0iZHJhZy1oaW50Ij5UaXA6IFlvdSBjYW4gZHJhZyB0aGUgdG9nZ2xlIGtub2IgdG8gc3dpdGNoIHN0YXRlczwvcD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlRvZ2dsZSBTdGF0ZXMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IHRvZ2dsZSBzdGF0ZXMgYW5kIGNvbmZpZ3VyYXRpb25zIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiRGVmYXVsdCAob2ZmKSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJFbmFibGVkIChvbikifQogICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiRGlzYWJsZWQgKG9mZikifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IkRpc2FibGVkIChvbikifQogICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IlJlcXVpcmVkIChhbHdheXMgb24pIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiVGhpcyB0b2dnbGUgY2Fubm90IGJlIHR1cm5lZCBvZmYifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJIb3Jpem9udGFsIExheW91dCJ9IC5zdWJ0aXRsZT0keyJUb2dnbGVzIGFycmFuZ2VkIGhvcml6b250YWxseSBmb3IgY29tcGFjdCBpbnRlcmZhY2VzIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkaXYgY2xhc3M9Imhvcml6b250YWwtdG9nZ2xlcyI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAgIC5sYWJlbD0keyJXaUZpIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiQmx1ZXRvb3RoIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiR1BTIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiTkZDIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlNldHRpbmdzIEV4YW1wbGUifSAuc3VidGl0bGU9JHsiVG9nZ2xlcyBpbiBhIHR5cGljYWwgc2V0dGluZ3MgY29udGV4dCJ9PgogICAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24iPgogICAgICAgICAgPGg0IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Ob3RpZmljYXRpb24gU2V0dGluZ3M8L2g0PgoKICAgICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAgIC5sYWJlbD0keyJQdXNoIG5vdGlmaWNhdGlvbnMifQogICAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJSZWNlaXZlIHB1c2ggbm90aWZpY2F0aW9ucyBvbiB5b3VyIGRldmljZSJ9CiAgICAgICAgICAgICAgLmtleT0keyJwdXNoIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiRW1haWwgbm90aWZpY2F0aW9ucyJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkdldCBpbXBvcnRhbnQgdXBkYXRlcyB2aWEgZW1haWwifQogICAgICAgICAgICAgIC5rZXk9JHsiZW1haWwifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAgIC5sYWJlbD0keyJTb3VuZCJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlBsYXkgYSBzb3VuZCBmb3Igbm90aWZpY2F0aW9ucyJ9CiAgICAgICAgICAgICAgLmtleT0keyJzb3VuZCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IlZpYnJhdGlvbiJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlZpYnJhdGUgZm9yIG5vdGlmaWNhdGlvbnMifQogICAgICAgICAgICAgIC5rZXk9JHsidmlicmF0aW9uIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CiAgICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkZlYXR1cmUgVG9nZ2xlcyJ9IC5zdWJ0aXRsZT0keyJCYXRjaCBvcGVyYXRpb25zIG9uIG11bHRpcGxlIHRvZ2dsZXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIGlkPSJ0b2dnbGUtYWxsLW9uIiB0eXBlPSJzZWNvbmRhcnkiPkVuYWJsZSBBbGw8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIGlkPSJ0b2dnbGUtYWxsLW9mZiIgdHlwZT0ic2Vjb25kYXJ5Ij5EaXNhYmxlIEFsbDwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtdG9nZ2xlcyI+CiAgICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiRGFyayBNb2RlIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAua2V5PSR7ImRhcmtNb2RlIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiQXV0by1zYXZlIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAua2V5PSR7ImF1dG9TYXZlIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiU3BlbGwgY2hlY2sifQogICAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAgIC5rZXk9JHsic3BlbGxDaGVjayJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkRldmVsb3BlciBtb2RlIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgICAua2V5PSR7ImRldk1vZGUifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAgIC5sYWJlbD0keyJCZXRhIGZlYXR1cmVzIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgICAua2V5PSR7ImJldGEifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KICAgICAgICAgIDwvZGVlcy1mb3JtPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiSW50ZXJhY3RpdmUgRXhhbXBsZSJ9IC5zdWJ0aXRsZT0keyJUb2dnbGUgdG8gc2VlIHZhbHVlIGNoYW5nZXMgaW4gcmVhbC10aW1lIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiQWlycGxhbmUgbW9kZSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICBAbmV3VmFsdWU9JHthPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2FpcnBsYW5lLW91dHB1dCIpO2UmJihlLnRleHRDb250ZW50PWBBaXJwbGFuZSBtb2RlOiAke2EuZGV0YWlsPyJPTiI6Ik9GRiJ9YCl9fQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJEbyBub3QgZGlzdHVyYiJ9CiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICBAbmV3VmFsdWU9JHthPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2RuZC1vdXRwdXQiKTtlJiYoZS50ZXh0Q29udGVudD1gRG8gbm90IGRpc3R1cmI6ICR7YS5kZXRhaWw/IkVOQUJMRUQiOiJESVNBQkxFRCJ9YCl9fQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CiAgICAgICAgPC9kZWVzLWZvcm0+CgogICAgICAgIDxkaXYgY2xhc3M9ImludGVyYWN0aXZlLXNlY3Rpb24iPgogICAgICAgICAgPGRpdiBpZD0iYWlycGxhbmUtb3V0cHV0IiBjbGFzcz0ib3V0cHV0LXRleHQiPkFpcnBsYW5lIG1vZGU6IE9GRjwvZGl2PgogICAgICAgICAgPGRpdiBpZD0iZG5kLW91dHB1dCIgY2xhc3M9Im91dHB1dC10ZXh0IiBzdHlsZT0ibWFyZ2luLXRvcDogOHB4OyI+RG8gbm90IGRpc3R1cmI6IERJU0FCTEVEPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBkaWEsSlllLFNhZSxlS2U9ZigoKT0+e2xlKCk7ZWEoKTtTcigpO2NpYSgpO2ZzKCk7UWUoKTtkaWE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEpZZT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sU2FlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pbnB1dC10b2dnbGUiKV0sZSx0PVtdLHIsaT13dCxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0VG9nZ2xlIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITB9KV0sZGlhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+InZhbHVlImluIHAsImhhcyIpLGdldDpzKHA9PnAudmFsdWUsImdldCIpLHNldDpzKChwLHUpPT57cC52YWx1ZT11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksZGlhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9c3RhdGljIGRlbW89bGlhO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT1KWWUodGhpcyxuLCExKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoYyl7dGhpcy4jZT1jfWN1cnJlbnRYPShKWWUodGhpcyxsKSwwKTtpc0RyYWdnaW5nPSExO2hhc0RyYWdnZWQ9ITE7c3RhcnRYPTA7dHJhY2tXaWR0aD0zNjt0cmFja0hlaWdodD0yMDtrbm9iU2l6ZT0xNDtwYWRkaW5nPTI7bWF4VHJhdmVsPTE2O2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmxhYmVsUG9zaXRpb249InJpZ2h0In1zdGF0aWMgc3R5bGVzPVtFZSwuLi53dC5iYXNlU3R5bGVzLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAqIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICA6aG9zdCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtdHJhY2sgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgd2lkdGg6IDM2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAzLjklKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgbWFyZ2luLXRvcDogMXB4OwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lcjpob3ZlciAudG9nZ2xlLXRyYWNrIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgIH0KCiAgICAgIDpob3N0KFt2YWx1ZV0pIC50b2dnbGUtdHJhY2sgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS10cmFjazpmb2N1cy12aXNpYmxlIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4xKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC50b2dnbGUta25vYiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMnB4OwogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDYzLjklKSIsImhzbCgwIDAlIDQ1LjElKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMTVzIGVhc2UsIGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICB0b3VjaC1hY3Rpb246IG5vbmU7CiAgICAgIH0KCiAgICAgIC50b2dnbGUta25vYi5kcmFnZ2luZyB7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICA6aG9zdChbdmFsdWVdKSAudG9nZ2xlLWtub2IgewogICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOwogICAgICB9CgogICAgICAvKiBEaXNhYmxlZCBzdGF0ZSAqLwogICAgICAubWFpbmNvbnRhaW5lci5kaXNhYmxlZCB7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtdHJhY2suZGlzYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICB9CgogICAgICAvKiBSZXF1aXJlZCBzdGF0ZSAobG9ja2VkIG9uKSAqLwogICAgICA6aG9zdChbcmVxdWlyZWRdW3ZhbHVlXSkgLnRvZ2dsZS10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA2MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNDkuOCUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA2MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNDkuOCUpIil9OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIDpob3N0KFtyZXF1aXJlZF1bdmFsdWVdKSAudG9nZ2xlLWtub2IgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgNzAlKSIpfTsKICAgICAgfQoKICAgICAgLyogTGFiZWwgKi8KICAgICAgLmxhYmVsLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXI6aG92ZXIgLnRvZ2dsZS1sYWJlbCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lci5kaXNhYmxlZDpob3ZlciAudG9nZ2xlLWxhYmVsIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICB9CgogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIgJHt0aGlzLmRpc2FibGVkPyJkaXNhYmxlZCI6IiJ9IiBAY2xpY2s9IiR7dGhpcy5oYW5kbGVDbGlja30iPgogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0idG9nZ2xlLXRyYWNrICR7dGhpcy5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSIKICAgICAgICAgICAgdGFiaW5kZXg9IiR7dGhpcy5kaXNhYmxlZD8iLTEiOiIwIn0iCiAgICAgICAgICAgIEBrZXlkb3duPSIke3RoaXMuaGFuZGxlS2V5ZG93bn0iCiAgICAgICAgICA+CiAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICBjbGFzcz0idG9nZ2xlLWtub2IiCiAgICAgICAgICAgICAgc3R5bGU9ImxlZnQ6ICR7dGhpcy5wYWRkaW5nK3RoaXMuY3VycmVudFh9cHg7IgogICAgICAgICAgICAgIEBwb2ludGVyZG93bj0iJHt0aGlzLm9uUG9pbnRlckRvd259IgogICAgICAgICAgICAgIEBwb2ludGVybW92ZT0iJHt0aGlzLm9uUG9pbnRlck1vdmV9IgogICAgICAgICAgICAgIEBwb2ludGVydXA9IiR7dGhpcy5vblBvaW50ZXJVcH0iCiAgICAgICAgICAgICAgQHBvaW50ZXJjYW5jZWw9IiR7dGhpcy5vblBvaW50ZXJVcH0iCiAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwtY29udGFpbmVyIj4KICAgICAgICAgICAgJHt0aGlzLmxhYmVsP3dgPGRpdiBjbGFzcz0idG9nZ2xlLWxhYmVsIj4ke3RoaXMubGFiZWx9PC9kaXY+YDoiIn0KICAgICAgICAgICAgJHt0aGlzLnJlbmRlckRlc2NyaXB0aW9uKCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZChjKXthd2FpdCBzdXBlci5maXJzdFVwZGF0ZWQoYyksdGhpcy5yZXF1aXJlZCYmIXRoaXMudmFsdWUmJih0aGlzLnZhbHVlPSEwKSx0aGlzLmN1cnJlbnRYPXRoaXMudmFsdWU/dGhpcy5tYXhUcmF2ZWw6MCx0aGlzLnJlcXVlc3RVcGRhdGUoKX1hc3luYyBoYW5kbGVDbGljayhjKXtpZih0aGlzLmlzRHJhZ2dpbmd8fHRoaXMuaGFzRHJhZ2dlZCl7Yy5zdG9wUHJvcGFnYXRpb24oKSxjLnByZXZlbnREZWZhdWx0KCk7cmV0dXJufWlmKCF0aGlzLmRpc2FibGVkKXtpZih0aGlzLnJlcXVpcmVkKXt0aGlzLmN1cnJlbnRYPXRoaXMubWF4VHJhdmVsLHRoaXMucmVxdWVzdFVwZGF0ZSgpLGF3YWl0IG5ldyBQcm9taXNlKHA9PnNldFRpbWVvdXQocCwxMCkpLHRoaXMuY3VycmVudFg9dGhpcy5tYXhUcmF2ZWwtMyx0aGlzLnJlcXVlc3RVcGRhdGUoKSxhd2FpdCBIdC5zbWFydGRlbGF5LmRlbGF5Rm9yKDE1MCksdGhpcy5jdXJyZW50WD10aGlzLm1heFRyYXZlbCx0aGlzLnJlcXVlc3RVcGRhdGUoKTtyZXR1cm59Yy5zdG9wUHJvcGFnYXRpb24oKSxjLnByZXZlbnREZWZhdWx0KCksdGhpcy52YWx1ZT0hdGhpcy52YWx1ZSx0aGlzLmN1cnJlbnRYPXRoaXMudmFsdWU/dGhpcy5tYXhUcmF2ZWw6MCx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJuZXdWYWx1ZSIse2RldGFpbDp0aGlzLnZhbHVlLGJ1YmJsZXM6ITB9KSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyksSHQuc21hcnRkZWxheS5kZWxheUZvcigwKS50aGVuKCgpPT57dGhpcy5oYXNEcmFnZ2VkPSExfSl9fW9uUG9pbnRlckRvd24oYyl7dGhpcy5yZXF1aXJlZHx8dGhpcy5kaXNhYmxlZHx8KHRoaXMuaXNEcmFnZ2luZz0hMCx0aGlzLnN0YXJ0WD1jLmNsaWVudFgtdGhpcy5jdXJyZW50WCxjLnRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZShjLnBvaW50ZXJJZCkpfW9uUG9pbnRlck1vdmUoYyl7aWYoIXRoaXMuaXNEcmFnZ2luZylyZXR1cm47bGV0IHA9Yy5jbGllbnRYLXRoaXMuc3RhcnRYO3RoaXMuaGFzRHJhZ2dlZD0hMDtsZXQgdT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50b2dnbGUta25vYiIpO3UmJnUuY2xhc3NMaXN0LmFkZCgiZHJhZ2dpbmciKSx0aGlzLmN1cnJlbnRYPU1hdGgubWF4KDAsTWF0aC5taW4ocCx0aGlzLm1heFRyYXZlbCkpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfW9uUG9pbnRlclVwKGMpe2lmKCF0aGlzLmlzRHJhZ2dpbmd8fChjLnRhcmdldC5yZWxlYXNlUG9pbnRlckNhcHR1cmUoYy5wb2ludGVySWQpLHRoaXMuaXNEcmFnZ2luZz0hMSwhdGhpcy5oYXNEcmFnZ2VkKSlyZXR1cm47bGV0IHA9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudG9nZ2xlLWtub2IiKTtwJiZwLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIik7bGV0IHU9dGhpcy5tYXhUcmF2ZWwvMjt0aGlzLnZhbHVlPXRoaXMuY3VycmVudFg+dSx0aGlzLmN1cnJlbnRYPXRoaXMudmFsdWU/dGhpcy5tYXhUcmF2ZWw6MCx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJuZXdWYWx1ZSIse2RldGFpbDp0aGlzLnZhbHVlLGJ1YmJsZXM6ITB9KSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyksSHQuc21hcnRkZWxheS5kZWxheUZvcigwKS50aGVuKCgpPT57dGhpcy5oYXNEcmFnZ2VkPSExfSl9dXBkYXRlZChjKXtzdXBlci51cGRhdGVkKGMpLGMuaGFzKCJ2YWx1ZSIpJiYhdGhpcy5pc0RyYWdnaW5nJiYhdGhpcy5oYXNEcmFnZ2VkJiYodGhpcy5jdXJyZW50WD10aGlzLnZhbHVlP3RoaXMubWF4VHJhdmVsOjAsdGhpcy5yZXF1ZXN0VXBkYXRlKCkpfWhhbmRsZUtleWRvd24oYyl7KGMua2V5PT09IiAifHxjLmtleT09PSJFbnRlciIpJiYoYy5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaGFuZGxlQ2xpY2soYykpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoYyl7dGhpcy52YWx1ZT1jfWZvY3VzKCl7bGV0IGM9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudG9nZ2xlLXRyYWNrIik7YyYmYy5mb2N1cygpfXN0YXRpY3tKWWUocix0KX19O3JldHVybiBkPXJ9KSgpfSk7dmFyIHVpYSxwaWE9ZigoKT0+e2xlKCk7dWlhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7WGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmhvcml6b250YWwtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuaW5mby1ib3ggewogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTNmMmZkOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgY29sb3I6ICMxOTc2ZDI7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAgIC5pbmZvLWJveCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxZTNhNWY7CiAgICAgICAgICAgIGNvbG9yOiAjOTBjYWY5OwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkJhc2ljIFR5cGUgTGlzdCJ9IC5zdWJ0aXRsZT0keyJBZGQgYW5kIHJlbW92ZSBpdGVtcyBmcm9tIGEgbGlzdCJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10eXBlbGlzdAogICAgICAgICAgICAubGFiZWw9JHsiVGFncyJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJBZGQgdGFncyBieSB0eXBpbmcgYW5kIHByZXNzaW5nIEVudGVyIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlRhZ3MgaGVscCBjYXRlZ29yaXplIGFuZCBmaWx0ZXIgeW91ciBjb250ZW50In0KICAgICAgICAgICAgLnZhbHVlPSR7WyJqYXZhc2NyaXB0IiwidHlwZXNjcmlwdCIsIndlYi1jb21wb25lbnRzIl19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXR5cGVsaXN0PgoKICAgICAgICAgIDxkZWVzLWlucHV0LXR5cGVsaXN0CiAgICAgICAgICAgIC5sYWJlbD0keyJUZWFtIE1lbWJlcnMifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiQWRkIGVtYWlsIGFkZHJlc3NlcyBvZiB0ZWFtIG1lbWJlcnMifQogICAgICAgICAgICAudmFsdWU9JHtbImFsaWNlQGV4YW1wbGUuY29tIiwiYm9iQGV4YW1wbGUuY29tIl19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXR5cGVsaXN0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiU2tpbGxzICYgS2V5d29yZHMifSAuc3VidGl0bGU9JHsiTWFuYWdlIGxpc3RzIG9mIHNraWxscyBhbmQga2V5d29yZHMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdHlwZWxpc3QKICAgICAgICAgICAgLmxhYmVsPSR7IllvdXIgU2tpbGxzIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7Ikxpc3QgeW91ciBwcm9mZXNzaW9uYWwgc2tpbGxzIn0KICAgICAgICAgICAgLnZhbHVlPSR7WyJIVE1MIiwiQ1NTIiwiSmF2YVNjcmlwdCIsIk5vZGUuanMiLCJSZWFjdCJdfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10eXBlbGlzdD4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJob3Jpem9udGFsLWdyb3VwIj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtdHlwZWxpc3QKICAgICAgICAgICAgICAubGFiZWw9JHsiQ2F0ZWdvcmllcyJ9CiAgICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7WyJUZWNobm9sb2d5IiwiRGVzaWduIiwiQnVzaW5lc3MiXX0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10eXBlbGlzdD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXR5cGVsaXN0CiAgICAgICAgICAgICAgLmxhYmVsPSR7IktleXdvcmRzIn0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgICAudmFsdWU9JHtbImlubm92YXRpb24iLCJzdGFydHVwIiwiZ3Jvd3RoIl19CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdHlwZWxpc3Q+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlJlcXVpcmVkICYgRGlzYWJsZWQgU3RhdGVzIn0gLnN1YnRpdGxlPSR7IkRpZmZlcmVudCBpbnB1dCBzdGF0ZXMgZm9yIHZhbGlkYXRpb24ifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdHlwZWxpc3QKICAgICAgICAgICAgLmxhYmVsPSR7IlByb2plY3QgRGVwZW5kZW5jaWVzIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7Ikxpc3QgYWxsIHJlcXVpcmVkIG5wbSBwYWNrYWdlcyJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAudmFsdWU9JHtbIkBkZXNpZ24uZXN0YXRlL2RlZXMtZWxlbWVudCIsIkBkZXNpZ24uZXN0YXRlL2RlZXMtZG9tdG9vbHMiXX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdHlwZWxpc3Q+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdHlwZWxpc3QKICAgICAgICAgICAgLmxhYmVsPSR7IlN5c3RlbSBUYWdzIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IlRoZXNlIHRhZ3MgYXJlIG1hbmFnZWQgYnkgdGhlIHN5c3RlbSJ9CiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgICAudmFsdWU9JHtbInN5c3RlbSIsInByb3RlY3RlZCIsInJlYWRvbmx5Il19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXR5cGVsaXN0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQXJ0aWNsZSBQdWJsaXNoaW5nIEZvcm0ifSAuc3VidGl0bGU9JHsiQ29tcGxldGUgZm9ybSB3aXRoIHRhZyBtYW5hZ2VtZW50In0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IkFydGljbGUgVGl0bGUifSAucmVxdWlyZWQ9JHshMH0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAubGFiZWw9JHsiU3VtbWFyeSJ9IAogICAgICAgICAgICAuaW5wdXRUeXBlPSR7InRleHRhcmVhIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IkJyaWVmIGRlc2NyaXB0aW9uIG9mIHRoZSBhcnRpY2xlIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIDxkZWVzLWlucHV0LXR5cGVsaXN0CiAgICAgICAgICAgIC5sYWJlbD0keyJUYWdzIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IkFkZCByZWxldmFudCB0YWdzIGZvciBiZXR0ZXIgZGlzY292ZXJhYmlsaXR5In0KICAgICAgICAgICAgLnZhbHVlPSR7WyJ0dXRvcmlhbCIsIndlYi1kZXZlbG9wbWVudCJdfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10eXBlbGlzdD4KICAgICAgICAgIDxkZWVzLWlucHV0LXR5cGVsaXN0CiAgICAgICAgICAgIC5sYWJlbD0keyJDby1BdXRob3JzIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IkFkZCBlbWFpbCBhZGRyZXNzZXMgb2YgY28tYXV0aG9ycyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXR5cGVsaXN0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImluZm8tYm94Ij4KICAgICAgICAgIDxzdHJvbmc+VGlwOjwvc3Ryb25nPiBUeXBlIGEgdmFsdWUgYW5kIHByZXNzIEVudGVyIHRvIGFkZCBpdCB0byB0aGUgbGlzdC4gQ2xpY2sgb24gYW55IGl0ZW0gdG8gcmVtb3ZlIGl0LgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgdEtlLEZVLHphZSxhS2U9ZigoKT0+e2xlKCk7ZWEoKTtTcigpO3BpYSgpO1FlKCk7dEtlPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxGVT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0semFlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pbnB1dC10eXBlbGlzdCIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRUeXBlbGlzdCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bSygpXSx0S2UodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4idmFsdWUiaW4gdiwiaGFzIiksZ2V0OnModj0+di52YWx1ZSwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnZhbHVlPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSx0S2UodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbnB1dFZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJpbnB1dFZhbHVlImluIHYsImhhcyIpLGdldDpzKHY9PnYuaW5wdXRWYWx1ZSwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LmlucHV0VmFsdWU9eH0sInNldCIpfSxtZXRhZGF0YTptfSxjLHApLHRLZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pfXN0YXRpYyBkZW1vPXVpYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9RlUodGhpcyxuLFtdKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUobSl7dGhpcy4jZT1tfSN0PShGVSh0aGlzLGwpLEZVKHRoaXMsYywiIikpO2dldCBpbnB1dFZhbHVlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGlucHV0VmFsdWUobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W0VlLC4uLnd0LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzMzMiLCIjZmZmIil9OwogICAgICB9CiAgICAgIC5tYWluYm94IHsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMjIyMjIyIil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYm9yZGVyLXRvcDogJHtoLmJkVGhlbWUoIjFweCBzb2xpZCAjQ0NDIiwiMXB4IHNvbGlkICNmZmZmZmYxMCIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAke2guYmRUaGVtZSgiMXB4IHNvbGlkICNDQ0MiLCIxcHggc29saWQgIzIyMiIpfTsKICAgICAgICBib3JkZXItcmlnaHQ6ICR7aC5iZFRoZW1lKCIxcHggc29saWQgI0NDQyIsIjFweCBzb2xpZCAjZmZmZmZmMTAiKX07CiAgICAgICAgYm9yZGVyLWxlZnQ6ICR7aC5iZFRoZW1lKCIxcHggc29saWQgI0NDQyIsIjFweCBzb2xpZCAjZmZmZmZmMTAiKX07CiAgICAgICAgYm94LXNoYWRvdzogJHtoLmJkVGhlbWUoIjBweCAxcHggNHB4IHJnYmEoMCwwLDAsMC4zKSIsIm5vbmUiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CiAgICAgIAogICAgICAubWFpbmJveDpob3ZlciB7CiAgICAgICAgZmlsdGVyOiAke2guYmRUaGVtZSgiYnJpZ2h0bmVzcygwLjk4KSIsImJyaWdodG5lc3MoMS4wNSkiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5tYWluYm94OmZvY3VzLXdpdGhpbiB7CiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCIjMDA2OWYyIiwiIzAwODRmZiIpfTsKICAgICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsKICAgICAgfQoKICAgICAgLnRhZ3MgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB9CgogICAgICAubm90YWdzIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjOTk5IiwiIzY2NiIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICB9CgogICAgICBpbnB1dCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y1ZjVmNSIsIiMxODE4MTgiKX07CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY29sb3I6IGluaGVyaXQ7CiAgICAgICAgcGFkZGluZzogMHB4IDE2cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBsaW5lLWhlaWdodDogMzJweDsKICAgICAgICBoZWlnaHQ6IDBweDsKICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4yczsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlMGUwZTAiLCIjMzMzIil9OwogICAgICB9CgogICAgICBpbnB1dDpmb2N1cyB7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzFhMWExYSIpfTsKICAgICAgfQogICAgICAKICAgICAgaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5OTkiLCIjNjY2Iil9OwogICAgICB9CgogICAgICAudGFnIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlOGY1ZTkiLCIjMmQzYTJkIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzJlN2QzMiIsIiM4MWM3ODQiKX07CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG1hcmdpbjogM3B4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjYzhlNmM5IiwiIzFiNWUyMCIpfTsKICAgICAgfQogICAgICAKICAgICAgLnRhZzpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNjOGU2YzkiLCIjM2Q0ZjNkIil9OwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsKICAgICAgfQoKICAgICAgLnRhZyAucmVtb3ZlIHsKICAgICAgICBtYXJnaW4tbGVmdDogOHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzOwogICAgICB9CgogICAgICAudGFnIC5yZW1vdmU6aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYzYyODI4IiwiI2VmNTM1MCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogRGlzYWJsZWQgc3RhdGUgKi8KICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLm1haW5ib3ggewogICAgICAgIG9wYWNpdHk6IDAuNjsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbZGlzYWJsZWRdKSAudGFncyB7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLnRhZyB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIGlucHV0IHsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjBmMGYwIiwiIzFhMWExYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0ke3RoaXMubGFiZWx9IC5pbmZvVGV4dD0ke3RoaXMuaW5mb1RleHR9PjwvZGVlcy1sYWJlbD4KICAgICAgICA8ZGl2IGNsYXNzPSJtYWluYm94Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InRhZ3MiIEBjbGljaz0keygpPT57dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikuZm9jdXMoKX19PgogICAgICAgICAgICAke3RoaXMudmFsdWUubGVuZ3RoPT09MD93YDxkaXYgY2xhc3M9Im5vdGFncyI+Tm8gdGFncyB5ZXQ8L2Rpdj5gOnRoaXMudmFsdWUubWFwKG09PndgCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhZyI+CiAgICAgICAgICAgICAgICAgICAgICAke219CiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVtb3ZlIiBAY2xpY2s9JHt2PT57di5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnJlbW92ZVRhZyhtKX19PsOXPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICBwbGFjZWhvbGRlcj0iVHlwZSwgcHJlc3MgRW50ZXIgdG8gYWRkIGl0Li4uIgogICAgICAgICAgICAudmFsdWU9JHt0aGlzLmlucHV0VmFsdWV9CiAgICAgICAgICAgIEBpbnB1dD0ke209Pnt0aGlzLmlucHV0VmFsdWU9bS50YXJnZXQudmFsdWV9fQogICAgICAgICAgICBAa2V5ZG93bj0ke209PnttLmtleT09PSJFbnRlciImJnRoaXMuaW5wdXRWYWx1ZS50cmltKCkmJihtLnByZXZlbnREZWZhdWx0KCksdGhpcy5hZGRUYWcodGhpcy5pbnB1dFZhbHVlLnRyaW0oKSkpfX0KICAgICAgICAgICAgLmRpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH0KICAgICAgICAgIC8+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnJlbmRlckRlc2NyaXB0aW9uKCl9CiAgICAgIDwvZGl2PgogICAgYH1hZGRUYWcobSl7dGhpcy52YWx1ZS5pbmNsdWRlcyhtKXx8KHRoaXMudmFsdWU9Wy4uLnRoaXMudmFsdWUsbV0sdGhpcy5pbnB1dFZhbHVlPSIiLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKX1yZW1vdmVUYWcobSl7dGhpcy52YWx1ZT10aGlzLnZhbHVlLmZpbHRlcih2PT52IT09bSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy52YWx1ZX1zZXRWYWx1ZShtKXt0aGlzLnZhbHVlPW19Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLEZVKHRoaXMscCl9c3RhdGlje0ZVKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBmaWEsaGlhLG1pYT1mKCgpPT57bGUoKTtOYSgpO1VzKCk7aGlhPXMoKCk9PncoZmlhfHwoZmlhPVU1KFtgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgIGAsYAogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRlZXMtaW5wdXQtdGFncwogICAgICAgICAgLmxhYmVsPWAsYAogICAgICAgICAgLnBsYWNlaG9sZGVyPWAsYAogICAgICAgICAgLnZhbHVlPWAsYAogICAgICAgICAgLmRlc2NyaXB0aW9uPWAsYAogICAgICAgID48L2RlZXMtaW5wdXQtdGFncz4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLWlucHV0LXRhZ3MKICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgIC5zdWdnZXN0aW9ucz1gLGAKICAgICAgICAgIC52YWx1ZT1gLGAKICAgICAgICAgIC5kZXNjcmlwdGlvbj1gLGAKICAgICAgICA+PC9kZWVzLWlucHV0LXRhZ3M+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1sYXlvdXQiPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAgICAgLmxhYmVsPWAsYAogICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgICAgICAubWF4VGFncz1gLGAKICAgICAgICAgICAgICAudmFsdWU9YCxgCiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPWAsYAogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRhZ3M+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAgICAgLmxhYmVsPWAsYAogICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgICAgICAubWF4VGFncz1gLGAKICAgICAgICAgICAgICAuc3VnZ2VzdGlvbnM9YCxgCiAgICAgICAgICAgICAgLnZhbHVlPWAsYAogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj1gLGAKICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10YWdzPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAubGFiZWw9YCxgCiAgICAgICAgICAucGxhY2Vob2xkZXI9YCxgCiAgICAgICAgICAucmVxdWlyZWQ9YCxgCiAgICAgICAgICAuZGVzY3JpcHRpb249YCxgCiAgICAgICAgPjwvZGVlcy1pbnB1dC10YWdzPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRlZXMtaW5wdXQtdGFncwogICAgICAgICAgLmxhYmVsPWAsYAogICAgICAgICAgLnZhbHVlPWAsYAogICAgICAgICAgLmRpc2FibGVkPWAsYAogICAgICAgICAgLmRlc2NyaXB0aW9uPWAsYAogICAgICAgID48L2RlZXMtaW5wdXQtdGFncz4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgICAgLnBsYWNlaG9sZGVyPWAsYAogICAgICAgICAgICAucmVxdWlyZWQ9YCxgCiAgICAgICAgICAgIC5rZXk9YCxgCiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQtbGF5b3V0Ij4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGFncwogICAgICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgICAgICAucGxhY2Vob2xkZXI9YCxgCiAgICAgICAgICAgICAgLnJlcXVpcmVkPWAsYAogICAgICAgICAgICAgIC5rZXk9YCxgCiAgICAgICAgICAgICAgLnN1Z2dlc3Rpb25zPWAsYAogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRhZ3M+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAgICAgLmxhYmVsPWAsYAogICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgICAgICAua2V5PWAsYAogICAgICAgICAgICAgIC5tYXhUYWdzPWAsYAogICAgICAgICAgICAgIC5zdWdnZXN0aW9ucz1gLGAKICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10YWdzPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPWAsYAogICAgICAgICAgICAuaW5wdXRUeXBlPWAsYAogICAgICAgICAgICAucGxhY2Vob2xkZXI9YCxgCiAgICAgICAgICAgIC5rZXk9YCxgCiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IC50ZXh0PWAsYD48L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICBpZD0iaW50ZXJhY3RpdmUtdGFncyIKICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgIC5zdWdnZXN0aW9ucz1gLGAKICAgICAgICAgIEBjaGFuZ2U9YCxgCiAgICAgICAgPjwvZGVlcy1pbnB1dC10YWdzPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9InRhZy1wcmV2aWV3IiBpZD0idGFncy1wcmV2aWV3Ij4KICAgICAgICAgIDxlbSBzdHlsZT0iY29sb3I6ICM5OTk7Ij5ObyB0YWdzIGFkZGVkIHlldC4uLjwvZW0+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0ib3V0cHV0LXByZXZpZXciIGlkPSJ0YWdzLWpzb24iPgogICAgICAgICAgPGVtPkpTT04gb3V0cHV0IHdpbGwgYXBwZWFyIGhlcmUuLi48L2VtPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAvLyBVcGRhdGUgSlNPTiBwcmV2aWV3CiAgICAgICAgICBjb25zdCB0YWdzSW5wdXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjaW50ZXJhY3RpdmUtdGFncycpOwogICAgICAgICAgdGFnc0lucHV0Py5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAoZSkgPT4gewogICAgICAgICAgICBjb25zdCBqc29uUHJldmlldyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YWdzLWpzb24nKTsKICAgICAgICAgICAgaWYgKGpzb25QcmV2aWV3KSB7CiAgICAgICAgICAgICAganNvblByZXZpZXcudGV4dENvbnRlbnQgPSBKU09OLnN0cmluZ2lmeShlLmRldGFpbC52YWx1ZSwgbnVsbCwgMik7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgIDxcL3NjcmlwdD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kaXY+CiAgPC9kZWVzLWRlbW93cmFwcGVyPgpgXSkpLFhgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRlZXMtcGFuZWwgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZGVlcy1wYW5lbDpsYXN0LWNoaWxkIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5ncmlkLWxheW91dCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAgIC5ncmlkLWxheW91dCB7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAub3V0cHV0LXByZXZpZXcgewogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjNmNGY2OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgY29sb3I6ICMzNzQxNTE7CiAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7CiAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDsKICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAgIC5vdXRwdXQtcHJldmlldyB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyYzJjMmM7CiAgICAgICAgICAgIGNvbG9yOiAjZTRlNGU3OwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAudGFnLXByZXZpZXcgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICNmOWZhZmI7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBtaW4taGVpZ2h0OiA0MHB4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgICAgLnRhZy1wcmV2aWV3IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzFmMjkzNzsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnRhZy1wcmV2aWV3LWl0ZW0gewogICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgICAgcGFkZGluZzogNHB4IDEycHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTBlN2ZmOwogICAgICAgICAgY29sb3I6ICM0MzM4Y2E7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgICAudGFnLXByZXZpZXctaXRlbSB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzMTJlODE7CiAgICAgICAgICAgIGNvbG9yOiAjYzdkMmZlOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgYCwiMS4gQmFzaWMgVGFncyBJbnB1dCIsIlNpbXBsZSB0YWcgaW5wdXQgd2l0aCBjb21tb24gcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzIiwiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2VzIiwiQWRkIGEgbGFuZ3VhZ2UuLi4iLFsiSmF2YVNjcmlwdCIsIlR5cGVTY3JpcHQiLCJQeXRob24iLCJHbyJdLCJQcmVzcyBFbnRlciBvciBjb21tYSB0byBhZGQgdGFncyIsIjIuIFRhZ3Mgd2l0aCBTdWdnZXN0aW9ucyIsIkF1dG8tY29tcGxldGUgc3VnZ2VzdGlvbnMgZm9yIGZhc3RlciBpbnB1dCIsIlRlY2ggU3RhY2siLCJUeXBlIHRvIHNlZSBzdWdnZXN0aW9ucy4uLiIsWyJSZWFjdCIsIlZ1ZSIsIkFuZ3VsYXIiLCJTdmVsdGUiLCJMaXQiLCJOZXh0LmpzIiwiTnV4dCIsIlN2ZWx0ZUtpdCIsIk5vZGUuanMiLCJEZW5vIiwiQnVuIiwiRXhwcmVzcyIsIkZhc3RpZnkiLCJOZXN0LmpzIiwiS29hIiwiTW9uZ29EQiIsIlBvc3RncmVTUUwiLCJSZWRpcyIsIk15U1FMIiwiU1FMaXRlIiwiQ2Fzc2FuZHJhIiwiRG9ja2VyIiwiS3ViZXJuZXRlcyIsIkFXUyIsIkF6dXJlIiwiR0NQIiwiVmVyY2VsIiwiTmV0bGlmeSJdLFsiUmVhY3QiLCJOb2RlLmpzIiwiUG9zdGdyZVNRTCIsIkRvY2tlciJdLCJTdGFydCB0eXBpbmcgdG8gc2VlIHN1Z2dlc3Rpb25zIGZyb20gcG9wdWxhciB0ZWNobm9sb2dpZXMiLCIzLiBMaW1pdGVkIFRhZ3MiLCJSZXN0cmljdCB0aGUgbnVtYmVyIG9mIHRhZ3MgdXNlcnMgY2FuIGFkZCIsIlRvcCAzIFNraWxscyIsIkFkZCB1cCB0byAzIHNraWxscy4uLiIsMyxbIkRlc2lnbiIsIkRldmVsb3BtZW50Il0sIk1heGltdW0gMyB0YWdzIGFsbG93ZWQiLCJDYXRlZ29yaWVzIChNYXggNSkiLCJTZWxlY3QgY2F0ZWdvcmllcy4uLiIsNSxbIkJsb2ciLCJUdXRvcmlhbCIsIk5ld3MiLCJSZXZpZXciLCJHdWlkZSIsIkNhc2UgU3R1ZHkiLCJJbnRlcnZpZXciXSxbIlR1dG9yaWFsIiwiR3VpZGUiXSwiQ2hvb3NlIHVwIHRvIDUgY2F0ZWdvcmllcyIsIjQuIFJlcXVpcmVkICYgVmFsaWRhdGlvbiIsIlRhZ3MgaW5wdXQgd2l0aCB2YWxpZGF0aW9uIHJlcXVpcmVtZW50cyIsIlByb2plY3QgVGFncyIsIkFkZCBhdCBsZWFzdCBvbmUgdGFnLi4uIiwhMCwiVGhpcyBmaWVsZCBpcyByZXF1aXJlZCAtIGFkZCBhdCBsZWFzdCBvbmUgdGFnIiwiNS4gRGlzYWJsZWQgU3RhdGUiLCJSZWFkLW9ubHkgdGFncyBkaXNwbGF5IiwiU3lzdGVtIFRhZ3MiLFsiU3lzdGVtIiwiUHJvdGVjdGVkIiwiUmVhZC1Pbmx5IiwiQXJjaGl2ZSJdLCEwLCJUaGVzZSB0YWdzIGNhbm5vdCBiZSBtb2RpZmllZCIsIjYuIEZvcm0gSW50ZWdyYXRpb24iLCJUYWdzIGlucHV0IHdvcmtpbmcgd2l0aGluIGEgZm9ybSBjb250ZXh0IiwiUHJvamVjdCBOYW1lIiwiTXkgQXdlc29tZSBQcm9qZWN0IiwhMCwibmFtZSIsIlRlY2hub2xvZ2llcyBVc2VkIiwiQWRkIHRlY2hub2xvZ2llcy4uLiIsITAsInRlY2hub2xvZ2llcyIsWyJUeXBlU2NyaXB0IiwiSmF2YVNjcmlwdCIsIlB5dGhvbiIsIkdvIiwiUnVzdCIsIlJlYWN0IiwiVnVlIiwiQW5ndWxhciIsIlN2ZWx0ZSIsIk5vZGUuanMiLCJEZW5vIiwiRXhwcmVzcyIsIkZhc3RBUEkiXSwiUHJvamVjdCBUYWdzIiwiQWRkIGRlc2NyaXB0aXZlIHRhZ3MuLi4iLCJ0YWdzIiwxMCxbImZyb250ZW5kIiwiYmFja2VuZCIsImZ1bGxzdGFjayIsIm1vYmlsZSIsImRlc2t0b3AiLCJ3ZWIiLCJhcGkiLCJkYXRhYmFzZSIsImRldm9wcyIsInVpL3V4Iiwib3BlbnNvdXJjZSIsInNhYXMiLCJlbnRlcnByaXNlIiwic3RhcnR1cCJdLCJEZXNjcmlwdGlvbiIsInRleHRhcmVhIiwiRGVzY3JpYmUgeW91ciBwcm9qZWN0Li4uIiwiZGVzY3JpcHRpb24iLCJDcmVhdGUgUHJvamVjdCIsIjcuIEludGVyYWN0aXZlIERlbW8iLCJBZGQgdGFncyBhbmQgc2VlIHRoZW0gY29sbGVjdGVkIGluIHJlYWwtdGltZSIsIllvdXIgSW50ZXJlc3RzIiwiVHlwZSB5b3VyIGludGVyZXN0cy4uLiIsWyJNdXNpYyIsIk1vdmllcyIsIkJvb2tzIiwiVHJhdmVsIiwiUGhvdG9ncmFwaHkiLCJDb29raW5nIiwiR2FtaW5nIiwiU3BvcnRzIiwiQXJ0IiwiVGVjaG5vbG9neSIsIkZhc2hpb24iLCJGaXRuZXNzIiwiTmF0dXJlIiwiU2NpZW5jZSIsIkhpc3RvcnkiXSxhPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3RhZ3MtcHJldmlldyIpLHQ9YS5kZXRhaWwudmFsdWU7ZSYmKHQubGVuZ3RoPT09MD9lLmlubmVySFRNTD0nPGVtIHN0eWxlPSJjb2xvcjogIzk5OTsiPk5vIHRhZ3MgYWRkZWQgeWV0Li4uPC9lbT4nOmUuaW5uZXJIVE1MPXQubWFwKHI9PmA8c3BhbiBjbGFzcz0idGFnLXByZXZpZXctaXRlbSI+JHtyfTwvc3Bhbj5gKS5qb2luKCIiKSl9KSwiZGVtb0Z1bmMiKX0pO3ZhciBiYyx0aSxDYWUscktlPWYoKCk9PntsZSgpO1NyKCk7dmEoKTttaWEoKTtRZSgpO2JjPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSx0aT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sQ2FlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pbnB1dC10YWdzIildLGUsdD1bXSxyLGk9d3QsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W10sQixNPVtdLFM9W107dmFyIFA9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNJbnB1dFRhZ3MiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgQT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6TnVtYmVyfSldLHg9WyQoe3R5cGU6QXJyYXl9KV0seT1bSygpXSxOPVtLKCldLE89W0soKV0sQj1bJCh7dHlwZTpTdHJpbmd9KV0sYmModGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4idmFsdWUiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri52YWx1ZSwiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnZhbHVlPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sbixsKSxiYyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYWNlaG9sZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJwbGFjZWhvbGRlciJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnBsYWNlaG9sZGVyLCJnZXQiKSxzZXQ6cygoRixXKT0+e0YucGxhY2Vob2xkZXI9V30sInNldCIpfSxtZXRhZGF0YTpBfSxjLHApLGJjKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWF4VGFncyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4ibWF4VGFncyJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLm1heFRhZ3MsImdldCIpLHNldDpzKChGLFcpPT57Ri5tYXhUYWdzPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sbSx2KSxiYyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN1Z2dlc3Rpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJzdWdnZXN0aW9ucyJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnN1Z2dlc3Rpb25zLCJnZXQiKSxzZXQ6cygoRixXKT0+e0Yuc3VnZ2VzdGlvbnM9V30sInNldCIpfSxtZXRhZGF0YTpBfSxiLGcpLGJjKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5wdXRWYWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4iaW5wdXRWYWx1ZSJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLmlucHV0VmFsdWUsImdldCIpLHNldDpzKChGLFcpPT57Ri5pbnB1dFZhbHVlPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sayxDKSxiYyh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dTdWdnZXN0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4ic2hvd1N1Z2dlc3Rpb25zImluIEYsImhhcyIpLGdldDpzKEY9PkYuc2hvd1N1Z2dlc3Rpb25zLCJnZXQiKSxzZXQ6cygoRixXKT0+e0Yuc2hvd1N1Z2dlc3Rpb25zPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sXyx6KSxiYyh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJoaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleCJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4LCJnZXQiKSxzZXQ6cygoRixXKT0+e0YuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXg9V30sInNldCIpfSxtZXRhZGF0YTpBfSxULEUpLGJjKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsaWRhdGlvblRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+InZhbGlkYXRpb25UZXh0ImluIEYsImhhcyIpLGdldDpzKEY9PkYudmFsaWRhdGlvblRleHQsImdldCIpLHNldDpzKChGLFcpPT57Ri52YWxpZGF0aW9uVGV4dD1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LE0sUyksYmMobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6QX0sbnVsbCx0KSxQPXI9ZS52YWx1ZSxBJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkF9KX1zdGF0aWMgZGVtbz1oaWE7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPXRpKHRoaXMsbixbXSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKEEpe3RoaXMuI2U9QX0jdD0odGkodGhpcyxsKSx0aSh0aGlzLGMsIkFkZCB0YWdzLi4uIikpO2dldCBwbGFjZWhvbGRlcigpe3JldHVybiB0aGlzLiN0fXNldCBwbGFjZWhvbGRlcihBKXt0aGlzLiN0PUF9I2E9KHRpKHRoaXMscCksdGkodGhpcyxtLDApKTtnZXQgbWF4VGFncygpe3JldHVybiB0aGlzLiNhfXNldCBtYXhUYWdzKEEpe3RoaXMuI2E9QX0jcj0odGkodGhpcyx2KSx0aSh0aGlzLGIsW10pKTtnZXQgc3VnZ2VzdGlvbnMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc3VnZ2VzdGlvbnMoQSl7dGhpcy4jcj1BfSNzPSh0aSh0aGlzLGcpLHRpKHRoaXMsaywiIikpO2dldCBpbnB1dFZhbHVlKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGlucHV0VmFsdWUoQSl7dGhpcy4jcz1BfSNpPSh0aSh0aGlzLEMpLHRpKHRoaXMsXywhMSkpO2dldCBzaG93U3VnZ2VzdGlvbnMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgc2hvd1N1Z2dlc3Rpb25zKEEpe3RoaXMuI2k9QX0jbz0odGkodGhpcyx6KSx0aSh0aGlzLFQsLTEpKTtnZXQgaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXgoKXtyZXR1cm4gdGhpcy4jb31zZXQgaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXgoQSl7dGhpcy4jbz1BfSNuPSh0aSh0aGlzLEUpLHRpKHRoaXMsTSwiIikpO2dldCB2YWxpZGF0aW9uVGV4dCgpe3JldHVybiB0aGlzLiNufXNldCB2YWxpZGF0aW9uVGV4dChBKXt0aGlzLiNuPUF9c3RhdGljIHN0eWxlcz1bRWUsLi4ud3QuYmFzZVN0eWxlcyxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdSb2JvdG8nLCBzYW5zLXNlcmlmOwogICAgICB9CgogICAgICAuaW5wdXQtd3JhcHBlciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC50YWdzLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgICBtaW4taGVpZ2h0OiA0MHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGN1cnNvcjogdGV4dDsKICAgICAgfQoKICAgICAgLnRhZ3MtY29udGFpbmVyOmhvdmVyOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgIH0KCiAgICAgIC50YWdzLWNvbnRhaW5lcjpmb2N1cy13aXRoaW4gewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4xKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC50YWdzLWNvbnRhaW5lci5kaXNhYmxlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC50YWcgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNSAyMC4yJSA2NS4xJSAvIDAuMikiLCJoc2woMjE1IDIwLjIlIDM1LjElIC8gMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgMjYuNyUpIiwiaHNsKDIxNy45IDEwLjYlIDc0LjklKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNSAyMC4yJSA2NS4xJSAvIDAuMykiLCJoc2woMjE1IDIwLjIlIDM1LjElIC8gMC4zKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgYW5pbWF0aW9uOiB0YWdBcHBlYXIgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyB0YWdBcHBlYXIgewogICAgICAgIGZyb20gewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgfQogICAgICAgIHRvIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLnRhZy1yZW1vdmUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA0Ni43JSkiLCJoc2woMjE3LjkgMTAuNiUgNTQuOSUpIil9OwogICAgICB9CgogICAgICAudGFnLXJlbW92ZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wOCkiLCJoc2woMCAwJSAxMDAlIC8gMC4wOCkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTcuOSAxMC42JSA3NC45JSkiKX07CiAgICAgIH0KCiAgICAgIC50YWctcmVtb3ZlIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDEwcHg7CiAgICAgICAgaGVpZ2h0OiAxMHB4OwogICAgICB9CgogICAgICAudGFnLWlucHV0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMTIwcHg7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICBwYWRkaW5nOiAycHggNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICB9CgogICAgICAudGFnLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA2My45JSkiLCJoc2woMCAwJSA0NS4xJSkiKX07CiAgICAgIH0KCiAgICAgIC50YWctaW5wdXQ6ZGlzYWJsZWQgewogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC8qIFN1Z2dlc3Rpb25zIGRyb3Bkb3duICovCiAgICAgIC5zdWdnZXN0aW9ucy1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLnN1Z2dlc3Rpb25zLWRyb3Bkb3duIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDMuOSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IGhzbCgwIDAlIDAlIC8gMC4xKSwgMCAycHggNHB4IC0ycHggaHNsKDAgMCUgMCUgLyAwLjEpOwogICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgei1pbmRleDogMTAwMDsKICAgICAgfQoKICAgICAgLnN1Z2dlc3Rpb24gewogICAgICAgIHBhZGRpbmc6IDZweCAxMHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgfQoKICAgICAgLnN1Z2dlc3Rpb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgIH0KCiAgICAgIC5zdWdnZXN0aW9uLmhpZ2hsaWdodGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICB9CgogICAgICAvKiBWYWxpZGF0aW9uIHN0eWxlcyAqLwogICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlKSIsImhzbCgwIDYyLjglIDMwLjYlKSIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbWFyZ2luLXRvcDogNnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgIH0KCiAgICAgIC8qIFNjcm9sbGJhciBzdHlsaW5nICovCiAgICAgIC5zdWdnZXN0aW9ucy1kcm9wZG93bjo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICAgIHdpZHRoOiA4cHg7CiAgICAgIH0KCiAgICAgIC5zdWdnZXN0aW9ucy1kcm9wZG93bjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAuc3VnZ2VzdGlvbnMtZHJvcGRvd246Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgfQoKICAgICAgLnN1Z2dlc3Rpb25zLWRyb3Bkb3duOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDIwLjklKSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IEE9dGhpcy5zdWdnZXN0aW9ucy5maWx0ZXIoRj0+IXRoaXMudmFsdWUuaW5jbHVkZXMoRikmJkYudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLmlucHV0VmFsdWUudG9Mb3dlckNhc2UoKSkpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICAke3RoaXMubGFiZWw/d2A8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAucmVxdWlyZWQ9JHt0aGlzLnJlcXVpcmVkfT48L2RlZXMtbGFiZWw+YDoiIn0KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJzdWdnZXN0aW9ucy1jb250YWluZXIiPgogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0idGFncy1jb250YWluZXIgJHt0aGlzLmRpc2FibGVkPyJkaXNhYmxlZCI6IiJ9IgogICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZUNvbnRhaW5lckNsaWNrfQogICAgICAgICAgPgogICAgICAgICAgICAke3RoaXMudmFsdWUubWFwKEY9PndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFnIj4KICAgICAgICAgICAgICAgIDxzcGFuPiR7Rn08L3NwYW4+CiAgICAgICAgICAgICAgICAke3RoaXMuZGlzYWJsZWQ/IiI6d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFnLXJlbW92ZSIgQGNsaWNrPSR7Vz0+dGhpcy5yZW1vdmVUYWcoVyxGKX0+CiAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6eCJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGB9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfQogICAgICAgICAgICAKICAgICAgICAgICAgJHshdGhpcy5kaXNhYmxlZCYmKCF0aGlzLm1heFRhZ3N8fHRoaXMudmFsdWUubGVuZ3RoPHRoaXMubWF4VGFncyk/d2AKICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICBjbGFzcz0idGFnLWlucHV0IgogICAgICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7dGhpcy5wbGFjZWhvbGRlcn0KICAgICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuaW5wdXRWYWx1ZX0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke3RoaXMuaGFuZGxlSW5wdXR9CiAgICAgICAgICAgICAgICBAa2V5ZG93bj0ke3RoaXMuaGFuZGxlS2V5RG93bn0KICAgICAgICAgICAgICAgIEBmb2N1cz0ke3RoaXMuaGFuZGxlRm9jdXN9CiAgICAgICAgICAgICAgICBAYmx1cj0ke3RoaXMuaGFuZGxlQmx1cn0KICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9CiAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICR7dGhpcy5zaG93U3VnZ2VzdGlvbnMmJkEubGVuZ3RoPjA/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VnZ2VzdGlvbnMtZHJvcGRvd24iPgogICAgICAgICAgICAgICR7QS5tYXAoKEYsVyk9PndgCiAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgIGNsYXNzPSJzdWdnZXN0aW9uICR7Vz09PXRoaXMuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXg/ImhpZ2hsaWdodGVkIjoiIn0iCiAgICAgICAgICAgICAgICAgIEBtb3VzZWRvd249JHtqPT57ai5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuYWRkVGFnKEYpfX0KICAgICAgICAgICAgICAgICAgQG1vdXNlZW50ZXI9JHsoKT0+dGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleD1XfQogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAke0Z9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgoKICAgICAgICAke3RoaXMudmFsaWRhdGlvblRleHQ/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InZhbGlkYXRpb24tbWVzc2FnZSI+JHt0aGlzLnZhbGlkYXRpb25UZXh0fTwvZGl2PgogICAgICAgIGA6IiJ9CiAgICAgICAgCiAgICAgICAgJHt0aGlzLnJlbmRlckRlc2NyaXB0aW9uKCl9CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVDb250YWluZXJDbGljayhBKXtpZih0aGlzLmRpc2FibGVkKXJldHVybjtsZXQgRj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50YWctaW5wdXQiKTtGJiZBLnRhcmdldCE9PUYmJkYuZm9jdXMoKX1oYW5kbGVJbnB1dChBKXtsZXQgRj1BLnRhcmdldDtpZih0aGlzLmlucHV0VmFsdWU9Ri52YWx1ZSx0aGlzLmlucHV0VmFsdWUuaW5jbHVkZXMoIiwiKXx8dGhpcy5pbnB1dFZhbHVlLmluY2x1ZGVzKCI7Iikpe2xldCBXPXRoaXMuaW5wdXRWYWx1ZS5yZXBsYWNlKC9bLDtdL2csIiIpLnRyaW0oKTtXJiZ0aGlzLmFkZFRhZyhXKX19aGFuZGxlS2V5RG93bihBKXtsZXQgRj1BLnRhcmdldDtpZihBLmtleT09PSJFbnRlciIpaWYoQS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXg+PTAmJnRoaXMuc2hvd1N1Z2dlc3Rpb25zKXtsZXQgVz10aGlzLnN1Z2dlc3Rpb25zLmZpbHRlcihqPT4hdGhpcy52YWx1ZS5pbmNsdWRlcyhqKSYmai50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuaW5wdXRWYWx1ZS50b0xvd2VyQ2FzZSgpKSk7V1t0aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4XSYmdGhpcy5hZGRUYWcoV1t0aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4XSl9ZWxzZSB0aGlzLmlucHV0VmFsdWUudHJpbSgpJiZ0aGlzLmFkZFRhZyh0aGlzLmlucHV0VmFsdWUudHJpbSgpKTtlbHNlIGlmKEEua2V5PT09IkJhY2tzcGFjZSImJiF0aGlzLmlucHV0VmFsdWUmJnRoaXMudmFsdWUubGVuZ3RoPjApdGhpcy5yZW1vdmVUYWcoQSx0aGlzLnZhbHVlW3RoaXMudmFsdWUubGVuZ3RoLTFdKTtlbHNlIGlmKEEua2V5PT09IkFycm93RG93biImJnRoaXMuc2hvd1N1Z2dlc3Rpb25zKXtBLnByZXZlbnREZWZhdWx0KCk7bGV0IFc9dGhpcy5zdWdnZXN0aW9ucy5maWx0ZXIoaj0+IXRoaXMudmFsdWUuaW5jbHVkZXMoaikmJmoudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLmlucHV0VmFsdWUudG9Mb3dlckNhc2UoKSkpLmxlbmd0aDt0aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4PU1hdGgubWluKHRoaXMuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXgrMSxXLTEpfWVsc2UgQS5rZXk9PT0iQXJyb3dVcCImJnRoaXMuc2hvd1N1Z2dlc3Rpb25zPyhBLnByZXZlbnREZWZhdWx0KCksdGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleD1NYXRoLm1heCh0aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4LTEsMCkpOkEua2V5PT09IkVzY2FwZSImJih0aGlzLnNob3dTdWdnZXN0aW9ucz0hMSx0aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4PS0xKX1oYW5kbGVGb2N1cygpe3RoaXMuc3VnZ2VzdGlvbnMubGVuZ3RoPjAmJih0aGlzLnNob3dTdWdnZXN0aW9ucz0hMCl9aGFuZGxlQmx1cigpe3NldFRpbWVvdXQoKCk9Pnt0aGlzLnNob3dTdWdnZXN0aW9ucz0hMSx0aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4PS0xfSwyMDApfWFkZFRhZyhBKXtpZighQXx8dGhpcy52YWx1ZS5pbmNsdWRlcyhBKXx8dGhpcy5tYXhUYWdzJiZ0aGlzLnZhbHVlLmxlbmd0aD49dGhpcy5tYXhUYWdzKXJldHVybjt0aGlzLnZhbHVlPVsuLi50aGlzLnZhbHVlLEFdLHRoaXMuaW5wdXRWYWx1ZT0iIix0aGlzLnNob3dTdWdnZXN0aW9ucz0hMSx0aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4PS0xO2xldCBGPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnRhZy1pbnB1dCIpO0YmJihGLnZhbHVlPSIiKSx0aGlzLmVtaXRDaGFuZ2UoKX1yZW1vdmVUYWcoQSxGKXtBLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMudmFsdWU9dGhpcy52YWx1ZS5maWx0ZXIoVz0+VyE9PUYpLHRoaXMuZW1pdENoYW5nZSgpfWVtaXRDaGFuZ2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjaGFuZ2UiLHtkZXRhaWw6e3ZhbHVlOnRoaXMudmFsdWV9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy52YWx1ZX1zZXRWYWx1ZShBKXt0aGlzLnZhbHVlPUF8fFtdfWFzeW5jIHZhbGlkYXRlKCl7cmV0dXJuIHRoaXMucmVxdWlyZWQmJighdGhpcy52YWx1ZXx8dGhpcy52YWx1ZS5sZW5ndGg9PT0wKT8odGhpcy52YWxpZGF0aW9uVGV4dD0iQXQgbGVhc3Qgb25lIHRhZyBpcyByZXF1aXJlZCIsITEpOih0aGlzLnZhbGlkYXRpb25UZXh0PSIiLCEwKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGkodGhpcyxTKX1zdGF0aWN7dGkocix0KX19O3JldHVybiBQPXJ9KSgpfSk7dmFyIGdpYSxiaWE9ZigoKT0+e2xlKCk7TmEoKTtVcygpO3BtKCk7dTQoKTtJZigpO2dpYT1zKCgpPT53YAogIDxkZWVzLWRlbW93cmFwcGVyPgogICAgPHN0eWxlPgogICAgICAke1hgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRlZXMtcGFuZWwgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZGVlcy1wYW5lbDpsYXN0LWNoaWxkIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5ncmlkLWxheW91dCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAgIC5ncmlkLWxheW91dCB7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAub3V0cHV0LXByZXZpZXcgewogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjNmNGY2OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgY29sb3I6ICMzNzQxNTE7CiAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7CiAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDsKICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAgIC5vdXRwdXQtcHJldmlldyB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyYzJjMmM7CiAgICAgICAgICAgIGNvbG9yOiAjZTRlNGU3OwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZmVhdHVyZS1ub3RlIHsKICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7CiAgICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgICAgYmFja2dyb3VuZDogI2VmZjZmZjsKICAgICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzNiODJmNjsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGNvbG9yOiAjMWU0MGFmOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgICAuZmVhdHVyZS1ub3RlIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzFlM2E1ZjsKICAgICAgICAgICAgY29sb3I6ICM5M2M1ZmQ7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMS4gQmFzaWMgTGlzdCBJbnB1dCJ9IC5zdWJ0aXRsZT0keyJTaW1wbGUgbGlzdCBtYW5hZ2VtZW50IHdpdGggYWRkLCBlZGl0LCBhbmQgZGVsZXRlIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgLmxhYmVsPSR7IlNob3BwaW5nIExpc3QifQogICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkFkZCBpdGVtIHRvIHlvdXIgbGlzdC4uLiJ9CiAgICAgICAgICAudmFsdWU9JHtbIk1pbGsiLCJCcmVhZCIsIkVnZ3MiLCJDaGVlc2UiXX0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJEb3VibGUtY2xpY2sgdG8gZWRpdCBpdGVtcywgb3IgdXNlIHRoZSBlZGl0IGJ1dHRvbiJ9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtbm90ZSI+CiAgICAgICAgICDwn5KhIERvdWJsZS1jbGljayBhbnkgaXRlbSB0byBxdWlja2x5IGVkaXQgaXQgaW5saW5lCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIyLiBTb3J0YWJsZSBMaXN0In0gLnN1YnRpdGxlPSR7IkRyYWcgYW5kIGRyb3AgdG8gcmVvcmRlciBpdGVtcyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgIC5sYWJlbD0keyJUYXNrIFByaW9yaXR5In0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJBZGQgYSB0YXNrLi4uIn0KICAgICAgICAgIC5zb3J0YWJsZT0keyEwfQogICAgICAgICAgLnZhbHVlPSR7WyJSZXZpZXcgcHVsbCByZXF1ZXN0cyIsIkZpeCBjcml0aWNhbCBidWciLCJVcGRhdGUgZG9jdW1lbnRhdGlvbiIsIkRlcGxveSB0byBwcm9kdWN0aW9uIiwiVGVhbSBzdGFuZHVwIG1lZXRpbmciXX0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJEcmFnIGl0ZW1zIHVzaW5nIHRoZSBoYW5kbGUgdG8gcmVvcmRlciB0aGVtIn0KICAgICAgICA+PC9kZWVzLWlucHV0LWxpc3Q+CiAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ub3RlIj4KICAgICAgICAgIPCflIQgRHJhZyB0aGUgZ3JpcCBoYW5kbGUgdG8gcmVvcmRlciB0YXNrcyBieSBwcmlvcml0eQogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMy4gVmFsaWRhdGlvbiAmIENvbnN0cmFpbnRzIn0gLnN1YnRpdGxlPSR7Ikxpc3RzIHdpdGggbWluaW11bS9tYXhpbXVtIGl0ZW1zIGFuZCBkdXBsaWNhdGUgcHJldmVudGlvbiJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWxheW91dCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgICAgICAubGFiZWw9JHsiVGVhbSBNZW1iZXJzIChNaW4gMiwgTWF4IDUpIn0KICAgICAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiQWRkIHRlYW0gbWVtYmVyLi4uIn0KICAgICAgICAgICAgICAubWluSXRlbXM9JHsyfQogICAgICAgICAgICAgIC5tYXhJdGVtcz0kezV9CiAgICAgICAgICAgICAgLnZhbHVlPSR7WyJBbGljZSIsIkJvYiJdfQogICAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJBZGQgMi01IHRlYW0gbWVtYmVycyJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgICAgICAubGFiZWw9JHsiVW5pcXVlIFRhZ3MgKE5vIER1cGxpY2F0ZXMpIn0KICAgICAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiQWRkIHVuaXF1ZSB0YWcuLi4ifQogICAgICAgICAgICAgIC5hbGxvd0R1cGxpY2F0ZXM9JHshMX0KICAgICAgICAgICAgICAudmFsdWU9JHtbImZyb250ZW5kIiwiYmFja2VuZCIsImRhdGFiYXNlIl19CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkR1cGxpY2F0ZSBpdGVtcyBhcmUgbm90IGFsbG93ZWQifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWxpc3Q+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjQuIERlbGV0ZSBDb25maXJtYXRpb24ifSAuc3VidGl0bGU9JHsiUmVxdWlyZSBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5nIGl0ZW1zIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgLmxhYmVsPSR7IkltcG9ydGFudCBEb2N1bWVudHMifQogICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkFkZCBkb2N1bWVudCBuYW1lLi4uIn0KICAgICAgICAgIC5jb25maXJtRGVsZXRlPSR7ITB9CiAgICAgICAgICAudmFsdWU9JHtbIkNvbnRyYWN0XzIwMjQucGRmIiwiRmluYW5jaWFsX1JlcG9ydF9RMy54bHN4IiwiUHJvamVjdF9Qcm9wb3NhbC5kb2N4IiwiTWVldGluZ19Ob3Rlcy50eHQiXX0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJEZWxldGlvbiByZXF1aXJlcyBjb25maXJtYXRpb24gZm9yIHNhZmV0eSJ9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNS4gRGlzYWJsZWQgU3RhdGUifSAuc3VidGl0bGU9JHsiUmVhZC1vbmx5IGxpc3QgZGlzcGxheSJ9PgogICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgIC5sYWJlbD0keyJTeXN0ZW0gRGVmYXVsdHMifQogICAgICAgICAgLnZhbHVlPSR7WyJEZWZhdWx0IFNldHRpbmcgMSIsIkRlZmF1bHQgU2V0dGluZyAyIiwiRGVmYXVsdCBTZXR0aW5nIDMiXX0KICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlRoZXNlIGl0ZW1zIGNhbm5vdCBiZSBtb2RpZmllZCJ9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNi4gRm9ybSBJbnRlZ3JhdGlvbiJ9IC5zdWJ0aXRsZT0keyJMaXN0IGlucHV0IHdvcmtpbmcgd2l0aGluIGEgZm9ybSBjb250ZXh0In0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IlJlY2lwZSBOYW1lIn0KICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7Ik15IEFtYXppbmcgUmVjaXBlIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5rZXk9JHsibmFtZSJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQtbGF5b3V0Ij4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgICAgIC5sYWJlbD0keyJJbmdyZWRpZW50cyJ9CiAgICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkFkZCBpbmdyZWRpZW50Li4uIn0KICAgICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgICAubWluSXRlbXM9JHszfQogICAgICAgICAgICAgIC5rZXk9JHsiaW5ncmVkaWVudHMifQogICAgICAgICAgICAgIC5zb3J0YWJsZT0keyEwfQogICAgICAgICAgICAgIC52YWx1ZT0ke1siMiBjdXBzIGZsb3VyIiwiMSBjdXAgc3VnYXIiLCIzIGVnZ3MiXX0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQWRkIGF0IGxlYXN0IDMgaW5ncmVkaWVudHMifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWxpc3Q+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGVlcy1pbnB1dC1saXN0CiAgICAgICAgICAgICAgLmxhYmVsPSR7Ikluc3RydWN0aW9ucyJ9CiAgICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkFkZCBpbnN0cnVjdGlvbiBzdGVwLi4uIn0KICAgICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgICAubWluSXRlbXM9JHsyfQogICAgICAgICAgICAgIC5rZXk9JHsiaW5zdHJ1Y3Rpb25zIn0KICAgICAgICAgICAgICAuc29ydGFibGU9JHshMH0KICAgICAgICAgICAgICAudmFsdWU9JHtbIlByZWhlYXQgb3ZlbiB0byAzNTBceEIwRiIsIk1peCBkcnkgaW5ncmVkaWVudHMiXX0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQWRkIGNvb2tpbmcgaW5zdHJ1Y3Rpb25zIGluIG9yZGVyIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7Ik5vdGVzIn0KICAgICAgICAgICAgLmlucHV0VHlwZT0keyJ0ZXh0YXJlYSJ9CiAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJBbnkgc3BlY2lhbCBub3RlcyBvciB0aXBzLi4uIn0KICAgICAgICAgICAgLmtleT0keyJub3RlcyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IC50ZXh0PSR7IlNhdmUgUmVjaXBlIn0+PC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNy4gSW50ZXJhY3RpdmUgRGVtbyJ9IC5zdWJ0aXRsZT0keyJCdWlsZCB5b3VyIG93biBmZWF0dXJlIGxpc3QgYW5kIHNlZSB0aGUgZGF0YSJ9PgogICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgIGlkPSJpbnRlcmFjdGl2ZS1saXN0IgogICAgICAgICAgLmxhYmVsPSR7IlByb2R1Y3QgRmVhdHVyZXMifQogICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkFkZCBhIGZlYXR1cmUuLi4ifQogICAgICAgICAgLnNvcnRhYmxlPSR7ITB9CiAgICAgICAgICAuY29uZmlybURlbGV0ZT0keyExfQogICAgICAgICAgLmFsbG93RHVwbGljYXRlcz0keyExfQogICAgICAgICAgLm1heEl0ZW1zPSR7MTB9CiAgICAgICAgICBAY2hhbmdlPSR7YT0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNsaXN0LWpzb24iKTtpZihlKXtsZXQgdD17aXRlbXM6YS5kZXRhaWwudmFsdWUsY291bnQ6YS5kZXRhaWwudmFsdWUubGVuZ3RoLHRpbWVzdGFtcDpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9O2UudGV4dENvbnRlbnQ9SlNPTi5zdHJpbmdpZnkodCxudWxsLDIpfX19CiAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9Im91dHB1dC1wcmV2aWV3IiBpZD0ibGlzdC1qc29uIj4KICAgICAgICAgIHsKICAgICAgICAgICAgIml0ZW1zIjogW10sCiAgICAgICAgICAgICJjb3VudCI6IDAsCiAgICAgICAgICAgICJ0aW1lc3RhbXAiOiAiJHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9IgogICAgICAgICAgfQogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtbm90ZSI+CiAgICAgICAgICDinKggQWRkLCBlZGl0LCByZW1vdmUsIGFuZCByZW9yZGVyIGl0ZW1zIHRvIHNlZSB0aGUgSlNPTiBvdXRwdXQgdXBkYXRlIGluIHJlYWwtdGltZQogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiOC4gQWR2YW5jZWQgQ29uZmlndXJhdGlvbiJ9IC5zdWJ0aXRsZT0keyJDb21iaW5lIGFsbCBmZWF0dXJlcyBmb3IgY29tcGxleCB1c2UgY2FzZXMifT4KICAgICAgICA8ZGVlcy1pbnB1dC1saXN0CiAgICAgICAgICAubGFiZWw9JHsiUHJvamVjdCBNaWxlc3RvbmVzIn0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJBZGQgbWlsZXN0b25lLi4uIn0KICAgICAgICAgIC52YWx1ZT0ke1siUHJvamVjdCBLaWNrb2ZmIC0gV2VlayAxIiwiUmVxdWlyZW1lbnRzIEdhdGhlcmluZyAtIFdlZWsgMi0zIiwiRGVzaWduIFBoYXNlIC0gV2VlayA0LTYiLCJEZXZlbG9wbWVudCBTcHJpbnQgMSAtIFdlZWsgNy05IiwiVGVzdGluZyAmIFFBIC0gV2VlayAxMC0xMSIsIkRlcGxveW1lbnQgLSBXZWVrIDEyIl19CiAgICAgICAgICAuc29ydGFibGU9JHshMH0KICAgICAgICAgIC5jb25maXJtRGVsZXRlPSR7ITB9CiAgICAgICAgICAuYWxsb3dEdXBsaWNhdGVzPSR7ITF9CiAgICAgICAgICAubWluSXRlbXM9JHszfQogICAgICAgICAgLm1heEl0ZW1zPSR7MTJ9CiAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJNYW5hZ2UgcHJvamVjdCBtaWxlc3RvbmVzICgzLTEyIGl0ZW1zLCBzb3J0YWJsZSwgbm8gZHVwbGljYXRlcykifQogICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjkuIENhbmRpZGF0ZXMgd2l0aCBUYWIgQ29tcGxldGlvbiJ9IC5zdWJ0aXRsZT0keyJUZXJtaW5hbC1zdHlsZSBhdXRvY29tcGxldGUgXHUyMDE0IFRhYiBhY2NlcHRzLCBTaGlmdCtUYWIgY3ljbGVzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1sYXlvdXQiPgogICAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgICBpZD0iY2FuZGlkYXRlLWxpc3QiCiAgICAgICAgICAgIC5sYWJlbD0keyJBc3NpZ24gVGVhbSBNZW1iZXJzIn0KICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IlR5cGUgYSBuYW1lLi4uIChUYWIgdG8gY29tcGxldGUpIn0KICAgICAgICAgICAgLmNhbmRpZGF0ZXM9JHtbe3ZpZXdLZXk6IkFsaWNlIFNtaXRoIixwYXlsb2FkOntpZDoxLHJvbGU6IkVuZ2luZWVyIixkZXBhcnRtZW50OiJGcm9udGVuZCJ9fSx7dmlld0tleToiQm9iIEpvaG5zb24iLHBheWxvYWQ6e2lkOjIscm9sZToiRGVzaWduZXIiLGRlcGFydG1lbnQ6IlVYIn19LHt2aWV3S2V5OiJDYXJvbCBXaWxsaWFtcyIscGF5bG9hZDp7aWQ6Myxyb2xlOiJQcm9kdWN0IE1hbmFnZXIiLGRlcGFydG1lbnQ6IlByb2R1Y3QifX0se3ZpZXdLZXk6IkRhdmlkIEJyb3duIixwYXlsb2FkOntpZDo0LHJvbGU6IkVuZ2luZWVyIixkZXBhcnRtZW50OiJCYWNrZW5kIn19LHt2aWV3S2V5OiJFdmUgRGF2aXMiLHBheWxvYWQ6e2lkOjUscm9sZToiUUEgRW5naW5lZXIiLGRlcGFydG1lbnQ6IlF1YWxpdHkifX0se3ZpZXdLZXk6IkZyYW5rIE1pbGxlciIscGF5bG9hZDp7aWQ6Nixyb2xlOiJEZXZPcHMiLGRlcGFydG1lbnQ6IkluZnJhc3RydWN0dXJlIn19LHt2aWV3S2V5OiJHcmFjZSBXaWxzb24iLHBheWxvYWQ6e2lkOjcscm9sZToiRGVzaWduZXIiLGRlcGFydG1lbnQ6IlVYIn19LHt2aWV3S2V5OiJIZW5yeSBNb29yZSIscGF5bG9hZDp7aWQ6OCxyb2xlOiJFbmdpbmVlciIsZGVwYXJ0bWVudDoiRnJvbnRlbmQifX1dfQogICAgICAgICAgICAudmFsdWU9JHtbIkFsaWNlIFNtaXRoIiwiQ2Fyb2wgV2lsbGlhbXMiXX0KICAgICAgICAgICAgLm1heEl0ZW1zPSR7NX0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlR5cGUgdG8gc2VlIGdob3N0IGNvbXBsZXRpb24uIFRhYiB0byBhY2NlcHQsIFNoaWZ0K1RhYiB0byBjeWNsZSwgRW50ZXIgdG8gYWRkLiJ9CiAgICAgICAgICAgIEBjaGFuZ2U9JHthPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2NhbmRpZGF0ZS1qc29uIik7aWYoZSl7bGV0IHI9YS50YXJnZXQuZ2V0QWRkZWRDYW5kaWRhdGVzKCk7ZS50ZXh0Q29udGVudD1KU09OLnN0cmluZ2lmeShyLG51bGwsMil9fX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KCiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA1MDA7IG1hcmdpbi1ib3R0b206IDhweDsgY29sb3I6IGluaGVyaXQ7Ij5TZWxlY3RlZCBDYW5kaWRhdGVzICh3aXRoIHBheWxvYWRzKTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdXRwdXQtcHJldmlldyIgaWQ9ImNhbmRpZGF0ZS1qc29uIj5bXTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLW5vdGUiPgogICAgICAgICAgICAgIFRyeSB0eXBpbmcgIkQiIOKAlCBnaG9zdCB0ZXh0IHNob3dzICJhdmlkIEJyb3duIi4gUHJlc3MgU2hpZnQrVGFiIHRvIGN5Y2xlIHRvIG90aGVyIEQtbWF0Y2hlcy4gVGFiIGFjY2VwdHMsIEVudGVyIGFkZHMuCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIxMC4gVGVjaG5vbG9neSBTdGFjayJ9IC5zdWJ0aXRsZT0keyJMYXJnZXIgY2FuZGlkYXRlIHBvb2wgd2l0aCBTaGlmdCtUYWIgY3ljbGluZyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgIC5sYWJlbD0keyJTZWxlY3QgVGVjaG5vbG9naWVzIn0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJUeXBlIHRvIGF1dG9jb21wbGV0ZS4uLiJ9CiAgICAgICAgICAuY2FuZGlkYXRlcz0ke1t7dmlld0tleToiVHlwZVNjcmlwdCIscGF5bG9hZDp7Y2F0ZWdvcnk6Imxhbmd1YWdlIn19LHt2aWV3S2V5OiJSZWFjdCIscGF5bG9hZDp7Y2F0ZWdvcnk6ImZyYW1ld29yayJ9fSx7dmlld0tleToiVnVlLmpzIixwYXlsb2FkOntjYXRlZ29yeToiZnJhbWV3b3JrIn19LHt2aWV3S2V5OiJBbmd1bGFyIixwYXlsb2FkOntjYXRlZ29yeToiZnJhbWV3b3JrIn19LHt2aWV3S2V5OiJOb2RlLmpzIixwYXlsb2FkOntjYXRlZ29yeToicnVudGltZSJ9fSx7dmlld0tleToiRGVubyIscGF5bG9hZDp7Y2F0ZWdvcnk6InJ1bnRpbWUifX0se3ZpZXdLZXk6IkRvY2tlciIscGF5bG9hZDp7Y2F0ZWdvcnk6ImRldm9wcyJ9fSx7dmlld0tleToiUG9zdGdyZVNRTCIscGF5bG9hZDp7Y2F0ZWdvcnk6ImRhdGFiYXNlIn19LHt2aWV3S2V5OiJNb25nb0RCIixwYXlsb2FkOntjYXRlZ29yeToiZGF0YWJhc2UifX0se3ZpZXdLZXk6IlJlZGlzIixwYXlsb2FkOntjYXRlZ29yeToiZGF0YWJhc2UifX0se3ZpZXdLZXk6Ikt1YmVybmV0ZXMiLHBheWxvYWQ6e2NhdGVnb3J5OiJkZXZvcHMifX1dfQogICAgICAgICAgLmRlc2NyaXB0aW9uPSR7J1RyeSAiRCIgXHUyMDE0IGN5Y2xlcyB0aHJvdWdoIERlbm8vRG9ja2VyLiAiUiIgXHUyMDE0IGN5Y2xlcyB0aHJvdWdoIFJlYWN0L1JlZGlzLid9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMTEuIEZyZWVmb3JtICsgQ2FuZGlkYXRlcyJ9IC5zdWJ0aXRsZT0keyJBbGxvdyBhZGRpbmcgaXRlbXMgbm90IGluIHRoZSBjYW5kaWRhdGUgbGlzdCAoc2hvd24gd2l0aCBhIHF1ZXN0aW9uIG1hcmspIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgLmxhYmVsPSR7IlRhZ3MifQogICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IlR5cGUgYSB0YWcuLi4gKGZyZWVmb3JtIGFsbG93ZWQpIn0KICAgICAgICAgIC5hbGxvd0ZyZWVmb3JtPSR7ITB9CiAgICAgICAgICAuY2FuZGlkYXRlcz0ke1t7dmlld0tleToiYnVnIixwYXlsb2FkOntjb2xvcjoicmVkIn19LHt2aWV3S2V5OiJmZWF0dXJlIixwYXlsb2FkOntjb2xvcjoiYmx1ZSJ9fSx7dmlld0tleToiZG9jcyIscGF5bG9hZDp7Y29sb3I6ImdyZWVuIn19LHt2aWV3S2V5OiJyZWZhY3RvciIscGF5bG9hZDp7Y29sb3I6InB1cnBsZSJ9fSx7dmlld0tleToicGVyZm9ybWFuY2UiLHBheWxvYWQ6e2NvbG9yOiJvcmFuZ2UifX0se3ZpZXdLZXk6InNlY3VyaXR5IixwYXlsb2FkOntjb2xvcjoicmVkIn19XX0KICAgICAgICAgIC52YWx1ZT0ke1siYnVnIiwibXktY3VzdG9tLXRhZyIsImZlYXR1cmUiXX0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJLbm93biB0YWdzIGdldCBhIGNoZWNrbWFyaywgY3VzdG9tIHRhZ3MgZ2V0IGEgcXVlc3Rpb24gbWFyay4gVGFiIHRvIGNvbXBsZXRlLCBFbnRlciB0byBhZGQgZnJlZWZvcm0uIn0KICAgICAgICA+PC9kZWVzLWlucHV0LWxpc3Q+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIxMi4gRW1wdHkgU3RhdGUifSAuc3VidGl0bGU9JHsiSG93IHRoZSBjb21wb25lbnQgbG9va3Mgd2l0aCBubyBpdGVtcyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgIC5sYWJlbD0keyJZb3VyIElkZWFzIn0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJTaGFyZSB5b3VyIGlkZWFzLi4uIn0KICAgICAgICAgIC52YWx1ZT0ke1tdfQogICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlN0YXJ0IGFkZGluZyBpdGVtcyB0byBidWlsZCB5b3VyIGxpc3QifQogICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kaXY+CiAgPC9kZWVzLWRlbW93cmFwcGVyPgpgLCJkZW1vRnVuYyIpfSk7dmFyIEhyLEd0LF9hZSxzS2U9ZigoKT0+e2xlKCk7U3IoKTt2YSgpO1hyKCk7YmlhKCk7UWUoKTtIcj1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sR3Q9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LF9hZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtbGlzdCIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdLFAsQT1bXSxGPVtdLFcsaj1bXSxHPVtdLGhlLFI9W10sVT1bXSxtZSxJPVtdLHE9W10sY2UsdWU9W10sWT1bXSxRLEo9W10sWj1bXSxnZSxhZT1bXSxyZT1bXSx5ZSxWPVtdLEg9W10sb2Usc2U9W10sdGU9W10semUsT2U9W10scWU9W10sY3QsJGU9W10sQ2U9W10sTWUsZGU9W10sdmU9W10sQWUsWmU9W10sbHQ9W107dmFyIHp0PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRMaXN0Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFRlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpOdW1iZXJ9KV0seD1bJCh7dHlwZTpOdW1iZXJ9KV0seT1bJCh7dHlwZTpCb29sZWFufSldLE49WyQoe3R5cGU6Qm9vbGVhbn0pXSxPPVskKHt0eXBlOkJvb2xlYW59KV0sQj1bJCh7dHlwZTpBcnJheX0pXSxQPVskKHt0eXBlOkJvb2xlYW59KV0sVz1bJCh7dHlwZTpTdHJpbmd9KV0saGU9W0soKV0sbWU9W0soKV0sY2U9W0soKV0sUT1bSygpXSxnZT1bSygpXSx5ZT1bSygpXSxvZT1bSygpXSx6ZT1bSygpXSxjdD1bSygpXSxNZT1bSygpXSxBZT1bSygpXSxIcih0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4idmFsdWUiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS52YWx1ZSwiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLnZhbHVlPVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSxuLGwpLEhyKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGxhY2Vob2xkZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMod2U9PiJwbGFjZWhvbGRlciJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLnBsYWNlaG9sZGVyLCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2UucGxhY2Vob2xkZXI9UmV9LCJzZXQiKX0sbWV0YWRhdGE6VGV9LGMscCksSHIodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYXhJdGVtcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+Im1heEl0ZW1zImluIHdlLCJoYXMiKSxnZXQ6cyh3ZT0+d2UubWF4SXRlbXMsImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS5tYXhJdGVtcz1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sbSx2KSxIcih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1pbkl0ZW1zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4ibWluSXRlbXMiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS5taW5JdGVtcywiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLm1pbkl0ZW1zPVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSxiLGcpLEhyKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWxsb3dEdXBsaWNhdGVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4iYWxsb3dEdXBsaWNhdGVzImluIHdlLCJoYXMiKSxnZXQ6cyh3ZT0+d2UuYWxsb3dEdXBsaWNhdGVzLCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2UuYWxsb3dEdXBsaWNhdGVzPVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSxrLEMpLEhyKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic29ydGFibGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMod2U9PiJzb3J0YWJsZSJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLnNvcnRhYmxlLCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2Uuc29ydGFibGU9UmV9LCJzZXQiKX0sbWV0YWRhdGE6VGV9LF8seiksSHIodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb25maXJtRGVsZXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4iY29uZmlybURlbGV0ZSJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLmNvbmZpcm1EZWxldGUsImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS5jb25maXJtRGVsZXRlPVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSxULEUpLEhyKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2FuZGlkYXRlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+ImNhbmRpZGF0ZXMiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS5jYW5kaWRhdGVzLCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2UuY2FuZGlkYXRlcz1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sTSxTKSxIcih0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFsbG93RnJlZWZvcm0iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMod2U9PiJhbGxvd0ZyZWVmb3JtImluIHdlLCJoYXMiKSxnZXQ6cyh3ZT0+d2UuYWxsb3dGcmVlZm9ybSwiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLmFsbG93RnJlZWZvcm09UmV9LCJzZXQiKX0sbWV0YWRhdGE6VGV9LEEsRiksSHIodGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWxpZGF0aW9uVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+InZhbGlkYXRpb25UZXh0ImluIHdlLCJoYXMiKSxnZXQ6cyh3ZT0+d2UudmFsaWRhdGlvblRleHQsImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS52YWxpZGF0aW9uVGV4dD1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0saixHKSxIcih0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbnB1dFZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4iaW5wdXRWYWx1ZSJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLmlucHV0VmFsdWUsImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS5pbnB1dFZhbHVlPVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSxSLFUpLEhyKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imdob3N0VGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+Imdob3N0VGV4dCJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLmdob3N0VGV4dCwiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLmdob3N0VGV4dD1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sSSxxKSxIcih0aGlzLG51bGwsY2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50Q2FuZGlkYXRlSW5kZXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMod2U9PiJjdXJyZW50Q2FuZGlkYXRlSW5kZXgiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS5jdXJyZW50Q2FuZGlkYXRlSW5kZXgsImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS5jdXJyZW50Q2FuZGlkYXRlSW5kZXg9UmV9LCJzZXQiKX0sbWV0YWRhdGE6VGV9LHVlLFkpLEhyKHRoaXMsbnVsbCxRLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZWRpdGluZ0luZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4iZWRpdGluZ0luZGV4ImluIHdlLCJoYXMiKSxnZXQ6cyh3ZT0+d2UuZWRpdGluZ0luZGV4LCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2UuZWRpdGluZ0luZGV4PVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSxKLFopLEhyKHRoaXMsbnVsbCxnZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVkaXRpbmdWYWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+ImVkaXRpbmdWYWx1ZSJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLmVkaXRpbmdWYWx1ZSwiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLmVkaXRpbmdWYWx1ZT1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sYWUscmUpLEhyKHRoaXMsbnVsbCx5ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRyYWdnZWRJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+ImRyYWdnZWRJbmRleCJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLmRyYWdnZWRJbmRleCwiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLmRyYWdnZWRJbmRleD1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sVixIKSxIcih0aGlzLG51bGwsb2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkcmFnT3ZlckluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4iZHJhZ092ZXJJbmRleCJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLmRyYWdPdmVySW5kZXgsImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS5kcmFnT3ZlckluZGV4PVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSxzZSx0ZSksSHIodGhpcyxudWxsLHplLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHJhZ1N0YXJ0WSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+ImRyYWdTdGFydFkiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS5kcmFnU3RhcnRZLCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2UuZHJhZ1N0YXJ0WT1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sT2UscWUpLEhyKHRoaXMsbnVsbCxjdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRyYWdDdXJyZW50WSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+ImRyYWdDdXJyZW50WSJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLmRyYWdDdXJyZW50WSwiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLmRyYWdDdXJyZW50WT1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sJGUsQ2UpLEhyKHRoaXMsbnVsbCxNZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhcmdldEluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4idGFyZ2V0SW5kZXgiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS50YXJnZXRJbmRleCwiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLnRhcmdldEluZGV4PVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSxkZSx2ZSksSHIodGhpcyxudWxsLEFlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXRlbUhlaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+Iml0ZW1IZWlnaHQiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS5pdGVtSGVpZ2h0LCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2UuaXRlbUhlaWdodD1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sWmUsbHQpLEhyKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlRlfSxudWxsLHQpLHp0PXI9ZS52YWx1ZSxUZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpUZX0pfXN0YXRpYyBkZW1vPWdpYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9R3QodGhpcyxuLFtdKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoVGUpe3RoaXMuI2U9VGV9I3Q9KEd0KHRoaXMsbCksR3QodGhpcyxjLCJBZGQgbmV3IGl0ZW0uLi4iKSk7Z2V0IHBsYWNlaG9sZGVyKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHBsYWNlaG9sZGVyKFRlKXt0aGlzLiN0PVRlfSNhPShHdCh0aGlzLHApLEd0KHRoaXMsbSwwKSk7Z2V0IG1heEl0ZW1zKCl7cmV0dXJuIHRoaXMuI2F9c2V0IG1heEl0ZW1zKFRlKXt0aGlzLiNhPVRlfSNyPShHdCh0aGlzLHYpLEd0KHRoaXMsYiwwKSk7Z2V0IG1pbkl0ZW1zKCl7cmV0dXJuIHRoaXMuI3J9c2V0IG1pbkl0ZW1zKFRlKXt0aGlzLiNyPVRlfSNzPShHdCh0aGlzLGcpLEd0KHRoaXMsaywhMSkpO2dldCBhbGxvd0R1cGxpY2F0ZXMoKXtyZXR1cm4gdGhpcy4jc31zZXQgYWxsb3dEdXBsaWNhdGVzKFRlKXt0aGlzLiNzPVRlfSNpPShHdCh0aGlzLEMpLEd0KHRoaXMsXywhMSkpO2dldCBzb3J0YWJsZSgpe3JldHVybiB0aGlzLiNpfXNldCBzb3J0YWJsZShUZSl7dGhpcy4jaT1UZX0jbz0oR3QodGhpcyx6KSxHdCh0aGlzLFQsITEpKTtnZXQgY29uZmlybURlbGV0ZSgpe3JldHVybiB0aGlzLiNvfXNldCBjb25maXJtRGVsZXRlKFRlKXt0aGlzLiNvPVRlfSNuPShHdCh0aGlzLEUpLEd0KHRoaXMsTSxbXSkpO2dldCBjYW5kaWRhdGVzKCl7cmV0dXJuIHRoaXMuI259c2V0IGNhbmRpZGF0ZXMoVGUpe3RoaXMuI249VGV9I2w9KEd0KHRoaXMsUyksR3QodGhpcyxBLCExKSk7Z2V0IGFsbG93RnJlZWZvcm0oKXtyZXR1cm4gdGhpcy4jbH1zZXQgYWxsb3dGcmVlZm9ybShUZSl7dGhpcy4jbD1UZX0jYz0oR3QodGhpcyxGKSxHdCh0aGlzLGosIiIpKTtnZXQgdmFsaWRhdGlvblRleHQoKXtyZXR1cm4gdGhpcy4jY31zZXQgdmFsaWRhdGlvblRleHQoVGUpe3RoaXMuI2M9VGV9YWRkZWRDYW5kaWRhdGVzTWFwPShHdCh0aGlzLEcpLG5ldyBNYXApO21hdGNoaW5nQ2FuZGlkYXRlcz1bXTsjZD1HdCh0aGlzLFIsIiIpO2dldCBpbnB1dFZhbHVlKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGlucHV0VmFsdWUoVGUpe3RoaXMuI2Q9VGV9I3U9KEd0KHRoaXMsVSksR3QodGhpcyxJLCIiKSk7Z2V0IGdob3N0VGV4dCgpe3JldHVybiB0aGlzLiN1fXNldCBnaG9zdFRleHQoVGUpe3RoaXMuI3U9VGV9I3A9KEd0KHRoaXMscSksR3QodGhpcyx1ZSwtMSkpO2dldCBjdXJyZW50Q2FuZGlkYXRlSW5kZXgoKXtyZXR1cm4gdGhpcy4jcH1zZXQgY3VycmVudENhbmRpZGF0ZUluZGV4KFRlKXt0aGlzLiNwPVRlfSNmPShHdCh0aGlzLFkpLEd0KHRoaXMsSiwtMSkpO2dldCBlZGl0aW5nSW5kZXgoKXtyZXR1cm4gdGhpcy4jZn1zZXQgZWRpdGluZ0luZGV4KFRlKXt0aGlzLiNmPVRlfSNoPShHdCh0aGlzLFopLEd0KHRoaXMsYWUsIiIpKTtnZXQgZWRpdGluZ1ZhbHVlKCl7cmV0dXJuIHRoaXMuI2h9c2V0IGVkaXRpbmdWYWx1ZShUZSl7dGhpcy4jaD1UZX0jbT0oR3QodGhpcyxyZSksR3QodGhpcyxWLC0xKSk7Z2V0IGRyYWdnZWRJbmRleCgpe3JldHVybiB0aGlzLiNtfXNldCBkcmFnZ2VkSW5kZXgoVGUpe3RoaXMuI209VGV9I2c9KEd0KHRoaXMsSCksR3QodGhpcyxzZSwtMSkpO2dldCBkcmFnT3ZlckluZGV4KCl7cmV0dXJuIHRoaXMuI2d9c2V0IGRyYWdPdmVySW5kZXgoVGUpe3RoaXMuI2c9VGV9I2I9KEd0KHRoaXMsdGUpLEd0KHRoaXMsT2UsMCkpO2dldCBkcmFnU3RhcnRZKCl7cmV0dXJuIHRoaXMuI2J9c2V0IGRyYWdTdGFydFkoVGUpe3RoaXMuI2I9VGV9I3Y9KEd0KHRoaXMscWUpLEd0KHRoaXMsJGUsMCkpO2dldCBkcmFnQ3VycmVudFkoKXtyZXR1cm4gdGhpcy4jdn1zZXQgZHJhZ0N1cnJlbnRZKFRlKXt0aGlzLiN2PVRlfSN4PShHdCh0aGlzLENlKSxHdCh0aGlzLGRlLC0xKSk7Z2V0IHRhcmdldEluZGV4KCl7cmV0dXJuIHRoaXMuI3h9c2V0IHRhcmdldEluZGV4KFRlKXt0aGlzLiN4PVRlfSN5PShHdCh0aGlzLHZlKSxHdCh0aGlzLFplLDApKTtnZXQgaXRlbUhlaWdodCgpe3JldHVybiB0aGlzLiN5fXNldCBpdGVtSGVpZ2h0KFRlKXt0aGlzLiN5PVRlfWJvdW5kSGFuZGxlR2xvYmFsRHJhZ092ZXI9KEd0KHRoaXMsbHQpLG51bGwpO2JvdW5kSGFuZGxlR2xvYmFsRHJhZ0VuZD1udWxsO29yaWdpbmFsSXRlbVJlY3RzPVtdO3N0YXRpYyBzdHlsZXM9W0VlLC4uLnd0LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnUm9ib3RvJywgc2Fucy1zZXJpZjsKICAgICAgfQoKICAgICAgLmlucHV0LXdyYXBwZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICBkZWVzLXRpbGU6aG92ZXI6OnBhcnQob3V0ZXIpIHsKICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZTpmb2N1cy13aXRoaW46OnBhcnQob3V0ZXIpIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSAvIDAuMSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjEpIil9OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSBkZWVzLXRpbGUgewogICAgICAgIG9wYWNpdHk6IDAuNjsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAubGlzdC1pdGVtcyB7CiAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgfQoKICAgICAgLmxpc3QtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMHB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGJhY2tncm91bmQgMC4xNXMgZWFzZSwgYm94LXNoYWRvdyAwLjE1cyBlYXNlOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAubGlzdC1pdGVtOmxhc3Qtb2YtdHlwZSB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLmxpc3QtaXRlbXM6bm90KC5pcy1kcmFnZ2luZykgLmxpc3QtaXRlbTpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1yb3ctaG92ZXIpOwogICAgICB9CgogICAgICAvKiBEcmFnZ2luZyBpdGVtIC0gZm9sbG93cyBjdXJzb3IgKi8KICAgICAgLmxpc3QtaXRlbS5kcmFnZ2luZyB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHotaW5kZXg6IDEwMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTglKSIsImhzbCgyMTUgMjAuMiUgMTIlKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMTUpIiwicmdiYSgwLCAwLCAwLCAwLjQpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMTVzIGVhc2UsIGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLyogSXRlbXMgdGhhdCBuZWVkIHRvIG1vdmUgdXAgdG8gbWFrZSBzcGFjZSAqLwogICAgICAubGlzdC1pdGVtLm1vdmUtdXAgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC0xICogdmFyKC0taXRlbS1oZWlnaHQsIDQ4cHgpKSk7CiAgICAgIH0KCiAgICAgIC8qIEl0ZW1zIHRoYXQgbmVlZCB0byBtb3ZlIGRvd24gdG8gbWFrZSBzcGFjZSAqLwogICAgICAubGlzdC1pdGVtLm1vdmUtZG93biB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHZhcigtLWl0ZW0taGVpZ2h0LCA0OHB4KSk7CiAgICAgIH0KCgogICAgICAuY2FuZGlkYXRlLWNoZWNrIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSIpfTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmNhbmRpZGF0ZS11bmtub3duIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woNDUgOTMlIDQ3JSkiLCJoc2woNDUgOTMlIDU4JSkiKX07CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5pdGVtLWJ1bGxldCB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLmRyYWctaGFuZGxlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgY3Vyc29yOiBtb3ZlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUpIiwiaHNsKDAgMCUgNDUuMSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5kcmFnLWhhbmRsZTpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgIH0KCiAgICAgIC5kcmFnLWhhbmRsZSBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQoKICAgICAgLml0ZW0tY29udGVudCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAuaXRlbS10ZXh0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDsKICAgICAgfQoKICAgICAgLml0ZW0tZWRpdC1pbnB1dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBwYWRkaW5nOiAzcHggNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgfQoKICAgICAgLml0ZW0tYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAyNHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5zYXZlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5zYXZlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlIC8gMC4xKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmNhbmNlbCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA1MC42JSkiLCJoc2woMCA2Mi44JSA1MC42JSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmNhbmNlbDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlIC8gMC4xKSIsImhzbCgwIDYyLjglIDUwLjYlIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGVsZXRlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlKSIsImhzbCgwIDYyLjglIDUwLjYlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGVsZXRlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUgLyAwLjEpIiwiaHNsKDAgNjIuOCUgNTAuNiUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxM3B4OwogICAgICAgIGhlaWdodDogMTNweDsKICAgICAgfQoKICAgICAgLmFkZC1pdGVtLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgfQoKICAgICAgLmFkZC1pbnB1dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLmFkZC1pbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUpIiwiaHNsKDAgMCUgNDUuMSUpIil9OwogICAgICB9CgogICAgICAuYWRkLWlucHV0OmRpc2FibGVkIHsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLmFkZC1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5hZGQtYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgfQoKICAgICAgLmFkZC1idXR0b246ZGlzYWJsZWQgewogICAgICAgIG9wYWNpdHk6IDAuMzsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgIC5hZGQtYnV0dG9uIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDE2cHggMTBweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA2My45JSkiLCJoc2woMCAwJSA0NS4xJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlKSIsImhzbCgwIDYyLjglIDMwLjYlKSIpfTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICAgIH0KCiAgICAgIC8qIFNjcm9sbGJhciBzdHlsaW5nICovCiAgICAgIC5saXN0LWl0ZW1zOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgfQoKICAgICAgLmxpc3QtaXRlbXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmxpc3QtaXRlbXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMjQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgfQoKICAgICAgLmxpc3QtaXRlbXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNzkuOCUpIiwiaHNsKDAgMCUgMzQuOSUpIil9OwogICAgICB9CgogICAgICAvKiBEaXNhYmxlIHRyYW5zaXRpb25zIGR1cmluZyBkcm9wIHRvIHByZXZlbnQgZmxhc2ggKi8KICAgICAgLmxpc3QtaXRlbXMuZHJvcHBpbmcgLmxpc3QtaXRlbSB7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAvKiDilIDilIAgVGVybWluYWwtc3R5bGUgaW5saW5lIGF1dG9jb21wbGV0ZSDilIDilIAgKi8KICAgICAgLmF1dG9jb21wbGV0ZS13cmFwcGVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmdob3N0LXRleHQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuZ2hvc3QtdHlwZWQgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmdob3N0LWNvbXBsZXRpb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUpIiwiaHNsKDAgMCUgNDUuMSUpIil9OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgICR7dGhpcy5sYWJlbD93YDxkZWVzLWxhYmVsIC5sYWJlbD0ke3RoaXMubGFiZWx9IC5yZXF1aXJlZD0ke3RoaXMucmVxdWlyZWR9PjwvZGVlcy1sYWJlbD5gOiIifQogICAgICAgIAogICAgICAgIDxkZWVzLXRpbGUgLmhlYWRpbmc9IiR7dGhpcy52YWx1ZS5sZW5ndGh9IGl0ZW0ke3RoaXMudmFsdWUubGVuZ3RoIT09MT8icyI6IiJ9Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9Imxpc3QtaXRlbXMiPgogICAgICAgICAgICAke3RoaXMudmFsdWUubGVuZ3RoPjA/dGhpcy52YWx1ZS5tYXAoKFRlLHdlKT0+d2AKICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICBjbGFzcz0ibGlzdC1pdGVtICR7dGhpcy5kcmFnZ2VkSW5kZXg9PT13ZT8iZHJhZ2dpbmciOiIifSIKICAgICAgICAgICAgICAgIGRyYWdnYWJsZT0iJHt0aGlzLnNvcnRhYmxlJiYhdGhpcy5kaXNhYmxlZH0iCiAgICAgICAgICAgICAgICBAZHJhZ3N0YXJ0PSR7UmU9PnRoaXMuaGFuZGxlRHJhZ1N0YXJ0KFJlLHdlKX0KICAgICAgICAgICAgICAgIEBkcmFnZW5kPSR7dGhpcy5oYW5kbGVEcmFnRW5kfQogICAgICAgICAgICAgICAgQGRyYWdvdmVyPSR7UmU9PnRoaXMuaGFuZGxlRHJhZ092ZXIoUmUsd2UpfQogICAgICAgICAgICAgICAgQGRyb3A9JHtSZT0+dGhpcy5oYW5kbGVEcm9wKFJlLHdlKX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke3RoaXMuc29ydGFibGUmJiF0aGlzLmRpc2FibGVkP3dgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyYWctaGFuZGxlIj4KICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpncmlwVmVydGljYWwifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQoKICAgICAgICAgICAgICAgICR7dGhpcy5jYW5kaWRhdGVzLmxlbmd0aD4wP3dgCiAgICAgICAgICAgICAgICAgICR7dGhpcy5jYW5kaWRhdGVzLnNvbWUoUmU9PlJlLnZpZXdLZXk9PT1UZSk/d2AKICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJjYW5kaWRhdGUtY2hlY2siIC5pY29uPSR7Imx1Y2lkZTpjaGVjayJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0iY2FuZGlkYXRlLXVua25vd24iIC5pY29uPSR7Imx1Y2lkZTpoZWxwQ2lyY2xlIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgIGB9CiAgICAgICAgICAgICAgICBgOiF0aGlzLnNvcnRhYmxlfHx0aGlzLmRpc2FibGVkP3dgCiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9Iml0ZW0tYnVsbGV0IiAuaWNvbj0keyJsdWNpZGU6ZG90In0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICBgOiIifQoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0tY29udGVudCI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5lZGl0aW5nSW5kZXg9PT13ZT93YAogICAgICAgICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpdGVtLWVkaXQtaW5wdXQiCiAgICAgICAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLmVkaXRpbmdWYWx1ZX0KICAgICAgICAgICAgICAgICAgICAgIEBpbnB1dD0ke1JlPT50aGlzLmVkaXRpbmdWYWx1ZT1SZS50YXJnZXQudmFsdWV9CiAgICAgICAgICAgICAgICAgICAgICBAa2V5ZG93bj0ke1JlPT50aGlzLmhhbmRsZUVkaXRLZXlEb3duKFJlLHdlKX0KICAgICAgICAgICAgICAgICAgICAgIEBibHVyPSR7KCk9PnRoaXMuc2F2ZUVkaXQod2UpfQogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtLXRleHQiIEBkYmxjbGljaz0keygpPT4hdGhpcy5kaXNhYmxlZCYmdGhpcy5zdGFydEVkaXQod2UpfT4KICAgICAgICAgICAgICAgICAgICAgICR7VGV9CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIGB9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbS1hY3Rpb25zIj4KICAgICAgICAgICAgICAgICAgJHt0aGlzLmVkaXRpbmdJbmRleD09PXdlP3dgCiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBzYXZlIiBAY2xpY2s9JHsoKT0+dGhpcy5zYXZlRWRpdCh3ZSl9PgogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Y2hlY2sifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIGNhbmNlbCIgQGNsaWNrPSR7KCk9PnRoaXMuY2FuY2VsRWRpdCgpfT4KICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOngifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgICAgICAgICR7dGhpcy5kaXNhYmxlZD8iIjp3YAogICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuc3RhcnRFZGl0KHdlKX0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOnBlbmNpbCJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIGRlbGV0ZSIgQGNsaWNrPSR7KCk9PnRoaXMucmVtb3ZlSXRlbSh3ZSl9PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTp0cmFzaDIifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIGB9CiAgICAgICAgICAgICAgICAgIGB9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYCk6d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+CiAgICAgICAgICAgICAgICBObyBpdGVtcyBhZGRlZCB5ZXQKICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYH0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgCiAgICAgICAgICAkeyF0aGlzLmRpc2FibGVkJiYoIXRoaXMubWF4SXRlbXN8fHRoaXMudmFsdWUubGVuZ3RoPHRoaXMubWF4SXRlbXMpP3dgCiAgICAgICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0iYWRkLWl0ZW0tY29udGFpbmVyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdXRvY29tcGxldGUtd3JhcHBlciI+CiAgICAgICAgICAgICAgICAke3RoaXMuZ2hvc3RUZXh0P3dgCiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnaG9zdC10ZXh0Ij4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2hvc3QtdHlwZWQiPiR7dGhpcy5pbnB1dFZhbHVlfTwvc3Bhbj48c3BhbiBjbGFzcz0iZ2hvc3QtY29tcGxldGlvbiI+JHt0aGlzLmdob3N0VGV4dH08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgICAgY2xhc3M9ImFkZC1pbnB1dCIKICAgICAgICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7dGhpcy5wbGFjZWhvbGRlcn0KICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5pbnB1dFZhbHVlfQogICAgICAgICAgICAgICAgICBAaW5wdXQ9JHt0aGlzLmhhbmRsZUlucHV0fQogICAgICAgICAgICAgICAgICBAa2V5ZG93bj0ke3RoaXMuaGFuZGxlQWRkS2V5RG93bn0KICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH0KICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9ImFkZC1idXR0b24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmFkZEl0ZW19CiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHshdGhpcy5pbnB1dFZhbHVlLnRyaW0oKX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpwbHVzIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2RlZXMtdGlsZT4KCiAgICAgICAgJHt0aGlzLnZhbGlkYXRpb25UZXh0P3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2YWxpZGF0aW9uLW1lc3NhZ2UiPiR7dGhpcy52YWxpZGF0aW9uVGV4dH08L2Rpdj4KICAgICAgICBgOiIifQogICAgICAgIAogICAgICAgICR7dGhpcy5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlSW5wdXQoVGUpe3RoaXMuaW5wdXRWYWx1ZT1UZS50YXJnZXQudmFsdWUsdGhpcy51cGRhdGVHaG9zdFRleHQoKX11cGRhdGVHaG9zdFRleHQoKXtpZih0aGlzLmNhbmRpZGF0ZXMubGVuZ3RoPT09MHx8IXRoaXMuaW5wdXRWYWx1ZSl7dGhpcy5naG9zdFRleHQ9IiIsdGhpcy5jdXJyZW50Q2FuZGlkYXRlSW5kZXg9LTEsdGhpcy5tYXRjaGluZ0NhbmRpZGF0ZXM9W107cmV0dXJufWxldCBUZT10aGlzLmlucHV0VmFsdWUudG9Mb3dlckNhc2UoKTt0aGlzLm1hdGNoaW5nQ2FuZGlkYXRlcz10aGlzLmNhbmRpZGF0ZXMuZmlsdGVyKHdlPT50aGlzLnZhbHVlLmluY2x1ZGVzKHdlLnZpZXdLZXkpPyExOndlLnZpZXdLZXkudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKFRlKSkuc29ydCgod2UsUmUpPT53ZS52aWV3S2V5Lmxlbmd0aC1SZS52aWV3S2V5Lmxlbmd0aCksdGhpcy5tYXRjaGluZ0NhbmRpZGF0ZXMubGVuZ3RoPjA/KHRoaXMuY3VycmVudENhbmRpZGF0ZUluZGV4PTAsdGhpcy5naG9zdFRleHQ9dGhpcy5tYXRjaGluZ0NhbmRpZGF0ZXNbMF0udmlld0tleS5zbGljZSh0aGlzLmlucHV0VmFsdWUubGVuZ3RoKSk6KHRoaXMuY3VycmVudENhbmRpZGF0ZUluZGV4PS0xLHRoaXMuZ2hvc3RUZXh0PSIiKX1oYW5kbGVBZGRLZXlEb3duKFRlKXtpZihUZS5rZXk9PT0iVGFiIiYmdGhpcy5jYW5kaWRhdGVzLmxlbmd0aD4wJiZ0aGlzLmlucHV0VmFsdWUpe2lmKFRlLnByZXZlbnREZWZhdWx0KCksVGUuc2hpZnRLZXkmJnRoaXMubWF0Y2hpbmdDYW5kaWRhdGVzLmxlbmd0aD4wKXt0aGlzLmN1cnJlbnRDYW5kaWRhdGVJbmRleD0odGhpcy5jdXJyZW50Q2FuZGlkYXRlSW5kZXgrMSkldGhpcy5tYXRjaGluZ0NhbmRpZGF0ZXMubGVuZ3RoO2xldCB3ZT10aGlzLm1hdGNoaW5nQ2FuZGlkYXRlc1t0aGlzLmN1cnJlbnRDYW5kaWRhdGVJbmRleF07dGhpcy5naG9zdFRleHQ9d2Uudmlld0tleS5zbGljZSh0aGlzLmlucHV0VmFsdWUubGVuZ3RoKX1lbHNlIGlmKCFUZS5zaGlmdEtleSYmdGhpcy5naG9zdFRleHQmJnRoaXMubWF0Y2hpbmdDYW5kaWRhdGVzLmxlbmd0aD4wKXtsZXQgd2U9dGhpcy5tYXRjaGluZ0NhbmRpZGF0ZXNbdGhpcy5jdXJyZW50Q2FuZGlkYXRlSW5kZXhdO3RoaXMuaW5wdXRWYWx1ZT13ZS52aWV3S2V5LHRoaXMuZ2hvc3RUZXh0PSIiO2xldCBSZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5hZGQtaW5wdXQiKTtSZSYmKFJlLnZhbHVlPXdlLnZpZXdLZXkpfXJldHVybn1pZihUZS5rZXk9PT0iRXNjYXBlIiYmdGhpcy5naG9zdFRleHQpe1RlLnByZXZlbnREZWZhdWx0KCksdGhpcy5naG9zdFRleHQ9IiIsdGhpcy5jdXJyZW50Q2FuZGlkYXRlSW5kZXg9LTEsdGhpcy5tYXRjaGluZ0NhbmRpZGF0ZXM9W107cmV0dXJufWlmKFRlLmtleT09PSJFbnRlciImJnRoaXMuaW5wdXRWYWx1ZS50cmltKCkpe2lmKFRlLnByZXZlbnREZWZhdWx0KCksdGhpcy5jYW5kaWRhdGVzLmxlbmd0aD4wKXtsZXQgd2U9dGhpcy5jYW5kaWRhdGVzLmZpbmQoUmU9PlJlLnZpZXdLZXkudG9Mb3dlckNhc2UoKT09PXRoaXMuaW5wdXRWYWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKSk7d2U/dGhpcy5zZWxlY3RDYW5kaWRhdGUod2UpOnRoaXMuYWxsb3dGcmVlZm9ybSYmKHRoaXMuZ2hvc3RUZXh0PSIiLHRoaXMuY3VycmVudENhbmRpZGF0ZUluZGV4PS0xLHRoaXMubWF0Y2hpbmdDYW5kaWRhdGVzPVtdLHRoaXMuYWRkSXRlbSgpKTtyZXR1cm59dGhpcy5hZGRJdGVtKCl9fWhhbmRsZUVkaXRLZXlEb3duKFRlLHdlKXtUZS5rZXk9PT0iRW50ZXIiPyhUZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2F2ZUVkaXQod2UpKTpUZS5rZXk9PT0iRXNjYXBlIiYmKFRlLnByZXZlbnREZWZhdWx0KCksdGhpcy5jYW5jZWxFZGl0KCkpfXNlbGVjdENhbmRpZGF0ZShUZSl7aWYodGhpcy5tYXhJdGVtcyYmdGhpcy52YWx1ZS5sZW5ndGg+PXRoaXMubWF4SXRlbXMpe3RoaXMudmFsaWRhdGlvblRleHQ9YE1heGltdW0gJHt0aGlzLm1heEl0ZW1zfSBpdGVtcyBhbGxvd2VkYCxzZXRUaW1lb3V0KCgpPT50aGlzLnZhbGlkYXRpb25UZXh0PSIiLDNlMyk7cmV0dXJufWlmKCF0aGlzLmFsbG93RHVwbGljYXRlcyYmdGhpcy52YWx1ZS5pbmNsdWRlcyhUZS52aWV3S2V5KSl7dGhpcy52YWxpZGF0aW9uVGV4dD0iVGhpcyBpdGVtIGFscmVhZHkgZXhpc3RzIGluIHRoZSBsaXN0IixzZXRUaW1lb3V0KCgpPT50aGlzLnZhbGlkYXRpb25UZXh0PSIiLDNlMyk7cmV0dXJufXRoaXMuYWRkZWRDYW5kaWRhdGVzTWFwLnNldChUZS52aWV3S2V5LFRlKSx0aGlzLnZhbHVlPVsuLi50aGlzLnZhbHVlLFRlLnZpZXdLZXldLHRoaXMuaW5wdXRWYWx1ZT0iIix0aGlzLmdob3N0VGV4dD0iIix0aGlzLmN1cnJlbnRDYW5kaWRhdGVJbmRleD0tMSx0aGlzLm1hdGNoaW5nQ2FuZGlkYXRlcz1bXSx0aGlzLnZhbGlkYXRpb25UZXh0PSIiLHRoaXMuZW1pdENoYW5nZSgpLHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+e2xldCB3ZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5hZGQtaW5wdXQiKTt3ZSYmKHdlLnZhbHVlPSIiLHdlLmZvY3VzKCkpfSl9Z2V0Q2FuZGlkYXRlRm9ySXRlbShUZSl7cmV0dXJuIHRoaXMuYWRkZWRDYW5kaWRhdGVzTWFwLmdldChUZSl9Z2V0QWRkZWRDYW5kaWRhdGVzKCl7cmV0dXJuIHRoaXMudmFsdWUubWFwKFRlPT50aGlzLmFkZGVkQ2FuZGlkYXRlc01hcC5nZXQoVGUpKS5maWx0ZXIoVGU9PlRlIT09dm9pZCAwKX1hZGRJdGVtKCl7bGV0IFRlPXRoaXMuaW5wdXRWYWx1ZS50cmltKCk7aWYoVGUpe2lmKCF0aGlzLmFsbG93RHVwbGljYXRlcyYmdGhpcy52YWx1ZS5pbmNsdWRlcyhUZSkpe3RoaXMudmFsaWRhdGlvblRleHQ9IlRoaXMgaXRlbSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgbGlzdCIsc2V0VGltZW91dCgoKT0+dGhpcy52YWxpZGF0aW9uVGV4dD0iIiwzZTMpO3JldHVybn1pZih0aGlzLm1heEl0ZW1zJiZ0aGlzLnZhbHVlLmxlbmd0aD49dGhpcy5tYXhJdGVtcyl7dGhpcy52YWxpZGF0aW9uVGV4dD1gTWF4aW11bSAke3RoaXMubWF4SXRlbXN9IGl0ZW1zIGFsbG93ZWRgLHNldFRpbWVvdXQoKCk9PnRoaXMudmFsaWRhdGlvblRleHQ9IiIsM2UzKTtyZXR1cm59dGhpcy52YWx1ZT1bLi4udGhpcy52YWx1ZSxUZV0sdGhpcy5pbnB1dFZhbHVlPSIiLHRoaXMudmFsaWRhdGlvblRleHQ9IiIsdGhpcy5lbWl0Q2hhbmdlKCksdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT57bGV0IHdlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmFkZC1pbnB1dCIpO3dlJiYod2UudmFsdWU9IiIsd2UuZm9jdXMoKSl9KX19c3RhcnRFZGl0KFRlKXt0aGlzLmVkaXRpbmdJbmRleD1UZSx0aGlzLmVkaXRpbmdWYWx1ZT10aGlzLnZhbHVlW1RlXSx0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PntsZXQgd2U9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuaXRlbS1lZGl0LWlucHV0Iik7d2UmJih3ZS5mb2N1cygpLHdlLnNlbGVjdCgpKX0pfXNhdmVFZGl0KFRlKXtsZXQgd2U9dGhpcy5lZGl0aW5nVmFsdWUudHJpbSgpO2lmKCF3ZSl7dGhpcy5jYW5jZWxFZGl0KCk7cmV0dXJufWlmKCF0aGlzLmFsbG93RHVwbGljYXRlcyYmd2UhPT10aGlzLnZhbHVlW1RlXSYmdGhpcy52YWx1ZS5pbmNsdWRlcyh3ZSkpe3RoaXMudmFsaWRhdGlvblRleHQ9IlRoaXMgaXRlbSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgbGlzdCIsc2V0VGltZW91dCgoKT0+dGhpcy52YWxpZGF0aW9uVGV4dD0iIiwzZTMpO3JldHVybn1sZXQgUmU9Wy4uLnRoaXMudmFsdWVdO1JlW1RlXT13ZSx0aGlzLnZhbHVlPVJlLHRoaXMuZWRpdGluZ0luZGV4PS0xLHRoaXMuZWRpdGluZ1ZhbHVlPSIiLHRoaXMudmFsaWRhdGlvblRleHQ9IiIsdGhpcy5lbWl0Q2hhbmdlKCl9Y2FuY2VsRWRpdCgpe3RoaXMuZWRpdGluZ0luZGV4PS0xLHRoaXMuZWRpdGluZ1ZhbHVlPSIifWFzeW5jIHJlbW92ZUl0ZW0oVGUpe2lmKHRoaXMuY29uZmlybURlbGV0ZSYmIWF3YWl0IHRoaXMuc2hvd0NvbmZpcm1EaWFsb2coYERlbGV0ZSAiJHt0aGlzLnZhbHVlW1RlXX0iP2ApKXJldHVybjtsZXQgd2U9dGhpcy52YWx1ZVtUZV07dGhpcy5hZGRlZENhbmRpZGF0ZXNNYXAuZGVsZXRlKHdlKSx0aGlzLnZhbHVlPXRoaXMudmFsdWUuZmlsdGVyKChSZSxmZSk9PmZlIT09VGUpLHRoaXMuZW1pdENoYW5nZSgpfWFzeW5jIHNob3dDb25maXJtRGlhbG9nKFRlKXtyZXR1cm4gY29uZmlybShUZSl9aGFuZGxlRHJhZ1N0YXJ0KFRlLHdlKXtpZighdGhpcy5zb3J0YWJsZXx8dGhpcy5kaXNhYmxlZClyZXR1cm47dGhpcy5kcmFnZ2VkSW5kZXg9d2UsdGhpcy50YXJnZXRJbmRleD13ZSxUZS5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZD0ibW92ZSIsVGUuZGF0YVRyYW5zZmVyLnNldERhdGEoInRleHQvcGxhaW4iLHdlLnRvU3RyaW5nKCkpO2xldCBSZT1uZXcgSW1hZ2U7UmUuc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBVUVCQUFBQUN3QUFBQUFBUUFCQUFBQ0FrUUJBRHM9IixUZS5kYXRhVHJhbnNmZXIuc2V0RHJhZ0ltYWdlKFJlLDAsMCksdGhpcy5kcmFnU3RhcnRZPVRlLmNsaWVudFksdGhpcy5kcmFnQ3VycmVudFk9VGUuY2xpZW50WTtsZXQgZmU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIubGlzdC1pdGVtcyIpLGJlPUFycmF5LmZyb20oZmU/LnF1ZXJ5U2VsZWN0b3JBbGwoIi5saXN0LWl0ZW0iKXx8W10pO2JlW3dlXSYmKHRoaXMuaXRlbUhlaWdodD1iZVt3ZV0ub2Zmc2V0SGVpZ2h0KSx0aGlzLm9yaWdpbmFsSXRlbVJlY3RzPWJlLm1hcChQZT0+UGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpLGZlPy5jbGFzc0xpc3QuYWRkKCJpcy1kcmFnZ2luZyIpLHRoaXMuYm91bmRIYW5kbGVHbG9iYWxEcmFnT3Zlcj10aGlzLmhhbmRsZUdsb2JhbERyYWdPdmVyLmJpbmQodGhpcyksdGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdFbmQ9dGhpcy5oYW5kbGVHbG9iYWxEcmFnRW5kLmJpbmQodGhpcyksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLHRoaXMuYm91bmRIYW5kbGVHbG9iYWxEcmFnT3ZlciksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ2VuZCIsdGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdFbmQpfWhhbmRsZUdsb2JhbERyYWdPdmVyKFRlKXtpZihUZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZHJhZ2dlZEluZGV4PT09LTEpcmV0dXJuO3RoaXMuZHJhZ0N1cnJlbnRZPVRlLmNsaWVudFk7bGV0IHdlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmxpc3QtaXRlbXMiKTtpZighd2UpcmV0dXJuO2xldCBSZT1BcnJheS5mcm9tKHdlLnF1ZXJ5U2VsZWN0b3JBbGwoIi5saXN0LWl0ZW0iKSksZmU9UmVbdGhpcy5kcmFnZ2VkSW5kZXhdO2lmKCFmZSlyZXR1cm47bGV0IGJlPXRoaXMuZHJhZ0N1cnJlbnRZLXRoaXMuZHJhZ1N0YXJ0WTtmZS5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZVkoJHtiZX1weClgO2xldCBQZT10aGlzLm9yaWdpbmFsSXRlbVJlY3RzW3RoaXMuZHJhZ2dlZEluZGV4XTtpZighUGUpcmV0dXJuO2xldCBmdD1QZS50b3ArUGUuaGVpZ2h0LzIrYmUsbXQ9dGhpcy5kcmFnZ2VkSW5kZXg7Zm9yKGxldCBOdD0wO050PFJlLmxlbmd0aDtOdCsrKXtpZihOdD09PXRoaXMuZHJhZ2dlZEluZGV4KWNvbnRpbnVlO2xldCBRYT10aGlzLm9yaWdpbmFsSXRlbVJlY3RzW050XTtpZighUWEpY29udGludWU7bGV0IGVyPVFhLnRvcCtRYS5oZWlnaHQvMjtpZihSZVtOdF0uY2xhc3NMaXN0LmNvbnRhaW5zKCJtb3ZlLXVwIik/ZXItPXRoaXMuaXRlbUhlaWdodDpSZVtOdF0uY2xhc3NMaXN0LmNvbnRhaW5zKCJtb3ZlLWRvd24iKSYmKGVyKz10aGlzLml0ZW1IZWlnaHQpLGZ0PGVyJiZOdDx0aGlzLmRyYWdnZWRJbmRleCl7bXQ9TnQ7YnJlYWt9ZWxzZSBmdD5lciYmTnQ+dGhpcy5kcmFnZ2VkSW5kZXgmJihtdD1OdCl9bXQhPT10aGlzLnRhcmdldEluZGV4JiYodGhpcy50YXJnZXRJbmRleD1tdCx0aGlzLnVwZGF0ZUl0ZW1Qb3NpdGlvbnMoUmUpKX11cGRhdGVJdGVtUG9zaXRpb25zKFRlKXtsZXQgd2U9dGhpcy5kcmFnZ2VkSW5kZXgsUmU9dGhpcy50YXJnZXRJbmRleCxmZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5saXN0LWl0ZW1zIik7ZmUmJmZlLnN0eWxlLnNldFByb3BlcnR5KCItLWl0ZW0taGVpZ2h0IixgJHt0aGlzLml0ZW1IZWlnaHR9cHhgKSxUZS5mb3JFYWNoKChiZSxQZSk9PntQZSE9PXdlJiYoYmUuY2xhc3NMaXN0LnJlbW92ZSgibW92ZS11cCIsIm1vdmUtZG93biIpLGJlLnN0eWxlLnNldFByb3BlcnR5KCItLWl0ZW0taGVpZ2h0IixgJHt0aGlzLml0ZW1IZWlnaHR9cHhgKSx3ZTxSZT9QZT53ZSYmUGU8PVJlJiZiZS5jbGFzc0xpc3QuYWRkKCJtb3ZlLXVwIik6d2U+UmUmJlBlPj1SZSYmUGU8d2UmJmJlLmNsYXNzTGlzdC5hZGQoIm1vdmUtZG93biIpKX0pfWhhbmRsZUdsb2JhbERyYWdFbmQoKXt0aGlzLmJvdW5kSGFuZGxlR2xvYmFsRHJhZ092ZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJkcmFnb3ZlciIsdGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdPdmVyKSx0aGlzLmJvdW5kSGFuZGxlR2xvYmFsRHJhZ092ZXI9bnVsbCksdGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdFbmQmJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJkcmFnZW5kIix0aGlzLmJvdW5kSGFuZGxlR2xvYmFsRHJhZ0VuZCksdGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdFbmQ9bnVsbCk7bGV0IFRlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmxpc3QtaXRlbXMiKSx3ZT1UZT8ucXVlcnlTZWxlY3RvckFsbCgiLmxpc3QtaXRlbSIpLFJlPXdlPy5bdGhpcy5kcmFnZ2VkSW5kZXhdO2lmKHRoaXMuZHJhZ2dlZEluZGV4PT09LTF8fHRoaXMudGFyZ2V0SW5kZXg9PT0tMXx8dGhpcy5kcmFnZ2VkSW5kZXg9PT10aGlzLnRhcmdldEluZGV4KXtpZihSZSYmdGhpcy5kcmFnZ2VkSW5kZXghPT0tMSl7UmUuc3R5bGUudHJhbnNpdGlvbj0idHJhbnNmb3JtIDAuMTVzIGVhc2UiLFJlLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgwKSI7bGV0IE50PSExLFFhPXMoKCk9PntOdHx8KE50PSEwLFJlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLFFhKSx0aGlzLmNsZWFudXBEcmFnU3RhdGUoVGUsd2UpKX0sIm9uUmV0dXJuIik7UmUuYWRkRXZlbnRMaXN0ZW5lcigidHJhbnNpdGlvbmVuZCIsUWEse29uY2U6ITB9KSxzZXRUaW1lb3V0KFFhLDIwMCl9ZWxzZSB0aGlzLmNsZWFudXBEcmFnU3RhdGUoVGUsd2UpO3JldHVybn1sZXQgZmU9dGhpcy5vcmlnaW5hbEl0ZW1SZWN0c1t0aGlzLmRyYWdnZWRJbmRleF0sYmU9dGhpcy5vcmlnaW5hbEl0ZW1SZWN0c1t0aGlzLnRhcmdldEluZGV4XTtpZighZmV8fCFiZXx8IVJlKXt0aGlzLmNsZWFudXBEcmFnU3RhdGUoVGUsd2UpO3JldHVybn1sZXQgUGU7dGhpcy50YXJnZXRJbmRleD50aGlzLmRyYWdnZWRJbmRleD9QZT1iZS5ib3R0b20tZmUuYm90dG9tOlBlPWJlLnRvcC1mZS50b3AsUmUuc3R5bGUudHJhbnNpdGlvbj0idHJhbnNmb3JtIDAuMTVzIGVhc2UiLFJlLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlWSgke1BlfXB4KWA7bGV0IGZ0PSExLG10PXMoKCk9PntpZihmdClyZXR1cm47ZnQ9ITAsUmUucmVtb3ZlRXZlbnRMaXN0ZW5lcigidHJhbnNpdGlvbmVuZCIsbXQpLFRlPy5jbGFzc0xpc3QuYWRkKCJkcm9wcGluZyIpLFRlPy5vZmZzZXRIZWlnaHQsd2U/LmZvckVhY2goZXI9Pntlci5jbGFzc0xpc3QucmVtb3ZlKCJtb3ZlLXVwIiwibW92ZS1kb3duIiwiZHJhZ2dpbmciKSxlci5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgidHJhbnNmb3JtIiksZXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoInRyYW5zaXRpb24iKX0pO2xldCBOdD1bLi4udGhpcy52YWx1ZV0sW1FhXT1OdC5zcGxpY2UodGhpcy5kcmFnZ2VkSW5kZXgsMSk7TnQuc3BsaWNlKHRoaXMudGFyZ2V0SW5kZXgsMCxRYSksdGhpcy52YWx1ZT1OdCx0aGlzLmVtaXRDaGFuZ2UoKSx0aGlzLmRyYWdnZWRJbmRleD0tMSx0aGlzLmRyYWdPdmVySW5kZXg9LTEsdGhpcy50YXJnZXRJbmRleD0tMSx0aGlzLmRyYWdTdGFydFk9MCx0aGlzLmRyYWdDdXJyZW50WT0wLHRoaXMub3JpZ2luYWxJdGVtUmVjdHM9W10sdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT57bGV0IGVyPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvckFsbCgiLmxpc3QtaXRlbSIpO2VyPy5mb3JFYWNoKHlzPT57eXMuc3R5bGUudHJhbnNpdGlvbj0ibm9uZSJ9KSx0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5saXN0LWl0ZW1zIik/Lm9mZnNldEhlaWdodCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pntlcj8uZm9yRWFjaCh5cz0+e3lzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJ0cmFuc2l0aW9uIil9KSxUZT8uY2xhc3NMaXN0LnJlbW92ZSgiZHJvcHBpbmciLCJpcy1kcmFnZ2luZyIpfSl9KX0sIm9uVHJhbnNpdGlvbkVuZCIpO1JlLmFkZEV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLG10LHtvbmNlOiEwfSksc2V0VGltZW91dChtdCwyMDApfWNsZWFudXBEcmFnU3RhdGUoVGUsd2Upe1RlPy5jbGFzc0xpc3QuYWRkKCJkcm9wcGluZyIpLFRlPy5vZmZzZXRIZWlnaHQsd2U/LmZvckVhY2goUmU9PntSZS5jbGFzc0xpc3QucmVtb3ZlKCJtb3ZlLXVwIiwibW92ZS1kb3duIiwiZHJhZ2dpbmciKSxSZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgidHJhbnNmb3JtIiksUmUuc3R5bGUucmVtb3ZlUHJvcGVydHkoInRyYW5zaXRpb24iKX0pLHRoaXMuZHJhZ2dlZEluZGV4PS0xLHRoaXMuZHJhZ092ZXJJbmRleD0tMSx0aGlzLnRhcmdldEluZGV4PS0xLHRoaXMuZHJhZ1N0YXJ0WT0wLHRoaXMuZHJhZ0N1cnJlbnRZPTAsdGhpcy5vcmlnaW5hbEl0ZW1SZWN0cz1bXSx0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PntsZXQgUmU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yQWxsKCIubGlzdC1pdGVtIik7UmU/LmZvckVhY2goZmU9PntmZS5zdHlsZS50cmFuc2l0aW9uPSJub25lIn0pLHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmxpc3QtaXRlbXMiKT8ub2Zmc2V0SGVpZ2h0LHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e1JlPy5mb3JFYWNoKGZlPT57ZmUuc3R5bGUucmVtb3ZlUHJvcGVydHkoInRyYW5zaXRpb24iKX0pLFRlPy5jbGFzc0xpc3QucmVtb3ZlKCJkcm9wcGluZyIsImlzLWRyYWdnaW5nIil9KX0pfWhhbmRsZURyYWdFbmQoKXt0aGlzLmhhbmRsZUdsb2JhbERyYWdFbmQoKX1oYW5kbGVEcmFnT3ZlcihUZSx3ZSl7IXRoaXMuc29ydGFibGV8fHRoaXMuZGlzYWJsZWR8fChUZS5wcmV2ZW50RGVmYXVsdCgpLFRlLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0PSJtb3ZlIil9aGFuZGxlRHJhZ0xlYXZlKCl7fWhhbmRsZURyb3AoVGUsd2UpeyF0aGlzLnNvcnRhYmxlfHx0aGlzLmRpc2FibGVkfHxUZS5wcmV2ZW50RGVmYXVsdCgpfWVtaXRDaGFuZ2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjaGFuZ2UiLHtkZXRhaWw6e3ZhbHVlOnRoaXMudmFsdWV9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy52YWx1ZX1zZXRWYWx1ZShUZSl7dGhpcy52YWx1ZT1UZXx8W119YXN5bmMgdmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5yZXF1aXJlZCYmKCF0aGlzLnZhbHVlfHx0aGlzLnZhbHVlLmxlbmd0aD09PTApPyh0aGlzLnZhbGlkYXRpb25UZXh0PSJBdCBsZWFzdCBvbmUgaXRlbSBpcyByZXF1aXJlZCIsITEpOnRoaXMubWluSXRlbXMmJnRoaXMudmFsdWUubGVuZ3RoPHRoaXMubWluSXRlbXM/KHRoaXMudmFsaWRhdGlvblRleHQ9YEF0IGxlYXN0ICR7dGhpcy5taW5JdGVtc30gaXRlbXMgcmVxdWlyZWRgLCExKToodGhpcy52YWxpZGF0aW9uVGV4dD0iIiwhMCl9c3RhdGlje0d0KHIsdCl9fTtyZXR1cm4genQ9cn0pKCl9KTt2YXIgWSRhLEskYSxaJGEsWCRhLFEkYSxKJGEsZURhLHZpYSx4aWE9ZigoKT0+e2xlKCk7TmEoKTtVcygpO1kkYT1zKCgpPT57bGV0IGE9RGF0ZS5ub3coKTtyZXR1cm5be2lkOmB0aXRsZS0ke2F9YCx0eXBlOiJoZWFkaW5nLTEiLGNvbnRlbnQ6IlN5c3RlbSBQZXJmb3JtYW5jZSBSZXBvcnQifSx7aWQ6YGRhdGUtJHthKzF9YCx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6YEdlbmVyYXRlZCBvbjogJHtuZXcgRGF0ZSgpLnRvTG9jYWxlU3RyaW5nKCl9YH0se2lkOmBzdW1tYXJ5LWhlYWRpbmctJHthKzJ9YCx0eXBlOiJoZWFkaW5nLTIiLGNvbnRlbnQ6IkV4ZWN1dGl2ZSBTdW1tYXJ5In0se2lkOmBzdW1tYXJ5LSR7YSszfWAsdHlwZToicGFyYWdyYXBoIixjb250ZW50OiJUaGlzIHJlcG9ydCBwcm92aWRlcyBhbiBhbmFseXNpcyBvZiBzeXN0ZW0gcGVyZm9ybWFuY2UgbWV0cmljcyBvdmVyIHRoZSBsYXN0IDMwIGRheXMuIn0se2lkOmBtZXRyaWNzLWhlYWRpbmctJHthKzR9YCx0eXBlOiJoZWFkaW5nLTIiLGNvbnRlbnQ6IktleSBNZXRyaWNzIn0se2lkOmBtZXRyaWNzLWxpc3QtJHthKzV9YCx0eXBlOiJsaXN0Iixjb250ZW50OmBBdmVyYWdlIHJlc3BvbnNlIHRpbWU6IDEyNG1zClVwdGltZTogOTkuOTclCkNQVSB1dGlsaXphdGlvbjogNDUlCk1lbW9yeSB1c2FnZTogMi4zR0IgLyA4R0JgLG1ldGFkYXRhOntsaXN0VHlwZToiYnVsbGV0In19LHtpZDpgYW5hbHlzaXMtaGVhZGluZy0ke2ErNn1gLHR5cGU6ImhlYWRpbmctMiIsY29udGVudDoiUGVyZm9ybWFuY2UgQW5hbHlzaXMifSx7aWQ6YGFuYWx5c2lzLXF1b3RlLSR7YSs3fWAsdHlwZToicXVvdGUiLGNvbnRlbnQ6IlN5c3RlbSBwZXJmb3JtYW5jZSByZW1haW5zIHdpdGhpbiBhY2NlcHRhYmxlIHBhcmFtZXRlcnMgd2l0aCByb29tIGZvciBvcHRpbWl6YXRpb24gaW4gbWVtb3J5IG1hbmFnZW1lbnQuIn0se2lkOmBjb2RlLWhlYWRpbmctJHthKzh9YCx0eXBlOiJoZWFkaW5nLTMiLGNvbnRlbnQ6IlNhbXBsZSBRdWVyeSBQZXJmb3JtYW5jZSJ9LHtpZDpgY29kZS1ibG9jay0ke2ErOX1gLHR5cGU6ImNvZGUiLGNvbnRlbnQ6YFNFTEVDVCBBVkcocmVzcG9uc2VfdGltZSkgYXMgYXZnX3RpbWUsCiAgICAgICBDT1VOVCgqKSBhcyB0b3RhbF9yZXF1ZXN0cywKICAgICAgIERBVEUoY3JlYXRlZF9hdCkgYXMgZGF0ZQpGUk9NIHBlcmZvcm1hbmNlX2xvZ3MKV0hFUkUgY3JlYXRlZF9hdCA+PSBOT1coKSAtIElOVEVSVkFMIDMwIERBWQpHUk9VUCBCWSBEQVRFKGNyZWF0ZWRfYXQpCk9SREVSIEJZIGRhdGUgREVTQztgLG1ldGFkYXRhOntsYW5ndWFnZToic3FsIn19LHtpZDpgZGl2aWRlci0ke2ErMTB9YCx0eXBlOiJkaXZpZGVyIixjb250ZW50OiIifSx7aWQ6YGZvb3Rlci0ke2ErMTF9YCx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6IlJlcG9ydCBnZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSBTeXN0ZW0gTW9uaXRvciB2Mi41LjAifV19LCJnZW5lcmF0ZVJlcG9ydEJsb2NrcyIpLEskYT1zKCgpPT57bGV0IGE9RGF0ZS5ub3coKTtyZXR1cm5be2lkOmByZWNpcGUtdGl0bGUtJHthfWAsdHlwZToiaGVhZGluZy0xIixjb250ZW50OiJDbGFzc2ljIE1hcmdoZXJpdGEgUGl6emEifSx7aWQ6YHJlY2lwZS1pbnRyby0ke2ErMX1gLHR5cGU6InBhcmFncmFwaCIsY29udGVudDoiQSB0cmFkaXRpb25hbCBJdGFsaWFuIHBpenphIHdpdGggZnJlc2ggYmFzaWwsIG1venphcmVsbGEsIGFuZCB0b21hdG8gc2F1Y2UuIn0se2lkOmBpbmdyZWRpZW50cy1oZWFkaW5nLSR7YSsyfWAsdHlwZToiaGVhZGluZy0yIixjb250ZW50OiJcdXsxRjM1NX0gSW5ncmVkaWVudHMifSx7aWQ6YGRvdWdoLWhlYWRpbmctJHthKzN9YCx0eXBlOiJoZWFkaW5nLTMiLGNvbnRlbnQ6IkZvciB0aGUgRG91Z2g6In0se2lkOmBkb3VnaC1saXN0LSR7YSs0fWAsdHlwZToibGlzdCIsY29udGVudDpgNTAwZyB0aXBvICIwMCIgZmxvdXIKMzI1bWwgd2FybSB3YXRlcgoxMGcgc2FsdAo3ZyBhY3RpdmUgZHJ5IHllYXN0CjIgdGJzcCBvbGl2ZSBvaWxgLG1ldGFkYXRhOntsaXN0VHlwZToiYnVsbGV0In19LHtpZDpgdG9wcGluZ3MtaGVhZGluZy0ke2ErNX1gLHR5cGU6ImhlYWRpbmctMyIsY29udGVudDoiRm9yIHRoZSBUb3BwaW5nczoifSx7aWQ6YHRvcHBpbmdzLWxpc3QtJHthKzZ9YCx0eXBlOiJsaXN0Iixjb250ZW50OmA0MDBnIGNhbm5lZCBTYW4gTWFyemFubyB0b21hdG9lcwoyNTBnIGZyZXNoIG1venphcmVsbGEKRnJlc2ggYmFzaWwgbGVhdmVzCkV4dHJhIHZpcmdpbiBvbGl2ZSBvaWwKU2FsdCBhbmQgcGVwcGVyIHRvIHRhc3RlYCxtZXRhZGF0YTp7bGlzdFR5cGU6ImJ1bGxldCJ9fSx7aWQ6YGluc3RydWN0aW9ucy1oZWFkaW5nLSR7YSs3fWAsdHlwZToiaGVhZGluZy0yIixjb250ZW50OiJcdXsxRjQ2OH1cdTIwMERcdXsxRjM3M30gSW5zdHJ1Y3Rpb25zIn0se2lkOmBzdGVwcy1saXN0LSR7YSs4fWAsdHlwZToibGlzdCIsY29udGVudDpgRGlzc29sdmUgeWVhc3QgaW4gd2FybSB3YXRlciBhbmQgbGV0IHN0YW5kIGZvciA1IG1pbnV0ZXMKTWl4IGZsb3VyIGFuZCBzYWx0LCBjcmVhdGUgYSB3ZWxsIGluIGNlbnRlcgpBZGQgeWVhc3QgbWl4dHVyZSBhbmQgb2xpdmUgb2lsCktuZWFkIGZvciAxMCBtaW51dGVzIHVudGlsIHNtb290aApMZXQgcmlzZSBmb3IgMS0yIGhvdXJzIHVudGlsIGRvdWJsZWQKUHVuY2ggZG93biBhbmQgZGl2aWRlIGludG8gcG9ydGlvbnMKUm9sbCBvdXQgZWFjaCBwb3J0aW9uIHRvIDEyLWluY2ggY2lyY2xlcwpUb3Agd2l0aCBjcnVzaGVkIHRvbWF0b2VzLCBtb3p6YXJlbGxhLCBhbmQgYmFzaWwKQmFrZSBhdCA0NzVceEIwRiAoMjQ1XHhCMEMpIGZvciAxMC0xMiBtaW51dGVzYCxtZXRhZGF0YTp7bGlzdFR5cGU6Im9yZGVyZWQifX0se2lkOmB0aXAtJHthKzl9YCx0eXBlOiJxdW90ZSIsY29udGVudDoiUHJvIHRpcDogRm9yIGFuIGF1dGhlbnRpYyB0YXN0ZSwgdXNlIGEgcGl6emEgc3RvbmUgYW5kIHByZWhlYXQgaXQgaW4gdGhlIG92ZW4gZm9yIGF0IGxlYXN0IDMwIG1pbnV0ZXMgYmVmb3JlIGJha2luZy4ifSx7aWQ6YGRpdmlkZXItJHthKzEwfWAsdHlwZToiZGl2aWRlciIsY29udGVudDoiIn0se2lkOmBzZXJ2aW5ncy0ke2ErMTF9YCx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6IlNlcnZpbmdzOiA0IHBpenphcyB8IFByZXAgdGltZTogMiBob3VycyB8IENvb2sgdGltZTogMTIgbWludXRlcyJ9XX0sImdlbmVyYXRlUmVjaXBlQmxvY2tzIiksWiRhPXMoYT0+e2xldCBlPXt9O3JldHVybiBlLmJhc2ljPWEucXVlcnlTZWxlY3RvcigiI2VkaXRvci1iYXNpYyIpLGUuYXJ0aWNsZT1hLnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3ItYXJ0aWNsZSIpLGUuZHJhZ0Ryb3A9YS5xdWVyeVNlbGVjdG9yKCIjZWRpdG9yLWRyYWdkcm9wIiksZS50dXRvcmlhbD1hLnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3ItdHV0b3JpYWwiKSxlLm1lZXRpbmc9YS5xdWVyeVNlbGVjdG9yKCIjZWRpdG9yLW1lZXRpbmciKSxlLnJlY2lwZT1hLnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3ItcmVjaXBlIiksZS50ZWNobmljYWw9YS5xdWVyeVNlbGVjdG9yKCIjZWRpdG9yLXRlY2huaWNhbCIpLGUuZm9ybUludGVncmF0aW9uPWEucXVlcnlTZWxlY3RvcigiI2VkaXRvci1mb3JtLWludGVncmF0aW9uIiksZS5wcm9ncmFtbWF0aWM9YS5xdWVyeVNlbGVjdG9yKCIjZWRpdG9yLXByb2dyYW1tYXRpYyIpLGUuZXhwb3J0RGVtbz1hLnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3ItZXhwb3J0IiksZX0sImluaXRpYWxpemVFZGl0b3JzIiksWCRhPXMoKGEsZSk9PntsZXQgdD1hLnF1ZXJ5U2VsZWN0b3IoIiNidG4tZ2VuZXJhdGUtcmVwb3J0Iikscj1hLnF1ZXJ5U2VsZWN0b3IoIiNidG4tZ2VuZXJhdGUtcmVjaXBlIiksaT1hLnF1ZXJ5U2VsZWN0b3IoIiNidG4tY2xlYXItZWRpdG9yIik7dCYmdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntlLmltcG9ydEJsb2NrcyhZJGEoKSl9KSxyJiZyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2UuaW1wb3J0QmxvY2tzKEskYSgpKX0pLGkmJmkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ZS5pbXBvcnRCbG9ja3MoW10pfSl9LCJzZXR1cFByb2dyYW1tYXRpY0RlbW8iKSxRJGE9cygoYSxlKT0+e2xldCB0PWEucXVlcnlTZWxlY3RvcigiI2J0bi1leHBvcnQtYmxvY2tzIikscj1hLnF1ZXJ5U2VsZWN0b3IoIiNidG4tZXhwb3J0LWh0bWwiKSxpPWEucXVlcnlTZWxlY3RvcigiI2J0bi1leHBvcnQtbWFya2Rvd24iKSxvPWEucXVlcnlTZWxlY3RvcigiI2J0bi1zYXZlLXN0YXRlIiksbj1hLnF1ZXJ5U2VsZWN0b3IoIiNidG4tcmVzdG9yZS1zdGF0ZSIpLGw9bnVsbDt0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2xldCBkPWUuZXhwb3J0QmxvY2tzKCk7Y29uc29sZS5sb2coIkV4cG9ydGVkIGJsb2NrczoiLGQpLGFsZXJ0KGBFeHBvcnRlZCAke2QubGVuZ3RofSBibG9ja3MgdG8gY29uc29sZS4gQ2hlY2sgZGV2ZWxvcGVyIHRvb2xzLmApfSksciYmci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntsZXQgZD1lLmV4cG9ydEFzSHRtbCgpO2NvbnNvbGUubG9nKCJIVE1MIEV4cG9ydDoiLGQpLGFsZXJ0KCJIVE1MIGV4cG9ydGVkIHRvIGNvbnNvbGUuIENoZWNrIGRldmVsb3BlciB0b29scy4iKX0pLGkmJmkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57bGV0IGQ9ZS5leHBvcnRBc01hcmtkb3duKCk7Y29uc29sZS5sb2coIk1hcmtkb3duIEV4cG9ydDoiLGQpLGFsZXJ0KCJNYXJrZG93biBleHBvcnRlZCB0byBjb25zb2xlLiBDaGVjayBkZXZlbG9wZXIgdG9vbHMuIil9KSxvJiZvLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2w9ZS5leHBvcnRTdGF0ZSgpLGNvbnNvbGUubG9nKCJTYXZlZCBzdGF0ZToiLGwpLGFsZXJ0KCJFZGl0b3Igc3RhdGUgc2F2ZWQhIil9KSxuJiZuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2w/KGUuaW1wb3J0U3RhdGUobCksYWxlcnQoIkVkaXRvciBzdGF0ZSByZXN0b3JlZCEiKSk6YWxlcnQoIk5vIHNhdmVkIHN0YXRlIGZvdW5kLiBTYXZlIHN0YXRlIGZpcnN0ISIpfSl9LCJzZXR1cEV4cG9ydERlbW8iKSxKJGE9cygoYSxlLHQpPT57bGV0IHI9YS5xdWVyeVNlbGVjdG9yKCIjYnRuLXNob3ctaHRtbC1vdXRwdXQiKSxpPWEucXVlcnlTZWxlY3RvcigiI291dHB1dC1wcmV2aWV3LWh0bWwiKTtyJiZpJiZlJiZyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2kudGV4dENvbnRlbnQ9ZS5nZXRWYWx1ZSgpLGkuY2xhc3NMaXN0LmFkZCgidmlzaWJsZSIpfSk7bGV0IG89YS5xdWVyeVNlbGVjdG9yKCIjYnRuLXNob3ctbWFya2Rvd24tb3V0cHV0Iiksbj1hLnF1ZXJ5U2VsZWN0b3IoIiNvdXRwdXQtcHJldmlldy1tYXJrZG93biIpO28mJm4mJnQmJm8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57bi50ZXh0Q29udGVudD10LmdldFZhbHVlKCksbi5jbGFzc0xpc3QuYWRkKCJ2aXNpYmxlIil9KX0sInNldHVwT3V0cHV0Rm9ybWF0RGVtbyIpLGVEYT1zKGE9PnthLmFydGljbGUmJnNldFRpbWVvdXQoKCk9PntsZXQgZT1be2lkOiJpbnRyby1oZWFkaW5nLSIrRGF0ZS5ub3coKSx0eXBlOiJoZWFkaW5nLTIiLGNvbnRlbnQ6IkludHJvZHVjdGlvbiB0byBNb2Rlcm4gV2ViIERldmVsb3BtZW50In0se2lkOiJpbnRyby1wYXJhLSIrRGF0ZS5ub3coKSx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6Ik1vZGVybiB3ZWIgZGV2ZWxvcG1lbnQgaGFzIGV2b2x2ZWQgc2lnbmlmaWNhbnRseSBvdmVyIHRoZSBwYXN0IGRlY2FkZS4gSW4gdGhpcyBhcnRpY2xlLCB3ZSdsbCBleHBsb3JlIHRoZSBrZXkgdGVjaG5vbG9naWVzIGFuZCBiZXN0IHByYWN0aWNlcyB0aGF0IGRlZmluZSB3ZWIgZGV2ZWxvcG1lbnQgaW4gMjAyNC4ifSx7aWQ6InRlY2gtaGVhZGluZy0iK0RhdGUubm93KCksdHlwZToiaGVhZGluZy0zIixjb250ZW50OiJLZXkgVGVjaG5vbG9naWVzIn0se2lkOiJ0ZWNoLWxpc3QtIitEYXRlLm5vdygpLHR5cGU6Imxpc3QiLGNvbnRlbnQ6YFR5cGVTY3JpcHQgLSBUeXBlLXNhZmUgSmF2YVNjcmlwdCBkZXZlbG9wbWVudApXZWIgQ29tcG9uZW50cyAtIE5hdGl2ZSBjb21wb25lbnQgbW9kZWwKRVMgTW9kdWxlcyAtIE1vZGVybiBtb2R1bGUgc3lzdGVtCldlYkFzc2VtYmx5IC0gSGlnaC1wZXJmb3JtYW5jZSBjb21wdXRpbmdgLG1ldGFkYXRhOntsaXN0VHlwZToib3JkZXJlZCJ9fSx7aWQ6InF1b3RlLSIrRGF0ZS5ub3coKSx0eXBlOiJxdW90ZSIsY29udGVudDoiVGhlIGJlc3Qgd2F5IHRvIHByZWRpY3QgdGhlIGZ1dHVyZSBpcyB0byBpbnZlbnQgaXQuIC0gQWxhbiBLYXkifSx7aWQ6ImV4YW1wbGUtaGVhZGluZy0iK0RhdGUubm93KCksdHlwZToiaGVhZGluZy0zIixjb250ZW50OiJDb2RlIEV4YW1wbGUifSx7aWQ6ImNvZGUtZXhhbXBsZS0iK0RhdGUubm93KCksdHlwZToiY29kZSIsY29udGVudDpgY2xhc3MgTW9kZXJuV2ViQXBwIGV4dGVuZHMgSFRNTEVsZW1lbnQgewogIGNvbnN0cnVjdG9yKCkgewogICAgc3VwZXIoKTsKICAgIHRoaXMuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pOwogIH0KICAKICBjb25uZWN0ZWRDYWxsYmFjaygpIHsKICAgIHRoaXMucmVuZGVyKCk7CiAgfQp9YCxtZXRhZGF0YTp7bGFuZ3VhZ2U6ImphdmFzY3JpcHQifX1dO2EuYXJ0aWNsZS5pbXBvcnRCbG9ja3MoZSl9LDUwMCksYS5kcmFnRHJvcCYmc2V0VGltZW91dCgoKT0+e2xldCBlPVt7aWQ6ImRyYWctdGl0bGUtIitEYXRlLm5vdygpLHR5cGU6ImhlYWRpbmctMSIsY29udGVudDoiRHJhZyAmIERyb3AgRGVtbyJ9LHtpZDoiZHJhZy1pbnRyby0iK0RhdGUubm93KCksdHlwZToicGFyYWdyYXBoIixjb250ZW50OiJUaGlzIGVkaXRvciBkZW1vbnN0cmF0ZXMgZHJhZyBhbmQgZHJvcCBmdW5jdGlvbmFsaXR5LiBUcnkgZHJhZ2dpbmcgdGhlc2UgYmxvY2tzIGFyb3VuZCEifSx7aWQ6ImRyYWctaGVhZGluZy0iK0RhdGUubm93KCksdHlwZToiaGVhZGluZy0yIixjb250ZW50OiJIb3cgSXQgV29ya3MifSx7aWQ6ImRyYWctbGlzdC0iK0RhdGUubm93KCksdHlwZToibGlzdCIsY29udGVudDpgSG92ZXIgb3ZlciBhbnkgYmxvY2sgdG8gc2VlIHRoZSBkcmFnIGhhbmRsZQpDbGljayBhbmQgaG9sZCB0aGUgaGFuZGxlIHRvIHN0YXJ0IGRyYWdnaW5nCkRyYWcgdG8gcmVvcmRlciBibG9ja3MKUmVsZWFzZSB0byBkcm9wIGluIHRoZSBuZXcgcG9zaXRpb25gLG1ldGFkYXRhOntsaXN0VHlwZToib3JkZXJlZCJ9fSx7aWQ6ImRyYWctcXVvdGUtIitEYXRlLm5vdygpLHR5cGU6InF1b3RlIixjb250ZW50OiJUaGUgZHJhZyBhbmQgZHJvcCBmZWF0dXJlIG1ha2VzIGl0IGVhc3kgdG8gcmVvcmdhbml6ZSB5b3VyIGNvbnRlbnQgd2l0aG91dCBjdXR0aW5nIGFuZCBwYXN0aW5nLiJ9LHtpZDoiZHJhZy1kaXZpZGVyLSIrRGF0ZS5ub3coKSx0eXBlOiJkaXZpZGVyIixjb250ZW50OiIifSx7aWQ6ImRyYWctZm9vdGVyLSIrRGF0ZS5ub3coKSx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6Ik5vdGU6IERpdmlkZXIgYmxvY2tzIGNhbm5vdCBiZSBkcmFnZ2VkLCBidXQgb3RoZXIgYmxvY2tzIGNhbiBiZSBtb3ZlZCBhcm91bmQgdGhlbS4ifV07YS5kcmFnRHJvcC5pbXBvcnRCbG9ja3MoZSl9LDYwMCl9LCJwb3B1bGF0ZUluaXRpYWxDb250ZW50IiksdmlhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2F3YWl0IG5ldyBQcm9taXNlKHQ9PnNldFRpbWVvdXQodCw1MDApKTtsZXQgZT1aJGEoYSk7ZS5wcm9ncmFtbWF0aWMmJlgkYShhLGUucHJvZ3JhbW1hdGljKSxlLmV4cG9ydERlbW8mJlEkYShhLGUuZXhwb3J0RGVtbyksSiRhKGEsZS5tZWV0aW5nLGUucmVjaXBlKSxlRGEoZSksY29uc29sZS5sb2coIldZU0lXWUcgRGVtbyBpbml0aWFsaXplZCB3aXRoIGVkaXRvcnM6IixPYmplY3Qua2V5cyhlKSl9fT4KICA8c3R5bGU+CiAgICAke1hgCiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMzJweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OwogICAgICB9CiAgICAgIAogICAgICAucGFuZWwtZGVzY3JpcHRpb24gewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICBjb2xvcjogIzY2NjsKICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgfQogICAgICAKICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgIC5wYW5lbC1kZXNjcmlwdGlvbiB7CiAgICAgICAgICBjb2xvcjogIzk5OTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5mZWF0dXJlLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5mZWF0dXJlLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBjb2xvcjogIzU1NTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5mZWF0dXJlLWljb24gewogICAgICAgIGNvbG9yOiAjMDA2NmNjOwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAuZmVhdHVyZS1pdGVtIHsKICAgICAgICAgIGNvbG9yOiAjYWFhOwogICAgICAgIH0KICAgICAgICAuZmVhdHVyZS1pY29uIHsKICAgICAgICAgIGNvbG9yOiAjNGQ5NGZmOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLnNob3J0Y3V0cy1ib3ggewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTAyLCAyMDQsIDAuMDUpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMTAyLCAyMDQsIDAuMik7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgfQoKICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgIC5zaG9ydGN1dHMtYm94IHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNzcsIDE0OCwgMjU1LCAwLjEpOwogICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDc3LCAxNDgsIDI1NSwgMC4zKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5zaG9ydGN1dHMtdGl0bGUgewogICAgICAgIG1hcmdpbjogMCAwIDEycHggMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogIzAwNjZjYzsKICAgICAgfQoKICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgIC5zaG9ydGN1dHMtdGl0bGUgewogICAgICAgICAgY29sb3I6ICM0ZDk0ZmY7CiAgICAgICAgfQogICAgICB9CgogICAgICAuc2hvcnRjdXRzLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTgwcHgsIDFmcikpOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuc2hvcnRjdXQtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogIzU1NTsKICAgICAgfQoKICAgICAgLnNob3J0Y3V0LWtleSB7CiAgICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDsKICAgICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogIzMzMzsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgLnNob3J0Y3V0LWl0ZW0gewogICAgICAgICAgY29sb3I6ICNiYmI7CiAgICAgICAgfQogICAgICAgIC5zaG9ydGN1dC1rZXkgewogICAgICAgICAgYmFja2dyb3VuZDogIzMzMzsKICAgICAgICAgIGNvbG9yOiAjZGRkOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLm91dHB1dC1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMzIwcHgsIDFmcikpOwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgICB9CgogICAgICAub3V0cHV0LWNhcmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5vdXRwdXQtYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICB9CgogICAgICAub3V0cHV0LXByZXZpZXcgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxNSwgMjMsIDQyLCAwLjA0KTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LCAjMGYxNzJhKTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE1LCAyMywgNDIsIDAuMSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsICdGaXJhIENvZGUnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIG1heC1oZWlnaHQ6IDI4MHB4OwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICB9CgogICAgICA6aG9zdChbdGhlbWU9J2RhcmsnXSkgLm91dHB1dC1wcmV2aWV3IHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMDYpOwogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjE1KTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LCAjZjRmNGY1KTsKICAgICAgfQoKICAgICAgLm91dHB1dC1wcmV2aWV3LnZpc2libGUgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAub3V0cHV0LWdyaWQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICAudGlwcy1ib3ggewogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAjZjBmOGZmOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgfQogICAgICAKICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgIC50aXBzLWJveCB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDc3LCAxNDgsIDI1NSwgMC4xKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIC50aXBzLWJveCBzdHJvbmcgewogICAgICAgIGNvbG9yOiAjMDA2NmNjOwogICAgICB9CiAgICAgIAogICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgLnRpcHMtYm94IHN0cm9uZyB7CiAgICAgICAgICBjb2xvcjogIzRkOTRmZjsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIC50aXBzLWxpc3QgewogICAgICAgIG1hcmdpbjogOHB4IDAgMCAwOwogICAgICAgIHBhZGRpbmctbGVmdDogMjRweDsKICAgICAgfQogICAgICAKICAgICAgLnRpcHMtbGlzdCBsaSB7CiAgICAgICAgbWFyZ2luOiA0cHggMDsKICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgfQogICAgICAKICAgICAgLmRlbW8tYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgfQogICAgICAKICAgICAgLmRlbW8tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZThlOGU4OwogICAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsKICAgICAgfQogICAgICAKICAgICAgLmRlbW8tYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7CiAgICAgIH0KICAgICAgCiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAuZGVtby1idXR0b24gewogICAgICAgICAgYmFja2dyb3VuZDogIzMzMzsKICAgICAgICAgIGJvcmRlci1jb2xvcjogIzU1NTsKICAgICAgICAgIGNvbG9yOiAjZGRkOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZGVtby1idXR0b246aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogIzQ0NDsKICAgICAgICAgIGJvcmRlci1jb2xvcjogIzY2NjsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjUwcHgsIDFmcikpOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICAuZXhwb3J0LWluZm8tY2FyZCB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkLmJsb2NrcyB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAxMDIsIDIwNCwgMC4xKTsKICAgICAgfQogICAgICAKICAgICAgLmV4cG9ydC1pbmZvLWNhcmQuaHRtbCB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg3NiwgMTc1LCA4MCwgMC4xKTsKICAgICAgfQogICAgICAKICAgICAgLmV4cG9ydC1pbmZvLWNhcmQubWFya2Rvd24gewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNTIsIDAsIDAuMSk7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkLnN0YXRlIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE1NiwgMzksIDE3NiwgMC4xKTsKICAgICAgfQogICAgICAKICAgICAgLmV4cG9ydC1pbmZvLWNhcmQgc3Ryb25nIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkLmJsb2NrcyBzdHJvbmcgewogICAgICAgIGNvbG9yOiAjMDA2NmNjOwogICAgICB9CiAgICAgIAogICAgICAuZXhwb3J0LWluZm8tY2FyZC5odG1sIHN0cm9uZyB7CiAgICAgICAgY29sb3I6ICM0Q0FGNTA7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkLm1hcmtkb3duIHN0cm9uZyB7CiAgICAgICAgY29sb3I6ICNGRjk4MDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkLnN0YXRlIHN0cm9uZyB7CiAgICAgICAgY29sb3I6ICM5QzI3QjA7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkIHAgewogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMS4gXHV7MUY2ODB9IE1vZGVybiBXWVNJV1lHIEVkaXRvciJ9PgogICAgICAgIDxwIGNsYXNzPSJwYW5lbC1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBBIHBvd2VyZnVsIGJsb2NrLWJhc2VkIGVkaXRvciB3aXRoIHNsYXNoIGNvbW1hbmRzLCBrZXlib2FyZCBzaG9ydGN1dHMsIGFuZCBtdWx0aXBsZSBvdXRwdXQgZm9ybWF0cy4gCiAgICAgICAgICBQZXJmZWN0IGZvciBjb250ZW50IGNyZWF0aW9uLCBibG9nIHBvc3RzLCBkb2N1bWVudGF0aW9uLCBhbmQgbW9yZS4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ncmlkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPuKckzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+U2xhc2ggY29tbWFuZHMgKC8pPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWl0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj7inJM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPktleWJvYXJkIHNob3J0Y3V0czwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1pdGVtIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+4pyTPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj5CbG9jay1iYXNlZCBlZGl0aW5nPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWl0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj7inJM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPkRyYWcgJiBkcm9wIHJlb3JkZXJpbmc8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPuKckzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+SFRNTCAmIE1hcmtkb3duIG91dHB1dDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1pdGVtIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+4pyTPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj5EYXJrIG1vZGUgc3VwcG9ydDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1pdGVtIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+4pyTPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj5Nb2JpbGUgcmVzcG9uc2l2ZTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcgCiAgICAgICAgICBpZD0iZWRpdG9yLWJhc2ljIgogICAgICAgICAgbGFiZWw9IlJpY2ggVGV4dCBFZGl0b3IiIAogICAgICAgICAgZGVzY3JpcHRpb249IlN0YXJ0IHR5cGluZyBvciB1c2UgJy8nIHRvIGluc2VydCBkaWZmZXJlbnQgYmxvY2sgdHlwZXMiCiAgICAgICAgICBvdXRwdXRGb3JtYXQ9Imh0bWwiCiAgICAgICAgPjwvZGVlcy1pbnB1dC13eXNpd3lnPgoKICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydGN1dHMtYm94Ij4KICAgICAgICAgIDxoNCBjbGFzcz0ic2hvcnRjdXRzLXRpdGxlIj7ijKjvuI8gS2V5Ym9hcmQgU2hvcnRjdXRzPC9oND4KICAgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Y3V0cy1ncmlkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnRjdXQtaXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNob3J0Y3V0LWtleSI+Lzwvc3Bhbj4gU2xhc2ggY29tbWFuZHMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Y3V0LWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzaG9ydGN1dC1rZXkiPiM8L3NwYW4+IEhlYWRpbmcgMQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnRjdXQtaXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNob3J0Y3V0LWtleSI+IyM8L3NwYW4+IEhlYWRpbmcgMgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnRjdXQtaXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNob3J0Y3V0LWtleSI+IyMjPC9zcGFuPiBIZWFkaW5nIDMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Y3V0LWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzaG9ydGN1dC1rZXkiPj48L3NwYW4+IFF1b3RlCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydGN1dC1pdGVtIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2hvcnRjdXQta2V5Ij5cYFxgXGA8L3NwYW4+IENvZGUgYmxvY2sKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Y3V0LWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzaG9ydGN1dC1rZXkiPio8L3NwYW4+IG9yIDxzcGFuIGNsYXNzPSJzaG9ydGN1dC1rZXkiPi08L3NwYW4+IEJ1bGxldCBsaXN0CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydGN1dC1pdGVtIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2hvcnRjdXQta2V5Ij4xLjwvc3Bhbj4gTnVtYmVyZWQgbGlzdAogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnRjdXQtaXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNob3J0Y3V0LWtleSI+LS0tPC9zcGFuPiBEaXZpZGVyCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIyLiBcdXsxRjRERH0gQmxvZyBQb3N0IEV4YW1wbGUifT4KICAgICAgICA8cCBjbGFzcz0icGFuZWwtZGVzY3JpcHRpb24iPgogICAgICAgICAgUGVyZmVjdCBmb3IgY3JlYXRpbmcgcmljaCBjb250ZW50IHdpdGggbXVsdGlwbGUgYmxvY2sgdHlwZXMuIAogICAgICAgICAgVGhlIGVkaXRvciBwcmVzZXJ2ZXMgZm9ybWF0dGluZyBhbmQgcHJvdmlkZXMgYSBjbGVhbiBlZGl0aW5nIGV4cGVyaWVuY2UuCiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcgCiAgICAgICAgICBpZD0iZWRpdG9yLWFydGljbGUiCiAgICAgICAgICBsYWJlbD0iQmxvZyBQb3N0IENvbnRlbnQiIAogICAgICAgICAgZGVzY3JpcHRpb249IldyaXRlIHlvdXIgYXJ0aWNsZSB1c2luZyB2YXJpb3VzIGZvcm1hdHRpbmcgb3B0aW9ucyIKICAgICAgICAgIG91dHB1dEZvcm1hdD0iaHRtbCIKICAgICAgICA+PC9kZWVzLWlucHV0LXd5c2l3eWc+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIzLiBcdXsxRjUwMH0gRHJhZyAmIERyb3AgUmVvcmRlcmluZyJ9PgogICAgICAgIDxwIGNsYXNzPSJwYW5lbC1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBFYXNpbHkgcmVhcnJhbmdlIHlvdXIgY29udGVudCBibG9ja3MgYnkgZHJhZ2dpbmcgdGhlbS4gCiAgICAgICAgICBIb3ZlciBvdmVyIGFueSBibG9jayB0byByZXZlYWwgdGhlIGRyYWcgaGFuZGxlIG9uIHRoZSBsZWZ0IHNpZGUuCiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcgCiAgICAgICAgICBpZD0iZWRpdG9yLWRyYWdkcm9wIgogICAgICAgICAgbGFiZWw9IkRyYWcgJiBEcm9wIERlbW8iIAogICAgICAgICAgZGVzY3JpcHRpb249IlRyeSBkcmFnZ2luZyBibG9ja3MgdG8gcmVvcmRlciB0aGVtIC0gaG92ZXIgdG8gc2VlIGRyYWcgaGFuZGxlcyIKICAgICAgICA+PC9kZWVzLWlucHV0LXd5c2l3eWc+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0idGlwcy1ib3giPgogICAgICAgICAgPHN0cm9uZz7wn5KhIFRpcHM6PC9zdHJvbmc+CiAgICAgICAgICA8dWwgY2xhc3M9InRpcHMtbGlzdCI+CiAgICAgICAgICAgIDxsaT5Ib3ZlciBvdmVyIGFueSBibG9jayB0byBzZWUgdGhlIGRyYWcgaGFuZGxlICjii67ii64pIG9uIHRoZSBsZWZ0PC9saT4KICAgICAgICAgICAgPGxpPkNsaWNrIGFuZCBob2xkIHRoZSBkcmFnIGhhbmRsZSB0byBzdGFydCBkcmFnZ2luZzwvbGk+CiAgICAgICAgICAgIDxsaT5CbHVlIGluZGljYXRvcnMgc2hvdyB3aGVyZSB0aGUgYmxvY2sgd2lsbCBiZSBkcm9wcGVkPC9saT4KICAgICAgICAgICAgPGxpPkRpdmlkZXIgYmxvY2tzIGNhbm5vdCBiZSBkcmFnZ2VkPC9saT4KICAgICAgICAgICAgPGxpPlRoZSBlZGl0b3IgbWFpbnRhaW5zIGZvY3VzIG9uIHRoZSBtb3ZlZCBibG9jayBhZnRlciBkcm9wcGluZzwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNC4gXHV7MUY0REF9IFR1dG9yaWFsICYgRG9jdW1lbnRhdGlvbiJ9PgogICAgICAgIDxwIGNsYXNzPSJwYW5lbC1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDcmVhdGUgY29tcHJlaGVuc2l2ZSB0dXRvcmlhbHMgYW5kIGRvY3VtZW50YXRpb24gd2l0aCBjb2RlIGV4YW1wbGVzLCBsaXN0cywgYW5kIHN0cnVjdHVyZWQgY29udGVudC4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPGRlZXMtaW5wdXQtd3lzaXd5ZyAKICAgICAgICAgIGlkPSJlZGl0b3ItdHV0b3JpYWwiCiAgICAgICAgICBsYWJlbD0iR2l0IFR1dG9yaWFsIiAKICAgICAgICAgIGRlc2NyaXB0aW9uPSJTdGVwLWJ5LXN0ZXAgZ3VpZGUgd2l0aCBjb21tYW5kcyBhbmQgZXhwbGFuYXRpb25zIgogICAgICAgICAgb3V0cHV0Rm9ybWF0PSJtYXJrZG93biIKICAgICAgICAgIHZhbHVlPSIjIEdpdCBUdXRvcmlhbCBmb3IgQmVnaW5uZXJzCgpHaXQgaXMgYSBkaXN0cmlidXRlZCB2ZXJzaW9uIGNvbnRyb2wgc3lzdGVtIHRoYXQgaGVscHMgeW91IHRyYWNrIGNoYW5nZXMgaW4geW91ciBjb2RlIG92ZXIgdGltZS4gVGhpcyB0dXRvcmlhbCB3aWxsIGd1aWRlIHlvdSB0aHJvdWdoIHRoZSBiYXNpY3MuCgojIyBQcmVyZXF1aXNpdGVzCgpCZWZvcmUgc3RhcnRpbmcsIGVuc3VyZSB5b3UgaGF2ZToKCi0gR2l0IGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbQotIEEgdGV4dCBlZGl0b3Igb3IgSURFCi0gQmFzaWMgY29tbWFuZCBsaW5lIGtub3dsZWRnZQoKIyMgR2V0dGluZyBTdGFydGVkCgojIyMgMS4gQ29uZmlndXJlIEdpdAoKRmlyc3QsIHNldCB1cCB5b3VyIGlkZW50aXR5OgoKXGBcYFxgYmFzaApnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSAmcXVvdDtZb3VyIE5hbWUmcXVvdDsKZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsICZxdW90O3lvdXIuZW1haWxAZXhhbXBsZS5jb20mcXVvdDsKXGBcYFxgCgojIyMgMi4gSW5pdGlhbGl6ZSBhIFJlcG9zaXRvcnkKCkNyZWF0ZSBhIG5ldyBHaXQgcmVwb3NpdG9yeToKClxgXGBcYGJhc2gKbWtkaXIgbXktcHJvamVjdApjZCBteS1wcm9qZWN0CmdpdCBpbml0ClxgXGBcYAoKIyMjIDMuIEJhc2ljIEdpdCBXb3JrZmxvdwoKIyMjIyBBZGRpbmcgRmlsZXMKCkNyZWF0ZSBhIGZpbGUgYW5kIGFkZCBpdCB0byBzdGFnaW5nOgoKXGBcYFxgYmFzaAplY2hvICZxdW90OyMgTXkgUHJvamVjdCZxdW90OyA+IFJFQURNRS5tZApnaXQgYWRkIFJFQURNRS5tZApcYFxgXGAKCiMjIyMgQ29tbWl0dGluZyBDaGFuZ2VzCgpcYFxgXGBiYXNoCmdpdCBjb21taXQgLW0gJnF1b3Q7SW5pdGlhbCBjb21taXQmcXVvdDsKXGBcYFxgCgo+ICoqQmVzdCBQcmFjdGljZToqKiBXcml0ZSBjbGVhciwgZGVzY3JpcHRpdmUgY29tbWl0IG1lc3NhZ2VzIHRoYXQgZXhwbGFpbiB3aGF0IGNoYW5nZXMgd2VyZSBtYWRlIGFuZCB3aHkuCgojIyMgNC4gV29ya2luZyB3aXRoIEJyYW5jaGVzCgpCcmFuY2hlcyBhbGxvdyB5b3UgdG8gd29yayBvbiBmZWF0dXJlcyBpbmRlcGVuZGVudGx5OgoKXGBcYFxgYmFzaAojIENyZWF0ZSBhbmQgc3dpdGNoIHRvIGEgbmV3IGJyYW5jaApnaXQgY2hlY2tvdXQgLWIgZmVhdHVyZS1icmFuY2gKCiMgTWFrZSBjaGFuZ2VzIGFuZCBjb21taXQKZ2l0IGFkZCAuCmdpdCBjb21taXQgLW0gJnF1b3Q7QWRkIG5ldyBmZWF0dXJlJnF1b3Q7CgojIFN3aXRjaCBiYWNrIHRvIG1haW4KZ2l0IGNoZWNrb3V0IG1haW4KCiMgTWVyZ2UgdGhlIGZlYXR1cmUKZ2l0IG1lcmdlIGZlYXR1cmUtYnJhbmNoClxgXGBcYAoKLS0tCgojIyBDb21tb24gQ29tbWFuZHMgUmVmZXJlbmNlCgp8IENvbW1hbmQgfCBEZXNjcmlwdGlvbiB8CnwtLS0tLS0tLS18LS0tLS0tLS0tLS0tLXwKfCBcYGdpdCBzdGF0dXNcYCB8IENoZWNrIHJlcG9zaXRvcnkgc3RhdHVzIHwKfCBcYGdpdCBsb2dcYCB8IFZpZXcgY29tbWl0IGhpc3RvcnkgfAp8IFxgZ2l0IGRpZmZcYCB8IFNob3cgY2hhbmdlcyB8CnwgXGBnaXQgcHVsbFxgIHwgRmV0Y2ggYW5kIG1lcmdlIGNoYW5nZXMgfAp8IFxgZ2l0IHB1c2hcYCB8IFVwbG9hZCBjaGFuZ2VzIHRvIHJlbW90ZSB8CgojIyBOZXh0IFN0ZXBzCgoxLiBMZWFybiBhYm91dCByZW1vdGUgcmVwb3NpdG9yaWVzCjIuIEV4cGxvcmUgYWR2YW5jZWQgR2l0IGZlYXR1cmVzCjMuIFByYWN0aWNlIHdpdGggcmVhbCBwcm9qZWN0cwo0LiBDb250cmlidXRlIHRvIG9wZW4gc291cmNlCgoqKkhhcHB5IGNvZGluZyEqKiDwn5qAIgogICAgICAgID48L2RlZXMtaW5wdXQtd3lzaXd5Zz4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjUuIFx1ezFGNTA0fSBPdXRwdXQgRm9ybWF0cyJ9PgogICAgICAgIDxwIGNsYXNzPSJwYW5lbC1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDaG9vc2UgYmV0d2VlbiBIVE1MIGFuZCBNYXJrZG93biBvdXRwdXQgZm9ybWF0cyBkZXBlbmRpbmcgb24geW91ciBuZWVkcy4gCiAgICAgICAgICBQZXJmZWN0IGZvciBzdGF0aWMgc2l0ZSBnZW5lcmF0b3JzLCBkb2N1bWVudGF0aW9uIHN5c3RlbXMsIG9yIGFueSBjb250ZW50IG1hbmFnZW1lbnQgd29ya2Zsb3cuCiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9Im91dHB1dC1ncmlkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im91dHB1dC1jYXJkIj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtd3lzaXd5ZyAKICAgICAgICAgICAgICBpZD0iZWRpdG9yLW1lZXRpbmciCiAgICAgICAgICAgICAgbGFiZWw9Ik1lZXRpbmcgTm90ZXMiIAogICAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJTdHJ1Y3R1cmVkIG1lZXRpbmcgZG9jdW1lbnRhdGlvbiIKICAgICAgICAgICAgICBvdXRwdXRGb3JtYXQ9Imh0bWwiCiAgICAgICAgICAgICAgdmFsdWU9IjxoMj5RNCBQbGFubmluZyBNZWV0aW5nPC9oMj48cD48c3Ryb25nPkRhdGU6PC9zdHJvbmc+IERlY2VtYmVyIDE1LCAyMDI0PGJyPjxzdHJvbmc+QXR0ZW5kZWVzOjwvc3Ryb25nPiBQcm9kdWN0IFRlYW0sIEVuZ2luZWVyaW5nLCBEZXNpZ248L3A+PGgzPkFnZW5kYSBJdGVtczwvaDM+PG9sPjxsaT5SZXZpZXcgUTMgYWNoaWV2ZW1lbnRzPC9saT48bGk+U2V0IFE0IG9iamVjdGl2ZXM8L2xpPjxsaT5SZXNvdXJjZSBhbGxvY2F0aW9uPC9saT48bGk+VGltZWxpbmUgZGlzY3Vzc2lvbjwvbGk+PC9vbD48aDM+S2V5IERlY2lzaW9uczwvaDM+PHVsPjxsaT5MYXVuY2ggbmV3IGRhc2hib2FyZCBmZWF0dXJlIGJ5IGVuZCBvZiBKYW51YXJ5PC9saT48bGk+SW5jcmVhc2UgZW5naW5lZXJpbmcgdGVhbSBieSAyIGRldmVsb3BlcnM8L2xpPjxsaT5JbXBsZW1lbnQgd2Vla2x5IGRlc2lnbiByZXZpZXdzPC9saT48L3VsPjxibG9ja3F1b3RlPiZxdW90O0ZvY3VzIG9uIHVzZXIgZXhwZXJpZW5jZSBpbXByb3ZlbWVudHMgYmFzZWQgb24gUTMgZmVlZGJhY2smcXVvdDsgLSBQcm9kdWN0IE1hbmFnZXI8L2Jsb2NrcXVvdGU+PGgzPkFjdGlvbiBJdGVtczwvaDM+PHVsPjxsaT5TYXJhaDogQ3JlYXRlIGRldGFpbGVkIHByb2plY3QgdGltZWxpbmU8L2xpPjxsaT5NaWtlOiBEcmFmdCB0ZWNobmljYWwgcmVxdWlyZW1lbnRzPC9saT48bGk+TGlzYTogU2NoZWR1bGUgdXNlciByZXNlYXJjaCBzZXNzaW9uczwvbGk+PC91bD48aHI+PHA+TmV4dCBtZWV0aW5nOiBKYW51YXJ5IDUsIDIwMjU8L3A+IgogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXd5c2l3eWc+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im91dHB1dC1hY3Rpb25zIj4KICAgICAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tc2hvdy1odG1sLW91dHB1dCIgY2xhc3M9ImRlbW8tYnV0dG9uIj5TaG93IEhUTUwgT3V0cHV0PC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8cHJlIGlkPSJvdXRwdXQtcHJldmlldy1odG1sIiBjbGFzcz0ib3V0cHV0LXByZXZpZXciIGFyaWEtbGl2ZT0icG9saXRlIj48L3ByZT4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJvdXRwdXQtY2FyZCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcgCiAgICAgICAgICAgICAgaWQ9ImVkaXRvci1yZWNpcGUiCiAgICAgICAgICAgICAgbGFiZWw9IlJlY2lwZSBCbG9nIFBvc3QiIAogICAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJGb29kIGJsb2cgd2l0aCBtaXhlZCBjb250ZW50IgogICAgICAgICAgICAgIG91dHB1dEZvcm1hdD0ibWFya2Rvd24iCiAgICAgICAgICAgICAgdmFsdWU9IiMgVWx0aW1hdGUgQ2hvY29sYXRlIENoaXAgQ29va2llcwoKVGhlcmUncyBub3RoaW5nIHF1aXRlIGxpa2UgdGhlIHNtZWxsIG9mIGZyZXNobHkgYmFrZWQgY2hvY29sYXRlIGNoaXAgY29va2llcy4gVGhpcyByZWNpcGUgaGFzIGJlZW4gcGVyZmVjdGVkIG92ZXIgeWVhcnMgb2YgdGVzdGluZyEKCiMjIEluZ3JlZGllbnRzCgotIDLCvCBjdXBzIGFsbC1wdXJwb3NlIGZsb3VyCi0gMSB0c3AgYmFraW5nIHNvZGEKLSAxIHRzcCBzYWx0Ci0gMSBjdXAgYnV0dGVyLCBzb2Z0ZW5lZAotIMK+IGN1cCBncmFudWxhdGVkIHN1Z2FyCi0gwr4gY3VwIHBhY2tlZCBicm93biBzdWdhcgotIDIgbGFyZ2UgZWdncwotIDIgdHNwIHZhbmlsbGEgZXh0cmFjdAotIDIgY3VwcyBjaG9jb2xhdGUgY2hpcHMKCiMjIEluc3RydWN0aW9ucwoKIyMjIFN0ZXAgMTogUHJlcGFyYXRpb24KClByZWhlYXQgeW91ciBvdmVuIHRvICoqMzc1wrBGICgxOTDCsEMpKiouIFRoaXMgdGVtcGVyYXR1cmUgaXMgY3J1Y2lhbCBmb3IgYWNoaWV2aW5nIHRoZSBwZXJmZWN0IHRleHR1cmUuCgojIyMgU3RlcCAyOiBNaXggRHJ5IEluZ3JlZGllbnRzCgpJbiBhIG1lZGl1bSBib3dsLCB3aGlzayB0b2dldGhlcjoKCjEuIEZsb3VyCjIuIEJha2luZyBzb2RhCjMuIFNhbHQKCiMjIyBTdGVwIDM6IENyZWFtIEJ1dHRlciBhbmQgU3VnYXJzCgpcYFxgXGAKQ3JlYW0gYnV0dGVyIGFuZCBzdWdhcnMgZm9yIDMtNCBtaW51dGVzCnVudGlsIGxpZ2h0IGFuZCBmbHVmZnkKXGBcYFxgCgo+ICoqUHJvIHRpcDoqKiBSb29tIHRlbXBlcmF0dXJlIGluZ3JlZGllbnRzIG1peCBiZXR0ZXIgYW5kIGNyZWF0ZSBhIG1vcmUgdW5pZm9ybSBkb3VnaC4KCiMjIyBTdGVwIDQ6IEFkZCBXZXQgSW5ncmVkaWVudHMKCkJlYXQgaW4gZWdncyBvbmUgYXQgYSB0aW1lLCB0aGVuIGFkZCB2YW5pbGxhIGV4dHJhY3QuCgojIyMgU3RlcCA1OiBDb21iaW5lIGFuZCBCYWtlCgpHcmFkdWFsbHkgYmxlbmQgaW4gZmxvdXIgbWl4dHVyZSwgdGhlbiBzdGlyIGluIGNob2NvbGF0ZSBjaGlwcy4gRHJvcCByb3VuZGVkIHRhYmxlc3Bvb25zIG9udG8gdW5ncmVhc2VkIGNvb2tpZSBzaGVldHMuCgotLS0KCioqQmFraW5nIHRpbWU6KiogOS0xMSBtaW51dGVzIG9yIHVudGlsIGdvbGRlbiBicm93bgoKKipZaWVsZDoqKiBBYm91dCA1IGRvemVuIGNvb2tpZXMiCiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtd3lzaXd5Zz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3V0cHV0LWFjdGlvbnMiPgogICAgICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi1zaG93LW1hcmtkb3duLW91dHB1dCIgY2xhc3M9ImRlbW8tYnV0dG9uIj5TaG93IE1hcmtkb3duIE91dHB1dDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPHByZSBpZD0ib3V0cHV0LXByZXZpZXctbWFya2Rvd24iIGNsYXNzPSJvdXRwdXQtcHJldmlldyIgYXJpYS1saXZlPSJwb2xpdGUiPjwvcHJlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI2LiBcdXsxRjNBOH0gQWR2YW5jZWQgRWRpdGluZyJ9PgogICAgICAgIDxwIGNsYXNzPSJwYW5lbC1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDcmVhdGUgY29tcGxleCBkb2N1bWVudHMgd2l0aCBtaXhlZCBjb250ZW50IHR5cGVzLiBUaGUgZWRpdG9yIGhhbmRsZXMgYWxsIGZvcm1hdHRpbmcgc2VhbWxlc3NseS4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPGRlZXMtaW5wdXQtd3lzaXd5ZyAKICAgICAgICAgIGlkPSJlZGl0b3ItdGVjaG5pY2FsIgogICAgICAgICAgbGFiZWw9IlRlY2huaWNhbCBEb2N1bWVudGF0aW9uIiAKICAgICAgICAgIGRlc2NyaXB0aW9uPSJDcmVhdGUgdGVjaG5pY2FsIGRvY3Mgd2l0aCBjb2RlIGV4YW1wbGVzIGFuZCBzdHJ1Y3R1cmVkIGNvbnRlbnQiCiAgICAgICAgICB2YWx1ZT0iPGgxPkFQSSBEb2N1bWVudGF0aW9uPC9oMT48cD5XZWxjb21lIHRvIG91ciBBUEkgZG9jdW1lbnRhdGlvbi4gQmVsb3cgeW91J2xsIGZpbmQgZXhhbXBsZXMgb2YgaG93IHRvIHVzZSBvdXIgZW5kcG9pbnRzLjwvcD48aDI+QXV0aGVudGljYXRpb248L2gyPjxwPkFsbCBBUEkgcmVxdWVzdHMgcmVxdWlyZSBhdXRoZW50aWNhdGlvbiB1c2luZyBhbiBBUEkga2V5OjwvcD48cHJlPjxjb2RlPkF1dGhvcml6YXRpb246IEJlYXJlciBZT1VSX0FQSV9LRVk8L2NvZGU+PC9wcmU+PGgyPkVuZHBvaW50czwvaDI+PGgzPkdFVCAvdXNlcnM8L2gzPjxwPlJldHJpZXZlIGEgbGlzdCBvZiB1c2VycyBmcm9tIHRoZSBzeXN0ZW0uPC9wPjxwcmU+PGNvZGU+Y3VybCAtWCBHRVQgaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vdXNlcnMgXFwKICAtSCAmcXVvdDtBdXRob3JpemF0aW9uOiBCZWFyZXIgWU9VUl9BUElfS0VZJnF1b3Q7PC9jb2RlPjwvcHJlPjxibG9ja3F1b3RlPk5vdGU6IFJhdGUgbGltaXRpbmcgYXBwbGllcyB0byBhbGwgZW5kcG9pbnRzLiBZb3UgY2FuIG1ha2UgdXAgdG8gMTAwIHJlcXVlc3RzIHBlciBtaW51dGUuPC9ibG9ja3F1b3RlPjxoMz5QT1NUIC91c2VyczwvaDM+PHA+Q3JlYXRlIGEgbmV3IHVzZXIgaW4gdGhlIHN5c3RlbS48L3A+PHByZT48Y29kZT57CiAgJnF1b3Q7bmFtZSZxdW90OzogJnF1b3Q7Sm9obiBEb2UmcXVvdDssCiAgJnF1b3Q7ZW1haWwmcXVvdDs6ICZxdW90O2pvaG5AZXhhbXBsZS5jb20mcXVvdDssCiAgJnF1b3Q7cm9sZSZxdW90OzogJnF1b3Q7dXNlciZxdW90Owp9PC9jb2RlPjwvcHJlPjxocj48cD5Gb3IgbW9yZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHJlZmVyIHRvIG91ciBjb21wbGV0ZSBkb2N1bWVudGF0aW9uLjwvcD4iCiAgICAgICAgICBvdXRwdXRGb3JtYXQ9Imh0bWwiCiAgICAgICAgPjwvZGVlcy1pbnB1dC13eXNpd3lnPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNy4gXHUyNjk5XHVGRTBGIEZvcm0gSW50ZWdyYXRpb24ifT4KICAgICAgICA8cCBjbGFzcz0icGFuZWwtZGVzY3JpcHRpb24iPgogICAgICAgICAgU2VhbWxlc3NseSBpbnRlZ3JhdGVzIHdpdGggZGVlcy1mb3JtIGZvciBjb21wbGV0ZSBmb3JtIHNvbHV0aW9ucy4gCiAgICAgICAgICBBbGwgc3RhbmRhcmQgZm9ybSBmZWF0dXJlcyBsaWtlIHZhbGlkYXRpb24sIHJlcXVpcmVkIGZpZWxkcywgYW5kIGRhdGEgYmluZGluZyB3b3JrIG91dCBvZiB0aGUgYm94LgogICAgICAgIDwvcD4KICAgICAgICAKICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAKICAgICAgICAgICAgbGFiZWw9IkFydGljbGUgVGl0bGUiIAogICAgICAgICAgICByZXF1aXJlZD0idHJ1ZSIKICAgICAgICAgICAgdmFsdWU9IkhvdyB0byBCdWlsZCBNb2Rlcm4gV2ViIEFwcGxpY2F0aW9ucyIKICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtd3lzaXd5ZyAKICAgICAgICAgICAgaWQ9ImVkaXRvci1mb3JtLWludGVncmF0aW9uIgogICAgICAgICAgICBsYWJlbD0iQXJ0aWNsZSBDb250ZW50IiAKICAgICAgICAgICAgZGVzY3JpcHRpb249IldyaXRlIHlvdXIgYXJ0aWNsZSBjb250ZW50IGhlcmUiCiAgICAgICAgICAgIHJlcXVpcmVkPSJ0cnVlIgogICAgICAgICAgICBvdXRwdXRGb3JtYXQ9Im1hcmtkb3duIgogICAgICAgICAgPjwvZGVlcy1pbnB1dC13eXNpd3lnPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAgIGxhYmVsPSJUYWdzIgogICAgICAgICAgICBkZXNjcmlwdGlvbj0iQWRkIHJlbGV2YW50IHRhZ3MgZm9yIHlvdXIgYXJ0aWNsZSIKICAgICAgICAgID48L2RlZXMtaW5wdXQtdGFncz4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjguIFx1ezFGOUU5fSBQcm9ncmFtbWF0aWMgQmxvY2sgQ3JlYXRpb24ifT4KICAgICAgICA8cCBjbGFzcz0icGFuZWwtZGVzY3JpcHRpb24iPgogICAgICAgICAgQ3JlYXRlIGNvbnRlbnQgcHJvZ3JhbW1hdGljYWxseSB1c2luZyB0aGUgYmxvY2sgQVBJIGZvciBkeW5hbWljIGRvY3VtZW50IGdlbmVyYXRpb24uCiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcKICAgICAgICAgIGlkPSJlZGl0b3ItcHJvZ3JhbW1hdGljIgogICAgICAgICAgbGFiZWw9IlByb2dyYW1tYXRpY2FsbHkgR2VuZXJhdGVkIENvbnRlbnQiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iVGhpcyBjb250ZW50IHdhcyBjcmVhdGVkIHVzaW5nIHRoZSBpbXBvcnRCbG9ja3MgQVBJIgogICAgICAgID48L2RlZXMtaW5wdXQtd3lzaXd5Zz4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWdlbmVyYXRlLXJlcG9ydCIgY2xhc3M9ImRlbW8tYnV0dG9uIj4KICAgICAgICAgICAgR2VuZXJhdGUgUmVwb3J0CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWdlbmVyYXRlLXJlY2lwZSIgY2xhc3M9ImRlbW8tYnV0dG9uIj4KICAgICAgICAgICAgR2VuZXJhdGUgUmVjaXBlCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWNsZWFyLWVkaXRvciIgY2xhc3M9ImRlbW8tYnV0dG9uIj4KICAgICAgICAgICAgQ2xlYXIgRWRpdG9yCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjkuIFx1ezFGNEU0fSBFeHBvcnQvSW1wb3J0IEZlYXR1cmVzIn0+CiAgICAgICAgPHAgY2xhc3M9InBhbmVsLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIFRoZSBXWVNJV1lHIGVkaXRvciBwcm92aWRlcyBtdWx0aXBsZSBleHBvcnQgZm9ybWF0cyBhbmQgbG9zc2xlc3Mgc2F2ZS9yZXN0b3JlIGNhcGFiaWxpdGllcyBmb3IgbWF4aW11bSBmbGV4aWJpbGl0eS4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iZXhwb3J0LWluZm8tZ3JpZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJleHBvcnQtaW5mby1jYXJkIGJsb2NrcyI+CiAgICAgICAgICAgIDxzdHJvbmc+TG9zc2xlc3MgQmxvY2tzPC9zdHJvbmc+CiAgICAgICAgICAgIDxwPkV4cG9ydCBhbmQgaW1wb3J0IHJhdyBibG9jayBzdHJ1Y3R1cmUgZm9yIHBlcmZlY3Qgcm91bmQtdHJpcCBlZGl0aW5nPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJleHBvcnQtaW5mby1jYXJkIGh0bWwiPgogICAgICAgICAgICA8c3Ryb25nPkhUTUwgRXhwb3J0PC9zdHJvbmc+CiAgICAgICAgICAgIDxwPkdldCBjbGVhbiwgc2VtYW50aWMgSFRNTCByZWdhcmRsZXNzIG9mIG91dHB1dCBmb3JtYXQgc2V0dGluZzwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZXhwb3J0LWluZm8tY2FyZCBtYXJrZG93biI+CiAgICAgICAgICAgIDxzdHJvbmc+TWFya2Rvd24gRXhwb3J0PC9zdHJvbmc+CiAgICAgICAgICAgIDxwPkV4cG9ydCBhcyBNYXJrZG93biBmb3IgZG9jcywgUkVBRE1FcywgYW5kIHN0YXRpYyBzaXRlczwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZXhwb3J0LWluZm8tY2FyZCBzdGF0ZSI+CiAgICAgICAgICAgIDxzdHJvbmc+U3RhdGUgTWFuYWdlbWVudDwvc3Ryb25nPgogICAgICAgICAgICA8cD5TYXZlIGFuZCByZXN0b3JlIGNvbXBsZXRlIGVkaXRvciBzdGF0ZSBpbmNsdWRpbmcgc2V0dGluZ3M8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC13eXNpd3lnCiAgICAgICAgICBpZD0iZWRpdG9yLWV4cG9ydCIKICAgICAgICAgIGxhYmVsPSJFeHBvcnQgRGVtbyBFZGl0b3IiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iVHJ5IHRoZSBleHBvcnQgYnV0dG9ucyBiZWxvdyB0byBzZWUgZGlmZmVyZW50IG91dHB1dCBmb3JtYXRzIgogICAgICAgICAgdmFsdWU9IjxoMT5Tb2Z0d2FyZSBSZWxlYXNlIE5vdGVzPC9oMT48cD48c3Ryb25nPlZlcnNpb24gMi41LjA8L3N0cm9uZz4gLSBSZWxlYXNlZCBEZWNlbWJlciAxNSwgMjAyNDwvcD48aDI+8J+OiSBOZXcgRmVhdHVyZXM8L2gyPjx1bD48bGk+QWRkZWQgZGFyayBtb2RlIHN1cHBvcnQgYWNyb3NzIGFsbCBjb21wb25lbnRzPC9saT48bGk+SW1wbGVtZW50ZWQgcmVhbC10aW1lIGNvbGxhYm9yYXRpb24gZmVhdHVyZXM8L2xpPjxsaT5OZXcgZGFzaGJvYXJkIGFuYWx5dGljcyB3aWRnZXRzPC9saT48bGk+RXhwb3J0IGZ1bmN0aW9uYWxpdHkgZm9yIGFsbCByZXBvcnQgdHlwZXM8L2xpPjwvdWw+PGgyPvCfkJsgQnVnIEZpeGVzPC9oMj48dWw+PGxpPkZpeGVkIG1lbW9yeSBsZWFrIGluIGRhdGEgcHJvY2Vzc2luZyBtb2R1bGU8L2xpPjxsaT5SZXNvbHZlZCBhdXRoZW50aWNhdGlvbiB0aW1lb3V0IGlzc3VlczwvbGk+PGxpPkNvcnJlY3RlZCB0aW1lem9uZSBoYW5kbGluZyBpbiBzY2hlZHVsZWQgdGFza3M8L2xpPjwvdWw+PGgyPuKaoSBQZXJmb3JtYW5jZSBJbXByb3ZlbWVudHM8L2gyPjxibG9ja3F1b3RlPlBhZ2UgbG9hZCB0aW1lcyByZWR1Y2VkIGJ5IDQwJSB0aHJvdWdoIGxhenkgbG9hZGluZyBhbmQgY29kZSBzcGxpdHRpbmc8L2Jsb2NrcXVvdGU+PGgyPvCflKcgVGVjaG5pY2FsIERldGFpbHM8L2gyPjxwcmU+PGNvZGU+Ly8gTmV3IEFQSSBlbmRwb2ludCBmb3IgYmF0Y2ggb3BlcmF0aW9ucwpQT1NUIC9hcGkvdjIvYmF0Y2gKewogICZxdW90O29wZXJhdGlvbnMmcXVvdDs6IFsKICAgIHsgJnF1b3Q7bWV0aG9kJnF1b3Q7OiAmcXVvdDtHRVQmcXVvdDssICZxdW90O3BhdGgmcXVvdDs6ICZxdW90Oy91c2Vycy8xMjMmcXVvdDsgfSwKICAgIHsgJnF1b3Q7bWV0aG9kJnF1b3Q7OiAmcXVvdDtQVVQmcXVvdDssICZxdW90O3BhdGgmcXVvdDs6ICZxdW90Oy9zZXR0aW5ncyZxdW90OywgJnF1b3Q7Ym9keSZxdW90Ozogey4uLn0gfQogIF0KfTwvY29kZT48L3ByZT48aDI+8J+SoSBNaWdyYXRpb24gR3VpZGU8L2gyPjxvbD48bGk+VXBkYXRlIHlvdXIgZGVwZW5kZW5jaWVzIHRvIHRoZSBsYXRlc3QgdmVyc2lvbnM8L2xpPjxsaT5SdW4gZGF0YWJhc2UgbWlncmF0aW9uczogPGNvZGU+bnBtIHJ1biBtaWdyYXRlPC9jb2RlPjwvbGk+PGxpPkNsZWFyIGNhY2hlOiA8Y29kZT5ucG0gcnVuIGNhY2hlOmNsZWFyPC9jb2RlPjwvbGk+PGxpPlJlc3RhcnQgYWxsIHNlcnZpY2VzPC9saT48L29sPjxocj48cD5Gb3IgcXVlc3Rpb25zIG9yIGlzc3VlcywgcGxlYXNlIGNvbnRhY3QgdGhlIGRldmVsb3BtZW50IHRlYW0gb3IgZmlsZSBhIHRpY2tldCBpbiBvdXIgaXNzdWUgdHJhY2tlci48L3A+IgogICAgICAgID48L2RlZXMtaW5wdXQtd3lzaXd5Zz4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWV4cG9ydC1ibG9ja3MiIGNsYXNzPSJkZW1vLWJ1dHRvbiI+CiAgICAgICAgICAgIEV4cG9ydCBCbG9ja3MKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tZXhwb3J0LWh0bWwiIGNsYXNzPSJkZW1vLWJ1dHRvbiI+CiAgICAgICAgICAgIEV4cG9ydCBhcyBIVE1MCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWV4cG9ydC1tYXJrZG93biIgY2xhc3M9ImRlbW8tYnV0dG9uIj4KICAgICAgICAgICAgRXhwb3J0IGFzIE1hcmtkb3duCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLXNhdmUtc3RhdGUiIGNsYXNzPSJkZW1vLWJ1dHRvbiI+CiAgICAgICAgICAgIFNhdmUgU3RhdGUKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tcmVzdG9yZS1zdGF0ZSIgY2xhc3M9ImRlbW8tYnV0dG9uIj4KICAgICAgICAgICAgUmVzdG9yZSBTdGF0ZQogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBEbz1mKCgpPT57fSk7dmFyIEpyLEZmPWYoKCk9PntEbygpO0pyPWNsYXNze3N0YXRpY3tzKHRoaXMsIld5c2l3eWdTaG9ydGN1dHMiKX1zdGF0aWMgSEVBRElOR19QQVRURVJOUz1be3BhdHRlcm46L14jW1xzXHUwMEEwXSQvLHR5cGU6ImhlYWRpbmctMSJ9LHtwYXR0ZXJuOi9eIyNbXHNcdTAwQTBdJC8sdHlwZToiaGVhZGluZy0yIn0se3BhdHRlcm46L14jIyNbXHNcdTAwQTBdJC8sdHlwZToiaGVhZGluZy0zIn1dO3N0YXRpYyBMSVNUX1BBVFRFUk5TPVt7cGF0dGVybjovXlsqLV1bXHNcdTAwQTBdJC8sdHlwZToiYnVsbGV0In0se3BhdHRlcm46L14oXGQrKVwuW1xzXHUwMEEwXSQvLHR5cGU6Im9yZGVyZWQifSx7cGF0dGVybjovXihcZCspXClbXHNcdTAwQTBdJC8sdHlwZToib3JkZXJlZCJ9XTtzdGF0aWMgUVVPVEVfUEFUVEVSTj0vXj5bXHNcdTAwQTBdJC87c3RhdGljIENPREVfUEFUVEVSTj0vXmBgYCQvO3N0YXRpYyBESVZJREVSX1BBVFRFUk5TPVsiLS0tIiwiKioqIiwiX19fIl07c3RhdGljIGNoZWNrSGVhZGluZ1Nob3J0Y3V0KGUpe2ZvcihsZXR7cGF0dGVybjp0LHR5cGU6cn1vZiB0aGlzLkhFQURJTkdfUEFUVEVSTlMpaWYodC50ZXN0KGUpKXJldHVybnt0eXBlOnJ9O3JldHVybiBudWxsfXN0YXRpYyBjaGVja0xpc3RTaG9ydGN1dChlKXtmb3IobGV0e3BhdHRlcm46dCx0eXBlOnJ9b2YgdGhpcy5MSVNUX1BBVFRFUk5TKWlmKHQudGVzdChlKSlyZXR1cm57dHlwZToibGlzdCIsbGlzdFR5cGU6cn07cmV0dXJuIG51bGx9c3RhdGljIGNoZWNrUXVvdGVTaG9ydGN1dChlKXtyZXR1cm4gdGhpcy5RVU9URV9QQVRURVJOLnRlc3QoZSl9c3RhdGljIGNoZWNrQ29kZVNob3J0Y3V0KGUpe3JldHVybiB0aGlzLkNPREVfUEFUVEVSTi50ZXN0KGUpfXN0YXRpYyBjaGVja0RpdmlkZXJTaG9ydGN1dChlKXtyZXR1cm4gdGhpcy5ESVZJREVSX1BBVFRFUk5TLmluY2x1ZGVzKGUpfXN0YXRpYyBnZXRTbGFzaE1lbnVJdGVtcygpe3JldHVyblt7dHlwZToicGFyYWdyYXBoIixsYWJlbDoiUGFyYWdyYXBoIixpY29uOiJsdWNpZGU6cGlsY3JvdyJ9LHt0eXBlOiJoZWFkaW5nLTEiLGxhYmVsOiJIZWFkaW5nIDEiLGljb246Imx1Y2lkZTpoZWFkaW5nMSJ9LHt0eXBlOiJoZWFkaW5nLTIiLGxhYmVsOiJIZWFkaW5nIDIiLGljb246Imx1Y2lkZTpoZWFkaW5nMiJ9LHt0eXBlOiJoZWFkaW5nLTMiLGxhYmVsOiJIZWFkaW5nIDMiLGljb246Imx1Y2lkZTpoZWFkaW5nMyJ9LHt0eXBlOiJxdW90ZSIsbGFiZWw6IlF1b3RlIixpY29uOiJsdWNpZGU6cXVvdGUifSx7dHlwZToiY29kZSIsbGFiZWw6IkNvZGUgQmxvY2siLGljb246Imx1Y2lkZTpmaWxlQ29kZSJ9LHt0eXBlOiJsaXN0IixsYWJlbDoiQnVsbGV0IExpc3QiLGljb246Imx1Y2lkZTpsaXN0In0se3R5cGU6ImltYWdlIixsYWJlbDoiSW1hZ2UiLGljb246Imx1Y2lkZTppbWFnZSJ9LHt0eXBlOiJkaXZpZGVyIixsYWJlbDoiRGl2aWRlciIsaWNvbjoibHVjaWRlOm1pbnVzIn0se3R5cGU6InlvdXR1YmUiLGxhYmVsOiJZb3VUdWJlIixpY29uOiJsdWNpZGU6eW91dHViZSJ9LHt0eXBlOiJtYXJrZG93biIsbGFiZWw6Ik1hcmtkb3duIixpY29uOiJsdWNpZGU6ZmlsZVRleHQifSx7dHlwZToiaHRtbCIsbGFiZWw6IkhUTUwiLGljb246Imx1Y2lkZTpjb2RlIn0se3R5cGU6ImF0dGFjaG1lbnQiLGxhYmVsOiJGaWxlIEF0dGFjaG1lbnQiLGljb246Imx1Y2lkZTpwYXBlcmNsaXAifV19c3RhdGljIGdlbmVyYXRlQmxvY2tJZCgpe3JldHVybmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YH19fSk7dmFyIG1tLEkxLFRhZSxpS2U9ZigoKT0+e2xlKCk7VWkoKTt2YSgpO0RvKCk7RmYoKTtRZSgpO21tPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxJMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sVGFlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1zbGFzaC1tZW51IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W107dmFyIE49Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNTbGFzaE1lbnUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVtLKCldLGQ9W0soKV0sdT1bSygpXSx4PVtLKCldLHk9W0soKV0sbW0odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJ2aXNpYmxlImluIHosImhhcyIpLGdldDpzKHo9PnoudmlzaWJsZSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnZpc2libGU9T30sInNldCIpfSxtZXRhZGF0YTpffSxuLGwpLG1tKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InBvc2l0aW9uImluIHosImhhcyIpLGdldDpzKHo9PnoucG9zaXRpb24sImdldCIpLHNldDpzKCh6LE8pPT57ei5wb3NpdGlvbj1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGMscCksbW0odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWx0ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImZpbHRlciJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmZpbHRlciwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmZpbHRlcj1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG0sdiksbW0odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZEluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzZWxlY3RlZEluZGV4ImluIHosImhhcyIpLGdldDpzKHo9Pnouc2VsZWN0ZWRJbmRleCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnNlbGVjdGVkSW5kZXg9T30sInNldCIpfSxtZXRhZGF0YTpffSxiLGcpLG1tKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVudVpJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4ibWVudVpJbmRleCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56Lm1lbnVaSW5kZXgsImdldCIpLHNldDpzKCh6LE8pPT57ei5tZW51WkluZGV4PU99LCJzZXQiKX0sbWV0YWRhdGE6X30sayxDKSxtbShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpffSxudWxsLHQpLE49cj1lLnZhbHVlLF8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6X30pfXN0YXRpYyBpbnN0YW5jZTtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gTi5pbnN0YW5jZXx8KE4uaW5zdGFuY2U9bmV3IE4sZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChOLmluc3RhbmNlKSksTi5pbnN0YW5jZX0jZT1JMSh0aGlzLG4sITEpO2dldCB2aXNpYmxlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZpc2libGUoXyl7dGhpcy4jZT1ffSN0PShJMSh0aGlzLGwpLEkxKHRoaXMsYyx7eDowLHk6MH0pKTtnZXQgcG9zaXRpb24oKXtyZXR1cm4gdGhpcy4jdH1zZXQgcG9zaXRpb24oXyl7dGhpcy4jdD1ffSNhPShJMSh0aGlzLHApLEkxKHRoaXMsbSwiIikpO2dldCBmaWx0ZXIoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZmlsdGVyKF8pe3RoaXMuI2E9X30jcj0oSTEodGhpcyx2KSxJMSh0aGlzLGIsMCkpO2dldCBzZWxlY3RlZEluZGV4KCl7cmV0dXJuIHRoaXMuI3J9c2V0IHNlbGVjdGVkSW5kZXgoXyl7dGhpcy4jcj1ffSNzPShJMSh0aGlzLGcpLEkxKHRoaXMsaywxZTMpKTtnZXQgbWVudVpJbmRleCgpe3JldHVybiB0aGlzLiNzfXNldCBtZW51WkluZGV4KF8pe3RoaXMuI3M9X31jYWxsYmFjaz0oSTEodGhpcyxDKSxudWxsKTtzdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB3aWR0aDogMDsKICAgICAgICBoZWlnaHQ6IDA7CiAgICAgIH0KCiAgICAgIC5zbGFzaC1tZW51IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNik7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICAgIG1pbi13aWR0aDogMjIwcHg7CiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBhbmltYXRpb246IGZhZGVJblNjYWxlIDAuMTVzIGVhc2Utb3V0OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGZhZGVJblNjYWxlIHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpIHRyYW5zbGF0ZVkoLTJweCk7CiAgICAgICAgfQogICAgICAgIHRvIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAuc2xhc2gtbWVudS1pdGVtIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTBweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5zbGFzaC1tZW51LWl0ZW06aG92ZXIsCiAgICAgIC5zbGFzaC1tZW51LWl0ZW0uc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc2xhc2gtbWVudS1pdGVtIC5pY29uIHsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5zbGFzaC1tZW51LWl0ZW06aG92ZXIgLmljb24sCiAgICAgIC5zbGFzaC1tZW51LWl0ZW0uc2VsZWN0ZWQgLmljb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2lmKCF0aGlzLnZpc2libGUpcmV0dXJuIHdgYDt0aGlzLnN0eWxlLnpJbmRleD10aGlzLm1lbnVaSW5kZXgudG9TdHJpbmcoKTtsZXQgXz10aGlzLmdldEZpbHRlcmVkTWVudUl0ZW1zKCk7cmV0dXJuIHdgCiAgICAgIDxkaXYgCiAgICAgICAgY2xhc3M9InNsYXNoLW1lbnUiIAogICAgICAgIHN0eWxlPSJsZWZ0OiAke3RoaXMucG9zaXRpb24ueH1weDsgdG9wOiAke3RoaXMucG9zaXRpb24ueX1weDsiCiAgICAgICAgdGFiaW5kZXg9Ii0xIgogICAgICAgIGRhdGEtbWVudS10eXBlPSJzbGFzaCIKICAgICAgPgogICAgICAgICR7Xy5tYXAoKHosTyk9PndgCiAgICAgICAgICA8ZGl2IAogICAgICAgICAgICBjbGFzcz0ic2xhc2gtbWVudS1pdGVtICR7Tz09PXRoaXMuc2VsZWN0ZWRJbmRleD8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgZGF0YS1pdGVtLXR5cGU9IiR7ei50eXBlfSIKICAgICAgICAgICAgZGF0YS1pdGVtLWluZGV4PSIke099IgogICAgICAgICAgPgogICAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJpY29uIiAuaWNvbj0iJHt6Lmljb259IiBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8c3Bhbj4ke3oubGFiZWx9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCl9CiAgICAgIDwvZGl2PgogICAgYH1nZXRGaWx0ZXJlZE1lbnVJdGVtcygpe3JldHVybiBKci5nZXRTbGFzaE1lbnVJdGVtcygpLmZpbHRlcih6PT50aGlzLmZpbHRlcj09PSIifHx6LmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5maWx0ZXIudG9Mb3dlckNhc2UoKSkpfXNlbGVjdEl0ZW0oXyl7dGhpcy5jYWxsYmFjayYmdGhpcy5jYWxsYmFjayhfKSx0aGlzLmhpZGUoKX1zaG93KF8seil7dGhpcy5wb3NpdGlvbj1fLHRoaXMuY2FsbGJhY2s9eix0aGlzLmZpbHRlcj0iIix0aGlzLnNlbGVjdGVkSW5kZXg9MCx0aGlzLm1lbnVaSW5kZXg9WnQuZ2V0TmV4dFpJbmRleCgpLFp0LnJlZ2lzdGVyKHRoaXMsdGhpcy5tZW51WkluZGV4KSx0aGlzLnN0eWxlLnpJbmRleD10aGlzLm1lbnVaSW5kZXgudG9TdHJpbmcoKSx0aGlzLnZpc2libGU9ITB9aGlkZSgpe3RoaXMudmlzaWJsZT0hMSx0aGlzLmNhbGxiYWNrPW51bGwsdGhpcy5maWx0ZXI9IiIsdGhpcy5zZWxlY3RlZEluZGV4PTAsWnQudW5yZWdpc3Rlcih0aGlzKX11cGRhdGVGaWx0ZXIoXyl7dGhpcy5maWx0ZXI9Xyx0aGlzLnNlbGVjdGVkSW5kZXg9MH1uYXZpZ2F0ZShfKXtsZXQgej10aGlzLmdldEZpbHRlcmVkTWVudUl0ZW1zKCk7Xz09PSJkb3duIj90aGlzLnNlbGVjdGVkSW5kZXg9KHRoaXMuc2VsZWN0ZWRJbmRleCsxKSV6Lmxlbmd0aDp0aGlzLnNlbGVjdGVkSW5kZXg9dGhpcy5zZWxlY3RlZEluZGV4PT09MD96Lmxlbmd0aC0xOnRoaXMuc2VsZWN0ZWRJbmRleC0xfXNlbGVjdEN1cnJlbnQoKXtsZXQgXz10aGlzLmdldEZpbHRlcmVkTWVudUl0ZW1zKCk7X1t0aGlzLnNlbGVjdGVkSW5kZXhdJiZ0aGlzLnNlbGVjdEl0ZW0oX1t0aGlzLnNlbGVjdGVkSW5kZXhdLnR5cGUpfWZpcnN0VXBkYXRlZCgpe3RoaXMuc2hhZG93Um9vdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLF89PntsZXQgej1fLE89dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuc2xhc2gtbWVudSIpO08mJk8uY29udGFpbnMoei50YXJnZXQpJiYoei5wcmV2ZW50RGVmYXVsdCgpLHouc3RvcFByb3BhZ2F0aW9uKCkpfSksdGhpcy5zaGFkb3dSb290LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixfPT57bGV0IHo9XyxUPXoudGFyZ2V0LmNsb3Nlc3QoIi5zbGFzaC1tZW51LWl0ZW0iKTtpZihUKXt6LnByZXZlbnREZWZhdWx0KCksei5zdG9wUHJvcGFnYXRpb24oKTtsZXQgRT1ULmdldEF0dHJpYnV0ZSgiZGF0YS1pdGVtLXR5cGUiKTtFJiZ0aGlzLnNlbGVjdEl0ZW0oRSl9fSksdGhpcy5zaGFkb3dSb290LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLF89PntsZXQgVD1fLnRhcmdldC5jbG9zZXN0KCIuc2xhc2gtbWVudS1pdGVtIik7aWYoVCl7bGV0IEU9cGFyc2VJbnQoVC5nZXRBdHRyaWJ1dGUoImRhdGEtaXRlbS1pbmRleCIpfHwiMCIsMTApO3RoaXMuc2VsZWN0ZWRJbmRleD1FfX0sITApLHRoaXMuc2hhZG93Um9vdC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsXz0+e2xldCB6PV8sTz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5zbGFzaC1tZW51Iik7TyYmTy5jb250YWlucyh6LnRhcmdldCkmJih6LnByZXZlbnREZWZhdWx0KCksei5zdG9wUHJvcGFnYXRpb24oKSl9LCEwKX1zdGF0aWN7STEocix0KX19O3JldHVybiBOPXJ9KSgpfSk7dmFyIHN0LEcyPWYoKCk9PntzdD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJXeXNpd3lnU2VsZWN0aW9uIil9c3RhdGljIGdldFNlbGVjdGlvbkluZm8oLi4uZSl7bGV0IHQ9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKGNvbnNvbGUubG9nKCJXeXNpd3lnU2VsZWN0aW9uLmdldFNlbGVjdGlvbkluZm8gLSBzZWxlY3Rpb246Iix0LCJyYW5nZUNvdW50OiIsdD8ucmFuZ2VDb3VudCksIXQpcmV0dXJuIG51bGw7aWYoImdldENvbXBvc2VkUmFuZ2VzImluIHQmJnR5cGVvZiB0LmdldENvbXBvc2VkUmFuZ2VzPT0iZnVuY3Rpb24iKXtjb25zb2xlLmxvZygiVXNpbmcgZ2V0Q29tcG9zZWRSYW5nZXMgd2l0aCIsZS5sZW5ndGgsInNoYWRvdyByb290cyIpO3RyeXtsZXQgcj10LmdldENvbXBvc2VkUmFuZ2VzKHtzaGFkb3dSb290czplfSk7aWYoY29uc29sZS5sb2coImdldENvbXBvc2VkUmFuZ2VzIHJldHVybmVkIixyLmxlbmd0aCwicmFuZ2VzIiksci5sZW5ndGg+MCl7bGV0IGk9clswXTtyZXR1cm57c3RhcnRDb250YWluZXI6aS5zdGFydENvbnRhaW5lcixzdGFydE9mZnNldDppLnN0YXJ0T2Zmc2V0LGVuZENvbnRhaW5lcjppLmVuZENvbnRhaW5lcixlbmRPZmZzZXQ6aS5lbmRPZmZzZXQsY29sbGFwc2VkOmkuY29sbGFwc2VkfX19Y2F0Y2gocil7Y29uc29sZS53YXJuKCJnZXRDb21wb3NlZFJhbmdlcyBmYWlsZWQsIGZhbGxpbmcgYmFjayB0byBnZXRSYW5nZUF0OiIscil9fWVsc2UgY29uc29sZS5sb2coImdldENvbXBvc2VkUmFuZ2VzIG5vdCBhdmFpbGFibGUsIHVzaW5nIGZhbGxiYWNrIik7aWYodC5yYW5nZUNvdW50PjApe2xldCByPXQuZ2V0UmFuZ2VBdCgwKTtyZXR1cm57c3RhcnRDb250YWluZXI6ci5zdGFydENvbnRhaW5lcixzdGFydE9mZnNldDpyLnN0YXJ0T2Zmc2V0LGVuZENvbnRhaW5lcjpyLmVuZENvbnRhaW5lcixlbmRPZmZzZXQ6ci5lbmRPZmZzZXQsY29sbGFwc2VkOnIuY29sbGFwc2VkfX1yZXR1cm4gbnVsbH1zdGF0aWMgaXNTZWxlY3Rpb25JbkVsZW1lbnQoZSx0KXtsZXQgcj10P3RoaXMuZ2V0U2VsZWN0aW9uSW5mbyh0KTp0aGlzLmdldFNlbGVjdGlvbkluZm8oKTtyZXR1cm4gcj9lLmNvbnRhaW5zKHIuc3RhcnRDb250YWluZXIpfHxlLmNvbnRhaW5zKHIuZW5kQ29udGFpbmVyKTohMX1zdGF0aWMgZ2V0U2VsZWN0ZWRUZXh0KCl7bGV0IGU9d2luZG93LmdldFNlbGVjdGlvbigpO3JldHVybiBlP2UudG9TdHJpbmcoKToiIn1zdGF0aWMgY3JlYXRlUmFuZ2VGcm9tSW5mbyhlKXtsZXQgdD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3JldHVybiB0LnNldFN0YXJ0KGUuc3RhcnRDb250YWluZXIsZS5zdGFydE9mZnNldCksdC5zZXRFbmQoZS5lbmRDb250YWluZXIsZS5lbmRPZmZzZXQpLHR9c3RhdGljIHNldFNlbGVjdGlvbkZyb21SYW5nZShlKXtsZXQgdD13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7dCYmKHQucmVtb3ZlQWxsUmFuZ2VzKCksdC5hZGRSYW5nZShlKSl9c3RhdGljIGdldEN1cnNvclBvc2l0aW9uSW5FbGVtZW50KGUsLi4udCl7bGV0IHI9dC5sZW5ndGg+MD90aGlzLmdldFNlbGVjdGlvbkluZm8oLi4udCk6dGhpcy5nZXRTZWxlY3Rpb25JbmZvKCk7aWYoIXJ8fCFyLmNvbGxhcHNlZClyZXR1cm4gbnVsbDt0cnl7bGV0IGk9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtpZihpLnNlbGVjdE5vZGVDb250ZW50cyhlKSx0aGlzLmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKGUsci5zdGFydENvbnRhaW5lcikpcmV0dXJuIGkuc2V0RW5kKHIuc3RhcnRDb250YWluZXIsci5zdGFydE9mZnNldCksaS50b1N0cmluZygpLmxlbmd0aDt7bGV0IG49ZS50ZXh0Q29udGVudHx8IiIsbD1yLnN0YXJ0Q29udGFpbmVyLnRleHRDb250ZW50fHwiIjtyZXR1cm4gci5zdGFydE9mZnNldD09PTA/MDpyLnN0YXJ0T2Zmc2V0PT09bC5sZW5ndGg/bi5sZW5ndGg6KGNvbnNvbGUud2FybigiU2VsZWN0aW9uIGNvbnRhaW5lciBub3Qgd2l0aGluIGVsZW1lbnQsIHVzaW5nIHRleHQgbWF0Y2hpbmcgZmFsbGJhY2siKSxyLnN0YXJ0T2Zmc2V0KX19Y2F0Y2goaSl7cmV0dXJuIGNvbnNvbGUud2FybigiRmFpbGVkIHRvIGdldCBjdXJzb3IgcG9zaXRpb246IixpKSxudWxsfX1zdGF0aWMgZ2V0Q3Vyc29yUG9zaXRpb25Gcm9tUG9pbnQoZSx0LHIsLi4uaSl7aWYoImNhcmV0UG9zaXRpb25Gcm9tUG9pbnQiaW4gZG9jdW1lbnQmJmRvY3VtZW50LmNhcmV0UG9zaXRpb25Gcm9tUG9pbnQpe2xldCBvPW51bGw7dHJ5e289ZG9jdW1lbnQuY2FyZXRQb3NpdGlvbkZyb21Qb2ludChlLHQsLi4uaSl9Y2F0Y2h7bz1kb2N1bWVudC5jYXJldFBvc2l0aW9uRnJvbVBvaW50KGUsdCl9aWYobyYmci5jb250YWlucyhvLm9mZnNldE5vZGUpKXJldHVybiB0aGlzLmdldE9mZnNldEluRWxlbWVudChvLm9mZnNldE5vZGUsby5vZmZzZXQscil9aWYoImNhcmV0UmFuZ2VGcm9tUG9pbnQiaW4gZG9jdW1lbnQpe2xldCBvPWRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoZSx0KTtpZihvJiZyLmNvbnRhaW5zKG8uc3RhcnRDb250YWluZXIpKXJldHVybiB0aGlzLmdldE9mZnNldEluRWxlbWVudChvLnN0YXJ0Q29udGFpbmVyLG8uc3RhcnRPZmZzZXQscil9cmV0dXJuIG51bGx9c3RhdGljIGdldE9mZnNldEluRWxlbWVudChlLHQscil7bGV0IGk9MCxvPSExLG49ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihyLE5vZGVGaWx0ZXIuU0hPV19URVhULG51bGwpLGw7Zm9yKDtsPW4ubmV4dE5vZGUoKTspaWYobD09PWUpe2krPXQsbz0hMDticmVha31lbHNlIGkrPWwudGV4dENvbnRlbnQ/Lmxlbmd0aHx8MDtyZXR1cm4gbz9pOjB9c3RhdGljIHNldEN1cnNvclBvc2l0aW9uKGUsdCl7bGV0IHI9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihlLE5vZGVGaWx0ZXIuU0hPV19URVhULG51bGwpLGk9MCxvPW51bGwsbj0wO2Zvcig7ci5uZXh0Tm9kZSgpOyl7bGV0IGw9ci5jdXJyZW50Tm9kZSxkPWwudGV4dENvbnRlbnQ/Lmxlbmd0aHx8MDtpZihpK2Q+PXQpe289bCxuPXQtaTticmVha31pKz1kfWlmKG8pe2xldCBsPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7bC5zZXRTdGFydChvLG4pLGwuY29sbGFwc2UoITApLHRoaXMuc2V0U2VsZWN0aW9uRnJvbVJhbmdlKGwpfX1zdGF0aWMgY29udGFpbnNBY3Jvc3NTaGFkb3dET00oZSx0KXtpZighZXx8IXQpcmV0dXJuITE7bGV0IHI9dDtmb3IoO3I7KXtpZihyPT09ZSlyZXR1cm4hMDtpZihyLm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFJiZyLmhvc3Qpe2xldCBpPXI7aWYoaS5jb250YWlucyhlKSlyZXR1cm4hMTtyPWkuaG9zdH1lbHNlIHI9ci5wYXJlbnROb2RlfXJldHVybiExfX19KTt2YXIgdmMsb0tlPWYoKCk9PntsZSgpO0cyKCk7dmM9Y2xhc3N7c3RhdGlje3ModGhpcywiV3lzaXd5Z0Zvcm1hdHRpbmciKX1zdGF0aWMgZm9ybWF0QnV0dG9ucz1be2NvbW1hbmQ6ImJvbGQiLGljb246IkIiLGxhYmVsOiJCb2xkIixzaG9ydGN1dDoiXHUyMzE4QiJ9LHtjb21tYW5kOiJpdGFsaWMiLGljb246IkkiLGxhYmVsOiJJdGFsaWMiLHNob3J0Y3V0OiJcdTIzMThJIn0se2NvbW1hbmQ6InVuZGVybGluZSIsaWNvbjoiVSIsbGFiZWw6IlVuZGVybGluZSIsc2hvcnRjdXQ6Ilx1MjMxOFUifSx7Y29tbWFuZDoic3RyaWtlVGhyb3VnaCIsaWNvbjoiU1x1MDMzNiIsbGFiZWw6IlN0cmlrZXRocm91Z2gifSx7Y29tbWFuZDoiY29kZSIsaWNvbjoieyB9IixsYWJlbDoiSW5saW5lIENvZGUifSx7Y29tbWFuZDoibGluayIsaWNvbjoiXHV7MUY1MTd9IixsYWJlbDoiTGluayIsc2hvcnRjdXQ6Ilx1MjMxOEsifV07c3RhdGljIHJlbmRlckZvcm1hdHRpbmdNZW51KGUsdCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgCiAgICAgICAgY2xhc3M9ImZvcm1hdHRpbmctbWVudSIgCiAgICAgICAgc3R5bGU9InRvcDogJHtlLnl9cHg7IGxlZnQ6ICR7ZS54fXB4OyIKICAgICAgICBAbW91c2Vkb3duPSIke3I9PntyLnByZXZlbnREZWZhdWx0KCksci5zdG9wUHJvcGFnYXRpb24oKX19IgogICAgICAgIEBjbGljaz0iJHtyPT5yLnN0b3BQcm9wYWdhdGlvbigpfSIKICAgICAgPgogICAgICAgICR7dGhpcy5mb3JtYXRCdXR0b25zLm1hcChyPT53YAogICAgICAgICAgPGJ1dHRvbiAKICAgICAgICAgICAgY2xhc3M9ImZvcm1hdC1idXR0b24gJHtyLmNvbW1hbmR9IgogICAgICAgICAgICBAY2xpY2s9IiR7KCk9PnQoci5jb21tYW5kKX0iCiAgICAgICAgICAgIHRpdGxlPSIke3IubGFiZWx9JHtyLnNob3J0Y3V0P2AgKCR7ci5zaG9ydGN1dH0pYDoiIn0iCiAgICAgICAgICA+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSIke3IuY29tbWFuZD09PSJjb2RlIj8iY29kZS1pY29uIjoiIn0iPiR7ci5pY29ufTwvc3Bhbj4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIGApfQogICAgICA8L2Rpdj4KICAgIGB9c3RhdGljIGFwcGx5Rm9ybWF0KGUsdCxyLGkpe2xldCBvO2lmKHIpbz1yO2Vsc2V7bGV0IG49d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFufHxuLnJhbmdlQ291bnQ9PT0wKXJldHVybiExO289bi5nZXRSYW5nZUF0KDApfXN3aXRjaChlKXtjYXNlImJvbGQiOnRoaXMud3JhcFNlbGVjdGlvbihvLCJzdHJvbmciKTticmVhaztjYXNlIml0YWxpYyI6dGhpcy53cmFwU2VsZWN0aW9uKG8sImVtIik7YnJlYWs7Y2FzZSJ1bmRlcmxpbmUiOnRoaXMud3JhcFNlbGVjdGlvbihvLCJ1Iik7YnJlYWs7Y2FzZSJzdHJpa2VUaHJvdWdoIjp0aGlzLndyYXBTZWxlY3Rpb24obywicyIpO2JyZWFrO2Nhc2UiY29kZSI6dGhpcy53cmFwU2VsZWN0aW9uKG8sImNvZGUiKTticmVhaztjYXNlImxpbmsiOmlmKCF0KXJldHVybiExO3RoaXMud3JhcFNlbGVjdGlvbldpdGhMaW5rKG8sdCk7YnJlYWt9aWYoaSYmaS5sZW5ndGg+MClzdC5zZXRTZWxlY3Rpb25Gcm9tUmFuZ2Uobyk7ZWxzZXtsZXQgbj13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7biYmKG4ucmVtb3ZlQWxsUmFuZ2VzKCksbi5hZGRSYW5nZShvKSl9cmV0dXJuITB9c3RhdGljIHdyYXBTZWxlY3Rpb24oZSx0KXtsZXQgcj13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIXIpcmV0dXJuO2lmKHRoaXMuc2VsZWN0aW9uQ29udGFpbnNUYWcoZSx0KSl0aGlzLnJlbW92ZVRhZ0Zyb21TZWxlY3Rpb24oZSx0KTtlbHNle2xldCBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodCk7dHJ5e2xldCBuPWUuZXh0cmFjdENvbnRlbnRzKCk7by5hcHBlbmRDaGlsZChuKSxlLmluc2VydE5vZGUobyksZS5zZWxlY3ROb2RlQ29udGVudHMobyksci5yZW1vdmVBbGxSYW5nZXMoKSxyLmFkZFJhbmdlKGUpfWNhdGNoKG4pe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byB3cmFwIHNlbGVjdGlvbjoiLG4pfX19c3RhdGljIHNlbGVjdGlvbkNvbnRhaW5zVGFnKGUsdCl7bGV0IHI9ZS5zdGFydENvbnRhaW5lcjtmb3IoO3ImJnIhPT1lLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLm93bmVyRG9jdW1lbnQ7KXtpZihyLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJnIudGFnTmFtZS50b0xvd2VyQ2FzZSgpPT09dClyZXR1cm4hMDtyPXIucGFyZW50Tm9kZX1mb3Iocj1lLmVuZENvbnRhaW5lcjtyJiZyIT09ZS5jb21tb25BbmNlc3RvckNvbnRhaW5lci5vd25lckRvY3VtZW50Oyl7aWYoci5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZyLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09PXQpcmV0dXJuITA7cj1yLnBhcmVudE5vZGV9bGV0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iiksbz1lLmNsb25lQ29udGVudHMoKTtyZXR1cm4gaS5hcHBlbmRDaGlsZChvKSxpLmdldEVsZW1lbnRzQnlUYWdOYW1lKHQpLmxlbmd0aD4wfXN0YXRpYyByZW1vdmVUYWdGcm9tU2VsZWN0aW9uKGUsdCl7bGV0IHI9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFyKXJldHVybjtsZXQgaT1lLmNsb25lUmFuZ2UoKSxvPWUuc3RhcnRDb250YWluZXIsbj1udWxsO2Zvcig7byYmbyE9PWUuY29tbW9uQW5jZXN0b3JDb250YWluZXIub3duZXJEb2N1bWVudDspe2lmKG8ubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmby50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT10KXtuPW87YnJlYWt9bz1vLnBhcmVudE5vZGV9bGV0IGw9ZS5lbmRDb250YWluZXIsZD1udWxsO2Zvcig7bCYmbCE9PWUuY29tbW9uQW5jZXN0b3JDb250YWluZXIub3duZXJEb2N1bWVudDspe2lmKGwubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmbC50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT10KXtkPWw7YnJlYWt9bD1sLnBhcmVudE5vZGV9biYmaS5zZXRTdGFydEJlZm9yZShuKSxkJiZpLnNldEVuZEFmdGVyKGQpO2xldCBjPWkuZXh0cmFjdENvbnRlbnRzKCkscD10aGlzLnJlbW92ZVRhZ3NGcm9tRnJhZ21lbnQoYyx0KTtpLmluc2VydE5vZGUocCk7bGV0IHU9W10sbT1kb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKHAsTm9kZUZpbHRlci5TSE9XX1RFWFQsbnVsbCksdjtmb3IoO3Y9bS5uZXh0Tm9kZSgpOyl1LnB1c2godik7aWYodS5sZW5ndGg+MCl7bGV0IHg9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTt4LnNldFN0YXJ0KHVbMF0sMCkseC5zZXRFbmQodVt1Lmxlbmd0aC0xXSx1W3UubGVuZ3RoLTFdLnRleHRDb250ZW50Py5sZW5ndGh8fDApLHIucmVtb3ZlQWxsUmFuZ2VzKCksci5hZGRSYW5nZSh4KX19c3RhdGljIHJlbW92ZVRhZ3NGcm9tRnJhZ21lbnQoZSx0KXtsZXQgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyLmFwcGVuZENoaWxkKGUpO2xldCBpPXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUodCk7QXJyYXkuZnJvbShpKS5mb3JFYWNoKGw9PntsZXQgZD1sLnBhcmVudE5vZGU7aWYoZCl7Zm9yKDtsLmZpcnN0Q2hpbGQ7KWQuaW5zZXJ0QmVmb3JlKGwuZmlyc3RDaGlsZCxsKTtkLnJlbW92ZUNoaWxkKGwpfX0pO2xldCBuPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtmb3IoO3IuZmlyc3RDaGlsZDspbi5hcHBlbmRDaGlsZChyLmZpcnN0Q2hpbGQpO3JldHVybiBufXN0YXRpYyB3cmFwU2VsZWN0aW9uV2l0aExpbmsoZSx0KXtsZXQgcj13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIXIpcmV0dXJuO3RoaXMuc2VsZWN0aW9uQ29udGFpbnNUYWcoZSwiYSIpJiYodGhpcy5yZW1vdmVUYWdGcm9tU2VsZWN0aW9uKGUsImEiKSxyLnJhbmdlQ291bnQ+MCYmKGU9ci5nZXRSYW5nZUF0KDApKSk7bGV0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO2kuaHJlZj10LGkudGFyZ2V0PSJfYmxhbmsiLGkucmVsPSJub29wZW5lciBub3JlZmVycmVyIjt0cnl7bGV0IG89ZS5leHRyYWN0Q29udGVudHMoKTtpLmFwcGVuZENoaWxkKG8pLGUuaW5zZXJ0Tm9kZShpKSxlLnNlbGVjdE5vZGVDb250ZW50cyhpKSxyLnJlbW92ZUFsbFJhbmdlcygpLHIuYWRkUmFuZ2UoZSl9Y2F0Y2gobyl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBsaW5rOiIsbyl9fXN0YXRpYyBnZXRTZWxlY3Rpb25Db29yZGluYXRlcyguLi5lKXtsZXQgdD1zdC5nZXRTZWxlY3Rpb25JbmZvKC4uLmUpO2lmKGNvbnNvbGUubG9nKCJnZXRTZWxlY3Rpb25Db29yZGluYXRlcyAtIHNlbGVjdGlvbkluZm86Iix0KSwhdClyZXR1cm4gY29uc29sZS5sb2coIk5vIHNlbGVjdGlvbiBpbmZvIGF2YWlsYWJsZSIpLG51bGw7bGV0IGk9c3QuY3JlYXRlUmFuZ2VGcm9tSW5mbyh0KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihjb25zb2xlLmxvZygiUmFuZ2UgcmVjdDoiLGkpLGkud2lkdGg9PT0wJiZpLmhlaWdodD09PTApe2lmKGNvbnNvbGUubG9nKCJSZWN0IHdpZHRoIGFuZCBoZWlnaHQgYXJlIDAsIHRyeWluZyBkaWZmZXJlbnQgYXBwcm9hY2giKSwiY2FyZXRQb3NpdGlvbkZyb21Qb2ludCJpbiBkb2N1bWVudCl7bGV0IG49d2luZG93LmdldFNlbGVjdGlvbigpO2lmKG4mJm4ucmFuZ2VDb3VudD4wKXtsZXQgbD1uLmdldFJhbmdlQXQoMCksZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7ZC50ZXh0Q29udGVudD0iXHUyMDBCIixsLmluc2VydE5vZGUoZCk7bGV0IGM9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihkLnJlbW92ZSgpLGMud2lkdGg+MHx8Yy5oZWlnaHQ+MCl7bGV0IHA9e3g6Yy5sZWZ0LHk6TWF0aC5tYXgoNDUsYy50b3AtNDUpfTtyZXR1cm4gY29uc29sZS5sb2coIlVzZWQgc3BhbiB0cmljayBmb3IgY29vcmRzOiIscCkscH19fXJldHVybiBudWxsfWxldCBvPXt4OmkubGVmdCtpLndpZHRoLzIseTpNYXRoLm1heCg0NSxpLnRvcC00NSl9O3JldHVybiBjb25zb2xlLmxvZygiUmV0dXJuaW5nIGNvb3JkczoiLG8pLG99fX0pO3ZhciBMYWUsQmYsJGFlLG5LZT1mKCgpPT57bGUoKTtVaSgpO29LZSgpO1FlKCk7TGFlPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxCZj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sJGFlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1mb3JtYXR0aW5nLW1lbnUiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0Zvcm1hdHRpbmdNZW51Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bSygpXSxkPVtLKCldLHU9W0soKV0sTGFlKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4idmlzaWJsZSJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLnZpc2libGUsImdldCIpLHNldDpzKChnLHkpPT57Zy52aXNpYmxlPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbixsKSxMYWUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwb3NpdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4icG9zaXRpb24iaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5wb3NpdGlvbiwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnBvc2l0aW9uPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sYyxwKSxMYWUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW51WkluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJtZW51WkluZGV4ImluIGcsImhhcyIpLGdldDpzKGc9PmcubWVudVpJbmRleCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLm1lbnVaSW5kZXg9eX0sInNldCIpfSxtZXRhZGF0YTpifSxtLHYpLExhZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLHQpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBpbnN0YW5jZTtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4geC5pbnN0YW5jZXx8KHguaW5zdGFuY2U9bmV3IHgsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh4Lmluc3RhbmNlKSkseC5pbnN0YW5jZX0jZT1CZih0aGlzLG4sITEpO2dldCB2aXNpYmxlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZpc2libGUoYil7dGhpcy4jZT1ifSN0PShCZih0aGlzLGwpLEJmKHRoaXMsYyx7eDowLHk6MH0pKTtnZXQgcG9zaXRpb24oKXtyZXR1cm4gdGhpcy4jdH1zZXQgcG9zaXRpb24oYil7dGhpcy4jdD1ifSNhPShCZih0aGlzLHApLEJmKHRoaXMsbSwxZTMpKTtnZXQgbWVudVpJbmRleCgpe3JldHVybiB0aGlzLiNhfXNldCBtZW51WkluZGV4KGIpe3RoaXMuI2E9Yn1jYWxsYmFjaz0oQmYodGhpcyx2KSxudWxsKTtzdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB3aWR0aDogMDsKICAgICAgICBoZWlnaHQ6IDA7CiAgICAgIH0KCiAgICAgIC5mb3JtYXR0aW5nLW1lbnUgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMyNjI2MjYiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlMGUwZTAiLCIjNDA0MDQwIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBib3gtc2hhZG93OiAwIDJweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAycHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5TY2FsZSAwLjE1cyBlYXNlLW91dDsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBmYWRlSW5TY2FsZSB7CiAgICAgICAgZnJvbSB7CiAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KSB0cmFuc2xhdGVZKDVweCk7CiAgICAgICAgfQogICAgICAgIHRvIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAuZm9ybWF0LWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZTBlMGUwIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmZvcm1hdC1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjBmMGYwIiwiIzMzMzMzMyIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDY2Y2MiLCIjNGQ5NGZmIil9OwogICAgICB9CgogICAgICAuZm9ybWF0LWJ1dHRvbjphY3RpdmUgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7CiAgICAgIH0KCiAgICAgIC5mb3JtYXQtYnV0dG9uLmJvbGQgewogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgIH0KCiAgICAgIC5mb3JtYXQtYnV0dG9uLml0YWxpYyB7CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICB9CgogICAgICAuZm9ybWF0LWJ1dHRvbi51bmRlcmxpbmUgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAuZm9ybWF0LWJ1dHRvbiAuY29kZS1pY29uIHsKICAgICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0luY29uc29sYXRhJywgJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB0aGlzLnZpc2libGU/KHRoaXMuc3R5bGUuekluZGV4PXRoaXMubWVudVpJbmRleC50b1N0cmluZygpLHdgCiAgICAgIDxkaXYgCiAgICAgICAgY2xhc3M9ImZvcm1hdHRpbmctbWVudSIgCiAgICAgICAgc3R5bGU9ImxlZnQ6ICR7dGhpcy5wb3NpdGlvbi54fXB4OyB0b3A6ICR7dGhpcy5wb3NpdGlvbi55fXB4OyIKICAgICAgICB0YWJpbmRleD0iLTEiCiAgICAgICAgZGF0YS1tZW51LXR5cGU9ImZvcm1hdHRpbmciCiAgICAgID4KICAgICAgICAke3ZjLmZvcm1hdEJ1dHRvbnMubWFwKGI9PndgCiAgICAgICAgICA8YnV0dG9uIAogICAgICAgICAgICBjbGFzcz0iZm9ybWF0LWJ1dHRvbiAke2IuY29tbWFuZH0iCiAgICAgICAgICAgIGRhdGEtY29tbWFuZD0iJHtiLmNvbW1hbmR9IgogICAgICAgICAgICB0aXRsZT0iJHtiLmxhYmVsfSR7Yi5zaG9ydGN1dD9gICgke2Iuc2hvcnRjdXR9KWA6IiJ9IgogICAgICAgICAgPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iJHtiLmNvbW1hbmQ9PT0iY29kZSI/ImNvZGUtaWNvbiI6IiJ9Ij4ke2IuaWNvbn08L3NwYW4+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICBgKX0KICAgICAgPC9kaXY+CiAgICBgKTp3YGB9YXBwbHlGb3JtYXQoYil7dGhpcy5jYWxsYmFjayYmdGhpcy5jYWxsYmFjayhiKSxiPT09ImxpbmsiJiZ0aGlzLmhpZGUoKX1zaG93KGIsZyl7Y29uc29sZS5sb2coIkZvcm1hdHRpbmdNZW51LnNob3cgY2FsbGVkOiIse3Bvc2l0aW9uOmIsdmlzaWJsZTp0aGlzLnZpc2libGV9KSx0aGlzLnBvc2l0aW9uPWIsdGhpcy5jYWxsYmFjaz1nLHRoaXMubWVudVpJbmRleD1adC5nZXROZXh0WkluZGV4KCksWnQucmVnaXN0ZXIodGhpcyx0aGlzLm1lbnVaSW5kZXgpLHRoaXMuc3R5bGUuekluZGV4PXRoaXMubWVudVpJbmRleC50b1N0cmluZygpLHRoaXMudmlzaWJsZT0hMH1oaWRlKCl7dGhpcy52aXNpYmxlPSExLHRoaXMuY2FsbGJhY2s9bnVsbCxadC51bnJlZ2lzdGVyKHRoaXMpfXVwZGF0ZVBvc2l0aW9uKGIpe3RoaXMucG9zaXRpb249Yn1maXJzdFVwZGF0ZWQoKXt0aGlzLnNoYWRvd1Jvb3QuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixiPT57bGV0IGc9Yix5PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmZvcm1hdHRpbmctbWVudSIpO3kmJnkuY29udGFpbnMoZy50YXJnZXQpJiYoZy5wcmV2ZW50RGVmYXVsdCgpLGcuc3RvcFByb3BhZ2F0aW9uKCkpfSksdGhpcy5zaGFkb3dSb290LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixiPT57bGV0IGc9YixrPWcudGFyZ2V0LmNsb3Nlc3QoIi5mb3JtYXQtYnV0dG9uIik7aWYoayl7Zy5wcmV2ZW50RGVmYXVsdCgpLGcuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IEM9ay5nZXRBdHRyaWJ1dGUoImRhdGEtY29tbWFuZCIpO0MmJnRoaXMuYXBwbHlGb3JtYXQoQyl9fSksdGhpcy5zaGFkb3dSb290LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixiPT57bGV0IGc9Yix5PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmZvcm1hdHRpbmctbWVudSIpO3kmJnkuY29udGFpbnMoZy50YXJnZXQpJiYoZy5wcmV2ZW50RGVmYXVsdCgpLGcuc3RvcFByb3BhZ2F0aW9uKCkpfSwhMCl9c3RhdGlje0JmKHIsdCl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciBnbT1mKCgpPT57bGUoKTtEbygpO2lLZSgpO25LZSgpfSk7dmFyIEJVLERhZT1mKCgpPT57QlU9WyJKYXZhU2NyaXB0IiwiVHlwZVNjcmlwdCIsIlB5dGhvbiIsIkphdmEiLCJDKysiLCJDIyIsIkdvIiwiUnVzdCIsIkhUTUwiLCJDU1MiLCJTUUwiLCJTaGVsbCIsIkpTT04iLCJZQU1MIiwiTWFya2Rvd24iLCJQbGFpbiBUZXh0Il19KTt2YXIgbEtlLHlpYT1mKCgpPT57bGUoKTtsS2U9WGAKICA6aG9zdCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB9CgogIC53eXNpd3lnLWNvbnRhaW5lciB7CiAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICBtaW4taGVpZ2h0OiAyMDBweDsKICAgIHBhZGRpbmc6IDI0cHg7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICB9CgogIC53eXNpd3lnLWNvbnRhaW5lcjpob3ZlciB7CiAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZDFkNWRiIiwiIzNmM2Y0NiIpfTsKICB9CgogIC53eXNpd3lnLWNvbnRhaW5lcjpmb2N1cy13aXRoaW4gewogICAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgb3V0bGluZS1vZmZzZXQ6IDJweDsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX0sIDAgMCAwIDRweCAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuNSkiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC41KSIpfTsKICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogIH0KCiAgLyogVmlzdWFsIGhpbnQgZm9yIHRleHQgc2VsZWN0aW9uICovCiAgLmVkaXRvci1jb250ZW50OmhvdmVyIHsKICAgIGN1cnNvcjogdGV4dDsKICB9CgogIC5lZGl0b3ItY29udGVudCB7CiAgICBvdXRsaW5lOiBub25lOwogICAgbWluLWhlaWdodDogMTYwcHg7CiAgICBtYXJnaW46IDAgLThweDsKICAgIHBhZGRpbmc6IDAgOHB4OwogIH0KCiAgLmJsb2NrIHsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IDRweCAwOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICBtaW4taGVpZ2h0OiAxLjZlbTsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgfQoKICAvKiBGaXJzdCBhbmQgbGFzdCBibG9ja3MgZG9uJ3QgbmVlZCBleHRyYSBzcGFjaW5nICovCiAgLmJsb2NrLXdyYXBwZXI6Zmlyc3QtY2hpbGQgLmJsb2NrIHsKICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsKICB9CgogIC5ibG9jay13cmFwcGVyOmxhc3QtY2hpbGQgLmJsb2NrIHsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgfQoKICAuYmxvY2suc2VsZWN0ZWQgewogICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjA1KSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjA1KSIpfTsKICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgbWFyZ2luLWxlZnQ6IC04cHg7CiAgICBtYXJnaW4tcmlnaHQ6IC04cHg7CiAgICBwYWRkaW5nLWxlZnQ6IDhweDsKICAgIHBhZGRpbmctcmlnaHQ6IDhweDsKICB9CgogIC5ibG9ja1tjb250ZW50ZWRpdGFibGVdIHsKICAgIG91dGxpbmU6IG5vbmU7CiAgfQoKICAuYmxvY2sucGFyYWdyYXBoIHsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICBmb250LXdlaWdodDogNDAwOwogIH0KCiAgLmJsb2NrLnBhcmFncmFwaDplbXB0eTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJUeXBlICcvJyBmb3IgY29tbWFuZHMuLi4iOwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgZm9udC1zaXplOiAxNnB4OwogICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgfQoKICAuYmxvY2suaGVhZGluZy0xIHsKICAgIGZvbnQtc2l6ZTogMzJweDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4yOwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICB9CgogIC5ibG9jay5oZWFkaW5nLTE6ZW1wdHk6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiSGVhZGluZyAxIjsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIGZvbnQtc2l6ZTogMzJweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICBmb250LXdlaWdodDogNzAwOwogIH0KCiAgLmJsb2NrLmhlYWRpbmctMiB7CiAgICBmb250LXNpemU6IDI0cHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgfQoKICAuYmxvY2suaGVhZGluZy0yOmVtcHR5OjpiZWZvcmUgewogICAgY29udGVudDogIkhlYWRpbmcgMiI7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICBmb250LXNpemU6IDI0cHg7CiAgICBsaW5lLWhlaWdodDogMS4zOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICB9CgogIC5ibG9jay5oZWFkaW5nLTMgewogICAgZm9udC1zaXplOiAyMHB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogIH0KCiAgLmJsb2NrLmhlYWRpbmctMzplbXB0eTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJIZWFkaW5nIDMiOwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgZm9udC1zaXplOiAyMHB4OwogICAgbGluZS1oZWlnaHQ6IDEuNDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgfQoKICAuYmxvY2sucXVvdGUgewogICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7CiAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgbWFyZ2luLWxlZnQ6IDA7CiAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICBsaW5lLWhlaWdodDogMS42OwogIH0KCiAgLmJsb2NrLnF1b3RlOmVtcHR5OjpiZWZvcmUgewogICAgY29udGVudDogIlF1b3RlIjsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgZm9udC1zdHlsZTogaXRhbGljOwogIH0KCiAgLmNvZGUtYmxvY2stY29udGFpbmVyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG1hcmdpbjogMjBweCAwOwogIH0KCiAgLmNvZGUtbGFuZ3VhZ2UgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgcmlnaHQ6IDA7CiAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgcGFkZGluZzogNHB4IDEycHg7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBib3JkZXItcmFkaXVzOiAwIDRweCAwIDRweDsKICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjsKICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7CiAgICB6LWluZGV4OiAxOwogIH0KCiAgLmJsb2NrLmNvZGUgewogICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgcGFkZGluZzogMTZweDsKICAgIHBhZGRpbmctdG9wOiAzMnB4OyAvKiBNYWtlIHJvb20gZm9yIGxhbmd1YWdlIGluZGljYXRvciAqLwogICAgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgJ01vbmFjbycsICdJbmNvbnNvbGF0YScsICdGaXJhIENvZGUnLCBtb25vc3BhY2U7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBsaW5lLWhlaWdodDogMS41OwogICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgIG92ZXJmbG93LXg6IGF1dG87CiAgfQoKICAuYmxvY2suY29kZTplbXB0eTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICIvLyBDb2RlIGJsb2NrIjsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgfQoKICAuYmxvY2subGlzdCB7CiAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgfQoKICAuYmxvY2subGlzdCB1bCwKICAuYmxvY2subGlzdCBvbCB7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwIDAgMCAyNHB4OwogICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTsKICB9CgogIC5ibG9jay5saXN0IHVsIHsKICAgIGxpc3Qtc3R5bGU6IGRpc2M7CiAgfQoKICAuYmxvY2subGlzdCBvbCB7CiAgICBsaXN0LXN0eWxlOiBkZWNpbWFsOwogIH0KCiAgLmJsb2NrLmxpc3QgbGkgewogICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgbGluZS1oZWlnaHQ6IDEuNjsKICB9CgogIC5ibG9jay5saXN0IGxpOmxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CgogIC5ibG9jay5kaXZpZGVyIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHBhZGRpbmc6IDIwcHggMDsKICAgIGN1cnNvcjogZGVmYXVsdDsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogIH0KCiAgLmJsb2NrLmRpdmlkZXIgaHIgewogICAgYm9yZGVyOiBub25lOwogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgIG1hcmdpbjogMDsKICB9CgogIC5zbGFzaC1tZW51IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDYpOwogICAgcGFkZGluZzogNHB4OwogICAgei1pbmRleDogMTAwMDsKICAgIG1pbi13aWR0aDogMjIwcHg7CiAgICBtYXgtaGVpZ2h0OiAzMDBweDsKICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgIHVzZXItc2VsZWN0OiBub25lOwogIH0KCiAgLnNsYXNoLW1lbnUtaXRlbSB7CiAgICBwYWRkaW5nOiA4cHggMTBweDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDEycHg7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgZm9udC1zaXplOiAxNHB4OwogIH0KCiAgLnNsYXNoLW1lbnUtaXRlbTpob3ZlciwKICAuc2xhc2gtbWVudS1pdGVtLnNlbGVjdGVkIHsKICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgfQoKICAuc2xhc2gtbWVudS1pdGVtIC5pY29uIHsKICAgIHdpZHRoOiAyNHB4OwogICAgaGVpZ2h0OiAyNHB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICBmb250LXdlaWdodDogNjAwOwogIH0KCiAgLnNsYXNoLW1lbnUtaXRlbTpob3ZlciAuaWNvbiwKICAuc2xhc2gtbWVudS1pdGVtLnNlbGVjdGVkIC5pY29uIHsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgfQoKICAudG9vbGJhciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IC00MHB4OwogICAgbGVmdDogMDsKICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDYpOwogICAgcGFkZGluZzogNHB4OwogICAgZGlzcGxheTogbm9uZTsKICAgIGdhcDogNHB4OwogICAgei1pbmRleDogMTAwMDsKICB9CgogIC50b29sYmFyLnZpc2libGUgewogICAgZGlzcGxheTogZmxleDsKICB9CgogIC50b29sYmFyLWJ1dHRvbiB7CiAgICB3aWR0aDogMzJweDsKICAgIGhlaWdodDogMzJweDsKICAgIGJvcmRlcjogbm9uZTsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICB9CgogIC50b29sYmFyLWJ1dHRvbjpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogIH0KCiAgLyogRHJhZyBhbmQgRHJvcCBTdHlsZXMgKi8KICAuYmxvY2std3JhcHBlciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLCBvcGFjaXR5IDAuMnMgZWFzZTsKICB9CgogIC8qIEVuc3VyZSBwcm9wZXIgc3BhY2luZyBjb250ZXh0IGZvciBibG9ja3MgKi8KICAuYmxvY2std3JhcHBlciArIC5ibG9jay13cmFwcGVyIC5ibG9jayB7CiAgICBtYXJnaW4tdG9wOiAxNnB4OwogIH0KCiAgLyogT3ZlcnJpZGUgZm9yIGhlYWRpbmdzIGZvbGxvd2luZyBvdGhlciBibG9ja3MgKi8KICAuYmxvY2std3JhcHBlciArIC5ibG9jay13cmFwcGVyIC5ibG9jay5oZWFkaW5nLTEsCiAgLmJsb2NrLXdyYXBwZXIgKyAuYmxvY2std3JhcHBlciAuYmxvY2suaGVhZGluZy0yLAogIC5ibG9jay13cmFwcGVyICsgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLmhlYWRpbmctMyB7CiAgICBtYXJnaW4tdG9wOiAyNHB4OwogIH0KCiAgLyogQ29kZSBhbmQgcXVvdGUgYmxvY2tzIG5lZWQgY29uc2lzdGVudCBzcGFjaW5nICovCiAgLmJsb2NrLXdyYXBwZXIgKyAuYmxvY2std3JhcHBlciAuYmxvY2suY29kZSwKICAuYmxvY2std3JhcHBlciArIC5ibG9jay13cmFwcGVyIC5ibG9jay5xdW90ZSB7CiAgICBtYXJnaW4tdG9wOiAyMHB4OwogIH0KCiAgLmRyYWctaGFuZGxlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IC0yOHB4OwogICAgdG9wOiA1MCU7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICB3aWR0aDogMjRweDsKICAgIGhlaWdodDogMjRweDsKICAgIGN1cnNvcjogZ3JhYjsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogIH0KCiAgLmRyYWctaGFuZGxlOjpiZWZvcmUgewogICAgY29udGVudDogIuKLruKLriI7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBsZXR0ZXItc3BhY2luZzogLTJweDsKICB9CgogIC5ibG9jay13cmFwcGVyOmhvdmVyIC5kcmFnLWhhbmRsZSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgLmRyYWctaGFuZGxlOmhvdmVyIHsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgfQoKICAuZHJhZy1oYW5kbGU6YWN0aXZlIHsKICAgIGN1cnNvcjogZ3JhYmJpbmc7CiAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzZjNmNDYiKX07CiAgfQoKICAuYmxvY2std3JhcHBlci5kcmFnZ2luZyB7CiAgICBvcGFjaXR5OiAwLjg7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHotaW5kZXg6IDIwMDE7CiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7CiAgfQoKCiAgLyogQmxvY2tzIHRoYXQgc2hvdWxkIG1vdmUgb3V0IG9mIHRoZSB3YXkgKi8KICAuYmxvY2std3JhcHBlci5tb3ZlLWRvd24gewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHZhcigtLWRyYWctb2Zmc2V0LCAwcHgpKTsKICB9CgogIC5ibG9jay13cmFwcGVyLm1vdmUtdXAgewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTEgKiB2YXIoLS1kcmFnLW9mZnNldCwgMHB4KSkpOwogIH0KCiAgLyogRHJvcCBpbmRpY2F0b3IgKi8KICAuZHJvcC1pbmRpY2F0b3IgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMDsKICAgIHJpZ2h0OiAwOwogICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjA1KSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjA1KSIpfTsKICAgIGJvcmRlcjogMnB4IGRhc2hlZCAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBlYXNlLCBoZWlnaHQgMC4ycyBlYXNlOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICB6LWluZGV4OiAxOTk5OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICB9CgogIC8qIFJlbW92ZSBvbGQgZHJhZy1vdmVyIHN0eWxlcyAqLwogIC5ibG9jay13cmFwcGVyLmRyYWctb3Zlci1iZWZvcmUsCiAgLmJsb2NrLXdyYXBwZXIuZHJhZy1vdmVyLWFmdGVyIHsKICAgIC8qIE5vIGxvbmdlciBuZWVkZWQsIHVzaW5nIGRyb3AgaW5kaWNhdG9yIGluc3RlYWQgKi8KICB9CgogIC5lZGl0b3ItY29udGVudC5kcmFnZ2luZyAqIHsKICAgIHVzZXItc2VsZWN0OiBub25lOwogIH0KCiAgLyogQmxvY2sgU2V0dGluZ3MgQnV0dG9uIC0gUmVtb3ZlZCBpbiBmYXZvciBvZiBjb250ZXh0IG1lbnUgKi8KCiAgLyogVGV4dCBTZWxlY3Rpb24gU3R5bGVzICovCiAgLmJsb2NrIDo6c2VsZWN0aW9uIHsKICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgY29sb3I6IGluaGVyaXQ7CiAgfQoKICAvKiBGb3JtYXR0aW5nIE1lbnUgKi8KICAuZm9ybWF0dGluZy1tZW51IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDYpOwogICAgcGFkZGluZzogNHB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogMnB4OwogICAgei1pbmRleDogMTAwMTsKICAgIGFuaW1hdGlvbjogZmFkZUluU2NhbGUgMC4xNXMgZWFzZS1vdXQ7CiAgfQoKICBAa2V5ZnJhbWVzIGZhZGVJblNjYWxlIHsKICAgIGZyb20gewogICAgICBvcGFjaXR5OiAwOwogICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpIHRyYW5zbGF0ZVkoMnB4KTsKICAgIH0KICAgIHRvIHsKICAgICAgb3BhY2l0eTogMTsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApOwogICAgfQogIH0KCiAgLmZvcm1hdC1idXR0b24gewogICAgd2lkdGg6IDMycHg7CiAgICBoZWlnaHQ6IDMycHg7CiAgICBib3JkZXI6IG5vbmU7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICBmb250LXdlaWdodDogNjAwOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogIH0KCiAgLmZvcm1hdC1idXR0b246aG92ZXIgewogICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICB9CgogIC5mb3JtYXQtYnV0dG9uOmFjdGl2ZSB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpOwogIH0KCiAgLmZvcm1hdC1idXR0b24uYm9sZCB7CiAgICBmb250LXdlaWdodDogNzAwOwogIH0KCiAgLmZvcm1hdC1idXR0b24uaXRhbGljIHsKICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICB9CgogIC5mb3JtYXQtYnV0dG9uLnVuZGVybGluZSB7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICB9CgogIC5mb3JtYXQtYnV0dG9uIC5jb2RlLWljb24gewogICAgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgJ01vbmFjbycsICdJbmNvbnNvbGF0YScsICdGaXJhIENvZGUnLCBtb25vc3BhY2U7CiAgICBmb250LXNpemU6IDEycHg7CiAgfQoKICAvKiBBcHBsaWVkIGZvcm1hdCBzdHlsZXMgaW4gY29udGVudCAqLwogIC5ibG9jayBzdHJvbmcsCiAgLmJsb2NrIGIgewogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgfQoKICAuYmxvY2sgZW0sCiAgLmJsb2NrIGkgewogICAgZm9udC1zdHlsZTogaXRhbGljOwogIH0KCiAgLmJsb2NrIHUgewogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgfQoKICAuYmxvY2sgc3RyaWtlLAogIC5ibG9jayBzIHsKICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOwogICAgb3BhY2l0eTogMC43OwogIH0KCiAgLmJsb2NrIGNvZGUgewogICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgcGFkZGluZzogMnB4IDZweDsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAwLjllbTsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgfQoKICAuYmxvY2sgYSB7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2U7CiAgfQoKICAuYmxvY2sgYTpob3ZlciB7CiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgfQpgfSk7dmFyIEFuLGNLZT1mKCgpPT57RG8oKTtBbj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJXeXNpd3lnQ29udmVydGVycyIpfXN0YXRpYyBlc2NhcGVIdG1sKGUpe2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiB0LnRleHRDb250ZW50PWUsdC5pbm5lckhUTUx9c3RhdGljIGZvcm1hdEZpbGVTaXplKGUpe2lmKGU9PT0wKXJldHVybiIwIEJ5dGVzIjtsZXQgdD0xMDI0LHI9WyJCeXRlcyIsIktCIiwiTUIiLCJHQiJdLGk9TWF0aC5mbG9vcihNYXRoLmxvZyhlKS9NYXRoLmxvZyh0KSk7cmV0dXJuIHBhcnNlRmxvYXQoKGUvTWF0aC5wb3codCxpKSkudG9GaXhlZCgyKSkrIiAiK3JbaV19c3RhdGljIGdldEh0bWxPdXRwdXQoZSl7cmV0dXJuIGUubWFwKHQ9PntsZXQgcj10LmNvbnRlbnQuaW5jbHVkZXMoIjwiKSYmdC5jb250ZW50LmluY2x1ZGVzKCI+Iik/dC5jb250ZW50OnRoaXMuZXNjYXBlSHRtbCh0LmNvbnRlbnQpO3N3aXRjaCh0LnR5cGUpe2Nhc2UicGFyYWdyYXBoIjpyZXR1cm4gdC5jb250ZW50P2A8cD4ke3J9PC9wPmA6IiI7Y2FzZSJoZWFkaW5nLTEiOnJldHVybmA8aDE+JHtyfTwvaDE+YDtjYXNlImhlYWRpbmctMiI6cmV0dXJuYDxoMj4ke3J9PC9oMj5gO2Nhc2UiaGVhZGluZy0zIjpyZXR1cm5gPGgzPiR7cn08L2gzPmA7Y2FzZSJxdW90ZSI6cmV0dXJuYDxibG9ja3F1b3RlPiR7cn08L2Jsb2NrcXVvdGU+YDtjYXNlImNvZGUiOnJldHVybmA8cHJlPjxjb2RlPiR7dGhpcy5lc2NhcGVIdG1sKHQuY29udGVudCl9PC9jb2RlPjwvcHJlPmA7Y2FzZSJsaXN0IjpsZXQgaT10LmNvbnRlbnQuc3BsaXQoYApgKS5maWx0ZXIoZD0+ZC50cmltKCkpO2lmKGkubGVuZ3RoPjApe2xldCBkPXQubWV0YWRhdGE/Lmxpc3RUeXBlPT09Im9yZGVyZWQiPyJvbCI6InVsIjtyZXR1cm5gPCR7ZH0+JHtpLm1hcChjPT5gPGxpPiR7Y308L2xpPmApLmpvaW4oIiIpfTwvJHtkfT5gfXJldHVybiIiO2Nhc2UiZGl2aWRlciI6cmV0dXJuIjxocj4iO2Nhc2UiaW1hZ2UiOmxldCBvPXQubWV0YWRhdGE/LnVybDtpZihvKXtsZXQgZD10aGlzLmVzY2FwZUh0bWwodC5jb250ZW50fHwiSW1hZ2UiKTtyZXR1cm5gPGltZyBzcmM9IiR7b30iIGFsdD0iJHtkfSIgLz5gfXJldHVybiIiO2Nhc2UieW91dHViZSI6bGV0IG49dC5tZXRhZGF0YT8udmlkZW9JZDtyZXR1cm4gbj9gPGlmcmFtZSB3aWR0aD0iNTYwIiBoZWlnaHQ9IjMxNSIgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8ke259IiBmcmFtZWJvcmRlcj0iMCIgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT5gOiIiO2Nhc2UibWFya2Rvd24iOnJldHVybmA8ZGl2IGNsYXNzPSJtYXJrZG93bi1jb250ZW50Ij4ke3RoaXMuZXNjYXBlSHRtbCh0LmNvbnRlbnQpfTwvZGl2PmA7Y2FzZSJodG1sIjpyZXR1cm4gdC5jb250ZW50O2Nhc2UiYXR0YWNobWVudCI6bGV0IGw9dC5tZXRhZGF0YT8uZmlsZXN8fFtdO3JldHVybiBsLmxlbmd0aD4wP2A8ZGl2IGNsYXNzPSJhdHRhY2htZW50cyI+JHtsLm1hcChkPT5gPGRpdiBjbGFzcz0iYXR0YWNobWVudC1pdGVtIiBkYXRhLWZpbGUtaWQ9IiR7ZC5pZH0iPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iJHtkLmRhdGF9IiBkb3dubG9hZD0iJHtkLm5hbWV9Ij4ke3RoaXMuZXNjYXBlSHRtbChkLm5hbWUpfTwvYT4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWxlLXNpemUiPigke3RoaXMuZm9ybWF0RmlsZVNpemUoZC5zaXplKX0pPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PmApLmpvaW4oIiIpfTwvZGl2PmA6IiI7ZGVmYXVsdDpyZXR1cm5gPHA+JHtyfTwvcD5gfX0pLmZpbHRlcih0PT50IT09IiIpLmpvaW4oYApgKX1zdGF0aWMgZ2V0TWFya2Rvd25PdXRwdXQoZSl7cmV0dXJuIGUubWFwKHQ9Pntzd2l0Y2godC50eXBlKXtjYXNlInBhcmFncmFwaCI6cmV0dXJuIHQuY29udGVudDtjYXNlImhlYWRpbmctMSI6cmV0dXJuYCMgJHt0LmNvbnRlbnR9YDtjYXNlImhlYWRpbmctMiI6cmV0dXJuYCMjICR7dC5jb250ZW50fWA7Y2FzZSJoZWFkaW5nLTMiOnJldHVybmAjIyMgJHt0LmNvbnRlbnR9YDtjYXNlInF1b3RlIjpyZXR1cm5gPiAke3QuY29udGVudH1gO2Nhc2UiY29kZSI6cmV0dXJuYFxgXGBcYAoke3QuY29udGVudH0KXGBcYFxgYDtjYXNlImxpc3QiOmxldCByPXQuY29udGVudC5zcGxpdChgCmApLmZpbHRlcihjPT5jLnRyaW0oKSk7cmV0dXJuIHQubWV0YWRhdGE/Lmxpc3RUeXBlPT09Im9yZGVyZWQiP3IubWFwKChjLHApPT5gJHtwKzF9LiAke2N9YCkuam9pbihgCmApOnIubWFwKGM9PmAtICR7Y31gKS5qb2luKGAKYCk7Y2FzZSJkaXZpZGVyIjpyZXR1cm4iLS0tIjtjYXNlImltYWdlIjpsZXQgaT10Lm1ldGFkYXRhPy51cmwsbz10LmNvbnRlbnR8fCJJbWFnZSI7cmV0dXJuIGk/YCFbJHtvfV0oJHtpfSlgOiIiO2Nhc2UieW91dHViZSI6bGV0IG49dC5tZXRhZGF0YT8udmlkZW9JZCxsPXQubWV0YWRhdGE/LnVybHx8KG4/YGh0dHBzOi8veW91dHViZS5jb20vd2F0Y2g/dj0ke259YDoiIik7cmV0dXJuIGw/YFtZb3VUdWJlIFZpZGVvXSgke2x9KWA6IiI7Y2FzZSJtYXJrZG93biI6cmV0dXJuIHQuY29udGVudDtjYXNlImh0bWwiOnJldHVybmA8IS0tIEhUTUwgQmxvY2sKJHt0LmNvbnRlbnR9Ci0tPmA7Y2FzZSJhdHRhY2htZW50IjpsZXQgZD10Lm1ldGFkYXRhPy5maWxlc3x8W107cmV0dXJuIGQubGVuZ3RoPjA/ZC5tYXAoYz0+YC0gWyR7Yy5uYW1lfV0oJHtjLmRhdGF9KWApLmpvaW4oYApgKToiIjtkZWZhdWx0OnJldHVybiB0LmNvbnRlbnR9fSkuZmlsdGVyKHQ9PnQhPT0iIikuam9pbihgCgpgKX1zdGF0aWMgcGFyc2VIdG1sVG9CbG9ja3MoZSl7bGV0IHI9bmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyhlLCJ0ZXh0L2h0bWwiKSxpPVtdLG89cyhuPT57aWYobi5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiZuLnRleHRDb250ZW50Py50cmltKCkpaS5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToicGFyYWdyYXBoIixjb250ZW50Om4udGV4dENvbnRlbnQudHJpbSgpfSk7ZWxzZSBpZihuLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe2xldCBsPW4sZD1sLnRhZ05hbWUudG9Mb3dlckNhc2UoKTtzd2l0Y2goZCl7Y2FzZSJwIjppLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6bC5pbm5lckhUTUx8fCIifSk7YnJlYWs7Y2FzZSJoMSI6aS5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToiaGVhZGluZy0xIixjb250ZW50OmwuaW5uZXJIVE1MfHwiIn0pO2JyZWFrO2Nhc2UiaDIiOmkucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImhlYWRpbmctMiIsY29udGVudDpsLmlubmVySFRNTHx8IiJ9KTticmVhaztjYXNlImgzIjppLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJoZWFkaW5nLTMiLGNvbnRlbnQ6bC5pbm5lckhUTUx8fCIifSk7YnJlYWs7Y2FzZSJibG9ja3F1b3RlIjppLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJxdW90ZSIsY29udGVudDpsLmlubmVySFRNTHx8IiJ9KTticmVhaztjYXNlInByZSI6Y2FzZSJjb2RlIjppLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJjb2RlIixjb250ZW50OmwudGV4dENvbnRlbnR8fCIifSk7YnJlYWs7Y2FzZSJ1bCI6Y2FzZSJvbCI6bGV0IHA9QXJyYXkuZnJvbShsLnF1ZXJ5U2VsZWN0b3JBbGwoImxpIikpLm1hcChtPT5tLmlubmVySFRNTHx8IiIpLmpvaW4oYApgKTtpLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJsaXN0Iixjb250ZW50OnAsbWV0YWRhdGE6e2xpc3RUeXBlOmQ9PT0ib2wiPyJvcmRlcmVkIjoiYnVsbGV0In19KTticmVhaztjYXNlImhyIjppLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJkaXZpZGVyIixjb250ZW50OiIgIn0pO2JyZWFrO2Nhc2UiaW1nIjpsZXQgdT1sO2kucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImltYWdlIixjb250ZW50OnUuYWx0fHwiIixtZXRhZGF0YTp7dXJsOnUuc3JjfX0pO2JyZWFrO2RlZmF1bHQ6bC5jaGlsZE5vZGVzLmZvckVhY2gobT0+byhtKSl9fX0sInByb2Nlc3NOb2RlIik7cmV0dXJuIHIuYm9keS5jaGlsZE5vZGVzLmZvckVhY2gobj0+byhuKSksaX1zdGF0aWMgcGFyc2VNYXJrZG93blRvQmxvY2tzKGUpe2xldCB0PWUuc3BsaXQoYApgKSxyPVtdLGk9W107Zm9yKGxldCBvPTA7bzx0Lmxlbmd0aDtvKyspe2xldCBuPXRbb107aWYobi5zdGFydHNXaXRoKCIjICIpKXIucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImhlYWRpbmctMSIsY29udGVudDpuLnN1YnN0cmluZygyKX0pO2Vsc2UgaWYobi5zdGFydHNXaXRoKCIjIyAiKSlyLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJoZWFkaW5nLTIiLGNvbnRlbnQ6bi5zdWJzdHJpbmcoMyl9KTtlbHNlIGlmKG4uc3RhcnRzV2l0aCgiIyMjICIpKXIucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImhlYWRpbmctMyIsY29udGVudDpuLnN1YnN0cmluZyg0KX0pO2Vsc2UgaWYobi5zdGFydHNXaXRoKCI+ICIpKXIucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6InF1b3RlIixjb250ZW50Om4uc3Vic3RyaW5nKDIpfSk7ZWxzZSBpZihuLnN0YXJ0c1dpdGgoImBgYCIpKXtsZXQgbD1bXTtmb3IobysrO288dC5sZW5ndGgmJiF0W29dLnN0YXJ0c1dpdGgoImBgYCIpOylsLnB1c2godFtvXSksbysrO3IucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImNvZGUiLGNvbnRlbnQ6bC5qb2luKGAKYCl9KX1lbHNlIGlmKG4ubWF0Y2goL14oXCp8LSkgLykpaS5wdXNoKG4uc3Vic3RyaW5nKDIpKSwobz09PXQubGVuZ3RoLTF8fCF0W28rMV0ubWF0Y2goL14oXCp8LSkgLykpJiYoci5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToibGlzdCIsY29udGVudDppLmpvaW4oYApgKSxtZXRhZGF0YTp7bGlzdFR5cGU6ImJ1bGxldCJ9fSksaT1bXSk7ZWxzZSBpZihuLm1hdGNoKC9eXGQrXC4gLykpaS5wdXNoKG4ucmVwbGFjZSgvXlxkK1wuIC8sIiIpKSwobz09PXQubGVuZ3RoLTF8fCF0W28rMV0ubWF0Y2goL15cZCtcLiAvKSkmJihyLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJsaXN0Iixjb250ZW50Omkuam9pbihgCmApLG1ldGFkYXRhOntsaXN0VHlwZToib3JkZXJlZCJ9fSksaT1bXSk7ZWxzZSBpZihuPT09Ii0tLSJ8fG49PT0iKioqInx8bj09PSJfX18iKXIucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImRpdmlkZXIiLGNvbnRlbnQ6IiAifSk7ZWxzZSBpZihuLm1hdGNoKC9eIVxbKFteXF1dKilcXVwoKFteXCldKylcKSQvKSl7bGV0IGw9bi5tYXRjaCgvXiFcWyhbXlxdXSopXF1cKChbXlwpXSspXCkkLyk7bCYmci5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToiaW1hZ2UiLGNvbnRlbnQ6bFsxXXx8IiIsbWV0YWRhdGE6e3VybDpsWzJdfX0pfWVsc2Ugbi50cmltKCkmJnIucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6InBhcmFncmFwaCIsY29udGVudDpufSl9cmV0dXJuIHJ9fX0pO3ZhciBhaSx4Yz1mKCgpPT57bGUoKTtEbygpO2NLZSgpO2FpPWNsYXNze3N0YXRpY3tzKHRoaXMsIld5c2l3eWdCbG9ja3MiKX1zdGF0aWMgcmVuZGVyTGlzdENvbnRlbnQoZSx0KXtsZXQgcj1lLnNwbGl0KGAKYCkuZmlsdGVyKG89Pm8udHJpbSgpKTtpZihyLmxlbmd0aD09PTApcmV0dXJuIiI7bGV0IGk9dD8ubGlzdFR5cGU9PT0ib3JkZXJlZCI/Im9sIjoidWwiO3JldHVybmA8JHtpfT4ke3IubWFwKG89PmA8bGk+JHtvfTwvbGk+YCkuam9pbigiIil9PC8ke2l9PmB9c3RhdGljIHJlbmRlckJsb2NrKGUsdCxyKXtpZihlLnR5cGU9PT0iZGl2aWRlciIpcmV0dXJuIHdgCiAgICAgICAgPGRpdgogICAgICAgICAgY2xhc3M9ImJsb2NrIGRpdmlkZXIiCiAgICAgICAgICBkYXRhLWJsb2NrLWlkPSIke2UuaWR9IgogICAgICAgID4KICAgICAgICAgIDxocj4KICAgICAgICA8L2Rpdj4KICAgICAgYDtpZihlLnR5cGU9PT0ibGlzdCIpcmV0dXJuIHdgCiAgICAgICAgPGRpdgogICAgICAgICAgY2xhc3M9ImJsb2NrIGxpc3QgJHt0PyJzZWxlY3RlZCI6IiJ9IgogICAgICAgICAgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIKICAgICAgICAgIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIKICAgICAgICAgIEBpbnB1dD0iJHtyLm9uSW5wdXR9IgogICAgICAgICAgQGtleWRvd249IiR7ci5vbktleURvd259IgogICAgICAgICAgQGZvY3VzPSIke3Iub25Gb2N1c30iCiAgICAgICAgICBAYmx1cj0iJHtyLm9uQmx1cn0iCiAgICAgICAgICBAY29tcG9zaXRpb25zdGFydD0iJHtyLm9uQ29tcG9zaXRpb25TdGFydH0iCiAgICAgICAgICBAY29tcG9zaXRpb25lbmQ9IiR7ci5vbkNvbXBvc2l0aW9uRW5kfSIKICAgICAgICAgIEBtb3VzZXVwPSIke289Pntjb25zb2xlLmxvZygiQmxvY2sgbW91c2V1cCBldmVudCBmaXJlZCIpLHIub25Nb3VzZVVwJiZyLm9uTW91c2VVcChvKX19IgogICAgICAgICAgLmlubmVySFRNTD0iJHt0aGlzLnJlbmRlckxpc3RDb250ZW50KGUuY29udGVudCxlLm1ldGFkYXRhKX0iCiAgICAgICAgPjwvZGl2PgogICAgICBgO2lmKGUudHlwZT09PSJjb2RlIil7bGV0IG89ZS5tZXRhZGF0YT8ubGFuZ3VhZ2V8fCJwbGFpbiB0ZXh0IjtyZXR1cm4gd2AKICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWJsb2NrLWNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWxhbmd1YWdlIj4ke299PC9kaXY+CiAgICAgICAgICA8ZGl2CiAgICAgICAgICAgIGNsYXNzPSJibG9jayAke2UudHlwZX0gJHt0PyJzZWxlY3RlZCI6IiJ9IgogICAgICAgICAgICBjb250ZW50ZWRpdGFibGU9InRydWUiCiAgICAgICAgICAgIEBpbnB1dD0iJHtyLm9uSW5wdXR9IgogICAgICAgICAgICBAa2V5ZG93bj0iJHtyLm9uS2V5RG93bn0iCiAgICAgICAgICAgIEBmb2N1cz0iJHtyLm9uRm9jdXN9IgogICAgICAgICAgICBAYmx1cj0iJHtyLm9uQmx1cn0iCiAgICAgICAgICAgIEBjb21wb3NpdGlvbnN0YXJ0PSIke3Iub25Db21wb3NpdGlvblN0YXJ0fSIKICAgICAgICAgICAgQGNvbXBvc2l0aW9uZW5kPSIke3Iub25Db21wb3NpdGlvbkVuZH0iCiAgICAgICAgICAgIEBtb3VzZXVwPSIke249Pntjb25zb2xlLmxvZygiQmxvY2sgbW91c2V1cCBldmVudCBmaXJlZCIpLHIub25Nb3VzZVVwJiZyLm9uTW91c2VVcChuKX19IgogICAgICAgICAgICAudGV4dENvbnRlbnQ9IiR7ZS5jb250ZW50fHwiIn0iCiAgICAgICAgICA+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGB9cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0iYmxvY2sgJHtlLnR5cGV9ICR7dD8ic2VsZWN0ZWQiOiIifSIKICAgICAgICBjb250ZW50ZWRpdGFibGU9InRydWUiCiAgICAgICAgQGlucHV0PSIke3Iub25JbnB1dH0iCiAgICAgICAgQGtleWRvd249IiR7ci5vbktleURvd259IgogICAgICAgIEBmb2N1cz0iJHtyLm9uRm9jdXN9IgogICAgICAgIEBibHVyPSIke3Iub25CbHVyfSIKICAgICAgICBAY29tcG9zaXRpb25zdGFydD0iJHtyLm9uQ29tcG9zaXRpb25TdGFydH0iCiAgICAgICAgQGNvbXBvc2l0aW9uZW5kPSIke3Iub25Db21wb3NpdGlvbkVuZH0iCiAgICAgICAgQG1vdXNldXA9IiR7bz0+e2NvbnNvbGUubG9nKCJCbG9jayBtb3VzZXVwIGV2ZW50IGZpcmVkIiksci5vbk1vdXNlVXAmJnIub25Nb3VzZVVwKG8pfX0iCiAgICAgICAgLmlubmVySFRNTD0iJHtlLmNvbnRlbnR8fCIifSIKICAgICAgPjwvZGl2PgogICAgYH1zdGF0aWMgc2V0Q3Vyc29yVG9FbmQoZSl7bGV0IHQ9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCF0KXJldHVybjtsZXQgcj1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO2lmKGUuY2hpbGROb2Rlcy5sZW5ndGg9PT0wKXtsZXQgaT1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiXHUyMDBCIik7ZS5hcHBlbmRDaGlsZChpKSxyLnNldFN0YXJ0KGksMSksci5jb2xsYXBzZSghMCl9ZWxzZXtsZXQgaT10aGlzLmdldExhc3ROb2RlKGUpO2kubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT9yLnNldFN0YXJ0KGksaS50ZXh0Q29udGVudD8ubGVuZ3RofHwwKTpyLnNldFN0YXJ0QWZ0ZXIoaSksci5jb2xsYXBzZSghMCl9dC5yZW1vdmVBbGxSYW5nZXMoKSx0LmFkZFJhbmdlKHIpLGUudGV4dENvbnRlbnQ9PT0iXHUyMDBCIiYmKGUudGV4dENvbnRlbnQ9IiIpfXN0YXRpYyBzZXRDdXJzb3JUb1N0YXJ0KGUpe2xldCB0PXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighdClyZXR1cm47bGV0IHI9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtpZihlLmNoaWxkTm9kZXMubGVuZ3RoPT09MClyLnNldFN0YXJ0KGUsMCksci5jb2xsYXBzZSghMCk7ZWxzZXtsZXQgaT10aGlzLmdldEZpcnN0Tm9kZShlKTtpLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREU/ci5zZXRTdGFydChpLDApOnIuc2V0U3RhcnRCZWZvcmUoaSksci5jb2xsYXBzZSghMCl9dC5yZW1vdmVBbGxSYW5nZXMoKSx0LmFkZFJhbmdlKHIpfXN0YXRpYyBnZXRMYXN0Tm9kZShlKXtpZihlLmNoaWxkTm9kZXMubGVuZ3RoPT09MClyZXR1cm4gZTtsZXQgdD1lLmNoaWxkTm9kZXNbZS5jaGlsZE5vZGVzLmxlbmd0aC0xXTtyZXR1cm4gdC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFfHx0LmNoaWxkTm9kZXMubGVuZ3RoPT09MD90OnRoaXMuZ2V0TGFzdE5vZGUodCl9c3RhdGljIGdldEZpcnN0Tm9kZShlKXtpZihlLmNoaWxkTm9kZXMubGVuZ3RoPT09MClyZXR1cm4gZTtsZXQgdD1lLmNoaWxkTm9kZXNbMF07cmV0dXJuIHQubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERXx8dC5jaGlsZE5vZGVzLmxlbmd0aD09PTA/dDp0aGlzLmdldEZpcnN0Tm9kZSh0KX1zdGF0aWMgZm9jdXNMaXN0SXRlbShlKXtsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoImxpIik7aWYodCl7dC5mb2N1cygpO2xldCByPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCksaT13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7ci5zZWxlY3ROb2RlQ29udGVudHModCksci5jb2xsYXBzZSghMCksaS5yZW1vdmVBbGxSYW5nZXMoKSxpLmFkZFJhbmdlKHIpfX19fSk7dmFyIEhVLGRLZT1mKCgpPT57RG8oKTtnbSgpO0ZmKCk7eGMoKTtIVT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJXeXNpd3lnQmxvY2tPcGVyYXRpb25zIil9Y29tcG9uZW50O2NvbnN0cnVjdG9yKGUpe3RoaXMuY29tcG9uZW50PWV9Y3JlYXRlQmxvY2soZT0icGFyYWdyYXBoIix0PSIiLHIpe3JldHVybntpZDpKci5nZW5lcmF0ZUJsb2NrSWQoKSx0eXBlOmUsY29udGVudDp0LC4uLnImJnttZXRhZGF0YTpyfX19YXN5bmMgaW5zZXJ0QmxvY2tBZnRlcihlLHQscj0hMCl7bGV0IGk9dGhpcy5jb21wb25lbnQuYmxvY2tzLG89aS5maW5kSW5kZXgobj0+bi5pZD09PWUuaWQpO2lmKHRoaXMuY29tcG9uZW50LmJsb2Nrcz1bLi4uaS5zbGljZSgwLG8rMSksdCwuLi5pLnNsaWNlKG8rMSldLHRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYpe2xldCBuPXRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7ZS5pZH0iXWApO2lmKG4pe2xldCBsPXRoaXMuY29tcG9uZW50LmNyZWF0ZUJsb2NrRWxlbWVudCh0KTtuLmluc2VydEFkamFjZW50RWxlbWVudCgiYWZ0ZXJlbmQiLGwpfX10aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpLHImJnQudHlwZSE9PSJkaXZpZGVyIiYmKGF3YWl0IG5ldyBQcm9taXNlKG49PnNldFRpbWVvdXQobiwwKSksYXdhaXQgdGhpcy5mb2N1c0Jsb2NrKHQuaWQsInN0YXJ0IikpfXJlbW92ZUJsb2NrKGUpe2lmKHRoaXMuY29tcG9uZW50LnNhdmVUb0hpc3RvcnkoITEpLHRoaXMuY29tcG9uZW50LmJsb2Nrcz10aGlzLmNvbXBvbmVudC5ibG9ja3MuZmlsdGVyKHQ9PnQuaWQhPT1lKSx0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmKXtsZXQgdD10aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke2V9Il1gKTt0JiZ0LnJlbW92ZSgpfXRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCl9ZmluZEJsb2NrKGUpe3JldHVybiB0aGlzLmNvbXBvbmVudC5ibG9ja3MuZmluZCh0PT50LmlkPT09ZSl9Z2V0QmxvY2tJbmRleChlKXtyZXR1cm4gdGhpcy5jb21wb25lbnQuYmxvY2tzLmZpbmRJbmRleCh0PT50LmlkPT09ZSl9YXN5bmMgZm9jdXNCbG9jayhlLHQ9InN0YXJ0Iil7bGV0IHI9dGhpcy5jb21wb25lbnQuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtlfSJdYCk7aWYocil7bGV0IGk9ci5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpJiYoYXdhaXQgbmV3IFByb21pc2Uobz0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKG8pKSxpLmZvY3VzV2l0aEN1cnNvcih0KSl9fXVwZGF0ZUJsb2NrQ29udGVudChlLHQpe2xldCByPXRoaXMuZmluZEJsb2NrKGUpO3ImJihyLmNvbnRlbnQ9dCx0aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpKX10cmFuc2Zvcm1CbG9jayhlLHQscil7bGV0IGk9dGhpcy5maW5kQmxvY2soZSk7aSYmKHRoaXMuY29tcG9uZW50LnNhdmVUb0hpc3RvcnkoITEpLGkudHlwZT10LGkuY29udGVudD0iIixyJiYoaS5tZXRhZGF0YT1yKSx0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLmNvbXBvbmVudC51cGRhdGVCbG9ja0VsZW1lbnQoZSksdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKSl9bW92ZUJsb2NrKGUsdCl7bGV0IHI9Wy4uLnRoaXMuY29tcG9uZW50LmJsb2Nrc10saT10aGlzLmdldEJsb2NrSW5kZXgoZSk7aWYoaT09PS0xfHx0PDB8fHQ+PXIubGVuZ3RoKXJldHVybjtsZXRbb109ci5zcGxpY2UoaSwxKTtyLnNwbGljZSh0LDAsbyksdGhpcy5jb21wb25lbnQuYmxvY2tzPXIsdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKX1nZXRQcmV2aW91c0Jsb2NrKGUpe2xldCB0PXRoaXMuZ2V0QmxvY2tJbmRleChlKTtyZXR1cm4gdD4wP3RoaXMuY29tcG9uZW50LmJsb2Nrc1t0LTFdOm51bGx9Z2V0TmV4dEJsb2NrKGUpe2xldCB0PXRoaXMuZ2V0QmxvY2tJbmRleChlKTtyZXR1cm4gdDx0aGlzLmNvbXBvbmVudC5ibG9ja3MubGVuZ3RoLTE/dGhpcy5jb21wb25lbnQuYmxvY2tzW3QrMV06bnVsbH19fSk7dmFyIG1yLGVuPWYoKCk9Pnttcj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJCYXNlQmxvY2tIYW5kbGVyIil9c2V0dXAoZSx0LHIpe31nZXRTdHlsZXMoKXtyZXR1cm4iIn19fSk7dmFyIGphLHdpYT1mKCgpPT57amE9Y2xhc3N7c3RhdGlje3ModGhpcywiQmxvY2tSZWdpc3RyeSIpfXN0YXRpYyBoYW5kbGVycz1uZXcgTWFwO3N0YXRpYyByZWdpc3RlcihlLHQpe3RoaXMuaGFuZGxlcnMuc2V0KGUsdCl9c3RhdGljIGdldEhhbmRsZXIoZSl7cmV0dXJuIHRoaXMuaGFuZGxlcnMuZ2V0KGUpfXN0YXRpYyBnZXRBbGxUeXBlcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuaGFuZGxlcnMua2V5cygpKX19fSk7dmFyIE1pYT1mKCgpPT57fSk7dmFyIHFVLGtpYT1mKCgpPT57ZW4oKTtsZSgpO3hjKCk7RzIoKTtxVT1jbGFzcyBleHRlbmRzIG1ye3N0YXRpY3tzKHRoaXMsIlBhcmFncmFwaEJsb2NrSGFuZGxlciIpfXR5cGU9InBhcmFncmFwaCI7bGFzdEtub3duQ3Vyc29yUG9zaXRpb249MDtsYXN0U2VsZWN0ZWRUZXh0PSIiO3NlbGVjdGlvbkhhbmRsZXI9bnVsbDtyZW5kZXIoZSx0KXtsZXQgcj10PyIgc2VsZWN0ZWQiOiIiLGk9dGhpcy5nZXRQbGFjZWhvbGRlcigpO3JldHVybmAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJibG9jayBwYXJhZ3JhcGgke3J9IgogICAgICAgIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIKICAgICAgICBkYXRhLXBsYWNlaG9sZGVyPSIke2l9IgogICAgICAgIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iCiAgICAgICAgZGF0YS1ibG9jay10eXBlPSIke2UudHlwZX0iCiAgICAgID48L2Rpdj4KICAgIGB9c2V0dXAoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnBhcmFncmFwaCIpO2lmKCFpKXtjb25zb2xlLmVycm9yKCJQYXJhZ3JhcGhCbG9ja0hhbmRsZXIuc2V0dXA6IE5vIHBhcmFncmFwaCBibG9jayBlbGVtZW50IGZvdW5kIik7cmV0dXJufXQuY29udGVudCYmIWkuaW5uZXJIVE1MJiYoaS5pbm5lckhUTUw9dC5jb250ZW50KSxpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixvPT57ci5vbklucHV0KG8pO2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixvPT57bGV0IG49dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtuIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249biksci5vbktleURvd24obyl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+e3Iub25Gb2N1cygpfSksaS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e3Iub25CbHVyKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uc3RhcnQiLCgpPT57ci5vbkNvbXBvc2l0aW9uU3RhcnQoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25lbmQiLCgpPT57ci5vbkNvbXBvc2l0aW9uRW5kKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLG89PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKSxyLm9uTW91c2VVcD8uKG8pfSksaS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbz0+e3NldFRpbWVvdXQoKCk9PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKX0sMCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIixvPT57bGV0IG49dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtuIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249bil9KSx0aGlzLnNldHVwU2VsZWN0aW9uSGFuZGxlcihlLGksdCl9c2V0dXBTZWxlY3Rpb25IYW5kbGVyKGUsdCxyKXtsZXQgaT1zKCgpPT57bGV0IG49d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFufHxuLnJhbmdlQ291bnQ9PT0wKXJldHVybjtsZXQgbD1uLnRvU3RyaW5nKCk7aWYobC5sZW5ndGg9PT0wKXt0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUse3RleHQ6IiIsYmxvY2tJZDpyLmlkLGhhc1NlbGVjdGlvbjohMX0pKTtyZXR1cm59bGV0IGQ9dC5nZXRSb290Tm9kZSgpLmhvc3QscD1kPy5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCx1PWQ/LnNoYWRvd1Jvb3QsbT1bXTtwJiZtLnB1c2gocCksdSYmbS5wdXNoKHUpO2xldCB2PXN0LmdldFNlbGVjdGlvbkluZm8oLi4ubSk7aWYoIXYpcmV0dXJuO2xldCB4PXN0LmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHQsdi5zdGFydENvbnRhaW5lciksYj1zdC5jb250YWluc0Fjcm9zc1NoYWRvd0RPTSh0LHYuZW5kQ29udGFpbmVyKTtpZih4fHxiKXtpZihsIT09dGhpcy5sYXN0U2VsZWN0ZWRUZXh0KXt0aGlzLmxhc3RTZWxlY3RlZFRleHQ9bDtsZXQgZz1zdC5jcmVhdGVSYW5nZUZyb21JbmZvKHYpLHk9Zy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQoZSx7dGV4dDpsLnRyaW0oKSxibG9ja0lkOnIuaWQscmFuZ2U6ZyxyZWN0OnksaGFzU2VsZWN0aW9uOiEwfSl9fWVsc2UgdGhpcy5sYXN0U2VsZWN0ZWRUZXh0JiYodGhpcy5sYXN0U2VsZWN0ZWRUZXh0PSIiLHRoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHt0ZXh0OiIiLGJsb2NrSWQ6ci5pZCxoYXNTZWxlY3Rpb246ITF9KSl9LCJjaGVja1NlbGVjdGlvbiIpO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsaSksdGhpcy5zZWxlY3Rpb25IYW5kbGVyPWk7bGV0IG89ZS5jbG9zZXN0KCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZihvKXtsZXQgbj1vLmRpc2Nvbm5lY3RlZENhbGxiYWNrLGw9dGhpcztvLmRpc2Nvbm5lY3RlZENhbGxiYWNrPWFzeW5jIGZ1bmN0aW9uKCl7bC5zZWxlY3Rpb25IYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixsLnNlbGVjdGlvbkhhbmRsZXIpLGwuc2VsZWN0aW9uSGFuZGxlcj1udWxsKSxuJiZhd2FpdCBuLmNhbGwobyl9fX1kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUsdCl7bGV0IHI9bmV3IEN1c3RvbUV2ZW50KCJibG9jay10ZXh0LXNlbGVjdGVkIix7ZGV0YWlsOnQsYnViYmxlczohMCxjb21wb3NlZDohMH0pO2UuZGlzcGF0Y2hFdmVudChyKX1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC8qIFBhcmFncmFwaCBzcGVjaWZpYyBzdHlsZXMgKi8KICAgICAgLmJsb2NrLnBhcmFncmFwaCB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgfQogICAgYH1nZXRQbGFjZWhvbGRlcigpe3JldHVybiJUeXBlICcvJyBmb3IgY29tbWFuZHMuLi4ifWdldExhc3RUZXh0Tm9kZShlKXtpZihlLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpcmV0dXJuIGU7Zm9yKGxldCB0PWUuY2hpbGROb2Rlcy5sZW5ndGgtMTt0Pj0wO3QtLSl7bGV0IHI9dGhpcy5nZXRMYXN0VGV4dE5vZGUoZS5jaGlsZE5vZGVzW3RdKTtpZihyKXJldHVybiByfXJldHVybiBudWxsfWdldEN1cnNvclBvc2l0aW9uKGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucGFyYWdyYXBoIik7aWYoIXIpcmV0dXJuIG51bGw7bGV0IG49dD8uY29tcG9uZW50Py5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxsPXQ/LnNoYWRvd1Jvb3QsZD1bXTtuJiZkLnB1c2gobiksbCYmZC5wdXNoKGwpO2xldCBjPXN0LmdldFNlbGVjdGlvbkluZm8oLi4uZCk7aWYoIWN8fCFzdC5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShyLGMuc3RhcnRDb250YWluZXIpKXJldHVybiBudWxsO2xldCBwPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIHAuc2VsZWN0Tm9kZUNvbnRlbnRzKHIpLHAuc2V0RW5kKGMuc3RhcnRDb250YWluZXIsYy5zdGFydE9mZnNldCkscC50b1N0cmluZygpLmxlbmd0aH1nZXRDb250ZW50KGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucGFyYWdyYXBoIik7cmV0dXJuIHImJnIuaW5uZXJIVE1MfHwiIn1zZXRDb250ZW50KGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5wYXJhZ3JhcGgiKTtpZighaSlyZXR1cm47bGV0IG89ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWl8fGUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PWk7aS5pbm5lckhUTUw9dCxvJiZpLmZvY3VzKCl9c2V0Q3Vyc29yVG9TdGFydChlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnBhcmFncmFwaCIpO3ImJmFpLnNldEN1cnNvclRvU3RhcnQocil9c2V0Q3Vyc29yVG9FbmQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5wYXJhZ3JhcGgiKTtyJiZhaS5zZXRDdXJzb3JUb0VuZChyKX1mb2N1cyhlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnBhcmFncmFwaCIpO3ImJihyLmhhc0F0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIil8fHIuc2V0QXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiLCJ0cnVlIiksci5mb2N1cygpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1yJiZlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQhPT1yJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57ci5mb2N1cygpfSkpfWZvY3VzV2l0aEN1cnNvcihlLHQ9ImVuZCIscil7bGV0IGk9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucGFyYWdyYXBoIik7aWYoIWkpcmV0dXJuO2lmKGkuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKXx8aS5zZXRBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIsInRydWUiKSx0PT09ImVuZCImJmkudGV4dENvbnRlbnQmJmkudGV4dENvbnRlbnQubGVuZ3RoPjApe2xldCBuPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihuKXtsZXQgbD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLGQ9dGhpcy5nZXRMYXN0VGV4dE5vZGUoaSl8fGk7ZC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFPyhsLnNldFN0YXJ0KGQsZC50ZXh0Q29udGVudD8ubGVuZ3RofHwwKSxsLnNldEVuZChkLGQudGV4dENvbnRlbnQ/Lmxlbmd0aHx8MCkpOihsLnNlbGVjdE5vZGVDb250ZW50cyhkKSxsLmNvbGxhcHNlKCExKSksbi5yZW1vdmVBbGxSYW5nZXMoKSxuLmFkZFJhbmdlKGwpfX1pLmZvY3VzKCk7bGV0IG89cygoKT0+e3Q9PT0ic3RhcnQiP3RoaXMuc2V0Q3Vyc29yVG9TdGFydChlLHIpOnQ9PT0iZW5kIiYmKCFpLnRleHRDb250ZW50fHxpLnRleHRDb250ZW50Lmxlbmd0aD09PTApP3RoaXMuc2V0Q3Vyc29yVG9FbmQoZSxyKTp0eXBlb2YgdD09Im51bWJlciImJnN0LnNldEN1cnNvclBvc2l0aW9uKGksdCl9LCJzZXRDdXJzb3IiKTtkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aXx8ZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09aT9vKCk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pP28oKTpzZXRUaW1lb3V0KCgpPT57KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pKSYmbygpfSwxMCl9KX1nZXRTcGxpdENvbnRlbnQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5wYXJhZ3JhcGgiKTtpZighcilyZXR1cm4gbnVsbDtsZXQgbj10Py5jb21wb25lbnQ/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LGw9dD8uc2hhZG93Um9vdCxkPVtdO24mJmQucHVzaChuKSxsJiZkLnB1c2gobCk7bGV0IGM9c3QuZ2V0U2VsZWN0aW9uSW5mbyguLi5kKTtpZighYyl7aWYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbiE9PW51bGwpe2xldCBrPXIudGV4dENvbnRlbnR8fCIiLEM9TWF0aC5taW4odGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbixrLmxlbmd0aCk7cmV0dXJue2JlZm9yZTprLnN1YnN0cmluZygwLEMpLGFmdGVyOmsuc3Vic3RyaW5nKEMpfX1yZXR1cm4gbnVsbH1pZighc3QuY29udGFpbnNBY3Jvc3NTaGFkb3dET00ocixjLnN0YXJ0Q29udGFpbmVyKSl7aWYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbiE9PW51bGwpe2xldCBrPXIudGV4dENvbnRlbnR8fCIiLEM9TWF0aC5taW4odGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbixrLmxlbmd0aCk7cmV0dXJue2JlZm9yZTprLnN1YnN0cmluZygwLEMpLGFmdGVyOmsuc3Vic3RyaW5nKEMpfX1yZXR1cm4gbnVsbH1sZXQgcD10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUsdCk7aWYocD09PW51bGx8fHA9PT0wKXJldHVybntiZWZvcmU6IiIsYWZ0ZXI6ci5pbm5lckhUTUx9O2xldCB1PWRvY3VtZW50LmNyZWF0ZVJhbmdlKCksbT1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3Uuc2V0U3RhcnQociwwKSx1LnNldEVuZChjLnN0YXJ0Q29udGFpbmVyLGMuc3RhcnRPZmZzZXQpLG0uc2V0U3RhcnQoYy5zdGFydENvbnRhaW5lcixjLnN0YXJ0T2Zmc2V0KSxtLnNldEVuZChyLHIuY2hpbGROb2Rlcy5sZW5ndGgpO2xldCB2PXUuY2xvbmVDb250ZW50cygpLHg9bS5jbG9uZUNvbnRlbnRzKCksYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtiLmFwcGVuZENoaWxkKHYpO2xldCBnPWIuaW5uZXJIVE1MO2IuaW5uZXJIVE1MPSIiLGIuYXBwZW5kQ2hpbGQoeCk7bGV0IHk9Yi5pbm5lckhUTUw7cmV0dXJue2JlZm9yZTpnLGFmdGVyOnl9fX19KTt2YXIgSGYsU2lhPWYoKCk9PntlbigpO2xlKCk7eGMoKTtHMigpO0hmPWNsYXNzIGV4dGVuZHMgbXJ7c3RhdGlje3ModGhpcywiSGVhZGluZ0Jsb2NrSGFuZGxlciIpfXR5cGU7bGV2ZWw7bGFzdEtub3duQ3Vyc29yUG9zaXRpb249MDtsYXN0U2VsZWN0ZWRUZXh0PSIiO3NlbGVjdGlvbkhhbmRsZXI9bnVsbDtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMudHlwZT1lLHRoaXMubGV2ZWw9cGFyc2VJbnQoZS5zcGxpdCgiLSIpWzFdKX1yZW5kZXIoZSx0KXtsZXQgcj10PyIgc2VsZWN0ZWQiOiIiLGk9dGhpcy5nZXRQbGFjZWhvbGRlcigpO3JldHVybmAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJibG9jayBoZWFkaW5nLSR7dGhpcy5sZXZlbH0ke3J9IgogICAgICAgIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIKICAgICAgICBkYXRhLXBsYWNlaG9sZGVyPSIke2l9IgogICAgICAgIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iCiAgICAgICAgZGF0YS1ibG9jay10eXBlPSIke2UudHlwZX0iCiAgICAgID48L2Rpdj4KICAgIGB9c2V0dXAoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcihgLmJsb2NrLmhlYWRpbmctJHt0aGlzLmxldmVsfWApO2lmKCFpKXtjb25zb2xlLmVycm9yKCJIZWFkaW5nQmxvY2tIYW5kbGVyLnNldHVwOiBObyBoZWFkaW5nIGJsb2NrIGVsZW1lbnQgZm91bmQiKTtyZXR1cm59dC5jb250ZW50JiYhaS5pbm5lckhUTUwmJihpLmlubmVySFRNTD10LmNvbnRlbnQpLGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLG89PntyLm9uSW5wdXQobyk7bGV0IG49dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtuIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249bil9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG89PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKSxyLm9uS2V5RG93bihvKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT57ci5vbkZvY3VzKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57ci5vbkJsdXIoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25zdGFydCIsKCk9PntyLm9uQ29tcG9zaXRpb25TdGFydCgpfSksaS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbmVuZCIsKCk9PntyLm9uQ29tcG9zaXRpb25FbmQoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsbz0+e2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pLHIub25Nb3VzZVVwPy4obyl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixvPT57c2V0VGltZW91dCgoKT0+e2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pfSwwKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLG89PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKX0pLHRoaXMuc2V0dXBTZWxlY3Rpb25IYW5kbGVyKGUsaSx0KX1zZXR1cFNlbGVjdGlvbkhhbmRsZXIoZSx0LHIpe2xldCBpPXMoKCk9PntsZXQgbj13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIW58fG4ucmFuZ2VDb3VudD09PTApcmV0dXJuO2xldCBsPW4udG9TdHJpbmcoKTtpZihsLmxlbmd0aD09PTApe3RoaXMubGFzdFNlbGVjdGVkVGV4dCYmKHRoaXMubGFzdFNlbGVjdGVkVGV4dD0iIix0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQoZSx7dGV4dDoiIixibG9ja0lkOnIuaWQsaGFzU2VsZWN0aW9uOiExfSkpO3JldHVybn1sZXQgZD10LmdldFJvb3ROb2RlKCkuaG9zdCxwPWQ/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LHU9ZD8uc2hhZG93Um9vdCxtPVtdO3AmJm0ucHVzaChwKSx1JiZtLnB1c2godSk7bGV0IHY9c3QuZ2V0U2VsZWN0aW9uSW5mbyguLi5tKTtpZighdilyZXR1cm47bGV0IHg9c3QuY29udGFpbnNBY3Jvc3NTaGFkb3dET00odCx2LnN0YXJ0Q29udGFpbmVyKSxiPXN0LmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHQsdi5lbmRDb250YWluZXIpO2lmKHh8fGIpe2lmKGwhPT10aGlzLmxhc3RTZWxlY3RlZFRleHQpe3RoaXMubGFzdFNlbGVjdGVkVGV4dD1sO2xldCBnPXN0LmNyZWF0ZVJhbmdlRnJvbUluZm8odikseT1nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHt0ZXh0OmwudHJpbSgpLGJsb2NrSWQ6ci5pZCxyYW5nZTpnLHJlY3Q6eSxoYXNTZWxlY3Rpb246ITB9KX19ZWxzZSB0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUse3RleHQ6IiIsYmxvY2tJZDpyLmlkLGhhc1NlbGVjdGlvbjohMX0pKX0sImNoZWNrU2VsZWN0aW9uIik7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixpKSx0aGlzLnNlbGVjdGlvbkhhbmRsZXI9aTtsZXQgbz10LmdldFJvb3ROb2RlKCkuaG9zdDtpZihvKXtsZXQgbj1vLmRpc2Nvbm5lY3RlZENhbGxiYWNrLGw9dGhpcztvLmRpc2Nvbm5lY3RlZENhbGxiYWNrPWFzeW5jIGZ1bmN0aW9uKCl7bC5zZWxlY3Rpb25IYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixsLnNlbGVjdGlvbkhhbmRsZXIpLGwuc2VsZWN0aW9uSGFuZGxlcj1udWxsKSxuJiZhd2FpdCBuLmNhbGwobyl9fX1kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUsdCl7bGV0IHI9bmV3IEN1c3RvbUV2ZW50KCJibG9jay10ZXh0LXNlbGVjdGVkIix7ZGV0YWlsOnQsYnViYmxlczohMCxjb21wb3NlZDohMH0pO2UuZGlzcGF0Y2hFdmVudChyKX1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC5ibG9jay5oZWFkaW5nLTEgewogICAgICAgIGZvbnQtc2l6ZTogMzJweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICAgICAgbWFyZ2luOiAyNHB4IDAgOHB4IDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDAwMDAwIiwiI2ZmZmZmZiIpfTsKICAgICAgfQoKICAgICAgLmJsb2NrLmhlYWRpbmctMiB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgICBtYXJnaW46IDIwcHggMCA2cHggMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZmZmZmZmIil9OwogICAgICB9CgogICAgICAuYmxvY2suaGVhZGluZy0zIHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBsaW5lLWhlaWdodDogMS40OwogICAgICAgIG1hcmdpbjogMTZweCAwIDRweCAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMDAwMCIsIiNmZmZmZmYiKX07CiAgICAgIH0KICAgIGB9Z2V0UGxhY2Vob2xkZXIoKXtzd2l0Y2godGhpcy5sZXZlbCl7Y2FzZSAxOnJldHVybiJIZWFkaW5nIDEiO2Nhc2UgMjpyZXR1cm4iSGVhZGluZyAyIjtjYXNlIDM6cmV0dXJuIkhlYWRpbmcgMyI7ZGVmYXVsdDpyZXR1cm4iSGVhZGluZyJ9fWdldExhc3RUZXh0Tm9kZShlKXtpZihlLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpcmV0dXJuIGU7Zm9yKGxldCB0PWUuY2hpbGROb2Rlcy5sZW5ndGgtMTt0Pj0wO3QtLSl7bGV0IHI9dGhpcy5nZXRMYXN0VGV4dE5vZGUoZS5jaGlsZE5vZGVzW3RdKTtpZihyKXJldHVybiByfXJldHVybiBudWxsfWdldEN1cnNvclBvc2l0aW9uKGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKGAuYmxvY2suaGVhZGluZy0ke3RoaXMubGV2ZWx9YCk7aWYoIXIpcmV0dXJuIG51bGw7bGV0IG49dD8uY29tcG9uZW50Py5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxsPXQ/LnNoYWRvd1Jvb3QsZD1bXTtuJiZkLnB1c2gobiksbCYmZC5wdXNoKGwpO2xldCBjPXN0LmdldFNlbGVjdGlvbkluZm8oLi4uZCk7aWYoIWN8fCFzdC5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShyLGMuc3RhcnRDb250YWluZXIpKXJldHVybiBudWxsO2xldCBwPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIHAuc2VsZWN0Tm9kZUNvbnRlbnRzKHIpLHAuc2V0RW5kKGMuc3RhcnRDb250YWluZXIsYy5zdGFydE9mZnNldCkscC50b1N0cmluZygpLmxlbmd0aH1nZXRDb250ZW50KGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKGAuYmxvY2suaGVhZGluZy0ke3RoaXMubGV2ZWx9YCk7cmV0dXJuIHImJnIuaW5uZXJIVE1MfHwiIn1zZXRDb250ZW50KGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoYC5ibG9jay5oZWFkaW5nLSR7dGhpcy5sZXZlbH1gKTtpZighaSlyZXR1cm47bGV0IG89ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWl8fGUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PWk7aS5pbm5lckhUTUw9dCxvJiZpLmZvY3VzKCl9c2V0Q3Vyc29yVG9TdGFydChlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcihgLmJsb2NrLmhlYWRpbmctJHt0aGlzLmxldmVsfWApO3ImJmFpLnNldEN1cnNvclRvU3RhcnQocil9c2V0Q3Vyc29yVG9FbmQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoYC5ibG9jay5oZWFkaW5nLSR7dGhpcy5sZXZlbH1gKTtyJiZhaS5zZXRDdXJzb3JUb0VuZChyKX1mb2N1cyhlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcihgLmJsb2NrLmhlYWRpbmctJHt0aGlzLmxldmVsfWApO3ImJihyLmhhc0F0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIil8fHIuc2V0QXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiLCJ0cnVlIiksci5mb2N1cygpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1yJiZlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQhPT1yJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57ci5mb2N1cygpfSkpfWZvY3VzV2l0aEN1cnNvcihlLHQ9ImVuZCIscil7bGV0IGk9ZS5xdWVyeVNlbGVjdG9yKGAuYmxvY2suaGVhZGluZy0ke3RoaXMubGV2ZWx9YCk7aWYoIWkpcmV0dXJuO2lmKGkuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKXx8aS5zZXRBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIsInRydWUiKSx0PT09ImVuZCImJmkudGV4dENvbnRlbnQmJmkudGV4dENvbnRlbnQubGVuZ3RoPjApe2xldCBuPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihuKXtsZXQgbD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLGQ9dGhpcy5nZXRMYXN0VGV4dE5vZGUoaSl8fGk7ZC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFPyhsLnNldFN0YXJ0KGQsZC50ZXh0Q29udGVudD8ubGVuZ3RofHwwKSxsLnNldEVuZChkLGQudGV4dENvbnRlbnQ/Lmxlbmd0aHx8MCkpOihsLnNlbGVjdE5vZGVDb250ZW50cyhkKSxsLmNvbGxhcHNlKCExKSksbi5yZW1vdmVBbGxSYW5nZXMoKSxuLmFkZFJhbmdlKGwpfX1pLmZvY3VzKCk7bGV0IG89cygoKT0+e3Q9PT0ic3RhcnQiP3RoaXMuc2V0Q3Vyc29yVG9TdGFydChlLHIpOnQ9PT0iZW5kIiYmKCFpLnRleHRDb250ZW50fHxpLnRleHRDb250ZW50Lmxlbmd0aD09PTApP3RoaXMuc2V0Q3Vyc29yVG9FbmQoZSxyKTp0eXBlb2YgdD09Im51bWJlciImJnN0LnNldEN1cnNvclBvc2l0aW9uKGksdCl9LCJzZXRDdXJzb3IiKTtkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aXx8ZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09aT9vKCk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pP28oKTpzZXRUaW1lb3V0KCgpPT57KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pKSYmbygpfSwxMCl9KX1nZXRTcGxpdENvbnRlbnQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoYC5ibG9jay5oZWFkaW5nLSR7dGhpcy5sZXZlbH1gKTtpZighcilyZXR1cm4gbnVsbDtsZXQgbj10Py5jb21wb25lbnQ/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LGw9dD8uc2hhZG93Um9vdCxkPVtdO24mJmQucHVzaChuKSxsJiZkLnB1c2gobCk7bGV0IGM9c3QuZ2V0U2VsZWN0aW9uSW5mbyguLi5kKTtpZighYyl7aWYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbiE9PW51bGwpe2xldCBrPXIudGV4dENvbnRlbnR8fCIiLEM9TWF0aC5taW4odGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbixrLmxlbmd0aCk7cmV0dXJue2JlZm9yZTprLnN1YnN0cmluZygwLEMpLGFmdGVyOmsuc3Vic3RyaW5nKEMpfX1yZXR1cm4gbnVsbH1pZighc3QuY29udGFpbnNBY3Jvc3NTaGFkb3dET00ocixjLnN0YXJ0Q29udGFpbmVyKSl7aWYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbiE9PW51bGwpe2xldCBrPXIudGV4dENvbnRlbnR8fCIiLEM9TWF0aC5taW4odGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbixrLmxlbmd0aCk7cmV0dXJue2JlZm9yZTprLnN1YnN0cmluZygwLEMpLGFmdGVyOmsuc3Vic3RyaW5nKEMpfX1yZXR1cm4gbnVsbH1sZXQgcD10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUsdCk7aWYocD09PW51bGx8fHA9PT0wKXJldHVybntiZWZvcmU6IiIsYWZ0ZXI6ci5pbm5lckhUTUx9O2xldCB1PWRvY3VtZW50LmNyZWF0ZVJhbmdlKCksbT1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3Uuc2V0U3RhcnQociwwKSx1LnNldEVuZChjLnN0YXJ0Q29udGFpbmVyLGMuc3RhcnRPZmZzZXQpLG0uc2V0U3RhcnQoYy5zdGFydENvbnRhaW5lcixjLnN0YXJ0T2Zmc2V0KSxtLnNldEVuZChyLHIuY2hpbGROb2Rlcy5sZW5ndGgpO2xldCB2PXUuY2xvbmVDb250ZW50cygpLHg9bS5jbG9uZUNvbnRlbnRzKCksYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtiLmFwcGVuZENoaWxkKHYpO2xldCBnPWIuaW5uZXJIVE1MO2IuaW5uZXJIVE1MPSIiLGIuYXBwZW5kQ2hpbGQoeCk7bGV0IHk9Yi5pbm5lckhUTUw7cmV0dXJue2JlZm9yZTpnLGFmdGVyOnl9fX19KTt2YXIgVlUsemlhPWYoKCk9PntlbigpO2xlKCk7eGMoKTtHMigpO1ZVPWNsYXNzIGV4dGVuZHMgbXJ7c3RhdGlje3ModGhpcywiUXVvdGVCbG9ja0hhbmRsZXIiKX10eXBlPSJxdW90ZSI7bGFzdEtub3duQ3Vyc29yUG9zaXRpb249MDtsYXN0U2VsZWN0ZWRUZXh0PSIiO3NlbGVjdGlvbkhhbmRsZXI9bnVsbDtyZW5kZXIoZSx0KXtsZXQgcj10PyIgc2VsZWN0ZWQiOiIiLGk9dGhpcy5nZXRQbGFjZWhvbGRlcigpO3JldHVybmAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJibG9jayBxdW90ZSR7cn0iCiAgICAgICAgY29udGVudGVkaXRhYmxlPSJ0cnVlIgogICAgICAgIGRhdGEtcGxhY2Vob2xkZXI9IiR7aX0iCiAgICAgICAgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIKICAgICAgICBkYXRhLWJsb2NrLXR5cGU9IiR7ZS50eXBlfSIKICAgICAgPjwvZGl2PgogICAgYH1zZXR1cChlLHQscil7bGV0IGk9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucXVvdGUiKTtpZighaSl7Y29uc29sZS5lcnJvcigiUXVvdGVCbG9ja0hhbmRsZXIuc2V0dXA6IE5vIHF1b3RlIGJsb2NrIGVsZW1lbnQgZm91bmQiKTtyZXR1cm59dC5jb250ZW50JiYhaS5pbm5lckhUTUwmJihpLmlubmVySFRNTD10LmNvbnRlbnQpLGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLG89PntyLm9uSW5wdXQobyk7bGV0IG49dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtuIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249bil9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG89PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKSxyLm9uS2V5RG93bihvKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT57ci5vbkZvY3VzKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57ci5vbkJsdXIoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25zdGFydCIsKCk9PntyLm9uQ29tcG9zaXRpb25TdGFydCgpfSksaS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbmVuZCIsKCk9PntyLm9uQ29tcG9zaXRpb25FbmQoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsbz0+e2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pLHIub25Nb3VzZVVwPy4obyl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixvPT57c2V0VGltZW91dCgoKT0+e2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pfSwwKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLG89PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKX0pLHRoaXMuc2V0dXBTZWxlY3Rpb25IYW5kbGVyKGUsaSx0KX1zZXR1cFNlbGVjdGlvbkhhbmRsZXIoZSx0LHIpe2xldCBpPXMoKCk9PntsZXQgbj13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIW58fG4ucmFuZ2VDb3VudD09PTApcmV0dXJuO2xldCBsPW4udG9TdHJpbmcoKTtpZihsLmxlbmd0aD09PTApe3RoaXMubGFzdFNlbGVjdGVkVGV4dCYmKHRoaXMubGFzdFNlbGVjdGVkVGV4dD0iIix0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQoZSx7dGV4dDoiIixibG9ja0lkOnIuaWQsaGFzU2VsZWN0aW9uOiExfSkpO3JldHVybn1sZXQgZD10LmdldFJvb3ROb2RlKCkuaG9zdCxwPWQ/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LHU9ZD8uc2hhZG93Um9vdCxtPVtdO3AmJm0ucHVzaChwKSx1JiZtLnB1c2godSk7bGV0IHY9c3QuZ2V0U2VsZWN0aW9uSW5mbyguLi5tKTtpZighdilyZXR1cm47bGV0IHg9c3QuY29udGFpbnNBY3Jvc3NTaGFkb3dET00odCx2LnN0YXJ0Q29udGFpbmVyKSxiPXN0LmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHQsdi5lbmRDb250YWluZXIpO2lmKHh8fGIpe2lmKGwhPT10aGlzLmxhc3RTZWxlY3RlZFRleHQpe3RoaXMubGFzdFNlbGVjdGVkVGV4dD1sO2xldCBnPXN0LmNyZWF0ZVJhbmdlRnJvbUluZm8odikseT1nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHt0ZXh0OmwudHJpbSgpLGJsb2NrSWQ6ci5pZCxyYW5nZTpnLHJlY3Q6eSxoYXNTZWxlY3Rpb246ITB9KX19ZWxzZSB0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUse3RleHQ6IiIsYmxvY2tJZDpyLmlkLGhhc1NlbGVjdGlvbjohMX0pKX0sImNoZWNrU2VsZWN0aW9uIik7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixpKSx0aGlzLnNlbGVjdGlvbkhhbmRsZXI9aTtsZXQgbz10LmdldFJvb3ROb2RlKCkuaG9zdDtpZihvKXtsZXQgbj1vLmRpc2Nvbm5lY3RlZENhbGxiYWNrLGw9dGhpcztvLmRpc2Nvbm5lY3RlZENhbGxiYWNrPWFzeW5jIGZ1bmN0aW9uKCl7bC5zZWxlY3Rpb25IYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixsLnNlbGVjdGlvbkhhbmRsZXIpLGwuc2VsZWN0aW9uSGFuZGxlcj1udWxsKSxuJiZhd2FpdCBuLmNhbGwobyl9fX1kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUsdCl7bGV0IHI9bmV3IEN1c3RvbUV2ZW50KCJibG9jay10ZXh0LXNlbGVjdGVkIix7ZGV0YWlsOnQsYnViYmxlczohMCxjb21wb3NlZDohMH0pO2UuZGlzcGF0Y2hFdmVudChyKX1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC8qIFF1b3RlIHNwZWNpZmljIHN0eWxlcyAqLwogICAgICAuYmxvY2sucXVvdGUgewogICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJHtoLmJkVGhlbWUoIiMwMDY2Y2MiLCIjNGQ5NGZmIil9OwogICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM1NTUiLCIjYjBiMGIwIil9OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgIG1hcmdpbjogMTZweCAwOwogICAgICB9CiAgICBgfWdldFBsYWNlaG9sZGVyKCl7cmV0dXJuIkFkZCBhIHF1b3RlLi4uIn1nZXRDdXJzb3JQb3NpdGlvbihlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnF1b3RlIik7aWYoIXIpcmV0dXJuIG51bGw7bGV0IG49dD8uY29tcG9uZW50Py5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxsPXQ/LnNoYWRvd1Jvb3QsZD1bXTtuJiZkLnB1c2gobiksbCYmZC5wdXNoKGwpO2xldCBjPXN0LmdldFNlbGVjdGlvbkluZm8oLi4uZCk7aWYoIWN8fCFzdC5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShyLGMuc3RhcnRDb250YWluZXIpKXJldHVybiBudWxsO2xldCBwPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIHAuc2VsZWN0Tm9kZUNvbnRlbnRzKHIpLHAuc2V0RW5kKGMuc3RhcnRDb250YWluZXIsYy5zdGFydE9mZnNldCkscC50b1N0cmluZygpLmxlbmd0aH1nZXRDb250ZW50KGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucXVvdGUiKTtyZXR1cm4gciYmci5pbm5lckhUTUx8fCIifXNldENvbnRlbnQoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnF1b3RlIik7aWYoIWkpcmV0dXJuO2xldCBvPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pO2kuaW5uZXJIVE1MPXQsbyYmaS5mb2N1cygpfXNldEN1cnNvclRvU3RhcnQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5xdW90ZSIpO3ImJmFpLnNldEN1cnNvclRvU3RhcnQocil9c2V0Q3Vyc29yVG9FbmQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5xdW90ZSIpO3ImJmFpLnNldEN1cnNvclRvRW5kKHIpfWZvY3VzKGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucXVvdGUiKTtyJiYoci5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpfHxyLnNldEF0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIiwidHJ1ZSIpLHIuZm9jdXMoKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09ciYmZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50IT09ciYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3IuZm9jdXMoKX0pKX1mb2N1c1dpdGhDdXJzb3IoZSx0PSJlbmQiLHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnF1b3RlIik7aWYoIWkpcmV0dXJuO2kuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKXx8aS5zZXRBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIsInRydWUiKSxpLmZvY3VzKCk7bGV0IG89cygoKT0+e3Q9PT0ic3RhcnQiP3RoaXMuc2V0Q3Vyc29yVG9TdGFydChlLHIpOnQ9PT0iZW5kIj90aGlzLnNldEN1cnNvclRvRW5kKGUscik6dHlwZW9mIHQ9PSJudW1iZXIiJiZzdC5zZXRDdXJzb3JQb3NpdGlvbihpLHQpfSwic2V0Q3Vyc29yIik7ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWl8fGUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PWk/bygpOlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnsoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWl8fGUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PWkpJiZvKCl9KX1nZXRTcGxpdENvbnRlbnQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5xdW90ZSIpO2lmKCFyKXJldHVybiBudWxsO2xldCBuPXQ/LmNvbXBvbmVudD8uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIik/LnNoYWRvd1Jvb3QsbD10Py5zaGFkb3dSb290LGQ9W107biYmZC5wdXNoKG4pLGwmJmQucHVzaChsKTtsZXQgYz1zdC5nZXRTZWxlY3Rpb25JbmZvKC4uLmQpO2lmKCFjKXtpZih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uIT09bnVsbCl7bGV0IGs9ci50ZXh0Q29udGVudHx8IiIsQz1NYXRoLm1pbih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uLGsubGVuZ3RoKTtyZXR1cm57YmVmb3JlOmsuc3Vic3RyaW5nKDAsQyksYWZ0ZXI6ay5zdWJzdHJpbmcoQyl9fXJldHVybiBudWxsfWlmKCFzdC5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShyLGMuc3RhcnRDb250YWluZXIpKXtpZih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uIT09bnVsbCl7bGV0IGs9ci50ZXh0Q29udGVudHx8IiIsQz1NYXRoLm1pbih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uLGsubGVuZ3RoKTtyZXR1cm57YmVmb3JlOmsuc3Vic3RyaW5nKDAsQyksYWZ0ZXI6ay5zdWJzdHJpbmcoQyl9fXJldHVybiBudWxsfWxldCBwPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSx0KTtpZihwPT09bnVsbHx8cD09PTApcmV0dXJue2JlZm9yZToiIixhZnRlcjpyLmlubmVySFRNTH07bGV0IHU9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxtPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7dS5zZXRTdGFydChyLDApLHUuc2V0RW5kKGMuc3RhcnRDb250YWluZXIsYy5zdGFydE9mZnNldCksbS5zZXRTdGFydChjLnN0YXJ0Q29udGFpbmVyLGMuc3RhcnRPZmZzZXQpLG0uc2V0RW5kKHIsci5jaGlsZE5vZGVzLmxlbmd0aCk7bGV0IHY9dS5jbG9uZUNvbnRlbnRzKCkseD1tLmNsb25lQ29udGVudHMoKSxiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2IuYXBwZW5kQ2hpbGQodik7bGV0IGc9Yi5pbm5lckhUTUw7Yi5pbm5lckhUTUw9IiIsYi5hcHBlbmRDaGlsZCh4KTtsZXQgeT1iLmlubmVySFRNTDtyZXR1cm57YmVmb3JlOmcsYWZ0ZXI6eX19fX0pO2Z1bmN0aW9uIERpKGEpe3RoaXMuY29udGVudD1hfXZhciB1S2UsQ2lhPWYoKCk9PntzKERpLCJPcmRlcmVkTWFwIiksRGkucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpEaSxmaW5kOnMoZnVuY3Rpb24oYSl7Zm9yKHZhciBlPTA7ZTx0aGlzLmNvbnRlbnQubGVuZ3RoO2UrPTIpaWYodGhpcy5jb250ZW50W2VdPT09YSlyZXR1cm4gZTtyZXR1cm4tMX0sImZpbmQiKSxnZXQ6cyhmdW5jdGlvbihhKXt2YXIgZT10aGlzLmZpbmQoYSk7cmV0dXJuIGU9PS0xP3ZvaWQgMDp0aGlzLmNvbnRlbnRbZSsxXX0sImdldCIpLHVwZGF0ZTpzKGZ1bmN0aW9uKGEsZSx0KXt2YXIgcj10JiZ0IT1hP3RoaXMucmVtb3ZlKHQpOnRoaXMsaT1yLmZpbmQoYSksbz1yLmNvbnRlbnQuc2xpY2UoKTtyZXR1cm4gaT09LTE/by5wdXNoKHR8fGEsZSk6KG9baSsxXT1lLHQmJihvW2ldPXQpKSxuZXcgRGkobyl9LCJ1cGRhdGUiKSxyZW1vdmU6cyhmdW5jdGlvbihhKXt2YXIgZT10aGlzLmZpbmQoYSk7aWYoZT09LTEpcmV0dXJuIHRoaXM7dmFyIHQ9dGhpcy5jb250ZW50LnNsaWNlKCk7cmV0dXJuIHQuc3BsaWNlKGUsMiksbmV3IERpKHQpfSwicmVtb3ZlIiksYWRkVG9TdGFydDpzKGZ1bmN0aW9uKGEsZSl7cmV0dXJuIG5ldyBEaShbYSxlXS5jb25jYXQodGhpcy5yZW1vdmUoYSkuY29udGVudCkpfSwiYWRkVG9TdGFydCIpLGFkZFRvRW5kOnMoZnVuY3Rpb24oYSxlKXt2YXIgdD10aGlzLnJlbW92ZShhKS5jb250ZW50LnNsaWNlKCk7cmV0dXJuIHQucHVzaChhLGUpLG5ldyBEaSh0KX0sImFkZFRvRW5kIiksYWRkQmVmb3JlOnMoZnVuY3Rpb24oYSxlLHQpe3ZhciByPXRoaXMucmVtb3ZlKGUpLGk9ci5jb250ZW50LnNsaWNlKCksbz1yLmZpbmQoYSk7cmV0dXJuIGkuc3BsaWNlKG89PS0xP2kubGVuZ3RoOm8sMCxlLHQpLG5ldyBEaShpKX0sImFkZEJlZm9yZSIpLGZvckVhY2g6cyhmdW5jdGlvbihhKXtmb3IodmFyIGU9MDtlPHRoaXMuY29udGVudC5sZW5ndGg7ZSs9MilhKHRoaXMuY29udGVudFtlXSx0aGlzLmNvbnRlbnRbZSsxXSl9LCJmb3JFYWNoIikscHJlcGVuZDpzKGZ1bmN0aW9uKGEpe3JldHVybiBhPURpLmZyb20oYSksYS5zaXplP25ldyBEaShhLmNvbnRlbnQuY29uY2F0KHRoaXMuc3VidHJhY3QoYSkuY29udGVudCkpOnRoaXN9LCJwcmVwZW5kIiksYXBwZW5kOnMoZnVuY3Rpb24oYSl7cmV0dXJuIGE9RGkuZnJvbShhKSxhLnNpemU/bmV3IERpKHRoaXMuc3VidHJhY3QoYSkuY29udGVudC5jb25jYXQoYS5jb250ZW50KSk6dGhpc30sImFwcGVuZCIpLHN1YnRyYWN0OnMoZnVuY3Rpb24oYSl7dmFyIGU9dGhpczthPURpLmZyb20oYSk7Zm9yKHZhciB0PTA7dDxhLmNvbnRlbnQubGVuZ3RoO3QrPTIpZT1lLnJlbW92ZShhLmNvbnRlbnRbdF0pO3JldHVybiBlfSwic3VidHJhY3QiKSx0b09iamVjdDpzKGZ1bmN0aW9uKCl7dmFyIGE9e307cmV0dXJuIHRoaXMuZm9yRWFjaChmdW5jdGlvbihlLHQpe2FbZV09dH0pLGF9LCJ0b09iamVjdCIpLGdldCBzaXplKCl7cmV0dXJuIHRoaXMuY29udGVudC5sZW5ndGg+PjF9fSxEaS5mcm9tPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBEaSlyZXR1cm4gYTt2YXIgZT1bXTtpZihhKWZvcih2YXIgdCBpbiBhKWUucHVzaCh0LGFbdF0pO3JldHVybiBuZXcgRGkoZSl9O3VLZT1EaX0pO2Z1bmN0aW9uIF9pYShhLGUsdCl7Zm9yKGxldCByPTA7O3IrKyl7aWYocj09YS5jaGlsZENvdW50fHxyPT1lLmNoaWxkQ291bnQpcmV0dXJuIGEuY2hpbGRDb3VudD09ZS5jaGlsZENvdW50P251bGw6dDtsZXQgaT1hLmNoaWxkKHIpLG89ZS5jaGlsZChyKTtpZihpPT1vKXt0Kz1pLm5vZGVTaXplO2NvbnRpbnVlfWlmKCFpLnNhbWVNYXJrdXAobykpcmV0dXJuIHQ7aWYoaS5pc1RleHQmJmkudGV4dCE9by50ZXh0KXtmb3IobGV0IG49MDtpLnRleHRbbl09PW8udGV4dFtuXTtuKyspdCsrO3JldHVybiB0fWlmKGkuY29udGVudC5zaXplfHxvLmNvbnRlbnQuc2l6ZSl7bGV0IG49X2lhKGkuY29udGVudCxvLmNvbnRlbnQsdCsxKTtpZihuIT1udWxsKXJldHVybiBufXQrPWkubm9kZVNpemV9fWZ1bmN0aW9uIFRpYShhLGUsdCxyKXtmb3IobGV0IGk9YS5jaGlsZENvdW50LG89ZS5jaGlsZENvdW50Ozspe2lmKGk9PTB8fG89PTApcmV0dXJuIGk9PW8/bnVsbDp7YTp0LGI6cn07bGV0IG49YS5jaGlsZCgtLWkpLGw9ZS5jaGlsZCgtLW8pLGQ9bi5ub2RlU2l6ZTtpZihuPT1sKXt0LT1kLHItPWQ7Y29udGludWV9aWYoIW4uc2FtZU1hcmt1cChsKSlyZXR1cm57YTp0LGI6cn07aWYobi5pc1RleHQmJm4udGV4dCE9bC50ZXh0KXtsZXQgYz0wLHA9TWF0aC5taW4obi50ZXh0Lmxlbmd0aCxsLnRleHQubGVuZ3RoKTtmb3IoO2M8cCYmbi50ZXh0W24udGV4dC5sZW5ndGgtYy0xXT09bC50ZXh0W2wudGV4dC5sZW5ndGgtYy0xXTspYysrLHQtLSxyLS07cmV0dXJue2E6dCxiOnJ9fWlmKG4uY29udGVudC5zaXplfHxsLmNvbnRlbnQuc2l6ZSl7bGV0IGM9VGlhKG4uY29udGVudCxsLmNvbnRlbnQsdC0xLHItMSk7aWYoYylyZXR1cm4gY310LT1kLHItPWR9fWZ1bmN0aW9uIEFhZShhLGUpe3JldHVybiBwS2UuaW5kZXg9YSxwS2Uub2Zmc2V0PWUscEtlfWZ1bmN0aW9uIEVhZShhLGUpe2lmKGE9PT1lKXJldHVybiEwO2lmKCEoYSYmdHlwZW9mIGE9PSJvYmplY3QiKXx8IShlJiZ0eXBlb2YgZT09Im9iamVjdCIpKXJldHVybiExO2xldCB0PUFycmF5LmlzQXJyYXkoYSk7aWYoQXJyYXkuaXNBcnJheShlKSE9dClyZXR1cm4hMTtpZih0KXtpZihhLmxlbmd0aCE9ZS5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCByPTA7cjxhLmxlbmd0aDtyKyspaWYoIUVhZShhW3JdLGVbcl0pKXJldHVybiExfWVsc2V7Zm9yKGxldCByIGluIGEpaWYoIShyIGluIGUpfHwhRWFlKGFbcl0sZVtyXSkpcmV0dXJuITE7Zm9yKGxldCByIGluIGUpaWYoIShyIGluIGEpKXJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIExpYShhLGUsdCl7bGV0e2luZGV4OnIsb2Zmc2V0Oml9PWEuZmluZEluZGV4KGUpLG89YS5tYXliZUNoaWxkKHIpLHtpbmRleDpuLG9mZnNldDpsfT1hLmZpbmRJbmRleCh0KTtpZihpPT1lfHxvLmlzVGV4dCl7aWYobCE9dCYmIWEuY2hpbGQobikuaXNUZXh0KXRocm93IG5ldyBSYW5nZUVycm9yKCJSZW1vdmluZyBub24tZmxhdCByYW5nZSIpO3JldHVybiBhLmN1dCgwLGUpLmFwcGVuZChhLmN1dCh0KSl9aWYociE9bil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiUmVtb3Zpbmcgbm9uLWZsYXQgcmFuZ2UiKTtyZXR1cm4gYS5yZXBsYWNlQ2hpbGQocixvLmNvcHkoTGlhKG8uY29udGVudCxlLWktMSx0LWktMSkpKX1mdW5jdGlvbiAkaWEoYSxlLHQscil7bGV0e2luZGV4Omksb2Zmc2V0Om99PWEuZmluZEluZGV4KGUpLG49YS5tYXliZUNoaWxkKGkpO2lmKG89PWV8fG4uaXNUZXh0KXJldHVybiByJiYhci5jYW5SZXBsYWNlKGksaSx0KT9udWxsOmEuY3V0KDAsZSkuYXBwZW5kKHQpLmFwcGVuZChhLmN1dChlKSk7bGV0IGw9JGlhKG4uY29udGVudCxlLW8tMSx0LG4pO3JldHVybiBsJiZhLnJlcGxhY2VDaGlsZChpLG4uY29weShsKSl9ZnVuY3Rpb24gdERhKGEsZSx0KXtpZih0Lm9wZW5TdGFydD5hLmRlcHRoKXRocm93IG5ldyBoNCgiSW5zZXJ0ZWQgY29udGVudCBkZWVwZXIgdGhhbiBpbnNlcnRpb24gcG9zaXRpb24iKTtpZihhLmRlcHRoLXQub3BlblN0YXJ0IT1lLmRlcHRoLXQub3BlbkVuZCl0aHJvdyBuZXcgaDQoIkluY29uc2lzdGVudCBvcGVuIGRlcHRocyIpO3JldHVybiBEaWEoYSxlLHQsMCl9ZnVuY3Rpb24gRGlhKGEsZSx0LHIpe2xldCBpPWEuaW5kZXgociksbz1hLm5vZGUocik7aWYoaT09ZS5pbmRleChyKSYmcjxhLmRlcHRoLXQub3BlblN0YXJ0KXtsZXQgbj1EaWEoYSxlLHQscisxKTtyZXR1cm4gby5jb3B5KG8uY29udGVudC5yZXBsYWNlQ2hpbGQoaSxuKSl9ZWxzZSBpZih0LmNvbnRlbnQuc2l6ZSlpZighdC5vcGVuU3RhcnQmJiF0Lm9wZW5FbmQmJmEuZGVwdGg9PXImJmUuZGVwdGg9PXIpe2xldCBuPWEucGFyZW50LGw9bi5jb250ZW50O3JldHVybiBWZihuLGwuY3V0KDAsYS5wYXJlbnRPZmZzZXQpLmFwcGVuZCh0LmNvbnRlbnQpLmFwcGVuZChsLmN1dChlLnBhcmVudE9mZnNldCkpKX1lbHNle2xldHtzdGFydDpuLGVuZDpsfT1hRGEodCxhKTtyZXR1cm4gVmYobyxFaWEoYSxuLGwsZSxyKSl9ZWxzZSByZXR1cm4gVmYobyxQYWUoYSxlLHIpKX1mdW5jdGlvbiBBaWEoYSxlKXtpZighZS50eXBlLmNvbXBhdGlibGVDb250ZW50KGEudHlwZSkpdGhyb3cgbmV3IGg0KCJDYW5ub3Qgam9pbiAiK2UudHlwZS5uYW1lKyIgb250byAiK2EudHlwZS5uYW1lKX1mdW5jdGlvbiBmS2UoYSxlLHQpe2xldCByPWEubm9kZSh0KTtyZXR1cm4gQWlhKHIsZS5ub2RlKHQpKSxyfWZ1bmN0aW9uIHFmKGEsZSl7bGV0IHQ9ZS5sZW5ndGgtMTt0Pj0wJiZhLmlzVGV4dCYmYS5zYW1lTWFya3VwKGVbdF0pP2VbdF09YS53aXRoVGV4dChlW3RdLnRleHQrYS50ZXh0KTplLnB1c2goYSl9ZnVuY3Rpb24galUoYSxlLHQscil7bGV0IGk9KGV8fGEpLm5vZGUodCksbz0wLG49ZT9lLmluZGV4KHQpOmkuY2hpbGRDb3VudDthJiYobz1hLmluZGV4KHQpLGEuZGVwdGg+dD9vKys6YS50ZXh0T2Zmc2V0JiYocWYoYS5ub2RlQWZ0ZXIsciksbysrKSk7Zm9yKGxldCBsPW87bDxuO2wrKylxZihpLmNoaWxkKGwpLHIpO2UmJmUuZGVwdGg9PXQmJmUudGV4dE9mZnNldCYmcWYoZS5ub2RlQmVmb3JlLHIpfWZ1bmN0aW9uIFZmKGEsZSl7cmV0dXJuIGEudHlwZS5jaGVja0NvbnRlbnQoZSksYS5jb3B5KGUpfWZ1bmN0aW9uIEVpYShhLGUsdCxyLGkpe2xldCBvPWEuZGVwdGg+aSYmZktlKGEsZSxpKzEpLG49ci5kZXB0aD5pJiZmS2UodCxyLGkrMSksbD1bXTtyZXR1cm4galUobnVsbCxhLGksbCksbyYmbiYmZS5pbmRleChpKT09dC5pbmRleChpKT8oQWlhKG8sbikscWYoVmYobyxFaWEoYSxlLHQscixpKzEpKSxsKSk6KG8mJnFmKFZmKG8sUGFlKGEsZSxpKzEpKSxsKSxqVShlLHQsaSxsKSxuJiZxZihWZihuLFBhZSh0LHIsaSsxKSksbCkpLGpVKHIsbnVsbCxpLGwpLG5ldyBWZShsKX1mdW5jdGlvbiBQYWUoYSxlLHQpe2xldCByPVtdO2lmKGpVKG51bGwsYSx0LHIpLGEuZGVwdGg+dCl7bGV0IGk9ZktlKGEsZSx0KzEpO3FmKFZmKGksUGFlKGEsZSx0KzEpKSxyKX1yZXR1cm4galUoZSxudWxsLHQsciksbmV3IFZlKHIpfWZ1bmN0aW9uIGFEYShhLGUpe2xldCB0PWUuZGVwdGgtYS5vcGVuU3RhcnQsaT1lLm5vZGUodCkuY29weShhLmNvbnRlbnQpO2ZvcihsZXQgbz10LTE7bz49MDtvLS0paT1lLm5vZGUobykuY29weShWZS5mcm9tKGkpKTtyZXR1cm57c3RhcnQ6aS5yZXNvbHZlTm9DYWNoZShhLm9wZW5TdGFydCt0KSxlbmQ6aS5yZXNvbHZlTm9DYWNoZShpLmNvbnRlbnQuc2l6ZS1hLm9wZW5FbmQtdCl9fWZ1bmN0aW9uIElpYShhLGUpe2ZvcihsZXQgdD1hLmxlbmd0aC0xO3Q+PTA7dC0tKWU9YVt0XS50eXBlLm5hbWUrIigiK2UrIikiO3JldHVybiBlfWZ1bmN0aW9uIE5pYShhKXtsZXQgZT1bXTtkbyBlLnB1c2goaURhKGEpKTt3aGlsZShhLmVhdCgifCIpKTtyZXR1cm4gZS5sZW5ndGg9PTE/ZVswXTp7dHlwZToiY2hvaWNlIixleHByczplfX1mdW5jdGlvbiBpRGEoYSl7bGV0IGU9W107ZG8gZS5wdXNoKG9EYShhKSk7d2hpbGUoYS5uZXh0JiZhLm5leHQhPSIpIiYmYS5uZXh0IT0ifCIpO3JldHVybiBlLmxlbmd0aD09MT9lWzBdOnt0eXBlOiJzZXEiLGV4cHJzOmV9fWZ1bmN0aW9uIG9EYShhKXtsZXQgZT1jRGEoYSk7Zm9yKDs7KWlmKGEuZWF0KCIrIikpZT17dHlwZToicGx1cyIsZXhwcjplfTtlbHNlIGlmKGEuZWF0KCIqIikpZT17dHlwZToic3RhciIsZXhwcjplfTtlbHNlIGlmKGEuZWF0KCI/IikpZT17dHlwZToib3B0IixleHByOmV9O2Vsc2UgaWYoYS5lYXQoInsiKSllPW5EYShhLGUpO2Vsc2UgYnJlYWs7cmV0dXJuIGV9ZnVuY3Rpb24gUmlhKGEpey9cRC8udGVzdChhLm5leHQpJiZhLmVycigiRXhwZWN0ZWQgbnVtYmVyLCBnb3QgJyIrYS5uZXh0KyInIik7bGV0IGU9TnVtYmVyKGEubmV4dCk7cmV0dXJuIGEucG9zKyssZX1mdW5jdGlvbiBuRGEoYSxlKXtsZXQgdD1SaWEoYSkscj10O3JldHVybiBhLmVhdCgiLCIpJiYoYS5uZXh0IT0ifSI/cj1SaWEoYSk6cj0tMSksYS5lYXQoIn0iKXx8YS5lcnIoIlVuY2xvc2VkIGJyYWNlZCByYW5nZSIpLHt0eXBlOiJyYW5nZSIsbWluOnQsbWF4OnIsZXhwcjplfX1mdW5jdGlvbiBsRGEoYSxlKXtsZXQgdD1hLm5vZGVUeXBlcyxyPXRbZV07aWYocilyZXR1cm5bcl07bGV0IGk9W107Zm9yKGxldCBvIGluIHQpe2xldCBuPXRbb107bi5pc0luR3JvdXAoZSkmJmkucHVzaChuKX1yZXR1cm4gaS5sZW5ndGg9PTAmJmEuZXJyKCJObyBub2RlIHR5cGUgb3IgZ3JvdXAgJyIrZSsiJyBmb3VuZCIpLGl9ZnVuY3Rpb24gY0RhKGEpe2lmKGEuZWF0KCIoIikpe2xldCBlPU5pYShhKTtyZXR1cm4gYS5lYXQoIikiKXx8YS5lcnIoIk1pc3NpbmcgY2xvc2luZyBwYXJlbiIpLGV9ZWxzZSBpZigvXFcvLnRlc3QoYS5uZXh0KSlhLmVycigiVW5leHBlY3RlZCB0b2tlbiAnIithLm5leHQrIiciKTtlbHNle2xldCBlPWxEYShhLGEubmV4dCkubWFwKHQ9PihhLmlubGluZT09bnVsbD9hLmlubGluZT10LmlzSW5saW5lOmEuaW5saW5lIT10LmlzSW5saW5lJiZhLmVycigiTWl4aW5nIGlubGluZSBhbmQgYmxvY2sgY29udGVudCIpLHt0eXBlOiJuYW1lIix2YWx1ZTp0fSkpO3JldHVybiBhLnBvcysrLGUubGVuZ3RoPT0xP2VbMF06e3R5cGU6ImNob2ljZSIsZXhwcnM6ZX19fWZ1bmN0aW9uIGREYShhKXtsZXQgZT1bW11dO3JldHVybiBpKG8oYSwwKSx0KCkpLGU7ZnVuY3Rpb24gdCgpe3JldHVybiBlLnB1c2goW10pLTF9cyh0LCJub2RlIik7ZnVuY3Rpb24gcihuLGwsZCl7bGV0IGM9e3Rlcm06ZCx0bzpsfTtyZXR1cm4gZVtuXS5wdXNoKGMpLGN9cyhyLCJlZGdlIik7ZnVuY3Rpb24gaShuLGwpe24uZm9yRWFjaChkPT5kLnRvPWwpfXMoaSwiY29ubmVjdCIpO2Z1bmN0aW9uIG8obixsKXtpZihuLnR5cGU9PSJjaG9pY2UiKXJldHVybiBuLmV4cHJzLnJlZHVjZSgoZCxjKT0+ZC5jb25jYXQobyhjLGwpKSxbXSk7aWYobi50eXBlPT0ic2VxIilmb3IobGV0IGQ9MDs7ZCsrKXtsZXQgYz1vKG4uZXhwcnNbZF0sbCk7aWYoZD09bi5leHBycy5sZW5ndGgtMSlyZXR1cm4gYztpKGMsbD10KCkpfWVsc2UgaWYobi50eXBlPT0ic3RhciIpe2xldCBkPXQoKTtyZXR1cm4gcihsLGQpLGkobyhuLmV4cHIsZCksZCksW3IoZCldfWVsc2UgaWYobi50eXBlPT0icGx1cyIpe2xldCBkPXQoKTtyZXR1cm4gaShvKG4uZXhwcixsKSxkKSxpKG8obi5leHByLGQpLGQpLFtyKGQpXX1lbHNle2lmKG4udHlwZT09Im9wdCIpcmV0dXJuW3IobCldLmNvbmNhdChvKG4uZXhwcixsKSk7aWYobi50eXBlPT0icmFuZ2UiKXtsZXQgZD1sO2ZvcihsZXQgYz0wO2M8bi5taW47YysrKXtsZXQgcD10KCk7aShvKG4uZXhwcixkKSxwKSxkPXB9aWYobi5tYXg9PS0xKWkobyhuLmV4cHIsZCksZCk7ZWxzZSBmb3IobGV0IGM9bi5taW47YzxuLm1heDtjKyspe2xldCBwPXQoKTtyKGQscCksaShvKG4uZXhwcixkKSxwKSxkPXB9cmV0dXJuW3IoZCldfWVsc2V7aWYobi50eXBlPT0ibmFtZSIpcmV0dXJuW3IobCx2b2lkIDAsbi52YWx1ZSldO3Rocm93IG5ldyBFcnJvcigiVW5rbm93biBleHByIHR5cGUiKX19fXMobywiY29tcGlsZSIpfWZ1bmN0aW9uIE9pYShhLGUpe3JldHVybiBlLWF9ZnVuY3Rpb24gRmlhKGEsZSl7bGV0IHQ9W107cmV0dXJuIHIoZSksdC5zb3J0KE9pYSk7ZnVuY3Rpb24gcihpKXtsZXQgbz1hW2ldO2lmKG8ubGVuZ3RoPT0xJiYhb1swXS50ZXJtKXJldHVybiByKG9bMF0udG8pO3QucHVzaChpKTtmb3IobGV0IG49MDtuPG8ubGVuZ3RoO24rKyl7bGV0e3Rlcm06bCx0bzpkfT1vW25dOyFsJiZ0LmluZGV4T2YoZCk9PS0xJiZyKGQpfX1zKHIsInNjYW4iKX1mdW5jdGlvbiB1RGEoYSl7bGV0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gdChGaWEoYSwwKSk7ZnVuY3Rpb24gdChyKXtsZXQgaT1bXTtyLmZvckVhY2gobj0+e2Fbbl0uZm9yRWFjaCgoe3Rlcm06bCx0bzpkfSk9PntpZighbClyZXR1cm47bGV0IGM7Zm9yKGxldCBwPTA7cDxpLmxlbmd0aDtwKyspaVtwXVswXT09bCYmKGM9aVtwXVsxXSk7RmlhKGEsZCkuZm9yRWFjaChwPT57Y3x8aS5wdXNoKFtsLGM9W11dKSxjLmluZGV4T2YocCk9PS0xJiZjLnB1c2gocCl9KX0pfSk7bGV0IG89ZVtyLmpvaW4oIiwiKV09bmV3IGY0KHIuaW5kZXhPZihhLmxlbmd0aC0xKT4tMSk7Zm9yKGxldCBuPTA7bjxpLmxlbmd0aDtuKyspe2xldCBsPWlbbl1bMV0uc29ydChPaWEpO28ubmV4dC5wdXNoKHt0eXBlOmlbbl1bMF0sbmV4dDplW2wuam9pbigiLCIpXXx8dChsKX0pfXJldHVybiBvfX1mdW5jdGlvbiBwRGEoYSxlKXtmb3IobGV0IHQ9MCxyPVthXTt0PHIubGVuZ3RoO3QrKyl7bGV0IGk9clt0XSxvPSFpLnZhbGlkRW5kLG49W107Zm9yKGxldCBsPTA7bDxpLm5leHQubGVuZ3RoO2wrKyl7bGV0e3R5cGU6ZCxuZXh0OmN9PWkubmV4dFtsXTtuLnB1c2goZC5uYW1lKSxvJiYhKGQuaXNUZXh0fHxkLmhhc1JlcXVpcmVkQXR0cnMoKSkmJihvPSExKSxyLmluZGV4T2YoYyk9PS0xJiZyLnB1c2goYyl9byYmZS5lcnIoIk9ubHkgbm9uLWdlbmVyYXRhYmxlIG5vZGVzICgiK24uam9pbigiLCAiKSsiKSBpbiBhIHJlcXVpcmVkIHBvc2l0aW9uIChzZWUgaHR0cHM6Ly9wcm9zZW1pcnJvci5uZXQvZG9jcy9ndWlkZS8jZ2VuZXJhdGFibGUpIil9fWZ1bmN0aW9uIEJpYShhKXtsZXQgZT1PYmplY3QuY3JlYXRlKG51bGwpO2ZvcihsZXQgdCBpbiBhKXtsZXQgcj1hW3RdO2lmKCFyLmhhc0RlZmF1bHQpcmV0dXJuIG51bGw7ZVt0XT1yLmRlZmF1bHR9cmV0dXJuIGV9ZnVuY3Rpb24gSGlhKGEsZSl7bGV0IHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IobGV0IHIgaW4gYSl7bGV0IGk9ZSYmZVtyXTtpZihpPT09dm9pZCAwKXtsZXQgbz1hW3JdO2lmKG8uaGFzRGVmYXVsdClpPW8uZGVmYXVsdDtlbHNlIHRocm93IG5ldyBSYW5nZUVycm9yKCJObyB2YWx1ZSBzdXBwbGllZCBmb3IgYXR0cmlidXRlICIrcil9dFtyXT1pfXJldHVybiB0fWZ1bmN0aW9uIHFpYShhLGUsdCxyKXtmb3IobGV0IGkgaW4gZSlpZighKGkgaW4gYSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYFVuc3VwcG9ydGVkIGF0dHJpYnV0ZSAke2l9IGZvciAke3R9IG9mIHR5cGUgJHtpfWApO2ZvcihsZXQgaSBpbiBhKXtsZXQgbz1hW2ldO28udmFsaWRhdGUmJm8udmFsaWRhdGUoZVtpXSl9fWZ1bmN0aW9uIFZpYShhLGUpe2xldCB0PU9iamVjdC5jcmVhdGUobnVsbCk7aWYoZSlmb3IobGV0IHIgaW4gZSl0W3JdPW5ldyBiS2UoYSxyLGVbcl0pO3JldHVybiB0fWZ1bmN0aW9uIGZEYShhLGUsdCl7bGV0IHI9dC5zcGxpdCgifCIpO3JldHVybiBpPT57bGV0IG89aT09PW51bGw/Im51bGwiOnR5cGVvZiBpO2lmKHIuaW5kZXhPZihvKTwwKXRocm93IG5ldyBSYW5nZUVycm9yKGBFeHBlY3RlZCB2YWx1ZSBvZiB0eXBlICR7cn0gZm9yIGF0dHJpYnV0ZSAke2V9IG9uIHR5cGUgJHthfSwgZ290ICR7b31gKX19ZnVuY3Rpb24gamlhKGEsZSl7bGV0IHQ9W107Zm9yKGxldCByPTA7cjxlLmxlbmd0aDtyKyspe2xldCBpPWVbcl0sbz1hLm1hcmtzW2ldLG49bztpZihvKXQucHVzaChvKTtlbHNlIGZvcihsZXQgbCBpbiBhLm1hcmtzKXtsZXQgZD1hLm1hcmtzW2xdOyhpPT0iXyJ8fGQuc3BlYy5ncm91cCYmZC5zcGVjLmdyb3VwLnNwbGl0KCIgIikuaW5kZXhPZihpKT4tMSkmJnQucHVzaChuPWQpfWlmKCFuKXRocm93IG5ldyBTeW50YXhFcnJvcigiVW5rbm93biBtYXJrIHR5cGU6ICciK2Vbcl0rIiciKX1yZXR1cm4gdH1mdW5jdGlvbiBoRGEoYSl7cmV0dXJuIGEudGFnIT1udWxsfWZ1bmN0aW9uIG1EYShhKXtyZXR1cm4gYS5zdHlsZSE9bnVsbH1mdW5jdGlvbiBHaWEoYSxlLHQpe3JldHVybiBlIT1udWxsPyhlP0dVOjApfChlPT09ImZ1bGwiP3ZLZTowKTphJiZhLndoaXRlc3BhY2U9PSJwcmUiP0dVfHZLZTp0Jn5ZVX1mdW5jdGlvbiBiRGEoYSl7Zm9yKGxldCBlPWEuZmlyc3RDaGlsZCx0PW51bGw7ZTtlPWUubmV4dFNpYmxpbmcpe2xldCByPWUubm9kZVR5cGU9PTE/ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpOm51bGw7ciYmV2lhLmhhc093blByb3BlcnR5KHIpJiZ0Pyh0LmFwcGVuZENoaWxkKGUpLGU9dCk6cj09ImxpIj90PWU6ciYmKHQ9bnVsbCl9fWZ1bmN0aW9uIHZEYShhLGUpe3JldHVybihhLm1hdGNoZXN8fGEubXNNYXRjaGVzU2VsZWN0b3J8fGEud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxhLm1vek1hdGNoZXNTZWxlY3RvcikuY2FsbChhLGUpfWZ1bmN0aW9uIFlpYShhKXtsZXQgZT17fTtmb3IobGV0IHQgaW4gYSllW3RdPWFbdF07cmV0dXJuIGV9ZnVuY3Rpb24gS2lhKGEsZSl7bGV0IHQ9ZS5zY2hlbWEubm9kZXM7Zm9yKGxldCByIGluIHQpe2xldCBpPXRbcl07aWYoIWkuYWxsb3dzTWFya1R5cGUoYSkpY29udGludWU7bGV0IG89W10sbj1zKGw9PntvLnB1c2gobCk7Zm9yKGxldCBkPTA7ZDxsLmVkZ2VDb3VudDtkKyspe2xldHt0eXBlOmMsbmV4dDpwfT1sLmVkZ2UoZCk7aWYoYz09ZXx8by5pbmRleE9mKHApPDAmJm4ocCkpcmV0dXJuITB9fSwic2NhbiIpO2lmKG4oaS5jb250ZW50TWF0Y2gpKXJldHVybiEwfX1mdW5jdGlvbiBaaWEoYSl7bGV0IGU9e307Zm9yKGxldCB0IGluIGEpe2xldCByPWFbdF0uc3BlYy50b0RPTTtyJiYoZVt0XT1yKX1yZXR1cm4gZX1mdW5jdGlvbiB4S2UoYSl7cmV0dXJuIGEuZG9jdW1lbnR8fHdpbmRvdy5kb2N1bWVudH1mdW5jdGlvbiB4RGEoYSl7bGV0IGU9WGlhLmdldChhKTtyZXR1cm4gZT09PXZvaWQgMCYmWGlhLnNldChhLGU9eURhKGEpKSxlfWZ1bmN0aW9uIHlEYShhKXtsZXQgZT1udWxsO2Z1bmN0aW9uIHQocil7aWYociYmdHlwZW9mIHI9PSJvYmplY3QiKWlmKEFycmF5LmlzQXJyYXkocikpaWYodHlwZW9mIHJbMF09PSJzdHJpbmciKWV8fChlPVtdKSxlLnB1c2gocik7ZWxzZSBmb3IobGV0IGk9MDtpPHIubGVuZ3RoO2krKyl0KHJbaV0pO2Vsc2UgZm9yKGxldCBpIGluIHIpdChyW2ldKX1yZXR1cm4gcyh0LCJzY2FuIiksdChhKSxlfWZ1bmN0aW9uIE5hZShhLGUsdCxyKXtpZih0eXBlb2YgZT09InN0cmluZyIpcmV0dXJue2RvbTphLmNyZWF0ZVRleHROb2RlKGUpfTtpZihlLm5vZGVUeXBlIT1udWxsKXJldHVybntkb206ZX07aWYoZS5kb20mJmUuZG9tLm5vZGVUeXBlIT1udWxsKXJldHVybiBlO2xldCBpPWVbMF0sbztpZih0eXBlb2YgaSE9InN0cmluZyIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgYXJyYXkgcGFzc2VkIHRvIHJlbmRlclNwZWMiKTtpZihyJiYobz14RGEocikpJiZvLmluZGV4T2YoZSk+LTEpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlVzaW5nIGFuIGFycmF5IGZyb20gYW4gYXR0cmlidXRlIG9iamVjdCBhcyBhIERPTSBzcGVjLiBUaGlzIG1heSBiZSBhbiBhdHRlbXB0ZWQgY3Jvc3Mgc2l0ZSBzY3JpcHRpbmcgYXR0YWNrLiIpO2xldCBuPWkuaW5kZXhPZigiICIpO24+MCYmKHQ9aS5zbGljZSgwLG4pLGk9aS5zbGljZShuKzEpKTtsZXQgbCxkPXQ/YS5jcmVhdGVFbGVtZW50TlModCxpKTphLmNyZWF0ZUVsZW1lbnQoaSksYz1lWzFdLHA9MTtpZihjJiZ0eXBlb2YgYz09Im9iamVjdCImJmMubm9kZVR5cGU9PW51bGwmJiFBcnJheS5pc0FycmF5KGMpKXtwPTI7Zm9yKGxldCB1IGluIGMpaWYoY1t1XSE9bnVsbCl7bGV0IG09dS5pbmRleE9mKCIgIik7bT4wP2Quc2V0QXR0cmlidXRlTlModS5zbGljZSgwLG0pLHUuc2xpY2UobSsxKSxjW3VdKTp1PT0ic3R5bGUiJiZkLnN0eWxlP2Quc3R5bGUuY3NzVGV4dD1jW3VdOmQuc2V0QXR0cmlidXRlKHUsY1t1XSl9fWZvcihsZXQgdT1wO3U8ZS5sZW5ndGg7dSsrKXtsZXQgbT1lW3VdO2lmKG09PT0wKXtpZih1PGUubGVuZ3RoLTF8fHU+cCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ29udGVudCBob2xlIG11c3QgYmUgdGhlIG9ubHkgY2hpbGQgb2YgaXRzIHBhcmVudCBub2RlIik7cmV0dXJue2RvbTpkLGNvbnRlbnRET006ZH19ZWxzZXtsZXR7ZG9tOnYsY29udGVudERPTTp4fT1OYWUoYSxtLHQscik7aWYoZC5hcHBlbmRDaGlsZCh2KSx4KXtpZihsKXRocm93IG5ldyBSYW5nZUVycm9yKCJNdWx0aXBsZSBjb250ZW50IGhvbGVzIik7bD14fX19cmV0dXJue2RvbTpkLGNvbnRlbnRET006bH19dmFyIFZlLHBLZSwkYSxoNCxpdCxVVSxoS2UsckRhLFBpYSxtNCxzRGEsR2ksbUtlLGY0LGdLZSxXVSxiS2Usdm0seG0sTjEsVWlhLGdEYSxXaWEsR1UsdktlLFlVLGJtLElhZSxZMixYaWEsZzQ9ZigoKT0+e0NpYSgpO3MoX2lhLCJmaW5kRGlmZlN0YXJ0Iik7cyhUaWEsImZpbmREaWZmRW5kIik7VmU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJGcmFnbWVudCIpfWNvbnN0cnVjdG9yKGUsdCl7aWYodGhpcy5jb250ZW50PWUsdGhpcy5zaXplPXR8fDAsdD09bnVsbClmb3IobGV0IHI9MDtyPGUubGVuZ3RoO3IrKyl0aGlzLnNpemUrPWVbcl0ubm9kZVNpemV9bm9kZXNCZXR3ZWVuKGUsdCxyLGk9MCxvKXtmb3IobGV0IG49MCxsPTA7bDx0O24rKyl7bGV0IGQ9dGhpcy5jb250ZW50W25dLGM9bCtkLm5vZGVTaXplO2lmKGM+ZSYmcihkLGkrbCxvfHxudWxsLG4pIT09ITEmJmQuY29udGVudC5zaXplKXtsZXQgcD1sKzE7ZC5ub2Rlc0JldHdlZW4oTWF0aC5tYXgoMCxlLXApLE1hdGgubWluKGQuY29udGVudC5zaXplLHQtcCkscixpK3ApfWw9Y319ZGVzY2VuZGFudHMoZSl7dGhpcy5ub2Rlc0JldHdlZW4oMCx0aGlzLnNpemUsZSl9dGV4dEJldHdlZW4oZSx0LHIsaSl7bGV0IG89IiIsbj0hMDtyZXR1cm4gdGhpcy5ub2Rlc0JldHdlZW4oZSx0LChsLGQpPT57bGV0IGM9bC5pc1RleHQ/bC50ZXh0LnNsaWNlKE1hdGgubWF4KGUsZCktZCx0LWQpOmwuaXNMZWFmP2k/dHlwZW9mIGk9PSJmdW5jdGlvbiI/aShsKTppOmwudHlwZS5zcGVjLmxlYWZUZXh0P2wudHlwZS5zcGVjLmxlYWZUZXh0KGwpOiIiOiIiO2wuaXNCbG9jayYmKGwuaXNMZWFmJiZjfHxsLmlzVGV4dGJsb2NrKSYmciYmKG4/bj0hMTpvKz1yKSxvKz1jfSwwKSxvfWFwcGVuZChlKXtpZighZS5zaXplKXJldHVybiB0aGlzO2lmKCF0aGlzLnNpemUpcmV0dXJuIGU7bGV0IHQ9dGhpcy5sYXN0Q2hpbGQscj1lLmZpcnN0Q2hpbGQsaT10aGlzLmNvbnRlbnQuc2xpY2UoKSxvPTA7Zm9yKHQuaXNUZXh0JiZ0LnNhbWVNYXJrdXAocikmJihpW2kubGVuZ3RoLTFdPXQud2l0aFRleHQodC50ZXh0K3IudGV4dCksbz0xKTtvPGUuY29udGVudC5sZW5ndGg7bysrKWkucHVzaChlLmNvbnRlbnRbb10pO3JldHVybiBuZXcgYShpLHRoaXMuc2l6ZStlLnNpemUpfWN1dChlLHQ9dGhpcy5zaXplKXtpZihlPT0wJiZ0PT10aGlzLnNpemUpcmV0dXJuIHRoaXM7bGV0IHI9W10saT0wO2lmKHQ+ZSlmb3IobGV0IG89MCxuPTA7bjx0O28rKyl7bGV0IGw9dGhpcy5jb250ZW50W29dLGQ9bitsLm5vZGVTaXplO2Q+ZSYmKChuPGV8fGQ+dCkmJihsLmlzVGV4dD9sPWwuY3V0KE1hdGgubWF4KDAsZS1uKSxNYXRoLm1pbihsLnRleHQubGVuZ3RoLHQtbikpOmw9bC5jdXQoTWF0aC5tYXgoMCxlLW4tMSksTWF0aC5taW4obC5jb250ZW50LnNpemUsdC1uLTEpKSksci5wdXNoKGwpLGkrPWwubm9kZVNpemUpLG49ZH1yZXR1cm4gbmV3IGEocixpKX1jdXRCeUluZGV4KGUsdCl7cmV0dXJuIGU9PXQ/YS5lbXB0eTplPT0wJiZ0PT10aGlzLmNvbnRlbnQubGVuZ3RoP3RoaXM6bmV3IGEodGhpcy5jb250ZW50LnNsaWNlKGUsdCkpfXJlcGxhY2VDaGlsZChlLHQpe2xldCByPXRoaXMuY29udGVudFtlXTtpZihyPT10KXJldHVybiB0aGlzO2xldCBpPXRoaXMuY29udGVudC5zbGljZSgpLG89dGhpcy5zaXplK3Qubm9kZVNpemUtci5ub2RlU2l6ZTtyZXR1cm4gaVtlXT10LG5ldyBhKGksbyl9YWRkVG9TdGFydChlKXtyZXR1cm4gbmV3IGEoW2VdLmNvbmNhdCh0aGlzLmNvbnRlbnQpLHRoaXMuc2l6ZStlLm5vZGVTaXplKX1hZGRUb0VuZChlKXtyZXR1cm4gbmV3IGEodGhpcy5jb250ZW50LmNvbmNhdChlKSx0aGlzLnNpemUrZS5ub2RlU2l6ZSl9ZXEoZSl7aWYodGhpcy5jb250ZW50Lmxlbmd0aCE9ZS5jb250ZW50Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHQ9MDt0PHRoaXMuY29udGVudC5sZW5ndGg7dCsrKWlmKCF0aGlzLmNvbnRlbnRbdF0uZXEoZS5jb250ZW50W3RdKSlyZXR1cm4hMTtyZXR1cm4hMH1nZXQgZmlyc3RDaGlsZCgpe3JldHVybiB0aGlzLmNvbnRlbnQubGVuZ3RoP3RoaXMuY29udGVudFswXTpudWxsfWdldCBsYXN0Q2hpbGQoKXtyZXR1cm4gdGhpcy5jb250ZW50Lmxlbmd0aD90aGlzLmNvbnRlbnRbdGhpcy5jb250ZW50Lmxlbmd0aC0xXTpudWxsfWdldCBjaGlsZENvdW50KCl7cmV0dXJuIHRoaXMuY29udGVudC5sZW5ndGh9Y2hpbGQoZSl7bGV0IHQ9dGhpcy5jb250ZW50W2VdO2lmKCF0KXRocm93IG5ldyBSYW5nZUVycm9yKCJJbmRleCAiK2UrIiBvdXQgb2YgcmFuZ2UgZm9yICIrdGhpcyk7cmV0dXJuIHR9bWF5YmVDaGlsZChlKXtyZXR1cm4gdGhpcy5jb250ZW50W2VdfHxudWxsfWZvckVhY2goZSl7Zm9yKGxldCB0PTAscj0wO3Q8dGhpcy5jb250ZW50Lmxlbmd0aDt0Kyspe2xldCBpPXRoaXMuY29udGVudFt0XTtlKGkscix0KSxyKz1pLm5vZGVTaXplfX1maW5kRGlmZlN0YXJ0KGUsdD0wKXtyZXR1cm4gX2lhKHRoaXMsZSx0KX1maW5kRGlmZkVuZChlLHQ9dGhpcy5zaXplLHI9ZS5zaXplKXtyZXR1cm4gVGlhKHRoaXMsZSx0LHIpfWZpbmRJbmRleChlKXtpZihlPT0wKXJldHVybiBBYWUoMCxlKTtpZihlPT10aGlzLnNpemUpcmV0dXJuIEFhZSh0aGlzLmNvbnRlbnQubGVuZ3RoLGUpO2lmKGU+dGhpcy5zaXplfHxlPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoYFBvc2l0aW9uICR7ZX0gb3V0c2lkZSBvZiBmcmFnbWVudCAoJHt0aGlzfSlgKTtmb3IobGV0IHQ9MCxyPTA7O3QrKyl7bGV0IGk9dGhpcy5jaGlsZCh0KSxvPXIraS5ub2RlU2l6ZTtpZihvPj1lKXJldHVybiBvPT1lP0FhZSh0KzEsbyk6QWFlKHQscik7cj1vfX10b1N0cmluZygpe3JldHVybiI8Iit0aGlzLnRvU3RyaW5nSW5uZXIoKSsiPiJ9dG9TdHJpbmdJbm5lcigpe3JldHVybiB0aGlzLmNvbnRlbnQuam9pbigiLCAiKX10b0pTT04oKXtyZXR1cm4gdGhpcy5jb250ZW50Lmxlbmd0aD90aGlzLmNvbnRlbnQubWFwKGU9PmUudG9KU09OKCkpOm51bGx9c3RhdGljIGZyb21KU09OKGUsdCl7aWYoIXQpcmV0dXJuIGEuZW1wdHk7aWYoIUFycmF5LmlzQXJyYXkodCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIEZyYWdtZW50LmZyb21KU09OIik7cmV0dXJuIG5ldyBhKHQubWFwKGUubm9kZUZyb21KU09OKSl9c3RhdGljIGZyb21BcnJheShlKXtpZighZS5sZW5ndGgpcmV0dXJuIGEuZW1wdHk7bGV0IHQscj0wO2ZvcihsZXQgaT0wO2k8ZS5sZW5ndGg7aSsrKXtsZXQgbz1lW2ldO3IrPW8ubm9kZVNpemUsaSYmby5pc1RleHQmJmVbaS0xXS5zYW1lTWFya3VwKG8pPyh0fHwodD1lLnNsaWNlKDAsaSkpLHRbdC5sZW5ndGgtMV09by53aXRoVGV4dCh0W3QubGVuZ3RoLTFdLnRleHQrby50ZXh0KSk6dCYmdC5wdXNoKG8pfXJldHVybiBuZXcgYSh0fHxlLHIpfXN0YXRpYyBmcm9tKGUpe2lmKCFlKXJldHVybiBhLmVtcHR5O2lmKGUgaW5zdGFuY2VvZiBhKXJldHVybiBlO2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIHRoaXMuZnJvbUFycmF5KGUpO2lmKGUuYXR0cnMpcmV0dXJuIG5ldyBhKFtlXSxlLm5vZGVTaXplKTt0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ2FuIG5vdCBjb252ZXJ0ICIrZSsiIHRvIGEgRnJhZ21lbnQiKyhlLm5vZGVzQmV0d2Vlbj8iIChsb29rcyBsaWtlIG11bHRpcGxlIHZlcnNpb25zIG9mIHByb3NlbWlycm9yLW1vZGVsIHdlcmUgbG9hZGVkKSI6IiIpKX19O1ZlLmVtcHR5PW5ldyBWZShbXSwwKTtwS2U9e2luZGV4OjAsb2Zmc2V0OjB9O3MoQWFlLCJyZXRJbmRleCIpO3MoRWFlLCJjb21wYXJlRGVlcCIpOyRhPWNsYXNzIGF7c3RhdGlje3ModGhpcywiTWFyayIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy50eXBlPWUsdGhpcy5hdHRycz10fWFkZFRvU2V0KGUpe2xldCB0LHI9ITE7Zm9yKGxldCBpPTA7aTxlLmxlbmd0aDtpKyspe2xldCBvPWVbaV07aWYodGhpcy5lcShvKSlyZXR1cm4gZTtpZih0aGlzLnR5cGUuZXhjbHVkZXMoby50eXBlKSl0fHwodD1lLnNsaWNlKDAsaSkpO2Vsc2V7aWYoby50eXBlLmV4Y2x1ZGVzKHRoaXMudHlwZSkpcmV0dXJuIGU7IXImJm8udHlwZS5yYW5rPnRoaXMudHlwZS5yYW5rJiYodHx8KHQ9ZS5zbGljZSgwLGkpKSx0LnB1c2godGhpcykscj0hMCksdCYmdC5wdXNoKG8pfX1yZXR1cm4gdHx8KHQ9ZS5zbGljZSgpKSxyfHx0LnB1c2godGhpcyksdH1yZW1vdmVGcm9tU2V0KGUpe2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWlmKHRoaXMuZXEoZVt0XSkpcmV0dXJuIGUuc2xpY2UoMCx0KS5jb25jYXQoZS5zbGljZSh0KzEpKTtyZXR1cm4gZX1pc0luU2V0KGUpe2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWlmKHRoaXMuZXEoZVt0XSkpcmV0dXJuITA7cmV0dXJuITF9ZXEoZSl7cmV0dXJuIHRoaXM9PWV8fHRoaXMudHlwZT09ZS50eXBlJiZFYWUodGhpcy5hdHRycyxlLmF0dHJzKX10b0pTT04oKXtsZXQgZT17dHlwZTp0aGlzLnR5cGUubmFtZX07Zm9yKGxldCB0IGluIHRoaXMuYXR0cnMpe2UuYXR0cnM9dGhpcy5hdHRyczticmVha31yZXR1cm4gZX1zdGF0aWMgZnJvbUpTT04oZSx0KXtpZighdCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgTWFyay5mcm9tSlNPTiIpO2xldCByPWUubWFya3NbdC50eXBlXTtpZighcil0aHJvdyBuZXcgUmFuZ2VFcnJvcihgVGhlcmUgaXMgbm8gbWFyayB0eXBlICR7dC50eXBlfSBpbiB0aGlzIHNjaGVtYWApO2xldCBpPXIuY3JlYXRlKHQuYXR0cnMpO3JldHVybiByLmNoZWNrQXR0cnMoaS5hdHRycyksaX1zdGF0aWMgc2FtZVNldChlLHQpe2lmKGU9PXQpcmV0dXJuITA7aWYoZS5sZW5ndGghPXQubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgcj0wO3I8ZS5sZW5ndGg7cisrKWlmKCFlW3JdLmVxKHRbcl0pKXJldHVybiExO3JldHVybiEwfXN0YXRpYyBzZXRGcm9tKGUpe2lmKCFlfHxBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aD09MClyZXR1cm4gYS5ub25lO2lmKGUgaW5zdGFuY2VvZiBhKXJldHVybltlXTtsZXQgdD1lLnNsaWNlKCk7cmV0dXJuIHQuc29ydCgocixpKT0+ci50eXBlLnJhbmstaS50eXBlLnJhbmspLHR9fTskYS5ub25lPVtdO2g0PWNsYXNzIGV4dGVuZHMgRXJyb3J7c3RhdGlje3ModGhpcywiUmVwbGFjZUVycm9yIil9fSxpdD1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIlNsaWNlIil9Y29uc3RydWN0b3IoZSx0LHIpe3RoaXMuY29udGVudD1lLHRoaXMub3BlblN0YXJ0PXQsdGhpcy5vcGVuRW5kPXJ9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5jb250ZW50LnNpemUtdGhpcy5vcGVuU3RhcnQtdGhpcy5vcGVuRW5kfWluc2VydEF0KGUsdCl7bGV0IHI9JGlhKHRoaXMuY29udGVudCxlK3RoaXMub3BlblN0YXJ0LHQpO3JldHVybiByJiZuZXcgYShyLHRoaXMub3BlblN0YXJ0LHRoaXMub3BlbkVuZCl9cmVtb3ZlQmV0d2VlbihlLHQpe3JldHVybiBuZXcgYShMaWEodGhpcy5jb250ZW50LGUrdGhpcy5vcGVuU3RhcnQsdCt0aGlzLm9wZW5TdGFydCksdGhpcy5vcGVuU3RhcnQsdGhpcy5vcGVuRW5kKX1lcShlKXtyZXR1cm4gdGhpcy5jb250ZW50LmVxKGUuY29udGVudCkmJnRoaXMub3BlblN0YXJ0PT1lLm9wZW5TdGFydCYmdGhpcy5vcGVuRW5kPT1lLm9wZW5FbmR9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5jb250ZW50KyIoIit0aGlzLm9wZW5TdGFydCsiLCIrdGhpcy5vcGVuRW5kKyIpIn10b0pTT04oKXtpZighdGhpcy5jb250ZW50LnNpemUpcmV0dXJuIG51bGw7bGV0IGU9e2NvbnRlbnQ6dGhpcy5jb250ZW50LnRvSlNPTigpfTtyZXR1cm4gdGhpcy5vcGVuU3RhcnQ+MCYmKGUub3BlblN0YXJ0PXRoaXMub3BlblN0YXJ0KSx0aGlzLm9wZW5FbmQ+MCYmKGUub3BlbkVuZD10aGlzLm9wZW5FbmQpLGV9c3RhdGljIGZyb21KU09OKGUsdCl7aWYoIXQpcmV0dXJuIGEuZW1wdHk7bGV0IHI9dC5vcGVuU3RhcnR8fDAsaT10Lm9wZW5FbmR8fDA7aWYodHlwZW9mIHIhPSJudW1iZXIifHx0eXBlb2YgaSE9Im51bWJlciIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIFNsaWNlLmZyb21KU09OIik7cmV0dXJuIG5ldyBhKFZlLmZyb21KU09OKGUsdC5jb250ZW50KSxyLGkpfXN0YXRpYyBtYXhPcGVuKGUsdD0hMCl7bGV0IHI9MCxpPTA7Zm9yKGxldCBvPWUuZmlyc3RDaGlsZDtvJiYhby5pc0xlYWYmJih0fHwhby50eXBlLnNwZWMuaXNvbGF0aW5nKTtvPW8uZmlyc3RDaGlsZClyKys7Zm9yKGxldCBvPWUubGFzdENoaWxkO28mJiFvLmlzTGVhZiYmKHR8fCFvLnR5cGUuc3BlYy5pc29sYXRpbmcpO289by5sYXN0Q2hpbGQpaSsrO3JldHVybiBuZXcgYShlLHIsaSl9fTtpdC5lbXB0eT1uZXcgaXQoVmUuZW1wdHksMCwwKTtzKExpYSwicmVtb3ZlUmFuZ2UiKTtzKCRpYSwiaW5zZXJ0SW50byIpO3ModERhLCJyZXBsYWNlIik7cyhEaWEsInJlcGxhY2VPdXRlciIpO3MoQWlhLCJjaGVja0pvaW4iKTtzKGZLZSwiam9pbmFibGUiKTtzKHFmLCJhZGROb2RlIik7cyhqVSwiYWRkUmFuZ2UiKTtzKFZmLCJjbG9zZSIpO3MoRWlhLCJyZXBsYWNlVGhyZWVXYXkiKTtzKFBhZSwicmVwbGFjZVR3b1dheSIpO3MoYURhLCJwcmVwYXJlU2xpY2VGb3JSZXBsYWNlIik7VVU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJSZXNvbHZlZFBvcyIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLnBvcz1lLHRoaXMucGF0aD10LHRoaXMucGFyZW50T2Zmc2V0PXIsdGhpcy5kZXB0aD10Lmxlbmd0aC8zLTF9cmVzb2x2ZURlcHRoKGUpe3JldHVybiBlPT1udWxsP3RoaXMuZGVwdGg6ZTwwP3RoaXMuZGVwdGgrZTplfWdldCBwYXJlbnQoKXtyZXR1cm4gdGhpcy5ub2RlKHRoaXMuZGVwdGgpfWdldCBkb2MoKXtyZXR1cm4gdGhpcy5ub2RlKDApfW5vZGUoZSl7cmV0dXJuIHRoaXMucGF0aFt0aGlzLnJlc29sdmVEZXB0aChlKSozXX1pbmRleChlKXtyZXR1cm4gdGhpcy5wYXRoW3RoaXMucmVzb2x2ZURlcHRoKGUpKjMrMV19aW5kZXhBZnRlcihlKXtyZXR1cm4gZT10aGlzLnJlc29sdmVEZXB0aChlKSx0aGlzLmluZGV4KGUpKyhlPT10aGlzLmRlcHRoJiYhdGhpcy50ZXh0T2Zmc2V0PzA6MSl9c3RhcnQoZSl7cmV0dXJuIGU9dGhpcy5yZXNvbHZlRGVwdGgoZSksZT09MD8wOnRoaXMucGF0aFtlKjMtMV0rMX1lbmQoZSl7cmV0dXJuIGU9dGhpcy5yZXNvbHZlRGVwdGgoZSksdGhpcy5zdGFydChlKSt0aGlzLm5vZGUoZSkuY29udGVudC5zaXplfWJlZm9yZShlKXtpZihlPXRoaXMucmVzb2x2ZURlcHRoKGUpLCFlKXRocm93IG5ldyBSYW5nZUVycm9yKCJUaGVyZSBpcyBubyBwb3NpdGlvbiBiZWZvcmUgdGhlIHRvcC1sZXZlbCBub2RlIik7cmV0dXJuIGU9PXRoaXMuZGVwdGgrMT90aGlzLnBvczp0aGlzLnBhdGhbZSozLTFdfWFmdGVyKGUpe2lmKGU9dGhpcy5yZXNvbHZlRGVwdGgoZSksIWUpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlRoZXJlIGlzIG5vIHBvc2l0aW9uIGFmdGVyIHRoZSB0b3AtbGV2ZWwgbm9kZSIpO3JldHVybiBlPT10aGlzLmRlcHRoKzE/dGhpcy5wb3M6dGhpcy5wYXRoW2UqMy0xXSt0aGlzLnBhdGhbZSozXS5ub2RlU2l6ZX1nZXQgdGV4dE9mZnNldCgpe3JldHVybiB0aGlzLnBvcy10aGlzLnBhdGhbdGhpcy5wYXRoLmxlbmd0aC0xXX1nZXQgbm9kZUFmdGVyKCl7bGV0IGU9dGhpcy5wYXJlbnQsdD10aGlzLmluZGV4KHRoaXMuZGVwdGgpO2lmKHQ9PWUuY2hpbGRDb3VudClyZXR1cm4gbnVsbDtsZXQgcj10aGlzLnBvcy10aGlzLnBhdGhbdGhpcy5wYXRoLmxlbmd0aC0xXSxpPWUuY2hpbGQodCk7cmV0dXJuIHI/ZS5jaGlsZCh0KS5jdXQocik6aX1nZXQgbm9kZUJlZm9yZSgpe2xldCBlPXRoaXMuaW5kZXgodGhpcy5kZXB0aCksdD10aGlzLnBvcy10aGlzLnBhdGhbdGhpcy5wYXRoLmxlbmd0aC0xXTtyZXR1cm4gdD90aGlzLnBhcmVudC5jaGlsZChlKS5jdXQoMCx0KTplPT0wP251bGw6dGhpcy5wYXJlbnQuY2hpbGQoZS0xKX1wb3NBdEluZGV4KGUsdCl7dD10aGlzLnJlc29sdmVEZXB0aCh0KTtsZXQgcj10aGlzLnBhdGhbdCozXSxpPXQ9PTA/MDp0aGlzLnBhdGhbdCozLTFdKzE7Zm9yKGxldCBvPTA7bzxlO28rKylpKz1yLmNoaWxkKG8pLm5vZGVTaXplO3JldHVybiBpfW1hcmtzKCl7bGV0IGU9dGhpcy5wYXJlbnQsdD10aGlzLmluZGV4KCk7aWYoZS5jb250ZW50LnNpemU9PTApcmV0dXJuICRhLm5vbmU7aWYodGhpcy50ZXh0T2Zmc2V0KXJldHVybiBlLmNoaWxkKHQpLm1hcmtzO2xldCByPWUubWF5YmVDaGlsZCh0LTEpLGk9ZS5tYXliZUNoaWxkKHQpO2lmKCFyKXtsZXQgbD1yO3I9aSxpPWx9bGV0IG89ci5tYXJrcztmb3IodmFyIG49MDtuPG8ubGVuZ3RoO24rKylvW25dLnR5cGUuc3BlYy5pbmNsdXNpdmU9PT0hMSYmKCFpfHwhb1tuXS5pc0luU2V0KGkubWFya3MpKSYmKG89b1tuLS1dLnJlbW92ZUZyb21TZXQobykpO3JldHVybiBvfW1hcmtzQWNyb3NzKGUpe2xldCB0PXRoaXMucGFyZW50Lm1heWJlQ2hpbGQodGhpcy5pbmRleCgpKTtpZighdHx8IXQuaXNJbmxpbmUpcmV0dXJuIG51bGw7bGV0IHI9dC5tYXJrcyxpPWUucGFyZW50Lm1heWJlQ2hpbGQoZS5pbmRleCgpKTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylyW29dLnR5cGUuc3BlYy5pbmNsdXNpdmU9PT0hMSYmKCFpfHwhcltvXS5pc0luU2V0KGkubWFya3MpKSYmKHI9cltvLS1dLnJlbW92ZUZyb21TZXQocikpO3JldHVybiByfXNoYXJlZERlcHRoKGUpe2ZvcihsZXQgdD10aGlzLmRlcHRoO3Q+MDt0LS0paWYodGhpcy5zdGFydCh0KTw9ZSYmdGhpcy5lbmQodCk+PWUpcmV0dXJuIHQ7cmV0dXJuIDB9YmxvY2tSYW5nZShlPXRoaXMsdCl7aWYoZS5wb3M8dGhpcy5wb3MpcmV0dXJuIGUuYmxvY2tSYW5nZSh0aGlzKTtmb3IobGV0IHI9dGhpcy5kZXB0aC0odGhpcy5wYXJlbnQuaW5saW5lQ29udGVudHx8dGhpcy5wb3M9PWUucG9zPzE6MCk7cj49MDtyLS0paWYoZS5wb3M8PXRoaXMuZW5kKHIpJiYoIXR8fHQodGhpcy5ub2RlKHIpKSkpcmV0dXJuIG5ldyBtNCh0aGlzLGUscik7cmV0dXJuIG51bGx9c2FtZVBhcmVudChlKXtyZXR1cm4gdGhpcy5wb3MtdGhpcy5wYXJlbnRPZmZzZXQ9PWUucG9zLWUucGFyZW50T2Zmc2V0fW1heChlKXtyZXR1cm4gZS5wb3M+dGhpcy5wb3M/ZTp0aGlzfW1pbihlKXtyZXR1cm4gZS5wb3M8dGhpcy5wb3M/ZTp0aGlzfXRvU3RyaW5nKCl7bGV0IGU9IiI7Zm9yKGxldCB0PTE7dDw9dGhpcy5kZXB0aDt0KyspZSs9KGU/Ii8iOiIiKSt0aGlzLm5vZGUodCkudHlwZS5uYW1lKyJfIit0aGlzLmluZGV4KHQtMSk7cmV0dXJuIGUrIjoiK3RoaXMucGFyZW50T2Zmc2V0fXN0YXRpYyByZXNvbHZlKGUsdCl7aWYoISh0Pj0wJiZ0PD1lLmNvbnRlbnQuc2l6ZSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlBvc2l0aW9uICIrdCsiIG91dCBvZiByYW5nZSIpO2xldCByPVtdLGk9MCxvPXQ7Zm9yKGxldCBuPWU7Oyl7bGV0e2luZGV4Omwsb2Zmc2V0OmR9PW4uY29udGVudC5maW5kSW5kZXgobyksYz1vLWQ7aWYoci5wdXNoKG4sbCxpK2QpLCFjfHwobj1uLmNoaWxkKGwpLG4uaXNUZXh0KSlicmVhaztvPWMtMSxpKz1kKzF9cmV0dXJuIG5ldyBhKHQscixvKX1zdGF0aWMgcmVzb2x2ZUNhY2hlZChlLHQpe2xldCByPVBpYS5nZXQoZSk7aWYocilmb3IobGV0IG89MDtvPHIuZWx0cy5sZW5ndGg7bysrKXtsZXQgbj1yLmVsdHNbb107aWYobi5wb3M9PXQpcmV0dXJuIG59ZWxzZSBQaWEuc2V0KGUscj1uZXcgaEtlKTtsZXQgaT1yLmVsdHNbci5pXT1hLnJlc29sdmUoZSx0KTtyZXR1cm4gci5pPShyLmkrMSklckRhLGl9fSxoS2U9Y2xhc3N7c3RhdGlje3ModGhpcywiUmVzb2x2ZUNhY2hlIil9Y29uc3RydWN0b3IoKXt0aGlzLmVsdHM9W10sdGhpcy5pPTB9fSxyRGE9MTIsUGlhPW5ldyBXZWFrTWFwLG00PWNsYXNze3N0YXRpY3tzKHRoaXMsIk5vZGVSYW5nZSIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLiRmcm9tPWUsdGhpcy4kdG89dCx0aGlzLmRlcHRoPXJ9Z2V0IHN0YXJ0KCl7cmV0dXJuIHRoaXMuJGZyb20uYmVmb3JlKHRoaXMuZGVwdGgrMSl9Z2V0IGVuZCgpe3JldHVybiB0aGlzLiR0by5hZnRlcih0aGlzLmRlcHRoKzEpfWdldCBwYXJlbnQoKXtyZXR1cm4gdGhpcy4kZnJvbS5ub2RlKHRoaXMuZGVwdGgpfWdldCBzdGFydEluZGV4KCl7cmV0dXJuIHRoaXMuJGZyb20uaW5kZXgodGhpcy5kZXB0aCl9Z2V0IGVuZEluZGV4KCl7cmV0dXJuIHRoaXMuJHRvLmluZGV4QWZ0ZXIodGhpcy5kZXB0aCl9fSxzRGE9T2JqZWN0LmNyZWF0ZShudWxsKSxHaT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIk5vZGUiKX1jb25zdHJ1Y3RvcihlLHQscixpPSRhLm5vbmUpe3RoaXMudHlwZT1lLHRoaXMuYXR0cnM9dCx0aGlzLm1hcmtzPWksdGhpcy5jb250ZW50PXJ8fFZlLmVtcHR5fWdldCBjaGlsZHJlbigpe3JldHVybiB0aGlzLmNvbnRlbnQuY29udGVudH1nZXQgbm9kZVNpemUoKXtyZXR1cm4gdGhpcy5pc0xlYWY/MToyK3RoaXMuY29udGVudC5zaXplfWdldCBjaGlsZENvdW50KCl7cmV0dXJuIHRoaXMuY29udGVudC5jaGlsZENvdW50fWNoaWxkKGUpe3JldHVybiB0aGlzLmNvbnRlbnQuY2hpbGQoZSl9bWF5YmVDaGlsZChlKXtyZXR1cm4gdGhpcy5jb250ZW50Lm1heWJlQ2hpbGQoZSl9Zm9yRWFjaChlKXt0aGlzLmNvbnRlbnQuZm9yRWFjaChlKX1ub2Rlc0JldHdlZW4oZSx0LHIsaT0wKXt0aGlzLmNvbnRlbnQubm9kZXNCZXR3ZWVuKGUsdCxyLGksdGhpcyl9ZGVzY2VuZGFudHMoZSl7dGhpcy5ub2Rlc0JldHdlZW4oMCx0aGlzLmNvbnRlbnQuc2l6ZSxlKX1nZXQgdGV4dENvbnRlbnQoKXtyZXR1cm4gdGhpcy5pc0xlYWYmJnRoaXMudHlwZS5zcGVjLmxlYWZUZXh0P3RoaXMudHlwZS5zcGVjLmxlYWZUZXh0KHRoaXMpOnRoaXMudGV4dEJldHdlZW4oMCx0aGlzLmNvbnRlbnQuc2l6ZSwiIil9dGV4dEJldHdlZW4oZSx0LHIsaSl7cmV0dXJuIHRoaXMuY29udGVudC50ZXh0QmV0d2VlbihlLHQscixpKX1nZXQgZmlyc3RDaGlsZCgpe3JldHVybiB0aGlzLmNvbnRlbnQuZmlyc3RDaGlsZH1nZXQgbGFzdENoaWxkKCl7cmV0dXJuIHRoaXMuY29udGVudC5sYXN0Q2hpbGR9ZXEoZSl7cmV0dXJuIHRoaXM9PWV8fHRoaXMuc2FtZU1hcmt1cChlKSYmdGhpcy5jb250ZW50LmVxKGUuY29udGVudCl9c2FtZU1hcmt1cChlKXtyZXR1cm4gdGhpcy5oYXNNYXJrdXAoZS50eXBlLGUuYXR0cnMsZS5tYXJrcyl9aGFzTWFya3VwKGUsdCxyKXtyZXR1cm4gdGhpcy50eXBlPT1lJiZFYWUodGhpcy5hdHRycyx0fHxlLmRlZmF1bHRBdHRyc3x8c0RhKSYmJGEuc2FtZVNldCh0aGlzLm1hcmtzLHJ8fCRhLm5vbmUpfWNvcHkoZT1udWxsKXtyZXR1cm4gZT09dGhpcy5jb250ZW50P3RoaXM6bmV3IGEodGhpcy50eXBlLHRoaXMuYXR0cnMsZSx0aGlzLm1hcmtzKX1tYXJrKGUpe3JldHVybiBlPT10aGlzLm1hcmtzP3RoaXM6bmV3IGEodGhpcy50eXBlLHRoaXMuYXR0cnMsdGhpcy5jb250ZW50LGUpfWN1dChlLHQ9dGhpcy5jb250ZW50LnNpemUpe3JldHVybiBlPT0wJiZ0PT10aGlzLmNvbnRlbnQuc2l6ZT90aGlzOnRoaXMuY29weSh0aGlzLmNvbnRlbnQuY3V0KGUsdCkpfXNsaWNlKGUsdD10aGlzLmNvbnRlbnQuc2l6ZSxyPSExKXtpZihlPT10KXJldHVybiBpdC5lbXB0eTtsZXQgaT10aGlzLnJlc29sdmUoZSksbz10aGlzLnJlc29sdmUodCksbj1yPzA6aS5zaGFyZWREZXB0aCh0KSxsPWkuc3RhcnQobiksYz1pLm5vZGUobikuY29udGVudC5jdXQoaS5wb3MtbCxvLnBvcy1sKTtyZXR1cm4gbmV3IGl0KGMsaS5kZXB0aC1uLG8uZGVwdGgtbil9cmVwbGFjZShlLHQscil7cmV0dXJuIHREYSh0aGlzLnJlc29sdmUoZSksdGhpcy5yZXNvbHZlKHQpLHIpfW5vZGVBdChlKXtmb3IobGV0IHQ9dGhpczs7KXtsZXR7aW5kZXg6cixvZmZzZXQ6aX09dC5jb250ZW50LmZpbmRJbmRleChlKTtpZih0PXQubWF5YmVDaGlsZChyKSwhdClyZXR1cm4gbnVsbDtpZihpPT1lfHx0LmlzVGV4dClyZXR1cm4gdDtlLT1pKzF9fWNoaWxkQWZ0ZXIoZSl7bGV0e2luZGV4OnQsb2Zmc2V0OnJ9PXRoaXMuY29udGVudC5maW5kSW5kZXgoZSk7cmV0dXJue25vZGU6dGhpcy5jb250ZW50Lm1heWJlQ2hpbGQodCksaW5kZXg6dCxvZmZzZXQ6cn19Y2hpbGRCZWZvcmUoZSl7aWYoZT09MClyZXR1cm57bm9kZTpudWxsLGluZGV4OjAsb2Zmc2V0OjB9O2xldHtpbmRleDp0LG9mZnNldDpyfT10aGlzLmNvbnRlbnQuZmluZEluZGV4KGUpO2lmKHI8ZSlyZXR1cm57bm9kZTp0aGlzLmNvbnRlbnQuY2hpbGQodCksaW5kZXg6dCxvZmZzZXQ6cn07bGV0IGk9dGhpcy5jb250ZW50LmNoaWxkKHQtMSk7cmV0dXJue25vZGU6aSxpbmRleDp0LTEsb2Zmc2V0OnItaS5ub2RlU2l6ZX19cmVzb2x2ZShlKXtyZXR1cm4gVVUucmVzb2x2ZUNhY2hlZCh0aGlzLGUpfXJlc29sdmVOb0NhY2hlKGUpe3JldHVybiBVVS5yZXNvbHZlKHRoaXMsZSl9cmFuZ2VIYXNNYXJrKGUsdCxyKXtsZXQgaT0hMTtyZXR1cm4gdD5lJiZ0aGlzLm5vZGVzQmV0d2VlbihlLHQsbz0+KHIuaXNJblNldChvLm1hcmtzKSYmKGk9ITApLCFpKSksaX1nZXQgaXNCbG9jaygpe3JldHVybiB0aGlzLnR5cGUuaXNCbG9ja31nZXQgaXNUZXh0YmxvY2soKXtyZXR1cm4gdGhpcy50eXBlLmlzVGV4dGJsb2NrfWdldCBpbmxpbmVDb250ZW50KCl7cmV0dXJuIHRoaXMudHlwZS5pbmxpbmVDb250ZW50fWdldCBpc0lubGluZSgpe3JldHVybiB0aGlzLnR5cGUuaXNJbmxpbmV9Z2V0IGlzVGV4dCgpe3JldHVybiB0aGlzLnR5cGUuaXNUZXh0fWdldCBpc0xlYWYoKXtyZXR1cm4gdGhpcy50eXBlLmlzTGVhZn1nZXQgaXNBdG9tKCl7cmV0dXJuIHRoaXMudHlwZS5pc0F0b219dG9TdHJpbmcoKXtpZih0aGlzLnR5cGUuc3BlYy50b0RlYnVnU3RyaW5nKXJldHVybiB0aGlzLnR5cGUuc3BlYy50b0RlYnVnU3RyaW5nKHRoaXMpO2xldCBlPXRoaXMudHlwZS5uYW1lO3JldHVybiB0aGlzLmNvbnRlbnQuc2l6ZSYmKGUrPSIoIit0aGlzLmNvbnRlbnQudG9TdHJpbmdJbm5lcigpKyIpIiksSWlhKHRoaXMubWFya3MsZSl9Y29udGVudE1hdGNoQXQoZSl7bGV0IHQ9dGhpcy50eXBlLmNvbnRlbnRNYXRjaC5tYXRjaEZyYWdtZW50KHRoaXMuY29udGVudCwwLGUpO2lmKCF0KXRocm93IG5ldyBFcnJvcigiQ2FsbGVkIGNvbnRlbnRNYXRjaEF0IG9uIGEgbm9kZSB3aXRoIGludmFsaWQgY29udGVudCIpO3JldHVybiB0fWNhblJlcGxhY2UoZSx0LHI9VmUuZW1wdHksaT0wLG89ci5jaGlsZENvdW50KXtsZXQgbj10aGlzLmNvbnRlbnRNYXRjaEF0KGUpLm1hdGNoRnJhZ21lbnQocixpLG8pLGw9biYmbi5tYXRjaEZyYWdtZW50KHRoaXMuY29udGVudCx0KTtpZighbHx8IWwudmFsaWRFbmQpcmV0dXJuITE7Zm9yKGxldCBkPWk7ZDxvO2QrKylpZighdGhpcy50eXBlLmFsbG93c01hcmtzKHIuY2hpbGQoZCkubWFya3MpKXJldHVybiExO3JldHVybiEwfWNhblJlcGxhY2VXaXRoKGUsdCxyLGkpe2lmKGkmJiF0aGlzLnR5cGUuYWxsb3dzTWFya3MoaSkpcmV0dXJuITE7bGV0IG89dGhpcy5jb250ZW50TWF0Y2hBdChlKS5tYXRjaFR5cGUociksbj1vJiZvLm1hdGNoRnJhZ21lbnQodGhpcy5jb250ZW50LHQpO3JldHVybiBuP24udmFsaWRFbmQ6ITF9Y2FuQXBwZW5kKGUpe3JldHVybiBlLmNvbnRlbnQuc2l6ZT90aGlzLmNhblJlcGxhY2UodGhpcy5jaGlsZENvdW50LHRoaXMuY2hpbGRDb3VudCxlLmNvbnRlbnQpOnRoaXMudHlwZS5jb21wYXRpYmxlQ29udGVudChlLnR5cGUpfWNoZWNrKCl7dGhpcy50eXBlLmNoZWNrQ29udGVudCh0aGlzLmNvbnRlbnQpLHRoaXMudHlwZS5jaGVja0F0dHJzKHRoaXMuYXR0cnMpO2xldCBlPSRhLm5vbmU7Zm9yKGxldCB0PTA7dDx0aGlzLm1hcmtzLmxlbmd0aDt0Kyspe2xldCByPXRoaXMubWFya3NbdF07ci50eXBlLmNoZWNrQXR0cnMoci5hdHRycyksZT1yLmFkZFRvU2V0KGUpfWlmKCEkYS5zYW1lU2V0KGUsdGhpcy5tYXJrcykpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYEludmFsaWQgY29sbGVjdGlvbiBvZiBtYXJrcyBmb3Igbm9kZSAke3RoaXMudHlwZS5uYW1lfTogJHt0aGlzLm1hcmtzLm1hcCh0PT50LnR5cGUubmFtZSl9YCk7dGhpcy5jb250ZW50LmZvckVhY2godD0+dC5jaGVjaygpKX10b0pTT04oKXtsZXQgZT17dHlwZTp0aGlzLnR5cGUubmFtZX07Zm9yKGxldCB0IGluIHRoaXMuYXR0cnMpe2UuYXR0cnM9dGhpcy5hdHRyczticmVha31yZXR1cm4gdGhpcy5jb250ZW50LnNpemUmJihlLmNvbnRlbnQ9dGhpcy5jb250ZW50LnRvSlNPTigpKSx0aGlzLm1hcmtzLmxlbmd0aCYmKGUubWFya3M9dGhpcy5tYXJrcy5tYXAodD0+dC50b0pTT04oKSkpLGV9c3RhdGljIGZyb21KU09OKGUsdCl7aWYoIXQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIE5vZGUuZnJvbUpTT04iKTtsZXQgcjtpZih0Lm1hcmtzKXtpZighQXJyYXkuaXNBcnJheSh0Lm1hcmtzKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBtYXJrIGRhdGEgZm9yIE5vZGUuZnJvbUpTT04iKTtyPXQubWFya3MubWFwKGUubWFya0Zyb21KU09OKX1pZih0LnR5cGU9PSJ0ZXh0Iil7aWYodHlwZW9mIHQudGV4dCE9InN0cmluZyIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgdGV4dCBub2RlIGluIEpTT04iKTtyZXR1cm4gZS50ZXh0KHQudGV4dCxyKX1sZXQgaT1WZS5mcm9tSlNPTihlLHQuY29udGVudCksbz1lLm5vZGVUeXBlKHQudHlwZSkuY3JlYXRlKHQuYXR0cnMsaSxyKTtyZXR1cm4gby50eXBlLmNoZWNrQXR0cnMoby5hdHRycyksb319O0dpLnByb3RvdHlwZS50ZXh0PXZvaWQgMDttS2U9Y2xhc3MgYSBleHRlbmRzIEdpe3N0YXRpY3tzKHRoaXMsIlRleHROb2RlIil9Y29uc3RydWN0b3IoZSx0LHIsaSl7aWYoc3VwZXIoZSx0LG51bGwsaSksIXIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkVtcHR5IHRleHQgbm9kZXMgYXJlIG5vdCBhbGxvd2VkIik7dGhpcy50ZXh0PXJ9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy50eXBlLnNwZWMudG9EZWJ1Z1N0cmluZz90aGlzLnR5cGUuc3BlYy50b0RlYnVnU3RyaW5nKHRoaXMpOklpYSh0aGlzLm1hcmtzLEpTT04uc3RyaW5naWZ5KHRoaXMudGV4dCkpfWdldCB0ZXh0Q29udGVudCgpe3JldHVybiB0aGlzLnRleHR9dGV4dEJldHdlZW4oZSx0KXtyZXR1cm4gdGhpcy50ZXh0LnNsaWNlKGUsdCl9Z2V0IG5vZGVTaXplKCl7cmV0dXJuIHRoaXMudGV4dC5sZW5ndGh9bWFyayhlKXtyZXR1cm4gZT09dGhpcy5tYXJrcz90aGlzOm5ldyBhKHRoaXMudHlwZSx0aGlzLmF0dHJzLHRoaXMudGV4dCxlKX13aXRoVGV4dChlKXtyZXR1cm4gZT09dGhpcy50ZXh0P3RoaXM6bmV3IGEodGhpcy50eXBlLHRoaXMuYXR0cnMsZSx0aGlzLm1hcmtzKX1jdXQoZT0wLHQ9dGhpcy50ZXh0Lmxlbmd0aCl7cmV0dXJuIGU9PTAmJnQ9PXRoaXMudGV4dC5sZW5ndGg/dGhpczp0aGlzLndpdGhUZXh0KHRoaXMudGV4dC5zbGljZShlLHQpKX1lcShlKXtyZXR1cm4gdGhpcy5zYW1lTWFya3VwKGUpJiZ0aGlzLnRleHQ9PWUudGV4dH10b0pTT04oKXtsZXQgZT1zdXBlci50b0pTT04oKTtyZXR1cm4gZS50ZXh0PXRoaXMudGV4dCxlfX07cyhJaWEsIndyYXBNYXJrcyIpO2Y0PWNsYXNzIGF7c3RhdGlje3ModGhpcywiQ29udGVudE1hdGNoIil9Y29uc3RydWN0b3IoZSl7dGhpcy52YWxpZEVuZD1lLHRoaXMubmV4dD1bXSx0aGlzLndyYXBDYWNoZT1bXX1zdGF0aWMgcGFyc2UoZSx0KXtsZXQgcj1uZXcgZ0tlKGUsdCk7aWYoci5uZXh0PT1udWxsKXJldHVybiBhLmVtcHR5O2xldCBpPU5pYShyKTtyLm5leHQmJnIuZXJyKCJVbmV4cGVjdGVkIHRyYWlsaW5nIHRleHQiKTtsZXQgbz11RGEoZERhKGkpKTtyZXR1cm4gcERhKG8sciksb31tYXRjaFR5cGUoZSl7Zm9yKGxldCB0PTA7dDx0aGlzLm5leHQubGVuZ3RoO3QrKylpZih0aGlzLm5leHRbdF0udHlwZT09ZSlyZXR1cm4gdGhpcy5uZXh0W3RdLm5leHQ7cmV0dXJuIG51bGx9bWF0Y2hGcmFnbWVudChlLHQ9MCxyPWUuY2hpbGRDb3VudCl7bGV0IGk9dGhpcztmb3IobGV0IG89dDtpJiZvPHI7bysrKWk9aS5tYXRjaFR5cGUoZS5jaGlsZChvKS50eXBlKTtyZXR1cm4gaX1nZXQgaW5saW5lQ29udGVudCgpe3JldHVybiB0aGlzLm5leHQubGVuZ3RoIT0wJiZ0aGlzLm5leHRbMF0udHlwZS5pc0lubGluZX1nZXQgZGVmYXVsdFR5cGUoKXtmb3IobGV0IGU9MDtlPHRoaXMubmV4dC5sZW5ndGg7ZSsrKXtsZXR7dHlwZTp0fT10aGlzLm5leHRbZV07aWYoISh0LmlzVGV4dHx8dC5oYXNSZXF1aXJlZEF0dHJzKCkpKXJldHVybiB0fXJldHVybiBudWxsfWNvbXBhdGlibGUoZSl7Zm9yKGxldCB0PTA7dDx0aGlzLm5leHQubGVuZ3RoO3QrKylmb3IobGV0IHI9MDtyPGUubmV4dC5sZW5ndGg7cisrKWlmKHRoaXMubmV4dFt0XS50eXBlPT1lLm5leHRbcl0udHlwZSlyZXR1cm4hMDtyZXR1cm4hMX1maWxsQmVmb3JlKGUsdD0hMSxyPTApe2xldCBpPVt0aGlzXTtmdW5jdGlvbiBvKG4sbCl7bGV0IGQ9bi5tYXRjaEZyYWdtZW50KGUscik7aWYoZCYmKCF0fHxkLnZhbGlkRW5kKSlyZXR1cm4gVmUuZnJvbShsLm1hcChjPT5jLmNyZWF0ZUFuZEZpbGwoKSkpO2ZvcihsZXQgYz0wO2M8bi5uZXh0Lmxlbmd0aDtjKyspe2xldHt0eXBlOnAsbmV4dDp1fT1uLm5leHRbY107aWYoIShwLmlzVGV4dHx8cC5oYXNSZXF1aXJlZEF0dHJzKCkpJiZpLmluZGV4T2YodSk9PS0xKXtpLnB1c2godSk7bGV0IG09byh1LGwuY29uY2F0KHApKTtpZihtKXJldHVybiBtfX1yZXR1cm4gbnVsbH1yZXR1cm4gcyhvLCJzZWFyY2giKSxvKHRoaXMsW10pfWZpbmRXcmFwcGluZyhlKXtmb3IobGV0IHI9MDtyPHRoaXMud3JhcENhY2hlLmxlbmd0aDtyKz0yKWlmKHRoaXMud3JhcENhY2hlW3JdPT1lKXJldHVybiB0aGlzLndyYXBDYWNoZVtyKzFdO2xldCB0PXRoaXMuY29tcHV0ZVdyYXBwaW5nKGUpO3JldHVybiB0aGlzLndyYXBDYWNoZS5wdXNoKGUsdCksdH1jb21wdXRlV3JhcHBpbmcoZSl7bGV0IHQ9T2JqZWN0LmNyZWF0ZShudWxsKSxyPVt7bWF0Y2g6dGhpcyx0eXBlOm51bGwsdmlhOm51bGx9XTtmb3IoO3IubGVuZ3RoOyl7bGV0IGk9ci5zaGlmdCgpLG89aS5tYXRjaDtpZihvLm1hdGNoVHlwZShlKSl7bGV0IG49W107Zm9yKGxldCBsPWk7bC50eXBlO2w9bC52aWEpbi5wdXNoKGwudHlwZSk7cmV0dXJuIG4ucmV2ZXJzZSgpfWZvcihsZXQgbj0wO248by5uZXh0Lmxlbmd0aDtuKyspe2xldHt0eXBlOmwsbmV4dDpkfT1vLm5leHRbbl07IWwuaXNMZWFmJiYhbC5oYXNSZXF1aXJlZEF0dHJzKCkmJiEobC5uYW1lIGluIHQpJiYoIWkudHlwZXx8ZC52YWxpZEVuZCkmJihyLnB1c2goe21hdGNoOmwuY29udGVudE1hdGNoLHR5cGU6bCx2aWE6aX0pLHRbbC5uYW1lXT0hMCl9fXJldHVybiBudWxsfWdldCBlZGdlQ291bnQoKXtyZXR1cm4gdGhpcy5uZXh0Lmxlbmd0aH1lZGdlKGUpe2lmKGU+PXRoaXMubmV4dC5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYFRoZXJlJ3Mgbm8gJHtlfXRoIGVkZ2UgaW4gdGhpcyBjb250ZW50IG1hdGNoYCk7cmV0dXJuIHRoaXMubmV4dFtlXX10b1N0cmluZygpe2xldCBlPVtdO2Z1bmN0aW9uIHQocil7ZS5wdXNoKHIpO2ZvcihsZXQgaT0wO2k8ci5uZXh0Lmxlbmd0aDtpKyspZS5pbmRleE9mKHIubmV4dFtpXS5uZXh0KT09LTEmJnQoci5uZXh0W2ldLm5leHQpfXJldHVybiBzKHQsInNjYW4iKSx0KHRoaXMpLGUubWFwKChyLGkpPT57bGV0IG89aSsoci52YWxpZEVuZD8iKiI6IiAiKSsiICI7Zm9yKGxldCBuPTA7bjxyLm5leHQubGVuZ3RoO24rKylvKz0obj8iLCAiOiIiKStyLm5leHRbbl0udHlwZS5uYW1lKyItPiIrZS5pbmRleE9mKHIubmV4dFtuXS5uZXh0KTtyZXR1cm4gb30pLmpvaW4oYApgKX19O2Y0LmVtcHR5PW5ldyBmNCghMCk7Z0tlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlRva2VuU3RyZWFtIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLnN0cmluZz1lLHRoaXMubm9kZVR5cGVzPXQsdGhpcy5pbmxpbmU9bnVsbCx0aGlzLnBvcz0wLHRoaXMudG9rZW5zPWUuc3BsaXQoL1xzKig/PVxifFxXfCQpLyksdGhpcy50b2tlbnNbdGhpcy50b2tlbnMubGVuZ3RoLTFdPT0iIiYmdGhpcy50b2tlbnMucG9wKCksdGhpcy50b2tlbnNbMF09PSIiJiZ0aGlzLnRva2Vucy5zaGlmdCgpfWdldCBuZXh0KCl7cmV0dXJuIHRoaXMudG9rZW5zW3RoaXMucG9zXX1lYXQoZSl7cmV0dXJuIHRoaXMubmV4dD09ZSYmKHRoaXMucG9zKyt8fCEwKX1lcnIoZSl7dGhyb3cgbmV3IFN5bnRheEVycm9yKGUrIiAoaW4gY29udGVudCBleHByZXNzaW9uICciK3RoaXMuc3RyaW5nKyInKSIpfX07cyhOaWEsInBhcnNlRXhwciIpO3MoaURhLCJwYXJzZUV4cHJTZXEiKTtzKG9EYSwicGFyc2VFeHByU3Vic2NyaXB0Iik7cyhSaWEsInBhcnNlTnVtIik7cyhuRGEsInBhcnNlRXhwclJhbmdlIik7cyhsRGEsInJlc29sdmVOYW1lIik7cyhjRGEsInBhcnNlRXhwckF0b20iKTtzKGREYSwibmZhIik7cyhPaWEsImNtcCIpO3MoRmlhLCJudWxsRnJvbSIpO3ModURhLCJkZmEiKTtzKHBEYSwiY2hlY2tGb3JEZWFkRW5kcyIpO3MoQmlhLCJkZWZhdWx0QXR0cnMiKTtzKEhpYSwiY29tcHV0ZUF0dHJzIik7cyhxaWEsImNoZWNrQXR0cnMiKTtzKFZpYSwiaW5pdEF0dHJzIik7V1U9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJOb2RlVHlwZSIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLm5hbWU9ZSx0aGlzLnNjaGVtYT10LHRoaXMuc3BlYz1yLHRoaXMubWFya1NldD1udWxsLHRoaXMuZ3JvdXBzPXIuZ3JvdXA/ci5ncm91cC5zcGxpdCgiICIpOltdLHRoaXMuYXR0cnM9VmlhKGUsci5hdHRycyksdGhpcy5kZWZhdWx0QXR0cnM9QmlhKHRoaXMuYXR0cnMpLHRoaXMuY29udGVudE1hdGNoPW51bGwsdGhpcy5pbmxpbmVDb250ZW50PW51bGwsdGhpcy5pc0Jsb2NrPSEoci5pbmxpbmV8fGU9PSJ0ZXh0IiksdGhpcy5pc1RleHQ9ZT09InRleHQifWdldCBpc0lubGluZSgpe3JldHVybiF0aGlzLmlzQmxvY2t9Z2V0IGlzVGV4dGJsb2NrKCl7cmV0dXJuIHRoaXMuaXNCbG9jayYmdGhpcy5pbmxpbmVDb250ZW50fWdldCBpc0xlYWYoKXtyZXR1cm4gdGhpcy5jb250ZW50TWF0Y2g9PWY0LmVtcHR5fWdldCBpc0F0b20oKXtyZXR1cm4gdGhpcy5pc0xlYWZ8fCEhdGhpcy5zcGVjLmF0b219aXNJbkdyb3VwKGUpe3JldHVybiB0aGlzLmdyb3Vwcy5pbmRleE9mKGUpPi0xfWdldCB3aGl0ZXNwYWNlKCl7cmV0dXJuIHRoaXMuc3BlYy53aGl0ZXNwYWNlfHwodGhpcy5zcGVjLmNvZGU/InByZSI6Im5vcm1hbCIpfWhhc1JlcXVpcmVkQXR0cnMoKXtmb3IobGV0IGUgaW4gdGhpcy5hdHRycylpZih0aGlzLmF0dHJzW2VdLmlzUmVxdWlyZWQpcmV0dXJuITA7cmV0dXJuITF9Y29tcGF0aWJsZUNvbnRlbnQoZSl7cmV0dXJuIHRoaXM9PWV8fHRoaXMuY29udGVudE1hdGNoLmNvbXBhdGlibGUoZS5jb250ZW50TWF0Y2gpfWNvbXB1dGVBdHRycyhlKXtyZXR1cm4hZSYmdGhpcy5kZWZhdWx0QXR0cnM/dGhpcy5kZWZhdWx0QXR0cnM6SGlhKHRoaXMuYXR0cnMsZSl9Y3JlYXRlKGU9bnVsbCx0LHIpe2lmKHRoaXMuaXNUZXh0KXRocm93IG5ldyBFcnJvcigiTm9kZVR5cGUuY3JlYXRlIGNhbid0IGNvbnN0cnVjdCB0ZXh0IG5vZGVzIik7cmV0dXJuIG5ldyBHaSh0aGlzLHRoaXMuY29tcHV0ZUF0dHJzKGUpLFZlLmZyb20odCksJGEuc2V0RnJvbShyKSl9Y3JlYXRlQ2hlY2tlZChlPW51bGwsdCxyKXtyZXR1cm4gdD1WZS5mcm9tKHQpLHRoaXMuY2hlY2tDb250ZW50KHQpLG5ldyBHaSh0aGlzLHRoaXMuY29tcHV0ZUF0dHJzKGUpLHQsJGEuc2V0RnJvbShyKSl9Y3JlYXRlQW5kRmlsbChlPW51bGwsdCxyKXtpZihlPXRoaXMuY29tcHV0ZUF0dHJzKGUpLHQ9VmUuZnJvbSh0KSx0LnNpemUpe2xldCBuPXRoaXMuY29udGVudE1hdGNoLmZpbGxCZWZvcmUodCk7aWYoIW4pcmV0dXJuIG51bGw7dD1uLmFwcGVuZCh0KX1sZXQgaT10aGlzLmNvbnRlbnRNYXRjaC5tYXRjaEZyYWdtZW50KHQpLG89aSYmaS5maWxsQmVmb3JlKFZlLmVtcHR5LCEwKTtyZXR1cm4gbz9uZXcgR2kodGhpcyxlLHQuYXBwZW5kKG8pLCRhLnNldEZyb20ocikpOm51bGx9dmFsaWRDb250ZW50KGUpe2xldCB0PXRoaXMuY29udGVudE1hdGNoLm1hdGNoRnJhZ21lbnQoZSk7aWYoIXR8fCF0LnZhbGlkRW5kKXJldHVybiExO2ZvcihsZXQgcj0wO3I8ZS5jaGlsZENvdW50O3IrKylpZighdGhpcy5hbGxvd3NNYXJrcyhlLmNoaWxkKHIpLm1hcmtzKSlyZXR1cm4hMTtyZXR1cm4hMH1jaGVja0NvbnRlbnQoZSl7aWYoIXRoaXMudmFsaWRDb250ZW50KGUpKXRocm93IG5ldyBSYW5nZUVycm9yKGBJbnZhbGlkIGNvbnRlbnQgZm9yIG5vZGUgJHt0aGlzLm5hbWV9OiAke2UudG9TdHJpbmcoKS5zbGljZSgwLDUwKX1gKX1jaGVja0F0dHJzKGUpe3FpYSh0aGlzLmF0dHJzLGUsIm5vZGUiLHRoaXMubmFtZSl9YWxsb3dzTWFya1R5cGUoZSl7cmV0dXJuIHRoaXMubWFya1NldD09bnVsbHx8dGhpcy5tYXJrU2V0LmluZGV4T2YoZSk+LTF9YWxsb3dzTWFya3MoZSl7aWYodGhpcy5tYXJrU2V0PT1udWxsKXJldHVybiEwO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWlmKCF0aGlzLmFsbG93c01hcmtUeXBlKGVbdF0udHlwZSkpcmV0dXJuITE7cmV0dXJuITB9YWxsb3dlZE1hcmtzKGUpe2lmKHRoaXMubWFya1NldD09bnVsbClyZXR1cm4gZTtsZXQgdDtmb3IobGV0IHI9MDtyPGUubGVuZ3RoO3IrKyl0aGlzLmFsbG93c01hcmtUeXBlKGVbcl0udHlwZSk/dCYmdC5wdXNoKGVbcl0pOnR8fCh0PWUuc2xpY2UoMCxyKSk7cmV0dXJuIHQ/dC5sZW5ndGg/dDokYS5ub25lOmV9c3RhdGljIGNvbXBpbGUoZSx0KXtsZXQgcj1PYmplY3QuY3JlYXRlKG51bGwpO2UuZm9yRWFjaCgobyxuKT0+cltvXT1uZXcgYShvLHQsbikpO2xldCBpPXQuc3BlYy50b3BOb2RlfHwiZG9jIjtpZighcltpXSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiU2NoZW1hIGlzIG1pc3NpbmcgaXRzIHRvcCBub2RlIHR5cGUgKCciK2krIicpIik7aWYoIXIudGV4dCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRXZlcnkgc2NoZW1hIG5lZWRzIGEgJ3RleHQnIHR5cGUiKTtmb3IobGV0IG8gaW4gci50ZXh0LmF0dHJzKXRocm93IG5ldyBSYW5nZUVycm9yKCJUaGUgdGV4dCBub2RlIHR5cGUgc2hvdWxkIG5vdCBoYXZlIGF0dHJpYnV0ZXMiKTtyZXR1cm4gcn19O3MoZkRhLCJ2YWxpZGF0ZVR5cGUiKTtiS2U9Y2xhc3N7c3RhdGlje3ModGhpcywiQXR0cmlidXRlIil9Y29uc3RydWN0b3IoZSx0LHIpe3RoaXMuaGFzRGVmYXVsdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwociwiZGVmYXVsdCIpLHRoaXMuZGVmYXVsdD1yLmRlZmF1bHQsdGhpcy52YWxpZGF0ZT10eXBlb2Ygci52YWxpZGF0ZT09InN0cmluZyI/ZkRhKGUsdCxyLnZhbGlkYXRlKTpyLnZhbGlkYXRlfWdldCBpc1JlcXVpcmVkKCl7cmV0dXJuIXRoaXMuaGFzRGVmYXVsdH19LHZtPWNsYXNzIGF7c3RhdGlje3ModGhpcywiTWFya1R5cGUiKX1jb25zdHJ1Y3RvcihlLHQscixpKXt0aGlzLm5hbWU9ZSx0aGlzLnJhbms9dCx0aGlzLnNjaGVtYT1yLHRoaXMuc3BlYz1pLHRoaXMuYXR0cnM9VmlhKGUsaS5hdHRycyksdGhpcy5leGNsdWRlZD1udWxsO2xldCBvPUJpYSh0aGlzLmF0dHJzKTt0aGlzLmluc3RhbmNlPW8/bmV3ICRhKHRoaXMsbyk6bnVsbH1jcmVhdGUoZT1udWxsKXtyZXR1cm4hZSYmdGhpcy5pbnN0YW5jZT90aGlzLmluc3RhbmNlOm5ldyAkYSh0aGlzLEhpYSh0aGlzLmF0dHJzLGUpKX1zdGF0aWMgY29tcGlsZShlLHQpe2xldCByPU9iamVjdC5jcmVhdGUobnVsbCksaT0wO3JldHVybiBlLmZvckVhY2goKG8sbik9PnJbb109bmV3IGEobyxpKyssdCxuKSkscn1yZW1vdmVGcm9tU2V0KGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0udHlwZT09dGhpcyYmKGU9ZS5zbGljZSgwLHQpLmNvbmNhdChlLnNsaWNlKHQrMSkpLHQtLSk7cmV0dXJuIGV9aXNJblNldChlKXtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKylpZihlW3RdLnR5cGU9PXRoaXMpcmV0dXJuIGVbdF19Y2hlY2tBdHRycyhlKXtxaWEodGhpcy5hdHRycyxlLCJtYXJrIix0aGlzLm5hbWUpfWV4Y2x1ZGVzKGUpe3JldHVybiB0aGlzLmV4Y2x1ZGVkLmluZGV4T2YoZSk+LTF9fSx4bT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJTY2hlbWEiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmxpbmVicmVha1JlcGxhY2VtZW50PW51bGwsdGhpcy5jYWNoZWQ9T2JqZWN0LmNyZWF0ZShudWxsKTtsZXQgdD10aGlzLnNwZWM9e307Zm9yKGxldCBpIGluIGUpdFtpXT1lW2ldO3Qubm9kZXM9dUtlLmZyb20oZS5ub2RlcyksdC5tYXJrcz11S2UuZnJvbShlLm1hcmtzfHx7fSksdGhpcy5ub2Rlcz1XVS5jb21waWxlKHRoaXMuc3BlYy5ub2Rlcyx0aGlzKSx0aGlzLm1hcmtzPXZtLmNvbXBpbGUodGhpcy5zcGVjLm1hcmtzLHRoaXMpO2xldCByPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGxldCBpIGluIHRoaXMubm9kZXMpe2lmKGkgaW4gdGhpcy5tYXJrcyl0aHJvdyBuZXcgUmFuZ2VFcnJvcihpKyIgY2FuIG5vdCBiZSBib3RoIGEgbm9kZSBhbmQgYSBtYXJrIik7bGV0IG89dGhpcy5ub2Rlc1tpXSxuPW8uc3BlYy5jb250ZW50fHwiIixsPW8uc3BlYy5tYXJrcztpZihvLmNvbnRlbnRNYXRjaD1yW25dfHwocltuXT1mNC5wYXJzZShuLHRoaXMubm9kZXMpKSxvLmlubGluZUNvbnRlbnQ9by5jb250ZW50TWF0Y2guaW5saW5lQ29udGVudCxvLnNwZWMubGluZWJyZWFrUmVwbGFjZW1lbnQpe2lmKHRoaXMubGluZWJyZWFrUmVwbGFjZW1lbnQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk11bHRpcGxlIGxpbmVicmVhayBub2RlcyBkZWZpbmVkIik7aWYoIW8uaXNJbmxpbmV8fCFvLmlzTGVhZil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiTGluZWJyZWFrIHJlcGxhY2VtZW50IG5vZGVzIG11c3QgYmUgaW5saW5lIGxlYWYgbm9kZXMiKTt0aGlzLmxpbmVicmVha1JlcGxhY2VtZW50PW99by5tYXJrU2V0PWw9PSJfIj9udWxsOmw/amlhKHRoaXMsbC5zcGxpdCgiICIpKTpsPT0iInx8IW8uaW5saW5lQ29udGVudD9bXTpudWxsfWZvcihsZXQgaSBpbiB0aGlzLm1hcmtzKXtsZXQgbz10aGlzLm1hcmtzW2ldLG49by5zcGVjLmV4Y2x1ZGVzO28uZXhjbHVkZWQ9bj09bnVsbD9bb106bj09IiI/W106amlhKHRoaXMsbi5zcGxpdCgiICIpKX10aGlzLm5vZGVGcm9tSlNPTj1pPT5HaS5mcm9tSlNPTih0aGlzLGkpLHRoaXMubWFya0Zyb21KU09OPWk9PiRhLmZyb21KU09OKHRoaXMsaSksdGhpcy50b3BOb2RlVHlwZT10aGlzLm5vZGVzW3RoaXMuc3BlYy50b3BOb2RlfHwiZG9jIl0sdGhpcy5jYWNoZWQud3JhcHBpbmdzPU9iamVjdC5jcmVhdGUobnVsbCl9bm9kZShlLHQ9bnVsbCxyLGkpe2lmKHR5cGVvZiBlPT0ic3RyaW5nIillPXRoaXMubm9kZVR5cGUoZSk7ZWxzZSBpZihlIGluc3RhbmNlb2YgV1Upe2lmKGUuc2NoZW1hIT10aGlzKXRocm93IG5ldyBSYW5nZUVycm9yKCJOb2RlIHR5cGUgZnJvbSBkaWZmZXJlbnQgc2NoZW1hIHVzZWQgKCIrZS5uYW1lKyIpIil9ZWxzZSB0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBub2RlIHR5cGU6ICIrZSk7cmV0dXJuIGUuY3JlYXRlQ2hlY2tlZCh0LHIsaSl9dGV4dChlLHQpe2xldCByPXRoaXMubm9kZXMudGV4dDtyZXR1cm4gbmV3IG1LZShyLHIuZGVmYXVsdEF0dHJzLGUsJGEuc2V0RnJvbSh0KSl9bWFyayhlLHQpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyImJihlPXRoaXMubWFya3NbZV0pLGUuY3JlYXRlKHQpfW5vZGVUeXBlKGUpe2xldCB0PXRoaXMubm9kZXNbZV07aWYoIXQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlVua25vd24gbm9kZSB0eXBlOiAiK2UpO3JldHVybiB0fX07cyhqaWEsImdhdGhlck1hcmtzIik7cyhoRGEsImlzVGFnUnVsZSIpO3MobURhLCJpc1N0eWxlUnVsZSIpO04xPWNsYXNzIGF7c3RhdGlje3ModGhpcywiRE9NUGFyc2VyIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLnNjaGVtYT1lLHRoaXMucnVsZXM9dCx0aGlzLnRhZ3M9W10sdGhpcy5zdHlsZXM9W107bGV0IHI9dGhpcy5tYXRjaGVkU3R5bGVzPVtdO3QuZm9yRWFjaChpPT57aWYoaERhKGkpKXRoaXMudGFncy5wdXNoKGkpO2Vsc2UgaWYobURhKGkpKXtsZXQgbz0vW149XSovLmV4ZWMoaS5zdHlsZSlbMF07ci5pbmRleE9mKG8pPDAmJnIucHVzaChvKSx0aGlzLnN0eWxlcy5wdXNoKGkpfX0pLHRoaXMubm9ybWFsaXplTGlzdHM9IXRoaXMudGFncy5zb21lKGk9PntpZighL14odWx8b2wpXGIvLnRlc3QoaS50YWcpfHwhaS5ub2RlKXJldHVybiExO2xldCBvPWUubm9kZXNbaS5ub2RlXTtyZXR1cm4gby5jb250ZW50TWF0Y2gubWF0Y2hUeXBlKG8pfSl9cGFyc2UoZSx0PXt9KXtsZXQgcj1uZXcgSWFlKHRoaXMsdCwhMSk7cmV0dXJuIHIuYWRkQWxsKGUsJGEubm9uZSx0LmZyb20sdC50byksci5maW5pc2goKX1wYXJzZVNsaWNlKGUsdD17fSl7bGV0IHI9bmV3IElhZSh0aGlzLHQsITApO3JldHVybiByLmFkZEFsbChlLCRhLm5vbmUsdC5mcm9tLHQudG8pLGl0Lm1heE9wZW4oci5maW5pc2goKSl9bWF0Y2hUYWcoZSx0LHIpe2ZvcihsZXQgaT1yP3RoaXMudGFncy5pbmRleE9mKHIpKzE6MDtpPHRoaXMudGFncy5sZW5ndGg7aSsrKXtsZXQgbz10aGlzLnRhZ3NbaV07aWYodkRhKGUsby50YWcpJiYoby5uYW1lc3BhY2U9PT12b2lkIDB8fGUubmFtZXNwYWNlVVJJPT1vLm5hbWVzcGFjZSkmJighby5jb250ZXh0fHx0Lm1hdGNoZXNDb250ZXh0KG8uY29udGV4dCkpKXtpZihvLmdldEF0dHJzKXtsZXQgbj1vLmdldEF0dHJzKGUpO2lmKG49PT0hMSljb250aW51ZTtvLmF0dHJzPW58fHZvaWQgMH1yZXR1cm4gb319fW1hdGNoU3R5bGUoZSx0LHIsaSl7Zm9yKGxldCBvPWk/dGhpcy5zdHlsZXMuaW5kZXhPZihpKSsxOjA7bzx0aGlzLnN0eWxlcy5sZW5ndGg7bysrKXtsZXQgbj10aGlzLnN0eWxlc1tvXSxsPW4uc3R5bGU7aWYoIShsLmluZGV4T2YoZSkhPTB8fG4uY29udGV4dCYmIXIubWF0Y2hlc0NvbnRleHQobi5jb250ZXh0KXx8bC5sZW5ndGg+ZS5sZW5ndGgmJihsLmNoYXJDb2RlQXQoZS5sZW5ndGgpIT02MXx8bC5zbGljZShlLmxlbmd0aCsxKSE9dCkpKXtpZihuLmdldEF0dHJzKXtsZXQgZD1uLmdldEF0dHJzKHQpO2lmKGQ9PT0hMSljb250aW51ZTtuLmF0dHJzPWR8fHZvaWQgMH1yZXR1cm4gbn19fXN0YXRpYyBzY2hlbWFSdWxlcyhlKXtsZXQgdD1bXTtmdW5jdGlvbiByKGkpe2xldCBvPWkucHJpb3JpdHk9PW51bGw/NTA6aS5wcmlvcml0eSxuPTA7Zm9yKDtuPHQubGVuZ3RoO24rKyl7bGV0IGw9dFtuXTtpZigobC5wcmlvcml0eT09bnVsbD81MDpsLnByaW9yaXR5KTxvKWJyZWFrfXQuc3BsaWNlKG4sMCxpKX1zKHIsImluc2VydCIpO2ZvcihsZXQgaSBpbiBlLm1hcmtzKXtsZXQgbz1lLm1hcmtzW2ldLnNwZWMucGFyc2VET007byYmby5mb3JFYWNoKG49PntyKG49WWlhKG4pKSxuLm1hcmt8fG4uaWdub3JlfHxuLmNsZWFyTWFya3x8KG4ubWFyaz1pKX0pfWZvcihsZXQgaSBpbiBlLm5vZGVzKXtsZXQgbz1lLm5vZGVzW2ldLnNwZWMucGFyc2VET007byYmby5mb3JFYWNoKG49PntyKG49WWlhKG4pKSxuLm5vZGV8fG4uaWdub3JlfHxuLm1hcmt8fChuLm5vZGU9aSl9KX1yZXR1cm4gdH1zdGF0aWMgZnJvbVNjaGVtYShlKXtyZXR1cm4gZS5jYWNoZWQuZG9tUGFyc2VyfHwoZS5jYWNoZWQuZG9tUGFyc2VyPW5ldyBhKGUsYS5zY2hlbWFSdWxlcyhlKSkpfX0sVWlhPXthZGRyZXNzOiEwLGFydGljbGU6ITAsYXNpZGU6ITAsYmxvY2txdW90ZTohMCxjYW52YXM6ITAsZGQ6ITAsZGl2OiEwLGRsOiEwLGZpZWxkc2V0OiEwLGZpZ2NhcHRpb246ITAsZmlndXJlOiEwLGZvb3RlcjohMCxmb3JtOiEwLGgxOiEwLGgyOiEwLGgzOiEwLGg0OiEwLGg1OiEwLGg2OiEwLGhlYWRlcjohMCxoZ3JvdXA6ITAsaHI6ITAsbGk6ITAsbm9zY3JpcHQ6ITAsb2w6ITAsb3V0cHV0OiEwLHA6ITAscHJlOiEwLHNlY3Rpb246ITAsdGFibGU6ITAsdGZvb3Q6ITAsdWw6ITB9LGdEYT17aGVhZDohMCxub3NjcmlwdDohMCxvYmplY3Q6ITAsc2NyaXB0OiEwLHN0eWxlOiEwLHRpdGxlOiEwfSxXaWE9e29sOiEwLHVsOiEwfSxHVT0xLHZLZT0yLFlVPTQ7cyhHaWEsIndzT3B0aW9uc0ZvciIpO2JtPWNsYXNze3N0YXRpY3tzKHRoaXMsIk5vZGVDb250ZXh0Iil9Y29uc3RydWN0b3IoZSx0LHIsaSxvLG4pe3RoaXMudHlwZT1lLHRoaXMuYXR0cnM9dCx0aGlzLm1hcmtzPXIsdGhpcy5zb2xpZD1pLHRoaXMub3B0aW9ucz1uLHRoaXMuY29udGVudD1bXSx0aGlzLmFjdGl2ZU1hcmtzPSRhLm5vbmUsdGhpcy5tYXRjaD1vfHwobiZZVT9udWxsOmUuY29udGVudE1hdGNoKX1maW5kV3JhcHBpbmcoZSl7aWYoIXRoaXMubWF0Y2gpe2lmKCF0aGlzLnR5cGUpcmV0dXJuW107bGV0IHQ9dGhpcy50eXBlLmNvbnRlbnRNYXRjaC5maWxsQmVmb3JlKFZlLmZyb20oZSkpO2lmKHQpdGhpcy5tYXRjaD10aGlzLnR5cGUuY29udGVudE1hdGNoLm1hdGNoRnJhZ21lbnQodCk7ZWxzZXtsZXQgcj10aGlzLnR5cGUuY29udGVudE1hdGNoLGk7cmV0dXJuKGk9ci5maW5kV3JhcHBpbmcoZS50eXBlKSk/KHRoaXMubWF0Y2g9cixpKTpudWxsfX1yZXR1cm4gdGhpcy5tYXRjaC5maW5kV3JhcHBpbmcoZS50eXBlKX1maW5pc2goZSl7aWYoISh0aGlzLm9wdGlvbnMmR1UpKXtsZXQgcj10aGlzLmNvbnRlbnRbdGhpcy5jb250ZW50Lmxlbmd0aC0xXSxpO2lmKHImJnIuaXNUZXh0JiYoaT0vWyBcdFxyXG5cdTAwMGNdKyQvLmV4ZWMoci50ZXh0KSkpe2xldCBvPXI7ci50ZXh0Lmxlbmd0aD09aVswXS5sZW5ndGg/dGhpcy5jb250ZW50LnBvcCgpOnRoaXMuY29udGVudFt0aGlzLmNvbnRlbnQubGVuZ3RoLTFdPW8ud2l0aFRleHQoby50ZXh0LnNsaWNlKDAsby50ZXh0Lmxlbmd0aC1pWzBdLmxlbmd0aCkpfX1sZXQgdD1WZS5mcm9tKHRoaXMuY29udGVudCk7cmV0dXJuIWUmJnRoaXMubWF0Y2gmJih0PXQuYXBwZW5kKHRoaXMubWF0Y2guZmlsbEJlZm9yZShWZS5lbXB0eSwhMCkpKSx0aGlzLnR5cGU/dGhpcy50eXBlLmNyZWF0ZSh0aGlzLmF0dHJzLHQsdGhpcy5tYXJrcyk6dH1pbmxpbmVDb250ZXh0KGUpe3JldHVybiB0aGlzLnR5cGU/dGhpcy50eXBlLmlubGluZUNvbnRlbnQ6dGhpcy5jb250ZW50Lmxlbmd0aD90aGlzLmNvbnRlbnRbMF0uaXNJbmxpbmU6ZS5wYXJlbnROb2RlJiYhVWlhLmhhc093blByb3BlcnR5KGUucGFyZW50Tm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKX19LElhZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJQYXJzZUNvbnRleHQiKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy5wYXJzZXI9ZSx0aGlzLm9wdGlvbnM9dCx0aGlzLmlzT3Blbj1yLHRoaXMub3Blbj0wLHRoaXMubG9jYWxQcmVzZXJ2ZVdTPSExO2xldCBpPXQudG9wTm9kZSxvLG49R2lhKG51bGwsdC5wcmVzZXJ2ZVdoaXRlc3BhY2UsMCl8KHI/WVU6MCk7aT9vPW5ldyBibShpLnR5cGUsaS5hdHRycywkYS5ub25lLCEwLHQudG9wTWF0Y2h8fGkudHlwZS5jb250ZW50TWF0Y2gsbik6cj9vPW5ldyBibShudWxsLG51bGwsJGEubm9uZSwhMCxudWxsLG4pOm89bmV3IGJtKGUuc2NoZW1hLnRvcE5vZGVUeXBlLG51bGwsJGEubm9uZSwhMCxudWxsLG4pLHRoaXMubm9kZXM9W29dLHRoaXMuZmluZD10LmZpbmRQb3NpdGlvbnMsdGhpcy5uZWVkc0Jsb2NrPSExfWdldCB0b3AoKXtyZXR1cm4gdGhpcy5ub2Rlc1t0aGlzLm9wZW5dfWFkZERPTShlLHQpe2Uubm9kZVR5cGU9PTM/dGhpcy5hZGRUZXh0Tm9kZShlLHQpOmUubm9kZVR5cGU9PTEmJnRoaXMuYWRkRWxlbWVudChlLHQpfWFkZFRleHROb2RlKGUsdCl7bGV0IHI9ZS5ub2RlVmFsdWUsaT10aGlzLnRvcCxvPWkub3B0aW9ucyZ2S2U/ImZ1bGwiOnRoaXMubG9jYWxQcmVzZXJ2ZVdTfHwoaS5vcHRpb25zJkdVKT4wLHtzY2hlbWE6bn09dGhpcy5wYXJzZXI7aWYobz09PSJmdWxsInx8aS5pbmxpbmVDb250ZXh0KGUpfHwvW14gXHRcclxuXHUwMDBjXS8udGVzdChyKSl7aWYobylpZihvPT09ImZ1bGwiKXI9ci5yZXBsYWNlKC9cclxuPy9nLGAKYCk7ZWxzZSBpZihuLmxpbmVicmVha1JlcGxhY2VtZW50JiYvW1xyXG5dLy50ZXN0KHIpJiZ0aGlzLnRvcC5maW5kV3JhcHBpbmcobi5saW5lYnJlYWtSZXBsYWNlbWVudC5jcmVhdGUoKSkpe2xldCBsPXIuc3BsaXQoL1xyP1xufFxyLyk7Zm9yKGxldCBkPTA7ZDxsLmxlbmd0aDtkKyspZCYmdGhpcy5pbnNlcnROb2RlKG4ubGluZWJyZWFrUmVwbGFjZW1lbnQuY3JlYXRlKCksdCwhMCksbFtkXSYmdGhpcy5pbnNlcnROb2RlKG4udGV4dChsW2RdKSx0LCEvXFMvLnRlc3QobFtkXSkpO3I9IiJ9ZWxzZSByPXIucmVwbGFjZSgvXHI/XG58XHIvZywiICIpO2Vsc2UgaWYocj1yLnJlcGxhY2UoL1sgXHRcclxuXHUwMDBjXSsvZywiICIpLC9eWyBcdFxyXG5cdTAwMGNdLy50ZXN0KHIpJiZ0aGlzLm9wZW49PXRoaXMubm9kZXMubGVuZ3RoLTEpe2xldCBsPWkuY29udGVudFtpLmNvbnRlbnQubGVuZ3RoLTFdLGQ9ZS5wcmV2aW91c1NpYmxpbmc7KCFsfHxkJiZkLm5vZGVOYW1lPT0iQlIifHxsLmlzVGV4dCYmL1sgXHRcclxuXHUwMDBjXSQvLnRlc3QobC50ZXh0KSkmJihyPXIuc2xpY2UoMSkpfXImJnRoaXMuaW5zZXJ0Tm9kZShuLnRleHQociksdCwhL1xTLy50ZXN0KHIpKSx0aGlzLmZpbmRJblRleHQoZSl9ZWxzZSB0aGlzLmZpbmRJbnNpZGUoZSl9YWRkRWxlbWVudChlLHQscil7bGV0IGk9dGhpcy5sb2NhbFByZXNlcnZlV1Msbz10aGlzLnRvcDsoZS50YWdOYW1lPT0iUFJFInx8L3ByZS8udGVzdChlLnN0eWxlJiZlLnN0eWxlLndoaXRlU3BhY2UpKSYmKHRoaXMubG9jYWxQcmVzZXJ2ZVdTPSEwKTtsZXQgbj1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksbDtXaWEuaGFzT3duUHJvcGVydHkobikmJnRoaXMucGFyc2VyLm5vcm1hbGl6ZUxpc3RzJiZiRGEoZSk7bGV0IGQ9dGhpcy5vcHRpb25zLnJ1bGVGcm9tTm9kZSYmdGhpcy5vcHRpb25zLnJ1bGVGcm9tTm9kZShlKXx8KGw9dGhpcy5wYXJzZXIubWF0Y2hUYWcoZSx0aGlzLHIpKTtlOmlmKGQ/ZC5pZ25vcmU6Z0RhLmhhc093blByb3BlcnR5KG4pKXRoaXMuZmluZEluc2lkZShlKSx0aGlzLmlnbm9yZUZhbGxiYWNrKGUsdCk7ZWxzZSBpZighZHx8ZC5za2lwfHxkLmNsb3NlUGFyZW50KXtkJiZkLmNsb3NlUGFyZW50P3RoaXMub3Blbj1NYXRoLm1heCgwLHRoaXMub3Blbi0xKTpkJiZkLnNraXAubm9kZVR5cGUmJihlPWQuc2tpcCk7bGV0IGMscD10aGlzLm5lZWRzQmxvY2s7aWYoVWlhLmhhc093blByb3BlcnR5KG4pKW8uY29udGVudC5sZW5ndGgmJm8uY29udGVudFswXS5pc0lubGluZSYmdGhpcy5vcGVuJiYodGhpcy5vcGVuLS0sbz10aGlzLnRvcCksYz0hMCxvLnR5cGV8fCh0aGlzLm5lZWRzQmxvY2s9ITApO2Vsc2UgaWYoIWUuZmlyc3RDaGlsZCl7dGhpcy5sZWFmRmFsbGJhY2soZSx0KTticmVhayBlfWxldCB1PWQmJmQuc2tpcD90OnRoaXMucmVhZFN0eWxlcyhlLHQpO3UmJnRoaXMuYWRkQWxsKGUsdSksYyYmdGhpcy5zeW5jKG8pLHRoaXMubmVlZHNCbG9jaz1wfWVsc2V7bGV0IGM9dGhpcy5yZWFkU3R5bGVzKGUsdCk7YyYmdGhpcy5hZGRFbGVtZW50QnlSdWxlKGUsZCxjLGQuY29uc3VtaW5nPT09ITE/bDp2b2lkIDApfXRoaXMubG9jYWxQcmVzZXJ2ZVdTPWl9bGVhZkZhbGxiYWNrKGUsdCl7ZS5ub2RlTmFtZT09IkJSIiYmdGhpcy50b3AudHlwZSYmdGhpcy50b3AudHlwZS5pbmxpbmVDb250ZW50JiZ0aGlzLmFkZFRleHROb2RlKGUub3duZXJEb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShgCmApLHQpfWlnbm9yZUZhbGxiYWNrKGUsdCl7ZS5ub2RlTmFtZT09IkJSIiYmKCF0aGlzLnRvcC50eXBlfHwhdGhpcy50b3AudHlwZS5pbmxpbmVDb250ZW50KSYmdGhpcy5maW5kUGxhY2UodGhpcy5wYXJzZXIuc2NoZW1hLnRleHQoIi0iKSx0LCEwKX1yZWFkU3R5bGVzKGUsdCl7bGV0IHI9ZS5zdHlsZTtpZihyJiZyLmxlbmd0aClmb3IobGV0IGk9MDtpPHRoaXMucGFyc2VyLm1hdGNoZWRTdHlsZXMubGVuZ3RoO2krKyl7bGV0IG89dGhpcy5wYXJzZXIubWF0Y2hlZFN0eWxlc1tpXSxuPXIuZ2V0UHJvcGVydHlWYWx1ZShvKTtpZihuKWZvcihsZXQgbD12b2lkIDA7Oyl7bGV0IGQ9dGhpcy5wYXJzZXIubWF0Y2hTdHlsZShvLG4sdGhpcyxsKTtpZighZClicmVhaztpZihkLmlnbm9yZSlyZXR1cm4gbnVsbDtpZihkLmNsZWFyTWFyaz90PXQuZmlsdGVyKGM9PiFkLmNsZWFyTWFyayhjKSk6dD10LmNvbmNhdCh0aGlzLnBhcnNlci5zY2hlbWEubWFya3NbZC5tYXJrXS5jcmVhdGUoZC5hdHRycykpLGQuY29uc3VtaW5nPT09ITEpbD1kO2Vsc2UgYnJlYWt9fXJldHVybiB0fWFkZEVsZW1lbnRCeVJ1bGUoZSx0LHIsaSl7bGV0IG8sbjtpZih0Lm5vZGUpaWYobj10aGlzLnBhcnNlci5zY2hlbWEubm9kZXNbdC5ub2RlXSxuLmlzTGVhZil0aGlzLmluc2VydE5vZGUobi5jcmVhdGUodC5hdHRycykscixlLm5vZGVOYW1lPT0iQlIiKXx8dGhpcy5sZWFmRmFsbGJhY2soZSxyKTtlbHNle2xldCBkPXRoaXMuZW50ZXIobix0LmF0dHJzfHxudWxsLHIsdC5wcmVzZXJ2ZVdoaXRlc3BhY2UpO2QmJihvPSEwLHI9ZCl9ZWxzZXtsZXQgZD10aGlzLnBhcnNlci5zY2hlbWEubWFya3NbdC5tYXJrXTtyPXIuY29uY2F0KGQuY3JlYXRlKHQuYXR0cnMpKX1sZXQgbD10aGlzLnRvcDtpZihuJiZuLmlzTGVhZil0aGlzLmZpbmRJbnNpZGUoZSk7ZWxzZSBpZihpKXRoaXMuYWRkRWxlbWVudChlLHIsaSk7ZWxzZSBpZih0LmdldENvbnRlbnQpdGhpcy5maW5kSW5zaWRlKGUpLHQuZ2V0Q29udGVudChlLHRoaXMucGFyc2VyLnNjaGVtYSkuZm9yRWFjaChkPT50aGlzLmluc2VydE5vZGUoZCxyLCExKSk7ZWxzZXtsZXQgZD1lO3R5cGVvZiB0LmNvbnRlbnRFbGVtZW50PT0ic3RyaW5nIj9kPWUucXVlcnlTZWxlY3Rvcih0LmNvbnRlbnRFbGVtZW50KTp0eXBlb2YgdC5jb250ZW50RWxlbWVudD09ImZ1bmN0aW9uIj9kPXQuY29udGVudEVsZW1lbnQoZSk6dC5jb250ZW50RWxlbWVudCYmKGQ9dC5jb250ZW50RWxlbWVudCksdGhpcy5maW5kQXJvdW5kKGUsZCwhMCksdGhpcy5hZGRBbGwoZCxyKSx0aGlzLmZpbmRBcm91bmQoZSxkLCExKX1vJiZ0aGlzLnN5bmMobCkmJnRoaXMub3Blbi0tfWFkZEFsbChlLHQscixpKXtsZXQgbz1yfHwwO2ZvcihsZXQgbj1yP2UuY2hpbGROb2Rlc1tyXTplLmZpcnN0Q2hpbGQsbD1pPT1udWxsP251bGw6ZS5jaGlsZE5vZGVzW2ldO24hPWw7bj1uLm5leHRTaWJsaW5nLCsrbyl0aGlzLmZpbmRBdFBvaW50KGUsbyksdGhpcy5hZGRET00obix0KTt0aGlzLmZpbmRBdFBvaW50KGUsbyl9ZmluZFBsYWNlKGUsdCxyKXtsZXQgaSxvO2ZvcihsZXQgbj10aGlzLm9wZW4sbD0wO24+PTA7bi0tKXtsZXQgZD10aGlzLm5vZGVzW25dLGM9ZC5maW5kV3JhcHBpbmcoZSk7aWYoYyYmKCFpfHxpLmxlbmd0aD5jLmxlbmd0aCtsKSYmKGk9YyxvPWQsIWMubGVuZ3RoKSlicmVhaztpZihkLnNvbGlkKXtpZihyKWJyZWFrO2wrPTJ9fWlmKCFpKXJldHVybiBudWxsO3RoaXMuc3luYyhvKTtmb3IobGV0IG49MDtuPGkubGVuZ3RoO24rKyl0PXRoaXMuZW50ZXJJbm5lcihpW25dLG51bGwsdCwhMSk7cmV0dXJuIHR9aW5zZXJ0Tm9kZShlLHQscil7aWYoZS5pc0lubGluZSYmdGhpcy5uZWVkc0Jsb2NrJiYhdGhpcy50b3AudHlwZSl7bGV0IG89dGhpcy50ZXh0YmxvY2tGcm9tQ29udGV4dCgpO28mJih0PXRoaXMuZW50ZXJJbm5lcihvLG51bGwsdCkpfWxldCBpPXRoaXMuZmluZFBsYWNlKGUsdCxyKTtpZihpKXt0aGlzLmNsb3NlRXh0cmEoKTtsZXQgbz10aGlzLnRvcDtvLm1hdGNoJiYoby5tYXRjaD1vLm1hdGNoLm1hdGNoVHlwZShlLnR5cGUpKTtsZXQgbj0kYS5ub25lO2ZvcihsZXQgbCBvZiBpLmNvbmNhdChlLm1hcmtzKSkoby50eXBlP28udHlwZS5hbGxvd3NNYXJrVHlwZShsLnR5cGUpOktpYShsLnR5cGUsZS50eXBlKSkmJihuPWwuYWRkVG9TZXQobikpO3JldHVybiBvLmNvbnRlbnQucHVzaChlLm1hcmsobikpLCEwfXJldHVybiExfWVudGVyKGUsdCxyLGkpe2xldCBvPXRoaXMuZmluZFBsYWNlKGUuY3JlYXRlKHQpLHIsITEpO3JldHVybiBvJiYobz10aGlzLmVudGVySW5uZXIoZSx0LHIsITAsaSkpLG99ZW50ZXJJbm5lcihlLHQscixpPSExLG8pe3RoaXMuY2xvc2VFeHRyYSgpO2xldCBuPXRoaXMudG9wO24ubWF0Y2g9bi5tYXRjaCYmbi5tYXRjaC5tYXRjaFR5cGUoZSk7bGV0IGw9R2lhKGUsbyxuLm9wdGlvbnMpO24ub3B0aW9ucyZZVSYmbi5jb250ZW50Lmxlbmd0aD09MCYmKGx8PVlVKTtsZXQgZD0kYS5ub25lO3JldHVybiByPXIuZmlsdGVyKGM9PihuLnR5cGU/bi50eXBlLmFsbG93c01hcmtUeXBlKGMudHlwZSk6S2lhKGMudHlwZSxlKSk/KGQ9Yy5hZGRUb1NldChkKSwhMSk6ITApLHRoaXMubm9kZXMucHVzaChuZXcgYm0oZSx0LGQsaSxudWxsLGwpKSx0aGlzLm9wZW4rKyxyfWNsb3NlRXh0cmEoZT0hMSl7bGV0IHQ9dGhpcy5ub2Rlcy5sZW5ndGgtMTtpZih0PnRoaXMub3Blbil7Zm9yKDt0PnRoaXMub3Blbjt0LS0pdGhpcy5ub2Rlc1t0LTFdLmNvbnRlbnQucHVzaCh0aGlzLm5vZGVzW3RdLmZpbmlzaChlKSk7dGhpcy5ub2Rlcy5sZW5ndGg9dGhpcy5vcGVuKzF9fWZpbmlzaCgpe3JldHVybiB0aGlzLm9wZW49MCx0aGlzLmNsb3NlRXh0cmEodGhpcy5pc09wZW4pLHRoaXMubm9kZXNbMF0uZmluaXNoKCEhKHRoaXMuaXNPcGVufHx0aGlzLm9wdGlvbnMudG9wT3BlbikpfXN5bmMoZSl7Zm9yKGxldCB0PXRoaXMub3Blbjt0Pj0wO3QtLSl7aWYodGhpcy5ub2Rlc1t0XT09ZSlyZXR1cm4gdGhpcy5vcGVuPXQsITA7dGhpcy5sb2NhbFByZXNlcnZlV1MmJih0aGlzLm5vZGVzW3RdLm9wdGlvbnN8PUdVKX1yZXR1cm4hMX1nZXQgY3VycmVudFBvcygpe3RoaXMuY2xvc2VFeHRyYSgpO2xldCBlPTA7Zm9yKGxldCB0PXRoaXMub3Blbjt0Pj0wO3QtLSl7bGV0IHI9dGhpcy5ub2Rlc1t0XS5jb250ZW50O2ZvcihsZXQgaT1yLmxlbmd0aC0xO2k+PTA7aS0tKWUrPXJbaV0ubm9kZVNpemU7dCYmZSsrfXJldHVybiBlfWZpbmRBdFBvaW50KGUsdCl7aWYodGhpcy5maW5kKWZvcihsZXQgcj0wO3I8dGhpcy5maW5kLmxlbmd0aDtyKyspdGhpcy5maW5kW3JdLm5vZGU9PWUmJnRoaXMuZmluZFtyXS5vZmZzZXQ9PXQmJih0aGlzLmZpbmRbcl0ucG9zPXRoaXMuY3VycmVudFBvcyl9ZmluZEluc2lkZShlKXtpZih0aGlzLmZpbmQpZm9yKGxldCB0PTA7dDx0aGlzLmZpbmQubGVuZ3RoO3QrKyl0aGlzLmZpbmRbdF0ucG9zPT1udWxsJiZlLm5vZGVUeXBlPT0xJiZlLmNvbnRhaW5zKHRoaXMuZmluZFt0XS5ub2RlKSYmKHRoaXMuZmluZFt0XS5wb3M9dGhpcy5jdXJyZW50UG9zKX1maW5kQXJvdW5kKGUsdCxyKXtpZihlIT10JiZ0aGlzLmZpbmQpZm9yKGxldCBpPTA7aTx0aGlzLmZpbmQubGVuZ3RoO2krKyl0aGlzLmZpbmRbaV0ucG9zPT1udWxsJiZlLm5vZGVUeXBlPT0xJiZlLmNvbnRhaW5zKHRoaXMuZmluZFtpXS5ub2RlKSYmdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0aGlzLmZpbmRbaV0ubm9kZSkmKHI/Mjo0KSYmKHRoaXMuZmluZFtpXS5wb3M9dGhpcy5jdXJyZW50UG9zKX1maW5kSW5UZXh0KGUpe2lmKHRoaXMuZmluZClmb3IobGV0IHQ9MDt0PHRoaXMuZmluZC5sZW5ndGg7dCsrKXRoaXMuZmluZFt0XS5ub2RlPT1lJiYodGhpcy5maW5kW3RdLnBvcz10aGlzLmN1cnJlbnRQb3MtKGUubm9kZVZhbHVlLmxlbmd0aC10aGlzLmZpbmRbdF0ub2Zmc2V0KSl9bWF0Y2hlc0NvbnRleHQoZSl7aWYoZS5pbmRleE9mKCJ8Iik+LTEpcmV0dXJuIGUuc3BsaXQoL1xzKlx8XHMqLykuc29tZSh0aGlzLm1hdGNoZXNDb250ZXh0LHRoaXMpO2xldCB0PWUuc3BsaXQoIi8iKSxyPXRoaXMub3B0aW9ucy5jb250ZXh0LGk9IXRoaXMuaXNPcGVuJiYoIXJ8fHIucGFyZW50LnR5cGU9PXRoaXMubm9kZXNbMF0udHlwZSksbz0tKHI/ci5kZXB0aCsxOjApKyhpPzA6MSksbj1zKChsLGQpPT57Zm9yKDtsPj0wO2wtLSl7bGV0IGM9dFtsXTtpZihjPT0iIil7aWYobD09dC5sZW5ndGgtMXx8bD09MCljb250aW51ZTtmb3IoO2Q+PW87ZC0tKWlmKG4obC0xLGQpKXJldHVybiEwO3JldHVybiExfWVsc2V7bGV0IHA9ZD4wfHxkPT0wJiZpP3RoaXMubm9kZXNbZF0udHlwZTpyJiZkPj1vP3Iubm9kZShkLW8pLnR5cGU6bnVsbDtpZighcHx8cC5uYW1lIT1jJiYhcC5pc0luR3JvdXAoYykpcmV0dXJuITE7ZC0tfX1yZXR1cm4hMH0sIm1hdGNoIik7cmV0dXJuIG4odC5sZW5ndGgtMSx0aGlzLm9wZW4pfXRleHRibG9ja0Zyb21Db250ZXh0KCl7bGV0IGU9dGhpcy5vcHRpb25zLmNvbnRleHQ7aWYoZSlmb3IobGV0IHQ9ZS5kZXB0aDt0Pj0wO3QtLSl7bGV0IHI9ZS5ub2RlKHQpLmNvbnRlbnRNYXRjaEF0KGUuaW5kZXhBZnRlcih0KSkuZGVmYXVsdFR5cGU7aWYociYmci5pc1RleHRibG9jayYmci5kZWZhdWx0QXR0cnMpcmV0dXJuIHJ9Zm9yKGxldCB0IGluIHRoaXMucGFyc2VyLnNjaGVtYS5ub2Rlcyl7bGV0IHI9dGhpcy5wYXJzZXIuc2NoZW1hLm5vZGVzW3RdO2lmKHIuaXNUZXh0YmxvY2smJnIuZGVmYXVsdEF0dHJzKXJldHVybiByfX19O3MoYkRhLCJub3JtYWxpemVMaXN0Iik7cyh2RGEsIm1hdGNoZXMiKTtzKFlpYSwiY29weSIpO3MoS2lhLCJtYXJrTWF5QXBwbHkiKTtZMj1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkRPTVNlcmlhbGl6ZXIiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMubm9kZXM9ZSx0aGlzLm1hcmtzPXR9c2VyaWFsaXplRnJhZ21lbnQoZSx0PXt9LHIpe3J8fChyPXhLZSh0KS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkpO2xldCBpPXIsbz1bXTtyZXR1cm4gZS5mb3JFYWNoKG49PntpZihvLmxlbmd0aHx8bi5tYXJrcy5sZW5ndGgpe2xldCBsPTAsZD0wO2Zvcig7bDxvLmxlbmd0aCYmZDxuLm1hcmtzLmxlbmd0aDspe2xldCBjPW4ubWFya3NbZF07aWYoIXRoaXMubWFya3NbYy50eXBlLm5hbWVdKXtkKys7Y29udGludWV9aWYoIWMuZXEob1tsXVswXSl8fGMudHlwZS5zcGVjLnNwYW5uaW5nPT09ITEpYnJlYWs7bCsrLGQrK31mb3IoO2w8by5sZW5ndGg7KWk9by5wb3AoKVsxXTtmb3IoO2Q8bi5tYXJrcy5sZW5ndGg7KXtsZXQgYz1uLm1hcmtzW2QrK10scD10aGlzLnNlcmlhbGl6ZU1hcmsoYyxuLmlzSW5saW5lLHQpO3AmJihvLnB1c2goW2MsaV0pLGkuYXBwZW5kQ2hpbGQocC5kb20pLGk9cC5jb250ZW50RE9NfHxwLmRvbSl9fWkuYXBwZW5kQ2hpbGQodGhpcy5zZXJpYWxpemVOb2RlSW5uZXIobix0KSl9KSxyfXNlcmlhbGl6ZU5vZGVJbm5lcihlLHQpe2xldHtkb206cixjb250ZW50RE9NOml9PU5hZSh4S2UodCksdGhpcy5ub2Rlc1tlLnR5cGUubmFtZV0oZSksbnVsbCxlLmF0dHJzKTtpZihpKXtpZihlLmlzTGVhZil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ29udGVudCBob2xlIG5vdCBhbGxvd2VkIGluIGEgbGVhZiBub2RlIHNwZWMiKTt0aGlzLnNlcmlhbGl6ZUZyYWdtZW50KGUuY29udGVudCx0LGkpfXJldHVybiByfXNlcmlhbGl6ZU5vZGUoZSx0PXt9KXtsZXQgcj10aGlzLnNlcmlhbGl6ZU5vZGVJbm5lcihlLHQpO2ZvcihsZXQgaT1lLm1hcmtzLmxlbmd0aC0xO2k+PTA7aS0tKXtsZXQgbz10aGlzLnNlcmlhbGl6ZU1hcmsoZS5tYXJrc1tpXSxlLmlzSW5saW5lLHQpO28mJigoby5jb250ZW50RE9NfHxvLmRvbSkuYXBwZW5kQ2hpbGQocikscj1vLmRvbSl9cmV0dXJuIHJ9c2VyaWFsaXplTWFyayhlLHQscj17fSl7bGV0IGk9dGhpcy5tYXJrc1tlLnR5cGUubmFtZV07cmV0dXJuIGkmJk5hZSh4S2UociksaShlLHQpLG51bGwsZS5hdHRycyl9c3RhdGljIHJlbmRlclNwZWMoZSx0LHI9bnVsbCxpKXtyZXR1cm4gTmFlKGUsdCxyLGkpfXN0YXRpYyBmcm9tU2NoZW1hKGUpe3JldHVybiBlLmNhY2hlZC5kb21TZXJpYWxpemVyfHwoZS5jYWNoZWQuZG9tU2VyaWFsaXplcj1uZXcgYSh0aGlzLm5vZGVzRnJvbVNjaGVtYShlKSx0aGlzLm1hcmtzRnJvbVNjaGVtYShlKSkpfXN0YXRpYyBub2Rlc0Zyb21TY2hlbWEoZSl7bGV0IHQ9WmlhKGUubm9kZXMpO3JldHVybiB0LnRleHR8fCh0LnRleHQ9cj0+ci50ZXh0KSx0fXN0YXRpYyBtYXJrc0Zyb21TY2hlbWEoZSl7cmV0dXJuIFppYShlLm1hcmtzKX19O3MoWmlhLCJnYXRoZXJUb0RPTSIpO3MoeEtlLCJkb2MiKTtYaWE9bmV3IFdlYWtNYXA7cyh4RGEsInN1c3BpY2lvdXNBdHRyaWJ1dGVzIik7cyh5RGEsInN1c3BpY2lvdXNBdHRyaWJ1dGVzSW5uZXIiKTtzKE5hZSwicmVuZGVyU3BlYyIpfSk7ZnVuY3Rpb24gd0RhKGEsZSl7cmV0dXJuIGErZSpKaWF9ZnVuY3Rpb24gZW9hKGEpe3JldHVybiBhJlFpYX1mdW5jdGlvbiBNRGEoYSl7cmV0dXJuKGEtKGEmUWlhKSkvSmlhfWZ1bmN0aW9uIHdLZShhLGUsdCl7bGV0IHI9W107Zm9yKGxldCBpPTA7aTxhLmNoaWxkQ291bnQ7aSsrKXtsZXQgbz1hLmNoaWxkKGkpO28uY29udGVudC5zaXplJiYobz1vLmNvcHkod0tlKG8uY29udGVudCxlLG8pKSksby5pc0lubGluZSYmKG89ZShvLHQsaSkpLHIucHVzaChvKX1yZXR1cm4gVmUuZnJvbUFycmF5KHIpfWZ1bmN0aW9uIE1LZShhLGUsdCl7bGV0IHI9YS5yZXNvbHZlKGUpLGk9dC1lLG89ci5kZXB0aDtmb3IoO2k+MCYmbz4wJiZyLmluZGV4QWZ0ZXIobyk9PXIubm9kZShvKS5jaGlsZENvdW50OylvLS0saS0tO2lmKGk+MCl7bGV0IG49ci5ub2RlKG8pLm1heWJlQ2hpbGQoci5pbmRleEFmdGVyKG8pKTtmb3IoO2k+MDspe2lmKCFufHxuLmlzTGVhZilyZXR1cm4hMDtuPW4uZmlyc3RDaGlsZCxpLS19fXJldHVybiExfWZ1bmN0aW9uIGtEYShhLGUsdCxyKXtsZXQgaT1bXSxvPVtdLG4sbDthLmRvYy5ub2Rlc0JldHdlZW4oZSx0LChkLGMscCk9PntpZighZC5pc0lubGluZSlyZXR1cm47bGV0IHU9ZC5tYXJrcztpZighci5pc0luU2V0KHUpJiZwLnR5cGUuYWxsb3dzTWFya1R5cGUoci50eXBlKSl7bGV0IG09TWF0aC5tYXgoYyxlKSx2PU1hdGgubWluKGMrZC5ub2RlU2l6ZSx0KSx4PXIuYWRkVG9TZXQodSk7Zm9yKGxldCBiPTA7Yjx1Lmxlbmd0aDtiKyspdVtiXS5pc0luU2V0KHgpfHwobiYmbi50bz09bSYmbi5tYXJrLmVxKHVbYl0pP24udG89djppLnB1c2gobj1uZXcgYjQobSx2LHVbYl0pKSk7bCYmbC50bz09bT9sLnRvPXY6by5wdXNoKGw9bmV3IHdtKG0sdixyKSl9fSksaS5mb3JFYWNoKGQ9PmEuc3RlcChkKSksby5mb3JFYWNoKGQ9PmEuc3RlcChkKSl9ZnVuY3Rpb24gU0RhKGEsZSx0LHIpe2xldCBpPVtdLG89MDthLmRvYy5ub2Rlc0JldHdlZW4oZSx0LChuLGwpPT57aWYoIW4uaXNJbmxpbmUpcmV0dXJuO28rKztsZXQgZD1udWxsO2lmKHIgaW5zdGFuY2VvZiB2bSl7bGV0IGM9bi5tYXJrcyxwO2Zvcig7cD1yLmlzSW5TZXQoYyk7KShkfHwoZD1bXSkpLnB1c2gocCksYz1wLnJlbW92ZUZyb21TZXQoYyl9ZWxzZSByP3IuaXNJblNldChuLm1hcmtzKSYmKGQ9W3JdKTpkPW4ubWFya3M7aWYoZCYmZC5sZW5ndGgpe2xldCBjPU1hdGgubWluKGwrbi5ub2RlU2l6ZSx0KTtmb3IobGV0IHA9MDtwPGQubGVuZ3RoO3ArKyl7bGV0IHU9ZFtwXSxtO2ZvcihsZXQgdj0wO3Y8aS5sZW5ndGg7disrKXtsZXQgeD1pW3ZdO3guc3RlcD09by0xJiZ1LmVxKGlbdl0uc3R5bGUpJiYobT14KX1tPyhtLnRvPWMsbS5zdGVwPW8pOmkucHVzaCh7c3R5bGU6dSxmcm9tOk1hdGgubWF4KGwsZSksdG86YyxzdGVwOm99KX19fSksaS5mb3JFYWNoKG49PmEuc3RlcChuZXcgYjQobi5mcm9tLG4udG8sbi5zdHlsZSkpKX1mdW5jdGlvbiBrS2UoYSxlLHQscj10LmNvbnRlbnRNYXRjaCxpPSEwKXtsZXQgbz1hLmRvYy5ub2RlQXQoZSksbj1bXSxsPWUrMTtmb3IobGV0IGQ9MDtkPG8uY2hpbGRDb3VudDtkKyspe2xldCBjPW8uY2hpbGQoZCkscD1sK2Mubm9kZVNpemUsdT1yLm1hdGNoVHlwZShjLnR5cGUpO2lmKCF1KW4ucHVzaChuZXcgR3MobCxwLGl0LmVtcHR5KSk7ZWxzZXtyPXU7Zm9yKGxldCBtPTA7bTxjLm1hcmtzLmxlbmd0aDttKyspdC5hbGxvd3NNYXJrVHlwZShjLm1hcmtzW21dLnR5cGUpfHxhLnN0ZXAobmV3IGI0KGwscCxjLm1hcmtzW21dKSk7aWYoaSYmYy5pc1RleHQmJnQud2hpdGVzcGFjZSE9InByZSIpe2xldCBtLHY9L1xyP1xufFxyL2cseDtmb3IoO209di5leGVjKGMudGV4dCk7KXh8fCh4PW5ldyBpdChWZS5mcm9tKHQuc2NoZW1hLnRleHQoIiAiLHQuYWxsb3dlZE1hcmtzKGMubWFya3MpKSksMCwwKSksbi5wdXNoKG5ldyBHcyhsK20uaW5kZXgsbCttLmluZGV4K21bMF0ubGVuZ3RoLHgpKX19bD1wfWlmKCFyLnZhbGlkRW5kKXtsZXQgZD1yLmZpbGxCZWZvcmUoVmUuZW1wdHksITApO2EucmVwbGFjZShsLGwsbmV3IGl0KGQsMCwwKSl9Zm9yKGxldCBkPW4ubGVuZ3RoLTE7ZD49MDtkLS0pYS5zdGVwKG5bZF0pfWZ1bmN0aW9uIHpEYShhLGUsdCl7cmV0dXJuKGU9PTB8fGEuY2FuUmVwbGFjZShlLGEuY2hpbGRDb3VudCkpJiYodD09YS5jaGlsZENvdW50fHxhLmNhblJlcGxhY2UoMCx0KSl9ZnVuY3Rpb24gWjIoYSl7bGV0IHQ9YS5wYXJlbnQuY29udGVudC5jdXRCeUluZGV4KGEuc3RhcnRJbmRleCxhLmVuZEluZGV4KTtmb3IobGV0IHI9YS5kZXB0aCxpPTAsbz0wOzstLXIpe2xldCBuPWEuJGZyb20ubm9kZShyKSxsPWEuJGZyb20uaW5kZXgocikraSxkPWEuJHRvLmluZGV4QWZ0ZXIociktbztpZihyPGEuZGVwdGgmJm4uY2FuUmVwbGFjZShsLGQsdCkpcmV0dXJuIHI7aWYocj09MHx8bi50eXBlLnNwZWMuaXNvbGF0aW5nfHwhekRhKG4sbCxkKSlicmVhaztsJiYoaT0xKSxkPG4uY2hpbGRDb3VudCYmKG89MSl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gQ0RhKGEsZSx0KXtsZXR7JGZyb206ciwkdG86aSxkZXB0aDpvfT1lLG49ci5iZWZvcmUobysxKSxsPWkuYWZ0ZXIobysxKSxkPW4sYz1sLHA9VmUuZW1wdHksdT0wO2ZvcihsZXQgeD1vLGI9ITE7eD50O3gtLSlifHxyLmluZGV4KHgpPjA/KGI9ITAscD1WZS5mcm9tKHIubm9kZSh4KS5jb3B5KHApKSx1KyspOmQtLTtsZXQgbT1WZS5lbXB0eSx2PTA7Zm9yKGxldCB4PW8sYj0hMTt4PnQ7eC0tKWJ8fGkuYWZ0ZXIoeCsxKTxpLmVuZCh4KT8oYj0hMCxtPVZlLmZyb20oaS5ub2RlKHgpLmNvcHkobSkpLHYrKyk6YysrO2Euc3RlcChuZXcgZXMoZCxjLG4sbCxuZXcgaXQocC5hcHBlbmQobSksdSx2KSxwLnNpemUtdSwhMCkpfWZ1bmN0aW9uIEdmKGEsZSx0PW51bGwscj1hKXtsZXQgaT1fRGEoYSxlKSxvPWkmJlREYShyLGUpO3JldHVybiBvP2kubWFwKHNvYSkuY29uY2F0KHt0eXBlOmUsYXR0cnM6dH0pLmNvbmNhdChvLm1hcChzb2EpKTpudWxsfWZ1bmN0aW9uIHNvYShhKXtyZXR1cm57dHlwZTphLGF0dHJzOm51bGx9fWZ1bmN0aW9uIF9EYShhLGUpe2xldHtwYXJlbnQ6dCxzdGFydEluZGV4OnIsZW5kSW5kZXg6aX09YSxvPXQuY29udGVudE1hdGNoQXQocikuZmluZFdyYXBwaW5nKGUpO2lmKCFvKXJldHVybiBudWxsO2xldCBuPW8ubGVuZ3RoP29bMF06ZTtyZXR1cm4gdC5jYW5SZXBsYWNlV2l0aChyLGksbik/bzpudWxsfWZ1bmN0aW9uIFREYShhLGUpe2xldHtwYXJlbnQ6dCxzdGFydEluZGV4OnIsZW5kSW5kZXg6aX09YSxvPXQuY2hpbGQociksbj1lLmNvbnRlbnRNYXRjaC5maW5kV3JhcHBpbmcoby50eXBlKTtpZighbilyZXR1cm4gbnVsbDtsZXQgZD0obi5sZW5ndGg/bltuLmxlbmd0aC0xXTplKS5jb250ZW50TWF0Y2g7Zm9yKGxldCBjPXI7ZCYmYzxpO2MrKylkPWQubWF0Y2hUeXBlKHQuY2hpbGQoYykudHlwZSk7cmV0dXJuIWR8fCFkLnZhbGlkRW5kP251bGw6bn1mdW5jdGlvbiBMRGEoYSxlLHQpe2xldCByPVZlLmVtcHR5O2ZvcihsZXQgbj10Lmxlbmd0aC0xO24+PTA7bi0tKXtpZihyLnNpemUpe2xldCBsPXRbbl0udHlwZS5jb250ZW50TWF0Y2gubWF0Y2hGcmFnbWVudChyKTtpZighbHx8IWwudmFsaWRFbmQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIldyYXBwZXIgdHlwZSBnaXZlbiB0byBUcmFuc2Zvcm0ud3JhcCBkb2VzIG5vdCBmb3JtIHZhbGlkIGNvbnRlbnQgb2YgaXRzIHBhcmVudCB3cmFwcGVyIil9cj1WZS5mcm9tKHRbbl0udHlwZS5jcmVhdGUodFtuXS5hdHRycyxyKSl9bGV0IGk9ZS5zdGFydCxvPWUuZW5kO2Euc3RlcChuZXcgZXMoaSxvLGksbyxuZXcgaXQociwwLDApLHQubGVuZ3RoLCEwKSl9ZnVuY3Rpb24gJERhKGEsZSx0LHIsaSl7aWYoIXIuaXNUZXh0YmxvY2spdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlR5cGUgZ2l2ZW4gdG8gc2V0QmxvY2tUeXBlIHNob3VsZCBiZSBhIHRleHRibG9jayIpO2xldCBvPWEuc3RlcHMubGVuZ3RoO2EuZG9jLm5vZGVzQmV0d2VlbihlLHQsKG4sbCk9PntsZXQgZD10eXBlb2YgaT09ImZ1bmN0aW9uIj9pKG4pOmk7aWYobi5pc1RleHRibG9jayYmIW4uaGFzTWFya3VwKHIsZCkmJkREYShhLmRvYyxhLm1hcHBpbmcuc2xpY2UobykubWFwKGwpLHIpKXtsZXQgYz1udWxsO2lmKHIuc2NoZW1hLmxpbmVicmVha1JlcGxhY2VtZW50KXtsZXQgdj1yLndoaXRlc3BhY2U9PSJwcmUiLHg9ISFyLmNvbnRlbnRNYXRjaC5tYXRjaFR5cGUoci5zY2hlbWEubGluZWJyZWFrUmVwbGFjZW1lbnQpO3YmJiF4P2M9ITE6IXYmJngmJihjPSEwKX1jPT09ITEmJm9vYShhLG4sbCxvKSxrS2UoYSxhLm1hcHBpbmcuc2xpY2UobykubWFwKGwsMSkscix2b2lkIDAsYz09PW51bGwpO2xldCBwPWEubWFwcGluZy5zbGljZShvKSx1PXAubWFwKGwsMSksbT1wLm1hcChsK24ubm9kZVNpemUsMSk7cmV0dXJuIGEuc3RlcChuZXcgZXModSxtLHUrMSxtLTEsbmV3IGl0KFZlLmZyb20oci5jcmVhdGUoZCxudWxsLG4ubWFya3MpKSwwLDApLDEsITApKSxjPT09ITAmJmlvYShhLG4sbCxvKSwhMX19KX1mdW5jdGlvbiBpb2EoYSxlLHQscil7ZS5mb3JFYWNoKChpLG8pPT57aWYoaS5pc1RleHQpe2xldCBuLGw9L1xyP1xufFxyL2c7Zm9yKDtuPWwuZXhlYyhpLnRleHQpOyl7bGV0IGQ9YS5tYXBwaW5nLnNsaWNlKHIpLm1hcCh0KzErbytuLmluZGV4KTthLnJlcGxhY2VXaXRoKGQsZCsxLGUudHlwZS5zY2hlbWEubGluZWJyZWFrUmVwbGFjZW1lbnQuY3JlYXRlKCkpfX19KX1mdW5jdGlvbiBvb2EoYSxlLHQscil7ZS5mb3JFYWNoKChpLG8pPT57aWYoaS50eXBlPT1pLnR5cGUuc2NoZW1hLmxpbmVicmVha1JlcGxhY2VtZW50KXtsZXQgbj1hLm1hcHBpbmcuc2xpY2UocikubWFwKHQrMStvKTthLnJlcGxhY2VXaXRoKG4sbisxLGUudHlwZS5zY2hlbWEudGV4dChgCmApKX19KX1mdW5jdGlvbiBERGEoYSxlLHQpe2xldCByPWEucmVzb2x2ZShlKSxpPXIuaW5kZXgoKTtyZXR1cm4gci5wYXJlbnQuY2FuUmVwbGFjZVdpdGgoaSxpKzEsdCl9ZnVuY3Rpb24gQURhKGEsZSx0LHIsaSl7bGV0IG89YS5kb2Mubm9kZUF0KGUpO2lmKCFvKXRocm93IG5ldyBSYW5nZUVycm9yKCJObyBub2RlIGF0IGdpdmVuIHBvc2l0aW9uIik7dHx8KHQ9by50eXBlKTtsZXQgbj10LmNyZWF0ZShyLG51bGwsaXx8by5tYXJrcyk7aWYoby5pc0xlYWYpcmV0dXJuIGEucmVwbGFjZVdpdGgoZSxlK28ubm9kZVNpemUsbik7aWYoIXQudmFsaWRDb250ZW50KG8uY29udGVudCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgY29udGVudCBmb3Igbm9kZSB0eXBlICIrdC5uYW1lKTthLnN0ZXAobmV3IGVzKGUsZStvLm5vZGVTaXplLGUrMSxlK28ubm9kZVNpemUtMSxuZXcgaXQoVmUuZnJvbShuKSwwLDApLDEsITApKX1mdW5jdGlvbiBBbyhhLGUsdD0xLHIpe2xldCBpPWEucmVzb2x2ZShlKSxvPWkuZGVwdGgtdCxuPXImJnJbci5sZW5ndGgtMV18fGkucGFyZW50O2lmKG88MHx8aS5wYXJlbnQudHlwZS5zcGVjLmlzb2xhdGluZ3x8IWkucGFyZW50LmNhblJlcGxhY2UoaS5pbmRleCgpLGkucGFyZW50LmNoaWxkQ291bnQpfHwhbi50eXBlLnZhbGlkQ29udGVudChpLnBhcmVudC5jb250ZW50LmN1dEJ5SW5kZXgoaS5pbmRleCgpLGkucGFyZW50LmNoaWxkQ291bnQpKSlyZXR1cm4hMTtmb3IobGV0IGM9aS5kZXB0aC0xLHA9dC0yO2M+bztjLS0scC0tKXtsZXQgdT1pLm5vZGUoYyksbT1pLmluZGV4KGMpO2lmKHUudHlwZS5zcGVjLmlzb2xhdGluZylyZXR1cm4hMTtsZXQgdj11LmNvbnRlbnQuY3V0QnlJbmRleChtLHUuY2hpbGRDb3VudCkseD1yJiZyW3ArMV07eCYmKHY9di5yZXBsYWNlQ2hpbGQoMCx4LnR5cGUuY3JlYXRlKHguYXR0cnMpKSk7bGV0IGI9ciYmcltwXXx8dTtpZighdS5jYW5SZXBsYWNlKG0rMSx1LmNoaWxkQ291bnQpfHwhYi50eXBlLnZhbGlkQ29udGVudCh2KSlyZXR1cm4hMX1sZXQgbD1pLmluZGV4QWZ0ZXIobyksZD1yJiZyWzBdO3JldHVybiBpLm5vZGUobykuY2FuUmVwbGFjZVdpdGgobCxsLGQ/ZC50eXBlOmkubm9kZShvKzEpLnR5cGUpfWZ1bmN0aW9uIEVEYShhLGUsdD0xLHIpe2xldCBpPWEuZG9jLnJlc29sdmUoZSksbz1WZS5lbXB0eSxuPVZlLmVtcHR5O2ZvcihsZXQgbD1pLmRlcHRoLGQ9aS5kZXB0aC10LGM9dC0xO2w+ZDtsLS0sYy0tKXtvPVZlLmZyb20oaS5ub2RlKGwpLmNvcHkobykpO2xldCBwPXImJnJbY107bj1WZS5mcm9tKHA/cC50eXBlLmNyZWF0ZShwLmF0dHJzLG4pOmkubm9kZShsKS5jb3B5KG4pKX1hLnN0ZXAobmV3IEdzKGUsZSxuZXcgaXQoby5hcHBlbmQobiksdCx0KSwhMCkpfWZ1bmN0aW9uIHRuKGEsZSl7bGV0IHQ9YS5yZXNvbHZlKGUpLHI9dC5pbmRleCgpO3JldHVybiBub2EodC5ub2RlQmVmb3JlLHQubm9kZUFmdGVyKSYmdC5wYXJlbnQuY2FuUmVwbGFjZShyLHIrMSl9ZnVuY3Rpb24gUERhKGEsZSl7ZS5jb250ZW50LnNpemV8fGEudHlwZS5jb21wYXRpYmxlQ29udGVudChlLnR5cGUpO2xldCB0PWEuY29udGVudE1hdGNoQXQoYS5jaGlsZENvdW50KSx7bGluZWJyZWFrUmVwbGFjZW1lbnQ6cn09YS50eXBlLnNjaGVtYTtmb3IobGV0IGk9MDtpPGUuY2hpbGRDb3VudDtpKyspe2xldCBvPWUuY2hpbGQoaSksbj1vLnR5cGU9PXI/YS50eXBlLnNjaGVtYS5ub2Rlcy50ZXh0Om8udHlwZTtpZih0PXQubWF0Y2hUeXBlKG4pLCF0fHwhYS50eXBlLmFsbG93c01hcmtzKG8ubWFya3MpKXJldHVybiExfXJldHVybiB0LnZhbGlkRW5kfWZ1bmN0aW9uIG5vYShhLGUpe3JldHVybiEhKGEmJmUmJiFhLmlzTGVhZiYmUERhKGEsZSkpfWZ1bmN0aW9uIFlmKGEsZSx0PS0xKXtsZXQgcj1hLnJlc29sdmUoZSk7Zm9yKGxldCBpPXIuZGVwdGg7O2ktLSl7bGV0IG8sbixsPXIuaW5kZXgoaSk7aWYoaT09ci5kZXB0aD8obz1yLm5vZGVCZWZvcmUsbj1yLm5vZGVBZnRlcik6dD4wPyhvPXIubm9kZShpKzEpLGwrKyxuPXIubm9kZShpKS5tYXliZUNoaWxkKGwpKToobz1yLm5vZGUoaSkubWF5YmVDaGlsZChsLTEpLG49ci5ub2RlKGkrMSkpLG8mJiFvLmlzVGV4dGJsb2NrJiZub2EobyxuKSYmci5ub2RlKGkpLmNhblJlcGxhY2UobCxsKzEpKXJldHVybiBlO2lmKGk9PTApYnJlYWs7ZT10PDA/ci5iZWZvcmUoaSk6ci5hZnRlcihpKX19ZnVuY3Rpb24gSURhKGEsZSx0KXtsZXQgcj1udWxsLHtsaW5lYnJlYWtSZXBsYWNlbWVudDppfT1hLmRvYy50eXBlLnNjaGVtYSxvPWEuZG9jLnJlc29sdmUoZS10KSxuPW8ubm9kZSgpLnR5cGU7aWYoaSYmbi5pbmxpbmVDb250ZW50KXtsZXQgcD1uLndoaXRlc3BhY2U9PSJwcmUiLHU9ISFuLmNvbnRlbnRNYXRjaC5tYXRjaFR5cGUoaSk7cCYmIXU/cj0hMTohcCYmdSYmKHI9ITApfWxldCBsPWEuc3RlcHMubGVuZ3RoO2lmKHI9PT0hMSl7bGV0IHA9YS5kb2MucmVzb2x2ZShlK3QpO29vYShhLHAubm9kZSgpLHAuYmVmb3JlKCksbCl9bi5pbmxpbmVDb250ZW50JiZrS2UoYSxlK3QtMSxuLG8ubm9kZSgpLmNvbnRlbnRNYXRjaEF0KG8uaW5kZXgoKSkscj09bnVsbCk7bGV0IGQ9YS5tYXBwaW5nLnNsaWNlKGwpLGM9ZC5tYXAoZS10KTtpZihhLnN0ZXAobmV3IEdzKGMsZC5tYXAoZSt0LC0xKSxpdC5lbXB0eSwhMCkpLHI9PT0hMCl7bGV0IHA9YS5kb2MucmVzb2x2ZShjKTtpb2EoYSxwLm5vZGUoKSxwLmJlZm9yZSgpLGEuc3RlcHMubGVuZ3RoKX1yZXR1cm4gYX1mdW5jdGlvbiBsb2EoYSxlLHQpe2xldCByPWEucmVzb2x2ZShlKTtpZihyLnBhcmVudC5jYW5SZXBsYWNlV2l0aChyLmluZGV4KCksci5pbmRleCgpLHQpKXJldHVybiBlO2lmKHIucGFyZW50T2Zmc2V0PT0wKWZvcihsZXQgaT1yLmRlcHRoLTE7aT49MDtpLS0pe2xldCBvPXIuaW5kZXgoaSk7aWYoci5ub2RlKGkpLmNhblJlcGxhY2VXaXRoKG8sbyx0KSlyZXR1cm4gci5iZWZvcmUoaSsxKTtpZihvPjApcmV0dXJuIG51bGx9aWYoci5wYXJlbnRPZmZzZXQ9PXIucGFyZW50LmNvbnRlbnQuc2l6ZSlmb3IobGV0IGk9ci5kZXB0aC0xO2k+PTA7aS0tKXtsZXQgbz1yLmluZGV4QWZ0ZXIoaSk7aWYoci5ub2RlKGkpLmNhblJlcGxhY2VXaXRoKG8sbyx0KSlyZXR1cm4gci5hZnRlcihpKzEpO2lmKG88ci5ub2RlKGkpLmNoaWxkQ291bnQpcmV0dXJuIG51bGx9cmV0dXJuIG51bGx9ZnVuY3Rpb24gSlUoYSxlLHQpe2xldCByPWEucmVzb2x2ZShlKTtpZighdC5jb250ZW50LnNpemUpcmV0dXJuIGU7bGV0IGk9dC5jb250ZW50O2ZvcihsZXQgbz0wO288dC5vcGVuU3RhcnQ7bysrKWk9aS5maXJzdENoaWxkLmNvbnRlbnQ7Zm9yKGxldCBvPTE7bzw9KHQub3BlblN0YXJ0PT0wJiZ0LnNpemU/MjoxKTtvKyspZm9yKGxldCBuPXIuZGVwdGg7bj49MDtuLS0pe2xldCBsPW49PXIuZGVwdGg/MDpyLnBvczw9KHIuc3RhcnQobisxKStyLmVuZChuKzEpKS8yPy0xOjEsZD1yLmluZGV4KG4pKyhsPjA/MTowKSxjPXIubm9kZShuKSxwPSExO2lmKG89PTEpcD1jLmNhblJlcGxhY2UoZCxkLGkpO2Vsc2V7bGV0IHU9Yy5jb250ZW50TWF0Y2hBdChkKS5maW5kV3JhcHBpbmcoaS5maXJzdENoaWxkLnR5cGUpO3A9dSYmYy5jYW5SZXBsYWNlV2l0aChkLGQsdVswXSl9aWYocClyZXR1cm4gbD09MD9yLnBvczpsPDA/ci5iZWZvcmUobisxKTpyLmFmdGVyKG4rMSl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gU20oYSxlLHQ9ZSxyPWl0LmVtcHR5KXtpZihlPT10JiYhci5zaXplKXJldHVybiBudWxsO2xldCBpPWEucmVzb2x2ZShlKSxvPWEucmVzb2x2ZSh0KTtyZXR1cm4gY29hKGksbyxyKT9uZXcgR3MoZSx0LHIpOm5ldyBTS2UoaSxvLHIpLmZpdCgpfWZ1bmN0aW9uIGNvYShhLGUsdCl7cmV0dXJuIXQub3BlblN0YXJ0JiYhdC5vcGVuRW5kJiZhLnN0YXJ0KCk9PWUuc3RhcnQoKSYmYS5wYXJlbnQuY2FuUmVwbGFjZShhLmluZGV4KCksZS5pbmRleCgpLHQuY29udGVudCl9ZnVuY3Rpb24gS1UoYSxlLHQpe3JldHVybiBlPT0wP2EuY3V0QnlJbmRleCh0LGEuY2hpbGRDb3VudCk6YS5yZXBsYWNlQ2hpbGQoMCxhLmZpcnN0Q2hpbGQuY29weShLVShhLmZpcnN0Q2hpbGQuY29udGVudCxlLTEsdCkpKX1mdW5jdGlvbiBaVShhLGUsdCl7cmV0dXJuIGU9PTA/YS5hcHBlbmQodCk6YS5yZXBsYWNlQ2hpbGQoYS5jaGlsZENvdW50LTEsYS5sYXN0Q2hpbGQuY29weShaVShhLmxhc3RDaGlsZC5jb250ZW50LGUtMSx0KSkpfWZ1bmN0aW9uIHpLZShhLGUpe2ZvcihsZXQgdD0wO3Q8ZTt0KyspYT1hLmZpcnN0Q2hpbGQuY29udGVudDtyZXR1cm4gYX1mdW5jdGlvbiBkb2EoYSxlLHQpe2lmKGU8PTApcmV0dXJuIGE7bGV0IHI9YS5jb250ZW50O3JldHVybiBlPjEmJihyPXIucmVwbGFjZUNoaWxkKDAsZG9hKHIuZmlyc3RDaGlsZCxlLTEsci5jaGlsZENvdW50PT0xP3QtMTowKSkpLGU+MCYmKHI9YS50eXBlLmNvbnRlbnRNYXRjaC5maWxsQmVmb3JlKHIpLmFwcGVuZChyKSx0PD0wJiYocj1yLmFwcGVuZChhLnR5cGUuY29udGVudE1hdGNoLm1hdGNoRnJhZ21lbnQocikuZmlsbEJlZm9yZShWZS5lbXB0eSwhMCkpKSksYS5jb3B5KHIpfWZ1bmN0aW9uIENLZShhLGUsdCxyLGkpe2xldCBvPWEubm9kZShlKSxuPWk/YS5pbmRleEFmdGVyKGUpOmEuaW5kZXgoZSk7aWYobj09by5jaGlsZENvdW50JiYhdC5jb21wYXRpYmxlQ29udGVudChvLnR5cGUpKXJldHVybiBudWxsO2xldCBsPXIuZmlsbEJlZm9yZShvLmNvbnRlbnQsITAsbik7cmV0dXJuIGwmJiFORGEodCxvLmNvbnRlbnQsbik/bDpudWxsfWZ1bmN0aW9uIE5EYShhLGUsdCl7Zm9yKGxldCByPXQ7cjxlLmNoaWxkQ291bnQ7cisrKWlmKCFhLmFsbG93c01hcmtzKGUuY2hpbGQocikubWFya3MpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIFJEYShhKXtyZXR1cm4gYS5zcGVjLmRlZmluaW5nfHxhLnNwZWMuZGVmaW5pbmdGb3JDb250ZW50fWZ1bmN0aW9uIE9EYShhLGUsdCxyKXtpZighci5zaXplKXJldHVybiBhLmRlbGV0ZVJhbmdlKGUsdCk7bGV0IGk9YS5kb2MucmVzb2x2ZShlKSxvPWEuZG9jLnJlc29sdmUodCk7aWYoY29hKGksbyxyKSlyZXR1cm4gYS5zdGVwKG5ldyBHcyhlLHQscikpO2xldCBuPXBvYShpLG8pO25bbi5sZW5ndGgtMV09PTAmJm4ucG9wKCk7bGV0IGw9LShpLmRlcHRoKzEpO24udW5zaGlmdChsKTtmb3IobGV0IG09aS5kZXB0aCx2PWkucG9zLTE7bT4wO20tLSx2LS0pe2xldCB4PWkubm9kZShtKS50eXBlLnNwZWM7aWYoeC5kZWZpbmluZ3x8eC5kZWZpbmluZ0FzQ29udGV4dHx8eC5pc29sYXRpbmcpYnJlYWs7bi5pbmRleE9mKG0pPi0xP2w9bTppLmJlZm9yZShtKT09diYmbi5zcGxpY2UoMSwwLC1tKX1sZXQgZD1uLmluZGV4T2YobCksYz1bXSxwPXIub3BlblN0YXJ0O2ZvcihsZXQgbT1yLmNvbnRlbnQsdj0wOzt2Kyspe2xldCB4PW0uZmlyc3RDaGlsZDtpZihjLnB1c2goeCksdj09ci5vcGVuU3RhcnQpYnJlYWs7bT14LmNvbnRlbnR9Zm9yKGxldCBtPXAtMTttPj0wO20tLSl7bGV0IHY9Y1ttXSx4PVJEYSh2LnR5cGUpO2lmKHgmJiF2LnNhbWVNYXJrdXAoaS5ub2RlKE1hdGguYWJzKGwpLTEpKSlwPW07ZWxzZSBpZih4fHwhdi50eXBlLmlzVGV4dGJsb2NrKWJyZWFrfWZvcihsZXQgbT1yLm9wZW5TdGFydDttPj0wO20tLSl7bGV0IHY9KG0rcCsxKSUoci5vcGVuU3RhcnQrMSkseD1jW3ZdO2lmKHgpZm9yKGxldCBiPTA7YjxuLmxlbmd0aDtiKyspe2xldCBnPW5bKGIrZCklbi5sZW5ndGhdLHk9ITA7ZzwwJiYoeT0hMSxnPS1nKTtsZXQgaz1pLm5vZGUoZy0xKSxDPWkuaW5kZXgoZy0xKTtpZihrLmNhblJlcGxhY2VXaXRoKEMsQyx4LnR5cGUseC5tYXJrcykpcmV0dXJuIGEucmVwbGFjZShpLmJlZm9yZShnKSx5P28uYWZ0ZXIoZyk6dCxuZXcgaXQodW9hKHIuY29udGVudCwwLHIub3BlblN0YXJ0LHYpLHYsci5vcGVuRW5kKSl9fWxldCB1PWEuc3RlcHMubGVuZ3RoO2ZvcihsZXQgbT1uLmxlbmd0aC0xO20+PTAmJihhLnJlcGxhY2UoZSx0LHIpLCEoYS5zdGVwcy5sZW5ndGg+dSkpO20tLSl7bGV0IHY9blttXTt2PDB8fChlPWkuYmVmb3JlKHYpLHQ9by5hZnRlcih2KSl9fWZ1bmN0aW9uIHVvYShhLGUsdCxyLGkpe2lmKGU8dCl7bGV0IG89YS5maXJzdENoaWxkO2E9YS5yZXBsYWNlQ2hpbGQoMCxvLmNvcHkodW9hKG8uY29udGVudCxlKzEsdCxyLG8pKSl9aWYoZT5yKXtsZXQgbz1pLmNvbnRlbnRNYXRjaEF0KDApLG49by5maWxsQmVmb3JlKGEpLmFwcGVuZChhKTthPW4uYXBwZW5kKG8ubWF0Y2hGcmFnbWVudChuKS5maWxsQmVmb3JlKFZlLmVtcHR5LCEwKSl9cmV0dXJuIGF9ZnVuY3Rpb24gRkRhKGEsZSx0LHIpe2lmKCFyLmlzSW5saW5lJiZlPT10JiZhLmRvYy5yZXNvbHZlKGUpLnBhcmVudC5jb250ZW50LnNpemUpe2xldCBpPWxvYShhLmRvYyxlLHIudHlwZSk7aSE9bnVsbCYmKGU9dD1pKX1hLnJlcGxhY2VSYW5nZShlLHQsbmV3IGl0KFZlLmZyb20ociksMCwwKSl9ZnVuY3Rpb24gQkRhKGEsZSx0KXtsZXQgcj1hLmRvYy5yZXNvbHZlKGUpLGk9YS5kb2MucmVzb2x2ZSh0KTtpZihyLnBhcmVudC5pc1RleHRibG9jayYmaS5wYXJlbnQuaXNUZXh0YmxvY2smJnIuc3RhcnQoKSE9aS5zdGFydCgpJiZyLnBhcmVudE9mZnNldD09MCYmaS5wYXJlbnRPZmZzZXQ9PTApe2xldCBuPXIuc2hhcmVkRGVwdGgodCksbD0hMTtmb3IobGV0IGQ9ci5kZXB0aDtkPm47ZC0tKXIubm9kZShkKS50eXBlLnNwZWMuaXNvbGF0aW5nJiYobD0hMCk7Zm9yKGxldCBkPWkuZGVwdGg7ZD5uO2QtLSlpLm5vZGUoZCkudHlwZS5zcGVjLmlzb2xhdGluZyYmKGw9ITApO2lmKCFsKXtmb3IobGV0IGQ9ci5kZXB0aDtkPjAmJmU9PXIuc3RhcnQoZCk7ZC0tKWU9ci5iZWZvcmUoZCk7Zm9yKGxldCBkPWkuZGVwdGg7ZD4wJiZ0PT1pLnN0YXJ0KGQpO2QtLSl0PWkuYmVmb3JlKGQpO3I9YS5kb2MucmVzb2x2ZShlKSxpPWEuZG9jLnJlc29sdmUodCl9fWxldCBvPXBvYShyLGkpO2ZvcihsZXQgbj0wO248by5sZW5ndGg7bisrKXtsZXQgbD1vW25dLGQ9bj09by5sZW5ndGgtMTtpZihkJiZsPT0wfHxyLm5vZGUobCkudHlwZS5jb250ZW50TWF0Y2gudmFsaWRFbmQpcmV0dXJuIGEuZGVsZXRlKHIuc3RhcnQobCksaS5lbmQobCkpO2lmKGw+MCYmKGR8fHIubm9kZShsLTEpLmNhblJlcGxhY2Uoci5pbmRleChsLTEpLGkuaW5kZXhBZnRlcihsLTEpKSkpcmV0dXJuIGEuZGVsZXRlKHIuYmVmb3JlKGwpLGkuYWZ0ZXIobCkpfWZvcihsZXQgbj0xO248PXIuZGVwdGgmJm48PWkuZGVwdGg7bisrKWlmKGUtci5zdGFydChuKT09ci5kZXB0aC1uJiZ0PnIuZW5kKG4pJiZpLmVuZChuKS10IT1pLmRlcHRoLW4mJnIuc3RhcnQobi0xKT09aS5zdGFydChuLTEpJiZyLm5vZGUobi0xKS5jYW5SZXBsYWNlKHIuaW5kZXgobi0xKSxpLmluZGV4KG4tMSkpKXJldHVybiBhLmRlbGV0ZShyLmJlZm9yZShuKSx0KTthLmRlbGV0ZShlLHQpfWZ1bmN0aW9uIHBvYShhLGUpe2xldCB0PVtdLHI9TWF0aC5taW4oYS5kZXB0aCxlLmRlcHRoKTtmb3IobGV0IGk9cjtpPj0wO2ktLSl7bGV0IG89YS5zdGFydChpKTtpZihvPGEucG9zLShhLmRlcHRoLWkpfHxlLmVuZChpKT5lLnBvcysoZS5kZXB0aC1pKXx8YS5ub2RlKGkpLnR5cGUuc3BlYy5pc29sYXRpbmd8fGUubm9kZShpKS50eXBlLnNwZWMuaXNvbGF0aW5nKWJyZWFrOyhvPT1lLnN0YXJ0KGkpfHxpPT1hLmRlcHRoJiZpPT1lLmRlcHRoJiZhLnBhcmVudC5pbmxpbmVDb250ZW50JiZlLnBhcmVudC5pbmxpbmVDb250ZW50JiZpJiZlLnN0YXJ0KGktMSk9PW8tMSkmJnQucHVzaChpKX1yZXR1cm4gdH12YXIgUWlhLEppYSx0b2EsYW9hLFJhZSxyb2EseW0sSzIsa20seUtlLElzLFdzLHdtLGI0LE1tLGpmLEdzLGVzLFNLZSxYVSxRVSxVZixXZix2ND1mKCgpPT57ZzQoKTtRaWE9NjU1MzUsSmlhPU1hdGgucG93KDIsMTYpO3Mod0RhLCJtYWtlUmVjb3ZlciIpO3MoZW9hLCJyZWNvdmVySW5kZXgiKTtzKE1EYSwicmVjb3Zlck9mZnNldCIpO3RvYT0xLGFvYT0yLFJhZT00LHJvYT04LHltPWNsYXNze3N0YXRpY3tzKHRoaXMsIk1hcFJlc3VsdCIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLnBvcz1lLHRoaXMuZGVsSW5mbz10LHRoaXMucmVjb3Zlcj1yfWdldCBkZWxldGVkKCl7cmV0dXJuKHRoaXMuZGVsSW5mbyZyb2EpPjB9Z2V0IGRlbGV0ZWRCZWZvcmUoKXtyZXR1cm4odGhpcy5kZWxJbmZvJih0b2F8UmFlKSk+MH1nZXQgZGVsZXRlZEFmdGVyKCl7cmV0dXJuKHRoaXMuZGVsSW5mbyYoYW9hfFJhZSkpPjB9Z2V0IGRlbGV0ZWRBY3Jvc3MoKXtyZXR1cm4odGhpcy5kZWxJbmZvJlJhZSk+MH19LEsyPWNsYXNzIGF7c3RhdGlje3ModGhpcywiU3RlcE1hcCIpfWNvbnN0cnVjdG9yKGUsdD0hMSl7aWYodGhpcy5yYW5nZXM9ZSx0aGlzLmludmVydGVkPXQsIWUubGVuZ3RoJiZhLmVtcHR5KXJldHVybiBhLmVtcHR5fXJlY292ZXIoZSl7bGV0IHQ9MCxyPWVvYShlKTtpZighdGhpcy5pbnZlcnRlZClmb3IobGV0IGk9MDtpPHI7aSsrKXQrPXRoaXMucmFuZ2VzW2kqMysyXS10aGlzLnJhbmdlc1tpKjMrMV07cmV0dXJuIHRoaXMucmFuZ2VzW3IqM10rdCtNRGEoZSl9bWFwUmVzdWx0KGUsdD0xKXtyZXR1cm4gdGhpcy5fbWFwKGUsdCwhMSl9bWFwKGUsdD0xKXtyZXR1cm4gdGhpcy5fbWFwKGUsdCwhMCl9X21hcChlLHQscil7bGV0IGk9MCxvPXRoaXMuaW52ZXJ0ZWQ/MjoxLG49dGhpcy5pbnZlcnRlZD8xOjI7Zm9yKGxldCBsPTA7bDx0aGlzLnJhbmdlcy5sZW5ndGg7bCs9Myl7bGV0IGQ9dGhpcy5yYW5nZXNbbF0tKHRoaXMuaW52ZXJ0ZWQ/aTowKTtpZihkPmUpYnJlYWs7bGV0IGM9dGhpcy5yYW5nZXNbbCtvXSxwPXRoaXMucmFuZ2VzW2wrbl0sdT1kK2M7aWYoZTw9dSl7bGV0IG09Yz9lPT1kPy0xOmU9PXU/MTp0OnQsdj1kK2krKG08MD8wOnApO2lmKHIpcmV0dXJuIHY7bGV0IHg9ZT09KHQ8MD9kOnUpP251bGw6d0RhKGwvMyxlLWQpLGI9ZT09ZD9hb2E6ZT09dT90b2E6UmFlO3JldHVybih0PDA/ZSE9ZDplIT11KSYmKGJ8PXJvYSksbmV3IHltKHYsYix4KX1pKz1wLWN9cmV0dXJuIHI/ZStpOm5ldyB5bShlK2ksMCxudWxsKX10b3VjaGVzKGUsdCl7bGV0IHI9MCxpPWVvYSh0KSxvPXRoaXMuaW52ZXJ0ZWQ/MjoxLG49dGhpcy5pbnZlcnRlZD8xOjI7Zm9yKGxldCBsPTA7bDx0aGlzLnJhbmdlcy5sZW5ndGg7bCs9Myl7bGV0IGQ9dGhpcy5yYW5nZXNbbF0tKHRoaXMuaW52ZXJ0ZWQ/cjowKTtpZihkPmUpYnJlYWs7bGV0IGM9dGhpcy5yYW5nZXNbbCtvXSxwPWQrYztpZihlPD1wJiZsPT1pKjMpcmV0dXJuITA7cis9dGhpcy5yYW5nZXNbbCtuXS1jfXJldHVybiExfWZvckVhY2goZSl7bGV0IHQ9dGhpcy5pbnZlcnRlZD8yOjEscj10aGlzLmludmVydGVkPzE6Mjtmb3IobGV0IGk9MCxvPTA7aTx0aGlzLnJhbmdlcy5sZW5ndGg7aSs9Myl7bGV0IG49dGhpcy5yYW5nZXNbaV0sbD1uLSh0aGlzLmludmVydGVkP286MCksZD1uKyh0aGlzLmludmVydGVkPzA6byksYz10aGlzLnJhbmdlc1tpK3RdLHA9dGhpcy5yYW5nZXNbaStyXTtlKGwsbCtjLGQsZCtwKSxvKz1wLWN9fWludmVydCgpe3JldHVybiBuZXcgYSh0aGlzLnJhbmdlcywhdGhpcy5pbnZlcnRlZCl9dG9TdHJpbmcoKXtyZXR1cm4odGhpcy5pbnZlcnRlZD8iLSI6IiIpK0pTT04uc3RyaW5naWZ5KHRoaXMucmFuZ2VzKX1zdGF0aWMgb2Zmc2V0KGUpe3JldHVybiBlPT0wP2EuZW1wdHk6bmV3IGEoZTwwP1swLC1lLDBdOlswLDAsZV0pfX07SzIuZW1wdHk9bmV3IEsyKFtdKTtrbT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIk1hcHBpbmciKX1jb25zdHJ1Y3RvcihlLHQscj0wLGk9ZT9lLmxlbmd0aDowKXt0aGlzLm1pcnJvcj10LHRoaXMuZnJvbT1yLHRoaXMudG89aSx0aGlzLl9tYXBzPWV8fFtdLHRoaXMub3duRGF0YT0hKGV8fHQpfWdldCBtYXBzKCl7cmV0dXJuIHRoaXMuX21hcHN9c2xpY2UoZT0wLHQ9dGhpcy5tYXBzLmxlbmd0aCl7cmV0dXJuIG5ldyBhKHRoaXMuX21hcHMsdGhpcy5taXJyb3IsZSx0KX1hcHBlbmRNYXAoZSx0KXt0aGlzLm93bkRhdGF8fCh0aGlzLl9tYXBzPXRoaXMuX21hcHMuc2xpY2UoKSx0aGlzLm1pcnJvcj10aGlzLm1pcnJvciYmdGhpcy5taXJyb3Iuc2xpY2UoKSx0aGlzLm93bkRhdGE9ITApLHRoaXMudG89dGhpcy5fbWFwcy5wdXNoKGUpLHQhPW51bGwmJnRoaXMuc2V0TWlycm9yKHRoaXMuX21hcHMubGVuZ3RoLTEsdCl9YXBwZW5kTWFwcGluZyhlKXtmb3IobGV0IHQ9MCxyPXRoaXMuX21hcHMubGVuZ3RoO3Q8ZS5fbWFwcy5sZW5ndGg7dCsrKXtsZXQgaT1lLmdldE1pcnJvcih0KTt0aGlzLmFwcGVuZE1hcChlLl9tYXBzW3RdLGkhPW51bGwmJmk8dD9yK2k6dm9pZCAwKX19Z2V0TWlycm9yKGUpe2lmKHRoaXMubWlycm9yKXtmb3IobGV0IHQ9MDt0PHRoaXMubWlycm9yLmxlbmd0aDt0KyspaWYodGhpcy5taXJyb3JbdF09PWUpcmV0dXJuIHRoaXMubWlycm9yW3QrKHQlMj8tMToxKV19fXNldE1pcnJvcihlLHQpe3RoaXMubWlycm9yfHwodGhpcy5taXJyb3I9W10pLHRoaXMubWlycm9yLnB1c2goZSx0KX1hcHBlbmRNYXBwaW5nSW52ZXJ0ZWQoZSl7Zm9yKGxldCB0PWUubWFwcy5sZW5ndGgtMSxyPXRoaXMuX21hcHMubGVuZ3RoK2UuX21hcHMubGVuZ3RoO3Q+PTA7dC0tKXtsZXQgaT1lLmdldE1pcnJvcih0KTt0aGlzLmFwcGVuZE1hcChlLl9tYXBzW3RdLmludmVydCgpLGkhPW51bGwmJmk+dD9yLWktMTp2b2lkIDApfX1pbnZlcnQoKXtsZXQgZT1uZXcgYTtyZXR1cm4gZS5hcHBlbmRNYXBwaW5nSW52ZXJ0ZWQodGhpcyksZX1tYXAoZSx0PTEpe2lmKHRoaXMubWlycm9yKXJldHVybiB0aGlzLl9tYXAoZSx0LCEwKTtmb3IobGV0IHI9dGhpcy5mcm9tO3I8dGhpcy50bztyKyspZT10aGlzLl9tYXBzW3JdLm1hcChlLHQpO3JldHVybiBlfW1hcFJlc3VsdChlLHQ9MSl7cmV0dXJuIHRoaXMuX21hcChlLHQsITEpfV9tYXAoZSx0LHIpe2xldCBpPTA7Zm9yKGxldCBvPXRoaXMuZnJvbTtvPHRoaXMudG87bysrKXtsZXQgbj10aGlzLl9tYXBzW29dLGw9bi5tYXBSZXN1bHQoZSx0KTtpZihsLnJlY292ZXIhPW51bGwpe2xldCBkPXRoaXMuZ2V0TWlycm9yKG8pO2lmKGQhPW51bGwmJmQ+byYmZDx0aGlzLnRvKXtvPWQsZT10aGlzLl9tYXBzW2RdLnJlY292ZXIobC5yZWNvdmVyKTtjb250aW51ZX19aXw9bC5kZWxJbmZvLGU9bC5wb3N9cmV0dXJuIHI/ZTpuZXcgeW0oZSxpLG51bGwpfX0seUtlPU9iamVjdC5jcmVhdGUobnVsbCksSXM9Y2xhc3N7c3RhdGlje3ModGhpcywiU3RlcCIpfWdldE1hcCgpe3JldHVybiBLMi5lbXB0eX1tZXJnZShlKXtyZXR1cm4gbnVsbH1zdGF0aWMgZnJvbUpTT04oZSx0KXtpZighdHx8IXQuc3RlcFR5cGUpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIFN0ZXAuZnJvbUpTT04iKTtsZXQgcj15S2VbdC5zdGVwVHlwZV07aWYoIXIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYE5vIHN0ZXAgdHlwZSAke3Quc3RlcFR5cGV9IGRlZmluZWRgKTtyZXR1cm4gci5mcm9tSlNPTihlLHQpfXN0YXRpYyBqc29uSUQoZSx0KXtpZihlIGluIHlLZSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRHVwbGljYXRlIHVzZSBvZiBzdGVwIEpTT04gSUQgIitlKTtyZXR1cm4geUtlW2VdPXQsdC5wcm90b3R5cGUuanNvbklEPWUsdH19LFdzPWNsYXNzIGF7c3RhdGlje3ModGhpcywiU3RlcFJlc3VsdCIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5kb2M9ZSx0aGlzLmZhaWxlZD10fXN0YXRpYyBvayhlKXtyZXR1cm4gbmV3IGEoZSxudWxsKX1zdGF0aWMgZmFpbChlKXtyZXR1cm4gbmV3IGEobnVsbCxlKX1zdGF0aWMgZnJvbVJlcGxhY2UoZSx0LHIsaSl7dHJ5e3JldHVybiBhLm9rKGUucmVwbGFjZSh0LHIsaSkpfWNhdGNoKG8pe2lmKG8gaW5zdGFuY2VvZiBoNClyZXR1cm4gYS5mYWlsKG8ubWVzc2FnZSk7dGhyb3cgb319fTtzKHdLZSwibWFwRnJhZ21lbnQiKTt3bT1jbGFzcyBhIGV4dGVuZHMgSXN7c3RhdGlje3ModGhpcywiQWRkTWFya1N0ZXAiKX1jb25zdHJ1Y3RvcihlLHQscil7c3VwZXIoKSx0aGlzLmZyb209ZSx0aGlzLnRvPXQsdGhpcy5tYXJrPXJ9YXBwbHkoZSl7bGV0IHQ9ZS5zbGljZSh0aGlzLmZyb20sdGhpcy50bykscj1lLnJlc29sdmUodGhpcy5mcm9tKSxpPXIubm9kZShyLnNoYXJlZERlcHRoKHRoaXMudG8pKSxvPW5ldyBpdCh3S2UodC5jb250ZW50LChuLGwpPT4hbi5pc0F0b218fCFsLnR5cGUuYWxsb3dzTWFya1R5cGUodGhpcy5tYXJrLnR5cGUpP246bi5tYXJrKHRoaXMubWFyay5hZGRUb1NldChuLm1hcmtzKSksaSksdC5vcGVuU3RhcnQsdC5vcGVuRW5kKTtyZXR1cm4gV3MuZnJvbVJlcGxhY2UoZSx0aGlzLmZyb20sdGhpcy50byxvKX1pbnZlcnQoKXtyZXR1cm4gbmV3IGI0KHRoaXMuZnJvbSx0aGlzLnRvLHRoaXMubWFyayl9bWFwKGUpe2xldCB0PWUubWFwUmVzdWx0KHRoaXMuZnJvbSwxKSxyPWUubWFwUmVzdWx0KHRoaXMudG8sLTEpO3JldHVybiB0LmRlbGV0ZWQmJnIuZGVsZXRlZHx8dC5wb3M+PXIucG9zP251bGw6bmV3IGEodC5wb3Msci5wb3MsdGhpcy5tYXJrKX1tZXJnZShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIGEmJmUubWFyay5lcSh0aGlzLm1hcmspJiZ0aGlzLmZyb208PWUudG8mJnRoaXMudG8+PWUuZnJvbT9uZXcgYShNYXRoLm1pbih0aGlzLmZyb20sZS5mcm9tKSxNYXRoLm1heCh0aGlzLnRvLGUudG8pLHRoaXMubWFyayk6bnVsbH10b0pTT04oKXtyZXR1cm57c3RlcFR5cGU6ImFkZE1hcmsiLG1hcms6dGhpcy5tYXJrLnRvSlNPTigpLGZyb206dGhpcy5mcm9tLHRvOnRoaXMudG99fXN0YXRpYyBmcm9tSlNPTihlLHQpe2lmKHR5cGVvZiB0LmZyb20hPSJudW1iZXIifHx0eXBlb2YgdC50byE9Im51bWJlciIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIEFkZE1hcmtTdGVwLmZyb21KU09OIik7cmV0dXJuIG5ldyBhKHQuZnJvbSx0LnRvLGUubWFya0Zyb21KU09OKHQubWFyaykpfX07SXMuanNvbklEKCJhZGRNYXJrIix3bSk7YjQ9Y2xhc3MgYSBleHRlbmRzIElze3N0YXRpY3tzKHRoaXMsIlJlbW92ZU1hcmtTdGVwIil9Y29uc3RydWN0b3IoZSx0LHIpe3N1cGVyKCksdGhpcy5mcm9tPWUsdGhpcy50bz10LHRoaXMubWFyaz1yfWFwcGx5KGUpe2xldCB0PWUuc2xpY2UodGhpcy5mcm9tLHRoaXMudG8pLHI9bmV3IGl0KHdLZSh0LmNvbnRlbnQsaT0+aS5tYXJrKHRoaXMubWFyay5yZW1vdmVGcm9tU2V0KGkubWFya3MpKSxlKSx0Lm9wZW5TdGFydCx0Lm9wZW5FbmQpO3JldHVybiBXcy5mcm9tUmVwbGFjZShlLHRoaXMuZnJvbSx0aGlzLnRvLHIpfWludmVydCgpe3JldHVybiBuZXcgd20odGhpcy5mcm9tLHRoaXMudG8sdGhpcy5tYXJrKX1tYXAoZSl7bGV0IHQ9ZS5tYXBSZXN1bHQodGhpcy5mcm9tLDEpLHI9ZS5tYXBSZXN1bHQodGhpcy50bywtMSk7cmV0dXJuIHQuZGVsZXRlZCYmci5kZWxldGVkfHx0LnBvcz49ci5wb3M/bnVsbDpuZXcgYSh0LnBvcyxyLnBvcyx0aGlzLm1hcmspfW1lcmdlKGUpe3JldHVybiBlIGluc3RhbmNlb2YgYSYmZS5tYXJrLmVxKHRoaXMubWFyaykmJnRoaXMuZnJvbTw9ZS50byYmdGhpcy50bz49ZS5mcm9tP25ldyBhKE1hdGgubWluKHRoaXMuZnJvbSxlLmZyb20pLE1hdGgubWF4KHRoaXMudG8sZS50byksdGhpcy5tYXJrKTpudWxsfXRvSlNPTigpe3JldHVybntzdGVwVHlwZToicmVtb3ZlTWFyayIsbWFyazp0aGlzLm1hcmsudG9KU09OKCksZnJvbTp0aGlzLmZyb20sdG86dGhpcy50b319c3RhdGljIGZyb21KU09OKGUsdCl7aWYodHlwZW9mIHQuZnJvbSE9Im51bWJlciJ8fHR5cGVvZiB0LnRvIT0ibnVtYmVyIil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgUmVtb3ZlTWFya1N0ZXAuZnJvbUpTT04iKTtyZXR1cm4gbmV3IGEodC5mcm9tLHQudG8sZS5tYXJrRnJvbUpTT04odC5tYXJrKSl9fTtJcy5qc29uSUQoInJlbW92ZU1hcmsiLGI0KTtNbT1jbGFzcyBhIGV4dGVuZHMgSXN7c3RhdGlje3ModGhpcywiQWRkTm9kZU1hcmtTdGVwIil9Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpLHRoaXMucG9zPWUsdGhpcy5tYXJrPXR9YXBwbHkoZSl7bGV0IHQ9ZS5ub2RlQXQodGhpcy5wb3MpO2lmKCF0KXJldHVybiBXcy5mYWlsKCJObyBub2RlIGF0IG1hcmsgc3RlcCdzIHBvc2l0aW9uIik7bGV0IHI9dC50eXBlLmNyZWF0ZSh0LmF0dHJzLG51bGwsdGhpcy5tYXJrLmFkZFRvU2V0KHQubWFya3MpKTtyZXR1cm4gV3MuZnJvbVJlcGxhY2UoZSx0aGlzLnBvcyx0aGlzLnBvcysxLG5ldyBpdChWZS5mcm9tKHIpLDAsdC5pc0xlYWY/MDoxKSl9aW52ZXJ0KGUpe2xldCB0PWUubm9kZUF0KHRoaXMucG9zKTtpZih0KXtsZXQgcj10aGlzLm1hcmsuYWRkVG9TZXQodC5tYXJrcyk7aWYoci5sZW5ndGg9PXQubWFya3MubGVuZ3RoKXtmb3IobGV0IGk9MDtpPHQubWFya3MubGVuZ3RoO2krKylpZighdC5tYXJrc1tpXS5pc0luU2V0KHIpKXJldHVybiBuZXcgYSh0aGlzLnBvcyx0Lm1hcmtzW2ldKTtyZXR1cm4gbmV3IGEodGhpcy5wb3MsdGhpcy5tYXJrKX19cmV0dXJuIG5ldyBqZih0aGlzLnBvcyx0aGlzLm1hcmspfW1hcChlKXtsZXQgdD1lLm1hcFJlc3VsdCh0aGlzLnBvcywxKTtyZXR1cm4gdC5kZWxldGVkQWZ0ZXI/bnVsbDpuZXcgYSh0LnBvcyx0aGlzLm1hcmspfXRvSlNPTigpe3JldHVybntzdGVwVHlwZToiYWRkTm9kZU1hcmsiLHBvczp0aGlzLnBvcyxtYXJrOnRoaXMubWFyay50b0pTT04oKX19c3RhdGljIGZyb21KU09OKGUsdCl7aWYodHlwZW9mIHQucG9zIT0ibnVtYmVyIil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgQWRkTm9kZU1hcmtTdGVwLmZyb21KU09OIik7cmV0dXJuIG5ldyBhKHQucG9zLGUubWFya0Zyb21KU09OKHQubWFyaykpfX07SXMuanNvbklEKCJhZGROb2RlTWFyayIsTW0pO2pmPWNsYXNzIGEgZXh0ZW5kcyBJc3tzdGF0aWN7cyh0aGlzLCJSZW1vdmVOb2RlTWFya1N0ZXAiKX1jb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5wb3M9ZSx0aGlzLm1hcms9dH1hcHBseShlKXtsZXQgdD1lLm5vZGVBdCh0aGlzLnBvcyk7aWYoIXQpcmV0dXJuIFdzLmZhaWwoIk5vIG5vZGUgYXQgbWFyayBzdGVwJ3MgcG9zaXRpb24iKTtsZXQgcj10LnR5cGUuY3JlYXRlKHQuYXR0cnMsbnVsbCx0aGlzLm1hcmsucmVtb3ZlRnJvbVNldCh0Lm1hcmtzKSk7cmV0dXJuIFdzLmZyb21SZXBsYWNlKGUsdGhpcy5wb3MsdGhpcy5wb3MrMSxuZXcgaXQoVmUuZnJvbShyKSwwLHQuaXNMZWFmPzA6MSkpfWludmVydChlKXtsZXQgdD1lLm5vZGVBdCh0aGlzLnBvcyk7cmV0dXJuIXR8fCF0aGlzLm1hcmsuaXNJblNldCh0Lm1hcmtzKT90aGlzOm5ldyBNbSh0aGlzLnBvcyx0aGlzLm1hcmspfW1hcChlKXtsZXQgdD1lLm1hcFJlc3VsdCh0aGlzLnBvcywxKTtyZXR1cm4gdC5kZWxldGVkQWZ0ZXI/bnVsbDpuZXcgYSh0LnBvcyx0aGlzLm1hcmspfXRvSlNPTigpe3JldHVybntzdGVwVHlwZToicmVtb3ZlTm9kZU1hcmsiLHBvczp0aGlzLnBvcyxtYXJrOnRoaXMubWFyay50b0pTT04oKX19c3RhdGljIGZyb21KU09OKGUsdCl7aWYodHlwZW9mIHQucG9zIT0ibnVtYmVyIil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgUmVtb3ZlTm9kZU1hcmtTdGVwLmZyb21KU09OIik7cmV0dXJuIG5ldyBhKHQucG9zLGUubWFya0Zyb21KU09OKHQubWFyaykpfX07SXMuanNvbklEKCJyZW1vdmVOb2RlTWFyayIsamYpO0dzPWNsYXNzIGEgZXh0ZW5kcyBJc3tzdGF0aWN7cyh0aGlzLCJSZXBsYWNlU3RlcCIpfWNvbnN0cnVjdG9yKGUsdCxyLGk9ITEpe3N1cGVyKCksdGhpcy5mcm9tPWUsdGhpcy50bz10LHRoaXMuc2xpY2U9cix0aGlzLnN0cnVjdHVyZT1pfWFwcGx5KGUpe3JldHVybiB0aGlzLnN0cnVjdHVyZSYmTUtlKGUsdGhpcy5mcm9tLHRoaXMudG8pP1dzLmZhaWwoIlN0cnVjdHVyZSByZXBsYWNlIHdvdWxkIG92ZXJ3cml0ZSBjb250ZW50Iik6V3MuZnJvbVJlcGxhY2UoZSx0aGlzLmZyb20sdGhpcy50byx0aGlzLnNsaWNlKX1nZXRNYXAoKXtyZXR1cm4gbmV3IEsyKFt0aGlzLmZyb20sdGhpcy50by10aGlzLmZyb20sdGhpcy5zbGljZS5zaXplXSl9aW52ZXJ0KGUpe3JldHVybiBuZXcgYSh0aGlzLmZyb20sdGhpcy5mcm9tK3RoaXMuc2xpY2Uuc2l6ZSxlLnNsaWNlKHRoaXMuZnJvbSx0aGlzLnRvKSl9bWFwKGUpe2xldCB0PWUubWFwUmVzdWx0KHRoaXMudG8sLTEpLHI9dGhpcy5mcm9tPT10aGlzLnRvJiZhLk1BUF9CSUFTPDA/dDplLm1hcFJlc3VsdCh0aGlzLmZyb20sMSk7cmV0dXJuIHIuZGVsZXRlZEFjcm9zcyYmdC5kZWxldGVkQWNyb3NzP251bGw6bmV3IGEoci5wb3MsTWF0aC5tYXgoci5wb3MsdC5wb3MpLHRoaXMuc2xpY2UsdGhpcy5zdHJ1Y3R1cmUpfW1lcmdlKGUpe2lmKCEoZSBpbnN0YW5jZW9mIGEpfHxlLnN0cnVjdHVyZXx8dGhpcy5zdHJ1Y3R1cmUpcmV0dXJuIG51bGw7aWYodGhpcy5mcm9tK3RoaXMuc2xpY2Uuc2l6ZT09ZS5mcm9tJiYhdGhpcy5zbGljZS5vcGVuRW5kJiYhZS5zbGljZS5vcGVuU3RhcnQpe2xldCB0PXRoaXMuc2xpY2Uuc2l6ZStlLnNsaWNlLnNpemU9PTA/aXQuZW1wdHk6bmV3IGl0KHRoaXMuc2xpY2UuY29udGVudC5hcHBlbmQoZS5zbGljZS5jb250ZW50KSx0aGlzLnNsaWNlLm9wZW5TdGFydCxlLnNsaWNlLm9wZW5FbmQpO3JldHVybiBuZXcgYSh0aGlzLmZyb20sdGhpcy50bysoZS50by1lLmZyb20pLHQsdGhpcy5zdHJ1Y3R1cmUpfWVsc2UgaWYoZS50bz09dGhpcy5mcm9tJiYhdGhpcy5zbGljZS5vcGVuU3RhcnQmJiFlLnNsaWNlLm9wZW5FbmQpe2xldCB0PXRoaXMuc2xpY2Uuc2l6ZStlLnNsaWNlLnNpemU9PTA/aXQuZW1wdHk6bmV3IGl0KGUuc2xpY2UuY29udGVudC5hcHBlbmQodGhpcy5zbGljZS5jb250ZW50KSxlLnNsaWNlLm9wZW5TdGFydCx0aGlzLnNsaWNlLm9wZW5FbmQpO3JldHVybiBuZXcgYShlLmZyb20sdGhpcy50byx0LHRoaXMuc3RydWN0dXJlKX1lbHNlIHJldHVybiBudWxsfXRvSlNPTigpe2xldCBlPXtzdGVwVHlwZToicmVwbGFjZSIsZnJvbTp0aGlzLmZyb20sdG86dGhpcy50b307cmV0dXJuIHRoaXMuc2xpY2Uuc2l6ZSYmKGUuc2xpY2U9dGhpcy5zbGljZS50b0pTT04oKSksdGhpcy5zdHJ1Y3R1cmUmJihlLnN0cnVjdHVyZT0hMCksZX1zdGF0aWMgZnJvbUpTT04oZSx0KXtpZih0eXBlb2YgdC5mcm9tIT0ibnVtYmVyInx8dHlwZW9mIHQudG8hPSJudW1iZXIiKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIGlucHV0IGZvciBSZXBsYWNlU3RlcC5mcm9tSlNPTiIpO3JldHVybiBuZXcgYSh0LmZyb20sdC50byxpdC5mcm9tSlNPTihlLHQuc2xpY2UpLCEhdC5zdHJ1Y3R1cmUpfX07R3MuTUFQX0JJQVM9MSxJcy5qc29uSUQoInJlcGxhY2UiLEdzKTtlcz1jbGFzcyBhIGV4dGVuZHMgSXN7c3RhdGlje3ModGhpcywiUmVwbGFjZUFyb3VuZFN0ZXAiKX1jb25zdHJ1Y3RvcihlLHQscixpLG8sbixsPSExKXtzdXBlcigpLHRoaXMuZnJvbT1lLHRoaXMudG89dCx0aGlzLmdhcEZyb209cix0aGlzLmdhcFRvPWksdGhpcy5zbGljZT1vLHRoaXMuaW5zZXJ0PW4sdGhpcy5zdHJ1Y3R1cmU9bH1hcHBseShlKXtpZih0aGlzLnN0cnVjdHVyZSYmKE1LZShlLHRoaXMuZnJvbSx0aGlzLmdhcEZyb20pfHxNS2UoZSx0aGlzLmdhcFRvLHRoaXMudG8pKSlyZXR1cm4gV3MuZmFpbCgiU3RydWN0dXJlIGdhcC1yZXBsYWNlIHdvdWxkIG92ZXJ3cml0ZSBjb250ZW50Iik7bGV0IHQ9ZS5zbGljZSh0aGlzLmdhcEZyb20sdGhpcy5nYXBUbyk7aWYodC5vcGVuU3RhcnR8fHQub3BlbkVuZClyZXR1cm4gV3MuZmFpbCgiR2FwIGlzIG5vdCBhIGZsYXQgcmFuZ2UiKTtsZXQgcj10aGlzLnNsaWNlLmluc2VydEF0KHRoaXMuaW5zZXJ0LHQuY29udGVudCk7cmV0dXJuIHI/V3MuZnJvbVJlcGxhY2UoZSx0aGlzLmZyb20sdGhpcy50byxyKTpXcy5mYWlsKCJDb250ZW50IGRvZXMgbm90IGZpdCBpbiBnYXAiKX1nZXRNYXAoKXtyZXR1cm4gbmV3IEsyKFt0aGlzLmZyb20sdGhpcy5nYXBGcm9tLXRoaXMuZnJvbSx0aGlzLmluc2VydCx0aGlzLmdhcFRvLHRoaXMudG8tdGhpcy5nYXBUbyx0aGlzLnNsaWNlLnNpemUtdGhpcy5pbnNlcnRdKX1pbnZlcnQoZSl7bGV0IHQ9dGhpcy5nYXBUby10aGlzLmdhcEZyb207cmV0dXJuIG5ldyBhKHRoaXMuZnJvbSx0aGlzLmZyb20rdGhpcy5zbGljZS5zaXplK3QsdGhpcy5mcm9tK3RoaXMuaW5zZXJ0LHRoaXMuZnJvbSt0aGlzLmluc2VydCt0LGUuc2xpY2UodGhpcy5mcm9tLHRoaXMudG8pLnJlbW92ZUJldHdlZW4odGhpcy5nYXBGcm9tLXRoaXMuZnJvbSx0aGlzLmdhcFRvLXRoaXMuZnJvbSksdGhpcy5nYXBGcm9tLXRoaXMuZnJvbSx0aGlzLnN0cnVjdHVyZSl9bWFwKGUpe2xldCB0PWUubWFwUmVzdWx0KHRoaXMuZnJvbSwxKSxyPWUubWFwUmVzdWx0KHRoaXMudG8sLTEpLGk9dGhpcy5mcm9tPT10aGlzLmdhcEZyb20/dC5wb3M6ZS5tYXAodGhpcy5nYXBGcm9tLC0xKSxvPXRoaXMudG89PXRoaXMuZ2FwVG8/ci5wb3M6ZS5tYXAodGhpcy5nYXBUbywxKTtyZXR1cm4gdC5kZWxldGVkQWNyb3NzJiZyLmRlbGV0ZWRBY3Jvc3N8fGk8dC5wb3N8fG8+ci5wb3M/bnVsbDpuZXcgYSh0LnBvcyxyLnBvcyxpLG8sdGhpcy5zbGljZSx0aGlzLmluc2VydCx0aGlzLnN0cnVjdHVyZSl9dG9KU09OKCl7bGV0IGU9e3N0ZXBUeXBlOiJyZXBsYWNlQXJvdW5kIixmcm9tOnRoaXMuZnJvbSx0bzp0aGlzLnRvLGdhcEZyb206dGhpcy5nYXBGcm9tLGdhcFRvOnRoaXMuZ2FwVG8saW5zZXJ0OnRoaXMuaW5zZXJ0fTtyZXR1cm4gdGhpcy5zbGljZS5zaXplJiYoZS5zbGljZT10aGlzLnNsaWNlLnRvSlNPTigpKSx0aGlzLnN0cnVjdHVyZSYmKGUuc3RydWN0dXJlPSEwKSxlfXN0YXRpYyBmcm9tSlNPTihlLHQpe2lmKHR5cGVvZiB0LmZyb20hPSJudW1iZXIifHx0eXBlb2YgdC50byE9Im51bWJlciJ8fHR5cGVvZiB0LmdhcEZyb20hPSJudW1iZXIifHx0eXBlb2YgdC5nYXBUbyE9Im51bWJlciJ8fHR5cGVvZiB0Lmluc2VydCE9Im51bWJlciIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIFJlcGxhY2VBcm91bmRTdGVwLmZyb21KU09OIik7cmV0dXJuIG5ldyBhKHQuZnJvbSx0LnRvLHQuZ2FwRnJvbSx0LmdhcFRvLGl0LmZyb21KU09OKGUsdC5zbGljZSksdC5pbnNlcnQsISF0LnN0cnVjdHVyZSl9fTtJcy5qc29uSUQoInJlcGxhY2VBcm91bmQiLGVzKTtzKE1LZSwiY29udGVudEJldHdlZW4iKTtzKGtEYSwiYWRkTWFyayIpO3MoU0RhLCJyZW1vdmVNYXJrIik7cyhrS2UsImNsZWFySW5jb21wYXRpYmxlIik7cyh6RGEsImNhbkN1dCIpO3MoWjIsImxpZnRUYXJnZXQiKTtzKENEYSwibGlmdCIpO3MoR2YsImZpbmRXcmFwcGluZyIpO3Moc29hLCJ3aXRoQXR0cnMiKTtzKF9EYSwiZmluZFdyYXBwaW5nT3V0c2lkZSIpO3MoVERhLCJmaW5kV3JhcHBpbmdJbnNpZGUiKTtzKExEYSwid3JhcCIpO3MoJERhLCJzZXRCbG9ja1R5cGUiKTtzKGlvYSwicmVwbGFjZU5ld2xpbmVzIik7cyhvb2EsInJlcGxhY2VMaW5lYnJlYWtzIik7cyhERGEsImNhbkNoYW5nZVR5cGUiKTtzKEFEYSwic2V0Tm9kZU1hcmt1cCIpO3MoQW8sImNhblNwbGl0Iik7cyhFRGEsInNwbGl0Iik7cyh0biwiY2FuSm9pbiIpO3MoUERhLCJjYW5BcHBlbmRXaXRoU3Vic3RpdHV0ZWRMaW5lYnJlYWtzIik7cyhub2EsImpvaW5hYmxlIik7cyhZZiwiam9pblBvaW50Iik7cyhJRGEsImpvaW4iKTtzKGxvYSwiaW5zZXJ0UG9pbnQiKTtzKEpVLCJkcm9wUG9pbnQiKTtzKFNtLCJyZXBsYWNlU3RlcCIpO3MoY29hLCJmaXRzVHJpdmlhbGx5Iik7U0tlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkZpdHRlciIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLiRmcm9tPWUsdGhpcy4kdG89dCx0aGlzLnVucGxhY2VkPXIsdGhpcy5mcm9udGllcj1bXSx0aGlzLnBsYWNlZD1WZS5lbXB0eTtmb3IobGV0IGk9MDtpPD1lLmRlcHRoO2krKyl7bGV0IG89ZS5ub2RlKGkpO3RoaXMuZnJvbnRpZXIucHVzaCh7dHlwZTpvLnR5cGUsbWF0Y2g6by5jb250ZW50TWF0Y2hBdChlLmluZGV4QWZ0ZXIoaSkpfSl9Zm9yKGxldCBpPWUuZGVwdGg7aT4wO2ktLSl0aGlzLnBsYWNlZD1WZS5mcm9tKGUubm9kZShpKS5jb3B5KHRoaXMucGxhY2VkKSl9Z2V0IGRlcHRoKCl7cmV0dXJuIHRoaXMuZnJvbnRpZXIubGVuZ3RoLTF9Zml0KCl7Zm9yKDt0aGlzLnVucGxhY2VkLnNpemU7KXtsZXQgYz10aGlzLmZpbmRGaXR0YWJsZSgpO2M/dGhpcy5wbGFjZU5vZGVzKGMpOnRoaXMub3Blbk1vcmUoKXx8dGhpcy5kcm9wTm9kZSgpfWxldCBlPXRoaXMubXVzdE1vdmVJbmxpbmUoKSx0PXRoaXMucGxhY2VkLnNpemUtdGhpcy5kZXB0aC10aGlzLiRmcm9tLmRlcHRoLHI9dGhpcy4kZnJvbSxpPXRoaXMuY2xvc2UoZTwwP3RoaXMuJHRvOnIuZG9jLnJlc29sdmUoZSkpO2lmKCFpKXJldHVybiBudWxsO2xldCBvPXRoaXMucGxhY2VkLG49ci5kZXB0aCxsPWkuZGVwdGg7Zm9yKDtuJiZsJiZvLmNoaWxkQ291bnQ9PTE7KW89by5maXJzdENoaWxkLmNvbnRlbnQsbi0tLGwtLTtsZXQgZD1uZXcgaXQobyxuLGwpO3JldHVybiBlPi0xP25ldyBlcyhyLnBvcyxlLHRoaXMuJHRvLnBvcyx0aGlzLiR0by5lbmQoKSxkLHQpOmQuc2l6ZXx8ci5wb3MhPXRoaXMuJHRvLnBvcz9uZXcgR3Moci5wb3MsaS5wb3MsZCk6bnVsbH1maW5kRml0dGFibGUoKXtsZXQgZT10aGlzLnVucGxhY2VkLm9wZW5TdGFydDtmb3IobGV0IHQ9dGhpcy51bnBsYWNlZC5jb250ZW50LHI9MCxpPXRoaXMudW5wbGFjZWQub3BlbkVuZDtyPGU7cisrKXtsZXQgbz10LmZpcnN0Q2hpbGQ7aWYodC5jaGlsZENvdW50PjEmJihpPTApLG8udHlwZS5zcGVjLmlzb2xhdGluZyYmaTw9cil7ZT1yO2JyZWFrfXQ9by5jb250ZW50fWZvcihsZXQgdD0xO3Q8PTI7dCsrKWZvcihsZXQgcj10PT0xP2U6dGhpcy51bnBsYWNlZC5vcGVuU3RhcnQ7cj49MDtyLS0pe2xldCBpLG89bnVsbDtyPyhvPXpLZSh0aGlzLnVucGxhY2VkLmNvbnRlbnQsci0xKS5maXJzdENoaWxkLGk9by5jb250ZW50KTppPXRoaXMudW5wbGFjZWQuY29udGVudDtsZXQgbj1pLmZpcnN0Q2hpbGQ7Zm9yKGxldCBsPXRoaXMuZGVwdGg7bD49MDtsLS0pe2xldHt0eXBlOmQsbWF0Y2g6Y309dGhpcy5mcm9udGllcltsXSxwLHU9bnVsbDtpZih0PT0xJiYobj9jLm1hdGNoVHlwZShuLnR5cGUpfHwodT1jLmZpbGxCZWZvcmUoVmUuZnJvbShuKSwhMSkpOm8mJmQuY29tcGF0aWJsZUNvbnRlbnQoby50eXBlKSkpcmV0dXJue3NsaWNlRGVwdGg6cixmcm9udGllckRlcHRoOmwscGFyZW50Om8saW5qZWN0OnV9O2lmKHQ9PTImJm4mJihwPWMuZmluZFdyYXBwaW5nKG4udHlwZSkpKXJldHVybntzbGljZURlcHRoOnIsZnJvbnRpZXJEZXB0aDpsLHBhcmVudDpvLHdyYXA6cH07aWYobyYmYy5tYXRjaFR5cGUoby50eXBlKSlicmVha319fW9wZW5Nb3JlKCl7bGV0e2NvbnRlbnQ6ZSxvcGVuU3RhcnQ6dCxvcGVuRW5kOnJ9PXRoaXMudW5wbGFjZWQsaT16S2UoZSx0KTtyZXR1cm4haS5jaGlsZENvdW50fHxpLmZpcnN0Q2hpbGQuaXNMZWFmPyExOih0aGlzLnVucGxhY2VkPW5ldyBpdChlLHQrMSxNYXRoLm1heChyLGkuc2l6ZSt0Pj1lLnNpemUtcj90KzE6MCkpLCEwKX1kcm9wTm9kZSgpe2xldHtjb250ZW50OmUsb3BlblN0YXJ0OnQsb3BlbkVuZDpyfT10aGlzLnVucGxhY2VkLGk9ektlKGUsdCk7aWYoaS5jaGlsZENvdW50PD0xJiZ0PjApe2xldCBvPWUuc2l6ZS10PD10K2kuc2l6ZTt0aGlzLnVucGxhY2VkPW5ldyBpdChLVShlLHQtMSwxKSx0LTEsbz90LTE6cil9ZWxzZSB0aGlzLnVucGxhY2VkPW5ldyBpdChLVShlLHQsMSksdCxyKX1wbGFjZU5vZGVzKHtzbGljZURlcHRoOmUsZnJvbnRpZXJEZXB0aDp0LHBhcmVudDpyLGluamVjdDppLHdyYXA6b30pe2Zvcig7dGhpcy5kZXB0aD50Oyl0aGlzLmNsb3NlRnJvbnRpZXJOb2RlKCk7aWYobylmb3IobGV0IGI9MDtiPG8ubGVuZ3RoO2IrKyl0aGlzLm9wZW5Gcm9udGllck5vZGUob1tiXSk7bGV0IG49dGhpcy51bnBsYWNlZCxsPXI/ci5jb250ZW50Om4uY29udGVudCxkPW4ub3BlblN0YXJ0LWUsYz0wLHA9W10se21hdGNoOnUsdHlwZTptfT10aGlzLmZyb250aWVyW3RdO2lmKGkpe2ZvcihsZXQgYj0wO2I8aS5jaGlsZENvdW50O2IrKylwLnB1c2goaS5jaGlsZChiKSk7dT11Lm1hdGNoRnJhZ21lbnQoaSl9bGV0IHY9bC5zaXplK2UtKG4uY29udGVudC5zaXplLW4ub3BlbkVuZCk7Zm9yKDtjPGwuY2hpbGRDb3VudDspe2xldCBiPWwuY2hpbGQoYyksZz11Lm1hdGNoVHlwZShiLnR5cGUpO2lmKCFnKWJyZWFrO2MrKywoYz4xfHxkPT0wfHxiLmNvbnRlbnQuc2l6ZSkmJih1PWcscC5wdXNoKGRvYShiLm1hcmsobS5hbGxvd2VkTWFya3MoYi5tYXJrcykpLGM9PTE/ZDowLGM9PWwuY2hpbGRDb3VudD92Oi0xKSkpfWxldCB4PWM9PWwuY2hpbGRDb3VudDt4fHwodj0tMSksdGhpcy5wbGFjZWQ9WlUodGhpcy5wbGFjZWQsdCxWZS5mcm9tKHApKSx0aGlzLmZyb250aWVyW3RdLm1hdGNoPXUseCYmdjwwJiZyJiZyLnR5cGU9PXRoaXMuZnJvbnRpZXJbdGhpcy5kZXB0aF0udHlwZSYmdGhpcy5mcm9udGllci5sZW5ndGg+MSYmdGhpcy5jbG9zZUZyb250aWVyTm9kZSgpO2ZvcihsZXQgYj0wLGc9bDtiPHY7YisrKXtsZXQgeT1nLmxhc3RDaGlsZDt0aGlzLmZyb250aWVyLnB1c2goe3R5cGU6eS50eXBlLG1hdGNoOnkuY29udGVudE1hdGNoQXQoeS5jaGlsZENvdW50KX0pLGc9eS5jb250ZW50fXRoaXMudW5wbGFjZWQ9eD9lPT0wP2l0LmVtcHR5Om5ldyBpdChLVShuLmNvbnRlbnQsZS0xLDEpLGUtMSx2PDA/bi5vcGVuRW5kOmUtMSk6bmV3IGl0KEtVKG4uY29udGVudCxlLGMpLG4ub3BlblN0YXJ0LG4ub3BlbkVuZCl9bXVzdE1vdmVJbmxpbmUoKXtpZighdGhpcy4kdG8ucGFyZW50LmlzVGV4dGJsb2NrKXJldHVybi0xO2xldCBlPXRoaXMuZnJvbnRpZXJbdGhpcy5kZXB0aF0sdDtpZighZS50eXBlLmlzVGV4dGJsb2NrfHwhQ0tlKHRoaXMuJHRvLHRoaXMuJHRvLmRlcHRoLGUudHlwZSxlLm1hdGNoLCExKXx8dGhpcy4kdG8uZGVwdGg9PXRoaXMuZGVwdGgmJih0PXRoaXMuZmluZENsb3NlTGV2ZWwodGhpcy4kdG8pKSYmdC5kZXB0aD09dGhpcy5kZXB0aClyZXR1cm4tMTtsZXR7ZGVwdGg6cn09dGhpcy4kdG8saT10aGlzLiR0by5hZnRlcihyKTtmb3IoO3I+MSYmaT09dGhpcy4kdG8uZW5kKC0tcik7KSsraTtyZXR1cm4gaX1maW5kQ2xvc2VMZXZlbChlKXtlOmZvcihsZXQgdD1NYXRoLm1pbih0aGlzLmRlcHRoLGUuZGVwdGgpO3Q+PTA7dC0tKXtsZXR7bWF0Y2g6cix0eXBlOml9PXRoaXMuZnJvbnRpZXJbdF0sbz10PGUuZGVwdGgmJmUuZW5kKHQrMSk9PWUucG9zKyhlLmRlcHRoLSh0KzEpKSxuPUNLZShlLHQsaSxyLG8pO2lmKG4pe2ZvcihsZXQgbD10LTE7bD49MDtsLS0pe2xldHttYXRjaDpkLHR5cGU6Y309dGhpcy5mcm9udGllcltsXSxwPUNLZShlLGwsYyxkLCEwKTtpZighcHx8cC5jaGlsZENvdW50KWNvbnRpbnVlIGV9cmV0dXJue2RlcHRoOnQsZml0Om4sbW92ZTpvP2UuZG9jLnJlc29sdmUoZS5hZnRlcih0KzEpKTplfX19fWNsb3NlKGUpe2xldCB0PXRoaXMuZmluZENsb3NlTGV2ZWwoZSk7aWYoIXQpcmV0dXJuIG51bGw7Zm9yKDt0aGlzLmRlcHRoPnQuZGVwdGg7KXRoaXMuY2xvc2VGcm9udGllck5vZGUoKTt0LmZpdC5jaGlsZENvdW50JiYodGhpcy5wbGFjZWQ9WlUodGhpcy5wbGFjZWQsdC5kZXB0aCx0LmZpdCkpLGU9dC5tb3ZlO2ZvcihsZXQgcj10LmRlcHRoKzE7cjw9ZS5kZXB0aDtyKyspe2xldCBpPWUubm9kZShyKSxvPWkudHlwZS5jb250ZW50TWF0Y2guZmlsbEJlZm9yZShpLmNvbnRlbnQsITAsZS5pbmRleChyKSk7dGhpcy5vcGVuRnJvbnRpZXJOb2RlKGkudHlwZSxpLmF0dHJzLG8pfXJldHVybiBlfW9wZW5Gcm9udGllck5vZGUoZSx0PW51bGwscil7bGV0IGk9dGhpcy5mcm9udGllclt0aGlzLmRlcHRoXTtpLm1hdGNoPWkubWF0Y2gubWF0Y2hUeXBlKGUpLHRoaXMucGxhY2VkPVpVKHRoaXMucGxhY2VkLHRoaXMuZGVwdGgsVmUuZnJvbShlLmNyZWF0ZSh0LHIpKSksdGhpcy5mcm9udGllci5wdXNoKHt0eXBlOmUsbWF0Y2g6ZS5jb250ZW50TWF0Y2h9KX1jbG9zZUZyb250aWVyTm9kZSgpe2xldCB0PXRoaXMuZnJvbnRpZXIucG9wKCkubWF0Y2guZmlsbEJlZm9yZShWZS5lbXB0eSwhMCk7dC5jaGlsZENvdW50JiYodGhpcy5wbGFjZWQ9WlUodGhpcy5wbGFjZWQsdGhpcy5mcm9udGllci5sZW5ndGgsdCkpfX07cyhLVSwiZHJvcEZyb21GcmFnbWVudCIpO3MoWlUsImFkZFRvRnJhZ21lbnQiKTtzKHpLZSwiY29udGVudEF0Iik7cyhkb2EsImNsb3NlTm9kZVN0YXJ0Iik7cyhDS2UsImNvbnRlbnRBZnRlckZpdHMiKTtzKE5EYSwiaW52YWxpZE1hcmtzIik7cyhSRGEsImRlZmluZXNDb250ZW50Iik7cyhPRGEsInJlcGxhY2VSYW5nZSIpO3ModW9hLCJjbG9zZUZyYWdtZW50Iik7cyhGRGEsInJlcGxhY2VSYW5nZVdpdGgiKTtzKEJEYSwiZGVsZXRlUmFuZ2UiKTtzKHBvYSwiY292ZXJlZERlcHRocyIpO1hVPWNsYXNzIGEgZXh0ZW5kcyBJc3tzdGF0aWN7cyh0aGlzLCJBdHRyU3RlcCIpfWNvbnN0cnVjdG9yKGUsdCxyKXtzdXBlcigpLHRoaXMucG9zPWUsdGhpcy5hdHRyPXQsdGhpcy52YWx1ZT1yfWFwcGx5KGUpe2xldCB0PWUubm9kZUF0KHRoaXMucG9zKTtpZighdClyZXR1cm4gV3MuZmFpbCgiTm8gbm9kZSBhdCBhdHRyaWJ1dGUgc3RlcCdzIHBvc2l0aW9uIik7bGV0IHI9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IobGV0IG8gaW4gdC5hdHRycylyW29dPXQuYXR0cnNbb107clt0aGlzLmF0dHJdPXRoaXMudmFsdWU7bGV0IGk9dC50eXBlLmNyZWF0ZShyLG51bGwsdC5tYXJrcyk7cmV0dXJuIFdzLmZyb21SZXBsYWNlKGUsdGhpcy5wb3MsdGhpcy5wb3MrMSxuZXcgaXQoVmUuZnJvbShpKSwwLHQuaXNMZWFmPzA6MSkpfWdldE1hcCgpe3JldHVybiBLMi5lbXB0eX1pbnZlcnQoZSl7cmV0dXJuIG5ldyBhKHRoaXMucG9zLHRoaXMuYXR0cixlLm5vZGVBdCh0aGlzLnBvcykuYXR0cnNbdGhpcy5hdHRyXSl9bWFwKGUpe2xldCB0PWUubWFwUmVzdWx0KHRoaXMucG9zLDEpO3JldHVybiB0LmRlbGV0ZWRBZnRlcj9udWxsOm5ldyBhKHQucG9zLHRoaXMuYXR0cix0aGlzLnZhbHVlKX10b0pTT04oKXtyZXR1cm57c3RlcFR5cGU6ImF0dHIiLHBvczp0aGlzLnBvcyxhdHRyOnRoaXMuYXR0cix2YWx1ZTp0aGlzLnZhbHVlfX1zdGF0aWMgZnJvbUpTT04oZSx0KXtpZih0eXBlb2YgdC5wb3MhPSJudW1iZXIifHx0eXBlb2YgdC5hdHRyIT0ic3RyaW5nIil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgQXR0clN0ZXAuZnJvbUpTT04iKTtyZXR1cm4gbmV3IGEodC5wb3MsdC5hdHRyLHQudmFsdWUpfX07SXMuanNvbklEKCJhdHRyIixYVSk7UVU9Y2xhc3MgYSBleHRlbmRzIElze3N0YXRpY3tzKHRoaXMsIkRvY0F0dHJTdGVwIil9Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpLHRoaXMuYXR0cj1lLHRoaXMudmFsdWU9dH1hcHBseShlKXtsZXQgdD1PYmplY3QuY3JlYXRlKG51bGwpO2ZvcihsZXQgaSBpbiBlLmF0dHJzKXRbaV09ZS5hdHRyc1tpXTt0W3RoaXMuYXR0cl09dGhpcy52YWx1ZTtsZXQgcj1lLnR5cGUuY3JlYXRlKHQsZS5jb250ZW50LGUubWFya3MpO3JldHVybiBXcy5vayhyKX1nZXRNYXAoKXtyZXR1cm4gSzIuZW1wdHl9aW52ZXJ0KGUpe3JldHVybiBuZXcgYSh0aGlzLmF0dHIsZS5hdHRyc1t0aGlzLmF0dHJdKX1tYXAoZSl7cmV0dXJuIHRoaXN9dG9KU09OKCl7cmV0dXJue3N0ZXBUeXBlOiJkb2NBdHRyIixhdHRyOnRoaXMuYXR0cix2YWx1ZTp0aGlzLnZhbHVlfX1zdGF0aWMgZnJvbUpTT04oZSx0KXtpZih0eXBlb2YgdC5hdHRyIT0ic3RyaW5nIil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgRG9jQXR0clN0ZXAuZnJvbUpTT04iKTtyZXR1cm4gbmV3IGEodC5hdHRyLHQudmFsdWUpfX07SXMuanNvbklEKCJkb2NBdHRyIixRVSk7VWY9Y2xhc3MgZXh0ZW5kcyBFcnJvcntzdGF0aWN7cyh0aGlzLCJUcmFuc2Zvcm1FcnJvciIpfX07VWY9cyhmdW5jdGlvbiBhKGUpe2xldCB0PUVycm9yLmNhbGwodGhpcyxlKTtyZXR1cm4gdC5fX3Byb3RvX189YS5wcm90b3R5cGUsdH0sIlRyYW5zZm9ybUVycm9yIiksVWYucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKSxVZi5wcm90b3R5cGUuY29uc3RydWN0b3I9VWYsVWYucHJvdG90eXBlLm5hbWU9IlRyYW5zZm9ybUVycm9yIjtXZj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJUcmFuc2Zvcm0iKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmRvYz1lLHRoaXMuc3RlcHM9W10sdGhpcy5kb2NzPVtdLHRoaXMubWFwcGluZz1uZXcga219Z2V0IGJlZm9yZSgpe3JldHVybiB0aGlzLmRvY3MubGVuZ3RoP3RoaXMuZG9jc1swXTp0aGlzLmRvY31zdGVwKGUpe2xldCB0PXRoaXMubWF5YmVTdGVwKGUpO2lmKHQuZmFpbGVkKXRocm93IG5ldyBVZih0LmZhaWxlZCk7cmV0dXJuIHRoaXN9bWF5YmVTdGVwKGUpe2xldCB0PWUuYXBwbHkodGhpcy5kb2MpO3JldHVybiB0LmZhaWxlZHx8dGhpcy5hZGRTdGVwKGUsdC5kb2MpLHR9Z2V0IGRvY0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5zdGVwcy5sZW5ndGg+MH1jaGFuZ2VkUmFuZ2UoKXtsZXQgZT0xZTksdD0tMWU5O2ZvcihsZXQgcj0wO3I8dGhpcy5tYXBwaW5nLm1hcHMubGVuZ3RoO3IrKyl7bGV0IGk9dGhpcy5tYXBwaW5nLm1hcHNbcl07ciYmKGU9aS5tYXAoZSwxKSx0PWkubWFwKHQsLTEpKSxpLmZvckVhY2goKG8sbixsLGQpPT57ZT1NYXRoLm1pbihlLGwpLHQ9TWF0aC5tYXgodCxkKX0pfXJldHVybiBlPT0xZTk/bnVsbDp7ZnJvbTplLHRvOnR9fWFkZFN0ZXAoZSx0KXt0aGlzLmRvY3MucHVzaCh0aGlzLmRvYyksdGhpcy5zdGVwcy5wdXNoKGUpLHRoaXMubWFwcGluZy5hcHBlbmRNYXAoZS5nZXRNYXAoKSksdGhpcy5kb2M9dH1yZXBsYWNlKGUsdD1lLHI9aXQuZW1wdHkpe2xldCBpPVNtKHRoaXMuZG9jLGUsdCxyKTtyZXR1cm4gaSYmdGhpcy5zdGVwKGkpLHRoaXN9cmVwbGFjZVdpdGgoZSx0LHIpe3JldHVybiB0aGlzLnJlcGxhY2UoZSx0LG5ldyBpdChWZS5mcm9tKHIpLDAsMCkpfWRlbGV0ZShlLHQpe3JldHVybiB0aGlzLnJlcGxhY2UoZSx0LGl0LmVtcHR5KX1pbnNlcnQoZSx0KXtyZXR1cm4gdGhpcy5yZXBsYWNlV2l0aChlLGUsdCl9cmVwbGFjZVJhbmdlKGUsdCxyKXtyZXR1cm4gT0RhKHRoaXMsZSx0LHIpLHRoaXN9cmVwbGFjZVJhbmdlV2l0aChlLHQscil7cmV0dXJuIEZEYSh0aGlzLGUsdCxyKSx0aGlzfWRlbGV0ZVJhbmdlKGUsdCl7cmV0dXJuIEJEYSh0aGlzLGUsdCksdGhpc31saWZ0KGUsdCl7cmV0dXJuIENEYSh0aGlzLGUsdCksdGhpc31qb2luKGUsdD0xKXtyZXR1cm4gSURhKHRoaXMsZSx0KSx0aGlzfXdyYXAoZSx0KXtyZXR1cm4gTERhKHRoaXMsZSx0KSx0aGlzfXNldEJsb2NrVHlwZShlLHQ9ZSxyLGk9bnVsbCl7cmV0dXJuICREYSh0aGlzLGUsdCxyLGkpLHRoaXN9c2V0Tm9kZU1hcmt1cChlLHQscj1udWxsLGkpe3JldHVybiBBRGEodGhpcyxlLHQscixpKSx0aGlzfXNldE5vZGVBdHRyaWJ1dGUoZSx0LHIpe3JldHVybiB0aGlzLnN0ZXAobmV3IFhVKGUsdCxyKSksdGhpc31zZXREb2NBdHRyaWJ1dGUoZSx0KXtyZXR1cm4gdGhpcy5zdGVwKG5ldyBRVShlLHQpKSx0aGlzfWFkZE5vZGVNYXJrKGUsdCl7cmV0dXJuIHRoaXMuc3RlcChuZXcgTW0oZSx0KSksdGhpc31yZW1vdmVOb2RlTWFyayhlLHQpe2xldCByPXRoaXMuZG9jLm5vZGVBdChlKTtpZighcil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiTm8gbm9kZSBhdCBwb3NpdGlvbiAiK2UpO2lmKHQgaW5zdGFuY2VvZiAkYSl0LmlzSW5TZXQoci5tYXJrcykmJnRoaXMuc3RlcChuZXcgamYoZSx0KSk7ZWxzZXtsZXQgaT1yLm1hcmtzLG8sbj1bXTtmb3IoO289dC5pc0luU2V0KGkpOyluLnB1c2gobmV3IGpmKGUsbykpLGk9by5yZW1vdmVGcm9tU2V0KGkpO2ZvcihsZXQgbD1uLmxlbmd0aC0xO2w+PTA7bC0tKXRoaXMuc3RlcChuW2xdKX1yZXR1cm4gdGhpc31zcGxpdChlLHQ9MSxyKXtyZXR1cm4gRURhKHRoaXMsZSx0LHIpLHRoaXN9YWRkTWFyayhlLHQscil7cmV0dXJuIGtEYSh0aGlzLGUsdCxyKSx0aGlzfXJlbW92ZU1hcmsoZSx0LHIpe3JldHVybiBTRGEodGhpcyxlLHQsciksdGhpc31jbGVhckluY29tcGF0aWJsZShlLHQscil7cmV0dXJuIGtLZSh0aGlzLGUsdCxyKSx0aGlzfX19KTtmdW5jdGlvbiBob2EoYSl7IWZvYSYmIWEucGFyZW50LmlubGluZUNvbnRlbnQmJihmb2E9ITAsY29uc29sZS53YXJuKCJUZXh0U2VsZWN0aW9uIGVuZHBvaW50IG5vdCBwb2ludGluZyBpbnRvIGEgbm9kZSB3aXRoIGlubGluZSBjb250ZW50ICgiK2EucGFyZW50LnR5cGUubmFtZSsiKSIpKX1mdW5jdGlvbiB6bShhLGUsdCxyLGksbz0hMSl7aWYoZS5pbmxpbmVDb250ZW50KXJldHVybiBSdC5jcmVhdGUoYSx0KTtmb3IobGV0IG49ci0oaT4wPzA6MSk7aT4wP248ZS5jaGlsZENvdW50Om4+PTA7bis9aSl7bGV0IGw9ZS5jaGlsZChuKTtpZihsLmlzQXRvbSl7aWYoIW8mJk10LmlzU2VsZWN0YWJsZShsKSlyZXR1cm4gTXQuY3JlYXRlKGEsdC0oaTwwP2wubm9kZVNpemU6MCkpfWVsc2V7bGV0IGQ9em0oYSxsLHQraSxpPDA/bC5jaGlsZENvdW50OjAsaSxvKTtpZihkKXJldHVybiBkfXQrPWwubm9kZVNpemUqaX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBtb2EoYSxlLHQpe2xldCByPWEuc3RlcHMubGVuZ3RoLTE7aWYocjxlKXJldHVybjtsZXQgaT1hLnN0ZXBzW3JdO2lmKCEoaSBpbnN0YW5jZW9mIEdzfHxpIGluc3RhbmNlb2YgZXMpKXJldHVybjtsZXQgbz1hLm1hcHBpbmcubWFwc1tyXSxuO28uZm9yRWFjaCgobCxkLGMscCk9PntuPT1udWxsJiYobj1wKX0pLGEuc2V0U2VsZWN0aW9uKEl0Lm5lYXIoYS5kb2MucmVzb2x2ZShuKSx0KSl9ZnVuY3Rpb24gdm9hKGEsZSl7cmV0dXJuIWV8fCFhP2E6YS5iaW5kKGUpfWZ1bmN0aW9uIHhvYShhLGUsdCl7Zm9yKGxldCByIGluIGEpe2xldCBpPWFbcl07aSBpbnN0YW5jZW9mIEZ1bmN0aW9uP2k9aS5iaW5kKGUpOnI9PSJoYW5kbGVET01FdmVudHMiJiYoaT14b2EoaSxlLHt9KSksdFtyXT1pfXJldHVybiB0fWZ1bmN0aW9uIHlvYShhKXtyZXR1cm4gYSBpbiBMS2U/YSsiJCIrICsrTEtlW2FdOihMS2VbYV09MCxhKyIkIil9dmFyIF9LZSxJdCxaZixmb2EsUnQsT2FlLE10LFRLZSxBaSxIRGEsZ29hLEZhZSxib2EsQmFlLEtmLHFEYSxlVyx0VyxycixMS2UsbXMseWM9ZigoKT0+e2c0KCk7djQoKTtfS2U9T2JqZWN0LmNyZWF0ZShudWxsKSxJdD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJTZWxlY3Rpb24iKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy4kYW5jaG9yPWUsdGhpcy4kaGVhZD10LHRoaXMucmFuZ2VzPXJ8fFtuZXcgWmYoZS5taW4odCksZS5tYXgodCkpXX1nZXQgYW5jaG9yKCl7cmV0dXJuIHRoaXMuJGFuY2hvci5wb3N9Z2V0IGhlYWQoKXtyZXR1cm4gdGhpcy4kaGVhZC5wb3N9Z2V0IGZyb20oKXtyZXR1cm4gdGhpcy4kZnJvbS5wb3N9Z2V0IHRvKCl7cmV0dXJuIHRoaXMuJHRvLnBvc31nZXQgJGZyb20oKXtyZXR1cm4gdGhpcy5yYW5nZXNbMF0uJGZyb219Z2V0ICR0bygpe3JldHVybiB0aGlzLnJhbmdlc1swXS4kdG99Z2V0IGVtcHR5KCl7bGV0IGU9dGhpcy5yYW5nZXM7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspaWYoZVt0XS4kZnJvbS5wb3MhPWVbdF0uJHRvLnBvcylyZXR1cm4hMTtyZXR1cm4hMH1jb250ZW50KCl7cmV0dXJuIHRoaXMuJGZyb20uZG9jLnNsaWNlKHRoaXMuZnJvbSx0aGlzLnRvLCEwKX1yZXBsYWNlKGUsdD1pdC5lbXB0eSl7bGV0IHI9dC5jb250ZW50Lmxhc3RDaGlsZCxpPW51bGw7Zm9yKGxldCBsPTA7bDx0Lm9wZW5FbmQ7bCsrKWk9cixyPXIubGFzdENoaWxkO2xldCBvPWUuc3RlcHMubGVuZ3RoLG49dGhpcy5yYW5nZXM7Zm9yKGxldCBsPTA7bDxuLmxlbmd0aDtsKyspe2xldHskZnJvbTpkLCR0bzpjfT1uW2xdLHA9ZS5tYXBwaW5nLnNsaWNlKG8pO2UucmVwbGFjZVJhbmdlKHAubWFwKGQucG9zKSxwLm1hcChjLnBvcyksbD9pdC5lbXB0eTp0KSxsPT0wJiZtb2EoZSxvLChyP3IuaXNJbmxpbmU6aSYmaS5pc1RleHRibG9jayk/LTE6MSl9fXJlcGxhY2VXaXRoKGUsdCl7bGV0IHI9ZS5zdGVwcy5sZW5ndGgsaT10aGlzLnJhbmdlcztmb3IobGV0IG89MDtvPGkubGVuZ3RoO28rKyl7bGV0eyRmcm9tOm4sJHRvOmx9PWlbb10sZD1lLm1hcHBpbmcuc2xpY2UociksYz1kLm1hcChuLnBvcykscD1kLm1hcChsLnBvcyk7bz9lLmRlbGV0ZVJhbmdlKGMscCk6KGUucmVwbGFjZVJhbmdlV2l0aChjLHAsdCksbW9hKGUscix0LmlzSW5saW5lPy0xOjEpKX19c3RhdGljIGZpbmRGcm9tKGUsdCxyPSExKXtsZXQgaT1lLnBhcmVudC5pbmxpbmVDb250ZW50P25ldyBSdChlKTp6bShlLm5vZGUoMCksZS5wYXJlbnQsZS5wb3MsZS5pbmRleCgpLHQscik7aWYoaSlyZXR1cm4gaTtmb3IobGV0IG89ZS5kZXB0aC0xO28+PTA7by0tKXtsZXQgbj10PDA/em0oZS5ub2RlKDApLGUubm9kZShvKSxlLmJlZm9yZShvKzEpLGUuaW5kZXgobyksdCxyKTp6bShlLm5vZGUoMCksZS5ub2RlKG8pLGUuYWZ0ZXIobysxKSxlLmluZGV4KG8pKzEsdCxyKTtpZihuKXJldHVybiBufXJldHVybiBudWxsfXN0YXRpYyBuZWFyKGUsdD0xKXtyZXR1cm4gdGhpcy5maW5kRnJvbShlLHQpfHx0aGlzLmZpbmRGcm9tKGUsLXQpfHxuZXcgQWkoZS5ub2RlKDApKX1zdGF0aWMgYXRTdGFydChlKXtyZXR1cm4gem0oZSxlLDAsMCwxKXx8bmV3IEFpKGUpfXN0YXRpYyBhdEVuZChlKXtyZXR1cm4gem0oZSxlLGUuY29udGVudC5zaXplLGUuY2hpbGRDb3VudCwtMSl8fG5ldyBBaShlKX1zdGF0aWMgZnJvbUpTT04oZSx0KXtpZighdHx8IXQudHlwZSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgU2VsZWN0aW9uLmZyb21KU09OIik7bGV0IHI9X0tlW3QudHlwZV07aWYoIXIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYE5vIHNlbGVjdGlvbiB0eXBlICR7dC50eXBlfSBkZWZpbmVkYCk7cmV0dXJuIHIuZnJvbUpTT04oZSx0KX1zdGF0aWMganNvbklEKGUsdCl7aWYoZSBpbiBfS2UpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkR1cGxpY2F0ZSB1c2Ugb2Ygc2VsZWN0aW9uIEpTT04gSUQgIitlKTtyZXR1cm4gX0tlW2VdPXQsdC5wcm90b3R5cGUuanNvbklEPWUsdH1nZXRCb29rbWFyaygpe3JldHVybiBSdC5iZXR3ZWVuKHRoaXMuJGFuY2hvcix0aGlzLiRoZWFkKS5nZXRCb29rbWFyaygpfX07SXQucHJvdG90eXBlLnZpc2libGU9ITA7WmY9Y2xhc3N7c3RhdGlje3ModGhpcywiU2VsZWN0aW9uUmFuZ2UiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMuJGZyb209ZSx0aGlzLiR0bz10fX0sZm9hPSExO3MoaG9hLCJjaGVja1RleHRTZWxlY3Rpb24iKTtSdD1jbGFzcyBhIGV4dGVuZHMgSXR7c3RhdGlje3ModGhpcywiVGV4dFNlbGVjdGlvbiIpfWNvbnN0cnVjdG9yKGUsdD1lKXtob2EoZSksaG9hKHQpLHN1cGVyKGUsdCl9Z2V0ICRjdXJzb3IoKXtyZXR1cm4gdGhpcy4kYW5jaG9yLnBvcz09dGhpcy4kaGVhZC5wb3M/dGhpcy4kaGVhZDpudWxsfW1hcChlLHQpe2xldCByPWUucmVzb2x2ZSh0Lm1hcCh0aGlzLmhlYWQpKTtpZighci5wYXJlbnQuaW5saW5lQ29udGVudClyZXR1cm4gSXQubmVhcihyKTtsZXQgaT1lLnJlc29sdmUodC5tYXAodGhpcy5hbmNob3IpKTtyZXR1cm4gbmV3IGEoaS5wYXJlbnQuaW5saW5lQ29udGVudD9pOnIscil9cmVwbGFjZShlLHQ9aXQuZW1wdHkpe2lmKHN1cGVyLnJlcGxhY2UoZSx0KSx0PT1pdC5lbXB0eSl7bGV0IHI9dGhpcy4kZnJvbS5tYXJrc0Fjcm9zcyh0aGlzLiR0byk7ciYmZS5lbnN1cmVNYXJrcyhyKX19ZXEoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBhJiZlLmFuY2hvcj09dGhpcy5hbmNob3ImJmUuaGVhZD09dGhpcy5oZWFkfWdldEJvb2ttYXJrKCl7cmV0dXJuIG5ldyBPYWUodGhpcy5hbmNob3IsdGhpcy5oZWFkKX10b0pTT04oKXtyZXR1cm57dHlwZToidGV4dCIsYW5jaG9yOnRoaXMuYW5jaG9yLGhlYWQ6dGhpcy5oZWFkfX1zdGF0aWMgZnJvbUpTT04oZSx0KXtpZih0eXBlb2YgdC5hbmNob3IhPSJudW1iZXIifHx0eXBlb2YgdC5oZWFkIT0ibnVtYmVyIil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgVGV4dFNlbGVjdGlvbi5mcm9tSlNPTiIpO3JldHVybiBuZXcgYShlLnJlc29sdmUodC5hbmNob3IpLGUucmVzb2x2ZSh0LmhlYWQpKX1zdGF0aWMgY3JlYXRlKGUsdCxyPXQpe2xldCBpPWUucmVzb2x2ZSh0KTtyZXR1cm4gbmV3IHRoaXMoaSxyPT10P2k6ZS5yZXNvbHZlKHIpKX1zdGF0aWMgYmV0d2VlbihlLHQscil7bGV0IGk9ZS5wb3MtdC5wb3M7aWYoKCFyfHxpKSYmKHI9aT49MD8xOi0xKSwhdC5wYXJlbnQuaW5saW5lQ29udGVudCl7bGV0IG89SXQuZmluZEZyb20odCxyLCEwKXx8SXQuZmluZEZyb20odCwtciwhMCk7aWYobyl0PW8uJGhlYWQ7ZWxzZSByZXR1cm4gSXQubmVhcih0LHIpfXJldHVybiBlLnBhcmVudC5pbmxpbmVDb250ZW50fHwoaT09MD9lPXQ6KGU9KEl0LmZpbmRGcm9tKGUsLXIsITApfHxJdC5maW5kRnJvbShlLHIsITApKS4kYW5jaG9yLGUucG9zPHQucG9zIT1pPDAmJihlPXQpKSksbmV3IGEoZSx0KX19O0l0Lmpzb25JRCgidGV4dCIsUnQpO09hZT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIlRleHRCb29rbWFyayIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5hbmNob3I9ZSx0aGlzLmhlYWQ9dH1tYXAoZSl7cmV0dXJuIG5ldyBhKGUubWFwKHRoaXMuYW5jaG9yKSxlLm1hcCh0aGlzLmhlYWQpKX1yZXNvbHZlKGUpe3JldHVybiBSdC5iZXR3ZWVuKGUucmVzb2x2ZSh0aGlzLmFuY2hvciksZS5yZXNvbHZlKHRoaXMuaGVhZCkpfX0sTXQ9Y2xhc3MgYSBleHRlbmRzIEl0e3N0YXRpY3tzKHRoaXMsIk5vZGVTZWxlY3Rpb24iKX1jb25zdHJ1Y3RvcihlKXtsZXQgdD1lLm5vZGVBZnRlcixyPWUubm9kZSgwKS5yZXNvbHZlKGUucG9zK3Qubm9kZVNpemUpO3N1cGVyKGUsciksdGhpcy5ub2RlPXR9bWFwKGUsdCl7bGV0e2RlbGV0ZWQ6cixwb3M6aX09dC5tYXBSZXN1bHQodGhpcy5hbmNob3IpLG89ZS5yZXNvbHZlKGkpO3JldHVybiByP0l0Lm5lYXIobyk6bmV3IGEobyl9Y29udGVudCgpe3JldHVybiBuZXcgaXQoVmUuZnJvbSh0aGlzLm5vZGUpLDAsMCl9ZXEoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBhJiZlLmFuY2hvcj09dGhpcy5hbmNob3J9dG9KU09OKCl7cmV0dXJue3R5cGU6Im5vZGUiLGFuY2hvcjp0aGlzLmFuY2hvcn19Z2V0Qm9va21hcmsoKXtyZXR1cm4gbmV3IFRLZSh0aGlzLmFuY2hvcil9c3RhdGljIGZyb21KU09OKGUsdCl7aWYodHlwZW9mIHQuYW5jaG9yIT0ibnVtYmVyIil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgTm9kZVNlbGVjdGlvbi5mcm9tSlNPTiIpO3JldHVybiBuZXcgYShlLnJlc29sdmUodC5hbmNob3IpKX1zdGF0aWMgY3JlYXRlKGUsdCl7cmV0dXJuIG5ldyBhKGUucmVzb2x2ZSh0KSl9c3RhdGljIGlzU2VsZWN0YWJsZShlKXtyZXR1cm4hZS5pc1RleHQmJmUudHlwZS5zcGVjLnNlbGVjdGFibGUhPT0hMX19O010LnByb3RvdHlwZS52aXNpYmxlPSExLEl0Lmpzb25JRCgibm9kZSIsTXQpO1RLZT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIk5vZGVCb29rbWFyayIpfWNvbnN0cnVjdG9yKGUpe3RoaXMuYW5jaG9yPWV9bWFwKGUpe2xldHtkZWxldGVkOnQscG9zOnJ9PWUubWFwUmVzdWx0KHRoaXMuYW5jaG9yKTtyZXR1cm4gdD9uZXcgT2FlKHIscik6bmV3IGEocil9cmVzb2x2ZShlKXtsZXQgdD1lLnJlc29sdmUodGhpcy5hbmNob3IpLHI9dC5ub2RlQWZ0ZXI7cmV0dXJuIHImJk10LmlzU2VsZWN0YWJsZShyKT9uZXcgTXQodCk6SXQubmVhcih0KX19LEFpPWNsYXNzIGEgZXh0ZW5kcyBJdHtzdGF0aWN7cyh0aGlzLCJBbGxTZWxlY3Rpb24iKX1jb25zdHJ1Y3RvcihlKXtzdXBlcihlLnJlc29sdmUoMCksZS5yZXNvbHZlKGUuY29udGVudC5zaXplKSl9cmVwbGFjZShlLHQ9aXQuZW1wdHkpe2lmKHQ9PWl0LmVtcHR5KXtlLmRlbGV0ZSgwLGUuZG9jLmNvbnRlbnQuc2l6ZSk7bGV0IHI9SXQuYXRTdGFydChlLmRvYyk7ci5lcShlLnNlbGVjdGlvbil8fGUuc2V0U2VsZWN0aW9uKHIpfWVsc2Ugc3VwZXIucmVwbGFjZShlLHQpfXRvSlNPTigpe3JldHVybnt0eXBlOiJhbGwifX1zdGF0aWMgZnJvbUpTT04oZSl7cmV0dXJuIG5ldyBhKGUpfW1hcChlKXtyZXR1cm4gbmV3IGEoZSl9ZXEoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBhfWdldEJvb2ttYXJrKCl7cmV0dXJuIEhEYX19O0l0Lmpzb25JRCgiYWxsIixBaSk7SERhPXttYXAoKXtyZXR1cm4gdGhpc30scmVzb2x2ZShhKXtyZXR1cm4gbmV3IEFpKGEpfX07cyh6bSwiZmluZFNlbGVjdGlvbkluIik7cyhtb2EsInNlbGVjdGlvblRvSW5zZXJ0aW9uRW5kIik7Z29hPTEsRmFlPTIsYm9hPTQsQmFlPWNsYXNzIGV4dGVuZHMgV2Z7c3RhdGlje3ModGhpcywiVHJhbnNhY3Rpb24iKX1jb25zdHJ1Y3RvcihlKXtzdXBlcihlLmRvYyksdGhpcy5jdXJTZWxlY3Rpb25Gb3I9MCx0aGlzLnVwZGF0ZWQ9MCx0aGlzLm1ldGE9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLnRpbWU9RGF0ZS5ub3coKSx0aGlzLmN1clNlbGVjdGlvbj1lLnNlbGVjdGlvbix0aGlzLnN0b3JlZE1hcmtzPWUuc3RvcmVkTWFya3N9Z2V0IHNlbGVjdGlvbigpe3JldHVybiB0aGlzLmN1clNlbGVjdGlvbkZvcjx0aGlzLnN0ZXBzLmxlbmd0aCYmKHRoaXMuY3VyU2VsZWN0aW9uPXRoaXMuY3VyU2VsZWN0aW9uLm1hcCh0aGlzLmRvYyx0aGlzLm1hcHBpbmcuc2xpY2UodGhpcy5jdXJTZWxlY3Rpb25Gb3IpKSx0aGlzLmN1clNlbGVjdGlvbkZvcj10aGlzLnN0ZXBzLmxlbmd0aCksdGhpcy5jdXJTZWxlY3Rpb259c2V0U2VsZWN0aW9uKGUpe2lmKGUuJGZyb20uZG9jIT10aGlzLmRvYyl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiU2VsZWN0aW9uIHBhc3NlZCB0byBzZXRTZWxlY3Rpb24gbXVzdCBwb2ludCBhdCB0aGUgY3VycmVudCBkb2N1bWVudCIpO3JldHVybiB0aGlzLmN1clNlbGVjdGlvbj1lLHRoaXMuY3VyU2VsZWN0aW9uRm9yPXRoaXMuc3RlcHMubGVuZ3RoLHRoaXMudXBkYXRlZD0odGhpcy51cGRhdGVkfGdvYSkmfkZhZSx0aGlzLnN0b3JlZE1hcmtzPW51bGwsdGhpc31nZXQgc2VsZWN0aW9uU2V0KCl7cmV0dXJuKHRoaXMudXBkYXRlZCZnb2EpPjB9c2V0U3RvcmVkTWFya3MoZSl7cmV0dXJuIHRoaXMuc3RvcmVkTWFya3M9ZSx0aGlzLnVwZGF0ZWR8PUZhZSx0aGlzfWVuc3VyZU1hcmtzKGUpe3JldHVybiAkYS5zYW1lU2V0KHRoaXMuc3RvcmVkTWFya3N8fHRoaXMuc2VsZWN0aW9uLiRmcm9tLm1hcmtzKCksZSl8fHRoaXMuc2V0U3RvcmVkTWFya3MoZSksdGhpc31hZGRTdG9yZWRNYXJrKGUpe3JldHVybiB0aGlzLmVuc3VyZU1hcmtzKGUuYWRkVG9TZXQodGhpcy5zdG9yZWRNYXJrc3x8dGhpcy5zZWxlY3Rpb24uJGhlYWQubWFya3MoKSkpfXJlbW92ZVN0b3JlZE1hcmsoZSl7cmV0dXJuIHRoaXMuZW5zdXJlTWFya3MoZS5yZW1vdmVGcm9tU2V0KHRoaXMuc3RvcmVkTWFya3N8fHRoaXMuc2VsZWN0aW9uLiRoZWFkLm1hcmtzKCkpKX1nZXQgc3RvcmVkTWFya3NTZXQoKXtyZXR1cm4odGhpcy51cGRhdGVkJkZhZSk+MH1hZGRTdGVwKGUsdCl7c3VwZXIuYWRkU3RlcChlLHQpLHRoaXMudXBkYXRlZD10aGlzLnVwZGF0ZWQmfkZhZSx0aGlzLnN0b3JlZE1hcmtzPW51bGx9c2V0VGltZShlKXtyZXR1cm4gdGhpcy50aW1lPWUsdGhpc31yZXBsYWNlU2VsZWN0aW9uKGUpe3JldHVybiB0aGlzLnNlbGVjdGlvbi5yZXBsYWNlKHRoaXMsZSksdGhpc31yZXBsYWNlU2VsZWN0aW9uV2l0aChlLHQ9ITApe2xldCByPXRoaXMuc2VsZWN0aW9uO3JldHVybiB0JiYoZT1lLm1hcmsodGhpcy5zdG9yZWRNYXJrc3x8KHIuZW1wdHk/ci4kZnJvbS5tYXJrcygpOnIuJGZyb20ubWFya3NBY3Jvc3Moci4kdG8pfHwkYS5ub25lKSkpLHIucmVwbGFjZVdpdGgodGhpcyxlKSx0aGlzfWRlbGV0ZVNlbGVjdGlvbigpe3JldHVybiB0aGlzLnNlbGVjdGlvbi5yZXBsYWNlKHRoaXMpLHRoaXN9aW5zZXJ0VGV4dChlLHQscil7bGV0IGk9dGhpcy5kb2MudHlwZS5zY2hlbWE7aWYodD09bnVsbClyZXR1cm4gZT90aGlzLnJlcGxhY2VTZWxlY3Rpb25XaXRoKGkudGV4dChlKSwhMCk6dGhpcy5kZWxldGVTZWxlY3Rpb24oKTt7aWYocj09bnVsbCYmKHI9dCksIWUpcmV0dXJuIHRoaXMuZGVsZXRlUmFuZ2UodCxyKTtsZXQgbz10aGlzLnN0b3JlZE1hcmtzO2lmKCFvKXtsZXQgbj10aGlzLmRvYy5yZXNvbHZlKHQpO289cj09dD9uLm1hcmtzKCk6bi5tYXJrc0Fjcm9zcyh0aGlzLmRvYy5yZXNvbHZlKHIpKX1yZXR1cm4gdGhpcy5yZXBsYWNlUmFuZ2VXaXRoKHQscixpLnRleHQoZSxvKSksIXRoaXMuc2VsZWN0aW9uLmVtcHR5JiZ0aGlzLnNlbGVjdGlvbi50bz09dCtlLmxlbmd0aCYmdGhpcy5zZXRTZWxlY3Rpb24oSXQubmVhcih0aGlzLnNlbGVjdGlvbi4kdG8pKSx0aGlzfX1zZXRNZXRhKGUsdCl7cmV0dXJuIHRoaXMubWV0YVt0eXBlb2YgZT09InN0cmluZyI/ZTplLmtleV09dCx0aGlzfWdldE1ldGEoZSl7cmV0dXJuIHRoaXMubWV0YVt0eXBlb2YgZT09InN0cmluZyI/ZTplLmtleV19Z2V0IGlzR2VuZXJpYygpe2ZvcihsZXQgZSBpbiB0aGlzLm1ldGEpcmV0dXJuITE7cmV0dXJuITB9c2Nyb2xsSW50b1ZpZXcoKXtyZXR1cm4gdGhpcy51cGRhdGVkfD1ib2EsdGhpc31nZXQgc2Nyb2xsZWRJbnRvVmlldygpe3JldHVybih0aGlzLnVwZGF0ZWQmYm9hKT4wfX07cyh2b2EsImJpbmQiKTtLZj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJGaWVsZERlc2MiKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy5uYW1lPWUsdGhpcy5pbml0PXZvYSh0LmluaXQsciksdGhpcy5hcHBseT12b2EodC5hcHBseSxyKX19LHFEYT1bbmV3IEtmKCJkb2MiLHtpbml0KGEpe3JldHVybiBhLmRvY3x8YS5zY2hlbWEudG9wTm9kZVR5cGUuY3JlYXRlQW5kRmlsbCgpfSxhcHBseShhKXtyZXR1cm4gYS5kb2N9fSksbmV3IEtmKCJzZWxlY3Rpb24iLHtpbml0KGEsZSl7cmV0dXJuIGEuc2VsZWN0aW9ufHxJdC5hdFN0YXJ0KGUuZG9jKX0sYXBwbHkoYSl7cmV0dXJuIGEuc2VsZWN0aW9ufX0pLG5ldyBLZigic3RvcmVkTWFya3MiLHtpbml0KGEpe3JldHVybiBhLnN0b3JlZE1hcmtzfHxudWxsfSxhcHBseShhLGUsdCxyKXtyZXR1cm4gci5zZWxlY3Rpb24uJGN1cnNvcj9hLnN0b3JlZE1hcmtzOm51bGx9fSksbmV3IEtmKCJzY3JvbGxUb1NlbGVjdGlvbiIse2luaXQoKXtyZXR1cm4gMH0sYXBwbHkoYSxlKXtyZXR1cm4gYS5zY3JvbGxlZEludG9WaWV3P2UrMTplfX0pXSxlVz1jbGFzc3tzdGF0aWN7cyh0aGlzLCJDb25maWd1cmF0aW9uIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLnNjaGVtYT1lLHRoaXMucGx1Z2lucz1bXSx0aGlzLnBsdWdpbnNCeUtleT1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuZmllbGRzPXFEYS5zbGljZSgpLHQmJnQuZm9yRWFjaChyPT57aWYodGhpcy5wbHVnaW5zQnlLZXlbci5rZXldKXRocm93IG5ldyBSYW5nZUVycm9yKCJBZGRpbmcgZGlmZmVyZW50IGluc3RhbmNlcyBvZiBhIGtleWVkIHBsdWdpbiAoIityLmtleSsiKSIpO3RoaXMucGx1Z2lucy5wdXNoKHIpLHRoaXMucGx1Z2luc0J5S2V5W3Iua2V5XT1yLHIuc3BlYy5zdGF0ZSYmdGhpcy5maWVsZHMucHVzaChuZXcgS2Yoci5rZXksci5zcGVjLnN0YXRlLHIpKX0pfX0sdFc9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJFZGl0b3JTdGF0ZSIpfWNvbnN0cnVjdG9yKGUpe3RoaXMuY29uZmlnPWV9Z2V0IHNjaGVtYSgpe3JldHVybiB0aGlzLmNvbmZpZy5zY2hlbWF9Z2V0IHBsdWdpbnMoKXtyZXR1cm4gdGhpcy5jb25maWcucGx1Z2luc31hcHBseShlKXtyZXR1cm4gdGhpcy5hcHBseVRyYW5zYWN0aW9uKGUpLnN0YXRlfWZpbHRlclRyYW5zYWN0aW9uKGUsdD0tMSl7Zm9yKGxldCByPTA7cjx0aGlzLmNvbmZpZy5wbHVnaW5zLmxlbmd0aDtyKyspaWYociE9dCl7bGV0IGk9dGhpcy5jb25maWcucGx1Z2luc1tyXTtpZihpLnNwZWMuZmlsdGVyVHJhbnNhY3Rpb24mJiFpLnNwZWMuZmlsdGVyVHJhbnNhY3Rpb24uY2FsbChpLGUsdGhpcykpcmV0dXJuITF9cmV0dXJuITB9YXBwbHlUcmFuc2FjdGlvbihlKXtpZighdGhpcy5maWx0ZXJUcmFuc2FjdGlvbihlKSlyZXR1cm57c3RhdGU6dGhpcyx0cmFuc2FjdGlvbnM6W119O2xldCB0PVtlXSxyPXRoaXMuYXBwbHlJbm5lcihlKSxpPW51bGw7Zm9yKDs7KXtsZXQgbz0hMTtmb3IobGV0IG49MDtuPHRoaXMuY29uZmlnLnBsdWdpbnMubGVuZ3RoO24rKyl7bGV0IGw9dGhpcy5jb25maWcucGx1Z2luc1tuXTtpZihsLnNwZWMuYXBwZW5kVHJhbnNhY3Rpb24pe2xldCBkPWk/aVtuXS5uOjAsYz1pP2lbbl0uc3RhdGU6dGhpcyxwPWQ8dC5sZW5ndGgmJmwuc3BlYy5hcHBlbmRUcmFuc2FjdGlvbi5jYWxsKGwsZD90LnNsaWNlKGQpOnQsYyxyKTtpZihwJiZyLmZpbHRlclRyYW5zYWN0aW9uKHAsbikpe2lmKHAuc2V0TWV0YSgiYXBwZW5kZWRUcmFuc2FjdGlvbiIsZSksIWkpe2k9W107Zm9yKGxldCB1PTA7dTx0aGlzLmNvbmZpZy5wbHVnaW5zLmxlbmd0aDt1KyspaS5wdXNoKHU8bj97c3RhdGU6cixuOnQubGVuZ3RofTp7c3RhdGU6dGhpcyxuOjB9KX10LnB1c2gocCkscj1yLmFwcGx5SW5uZXIocCksbz0hMH1pJiYoaVtuXT17c3RhdGU6cixuOnQubGVuZ3RofSl9fWlmKCFvKXJldHVybntzdGF0ZTpyLHRyYW5zYWN0aW9uczp0fX19YXBwbHlJbm5lcihlKXtpZighZS5iZWZvcmUuZXEodGhpcy5kb2MpKXRocm93IG5ldyBSYW5nZUVycm9yKCJBcHBseWluZyBhIG1pc21hdGNoZWQgdHJhbnNhY3Rpb24iKTtsZXQgdD1uZXcgYSh0aGlzLmNvbmZpZykscj10aGlzLmNvbmZpZy5maWVsZHM7Zm9yKGxldCBpPTA7aTxyLmxlbmd0aDtpKyspe2xldCBvPXJbaV07dFtvLm5hbWVdPW8uYXBwbHkoZSx0aGlzW28ubmFtZV0sdGhpcyx0KX1yZXR1cm4gdH1nZXQgdHIoKXtyZXR1cm4gbmV3IEJhZSh0aGlzKX1zdGF0aWMgY3JlYXRlKGUpe2xldCB0PW5ldyBlVyhlLmRvYz9lLmRvYy50eXBlLnNjaGVtYTplLnNjaGVtYSxlLnBsdWdpbnMpLHI9bmV3IGEodCk7Zm9yKGxldCBpPTA7aTx0LmZpZWxkcy5sZW5ndGg7aSsrKXJbdC5maWVsZHNbaV0ubmFtZV09dC5maWVsZHNbaV0uaW5pdChlLHIpO3JldHVybiByfXJlY29uZmlndXJlKGUpe2xldCB0PW5ldyBlVyh0aGlzLnNjaGVtYSxlLnBsdWdpbnMpLHI9dC5maWVsZHMsaT1uZXcgYSh0KTtmb3IobGV0IG89MDtvPHIubGVuZ3RoO28rKyl7bGV0IG49cltvXS5uYW1lO2lbbl09dGhpcy5oYXNPd25Qcm9wZXJ0eShuKT90aGlzW25dOnJbb10uaW5pdChlLGkpfXJldHVybiBpfXRvSlNPTihlKXtsZXQgdD17ZG9jOnRoaXMuZG9jLnRvSlNPTigpLHNlbGVjdGlvbjp0aGlzLnNlbGVjdGlvbi50b0pTT04oKX07aWYodGhpcy5zdG9yZWRNYXJrcyYmKHQuc3RvcmVkTWFya3M9dGhpcy5zdG9yZWRNYXJrcy5tYXAocj0+ci50b0pTT04oKSkpLGUmJnR5cGVvZiBlPT0ib2JqZWN0Iilmb3IobGV0IHIgaW4gZSl7aWYocj09ImRvYyJ8fHI9PSJzZWxlY3Rpb24iKXRocm93IG5ldyBSYW5nZUVycm9yKCJUaGUgSlNPTiBmaWVsZHMgYGRvY2AgYW5kIGBzZWxlY3Rpb25gIGFyZSByZXNlcnZlZCIpO2xldCBpPWVbcl0sbz1pLnNwZWMuc3RhdGU7byYmby50b0pTT04mJih0W3JdPW8udG9KU09OLmNhbGwoaSx0aGlzW2kua2V5XSkpfXJldHVybiB0fXN0YXRpYyBmcm9tSlNPTihlLHQscil7aWYoIXQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIEVkaXRvclN0YXRlLmZyb21KU09OIik7aWYoIWUuc2NoZW1hKXRocm93IG5ldyBSYW5nZUVycm9yKCJSZXF1aXJlZCBjb25maWcgZmllbGQgJ3NjaGVtYScgbWlzc2luZyIpO2xldCBpPW5ldyBlVyhlLnNjaGVtYSxlLnBsdWdpbnMpLG89bmV3IGEoaSk7cmV0dXJuIGkuZmllbGRzLmZvckVhY2gobj0+e2lmKG4ubmFtZT09ImRvYyIpby5kb2M9R2kuZnJvbUpTT04oZS5zY2hlbWEsdC5kb2MpO2Vsc2UgaWYobi5uYW1lPT0ic2VsZWN0aW9uIilvLnNlbGVjdGlvbj1JdC5mcm9tSlNPTihvLmRvYyx0LnNlbGVjdGlvbik7ZWxzZSBpZihuLm5hbWU9PSJzdG9yZWRNYXJrcyIpdC5zdG9yZWRNYXJrcyYmKG8uc3RvcmVkTWFya3M9dC5zdG9yZWRNYXJrcy5tYXAoZS5zY2hlbWEubWFya0Zyb21KU09OKSk7ZWxzZXtpZihyKWZvcihsZXQgbCBpbiByKXtsZXQgZD1yW2xdLGM9ZC5zcGVjLnN0YXRlO2lmKGQua2V5PT1uLm5hbWUmJmMmJmMuZnJvbUpTT04mJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGwpKXtvW24ubmFtZV09Yy5mcm9tSlNPTi5jYWxsKGQsZSx0W2xdLG8pO3JldHVybn19b1tuLm5hbWVdPW4uaW5pdChlLG8pfX0pLG99fTtzKHhvYSwiYmluZFByb3BzIik7cnI9Y2xhc3N7c3RhdGlje3ModGhpcywiUGx1Z2luIil9Y29uc3RydWN0b3IoZSl7dGhpcy5zcGVjPWUsdGhpcy5wcm9wcz17fSxlLnByb3BzJiZ4b2EoZS5wcm9wcyx0aGlzLHRoaXMucHJvcHMpLHRoaXMua2V5PWUua2V5P2Uua2V5LmtleTp5b2EoInBsdWdpbiIpfWdldFN0YXRlKGUpe3JldHVybiBlW3RoaXMua2V5XX19LExLZT1PYmplY3QuY3JlYXRlKG51bGwpO3MoeW9hLCJjcmVhdGVLZXkiKTttcz1jbGFzc3tzdGF0aWN7cyh0aGlzLCJQbHVnaW5LZXkiKX1jb25zdHJ1Y3RvcihlPSJrZXkiKXt0aGlzLmtleT15b2EoZSl9Z2V0KGUpe3JldHVybiBlLmNvbmZpZy5wbHVnaW5zQnlLZXlbdGhpcy5rZXldfWdldFN0YXRlKGUpe3JldHVybiBlW3RoaXMua2V5XX19fSk7dmFyIGFXPWYoKCk9Pnt5YygpfSk7ZnVuY3Rpb24gd29hKGEsZSx0LHIsaSl7Zm9yKHZhciBvOzspe2lmKGE9PXQmJmU9PXIpcmV0dXJuITA7aWYoZT09KGk8MD8wOkVuKGEpKSl7bGV0IG49YS5wYXJlbnROb2RlO2lmKCFufHxuLm5vZGVUeXBlIT0xfHxyVyhhKXx8akRhLnRlc3QoYS5ub2RlTmFtZSl8fGEuY29udGVudEVkaXRhYmxlPT0iZmFsc2UiKXJldHVybiExO2U9cmkoYSkrKGk8MD8wOjEpLGE9bn1lbHNlIGlmKGEubm9kZVR5cGU9PTEpe2xldCBuPWEuY2hpbGROb2Rlc1tlKyhpPDA/LTE6MCldO2lmKG4ubm9kZVR5cGU9PTEmJm4uY29udGVudEVkaXRhYmxlPT0iZmFsc2UiKWlmKCEoKG89bi5wbVZpZXdEZXNjKT09PW51bGx8fG89PT12b2lkIDApJiZvLmlnbm9yZUZvclNlbGVjdGlvbillKz1pO2Vsc2UgcmV0dXJuITE7ZWxzZSBhPW4sZT1pPDA/RW4oYSk6MH1lbHNlIHJldHVybiExfX1mdW5jdGlvbiBFbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09Mz9hLm5vZGVWYWx1ZS5sZW5ndGg6YS5jaGlsZE5vZGVzLmxlbmd0aH1mdW5jdGlvbiBVRGEoYSxlKXtmb3IoOzspe2lmKGEubm9kZVR5cGU9PTMmJmUpcmV0dXJuIGE7aWYoYS5ub2RlVHlwZT09MSYmZT4wKXtpZihhLmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIilyZXR1cm4gbnVsbDthPWEuY2hpbGROb2Rlc1tlLTFdLGU9RW4oYSl9ZWxzZSBpZihhLnBhcmVudE5vZGUmJiFyVyhhKSllPXJpKGEpLGE9YS5wYXJlbnROb2RlO2Vsc2UgcmV0dXJuIG51bGx9fWZ1bmN0aW9uIFdEYShhLGUpe2Zvcig7Oyl7aWYoYS5ub2RlVHlwZT09MyYmZTxhLm5vZGVWYWx1ZS5sZW5ndGgpcmV0dXJuIGE7aWYoYS5ub2RlVHlwZT09MSYmZTxhLmNoaWxkTm9kZXMubGVuZ3RoKXtpZihhLmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIilyZXR1cm4gbnVsbDthPWEuY2hpbGROb2Rlc1tlXSxlPTB9ZWxzZSBpZihhLnBhcmVudE5vZGUmJiFyVyhhKSllPXJpKGEpKzEsYT1hLnBhcmVudE5vZGU7ZWxzZSByZXR1cm4gbnVsbH19ZnVuY3Rpb24gR0RhKGEsZSx0KXtmb3IobGV0IHI9ZT09MCxpPWU9PUVuKGEpO3J8fGk7KXtpZihhPT10KXJldHVybiEwO2xldCBvPXJpKGEpO2lmKGE9YS5wYXJlbnROb2RlLCFhKXJldHVybiExO3I9ciYmbz09MCxpPWkmJm89PUVuKGEpfX1mdW5jdGlvbiByVyhhKXtsZXQgZTtmb3IobGV0IHQ9YTt0JiYhKGU9dC5wbVZpZXdEZXNjKTt0PXQucGFyZW50Tm9kZSk7cmV0dXJuIGUmJmUubm9kZSYmZS5ub2RlLmlzQmxvY2smJihlLmRvbT09YXx8ZS5jb250ZW50RE9NPT1hKX1mdW5jdGlvbiBRZihhLGUpe2xldCB0PWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpO3JldHVybiB0LmluaXRFdmVudCgia2V5ZG93biIsITAsITApLHQua2V5Q29kZT1hLHQua2V5PXQuY29kZT1lLHR9ZnVuY3Rpb24gWURhKGEpe2xldCBlPWEuYWN0aXZlRWxlbWVudDtmb3IoO2UmJmUuc2hhZG93Um9vdDspZT1lLnNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudDtyZXR1cm4gZX1mdW5jdGlvbiBLRGEoYSxlLHQpe2lmKGEuY2FyZXRQb3NpdGlvbkZyb21Qb2ludCl0cnl7bGV0IHI9YS5jYXJldFBvc2l0aW9uRnJvbVBvaW50KGUsdCk7aWYocilyZXR1cm57bm9kZTpyLm9mZnNldE5vZGUsb2Zmc2V0Ok1hdGgubWluKEVuKHIub2Zmc2V0Tm9kZSksci5vZmZzZXQpfX1jYXRjaHt9aWYoYS5jYXJldFJhbmdlRnJvbVBvaW50KXtsZXQgcj1hLmNhcmV0UmFuZ2VGcm9tUG9pbnQoZSx0KTtpZihyKXJldHVybntub2RlOnIuc3RhcnRDb250YWluZXIsb2Zmc2V0Ok1hdGgubWluKEVuKHIuc3RhcnRDb250YWluZXIpLHIuc3RhcnRPZmZzZXQpfX19ZnVuY3Rpb24gWERhKGEpe2xldCBlPWEuZGVmYXVsdFZpZXcmJmEuZGVmYXVsdFZpZXcudmlzdWFsVmlld3BvcnQ7cmV0dXJuIGU/e2xlZnQ6MCxyaWdodDplLndpZHRoLHRvcDowLGJvdHRvbTplLmhlaWdodH06e2xlZnQ6MCxyaWdodDphLmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCx0b3A6MCxib3R0b206YS5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0fX1mdW5jdGlvbiBrYyhhLGUpe3JldHVybiB0eXBlb2YgYT09Im51bWJlciI/YTphW2VdfWZ1bmN0aW9uIFFEYShhKXtsZXQgZT1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHQ9ZS53aWR0aC9hLm9mZnNldFdpZHRofHwxLHI9ZS5oZWlnaHQvYS5vZmZzZXRIZWlnaHR8fDE7cmV0dXJue2xlZnQ6ZS5sZWZ0LHJpZ2h0OmUubGVmdCthLmNsaWVudFdpZHRoKnQsdG9wOmUudG9wLGJvdHRvbTplLnRvcCthLmNsaWVudEhlaWdodCpyfX1mdW5jdGlvbiBDb2EoYSxlLHQpe2xldCByPWEuc29tZVByb3AoInNjcm9sbFRocmVzaG9sZCIpfHwwLGk9YS5zb21lUHJvcCgic2Nyb2xsTWFyZ2luIil8fDUsbz1hLmRvbS5vd25lckRvY3VtZW50O2ZvcihsZXQgbj10fHxhLmRvbTtuOyl7aWYobi5ub2RlVHlwZSE9MSl7bj1DbShuKTtjb250aW51ZX1sZXQgbD1uLGQ9bD09by5ib2R5LGM9ZD9YRGEobyk6UURhKGwpLHA9MCx1PTA7aWYoZS50b3A8Yy50b3Ara2MociwidG9wIik/dT0tKGMudG9wLWUudG9wK2tjKGksInRvcCIpKTplLmJvdHRvbT5jLmJvdHRvbS1rYyhyLCJib3R0b20iKSYmKHU9ZS5ib3R0b20tZS50b3A+Yy5ib3R0b20tYy50b3A/ZS50b3Ara2MoaSwidG9wIiktYy50b3A6ZS5ib3R0b20tYy5ib3R0b20ra2MoaSwiYm90dG9tIikpLGUubGVmdDxjLmxlZnQra2MociwibGVmdCIpP3A9LShjLmxlZnQtZS5sZWZ0K2tjKGksImxlZnQiKSk6ZS5yaWdodD5jLnJpZ2h0LWtjKHIsInJpZ2h0IikmJihwPWUucmlnaHQtYy5yaWdodCtrYyhpLCJyaWdodCIpKSxwfHx1KWlmKGQpby5kZWZhdWx0Vmlldy5zY3JvbGxCeShwLHUpO2Vsc2V7bGV0IHY9bC5zY3JvbGxMZWZ0LHg9bC5zY3JvbGxUb3A7dSYmKGwuc2Nyb2xsVG9wKz11KSxwJiYobC5zY3JvbGxMZWZ0Kz1wKTtsZXQgYj1sLnNjcm9sbExlZnQtdixnPWwuc2Nyb2xsVG9wLXg7ZT17bGVmdDplLmxlZnQtYix0b3A6ZS50b3AtZyxyaWdodDplLnJpZ2h0LWIsYm90dG9tOmUuYm90dG9tLWd9fWxldCBtPWQ/ImZpeGVkIjpnZXRDb21wdXRlZFN0eWxlKG4pLnBvc2l0aW9uO2lmKC9eKGZpeGVkfHN0aWNreSkkLy50ZXN0KG0pKWJyZWFrO249bT09ImFic29sdXRlIj9uLm9mZnNldFBhcmVudDpDbShuKX19ZnVuY3Rpb24gSkRhKGEpe2xldCBlPWEuZG9tLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHQ9TWF0aC5tYXgoMCxlLnRvcCkscixpO2ZvcihsZXQgbz0oZS5sZWZ0K2UucmlnaHQpLzIsbj10KzE7bjxNYXRoLm1pbihpbm5lckhlaWdodCxlLmJvdHRvbSk7bis9NSl7bGV0IGw9YS5yb290LmVsZW1lbnRGcm9tUG9pbnQobyxuKTtpZighbHx8bD09YS5kb218fCFhLmRvbS5jb250YWlucyhsKSljb250aW51ZTtsZXQgZD1sLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGQudG9wPj10LTIwKXtyPWwsaT1kLnRvcDticmVha319cmV0dXJue3JlZkRPTTpyLHJlZlRvcDppLHN0YWNrOl9vYShhLmRvbSl9fWZ1bmN0aW9uIF9vYShhKXtsZXQgZT1bXSx0PWEub3duZXJEb2N1bWVudDtmb3IobGV0IHI9YTtyJiYoZS5wdXNoKHtkb206cix0b3A6ci5zY3JvbGxUb3AsbGVmdDpyLnNjcm9sbExlZnR9KSxhIT10KTtyPUNtKHIpKTtyZXR1cm4gZX1mdW5jdGlvbiBlQWEoe3JlZkRPTTphLHJlZlRvcDplLHN0YWNrOnR9KXtsZXQgcj1hP2EuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wOjA7VG9hKHQscj09MD8wOnItZSl9ZnVuY3Rpb24gVG9hKGEsZSl7Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0Kyspe2xldHtkb206cix0b3A6aSxsZWZ0Om99PWFbdF07ci5zY3JvbGxUb3AhPWkrZSYmKHIuc2Nyb2xsVG9wPWkrZSksci5zY3JvbGxMZWZ0IT1vJiYoci5zY3JvbGxMZWZ0PW8pfX1mdW5jdGlvbiB0QWEoYSl7aWYoYS5zZXRBY3RpdmUpcmV0dXJuIGEuc2V0QWN0aXZlKCk7aWYoVG0pcmV0dXJuIGEuZm9jdXMoVG0pO2xldCBlPV9vYShhKTthLmZvY3VzKFRtPT1udWxsP3tnZXQgcHJldmVudFNjcm9sbCgpe3JldHVybiBUbT17cHJldmVudFNjcm9sbDohMH0sITB9fTp2b2lkIDApLFRtfHwoVG09ITEsVG9hKGUsMCkpfWZ1bmN0aW9uIExvYShhLGUpe2xldCB0LHI9MmU4LGksbz0wLG49ZS50b3AsbD1lLnRvcCxkLGM7Zm9yKGxldCBwPWEuZmlyc3RDaGlsZCx1PTA7cDtwPXAubmV4dFNpYmxpbmcsdSsrKXtsZXQgbTtpZihwLm5vZGVUeXBlPT0xKW09cC5nZXRDbGllbnRSZWN0cygpO2Vsc2UgaWYocC5ub2RlVHlwZT09MyltPXdjKHApLmdldENsaWVudFJlY3RzKCk7ZWxzZSBjb250aW51ZTtmb3IobGV0IHY9MDt2PG0ubGVuZ3RoO3YrKyl7bGV0IHg9bVt2XTtpZih4LnRvcDw9biYmeC5ib3R0b20+PWwpe249TWF0aC5tYXgoeC5ib3R0b20sbiksbD1NYXRoLm1pbih4LnRvcCxsKTtsZXQgYj14LmxlZnQ+ZS5sZWZ0P3gubGVmdC1lLmxlZnQ6eC5yaWdodDxlLmxlZnQ/ZS5sZWZ0LXgucmlnaHQ6MDtpZihiPHIpe3Q9cCxyPWIsaT1iJiZ0Lm5vZGVUeXBlPT0zP3tsZWZ0OngucmlnaHQ8ZS5sZWZ0P3gucmlnaHQ6eC5sZWZ0LHRvcDplLnRvcH06ZSxwLm5vZGVUeXBlPT0xJiZiJiYobz11KyhlLmxlZnQ+PSh4LmxlZnQreC5yaWdodCkvMj8xOjApKTtjb250aW51ZX19ZWxzZSB4LnRvcD5lLnRvcCYmIWQmJngubGVmdDw9ZS5sZWZ0JiZ4LnJpZ2h0Pj1lLmxlZnQmJihkPXAsYz17bGVmdDpNYXRoLm1heCh4LmxlZnQsTWF0aC5taW4oeC5yaWdodCxlLmxlZnQpKSx0b3A6eC50b3B9KTshdCYmKGUubGVmdD49eC5yaWdodCYmZS50b3A+PXgudG9wfHxlLmxlZnQ+PXgubGVmdCYmZS50b3A+PXguYm90dG9tKSYmKG89dSsxKX19cmV0dXJuIXQmJmQmJih0PWQsaT1jLHI9MCksdCYmdC5ub2RlVHlwZT09Mz9hQWEodCxpKTohdHx8ciYmdC5ub2RlVHlwZT09MT97bm9kZTphLG9mZnNldDpvfTpMb2EodCxpKX1mdW5jdGlvbiBhQWEoYSxlKXtsZXQgdD1hLm5vZGVWYWx1ZS5sZW5ndGgscj1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLGk7Zm9yKGxldCBvPTA7bzx0O28rKyl7ci5zZXRFbmQoYSxvKzEpLHIuc2V0U3RhcnQoYSxvKTtsZXQgbj13NChyLDEpO2lmKG4udG9wIT1uLmJvdHRvbSYmUEtlKGUsbikpe2k9e25vZGU6YSxvZmZzZXQ6bysoZS5sZWZ0Pj0obi5sZWZ0K24ucmlnaHQpLzI/MTowKX07YnJlYWt9fXJldHVybiByLmRldGFjaCgpLGl8fHtub2RlOmEsb2Zmc2V0OjB9fWZ1bmN0aW9uIFBLZShhLGUpe3JldHVybiBhLmxlZnQ+PWUubGVmdC0xJiZhLmxlZnQ8PWUucmlnaHQrMSYmYS50b3A+PWUudG9wLTEmJmEudG9wPD1lLmJvdHRvbSsxfWZ1bmN0aW9uIHJBYShhLGUpe2xldCB0PWEucGFyZW50Tm9kZTtyZXR1cm4gdCYmL15saSQvaS50ZXN0KHQubm9kZU5hbWUpJiZlLmxlZnQ8YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0P3Q6YX1mdW5jdGlvbiBzQWEoYSxlLHQpe2xldHtub2RlOnIsb2Zmc2V0Oml9PUxvYShlLHQpLG89LTE7aWYoci5ub2RlVHlwZT09MSYmIXIuZmlyc3RDaGlsZCl7bGV0IG49ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtvPW4ubGVmdCE9bi5yaWdodCYmdC5sZWZ0PihuLmxlZnQrbi5yaWdodCkvMj8xOi0xfXJldHVybiBhLmRvY1ZpZXcucG9zRnJvbURPTShyLGksbyl9ZnVuY3Rpb24gaUFhKGEsZSx0LHIpe2xldCBpPS0xO2ZvcihsZXQgbz1lLG49ITE7byE9YS5kb207KXtsZXQgbD1hLmRvY1ZpZXcubmVhcmVzdERlc2MobywhMCksZDtpZighbClyZXR1cm4gbnVsbDtpZihsLmRvbS5ub2RlVHlwZT09MSYmKGwubm9kZS5pc0Jsb2NrJiZsLnBhcmVudHx8IWwuY29udGVudERPTSkmJigoZD1sLmRvbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSkud2lkdGh8fGQuaGVpZ2h0KSYmKGwubm9kZS5pc0Jsb2NrJiZsLnBhcmVudCYmIS9eVChSfEJPRFl8SEVBRHxGT09UKSQvLnRlc3QobC5kb20ubm9kZU5hbWUpJiYoIW4mJmQubGVmdD5yLmxlZnR8fGQudG9wPnIudG9wP2k9bC5wb3NCZWZvcmU6KCFuJiZkLnJpZ2h0PHIubGVmdHx8ZC5ib3R0b208ci50b3ApJiYoaT1sLnBvc0FmdGVyKSxuPSEwKSwhbC5jb250ZW50RE9NJiZpPDAmJiFsLm5vZGUuaXNUZXh0KSlyZXR1cm4obC5ub2RlLmlzQmxvY2s/ci50b3A8KGQudG9wK2QuYm90dG9tKS8yOnIubGVmdDwoZC5sZWZ0K2QucmlnaHQpLzIpP2wucG9zQmVmb3JlOmwucG9zQWZ0ZXI7bz1sLmRvbS5wYXJlbnROb2RlfXJldHVybiBpPi0xP2k6YS5kb2NWaWV3LnBvc0Zyb21ET00oZSx0LC0xKX1mdW5jdGlvbiAkb2EoYSxlLHQpe2xldCByPWEuY2hpbGROb2Rlcy5sZW5ndGg7aWYociYmdC50b3A8dC5ib3R0b20pZm9yKGxldCBpPU1hdGgubWF4KDAsTWF0aC5taW4oci0xLE1hdGguZmxvb3IociooZS50b3AtdC50b3ApLyh0LmJvdHRvbS10LnRvcCkpLTIpKSxvPWk7Oyl7bGV0IG49YS5jaGlsZE5vZGVzW29dO2lmKG4ubm9kZVR5cGU9PTEpe2xldCBsPW4uZ2V0Q2xpZW50UmVjdHMoKTtmb3IobGV0IGQ9MDtkPGwubGVuZ3RoO2QrKyl7bGV0IGM9bFtkXTtpZihQS2UoZSxjKSlyZXR1cm4gJG9hKG4sZSxjKX19aWYoKG89KG8rMSklcik9PWkpYnJlYWt9cmV0dXJuIGF9ZnVuY3Rpb24gb0FhKGEsZSl7bGV0IHQ9YS5kb20ub3duZXJEb2N1bWVudCxyLGk9MCxvPUtEYSh0LGUubGVmdCxlLnRvcCk7byYmKHtub2RlOnIsb2Zmc2V0Oml9PW8pO2xldCBuPShhLnJvb3QuZWxlbWVudEZyb21Qb2ludD9hLnJvb3Q6dCkuZWxlbWVudEZyb21Qb2ludChlLmxlZnQsZS50b3ApLGw7aWYoIW58fCFhLmRvbS5jb250YWlucyhuLm5vZGVUeXBlIT0xP24ucGFyZW50Tm9kZTpuKSl7bGV0IGM9YS5kb20uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoIVBLZShlLGMpfHwobj0kb2EoYS5kb20sZSxjKSwhbikpcmV0dXJuIG51bGx9aWYoRWkpZm9yKGxldCBjPW47ciYmYztjPUNtKGMpKWMuZHJhZ2dhYmxlJiYocj12b2lkIDApO2lmKG49ckFhKG4sZSkscil7aWYoUG4mJnIubm9kZVR5cGU9PTEmJihpPU1hdGgubWluKGksci5jaGlsZE5vZGVzLmxlbmd0aCksaTxyLmNoaWxkTm9kZXMubGVuZ3RoKSl7bGV0IHA9ci5jaGlsZE5vZGVzW2ldLHU7cC5ub2RlTmFtZT09IklNRyImJih1PXAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpLnJpZ2h0PD1lLmxlZnQmJnUuYm90dG9tPmUudG9wJiZpKyt9bGV0IGM7c1cmJmkmJnIubm9kZVR5cGU9PTEmJihjPXIuY2hpbGROb2Rlc1tpLTFdKS5ub2RlVHlwZT09MSYmYy5jb250ZW50RWRpdGFibGU9PSJmYWxzZSImJmMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wPj1lLnRvcCYmaS0tLHI9PWEuZG9tJiZpPT1yLmNoaWxkTm9kZXMubGVuZ3RoLTEmJnIubGFzdENoaWxkLm5vZGVUeXBlPT0xJiZlLnRvcD5yLmxhc3RDaGlsZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b20/bD1hLnN0YXRlLmRvYy5jb250ZW50LnNpemU6KGk9PTB8fHIubm9kZVR5cGUhPTF8fHIuY2hpbGROb2Rlc1tpLTFdLm5vZGVOYW1lIT0iQlIiKSYmKGw9aUFhKGEscixpLGUpKX1sPT1udWxsJiYobD1zQWEoYSxuLGUpKTtsZXQgZD1hLmRvY1ZpZXcubmVhcmVzdERlc2MobiwhMCk7cmV0dXJue3BvczpsLGluc2lkZTpkP2QucG9zQXRTdGFydC1kLmJvcmRlcjotMX19ZnVuY3Rpb24gRG9hKGEpe3JldHVybiBhLnRvcDxhLmJvdHRvbXx8YS5sZWZ0PGEucmlnaHR9ZnVuY3Rpb24gdzQoYSxlKXtsZXQgdD1hLmdldENsaWVudFJlY3RzKCk7aWYodC5sZW5ndGgpe2xldCByPXRbZTwwPzA6dC5sZW5ndGgtMV07aWYoRG9hKHIpKXJldHVybiByfXJldHVybiBBcnJheS5wcm90b3R5cGUuZmluZC5jYWxsKHQsRG9hKXx8YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1mdW5jdGlvbiBBb2EoYSxlLHQpe2xldHtub2RlOnIsb2Zmc2V0OmksYXRvbTpvfT1hLmRvY1ZpZXcuZG9tRnJvbVBvcyhlLHQ8MD8tMToxKSxuPXNXfHxQbjtpZihyLm5vZGVUeXBlPT0zKWlmKG4mJihuQWEudGVzdChyLm5vZGVWYWx1ZSl8fCh0PDA/IWk6aT09ci5ub2RlVmFsdWUubGVuZ3RoKSkpe2xldCBkPXc0KHdjKHIsaSxpKSx0KTtpZihQbiYmaSYmL1xzLy50ZXN0KHIubm9kZVZhbHVlW2ktMV0pJiZpPHIubm9kZVZhbHVlLmxlbmd0aCl7bGV0IGM9dzQod2MocixpLTEsaS0xKSwtMSk7aWYoYy50b3A9PWQudG9wKXtsZXQgcD13NCh3YyhyLGksaSsxKSwtMSk7aWYocC50b3AhPWQudG9wKXJldHVybiBpVyhwLHAubGVmdDxjLmxlZnQpfX1yZXR1cm4gZH1lbHNle2xldCBkPWksYz1pLHA9dDwwPzE6LTE7cmV0dXJuIHQ8MCYmIWk/KGMrKyxwPS0xKTp0Pj0wJiZpPT1yLm5vZGVWYWx1ZS5sZW5ndGg/KGQtLSxwPTEpOnQ8MD9kLS06YysrLGlXKHc0KHdjKHIsZCxjKSxwKSxwPDApfWlmKCFhLnN0YXRlLmRvYy5yZXNvbHZlKGUtKG98fDApKS5wYXJlbnQuaW5saW5lQ29udGVudCl7aWYobz09bnVsbCYmaSYmKHQ8MHx8aT09RW4ocikpKXtsZXQgZD1yLmNoaWxkTm9kZXNbaS0xXTtpZihkLm5vZGVUeXBlPT0xKXJldHVybiBJS2UoZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSwhMSl9aWYobz09bnVsbCYmaTxFbihyKSl7bGV0IGQ9ci5jaGlsZE5vZGVzW2ldO2lmKGQubm9kZVR5cGU9PTEpcmV0dXJuIElLZShkLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLCEwKX1yZXR1cm4gSUtlKHIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdD49MCl9aWYobz09bnVsbCYmaSYmKHQ8MHx8aT09RW4ocikpKXtsZXQgZD1yLmNoaWxkTm9kZXNbaS0xXSxjPWQubm9kZVR5cGU9PTM/d2MoZCxFbihkKS0obj8wOjEpKTpkLm5vZGVUeXBlPT0xJiYoZC5ub2RlTmFtZSE9IkJSInx8IWQubmV4dFNpYmxpbmcpP2Q6bnVsbDtpZihjKXJldHVybiBpVyh3NChjLDEpLCExKX1pZihvPT1udWxsJiZpPEVuKHIpKXtsZXQgZD1yLmNoaWxkTm9kZXNbaV07Zm9yKDtkLnBtVmlld0Rlc2MmJmQucG1WaWV3RGVzYy5pZ25vcmVGb3JDb29yZHM7KWQ9ZC5uZXh0U2libGluZztsZXQgYz1kP2Qubm9kZVR5cGU9PTM/d2MoZCwwLG4/MDoxKTpkLm5vZGVUeXBlPT0xP2Q6bnVsbDpudWxsO2lmKGMpcmV0dXJuIGlXKHc0KGMsLTEpLCEwKX1yZXR1cm4gaVcodzQoci5ub2RlVHlwZT09Mz93YyhyKTpyLC10KSx0Pj0wKX1mdW5jdGlvbiBpVyhhLGUpe2lmKGEud2lkdGg9PTApcmV0dXJuIGE7bGV0IHQ9ZT9hLmxlZnQ6YS5yaWdodDtyZXR1cm57dG9wOmEudG9wLGJvdHRvbTphLmJvdHRvbSxsZWZ0OnQscmlnaHQ6dH19ZnVuY3Rpb24gSUtlKGEsZSl7aWYoYS5oZWlnaHQ9PTApcmV0dXJuIGE7bGV0IHQ9ZT9hLnRvcDphLmJvdHRvbTtyZXR1cm57dG9wOnQsYm90dG9tOnQsbGVmdDphLmxlZnQscmlnaHQ6YS5yaWdodH19ZnVuY3Rpb24gRW9hKGEsZSx0KXtsZXQgcj1hLnN0YXRlLGk9YS5yb290LmFjdGl2ZUVsZW1lbnQ7ciE9ZSYmYS51cGRhdGVTdGF0ZShlKSxpIT1hLmRvbSYmYS5mb2N1cygpO3RyeXtyZXR1cm4gdCgpfWZpbmFsbHl7ciE9ZSYmYS51cGRhdGVTdGF0ZShyKSxpIT1hLmRvbSYmaSYmaS5mb2N1cygpfX1mdW5jdGlvbiBsQWEoYSxlLHQpe2xldCByPWUuc2VsZWN0aW9uLGk9dD09InVwIj9yLiRmcm9tOnIuJHRvO3JldHVybiBFb2EoYSxlLCgpPT57bGV0e25vZGU6b309YS5kb2NWaWV3LmRvbUZyb21Qb3MoaS5wb3MsdD09InVwIj8tMToxKTtmb3IoOzspe2xldCBsPWEuZG9jVmlldy5uZWFyZXN0RGVzYyhvLCEwKTtpZighbClicmVhaztpZihsLm5vZGUuaXNCbG9jayl7bz1sLmNvbnRlbnRET018fGwuZG9tO2JyZWFrfW89bC5kb20ucGFyZW50Tm9kZX1sZXQgbj1Bb2EoYSxpLnBvcywxKTtmb3IobGV0IGw9by5maXJzdENoaWxkO2w7bD1sLm5leHRTaWJsaW5nKXtsZXQgZDtpZihsLm5vZGVUeXBlPT0xKWQ9bC5nZXRDbGllbnRSZWN0cygpO2Vsc2UgaWYobC5ub2RlVHlwZT09MylkPXdjKGwsMCxsLm5vZGVWYWx1ZS5sZW5ndGgpLmdldENsaWVudFJlY3RzKCk7ZWxzZSBjb250aW51ZTtmb3IobGV0IGM9MDtjPGQubGVuZ3RoO2MrKyl7bGV0IHA9ZFtjXTtpZihwLmJvdHRvbT5wLnRvcCsxJiYodD09InVwIj9uLnRvcC1wLnRvcD4ocC5ib3R0b20tbi50b3ApKjI6cC5ib3R0b20tbi5ib3R0b20+KG4uYm90dG9tLXAudG9wKSoyKSlyZXR1cm4hMX19cmV0dXJuITB9KX1mdW5jdGlvbiBkQWEoYSxlLHQpe2xldHskaGVhZDpyfT1lLnNlbGVjdGlvbjtpZighci5wYXJlbnQuaXNUZXh0YmxvY2spcmV0dXJuITE7bGV0IGk9ci5wYXJlbnRPZmZzZXQsbz0haSxuPWk9PXIucGFyZW50LmNvbnRlbnQuc2l6ZSxsPWEuZG9tU2VsZWN0aW9uKCk7cmV0dXJuIGw/IWNBYS50ZXN0KHIucGFyZW50LnRleHRDb250ZW50KXx8IWwubW9kaWZ5P3Q9PSJsZWZ0Inx8dD09ImJhY2t3YXJkIj9vOm46RW9hKGEsZSwoKT0+e2xldHtmb2N1c05vZGU6ZCxmb2N1c09mZnNldDpjLGFuY2hvck5vZGU6cCxhbmNob3JPZmZzZXQ6dX09YS5kb21TZWxlY3Rpb25SYW5nZSgpLG09bC5jYXJldEJpZGlMZXZlbDtsLm1vZGlmeSgibW92ZSIsdCwiY2hhcmFjdGVyIik7bGV0IHY9ci5kZXB0aD9hLmRvY1ZpZXcuZG9tQWZ0ZXJQb3Moci5iZWZvcmUoKSk6YS5kb20se2ZvY3VzTm9kZTp4LGZvY3VzT2Zmc2V0OmJ9PWEuZG9tU2VsZWN0aW9uUmFuZ2UoKSxnPXgmJiF2LmNvbnRhaW5zKHgubm9kZVR5cGU9PTE/eDp4LnBhcmVudE5vZGUpfHxkPT14JiZjPT1iO3RyeXtsLmNvbGxhcHNlKHAsdSksZCYmKGQhPXB8fGMhPXUpJiZsLmV4dGVuZCYmbC5leHRlbmQoZCxjKX1jYXRjaHt9cmV0dXJuIG0hPW51bGwmJihsLmNhcmV0QmlkaUxldmVsPW0pLGd9KTpyLnBvcz09ci5zdGFydCgpfHxyLnBvcz09ci5lbmQoKX1mdW5jdGlvbiB1QWEoYSxlLHQpe3JldHVybiBQb2E9PWUmJklvYT09dD9Ob2E6KFBvYT1lLElvYT10LE5vYT10PT0idXAifHx0PT0iZG93biI/bEFhKGEsZSx0KTpkQWEoYSxlLHQpKX1mdW5jdGlvbiBPb2EoYSxlLHQscixpKXtIb2EocixlLGEpO2xldCBvPW5ldyBNNCh2b2lkIDAsYSxlLHQscixyLHIsaSwwKTtyZXR1cm4gby5jb250ZW50RE9NJiZvLnVwZGF0ZUNoaWxkcmVuKGksMCksb31mdW5jdGlvbiBGb2EoYSxlLHQpe2xldCByPWEuZmlyc3RDaGlsZCxpPSExO2ZvcihsZXQgbz0wO288ZS5sZW5ndGg7bysrKXtsZXQgbj1lW29dLGw9bi5kb207aWYobC5wYXJlbnROb2RlPT1hKXtmb3IoO2whPXI7KXI9cW9hKHIpLGk9ITA7cj1yLm5leHRTaWJsaW5nfWVsc2UgaT0hMCxhLmluc2VydEJlZm9yZShsLHIpO2lmKG4gaW5zdGFuY2VvZiBMbSl7bGV0IGQ9cj9yLnByZXZpb3VzU2libGluZzphLmxhc3RDaGlsZDtGb2Eobi5jb250ZW50RE9NLG4uY2hpbGRyZW4sdCkscj1kP2QubmV4dFNpYmxpbmc6YS5maXJzdENoaWxkfX1mb3IoO3I7KXI9cW9hKHIpLGk9ITA7aSYmdC50cmFja1dyaXRlcz09YSYmKHQudHJhY2tXcml0ZXM9bnVsbCl9ZnVuY3Rpb24gT0tlKGEsZSx0KXtpZihhLmxlbmd0aD09MClyZXR1cm4gdDU7bGV0IHI9dD90NVswXTpuZXcgb1csaT1bcl07Zm9yKGxldCBvPTA7bzxhLmxlbmd0aDtvKyspe2xldCBuPWFbb10udHlwZS5hdHRycztpZihuKXtuLm5vZGVOYW1lJiZpLnB1c2gocj1uZXcgb1cobi5ub2RlTmFtZSkpO2ZvcihsZXQgbCBpbiBuKXtsZXQgZD1uW2xdO2QhPW51bGwmJih0JiZpLmxlbmd0aD09MSYmaS5wdXNoKHI9bmV3IG9XKGUuaXNJbmxpbmU/InNwYW4iOiJkaXYiKSksbD09ImNsYXNzIj9yLmNsYXNzPShyLmNsYXNzP3IuY2xhc3MrIiAiOiIiKStkOmw9PSJzdHlsZSI/ci5zdHlsZT0oci5zdHlsZT9yLnN0eWxlKyI7IjoiIikrZDpsIT0ibm9kZU5hbWUiJiYocltsXT1kKSl9fX1yZXR1cm4gaX1mdW5jdGlvbiBCb2EoYSxlLHQscil7aWYodD09dDUmJnI9PXQ1KXJldHVybiBlO2xldCBpPWU7Zm9yKGxldCBvPTA7bzxyLmxlbmd0aDtvKyspe2xldCBuPXJbb10sbD10W29dO2lmKG8pe2xldCBkO2wmJmwubm9kZU5hbWU9PW4ubm9kZU5hbWUmJmkhPWEmJihkPWkucGFyZW50Tm9kZSkmJmQubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09bi5ub2RlTmFtZXx8KGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChuLm5vZGVOYW1lKSxkLnBtSXNEZWNvPSEwLGQuYXBwZW5kQ2hpbGQoaSksbD10NVswXSksaT1kfXBBYShpLGx8fHQ1WzBdLG4pfXJldHVybiBpfWZ1bmN0aW9uIHBBYShhLGUsdCl7Zm9yKGxldCByIGluIGUpciE9ImNsYXNzIiYmciE9InN0eWxlIiYmciE9Im5vZGVOYW1lIiYmIShyIGluIHQpJiZhLnJlbW92ZUF0dHJpYnV0ZShyKTtmb3IobGV0IHIgaW4gdClyIT0iY2xhc3MiJiZyIT0ic3R5bGUiJiZyIT0ibm9kZU5hbWUiJiZ0W3JdIT1lW3JdJiZhLnNldEF0dHJpYnV0ZShyLHRbcl0pO2lmKGUuY2xhc3MhPXQuY2xhc3Mpe2xldCByPWUuY2xhc3M/ZS5jbGFzcy5zcGxpdCgiICIpLmZpbHRlcihCb29sZWFuKTpbXSxpPXQuY2xhc3M/dC5jbGFzcy5zcGxpdCgiICIpLmZpbHRlcihCb29sZWFuKTpbXTtmb3IobGV0IG89MDtvPHIubGVuZ3RoO28rKylpLmluZGV4T2YocltvXSk9PS0xJiZhLmNsYXNzTGlzdC5yZW1vdmUocltvXSk7Zm9yKGxldCBvPTA7bzxpLmxlbmd0aDtvKyspci5pbmRleE9mKGlbb10pPT0tMSYmYS5jbGFzc0xpc3QuYWRkKGlbb10pO2EuY2xhc3NMaXN0Lmxlbmd0aD09MCYmYS5yZW1vdmVBdHRyaWJ1dGUoImNsYXNzIil9aWYoZS5zdHlsZSE9dC5zdHlsZSl7aWYoZS5zdHlsZSl7bGV0IHI9L1xzKihbXHdcLVx4YTEtXHVmZmZmXSspXHMqOig/OiIoPzpcXC58W14iXSkqInwnKD86XFwufFteJ10pKid8XCguKj9cKXxbXjtdKSovZyxpO2Zvcig7aT1yLmV4ZWMoZS5zdHlsZSk7KWEuc3R5bGUucmVtb3ZlUHJvcGVydHkoaVsxXSl9dC5zdHlsZSYmKGEuc3R5bGUuY3NzVGV4dCs9dC5zdHlsZSl9fWZ1bmN0aW9uIEhvYShhLGUsdCl7cmV0dXJuIEJvYShhLGEsdDUsT0tlKGUsdCxhLm5vZGVUeXBlIT0xKSl9ZnVuY3Rpb24gVWFlKGEsZSl7aWYoYS5sZW5ndGghPWUubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgdD0wO3Q8YS5sZW5ndGg7dCsrKWlmKCFhW3RdLnR5cGUuZXEoZVt0XS50eXBlKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBxb2EoYSl7bGV0IGU9YS5uZXh0U2libGluZztyZXR1cm4gYS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGEpLGV9ZnVuY3Rpb24gZkFhKGEsZSl7bGV0IHQ9ZSxyPXQuY2hpbGRyZW4ubGVuZ3RoLGk9YS5jaGlsZENvdW50LG89bmV3IE1hcCxuPVtdO2U6Zm9yKDtpPjA7KXtsZXQgbDtmb3IoOzspaWYocil7bGV0IGM9dC5jaGlsZHJlbltyLTFdO2lmKGMgaW5zdGFuY2VvZiBMbSl0PWMscj1jLmNoaWxkcmVuLmxlbmd0aDtlbHNle2w9YyxyLS07YnJlYWt9fWVsc2V7aWYodD09ZSlicmVhayBlO3I9dC5wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0KSx0PXQucGFyZW50fWxldCBkPWwubm9kZTtpZihkKXtpZihkIT1hLmNoaWxkKGktMSkpYnJlYWs7LS1pLG8uc2V0KGwsaSksbi5wdXNoKGwpfX1yZXR1cm57aW5kZXg6aSxtYXRjaGVkOm8sbWF0Y2hlczpuLnJldmVyc2UoKX19ZnVuY3Rpb24gaEFhKGEsZSl7cmV0dXJuIGEudHlwZS5zaWRlLWUudHlwZS5zaWRlfWZ1bmN0aW9uIG1BYShhLGUsdCxyKXtsZXQgaT1lLmxvY2FscyhhKSxvPTA7aWYoaS5sZW5ndGg9PTApe2ZvcihsZXQgYz0wO2M8YS5jaGlsZENvdW50O2MrKyl7bGV0IHA9YS5jaGlsZChjKTtyKHAsaSxlLmZvckNoaWxkKG8scCksYyksbys9cC5ub2RlU2l6ZX1yZXR1cm59bGV0IG49MCxsPVtdLGQ9bnVsbDtmb3IobGV0IGM9MDs7KXtsZXQgcCx1O2Zvcig7bjxpLmxlbmd0aCYmaVtuXS50bz09bzspe2xldCBnPWlbbisrXTtnLndpZGdldCYmKHA/KHV8fCh1PVtwXSkpLnB1c2goZyk6cD1nKX1pZihwKWlmKHUpe3Uuc29ydChoQWEpO2ZvcihsZXQgZz0wO2c8dS5sZW5ndGg7ZysrKXQodVtnXSxjLCEhZCl9ZWxzZSB0KHAsYywhIWQpO2xldCBtLHY7aWYoZCl2PS0xLG09ZCxkPW51bGw7ZWxzZSBpZihjPGEuY2hpbGRDb3VudCl2PWMsbT1hLmNoaWxkKGMrKyk7ZWxzZSBicmVhaztmb3IobGV0IGc9MDtnPGwubGVuZ3RoO2crKylsW2ddLnRvPD1vJiZsLnNwbGljZShnLS0sMSk7Zm9yKDtuPGkubGVuZ3RoJiZpW25dLmZyb208PW8mJmlbbl0udG8+bzspbC5wdXNoKGlbbisrXSk7bGV0IHg9byttLm5vZGVTaXplO2lmKG0uaXNUZXh0KXtsZXQgZz14O248aS5sZW5ndGgmJmlbbl0uZnJvbTxnJiYoZz1pW25dLmZyb20pO2ZvcihsZXQgeT0wO3k8bC5sZW5ndGg7eSsrKWxbeV0udG88ZyYmKGc9bFt5XS50byk7Zzx4JiYoZD1tLmN1dChnLW8pLG09bS5jdXQoMCxnLW8pLHg9Zyx2PS0xKX1lbHNlIGZvcig7bjxpLmxlbmd0aCYmaVtuXS50bzx4OyluKys7bGV0IGI9bS5pc0lubGluZSYmIW0uaXNMZWFmP2wuZmlsdGVyKGc9PiFnLmlubGluZSk6bC5zbGljZSgpO3IobSxiLGUuZm9yQ2hpbGQobyxtKSx2KSxvPXh9fWZ1bmN0aW9uIGdBYShhKXtpZihhLm5vZGVOYW1lPT0iVUwifHxhLm5vZGVOYW1lPT0iT0wiKXtsZXQgZT1hLnN0eWxlLmNzc1RleHQ7YS5zdHlsZS5jc3NUZXh0PWUrIjsgbGlzdC1zdHlsZTogc3F1YXJlICFpbXBvcnRhbnQiLHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGEpLmxpc3RTdHlsZSxhLnN0eWxlLmNzc1RleHQ9ZX19ZnVuY3Rpb24gYkFhKGEsZSx0LHIpe2ZvcihsZXQgaT0wLG89MDtpPGEuY2hpbGRDb3VudCYmbzw9cjspe2xldCBuPWEuY2hpbGQoaSsrKSxsPW87aWYobys9bi5ub2RlU2l6ZSwhbi5pc1RleHQpY29udGludWU7bGV0IGQ9bi50ZXh0O2Zvcig7aTxhLmNoaWxkQ291bnQ7KXtsZXQgYz1hLmNoaWxkKGkrKyk7aWYobys9Yy5ub2RlU2l6ZSwhYy5pc1RleHQpYnJlYWs7ZCs9Yy50ZXh0fWlmKG8+PXQpe2lmKG8+PXImJmQuc2xpY2Uoci1lLmxlbmd0aC1sLHItbCk9PWUpcmV0dXJuIHItZS5sZW5ndGg7bGV0IGM9bDxyP2QubGFzdEluZGV4T2YoZSxyLWwtMSk6LTE7aWYoYz49MCYmYytlLmxlbmd0aCtsPj10KXJldHVybiBsK2M7aWYodD09ciYmZC5sZW5ndGg+PXIrZS5sZW5ndGgtbCYmZC5zbGljZShyLWwsci1sK2UubGVuZ3RoKT09ZSlyZXR1cm4gcn19cmV0dXJuLTF9ZnVuY3Rpb24gQktlKGEsZSx0LHIsaSl7bGV0IG89W107Zm9yKGxldCBuPTAsbD0wO248YS5sZW5ndGg7bisrKXtsZXQgZD1hW25dLGM9bCxwPWwrPWQuc2l6ZTtjPj10fHxwPD1lP28ucHVzaChkKTooYzxlJiZvLnB1c2goZC5zbGljZSgwLGUtYyxyKSksaSYmKG8ucHVzaChpKSxpPXZvaWQgMCkscD50JiZvLnB1c2goZC5zbGljZSh0LWMsZC5zaXplLHIpKSl9cmV0dXJuIG99ZnVuY3Rpb24gSEtlKGEsZT1udWxsKXtsZXQgdD1hLmRvbVNlbGVjdGlvblJhbmdlKCkscj1hLnN0YXRlLmRvYztpZighdC5mb2N1c05vZGUpcmV0dXJuIG51bGw7bGV0IGk9YS5kb2NWaWV3Lm5lYXJlc3REZXNjKHQuZm9jdXNOb2RlKSxvPWkmJmkuc2l6ZT09MCxuPWEuZG9jVmlldy5wb3NGcm9tRE9NKHQuZm9jdXNOb2RlLHQuZm9jdXNPZmZzZXQsMSk7aWYobjwwKXJldHVybiBudWxsO2xldCBsPXIucmVzb2x2ZShuKSxkLGM7aWYoSGFlKHQpKXtmb3IoZD1uO2kmJiFpLm5vZGU7KWk9aS5wYXJlbnQ7bGV0IHU9aS5ub2RlO2lmKGkmJnUuaXNBdG9tJiZNdC5pc1NlbGVjdGFibGUodSkmJmkucGFyZW50JiYhKHUuaXNJbmxpbmUmJkdEYSh0LmZvY3VzTm9kZSx0LmZvY3VzT2Zmc2V0LGkuZG9tKSkpe2xldCBtPWkucG9zQmVmb3JlO2M9bmV3IE10KG49PW0/bDpyLnJlc29sdmUobSkpfX1lbHNle2lmKHQgaW5zdGFuY2VvZiBhLmRvbS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LlNlbGVjdGlvbiYmdC5yYW5nZUNvdW50PjEpe2xldCB1PW4sbT1uO2ZvcihsZXQgdj0wO3Y8dC5yYW5nZUNvdW50O3YrKyl7bGV0IHg9dC5nZXRSYW5nZUF0KHYpO3U9TWF0aC5taW4odSxhLmRvY1ZpZXcucG9zRnJvbURPTSh4LnN0YXJ0Q29udGFpbmVyLHguc3RhcnRPZmZzZXQsMSkpLG09TWF0aC5tYXgobSxhLmRvY1ZpZXcucG9zRnJvbURPTSh4LmVuZENvbnRhaW5lcix4LmVuZE9mZnNldCwtMSkpfWlmKHU8MClyZXR1cm4gbnVsbDtbZCxuXT1tPT1hLnN0YXRlLnNlbGVjdGlvbi5hbmNob3I/W20sdV06W3UsbV0sbD1yLnJlc29sdmUobil9ZWxzZSBkPWEuZG9jVmlldy5wb3NGcm9tRE9NKHQuYW5jaG9yTm9kZSx0LmFuY2hvck9mZnNldCwxKTtpZihkPDApcmV0dXJuIG51bGx9bGV0IHA9ci5yZXNvbHZlKGQpO2lmKCFjKXtsZXQgdT1lPT0icG9pbnRlciJ8fGEuc3RhdGUuc2VsZWN0aW9uLmhlYWQ8bC5wb3MmJiFvPzE6LTE7Yz1WS2UoYSxwLGwsdSl9cmV0dXJuIGN9ZnVuY3Rpb24gVm9hKGEpe3JldHVybiBhLmVkaXRhYmxlP2EuaGFzRm9jdXMoKTpab2EoYSkmJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQmJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuY29udGFpbnMoYS5kb20pfWZ1bmN0aW9uIFNjKGEsZT0hMSl7bGV0IHQ9YS5zdGF0ZS5zZWxlY3Rpb247aWYoR29hKGEsdCksISFWb2EoYSkpe2lmKCFlJiZhLmlucHV0Lm1vdXNlRG93biYmYS5pbnB1dC5tb3VzZURvd24uYWxsb3dEZWZhdWx0JiZzaSl7bGV0IHI9YS5kb21TZWxlY3Rpb25SYW5nZSgpLGk9YS5kb21PYnNlcnZlci5jdXJyZW50U2VsZWN0aW9uO2lmKHIuYW5jaG9yTm9kZSYmaS5hbmNob3JOb2RlJiZYZihyLmFuY2hvck5vZGUsci5hbmNob3JPZmZzZXQsaS5hbmNob3JOb2RlLGkuYW5jaG9yT2Zmc2V0KSl7YS5pbnB1dC5tb3VzZURvd24uZGVsYXllZFNlbGVjdGlvblN5bmM9ITAsYS5kb21PYnNlcnZlci5zZXRDdXJTZWxlY3Rpb24oKTtyZXR1cm59fWlmKGEuZG9tT2JzZXJ2ZXIuZGlzY29ubmVjdFNlbGVjdGlvbigpLGEuY3Vyc29yV3JhcHBlcil4QWEoYSk7ZWxzZXtsZXR7YW5jaG9yOnIsaGVhZDppfT10LG8sbjtqb2EmJiEodCBpbnN0YW5jZW9mIFJ0KSYmKHQuJGZyb20ucGFyZW50LmlubGluZUNvbnRlbnR8fChvPVVvYShhLHQuZnJvbSkpLCF0LmVtcHR5JiYhdC4kZnJvbS5wYXJlbnQuaW5saW5lQ29udGVudCYmKG49VW9hKGEsdC50bykpKSxhLmRvY1ZpZXcuc2V0U2VsZWN0aW9uKHIsaSxhLGUpLGpvYSYmKG8mJldvYShvKSxuJiZXb2EobikpLHQudmlzaWJsZT9hLmRvbS5jbGFzc0xpc3QucmVtb3ZlKCJQcm9zZU1pcnJvci1oaWRlc2VsZWN0aW9uIik6KGEuZG9tLmNsYXNzTGlzdC5hZGQoIlByb3NlTWlycm9yLWhpZGVzZWxlY3Rpb24iKSwib25zZWxlY3Rpb25jaGFuZ2UiaW4gZG9jdW1lbnQmJnZBYShhKSl9YS5kb21PYnNlcnZlci5zZXRDdXJTZWxlY3Rpb24oKSxhLmRvbU9ic2VydmVyLmNvbm5lY3RTZWxlY3Rpb24oKX19ZnVuY3Rpb24gVW9hKGEsZSl7bGV0e25vZGU6dCxvZmZzZXQ6cn09YS5kb2NWaWV3LmRvbUZyb21Qb3MoZSwwKSxpPXI8dC5jaGlsZE5vZGVzLmxlbmd0aD90LmNoaWxkTm9kZXNbcl06bnVsbCxvPXI/dC5jaGlsZE5vZGVzW3ItMV06bnVsbDtpZihFaSYmaSYmaS5jb250ZW50RWRpdGFibGU9PSJmYWxzZSIpcmV0dXJuIHFLZShpKTtpZigoIWl8fGkuY29udGVudEVkaXRhYmxlPT0iZmFsc2UiKSYmKCFvfHxvLmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIikpe2lmKGkpcmV0dXJuIHFLZShpKTtpZihvKXJldHVybiBxS2Uobyl9fWZ1bmN0aW9uIHFLZShhKXtyZXR1cm4gYS5jb250ZW50RWRpdGFibGU9InRydWUiLEVpJiZhLmRyYWdnYWJsZSYmKGEuZHJhZ2dhYmxlPSExLGEud2FzRHJhZ2dhYmxlPSEwKSxhfWZ1bmN0aW9uIFdvYShhKXthLmNvbnRlbnRFZGl0YWJsZT0iZmFsc2UiLGEud2FzRHJhZ2dhYmxlJiYoYS5kcmFnZ2FibGU9ITAsYS53YXNEcmFnZ2FibGU9bnVsbCl9ZnVuY3Rpb24gdkFhKGEpe2xldCBlPWEuZG9tLm93bmVyRG9jdW1lbnQ7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLGEuaW5wdXQuaGlkZVNlbGVjdGlvbkd1YXJkKTtsZXQgdD1hLmRvbVNlbGVjdGlvblJhbmdlKCkscj10LmFuY2hvck5vZGUsaT10LmFuY2hvck9mZnNldDtlLmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsYS5pbnB1dC5oaWRlU2VsZWN0aW9uR3VhcmQ9KCk9PnsodC5hbmNob3JOb2RlIT1yfHx0LmFuY2hvck9mZnNldCE9aSkmJihlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsYS5pbnB1dC5oaWRlU2VsZWN0aW9uR3VhcmQpLHNldFRpbWVvdXQoKCk9PnsoIVZvYShhKXx8YS5zdGF0ZS5zZWxlY3Rpb24udmlzaWJsZSkmJmEuZG9tLmNsYXNzTGlzdC5yZW1vdmUoIlByb3NlTWlycm9yLWhpZGVzZWxlY3Rpb24iKX0sMjApKX0pfWZ1bmN0aW9uIHhBYShhKXtsZXQgZT1hLmRvbVNlbGVjdGlvbigpO2lmKCFlKXJldHVybjtsZXQgdD1hLmN1cnNvcldyYXBwZXIuZG9tLHI9dC5ub2RlTmFtZT09IklNRyI7cj9lLmNvbGxhcHNlKHQucGFyZW50Tm9kZSxyaSh0KSsxKTplLmNvbGxhcHNlKHQsMCksIXImJiFhLnN0YXRlLnNlbGVjdGlvbi52aXNpYmxlJiZFbyYmeTQ8PTExJiYodC5kaXNhYmxlZD0hMCx0LmRpc2FibGVkPSExKX1mdW5jdGlvbiBHb2EoYSxlKXtpZihlIGluc3RhbmNlb2YgTXQpe2xldCB0PWEuZG9jVmlldy5kZXNjQXQoZS5mcm9tKTt0IT1hLmxhc3RTZWxlY3RlZFZpZXdEZXNjJiYoWW9hKGEpLHQmJnQuc2VsZWN0Tm9kZSgpLGEubGFzdFNlbGVjdGVkVmlld0Rlc2M9dCl9ZWxzZSBZb2EoYSl9ZnVuY3Rpb24gWW9hKGEpe2EubGFzdFNlbGVjdGVkVmlld0Rlc2MmJihhLmxhc3RTZWxlY3RlZFZpZXdEZXNjLnBhcmVudCYmYS5sYXN0U2VsZWN0ZWRWaWV3RGVzYy5kZXNlbGVjdE5vZGUoKSxhLmxhc3RTZWxlY3RlZFZpZXdEZXNjPXZvaWQgMCl9ZnVuY3Rpb24gVktlKGEsZSx0LHIpe3JldHVybiBhLnNvbWVQcm9wKCJjcmVhdGVTZWxlY3Rpb25CZXR3ZWVuIixpPT5pKGEsZSx0KSl8fFJ0LmJldHdlZW4oZSx0LHIpfWZ1bmN0aW9uIEtvYShhKXtyZXR1cm4gYS5lZGl0YWJsZSYmIWEuaGFzRm9jdXMoKT8hMTpab2EoYSl9ZnVuY3Rpb24gWm9hKGEpe2xldCBlPWEuZG9tU2VsZWN0aW9uUmFuZ2UoKTtpZighZS5hbmNob3JOb2RlKXJldHVybiExO3RyeXtyZXR1cm4gYS5kb20uY29udGFpbnMoZS5hbmNob3JOb2RlLm5vZGVUeXBlPT0zP2UuYW5jaG9yTm9kZS5wYXJlbnROb2RlOmUuYW5jaG9yTm9kZSkmJihhLmVkaXRhYmxlfHxhLmRvbS5jb250YWlucyhlLmZvY3VzTm9kZS5ub2RlVHlwZT09Mz9lLmZvY3VzTm9kZS5wYXJlbnROb2RlOmUuZm9jdXNOb2RlKSl9Y2F0Y2h7cmV0dXJuITF9fWZ1bmN0aW9uIHlBYShhKXtsZXQgZT1hLmRvY1ZpZXcuZG9tRnJvbVBvcyhhLnN0YXRlLnNlbGVjdGlvbi5hbmNob3IsMCksdD1hLmRvbVNlbGVjdGlvblJhbmdlKCk7cmV0dXJuIFhmKGUubm9kZSxlLm9mZnNldCx0LmFuY2hvck5vZGUsdC5hbmNob3JPZmZzZXQpfWZ1bmN0aW9uIGpLZShhLGUpe2xldHskYW5jaG9yOnQsJGhlYWQ6cn09YS5zZWxlY3Rpb24saT1lPjA/dC5tYXgocik6dC5taW4ociksbz1pLnBhcmVudC5pbmxpbmVDb250ZW50P2kuZGVwdGg/YS5kb2MucmVzb2x2ZShlPjA/aS5hZnRlcigpOmkuYmVmb3JlKCkpOm51bGw6aTtyZXR1cm4gbyYmSXQuZmluZEZyb20obyxlKX1mdW5jdGlvbiBrNChhLGUpe3JldHVybiBhLmRpc3BhdGNoKGEuc3RhdGUudHIuc2V0U2VsZWN0aW9uKGUpLnNjcm9sbEludG9WaWV3KCkpLCEwfWZ1bmN0aW9uIFhvYShhLGUsdCl7bGV0IHI9YS5zdGF0ZS5zZWxlY3Rpb247aWYociBpbnN0YW5jZW9mIFJ0KWlmKHQuaW5kZXhPZigicyIpPi0xKXtsZXR7JGhlYWQ6aX09cixvPWkudGV4dE9mZnNldD9udWxsOmU8MD9pLm5vZGVCZWZvcmU6aS5ub2RlQWZ0ZXI7aWYoIW98fG8uaXNUZXh0fHwhby5pc0xlYWYpcmV0dXJuITE7bGV0IG49YS5zdGF0ZS5kb2MucmVzb2x2ZShpLnBvcytvLm5vZGVTaXplKihlPDA/LTE6MSkpO3JldHVybiBrNChhLG5ldyBSdChyLiRhbmNob3IsbikpfWVsc2UgaWYoci5lbXB0eSl7aWYoYS5lbmRPZlRleHRibG9jayhlPjA/ImZvcndhcmQiOiJiYWNrd2FyZCIpKXtsZXQgaT1qS2UoYS5zdGF0ZSxlKTtyZXR1cm4gaSYmaSBpbnN0YW5jZW9mIE10P2s0KGEsaSk6ITF9ZWxzZSBpZighKEluJiZ0LmluZGV4T2YoIm0iKT4tMSkpe2xldCBpPXIuJGhlYWQsbz1pLnRleHRPZmZzZXQ/bnVsbDplPDA/aS5ub2RlQmVmb3JlOmkubm9kZUFmdGVyLG47aWYoIW98fG8uaXNUZXh0KXJldHVybiExO2xldCBsPWU8MD9pLnBvcy1vLm5vZGVTaXplOmkucG9zO3JldHVybiBvLmlzQXRvbXx8KG49YS5kb2NWaWV3LmRlc2NBdChsKSkmJiFuLmNvbnRlbnRET00/TXQuaXNTZWxlY3RhYmxlKG8pP2s0KGEsbmV3IE10KGU8MD9hLnN0YXRlLmRvYy5yZXNvbHZlKGkucG9zLW8ubm9kZVNpemUpOmkpKTpzVz9rNChhLG5ldyBSdChhLnN0YXRlLmRvYy5yZXNvbHZlKGU8MD9sOmwrby5ub2RlU2l6ZSkpKTohMTohMX19ZWxzZSByZXR1cm4hMTtlbHNle2lmKHIgaW5zdGFuY2VvZiBNdCYmci5ub2RlLmlzSW5saW5lKXJldHVybiBrNChhLG5ldyBSdChlPjA/ci4kdG86ci4kZnJvbSkpO3tsZXQgaT1qS2UoYS5zdGF0ZSxlKTtyZXR1cm4gaT9rNChhLGkpOiExfX19ZnVuY3Rpb24gV2FlKGEpe3JldHVybiBhLm5vZGVUeXBlPT0zP2Eubm9kZVZhbHVlLmxlbmd0aDphLmNoaWxkTm9kZXMubGVuZ3RofWZ1bmN0aW9uIG5XKGEsZSl7bGV0IHQ9YS5wbVZpZXdEZXNjO3JldHVybiB0JiZ0LnNpemU9PTAmJihlPDB8fGEubmV4dFNpYmxpbmd8fGEubm9kZU5hbWUhPSJCUiIpfWZ1bmN0aW9uICRtKGEsZSl7cmV0dXJuIGU8MD93QWEoYSk6TUFhKGEpfWZ1bmN0aW9uIHdBYShhKXtsZXQgZT1hLmRvbVNlbGVjdGlvblJhbmdlKCksdD1lLmZvY3VzTm9kZSxyPWUuZm9jdXNPZmZzZXQ7aWYoIXQpcmV0dXJuO2xldCBpLG8sbj0hMTtmb3IoUG4mJnQubm9kZVR5cGU9PTEmJnI8V2FlKHQpJiZuVyh0LmNoaWxkTm9kZXNbcl0sLTEpJiYobj0hMCk7OylpZihyPjApe2lmKHQubm9kZVR5cGUhPTEpYnJlYWs7e2xldCBsPXQuY2hpbGROb2Rlc1tyLTFdO2lmKG5XKGwsLTEpKWk9dCxvPS0tcjtlbHNlIGlmKGwubm9kZVR5cGU9PTMpdD1sLHI9dC5ub2RlVmFsdWUubGVuZ3RoO2Vsc2UgYnJlYWt9fWVsc2V7aWYoUW9hKHQpKWJyZWFrO3tsZXQgbD10LnByZXZpb3VzU2libGluZztmb3IoO2wmJm5XKGwsLTEpOylpPXQucGFyZW50Tm9kZSxvPXJpKGwpLGw9bC5wcmV2aW91c1NpYmxpbmc7aWYobCl0PWwscj1XYWUodCk7ZWxzZXtpZih0PXQucGFyZW50Tm9kZSx0PT1hLmRvbSlicmVhaztyPTB9fX1uP1VLZShhLHQscik6aSYmVUtlKGEsaSxvKX1mdW5jdGlvbiBNQWEoYSl7bGV0IGU9YS5kb21TZWxlY3Rpb25SYW5nZSgpLHQ9ZS5mb2N1c05vZGUscj1lLmZvY3VzT2Zmc2V0O2lmKCF0KXJldHVybjtsZXQgaT1XYWUodCksbyxuO2Zvcig7OylpZihyPGkpe2lmKHQubm9kZVR5cGUhPTEpYnJlYWs7bGV0IGw9dC5jaGlsZE5vZGVzW3JdO2lmKG5XKGwsMSkpbz10LG49KytyO2Vsc2UgYnJlYWt9ZWxzZXtpZihRb2EodCkpYnJlYWs7e2xldCBsPXQubmV4dFNpYmxpbmc7Zm9yKDtsJiZuVyhsLDEpOylvPWwucGFyZW50Tm9kZSxuPXJpKGwpKzEsbD1sLm5leHRTaWJsaW5nO2lmKGwpdD1sLHI9MCxpPVdhZSh0KTtlbHNle2lmKHQ9dC5wYXJlbnROb2RlLHQ9PWEuZG9tKWJyZWFrO3I9aT0wfX19byYmVUtlKGEsbyxuKX1mdW5jdGlvbiBRb2EoYSl7bGV0IGU9YS5wbVZpZXdEZXNjO3JldHVybiBlJiZlLm5vZGUmJmUubm9kZS5pc0Jsb2NrfWZ1bmN0aW9uIGtBYShhLGUpe2Zvcig7YSYmZT09YS5jaGlsZE5vZGVzLmxlbmd0aCYmIXJXKGEpOyllPXJpKGEpKzEsYT1hLnBhcmVudE5vZGU7Zm9yKDthJiZlPGEuY2hpbGROb2Rlcy5sZW5ndGg7KXtsZXQgdD1hLmNoaWxkTm9kZXNbZV07aWYodC5ub2RlVHlwZT09MylyZXR1cm4gdDtpZih0Lm5vZGVUeXBlPT0xJiZ0LmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIilicmVhazthPXQsZT0wfX1mdW5jdGlvbiBTQWEoYSxlKXtmb3IoO2EmJiFlJiYhclcoYSk7KWU9cmkoYSksYT1hLnBhcmVudE5vZGU7Zm9yKDthJiZlOyl7bGV0IHQ9YS5jaGlsZE5vZGVzW2UtMV07aWYodC5ub2RlVHlwZT09MylyZXR1cm4gdDtpZih0Lm5vZGVUeXBlPT0xJiZ0LmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIilicmVhazthPXQsZT1hLmNoaWxkTm9kZXMubGVuZ3RofX1mdW5jdGlvbiBVS2UoYSxlLHQpe2lmKGUubm9kZVR5cGUhPTMpe2xldCBvLG47KG49a0FhKGUsdCkpPyhlPW4sdD0wKToobz1TQWEoZSx0KSkmJihlPW8sdD1vLm5vZGVWYWx1ZS5sZW5ndGgpfWxldCByPWEuZG9tU2VsZWN0aW9uKCk7aWYoIXIpcmV0dXJuO2lmKEhhZShyKSl7bGV0IG89ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtvLnNldEVuZChlLHQpLG8uc2V0U3RhcnQoZSx0KSxyLnJlbW92ZUFsbFJhbmdlcygpLHIuYWRkUmFuZ2Uobyl9ZWxzZSByLmV4dGVuZCYmci5leHRlbmQoZSx0KTthLmRvbU9ic2VydmVyLnNldEN1clNlbGVjdGlvbigpO2xldHtzdGF0ZTppfT1hO3NldFRpbWVvdXQoKCk9PnthLnN0YXRlPT1pJiZTYyhhKX0sNTApfWZ1bmN0aW9uIEpvYShhLGUpe2xldCB0PWEuc3RhdGUuZG9jLnJlc29sdmUoZSk7aWYoIShzaXx8em9hKSYmdC5wYXJlbnQuaW5saW5lQ29udGVudCl7bGV0IGk9YS5jb29yZHNBdFBvcyhlKTtpZihlPnQuc3RhcnQoKSl7bGV0IG89YS5jb29yZHNBdFBvcyhlLTEpLG49KG8udG9wK28uYm90dG9tKS8yO2lmKG4+aS50b3AmJm48aS5ib3R0b20mJk1hdGguYWJzKG8ubGVmdC1pLmxlZnQpPjEpcmV0dXJuIG8ubGVmdDxpLmxlZnQ/Imx0ciI6InJ0bCJ9aWYoZTx0LmVuZCgpKXtsZXQgbz1hLmNvb3Jkc0F0UG9zKGUrMSksbj0oby50b3Arby5ib3R0b20pLzI7aWYobj5pLnRvcCYmbjxpLmJvdHRvbSYmTWF0aC5hYnMoby5sZWZ0LWkubGVmdCk+MSlyZXR1cm4gby5sZWZ0PmkubGVmdD8ibHRyIjoicnRsIn19cmV0dXJuIGdldENvbXB1dGVkU3R5bGUoYS5kb20pLmRpcmVjdGlvbj09InJ0bCI/InJ0bCI6Imx0ciJ9ZnVuY3Rpb24gZW5hKGEsZSx0KXtsZXQgcj1hLnN0YXRlLnNlbGVjdGlvbjtpZihyIGluc3RhbmNlb2YgUnQmJiFyLmVtcHR5fHx0LmluZGV4T2YoInMiKT4tMXx8SW4mJnQuaW5kZXhPZigibSIpPi0xKXJldHVybiExO2xldHskZnJvbTppLCR0bzpvfT1yO2lmKCFpLnBhcmVudC5pbmxpbmVDb250ZW50fHxhLmVuZE9mVGV4dGJsb2NrKGU8MD8idXAiOiJkb3duIikpe2xldCBuPWpLZShhLnN0YXRlLGUpO2lmKG4mJm4gaW5zdGFuY2VvZiBNdClyZXR1cm4gazQoYSxuKX1pZighaS5wYXJlbnQuaW5saW5lQ29udGVudCl7bGV0IG49ZTwwP2k6byxsPXIgaW5zdGFuY2VvZiBBaT9JdC5uZWFyKG4sZSk6SXQuZmluZEZyb20obixlKTtyZXR1cm4gbD9rNChhLGwpOiExfXJldHVybiExfWZ1bmN0aW9uIHRuYShhLGUpe2lmKCEoYS5zdGF0ZS5zZWxlY3Rpb24gaW5zdGFuY2VvZiBSdCkpcmV0dXJuITA7bGV0eyRoZWFkOnQsJGFuY2hvcjpyLGVtcHR5Oml9PWEuc3RhdGUuc2VsZWN0aW9uO2lmKCF0LnNhbWVQYXJlbnQocikpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7aWYoYS5lbmRPZlRleHRibG9jayhlPjA/ImZvcndhcmQiOiJiYWNrd2FyZCIpKXJldHVybiEwO2xldCBvPSF0LnRleHRPZmZzZXQmJihlPDA/dC5ub2RlQmVmb3JlOnQubm9kZUFmdGVyKTtpZihvJiYhby5pc1RleHQpe2xldCBuPWEuc3RhdGUudHI7cmV0dXJuIGU8MD9uLmRlbGV0ZSh0LnBvcy1vLm5vZGVTaXplLHQucG9zKTpuLmRlbGV0ZSh0LnBvcyx0LnBvcytvLm5vZGVTaXplKSxhLmRpc3BhdGNoKG4pLCEwfXJldHVybiExfWZ1bmN0aW9uIGFuYShhLGUsdCl7YS5kb21PYnNlcnZlci5zdG9wKCksZS5jb250ZW50RWRpdGFibGU9dCxhLmRvbU9ic2VydmVyLnN0YXJ0KCl9ZnVuY3Rpb24gekFhKGEpe2lmKCFFaXx8YS5zdGF0ZS5zZWxlY3Rpb24uJGhlYWQucGFyZW50T2Zmc2V0PjApcmV0dXJuITE7bGV0e2ZvY3VzTm9kZTplLGZvY3VzT2Zmc2V0OnR9PWEuZG9tU2VsZWN0aW9uUmFuZ2UoKTtpZihlJiZlLm5vZGVUeXBlPT0xJiZ0PT0wJiZlLmZpcnN0Q2hpbGQmJmUuZmlyc3RDaGlsZC5jb250ZW50RWRpdGFibGU9PSJmYWxzZSIpe2xldCByPWUuZmlyc3RDaGlsZDthbmEoYSxyLCJ0cnVlIiksc2V0VGltZW91dCgoKT0+YW5hKGEsciwiZmFsc2UiKSwyMCl9cmV0dXJuITF9ZnVuY3Rpb24gQ0FhKGEpe2xldCBlPSIiO3JldHVybiBhLmN0cmxLZXkmJihlKz0iYyIpLGEubWV0YUtleSYmKGUrPSJtIiksYS5hbHRLZXkmJihlKz0iYSIpLGEuc2hpZnRLZXkmJihlKz0icyIpLGV9ZnVuY3Rpb24gX0FhKGEsZSl7bGV0IHQ9ZS5rZXlDb2RlLHI9Q0FhKGUpO2lmKHQ9PTh8fEluJiZ0PT03MiYmcj09ImMiKXJldHVybiB0bmEoYSwtMSl8fCRtKGEsLTEpO2lmKHQ9PTQ2JiYhZS5zaGlmdEtleXx8SW4mJnQ9PTY4JiZyPT0iYyIpcmV0dXJuIHRuYShhLDEpfHwkbShhLDEpO2lmKHQ9PTEzfHx0PT0yNylyZXR1cm4hMDtpZih0PT0zN3x8SW4mJnQ9PTY2JiZyPT0iYyIpe2xldCBpPXQ9PTM3P0pvYShhLGEuc3RhdGUuc2VsZWN0aW9uLmZyb20pPT0ibHRyIj8tMToxOi0xO3JldHVybiBYb2EoYSxpLHIpfHwkbShhLGkpfWVsc2UgaWYodD09Mzl8fEluJiZ0PT03MCYmcj09ImMiKXtsZXQgaT10PT0zOT9Kb2EoYSxhLnN0YXRlLnNlbGVjdGlvbi5mcm9tKT09Imx0ciI/MTotMToxO3JldHVybiBYb2EoYSxpLHIpfHwkbShhLGkpfWVsc2V7aWYodD09Mzh8fEluJiZ0PT04MCYmcj09ImMiKXJldHVybiBlbmEoYSwtMSxyKXx8JG0oYSwtMSk7aWYodD09NDB8fEluJiZ0PT03OCYmcj09ImMiKXJldHVybiB6QWEoYSl8fGVuYShhLDEscil8fCRtKGEsMSk7aWYocj09KEluPyJtIjoiYyIpJiYodD09NjZ8fHQ9PTczfHx0PT04OXx8dD09OTApKXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIFdLZShhLGUpe2Euc29tZVByb3AoInRyYW5zZm9ybUNvcGllZCIsdj0+e2U9dihlLGEpfSk7bGV0IHQ9W10se2NvbnRlbnQ6cixvcGVuU3RhcnQ6aSxvcGVuRW5kOm99PWU7Zm9yKDtpPjEmJm8+MSYmci5jaGlsZENvdW50PT0xJiZyLmZpcnN0Q2hpbGQuY2hpbGRDb3VudD09MTspe2ktLSxvLS07bGV0IHY9ci5maXJzdENoaWxkO3QucHVzaCh2LnR5cGUubmFtZSx2LmF0dHJzIT12LnR5cGUuZGVmYXVsdEF0dHJzP3YuYXR0cnM6bnVsbCkscj12LmNvbnRlbnR9bGV0IG49YS5zb21lUHJvcCgiY2xpcGJvYXJkU2VyaWFsaXplciIpfHxZMi5mcm9tU2NoZW1hKGEuc3RhdGUuc2NoZW1hKSxsPWNuYSgpLGQ9bC5jcmVhdGVFbGVtZW50KCJkaXYiKTtkLmFwcGVuZENoaWxkKG4uc2VyaWFsaXplRnJhZ21lbnQocix7ZG9jdW1lbnQ6bH0pKTtsZXQgYz1kLmZpcnN0Q2hpbGQscCx1PTA7Zm9yKDtjJiZjLm5vZGVUeXBlPT0xJiYocD1ubmFbYy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSk7KXtmb3IobGV0IHY9cC5sZW5ndGgtMTt2Pj0wO3YtLSl7bGV0IHg9bC5jcmVhdGVFbGVtZW50KHBbdl0pO2Zvcig7ZC5maXJzdENoaWxkOyl4LmFwcGVuZENoaWxkKGQuZmlyc3RDaGlsZCk7ZC5hcHBlbmRDaGlsZCh4KSx1Kyt9Yz1kLmZpcnN0Q2hpbGR9YyYmYy5ub2RlVHlwZT09MSYmYy5zZXRBdHRyaWJ1dGUoImRhdGEtcG0tc2xpY2UiLGAke2l9ICR7b30ke3U/YCAtJHt1fWA6IiJ9ICR7SlNPTi5zdHJpbmdpZnkodCl9YCk7bGV0IG09YS5zb21lUHJvcCgiY2xpcGJvYXJkVGV4dFNlcmlhbGl6ZXIiLHY9PnYoZSxhKSl8fGUuY29udGVudC50ZXh0QmV0d2VlbigwLGUuY29udGVudC5zaXplLGAKCmApO3JldHVybntkb206ZCx0ZXh0Om0sc2xpY2U6ZX19ZnVuY3Rpb24gR0tlKGEsZSx0LHIsaSl7bGV0IG89aS5wYXJlbnQudHlwZS5zcGVjLmNvZGUsbixsO2lmKCF0JiYhZSlyZXR1cm4gbnVsbDtsZXQgZD0hIWUmJihyfHxvfHwhdCk7aWYoZCl7aWYoYS5zb21lUHJvcCgidHJhbnNmb3JtUGFzdGVkVGV4dCIsbT0+e2U9bShlLG98fHIsYSl9KSxvKXJldHVybiBsPW5ldyBpdChWZS5mcm9tKGEuc3RhdGUuc2NoZW1hLnRleHQoZS5yZXBsYWNlKC9cclxuPy9nLGAKYCkpKSwwLDApLGEuc29tZVByb3AoInRyYW5zZm9ybVBhc3RlZCIsbT0+e2w9bShsLGEsITApfSksbDtsZXQgdT1hLnNvbWVQcm9wKCJjbGlwYm9hcmRUZXh0UGFyc2VyIixtPT5tKGUsaSxyLGEpKTtpZih1KWw9dTtlbHNle2xldCBtPWkubWFya3MoKSx7c2NoZW1hOnZ9PWEuc3RhdGUseD1ZMi5mcm9tU2NoZW1hKHYpO249ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZS5zcGxpdCgvKD86XHJcbj98XG4pKy8pLmZvckVhY2goYj0+e2xldCBnPW4uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpKTtiJiZnLmFwcGVuZENoaWxkKHguc2VyaWFsaXplTm9kZSh2LnRleHQoYixtKSkpfSl9fWVsc2UgYS5zb21lUHJvcCgidHJhbnNmb3JtUGFzdGVkSFRNTCIsdT0+e3Q9dSh0LGEpfSksbj1EQWEodCksc1cmJkFBYShuKTtsZXQgYz1uJiZuLnF1ZXJ5U2VsZWN0b3IoIltkYXRhLXBtLXNsaWNlXSIpLHA9YyYmL14oXGQrKSAoXGQrKSg/OiAtKFxkKykpPyAoLiopLy5leGVjKGMuZ2V0QXR0cmlidXRlKCJkYXRhLXBtLXNsaWNlIil8fCIiKTtpZihwJiZwWzNdKWZvcihsZXQgdT0rcFszXTt1PjA7dS0tKXtsZXQgbT1uLmZpcnN0Q2hpbGQ7Zm9yKDttJiZtLm5vZGVUeXBlIT0xOyltPW0ubmV4dFNpYmxpbmc7aWYoIW0pYnJlYWs7bj1tfWlmKGx8fChsPShhLnNvbWVQcm9wKCJjbGlwYm9hcmRQYXJzZXIiKXx8YS5zb21lUHJvcCgiZG9tUGFyc2VyIil8fE4xLmZyb21TY2hlbWEoYS5zdGF0ZS5zY2hlbWEpKS5wYXJzZVNsaWNlKG4se3ByZXNlcnZlV2hpdGVzcGFjZTohIShkfHxwKSxjb250ZXh0OmkscnVsZUZyb21Ob2RlKG0pe3JldHVybiBtLm5vZGVOYW1lPT0iQlIiJiYhbS5uZXh0U2libGluZyYmbS5wYXJlbnROb2RlJiYhVEFhLnRlc3QobS5wYXJlbnROb2RlLm5vZGVOYW1lKT97aWdub3JlOiEwfTpudWxsfX0pKSxwKWw9RUFhKG9uYShsLCtwWzFdLCtwWzJdKSxwWzRdKTtlbHNlIGlmKGw9aXQubWF4T3BlbihMQWEobC5jb250ZW50LGkpLCEwKSxsLm9wZW5TdGFydHx8bC5vcGVuRW5kKXtsZXQgdT0wLG09MDtmb3IobGV0IHY9bC5jb250ZW50LmZpcnN0Q2hpbGQ7dTxsLm9wZW5TdGFydCYmIXYudHlwZS5zcGVjLmlzb2xhdGluZzt1Kyssdj12LmZpcnN0Q2hpbGQpO2ZvcihsZXQgdj1sLmNvbnRlbnQubGFzdENoaWxkO208bC5vcGVuRW5kJiYhdi50eXBlLnNwZWMuaXNvbGF0aW5nO20rKyx2PXYubGFzdENoaWxkKTtsPW9uYShsLHUsbSl9cmV0dXJuIGEuc29tZVByb3AoInRyYW5zZm9ybVBhc3RlZCIsdT0+e2w9dShsLGEsZCl9KSxsfWZ1bmN0aW9uIExBYShhLGUpe2lmKGEuY2hpbGRDb3VudDwyKXJldHVybiBhO2ZvcihsZXQgdD1lLmRlcHRoO3Q+PTA7dC0tKXtsZXQgaT1lLm5vZGUodCkuY29udGVudE1hdGNoQXQoZS5pbmRleCh0KSksbyxuPVtdO2lmKGEuZm9yRWFjaChsPT57aWYoIW4pcmV0dXJuO2xldCBkPWkuZmluZFdyYXBwaW5nKGwudHlwZSksYztpZighZClyZXR1cm4gbj1udWxsO2lmKGM9bi5sZW5ndGgmJm8ubGVuZ3RoJiZzbmEoZCxvLGwsbltuLmxlbmd0aC0xXSwwKSluW24ubGVuZ3RoLTFdPWM7ZWxzZXtuLmxlbmd0aCYmKG5bbi5sZW5ndGgtMV09aW5hKG5bbi5sZW5ndGgtMV0sby5sZW5ndGgpKTtsZXQgcD1ybmEobCxkKTtuLnB1c2gocCksaT1pLm1hdGNoVHlwZShwLnR5cGUpLG89ZH19KSxuKXJldHVybiBWZS5mcm9tKG4pfXJldHVybiBhfWZ1bmN0aW9uIHJuYShhLGUsdD0wKXtmb3IobGV0IHI9ZS5sZW5ndGgtMTtyPj10O3ItLSlhPWVbcl0uY3JlYXRlKG51bGwsVmUuZnJvbShhKSk7cmV0dXJuIGF9ZnVuY3Rpb24gc25hKGEsZSx0LHIsaSl7aWYoaTxhLmxlbmd0aCYmaTxlLmxlbmd0aCYmYVtpXT09ZVtpXSl7bGV0IG89c25hKGEsZSx0LHIubGFzdENoaWxkLGkrMSk7aWYobylyZXR1cm4gci5jb3B5KHIuY29udGVudC5yZXBsYWNlQ2hpbGQoci5jaGlsZENvdW50LTEsbykpO2lmKHIuY29udGVudE1hdGNoQXQoci5jaGlsZENvdW50KS5tYXRjaFR5cGUoaT09YS5sZW5ndGgtMT90LnR5cGU6YVtpKzFdKSlyZXR1cm4gci5jb3B5KHIuY29udGVudC5hcHBlbmQoVmUuZnJvbShybmEodCxhLGkrMSkpKSl9fWZ1bmN0aW9uIGluYShhLGUpe2lmKGU9PTApcmV0dXJuIGE7bGV0IHQ9YS5jb250ZW50LnJlcGxhY2VDaGlsZChhLmNoaWxkQ291bnQtMSxpbmEoYS5sYXN0Q2hpbGQsZS0xKSkscj1hLmNvbnRlbnRNYXRjaEF0KGEuY2hpbGRDb3VudCkuZmlsbEJlZm9yZShWZS5lbXB0eSwhMCk7cmV0dXJuIGEuY29weSh0LmFwcGVuZChyKSl9ZnVuY3Rpb24gWUtlKGEsZSx0LHIsaSxvKXtsZXQgbj1lPDA/YS5maXJzdENoaWxkOmEubGFzdENoaWxkLGw9bi5jb250ZW50O3JldHVybiBhLmNoaWxkQ291bnQ+MSYmKG89MCksaTxyLTEmJihsPVlLZShsLGUsdCxyLGkrMSxvKSksaT49dCYmKGw9ZTwwP24uY29udGVudE1hdGNoQXQoMCkuZmlsbEJlZm9yZShsLG88PWkpLmFwcGVuZChsKTpsLmFwcGVuZChuLmNvbnRlbnRNYXRjaEF0KG4uY2hpbGRDb3VudCkuZmlsbEJlZm9yZShWZS5lbXB0eSwhMCkpKSxhLnJlcGxhY2VDaGlsZChlPDA/MDphLmNoaWxkQ291bnQtMSxuLmNvcHkobCkpfWZ1bmN0aW9uIG9uYShhLGUsdCl7cmV0dXJuIGU8YS5vcGVuU3RhcnQmJihhPW5ldyBpdChZS2UoYS5jb250ZW50LC0xLGUsYS5vcGVuU3RhcnQsMCxhLm9wZW5FbmQpLGUsYS5vcGVuRW5kKSksdDxhLm9wZW5FbmQmJihhPW5ldyBpdChZS2UoYS5jb250ZW50LDEsdCxhLm9wZW5FbmQsMCwwKSxhLm9wZW5TdGFydCx0KSksYX1mdW5jdGlvbiBjbmEoKXtyZXR1cm4gbG5hfHwobG5hPWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgidGl0bGUiKSl9ZnVuY3Rpb24gJEFhKGEpe2xldCBlPXdpbmRvdy50cnVzdGVkVHlwZXM7cmV0dXJuIGU/KEtLZXx8KEtLZT1lLmRlZmF1bHRQb2xpY3l8fGUuY3JlYXRlUG9saWN5KCJQcm9zZU1pcnJvckNsaXBib2FyZCIse2NyZWF0ZUhUTUw6cyh0PT50LCJjcmVhdGVIVE1MIil9KSksS0tlLmNyZWF0ZUhUTUwoYSkpOmF9ZnVuY3Rpb24gREFhKGEpe2xldCBlPS9eKFxzKjxtZXRhIFtePl0qPikqLy5leGVjKGEpO2UmJihhPWEuc2xpY2UoZVswXS5sZW5ndGgpKTtsZXQgdD1jbmEoKS5jcmVhdGVFbGVtZW50KCJkaXYiKSxyPS88KFthLXpdW14+XHNdKykvaS5leGVjKGEpLGk7aWYoKGk9ciYmbm5hW3JbMV0udG9Mb3dlckNhc2UoKV0pJiYoYT1pLm1hcChvPT4iPCIrbysiPiIpLmpvaW4oIiIpK2EraS5tYXAobz0+IjwvIitvKyI+IikucmV2ZXJzZSgpLmpvaW4oIiIpKSx0LmlubmVySFRNTD0kQWEoYSksaSlmb3IobGV0IG89MDtvPGkubGVuZ3RoO28rKyl0PXQucXVlcnlTZWxlY3RvcihpW29dKXx8dDtyZXR1cm4gdH1mdW5jdGlvbiBBQWEoYSl7bGV0IGU9YS5xdWVyeVNlbGVjdG9yQWxsKHNpPyJzcGFuOm5vdChbY2xhc3NdKTpub3QoW3N0eWxlXSkiOiJzcGFuLkFwcGxlLWNvbnZlcnRlZC1zcGFjZSIpO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXtsZXQgcj1lW3RdO3IuY2hpbGROb2Rlcy5sZW5ndGg9PTEmJnIudGV4dENvbnRlbnQ9PSJceEEwIiYmci5wYXJlbnROb2RlJiZyLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGEub3duZXJEb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIpLHIpfX1mdW5jdGlvbiBFQWEoYSxlKXtpZighYS5zaXplKXJldHVybiBhO2xldCB0PWEuY29udGVudC5maXJzdENoaWxkLnR5cGUuc2NoZW1hLHI7dHJ5e3I9SlNPTi5wYXJzZShlKX1jYXRjaHtyZXR1cm4gYX1sZXR7Y29udGVudDppLG9wZW5TdGFydDpvLG9wZW5FbmQ6bn09YTtmb3IobGV0IGw9ci5sZW5ndGgtMjtsPj0wO2wtPTIpe2xldCBkPXQubm9kZXNbcltsXV07aWYoIWR8fGQuaGFzUmVxdWlyZWRBdHRycygpKWJyZWFrO2k9VmUuZnJvbShkLmNyZWF0ZShyW2wrMV0saSkpLG8rKyxuKyt9cmV0dXJuIG5ldyBpdChpLG8sbil9ZnVuY3Rpb24gSUFhKGEpe2ZvcihsZXQgZSBpbiBZaSl7bGV0IHQ9WWlbZV07YS5kb20uYWRkRXZlbnRMaXN0ZW5lcihlLGEuaW5wdXQuZXZlbnRIYW5kbGVyc1tlXT1yPT57UkFhKGEscikmJiFRS2UoYSxyKSYmKGEuZWRpdGFibGV8fCEoci50eXBlIGluIEtpKSkmJnQoYSxyKX0sUEFhW2VdP3twYXNzaXZlOiEwfTp2b2lkIDApfUVpJiZhLmRvbS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsKCk9Pm51bGwpLFhLZShhKX1mdW5jdGlvbiBTNChhLGUpe2EuaW5wdXQubGFzdFNlbGVjdGlvbk9yaWdpbj1lLGEuaW5wdXQubGFzdFNlbGVjdGlvblRpbWU9RGF0ZS5ub3coKX1mdW5jdGlvbiBOQWEoYSl7YS5kb21PYnNlcnZlci5zdG9wKCk7Zm9yKGxldCBlIGluIGEuaW5wdXQuZXZlbnRIYW5kbGVycylhLmRvbS5yZW1vdmVFdmVudExpc3RlbmVyKGUsYS5pbnB1dC5ldmVudEhhbmRsZXJzW2VdKTtjbGVhclRpbWVvdXQoYS5pbnB1dC5jb21wb3NpbmdUaW1lb3V0KSxjbGVhclRpbWVvdXQoYS5pbnB1dC5sYXN0SU9TRW50ZXJGYWxsYmFja1RpbWVvdXQpfWZ1bmN0aW9uIFhLZShhKXthLnNvbWVQcm9wKCJoYW5kbGVET01FdmVudHMiLGU9Pntmb3IobGV0IHQgaW4gZSlhLmlucHV0LmV2ZW50SGFuZGxlcnNbdF18fGEuZG9tLmFkZEV2ZW50TGlzdGVuZXIodCxhLmlucHV0LmV2ZW50SGFuZGxlcnNbdF09cj0+UUtlKGEscikpfSl9ZnVuY3Rpb24gUUtlKGEsZSl7cmV0dXJuIGEuc29tZVByb3AoImhhbmRsZURPTUV2ZW50cyIsdD0+e2xldCByPXRbZS50eXBlXTtyZXR1cm4gcj9yKGEsZSl8fGUuZGVmYXVsdFByZXZlbnRlZDohMX0pfWZ1bmN0aW9uIFJBYShhLGUpe2lmKCFlLmJ1YmJsZXMpcmV0dXJuITA7aWYoZS5kZWZhdWx0UHJldmVudGVkKXJldHVybiExO2ZvcihsZXQgdD1lLnRhcmdldDt0IT1hLmRvbTt0PXQucGFyZW50Tm9kZSlpZighdHx8dC5ub2RlVHlwZT09MTF8fHQucG1WaWV3RGVzYyYmdC5wbVZpZXdEZXNjLnN0b3BFdmVudChlKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBPQWEoYSxlKXshUUtlKGEsZSkmJllpW2UudHlwZV0mJihhLmVkaXRhYmxlfHwhKGUudHlwZSBpbiBLaSkpJiZZaVtlLnR5cGVdKGEsZSl9ZnVuY3Rpb24gR2FlKGEpe3JldHVybntsZWZ0OmEuY2xpZW50WCx0b3A6YS5jbGllbnRZfX1mdW5jdGlvbiBGQWEoYSxlKXtsZXQgdD1lLngtYS5jbGllbnRYLHI9ZS55LWEuY2xpZW50WTtyZXR1cm4gdCp0K3IqcjwxMDB9ZnVuY3Rpb24gSktlKGEsZSx0LHIsaSl7aWYocj09LTEpcmV0dXJuITE7bGV0IG89YS5zdGF0ZS5kb2MucmVzb2x2ZShyKTtmb3IobGV0IG49by5kZXB0aCsxO24+MDtuLS0paWYoYS5zb21lUHJvcChlLGw9Pm4+by5kZXB0aD9sKGEsdCxvLm5vZGVBZnRlcixvLmJlZm9yZShuKSxpLCEwKTpsKGEsdCxvLm5vZGUobiksby5iZWZvcmUobiksaSwhMSkpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIERtKGEsZSx0KXtpZihhLmZvY3VzZWR8fGEuZm9jdXMoKSxhLnN0YXRlLnNlbGVjdGlvbi5lcShlKSlyZXR1cm47bGV0IHI9YS5zdGF0ZS50ci5zZXRTZWxlY3Rpb24oZSk7dD09InBvaW50ZXIiJiZyLnNldE1ldGEoInBvaW50ZXIiLCEwKSxhLmRpc3BhdGNoKHIpfWZ1bmN0aW9uIEJBYShhLGUpe2lmKGU9PS0xKXJldHVybiExO2xldCB0PWEuc3RhdGUuZG9jLnJlc29sdmUoZSkscj10Lm5vZGVBZnRlcjtyZXR1cm4gciYmci5pc0F0b20mJk10LmlzU2VsZWN0YWJsZShyKT8oRG0oYSxuZXcgTXQodCksInBvaW50ZXIiKSwhMCk6ITF9ZnVuY3Rpb24gSEFhKGEsZSl7aWYoZT09LTEpcmV0dXJuITE7bGV0IHQ9YS5zdGF0ZS5zZWxlY3Rpb24scixpO3QgaW5zdGFuY2VvZiBNdCYmKHI9dC5ub2RlKTtsZXQgbz1hLnN0YXRlLmRvYy5yZXNvbHZlKGUpO2ZvcihsZXQgbj1vLmRlcHRoKzE7bj4wO24tLSl7bGV0IGw9bj5vLmRlcHRoP28ubm9kZUFmdGVyOm8ubm9kZShuKTtpZihNdC5pc1NlbGVjdGFibGUobCkpe3ImJnQuJGZyb20uZGVwdGg+MCYmbj49dC4kZnJvbS5kZXB0aCYmby5iZWZvcmUodC4kZnJvbS5kZXB0aCsxKT09dC4kZnJvbS5wb3M/aT1vLmJlZm9yZSh0LiRmcm9tLmRlcHRoKTppPW8uYmVmb3JlKG4pO2JyZWFrfX1yZXR1cm4gaSE9bnVsbD8oRG0oYSxNdC5jcmVhdGUoYS5zdGF0ZS5kb2MsaSksInBvaW50ZXIiKSwhMCk6ITF9ZnVuY3Rpb24gcUFhKGEsZSx0LHIsaSl7cmV0dXJuIEpLZShhLCJoYW5kbGVDbGlja09uIixlLHQscil8fGEuc29tZVByb3AoImhhbmRsZUNsaWNrIixvPT5vKGEsZSxyKSl8fChpP0hBYShhLHQpOkJBYShhLHQpKX1mdW5jdGlvbiBWQWEoYSxlLHQscil7cmV0dXJuIEpLZShhLCJoYW5kbGVEb3VibGVDbGlja09uIixlLHQscil8fGEuc29tZVByb3AoImhhbmRsZURvdWJsZUNsaWNrIixpPT5pKGEsZSxyKSl9ZnVuY3Rpb24gakFhKGEsZSx0LHIpe3JldHVybiBKS2UoYSwiaGFuZGxlVHJpcGxlQ2xpY2tPbiIsZSx0LHIpfHxhLnNvbWVQcm9wKCJoYW5kbGVUcmlwbGVDbGljayIsaT0+aShhLGUscikpfHxVQWEoYSx0LHIpfWZ1bmN0aW9uIFVBYShhLGUsdCl7aWYodC5idXR0b24hPTApcmV0dXJuITE7bGV0IHI9YS5zdGF0ZS5kb2M7aWYoZT09LTEpcmV0dXJuIHIuaW5saW5lQ29udGVudD8oRG0oYSxSdC5jcmVhdGUociwwLHIuY29udGVudC5zaXplKSwicG9pbnRlciIpLCEwKTohMTtsZXQgaT1yLnJlc29sdmUoZSk7Zm9yKGxldCBvPWkuZGVwdGgrMTtvPjA7by0tKXtsZXQgbj1vPmkuZGVwdGg/aS5ub2RlQWZ0ZXI6aS5ub2RlKG8pLGw9aS5iZWZvcmUobyk7aWYobi5pbmxpbmVDb250ZW50KURtKGEsUnQuY3JlYXRlKHIsbCsxLGwrMStuLmNvbnRlbnQuc2l6ZSksInBvaW50ZXIiKTtlbHNlIGlmKE10LmlzU2VsZWN0YWJsZShuKSlEbShhLE10LmNyZWF0ZShyLGwpLCJwb2ludGVyIik7ZWxzZSBjb250aW51ZTtyZXR1cm4hMH19ZnVuY3Rpb24gZVplKGEpe3JldHVybiBsVyhhKX1mdW5jdGlvbiB1bmEoYSxlKXtyZXR1cm4gYS5jb21wb3Npbmc/ITA6RWkmJk1hdGguYWJzKGUudGltZVN0YW1wLWEuaW5wdXQuY29tcG9zaXRpb25FbmRlZEF0KTw1MDA/KGEuaW5wdXQuY29tcG9zaXRpb25FbmRlZEF0PS0yZTgsITApOiExfWZ1bmN0aW9uIEdBYShhKXtsZXR7Zm9jdXNOb2RlOmUsZm9jdXNPZmZzZXQ6dH09YS5kb21TZWxlY3Rpb25SYW5nZSgpO2lmKCFlfHxlLm5vZGVUeXBlIT0xfHx0Pj1lLmNoaWxkTm9kZXMubGVuZ3RoKXJldHVybiExO2xldCByPWUuY2hpbGROb2Rlc1t0XTtyZXR1cm4gci5ub2RlVHlwZT09MSYmci5jb250ZW50RWRpdGFibGU9PSJmYWxzZSJ9ZnVuY3Rpb24gcG5hKGEsZSl7Y2xlYXJUaW1lb3V0KGEuaW5wdXQuY29tcG9zaW5nVGltZW91dCksZT4tMSYmKGEuaW5wdXQuY29tcG9zaW5nVGltZW91dD1zZXRUaW1lb3V0KCgpPT5sVyhhKSxlKSl9ZnVuY3Rpb24gZm5hKGEpe2ZvcihhLmNvbXBvc2luZyYmKGEuaW5wdXQuY29tcG9zaW5nPSExLGEuaW5wdXQuY29tcG9zaXRpb25FbmRlZEF0PUtBYSgpKTthLmlucHV0LmNvbXBvc2l0aW9uTm9kZXMubGVuZ3RoPjA7KWEuaW5wdXQuY29tcG9zaXRpb25Ob2Rlcy5wb3AoKS5tYXJrUGFyZW50c0RpcnR5KCl9ZnVuY3Rpb24gWUFhKGEpe2xldCBlPWEuZG9tU2VsZWN0aW9uUmFuZ2UoKTtpZighZS5mb2N1c05vZGUpcmV0dXJuIG51bGw7bGV0IHQ9VURhKGUuZm9jdXNOb2RlLGUuZm9jdXNPZmZzZXQpLHI9V0RhKGUuZm9jdXNOb2RlLGUuZm9jdXNPZmZzZXQpO2lmKHQmJnImJnQhPXIpe2xldCBpPXIucG1WaWV3RGVzYyxvPWEuZG9tT2JzZXJ2ZXIubGFzdENoYW5nZWRUZXh0Tm9kZTtpZih0PT1vfHxyPT1vKXJldHVybiBvO2lmKCFpfHwhaS5pc1RleHQoci5ub2RlVmFsdWUpKXJldHVybiByO2lmKGEuaW5wdXQuY29tcG9zaXRpb25Ob2RlPT1yKXtsZXQgbj10LnBtVmlld0Rlc2M7aWYoISghbnx8IW4uaXNUZXh0KHQubm9kZVZhbHVlKSkpcmV0dXJuIHJ9fXJldHVybiB0fHxyfWZ1bmN0aW9uIEtBYSgpe2xldCBhPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpO3JldHVybiBhLmluaXRFdmVudCgiZXZlbnQiLCEwLCEwKSxhLnRpbWVTdGFtcH1mdW5jdGlvbiBsVyhhLGU9ITEpe2lmKCEoTWMmJmEuZG9tT2JzZXJ2ZXIuZmx1c2hpbmdTb29uPj0wKSl7aWYoYS5kb21PYnNlcnZlci5mb3JjZUZsdXNoKCksZm5hKGEpLGV8fGEuZG9jVmlldyYmYS5kb2NWaWV3LmRpcnR5KXtsZXQgdD1IS2UoYSkscj1hLnN0YXRlLnNlbGVjdGlvbjtyZXR1cm4gdCYmIXQuZXEocik/YS5kaXNwYXRjaChhLnN0YXRlLnRyLnNldFNlbGVjdGlvbih0KSk6KGEubWFya0N1cnNvcnx8ZSkmJiFyLiRmcm9tLm5vZGUoci4kZnJvbS5zaGFyZWREZXB0aChyLnRvKSkuaW5saW5lQ29udGVudD9hLmRpc3BhdGNoKGEuc3RhdGUudHIuZGVsZXRlU2VsZWN0aW9uKCkpOmEudXBkYXRlU3RhdGUoYS5zdGF0ZSksITB9cmV0dXJuITF9fWZ1bmN0aW9uIFpBYShhLGUpe2lmKCFhLmRvbS5wYXJlbnROb2RlKXJldHVybjtsZXQgdD1hLmRvbS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTt0LmFwcGVuZENoaWxkKGUpLHQuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246IGZpeGVkOyBsZWZ0OiAtMTAwMDBweDsgdG9wOiAxMHB4IjtsZXQgcj1nZXRTZWxlY3Rpb24oKSxpPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7aS5zZWxlY3ROb2RlQ29udGVudHMoZSksYS5kb20uYmx1cigpLHIucmVtb3ZlQWxsUmFuZ2VzKCksci5hZGRSYW5nZShpKSxzZXRUaW1lb3V0KCgpPT57dC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCksYS5mb2N1cygpfSw1MCl9ZnVuY3Rpb24gWEFhKGEpe3JldHVybiBhLm9wZW5TdGFydD09MCYmYS5vcGVuRW5kPT0wJiZhLmNvbnRlbnQuY2hpbGRDb3VudD09MT9hLmNvbnRlbnQuZmlyc3RDaGlsZDpudWxsfWZ1bmN0aW9uIFFBYShhLGUpe2lmKCFhLmRvbS5wYXJlbnROb2RlKXJldHVybjtsZXQgdD1hLmlucHV0LnNoaWZ0S2V5fHxhLnN0YXRlLnNlbGVjdGlvbi4kZnJvbS5wYXJlbnQudHlwZS5zcGVjLmNvZGUscj1hLmRvbS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodD8idGV4dGFyZWEiOiJkaXYiKSk7dHx8KHIuY29udGVudEVkaXRhYmxlPSJ0cnVlIiksci5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjogZml4ZWQ7IGxlZnQ6IC0xMDAwMHB4OyB0b3A6IDEwcHgiLHIuZm9jdXMoKTtsZXQgaT1hLmlucHV0LnNoaWZ0S2V5JiZhLmlucHV0Lmxhc3RLZXlDb2RlIT00NTtzZXRUaW1lb3V0KCgpPT57YS5mb2N1cygpLHIucGFyZW50Tm9kZSYmci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpLHQ/ZFcoYSxyLnZhbHVlLG51bGwsaSxlKTpkVyhhLHIudGV4dENvbnRlbnQsci5pbm5lckhUTUwsaSxlKX0sNTApfWZ1bmN0aW9uIGRXKGEsZSx0LHIsaSl7bGV0IG89R0tlKGEsZSx0LHIsYS5zdGF0ZS5zZWxlY3Rpb24uJGZyb20pO2lmKGEuc29tZVByb3AoImhhbmRsZVBhc3RlIixkPT5kKGEsaSxvfHxpdC5lbXB0eSkpKXJldHVybiEwO2lmKCFvKXJldHVybiExO2xldCBuPVhBYShvKSxsPW4/YS5zdGF0ZS50ci5yZXBsYWNlU2VsZWN0aW9uV2l0aChuLHIpOmEuc3RhdGUudHIucmVwbGFjZVNlbGVjdGlvbihvKTtyZXR1cm4gYS5kaXNwYXRjaChsLnNjcm9sbEludG9WaWV3KCkuc2V0TWV0YSgicGFzdGUiLCEwKS5zZXRNZXRhKCJ1aUV2ZW50IiwicGFzdGUiKSksITB9ZnVuY3Rpb24gaG5hKGEpe2xldCBlPWEuZ2V0RGF0YSgidGV4dC9wbGFpbiIpfHxhLmdldERhdGEoIlRleHQiKTtpZihlKXJldHVybiBlO2xldCB0PWEuZ2V0RGF0YSgidGV4dC91cmktbGlzdCIpO3JldHVybiB0P3QucmVwbGFjZSgvXHI/XG4vZywiICIpOiIifWZ1bmN0aW9uIG1uYShhLGUpe2xldCB0O3JldHVybiBhLnNvbWVQcm9wKCJkcmFnQ29waWVzIixyPT57dD10fHxyKGUpfSksdCE9bnVsbD8hdDohZVtKQWFdfWZ1bmN0aW9uIGVFYShhLGUsdCl7aWYoIWUuZGF0YVRyYW5zZmVyKXJldHVybjtsZXQgcj1hLnBvc0F0Q29vcmRzKEdhZShlKSk7aWYoIXIpcmV0dXJuO2xldCBpPWEuc3RhdGUuZG9jLnJlc29sdmUoci5wb3MpLG89dCYmdC5zbGljZTtvP2Euc29tZVByb3AoInRyYW5zZm9ybVBhc3RlZCIsdj0+e289dihvLGEsITEpfSk6bz1HS2UoYSxobmEoZS5kYXRhVHJhbnNmZXIpLGNXP251bGw6ZS5kYXRhVHJhbnNmZXIuZ2V0RGF0YSgidGV4dC9odG1sIiksITEsaSk7bGV0IG49ISEodCYmbW5hKGEsZSkpO2lmKGEuc29tZVByb3AoImhhbmRsZURyb3AiLHY9PnYoYSxlLG98fGl0LmVtcHR5LG4pKSl7ZS5wcmV2ZW50RGVmYXVsdCgpO3JldHVybn1pZighbylyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBsPW8/SlUoYS5zdGF0ZS5kb2MsaS5wb3Msbyk6aS5wb3M7bD09bnVsbCYmKGw9aS5wb3MpO2xldCBkPWEuc3RhdGUudHI7aWYobil7bGV0e25vZGU6dn09dDt2P3YucmVwbGFjZShkKTpkLmRlbGV0ZVNlbGVjdGlvbigpfWxldCBjPWQubWFwcGluZy5tYXAobCkscD1vLm9wZW5TdGFydD09MCYmby5vcGVuRW5kPT0wJiZvLmNvbnRlbnQuY2hpbGRDb3VudD09MSx1PWQuZG9jO2lmKHA/ZC5yZXBsYWNlUmFuZ2VXaXRoKGMsYyxvLmNvbnRlbnQuZmlyc3RDaGlsZCk6ZC5yZXBsYWNlUmFuZ2UoYyxjLG8pLGQuZG9jLmVxKHUpKXJldHVybjtsZXQgbT1kLmRvYy5yZXNvbHZlKGMpO2lmKHAmJk10LmlzU2VsZWN0YWJsZShvLmNvbnRlbnQuZmlyc3RDaGlsZCkmJm0ubm9kZUFmdGVyJiZtLm5vZGVBZnRlci5zYW1lTWFya3VwKG8uY29udGVudC5maXJzdENoaWxkKSlkLnNldFNlbGVjdGlvbihuZXcgTXQobSkpO2Vsc2V7bGV0IHY9ZC5tYXBwaW5nLm1hcChsKTtkLm1hcHBpbmcubWFwc1tkLm1hcHBpbmcubWFwcy5sZW5ndGgtMV0uZm9yRWFjaCgoeCxiLGcseSk9PnY9eSksZC5zZXRTZWxlY3Rpb24oVktlKGEsbSxkLmRvYy5yZXNvbHZlKHYpKSl9YS5mb2N1cygpLGEuZGlzcGF0Y2goZC5zZXRNZXRhKCJ1aUV2ZW50IiwiZHJvcCIpKX1mdW5jdGlvbiB1VyhhLGUpe2lmKGE9PWUpcmV0dXJuITA7Zm9yKGxldCB0IGluIGEpaWYoYVt0XSE9PWVbdF0pcmV0dXJuITE7Zm9yKGxldCB0IGluIGUpaWYoISh0IGluIGEpKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIHRFYShhLGUsdCxyLGksbyxuKXtsZXQgbD1hLnNsaWNlKCk7Zm9yKGxldCBjPTAscD1vO2M8dC5tYXBzLmxlbmd0aDtjKyspe2xldCB1PTA7dC5tYXBzW2NdLmZvckVhY2goKG0sdix4LGIpPT57bGV0IGc9Yi14LSh2LW0pO2ZvcihsZXQgeT0wO3k8bC5sZW5ndGg7eSs9Myl7bGV0IGs9bFt5KzFdO2lmKGs8MHx8bT5rK3AtdSljb250aW51ZTtsZXQgQz1sW3ldK3AtdTt2Pj1DP2xbeSsxXT1tPD1DPy0yOi0xOm0+PXAmJmcmJihsW3ldKz1nLGxbeSsxXSs9Zyl9dSs9Z30pLHA9dC5tYXBzW2NdLm1hcChwLC0xKX1sZXQgZD0hMTtmb3IobGV0IGM9MDtjPGwubGVuZ3RoO2MrPTMpaWYobFtjKzFdPDApe2lmKGxbYysxXT09LTIpe2Q9ITAsbFtjKzFdPS0xO2NvbnRpbnVlfWxldCBwPXQubWFwKGFbY10rbyksdT1wLWk7aWYodTwwfHx1Pj1yLmNvbnRlbnQuc2l6ZSl7ZD0hMDtjb250aW51ZX1sZXQgbT10Lm1hcChhW2MrMV0rbywtMSksdj1tLWkse2luZGV4Ongsb2Zmc2V0OmJ9PXIuY29udGVudC5maW5kSW5kZXgodSksZz1yLm1heWJlQ2hpbGQoeCk7aWYoZyYmYj09dSYmYitnLm5vZGVTaXplPT12KXtsZXQgeT1sW2MrMl0ubWFwSW5uZXIodCxnLHArMSxhW2NdK28rMSxuKTt5IT1QaT8obFtjXT11LGxbYysxXT12LGxbYysyXT15KToobFtjKzFdPS0yLGQ9ITApfWVsc2UgZD0hMH1pZihkKXtsZXQgYz1hRWEobCxhLGUsdCxpLG8sbikscD1YYWUoYyxyLDAsbik7ZT1wLmxvY2FsO2ZvcihsZXQgdT0wO3U8bC5sZW5ndGg7dSs9MylsW3UrMV08MCYmKGwuc3BsaWNlKHUsMyksdS09Myk7Zm9yKGxldCB1PTAsbT0wO3U8cC5jaGlsZHJlbi5sZW5ndGg7dSs9Myl7bGV0IHY9cC5jaGlsZHJlblt1XTtmb3IoO208bC5sZW5ndGgmJmxbbV08djspbSs9MztsLnNwbGljZShtLDAscC5jaGlsZHJlblt1XSxwLmNoaWxkcmVuW3UrMV0scC5jaGlsZHJlblt1KzJdKX19cmV0dXJuIG5ldyBaaShlLnNvcnQoczUpLGwpfWZ1bmN0aW9uIGduYShhLGUpe2lmKCFlfHwhYS5sZW5ndGgpcmV0dXJuIGE7bGV0IHQ9W107Zm9yKGxldCByPTA7cjxhLmxlbmd0aDtyKyspe2xldCBpPWFbcl07dC5wdXNoKG5ldyBSMShpLmZyb20rZSxpLnRvK2UsaS50eXBlKSl9cmV0dXJuIHR9ZnVuY3Rpb24gYUVhKGEsZSx0LHIsaSxvLG4pe2Z1bmN0aW9uIGwoZCxjKXtmb3IobGV0IHA9MDtwPGQubG9jYWwubGVuZ3RoO3ArKyl7bGV0IHU9ZC5sb2NhbFtwXS5tYXAocixpLGMpO3U/dC5wdXNoKHUpOm4ub25SZW1vdmUmJm4ub25SZW1vdmUoZC5sb2NhbFtwXS5zcGVjKX1mb3IobGV0IHA9MDtwPGQuY2hpbGRyZW4ubGVuZ3RoO3ArPTMpbChkLmNoaWxkcmVuW3ArMl0sZC5jaGlsZHJlbltwXStjKzEpfXMobCwiZ2F0aGVyIik7Zm9yKGxldCBkPTA7ZDxhLmxlbmd0aDtkKz0zKWFbZCsxXT09LTEmJmwoYVtkKzJdLGVbZF0rbysxKTtyZXR1cm4gdH1mdW5jdGlvbiBibmEoYSxlLHQpe2lmKGUuaXNMZWFmKXJldHVybiBudWxsO2xldCByPXQrZS5ub2RlU2l6ZSxpPW51bGw7Zm9yKGxldCBvPTAsbjtvPGEubGVuZ3RoO28rKykobj1hW29dKSYmbi5mcm9tPnQmJm4udG88ciYmKChpfHwoaT1bXSkpLnB1c2gobiksYVtvXT1udWxsKTtyZXR1cm4gaX1mdW5jdGlvbiB2bmEoYSl7bGV0IGU9W107Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0KyspYVt0XSE9bnVsbCYmZS5wdXNoKGFbdF0pO3JldHVybiBlfWZ1bmN0aW9uIFhhZShhLGUsdCxyKXtsZXQgaT1bXSxvPSExO2UuZm9yRWFjaCgobCxkKT0+e2xldCBjPWJuYShhLGwsZCt0KTtpZihjKXtvPSEwO2xldCBwPVhhZShjLGwsdCtkKzEscik7cCE9UGkmJmkucHVzaChkLGQrbC5ub2RlU2l6ZSxwKX19KTtsZXQgbj1nbmEobz92bmEoYSk6YSwtdCkuc29ydChzNSk7Zm9yKGxldCBsPTA7bDxuLmxlbmd0aDtsKyspbltsXS50eXBlLnZhbGlkKGUsbltsXSl8fChyLm9uUmVtb3ZlJiZyLm9uUmVtb3ZlKG5bbF0uc3BlYyksbi5zcGxpY2UobC0tLDEpKTtyZXR1cm4gbi5sZW5ndGh8fGkubGVuZ3RoP25ldyBaaShuLGkpOlBpfWZ1bmN0aW9uIHM1KGEsZSl7cmV0dXJuIGEuZnJvbS1lLmZyb218fGEudG8tZS50b31mdW5jdGlvbiByWmUoYSl7bGV0IGU9YTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoLTE7dCsrKXtsZXQgcj1lW3RdO2lmKHIuZnJvbSE9ci50bylmb3IobGV0IGk9dCsxO2k8ZS5sZW5ndGg7aSsrKXtsZXQgbz1lW2ldO2lmKG8uZnJvbT09ci5mcm9tKXtvLnRvIT1yLnRvJiYoZT09YSYmKGU9YS5zbGljZSgpKSxlW2ldPW8uY29weShvLmZyb20sci50bykseG5hKGUsaSsxLG8uY29weShyLnRvLG8udG8pKSk7Y29udGludWV9ZWxzZXtvLmZyb208ci50byYmKGU9PWEmJihlPWEuc2xpY2UoKSksZVt0XT1yLmNvcHkoci5mcm9tLG8uZnJvbSkseG5hKGUsaSxyLmNvcHkoby5mcm9tLHIudG8pKSk7YnJlYWt9fX1yZXR1cm4gZX1mdW5jdGlvbiB4bmEoYSxlLHQpe2Zvcig7ZTxhLmxlbmd0aCYmczUodCxhW2VdKT4wOyllKys7YS5zcGxpY2UoZSwwLHQpfWZ1bmN0aW9uIHNaZShhKXtsZXQgZT1bXTtyZXR1cm4gYS5zb21lUHJvcCgiZGVjb3JhdGlvbnMiLHQ9PntsZXQgcj10KGEuc3RhdGUpO3ImJnIhPVBpJiZlLnB1c2gocil9KSxhLmN1cnNvcldyYXBwZXImJmUucHVzaChaaS5jcmVhdGUoYS5zdGF0ZS5kb2MsW2EuY3Vyc29yV3JhcHBlci5kZWNvXSkpLFphZS5mcm9tKGUpfWZ1bmN0aW9uIGlFYShhKXtpZigheW5hLmhhcyhhKSYmKHluYS5zZXQoYSxudWxsKSxbIm5vcm1hbCIsIm5vd3JhcCIsInByZS1saW5lIl0uaW5kZXhPZihnZXRDb21wdXRlZFN0eWxlKGEuZG9tKS53aGl0ZVNwYWNlKSE9PS0xKSl7aWYoYS5yZXF1aXJlc0dlY2tvSGFja05vZGU9UG4sd25hKXJldHVybjtjb25zb2xlLndhcm4oIlByb3NlTWlycm9yIGV4cGVjdHMgdGhlIENTUyB3aGl0ZS1zcGFjZSBwcm9wZXJ0eSB0byBiZSBzZXQsIHByZWZlcmFibHkgdG8gJ3ByZS13cmFwJy4gSXQgaXMgcmVjb21tZW5kZWQgdG8gbG9hZCBzdHlsZS9wcm9zZW1pcnJvci5jc3MgZnJvbSB0aGUgcHJvc2VtaXJyb3ItdmlldyBwYWNrYWdlLiIpLHduYT0hMH19ZnVuY3Rpb24gTW5hKGEsZSl7bGV0IHQ9ZS5zdGFydENvbnRhaW5lcixyPWUuc3RhcnRPZmZzZXQsaT1lLmVuZENvbnRhaW5lcixvPWUuZW5kT2Zmc2V0LG49YS5kb21BdFBvcyhhLnN0YXRlLnNlbGVjdGlvbi5hbmNob3IpO3JldHVybiBYZihuLm5vZGUsbi5vZmZzZXQsaSxvKSYmKFt0LHIsaSxvXT1baSxvLHQscl0pLHthbmNob3JOb2RlOnQsYW5jaG9yT2Zmc2V0OnIsZm9jdXNOb2RlOmksZm9jdXNPZmZzZXQ6b319ZnVuY3Rpb24gb0VhKGEsZSl7aWYoZS5nZXRDb21wb3NlZFJhbmdlcyl7bGV0IGk9ZS5nZXRDb21wb3NlZFJhbmdlcyhhLnJvb3QpWzBdO2lmKGkpcmV0dXJuIE1uYShhLGkpfWxldCB0O2Z1bmN0aW9uIHIoaSl7aS5wcmV2ZW50RGVmYXVsdCgpLGkuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdD1pLmdldFRhcmdldFJhbmdlcygpWzBdfXJldHVybiBzKHIsInJlYWQiKSxhLmRvbS5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVpbnB1dCIsciwhMCksZG9jdW1lbnQuZXhlY0NvbW1hbmQoImluZGVudCIpLGEuZG9tLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJlZm9yZWlucHV0IixyLCEwKSx0P01uYShhLHQpOm51bGx9ZnVuY3Rpb24gbkVhKGEsZSl7Zm9yKGxldCB0PWUucGFyZW50Tm9kZTt0JiZ0IT1hLmRvbTt0PXQucGFyZW50Tm9kZSl7bGV0IHI9YS5kb2NWaWV3Lm5lYXJlc3REZXNjKHQsITApO2lmKHImJnIubm9kZS5pc0Jsb2NrKXJldHVybiB0fXJldHVybiBudWxsfWZ1bmN0aW9uIGxFYShhLGUpe3ZhciB0O2xldHtmb2N1c05vZGU6cixmb2N1c09mZnNldDppfT1hLmRvbVNlbGVjdGlvblJhbmdlKCk7Zm9yKGxldCBvIG9mIGUpaWYoKCh0PW8ucGFyZW50Tm9kZSk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0Lm5vZGVOYW1lKT09IlRSIil7bGV0IG49by5uZXh0U2libGluZztmb3IoO24mJm4ubm9kZU5hbWUhPSJURCImJm4ubm9kZU5hbWUhPSJUSCI7KW49bi5uZXh0U2libGluZztpZihuKXtsZXQgbD1uO2Zvcig7Oyl7bGV0IGQ9bC5maXJzdENoaWxkO2lmKCFkfHxkLm5vZGVUeXBlIT0xfHxkLmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlInx8L14oQlJ8SU1HKSQvLnRlc3QoZC5ub2RlTmFtZSkpYnJlYWs7bD1kfWwuaW5zZXJ0QmVmb3JlKG8sbC5maXJzdENoaWxkKSxyPT1vJiZhLmRvbVNlbGVjdGlvbigpLmNvbGxhcHNlKG8saSl9ZWxzZSBvLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobyl9fWZ1bmN0aW9uIGNFYShhLGUsdCl7bGV0e25vZGU6cixmcm9tT2Zmc2V0OmksdG9PZmZzZXQ6byxmcm9tOm4sdG86bH09YS5kb2NWaWV3LnBhcnNlUmFuZ2UoZSx0KSxkPWEuZG9tU2VsZWN0aW9uUmFuZ2UoKSxjLHA9ZC5hbmNob3JOb2RlO2lmKHAmJmEuZG9tLmNvbnRhaW5zKHAubm9kZVR5cGU9PTE/cDpwLnBhcmVudE5vZGUpJiYoYz1be25vZGU6cCxvZmZzZXQ6ZC5hbmNob3JPZmZzZXR9XSxIYWUoZCl8fGMucHVzaCh7bm9kZTpkLmZvY3VzTm9kZSxvZmZzZXQ6ZC5mb2N1c09mZnNldH0pKSxzaSYmYS5pbnB1dC5sYXN0S2V5Q29kZT09PTgpZm9yKGxldCBnPW87Zz5pO2ctLSl7bGV0IHk9ci5jaGlsZE5vZGVzW2ctMV0saz15LnBtVmlld0Rlc2M7aWYoeS5ub2RlTmFtZT09IkJSIiYmIWspe289ZzticmVha31pZigha3x8ay5zaXplKWJyZWFrfWxldCB1PWEuc3RhdGUuZG9jLG09YS5zb21lUHJvcCgiZG9tUGFyc2VyIil8fE4xLmZyb21TY2hlbWEoYS5zdGF0ZS5zY2hlbWEpLHY9dS5yZXNvbHZlKG4pLHg9bnVsbCxiPW0ucGFyc2Uocix7dG9wTm9kZTp2LnBhcmVudCx0b3BNYXRjaDp2LnBhcmVudC5jb250ZW50TWF0Y2hBdCh2LmluZGV4KCkpLHRvcE9wZW46ITAsZnJvbTppLHRvOm8scHJlc2VydmVXaGl0ZXNwYWNlOnYucGFyZW50LnR5cGUud2hpdGVzcGFjZT09InByZSI/ImZ1bGwiOiEwLGZpbmRQb3NpdGlvbnM6YyxydWxlRnJvbU5vZGU6ZEVhLGNvbnRleHQ6dn0pO2lmKGMmJmNbMF0ucG9zIT1udWxsKXtsZXQgZz1jWzBdLnBvcyx5PWNbMV0mJmNbMV0ucG9zO3k9PW51bGwmJih5PWcpLHg9e2FuY2hvcjpnK24saGVhZDp5K259fXJldHVybntkb2M6YixzZWw6eCxmcm9tOm4sdG86bH19ZnVuY3Rpb24gZEVhKGEpe2xldCBlPWEucG1WaWV3RGVzYztpZihlKXJldHVybiBlLnBhcnNlUnVsZSgpO2lmKGEubm9kZU5hbWU9PSJCUiImJmEucGFyZW50Tm9kZSl7aWYoRWkmJi9eKHVsfG9sKSQvaS50ZXN0KGEucGFyZW50Tm9kZS5ub2RlTmFtZSkpe2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiB0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIikpLHtza2lwOnR9fWVsc2UgaWYoYS5wYXJlbnROb2RlLmxhc3RDaGlsZD09YXx8RWkmJi9eKHRyfHRhYmxlKSQvaS50ZXN0KGEucGFyZW50Tm9kZS5ub2RlTmFtZSkpcmV0dXJue2lnbm9yZTohMH19ZWxzZSBpZihhLm5vZGVOYW1lPT0iSU1HIiYmYS5nZXRBdHRyaWJ1dGUoIm1hcmstcGxhY2Vob2xkZXIiKSlyZXR1cm57aWdub3JlOiEwfTtyZXR1cm4gbnVsbH1mdW5jdGlvbiBwRWEoYSxlLHQscixpKXtsZXQgbz1hLmlucHV0LmNvbXBvc2l0aW9uUGVuZGluZ0NoYW5nZXN8fChhLmNvbXBvc2luZz9hLmlucHV0LmNvbXBvc2l0aW9uSUQ6MCk7aWYoYS5pbnB1dC5jb21wb3NpdGlvblBlbmRpbmdDaGFuZ2VzPTAsZTwwKXtsZXQgTz1hLmlucHV0Lmxhc3RTZWxlY3Rpb25UaW1lPkRhdGUubm93KCktNTA/YS5pbnB1dC5sYXN0U2VsZWN0aW9uT3JpZ2luOm51bGwsVD1IS2UoYSxPKTtpZihUJiYhYS5zdGF0ZS5zZWxlY3Rpb24uZXEoVCkpe2lmKHNpJiZNYyYmYS5pbnB1dC5sYXN0S2V5Q29kZT09PTEzJiZEYXRlLm5vdygpLTEwMDxhLmlucHV0Lmxhc3RLZXlDb2RlVGltZSYmYS5zb21lUHJvcCgiaGFuZGxlS2V5RG93biIsQj0+QihhLFFmKDEzLCJFbnRlciIpKSkpcmV0dXJuO2xldCBFPWEuc3RhdGUudHIuc2V0U2VsZWN0aW9uKFQpO089PSJwb2ludGVyIj9FLnNldE1ldGEoInBvaW50ZXIiLCEwKTpPPT0ia2V5IiYmRS5zY3JvbGxJbnRvVmlldygpLG8mJkUuc2V0TWV0YSgiY29tcG9zaXRpb24iLG8pLGEuZGlzcGF0Y2goRSl9cmV0dXJufWxldCBuPWEuc3RhdGUuZG9jLnJlc29sdmUoZSksbD1uLnNoYXJlZERlcHRoKHQpO2U9bi5iZWZvcmUobCsxKSx0PWEuc3RhdGUuZG9jLnJlc29sdmUodCkuYWZ0ZXIobCsxKTtsZXQgZD1hLnN0YXRlLnNlbGVjdGlvbixjPWNFYShhLGUsdCkscD1hLnN0YXRlLmRvYyx1PXAuc2xpY2UoYy5mcm9tLGMudG8pLG0sdjthLmlucHV0Lmxhc3RLZXlDb2RlPT09OCYmRGF0ZS5ub3coKS0xMDA8YS5pbnB1dC5sYXN0S2V5Q29kZVRpbWU/KG09YS5zdGF0ZS5zZWxlY3Rpb24udG8sdj0iZW5kIik6KG09YS5zdGF0ZS5zZWxlY3Rpb24uZnJvbSx2PSJzdGFydCIpLGEuaW5wdXQubGFzdEtleUNvZGU9bnVsbDtsZXQgeD1tRWEodS5jb250ZW50LGMuZG9jLmNvbnRlbnQsYy5mcm9tLG0sdik7aWYoeCYmYS5pbnB1dC5kb21DaGFuZ2VDb3VudCsrLChfbSYmYS5pbnB1dC5sYXN0SU9TRW50ZXI+RGF0ZS5ub3coKS0yMjV8fE1jKSYmaS5zb21lKE89Pk8ubm9kZVR5cGU9PTEmJiF1RWEudGVzdChPLm5vZGVOYW1lKSkmJigheHx8eC5lbmRBPj14LmVuZEIpJiZhLnNvbWVQcm9wKCJoYW5kbGVLZXlEb3duIixPPT5PKGEsUWYoMTMsIkVudGVyIikpKSl7YS5pbnB1dC5sYXN0SU9TRW50ZXI9MDtyZXR1cm59aWYoIXgpaWYociYmZCBpbnN0YW5jZW9mIFJ0JiYhZC5lbXB0eSYmZC4kaGVhZC5zYW1lUGFyZW50KGQuJGFuY2hvcikmJiFhLmNvbXBvc2luZyYmIShjLnNlbCYmYy5zZWwuYW5jaG9yIT1jLnNlbC5oZWFkKSl4PXtzdGFydDpkLmZyb20sZW5kQTpkLnRvLGVuZEI6ZC50b307ZWxzZXtpZihjLnNlbCl7bGV0IE89a25hKGEsYS5zdGF0ZS5kb2MsYy5zZWwpO2lmKE8mJiFPLmVxKGEuc3RhdGUuc2VsZWN0aW9uKSl7bGV0IFQ9YS5zdGF0ZS50ci5zZXRTZWxlY3Rpb24oTyk7byYmVC5zZXRNZXRhKCJjb21wb3NpdGlvbiIsbyksYS5kaXNwYXRjaChUKX19cmV0dXJufWEuc3RhdGUuc2VsZWN0aW9uLmZyb208YS5zdGF0ZS5zZWxlY3Rpb24udG8mJnguc3RhcnQ9PXguZW5kQiYmYS5zdGF0ZS5zZWxlY3Rpb24gaW5zdGFuY2VvZiBSdCYmKHguc3RhcnQ+YS5zdGF0ZS5zZWxlY3Rpb24uZnJvbSYmeC5zdGFydDw9YS5zdGF0ZS5zZWxlY3Rpb24uZnJvbSsyJiZhLnN0YXRlLnNlbGVjdGlvbi5mcm9tPj1jLmZyb20/eC5zdGFydD1hLnN0YXRlLnNlbGVjdGlvbi5mcm9tOnguZW5kQTxhLnN0YXRlLnNlbGVjdGlvbi50byYmeC5lbmRBPj1hLnN0YXRlLnNlbGVjdGlvbi50by0yJiZhLnN0YXRlLnNlbGVjdGlvbi50bzw9Yy50byYmKHguZW5kQis9YS5zdGF0ZS5zZWxlY3Rpb24udG8teC5lbmRBLHguZW5kQT1hLnN0YXRlLnNlbGVjdGlvbi50bykpLEVvJiZ5NDw9MTEmJnguZW5kQj09eC5zdGFydCsxJiZ4LmVuZEE9PXguc3RhcnQmJnguc3RhcnQ+Yy5mcm9tJiZjLmRvYy50ZXh0QmV0d2Vlbih4LnN0YXJ0LWMuZnJvbS0xLHguc3RhcnQtYy5mcm9tKzEpPT0iIFx4QTAiJiYoeC5zdGFydC0tLHguZW5kQS0tLHguZW5kQi0tKTtsZXQgYj1jLmRvYy5yZXNvbHZlTm9DYWNoZSh4LnN0YXJ0LWMuZnJvbSksZz1jLmRvYy5yZXNvbHZlTm9DYWNoZSh4LmVuZEItYy5mcm9tKSx5PXAucmVzb2x2ZSh4LnN0YXJ0KSxrPWIuc2FtZVBhcmVudChnKSYmYi5wYXJlbnQuaW5saW5lQ29udGVudCYmeS5lbmQoKT49eC5lbmRBO2lmKChfbSYmYS5pbnB1dC5sYXN0SU9TRW50ZXI+RGF0ZS5ub3coKS0yMjUmJigha3x8aS5zb21lKE89Pk8ubm9kZU5hbWU9PSJESVYifHxPLm5vZGVOYW1lPT0iUCIpKXx8IWsmJmIucG9zPGMuZG9jLmNvbnRlbnQuc2l6ZSYmKCFiLnNhbWVQYXJlbnQoZyl8fCFiLnBhcmVudC5pbmxpbmVDb250ZW50KSYmYi5wb3M8Zy5wb3MmJiEvXFMvLnRlc3QoYy5kb2MudGV4dEJldHdlZW4oYi5wb3MsZy5wb3MsIiIsIiIpKSkmJmEuc29tZVByb3AoImhhbmRsZUtleURvd24iLE89Pk8oYSxRZigxMywiRW50ZXIiKSkpKXthLmlucHV0Lmxhc3RJT1NFbnRlcj0wO3JldHVybn1pZihhLnN0YXRlLnNlbGVjdGlvbi5hbmNob3I+eC5zdGFydCYmaEVhKHAseC5zdGFydCx4LmVuZEEsYixnKSYmYS5zb21lUHJvcCgiaGFuZGxlS2V5RG93biIsTz0+TyhhLFFmKDgsIkJhY2tzcGFjZSIpKSkpe01jJiZzaSYmYS5kb21PYnNlcnZlci5zdXBwcmVzc1NlbGVjdGlvblVwZGF0ZXMoKTtyZXR1cm59c2kmJnguZW5kQj09eC5zdGFydCYmKGEuaW5wdXQubGFzdENocm9tZURlbGV0ZT1EYXRlLm5vdygpKSxNYyYmIWsmJmIuc3RhcnQoKSE9Zy5zdGFydCgpJiZnLnBhcmVudE9mZnNldD09MCYmYi5kZXB0aD09Zy5kZXB0aCYmYy5zZWwmJmMuc2VsLmFuY2hvcj09Yy5zZWwuaGVhZCYmYy5zZWwuaGVhZD09eC5lbmRBJiYoeC5lbmRCLT0yLGc9Yy5kb2MucmVzb2x2ZU5vQ2FjaGUoeC5lbmRCLWMuZnJvbSksc2V0VGltZW91dCgoKT0+e2Euc29tZVByb3AoImhhbmRsZUtleURvd24iLGZ1bmN0aW9uKE8pe3JldHVybiBPKGEsUWYoMTMsIkVudGVyIikpfSl9LDIwKSk7bGV0IEM9eC5zdGFydCxOPXguZW5kQSxfPXMoTz0+e2xldCBUPU98fGEuc3RhdGUudHIucmVwbGFjZShDLE4sYy5kb2Muc2xpY2UoeC5zdGFydC1jLmZyb20seC5lbmRCLWMuZnJvbSkpO2lmKGMuc2VsKXtsZXQgRT1rbmEoYSxULmRvYyxjLnNlbCk7RSYmIShzaSYmYS5jb21wb3NpbmcmJkUuZW1wdHkmJih4LnN0YXJ0IT14LmVuZEJ8fGEuaW5wdXQubGFzdENocm9tZURlbGV0ZTxEYXRlLm5vdygpLTEwMCkmJihFLmhlYWQ9PUN8fEUuaGVhZD09VC5tYXBwaW5nLm1hcChOKS0xKXx8RW8mJkUuZW1wdHkmJkUuaGVhZD09QykmJlQuc2V0U2VsZWN0aW9uKEUpfXJldHVybiBvJiZULnNldE1ldGEoImNvbXBvc2l0aW9uIixvKSxULnNjcm9sbEludG9WaWV3KCl9LCJta1RyIiksejtpZihrKWlmKGIucG9zPT1nLnBvcyl7RW8mJnk0PD0xMSYmYi5wYXJlbnRPZmZzZXQ9PTAmJihhLmRvbU9ic2VydmVyLnN1cHByZXNzU2VsZWN0aW9uVXBkYXRlcygpLHNldFRpbWVvdXQoKCk9PlNjKGEpLDIwKSk7bGV0IE89XyhhLnN0YXRlLnRyLmRlbGV0ZShDLE4pKSxUPXAucmVzb2x2ZSh4LnN0YXJ0KS5tYXJrc0Fjcm9zcyhwLnJlc29sdmUoeC5lbmRBKSk7VCYmTy5lbnN1cmVNYXJrcyhUKSxhLmRpc3BhdGNoKE8pfWVsc2UgaWYoeC5lbmRBPT14LmVuZEImJih6PWZFYShiLnBhcmVudC5jb250ZW50LmN1dChiLnBhcmVudE9mZnNldCxnLnBhcmVudE9mZnNldCkseS5wYXJlbnQuY29udGVudC5jdXQoeS5wYXJlbnRPZmZzZXQseC5lbmRBLXkuc3RhcnQoKSkpKSl7bGV0IE89XyhhLnN0YXRlLnRyKTt6LnR5cGU9PSJhZGQiP08uYWRkTWFyayhDLE4sei5tYXJrKTpPLnJlbW92ZU1hcmsoQyxOLHoubWFyayksYS5kaXNwYXRjaChPKX1lbHNlIGlmKGIucGFyZW50LmNoaWxkKGIuaW5kZXgoKSkuaXNUZXh0JiZiLmluZGV4KCk9PWcuaW5kZXgoKS0oZy50ZXh0T2Zmc2V0PzA6MSkpe2xldCBPPWIucGFyZW50LnRleHRCZXR3ZWVuKGIucGFyZW50T2Zmc2V0LGcucGFyZW50T2Zmc2V0KSxUPXMoKCk9Pl8oYS5zdGF0ZS50ci5pbnNlcnRUZXh0KE8sQyxOKSksImRlZmx0Iik7YS5zb21lUHJvcCgiaGFuZGxlVGV4dElucHV0IixFPT5FKGEsQyxOLE8sVCkpfHxhLmRpc3BhdGNoKFQoKSl9ZWxzZSBhLmRpc3BhdGNoKF8oKSk7ZWxzZSBhLmRpc3BhdGNoKF8oKSl9ZnVuY3Rpb24ga25hKGEsZSx0KXtyZXR1cm4gTWF0aC5tYXgodC5hbmNob3IsdC5oZWFkKT5lLmNvbnRlbnQuc2l6ZT9udWxsOlZLZShhLGUucmVzb2x2ZSh0LmFuY2hvciksZS5yZXNvbHZlKHQuaGVhZCkpfWZ1bmN0aW9uIGZFYShhLGUpe2xldCB0PWEuZmlyc3RDaGlsZC5tYXJrcyxyPWUuZmlyc3RDaGlsZC5tYXJrcyxpPXQsbz1yLG4sbCxkO2ZvcihsZXQgcD0wO3A8ci5sZW5ndGg7cCsrKWk9cltwXS5yZW1vdmVGcm9tU2V0KGkpO2ZvcihsZXQgcD0wO3A8dC5sZW5ndGg7cCsrKW89dFtwXS5yZW1vdmVGcm9tU2V0KG8pO2lmKGkubGVuZ3RoPT0xJiZvLmxlbmd0aD09MClsPWlbMF0sbj0iYWRkIixkPXMocD0+cC5tYXJrKGwuYWRkVG9TZXQocC5tYXJrcykpLCJ1cGRhdGUiKTtlbHNlIGlmKGkubGVuZ3RoPT0wJiZvLmxlbmd0aD09MSlsPW9bMF0sbj0icmVtb3ZlIixkPXMocD0+cC5tYXJrKGwucmVtb3ZlRnJvbVNldChwLm1hcmtzKSksInVwZGF0ZSIpO2Vsc2UgcmV0dXJuIG51bGw7bGV0IGM9W107Zm9yKGxldCBwPTA7cDxlLmNoaWxkQ291bnQ7cCsrKWMucHVzaChkKGUuY2hpbGQocCkpKTtpZihWZS5mcm9tKGMpLmVxKGEpKXJldHVybnttYXJrOmwsdHlwZTpufX1mdW5jdGlvbiBoRWEoYSxlLHQscixpKXtpZih0LWU8PWkucG9zLXIucG9zfHxuWmUociwhMCwhMSk8aS5wb3MpcmV0dXJuITE7bGV0IG89YS5yZXNvbHZlKGUpO2lmKCFyLnBhcmVudC5pc1RleHRibG9jayl7bGV0IGw9by5ub2RlQWZ0ZXI7cmV0dXJuIGwhPW51bGwmJnQ9PWUrbC5ub2RlU2l6ZX1pZihvLnBhcmVudE9mZnNldDxvLnBhcmVudC5jb250ZW50LnNpemV8fCFvLnBhcmVudC5pc1RleHRibG9jaylyZXR1cm4hMTtsZXQgbj1hLnJlc29sdmUoblplKG8sITAsITApKTtyZXR1cm4hbi5wYXJlbnQuaXNUZXh0YmxvY2t8fG4ucG9zPnR8fG5aZShuLCEwLCExKTx0PyExOnIucGFyZW50LmNvbnRlbnQuY3V0KHIucGFyZW50T2Zmc2V0KS5lcShuLnBhcmVudC5jb250ZW50KX1mdW5jdGlvbiBuWmUoYSxlLHQpe2xldCByPWEuZGVwdGgsaT1lP2EuZW5kKCk6YS5wb3M7Zm9yKDtyPjAmJihlfHxhLmluZGV4QWZ0ZXIocik9PWEubm9kZShyKS5jaGlsZENvdW50KTspci0tLGkrKyxlPSExO2lmKHQpe2xldCBvPWEubm9kZShyKS5tYXliZUNoaWxkKGEuaW5kZXhBZnRlcihyKSk7Zm9yKDtvJiYhby5pc0xlYWY7KW89by5maXJzdENoaWxkLGkrK31yZXR1cm4gaX1mdW5jdGlvbiBtRWEoYSxlLHQscixpKXtsZXQgbz1hLmZpbmREaWZmU3RhcnQoZSx0KTtpZihvPT1udWxsKXJldHVybiBudWxsO2xldHthOm4sYjpsfT1hLmZpbmREaWZmRW5kKGUsdCthLnNpemUsdCtlLnNpemUpO2lmKGk9PSJlbmQiKXtsZXQgZD1NYXRoLm1heCgwLG8tTWF0aC5taW4obixsKSk7ci09bitkLW99aWYobjxvJiZhLnNpemU8ZS5zaXplKXtsZXQgZD1yPD1vJiZyPj1uP28tcjowO28tPWQsbyYmbzxlLnNpemUmJlNuYShlLnRleHRCZXR3ZWVuKG8tMSxvKzEpKSYmKG8rPWQ/MTotMSksbD1vKyhsLW4pLG49b31lbHNlIGlmKGw8byl7bGV0IGQ9cjw9byYmcj49bD9vLXI6MDtvLT1kLG8mJm88YS5zaXplJiZTbmEoYS50ZXh0QmV0d2VlbihvLTEsbysxKSkmJihvKz1kPzE6LTEpLG49bysobi1sKSxsPW99cmV0dXJue3N0YXJ0Om8sZW5kQTpuLGVuZEI6bH19ZnVuY3Rpb24gU25hKGEpe2lmKGEubGVuZ3RoIT0yKXJldHVybiExO2xldCBlPWEuY2hhckNvZGVBdCgwKSx0PWEuY2hhckNvZGVBdCgxKTtyZXR1cm4gZT49NTYzMjAmJmU8PTU3MzQzJiZ0Pj01NTI5NiYmdDw9NTYzMTl9ZnVuY3Rpb24gem5hKGEpe2xldCBlPU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIGUuY2xhc3M9IlByb3NlTWlycm9yIixlLmNvbnRlbnRlZGl0YWJsZT1TdHJpbmcoYS5lZGl0YWJsZSksYS5zb21lUHJvcCgiYXR0cmlidXRlcyIsdD0+e2lmKHR5cGVvZiB0PT0iZnVuY3Rpb24iJiYodD10KGEuc3RhdGUpKSx0KWZvcihsZXQgciBpbiB0KXI9PSJjbGFzcyI/ZS5jbGFzcys9IiAiK3Rbcl06cj09InN0eWxlIj9lLnN0eWxlPShlLnN0eWxlP2Uuc3R5bGUrIjsiOiIiKSt0W3JdOiFlW3JdJiZyIT0iY29udGVudGVkaXRhYmxlIiYmciE9Im5vZGVOYW1lIiYmKGVbcl09U3RyaW5nKHRbcl0pKX0pLGUudHJhbnNsYXRlfHwoZS50cmFuc2xhdGU9Im5vIiksW1IxLm5vZGUoMCxhLnN0YXRlLmRvYy5jb250ZW50LnNpemUsZSldfWZ1bmN0aW9uIENuYShhKXtpZihhLm1hcmtDdXJzb3Ipe2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpO2UuY2xhc3NOYW1lPSJQcm9zZU1pcnJvci1zZXBhcmF0b3IiLGUuc2V0QXR0cmlidXRlKCJtYXJrLXBsYWNlaG9sZGVyIiwidHJ1ZSIpLGUuc2V0QXR0cmlidXRlKCJhbHQiLCIiKSxhLmN1cnNvcldyYXBwZXI9e2RvbTplLGRlY286UjEud2lkZ2V0KGEuc3RhdGUuc2VsZWN0aW9uLmZyb20sZSx7cmF3OiEwLG1hcmtzOmEubWFya0N1cnNvcn0pfX1lbHNlIGEuY3Vyc29yV3JhcHBlcj1udWxsfWZ1bmN0aW9uIF9uYShhKXtyZXR1cm4hYS5zb21lUHJvcCgiZWRpdGFibGUiLGU9PmUoYS5zdGF0ZSk9PT0hMSl9ZnVuY3Rpb24gdkVhKGEsZSl7bGV0IHQ9TWF0aC5taW4oYS4kYW5jaG9yLnNoYXJlZERlcHRoKGEuaGVhZCksZS4kYW5jaG9yLnNoYXJlZERlcHRoKGUuaGVhZCkpO3JldHVybiBhLiRhbmNob3Iuc3RhcnQodCkhPWUuJGFuY2hvci5zdGFydCh0KX1mdW5jdGlvbiBUbmEoYSl7bGV0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTtmdW5jdGlvbiB0KHIpe2ZvcihsZXQgaSBpbiByKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGkpfHwoZVtpXT1yW2ldKX1yZXR1cm4gcyh0LCJhZGQiKSxhLnNvbWVQcm9wKCJub2RlVmlld3MiLHQpLGEuc29tZVByb3AoIm1hcmtWaWV3cyIsdCksZX1mdW5jdGlvbiB4RWEoYSxlKXtsZXQgdD0wLHI9MDtmb3IobGV0IGkgaW4gYSl7aWYoYVtpXSE9ZVtpXSlyZXR1cm4hMDt0Kyt9Zm9yKGxldCBpIGluIGUpcisrO3JldHVybiB0IT1yfWZ1bmN0aW9uIExuYShhKXtpZihhLnNwZWMuc3RhdGV8fGEuc3BlYy5maWx0ZXJUcmFuc2FjdGlvbnx8YS5zcGVjLmFwcGVuZFRyYW5zYWN0aW9uKXRocm93IG5ldyBSYW5nZUVycm9yKCJQbHVnaW5zIHBhc3NlZCBkaXJlY3RseSB0byB0aGUgdmlldyBtdXN0IG5vdCBoYXZlIGEgc3RhdGUgY29tcG9uZW50Iil9dmFyIHJpLENtLCRLZSx3YyxWRGEsWGYsakRhLEhhZSxYMixNb2EseDQsREtlLGtvYSxBS2UsRW8seTQsUG4sRUtlLHNpLFNvYSxFaSxfbSxJbix6b2EsTWMsc1csWkRhLFRtLG5BYSxjQWEsUG9hLElvYSxOb2EsTm4sUm9hLEpmLFEyLGU1LHFhZSxOS2UsTG0sTTQsVmFlLGphZSxSS2Usb1csdDUsRktlLGpvYSxUQWEsbm5hLGxuYSxLS2UsWWksS2ksUEFhLFpLZSxkbmEsdFplLFdBYSxjVyxZYWUsSkFhLEthZSxhNSxhWmUsUjEsQW0scjUsWmksUGksWmFlLHJFYSxzRWEsaVplLG9aZSx5bmEsd25hLHVFYSxnRWEsYkVhLEVtLGxaZT1mKCgpPT57eWMoKTtnNCgpO3Y0KCk7cmk9cyhmdW5jdGlvbihhKXtmb3IodmFyIGU9MDs7ZSsrKWlmKGE9YS5wcmV2aW91c1NpYmxpbmcsIWEpcmV0dXJuIGV9LCJkb21JbmRleCIpLENtPXMoZnVuY3Rpb24oYSl7bGV0IGU9YS5hc3NpZ25lZFNsb3R8fGEucGFyZW50Tm9kZTtyZXR1cm4gZSYmZS5ub2RlVHlwZT09MTE/ZS5ob3N0OmV9LCJwYXJlbnROb2RlIiksJEtlPW51bGwsd2M9cyhmdW5jdGlvbihhLGUsdCl7bGV0IHI9JEtlfHwoJEtlPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCkpO3JldHVybiByLnNldEVuZChhLHQ/P2Eubm9kZVZhbHVlLmxlbmd0aCksci5zZXRTdGFydChhLGV8fDApLHJ9LCJ0ZXh0UmFuZ2UiKSxWRGE9cyhmdW5jdGlvbigpeyRLZT1udWxsfSwiY2xlYXJSZXVzZWRSYW5nZSIpLFhmPXMoZnVuY3Rpb24oYSxlLHQscil7cmV0dXJuIHQmJih3b2EoYSxlLHQsciwtMSl8fHdvYShhLGUsdCxyLDEpKX0sImlzRXF1aXZhbGVudFBvc2l0aW9uIiksakRhPS9eKGltZ3xicnxpbnB1dHx0ZXh0YXJlYXxocikkL2k7cyh3b2EsInNjYW5Gb3IiKTtzKEVuLCJub2RlU2l6ZSIpO3MoVURhLCJ0ZXh0Tm9kZUJlZm9yZSQxIik7cyhXRGEsInRleHROb2RlQWZ0ZXIkMSIpO3MoR0RhLCJpc09uRWRnZSIpO3MoclcsImhhc0Jsb2NrRGVzYyIpO0hhZT1zKGZ1bmN0aW9uKGEpe3JldHVybiBhLmZvY3VzTm9kZSYmWGYoYS5mb2N1c05vZGUsYS5mb2N1c09mZnNldCxhLmFuY2hvck5vZGUsYS5hbmNob3JPZmZzZXQpfSwic2VsZWN0aW9uQ29sbGFwc2VkIik7cyhRZiwia2V5RXZlbnQiKTtzKFlEYSwiZGVlcEFjdGl2ZUVsZW1lbnQiKTtzKEtEYSwiY2FyZXRGcm9tUG9pbnQiKTtYMj10eXBlb2YgbmF2aWdhdG9yPCJ1Ij9uYXZpZ2F0b3I6bnVsbCxNb2E9dHlwZW9mIGRvY3VtZW50PCJ1Ij9kb2N1bWVudDpudWxsLHg0PVgyJiZYMi51c2VyQWdlbnR8fCIiLERLZT0vRWRnZVwvKFxkKykvLmV4ZWMoeDQpLGtvYT0vTVNJRSBcZC8uZXhlYyh4NCksQUtlPS9UcmlkZW50XC8oPzpbNy05XXxcZHsyLH0pXC4uKnJ2OihcZCspLy5leGVjKHg0KSxFbz0hIShrb2F8fEFLZXx8REtlKSx5ND1rb2E/ZG9jdW1lbnQuZG9jdW1lbnRNb2RlOkFLZT8rQUtlWzFdOkRLZT8rREtlWzFdOjAsUG49IUVvJiYvZ2Vja29cLyhcZCspL2kudGVzdCh4NCk7UG4mJisoL0ZpcmVmb3hcLyhcZCspLy5leGVjKHg0KXx8WzAsMF0pWzFdO0VLZT0hRW8mJi9DaHJvbWVcLyhcZCspLy5leGVjKHg0KSxzaT0hIUVLZSxTb2E9RUtlPytFS2VbMV06MCxFaT0hRW8mJiEhWDImJi9BcHBsZSBDb21wdXRlci8udGVzdChYMi52ZW5kb3IpLF9tPUVpJiYoL01vYmlsZVwvXHcrLy50ZXN0KHg0KXx8ISFYMiYmWDIubWF4VG91Y2hQb2ludHM+MiksSW49X218fChYMj8vTWFjLy50ZXN0KFgyLnBsYXRmb3JtKTohMSksem9hPVgyPy9XaW4vLnRlc3QoWDIucGxhdGZvcm0pOiExLE1jPS9BbmRyb2lkIFxkLy50ZXN0KHg0KSxzVz0hIU1vYSYmIndlYmtpdEZvbnRTbW9vdGhpbmciaW4gTW9hLmRvY3VtZW50RWxlbWVudC5zdHlsZSxaRGE9c1c/KygvXGJBcHBsZVdlYktpdFwvKFxkKykvLmV4ZWMobmF2aWdhdG9yLnVzZXJBZ2VudCl8fFswLDBdKVsxXTowO3MoWERhLCJ3aW5kb3dSZWN0Iik7cyhrYywiZ2V0U2lkZSIpO3MoUURhLCJjbGllbnRSZWN0Iik7cyhDb2EsInNjcm9sbFJlY3RJbnRvVmlldyIpO3MoSkRhLCJzdG9yZVNjcm9sbFBvcyIpO3MoX29hLCJzY3JvbGxTdGFjayIpO3MoZUFhLCJyZXNldFNjcm9sbFBvcyIpO3MoVG9hLCJyZXN0b3JlU2Nyb2xsU3RhY2siKTtUbT1udWxsO3ModEFhLCJmb2N1c1ByZXZlbnRTY3JvbGwiKTtzKExvYSwiZmluZE9mZnNldEluTm9kZSIpO3MoYUFhLCJmaW5kT2Zmc2V0SW5UZXh0Iik7cyhQS2UsImluUmVjdCIpO3MockFhLCJ0YXJnZXRLbHVkZ2UiKTtzKHNBYSwicG9zRnJvbUVsZW1lbnQiKTtzKGlBYSwicG9zRnJvbUNhcmV0Iik7cygkb2EsImVsZW1lbnRGcm9tUG9pbnQiKTtzKG9BYSwicG9zQXRDb29yZHMiKTtzKERvYSwibm9uWmVybyIpO3ModzQsInNpbmdsZVJlY3QiKTtuQWE9L1tcdTA1OTAtXHUwNWY0XHUwNjAwLVx1MDZmZlx1MDcwMC1cdTA4YWNdLztzKEFvYSwiY29vcmRzQXRQb3MiKTtzKGlXLCJmbGF0dGVuViIpO3MoSUtlLCJmbGF0dGVuSCIpO3MoRW9hLCJ3aXRoRmx1c2hlZFN0YXRlIik7cyhsQWEsImVuZE9mVGV4dGJsb2NrVmVydGljYWwiKTtjQWE9L1tcdTA1OTAtXHUwOGFjXS87cyhkQWEsImVuZE9mVGV4dGJsb2NrSG9yaXpvbnRhbCIpO1BvYT1udWxsLElvYT1udWxsLE5vYT0hMTtzKHVBYSwiZW5kT2ZUZXh0YmxvY2siKTtObj0wLFJvYT0xLEpmPTIsUTI9MyxlNT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJWaWV3RGVzYyIpfWNvbnN0cnVjdG9yKGUsdCxyLGkpe3RoaXMucGFyZW50PWUsdGhpcy5jaGlsZHJlbj10LHRoaXMuZG9tPXIsdGhpcy5jb250ZW50RE9NPWksdGhpcy5kaXJ0eT1ObixyLnBtVmlld0Rlc2M9dGhpc31tYXRjaGVzV2lkZ2V0KGUpe3JldHVybiExfW1hdGNoZXNNYXJrKGUpe3JldHVybiExfW1hdGNoZXNOb2RlKGUsdCxyKXtyZXR1cm4hMX1tYXRjaGVzSGFjayhlKXtyZXR1cm4hMX1wYXJzZVJ1bGUoKXtyZXR1cm4gbnVsbH1zdG9wRXZlbnQoZSl7cmV0dXJuITF9Z2V0IHNpemUoKXtsZXQgZT0wO2ZvcihsZXQgdD0wO3Q8dGhpcy5jaGlsZHJlbi5sZW5ndGg7dCsrKWUrPXRoaXMuY2hpbGRyZW5bdF0uc2l6ZTtyZXR1cm4gZX1nZXQgYm9yZGVyKCl7cmV0dXJuIDB9ZGVzdHJveSgpe3RoaXMucGFyZW50PXZvaWQgMCx0aGlzLmRvbS5wbVZpZXdEZXNjPT10aGlzJiYodGhpcy5kb20ucG1WaWV3RGVzYz12b2lkIDApO2ZvcihsZXQgZT0wO2U8dGhpcy5jaGlsZHJlbi5sZW5ndGg7ZSsrKXRoaXMuY2hpbGRyZW5bZV0uZGVzdHJveSgpfXBvc0JlZm9yZUNoaWxkKGUpe2ZvcihsZXQgdD0wLHI9dGhpcy5wb3NBdFN0YXJ0Ozt0Kyspe2xldCBpPXRoaXMuY2hpbGRyZW5bdF07aWYoaT09ZSlyZXR1cm4gcjtyKz1pLnNpemV9fWdldCBwb3NCZWZvcmUoKXtyZXR1cm4gdGhpcy5wYXJlbnQucG9zQmVmb3JlQ2hpbGQodGhpcyl9Z2V0IHBvc0F0U3RhcnQoKXtyZXR1cm4gdGhpcy5wYXJlbnQ/dGhpcy5wYXJlbnQucG9zQmVmb3JlQ2hpbGQodGhpcykrdGhpcy5ib3JkZXI6MH1nZXQgcG9zQWZ0ZXIoKXtyZXR1cm4gdGhpcy5wb3NCZWZvcmUrdGhpcy5zaXplfWdldCBwb3NBdEVuZCgpe3JldHVybiB0aGlzLnBvc0F0U3RhcnQrdGhpcy5zaXplLTIqdGhpcy5ib3JkZXJ9bG9jYWxQb3NGcm9tRE9NKGUsdCxyKXtpZih0aGlzLmNvbnRlbnRET00mJnRoaXMuY29udGVudERPTS5jb250YWlucyhlLm5vZGVUeXBlPT0xP2U6ZS5wYXJlbnROb2RlKSlpZihyPDApe2xldCBvLG47aWYoZT09dGhpcy5jb250ZW50RE9NKW89ZS5jaGlsZE5vZGVzW3QtMV07ZWxzZXtmb3IoO2UucGFyZW50Tm9kZSE9dGhpcy5jb250ZW50RE9NOyllPWUucGFyZW50Tm9kZTtvPWUucHJldmlvdXNTaWJsaW5nfWZvcig7byYmISgobj1vLnBtVmlld0Rlc2MpJiZuLnBhcmVudD09dGhpcyk7KW89by5wcmV2aW91c1NpYmxpbmc7cmV0dXJuIG8/dGhpcy5wb3NCZWZvcmVDaGlsZChuKStuLnNpemU6dGhpcy5wb3NBdFN0YXJ0fWVsc2V7bGV0IG8sbjtpZihlPT10aGlzLmNvbnRlbnRET00pbz1lLmNoaWxkTm9kZXNbdF07ZWxzZXtmb3IoO2UucGFyZW50Tm9kZSE9dGhpcy5jb250ZW50RE9NOyllPWUucGFyZW50Tm9kZTtvPWUubmV4dFNpYmxpbmd9Zm9yKDtvJiYhKChuPW8ucG1WaWV3RGVzYykmJm4ucGFyZW50PT10aGlzKTspbz1vLm5leHRTaWJsaW5nO3JldHVybiBvP3RoaXMucG9zQmVmb3JlQ2hpbGQobik6dGhpcy5wb3NBdEVuZH1sZXQgaTtpZihlPT10aGlzLmRvbSYmdGhpcy5jb250ZW50RE9NKWk9dD5yaSh0aGlzLmNvbnRlbnRET00pO2Vsc2UgaWYodGhpcy5jb250ZW50RE9NJiZ0aGlzLmNvbnRlbnRET00hPXRoaXMuZG9tJiZ0aGlzLmRvbS5jb250YWlucyh0aGlzLmNvbnRlbnRET00pKWk9ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0aGlzLmNvbnRlbnRET00pJjI7ZWxzZSBpZih0aGlzLmRvbS5maXJzdENoaWxkKXtpZih0PT0wKWZvcihsZXQgbz1lOztvPW8ucGFyZW50Tm9kZSl7aWYobz09dGhpcy5kb20pe2k9ITE7YnJlYWt9aWYoby5wcmV2aW91c1NpYmxpbmcpYnJlYWt9aWYoaT09bnVsbCYmdD09ZS5jaGlsZE5vZGVzLmxlbmd0aClmb3IobGV0IG89ZTs7bz1vLnBhcmVudE5vZGUpe2lmKG89PXRoaXMuZG9tKXtpPSEwO2JyZWFrfWlmKG8ubmV4dFNpYmxpbmcpYnJlYWt9fXJldHVybiBpPz9yPjA/dGhpcy5wb3NBdEVuZDp0aGlzLnBvc0F0U3RhcnR9bmVhcmVzdERlc2MoZSx0PSExKXtmb3IobGV0IHI9ITAsaT1lO2k7aT1pLnBhcmVudE5vZGUpe2xldCBvPXRoaXMuZ2V0RGVzYyhpKSxuO2lmKG8mJighdHx8by5ub2RlKSlpZihyJiYobj1vLm5vZGVET00pJiYhKG4ubm9kZVR5cGU9PTE/bi5jb250YWlucyhlLm5vZGVUeXBlPT0xP2U6ZS5wYXJlbnROb2RlKTpuPT1lKSlyPSExO2Vsc2UgcmV0dXJuIG99fWdldERlc2MoZSl7bGV0IHQ9ZS5wbVZpZXdEZXNjO2ZvcihsZXQgcj10O3I7cj1yLnBhcmVudClpZihyPT10aGlzKXJldHVybiB0fXBvc0Zyb21ET00oZSx0LHIpe2ZvcihsZXQgaT1lO2k7aT1pLnBhcmVudE5vZGUpe2xldCBvPXRoaXMuZ2V0RGVzYyhpKTtpZihvKXJldHVybiBvLmxvY2FsUG9zRnJvbURPTShlLHQscil9cmV0dXJuLTF9ZGVzY0F0KGUpe2ZvcihsZXQgdD0wLHI9MDt0PHRoaXMuY2hpbGRyZW4ubGVuZ3RoO3QrKyl7bGV0IGk9dGhpcy5jaGlsZHJlblt0XSxvPXIraS5zaXplO2lmKHI9PWUmJm8hPXIpe2Zvcig7IWkuYm9yZGVyJiZpLmNoaWxkcmVuLmxlbmd0aDspZm9yKGxldCBuPTA7bjxpLmNoaWxkcmVuLmxlbmd0aDtuKyspe2xldCBsPWkuY2hpbGRyZW5bbl07aWYobC5zaXplKXtpPWw7YnJlYWt9fXJldHVybiBpfWlmKGU8bylyZXR1cm4gaS5kZXNjQXQoZS1yLWkuYm9yZGVyKTtyPW99fWRvbUZyb21Qb3MoZSx0KXtpZighdGhpcy5jb250ZW50RE9NKXJldHVybntub2RlOnRoaXMuZG9tLG9mZnNldDowLGF0b206ZSsxfTtsZXQgcj0wLGk9MDtmb3IobGV0IG89MDtyPHRoaXMuY2hpbGRyZW4ubGVuZ3RoO3IrKyl7bGV0IG49dGhpcy5jaGlsZHJlbltyXSxsPW8rbi5zaXplO2lmKGw+ZXx8biBpbnN0YW5jZW9mIGphZSl7aT1lLW87YnJlYWt9bz1sfWlmKGkpcmV0dXJuIHRoaXMuY2hpbGRyZW5bcl0uZG9tRnJvbVBvcyhpLXRoaXMuY2hpbGRyZW5bcl0uYm9yZGVyLHQpO2ZvcihsZXQgbztyJiYhKG89dGhpcy5jaGlsZHJlbltyLTFdKS5zaXplJiZvIGluc3RhbmNlb2YgcWFlJiZvLnNpZGU+PTA7ci0tKTtpZih0PD0wKXtsZXQgbyxuPSEwO2Zvcig7bz1yP3RoaXMuY2hpbGRyZW5bci0xXTpudWxsLCEoIW98fG8uZG9tLnBhcmVudE5vZGU9PXRoaXMuY29udGVudERPTSk7ci0tLG49ITEpO3JldHVybiBvJiZ0JiZuJiYhby5ib3JkZXImJiFvLmRvbUF0b20/by5kb21Gcm9tUG9zKG8uc2l6ZSx0KTp7bm9kZTp0aGlzLmNvbnRlbnRET00sb2Zmc2V0Om8/cmkoby5kb20pKzE6MH19ZWxzZXtsZXQgbyxuPSEwO2Zvcig7bz1yPHRoaXMuY2hpbGRyZW4ubGVuZ3RoP3RoaXMuY2hpbGRyZW5bcl06bnVsbCwhKCFvfHxvLmRvbS5wYXJlbnROb2RlPT10aGlzLmNvbnRlbnRET00pO3IrKyxuPSExKTtyZXR1cm4gbyYmbiYmIW8uYm9yZGVyJiYhby5kb21BdG9tP28uZG9tRnJvbVBvcygwLHQpOntub2RlOnRoaXMuY29udGVudERPTSxvZmZzZXQ6bz9yaShvLmRvbSk6dGhpcy5jb250ZW50RE9NLmNoaWxkTm9kZXMubGVuZ3RofX19cGFyc2VSYW5nZShlLHQscj0wKXtpZih0aGlzLmNoaWxkcmVuLmxlbmd0aD09MClyZXR1cm57bm9kZTp0aGlzLmNvbnRlbnRET00sZnJvbTplLHRvOnQsZnJvbU9mZnNldDowLHRvT2Zmc2V0OnRoaXMuY29udGVudERPTS5jaGlsZE5vZGVzLmxlbmd0aH07bGV0IGk9LTEsbz0tMTtmb3IobGV0IG49cixsPTA7O2wrKyl7bGV0IGQ9dGhpcy5jaGlsZHJlbltsXSxjPW4rZC5zaXplO2lmKGk9PS0xJiZlPD1jKXtsZXQgcD1uK2QuYm9yZGVyO2lmKGU+PXAmJnQ8PWMtZC5ib3JkZXImJmQubm9kZSYmZC5jb250ZW50RE9NJiZ0aGlzLmNvbnRlbnRET00uY29udGFpbnMoZC5jb250ZW50RE9NKSlyZXR1cm4gZC5wYXJzZVJhbmdlKGUsdCxwKTtlPW47Zm9yKGxldCB1PWw7dT4wO3UtLSl7bGV0IG09dGhpcy5jaGlsZHJlblt1LTFdO2lmKG0uc2l6ZSYmbS5kb20ucGFyZW50Tm9kZT09dGhpcy5jb250ZW50RE9NJiYhbS5lbXB0eUNoaWxkQXQoMSkpe2k9cmkobS5kb20pKzE7YnJlYWt9ZS09bS5zaXplfWk9PS0xJiYoaT0wKX1pZihpPi0xJiYoYz50fHxsPT10aGlzLmNoaWxkcmVuLmxlbmd0aC0xKSl7dD1jO2ZvcihsZXQgcD1sKzE7cDx0aGlzLmNoaWxkcmVuLmxlbmd0aDtwKyspe2xldCB1PXRoaXMuY2hpbGRyZW5bcF07aWYodS5zaXplJiZ1LmRvbS5wYXJlbnROb2RlPT10aGlzLmNvbnRlbnRET00mJiF1LmVtcHR5Q2hpbGRBdCgtMSkpe289cmkodS5kb20pO2JyZWFrfXQrPXUuc2l6ZX1vPT0tMSYmKG89dGhpcy5jb250ZW50RE9NLmNoaWxkTm9kZXMubGVuZ3RoKTticmVha31uPWN9cmV0dXJue25vZGU6dGhpcy5jb250ZW50RE9NLGZyb206ZSx0bzp0LGZyb21PZmZzZXQ6aSx0b09mZnNldDpvfX1lbXB0eUNoaWxkQXQoZSl7aWYodGhpcy5ib3JkZXJ8fCF0aGlzLmNvbnRlbnRET018fCF0aGlzLmNoaWxkcmVuLmxlbmd0aClyZXR1cm4hMTtsZXQgdD10aGlzLmNoaWxkcmVuW2U8MD8wOnRoaXMuY2hpbGRyZW4ubGVuZ3RoLTFdO3JldHVybiB0LnNpemU9PTB8fHQuZW1wdHlDaGlsZEF0KGUpfWRvbUFmdGVyUG9zKGUpe2xldHtub2RlOnQsb2Zmc2V0OnJ9PXRoaXMuZG9tRnJvbVBvcyhlLDApO2lmKHQubm9kZVR5cGUhPTF8fHI9PXQuY2hpbGROb2Rlcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk5vIG5vZGUgYWZ0ZXIgcG9zICIrZSk7cmV0dXJuIHQuY2hpbGROb2Rlc1tyXX1zZXRTZWxlY3Rpb24oZSx0LHIsaT0hMSl7bGV0IG89TWF0aC5taW4oZSx0KSxuPU1hdGgubWF4KGUsdCk7Zm9yKGxldCB2PTAseD0wO3Y8dGhpcy5jaGlsZHJlbi5sZW5ndGg7disrKXtsZXQgYj10aGlzLmNoaWxkcmVuW3ZdLGc9eCtiLnNpemU7aWYobz54JiZuPGcpcmV0dXJuIGIuc2V0U2VsZWN0aW9uKGUteC1iLmJvcmRlcix0LXgtYi5ib3JkZXIscixpKTt4PWd9bGV0IGw9dGhpcy5kb21Gcm9tUG9zKGUsZT8tMToxKSxkPXQ9PWU/bDp0aGlzLmRvbUZyb21Qb3ModCx0Py0xOjEpLGM9ci5yb290LmdldFNlbGVjdGlvbigpLHA9ci5kb21TZWxlY3Rpb25SYW5nZSgpLHU9ITE7aWYoKFBufHxFaSkmJmU9PXQpe2xldHtub2RlOnYsb2Zmc2V0Onh9PWw7aWYodi5ub2RlVHlwZT09Myl7aWYodT0hISh4JiZ2Lm5vZGVWYWx1ZVt4LTFdPT1gCmApLHUmJng9PXYubm9kZVZhbHVlLmxlbmd0aClmb3IobGV0IGI9dixnO2I7Yj1iLnBhcmVudE5vZGUpe2lmKGc9Yi5uZXh0U2libGluZyl7Zy5ub2RlTmFtZT09IkJSIiYmKGw9ZD17bm9kZTpnLnBhcmVudE5vZGUsb2Zmc2V0OnJpKGcpKzF9KTticmVha31sZXQgeT1iLnBtVmlld0Rlc2M7aWYoeSYmeS5ub2RlJiZ5Lm5vZGUuaXNCbG9jaylicmVha319ZWxzZXtsZXQgYj12LmNoaWxkTm9kZXNbeC0xXTt1PWImJihiLm5vZGVOYW1lPT0iQlIifHxiLmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIil9fWlmKFBuJiZwLmZvY3VzTm9kZSYmcC5mb2N1c05vZGUhPWQubm9kZSYmcC5mb2N1c05vZGUubm9kZVR5cGU9PTEpe2xldCB2PXAuZm9jdXNOb2RlLmNoaWxkTm9kZXNbcC5mb2N1c09mZnNldF07diYmdi5jb250ZW50RWRpdGFibGU9PSJmYWxzZSImJihpPSEwKX1pZighKGl8fHUmJkVpKSYmWGYobC5ub2RlLGwub2Zmc2V0LHAuYW5jaG9yTm9kZSxwLmFuY2hvck9mZnNldCkmJlhmKGQubm9kZSxkLm9mZnNldCxwLmZvY3VzTm9kZSxwLmZvY3VzT2Zmc2V0KSlyZXR1cm47bGV0IG09ITE7aWYoKGMuZXh0ZW5kfHxlPT10KSYmISh1JiZQbikpe2MuY29sbGFwc2UobC5ub2RlLGwub2Zmc2V0KTt0cnl7ZSE9dCYmYy5leHRlbmQoZC5ub2RlLGQub2Zmc2V0KSxtPSEwfWNhdGNoe319aWYoIW0pe2lmKGU+dCl7bGV0IHg9bDtsPWQsZD14fWxldCB2PWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7di5zZXRFbmQoZC5ub2RlLGQub2Zmc2V0KSx2LnNldFN0YXJ0KGwubm9kZSxsLm9mZnNldCksYy5yZW1vdmVBbGxSYW5nZXMoKSxjLmFkZFJhbmdlKHYpfX1pZ25vcmVNdXRhdGlvbihlKXtyZXR1cm4hdGhpcy5jb250ZW50RE9NJiZlLnR5cGUhPSJzZWxlY3Rpb24ifWdldCBjb250ZW50TG9zdCgpe3JldHVybiB0aGlzLmNvbnRlbnRET00mJnRoaXMuY29udGVudERPTSE9dGhpcy5kb20mJiF0aGlzLmRvbS5jb250YWlucyh0aGlzLmNvbnRlbnRET00pfW1hcmtEaXJ0eShlLHQpe2ZvcihsZXQgcj0wLGk9MDtpPHRoaXMuY2hpbGRyZW4ubGVuZ3RoO2krKyl7bGV0IG89dGhpcy5jaGlsZHJlbltpXSxuPXIrby5zaXplO2lmKHI9PW4/ZTw9biYmdD49cjplPG4mJnQ+cil7bGV0IGw9citvLmJvcmRlcixkPW4tby5ib3JkZXI7aWYoZT49bCYmdDw9ZCl7dGhpcy5kaXJ0eT1lPT1yfHx0PT1uP0pmOlJvYSxlPT1sJiZ0PT1kJiYoby5jb250ZW50TG9zdHx8by5kb20ucGFyZW50Tm9kZSE9dGhpcy5jb250ZW50RE9NKT9vLmRpcnR5PVEyOm8ubWFya0RpcnR5KGUtbCx0LWwpO3JldHVybn1lbHNlIG8uZGlydHk9by5kb209PW8uY29udGVudERPTSYmby5kb20ucGFyZW50Tm9kZT09dGhpcy5jb250ZW50RE9NJiYhby5jaGlsZHJlbi5sZW5ndGg/SmY6UTJ9cj1ufXRoaXMuZGlydHk9SmZ9bWFya1BhcmVudHNEaXJ0eSgpe2xldCBlPTE7Zm9yKGxldCB0PXRoaXMucGFyZW50O3Q7dD10LnBhcmVudCxlKyspe2xldCByPWU9PTE/SmY6Um9hO3QuZGlydHk8ciYmKHQuZGlydHk9cil9fWdldCBkb21BdG9tKCl7cmV0dXJuITF9Z2V0IGlnbm9yZUZvckNvb3Jkcygpe3JldHVybiExfWdldCBpZ25vcmVGb3JTZWxlY3Rpb24oKXtyZXR1cm4hMX1pc1RleHQoZSl7cmV0dXJuITF9fSxxYWU9Y2xhc3MgZXh0ZW5kcyBlNXtzdGF0aWN7cyh0aGlzLCJXaWRnZXRWaWV3RGVzYyIpfWNvbnN0cnVjdG9yKGUsdCxyLGkpe2xldCBvLG49dC50eXBlLnRvRE9NO2lmKHR5cGVvZiBuPT0iZnVuY3Rpb24iJiYobj1uKHIsKCk9PntpZighbylyZXR1cm4gaTtpZihvLnBhcmVudClyZXR1cm4gby5wYXJlbnQucG9zQmVmb3JlQ2hpbGQobyl9KSksIXQudHlwZS5zcGVjLnJhdyl7aWYobi5ub2RlVHlwZSE9MSl7bGV0IGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO2wuYXBwZW5kQ2hpbGQobiksbj1sfW4uY29udGVudEVkaXRhYmxlPSJmYWxzZSIsbi5jbGFzc0xpc3QuYWRkKCJQcm9zZU1pcnJvci13aWRnZXQiKX1zdXBlcihlLFtdLG4sbnVsbCksdGhpcy53aWRnZXQ9dCx0aGlzLndpZGdldD10LG89dGhpc31tYXRjaGVzV2lkZ2V0KGUpe3JldHVybiB0aGlzLmRpcnR5PT1ObiYmZS50eXBlLmVxKHRoaXMud2lkZ2V0LnR5cGUpfXBhcnNlUnVsZSgpe3JldHVybntpZ25vcmU6ITB9fXN0b3BFdmVudChlKXtsZXQgdD10aGlzLndpZGdldC5zcGVjLnN0b3BFdmVudDtyZXR1cm4gdD90KGUpOiExfWlnbm9yZU11dGF0aW9uKGUpe3JldHVybiBlLnR5cGUhPSJzZWxlY3Rpb24ifHx0aGlzLndpZGdldC5zcGVjLmlnbm9yZVNlbGVjdGlvbn1kZXN0cm95KCl7dGhpcy53aWRnZXQudHlwZS5kZXN0cm95KHRoaXMuZG9tKSxzdXBlci5kZXN0cm95KCl9Z2V0IGRvbUF0b20oKXtyZXR1cm4hMH1nZXQgaWdub3JlRm9yU2VsZWN0aW9uKCl7cmV0dXJuISF0aGlzLndpZGdldC50eXBlLnNwZWMucmVsYXhlZFNpZGV9Z2V0IHNpZGUoKXtyZXR1cm4gdGhpcy53aWRnZXQudHlwZS5zaWRlfX0sTktlPWNsYXNzIGV4dGVuZHMgZTV7c3RhdGlje3ModGhpcywiQ29tcG9zaXRpb25WaWV3RGVzYyIpfWNvbnN0cnVjdG9yKGUsdCxyLGkpe3N1cGVyKGUsW10sdCxudWxsKSx0aGlzLnRleHRET009cix0aGlzLnRleHQ9aX1nZXQgc2l6ZSgpe3JldHVybiB0aGlzLnRleHQubGVuZ3RofWxvY2FsUG9zRnJvbURPTShlLHQpe3JldHVybiBlIT10aGlzLnRleHRET00/dGhpcy5wb3NBdFN0YXJ0Kyh0P3RoaXMuc2l6ZTowKTp0aGlzLnBvc0F0U3RhcnQrdH1kb21Gcm9tUG9zKGUpe3JldHVybntub2RlOnRoaXMudGV4dERPTSxvZmZzZXQ6ZX19aWdub3JlTXV0YXRpb24oZSl7cmV0dXJuIGUudHlwZT09PSJjaGFyYWN0ZXJEYXRhIiYmZS50YXJnZXQubm9kZVZhbHVlPT1lLm9sZFZhbHVlfX0sTG09Y2xhc3MgYSBleHRlbmRzIGU1e3N0YXRpY3tzKHRoaXMsIk1hcmtWaWV3RGVzYyIpfWNvbnN0cnVjdG9yKGUsdCxyLGksbyl7c3VwZXIoZSxbXSxyLGkpLHRoaXMubWFyaz10LHRoaXMuc3BlYz1vfXN0YXRpYyBjcmVhdGUoZSx0LHIsaSl7bGV0IG89aS5ub2RlVmlld3NbdC50eXBlLm5hbWVdLG49byYmbyh0LGkscik7cmV0dXJuKCFufHwhbi5kb20pJiYobj1ZMi5yZW5kZXJTcGVjKGRvY3VtZW50LHQudHlwZS5zcGVjLnRvRE9NKHQsciksbnVsbCx0LmF0dHJzKSksbmV3IGEoZSx0LG4uZG9tLG4uY29udGVudERPTXx8bi5kb20sbil9cGFyc2VSdWxlKCl7cmV0dXJuIHRoaXMuZGlydHkmUTJ8fHRoaXMubWFyay50eXBlLnNwZWMucmVwYXJzZUluVmlldz9udWxsOnttYXJrOnRoaXMubWFyay50eXBlLm5hbWUsYXR0cnM6dGhpcy5tYXJrLmF0dHJzLGNvbnRlbnRFbGVtZW50OnRoaXMuY29udGVudERPTX19bWF0Y2hlc01hcmsoZSl7cmV0dXJuIHRoaXMuZGlydHkhPVEyJiZ0aGlzLm1hcmsuZXEoZSl9bWFya0RpcnR5KGUsdCl7aWYoc3VwZXIubWFya0RpcnR5KGUsdCksdGhpcy5kaXJ0eSE9Tm4pe2xldCByPXRoaXMucGFyZW50O2Zvcig7IXIubm9kZTspcj1yLnBhcmVudDtyLmRpcnR5PHRoaXMuZGlydHkmJihyLmRpcnR5PXRoaXMuZGlydHkpLHRoaXMuZGlydHk9Tm59fXNsaWNlKGUsdCxyKXtsZXQgaT1hLmNyZWF0ZSh0aGlzLnBhcmVudCx0aGlzLm1hcmssITAsciksbz10aGlzLmNoaWxkcmVuLG49dGhpcy5zaXplO3Q8biYmKG89QktlKG8sdCxuLHIpKSxlPjAmJihvPUJLZShvLDAsZSxyKSk7Zm9yKGxldCBsPTA7bDxvLmxlbmd0aDtsKyspb1tsXS5wYXJlbnQ9aTtyZXR1cm4gaS5jaGlsZHJlbj1vLGl9aWdub3JlTXV0YXRpb24oZSl7cmV0dXJuIHRoaXMuc3BlYy5pZ25vcmVNdXRhdGlvbj90aGlzLnNwZWMuaWdub3JlTXV0YXRpb24oZSk6c3VwZXIuaWdub3JlTXV0YXRpb24oZSl9ZGVzdHJveSgpe3RoaXMuc3BlYy5kZXN0cm95JiZ0aGlzLnNwZWMuZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX19LE00PWNsYXNzIGEgZXh0ZW5kcyBlNXtzdGF0aWN7cyh0aGlzLCJOb2RlVmlld0Rlc2MiKX1jb25zdHJ1Y3RvcihlLHQscixpLG8sbixsLGQsYyl7c3VwZXIoZSxbXSxvLG4pLHRoaXMubm9kZT10LHRoaXMub3V0ZXJEZWNvPXIsdGhpcy5pbm5lckRlY289aSx0aGlzLm5vZGVET009bH1zdGF0aWMgY3JlYXRlKGUsdCxyLGksbyxuKXtsZXQgbD1vLm5vZGVWaWV3c1t0LnR5cGUubmFtZV0sZCxjPWwmJmwodCxvLCgpPT57aWYoIWQpcmV0dXJuIG47aWYoZC5wYXJlbnQpcmV0dXJuIGQucGFyZW50LnBvc0JlZm9yZUNoaWxkKGQpfSxyLGkpLHA9YyYmYy5kb20sdT1jJiZjLmNvbnRlbnRET007aWYodC5pc1RleHQpe2lmKCFwKXA9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodC50ZXh0KTtlbHNlIGlmKHAubm9kZVR5cGUhPTMpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlRleHQgbXVzdCBiZSByZW5kZXJlZCBhcyBhIERPTSB0ZXh0IG5vZGUiKX1lbHNlIHB8fCh7ZG9tOnAsY29udGVudERPTTp1fT1ZMi5yZW5kZXJTcGVjKGRvY3VtZW50LHQudHlwZS5zcGVjLnRvRE9NKHQpLG51bGwsdC5hdHRycykpOyF1JiYhdC5pc1RleHQmJnAubm9kZU5hbWUhPSJCUiImJihwLmhhc0F0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIil8fChwLmNvbnRlbnRFZGl0YWJsZT0iZmFsc2UiKSx0LnR5cGUuc3BlYy5kcmFnZ2FibGUmJihwLmRyYWdnYWJsZT0hMCkpO2xldCBtPXA7cmV0dXJuIHA9SG9hKHAscix0KSxjP2Q9bmV3IFJLZShlLHQscixpLHAsdXx8bnVsbCxtLGMsbyxuKzEpOnQuaXNUZXh0P25ldyBWYWUoZSx0LHIsaSxwLG0sbyk6bmV3IGEoZSx0LHIsaSxwLHV8fG51bGwsbSxvLG4rMSl9cGFyc2VSdWxlKCl7aWYodGhpcy5ub2RlLnR5cGUuc3BlYy5yZXBhcnNlSW5WaWV3KXJldHVybiBudWxsO2xldCBlPXtub2RlOnRoaXMubm9kZS50eXBlLm5hbWUsYXR0cnM6dGhpcy5ub2RlLmF0dHJzfTtpZih0aGlzLm5vZGUudHlwZS53aGl0ZXNwYWNlPT0icHJlIiYmKGUucHJlc2VydmVXaGl0ZXNwYWNlPSJmdWxsIiksIXRoaXMuY29udGVudERPTSllLmdldENvbnRlbnQ9KCk9PnRoaXMubm9kZS5jb250ZW50O2Vsc2UgaWYoIXRoaXMuY29udGVudExvc3QpZS5jb250ZW50RWxlbWVudD10aGlzLmNvbnRlbnRET007ZWxzZXtmb3IobGV0IHQ9dGhpcy5jaGlsZHJlbi5sZW5ndGgtMTt0Pj0wO3QtLSl7bGV0IHI9dGhpcy5jaGlsZHJlblt0XTtpZih0aGlzLmRvbS5jb250YWlucyhyLmRvbS5wYXJlbnROb2RlKSl7ZS5jb250ZW50RWxlbWVudD1yLmRvbS5wYXJlbnROb2RlO2JyZWFrfX1lLmNvbnRlbnRFbGVtZW50fHwoZS5nZXRDb250ZW50PSgpPT5WZS5lbXB0eSl9cmV0dXJuIGV9bWF0Y2hlc05vZGUoZSx0LHIpe3JldHVybiB0aGlzLmRpcnR5PT1ObiYmZS5lcSh0aGlzLm5vZGUpJiZVYWUodCx0aGlzLm91dGVyRGVjbykmJnIuZXEodGhpcy5pbm5lckRlY28pfWdldCBzaXplKCl7cmV0dXJuIHRoaXMubm9kZS5ub2RlU2l6ZX1nZXQgYm9yZGVyKCl7cmV0dXJuIHRoaXMubm9kZS5pc0xlYWY/MDoxfXVwZGF0ZUNoaWxkcmVuKGUsdCl7bGV0IHI9dGhpcy5ub2RlLmlubGluZUNvbnRlbnQsaT10LG89ZS5jb21wb3Npbmc/dGhpcy5sb2NhbENvbXBvc2l0aW9uSW5mbyhlLHQpOm51bGwsbj1vJiZvLnBvcz4tMT9vOm51bGwsbD1vJiZvLnBvczwwLGQ9bmV3IEZLZSh0aGlzLG4mJm4ubm9kZSxlKTttQWEodGhpcy5ub2RlLHRoaXMuaW5uZXJEZWNvLChjLHAsdSk9PntjLnNwZWMubWFya3M/ZC5zeW5jVG9NYXJrcyhjLnNwZWMubWFya3MscixlLHApOmMudHlwZS5zaWRlPj0wJiYhdSYmZC5zeW5jVG9NYXJrcyhwPT10aGlzLm5vZGUuY2hpbGRDb3VudD8kYS5ub25lOnRoaXMubm9kZS5jaGlsZChwKS5tYXJrcyxyLGUscCksZC5wbGFjZVdpZGdldChjLGUsaSl9LChjLHAsdSxtKT0+e2Quc3luY1RvTWFya3MoYy5tYXJrcyxyLGUsbSk7bGV0IHY7ZC5maW5kTm9kZU1hdGNoKGMscCx1LG0pfHxsJiZlLnN0YXRlLnNlbGVjdGlvbi5mcm9tPmkmJmUuc3RhdGUuc2VsZWN0aW9uLnRvPGkrYy5ub2RlU2l6ZSYmKHY9ZC5maW5kSW5kZXhXaXRoQ2hpbGQoby5ub2RlKSk+LTEmJmQudXBkYXRlTm9kZUF0KGMscCx1LHYsZSl8fGQudXBkYXRlTmV4dE5vZGUoYyxwLHUsZSxtLGkpfHxkLmFkZE5vZGUoYyxwLHUsZSxpKSxpKz1jLm5vZGVTaXplfSksZC5zeW5jVG9NYXJrcyhbXSxyLGUsMCksdGhpcy5ub2RlLmlzVGV4dGJsb2NrJiZkLmFkZFRleHRibG9ja0hhY2tzKCksZC5kZXN0cm95UmVzdCgpLChkLmNoYW5nZWR8fHRoaXMuZGlydHk9PUpmKSYmKG4mJnRoaXMucHJvdGVjdExvY2FsQ29tcG9zaXRpb24oZSxuKSxGb2EodGhpcy5jb250ZW50RE9NLHRoaXMuY2hpbGRyZW4sZSksX20mJmdBYSh0aGlzLmRvbSkpfWxvY2FsQ29tcG9zaXRpb25JbmZvKGUsdCl7bGV0e2Zyb206cix0bzppfT1lLnN0YXRlLnNlbGVjdGlvbjtpZighKGUuc3RhdGUuc2VsZWN0aW9uIGluc3RhbmNlb2YgUnQpfHxyPHR8fGk+dCt0aGlzLm5vZGUuY29udGVudC5zaXplKXJldHVybiBudWxsO2xldCBvPWUuaW5wdXQuY29tcG9zaXRpb25Ob2RlO2lmKCFvfHwhdGhpcy5kb20uY29udGFpbnMoby5wYXJlbnROb2RlKSlyZXR1cm4gbnVsbDtpZih0aGlzLm5vZGUuaW5saW5lQ29udGVudCl7bGV0IG49by5ub2RlVmFsdWUsbD1iQWEodGhpcy5ub2RlLmNvbnRlbnQsbixyLXQsaS10KTtyZXR1cm4gbDwwP251bGw6e25vZGU6byxwb3M6bCx0ZXh0Om59fWVsc2UgcmV0dXJue25vZGU6byxwb3M6LTEsdGV4dDoiIn19cHJvdGVjdExvY2FsQ29tcG9zaXRpb24oZSx7bm9kZTp0LHBvczpyLHRleHQ6aX0pe2lmKHRoaXMuZ2V0RGVzYyh0KSlyZXR1cm47bGV0IG89dDtmb3IoO28ucGFyZW50Tm9kZSE9dGhpcy5jb250ZW50RE9NO289by5wYXJlbnROb2RlKXtmb3IoO28ucHJldmlvdXNTaWJsaW5nOylvLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoby5wcmV2aW91c1NpYmxpbmcpO2Zvcig7by5uZXh0U2libGluZzspby5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8ubmV4dFNpYmxpbmcpO28ucG1WaWV3RGVzYyYmKG8ucG1WaWV3RGVzYz12b2lkIDApfWxldCBuPW5ldyBOS2UodGhpcyxvLHQsaSk7ZS5pbnB1dC5jb21wb3NpdGlvbk5vZGVzLnB1c2gobiksdGhpcy5jaGlsZHJlbj1CS2UodGhpcy5jaGlsZHJlbixyLHIraS5sZW5ndGgsZSxuKX11cGRhdGUoZSx0LHIsaSl7cmV0dXJuIHRoaXMuZGlydHk9PVEyfHwhZS5zYW1lTWFya3VwKHRoaXMubm9kZSk/ITE6KHRoaXMudXBkYXRlSW5uZXIoZSx0LHIsaSksITApfXVwZGF0ZUlubmVyKGUsdCxyLGkpe3RoaXMudXBkYXRlT3V0ZXJEZWNvKHQpLHRoaXMubm9kZT1lLHRoaXMuaW5uZXJEZWNvPXIsdGhpcy5jb250ZW50RE9NJiZ0aGlzLnVwZGF0ZUNoaWxkcmVuKGksdGhpcy5wb3NBdFN0YXJ0KSx0aGlzLmRpcnR5PU5ufXVwZGF0ZU91dGVyRGVjbyhlKXtpZihVYWUoZSx0aGlzLm91dGVyRGVjbykpcmV0dXJuO2xldCB0PXRoaXMubm9kZURPTS5ub2RlVHlwZSE9MSxyPXRoaXMuZG9tO3RoaXMuZG9tPUJvYSh0aGlzLmRvbSx0aGlzLm5vZGVET00sT0tlKHRoaXMub3V0ZXJEZWNvLHRoaXMubm9kZSx0KSxPS2UoZSx0aGlzLm5vZGUsdCkpLHRoaXMuZG9tIT1yJiYoci5wbVZpZXdEZXNjPXZvaWQgMCx0aGlzLmRvbS5wbVZpZXdEZXNjPXRoaXMpLHRoaXMub3V0ZXJEZWNvPWV9c2VsZWN0Tm9kZSgpe3RoaXMubm9kZURPTS5ub2RlVHlwZT09MSYmKHRoaXMubm9kZURPTS5jbGFzc0xpc3QuYWRkKCJQcm9zZU1pcnJvci1zZWxlY3RlZG5vZGUiKSwodGhpcy5jb250ZW50RE9NfHwhdGhpcy5ub2RlLnR5cGUuc3BlYy5kcmFnZ2FibGUpJiYodGhpcy5ub2RlRE9NLmRyYWdnYWJsZT0hMCkpfWRlc2VsZWN0Tm9kZSgpe3RoaXMubm9kZURPTS5ub2RlVHlwZT09MSYmKHRoaXMubm9kZURPTS5jbGFzc0xpc3QucmVtb3ZlKCJQcm9zZU1pcnJvci1zZWxlY3RlZG5vZGUiKSwodGhpcy5jb250ZW50RE9NfHwhdGhpcy5ub2RlLnR5cGUuc3BlYy5kcmFnZ2FibGUpJiZ0aGlzLm5vZGVET00ucmVtb3ZlQXR0cmlidXRlKCJkcmFnZ2FibGUiKSl9Z2V0IGRvbUF0b20oKXtyZXR1cm4gdGhpcy5ub2RlLmlzQXRvbX19O3MoT29hLCJkb2NWaWV3RGVzYyIpO1ZhZT1jbGFzcyBhIGV4dGVuZHMgTTR7c3RhdGlje3ModGhpcywiVGV4dFZpZXdEZXNjIil9Y29uc3RydWN0b3IoZSx0LHIsaSxvLG4sbCl7c3VwZXIoZSx0LHIsaSxvLG51bGwsbixsLDApfXBhcnNlUnVsZSgpe2xldCBlPXRoaXMubm9kZURPTS5wYXJlbnROb2RlO2Zvcig7ZSYmZSE9dGhpcy5kb20mJiFlLnBtSXNEZWNvOyllPWUucGFyZW50Tm9kZTtyZXR1cm57c2tpcDplfHwhMH19dXBkYXRlKGUsdCxyLGkpe3JldHVybiB0aGlzLmRpcnR5PT1RMnx8dGhpcy5kaXJ0eSE9Tm4mJiF0aGlzLmluUGFyZW50KCl8fCFlLnNhbWVNYXJrdXAodGhpcy5ub2RlKT8hMToodGhpcy51cGRhdGVPdXRlckRlY28odCksKHRoaXMuZGlydHkhPU5ufHxlLnRleHQhPXRoaXMubm9kZS50ZXh0KSYmZS50ZXh0IT10aGlzLm5vZGVET00ubm9kZVZhbHVlJiYodGhpcy5ub2RlRE9NLm5vZGVWYWx1ZT1lLnRleHQsaS50cmFja1dyaXRlcz09dGhpcy5ub2RlRE9NJiYoaS50cmFja1dyaXRlcz1udWxsKSksdGhpcy5ub2RlPWUsdGhpcy5kaXJ0eT1ObiwhMCl9aW5QYXJlbnQoKXtsZXQgZT10aGlzLnBhcmVudC5jb250ZW50RE9NO2ZvcihsZXQgdD10aGlzLm5vZGVET007dDt0PXQucGFyZW50Tm9kZSlpZih0PT1lKXJldHVybiEwO3JldHVybiExfWRvbUZyb21Qb3MoZSl7cmV0dXJue25vZGU6dGhpcy5ub2RlRE9NLG9mZnNldDplfX1sb2NhbFBvc0Zyb21ET00oZSx0LHIpe3JldHVybiBlPT10aGlzLm5vZGVET00/dGhpcy5wb3NBdFN0YXJ0K01hdGgubWluKHQsdGhpcy5ub2RlLnRleHQubGVuZ3RoKTpzdXBlci5sb2NhbFBvc0Zyb21ET00oZSx0LHIpfWlnbm9yZU11dGF0aW9uKGUpe3JldHVybiBlLnR5cGUhPSJjaGFyYWN0ZXJEYXRhIiYmZS50eXBlIT0ic2VsZWN0aW9uIn1zbGljZShlLHQscil7bGV0IGk9dGhpcy5ub2RlLmN1dChlLHQpLG89ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoaS50ZXh0KTtyZXR1cm4gbmV3IGEodGhpcy5wYXJlbnQsaSx0aGlzLm91dGVyRGVjbyx0aGlzLmlubmVyRGVjbyxvLG8scil9bWFya0RpcnR5KGUsdCl7c3VwZXIubWFya0RpcnR5KGUsdCksdGhpcy5kb20hPXRoaXMubm9kZURPTSYmKGU9PTB8fHQ9PXRoaXMubm9kZURPTS5ub2RlVmFsdWUubGVuZ3RoKSYmKHRoaXMuZGlydHk9UTIpfWdldCBkb21BdG9tKCl7cmV0dXJuITF9aXNUZXh0KGUpe3JldHVybiB0aGlzLm5vZGUudGV4dD09ZX19LGphZT1jbGFzcyBleHRlbmRzIGU1e3N0YXRpY3tzKHRoaXMsIlRyYWlsaW5nSGFja1ZpZXdEZXNjIil9cGFyc2VSdWxlKCl7cmV0dXJue2lnbm9yZTohMH19bWF0Y2hlc0hhY2soZSl7cmV0dXJuIHRoaXMuZGlydHk9PU5uJiZ0aGlzLmRvbS5ub2RlTmFtZT09ZX1nZXQgZG9tQXRvbSgpe3JldHVybiEwfWdldCBpZ25vcmVGb3JDb29yZHMoKXtyZXR1cm4gdGhpcy5kb20ubm9kZU5hbWU9PSJJTUcifX0sUktlPWNsYXNzIGV4dGVuZHMgTTR7c3RhdGlje3ModGhpcywiQ3VzdG9tTm9kZVZpZXdEZXNjIil9Y29uc3RydWN0b3IoZSx0LHIsaSxvLG4sbCxkLGMscCl7c3VwZXIoZSx0LHIsaSxvLG4sbCxjLHApLHRoaXMuc3BlYz1kfXVwZGF0ZShlLHQscixpKXtpZih0aGlzLmRpcnR5PT1RMilyZXR1cm4hMTtpZih0aGlzLnNwZWMudXBkYXRlJiYodGhpcy5ub2RlLnR5cGU9PWUudHlwZXx8dGhpcy5zcGVjLm11bHRpVHlwZSkpe2xldCBvPXRoaXMuc3BlYy51cGRhdGUoZSx0LHIpO3JldHVybiBvJiZ0aGlzLnVwZGF0ZUlubmVyKGUsdCxyLGkpLG99ZWxzZSByZXR1cm4hdGhpcy5jb250ZW50RE9NJiYhZS5pc0xlYWY/ITE6c3VwZXIudXBkYXRlKGUsdCxyLGkpfXNlbGVjdE5vZGUoKXt0aGlzLnNwZWMuc2VsZWN0Tm9kZT90aGlzLnNwZWMuc2VsZWN0Tm9kZSgpOnN1cGVyLnNlbGVjdE5vZGUoKX1kZXNlbGVjdE5vZGUoKXt0aGlzLnNwZWMuZGVzZWxlY3ROb2RlP3RoaXMuc3BlYy5kZXNlbGVjdE5vZGUoKTpzdXBlci5kZXNlbGVjdE5vZGUoKX1zZXRTZWxlY3Rpb24oZSx0LHIsaSl7dGhpcy5zcGVjLnNldFNlbGVjdGlvbj90aGlzLnNwZWMuc2V0U2VsZWN0aW9uKGUsdCxyLnJvb3QpOnN1cGVyLnNldFNlbGVjdGlvbihlLHQscixpKX1kZXN0cm95KCl7dGhpcy5zcGVjLmRlc3Ryb3kmJnRoaXMuc3BlYy5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfXN0b3BFdmVudChlKXtyZXR1cm4gdGhpcy5zcGVjLnN0b3BFdmVudD90aGlzLnNwZWMuc3RvcEV2ZW50KGUpOiExfWlnbm9yZU11dGF0aW9uKGUpe3JldHVybiB0aGlzLnNwZWMuaWdub3JlTXV0YXRpb24/dGhpcy5zcGVjLmlnbm9yZU11dGF0aW9uKGUpOnN1cGVyLmlnbm9yZU11dGF0aW9uKGUpfX07cyhGb2EsInJlbmRlckRlc2NzIik7b1c9cyhmdW5jdGlvbihhKXthJiYodGhpcy5ub2RlTmFtZT1hKX0sIk91dGVyRGVjb0xldmVsIik7b1cucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobnVsbCk7dDU9W25ldyBvV107cyhPS2UsImNvbXB1dGVPdXRlckRlY28iKTtzKEJvYSwicGF0Y2hPdXRlckRlY28iKTtzKHBBYSwicGF0Y2hBdHRyaWJ1dGVzIik7cyhIb2EsImFwcGx5T3V0ZXJEZWNvIik7cyhVYWUsInNhbWVPdXRlckRlY28iKTtzKHFvYSwicm0iKTtGS2U9Y2xhc3N7c3RhdGlje3ModGhpcywiVmlld1RyZWVVcGRhdGVyIil9Y29uc3RydWN0b3IoZSx0LHIpe3RoaXMubG9jaz10LHRoaXMudmlldz1yLHRoaXMuaW5kZXg9MCx0aGlzLnN0YWNrPVtdLHRoaXMuY2hhbmdlZD0hMSx0aGlzLnRvcD1lLHRoaXMucHJlTWF0Y2g9ZkFhKGUubm9kZS5jb250ZW50LGUpfWRlc3Ryb3lCZXR3ZWVuKGUsdCl7aWYoZSE9dCl7Zm9yKGxldCByPWU7cjx0O3IrKyl0aGlzLnRvcC5jaGlsZHJlbltyXS5kZXN0cm95KCk7dGhpcy50b3AuY2hpbGRyZW4uc3BsaWNlKGUsdC1lKSx0aGlzLmNoYW5nZWQ9ITB9fWRlc3Ryb3lSZXN0KCl7dGhpcy5kZXN0cm95QmV0d2Vlbih0aGlzLmluZGV4LHRoaXMudG9wLmNoaWxkcmVuLmxlbmd0aCl9c3luY1RvTWFya3MoZSx0LHIsaSl7bGV0IG89MCxuPXRoaXMuc3RhY2subGVuZ3RoPj4xLGw9TWF0aC5taW4obixlLmxlbmd0aCk7Zm9yKDtvPGwmJihvPT1uLTE/dGhpcy50b3A6dGhpcy5zdGFja1tvKzE8PDFdKS5tYXRjaGVzTWFyayhlW29dKSYmZVtvXS50eXBlLnNwZWMuc3Bhbm5pbmchPT0hMTspbysrO2Zvcig7bzxuOyl0aGlzLmRlc3Ryb3lSZXN0KCksdGhpcy50b3AuZGlydHk9Tm4sdGhpcy5pbmRleD10aGlzLnN0YWNrLnBvcCgpLHRoaXMudG9wPXRoaXMuc3RhY2sucG9wKCksbi0tO2Zvcig7bjxlLmxlbmd0aDspe3RoaXMuc3RhY2sucHVzaCh0aGlzLnRvcCx0aGlzLmluZGV4KzEpO2xldCBkPS0xLGM9dGhpcy50b3AuY2hpbGRyZW4ubGVuZ3RoO2k8dGhpcy5wcmVNYXRjaC5pbmRleCYmKGM9TWF0aC5taW4odGhpcy5pbmRleCszLGMpKTtmb3IobGV0IHA9dGhpcy5pbmRleDtwPGM7cCsrKXtsZXQgdT10aGlzLnRvcC5jaGlsZHJlbltwXTtpZih1Lm1hdGNoZXNNYXJrKGVbbl0pJiYhdGhpcy5pc0xvY2tlZCh1LmRvbSkpe2Q9cDticmVha319aWYoZD4tMSlkPnRoaXMuaW5kZXgmJih0aGlzLmNoYW5nZWQ9ITAsdGhpcy5kZXN0cm95QmV0d2Vlbih0aGlzLmluZGV4LGQpKSx0aGlzLnRvcD10aGlzLnRvcC5jaGlsZHJlblt0aGlzLmluZGV4XTtlbHNle2xldCBwPUxtLmNyZWF0ZSh0aGlzLnRvcCxlW25dLHQscik7dGhpcy50b3AuY2hpbGRyZW4uc3BsaWNlKHRoaXMuaW5kZXgsMCxwKSx0aGlzLnRvcD1wLHRoaXMuY2hhbmdlZD0hMH10aGlzLmluZGV4PTAsbisrfX1maW5kTm9kZU1hdGNoKGUsdCxyLGkpe2xldCBvPS0xLG47aWYoaT49dGhpcy5wcmVNYXRjaC5pbmRleCYmKG49dGhpcy5wcmVNYXRjaC5tYXRjaGVzW2ktdGhpcy5wcmVNYXRjaC5pbmRleF0pLnBhcmVudD09dGhpcy50b3AmJm4ubWF0Y2hlc05vZGUoZSx0LHIpKW89dGhpcy50b3AuY2hpbGRyZW4uaW5kZXhPZihuLHRoaXMuaW5kZXgpO2Vsc2UgZm9yKGxldCBsPXRoaXMuaW5kZXgsZD1NYXRoLm1pbih0aGlzLnRvcC5jaGlsZHJlbi5sZW5ndGgsbCs1KTtsPGQ7bCsrKXtsZXQgYz10aGlzLnRvcC5jaGlsZHJlbltsXTtpZihjLm1hdGNoZXNOb2RlKGUsdCxyKSYmIXRoaXMucHJlTWF0Y2gubWF0Y2hlZC5oYXMoYykpe289bDticmVha319cmV0dXJuIG88MD8hMToodGhpcy5kZXN0cm95QmV0d2Vlbih0aGlzLmluZGV4LG8pLHRoaXMuaW5kZXgrKywhMCl9dXBkYXRlTm9kZUF0KGUsdCxyLGksbyl7bGV0IG49dGhpcy50b3AuY2hpbGRyZW5baV07cmV0dXJuIG4uZGlydHk9PVEyJiZuLmRvbT09bi5jb250ZW50RE9NJiYobi5kaXJ0eT1KZiksbi51cGRhdGUoZSx0LHIsbyk/KHRoaXMuZGVzdHJveUJldHdlZW4odGhpcy5pbmRleCxpKSx0aGlzLmluZGV4KyssITApOiExfWZpbmRJbmRleFdpdGhDaGlsZChlKXtmb3IoOzspe2xldCB0PWUucGFyZW50Tm9kZTtpZighdClyZXR1cm4tMTtpZih0PT10aGlzLnRvcC5jb250ZW50RE9NKXtsZXQgcj1lLnBtVmlld0Rlc2M7aWYocil7Zm9yKGxldCBpPXRoaXMuaW5kZXg7aTx0aGlzLnRvcC5jaGlsZHJlbi5sZW5ndGg7aSsrKWlmKHRoaXMudG9wLmNoaWxkcmVuW2ldPT1yKXJldHVybiBpfXJldHVybi0xfWU9dH19dXBkYXRlTmV4dE5vZGUoZSx0LHIsaSxvLG4pe2ZvcihsZXQgbD10aGlzLmluZGV4O2w8dGhpcy50b3AuY2hpbGRyZW4ubGVuZ3RoO2wrKyl7bGV0IGQ9dGhpcy50b3AuY2hpbGRyZW5bbF07aWYoZCBpbnN0YW5jZW9mIE00KXtsZXQgYz10aGlzLnByZU1hdGNoLm1hdGNoZWQuZ2V0KGQpO2lmKGMhPW51bGwmJmMhPW8pcmV0dXJuITE7bGV0IHA9ZC5kb20sdSxtPXRoaXMuaXNMb2NrZWQocCkmJiEoZS5pc1RleHQmJmQubm9kZSYmZC5ub2RlLmlzVGV4dCYmZC5ub2RlRE9NLm5vZGVWYWx1ZT09ZS50ZXh0JiZkLmRpcnR5IT1RMiYmVWFlKHQsZC5vdXRlckRlY28pKTtpZighbSYmZC51cGRhdGUoZSx0LHIsaSkpcmV0dXJuIHRoaXMuZGVzdHJveUJldHdlZW4odGhpcy5pbmRleCxsKSxkLmRvbSE9cCYmKHRoaXMuY2hhbmdlZD0hMCksdGhpcy5pbmRleCsrLCEwO2lmKCFtJiYodT10aGlzLnJlY3JlYXRlV3JhcHBlcihkLGUsdCxyLGksbikpKXJldHVybiB0aGlzLmRlc3Ryb3lCZXR3ZWVuKHRoaXMuaW5kZXgsbCksdGhpcy50b3AuY2hpbGRyZW5bdGhpcy5pbmRleF09dSx1LmNvbnRlbnRET00mJih1LmRpcnR5PUpmLHUudXBkYXRlQ2hpbGRyZW4oaSxuKzEpLHUuZGlydHk9Tm4pLHRoaXMuY2hhbmdlZD0hMCx0aGlzLmluZGV4KyssITA7YnJlYWt9fXJldHVybiExfXJlY3JlYXRlV3JhcHBlcihlLHQscixpLG8sbil7aWYoZS5kaXJ0eXx8dC5pc0F0b218fCFlLmNoaWxkcmVuLmxlbmd0aHx8IWUubm9kZS5jb250ZW50LmVxKHQuY29udGVudCl8fCFVYWUocixlLm91dGVyRGVjbyl8fCFpLmVxKGUuaW5uZXJEZWNvKSlyZXR1cm4gbnVsbDtsZXQgbD1NNC5jcmVhdGUodGhpcy50b3AsdCxyLGksbyxuKTtpZihsLmNvbnRlbnRET00pe2wuY2hpbGRyZW49ZS5jaGlsZHJlbixlLmNoaWxkcmVuPVtdO2ZvcihsZXQgZCBvZiBsLmNoaWxkcmVuKWQucGFyZW50PWx9cmV0dXJuIGUuZGVzdHJveSgpLGx9YWRkTm9kZShlLHQscixpLG8pe2xldCBuPU00LmNyZWF0ZSh0aGlzLnRvcCxlLHQscixpLG8pO24uY29udGVudERPTSYmbi51cGRhdGVDaGlsZHJlbihpLG8rMSksdGhpcy50b3AuY2hpbGRyZW4uc3BsaWNlKHRoaXMuaW5kZXgrKywwLG4pLHRoaXMuY2hhbmdlZD0hMH1wbGFjZVdpZGdldChlLHQscil7bGV0IGk9dGhpcy5pbmRleDx0aGlzLnRvcC5jaGlsZHJlbi5sZW5ndGg/dGhpcy50b3AuY2hpbGRyZW5bdGhpcy5pbmRleF06bnVsbDtpZihpJiZpLm1hdGNoZXNXaWRnZXQoZSkmJihlPT1pLndpZGdldHx8IWkud2lkZ2V0LnR5cGUudG9ET00ucGFyZW50Tm9kZSkpdGhpcy5pbmRleCsrO2Vsc2V7bGV0IG89bmV3IHFhZSh0aGlzLnRvcCxlLHQscik7dGhpcy50b3AuY2hpbGRyZW4uc3BsaWNlKHRoaXMuaW5kZXgrKywwLG8pLHRoaXMuY2hhbmdlZD0hMH19YWRkVGV4dGJsb2NrSGFja3MoKXtsZXQgZT10aGlzLnRvcC5jaGlsZHJlblt0aGlzLmluZGV4LTFdLHQ9dGhpcy50b3A7Zm9yKDtlIGluc3RhbmNlb2YgTG07KXQ9ZSxlPXQuY2hpbGRyZW5bdC5jaGlsZHJlbi5sZW5ndGgtMV07KCFlfHwhKGUgaW5zdGFuY2VvZiBWYWUpfHwvXG4kLy50ZXN0KGUubm9kZS50ZXh0KXx8dGhpcy52aWV3LnJlcXVpcmVzR2Vja29IYWNrTm9kZSYmL1xzJC8udGVzdChlLm5vZGUudGV4dCkpJiYoKEVpfHxzaSkmJmUmJmUuZG9tLmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIiYmdGhpcy5hZGRIYWNrTm9kZSgiSU1HIix0KSx0aGlzLmFkZEhhY2tOb2RlKCJCUiIsdGhpcy50b3ApKX1hZGRIYWNrTm9kZShlLHQpe2lmKHQ9PXRoaXMudG9wJiZ0aGlzLmluZGV4PHQuY2hpbGRyZW4ubGVuZ3RoJiZ0LmNoaWxkcmVuW3RoaXMuaW5kZXhdLm1hdGNoZXNIYWNrKGUpKXRoaXMuaW5kZXgrKztlbHNle2xldCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZSk7ZT09IklNRyImJihyLmNsYXNzTmFtZT0iUHJvc2VNaXJyb3Itc2VwYXJhdG9yIixyLmFsdD0iIiksZT09IkJSIiYmKHIuY2xhc3NOYW1lPSJQcm9zZU1pcnJvci10cmFpbGluZ0JyZWFrIik7bGV0IGk9bmV3IGphZSh0aGlzLnRvcCxbXSxyLG51bGwpO3QhPXRoaXMudG9wP3QuY2hpbGRyZW4ucHVzaChpKTp0LmNoaWxkcmVuLnNwbGljZSh0aGlzLmluZGV4KyssMCxpKSx0aGlzLmNoYW5nZWQ9ITB9fWlzTG9ja2VkKGUpe3JldHVybiB0aGlzLmxvY2smJihlPT10aGlzLmxvY2t8fGUubm9kZVR5cGU9PTEmJmUuY29udGFpbnModGhpcy5sb2NrLnBhcmVudE5vZGUpKX19O3MoZkFhLCJwcmVNYXRjaCIpO3MoaEFhLCJjb21wYXJlU2lkZSIpO3MobUFhLCJpdGVyRGVjbyIpO3MoZ0FhLCJpb3NIYWNrcyIpO3MoYkFhLCJmaW5kVGV4dEluRnJhZ21lbnQiKTtzKEJLZSwicmVwbGFjZU5vZGVzIik7cyhIS2UsInNlbGVjdGlvbkZyb21ET00iKTtzKFZvYSwiZWRpdG9yT3duc1NlbGVjdGlvbiIpO3MoU2MsInNlbGVjdGlvblRvRE9NIik7am9hPUVpfHxzaSYmU29hPDYzO3MoVW9hLCJ0ZW1wb3JhcmlseUVkaXRhYmxlTmVhciIpO3MocUtlLCJzZXRFZGl0YWJsZSIpO3MoV29hLCJyZXNldEVkaXRhYmxlIik7cyh2QWEsInJlbW92ZUNsYXNzT25TZWxlY3Rpb25DaGFuZ2UiKTtzKHhBYSwic2VsZWN0Q3Vyc29yV3JhcHBlciIpO3MoR29hLCJzeW5jTm9kZVNlbGVjdGlvbiIpO3MoWW9hLCJjbGVhck5vZGVTZWxlY3Rpb24iKTtzKFZLZSwic2VsZWN0aW9uQmV0d2VlbiIpO3MoS29hLCJoYXNGb2N1c0FuZFNlbGVjdGlvbiIpO3MoWm9hLCJoYXNTZWxlY3Rpb24iKTtzKHlBYSwiYW5jaG9ySW5SaWdodFBsYWNlIik7cyhqS2UsIm1vdmVTZWxlY3Rpb25CbG9jayIpO3MoazQsImFwcGx5Iik7cyhYb2EsInNlbGVjdEhvcml6b250YWxseSIpO3MoV2FlLCJub2RlTGVuIik7cyhuVywiaXNJZ25vcmFibGUiKTtzKCRtLCJza2lwSWdub3JlZE5vZGVzIik7cyh3QWEsInNraXBJZ25vcmVkTm9kZXNCZWZvcmUiKTtzKE1BYSwic2tpcElnbm9yZWROb2Rlc0FmdGVyIik7cyhRb2EsImlzQmxvY2tOb2RlIik7cyhrQWEsInRleHROb2RlQWZ0ZXIiKTtzKFNBYSwidGV4dE5vZGVCZWZvcmUiKTtzKFVLZSwic2V0U2VsRm9jdXMiKTtzKEpvYSwiZmluZERpcmVjdGlvbiIpO3MoZW5hLCJzZWxlY3RWZXJ0aWNhbGx5Iik7cyh0bmEsInN0b3BOYXRpdmVIb3Jpem9udGFsRGVsZXRlIik7cyhhbmEsInN3aXRjaEVkaXRhYmxlIik7cyh6QWEsInNhZmFyaURvd25BcnJvd0J1ZyIpO3MoQ0FhLCJnZXRNb2RzIik7cyhfQWEsImNhcHR1cmVLZXlEb3duIik7cyhXS2UsInNlcmlhbGl6ZUZvckNsaXBib2FyZCIpO3MoR0tlLCJwYXJzZUZyb21DbGlwYm9hcmQiKTtUQWE9L14oYXxhYmJyfGFjcm9ueW18YnxjaXRlfGNvZGV8ZGVsfGVtfGl8aW5zfGtiZHxsYWJlbHxvdXRwdXR8cXxydWJ5fHN8c2FtcHxzcGFufHN0cm9uZ3xzdWJ8c3VwfHRpbWV8dXx0dHx2YXIpJC9pO3MoTEFhLCJub3JtYWxpemVTaWJsaW5ncyIpO3Mocm5hLCJ3aXRoV3JhcHBlcnMiKTtzKHNuYSwiYWRkVG9TaWJsaW5nIik7cyhpbmEsImNsb3NlUmlnaHQiKTtzKFlLZSwiY2xvc2VSYW5nZSIpO3Mob25hLCJjbG9zZVNsaWNlIik7bm5hPXt0aGVhZDpbInRhYmxlIl0sdGJvZHk6WyJ0YWJsZSJdLHRmb290OlsidGFibGUiXSxjYXB0aW9uOlsidGFibGUiXSxjb2xncm91cDpbInRhYmxlIl0sY29sOlsidGFibGUiLCJjb2xncm91cCJdLHRyOlsidGFibGUiLCJ0Ym9keSJdLHRkOlsidGFibGUiLCJ0Ym9keSIsInRyIl0sdGg6WyJ0YWJsZSIsInRib2R5IiwidHIiXX0sbG5hPW51bGw7cyhjbmEsImRldGFjaGVkRG9jIik7S0tlPW51bGw7cygkQWEsIm1heWJlV3JhcFRydXN0ZWQiKTtzKERBYSwicmVhZEhUTUwiKTtzKEFBYSwicmVzdG9yZVJlcGxhY2VkU3BhY2VzIik7cyhFQWEsImFkZENvbnRleHQiKTtZaT17fSxLaT17fSxQQWE9e3RvdWNoc3RhcnQ6ITAsdG91Y2htb3ZlOiEwfSxaS2U9Y2xhc3N7c3RhdGlje3ModGhpcywiSW5wdXRTdGF0ZSIpfWNvbnN0cnVjdG9yKCl7dGhpcy5zaGlmdEtleT0hMSx0aGlzLm1vdXNlRG93bj1udWxsLHRoaXMubGFzdEtleUNvZGU9bnVsbCx0aGlzLmxhc3RLZXlDb2RlVGltZT0wLHRoaXMubGFzdENsaWNrPXt0aW1lOjAseDowLHk6MCx0eXBlOiIiLGJ1dHRvbjowfSx0aGlzLmxhc3RTZWxlY3Rpb25PcmlnaW49bnVsbCx0aGlzLmxhc3RTZWxlY3Rpb25UaW1lPTAsdGhpcy5sYXN0SU9TRW50ZXI9MCx0aGlzLmxhc3RJT1NFbnRlckZhbGxiYWNrVGltZW91dD0tMSx0aGlzLmxhc3RGb2N1cz0wLHRoaXMubGFzdFRvdWNoPTAsdGhpcy5sYXN0Q2hyb21lRGVsZXRlPTAsdGhpcy5jb21wb3Npbmc9ITEsdGhpcy5jb21wb3NpdGlvbk5vZGU9bnVsbCx0aGlzLmNvbXBvc2luZ1RpbWVvdXQ9LTEsdGhpcy5jb21wb3NpdGlvbk5vZGVzPVtdLHRoaXMuY29tcG9zaXRpb25FbmRlZEF0PS0yZTgsdGhpcy5jb21wb3NpdGlvbklEPTEsdGhpcy5iYWRTYWZhcmlDb21wb3NpdGlvbj0hMSx0aGlzLmNvbXBvc2l0aW9uUGVuZGluZ0NoYW5nZXM9MCx0aGlzLmRvbUNoYW5nZUNvdW50PTAsdGhpcy5ldmVudEhhbmRsZXJzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5oaWRlU2VsZWN0aW9uR3VhcmQ9bnVsbH19O3MoSUFhLCJpbml0SW5wdXQiKTtzKFM0LCJzZXRTZWxlY3Rpb25PcmlnaW4iKTtzKE5BYSwiZGVzdHJveUlucHV0Iik7cyhYS2UsImVuc3VyZUxpc3RlbmVycyIpO3MoUUtlLCJydW5DdXN0b21IYW5kbGVyIik7cyhSQWEsImV2ZW50QmVsb25nc1RvVmlldyIpO3MoT0FhLCJkaXNwYXRjaEV2ZW50IiksS2kua2V5ZG93bj0oYSxlKT0+e2xldCB0PWU7aWYoYS5pbnB1dC5zaGlmdEtleT10LmtleUNvZGU9PTE2fHx0LnNoaWZ0S2V5LCF1bmEoYSx0KSYmKGEuaW5wdXQubGFzdEtleUNvZGU9dC5rZXlDb2RlLGEuaW5wdXQubGFzdEtleUNvZGVUaW1lPURhdGUubm93KCksIShNYyYmc2kmJnQua2V5Q29kZT09MTMpKSlpZih0LmtleUNvZGUhPTIyOSYmYS5kb21PYnNlcnZlci5mb3JjZUZsdXNoKCksX20mJnQua2V5Q29kZT09MTMmJiF0LmN0cmxLZXkmJiF0LmFsdEtleSYmIXQubWV0YUtleSl7bGV0IHI9RGF0ZS5ub3coKTthLmlucHV0Lmxhc3RJT1NFbnRlcj1yLGEuaW5wdXQubGFzdElPU0VudGVyRmFsbGJhY2tUaW1lb3V0PXNldFRpbWVvdXQoKCk9PnthLmlucHV0Lmxhc3RJT1NFbnRlcj09ciYmKGEuc29tZVByb3AoImhhbmRsZUtleURvd24iLGk9PmkoYSxRZigxMywiRW50ZXIiKSkpLGEuaW5wdXQubGFzdElPU0VudGVyPTApfSwyMDApfWVsc2UgYS5zb21lUHJvcCgiaGFuZGxlS2V5RG93biIscj0+cihhLHQpKXx8X0FhKGEsdCk/dC5wcmV2ZW50RGVmYXVsdCgpOlM0KGEsImtleSIpfSxLaS5rZXl1cD0oYSxlKT0+e2Uua2V5Q29kZT09MTYmJihhLmlucHV0LnNoaWZ0S2V5PSExKX0sS2kua2V5cHJlc3M9KGEsZSk9PntsZXQgdD1lO2lmKHVuYShhLHQpfHwhdC5jaGFyQ29kZXx8dC5jdHJsS2V5JiYhdC5hbHRLZXl8fEluJiZ0Lm1ldGFLZXkpcmV0dXJuO2lmKGEuc29tZVByb3AoImhhbmRsZUtleVByZXNzIixpPT5pKGEsdCkpKXt0LnByZXZlbnREZWZhdWx0KCk7cmV0dXJufWxldCByPWEuc3RhdGUuc2VsZWN0aW9uO2lmKCEociBpbnN0YW5jZW9mIFJ0KXx8IXIuJGZyb20uc2FtZVBhcmVudChyLiR0bykpe2xldCBpPVN0cmluZy5mcm9tQ2hhckNvZGUodC5jaGFyQ29kZSksbz1zKCgpPT5hLnN0YXRlLnRyLmluc2VydFRleHQoaSkuc2Nyb2xsSW50b1ZpZXcoKSwiZGVmbHQiKTshL1tcclxuXS8udGVzdChpKSYmIWEuc29tZVByb3AoImhhbmRsZVRleHRJbnB1dCIsbj0+bihhLHIuJGZyb20ucG9zLHIuJHRvLnBvcyxpLG8pKSYmYS5kaXNwYXRjaChvKCkpLHQucHJldmVudERlZmF1bHQoKX19O3MoR2FlLCJldmVudENvb3JkcyIpO3MoRkFhLCJpc05lYXIiKTtzKEpLZSwicnVuSGFuZGxlck9uQ29udGV4dCIpO3MoRG0sInVwZGF0ZVNlbGVjdGlvbiIpO3MoQkFhLCJzZWxlY3RDbGlja2VkTGVhZiIpO3MoSEFhLCJzZWxlY3RDbGlja2VkTm9kZSIpO3MocUFhLCJoYW5kbGVTaW5nbGVDbGljayIpO3MoVkFhLCJoYW5kbGVEb3VibGVDbGljayIpO3MoakFhLCJoYW5kbGVUcmlwbGVDbGljayIpO3MoVUFhLCJkZWZhdWx0VHJpcGxlQ2xpY2siKTtzKGVaZSwiZm9yY2VET01GbHVzaCIpO2RuYT1Jbj8ibWV0YUtleSI6ImN0cmxLZXkiO1lpLm1vdXNlZG93bj0oYSxlKT0+e2xldCB0PWU7YS5pbnB1dC5zaGlmdEtleT10LnNoaWZ0S2V5O2xldCByPWVaZShhKSxpPURhdGUubm93KCksbz0ic2luZ2xlQ2xpY2siO2ktYS5pbnB1dC5sYXN0Q2xpY2sudGltZTw1MDAmJkZBYSh0LGEuaW5wdXQubGFzdENsaWNrKSYmIXRbZG5hXSYmYS5pbnB1dC5sYXN0Q2xpY2suYnV0dG9uPT10LmJ1dHRvbiYmKGEuaW5wdXQubGFzdENsaWNrLnR5cGU9PSJzaW5nbGVDbGljayI/bz0iZG91YmxlQ2xpY2siOmEuaW5wdXQubGFzdENsaWNrLnR5cGU9PSJkb3VibGVDbGljayImJihvPSJ0cmlwbGVDbGljayIpKSxhLmlucHV0Lmxhc3RDbGljaz17dGltZTppLHg6dC5jbGllbnRYLHk6dC5jbGllbnRZLHR5cGU6byxidXR0b246dC5idXR0b259O2xldCBuPWEucG9zQXRDb29yZHMoR2FlKHQpKTtuJiYobz09InNpbmdsZUNsaWNrIj8oYS5pbnB1dC5tb3VzZURvd24mJmEuaW5wdXQubW91c2VEb3duLmRvbmUoKSxhLmlucHV0Lm1vdXNlRG93bj1uZXcgdFplKGEsbix0LCEhcikpOihvPT0iZG91YmxlQ2xpY2siP1ZBYTpqQWEpKGEsbi5wb3Msbi5pbnNpZGUsdCk/dC5wcmV2ZW50RGVmYXVsdCgpOlM0KGEsInBvaW50ZXIiKSl9O3RaZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJNb3VzZURvd24iKX1jb25zdHJ1Y3RvcihlLHQscixpKXt0aGlzLnZpZXc9ZSx0aGlzLnBvcz10LHRoaXMuZXZlbnQ9cix0aGlzLmZsdXNoZWQ9aSx0aGlzLmRlbGF5ZWRTZWxlY3Rpb25TeW5jPSExLHRoaXMubWlnaHREcmFnPW51bGwsdGhpcy5zdGFydERvYz1lLnN0YXRlLmRvYyx0aGlzLnNlbGVjdE5vZGU9ISFyW2RuYV0sdGhpcy5hbGxvd0RlZmF1bHQ9ci5zaGlmdEtleTtsZXQgbyxuO2lmKHQuaW5zaWRlPi0xKW89ZS5zdGF0ZS5kb2Mubm9kZUF0KHQuaW5zaWRlKSxuPXQuaW5zaWRlO2Vsc2V7bGV0IHA9ZS5zdGF0ZS5kb2MucmVzb2x2ZSh0LnBvcyk7bz1wLnBhcmVudCxuPXAuZGVwdGg/cC5iZWZvcmUoKTowfWxldCBsPWk/bnVsbDpyLnRhcmdldCxkPWw/ZS5kb2NWaWV3Lm5lYXJlc3REZXNjKGwsITApOm51bGw7dGhpcy50YXJnZXQ9ZCYmZC5ub2RlRE9NLm5vZGVUeXBlPT0xP2Qubm9kZURPTTpudWxsO2xldHtzZWxlY3Rpb246Y309ZS5zdGF0ZTtyLmJ1dHRvbj09MCYmKG8udHlwZS5zcGVjLmRyYWdnYWJsZSYmby50eXBlLnNwZWMuc2VsZWN0YWJsZSE9PSExfHxjIGluc3RhbmNlb2YgTXQmJmMuZnJvbTw9biYmYy50bz5uKSYmKHRoaXMubWlnaHREcmFnPXtub2RlOm8scG9zOm4sYWRkQXR0cjohISh0aGlzLnRhcmdldCYmIXRoaXMudGFyZ2V0LmRyYWdnYWJsZSksc2V0VW5lZGl0YWJsZTohISh0aGlzLnRhcmdldCYmUG4mJiF0aGlzLnRhcmdldC5oYXNBdHRyaWJ1dGUoImNvbnRlbnRFZGl0YWJsZSIpKX0pLHRoaXMudGFyZ2V0JiZ0aGlzLm1pZ2h0RHJhZyYmKHRoaXMubWlnaHREcmFnLmFkZEF0dHJ8fHRoaXMubWlnaHREcmFnLnNldFVuZWRpdGFibGUpJiYodGhpcy52aWV3LmRvbU9ic2VydmVyLnN0b3AoKSx0aGlzLm1pZ2h0RHJhZy5hZGRBdHRyJiYodGhpcy50YXJnZXQuZHJhZ2dhYmxlPSEwKSx0aGlzLm1pZ2h0RHJhZy5zZXRVbmVkaXRhYmxlJiZzZXRUaW1lb3V0KCgpPT57dGhpcy52aWV3LmlucHV0Lm1vdXNlRG93bj09dGhpcyYmdGhpcy50YXJnZXQuc2V0QXR0cmlidXRlKCJjb250ZW50RWRpdGFibGUiLCJmYWxzZSIpfSwyMCksdGhpcy52aWV3LmRvbU9ic2VydmVyLnN0YXJ0KCkpLGUucm9vdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLnVwPXRoaXMudXAuYmluZCh0aGlzKSksZS5yb290LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5tb3ZlPXRoaXMubW92ZS5iaW5kKHRoaXMpKSxTNChlLCJwb2ludGVyIil9ZG9uZSgpe3RoaXMudmlldy5yb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMudXApLHRoaXMudmlldy5yb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5tb3ZlKSx0aGlzLm1pZ2h0RHJhZyYmdGhpcy50YXJnZXQmJih0aGlzLnZpZXcuZG9tT2JzZXJ2ZXIuc3RvcCgpLHRoaXMubWlnaHREcmFnLmFkZEF0dHImJnRoaXMudGFyZ2V0LnJlbW92ZUF0dHJpYnV0ZSgiZHJhZ2dhYmxlIiksdGhpcy5taWdodERyYWcuc2V0VW5lZGl0YWJsZSYmdGhpcy50YXJnZXQucmVtb3ZlQXR0cmlidXRlKCJjb250ZW50RWRpdGFibGUiKSx0aGlzLnZpZXcuZG9tT2JzZXJ2ZXIuc3RhcnQoKSksdGhpcy5kZWxheWVkU2VsZWN0aW9uU3luYyYmc2V0VGltZW91dCgoKT0+U2ModGhpcy52aWV3KSksdGhpcy52aWV3LmlucHV0Lm1vdXNlRG93bj1udWxsfXVwKGUpe2lmKHRoaXMuZG9uZSgpLCF0aGlzLnZpZXcuZG9tLmNvbnRhaW5zKGUudGFyZ2V0KSlyZXR1cm47bGV0IHQ9dGhpcy5wb3M7dGhpcy52aWV3LnN0YXRlLmRvYyE9dGhpcy5zdGFydERvYyYmKHQ9dGhpcy52aWV3LnBvc0F0Q29vcmRzKEdhZShlKSkpLHRoaXMudXBkYXRlQWxsb3dEZWZhdWx0KGUpLHRoaXMuYWxsb3dEZWZhdWx0fHwhdD9TNCh0aGlzLnZpZXcsInBvaW50ZXIiKTpxQWEodGhpcy52aWV3LHQucG9zLHQuaW5zaWRlLGUsdGhpcy5zZWxlY3ROb2RlKT9lLnByZXZlbnREZWZhdWx0KCk6ZS5idXR0b249PTAmJih0aGlzLmZsdXNoZWR8fEVpJiZ0aGlzLm1pZ2h0RHJhZyYmIXRoaXMubWlnaHREcmFnLm5vZGUuaXNBdG9tfHxzaSYmIXRoaXMudmlldy5zdGF0ZS5zZWxlY3Rpb24udmlzaWJsZSYmTWF0aC5taW4oTWF0aC5hYnModC5wb3MtdGhpcy52aWV3LnN0YXRlLnNlbGVjdGlvbi5mcm9tKSxNYXRoLmFicyh0LnBvcy10aGlzLnZpZXcuc3RhdGUuc2VsZWN0aW9uLnRvKSk8PTIpPyhEbSh0aGlzLnZpZXcsSXQubmVhcih0aGlzLnZpZXcuc3RhdGUuZG9jLnJlc29sdmUodC5wb3MpKSwicG9pbnRlciIpLGUucHJldmVudERlZmF1bHQoKSk6UzQodGhpcy52aWV3LCJwb2ludGVyIil9bW92ZShlKXt0aGlzLnVwZGF0ZUFsbG93RGVmYXVsdChlKSxTNCh0aGlzLnZpZXcsInBvaW50ZXIiKSxlLmJ1dHRvbnM9PTAmJnRoaXMuZG9uZSgpfXVwZGF0ZUFsbG93RGVmYXVsdChlKXshdGhpcy5hbGxvd0RlZmF1bHQmJihNYXRoLmFicyh0aGlzLmV2ZW50LngtZS5jbGllbnRYKT40fHxNYXRoLmFicyh0aGlzLmV2ZW50LnktZS5jbGllbnRZKT40KSYmKHRoaXMuYWxsb3dEZWZhdWx0PSEwKX19O1lpLnRvdWNoc3RhcnQ9YT0+e2EuaW5wdXQubGFzdFRvdWNoPURhdGUubm93KCksZVplKGEpLFM0KGEsInBvaW50ZXIiKX0sWWkudG91Y2htb3ZlPWE9PnthLmlucHV0Lmxhc3RUb3VjaD1EYXRlLm5vdygpLFM0KGEsInBvaW50ZXIiKX0sWWkuY29udGV4dG1lbnU9YT0+ZVplKGEpO3ModW5hLCJpbk9yTmVhckNvbXBvc2l0aW9uIik7V0FhPU1jPzVlMzotMTtLaS5jb21wb3NpdGlvbnN0YXJ0PUtpLmNvbXBvc2l0aW9udXBkYXRlPWE9PntpZighYS5jb21wb3Npbmcpe2EuZG9tT2JzZXJ2ZXIuZmx1c2goKTtsZXR7c3RhdGU6ZX09YSx0PWUuc2VsZWN0aW9uLiR0bztpZihlLnNlbGVjdGlvbiBpbnN0YW5jZW9mIFJ0JiYoZS5zdG9yZWRNYXJrc3x8IXQudGV4dE9mZnNldCYmdC5wYXJlbnRPZmZzZXQmJnQubm9kZUJlZm9yZS5tYXJrcy5zb21lKHI9PnIudHlwZS5zcGVjLmluY2x1c2l2ZT09PSExKXx8c2kmJnpvYSYmR0FhKGEpKSlhLm1hcmtDdXJzb3I9YS5zdGF0ZS5zdG9yZWRNYXJrc3x8dC5tYXJrcygpLGxXKGEsITApLGEubWFya0N1cnNvcj1udWxsO2Vsc2UgaWYobFcoYSwhZS5zZWxlY3Rpb24uZW1wdHkpLFBuJiZlLnNlbGVjdGlvbi5lbXB0eSYmdC5wYXJlbnRPZmZzZXQmJiF0LnRleHRPZmZzZXQmJnQubm9kZUJlZm9yZS5tYXJrcy5sZW5ndGgpe2xldCByPWEuZG9tU2VsZWN0aW9uUmFuZ2UoKTtmb3IobGV0IGk9ci5mb2N1c05vZGUsbz1yLmZvY3VzT2Zmc2V0O2kmJmkubm9kZVR5cGU9PTEmJm8hPTA7KXtsZXQgbj1vPDA/aS5sYXN0Q2hpbGQ6aS5jaGlsZE5vZGVzW28tMV07aWYoIW4pYnJlYWs7aWYobi5ub2RlVHlwZT09Myl7bGV0IGw9YS5kb21TZWxlY3Rpb24oKTtsJiZsLmNvbGxhcHNlKG4sbi5ub2RlVmFsdWUubGVuZ3RoKTticmVha31lbHNlIGk9bixvPS0xfX1hLmlucHV0LmNvbXBvc2luZz0hMH1wbmEoYSxXQWEpfTtzKEdBYSwic2VsZWN0aW9uQmVmb3JlVW5lZGl0YWJsZSIpLEtpLmNvbXBvc2l0aW9uZW5kPShhLGUpPT57YS5jb21wb3NpbmcmJihhLmlucHV0LmNvbXBvc2luZz0hMSxhLmlucHV0LmNvbXBvc2l0aW9uRW5kZWRBdD1lLnRpbWVTdGFtcCxhLmlucHV0LmNvbXBvc2l0aW9uUGVuZGluZ0NoYW5nZXM9YS5kb21PYnNlcnZlci5wZW5kaW5nUmVjb3JkcygpLmxlbmd0aD9hLmlucHV0LmNvbXBvc2l0aW9uSUQ6MCxhLmlucHV0LmNvbXBvc2l0aW9uTm9kZT1udWxsLGEuaW5wdXQuYmFkU2FmYXJpQ29tcG9zaXRpb24/YS5kb21PYnNlcnZlci5mb3JjZUZsdXNoKCk6YS5pbnB1dC5jb21wb3NpdGlvblBlbmRpbmdDaGFuZ2VzJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5hLmRvbU9ic2VydmVyLmZsdXNoKCkpLGEuaW5wdXQuY29tcG9zaXRpb25JRCsrLHBuYShhLDIwKSl9O3MocG5hLCJzY2hlZHVsZUNvbXBvc2VFbmQiKTtzKGZuYSwiY2xlYXJDb21wb3NpdGlvbiIpO3MoWUFhLCJmaW5kQ29tcG9zaXRpb25Ob2RlIik7cyhLQWEsInRpbWVzdGFtcEZyb21DdXN0b21FdmVudCIpO3MobFcsImVuZENvbXBvc2l0aW9uIik7cyhaQWEsImNhcHR1cmVDb3B5Iik7Y1c9RW8mJnk0PDE1fHxfbSYmWkRhPDYwNDtZaS5jb3B5PUtpLmN1dD0oYSxlKT0+e2xldCB0PWUscj1hLnN0YXRlLnNlbGVjdGlvbixpPXQudHlwZT09ImN1dCI7aWYoci5lbXB0eSlyZXR1cm47bGV0IG89Y1c/bnVsbDp0LmNsaXBib2FyZERhdGEsbj1yLmNvbnRlbnQoKSx7ZG9tOmwsdGV4dDpkfT1XS2UoYSxuKTtvPyh0LnByZXZlbnREZWZhdWx0KCksby5jbGVhckRhdGEoKSxvLnNldERhdGEoInRleHQvaHRtbCIsbC5pbm5lckhUTUwpLG8uc2V0RGF0YSgidGV4dC9wbGFpbiIsZCkpOlpBYShhLGwpLGkmJmEuZGlzcGF0Y2goYS5zdGF0ZS50ci5kZWxldGVTZWxlY3Rpb24oKS5zY3JvbGxJbnRvVmlldygpLnNldE1ldGEoInVpRXZlbnQiLCJjdXQiKSl9O3MoWEFhLCJzbGljZVNpbmdsZU5vZGUiKTtzKFFBYSwiY2FwdHVyZVBhc3RlIik7cyhkVywiZG9QYXN0ZSIpO3MoaG5hLCJnZXRUZXh0IiksS2kucGFzdGU9KGEsZSk9PntsZXQgdD1lO2lmKGEuY29tcG9zaW5nJiYhTWMpcmV0dXJuO2xldCByPWNXP251bGw6dC5jbGlwYm9hcmREYXRhLGk9YS5pbnB1dC5zaGlmdEtleSYmYS5pbnB1dC5sYXN0S2V5Q29kZSE9NDU7ciYmZFcoYSxobmEociksci5nZXREYXRhKCJ0ZXh0L2h0bWwiKSxpLHQpP3QucHJldmVudERlZmF1bHQoKTpRQWEoYSx0KX07WWFlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkRyYWdnaW5nIil9Y29uc3RydWN0b3IoZSx0LHIpe3RoaXMuc2xpY2U9ZSx0aGlzLm1vdmU9dCx0aGlzLm5vZGU9cn19LEpBYT1Jbj8iYWx0S2V5IjoiY3RybEtleSI7cyhtbmEsImRyYWdNb3ZlcyIpLFlpLmRyYWdzdGFydD0oYSxlKT0+e2xldCB0PWUscj1hLmlucHV0Lm1vdXNlRG93bjtpZihyJiZyLmRvbmUoKSwhdC5kYXRhVHJhbnNmZXIpcmV0dXJuO2xldCBpPWEuc3RhdGUuc2VsZWN0aW9uLG89aS5lbXB0eT9udWxsOmEucG9zQXRDb29yZHMoR2FlKHQpKSxuO2lmKCEobyYmby5wb3M+PWkuZnJvbSYmby5wb3M8PShpIGluc3RhbmNlb2YgTXQ/aS50by0xOmkudG8pKSl7aWYociYmci5taWdodERyYWcpbj1NdC5jcmVhdGUoYS5zdGF0ZS5kb2Msci5taWdodERyYWcucG9zKTtlbHNlIGlmKHQudGFyZ2V0JiZ0LnRhcmdldC5ub2RlVHlwZT09MSl7bGV0IHU9YS5kb2NWaWV3Lm5lYXJlc3REZXNjKHQudGFyZ2V0LCEwKTt1JiZ1Lm5vZGUudHlwZS5zcGVjLmRyYWdnYWJsZSYmdSE9YS5kb2NWaWV3JiYobj1NdC5jcmVhdGUoYS5zdGF0ZS5kb2MsdS5wb3NCZWZvcmUpKX19bGV0IGw9KG58fGEuc3RhdGUuc2VsZWN0aW9uKS5jb250ZW50KCkse2RvbTpkLHRleHQ6YyxzbGljZTpwfT1XS2UoYSxsKTsoIXQuZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aHx8IXNpfHxTb2E+MTIwKSYmdC5kYXRhVHJhbnNmZXIuY2xlYXJEYXRhKCksdC5kYXRhVHJhbnNmZXIuc2V0RGF0YShjVz8iVGV4dCI6InRleHQvaHRtbCIsZC5pbm5lckhUTUwpLHQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQ9ImNvcHlNb3ZlIixjV3x8dC5kYXRhVHJhbnNmZXIuc2V0RGF0YSgidGV4dC9wbGFpbiIsYyksYS5kcmFnZ2luZz1uZXcgWWFlKHAsbW5hKGEsdCksbil9LFlpLmRyYWdlbmQ9YT0+e2xldCBlPWEuZHJhZ2dpbmc7d2luZG93LnNldFRpbWVvdXQoKCk9PnthLmRyYWdnaW5nPT1lJiYoYS5kcmFnZ2luZz1udWxsKX0sNTApfSxLaS5kcmFnb3Zlcj1LaS5kcmFnZW50ZXI9KGEsZSk9PmUucHJldmVudERlZmF1bHQoKSxLaS5kcm9wPShhLGUpPT57dHJ5e2VFYShhLGUsYS5kcmFnZ2luZyl9ZmluYWxseXthLmRyYWdnaW5nPW51bGx9fTtzKGVFYSwiaGFuZGxlRHJvcCIpLFlpLmZvY3VzPWE9PnthLmlucHV0Lmxhc3RGb2N1cz1EYXRlLm5vdygpLGEuZm9jdXNlZHx8KGEuZG9tT2JzZXJ2ZXIuc3RvcCgpLGEuZG9tLmNsYXNzTGlzdC5hZGQoIlByb3NlTWlycm9yLWZvY3VzZWQiKSxhLmRvbU9ic2VydmVyLnN0YXJ0KCksYS5mb2N1c2VkPSEwLHNldFRpbWVvdXQoKCk9PnthLmRvY1ZpZXcmJmEuaGFzRm9jdXMoKSYmIWEuZG9tT2JzZXJ2ZXIuY3VycmVudFNlbGVjdGlvbi5lcShhLmRvbVNlbGVjdGlvblJhbmdlKCkpJiZTYyhhKX0sMjApKX0sWWkuYmx1cj0oYSxlKT0+e2xldCB0PWU7YS5mb2N1c2VkJiYoYS5kb21PYnNlcnZlci5zdG9wKCksYS5kb20uY2xhc3NMaXN0LnJlbW92ZSgiUHJvc2VNaXJyb3ItZm9jdXNlZCIpLGEuZG9tT2JzZXJ2ZXIuc3RhcnQoKSx0LnJlbGF0ZWRUYXJnZXQmJmEuZG9tLmNvbnRhaW5zKHQucmVsYXRlZFRhcmdldCkmJmEuZG9tT2JzZXJ2ZXIuY3VycmVudFNlbGVjdGlvbi5jbGVhcigpLGEuZm9jdXNlZD0hMSl9LFlpLmJlZm9yZWlucHV0PShhLGUpPT57aWYoc2kmJk1jJiZlLmlucHV0VHlwZT09ImRlbGV0ZUNvbnRlbnRCYWNrd2FyZCIpe2EuZG9tT2JzZXJ2ZXIuZmx1c2hTb29uKCk7bGV0e2RvbUNoYW5nZUNvdW50OnJ9PWEuaW5wdXQ7c2V0VGltZW91dCgoKT0+e2lmKGEuaW5wdXQuZG9tQ2hhbmdlQ291bnQhPXJ8fChhLmRvbS5ibHVyKCksYS5mb2N1cygpLGEuc29tZVByb3AoImhhbmRsZUtleURvd24iLG89Pm8oYSxRZig4LCJCYWNrc3BhY2UiKSkpKSlyZXR1cm47bGV0eyRjdXJzb3I6aX09YS5zdGF0ZS5zZWxlY3Rpb247aSYmaS5wb3M+MCYmYS5kaXNwYXRjaChhLnN0YXRlLnRyLmRlbGV0ZShpLnBvcy0xLGkucG9zKS5zY3JvbGxJbnRvVmlldygpKX0sNTApfX07Zm9yKGxldCBhIGluIEtpKVlpW2FdPUtpW2FdO3ModVcsImNvbXBhcmVPYmpzIik7S2FlPWNsYXNzIGF7c3RhdGlje3ModGhpcywiV2lkZ2V0VHlwZSIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy50b0RPTT1lLHRoaXMuc3BlYz10fHxyNSx0aGlzLnNpZGU9dGhpcy5zcGVjLnNpZGV8fDB9bWFwKGUsdCxyLGkpe2xldHtwb3M6byxkZWxldGVkOm59PWUubWFwUmVzdWx0KHQuZnJvbStpLHRoaXMuc2lkZTwwPy0xOjEpO3JldHVybiBuP251bGw6bmV3IFIxKG8tcixvLXIsdGhpcyl9dmFsaWQoKXtyZXR1cm4hMH1lcShlKXtyZXR1cm4gdGhpcz09ZXx8ZSBpbnN0YW5jZW9mIGEmJih0aGlzLnNwZWMua2V5JiZ0aGlzLnNwZWMua2V5PT1lLnNwZWMua2V5fHx0aGlzLnRvRE9NPT1lLnRvRE9NJiZ1Vyh0aGlzLnNwZWMsZS5zcGVjKSl9ZGVzdHJveShlKXt0aGlzLnNwZWMuZGVzdHJveSYmdGhpcy5zcGVjLmRlc3Ryb3koZSl9fSxhNT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIklubGluZVR5cGUiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMuYXR0cnM9ZSx0aGlzLnNwZWM9dHx8cjV9bWFwKGUsdCxyLGkpe2xldCBvPWUubWFwKHQuZnJvbStpLHRoaXMuc3BlYy5pbmNsdXNpdmVTdGFydD8tMToxKS1yLG49ZS5tYXAodC50bytpLHRoaXMuc3BlYy5pbmNsdXNpdmVFbmQ/MTotMSktcjtyZXR1cm4gbz49bj9udWxsOm5ldyBSMShvLG4sdGhpcyl9dmFsaWQoZSx0KXtyZXR1cm4gdC5mcm9tPHQudG99ZXEoZSl7cmV0dXJuIHRoaXM9PWV8fGUgaW5zdGFuY2VvZiBhJiZ1Vyh0aGlzLmF0dHJzLGUuYXR0cnMpJiZ1Vyh0aGlzLnNwZWMsZS5zcGVjKX1zdGF0aWMgaXMoZSl7cmV0dXJuIGUudHlwZSBpbnN0YW5jZW9mIGF9ZGVzdHJveSgpe319LGFaZT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIk5vZGVUeXBlIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLmF0dHJzPWUsdGhpcy5zcGVjPXR8fHI1fW1hcChlLHQscixpKXtsZXQgbz1lLm1hcFJlc3VsdCh0LmZyb20raSwxKTtpZihvLmRlbGV0ZWQpcmV0dXJuIG51bGw7bGV0IG49ZS5tYXBSZXN1bHQodC50bytpLC0xKTtyZXR1cm4gbi5kZWxldGVkfHxuLnBvczw9by5wb3M/bnVsbDpuZXcgUjEoby5wb3MtcixuLnBvcy1yLHRoaXMpfXZhbGlkKGUsdCl7bGV0e2luZGV4OnIsb2Zmc2V0Oml9PWUuY29udGVudC5maW5kSW5kZXgodC5mcm9tKSxvO3JldHVybiBpPT10LmZyb20mJiEobz1lLmNoaWxkKHIpKS5pc1RleHQmJmkrby5ub2RlU2l6ZT09dC50b31lcShlKXtyZXR1cm4gdGhpcz09ZXx8ZSBpbnN0YW5jZW9mIGEmJnVXKHRoaXMuYXR0cnMsZS5hdHRycykmJnVXKHRoaXMuc3BlYyxlLnNwZWMpfWRlc3Ryb3koKXt9fSxSMT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkRlY29yYXRpb24iKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy5mcm9tPWUsdGhpcy50bz10LHRoaXMudHlwZT1yfWNvcHkoZSx0KXtyZXR1cm4gbmV3IGEoZSx0LHRoaXMudHlwZSl9ZXEoZSx0PTApe3JldHVybiB0aGlzLnR5cGUuZXEoZS50eXBlKSYmdGhpcy5mcm9tK3Q9PWUuZnJvbSYmdGhpcy50byt0PT1lLnRvfW1hcChlLHQscil7cmV0dXJuIHRoaXMudHlwZS5tYXAoZSx0aGlzLHQscil9c3RhdGljIHdpZGdldChlLHQscil7cmV0dXJuIG5ldyBhKGUsZSxuZXcgS2FlKHQscikpfXN0YXRpYyBpbmxpbmUoZSx0LHIsaSl7cmV0dXJuIG5ldyBhKGUsdCxuZXcgYTUocixpKSl9c3RhdGljIG5vZGUoZSx0LHIsaSl7cmV0dXJuIG5ldyBhKGUsdCxuZXcgYVplKHIsaSkpfWdldCBzcGVjKCl7cmV0dXJuIHRoaXMudHlwZS5zcGVjfWdldCBpbmxpbmUoKXtyZXR1cm4gdGhpcy50eXBlIGluc3RhbmNlb2YgYTV9Z2V0IHdpZGdldCgpe3JldHVybiB0aGlzLnR5cGUgaW5zdGFuY2VvZiBLYWV9fSxBbT1bXSxyNT17fSxaaT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkRlY29yYXRpb25TZXQiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMubG9jYWw9ZS5sZW5ndGg/ZTpBbSx0aGlzLmNoaWxkcmVuPXQubGVuZ3RoP3Q6QW19c3RhdGljIGNyZWF0ZShlLHQpe3JldHVybiB0Lmxlbmd0aD9YYWUodCxlLDAscjUpOlBpfWZpbmQoZSx0LHIpe2xldCBpPVtdO3JldHVybiB0aGlzLmZpbmRJbm5lcihlPz8wLHQ/PzFlOSxpLDAsciksaX1maW5kSW5uZXIoZSx0LHIsaSxvKXtmb3IobGV0IG49MDtuPHRoaXMubG9jYWwubGVuZ3RoO24rKyl7bGV0IGw9dGhpcy5sb2NhbFtuXTtsLmZyb208PXQmJmwudG8+PWUmJighb3x8byhsLnNwZWMpKSYmci5wdXNoKGwuY29weShsLmZyb20raSxsLnRvK2kpKX1mb3IobGV0IG49MDtuPHRoaXMuY2hpbGRyZW4ubGVuZ3RoO24rPTMpaWYodGhpcy5jaGlsZHJlbltuXTx0JiZ0aGlzLmNoaWxkcmVuW24rMV0+ZSl7bGV0IGw9dGhpcy5jaGlsZHJlbltuXSsxO3RoaXMuY2hpbGRyZW5bbisyXS5maW5kSW5uZXIoZS1sLHQtbCxyLGkrbCxvKX19bWFwKGUsdCxyKXtyZXR1cm4gdGhpcz09UGl8fGUubWFwcy5sZW5ndGg9PTA/dGhpczp0aGlzLm1hcElubmVyKGUsdCwwLDAscnx8cjUpfW1hcElubmVyKGUsdCxyLGksbyl7bGV0IG47Zm9yKGxldCBsPTA7bDx0aGlzLmxvY2FsLmxlbmd0aDtsKyspe2xldCBkPXRoaXMubG9jYWxbbF0ubWFwKGUscixpKTtkJiZkLnR5cGUudmFsaWQodCxkKT8obnx8KG49W10pKS5wdXNoKGQpOm8ub25SZW1vdmUmJm8ub25SZW1vdmUodGhpcy5sb2NhbFtsXS5zcGVjKX1yZXR1cm4gdGhpcy5jaGlsZHJlbi5sZW5ndGg/dEVhKHRoaXMuY2hpbGRyZW4sbnx8W10sZSx0LHIsaSxvKTpuP25ldyBhKG4uc29ydChzNSksQW0pOlBpfWFkZChlLHQpe3JldHVybiB0Lmxlbmd0aD90aGlzPT1QaT9hLmNyZWF0ZShlLHQpOnRoaXMuYWRkSW5uZXIoZSx0LDApOnRoaXN9YWRkSW5uZXIoZSx0LHIpe2xldCBpLG89MDtlLmZvckVhY2goKGwsZCk9PntsZXQgYz1kK3IscDtpZihwPWJuYSh0LGwsYykpe2ZvcihpfHwoaT10aGlzLmNoaWxkcmVuLnNsaWNlKCkpO288aS5sZW5ndGgmJmlbb108ZDspbys9MztpW29dPT1kP2lbbysyXT1pW28rMl0uYWRkSW5uZXIobCxwLGMrMSk6aS5zcGxpY2UobywwLGQsZCtsLm5vZGVTaXplLFhhZShwLGwsYysxLHI1KSksbys9M319KTtsZXQgbj1nbmEobz92bmEodCk6dCwtcik7Zm9yKGxldCBsPTA7bDxuLmxlbmd0aDtsKyspbltsXS50eXBlLnZhbGlkKGUsbltsXSl8fG4uc3BsaWNlKGwtLSwxKTtyZXR1cm4gbmV3IGEobi5sZW5ndGg/dGhpcy5sb2NhbC5jb25jYXQobikuc29ydChzNSk6dGhpcy5sb2NhbCxpfHx0aGlzLmNoaWxkcmVuKX1yZW1vdmUoZSl7cmV0dXJuIGUubGVuZ3RoPT0wfHx0aGlzPT1QaT90aGlzOnRoaXMucmVtb3ZlSW5uZXIoZSwwKX1yZW1vdmVJbm5lcihlLHQpe2xldCByPXRoaXMuY2hpbGRyZW4saT10aGlzLmxvY2FsO2ZvcihsZXQgbz0wO288ci5sZW5ndGg7bys9Myl7bGV0IG4sbD1yW29dK3QsZD1yW28rMV0rdDtmb3IobGV0IHA9MCx1O3A8ZS5sZW5ndGg7cCsrKSh1PWVbcF0pJiZ1LmZyb20+bCYmdS50bzxkJiYoZVtwXT1udWxsLChufHwobj1bXSkpLnB1c2godSkpO2lmKCFuKWNvbnRpbnVlO3I9PXRoaXMuY2hpbGRyZW4mJihyPXRoaXMuY2hpbGRyZW4uc2xpY2UoKSk7bGV0IGM9cltvKzJdLnJlbW92ZUlubmVyKG4sbCsxKTtjIT1QaT9yW28rMl09Yzooci5zcGxpY2UobywzKSxvLT0zKX1pZihpLmxlbmd0aCl7Zm9yKGxldCBvPTAsbjtvPGUubGVuZ3RoO28rKylpZihuPWVbb10pZm9yKGxldCBsPTA7bDxpLmxlbmd0aDtsKyspaVtsXS5lcShuLHQpJiYoaT09dGhpcy5sb2NhbCYmKGk9dGhpcy5sb2NhbC5zbGljZSgpKSxpLnNwbGljZShsLS0sMSkpfXJldHVybiByPT10aGlzLmNoaWxkcmVuJiZpPT10aGlzLmxvY2FsP3RoaXM6aS5sZW5ndGh8fHIubGVuZ3RoP25ldyBhKGkscik6UGl9Zm9yQ2hpbGQoZSx0KXtpZih0aGlzPT1QaSlyZXR1cm4gdGhpcztpZih0LmlzTGVhZilyZXR1cm4gYS5lbXB0eTtsZXQgcixpO2ZvcihsZXQgbD0wO2w8dGhpcy5jaGlsZHJlbi5sZW5ndGg7bCs9MylpZih0aGlzLmNoaWxkcmVuW2xdPj1lKXt0aGlzLmNoaWxkcmVuW2xdPT1lJiYocj10aGlzLmNoaWxkcmVuW2wrMl0pO2JyZWFrfWxldCBvPWUrMSxuPW8rdC5jb250ZW50LnNpemU7Zm9yKGxldCBsPTA7bDx0aGlzLmxvY2FsLmxlbmd0aDtsKyspe2xldCBkPXRoaXMubG9jYWxbbF07aWYoZC5mcm9tPG4mJmQudG8+byYmZC50eXBlIGluc3RhbmNlb2YgYTUpe2xldCBjPU1hdGgubWF4KG8sZC5mcm9tKS1vLHA9TWF0aC5taW4obixkLnRvKS1vO2M8cCYmKGl8fChpPVtdKSkucHVzaChkLmNvcHkoYyxwKSl9fWlmKGkpe2xldCBsPW5ldyBhKGkuc29ydChzNSksQW0pO3JldHVybiByP25ldyBaYWUoW2wscl0pOmx9cmV0dXJuIHJ8fFBpfWVxKGUpe2lmKHRoaXM9PWUpcmV0dXJuITA7aWYoIShlIGluc3RhbmNlb2YgYSl8fHRoaXMubG9jYWwubGVuZ3RoIT1lLmxvY2FsLmxlbmd0aHx8dGhpcy5jaGlsZHJlbi5sZW5ndGghPWUuY2hpbGRyZW4ubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgdD0wO3Q8dGhpcy5sb2NhbC5sZW5ndGg7dCsrKWlmKCF0aGlzLmxvY2FsW3RdLmVxKGUubG9jYWxbdF0pKXJldHVybiExO2ZvcihsZXQgdD0wO3Q8dGhpcy5jaGlsZHJlbi5sZW5ndGg7dCs9MylpZih0aGlzLmNoaWxkcmVuW3RdIT1lLmNoaWxkcmVuW3RdfHx0aGlzLmNoaWxkcmVuW3QrMV0hPWUuY2hpbGRyZW5bdCsxXXx8IXRoaXMuY2hpbGRyZW5bdCsyXS5lcShlLmNoaWxkcmVuW3QrMl0pKXJldHVybiExO3JldHVybiEwfWxvY2FscyhlKXtyZXR1cm4gclplKHRoaXMubG9jYWxzSW5uZXIoZSkpfWxvY2Fsc0lubmVyKGUpe2lmKHRoaXM9PVBpKXJldHVybiBBbTtpZihlLmlubGluZUNvbnRlbnR8fCF0aGlzLmxvY2FsLnNvbWUoYTUuaXMpKXJldHVybiB0aGlzLmxvY2FsO2xldCB0PVtdO2ZvcihsZXQgcj0wO3I8dGhpcy5sb2NhbC5sZW5ndGg7cisrKXRoaXMubG9jYWxbcl0udHlwZSBpbnN0YW5jZW9mIGE1fHx0LnB1c2godGhpcy5sb2NhbFtyXSk7cmV0dXJuIHR9Zm9yRWFjaFNldChlKXtlKHRoaXMpfX07WmkuZW1wdHk9bmV3IFppKFtdLFtdKSxaaS5yZW1vdmVPdmVybGFwPXJaZTtQaT1aaS5lbXB0eSxaYWU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJEZWNvcmF0aW9uR3JvdXAiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLm1lbWJlcnM9ZX1tYXAoZSx0KXtsZXQgcj10aGlzLm1lbWJlcnMubWFwKGk9PmkubWFwKGUsdCxyNSkpO3JldHVybiBhLmZyb20ocil9Zm9yQ2hpbGQoZSx0KXtpZih0LmlzTGVhZilyZXR1cm4gWmkuZW1wdHk7bGV0IHI9W107Zm9yKGxldCBpPTA7aTx0aGlzLm1lbWJlcnMubGVuZ3RoO2krKyl7bGV0IG89dGhpcy5tZW1iZXJzW2ldLmZvckNoaWxkKGUsdCk7byE9UGkmJihvIGluc3RhbmNlb2YgYT9yPXIuY29uY2F0KG8ubWVtYmVycyk6ci5wdXNoKG8pKX1yZXR1cm4gYS5mcm9tKHIpfWVxKGUpe2lmKCEoZSBpbnN0YW5jZW9mIGEpfHxlLm1lbWJlcnMubGVuZ3RoIT10aGlzLm1lbWJlcnMubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgdD0wO3Q8dGhpcy5tZW1iZXJzLmxlbmd0aDt0KyspaWYoIXRoaXMubWVtYmVyc1t0XS5lcShlLm1lbWJlcnNbdF0pKXJldHVybiExO3JldHVybiEwfWxvY2FscyhlKXtsZXQgdCxyPSEwO2ZvcihsZXQgaT0wO2k8dGhpcy5tZW1iZXJzLmxlbmd0aDtpKyspe2xldCBvPXRoaXMubWVtYmVyc1tpXS5sb2NhbHNJbm5lcihlKTtpZihvLmxlbmd0aClpZighdCl0PW87ZWxzZXtyJiYodD10LnNsaWNlKCkscj0hMSk7Zm9yKGxldCBuPTA7bjxvLmxlbmd0aDtuKyspdC5wdXNoKG9bbl0pfX1yZXR1cm4gdD9yWmUocj90OnQuc29ydChzNSkpOkFtfXN0YXRpYyBmcm9tKGUpe3N3aXRjaChlLmxlbmd0aCl7Y2FzZSAwOnJldHVybiBQaTtjYXNlIDE6cmV0dXJuIGVbMF07ZGVmYXVsdDpyZXR1cm4gbmV3IGEoZS5ldmVyeSh0PT50IGluc3RhbmNlb2YgWmkpP2U6ZS5yZWR1Y2UoKHQscik9PnQuY29uY2F0KHIgaW5zdGFuY2VvZiBaaT9yOnIubWVtYmVycyksW10pKX19Zm9yRWFjaFNldChlKXtmb3IobGV0IHQ9MDt0PHRoaXMubWVtYmVycy5sZW5ndGg7dCsrKXRoaXMubWVtYmVyc1t0XS5mb3JFYWNoU2V0KGUpfX07cyh0RWEsIm1hcENoaWxkcmVuIik7cyhnbmEsIm1vdmVTcGFucyIpO3MoYUVhLCJtYXBBbmRHYXRoZXJSZW1haW5pbmdEZWNvcmF0aW9ucyIpO3MoYm5hLCJ0YWtlU3BhbnNGb3JOb2RlIik7cyh2bmEsIndpdGhvdXROdWxscyIpO3MoWGFlLCJidWlsZFRyZWUiKTtzKHM1LCJieVBvcyIpO3MoclplLCJyZW1vdmVPdmVybGFwIik7cyh4bmEsImluc2VydEFoZWFkIik7cyhzWmUsInZpZXdEZWNvcmF0aW9ucyIpO3JFYT17Y2hpbGRMaXN0OiEwLGNoYXJhY3RlckRhdGE6ITAsY2hhcmFjdGVyRGF0YU9sZFZhbHVlOiEwLGF0dHJpYnV0ZXM6ITAsYXR0cmlidXRlT2xkVmFsdWU6ITAsc3VidHJlZTohMH0sc0VhPUVvJiZ5NDw9MTEsaVplPWNsYXNze3N0YXRpY3tzKHRoaXMsIlNlbGVjdGlvblN0YXRlIil9Y29uc3RydWN0b3IoKXt0aGlzLmFuY2hvck5vZGU9bnVsbCx0aGlzLmFuY2hvck9mZnNldD0wLHRoaXMuZm9jdXNOb2RlPW51bGwsdGhpcy5mb2N1c09mZnNldD0wfXNldChlKXt0aGlzLmFuY2hvck5vZGU9ZS5hbmNob3JOb2RlLHRoaXMuYW5jaG9yT2Zmc2V0PWUuYW5jaG9yT2Zmc2V0LHRoaXMuZm9jdXNOb2RlPWUuZm9jdXNOb2RlLHRoaXMuZm9jdXNPZmZzZXQ9ZS5mb2N1c09mZnNldH1jbGVhcigpe3RoaXMuYW5jaG9yTm9kZT10aGlzLmZvY3VzTm9kZT1udWxsfWVxKGUpe3JldHVybiBlLmFuY2hvck5vZGU9PXRoaXMuYW5jaG9yTm9kZSYmZS5hbmNob3JPZmZzZXQ9PXRoaXMuYW5jaG9yT2Zmc2V0JiZlLmZvY3VzTm9kZT09dGhpcy5mb2N1c05vZGUmJmUuZm9jdXNPZmZzZXQ9PXRoaXMuZm9jdXNPZmZzZXR9fSxvWmU9Y2xhc3N7c3RhdGlje3ModGhpcywiRE9NT2JzZXJ2ZXIiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMudmlldz1lLHRoaXMuaGFuZGxlRE9NQ2hhbmdlPXQsdGhpcy5xdWV1ZT1bXSx0aGlzLmZsdXNoaW5nU29vbj0tMSx0aGlzLm9ic2VydmVyPW51bGwsdGhpcy5jdXJyZW50U2VsZWN0aW9uPW5ldyBpWmUsdGhpcy5vbkNoYXJEYXRhPW51bGwsdGhpcy5zdXBwcmVzc2luZ1NlbGVjdGlvblVwZGF0ZXM9ITEsdGhpcy5sYXN0Q2hhbmdlZFRleHROb2RlPW51bGwsdGhpcy5vYnNlcnZlcj13aW5kb3cuTXV0YXRpb25PYnNlcnZlciYmbmV3IHdpbmRvdy5NdXRhdGlvbk9ic2VydmVyKHI9Pntmb3IobGV0IGk9MDtpPHIubGVuZ3RoO2krKyl0aGlzLnF1ZXVlLnB1c2gocltpXSk7RW8mJnk0PD0xMSYmci5zb21lKGk9PmkudHlwZT09ImNoaWxkTGlzdCImJmkucmVtb3ZlZE5vZGVzLmxlbmd0aHx8aS50eXBlPT0iY2hhcmFjdGVyRGF0YSImJmkub2xkVmFsdWUubGVuZ3RoPmkudGFyZ2V0Lm5vZGVWYWx1ZS5sZW5ndGgpP3RoaXMuZmx1c2hTb29uKCk6RWkmJmUuY29tcG9zaW5nJiZyLnNvbWUoaT0+aS50eXBlPT0iY2hpbGRMaXN0IiYmaS50YXJnZXQubm9kZU5hbWU9PSJUUiIpPyhlLmlucHV0LmJhZFNhZmFyaUNvbXBvc2l0aW9uPSEwLHRoaXMuZmx1c2hTb29uKCkpOnRoaXMuZmx1c2goKX0pLHNFYSYmKHRoaXMub25DaGFyRGF0YT1yPT57dGhpcy5xdWV1ZS5wdXNoKHt0YXJnZXQ6ci50YXJnZXQsdHlwZToiY2hhcmFjdGVyRGF0YSIsb2xkVmFsdWU6ci5wcmV2VmFsdWV9KSx0aGlzLmZsdXNoU29vbigpfSksdGhpcy5vblNlbGVjdGlvbkNoYW5nZT10aGlzLm9uU2VsZWN0aW9uQ2hhbmdlLmJpbmQodGhpcyl9Zmx1c2hTb29uKCl7dGhpcy5mbHVzaGluZ1Nvb248MCYmKHRoaXMuZmx1c2hpbmdTb29uPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57dGhpcy5mbHVzaGluZ1Nvb249LTEsdGhpcy5mbHVzaCgpfSwyMCkpfWZvcmNlRmx1c2goKXt0aGlzLmZsdXNoaW5nU29vbj4tMSYmKHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5mbHVzaGluZ1Nvb24pLHRoaXMuZmx1c2hpbmdTb29uPS0xLHRoaXMuZmx1c2goKSl9c3RhcnQoKXt0aGlzLm9ic2VydmVyJiYodGhpcy5vYnNlcnZlci50YWtlUmVjb3JkcygpLHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnZpZXcuZG9tLHJFYSkpLHRoaXMub25DaGFyRGF0YSYmdGhpcy52aWV3LmRvbS5hZGRFdmVudExpc3RlbmVyKCJET01DaGFyYWN0ZXJEYXRhTW9kaWZpZWQiLHRoaXMub25DaGFyRGF0YSksdGhpcy5jb25uZWN0U2VsZWN0aW9uKCl9c3RvcCgpe2lmKHRoaXMub2JzZXJ2ZXIpe2xldCBlPXRoaXMub2JzZXJ2ZXIudGFrZVJlY29yZHMoKTtpZihlLmxlbmd0aCl7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspdGhpcy5xdWV1ZS5wdXNoKGVbdF0pO3dpbmRvdy5zZXRUaW1lb3V0KCgpPT50aGlzLmZsdXNoKCksMjApfXRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpfXRoaXMub25DaGFyRGF0YSYmdGhpcy52aWV3LmRvbS5yZW1vdmVFdmVudExpc3RlbmVyKCJET01DaGFyYWN0ZXJEYXRhTW9kaWZpZWQiLHRoaXMub25DaGFyRGF0YSksdGhpcy5kaXNjb25uZWN0U2VsZWN0aW9uKCl9Y29ubmVjdFNlbGVjdGlvbigpe3RoaXMudmlldy5kb20ub3duZXJEb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLHRoaXMub25TZWxlY3Rpb25DaGFuZ2UpfWRpc2Nvbm5lY3RTZWxlY3Rpb24oKXt0aGlzLnZpZXcuZG9tLm93bmVyRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIix0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlKX1zdXBwcmVzc1NlbGVjdGlvblVwZGF0ZXMoKXt0aGlzLnN1cHByZXNzaW5nU2VsZWN0aW9uVXBkYXRlcz0hMCxzZXRUaW1lb3V0KCgpPT50aGlzLnN1cHByZXNzaW5nU2VsZWN0aW9uVXBkYXRlcz0hMSw1MCl9b25TZWxlY3Rpb25DaGFuZ2UoKXtpZihLb2EodGhpcy52aWV3KSl7aWYodGhpcy5zdXBwcmVzc2luZ1NlbGVjdGlvblVwZGF0ZXMpcmV0dXJuIFNjKHRoaXMudmlldyk7aWYoRW8mJnk0PD0xMSYmIXRoaXMudmlldy5zdGF0ZS5zZWxlY3Rpb24uZW1wdHkpe2xldCBlPXRoaXMudmlldy5kb21TZWxlY3Rpb25SYW5nZSgpO2lmKGUuZm9jdXNOb2RlJiZYZihlLmZvY3VzTm9kZSxlLmZvY3VzT2Zmc2V0LGUuYW5jaG9yTm9kZSxlLmFuY2hvck9mZnNldCkpcmV0dXJuIHRoaXMuZmx1c2hTb29uKCl9dGhpcy5mbHVzaCgpfX1zZXRDdXJTZWxlY3Rpb24oKXt0aGlzLmN1cnJlbnRTZWxlY3Rpb24uc2V0KHRoaXMudmlldy5kb21TZWxlY3Rpb25SYW5nZSgpKX1pZ25vcmVTZWxlY3Rpb25DaGFuZ2UoZSl7aWYoIWUuZm9jdXNOb2RlKXJldHVybiEwO2xldCB0PW5ldyBTZXQscjtmb3IobGV0IG89ZS5mb2N1c05vZGU7bztvPUNtKG8pKXQuYWRkKG8pO2ZvcihsZXQgbz1lLmFuY2hvck5vZGU7bztvPUNtKG8pKWlmKHQuaGFzKG8pKXtyPW87YnJlYWt9bGV0IGk9ciYmdGhpcy52aWV3LmRvY1ZpZXcubmVhcmVzdERlc2Mocik7aWYoaSYmaS5pZ25vcmVNdXRhdGlvbih7dHlwZToic2VsZWN0aW9uIix0YXJnZXQ6ci5ub2RlVHlwZT09Mz9yLnBhcmVudE5vZGU6cn0pKXJldHVybiB0aGlzLnNldEN1clNlbGVjdGlvbigpLCEwfXBlbmRpbmdSZWNvcmRzKCl7aWYodGhpcy5vYnNlcnZlcilmb3IobGV0IGUgb2YgdGhpcy5vYnNlcnZlci50YWtlUmVjb3JkcygpKXRoaXMucXVldWUucHVzaChlKTtyZXR1cm4gdGhpcy5xdWV1ZX1mbHVzaCgpe2xldHt2aWV3OmV9PXRoaXM7aWYoIWUuZG9jVmlld3x8dGhpcy5mbHVzaGluZ1Nvb24+LTEpcmV0dXJuO2xldCB0PXRoaXMucGVuZGluZ1JlY29yZHMoKTt0Lmxlbmd0aCYmKHRoaXMucXVldWU9W10pO2xldCByPWUuZG9tU2VsZWN0aW9uUmFuZ2UoKSxpPSF0aGlzLnN1cHByZXNzaW5nU2VsZWN0aW9uVXBkYXRlcyYmIXRoaXMuY3VycmVudFNlbGVjdGlvbi5lcShyKSYmS29hKGUpJiYhdGhpcy5pZ25vcmVTZWxlY3Rpb25DaGFuZ2Uociksbz0tMSxuPS0xLGw9ITEsZD1bXTtpZihlLmVkaXRhYmxlKWZvcihsZXQgcD0wO3A8dC5sZW5ndGg7cCsrKXtsZXQgdT10aGlzLnJlZ2lzdGVyTXV0YXRpb24odFtwXSxkKTt1JiYobz1vPDA/dS5mcm9tOk1hdGgubWluKHUuZnJvbSxvKSxuPW48MD91LnRvOk1hdGgubWF4KHUudG8sbiksdS50eXBlT3ZlciYmKGw9ITApKX1pZihkLnNvbWUocD0+cC5ub2RlTmFtZT09IkJSIikmJihlLmlucHV0Lmxhc3RLZXlDb2RlPT04fHxlLmlucHV0Lmxhc3RLZXlDb2RlPT00Nikpe2ZvcihsZXQgcCBvZiBkKWlmKHAubm9kZU5hbWU9PSJCUiImJnAucGFyZW50Tm9kZSl7bGV0IHU9cC5uZXh0U2libGluZztmb3IoO3UmJnUubm9kZVR5cGU9PTE7KXtpZih1LmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIil7cC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHApO2JyZWFrfXU9dS5maXJzdENoaWxkfX19ZWxzZSBpZihQbiYmZC5sZW5ndGgpe2xldCBwPWQuZmlsdGVyKHU9PnUubm9kZU5hbWU9PSJCUiIpO2lmKHAubGVuZ3RoPT0yKXtsZXRbdSxtXT1wO3UucGFyZW50Tm9kZSYmdS5wYXJlbnROb2RlLnBhcmVudE5vZGU9PW0ucGFyZW50Tm9kZT9tLnJlbW92ZSgpOnUucmVtb3ZlKCl9ZWxzZXtsZXR7Zm9jdXNOb2RlOnV9PXRoaXMuY3VycmVudFNlbGVjdGlvbjtmb3IobGV0IG0gb2YgcCl7bGV0IHY9bS5wYXJlbnROb2RlO3YmJnYubm9kZU5hbWU9PSJMSSImJighdXx8bkVhKGUsdSkhPXYpJiZtLnJlbW92ZSgpfX19bGV0IGM9bnVsbDtvPDAmJmkmJmUuaW5wdXQubGFzdEZvY3VzPkRhdGUubm93KCktMjAwJiZNYXRoLm1heChlLmlucHV0Lmxhc3RUb3VjaCxlLmlucHV0Lmxhc3RDbGljay50aW1lKTxEYXRlLm5vdygpLTMwMCYmSGFlKHIpJiYoYz1IS2UoZSkpJiZjLmVxKEl0Lm5lYXIoZS5zdGF0ZS5kb2MucmVzb2x2ZSgwKSwxKSk/KGUuaW5wdXQubGFzdEZvY3VzPTAsU2MoZSksdGhpcy5jdXJyZW50U2VsZWN0aW9uLnNldChyKSxlLnNjcm9sbFRvU2VsZWN0aW9uKCkpOihvPi0xfHxpKSYmKG8+LTEmJihlLmRvY1ZpZXcubWFya0RpcnR5KG8sbiksaUVhKGUpKSxlLmlucHV0LmJhZFNhZmFyaUNvbXBvc2l0aW9uJiYoZS5pbnB1dC5iYWRTYWZhcmlDb21wb3NpdGlvbj0hMSxsRWEoZSxkKSksdGhpcy5oYW5kbGVET01DaGFuZ2UobyxuLGwsZCksZS5kb2NWaWV3JiZlLmRvY1ZpZXcuZGlydHk/ZS51cGRhdGVTdGF0ZShlLnN0YXRlKTp0aGlzLmN1cnJlbnRTZWxlY3Rpb24uZXEocil8fFNjKGUpLHRoaXMuY3VycmVudFNlbGVjdGlvbi5zZXQocikpfXJlZ2lzdGVyTXV0YXRpb24oZSx0KXtpZih0LmluZGV4T2YoZS50YXJnZXQpPi0xKXJldHVybiBudWxsO2xldCByPXRoaXMudmlldy5kb2NWaWV3Lm5lYXJlc3REZXNjKGUudGFyZ2V0KTtpZihlLnR5cGU9PSJhdHRyaWJ1dGVzIiYmKHI9PXRoaXMudmlldy5kb2NWaWV3fHxlLmF0dHJpYnV0ZU5hbWU9PSJjb250ZW50ZWRpdGFibGUifHxlLmF0dHJpYnV0ZU5hbWU9PSJzdHlsZSImJiFlLm9sZFZhbHVlJiYhZS50YXJnZXQuZ2V0QXR0cmlidXRlKCJzdHlsZSIpKXx8IXJ8fHIuaWdub3JlTXV0YXRpb24oZSkpcmV0dXJuIG51bGw7aWYoZS50eXBlPT0iY2hpbGRMaXN0Iil7Zm9yKGxldCBwPTA7cDxlLmFkZGVkTm9kZXMubGVuZ3RoO3ArKyl7bGV0IHU9ZS5hZGRlZE5vZGVzW3BdO3QucHVzaCh1KSx1Lm5vZGVUeXBlPT0zJiYodGhpcy5sYXN0Q2hhbmdlZFRleHROb2RlPXUpfWlmKHIuY29udGVudERPTSYmci5jb250ZW50RE9NIT1yLmRvbSYmIXIuY29udGVudERPTS5jb250YWlucyhlLnRhcmdldCkpcmV0dXJue2Zyb206ci5wb3NCZWZvcmUsdG86ci5wb3NBZnRlcn07bGV0IGk9ZS5wcmV2aW91c1NpYmxpbmcsbz1lLm5leHRTaWJsaW5nO2lmKEVvJiZ5NDw9MTEmJmUuYWRkZWROb2Rlcy5sZW5ndGgpZm9yKGxldCBwPTA7cDxlLmFkZGVkTm9kZXMubGVuZ3RoO3ArKyl7bGV0e3ByZXZpb3VzU2libGluZzp1LG5leHRTaWJsaW5nOm19PWUuYWRkZWROb2Rlc1twXTsoIXV8fEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZS5hZGRlZE5vZGVzLHUpPDApJiYoaT11KSwoIW18fEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZS5hZGRlZE5vZGVzLG0pPDApJiYobz1tKX1sZXQgbj1pJiZpLnBhcmVudE5vZGU9PWUudGFyZ2V0P3JpKGkpKzE6MCxsPXIubG9jYWxQb3NGcm9tRE9NKGUudGFyZ2V0LG4sLTEpLGQ9byYmby5wYXJlbnROb2RlPT1lLnRhcmdldD9yaShvKTplLnRhcmdldC5jaGlsZE5vZGVzLmxlbmd0aCxjPXIubG9jYWxQb3NGcm9tRE9NKGUudGFyZ2V0LGQsMSk7cmV0dXJue2Zyb206bCx0bzpjfX1lbHNlIHJldHVybiBlLnR5cGU9PSJhdHRyaWJ1dGVzIj97ZnJvbTpyLnBvc0F0U3RhcnQtci5ib3JkZXIsdG86ci5wb3NBdEVuZCtyLmJvcmRlcn06KHRoaXMubGFzdENoYW5nZWRUZXh0Tm9kZT1lLnRhcmdldCx7ZnJvbTpyLnBvc0F0U3RhcnQsdG86ci5wb3NBdEVuZCx0eXBlT3ZlcjplLnRhcmdldC5ub2RlVmFsdWU9PWUub2xkVmFsdWV9KX19LHluYT1uZXcgV2Vha01hcCx3bmE9ITE7cyhpRWEsImNoZWNrQ1NTIik7cyhNbmEsInJhbmdlVG9TZWxlY3Rpb25SYW5nZSIpO3Mob0VhLCJzYWZhcmlTaGFkb3dTZWxlY3Rpb25SYW5nZSIpO3MobkVhLCJibG9ja1BhcmVudCIpO3MobEVhLCJmaXhVcEJhZFNhZmFyaUNvbXBvc2l0aW9uIik7cyhjRWEsInBhcnNlQmV0d2VlbiIpO3MoZEVhLCJydWxlRnJvbU5vZGUiKTt1RWE9L14oYXxhYmJyfGFjcm9ueW18YnxiZFtpb118YmlnfGJyfGJ1dHRvbnxjaXRlfGNvZGV8ZGF0YShsaXN0KT98ZGVsfGRmbnxlbXxpfGltZ3xpbnN8a2JkfGxhYmVsfG1hcHxtYXJrfG1ldGVyfG91dHB1dHxxfHJ1Ynl8c3xzYW1wfHNtYWxsfHNwYW58c3Ryb25nfHN1W2JwXXx0aW1lfHV8dHR8dmFyKSQvaTtzKHBFYSwicmVhZERPTUNoYW5nZSIpO3Moa25hLCJyZXNvbHZlU2VsZWN0aW9uIik7cyhmRWEsImlzTWFya0NoYW5nZSIpO3MoaEVhLCJsb29rc0xpa2VCYWNrc3BhY2UiKTtzKG5aZSwic2tpcENsb3NpbmdBbmRPcGVuaW5nIik7cyhtRWEsImZpbmREaWZmIik7cyhTbmEsImlzU3Vycm9nYXRlUGFpciIpO2dFYT1HS2UsYkVhPWxXLEVtPWNsYXNze3N0YXRpY3tzKHRoaXMsIkVkaXRvclZpZXciKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3Jvb3Q9bnVsbCx0aGlzLmZvY3VzZWQ9ITEsdGhpcy50cmFja1dyaXRlcz1udWxsLHRoaXMubW91bnRlZD0hMSx0aGlzLm1hcmtDdXJzb3I9bnVsbCx0aGlzLmN1cnNvcldyYXBwZXI9bnVsbCx0aGlzLmxhc3RTZWxlY3RlZFZpZXdEZXNjPXZvaWQgMCx0aGlzLmlucHV0PW5ldyBaS2UsdGhpcy5wcmV2RGlyZWN0UGx1Z2lucz1bXSx0aGlzLnBsdWdpblZpZXdzPVtdLHRoaXMucmVxdWlyZXNHZWNrb0hhY2tOb2RlPSExLHRoaXMuZHJhZ2dpbmc9bnVsbCx0aGlzLl9wcm9wcz10LHRoaXMuc3RhdGU9dC5zdGF0ZSx0aGlzLmRpcmVjdFBsdWdpbnM9dC5wbHVnaW5zfHxbXSx0aGlzLmRpcmVjdFBsdWdpbnMuZm9yRWFjaChMbmEpLHRoaXMuZGlzcGF0Y2g9dGhpcy5kaXNwYXRjaC5iaW5kKHRoaXMpLHRoaXMuZG9tPWUmJmUubW91bnR8fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGUmJihlLmFwcGVuZENoaWxkP2UuYXBwZW5kQ2hpbGQodGhpcy5kb20pOnR5cGVvZiBlPT0iZnVuY3Rpb24iP2UodGhpcy5kb20pOmUubW91bnQmJih0aGlzLm1vdW50ZWQ9ITApKSx0aGlzLmVkaXRhYmxlPV9uYSh0aGlzKSxDbmEodGhpcyksdGhpcy5ub2RlVmlld3M9VG5hKHRoaXMpLHRoaXMuZG9jVmlldz1Pb2EodGhpcy5zdGF0ZS5kb2Msem5hKHRoaXMpLHNaZSh0aGlzKSx0aGlzLmRvbSx0aGlzKSx0aGlzLmRvbU9ic2VydmVyPW5ldyBvWmUodGhpcywocixpLG8sbik9PnBFYSh0aGlzLHIsaSxvLG4pKSx0aGlzLmRvbU9ic2VydmVyLnN0YXJ0KCksSUFhKHRoaXMpLHRoaXMudXBkYXRlUGx1Z2luVmlld3MoKX1nZXQgY29tcG9zaW5nKCl7cmV0dXJuIHRoaXMuaW5wdXQuY29tcG9zaW5nfWdldCBwcm9wcygpe2lmKHRoaXMuX3Byb3BzLnN0YXRlIT10aGlzLnN0YXRlKXtsZXQgZT10aGlzLl9wcm9wczt0aGlzLl9wcm9wcz17fTtmb3IobGV0IHQgaW4gZSl0aGlzLl9wcm9wc1t0XT1lW3RdO3RoaXMuX3Byb3BzLnN0YXRlPXRoaXMuc3RhdGV9cmV0dXJuIHRoaXMuX3Byb3BzfXVwZGF0ZShlKXtlLmhhbmRsZURPTUV2ZW50cyE9dGhpcy5fcHJvcHMuaGFuZGxlRE9NRXZlbnRzJiZYS2UodGhpcyk7bGV0IHQ9dGhpcy5fcHJvcHM7dGhpcy5fcHJvcHM9ZSxlLnBsdWdpbnMmJihlLnBsdWdpbnMuZm9yRWFjaChMbmEpLHRoaXMuZGlyZWN0UGx1Z2lucz1lLnBsdWdpbnMpLHRoaXMudXBkYXRlU3RhdGVJbm5lcihlLnN0YXRlLHQpfXNldFByb3BzKGUpe2xldCB0PXt9O2ZvcihsZXQgciBpbiB0aGlzLl9wcm9wcyl0W3JdPXRoaXMuX3Byb3BzW3JdO3Quc3RhdGU9dGhpcy5zdGF0ZTtmb3IobGV0IHIgaW4gZSl0W3JdPWVbcl07dGhpcy51cGRhdGUodCl9dXBkYXRlU3RhdGUoZSl7dGhpcy51cGRhdGVTdGF0ZUlubmVyKGUsdGhpcy5fcHJvcHMpfXVwZGF0ZVN0YXRlSW5uZXIoZSx0KXt2YXIgcjtsZXQgaT10aGlzLnN0YXRlLG89ITEsbj0hMTtlLnN0b3JlZE1hcmtzJiZ0aGlzLmNvbXBvc2luZyYmKGZuYSh0aGlzKSxuPSEwKSx0aGlzLnN0YXRlPWU7bGV0IGw9aS5wbHVnaW5zIT1lLnBsdWdpbnN8fHRoaXMuX3Byb3BzLnBsdWdpbnMhPXQucGx1Z2lucztpZihsfHx0aGlzLl9wcm9wcy5wbHVnaW5zIT10LnBsdWdpbnN8fHRoaXMuX3Byb3BzLm5vZGVWaWV3cyE9dC5ub2RlVmlld3Mpe2xldCB2PVRuYSh0aGlzKTt4RWEodix0aGlzLm5vZGVWaWV3cykmJih0aGlzLm5vZGVWaWV3cz12LG89ITApfShsfHx0LmhhbmRsZURPTUV2ZW50cyE9dGhpcy5fcHJvcHMuaGFuZGxlRE9NRXZlbnRzKSYmWEtlKHRoaXMpLHRoaXMuZWRpdGFibGU9X25hKHRoaXMpLENuYSh0aGlzKTtsZXQgZD1zWmUodGhpcyksYz16bmEodGhpcykscD1pLnBsdWdpbnMhPWUucGx1Z2lucyYmIWkuZG9jLmVxKGUuZG9jKT8icmVzZXQiOmUuc2Nyb2xsVG9TZWxlY3Rpb24+aS5zY3JvbGxUb1NlbGVjdGlvbj8idG8gc2VsZWN0aW9uIjoicHJlc2VydmUiLHU9b3x8IXRoaXMuZG9jVmlldy5tYXRjaGVzTm9kZShlLmRvYyxjLGQpOyh1fHwhZS5zZWxlY3Rpb24uZXEoaS5zZWxlY3Rpb24pKSYmKG49ITApO2xldCBtPXA9PSJwcmVzZXJ2ZSImJm4mJnRoaXMuZG9tLnN0eWxlLm92ZXJmbG93QW5jaG9yPT1udWxsJiZKRGEodGhpcyk7aWYobil7dGhpcy5kb21PYnNlcnZlci5zdG9wKCk7bGV0IHY9dSYmKEVvfHxzaSkmJiF0aGlzLmNvbXBvc2luZyYmIWkuc2VsZWN0aW9uLmVtcHR5JiYhZS5zZWxlY3Rpb24uZW1wdHkmJnZFYShpLnNlbGVjdGlvbixlLnNlbGVjdGlvbik7aWYodSl7bGV0IHg9c2k/dGhpcy50cmFja1dyaXRlcz10aGlzLmRvbVNlbGVjdGlvblJhbmdlKCkuZm9jdXNOb2RlOm51bGw7dGhpcy5jb21wb3NpbmcmJih0aGlzLmlucHV0LmNvbXBvc2l0aW9uTm9kZT1ZQWEodGhpcykpLChvfHwhdGhpcy5kb2NWaWV3LnVwZGF0ZShlLmRvYyxjLGQsdGhpcykpJiYodGhpcy5kb2NWaWV3LnVwZGF0ZU91dGVyRGVjbyhjKSx0aGlzLmRvY1ZpZXcuZGVzdHJveSgpLHRoaXMuZG9jVmlldz1Pb2EoZS5kb2MsYyxkLHRoaXMuZG9tLHRoaXMpKSx4JiYoIXRoaXMudHJhY2tXcml0ZXN8fCF0aGlzLmRvbS5jb250YWlucyh0aGlzLnRyYWNrV3JpdGVzKSkmJih2PSEwKX12fHwhKHRoaXMuaW5wdXQubW91c2VEb3duJiZ0aGlzLmRvbU9ic2VydmVyLmN1cnJlbnRTZWxlY3Rpb24uZXEodGhpcy5kb21TZWxlY3Rpb25SYW5nZSgpKSYmeUFhKHRoaXMpKT9TYyh0aGlzLHYpOihHb2EodGhpcyxlLnNlbGVjdGlvbiksdGhpcy5kb21PYnNlcnZlci5zZXRDdXJTZWxlY3Rpb24oKSksdGhpcy5kb21PYnNlcnZlci5zdGFydCgpfXRoaXMudXBkYXRlUGx1Z2luVmlld3MoaSksISgocj10aGlzLmRyYWdnaW5nKT09PW51bGx8fHI9PT12b2lkIDApJiZyLm5vZGUmJiFpLmRvYy5lcShlLmRvYykmJnRoaXMudXBkYXRlRHJhZ2dlZE5vZGUodGhpcy5kcmFnZ2luZyxpKSxwPT0icmVzZXQiP3RoaXMuZG9tLnNjcm9sbFRvcD0wOnA9PSJ0byBzZWxlY3Rpb24iP3RoaXMuc2Nyb2xsVG9TZWxlY3Rpb24oKTptJiZlQWEobSl9c2Nyb2xsVG9TZWxlY3Rpb24oKXtsZXQgZT10aGlzLmRvbVNlbGVjdGlvblJhbmdlKCkuZm9jdXNOb2RlO2lmKCEoIWV8fCF0aGlzLmRvbS5jb250YWlucyhlLm5vZGVUeXBlPT0xP2U6ZS5wYXJlbnROb2RlKSkpe2lmKCF0aGlzLnNvbWVQcm9wKCJoYW5kbGVTY3JvbGxUb1NlbGVjdGlvbiIsdD0+dCh0aGlzKSkpaWYodGhpcy5zdGF0ZS5zZWxlY3Rpb24gaW5zdGFuY2VvZiBNdCl7bGV0IHQ9dGhpcy5kb2NWaWV3LmRvbUFmdGVyUG9zKHRoaXMuc3RhdGUuc2VsZWN0aW9uLmZyb20pO3Qubm9kZVR5cGU9PTEmJkNvYSh0aGlzLHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksZSl9ZWxzZSBDb2EodGhpcyx0aGlzLmNvb3Jkc0F0UG9zKHRoaXMuc3RhdGUuc2VsZWN0aW9uLmhlYWQsMSksZSl9fWRlc3Ryb3lQbHVnaW5WaWV3cygpe2xldCBlO2Zvcig7ZT10aGlzLnBsdWdpblZpZXdzLnBvcCgpOyllLmRlc3Ryb3kmJmUuZGVzdHJveSgpfXVwZGF0ZVBsdWdpblZpZXdzKGUpe2lmKCFlfHxlLnBsdWdpbnMhPXRoaXMuc3RhdGUucGx1Z2luc3x8dGhpcy5kaXJlY3RQbHVnaW5zIT10aGlzLnByZXZEaXJlY3RQbHVnaW5zKXt0aGlzLnByZXZEaXJlY3RQbHVnaW5zPXRoaXMuZGlyZWN0UGx1Z2lucyx0aGlzLmRlc3Ryb3lQbHVnaW5WaWV3cygpO2ZvcihsZXQgdD0wO3Q8dGhpcy5kaXJlY3RQbHVnaW5zLmxlbmd0aDt0Kyspe2xldCByPXRoaXMuZGlyZWN0UGx1Z2luc1t0XTtyLnNwZWMudmlldyYmdGhpcy5wbHVnaW5WaWV3cy5wdXNoKHIuc3BlYy52aWV3KHRoaXMpKX1mb3IobGV0IHQ9MDt0PHRoaXMuc3RhdGUucGx1Z2lucy5sZW5ndGg7dCsrKXtsZXQgcj10aGlzLnN0YXRlLnBsdWdpbnNbdF07ci5zcGVjLnZpZXcmJnRoaXMucGx1Z2luVmlld3MucHVzaChyLnNwZWMudmlldyh0aGlzKSl9fWVsc2UgZm9yKGxldCB0PTA7dDx0aGlzLnBsdWdpblZpZXdzLmxlbmd0aDt0Kyspe2xldCByPXRoaXMucGx1Z2luVmlld3NbdF07ci51cGRhdGUmJnIudXBkYXRlKHRoaXMsZSl9fXVwZGF0ZURyYWdnZWROb2RlKGUsdCl7bGV0IHI9ZS5ub2RlLGk9LTE7aWYoci5mcm9tPHRoaXMuc3RhdGUuZG9jLmNvbnRlbnQuc2l6ZSYmdGhpcy5zdGF0ZS5kb2Mubm9kZUF0KHIuZnJvbSk9PXIubm9kZSlpPXIuZnJvbTtlbHNle2xldCBvPXIuZnJvbSsodGhpcy5zdGF0ZS5kb2MuY29udGVudC5zaXplLXQuZG9jLmNvbnRlbnQuc2l6ZSk7KG8+MCYmbzx0aGlzLnN0YXRlLmRvYy5jb250ZW50LnNpemUmJnRoaXMuc3RhdGUuZG9jLm5vZGVBdChvKSk9PXIubm9kZSYmKGk9byl9dGhpcy5kcmFnZ2luZz1uZXcgWWFlKGUuc2xpY2UsZS5tb3ZlLGk8MD92b2lkIDA6TXQuY3JlYXRlKHRoaXMuc3RhdGUuZG9jLGkpKX1zb21lUHJvcChlLHQpe2xldCByPXRoaXMuX3Byb3BzJiZ0aGlzLl9wcm9wc1tlXSxpO2lmKHIhPW51bGwmJihpPXQ/dChyKTpyKSlyZXR1cm4gaTtmb3IobGV0IG49MDtuPHRoaXMuZGlyZWN0UGx1Z2lucy5sZW5ndGg7bisrKXtsZXQgbD10aGlzLmRpcmVjdFBsdWdpbnNbbl0ucHJvcHNbZV07aWYobCE9bnVsbCYmKGk9dD90KGwpOmwpKXJldHVybiBpfWxldCBvPXRoaXMuc3RhdGUucGx1Z2lucztpZihvKWZvcihsZXQgbj0wO248by5sZW5ndGg7bisrKXtsZXQgbD1vW25dLnByb3BzW2VdO2lmKGwhPW51bGwmJihpPXQ/dChsKTpsKSlyZXR1cm4gaX19aGFzRm9jdXMoKXtpZihFbyl7bGV0IGU9dGhpcy5yb290LmFjdGl2ZUVsZW1lbnQ7aWYoZT09dGhpcy5kb20pcmV0dXJuITA7aWYoIWV8fCF0aGlzLmRvbS5jb250YWlucyhlKSlyZXR1cm4hMTtmb3IoO2UmJnRoaXMuZG9tIT1lJiZ0aGlzLmRvbS5jb250YWlucyhlKTspe2lmKGUuY29udGVudEVkaXRhYmxlPT0iZmFsc2UiKXJldHVybiExO2U9ZS5wYXJlbnRFbGVtZW50fXJldHVybiEwfXJldHVybiB0aGlzLnJvb3QuYWN0aXZlRWxlbWVudD09dGhpcy5kb219Zm9jdXMoKXt0aGlzLmRvbU9ic2VydmVyLnN0b3AoKSx0aGlzLmVkaXRhYmxlJiZ0QWEodGhpcy5kb20pLFNjKHRoaXMpLHRoaXMuZG9tT2JzZXJ2ZXIuc3RhcnQoKX1nZXQgcm9vdCgpe2xldCBlPXRoaXMuX3Jvb3Q7aWYoZT09bnVsbCl7Zm9yKGxldCB0PXRoaXMuZG9tLnBhcmVudE5vZGU7dDt0PXQucGFyZW50Tm9kZSlpZih0Lm5vZGVUeXBlPT05fHx0Lm5vZGVUeXBlPT0xMSYmdC5ob3N0KXJldHVybiB0LmdldFNlbGVjdGlvbnx8KE9iamVjdC5nZXRQcm90b3R5cGVPZih0KS5nZXRTZWxlY3Rpb249KCk9PnQub3duZXJEb2N1bWVudC5nZXRTZWxlY3Rpb24oKSksdGhpcy5fcm9vdD10fXJldHVybiBlfHxkb2N1bWVudH11cGRhdGVSb290KCl7dGhpcy5fcm9vdD1udWxsfXBvc0F0Q29vcmRzKGUpe3JldHVybiBvQWEodGhpcyxlKX1jb29yZHNBdFBvcyhlLHQ9MSl7cmV0dXJuIEFvYSh0aGlzLGUsdCl9ZG9tQXRQb3MoZSx0PTApe3JldHVybiB0aGlzLmRvY1ZpZXcuZG9tRnJvbVBvcyhlLHQpfW5vZGVET00oZSl7bGV0IHQ9dGhpcy5kb2NWaWV3LmRlc2NBdChlKTtyZXR1cm4gdD90Lm5vZGVET006bnVsbH1wb3NBdERPTShlLHQscj0tMSl7bGV0IGk9dGhpcy5kb2NWaWV3LnBvc0Zyb21ET00oZSx0LHIpO2lmKGk9PW51bGwpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkRPTSBwb3NpdGlvbiBub3QgaW5zaWRlIHRoZSBlZGl0b3IiKTtyZXR1cm4gaX1lbmRPZlRleHRibG9jayhlLHQpe3JldHVybiB1QWEodGhpcyx0fHx0aGlzLnN0YXRlLGUpfXBhc3RlSFRNTChlLHQpe3JldHVybiBkVyh0aGlzLCIiLGUsITEsdHx8bmV3IENsaXBib2FyZEV2ZW50KCJwYXN0ZSIpKX1wYXN0ZVRleHQoZSx0KXtyZXR1cm4gZFcodGhpcyxlLG51bGwsITAsdHx8bmV3IENsaXBib2FyZEV2ZW50KCJwYXN0ZSIpKX1zZXJpYWxpemVGb3JDbGlwYm9hcmQoZSl7cmV0dXJuIFdLZSh0aGlzLGUpfWRlc3Ryb3koKXt0aGlzLmRvY1ZpZXcmJihOQWEodGhpcyksdGhpcy5kZXN0cm95UGx1Z2luVmlld3MoKSx0aGlzLm1vdW50ZWQ/KHRoaXMuZG9jVmlldy51cGRhdGUodGhpcy5zdGF0ZS5kb2MsW10sc1plKHRoaXMpLHRoaXMpLHRoaXMuZG9tLnRleHRDb250ZW50PSIiKTp0aGlzLmRvbS5wYXJlbnROb2RlJiZ0aGlzLmRvbS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZG9tKSx0aGlzLmRvY1ZpZXcuZGVzdHJveSgpLHRoaXMuZG9jVmlldz1udWxsLFZEYSgpKX1nZXQgaXNEZXN0cm95ZWQoKXtyZXR1cm4gdGhpcy5kb2NWaWV3PT1udWxsfWRpc3BhdGNoRXZlbnQoZSl7cmV0dXJuIE9BYSh0aGlzLGUpfWRvbVNlbGVjdGlvblJhbmdlKCl7bGV0IGU9dGhpcy5kb21TZWxlY3Rpb24oKTtyZXR1cm4gZT9FaSYmdGhpcy5yb290Lm5vZGVUeXBlPT09MTEmJllEYSh0aGlzLmRvbS5vd25lckRvY3VtZW50KT09dGhpcy5kb20mJm9FYSh0aGlzLGUpfHxlOntmb2N1c05vZGU6bnVsbCxmb2N1c09mZnNldDowLGFuY2hvck5vZGU6bnVsbCxhbmNob3JPZmZzZXQ6MH19ZG9tU2VsZWN0aW9uKCl7cmV0dXJuIHRoaXMucm9vdC5nZXRTZWxlY3Rpb24oKX19O0VtLnByb3RvdHlwZS5kaXNwYXRjaD1mdW5jdGlvbihhKXtsZXQgZT10aGlzLl9wcm9wcy5kaXNwYXRjaFRyYW5zYWN0aW9uO2U/ZS5jYWxsKHRoaXMsYSk6dGhpcy51cGRhdGVTdGF0ZSh0aGlzLnN0YXRlLmFwcGx5KGEpKX07cyh6bmEsImNvbXB1dGVEb2NEZWNvIik7cyhDbmEsInVwZGF0ZUN1cnNvcldyYXBwZXIiKTtzKF9uYSwiZ2V0RWRpdGFibGUiKTtzKHZFYSwic2VsZWN0aW9uQ29udGV4dENoYW5nZWQiKTtzKFRuYSwiYnVpbGROb2RlVmlld3MiKTtzKHhFYSwiY2hhbmdlZE5vZGVWaWV3cyIpO3MoTG5hLCJjaGVja1N0YXRlQ29tcG9uZW50Iil9KTt2YXIgJG5hPWYoKCk9PntsWmUoKX0pO2Z1bmN0aW9uIERuYShhKXt2YXIgZT15RWEmJmEubWV0YUtleSYmYS5zaGlmdEtleSYmIWEuY3RybEtleSYmIWEuYWx0S2V5fHx3RWEmJmEuc2hpZnRLZXkmJmEua2V5JiZhLmtleS5sZW5ndGg9PTF8fGEua2V5PT0iVW5pZGVudGlmaWVkIix0PSFlJiZhLmtleXx8KGEuc2hpZnRLZXk/UWFlOnpjKVthLmtleUNvZGVdfHxhLmtleXx8IlVuaWRlbnRpZmllZCI7cmV0dXJuIHQ9PSJFc2MiJiYodD0iRXNjYXBlIiksdD09IkRlbCImJih0PSJEZWxldGUiKSx0PT0iTGVmdCImJih0PSJBcnJvd0xlZnQiKSx0PT0iVXAiJiYodD0iQXJyb3dVcCIpLHQ9PSJSaWdodCImJih0PSJBcnJvd1JpZ2h0IiksdD09IkRvd24iJiYodD0iQXJyb3dEb3duIiksdH12YXIgemMsUWFlLHlFYSx3RWEsZ3MsSmFlLEFuYT1mKCgpPT57emM9ezg6IkJhY2tzcGFjZSIsOToiVGFiIiwxMDoiRW50ZXIiLDEyOiJOdW1Mb2NrIiwxMzoiRW50ZXIiLDE2OiJTaGlmdCIsMTc6IkNvbnRyb2wiLDE4OiJBbHQiLDIwOiJDYXBzTG9jayIsMjc6IkVzY2FwZSIsMzI6IiAiLDMzOiJQYWdlVXAiLDM0OiJQYWdlRG93biIsMzU6IkVuZCIsMzY6IkhvbWUiLDM3OiJBcnJvd0xlZnQiLDM4OiJBcnJvd1VwIiwzOToiQXJyb3dSaWdodCIsNDA6IkFycm93RG93biIsNDQ6IlByaW50U2NyZWVuIiw0NToiSW5zZXJ0Iiw0NjoiRGVsZXRlIiw1OToiOyIsNjE6Ij0iLDkxOiJNZXRhIiw5MjoiTWV0YSIsMTA2OiIqIiwxMDc6IisiLDEwODoiLCIsMTA5OiItIiwxMTA6Ii4iLDExMToiLyIsMTQ0OiJOdW1Mb2NrIiwxNDU6IlNjcm9sbExvY2siLDE2MDoiU2hpZnQiLDE2MToiU2hpZnQiLDE2MjoiQ29udHJvbCIsMTYzOiJDb250cm9sIiwxNjQ6IkFsdCIsMTY1OiJBbHQiLDE3MzoiLSIsMTg2OiI7IiwxODc6Ij0iLDE4ODoiLCIsMTg5OiItIiwxOTA6Ii4iLDE5MToiLyIsMTkyOiJgIiwyMTk6IlsiLDIyMDoiXFwiLDIyMToiXSIsMjIyOiInIn0sUWFlPXs0ODoiKSIsNDk6IiEiLDUwOiJAIiw1MToiIyIsNTI6IiQiLDUzOiIlIiw1NDoiXiIsNTU6IiYiLDU2OiIqIiw1NzoiKCIsNTk6IjoiLDYxOiIrIiwxNzM6Il8iLDE4NjoiOiIsMTg3OiIrIiwxODg6IjwiLDE4OToiXyIsMTkwOiI+IiwxOTE6Ij8iLDE5MjoifiIsMjE5OiJ7IiwyMjA6InwiLDIyMToifSIsMjIyOiciJ30seUVhPXR5cGVvZiBuYXZpZ2F0b3I8InUiJiYvTWFjLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksd0VhPXR5cGVvZiBuYXZpZ2F0b3I8InUiJiYvTVNJRSBcZHxUcmlkZW50XC8oPzpbNy05XXxcZHsyLH0pXC4uKnJ2OihcZCspLy5leGVjKG5hdmlnYXRvci51c2VyQWdlbnQpO2Zvcihncz0wO2dzPDEwO2dzKyspemNbNDgrZ3NdPXpjWzk2K2dzXT1TdHJpbmcoZ3MpO2Zvcihncz0xO2dzPD0yNDtncysrKXpjW2dzKzExMV09IkYiK2dzO2Zvcihncz02NTtnczw9OTA7Z3MrKyl6Y1tnc109U3RyaW5nLmZyb21DaGFyQ29kZShncyszMiksUWFlW2dzXT1TdHJpbmcuZnJvbUNoYXJDb2RlKGdzKTtmb3IoSmFlIGluIHpjKVFhZS5oYXNPd25Qcm9wZXJ0eShKYWUpfHwoUWFlW0phZV09emNbSmFlXSk7cyhEbmEsImtleU5hbWUiKX0pO2Z1bmN0aW9uIFNFYShhKXtsZXQgZT1hLnNwbGl0KC8tKD8hJCkvKSx0PWVbZS5sZW5ndGgtMV07dD09IlNwYWNlIiYmKHQ9IiAiKTtsZXQgcixpLG8sbjtmb3IobGV0IGw9MDtsPGUubGVuZ3RoLTE7bCsrKXtsZXQgZD1lW2xdO2lmKC9eKGNtZHxtZXRhfG0pJC9pLnRlc3QoZCkpbj0hMDtlbHNlIGlmKC9eYShsdCk/JC9pLnRlc3QoZCkpcj0hMDtlbHNlIGlmKC9eKGN8Y3RybHxjb250cm9sKSQvaS50ZXN0KGQpKWk9ITA7ZWxzZSBpZigvXnMoaGlmdCk/JC9pLnRlc3QoZCkpbz0hMDtlbHNlIGlmKC9ebW9kJC9pLnRlc3QoZCkpTUVhP249ITA6aT0hMDtlbHNlIHRocm93IG5ldyBFcnJvcigiVW5yZWNvZ25pemVkIG1vZGlmaWVyIG5hbWU6ICIrZCl9cmV0dXJuIHImJih0PSJBbHQtIit0KSxpJiYodD0iQ3RybC0iK3QpLG4mJih0PSJNZXRhLSIrdCksbyYmKHQ9IlNoaWZ0LSIrdCksdH1mdW5jdGlvbiB6RWEoYSl7bGV0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IobGV0IHQgaW4gYSllW1NFYSh0KV09YVt0XTtyZXR1cm4gZX1mdW5jdGlvbiBjWmUoYSxlLHQ9ITApe3JldHVybiBlLmFsdEtleSYmKGE9IkFsdC0iK2EpLGUuY3RybEtleSYmKGE9IkN0cmwtIithKSxlLm1ldGFLZXkmJihhPSJNZXRhLSIrYSksdCYmZS5zaGlmdEtleSYmKGE9IlNoaWZ0LSIrYSksYX1mdW5jdGlvbiBkWmUoYSl7cmV0dXJuIG5ldyBycih7cHJvcHM6e2hhbmRsZUtleURvd246ZXJlKGEpfX0pfWZ1bmN0aW9uIGVyZShhKXtsZXQgZT16RWEoYSk7cmV0dXJuIGZ1bmN0aW9uKHQscil7bGV0IGk9RG5hKHIpLG8sbj1lW2NaZShpLHIpXTtpZihuJiZuKHQuc3RhdGUsdC5kaXNwYXRjaCx0KSlyZXR1cm4hMDtpZihpLmxlbmd0aD09MSYmaSE9IiAiKXtpZihyLnNoaWZ0S2V5KXtsZXQgbD1lW2NaZShpLHIsITEpXTtpZihsJiZsKHQuc3RhdGUsdC5kaXNwYXRjaCx0KSlyZXR1cm4hMH1pZigoci5hbHRLZXl8fHIubWV0YUtleXx8ci5jdHJsS2V5KSYmIShrRWEmJnIuY3RybEtleSYmci5hbHRLZXkpJiYobz16Y1tyLmtleUNvZGVdKSYmbyE9aSl7bGV0IGw9ZVtjWmUobyxyKV07aWYobCYmbCh0LnN0YXRlLHQuZGlzcGF0Y2gsdCkpcmV0dXJuITB9fXJldHVybiExfX12YXIgTUVhLGtFYSx1WmU9ZigoKT0+e0FuYSgpO3ljKCk7TUVhPXR5cGVvZiBuYXZpZ2F0b3I8InUiJiYvTWFjfGlQKGhvbmV8W29hXWQpLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksa0VhPXR5cGVvZiBuYXZpZ2F0b3I8InUiJiYvV2luLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSk7cyhTRWEsIm5vcm1hbGl6ZUtleU5hbWUiKTtzKHpFYSwibm9ybWFsaXplIik7cyhjWmUsIm1vZGlmaWVycyIpO3MoZFplLCJrZXltYXAiKTtzKGVyZSwia2V5ZG93bkhhbmRsZXIiKX0pO3ZhciBFbmE9ZigoKT0+e3VaZSgpfSk7dmFyIFBuYT1mKCgpPT57ZzQoKX0pO3ZhciBJbmE9ZigoKT0+e3Y0KCl9KTtmdW5jdGlvbiBObmEoYSxlKXtsZXR7JGN1cnNvcjp0fT1hLnNlbGVjdGlvbjtyZXR1cm4hdHx8KGU/IWUuZW5kT2ZUZXh0YmxvY2soImJhY2t3YXJkIixhKTp0LnBhcmVudE9mZnNldD4wKT9udWxsOnR9ZnVuY3Rpb24gUm5hKGEsZSx0KXtsZXQgcj1lLm5vZGVCZWZvcmUsaT1yLG89ZS5wb3MtMTtmb3IoOyFpLmlzVGV4dGJsb2NrO28tLSl7aWYoaS50eXBlLnNwZWMuaXNvbGF0aW5nKXJldHVybiExO2xldCBwPWkubGFzdENoaWxkO2lmKCFwKXJldHVybiExO2k9cH1sZXQgbj1lLm5vZGVBZnRlcixsPW4sZD1lLnBvcysxO2Zvcig7IWwuaXNUZXh0YmxvY2s7ZCsrKXtpZihsLnR5cGUuc3BlYy5pc29sYXRpbmcpcmV0dXJuITE7bGV0IHA9bC5maXJzdENoaWxkO2lmKCFwKXJldHVybiExO2w9cH1sZXQgYz1TbShhLmRvYyxvLGQsaXQuZW1wdHkpO2lmKCFjfHxjLmZyb20hPW98fGMgaW5zdGFuY2VvZiBHcyYmYy5zbGljZS5zaXplPj1kLW8pcmV0dXJuITE7aWYodCl7bGV0IHA9YS50ci5zdGVwKGMpO3Auc2V0U2VsZWN0aW9uKFJ0LmNyZWF0ZShwLmRvYyxvKSksdChwLnNjcm9sbEludG9WaWV3KCkpfXJldHVybiEwfWZ1bmN0aW9uIFBtKGEsZSx0PSExKXtmb3IobGV0IHI9YTtyO3I9ZT09InN0YXJ0Ij9yLmZpcnN0Q2hpbGQ6ci5sYXN0Q2hpbGQpe2lmKHIuaXNUZXh0YmxvY2spcmV0dXJuITA7aWYodCYmci5jaGlsZENvdW50IT0xKXJldHVybiExfXJldHVybiExfWZ1bmN0aW9uIHBaZShhKXtpZighYS5wYXJlbnQudHlwZS5zcGVjLmlzb2xhdGluZylmb3IobGV0IGU9YS5kZXB0aC0xO2U+PTA7ZS0tKXtpZihhLmluZGV4KGUpPjApcmV0dXJuIGEuZG9jLnJlc29sdmUoYS5iZWZvcmUoZSsxKSk7aWYoYS5ub2RlKGUpLnR5cGUuc3BlYy5pc29sYXRpbmcpYnJlYWt9cmV0dXJuIG51bGx9ZnVuY3Rpb24gT25hKGEsZSl7bGV0eyRjdXJzb3I6dH09YS5zZWxlY3Rpb247cmV0dXJuIXR8fChlPyFlLmVuZE9mVGV4dGJsb2NrKCJmb3J3YXJkIixhKTp0LnBhcmVudE9mZnNldDx0LnBhcmVudC5jb250ZW50LnNpemUpP251bGw6dH1mdW5jdGlvbiBmWmUoYSl7aWYoIWEucGFyZW50LnR5cGUuc3BlYy5pc29sYXRpbmcpZm9yKGxldCBlPWEuZGVwdGgtMTtlPj0wO2UtLSl7bGV0IHQ9YS5ub2RlKGUpO2lmKGEuaW5kZXgoZSkrMTx0LmNoaWxkQ291bnQpcmV0dXJuIGEuZG9jLnJlc29sdmUoYS5hZnRlcihlKzEpKTtpZih0LnR5cGUuc3BlYy5pc29sYXRpbmcpYnJlYWt9cmV0dXJuIG51bGx9ZnVuY3Rpb24gaFplKGEpe2ZvcihsZXQgZT0wO2U8YS5lZGdlQ291bnQ7ZSsrKXtsZXR7dHlwZTp0fT1hLmVkZ2UoZSk7aWYodC5pc1RleHRibG9jayYmIXQuaGFzUmVxdWlyZWRBdHRycygpKXJldHVybiB0fXJldHVybiBudWxsfWZ1bmN0aW9uIEZuYShhKXtyZXR1cm4oZSx0KT0+e2xldHskZnJvbTpyLCR0bzppfT1lLnNlbGVjdGlvbjtpZihlLnNlbGVjdGlvbiBpbnN0YW5jZW9mIE10JiZlLnNlbGVjdGlvbi5ub2RlLmlzQmxvY2spcmV0dXJuIXIucGFyZW50T2Zmc2V0fHwhQW8oZS5kb2Msci5wb3MpPyExOih0JiZ0KGUudHIuc3BsaXQoci5wb3MpLnNjcm9sbEludG9WaWV3KCkpLCEwKTtpZighci5kZXB0aClyZXR1cm4hMTtsZXQgbz1bXSxuLGwsZD0hMSxjPSExO2ZvcihsZXQgdj1yLmRlcHRoOzt2LS0paWYoci5ub2RlKHYpLmlzQmxvY2spe2Q9ci5lbmQodik9PXIucG9zKyhyLmRlcHRoLXYpLGM9ci5zdGFydCh2KT09ci5wb3MtKHIuZGVwdGgtdiksbD1oWmUoci5ub2RlKHYtMSkuY29udGVudE1hdGNoQXQoci5pbmRleEFmdGVyKHYtMSkpKTtsZXQgYj1hJiZhKGkucGFyZW50LGQscik7by51bnNoaWZ0KGJ8fChkJiZsP3t0eXBlOmx9Om51bGwpKSxuPXY7YnJlYWt9ZWxzZXtpZih2PT0xKXJldHVybiExO28udW5zaGlmdChudWxsKX1sZXQgcD1lLnRyOyhlLnNlbGVjdGlvbiBpbnN0YW5jZW9mIFJ0fHxlLnNlbGVjdGlvbiBpbnN0YW5jZW9mIEFpKSYmcC5kZWxldGVTZWxlY3Rpb24oKTtsZXQgdT1wLm1hcHBpbmcubWFwKHIucG9zKSxtPUFvKHAuZG9jLHUsby5sZW5ndGgsbyk7aWYobXx8KG9bMF09bD97dHlwZTpsfTpudWxsLG09QW8ocC5kb2MsdSxvLmxlbmd0aCxvKSksIW0pcmV0dXJuITE7aWYocC5zcGxpdCh1LG8ubGVuZ3RoLG8pLCFkJiZjJiZyLm5vZGUobikudHlwZSE9bCl7bGV0IHY9cC5tYXBwaW5nLm1hcChyLmJlZm9yZShuKSkseD1wLmRvYy5yZXNvbHZlKHYpO2wmJnIubm9kZShuLTEpLmNhblJlcGxhY2VXaXRoKHguaW5kZXgoKSx4LmluZGV4KCkrMSxsKSYmcC5zZXROb2RlTWFya3VwKHAubWFwcGluZy5tYXAoci5iZWZvcmUobikpLGwpfXJldHVybiB0JiZ0KHAuc2Nyb2xsSW50b1ZpZXcoKSksITB9fWZ1bmN0aW9uIF9FYShhLGUsdCl7bGV0IHI9ZS5ub2RlQmVmb3JlLGk9ZS5ub2RlQWZ0ZXIsbz1lLmluZGV4KCk7cmV0dXJuIXJ8fCFpfHwhci50eXBlLmNvbXBhdGlibGVDb250ZW50KGkudHlwZSk/ITE6IXIuY29udGVudC5zaXplJiZlLnBhcmVudC5jYW5SZXBsYWNlKG8tMSxvKT8odCYmdChhLnRyLmRlbGV0ZShlLnBvcy1yLm5vZGVTaXplLGUucG9zKS5zY3JvbGxJbnRvVmlldygpKSwhMCk6IWUucGFyZW50LmNhblJlcGxhY2UobyxvKzEpfHwhKGkuaXNUZXh0YmxvY2t8fHRuKGEuZG9jLGUucG9zKSk/ITE6KHQmJnQoYS50ci5qb2luKGUucG9zKS5zY3JvbGxJbnRvVmlldygpKSwhMCl9ZnVuY3Rpb24gSG5hKGEsZSx0LHIpe2xldCBpPWUubm9kZUJlZm9yZSxvPWUubm9kZUFmdGVyLG4sbCxkPWkudHlwZS5zcGVjLmlzb2xhdGluZ3x8by50eXBlLnNwZWMuaXNvbGF0aW5nO2lmKCFkJiZfRWEoYSxlLHQpKXJldHVybiEwO2xldCBjPSFkJiZlLnBhcmVudC5jYW5SZXBsYWNlKGUuaW5kZXgoKSxlLmluZGV4KCkrMSk7aWYoYyYmKG49KGw9aS5jb250ZW50TWF0Y2hBdChpLmNoaWxkQ291bnQpKS5maW5kV3JhcHBpbmcoby50eXBlKSkmJmwubWF0Y2hUeXBlKG5bMF18fG8udHlwZSkudmFsaWRFbmQpe2lmKHQpe2xldCB2PWUucG9zK28ubm9kZVNpemUseD1WZS5lbXB0eTtmb3IobGV0IHk9bi5sZW5ndGgtMTt5Pj0wO3ktLSl4PVZlLmZyb20oblt5XS5jcmVhdGUobnVsbCx4KSk7eD1WZS5mcm9tKGkuY29weSh4KSk7bGV0IGI9YS50ci5zdGVwKG5ldyBlcyhlLnBvcy0xLHYsZS5wb3MsdixuZXcgaXQoeCwxLDApLG4ubGVuZ3RoLCEwKSksZz1iLmRvYy5yZXNvbHZlKHYrMipuLmxlbmd0aCk7Zy5ub2RlQWZ0ZXImJmcubm9kZUFmdGVyLnR5cGU9PWkudHlwZSYmdG4oYi5kb2MsZy5wb3MpJiZiLmpvaW4oZy5wb3MpLHQoYi5zY3JvbGxJbnRvVmlldygpKX1yZXR1cm4hMH1sZXQgcD1vLnR5cGUuc3BlYy5pc29sYXRpbmd8fHI+MCYmZD9udWxsOkl0LmZpbmRGcm9tKGUsMSksdT1wJiZwLiRmcm9tLmJsb2NrUmFuZ2UocC4kdG8pLG09dSYmWjIodSk7aWYobSE9bnVsbCYmbT49ZS5kZXB0aClyZXR1cm4gdCYmdChhLnRyLmxpZnQodSxtKS5zY3JvbGxJbnRvVmlldygpKSwhMDtpZihjJiZQbShvLCJzdGFydCIsITApJiZQbShpLCJlbmQiKSl7bGV0IHY9aSx4PVtdO2Zvcig7eC5wdXNoKHYpLCF2LmlzVGV4dGJsb2NrOyl2PXYubGFzdENoaWxkO2xldCBiPW8sZz0xO2Zvcig7IWIuaXNUZXh0YmxvY2s7Yj1iLmZpcnN0Q2hpbGQpZysrO2lmKHYuY2FuUmVwbGFjZSh2LmNoaWxkQ291bnQsdi5jaGlsZENvdW50LGIuY29udGVudCkpe2lmKHQpe2xldCB5PVZlLmVtcHR5O2ZvcihsZXQgQz14Lmxlbmd0aC0xO0M+PTA7Qy0tKXk9VmUuZnJvbSh4W0NdLmNvcHkoeSkpO2xldCBrPWEudHIuc3RlcChuZXcgZXMoZS5wb3MteC5sZW5ndGgsZS5wb3Mrby5ub2RlU2l6ZSxlLnBvcytnLGUucG9zK28ubm9kZVNpemUtZyxuZXcgaXQoeSx4Lmxlbmd0aCwwKSwwLCEwKSk7dChrLnNjcm9sbEludG9WaWV3KCkpfXJldHVybiEwfX1yZXR1cm4hMX1mdW5jdGlvbiBxbmEoYSl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7bGV0IHI9ZS5zZWxlY3Rpb24saT1hPDA/ci4kZnJvbTpyLiR0byxvPWkuZGVwdGg7Zm9yKDtpLm5vZGUobykuaXNJbmxpbmU7KXtpZighbylyZXR1cm4hMTtvLS19cmV0dXJuIGkubm9kZShvKS5pc1RleHRibG9jaz8odCYmdChlLnRyLnNldFNlbGVjdGlvbihSdC5jcmVhdGUoZS5kb2MsYTwwP2kuc3RhcnQobyk6aS5lbmQobykpKSksITApOiExfX1mdW5jdGlvbiBTWmUoYSxlPW51bGwpe3JldHVybiBmdW5jdGlvbih0LHIpe2xldHskZnJvbTppLCR0bzpvfT10LnNlbGVjdGlvbixuPWkuYmxvY2tSYW5nZShvKSxsPW4mJkdmKG4sYSxlKTtyZXR1cm4gbD8ociYmcih0LnRyLndyYXAobixsKS5zY3JvbGxJbnRvVmlldygpKSwhMCk6ITF9fWZ1bmN0aW9uIHByZShhLGU9bnVsbCl7cmV0dXJuIGZ1bmN0aW9uKHQscil7bGV0IGk9ITE7Zm9yKGxldCBvPTA7bzx0LnNlbGVjdGlvbi5yYW5nZXMubGVuZ3RoJiYhaTtvKyspe2xldHskZnJvbTp7cG9zOm59LCR0bzp7cG9zOmx9fT10LnNlbGVjdGlvbi5yYW5nZXNbb107dC5kb2Mubm9kZXNCZXR3ZWVuKG4sbCwoZCxjKT0+e2lmKGkpcmV0dXJuITE7aWYoISghZC5pc1RleHRibG9ja3x8ZC5oYXNNYXJrdXAoYSxlKSkpaWYoZC50eXBlPT1hKWk9ITA7ZWxzZXtsZXQgcD10LmRvYy5yZXNvbHZlKGMpLHU9cC5pbmRleCgpO2k9cC5wYXJlbnQuY2FuUmVwbGFjZVdpdGgodSx1KzEsYSl9fSl9aWYoIWkpcmV0dXJuITE7aWYocil7bGV0IG89dC50cjtmb3IobGV0IG49MDtuPHQuc2VsZWN0aW9uLnJhbmdlcy5sZW5ndGg7bisrKXtsZXR7JGZyb206e3BvczpsfSwkdG86e3BvczpkfX09dC5zZWxlY3Rpb24ucmFuZ2VzW25dO28uc2V0QmxvY2tUeXBlKGwsZCxhLGUpfXIoby5zY3JvbGxJbnRvVmlldygpKX1yZXR1cm4hMH19ZnVuY3Rpb24gVEVhKGEsZSx0LHIpe2ZvcihsZXQgaT0wO2k8ZS5sZW5ndGg7aSsrKXtsZXR7JGZyb206bywkdG86bn09ZVtpXSxsPW8uZGVwdGg9PTA/YS5pbmxpbmVDb250ZW50JiZhLnR5cGUuYWxsb3dzTWFya1R5cGUodCk6ITE7aWYoYS5ub2Rlc0JldHdlZW4oby5wb3Msbi5wb3MsKGQsYyk9PntpZihsfHwhciYmZC5pc0F0b20mJmQuaXNJbmxpbmUmJmM+PW8ucG9zJiZjK2Qubm9kZVNpemU8PW4ucG9zKXJldHVybiExO2w9ZC5pbmxpbmVDb250ZW50JiZkLnR5cGUuYWxsb3dzTWFya1R5cGUodCl9KSxsKXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIExFYShhKXtsZXQgZT1bXTtmb3IobGV0IHQ9MDt0PGEubGVuZ3RoO3QrKyl7bGV0eyRmcm9tOnIsJHRvOml9PWFbdF07ci5kb2Mubm9kZXNCZXR3ZWVuKHIucG9zLGkucG9zLChvLG4pPT57aWYoby5pc0F0b20mJm8uY29udGVudC5zaXplJiZvLmlzSW5saW5lJiZuPj1yLnBvcyYmbitvLm5vZGVTaXplPD1pLnBvcylyZXR1cm4gbisxPnIucG9zJiZlLnB1c2gobmV3IFpmKHIsci5kb2MucmVzb2x2ZShuKzEpKSkscj1yLmRvYy5yZXNvbHZlKG4rMStvLmNvbnRlbnQuc2l6ZSksITF9KSxyLnBvczxpLnBvcyYmZS5wdXNoKG5ldyBaZihyLGkpKX1yZXR1cm4gZX1mdW5jdGlvbiAkRWEoYSxlPW51bGwsdCl7bGV0IHI9KHQmJnQucmVtb3ZlV2hlblByZXNlbnQpIT09ITEsaT0odCYmdC5lbnRlcklubGluZUF0b21zKSE9PSExLG89ISh0JiZ0LmluY2x1ZGVXaGl0ZXNwYWNlKTtyZXR1cm4gZnVuY3Rpb24obixsKXtsZXR7ZW1wdHk6ZCwkY3Vyc29yOmMscmFuZ2VzOnB9PW4uc2VsZWN0aW9uO2lmKGQmJiFjfHwhVEVhKG4uZG9jLHAsYSxpKSlyZXR1cm4hMTtpZihsKWlmKGMpYS5pc0luU2V0KG4uc3RvcmVkTWFya3N8fGMubWFya3MoKSk/bChuLnRyLnJlbW92ZVN0b3JlZE1hcmsoYSkpOmwobi50ci5hZGRTdG9yZWRNYXJrKGEuY3JlYXRlKGUpKSk7ZWxzZXtsZXQgdSxtPW4udHI7aXx8KHA9TEVhKHApKSxyP3U9IXAuc29tZSh2PT5uLmRvYy5yYW5nZUhhc01hcmsodi4kZnJvbS5wb3Msdi4kdG8ucG9zLGEpKTp1PSFwLmV2ZXJ5KHY9PntsZXQgeD0hMTtyZXR1cm4gbS5kb2Mubm9kZXNCZXR3ZWVuKHYuJGZyb20ucG9zLHYuJHRvLnBvcywoYixnLHkpPT57aWYoeClyZXR1cm4hMTt4PSFhLmlzSW5TZXQoYi5tYXJrcykmJiEheSYmeS50eXBlLmFsbG93c01hcmtUeXBlKGEpJiYhKGIuaXNUZXh0JiYvXlxzKiQvLnRlc3QoYi50ZXh0QmV0d2VlbihNYXRoLm1heCgwLHYuJGZyb20ucG9zLWcpLE1hdGgubWluKGIubm9kZVNpemUsdi4kdG8ucG9zLWcpKSkpfSksIXh9KTtmb3IobGV0IHY9MDt2PHAubGVuZ3RoO3YrKyl7bGV0eyRmcm9tOngsJHRvOmJ9PXBbdl07aWYoIXUpbS5yZW1vdmVNYXJrKHgucG9zLGIucG9zLGEpO2Vsc2V7bGV0IGc9eC5wb3MseT1iLnBvcyxrPXgubm9kZUFmdGVyLEM9Yi5ub2RlQmVmb3JlLE49byYmayYmay5pc1RleHQ/L15ccyovLmV4ZWMoay50ZXh0KVswXS5sZW5ndGg6MCxfPW8mJkMmJkMuaXNUZXh0Py9ccyokLy5leGVjKEMudGV4dClbMF0ubGVuZ3RoOjA7ZytOPHkmJihnKz1OLHktPV8pLG0uYWRkTWFyayhnLHksYS5jcmVhdGUoZSkpfX1sKG0uc2Nyb2xsSW50b1ZpZXcoKSl9cmV0dXJuITB9fWZ1bmN0aW9uIERFYShhLGUpe3JldHVybiB0PT57aWYoIXQuaXNHZW5lcmljKXJldHVybiBhKHQpO2xldCByPVtdO2ZvcihsZXQgbz0wO288dC5tYXBwaW5nLm1hcHMubGVuZ3RoO28rKyl7bGV0IG49dC5tYXBwaW5nLm1hcHNbb107Zm9yKGxldCBsPTA7bDxyLmxlbmd0aDtsKyspcltsXT1uLm1hcChyW2xdKTtuLmZvckVhY2goKGwsZCxjLHApPT5yLnB1c2goYyxwKSl9bGV0IGk9W107Zm9yKGxldCBvPTA7bzxyLmxlbmd0aDtvKz0yKXtsZXQgbj1yW29dLGw9cltvKzFdLGQ9dC5kb2MucmVzb2x2ZShuKSxjPWQuc2hhcmVkRGVwdGgobCkscD1kLm5vZGUoYyk7Zm9yKGxldCB1PWQuaW5kZXhBZnRlcihjKSxtPWQuYWZ0ZXIoYysxKTttPD1sOysrdSl7bGV0IHY9cC5tYXliZUNoaWxkKHUpO2lmKCF2KWJyZWFrO2lmKHUmJmkuaW5kZXhPZihtKT09LTEpe2xldCB4PXAuY2hpbGQodS0xKTt4LnR5cGU9PXYudHlwZSYmZSh4LHYpJiZpLnB1c2gobSl9bSs9di5ub2RlU2l6ZX19aS5zb3J0KChvLG4pPT5vLW4pO2ZvcihsZXQgbz1pLmxlbmd0aC0xO28+PTA7by0tKXRuKHQuZG9jLGlbb10pJiZ0LmpvaW4oaVtvXSk7YSh0KX19ZnVuY3Rpb24gQUVhKGEsZSl7bGV0IHQ9QXJyYXkuaXNBcnJheShlKT9yPT5lLmluZGV4T2Yoci50eXBlLm5hbWUpPi0xOmU7cmV0dXJuKHIsaSxvKT0+YShyLGkmJkRFYShpLHQpLG8pfWZ1bmN0aW9uIHRyZSguLi5hKXtyZXR1cm4gZnVuY3Rpb24oZSx0LHIpe2ZvcihsZXQgaT0wO2k8YS5sZW5ndGg7aSsrKWlmKGFbaV0oZSx0LHIpKXJldHVybiEwO3JldHVybiExfX12YXIgcFcsYXJlLHZaZSx4WmUscnJlLHNyZSxpcmUseVplLHdaZSxNWmUsb3JlLG5yZSxscmUsY3JlLG1aZSxDRWEsa1plLEJuYSxkcmUsdXJlLGdaZSxWbmEsSjIsYlplLEVFYSxQRWEsam5hPWYoKCk9Pnt2NCgpO2c0KCk7eWMoKTtwVz1zKChhLGUpPT5hLnNlbGVjdGlvbi5lbXB0eT8hMTooZSYmZShhLnRyLmRlbGV0ZVNlbGVjdGlvbigpLnNjcm9sbEludG9WaWV3KCkpLCEwKSwiZGVsZXRlU2VsZWN0aW9uIik7cyhObmEsImF0QmxvY2tTdGFydCIpO2FyZT1zKChhLGUsdCk9PntsZXQgcj1ObmEoYSx0KTtpZighcilyZXR1cm4hMTtsZXQgaT1wWmUocik7aWYoIWkpe2xldCBuPXIuYmxvY2tSYW5nZSgpLGw9biYmWjIobik7cmV0dXJuIGw9PW51bGw/ITE6KGUmJmUoYS50ci5saWZ0KG4sbCkuc2Nyb2xsSW50b1ZpZXcoKSksITApfWxldCBvPWkubm9kZUJlZm9yZTtpZihIbmEoYSxpLGUsLTEpKXJldHVybiEwO2lmKHIucGFyZW50LmNvbnRlbnQuc2l6ZT09MCYmKFBtKG8sImVuZCIpfHxNdC5pc1NlbGVjdGFibGUobykpKWZvcihsZXQgbj1yLmRlcHRoOztuLS0pe2xldCBsPVNtKGEuZG9jLHIuYmVmb3JlKG4pLHIuYWZ0ZXIobiksaXQuZW1wdHkpO2lmKGwmJmwuc2xpY2Uuc2l6ZTxsLnRvLWwuZnJvbSl7aWYoZSl7bGV0IGQ9YS50ci5zdGVwKGwpO2Quc2V0U2VsZWN0aW9uKFBtKG8sImVuZCIpP0l0LmZpbmRGcm9tKGQuZG9jLnJlc29sdmUoZC5tYXBwaW5nLm1hcChpLnBvcywtMSkpLC0xKTpNdC5jcmVhdGUoZC5kb2MsaS5wb3Mtby5ub2RlU2l6ZSkpLGUoZC5zY3JvbGxJbnRvVmlldygpKX1yZXR1cm4hMH1pZihuPT0xfHxyLm5vZGUobi0xKS5jaGlsZENvdW50PjEpYnJlYWt9cmV0dXJuIG8uaXNBdG9tJiZpLmRlcHRoPT1yLmRlcHRoLTE/KGUmJmUoYS50ci5kZWxldGUoaS5wb3Mtby5ub2RlU2l6ZSxpLnBvcykuc2Nyb2xsSW50b1ZpZXcoKSksITApOiExfSwiam9pbkJhY2t3YXJkIiksdlplPXMoKGEsZSx0KT0+e2xldCByPU5uYShhLHQpO2lmKCFyKXJldHVybiExO2xldCBpPXBaZShyKTtyZXR1cm4gaT9SbmEoYSxpLGUpOiExfSwiam9pblRleHRibG9ja0JhY2t3YXJkIikseFplPXMoKGEsZSx0KT0+e2xldCByPU9uYShhLHQpO2lmKCFyKXJldHVybiExO2xldCBpPWZaZShyKTtyZXR1cm4gaT9SbmEoYSxpLGUpOiExfSwiam9pblRleHRibG9ja0ZvcndhcmQiKTtzKFJuYSwiam9pblRleHRibG9ja3NBcm91bmQiKTtzKFBtLCJ0ZXh0YmxvY2tBdCIpO3JyZT1zKChhLGUsdCk9PntsZXR7JGhlYWQ6cixlbXB0eTppfT1hLnNlbGVjdGlvbixvPXI7aWYoIWkpcmV0dXJuITE7aWYoci5wYXJlbnQuaXNUZXh0YmxvY2spe2lmKHQ/IXQuZW5kT2ZUZXh0YmxvY2soImJhY2t3YXJkIixhKTpyLnBhcmVudE9mZnNldD4wKXJldHVybiExO289cFplKHIpfWxldCBuPW8mJm8ubm9kZUJlZm9yZTtyZXR1cm4hbnx8IU10LmlzU2VsZWN0YWJsZShuKT8hMTooZSYmZShhLnRyLnNldFNlbGVjdGlvbihNdC5jcmVhdGUoYS5kb2Msby5wb3Mtbi5ub2RlU2l6ZSkpLnNjcm9sbEludG9WaWV3KCkpLCEwKX0sInNlbGVjdE5vZGVCYWNrd2FyZCIpO3MocFplLCJmaW5kQ3V0QmVmb3JlIik7cyhPbmEsImF0QmxvY2tFbmQiKTtzcmU9cygoYSxlLHQpPT57bGV0IHI9T25hKGEsdCk7aWYoIXIpcmV0dXJuITE7bGV0IGk9ZlplKHIpO2lmKCFpKXJldHVybiExO2xldCBvPWkubm9kZUFmdGVyO2lmKEhuYShhLGksZSwxKSlyZXR1cm4hMDtpZihyLnBhcmVudC5jb250ZW50LnNpemU9PTAmJihQbShvLCJzdGFydCIpfHxNdC5pc1NlbGVjdGFibGUobykpKXtsZXQgbj1TbShhLmRvYyxyLmJlZm9yZSgpLHIuYWZ0ZXIoKSxpdC5lbXB0eSk7aWYobiYmbi5zbGljZS5zaXplPG4udG8tbi5mcm9tKXtpZihlKXtsZXQgbD1hLnRyLnN0ZXAobik7bC5zZXRTZWxlY3Rpb24oUG0obywic3RhcnQiKT9JdC5maW5kRnJvbShsLmRvYy5yZXNvbHZlKGwubWFwcGluZy5tYXAoaS5wb3MpKSwxKTpNdC5jcmVhdGUobC5kb2MsbC5tYXBwaW5nLm1hcChpLnBvcykpKSxlKGwuc2Nyb2xsSW50b1ZpZXcoKSl9cmV0dXJuITB9fXJldHVybiBvLmlzQXRvbSYmaS5kZXB0aD09ci5kZXB0aC0xPyhlJiZlKGEudHIuZGVsZXRlKGkucG9zLGkucG9zK28ubm9kZVNpemUpLnNjcm9sbEludG9WaWV3KCkpLCEwKTohMX0sImpvaW5Gb3J3YXJkIiksaXJlPXMoKGEsZSx0KT0+e2xldHskaGVhZDpyLGVtcHR5Oml9PWEuc2VsZWN0aW9uLG89cjtpZighaSlyZXR1cm4hMTtpZihyLnBhcmVudC5pc1RleHRibG9jayl7aWYodD8hdC5lbmRPZlRleHRibG9jaygiZm9yd2FyZCIsYSk6ci5wYXJlbnRPZmZzZXQ8ci5wYXJlbnQuY29udGVudC5zaXplKXJldHVybiExO289ZlplKHIpfWxldCBuPW8mJm8ubm9kZUFmdGVyO3JldHVybiFufHwhTXQuaXNTZWxlY3RhYmxlKG4pPyExOihlJiZlKGEudHIuc2V0U2VsZWN0aW9uKE10LmNyZWF0ZShhLmRvYyxvLnBvcykpLnNjcm9sbEludG9WaWV3KCkpLCEwKX0sInNlbGVjdE5vZGVGb3J3YXJkIik7cyhmWmUsImZpbmRDdXRBZnRlciIpO3laZT1zKChhLGUpPT57bGV0IHQ9YS5zZWxlY3Rpb24scj10IGluc3RhbmNlb2YgTXQsaTtpZihyKXtpZih0Lm5vZGUuaXNUZXh0YmxvY2t8fCF0bihhLmRvYyx0LmZyb20pKXJldHVybiExO2k9dC5mcm9tfWVsc2UgaWYoaT1ZZihhLmRvYyx0LmZyb20sLTEpLGk9PW51bGwpcmV0dXJuITE7aWYoZSl7bGV0IG89YS50ci5qb2luKGkpO3ImJm8uc2V0U2VsZWN0aW9uKE10LmNyZWF0ZShvLmRvYyxpLWEuZG9jLnJlc29sdmUoaSkubm9kZUJlZm9yZS5ub2RlU2l6ZSkpLGUoby5zY3JvbGxJbnRvVmlldygpKX1yZXR1cm4hMH0sImpvaW5VcCIpLHdaZT1zKChhLGUpPT57bGV0IHQ9YS5zZWxlY3Rpb24scjtpZih0IGluc3RhbmNlb2YgTXQpe2lmKHQubm9kZS5pc1RleHRibG9ja3x8IXRuKGEuZG9jLHQudG8pKXJldHVybiExO3I9dC50b31lbHNlIGlmKHI9WWYoYS5kb2MsdC50bywxKSxyPT1udWxsKXJldHVybiExO3JldHVybiBlJiZlKGEudHIuam9pbihyKS5zY3JvbGxJbnRvVmlldygpKSwhMH0sImpvaW5Eb3duIiksTVplPXMoKGEsZSk9PntsZXR7JGZyb206dCwkdG86cn09YS5zZWxlY3Rpb24saT10LmJsb2NrUmFuZ2Uociksbz1pJiZaMihpKTtyZXR1cm4gbz09bnVsbD8hMTooZSYmZShhLnRyLmxpZnQoaSxvKS5zY3JvbGxJbnRvVmlldygpKSwhMCl9LCJsaWZ0Iiksb3JlPXMoKGEsZSk9PntsZXR7JGhlYWQ6dCwkYW5jaG9yOnJ9PWEuc2VsZWN0aW9uO3JldHVybiF0LnBhcmVudC50eXBlLnNwZWMuY29kZXx8IXQuc2FtZVBhcmVudChyKT8hMTooZSYmZShhLnRyLmluc2VydFRleHQoYApgKS5zY3JvbGxJbnRvVmlldygpKSwhMCl9LCJuZXdsaW5lSW5Db2RlIik7cyhoWmUsImRlZmF1bHRCbG9ja0F0Iik7bnJlPXMoKGEsZSk9PntsZXR7JGhlYWQ6dCwkYW5jaG9yOnJ9PWEuc2VsZWN0aW9uO2lmKCF0LnBhcmVudC50eXBlLnNwZWMuY29kZXx8IXQuc2FtZVBhcmVudChyKSlyZXR1cm4hMTtsZXQgaT10Lm5vZGUoLTEpLG89dC5pbmRleEFmdGVyKC0xKSxuPWhaZShpLmNvbnRlbnRNYXRjaEF0KG8pKTtpZighbnx8IWkuY2FuUmVwbGFjZVdpdGgobyxvLG4pKXJldHVybiExO2lmKGUpe2xldCBsPXQuYWZ0ZXIoKSxkPWEudHIucmVwbGFjZVdpdGgobCxsLG4uY3JlYXRlQW5kRmlsbCgpKTtkLnNldFNlbGVjdGlvbihJdC5uZWFyKGQuZG9jLnJlc29sdmUobCksMSkpLGUoZC5zY3JvbGxJbnRvVmlldygpKX1yZXR1cm4hMH0sImV4aXRDb2RlIiksbHJlPXMoKGEsZSk9PntsZXQgdD1hLnNlbGVjdGlvbix7JGZyb206ciwkdG86aX09dDtpZih0IGluc3RhbmNlb2YgQWl8fHIucGFyZW50LmlubGluZUNvbnRlbnR8fGkucGFyZW50LmlubGluZUNvbnRlbnQpcmV0dXJuITE7bGV0IG89aFplKGkucGFyZW50LmNvbnRlbnRNYXRjaEF0KGkuaW5kZXhBZnRlcigpKSk7aWYoIW98fCFvLmlzVGV4dGJsb2NrKXJldHVybiExO2lmKGUpe2xldCBuPSghci5wYXJlbnRPZmZzZXQmJmkuaW5kZXgoKTxpLnBhcmVudC5jaGlsZENvdW50P3I6aSkucG9zLGw9YS50ci5pbnNlcnQobixvLmNyZWF0ZUFuZEZpbGwoKSk7bC5zZXRTZWxlY3Rpb24oUnQuY3JlYXRlKGwuZG9jLG4rMSkpLGUobC5zY3JvbGxJbnRvVmlldygpKX1yZXR1cm4hMH0sImNyZWF0ZVBhcmFncmFwaE5lYXIiKSxjcmU9cygoYSxlKT0+e2xldHskY3Vyc29yOnR9PWEuc2VsZWN0aW9uO2lmKCF0fHx0LnBhcmVudC5jb250ZW50LnNpemUpcmV0dXJuITE7aWYodC5kZXB0aD4xJiZ0LmFmdGVyKCkhPXQuZW5kKC0xKSl7bGV0IG89dC5iZWZvcmUoKTtpZihBbyhhLmRvYyxvKSlyZXR1cm4gZSYmZShhLnRyLnNwbGl0KG8pLnNjcm9sbEludG9WaWV3KCkpLCEwfWxldCByPXQuYmxvY2tSYW5nZSgpLGk9ciYmWjIocik7cmV0dXJuIGk9PW51bGw/ITE6KGUmJmUoYS50ci5saWZ0KHIsaSkuc2Nyb2xsSW50b1ZpZXcoKSksITApfSwibGlmdEVtcHR5QmxvY2siKTtzKEZuYSwic3BsaXRCbG9ja0FzIik7bVplPUZuYSgpLENFYT1zKChhLGUpPT5tWmUoYSxlJiYodD0+e2xldCByPWEuc3RvcmVkTWFya3N8fGEuc2VsZWN0aW9uLiR0by5wYXJlbnRPZmZzZXQmJmEuc2VsZWN0aW9uLiRmcm9tLm1hcmtzKCk7ciYmdC5lbnN1cmVNYXJrcyhyKSxlKHQpfSkpLCJzcGxpdEJsb2NrS2VlcE1hcmtzIiksa1plPXMoKGEsZSk9PntsZXR7JGZyb206dCx0bzpyfT1hLnNlbGVjdGlvbixpLG89dC5zaGFyZWREZXB0aChyKTtyZXR1cm4gbz09MD8hMTooaT10LmJlZm9yZShvKSxlJiZlKGEudHIuc2V0U2VsZWN0aW9uKE10LmNyZWF0ZShhLmRvYyxpKSkpLCEwKX0sInNlbGVjdFBhcmVudE5vZGUiKSxCbmE9cygoYSxlKT0+KGUmJmUoYS50ci5zZXRTZWxlY3Rpb24obmV3IEFpKGEuZG9jKSkpLCEwKSwic2VsZWN0QWxsIik7cyhfRWEsImpvaW5NYXliZUNsZWFyIik7cyhIbmEsImRlbGV0ZUJhcnJpZXIiKTtzKHFuYSwic2VsZWN0VGV4dGJsb2NrU2lkZSIpO2RyZT1xbmEoLTEpLHVyZT1xbmEoMSk7cyhTWmUsIndyYXBJbiIpO3MocHJlLCJzZXRCbG9ja1R5cGUiKTtzKFRFYSwibWFya0FwcGxpZXMiKTtzKExFYSwicmVtb3ZlSW5saW5lQXRvbXMiKTtzKCRFYSwidG9nZ2xlTWFyayIpO3MoREVhLCJ3cmFwRGlzcGF0Y2hGb3JKb2luIik7cyhBRWEsImF1dG9Kb2luIik7cyh0cmUsImNoYWluQ29tbWFuZHMiKTtnWmU9dHJlKHBXLGFyZSxycmUpLFZuYT10cmUocFcsc3JlLGlyZSksSjI9e0VudGVyOnRyZShvcmUsbHJlLGNyZSxtWmUpLCJNb2QtRW50ZXIiOm5yZSxCYWNrc3BhY2U6Z1plLCJNb2QtQmFja3NwYWNlIjpnWmUsIlNoaWZ0LUJhY2tzcGFjZSI6Z1plLERlbGV0ZTpWbmEsIk1vZC1EZWxldGUiOlZuYSwiTW9kLWEiOkJuYX0sYlplPXsiQ3RybC1oIjpKMi5CYWNrc3BhY2UsIkFsdC1CYWNrc3BhY2UiOkoyWyJNb2QtQmFja3NwYWNlIl0sIkN0cmwtZCI6SjIuRGVsZXRlLCJDdHJsLUFsdC1CYWNrc3BhY2UiOkoyWyJNb2QtRGVsZXRlIl0sIkFsdC1EZWxldGUiOkoyWyJNb2QtRGVsZXRlIl0sIkFsdC1kIjpKMlsiTW9kLURlbGV0ZSJdLCJDdHJsLWEiOmRyZSwiQ3RybC1lIjp1cmV9O2ZvcihsZXQgYSBpbiBKMiliWmVbYV09SjJbYV07RUVhPXR5cGVvZiBuYXZpZ2F0b3I8InUiPy9NYWN8aVAoaG9uZXxbb2FdZCkvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKTp0eXBlb2Ygb3M8InUiJiZvcy5wbGF0Zm9ybT9vcy5wbGF0Zm9ybSgpPT0iZGFyd2luIjohMSxQRWE9RUVhP2JaZTpKMn0pO3ZhciBVbmE9ZigoKT0+e2puYSgpfSk7ZnVuY3Rpb24gelplKGEsZSl7bGV0IHQ9e307Zm9yKGxldCByIGluIGEpdFtyXT1hW3JdO2ZvcihsZXQgciBpbiBlKXRbcl09ZVtyXTtyZXR1cm4gdH1mdW5jdGlvbiBPRWEoYSxlLHQpe3JldHVybiBhLmFwcGVuZCh7b3JkZXJlZF9saXN0OnpaZShXbmEse2NvbnRlbnQ6Imxpc3RfaXRlbSsiLGdyb3VwOnR9KSxidWxsZXRfbGlzdDp6WmUoR25hLHtjb250ZW50OiJsaXN0X2l0ZW0rIixncm91cDp0fSksbGlzdF9pdGVtOnpaZShZbmEse2NvbnRlbnQ6ZX0pfSl9ZnVuY3Rpb24gQ1plKGEsZT1udWxsKXtyZXR1cm4gZnVuY3Rpb24odCxyKXtsZXR7JGZyb206aSwkdG86b309dC5zZWxlY3Rpb24sbj1pLmJsb2NrUmFuZ2Uobyk7aWYoIW4pcmV0dXJuITE7bGV0IGw9cj90LnRyOm51bGw7cmV0dXJuIEtuYShsLG4sYSxlKT8ociYmcihsLnNjcm9sbEludG9WaWV3KCkpLCEwKTohMX19ZnVuY3Rpb24gS25hKGEsZSx0LHI9bnVsbCl7bGV0IGk9ITEsbz1lLG49ZS4kZnJvbS5kb2M7aWYoZS5kZXB0aD49MiYmZS4kZnJvbS5ub2RlKGUuZGVwdGgtMSkudHlwZS5jb21wYXRpYmxlQ29udGVudCh0KSYmZS5zdGFydEluZGV4PT0wKXtpZihlLiRmcm9tLmluZGV4KGUuZGVwdGgtMSk9PTApcmV0dXJuITE7bGV0IGQ9bi5yZXNvbHZlKGUuc3RhcnQtMik7bz1uZXcgbTQoZCxkLGUuZGVwdGgpLGUuZW5kSW5kZXg8ZS5wYXJlbnQuY2hpbGRDb3VudCYmKGU9bmV3IG00KGUuJGZyb20sbi5yZXNvbHZlKGUuJHRvLmVuZChlLmRlcHRoKSksZS5kZXB0aCkpLGk9ITB9bGV0IGw9R2Yobyx0LHIsZSk7cmV0dXJuIGw/KGEmJkZFYShhLGUsbCxpLHQpLCEwKTohMX1mdW5jdGlvbiBGRWEoYSxlLHQscixpKXtsZXQgbz1WZS5lbXB0eTtmb3IobGV0IHA9dC5sZW5ndGgtMTtwPj0wO3AtLSlvPVZlLmZyb20odFtwXS50eXBlLmNyZWF0ZSh0W3BdLmF0dHJzLG8pKTthLnN0ZXAobmV3IGVzKGUuc3RhcnQtKHI/MjowKSxlLmVuZCxlLnN0YXJ0LGUuZW5kLG5ldyBpdChvLDAsMCksdC5sZW5ndGgsITApKTtsZXQgbj0wO2ZvcihsZXQgcD0wO3A8dC5sZW5ndGg7cCsrKXRbcF0udHlwZT09aSYmKG49cCsxKTtsZXQgbD10Lmxlbmd0aC1uLGQ9ZS5zdGFydCt0Lmxlbmd0aC0ocj8yOjApLGM9ZS5wYXJlbnQ7Zm9yKGxldCBwPWUuc3RhcnRJbmRleCx1PWUuZW5kSW5kZXgsbT0hMDtwPHU7cCsrLG09ITEpIW0mJkFvKGEuZG9jLGQsbCkmJihhLnNwbGl0KGQsbCksZCs9MipsKSxkKz1jLmNoaWxkKHApLm5vZGVTaXplO3JldHVybiBhfWZ1bmN0aW9uIFpuYShhLGUpe3JldHVybiBmdW5jdGlvbih0LHIpe2xldHskZnJvbTppLCR0bzpvLG5vZGU6bn09dC5zZWxlY3Rpb247aWYobiYmbi5pc0Jsb2NrfHxpLmRlcHRoPDJ8fCFpLnNhbWVQYXJlbnQobykpcmV0dXJuITE7bGV0IGw9aS5ub2RlKC0xKTtpZihsLnR5cGUhPWEpcmV0dXJuITE7aWYoaS5wYXJlbnQuY29udGVudC5zaXplPT0wJiZpLm5vZGUoLTEpLmNoaWxkQ291bnQ9PWkuaW5kZXhBZnRlcigtMSkpe2lmKGkuZGVwdGg9PTN8fGkubm9kZSgtMykudHlwZSE9YXx8aS5pbmRleCgtMikhPWkubm9kZSgtMikuY2hpbGRDb3VudC0xKXJldHVybiExO2lmKHIpe2xldCB1PVZlLmVtcHR5LG09aS5pbmRleCgtMSk/MTppLmluZGV4KC0yKT8yOjM7Zm9yKGxldCB5PWkuZGVwdGgtbTt5Pj1pLmRlcHRoLTM7eS0tKXU9VmUuZnJvbShpLm5vZGUoeSkuY29weSh1KSk7bGV0IHY9aS5pbmRleEFmdGVyKC0xKTxpLm5vZGUoLTIpLmNoaWxkQ291bnQ/MTppLmluZGV4QWZ0ZXIoLTIpPGkubm9kZSgtMykuY2hpbGRDb3VudD8yOjM7dT11LmFwcGVuZChWZS5mcm9tKGEuY3JlYXRlQW5kRmlsbCgpKSk7bGV0IHg9aS5iZWZvcmUoaS5kZXB0aC0obS0xKSksYj10LnRyLnJlcGxhY2UoeCxpLmFmdGVyKC12KSxuZXcgaXQodSw0LW0sMCkpLGc9LTE7Yi5kb2Mubm9kZXNCZXR3ZWVuKHgsYi5kb2MuY29udGVudC5zaXplLCh5LGspPT57aWYoZz4tMSlyZXR1cm4hMTt5LmlzVGV4dGJsb2NrJiZ5LmNvbnRlbnQuc2l6ZT09MCYmKGc9aysxKX0pLGc+LTEmJmIuc2V0U2VsZWN0aW9uKEl0Lm5lYXIoYi5kb2MucmVzb2x2ZShnKSkpLHIoYi5zY3JvbGxJbnRvVmlldygpKX1yZXR1cm4hMH1sZXQgZD1vLnBvcz09aS5lbmQoKT9sLmNvbnRlbnRNYXRjaEF0KDApLmRlZmF1bHRUeXBlOm51bGwsYz10LnRyLmRlbGV0ZShpLnBvcyxvLnBvcykscD1kP1tlP3t0eXBlOmEsYXR0cnM6ZX06bnVsbCx7dHlwZTpkfV06dm9pZCAwO3JldHVybiBBbyhjLmRvYyxpLnBvcywyLHApPyhyJiZyKGMuc3BsaXQoaS5wb3MsMixwKS5zY3JvbGxJbnRvVmlldygpKSwhMCk6ITF9fWZ1bmN0aW9uIEJFYShhLGUpe2xldCB0PVpuYShhLGUpO3JldHVybihyLGkpPT50KHIsaSYmKG89PntsZXQgbj1yLnN0b3JlZE1hcmtzfHxyLnNlbGVjdGlvbi4kdG8ucGFyZW50T2Zmc2V0JiZyLnNlbGVjdGlvbi4kZnJvbS5tYXJrcygpO24mJm8uZW5zdXJlTWFya3MobiksaShvKX0pKX1mdW5jdGlvbiBfWmUoYSl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7bGV0eyRmcm9tOnIsJHRvOml9PWUuc2VsZWN0aW9uLG89ci5ibG9ja1JhbmdlKGksbj0+bi5jaGlsZENvdW50PjAmJm4uZmlyc3RDaGlsZC50eXBlPT1hKTtyZXR1cm4gbz90P3Iubm9kZShvLmRlcHRoLTEpLnR5cGU9PWE/SEVhKGUsdCxhLG8pOnFFYShlLHQsbyk6ITA6ITF9fWZ1bmN0aW9uIEhFYShhLGUsdCxyKXtsZXQgaT1hLnRyLG89ci5lbmQsbj1yLiR0by5lbmQoci5kZXB0aCk7bzxuJiYoaS5zdGVwKG5ldyBlcyhvLTEsbixvLG4sbmV3IGl0KFZlLmZyb20odC5jcmVhdGUobnVsbCxyLnBhcmVudC5jb3B5KCkpKSwxLDApLDEsITApKSxyPW5ldyBtNChpLmRvYy5yZXNvbHZlKHIuJGZyb20ucG9zKSxpLmRvYy5yZXNvbHZlKG4pLHIuZGVwdGgpKTtsZXQgbD1aMihyKTtpZihsPT1udWxsKXJldHVybiExO2kubGlmdChyLGwpO2xldCBkPWkuZG9jLnJlc29sdmUoaS5tYXBwaW5nLm1hcChvLC0xKS0xKTtyZXR1cm4gdG4oaS5kb2MsZC5wb3MpJiZkLm5vZGVCZWZvcmUudHlwZT09ZC5ub2RlQWZ0ZXIudHlwZSYmaS5qb2luKGQucG9zKSxlKGkuc2Nyb2xsSW50b1ZpZXcoKSksITB9ZnVuY3Rpb24gcUVhKGEsZSx0KXtsZXQgcj1hLnRyLGk9dC5wYXJlbnQ7Zm9yKGxldCB2PXQuZW5kLHg9dC5lbmRJbmRleC0xLGI9dC5zdGFydEluZGV4O3g+Yjt4LS0pdi09aS5jaGlsZCh4KS5ub2RlU2l6ZSxyLmRlbGV0ZSh2LTEsdisxKTtsZXQgbz1yLmRvYy5yZXNvbHZlKHQuc3RhcnQpLG49by5ub2RlQWZ0ZXI7aWYoci5tYXBwaW5nLm1hcCh0LmVuZCkhPXQuc3RhcnQrby5ub2RlQWZ0ZXIubm9kZVNpemUpcmV0dXJuITE7bGV0IGw9dC5zdGFydEluZGV4PT0wLGQ9dC5lbmRJbmRleD09aS5jaGlsZENvdW50LGM9by5ub2RlKC0xKSxwPW8uaW5kZXgoLTEpO2lmKCFjLmNhblJlcGxhY2UocCsobD8wOjEpLHArMSxuLmNvbnRlbnQuYXBwZW5kKGQ/VmUuZW1wdHk6VmUuZnJvbShpKSkpKXJldHVybiExO2xldCB1PW8ucG9zLG09dStuLm5vZGVTaXplO3JldHVybiByLnN0ZXAobmV3IGVzKHUtKGw/MTowKSxtKyhkPzE6MCksdSsxLG0tMSxuZXcgaXQoKGw/VmUuZW1wdHk6VmUuZnJvbShpLmNvcHkoVmUuZW1wdHkpKSkuYXBwZW5kKGQ/VmUuZW1wdHk6VmUuZnJvbShpLmNvcHkoVmUuZW1wdHkpKSksbD8wOjEsZD8wOjEpLGw/MDoxKSksZShyLnNjcm9sbEludG9WaWV3KCkpLCEwfWZ1bmN0aW9uIFRaZShhKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtsZXR7JGZyb206ciwkdG86aX09ZS5zZWxlY3Rpb24sbz1yLmJsb2NrUmFuZ2UoaSxjPT5jLmNoaWxkQ291bnQ+MCYmYy5maXJzdENoaWxkLnR5cGU9PWEpO2lmKCFvKXJldHVybiExO2xldCBuPW8uc3RhcnRJbmRleDtpZihuPT0wKXJldHVybiExO2xldCBsPW8ucGFyZW50LGQ9bC5jaGlsZChuLTEpO2lmKGQudHlwZSE9YSlyZXR1cm4hMTtpZih0KXtsZXQgYz1kLmxhc3RDaGlsZCYmZC5sYXN0Q2hpbGQudHlwZT09bC50eXBlLHA9VmUuZnJvbShjP2EuY3JlYXRlKCk6bnVsbCksdT1uZXcgaXQoVmUuZnJvbShhLmNyZWF0ZShudWxsLFZlLmZyb20obC50eXBlLmNyZWF0ZShudWxsLHApKSkpLGM/MzoxLDApLG09by5zdGFydCx2PW8uZW5kO3QoZS50ci5zdGVwKG5ldyBlcyhtLShjPzM6MSksdixtLHYsdSwxLCEwKSkuc2Nyb2xsSW50b1ZpZXcoKSl9cmV0dXJuITB9fXZhciBJRWEsTkVhLFJFYSxXbmEsR25hLFluYSxYbmE9ZigoKT0+e3Y0KCk7ZzQoKTt5YygpO0lFYT1bIm9sIiwwXSxORWE9WyJ1bCIsMF0sUkVhPVsibGkiLDBdLFduYT17YXR0cnM6e29yZGVyOntkZWZhdWx0OjEsdmFsaWRhdGU6Im51bWJlciJ9fSxwYXJzZURPTTpbe3RhZzoib2wiLGdldEF0dHJzKGEpe3JldHVybntvcmRlcjphLmhhc0F0dHJpYnV0ZSgic3RhcnQiKT8rYS5nZXRBdHRyaWJ1dGUoInN0YXJ0Iik6MX19fV0sdG9ET00oYSl7cmV0dXJuIGEuYXR0cnMub3JkZXI9PTE/SUVhOlsib2wiLHtzdGFydDphLmF0dHJzLm9yZGVyfSwwXX19LEduYT17cGFyc2VET006W3t0YWc6InVsIn1dLHRvRE9NKCl7cmV0dXJuIE5FYX19LFluYT17cGFyc2VET006W3t0YWc6ImxpIn1dLHRvRE9NKCl7cmV0dXJuIFJFYX0sZGVmaW5pbmc6ITB9O3MoelplLCJhZGQiKTtzKE9FYSwiYWRkTGlzdE5vZGVzIik7cyhDWmUsIndyYXBJbkxpc3QiKTtzKEtuYSwid3JhcFJhbmdlSW5MaXN0Iik7cyhGRWEsImRvV3JhcEluTGlzdCIpO3MoWm5hLCJzcGxpdExpc3RJdGVtIik7cyhCRWEsInNwbGl0TGlzdEl0ZW1LZWVwTWFya3MiKTtzKF9aZSwibGlmdExpc3RJdGVtIik7cyhIRWEsImxpZnRUb091dGVyTGlzdCIpO3MocUVhLCJsaWZ0T3V0T2ZMaXN0Iik7cyhUWmUsInNpbmtMaXN0SXRlbSIpfSk7dmFyIFFuYT1mKCgpPT57WG5hKCl9KTt2YXIgVDFhPXt9O3J0KFQxYSx7Q29tbWFuZE1hbmFnZXI6KCk9Pno0LEVkaXRvcjooKT0+THJlLEV4dGVuc2lvbjooKT0+d3IsSW5wdXRSdWxlOigpPT5DYyxNYXJrOigpPT5paSxOb2RlOigpPT5ucixOb2RlUG9zOigpPT5NVyxOb2RlVmlldzooKT0+JHJlLFBhc3RlUnVsZTooKT0+aTUsVHJhY2tlcjooKT0+RHJlLGNhbGxPclJldHVybjooKT0+anQsY2FuSW5zZXJ0Tm9kZTooKT0+UnJlLGNvbWJpbmVUcmFuc2FjdGlvblN0ZXBzOigpPT5BcmUsY3JlYXRlQ2hhaW5hYmxlU3RhdGU6KCk9PkltLGNyZWF0ZURvY3VtZW50OigpPT52VyxjcmVhdGVOb2RlRnJvbUNvbnRlbnQ6KCk9Pmw1LGNyZWF0ZVN0eWxlVGFnOigpPT5ZWmUsZGVmYXVsdEJsb2NrQXQ6KCk9PnFaZSxkZWxldGVQcm9wczooKT0+enJlLGVsZW1lbnRGcm9tU3RyaW5nOigpPT5uNSxlc2NhcGVGb3JSZWdFeDooKT0+UzFhLGV4dGVuc2lvbnM6KCk9PmsxYSxmaW5kQ2hpbGRyZW46KCk9PmgxYSxmaW5kQ2hpbGRyZW5JblJhbmdlOigpPT5FcmUsZmluZER1cGxpY2F0ZXM6KCk9PkZaZSxmaW5kUGFyZW50Tm9kZTooKT0+cW0sZmluZFBhcmVudE5vZGVDbG9zZXN0VG9Qb3M6KCk9PlZaZSxmcm9tU3RyaW5nOigpPT5QWmUsZ2VuZXJhdGVIVE1MOigpPT5tMWEsZ2VuZXJhdGVKU09OOigpPT5nMWEsZ2VuZXJhdGVUZXh0OigpPT5iMWEsZ2V0QXR0cmlidXRlczooKT0+a1csZ2V0QXR0cmlidXRlc0Zyb21FeHRlbnNpb25zOigpPT5ncmUsZ2V0Q2hhbmdlZFJhbmdlczooKT0+UHJlLGdldERlYnVnSlNPTjooKT0+V1plLGdldEV4dGVuc2lvbkZpZWxkOigpPT5wdCxnZXRIVE1MRnJvbUZyYWdtZW50OigpPT5SbSxnZXRNYXJrQXR0cmlidXRlczooKT0+Q3JlLGdldE1hcmtSYW5nZTooKT0+YlcsZ2V0TWFya1R5cGU6KCk9PmVsLGdldE1hcmtzQmV0d2VlbjooKT0+am0sZ2V0Tm9kZUF0UG9zaXRpb246KCk9PnYxYSxnZXROb2RlQXR0cmlidXRlczooKT0+alplLGdldE5vZGVUeXBlOigpPT5icyxnZXRSZW5kZXJlZEF0dHJpYnV0ZXM6KCk9PmZXLGdldFNjaGVtYTooKT0+eFcsZ2V0U2NoZW1hQnlSZXNvbHZlZEV4dGVuc2lvbnM6KCk9PnhyZSxnZXRTY2hlbWFUeXBlQnlOYW1lOigpPT5oVyxnZXRTY2hlbWFUeXBlTmFtZUJ5TmFtZTooKT0+SG0sZ2V0U3BsaXR0ZWRBdHRyaWJ1dGVzOigpPT5WbSxnZXRUZXh0OigpPT5fcmUsZ2V0VGV4dEJldHdlZW46KCk9PndyZSxnZXRUZXh0Q29udGVudEZyb21Ob2RlczooKT0+SVplLGdldFRleHRTZXJpYWxpemVyc0Zyb21TY2hlbWE6KCk9PmdXLGluamVjdEV4dGVuc2lvbkF0dHJpYnV0ZXNUb1BhcnNlUnVsZTooKT0+dnJlLGlucHV0UnVsZXNQbHVnaW46KCk9Pk5aZSxpc0FjdGl2ZTooKT0+R1plLGlzQXRFbmRPZk5vZGU6KCk9PngxYSxpc0F0U3RhcnRPZk5vZGU6KCk9PnkxYSxpc0VtcHR5T2JqZWN0OigpPT5FWmUsaXNFeHRlbnNpb25SdWxlc0VuYWJsZWQ6KCk9PnlyZSxpc0Z1bmN0aW9uOigpPT5icmUsaXNMaXN0OigpPT5UcmUsaXNNYWNPUzooKT0+U3JlLGlzTWFya0FjdGl2ZTooKT0+eVcsaXNOb2RlQWN0aXZlOigpPT5jNSxpc05vZGVFbXB0eTooKT0+d1csaXNOb2RlU2VsZWN0aW9uOigpPT5JcmUsaXNOdW1iZXI6KCk9PlJaZSxpc1BsYWluT2JqZWN0OigpPT5PbSxpc1JlZ0V4cDooKT0+bVcsaXNTYWZhcmk6KCk9PkJaZSxpc1N0cmluZzooKT0+ejFhLGlzVGV4dFNlbGVjdGlvbjooKT0+TXJlLGlzaU9TOigpPT5vNSxtYXJrSW5wdXRSdWxlOigpPT5SbixtYXJrUGFzdGVSdWxlOigpPT5QbyxtZXJnZUF0dHJpYnV0ZXM6KCk9PlNhLG1lcmdlRGVlcDooKT0+Rm0sbWluTWF4OigpPT5PMSxub2RlSW5wdXRSdWxlOigpPT5OcmUsbm9kZVBhc3RlUnVsZTooKT0+QzFhLG9iamVjdEluY2x1ZGVzOigpPT5CbSxwYXN0ZVJ1bGVzUGx1Z2luOigpPT5PWmUscG9zVG9ET01SZWN0OigpPT53MWEscmVtb3ZlRHVwbGljYXRlczooKT0+VVplLHJlc29sdmVGb2N1c1Bvc2l0aW9uOigpPT5rcmUscmV3cml0ZVVua25vd25Db250ZW50OigpPT5NMWEsc2VsZWN0aW9uVG9JbnNlcnRpb25FbmQ6KCk9PkhaZSxzcGxpdEV4dGVuc2lvbnM6KCk9Pk5tLHRleHRJbnB1dFJ1bGU6KCk9PmdyLHRleHRQYXN0ZVJ1bGU6KCk9Pl8xYSx0ZXh0YmxvY2tUeXBlSW5wdXRSdWxlOigpPT5kNSx3cmFwcGluZ0lucHV0UnVsZTooKT0+dGx9KTtmdW5jdGlvbiBJbShhKXtsZXR7c3RhdGU6ZSx0cmFuc2FjdGlvbjp0fT1hLHtzZWxlY3Rpb246cn09dCx7ZG9jOml9PXQse3N0b3JlZE1hcmtzOm99PXQ7cmV0dXJuey4uLmUsYXBwbHk6ZS5hcHBseS5iaW5kKGUpLGFwcGx5VHJhbnNhY3Rpb246ZS5hcHBseVRyYW5zYWN0aW9uLmJpbmQoZSkscGx1Z2luczplLnBsdWdpbnMsc2NoZW1hOmUuc2NoZW1hLHJlY29uZmlndXJlOmUucmVjb25maWd1cmUuYmluZChlKSx0b0pTT046ZS50b0pTT04uYmluZChlKSxnZXQgc3RvcmVkTWFya3MoKXtyZXR1cm4gb30sZ2V0IHNlbGVjdGlvbigpe3JldHVybiByfSxnZXQgZG9jKCl7cmV0dXJuIGl9LGdldCB0cigpe3JldHVybiByPXQuc2VsZWN0aW9uLGk9dC5kb2Msbz10LnN0b3JlZE1hcmtzLHR9fX1mdW5jdGlvbiBwdChhLGUsdCl7cmV0dXJuIGEuY29uZmlnW2VdPT09dm9pZCAwJiZhLnBhcmVudD9wdChhLnBhcmVudCxlLHQpOnR5cGVvZiBhLmNvbmZpZ1tlXT09ImZ1bmN0aW9uIj9hLmNvbmZpZ1tlXS5iaW5kKHsuLi50LHBhcmVudDphLnBhcmVudD9wdChhLnBhcmVudCxlLHQpOm51bGx9KTphLmNvbmZpZ1tlXX1mdW5jdGlvbiBObShhKXtsZXQgZT1hLmZpbHRlcihpPT5pLnR5cGU9PT0iZXh0ZW5zaW9uIiksdD1hLmZpbHRlcihpPT5pLnR5cGU9PT0ibm9kZSIpLHI9YS5maWx0ZXIoaT0+aS50eXBlPT09Im1hcmsiKTtyZXR1cm57YmFzZUV4dGVuc2lvbnM6ZSxub2RlRXh0ZW5zaW9uczp0LG1hcmtFeHRlbnNpb25zOnJ9fWZ1bmN0aW9uIGdyZShhKXtsZXQgZT1bXSx7bm9kZUV4dGVuc2lvbnM6dCxtYXJrRXh0ZW5zaW9uczpyfT1ObShhKSxpPVsuLi50LC4uLnJdLG89e2RlZmF1bHQ6bnVsbCxyZW5kZXJlZDohMCxyZW5kZXJIVE1MOm51bGwscGFyc2VIVE1MOm51bGwsa2VlcE9uU3BsaXQ6ITAsaXNSZXF1aXJlZDohMX07cmV0dXJuIGEuZm9yRWFjaChuPT57bGV0IGw9e25hbWU6bi5uYW1lLG9wdGlvbnM6bi5vcHRpb25zLHN0b3JhZ2U6bi5zdG9yYWdlLGV4dGVuc2lvbnM6aX0sZD1wdChuLCJhZGRHbG9iYWxBdHRyaWJ1dGVzIixsKTtpZighZClyZXR1cm47ZCgpLmZvckVhY2gocD0+e3AudHlwZXMuZm9yRWFjaCh1PT57T2JqZWN0LmVudHJpZXMocC5hdHRyaWJ1dGVzKS5mb3JFYWNoKChbbSx2XSk9PntlLnB1c2goe3R5cGU6dSxuYW1lOm0sYXR0cmlidXRlOnsuLi5vLC4uLnZ9fSl9KX0pfSl9KSxpLmZvckVhY2gobj0+e2xldCBsPXtuYW1lOm4ubmFtZSxvcHRpb25zOm4ub3B0aW9ucyxzdG9yYWdlOm4uc3RvcmFnZX0sZD1wdChuLCJhZGRBdHRyaWJ1dGVzIixsKTtpZighZClyZXR1cm47bGV0IGM9ZCgpO09iamVjdC5lbnRyaWVzKGMpLmZvckVhY2goKFtwLHVdKT0+e2xldCBtPXsuLi5vLC4uLnV9O3R5cGVvZiBtPy5kZWZhdWx0PT0iZnVuY3Rpb24iJiYobS5kZWZhdWx0PW0uZGVmYXVsdCgpKSxtPy5pc1JlcXVpcmVkJiZtPy5kZWZhdWx0PT09dm9pZCAwJiZkZWxldGUgbS5kZWZhdWx0LGUucHVzaCh7dHlwZTpuLm5hbWUsbmFtZTpwLGF0dHJpYnV0ZTptfSl9KX0pLGV9ZnVuY3Rpb24gYnMoYSxlKXtpZih0eXBlb2YgYT09InN0cmluZyIpe2lmKCFlLm5vZGVzW2FdKXRocm93IEVycm9yKGBUaGVyZSBpcyBubyBub2RlIHR5cGUgbmFtZWQgJyR7YX0nLiBNYXliZSB5b3UgZm9yZ290IHRvIGFkZCB0aGUgZXh0ZW5zaW9uP2ApO3JldHVybiBlLm5vZGVzW2FdfXJldHVybiBhfWZ1bmN0aW9uIFNhKC4uLmEpe3JldHVybiBhLmZpbHRlcihlPT4hIWUpLnJlZHVjZSgoZSx0KT0+e2xldCByPXsuLi5lfTtyZXR1cm4gT2JqZWN0LmVudHJpZXModCkuZm9yRWFjaCgoW2ksb10pPT57aWYoIXJbaV0pe3JbaV09bztyZXR1cm59aWYoaT09PSJjbGFzcyIpe2xldCBsPW8/U3RyaW5nKG8pLnNwbGl0KCIgIik6W10sZD1yW2ldP3JbaV0uc3BsaXQoIiAiKTpbXSxjPWwuZmlsdGVyKHA9PiFkLmluY2x1ZGVzKHApKTtyW2ldPVsuLi5kLC4uLmNdLmpvaW4oIiAiKX1lbHNlIGlmKGk9PT0ic3R5bGUiKXtsZXQgbD1vP28uc3BsaXQoIjsiKS5tYXAocD0+cC50cmltKCkpLmZpbHRlcihCb29sZWFuKTpbXSxkPXJbaV0/cltpXS5zcGxpdCgiOyIpLm1hcChwPT5wLnRyaW0oKSkuZmlsdGVyKEJvb2xlYW4pOltdLGM9bmV3IE1hcDtkLmZvckVhY2gocD0+e2xldFt1LG1dPXAuc3BsaXQoIjoiKS5tYXAodj0+di50cmltKCkpO2Muc2V0KHUsbSl9KSxsLmZvckVhY2gocD0+e2xldFt1LG1dPXAuc3BsaXQoIjoiKS5tYXAodj0+di50cmltKCkpO2Muc2V0KHUsbSl9KSxyW2ldPUFycmF5LmZyb20oYy5lbnRyaWVzKCkpLm1hcCgoW3AsdV0pPT5gJHtwfTogJHt1fWApLmpvaW4oIjsgIil9ZWxzZSByW2ldPW99KSxyfSx7fSl9ZnVuY3Rpb24gZlcoYSxlKXtyZXR1cm4gZS5maWx0ZXIodD0+dC50eXBlPT09YS50eXBlLm5hbWUpLmZpbHRlcih0PT50LmF0dHJpYnV0ZS5yZW5kZXJlZCkubWFwKHQ9PnQuYXR0cmlidXRlLnJlbmRlckhUTUw/dC5hdHRyaWJ1dGUucmVuZGVySFRNTChhLmF0dHJzKXx8e306e1t0Lm5hbWVdOmEuYXR0cnNbdC5uYW1lXX0pLnJlZHVjZSgodCxyKT0+U2EodCxyKSx7fSl9ZnVuY3Rpb24gYnJlKGEpe3JldHVybiB0eXBlb2YgYT09ImZ1bmN0aW9uIn1mdW5jdGlvbiBqdChhLGU9dm9pZCAwLC4uLnQpe3JldHVybiBicmUoYSk/ZT9hLmJpbmQoZSkoLi4udCk6YSguLi50KTphfWZ1bmN0aW9uIEVaZShhPXt9KXtyZXR1cm4gT2JqZWN0LmtleXMoYSkubGVuZ3RoPT09MCYmYS5jb25zdHJ1Y3Rvcj09PU9iamVjdH1mdW5jdGlvbiBQWmUoYSl7cmV0dXJuIHR5cGVvZiBhIT0ic3RyaW5nIj9hOmEubWF0Y2goL15bKy1dPyg/OlxkKlwuKT9cZCskLyk/TnVtYmVyKGEpOmE9PT0idHJ1ZSI/ITA6YT09PSJmYWxzZSI/ITE6YX1mdW5jdGlvbiB2cmUoYSxlKXtyZXR1cm4ic3R5bGUiaW4gYT9hOnsuLi5hLGdldEF0dHJzOnModD0+e2xldCByPWEuZ2V0QXR0cnM/YS5nZXRBdHRycyh0KTphLmF0dHJzO2lmKHI9PT0hMSlyZXR1cm4hMTtsZXQgaT1lLnJlZHVjZSgobyxuKT0+e2xldCBsPW4uYXR0cmlidXRlLnBhcnNlSFRNTD9uLmF0dHJpYnV0ZS5wYXJzZUhUTUwodCk6UFplKHQuZ2V0QXR0cmlidXRlKG4ubmFtZSkpO3JldHVybiBsPT1udWxsP286ey4uLm8sW24ubmFtZV06bH19LHt9KTtyZXR1cm57Li4uciwuLi5pfX0sImdldEF0dHJzIil9fWZ1bmN0aW9uIEpuYShhKXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGEpLmZpbHRlcigoW2UsdF0pPT5lPT09ImF0dHJzIiYmRVplKHQpPyExOnQhPW51bGwpKX1mdW5jdGlvbiB4cmUoYSxlKXt2YXIgdDtsZXQgcj1ncmUoYSkse25vZGVFeHRlbnNpb25zOmksbWFya0V4dGVuc2lvbnM6b309Tm0oYSksbj0odD1pLmZpbmQoYz0+cHQoYywidG9wTm9kZSIpKSk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0Lm5hbWUsbD1PYmplY3QuZnJvbUVudHJpZXMoaS5tYXAoYz0+e2xldCBwPXIuZmlsdGVyKHk9PnkudHlwZT09PWMubmFtZSksdT17bmFtZTpjLm5hbWUsb3B0aW9uczpjLm9wdGlvbnMsc3RvcmFnZTpjLnN0b3JhZ2UsZWRpdG9yOmV9LG09YS5yZWR1Y2UoKHksayk9PntsZXQgQz1wdChrLCJleHRlbmROb2RlU2NoZW1hIix1KTtyZXR1cm57Li4ueSwuLi5DP0MoYyk6e319fSx7fSksdj1KbmEoey4uLm0sY29udGVudDpqdChwdChjLCJjb250ZW50Iix1KSksbWFya3M6anQocHQoYywibWFya3MiLHUpKSxncm91cDpqdChwdChjLCJncm91cCIsdSkpLGlubGluZTpqdChwdChjLCJpbmxpbmUiLHUpKSxhdG9tOmp0KHB0KGMsImF0b20iLHUpKSxzZWxlY3RhYmxlOmp0KHB0KGMsInNlbGVjdGFibGUiLHUpKSxkcmFnZ2FibGU6anQocHQoYywiZHJhZ2dhYmxlIix1KSksY29kZTpqdChwdChjLCJjb2RlIix1KSksd2hpdGVzcGFjZTpqdChwdChjLCJ3aGl0ZXNwYWNlIix1KSksbGluZWJyZWFrUmVwbGFjZW1lbnQ6anQocHQoYywibGluZWJyZWFrUmVwbGFjZW1lbnQiLHUpKSxkZWZpbmluZzpqdChwdChjLCJkZWZpbmluZyIsdSkpLGlzb2xhdGluZzpqdChwdChjLCJpc29sYXRpbmciLHUpKSxhdHRyczpPYmplY3QuZnJvbUVudHJpZXMocC5tYXAoeT0+e3ZhciBrO3JldHVyblt5Lm5hbWUse2RlZmF1bHQ6KGs9eT8uYXR0cmlidXRlKT09PW51bGx8fGs9PT12b2lkIDA/dm9pZCAwOmsuZGVmYXVsdH1dfSkpfSkseD1qdChwdChjLCJwYXJzZUhUTUwiLHUpKTt4JiYodi5wYXJzZURPTT14Lm1hcCh5PT52cmUoeSxwKSkpO2xldCBiPXB0KGMsInJlbmRlckhUTUwiLHUpO2ImJih2LnRvRE9NPXk9PmIoe25vZGU6eSxIVE1MQXR0cmlidXRlczpmVyh5LHApfSkpO2xldCBnPXB0KGMsInJlbmRlclRleHQiLHUpO3JldHVybiBnJiYodi50b1RleHQ9ZyksW2MubmFtZSx2XX0pKSxkPU9iamVjdC5mcm9tRW50cmllcyhvLm1hcChjPT57bGV0IHA9ci5maWx0ZXIoZz0+Zy50eXBlPT09Yy5uYW1lKSx1PXtuYW1lOmMubmFtZSxvcHRpb25zOmMub3B0aW9ucyxzdG9yYWdlOmMuc3RvcmFnZSxlZGl0b3I6ZX0sbT1hLnJlZHVjZSgoZyx5KT0+e2xldCBrPXB0KHksImV4dGVuZE1hcmtTY2hlbWEiLHUpO3JldHVybnsuLi5nLC4uLms/ayhjKTp7fX19LHt9KSx2PUpuYSh7Li4ubSxpbmNsdXNpdmU6anQocHQoYywiaW5jbHVzaXZlIix1KSksZXhjbHVkZXM6anQocHQoYywiZXhjbHVkZXMiLHUpKSxncm91cDpqdChwdChjLCJncm91cCIsdSkpLHNwYW5uaW5nOmp0KHB0KGMsInNwYW5uaW5nIix1KSksY29kZTpqdChwdChjLCJjb2RlIix1KSksYXR0cnM6T2JqZWN0LmZyb21FbnRyaWVzKHAubWFwKGc9Pnt2YXIgeTtyZXR1cm5bZy5uYW1lLHtkZWZhdWx0Oih5PWc/LmF0dHJpYnV0ZSk9PT1udWxsfHx5PT09dm9pZCAwP3ZvaWQgMDp5LmRlZmF1bHR9XX0pKX0pLHg9anQocHQoYywicGFyc2VIVE1MIix1KSk7eCYmKHYucGFyc2VET009eC5tYXAoZz0+dnJlKGcscCkpKTtsZXQgYj1wdChjLCJyZW5kZXJIVE1MIix1KTtyZXR1cm4gYiYmKHYudG9ET009Zz0+Yih7bWFyazpnLEhUTUxBdHRyaWJ1dGVzOmZXKGcscCl9KSksW2MubmFtZSx2XX0pKTtyZXR1cm4gbmV3IHhtKHt0b3BOb2RlOm4sbm9kZXM6bCxtYXJrczpkfSl9ZnVuY3Rpb24gaFcoYSxlKXtyZXR1cm4gZS5ub2Rlc1thXXx8ZS5tYXJrc1thXXx8bnVsbH1mdW5jdGlvbiB5cmUoYSxlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lLnNvbWUodD0+KHR5cGVvZiB0PT0ic3RyaW5nIj90OnQubmFtZSk9PT1hLm5hbWUpOmV9ZnVuY3Rpb24gUm0oYSxlKXtsZXQgdD1ZMi5mcm9tU2NoZW1hKGUpLnNlcmlhbGl6ZUZyYWdtZW50KGEpLGk9ZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCkuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGkuYXBwZW5kQ2hpbGQodCksaS5pbm5lckhUTUx9ZnVuY3Rpb24gbVcoYSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKT09PSJbb2JqZWN0IFJlZ0V4cF0ifWZ1bmN0aW9uIGZyZShhKXt2YXIgZTtsZXR7ZWRpdG9yOnQsZnJvbTpyLHRvOmksdGV4dDpvLHJ1bGVzOm4scGx1Z2luOmx9PWEse3ZpZXc6ZH09dDtpZihkLmNvbXBvc2luZylyZXR1cm4hMTtsZXQgYz1kLnN0YXRlLmRvYy5yZXNvbHZlKHIpO2lmKGMucGFyZW50LnR5cGUuc3BlYy5jb2RlfHwhKChlPWMubm9kZUJlZm9yZXx8Yy5ub2RlQWZ0ZXIpPT09bnVsbHx8ZT09PXZvaWQgMCkmJmUubWFya3MuZmluZChtPT5tLnR5cGUuc3BlYy5jb2RlKSlyZXR1cm4hMTtsZXQgcD0hMSx1PUlaZShjKStvO3JldHVybiBuLmZvckVhY2gobT0+e2lmKHApcmV0dXJuO2xldCB2PVZFYSh1LG0uZmluZCk7aWYoIXYpcmV0dXJuO2xldCB4PWQuc3RhdGUudHIsYj1JbSh7c3RhdGU6ZC5zdGF0ZSx0cmFuc2FjdGlvbjp4fSksZz17ZnJvbTpyLSh2WzBdLmxlbmd0aC1vLmxlbmd0aCksdG86aX0se2NvbW1hbmRzOnksY2hhaW46ayxjYW46Q309bmV3IHo0KHtlZGl0b3I6dCxzdGF0ZTpifSk7bS5oYW5kbGVyKHtzdGF0ZTpiLHJhbmdlOmcsbWF0Y2g6dixjb21tYW5kczp5LGNoYWluOmssY2FuOkN9KT09PW51bGx8fCF4LnN0ZXBzLmxlbmd0aHx8KHguc2V0TWV0YShsLHt0cmFuc2Zvcm06eCxmcm9tOnIsdG86aSx0ZXh0Om99KSxkLmRpc3BhdGNoKHgpLHA9ITApfSkscH1mdW5jdGlvbiBOWmUoYSl7bGV0e2VkaXRvcjplLHJ1bGVzOnR9PWEscj1uZXcgcnIoe3N0YXRlOntpbml0KCl7cmV0dXJuIG51bGx9LGFwcGx5KGksbyxuKXtsZXQgbD1pLmdldE1ldGEocik7aWYobClyZXR1cm4gbDtsZXQgZD1pLmdldE1ldGEoImFwcGx5SW5wdXRSdWxlcyIpO3JldHVybiBkJiZzZXRUaW1lb3V0KCgpPT57bGV0e3RleHQ6cH09ZDt0eXBlb2YgcD09InN0cmluZyI/cD1wOnA9Um0oVmUuZnJvbShwKSxuLnNjaGVtYSk7bGV0e2Zyb206dX09ZCxtPXUrcC5sZW5ndGg7ZnJlKHtlZGl0b3I6ZSxmcm9tOnUsdG86bSx0ZXh0OnAscnVsZXM6dCxwbHVnaW46cn0pfSksaS5zZWxlY3Rpb25TZXR8fGkuZG9jQ2hhbmdlZD9udWxsOm99fSxwcm9wczp7aGFuZGxlVGV4dElucHV0KGksbyxuLGwpe3JldHVybiBmcmUoe2VkaXRvcjplLGZyb206byx0bzpuLHRleHQ6bCxydWxlczp0LHBsdWdpbjpyfSl9LGhhbmRsZURPTUV2ZW50czp7Y29tcG9zaXRpb25lbmQ6cyhpPT4oc2V0VGltZW91dCgoKT0+e2xldHskY3Vyc29yOm99PWkuc3RhdGUuc2VsZWN0aW9uO28mJmZyZSh7ZWRpdG9yOmUsZnJvbTpvLnBvcyx0bzpvLnBvcyx0ZXh0OiIiLHJ1bGVzOnQscGx1Z2luOnJ9KX0pLCExKSwiY29tcG9zaXRpb25lbmQiKX0saGFuZGxlS2V5RG93bihpLG8pe2lmKG8ua2V5IT09IkVudGVyIilyZXR1cm4hMTtsZXR7JGN1cnNvcjpufT1pLnN0YXRlLnNlbGVjdGlvbjtyZXR1cm4gbj9mcmUoe2VkaXRvcjplLGZyb206bi5wb3MsdG86bi5wb3MsdGV4dDpgCmAscnVsZXM6dCxwbHVnaW46cn0pOiExfX0saXNJbnB1dFJ1bGVzOiEwfSk7cmV0dXJuIHJ9ZnVuY3Rpb24gakVhKGEpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYSkuc2xpY2UoOCwtMSl9ZnVuY3Rpb24gT20oYSl7cmV0dXJuIGpFYShhKSE9PSJPYmplY3QiPyExOmEuY29uc3RydWN0b3I9PT1PYmplY3QmJk9iamVjdC5nZXRQcm90b3R5cGVPZihhKT09PU9iamVjdC5wcm90b3R5cGV9ZnVuY3Rpb24gRm0oYSxlKXtsZXQgdD17Li4uYX07cmV0dXJuIE9tKGEpJiZPbShlKSYmT2JqZWN0LmtleXMoZSkuZm9yRWFjaChyPT57T20oZVtyXSkmJk9tKGFbcl0pP3Rbcl09Rm0oYVtyXSxlW3JdKTp0W3JdPWVbcl19KSx0fWZ1bmN0aW9uIFJaZShhKXtyZXR1cm4gdHlwZW9mIGE9PSJudW1iZXIifWZ1bmN0aW9uIFdFYShhKXtsZXR7ZWRpdG9yOmUsc3RhdGU6dCxmcm9tOnIsdG86aSxydWxlOm8scGFzdGVFdmVudDpuLGRyb3BFdmVudDpsfT1hLHtjb21tYW5kczpkLGNoYWluOmMsY2FuOnB9PW5ldyB6NCh7ZWRpdG9yOmUsc3RhdGU6dH0pLHU9W107cmV0dXJuIHQuZG9jLm5vZGVzQmV0d2VlbihyLGksKHYseCk9PntpZighdi5pc1RleHRibG9ja3x8di50eXBlLnNwZWMuY29kZSlyZXR1cm47bGV0IGI9TWF0aC5tYXgocix4KSxnPU1hdGgubWluKGkseCt2LmNvbnRlbnQuc2l6ZSkseT12LnRleHRCZXR3ZWVuKGIteCxnLXgsdm9pZCAwLCJcdUZGRkMiKTtVRWEoeSxvLmZpbmQsbikuZm9yRWFjaChDPT57aWYoQy5pbmRleD09PXZvaWQgMClyZXR1cm47bGV0IE49YitDLmluZGV4KzEsXz1OK0NbMF0ubGVuZ3RoLHo9e2Zyb206dC50ci5tYXBwaW5nLm1hcChOKSx0bzp0LnRyLm1hcHBpbmcubWFwKF8pfSxPPW8uaGFuZGxlcih7c3RhdGU6dCxyYW5nZTp6LG1hdGNoOkMsY29tbWFuZHM6ZCxjaGFpbjpjLGNhbjpwLHBhc3RlRXZlbnQ6bixkcm9wRXZlbnQ6bH0pO3UucHVzaChPKX0pfSksdS5ldmVyeSh2PT52IT09bnVsbCl9ZnVuY3Rpb24gT1plKGEpe2xldHtlZGl0b3I6ZSxydWxlczp0fT1hLHI9bnVsbCxpPSExLG89ITEsbj10eXBlb2YgQ2xpcGJvYXJkRXZlbnQ8InUiP25ldyBDbGlwYm9hcmRFdmVudCgicGFzdGUiKTpudWxsLGw7dHJ5e2w9dHlwZW9mIERyYWdFdmVudDwidSI/bmV3IERyYWdFdmVudCgiZHJvcCIpOm51bGx9Y2F0Y2h7bD1udWxsfWxldCBkPXMoKHtzdGF0ZTpwLGZyb206dSx0bzptLHJ1bGU6dixwYXN0ZUV2dDp4fSk9PntsZXQgYj1wLnRyLGc9SW0oe3N0YXRlOnAsdHJhbnNhY3Rpb246Yn0pO2lmKCEoIVdFYSh7ZWRpdG9yOmUsc3RhdGU6Zyxmcm9tOk1hdGgubWF4KHUtMSwwKSx0bzptLmItMSxydWxlOnYscGFzdGVFdmVudDp4LGRyb3BFdmVudDpsfSl8fCFiLnN0ZXBzLmxlbmd0aCkpe3RyeXtsPXR5cGVvZiBEcmFnRXZlbnQ8InUiP25ldyBEcmFnRXZlbnQoImRyb3AiKTpudWxsfWNhdGNoe2w9bnVsbH1yZXR1cm4gbj10eXBlb2YgQ2xpcGJvYXJkRXZlbnQ8InUiP25ldyBDbGlwYm9hcmRFdmVudCgicGFzdGUiKTpudWxsLGJ9fSwicHJvY2Vzc0V2ZW50Iik7cmV0dXJuIHQubWFwKHA9Pm5ldyBycih7dmlldyh1KXtsZXQgbT1zKHg9Pnt2YXIgYjtyPSEoKGI9dS5kb20ucGFyZW50RWxlbWVudCk9PT1udWxsfHxiPT09dm9pZCAwKSYmYi5jb250YWlucyh4LnRhcmdldCk/dS5kb20ucGFyZW50RWxlbWVudDpudWxsLHImJihocmU9ZSl9LCJoYW5kbGVEcmFnc3RhcnQiKSx2PXMoKCk9PntocmUmJihocmU9bnVsbCl9LCJoYW5kbGVEcmFnZW5kIik7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJkcmFnc3RhcnQiLG0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJkcmFnZW5kIix2KSx7ZGVzdHJveSgpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJkcmFnc3RhcnQiLG0pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJkcmFnZW5kIix2KX19fSxwcm9wczp7aGFuZGxlRE9NRXZlbnRzOntkcm9wOnMoKHUsbSk9PntpZihvPXI9PT11LmRvbS5wYXJlbnRFbGVtZW50LGw9bSwhbyl7bGV0IHY9aHJlO3Y/LmlzRWRpdGFibGUmJnNldFRpbWVvdXQoKCk9PntsZXQgeD12LnN0YXRlLnNlbGVjdGlvbjt4JiZ2LmNvbW1hbmRzLmRlbGV0ZVJhbmdlKHtmcm9tOnguZnJvbSx0bzp4LnRvfSl9LDEwKX1yZXR1cm4hMX0sImRyb3AiKSxwYXN0ZTpzKCh1LG0pPT57dmFyIHY7bGV0IHg9KHY9bS5jbGlwYm9hcmREYXRhKT09PW51bGx8fHY9PT12b2lkIDA/dm9pZCAwOnYuZ2V0RGF0YSgidGV4dC9odG1sIik7cmV0dXJuIG49bSxpPSEheD8uaW5jbHVkZXMoImRhdGEtcG0tc2xpY2UiKSwhMX0sInBhc3RlIil9fSxhcHBlbmRUcmFuc2FjdGlvbjpzKCh1LG0sdik9PntsZXQgeD11WzBdLGI9eC5nZXRNZXRhKCJ1aUV2ZW50Iik9PT0icGFzdGUiJiYhaSxnPXguZ2V0TWV0YSgidWlFdmVudCIpPT09ImRyb3AiJiYhbyx5PXguZ2V0TWV0YSgiYXBwbHlQYXN0ZVJ1bGVzIiksaz0hIXk7aWYoIWImJiFnJiYhaylyZXR1cm47aWYoayl7bGV0e3RleHQ6X309eTt0eXBlb2YgXz09InN0cmluZyI/Xz1fOl89Um0oVmUuZnJvbShfKSx2LnNjaGVtYSk7bGV0e2Zyb206en09eSxPPXorXy5sZW5ndGgsVD1HRWEoXyk7cmV0dXJuIGQoe3J1bGU6cCxzdGF0ZTp2LGZyb206eix0bzp7YjpPfSxwYXN0ZUV2dDpUfSl9bGV0IEM9bS5kb2MuY29udGVudC5maW5kRGlmZlN0YXJ0KHYuZG9jLmNvbnRlbnQpLE49bS5kb2MuY29udGVudC5maW5kRGlmZkVuZCh2LmRvYy5jb250ZW50KTtpZighKCFSWmUoQyl8fCFOfHxDPT09Ti5iKSlyZXR1cm4gZCh7cnVsZTpwLHN0YXRlOnYsZnJvbTpDLHRvOk4scGFzdGVFdnQ6bn0pfSwiYXBwZW5kVHJhbnNhY3Rpb24iKX0pKX1mdW5jdGlvbiBGWmUoYSl7bGV0IGU9YS5maWx0ZXIoKHQscik9PmEuaW5kZXhPZih0KSE9PXIpO3JldHVybiBBcnJheS5mcm9tKG5ldyBTZXQoZSkpfWZ1bmN0aW9uIHdyZShhLGUsdCl7bGV0e2Zyb206cix0bzppfT1lLHtibG9ja1NlcGFyYXRvcjpvPWAKCmAsdGV4dFNlcmlhbGl6ZXJzOm49e319PXR8fHt9LGw9IiI7cmV0dXJuIGEubm9kZXNCZXR3ZWVuKHIsaSwoZCxjLHAsdSk9Pnt2YXIgbTtkLmlzQmxvY2smJmM+ciYmKGwrPW8pO2xldCB2PW4/LltkLnR5cGUubmFtZV07aWYodilyZXR1cm4gcCYmKGwrPXYoe25vZGU6ZCxwb3M6YyxwYXJlbnQ6cCxpbmRleDp1LHJhbmdlOmV9KSksITE7ZC5pc1RleHQmJihsKz0obT1kPy50ZXh0KT09PW51bGx8fG09PT12b2lkIDA/dm9pZCAwOm0uc2xpY2UoTWF0aC5tYXgocixjKS1jLGktYykpfSksbH1mdW5jdGlvbiBnVyhhKXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGEubm9kZXMpLmZpbHRlcigoWyxlXSk9PmUuc3BlYy50b1RleHQpLm1hcCgoW2UsdF0pPT5bZSx0LnNwZWMudG9UZXh0XSkpfWZ1bmN0aW9uIEJtKGEsZSx0PXtzdHJpY3Q6ITB9KXtsZXQgcj1PYmplY3Qua2V5cyhlKTtyZXR1cm4gci5sZW5ndGg/ci5ldmVyeShpPT50LnN0cmljdD9lW2ldPT09YVtpXTptVyhlW2ldKT9lW2ldLnRlc3QoYVtpXSk6ZVtpXT09PWFbaV0pOiEwfWZ1bmN0aW9uIHQxYShhLGUsdD17fSl7cmV0dXJuIGEuZmluZChyPT5yLnR5cGU9PT1lJiZCbShPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmtleXModCkubWFwKGk9PltpLHIuYXR0cnNbaV1dKSksdCkpfWZ1bmN0aW9uIGExYShhLGUsdD17fSl7cmV0dXJuISF0MWEoYSxlLHQpfWZ1bmN0aW9uIGJXKGEsZSx0KXt2YXIgcjtpZighYXx8IWUpcmV0dXJuO2xldCBpPWEucGFyZW50LmNoaWxkQWZ0ZXIoYS5wYXJlbnRPZmZzZXQpO2lmKCghaS5ub2RlfHwhaS5ub2RlLm1hcmtzLnNvbWUocD0+cC50eXBlPT09ZSkpJiYoaT1hLnBhcmVudC5jaGlsZEJlZm9yZShhLnBhcmVudE9mZnNldCkpLCFpLm5vZGV8fCFpLm5vZGUubWFya3Muc29tZShwPT5wLnR5cGU9PT1lKXx8KHQ9dHx8KChyPWkubm9kZS5tYXJrc1swXSk9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyLmF0dHJzKSwhdDFhKFsuLi5pLm5vZGUubWFya3NdLGUsdCkpKXJldHVybjtsZXQgbj1pLmluZGV4LGw9YS5zdGFydCgpK2kub2Zmc2V0LGQ9bisxLGM9bCtpLm5vZGUubm9kZVNpemU7Zm9yKDtuPjAmJmExYShbLi4uYS5wYXJlbnQuY2hpbGQobi0xKS5tYXJrc10sZSx0KTspbi09MSxsLT1hLnBhcmVudC5jaGlsZChuKS5ub2RlU2l6ZTtmb3IoO2Q8YS5wYXJlbnQuY2hpbGRDb3VudCYmYTFhKFsuLi5hLnBhcmVudC5jaGlsZChkKS5tYXJrc10sZSx0KTspYys9YS5wYXJlbnQuY2hpbGQoZCkubm9kZVNpemUsZCs9MTtyZXR1cm57ZnJvbTpsLHRvOmN9fWZ1bmN0aW9uIGVsKGEsZSl7aWYodHlwZW9mIGE9PSJzdHJpbmciKXtpZighZS5tYXJrc1thXSl0aHJvdyBFcnJvcihgVGhlcmUgaXMgbm8gbWFyayB0eXBlIG5hbWVkICcke2F9Jy4gTWF5YmUgeW91IGZvcmdvdCB0byBhZGQgdGhlIGV4dGVuc2lvbj9gKTtyZXR1cm4gZS5tYXJrc1thXX1yZXR1cm4gYX1mdW5jdGlvbiBNcmUoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBSdH1mdW5jdGlvbiBPMShhPTAsZT0wLHQ9MCl7cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KGEsZSksdCl9ZnVuY3Rpb24ga3JlKGEsZT1udWxsKXtpZighZSlyZXR1cm4gbnVsbDtsZXQgdD1JdC5hdFN0YXJ0KGEpLHI9SXQuYXRFbmQoYSk7aWYoZT09PSJzdGFydCJ8fGU9PT0hMClyZXR1cm4gdDtpZihlPT09ImVuZCIpcmV0dXJuIHI7bGV0IGk9dC5mcm9tLG89ci50bztyZXR1cm4gZT09PSJhbGwiP1J0LmNyZWF0ZShhLE8xKDAsaSxvKSxPMShhLmNvbnRlbnQuc2l6ZSxpLG8pKTpSdC5jcmVhdGUoYSxPMShlLGksbyksTzEoZSxpLG8pKX1mdW5jdGlvbiAkWmUoKXtyZXR1cm4gbmF2aWdhdG9yLnBsYXRmb3JtPT09IkFuZHJvaWQifHwvYW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCl9ZnVuY3Rpb24gbzUoKXtyZXR1cm5bImlQYWQgU2ltdWxhdG9yIiwiaVBob25lIFNpbXVsYXRvciIsImlQb2QgU2ltdWxhdG9yIiwiaVBhZCIsImlQaG9uZSIsImlQb2QiXS5pbmNsdWRlcyhuYXZpZ2F0b3IucGxhdGZvcm0pfHxuYXZpZ2F0b3IudXNlckFnZW50LmluY2x1ZGVzKCJNYWMiKSYmIm9udG91Y2hlbmQiaW4gZG9jdW1lbnR9ZnVuY3Rpb24gQlplKCl7cmV0dXJuIHR5cGVvZiBuYXZpZ2F0b3I8InUiPy9eKCg/IWNocm9tZXxhbmRyb2lkKS4pKnNhZmFyaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk6ITF9ZnVuY3Rpb24gbjUoYSl7bGV0IGU9YDxib2R5PiR7YX08L2JvZHk+YCx0PW5ldyB3aW5kb3cuRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGUsInRleHQvaHRtbCIpLmJvZHk7cmV0dXJuIHIxYSh0KX1mdW5jdGlvbiBsNShhLGUsdCl7aWYoYSBpbnN0YW5jZW9mIEdpfHxhIGluc3RhbmNlb2YgVmUpcmV0dXJuIGE7dD17c2xpY2U6ITAscGFyc2VPcHRpb25zOnt9LC4uLnR9O2xldCByPXR5cGVvZiBhPT0ib2JqZWN0IiYmYSE9PW51bGwsaT10eXBlb2YgYT09InN0cmluZyI7aWYocil0cnl7aWYoQXJyYXkuaXNBcnJheShhKSYmYS5sZW5ndGg+MClyZXR1cm4gVmUuZnJvbUFycmF5KGEubWFwKGw9PmUubm9kZUZyb21KU09OKGwpKSk7bGV0IG49ZS5ub2RlRnJvbUpTT04oYSk7cmV0dXJuIHQuZXJyb3JPbkludmFsaWRDb250ZW50JiZuLmNoZWNrKCksbn1jYXRjaChvKXtpZih0LmVycm9yT25JbnZhbGlkQ29udGVudCl0aHJvdyBuZXcgRXJyb3IoIlt0aXB0YXAgZXJyb3JdOiBJbnZhbGlkIEpTT04gY29udGVudCIse2NhdXNlOm99KTtyZXR1cm4gY29uc29sZS53YXJuKCJbdGlwdGFwIHdhcm5dOiBJbnZhbGlkIGNvbnRlbnQuIiwiUGFzc2VkIHZhbHVlOiIsYSwiRXJyb3I6IixvKSxsNSgiIixlLHQpfWlmKGkpe2lmKHQuZXJyb3JPbkludmFsaWRDb250ZW50KXtsZXQgbj0hMSxsPSIiLGQ9bmV3IHhtKHt0b3BOb2RlOmUuc3BlYy50b3BOb2RlLG1hcmtzOmUuc3BlYy5tYXJrcyxub2RlczplLnNwZWMubm9kZXMuYXBwZW5kKHtfX3RpcHRhcF9fcHJpdmF0ZV9fdW5rbm93bl9fY2F0Y2hfX2FsbF9fbm9kZTp7Y29udGVudDoiaW5saW5lKiIsZ3JvdXA6ImJsb2NrIixwYXJzZURPTTpbe3RhZzoiKiIsZ2V0QXR0cnM6cyhjPT4obj0hMCxsPXR5cGVvZiBjPT0ic3RyaW5nIj9jOmMub3V0ZXJIVE1MLG51bGwpLCJnZXRBdHRycyIpfV19fSl9KTtpZih0LnNsaWNlP04xLmZyb21TY2hlbWEoZCkucGFyc2VTbGljZShuNShhKSx0LnBhcnNlT3B0aW9ucyk6TjEuZnJvbVNjaGVtYShkKS5wYXJzZShuNShhKSx0LnBhcnNlT3B0aW9ucyksdC5lcnJvck9uSW52YWxpZENvbnRlbnQmJm4pdGhyb3cgbmV3IEVycm9yKCJbdGlwdGFwIGVycm9yXTogSW52YWxpZCBIVE1MIGNvbnRlbnQiLHtjYXVzZTpuZXcgRXJyb3IoYEludmFsaWQgZWxlbWVudCBmb3VuZDogJHtsfWApfSl9bGV0IG89TjEuZnJvbVNjaGVtYShlKTtyZXR1cm4gdC5zbGljZT9vLnBhcnNlU2xpY2UobjUoYSksdC5wYXJzZU9wdGlvbnMpLmNvbnRlbnQ6by5wYXJzZShuNShhKSx0LnBhcnNlT3B0aW9ucyl9cmV0dXJuIGw1KCIiLGUsdCl9ZnVuY3Rpb24gSFplKGEsZSx0KXtsZXQgcj1hLnN0ZXBzLmxlbmd0aC0xO2lmKHI8ZSlyZXR1cm47bGV0IGk9YS5zdGVwc1tyXTtpZighKGkgaW5zdGFuY2VvZiBHc3x8aSBpbnN0YW5jZW9mIGVzKSlyZXR1cm47bGV0IG89YS5tYXBwaW5nLm1hcHNbcl0sbj0wO28uZm9yRWFjaCgobCxkLGMscCk9PntuPT09MCYmKG49cCl9KSxhLnNldFNlbGVjdGlvbihJdC5uZWFyKGEuZG9jLnJlc29sdmUobiksdCkpfWZ1bmN0aW9uIFNyZSgpe3JldHVybiB0eXBlb2YgbmF2aWdhdG9yPCJ1Ij8vTWFjLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSk6ITF9ZnVuY3Rpb24gd1BhKGEpe2xldCBlPWEuc3BsaXQoLy0oPyEkKS8pLHQ9ZVtlLmxlbmd0aC0xXTt0PT09IlNwYWNlIiYmKHQ9IiAiKTtsZXQgcixpLG8sbjtmb3IobGV0IGw9MDtsPGUubGVuZ3RoLTE7bCs9MSl7bGV0IGQ9ZVtsXTtpZigvXihjbWR8bWV0YXxtKSQvaS50ZXN0KGQpKW49ITA7ZWxzZSBpZigvXmEobHQpPyQvaS50ZXN0KGQpKXI9ITA7ZWxzZSBpZigvXihjfGN0cmx8Y29udHJvbCkkL2kudGVzdChkKSlpPSEwO2Vsc2UgaWYoL15zKGhpZnQpPyQvaS50ZXN0KGQpKW89ITA7ZWxzZSBpZigvXm1vZCQvaS50ZXN0KGQpKW81KCl8fFNyZSgpP249ITA6aT0hMDtlbHNlIHRocm93IG5ldyBFcnJvcihgVW5yZWNvZ25pemVkIG1vZGlmaWVyIG5hbWU6ICR7ZH1gKX1yZXR1cm4gciYmKHQ9YEFsdC0ke3R9YCksaSYmKHQ9YEN0cmwtJHt0fWApLG4mJih0PWBNZXRhLSR7dH1gKSxvJiYodD1gU2hpZnQtJHt0fWApLHR9ZnVuY3Rpb24gYzUoYSxlLHQ9e30pe2xldHtmcm9tOnIsdG86aSxlbXB0eTpvfT1hLnNlbGVjdGlvbixuPWU/YnMoZSxhLnNjaGVtYSk6bnVsbCxsPVtdO2EuZG9jLm5vZGVzQmV0d2VlbihyLGksKHUsbSk9PntpZih1LmlzVGV4dClyZXR1cm47bGV0IHY9TWF0aC5tYXgocixtKSx4PU1hdGgubWluKGksbSt1Lm5vZGVTaXplKTtsLnB1c2goe25vZGU6dSxmcm9tOnYsdG86eH0pfSk7bGV0IGQ9aS1yLGM9bC5maWx0ZXIodT0+bj9uLm5hbWU9PT11Lm5vZGUudHlwZS5uYW1lOiEwKS5maWx0ZXIodT0+Qm0odS5ub2RlLmF0dHJzLHQse3N0cmljdDohMX0pKTtyZXR1cm4gbz8hIWMubGVuZ3RoOmMucmVkdWNlKCh1LG0pPT51K20udG8tbS5mcm9tLDApPj1kfWZ1bmN0aW9uIEhtKGEsZSl7cmV0dXJuIGUubm9kZXNbYV0/Im5vZGUiOmUubWFya3NbYV0/Im1hcmsiOm51bGx9ZnVuY3Rpb24genJlKGEsZSl7bGV0IHQ9dHlwZW9mIGU9PSJzdHJpbmciP1tlXTplO3JldHVybiBPYmplY3Qua2V5cyhhKS5yZWR1Y2UoKHIsaSk9Pih0LmluY2x1ZGVzKGkpfHwocltpXT1hW2ldKSxyKSx7fSl9ZnVuY3Rpb24gdlcoYSxlLHQ9e30scj17fSl7cmV0dXJuIGw1KGEsZSx7c2xpY2U6ITEscGFyc2VPcHRpb25zOnQsZXJyb3JPbkludmFsaWRDb250ZW50OnIuZXJyb3JPbkludmFsaWRDb250ZW50fSl9ZnVuY3Rpb24gQ3JlKGEsZSl7bGV0IHQ9ZWwoZSxhLnNjaGVtYSkse2Zyb206cix0bzppLGVtcHR5Om99PWEuc2VsZWN0aW9uLG49W107bz8oYS5zdG9yZWRNYXJrcyYmbi5wdXNoKC4uLmEuc3RvcmVkTWFya3MpLG4ucHVzaCguLi5hLnNlbGVjdGlvbi4kaGVhZC5tYXJrcygpKSk6YS5kb2Mubm9kZXNCZXR3ZWVuKHIsaSxkPT57bi5wdXNoKC4uLmQubWFya3MpfSk7bGV0IGw9bi5maW5kKGQ9PmQudHlwZS5uYW1lPT09dC5uYW1lKTtyZXR1cm4gbD97Li4ubC5hdHRyc306e319ZnVuY3Rpb24gQXJlKGEsZSl7bGV0IHQ9bmV3IFdmKGEpO3JldHVybiBlLmZvckVhY2gocj0+e3Iuc3RlcHMuZm9yRWFjaChpPT57dC5zdGVwKGkpfSl9KSx0fWZ1bmN0aW9uIHFaZShhKXtmb3IobGV0IGU9MDtlPGEuZWRnZUNvdW50O2UrPTEpe2xldHt0eXBlOnR9PWEuZWRnZShlKTtpZih0LmlzVGV4dGJsb2NrJiYhdC5oYXNSZXF1aXJlZEF0dHJzKCkpcmV0dXJuIHR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gaDFhKGEsZSl7bGV0IHQ9W107cmV0dXJuIGEuZGVzY2VuZGFudHMoKHIsaSk9PntlKHIpJiZ0LnB1c2goe25vZGU6cixwb3M6aX0pfSksdH1mdW5jdGlvbiBFcmUoYSxlLHQpe2xldCByPVtdO3JldHVybiBhLm5vZGVzQmV0d2VlbihlLmZyb20sZS50bywoaSxvKT0+e3QoaSkmJnIucHVzaCh7bm9kZTppLHBvczpvfSl9KSxyfWZ1bmN0aW9uIFZaZShhLGUpe2ZvcihsZXQgdD1hLmRlcHRoO3Q+MDt0LT0xKXtsZXQgcj1hLm5vZGUodCk7aWYoZShyKSlyZXR1cm57cG9zOnQ+MD9hLmJlZm9yZSh0KTowLHN0YXJ0OmEuc3RhcnQodCksZGVwdGg6dCxub2RlOnJ9fX1mdW5jdGlvbiBxbShhKXtyZXR1cm4gZT0+VlplKGUuJGZyb20sYSl9ZnVuY3Rpb24geFcoYSxlKXtsZXQgdD1tcmUucmVzb2x2ZShhKTtyZXR1cm4geHJlKHQsZSl9ZnVuY3Rpb24gbTFhKGEsZSl7bGV0IHQ9eFcoZSkscj1HaS5mcm9tSlNPTih0LGEpO3JldHVybiBSbShyLmNvbnRlbnQsdCl9ZnVuY3Rpb24gZzFhKGEsZSl7bGV0IHQ9eFcoZSkscj1uNShhKTtyZXR1cm4gTjEuZnJvbVNjaGVtYSh0KS5wYXJzZShyKS50b0pTT04oKX1mdW5jdGlvbiBfcmUoYSxlKXtsZXQgdD17ZnJvbTowLHRvOmEuY29udGVudC5zaXplfTtyZXR1cm4gd3JlKGEsdCxlKX1mdW5jdGlvbiBiMWEoYSxlLHQpe2xldHtibG9ja1NlcGFyYXRvcjpyPWAKCmAsdGV4dFNlcmlhbGl6ZXJzOmk9e319PXR8fHt9LG89eFcoZSksbj1HaS5mcm9tSlNPTihvLGEpO3JldHVybiBfcmUobix7YmxvY2tTZXBhcmF0b3I6cix0ZXh0U2VyaWFsaXplcnM6ey4uLmdXKG8pLC4uLml9fSl9ZnVuY3Rpb24galplKGEsZSl7bGV0IHQ9YnMoZSxhLnNjaGVtYSkse2Zyb206cix0bzppfT1hLnNlbGVjdGlvbixvPVtdO2EuZG9jLm5vZGVzQmV0d2VlbihyLGksbD0+e28ucHVzaChsKX0pO2xldCBuPW8ucmV2ZXJzZSgpLmZpbmQobD0+bC50eXBlLm5hbWU9PT10Lm5hbWUpO3JldHVybiBuP3suLi5uLmF0dHJzfTp7fX1mdW5jdGlvbiBrVyhhLGUpe2xldCB0PUhtKHR5cGVvZiBlPT0ic3RyaW5nIj9lOmUubmFtZSxhLnNjaGVtYSk7cmV0dXJuIHQ9PT0ibm9kZSI/alplKGEsZSk6dD09PSJtYXJrIj9DcmUoYSxlKTp7fX1mdW5jdGlvbiBVWmUoYSxlPUpTT04uc3RyaW5naWZ5KXtsZXQgdD17fTtyZXR1cm4gYS5maWx0ZXIocj0+e2xldCBpPWUocik7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGkpPyExOnRbaV09ITB9KX1mdW5jdGlvbiBOUGEoYSl7bGV0IGU9VVplKGEpO3JldHVybiBlLmxlbmd0aD09PTE/ZTplLmZpbHRlcigodCxyKT0+IWUuZmlsdGVyKChvLG4pPT5uIT09cikuc29tZShvPT50Lm9sZFJhbmdlLmZyb20+PW8ub2xkUmFuZ2UuZnJvbSYmdC5vbGRSYW5nZS50bzw9by5vbGRSYW5nZS50byYmdC5uZXdSYW5nZS5mcm9tPj1vLm5ld1JhbmdlLmZyb20mJnQubmV3UmFuZ2UudG88PW8ubmV3UmFuZ2UudG8pKX1mdW5jdGlvbiBQcmUoYSl7bGV0e21hcHBpbmc6ZSxzdGVwczp0fT1hLHI9W107cmV0dXJuIGUubWFwcy5mb3JFYWNoKChpLG8pPT57bGV0IG49W107aWYoaS5yYW5nZXMubGVuZ3RoKWkuZm9yRWFjaCgobCxkKT0+e24ucHVzaCh7ZnJvbTpsLHRvOmR9KX0pO2Vsc2V7bGV0e2Zyb206bCx0bzpkfT10W29dO2lmKGw9PT12b2lkIDB8fGQ9PT12b2lkIDApcmV0dXJuO24ucHVzaCh7ZnJvbTpsLHRvOmR9KX1uLmZvckVhY2goKHtmcm9tOmwsdG86ZH0pPT57bGV0IGM9ZS5zbGljZShvKS5tYXAobCwtMSkscD1lLnNsaWNlKG8pLm1hcChkKSx1PWUuaW52ZXJ0KCkubWFwKGMsLTEpLG09ZS5pbnZlcnQoKS5tYXAocCk7ci5wdXNoKHtvbGRSYW5nZTp7ZnJvbTp1LHRvOm19LG5ld1JhbmdlOntmcm9tOmMsdG86cH19KX0pfSksTlBhKHIpfWZ1bmN0aW9uIFdaZShhLGU9MCl7bGV0IHI9YS50eXBlPT09YS50eXBlLnNjaGVtYS50b3BOb2RlVHlwZT8wOjEsaT1lLG89aSthLm5vZGVTaXplLG49YS5tYXJrcy5tYXAoYz0+e2xldCBwPXt0eXBlOmMudHlwZS5uYW1lfTtyZXR1cm4gT2JqZWN0LmtleXMoYy5hdHRycykubGVuZ3RoJiYocC5hdHRycz17Li4uYy5hdHRyc30pLHB9KSxsPXsuLi5hLmF0dHJzfSxkPXt0eXBlOmEudHlwZS5uYW1lLGZyb206aSx0bzpvfTtyZXR1cm4gT2JqZWN0LmtleXMobCkubGVuZ3RoJiYoZC5hdHRycz1sKSxuLmxlbmd0aCYmKGQubWFya3M9biksYS5jb250ZW50LmNoaWxkQ291bnQmJihkLmNvbnRlbnQ9W10sYS5mb3JFYWNoKChjLHApPT57dmFyIHU7KHU9ZC5jb250ZW50KT09PW51bGx8fHU9PT12b2lkIDB8fHUucHVzaChXWmUoYyxlK3ArcikpfSkpLGEudGV4dCYmKGQudGV4dD1hLnRleHQpLGR9ZnVuY3Rpb24gam0oYSxlLHQpe2xldCByPVtdO3JldHVybiBhPT09ZT90LnJlc29sdmUoYSkubWFya3MoKS5mb3JFYWNoKGk9PntsZXQgbz10LnJlc29sdmUoYSksbj1iVyhvLGkudHlwZSk7biYmci5wdXNoKHttYXJrOmksLi4ubn0pfSk6dC5ub2Rlc0JldHdlZW4oYSxlLChpLG8pPT57IWl8fGk/Lm5vZGVTaXplPT09dm9pZCAwfHxyLnB1c2goLi4uaS5tYXJrcy5tYXAobj0+KHtmcm9tOm8sdG86bytpLm5vZGVTaXplLG1hcms6bn0pKSl9KSxyfWZ1bmN0aW9uIFZtKGEsZSx0KXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKHQpLmZpbHRlcigoW3JdKT0+e2xldCBpPWEuZmluZChvPT5vLnR5cGU9PT1lJiZvLm5hbWU9PT1yKTtyZXR1cm4gaT9pLmF0dHJpYnV0ZS5rZWVwT25TcGxpdDohMX0pKX1mdW5jdGlvbiB5VyhhLGUsdD17fSl7bGV0e2VtcHR5OnIscmFuZ2VzOml9PWEuc2VsZWN0aW9uLG89ZT9lbChlLGEuc2NoZW1hKTpudWxsO2lmKHIpcmV0dXJuISEoYS5zdG9yZWRNYXJrc3x8YS5zZWxlY3Rpb24uJGZyb20ubWFya3MoKSkuZmlsdGVyKHU9Pm8/by5uYW1lPT09dS50eXBlLm5hbWU6ITApLmZpbmQodT0+Qm0odS5hdHRycyx0LHtzdHJpY3Q6ITF9KSk7bGV0IG49MCxsPVtdO2lmKGkuZm9yRWFjaCgoeyRmcm9tOnUsJHRvOm19KT0+e2xldCB2PXUucG9zLHg9bS5wb3M7YS5kb2Mubm9kZXNCZXR3ZWVuKHYseCwoYixnKT0+e2lmKCFiLmlzVGV4dCYmIWIubWFya3MubGVuZ3RoKXJldHVybjtsZXQgeT1NYXRoLm1heCh2LGcpLGs9TWF0aC5taW4oeCxnK2Iubm9kZVNpemUpLEM9ay15O24rPUMsbC5wdXNoKC4uLmIubWFya3MubWFwKE49Pih7bWFyazpOLGZyb206eSx0bzprfSkpKX0pfSksbj09PTApcmV0dXJuITE7bGV0IGQ9bC5maWx0ZXIodT0+bz9vLm5hbWU9PT11Lm1hcmsudHlwZS5uYW1lOiEwKS5maWx0ZXIodT0+Qm0odS5tYXJrLmF0dHJzLHQse3N0cmljdDohMX0pKS5yZWR1Y2UoKHUsbSk9PnUrbS50by1tLmZyb20sMCksYz1sLmZpbHRlcih1PT5vP3UubWFyay50eXBlIT09byYmdS5tYXJrLnR5cGUuZXhjbHVkZXMobyk6ITApLnJlZHVjZSgodSxtKT0+dSttLnRvLW0uZnJvbSwwKTtyZXR1cm4oZD4wP2QrYzpkKT49bn1mdW5jdGlvbiBHWmUoYSxlLHQ9e30pe2lmKCFlKXJldHVybiBjNShhLG51bGwsdCl8fHlXKGEsbnVsbCx0KTtsZXQgcj1IbShlLGEuc2NoZW1hKTtyZXR1cm4gcj09PSJub2RlIj9jNShhLGUsdCk6cj09PSJtYXJrIj95VyhhLGUsdCk6ITF9ZnVuY3Rpb24gVHJlKGEsZSl7bGV0e25vZGVFeHRlbnNpb25zOnR9PU5tKGUpLHI9dC5maW5kKG49Pm4ubmFtZT09PWEpO2lmKCFyKXJldHVybiExO2xldCBpPXtuYW1lOnIubmFtZSxvcHRpb25zOnIub3B0aW9ucyxzdG9yYWdlOnIuc3RvcmFnZX0sbz1qdChwdChyLCJncm91cCIsaSkpO3JldHVybiB0eXBlb2YgbyE9InN0cmluZyI/ITE6by5zcGxpdCgiICIpLmluY2x1ZGVzKCJsaXN0Iil9ZnVuY3Rpb24gd1coYSx7Y2hlY2tDaGlsZHJlbjplPSEwLGlnbm9yZVdoaXRlc3BhY2U6dD0hMX09e30pe3ZhciByO2lmKHQpe2lmKGEudHlwZS5uYW1lPT09ImhhcmRCcmVhayIpcmV0dXJuITA7aWYoYS5pc1RleHQpcmV0dXJuL15ccyokL20udGVzdCgocj1hLnRleHQpIT09bnVsbCYmciE9PXZvaWQgMD9yOiIiKX1pZihhLmlzVGV4dClyZXR1cm4hYS50ZXh0O2lmKGEuaXNBdG9tfHxhLmlzTGVhZilyZXR1cm4hMTtpZihhLmNvbnRlbnQuY2hpbGRDb3VudD09PTApcmV0dXJuITA7aWYoZSl7bGV0IGk9ITA7cmV0dXJuIGEuY29udGVudC5mb3JFYWNoKG89PntpIT09ITEmJih3VyhvLHtpZ25vcmVXaGl0ZXNwYWNlOnQsY2hlY2tDaGlsZHJlbjplfSl8fChpPSExKSl9KSxpfXJldHVybiExfWZ1bmN0aW9uIElyZShhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIE10fWZ1bmN0aW9uIHcxYShhLGUsdCl7bGV0IGk9YS5zdGF0ZS5kb2MuY29udGVudC5zaXplLG89TzEoZSwwLGkpLG49TzEodCwwLGkpLGw9YS5jb29yZHNBdFBvcyhvKSxkPWEuY29vcmRzQXRQb3MobiwtMSksYz1NYXRoLm1pbihsLnRvcCxkLnRvcCkscD1NYXRoLm1heChsLmJvdHRvbSxkLmJvdHRvbSksdT1NYXRoLm1pbihsLmxlZnQsZC5sZWZ0KSxtPU1hdGgubWF4KGwucmlnaHQsZC5yaWdodCksdj1tLXUseD1wLWMseT17dG9wOmMsYm90dG9tOnAsbGVmdDp1LHJpZ2h0Om0sd2lkdGg6dixoZWlnaHQ6eCx4OnUseTpjfTtyZXR1cm57Li4ueSx0b0pTT046cygoKT0+eSwidG9KU09OIil9fWZ1bmN0aW9uIHMxYSh7anNvbjphLHZhbGlkTWFya3M6ZSx2YWxpZE5vZGVzOnQsb3B0aW9uczpyLHJld3JpdHRlbkNvbnRlbnQ6aT1bXX0pe3JldHVybiBhLm1hcmtzJiZBcnJheS5pc0FycmF5KGEubWFya3MpJiYoYS5tYXJrcz1hLm1hcmtzLmZpbHRlcihvPT57bGV0IG49dHlwZW9mIG89PSJzdHJpbmciP286by50eXBlO3JldHVybiBlLmhhcyhuKT8hMDooaS5wdXNoKHtvcmlnaW5hbDpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG8pKSx1bnN1cHBvcnRlZDpufSksITEpfSkpLGEuY29udGVudCYmQXJyYXkuaXNBcnJheShhLmNvbnRlbnQpJiYoYS5jb250ZW50PWEuY29udGVudC5tYXAobz0+czFhKHtqc29uOm8sdmFsaWRNYXJrczplLHZhbGlkTm9kZXM6dCxvcHRpb25zOnIscmV3cml0dGVuQ29udGVudDppfSkuanNvbikuZmlsdGVyKG89Pm8hPW51bGwpKSxhLnR5cGUmJiF0LmhhcyhhLnR5cGUpPyhpLnB1c2goe29yaWdpbmFsOkpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYSkpLHVuc3VwcG9ydGVkOmEudHlwZX0pLGEuY29udGVudCYmQXJyYXkuaXNBcnJheShhLmNvbnRlbnQpJiZyPy5mYWxsYmFja1RvUGFyYWdyYXBoIT09ITE/KGEudHlwZT0icGFyYWdyYXBoIix7anNvbjphLHJld3JpdHRlbkNvbnRlbnQ6aX0pOntqc29uOm51bGwscmV3cml0dGVuQ29udGVudDppfSk6e2pzb246YSxyZXdyaXR0ZW5Db250ZW50Oml9fWZ1bmN0aW9uIE0xYShhLGUsdCl7cmV0dXJuIHMxYSh7anNvbjphLHZhbGlkTm9kZXM6bmV3IFNldChPYmplY3Qua2V5cyhlLm5vZGVzKSksdmFsaWRNYXJrczpuZXcgU2V0KE9iamVjdC5rZXlzKGUubWFya3MpKSxvcHRpb25zOnR9KX1mdW5jdGlvbiBSUGEoYSxlLHQpe3ZhciByO2xldHtzZWxlY3Rpb246aX09ZSxvPW51bGw7aWYoTXJlKGkpJiYobz1pLiRjdXJzb3IpLG8pe2xldCBsPShyPWEuc3RvcmVkTWFya3MpIT09bnVsbCYmciE9PXZvaWQgMD9yOm8ubWFya3MoKTtyZXR1cm4hIXQuaXNJblNldChsKXx8IWwuc29tZShkPT5kLnR5cGUuZXhjbHVkZXModCkpfWxldHtyYW5nZXM6bn09aTtyZXR1cm4gbi5zb21lKCh7JGZyb206bCwkdG86ZH0pPT57bGV0IGM9bC5kZXB0aD09PTA/YS5kb2MuaW5saW5lQ29udGVudCYmYS5kb2MudHlwZS5hbGxvd3NNYXJrVHlwZSh0KTohMTtyZXR1cm4gYS5kb2Mubm9kZXNCZXR3ZWVuKGwucG9zLGQucG9zLChwLHUsbSk9PntpZihjKXJldHVybiExO2lmKHAuaXNJbmxpbmUpe2xldCB2PSFtfHxtLnR5cGUuYWxsb3dzTWFya1R5cGUodCkseD0hIXQuaXNJblNldChwLm1hcmtzKXx8IXAubWFya3Muc29tZShiPT5iLnR5cGUuZXhjbHVkZXModCkpO2M9diYmeH1yZXR1cm4hY30pLGN9KX1mdW5jdGlvbiBpMWEoYSxlKXtsZXQgdD1hLnN0b3JlZE1hcmtzfHxhLnNlbGVjdGlvbi4kdG8ucGFyZW50T2Zmc2V0JiZhLnNlbGVjdGlvbi4kZnJvbS5tYXJrcygpO2lmKHQpe2xldCByPXQuZmlsdGVyKGk9PmU/LmluY2x1ZGVzKGkudHlwZS5uYW1lKSk7YS50ci5lbnN1cmVNYXJrcyhyKX19ZnVuY3Rpb24gWVplKGEsZSx0KXtsZXQgcj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBzdHlsZVtkYXRhLXRpcHRhcC1zdHlsZSR7dD9gLSR7dH1gOiIifV1gKTtpZihyIT09bnVsbClyZXR1cm4gcjtsZXQgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiBlJiZpLnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpLGkuc2V0QXR0cmlidXRlKGBkYXRhLXRpcHRhcC1zdHlsZSR7dD9gLSR7dH1gOiIifWAsIiIpLGkuaW5uZXJIVE1MPWEsZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZChpKSxpfWZ1bmN0aW9uIFJuKGEpe3JldHVybiBuZXcgQ2Moe2ZpbmQ6YS5maW5kLGhhbmRsZXI6cygoe3N0YXRlOmUscmFuZ2U6dCxtYXRjaDpyfSk9PntsZXQgaT1qdChhLmdldEF0dHJpYnV0ZXMsdm9pZCAwLHIpO2lmKGk9PT0hMXx8aT09PW51bGwpcmV0dXJuIG51bGw7bGV0e3RyOm99PWUsbj1yW3IubGVuZ3RoLTFdLGw9clswXTtpZihuKXtsZXQgZD1sLnNlYXJjaCgvXFMvKSxjPXQuZnJvbStsLmluZGV4T2YobikscD1jK24ubGVuZ3RoO2lmKGptKHQuZnJvbSx0LnRvLGUuZG9jKS5maWx0ZXIodj0+di5tYXJrLnR5cGUuZXhjbHVkZWQuZmluZChiPT5iPT09YS50eXBlJiZiIT09di5tYXJrLnR5cGUpKS5maWx0ZXIodj0+di50bz5jKS5sZW5ndGgpcmV0dXJuIG51bGw7cDx0LnRvJiZvLmRlbGV0ZShwLHQudG8pLGM+dC5mcm9tJiZvLmRlbGV0ZSh0LmZyb20rZCxjKTtsZXQgbT10LmZyb20rZCtuLmxlbmd0aDtvLmFkZE1hcmsodC5mcm9tK2QsbSxhLnR5cGUuY3JlYXRlKGl8fHt9KSksby5yZW1vdmVTdG9yZWRNYXJrKGEudHlwZSl9fSwiaGFuZGxlciIpfSl9ZnVuY3Rpb24gTnJlKGEpe3JldHVybiBuZXcgQ2Moe2ZpbmQ6YS5maW5kLGhhbmRsZXI6cygoe3N0YXRlOmUscmFuZ2U6dCxtYXRjaDpyfSk9PntsZXQgaT1qdChhLmdldEF0dHJpYnV0ZXMsdm9pZCAwLHIpfHx7fSx7dHI6b309ZSxuPXQuZnJvbSxsPXQudG8sZD1hLnR5cGUuY3JlYXRlKGkpO2lmKHJbMV0pe2xldCBjPXJbMF0ubGFzdEluZGV4T2YoclsxXSkscD1uK2M7cD5sP3A9bDpsPXArclsxXS5sZW5ndGg7bGV0IHU9clswXVtyWzBdLmxlbmd0aC0xXTtvLmluc2VydFRleHQodSxuK3JbMF0ubGVuZ3RoLTEpLG8ucmVwbGFjZVdpdGgocCxsLGQpfWVsc2UgaWYoclswXSl7bGV0IGM9YS50eXBlLmlzSW5saW5lP246bi0xO28uaW5zZXJ0KGMsYS50eXBlLmNyZWF0ZShpKSkuZGVsZXRlKG8ubWFwcGluZy5tYXAobiksby5tYXBwaW5nLm1hcChsKSl9by5zY3JvbGxJbnRvVmlldygpfSwiaGFuZGxlciIpfSl9ZnVuY3Rpb24gZDUoYSl7cmV0dXJuIG5ldyBDYyh7ZmluZDphLmZpbmQsaGFuZGxlcjpzKCh7c3RhdGU6ZSxyYW5nZTp0LG1hdGNoOnJ9KT0+e2xldCBpPWUuZG9jLnJlc29sdmUodC5mcm9tKSxvPWp0KGEuZ2V0QXR0cmlidXRlcyx2b2lkIDAscil8fHt9O2lmKCFpLm5vZGUoLTEpLmNhblJlcGxhY2VXaXRoKGkuaW5kZXgoLTEpLGkuaW5kZXhBZnRlcigtMSksYS50eXBlKSlyZXR1cm4gbnVsbDtlLnRyLmRlbGV0ZSh0LmZyb20sdC50bykuc2V0QmxvY2tUeXBlKHQuZnJvbSx0LmZyb20sYS50eXBlLG8pfSwiaGFuZGxlciIpfSl9ZnVuY3Rpb24gZ3IoYSl7cmV0dXJuIG5ldyBDYyh7ZmluZDphLmZpbmQsaGFuZGxlcjpzKCh7c3RhdGU6ZSxyYW5nZTp0LG1hdGNoOnJ9KT0+e2xldCBpPWEucmVwbGFjZSxvPXQuZnJvbSxuPXQudG87aWYoclsxXSl7bGV0IGw9clswXS5sYXN0SW5kZXhPZihyWzFdKTtpKz1yWzBdLnNsaWNlKGwrclsxXS5sZW5ndGgpLG8rPWw7bGV0IGQ9by1uO2Q+MCYmKGk9clswXS5zbGljZShsLWQsbCkraSxvPW4pfWUudHIuaW5zZXJ0VGV4dChpLG8sbil9LCJoYW5kbGVyIil9KX1mdW5jdGlvbiB0bChhKXtyZXR1cm4gbmV3IENjKHtmaW5kOmEuZmluZCxoYW5kbGVyOnMoKHtzdGF0ZTplLHJhbmdlOnQsbWF0Y2g6cixjaGFpbjppfSk9PntsZXQgbz1qdChhLmdldEF0dHJpYnV0ZXMsdm9pZCAwLHIpfHx7fSxuPWUudHIuZGVsZXRlKHQuZnJvbSx0LnRvKSxkPW4uZG9jLnJlc29sdmUodC5mcm9tKS5ibG9ja1JhbmdlKCksYz1kJiZHZihkLGEudHlwZSxvKTtpZighYylyZXR1cm4gbnVsbDtpZihuLndyYXAoZCxjKSxhLmtlZXBNYXJrcyYmYS5lZGl0b3Ipe2xldHtzZWxlY3Rpb246dSxzdG9yZWRNYXJrczptfT1lLHtzcGxpdHRhYmxlTWFya3M6dn09YS5lZGl0b3IuZXh0ZW5zaW9uTWFuYWdlcix4PW18fHUuJHRvLnBhcmVudE9mZnNldCYmdS4kZnJvbS5tYXJrcygpO2lmKHgpe2xldCBiPXguZmlsdGVyKGc9PnYuaW5jbHVkZXMoZy50eXBlLm5hbWUpKTtuLmVuc3VyZU1hcmtzKGIpfX1pZihhLmtlZXBBdHRyaWJ1dGVzKXtsZXQgdT1hLnR5cGUubmFtZT09PSJidWxsZXRMaXN0Inx8YS50eXBlLm5hbWU9PT0ib3JkZXJlZExpc3QiPyJsaXN0SXRlbSI6InRhc2tMaXN0IjtpKCkudXBkYXRlQXR0cmlidXRlcyh1LG8pLnJ1bigpfWxldCBwPW4uZG9jLnJlc29sdmUodC5mcm9tLTEpLm5vZGVCZWZvcmU7cCYmcC50eXBlPT09YS50eXBlJiZ0bihuLmRvYyx0LmZyb20tMSkmJighYS5qb2luUHJlZGljYXRlfHxhLmpvaW5QcmVkaWNhdGUocixwKSkmJm4uam9pbih0LmZyb20tMSl9LCJoYW5kbGVyIil9KX1mdW5jdGlvbiBQbyhhKXtyZXR1cm4gbmV3IGk1KHtmaW5kOmEuZmluZCxoYW5kbGVyOnMoKHtzdGF0ZTplLHJhbmdlOnQsbWF0Y2g6cixwYXN0ZUV2ZW50Oml9KT0+e2xldCBvPWp0KGEuZ2V0QXR0cmlidXRlcyx2b2lkIDAscixpKTtpZihvPT09ITF8fG89PT1udWxsKXJldHVybiBudWxsO2xldHt0cjpufT1lLGw9cltyLmxlbmd0aC0xXSxkPXJbMF0sYz10LnRvO2lmKGwpe2xldCBwPWQuc2VhcmNoKC9cUy8pLHU9dC5mcm9tK2QuaW5kZXhPZihsKSxtPXUrbC5sZW5ndGg7aWYoam0odC5mcm9tLHQudG8sZS5kb2MpLmZpbHRlcih4PT54Lm1hcmsudHlwZS5leGNsdWRlZC5maW5kKGc9Pmc9PT1hLnR5cGUmJmchPT14Lm1hcmsudHlwZSkpLmZpbHRlcih4PT54LnRvPnUpLmxlbmd0aClyZXR1cm4gbnVsbDttPHQudG8mJm4uZGVsZXRlKG0sdC50byksdT50LmZyb20mJm4uZGVsZXRlKHQuZnJvbStwLHUpLGM9dC5mcm9tK3ArbC5sZW5ndGgsbi5hZGRNYXJrKHQuZnJvbStwLGMsYS50eXBlLmNyZWF0ZShvfHx7fSkpLG4ucmVtb3ZlU3RvcmVkTWFyayhhLnR5cGUpfX0sImhhbmRsZXIiKX0pfWZ1bmN0aW9uIFJyZShhLGUpe2xldHtzZWxlY3Rpb246dH09YSx7JGZyb206cn09dDtpZih0IGluc3RhbmNlb2YgTXQpe2xldCBvPXIuaW5kZXgoKTtyZXR1cm4gci5wYXJlbnQuY2FuUmVwbGFjZVdpdGgobyxvKzEsZSl9bGV0IGk9ci5kZXB0aDtmb3IoO2k+PTA7KXtsZXQgbz1yLmluZGV4KGkpO2lmKHIubm9kZShpKS5jb250ZW50TWF0Y2hBdChvKS5tYXRjaFR5cGUoZSkpcmV0dXJuITA7aS09MX1yZXR1cm4hMX1mdW5jdGlvbiBTMWEoYSl7cmV0dXJuIGEucmVwbGFjZSgvWy0vXFxeJCorPy4oKXxbXF17fV0vZywiXFwkJiIpfWZ1bmN0aW9uIHoxYShhKXtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmcifWZ1bmN0aW9uIEMxYShhKXtyZXR1cm4gbmV3IGk1KHtmaW5kOmEuZmluZCxoYW5kbGVyKHttYXRjaDplLGNoYWluOnQscmFuZ2U6cixwYXN0ZUV2ZW50Oml9KXtsZXQgbz1qdChhLmdldEF0dHJpYnV0ZXMsdm9pZCAwLGUsaSksbj1qdChhLmdldENvbnRlbnQsdm9pZCAwLG8pO2lmKG89PT0hMXx8bz09PW51bGwpcmV0dXJuIG51bGw7bGV0IGw9e3R5cGU6YS50eXBlLm5hbWUsYXR0cnM6b307biYmKGwuY29udGVudD1uKSxlLmlucHV0JiZ0KCkuZGVsZXRlUmFuZ2UocikuaW5zZXJ0Q29udGVudEF0KHIuZnJvbSxsKX19KX1mdW5jdGlvbiBfMWEoYSl7cmV0dXJuIG5ldyBpNSh7ZmluZDphLmZpbmQsaGFuZGxlcjpzKCh7c3RhdGU6ZSxyYW5nZTp0LG1hdGNoOnJ9KT0+e2xldCBpPWEucmVwbGFjZSxvPXQuZnJvbSxuPXQudG87aWYoclsxXSl7bGV0IGw9clswXS5sYXN0SW5kZXhPZihyWzFdKTtpKz1yWzBdLnNsaWNlKGwrclsxXS5sZW5ndGgpLG8rPWw7bGV0IGQ9by1uO2Q+MCYmKGk9clswXS5zbGljZShsLWQsbCkraSxvPW4pfWUudHIuaW5zZXJ0VGV4dChpLG8sbil9LCJoYW5kbGVyIil9KX12YXIgejQsTFplLElaZSxDYyxWRWEsaWksaTUsVUVhLGhyZSxHRWEsbXJlLHdyLGUxYSxZRWEsS0VhLFpFYSxYRWEsUUVhLEpFYSxlUGEsdFBhLGFQYSxyUGEsc1BhLGlQYSxvUGEsblBhLGxQYSxjUGEsZFBhLHIxYSx1UGEscFBhLGZQYSxoUGEsbVBhLGdQYSxiUGEsdlBhLHhQYSx5UGEsTVBhLGtQYSxTUGEselBhLENQYSxfUGEsVFBhLExQYSwkUGEsRFBhLEFQYSxFUGEsUFBhLElQYSx2MWEseDFhLHkxYSxPUGEsRlBhLEJQYSxIUGEscVBhLFZQYSxqUGEsVVBhLERaZSxBWmUsV1BhLEdQYSxZUGEsS1BhLFpQYSxYUGEsUVBhLEpQYSxlSWEsdElhLGFJYSxvMWEsbjFhLGwxYSxjMWEsZDFhLHUxYSxwMWEsZjFhLGsxYSxNVyxySWEsTHJlLG5yLCRyZSxEcmUsYnI9ZigoKT0+e2FXKCk7JG5hKCk7RW5hKCk7UG5hKCk7SW5hKCk7VW5hKCk7UW5hKCk7cyhJbSwiY3JlYXRlQ2hhaW5hYmxlU3RhdGUiKTt6ND1jbGFzc3tzdGF0aWN7cyh0aGlzLCJDb21tYW5kTWFuYWdlciIpfWNvbnN0cnVjdG9yKGUpe3RoaXMuZWRpdG9yPWUuZWRpdG9yLHRoaXMucmF3Q29tbWFuZHM9dGhpcy5lZGl0b3IuZXh0ZW5zaW9uTWFuYWdlci5jb21tYW5kcyx0aGlzLmN1c3RvbVN0YXRlPWUuc3RhdGV9Z2V0IGhhc0N1c3RvbVN0YXRlKCl7cmV0dXJuISF0aGlzLmN1c3RvbVN0YXRlfWdldCBzdGF0ZSgpe3JldHVybiB0aGlzLmN1c3RvbVN0YXRlfHx0aGlzLmVkaXRvci5zdGF0ZX1nZXQgY29tbWFuZHMoKXtsZXR7cmF3Q29tbWFuZHM6ZSxlZGl0b3I6dCxzdGF0ZTpyfT10aGlzLHt2aWV3Oml9PXQse3RyOm99PXIsbj10aGlzLmJ1aWxkUHJvcHMobyk7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhlKS5tYXAoKFtsLGRdKT0+W2wscygoLi4ucCk9PntsZXQgdT1kKC4uLnApKG4pO3JldHVybiFvLmdldE1ldGEoInByZXZlbnREaXNwYXRjaCIpJiYhdGhpcy5oYXNDdXN0b21TdGF0ZSYmaS5kaXNwYXRjaChvKSx1fSwibWV0aG9kIildKSl9Z2V0IGNoYWluKCl7cmV0dXJuKCk9PnRoaXMuY3JlYXRlQ2hhaW4oKX1nZXQgY2FuKCl7cmV0dXJuKCk9PnRoaXMuY3JlYXRlQ2FuKCl9Y3JlYXRlQ2hhaW4oZSx0PSEwKXtsZXR7cmF3Q29tbWFuZHM6cixlZGl0b3I6aSxzdGF0ZTpvfT10aGlzLHt2aWV3Om59PWksbD1bXSxkPSEhZSxjPWV8fG8udHIscD1zKCgpPT4oIWQmJnQmJiFjLmdldE1ldGEoInByZXZlbnREaXNwYXRjaCIpJiYhdGhpcy5oYXNDdXN0b21TdGF0ZSYmbi5kaXNwYXRjaChjKSxsLmV2ZXJ5KG09Pm09PT0hMCkpLCJydW4iKSx1PXsuLi5PYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMocikubWFwKChbbSx2XSk9PlttLHMoKC4uLmIpPT57bGV0IGc9dGhpcy5idWlsZFByb3BzKGMsdCkseT12KC4uLmIpKGcpO3JldHVybiBsLnB1c2goeSksdX0sImNoYWluZWRDb21tYW5kIildKSkscnVuOnB9O3JldHVybiB1fWNyZWF0ZUNhbihlKXtsZXR7cmF3Q29tbWFuZHM6dCxzdGF0ZTpyfT10aGlzLGk9ITEsbz1lfHxyLnRyLG49dGhpcy5idWlsZFByb3BzKG8saSk7cmV0dXJuey4uLk9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyh0KS5tYXAoKFtkLGNdKT0+W2QsKC4uLnApPT5jKC4uLnApKHsuLi5uLGRpc3BhdGNoOnZvaWQgMH0pXSkpLGNoYWluOnMoKCk9PnRoaXMuY3JlYXRlQ2hhaW4obyxpKSwiY2hhaW4iKX19YnVpbGRQcm9wcyhlLHQ9ITApe2xldHtyYXdDb21tYW5kczpyLGVkaXRvcjppLHN0YXRlOm99PXRoaXMse3ZpZXc6bn09aSxsPXt0cjplLGVkaXRvcjppLHZpZXc6bixzdGF0ZTpJbSh7c3RhdGU6byx0cmFuc2FjdGlvbjplfSksZGlzcGF0Y2g6dD8oKT0+e306dm9pZCAwLGNoYWluOnMoKCk9PnRoaXMuY3JlYXRlQ2hhaW4oZSx0KSwiY2hhaW4iKSxjYW46cygoKT0+dGhpcy5jcmVhdGVDYW4oZSksImNhbiIpLGdldCBjb21tYW5kcygpe3JldHVybiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMocikubWFwKChbZCxjXSk9PltkLCguLi5wKT0+YyguLi5wKShsKV0pKX19O3JldHVybiBsfX0sTFplPWNsYXNze3N0YXRpY3tzKHRoaXMsIkV2ZW50RW1pdHRlciIpfWNvbnN0cnVjdG9yKCl7dGhpcy5jYWxsYmFja3M9e319b24oZSx0KXtyZXR1cm4gdGhpcy5jYWxsYmFja3NbZV18fCh0aGlzLmNhbGxiYWNrc1tlXT1bXSksdGhpcy5jYWxsYmFja3NbZV0ucHVzaCh0KSx0aGlzfWVtaXQoZSwuLi50KXtsZXQgcj10aGlzLmNhbGxiYWNrc1tlXTtyZXR1cm4gciYmci5mb3JFYWNoKGk9PmkuYXBwbHkodGhpcyx0KSksdGhpc31vZmYoZSx0KXtsZXQgcj10aGlzLmNhbGxiYWNrc1tlXTtyZXR1cm4gciYmKHQ/dGhpcy5jYWxsYmFja3NbZV09ci5maWx0ZXIoaT0+aSE9PXQpOmRlbGV0ZSB0aGlzLmNhbGxiYWNrc1tlXSksdGhpc31vbmNlKGUsdCl7bGV0IHI9cygoLi4uaSk9Pnt0aGlzLm9mZihlLHIpLHQuYXBwbHkodGhpcyxpKX0sIm9uY2VGbiIpO3JldHVybiB0aGlzLm9uKGUscil9cmVtb3ZlQWxsTGlzdGVuZXJzKCl7dGhpcy5jYWxsYmFja3M9e319fTtzKHB0LCJnZXRFeHRlbnNpb25GaWVsZCIpO3MoTm0sInNwbGl0RXh0ZW5zaW9ucyIpO3MoZ3JlLCJnZXRBdHRyaWJ1dGVzRnJvbUV4dGVuc2lvbnMiKTtzKGJzLCJnZXROb2RlVHlwZSIpO3MoU2EsIm1lcmdlQXR0cmlidXRlcyIpO3MoZlcsImdldFJlbmRlcmVkQXR0cmlidXRlcyIpO3MoYnJlLCJpc0Z1bmN0aW9uIik7cyhqdCwiY2FsbE9yUmV0dXJuIik7cyhFWmUsImlzRW1wdHlPYmplY3QiKTtzKFBaZSwiZnJvbVN0cmluZyIpO3ModnJlLCJpbmplY3RFeHRlbnNpb25BdHRyaWJ1dGVzVG9QYXJzZVJ1bGUiKTtzKEpuYSwiY2xlYW5VcFNjaGVtYUl0ZW0iKTtzKHhyZSwiZ2V0U2NoZW1hQnlSZXNvbHZlZEV4dGVuc2lvbnMiKTtzKGhXLCJnZXRTY2hlbWFUeXBlQnlOYW1lIik7cyh5cmUsImlzRXh0ZW5zaW9uUnVsZXNFbmFibGVkIik7cyhSbSwiZ2V0SFRNTEZyb21GcmFnbWVudCIpO0laZT1zKChhLGU9NTAwKT0+e2xldCB0PSIiLHI9YS5wYXJlbnRPZmZzZXQ7cmV0dXJuIGEucGFyZW50Lm5vZGVzQmV0d2VlbihNYXRoLm1heCgwLHItZSksciwoaSxvLG4sbCk9Pnt2YXIgZCxjO2xldCBwPSgoYz0oZD1pLnR5cGUuc3BlYykudG9UZXh0KT09PW51bGx8fGM9PT12b2lkIDA/dm9pZCAwOmMuY2FsbChkLHtub2RlOmkscG9zOm8scGFyZW50Om4saW5kZXg6bH0pKXx8aS50ZXh0Q29udGVudHx8IiVsZWFmJSI7dCs9aS5pc0F0b20mJiFpLmlzVGV4dD9wOnAuc2xpY2UoMCxNYXRoLm1heCgwLHItbykpfSksdH0sImdldFRleHRDb250ZW50RnJvbU5vZGVzIik7cyhtVywiaXNSZWdFeHAiKTtDYz1jbGFzc3tzdGF0aWN7cyh0aGlzLCJJbnB1dFJ1bGUiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmZpbmQ9ZS5maW5kLHRoaXMuaGFuZGxlcj1lLmhhbmRsZXJ9fSxWRWE9cygoYSxlKT0+e2lmKG1XKGUpKXJldHVybiBlLmV4ZWMoYSk7bGV0IHQ9ZShhKTtpZighdClyZXR1cm4gbnVsbDtsZXQgcj1bdC50ZXh0XTtyZXR1cm4gci5pbmRleD10LmluZGV4LHIuaW5wdXQ9YSxyLmRhdGE9dC5kYXRhLHQucmVwbGFjZVdpdGgmJih0LnRleHQuaW5jbHVkZXModC5yZXBsYWNlV2l0aCl8fGNvbnNvbGUud2FybignW3RpcHRhcCB3YXJuXTogImlucHV0UnVsZU1hdGNoLnJlcGxhY2VXaXRoIiBtdXN0IGJlIHBhcnQgb2YgImlucHV0UnVsZU1hdGNoLnRleHQiLicpLHIucHVzaCh0LnJlcGxhY2VXaXRoKSkscn0sImlucHV0UnVsZU1hdGNoZXJIYW5kbGVyIik7cyhmcmUsInJ1biQxIik7cyhOWmUsImlucHV0UnVsZXNQbHVnaW4iKTtzKGpFYSwiZ2V0VHlwZSIpO3MoT20sImlzUGxhaW5PYmplY3QiKTtzKEZtLCJtZXJnZURlZXAiKTtpaT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIk1hcmsiKX1jb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9Im1hcmsiLHRoaXMubmFtZT0ibWFyayIsdGhpcy5wYXJlbnQ9bnVsbCx0aGlzLmNoaWxkPW51bGwsdGhpcy5jb25maWc9e25hbWU6dGhpcy5uYW1lLGRlZmF1bHRPcHRpb25zOnt9fSx0aGlzLmNvbmZpZz17Li4udGhpcy5jb25maWcsLi4uZX0sdGhpcy5uYW1lPXRoaXMuY29uZmlnLm5hbWUsZS5kZWZhdWx0T3B0aW9ucyYmT2JqZWN0LmtleXMoZS5kZWZhdWx0T3B0aW9ucykubGVuZ3RoPjAmJmNvbnNvbGUud2FybihgW3RpcHRhcCB3YXJuXTogQlJFQUtJTkcgQ0hBTkdFOiAiZGVmYXVsdE9wdGlvbnMiIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgImFkZE9wdGlvbnMiIGluc3RlYWQuIEZvdW5kIGluIGV4dGVuc2lvbjogIiR7dGhpcy5uYW1lfSIuYCksdGhpcy5vcHRpb25zPXRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zLHRoaXMuY29uZmlnLmFkZE9wdGlvbnMmJih0aGlzLm9wdGlvbnM9anQocHQodGhpcywiYWRkT3B0aW9ucyIse25hbWU6dGhpcy5uYW1lfSkpKSx0aGlzLnN0b3JhZ2U9anQocHQodGhpcywiYWRkU3RvcmFnZSIse25hbWU6dGhpcy5uYW1lLG9wdGlvbnM6dGhpcy5vcHRpb25zfSkpfHx7fX1zdGF0aWMgY3JlYXRlKGU9e30pe3JldHVybiBuZXcgYShlKX1jb25maWd1cmUoZT17fSl7bGV0IHQ9dGhpcy5leHRlbmQoey4uLnRoaXMuY29uZmlnLGFkZE9wdGlvbnM6cygoKT0+Rm0odGhpcy5vcHRpb25zLGUpLCJhZGRPcHRpb25zIil9KTtyZXR1cm4gdC5uYW1lPXRoaXMubmFtZSx0LnBhcmVudD10aGlzLnBhcmVudCx0fWV4dGVuZChlPXt9KXtsZXQgdD1uZXcgYShlKTtyZXR1cm4gdC5wYXJlbnQ9dGhpcyx0aGlzLmNoaWxkPXQsdC5uYW1lPWUubmFtZT9lLm5hbWU6dC5wYXJlbnQubmFtZSxlLmRlZmF1bHRPcHRpb25zJiZPYmplY3Qua2V5cyhlLmRlZmF1bHRPcHRpb25zKS5sZW5ndGg+MCYmY29uc29sZS53YXJuKGBbdGlwdGFwIHdhcm5dOiBCUkVBS0lORyBDSEFOR0U6ICJkZWZhdWx0T3B0aW9ucyIgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSAiYWRkT3B0aW9ucyIgaW5zdGVhZC4gRm91bmQgaW4gZXh0ZW5zaW9uOiAiJHt0Lm5hbWV9Ii5gKSx0Lm9wdGlvbnM9anQocHQodCwiYWRkT3B0aW9ucyIse25hbWU6dC5uYW1lfSkpLHQuc3RvcmFnZT1qdChwdCh0LCJhZGRTdG9yYWdlIix7bmFtZTp0Lm5hbWUsb3B0aW9uczp0Lm9wdGlvbnN9KSksdH1zdGF0aWMgaGFuZGxlRXhpdCh7ZWRpdG9yOmUsbWFyazp0fSl7bGV0e3RyOnJ9PWUuc3RhdGUsaT1lLnN0YXRlLnNlbGVjdGlvbi4kZnJvbTtpZihpLnBvcz09PWkuZW5kKCkpe2xldCBuPWkubWFya3MoKTtpZighISFuLmZpbmQoYz0+Yz8udHlwZS5uYW1lPT09dC5uYW1lKSlyZXR1cm4hMTtsZXQgZD1uLmZpbmQoYz0+Yz8udHlwZS5uYW1lPT09dC5uYW1lKTtyZXR1cm4gZCYmci5yZW1vdmVTdG9yZWRNYXJrKGQpLHIuaW5zZXJ0VGV4dCgiICIsaS5wb3MpLGUudmlldy5kaXNwYXRjaChyKSwhMH1yZXR1cm4hMX19O3MoUlplLCJpc051bWJlciIpO2k1PWNsYXNze3N0YXRpY3tzKHRoaXMsIlBhc3RlUnVsZSIpfWNvbnN0cnVjdG9yKGUpe3RoaXMuZmluZD1lLmZpbmQsdGhpcy5oYW5kbGVyPWUuaGFuZGxlcn19LFVFYT1zKChhLGUsdCk9PntpZihtVyhlKSlyZXR1cm5bLi4uYS5tYXRjaEFsbChlKV07bGV0IHI9ZShhLHQpO3JldHVybiByP3IubWFwKGk9PntsZXQgbz1baS50ZXh0XTtyZXR1cm4gby5pbmRleD1pLmluZGV4LG8uaW5wdXQ9YSxvLmRhdGE9aS5kYXRhLGkucmVwbGFjZVdpdGgmJihpLnRleHQuaW5jbHVkZXMoaS5yZXBsYWNlV2l0aCl8fGNvbnNvbGUud2FybignW3RpcHRhcCB3YXJuXTogInBhc3RlUnVsZU1hdGNoLnJlcGxhY2VXaXRoIiBtdXN0IGJlIHBhcnQgb2YgInBhc3RlUnVsZU1hdGNoLnRleHQiLicpLG8ucHVzaChpLnJlcGxhY2VXaXRoKSksb30pOltdfSwicGFzdGVSdWxlTWF0Y2hlckhhbmRsZXIiKTtzKFdFYSwicnVuIik7aHJlPW51bGwsR0VhPXMoYT0+e3ZhciBlO2xldCB0PW5ldyBDbGlwYm9hcmRFdmVudCgicGFzdGUiLHtjbGlwYm9hcmREYXRhOm5ldyBEYXRhVHJhbnNmZXJ9KTtyZXR1cm4oZT10LmNsaXBib2FyZERhdGEpPT09bnVsbHx8ZT09PXZvaWQgMHx8ZS5zZXREYXRhKCJ0ZXh0L2h0bWwiLGEpLHR9LCJjcmVhdGVDbGlwYm9hcmRQYXN0ZUV2ZW50Iik7cyhPWmUsInBhc3RlUnVsZXNQbHVnaW4iKTtzKEZaZSwiZmluZER1cGxpY2F0ZXMiKTttcmU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJFeHRlbnNpb25NYW5hZ2VyIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLnNwbGl0dGFibGVNYXJrcz1bXSx0aGlzLmVkaXRvcj10LHRoaXMuZXh0ZW5zaW9ucz1hLnJlc29sdmUoZSksdGhpcy5zY2hlbWE9eHJlKHRoaXMuZXh0ZW5zaW9ucyx0KSx0aGlzLnNldHVwRXh0ZW5zaW9ucygpfXN0YXRpYyByZXNvbHZlKGUpe2xldCB0PWEuc29ydChhLmZsYXR0ZW4oZSkpLHI9RlplKHQubWFwKGk9PmkubmFtZSkpO3JldHVybiByLmxlbmd0aCYmY29uc29sZS53YXJuKGBbdGlwdGFwIHdhcm5dOiBEdXBsaWNhdGUgZXh0ZW5zaW9uIG5hbWVzIGZvdW5kOiBbJHtyLm1hcChpPT5gJyR7aX0nYCkuam9pbigiLCAiKX1dLiBUaGlzIGNhbiBsZWFkIHRvIGlzc3Vlcy5gKSx0fXN0YXRpYyBmbGF0dGVuKGUpe3JldHVybiBlLm1hcCh0PT57bGV0IHI9e25hbWU6dC5uYW1lLG9wdGlvbnM6dC5vcHRpb25zLHN0b3JhZ2U6dC5zdG9yYWdlfSxpPXB0KHQsImFkZEV4dGVuc2lvbnMiLHIpO3JldHVybiBpP1t0LC4uLnRoaXMuZmxhdHRlbihpKCkpXTp0fSkuZmxhdCgxMCl9c3RhdGljIHNvcnQoZSl7cmV0dXJuIGUuc29ydCgocixpKT0+e2xldCBvPXB0KHIsInByaW9yaXR5Iil8fDEwMCxuPXB0KGksInByaW9yaXR5Iil8fDEwMDtyZXR1cm4gbz5uPy0xOm88bj8xOjB9KX1nZXQgY29tbWFuZHMoKXtyZXR1cm4gdGhpcy5leHRlbnNpb25zLnJlZHVjZSgoZSx0KT0+e2xldCByPXtuYW1lOnQubmFtZSxvcHRpb25zOnQub3B0aW9ucyxzdG9yYWdlOnQuc3RvcmFnZSxlZGl0b3I6dGhpcy5lZGl0b3IsdHlwZTpoVyh0Lm5hbWUsdGhpcy5zY2hlbWEpfSxpPXB0KHQsImFkZENvbW1hbmRzIixyKTtyZXR1cm4gaT97Li4uZSwuLi5pKCl9OmV9LHt9KX1nZXQgcGx1Z2lucygpe2xldHtlZGl0b3I6ZX09dGhpcyx0PWEuc29ydChbLi4udGhpcy5leHRlbnNpb25zXS5yZXZlcnNlKCkpLHI9W10saT1bXSxvPXQubWFwKG49PntsZXQgbD17bmFtZTpuLm5hbWUsb3B0aW9uczpuLm9wdGlvbnMsc3RvcmFnZTpuLnN0b3JhZ2UsZWRpdG9yOmUsdHlwZTpoVyhuLm5hbWUsdGhpcy5zY2hlbWEpfSxkPVtdLGM9cHQobiwiYWRkS2V5Ym9hcmRTaG9ydGN1dHMiLGwpLHA9e307aWYobi50eXBlPT09Im1hcmsiJiZwdChuLCJleGl0YWJsZSIsbCkmJihwLkFycm93UmlnaHQ9KCk9PmlpLmhhbmRsZUV4aXQoe2VkaXRvcjplLG1hcms6bn0pKSxjKXtsZXQgYj1PYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoYygpKS5tYXAoKFtnLHldKT0+W2csKCk9Pnkoe2VkaXRvcjplfSldKSk7cD17Li4ucCwuLi5ifX1sZXQgdT1kWmUocCk7ZC5wdXNoKHUpO2xldCBtPXB0KG4sImFkZElucHV0UnVsZXMiLGwpO3lyZShuLGUub3B0aW9ucy5lbmFibGVJbnB1dFJ1bGVzKSYmbSYmci5wdXNoKC4uLm0oKSk7bGV0IHY9cHQobiwiYWRkUGFzdGVSdWxlcyIsbCk7eXJlKG4sZS5vcHRpb25zLmVuYWJsZVBhc3RlUnVsZXMpJiZ2JiZpLnB1c2goLi4udigpKTtsZXQgeD1wdChuLCJhZGRQcm9zZU1pcnJvclBsdWdpbnMiLGwpO2lmKHgpe2xldCBiPXgoKTtkLnB1c2goLi4uYil9cmV0dXJuIGR9KS5mbGF0KCk7cmV0dXJuW05aZSh7ZWRpdG9yOmUscnVsZXM6cn0pLC4uLk9aZSh7ZWRpdG9yOmUscnVsZXM6aX0pLC4uLm9dfWdldCBhdHRyaWJ1dGVzKCl7cmV0dXJuIGdyZSh0aGlzLmV4dGVuc2lvbnMpfWdldCBub2RlVmlld3MoKXtsZXR7ZWRpdG9yOmV9PXRoaXMse25vZGVFeHRlbnNpb25zOnR9PU5tKHRoaXMuZXh0ZW5zaW9ucyk7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyh0LmZpbHRlcihyPT4hIXB0KHIsImFkZE5vZGVWaWV3IikpLm1hcChyPT57bGV0IGk9dGhpcy5hdHRyaWJ1dGVzLmZpbHRlcihkPT5kLnR5cGU9PT1yLm5hbWUpLG89e25hbWU6ci5uYW1lLG9wdGlvbnM6ci5vcHRpb25zLHN0b3JhZ2U6ci5zdG9yYWdlLGVkaXRvcjplLHR5cGU6YnMoci5uYW1lLHRoaXMuc2NoZW1hKX0sbj1wdChyLCJhZGROb2RlVmlldyIsbyk7aWYoIW4pcmV0dXJuW107bGV0IGw9cygoZCxjLHAsdSxtKT0+e2xldCB2PWZXKGQsaSk7cmV0dXJuIG4oKSh7bm9kZTpkLHZpZXc6YyxnZXRQb3M6cCxkZWNvcmF0aW9uczp1LGlubmVyRGVjb3JhdGlvbnM6bSxlZGl0b3I6ZSxleHRlbnNpb246cixIVE1MQXR0cmlidXRlczp2fSl9LCJub2RldmlldyIpO3JldHVybltyLm5hbWUsbF19KSl9c2V0dXBFeHRlbnNpb25zKCl7dGhpcy5leHRlbnNpb25zLmZvckVhY2goZT0+e3ZhciB0O3RoaXMuZWRpdG9yLmV4dGVuc2lvblN0b3JhZ2VbZS5uYW1lXT1lLnN0b3JhZ2U7bGV0IHI9e25hbWU6ZS5uYW1lLG9wdGlvbnM6ZS5vcHRpb25zLHN0b3JhZ2U6ZS5zdG9yYWdlLGVkaXRvcjp0aGlzLmVkaXRvcix0eXBlOmhXKGUubmFtZSx0aGlzLnNjaGVtYSl9O2UudHlwZT09PSJtYXJrIiYmKCEoKHQ9anQocHQoZSwia2VlcE9uU3BsaXQiLHIpKSkhPT1udWxsJiZ0IT09dm9pZCAwKXx8dCkmJnRoaXMuc3BsaXR0YWJsZU1hcmtzLnB1c2goZS5uYW1lKTtsZXQgaT1wdChlLCJvbkJlZm9yZUNyZWF0ZSIsciksbz1wdChlLCJvbkNyZWF0ZSIsciksbj1wdChlLCJvblVwZGF0ZSIsciksbD1wdChlLCJvblNlbGVjdGlvblVwZGF0ZSIsciksZD1wdChlLCJvblRyYW5zYWN0aW9uIixyKSxjPXB0KGUsIm9uRm9jdXMiLHIpLHA9cHQoZSwib25CbHVyIixyKSx1PXB0KGUsIm9uRGVzdHJveSIscik7aSYmdGhpcy5lZGl0b3Iub24oImJlZm9yZUNyZWF0ZSIsaSksbyYmdGhpcy5lZGl0b3Iub24oImNyZWF0ZSIsbyksbiYmdGhpcy5lZGl0b3Iub24oInVwZGF0ZSIsbiksbCYmdGhpcy5lZGl0b3Iub24oInNlbGVjdGlvblVwZGF0ZSIsbCksZCYmdGhpcy5lZGl0b3Iub24oInRyYW5zYWN0aW9uIixkKSxjJiZ0aGlzLmVkaXRvci5vbigiZm9jdXMiLGMpLHAmJnRoaXMuZWRpdG9yLm9uKCJibHVyIixwKSx1JiZ0aGlzLmVkaXRvci5vbigiZGVzdHJveSIsdSl9KX19LHdyPWNsYXNzIGF7c3RhdGlje3ModGhpcywiRXh0ZW5zaW9uIil9Y29uc3RydWN0b3IoZT17fSl7dGhpcy50eXBlPSJleHRlbnNpb24iLHRoaXMubmFtZT0iZXh0ZW5zaW9uIix0aGlzLnBhcmVudD1udWxsLHRoaXMuY2hpbGQ9bnVsbCx0aGlzLmNvbmZpZz17bmFtZTp0aGlzLm5hbWUsZGVmYXVsdE9wdGlvbnM6e319LHRoaXMuY29uZmlnPXsuLi50aGlzLmNvbmZpZywuLi5lfSx0aGlzLm5hbWU9dGhpcy5jb25maWcubmFtZSxlLmRlZmF1bHRPcHRpb25zJiZPYmplY3Qua2V5cyhlLmRlZmF1bHRPcHRpb25zKS5sZW5ndGg+MCYmY29uc29sZS53YXJuKGBbdGlwdGFwIHdhcm5dOiBCUkVBS0lORyBDSEFOR0U6ICJkZWZhdWx0T3B0aW9ucyIgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSAiYWRkT3B0aW9ucyIgaW5zdGVhZC4gRm91bmQgaW4gZXh0ZW5zaW9uOiAiJHt0aGlzLm5hbWV9Ii5gKSx0aGlzLm9wdGlvbnM9dGhpcy5jb25maWcuZGVmYXVsdE9wdGlvbnMsdGhpcy5jb25maWcuYWRkT3B0aW9ucyYmKHRoaXMub3B0aW9ucz1qdChwdCh0aGlzLCJhZGRPcHRpb25zIix7bmFtZTp0aGlzLm5hbWV9KSkpLHRoaXMuc3RvcmFnZT1qdChwdCh0aGlzLCJhZGRTdG9yYWdlIix7bmFtZTp0aGlzLm5hbWUsb3B0aW9uczp0aGlzLm9wdGlvbnN9KSl8fHt9fXN0YXRpYyBjcmVhdGUoZT17fSl7cmV0dXJuIG5ldyBhKGUpfWNvbmZpZ3VyZShlPXt9KXtsZXQgdD10aGlzLmV4dGVuZCh7Li4udGhpcy5jb25maWcsYWRkT3B0aW9uczpzKCgpPT5GbSh0aGlzLm9wdGlvbnMsZSksImFkZE9wdGlvbnMiKX0pO3JldHVybiB0Lm5hbWU9dGhpcy5uYW1lLHQucGFyZW50PXRoaXMucGFyZW50LHR9ZXh0ZW5kKGU9e30pe2xldCB0PW5ldyBhKHsuLi50aGlzLmNvbmZpZywuLi5lfSk7cmV0dXJuIHQucGFyZW50PXRoaXMsdGhpcy5jaGlsZD10LHQubmFtZT1lLm5hbWU/ZS5uYW1lOnQucGFyZW50Lm5hbWUsZS5kZWZhdWx0T3B0aW9ucyYmT2JqZWN0LmtleXMoZS5kZWZhdWx0T3B0aW9ucykubGVuZ3RoPjAmJmNvbnNvbGUud2FybihgW3RpcHRhcCB3YXJuXTogQlJFQUtJTkcgQ0hBTkdFOiAiZGVmYXVsdE9wdGlvbnMiIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgImFkZE9wdGlvbnMiIGluc3RlYWQuIEZvdW5kIGluIGV4dGVuc2lvbjogIiR7dC5uYW1lfSIuYCksdC5vcHRpb25zPWp0KHB0KHQsImFkZE9wdGlvbnMiLHtuYW1lOnQubmFtZX0pKSx0LnN0b3JhZ2U9anQocHQodCwiYWRkU3RvcmFnZSIse25hbWU6dC5uYW1lLG9wdGlvbnM6dC5vcHRpb25zfSkpLHR9fTtzKHdyZSwiZ2V0VGV4dEJldHdlZW4iKTtzKGdXLCJnZXRUZXh0U2VyaWFsaXplcnNGcm9tU2NoZW1hIik7ZTFhPXdyLmNyZWF0ZSh7bmFtZToiY2xpcGJvYXJkVGV4dFNlcmlhbGl6ZXIiLGFkZE9wdGlvbnMoKXtyZXR1cm57YmxvY2tTZXBhcmF0b3I6dm9pZCAwfX0sYWRkUHJvc2VNaXJyb3JQbHVnaW5zKCl7cmV0dXJuW25ldyBycih7a2V5Om5ldyBtcygiY2xpcGJvYXJkVGV4dFNlcmlhbGl6ZXIiKSxwcm9wczp7Y2xpcGJvYXJkVGV4dFNlcmlhbGl6ZXI6cygoKT0+e2xldHtlZGl0b3I6YX09dGhpcyx7c3RhdGU6ZSxzY2hlbWE6dH09YSx7ZG9jOnIsc2VsZWN0aW9uOml9PWUse3JhbmdlczpvfT1pLG49TWF0aC5taW4oLi4uby5tYXAocD0+cC4kZnJvbS5wb3MpKSxsPU1hdGgubWF4KC4uLm8ubWFwKHA9PnAuJHRvLnBvcykpLGQ9Z1codCk7cmV0dXJuIHdyZShyLHtmcm9tOm4sdG86bH0sey4uLnRoaXMub3B0aW9ucy5ibG9ja1NlcGFyYXRvciE9PXZvaWQgMD97YmxvY2tTZXBhcmF0b3I6dGhpcy5vcHRpb25zLmJsb2NrU2VwYXJhdG9yfTp7fSx0ZXh0U2VyaWFsaXplcnM6ZH0pfSwiY2xpcGJvYXJkVGV4dFNlcmlhbGl6ZXIiKX19KV19fSksWUVhPXMoKCk9Pih7ZWRpdG9yOmEsdmlldzplfSk9PihyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt2YXIgdDthLmlzRGVzdHJveWVkfHwoZS5kb20uYmx1cigpLCh0PXdpbmRvdz8uZ2V0U2VsZWN0aW9uKCkpPT09bnVsbHx8dD09PXZvaWQgMHx8dC5yZW1vdmVBbGxSYW5nZXMoKSl9KSwhMCksImJsdXIiKSxLRWE9cygoYT0hMSk9Pih7Y29tbWFuZHM6ZX0pPT5lLnNldENvbnRlbnQoIiIsYSksImNsZWFyQ29udGVudCIpLFpFYT1zKCgpPT4oe3N0YXRlOmEsdHI6ZSxkaXNwYXRjaDp0fSk9PntsZXR7c2VsZWN0aW9uOnJ9PWUse3JhbmdlczppfT1yO3JldHVybiB0JiZpLmZvckVhY2goKHskZnJvbTpvLCR0bzpufSk9PnthLmRvYy5ub2Rlc0JldHdlZW4oby5wb3Msbi5wb3MsKGwsZCk9PntpZihsLnR5cGUuaXNUZXh0KXJldHVybjtsZXR7ZG9jOmMsbWFwcGluZzpwfT1lLHU9Yy5yZXNvbHZlKHAubWFwKGQpKSxtPWMucmVzb2x2ZShwLm1hcChkK2wubm9kZVNpemUpKSx2PXUuYmxvY2tSYW5nZShtKTtpZighdilyZXR1cm47bGV0IHg9WjIodik7aWYobC50eXBlLmlzVGV4dGJsb2NrKXtsZXR7ZGVmYXVsdFR5cGU6Yn09dS5wYXJlbnQuY29udGVudE1hdGNoQXQodS5pbmRleCgpKTtlLnNldE5vZGVNYXJrdXAodi5zdGFydCxiKX0oeHx8eD09PTApJiZlLmxpZnQodix4KX0pfSksITB9LCJjbGVhck5vZGVzIiksWEVhPXMoYT0+ZT0+YShlKSwiY29tbWFuZCIpLFFFYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT5scmUoYSxlKSwiY3JlYXRlUGFyYWdyYXBoTmVhciIpLEpFYT1zKChhLGUpPT4oe2VkaXRvcjp0LHRyOnJ9KT0+e2xldHtzdGF0ZTppfT10LG89aS5kb2Muc2xpY2UoYS5mcm9tLGEudG8pO3IuZGVsZXRlUmFuZ2UoYS5mcm9tLGEudG8pO2xldCBuPXIubWFwcGluZy5tYXAoZSk7cmV0dXJuIHIuaW5zZXJ0KG4sby5jb250ZW50KSxyLnNldFNlbGVjdGlvbihuZXcgUnQoci5kb2MucmVzb2x2ZShNYXRoLm1heChuLTEsMCkpKSksITB9LCJjdXQiKSxlUGE9cygoKT0+KHt0cjphLGRpc3BhdGNoOmV9KT0+e2xldHtzZWxlY3Rpb246dH09YSxyPXQuJGFuY2hvci5ub2RlKCk7aWYoci5jb250ZW50LnNpemU+MClyZXR1cm4hMTtsZXQgaT1hLnNlbGVjdGlvbi4kYW5jaG9yO2ZvcihsZXQgbz1pLmRlcHRoO28+MDtvLT0xKWlmKGkubm9kZShvKS50eXBlPT09ci50eXBlKXtpZihlKXtsZXQgbD1pLmJlZm9yZShvKSxkPWkuYWZ0ZXIobyk7YS5kZWxldGUobCxkKS5zY3JvbGxJbnRvVmlldygpfXJldHVybiEwfXJldHVybiExfSwiZGVsZXRlQ3VycmVudE5vZGUiKSx0UGE9cyhhPT4oe3RyOmUsc3RhdGU6dCxkaXNwYXRjaDpyfSk9PntsZXQgaT1icyhhLHQuc2NoZW1hKSxvPWUuc2VsZWN0aW9uLiRhbmNob3I7Zm9yKGxldCBuPW8uZGVwdGg7bj4wO24tPTEpaWYoby5ub2RlKG4pLnR5cGU9PT1pKXtpZihyKXtsZXQgZD1vLmJlZm9yZShuKSxjPW8uYWZ0ZXIobik7ZS5kZWxldGUoZCxjKS5zY3JvbGxJbnRvVmlldygpfXJldHVybiEwfXJldHVybiExfSwiZGVsZXRlTm9kZSIpLGFQYT1zKGE9Pih7dHI6ZSxkaXNwYXRjaDp0fSk9PntsZXR7ZnJvbTpyLHRvOml9PWE7cmV0dXJuIHQmJmUuZGVsZXRlKHIsaSksITB9LCJkZWxldGVSYW5nZSIpLHJQYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT5wVyhhLGUpLCJkZWxldGVTZWxlY3Rpb24iKSxzUGE9cygoKT0+KHtjb21tYW5kczphfSk9PmEua2V5Ym9hcmRTaG9ydGN1dCgiRW50ZXIiKSwiZW50ZXIiKSxpUGE9cygoKT0+KHtzdGF0ZTphLGRpc3BhdGNoOmV9KT0+bnJlKGEsZSksImV4aXRDb2RlIik7cyhCbSwib2JqZWN0SW5jbHVkZXMiKTtzKHQxYSwiZmluZE1hcmtJblNldCIpO3MoYTFhLCJpc01hcmtJblNldCIpO3MoYlcsImdldE1hcmtSYW5nZSIpO3MoZWwsImdldE1hcmtUeXBlIik7b1BhPXMoKGEsZT17fSk9Pih7dHI6dCxzdGF0ZTpyLGRpc3BhdGNoOml9KT0+e2xldCBvPWVsKGEsci5zY2hlbWEpLHtkb2M6bixzZWxlY3Rpb246bH09dCx7JGZyb206ZCxmcm9tOmMsdG86cH09bDtpZihpKXtsZXQgdT1iVyhkLG8sZSk7aWYodSYmdS5mcm9tPD1jJiZ1LnRvPj1wKXtsZXQgbT1SdC5jcmVhdGUobix1LmZyb20sdS50byk7dC5zZXRTZWxlY3Rpb24obSl9fXJldHVybiEwfSwiZXh0ZW5kTWFya1JhbmdlIiksblBhPXMoYT0+ZT0+e2xldCB0PXR5cGVvZiBhPT0iZnVuY3Rpb24iP2EoZSk6YTtmb3IobGV0IHI9MDtyPHQubGVuZ3RoO3IrPTEpaWYodFtyXShlKSlyZXR1cm4hMDtyZXR1cm4hMX0sImZpcnN0Iik7cyhNcmUsImlzVGV4dFNlbGVjdGlvbiIpO3MoTzEsIm1pbk1heCIpO3Moa3JlLCJyZXNvbHZlRm9jdXNQb3NpdGlvbiIpO3MoJFplLCJpc0FuZHJvaWQiKTtzKG81LCJpc2lPUyIpO3MoQlplLCJpc1NhZmFyaSIpO2xQYT1zKChhPW51bGwsZT17fSk9Pih7ZWRpdG9yOnQsdmlldzpyLHRyOmksZGlzcGF0Y2g6b30pPT57ZT17c2Nyb2xsSW50b1ZpZXc6ITAsLi4uZX07bGV0IG49cygoKT0+eyhvNSgpfHwkWmUoKSkmJnIuZG9tLmZvY3VzKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dC5pc0Rlc3Ryb3llZHx8KHIuZm9jdXMoKSxCWmUoKSYmIW81KCkmJiEkWmUoKSYmci5kb20uZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KSl9KX0sImRlbGF5ZWRGb2N1cyIpO2lmKHIuaGFzRm9jdXMoKSYmYT09PW51bGx8fGE9PT0hMSlyZXR1cm4hMDtpZihvJiZhPT09bnVsbCYmIU1yZSh0LnN0YXRlLnNlbGVjdGlvbikpcmV0dXJuIG4oKSwhMDtsZXQgbD1rcmUoaS5kb2MsYSl8fHQuc3RhdGUuc2VsZWN0aW9uLGQ9dC5zdGF0ZS5zZWxlY3Rpb24uZXEobCk7cmV0dXJuIG8mJihkfHxpLnNldFNlbGVjdGlvbihsKSxkJiZpLnN0b3JlZE1hcmtzJiZpLnNldFN0b3JlZE1hcmtzKGkuc3RvcmVkTWFya3MpLG4oKSksITB9LCJmb2N1cyIpLGNQYT1zKChhLGUpPT50PT5hLmV2ZXJ5KChyLGkpPT5lKHIsey4uLnQsaW5kZXg6aX0pKSwiZm9yRWFjaCIpLGRQYT1zKChhLGUpPT4oe3RyOnQsY29tbWFuZHM6cn0pPT5yLmluc2VydENvbnRlbnRBdCh7ZnJvbTp0LnNlbGVjdGlvbi5mcm9tLHRvOnQuc2VsZWN0aW9uLnRvfSxhLGUpLCJpbnNlcnRDb250ZW50IikscjFhPXMoYT0+e2xldCBlPWEuY2hpbGROb2Rlcztmb3IobGV0IHQ9ZS5sZW5ndGgtMTt0Pj0wO3QtPTEpe2xldCByPWVbdF07ci5ub2RlVHlwZT09PTMmJnIubm9kZVZhbHVlJiYvXihcblxzXHN8XG4pJC8udGVzdChyLm5vZGVWYWx1ZSk/YS5yZW1vdmVDaGlsZChyKTpyLm5vZGVUeXBlPT09MSYmcjFhKHIpfXJldHVybiBhfSwicmVtb3ZlV2hpdGVzcGFjZXMiKTtzKG41LCJlbGVtZW50RnJvbVN0cmluZyIpO3MobDUsImNyZWF0ZU5vZGVGcm9tQ29udGVudCIpO3MoSFplLCJzZWxlY3Rpb25Ub0luc2VydGlvbkVuZCIpO3VQYT1zKGE9PiEoInR5cGUiaW4gYSksImlzRnJhZ21lbnQiKSxwUGE9cygoYSxlLHQpPT4oe3RyOnIsZGlzcGF0Y2g6aSxlZGl0b3I6b30pPT57dmFyIG47aWYoaSl7dD17cGFyc2VPcHRpb25zOm8ub3B0aW9ucy5wYXJzZU9wdGlvbnMsdXBkYXRlU2VsZWN0aW9uOiEwLGFwcGx5SW5wdXRSdWxlczohMSxhcHBseVBhc3RlUnVsZXM6ITEsLi4udH07bGV0IGwsZD1zKGc9PntvLmVtaXQoImNvbnRlbnRFcnJvciIse2VkaXRvcjpvLGVycm9yOmcsZGlzYWJsZUNvbGxhYm9yYXRpb246cygoKT0+e28uc3RvcmFnZS5jb2xsYWJvcmF0aW9uJiYoby5zdG9yYWdlLmNvbGxhYm9yYXRpb24uaXNEaXNhYmxlZD0hMCl9LCJkaXNhYmxlQ29sbGFib3JhdGlvbiIpfSl9LCJlbWl0Q29udGVudEVycm9yIiksYz17cHJlc2VydmVXaGl0ZXNwYWNlOiJmdWxsIiwuLi50LnBhcnNlT3B0aW9uc307aWYoIXQuZXJyb3JPbkludmFsaWRDb250ZW50JiYhby5vcHRpb25zLmVuYWJsZUNvbnRlbnRDaGVjayYmby5vcHRpb25zLmVtaXRDb250ZW50RXJyb3IpdHJ5e2w1KGUsby5zY2hlbWEse3BhcnNlT3B0aW9uczpjLGVycm9yT25JbnZhbGlkQ29udGVudDohMH0pfWNhdGNoKGcpe2QoZyl9dHJ5e2w9bDUoZSxvLnNjaGVtYSx7cGFyc2VPcHRpb25zOmMsZXJyb3JPbkludmFsaWRDb250ZW50OihuPXQuZXJyb3JPbkludmFsaWRDb250ZW50KSE9PW51bGwmJm4hPT12b2lkIDA/bjpvLm9wdGlvbnMuZW5hYmxlQ29udGVudENoZWNrfSl9Y2F0Y2goZyl7cmV0dXJuIGQoZyksITF9bGV0e2Zyb206cCx0bzp1fT10eXBlb2YgYT09Im51bWJlciI/e2Zyb206YSx0bzphfTp7ZnJvbTphLmZyb20sdG86YS50b30sbT0hMCx2PSEwO2lmKCh1UGEobCk/bDpbbF0pLmZvckVhY2goZz0+e2cuY2hlY2soKSxtPW0/Zy5pc1RleHQmJmcubWFya3MubGVuZ3RoPT09MDohMSx2PXY/Zy5pc0Jsb2NrOiExfSkscD09PXUmJnYpe2xldHtwYXJlbnQ6Z309ci5kb2MucmVzb2x2ZShwKTtnLmlzVGV4dGJsb2NrJiYhZy50eXBlLnNwZWMuY29kZSYmIWcuY2hpbGRDb3VudCYmKHAtPTEsdSs9MSl9bGV0IGI7aWYobSl7aWYoQXJyYXkuaXNBcnJheShlKSliPWUubWFwKGc9PmcudGV4dHx8IiIpLmpvaW4oIiIpO2Vsc2UgaWYoZSBpbnN0YW5jZW9mIFZlKXtsZXQgZz0iIjtlLmZvckVhY2goeT0+e3kudGV4dCYmKGcrPXkudGV4dCl9KSxiPWd9ZWxzZSB0eXBlb2YgZT09Im9iamVjdCImJmUmJmUudGV4dD9iPWUudGV4dDpiPWU7ci5pbnNlcnRUZXh0KGIscCx1KX1lbHNlIGI9bCxyLnJlcGxhY2VXaXRoKHAsdSxiKTt0LnVwZGF0ZVNlbGVjdGlvbiYmSFplKHIsci5zdGVwcy5sZW5ndGgtMSwtMSksdC5hcHBseUlucHV0UnVsZXMmJnIuc2V0TWV0YSgiYXBwbHlJbnB1dFJ1bGVzIix7ZnJvbTpwLHRleHQ6Yn0pLHQuYXBwbHlQYXN0ZVJ1bGVzJiZyLnNldE1ldGEoImFwcGx5UGFzdGVSdWxlcyIse2Zyb206cCx0ZXh0OmJ9KX1yZXR1cm4hMH0sImluc2VydENvbnRlbnRBdCIpLGZQYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT55WmUoYSxlKSwiam9pblVwIiksaFBhPXMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9PndaZShhLGUpLCJqb2luRG93biIpLG1QYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT5hcmUoYSxlKSwiam9pbkJhY2t3YXJkIiksZ1BhPXMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9PnNyZShhLGUpLCJqb2luRm9yd2FyZCIpLGJQYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZSx0cjp0fSk9Pnt0cnl7bGV0IHI9WWYoYS5kb2MsYS5zZWxlY3Rpb24uJGZyb20ucG9zLC0xKTtyZXR1cm4gcj09bnVsbD8hMToodC5qb2luKHIsMiksZSYmZSh0KSwhMCl9Y2F0Y2h7cmV0dXJuITF9fSwiam9pbkl0ZW1CYWNrd2FyZCIpLHZQYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZSx0cjp0fSk9Pnt0cnl7bGV0IHI9WWYoYS5kb2MsYS5zZWxlY3Rpb24uJGZyb20ucG9zLDEpO3JldHVybiByPT1udWxsPyExOih0LmpvaW4ociwyKSxlJiZlKHQpLCEwKX1jYXRjaHtyZXR1cm4hMX19LCJqb2luSXRlbUZvcndhcmQiKSx4UGE9cygoKT0+KHtzdGF0ZTphLGRpc3BhdGNoOmV9KT0+dlplKGEsZSksImpvaW5UZXh0YmxvY2tCYWNrd2FyZCIpLHlQYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT54WmUoYSxlKSwiam9pblRleHRibG9ja0ZvcndhcmQiKTtzKFNyZSwiaXNNYWNPUyIpO3Mod1BhLCJub3JtYWxpemVLZXlOYW1lIik7TVBhPXMoYT0+KHtlZGl0b3I6ZSx2aWV3OnQsdHI6cixkaXNwYXRjaDppfSk9PntsZXQgbz13UGEoYSkuc3BsaXQoLy0oPyEkKS8pLG49by5maW5kKGM9PiFbIkFsdCIsIkN0cmwiLCJNZXRhIiwiU2hpZnQiXS5pbmNsdWRlcyhjKSksbD1uZXcgS2V5Ym9hcmRFdmVudCgia2V5ZG93biIse2tleTpuPT09IlNwYWNlIj8iICI6bixhbHRLZXk6by5pbmNsdWRlcygiQWx0IiksY3RybEtleTpvLmluY2x1ZGVzKCJDdHJsIiksbWV0YUtleTpvLmluY2x1ZGVzKCJNZXRhIiksc2hpZnRLZXk6by5pbmNsdWRlcygiU2hpZnQiKSxidWJibGVzOiEwLGNhbmNlbGFibGU6ITB9KSxkPWUuY2FwdHVyZVRyYW5zYWN0aW9uKCgpPT57dC5zb21lUHJvcCgiaGFuZGxlS2V5RG93biIsYz0+Yyh0LGwpKX0pO3JldHVybiBkPy5zdGVwcy5mb3JFYWNoKGM9PntsZXQgcD1jLm1hcChyLm1hcHBpbmcpO3AmJmkmJnIubWF5YmVTdGVwKHApfSksITB9LCJrZXlib2FyZFNob3J0Y3V0Iik7cyhjNSwiaXNOb2RlQWN0aXZlIik7a1BhPXMoKGEsZT17fSk9Pih7c3RhdGU6dCxkaXNwYXRjaDpyfSk9PntsZXQgaT1icyhhLHQuc2NoZW1hKTtyZXR1cm4gYzUodCxpLGUpP01aZSh0LHIpOiExfSwibGlmdCIpLFNQYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT5jcmUoYSxlKSwibGlmdEVtcHR5QmxvY2siKSx6UGE9cyhhPT4oe3N0YXRlOmUsZGlzcGF0Y2g6dH0pPT57bGV0IHI9YnMoYSxlLnNjaGVtYSk7cmV0dXJuIF9aZShyKShlLHQpfSwibGlmdExpc3RJdGVtIiksQ1BhPXMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9Pm9yZShhLGUpLCJuZXdsaW5lSW5Db2RlIik7cyhIbSwiZ2V0U2NoZW1hVHlwZU5hbWVCeU5hbWUiKTtzKHpyZSwiZGVsZXRlUHJvcHMiKTtfUGE9cygoYSxlKT0+KHt0cjp0LHN0YXRlOnIsZGlzcGF0Y2g6aX0pPT57bGV0IG89bnVsbCxuPW51bGwsbD1IbSh0eXBlb2YgYT09InN0cmluZyI/YTphLm5hbWUsci5zY2hlbWEpO3JldHVybiBsPyhsPT09Im5vZGUiJiYobz1icyhhLHIuc2NoZW1hKSksbD09PSJtYXJrIiYmKG49ZWwoYSxyLnNjaGVtYSkpLGkmJnQuc2VsZWN0aW9uLnJhbmdlcy5mb3JFYWNoKGQ9PntyLmRvYy5ub2Rlc0JldHdlZW4oZC4kZnJvbS5wb3MsZC4kdG8ucG9zLChjLHApPT57byYmbz09PWMudHlwZSYmdC5zZXROb2RlTWFya3VwKHAsdm9pZCAwLHpyZShjLmF0dHJzLGUpKSxuJiZjLm1hcmtzLmxlbmd0aCYmYy5tYXJrcy5mb3JFYWNoKHU9PntuPT09dS50eXBlJiZ0LmFkZE1hcmsocCxwK2Mubm9kZVNpemUsbi5jcmVhdGUoenJlKHUuYXR0cnMsZSkpKX0pfSl9KSwhMCk6ITF9LCJyZXNldEF0dHJpYnV0ZXMiKSxUUGE9cygoKT0+KHt0cjphLGRpc3BhdGNoOmV9KT0+KGUmJmEuc2Nyb2xsSW50b1ZpZXcoKSwhMCksInNjcm9sbEludG9WaWV3IiksTFBhPXMoKCk9Pih7dHI6YSxkaXNwYXRjaDplfSk9PntpZihlKXtsZXQgdD1uZXcgQWkoYS5kb2MpO2Euc2V0U2VsZWN0aW9uKHQpfXJldHVybiEwfSwic2VsZWN0QWxsIiksJFBhPXMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9PnJyZShhLGUpLCJzZWxlY3ROb2RlQmFja3dhcmQiKSxEUGE9cygoKT0+KHtzdGF0ZTphLGRpc3BhdGNoOmV9KT0+aXJlKGEsZSksInNlbGVjdE5vZGVGb3J3YXJkIiksQVBhPXMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9PmtaZShhLGUpLCJzZWxlY3RQYXJlbnROb2RlIiksRVBhPXMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9PnVyZShhLGUpLCJzZWxlY3RUZXh0YmxvY2tFbmQiKSxQUGE9cygoKT0+KHtzdGF0ZTphLGRpc3BhdGNoOmV9KT0+ZHJlKGEsZSksInNlbGVjdFRleHRibG9ja1N0YXJ0Iik7cyh2VywiY3JlYXRlRG9jdW1lbnQiKTtJUGE9cygoYSxlPSExLHQ9e30scj17fSk9Pih7ZWRpdG9yOmksdHI6byxkaXNwYXRjaDpuLGNvbW1hbmRzOmx9KT0+e3ZhciBkLGM7bGV0e2RvYzpwfT1vO2lmKHQucHJlc2VydmVXaGl0ZXNwYWNlIT09ImZ1bGwiKXtsZXQgdT12VyhhLGkuc2NoZW1hLHQse2Vycm9yT25JbnZhbGlkQ29udGVudDooZD1yLmVycm9yT25JbnZhbGlkQ29udGVudCkhPT1udWxsJiZkIT09dm9pZCAwP2Q6aS5vcHRpb25zLmVuYWJsZUNvbnRlbnRDaGVja30pO3JldHVybiBuJiZvLnJlcGxhY2VXaXRoKDAscC5jb250ZW50LnNpemUsdSkuc2V0TWV0YSgicHJldmVudFVwZGF0ZSIsIWUpLCEwfXJldHVybiBuJiZvLnNldE1ldGEoInByZXZlbnRVcGRhdGUiLCFlKSxsLmluc2VydENvbnRlbnRBdCh7ZnJvbTowLHRvOnAuY29udGVudC5zaXplfSxhLHtwYXJzZU9wdGlvbnM6dCxlcnJvck9uSW52YWxpZENvbnRlbnQ6KGM9ci5lcnJvck9uSW52YWxpZENvbnRlbnQpIT09bnVsbCYmYyE9PXZvaWQgMD9jOmkub3B0aW9ucy5lbmFibGVDb250ZW50Q2hlY2t9KX0sInNldENvbnRlbnQiKTtzKENyZSwiZ2V0TWFya0F0dHJpYnV0ZXMiKTtzKEFyZSwiY29tYmluZVRyYW5zYWN0aW9uU3RlcHMiKTtzKHFaZSwiZGVmYXVsdEJsb2NrQXQiKTtzKGgxYSwiZmluZENoaWxkcmVuIik7cyhFcmUsImZpbmRDaGlsZHJlbkluUmFuZ2UiKTtzKFZaZSwiZmluZFBhcmVudE5vZGVDbG9zZXN0VG9Qb3MiKTtzKHFtLCJmaW5kUGFyZW50Tm9kZSIpO3MoeFcsImdldFNjaGVtYSIpO3MobTFhLCJnZW5lcmF0ZUhUTUwiKTtzKGcxYSwiZ2VuZXJhdGVKU09OIik7cyhfcmUsImdldFRleHQiKTtzKGIxYSwiZ2VuZXJhdGVUZXh0Iik7cyhqWmUsImdldE5vZGVBdHRyaWJ1dGVzIik7cyhrVywiZ2V0QXR0cmlidXRlcyIpO3MoVVplLCJyZW1vdmVEdXBsaWNhdGVzIik7cyhOUGEsInNpbXBsaWZ5Q2hhbmdlZFJhbmdlcyIpO3MoUHJlLCJnZXRDaGFuZ2VkUmFuZ2VzIik7cyhXWmUsImdldERlYnVnSlNPTiIpO3Moam0sImdldE1hcmtzQmV0d2VlbiIpO3YxYT1zKChhLGUsdCxyPTIwKT0+e2xldCBpPWEuZG9jLnJlc29sdmUodCksbz1yLG49bnVsbDtmb3IoO28+MCYmbj09PW51bGw7KXtsZXQgbD1pLm5vZGUobyk7bD8udHlwZS5uYW1lPT09ZT9uPWw6by09MX1yZXR1cm5bbixvXX0sImdldE5vZGVBdFBvc2l0aW9uIik7cyhWbSwiZ2V0U3BsaXR0ZWRBdHRyaWJ1dGVzIik7cyh5VywiaXNNYXJrQWN0aXZlIik7cyhHWmUsImlzQWN0aXZlIik7eDFhPXMoKGEsZSk9PntsZXR7JGZyb206dCwkdG86ciwkYW5jaG9yOml9PWEuc2VsZWN0aW9uO2lmKGUpe2xldCBvPXFtKGw9PmwudHlwZS5uYW1lPT09ZSkoYS5zZWxlY3Rpb24pO2lmKCFvKXJldHVybiExO2xldCBuPWEuZG9jLnJlc29sdmUoby5wb3MrMSk7cmV0dXJuIGkucG9zKzE9PT1uLmVuZCgpfXJldHVybiEoci5wYXJlbnRPZmZzZXQ8ci5wYXJlbnQubm9kZVNpemUtMnx8dC5wb3MhPT1yLnBvcyl9LCJpc0F0RW5kT2ZOb2RlIikseTFhPXMoYT0+e2xldHskZnJvbTplLCR0bzp0fT1hLnNlbGVjdGlvbjtyZXR1cm4hKGUucGFyZW50T2Zmc2V0PjB8fGUucG9zIT09dC5wb3MpfSwiaXNBdFN0YXJ0T2ZOb2RlIik7cyhUcmUsImlzTGlzdCIpO3Mod1csImlzTm9kZUVtcHR5Iik7cyhJcmUsImlzTm9kZVNlbGVjdGlvbiIpO3ModzFhLCJwb3NUb0RPTVJlY3QiKTtzKHMxYSwicmV3cml0ZVVua25vd25Db250ZW50SW5uZXIiKTtzKE0xYSwicmV3cml0ZVVua25vd25Db250ZW50Iik7cyhSUGEsImNhblNldE1hcmsiKTtPUGE9cygoYSxlPXt9KT0+KHt0cjp0LHN0YXRlOnIsZGlzcGF0Y2g6aX0pPT57bGV0e3NlbGVjdGlvbjpvfT10LHtlbXB0eTpuLHJhbmdlczpsfT1vLGQ9ZWwoYSxyLnNjaGVtYSk7aWYoaSlpZihuKXtsZXQgYz1DcmUocixkKTt0LmFkZFN0b3JlZE1hcmsoZC5jcmVhdGUoey4uLmMsLi4uZX0pKX1lbHNlIGwuZm9yRWFjaChjPT57bGV0IHA9Yy4kZnJvbS5wb3MsdT1jLiR0by5wb3M7ci5kb2Mubm9kZXNCZXR3ZWVuKHAsdSwobSx2KT0+e2xldCB4PU1hdGgubWF4KHYscCksYj1NYXRoLm1pbih2K20ubm9kZVNpemUsdSk7bS5tYXJrcy5maW5kKHk9PnkudHlwZT09PWQpP20ubWFya3MuZm9yRWFjaCh5PT57ZD09PXkudHlwZSYmdC5hZGRNYXJrKHgsYixkLmNyZWF0ZSh7Li4ueS5hdHRycywuLi5lfSkpfSk6dC5hZGRNYXJrKHgsYixkLmNyZWF0ZShlKSl9KX0pO3JldHVybiBSUGEocix0LGQpfSwic2V0TWFyayIpLEZQYT1zKChhLGUpPT4oe3RyOnR9KT0+KHQuc2V0TWV0YShhLGUpLCEwKSwic2V0TWV0YSIpLEJQYT1zKChhLGU9e30pPT4oe3N0YXRlOnQsZGlzcGF0Y2g6cixjaGFpbjppfSk9PntsZXQgbz1icyhhLHQuc2NoZW1hKSxuO3JldHVybiB0LnNlbGVjdGlvbi4kYW5jaG9yLnNhbWVQYXJlbnQodC5zZWxlY3Rpb24uJGhlYWQpJiYobj10LnNlbGVjdGlvbi4kYW5jaG9yLnBhcmVudC5hdHRycyksby5pc1RleHRibG9jaz9pKCkuY29tbWFuZCgoe2NvbW1hbmRzOmx9KT0+cHJlKG8sey4uLm4sLi4uZX0pKHQpPyEwOmwuY2xlYXJOb2RlcygpKS5jb21tYW5kKCh7c3RhdGU6bH0pPT5wcmUobyx7Li4ubiwuLi5lfSkobCxyKSkucnVuKCk6KGNvbnNvbGUud2FybignW3RpcHRhcCB3YXJuXTogQ3VycmVudGx5ICJzZXROb2RlKCkiIG9ubHkgc3VwcG9ydHMgdGV4dCBibG9jayBub2Rlcy4nKSwhMSl9LCJzZXROb2RlIiksSFBhPXMoYT0+KHt0cjplLGRpc3BhdGNoOnR9KT0+e2lmKHQpe2xldHtkb2M6cn09ZSxpPU8xKGEsMCxyLmNvbnRlbnQuc2l6ZSksbz1NdC5jcmVhdGUocixpKTtlLnNldFNlbGVjdGlvbihvKX1yZXR1cm4hMH0sInNldE5vZGVTZWxlY3Rpb24iKSxxUGE9cyhhPT4oe3RyOmUsZGlzcGF0Y2g6dH0pPT57aWYodCl7bGV0e2RvYzpyfT1lLHtmcm9tOmksdG86b309dHlwZW9mIGE9PSJudW1iZXIiP3tmcm9tOmEsdG86YX06YSxuPVJ0LmF0U3RhcnQocikuZnJvbSxsPVJ0LmF0RW5kKHIpLnRvLGQ9TzEoaSxuLGwpLGM9TzEobyxuLGwpLHA9UnQuY3JlYXRlKHIsZCxjKTtlLnNldFNlbGVjdGlvbihwKX1yZXR1cm4hMH0sInNldFRleHRTZWxlY3Rpb24iKSxWUGE9cyhhPT4oe3N0YXRlOmUsZGlzcGF0Y2g6dH0pPT57bGV0IHI9YnMoYSxlLnNjaGVtYSk7cmV0dXJuIFRaZShyKShlLHQpfSwic2lua0xpc3RJdGVtIik7cyhpMWEsImVuc3VyZU1hcmtzIik7alBhPXMoKHtrZWVwTWFya3M6YT0hMH09e30pPT4oe3RyOmUsc3RhdGU6dCxkaXNwYXRjaDpyLGVkaXRvcjppfSk9PntsZXR7c2VsZWN0aW9uOm8sZG9jOm59PWUseyRmcm9tOmwsJHRvOmR9PW8sYz1pLmV4dGVuc2lvbk1hbmFnZXIuYXR0cmlidXRlcyxwPVZtKGMsbC5ub2RlKCkudHlwZS5uYW1lLGwubm9kZSgpLmF0dHJzKTtpZihvIGluc3RhbmNlb2YgTXQmJm8ubm9kZS5pc0Jsb2NrKXJldHVybiFsLnBhcmVudE9mZnNldHx8IUFvKG4sbC5wb3MpPyExOihyJiYoYSYmaTFhKHQsaS5leHRlbnNpb25NYW5hZ2VyLnNwbGl0dGFibGVNYXJrcyksZS5zcGxpdChsLnBvcykuc2Nyb2xsSW50b1ZpZXcoKSksITApO2lmKCFsLnBhcmVudC5pc0Jsb2NrKXJldHVybiExO2xldCB1PWQucGFyZW50T2Zmc2V0PT09ZC5wYXJlbnQuY29udGVudC5zaXplLG09bC5kZXB0aD09PTA/dm9pZCAwOnFaZShsLm5vZGUoLTEpLmNvbnRlbnRNYXRjaEF0KGwuaW5kZXhBZnRlcigtMSkpKSx2PXUmJm0/W3t0eXBlOm0sYXR0cnM6cH1dOnZvaWQgMCx4PUFvKGUuZG9jLGUubWFwcGluZy5tYXAobC5wb3MpLDEsdik7aWYoIXYmJiF4JiZBbyhlLmRvYyxlLm1hcHBpbmcubWFwKGwucG9zKSwxLG0/W3t0eXBlOm19XTp2b2lkIDApJiYoeD0hMCx2PW0/W3t0eXBlOm0sYXR0cnM6cH1dOnZvaWQgMCkscil7aWYoeCYmKG8gaW5zdGFuY2VvZiBSdCYmZS5kZWxldGVTZWxlY3Rpb24oKSxlLnNwbGl0KGUubWFwcGluZy5tYXAobC5wb3MpLDEsdiksbSYmIXUmJiFsLnBhcmVudE9mZnNldCYmbC5wYXJlbnQudHlwZSE9PW0pKXtsZXQgYj1lLm1hcHBpbmcubWFwKGwuYmVmb3JlKCkpLGc9ZS5kb2MucmVzb2x2ZShiKTtsLm5vZGUoLTEpLmNhblJlcGxhY2VXaXRoKGcuaW5kZXgoKSxnLmluZGV4KCkrMSxtKSYmZS5zZXROb2RlTWFya3VwKGUubWFwcGluZy5tYXAobC5iZWZvcmUoKSksbSl9YSYmaTFhKHQsaS5leHRlbnNpb25NYW5hZ2VyLnNwbGl0dGFibGVNYXJrcyksZS5zY3JvbGxJbnRvVmlldygpfXJldHVybiB4fSwic3BsaXRCbG9jayIpLFVQYT1zKChhLGU9e30pPT4oe3RyOnQsc3RhdGU6cixkaXNwYXRjaDppLGVkaXRvcjpvfSk9Pnt2YXIgbjtsZXQgbD1icyhhLHIuc2NoZW1hKSx7JGZyb206ZCwkdG86Y309ci5zZWxlY3Rpb24scD1yLnNlbGVjdGlvbi5ub2RlO2lmKHAmJnAuaXNCbG9ja3x8ZC5kZXB0aDwyfHwhZC5zYW1lUGFyZW50KGMpKXJldHVybiExO2xldCB1PWQubm9kZSgtMSk7aWYodS50eXBlIT09bClyZXR1cm4hMTtsZXQgbT1vLmV4dGVuc2lvbk1hbmFnZXIuYXR0cmlidXRlcztpZihkLnBhcmVudC5jb250ZW50LnNpemU9PT0wJiZkLm5vZGUoLTEpLmNoaWxkQ291bnQ9PT1kLmluZGV4QWZ0ZXIoLTEpKXtpZihkLmRlcHRoPT09Mnx8ZC5ub2RlKC0zKS50eXBlIT09bHx8ZC5pbmRleCgtMikhPT1kLm5vZGUoLTIpLmNoaWxkQ291bnQtMSlyZXR1cm4hMTtpZihpKXtsZXQgeT1WZS5lbXB0eSxrPWQuaW5kZXgoLTEpPzE6ZC5pbmRleCgtMik/MjozO2ZvcihsZXQgVD1kLmRlcHRoLWs7VD49ZC5kZXB0aC0zO1QtPTEpeT1WZS5mcm9tKGQubm9kZShUKS5jb3B5KHkpKTtsZXQgQz1kLmluZGV4QWZ0ZXIoLTEpPGQubm9kZSgtMikuY2hpbGRDb3VudD8xOmQuaW5kZXhBZnRlcigtMik8ZC5ub2RlKC0zKS5jaGlsZENvdW50PzI6MyxOPXsuLi5WbShtLGQubm9kZSgpLnR5cGUubmFtZSxkLm5vZGUoKS5hdHRycyksLi4uZX0sXz0oKG49bC5jb250ZW50TWF0Y2guZGVmYXVsdFR5cGUpPT09bnVsbHx8bj09PXZvaWQgMD92b2lkIDA6bi5jcmVhdGVBbmRGaWxsKE4pKXx8dm9pZCAwO3k9eS5hcHBlbmQoVmUuZnJvbShsLmNyZWF0ZUFuZEZpbGwobnVsbCxfKXx8dm9pZCAwKSk7bGV0IHo9ZC5iZWZvcmUoZC5kZXB0aC0oay0xKSk7dC5yZXBsYWNlKHosZC5hZnRlcigtQyksbmV3IGl0KHksNC1rLDApKTtsZXQgTz0tMTt0LmRvYy5ub2Rlc0JldHdlZW4oeix0LmRvYy5jb250ZW50LnNpemUsKFQsRSk9PntpZihPPi0xKXJldHVybiExO1QuaXNUZXh0YmxvY2smJlQuY29udGVudC5zaXplPT09MCYmKE89RSsxKX0pLE8+LTEmJnQuc2V0U2VsZWN0aW9uKFJ0Lm5lYXIodC5kb2MucmVzb2x2ZShPKSkpLHQuc2Nyb2xsSW50b1ZpZXcoKX1yZXR1cm4hMH1sZXQgdj1jLnBvcz09PWQuZW5kKCk/dS5jb250ZW50TWF0Y2hBdCgwKS5kZWZhdWx0VHlwZTpudWxsLHg9ey4uLlZtKG0sdS50eXBlLm5hbWUsdS5hdHRycyksLi4uZX0sYj17Li4uVm0obSxkLm5vZGUoKS50eXBlLm5hbWUsZC5ub2RlKCkuYXR0cnMpLC4uLmV9O3QuZGVsZXRlKGQucG9zLGMucG9zKTtsZXQgZz12P1t7dHlwZTpsLGF0dHJzOnh9LHt0eXBlOnYsYXR0cnM6Yn1dOlt7dHlwZTpsLGF0dHJzOnh9XTtpZighQW8odC5kb2MsZC5wb3MsMikpcmV0dXJuITE7aWYoaSl7bGV0e3NlbGVjdGlvbjp5LHN0b3JlZE1hcmtzOmt9PXIse3NwbGl0dGFibGVNYXJrczpDfT1vLmV4dGVuc2lvbk1hbmFnZXIsTj1rfHx5LiR0by5wYXJlbnRPZmZzZXQmJnkuJGZyb20ubWFya3MoKTtpZih0LnNwbGl0KGQucG9zLDIsZykuc2Nyb2xsSW50b1ZpZXcoKSwhTnx8IWkpcmV0dXJuITA7bGV0IF89Ti5maWx0ZXIoej0+Qy5pbmNsdWRlcyh6LnR5cGUubmFtZSkpO3QuZW5zdXJlTWFya3MoXyl9cmV0dXJuITB9LCJzcGxpdExpc3RJdGVtIiksRFplPXMoKGEsZSk9PntsZXQgdD1xbShuPT5uLnR5cGU9PT1lKShhLnNlbGVjdGlvbik7aWYoIXQpcmV0dXJuITA7bGV0IHI9YS5kb2MucmVzb2x2ZShNYXRoLm1heCgwLHQucG9zLTEpKS5iZWZvcmUodC5kZXB0aCk7aWYocj09PXZvaWQgMClyZXR1cm4hMDtsZXQgaT1hLmRvYy5ub2RlQXQocik7cmV0dXJuIHQubm9kZS50eXBlPT09aT8udHlwZSYmdG4oYS5kb2MsdC5wb3MpJiZhLmpvaW4odC5wb3MpLCEwfSwiam9pbkxpc3RCYWNrd2FyZHMiKSxBWmU9cygoYSxlKT0+e2xldCB0PXFtKG49Pm4udHlwZT09PWUpKGEuc2VsZWN0aW9uKTtpZighdClyZXR1cm4hMDtsZXQgcj1hLmRvYy5yZXNvbHZlKHQuc3RhcnQpLmFmdGVyKHQuZGVwdGgpO2lmKHI9PT12b2lkIDApcmV0dXJuITA7bGV0IGk9YS5kb2Mubm9kZUF0KHIpO3JldHVybiB0Lm5vZGUudHlwZT09PWk/LnR5cGUmJnRuKGEuZG9jLHIpJiZhLmpvaW4ociksITB9LCJqb2luTGlzdEZvcndhcmRzIiksV1BhPXMoKGEsZSx0LHI9e30pPT4oe2VkaXRvcjppLHRyOm8sc3RhdGU6bixkaXNwYXRjaDpsLGNoYWluOmQsY29tbWFuZHM6YyxjYW46cH0pPT57bGV0e2V4dGVuc2lvbnM6dSxzcGxpdHRhYmxlTWFya3M6bX09aS5leHRlbnNpb25NYW5hZ2VyLHY9YnMoYSxuLnNjaGVtYSkseD1icyhlLG4uc2NoZW1hKSx7c2VsZWN0aW9uOmIsc3RvcmVkTWFya3M6Z309bix7JGZyb206eSwkdG86a309YixDPXkuYmxvY2tSYW5nZShrKSxOPWd8fGIuJHRvLnBhcmVudE9mZnNldCYmYi4kZnJvbS5tYXJrcygpO2lmKCFDKXJldHVybiExO2xldCBfPXFtKHo9PlRyZSh6LnR5cGUubmFtZSx1KSkoYik7aWYoQy5kZXB0aD49MSYmXyYmQy5kZXB0aC1fLmRlcHRoPD0xKXtpZihfLm5vZGUudHlwZT09PXYpcmV0dXJuIGMubGlmdExpc3RJdGVtKHgpO2lmKFRyZShfLm5vZGUudHlwZS5uYW1lLHUpJiZ2LnZhbGlkQ29udGVudChfLm5vZGUuY29udGVudCkmJmwpcmV0dXJuIGQoKS5jb21tYW5kKCgpPT4oby5zZXROb2RlTWFya3VwKF8ucG9zLHYpLCEwKSkuY29tbWFuZCgoKT0+RFplKG8sdikpLmNvbW1hbmQoKCk9PkFaZShvLHYpKS5ydW4oKX1yZXR1cm4hdHx8IU58fCFsP2QoKS5jb21tYW5kKCgpPT5wKCkud3JhcEluTGlzdCh2LHIpPyEwOmMuY2xlYXJOb2RlcygpKS53cmFwSW5MaXN0KHYscikuY29tbWFuZCgoKT0+RFplKG8sdikpLmNvbW1hbmQoKCk9PkFaZShvLHYpKS5ydW4oKTpkKCkuY29tbWFuZCgoKT0+e2xldCB6PXAoKS53cmFwSW5MaXN0KHYsciksTz1OLmZpbHRlcihUPT5tLmluY2x1ZGVzKFQudHlwZS5uYW1lKSk7cmV0dXJuIG8uZW5zdXJlTWFya3MoTyksej8hMDpjLmNsZWFyTm9kZXMoKX0pLndyYXBJbkxpc3QodixyKS5jb21tYW5kKCgpPT5EWmUobyx2KSkuY29tbWFuZCgoKT0+QVplKG8sdikpLnJ1bigpfSwidG9nZ2xlTGlzdCIpLEdQYT1zKChhLGU9e30sdD17fSk9Pih7c3RhdGU6cixjb21tYW5kczppfSk9PntsZXR7ZXh0ZW5kRW1wdHlNYXJrUmFuZ2U6bz0hMX09dCxuPWVsKGEsci5zY2hlbWEpO3JldHVybiB5VyhyLG4sZSk/aS51bnNldE1hcmsobix7ZXh0ZW5kRW1wdHlNYXJrUmFuZ2U6b30pOmkuc2V0TWFyayhuLGUpfSwidG9nZ2xlTWFyayIpLFlQYT1zKChhLGUsdD17fSk9Pih7c3RhdGU6cixjb21tYW5kczppfSk9PntsZXQgbz1icyhhLHIuc2NoZW1hKSxuPWJzKGUsci5zY2hlbWEpLGw9YzUocixvLHQpLGQ7cmV0dXJuIHIuc2VsZWN0aW9uLiRhbmNob3Iuc2FtZVBhcmVudChyLnNlbGVjdGlvbi4kaGVhZCkmJihkPXIuc2VsZWN0aW9uLiRhbmNob3IucGFyZW50LmF0dHJzKSxsP2kuc2V0Tm9kZShuLGQpOmkuc2V0Tm9kZShvLHsuLi5kLC4uLnR9KX0sInRvZ2dsZU5vZGUiKSxLUGE9cygoYSxlPXt9KT0+KHtzdGF0ZTp0LGNvbW1hbmRzOnJ9KT0+e2xldCBpPWJzKGEsdC5zY2hlbWEpO3JldHVybiBjNSh0LGksZSk/ci5saWZ0KGkpOnIud3JhcEluKGksZSl9LCJ0b2dnbGVXcmFwIiksWlBhPXMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9PntsZXQgdD1hLnBsdWdpbnM7Zm9yKGxldCByPTA7cjx0Lmxlbmd0aDtyKz0xKXtsZXQgaT10W3JdLG87aWYoaS5zcGVjLmlzSW5wdXRSdWxlcyYmKG89aS5nZXRTdGF0ZShhKSkpe2lmKGUpe2xldCBuPWEudHIsbD1vLnRyYW5zZm9ybTtmb3IobGV0IGQ9bC5zdGVwcy5sZW5ndGgtMTtkPj0wO2QtPTEpbi5zdGVwKGwuc3RlcHNbZF0uaW52ZXJ0KGwuZG9jc1tkXSkpO2lmKG8udGV4dCl7bGV0IGQ9bi5kb2MucmVzb2x2ZShvLmZyb20pLm1hcmtzKCk7bi5yZXBsYWNlV2l0aChvLmZyb20sby50byxhLnNjaGVtYS50ZXh0KG8udGV4dCxkKSl9ZWxzZSBuLmRlbGV0ZShvLmZyb20sby50byl9cmV0dXJuITB9fXJldHVybiExfSwidW5kb0lucHV0UnVsZSIpLFhQYT1zKCgpPT4oe3RyOmEsZGlzcGF0Y2g6ZX0pPT57bGV0e3NlbGVjdGlvbjp0fT1hLHtlbXB0eTpyLHJhbmdlczppfT10O3JldHVybiByfHxlJiZpLmZvckVhY2gobz0+e2EucmVtb3ZlTWFyayhvLiRmcm9tLnBvcyxvLiR0by5wb3MpfSksITB9LCJ1bnNldEFsbE1hcmtzIiksUVBhPXMoKGEsZT17fSk9Pih7dHI6dCxzdGF0ZTpyLGRpc3BhdGNoOml9KT0+e3ZhciBvO2xldHtleHRlbmRFbXB0eU1hcmtSYW5nZTpuPSExfT1lLHtzZWxlY3Rpb246bH09dCxkPWVsKGEsci5zY2hlbWEpLHskZnJvbTpjLGVtcHR5OnAscmFuZ2VzOnV9PWw7aWYoIWkpcmV0dXJuITA7aWYocCYmbil7bGV0e2Zyb206bSx0bzp2fT1sLHg9KG89Yy5tYXJrcygpLmZpbmQoZz0+Zy50eXBlPT09ZCkpPT09bnVsbHx8bz09PXZvaWQgMD92b2lkIDA6by5hdHRycyxiPWJXKGMsZCx4KTtiJiYobT1iLmZyb20sdj1iLnRvKSx0LnJlbW92ZU1hcmsobSx2LGQpfWVsc2UgdS5mb3JFYWNoKG09Pnt0LnJlbW92ZU1hcmsobS4kZnJvbS5wb3MsbS4kdG8ucG9zLGQpfSk7cmV0dXJuIHQucmVtb3ZlU3RvcmVkTWFyayhkKSwhMH0sInVuc2V0TWFyayIpLEpQYT1zKChhLGU9e30pPT4oe3RyOnQsc3RhdGU6cixkaXNwYXRjaDppfSk9PntsZXQgbz1udWxsLG49bnVsbCxsPUhtKHR5cGVvZiBhPT0ic3RyaW5nIj9hOmEubmFtZSxyLnNjaGVtYSk7cmV0dXJuIGw/KGw9PT0ibm9kZSImJihvPWJzKGEsci5zY2hlbWEpKSxsPT09Im1hcmsiJiYobj1lbChhLHIuc2NoZW1hKSksaSYmdC5zZWxlY3Rpb24ucmFuZ2VzLmZvckVhY2goZD0+e2xldCBjPWQuJGZyb20ucG9zLHA9ZC4kdG8ucG9zLHUsbSx2LHg7dC5zZWxlY3Rpb24uZW1wdHk/ci5kb2Mubm9kZXNCZXR3ZWVuKGMscCwoYixnKT0+e28mJm89PT1iLnR5cGUmJih2PU1hdGgubWF4KGcsYykseD1NYXRoLm1pbihnK2Iubm9kZVNpemUscCksdT1nLG09Yil9KTpyLmRvYy5ub2Rlc0JldHdlZW4oYyxwLChiLGcpPT57ZzxjJiZvJiZvPT09Yi50eXBlJiYodj1NYXRoLm1heChnLGMpLHg9TWF0aC5taW4oZytiLm5vZGVTaXplLHApLHU9ZyxtPWIpLGc+PWMmJmc8PXAmJihvJiZvPT09Yi50eXBlJiZ0LnNldE5vZGVNYXJrdXAoZyx2b2lkIDAsey4uLmIuYXR0cnMsLi4uZX0pLG4mJmIubWFya3MubGVuZ3RoJiZiLm1hcmtzLmZvckVhY2goeT0+e2lmKG49PT15LnR5cGUpe2xldCBrPU1hdGgubWF4KGcsYyksQz1NYXRoLm1pbihnK2Iubm9kZVNpemUscCk7dC5hZGRNYXJrKGssQyxuLmNyZWF0ZSh7Li4ueS5hdHRycywuLi5lfSkpfX0pKX0pLG0mJih1IT09dm9pZCAwJiZ0LnNldE5vZGVNYXJrdXAodSx2b2lkIDAsey4uLm0uYXR0cnMsLi4uZX0pLG4mJm0ubWFya3MubGVuZ3RoJiZtLm1hcmtzLmZvckVhY2goYj0+e249PT1iLnR5cGUmJnQuYWRkTWFyayh2LHgsbi5jcmVhdGUoey4uLmIuYXR0cnMsLi4uZX0pKX0pKX0pLCEwKTohMX0sInVwZGF0ZUF0dHJpYnV0ZXMiKSxlSWE9cygoYSxlPXt9KT0+KHtzdGF0ZTp0LGRpc3BhdGNoOnJ9KT0+e2xldCBpPWJzKGEsdC5zY2hlbWEpO3JldHVybiBTWmUoaSxlKSh0LHIpfSwid3JhcEluIiksdElhPXMoKGEsZT17fSk9Pih7c3RhdGU6dCxkaXNwYXRjaDpyfSk9PntsZXQgaT1icyhhLHQuc2NoZW1hKTtyZXR1cm4gQ1plKGksZSkodCxyKX0sIndyYXBJbkxpc3QiKSxhSWE9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmx1cjpZRWEsY2xlYXJDb250ZW50OktFYSxjbGVhck5vZGVzOlpFYSxjb21tYW5kOlhFYSxjcmVhdGVQYXJhZ3JhcGhOZWFyOlFFYSxjdXQ6SkVhLGRlbGV0ZUN1cnJlbnROb2RlOmVQYSxkZWxldGVOb2RlOnRQYSxkZWxldGVSYW5nZTphUGEsZGVsZXRlU2VsZWN0aW9uOnJQYSxlbnRlcjpzUGEsZXhpdENvZGU6aVBhLGV4dGVuZE1hcmtSYW5nZTpvUGEsZmlyc3Q6blBhLGZvY3VzOmxQYSxmb3JFYWNoOmNQYSxpbnNlcnRDb250ZW50OmRQYSxpbnNlcnRDb250ZW50QXQ6cFBhLGpvaW5CYWNrd2FyZDptUGEsam9pbkRvd246aFBhLGpvaW5Gb3J3YXJkOmdQYSxqb2luSXRlbUJhY2t3YXJkOmJQYSxqb2luSXRlbUZvcndhcmQ6dlBhLGpvaW5UZXh0YmxvY2tCYWNrd2FyZDp4UGEsam9pblRleHRibG9ja0ZvcndhcmQ6eVBhLGpvaW5VcDpmUGEsa2V5Ym9hcmRTaG9ydGN1dDpNUGEsbGlmdDprUGEsbGlmdEVtcHR5QmxvY2s6U1BhLGxpZnRMaXN0SXRlbTp6UGEsbmV3bGluZUluQ29kZTpDUGEscmVzZXRBdHRyaWJ1dGVzOl9QYSxzY3JvbGxJbnRvVmlldzpUUGEsc2VsZWN0QWxsOkxQYSxzZWxlY3ROb2RlQmFja3dhcmQ6JFBhLHNlbGVjdE5vZGVGb3J3YXJkOkRQYSxzZWxlY3RQYXJlbnROb2RlOkFQYSxzZWxlY3RUZXh0YmxvY2tFbmQ6RVBhLHNlbGVjdFRleHRibG9ja1N0YXJ0OlBQYSxzZXRDb250ZW50OklQYSxzZXRNYXJrOk9QYSxzZXRNZXRhOkZQYSxzZXROb2RlOkJQYSxzZXROb2RlU2VsZWN0aW9uOkhQYSxzZXRUZXh0U2VsZWN0aW9uOnFQYSxzaW5rTGlzdEl0ZW06VlBhLHNwbGl0QmxvY2s6alBhLHNwbGl0TGlzdEl0ZW06VVBhLHRvZ2dsZUxpc3Q6V1BhLHRvZ2dsZU1hcms6R1BhLHRvZ2dsZU5vZGU6WVBhLHRvZ2dsZVdyYXA6S1BhLHVuZG9JbnB1dFJ1bGU6WlBhLHVuc2V0QWxsTWFya3M6WFBhLHVuc2V0TWFyazpRUGEsdXBkYXRlQXR0cmlidXRlczpKUGEsd3JhcEluOmVJYSx3cmFwSW5MaXN0OnRJYX0pLG8xYT13ci5jcmVhdGUoe25hbWU6ImNvbW1hbmRzIixhZGRDb21tYW5kcygpe3JldHVybnsuLi5hSWF9fX0pLG4xYT13ci5jcmVhdGUoe25hbWU6ImRyb3AiLGFkZFByb3NlTWlycm9yUGx1Z2lucygpe3JldHVybltuZXcgcnIoe2tleTpuZXcgbXMoInRpcHRhcERyb3AiKSxwcm9wczp7aGFuZGxlRHJvcDpzKChhLGUsdCxyKT0+e3RoaXMuZWRpdG9yLmVtaXQoImRyb3AiLHtlZGl0b3I6dGhpcy5lZGl0b3IsZXZlbnQ6ZSxzbGljZTp0LG1vdmVkOnJ9KX0sImhhbmRsZURyb3AiKX19KV19fSksbDFhPXdyLmNyZWF0ZSh7bmFtZToiZWRpdGFibGUiLGFkZFByb3NlTWlycm9yUGx1Z2lucygpe3JldHVybltuZXcgcnIoe2tleTpuZXcgbXMoImVkaXRhYmxlIikscHJvcHM6e2VkaXRhYmxlOnMoKCk9PnRoaXMuZWRpdG9yLm9wdGlvbnMuZWRpdGFibGUsImVkaXRhYmxlIil9fSldfX0pLGMxYT1uZXcgbXMoImZvY3VzRXZlbnRzIiksZDFhPXdyLmNyZWF0ZSh7bmFtZToiZm9jdXNFdmVudHMiLGFkZFByb3NlTWlycm9yUGx1Z2lucygpe2xldHtlZGl0b3I6YX09dGhpcztyZXR1cm5bbmV3IHJyKHtrZXk6YzFhLHByb3BzOntoYW5kbGVET01FdmVudHM6e2ZvY3VzOnMoKGUsdCk9PnthLmlzRm9jdXNlZD0hMDtsZXQgcj1hLnN0YXRlLnRyLnNldE1ldGEoImZvY3VzIix7ZXZlbnQ6dH0pLnNldE1ldGEoImFkZFRvSGlzdG9yeSIsITEpO3JldHVybiBlLmRpc3BhdGNoKHIpLCExfSwiZm9jdXMiKSxibHVyOnMoKGUsdCk9PnthLmlzRm9jdXNlZD0hMTtsZXQgcj1hLnN0YXRlLnRyLnNldE1ldGEoImJsdXIiLHtldmVudDp0fSkuc2V0TWV0YSgiYWRkVG9IaXN0b3J5IiwhMSk7cmV0dXJuIGUuZGlzcGF0Y2gociksITF9LCJibHVyIil9fX0pXX19KSx1MWE9d3IuY3JlYXRlKHtuYW1lOiJrZXltYXAiLGFkZEtleWJvYXJkU2hvcnRjdXRzKCl7bGV0IGE9cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMuZmlyc3QoKHtjb21tYW5kczpufSk9PlsoKT0+bi51bmRvSW5wdXRSdWxlKCksKCk9Pm4uY29tbWFuZCgoe3RyOmx9KT0+e2xldHtzZWxlY3Rpb246ZCxkb2M6Y309bCx7ZW1wdHk6cCwkYW5jaG9yOnV9PWQse3BvczptLHBhcmVudDp2fT11LHg9dS5wYXJlbnQuaXNUZXh0YmxvY2smJm0+MD9sLmRvYy5yZXNvbHZlKG0tMSk6dSxiPXgucGFyZW50LnR5cGUuc3BlYy5pc29sYXRpbmcsZz11LnBvcy11LnBhcmVudE9mZnNldCx5PWImJngucGFyZW50LmNoaWxkQ291bnQ9PT0xP2c9PT11LnBvczpJdC5hdFN0YXJ0KGMpLmZyb209PT1tO3JldHVybiFwfHwhdi50eXBlLmlzVGV4dGJsb2NrfHx2LnRleHRDb250ZW50Lmxlbmd0aHx8IXl8fHkmJnUucGFyZW50LnR5cGUubmFtZT09PSJwYXJhZ3JhcGgiPyExOm4uY2xlYXJOb2RlcygpfSksKCk9Pm4uZGVsZXRlU2VsZWN0aW9uKCksKCk9Pm4uam9pbkJhY2t3YXJkKCksKCk9Pm4uc2VsZWN0Tm9kZUJhY2t3YXJkKCldKSwiaGFuZGxlQmFja3NwYWNlIiksZT1zKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5maXJzdCgoe2NvbW1hbmRzOm59KT0+WygpPT5uLmRlbGV0ZVNlbGVjdGlvbigpLCgpPT5uLmRlbGV0ZUN1cnJlbnROb2RlKCksKCk9Pm4uam9pbkZvcndhcmQoKSwoKT0+bi5zZWxlY3ROb2RlRm9yd2FyZCgpXSksImhhbmRsZURlbGV0ZSIpLHI9e0VudGVyOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLmZpcnN0KCh7Y29tbWFuZHM6bn0pPT5bKCk9Pm4ubmV3bGluZUluQ29kZSgpLCgpPT5uLmNyZWF0ZVBhcmFncmFwaE5lYXIoKSwoKT0+bi5saWZ0RW1wdHlCbG9jaygpLCgpPT5uLnNwbGl0QmxvY2soKV0pLCJoYW5kbGVFbnRlciIpLCJNb2QtRW50ZXIiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLmV4aXRDb2RlKCksIk1vZC1FbnRlciIpLEJhY2tzcGFjZTphLCJNb2QtQmFja3NwYWNlIjphLCJTaGlmdC1CYWNrc3BhY2UiOmEsRGVsZXRlOmUsIk1vZC1EZWxldGUiOmUsIk1vZC1hIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5zZWxlY3RBbGwoKSwiTW9kLWEiKX0saT17Li4ucn0sbz17Li4uciwiQ3RybC1oIjphLCJBbHQtQmFja3NwYWNlIjphLCJDdHJsLWQiOmUsIkN0cmwtQWx0LUJhY2tzcGFjZSI6ZSwiQWx0LURlbGV0ZSI6ZSwiQWx0LWQiOmUsIkN0cmwtYSI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMuc2VsZWN0VGV4dGJsb2NrU3RhcnQoKSwiQ3RybC1hIiksIkN0cmwtZSI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMuc2VsZWN0VGV4dGJsb2NrRW5kKCksIkN0cmwtZSIpfTtyZXR1cm4gbzUoKXx8U3JlKCk/bzppfSxhZGRQcm9zZU1pcnJvclBsdWdpbnMoKXtyZXR1cm5bbmV3IHJyKHtrZXk6bmV3IG1zKCJjbGVhckRvY3VtZW50IiksYXBwZW5kVHJhbnNhY3Rpb246cygoYSxlLHQpPT57aWYoYS5zb21lKGI9PmIuZ2V0TWV0YSgiY29tcG9zaXRpb24iKSkpcmV0dXJuO2xldCByPWEuc29tZShiPT5iLmRvY0NoYW5nZWQpJiYhZS5kb2MuZXEodC5kb2MpLGk9YS5zb21lKGI9PmIuZ2V0TWV0YSgicHJldmVudENsZWFyRG9jdW1lbnQiKSk7aWYoIXJ8fGkpcmV0dXJuO2xldHtlbXB0eTpvLGZyb206bix0bzpsfT1lLnNlbGVjdGlvbixkPUl0LmF0U3RhcnQoZS5kb2MpLmZyb20sYz1JdC5hdEVuZChlLmRvYykudG87aWYob3x8IShuPT09ZCYmbD09PWMpfHwhd1codC5kb2MpKXJldHVybjtsZXQgbT10LnRyLHY9SW0oe3N0YXRlOnQsdHJhbnNhY3Rpb246bX0pLHtjb21tYW5kczp4fT1uZXcgejQoe2VkaXRvcjp0aGlzLmVkaXRvcixzdGF0ZTp2fSk7aWYoeC5jbGVhck5vZGVzKCksISFtLnN0ZXBzLmxlbmd0aClyZXR1cm4gbX0sImFwcGVuZFRyYW5zYWN0aW9uIil9KV19fSkscDFhPXdyLmNyZWF0ZSh7bmFtZToicGFzdGUiLGFkZFByb3NlTWlycm9yUGx1Z2lucygpe3JldHVybltuZXcgcnIoe2tleTpuZXcgbXMoInRpcHRhcFBhc3RlIikscHJvcHM6e2hhbmRsZVBhc3RlOnMoKGEsZSx0KT0+e3RoaXMuZWRpdG9yLmVtaXQoInBhc3RlIix7ZWRpdG9yOnRoaXMuZWRpdG9yLGV2ZW50OmUsc2xpY2U6dH0pfSwiaGFuZGxlUGFzdGUiKX19KV19fSksZjFhPXdyLmNyZWF0ZSh7bmFtZToidGFiaW5kZXgiLGFkZFByb3NlTWlycm9yUGx1Z2lucygpe3JldHVybltuZXcgcnIoe2tleTpuZXcgbXMoInRhYmluZGV4IikscHJvcHM6e2F0dHJpYnV0ZXM6cygoKT0+dGhpcy5lZGl0b3IuaXNFZGl0YWJsZT97dGFiaW5kZXg6IjAifTp7fSwiYXR0cmlidXRlcyIpfX0pXX19KSxrMWE9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsQ2xpcGJvYXJkVGV4dFNlcmlhbGl6ZXI6ZTFhLENvbW1hbmRzOm8xYSxEcm9wOm4xYSxFZGl0YWJsZTpsMWEsRm9jdXNFdmVudHM6ZDFhLEtleW1hcDp1MWEsUGFzdGU6cDFhLFRhYmluZGV4OmYxYSxmb2N1c0V2ZW50c1BsdWdpbktleTpjMWF9KSxNVz1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIk5vZGVQb3MiKX1nZXQgbmFtZSgpe3JldHVybiB0aGlzLm5vZGUudHlwZS5uYW1lfWNvbnN0cnVjdG9yKGUsdCxyPSExLGk9bnVsbCl7dGhpcy5jdXJyZW50Tm9kZT1udWxsLHRoaXMuYWN0dWFsRGVwdGg9bnVsbCx0aGlzLmlzQmxvY2s9cix0aGlzLnJlc29sdmVkUG9zPWUsdGhpcy5lZGl0b3I9dCx0aGlzLmN1cnJlbnROb2RlPWl9Z2V0IG5vZGUoKXtyZXR1cm4gdGhpcy5jdXJyZW50Tm9kZXx8dGhpcy5yZXNvbHZlZFBvcy5ub2RlKCl9Z2V0IGVsZW1lbnQoKXtyZXR1cm4gdGhpcy5lZGl0b3Iudmlldy5kb21BdFBvcyh0aGlzLnBvcykubm9kZX1nZXQgZGVwdGgoKXt2YXIgZTtyZXR1cm4oZT10aGlzLmFjdHVhbERlcHRoKSE9PW51bGwmJmUhPT12b2lkIDA/ZTp0aGlzLnJlc29sdmVkUG9zLmRlcHRofWdldCBwb3MoKXtyZXR1cm4gdGhpcy5yZXNvbHZlZFBvcy5wb3N9Z2V0IGNvbnRlbnQoKXtyZXR1cm4gdGhpcy5ub2RlLmNvbnRlbnR9c2V0IGNvbnRlbnQoZSl7bGV0IHQ9dGhpcy5mcm9tLHI9dGhpcy50bztpZih0aGlzLmlzQmxvY2spe2lmKHRoaXMuY29udGVudC5zaXplPT09MCl7Y29uc29sZS5lcnJvcihgWW91IGNhblx1MjAxOXQgc2V0IGNvbnRlbnQgb24gYSBibG9jayBub2RlLiBUcmllZCB0byBzZXQgY29udGVudCBvbiAke3RoaXMubmFtZX0gYXQgJHt0aGlzLnBvc31gKTtyZXR1cm59dD10aGlzLmZyb20rMSxyPXRoaXMudG8tMX10aGlzLmVkaXRvci5jb21tYW5kcy5pbnNlcnRDb250ZW50QXQoe2Zyb206dCx0bzpyfSxlKX1nZXQgYXR0cmlidXRlcygpe3JldHVybiB0aGlzLm5vZGUuYXR0cnN9Z2V0IHRleHRDb250ZW50KCl7cmV0dXJuIHRoaXMubm9kZS50ZXh0Q29udGVudH1nZXQgc2l6ZSgpe3JldHVybiB0aGlzLm5vZGUubm9kZVNpemV9Z2V0IGZyb20oKXtyZXR1cm4gdGhpcy5pc0Jsb2NrP3RoaXMucG9zOnRoaXMucmVzb2x2ZWRQb3Muc3RhcnQodGhpcy5yZXNvbHZlZFBvcy5kZXB0aCl9Z2V0IHJhbmdlKCl7cmV0dXJue2Zyb206dGhpcy5mcm9tLHRvOnRoaXMudG99fWdldCB0bygpe3JldHVybiB0aGlzLmlzQmxvY2s/dGhpcy5wb3MrdGhpcy5zaXplOnRoaXMucmVzb2x2ZWRQb3MuZW5kKHRoaXMucmVzb2x2ZWRQb3MuZGVwdGgpKyh0aGlzLm5vZGUuaXNUZXh0PzA6MSl9Z2V0IHBhcmVudCgpe2lmKHRoaXMuZGVwdGg9PT0wKXJldHVybiBudWxsO2xldCBlPXRoaXMucmVzb2x2ZWRQb3Muc3RhcnQodGhpcy5yZXNvbHZlZFBvcy5kZXB0aC0xKSx0PXRoaXMucmVzb2x2ZWRQb3MuZG9jLnJlc29sdmUoZSk7cmV0dXJuIG5ldyBhKHQsdGhpcy5lZGl0b3IpfWdldCBiZWZvcmUoKXtsZXQgZT10aGlzLnJlc29sdmVkUG9zLmRvYy5yZXNvbHZlKHRoaXMuZnJvbS0odGhpcy5pc0Jsb2NrPzE6MikpO3JldHVybiBlLmRlcHRoIT09dGhpcy5kZXB0aCYmKGU9dGhpcy5yZXNvbHZlZFBvcy5kb2MucmVzb2x2ZSh0aGlzLmZyb20tMykpLG5ldyBhKGUsdGhpcy5lZGl0b3IpfWdldCBhZnRlcigpe2xldCBlPXRoaXMucmVzb2x2ZWRQb3MuZG9jLnJlc29sdmUodGhpcy50bysodGhpcy5pc0Jsb2NrPzI6MSkpO3JldHVybiBlLmRlcHRoIT09dGhpcy5kZXB0aCYmKGU9dGhpcy5yZXNvbHZlZFBvcy5kb2MucmVzb2x2ZSh0aGlzLnRvKzMpKSxuZXcgYShlLHRoaXMuZWRpdG9yKX1nZXQgY2hpbGRyZW4oKXtsZXQgZT1bXTtyZXR1cm4gdGhpcy5ub2RlLmNvbnRlbnQuZm9yRWFjaCgodCxyKT0+e2xldCBpPXQuaXNCbG9jayYmIXQuaXNUZXh0YmxvY2ssbz10LmlzQXRvbSYmIXQuaXNUZXh0LG49dGhpcy5wb3Mrcisobz8wOjEpO2lmKG48MHx8bj50aGlzLnJlc29sdmVkUG9zLmRvYy5ub2RlU2l6ZS0yKXJldHVybjtsZXQgbD10aGlzLnJlc29sdmVkUG9zLmRvYy5yZXNvbHZlKG4pO2lmKCFpJiZsLmRlcHRoPD10aGlzLmRlcHRoKXJldHVybjtsZXQgZD1uZXcgYShsLHRoaXMuZWRpdG9yLGksaT90Om51bGwpO2kmJihkLmFjdHVhbERlcHRoPXRoaXMuZGVwdGgrMSksZS5wdXNoKG5ldyBhKGwsdGhpcy5lZGl0b3IsaSxpP3Q6bnVsbCkpfSksZX1nZXQgZmlyc3RDaGlsZCgpe3JldHVybiB0aGlzLmNoaWxkcmVuWzBdfHxudWxsfWdldCBsYXN0Q2hpbGQoKXtsZXQgZT10aGlzLmNoaWxkcmVuO3JldHVybiBlW2UubGVuZ3RoLTFdfHxudWxsfWNsb3Nlc3QoZSx0PXt9KXtsZXQgcj1udWxsLGk9dGhpcy5wYXJlbnQ7Zm9yKDtpJiYhcjspe2lmKGkubm9kZS50eXBlLm5hbWU9PT1lKWlmKE9iamVjdC5rZXlzKHQpLmxlbmd0aD4wKXtsZXQgbz1pLm5vZGUuYXR0cnMsbj1PYmplY3Qua2V5cyh0KTtmb3IobGV0IGw9MDtsPG4ubGVuZ3RoO2wrPTEpe2xldCBkPW5bbF07aWYob1tkXSE9PXRbZF0pYnJlYWt9fWVsc2Ugcj1pO2k9aS5wYXJlbnR9cmV0dXJuIHJ9cXVlcnlTZWxlY3RvcihlLHQ9e30pe3JldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoZSx0LCEwKVswXXx8bnVsbH1xdWVyeVNlbGVjdG9yQWxsKGUsdD17fSxyPSExKXtsZXQgaT1bXTtpZighdGhpcy5jaGlsZHJlbnx8dGhpcy5jaGlsZHJlbi5sZW5ndGg9PT0wKXJldHVybiBpO2xldCBvPU9iamVjdC5rZXlzKHQpO3JldHVybiB0aGlzLmNoaWxkcmVuLmZvckVhY2gobj0+e3ImJmkubGVuZ3RoPjB8fChuLm5vZGUudHlwZS5uYW1lPT09ZSYmby5ldmVyeShkPT50W2RdPT09bi5ub2RlLmF0dHJzW2RdKSYmaS5wdXNoKG4pLCEociYmaS5sZW5ndGg+MCkmJihpPWkuY29uY2F0KG4ucXVlcnlTZWxlY3RvckFsbChlLHQscikpKSl9KSxpfXNldEF0dHJpYnV0ZShlKXtsZXR7dHI6dH09dGhpcy5lZGl0b3Iuc3RhdGU7dC5zZXROb2RlTWFya3VwKHRoaXMuZnJvbSx2b2lkIDAsey4uLnRoaXMubm9kZS5hdHRycywuLi5lfSksdGhpcy5lZGl0b3Iudmlldy5kaXNwYXRjaCh0KX19LHJJYT1gLlByb3NlTWlycm9yIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5Qcm9zZU1pcnJvciB7CiAgd29yZC13cmFwOiBicmVhay13b3JkOwogIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICB3aGl0ZS1zcGFjZTogYnJlYWstc3BhY2VzOwogIC13ZWJraXQtZm9udC12YXJpYW50LWxpZ2F0dXJlczogbm9uZTsKICBmb250LXZhcmlhbnQtbGlnYXR1cmVzOiBub25lOwogIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogImxpZ2EiIDA7IC8qIHRoZSBhYm92ZSBkb2Vzbid0IHNlZW0gdG8gd29yayBpbiBFZGdlICovCn0KCi5Qcm9zZU1pcnJvciBbY29udGVudGVkaXRhYmxlPSJmYWxzZSJdIHsKICB3aGl0ZS1zcGFjZTogbm9ybWFsOwp9CgouUHJvc2VNaXJyb3IgW2NvbnRlbnRlZGl0YWJsZT0iZmFsc2UiXSBbY29udGVudGVkaXRhYmxlPSJ0cnVlIl0gewogIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKfQoKLlByb3NlTWlycm9yIHByZSB7CiAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwp9CgppbWcuUHJvc2VNaXJyb3Itc2VwYXJhdG9yIHsKICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsKICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsKICBtYXJnaW46IDAgIWltcG9ydGFudDsKICB3aWR0aDogMCAhaW1wb3J0YW50OwogIGhlaWdodDogMCAhaW1wb3J0YW50Owp9CgouUHJvc2VNaXJyb3ItZ2FwY3Vyc29yIHsKICBkaXNwbGF5OiBub25lOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBtYXJnaW46IDA7Cn0KCi5Qcm9zZU1pcnJvci1nYXBjdXJzb3I6YWZ0ZXIgewogIGNvbnRlbnQ6ICIiOwogIGRpc3BsYXk6IGJsb2NrOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IC0ycHg7CiAgd2lkdGg6IDIwcHg7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGJsYWNrOwogIGFuaW1hdGlvbjogUHJvc2VNaXJyb3ItY3Vyc29yLWJsaW5rIDEuMXMgc3RlcHMoMiwgc3RhcnQpIGluZmluaXRlOwp9CgpAa2V5ZnJhbWVzIFByb3NlTWlycm9yLWN1cnNvci1ibGluayB7CiAgdG8gewogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogIH0KfQoKLlByb3NlTWlycm9yLWhpZGVzZWxlY3Rpb24gKjo6c2VsZWN0aW9uIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKfQoKLlByb3NlTWlycm9yLWhpZGVzZWxlY3Rpb24gKjo6LW1vei1zZWxlY3Rpb24gewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Owp9CgouUHJvc2VNaXJyb3ItaGlkZXNlbGVjdGlvbiAqIHsKICBjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KCi5Qcm9zZU1pcnJvci1mb2N1c2VkIC5Qcm9zZU1pcnJvci1nYXBjdXJzb3IgewogIGRpc3BsYXk6IGJsb2NrOwp9CgoudGlwcHktYm94W2RhdGEtYW5pbWF0aW9uPWZhZGVdW2RhdGEtc3RhdGU9aGlkZGVuXSB7CiAgb3BhY2l0eTogMAp9YDtzKFlaZSwiY3JlYXRlU3R5bGVUYWciKTtMcmU9Y2xhc3MgZXh0ZW5kcyBMWmV7c3RhdGlje3ModGhpcywiRWRpdG9yIil9Y29uc3RydWN0b3IoZT17fSl7c3VwZXIoKSx0aGlzLmlzRm9jdXNlZD0hMSx0aGlzLmlzSW5pdGlhbGl6ZWQ9ITEsdGhpcy5leHRlbnNpb25TdG9yYWdlPXt9LHRoaXMub3B0aW9ucz17ZWxlbWVudDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxjb250ZW50OiIiLGluamVjdENTUzohMCxpbmplY3ROb25jZTp2b2lkIDAsZXh0ZW5zaW9uczpbXSxhdXRvZm9jdXM6ITEsZWRpdGFibGU6ITAsZWRpdG9yUHJvcHM6e30scGFyc2VPcHRpb25zOnt9LGNvcmVFeHRlbnNpb25PcHRpb25zOnt9LGVuYWJsZUlucHV0UnVsZXM6ITAsZW5hYmxlUGFzdGVSdWxlczohMCxlbmFibGVDb3JlRXh0ZW5zaW9uczohMCxlbmFibGVDb250ZW50Q2hlY2s6ITEsZW1pdENvbnRlbnRFcnJvcjohMSxvbkJlZm9yZUNyZWF0ZTpzKCgpPT5udWxsLCJvbkJlZm9yZUNyZWF0ZSIpLG9uQ3JlYXRlOnMoKCk9Pm51bGwsIm9uQ3JlYXRlIiksb25VcGRhdGU6cygoKT0+bnVsbCwib25VcGRhdGUiKSxvblNlbGVjdGlvblVwZGF0ZTpzKCgpPT5udWxsLCJvblNlbGVjdGlvblVwZGF0ZSIpLG9uVHJhbnNhY3Rpb246cygoKT0+bnVsbCwib25UcmFuc2FjdGlvbiIpLG9uRm9jdXM6cygoKT0+bnVsbCwib25Gb2N1cyIpLG9uQmx1cjpzKCgpPT5udWxsLCJvbkJsdXIiKSxvbkRlc3Ryb3k6cygoKT0+bnVsbCwib25EZXN0cm95Iiksb25Db250ZW50RXJyb3I6cygoe2Vycm9yOnR9KT0+e3Rocm93IHR9LCJvbkNvbnRlbnRFcnJvciIpLG9uUGFzdGU6cygoKT0+bnVsbCwib25QYXN0ZSIpLG9uRHJvcDpzKCgpPT5udWxsLCJvbkRyb3AiKX0sdGhpcy5pc0NhcHR1cmluZ1RyYW5zYWN0aW9uPSExLHRoaXMuY2FwdHVyZWRUcmFuc2FjdGlvbj1udWxsLHRoaXMuc2V0T3B0aW9ucyhlKSx0aGlzLmNyZWF0ZUV4dGVuc2lvbk1hbmFnZXIoKSx0aGlzLmNyZWF0ZUNvbW1hbmRNYW5hZ2VyKCksdGhpcy5jcmVhdGVTY2hlbWEoKSx0aGlzLm9uKCJiZWZvcmVDcmVhdGUiLHRoaXMub3B0aW9ucy5vbkJlZm9yZUNyZWF0ZSksdGhpcy5lbWl0KCJiZWZvcmVDcmVhdGUiLHtlZGl0b3I6dGhpc30pLHRoaXMub24oImNvbnRlbnRFcnJvciIsdGhpcy5vcHRpb25zLm9uQ29udGVudEVycm9yKSx0aGlzLmNyZWF0ZVZpZXcoKSx0aGlzLmluamVjdENTUygpLHRoaXMub24oImNyZWF0ZSIsdGhpcy5vcHRpb25zLm9uQ3JlYXRlKSx0aGlzLm9uKCJ1cGRhdGUiLHRoaXMub3B0aW9ucy5vblVwZGF0ZSksdGhpcy5vbigic2VsZWN0aW9uVXBkYXRlIix0aGlzLm9wdGlvbnMub25TZWxlY3Rpb25VcGRhdGUpLHRoaXMub24oInRyYW5zYWN0aW9uIix0aGlzLm9wdGlvbnMub25UcmFuc2FjdGlvbiksdGhpcy5vbigiZm9jdXMiLHRoaXMub3B0aW9ucy5vbkZvY3VzKSx0aGlzLm9uKCJibHVyIix0aGlzLm9wdGlvbnMub25CbHVyKSx0aGlzLm9uKCJkZXN0cm95Iix0aGlzLm9wdGlvbnMub25EZXN0cm95KSx0aGlzLm9uKCJkcm9wIiwoe2V2ZW50OnQsc2xpY2U6cixtb3ZlZDppfSk9PnRoaXMub3B0aW9ucy5vbkRyb3AodCxyLGkpKSx0aGlzLm9uKCJwYXN0ZSIsKHtldmVudDp0LHNsaWNlOnJ9KT0+dGhpcy5vcHRpb25zLm9uUGFzdGUodCxyKSksd2luZG93LnNldFRpbWVvdXQoKCk9Pnt0aGlzLmlzRGVzdHJveWVkfHwodGhpcy5jb21tYW5kcy5mb2N1cyh0aGlzLm9wdGlvbnMuYXV0b2ZvY3VzKSx0aGlzLmVtaXQoImNyZWF0ZSIse2VkaXRvcjp0aGlzfSksdGhpcy5pc0luaXRpYWxpemVkPSEwKX0sMCl9Z2V0IHN0b3JhZ2UoKXtyZXR1cm4gdGhpcy5leHRlbnNpb25TdG9yYWdlfWdldCBjb21tYW5kcygpe3JldHVybiB0aGlzLmNvbW1hbmRNYW5hZ2VyLmNvbW1hbmRzfWNoYWluKCl7cmV0dXJuIHRoaXMuY29tbWFuZE1hbmFnZXIuY2hhaW4oKX1jYW4oKXtyZXR1cm4gdGhpcy5jb21tYW5kTWFuYWdlci5jYW4oKX1pbmplY3RDU1MoKXt0aGlzLm9wdGlvbnMuaW5qZWN0Q1NTJiZkb2N1bWVudCYmKHRoaXMuY3NzPVlaZShySWEsdGhpcy5vcHRpb25zLmluamVjdE5vbmNlKSl9c2V0T3B0aW9ucyhlPXt9KXt0aGlzLm9wdGlvbnM9ey4uLnRoaXMub3B0aW9ucywuLi5lfSwhKCF0aGlzLnZpZXd8fCF0aGlzLnN0YXRlfHx0aGlzLmlzRGVzdHJveWVkKSYmKHRoaXMub3B0aW9ucy5lZGl0b3JQcm9wcyYmdGhpcy52aWV3LnNldFByb3BzKHRoaXMub3B0aW9ucy5lZGl0b3JQcm9wcyksdGhpcy52aWV3LnVwZGF0ZVN0YXRlKHRoaXMuc3RhdGUpKX1zZXRFZGl0YWJsZShlLHQ9ITApe3RoaXMuc2V0T3B0aW9ucyh7ZWRpdGFibGU6ZX0pLHQmJnRoaXMuZW1pdCgidXBkYXRlIix7ZWRpdG9yOnRoaXMsdHJhbnNhY3Rpb246dGhpcy5zdGF0ZS50cn0pfWdldCBpc0VkaXRhYmxlKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5lZGl0YWJsZSYmdGhpcy52aWV3JiZ0aGlzLnZpZXcuZWRpdGFibGV9Z2V0IHN0YXRlKCl7cmV0dXJuIHRoaXMudmlldy5zdGF0ZX1yZWdpc3RlclBsdWdpbihlLHQpe2xldCByPWJyZSh0KT90KGUsWy4uLnRoaXMuc3RhdGUucGx1Z2luc10pOlsuLi50aGlzLnN0YXRlLnBsdWdpbnMsZV0saT10aGlzLnN0YXRlLnJlY29uZmlndXJlKHtwbHVnaW5zOnJ9KTtyZXR1cm4gdGhpcy52aWV3LnVwZGF0ZVN0YXRlKGkpLGl9dW5yZWdpc3RlclBsdWdpbihlKXtpZih0aGlzLmlzRGVzdHJveWVkKXJldHVybjtsZXQgdD10aGlzLnN0YXRlLnBsdWdpbnMscj10O2lmKFtdLmNvbmNhdChlKS5mb3JFYWNoKG89PntsZXQgbj10eXBlb2Ygbz09InN0cmluZyI/YCR7b30kYDpvLmtleTtyPXIuZmlsdGVyKGw9PiFsLmtleS5zdGFydHNXaXRoKG4pKX0pLHQubGVuZ3RoPT09ci5sZW5ndGgpcmV0dXJuO2xldCBpPXRoaXMuc3RhdGUucmVjb25maWd1cmUoe3BsdWdpbnM6cn0pO3JldHVybiB0aGlzLnZpZXcudXBkYXRlU3RhdGUoaSksaX1jcmVhdGVFeHRlbnNpb25NYW5hZ2VyKCl7dmFyIGUsdDtsZXQgaT1bLi4udGhpcy5vcHRpb25zLmVuYWJsZUNvcmVFeHRlbnNpb25zP1tsMWEsZTFhLmNvbmZpZ3VyZSh7YmxvY2tTZXBhcmF0b3I6KHQ9KGU9dGhpcy5vcHRpb25zLmNvcmVFeHRlbnNpb25PcHRpb25zKT09PW51bGx8fGU9PT12b2lkIDA/dm9pZCAwOmUuY2xpcGJvYXJkVGV4dFNlcmlhbGl6ZXIpPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5ibG9ja1NlcGFyYXRvcn0pLG8xYSxkMWEsdTFhLGYxYSxuMWEscDFhXS5maWx0ZXIobz0+dHlwZW9mIHRoaXMub3B0aW9ucy5lbmFibGVDb3JlRXh0ZW5zaW9ucz09Im9iamVjdCI/dGhpcy5vcHRpb25zLmVuYWJsZUNvcmVFeHRlbnNpb25zW28ubmFtZV0hPT0hMTohMCk6W10sLi4udGhpcy5vcHRpb25zLmV4dGVuc2lvbnNdLmZpbHRlcihvPT5bImV4dGVuc2lvbiIsIm5vZGUiLCJtYXJrIl0uaW5jbHVkZXMobz8udHlwZSkpO3RoaXMuZXh0ZW5zaW9uTWFuYWdlcj1uZXcgbXJlKGksdGhpcyl9Y3JlYXRlQ29tbWFuZE1hbmFnZXIoKXt0aGlzLmNvbW1hbmRNYW5hZ2VyPW5ldyB6NCh7ZWRpdG9yOnRoaXN9KX1jcmVhdGVTY2hlbWEoKXt0aGlzLnNjaGVtYT10aGlzLmV4dGVuc2lvbk1hbmFnZXIuc2NoZW1hfWNyZWF0ZVZpZXcoKXt2YXIgZTtsZXQgdDt0cnl7dD12Vyh0aGlzLm9wdGlvbnMuY29udGVudCx0aGlzLnNjaGVtYSx0aGlzLm9wdGlvbnMucGFyc2VPcHRpb25zLHtlcnJvck9uSW52YWxpZENvbnRlbnQ6dGhpcy5vcHRpb25zLmVuYWJsZUNvbnRlbnRDaGVja30pfWNhdGNoKG4pe2lmKCEobiBpbnN0YW5jZW9mIEVycm9yKXx8IVsiW3RpcHRhcCBlcnJvcl06IEludmFsaWQgSlNPTiBjb250ZW50IiwiW3RpcHRhcCBlcnJvcl06IEludmFsaWQgSFRNTCBjb250ZW50Il0uaW5jbHVkZXMobi5tZXNzYWdlKSl0aHJvdyBuO3RoaXMuZW1pdCgiY29udGVudEVycm9yIix7ZWRpdG9yOnRoaXMsZXJyb3I6bixkaXNhYmxlQ29sbGFib3JhdGlvbjpzKCgpPT57dGhpcy5zdG9yYWdlLmNvbGxhYm9yYXRpb24mJih0aGlzLnN0b3JhZ2UuY29sbGFib3JhdGlvbi5pc0Rpc2FibGVkPSEwKSx0aGlzLm9wdGlvbnMuZXh0ZW5zaW9ucz10aGlzLm9wdGlvbnMuZXh0ZW5zaW9ucy5maWx0ZXIobD0+bC5uYW1lIT09ImNvbGxhYm9yYXRpb24iKSx0aGlzLmNyZWF0ZUV4dGVuc2lvbk1hbmFnZXIoKX0sImRpc2FibGVDb2xsYWJvcmF0aW9uIil9KSx0PXZXKHRoaXMub3B0aW9ucy5jb250ZW50LHRoaXMuc2NoZW1hLHRoaXMub3B0aW9ucy5wYXJzZU9wdGlvbnMse2Vycm9yT25JbnZhbGlkQ29udGVudDohMX0pfWxldCByPWtyZSh0LHRoaXMub3B0aW9ucy5hdXRvZm9jdXMpO3RoaXMudmlldz1uZXcgRW0odGhpcy5vcHRpb25zLmVsZW1lbnQsey4uLnRoaXMub3B0aW9ucy5lZGl0b3JQcm9wcyxhdHRyaWJ1dGVzOntyb2xlOiJ0ZXh0Ym94IiwuLi4oZT10aGlzLm9wdGlvbnMuZWRpdG9yUHJvcHMpPT09bnVsbHx8ZT09PXZvaWQgMD92b2lkIDA6ZS5hdHRyaWJ1dGVzfSxkaXNwYXRjaFRyYW5zYWN0aW9uOnRoaXMuZGlzcGF0Y2hUcmFuc2FjdGlvbi5iaW5kKHRoaXMpLHN0YXRlOnRXLmNyZWF0ZSh7ZG9jOnQsc2VsZWN0aW9uOnJ8fHZvaWQgMH0pfSk7bGV0IGk9dGhpcy5zdGF0ZS5yZWNvbmZpZ3VyZSh7cGx1Z2luczp0aGlzLmV4dGVuc2lvbk1hbmFnZXIucGx1Z2luc30pO3RoaXMudmlldy51cGRhdGVTdGF0ZShpKSx0aGlzLmNyZWF0ZU5vZGVWaWV3cygpLHRoaXMucHJlcGVuZENsYXNzKCk7bGV0IG89dGhpcy52aWV3LmRvbTtvLmVkaXRvcj10aGlzfWNyZWF0ZU5vZGVWaWV3cygpe3RoaXMudmlldy5pc0Rlc3Ryb3llZHx8dGhpcy52aWV3LnNldFByb3BzKHtub2RlVmlld3M6dGhpcy5leHRlbnNpb25NYW5hZ2VyLm5vZGVWaWV3c30pfXByZXBlbmRDbGFzcygpe3RoaXMudmlldy5kb20uY2xhc3NOYW1lPWB0aXB0YXAgJHt0aGlzLnZpZXcuZG9tLmNsYXNzTmFtZX1gfWNhcHR1cmVUcmFuc2FjdGlvbihlKXt0aGlzLmlzQ2FwdHVyaW5nVHJhbnNhY3Rpb249ITAsZSgpLHRoaXMuaXNDYXB0dXJpbmdUcmFuc2FjdGlvbj0hMTtsZXQgdD10aGlzLmNhcHR1cmVkVHJhbnNhY3Rpb247cmV0dXJuIHRoaXMuY2FwdHVyZWRUcmFuc2FjdGlvbj1udWxsLHR9ZGlzcGF0Y2hUcmFuc2FjdGlvbihlKXtpZih0aGlzLnZpZXcuaXNEZXN0cm95ZWQpcmV0dXJuO2lmKHRoaXMuaXNDYXB0dXJpbmdUcmFuc2FjdGlvbil7aWYoIXRoaXMuY2FwdHVyZWRUcmFuc2FjdGlvbil7dGhpcy5jYXB0dXJlZFRyYW5zYWN0aW9uPWU7cmV0dXJufWUuc3RlcHMuZm9yRWFjaChuPT57dmFyIGw7cmV0dXJuKGw9dGhpcy5jYXB0dXJlZFRyYW5zYWN0aW9uKT09PW51bGx8fGw9PT12b2lkIDA/dm9pZCAwOmwuc3RlcChuKX0pO3JldHVybn1sZXQgdD10aGlzLnN0YXRlLmFwcGx5KGUpLHI9IXRoaXMuc3RhdGUuc2VsZWN0aW9uLmVxKHQuc2VsZWN0aW9uKTt0aGlzLmVtaXQoImJlZm9yZVRyYW5zYWN0aW9uIix7ZWRpdG9yOnRoaXMsdHJhbnNhY3Rpb246ZSxuZXh0U3RhdGU6dH0pLHRoaXMudmlldy51cGRhdGVTdGF0ZSh0KSx0aGlzLmVtaXQoInRyYW5zYWN0aW9uIix7ZWRpdG9yOnRoaXMsdHJhbnNhY3Rpb246ZX0pLHImJnRoaXMuZW1pdCgic2VsZWN0aW9uVXBkYXRlIix7ZWRpdG9yOnRoaXMsdHJhbnNhY3Rpb246ZX0pO2xldCBpPWUuZ2V0TWV0YSgiZm9jdXMiKSxvPWUuZ2V0TWV0YSgiYmx1ciIpO2kmJnRoaXMuZW1pdCgiZm9jdXMiLHtlZGl0b3I6dGhpcyxldmVudDppLmV2ZW50LHRyYW5zYWN0aW9uOmV9KSxvJiZ0aGlzLmVtaXQoImJsdXIiLHtlZGl0b3I6dGhpcyxldmVudDpvLmV2ZW50LHRyYW5zYWN0aW9uOmV9KSwhKCFlLmRvY0NoYW5nZWR8fGUuZ2V0TWV0YSgicHJldmVudFVwZGF0ZSIpKSYmdGhpcy5lbWl0KCJ1cGRhdGUiLHtlZGl0b3I6dGhpcyx0cmFuc2FjdGlvbjplfSl9Z2V0QXR0cmlidXRlcyhlKXtyZXR1cm4ga1codGhpcy5zdGF0ZSxlKX1pc0FjdGl2ZShlLHQpe2xldCByPXR5cGVvZiBlPT0ic3RyaW5nIj9lOm51bGwsaT10eXBlb2YgZT09InN0cmluZyI/dDplO3JldHVybiBHWmUodGhpcy5zdGF0ZSxyLGkpfWdldEpTT04oKXtyZXR1cm4gdGhpcy5zdGF0ZS5kb2MudG9KU09OKCl9Z2V0SFRNTCgpe3JldHVybiBSbSh0aGlzLnN0YXRlLmRvYy5jb250ZW50LHRoaXMuc2NoZW1hKX1nZXRUZXh0KGUpe2xldHtibG9ja1NlcGFyYXRvcjp0PWAKCmAsdGV4dFNlcmlhbGl6ZXJzOnI9e319PWV8fHt9O3JldHVybiBfcmUodGhpcy5zdGF0ZS5kb2Mse2Jsb2NrU2VwYXJhdG9yOnQsdGV4dFNlcmlhbGl6ZXJzOnsuLi5nVyh0aGlzLnNjaGVtYSksLi4ucn19KX1nZXQgaXNFbXB0eSgpe3JldHVybiB3Vyh0aGlzLnN0YXRlLmRvYyl9Z2V0Q2hhcmFjdGVyQ291bnQoKXtyZXR1cm4gY29uc29sZS53YXJuKCdbdGlwdGFwIHdhcm5dOiAiZWRpdG9yLmdldENoYXJhY3RlckNvdW50KCkiIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgImVkaXRvci5zdG9yYWdlLmNoYXJhY3RlckNvdW50LmNoYXJhY3RlcnMoKSIgaW5zdGVhZC4nKSx0aGlzLnN0YXRlLmRvYy5jb250ZW50LnNpemUtMn1kZXN0cm95KCl7aWYodGhpcy5lbWl0KCJkZXN0cm95IiksdGhpcy52aWV3KXtsZXQgZT10aGlzLnZpZXcuZG9tO2UmJmUuZWRpdG9yJiZkZWxldGUgZS5lZGl0b3IsdGhpcy52aWV3LmRlc3Ryb3koKX10aGlzLnJlbW92ZUFsbExpc3RlbmVycygpfWdldCBpc0Rlc3Ryb3llZCgpe3ZhciBlO3JldHVybiEoISgoZT10aGlzLnZpZXcpPT09bnVsbHx8ZT09PXZvaWQgMCkmJmUuZG9jVmlldyl9JG5vZGUoZSx0KXt2YXIgcjtyZXR1cm4oKHI9dGhpcy4kZG9jKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIucXVlcnlTZWxlY3RvcihlLHQpKXx8bnVsbH0kbm9kZXMoZSx0KXt2YXIgcjtyZXR1cm4oKHI9dGhpcy4kZG9jKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIucXVlcnlTZWxlY3RvckFsbChlLHQpKXx8bnVsbH0kcG9zKGUpe2xldCB0PXRoaXMuc3RhdGUuZG9jLnJlc29sdmUoZSk7cmV0dXJuIG5ldyBNVyh0LHRoaXMpfWdldCAkZG9jKCl7cmV0dXJuIHRoaXMuJHBvcygwKX19O3MoUm4sIm1hcmtJbnB1dFJ1bGUiKTtzKE5yZSwibm9kZUlucHV0UnVsZSIpO3MoZDUsInRleHRibG9ja1R5cGVJbnB1dFJ1bGUiKTtzKGdyLCJ0ZXh0SW5wdXRSdWxlIik7cyh0bCwid3JhcHBpbmdJbnB1dFJ1bGUiKTtucj1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIk5vZGUiKX1jb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9Im5vZGUiLHRoaXMubmFtZT0ibm9kZSIsdGhpcy5wYXJlbnQ9bnVsbCx0aGlzLmNoaWxkPW51bGwsdGhpcy5jb25maWc9e25hbWU6dGhpcy5uYW1lLGRlZmF1bHRPcHRpb25zOnt9fSx0aGlzLmNvbmZpZz17Li4udGhpcy5jb25maWcsLi4uZX0sdGhpcy5uYW1lPXRoaXMuY29uZmlnLm5hbWUsZS5kZWZhdWx0T3B0aW9ucyYmT2JqZWN0LmtleXMoZS5kZWZhdWx0T3B0aW9ucykubGVuZ3RoPjAmJmNvbnNvbGUud2FybihgW3RpcHRhcCB3YXJuXTogQlJFQUtJTkcgQ0hBTkdFOiAiZGVmYXVsdE9wdGlvbnMiIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgImFkZE9wdGlvbnMiIGluc3RlYWQuIEZvdW5kIGluIGV4dGVuc2lvbjogIiR7dGhpcy5uYW1lfSIuYCksdGhpcy5vcHRpb25zPXRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zLHRoaXMuY29uZmlnLmFkZE9wdGlvbnMmJih0aGlzLm9wdGlvbnM9anQocHQodGhpcywiYWRkT3B0aW9ucyIse25hbWU6dGhpcy5uYW1lfSkpKSx0aGlzLnN0b3JhZ2U9anQocHQodGhpcywiYWRkU3RvcmFnZSIse25hbWU6dGhpcy5uYW1lLG9wdGlvbnM6dGhpcy5vcHRpb25zfSkpfHx7fX1zdGF0aWMgY3JlYXRlKGU9e30pe3JldHVybiBuZXcgYShlKX1jb25maWd1cmUoZT17fSl7bGV0IHQ9dGhpcy5leHRlbmQoey4uLnRoaXMuY29uZmlnLGFkZE9wdGlvbnM6cygoKT0+Rm0odGhpcy5vcHRpb25zLGUpLCJhZGRPcHRpb25zIil9KTtyZXR1cm4gdC5uYW1lPXRoaXMubmFtZSx0LnBhcmVudD10aGlzLnBhcmVudCx0fWV4dGVuZChlPXt9KXtsZXQgdD1uZXcgYShlKTtyZXR1cm4gdC5wYXJlbnQ9dGhpcyx0aGlzLmNoaWxkPXQsdC5uYW1lPWUubmFtZT9lLm5hbWU6dC5wYXJlbnQubmFtZSxlLmRlZmF1bHRPcHRpb25zJiZPYmplY3Qua2V5cyhlLmRlZmF1bHRPcHRpb25zKS5sZW5ndGg+MCYmY29uc29sZS53YXJuKGBbdGlwdGFwIHdhcm5dOiBCUkVBS0lORyBDSEFOR0U6ICJkZWZhdWx0T3B0aW9ucyIgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSAiYWRkT3B0aW9ucyIgaW5zdGVhZC4gRm91bmQgaW4gZXh0ZW5zaW9uOiAiJHt0Lm5hbWV9Ii5gKSx0Lm9wdGlvbnM9anQocHQodCwiYWRkT3B0aW9ucyIse25hbWU6dC5uYW1lfSkpLHQuc3RvcmFnZT1qdChwdCh0LCJhZGRTdG9yYWdlIix7bmFtZTp0Lm5hbWUsb3B0aW9uczp0Lm9wdGlvbnN9KSksdH19LCRyZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJOb2RlVmlldyIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLmlzRHJhZ2dpbmc9ITEsdGhpcy5jb21wb25lbnQ9ZSx0aGlzLmVkaXRvcj10LmVkaXRvcix0aGlzLm9wdGlvbnM9e3N0b3BFdmVudDpudWxsLGlnbm9yZU11dGF0aW9uOm51bGwsLi4ucn0sdGhpcy5leHRlbnNpb249dC5leHRlbnNpb24sdGhpcy5ub2RlPXQubm9kZSx0aGlzLmRlY29yYXRpb25zPXQuZGVjb3JhdGlvbnMsdGhpcy5pbm5lckRlY29yYXRpb25zPXQuaW5uZXJEZWNvcmF0aW9ucyx0aGlzLnZpZXc9dC52aWV3LHRoaXMuSFRNTEF0dHJpYnV0ZXM9dC5IVE1MQXR0cmlidXRlcyx0aGlzLmdldFBvcz10LmdldFBvcyx0aGlzLm1vdW50KCl9bW91bnQoKXt9Z2V0IGRvbSgpe3JldHVybiB0aGlzLmVkaXRvci52aWV3LmRvbX1nZXQgY29udGVudERPTSgpe3JldHVybiBudWxsfW9uRHJhZ1N0YXJ0KGUpe3ZhciB0LHIsaSxvLG4sbCxkO2xldHt2aWV3OmN9PXRoaXMuZWRpdG9yLHA9ZS50YXJnZXQsdT1wLm5vZGVUeXBlPT09Mz8odD1wLnBhcmVudEVsZW1lbnQpPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5jbG9zZXN0KCJbZGF0YS1kcmFnLWhhbmRsZV0iKTpwLmNsb3Nlc3QoIltkYXRhLWRyYWctaGFuZGxlXSIpO2lmKCF0aGlzLmRvbXx8ISgocj10aGlzLmNvbnRlbnRET00pPT09bnVsbHx8cj09PXZvaWQgMCkmJnIuY29udGFpbnMocCl8fCF1KXJldHVybjtsZXQgbT0wLHY9MDtpZih0aGlzLmRvbSE9PXUpe2xldCBrPXRoaXMuZG9tLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEM9dS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxOPShpPWUub2Zmc2V0WCkhPT1udWxsJiZpIT09dm9pZCAwP2k6KG89ZS5uYXRpdmVFdmVudCk9PT1udWxsfHxvPT09dm9pZCAwP3ZvaWQgMDpvLm9mZnNldFgsXz0obj1lLm9mZnNldFkpIT09bnVsbCYmbiE9PXZvaWQgMD9uOihsPWUubmF0aXZlRXZlbnQpPT09bnVsbHx8bD09PXZvaWQgMD92b2lkIDA6bC5vZmZzZXRZO209Qy54LWsueCtOLHY9Qy55LWsueStffWxldCB4PXRoaXMuZG9tLmNsb25lTm9kZSghMCk7KGQ9ZS5kYXRhVHJhbnNmZXIpPT09bnVsbHx8ZD09PXZvaWQgMHx8ZC5zZXREcmFnSW1hZ2UoeCxtLHYpO2xldCBiPXRoaXMuZ2V0UG9zKCk7aWYodHlwZW9mIGIhPSJudW1iZXIiKXJldHVybjtsZXQgZz1NdC5jcmVhdGUoYy5zdGF0ZS5kb2MsYikseT1jLnN0YXRlLnRyLnNldFNlbGVjdGlvbihnKTtjLmRpc3BhdGNoKHkpfXN0b3BFdmVudChlKXt2YXIgdDtpZighdGhpcy5kb20pcmV0dXJuITE7aWYodHlwZW9mIHRoaXMub3B0aW9ucy5zdG9wRXZlbnQ9PSJmdW5jdGlvbiIpcmV0dXJuIHRoaXMub3B0aW9ucy5zdG9wRXZlbnQoe2V2ZW50OmV9KTtsZXQgcj1lLnRhcmdldDtpZighKHRoaXMuZG9tLmNvbnRhaW5zKHIpJiYhKCEoKHQ9dGhpcy5jb250ZW50RE9NKT09PW51bGx8fHQ9PT12b2lkIDApJiZ0LmNvbnRhaW5zKHIpKSkpcmV0dXJuITE7bGV0IG89ZS50eXBlLnN0YXJ0c1dpdGgoImRyYWciKSxuPWUudHlwZT09PSJkcm9wIjtpZigoWyJJTlBVVCIsIkJVVFRPTiIsIlNFTEVDVCIsIlRFWFRBUkVBIl0uaW5jbHVkZXMoci50YWdOYW1lKXx8ci5pc0NvbnRlbnRFZGl0YWJsZSkmJiFuJiYhbylyZXR1cm4hMDtsZXR7aXNFZGl0YWJsZTpkfT10aGlzLmVkaXRvcix7aXNEcmFnZ2luZzpjfT10aGlzLHA9ISF0aGlzLm5vZGUudHlwZS5zcGVjLmRyYWdnYWJsZSx1PU10LmlzU2VsZWN0YWJsZSh0aGlzLm5vZGUpLG09ZS50eXBlPT09ImNvcHkiLHY9ZS50eXBlPT09InBhc3RlIix4PWUudHlwZT09PSJjdXQiLGI9ZS50eXBlPT09Im1vdXNlZG93biI7aWYoIXAmJnUmJm8mJmUudGFyZ2V0PT09dGhpcy5kb20mJmUucHJldmVudERlZmF1bHQoKSxwJiZvJiYhYyYmZS50YXJnZXQ9PT10aGlzLmRvbSlyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpLCExO2lmKHAmJmQmJiFjJiZiKXtsZXQgZz1yLmNsb3Nlc3QoIltkYXRhLWRyYWctaGFuZGxlXSIpO2cmJih0aGlzLmRvbT09PWd8fHRoaXMuZG9tLmNvbnRhaW5zKGcpKSYmKHRoaXMuaXNEcmFnZ2luZz0hMCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJkcmFnZW5kIiwoKT0+e3RoaXMuaXNEcmFnZ2luZz0hMX0se29uY2U6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJkcm9wIiwoKT0+e3RoaXMuaXNEcmFnZ2luZz0hMX0se29uY2U6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIiwoKT0+e3RoaXMuaXNEcmFnZ2luZz0hMX0se29uY2U6ITB9KSl9cmV0dXJuIShjfHxufHxtfHx2fHx4fHxiJiZ1KX1pZ25vcmVNdXRhdGlvbihlKXtyZXR1cm4hdGhpcy5kb218fCF0aGlzLmNvbnRlbnRET00/ITA6dHlwZW9mIHRoaXMub3B0aW9ucy5pZ25vcmVNdXRhdGlvbj09ImZ1bmN0aW9uIj90aGlzLm9wdGlvbnMuaWdub3JlTXV0YXRpb24oe211dGF0aW9uOmV9KTp0aGlzLm5vZGUuaXNMZWFmfHx0aGlzLm5vZGUuaXNBdG9tPyEwOmUudHlwZT09PSJzZWxlY3Rpb24ifHx0aGlzLmRvbS5jb250YWlucyhlLnRhcmdldCkmJmUudHlwZT09PSJjaGlsZExpc3QiJiYobzUoKXx8JFplKCkpJiZ0aGlzLmVkaXRvci5pc0ZvY3VzZWQmJlsuLi5BcnJheS5mcm9tKGUuYWRkZWROb2RlcyksLi4uQXJyYXkuZnJvbShlLnJlbW92ZWROb2RlcyldLmV2ZXJ5KHI9PnIuaXNDb250ZW50RWRpdGFibGUpPyExOnRoaXMuY29udGVudERPTT09PWUudGFyZ2V0JiZlLnR5cGU9PT0iYXR0cmlidXRlcyI/ITA6IXRoaXMuY29udGVudERPTS5jb250YWlucyhlLnRhcmdldCl9dXBkYXRlQXR0cmlidXRlcyhlKXt0aGlzLmVkaXRvci5jb21tYW5kcy5jb21tYW5kKCh7dHI6dH0pPT57bGV0IHI9dGhpcy5nZXRQb3MoKTtyZXR1cm4gdHlwZW9mIHIhPSJudW1iZXIiPyExOih0LnNldE5vZGVNYXJrdXAocix2b2lkIDAsey4uLnRoaXMubm9kZS5hdHRycywuLi5lfSksITApfSl9ZGVsZXRlTm9kZSgpe2xldCBlPXRoaXMuZ2V0UG9zKCk7aWYodHlwZW9mIGUhPSJudW1iZXIiKXJldHVybjtsZXQgdD1lK3RoaXMubm9kZS5ub2RlU2l6ZTt0aGlzLmVkaXRvci5jb21tYW5kcy5kZWxldGVSYW5nZSh7ZnJvbTplLHRvOnR9KX19O3MoUG8sIm1hcmtQYXN0ZVJ1bGUiKTtzKFJyZSwiY2FuSW5zZXJ0Tm9kZSIpO3MoUzFhLCJlc2NhcGVGb3JSZWdFeCIpO3MoejFhLCJpc1N0cmluZyIpO3MoQzFhLCJub2RlUGFzdGVSdWxlIik7cyhfMWEsInRleHRQYXN0ZVJ1bGUiKTtEcmU9Y2xhc3N7c3RhdGlje3ModGhpcywiVHJhY2tlciIpfWNvbnN0cnVjdG9yKGUpe3RoaXMudHJhbnNhY3Rpb249ZSx0aGlzLmN1cnJlbnRTdGVwPXRoaXMudHJhbnNhY3Rpb24uc3RlcHMubGVuZ3RofW1hcChlKXtsZXQgdD0hMTtyZXR1cm57cG9zaXRpb246dGhpcy50cmFuc2FjdGlvbi5zdGVwcy5zbGljZSh0aGlzLmN1cnJlbnRTdGVwKS5yZWR1Y2UoKGksbyk9PntsZXQgbj1vLmdldE1hcCgpLm1hcFJlc3VsdChpKTtyZXR1cm4gbi5kZWxldGVkJiYodD0hMCksbi5wb3N9LGUpLGRlbGV0ZWQ6dH19fX0pO3ZhciBMMWEsT3JlLCQxYT1mKCgpPT57YnIoKTtMMWE9L15ccyo+XHMkLyxPcmU9bnIuY3JlYXRlKHtuYW1lOiJibG9ja3F1b3RlIixhZGRPcHRpb25zKCl7cmV0dXJue0hUTUxBdHRyaWJ1dGVzOnt9fX0sY29udGVudDoiYmxvY2srIixncm91cDoiYmxvY2siLGRlZmluaW5nOiEwLHBhcnNlSFRNTCgpe3JldHVyblt7dGFnOiJibG9ja3F1b3RlIn1dfSxyZW5kZXJIVE1MKHtIVE1MQXR0cmlidXRlczphfSl7cmV0dXJuWyJibG9ja3F1b3RlIixTYSh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsYSksMF19LGFkZENvbW1hbmRzKCl7cmV0dXJue3NldEJsb2NrcXVvdGU6cygoKT0+KHtjb21tYW5kczphfSk9PmEud3JhcEluKHRoaXMubmFtZSksInNldEJsb2NrcXVvdGUiKSx0b2dnbGVCbG9ja3F1b3RlOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnRvZ2dsZVdyYXAodGhpcy5uYW1lKSwidG9nZ2xlQmxvY2txdW90ZSIpLHVuc2V0QmxvY2txdW90ZTpzKCgpPT4oe2NvbW1hbmRzOmF9KT0+YS5saWZ0KHRoaXMubmFtZSksInVuc2V0QmxvY2txdW90ZSIpfX0sYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKXtyZXR1cm57Ik1vZC1TaGlmdC1iIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy50b2dnbGVCbG9ja3F1b3RlKCksIk1vZC1TaGlmdC1iIil9fSxhZGRJbnB1dFJ1bGVzKCl7cmV0dXJuW3RsKHtmaW5kOkwxYSx0eXBlOnRoaXMudHlwZX0pXX19KX0pO3ZhciBEMWEsQTFhLEUxYSxQMWEsRnJlLEkxYT1mKCgpPT57YnIoKTtEMWE9Lyg/Ol58XHMpKFwqXCooPyFccytcKlwqKSgoPzpbXipdKykpXCpcKig/IVxzK1wqXCopKSQvLEExYT0vKD86XnxccykoXCpcKig/IVxzK1wqXCopKCg/OlteKl0rKSlcKlwqKD8hXHMrXCpcKikpL2csRTFhPS8oPzpefFxzKShfXyg/IVxzK19fKSgoPzpbXl9dKykpX18oPyFccytfXykpJC8sUDFhPS8oPzpefFxzKShfXyg/IVxzK19fKSgoPzpbXl9dKykpX18oPyFccytfXykpL2csRnJlPWlpLmNyZWF0ZSh7bmFtZToiYm9sZCIsYWRkT3B0aW9ucygpe3JldHVybntIVE1MQXR0cmlidXRlczp7fX19LHBhcnNlSFRNTCgpe3JldHVyblt7dGFnOiJzdHJvbmcifSx7dGFnOiJiIixnZXRBdHRyczpzKGE9PmEuc3R5bGUuZm9udFdlaWdodCE9PSJub3JtYWwiJiZudWxsLCJnZXRBdHRycyIpfSx7c3R5bGU6ImZvbnQtd2VpZ2h0PTQwMCIsY2xlYXJNYXJrOnMoYT0+YS50eXBlLm5hbWU9PT10aGlzLm5hbWUsImNsZWFyTWFyayIpfSx7c3R5bGU6ImZvbnQtd2VpZ2h0IixnZXRBdHRyczpzKGE9Pi9eKGJvbGQoZXIpP3xbNS05XVxkezIsfSkkLy50ZXN0KGEpJiZudWxsLCJnZXRBdHRycyIpfV19LHJlbmRlckhUTUwoe0hUTUxBdHRyaWJ1dGVzOmF9KXtyZXR1cm5bInN0cm9uZyIsU2EodGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLGEpLDBdfSxhZGRDb21tYW5kcygpe3JldHVybntzZXRCb2xkOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnNldE1hcmsodGhpcy5uYW1lKSwic2V0Qm9sZCIpLHRvZ2dsZUJvbGQ6cygoKT0+KHtjb21tYW5kczphfSk9PmEudG9nZ2xlTWFyayh0aGlzLm5hbWUpLCJ0b2dnbGVCb2xkIiksdW5zZXRCb2xkOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnVuc2V0TWFyayh0aGlzLm5hbWUpLCJ1bnNldEJvbGQiKX19LGFkZEtleWJvYXJkU2hvcnRjdXRzKCl7cmV0dXJueyJNb2QtYiI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMudG9nZ2xlQm9sZCgpLCJNb2QtYiIpLCJNb2QtQiI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMudG9nZ2xlQm9sZCgpLCJNb2QtQiIpfX0sYWRkSW5wdXRSdWxlcygpe3JldHVybltSbih7ZmluZDpEMWEsdHlwZTp0aGlzLnR5cGV9KSxSbih7ZmluZDpFMWEsdHlwZTp0aGlzLnR5cGV9KV19LGFkZFBhc3RlUnVsZXMoKXtyZXR1cm5bUG8oe2ZpbmQ6QTFhLHR5cGU6dGhpcy50eXBlfSksUG8oe2ZpbmQ6UDFhLHR5cGU6dGhpcy50eXBlfSldfX0pfSk7dmFyIHNJYSxOMWEsS1plLEJyZSxSMWE9ZigoKT0+e2JyKCk7c0lhPSJsaXN0SXRlbSIsTjFhPSJ0ZXh0U3R5bGUiLEtaZT0vXlxzKihbLSsqXSlccyQvLEJyZT1uci5jcmVhdGUoe25hbWU6ImJ1bGxldExpc3QiLGFkZE9wdGlvbnMoKXtyZXR1cm57aXRlbVR5cGVOYW1lOiJsaXN0SXRlbSIsSFRNTEF0dHJpYnV0ZXM6e30sa2VlcE1hcmtzOiExLGtlZXBBdHRyaWJ1dGVzOiExfX0sZ3JvdXA6ImJsb2NrIGxpc3QiLGNvbnRlbnQoKXtyZXR1cm5gJHt0aGlzLm9wdGlvbnMuaXRlbVR5cGVOYW1lfStgfSxwYXJzZUhUTUwoKXtyZXR1cm5be3RhZzoidWwifV19LHJlbmRlckhUTUwoe0hUTUxBdHRyaWJ1dGVzOmF9KXtyZXR1cm5bInVsIixTYSh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsYSksMF19LGFkZENvbW1hbmRzKCl7cmV0dXJue3RvZ2dsZUJ1bGxldExpc3Q6cygoKT0+KHtjb21tYW5kczphLGNoYWluOmV9KT0+dGhpcy5vcHRpb25zLmtlZXBBdHRyaWJ1dGVzP2UoKS50b2dnbGVMaXN0KHRoaXMubmFtZSx0aGlzLm9wdGlvbnMuaXRlbVR5cGVOYW1lLHRoaXMub3B0aW9ucy5rZWVwTWFya3MpLnVwZGF0ZUF0dHJpYnV0ZXMoc0lhLHRoaXMuZWRpdG9yLmdldEF0dHJpYnV0ZXMoTjFhKSkucnVuKCk6YS50b2dnbGVMaXN0KHRoaXMubmFtZSx0aGlzLm9wdGlvbnMuaXRlbVR5cGVOYW1lLHRoaXMub3B0aW9ucy5rZWVwTWFya3MpLCJ0b2dnbGVCdWxsZXRMaXN0Iil9fSxhZGRLZXlib2FyZFNob3J0Y3V0cygpe3JldHVybnsiTW9kLVNoaWZ0LTgiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnRvZ2dsZUJ1bGxldExpc3QoKSwiTW9kLVNoaWZ0LTgiKX19LGFkZElucHV0UnVsZXMoKXtsZXQgYT10bCh7ZmluZDpLWmUsdHlwZTp0aGlzLnR5cGV9KTtyZXR1cm4odGhpcy5vcHRpb25zLmtlZXBNYXJrc3x8dGhpcy5vcHRpb25zLmtlZXBBdHRyaWJ1dGVzKSYmKGE9dGwoe2ZpbmQ6S1plLHR5cGU6dGhpcy50eXBlLGtlZXBNYXJrczp0aGlzLm9wdGlvbnMua2VlcE1hcmtzLGtlZXBBdHRyaWJ1dGVzOnRoaXMub3B0aW9ucy5rZWVwQXR0cmlidXRlcyxnZXRBdHRyaWJ1dGVzOnMoKCk9PnRoaXMuZWRpdG9yLmdldEF0dHJpYnV0ZXMoTjFhKSwiZ2V0QXR0cmlidXRlcyIpLGVkaXRvcjp0aGlzLmVkaXRvcn0pKSxbYV19fSl9KTt2YXIgTzFhLEYxYSxIcmUsQjFhPWYoKCk9PnticigpO08xYT0vKF58W15gXSlgKFteYF0rKWAoPyFgKS8sRjFhPS8oXnxbXmBdKWAoW15gXSspYCg/IWApL2csSHJlPWlpLmNyZWF0ZSh7bmFtZToiY29kZSIsYWRkT3B0aW9ucygpe3JldHVybntIVE1MQXR0cmlidXRlczp7fX19LGV4Y2x1ZGVzOiJfIixjb2RlOiEwLGV4aXRhYmxlOiEwLHBhcnNlSFRNTCgpe3JldHVyblt7dGFnOiJjb2RlIn1dfSxyZW5kZXJIVE1MKHtIVE1MQXR0cmlidXRlczphfSl7cmV0dXJuWyJjb2RlIixTYSh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsYSksMF19LGFkZENvbW1hbmRzKCl7cmV0dXJue3NldENvZGU6cygoKT0+KHtjb21tYW5kczphfSk9PmEuc2V0TWFyayh0aGlzLm5hbWUpLCJzZXRDb2RlIiksdG9nZ2xlQ29kZTpzKCgpPT4oe2NvbW1hbmRzOmF9KT0+YS50b2dnbGVNYXJrKHRoaXMubmFtZSksInRvZ2dsZUNvZGUiKSx1bnNldENvZGU6cygoKT0+KHtjb21tYW5kczphfSk9PmEudW5zZXRNYXJrKHRoaXMubmFtZSksInVuc2V0Q29kZSIpfX0sYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKXtyZXR1cm57Ik1vZC1lIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy50b2dnbGVDb2RlKCksIk1vZC1lIil9fSxhZGRJbnB1dFJ1bGVzKCl7cmV0dXJuW1JuKHtmaW5kOk8xYSx0eXBlOnRoaXMudHlwZX0pXX0sYWRkUGFzdGVSdWxlcygpe3JldHVybltQbyh7ZmluZDpGMWEsdHlwZTp0aGlzLnR5cGV9KV19fSl9KTt2YXIgSDFhLHExYSxxcmUsVjFhPWYoKCk9PnticigpO2FXKCk7SDFhPS9eYGBgKFthLXpdKyk/W1xzXG5dJC8scTFhPS9efn5+KFthLXpdKyk/W1xzXG5dJC8scXJlPW5yLmNyZWF0ZSh7bmFtZToiY29kZUJsb2NrIixhZGRPcHRpb25zKCl7cmV0dXJue2xhbmd1YWdlQ2xhc3NQcmVmaXg6Imxhbmd1YWdlLSIsZXhpdE9uVHJpcGxlRW50ZXI6ITAsZXhpdE9uQXJyb3dEb3duOiEwLGRlZmF1bHRMYW5ndWFnZTpudWxsLEhUTUxBdHRyaWJ1dGVzOnt9fX0sY29udGVudDoidGV4dCoiLG1hcmtzOiIiLGdyb3VwOiJibG9jayIsY29kZTohMCxkZWZpbmluZzohMCxhZGRBdHRyaWJ1dGVzKCl7cmV0dXJue2xhbmd1YWdlOntkZWZhdWx0OnRoaXMub3B0aW9ucy5kZWZhdWx0TGFuZ3VhZ2UscGFyc2VIVE1MOnMoYT0+e3ZhciBlO2xldHtsYW5ndWFnZUNsYXNzUHJlZml4OnR9PXRoaXMub3B0aW9ucyxvPVsuLi4oKGU9YS5maXJzdEVsZW1lbnRDaGlsZCk9PT1udWxsfHxlPT09dm9pZCAwP3ZvaWQgMDplLmNsYXNzTGlzdCl8fFtdXS5maWx0ZXIobj0+bi5zdGFydHNXaXRoKHQpKS5tYXAobj0+bi5yZXBsYWNlKHQsIiIpKVswXTtyZXR1cm4gb3x8bnVsbH0sInBhcnNlSFRNTCIpLHJlbmRlcmVkOiExfX19LHBhcnNlSFRNTCgpe3JldHVyblt7dGFnOiJwcmUiLHByZXNlcnZlV2hpdGVzcGFjZToiZnVsbCJ9XX0scmVuZGVySFRNTCh7bm9kZTphLEhUTUxBdHRyaWJ1dGVzOmV9KXtyZXR1cm5bInByZSIsU2EodGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLGUpLFsiY29kZSIse2NsYXNzOmEuYXR0cnMubGFuZ3VhZ2U/dGhpcy5vcHRpb25zLmxhbmd1YWdlQ2xhc3NQcmVmaXgrYS5hdHRycy5sYW5ndWFnZTpudWxsfSwwXV19LGFkZENvbW1hbmRzKCl7cmV0dXJue3NldENvZGVCbG9jazpzKGE9Pih7Y29tbWFuZHM6ZX0pPT5lLnNldE5vZGUodGhpcy5uYW1lLGEpLCJzZXRDb2RlQmxvY2siKSx0b2dnbGVDb2RlQmxvY2s6cyhhPT4oe2NvbW1hbmRzOmV9KT0+ZS50b2dnbGVOb2RlKHRoaXMubmFtZSwicGFyYWdyYXBoIixhKSwidG9nZ2xlQ29kZUJsb2NrIil9fSxhZGRLZXlib2FyZFNob3J0Y3V0cygpe3JldHVybnsiTW9kLUFsdC1jIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy50b2dnbGVDb2RlQmxvY2soKSwiTW9kLUFsdC1jIiksQmFja3NwYWNlOnMoKCk9PntsZXR7ZW1wdHk6YSwkYW5jaG9yOmV9PXRoaXMuZWRpdG9yLnN0YXRlLnNlbGVjdGlvbix0PWUucG9zPT09MTtyZXR1cm4hYXx8ZS5wYXJlbnQudHlwZS5uYW1lIT09dGhpcy5uYW1lPyExOnR8fCFlLnBhcmVudC50ZXh0Q29udGVudC5sZW5ndGg/dGhpcy5lZGl0b3IuY29tbWFuZHMuY2xlYXJOb2RlcygpOiExfSwiQmFja3NwYWNlIiksRW50ZXI6cygoe2VkaXRvcjphfSk9PntpZighdGhpcy5vcHRpb25zLmV4aXRPblRyaXBsZUVudGVyKXJldHVybiExO2xldHtzdGF0ZTplfT1hLHtzZWxlY3Rpb246dH09ZSx7JGZyb206cixlbXB0eTppfT10O2lmKCFpfHxyLnBhcmVudC50eXBlIT09dGhpcy50eXBlKXJldHVybiExO2xldCBvPXIucGFyZW50T2Zmc2V0PT09ci5wYXJlbnQubm9kZVNpemUtMixuPXIucGFyZW50LnRleHRDb250ZW50LmVuZHNXaXRoKGAKCmApO3JldHVybiFvfHwhbj8hMTphLmNoYWluKCkuY29tbWFuZCgoe3RyOmx9KT0+KGwuZGVsZXRlKHIucG9zLTIsci5wb3MpLCEwKSkuZXhpdENvZGUoKS5ydW4oKX0sIkVudGVyIiksQXJyb3dEb3duOnMoKHtlZGl0b3I6YX0pPT57aWYoIXRoaXMub3B0aW9ucy5leGl0T25BcnJvd0Rvd24pcmV0dXJuITE7bGV0e3N0YXRlOmV9PWEse3NlbGVjdGlvbjp0LGRvYzpyfT1lLHskZnJvbTppLGVtcHR5Om99PXQ7aWYoIW98fGkucGFyZW50LnR5cGUhPT10aGlzLnR5cGV8fCEoaS5wYXJlbnRPZmZzZXQ9PT1pLnBhcmVudC5ub2RlU2l6ZS0yKSlyZXR1cm4hMTtsZXQgbD1pLmFmdGVyKCk7cmV0dXJuIGw9PT12b2lkIDA/ITE6ci5ub2RlQXQobCk/YS5jb21tYW5kcy5jb21tYW5kKCh7dHI6Y30pPT4oYy5zZXRTZWxlY3Rpb24oSXQubmVhcihyLnJlc29sdmUobCkpKSwhMCkpOmEuY29tbWFuZHMuZXhpdENvZGUoKX0sIkFycm93RG93biIpfX0sYWRkSW5wdXRSdWxlcygpe3JldHVybltkNSh7ZmluZDpIMWEsdHlwZTp0aGlzLnR5cGUsZ2V0QXR0cmlidXRlczpzKGE9Pih7bGFuZ3VhZ2U6YVsxXX0pLCJnZXRBdHRyaWJ1dGVzIil9KSxkNSh7ZmluZDpxMWEsdHlwZTp0aGlzLnR5cGUsZ2V0QXR0cmlidXRlczpzKGE9Pih7bGFuZ3VhZ2U6YVsxXX0pLCJnZXRBdHRyaWJ1dGVzIil9KV19LGFkZFByb3NlTWlycm9yUGx1Z2lucygpe3JldHVybltuZXcgcnIoe2tleTpuZXcgbXMoImNvZGVCbG9ja1ZTQ29kZUhhbmRsZXIiKSxwcm9wczp7aGFuZGxlUGFzdGU6cygoYSxlKT0+e2lmKCFlLmNsaXBib2FyZERhdGF8fHRoaXMuZWRpdG9yLmlzQWN0aXZlKHRoaXMudHlwZS5uYW1lKSlyZXR1cm4hMTtsZXQgdD1lLmNsaXBib2FyZERhdGEuZ2V0RGF0YSgidGV4dC9wbGFpbiIpLHI9ZS5jbGlwYm9hcmREYXRhLmdldERhdGEoInZzY29kZS1lZGl0b3ItZGF0YSIpLGk9cj9KU09OLnBhcnNlKHIpOnZvaWQgMCxvPWk/Lm1vZGU7aWYoIXR8fCFvKXJldHVybiExO2xldHt0cjpuLHNjaGVtYTpsfT1hLnN0YXRlLGQ9bC50ZXh0KHQucmVwbGFjZSgvXHJcbj8vZyxgCmApKTtyZXR1cm4gbi5yZXBsYWNlU2VsZWN0aW9uV2l0aCh0aGlzLnR5cGUuY3JlYXRlKHtsYW5ndWFnZTpvfSxkKSksbi5zZWxlY3Rpb24uJGZyb20ucGFyZW50LnR5cGUhPT10aGlzLnR5cGUmJm4uc2V0U2VsZWN0aW9uKFJ0Lm5lYXIobi5kb2MucmVzb2x2ZShNYXRoLm1heCgwLG4uc2VsZWN0aW9uLmZyb20tMikpKSksbi5zZXRNZXRhKCJwYXN0ZSIsITApLGEuZGlzcGF0Y2gobiksITB9LCJoYW5kbGVQYXN0ZSIpfX0pXX19KX0pO3ZhciBWcmUsajFhPWYoKCk9PnticigpO1ZyZT1uci5jcmVhdGUoe25hbWU6ImRvYyIsdG9wTm9kZTohMCxjb250ZW50OiJibG9jaysifSl9KTtmdW5jdGlvbiBYWmUoYT17fSl7cmV0dXJuIG5ldyBycih7dmlldyhlKXtyZXR1cm4gbmV3IFpaZShlLGEpfX0pfXZhciBaWmUsVTFhPWYoKCk9Pnt5YygpO3Y0KCk7cyhYWmUsImRyb3BDdXJzb3IiKTtaWmU9Y2xhc3N7c3RhdGlje3ModGhpcywiRHJvcEN1cnNvclZpZXciKX1jb25zdHJ1Y3RvcihlLHQpe3ZhciByO3RoaXMuZWRpdG9yVmlldz1lLHRoaXMuY3Vyc29yUG9zPW51bGwsdGhpcy5lbGVtZW50PW51bGwsdGhpcy50aW1lb3V0PS0xLHRoaXMud2lkdGg9KHI9dC53aWR0aCkhPT1udWxsJiZyIT09dm9pZCAwP3I6MSx0aGlzLmNvbG9yPXQuY29sb3I9PT0hMT92b2lkIDA6dC5jb2xvcnx8ImJsYWNrIix0aGlzLmNsYXNzPXQuY2xhc3MsdGhpcy5oYW5kbGVycz1bImRyYWdvdmVyIiwiZHJhZ2VuZCIsImRyb3AiLCJkcmFnbGVhdmUiXS5tYXAoaT0+e2xldCBvPXMobj0+e3RoaXNbaV0obil9LCJoYW5kbGVyIik7cmV0dXJuIGUuZG9tLmFkZEV2ZW50TGlzdGVuZXIoaSxvKSx7bmFtZTppLGhhbmRsZXI6b319KX1kZXN0cm95KCl7dGhpcy5oYW5kbGVycy5mb3JFYWNoKCh7bmFtZTplLGhhbmRsZXI6dH0pPT50aGlzLmVkaXRvclZpZXcuZG9tLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSx0KSl9dXBkYXRlKGUsdCl7dGhpcy5jdXJzb3JQb3MhPW51bGwmJnQuZG9jIT1lLnN0YXRlLmRvYyYmKHRoaXMuY3Vyc29yUG9zPmUuc3RhdGUuZG9jLmNvbnRlbnQuc2l6ZT90aGlzLnNldEN1cnNvcihudWxsKTp0aGlzLnVwZGF0ZU92ZXJsYXkoKSl9c2V0Q3Vyc29yKGUpe2UhPXRoaXMuY3Vyc29yUG9zJiYodGhpcy5jdXJzb3JQb3M9ZSxlPT1udWxsPyh0aGlzLmVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnQpLHRoaXMuZWxlbWVudD1udWxsKTp0aGlzLnVwZGF0ZU92ZXJsYXkoKSl9dXBkYXRlT3ZlcmxheSgpe2xldCBlPXRoaXMuZWRpdG9yVmlldy5zdGF0ZS5kb2MucmVzb2x2ZSh0aGlzLmN1cnNvclBvcyksdD0hZS5wYXJlbnQuaW5saW5lQ29udGVudCxyLGk9dGhpcy5lZGl0b3JWaWV3LmRvbSxvPWkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj1vLndpZHRoL2kub2Zmc2V0V2lkdGgsbD1vLmhlaWdodC9pLm9mZnNldEhlaWdodDtpZih0KXtsZXQgdT1lLm5vZGVCZWZvcmUsbT1lLm5vZGVBZnRlcjtpZih1fHxtKXtsZXQgdj10aGlzLmVkaXRvclZpZXcubm9kZURPTSh0aGlzLmN1cnNvclBvcy0odT91Lm5vZGVTaXplOjApKTtpZih2KXtsZXQgeD12LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGI9dT94LmJvdHRvbTp4LnRvcDt1JiZtJiYoYj0oYit0aGlzLmVkaXRvclZpZXcubm9kZURPTSh0aGlzLmN1cnNvclBvcykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wKS8yKTtsZXQgZz10aGlzLndpZHRoLzIqbDtyPXtsZWZ0OngubGVmdCxyaWdodDp4LnJpZ2h0LHRvcDpiLWcsYm90dG9tOmIrZ319fX1pZighcil7bGV0IHU9dGhpcy5lZGl0b3JWaWV3LmNvb3Jkc0F0UG9zKHRoaXMuY3Vyc29yUG9zKSxtPXRoaXMud2lkdGgvMipuO3I9e2xlZnQ6dS5sZWZ0LW0scmlnaHQ6dS5sZWZ0K20sdG9wOnUudG9wLGJvdHRvbTp1LmJvdHRvbX19bGV0IGQ9dGhpcy5lZGl0b3JWaWV3LmRvbS5vZmZzZXRQYXJlbnQ7dGhpcy5lbGVtZW50fHwodGhpcy5lbGVtZW50PWQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpLHRoaXMuY2xhc3MmJih0aGlzLmVsZW1lbnQuY2xhc3NOYW1lPXRoaXMuY2xhc3MpLHRoaXMuZWxlbWVudC5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDUwOyBwb2ludGVyLWV2ZW50czogbm9uZTsiLHRoaXMuY29sb3ImJih0aGlzLmVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yPXRoaXMuY29sb3IpKSx0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgicHJvc2VtaXJyb3ItZHJvcGN1cnNvci1ibG9jayIsdCksdGhpcy5lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoInByb3NlbWlycm9yLWRyb3BjdXJzb3ItaW5saW5lIiwhdCk7bGV0IGMscDtpZighZHx8ZD09ZG9jdW1lbnQuYm9keSYmZ2V0Q29tcHV0ZWRTdHlsZShkKS5wb3NpdGlvbj09InN0YXRpYyIpYz0tcGFnZVhPZmZzZXQscD0tcGFnZVlPZmZzZXQ7ZWxzZXtsZXQgdT1kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG09dS53aWR0aC9kLm9mZnNldFdpZHRoLHY9dS5oZWlnaHQvZC5vZmZzZXRIZWlnaHQ7Yz11LmxlZnQtZC5zY3JvbGxMZWZ0Km0scD11LnRvcC1kLnNjcm9sbFRvcCp2fXRoaXMuZWxlbWVudC5zdHlsZS5sZWZ0PShyLmxlZnQtYykvbisicHgiLHRoaXMuZWxlbWVudC5zdHlsZS50b3A9KHIudG9wLXApL2wrInB4Iix0aGlzLmVsZW1lbnQuc3R5bGUud2lkdGg9KHIucmlnaHQtci5sZWZ0KS9uKyJweCIsdGhpcy5lbGVtZW50LnN0eWxlLmhlaWdodD0oci5ib3R0b20tci50b3ApL2wrInB4In1zY2hlZHVsZVJlbW92YWwoZSl7Y2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCksdGhpcy50aW1lb3V0PXNldFRpbWVvdXQoKCk9PnRoaXMuc2V0Q3Vyc29yKG51bGwpLGUpfWRyYWdvdmVyKGUpe2lmKCF0aGlzLmVkaXRvclZpZXcuZWRpdGFibGUpcmV0dXJuO2xldCB0PXRoaXMuZWRpdG9yVmlldy5wb3NBdENvb3Jkcyh7bGVmdDplLmNsaWVudFgsdG9wOmUuY2xpZW50WX0pLHI9dCYmdC5pbnNpZGU+PTAmJnRoaXMuZWRpdG9yVmlldy5zdGF0ZS5kb2Mubm9kZUF0KHQuaW5zaWRlKSxpPXImJnIudHlwZS5zcGVjLmRpc2FibGVEcm9wQ3Vyc29yLG89dHlwZW9mIGk9PSJmdW5jdGlvbiI/aSh0aGlzLmVkaXRvclZpZXcsdCxlKTppO2lmKHQmJiFvKXtsZXQgbj10LnBvcztpZih0aGlzLmVkaXRvclZpZXcuZHJhZ2dpbmcmJnRoaXMuZWRpdG9yVmlldy5kcmFnZ2luZy5zbGljZSl7bGV0IGw9SlUodGhpcy5lZGl0b3JWaWV3LnN0YXRlLmRvYyxuLHRoaXMuZWRpdG9yVmlldy5kcmFnZ2luZy5zbGljZSk7bCE9bnVsbCYmKG49bCl9dGhpcy5zZXRDdXJzb3IobiksdGhpcy5zY2hlZHVsZVJlbW92YWwoNWUzKX19ZHJhZ2VuZCgpe3RoaXMuc2NoZWR1bGVSZW1vdmFsKDIwKX1kcm9wKCl7dGhpcy5zY2hlZHVsZVJlbW92YWwoMjApfWRyYWdsZWF2ZShlKXt0aGlzLmVkaXRvclZpZXcuZG9tLmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCl8fHRoaXMuc2V0Q3Vyc29yKG51bGwpfX19KTt2YXIgVzFhPWYoKCk9PntVMWEoKX0pO3ZhciBqcmUsRzFhPWYoKCk9PnticigpO1cxYSgpO2pyZT13ci5jcmVhdGUoe25hbWU6ImRyb3BDdXJzb3IiLGFkZE9wdGlvbnMoKXtyZXR1cm57Y29sb3I6ImN1cnJlbnRDb2xvciIsd2lkdGg6MSxjbGFzczp2b2lkIDB9fSxhZGRQcm9zZU1pcnJvclBsdWdpbnMoKXtyZXR1cm5bWFplKHRoaXMub3B0aW9ucyldfX0pfSk7ZnVuY3Rpb24gWTFhKGEpe3JldHVybiBhLmlzQXRvbXx8YS5zcGVjLmlzb2xhdGluZ3x8YS5zcGVjLmNyZWF0ZUdhcEN1cnNvcn1mdW5jdGlvbiBpSWEoYSl7Zm9yKGxldCBlPWEuZGVwdGg7ZT49MDtlLS0pe2xldCB0PWEuaW5kZXgoZSkscj1hLm5vZGUoZSk7aWYodD09MCl7aWYoci50eXBlLnNwZWMuaXNvbGF0aW5nKXJldHVybiEwO2NvbnRpbnVlfWZvcihsZXQgaT1yLmNoaWxkKHQtMSk7O2k9aS5sYXN0Q2hpbGQpe2lmKGkuY2hpbGRDb3VudD09MCYmIWkuaW5saW5lQ29udGVudHx8WTFhKGkudHlwZSkpcmV0dXJuITA7aWYoaS5pbmxpbmVDb250ZW50KXJldHVybiExfX1yZXR1cm4hMH1mdW5jdGlvbiBvSWEoYSl7Zm9yKGxldCBlPWEuZGVwdGg7ZT49MDtlLS0pe2xldCB0PWEuaW5kZXhBZnRlcihlKSxyPWEubm9kZShlKTtpZih0PT1yLmNoaWxkQ291bnQpe2lmKHIudHlwZS5zcGVjLmlzb2xhdGluZylyZXR1cm4hMDtjb250aW51ZX1mb3IobGV0IGk9ci5jaGlsZCh0KTs7aT1pLmZpcnN0Q2hpbGQpe2lmKGkuY2hpbGRDb3VudD09MCYmIWkuaW5saW5lQ29udGVudHx8WTFhKGkudHlwZSkpcmV0dXJuITA7aWYoaS5pbmxpbmVDb250ZW50KXJldHVybiExfX1yZXR1cm4hMH1mdW5jdGlvbiBKWmUoKXtyZXR1cm4gbmV3IHJyKHtwcm9wczp7ZGVjb3JhdGlvbnM6ZElhLGNyZWF0ZVNlbGVjdGlvbkJldHdlZW4oYSxlLHQpe3JldHVybiBlLnBvcz09dC5wb3MmJm9pLnZhbGlkKHQpP25ldyBvaSh0KTpudWxsfSxoYW5kbGVDbGljazpsSWEsaGFuZGxlS2V5RG93bjpuSWEsaGFuZGxlRE9NRXZlbnRzOntiZWZvcmVpbnB1dDpjSWF9fX0pfWZ1bmN0aW9uIFVyZShhLGUpe2xldCB0PWE9PSJ2ZXJ0Ij9lPjA/ImRvd24iOiJ1cCI6ZT4wPyJyaWdodCI6ImxlZnQiO3JldHVybiBmdW5jdGlvbihyLGksbyl7bGV0IG49ci5zZWxlY3Rpb24sbD1lPjA/bi4kdG86bi4kZnJvbSxkPW4uZW1wdHk7aWYobiBpbnN0YW5jZW9mIFJ0KXtpZighby5lbmRPZlRleHRibG9jayh0KXx8bC5kZXB0aD09MClyZXR1cm4hMTtkPSExLGw9ci5kb2MucmVzb2x2ZShlPjA/bC5hZnRlcigpOmwuYmVmb3JlKCkpfWxldCBjPW9pLmZpbmRHYXBDdXJzb3JGcm9tKGwsZSxkKTtyZXR1cm4gYz8oaSYmaShyLnRyLnNldFNlbGVjdGlvbihuZXcgb2koYykpKSwhMCk6ITF9fWZ1bmN0aW9uIGxJYShhLGUsdCl7aWYoIWF8fCFhLmVkaXRhYmxlKXJldHVybiExO2xldCByPWEuc3RhdGUuZG9jLnJlc29sdmUoZSk7aWYoIW9pLnZhbGlkKHIpKXJldHVybiExO2xldCBpPWEucG9zQXRDb29yZHMoe2xlZnQ6dC5jbGllbnRYLHRvcDp0LmNsaWVudFl9KTtyZXR1cm4gaSYmaS5pbnNpZGU+LTEmJk10LmlzU2VsZWN0YWJsZShhLnN0YXRlLmRvYy5ub2RlQXQoaS5pbnNpZGUpKT8hMTooYS5kaXNwYXRjaChhLnN0YXRlLnRyLnNldFNlbGVjdGlvbihuZXcgb2kocikpKSwhMCl9ZnVuY3Rpb24gY0lhKGEsZSl7aWYoZS5pbnB1dFR5cGUhPSJpbnNlcnRDb21wb3NpdGlvblRleHQifHwhKGEuc3RhdGUuc2VsZWN0aW9uIGluc3RhbmNlb2Ygb2kpKXJldHVybiExO2xldHskZnJvbTp0fT1hLnN0YXRlLnNlbGVjdGlvbixyPXQucGFyZW50LmNvbnRlbnRNYXRjaEF0KHQuaW5kZXgoKSkuZmluZFdyYXBwaW5nKGEuc3RhdGUuc2NoZW1hLm5vZGVzLnRleHQpO2lmKCFyKXJldHVybiExO2xldCBpPVZlLmVtcHR5O2ZvcihsZXQgbj1yLmxlbmd0aC0xO24+PTA7bi0tKWk9VmUuZnJvbShyW25dLmNyZWF0ZUFuZEZpbGwobnVsbCxpKSk7bGV0IG89YS5zdGF0ZS50ci5yZXBsYWNlKHQucG9zLHQucG9zLG5ldyBpdChpLDAsMCkpO3JldHVybiBvLnNldFNlbGVjdGlvbihSdC5uZWFyKG8uZG9jLnJlc29sdmUodC5wb3MrMSkpKSxhLmRpc3BhdGNoKG8pLCExfWZ1bmN0aW9uIGRJYShhKXtpZighKGEuc2VsZWN0aW9uIGluc3RhbmNlb2Ygb2kpKXJldHVybiBudWxsO2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBlLmNsYXNzTmFtZT0iUHJvc2VNaXJyb3ItZ2FwY3Vyc29yIixaaS5jcmVhdGUoYS5kb2MsW1IxLndpZGdldChhLnNlbGVjdGlvbi5oZWFkLGUse2tleToiZ2FwY3Vyc29yIn0pXSl9dmFyIG9pLFFaZSxuSWEsSzFhPWYoKCk9Pnt1WmUoKTt5YygpO2c0KCk7bFplKCk7b2k9Y2xhc3MgYSBleHRlbmRzIEl0e3N0YXRpY3tzKHRoaXMsIkdhcEN1cnNvciIpfWNvbnN0cnVjdG9yKGUpe3N1cGVyKGUsZSl9bWFwKGUsdCl7bGV0IHI9ZS5yZXNvbHZlKHQubWFwKHRoaXMuaGVhZCkpO3JldHVybiBhLnZhbGlkKHIpP25ldyBhKHIpOkl0Lm5lYXIocil9Y29udGVudCgpe3JldHVybiBpdC5lbXB0eX1lcShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIGEmJmUuaGVhZD09dGhpcy5oZWFkfXRvSlNPTigpe3JldHVybnt0eXBlOiJnYXBjdXJzb3IiLHBvczp0aGlzLmhlYWR9fXN0YXRpYyBmcm9tSlNPTihlLHQpe2lmKHR5cGVvZiB0LnBvcyE9Im51bWJlciIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIEdhcEN1cnNvci5mcm9tSlNPTiIpO3JldHVybiBuZXcgYShlLnJlc29sdmUodC5wb3MpKX1nZXRCb29rbWFyaygpe3JldHVybiBuZXcgUVplKHRoaXMuYW5jaG9yKX1zdGF0aWMgdmFsaWQoZSl7bGV0IHQ9ZS5wYXJlbnQ7aWYodC5pbmxpbmVDb250ZW50fHwhaUlhKGUpfHwhb0lhKGUpKXJldHVybiExO2xldCByPXQudHlwZS5zcGVjLmFsbG93R2FwQ3Vyc29yO2lmKHIhPW51bGwpcmV0dXJuIHI7bGV0IGk9dC5jb250ZW50TWF0Y2hBdChlLmluZGV4KCkpLmRlZmF1bHRUeXBlO3JldHVybiBpJiZpLmlzVGV4dGJsb2NrfXN0YXRpYyBmaW5kR2FwQ3Vyc29yRnJvbShlLHQscj0hMSl7ZTpmb3IoOzspe2lmKCFyJiZhLnZhbGlkKGUpKXJldHVybiBlO2xldCBpPWUucG9zLG89bnVsbDtmb3IobGV0IG49ZS5kZXB0aDs7bi0tKXtsZXQgbD1lLm5vZGUobik7aWYodD4wP2UuaW5kZXhBZnRlcihuKTxsLmNoaWxkQ291bnQ6ZS5pbmRleChuKT4wKXtvPWwuY2hpbGQodD4wP2UuaW5kZXhBZnRlcihuKTplLmluZGV4KG4pLTEpO2JyZWFrfWVsc2UgaWYobj09MClyZXR1cm4gbnVsbDtpKz10O2xldCBkPWUuZG9jLnJlc29sdmUoaSk7aWYoYS52YWxpZChkKSlyZXR1cm4gZH1mb3IoOzspe2xldCBuPXQ+MD9vLmZpcnN0Q2hpbGQ6by5sYXN0Q2hpbGQ7aWYoIW4pe2lmKG8uaXNBdG9tJiYhby5pc1RleHQmJiFNdC5pc1NlbGVjdGFibGUobykpe2U9ZS5kb2MucmVzb2x2ZShpK28ubm9kZVNpemUqdCkscj0hMTtjb250aW51ZSBlfWJyZWFrfW89bixpKz10O2xldCBsPWUuZG9jLnJlc29sdmUoaSk7aWYoYS52YWxpZChsKSlyZXR1cm4gbH1yZXR1cm4gbnVsbH19fTtvaS5wcm90b3R5cGUudmlzaWJsZT0hMSxvaS5maW5kRnJvbT1vaS5maW5kR2FwQ3Vyc29yRnJvbSxJdC5qc29uSUQoImdhcGN1cnNvciIsb2kpO1FaZT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkdhcEJvb2ttYXJrIil9Y29uc3RydWN0b3IoZSl7dGhpcy5wb3M9ZX1tYXAoZSl7cmV0dXJuIG5ldyBhKGUubWFwKHRoaXMucG9zKSl9cmVzb2x2ZShlKXtsZXQgdD1lLnJlc29sdmUodGhpcy5wb3MpO3JldHVybiBvaS52YWxpZCh0KT9uZXcgb2kodCk6SXQubmVhcih0KX19O3MoWTFhLCJuZWVkc0dhcCIpO3MoaUlhLCJjbG9zZWRCZWZvcmUiKTtzKG9JYSwiY2xvc2VkQWZ0ZXIiKTtzKEpaZSwiZ2FwQ3Vyc29yIik7bklhPWVyZSh7QXJyb3dMZWZ0OlVyZSgiaG9yaXoiLC0xKSxBcnJvd1JpZ2h0OlVyZSgiaG9yaXoiLDEpLEFycm93VXA6VXJlKCJ2ZXJ0IiwtMSksQXJyb3dEb3duOlVyZSgidmVydCIsMSl9KTtzKFVyZSwiYXJyb3ciKTtzKGxJYSwiaGFuZGxlQ2xpY2siKTtzKGNJYSwiYmVmb3JlaW5wdXQiKTtzKGRJYSwiZHJhd0dhcEN1cnNvciIpfSk7dmFyIFoxYT1mKCgpPT57SzFhKCl9KTt2YXIgV3JlLFgxYT1mKCgpPT57YnIoKTtaMWEoKTtXcmU9d3IuY3JlYXRlKHtuYW1lOiJnYXBDdXJzb3IiLGFkZFByb3NlTWlycm9yUGx1Z2lucygpe3JldHVybltKWmUoKV19LGV4dGVuZE5vZGVTY2hlbWEoYSl7dmFyIGU7bGV0IHQ9e25hbWU6YS5uYW1lLG9wdGlvbnM6YS5vcHRpb25zLHN0b3JhZ2U6YS5zdG9yYWdlfTtyZXR1cm57YWxsb3dHYXBDdXJzb3I6KGU9anQocHQoYSwiYWxsb3dHYXBDdXJzb3IiLHQpKSkhPT1udWxsJiZlIT09dm9pZCAwP2U6bnVsbH19fSl9KTt2YXIgR3JlLFExYT1mKCgpPT57YnIoKTtHcmU9bnIuY3JlYXRlKHtuYW1lOiJoYXJkQnJlYWsiLGFkZE9wdGlvbnMoKXtyZXR1cm57a2VlcE1hcmtzOiEwLEhUTUxBdHRyaWJ1dGVzOnt9fX0saW5saW5lOiEwLGdyb3VwOiJpbmxpbmUiLHNlbGVjdGFibGU6ITEsbGluZWJyZWFrUmVwbGFjZW1lbnQ6ITAscGFyc2VIVE1MKCl7cmV0dXJuW3t0YWc6ImJyIn1dfSxyZW5kZXJIVE1MKHtIVE1MQXR0cmlidXRlczphfSl7cmV0dXJuWyJiciIsU2EodGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLGEpXX0scmVuZGVyVGV4dCgpe3JldHVybmAKYH0sYWRkQ29tbWFuZHMoKXtyZXR1cm57c2V0SGFyZEJyZWFrOnMoKCk9Pih7Y29tbWFuZHM6YSxjaGFpbjplLHN0YXRlOnQsZWRpdG9yOnJ9KT0+YS5maXJzdChbKCk9PmEuZXhpdENvZGUoKSwoKT0+YS5jb21tYW5kKCgpPT57bGV0e3NlbGVjdGlvbjppLHN0b3JlZE1hcmtzOm99PXQ7aWYoaS4kZnJvbS5wYXJlbnQudHlwZS5zcGVjLmlzb2xhdGluZylyZXR1cm4hMTtsZXR7a2VlcE1hcmtzOm59PXRoaXMub3B0aW9ucyx7c3BsaXR0YWJsZU1hcmtzOmx9PXIuZXh0ZW5zaW9uTWFuYWdlcixkPW98fGkuJHRvLnBhcmVudE9mZnNldCYmaS4kZnJvbS5tYXJrcygpO3JldHVybiBlKCkuaW5zZXJ0Q29udGVudCh7dHlwZTp0aGlzLm5hbWV9KS5jb21tYW5kKCh7dHI6YyxkaXNwYXRjaDpwfSk9PntpZihwJiZkJiZuKXtsZXQgdT1kLmZpbHRlcihtPT5sLmluY2x1ZGVzKG0udHlwZS5uYW1lKSk7Yy5lbnN1cmVNYXJrcyh1KX1yZXR1cm4hMH0pLnJ1bigpfSldKSwic2V0SGFyZEJyZWFrIil9fSxhZGRLZXlib2FyZFNob3J0Y3V0cygpe3JldHVybnsiTW9kLUVudGVyIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5zZXRIYXJkQnJlYWsoKSwiTW9kLUVudGVyIiksIlNoaWZ0LUVudGVyIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5zZXRIYXJkQnJlYWsoKSwiU2hpZnQtRW50ZXIiKX19fSl9KTt2YXIgWXJlLEoxYT1mKCgpPT57YnIoKTtZcmU9bnIuY3JlYXRlKHtuYW1lOiJoZWFkaW5nIixhZGRPcHRpb25zKCl7cmV0dXJue2xldmVsczpbMSwyLDMsNCw1LDZdLEhUTUxBdHRyaWJ1dGVzOnt9fX0sY29udGVudDoiaW5saW5lKiIsZ3JvdXA6ImJsb2NrIixkZWZpbmluZzohMCxhZGRBdHRyaWJ1dGVzKCl7cmV0dXJue2xldmVsOntkZWZhdWx0OjEscmVuZGVyZWQ6ITF9fX0scGFyc2VIVE1MKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5sZXZlbHMubWFwKGE9Pih7dGFnOmBoJHthfWAsYXR0cnM6e2xldmVsOmF9fSkpfSxyZW5kZXJIVE1MKHtub2RlOmEsSFRNTEF0dHJpYnV0ZXM6ZX0pe3JldHVybltgaCR7dGhpcy5vcHRpb25zLmxldmVscy5pbmNsdWRlcyhhLmF0dHJzLmxldmVsKT9hLmF0dHJzLmxldmVsOnRoaXMub3B0aW9ucy5sZXZlbHNbMF19YCxTYSh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsZSksMF19LGFkZENvbW1hbmRzKCl7cmV0dXJue3NldEhlYWRpbmc6cyhhPT4oe2NvbW1hbmRzOmV9KT0+dGhpcy5vcHRpb25zLmxldmVscy5pbmNsdWRlcyhhLmxldmVsKT9lLnNldE5vZGUodGhpcy5uYW1lLGEpOiExLCJzZXRIZWFkaW5nIiksdG9nZ2xlSGVhZGluZzpzKGE9Pih7Y29tbWFuZHM6ZX0pPT50aGlzLm9wdGlvbnMubGV2ZWxzLmluY2x1ZGVzKGEubGV2ZWwpP2UudG9nZ2xlTm9kZSh0aGlzLm5hbWUsInBhcmFncmFwaCIsYSk6ITEsInRvZ2dsZUhlYWRpbmciKX19LGFkZEtleWJvYXJkU2hvcnRjdXRzKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5sZXZlbHMucmVkdWNlKChhLGUpPT4oey4uLmEsW2BNb2QtQWx0LSR7ZX1gXTooKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMudG9nZ2xlSGVhZGluZyh7bGV2ZWw6ZX0pfSkse30pfSxhZGRJbnB1dFJ1bGVzKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5sZXZlbHMubWFwKGE9PmQ1KHtmaW5kOm5ldyBSZWdFeHAoYF4oI3ske01hdGgubWluKC4uLnRoaXMub3B0aW9ucy5sZXZlbHMpfSwke2F9fSlcXHMkYCksdHlwZTp0aGlzLnR5cGUsZ2V0QXR0cmlidXRlczp7bGV2ZWw6YX19KSl9fSl9KTt2YXIgS3JlLG5pLGUyYSx1SWEsZVhlLHQyYT1mKCgpPT57S3JlPTIwMCxuaT1zKGZ1bmN0aW9uKCl7fSwiUm9wZVNlcXVlbmNlIik7bmkucHJvdG90eXBlLmFwcGVuZD1zKGZ1bmN0aW9uKGUpe3JldHVybiBlLmxlbmd0aD8oZT1uaS5mcm9tKGUpLCF0aGlzLmxlbmd0aCYmZXx8ZS5sZW5ndGg8S3JlJiZ0aGlzLmxlYWZBcHBlbmQoZSl8fHRoaXMubGVuZ3RoPEtyZSYmZS5sZWFmUHJlcGVuZCh0aGlzKXx8dGhpcy5hcHBlbmRJbm5lcihlKSk6dGhpc30sImFwcGVuZCIpLG5pLnByb3RvdHlwZS5wcmVwZW5kPXMoZnVuY3Rpb24oZSl7cmV0dXJuIGUubGVuZ3RoP25pLmZyb20oZSkuYXBwZW5kKHRoaXMpOnRoaXN9LCJwcmVwZW5kIiksbmkucHJvdG90eXBlLmFwcGVuZElubmVyPXMoZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB1SWEodGhpcyxlKX0sImFwcGVuZElubmVyIiksbmkucHJvdG90eXBlLnNsaWNlPXMoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT09PXZvaWQgMCYmKGU9MCksdD09PXZvaWQgMCYmKHQ9dGhpcy5sZW5ndGgpLGU+PXQ/bmkuZW1wdHk6dGhpcy5zbGljZUlubmVyKE1hdGgubWF4KDAsZSksTWF0aC5taW4odGhpcy5sZW5ndGgsdCkpfSwic2xpY2UiKSxuaS5wcm90b3R5cGUuZ2V0PXMoZnVuY3Rpb24oZSl7aWYoIShlPDB8fGU+PXRoaXMubGVuZ3RoKSlyZXR1cm4gdGhpcy5nZXRJbm5lcihlKX0sImdldCIpLG5pLnByb3RvdHlwZS5mb3JFYWNoPXMoZnVuY3Rpb24oZSx0LHIpe3Q9PT12b2lkIDAmJih0PTApLHI9PT12b2lkIDAmJihyPXRoaXMubGVuZ3RoKSx0PD1yP3RoaXMuZm9yRWFjaElubmVyKGUsdCxyLDApOnRoaXMuZm9yRWFjaEludmVydGVkSW5uZXIoZSx0LHIsMCl9LCJmb3JFYWNoIiksbmkucHJvdG90eXBlLm1hcD1zKGZ1bmN0aW9uKGUsdCxyKXt0PT09dm9pZCAwJiYodD0wKSxyPT09dm9pZCAwJiYocj10aGlzLmxlbmd0aCk7dmFyIGk9W107cmV0dXJuIHRoaXMuZm9yRWFjaChmdW5jdGlvbihvLG4pe3JldHVybiBpLnB1c2goZShvLG4pKX0sdCxyKSxpfSwibWFwIiksbmkuZnJvbT1zKGZ1bmN0aW9uKGUpe3JldHVybiBlIGluc3RhbmNlb2Ygbmk/ZTplJiZlLmxlbmd0aD9uZXcgZTJhKGUpOm5pLmVtcHR5fSwiZnJvbSIpO2UyYT0oZnVuY3Rpb24oYSl7ZnVuY3Rpb24gZShyKXthLmNhbGwodGhpcyksdGhpcy52YWx1ZXM9cn1zKGUsIkxlYWYiKSxhJiYoZS5fX3Byb3RvX189YSksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShhJiZhLnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZTt2YXIgdD17bGVuZ3RoOntjb25maWd1cmFibGU6ITB9LGRlcHRoOntjb25maWd1cmFibGU6ITB9fTtyZXR1cm4gZS5wcm90b3R5cGUuZmxhdHRlbj1zKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzfSwiZmxhdHRlbiIpLGUucHJvdG90eXBlLnNsaWNlSW5uZXI9cyhmdW5jdGlvbihpLG8pe3JldHVybiBpPT0wJiZvPT10aGlzLmxlbmd0aD90aGlzOm5ldyBlKHRoaXMudmFsdWVzLnNsaWNlKGksbykpfSwic2xpY2VJbm5lciIpLGUucHJvdG90eXBlLmdldElubmVyPXMoZnVuY3Rpb24oaSl7cmV0dXJuIHRoaXMudmFsdWVzW2ldfSwiZ2V0SW5uZXIiKSxlLnByb3RvdHlwZS5mb3JFYWNoSW5uZXI9cyhmdW5jdGlvbihpLG8sbixsKXtmb3IodmFyIGQ9bztkPG47ZCsrKWlmKGkodGhpcy52YWx1ZXNbZF0sbCtkKT09PSExKXJldHVybiExfSwiZm9yRWFjaElubmVyIiksZS5wcm90b3R5cGUuZm9yRWFjaEludmVydGVkSW5uZXI9cyhmdW5jdGlvbihpLG8sbixsKXtmb3IodmFyIGQ9by0xO2Q+PW47ZC0tKWlmKGkodGhpcy52YWx1ZXNbZF0sbCtkKT09PSExKXJldHVybiExfSwiZm9yRWFjaEludmVydGVkSW5uZXIiKSxlLnByb3RvdHlwZS5sZWFmQXBwZW5kPXMoZnVuY3Rpb24oaSl7aWYodGhpcy5sZW5ndGgraS5sZW5ndGg8PUtyZSlyZXR1cm4gbmV3IGUodGhpcy52YWx1ZXMuY29uY2F0KGkuZmxhdHRlbigpKSl9LCJsZWFmQXBwZW5kIiksZS5wcm90b3R5cGUubGVhZlByZXBlbmQ9cyhmdW5jdGlvbihpKXtpZih0aGlzLmxlbmd0aCtpLmxlbmd0aDw9S3JlKXJldHVybiBuZXcgZShpLmZsYXR0ZW4oKS5jb25jYXQodGhpcy52YWx1ZXMpKX0sImxlYWZQcmVwZW5kIiksdC5sZW5ndGguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzLmxlbmd0aH0sdC5kZXB0aC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gMH0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZS5wcm90b3R5cGUsdCksZX0pKG5pKTtuaS5lbXB0eT1uZXcgZTJhKFtdKTt1SWE9KGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGUodCxyKXthLmNhbGwodGhpcyksdGhpcy5sZWZ0PXQsdGhpcy5yaWdodD1yLHRoaXMubGVuZ3RoPXQubGVuZ3RoK3IubGVuZ3RoLHRoaXMuZGVwdGg9TWF0aC5tYXgodC5kZXB0aCxyLmRlcHRoKSsxfXJldHVybiBzKGUsIkFwcGVuZCIpLGEmJihlLl9fcHJvdG9fXz1hKSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGEmJmEucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmZsYXR0ZW49cyhmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlZnQuZmxhdHRlbigpLmNvbmNhdCh0aGlzLnJpZ2h0LmZsYXR0ZW4oKSl9LCJmbGF0dGVuIiksZS5wcm90b3R5cGUuZ2V0SW5uZXI9cyhmdW5jdGlvbihyKXtyZXR1cm4gcjx0aGlzLmxlZnQubGVuZ3RoP3RoaXMubGVmdC5nZXQocik6dGhpcy5yaWdodC5nZXQoci10aGlzLmxlZnQubGVuZ3RoKX0sImdldElubmVyIiksZS5wcm90b3R5cGUuZm9yRWFjaElubmVyPXMoZnVuY3Rpb24ocixpLG8sbil7dmFyIGw9dGhpcy5sZWZ0Lmxlbmd0aDtpZihpPGwmJnRoaXMubGVmdC5mb3JFYWNoSW5uZXIocixpLE1hdGgubWluKG8sbCksbik9PT0hMXx8bz5sJiZ0aGlzLnJpZ2h0LmZvckVhY2hJbm5lcihyLE1hdGgubWF4KGktbCwwKSxNYXRoLm1pbih0aGlzLmxlbmd0aCxvKS1sLG4rbCk9PT0hMSlyZXR1cm4hMX0sImZvckVhY2hJbm5lciIpLGUucHJvdG90eXBlLmZvckVhY2hJbnZlcnRlZElubmVyPXMoZnVuY3Rpb24ocixpLG8sbil7dmFyIGw9dGhpcy5sZWZ0Lmxlbmd0aDtpZihpPmwmJnRoaXMucmlnaHQuZm9yRWFjaEludmVydGVkSW5uZXIocixpLWwsTWF0aC5tYXgobyxsKS1sLG4rbCk9PT0hMXx8bzxsJiZ0aGlzLmxlZnQuZm9yRWFjaEludmVydGVkSW5uZXIocixNYXRoLm1pbihpLGwpLG8sbik9PT0hMSlyZXR1cm4hMX0sImZvckVhY2hJbnZlcnRlZElubmVyIiksZS5wcm90b3R5cGUuc2xpY2VJbm5lcj1zKGZ1bmN0aW9uKHIsaSl7aWYocj09MCYmaT09dGhpcy5sZW5ndGgpcmV0dXJuIHRoaXM7dmFyIG89dGhpcy5sZWZ0Lmxlbmd0aDtyZXR1cm4gaTw9bz90aGlzLmxlZnQuc2xpY2UocixpKTpyPj1vP3RoaXMucmlnaHQuc2xpY2Uoci1vLGktbyk6dGhpcy5sZWZ0LnNsaWNlKHIsbykuYXBwZW5kKHRoaXMucmlnaHQuc2xpY2UoMCxpLW8pKX0sInNsaWNlSW5uZXIiKSxlLnByb3RvdHlwZS5sZWFmQXBwZW5kPXMoZnVuY3Rpb24ocil7dmFyIGk9dGhpcy5yaWdodC5sZWFmQXBwZW5kKHIpO2lmKGkpcmV0dXJuIG5ldyBlKHRoaXMubGVmdCxpKX0sImxlYWZBcHBlbmQiKSxlLnByb3RvdHlwZS5sZWFmUHJlcGVuZD1zKGZ1bmN0aW9uKHIpe3ZhciBpPXRoaXMubGVmdC5sZWFmUHJlcGVuZChyKTtpZihpKXJldHVybiBuZXcgZShpLHRoaXMucmlnaHQpfSwibGVhZlByZXBlbmQiKSxlLnByb3RvdHlwZS5hcHBlbmRJbm5lcj1zKGZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLmxlZnQuZGVwdGg+PU1hdGgubWF4KHRoaXMucmlnaHQuZGVwdGgsci5kZXB0aCkrMT9uZXcgZSh0aGlzLmxlZnQsbmV3IGUodGhpcy5yaWdodCxyKSk6bmV3IGUodGhpcyxyKX0sImFwcGVuZElubmVyIiksZX0pKG5pKSxlWGU9bml9KTtmdW5jdGlvbiBmSWEoYSxlKXtsZXQgdDtyZXR1cm4gYS5mb3JFYWNoKChyLGkpPT57aWYoci5zZWxlY3Rpb24mJmUtLT09MClyZXR1cm4gdD1pLCExfSksYS5zbGljZSh0KX1mdW5jdGlvbiBtSWEoYSxlLHQscil7bGV0IGk9dC5nZXRNZXRhKHNsKSxvO2lmKGkpcmV0dXJuIGkuaGlzdG9yeVN0YXRlO3QuZ2V0TWV0YShzMmEpJiYoYT1uZXcgcmwoYS5kb25lLGEudW5kb25lLG51bGwsMCwtMSkpO2xldCBuPXQuZ2V0TWV0YSgiYXBwZW5kZWRUcmFuc2FjdGlvbiIpO2lmKHQuc3RlcHMubGVuZ3RoPT0wKXJldHVybiBhO2lmKG4mJm4uZ2V0TWV0YShzbCkpcmV0dXJuIG4uZ2V0TWV0YShzbCkucmVkbz9uZXcgcmwoYS5kb25lLmFkZFRyYW5zZm9ybSh0LHZvaWQgMCxyLFpyZShlKSksYS51bmRvbmUsYTJhKHQubWFwcGluZy5tYXBzKSxhLnByZXZUaW1lLGEucHJldkNvbXBvc2l0aW9uKTpuZXcgcmwoYS5kb25lLGEudW5kb25lLmFkZFRyYW5zZm9ybSh0LHZvaWQgMCxyLFpyZShlKSksbnVsbCxhLnByZXZUaW1lLGEucHJldkNvbXBvc2l0aW9uKTtpZih0LmdldE1ldGEoImFkZFRvSGlzdG9yeSIpIT09ITEmJiEobiYmbi5nZXRNZXRhKCJhZGRUb0hpc3RvcnkiKT09PSExKSl7bGV0IGw9dC5nZXRNZXRhKCJjb21wb3NpdGlvbiIpLGQ9YS5wcmV2VGltZT09MHx8IW4mJmEucHJldkNvbXBvc2l0aW9uIT1sJiYoYS5wcmV2VGltZTwodC50aW1lfHwwKS1yLm5ld0dyb3VwRGVsYXl8fCFnSWEodCxhLnByZXZSYW5nZXMpKSxjPW4/dFhlKGEucHJldlJhbmdlcyx0Lm1hcHBpbmcpOmEyYSh0Lm1hcHBpbmcubWFwcyk7cmV0dXJuIG5ldyBybChhLmRvbmUuYWRkVHJhbnNmb3JtKHQsZD9lLnNlbGVjdGlvbi5nZXRCb29rbWFyaygpOnZvaWQgMCxyLFpyZShlKSksdTUuZW1wdHksYyx0LnRpbWUsbD8/YS5wcmV2Q29tcG9zaXRpb24pfWVsc2UgcmV0dXJuKG89dC5nZXRNZXRhKCJyZWJhc2VkIikpP25ldyBybChhLmRvbmUucmViYXNlZCh0LG8pLGEudW5kb25lLnJlYmFzZWQodCxvKSx0WGUoYS5wcmV2UmFuZ2VzLHQubWFwcGluZyksYS5wcmV2VGltZSxhLnByZXZDb21wb3NpdGlvbik6bmV3IHJsKGEuZG9uZS5hZGRNYXBzKHQubWFwcGluZy5tYXBzKSxhLnVuZG9uZS5hZGRNYXBzKHQubWFwcGluZy5tYXBzKSx0WGUoYS5wcmV2UmFuZ2VzLHQubWFwcGluZyksYS5wcmV2VGltZSxhLnByZXZDb21wb3NpdGlvbil9ZnVuY3Rpb24gZ0lhKGEsZSl7aWYoIWUpcmV0dXJuITE7aWYoIWEuZG9jQ2hhbmdlZClyZXR1cm4hMDtsZXQgdD0hMTtyZXR1cm4gYS5tYXBwaW5nLm1hcHNbMF0uZm9yRWFjaCgocixpKT0+e2ZvcihsZXQgbz0wO288ZS5sZW5ndGg7bys9MilyPD1lW28rMV0mJmk+PWVbb10mJih0PSEwKX0pLHR9ZnVuY3Rpb24gYTJhKGEpe2xldCBlPVtdO2ZvcihsZXQgdD1hLmxlbmd0aC0xO3Q+PTAmJmUubGVuZ3RoPT0wO3QtLSlhW3RdLmZvckVhY2goKHIsaSxvLG4pPT5lLnB1c2gobyxuKSk7cmV0dXJuIGV9ZnVuY3Rpb24gdFhlKGEsZSl7aWYoIWEpcmV0dXJuIG51bGw7bGV0IHQ9W107Zm9yKGxldCByPTA7cjxhLmxlbmd0aDtyKz0yKXtsZXQgaT1lLm1hcChhW3JdLDEpLG89ZS5tYXAoYVtyKzFdLC0xKTtpPD1vJiZ0LnB1c2goaSxvKX1yZXR1cm4gdH1mdW5jdGlvbiBiSWEoYSxlLHQpe2xldCByPVpyZShlKSxpPXNsLmdldChlKS5zcGVjLmNvbmZpZyxvPSh0P2EudW5kb25lOmEuZG9uZSkucG9wRXZlbnQoZSxyKTtpZighbylyZXR1cm4gbnVsbDtsZXQgbj1vLnNlbGVjdGlvbi5yZXNvbHZlKG8udHJhbnNmb3JtLmRvYyksbD0odD9hLmRvbmU6YS51bmRvbmUpLmFkZFRyYW5zZm9ybShvLnRyYW5zZm9ybSxlLnNlbGVjdGlvbi5nZXRCb29rbWFyaygpLGksciksZD1uZXcgcmwodD9sOm8ucmVtYWluaW5nLHQ/by5yZW1haW5pbmc6bCxudWxsLDAsLTEpO3JldHVybiBvLnRyYW5zZm9ybS5zZXRTZWxlY3Rpb24obikuc2V0TWV0YShzbCx7cmVkbzp0LGhpc3RvcnlTdGF0ZTpkfSl9ZnVuY3Rpb24gWnJlKGEpe2xldCBlPWEucGx1Z2lucztpZihyMmEhPWUpe2FYZT0hMSxyMmE9ZTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKylpZihlW3RdLnNwZWMuaGlzdG9yeVByZXNlcnZlSXRlbXMpe2FYZT0hMDticmVha319cmV0dXJuIGFYZX1mdW5jdGlvbiB2SWEoYSl7cmV0dXJuIGEuc2V0TWV0YShzMmEsITApfWZ1bmN0aW9uIHJYZShhPXt9KXtyZXR1cm4gYT17ZGVwdGg6YS5kZXB0aHx8MTAwLG5ld0dyb3VwRGVsYXk6YS5uZXdHcm91cERlbGF5fHw1MDB9LG5ldyBycih7a2V5OnNsLHN0YXRlOntpbml0KCl7cmV0dXJuIG5ldyBybCh1NS5lbXB0eSx1NS5lbXB0eSxudWxsLDAsLTEpfSxhcHBseShlLHQscil7cmV0dXJuIG1JYSh0LHIsZSxhKX19LGNvbmZpZzphLHByb3BzOntoYW5kbGVET01FdmVudHM6e2JlZm9yZWlucHV0KGUsdCl7bGV0IHI9dC5pbnB1dFR5cGUsaT1yPT0iaGlzdG9yeVVuZG8iP1FyZTpyPT0iaGlzdG9yeVJlZG8iP0pyZTpudWxsO3JldHVybiFpfHwhZS5lZGl0YWJsZT8hMToodC5wcmV2ZW50RGVmYXVsdCgpLGkoZS5zdGF0ZSxlLmRpc3BhdGNoKSl9fX19KX1mdW5jdGlvbiBYcmUoYSxlKXtyZXR1cm4odCxyKT0+e2xldCBpPXNsLmdldFN0YXRlKHQpO2lmKCFpfHwoYT9pLnVuZG9uZTppLmRvbmUpLmV2ZW50Q291bnQ9PTApcmV0dXJuITE7aWYocil7bGV0IG89YklhKGksdCxhKTtvJiZyKGU/by5zY3JvbGxJbnRvVmlldygpOm8pfXJldHVybiEwfX1mdW5jdGlvbiB3SWEoYSl7bGV0IGU9c2wuZ2V0U3RhdGUoYSk7cmV0dXJuIGU/ZS5kb25lLmV2ZW50Q291bnQ6MH1mdW5jdGlvbiBNSWEoYSl7bGV0IGU9c2wuZ2V0U3RhdGUoYSk7cmV0dXJuIGU/ZS51bmRvbmUuZXZlbnRDb3VudDowfWZ1bmN0aW9uIGtJYShhKXtyZXR1cm4gYS5nZXRNZXRhKHNsKSE9bnVsbH12YXIgcElhLHU1LGFsLHJsLGhJYSxhWGUscjJhLHNsLHMyYSxRcmUsSnJlLHhJYSx5SWEsaTJhPWYoKCk9Pnt0MmEoKTt2NCgpO3ljKCk7cElhPTUwMCx1NT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkJyYW5jaCIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5pdGVtcz1lLHRoaXMuZXZlbnRDb3VudD10fXBvcEV2ZW50KGUsdCl7aWYodGhpcy5ldmVudENvdW50PT0wKXJldHVybiBudWxsO2xldCByPXRoaXMuaXRlbXMubGVuZ3RoO2Zvcig7O3ItLSlpZih0aGlzLml0ZW1zLmdldChyLTEpLnNlbGVjdGlvbil7LS1yO2JyZWFrfWxldCBpLG87dCYmKGk9dGhpcy5yZW1hcHBpbmcocix0aGlzLml0ZW1zLmxlbmd0aCksbz1pLm1hcHMubGVuZ3RoKTtsZXQgbj1lLnRyLGwsZCxjPVtdLHA9W107cmV0dXJuIHRoaXMuaXRlbXMuZm9yRWFjaCgodSxtKT0+e2lmKCF1LnN0ZXApe2l8fChpPXRoaXMucmVtYXBwaW5nKHIsbSsxKSxvPWkubWFwcy5sZW5ndGgpLG8tLSxwLnB1c2godSk7cmV0dXJufWlmKGkpe3AucHVzaChuZXcgYWwodS5tYXApKTtsZXQgdj11LnN0ZXAubWFwKGkuc2xpY2UobykpLHg7diYmbi5tYXliZVN0ZXAodikuZG9jJiYoeD1uLm1hcHBpbmcubWFwc1tuLm1hcHBpbmcubWFwcy5sZW5ndGgtMV0sYy5wdXNoKG5ldyBhbCh4LHZvaWQgMCx2b2lkIDAsYy5sZW5ndGgrcC5sZW5ndGgpKSksby0tLHgmJmkuYXBwZW5kTWFwKHgsbyl9ZWxzZSBuLm1heWJlU3RlcCh1LnN0ZXApO2lmKHUuc2VsZWN0aW9uKXJldHVybiBsPWk/dS5zZWxlY3Rpb24ubWFwKGkuc2xpY2UobykpOnUuc2VsZWN0aW9uLGQ9bmV3IGEodGhpcy5pdGVtcy5zbGljZSgwLHIpLmFwcGVuZChwLnJldmVyc2UoKS5jb25jYXQoYykpLHRoaXMuZXZlbnRDb3VudC0xKSwhMX0sdGhpcy5pdGVtcy5sZW5ndGgsMCkse3JlbWFpbmluZzpkLHRyYW5zZm9ybTpuLHNlbGVjdGlvbjpsfX1hZGRUcmFuc2Zvcm0oZSx0LHIsaSl7bGV0IG89W10sbj10aGlzLmV2ZW50Q291bnQsbD10aGlzLml0ZW1zLGQ9IWkmJmwubGVuZ3RoP2wuZ2V0KGwubGVuZ3RoLTEpOm51bGw7Zm9yKGxldCBwPTA7cDxlLnN0ZXBzLmxlbmd0aDtwKyspe2xldCB1PWUuc3RlcHNbcF0uaW52ZXJ0KGUuZG9jc1twXSksbT1uZXcgYWwoZS5tYXBwaW5nLm1hcHNbcF0sdSx0KSx2Oyh2PWQmJmQubWVyZ2UobSkpJiYobT12LHA/by5wb3AoKTpsPWwuc2xpY2UoMCxsLmxlbmd0aC0xKSksby5wdXNoKG0pLHQmJihuKyssdD12b2lkIDApLGl8fChkPW0pfWxldCBjPW4tci5kZXB0aDtyZXR1cm4gYz5oSWEmJihsPWZJYShsLGMpLG4tPWMpLG5ldyBhKGwuYXBwZW5kKG8pLG4pfXJlbWFwcGluZyhlLHQpe2xldCByPW5ldyBrbTtyZXR1cm4gdGhpcy5pdGVtcy5mb3JFYWNoKChpLG8pPT57bGV0IG49aS5taXJyb3JPZmZzZXQhPW51bGwmJm8taS5taXJyb3JPZmZzZXQ+PWU/ci5tYXBzLmxlbmd0aC1pLm1pcnJvck9mZnNldDp2b2lkIDA7ci5hcHBlbmRNYXAoaS5tYXAsbil9LGUsdCkscn1hZGRNYXBzKGUpe3JldHVybiB0aGlzLmV2ZW50Q291bnQ9PTA/dGhpczpuZXcgYSh0aGlzLml0ZW1zLmFwcGVuZChlLm1hcCh0PT5uZXcgYWwodCkpKSx0aGlzLmV2ZW50Q291bnQpfXJlYmFzZWQoZSx0KXtpZighdGhpcy5ldmVudENvdW50KXJldHVybiB0aGlzO2xldCByPVtdLGk9TWF0aC5tYXgoMCx0aGlzLml0ZW1zLmxlbmd0aC10KSxvPWUubWFwcGluZyxuPWUuc3RlcHMubGVuZ3RoLGw9dGhpcy5ldmVudENvdW50O3RoaXMuaXRlbXMuZm9yRWFjaChtPT57bS5zZWxlY3Rpb24mJmwtLX0saSk7bGV0IGQ9dDt0aGlzLml0ZW1zLmZvckVhY2gobT0+e2xldCB2PW8uZ2V0TWlycm9yKC0tZCk7aWYodj09bnVsbClyZXR1cm47bj1NYXRoLm1pbihuLHYpO2xldCB4PW8ubWFwc1t2XTtpZihtLnN0ZXApe2xldCBiPWUuc3RlcHNbdl0uaW52ZXJ0KGUuZG9jc1t2XSksZz1tLnNlbGVjdGlvbiYmbS5zZWxlY3Rpb24ubWFwKG8uc2xpY2UoZCsxLHYpKTtnJiZsKyssci5wdXNoKG5ldyBhbCh4LGIsZykpfWVsc2Ugci5wdXNoKG5ldyBhbCh4KSl9LGkpO2xldCBjPVtdO2ZvcihsZXQgbT10O208bjttKyspYy5wdXNoKG5ldyBhbChvLm1hcHNbbV0pKTtsZXQgcD10aGlzLml0ZW1zLnNsaWNlKDAsaSkuYXBwZW5kKGMpLmFwcGVuZChyKSx1PW5ldyBhKHAsbCk7cmV0dXJuIHUuZW1wdHlJdGVtQ291bnQoKT5wSWEmJih1PXUuY29tcHJlc3ModGhpcy5pdGVtcy5sZW5ndGgtci5sZW5ndGgpKSx1fWVtcHR5SXRlbUNvdW50KCl7bGV0IGU9MDtyZXR1cm4gdGhpcy5pdGVtcy5mb3JFYWNoKHQ9Pnt0LnN0ZXB8fGUrK30pLGV9Y29tcHJlc3MoZT10aGlzLml0ZW1zLmxlbmd0aCl7bGV0IHQ9dGhpcy5yZW1hcHBpbmcoMCxlKSxyPXQubWFwcy5sZW5ndGgsaT1bXSxvPTA7cmV0dXJuIHRoaXMuaXRlbXMuZm9yRWFjaCgobixsKT0+e2lmKGw+PWUpaS5wdXNoKG4pLG4uc2VsZWN0aW9uJiZvKys7ZWxzZSBpZihuLnN0ZXApe2xldCBkPW4uc3RlcC5tYXAodC5zbGljZShyKSksYz1kJiZkLmdldE1hcCgpO2lmKHItLSxjJiZ0LmFwcGVuZE1hcChjLHIpLGQpe2xldCBwPW4uc2VsZWN0aW9uJiZuLnNlbGVjdGlvbi5tYXAodC5zbGljZShyKSk7cCYmbysrO2xldCB1PW5ldyBhbChjLmludmVydCgpLGQscCksbSx2PWkubGVuZ3RoLTE7KG09aS5sZW5ndGgmJmlbdl0ubWVyZ2UodSkpP2lbdl09bTppLnB1c2godSl9fWVsc2Ugbi5tYXAmJnItLX0sdGhpcy5pdGVtcy5sZW5ndGgsMCksbmV3IGEoZVhlLmZyb20oaS5yZXZlcnNlKCkpLG8pfX07dTUuZW1wdHk9bmV3IHU1KGVYZS5lbXB0eSwwKTtzKGZJYSwiY3V0T2ZmRXZlbnRzIik7YWw9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJJdGVtIil9Y29uc3RydWN0b3IoZSx0LHIsaSl7dGhpcy5tYXA9ZSx0aGlzLnN0ZXA9dCx0aGlzLnNlbGVjdGlvbj1yLHRoaXMubWlycm9yT2Zmc2V0PWl9bWVyZ2UoZSl7aWYodGhpcy5zdGVwJiZlLnN0ZXAmJiFlLnNlbGVjdGlvbil7bGV0IHQ9ZS5zdGVwLm1lcmdlKHRoaXMuc3RlcCk7aWYodClyZXR1cm4gbmV3IGEodC5nZXRNYXAoKS5pbnZlcnQoKSx0LHRoaXMuc2VsZWN0aW9uKX19fSxybD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJIaXN0b3J5U3RhdGUiKX1jb25zdHJ1Y3RvcihlLHQscixpLG8pe3RoaXMuZG9uZT1lLHRoaXMudW5kb25lPXQsdGhpcy5wcmV2UmFuZ2VzPXIsdGhpcy5wcmV2VGltZT1pLHRoaXMucHJldkNvbXBvc2l0aW9uPW99fSxoSWE9MjA7cyhtSWEsImFwcGx5VHJhbnNhY3Rpb24iKTtzKGdJYSwiaXNBZGphY2VudFRvIik7cyhhMmEsInJhbmdlc0ZvciIpO3ModFhlLCJtYXBSYW5nZXMiKTtzKGJJYSwiaGlzdFRyYW5zYWN0aW9uIik7YVhlPSExLHIyYT1udWxsO3MoWnJlLCJtdXN0UHJlc2VydmVJdGVtcyIpO3ModklhLCJjbG9zZUhpc3RvcnkiKTtzbD1uZXcgbXMoImhpc3RvcnkiKSxzMmE9bmV3IG1zKCJjbG9zZUhpc3RvcnkiKTtzKHJYZSwiaGlzdG9yeSIpO3MoWHJlLCJidWlsZENvbW1hbmQiKTtRcmU9WHJlKCExLCEwKSxKcmU9WHJlKCEwLCEwKSx4SWE9WHJlKCExLCExKSx5SWE9WHJlKCEwLCExKTtzKHdJYSwidW5kb0RlcHRoIik7cyhNSWEsInJlZG9EZXB0aCIpO3Moa0lhLCJpc0hpc3RvcnlUcmFuc2FjdGlvbiIpfSk7dmFyIG8yYT1mKCgpPT57aTJhKCl9KTt2YXIgZXNlLG4yYT1mKCgpPT57YnIoKTtvMmEoKTtlc2U9d3IuY3JlYXRlKHtuYW1lOiJoaXN0b3J5IixhZGRPcHRpb25zKCl7cmV0dXJue2RlcHRoOjEwMCxuZXdHcm91cERlbGF5OjUwMH19LGFkZENvbW1hbmRzKCl7cmV0dXJue3VuZG86cygoKT0+KHtzdGF0ZTphLGRpc3BhdGNoOmV9KT0+UXJlKGEsZSksInVuZG8iKSxyZWRvOnMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9PkpyZShhLGUpLCJyZWRvIil9fSxhZGRQcm9zZU1pcnJvclBsdWdpbnMoKXtyZXR1cm5bclhlKHRoaXMub3B0aW9ucyldfSxhZGRLZXlib2FyZFNob3J0Y3V0cygpe3JldHVybnsiTW9kLXoiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnVuZG8oKSwiTW9kLXoiKSwiU2hpZnQtTW9kLXoiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnJlZG8oKSwiU2hpZnQtTW9kLXoiKSwiTW9kLXkiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnJlZG8oKSwiTW9kLXkiKSwiTW9kLVx1MDQ0RiI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMudW5kbygpLCJNb2QtXHUwNDRGIiksIlNoaWZ0LU1vZC1cdTA0NEYiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnJlZG8oKSwiU2hpZnQtTW9kLVx1MDQ0RiIpfX19KX0pO3ZhciB0c2UsbDJhPWYoKCk9PnticigpO2FXKCk7dHNlPW5yLmNyZWF0ZSh7bmFtZToiaG9yaXpvbnRhbFJ1bGUiLGFkZE9wdGlvbnMoKXtyZXR1cm57SFRNTEF0dHJpYnV0ZXM6e319fSxncm91cDoiYmxvY2siLHBhcnNlSFRNTCgpe3JldHVyblt7dGFnOiJociJ9XX0scmVuZGVySFRNTCh7SFRNTEF0dHJpYnV0ZXM6YX0pe3JldHVyblsiaHIiLFNhKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyxhKV19LGFkZENvbW1hbmRzKCl7cmV0dXJue3NldEhvcml6b250YWxSdWxlOnMoKCk9Pih7Y2hhaW46YSxzdGF0ZTplfSk9PntpZighUnJlKGUsZS5zY2hlbWEubm9kZXNbdGhpcy5uYW1lXSkpcmV0dXJuITE7bGV0e3NlbGVjdGlvbjp0fT1lLHskZnJvbTpyLCR0bzppfT10LG89YSgpO3JldHVybiByLnBhcmVudE9mZnNldD09PTA/by5pbnNlcnRDb250ZW50QXQoe2Zyb206TWF0aC5tYXgoci5wb3MtMSwwKSx0bzppLnBvc30se3R5cGU6dGhpcy5uYW1lfSk6SXJlKHQpP28uaW5zZXJ0Q29udGVudEF0KGkucG9zLHt0eXBlOnRoaXMubmFtZX0pOm8uaW5zZXJ0Q29udGVudCh7dHlwZTp0aGlzLm5hbWV9KSxvLmNvbW1hbmQoKHt0cjpuLGRpc3BhdGNoOmx9KT0+e3ZhciBkO2lmKGwpe2xldHskdG86Y309bi5zZWxlY3Rpb24scD1jLmVuZCgpO2lmKGMubm9kZUFmdGVyKWMubm9kZUFmdGVyLmlzVGV4dGJsb2NrP24uc2V0U2VsZWN0aW9uKFJ0LmNyZWF0ZShuLmRvYyxjLnBvcysxKSk6Yy5ub2RlQWZ0ZXIuaXNCbG9jaz9uLnNldFNlbGVjdGlvbihNdC5jcmVhdGUobi5kb2MsYy5wb3MpKTpuLnNldFNlbGVjdGlvbihSdC5jcmVhdGUobi5kb2MsYy5wb3MpKTtlbHNle2xldCB1PShkPWMucGFyZW50LnR5cGUuY29udGVudE1hdGNoLmRlZmF1bHRUeXBlKT09PW51bGx8fGQ9PT12b2lkIDA/dm9pZCAwOmQuY3JlYXRlKCk7dSYmKG4uaW5zZXJ0KHAsdSksbi5zZXRTZWxlY3Rpb24oUnQuY3JlYXRlKG4uZG9jLHArMSkpKX1uLnNjcm9sbEludG9WaWV3KCl9cmV0dXJuITB9KS5ydW4oKX0sInNldEhvcml6b250YWxSdWxlIil9fSxhZGRJbnB1dFJ1bGVzKCl7cmV0dXJuW05yZSh7ZmluZDovXig/Oi0tLXzigJQtfF9fX1xzfFwqXCpcKlxzKSQvLHR5cGU6dGhpcy50eXBlfSldfX0pfSk7dmFyIGMyYSxkMmEsdTJhLHAyYSxhc2UsZjJhPWYoKCk9PnticigpO2MyYT0vKD86XnxccykoXCooPyFccytcKikoKD86W14qXSspKVwqKD8hXHMrXCopKSQvLGQyYT0vKD86XnxccykoXCooPyFccytcKikoKD86W14qXSspKVwqKD8hXHMrXCopKS9nLHUyYT0vKD86XnxccykoXyg/IVxzK18pKCg/OlteX10rKSlfKD8hXHMrXykpJC8scDJhPS8oPzpefFxzKShfKD8hXHMrXykoKD86W15fXSspKV8oPyFccytfKSkvZyxhc2U9aWkuY3JlYXRlKHtuYW1lOiJpdGFsaWMiLGFkZE9wdGlvbnMoKXtyZXR1cm57SFRNTEF0dHJpYnV0ZXM6e319fSxwYXJzZUhUTUwoKXtyZXR1cm5be3RhZzoiZW0ifSx7dGFnOiJpIixnZXRBdHRyczpzKGE9PmEuc3R5bGUuZm9udFN0eWxlIT09Im5vcm1hbCImJm51bGwsImdldEF0dHJzIil9LHtzdHlsZToiZm9udC1zdHlsZT1ub3JtYWwiLGNsZWFyTWFyazpzKGE9PmEudHlwZS5uYW1lPT09dGhpcy5uYW1lLCJjbGVhck1hcmsiKX0se3N0eWxlOiJmb250LXN0eWxlPWl0YWxpYyJ9XX0scmVuZGVySFRNTCh7SFRNTEF0dHJpYnV0ZXM6YX0pe3JldHVyblsiZW0iLFNhKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyxhKSwwXX0sYWRkQ29tbWFuZHMoKXtyZXR1cm57c2V0SXRhbGljOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnNldE1hcmsodGhpcy5uYW1lKSwic2V0SXRhbGljIiksdG9nZ2xlSXRhbGljOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnRvZ2dsZU1hcmsodGhpcy5uYW1lKSwidG9nZ2xlSXRhbGljIiksdW5zZXRJdGFsaWM6cygoKT0+KHtjb21tYW5kczphfSk9PmEudW5zZXRNYXJrKHRoaXMubmFtZSksInVuc2V0SXRhbGljIil9fSxhZGRLZXlib2FyZFNob3J0Y3V0cygpe3JldHVybnsiTW9kLWkiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnRvZ2dsZUl0YWxpYygpLCJNb2QtaSIpLCJNb2QtSSI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMudG9nZ2xlSXRhbGljKCksIk1vZC1JIil9fSxhZGRJbnB1dFJ1bGVzKCl7cmV0dXJuW1JuKHtmaW5kOmMyYSx0eXBlOnRoaXMudHlwZX0pLFJuKHtmaW5kOnUyYSx0eXBlOnRoaXMudHlwZX0pXX0sYWRkUGFzdGVSdWxlcygpe3JldHVybltQbyh7ZmluZDpkMmEsdHlwZTp0aGlzLnR5cGV9KSxQbyh7ZmluZDpwMmEsdHlwZTp0aGlzLnR5cGV9KV19fSl9KTt2YXIgcnNlLGgyYT1mKCgpPT57YnIoKTtyc2U9bnIuY3JlYXRlKHtuYW1lOiJsaXN0SXRlbSIsYWRkT3B0aW9ucygpe3JldHVybntIVE1MQXR0cmlidXRlczp7fSxidWxsZXRMaXN0VHlwZU5hbWU6ImJ1bGxldExpc3QiLG9yZGVyZWRMaXN0VHlwZU5hbWU6Im9yZGVyZWRMaXN0In19LGNvbnRlbnQ6InBhcmFncmFwaCBibG9jayoiLGRlZmluaW5nOiEwLHBhcnNlSFRNTCgpe3JldHVyblt7dGFnOiJsaSJ9XX0scmVuZGVySFRNTCh7SFRNTEF0dHJpYnV0ZXM6YX0pe3JldHVyblsibGkiLFNhKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyxhKSwwXX0sYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKXtyZXR1cm57RW50ZXI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMuc3BsaXRMaXN0SXRlbSh0aGlzLm5hbWUpLCJFbnRlciIpLFRhYjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5zaW5rTGlzdEl0ZW0odGhpcy5uYW1lKSwiVGFiIiksIlNoaWZ0LVRhYiI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMubGlmdExpc3RJdGVtKHRoaXMubmFtZSksIlNoaWZ0LVRhYiIpfX19KX0pO3ZhciBTSWEsbTJhLHNYZSxzc2UsZzJhPWYoKCk9PnticigpO1NJYT0ibGlzdEl0ZW0iLG0yYT0idGV4dFN0eWxlIixzWGU9L14oXGQrKVwuXHMkLyxzc2U9bnIuY3JlYXRlKHtuYW1lOiJvcmRlcmVkTGlzdCIsYWRkT3B0aW9ucygpe3JldHVybntpdGVtVHlwZU5hbWU6Imxpc3RJdGVtIixIVE1MQXR0cmlidXRlczp7fSxrZWVwTWFya3M6ITEsa2VlcEF0dHJpYnV0ZXM6ITF9fSxncm91cDoiYmxvY2sgbGlzdCIsY29udGVudCgpe3JldHVybmAke3RoaXMub3B0aW9ucy5pdGVtVHlwZU5hbWV9K2B9LGFkZEF0dHJpYnV0ZXMoKXtyZXR1cm57c3RhcnQ6e2RlZmF1bHQ6MSxwYXJzZUhUTUw6cyhhPT5hLmhhc0F0dHJpYnV0ZSgic3RhcnQiKT9wYXJzZUludChhLmdldEF0dHJpYnV0ZSgic3RhcnQiKXx8IiIsMTApOjEsInBhcnNlSFRNTCIpfSx0eXBlOntkZWZhdWx0Om51bGwscGFyc2VIVE1MOnMoYT0+YS5nZXRBdHRyaWJ1dGUoInR5cGUiKSwicGFyc2VIVE1MIil9fX0scGFyc2VIVE1MKCl7cmV0dXJuW3t0YWc6Im9sIn1dfSxyZW5kZXJIVE1MKHtIVE1MQXR0cmlidXRlczphfSl7bGV0e3N0YXJ0OmUsLi4udH09YTtyZXR1cm4gZT09PTE/WyJvbCIsU2EodGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLHQpLDBdOlsib2wiLFNhKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyxhKSwwXX0sYWRkQ29tbWFuZHMoKXtyZXR1cm57dG9nZ2xlT3JkZXJlZExpc3Q6cygoKT0+KHtjb21tYW5kczphLGNoYWluOmV9KT0+dGhpcy5vcHRpb25zLmtlZXBBdHRyaWJ1dGVzP2UoKS50b2dnbGVMaXN0KHRoaXMubmFtZSx0aGlzLm9wdGlvbnMuaXRlbVR5cGVOYW1lLHRoaXMub3B0aW9ucy5rZWVwTWFya3MpLnVwZGF0ZUF0dHJpYnV0ZXMoU0lhLHRoaXMuZWRpdG9yLmdldEF0dHJpYnV0ZXMobTJhKSkucnVuKCk6YS50b2dnbGVMaXN0KHRoaXMubmFtZSx0aGlzLm9wdGlvbnMuaXRlbVR5cGVOYW1lLHRoaXMub3B0aW9ucy5rZWVwTWFya3MpLCJ0b2dnbGVPcmRlcmVkTGlzdCIpfX0sYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKXtyZXR1cm57Ik1vZC1TaGlmdC03IjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy50b2dnbGVPcmRlcmVkTGlzdCgpLCJNb2QtU2hpZnQtNyIpfX0sYWRkSW5wdXRSdWxlcygpe2xldCBhPXRsKHtmaW5kOnNYZSx0eXBlOnRoaXMudHlwZSxnZXRBdHRyaWJ1dGVzOnMoZT0+KHtzdGFydDorZVsxXX0pLCJnZXRBdHRyaWJ1dGVzIiksam9pblByZWRpY2F0ZTpzKChlLHQpPT50LmNoaWxkQ291bnQrdC5hdHRycy5zdGFydD09PStlWzFdLCJqb2luUHJlZGljYXRlIil9KTtyZXR1cm4odGhpcy5vcHRpb25zLmtlZXBNYXJrc3x8dGhpcy5vcHRpb25zLmtlZXBBdHRyaWJ1dGVzKSYmKGE9dGwoe2ZpbmQ6c1hlLHR5cGU6dGhpcy50eXBlLGtlZXBNYXJrczp0aGlzLm9wdGlvbnMua2VlcE1hcmtzLGtlZXBBdHRyaWJ1dGVzOnRoaXMub3B0aW9ucy5rZWVwQXR0cmlidXRlcyxnZXRBdHRyaWJ1dGVzOnMoZT0+KHtzdGFydDorZVsxXSwuLi50aGlzLmVkaXRvci5nZXRBdHRyaWJ1dGVzKG0yYSl9KSwiZ2V0QXR0cmlidXRlcyIpLGpvaW5QcmVkaWNhdGU6cygoZSx0KT0+dC5jaGlsZENvdW50K3QuYXR0cnMuc3RhcnQ9PT0rZVsxXSwiam9pblByZWRpY2F0ZSIpLGVkaXRvcjp0aGlzLmVkaXRvcn0pKSxbYV19fSl9KTt2YXIgaXNlLGIyYT1mKCgpPT57YnIoKTtpc2U9bnIuY3JlYXRlKHtuYW1lOiJwYXJhZ3JhcGgiLHByaW9yaXR5OjFlMyxhZGRPcHRpb25zKCl7cmV0dXJue0hUTUxBdHRyaWJ1dGVzOnt9fX0sZ3JvdXA6ImJsb2NrIixjb250ZW50OiJpbmxpbmUqIixwYXJzZUhUTUwoKXtyZXR1cm5be3RhZzoicCJ9XX0scmVuZGVySFRNTCh7SFRNTEF0dHJpYnV0ZXM6YX0pe3JldHVyblsicCIsU2EodGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLGEpLDBdfSxhZGRDb21tYW5kcygpe3JldHVybntzZXRQYXJhZ3JhcGg6cygoKT0+KHtjb21tYW5kczphfSk9PmEuc2V0Tm9kZSh0aGlzLm5hbWUpLCJzZXRQYXJhZ3JhcGgiKX19LGFkZEtleWJvYXJkU2hvcnRjdXRzKCl7cmV0dXJueyJNb2QtQWx0LTAiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnNldFBhcmFncmFwaCgpLCJNb2QtQWx0LTAiKX19fSl9KTt2YXIgdjJhLHgyYSxvc2UseTJhPWYoKCk9PnticigpO3YyYT0vKD86Xnxccykofn4oPyFccyt+fikoKD86W15+XSspKX5+KD8hXHMrfn4pKSQvLHgyYT0vKD86Xnxccykofn4oPyFccyt+fikoKD86W15+XSspKX5+KD8hXHMrfn4pKS9nLG9zZT1paS5jcmVhdGUoe25hbWU6InN0cmlrZSIsYWRkT3B0aW9ucygpe3JldHVybntIVE1MQXR0cmlidXRlczp7fX19LHBhcnNlSFRNTCgpe3JldHVyblt7dGFnOiJzIn0se3RhZzoiZGVsIn0se3RhZzoic3RyaWtlIn0se3N0eWxlOiJ0ZXh0LWRlY29yYXRpb24iLGNvbnN1bWluZzohMSxnZXRBdHRyczpzKGE9PmEuaW5jbHVkZXMoImxpbmUtdGhyb3VnaCIpP3t9OiExLCJnZXRBdHRycyIpfV19LHJlbmRlckhUTUwoe0hUTUxBdHRyaWJ1dGVzOmF9KXtyZXR1cm5bInMiLFNhKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyxhKSwwXX0sYWRkQ29tbWFuZHMoKXtyZXR1cm57c2V0U3RyaWtlOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnNldE1hcmsodGhpcy5uYW1lKSwic2V0U3RyaWtlIiksdG9nZ2xlU3RyaWtlOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnRvZ2dsZU1hcmsodGhpcy5uYW1lKSwidG9nZ2xlU3RyaWtlIiksdW5zZXRTdHJpa2U6cygoKT0+KHtjb21tYW5kczphfSk9PmEudW5zZXRNYXJrKHRoaXMubmFtZSksInVuc2V0U3RyaWtlIil9fSxhZGRLZXlib2FyZFNob3J0Y3V0cygpe3JldHVybnsiTW9kLVNoaWZ0LXMiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnRvZ2dsZVN0cmlrZSgpLCJNb2QtU2hpZnQtcyIpfX0sYWRkSW5wdXRSdWxlcygpe3JldHVybltSbih7ZmluZDp2MmEsdHlwZTp0aGlzLnR5cGV9KV19LGFkZFBhc3RlUnVsZXMoKXtyZXR1cm5bUG8oe2ZpbmQ6eDJhLHR5cGU6dGhpcy50eXBlfSldfX0pfSk7dmFyIG5zZSx3MmE9ZigoKT0+e2JyKCk7bnNlPW5yLmNyZWF0ZSh7bmFtZToidGV4dCIsZ3JvdXA6ImlubGluZSJ9KX0pO3ZhciBNMmE9e307cnQoTTJhLHtTdGFydGVyS2l0OigpPT5pWGUsZGVmYXVsdDooKT0+aVhlfSk7dmFyIGlYZSxrMmE9ZigoKT0+e2JyKCk7JDFhKCk7STFhKCk7UjFhKCk7QjFhKCk7VjFhKCk7ajFhKCk7RzFhKCk7WDFhKCk7UTFhKCk7SjFhKCk7bjJhKCk7bDJhKCk7ZjJhKCk7aDJhKCk7ZzJhKCk7YjJhKCk7eTJhKCk7dzJhKCk7aVhlPXdyLmNyZWF0ZSh7bmFtZToic3RhcnRlcktpdCIsYWRkRXh0ZW5zaW9ucygpe2xldCBhPVtdO3JldHVybiB0aGlzLm9wdGlvbnMuYm9sZCE9PSExJiZhLnB1c2goRnJlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMuYm9sZCkpLHRoaXMub3B0aW9ucy5ibG9ja3F1b3RlIT09ITEmJmEucHVzaChPcmUuY29uZmlndXJlKHRoaXMub3B0aW9ucy5ibG9ja3F1b3RlKSksdGhpcy5vcHRpb25zLmJ1bGxldExpc3QhPT0hMSYmYS5wdXNoKEJyZS5jb25maWd1cmUodGhpcy5vcHRpb25zLmJ1bGxldExpc3QpKSx0aGlzLm9wdGlvbnMuY29kZSE9PSExJiZhLnB1c2goSHJlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMuY29kZSkpLHRoaXMub3B0aW9ucy5jb2RlQmxvY2shPT0hMSYmYS5wdXNoKHFyZS5jb25maWd1cmUodGhpcy5vcHRpb25zLmNvZGVCbG9jaykpLHRoaXMub3B0aW9ucy5kb2N1bWVudCE9PSExJiZhLnB1c2goVnJlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMuZG9jdW1lbnQpKSx0aGlzLm9wdGlvbnMuZHJvcGN1cnNvciE9PSExJiZhLnB1c2goanJlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMuZHJvcGN1cnNvcikpLHRoaXMub3B0aW9ucy5nYXBjdXJzb3IhPT0hMSYmYS5wdXNoKFdyZS5jb25maWd1cmUodGhpcy5vcHRpb25zLmdhcGN1cnNvcikpLHRoaXMub3B0aW9ucy5oYXJkQnJlYWshPT0hMSYmYS5wdXNoKEdyZS5jb25maWd1cmUodGhpcy5vcHRpb25zLmhhcmRCcmVhaykpLHRoaXMub3B0aW9ucy5oZWFkaW5nIT09ITEmJmEucHVzaChZcmUuY29uZmlndXJlKHRoaXMub3B0aW9ucy5oZWFkaW5nKSksdGhpcy5vcHRpb25zLmhpc3RvcnkhPT0hMSYmYS5wdXNoKGVzZS5jb25maWd1cmUodGhpcy5vcHRpb25zLmhpc3RvcnkpKSx0aGlzLm9wdGlvbnMuaG9yaXpvbnRhbFJ1bGUhPT0hMSYmYS5wdXNoKHRzZS5jb25maWd1cmUodGhpcy5vcHRpb25zLmhvcml6b250YWxSdWxlKSksdGhpcy5vcHRpb25zLml0YWxpYyE9PSExJiZhLnB1c2goYXNlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMuaXRhbGljKSksdGhpcy5vcHRpb25zLmxpc3RJdGVtIT09ITEmJmEucHVzaChyc2UuY29uZmlndXJlKHRoaXMub3B0aW9ucy5saXN0SXRlbSkpLHRoaXMub3B0aW9ucy5vcmRlcmVkTGlzdCE9PSExJiZhLnB1c2goc3NlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMub3JkZXJlZExpc3QpKSx0aGlzLm9wdGlvbnMucGFyYWdyYXBoIT09ITEmJmEucHVzaChpc2UuY29uZmlndXJlKHRoaXMub3B0aW9ucy5wYXJhZ3JhcGgpKSx0aGlzLm9wdGlvbnMuc3RyaWtlIT09ITEmJmEucHVzaChvc2UuY29uZmlndXJlKHRoaXMub3B0aW9ucy5zdHJpa2UpKSx0aGlzLm9wdGlvbnMudGV4dCE9PSExJiZhLnB1c2gobnNlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMudGV4dCkpLGF9fSl9KTt2YXIgUzJhPXt9O3J0KFMyYSx7VW5kZXJsaW5lOigpPT5vWGUsZGVmYXVsdDooKT0+b1hlfSk7dmFyIG9YZSx6MmE9ZigoKT0+e2JyKCk7b1hlPWlpLmNyZWF0ZSh7bmFtZToidW5kZXJsaW5lIixhZGRPcHRpb25zKCl7cmV0dXJue0hUTUxBdHRyaWJ1dGVzOnt9fX0scGFyc2VIVE1MKCl7cmV0dXJuW3t0YWc6InUifSx7c3R5bGU6InRleHQtZGVjb3JhdGlvbiIsY29uc3VtaW5nOiExLGdldEF0dHJzOnMoYT0+YS5pbmNsdWRlcygidW5kZXJsaW5lIik/e306ITEsImdldEF0dHJzIil9XX0scmVuZGVySFRNTCh7SFRNTEF0dHJpYnV0ZXM6YX0pe3JldHVyblsidSIsU2EodGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLGEpLDBdfSxhZGRDb21tYW5kcygpe3JldHVybntzZXRVbmRlcmxpbmU6cygoKT0+KHtjb21tYW5kczphfSk9PmEuc2V0TWFyayh0aGlzLm5hbWUpLCJzZXRVbmRlcmxpbmUiKSx0b2dnbGVVbmRlcmxpbmU6cygoKT0+KHtjb21tYW5kczphfSk9PmEudG9nZ2xlTWFyayh0aGlzLm5hbWUpLCJ0b2dnbGVVbmRlcmxpbmUiKSx1bnNldFVuZGVybGluZTpzKCgpPT4oe2NvbW1hbmRzOmF9KT0+YS51bnNldE1hcmsodGhpcy5uYW1lKSwidW5zZXRVbmRlcmxpbmUiKX19LGFkZEtleWJvYXJkU2hvcnRjdXRzKCl7cmV0dXJueyJNb2QtdSI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMudG9nZ2xlVW5kZXJsaW5lKCksIk1vZC11IiksIk1vZC1VIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy50b2dnbGVVbmRlcmxpbmUoKSwiTW9kLVUiKX19fSl9KTt2YXIgQzJhPXt9O3J0KEMyYSx7VGV4dEFsaWduOigpPT5uWGUsZGVmYXVsdDooKT0+blhlfSk7dmFyIG5YZSxfMmE9ZigoKT0+e2JyKCk7blhlPXdyLmNyZWF0ZSh7bmFtZToidGV4dEFsaWduIixhZGRPcHRpb25zKCl7cmV0dXJue3R5cGVzOltdLGFsaWdubWVudHM6WyJsZWZ0IiwiY2VudGVyIiwicmlnaHQiLCJqdXN0aWZ5Il0sZGVmYXVsdEFsaWdubWVudDpudWxsfX0sYWRkR2xvYmFsQXR0cmlidXRlcygpe3JldHVyblt7dHlwZXM6dGhpcy5vcHRpb25zLnR5cGVzLGF0dHJpYnV0ZXM6e3RleHRBbGlnbjp7ZGVmYXVsdDp0aGlzLm9wdGlvbnMuZGVmYXVsdEFsaWdubWVudCxwYXJzZUhUTUw6cyhhPT57bGV0IGU9YS5zdHlsZS50ZXh0QWxpZ247cmV0dXJuIHRoaXMub3B0aW9ucy5hbGlnbm1lbnRzLmluY2x1ZGVzKGUpP2U6dGhpcy5vcHRpb25zLmRlZmF1bHRBbGlnbm1lbnR9LCJwYXJzZUhUTUwiKSxyZW5kZXJIVE1MOnMoYT0+YS50ZXh0QWxpZ24/e3N0eWxlOmB0ZXh0LWFsaWduOiAke2EudGV4dEFsaWdufWB9Ont9LCJyZW5kZXJIVE1MIil9fX1dfSxhZGRDb21tYW5kcygpe3JldHVybntzZXRUZXh0QWxpZ246cyhhPT4oe2NvbW1hbmRzOmV9KT0+dGhpcy5vcHRpb25zLmFsaWdubWVudHMuaW5jbHVkZXMoYSk/dGhpcy5vcHRpb25zLnR5cGVzLm1hcCh0PT5lLnVwZGF0ZUF0dHJpYnV0ZXModCx7dGV4dEFsaWduOmF9KSkuZXZlcnkodD0+dCk6ITEsInNldFRleHRBbGlnbiIpLHVuc2V0VGV4dEFsaWduOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT50aGlzLm9wdGlvbnMudHlwZXMubWFwKGU9PmEucmVzZXRBdHRyaWJ1dGVzKGUsInRleHRBbGlnbiIpKS5ldmVyeShlPT5lKSwidW5zZXRUZXh0QWxpZ24iKSx0b2dnbGVUZXh0QWxpZ246cyhhPT4oe2VkaXRvcjplLGNvbW1hbmRzOnR9KT0+dGhpcy5vcHRpb25zLmFsaWdubWVudHMuaW5jbHVkZXMoYSk/ZS5pc0FjdGl2ZSh7dGV4dEFsaWduOmF9KT90LnVuc2V0VGV4dEFsaWduKCk6dC5zZXRUZXh0QWxpZ24oYSk6ITEsInRvZ2dsZVRleHRBbGlnbiIpfX0sYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKXtyZXR1cm57Ik1vZC1TaGlmdC1sIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5zZXRUZXh0QWxpZ24oImxlZnQiKSwiTW9kLVNoaWZ0LWwiKSwiTW9kLVNoaWZ0LWUiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnNldFRleHRBbGlnbigiY2VudGVyIiksIk1vZC1TaGlmdC1lIiksIk1vZC1TaGlmdC1yIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5zZXRUZXh0QWxpZ24oInJpZ2h0IiksIk1vZC1TaGlmdC1yIiksIk1vZC1TaGlmdC1qIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5zZXRUZXh0QWxpZ24oImp1c3RpZnkiKSwiTW9kLVNoaWZ0LWoiKX19fSl9KTtmdW5jdGlvbiBMSWEoYSxlKXtyZXR1cm4gYSBpbiBlfHwoZVthXT1bXSksZVthXX1mdW5jdGlvbiBwNShhLGUsdCl7ZVtsWGVdJiYoZVtTV109ITAsZVt6V109ITApLGVbY1hlXSYmKGVbU1ddPSEwLGVbZFhlXT0hMCksZVtTV10mJihlW3pXXT0hMCksZVtkWGVdJiYoZVt6V109ITApLGVbelddJiYoZVt1WGVdPSEwKSxlW1QyYV0mJihlW3VYZV09ITApO2ZvcihsZXQgciBpbiBlKXtsZXQgaT1MSWEocix0KTtpLmluZGV4T2YoYSk8MCYmaS5wdXNoKGEpfX1mdW5jdGlvbiAkSWEoYSxlKXtsZXQgdD17fTtmb3IobGV0IHIgaW4gZSllW3JdLmluZGV4T2YoYSk+PTAmJih0W3JdPSEwKTtyZXR1cm4gdH1mdW5jdGlvbiBYaShhPW51bGwpe3RoaXMuaj17fSx0aGlzLmpyPVtdLHRoaXMuamQ9bnVsbCx0aGlzLnQ9YX1mdW5jdGlvbiBJSWEoYT1bXSl7bGV0IGU9e307WGkuZ3JvdXBzPWU7bGV0IHQ9bmV3IFhpO09zZT09bnVsbCYmKE9zZT1PMmEoeklhKSksRnNlPT1udWxsJiYoRnNlPU8yYShDSWEpKSxLZSh0LCInIixTc2UpLEtlKHQsInsiLF9XKSxLZSh0LCJ9IixUVyksS2UodCwiWyIsY3NlKSxLZSh0LCJdIixkc2UpLEtlKHQsIigiLHVzZSksS2UodCwiKSIscHNlKSxLZSh0LCI8Iixmc2UpLEtlKHQsIj4iLGhzZSksS2UodCwiXHVGRjA4Iixtc2UpLEtlKHQsIlx1RkYwOSIsZ3NlKSxLZSh0LCJcdTMwMEMiLGJzZSksS2UodCwiXHUzMDBEIix2c2UpLEtlKHQsIlx1MzAwRSIseHNlKSxLZSh0LCJcdTMwMEYiLHlzZSksS2UodCwiXHVGRjFDIix3c2UpLEtlKHQsIlx1RkYxRSIsTXNlKSxLZSh0LCImIixrc2UpLEtlKHQsIioiLHpzZSksS2UodCwiQCIsQzQpLEtlKHQsImAiLF9zZSksS2UodCwiXiIsVHNlKSxLZSh0LCI6IixfNCksS2UodCwiLCIseFhlKSxLZSh0LCIkIixMc2UpLEtlKHQsIi4iLGlsKSxLZSh0LCI9Iiwkc2UpLEtlKHQsIiEiLHlYZSksS2UodCwiLSIsT24pLEtlKHQsIiUiLExXKSxLZSh0LCJ8IixEc2UpLEtlKHQsIisiLEFzZSksS2UodCwiIyIsRXNlKSxLZSh0LCI/IiwkVyksS2UodCwnIicsd1hlKSxLZSh0LCIvIixvbCksS2UodCwiOyIsTVhlKSxLZSh0LCJ+IixEVyksS2UodCwiXyIsUHNlKSxLZSh0LCJcXCIsQ3NlKSxLZSh0LCJcdTMwRkIiLEEyYSk7bGV0IHI9cXIodCxsbCxnWGUse1tsWGVdOiEwfSk7cXIocixsbCxyKTtsZXQgaT1xcihyLG5sLCQyYSx7W1NXXTohMH0pLG89cXIocixXbSxEMmEse1t6V106ITB9KSxuPXFyKHQsbmwsX2Mse1tjWGVdOiEwfSk7cXIobixsbCxpKSxxcihuLG5sLG4pLHFyKGksbGwsaSkscXIoaSxubCxpKTtsZXQgbD1xcih0LFdtLGZYZSx7W2RYZV06ITB9KTtxcihsLG5sKSxxcihsLGxsLG8pLHFyKGwsV20sbCkscXIobyxsbCxvKSxxcihvLG5sKSxxcihvLFdtLG8pO2xldCBkPUtlKHQsa1hlLHZYZSx7W3BYZV06ITB9KSxjPUtlKHQsSTJhLGJYZSx7W3BYZV06ITB9KSxwPXFyKHQsUnNlLGJYZSx7W3BYZV06ITB9KTtLZSh0LFNYZSxwKSxLZShjLGtYZSxkKSxLZShjLFNYZSxwKSxxcihjLFJzZSxwKSxLZShwLEkyYSksS2UocCxrWGUpLHFyKHAsUnNlLHApLEtlKHAsU1hlLHApO2xldCB1PXFyKHQsTnNlLEUyYSx7W1QyYV06ITB9KTtLZSh1LCIjIikscXIodSxOc2UsdSksS2UodSxFSWEsdSk7bGV0IG09S2UodSxQSWEpO0tlKG0sIiMiKSxxcihtLE5zZSx1KTtsZXQgdj1bW25sLG5dLFtsbCxpXV0seD1bW25sLG51bGxdLFtXbSxsXSxbbGwsb11dO2ZvcihsZXQgYj0wO2I8T3NlLmxlbmd0aDtiKyspVDQodCxPc2VbYl0saFhlLF9jLHYpO2ZvcihsZXQgYj0wO2I8RnNlLmxlbmd0aDtiKyspVDQodCxGc2VbYl0sbVhlLGZYZSx4KTtwNShoWGUse3RsZDohMCxhc2NpaTohMH0sZSkscDUobVhlLHt1dGxkOiEwLGFscGhhOiEwfSxlKSxUNCh0LCJmaWxlIixsc2UsX2MsdiksVDQodCwibWFpbHRvIixsc2UsX2MsdiksVDQodCwiaHR0cCIsVW0sX2MsdiksVDQodCwiaHR0cHMiLFVtLF9jLHYpLFQ0KHQsImZ0cCIsVW0sX2MsdiksVDQodCwiZnRwcyIsVW0sX2MsdikscDUobHNlLHtzY2hlbWU6ITAsYXNjaWk6ITB9LGUpLHA1KFVtLHtzbGFzaHNjaGVtZTohMCxhc2NpaTohMH0sZSksYT1hLnNvcnQoKGIsZyk9PmJbMF0+Z1swXT8xOi0xKTtmb3IobGV0IGI9MDtiPGEubGVuZ3RoO2IrKyl7bGV0IGc9YVtiXVswXSxrPWFbYl1bMV0/e1tfSWFdOiEwfTp7W1RJYV06ITB9O2cuaW5kZXhPZigiLSIpPj0wP2tbdVhlXT0hMDpubC50ZXN0KGcpP2xsLnRlc3QoZyk/a1tTV109ITA6a1tjWGVdPSEwOmtbbFhlXT0hMCxMMmEodCxnLGcsayl9cmV0dXJuIEwyYSh0LCJsb2NhbGhvc3QiLENXLHthc2NpaTohMH0pLHQuamQ9bmV3IFhpKElzZSkse3N0YXJ0OnQsdG9rZW5zOk9iamVjdC5hc3NpZ24oe2dyb3VwczplfSxQMmEpfX1mdW5jdGlvbiBOMmEoYSxlKXtsZXQgdD1SMmEoZS5yZXBsYWNlKC9bQS1aXS9nLGw9PmwudG9Mb3dlckNhc2UoKSkpLHI9dC5sZW5ndGgsaT1bXSxvPTAsbj0wO2Zvcig7bjxyOyl7bGV0IGw9YSxkPW51bGwsYz0wLHA9bnVsbCx1PS0xLG09LTE7Zm9yKDtuPHImJihkPWwuZ28odFtuXSkpOylsPWQsbC5hY2NlcHRzKCk/KHU9MCxtPTAscD1sKTp1Pj0wJiYodSs9dFtuXS5sZW5ndGgsbSsrKSxjKz10W25dLmxlbmd0aCxvKz10W25dLmxlbmd0aCxuKys7by09dSxuLT1tLGMtPXUsaS5wdXNoKHt0OnAudCx2OmUuc2xpY2Uoby1jLG8pLHM6by1jLGU6b30pfXJldHVybiBpfWZ1bmN0aW9uIFIyYShhKXtsZXQgZT1bXSx0PWEubGVuZ3RoLHI9MDtmb3IoO3I8dDspe2xldCBpPWEuY2hhckNvZGVBdChyKSxvLG49aTw1NTI5Nnx8aT41NjMxOXx8cisxPT09dHx8KG89YS5jaGFyQ29kZUF0KHIrMSkpPDU2MzIwfHxvPjU3MzQzP2Fbcl06YS5zbGljZShyLHIrMik7ZS5wdXNoKG4pLHIrPW4ubGVuZ3RofXJldHVybiBlfWZ1bmN0aW9uIFQ0KGEsZSx0LHIsaSl7bGV0IG8sbj1lLmxlbmd0aDtmb3IobGV0IGw9MDtsPG4tMTtsKyspe2xldCBkPWVbbF07YS5qW2RdP289YS5qW2RdOihvPW5ldyBYaShyKSxvLmpyPWkuc2xpY2UoKSxhLmpbZF09byksYT1vfXJldHVybiBvPW5ldyBYaSh0KSxvLmpyPWkuc2xpY2UoKSxhLmpbZVtuLTFdXT1vLG99ZnVuY3Rpb24gTzJhKGEpe2xldCBlPVtdLHQ9W10scj0wLGk9IjAxMjM0NTY3ODkiO2Zvcig7cjxhLmxlbmd0aDspe2xldCBvPTA7Zm9yKDtpLmluZGV4T2YoYVtyK29dKT49MDspbysrO2lmKG8+MCl7ZS5wdXNoKHQuam9pbigiIikpO2ZvcihsZXQgbj1wYXJzZUludChhLnN1YnN0cmluZyhyLHIrbyksMTApO24+MDtuLS0pdC5wb3AoKTtyKz1vfWVsc2UgdC5wdXNoKGFbcl0pLHIrK31yZXR1cm4gZX1mdW5jdGlvbiBBVyhhLGU9bnVsbCl7bGV0IHQ9T2JqZWN0LmFzc2lnbih7fSxHbSk7YSYmKHQ9T2JqZWN0LmFzc2lnbih0LGEgaW5zdGFuY2VvZiBBVz9hLm86YSkpO2xldCByPXQuaWdub3JlVGFncyxpPVtdO2ZvcihsZXQgbz0wO288ci5sZW5ndGg7bysrKWkucHVzaChyW29dLnRvVXBwZXJDYXNlKCkpO3RoaXMubz10LGUmJih0aGlzLmRlZmF1bHRSZW5kZXI9ZSksdGhpcy5pZ25vcmVUYWdzPWl9ZnVuY3Rpb24gRjJhKGEpe3JldHVybiBhfWZ1bmN0aW9uIEVXKGEsZSl7dGhpcy50PSJ0b2tlbiIsdGhpcy52PWEsdGhpcy50az1lfWZ1bmN0aW9uIFltKGEsZSl7Y2xhc3MgdCBleHRlbmRzIEVXe3N0YXRpY3tzKHRoaXMsIlRva2VuIil9Y29uc3RydWN0b3IoaSxvKXtzdXBlcihpLG8pLHRoaXMudD1hfX1mb3IobGV0IHIgaW4gZSl0LnByb3RvdHlwZVtyXT1lW3JdO3JldHVybiB0LnQ9YSx0fWZ1bmN0aW9uIFJJYSh7Z3JvdXBzOmF9KXtsZXQgZT1hLmRvbWFpbi5jb25jYXQoW2tzZSx6c2UsQzQsQ3NlLF9zZSxUc2UsTHNlLCRzZSxPbixnWGUsTFcsRHNlLEFzZSxFc2Usb2wsSXNlLERXLFBzZV0pLHQ9W1NzZSxfNCx4WGUsaWwseVhlLExXLCRXLHdYZSxNWGUsZnNlLGhzZSxfVyxUVyxkc2UsY3NlLHVzZSxwc2UsbXNlLGdzZSxic2UsdnNlLHhzZSx5c2Usd3NlLE1zZV0scj1ba3NlLFNzZSx6c2UsQ3NlLF9zZSxUc2UsTHNlLCRzZSxPbixfVyxUVyxMVyxEc2UsQXNlLEVzZSwkVyxvbCxJc2UsRFcsUHNlXSxpPUZuKCksbz1LZShpLERXKTthYShvLHIsbyksYWEobyxhLmRvbWFpbixvKTtsZXQgbj1GbigpLGw9Rm4oKSxkPUZuKCk7YWEoaSxhLmRvbWFpbixuKSxhYShpLGEuc2NoZW1lLGwpLGFhKGksYS5zbGFzaHNjaGVtZSxkKSxhYShuLHIsbyksYWEobixhLmRvbWFpbixuKTtsZXQgYz1LZShuLEM0KTtLZShvLEM0LGMpLEtlKGwsQzQsYyksS2UoZCxDNCxjKTtsZXQgcD1LZShvLGlsKTthYShwLHIsbyksYWEocCxhLmRvbWFpbixvKTtsZXQgdT1GbigpO2FhKGMsYS5kb21haW4sdSksYWEodSxhLmRvbWFpbix1KTtsZXQgbT1LZSh1LGlsKTthYShtLGEuZG9tYWluLHUpO2xldCB2PUZuKHpYZSk7YWEobSxhLnRsZCx2KSxhYShtLGEudXRsZCx2KSxLZShjLENXLHYpO2xldCB4PUtlKHUsT24pO0tlKHgsT24seCksYWEoeCxhLmRvbWFpbix1KSxhYSh2LGEuZG9tYWluLHUpLEtlKHYsaWwsbSksS2UodixPbix4KTtsZXQgYj1LZSh2LF80KTthYShiLGEubnVtZXJpYyx6WGUpO2xldCBnPUtlKG4sT24pLHk9S2UobixpbCk7S2UoZyxPbixnKSxhYShnLGEuZG9tYWluLG4pLGFhKHkscixvKSxhYSh5LGEuZG9tYWluLG4pO2xldCBrPUZuKFBXKTthYSh5LGEudGxkLGspLGFhKHksYS51dGxkLGspLGFhKGssYS5kb21haW4sbiksYWEoayxyLG8pLEtlKGssaWwseSksS2UoayxPbixnKSxLZShrLEM0LGMpO2xldCBDPUtlKGssXzQpLE49Rm4oUFcpO2FhKEMsYS5udW1lcmljLE4pO2xldCBfPUZuKFBXKSx6PUZuKCk7YWEoXyxlLF8pLGFhKF8sdCx6KSxhYSh6LGUsXyksYWEoeix0LHopLEtlKGssb2wsXyksS2UoTixvbCxfKTtsZXQgTz1LZShsLF80KSxUPUtlKGQsXzQpLEU9S2UoVCxvbCksQj1LZShFLG9sKTthYShsLGEuZG9tYWluLG4pLEtlKGwsaWwseSksS2UobCxPbixnKSxhYShkLGEuZG9tYWluLG4pLEtlKGQsaWwseSksS2UoZCxPbixnKSxhYShPLGEuZG9tYWluLF8pLEtlKE8sb2wsXyksS2UoTywkVyxfKSxhYShCLGEuZG9tYWluLF8pLGFhKEIsZSxfKSxLZShCLG9sLF8pO2xldCBNPVtbX1csVFddLFtjc2UsZHNlXSxbdXNlLHBzZV0sW2ZzZSxoc2VdLFttc2UsZ3NlXSxbYnNlLHZzZV0sW3hzZSx5c2VdLFt3c2UsTXNlXV07Zm9yKGxldCBTPTA7UzxNLmxlbmd0aDtTKyspe2xldFtQLEFdPU1bU10sRj1LZShfLFApO0tlKHosUCxGKSxLZShGLEEsXyk7bGV0IFc9Rm4oUFcpO2FhKEYsZSxXKTtsZXQgaj1GbigpO2FhKEYsdCksYWEoVyxlLFcpLGFhKFcsdCxqKSxhYShqLGUsVyksYWEoaix0LGopLEtlKFcsQSxfKSxLZShqLEEsXyl9cmV0dXJuIEtlKGksQ1csayksS2UoaSx2WGUsQjJhKSx7c3RhcnQ6aSx0b2tlbnM6UDJhfX1mdW5jdGlvbiBPSWEoYSxlLHQpe2xldCByPXQubGVuZ3RoLGk9MCxvPVtdLG49W107Zm9yKDtpPHI7KXtsZXQgbD1hLGQ9bnVsbCxjPW51bGwscD0wLHU9bnVsbCxtPS0xO2Zvcig7aTxyJiYhKGQ9bC5nbyh0W2ldLnQpKTspbi5wdXNoKHRbaSsrXSk7Zm9yKDtpPHImJihjPWR8fGwuZ28odFtpXS50KSk7KWQ9bnVsbCxsPWMsbC5hY2NlcHRzKCk/KG09MCx1PWwpOm0+PTAmJm0rKyxpKysscCsrO2lmKG08MClpLT1wLGk8ciYmKG4ucHVzaCh0W2ldKSxpKyspO2Vsc2V7bi5sZW5ndGg+MCYmKG8ucHVzaChfWGUoQ1hlLGUsbikpLG49W10pLGktPW0scC09bTtsZXQgdj11LnQseD10LnNsaWNlKGktcCxpKTtvLnB1c2goX1hlKHYsZSx4KSl9fXJldHVybiBuLmxlbmd0aD4wJiZvLnB1c2goX1hlKENYZSxlLG4pKSxvfWZ1bmN0aW9uIF9YZShhLGUsdCl7bGV0IHI9dFswXS5zLGk9dFt0Lmxlbmd0aC0xXS5lLG89ZS5zbGljZShyLGkpO3JldHVybiBuZXcgYShvLHQpfWZ1bmN0aW9uIExYZSgpe3JldHVybiBYaS5ncm91cHM9e30semEuc2Nhbm5lcj1udWxsLHphLnBhcnNlcj1udWxsLHphLnRva2VuUXVldWU9W10semEucGx1Z2luUXVldWU9W10semEuY3VzdG9tU2NoZW1lcz1bXSx6YS5pbml0aWFsaXplZD0hMSx6YX1mdW5jdGlvbiBGSWEoYSxlKXtpZih0eXBlb2YgZSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgRXJyb3IoYGxpbmtpZnlqczogSW52YWxpZCB0b2tlbiBwbHVnaW4gJHtlfSAoZXhwZWN0cyBmdW5jdGlvbilgKTtmb3IobGV0IHQ9MDt0PHphLnRva2VuUXVldWUubGVuZ3RoO3QrKylpZihhPT09emEudG9rZW5RdWV1ZVt0XVswXSl7SVcoYGxpbmtpZnlqczogdG9rZW4gcGx1Z2luICIke2F9IiBhbHJlYWR5IHJlZ2lzdGVyZWQgLSB3aWxsIGJlIG92ZXJ3cml0dGVuYCksemEudG9rZW5RdWV1ZVt0XT1bYSxlXTtyZXR1cm59emEudG9rZW5RdWV1ZS5wdXNoKFthLGVdKSx6YS5pbml0aWFsaXplZCYmSVcoYGxpbmtpZnlqczogYWxyZWFkeSBpbml0aWFsaXplZCAtIHdpbGwgbm90IHJlZ2lzdGVyIHRva2VuIHBsdWdpbiAiJHthfSIgJHtUWGV9YCl9ZnVuY3Rpb24gQklhKGEsZSl7aWYodHlwZW9mIGUhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IEVycm9yKGBsaW5raWZ5anM6IEludmFsaWQgcGx1Z2luICR7ZX0gKGV4cGVjdHMgZnVuY3Rpb24pYCk7Zm9yKGxldCB0PTA7dDx6YS5wbHVnaW5RdWV1ZS5sZW5ndGg7dCsrKWlmKGE9PT16YS5wbHVnaW5RdWV1ZVt0XVswXSl7SVcoYGxpbmtpZnlqczogcGx1Z2luICIke2F9IiBhbHJlYWR5IHJlZ2lzdGVyZWQgLSB3aWxsIGJlIG92ZXJ3cml0dGVuYCksemEucGx1Z2luUXVldWVbdF09W2EsZV07cmV0dXJufXphLnBsdWdpblF1ZXVlLnB1c2goW2EsZV0pLHphLmluaXRpYWxpemVkJiZJVyhgbGlua2lmeWpzOiBhbHJlYWR5IGluaXRpYWxpemVkIC0gd2lsbCBub3QgcmVnaXN0ZXIgcGx1Z2luICIke2F9IiAke1RYZX1gKX1mdW5jdGlvbiBCc2UoYSxlPSExKXtpZih6YS5pbml0aWFsaXplZCYmSVcoYGxpbmtpZnlqczogYWxyZWFkeSBpbml0aWFsaXplZCAtIHdpbGwgbm90IHJlZ2lzdGVyIGN1c3RvbSBzY2hlbWUgIiR7YX0iICR7VFhlfWApLCEvXlswLTlhLXpdKygtWzAtOWEtel0rKSokLy50ZXN0KGEpKXRocm93IG5ldyBFcnJvcihgbGlua2lmeWpzOiBpbmNvcnJlY3Qgc2NoZW1lIGZvcm1hdC4KMS4gTXVzdCBvbmx5IGNvbnRhaW4gZGlnaXRzLCBsb3dlcmNhc2UgQVNDSUkgbGV0dGVycyBvciAiLSIKMi4gQ2Fubm90IHN0YXJ0IG9yIGVuZCB3aXRoICItIgozLiAiLSIgY2Fubm90IHJlcGVhdGApO3phLmN1c3RvbVNjaGVtZXMucHVzaChbYSxlXSl9ZnVuY3Rpb24gcTJhKCl7emEuc2Nhbm5lcj1JSWEoemEuY3VzdG9tU2NoZW1lcyk7Zm9yKGxldCBhPTA7YTx6YS50b2tlblF1ZXVlLmxlbmd0aDthKyspemEudG9rZW5RdWV1ZVthXVsxXSh7c2Nhbm5lcjp6YS5zY2FubmVyfSk7emEucGFyc2VyPVJJYSh6YS5zY2FubmVyLnRva2Vucyk7Zm9yKGxldCBhPTA7YTx6YS5wbHVnaW5RdWV1ZS5sZW5ndGg7YSsrKXphLnBsdWdpblF1ZXVlW2FdWzFdKHtzY2FubmVyOnphLnNjYW5uZXIscGFyc2VyOnphLnBhcnNlcn0pO3JldHVybiB6YS5pbml0aWFsaXplZD0hMCx6YX1mdW5jdGlvbiBLbShhKXtyZXR1cm4gemEuaW5pdGlhbGl6ZWR8fHEyYSgpLE9JYSh6YS5wYXJzZXIuc3RhcnQsYSxOMmEoemEuc2Nhbm5lci5zdGFydCxhKSl9ZnVuY3Rpb24gSHNlKGEsZT1udWxsLHQ9bnVsbCl7aWYoZSYmdHlwZW9mIGU9PSJvYmplY3QiKXtpZih0KXRocm93IEVycm9yKGBsaW5raWZ5anM6IEludmFsaWQgbGluayB0eXBlICR7ZX07IG11c3QgYmUgYSBzdHJpbmdgKTt0PWUsZT1udWxsfWxldCByPW5ldyBBVyh0KSxpPUttKGEpLG89W107Zm9yKGxldCBuPTA7bjxpLmxlbmd0aDtuKyspe2xldCBsPWlbbl07bC5pc0xpbmsmJighZXx8bC50PT09ZSkmJnIuY2hlY2sobCkmJm8ucHVzaChsLnRvRm9ybWF0dGVkT2JqZWN0KHIpKX1yZXR1cm4gb31mdW5jdGlvbiBISWEoYSxlPW51bGwpe2xldCB0PUttKGEpO3JldHVybiB0Lmxlbmd0aD09PTEmJnRbMF0uaXNMaW5rJiYoIWV8fHRbMF0udD09PWUpfXZhciB6SWEsQ0lhLGxYZSxjWGUsZFhlLFNXLHpXLHVYZSxUMmEsX0lhLFRJYSxwWGUsYWEscXIsTDJhLEtlLF9jLGZYZSwkMmEsRDJhLENXLGhYZSxtWGUsbHNlLFVtLGdYZSxiWGUsdlhlLF9XLFRXLGNzZSxkc2UsdXNlLHBzZSxmc2UsaHNlLG1zZSxnc2UsYnNlLHZzZSx4c2UseXNlLHdzZSxNc2Usa3NlLFNzZSx6c2UsQzQsQ3NlLF9zZSxUc2UsXzQseFhlLExzZSxpbCwkc2UseVhlLE9uLExXLERzZSxBc2UsRXNlLCRXLHdYZSxBMmEsTVhlLG9sLERXLFBzZSxFMmEsSXNlLFAyYSxubCxXbSxOc2UsRElhLGxsLFJzZSxBSWEsSTJhLGtYZSxFSWEsUElhLFNYZSxPc2UsRnNlLEdtLE5JYSx6WGUsQ1hlLEIyYSxQVyxIMmEsRm4sSVcsVFhlLHphLFYyYT1mKCgpPT57eklhPSJhYWExcnAzYmIwb3R0M3ZpZTRjMWxlMm9nYWRvNXVkaGFiaTdjMGFkZW15NWNlbnR1cmU2b3VudGFudDBzOW8xdG9yNGQwczF1bHQ0ZTBnMXJvMnRuYTRmMGwxcmljYTVnMGFraGFuNWVuY3k1aTBnMXJidXMzZm9yY2U1dGVsNWtkbjNsMGliYWJhNHBheTRsZmluYW56NnN0YXRlNXkyc2FjZTN0b201bTBhem9uNGVyaWNhbmV4cHJlc3M3ZmFtaWx5MTF4MmZhbTNpY2Ezc3RlcmRhbThuYWx5dGljczdkcm9pZDVxdWFuNHoybzBsMnBhcnRtZW50czhwMGxlNHEwdWFyZWxsZThyMGFiMW1jbzRjaGkzbXkycGEydDBlM3MwZGEyaWEyc29jaWF0ZXM5dDBobGV0YTV0b3JuZXk3dTBjdGlvbjVkaTBibGUzbzNzcG9zdDV0aG9yM28wczR3MHMyeDBhMnowdXJlNWJhMGJ5MmlkdTNuYW1leDRkMWsycjBjZWxvbmE1bGF5Y2FyZDRzNWVmb290NWdhaW5zNnNlYmFsbDVrZXRiYWxsOHVoYXVzNXllcm41YjBjMXQxdmEzY2cxbjJkMWUwYXRzMnV0eTRlcjJybGluNHN0MGJ1eTV0MmYxZzFoMGFydGk1aTBibGUzZDFrZTJuZzBvM28xejJqMWxhY2swZnJpZGF5OW9ja2J1c3RlcjhnMW9tYmVyZzd1ZTNtMHMxdzJuMHBwYXJpYmFzOW8wYXRzM2VocmluZ2VyOGZhMm0xbmQybzBrMGluZzVzY2gydGlrMm9uNHQxdXRpcXVlNngycjBhZGVzY282aWRnZXN0b25lOW9hZHdheTVrZXIzdGhlcjV1c3NlbHM3czF0MXVpbGQwZXJzNnNpbmVzczZ5MXp6M3YxdzF5MXowaDNjYTBiMWZlMmwwbDF2aW5rbGVpbjltMGVyYTNwMm5vbjNwZXRvd241aXRhbDBvbmU4cjBhdmFuNGRzMmUwZXIwczRzMnNhMWUxaDFpbm80dDBlcmluZzVob2xpYzdiYTFuMXJlM2MxZDFlbnRlcjRvMXJuM2YwYTFkMmcxaDBhbmVsMm5lbDRyaXR5NHNlMnQyZWFwM2ludGFpNXJpc3RtYXM2b21lNHVyY2g1aTBwcmlhbmk2cmNsZTRzY28zdGFkZWw0aTBjMnkzazFsMGFpbXM0ZWFuaW5nNmljazJuaWMxcXVlNm90aGluZzV1ZDN1YjBtZWQ2bTFuMW8wYWNoM2RlczNmZmVlNGxsZWdlNG9nbmU1bTBtYmFuazR1bml0eTZwYW55MnJlM3V0ZXI1c2VjNG5kb3Mzc3RydWN0aW9uOHVsdGluZzd0YWN0M3JhY3RvcnM5b2tpbmc0bDFwMnJzaWNhNXVudHJ5NHBvbjBzNHJzZXM2cGEycjBlZGl0MGNhcmQ0dW5pb245aWNrZXQ1b3duM3MxdWlzZTBzNnUwaXNpbmVsbGE5djF3MXgxeTBtcnUzb3UzejJkYWQxbmNlM3RhMWUxaW5nM3N1bjR5MmNsazNkczJlMGFsMGVyMnMzZ3JlZTRsaXZlcnk1bDFvaXR0ZTV0YTNtb2NyYXQ2bnRhbDJpc3Q1c2kwZ240djJobDJpYW1vbmRzNmV0MmdpdGFsNXJlY3Qwb3J5N3Njb3VudDN2ZXI1aDJ5MmoxazFtMW5wMm8wY3MxdG9yNGcxbWFpbnM1dDF3bmxvYWQ3cml2ZTR0djJ1YmFpM25sb3A0cG9udDRyYmFuNXZhZzJyMnoyZWFydGgzdDJjMG8yZGVrYTN1MGNhdGlvbjhlMWcxbWFpbDNlcmNrNW5lcmd5NGdpbmVlcjBpbmc5dGVycHJpc2VzMTBwc29uNHF1aXBtZW50OHIwaWNzc29uNm5pM3MwcTF0YXRlNXQxdTByb3Zpc2lvbjhzMnZlbnRzNXhjaGFuZ2U2cGVydDNvc2VkNHJlc3M1dHJhc3BhY2UxMGZhZ2UyaWwxcndpbmRzNnRoM21pbHk0bjBzMnJtMGVyczVzaGlvbjR0M2VkZXgzZWRiYWNrNnJyYXJpM2VybzZpMGRlbGl0eTVvMmxtMm5hbDFuY2UxaWFsN3JlMHN0b25lNm1kYWxlNnNoMGluZzV0MG5lc3M2ajFrMWxpY2tyM2dodHM0cjJvcmlzdDR3ZXJzNXkybTFvMG8wZDF0YmFsbDZyZDFleDJzYWxlNHVtM3VuZGF0aW9uOHgycjBlZTFzZW5pdXM3bDFvZ2FuczRudGllcjd0cjJ1aml0c3U1bjBkMnJuaXR1cmU3dGJvbDV5aTNnYTBsMGxlcnkzbzF1cDRtZTBzM3AxcmRlbjR5MmIwaXozZDBuMmUwYTFudDBpbmc1b3JnZTVmMWcwZWUzaDFpMGZ0MHMzdmVzMmluZzVsMGFzczNlMW9iYWwybzRtMGFpbDNiaDJvMXgybjFvZGFkZHk1bGQwcG9pbnQ2ZjJvMGR5ZWFyNWcwbGU0cDF0MXYycDFxMXIwYWluZ2VyNXBoaWNzNXRpczRlZW4zaXBlM29jZXJ5NHVwNHMxdDF1MGNjaTNnZTJpZGUydGFyczVydTN3MXkyaGFpcjJtYnVyZzVuZ291dDV1czNibzJkZmMwYmFuazdlYWx0aDBjYXJlOGxwMXNpbmtpNnJlMW1lczVpcGhvcDRzYW1pdHN1N3RhY2hpNXYyazB0Mm0xbjFvY2tleTRsZGluZ3M1aWRheTVtZWRlcG90NWdvb2RzNXMwZW5zZTduZGEzcnNlM3NwaXRhbDV0MGluZzV0MGVsczNtYWlsNXVzZTN3MnIxc2JjM3QxdTBnaGVzNXlhdHQzdW5kYWk3aWJtMmNiYzJlMXUyZDFlMGVlM2ZtMmthbm80bDFtMGFtYXQ0ZGIybW8wYmlsaWVuOW4wYzFkdXN0cmllczhmaW5pdGk1bzJnMWsxc3RpdHV0ZTZ1cmFuY2U0ZTR0MGVybmF0aW9uYWwxMHVpdDR2ZXN0bWVudHMxMG8xcGlyYW5nYTdxMXIwaXNoNHMwbWFpbGk1dDBhbmJ1bDd0MGF1MnYzamFndWFyNHZhM2NiMmUwZXAydHp0M3dlbHJ5NmlvMmxsMm0wcDJuajJvMGJzMXVyZzR0MXkycDBtb3JnYW42cnMzdWVnb3M0bmlwZXI3a2F1ZmVuNWRkaTNlMHJyeWhvdGVsczZwcm9wZXJ0aWVzMTRmaDJnMWgxaTBhMWRzMm0xbmRsZTR0Y2hlbjV3aTNtMW4xb2VsbjNtYXRzdTVzaGVyNXAwbWcybjJyMGQxZWQzdW9rZ3JvdXA4dzF5MG90bzR6MmxhMGNhaXhhNW1ib3JnaGluaThlcjNuZDByb3ZlcjZ4ZXNzNXNhbGxlNXQwaW5vM3JvYmU1dzB5ZXI1YjFjMWRzMmVhc2UzY2xlcmM1ZnJhazRnYWwybzJ4dXM0Z2J0M2kwZGwyZmUwaW5zdXJhbmNlOXN0eWxlN2dodGluZzZrZTJsbHkzbWl0ZWQ0bzJuY29sbjRrMnZlMWluZzVrMWxjMXAyb2FuMHMzY2tlcjN1czNsMW5kb240dHRlMW8zdmUzcGwwZmluYW5jaWFsMTFyMXMxdDBkMGEzdTBuZGJlY2s2eGUxdXJ5NXYxeTJtYTBkcmlkNGlmMXNvbjRrZXVwNG4wYWdlbWVudDdnbzNwMXJrZXQwaW5nM3M0cmlvdHQ1c2hhbGxzN3R0ZWw1YmEyYzBraW5zZXk3ZDFlMGQwaWEzZXQybGJvdXJuZTdtZTFvcmlhbDZuMHUycmNrbXNkN2cxaDFpYW1pM2Nyb3NvZnQ3bDFuaTF0MnQwc3ViaXNoaTlrMWwwYjFzMm0wYTJuMW8wYmkwbGU0ZGEyZTFpMW0xbmFzaDNleTJzdGVyNXJtb24zdGdhZ2U2c2NvdzR0bzByY3ljbGVzOXYwaWU0cDFxMXIxczBkMnQwbjFyMnUwc2V1bTNpYzR2MXcxeDF5MXoybmEwYjFnb3lhNG1lMnZ5M2JhMmMxZTBjMXQwYmFuazRmbGl4NHdvcms1dXN0YXI1dzBzMnh0MGRpcmVjdDd1czRmMGwyZzBvMmhrMmkwY28ya2Uxb24zbmphM3NzYW4xeTVsMW8wa2lhM3J0b240dzBydXozdHY0cDFyMGExdzJ0dDJ1MXljMnoyb2JpMXNlcnZlcjdmZmljZTVraW5hd2E2bGF5YW4wZ3JvdXA5bG8zbTBlZ2E0bmUxZzFsMGluZTVvbzJwZW4zcmFjbGUzbmdlNGcwYW5pYzVpZ2luczZzYWthNHRzdWthNHQydmgzcGEwZ2UybmFzb25pYzdyaXMyczF0bmVyczRzMXkzeTJjY3czZTB0MmYwaXplcjVnMWgwYXJtYWN5NmQxaWxpcHM1b25lMnRvMGdyYXBoeTZzNHlzaW81aWNzMXRldDJ1cmVzNmQxbjBnMWsyb25lZXI1enphNGsxbDBhY2UyeTBzdGF0aW9uOXVtYmluZzVzM20xbjBjMm9obDJrZXIzbGl0aWU1cm4yc3QzcjBheGkzZXNzM2ltZTNvMGQwdWN0aW9uczhmMWdyZXNzaXZlOG1vMnBlcnRpZXMzeTV0ZWN0aW9uOHUwZGVudGlhbDlzMXQxdWIydzBjMnkycWExcG9uM3VlYmVjM3N0NXJhY2luZzRkaW80ZTBhZDFsZXN0YXRlNnRvcjJ5NGNpcGVzNWQwc3RvbmU1dW1icmVsbGE5aGFiM2lzZTBuM3QybGlhbmNlNm4wdDBhbHM1cGFpcjNvcnQzdWJsaWNhbjhzdDBhdXJhbnQ4dmlldzBzNXhyb3RoNmljaDBhcmRsaTZvaDNsMW8xcDJvMGNrczNkZW8zZ2VyczRvbTNzMHZwM3UwZ2J5M2hyMm4ydzBlMnl1a3l1NnNhMGFybGFuZDZmZTB0eTRrdXJhNGxlMW9uM21zY2x1YjR1bmc1bmR2aWswY29yb21hbnQxMm9maTRwMXJsMnMxdmUyeG8zYjBpMXMyYzBiMWhhZWZmbGVyN21pZHQ0b2xhcnNoaXBzOG9sM3VsZTN3YXJ6NWllbmNlNW90M2QxZTBhcmNoM3QyY3VyZTFpdHk2ZWsybGVjdDRuZXIzcnZpY2VzNnZlbjN3MXgweTNmcjJnMWgwYW5ncmlsYTZycDNlbGwzaWExa3NoYTVvZXMycDBwaW5nNXVqaTN3M2kwbGsybmExZ2xlczV0ZTNqMWswaTBuMnkwcGU0bDBpbmc0bTBhcnQzaWxlNG4wY2YzbzBjY2VyM2lhbDRmdGJhbms0d2FyZTZodTJsYXIydXRpb25zN25nMXkyeTJwYTBjZTNvcnQydDNyMGwyczF0MGFkYTJwbGVzNHIxdGViYW5rNGZhcm03YzBncm91cDZvY2tob2xtNnJhZ2UzZTNyZWFtNHVkaW8yeTN5bGU0dTBja3MzcHBsaWVzM3kyb3J0NXJmMWdlcnk1enVraTV2MXdhdGNoNGlzczR4MXkwZG5leTRzdGVtczZ6MnRhYjFpcGVpNGxrMm9iYW80cmdldDR0YW1vdG9yczZyMnRvbzR4MGkzYzBpMmQwazJlYW0yY2gwbm9sb2d5OGwxbWFzZWs1bm5pczR2YTNmMWcxaDBkMWVhdGVyMnJlNmlhYTJja2V0czVlbmRhNHBzMnJlczJvbDRqMG1heHg0eDJrMG1heHg1bDFtMGFsbDRuMW8wZGF5M2t5bzNvbHMzcDFyYXkzc2hpYmE1dGFsM3VyczN3bjJ5b3RhM3MzcjBhZGUxaW5nNGluaW5nNXZlbDBlcnMwaW5zdXJhbmNlMTZ1c3QzdjJ0MXViZTJpMW5lczNzaHU0djBzMncxejJ1YTFiYW5rM3MyZzFrMW5pY29tM3ZlcnNpdHk4bzJvbDJwczJzMXkxejJ2YTBjYXRpb25zN25hMWd1YXJkN2MxZTBnYXMzbnR1cmVzNnJpc2lnbjVtXHhGNmdlbnNiZXJhdGVyMnVuZzE0c2ljaGVydW5nMTB0MmcxaTBhamVzNGRlbzNnMWtpbmc0bGxhczRuMXAxcmdpbjRzYTFpb240dmExbzNsYWFuZGVyZW45bjFvZGthM2x2bzN0ZTFpbmczbzJ5YWdlNXUyd2FsZXMybWFydDR0ZXI0bmcwZ291NXRjaDBlczZlYXRoZXIwY2hhbm5lbDEyYmNhbTNlcjJzaXRlNWQwZGluZzVpYm8ycjNmMWhvc3dobzZpZW4ya2kybGxpYW1oaWxsOW4wZG93czRlMW5lcnM2bWUyb2x0ZXJza2x1d2VyMTFvZHNpZGU2cmswczJsZDN3MnMxdGMxZjN4Ym94M2Vyb3g0aWh1YW40bjJ4eDJ5ejN5YWNodHM0aG9vM21heHVuNW5kZXg1ZTFvZG9iYXNoaTdnYTJrb2hhbWE2dTB0dWJlNnQxdW4zemEwcHBvczRyYTNlcm8zaXAybTFvbmUzdWVyaWNoNncyIixDSWE9Ilx1MDNCNVx1MDNCQjFcdTAzQzUyXHUwNDMxXHUwNDMzMVx1MDQzNVx1MDQzQjNcdTA0MzRcdTA0MzVcdTA0NDJcdTA0Mzg0XHUwNDM1XHUwNDRFMlx1MDQzQVx1MDQzMFx1MDQ0Mlx1MDQzRVx1MDQzQlx1MDQzOFx1MDQzQTZcdTA0M0VcdTA0M0MzXHUwNDNDXHUwNDNBXHUwNDM0Mlx1MDQzRVx1MDQzRDFcdTA0NDFcdTA0M0FcdTA0MzJcdTA0MzA2XHUwNDNFXHUwNDNEXHUwNDNCXHUwNDMwXHUwNDM5XHUwNDNENVx1MDQ0MFx1MDQzMzNcdTA0NDBcdTA0NDNcdTA0NDEyXHUwNDQ0Mlx1MDQ0MVx1MDQzMFx1MDQzOVx1MDQ0MjNcdTA0NDBcdTA0MzEzXHUwNDQzXHUwNDNBXHUwNDQwM1x1MDQ5Qlx1MDQzMFx1MDQzNzNcdTA1NzBcdTA1NjFcdTA1NzUzXHUwNUQ5XHUwNUU5XHUwNUU4XHUwNUQwXHUwNURDNVx1MDVFN1x1MDVENVx1MDVERDNcdTA2MjdcdTA2MjhcdTA2NDhcdTA2MzhcdTA2MjhcdTA2NEE1XHUwNjMxXHUwNjI3XHUwNjQ1XHUwNjQzXHUwNjQ4NVx1MDY0NFx1MDYyN1x1MDYzMVx1MDYyRlx1MDY0NjRcdTA2MjhcdTA2MkRcdTA2MzFcdTA2NEFcdTA2NDY1XHUwNjJDXHUwNjMyXHUwNjI3XHUwNjI2XHUwNjMxNVx1MDYzM1x1MDYzOVx1MDY0OFx1MDYyRlx1MDY0QVx1MDYyOTZcdTA2MzlcdTA2NDRcdTA2NEFcdTA2MjdcdTA2NDY1XHUwNjQ1XHUwNjNBXHUwNjMxXHUwNjI4NVx1MDY0NVx1MDYyN1x1MDYzMVx1MDYyN1x1MDYyQTVcdTA2Q0NcdTA2MzFcdTA2MjdcdTA2NDY1XHUwNjI4XHUwNjI3XHUwNjMxXHUwNjJBMlx1MDYzMlx1MDYyN1x1MDYzMTRcdTA2NEFcdTA2MkFcdTA2NDMzXHUwNkJFXHUwNjI3XHUwNjMxXHUwNjJBNVx1MDYyQVx1MDY0OFx1MDY0Nlx1MDYzMzRcdTA2MzNcdTA2NDhcdTA2MkZcdTA2MjdcdTA2NDYzXHUwNjMxXHUwNjRBXHUwNjI5NVx1MDYzNFx1MDYyOFx1MDY0M1x1MDYyOTRcdTA2MzlcdTA2MzFcdTA2MjdcdTA2NDIyXHUwNjI4Mlx1MDY0NVx1MDYyN1x1MDY0NjRcdTA2NDFcdTA2NDRcdTA2MzNcdTA2MzdcdTA2NEFcdTA2NDY2XHUwNjQyXHUwNjM3XHUwNjMxM1x1MDY0M1x1MDYyN1x1MDYyQlx1MDY0OFx1MDY0NFx1MDY0QVx1MDY0MzZcdTA2NDhcdTA2NDUzXHUwNjQ1XHUwNjM1XHUwNjMxMlx1MDY0NFx1MDY0QVx1MDYzM1x1MDY0QVx1MDYyNzVcdTA2NDhcdTA2MzFcdTA2NEFcdTA2MkFcdTA2MjdcdTA2NDZcdTA2NEFcdTA2Mjc3XHUwNjQyXHUwNjM5NFx1MDY0N1x1MDY0NVx1MDYzMVx1MDYyN1x1MDY0NzVcdTA2N0VcdTA2MjdcdTA2QTlcdTA2MzNcdTA2MkFcdTA2MjdcdTA2NDY3XHUwNjgwXHUwNjI3XHUwNjMxXHUwNjJBNFx1MDkxNVx1MDk0OVx1MDkyRTNcdTA5MjhcdTA5NDdcdTA5MUYzXHUwOTJEXHUwOTNFXHUwOTMwXHUwOTI0MFx1MDkyRVx1MDk0RDNcdTA5NEJcdTA5MjQ1XHUwOTM4XHUwOTAyXHUwOTE3XHUwOTIwXHUwOTI4NVx1MDlBQ1x1MDlCRVx1MDk4Mlx1MDlCMlx1MDlCRTVcdTA5QURcdTA5QkVcdTA5QjBcdTA5QTQyXHUwOUYwXHUwOUE0NFx1MEEyRFx1MEEzRVx1MEEzMFx1MEEyNDRcdTBBQURcdTBBQkVcdTBBQjBcdTBBQTQ0XHUwQjJEXHUwQjNFXHUwQjMwXHUwQjI0NFx1MEI4N1x1MEJBOFx1MEJDRFx1MEJBNFx1MEJCRlx1MEJBRlx1MEJCRTZcdTBCQjJcdTBCOTlcdTBCQ0RcdTBCOTVcdTBCQzg2XHUwQjlBXHUwQkJGXHUwQjk5XHUwQkNEXHUwQjk1XHUwQkFBXHUwQkNEXHUwQkFBXHUwQkMyXHUwQkIwXHUwQkNEMTFcdTBDMkRcdTBDM0VcdTBDMzBcdTBDMjRcdTBDNEQ1XHUwQ0FEXHUwQ0JFXHUwQ0IwXHUwQ0E0NFx1MEQyRFx1MEQzRVx1MEQzMFx1MEQyNFx1MEQwMjVcdTBEQkRcdTBEODJcdTBEOUFcdTBEQ0Y0XHUwRTA0XHUwRTJEXHUwRTIxM1x1MEU0NFx1MEUxN1x1MEUyMjNcdTBFQTVcdTBFQjJcdTBFQTczXHUxMEQyXHUxMEQ0Mlx1MzA3Rlx1MzA5M1x1MzA2QTNcdTMwQTJcdTMwREVcdTMwQkVcdTMwRjM0XHUzMEFGXHUzMEU5XHUzMEE2XHUzMEM5NFx1MzBCMFx1MzBGQ1x1MzBCMFx1MzBFQjRcdTMwQjNcdTMwRTAyXHUzMEI5XHUzMEM4XHUzMEEyM1x1MzBCQlx1MzBGQ1x1MzBFQjNcdTMwRDVcdTMwQTFcdTMwQzNcdTMwQjdcdTMwRTdcdTMwRjM2XHUzMEREXHUzMEE0XHUzMEYzXHUzMEM4NFx1NEUxNlx1NzU0QzJcdTRFMkRcdTRGRTExXHU1NkZEMVx1NTcwQjFcdTY1ODdcdTdGNTEzXHU0RTlBXHU5QTZDXHU5MDBBM1x1NEYwMVx1NEUxQTJcdTRGNUJcdTVDNzEyXHU0RkUxXHU2MDZGMlx1NTA2NVx1NUVCNzJcdTUxNkJcdTUzNjYyXHU1MTZDXHU1M0Y4MVx1NzZDQTJcdTUzRjBcdTZFN0UxXHU3MDYzMlx1NTU0Nlx1NTdDRTFcdTVFOTcxXHU2ODA3Mlx1NTYwOVx1OTFDQzBcdTU5MjdcdTkxNTJcdTVFOTc1XHU1NzI4XHU3RUJGMlx1NTkyN1x1NjJGRjJcdTU5MjlcdTRFM0JcdTY1NTkzXHU1QTMxXHU0RTUwMlx1NUJCNlx1OTZGQjJcdTVFN0ZcdTRFMUMyXHU1RkFFXHU1MzVBMlx1NjE0OFx1NTU4NDJcdTYyMTFcdTcyMzFcdTRGNjAzXHU2MjRCXHU2NzNBMlx1NjJEQlx1ODA1ODJcdTY1M0ZcdTUyQTExXHU1RTlDMlx1NjVCMFx1NTJBMFx1NTc2MTJcdTk1RkIyXHU2NUY2XHU1QzFBMlx1NjZGOFx1N0M0RDJcdTY3M0FcdTY3ODQyXHU2REUxXHU5QTZDXHU5NTIxM1x1NkUzOFx1NjIwRjJcdTZGQjNcdTk1ODAyXHU3MEI5XHU3NzBCMlx1NzlGQlx1NTJBODJcdTdFQzRcdTdFQzdcdTY3M0FcdTY3ODQ0XHU3RjUxXHU1NzQwMVx1NUU5NzFcdTdBRDkxXHU3RURDMlx1ODA1NFx1OTAxQTJcdThDMzdcdTZCNEMyXHU4RDJEXHU3MjY5Mlx1OTAxQVx1OENBOTJcdTk2QzZcdTU2RTIyXHU5NkZCXHU4QTBBXHU3NkM4XHU3OUQxNFx1OThERVx1NTIyOVx1NkQ2NjNcdTk4REZcdTU0QzEyXHU5OTEwXHU1Mzg1Mlx1OTk5OVx1NjgzQ1x1OTFDQ1x1NjJDOTNcdTZFMkYyXHVCMkY3XHVCMTM3MVx1Q0VGNDJcdUMwQkNcdUMxMzEyXHVENTVDXHVBRDZEMiIsbFhlPSJudW1lcmljIixjWGU9ImFzY2lpIixkWGU9ImFscGhhIixTVz0iYXNjaWludW1lcmljIix6Vz0iYWxwaGFudW1lcmljIix1WGU9ImRvbWFpbiIsVDJhPSJlbW9qaSIsX0lhPSJzY2hlbWUiLFRJYT0ic2xhc2hzY2hlbWUiLHBYZT0id2hpdGVzcGFjZSI7cyhMSWEsInJlZ2lzdGVyR3JvdXAiKTtzKHA1LCJhZGRUb0dyb3VwcyIpO3MoJElhLCJmbGFnc0ZvclRva2VuIik7cyhYaSwiU3RhdGUiKSxYaS5ncm91cHM9e30sWGkucHJvdG90eXBlPXthY2NlcHRzKCl7cmV0dXJuISF0aGlzLnR9LGdvKGEpe2xldCBlPXRoaXMsdD1lLmpbYV07aWYodClyZXR1cm4gdDtmb3IobGV0IHI9MDtyPGUuanIubGVuZ3RoO3IrKyl7bGV0IGk9ZS5qcltyXVswXSxvPWUuanJbcl1bMV07aWYobyYmaS50ZXN0KGEpKXJldHVybiBvfXJldHVybiBlLmpkfSxoYXMoYSxlPSExKXtyZXR1cm4gZT9hIGluIHRoaXMuajohIXRoaXMuZ28oYSl9LHRhKGEsZSx0LHIpe2ZvcihsZXQgaT0wO2k8YS5sZW5ndGg7aSsrKXRoaXMudHQoYVtpXSxlLHQscil9LHRyKGEsZSx0LHIpe3I9cnx8WGkuZ3JvdXBzO2xldCBpO3JldHVybiBlJiZlLmo/aT1lOihpPW5ldyBYaShlKSx0JiZyJiZwNShlLHQscikpLHRoaXMuanIucHVzaChbYSxpXSksaX0sdHMoYSxlLHQscil7bGV0IGk9dGhpcyxvPWEubGVuZ3RoO2lmKCFvKXJldHVybiBpO2ZvcihsZXQgbj0wO248by0xO24rKylpPWkudHQoYVtuXSk7cmV0dXJuIGkudHQoYVtvLTFdLGUsdCxyKX0sdHQoYSxlLHQscil7cj1yfHxYaS5ncm91cHM7bGV0IGk9dGhpcztpZihlJiZlLmopcmV0dXJuIGkualthXT1lLGU7bGV0IG89ZSxuLGw9aS5nbyhhKTtpZihsPyhuPW5ldyBYaSxPYmplY3QuYXNzaWduKG4uaixsLmopLG4uanIucHVzaC5hcHBseShuLmpyLGwuanIpLG4uamQ9bC5qZCxuLnQ9bC50KTpuPW5ldyBYaSxvKXtpZihyKWlmKG4udCYmdHlwZW9mIG4udD09InN0cmluZyIpe2xldCBkPU9iamVjdC5hc3NpZ24oJElhKG4udCxyKSx0KTtwNShvLGQscil9ZWxzZSB0JiZwNShvLHQscik7bi50PW99cmV0dXJuIGkualthXT1uLG59fTthYT1zKChhLGUsdCxyLGkpPT5hLnRhKGUsdCxyLGkpLCJ0YSIpLHFyPXMoKGEsZSx0LHIsaSk9PmEudHIoZSx0LHIsaSksInRyIiksTDJhPXMoKGEsZSx0LHIsaSk9PmEudHMoZSx0LHIsaSksInRzIiksS2U9cygoYSxlLHQscixpKT0+YS50dChlLHQscixpKSwidHQiKSxfYz0iV09SRCIsZlhlPSJVV09SRCIsJDJhPSJBU0NJSU5VTUVSSUNBTCIsRDJhPSJBTFBIQU5VTUVSSUNBTCIsQ1c9IkxPQ0FMSE9TVCIsaFhlPSJUTEQiLG1YZT0iVVRMRCIsbHNlPSJTQ0hFTUUiLFVtPSJTTEFTSF9TQ0hFTUUiLGdYZT0iTlVNIixiWGU9IldTIix2WGU9Ik5MIixfVz0iT1BFTkJSQUNFIixUVz0iQ0xPU0VCUkFDRSIsY3NlPSJPUEVOQlJBQ0tFVCIsZHNlPSJDTE9TRUJSQUNLRVQiLHVzZT0iT1BFTlBBUkVOIixwc2U9IkNMT1NFUEFSRU4iLGZzZT0iT1BFTkFOR0xFQlJBQ0tFVCIsaHNlPSJDTE9TRUFOR0xFQlJBQ0tFVCIsbXNlPSJGVUxMV0lEVEhMRUZUUEFSRU4iLGdzZT0iRlVMTFdJRFRIUklHSFRQQVJFTiIsYnNlPSJMRUZUQ09STkVSQlJBQ0tFVCIsdnNlPSJSSUdIVENPUk5FUkJSQUNLRVQiLHhzZT0iTEVGVFdISVRFQ09STkVSQlJBQ0tFVCIseXNlPSJSSUdIVFdISVRFQ09STkVSQlJBQ0tFVCIsd3NlPSJGVUxMV0lEVEhMRVNTVEhBTiIsTXNlPSJGVUxMV0lEVEhHUkVBVEVSVEhBTiIsa3NlPSJBTVBFUlNBTkQiLFNzZT0iQVBPU1RST1BIRSIsenNlPSJBU1RFUklTSyIsQzQ9IkFUIixDc2U9IkJBQ0tTTEFTSCIsX3NlPSJCQUNLVElDSyIsVHNlPSJDQVJFVCIsXzQ9IkNPTE9OIix4WGU9IkNPTU1BIixMc2U9IkRPTExBUiIsaWw9IkRPVCIsJHNlPSJFUVVBTFMiLHlYZT0iRVhDTEFNQVRJT04iLE9uPSJIWVBIRU4iLExXPSJQRVJDRU5UIixEc2U9IlBJUEUiLEFzZT0iUExVUyIsRXNlPSJQT1VORCIsJFc9IlFVRVJZIix3WGU9IlFVT1RFIixBMmE9IkZVTExXSURUSE1JRERMRURPVCIsTVhlPSJTRU1JIixvbD0iU0xBU0giLERXPSJUSUxERSIsUHNlPSJVTkRFUlNDT1JFIixFMmE9IkVNT0pJIixJc2U9IlNZTSIsUDJhPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLEFMUEhBTlVNRVJJQ0FMOkQyYSxBTVBFUlNBTkQ6a3NlLEFQT1NUUk9QSEU6U3NlLEFTQ0lJTlVNRVJJQ0FMOiQyYSxBU1RFUklTSzp6c2UsQVQ6QzQsQkFDS1NMQVNIOkNzZSxCQUNLVElDSzpfc2UsQ0FSRVQ6VHNlLENMT1NFQU5HTEVCUkFDS0VUOmhzZSxDTE9TRUJSQUNFOlRXLENMT1NFQlJBQ0tFVDpkc2UsQ0xPU0VQQVJFTjpwc2UsQ09MT046XzQsQ09NTUE6eFhlLERPTExBUjpMc2UsRE9UOmlsLEVNT0pJOkUyYSxFUVVBTFM6JHNlLEVYQ0xBTUFUSU9OOnlYZSxGVUxMV0lEVEhHUkVBVEVSVEhBTjpNc2UsRlVMTFdJRFRITEVGVFBBUkVOOm1zZSxGVUxMV0lEVEhMRVNTVEhBTjp3c2UsRlVMTFdJRFRITUlERExFRE9UOkEyYSxGVUxMV0lEVEhSSUdIVFBBUkVOOmdzZSxIWVBIRU46T24sTEVGVENPUk5FUkJSQUNLRVQ6YnNlLExFRlRXSElURUNPUk5FUkJSQUNLRVQ6eHNlLExPQ0FMSE9TVDpDVyxOTDp2WGUsTlVNOmdYZSxPUEVOQU5HTEVCUkFDS0VUOmZzZSxPUEVOQlJBQ0U6X1csT1BFTkJSQUNLRVQ6Y3NlLE9QRU5QQVJFTjp1c2UsUEVSQ0VOVDpMVyxQSVBFOkRzZSxQTFVTOkFzZSxQT1VORDpFc2UsUVVFUlk6JFcsUVVPVEU6d1hlLFJJR0hUQ09STkVSQlJBQ0tFVDp2c2UsUklHSFRXSElURUNPUk5FUkJSQUNLRVQ6eXNlLFNDSEVNRTpsc2UsU0VNSTpNWGUsU0xBU0g6b2wsU0xBU0hfU0NIRU1FOlVtLFNZTTpJc2UsVElMREU6RFcsVExEOmhYZSxVTkRFUlNDT1JFOlBzZSxVVExEOm1YZSxVV09SRDpmWGUsV09SRDpfYyxXUzpiWGV9KSxubD0vW2Etel0vLFdtPS9ccHtMfS91LE5zZT0vXHB7RW1vaml9L3UsRElhPS9cdWZlMGYvLGxsPS9cZC8sUnNlPS9ccy8sQUlhPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLEFTQ0lJX0xFVFRFUjpubCxESUdJVDpsbCxFTU9KSTpOc2UsRU1PSklfVkFSSUFUSU9OOkRJYSxMRVRURVI6V20sU1BBQ0U6UnNlfSksSTJhPSJcciIsa1hlPWAKYCxFSWE9Ilx1RkUwRiIsUElhPSJcdTIwMEQiLFNYZT0iXHVGRkZDIixPc2U9bnVsbCxGc2U9bnVsbDtzKElJYSwiaW5pdCQyIik7cyhOMmEsInJ1biQxIik7cyhSMmEsInN0cmluZ1RvQXJyYXkiKTtzKFQ0LCJmYXN0dHMiKTtzKE8yYSwiZGVjb2RlVGxkcyIpO0dtPXtkZWZhdWx0UHJvdG9jb2w6Imh0dHAiLGV2ZW50czpudWxsLGZvcm1hdDpGMmEsZm9ybWF0SHJlZjpGMmEsbmwyYnI6ITEsdGFnTmFtZToiYSIsdGFyZ2V0Om51bGwscmVsOm51bGwsdmFsaWRhdGU6ITAsdHJ1bmNhdGU6MS8wLGNsYXNzTmFtZTpudWxsLGF0dHJpYnV0ZXM6bnVsbCxpZ25vcmVUYWdzOltdLHJlbmRlcjpudWxsfTtzKEFXLCJPcHRpb25zIiksQVcucHJvdG90eXBlPXtvOkdtLGlnbm9yZVRhZ3M6W10sZGVmYXVsdFJlbmRlcihhKXtyZXR1cm4gYX0sY2hlY2soYSl7cmV0dXJuIHRoaXMuZ2V0KCJ2YWxpZGF0ZSIsYS50b1N0cmluZygpLGEpfSxnZXQoYSxlLHQpe2xldCByPWUhPW51bGwsaT10aGlzLm9bYV07cmV0dXJuIGkmJih0eXBlb2YgaT09Im9iamVjdCI/KGk9dC50IGluIGk/aVt0LnRdOkdtW2FdLHR5cGVvZiBpPT0iZnVuY3Rpb24iJiZyJiYoaT1pKGUsdCkpKTp0eXBlb2YgaT09ImZ1bmN0aW9uIiYmciYmKGk9aShlLHQudCx0KSksaSl9LGdldE9iaihhLGUsdCl7bGV0IHI9dGhpcy5vW2FdO3JldHVybiB0eXBlb2Ygcj09ImZ1bmN0aW9uIiYmZSE9bnVsbCYmKHI9cihlLHQudCx0KSkscn0scmVuZGVyKGEpe2xldCBlPWEucmVuZGVyKHRoaXMpO3JldHVybih0aGlzLmdldCgicmVuZGVyIixudWxsLGEpfHx0aGlzLmRlZmF1bHRSZW5kZXIpKGUsYS50LGEpfX07cyhGMmEsIm5vb3AiKTtOSWE9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsT3B0aW9uczpBVyxkZWZhdWx0czpHbX0pO3MoRVcsIk11bHRpVG9rZW4iKSxFVy5wcm90b3R5cGU9e2lzTGluazohMSx0b1N0cmluZygpe3JldHVybiB0aGlzLnZ9LHRvSHJlZihhKXtyZXR1cm4gdGhpcy50b1N0cmluZygpfSx0b0Zvcm1hdHRlZFN0cmluZyhhKXtsZXQgZT10aGlzLnRvU3RyaW5nKCksdD1hLmdldCgidHJ1bmNhdGUiLGUsdGhpcykscj1hLmdldCgiZm9ybWF0IixlLHRoaXMpO3JldHVybiB0JiZyLmxlbmd0aD50P3Iuc3Vic3RyaW5nKDAsdCkrIlx1MjAyNiI6cn0sdG9Gb3JtYXR0ZWRIcmVmKGEpe3JldHVybiBhLmdldCgiZm9ybWF0SHJlZiIsdGhpcy50b0hyZWYoYS5nZXQoImRlZmF1bHRQcm90b2NvbCIpKSx0aGlzKX0sc3RhcnRJbmRleCgpe3JldHVybiB0aGlzLnRrWzBdLnN9LGVuZEluZGV4KCl7cmV0dXJuIHRoaXMudGtbdGhpcy50ay5sZW5ndGgtMV0uZX0sdG9PYmplY3QoYT1HbS5kZWZhdWx0UHJvdG9jb2wpe3JldHVybnt0eXBlOnRoaXMudCx2YWx1ZTp0aGlzLnRvU3RyaW5nKCksaXNMaW5rOnRoaXMuaXNMaW5rLGhyZWY6dGhpcy50b0hyZWYoYSksc3RhcnQ6dGhpcy5zdGFydEluZGV4KCksZW5kOnRoaXMuZW5kSW5kZXgoKX19LHRvRm9ybWF0dGVkT2JqZWN0KGEpe3JldHVybnt0eXBlOnRoaXMudCx2YWx1ZTp0aGlzLnRvRm9ybWF0dGVkU3RyaW5nKGEpLGlzTGluazp0aGlzLmlzTGluayxocmVmOnRoaXMudG9Gb3JtYXR0ZWRIcmVmKGEpLHN0YXJ0OnRoaXMuc3RhcnRJbmRleCgpLGVuZDp0aGlzLmVuZEluZGV4KCl9fSx2YWxpZGF0ZShhKXtyZXR1cm4gYS5nZXQoInZhbGlkYXRlIix0aGlzLnRvU3RyaW5nKCksdGhpcyl9LHJlbmRlcihhKXtsZXQgZT10aGlzLHQ9dGhpcy50b0hyZWYoYS5nZXQoImRlZmF1bHRQcm90b2NvbCIpKSxyPWEuZ2V0KCJmb3JtYXRIcmVmIix0LHRoaXMpLGk9YS5nZXQoInRhZ05hbWUiLHQsZSksbz10aGlzLnRvRm9ybWF0dGVkU3RyaW5nKGEpLG49e30sbD1hLmdldCgiY2xhc3NOYW1lIix0LGUpLGQ9YS5nZXQoInRhcmdldCIsdCxlKSxjPWEuZ2V0KCJyZWwiLHQsZSkscD1hLmdldE9iaigiYXR0cmlidXRlcyIsdCxlKSx1PWEuZ2V0T2JqKCJldmVudHMiLHQsZSk7cmV0dXJuIG4uaHJlZj1yLGwmJihuLmNsYXNzPWwpLGQmJihuLnRhcmdldD1kKSxjJiYobi5yZWw9YykscCYmT2JqZWN0LmFzc2lnbihuLHApLHt0YWdOYW1lOmksYXR0cmlidXRlczpuLGNvbnRlbnQ6byxldmVudExpc3RlbmVyczp1fX19O3MoWW0sImNyZWF0ZVRva2VuQ2xhc3MiKTt6WGU9WW0oImVtYWlsIix7aXNMaW5rOiEwLHRvSHJlZigpe3JldHVybiJtYWlsdG86Iit0aGlzLnRvU3RyaW5nKCl9fSksQ1hlPVltKCJ0ZXh0IiksQjJhPVltKCJubCIpLFBXPVltKCJ1cmwiLHtpc0xpbms6ITAsdG9IcmVmKGE9R20uZGVmYXVsdFByb3RvY29sKXtyZXR1cm4gdGhpcy5oYXNQcm90b2NvbCgpP3RoaXMudjpgJHthfTovLyR7dGhpcy52fWB9LGhhc1Byb3RvY29sKCl7bGV0IGE9dGhpcy50aztyZXR1cm4gYS5sZW5ndGg+PTImJmFbMF0udCE9PUNXJiZhWzFdLnQ9PT1fNH19KSxIMmE9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsQmFzZTpFVyxFbWFpbDp6WGUsTXVsdGlUb2tlbjpFVyxObDpCMmEsVGV4dDpDWGUsVXJsOlBXLGNyZWF0ZVRva2VuQ2xhc3M6WW19KSxGbj1zKGE9Pm5ldyBYaShhKSwibWFrZVN0YXRlIik7cyhSSWEsImluaXQkMSIpO3MoT0lhLCJydW4iKTtzKF9YZSwiaW5pdE11bHRpVG9rZW4iKTtJVz10eXBlb2YgY29uc29sZTwidSImJmNvbnNvbGUmJmNvbnNvbGUud2Fybnx8KCgpPT57fSksVFhlPSJ1bnRpbCBtYW51YWwgY2FsbCBvZiBsaW5raWZ5LmluaXQoKS4gUmVnaXN0ZXIgYWxsIHNjaGVtZXMgYW5kIHBsdWdpbnMgYmVmb3JlIGludm9raW5nIGxpbmtpZnkgdGhlIGZpcnN0IHRpbWUuIix6YT17c2Nhbm5lcjpudWxsLHBhcnNlcjpudWxsLHRva2VuUXVldWU6W10scGx1Z2luUXVldWU6W10sY3VzdG9tU2NoZW1lczpbXSxpbml0aWFsaXplZDohMX07cyhMWGUsInJlc2V0Iik7cyhGSWEsInJlZ2lzdGVyVG9rZW5QbHVnaW4iKTtzKEJJYSwicmVnaXN0ZXJQbHVnaW4iKTtzKEJzZSwicmVnaXN0ZXJDdXN0b21Qcm90b2NvbCIpO3MocTJhLCJpbml0Iik7cyhLbSwidG9rZW5pemUiKSxLbS5zY2FuPU4yYTtzKEhzZSwiZmluZCIpO3MoSElhLCJ0ZXN0Iil9KTt2YXIgVTJhPXt9O3J0KFUyYSx7TGluazooKT0+RFhlLGRlZmF1bHQ6KCk9PkRYZSxpc0FsbG93ZWRVcmk6KCk9PlRjLHBhc3RlUmVnZXg6KCk9PmoyYX0pO2Z1bmN0aW9uIFVJYShhKXtyZXR1cm4gYS5sZW5ndGg9PT0xP2FbMF0uaXNMaW5rOmEubGVuZ3RoPT09MyYmYVsxXS5pc0xpbms/WyIoKSIsIltdIl0uaW5jbHVkZXMoYVswXS52YWx1ZSthWzJdLnZhbHVlKTohMX1mdW5jdGlvbiBXSWEoYSl7cmV0dXJuIG5ldyBycih7a2V5Om5ldyBtcygiYXV0b2xpbmsiKSxhcHBlbmRUcmFuc2FjdGlvbjpzKChlLHQscik9PntsZXQgaT1lLnNvbWUoYz0+Yy5kb2NDaGFuZ2VkKSYmIXQuZG9jLmVxKHIuZG9jKSxvPWUuc29tZShjPT5jLmdldE1ldGEoInByZXZlbnRBdXRvbGluayIpKTtpZighaXx8bylyZXR1cm47bGV0e3RyOm59PXIsbD1BcmUodC5kb2MsWy4uLmVdKTtpZihQcmUobCkuZm9yRWFjaCgoe25ld1JhbmdlOmN9KT0+e2xldCBwPUVyZShyLmRvYyxjLHY9PnYuaXNUZXh0YmxvY2spLHUsbTtpZihwLmxlbmd0aD4xKXU9cFswXSxtPXIuZG9jLnRleHRCZXR3ZWVuKHUucG9zLHUucG9zK3Uubm9kZS5ub2RlU2l6ZSx2b2lkIDAsIiAiKTtlbHNlIGlmKHAubGVuZ3RoKXtsZXQgdj1yLmRvYy50ZXh0QmV0d2VlbihjLmZyb20sYy50bywiICIsIiAiKTtpZighVklhLnRlc3QodikpcmV0dXJuO3U9cFswXSxtPXIuZG9jLnRleHRCZXR3ZWVuKHUucG9zLGMudG8sdm9pZCAwLCIgIil9aWYodSYmbSl7bGV0IHY9bS5zcGxpdChxSWEpLmZpbHRlcihCb29sZWFuKTtpZih2Lmxlbmd0aDw9MClyZXR1cm4hMTtsZXQgeD12W3YubGVuZ3RoLTFdLGI9dS5wb3MrbS5sYXN0SW5kZXhPZih4KTtpZigheClyZXR1cm4hMTtsZXQgZz1LbSh4KS5tYXAoeT0+eS50b09iamVjdChhLmRlZmF1bHRQcm90b2NvbCkpO2lmKCFVSWEoZykpcmV0dXJuITE7Zy5maWx0ZXIoeT0+eS5pc0xpbmspLm1hcCh5PT4oey4uLnksZnJvbTpiK3kuc3RhcnQrMSx0bzpiK3kuZW5kKzF9KSkuZmlsdGVyKHk9PnIuc2NoZW1hLm1hcmtzLmNvZGU/IXIuZG9jLnJhbmdlSGFzTWFyayh5LmZyb20seS50byxyLnNjaGVtYS5tYXJrcy5jb2RlKTohMCkuZmlsdGVyKHk9PmEudmFsaWRhdGUoeS52YWx1ZSkpLmZpbHRlcih5PT5hLnNob3VsZEF1dG9MaW5rKHkudmFsdWUpKS5mb3JFYWNoKHk9PntqbSh5LmZyb20seS50byxyLmRvYykuc29tZShrPT5rLm1hcmsudHlwZT09PWEudHlwZSl8fG4uYWRkTWFyayh5LmZyb20seS50byxhLnR5cGUuY3JlYXRlKHtocmVmOnkuaHJlZn0pKX0pfX0pLCEhbi5zdGVwcy5sZW5ndGgpcmV0dXJuIG59LCJhcHBlbmRUcmFuc2FjdGlvbiIpfSl9ZnVuY3Rpb24gR0lhKGEpe3JldHVybiBuZXcgcnIoe2tleTpuZXcgbXMoImhhbmRsZUNsaWNrTGluayIpLHByb3BzOntoYW5kbGVDbGljazpzKChlLHQscik9Pnt2YXIgaSxvO2lmKHIuYnV0dG9uIT09MHx8IWUuZWRpdGFibGUpcmV0dXJuITE7bGV0IG49ci50YXJnZXQsbD1bXTtmb3IoO24ubm9kZU5hbWUhPT0iRElWIjspbC5wdXNoKG4pLG49bi5wYXJlbnROb2RlO2lmKCFsLmZpbmQobT0+bS5ub2RlTmFtZT09PSJBIikpcmV0dXJuITE7bGV0IGQ9a1coZS5zdGF0ZSxhLnR5cGUubmFtZSksYz1yLnRhcmdldCxwPShpPWM/LmhyZWYpIT09bnVsbCYmaSE9PXZvaWQgMD9pOmQuaHJlZix1PShvPWM/LnRhcmdldCkhPT1udWxsJiZvIT09dm9pZCAwP286ZC50YXJnZXQ7cmV0dXJuIGMmJnA/KHdpbmRvdy5vcGVuKHAsdSksITApOiExfSwiaGFuZGxlQ2xpY2siKX19KX1mdW5jdGlvbiBZSWEoYSl7cmV0dXJuIG5ldyBycih7a2V5Om5ldyBtcygiaGFuZGxlUGFzdGVMaW5rIikscHJvcHM6e2hhbmRsZVBhc3RlOnMoKGUsdCxyKT0+e2xldHtzdGF0ZTppfT1lLHtzZWxlY3Rpb246b309aSx7ZW1wdHk6bn09bztpZihuKXJldHVybiExO2xldCBsPSIiO3IuY29udGVudC5mb3JFYWNoKGM9PntsKz1jLnRleHRDb250ZW50fSk7bGV0IGQ9SHNlKGwse2RlZmF1bHRQcm90b2NvbDphLmRlZmF1bHRQcm90b2NvbH0pLmZpbmQoYz0+Yy5pc0xpbmsmJmMudmFsdWU9PT1sKTtyZXR1cm4hbHx8IWQ/ITE6YS5lZGl0b3IuY29tbWFuZHMuc2V0TWFyayhhLnR5cGUse2hyZWY6ZC5ocmVmfSl9LCJoYW5kbGVQYXN0ZSIpfX0pfWZ1bmN0aW9uIFRjKGEsZSl7bGV0IHQ9WyJodHRwIiwiaHR0cHMiLCJmdHAiLCJmdHBzIiwibWFpbHRvIiwidGVsIiwiY2FsbHRvIiwic21zIiwiY2lkIiwieG1wcCJdO3JldHVybiBlJiZlLmZvckVhY2gocj0+e2xldCBpPXR5cGVvZiByPT0ic3RyaW5nIj9yOnIuc2NoZW1lO2kmJnQucHVzaChpKX0pLCFhfHxhLnJlcGxhY2UoaklhLCIiKS5tYXRjaChuZXcgUmVnRXhwKGBeKD86KD86JHt0LmpvaW4oInwiKX0pOnxbXmEtel18W2EtejAtOSsuLV0rKD86W15hLXorLi06XXwkKSlgLCJpIikpfXZhciAkWGUscUlhLFZJYSxqSWEsajJhLERYZSxXMmE9ZigoKT0+e2JyKCk7VjJhKCk7YVcoKTskWGU9IltcMC0gXHhBMFx1MTY4MFx1MTgwRVx1MjAwMC1cdTIwMjlcdTIwNUZcdTMwMDBdIixxSWE9bmV3IFJlZ0V4cCgkWGUpLFZJYT1uZXcgUmVnRXhwKGAkeyRYZX0kYCksaklhPW5ldyBSZWdFeHAoJFhlLCJnIik7cyhVSWEsImlzVmFsaWRMaW5rU3RydWN0dXJlIik7cyhXSWEsImF1dG9saW5rIik7cyhHSWEsImNsaWNrSGFuZGxlciIpO3MoWUlhLCJwYXN0ZUhhbmRsZXIiKTtqMmE9L2h0dHBzPzpcL1wvKD86d3d3XC4pP1stYS16QS1aMC05QDolLl8rfiM9XXsxLDI1Nn1cLlthLXpBLVpdezIsfVxiKD86Wy1hLXpBLVowLTlAOiUuXyt+Iz0/ISYvXSopKD86Wy1hLXpBLVowLTlAOiUuXyt+Iz0/ISYvXSopL2dpO3MoVGMsImlzQWxsb3dlZFVyaSIpO0RYZT1paS5jcmVhdGUoe25hbWU6ImxpbmsiLHByaW9yaXR5OjFlMyxrZWVwT25TcGxpdDohMSxleGl0YWJsZTohMCxvbkNyZWF0ZSgpe3RoaXMub3B0aW9ucy52YWxpZGF0ZSYmIXRoaXMub3B0aW9ucy5zaG91bGRBdXRvTGluayYmKHRoaXMub3B0aW9ucy5zaG91bGRBdXRvTGluaz10aGlzLm9wdGlvbnMudmFsaWRhdGUsY29uc29sZS53YXJuKCJUaGUgYHZhbGlkYXRlYCBvcHRpb24gaXMgZGVwcmVjYXRlZC4gUmVuYW1lIHRvIHRoZSBgc2hvdWxkQXV0b0xpbmtgIG9wdGlvbiBpbnN0ZWFkLiIpKSx0aGlzLm9wdGlvbnMucHJvdG9jb2xzLmZvckVhY2goYT0+e2lmKHR5cGVvZiBhPT0ic3RyaW5nIil7QnNlKGEpO3JldHVybn1Cc2UoYS5zY2hlbWUsYS5vcHRpb25hbFNsYXNoZXMpfSl9LG9uRGVzdHJveSgpe0xYZSgpfSxpbmNsdXNpdmUoKXtyZXR1cm4gdGhpcy5vcHRpb25zLmF1dG9saW5rfSxhZGRPcHRpb25zKCl7cmV0dXJue29wZW5PbkNsaWNrOiEwLGxpbmtPblBhc3RlOiEwLGF1dG9saW5rOiEwLHByb3RvY29sczpbXSxkZWZhdWx0UHJvdG9jb2w6Imh0dHAiLEhUTUxBdHRyaWJ1dGVzOnt0YXJnZXQ6Il9ibGFuayIscmVsOiJub29wZW5lciBub3JlZmVycmVyIG5vZm9sbG93IixjbGFzczpudWxsfSxpc0FsbG93ZWRVcmk6cygoYSxlKT0+ISFUYyhhLGUucHJvdG9jb2xzKSwiaXNBbGxvd2VkVXJpIiksdmFsaWRhdGU6cyhhPT4hIWEsInZhbGlkYXRlIiksc2hvdWxkQXV0b0xpbms6cyhhPT4hIWEsInNob3VsZEF1dG9MaW5rIil9fSxhZGRBdHRyaWJ1dGVzKCl7cmV0dXJue2hyZWY6e2RlZmF1bHQ6bnVsbCxwYXJzZUhUTUwoYSl7cmV0dXJuIGEuZ2V0QXR0cmlidXRlKCJocmVmIil9fSx0YXJnZXQ6e2RlZmF1bHQ6dGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLnRhcmdldH0scmVsOntkZWZhdWx0OnRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcy5yZWx9LGNsYXNzOntkZWZhdWx0OnRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcy5jbGFzc319fSxwYXJzZUhUTUwoKXtyZXR1cm5be3RhZzoiYVtocmVmXSIsZ2V0QXR0cnM6cyhhPT57bGV0IGU9YS5nZXRBdHRyaWJ1dGUoImhyZWYiKTtyZXR1cm4hZXx8IXRoaXMub3B0aW9ucy5pc0FsbG93ZWRVcmkoZSx7ZGVmYXVsdFZhbGlkYXRlOnModD0+ISFUYyh0LHRoaXMub3B0aW9ucy5wcm90b2NvbHMpLCJkZWZhdWx0VmFsaWRhdGUiKSxwcm90b2NvbHM6dGhpcy5vcHRpb25zLnByb3RvY29scyxkZWZhdWx0UHJvdG9jb2w6dGhpcy5vcHRpb25zLmRlZmF1bHRQcm90b2NvbH0pPyExOm51bGx9LCJnZXRBdHRycyIpfV19LHJlbmRlckhUTUwoe0hUTUxBdHRyaWJ1dGVzOmF9KXtyZXR1cm4gdGhpcy5vcHRpb25zLmlzQWxsb3dlZFVyaShhLmhyZWYse2RlZmF1bHRWYWxpZGF0ZTpzKGU9PiEhVGMoZSx0aGlzLm9wdGlvbnMucHJvdG9jb2xzKSwiZGVmYXVsdFZhbGlkYXRlIikscHJvdG9jb2xzOnRoaXMub3B0aW9ucy5wcm90b2NvbHMsZGVmYXVsdFByb3RvY29sOnRoaXMub3B0aW9ucy5kZWZhdWx0UHJvdG9jb2x9KT9bImEiLFNhKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyxhKSwwXTpbImEiLFNhKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyx7Li4uYSxocmVmOiIifSksMF19LGFkZENvbW1hbmRzKCl7cmV0dXJue3NldExpbms6cyhhPT4oe2NoYWluOmV9KT0+e2xldHtocmVmOnR9PWE7cmV0dXJuIHRoaXMub3B0aW9ucy5pc0FsbG93ZWRVcmkodCx7ZGVmYXVsdFZhbGlkYXRlOnMocj0+ISFUYyhyLHRoaXMub3B0aW9ucy5wcm90b2NvbHMpLCJkZWZhdWx0VmFsaWRhdGUiKSxwcm90b2NvbHM6dGhpcy5vcHRpb25zLnByb3RvY29scyxkZWZhdWx0UHJvdG9jb2w6dGhpcy5vcHRpb25zLmRlZmF1bHRQcm90b2NvbH0pP2UoKS5zZXRNYXJrKHRoaXMubmFtZSxhKS5zZXRNZXRhKCJwcmV2ZW50QXV0b2xpbmsiLCEwKS5ydW4oKTohMX0sInNldExpbmsiKSx0b2dnbGVMaW5rOnMoYT0+KHtjaGFpbjplfSk9PntsZXR7aHJlZjp0fT1hO3JldHVybiB0aGlzLm9wdGlvbnMuaXNBbGxvd2VkVXJpKHQse2RlZmF1bHRWYWxpZGF0ZTpzKHI9PiEhVGMocix0aGlzLm9wdGlvbnMucHJvdG9jb2xzKSwiZGVmYXVsdFZhbGlkYXRlIikscHJvdG9jb2xzOnRoaXMub3B0aW9ucy5wcm90b2NvbHMsZGVmYXVsdFByb3RvY29sOnRoaXMub3B0aW9ucy5kZWZhdWx0UHJvdG9jb2x9KT9lKCkudG9nZ2xlTWFyayh0aGlzLm5hbWUsYSx7ZXh0ZW5kRW1wdHlNYXJrUmFuZ2U6ITB9KS5zZXRNZXRhKCJwcmV2ZW50QXV0b2xpbmsiLCEwKS5ydW4oKTohMX0sInRvZ2dsZUxpbmsiKSx1bnNldExpbms6cygoKT0+KHtjaGFpbjphfSk9PmEoKS51bnNldE1hcmsodGhpcy5uYW1lLHtleHRlbmRFbXB0eU1hcmtSYW5nZTohMH0pLnNldE1ldGEoInByZXZlbnRBdXRvbGluayIsITApLnJ1bigpLCJ1bnNldExpbmsiKX19LGFkZFBhc3RlUnVsZXMoKXtyZXR1cm5bUG8oe2ZpbmQ6cyhhPT57bGV0IGU9W107aWYoYSl7bGV0e3Byb3RvY29sczp0LGRlZmF1bHRQcm90b2NvbDpyfT10aGlzLm9wdGlvbnMsaT1Ic2UoYSkuZmlsdGVyKG89Pm8uaXNMaW5rJiZ0aGlzLm9wdGlvbnMuaXNBbGxvd2VkVXJpKG8udmFsdWUse2RlZmF1bHRWYWxpZGF0ZTpzKG49PiEhVGMobix0KSwiZGVmYXVsdFZhbGlkYXRlIikscHJvdG9jb2xzOnQsZGVmYXVsdFByb3RvY29sOnJ9KSk7aS5sZW5ndGgmJmkuZm9yRWFjaChvPT5lLnB1c2goe3RleHQ6by52YWx1ZSxkYXRhOntocmVmOm8uaHJlZn0saW5kZXg6by5zdGFydH0pKX1yZXR1cm4gZX0sImZpbmQiKSx0eXBlOnRoaXMudHlwZSxnZXRBdHRyaWJ1dGVzOnMoYT0+e3ZhciBlO3JldHVybntocmVmOihlPWEuZGF0YSk9PT1udWxsfHxlPT09dm9pZCAwP3ZvaWQgMDplLmhyZWZ9fSwiZ2V0QXR0cmlidXRlcyIpfSldfSxhZGRQcm9zZU1pcnJvclBsdWdpbnMoKXtsZXQgYT1bXSx7cHJvdG9jb2xzOmUsZGVmYXVsdFByb3RvY29sOnR9PXRoaXMub3B0aW9ucztyZXR1cm4gdGhpcy5vcHRpb25zLmF1dG9saW5rJiZhLnB1c2goV0lhKHt0eXBlOnRoaXMudHlwZSxkZWZhdWx0UHJvdG9jb2w6dGhpcy5vcHRpb25zLmRlZmF1bHRQcm90b2NvbCx2YWxpZGF0ZTpzKHI9PnRoaXMub3B0aW9ucy5pc0FsbG93ZWRVcmkocix7ZGVmYXVsdFZhbGlkYXRlOnMoaT0+ISFUYyhpLGUpLCJkZWZhdWx0VmFsaWRhdGUiKSxwcm90b2NvbHM6ZSxkZWZhdWx0UHJvdG9jb2w6dH0pLCJ2YWxpZGF0ZSIpLHNob3VsZEF1dG9MaW5rOnRoaXMub3B0aW9ucy5zaG91bGRBdXRvTGlua30pKSx0aGlzLm9wdGlvbnMub3Blbk9uQ2xpY2s9PT0hMCYmYS5wdXNoKEdJYSh7dHlwZTp0aGlzLnR5cGV9KSksdGhpcy5vcHRpb25zLmxpbmtPblBhc3RlJiZhLnB1c2goWUlhKHtlZGl0b3I6dGhpcy5lZGl0b3IsZGVmYXVsdFByb3RvY29sOnRoaXMub3B0aW9ucy5kZWZhdWx0UHJvdG9jb2wsdHlwZTp0aGlzLnR5cGV9KSksYX19KX0pO3ZhciBHMmE9e307cnQoRzJhLHtUeXBvZ3JhcGh5OigpPT5lUWUsY2xvc2VEb3VibGVRdW90ZTooKT0+SVhlLGNsb3NlU2luZ2xlUXVvdGU6KCk9PlJYZSxjb3B5cmlnaHQ6KCk9PkJYZSxkZWZhdWx0OigpPT5lUWUsZWxsaXBzaXM6KCk9PkVYZSxlbURhc2g6KCk9PkFYZSxsYXF1bzooKT0+R1hlLGxlZnRBcnJvdzooKT0+T1hlLG11bHRpcGxpY2F0aW9uOigpPT5LWGUsbm90RXF1YWw6KCk9PldYZSxvbmVIYWxmOigpPT5qWGUsb25lUXVhcnRlcjooKT0+UVhlLG9wZW5Eb3VibGVRdW90ZTooKT0+UFhlLG9wZW5TaW5nbGVRdW90ZTooKT0+TlhlLHBsdXNNaW51czooKT0+VVhlLHJhcXVvOigpPT5ZWGUscmVnaXN0ZXJlZFRyYWRlbWFyazooKT0+VlhlLHJpZ2h0QXJyb3c6KCk9PkZYZSxzZXJ2aWNlbWFyazooKT0+cVhlLHN1cGVyc2NyaXB0VGhyZWU6KCk9PlhYZSxzdXBlcnNjcmlwdFR3bzooKT0+WlhlLHRocmVlUXVhcnRlcnM6KCk9PkpYZSx0cmFkZW1hcms6KCk9PkhYZX0pO3ZhciBBWGUsRVhlLFBYZSxJWGUsTlhlLFJYZSxPWGUsRlhlLEJYZSxIWGUscVhlLFZYZSxqWGUsVVhlLFdYZSxHWGUsWVhlLEtYZSxaWGUsWFhlLFFYZSxKWGUsZVFlLFkyYT1mKCgpPT57YnIoKTtBWGU9cyhhPT5ncih7ZmluZDovLS0kLyxyZXBsYWNlOmE/PyJcdTIwMTQifSksImVtRGFzaCIpLEVYZT1zKGE9PmdyKHtmaW5kOi9cLlwuXC4kLyxyZXBsYWNlOmE/PyJcdTIwMjYifSksImVsbGlwc2lzIiksUFhlPXMoYT0+Z3Ioe2ZpbmQ6Lyg/Ol58W1xze1soPCciXHUyMDE4XHUyMDFDXSkoIikkLyxyZXBsYWNlOmE/PyJcdTIwMUMifSksIm9wZW5Eb3VibGVRdW90ZSIpLElYZT1zKGE9PmdyKHtmaW5kOi8iJC8scmVwbGFjZTphPz8iXHUyMDFEIn0pLCJjbG9zZURvdWJsZVF1b3RlIiksTlhlPXMoYT0+Z3Ioe2ZpbmQ6Lyg/Ol58W1xze1soPCciXHUyMDE4XHUyMDFDXSkoJykkLyxyZXBsYWNlOmE/PyJcdTIwMTgifSksIm9wZW5TaW5nbGVRdW90ZSIpLFJYZT1zKGE9PmdyKHtmaW5kOi8nJC8scmVwbGFjZTphPz8iXHUyMDE5In0pLCJjbG9zZVNpbmdsZVF1b3RlIiksT1hlPXMoYT0+Z3Ioe2ZpbmQ6LzwtJC8scmVwbGFjZTphPz8iXHUyMTkwIn0pLCJsZWZ0QXJyb3ciKSxGWGU9cyhhPT5ncih7ZmluZDovLT4kLyxyZXBsYWNlOmE/PyJcdTIxOTIifSksInJpZ2h0QXJyb3ciKSxCWGU9cyhhPT5ncih7ZmluZDovXChjXCkkLyxyZXBsYWNlOmE/PyJceEE5In0pLCJjb3B5cmlnaHQiKSxIWGU9cyhhPT5ncih7ZmluZDovXCh0bVwpJC8scmVwbGFjZTphPz8iXHUyMTIyIn0pLCJ0cmFkZW1hcmsiKSxxWGU9cyhhPT5ncih7ZmluZDovXChzbVwpJC8scmVwbGFjZTphPz8iXHUyMTIwIn0pLCJzZXJ2aWNlbWFyayIpLFZYZT1zKGE9PmdyKHtmaW5kOi9cKHJcKSQvLHJlcGxhY2U6YT8/Ilx4QUUifSksInJlZ2lzdGVyZWRUcmFkZW1hcmsiKSxqWGU9cyhhPT5ncih7ZmluZDovKD86XnxccykoMVwvMilccyQvLHJlcGxhY2U6YT8/Ilx4QkQifSksIm9uZUhhbGYiKSxVWGU9cyhhPT5ncih7ZmluZDovXCtcLy0kLyxyZXBsYWNlOmE/PyJceEIxIn0pLCJwbHVzTWludXMiKSxXWGU9cyhhPT5ncih7ZmluZDovIT0kLyxyZXBsYWNlOmE/PyJcdTIyNjAifSksIm5vdEVxdWFsIiksR1hlPXMoYT0+Z3Ioe2ZpbmQ6Lzw8JC8scmVwbGFjZTphPz8iXHhBQiJ9KSwibGFxdW8iKSxZWGU9cyhhPT5ncih7ZmluZDovPj4kLyxyZXBsYWNlOmE/PyJceEJCIn0pLCJyYXF1byIpLEtYZT1zKGE9PmdyKHtmaW5kOi9cZCtccz8oWyp4XSlccz9cZCskLyxyZXBsYWNlOmE/PyJceEQ3In0pLCJtdWx0aXBsaWNhdGlvbiIpLFpYZT1zKGE9PmdyKHtmaW5kOi9cXjIkLyxyZXBsYWNlOmE/PyJceEIyIn0pLCJzdXBlcnNjcmlwdFR3byIpLFhYZT1zKGE9PmdyKHtmaW5kOi9cXjMkLyxyZXBsYWNlOmE/PyJceEIzIn0pLCJzdXBlcnNjcmlwdFRocmVlIiksUVhlPXMoYT0+Z3Ioe2ZpbmQ6Lyg/Ol58XHMpKDFcLzQpXHMkLyxyZXBsYWNlOmE/PyJceEJDIn0pLCJvbmVRdWFydGVyIiksSlhlPXMoYT0+Z3Ioe2ZpbmQ6Lyg/Ol58XHMpKDNcLzQpXHMkLyxyZXBsYWNlOmE/PyJceEJFIn0pLCJ0aHJlZVF1YXJ0ZXJzIiksZVFlPXdyLmNyZWF0ZSh7bmFtZToidHlwb2dyYXBoeSIsYWRkT3B0aW9ucygpe3JldHVybntjbG9zZURvdWJsZVF1b3RlOiJcdTIwMUQiLGNsb3NlU2luZ2xlUXVvdGU6Ilx1MjAxOSIsY29weXJpZ2h0OiJceEE5IixlbGxpcHNpczoiXHUyMDI2IixlbURhc2g6Ilx1MjAxNCIsbGFxdW86Ilx4QUIiLGxlZnRBcnJvdzoiXHUyMTkwIixtdWx0aXBsaWNhdGlvbjoiXHhENyIsbm90RXF1YWw6Ilx1MjI2MCIsb25lSGFsZjoiXHhCRCIsb25lUXVhcnRlcjoiXHhCQyIsb3BlbkRvdWJsZVF1b3RlOiJcdTIwMUMiLG9wZW5TaW5nbGVRdW90ZToiXHUyMDE4IixwbHVzTWludXM6Ilx4QjEiLHJhcXVvOiJceEJCIixyZWdpc3RlcmVkVHJhZGVtYXJrOiJceEFFIixyaWdodEFycm93OiJcdTIxOTIiLHNlcnZpY2VtYXJrOiJcdTIxMjAiLHN1cGVyc2NyaXB0VGhyZWU6Ilx4QjMiLHN1cGVyc2NyaXB0VHdvOiJceEIyIix0aHJlZVF1YXJ0ZXJzOiJceEJFIix0cmFkZW1hcms6Ilx1MjEyMiJ9fSxhZGRJbnB1dFJ1bGVzKCl7bGV0IGE9W107cmV0dXJuIHRoaXMub3B0aW9ucy5lbURhc2ghPT0hMSYmYS5wdXNoKEFYZSh0aGlzLm9wdGlvbnMuZW1EYXNoKSksdGhpcy5vcHRpb25zLmVsbGlwc2lzIT09ITEmJmEucHVzaChFWGUodGhpcy5vcHRpb25zLmVsbGlwc2lzKSksdGhpcy5vcHRpb25zLm9wZW5Eb3VibGVRdW90ZSE9PSExJiZhLnB1c2goUFhlKHRoaXMub3B0aW9ucy5vcGVuRG91YmxlUXVvdGUpKSx0aGlzLm9wdGlvbnMuY2xvc2VEb3VibGVRdW90ZSE9PSExJiZhLnB1c2goSVhlKHRoaXMub3B0aW9ucy5jbG9zZURvdWJsZVF1b3RlKSksdGhpcy5vcHRpb25zLm9wZW5TaW5nbGVRdW90ZSE9PSExJiZhLnB1c2goTlhlKHRoaXMub3B0aW9ucy5vcGVuU2luZ2xlUXVvdGUpKSx0aGlzLm9wdGlvbnMuY2xvc2VTaW5nbGVRdW90ZSE9PSExJiZhLnB1c2goUlhlKHRoaXMub3B0aW9ucy5jbG9zZVNpbmdsZVF1b3RlKSksdGhpcy5vcHRpb25zLmxlZnRBcnJvdyE9PSExJiZhLnB1c2goT1hlKHRoaXMub3B0aW9ucy5sZWZ0QXJyb3cpKSx0aGlzLm9wdGlvbnMucmlnaHRBcnJvdyE9PSExJiZhLnB1c2goRlhlKHRoaXMub3B0aW9ucy5yaWdodEFycm93KSksdGhpcy5vcHRpb25zLmNvcHlyaWdodCE9PSExJiZhLnB1c2goQlhlKHRoaXMub3B0aW9ucy5jb3B5cmlnaHQpKSx0aGlzLm9wdGlvbnMudHJhZGVtYXJrIT09ITEmJmEucHVzaChIWGUodGhpcy5vcHRpb25zLnRyYWRlbWFyaykpLHRoaXMub3B0aW9ucy5zZXJ2aWNlbWFyayE9PSExJiZhLnB1c2gocVhlKHRoaXMub3B0aW9ucy5zZXJ2aWNlbWFyaykpLHRoaXMub3B0aW9ucy5yZWdpc3RlcmVkVHJhZGVtYXJrIT09ITEmJmEucHVzaChWWGUodGhpcy5vcHRpb25zLnJlZ2lzdGVyZWRUcmFkZW1hcmspKSx0aGlzLm9wdGlvbnMub25lSGFsZiE9PSExJiZhLnB1c2goalhlKHRoaXMub3B0aW9ucy5vbmVIYWxmKSksdGhpcy5vcHRpb25zLnBsdXNNaW51cyE9PSExJiZhLnB1c2goVVhlKHRoaXMub3B0aW9ucy5wbHVzTWludXMpKSx0aGlzLm9wdGlvbnMubm90RXF1YWwhPT0hMSYmYS5wdXNoKFdYZSh0aGlzLm9wdGlvbnMubm90RXF1YWwpKSx0aGlzLm9wdGlvbnMubGFxdW8hPT0hMSYmYS5wdXNoKEdYZSh0aGlzLm9wdGlvbnMubGFxdW8pKSx0aGlzLm9wdGlvbnMucmFxdW8hPT0hMSYmYS5wdXNoKFlYZSh0aGlzLm9wdGlvbnMucmFxdW8pKSx0aGlzLm9wdGlvbnMubXVsdGlwbGljYXRpb24hPT0hMSYmYS5wdXNoKEtYZSh0aGlzLm9wdGlvbnMubXVsdGlwbGljYXRpb24pKSx0aGlzLm9wdGlvbnMuc3VwZXJzY3JpcHRUd28hPT0hMSYmYS5wdXNoKFpYZSh0aGlzLm9wdGlvbnMuc3VwZXJzY3JpcHRUd28pKSx0aGlzLm9wdGlvbnMuc3VwZXJzY3JpcHRUaHJlZSE9PSExJiZhLnB1c2goWFhlKHRoaXMub3B0aW9ucy5zdXBlcnNjcmlwdFRocmVlKSksdGhpcy5vcHRpb25zLm9uZVF1YXJ0ZXIhPT0hMSYmYS5wdXNoKFFYZSh0aGlzLm9wdGlvbnMub25lUXVhcnRlcikpLHRoaXMub3B0aW9ucy50aHJlZVF1YXJ0ZXJzIT09ITEmJmEucHVzaChKWGUodGhpcy5vcHRpb25zLnRocmVlUXVhcnRlcnMpKSxhfX0pfSk7dmFyIEYxLEIxLHRRZT1mKCgpPT57RjE9e3h0ZXJtOiI1LjMuMCIseHRlcm1BZGRvbkZpdDoiMC44LjAiLHh0ZXJtQWRkb25TZWFyY2g6IjAuMTMuMCIsaGlnaGxpZ2h0SnM6IjExLjExLjEiLGVjaGFydHM6IjUuNi4wIixsaWdodHdlaWdodENoYXJ0czoiNS4xLjAiLHRpcHRhcDoiMi4yNy4yIixmb250YXdlc29tZToiNy4yLjAifSxCMT0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbSJ9KTt2YXIgTnMsSzJhPWYoKCk9Pnt0UWUoKTtOcz1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkRlZXNTZXJ2aWNlTGliTG9hZGVyIil9c3RhdGljIGluc3RhbmNlO3h0ZXJtTGliPW51bGw7eHRlcm1GaXRBZGRvbkxpYj1udWxsO3h0ZXJtU2VhcmNoQWRkb25MaWI9bnVsbDtoaWdobGlnaHRKc0xpYj1udWxsO2xpZ2h0d2VpZ2h0Q2hhcnRzTGliPW51bGw7ZWNoYXJ0c0xpYj1udWxsO3RpcHRhcExpYj1udWxsO3h0ZXJtTG9hZGluZ1Byb21pc2U9bnVsbDt4dGVybUZpdEFkZG9uTG9hZGluZ1Byb21pc2U9bnVsbDt4dGVybVNlYXJjaEFkZG9uTG9hZGluZ1Byb21pc2U9bnVsbDtoaWdobGlnaHRKc0xvYWRpbmdQcm9taXNlPW51bGw7bGlnaHR3ZWlnaHRDaGFydHNMb2FkaW5nUHJvbWlzZT1udWxsO2VjaGFydHNMb2FkaW5nUHJvbWlzZT1udWxsO3RpcHRhcExvYWRpbmdQcm9taXNlPW51bGw7Y29uc3RydWN0b3IoKXt9c3RhdGljIGdldEluc3RhbmNlKCl7cmV0dXJuIGEuaW5zdGFuY2V8fChhLmluc3RhbmNlPW5ldyBhKSxhLmluc3RhbmNlfWFzeW5jIGxvYWRYdGVybSgpe3JldHVybiB0aGlzLnh0ZXJtTGliP3RoaXMueHRlcm1MaWI6dGhpcy54dGVybUxvYWRpbmdQcm9taXNlP3RoaXMueHRlcm1Mb2FkaW5nUHJvbWlzZToodGhpcy54dGVybUxvYWRpbmdQcm9taXNlPShhc3luYygpPT57bGV0IHQ9YXdhaXQgaW1wb3J0KGAke0IxfS94dGVybUAke0YxLnh0ZXJtfS8rZXNtYCk7cmV0dXJuIGF3YWl0IHRoaXMuaW5qZWN0WHRlcm1TdHlsZXMoKSx0aGlzLnh0ZXJtTGliPXtUZXJtaW5hbDp0LlRlcm1pbmFsfSx0aGlzLnh0ZXJtTGlifSkoKSx0aGlzLnh0ZXJtTG9hZGluZ1Byb21pc2UpfWFzeW5jIGxvYWRYdGVybUZpdEFkZG9uKCl7cmV0dXJuIHRoaXMueHRlcm1GaXRBZGRvbkxpYj90aGlzLnh0ZXJtRml0QWRkb25MaWI6dGhpcy54dGVybUZpdEFkZG9uTG9hZGluZ1Byb21pc2U/dGhpcy54dGVybUZpdEFkZG9uTG9hZGluZ1Byb21pc2U6KHRoaXMueHRlcm1GaXRBZGRvbkxvYWRpbmdQcm9taXNlPShhc3luYygpPT57bGV0IHQ9YXdhaXQgaW1wb3J0KGAke0IxfS94dGVybS1hZGRvbi1maXRAJHtGMS54dGVybUFkZG9uRml0fS8rZXNtYCk7cmV0dXJuIHRoaXMueHRlcm1GaXRBZGRvbkxpYj17Rml0QWRkb246dC5GaXRBZGRvbn0sdGhpcy54dGVybUZpdEFkZG9uTGlifSkoKSx0aGlzLnh0ZXJtRml0QWRkb25Mb2FkaW5nUHJvbWlzZSl9YXN5bmMgbG9hZFh0ZXJtU2VhcmNoQWRkb24oKXtyZXR1cm4gdGhpcy54dGVybVNlYXJjaEFkZG9uTGliP3RoaXMueHRlcm1TZWFyY2hBZGRvbkxpYjp0aGlzLnh0ZXJtU2VhcmNoQWRkb25Mb2FkaW5nUHJvbWlzZT90aGlzLnh0ZXJtU2VhcmNoQWRkb25Mb2FkaW5nUHJvbWlzZToodGhpcy54dGVybVNlYXJjaEFkZG9uTG9hZGluZ1Byb21pc2U9KGFzeW5jKCk9PntsZXQgdD1hd2FpdCBpbXBvcnQoYCR7QjF9L3h0ZXJtLWFkZG9uLXNlYXJjaEAke0YxLnh0ZXJtQWRkb25TZWFyY2h9Lytlc21gKTtyZXR1cm4gdGhpcy54dGVybVNlYXJjaEFkZG9uTGliPXtTZWFyY2hBZGRvbjp0LlNlYXJjaEFkZG9ufSx0aGlzLnh0ZXJtU2VhcmNoQWRkb25MaWJ9KSgpLHRoaXMueHRlcm1TZWFyY2hBZGRvbkxvYWRpbmdQcm9taXNlKX1hc3luYyBpbmplY3RYdGVybVN0eWxlcygpe2xldCBlPSJ4dGVybS1jZG4tc3R5bGVzIjtpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlKSlyZXR1cm47bGV0IHQ9YCR7QjF9L3h0ZXJtQCR7RjEueHRlcm19L2Nzcy94dGVybS5jc3NgLGk9YXdhaXQoYXdhaXQgZmV0Y2godCkpLnRleHQoKSxvPWAKLyogRml4IHh0ZXJtLmpzIFdpZHRoQ2FjaGUgbWVhc3VyZW1lbnQgY29udGFpbmVyIGNhdXNpbmcgaG9yaXpvbnRhbCBzY3JvbGxiYXIgKi8KLyogeHRlcm0gY3JlYXRlcyB0aGlzIG9uIGRvY3VtZW50LmJvZHkgLSBtb3ZlIGl0IG9mZi1zY3JlZW4gaG9yaXpvbnRhbGx5IHRvbyAqLwpib2R5ID4gZGl2W3N0eWxlKj0idG9wOiAtNTAwMDBweCJdW3N0eWxlKj0id2lkdGg6IDUwMDAwcHgiXSB7CiAgbGVmdDogLTUwMDAwcHggIWltcG9ydGFudDsKfQpgLG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtuLmlkPWUsbi50ZXh0Q29udGVudD1pK28sZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChuKX1hc3luYyBsb2FkSGlnaGxpZ2h0SnMoKXtyZXR1cm4gdGhpcy5oaWdobGlnaHRKc0xpYj90aGlzLmhpZ2hsaWdodEpzTGliOnRoaXMuaGlnaGxpZ2h0SnNMb2FkaW5nUHJvbWlzZT90aGlzLmhpZ2hsaWdodEpzTG9hZGluZ1Byb21pc2U6KHRoaXMuaGlnaGxpZ2h0SnNMb2FkaW5nUHJvbWlzZT0oYXN5bmMoKT0+e2xldCB0PWF3YWl0IGltcG9ydChgJHtCMX0vaGlnaGxpZ2h0LmpzQCR7RjEuaGlnaGxpZ2h0SnN9Lytlc21gKTtyZXR1cm4gdGhpcy5oaWdobGlnaHRKc0xpYj10LmRlZmF1bHQsdGhpcy5oaWdobGlnaHRKc0xpYn0pKCksdGhpcy5oaWdobGlnaHRKc0xvYWRpbmdQcm9taXNlKX1hc3luYyBsb2FkTGlnaHR3ZWlnaHRDaGFydHMoKXtyZXR1cm4gdGhpcy5saWdodHdlaWdodENoYXJ0c0xpYj90aGlzLmxpZ2h0d2VpZ2h0Q2hhcnRzTGliOnRoaXMubGlnaHR3ZWlnaHRDaGFydHNMb2FkaW5nUHJvbWlzZT90aGlzLmxpZ2h0d2VpZ2h0Q2hhcnRzTG9hZGluZ1Byb21pc2U6KHRoaXMubGlnaHR3ZWlnaHRDaGFydHNMb2FkaW5nUHJvbWlzZT0oYXN5bmMoKT0+e2xldCB0PWF3YWl0IGltcG9ydChgJHtCMX0vbGlnaHR3ZWlnaHQtY2hhcnRzQCR7RjEubGlnaHR3ZWlnaHRDaGFydHN9Lytlc21gKTtyZXR1cm4gdGhpcy5saWdodHdlaWdodENoYXJ0c0xpYj17Y3JlYXRlQ2hhcnQ6dC5jcmVhdGVDaGFydCxBcmVhU2VyaWVzOnQuQXJlYVNlcmllcyxMaW5lU2VyaWVzOnQuTGluZVNlcmllcyxDb2xvclR5cGU6dC5Db2xvclR5cGUsTGluZVR5cGU6dC5MaW5lVHlwZSxDcm9zc2hhaXJNb2RlOnQuQ3Jvc3NoYWlyTW9kZX0sdGhpcy5saWdodHdlaWdodENoYXJ0c0xpYn0pKCksdGhpcy5saWdodHdlaWdodENoYXJ0c0xvYWRpbmdQcm9taXNlKX1hc3luYyBsb2FkRWNoYXJ0cygpe3JldHVybiB0aGlzLmVjaGFydHNMaWI/dGhpcy5lY2hhcnRzTGliOnRoaXMuZWNoYXJ0c0xvYWRpbmdQcm9taXNlP3RoaXMuZWNoYXJ0c0xvYWRpbmdQcm9taXNlOih0aGlzLmVjaGFydHNMb2FkaW5nUHJvbWlzZT0oYXN5bmMoKT0+e2xldCB0PWF3YWl0IGltcG9ydChgJHtCMX0vZWNoYXJ0c0Ake0YxLmVjaGFydHN9L2Rpc3QvZWNoYXJ0cy5lc20ubWluLmpzYCk7cmV0dXJuIHRoaXMuZWNoYXJ0c0xpYj17aW5pdDp0LmluaXQsZGlzcG9zZTp0LmRpc3Bvc2UsZ2V0SW5zdGFuY2VCeURvbTp0LmdldEluc3RhbmNlQnlEb219LHRoaXMuZWNoYXJ0c0xpYn0pKCksdGhpcy5lY2hhcnRzTG9hZGluZ1Byb21pc2UpfWFzeW5jIGxvYWRUaXB0YXAoKXtyZXR1cm4gdGhpcy50aXB0YXBMaWI/dGhpcy50aXB0YXBMaWI6dGhpcy50aXB0YXBMb2FkaW5nUHJvbWlzZT90aGlzLnRpcHRhcExvYWRpbmdQcm9taXNlOih0aGlzLnRpcHRhcExvYWRpbmdQcm9taXNlPShhc3luYygpPT57bGV0W2UsdCxyLGksbyxuXT1hd2FpdCBQcm9taXNlLmFsbChbUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KGJyKCksVDFhKSksUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KGsyYSgpLE0yYSkpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pih6MmEoKSxTMmEpKSxQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oXzJhKCksQzJhKSksUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KFcyYSgpLFUyYSkpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihZMmEoKSxHMmEpKV0pO3JldHVybiB0aGlzLnRpcHRhcExpYj17RWRpdG9yOmUuRWRpdG9yLFN0YXJ0ZXJLaXQ6dC5kZWZhdWx0fHx0LlN0YXJ0ZXJLaXQsVW5kZXJsaW5lOnIuZGVmYXVsdHx8ci5VbmRlcmxpbmUsVGV4dEFsaWduOmkuZGVmYXVsdHx8aS5UZXh0QWxpZ24sTGluazpvLmRlZmF1bHR8fG8uTGluayxUeXBvZ3JhcGh5Om4uZGVmYXVsdHx8bi5UeXBvZ3JhcGh5fSx0aGlzLnRpcHRhcExpYn0pKCksdGhpcy50aXB0YXBMb2FkaW5nUHJvbWlzZSl9YXN5bmMgcHJlbG9hZEFsbCgpe2F3YWl0IFByb21pc2UuYWxsKFt0aGlzLmxvYWRYdGVybSgpLHRoaXMubG9hZFh0ZXJtRml0QWRkb24oKSx0aGlzLmxvYWRYdGVybVNlYXJjaEFkZG9uKCksdGhpcy5sb2FkSGlnaGxpZ2h0SnMoKSx0aGlzLmxvYWRMaWdodHdlaWdodENoYXJ0cygpLHRoaXMubG9hZEVjaGFydHMoKSx0aGlzLmxvYWRUaXB0YXAoKV0pfWlzTG9hZGVkKGUpe3N3aXRjaChlKXtjYXNlInh0ZXJtIjpyZXR1cm4gdGhpcy54dGVybUxpYiE9PW51bGw7Y2FzZSJ4dGVybUZpdEFkZG9uIjpyZXR1cm4gdGhpcy54dGVybUZpdEFkZG9uTGliIT09bnVsbDtjYXNlInh0ZXJtU2VhcmNoQWRkb24iOnJldHVybiB0aGlzLnh0ZXJtU2VhcmNoQWRkb25MaWIhPT1udWxsO2Nhc2UiaGlnaGxpZ2h0SnMiOnJldHVybiB0aGlzLmhpZ2hsaWdodEpzTGliIT09bnVsbDtjYXNlImxpZ2h0d2VpZ2h0Q2hhcnRzIjpyZXR1cm4gdGhpcy5saWdodHdlaWdodENoYXJ0c0xpYiE9PW51bGw7Y2FzZSJlY2hhcnRzIjpyZXR1cm4gdGhpcy5lY2hhcnRzTGliIT09bnVsbDtjYXNlInRpcHRhcCI6cmV0dXJuIHRoaXMudGlwdGFwTGliIT09bnVsbDtkZWZhdWx0OnJldHVybiExfX19fSk7dmFyIExjPWYoKCk9PntLMmEoKTt0UWUoKX0pO3ZhciBOVyxaMmE9ZigoKT0+e2VuKCk7bGUoKTtHMigpO2ZzKCk7RGFlKCk7TGMoKTtOVz1jbGFzcyBleHRlbmRzIG1ye3N0YXRpY3tzKHRoaXMsIkNvZGVCbG9ja0hhbmRsZXIiKX10eXBlPSJjb2RlIjtoaWdobGlnaHRUaW1lcj1udWxsO2hpZ2hsaWdodEpzPW51bGw7cmVuZGVyKGUsdCl7bGV0IHI9ZS5tZXRhZGF0YT8ubGFuZ3VhZ2V8fCJ0eXBlc2NyaXB0IixpPWUuY29udGVudHx8IiIsbz1pLnNwbGl0KGAKYCkubGVuZ3RoLG49IiI7Zm9yKGxldCBkPTE7ZDw9bztkKyspbis9YDxkaXYgY2xhc3M9ImxpbmUtbnVtYmVyIj4ke2R9PC9kaXY+YDtsZXQgbD1CVS5tYXAoZD0+e2xldCBjPWQudG9Mb3dlckNhc2UoKTtyZXR1cm5gPG9wdGlvbiB2YWx1ZT0iJHtjfSIgJHtjPT09cj8ic2VsZWN0ZWQiOiIifT4ke2R9PC9vcHRpb24+YH0pLmpvaW4oIiIpO3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0iY29kZS1ibG9jay1jb250YWluZXIke3Q/IiBzZWxlY3RlZCI6IiJ9IiBkYXRhLWxhbmd1YWdlPSIke3J9Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWhlYWRlciI+CiAgICAgICAgICA8c2VsZWN0IGNsYXNzPSJsYW5ndWFnZS1zZWxlY3RvciIgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSI+CiAgICAgICAgICAgICR7bH0KICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY29weS1idXR0b24iIHRpdGxlPSJDb3B5IGNvZGUiPgogICAgICAgICAgICA8c3ZnIGNsYXNzPSJjb3B5LWljb24iIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0wIDYuNzVDMCA1Ljc4NC43ODQgNSAxLjc1IDVoMS41YS43NS43NSAwIDAxMCAxLjVoLTEuNWEuMjUuMjUgMCAwMC0uMjUuMjV2Ny41YzAgLjEzOC4xMTIuMjUuMjUuMjVoNy41YS4yNS4yNSAwIDAwLjI1LS4yNXYtMS41YS43NS43NSAwIDAxMS41IDB2MS41QTEuNzUgMS43NSAwIDAxOS4yNSAxNmgtNy41QTEuNzUgMS43NSAwIDAxMCAxNC4yNXYtNy41eiI+PC9wYXRoPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik01IDEuNzVDNSAuNzg0IDUuNzg0IDAgNi43NSAwaDcuNUMxNS4yMTYgMCAxNiAuNzg0IDE2IDEuNzV2Ny41QTEuNzUgMS43NSAwIDAxMTQuMjUgMTFoLTcuNUExLjc1IDEuNzUgMCAwMTUgOS4yNXYtNy41em0xLjc1LS4yNWEuMjUuMjUgMCAwMC0uMjUuMjV2Ny41YzAgLjEzOC4xMTIuMjUuMjUuMjVoNy41YS4yNS4yNSAwIDAwLjI1LS4yNXYtNy41YS4yNS4yNSAwIDAwLS4yNS0uMjVoLTcuNXoiPjwvcGF0aD4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb3B5LXRleHQiPkNvcHk8L3NwYW4+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWJvZHkiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibGluZS1udW1iZXJzIj4ke259PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWNvbnRlbnQiPgogICAgICAgICAgICA8cHJlIGNsYXNzPSJjb2RlLXByZSI+PGNvZGUgY2xhc3M9ImNvZGUtZWRpdG9yIiAKICAgICAgICAgICAgICAgICBjb250ZW50ZWRpdGFibGU9InRydWUiCiAgICAgICAgICAgICAgICAgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIKICAgICAgICAgICAgICAgICBkYXRhLWJsb2NrLXR5cGU9IiR7ZS50eXBlfSIKICAgICAgICAgICAgICAgICBzcGVsbGNoZWNrPSJmYWxzZSI+JHt0aGlzLmVzY2FwZUh0bWwoaSl9PC9jb2RlPjwvcHJlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1zZXR1cChlLHQscil7bGV0IGk9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKSxvPWUucXVlcnlTZWxlY3RvcigiLmNvZGUtYmxvY2stY29udGFpbmVyIiksbj1lLnF1ZXJ5U2VsZWN0b3IoIi5jb3B5LWJ1dHRvbiIpLGw9ZS5xdWVyeVNlbGVjdG9yKCIubGFuZ3VhZ2Utc2VsZWN0b3IiKTtpZighaXx8IW8pcmV0dXJuO2wmJmwuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixjPT57bGV0IHA9Yy50YXJnZXQudmFsdWU7dC5tZXRhZGF0YT17Li4udC5tZXRhZGF0YSxsYW5ndWFnZTpwfSxvLnNldEF0dHJpYnV0ZSgiZGF0YS1sYW5ndWFnZSIscCksdC5jb250ZW50JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09aSYmdGhpcy5hcHBseUhpZ2hsaWdodGluZyhlLHQpLHIub25JbnB1dCYmci5vbklucHV0KG5ldyBJbnB1dEV2ZW50KCJpbnB1dCIpKX0pLG4mJm4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGFzeW5jKCk9PntsZXQgYz1pLnRleHRDb250ZW50fHwiIjt0cnl7YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoYyk7bGV0IHA9bi5xdWVyeVNlbGVjdG9yKCIuY29weS10ZXh0IiksdT1wLnRleHRDb250ZW50O3AudGV4dENvbnRlbnQ9IkNvcGllZCEiLG4uY2xhc3NMaXN0LmFkZCgiY29waWVkIiksc2V0VGltZW91dCgoKT0+e3AudGV4dENvbnRlbnQ9dSxuLmNsYXNzTGlzdC5yZW1vdmUoImNvcGllZCIpfSwyZTMpfWNhdGNoKHApe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjb3B5OiIscCk7bGV0IHU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTt1LnZhbHVlPWMsdS5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiLHUuc3R5bGUub3BhY2l0eT0iMCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh1KSx1LnNlbGVjdCgpO3RyeXtkb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpO2xldCBtPW4ucXVlcnlTZWxlY3RvcigiLmNvcHktdGV4dCIpLHY9bS50ZXh0Q29udGVudDttLnRleHRDb250ZW50PSJDb3BpZWQhIixuLmNsYXNzTGlzdC5hZGQoImNvcGllZCIpLHNldFRpbWVvdXQoKCk9PnttLnRleHRDb250ZW50PXYsbi5jbGFzc0xpc3QucmVtb3ZlKCJjb3BpZWQiKX0sMmUzKX1jYXRjaChtKXtjb25zb2xlLmVycm9yKCJGYWxsYmFjayBjb3B5IGZhaWxlZDoiLG0pfWRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodSl9fSk7bGV0IGQ9ITE7aS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PntkPSEwLG8uY2xhc3NMaXN0LmFkZCgiZWRpdGluZyIpO2xldCBjPWkudGV4dENvbnRlbnR8fCIiO2kudGV4dENvbnRlbnQ9YyxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntsZXQgcD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLHU9d2luZG93LmdldFNlbGVjdGlvbigpO2kuZmlyc3RDaGlsZCYmKHAuc2V0U3RhcnQoaS5maXJzdENoaWxkLDApLHAuY29sbGFwc2UoITApLHU/LnJlbW92ZUFsbFJhbmdlcygpLHU/LmFkZFJhbmdlKHApKX0pLHIub25Gb2N1cygpfSksaS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e2Q9ITEsby5jbGFzc0xpc3QucmVtb3ZlKCJlZGl0aW5nIiksdGhpcy5hcHBseUhpZ2hsaWdodGluZyhlLHQpLHIub25CbHVyKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixjPT57ci5vbklucHV0KGMpLHRoaXMudXBkYXRlTGluZU51bWJlcnMoZSksY2xlYXJUaW1lb3V0KHRoaXMuaGlnaGxpZ2h0VGltZXIpfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixjPT57aWYoYy5rZXk9PT0iVGFiIil7Yy5wcmV2ZW50RGVmYXVsdCgpO2xldCBwPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihwJiZwLnJhbmdlQ291bnQ+MCl7bGV0IHU9cC5nZXRSYW5nZUF0KDApLG09ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAgIik7dS5pbnNlcnROb2RlKG0pLHUuc2V0U3RhcnRBZnRlcihtKSx1LnNldEVuZEFmdGVyKG0pLHAucmVtb3ZlQWxsUmFuZ2VzKCkscC5hZGRSYW5nZSh1KSxyLm9uSW5wdXQobmV3IElucHV0RXZlbnQoImlucHV0IikpLHRoaXMudXBkYXRlTGluZU51bWJlcnMoZSl9cmV0dXJufWlmKFsiQXJyb3dMZWZ0IiwiQXJyb3dSaWdodCIsIkFycm93VXAiLCJBcnJvd0Rvd24iXS5pbmNsdWRlcyhjLmtleSkpe2xldCBwPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSksdT1pLnRleHRDb250ZW50Py5sZW5ndGh8fDA7aWYoYy5rZXk9PT0iQXJyb3dMZWZ0IiYmcD09PTB8fGMua2V5PT09IkFycm93UmlnaHQiJiZwPT09dSl7ci5vbktleURvd24oYyk7cmV0dXJufWlmKGMua2V5PT09IkFycm93VXAifHxjLmtleT09PSJBcnJvd0Rvd24iKXtsZXQgbT0oaS50ZXh0Q29udGVudHx8IiIpLnNwbGl0KGAKYCksdj10aGlzLmdldEN1cnJlbnRMaW5lSW5kZXgoaSk7aWYoYy5rZXk9PT0iQXJyb3dVcCImJnY9PT0wfHxjLmtleT09PSJBcnJvd0Rvd24iJiZ2PT09bS5sZW5ndGgtMSl7ci5vbktleURvd24oYyk7cmV0dXJufX19ci5vbktleURvd24oYyl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoInBhc3RlIixjPT57Yy5wcmV2ZW50RGVmYXVsdCgpO2xldCBwPWMuY2xpcGJvYXJkRGF0YT8uZ2V0RGF0YSgidGV4dC9wbGFpbiIpO2lmKHApe2xldCB1PXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZih1JiZ1LnJhbmdlQ291bnQ+MCl7bGV0IG09dS5nZXRSYW5nZUF0KDApO20uZGVsZXRlQ29udGVudHMoKTtsZXQgdj1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShwKTttLmluc2VydE5vZGUodiksbS5zZXRTdGFydEFmdGVyKHYpLG0uc2V0RW5kQWZ0ZXIodiksdS5yZW1vdmVBbGxSYW5nZXMoKSx1LmFkZFJhbmdlKG0pLHIub25JbnB1dChuZXcgSW5wdXRFdmVudCgiaW5wdXQiKSksdGhpcy51cGRhdGVMaW5lTnVtYmVycyhlKX19fSksaS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbnN0YXJ0IiwoKT0+ci5vbkNvbXBvc2l0aW9uU3RhcnQoKSksaS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbmVuZCIsKCk9PnIub25Db21wb3NpdGlvbkVuZCgpKSx0LmNvbnRlbnQmJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1pJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLmFwcGx5SGlnaGxpZ2h0aW5nKGUsdCl9KX11cGRhdGVMaW5lTnVtYmVycyhlKXtsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpLHI9ZS5xdWVyeVNlbGVjdG9yKCIubGluZS1udW1iZXJzIik7aWYoIXR8fCFyKXJldHVybjtsZXQgbj0odC50ZXh0Q29udGVudHx8IiIpLnNwbGl0KGAKYCkubGVuZ3RofHwxLGw9IiI7Zm9yKGxldCBkPTE7ZDw9bjtkKyspbCs9YDxkaXYgY2xhc3M9ImxpbmUtbnVtYmVyIj4ke2R9PC9kaXY+YDtyLmlubmVySFRNTD1sfWdldEN1cnJlbnRMaW5lSW5kZXgoZSl7bGV0IHQ9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCF0fHx0LnJhbmdlQ291bnQ9PT0wKXJldHVybiAwO2xldCByPXQuZ2V0UmFuZ2VBdCgwKSxpPXIuY2xvbmVSYW5nZSgpO3JldHVybiBpLnNlbGVjdE5vZGVDb250ZW50cyhlKSxpLnNldEVuZChyLnN0YXJ0Q29udGFpbmVyLHIuc3RhcnRPZmZzZXQpLGkudG9TdHJpbmcoKS5zcGxpdChgCmApLmxlbmd0aC0xfWFzeW5jIGFwcGx5SGlnaGxpZ2h0aW5nKGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKTtpZighcilyZXR1cm47dGhpcy5oaWdobGlnaHRKc3x8KHRoaXMuaGlnaGxpZ2h0SnM9YXdhaXQgTnMuZ2V0SW5zdGFuY2UoKS5sb2FkSGlnaGxpZ2h0SnMoKSk7bGV0IGk9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKSxvPXIudGV4dENvbnRlbnR8fCIiLG49dC5tZXRhZGF0YT8ubGFuZ3VhZ2V8fCJ0eXBlc2NyaXB0Ijt0cnl7bGV0IGw9dGhpcy5oaWdobGlnaHRKcy5oaWdobGlnaHQobyx7bGFuZ3VhZ2U6bixpZ25vcmVJbGxlZ2FsczohMH0pO2wudmFsdWUmJihyLmlubmVySFRNTD1sLnZhbHVlLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1yJiZpIT09bnVsbCYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57c3Quc2V0Q3Vyc29yUG9zaXRpb24ocixpKX0pKX1jYXRjaChsKXtjb25zb2xlLndhcm4oIlN5bnRheCBoaWdobGlnaHRpbmcgZmFpbGVkOiIsbCl9fWVzY2FwZUh0bWwoZSl7bGV0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQudGV4dENvbnRlbnQ9ZSx0LmlubmVySFRNTH1nZXRDb250ZW50KGUpe3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpPy50ZXh0Q29udGVudHx8IiJ9c2V0Q29udGVudChlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik7aWYociYmKHIudGV4dENvbnRlbnQ9dCx0aGlzLnVwZGF0ZUxpbmVOdW1iZXJzKGUpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1yKSl7bGV0IGk9e2lkOnIuZGF0YXNldC5ibG9ja0lkfHwiIix0eXBlOiJjb2RlIixjb250ZW50OnQsbWV0YWRhdGE6e2xhbmd1YWdlOmUucXVlcnlTZWxlY3RvcigiLmNvZGUtYmxvY2stY29udGFpbmVyIik/LmdldEF0dHJpYnV0ZSgiZGF0YS1sYW5ndWFnZSIpfHwidHlwZXNjcmlwdCJ9fTt0aGlzLmFwcGx5SGlnaGxpZ2h0aW5nKGUsaSl9fWdldEN1cnNvclBvc2l0aW9uKGUpe2xldCB0PWUucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik7aWYoIXQpcmV0dXJuIG51bGw7bGV0IHI9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFyfHxyLnJhbmdlQ291bnQ9PT0wKXJldHVybiBudWxsO2xldCBpPXIuZ2V0UmFuZ2VBdCgwKTtpZighdC5jb250YWlucyhpLnN0YXJ0Q29udGFpbmVyKSlyZXR1cm4gbnVsbDtsZXQgbz1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3JldHVybiBvLnNlbGVjdE5vZGVDb250ZW50cyh0KSxvLnNldEVuZChpLnN0YXJ0Q29udGFpbmVyLGkuc3RhcnRPZmZzZXQpLG8udG9TdHJpbmcoKS5sZW5ndGh9c2V0Q3Vyc29yVG9TdGFydChlKXtsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpO3QmJnN0LnNldEN1cnNvclBvc2l0aW9uKHQsMCl9c2V0Q3Vyc29yVG9FbmQoZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKTtpZih0KXtsZXQgcj10LnRleHRDb250ZW50Py5sZW5ndGh8fDA7c3Quc2V0Q3Vyc29yUG9zaXRpb24odCxyKX19Zm9jdXMoZSl7ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKT8uZm9jdXMoKX1mb2N1c1dpdGhDdXJzb3IoZSx0PSJlbmQiKXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpO3ImJihyLmZvY3VzKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dD09PSJzdGFydCI/dGhpcy5zZXRDdXJzb3JUb1N0YXJ0KGUpOnQ9PT0iZW5kIj90aGlzLnNldEN1cnNvclRvRW5kKGUpOnR5cGVvZiB0PT0ibnVtYmVyIiYmc3Quc2V0Q3Vyc29yUG9zaXRpb24ocix0KX0pKX1nZXRTcGxpdENvbnRlbnQoZSl7bGV0IHQ9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtpZih0PT09bnVsbClyZXR1cm4gbnVsbDtsZXQgcj10aGlzLmdldENvbnRlbnQoZSk7cmV0dXJue2JlZm9yZTpyLnN1YnN0cmluZygwLHQpLGFmdGVyOnIuc3Vic3RyaW5nKHQpfX1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC8qIENvZGUgQmxvY2sgQ29udGFpbmVyIC0gTWluaW1hbGlzdCBzaGFkY24gc3R5bGUgKi8KICAgICAgLmNvZGUtYmxvY2stY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luOiAxMnB4IDA7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1ibG9jay1jb250YWluZXIuc2VsZWN0ZWQgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1ibG9jay1jb250YWluZXIuZWRpdGluZyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBIZWFkZXIgLSBTaW1wbGlmaWVkICovCiAgICAgIC5jb2RlLWhlYWRlciB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CiAgICAgIAogICAgICAubGFuZ3VhZ2Utc2VsZWN0b3IgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLmxhbmd1YWdlLXNlbGVjdG9yOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLmxhbmd1YWdlLXNlbGVjdG9yOmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogQ29weSBCdXR0b24gLSBNaW5pbWFsICovCiAgICAgIC5jb3B5LWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLmNvcHktYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvcHktYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsKICAgICAgfQogICAgICAKICAgICAgLmNvcHktYnV0dG9uLmNvcGllZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDU5NjY5IiwiIzEwYjk4MSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvcHktaWNvbiB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CiAgICAgIAogICAgICAuY29weS1idXR0b246aG92ZXIgLmNvcHktaWNvbiB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQogICAgICAKICAgICAgLmNvcHktdGV4dCB7CiAgICAgICAgbWluLXdpZHRoOiA0MHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgfQogICAgICAKICAgICAgLyogQ29kZSBCb2R5ICovCiAgICAgIC5jb2RlLWJvZHkgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogTGluZSBOdW1iZXJzIC0gU3VidGxlICovCiAgICAgIC5saW5lLW51bWJlcnMgewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHBhZGRpbmc6IDEycHggMDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBtaW4td2lkdGg6IDQwcHg7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICB9CiAgICAgIAogICAgICAubGluZS1udW1iZXIgewogICAgICAgIHBhZGRpbmc6IDAgMTJweCAwIDhweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNGI1NTYzIil9OwogICAgICAgIGZvbnQtZmFtaWx5OiAke0xmfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICB9CiAgICAgIAogICAgICAvKiBDb2RlIENvbnRlbnQgKi8KICAgICAgLmNvZGUtY29udGVudCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtcHJlIHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIGZvbnQtZmFtaWx5OiAke0xmfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7CiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFBsYWNlaG9sZGVyICovCiAgICAgIC5jb2RlLWVkaXRvcjplbXB0eTo6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAiLy8gVHlwZSBvciBwYXN0ZSBjb2RlIGhlcmUuLi4iOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM0YjU1NjMiKX07CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFdoZW4gZWRpdGluZyAoZm9jdXNlZCksIHNob3cgZ3JleSB0ZXh0IHdpdGhvdXQgaGlnaGxpZ2h0aW5nICovCiAgICAgIC5jb2RlLWJsb2NrLWNvbnRhaW5lci5lZGl0aW5nIC5jb2RlLWVkaXRvciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNmI3MjgwIiwiIzljYTNhZiIpfSAhaW1wb3J0YW50OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1ibG9jay1jb250YWluZXIuZWRpdGluZyAuY29kZS1lZGl0b3IgKiB7CiAgICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsKICAgICAgfQogICAgICAKICAgICAgLyogU3ludGF4IEhpZ2hsaWdodGluZyAtIE11dGVkIGNvbG9ycyAqLwogICAgICAuY29kZS1lZGl0b3IgLmhsanMta2V5d29yZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtc3RyaW5nIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwNTk2NjkiLCIjMTBiOTgxIil9OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtbnVtYmVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3YzNhZWQiLCIjYTc4YmZhIil9OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtZnVuY3Rpb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1jb21tZW50IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjNmI3MjgwIil9OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXZhcmlhYmxlLAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtYXR0ciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZWE1ODBjIiwiI2ZiOTIzYyIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLWNsYXNzLAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtdGl0bGUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXBhcmFtcyB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLWJ1aWx0X2luIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3YzNhZWQiLCIjYTc4YmZhIil9OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtbGl0ZXJhbCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjN2MzYWVkIiwiI2E3OGJmYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLW1ldGEgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1wdW5jdHVhdGlvbiB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2QxZDVkYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXRhZyB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLWF0dHJpYnV0ZSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXNlbGVjdG9yLXRhZyB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXNlbGVjdG9yLWNsYXNzIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtc2VsZWN0b3ItaWQgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzdjM2FlZCIsIiNhNzhiZmEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFNlbGVjdGlvbiAqLwogICAgICAuY29kZS1lZGl0b3I6OnNlbGVjdGlvbiwKICAgICAgLmNvZGUtZWRpdG9yICo6OnNlbGVjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoOTksIDEwMiwgMjQxLCAwLjIpIiwicmdiYSg5OSwgMTAyLCAyNDEsIDAuMykiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFNjcm9sbGJhciBzdHlsaW5nIC0gTWluaW1hbCAqLwogICAgICAuY29kZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZDFkNWRiIiwiIzRiNTU2MyIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgIH0KICAgIGB9fX0pO3ZhciBSVyxYMmE9ZigoKT0+e2VuKCk7bGUoKTt4YygpO0cyKCk7Ulc9Y2xhc3MgZXh0ZW5kcyBtcntzdGF0aWN7cyh0aGlzLCJMaXN0QmxvY2tIYW5kbGVyIil9dHlwZT0ibGlzdCI7bGFzdEtub3duQ3Vyc29yUG9zaXRpb249MDtsYXN0U2VsZWN0ZWRUZXh0PSIiO3NlbGVjdGlvbkhhbmRsZXI9bnVsbDtyZW5kZXIoZSx0KXtsZXQgcj10PyIgc2VsZWN0ZWQiOiIiLG89KGUubWV0YWRhdGE/Lmxpc3RUeXBlfHwidW5vcmRlcmVkIik9PT0ib3JkZXJlZCI/Im9sIjoidWwiLG49dGhpcy5yZW5kZXJMaXN0Q29udGVudChlLmNvbnRlbnQsZS5tZXRhZGF0YSk7cmV0dXJuYAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImJsb2NrIGxpc3Qke3J9IgogICAgICAgIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIKICAgICAgICBkYXRhLWJsb2NrLWlkPSIke2UuaWR9IgogICAgICAgIGRhdGEtYmxvY2stdHlwZT0iJHtlLnR5cGV9IgogICAgICA+JHtufTwvZGl2PgogICAgYH1yZW5kZXJMaXN0Q29udGVudChlLHQpe2lmKCFlKXJldHVybiI8dWw+PGxpPjwvbGk+PC91bD4iO2xldCBpPSh0Py5saXN0VHlwZXx8InVub3JkZXJlZCIpPT09Im9yZGVyZWQiPyJvbCI6InVsIixvPWUuc3BsaXQoYApgKS5maWx0ZXIobD0+bC50cmltKCkpO2lmKG8ubGVuZ3RoPT09MClyZXR1cm5gPCR7aX0+PGxpPjwvbGk+PC8ke2l9PmA7bGV0IG49by5tYXAobD0+YDxsaT4ke2x9PC9saT5gKS5qb2luKCIiKTtyZXR1cm5gPCR7aX0+JHtufTwvJHtpfT5gfXNldHVwKGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5saXN0Iik7aWYoIWkpe2NvbnNvbGUuZXJyb3IoIkxpc3RCbG9ja0hhbmRsZXIuc2V0dXA6IE5vIGxpc3QgYmxvY2sgZWxlbWVudCBmb3VuZCIpO3JldHVybn10LmNvbnRlbnQmJiFpLmlubmVySFRNTCYmKGkuaW5uZXJIVE1MPXRoaXMucmVuZGVyTGlzdENvbnRlbnQodC5jb250ZW50LHQubWV0YWRhdGEpKSxpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixvPT57ci5vbklucHV0KG8pO2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixvPT57bGV0IG49dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtpZihuIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249biksby5rZXk9PT0iRW50ZXIiJiYhby5zaGlmdEtleSl7bGV0IGw9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKGwmJmwucmFuZ2VDb3VudD4wKXtsZXQgYz1sLmdldFJhbmdlQXQoMCkuc3RhcnRDb250YWluZXIucGFyZW50RWxlbWVudD8uY2xvc2VzdCgibGkiKTtpZihjJiZjLnRleHRDb250ZW50PT09IiIpe28ucHJldmVudERlZmF1bHQoKSxyLm9uS2V5RG93bihvKTtyZXR1cm59fX1yLm9uS2V5RG93bihvKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT57ci5vbkZvY3VzKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57ci5vbkJsdXIoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25zdGFydCIsKCk9PntyLm9uQ29tcG9zaXRpb25TdGFydCgpfSksaS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbmVuZCIsKCk9PntyLm9uQ29tcG9zaXRpb25FbmQoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsbz0+e2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pLHIub25Nb3VzZVVwPy4obyl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixvPT57c2V0VGltZW91dCgoKT0+e2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pfSwwKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLG89PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKX0pLHRoaXMuc2V0dXBTZWxlY3Rpb25IYW5kbGVyKGUsaSx0KX1zZXR1cFNlbGVjdGlvbkhhbmRsZXIoZSx0LHIpe2xldCBpPXMoKCk9PntsZXQgbj13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIW58fG4ucmFuZ2VDb3VudD09PTApcmV0dXJuO2xldCBsPW4udG9TdHJpbmcoKTtpZihsLmxlbmd0aD09PTApe3RoaXMubGFzdFNlbGVjdGVkVGV4dCYmKHRoaXMubGFzdFNlbGVjdGVkVGV4dD0iIix0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQoZSx7dGV4dDoiIixibG9ja0lkOnIuaWQsaGFzU2VsZWN0aW9uOiExfSkpO3JldHVybn1sZXQgZD10LmdldFJvb3ROb2RlKCkuaG9zdCxwPWQ/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LHU9ZD8uc2hhZG93Um9vdCxtPVtdO3AmJm0ucHVzaChwKSx1JiZtLnB1c2godSk7bGV0IHY9c3QuZ2V0U2VsZWN0aW9uSW5mbyguLi5tKTtpZighdilyZXR1cm47bGV0IHg9c3QuY29udGFpbnNBY3Jvc3NTaGFkb3dET00odCx2LnN0YXJ0Q29udGFpbmVyKSxiPXN0LmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHQsdi5lbmRDb250YWluZXIpO2lmKHh8fGIpe2lmKGwhPT10aGlzLmxhc3RTZWxlY3RlZFRleHQpe3RoaXMubGFzdFNlbGVjdGVkVGV4dD1sO2xldCBnPXN0LmNyZWF0ZVJhbmdlRnJvbUluZm8odikseT1nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHt0ZXh0OmwudHJpbSgpLGJsb2NrSWQ6ci5pZCxyYW5nZTpnLHJlY3Q6eSxoYXNTZWxlY3Rpb246ITB9KX19ZWxzZSB0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUse3RleHQ6IiIsYmxvY2tJZDpyLmlkLGhhc1NlbGVjdGlvbjohMX0pKX0sImNoZWNrU2VsZWN0aW9uIik7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixpKSx0aGlzLnNlbGVjdGlvbkhhbmRsZXI9aTtsZXQgbz10LmdldFJvb3ROb2RlKCkuaG9zdDtpZihvKXtsZXQgbj1vLmRpc2Nvbm5lY3RlZENhbGxiYWNrLGw9dGhpcztvLmRpc2Nvbm5lY3RlZENhbGxiYWNrPWFzeW5jIGZ1bmN0aW9uKCl7bC5zZWxlY3Rpb25IYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixsLnNlbGVjdGlvbkhhbmRsZXIpLGwuc2VsZWN0aW9uSGFuZGxlcj1udWxsKSxuJiZhd2FpdCBuLmNhbGwobyl9fX1kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUsdCl7bGV0IHI9bmV3IEN1c3RvbUV2ZW50KCJibG9jay10ZXh0LXNlbGVjdGVkIix7ZGV0YWlsOnQsYnViYmxlczohMCxjb21wb3NlZDohMH0pO2UuZGlzcGF0Y2hFdmVudChyKX1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC8qIExpc3Qgc3BlY2lmaWMgc3R5bGVzICovCiAgICAgIC5ibG9jay5saXN0IHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CiAgICAgIAogICAgICAuYmxvY2subGlzdCB1bCwKICAgICAgLmJsb2NrLmxpc3Qgb2wgewogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5ibG9jay5saXN0IGxpIHsKICAgICAgICBtYXJnaW46IDRweCAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgIH0KICAgICAgCiAgICAgIC5ibG9jay5saXN0IGxpOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KICAgIGB9Z2V0UGxhY2Vob2xkZXIoKXtyZXR1cm4iIn1nZXRDdXJzb3JQb3NpdGlvbihlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLmxpc3QiKTtpZighcilyZXR1cm4gbnVsbDtsZXQgbj10Py5jb21wb25lbnQ/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LGw9dD8uc2hhZG93Um9vdCxkPVtdO24mJmQucHVzaChuKSxsJiZkLnB1c2gobCk7bGV0IGM9c3QuZ2V0U2VsZWN0aW9uSW5mbyguLi5kKTtpZighY3x8IXN0LmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHIsYy5zdGFydENvbnRhaW5lcikpcmV0dXJuIG51bGw7bGV0IHA9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtyZXR1cm4gcC5zZWxlY3ROb2RlQ29udGVudHMocikscC5zZXRFbmQoYy5zdGFydENvbnRhaW5lcixjLnN0YXJ0T2Zmc2V0KSxwLnRvU3RyaW5nKCkubGVuZ3RofWdldENvbnRlbnQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5saXN0Iik7aWYoIXIpcmV0dXJuIiI7bGV0IGk9ci5xdWVyeVNlbGVjdG9yQWxsKCJsaSIpO3JldHVybiBBcnJheS5mcm9tKGkpLm1hcChuPT5uLnRleHRDb250ZW50fHwiIikuam9pbihgCmApfXNldENvbnRlbnQoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLmxpc3QiKTtpZighaSlyZXR1cm47bGV0IG89ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWl8fGUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PWksbD1pLnF1ZXJ5U2VsZWN0b3IoInVsLCBvbCIpPy50YWdOYW1lPT09Ik9MIjtpLmlubmVySFRNTD10aGlzLnJlbmRlckxpc3RDb250ZW50KHQse2xpc3RUeXBlOmw/Im9yZGVyZWQiOiJ1bm9yZGVyZWQifSksbyYmaS5mb2N1cygpfXNldEN1cnNvclRvU3RhcnQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5saXN0Iik7aWYoIXIpcmV0dXJuO2xldCBpPXIucXVlcnlTZWxlY3RvcigibGkiKTtpZihpKXtsZXQgbz10aGlzLmdldEZpcnN0VGV4dE5vZGUoaSk7aWYobyl7bGV0IG49ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxsPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtuLnNldFN0YXJ0KG8sMCksbi5zZXRFbmQobywwKSxsPy5yZW1vdmVBbGxSYW5nZXMoKSxsPy5hZGRSYW5nZShuKX19fXNldEN1cnNvclRvRW5kKGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2subGlzdCIpO2lmKCFyKXJldHVybjtsZXQgaT1yLnF1ZXJ5U2VsZWN0b3IoImxpOmxhc3QtY2hpbGQiKTtpZihpKXtsZXQgbz10aGlzLmdldExhc3RUZXh0Tm9kZShpKTtpZihvKXtsZXQgbj1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLGw9d2luZG93LmdldFNlbGVjdGlvbigpLGQ9by50ZXh0Q29udGVudD8ubGVuZ3RofHwwO24uc2V0U3RhcnQobyxkKSxuLnNldEVuZChvLGQpLGw/LnJlbW92ZUFsbFJhbmdlcygpLGw/LmFkZFJhbmdlKG4pfX19Z2V0Rmlyc3RUZXh0Tm9kZShlKXtpZihlLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpcmV0dXJuIGU7Zm9yKGxldCB0PTA7dDxlLmNoaWxkTm9kZXMubGVuZ3RoO3QrKyl7bGV0IHI9dGhpcy5nZXRGaXJzdFRleHROb2RlKGUuY2hpbGROb2Rlc1t0XSk7aWYocilyZXR1cm4gcn1yZXR1cm4gbnVsbH1nZXRMYXN0VGV4dE5vZGUoZSl7aWYoZS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKXJldHVybiBlO2ZvcihsZXQgdD1lLmNoaWxkTm9kZXMubGVuZ3RoLTE7dD49MDt0LS0pe2xldCByPXRoaXMuZ2V0TGFzdFRleHROb2RlKGUuY2hpbGROb2Rlc1t0XSk7aWYocilyZXR1cm4gcn1yZXR1cm4gbnVsbH1mb2N1cyhlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLmxpc3QiKTtyJiYoci5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpfHxyLnNldEF0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIiwidHJ1ZSIpLHIuZm9jdXMoKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09ciYmZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50IT09ciYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3IuZm9jdXMoKX0pKX1mb2N1c1dpdGhDdXJzb3IoZSx0PSJlbmQiLHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLmxpc3QiKTtpZighaSlyZXR1cm47aS5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpfHxpLnNldEF0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIiwidHJ1ZSIpLGkuZm9jdXMoKTtsZXQgbz1zKCgpPT57dD09PSJzdGFydCI/dGhpcy5zZXRDdXJzb3JUb1N0YXJ0KGUscik6dD09PSJlbmQiP3RoaXMuc2V0Q3Vyc29yVG9FbmQoZSxyKTp0eXBlb2YgdD09Im51bWJlciImJnRoaXMuc2V0Q3Vyc29yVG9FbmQoZSxyKX0sInNldEN1cnNvciIpO2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pP28oKTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pKSYmbygpfSl9Z2V0U3BsaXRDb250ZW50KGUsdCl7cmV0dXJuIGUucXVlcnlTZWxlY3RvcigiLmJsb2NrLmxpc3QiKSxudWxsfX19KTt2YXIgT1csUTJhPWYoKCk9PntlbigpO2xlKCk7T1c9Y2xhc3MgZXh0ZW5kcyBtcntzdGF0aWN7cyh0aGlzLCJJbWFnZUJsb2NrSGFuZGxlciIpfXR5cGU9ImltYWdlIjtyZW5kZXIoZSx0KXtsZXQgcj1lLm1ldGFkYXRhPy51cmwsaT1lLmNvbnRlbnR8fCJJbWFnZSIsbz1lLm1ldGFkYXRhPy5sb2FkaW5nO3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0iaW1hZ2UtYmxvY2stY29udGFpbmVyJHt0PyIgc2VsZWN0ZWQiOiIifSIgCiAgICAgICAgICAgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIKICAgICAgICAgICBkYXRhLWhhcy1pbWFnZT0iJHshIXJ9IgogICAgICAgICAgIHRhYmluZGV4PSIwIj4KICAgICAgICAke28/dGhpcy5yZW5kZXJMb2FkaW5nKCk6cj90aGlzLnJlbmRlckltYWdlKHIsaSk6dGhpcy5yZW5kZXJQbGFjZWhvbGRlcigpfQogICAgICAgIDxpbnB1dCB0eXBlPSJmaWxlIiAKICAgICAgICAgICAgICAgY2xhc3M9ImltYWdlLWZpbGUtaW5wdXQiIAogICAgICAgICAgICAgICBhY2NlcHQ9ImltYWdlLyoiIAogICAgICAgICAgICAgICBzdHlsZT0iZGlzcGxheTogbm9uZTsiIC8+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJQbGFjZWhvbGRlcigpe3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0iaW1hZ2UtdXBsb2FkLXBsYWNlaG9sZGVyIiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyI+CiAgICAgICAgPGRpdiBjbGFzcz0idXBsb2FkLWljb24iIHN0eWxlPSJwb2ludGVyLWV2ZW50czogbm9uZTsiPgogICAgICAgICAgPHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij4KICAgICAgICAgICAgPHJlY3QgeD0iMyIgeT0iMyIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iMiIgcnk9IjIiLz4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iOC41IiBjeT0iOC41IiByPSIxLjUiLz4KICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMjEgMTUgMTYgMTAgNSAyMSIvPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idXBsb2FkLXRleHQiIHN0eWxlPSJwb2ludGVyLWV2ZW50czogbm9uZTsiPkNsaWNrIHRvIHVwbG9hZCBhbiBpbWFnZTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InVwbG9hZC1oaW50IiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7Ij5vciBkcmFnIGFuZCBkcm9wPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJJbWFnZShlLHQpe3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0iaW1hZ2UtY29udGFpbmVyIj4KICAgICAgICA8aW1nIHNyYz0iJHtlfSIgYWx0PSIke3RoaXMuZXNjYXBlSHRtbCh0KX0iIC8+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJMb2FkaW5nKCl7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJpbWFnZS1sb2FkaW5nIj4KICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXNwaW5uZXIiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctdGV4dCI+VXBsb2FkaW5nIGltYWdlLi4uPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1zZXR1cChlLHQscil7bGV0IGk9ZS5xdWVyeVNlbGVjdG9yKCIuaW1hZ2UtYmxvY2stY29udGFpbmVyIiksbz1lLnF1ZXJ5U2VsZWN0b3IoIi5pbWFnZS1maWxlLWlucHV0Iik7aWYoIWkpe2NvbnNvbGUuZXJyb3IoIkltYWdlQmxvY2tIYW5kbGVyOiBDb3VsZCBub3QgZmluZCBjb250YWluZXIiKTtyZXR1cm59aWYoIW8pe2NvbnNvbGUuZXJyb3IoIkltYWdlQmxvY2tIYW5kbGVyOiBDb3VsZCBub3QgZmluZCBmaWxlIGlucHV0Iik7cmV0dXJufWxldCBuPWkucXVlcnlTZWxlY3RvcigiLmltYWdlLXVwbG9hZC1wbGFjZWhvbGRlciIpO24mJm4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGw9PntsLnByZXZlbnREZWZhdWx0KCksbC5zdG9wUHJvcGFnYXRpb24oKSxjb25zb2xlLmxvZygiSW1hZ2VCbG9ja0hhbmRsZXI6IFBsYWNlaG9sZGVyIGNsaWNrZWQsIG9wZW5pbmcgZmlsZSBzZWxlY3RvciIpLG8uY2xpY2soKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ci5vbkZvY3VzKCl9KSxvLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsYXN5bmMgbD0+e2xldCBjPWwudGFyZ2V0LmZpbGVzPy5bMF07YyYmKGNvbnNvbGUubG9nKCJJbWFnZUJsb2NrSGFuZGxlcjogRmlsZSBzZWxlY3RlZDoiLGMubmFtZSksYXdhaXQgdGhpcy5oYW5kbGVGaWxlVXBsb2FkKGMsdCxyKSl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIixsPT57bC5wcmV2ZW50RGVmYXVsdCgpLGwuc3RvcFByb3BhZ2F0aW9uKCksdC5tZXRhZGF0YT8udXJsfHxpLmNsYXNzTGlzdC5hZGQoImRyYWctb3ZlciIpfSksaS5hZGRFdmVudExpc3RlbmVyKCJkcmFnbGVhdmUiLGw9PntsLnByZXZlbnREZWZhdWx0KCksbC5zdG9wUHJvcGFnYXRpb24oKSxpLmNsYXNzTGlzdC5yZW1vdmUoImRyYWctb3ZlciIpfSksaS5hZGRFdmVudExpc3RlbmVyKCJkcm9wIixhc3luYyBsPT57bC5wcmV2ZW50RGVmYXVsdCgpLGwuc3RvcFByb3BhZ2F0aW9uKCksaS5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnLW92ZXIiKTtsZXQgZD1sLmRhdGFUcmFuc2Zlcj8uZmlsZXNbMF07ZCYmZC50eXBlLnN0YXJ0c1dpdGgoImltYWdlLyIpJiYhdC5tZXRhZGF0YT8udXJsJiZhd2FpdCB0aGlzLmhhbmRsZUZpbGVVcGxvYWQoZCx0LHIpfSksaS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PnIub25Gb2N1cygpKSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT5yLm9uQmx1cigpKSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGw9PntpZigobC5rZXk9PT0iRGVsZXRlInx8bC5rZXk9PT0iQmFja3NwYWNlIikmJnQubWV0YWRhdGE/LnVybCl7dC5tZXRhZGF0YS51cmw9dm9pZCAwLHQubWV0YWRhdGEubG9hZGluZz0hMSx0LmNvbnRlbnQ9IiIsci5vbklucHV0KG5ldyBJbnB1dEV2ZW50KCJpbnB1dCIpKTtyZXR1cm59ci5vbktleURvd24obCl9KX1hc3luYyBoYW5kbGVGaWxlVXBsb2FkKGUsdCxyKXtpZihjb25zb2xlLmxvZygiSW1hZ2VCbG9ja0hhbmRsZXI6IFN0YXJ0aW5nIGZpbGUgdXBsb2FkIix7ZmlsZU5hbWU6ZS5uYW1lLGZpbGVTaXplOmUuc2l6ZSxibG9ja0lkOnQuaWR9KSwhZS50eXBlLnN0YXJ0c1dpdGgoImltYWdlLyIpKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGZpbGUgdHlwZToiLGUudHlwZSk7cmV0dXJufWxldCBpPTEwKjEwMjQqMTAyNDtpZihlLnNpemU+aSl7Y29uc29sZS5lcnJvcigiRmlsZSB0b28gbGFyZ2UuIE1heGltdW0gc2l6ZSBpcyAxME1CIik7cmV0dXJufXQubWV0YWRhdGF8fCh0Lm1ldGFkYXRhPXt9KSx0Lm1ldGFkYXRhLmxvYWRpbmc9ITAsdC5tZXRhZGF0YS5maWxlTmFtZT1lLm5hbWUsdC5tZXRhZGF0YS5maWxlU2l6ZT1lLnNpemUsdC5tZXRhZGF0YS5taW1lVHlwZT1lLnR5cGUsY29uc29sZS5sb2coIkltYWdlQmxvY2tIYW5kbGVyOiBTZXQgbG9hZGluZyBzdGF0ZSwgcmVxdWVzdGluZyB1cGRhdGUiKSxyLm9uUmVxdWVzdFVwZGF0ZT8uKCk7dHJ5e2xldCBvPWF3YWl0IHRoaXMuZmlsZVRvRGF0YVVybChlKTt0Lm1ldGFkYXRhLnVybD1vLHQubWV0YWRhdGEubG9hZGluZz0hMTtsZXQgbj1lLm5hbWUucmVwbGFjZSgvXC5bXi8uXSskLywiIik7dC5jb250ZW50PW4sY29uc29sZS5sb2coIkltYWdlQmxvY2tIYW5kbGVyOiBVcGxvYWQgY29tcGxldGUsIHJlcXVlc3RpbmcgdXBkYXRlIix7aGFzVXJsOiEhdC5tZXRhZGF0YS51cmwsdXJsTGVuZ3RoOm8ubGVuZ3RoLGFsdFRleHQ6dC5jb250ZW50fSksci5vblJlcXVlc3RVcGRhdGU/LigpfWNhdGNoKG8pe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IixvKSx0Lm1ldGFkYXRhLmxvYWRpbmc9ITEsci5vblJlcXVlc3RVcGRhdGU/LigpfX1maWxlVG9EYXRhVXJsKGUpe3JldHVybiBuZXcgUHJvbWlzZSgodCxyKT0+e2xldCBpPW5ldyBGaWxlUmVhZGVyO2kub25sb2FkPW89PntsZXQgbj1vLnRhcmdldD8ucmVzdWx0O3R5cGVvZiBuPT0ic3RyaW5nIj90KG4pOnIobmV3IEVycm9yKCJGYWlsZWQgdG8gcmVhZCBmaWxlIikpfSxpLm9uZXJyb3I9cixpLnJlYWRBc0RhdGFVUkwoZSl9KX1lc2NhcGVIdG1sKGUpe2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiB0LnRleHRDb250ZW50PWUsdC5pbm5lckhUTUx9Z2V0Q29udGVudChlKXtyZXR1cm4gdGhpcy5nZXRCbG9ja0Zyb21FbGVtZW50KGUpPy5jb250ZW50fHwiIn1zZXRDb250ZW50KGUsdCl7bGV0IHI9dGhpcy5nZXRCbG9ja0Zyb21FbGVtZW50KGUpO3ImJihyLmNvbnRlbnQ9dCl9Z2V0QmxvY2tGcm9tRWxlbWVudChlKXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5pbWFnZS1ibG9jay1jb250YWluZXIiKT8uZ2V0QXR0cmlidXRlKCJkYXRhLWJsb2NrLWlkIik7cmV0dXJuIHI/e2lkOnIsdHlwZToiaW1hZ2UiLGNvbnRlbnQ6IiIsbWV0YWRhdGE6e319Om51bGx9Z2V0Q3Vyc29yUG9zaXRpb24oZSl7cmV0dXJuIG51bGx9c2V0Q3Vyc29yVG9TdGFydChlKXt0aGlzLmZvY3VzKGUpfXNldEN1cnNvclRvRW5kKGUpe3RoaXMuZm9jdXMoZSl9Zm9jdXMoZSl7ZS5xdWVyeVNlbGVjdG9yKCIuaW1hZ2UtYmxvY2stY29udGFpbmVyIik/LmZvY3VzKCl9Zm9jdXNXaXRoQ3Vyc29yKGUsdD0iZW5kIil7dGhpcy5mb2N1cyhlKX1nZXRTcGxpdENvbnRlbnQoZSl7cmV0dXJuIG51bGx9Z2V0U3R5bGVzKCl7cmV0dXJuYAogICAgICAvKiBJbWFnZSBCbG9jayBDb250YWluZXIgKi8KICAgICAgLmltYWdlLWJsb2NrLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1hcmdpbjogMTJweCAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CiAgICAgIAogICAgICAuaW1hZ2UtYmxvY2stY29udGFpbmVyLnNlbGVjdGVkIHsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtoLmJkVGhlbWUoIiM2MzY2ZjEiLCIjODE4Y2Y4Iil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBVcGxvYWQgUGxhY2Vob2xkZXIgKi8KICAgICAgLmltYWdlLXVwbG9hZC1wbGFjZWhvbGRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNDhweCAyNHB4OwogICAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQogICAgICAKICAgICAgLmltYWdlLWJsb2NrLWNvbnRhaW5lcjpob3ZlciAuaW1hZ2UtdXBsb2FkLXBsYWNlaG9sZGVyIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxMTE4MjciKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5pbWFnZS1ibG9jay1jb250YWluZXIuZHJhZy1vdmVyIC5pbWFnZS11cGxvYWQtcGxhY2Vob2xkZXIgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiM2MzY2ZjEiLCIjODE4Y2Y4Iil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWZmNmZmIiwiIzFlMWI0YiIpfTsKICAgICAgfQogICAgICAKICAgICAgLnVwbG9hZC1pY29uIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM0YjU1NjMiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC51cGxvYWQtdGV4dCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC51cGxvYWQtaGludCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEltYWdlIENvbnRhaW5lciAqLwogICAgICAuaW1hZ2UtY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgbWluLWhlaWdodDogMjAwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOWZhZmIiLCIjMTExODI3Iil9OwogICAgICB9CiAgICAgIAogICAgICAuaW1hZ2UtY29udGFpbmVyIGltZyB7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIExvYWRpbmcgU3RhdGUgKi8KICAgICAgLmltYWdlLWxvYWRpbmcgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMwYTBhMGEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5sb2FkaW5nLXNwaW5uZXIgewogICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHtoLmJkVGhlbWUoIiM2MzY2ZjEiLCIjODE4Y2Y4Iil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgfQogICAgICAKICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0KICAgICAgfQogICAgICAKICAgICAgLmxvYWRpbmctdGV4dCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEZpbGUgaW5wdXQgaGlkZGVuICovCiAgICAgIC5pbWFnZS1maWxlLWlucHV0IHsKICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgIGB9fX0pO3ZhciBGVyxKMmE9ZigoKT0+e2VuKCk7bGUoKTtGVz1jbGFzcyBleHRlbmRzIG1ye3N0YXRpY3tzKHRoaXMsIllvdVR1YmVCbG9ja0hhbmRsZXIiKX10eXBlPSJ5b3V0dWJlIjtyZW5kZXIoZSx0KXtsZXQgcj1lLm1ldGFkYXRhPy52aWRlb0lkLGk9ZS5tZXRhZGF0YT8udXJsfHwiIjtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9InlvdXR1YmUtYmxvY2stY29udGFpbmVyJHt0PyIgc2VsZWN0ZWQiOiIifSIgCiAgICAgICAgICAgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIKICAgICAgICAgICBkYXRhLWhhcy12aWRlbz0iJHshIXJ9Ij4KICAgICAgICAke3I/dGhpcy5yZW5kZXJWaWRlbyhyKTp0aGlzLnJlbmRlclBsYWNlaG9sZGVyKGkpfQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyUGxhY2Vob2xkZXIoZSl7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJ5b3V0dWJlLXBsYWNlaG9sZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJwbGFjZWhvbGRlci1pY29uIj4KICAgICAgICAgIDxzdmcgd2lkdGg9IjQ4IiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xOS42MTUgMy4xODRjLTMuNjA0LS4yNDYtMTEuNjMxLS4yNDUtMTUuMjMgMC0zLjg5Ny4yNjYtNC4zNTYgMi42Mi00LjM4NSA4LjgxNi4wMjkgNi4xODUuNDg0IDguNTQ5IDQuMzg1IDguODE2IDMuNi4yNDUgMTEuNjI2LjI0NiAxNS4yMyAwIDMuODk3LS4yNjYgNC4zNTYtMi42MiA0LjM4NS04LjgxNi0uMDI5LTYuMTg1LS40ODQtOC41NDktNC4zODUtOC44MTZ6bS0xMC42MTUgMTIuODE2di04bDggMy45OTMtOCA0LjAwN3oiLz4KICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBsYWNlaG9sZGVyLXRleHQiPkVudGVyIFlvdVR1YmUgVVJMPC9kaXY+CiAgICAgICAgPGlucHV0IHR5cGU9InVybCIgCiAgICAgICAgICAgICAgIGNsYXNzPSJ5b3V0dWJlLXVybC1pbnB1dCIgCiAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJodHRwczovL3lvdXR1YmUuY29tL3dhdGNoP3Y9Li4uIiAKICAgICAgICAgICAgICAgdmFsdWU9IiR7dGhpcy5lc2NhcGVIdG1sKGUpfSIgLz4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJ5b3V0dWJlLWVtYmVkLWJ0biI+RW1iZWQgVmlkZW88L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclZpZGVvKGUpe3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0ieW91dHViZS1jb250YWluZXIiPgogICAgICAgIDxpZnJhbWUgCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyR7ZX0iCiAgICAgICAgICBmcmFtZWJvcmRlcj0iMCIKICAgICAgICAgIGFsbG93PSJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlIgogICAgICAgICAgYWxsb3dmdWxsc2NyZWVuCiAgICAgICAgPjwvaWZyYW1lPgogICAgICA8L2Rpdj4KICAgIGB9c2V0dXAoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLnlvdXR1YmUtYmxvY2stY29udGFpbmVyIik7aWYoIWkpcmV0dXJuO2lmKHQubWV0YWRhdGE/LnZpZGVvSWQpe2kuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIjAiKSxpLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+ci5vbkZvY3VzKCkpLGkuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PnIub25CbHVyKCkpLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbD0+eyhsLmtleT09PSJEZWxldGUifHxsLmtleT09PSJCYWNrc3BhY2UiKSYmbC5wcmV2ZW50RGVmYXVsdCgpLHIub25LZXlEb3duKGwpfSk7cmV0dXJufWxldCBvPWUucXVlcnlTZWxlY3RvcigiLnlvdXR1YmUtdXJsLWlucHV0Iiksbj1lLnF1ZXJ5U2VsZWN0b3IoIi55b3V0dWJlLWVtYmVkLWJ0biIpOyFvfHwhbnx8KG8uYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT5yLm9uRm9jdXMoKSksby5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+ci5vbkJsdXIoKSksbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pnt0aGlzLmVtYmVkVmlkZW8oby52YWx1ZSx0LHIpfSksby5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixsPT57bC5rZXk9PT0iRW50ZXIiPyhsLnByZXZlbnREZWZhdWx0KCksdGhpcy5lbWJlZFZpZGVvKG8udmFsdWUsdCxyKSk6bC5rZXk9PT0iRXNjYXBlIiYmKGwucHJldmVudERlZmF1bHQoKSxvLmJsdXIoKSl9KSxvLmFkZEV2ZW50TGlzdGVuZXIoInBhc3RlIixsPT57c2V0VGltZW91dCgoKT0+e2xldCBkPW8udmFsdWU7dGhpcy5leHRyYWN0WW91VHViZVZpZGVvSWQoZCkmJnRoaXMuZW1iZWRWaWRlbyhkLHQscil9LDApfSksby5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsKCk9Pnt0Lm1ldGFkYXRhfHwodC5tZXRhZGF0YT17fSksdC5tZXRhZGF0YS51cmw9by52YWx1ZX0pKX1lbWJlZFZpZGVvKGUsdCxyKXtsZXQgaT10aGlzLmV4dHJhY3RZb3VUdWJlVmlkZW9JZChlKTtpZighaSl7Y29uc29sZS5lcnJvcigiSW52YWxpZCBZb3VUdWJlIFVSTCIpO3JldHVybn10Lm1ldGFkYXRhfHwodC5tZXRhZGF0YT17fSksdC5tZXRhZGF0YS52aWRlb0lkPWksdC5tZXRhZGF0YS51cmw9ZSx0LmNvbnRlbnQ9YFlvdVR1YmUgVmlkZW86ICR7aX1gLHIub25SZXF1ZXN0VXBkYXRlPy4oKX1leHRyYWN0WW91VHViZVZpZGVvSWQoZSl7bGV0IHQ9Wy8oPzp5b3V0dWJlXC5jb21cLyg/OlteXC9dK1wvLitcL3woPzp2fGUoPzptYmVkKT8pXC98LipbPyZddj0pfHlvdXR1XC5iZVwvKShbXiImP1wvIF17MTF9KS8sL3lvdXR1YmVcLmNvbVwvZW1iZWRcLyhbXiImP1wvIF17MTF9KS8sL3lvdXR1YmVcLmNvbVwvd2F0Y2hcP3Y9KFteIiY/XC8gXXsxMX0pLywveW91dHVcLmJlXC8oW14iJj9cLyBdezExfSkvXTtmb3IobGV0IHIgb2YgdCl7bGV0IGk9ZS5tYXRjaChyKTtpZihpKXJldHVybiBpWzFdfXJldHVybiBudWxsfWVzY2FwZUh0bWwoZSl7bGV0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQudGV4dENvbnRlbnQ9ZSx0LmlubmVySFRNTH1nZXRDb250ZW50KGUpe3JldHVybiB0aGlzLmdldEJsb2NrRnJvbUVsZW1lbnQoZSk/LmNvbnRlbnR8fCIifXNldENvbnRlbnQoZSx0KXtsZXQgcj10aGlzLmdldEJsb2NrRnJvbUVsZW1lbnQoZSk7ciYmKHIuY29udGVudD10KX1nZXRCbG9ja0Zyb21FbGVtZW50KGUpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLnlvdXR1YmUtYmxvY2stY29udGFpbmVyIik/LmdldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIpO3JldHVybiByP3tpZDpyLHR5cGU6InlvdXR1YmUiLGNvbnRlbnQ6IiIsbWV0YWRhdGE6e319Om51bGx9Z2V0Q3Vyc29yUG9zaXRpb24oZSl7cmV0dXJuIG51bGx9c2V0Q3Vyc29yVG9TdGFydChlKXt0aGlzLmZvY3VzKGUpfXNldEN1cnNvclRvRW5kKGUpe3RoaXMuZm9jdXMoZSl9Zm9jdXMoZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIueW91dHViZS1ibG9jay1jb250YWluZXIiKSxyPWUucXVlcnlTZWxlY3RvcigiLnlvdXR1YmUtdXJsLWlucHV0Iik7cj9yLmZvY3VzKCk6dCYmdC5mb2N1cygpfWZvY3VzV2l0aEN1cnNvcihlLHQ9ImVuZCIpe3RoaXMuZm9jdXMoZSl9Z2V0U3BsaXRDb250ZW50KGUpe3JldHVybiBudWxsfWdldFN0eWxlcygpe3JldHVybmAKICAgICAgLyogWW91VHViZSBCbG9jayBDb250YWluZXIgKi8KICAgICAgLnlvdXR1YmUtYmxvY2stY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luOiAxMnB4IDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLnlvdXR1YmUtYmxvY2stY29udGFpbmVyLnNlbGVjdGVkIHsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtoLmJkVGhlbWUoIiM2MzY2ZjEiLCIjODE4Y2Y4Iil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBZb3VUdWJlIFBsYWNlaG9sZGVyICovCiAgICAgIC55b3V0dWJlLXBsYWNlaG9sZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAzMnB4IDI0cHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMwYTBhMGEiKX07CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CiAgICAgIAogICAgICAucGxhY2Vob2xkZXItaWNvbiB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgIH0KICAgICAgCiAgICAgIC5wbGFjZWhvbGRlci10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzNzQxNTEiLCIjZTVlN2ViIil9OwogICAgICB9CiAgICAgIAogICAgICAueW91dHViZS11cmwtaW5wdXQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG1heC13aWR0aDogNDAwcHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMxMTE4MjciKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CiAgICAgIAogICAgICAueW91dHViZS11cmwtaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzFmMjkzNyIpfTsKICAgICAgfQogICAgICAKICAgICAgLnlvdXR1YmUtdXJsLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjOWNhM2FmIiwiIzRiNTU2MyIpfTsKICAgICAgfQogICAgICAKICAgICAgLnlvdXR1YmUtZW1iZWQtYnRuIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzExMTgyNyIsIiNmOWZhZmIiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZjlmYWZiIiwiIzExMTgyNyIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZjsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLnlvdXR1YmUtZW1iZWQtYnRuOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC55b3V0dWJlLWVtYmVkLWJ0bjphY3RpdmUgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFlvdVR1YmUgQ29udGFpbmVyICovCiAgICAgIC55b3V0dWJlLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IC8qIDE2OjkgYXNwZWN0IHJhdGlvICovCiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjMDAwMDAwIil9OwogICAgICB9CiAgICAgIAogICAgICAueW91dHViZS1jb250YWluZXIgaWZyYW1lIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJvcmRlcjogMDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgIH0KICAgIGB9fX0pO3ZhciBCVyxlbGE9ZigoKT0+e2VuKCk7bGUoKTtCVz1jbGFzcyBleHRlbmRzIG1ye3N0YXRpY3tzKHRoaXMsIkF0dGFjaG1lbnRCbG9ja0hhbmRsZXIiKX10eXBlPSJhdHRhY2htZW50IjtyZW5kZXIoZSx0KXtsZXQgcj1lLm1ldGFkYXRhPy5maWxlc3x8W107cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJhdHRhY2htZW50LWJsb2NrLWNvbnRhaW5lciR7dD8iIHNlbGVjdGVkIjoiIn0iIAogICAgICAgICAgIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iCiAgICAgICAgICAgdGFiaW5kZXg9IjAiPgogICAgICAgIDxkaXYgY2xhc3M9ImF0dGFjaG1lbnQtaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImF0dGFjaG1lbnQtaWNvbiI+XHV7MUY0Q0V9PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRhY2htZW50LXRpdGxlIj5GaWxlIEF0dGFjaG1lbnRzPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYXR0YWNobWVudC1saXN0Ij4KICAgICAgICAgICR7ci5sZW5ndGg+MD90aGlzLnJlbmRlckZpbGVzKHIpOnRoaXMucmVuZGVyUGxhY2Vob2xkZXIoKX0KICAgICAgICA8L2Rpdj4KICAgICAgICA8aW5wdXQgdHlwZT0iZmlsZSIgCiAgICAgICAgICAgICAgIGNsYXNzPSJhdHRhY2htZW50LWZpbGUtaW5wdXQiIAogICAgICAgICAgICAgICBtdWx0aXBsZSAKICAgICAgICAgICAgICAgc3R5bGU9ImRpc3BsYXk6IG5vbmU7IiAvPgogICAgICAgICR7ci5sZW5ndGg+MD8nPGJ1dHRvbiBjbGFzcz0iYWRkLW1vcmUtZmlsZXMiPkFkZCBNb3JlIEZpbGVzPC9idXR0b24+JzoiIn0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclBsYWNlaG9sZGVyKCl7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJhdHRhY2htZW50LXBsYWNlaG9sZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJwbGFjZWhvbGRlci10ZXh0Ij5DbGljayB0byBhZGQgZmlsZXM8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwbGFjZWhvbGRlci1oaW50Ij5vciBkcmFnIGFuZCBkcm9wPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJGaWxlcyhlKXtyZXR1cm4gZS5tYXAodD0+YAogICAgICA8ZGl2IGNsYXNzPSJhdHRhY2htZW50LWl0ZW0iIGRhdGEtZmlsZS1pZD0iJHt0LmlkfSI+CiAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1pY29uIj4ke3RoaXMuZ2V0RmlsZUljb24odC50eXBlKX08L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLWluZm8iPgogICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1uYW1lIj4ke3RoaXMuZXNjYXBlSHRtbCh0Lm5hbWUpfTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1zaXplIj4ke3RoaXMuZm9ybWF0RmlsZVNpemUodC5zaXplKX08L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJyZW1vdmUtZmlsZSIgZGF0YS1maWxlLWlkPSIke3QuaWR9Ij5ceEQ3PC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgYCkuam9pbigiIil9c2V0dXAoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmF0dGFjaG1lbnQtYmxvY2stY29udGFpbmVyIiksbz1lLnF1ZXJ5U2VsZWN0b3IoIi5hdHRhY2htZW50LWZpbGUtaW5wdXQiKTtpZighaXx8IW8pe2NvbnNvbGUuZXJyb3IoIkF0dGFjaG1lbnRCbG9ja0hhbmRsZXI6IENvdWxkIG5vdCBmaW5kIHJlcXVpcmVkIGVsZW1lbnRzIik7cmV0dXJufXQubWV0YWRhdGF8fCh0Lm1ldGFkYXRhPXt9KSx0Lm1ldGFkYXRhLmZpbGVzfHwodC5tZXRhZGF0YS5maWxlcz1bXSk7bGV0IG49aS5xdWVyeVNlbGVjdG9yKCIuYXR0YWNobWVudC1wbGFjZWhvbGRlciIpO24mJm4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGQ9PntkLnByZXZlbnREZWZhdWx0KCksZC5zdG9wUHJvcGFnYXRpb24oKSxvLmNsaWNrKCl9KTtsZXQgbD1pLnF1ZXJ5U2VsZWN0b3IoIi5hZGQtbW9yZS1maWxlcyIpO2wmJmwuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGQ9PntkLnByZXZlbnREZWZhdWx0KCksZC5zdG9wUHJvcGFnYXRpb24oKSxvLmNsaWNrKCl9KSxvLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsYXN5bmMgZD0+e2xldCBjPWQudGFyZ2V0LHA9Yy5maWxlcztwJiZwLmxlbmd0aD4wJiYoYXdhaXQgdGhpcy5oYW5kbGVGaWxlQXR0YWNobWVudHMocCx0LHIpLGMudmFsdWU9IiIpfSksaS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZD0+e2xldCBjPWQudGFyZ2V0O2lmKGMuY2xhc3NMaXN0LmNvbnRhaW5zKCJyZW1vdmUtZmlsZSIpKXtkLnByZXZlbnREZWZhdWx0KCksZC5zdG9wUHJvcGFnYXRpb24oKTtsZXQgcD1jLmdldEF0dHJpYnV0ZSgiZGF0YS1maWxlLWlkIik7cCYmdGhpcy5yZW1vdmVGaWxlKHAsdCxyKX19KSxpLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIixkPT57ZC5wcmV2ZW50RGVmYXVsdCgpLGQuc3RvcFByb3BhZ2F0aW9uKCksaS5jbGFzc0xpc3QuYWRkKCJkcmFnLW92ZXIiKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ2xlYXZlIixkPT57ZC5wcmV2ZW50RGVmYXVsdCgpLGQuc3RvcFByb3BhZ2F0aW9uKCksaS5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnLW92ZXIiKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZHJvcCIsYXN5bmMgZD0+e2QucHJldmVudERlZmF1bHQoKSxkLnN0b3BQcm9wYWdhdGlvbigpLGkuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZy1vdmVyIik7bGV0IGM9ZC5kYXRhVHJhbnNmZXI/LmZpbGVzO2MmJmMubGVuZ3RoPjAmJmF3YWl0IHRoaXMuaGFuZGxlRmlsZUF0dGFjaG1lbnRzKGMsdCxyKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT5yLm9uRm9jdXMoKSksaS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+ci5vbkJsdXIoKSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixkPT57aWYoKGQua2V5PT09IkRlbGV0ZSJ8fGQua2V5PT09IkJhY2tzcGFjZSIpJiZkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aSYmdC5tZXRhZGF0YT8uZmlsZXM/Lmxlbmd0aD4wKXtkLnByZXZlbnREZWZhdWx0KCksdC5tZXRhZGF0YS5maWxlcz1bXSxyLm9uUmVxdWVzdFVwZGF0ZT8uKCk7cmV0dXJufXIub25LZXlEb3duKGQpfSl9YXN5bmMgaGFuZGxlRmlsZUF0dGFjaG1lbnRzKGUsdCxyKXt0Lm1ldGFkYXRhfHwodC5tZXRhZGF0YT17fSksdC5tZXRhZGF0YS5maWxlc3x8KHQubWV0YWRhdGEuZmlsZXM9W10pO2ZvcihsZXQgaSBvZiBBcnJheS5mcm9tKGUpKXRyeXtsZXQgbz1hd2FpdCB0aGlzLmZpbGVUb0RhdGFVcmwoaSksbj17aWQ6dGhpcy5nZW5lcmF0ZUlkKCksbmFtZTppLm5hbWUsc2l6ZTppLnNpemUsdHlwZTppLnR5cGUsZGF0YTpvfTt0Lm1ldGFkYXRhLmZpbGVzLnB1c2gobil9Y2F0Y2gobyl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGF0dGFjaCBmaWxlOiIsaS5uYW1lLG8pfXQuY29udGVudD1gJHt0Lm1ldGFkYXRhLmZpbGVzLmxlbmd0aH0gZmlsZSR7dC5tZXRhZGF0YS5maWxlcy5sZW5ndGghPT0xPyJzIjoiIn0gYXR0YWNoZWRgLHIub25SZXF1ZXN0VXBkYXRlPy4oKX1yZW1vdmVGaWxlKGUsdCxyKXt0Lm1ldGFkYXRhPy5maWxlcyYmKHQubWV0YWRhdGEuZmlsZXM9dC5tZXRhZGF0YS5maWxlcy5maWx0ZXIoaT0+aS5pZCE9PWUpLHQuY29udGVudD10Lm1ldGFkYXRhLmZpbGVzLmxlbmd0aD4wP2Ake3QubWV0YWRhdGEuZmlsZXMubGVuZ3RofSBmaWxlJHt0Lm1ldGFkYXRhLmZpbGVzLmxlbmd0aCE9PTE/InMiOiIifSBhdHRhY2hlZGA6IiIsci5vblJlcXVlc3RVcGRhdGU/LigpKX1maWxlVG9EYXRhVXJsKGUpe3JldHVybiBuZXcgUHJvbWlzZSgodCxyKT0+e2xldCBpPW5ldyBGaWxlUmVhZGVyO2kub25sb2FkPW89PntsZXQgbj1vLnRhcmdldD8ucmVzdWx0O3R5cGVvZiBuPT0ic3RyaW5nIj90KG4pOnIobmV3IEVycm9yKCJGYWlsZWQgdG8gcmVhZCBmaWxlIikpfSxpLm9uZXJyb3I9cixpLnJlYWRBc0RhdGFVUkwoZSl9KX1nZXRGaWxlSWNvbihlKXtyZXR1cm4gZS5zdGFydHNXaXRoKCJpbWFnZS8iKT8iXHV7MUY1QkN9XHVGRTBGIjplLnN0YXJ0c1dpdGgoInZpZGVvLyIpPyJcdXsxRjNBNX0iOmUuc3RhcnRzV2l0aCgiYXVkaW8vIik/Ilx1ezFGM0I1fSI6ZS5pbmNsdWRlcygicGRmIik/Ilx1ezFGNEM0fSI6ZS5pbmNsdWRlcygiemlwIil8fGUuaW5jbHVkZXMoInJhciIpfHxlLmluY2x1ZGVzKCJ0YXIiKT8iXHV7MUY1QzR9XHVGRTBGIjplLmluY2x1ZGVzKCJzaGVldCIpPyJcdXsxRjRDQX0iOmUuaW5jbHVkZXMoImRvY3VtZW50Iil8fGUuaW5jbHVkZXMoIm1zd29yZCIpPyJcdXsxRjRERH0iOmUuaW5jbHVkZXMoInByZXNlbnRhdGlvbiIpPyJcdXsxRjRDQn0iOmUuaW5jbHVkZXMoInRleHQiKT8iXHV7MUY0QzN9IjoiXHV7MUY0QzF9In1mb3JtYXRGaWxlU2l6ZShlKXtpZihlPT09MClyZXR1cm4iMCBCeXRlcyI7bGV0IHQ9MTAyNCxyPVsiQnl0ZXMiLCJLQiIsIk1CIiwiR0IiXSxpPU1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5sb2codCkpO3JldHVybiBwYXJzZUZsb2F0KChlL01hdGgucG93KHQsaSkpLnRvRml4ZWQoMikpKyIgIityW2ldfWdlbmVyYXRlSWQoKXtyZXR1cm5gZmlsZS0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsOSl9YH1lc2NhcGVIdG1sKGUpe2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiB0LnRleHRDb250ZW50PWUsdC5pbm5lckhUTUx9Z2V0Q29udGVudChlKXtyZXR1cm4gdGhpcy5nZXRCbG9ja0Zyb21FbGVtZW50KGUpPy5jb250ZW50fHwiIn1zZXRDb250ZW50KGUsdCl7bGV0IHI9dGhpcy5nZXRCbG9ja0Zyb21FbGVtZW50KGUpO3ImJihyLmNvbnRlbnQ9dCl9Z2V0QmxvY2tGcm9tRWxlbWVudChlKXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5hdHRhY2htZW50LWJsb2NrLWNvbnRhaW5lciIpPy5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKTtyZXR1cm4gcj97aWQ6cix0eXBlOiJhdHRhY2htZW50Iixjb250ZW50OiIiLG1ldGFkYXRhOnt9fTpudWxsfWdldEN1cnNvclBvc2l0aW9uKGUpe3JldHVybiBudWxsfXNldEN1cnNvclRvU3RhcnQoZSl7dGhpcy5mb2N1cyhlKX1zZXRDdXJzb3JUb0VuZChlKXt0aGlzLmZvY3VzKGUpfWZvY3VzKGUpe2UucXVlcnlTZWxlY3RvcigiLmF0dGFjaG1lbnQtYmxvY2stY29udGFpbmVyIik/LmZvY3VzKCl9Zm9jdXNXaXRoQ3Vyc29yKGUsdD0iZW5kIil7dGhpcy5mb2N1cyhlKX1nZXRTcGxpdENvbnRlbnQoZSl7cmV0dXJuIG51bGx9Z2V0U3R5bGVzKCl7cmV0dXJuYAogICAgICAvKiBBdHRhY2htZW50IEJsb2NrIENvbnRhaW5lciAqLwogICAgICAuYXR0YWNobWVudC1ibG9jay1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW46IDEycHggMDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMxMTE4MjciKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5hdHRhY2htZW50LWJsb2NrLWNvbnRhaW5lci5zZWxlY3RlZCB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5hdHRhY2htZW50LWJsb2NrLWNvbnRhaW5lci5kcmFnLW92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjlmYWZiIiwiIzFmMjkzNyIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjNjM2NmYxIiwiIzgxOGNmOCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogSGVhZGVyICovCiAgICAgIC5hdHRhY2htZW50LWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjlmYWZiIiwiIzBhMGEwYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmF0dGFjaG1lbnQtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgfQogICAgICAKICAgICAgLmF0dGFjaG1lbnQtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEZpbGUgTGlzdCAqLwogICAgICAuYXR0YWNobWVudC1saXN0IHsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgbWluLWhlaWdodDogODBweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFBsYWNlaG9sZGVyICovCiAgICAgIC5hdHRhY2htZW50LXBsYWNlaG9sZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQogICAgICAKICAgICAgLmF0dGFjaG1lbnQtcGxhY2Vob2xkZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjlmYWZiIiwiIzFmMjkzNyIpfTsKICAgICAgfQogICAgICAKICAgICAgLnBsYWNlaG9sZGVyLXRleHQgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQogICAgICAKICAgICAgLnBsYWNlaG9sZGVyLWhpbnQgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBGaWxlIEl0ZW1zICovCiAgICAgIC5hdHRhY2htZW50LWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOWZhZmIiLCIjMWYyOTM3Iil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KICAgICAgCiAgICAgIC5hdHRhY2htZW50LWl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjNmNGY2IiwiIzM3NDE1MSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmZpbGUtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CiAgICAgIAogICAgICAuZmlsZS1pbmZvIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQogICAgICAKICAgICAgLmZpbGUtbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KICAgICAgCiAgICAgIC5maWxlLXNpemUgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQogICAgICAKICAgICAgLnJlbW92ZS1maWxlIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQogICAgICAKICAgICAgLnJlbW92ZS1maWxlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsIiM5OTFiMWIiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ZjYTVhNSIsIiNkYzI2MjYiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2ZjYTVhNSIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogQWRkIE1vcmUgRmlsZXMgQnV0dG9uICovCiAgICAgIC5hZGQtbW9yZS1maWxlcyB7CiAgICAgICAgbWFyZ2luOiA4cHg7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZjsKICAgICAgfQogICAgICAKICAgICAgLmFkZC1tb3JlLWZpbGVzOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2QxZDVkYiIsIiM0YjU1NjMiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEhpZGRlbiBmaWxlIGlucHV0ICovCiAgICAgIC5hdHRhY2htZW50LWZpbGUtaW5wdXQgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQogICAgYH19fSk7dmFyIEhXLHRsYT1mKCgpPT57ZW4oKTtsZSgpO0hXPWNsYXNzIGV4dGVuZHMgbXJ7c3RhdGlje3ModGhpcywiRGl2aWRlckJsb2NrSGFuZGxlciIpfXR5cGU9ImRpdmlkZXIiO3JlbmRlcihlLHQpe3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0iYmxvY2sgZGl2aWRlciR7dD8iIHNlbGVjdGVkIjoiIn0iIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iIGRhdGEtYmxvY2stdHlwZT0iJHtlLnR5cGV9IiB0YWJpbmRleD0iMCI+CiAgICAgICAgPGhyPgogICAgICA8L2Rpdj4KICAgIGB9c2V0dXAoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLmRpdmlkZXIiKTtpJiYoaS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbz0+e28uc3RvcFByb3BhZ2F0aW9uKCksaS5mb2N1cygpLHIub25Gb2N1cz8uKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+e3Iub25Gb2N1cz8uKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57ci5vbkJsdXI/LigpfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixvPT57KG8ua2V5PT09IkJhY2tzcGFjZSJ8fG8ua2V5PT09IkRlbGV0ZSIpJiZvLnByZXZlbnREZWZhdWx0KCksci5vbktleURvd24/LihvKX0pKX1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC5ibG9jay5kaXZpZGVyIHsKICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgICBtYXJnaW46IDE2cHggMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmJsb2NrLmRpdmlkZXI6Zm9jdXMgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5ibG9jay5kaXZpZGVyLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAxMDIsIDIwNCwgMC4wNSkiLCJyZ2JhKDc3LCAxNDgsIDI1NSwgMC4wOCkiKX07CiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDEwMiwgMjA0LCAwLjIpIiwicmdiYSg3NywgMTQ4LCAyNTUsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5ibG9jay5kaXZpZGVyIGhyIHsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTBlMGUwIiwiIzMzMyIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KICAgIGB9fX0pO3ZhciBxVyxhbGE9ZigoKT0+e2VuKCk7bGUoKTtxVz1jbGFzcyBleHRlbmRzIG1ye3N0YXRpY3tzKHRoaXMsIk1hcmtkb3duQmxvY2tIYW5kbGVyIil9dHlwZT0ibWFya2Rvd24iO3JlbmRlcihlLHQpe2xldCByPWUubWV0YWRhdGE/LmlzRWRpdE1vZGU/PyEwLGk9ZS5jb250ZW50fHwiIjtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWJsb2NrLWNvbnRhaW5lciR7dD8iIHNlbGVjdGVkIjoiIn0iIAogICAgICAgICAgIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iCiAgICAgICAgICAgZGF0YS1lZGl0LW1vZGU9IiR7cn0iPgogICAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXJrZG93bi1pY29uIj5NXHUyMTkzPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXJrZG93bi10aXRsZSI+TWFya2Rvd248L2Rpdj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9Im1hcmtkb3duLXRvZ2dsZS1tb2RlIiB0aXRsZT0iJHtyPyJQcmV2aWV3IjoiRWRpdCJ9Ij4KICAgICAgICAgICAgJHtyPyJcdXsxRjQ0MX1cdUZFMEYiOiJcdTI3MEZcdUZFMEYifQogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tY29udGVudCI+CiAgICAgICAgICAke3I/dGhpcy5yZW5kZXJFZGl0b3IoaSk6dGhpcy5yZW5kZXJQcmV2aWV3KGkpfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRWRpdG9yKGUpe3JldHVybmAKICAgICAgPHRleHRhcmVhIGNsYXNzPSJtYXJrZG93bi1lZGl0b3IiIAogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IkVudGVyIG1hcmtkb3duIGNvbnRlbnQuLi4iCiAgICAgICAgICAgICAgICBzcGVsbGNoZWNrPSJmYWxzZSI+JHt0aGlzLmVzY2FwZUh0bWwoZSl9PC90ZXh0YXJlYT4KICAgIGB9cmVuZGVyUHJldmlldyhlKXtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLXByZXZpZXciPgogICAgICAgICR7dGhpcy5wYXJzZU1hcmtkb3duKGUpfHwnPGRpdiBjbGFzcz0icHJldmlldy1lbXB0eSI+Tm8gY29udGVudCB0byBwcmV2aWV3PC9kaXY+J30KICAgICAgPC9kaXY+CiAgICBgfXNldHVwKGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1ibG9jay1jb250YWluZXIiKSxvPWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLXRvZ2dsZS1tb2RlIik7aWYoIWl8fCFvKXtjb25zb2xlLmVycm9yKCJNYXJrZG93bkJsb2NrSGFuZGxlcjogQ291bGQgbm90IGZpbmQgcmVxdWlyZWQgZWxlbWVudHMiKTtyZXR1cm59dC5tZXRhZGF0YXx8KHQubWV0YWRhdGE9e30pLHQubWV0YWRhdGEuaXNFZGl0TW9kZT09PXZvaWQgMCYmKHQubWV0YWRhdGEuaXNFZGl0TW9kZT0hMCksby5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbj0+e2lmKG4ucHJldmVudERlZmF1bHQoKSxuLnN0b3BQcm9wYWdhdGlvbigpLHQubWV0YWRhdGEuaXNFZGl0TW9kZSl7bGV0IGw9aS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tZWRpdG9yIik7bCYmKHQuY29udGVudD1sLnZhbHVlKX10Lm1ldGFkYXRhLmlzRWRpdE1vZGU9IXQubWV0YWRhdGEuaXNFZGl0TW9kZSxyLm9uUmVxdWVzdFVwZGF0ZT8uKCl9KSx0Lm1ldGFkYXRhLmlzRWRpdE1vZGU/dGhpcy5zZXR1cEVkaXRvcihlLHQscik6dGhpcy5zZXR1cFByZXZpZXcoZSx0LHIpfXNldHVwRWRpdG9yKGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1lZGl0b3IiKTtpJiYoaS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PnIub25Gb2N1cygpKSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT5yLm9uQmx1cigpKSxpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwoKT0+e3QuY29udGVudD1pLnZhbHVlfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixvPT57aWYoby5rZXk9PT0iVGFiIil7by5wcmV2ZW50RGVmYXVsdCgpO2xldCBuPWkuc2VsZWN0aW9uU3RhcnQsbD1pLnNlbGVjdGlvbkVuZCxkPWkudmFsdWU7aWYoby5zaGlmdEtleSl7bGV0IHU9ZC5zdWJzdHJpbmcoMCxuKS5sYXN0SW5kZXhPZihgCmApKzEsbT1kLnN1YnN0cmluZyh1LG4pO20uc3RhcnRzV2l0aCgiICAiKSYmKGkudmFsdWU9ZC5zdWJzdHJpbmcoMCx1KSttLnN1YnN0cmluZygyKStkLnN1YnN0cmluZyhuKSxpLnNlbGVjdGlvblN0YXJ0PWkuc2VsZWN0aW9uRW5kPW4tMil9ZWxzZSBpLnZhbHVlPWQuc3Vic3RyaW5nKDAsbikrIiAgIitkLnN1YnN0cmluZyhsKSxpLnNlbGVjdGlvblN0YXJ0PWkuc2VsZWN0aW9uRW5kPW4rMjt0LmNvbnRlbnQ9aS52YWx1ZTtyZXR1cm59aWYoKG8uY3RybEtleXx8by5tZXRhS2V5KSYmby5rZXk9PT0iYiIpe28ucHJldmVudERlZmF1bHQoKSx0aGlzLndyYXBTZWxlY3Rpb24oaSwiKioiLCIqKiIpLHQuY29udGVudD1pLnZhbHVlO3JldHVybn1pZigoby5jdHJsS2V5fHxvLm1ldGFLZXkpJiZvLmtleT09PSJpIil7by5wcmV2ZW50RGVmYXVsdCgpLHRoaXMud3JhcFNlbGVjdGlvbihpLCJfIiwiXyIpLHQuY29udGVudD1pLnZhbHVlO3JldHVybn1pZigoby5jdHJsS2V5fHxvLm1ldGFLZXkpJiZvLmtleT09PSJrIil7by5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaW5zZXJ0TGluayhpKSx0LmNvbnRlbnQ9aS52YWx1ZTtyZXR1cm59ci5vbktleURvd24obyl9KSx0aGlzLmF1dG9SZXNpemUoaSksaS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsKCk9PnRoaXMuYXV0b1Jlc2l6ZShpKSkpfXNldHVwUHJldmlldyhlLHQscil7bGV0IGk9ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tYmxvY2stY29udGFpbmVyIiksbz1lLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1wcmV2aWV3Iik7IWl8fCFvfHwoby5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiMCIpLG8uYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT5yLm9uRm9jdXMoKSksby5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+ci5vbkJsdXIoKSksby5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixuPT57aWYobi5rZXk9PT0iRW50ZXIiJiYhbi5zaGlmdEtleSl7bi5wcmV2ZW50RGVmYXVsdCgpLHQubWV0YWRhdGEuaXNFZGl0TW9kZT0hMCxyLm9uUmVxdWVzdFVwZGF0ZT8uKCk7cmV0dXJufXIub25LZXlEb3duKG4pfSkpfXdyYXBTZWxlY3Rpb24oZSx0LHIpe2xldCBpPWUuc2VsZWN0aW9uU3RhcnQsbz1lLnNlbGVjdGlvbkVuZCxuPWUudmFsdWUuc3Vic3RyaW5nKGksbyksbD10KyhufHwidGV4dCIpK3I7ZS52YWx1ZT1lLnZhbHVlLnN1YnN0cmluZygwLGkpK2wrZS52YWx1ZS5zdWJzdHJpbmcobyksbj8oZS5zZWxlY3Rpb25TdGFydD1pLGUuc2VsZWN0aW9uRW5kPWkrbC5sZW5ndGgpOihlLnNlbGVjdGlvblN0YXJ0PWkrdC5sZW5ndGgsZS5zZWxlY3Rpb25FbmQ9aSt0Lmxlbmd0aCs0KSxlLmZvY3VzKCl9aW5zZXJ0TGluayhlKXtsZXQgdD1lLnNlbGVjdGlvblN0YXJ0LHI9ZS5zZWxlY3Rpb25FbmQsbz1lLnZhbHVlLnN1YnN0cmluZyh0LHIpfHwibGluayB0ZXh0IixuPWBbJHtvfV0odXJsKWA7ZS52YWx1ZT1lLnZhbHVlLnN1YnN0cmluZygwLHQpK24rZS52YWx1ZS5zdWJzdHJpbmcociksZS5zZWxlY3Rpb25TdGFydD10K28ubGVuZ3RoKzMsZS5zZWxlY3Rpb25FbmQ9dCtvLmxlbmd0aCs2LGUuZm9jdXMoKX1hdXRvUmVzaXplKGUpe2Uuc3R5bGUuaGVpZ2h0PSJhdXRvIixlLnN0eWxlLmhlaWdodD1lLnNjcm9sbEhlaWdodCsicHgifXBhcnNlTWFya2Rvd24oZSl7bGV0IHQ9dGhpcy5lc2NhcGVIdG1sKGUpO3JldHVybiB0PXQucmVwbGFjZSgvXiMjIyAoLispJC9nbSwiPGgzPiQxPC9oMz4iKSx0PXQucmVwbGFjZSgvXiMjICguKykkL2dtLCI8aDI+JDE8L2gyPiIpLHQ9dC5yZXBsYWNlKC9eIyAoLispJC9nbSwiPGgxPiQxPC9oMT4iKSx0PXQucmVwbGFjZSgvXCpcKiguKz8pXCpcKi9nLCI8c3Ryb25nPiQxPC9zdHJvbmc+IiksdD10LnJlcGxhY2UoL19fKC4rPylfXy9nLCI8c3Ryb25nPiQxPC9zdHJvbmc+IiksdD10LnJlcGxhY2UoL1wqKC4rPylcKi9nLCI8ZW0+JDE8L2VtPiIpLHQ9dC5yZXBsYWNlKC9fKC4rPylfL2csIjxlbT4kMTwvZW0+IiksdD10LnJlcGxhY2UoL2BgYChbXHNcU10qPylgYGAvZywiPHByZT48Y29kZT4kMTwvY29kZT48L3ByZT4iKSx0PXQucmVwbGFjZSgvYCguKz8pYC9nLCI8Y29kZT4kMTwvY29kZT4iKSx0PXQucmVwbGFjZSgvXFsoW15cXV0rKVxdXCgoW14pXSspXCkvZywnPGEgaHJlZj0iJDIiPiQxPC9hPicpLHQ9dC5yZXBsYWNlKC9eXCogKC4rKSQvZ20sIjxsaT4kMTwvbGk+IiksdD10LnJlcGxhY2UoL14tICguKykkL2dtLCI8bGk+JDE8L2xpPiIpLHQ9dC5yZXBsYWNlKC9eXGQrXC4gKC4rKSQvZ20sIjxsaT4kMTwvbGk+IiksdD10LnJlcGxhY2UoLyg8bGk+Lio8XC9saT5cbj8pKy9nLHI9PiI8dWw+IityKyI8L3VsPiIpLHQ9dC5yZXBsYWNlKC9cblxuL2csIjwvcD48cD4iKSx0PSI8cD4iK3QrIjwvcD4iLHQ9dC5yZXBsYWNlKC88cD48XC9wPi9nLCIiKSx0PXQucmVwbGFjZSgvPHA+KDxoWzEtM10+KS9nLCIkMSIpLHQ9dC5yZXBsYWNlKC8oPFwvaFsxLTNdPik8XC9wPi9nLCIkMSIpLHQ9dC5yZXBsYWNlKC88cD4oPHVsPikvZywiJDEiKSx0PXQucmVwbGFjZSgvKDxcL3VsPik8XC9wPi9nLCIkMSIpLHQ9dC5yZXBsYWNlKC88cD4oPHByZT4pL2csIiQxIiksdD10LnJlcGxhY2UoLyg8XC9wcmU+KTxcL3A+L2csIiQxIiksdH1lc2NhcGVIdG1sKGUpe2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiB0LnRleHRDb250ZW50PWUsdC5pbm5lckhUTUx9Z2V0Q29udGVudChlKXtsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1lZGl0b3IiKTtpZih0KXJldHVybiB0LnZhbHVlO2xldCBpPWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWJsb2NrLWNvbnRhaW5lciIpPy5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKTtyZXR1cm4iIn1zZXRDb250ZW50KGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tZWRpdG9yIik7ciYmKHIudmFsdWU9dCx0aGlzLmF1dG9SZXNpemUocikpfWdldEN1cnNvclBvc2l0aW9uKGUpe2xldCB0PWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWVkaXRvciIpO3JldHVybiB0P3Quc2VsZWN0aW9uU3RhcnQ6bnVsbH1zZXRDdXJzb3JUb1N0YXJ0KGUpe2xldCB0PWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWVkaXRvciIpO3Q/KHQuc2VsZWN0aW9uU3RhcnQ9dC5zZWxlY3Rpb25FbmQ9MCx0LmZvY3VzKCkpOnRoaXMuZm9jdXMoZSl9c2V0Q3Vyc29yVG9FbmQoZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tZWRpdG9yIik7aWYodCl7bGV0IHI9dC52YWx1ZS5sZW5ndGg7dC5zZWxlY3Rpb25TdGFydD10LnNlbGVjdGlvbkVuZD1yLHQuZm9jdXMoKX1lbHNlIHRoaXMuZm9jdXMoZSl9Zm9jdXMoZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tZWRpdG9yIik7dD90LmZvY3VzKCk6ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tcHJldmlldyIpPy5mb2N1cygpfWZvY3VzV2l0aEN1cnNvcihlLHQ9ImVuZCIpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWVkaXRvciIpO3I/dD09PSJzdGFydCI/dGhpcy5zZXRDdXJzb3JUb1N0YXJ0KGUpOnQ9PT0iZW5kIj90aGlzLnNldEN1cnNvclRvRW5kKGUpOnR5cGVvZiB0PT0ibnVtYmVyIiYmKHIuc2VsZWN0aW9uU3RhcnQ9ci5zZWxlY3Rpb25FbmQ9dCxyLmZvY3VzKCkpOnRoaXMuZm9jdXMoZSl9Z2V0U3BsaXRDb250ZW50KGUpe2xldCB0PWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWVkaXRvciIpO2lmKCF0KXJldHVybiBudWxsO2xldCByPXQuc2VsZWN0aW9uU3RhcnQ7cmV0dXJue2JlZm9yZTp0LnZhbHVlLnN1YnN0cmluZygwLHIpLGFmdGVyOnQudmFsdWUuc3Vic3RyaW5nKHIpfX1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC8qIE1hcmtkb3duIEJsb2NrIENvbnRhaW5lciAqLwogICAgICAubWFya2Rvd24tYmxvY2stY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luOiAxMnB4IDA7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzExMTgyNyIpfTsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLWJsb2NrLWNvbnRhaW5lci5zZWxlY3RlZCB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEhlYWRlciAqLwogICAgICAubWFya2Rvd24taGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMwYTBhMGEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi10aXRsZSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzNzQxNTEiLCIjZTVlN2ViIil9OwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tdG9nZ2xlLW1vZGUgewogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tdG9nZ2xlLW1vZGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjNmNGY2IiwiIzFmMjkzNyIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZDFkNWRiIiwiIzRiNTU2MyIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogQ29udGVudCAqLwogICAgICAubWFya2Rvd24tY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4OwogICAgICB9CiAgICAgIAogICAgICAvKiBFZGl0b3IgKi8KICAgICAgLm1hcmtkb3duLWVkaXRvciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWluLWhlaWdodDogMTIwcHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICByZXNpemU6IG5vbmU7CiAgICAgICAgZm9udC1mYW1pbHk6ICdNb25hY28nLCAnQ29uc29sYXMnLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMWYyOTM3IiwiI2YzZjRmNiIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tZWRpdG9yOjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogUHJldmlldyAqLwogICAgICAubWFya2Rvd24tcHJldmlldyB7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBtaW4taGVpZ2h0OiA5NnB4OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMWYyOTM3IiwiI2YzZjRmNiIpfTsKICAgICAgfQogICAgICAKICAgICAgLnByZXZpZXctZW1wdHkgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICB9CiAgICAgIAogICAgICAvKiBNYXJrZG93biBwcmV2aWV3IHN0eWxlcyAqLwogICAgICAubWFya2Rvd24tcHJldmlldyBoMSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbWFyZ2luOiAxNnB4IDAgOHB4IDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgaDIgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIG1hcmdpbjogMTRweCAwIDZweCAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzExMTgyNyIsIiNmOWZhZmIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IGgzIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBtYXJnaW46IDEycHggMCA0cHggMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxMTE4MjciLCIjZjlmYWZiIil9OwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBwIHsKICAgICAgICBtYXJnaW46IDhweCAwOwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyB1bCwKICAgICAgLm1hcmtkb3duLXByZXZpZXcgb2wgewogICAgICAgIG1hcmdpbjogOHB4IDA7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBsaSB7CiAgICAgICAgbWFyZ2luOiA0cHggMDsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgY29kZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmM2Y0ZjYiLCIjMWYyOTM3Iil9OwogICAgICAgIHBhZGRpbmc6IDJweCA0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGZvbnQtZmFtaWx5OiAnTW9uYWNvJywgJ0NvbnNvbGFzJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMC45ZW07CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IHByZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmM2Y0ZjYiLCIjMWYyOTM3Iil9OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgICAgbWFyZ2luOiA4cHggMDsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgcHJlIGNvZGUgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IHN0cm9uZyB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxMTE4MjciLCIjZjlmYWZiIil9OwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBlbSB7CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBhIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgYTpob3ZlciB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IGJsb2NrcXVvdGUgewogICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIHBhZGRpbmctbGVmdDogMTJweDsKICAgICAgICBtYXJnaW46IDhweCAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgIH0KICAgIGB9fX0pO3ZhciBWVyxybGE9ZigoKT0+e2VuKCk7bGUoKTtWVz1jbGFzcyBleHRlbmRzIG1ye3N0YXRpY3tzKHRoaXMsIkh0bWxCbG9ja0hhbmRsZXIiKX10eXBlPSJodG1sIjtyZW5kZXIoZSx0KXtsZXQgcj1lLm1ldGFkYXRhPy5pc0VkaXRNb2RlPz8hMCxpPWUuY29udGVudHx8IiI7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJodG1sLWJsb2NrLWNvbnRhaW5lciR7dD8iIHNlbGVjdGVkIjoiIn0iIAogICAgICAgICAgIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iCiAgICAgICAgICAgZGF0YS1lZGl0LW1vZGU9IiR7cn0iPgogICAgICAgIDxkaXYgY2xhc3M9Imh0bWwtaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Imh0bWwtaWNvbiI+Jmx0Oy8mZ3Q7PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJodG1sLXRpdGxlIj5IVE1MPC9kaXY+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJodG1sLXRvZ2dsZS1tb2RlIiB0aXRsZT0iJHtyPyJQcmV2aWV3IjoiRWRpdCJ9Ij4KICAgICAgICAgICAgJHtyPyJcdXsxRjQ0MX1cdUZFMEYiOiJcdTI3MEZcdUZFMEYifQogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaHRtbC1jb250ZW50Ij4KICAgICAgICAgICR7cj90aGlzLnJlbmRlckVkaXRvcihpKTp0aGlzLnJlbmRlclByZXZpZXcoaSl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJFZGl0b3IoZSl7cmV0dXJuYAogICAgICA8dGV4dGFyZWEgY2xhc3M9Imh0bWwtZWRpdG9yIiAKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJFbnRlciBIVE1MIGNvbnRlbnQuLi4iCiAgICAgICAgICAgICAgICBzcGVsbGNoZWNrPSJmYWxzZSI+JHt0aGlzLmVzY2FwZUh0bWwoZSl9PC90ZXh0YXJlYT4KICAgIGB9cmVuZGVyUHJldmlldyhlKXtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9Imh0bWwtcHJldmlldyI+CiAgICAgICAgJHtlfHwnPGRpdiBjbGFzcz0icHJldmlldy1lbXB0eSI+Tm8gY29udGVudCB0byBwcmV2aWV3PC9kaXY+J30KICAgICAgPC9kaXY+CiAgICBgfXNldHVwKGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWJsb2NrLWNvbnRhaW5lciIpLG89ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC10b2dnbGUtbW9kZSIpO2lmKCFpfHwhbyl7Y29uc29sZS5lcnJvcigiSHRtbEJsb2NrSGFuZGxlcjogQ291bGQgbm90IGZpbmQgcmVxdWlyZWQgZWxlbWVudHMiKTtyZXR1cm59dC5tZXRhZGF0YXx8KHQubWV0YWRhdGE9e30pLHQubWV0YWRhdGEuaXNFZGl0TW9kZT09PXZvaWQgMCYmKHQubWV0YWRhdGEuaXNFZGl0TW9kZT0hMCksby5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbj0+e2lmKG4ucHJldmVudERlZmF1bHQoKSxuLnN0b3BQcm9wYWdhdGlvbigpLHQubWV0YWRhdGEuaXNFZGl0TW9kZSl7bGV0IGw9aS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1lZGl0b3IiKTtsJiYodC5jb250ZW50PWwudmFsdWUpfXQubWV0YWRhdGEuaXNFZGl0TW9kZT0hdC5tZXRhZGF0YS5pc0VkaXRNb2RlLHIub25SZXF1ZXN0VXBkYXRlPy4oKX0pLHQubWV0YWRhdGEuaXNFZGl0TW9kZT90aGlzLnNldHVwRWRpdG9yKGUsdCxyKTp0aGlzLnNldHVwUHJldmlldyhlLHQscil9c2V0dXBFZGl0b3IoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmh0bWwtZWRpdG9yIik7aSYmKGkuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT5yLm9uRm9jdXMoKSksaS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+ci5vbkJsdXIoKSksaS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsKCk9Pnt0LmNvbnRlbnQ9aS52YWx1ZSx0aGlzLnZhbGlkYXRlSHRtbChpLnZhbHVlKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbz0+e2lmKG8ua2V5PT09IlRhYiIpe28ucHJldmVudERlZmF1bHQoKTtsZXQgbj1pLnNlbGVjdGlvblN0YXJ0LGw9aS5zZWxlY3Rpb25FbmQsZD1pLnZhbHVlO2lmKG8uc2hpZnRLZXkpe2xldCB1PWQuc3Vic3RyaW5nKDAsbikubGFzdEluZGV4T2YoYApgKSsxLG09ZC5zdWJzdHJpbmcodSxuKTttLnN0YXJ0c1dpdGgoIiAgIikmJihpLnZhbHVlPWQuc3Vic3RyaW5nKDAsdSkrbS5zdWJzdHJpbmcoMikrZC5zdWJzdHJpbmcobiksaS5zZWxlY3Rpb25TdGFydD1pLnNlbGVjdGlvbkVuZD1uLTIpfWVsc2UgaS52YWx1ZT1kLnN1YnN0cmluZygwLG4pKyIgICIrZC5zdWJzdHJpbmcobCksaS5zZWxlY3Rpb25TdGFydD1pLnNlbGVjdGlvbkVuZD1uKzI7dC5jb250ZW50PWkudmFsdWU7cmV0dXJufWlmKChvLmN0cmxLZXl8fG8ubWV0YUtleSkmJm8ua2V5PT09Ii8iKXtvLnByZXZlbnREZWZhdWx0KCksdGhpcy5hdXRvQ2xvc2VUYWcoaSksdC5jb250ZW50PWkudmFsdWU7cmV0dXJufXIub25LZXlEb3duKG8pfSksdGhpcy5hdXRvUmVzaXplKGkpLGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCgpPT50aGlzLmF1dG9SZXNpemUoaSkpKX1zZXR1cFByZXZpZXcoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmh0bWwtYmxvY2stY29udGFpbmVyIiksbz1lLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLXByZXZpZXciKTshaXx8IW98fChvLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCIwIiksby5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PnIub25Gb2N1cygpKSxvLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT5yLm9uQmx1cigpKSxvLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG49PntpZihuLmtleT09PSJFbnRlciImJiFuLnNoaWZ0S2V5KXtuLnByZXZlbnREZWZhdWx0KCksdC5tZXRhZGF0YS5pc0VkaXRNb2RlPSEwLHIub25SZXF1ZXN0VXBkYXRlPy4oKTtyZXR1cm59ci5vbktleURvd24obil9KSx0aGlzLnNhbmRib3hDb250ZW50KG8pKX1hdXRvQ2xvc2VUYWcoZSl7bGV0IHQ9ZS5zZWxlY3Rpb25TdGFydCxyPWUudmFsdWUsaT10O2Zvcig7aT4wJiZyW2ktMV0hPT0iPCI7KWktLTtpZihpPjApe2xldCBuPXIuc3Vic3RyaW5nKGksdCkubWF0Y2goL14oXHcrKS8pO2lmKG4pe2xldCBkPWA8LyR7blsxXX0+YDtlLnZhbHVlPXIuc3Vic3RyaW5nKDAsdCkrIj4iK2Qrci5zdWJzdHJpbmcodCksZS5zZWxlY3Rpb25TdGFydD1lLnNlbGVjdGlvbkVuZD10KzF9fX1hdXRvUmVzaXplKGUpe2Uuc3R5bGUuaGVpZ2h0PSJhdXRvIixlLnN0eWxlLmhlaWdodD1lLnNjcm9sbEhlaWdodCsicHgifXZhbGlkYXRlSHRtbChlKXtsZXQgdD1bXSxyPS88XC8/KFthLXpBLVpdW2EtekEtWjAtOV0qKVxiW14+XSo+L2csaTtmb3IoOyhpPXIuZXhlYyhlKSkhPT1udWxsOyl7bGV0IG89aVswXS5zdGFydHNXaXRoKCI8LyIpLG49aVsxXS50b0xvd2VyQ2FzZSgpO2lmKG8pe2lmKHQubGVuZ3RoPT09MHx8dFt0Lmxlbmd0aC0xXSE9PW4pcmV0dXJuIGNvbnNvbGUud2FybihgTWlzbWF0Y2hlZCBjbG9zaW5nIHRhZzogJHtufWApLCExO3QucG9wKCl9ZWxzZSBpWzBdLmVuZHNXaXRoKCIvPiIpfHx0LnB1c2gobil9cmV0dXJuIHQubGVuZ3RoPjA/KGNvbnNvbGUud2FybihgVW5jbG9zZWQgdGFnczogJHt0LmpvaW4oIiwgIil9YCksITEpOiEwfXNhbmRib3hDb250ZW50KGUpe2UucXVlcnlTZWxlY3RvckFsbCgic2NyaXB0IikuZm9yRWFjaChvPT5vLnJlbW92ZSgpKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIioiKS5mb3JFYWNoKG89PntBcnJheS5mcm9tKG8uYXR0cmlidXRlcykuZm9yRWFjaChuPT57bi5uYW1lLnN0YXJ0c1dpdGgoIm9uIikmJm8ucmVtb3ZlQXR0cmlidXRlKG4ubmFtZSl9KX0pLGUucXVlcnlTZWxlY3RvckFsbCgiZm9ybSIpLmZvckVhY2gobz0+e28uYWRkRXZlbnRMaXN0ZW5lcigic3VibWl0IixuPT57bi5wcmV2ZW50RGVmYXVsdCgpLG4uc3RvcFByb3BhZ2F0aW9uKCl9KX0pfWVzY2FwZUh0bWwoZSl7bGV0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQudGV4dENvbnRlbnQ9ZSx0LmlubmVySFRNTH1nZXRDb250ZW50KGUpe2xldCB0PWUucXVlcnlTZWxlY3RvcigiLmh0bWwtZWRpdG9yIik7aWYodClyZXR1cm4gdC52YWx1ZTtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWJsb2NrLWNvbnRhaW5lciIpPy5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKTtyZXR1cm4iIn1zZXRDb250ZW50KGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1lZGl0b3IiKTtyJiYoci52YWx1ZT10LHRoaXMuYXV0b1Jlc2l6ZShyKSl9Z2V0Q3Vyc29yUG9zaXRpb24oZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1lZGl0b3IiKTtyZXR1cm4gdD90LnNlbGVjdGlvblN0YXJ0Om51bGx9c2V0Q3Vyc29yVG9TdGFydChlKXtsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWVkaXRvciIpO3Q/KHQuc2VsZWN0aW9uU3RhcnQ9dC5zZWxlY3Rpb25FbmQ9MCx0LmZvY3VzKCkpOnRoaXMuZm9jdXMoZSl9c2V0Q3Vyc29yVG9FbmQoZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1lZGl0b3IiKTtpZih0KXtsZXQgcj10LnZhbHVlLmxlbmd0aDt0LnNlbGVjdGlvblN0YXJ0PXQuc2VsZWN0aW9uRW5kPXIsdC5mb2N1cygpfWVsc2UgdGhpcy5mb2N1cyhlKX1mb2N1cyhlKXtsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWVkaXRvciIpO3Q/dC5mb2N1cygpOmUucXVlcnlTZWxlY3RvcigiLmh0bWwtcHJldmlldyIpPy5mb2N1cygpfWZvY3VzV2l0aEN1cnNvcihlLHQ9ImVuZCIpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmh0bWwtZWRpdG9yIik7cj90PT09InN0YXJ0Ij90aGlzLnNldEN1cnNvclRvU3RhcnQoZSk6dD09PSJlbmQiP3RoaXMuc2V0Q3Vyc29yVG9FbmQoZSk6dHlwZW9mIHQ9PSJudW1iZXIiJiYoci5zZWxlY3Rpb25TdGFydD1yLnNlbGVjdGlvbkVuZD10LHIuZm9jdXMoKSk6dGhpcy5mb2N1cyhlKX1nZXRTcGxpdENvbnRlbnQoZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1lZGl0b3IiKTtpZighdClyZXR1cm4gbnVsbDtsZXQgcj10LnNlbGVjdGlvblN0YXJ0O3JldHVybntiZWZvcmU6dC52YWx1ZS5zdWJzdHJpbmcoMCxyKSxhZnRlcjp0LnZhbHVlLnN1YnN0cmluZyhyKX19Z2V0U3R5bGVzKCl7cmV0dXJuYAogICAgICAvKiBIVE1MIEJsb2NrIENvbnRhaW5lciAqLwogICAgICAuaHRtbC1ibG9jay1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW46IDEycHggMDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTExODI3Iil9OwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC1ibG9jay1jb250YWluZXIuc2VsZWN0ZWQgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBIZWFkZXIgKi8KICAgICAgLmh0bWwtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMwYTBhMGEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgICBmb250LWZhbWlseTogJ01vbmFjbycsICdDb25zb2xhcycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtdGl0bGUgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtdG9nZ2xlLW1vZGUgewogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC10b2dnbGUtbW9kZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmM2Y0ZjYiLCIjMWYyOTM3Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkMWQ1ZGIiLCIjNGI1NTYzIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBDb250ZW50ICovCiAgICAgIC5odG1sLWNvbnRlbnQgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtaW4taGVpZ2h0OiAxMjBweDsKICAgICAgfQogICAgICAKICAgICAgLyogRWRpdG9yICovCiAgICAgIC5odG1sLWVkaXRvciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWluLWhlaWdodDogMTIwcHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICByZXNpemU6IG5vbmU7CiAgICAgICAgZm9udC1mYW1pbHk6ICdNb25hY28nLCAnQ29uc29sYXMnLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMWYyOTM3IiwiI2YzZjRmNiIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC1lZGl0b3I6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBQcmV2aWV3ICovCiAgICAgIC5odG1sLXByZXZpZXcgewogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgbWluLWhlaWdodDogOTZweDsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzFmMjkzNyIsIiNmM2Y0ZjYiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5wcmV2aWV3LWVtcHR5IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQogICAgICAKICAgICAgLyogU2FuZGJveGVkIEhUTUwgcHJldmlldyBzdHlsZXMgKi8KICAgICAgLmh0bWwtcHJldmlldyAqIHsKICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXByZXZpZXcgaW1nIHsKICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXByZXZpZXcgYSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXByZXZpZXcgYTpob3ZlciB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXByZXZpZXcgdGFibGUgewogICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWFyZ2luOiA4cHggMDsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtcHJldmlldyB0aCwKICAgICAgLmh0bWwtcHJldmlldyB0ZCB7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC1wcmV2aWV3IHRoIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtcHJldmlldyBwcmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjNmNGY2IiwiIzFmMjkzNyIpfTsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICAgIG1hcmdpbjogOHB4IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXByZXZpZXcgY29kZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmM2Y0ZjYiLCIjMWYyOTM3Iil9OwogICAgICAgIHBhZGRpbmc6IDJweCA0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGZvbnQtZmFtaWx5OiAnTW9uYWNvJywgJ0NvbnNvbGFzJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMC45ZW07CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXByZXZpZXcgcHJlIGNvZGUgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KICAgIGB9fX0pO3ZhciBhUWU9ZigoKT0+e2VuKCk7d2lhKCk7TWlhKCk7a2lhKCk7U2lhKCk7emlhKCk7WjJhKCk7WDJhKCk7UTJhKCk7SjJhKCk7ZWxhKCk7dGxhKCk7YWxhKCk7cmxhKCl9KTtmdW5jdGlvbiBzbGEoKXtqYS5yZWdpc3RlcigiZGl2aWRlciIsbmV3IEhXKSxqYS5yZWdpc3RlcigicGFyYWdyYXBoIixuZXcgcVUpLGphLnJlZ2lzdGVyKCJoZWFkaW5nLTEiLG5ldyBIZigiaGVhZGluZy0xIikpLGphLnJlZ2lzdGVyKCJoZWFkaW5nLTIiLG5ldyBIZigiaGVhZGluZy0yIikpLGphLnJlZ2lzdGVyKCJoZWFkaW5nLTMiLG5ldyBIZigiaGVhZGluZy0zIikpLGphLnJlZ2lzdGVyKCJxdW90ZSIsbmV3IFZVKSxqYS5yZWdpc3RlcigiY29kZSIsbmV3IE5XKSxqYS5yZWdpc3RlcigibGlzdCIsbmV3IFJXKSxqYS5yZWdpc3RlcigiaW1hZ2UiLG5ldyBPVyksamEucmVnaXN0ZXIoInlvdXR1YmUiLG5ldyBGVyksamEucmVnaXN0ZXIoImF0dGFjaG1lbnQiLG5ldyBCVyksamEucmVnaXN0ZXIoIm1hcmtkb3duIixuZXcgcVcpLGphLnJlZ2lzdGVyKCJodG1sIixuZXcgVlcpfXZhciByUWU9ZigoKT0+e2FRZSgpO3Moc2xhLCJyZWdpc3RlckFsbEJsb2NrSGFuZGxlcnMiKSxzbGEoKX0pO3ZhciBqVyxzUWU9ZigoKT0+e2xlKCk7aGMoKTtEbygpO0ZmKCk7RGFlKCk7alc9Y2xhc3N7c3RhdGlje3ModGhpcywiV3lzaXd5Z01vZGFsTWFuYWdlciIpfXN0YXRpYyBhc3luYyBzaG93TGFuZ3VhZ2VTZWxlY3Rpb25Nb2RhbCgpe3JldHVybiBuZXcgUHJvbWlzZShlPT57bGV0IHQ9bnVsbDt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJTZWxlY3QgUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UiLGNvbnRlbnQ6d2AKICAgICAgICAgIDxzdHlsZT4KICAgICAgICAgICAgLmxhbmd1YWdlLWNvbnRhaW5lciB7CiAgICAgICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDsKICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5sYW5ndWFnZS1ncmlkIHsKICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDEyMHB4LCAxZnIpKTsKICAgICAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgICAgfQogICAgICAgICAgICAubGFuZ3VhZ2UtYnV0dG9uIHsKICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDhweDsKICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgICAgICAgfQogICAgICAgICAgICAubGFuZ3VhZ2UtYnV0dG9uOmhvdmVyIHsKICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2QxZDVkYiIsIiM0YjU1NjMiKX07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLmxhbmd1YWdlLWJ1dHRvbi5zZWxlY3RlZCB7CiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmM2Y0ZjYiLCIjMzc0MTUxIil9OwogICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzExMTgyNyIsIiNmOWZhZmIiKX07CiAgICAgICAgICAgIH0KICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5ndWFnZS1jb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5ndWFnZS1ncmlkIj4KICAgICAgICAgICAgICAke3RoaXMuZ2V0TGFuZ3VhZ2VzKCkubWFwKHI9PndgCiAgICAgICAgICAgICAgICA8ZGl2IAogICAgICAgICAgICAgICAgICBjbGFzcz0ibGFuZ3VhZ2UtYnV0dG9uICR7dD09PXIudG9Mb3dlckNhc2UoKT8ic2VsZWN0ZWQiOiIifSIgCiAgICAgICAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+e3Q9ci50b0xvd2VyQ2FzZSgpO2xldCBpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImRlZXMtbW9kYWwiKTtpJiZ0eXBlb2YgaS5kZXN0cm95PT0iZnVuY3Rpb24iJiZpLmRlc3Ryb3koKSxlKHQpfX0iPgogICAgICAgICAgICAgICAgICAke3J9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2FuY2VsIixhY3Rpb246cyhhc3luYyByPT57ci5kZXN0cm95KCksZShudWxsKX0sImFjdGlvbiIpfV19KX0pfXN0YXRpYyBhc3luYyBzaG93QmxvY2tTZXR0aW5nc01vZGFsKGUsdCl7bGV0IHI9d2AKICAgICAgPHN0eWxlPgogICAgICAgIC5zZXR0aW5ncy1jb250YWluZXIgewogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICB9CiAgICAgICAgLnNldHRpbmdzLXNlY3Rpb24gewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICB9CiAgICAgICAgLnNldHRpbmdzLXNlY3Rpb246bGFzdC1jaGlsZCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIH0KICAgICAgICAuc2V0dGluZ3MtbGFiZWwgewogICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICB9CiAgICAgICAgLmJsb2NrLXR5cGUtZ3JpZCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTYwcHgsIDFmcikpOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgfQogICAgICAgIC5ibG9jay10eXBlLWJ1dHRvbiB7CiAgICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgICB9CiAgICAgICAgLmJsb2NrLXR5cGUtYnV0dG9uOmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjlmYWZiIiwiIzFmMjkzNyIpfTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkMWQ1ZGIiLCIjNGI1NTYzIil9OwogICAgICAgIH0KICAgICAgICAuYmxvY2stdHlwZS1idXR0b24uc2VsZWN0ZWQgewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmM2Y0ZjYiLCIjMzc0MTUxIil9OwogICAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxMTE4MjciLCIjZjlmYWZiIil9OwogICAgICAgIH0KICAgICAgICAuYmxvY2stdHlwZS1pY29uIHsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgICAgb3BhY2l0eTogMC43OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3MtY29udGFpbmVyIj4KICAgICAgICAke3RoaXMuZ2V0QmxvY2tUeXBlU2VsZWN0b3IoZSx0KX0KICAgICAgICAke2UudHlwZT09PSJjb2RlIj90aGlzLmdldENvZGVCbG9ja1NldHRpbmdzKGUsdCk6IiJ9CiAgICAgIDwvZGl2PgogICAgYDt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJCbG9jayBTZXR0aW5ncyIsY29udGVudDpyLG1lbnVPcHRpb25zOlt7bmFtZToiRG9uZSIsYWN0aW9uOnMoYXN5bmMgaT0+e2kuZGVzdHJveSgpfSwiYWN0aW9uIil9XX0pfXN0YXRpYyBnZXRDb2RlQmxvY2tTZXR0aW5ncyhlLHQpe2xldCByPWUubWV0YWRhdGE/Lmxhbmd1YWdlfHwiamF2YXNjcmlwdCI7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICAubGFuZ3VhZ2UtZ3JpZCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTAwcHgsIDFmcikpOwogICAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgfQogICAgICAgIC5sYW5ndWFnZS1idXR0b24gewogICAgICAgICAgcGFkZGluZzogOHB4IDRweDsKICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzNzQxNTEiLCIjZTVlN2ViIil9OwogICAgICAgIH0KICAgICAgICAubGFuZ3VhZ2UtYnV0dG9uOmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjlmYWZiIiwiIzFmMjkzNyIpfTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkMWQ1ZGIiLCIjNGI1NTYzIil9OwogICAgICAgIH0KICAgICAgICAubGFuZ3VhZ2UtYnV0dG9uLnNlbGVjdGVkIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjNmNGY2IiwiIzM3NDE1MSIpfTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLWxhYmVsIj5Qcm9ncmFtbWluZyBMYW5ndWFnZTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Imxhbmd1YWdlLWdyaWQiPgogICAgICAgICAgJHt0aGlzLmdldExhbmd1YWdlcygpLm1hcChpPT53YAogICAgICAgICAgICA8ZGl2IAogICAgICAgICAgICAgIGNsYXNzPSJsYW5ndWFnZS1idXR0b24gJHtyPT09aS50b0xvd2VyQ2FzZSgpPyJzZWxlY3RlZCI6IiJ9IiAKICAgICAgICAgICAgICBAY2xpY2s9IiR7KCk9PntlLm1ldGFkYXRhfHwoZS5tZXRhZGF0YT17fSksZS5tZXRhZGF0YS5sYW5ndWFnZT1pLnRvTG93ZXJDYXNlKCksdChlKTtsZXQgbz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJkZWVzLW1vZGFsIik7byYmdHlwZW9mIG8uZGVzdHJveT09ImZ1bmN0aW9uIiYmby5kZXN0cm95KCl9fSIKICAgICAgICAgICAgICBkYXRhLWxhbmc9IiR7aX0iCiAgICAgICAgICAgID4ke2l9PC9kaXY+CiAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXN0YXRpYyBnZXRMYW5ndWFnZXMoKXtyZXR1cm5bLi4uQlVdfXN0YXRpYyBnZXRCbG9ja1R5cGVTZWxlY3RvcihlLHQpe2xldCByPUpyLmdldFNsYXNoTWVudUl0ZW1zKCkuZmlsdGVyKGk9PmkudHlwZSE9PSJkaXZpZGVyIik7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLWxhYmVsIj5CbG9jayBUeXBlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYmxvY2stdHlwZS1ncmlkIj4KICAgICAgICAgICR7ci5tYXAoaT0+d2AKICAgICAgICAgICAgPGRpdiAKICAgICAgICAgICAgICBjbGFzcz0iYmxvY2stdHlwZS1idXR0b24gJHtlLnR5cGU9PT1pLnR5cGU/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgICAgICAgQGNsaWNrPSIke2FzeW5jIG89PntsZXQgbj1vLmN1cnJlbnRUYXJnZXQsbD1lLnR5cGU7aWYoZS50eXBlPWkudHlwZSxsPT09ImNvZGUiJiZlLnR5cGUhPT0iY29kZSIpZGVsZXRlIGUubWV0YWRhdGE/Lmxhbmd1YWdlO2Vsc2UgaWYobD09PSJsaXN0IiYmZS50eXBlIT09Imxpc3QiKWRlbGV0ZSBlLm1ldGFkYXRhPy5saXN0VHlwZTtlbHNlIGlmKGUudHlwZT09PSJsaXN0IiYmIWUubWV0YWRhdGE/Lmxpc3RUeXBlKWUubWV0YWRhdGE9e2xpc3RUeXBlOiJidWxsZXQifTtlbHNlIGlmKGUudHlwZT09PSJjb2RlIiYmIWUubWV0YWRhdGE/Lmxhbmd1YWdlKXtsZXQgYz1hd2FpdCB0aGlzLnNob3dMYW5ndWFnZVNlbGVjdGlvbk1vZGFsKCk7aWYoYyllLm1ldGFkYXRhPXtsYW5ndWFnZTpjfTtlbHNle2UudHlwZT1sO3JldHVybn19dChlKTtsZXQgZD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJkZWVzLW1vZGFsIik7ZCYmdHlwZW9mIGQuZGVzdHJveT09ImZ1bmN0aW9uIiYmZC5kZXN0cm95KCl9fSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJibG9jay10eXBlLWljb24iPiR7aS5pY29ufTwvc3Bhbj4KICAgICAgICAgICAgICA8c3Bhbj4ke2kubGFiZWx9PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9fX0pO3ZhciBVVyxpbGE9ZigoKT0+e0RvKCk7Z20oKTtGZigpO3hjKCk7ZEtlKCk7c1FlKCk7VVc9Y2xhc3N7c3RhdGlje3ModGhpcywiV3lzaXd5Z0lucHV0SGFuZGxlciIpfWNvbXBvbmVudDtzYXZlVGltZW91dD1udWxsO2NvbnN0cnVjdG9yKGUpe3RoaXMuY29tcG9uZW50PWV9aGFuZGxlQmxvY2tJbnB1dChlLHQpe2lmKHRoaXMuY29tcG9uZW50LmlzQ29tcG9zaW5nKXJldHVybjtsZXQgcj1lLnRhcmdldCxpPXIudGV4dENvbnRlbnR8fCIiLG89dGhpcy5kZXRlY3RCbG9ja1R5cGVJbnRlbnQoaSk7aWYobyYmby50eXBlIT09dC50eXBlKXtlLnByZXZlbnREZWZhdWx0KCksdGhpcy5oYW5kbGVCbG9ja1RyYW5zZm9ybWF0aW9uKHQsbyxyKTtyZXR1cm59dGhpcy5oYW5kbGVTbGFzaENvbW1hbmQoaSxyKSx0aGlzLnNjaGVkdWxlQXV0b1NhdmUoKX11cGRhdGVCbG9ja0NvbnRlbnQoZSx0KXtsZXQgaT10LmNsb3Nlc3QoIi5ibG9jay13cmFwcGVyIik/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKGkpe2xldCBvPWkuZ2V0Q29udGVudCgpO2lmKGUuY29udGVudCE9PW8mJihlLmNvbnRlbnQ9byksZS50eXBlPT09Imxpc3QiKXtsZXQgbj10LnF1ZXJ5U2VsZWN0b3IoIm9sLCB1bCIpO24mJihlLm1ldGFkYXRhPXtsaXN0VHlwZTpuLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09PSJvbCI/Im9yZGVyZWQiOiJidWxsZXQifSl9fWVsc2UgaWYoZS50eXBlPT09Imxpc3QiKXtsZXQgbz10LnF1ZXJ5U2VsZWN0b3JBbGwoImxpIik7ZS5jb250ZW50PUFycmF5LmZyb20obykubWFwKGw9PmwuaW5uZXJIVE1MfHwiIikuam9pbihgCmApO2xldCBuPXQucXVlcnlTZWxlY3Rvcigib2wsIHVsIik7biYmKGUubWV0YWRhdGE9e2xpc3RUeXBlOm4udGFnTmFtZS50b0xvd2VyQ2FzZSgpPT09Im9sIj8ib3JkZXJlZCI6ImJ1bGxldCJ9KX1lbHNlIGUudHlwZT09PSJjb2RlIj9lLmNvbnRlbnQ9dC50ZXh0Q29udGVudHx8IiI6ZS5jb250ZW50PXQuaW5uZXJIVE1MfHwiIn1kZXRlY3RCbG9ja1R5cGVJbnRlbnQoZSl7bGV0IHQ9SnIuY2hlY2tIZWFkaW5nU2hvcnRjdXQoZSk7aWYodClyZXR1cm4gdDtsZXQgcj1Kci5jaGVja0xpc3RTaG9ydGN1dChlKTtyZXR1cm4gcnx8KEpyLmNoZWNrUXVvdGVTaG9ydGN1dChlKT97dHlwZToicXVvdGUifTpKci5jaGVja0NvZGVTaG9ydGN1dChlKT97dHlwZToiY29kZSJ9OkpyLmNoZWNrRGl2aWRlclNob3J0Y3V0KGUpP3t0eXBlOiJkaXZpZGVyIn06bnVsbCl9YXN5bmMgaGFuZGxlQmxvY2tUcmFuc2Zvcm1hdGlvbihlLHQscil7bGV0IGk9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zO2lmKHQudHlwZT09PSJsaXN0Iil7ZS50eXBlPSJsaXN0IixlLmNvbnRlbnQ9IiIsZS5tZXRhZGF0YT17bGlzdFR5cGU6dC5saXN0VHlwZX07bGV0IG89dC5saXN0VHlwZT09PSJvcmRlcmVkIj8ib2wiOiJ1bCI7ci5pbm5lckhUTUw9YDwke299PjxsaT48L2xpPjwvJHtvfT5gLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCksdGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZiYmdGhpcy5jb21wb25lbnQudXBkYXRlQmxvY2tFbGVtZW50KGUuaWQpLHNldFRpbWVvdXQoKCk9PnthaS5mb2N1c0xpc3RJdGVtKHIpfSwwKX1lbHNlIGlmKHQudHlwZT09PSJkaXZpZGVyIil7ZS50eXBlPSJkaXZpZGVyIixlLmNvbnRlbnQ9IiAiLHRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYmJnRoaXMuY29tcG9uZW50LnVwZGF0ZUJsb2NrRWxlbWVudChlLmlkKTtsZXQgbz1pLmNyZWF0ZUJsb2NrKCk7aS5pbnNlcnRCbG9ja0FmdGVyKGUsbyksdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKX1lbHNlIGlmKHQudHlwZT09PSJjb2RlIil7bGV0IG89YXdhaXQgalcuc2hvd0xhbmd1YWdlU2VsZWN0aW9uTW9kYWwoKTtvJiYoZS50eXBlPSJjb2RlIixlLmNvbnRlbnQ9IiIsZS5tZXRhZGF0YT17bGFuZ3VhZ2U6b30sci50ZXh0Q29udGVudD0iIix0aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpLHRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYmJnRoaXMuY29tcG9uZW50LnVwZGF0ZUJsb2NrRWxlbWVudChlLmlkKSxzZXRUaW1lb3V0KGFzeW5jKCk9Pnthd2FpdCBpLmZvY3VzQmxvY2soZS5pZCwic3RhcnQiKX0sNTApKX1lbHNlIGUudHlwZT10LnR5cGUsZS5jb250ZW50PSIiLHIudGV4dENvbnRlbnQ9IiIsdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKSx0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLmNvbXBvbmVudC51cGRhdGVCbG9ja0VsZW1lbnQoZS5pZCksc2V0VGltZW91dChhc3luYygpPT57YXdhaXQgaS5mb2N1c0Jsb2NrKGUuaWQsInN0YXJ0Iil9LDUwKX1oYW5kbGVTbGFzaENvbW1hbmQoZSx0KXtsZXQgcj10aGlzLmNvbXBvbmVudC5zbGFzaE1lbnUsaT1yJiZyLnZpc2libGU7aWYoZT09PSIvInx8ZS5zdGFydHNXaXRoKCIvIikmJmkpe2lmKCFpJiZlPT09Ii8iKXtsZXQgbz10aGlzLmdldENhcmV0Q29vcmRpbmF0ZXModCk7ci5zaG93KHt4Om8ubGVmdCx5Om8uYm90dG9tKzR9LG49Pnt0aGlzLmNvbXBvbmVudC5pbnNlcnRCbG9jayhuKX0pLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT10JiZ0LmZvY3VzKCl9KX1yJiZyLnVwZGF0ZUZpbHRlcihlLnNsaWNlKDEpKX1lbHNlIGUuc3RhcnRzV2l0aCgiLyIpfHx0aGlzLmNvbXBvbmVudC5jbG9zZVNsYXNoTWVudSgpfWdldENhcmV0Q29vcmRpbmF0ZXMoZSl7bGV0IHQ9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKHQmJnQucmFuZ2VDb3VudD4wKXtsZXQgaT10LmdldFJhbmdlQXQoMCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoaS53aWR0aD4wfHxpLmhlaWdodD4wKXJldHVybiBpfXJldHVybiBlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfXNjaGVkdWxlQXV0b1NhdmUoKXt0aGlzLnNhdmVUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5zYXZlVGltZW91dCksISh0aGlzLmNvbXBvbmVudC5zbGFzaE1lbnUmJnRoaXMuY29tcG9uZW50LnNsYXNoTWVudS52aXNpYmxlKSYmKHRoaXMuc2F2ZVRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuc3luY0FsbEJsb2NrQ29udGVudCgpLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCl9LDJlMykpfXN5bmNBbGxCbG9ja0NvbnRlbnQoKXt0aGlzLmNvbXBvbmVudC5ibG9ja3MuZm9yRWFjaChlPT57bGV0IHI9dGhpcy5jb21wb25lbnQuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7ZS5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZihyJiZyLmdldENvbnRlbnQpe2xldCBpPXIuZ2V0Q29udGVudCgpO2UuY29udGVudCE9PWkmJihlLmNvbnRlbnQ9aSl9fSl9ZGVzdHJveSgpe3RoaXMuc2F2ZVRpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLnNhdmVUaW1lb3V0KX19fSk7dmFyIFdXLG9sYT1mKCgpPT57RG8oKTtnbSgpO0cyKCk7V1c9Y2xhc3N7c3RhdGlje3ModGhpcywiV3lzaXd5Z0tleWJvYXJkSGFuZGxlciIpfWNvbXBvbmVudDtjb25zdHJ1Y3RvcihlKXt0aGlzLmNvbXBvbmVudD1lfWFzeW5jIGhhbmRsZUJsb2NrS2V5RG93bihlLHQpe2lmKHRoaXMuY29tcG9uZW50LnNsYXNoTWVudS52aXNpYmxlJiZ0aGlzLmlzU2xhc2hNZW51S2V5KGUua2V5KSl7dGhpcy5jb21wb25lbnQuaGFuZGxlU2xhc2hNZW51S2V5Ym9hcmQoZSk7cmV0dXJufWlmKCF0aGlzLmhhbmRsZUZvcm1hdHRpbmdTaG9ydGN1dHMoZSkpc3dpdGNoKGUua2V5KXtjYXNlIlRhYiI6dGhpcy5oYW5kbGVUYWIoZSx0KTticmVhaztjYXNlIkVudGVyIjphd2FpdCB0aGlzLmhhbmRsZUVudGVyKGUsdCk7YnJlYWs7Y2FzZSJCYWNrc3BhY2UiOmF3YWl0IHRoaXMuaGFuZGxlQmFja3NwYWNlKGUsdCk7YnJlYWs7Y2FzZSJEZWxldGUiOmF3YWl0IHRoaXMuaGFuZGxlRGVsZXRlKGUsdCk7YnJlYWs7Y2FzZSJBcnJvd1VwIjphd2FpdCB0aGlzLmhhbmRsZUFycm93VXAoZSx0KTticmVhaztjYXNlIkFycm93RG93biI6YXdhaXQgdGhpcy5oYW5kbGVBcnJvd0Rvd24oZSx0KTticmVhaztjYXNlIkFycm93TGVmdCI6YXdhaXQgdGhpcy5oYW5kbGVBcnJvd0xlZnQoZSx0KTticmVhaztjYXNlIkFycm93UmlnaHQiOmF3YWl0IHRoaXMuaGFuZGxlQXJyb3dSaWdodChlLHQpO2JyZWFrfX1pc1NsYXNoTWVudUtleShlKXtyZXR1cm5bIkFycm93RG93biIsIkFycm93VXAiLCJFbnRlciIsIkVzY2FwZSJdLmluY2x1ZGVzKGUpfWhhbmRsZUZvcm1hdHRpbmdTaG9ydGN1dHMoZSl7aWYoIShlLm1ldGFLZXl8fGUuY3RybEtleSkpcmV0dXJuITE7c3dpdGNoKGUua2V5LnRvTG93ZXJDYXNlKCkpe2Nhc2UiYiI6cmV0dXJuIGUucHJldmVudERlZmF1bHQoKSxQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT50aGlzLmNvbXBvbmVudC5hcHBseUZvcm1hdCgiYm9sZCIpKSwhMDtjYXNlImkiOnJldHVybiBlLnByZXZlbnREZWZhdWx0KCksUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+dGhpcy5jb21wb25lbnQuYXBwbHlGb3JtYXQoIml0YWxpYyIpKSwhMDtjYXNlInUiOnJldHVybiBlLnByZXZlbnREZWZhdWx0KCksUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+dGhpcy5jb21wb25lbnQuYXBwbHlGb3JtYXQoInVuZGVybGluZSIpKSwhMDtjYXNlImsiOnJldHVybiBlLnByZXZlbnREZWZhdWx0KCksUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+dGhpcy5jb21wb25lbnQuYXBwbHlGb3JtYXQoImxpbmsiKSksITB9cmV0dXJuITF9aGFuZGxlVGFiKGUsdCl7dC50eXBlIT09ImNvZGUiJiZ0LnR5cGU9PT0ibGlzdCImJmUucHJldmVudERlZmF1bHQoKX1hc3luYyBoYW5kbGVFbnRlcihlLHQpe2xldCByPXRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucztpZihbImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il0uaW5jbHVkZXModC50eXBlKSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBvPXIuY3JlYXRlQmxvY2soKTthd2FpdCByLmluc2VydEJsb2NrQWZ0ZXIodCxvKTtyZXR1cm59aWYodC50eXBlPT09ImNvZGUiKXtpZihlLnNoaWZ0S2V5KXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IG89ci5jcmVhdGVCbG9jaygpO2F3YWl0IHIuaW5zZXJ0QmxvY2tBZnRlcih0LG8pfXJldHVybn1pZighZS5zaGlmdEtleSlpZih0LnR5cGU9PT0ibGlzdCIpYXdhaXQgdGhpcy5oYW5kbGVFbnRlckluTGlzdChlLHQpO2Vsc2V7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBuPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3QuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYobiYmbi5nZXRTcGxpdENvbnRlbnQpe2xldCBsPW4uZ2V0U3BsaXRDb250ZW50KCk7aWYobCl7bi5zZXRDb250ZW50KGwuYmVmb3JlKSx0LmNvbnRlbnQ9bC5iZWZvcmU7bGV0IGQ9ci5jcmVhdGVCbG9jaygicGFyYWdyYXBoIixsLmFmdGVyKTthd2FpdCByLmluc2VydEJsb2NrQWZ0ZXIodCxkKSx0aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpfWVsc2V7bGV0IGQ9ci5jcmVhdGVCbG9jaygpO2F3YWl0IHIuaW5zZXJ0QmxvY2tBZnRlcih0LGQpfX1lbHNle2xldCBsPXIuY3JlYXRlQmxvY2soKTthd2FpdCByLmluc2VydEJsb2NrQWZ0ZXIodCxsKX19fWFzeW5jIGhhbmRsZUVudGVySW5MaXN0KGUsdCl7bGV0IHI9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKHImJnIucmFuZ2VDb3VudD4wKXtsZXQgbz1yLmdldFJhbmdlQXQoMCkuc3RhcnRDb250YWluZXIucGFyZW50RWxlbWVudD8uY2xvc2VzdCgibGkiKTtpZihvJiZvLnRleHRDb250ZW50PT09IiIpe2UucHJldmVudERlZmF1bHQoKTtsZXQgbj10aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnMsbD1uLmNyZWF0ZUJsb2NrKCk7YXdhaXQgbi5pbnNlcnRCbG9ja0FmdGVyKHQsbCl9fX1hc3luYyBoYW5kbGVCYWNrc3BhY2UoZSx0KXtsZXQgcj10aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnM7aWYoWyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdLmluY2x1ZGVzKHQudHlwZSkpe2lmKGUucHJldmVudERlZmF1bHQoKSx0aGlzLmNvbXBvbmVudC5ibG9ja3MubGVuZ3RoPT09MSl7dGhpcy5jb21wb25lbnQuc2F2ZVRvSGlzdG9yeSghMSksci5yZW1vdmVCbG9jayh0LmlkKTtsZXQgeD1yLmNyZWF0ZUJsb2NrKCJwYXJhZ3JhcGgiLCIiKTt0aGlzLmNvbXBvbmVudC5ibG9ja3M9W3hdLHRoaXMuY29tcG9uZW50LnJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKSxhd2FpdCByLmZvY3VzQmxvY2soeC5pZCwic3RhcnQiKSx0aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpO3JldHVybn10aGlzLmNvbXBvbmVudC5zYXZlVG9IaXN0b3J5KCExKTtsZXQgbT1yLmdldFByZXZpb3VzQmxvY2sodC5pZCksdj1yLmdldE5leHRCbG9jayh0LmlkKTtyLnJlbW92ZUJsb2NrKHQuaWQpLG0mJm0udHlwZSE9PSJkaXZpZGVyIiYmbS50eXBlIT09ImltYWdlIj9hd2FpdCByLmZvY3VzQmxvY2sobS5pZCwiZW5kIik6diYmdi50eXBlIT09ImRpdmlkZXIiJiZ2LnR5cGUhPT0iaW1hZ2UiP2F3YWl0IHIuZm9jdXNCbG9jayh2LmlkLCJzdGFydCIpOm0/YXdhaXQgci5mb2N1c0Jsb2NrKG0uaWQpOnYmJmF3YWl0IHIuZm9jdXNCbG9jayh2LmlkKTtyZXR1cm59bGV0IG49dGhpcy5jb21wb25lbnQuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7dC5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZighbnx8IW4uc2hhZG93Um9vdClyZXR1cm47bGV0IGw9dC50eXBlPT09ImNvZGUiP24uc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKTpuLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYoIWwpcmV0dXJuO2xldCBkPW4uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIiksYz1bXTtkPy5zaGFkb3dSb290JiZjLnB1c2goZC5zaGFkb3dSb290KSxjLnB1c2gobi5zaGFkb3dSb290KTtsZXQgcD1zdC5nZXRDdXJzb3JQb3NpdGlvbkluRWxlbWVudChsLC4uLmMpLHU9bi5nZXRDb250ZW50P24uZ2V0Q29udGVudCgpOmwudGV4dENvbnRlbnQ7aWYocD09PTApe2UucHJldmVudERlZmF1bHQoKTtsZXQgbT1yLmdldFByZXZpb3VzQmxvY2sodC5pZCk7aWYobSl7aWYoWyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdLmluY2x1ZGVzKG0udHlwZSkpe2F3YWl0IHIuZm9jdXNCbG9jayhtLmlkKTtyZXR1cm59aWYodGhpcy5jb21wb25lbnQuc2F2ZVRvSGlzdG9yeSghMSksbS50eXBlPT09ImNvZGUiJiZ0LnR5cGUhPT0iY29kZSIpe3QuY29udGVudD09PSIiJiYoci5yZW1vdmVCbG9jayh0LmlkKSxhd2FpdCByLmZvY3VzQmxvY2sobS5pZCwiZW5kIikpO3JldHVybn1pZih0LnR5cGU9PT0iY29kZSImJm0udHlwZSE9PSJjb2RlIil7bGV0IE49bi5nZXRDb250ZW50P24uZ2V0Q29udGVudCgpOnQuY29udGVudDsoTj09PSIifHxOLnRyaW0oKT09PSIiKSYmKHIucmVtb3ZlQmxvY2sodC5pZCksYXdhaXQgci5mb2N1c0Jsb2NrKG0uaWQsImVuZCIpKTtyZXR1cm59bGV0IGI9dGhpcy5jb21wb25lbnQuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7bS5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKSxnPWI/LmdldENvbnRlbnQoKXx8bS5jb250ZW50fHwiIix5PW4uZ2V0Q29udGVudCgpfHx0LmNvbnRlbnR8fCIiLGs9IiI7bS50eXBlPT09ImNvZGUiJiZ0LnR5cGU9PT0iY29kZSJ8fG0udHlwZT09PSJsaXN0IiYmdC50eXBlPT09Imxpc3QiP2s9ZysoZyYmeT9gCmA6IiIpK3k6az1nKyhnJiZ5PyIgIjoiIikreTtsZXQgQz1nLmxlbmd0aDtyLnVwZGF0ZUJsb2NrQ29udGVudChtLmlkLGspLGImJmIuc2V0Q29udGVudChrKSxyLnJlbW92ZUJsb2NrKHQuaWQpLGF3YWl0IHIuZm9jdXNCbG9jayhtLmlkLEMpfX1lbHNlIGlmKHRoaXMuY29tcG9uZW50LmJsb2Nrcy5sZW5ndGg+MSl7bGV0IG09bi5nZXRDb250ZW50P24uZ2V0Q29udGVudCgpOnQuY29udGVudDtpZihtPT09IiJ8fG0udHJpbSgpPT09IiIpe2UucHJldmVudERlZmF1bHQoKTtsZXQgdj1yLmdldFByZXZpb3VzQmxvY2sodC5pZCk7diYmKHIucmVtb3ZlQmxvY2sodC5pZCksdi50eXBlIT09ImRpdmlkZXIiJiZhd2FpdCByLmZvY3VzQmxvY2sodi5pZCwiZW5kIikpfX19YXN5bmMgaGFuZGxlRGVsZXRlKGUsdCl7bGV0IHI9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zO2lmKFsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyh0LnR5cGUpKXtpZihlLnByZXZlbnREZWZhdWx0KCksdGhpcy5jb21wb25lbnQuYmxvY2tzLmxlbmd0aD09PTEpe3RoaXMuY29tcG9uZW50LnNhdmVUb0hpc3RvcnkoITEpLHIucmVtb3ZlQmxvY2sodC5pZCk7bGV0IGI9ci5jcmVhdGVCbG9jaygicGFyYWdyYXBoIiwiIik7dGhpcy5jb21wb25lbnQuYmxvY2tzPVtiXSx0aGlzLmNvbXBvbmVudC5yZW5kZXJCbG9ja3NQcm9ncmFtbWF0aWNhbGx5KCksYXdhaXQgci5mb2N1c0Jsb2NrKGIuaWQsInN0YXJ0IiksdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKTtyZXR1cm59dGhpcy5jb21wb25lbnQuc2F2ZVRvSGlzdG9yeSghMSk7bGV0IG09ci5nZXRQcmV2aW91c0Jsb2NrKHQuaWQpLHY9ci5nZXROZXh0QmxvY2sodC5pZCk7ci5yZW1vdmVCbG9jayh0LmlkKTtsZXQgeD1bImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il07diYmIXguaW5jbHVkZXModi50eXBlKT9hd2FpdCByLmZvY3VzQmxvY2sodi5pZCwic3RhcnQiKTptJiYheC5pbmNsdWRlcyhtLnR5cGUpP2F3YWl0IHIuZm9jdXNCbG9jayhtLmlkLCJlbmQiKTp2P2F3YWl0IHIuZm9jdXNCbG9jayh2LmlkKTptJiZhd2FpdCByLmZvY3VzQmxvY2sobS5pZCk7cmV0dXJufWxldCBuPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3QuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYoIW58fCFuLnNoYWRvd1Jvb3QpcmV0dXJuO2xldCBsPXQudHlwZT09PSJjb2RlIj9uLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik6bi5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFsKXJldHVybjtsZXQgZD1uLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpLGM9W107ZD8uc2hhZG93Um9vdCYmYy5wdXNoKGQuc2hhZG93Um9vdCksYy5wdXNoKG4uc2hhZG93Um9vdCk7bGV0IHA9c3QuZ2V0Q3Vyc29yUG9zaXRpb25JbkVsZW1lbnQobCwuLi5jKSx1PWwudGV4dENvbnRlbnQ/Lmxlbmd0aHx8MDtpZihwPT09dSl7bGV0IG09ci5nZXROZXh0QmxvY2sodC5pZCk7aWYobSYmWyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdLmluY2x1ZGVzKG0udHlwZSkpe2UucHJldmVudERlZmF1bHQoKSxhd2FpdCByLmZvY3VzQmxvY2sobS5pZCk7cmV0dXJufX19YXN5bmMgaGFuZGxlQXJyb3dVcChlLHQpe2xldCByPVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXTtpZihyLmluY2x1ZGVzKHQudHlwZSkpe2UucHJldmVudERlZmF1bHQoKTtsZXQgcD10aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnMsdT1wLmdldFByZXZpb3VzQmxvY2sodC5pZCk7dSYmYXdhaXQgcC5mb2N1c0Jsb2NrKHUuaWQsci5pbmNsdWRlcyh1LnR5cGUpP3ZvaWQgMDoiZW5kIik7cmV0dXJufWxldCBvPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3QuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYoIW98fCFvLnNoYWRvd1Jvb3QpcmV0dXJuO2xldCBuPXQudHlwZT09PSJjb2RlIj9vLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik6by5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFuKXJldHVybjtsZXQgbD1vLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpLGQ9W107bD8uc2hhZG93Um9vdCYmZC5wdXNoKGwuc2hhZG93Um9vdCksZC5wdXNoKG8uc2hhZG93Um9vdCk7bGV0IGM9c3QuZ2V0U2VsZWN0aW9uSW5mbyguLi5kKTtpZighKCFjfHwhYy5jb2xsYXBzZWQpJiZ0aGlzLmlzT25GaXJzdExpbmUoYyxuLC4uLmQpKXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IHA9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLHU9cC5nZXRQcmV2aW91c0Jsb2NrKHQuaWQpO2lmKHUpe2xldCBtPVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXTthd2FpdCBwLmZvY3VzQmxvY2sodS5pZCxtLmluY2x1ZGVzKHUudHlwZSk/dm9pZCAwOiJlbmQiKX19fWFzeW5jIGhhbmRsZUFycm93RG93bihlLHQpe2lmKFsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyh0LnR5cGUpKXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IHA9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLHU9cC5nZXROZXh0QmxvY2sodC5pZCk7aWYodSl7bGV0IG09WyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdO2F3YWl0IHAuZm9jdXNCbG9jayh1LmlkLG0uaW5jbHVkZXModS50eXBlKT92b2lkIDA6InN0YXJ0Iil9cmV0dXJufWxldCBvPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3QuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYoIW98fCFvLnNoYWRvd1Jvb3QpcmV0dXJuO2xldCBuPXQudHlwZT09PSJjb2RlIj9vLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik6by5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFuKXJldHVybjtsZXQgbD1vLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpLGQ9W107bD8uc2hhZG93Um9vdCYmZC5wdXNoKGwuc2hhZG93Um9vdCksZC5wdXNoKG8uc2hhZG93Um9vdCk7bGV0IGM9c3QuZ2V0U2VsZWN0aW9uSW5mbyguLi5kKTtpZighKCFjfHwhYy5jb2xsYXBzZWQpJiZ0aGlzLmlzT25MYXN0TGluZShjLG4sLi4uZCkpe2UucHJldmVudERlZmF1bHQoKTtsZXQgcD10aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnMsdT1wLmdldE5leHRCbG9jayh0LmlkKTtpZih1KXtsZXQgbT1bImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il07YXdhaXQgcC5mb2N1c0Jsb2NrKHUuaWQsbS5pbmNsdWRlcyh1LnR5cGUpP3ZvaWQgMDoic3RhcnQiKX19fWdldExhc3RUZXh0Tm9kZShlKXtpZihlLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpcmV0dXJuIGU7Zm9yKGxldCB0PWUuY2hpbGROb2Rlcy5sZW5ndGgtMTt0Pj0wO3QtLSl7bGV0IHI9dGhpcy5nZXRMYXN0VGV4dE5vZGUoZS5jaGlsZE5vZGVzW3RdKTtpZihyKXJldHVybiByfXJldHVybiBudWxsfWFzeW5jIGhhbmRsZUFycm93TGVmdChlLHQpe2lmKFsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyh0LnR5cGUpKXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IHU9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLG09dS5nZXRQcmV2aW91c0Jsb2NrKHQuaWQpO2lmKG0pe2xldCB2PVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXTthd2FpdCB1LmZvY3VzQmxvY2sobS5pZCx2LmluY2x1ZGVzKG0udHlwZSk/dm9pZCAwOiJlbmQiKX1yZXR1cm59bGV0IG89dGhpcy5jb21wb25lbnQuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7dC5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZighb3x8IW8uc2hhZG93Um9vdClyZXR1cm47bGV0IG49dC50eXBlPT09ImNvZGUiP28uc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKTpvLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYoIW4pcmV0dXJuO2xldCBsPW8uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIiksZD1bXTtsPy5zaGFkb3dSb290JiZkLnB1c2gobC5zaGFkb3dSb290KSxkLnB1c2goby5zaGFkb3dSb290KTtsZXQgYz1zdC5nZXRTZWxlY3Rpb25JbmZvKC4uLmQpO2lmKCFjfHwhYy5jb2xsYXBzZWQpcmV0dXJuO2lmKHN0LmdldEN1cnNvclBvc2l0aW9uSW5FbGVtZW50KG4sLi4uZCk9PT0wKXtsZXQgdT10aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnMsbT11LmdldFByZXZpb3VzQmxvY2sodC5pZCk7aWYobSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCB4PVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyhtLnR5cGUpP3ZvaWQgMDoiZW5kIjthd2FpdCB1LmZvY3VzQmxvY2sobS5pZCx4KX19fWFzeW5jIGhhbmRsZUFycm93UmlnaHQoZSx0KXtpZihbImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il0uaW5jbHVkZXModC50eXBlKSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBtPXRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucyx2PW0uZ2V0TmV4dEJsb2NrKHQuaWQpO2lmKHYpe2xldCB4PVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXTthd2FpdCBtLmZvY3VzQmxvY2sodi5pZCx4LmluY2x1ZGVzKHYudHlwZSk/dm9pZCAwOiJzdGFydCIpfXJldHVybn1sZXQgbz10aGlzLmNvbXBvbmVudC5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt0LmlkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKCFvfHwhby5zaGFkb3dSb290KXJldHVybjtsZXQgbj10LnR5cGU9PT0iY29kZSI/by5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpOm8uc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZighbilyZXR1cm47bGV0IGw9by5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKSxkPVtdO2w/LnNoYWRvd1Jvb3QmJmQucHVzaChsLnNoYWRvd1Jvb3QpLGQucHVzaChvLnNoYWRvd1Jvb3QpO2xldCBjPXN0LmdldFNlbGVjdGlvbkluZm8oLi4uZCk7aWYoIWN8fCFjLmNvbGxhcHNlZClyZXR1cm47bGV0IHA9c3QuZ2V0Q3Vyc29yUG9zaXRpb25JbkVsZW1lbnQobiwuLi5kKSx1PW4udGV4dENvbnRlbnQ/Lmxlbmd0aHx8MDtpZihwPT09dSl7bGV0IG09dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLHY9bS5nZXROZXh0QmxvY2sodC5pZCk7aWYodil7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCB4PVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXTthd2FpdCBtLmZvY3VzQmxvY2sodi5pZCx4LmluY2x1ZGVzKHYudHlwZSk/dm9pZCAwOiJzdGFydCIpfX19aXNPbkZpcnN0TGluZShlLHQsLi4ucil7dHJ5e2xldCBpPXN0LmNyZWF0ZVJhbmdlRnJvbUluZm8oZSksbz1pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49aS5jb21tb25BbmNlc3RvckNvbnRhaW5lcjtuLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUmJihuPW4ucGFyZW50RWxlbWVudCk7bGV0IGw9bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxkPW8udG9wLWwudG9wPDU7cmV0dXJuIG4udGV4dENvbnRlbnQmJiFuLnRleHRDb250ZW50LmluY2x1ZGVzKGAKYCk/c3QuZ2V0Q3Vyc29yUG9zaXRpb25JbkVsZW1lbnQobiwuLi5yKT09PTA6ZH1jYXRjaChpKXtyZXR1cm4gY29uc29sZS53YXJuKCJFcnJvciBjaGVja2luZyBmaXJzdCBsaW5lOiIsaSksZS5zdGFydE9mZnNldD09PTB9fWlzT25MYXN0TGluZShlLHQsLi4ucil7dHJ5e2xldCBpPXN0LmNyZWF0ZVJhbmdlRnJvbUluZm8oZSksbz1pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49aS5jb21tb25BbmNlc3RvckNvbnRhaW5lcjtuLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUmJihuPW4ucGFyZW50RWxlbWVudCk7bGV0IGQ9bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b20tby5ib3R0b208NTtpZihuLnRleHRDb250ZW50JiYhbi50ZXh0Q29udGVudC5pbmNsdWRlcyhgCmApKXtsZXQgYz10LnRleHRDb250ZW50Py5sZW5ndGh8fDA7cmV0dXJuIHN0LmdldEN1cnNvclBvc2l0aW9uSW5FbGVtZW50KHQsLi4ucik9PT1jfXJldHVybiBkfWNhdGNoKGkpe2NvbnNvbGUud2FybigiRXJyb3IgY2hlY2tpbmcgbGFzdCBsaW5lOiIsaSk7bGV0IG89dC50ZXh0Q29udGVudD8ubGVuZ3RofHwwO3JldHVybiBzdC5nZXRDdXJzb3JQb3NpdGlvbkluRWxlbWVudCh0LC4uLnIpPT09b319fX0pO3ZhciBHVyxubGE9ZigoKT0+e0RvKCk7Z20oKTtHVz1jbGFzc3tzdGF0aWN7cyh0aGlzLCJXeXNpd3lnRHJhZ0Ryb3BIYW5kbGVyIil9Y29tcG9uZW50O2RyYWdnZWRCbG9ja0lkPW51bGw7ZHJhZ092ZXJCbG9ja0lkPW51bGw7ZHJhZ092ZXJQb3NpdGlvbj1udWxsO2Ryb3BJbmRpY2F0b3I9bnVsbDtpbml0aWFsTW91c2VZPTA7aW5pdGlhbEJsb2NrWT0wO2RyYWdnZWRCbG9ja0VsZW1lbnQ9bnVsbDtkcmFnZ2VkQmxvY2tIZWlnaHQ9MDtkcmFnZ2VkQmxvY2tDb250ZW50SGVpZ2h0PTA7ZHJhZ2dlZEJsb2NrTWFyZ2luVG9wPTA7bGFzdFVwZGF0ZVRpbWU9MDt1cGRhdGVUaHJvdHRsZT04MDtjb25zdHJ1Y3RvcihlKXt0aGlzLmNvbXBvbmVudD1lfWdldCBkcmFnU3RhdGUoKXtyZXR1cm57ZHJhZ2dlZEJsb2NrSWQ6dGhpcy5kcmFnZ2VkQmxvY2tJZCxkcmFnT3ZlckJsb2NrSWQ6dGhpcy5kcmFnT3ZlckJsb2NrSWQsZHJhZ092ZXJQb3NpdGlvbjp0aGlzLmRyYWdPdmVyUG9zaXRpb259fWhhbmRsZURyYWdTdGFydChlLHQpe2lmKCFlLmRhdGFUcmFuc2ZlcilyZXR1cm47dGhpcy5kcmFnZ2VkQmxvY2tJZD10LmlkLGUuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQ9Im1vdmUiLGUuZGF0YVRyYW5zZmVyLnNldERhdGEoInRleHQvcGxhaW4iLHQuaWQpO2xldCByPW5ldyBJbWFnZTtpZihyLnNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQVVFQkFBQUFDd0FBQUFBQVFBQkFBQUNBa1FCQURzPSIsZS5kYXRhVHJhbnNmZXIuc2V0RHJhZ0ltYWdlKHIsMCwwKSx0aGlzLmluaXRpYWxNb3VzZVk9ZS5jbGllbnRZLHRoaXMuZHJhZ2dlZEJsb2NrRWxlbWVudD10aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3QuaWR9Il1gKSx0aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQpe2xldCBpPXRoaXMuZHJhZ2dlZEJsb2NrRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLmluaXRpYWxCbG9ja1k9aS50b3A7bGV0IG89dGhpcy5kcmFnZ2VkQmxvY2tFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKG8pe2xldCBuPW8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbD13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShvKTt0aGlzLmRyYWdnZWRCbG9ja01hcmdpblRvcD1wYXJzZUludChsLm1hcmdpblRvcCl8fDAsdGhpcy5kcmFnZ2VkQmxvY2tDb250ZW50SGVpZ2h0PW4uaGVpZ2h0fXRoaXMuZHJhZ2dlZEJsb2NrSGVpZ2h0PWkuaGVpZ2h0LGNvbnNvbGUubG9nKCJEcmFnIG1lYXN1cmVtZW50czoiLHt3cmFwcGVySGVpZ2h0OmkuaGVpZ2h0LG1hcmdpblRvcDp0aGlzLmRyYWdnZWRCbG9ja01hcmdpblRvcCxkcm9wSW5kaWNhdG9ySGVpZ2h0OnRoaXMuZHJhZ2dlZEJsb2NrSGVpZ2h0LGNvbnRlbnRIZWlnaHQ6dGhpcy5kcmFnZ2VkQmxvY2tDb250ZW50SGVpZ2h0LGJsb2NrSWQ6dC5pZH0pLHRoaXMuY3JlYXRlRHJvcEluZGljYXRvcigpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIix0aGlzLmhhbmRsZUdsb2JhbERyYWdPdmVyKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJkcmFnZW5kIix0aGlzLmhhbmRsZUdsb2JhbERyYWdFbmQpfXRoaXMuY29tcG9uZW50LmRyYWdnZWRCbG9ja0lkPXRoaXMuZHJhZ2dlZEJsb2NrSWQsc2V0VGltZW91dCgoKT0+e3RoaXMuZHJhZ2dlZEJsb2NrRWxlbWVudCYmdGhpcy5kcmFnZ2VkQmxvY2tFbGVtZW50LmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIiksdGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZiYmdGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZi5jbGFzc0xpc3QuYWRkKCJkcmFnZ2luZyIpfSwxMCl9aGFuZGxlRHJhZ0VuZCgpe3RoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYucXVlcnlTZWxlY3RvckFsbCgiLmJsb2NrLXdyYXBwZXIiKS5mb3JFYWNoKHQ9Pnt0LmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiwibW92ZS11cCIsIm1vdmUtZG93biIpLHQuc3R5bGUucmVtb3ZlUHJvcGVydHkoIi0tZHJhZy1vZmZzZXQiKSx0LnN0eWxlLnJlbW92ZVByb3BlcnR5KCJ0cmFuc2Zvcm0iKX0pLHRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYmJnRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZ2dpbmciKSx0aGlzLmRyYWdnZWRCbG9ja0lkPW51bGwsdGhpcy5kcmFnT3ZlckJsb2NrSWQ9bnVsbCx0aGlzLmRyYWdPdmVyUG9zaXRpb249bnVsbCx0aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQ9bnVsbCx0aGlzLmRyYWdnZWRCbG9ja0hlaWdodD0wLHRoaXMuZHJhZ2dlZEJsb2NrQ29udGVudEhlaWdodD0wLHRoaXMuZHJhZ2dlZEJsb2NrTWFyZ2luVG9wPTAsdGhpcy5pbml0aWFsQmxvY2tZPTAsdGhpcy5jb21wb25lbnQuZHJhZ2dlZEJsb2NrSWQ9bnVsbCx0aGlzLmNvbXBvbmVudC5kcmFnT3ZlckJsb2NrSWQ9bnVsbCx0aGlzLmNvbXBvbmVudC5kcmFnT3ZlclBvc2l0aW9uPW51bGx9aGFuZGxlRHJhZ092ZXIoZSx0KXtpZihlLnByZXZlbnREZWZhdWx0KCksIWUuZGF0YVRyYW5zZmVyfHwhdGhpcy5kcmFnZ2VkQmxvY2tJZHx8dGhpcy5kcmFnZ2VkQmxvY2tJZD09PXQuaWQpcmV0dXJuO2UuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Q9Im1vdmUiO2xldCByPWUuY3VycmVudFRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPXIudG9wK3IuaGVpZ2h0LzI7dGhpcy5kcmFnT3ZlckJsb2NrSWQ9dC5pZCx0aGlzLmRyYWdPdmVyUG9zaXRpb249ZS5jbGllbnRZPGk/ImJlZm9yZSI6ImFmdGVyIix0aGlzLmNvbXBvbmVudC5kcmFnT3ZlckJsb2NrSWQ9dGhpcy5kcmFnT3ZlckJsb2NrSWQsdGhpcy5jb21wb25lbnQuZHJhZ092ZXJQb3NpdGlvbj10aGlzLmRyYWdPdmVyUG9zaXRpb259aGFuZGxlRHJhZ0xlYXZlKGUpe3RoaXMuZHJhZ092ZXJCbG9ja0lkPT09ZS5pZCYmKHRoaXMuZHJhZ092ZXJCbG9ja0lkPW51bGwsdGhpcy5kcmFnT3ZlclBvc2l0aW9uPW51bGwsdGhpcy5jb21wb25lbnQuZHJhZ092ZXJCbG9ja0lkPW51bGwsdGhpcy5jb21wb25lbnQuZHJhZ092ZXJQb3NpdGlvbj1udWxsKX1oYW5kbGVEcm9wKGUsdCl7ZS5wcmV2ZW50RGVmYXVsdCgpLCEoIXRoaXMuZHJhZ2dlZEJsb2NrSWR8fHRoaXMuZHJhZ2dlZEJsb2NrSWQ9PT10LmlkKSYmdGhpcy5jb21wb25lbnQuaGFuZGxlRHJvcChlLHQpfWlzRHJhZ2dpbmcoZSl7cmV0dXJuIHRoaXMuZHJhZ2dlZEJsb2NrSWQ9PT1lfWlzRHJhZ092ZXIoZSl7cmV0dXJuIHRoaXMuZHJhZ092ZXJCbG9ja0lkPT09ZX1nZXREcmFnT3ZlckNsYXNzZXMoZSl7cmV0dXJuIHRoaXMuaXNEcmFnT3ZlcihlKT90aGlzLmRyYWdPdmVyUG9zaXRpb249PT0iYmVmb3JlIj8iZHJhZy1vdmVyLWJlZm9yZSI6ImRyYWctb3Zlci1hZnRlciI6IiJ9Y3JlYXRlRHJvcEluZGljYXRvcigpe3RoaXMuZHJvcEluZGljYXRvcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLmRyb3BJbmRpY2F0b3IuY2xhc3NOYW1lPSJkcm9wLWluZGljYXRvciIsdGhpcy5kcm9wSW5kaWNhdG9yLnN0eWxlLmRpc3BsYXk9Im5vbmUiLHRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYuYXBwZW5kQ2hpbGQodGhpcy5kcm9wSW5kaWNhdG9yKX1oYW5kbGVHbG9iYWxEcmFnT3Zlcj1zKGU9PntpZihlLnByZXZlbnREZWZhdWx0KCksIXRoaXMuZHJhZ2dlZEJsb2NrRWxlbWVudClyZXR1cm47bGV0IHQ9ZS5jbGllbnRZLXRoaXMuaW5pdGlhbE1vdXNlWTt0aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGVZKCR7dH1weClgO2xldCByPURhdGUubm93KCk7ci10aGlzLmxhc3RVcGRhdGVUaW1lPHRoaXMudXBkYXRlVGhyb3R0bGV8fCh0aGlzLmxhc3RVcGRhdGVUaW1lPXIsdGhpcy51cGRhdGVCbG9ja1Bvc2l0aW9ucyhlLmNsaWVudFkpKX0sImhhbmRsZUdsb2JhbERyYWdPdmVyIik7dXBkYXRlQmxvY2tQb3NpdGlvbnMoZSl7bGV0IHQ9QXJyYXkuZnJvbSh0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLnF1ZXJ5U2VsZWN0b3JBbGwoIi5ibG9jay13cmFwcGVyIikpLHI9dC5maW5kSW5kZXgobz0+by5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKT09PXRoaXMuZHJhZ2dlZEJsb2NrSWQpO2lmKHI9PT0tMSlyZXR1cm47dC5mb3JFYWNoKG89PntvLmdldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIpIT09dGhpcy5kcmFnZ2VkQmxvY2tJZCYmKG8uY2xhc3NMaXN0LnJlbW92ZSgibW92ZS11cCIsIm1vdmUtZG93biIpLG8uc3R5bGUucmVtb3ZlUHJvcGVydHkoIi0tZHJhZy1vZmZzZXQiKSl9KTtsZXQgaT10Lmxlbmd0aDtmb3IobGV0IG89MDtvPHQubGVuZ3RoO28rKyl7aWYobz09PXIpY29udGludWU7bGV0IGw9dFtvXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxkPWwudG9wO2lmKGU8ZCtsLmhlaWdodCouNSl7aT1vO2JyZWFrfX1mb3IobGV0IG89MDtvPHQubGVuZ3RoO28rKyl7aWYobz09PXIpY29udGludWU7bGV0IG49dFtvXTtyPGk/bz5yJiZvPGkmJihuLmNsYXNzTGlzdC5hZGQoIm1vdmUtdXAiKSxuLnN0eWxlLnNldFByb3BlcnR5KCItLWRyYWctb2Zmc2V0IixgJHt0aGlzLmRyYWdnZWRCbG9ja0hlaWdodH1weGApKTpyPmkmJm8+PWkmJm88ciYmKG4uY2xhc3NMaXN0LmFkZCgibW92ZS1kb3duIiksbi5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1kcmFnLW9mZnNldCIsYCR7dGhpcy5kcmFnZ2VkQmxvY2tIZWlnaHR9cHhgKSl9dGhpcy51cGRhdGVEcm9wSW5kaWNhdG9yKHQsaSxyKX11cGRhdGVEcm9wSW5kaWNhdG9yKGUsdCxyKXtpZighdGhpcy5kcm9wSW5kaWNhdG9yfHwhdGhpcy5kcmFnZ2VkQmxvY2tFbGVtZW50KXJldHVybjt0aGlzLmRyb3BJbmRpY2F0b3Iuc3R5bGUuZGlzcGxheT0iYmxvY2siO2xldCBpPXRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbz0wLG49W107Zm9yKGxldCBjPTA7YzxlLmxlbmd0aDtjKyspe2lmKGM9PT1yKWNvbnRpbnVlO2xldCBwPWVbY10sdT1wLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG09dS50b3AtaS50b3Asdj11LmJvdHRvbS1pLnRvcCx4PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHApLnRyYW5zZm9ybTtpZih4JiZ4IT09Im5vbmUiKXtsZXQgZz1uZXcgRE9NTWF0cml4KHgpLm00MjttKz1nLHYrPWd9bi5wdXNoKHtpbmRleDpjLHRvcDptLGJvdHRvbTp2fSl9bi5zb3J0KChjLHApPT5jLnRvcC1wLnRvcCk7bGV0IGw9dDt0PnImJmwtLTtsZXQgZD0xNjtpZih0aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQpe2xldCBjPXRoaXMuY29tcG9uZW50LmJsb2Nrcy5maW5kKHA9PnAuaWQ9PT10aGlzLmRyYWdnZWRCbG9ja0lkKTtpZihjKXtsZXQgcD1jLnR5cGU7cD09PSJoZWFkaW5nLTEifHxwPT09ImhlYWRpbmctMiJ8fHA9PT0iaGVhZGluZy0zIj9kPTI0OihwPT09ImNvZGUifHxwPT09InF1b3RlIikmJihkPTIwKX19aWYobD09PTApbz0wO2Vsc2UgaWYobD49bi5sZW5ndGgpe2xldCBjPW5bbi5sZW5ndGgtMV07YyYmKG89Yy5ib3R0b20sbys9ZCl9ZWxzZXtsZXQgYz1uW2wtMV07YyYmKG89Yy5ib3R0b20sbys9ZCl9dGhpcy5kcm9wSW5kaWNhdG9yLnN0eWxlLmhlaWdodD1gJHt0aGlzLmRyYWdnZWRCbG9ja0hlaWdodH1weGAsdGhpcy5kcm9wSW5kaWNhdG9yLnN0eWxlLnRvcD1gJHtNYXRoLm1heCgwLG8pfXB4YCxjb25zb2xlLmxvZygiRHJvcCBpbmRpY2F0b3IgdXBkYXRlOiIse3RhcmdldEluZGV4OnQsYWRqdXN0ZWRUYXJnZXRJbmRleDpsLGRyYWdnZWRJbmRleDpyLHRvcFBvc2l0aW9uOm8saGVpZ2h0OnRoaXMuZHJhZ2dlZEJsb2NrSGVpZ2h0LGJsb2NrTWFyZ2luOmQsdmlzdWFsQmxvY2tzOm4ubWFwKGM9Pih7aW5kZXg6Yy5pbmRleCx0b3A6Yy50b3AsYm90dG9tOmMuYm90dG9tfSkpfSl9aGFuZGxlR2xvYmFsRHJhZ0VuZD1zKCgpPT57ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLHRoaXMuaGFuZGxlR2xvYmFsRHJhZ092ZXIpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImRyYWdlbmQiLHRoaXMuaGFuZGxlR2xvYmFsRHJhZ0VuZCksdGhpcy5kcm9wSW5kaWNhdG9yJiYodGhpcy5kcm9wSW5kaWNhdG9yLnJlbW92ZSgpLHRoaXMuZHJvcEluZGljYXRvcj1udWxsKSx0aGlzLmRyYWdnZWRCbG9ja0lkP3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMucGVyZm9ybURyb3AoKSx0aGlzLmhhbmRsZURyYWdFbmQoKX0pOnRoaXMuaGFuZGxlRHJhZ0VuZCgpfSwiaGFuZGxlR2xvYmFsRHJhZ0VuZCIpO3BlcmZvcm1Ecm9wKCl7aWYoIXRoaXMuZHJhZ2dlZEJsb2NrSWQpcmV0dXJuO2xldCBlPUFycmF5LmZyb20odGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yQWxsKCIuYmxvY2std3JhcHBlciIpKTtpZighZS5maW5kKHA9PnAuZ2V0QXR0cmlidXRlKCJkYXRhLWJsb2NrLWlkIik9PT10aGlzLmRyYWdnZWRCbG9ja0lkKSlyZXR1cm47bGV0IHI9ZS5tYXAocD0+e2xldCB1PXAuZ2V0QXR0cmlidXRlKCJkYXRhLWJsb2NrLWlkIiksbT1wLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHY9bS50b3ArbS5oZWlnaHQvMjtyZXR1cm57aWQ6dSxjZW50ZXJZOnYsZWxlbWVudDpwfX0pO3Iuc29ydCgocCx1KT0+cC5jZW50ZXJZLXUuY2VudGVyWSk7bGV0IGk9ci5tYXAocD0+cC5pZCkuZmlsdGVyKHA9PnAhPT1udWxsKSxvPVsuLi50aGlzLmNvbXBvbmVudC5ibG9ja3NdLG49by5maW5kKHA9PnAuaWQ9PT10aGlzLmRyYWdnZWRCbG9ja0lkKTtpZighbilyZXR1cm47bGV0IGw9by5tYXAocD0+cC5pZCk7aWYoISFpLmV2ZXJ5KChwLHUpPT5wPT09bFt1XSkpcmV0dXJuO2xldCBjPWkubWFwKHA9Pm8uZmluZCh1PT51LmlkPT09cCkpLmZpbHRlcihCb29sZWFuKTt0aGlzLmNvbXBvbmVudC5ibG9ja3M9Yyx0aGlzLmNvbXBvbmVudC5yZW5kZXJCbG9ja3NQcm9ncmFtbWF0aWNhbGx5KCksdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKSxzZXRUaW1lb3V0KCgpPT57bi50eXBlIT09ImRpdmlkZXIiJiZ0aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnMuZm9jdXNCbG9jayhuLmlkKX0sMTAwKX19fSk7dmFyIFlXLGxsYT1mKCgpPT57RG8oKTtZVz1jbGFzc3tzdGF0aWN7cyh0aGlzLCJXeXNpd3lnSGlzdG9yeSIpfWhpc3Rvcnk9W107Y3VycmVudEluZGV4PS0xO21heEhpc3RvcnlTaXplPTUwO2xhc3RTYXZlVGltZT0wO3NhdmVEZWJvdW5jZU1zPTUwMDtjb25zdHJ1Y3Rvcigpe3RoaXMuaGlzdG9yeT1bXSx0aGlzLmN1cnJlbnRJbmRleD0tMX1zYXZlU3RhdGUoZSx0LHIpe2xldCBpPURhdGUubm93KCk7aWYoaS10aGlzLmxhc3RTYXZlVGltZTx0aGlzLnNhdmVEZWJvdW5jZU1zJiZ0aGlzLmN1cnJlbnRJbmRleD49MCl7dGhpcy5oaXN0b3J5W3RoaXMuY3VycmVudEluZGV4XT17YmxvY2tzOnRoaXMuY2xvbmVCbG9ja3MoZSksc2VsZWN0ZWRCbG9ja0lkOnQsY3Vyc29yUG9zaXRpb246cj97Li4ucn06dm9pZCAwLHRpbWVzdGFtcDppfTtyZXR1cm59dGhpcy5jdXJyZW50SW5kZXg8dGhpcy5oaXN0b3J5Lmxlbmd0aC0xJiYodGhpcy5oaXN0b3J5PXRoaXMuaGlzdG9yeS5zbGljZSgwLHRoaXMuY3VycmVudEluZGV4KzEpKTtsZXQgbz17YmxvY2tzOnRoaXMuY2xvbmVCbG9ja3MoZSksc2VsZWN0ZWRCbG9ja0lkOnQsY3Vyc29yUG9zaXRpb246cj97Li4ucn06dm9pZCAwLHRpbWVzdGFtcDppfTt0aGlzLmhpc3RvcnkucHVzaChvKSx0aGlzLmN1cnJlbnRJbmRleCsrLHRoaXMuaGlzdG9yeS5sZW5ndGg+dGhpcy5tYXhIaXN0b3J5U2l6ZSYmKHRoaXMuaGlzdG9yeS5zaGlmdCgpLHRoaXMuY3VycmVudEluZGV4LS0pLHRoaXMubGFzdFNhdmVUaW1lPWl9c2F2ZUNoZWNrcG9pbnQoZSx0LHIpe3RoaXMubGFzdFNhdmVUaW1lPTAsdGhpcy5zYXZlU3RhdGUoZSx0LHIpfXVuZG8oKXtyZXR1cm4gdGhpcy5jYW5VbmRvKCk/KHRoaXMuY3VycmVudEluZGV4LS0sdGhpcy5jbG9uZVN0YXRlKHRoaXMuaGlzdG9yeVt0aGlzLmN1cnJlbnRJbmRleF0pKTpudWxsfXJlZG8oKXtyZXR1cm4gdGhpcy5jYW5SZWRvKCk/KHRoaXMuY3VycmVudEluZGV4KyssdGhpcy5jbG9uZVN0YXRlKHRoaXMuaGlzdG9yeVt0aGlzLmN1cnJlbnRJbmRleF0pKTpudWxsfWNhblVuZG8oKXtyZXR1cm4gdGhpcy5jdXJyZW50SW5kZXg+MH1jYW5SZWRvKCl7cmV0dXJuIHRoaXMuY3VycmVudEluZGV4PHRoaXMuaGlzdG9yeS5sZW5ndGgtMX1nZXRDdXJyZW50U3RhdGUoKXtyZXR1cm4gdGhpcy5jdXJyZW50SW5kZXg+PTAmJnRoaXMuY3VycmVudEluZGV4PHRoaXMuaGlzdG9yeS5sZW5ndGg/dGhpcy5jbG9uZVN0YXRlKHRoaXMuaGlzdG9yeVt0aGlzLmN1cnJlbnRJbmRleF0pOm51bGx9Y2xlYXIoKXt0aGlzLmhpc3Rvcnk9W10sdGhpcy5jdXJyZW50SW5kZXg9LTEsdGhpcy5sYXN0U2F2ZVRpbWU9MH1jbG9uZUJsb2NrcyhlKXtyZXR1cm4gZS5tYXAodD0+KHsuLi50LG1ldGFkYXRhOnQubWV0YWRhdGE/ey4uLnQubWV0YWRhdGF9OnZvaWQgMH0pKX1jbG9uZVN0YXRlKGUpe3JldHVybntibG9ja3M6dGhpcy5jbG9uZUJsb2NrcyhlLmJsb2Nrcyksc2VsZWN0ZWRCbG9ja0lkOmUuc2VsZWN0ZWRCbG9ja0lkLGN1cnNvclBvc2l0aW9uOmUuY3Vyc29yUG9zaXRpb24/ey4uLmUuY3Vyc29yUG9zaXRpb259OnZvaWQgMCx0aW1lc3RhbXA6ZS50aW1lc3RhbXB9fWdldEhpc3RvcnlJbmZvKCl7cmV0dXJue3NpemU6dGhpcy5oaXN0b3J5Lmxlbmd0aCxjdXJyZW50SW5kZXg6dGhpcy5jdXJyZW50SW5kZXgsY2FuVW5kbzp0aGlzLmNhblVuZG8oKSxjYW5SZWRvOnRoaXMuY2FuUmVkbygpfX19fSk7dmFyIEtXLCRjLGNsYSxkbGE9ZigoKT0+e2xlKCk7RG8oKTt4YygpO0cyKCk7YVFlKCk7clFlKCk7RmYoKTtacigpO1FlKCk7S1c9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LCRjPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxjbGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXd5c2l3eWctYmxvY2siKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1d5c2l3eWdCbG9jayIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBrPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6Qm9vbGVhbn0pXSx1PVskKHt0eXBlOk9iamVjdH0pXSx4PVskKHt0eXBlOk9iamVjdH0pXSxLVyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJsb2NrIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJibG9jayJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmJsb2NrLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuYmxvY2s9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxuLGwpLEtXKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNTZWxlY3RlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iaXNTZWxlY3RlZCJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmlzU2VsZWN0ZWQsImdldCIpLHNldDpzKChDLE4pPT57Qy5pc1NlbGVjdGVkPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYyxwKSxLVyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhhbmRsZXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJoYW5kbGVycyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmhhbmRsZXJzLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuaGFuZGxlcnM9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxtLHYpLEtXKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToid3lzaXd5Z0NvbXBvbmVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4id3lzaXd5Z0NvbXBvbmVudCJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnd5c2l3eWdDb21wb25lbnQsImdldCIpLHNldDpzKChDLE4pPT57Qy53eXNpd3lnQ29tcG9uZW50PU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYixnKSxLVyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTprfSxudWxsLHQpLHk9cj1lLnZhbHVlLGsmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6a30pfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLl9zZWxlY3Rpb25IYW5kbGVyJiZkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLHRoaXMuX3NlbGVjdGlvbkhhbmRsZXIpfSNlPSRjKHRoaXMsbix2b2lkIDApO2dldCBibG9jaygpe3JldHVybiB0aGlzLiNlfXNldCBibG9jayhrKXt0aGlzLiNlPWt9I3Q9KCRjKHRoaXMsbCksJGModGhpcyxjLCExKSk7Z2V0IGlzU2VsZWN0ZWQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgaXNTZWxlY3RlZChrKXt0aGlzLiN0PWt9I2E9KCRjKHRoaXMscCksJGModGhpcyxtLHZvaWQgMCkpO2dldCBoYW5kbGVycygpe3JldHVybiB0aGlzLiNhfXNldCBoYW5kbGVycyhrKXt0aGlzLiNhPWt9I3I9KCRjKHRoaXMsdiksJGModGhpcyxiLHZvaWQgMCkpO2dldCB3eXNpd3lnQ29tcG9uZW50KCl7cmV0dXJuIHRoaXMuI3J9c2V0IHd5c2l3eWdDb21wb25lbnQoayl7dGhpcy4jcj1rfWJsb2NrRWxlbWVudD0oJGModGhpcyxnKSxudWxsKTtjb250ZW50SW5pdGlhbGl6ZWQ9ITE7bGFzdEtub3duQ3Vyc29yUG9zaXRpb249MDtsYXN0U2VsZWN0ZWRUZXh0PSIiO2hhbmRsZXJTdHlsZXNJbmplY3RlZD0hMTtzdGF0aWMgTk9OX0VESVRBQkxFX1RZUEVTPVsiaW1hZ2UiLCJkaXZpZGVyIiwieW91dHViZSJdO2luamVjdEhhbmRsZXJTdHlsZXMoKXtpZih0aGlzLmhhbmRsZXJTdHlsZXNJbmplY3RlZClyZXR1cm47dGhpcy5oYW5kbGVyU3R5bGVzSW5qZWN0ZWQ9ITA7bGV0IGs9IiIsQz1qYS5nZXRBbGxUeXBlcygpO2ZvcihsZXQgTiBvZiBDKXtsZXQgXz1qYS5nZXRIYW5kbGVyKE4pO18mJihrKz1fLmdldFN0eWxlcygpKX1pZihrKXtsZXQgTj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO04udGV4dENvbnRlbnQ9ayx0aGlzLnNoYWRvd1Jvb3Q/LmFwcGVuZENoaWxkKE4pfX1zdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuYmxvY2sgewogICAgICAgIHBhZGRpbmc6IDRweCAwOwogICAgICAgIG1pbi1oZWlnaHQ6IDEuNmVtOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZTBlMGUwIil9OwogICAgICB9CgogICAgICAuYmxvY2s6ZW1wdHk6bm90KDpmb2N1cyk6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogYXR0cihkYXRhLXBsYWNlaG9sZGVyKTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5OTkiLCIjNjY2Iil9OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLyogQmxvY2stc3BlY2lmaWMgc3R5bGVzIG1vdmVkIHRvIGhhbmRsZXJzICovCgoKICAgICAgLyogRm9ybWF0dGluZyBzdHlsZXMgKi8KICAgICAgLmJsb2NrIDppcyhiLCBzdHJvbmcpIHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMDAwMCIsIiNmZmZmZmYiKX07CiAgICAgIH0KCiAgICAgIC5ibG9jayA6aXMoaSwgZW0pIHsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KCiAgICAgIC5ibG9jayB1IHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQoKICAgICAgLmJsb2NrIHMgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOwogICAgICB9CgogICAgICAuYmxvY2sgY29kZSB7CiAgICAgICAgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgJ01vbmFjbycsICdJbmNvbnNvbGF0YScsICdGaXJhIENvZGUnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAwLjllbTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA2KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkMTQiLCIjZmY2YjZiIil9OwogICAgICB9CgogICAgICAuYmxvY2sgYSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDA2NmNjIiwiIzRkOTRmZiIpfTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLmJsb2NrIGE6aG92ZXIgewogICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR7aC5iZFRoZW1lKCIjMDA2NmNjIiwiIzRkOTRmZiIpfTsKICAgICAgfQoKICAgICAgLyogQ29kZSBibG9jayBjb250YWluZXIgYW5kIGxhbmd1YWdlIHN0eWxlcyBtb3ZlZCB0byBoYW5kbGVyICovCgogICAgICAvKiBTZWxlY3Rpb24gc3R5bGVzICovCiAgICAgIC5ibG9jayA6OnNlbGVjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMTAyLCAyMDQsIDAuMykiLCJyZ2JhKDc3LCAxNDgsIDI1NSwgMC4zKSIpfTsKICAgICAgICBjb2xvcjogaW5oZXJpdDsKICAgICAgfQoKCiAgICAgIC8qIFN0cmlrZSB0aHJvdWdoICovCiAgICAgIC5ibG9jayA6aXMocywgc3RyaWtlKSB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgoKICAgICAgLyogQmxvY2sgbWFyZ2luIGFkanVzdG1lbnRzIGJhc2VkIG9uIHR5cGUgKi8KICAgICAgOmhvc3QtY29udGV4dCguYmxvY2std3JhcHBlcjpmaXJzdC1jaGlsZCkgLmJsb2NrIHsKICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIDpob3N0LWNvbnRleHQoLmJsb2NrLXdyYXBwZXI6bGFzdC1jaGlsZCkgLmJsb2NrIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAvKiBTZWxlY3RlZCBzdGF0ZSAqLwogICAgICAuYmxvY2suc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDEwMiwgMjA0LCAwLjA1KSIsInJnYmEoNzcsIDE0OCwgMjU1LCAwLjA4KSIpfTsKICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggJHtoLmJkVGhlbWUoInJnYmEoMCwgMTAyLCAyMDQsIDAuMikiLCJyZ2JhKDc3LCAxNDgsIDI1NSwgMC4yKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtOHB4OwogICAgICAgIHBhZGRpbmctbGVmdDogOHB4OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDsKICAgICAgfQoKCgoKICAgIGBdO3Nob3VsZFVwZGF0ZShrKXtpZihrLmhhcygiaXNTZWxlY3RlZCIpJiZ0aGlzLmJsb2NrKXtsZXQgQz1udWxsLF89YC5ibG9jay4ke3RoaXMuYmxvY2sudHlwZX1gO3JldHVybiBDPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihfKSxDJiYodGhpcy5pc1NlbGVjdGVkP0MuY2xhc3NMaXN0LmFkZCgic2VsZWN0ZWQiKTpDLmNsYXNzTGlzdC5yZW1vdmUoInNlbGVjdGVkIikpLCExfWlmKGsuaGFzKCJibG9jayIpJiZ0aGlzLmJsb2NrKXtsZXQgQz1rLmdldCgiYmxvY2siKTtpZihDJiZDLmlkJiZDLnR5cGUmJkMuaWQ9PT10aGlzLmJsb2NrLmlkJiZDLnR5cGU9PT10aGlzLmJsb2NrLnR5cGUpcmV0dXJuITF9cmV0dXJuIXRoaXMuYmxvY2tFbGVtZW50fHx0aGlzLmJsb2NrPy50eXBlIT09dGhpcy5ibG9ja0VsZW1lbnQuZGF0YXNldC5ibG9ja1R5cGV9Zmlyc3RVcGRhdGVkKCl7dGhpcy5jb250ZW50SW5pdGlhbGl6ZWQ9ITAsdGhpcy5pbmplY3RIYW5kbGVyU3R5bGVzKCk7bGV0IGs9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIud3lzaXd5Zy1ibG9jay1jb250YWluZXIiKTtpZihrJiZ0aGlzLmJsb2NrJiYoay5pbm5lckhUTUw9dGhpcy5yZW5kZXJCbG9ja0NvbnRlbnQoKSksdGhpcy5ibG9jayl7bGV0IE49amEuZ2V0SGFuZGxlcih0aGlzLmJsb2NrLnR5cGUpO2lmKE4pe2xldCBfPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIik7XyYmTi5zZXR1cChfLHRoaXMuYmxvY2ssdGhpcy5oYW5kbGVycyk7cmV0dXJufX1sZXQgQz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKEMpe0Muc2V0QXR0cmlidXRlKCJkYXRhLWJsb2NrLWlkIix0aGlzLmJsb2NrLmlkKSxDLnNldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay10eXBlIix0aGlzLmJsb2NrLnR5cGUpLEMuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLF89Pnt0aGlzLmhhbmRsZXJzPy5vbklucHV0Py4oXyk7bGV0IHo9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihDKTt6IT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249eil9KSxDLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLF89PntsZXQgej10aGlzLmdldEN1cnNvclBvc2l0aW9uKEMpO3ohPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj16KSx0aGlzLmhhbmRsZXJzPy5vbktleURvd24/LihfKX0pLEMuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT57dGhpcy5oYW5kbGVycz8ub25Gb2N1cz8uKCl9KSxDLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57dGhpcy5oYW5kbGVycz8ub25CbHVyPy4oKX0pLEMuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25zdGFydCIsKCk9Pnt0aGlzLmhhbmRsZXJzPy5vbkNvbXBvc2l0aW9uU3RhcnQ/LigpfSksQy5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbmVuZCIsKCk9Pnt0aGlzLmhhbmRsZXJzPy5vbkNvbXBvc2l0aW9uRW5kPy4oKX0pLEMuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsXz0+e2xldCB6PXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oQyk7eiE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPXopLHRoaXMuaGFuZGxlcnM/Lm9uTW91c2VVcD8uKF8pfSksQy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntzZXRUaW1lb3V0KCgpPT57bGV0IF89dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihDKTtfIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249Xyl9LDApfSk7bGV0IE49cygoKT0+e2xldCBfPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighX3x8Xy5yYW5nZUNvdW50PT09MClyZXR1cm47bGV0IHo9Xy50b1N0cmluZygpO2lmKHoubGVuZ3RoPT09MCl7dGhpcy5sYXN0U2VsZWN0ZWRUZXh0JiYodGhpcy5sYXN0U2VsZWN0ZWRUZXh0PSIiLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImJsb2NrLXRleHQtc2VsZWN0ZWQiLHtkZXRhaWw6e3RleHQ6IiIsYmxvY2tJZDp0aGlzLmJsb2NrLmlkLGhhc1NlbGVjdGlvbjohMX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSk7cmV0dXJufWxldCBPPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYoIU8pcmV0dXJuO2xldCBFPXRoaXMuY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIik/LnNoYWRvd1Jvb3QsQj1bXTtFJiZCLnB1c2goRSksdGhpcy5zaGFkb3dSb290JiZCLnB1c2godGhpcy5zaGFkb3dSb290KTtsZXQgTT1zdC5nZXRTZWxlY3Rpb25JbmZvKC4uLkIpO2lmKCFNKXJldHVybjtsZXQgUz1zdC5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShPLE0uc3RhcnRDb250YWluZXIpLFA9c3QuY29udGFpbnNBY3Jvc3NTaGFkb3dET00oTyxNLmVuZENvbnRhaW5lcik7aWYoU3x8UCl7aWYoeiE9PXRoaXMubGFzdFNlbGVjdGVkVGV4dCl7dGhpcy5sYXN0U2VsZWN0ZWRUZXh0PXo7bGV0IEE9c3QuY3JlYXRlUmFuZ2VGcm9tSW5mbyhNKSxGPUEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYmxvY2stdGV4dC1zZWxlY3RlZCIse2RldGFpbDp7dGV4dDp6LnRyaW0oKSxibG9ja0lkOnRoaXMuYmxvY2suaWQscmFuZ2U6QSxyZWN0OkYsaGFzU2VsZWN0aW9uOiEwfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfX1lbHNlIHRoaXMubGFzdFNlbGVjdGVkVGV4dCYmKHRoaXMubGFzdFNlbGVjdGVkVGV4dD0iIix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJibG9jay10ZXh0LXNlbGVjdGVkIix7ZGV0YWlsOnt0ZXh0OiIiLGJsb2NrSWQ6dGhpcy5ibG9jay5pZCxoYXNTZWxlY3Rpb246ITF9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSkpfSwiY2hlY2tTZWxlY3Rpb24iKTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLE4pLHRoaXMuX3NlbGVjdGlvbkhhbmRsZXI9TixDLmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIiwoKT0+e2xldCBfPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oQyk7XyE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPV8pfSksdGhpcy5ibG9jay5jb250ZW50JiYoQy5pbm5lckhUTUw9dGhpcy5ibG9jay5jb250ZW50KX10aGlzLmJsb2NrRWxlbWVudD1DfXJlbmRlcigpe3JldHVybiB0aGlzLmJsb2NrP1hsYDxkaXYgY2xhc3M9Ind5c2l3eWctYmxvY2stY29udGFpbmVyIj48L2Rpdj5gOlhsYGB9cmVuZGVyQmxvY2tDb250ZW50KCl7aWYoIXRoaXMuYmxvY2spcmV0dXJuIiI7bGV0IGs9amEuZ2V0SGFuZGxlcih0aGlzLmJsb2NrLnR5cGUpO2lmKGspcmV0dXJuIGsucmVuZGVyKHRoaXMuYmxvY2ssdGhpcy5pc1NlbGVjdGVkKTtsZXQgQz10aGlzLmlzU2VsZWN0ZWQ/IiBzZWxlY3RlZCI6IiI7cmV0dXJuYAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImJsb2NrICR7dGhpcy5ibG9jay50eXBlfSR7Q30iCiAgICAgICAgY29udGVudGVkaXRhYmxlPSJ0cnVlIgogICAgICA+PC9kaXY+CiAgICBgfWZvY3VzKCl7bGV0IGs9amEuZ2V0SGFuZGxlcih0aGlzLmJsb2NrLnR5cGUpO2lmKGsmJmsuZm9jdXMpe2xldCBOPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIiksXz17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiBrLmZvY3VzKE4sXyl9aWYodGhpcy5ibG9jayYmeS5OT05fRURJVEFCTEVfVFlQRVMuaW5jbHVkZXModGhpcy5ibG9jay50eXBlKSl7bGV0IE49dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGAuYmxvY2suJHt0aGlzLmJsb2NrLnR5cGV9YCk7TiYmTi5mb2N1cygpO3JldHVybn1sZXQgQz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO0MmJihDLmhhc0F0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIil8fEMuc2V0QXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiLCJ0cnVlIiksQy5mb2N1cygpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1DJiZ0aGlzLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQhPT1DJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57Qy5mb2N1cygpfSkpfWZvY3VzV2l0aEN1cnNvcihrPSJlbmQiKXtsZXQgQz1qYS5nZXRIYW5kbGVyKHRoaXMuYmxvY2sudHlwZSk7aWYoQyYmQy5mb2N1c1dpdGhDdXJzb3Ipe2xldCB6PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIiksTz17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiBDLmZvY3VzV2l0aEN1cnNvcih6LGssTyl9aWYodGhpcy5ibG9jayYmeS5OT05fRURJVEFCTEVfVFlQRVMuaW5jbHVkZXModGhpcy5ibG9jay50eXBlKSl7dGhpcy5mb2N1cygpO3JldHVybn1sZXQgTj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFOKXJldHVybjtOLmhhc0F0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIil8fE4uc2V0QXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiLCJ0cnVlIiksTi5mb2N1cygpO2xldCBfPXMoKCk9PntrPT09InN0YXJ0Ij90aGlzLnNldEN1cnNvclRvU3RhcnQoKTprPT09ImVuZCI/dGhpcy5zZXRDdXJzb3JUb0VuZCgpOnR5cGVvZiBrPT0ibnVtYmVyIiYmc3Quc2V0Q3Vyc29yUG9zaXRpb24oTixrKX0sInNldEN1cnNvciIpO2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1OfHx0aGlzLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1OP18oKTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1OfHx0aGlzLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1OKSYmXygpfSl9Z2V0Q3Vyc29yUG9zaXRpb24oayl7bGV0IEM9amEuZ2V0SGFuZGxlcih0aGlzLmJsb2NrLnR5cGUpO2lmKEMmJkMuZ2V0Q3Vyc29yUG9zaXRpb24pe2xldCBCPXtzaGFkb3dSb290OnRoaXMuc2hhZG93Um9vdCxjb21wb25lbnQ6dGhpc307cmV0dXJuIEMuZ2V0Q3Vyc29yUG9zaXRpb24oayxCKX1sZXQgXz10aGlzLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LHo9W107XyYmei5wdXNoKF8pLHRoaXMuc2hhZG93Um9vdCYmei5wdXNoKHRoaXMuc2hhZG93Um9vdCk7bGV0IE89c3QuZ2V0U2VsZWN0aW9uSW5mbyguLi56KTtpZihjb25zb2xlLmxvZygiZ2V0Q3Vyc29yUG9zaXRpb246IFNlbGVjdGlvbiBpbmZvIGZyb20gc2hhZG93IERPTXM6Iix7c2VsZWN0aW9uSW5mbzpPLHNoYWRvd1Jvb3RzQ291bnQ6ei5sZW5ndGh9KSwhTylyZXR1cm4gY29uc29sZS5sb2coImdldEN1cnNvclBvc2l0aW9uOiBObyBzZWxlY3Rpb24gZm91bmQiKSxudWxsO2lmKGNvbnNvbGUubG9nKCJnZXRDdXJzb3JQb3NpdGlvbjogUmFuZ2UgaW5mbzoiLHtzdGFydENvbnRhaW5lcjpPLnN0YXJ0Q29udGFpbmVyLHN0YXJ0T2Zmc2V0Ok8uc3RhcnRPZmZzZXQsY29sbGFwc2VkOk8uY29sbGFwc2VkLHN0YXJ0Q29udGFpbmVyVGV4dDpPLnN0YXJ0Q29udGFpbmVyLnRleHRDb250ZW50fSksIWsuY29udGFpbnMoTy5zdGFydENvbnRhaW5lcikpcmV0dXJuIGNvbnNvbGUubG9nKCJnZXRDdXJzb3JQb3NpdGlvbjogUmFuZ2Ugbm90IGluIGVsZW1lbnQiKSxudWxsO2xldCBUPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7VC5zZWxlY3ROb2RlQ29udGVudHMoayksVC5zZXRFbmQoTy5zdGFydENvbnRhaW5lcixPLnN0YXJ0T2Zmc2V0KTtsZXQgRT1ULnRvU3RyaW5nKCkubGVuZ3RoO3JldHVybiBjb25zb2xlLmxvZygiZ2V0Q3Vyc29yUG9zaXRpb246IENhbGN1bGF0ZWQgcG9zaXRpb246Iix7cG9zaXRpb246RSxwcmVDYXJldFRleHQ6VC50b1N0cmluZygpLGVsZW1lbnRUZXh0OmsudGV4dENvbnRlbnQsZWxlbWVudFRleHRMZW5ndGg6ay50ZXh0Q29udGVudD8ubGVuZ3RofSksRX1nZXRDb250ZW50KCl7bGV0IGs9amEuZ2V0SGFuZGxlcih0aGlzLmJsb2NrLnR5cGUpO2lmKGsmJmsuZ2V0Q29udGVudCl7bGV0IF89dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIud3lzaXd5Zy1ibG9jay1jb250YWluZXIiKSx6PXtzaGFkb3dSb290OnRoaXMuc2hhZG93Um9vdCxjb21wb25lbnQ6dGhpc307cmV0dXJuIGsuZ2V0Q29udGVudChfLHopfWxldCBDPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYoIUMpcmV0dXJuIiI7bGV0IE49Qy5pbm5lckhUTUx8fCIiO3JldHVybiBjb25zb2xlLmxvZygiR2V0dGluZyBjb250ZW50IGZyb20gYmxvY2s6IixOKSxOfXNldENvbnRlbnQoayl7bGV0IEM9amEuZ2V0SGFuZGxlcih0aGlzLmJsb2NrLnR5cGUpO2lmKEMmJkMuc2V0Q29udGVudCl7bGV0IHo9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIud3lzaXd5Zy1ibG9jay1jb250YWluZXIiKSxPPXtzaGFkb3dSb290OnRoaXMuc2hhZG93Um9vdCxjb21wb25lbnQ6dGhpc307cmV0dXJuIEMuc2V0Q29udGVudCh6LGssTyl9bGV0IE49dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZighTilyZXR1cm47bGV0IF89ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PU58fHRoaXMuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PU47Ti5pbm5lckhUTUw9ayxfJiZOLmZvY3VzKCl9c2V0Q3Vyc29yVG9TdGFydCgpe2xldCBrPWphLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZihrJiZrLnNldEN1cnNvclRvU3RhcnQpe2xldCBOPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIiksXz17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiBrLnNldEN1cnNvclRvU3RhcnQoTixfKX1sZXQgQz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO0MmJmFpLnNldEN1cnNvclRvU3RhcnQoQyl9c2V0Q3Vyc29yVG9FbmQoKXtsZXQgaz1qYS5nZXRIYW5kbGVyKHRoaXMuYmxvY2sudHlwZSk7aWYoayYmay5zZXRDdXJzb3JUb0VuZCl7bGV0IE49dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIud3lzaXd5Zy1ibG9jay1jb250YWluZXIiKSxfPXtzaGFkb3dSb290OnRoaXMuc2hhZG93Um9vdCxjb21wb25lbnQ6dGhpc307cmV0dXJuIGsuc2V0Q3Vyc29yVG9FbmQoTixfKX1sZXQgQz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO0MmJmFpLnNldEN1cnNvclRvRW5kKEMpfWdldENvbnRleHRNZW51SXRlbXMoKXtpZighdGhpcy5ibG9ja3x8dGhpcy5ibG9jay50eXBlPT09ImRpdmlkZXIiKXJldHVybltdO2xldCBrPUpyLmdldFNsYXNoTWVudUl0ZW1zKCksQz10aGlzLmJsb2NrLnR5cGUsTj10aGlzLnd5c2l3eWdDb21wb25lbnQsXz10aGlzLmJsb2NrLmlkLE89W3tuYW1lOiJDaGFuZ2UgVHlwZSIsaWNvbk5hbWU6InR5cGUiLHN1Ym1lbnU6ay5maWx0ZXIoVD0+VC50eXBlIT09QyYmVC50eXBlIT09ImRpdmlkZXIiKS5tYXAoVD0+KHtuYW1lOlQubGFiZWwsaWNvbk5hbWU6VC5pY29uLnJlcGxhY2UoImx1Y2lkZToiLCIiKSxhY3Rpb246cyhhc3luYygpPT57aWYoTiYmTi5ibG9ja09wZXJhdGlvbnMpe2xldCBFPU4uYmxvY2tzLmZpbmQoQj0+Qi5pZD09PV8pO0UmJihFLnR5cGU9VC50eXBlLEUuY29udGVudD1FLmNvbnRlbnR8fCIiLFQudHlwZT09PSJjb2RlIj9FLm1ldGFkYXRhPXtsYW5ndWFnZToidHlwZXNjcmlwdCJ9OlQudHlwZT09PSJsaXN0Ij9FLm1ldGFkYXRhPXtsaXN0VHlwZToiYnVsbGV0In06VC50eXBlPT09ImltYWdlIj8oRS5jb250ZW50PSIiLEUubWV0YWRhdGE9e3VybDoiIixsb2FkaW5nOiExfSk6VC50eXBlPT09InlvdXR1YmUiPyhFLmNvbnRlbnQ9IiIsRS5tZXRhZGF0YT17dmlkZW9JZDoiIix1cmw6IiJ9KTpULnR5cGU9PT0ibWFya2Rvd24iP0UubWV0YWRhdGE9e3Nob3dQcmV2aWV3OiExfTpULnR5cGU9PT0iaHRtbCI/RS5tZXRhZGF0YT17c2hvd1ByZXZpZXc6ITF9OlQudHlwZT09PSJhdHRhY2htZW50IiYmKEUuY29udGVudD0iIixFLm1ldGFkYXRhPXtmaWxlczpbXX0pLE4udXBkYXRlQmxvY2tFbGVtZW50KF8pLE4udXBkYXRlVmFsdWUoKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntOLmJsb2NrT3BlcmF0aW9ucy5mb2N1c0Jsb2NrKF8pfSkpfX0sImFjdGlvbiIpfSkpfV07cmV0dXJuWyJpbWFnZSIsImRpdmlkZXIiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdLmluY2x1ZGVzKHRoaXMuYmxvY2sudHlwZSl8fE8ucHVzaCh7ZGl2aWRlcjohMH0se25hbWU6IkN1dCIsaWNvbk5hbWU6InNjaXNzb3JzIixzaG9ydGN1dDoiQ21kK1giLGFjdGlvbjpzKGFzeW5jKCk9Pntkb2N1bWVudC5leGVjQ29tbWFuZCgiY3V0Iil9LCJhY3Rpb24iKX0se25hbWU6IkNvcHkiLGljb25OYW1lOiJjb3B5IixzaG9ydGN1dDoiQ21kK0MiLGFjdGlvbjpzKGFzeW5jKCk9Pntkb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpfSwiYWN0aW9uIil9LHtuYW1lOiJQYXN0ZSIsaWNvbk5hbWU6ImNsaXBib2FyZCIsc2hvcnRjdXQ6IkNtZCtWIixhY3Rpb246cyhhc3luYygpPT57ZG9jdW1lbnQuZXhlY0NvbW1hbmQoInBhc3RlIil9LCJhY3Rpb24iKX0pLE8ucHVzaCh7ZGl2aWRlcjohMH0se25hbWU6IkRlbGV0ZSBCbG9jayIsaWNvbk5hbWU6InRyYXNoMiIsYWN0aW9uOnMoYXN5bmMoKT0+e04mJk4uYmxvY2tPcGVyYXRpb25zJiZOLmJsb2NrT3BlcmF0aW9ucy5kZWxldGVCbG9jayhfKX0sImFjdGlvbiIpfSksT31nZXRTcGxpdENvbnRlbnQoKXtjb25zb2xlLmxvZygiZ2V0U3BsaXRDb250ZW50OiBTdGFydGluZy4uLiIpO2xldCBrPWphLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZihjb25zb2xlLmxvZygiZ2V0U3BsaXRDb250ZW50OiBDaGVja2luZyBmb3IgaGFuZGxlciIse2Jsb2NrVHlwZTp0aGlzLmJsb2NrLnR5cGUsaGFzSGFuZGxlcjohIWssaGFzU3BsaXRNZXRob2Q6ISEoayYmay5nZXRTcGxpdENvbnRlbnQpfSksayYmay5nZXRTcGxpdENvbnRlbnQpe2xldCBXPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIik7Y29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogRm91bmQgY29udGFpbmVyIix7Y29udGFpbmVyOiEhVyxjb250YWluZXJIVE1MOlc/LmlubmVySFRNTD8uc3Vic3RyaW5nKDAsMTAwKX0pO2xldCBqPXtzaGFkb3dSb290OnRoaXMuc2hhZG93Um9vdCxjb21wb25lbnQ6dGhpc307cmV0dXJuIGsuZ2V0U3BsaXRDb250ZW50KFcsail9bGV0IEM9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZighQylyZXR1cm4gY29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogTm8gZWRpdGFibGUgZWxlbWVudCBmb3VuZCIpLG51bGw7Y29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogRWxlbWVudCBpbmZvOiIse2Jsb2NrVHlwZTp0aGlzLmJsb2NrLnR5cGUsaW5uZXJIVE1MOkMuaW5uZXJIVE1MLHRleHRDb250ZW50OkMudGV4dENvbnRlbnQsdGV4dExlbmd0aDpDLnRleHRDb250ZW50Py5sZW5ndGh9KTtsZXQgXz10aGlzLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LHo9W107XyYmei5wdXNoKF8pLHRoaXMuc2hhZG93Um9vdCYmei5wdXNoKHRoaXMuc2hhZG93Um9vdCk7bGV0IE89c3QuZ2V0U2VsZWN0aW9uSW5mbyguLi56KTtpZihjb25zb2xlLmxvZygiZ2V0U3BsaXRDb250ZW50OiBTZWxlY3Rpb24gaW5mbyBmcm9tIHNoYWRvdyBET01zOiIse3NlbGVjdGlvbkluZm86TyxzaGFkb3dSb290c0NvdW50OnoubGVuZ3RofSksIU8pe2lmKGNvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IE5vIHNlbGVjdGlvbiwgdXNpbmcgbGFzdCBrbm93biBwb3NpdGlvbjoiLHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24pLHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24hPT1udWxsKXtsZXQgVz1DLnRleHRDb250ZW50fHwiIixqPU1hdGgubWluKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24sVy5sZW5ndGgpO3JldHVybiBjb25zb2xlLmxvZygiZ2V0U3BsaXRDb250ZW50OiBTcGxpdHRpbmcgd2l0aCBsYXN0IGtub3duIHBvc2l0aW9uOiIse3BvczpqLGZ1bGxUZXh0TGVuZ3RoOlcubGVuZ3RoLGJlZm9yZTpXLnN1YnN0cmluZygwLGopLGFmdGVyOlcuc3Vic3RyaW5nKGopfSkse2JlZm9yZTpXLnN1YnN0cmluZygwLGopLGFmdGVyOlcuc3Vic3RyaW5nKGopfX1yZXR1cm4gbnVsbH1pZihjb25zb2xlLmxvZygiZ2V0U3BsaXRDb250ZW50OiBTZWxlY3Rpb24gcmFuZ2U6Iix7c3RhcnRDb250YWluZXI6Ty5zdGFydENvbnRhaW5lcixzdGFydE9mZnNldDpPLnN0YXJ0T2Zmc2V0LHN0YXJ0Q29udGFpbmVySW5FbGVtZW50OkMuY29udGFpbnMoTy5zdGFydENvbnRhaW5lcil9KSwhc3QuY29udGFpbnNBY3Jvc3NTaGFkb3dET00oQyxPLnN0YXJ0Q29udGFpbmVyKSl7aWYoY29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogU2VsZWN0aW9uIG5vdCBpbiB0aGlzIGJsb2NrLCB1c2luZyBsYXN0IGtub3duIHBvc2l0aW9uOiIsdGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbiksdGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbiE9PW51bGwpe2xldCBXPUMudGV4dENvbnRlbnR8fCIiLGo9TWF0aC5taW4odGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbixXLmxlbmd0aCk7cmV0dXJue2JlZm9yZTpXLnN1YnN0cmluZygwLGopLGFmdGVyOlcuc3Vic3RyaW5nKGopfX1yZXR1cm4gbnVsbH1sZXQgVD10aGlzLmdldEN1cnNvclBvc2l0aW9uKEMpO2lmKGNvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IEN1cnNvciBwb3NpdGlvbiBmb3IgSFRNTCBzcGxpdDoiLFQpLFQ9PT1udWxsfHxUPT09MClyZXR1cm4gY29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogQ3Vyc29yIGF0IHN0YXJ0IG9yIG51bGwsIG1vdmluZyBhbGwgY29udGVudCIpLHtiZWZvcmU6IiIsYWZ0ZXI6Qy5pbm5lckhUTUx9O2xldCBFPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCksQj1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO0Uuc2V0U3RhcnQoQywwKSxFLnNldEVuZChPLnN0YXJ0Q29udGFpbmVyLE8uc3RhcnRPZmZzZXQpLEIuc2V0U3RhcnQoTy5zdGFydENvbnRhaW5lcixPLnN0YXJ0T2Zmc2V0KSxCLnNldEVuZChDLEMuY2hpbGROb2Rlcy5sZW5ndGgpO2xldCBNPUUuY2xvbmVDb250ZW50cygpLFM9Qi5jbG9uZUNvbnRlbnRzKCksUD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtQLmFwcGVuZENoaWxkKE0pO2xldCBBPVAuaW5uZXJIVE1MO1AuaW5uZXJIVE1MPSIiLFAuYXBwZW5kQ2hpbGQoUyk7bGV0IEY9UC5pbm5lckhUTUw7cmV0dXJuIGNvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IEZpbmFsIHNwbGl0IHJlc3VsdDoiLHtjdXJzb3JQb3M6VCxiZWZvcmVIdG1sOkEsYmVmb3JlTGVuZ3RoOkEubGVuZ3RoLGJlZm9yZUh0bWxQcmV2aWV3OkEuc3Vic3RyaW5nKDAsMTAwKSsoQS5sZW5ndGg+MTAwPyIuLi4iOiIiKSxhZnRlckh0bWw6RixhZnRlckxlbmd0aDpGLmxlbmd0aCxhZnRlckh0bWxQcmV2aWV3OkYuc3Vic3RyaW5nKDAsMTAwKSsoRi5sZW5ndGg+MTAwPyIuLi4iOiIiKX0pLHtiZWZvcmU6QSxhZnRlcjpGfX1zdGF0aWN7JGMocix0KX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIGlRZT1mKCgpPT57cXNlKCk7RG8oKTtnbSgpO0RhZSgpO3lpYSgpO2NLZSgpO0ZmKCk7b0tlKCk7RzIoKTt4YygpO2RLZSgpO3JRZSgpO2lsYSgpO29sYSgpO25sYSgpO3NRZSgpO2xsYSgpO2lLZSgpO25LZSgpO2RsYSgpfSk7dmFyIEw0LFFpLFpXLHFzZT1mKCgpPT57U3IoKTt4aWEoKTtoYygpO2xlKCk7aVFlKCk7UWUoKTtMND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sUWk9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFpXPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pbnB1dC13eXNpd3lnIildLGUsdD1bXSxyLGk9d3QsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W107dmFyIEI9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNJbnB1dFd5c2l3eWciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVtLKCldLHg9W0soKV0seT1bSygpXSxOPVtLKCldLE89W0soKV0sTDQodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idmFsdWUiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy52YWx1ZSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnZhbHVlPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbixsKSxMNCh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im91dHB1dEZvcm1hdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ib3V0cHV0Rm9ybWF0ImluIFMsImhhcyIpLGdldDpzKFM9PlMub3V0cHV0Rm9ybWF0LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1Mub3V0cHV0Rm9ybWF0PVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYyxwKSxMNCh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJsb2NrcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iYmxvY2tzImluIFMsImhhcyIpLGdldDpzKFM9PlMuYmxvY2tzLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuYmxvY2tzPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbSx2KSxMNCh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRyYWdnZWRCbG9ja0lkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJkcmFnZ2VkQmxvY2tJZCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmRyYWdnZWRCbG9ja0lkLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuZHJhZ2dlZEJsb2NrSWQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLEw0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHJhZ092ZXJCbG9ja0lkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJkcmFnT3ZlckJsb2NrSWQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5kcmFnT3ZlckJsb2NrSWQsImdldCIpLHNldDpzKChTLFApPT57Uy5kcmFnT3ZlckJsb2NrSWQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxrLEMpLEw0KHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHJhZ092ZXJQb3NpdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iZHJhZ092ZXJQb3NpdGlvbiJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmRyYWdPdmVyUG9zaXRpb24sImdldCIpLHNldDpzKChTLFApPT57Uy5kcmFnT3ZlclBvc2l0aW9uPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sXyx6KSxMNCh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ic2VsZWN0ZWRUZXh0ImluIFMsImhhcyIpLGdldDpzKFM9PlMuc2VsZWN0ZWRUZXh0LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1Muc2VsZWN0ZWRUZXh0PVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sVCxFKSxMNChudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpNfSxudWxsLHQpLEI9cj1lLnZhbHVlLE0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6TX0pfXN0YXRpYyBkZW1vPXZpYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0IiwiV29ya3NwYWNlIl07I2U9UWkodGhpcyxuLCIiKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoTSl7dGhpcy4jZT1NfSN0PShRaSh0aGlzLGwpLFFpKHRoaXMsYywiaHRtbCIpKTtnZXQgb3V0cHV0Rm9ybWF0KCl7cmV0dXJuIHRoaXMuI3R9c2V0IG91dHB1dEZvcm1hdChNKXt0aGlzLiN0PU19I2E9KFFpKHRoaXMscCksUWkodGhpcyxtLFt7aWQ6SnIuZ2VuZXJhdGVCbG9ja0lkKCksdHlwZToicGFyYWdyYXBoIixjb250ZW50OiIifV0pKTtnZXQgYmxvY2tzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGJsb2NrcyhNKXt0aGlzLiNhPU19c2VsZWN0ZWRCbG9ja0lkPShRaSh0aGlzLHYpLG51bGwpO3NsYXNoTWVudT1UYWUuZ2V0SW5zdGFuY2UoKTsjcj1RaSh0aGlzLGIsbnVsbCk7Z2V0IGRyYWdnZWRCbG9ja0lkKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGRyYWdnZWRCbG9ja0lkKE0pe3RoaXMuI3I9TX0jcz0oUWkodGhpcyxnKSxRaSh0aGlzLGssbnVsbCkpO2dldCBkcmFnT3ZlckJsb2NrSWQoKXtyZXR1cm4gdGhpcy4jc31zZXQgZHJhZ092ZXJCbG9ja0lkKE0pe3RoaXMuI3M9TX0jaT0oUWkodGhpcyxDKSxRaSh0aGlzLF8sbnVsbCkpO2dldCBkcmFnT3ZlclBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGRyYWdPdmVyUG9zaXRpb24oTSl7dGhpcy4jaT1NfWZvcm1hdHRpbmdNZW51PShRaSh0aGlzLHopLCRhZS5nZXRJbnN0YW5jZSgpKTsjbz1RaSh0aGlzLFQsIiIpO2dldCBzZWxlY3RlZFRleHQoKXtyZXR1cm4gdGhpcy4jb31zZXQgc2VsZWN0ZWRUZXh0KE0pe3RoaXMuI289TX1lZGl0b3JDb250ZW50UmVmPVFpKHRoaXMsRSk7aXNDb21wb3Npbmc9ITE7YmxvY2tPcGVyYXRpb25zO2lucHV0SGFuZGxlcjtrZXlib2FyZEhhbmRsZXI7ZHJhZ0Ryb3BIYW5kbGVyO2hpc3Rvcnk7c3RhdGljIHN0eWxlcz1bRWUsLi4ud3QuYmFzZVN0eWxlcyxoLmRlZmF1bHRTdHlsZXMsbEtlXTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5ibG9ja09wZXJhdGlvbnM9bmV3IEhVKHRoaXMpLHRoaXMuaW5wdXRIYW5kbGVyPW5ldyBVVyh0aGlzKSx0aGlzLmtleWJvYXJkSGFuZGxlcj1uZXcgV1codGhpcyksdGhpcy5kcmFnRHJvcEhhbmRsZXI9bmV3IEdXKHRoaXMpLHRoaXMuaGlzdG9yeT1uZXcgWVd9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmlucHV0SGFuZGxlcj8uZGVzdHJveSgpLHRoaXMuYmx1clRpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5ibHVyVGltZW91dCksdGhpcy5ibHVyVGltZW91dD1udWxsKX1hc3luYyBmaXJzdFVwZGF0ZWQoKXtpZih0aGlzLnZhbHVlJiZ0aGlzLnZhbHVlLnRyaW0oKS5sZW5ndGg+MCl7bGV0IE09dGhpcy5vdXRwdXRGb3JtYXQ9PT0iaHRtbCI/QW4ucGFyc2VIdG1sVG9CbG9ja3ModGhpcy52YWx1ZSk6QW4ucGFyc2VNYXJrZG93blRvQmxvY2tzKHRoaXMudmFsdWUpO00ubGVuZ3RoPjAmJih0aGlzLmJsb2Nrcz1NKX10aGlzLnVwZGF0ZVZhbHVlKCksdGhpcy5lZGl0b3JDb250ZW50UmVmPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuZWRpdG9yLWNvbnRlbnQiKSx0aGlzLmVkaXRvckNvbnRlbnRSZWYmJnRoaXMuZWRpdG9yQ29udGVudFJlZi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsTT0+dGhpcy5oYW5kbGVFZGl0b3JDbGljayhNKSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJibG9jay10ZXh0LXNlbGVjdGVkIiwoTT0+e2lmKCF0aGlzLnNsYXNoTWVudS52aXNpYmxlJiZNLmRldGFpbC5oYXNTZWxlY3Rpb24mJk0uZGV0YWlsLnRleHQubGVuZ3RoPjAmJih0aGlzLnNlbGVjdGVkVGV4dD1NLmRldGFpbC50ZXh0LE0uZGV0YWlsLnJlY3QpKXtsZXQgUz17eDpNLmRldGFpbC5yZWN0LmxlZnQrTS5kZXRhaWwucmVjdC53aWR0aC8yLHk6TWF0aC5tYXgoNDUsTS5kZXRhaWwucmVjdC50b3AtNDUpfTt0aGlzLmZvcm1hdHRpbmdNZW51LnNob3coUyxhc3luYyBQPT5hd2FpdCB0aGlzLmFwcGx5Rm9ybWF0KFApKX19KSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixNPT57bGV0IFM9dGhpcy5mb3JtYXR0aW5nTWVudS5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZm9ybWF0dGluZy1tZW51Iik7aWYoUyYmUy5jb250YWlucyhNLnRhcmdldCkpcmV0dXJuO2xldCBQPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtQJiZQLnRvU3RyaW5nKCkudHJpbSgpLmxlbmd0aD4wfHx0aGlzLmZvcm1hdHRpbmdNZW51LnZpc2libGUmJnRoaXMuaGlkZUZvcm1hdHRpbmdNZW51KCl9KSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLE09PntsZXQgUz1NLnRhcmdldDshdGhpcy5jb250YWlucyhTKSYmIXRoaXMuc2hhZG93Um9vdD8uY29udGFpbnMoUyl8fCgoTS5tZXRhS2V5fHxNLmN0cmxLZXkpJiYhTS5zaGlmdEtleSYmTS5rZXk9PT0ieiI/KE0ucHJldmVudERlZmF1bHQoKSx0aGlzLnVuZG8oKSk6KE0ubWV0YUtleXx8TS5jdHJsS2V5KSYmTS5zaGlmdEtleSYmTS5rZXk9PT0ieiImJihNLnByZXZlbnREZWZhdWx0KCksdGhpcy5yZWRvKCkpKX0pLHRoaXMuaGlzdG9yeS5zYXZlU3RhdGUodGhpcy5ibG9ja3MsdGhpcy5zZWxlY3RlZEJsb2NrSWQpLHRoaXMucmVuZGVyQmxvY2tzUHJvZ3JhbW1hdGljYWxseSgpfXJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKXt0aGlzLmVkaXRvckNvbnRlbnRSZWYmJih0aGlzLmVkaXRvckNvbnRlbnRSZWYuaW5uZXJIVE1MPSIiLHRoaXMuYmxvY2tzLmZvckVhY2goTT0+e2xldCBTPXRoaXMuY3JlYXRlQmxvY2tFbGVtZW50KE0pO3RoaXMuZWRpdG9yQ29udGVudFJlZi5hcHBlbmRDaGlsZChTKX0pKX1jcmVhdGVCbG9ja0VsZW1lbnQoTSl7bGV0IFM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYoUy5jbGFzc05hbWU9ImJsb2NrLXdyYXBwZXIiLFMuc2V0QXR0cmlidXRlKCJkYXRhLWJsb2NrLWlkIixNLmlkKSxNLnR5cGUhPT0iZGl2aWRlciIpe2xldCBBPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO0EuY2xhc3NOYW1lPSJkcmFnLWhhbmRsZSIsQS5kcmFnZ2FibGU9ITAsQS5hZGRFdmVudExpc3RlbmVyKCJkcmFnc3RhcnQiLEY9PnRoaXMuZHJhZ0Ryb3BIYW5kbGVyLmhhbmRsZURyYWdTdGFydChGLE0pKSxTLmFwcGVuZENoaWxkKEEpfWxldCBQPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRlZXMtd3lzaXd5Zy1ibG9jayIpO3JldHVybiBQLmJsb2NrPU0sUC5pc1NlbGVjdGVkPXRoaXMuc2VsZWN0ZWRCbG9ja0lkPT09TS5pZCxQLnd5c2l3eWdDb21wb25lbnQ9dGhpcyxQLmhhbmRsZXJzPXtvbklucHV0OnMoQT0+dGhpcy5pbnB1dEhhbmRsZXIuaGFuZGxlQmxvY2tJbnB1dChBLE0pLCJvbklucHV0Iiksb25LZXlEb3duOnMoQT0+dGhpcy5rZXlib2FyZEhhbmRsZXIuaGFuZGxlQmxvY2tLZXlEb3duKEEsTSksIm9uS2V5RG93biIpLG9uRm9jdXM6cygoKT0+dGhpcy5oYW5kbGVCbG9ja0ZvY3VzKE0pLCJvbkZvY3VzIiksb25CbHVyOnMoKCk9PnRoaXMuaGFuZGxlQmxvY2tCbHVyKE0pLCJvbkJsdXIiKSxvbkNvbXBvc2l0aW9uU3RhcnQ6cygoKT0+dGhpcy5pc0NvbXBvc2luZz0hMCwib25Db21wb3NpdGlvblN0YXJ0Iiksb25Db21wb3NpdGlvbkVuZDpzKCgpPT50aGlzLmlzQ29tcG9zaW5nPSExLCJvbkNvbXBvc2l0aW9uRW5kIiksb25Nb3VzZVVwOnMoQT0+dGhpcy5oYW5kbGVUZXh0U2VsZWN0aW9uKEEpLCJvbk1vdXNlVXAiKSxvblJlcXVlc3RVcGRhdGU6cygoKT0+dGhpcy51cGRhdGVCbG9ja0VsZW1lbnQoTS5pZCksIm9uUmVxdWVzdFVwZGF0ZSIpfSxTLmFwcGVuZENoaWxkKFApLFMuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLEE9PnRoaXMuZHJhZ0Ryb3BIYW5kbGVyLmhhbmRsZURyYWdPdmVyKEEsTSkpLFMuYWRkRXZlbnRMaXN0ZW5lcigiZHJvcCIsQT0+dGhpcy5kcmFnRHJvcEhhbmRsZXIuaGFuZGxlRHJvcChBLE0pKSxTLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdsZWF2ZSIsKCk9PnRoaXMuZHJhZ0Ryb3BIYW5kbGVyLmhhbmRsZURyYWdMZWF2ZShNKSksU311cGRhdGVCbG9ja0VsZW1lbnQoTSl7bGV0IFM9dGhpcy5ibG9ja3MuZmluZChGPT5GLmlkPT09TSk7aWYoIVMpcmV0dXJuO2xldCBQPXRoaXMuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtNfSJdYCk7aWYoIVApcmV0dXJuO2xldCBBPXRoaXMuY3JlYXRlQmxvY2tFbGVtZW50KFMpO1AucmVwbGFjZVdpdGgoQSl9cmVuZGVyKCl7cmV0dXJuIFhsYAogICAgICA8ZGVlcy1sYWJlbAogICAgICAgIC5sYWJlbD0iJHt0aGlzLmxhYmVsfSIKICAgICAgICAuaW5mb1RleHQ9IiR7dGhpcy5pbmZvVGV4dH0iCiAgICAgICAgLnJlcXVpcmVkPSIke3RoaXMucmVxdWlyZWR9IgogICAgICA+PC9kZWVzLWxhYmVsPgogICAgICA8ZGl2IGNsYXNzPSJ3eXNpd3lnLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdgogICAgICAgICAgY2xhc3M9ImVkaXRvci1jb250ZW50ICR7dGhpcy5kcmFnZ2VkQmxvY2tJZD8iZHJhZ2dpbmciOiIifSIKICAgICAgICAgIGlkPSJlZGl0b3ItY29udGVudCIKICAgICAgICA+CiAgICAgICAgICA8IS0tIEJsb2NrcyB3aWxsIGJlIHJlbmRlcmVkIHByb2dyYW1tYXRpY2FsbHkgLS0+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAke3RoaXMucmVuZGVyRGVzY3JpcHRpb24oKX0KICAgIGB9aGFuZGxlU2xhc2hNZW51S2V5Ym9hcmQoTSl7c3dpdGNoKE0ua2V5KXtjYXNlIkFycm93RG93biI6TS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2xhc2hNZW51Lm5hdmlnYXRlKCJkb3duIik7YnJlYWs7Y2FzZSJBcnJvd1VwIjpNLnByZXZlbnREZWZhdWx0KCksdGhpcy5zbGFzaE1lbnUubmF2aWdhdGUoInVwIik7YnJlYWs7Y2FzZSJFbnRlciI6TS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2xhc2hNZW51LnNlbGVjdEN1cnJlbnQoKTticmVhaztjYXNlIkVzY2FwZSI6TS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY2xvc2VTbGFzaE1lbnUoITApO2JyZWFrfX1jbG9zZVNsYXNoTWVudShNPSExKXtpZihNJiZ0aGlzLnNlbGVjdGVkQmxvY2tJZCl7bGV0IFM9dGhpcy5ibG9ja3MuZmluZChQPT5QLmlkPT09dGhpcy5zZWxlY3RlZEJsb2NrSWQpO2lmKFMpe2xldCBBPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtTLmlkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKEEpe2xldCBGPUEuZ2V0Q29udGVudCgpO2lmKEYuc3RhcnRzV2l0aCgiLyIpKXtsZXQgVz1GLnJlcGxhY2UoL15cL1teXHNdKlxzKi8sIiIpLnRyaW0oKTtBLnNldENvbnRlbnQoVyksUy5jb250ZW50PVcscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57QS5mb2N1c1dpdGhDdXJzb3IoMCl9KX19fX10aGlzLnNsYXNoTWVudS5oaWRlKCl9aGFuZGxlQmxvY2tGb2N1cyhNKXt0aGlzLmJsdXJUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuYmx1clRpbWVvdXQpLHRoaXMuYmx1clRpbWVvdXQ9bnVsbCk7bGV0IFM9dGhpcy5zZWxlY3RlZEJsb2NrSWQ7aWYodGhpcy5zZWxlY3RlZEJsb2NrSWQ9TS5pZCxTIT09TS5pZCl7aWYoUyl7bGV0IFc9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtTfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO1cmJihXLmlzU2VsZWN0ZWQ9ITEpfWxldCBBPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7TS5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtBJiYoQS5pc1NlbGVjdGVkPSEwKX19Ymx1clRpbWVvdXQ9bnVsbDtoYW5kbGVCbG9ja0JsdXIoTSl7aWYodGhpcy5ibHVyVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuYmx1clRpbWVvdXQpLHRoaXMuc2xhc2hNZW51LnZpc2libGUpcmV0dXJuO2xldCBQPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7TS5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZihQJiZQLmdldENvbnRlbnQpe2xldCBBPVAuZ2V0Q29udGVudCgpO00uY29udGVudCE9PUEmJihNLmNvbnRlbnQ9QSl9dGhpcy5ibHVyVGltZW91dD1zZXRUaW1lb3V0KCgpPT57dGhpcy5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50Py5jbGFzc0xpc3QuY29udGFpbnMoImJsb2NrIil8fHRoaXMudXBkYXRlVmFsdWUoKX0sMTAwKX1oYW5kbGVFZGl0b3JDbGljayhNKXtsZXQgUz1NLnRhcmdldDtpZih0aGlzLnNsYXNoTWVudS52aXNpYmxlJiZ0aGlzLmNsb3NlU2xhc2hNZW51KCEwKSxTLmNsYXNzTGlzdC5jb250YWlucygiZWRpdG9yLWNvbnRlbnQiKSl7bGV0IFA9dGhpcy5ibG9ja3NbdGhpcy5ibG9ja3MubGVuZ3RoLTFdO3RoaXMuYmxvY2tPcGVyYXRpb25zLmZvY3VzQmxvY2soUC5pZCxQLnR5cGU9PT0iZGl2aWRlciJ8fFAudHlwZT09PSJpbWFnZSI/dm9pZCAwOiJlbmQiKX19Y3JlYXRlTmV3QmxvY2soTT0icGFyYWdyYXBoIixTPSIiLFApe3JldHVybntpZDpKci5nZW5lcmF0ZUJsb2NrSWQoKSx0eXBlOk0sY29udGVudDpTLC4uLlAmJnttZXRhZGF0YTpQfX19YXN5bmMgaW5zZXJ0QmxvY2tBZnRlcihNLFMsUD0hMCl7bGV0IEE9dGhpcy5ibG9ja3MuZmluZEluZGV4KFc9PlcuaWQ9PT1NLmlkKTt0aGlzLmJsb2Nrcz1bLi4udGhpcy5ibG9ja3Muc2xpY2UoMCxBKzEpLFMsLi4udGhpcy5ibG9ja3Muc2xpY2UoQSsxKV07bGV0IEY9dGhpcy5lZGl0b3JDb250ZW50UmVmLnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke00uaWR9Il1gKTtpZihGKXtsZXQgVz10aGlzLmNyZWF0ZUJsb2NrRWxlbWVudChTKTtGLmluc2VydEFkamFjZW50RWxlbWVudCgiYWZ0ZXJlbmQiLFcpfXRoaXMudXBkYXRlVmFsdWUoKSxQJiZTLnR5cGUhPT0iZGl2aWRlciImJihhd2FpdCBuZXcgUHJvbWlzZShXPT5zZXRUaW1lb3V0KFcsMCkpLGF3YWl0IHRoaXMuYmxvY2tPcGVyYXRpb25zLmZvY3VzQmxvY2soUy5pZCwic3RhcnQiKSl9YXN5bmMgaW5zZXJ0QmxvY2soTSl7bGV0IFM9dGhpcy5ibG9ja3MuZmluZChGPT5GLmlkPT09dGhpcy5zZWxlY3RlZEJsb2NrSWQpO2lmKCFTKXt0aGlzLmNsb3NlU2xhc2hNZW51KCk7cmV0dXJufWxldCBBPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtTLmlkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKEEpe2xldCBGPUEuZ2V0Q29udGVudCgpO2lmKEYuc3RhcnRzV2l0aCgiLyIpKXtsZXQgVz1GLnJlcGxhY2UoL15cL1teXHNdKlxzKi8sIiIpLnRyaW0oKTtBLnNldENvbnRlbnQoVyksUy5jb250ZW50PVd9fWlmKHRoaXMuY2xvc2VTbGFzaE1lbnUoITEpLE09PT0iY29kZSImJihTLm1ldGFkYXRhPXtsYW5ndWFnZToidHlwZXNjcmlwdCJ9KSxTLnR5cGU9TSxTLmNvbnRlbnQ9Uy5jb250ZW50fHwiIixNPT09ImRpdmlkZXIiKXtTLmNvbnRlbnQ9IiAiO2xldCBGPXRoaXMuY3JlYXRlTmV3QmxvY2soKTt0aGlzLmluc2VydEJsb2NrQWZ0ZXIoUyxGKX1lbHNlIE09PT0ibGlzdCI/KFMubWV0YWRhdGE9e2xpc3RUeXBlOiJidWxsZXQifSxTLmNvbnRlbnQ9IiIpOk09PT0iaW1hZ2UiPyhTLmNvbnRlbnQ9IiIsUy5tZXRhZGF0YT17dXJsOiIiLGxvYWRpbmc6ITF9KTpNPT09InlvdXR1YmUiPyhTLmNvbnRlbnQ9IiIsUy5tZXRhZGF0YT17dmlkZW9JZDoiIix1cmw6IiJ9KTpNPT09Im1hcmtkb3duIj9TLm1ldGFkYXRhPXtzaG93UHJldmlldzohMX06TT09PSJodG1sIj9TLm1ldGFkYXRhPXtzaG93UHJldmlldzohMX06TT09PSJhdHRhY2htZW50Ij8oUy5jb250ZW50PSIiLFMubWV0YWRhdGE9e2ZpbGVzOltdfSk6Uy5jb250ZW50PVMuY29udGVudHx8IiI7dGhpcy51cGRhdGVCbG9ja0VsZW1lbnQoUy5pZCksdGhpcy51cGRhdGVWYWx1ZSgpLGF3YWl0IG5ldyBQcm9taXNlKEY9PnNldFRpbWVvdXQoRiwwKSksTT09PSJsaXN0Ij8odGhpcy5ibG9ja09wZXJhdGlvbnMuZm9jdXNCbG9jayhTLmlkLCJzdGFydCIpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2xldCBXPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7Uy5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtXJiZXLmZvY3VzTGlzdEl0ZW0oKX0pKTpNIT09ImRpdmlkZXIiJiZNIT09ImltYWdlIiYmTSE9PSJ5b3V0dWJlIiYmTSE9PSJtYXJrZG93biImJk0hPT0iaHRtbCImJk0hPT0iYXR0YWNobWVudCI/dGhpcy5ibG9ja09wZXJhdGlvbnMuZm9jdXNCbG9jayhTLmlkLCJzdGFydCIpOihNPT09ImltYWdlInx8TT09PSJ5b3V0dWJlInx8TT09PSJtYXJrZG93biJ8fE09PT0iaHRtbCJ8fE09PT0iYXR0YWNobWVudCIpJiZ0aGlzLmJsb2NrT3BlcmF0aW9ucy5mb2N1c0Jsb2NrKFMuaWQpfXVwZGF0ZVZhbHVlKCl7dGhpcy5vdXRwdXRGb3JtYXQ9PT0iaHRtbCI/dGhpcy52YWx1ZT1Bbi5nZXRIdG1sT3V0cHV0KHRoaXMuYmxvY2tzKTp0aGlzLnZhbHVlPUFuLmdldE1hcmtkb3duT3V0cHV0KHRoaXMuYmxvY2tzKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzLnZhbHVlKSx0aGlzLnNhdmVUb0hpc3RvcnkoITApfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoTSl7dGhpcy52YWx1ZT1NLHRoaXMub3V0cHV0Rm9ybWF0PT09Imh0bWwiP3RoaXMuYmxvY2tzPUFuLnBhcnNlSHRtbFRvQmxvY2tzKE0pOnRoaXMuYmxvY2tzPUFuLnBhcnNlTWFya2Rvd25Ub0Jsb2NrcyhNKSx0aGlzLmJsb2Nrcy5sZW5ndGg9PT0wJiYodGhpcy5ibG9ja3M9W3tpZDpKci5nZW5lcmF0ZUJsb2NrSWQoKSx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6IiJ9XSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcy52YWx1ZSksdGhpcy5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLnJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKX1leHBvcnRCbG9ja3MoKXtyZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmJsb2NrcykpfWltcG9ydEJsb2NrcyhNKXt0aGlzLmJsb2Nrcz1KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KE0pKSx0aGlzLnVwZGF0ZVZhbHVlKCksdGhpcy5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLnJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKX1leHBvcnRBc0h0bWwoKXtyZXR1cm4gQW4uZ2V0SHRtbE91dHB1dCh0aGlzLmJsb2Nrcyl9ZXhwb3J0QXNNYXJrZG93bigpe3JldHVybiBBbi5nZXRNYXJrZG93bk91dHB1dCh0aGlzLmJsb2Nrcyl9ZXhwb3J0U3RhdGUoKXtyZXR1cm57YmxvY2tzOnRoaXMuZXhwb3J0QmxvY2tzKCksb3V0cHV0Rm9ybWF0OnRoaXMub3V0cHV0Rm9ybWF0fX1pbXBvcnRTdGF0ZShNKXtNLm91dHB1dEZvcm1hdCYmKHRoaXMub3V0cHV0Rm9ybWF0PU0ub3V0cHV0Rm9ybWF0KSx0aGlzLmltcG9ydEJsb2NrcyhNLmJsb2Nrcyl9aGFuZGxlRHJhZ0VuZCgpe2lmKHRoaXMuZHJhZ2dlZEJsb2NrSWQpe2xldCBTPXRoaXMuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt0aGlzLmRyYWdnZWRCbG9ja0lkfSJdYCk7UyYmUy5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpfXRoaXMuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yQWxsKCIuYmxvY2std3JhcHBlciIpLmZvckVhY2goUz0+e1MuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZy1vdmVyLWJlZm9yZSIsImRyYWctb3Zlci1hZnRlciIpfSksdGhpcy5lZGl0b3JDb250ZW50UmVmLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiksdGhpcy5kcmFnZ2VkQmxvY2tJZD1udWxsLHRoaXMuZHJhZ092ZXJCbG9ja0lkPW51bGwsdGhpcy5kcmFnT3ZlclBvc2l0aW9uPW51bGx9aGFuZGxlRHJvcChNLFMpe2lmKE0ucHJldmVudERlZmF1bHQoKSwhdGhpcy5kcmFnZ2VkQmxvY2tJZHx8dGhpcy5kcmFnZ2VkQmxvY2tJZD09PVMuaWQpcmV0dXJuO2xldCBQPXRoaXMuYmxvY2tzLmZpbmRJbmRleChqPT5qLmlkPT09dGhpcy5kcmFnZ2VkQmxvY2tJZCksQT10aGlzLmJsb2Nrcy5maW5kSW5kZXgoaj0+ai5pZD09PVMuaWQpO2lmKFA9PT0tMXx8QT09PS0xKXJldHVybjtsZXRbRl09dGhpcy5ibG9ja3Muc3BsaWNlKFAsMSksVz1BO3RoaXMuZHJhZ092ZXJQb3NpdGlvbj09PSJhZnRlciI/Vz1QPEE/QTpBKzE6Vz1QPEE/QS0xOkEsdGhpcy5ibG9ja3Muc3BsaWNlKFcsMCxGKSx0aGlzLnJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKSx0aGlzLnVwZGF0ZVZhbHVlKCksdGhpcy5oYW5kbGVEcmFnRW5kKCksc2V0VGltZW91dCgoKT0+e2xldCBqPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtGLmlkfSJdIC5ibG9ja2ApO2omJkYudHlwZSE9PSJkaXZpZGVyIiYmai5mb2N1cygpfSwxMDApfWhhbmRsZVRleHRTZWxlY3Rpb24oTSl7dGhpcy5zbGFzaE1lbnUudmlzaWJsZX11cGRhdGVGb3JtYXR0aW5nTWVudVBvc2l0aW9uKCl7bGV0IE09W107dGhpcy5zaGFkb3dSb290JiZNLnB1c2godGhpcy5zaGFkb3dSb290KSx0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3JBbGwoIi5ibG9jay13cmFwcGVyIik/LmZvckVhY2goQT0+e2xldCBGPUEucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7Rj8uc2hhZG93Um9vdCYmTS5wdXNoKEYuc2hhZG93Um9vdCl9KTtsZXQgUD12Yy5nZXRTZWxlY3Rpb25Db29yZGluYXRlcyguLi5NKTtQJiZ0aGlzLmZvcm1hdHRpbmdNZW51LnNob3coe3g6UC54LHk6UC55fSxhc3luYyBBPT5hd2FpdCB0aGlzLmFwcGx5Rm9ybWF0KEEpKX1oaWRlRm9ybWF0dGluZ01lbnUoKXt0aGlzLmZvcm1hdHRpbmdNZW51LmhpZGUoKSx0aGlzLnNlbGVjdGVkVGV4dD0iIn1hc3luYyBhcHBseUZvcm1hdChNKXtsZXQgUz1bXTt0aGlzLnNoYWRvd1Jvb3QmJlMucHVzaCh0aGlzLnNoYWRvd1Jvb3QpLHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvckFsbCgiLmJsb2NrLXdyYXBwZXIiKT8uZm9yRWFjaChoZT0+e2xldCBSPWhlLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO1I/LnNoYWRvd1Jvb3QmJlMucHVzaChSLnNoYWRvd1Jvb3QpfSk7bGV0IEE9c3QuZ2V0U2VsZWN0aW9uSW5mbyguLi5TKTtpZighQSlyZXR1cm47bGV0IEYsVyxqPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCIuYmxvY2std3JhcHBlciIpO2ZvcihsZXQgaGU9MDtoZTxqLmxlbmd0aDtoZSsrKXtsZXQgUj1qW2hlXSxVPVIucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYoVT8uc2hhZG93Um9vdCl7bGV0IG1lPVUuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZihtZSYmKG1lLmNvbnRhaW5zKEEuc3RhcnRDb250YWluZXIpfHxtZS5jb250YWlucyhBLmVuZENvbnRhaW5lcikpKXtsZXQgST1SLmdldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIpO0Y9dGhpcy5ibG9ja3MuZmluZChxPT5xLmlkPT09SSksVz1VO2JyZWFrfX19aWYoIUZ8fCFXKXJldHVybjtsZXQgRz1zdC5jcmVhdGVSYW5nZUZyb21JbmZvKEEpO2lmKE09PT0ibGluayIpe2xldCBoZT1hd2FpdCB0aGlzLnNob3dMaW5rRGlhbG9nKCk7aWYoIWhlKXtXLmZvY3VzKCk7cmV0dXJufXZjLmFwcGx5Rm9ybWF0KE0saGUsRyxTKX1lbHNlIHZjLmFwcGx5Rm9ybWF0KE0sdm9pZCAwLEcsUyk7YXdhaXQgbmV3IFByb21pc2UoaGU9PnNldFRpbWVvdXQoaGUsMTApKSxGLmNvbnRlbnQ9Vy5nZXRDb250ZW50KCksdGhpcy51cGRhdGVWYWx1ZSgpLFcuZm9jdXMoKSxNPT09ImxpbmsiP3RoaXMuaGlkZUZvcm1hdHRpbmdNZW51KCk6dGhpcy5zZWxlY3RlZFRleHQ9IiJ9YXN5bmMgc2hvd0xpbmtEaWFsb2coKXtyZXR1cm4gbmV3IFByb21pc2UoTT0+e2xldCBTPW51bGw7d2EuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiQWRkIExpbmsiLGNvbnRlbnQ6WGxgCiAgICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgIC5saW5rLWlucHV0IHsKICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWxpbmUtYnJpZ2h0KTsKICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1pbnB1dCk7CiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dCk7CiAgICAgICAgICAgICAgbWFyZ2luOiAxNnB4IDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLmxpbmstaW5wdXQ6Zm9jdXMgewogICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXByaW1hcnkpOwogICAgICAgICAgICB9CiAgICAgICAgICA8L3N0eWxlPgogICAgICAgICAgPGlucHV0IAogICAgICAgICAgICBjbGFzcz0ibGluay1pbnB1dCIgCiAgICAgICAgICAgIHR5cGU9InVybCIgCiAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJodHRwczovL2V4YW1wbGUuY29tIiAKICAgICAgICAgICAgQGtleWRvd249IiR7UD0+e2lmKFAua2V5PT09IkVudGVyIil7bGV0IEE9UC50YXJnZXQ7Uz1BLnZhbHVlO2xldCBGPUEuY2xvc2VzdCgiZGVlcy1tb2RhbCIpO2lmKEYpe2xldCBXPUYuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmJvdHRvbUJ1dHRvbjpsYXN0LWNoaWxkIik7VyYmVy5jbGljaygpfX19fSIKICAgICAgICAgICAgQGlucHV0PSIke1A9PntTPVAudGFyZ2V0LnZhbHVlfX0iCiAgICAgICAgICAvPgogICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDYW5jZWwiLGFjdGlvbjpzKGFzeW5jIFA9PntQLmRlc3Ryb3koKSxNKG51bGwpfSwiYWN0aW9uIil9LHtuYW1lOiJBZGQgTGluayIsYWN0aW9uOnMoYXN5bmMgUD0+e1AuZGVzdHJveSgpLE0oUyl9LCJhY3Rpb24iKX1dfSksc2V0VGltZW91dCgoKT0+e2xldCBQPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImRlZXMtbW9kYWwgLmxpbmstaW5wdXQiKTtQJiZQLmZvY3VzKCl9LDEwMCl9KX11bmRvKCl7bGV0IE09dGhpcy5oaXN0b3J5LnVuZG8oKTtNJiZ0aGlzLnJlc3RvcmVTdGF0ZShNKX1yZWRvKCl7bGV0IE09dGhpcy5oaXN0b3J5LnJlZG8oKTtNJiZ0aGlzLnJlc3RvcmVTdGF0ZShNKX1yZXN0b3JlU3RhdGUoTSl7dGhpcy5ibG9ja3M9TS5ibG9ja3MsdGhpcy5zZWxlY3RlZEJsb2NrSWQ9TS5zZWxlY3RlZEJsb2NrSWQsdGhpcy5yZW5kZXJCbG9ja3NQcm9ncmFtbWF0aWNhbGx5KCksTS5jdXJzb3JQb3NpdGlvbj9zZXRUaW1lb3V0KCgpPT57bGV0IFA9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtNLmN1cnNvclBvc2l0aW9uLmJsb2NrSWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7UCYmUC5mb2N1c1dpdGhDdXJzb3IoTS5jdXJzb3JQb3NpdGlvbi5vZmZzZXQpfSw1MCk6TS5zZWxlY3RlZEJsb2NrSWQmJnNldFRpbWVvdXQoKCk9Pnt0aGlzLmJsb2NrT3BlcmF0aW9ucy5mb2N1c0Jsb2NrKE0uc2VsZWN0ZWRCbG9ja0lkKX0sNTApLHRoaXMudXBkYXRlVmFsdWUoKX1zYXZlVG9IaXN0b3J5KE09ITApe2xldCBTO2lmKHRoaXMuc2VsZWN0ZWRCbG9ja0lkKXtsZXQgQT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3RoaXMuc2VsZWN0ZWRCbG9ja0lkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKEEmJnR5cGVvZiBBLmdldEN1cnNvclBvc2l0aW9uPT0iZnVuY3Rpb24iKXtsZXQgRj1BLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKEYpe2xldCBXPUEuZ2V0Q3Vyc29yUG9zaXRpb24oRik7VyE9PW51bGwmJihTPXtibG9ja0lkOnRoaXMuc2VsZWN0ZWRCbG9ja0lkLG9mZnNldDpXfSl9fX1NP3RoaXMuaGlzdG9yeS5zYXZlU3RhdGUodGhpcy5ibG9ja3MsdGhpcy5zZWxlY3RlZEJsb2NrSWQsUyk6dGhpcy5oaXN0b3J5LnNhdmVDaGVja3BvaW50KHRoaXMuYmxvY2tzLHRoaXMuc2VsZWN0ZWRCbG9ja0lkLFMpfXN0YXRpY3tRaShyLHQpfX07cmV0dXJuIEI9cn0pKCl9KTt2YXIgdWxhLHBsYT1mKCgpPT57bGUoKTtOYSgpO1ZzZSgpO1VzKCk7dWxhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7WGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmdyaWQtbGF5b3V0IHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgICAgLmdyaWQtbGF5b3V0IHsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5vdXRwdXQtcHJldmlldyB7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICNmM2Y0ZjY7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBjb2xvcjogIzM3NDE1MTsKICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4OwogICAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgICAgLm91dHB1dC1wcmV2aWV3IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzJjMmMyYzsKICAgICAgICAgICAgY29sb3I6ICNlNGU0ZTc7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMS4gQmFzaWMgUmljaCBUZXh0IEVkaXRvciJ9IC5zdWJ0aXRsZT0keyJBIGZ1bGwtZmVhdHVyZWQgcmljaCB0ZXh0IGVkaXRvciB3aXRoIGZvcm1hdHRpbmcgdG9vbGJhciJ9PgogICAgICAgIDxkZWVzLWlucHV0LXJpY2h0ZXh0IAogICAgICAgICAgLmxhYmVsPSR7IkFydGljbGUgQ29udGVudCJ9IAogICAgICAgICAgLnZhbHVlPSR7JzxoMT5XZWxjb21lIHRvIHRoZSBSaWNoIFRleHQgRWRpdG9yITwvaDE+PHA+VGhpcyBpcyBhIGZlYXR1cmUtcmljaCBlZGl0b3IgYnVpbHQgd2l0aCBUaXBUYXAuIFlvdSBjYW46PC9wPjx1bD48bGk+PHN0cm9uZz5Gb3JtYXQgdGV4dDwvc3Ryb25nPiB3aXRoIDxlbT52YXJpb3VzPC9lbT4gPHU+c3R5bGVzPC91PjwvbGk+PGxpPkNyZWF0ZSBkaWZmZXJlbnQgaGVhZGluZyBsZXZlbHM8L2xpPjxsaT5BZGQgPGEgaHJlZj0iaHR0cHM6Ly9leGFtcGxlLmNvbSI+bGlua3M8L2E+IHRvIGV4dGVybmFsIHJlc291cmNlczwvbGk+PGxpPldyaXRlIDxjb2RlPmlubGluZSBjb2RlPC9jb2RlPiBvciBjb2RlIGJsb2NrczwvbGk+PC91bD48YmxvY2txdW90ZT48cD5Vc2UgdGhlIHRvb2xiYXIgYWJvdmUgdG8gZXhwbG9yZSBhbGwgdGhlIGZvcm1hdHRpbmcgb3B0aW9ucyBhdmFpbGFibGUhPC9wPjwvYmxvY2txdW90ZT48cD5TdGFydCB0eXBpbmcgdG8gc2VlIHRoZSBtYWdpYyBoYXBwZW4uLi48L3A+J30KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJVc2UgdGhlIHRvb2xiYXIgdG8gZm9ybWF0IHlvdXIgY29udGVudCB3aXRoIGhlYWRpbmdzLCBsaXN0cywgbGlua3MsIGFuZCBtb3JlIn0KICAgICAgICAgIC5zaG93V29yZENvdW50PSR7ITB9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1yaWNodGV4dD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjIuIFdpdGggUGxhY2Vob2xkZXIifSAuc3VidGl0bGU9JHsiRW1wdHkgZWRpdG9yIHdpdGggcGxhY2Vob2xkZXIgdGV4dCJ9PgogICAgICAgIDxkZWVzLWlucHV0LXJpY2h0ZXh0IAogICAgICAgICAgLmxhYmVsPSR7IkJsb2cgUG9zdCJ9IAogICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IlN0YXJ0IHdyaXRpbmcgeW91ciBibG9nIHBvc3QgaGVyZS4uLiJ9CiAgICAgICAgICAuc2hvd1dvcmRDb3VudD0keyEwfQogICAgICAgID48L2RlZXMtaW5wdXQtcmljaHRleHQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIzLiBEaWZmZXJlbnQgSGVpZ2h0cyJ9IC5zdWJ0aXRsZT0keyJFZGl0b3JzIHdpdGggZGlmZmVyZW50IG1pbmltdW0gaGVpZ2h0cyBmb3IgdmFyaW91cyB1c2UgY2FzZXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWxheW91dCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1yaWNodGV4dCAKICAgICAgICAgICAgLmxhYmVsPSR7IlNob3J0IE5vdGUifSAKICAgICAgICAgICAgLm1pbkhlaWdodD0kezE1MH0KICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IlF1aWNrIG5vdGUuLi4ifQogICAgICAgICAgICAuc2hvd1dvcmRDb3VudD0keyExfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yaWNodGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtcmljaHRleHQgCiAgICAgICAgICAgIC5sYWJlbD0keyJFeHRlbmRlZCBDb250ZW50In0gCiAgICAgICAgICAgIC5taW5IZWlnaHQ9JHszMDB9CiAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJXcml0ZSB5b3VyIGV4dGVuZGVkIGNvbnRlbnQgaGVyZS4uLiJ9CiAgICAgICAgICAgIC5zaG93V29yZENvdW50PSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXJpY2h0ZXh0PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNC4gQ29kZSBFeGFtcGxlcyJ9IC5zdWJ0aXRsZT0keyJFZGl0b3IgcHJlLWZpbGxlZCB3aXRoIGNvZGUgZXhhbXBsZXMifT4KICAgICAgICA8ZGVlcy1pbnB1dC1yaWNodGV4dCAKICAgICAgICAgIC5sYWJlbD0keyJUZWNobmljYWwgRG9jdW1lbnRhdGlvbiJ9IAogICAgICAgICAgLnZhbHVlPSR7JzxoMj5JbnN0YWxsYXRpb24gR3VpZGU8L2gyPjxwPlRvIGluc3RhbGwgdGhlIHBhY2thZ2UsIHJ1biB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6PC9wPjxwcmU+PGNvZGU+bnBtIGluc3RhbGwgQGRlc2lnbi5lc3RhdGUvZGVlcy1jYXRhbG9nPC9jb2RlPjwvcHJlPjxwPlRoZW4gaW1wb3J0IHRoZSBjb21wb25lbnQgaW4geW91ciBUeXBlU2NyaXB0IGZpbGU6PC9wPjxwcmU+PGNvZGU+aW1wb3J0IHsgRGVlc0lucHV0UmljaHRleHQgfSBmcm9tICJAZGVzaWduLmVzdGF0ZS9kZWVzLWNhdGFsb2ciOzwvY29kZT48L3ByZT48cD5Zb3UgY2FuIG5vdyB1c2UgdGhlIDxjb2RlPiZsdDtkZWVzLWlucHV0LXJpY2h0ZXh0Jmd0OzwvY29kZT4gZWxlbWVudCBpbiB5b3VyIHRlbXBsYXRlcy48L3A+J30KICAgICAgICAgIC5taW5IZWlnaHQ9JHsyNTB9CiAgICAgICAgICAuc2hvd1dvcmRDb3VudD0keyEwfQogICAgICAgID48L2RlZXMtaW5wdXQtcmljaHRleHQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI1LiBEaXNhYmxlZCBTdGF0ZSJ9IC5zdWJ0aXRsZT0keyJSZWFkLW9ubHkgcmljaCB0ZXh0IGNvbnRlbnQifT4KICAgICAgICA8ZGVlcy1pbnB1dC1yaWNodGV4dCAKICAgICAgICAgIC5sYWJlbD0keyJQdWJsaXNoZWQgQXJ0aWNsZSAoUmVhZCBPbmx5KSJ9IAogICAgICAgICAgLnZhbHVlPSR7JzxoMj5UaGUgRnV0dXJlIG9mIFdlYiBDb21wb25lbnRzPC9oMj48cD5XZWIgQ29tcG9uZW50cyBoYXZlIHJldm9sdXRpb25pemVkIGhvdyB3ZSBidWlsZCBtb2Rlcm4gd2ViIGFwcGxpY2F0aW9ucy4uLjwvcD48YmxvY2txdW90ZT48cD4iVGhlIGZ1dHVyZSBvZiB3ZWIgZGV2ZWxvcG1lbnQgbGllcyBpbiByZXVzYWJsZSwgZW5jYXBzdWxhdGVkIGNvbXBvbmVudHMuIjwvcD48L2Jsb2NrcXVvdGU+J30KICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgLnNob3dXb3JkQ291bnQ9JHshMH0KICAgICAgICA+PC9kZWVzLWlucHV0LXJpY2h0ZXh0PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNi4gSW50ZXJhY3RpdmUgRGVtbyJ9IC5zdWJ0aXRsZT0keyJUeXBlIGluIHRoZSBlZGl0b3IgYmVsb3cgYW5kIHNlZSB0aGUgSFRNTCBvdXRwdXQifT4KICAgICAgICA8ZGVlcy1pbnB1dC1yaWNodGV4dCAKICAgICAgICAgIGlkPSJpbnRlcmFjdGl2ZS1lZGl0b3IiCiAgICAgICAgICAubGFiZWw9JHsiVHJ5IGl0IHlvdXJzZWxmIn0gCiAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiVHlwZSBzb21ldGhpbmcgaGVyZS4uLiJ9CiAgICAgICAgICAuc2hvd1dvcmRDb3VudD0keyEwfQogICAgICAgICAgQGNoYW5nZT0ke2E9PntsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjb3V0cHV0LXByZXZpZXciKTtlJiYoZS50ZXh0Q29udGVudD1hLmRldGFpbC52YWx1ZSl9fQogICAgICAgID48L2RlZXMtaW5wdXQtcmljaHRleHQ+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0ib3V0cHV0LXByZXZpZXciIGlkPSJvdXRwdXQtcHJldmlldyI+CiAgICAgICAgICA8ZW0+SFRNTCBvdXRwdXQgd2lsbCBhcHBlYXIgaGVyZS4uLjwvZW0+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBmbGEsaGxhPWYoKCk9PntsZSgpO1NyKCk7UWUoKTtmbGE9W0VlLC4uLnd0LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZm9udC1mYW1pbHk6IEludGVyLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjsKICAgICAgfQoKICAgICAgLmlucHV0LXdyYXBwZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmxhYmVsIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIHsKICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDsKICAgICAgfQoKICAgICAgZGVlcy10aWxlOmhvdmVyOjpwYXJ0KG91dGVyKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpOwogICAgICB9CgogICAgICBkZWVzLXRpbGUuZm9jdXNlZDo6cGFydChvdXRlcikgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSAvIDAuMDUpIiwiaHNsKDAgMCUgOTglIC8gMC4wNSkiKX07CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItdG9vbGJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDEycHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLnRvb2xiYXItYnV0dG9uIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWJ1dHRvbi5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5OCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAzLjklKSIpfTsKICAgICAgfQoKICAgICAgLnRvb2xiYXItYnV0dG9uOmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLnRvb2xiYXItZGl2aWRlciB7CiAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgbWFyZ2luOiAwIDRweDsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgaW5zZXQ6IDA7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgICBtaW4taGVpZ2h0OiAxMDAlOwogICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgcCB7CiAgICAgICAgbWFyZ2luOiAwLjVlbSAwOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIHA6Zmlyc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgcDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIGgxIHsKICAgICAgICBmb250LXNpemU6IDJlbTsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICBtYXJnaW46IDFlbSAwIDAuNWVtIDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBoMiB7CiAgICAgICAgZm9udC1zaXplOiAxLjVlbTsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICBtYXJnaW46IDFlbSAwIDAuNWVtIDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBoMyB7CiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgbWFyZ2luOiAxZW0gMCAwLjVlbSAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgdWwsCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3Igb2wgewogICAgICAgIHBhZGRpbmctbGVmdDogMS41ZW07CiAgICAgICAgbWFyZ2luOiAwLjVlbSAwOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIGxpIHsKICAgICAgICBtYXJnaW46IDAuMjVlbSAwOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIGJsb2NrcXVvdGUgewogICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgbWFyZ2luOiAxZW0gMDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgY29kZSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy10ZXJ0aWFyeSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIHBhZGRpbmc6IDAuMmVtIDAuNGVtOwogICAgICAgIGZvbnQtZmFtaWx5OiAnSW50ZWwgT25lIE1vbm8nLCAnRmlyYSBDb2RlJywgJ1NGIE1vbm8nLCBNb25hY28sICdDYXNjYWRpYSBDb2RlJywgJ1JvYm90byBNb25vJywgQ29uc29sYXMsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDAuOWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgcHJlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMy45JSkiLCJoc2woMCAwJSA5OCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTglKSIsImhzbCgwIDAlIDMuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiAxZW07CiAgICAgICAgbWFyZ2luOiAxZW0gMDsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIHByZSBjb2RlIHsKICAgICAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgICAgIGNvbG9yOiBpbmhlcml0OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBhIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBhOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA0MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNjkuOCUpIil9OwogICAgICB9CgogICAgICAuZWRpdG9yLWZvb3RlciB7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGhlaWdodDogMjhweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAud29yZC1jb3VudCB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmxpbmstaW5wdXQgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMTAwJTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctcHJpbWFyeSk7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIHotaW5kZXg6IDEwMDA7CiAgICAgIH0KCiAgICAgIC5saW5rLWlucHV0LnNob3cgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAubGluay1pbnB1dCBpbnB1dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctcHJpbWFyeSk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOwogICAgICB9CgogICAgICAubGluay1pbnB1dCBpbnB1dDpmb2N1cyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklIC8gMC4wNSkiLCJoc2woMCAwJSA5OCUgLyAwLjA1KSIpfTsKICAgICAgfQoKICAgICAgLmxpbmstaW5wdXQtYnV0dG9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgIH0KCiAgICAgIC5saW5rLWlucHV0LWJ1dHRvbnMgYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5saW5rLWlucHV0LWJ1dHRvbnMgYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAubGluay1pbnB1dC1idXR0b25zIGJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgfQoKICAgICAgLmxpbmstaW5wdXQtYnV0dG9ucyBidXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5My45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkzLjklKSIpfTsKICAgICAgfQoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgZGVlcy10aWxlIHsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLnRvb2xiYXItYnV0dG9uLAogICAgICA6aG9zdChbZGlzYWJsZWRdKSAuZWRpdG9yLWNvbnRlbnQgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICBgXX0pO3ZhciBtbGEsZ2xhPWYoKCk9PntsZSgpO21sYT1zKGE9PndgCiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgICAke2EubGFiZWw/d2A8bGFiZWwgY2xhc3M9ImxhYmVsIj4ke2EubGFiZWx9PC9sYWJlbD5gOiIifQogICAgICAgICAgPGRlZXMtdGlsZSBjbGFzcz0iJHthLmVkaXRvcj8uaXNGb2N1c2VkPyJmb2N1c2VkIjoiIn0iIHN0eWxlPSItLW1pbi1oZWlnaHQ6ICR7YS5taW5IZWlnaHR9cHgiPgogICAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImVkaXRvci10b29sYmFyIj4KICAgICAgICAgICAgICAke2EucmVuZGVyVG9vbGJhcigpfQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxpbmstaW5wdXQgJHthLnNob3dMaW5rSW5wdXQ/InNob3ciOiIifSI+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idXJsIiBwbGFjZWhvbGRlcj0iRW50ZXIgVVJMLi4uIiBAa2V5ZG93bj0ke2EuaGFuZGxlTGlua0lucHV0S2V5ZG93bn0gLz4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxpbmstaW5wdXQtYnV0dG9ucyI+CiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InByaW1hcnkiIEBjbGljaz0ke2Euc2F2ZUxpbmt9PlNhdmU8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBAY2xpY2s9JHthLnJlbW92ZUxpbmt9PlJlbW92ZTwvYnV0dG9uPgogICAgICAgICAgICAgICAgICA8YnV0dG9uIEBjbGljaz0ke2EuaGlkZUxpbmtJbnB1dH0+Q2FuY2VsPC9idXR0b24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVkaXRvci1jb250ZW50Ij48L2Rpdj4KICAgICAgICAgICAgJHthLnNob3dXb3JkQ291bnQ/d2AKICAgICAgICAgICAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJlZGl0b3ItZm9vdGVyIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0id29yZC1jb3VudCI+JHthLndvcmRDb3VudH0gd29yZCR7YS53b3JkQ291bnQhPT0xPyJzIjoiIn08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGVlcy10aWxlPgogICAgICAgICAgJHthLnJlbmRlckRlc2NyaXB0aW9uKCl9CiAgICAgICAgPC9kaXY+CiAgICAgIGAsInJlbmRlclJpY2h0ZXh0Iil9KTt2YXIgZjUsYW4sanNlLFZzZT1mKCgpPT57U3IoKTtwbGEoKTtobGEoKTtnbGEoKTt2YSgpO2xlKCk7TGMoKTtYcigpO2Y1PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxhbj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sanNlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pbnB1dC1yaWNodGV4dCIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdO3ZhciBPPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRSaWNodGV4dCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBUPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpCb29sZWFufSldLHg9WyQoe3R5cGU6TnVtYmVyfSldLHk9W0soKV0sTj1bSygpXSxmNSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJ2YWx1ZSJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLnZhbHVlLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UudmFsdWU9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxuLGwpLGY1KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGxhY2Vob2xkZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+InBsYWNlaG9sZGVyImluIEUsImhhcyIpLGdldDpzKEU9PkUucGxhY2Vob2xkZXIsImdldCIpLHNldDpzKChFLEIpPT57RS5wbGFjZWhvbGRlcj1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LGMscCksZjUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93V29yZENvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJzaG93V29yZENvdW50ImluIEUsImhhcyIpLGdldDpzKEU9PkUuc2hvd1dvcmRDb3VudCwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLnNob3dXb3JkQ291bnQ9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxtLHYpLGY1KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWluSGVpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJtaW5IZWlnaHQiaW4gRSwiaGFzIiksZ2V0OnMoRT0+RS5taW5IZWlnaHQsImdldCIpLHNldDpzKChFLEIpPT57RS5taW5IZWlnaHQ9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxiLGcpLGY1KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0xpbmtJbnB1dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4ic2hvd0xpbmtJbnB1dCJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLnNob3dMaW5rSW5wdXQsImdldCIpLHNldDpzKChFLEIpPT57RS5zaG93TGlua0lucHV0PUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sayxDKSxmNSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndvcmRDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4id29yZENvdW50ImluIEUsImhhcyIpLGdldDpzKEU9PkUud29yZENvdW50LCJnZXQiKSxzZXQ6cygoRSxCKT0+e0Uud29yZENvdW50PUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sXyx6KSxmNShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpUfSxudWxsLHQpLE89cj1lLnZhbHVlLFQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6VH0pfXN0YXRpYyBkZW1vPXVsYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9YW4odGhpcyxuLCIiKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoVCl7dGhpcy4jZT1UfSN0PShhbih0aGlzLGwpLGFuKHRoaXMsYywiIikpO2dldCBwbGFjZWhvbGRlcigpe3JldHVybiB0aGlzLiN0fXNldCBwbGFjZWhvbGRlcihUKXt0aGlzLiN0PVR9I2E9KGFuKHRoaXMscCksYW4odGhpcyxtLCEwKSk7Z2V0IHNob3dXb3JkQ291bnQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2hvd1dvcmRDb3VudChUKXt0aGlzLiNhPVR9I3I9KGFuKHRoaXMsdiksYW4odGhpcyxiLDIwMCkpO2dldCBtaW5IZWlnaHQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgbWluSGVpZ2h0KFQpe3RoaXMuI3I9VH0jcz0oYW4odGhpcyxnKSxhbih0aGlzLGssITEpKTtnZXQgc2hvd0xpbmtJbnB1dCgpe3JldHVybiB0aGlzLiNzfXNldCBzaG93TGlua0lucHV0KFQpe3RoaXMuI3M9VH0jaT0oYW4odGhpcyxDKSxhbih0aGlzLF8sMCkpO2dldCB3b3JkQ291bnQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgd29yZENvdW50KFQpe3RoaXMuI2k9VH1lZGl0b3JFbGVtZW50PWFuKHRoaXMseik7bGlua0lucHV0RWxlbWVudDt0aXB0YXBCdW5kbGU9bnVsbDtlZGl0b3I7c3RhdGljIHN0eWxlcz1mbGE7cmVuZGVyKCl7cmV0dXJuIG1sYSh0aGlzKX1yZW5kZXJUb29sYmFyKCl7bGV0IFQ9dGhpcy5nZXRUb29sYmFyQnV0dG9ucygpO3JldHVybiB3YAogICAgICAke1QubWFwKEU9PkUuaXNEaXZpZGVyP3dgPGRpdiBjbGFzcz0idG9vbGJhci1kaXZpZGVyIj48L2Rpdj5gOndgCiAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiAke0UuaXNBY3RpdmU/LigpPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgQGNsaWNrPSR7RS5hY3Rpb259CiAgICAgICAgICAgIHRpdGxlPSR7RS50aXRsZX0KICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZHx8IXRoaXMuZWRpdG9yfQogICAgICAgICAgPgogICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7RS5pY29ufT48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIGApfQogICAgYH1nZXRUb29sYmFyQnV0dG9ucygpe3JldHVybiB0aGlzLmVkaXRvcj9be25hbWU6ImJvbGQiLGljb246Imx1Y2lkZTpib2xkIix0aXRsZToiQm9sZCAoQ3RybCtCKSIsYWN0aW9uOnMoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVCb2xkKCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJib2xkIiksImlzQWN0aXZlIil9LHtuYW1lOiJpdGFsaWMiLGljb246Imx1Y2lkZTppdGFsaWMiLHRpdGxlOiJJdGFsaWMgKEN0cmwrSSkiLGFjdGlvbjpzKCgpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlSXRhbGljKCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJpdGFsaWMiKSwiaXNBY3RpdmUiKX0se25hbWU6InVuZGVybGluZSIsaWNvbjoibHVjaWRlOnVuZGVybGluZSIsdGl0bGU6IlVuZGVybGluZSAoQ3RybCtVKSIsYWN0aW9uOnMoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVVbmRlcmxpbmUoKS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6cygoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoInVuZGVybGluZSIpLCJpc0FjdGl2ZSIpfSx7bmFtZToic3RyaWtlIixpY29uOiJsdWNpZGU6c3RyaWtldGhyb3VnaCIsdGl0bGU6IlN0cmlrZXRocm91Z2giLGFjdGlvbjpzKCgpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlU3RyaWtlKCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJzdHJpa2UiKSwiaXNBY3RpdmUiKX0se25hbWU6ImRpdmlkZXIxIix0aXRsZToiIixpc0RpdmlkZXI6ITB9LHtuYW1lOiJoMSIsaWNvbjoibHVjaWRlOmhlYWRpbmcxIix0aXRsZToiSGVhZGluZyAxIixhY3Rpb246cygoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUhlYWRpbmcoe2xldmVsOjF9KS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6cygoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoImhlYWRpbmciLHtsZXZlbDoxfSksImlzQWN0aXZlIil9LHtuYW1lOiJoMiIsaWNvbjoibHVjaWRlOmhlYWRpbmcyIix0aXRsZToiSGVhZGluZyAyIixhY3Rpb246cygoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUhlYWRpbmcoe2xldmVsOjJ9KS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6cygoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoImhlYWRpbmciLHtsZXZlbDoyfSksImlzQWN0aXZlIil9LHtuYW1lOiJoMyIsaWNvbjoibHVjaWRlOmhlYWRpbmczIix0aXRsZToiSGVhZGluZyAzIixhY3Rpb246cygoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUhlYWRpbmcoe2xldmVsOjN9KS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6cygoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoImhlYWRpbmciLHtsZXZlbDozfSksImlzQWN0aXZlIil9LHtuYW1lOiJkaXZpZGVyMiIsdGl0bGU6IiIsaXNEaXZpZGVyOiEwfSx7bmFtZToiYnVsbGV0TGlzdCIsaWNvbjoibHVjaWRlOmxpc3QiLHRpdGxlOiJCdWxsZXQgTGlzdCIsYWN0aW9uOnMoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVCdWxsZXRMaXN0KCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJidWxsZXRMaXN0IiksImlzQWN0aXZlIil9LHtuYW1lOiJvcmRlcmVkTGlzdCIsaWNvbjoibHVjaWRlOmxpc3RPcmRlcmVkIix0aXRsZToiTnVtYmVyZWQgTGlzdCIsYWN0aW9uOnMoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVPcmRlcmVkTGlzdCgpLnJ1bigpLCJhY3Rpb24iKSxpc0FjdGl2ZTpzKCgpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSgib3JkZXJlZExpc3QiKSwiaXNBY3RpdmUiKX0se25hbWU6ImJsb2NrcXVvdGUiLGljb246Imx1Y2lkZTpxdW90ZSIsdGl0bGU6IlF1b3RlIixhY3Rpb246cygoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUJsb2NrcXVvdGUoKS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6cygoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoImJsb2NrcXVvdGUiKSwiaXNBY3RpdmUiKX0se25hbWU6ImNvZGUiLGljb246Imx1Y2lkZTpjb2RlIix0aXRsZToiQ29kZSIsYWN0aW9uOnMoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVDb2RlKCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJjb2RlIiksImlzQWN0aXZlIil9LHtuYW1lOiJjb2RlQmxvY2siLGljb246Imx1Y2lkZTpmaWxlQ29kZSIsdGl0bGU6IkNvZGUgQmxvY2siLGFjdGlvbjpzKCgpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlQ29kZUJsb2NrKCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJjb2RlQmxvY2siKSwiaXNBY3RpdmUiKX0se25hbWU6ImRpdmlkZXIzIix0aXRsZToiIixpc0RpdmlkZXI6ITB9LHtuYW1lOiJsaW5rIixpY29uOiJsdWNpZGU6bGluayIsdGl0bGU6IkFkZCBMaW5rIixhY3Rpb246cygoKT0+dGhpcy50b2dnbGVMaW5rKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJsaW5rIiksImlzQWN0aXZlIil9LHtuYW1lOiJhbGlnbkxlZnQiLGljb246Imx1Y2lkZTphbGlnbkxlZnQiLHRpdGxlOiJBbGlnbiBMZWZ0IixhY3Rpb246cygoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnNldFRleHRBbGlnbigibGVmdCIpLnJ1bigpLCJhY3Rpb24iKSxpc0FjdGl2ZTpzKCgpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSh7dGV4dEFsaWduOiJsZWZ0In0pLCJpc0FjdGl2ZSIpfSx7bmFtZToiYWxpZ25DZW50ZXIiLGljb246Imx1Y2lkZTphbGlnbkNlbnRlciIsdGl0bGU6IkFsaWduIENlbnRlciIsYWN0aW9uOnMoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS5zZXRUZXh0QWxpZ24oImNlbnRlciIpLnJ1bigpLCJhY3Rpb24iKSxpc0FjdGl2ZTpzKCgpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSh7dGV4dEFsaWduOiJjZW50ZXIifSksImlzQWN0aXZlIil9LHtuYW1lOiJhbGlnblJpZ2h0IixpY29uOiJsdWNpZGU6YWxpZ25SaWdodCIsdGl0bGU6IkFsaWduIFJpZ2h0IixhY3Rpb246cygoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnNldFRleHRBbGlnbigicmlnaHQiKS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6cygoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoe3RleHRBbGlnbjoicmlnaHQifSksImlzQWN0aXZlIil9LHtuYW1lOiJkaXZpZGVyNCIsdGl0bGU6IiIsaXNEaXZpZGVyOiEwfSx7bmFtZToidW5kbyIsaWNvbjoibHVjaWRlOnVuZG8iLHRpdGxlOiJVbmRvIChDdHJsK1opIixhY3Rpb246cygoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnVuZG8oKS5ydW4oKSwiYWN0aW9uIil9LHtuYW1lOiJyZWRvIixpY29uOiJsdWNpZGU6cmVkbyIsdGl0bGU6IlJlZG8gKEN0cmwrWSkiLGFjdGlvbjpzKCgpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkucmVkbygpLnJ1bigpLCJhY3Rpb24iKX1dOltdfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2F3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy50aXB0YXBCdW5kbGU9YXdhaXQgTnMuZ2V0SW5zdGFuY2UoKS5sb2FkVGlwdGFwKCksdGhpcy5lZGl0b3JFbGVtZW50PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuZWRpdG9yLWNvbnRlbnQiKSx0aGlzLmxpbmtJbnB1dEVsZW1lbnQ9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5saW5rLWlucHV0IGlucHV0IiksdGhpcy5pbml0aWFsaXplRWRpdG9yKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCl9aW5pdGlhbGl6ZUVkaXRvcigpe2lmKHRoaXMuZGlzYWJsZWR8fCF0aGlzLnRpcHRhcEJ1bmRsZSlyZXR1cm47bGV0e0VkaXRvcjpULFN0YXJ0ZXJLaXQ6RSxVbmRlcmxpbmU6QixUZXh0QWxpZ246TSxMaW5rOlMsVHlwb2dyYXBoeTpQfT10aGlzLnRpcHRhcEJ1bmRsZTt0aGlzLmVkaXRvcj1uZXcgVCh7ZWxlbWVudDp0aGlzLmVkaXRvckVsZW1lbnQsZXh0ZW5zaW9uczpbRS5jb25maWd1cmUoe2hlYWRpbmc6e2xldmVsczpbMSwyLDNdfX0pLEIuY29uZmlndXJlKHt9KSxNLmNvbmZpZ3VyZSh7dHlwZXM6WyJoZWFkaW5nIiwicGFyYWdyYXBoIl19KSxTLmNvbmZpZ3VyZSh7b3Blbk9uQ2xpY2s6ITEsSFRNTEF0dHJpYnV0ZXM6e2NsYXNzOiJlZGl0b3ItbGluayJ9fSksUC5jb25maWd1cmUoe30pXSxjb250ZW50OnRoaXMudmFsdWV8fCh0aGlzLnBsYWNlaG9sZGVyP2A8cD4ke3RoaXMucGxhY2Vob2xkZXJ9PC9wPmA6IiIpLG9uVXBkYXRlOnMoKHtlZGl0b3I6QX0pPT57dGhpcy52YWx1ZT1BLmdldEhUTUwoKSx0aGlzLnVwZGF0ZVdvcmRDb3VudCgpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMudmFsdWUpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImlucHV0Iix7ZGV0YWlsOnt2YWx1ZTp0aGlzLnZhbHVlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNoYW5nZSIse2RldGFpbDp7dmFsdWU6dGhpcy52YWx1ZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX0sIm9uVXBkYXRlIiksb25TZWxlY3Rpb25VcGRhdGU6cygoKT0+e3RoaXMucmVxdWVzdFVwZGF0ZSgpfSwib25TZWxlY3Rpb25VcGRhdGUiKSxvbkZvY3VzOnMoKCk9Pnt0aGlzLnJlcXVlc3RVcGRhdGUoKX0sIm9uRm9jdXMiKSxvbkJsdXI6cygoKT0+e3RoaXMucmVxdWVzdFVwZGF0ZSgpfSwib25CbHVyIil9KSx0aGlzLnVwZGF0ZVdvcmRDb3VudCgpfXVwZGF0ZVdvcmRDb3VudCgpe2lmKCF0aGlzLmVkaXRvcilyZXR1cm47bGV0IFQ9dGhpcy5lZGl0b3IuZ2V0VGV4dCgpO3RoaXMud29yZENvdW50PVQudHJpbSgpP1QudHJpbSgpLnNwbGl0KC9ccysvKS5sZW5ndGg6MH10b2dnbGVMaW5rKCl7aWYodGhpcy5lZGl0b3IpaWYodGhpcy5lZGl0b3IuaXNBY3RpdmUoImxpbmsiKSl7bGV0IFQ9dGhpcy5lZGl0b3IuZ2V0QXR0cmlidXRlcygibGluayIpLmhyZWY7dGhpcy5zaG93TGlua0lucHV0PSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMubGlua0lucHV0RWxlbWVudCYmKHRoaXMubGlua0lucHV0RWxlbWVudC52YWx1ZT1UfHwiIix0aGlzLmxpbmtJbnB1dEVsZW1lbnQuZm9jdXMoKSx0aGlzLmxpbmtJbnB1dEVsZW1lbnQuc2VsZWN0KCkpfSl9ZWxzZSB0aGlzLnNob3dMaW5rSW5wdXQ9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5saW5rSW5wdXRFbGVtZW50JiYodGhpcy5saW5rSW5wdXRFbGVtZW50LnZhbHVlPSIiLHRoaXMubGlua0lucHV0RWxlbWVudC5mb2N1cygpKX0pfXNhdmVMaW5rKCl7aWYoIXRoaXMuZWRpdG9yfHwhdGhpcy5saW5rSW5wdXRFbGVtZW50KXJldHVybjtsZXQgVD10aGlzLmxpbmtJbnB1dEVsZW1lbnQudmFsdWU7VCYmdGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnNldExpbmsoe2hyZWY6VH0pLnJ1bigpLHRoaXMuaGlkZUxpbmtJbnB1dCgpfXJlbW92ZUxpbmsoKXt0aGlzLmVkaXRvciYmKHRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS51bnNldExpbmsoKS5ydW4oKSx0aGlzLmhpZGVMaW5rSW5wdXQoKSl9aGlkZUxpbmtJbnB1dCgpe3RoaXMuc2hvd0xpbmtJbnB1dD0hMSx0aGlzLmVkaXRvcj8uY29tbWFuZHMuZm9jdXMoKX1oYW5kbGVMaW5rSW5wdXRLZXlkb3duKFQpe1Qua2V5PT09IkVudGVyIj8oVC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2F2ZUxpbmsoKSk6VC5rZXk9PT0iRXNjYXBlIiYmKFQucHJldmVudERlZmF1bHQoKSx0aGlzLmhpZGVMaW5rSW5wdXQoKSl9c2V0VmFsdWUoVCl7dGhpcy52YWx1ZT1ULHRoaXMuZWRpdG9yJiZUIT09dGhpcy5lZGl0b3IuZ2V0SFRNTCgpJiZ0aGlzLmVkaXRvci5jb21tYW5kcy5zZXRDb250ZW50KFQpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9Y2xlYXIoKXt0aGlzLnNldFZhbHVlKCIiKX1mb2N1cygpe3RoaXMuZWRpdG9yPy5jb21tYW5kcy5mb2N1cygpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmVkaXRvciYmdGhpcy5lZGl0b3IuZGVzdHJveSgpfXN0YXRpY3thbihyLHQpfX07cmV0dXJuIE89cn0pKCl9KTt2YXIgYmxhLHZsYT1mKCgpPT57b1FlKCk7VnMoKTtsZSgpO05hKCk7YmxhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgJHtYYAogICAgICAuZGVtb1dyYXBwZXIgewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAzMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgNSUpIil9OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgfQogICAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0OHB4OwogICAgICB9CiAgICAgIC5kZW1vLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICB9CiAgICAgIC5kZW1vLWRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQogICAgICAudGhlbWUtdG9nZ2xlIHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAxNnB4OwogICAgICAgIHJpZ2h0OiAxNnB4OwogICAgICAgIHotaW5kZXg6IDEwMDA7CiAgICAgIH0KICAgIGB9CiAgPC9zdHlsZT4KICA8ZGl2IGNsYXNzPSJkZW1vV3JhcHBlciI+CiAgICA8ZGVlcy1idXR0b24gY2xhc3M9InRoZW1lLXRvZ2dsZSIgQGNsaWNrPSR7KCk9Pntkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUoImJyaWdodCIpLGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnRvZ2dsZSgiZGFyayIpfX0+VG9nZ2xlIFRoZW1lPC9kZWVzLWJ1dHRvbj4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+QmFzaWMgVGFibGUgd2l0aCBBY3Rpb25zPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+QSBzdGFuZGFyZCB0YWJsZSB3aXRoIHJvdyBhY3Rpb25zLCBlZGl0YWJsZSBjZWxscywgYW5kIGNvbnRleHQgbWVudSBzdXBwb3J0LiBEb3VibGUtY2xpY2sgYW55IGNlbGwgdG8gZWRpdC4gVGFiIG1vdmVzIHRvIHRoZSBuZXh0IGVkaXRhYmxlIGNlbGwsIEVudGVyIHRvIHRoZSByb3cgYmVsb3csIEVzYyBjYW5jZWxzLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9IkN1cnJlbnQgQWNjb3VudCBTdGF0ZW1lbnQiCiAgICAgICAgICBoZWFkaW5nMj0iQnVucSAtIFBheW1lbnQgQWNjb3VudCAyIC0gQXByaWwgMjAyMSIKICAgICAgICAgIC5jb2x1bW5zPSR7W3trZXk6ImRhdGUiLGhlYWRlcjoiRGF0ZSIsc29ydGFibGU6ITAsZWRpdGFibGU6ITAsZWRpdG9yOiJkYXRlIn0se2tleToiYW1vdW50IixoZWFkZXI6IkFtb3VudCIsZWRpdGFibGU6ITAsZWRpdG9yOiJ0ZXh0In0se2tleToiY2F0ZWdvcnkiLGhlYWRlcjoiQ2F0ZWdvcnkiLGVkaXRhYmxlOiEwLGVkaXRvcjoiZHJvcGRvd24iLGVkaXRvck9wdGlvbnM6e29wdGlvbnM6W3tvcHRpb246Ik9mZmljZSBTdXBwbGllcyIsa2V5OiJvZmZpY2UifSx7b3B0aW9uOiJIYXJkd2FyZSIsa2V5OiJoYXJkd2FyZSJ9LHtvcHRpb246IlNvZnR3YXJlIixrZXk6InNvZnR3YXJlIn0se29wdGlvbjoiVHJhdmVsIixrZXk6InRyYXZlbCJ9XX19LHtrZXk6ImRlc2NyaXB0aW9uIixoZWFkZXI6IkRlc2NyaXB0aW9uIixlZGl0YWJsZTohMH0se2tleToicmVjb25jaWxlZCIsaGVhZGVyOiJPSyIsZWRpdGFibGU6ITAsZWRpdG9yOiJjaGVja2JveCJ9XX0KICAgICAgICAgIEBjZWxsRWRpdD0ke2E9PmNvbnNvbGUubG9nKCJjZWxsRWRpdCIsYS5kZXRhaWwpfQogICAgICAgICAgLmRhdGE9JHtbe2RhdGU6IjIwMjEtMDQtMDEiLGFtb3VudDoiMjQ2NC42NSBcdTIwQUMiLGNhdGVnb3J5OiJvZmZpY2UiLGRlc2NyaXB0aW9uOiJQcmludGluZyBQYXBlciAtIFNUQVBMRVMgQlJFTUVOIixyZWNvbmNpbGVkOiEwfSx7ZGF0ZToiMjAyMS0wNC0wMiIsYW1vdW50OiIxNjUuNjUgXHUyMEFDIixjYXRlZ29yeToiaGFyZHdhcmUiLGRlc2NyaXB0aW9uOiJMb2dpdGVjaCBNb3VzZSAtIGxvZ2kuY29tIE9ubGluZVNob3AiLHJlY29uY2lsZWQ6ITF9LHtkYXRlOiIyMDIxLTA0LTAzIixhbW91bnQ6IjI5OTksMDAgXHUyMEFDIixjYXRlZ29yeToiaGFyZHdhcmUiLGRlc2NyaXB0aW9uOiJNYWNib29rIFBybyAxNmluY2ggLSBBcHBsZS5kZSBPbmxpbmVTaG9wIixyZWNvbmNpbGVkOiExfSx7ZGF0ZToiMjAyMS0wNC0wMSIsYW1vdW50OiIyNDY0LjY1IFx1MjBBQyIsY2F0ZWdvcnk6Im9mZmljZSIsZGVzY3JpcHRpb246Ik9mZmljZS1TdXBwbGllcyAtIFNUQVBMRVMgQlJFTUVOIixyZWNvbmNpbGVkOiEwfSx7ZGF0ZToiMjAyMS0wNC0wMSIsYW1vdW50OiIyNDY0LjY1IFx1MjBBQyIsY2F0ZWdvcnk6Im9mZmljZSIsZGVzY3JpcHRpb246Ik9mZmljZS1TdXBwbGllcyAtIFNUQVBMRVMgQlJFTUVOIixyZWNvbmNpbGVkOiEwfV19CiAgICAgICAgICBkYXRhTmFtZT0idHJhbnNhY3Rpb25zIgogICAgICAgICAgLmRhdGFBY3Rpb25zPSIke1t7bmFtZToidXBsb2FkIixpY29uTmFtZToiYmVsbCIsdXNlVGFibGVCZWhhdmlvdXI6InVwbG9hZCIsdHlwZTpbImluUm93Il0sYWN0aW9uRnVuYzpzKGFzeW5jIGE9PnthbGVydChhLml0ZW0uYW1vdW50KX0sImFjdGlvbkZ1bmMiKX0se25hbWU6InZpc2liaWxpdHkiLGljb25OYW1lOiJjb3B5Iix0eXBlOlsiaW5Sb3ciXSx1c2VUYWJsZUJlaGF2aW91cjoicHJldmlldyIsYWN0aW9uRnVuYzpzKGFzeW5jIGE9Pnt9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJjcmVhdGUgbmV3IixpY29uTmFtZToiaW5zdGFncmFtIix0eXBlOlsiaGVhZGVyIl0sdXNlVGFibGVCZWhhdmlvdXI6InByZXZpZXciLGFjdGlvbkZ1bmM6cyhhc3luYyBhPT57fSwiYWN0aW9uRnVuYyIpfSx7bmFtZToidG8gZ2FsbGVyeSIsaWNvbk5hbWU6Im1lc3NhZ2UiLHR5cGU6WyJmb290ZXIiXSx1c2VUYWJsZUJlaGF2aW91cjoicHJldmlldyIsYWN0aW9uRnVuYzpzKGFzeW5jIGE9Pnt9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJjb3B5IixpY29uTmFtZToiY29weVNvbGlkIix0eXBlOlsiY29udGV4dG1lbnUiLCJpblJvdyJdLGFjdGlvbjpzKGFzeW5jKCk9Pm51bGwsImFjdGlvbiIpfSx7bmFtZToiZWRpdCAoZnJvbSBkZW1vKSIsaWNvbk5hbWU6InBlblRvU3F1YXJlIix0eXBlOlsiY29udGV4dG1lbnUiXSxhY3Rpb246cyhhc3luYygpPT5udWxsLCJhY3Rpb24iKX0se25hbWU6InBhc3RlIixpY29uTmFtZToicGFzdGVTb2xpZCIsdHlwZTpbImNvbnRleHRtZW51Il0sYWN0aW9uOnMoYXN5bmMoKT0+bnVsbCwiYWN0aW9uIil9LHtuYW1lOiJwcmV2aWV3Iix0eXBlOlsiZG91YmxlQ2xpY2siLCJjb250ZXh0bWVudSJdLGljb25OYW1lOiJleWUiLGFjdGlvbkZ1bmM6cyhhc3luYyBhPT4oYWxlcnQoYS5pdGVtLmFtb3VudCksbnVsbCksImFjdGlvbkZ1bmMiKX1dfSIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5UYWJsZSB3aXRoIFZlcnRpY2FsIExpbmVzPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+RW5oYW5jZWQgY29sdW1uIHNlcGFyYXRpb24gZm9yIGJldHRlciBkYXRhIHRyYWNraW5nLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9IlByb2R1Y3QgSW52ZW50b3J5IgogICAgICAgICAgaGVhZGluZzI9IkN1cnJlbnQgc3RvY2sgbGV2ZWxzIGFjcm9zcyB3YXJlaG91c2VzIgogICAgICAgICAgLnNob3dWZXJ0aWNhbExpbmVzPSR7ITB9CiAgICAgICAgICAuZGF0YT0ke1t7cHJvZHVjdDonTWFjQm9vayBQcm8gMTYiJyx3YXJlaG91c2VfYToiNDUiLHdhcmVob3VzZV9iOiIzMiIsd2FyZWhvdXNlX2M6IjI4Iix0b3RhbDoiMTA1IixzdGF0dXM6Ilx1MjcxMyBJbiBTdG9jayJ9LHtwcm9kdWN0OiJpUGhvbmUgMTUgUHJvIix3YXJlaG91c2VfYToiMTIwIix3YXJlaG91c2VfYjoiODkiLHdhcmVob3VzZV9jOiIxNTYiLHRvdGFsOiIzNjUiLHN0YXR1czoiXHUyNzEzIEluIFN0b2NrIn0se3Byb2R1Y3Q6IkFpclBvZHMgUHJvIix3YXJlaG91c2VfYToiMCIsd2FyZWhvdXNlX2I6IjEyIix3YXJlaG91c2VfYzoiNSIsdG90YWw6IjE3IixzdGF0dXM6Ilx1MjZBMCBMb3cgU3RvY2sifSx7cHJvZHVjdDoiaVBhZCBBaXIiLHdhcmVob3VzZV9hOiIyMyIsd2FyZWhvdXNlX2I6IjQ1Iix3YXJlaG91c2VfYzoiNjciLHRvdGFsOiIxMzUiLHN0YXR1czoiXHUyNzEzIEluIFN0b2NrIn1dfQogICAgICAgICAgZGF0YU5hbWU9InByb2R1Y3RzIgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlRhYmxlIHdpdGggRnVsbCBHcmlkPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+Q29tcGxldGUgZ3JpZCBsaW5lcyBmb3IgbWF4aW11bSByZWFkYWJpbGl0eSBhbmQgc3RydWN0dXJlLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9IlNlcnZlciBNb25pdG9yaW5nIERhc2hib2FyZCIKICAgICAgICAgIGhlYWRpbmcyPSJSZWFsLXRpbWUgbWV0cmljcyBhY3Jvc3MgcmVnaW9ucyIKICAgICAgICAgIC5zaG93R3JpZD0keyEwfQogICAgICAgICAgLmRhdGE9JHtbe3NlcnZlcjoiQVBJLTEiLHJlZ2lvbjoiVVMtRWFzdCIsY3B1OiI0NSUiLG1lbW9yeToiNjIlIixkaXNrOiI3OCUiLGxhdGVuY3k6IjEybXMiLHVwdGltZToiOTkuOSUiLHN0YXR1czoiXHV7MUY3RTJ9IEhlYWx0aHkifSx7c2VydmVyOiJBUEktMiIscmVnaW9uOiJFVS1XZXN0IixjcHU6IjM4JSIsbWVtb3J5OiI1NSUiLGRpc2s6IjQ1JSIsbGF0ZW5jeToiMjVtcyIsdXB0aW1lOiI5OS44JSIsc3RhdHVzOiJcdXsxRjdFMn0gSGVhbHRoeSJ9LHtzZXJ2ZXI6IkRCLU1hc3RlciIscmVnaW9uOiJVUy1FYXN0IixjcHU6IjcyJSIsbWVtb3J5OiI4MSUiLGRpc2s6IjkyJSIsbGF0ZW5jeToiOG1zIix1cHRpbWU6IjEwMCUiLHN0YXR1czoiXHV7MUY3RTF9IFdhcm5pbmcifSx7c2VydmVyOiJEQi1SZXBsaWNhIixyZWdpb246IkVVLVdlc3QiLGNwdToiMjMlIixtZW1vcnk6IjM0JSIsZGlzazoiNDUlIixsYXRlbmN5OiIxNW1zIix1cHRpbWU6Ijk5LjclIixzdGF0dXM6Ilx1ezFGN0UyfSBIZWFsdGh5In0se3NlcnZlcjoiQ2FjaGUtMSIscmVnaW9uOiJBUC1Tb3V0aCIsY3B1OiI4OSUiLG1lbW9yeToiOTIlIixkaXNrOiIxMiUiLGxhdGVuY3k6IjEyMG1zIix1cHRpbWU6Ijk4LjUlIixzdGF0dXM6Ilx1ezFGNTM0fSBDcml0aWNhbCJ9XX0KICAgICAgICAgIGRhdGFOYW1lPSJzZXJ2ZXJzIgogICAgICAgICAgLmRhdGFBY3Rpb25zPSIke1t7bmFtZToiU1NIIENvbm5lY3QiLGljb25OYW1lOiJsdWNpZGU6dGVybWluYWwiLHR5cGU6WyJpblJvdyJdLGFjdGlvbkZ1bmM6cyhhc3luYyBhPT57Y29uc29sZS5sb2coIkNvbm5lY3RpbmcgdG86IixhLml0ZW0uc2VydmVyKX0sImFjdGlvbkZ1bmMiKX0se25hbWU6IlZpZXcgTG9ncyIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlLXRleHQiLHR5cGU6WyJpblJvdyIsImNvbnRleHRtZW51Il0sYWN0aW9uRnVuYzpzKGFzeW5jIGE9Pntjb25zb2xlLmxvZygiVmlld2luZyBsb2dzIGZvcjoiLGEuaXRlbS5zZXJ2ZXIpfSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiUmVzdGFydCBTZXJ2ZXIiLGljb25OYW1lOiJsdWNpZGU6cmVmcmVzaC1jdyIsdHlwZTpbImNvbnRleHRtZW51Il0sYWN0aW9uRnVuYzpzKGFzeW5jIGE9Pntjb25zb2xlLmxvZygiUmVzdGFydGluZzoiLGEuaXRlbS5zZXJ2ZXIpfSwiYWN0aW9uRnVuYyIpfV19IgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlRhYmxlIHdpdGggSG9yaXpvbnRhbCBMaW5lcyBPbmx5PC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+RW1waGFzaXMgb24gcm93IHNlcGFyYXRpb24gd2l0aG91dCBjb2x1bW4gZGl2aWRlcnMuPC9wPgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBoZWFkaW5nMT0iU2FsZXMgUGVyZm9ybWFuY2UiCiAgICAgICAgICBoZWFkaW5nMj0iVG9wIHBlcmZvcm1lcnMgdGhpcyBxdWFydGVyIgogICAgICAgICAgLnNob3dIb3Jpem9udGFsTGluZXM9JHshMH0KICAgICAgICAgIC5zaG93VmVydGljYWxMaW5lcz0keyExfQogICAgICAgICAgLmRhdGE9JHtbe3NhbGVzcGVyc29uOiJFbWlseSBKb2huc29uIixyZWdpb246Ik5vcnRoIEFtZXJpY2EiLGRlYWxzX2Nsb3NlZDoiNDIiLHJldmVudWU6IiQxLjJNIixxdW90YV9hY2hpZXZlbWVudDoiMTI4JSIscmF0aW5nOiJcdTJCNTBcdTJCNTBcdTJCNTBcdTJCNTBcdTJCNTAifSx7c2FsZXNwZXJzb246Ik1pY2hhZWwgQ2hlbiIscmVnaW9uOiJBc2lhIFBhY2lmaWMiLGRlYWxzX2Nsb3NlZDoiMzgiLHJldmVudWU6IiQ5ODBLIixxdW90YV9hY2hpZXZlbWVudDoiMTE1JSIscmF0aW5nOiJcdTJCNTBcdTJCNTBcdTJCNTBcdTJCNTBcdTJCNTAifSx7c2FsZXNwZXJzb246IlNhcmFoIFdpbGxpYW1zIixyZWdpb246IkV1cm9wZSIsZGVhbHNfY2xvc2VkOiIzNSIscmV2ZW51ZToiJDg3NUsiLHF1b3RhX2FjaGlldmVtZW50OiIxMDglIixyYXRpbmc6Ilx1MkI1MFx1MkI1MFx1MkI1MFx1MkI1MCJ9LHtzYWxlc3BlcnNvbjoiRGF2aWQgR2FyY2lhIixyZWdpb246IkxhdGluIEFtZXJpY2EiLGRlYWxzX2Nsb3NlZDoiMzEiLHJldmVudWU6IiQ3NTBLIixxdW90YV9hY2hpZXZlbWVudDoiOTUlIixyYXRpbmc6Ilx1MkI1MFx1MkI1MFx1MkI1MFx1MkI1MCJ9XX0KICAgICAgICAgIGRhdGFOYW1lPSJzYWxlcyByZXBzIgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlNpbXBsZSBUYWJsZSAoTm8gR3JpZCk8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5DbGVhbiwgbWluaW1hbCBkZXNpZ24gd2l0aG91dCBncmlkIGxpbmVzLiBTZXQgc2hvd0dyaWQgdG8gZmFsc2UgdG8gZGlzYWJsZSB0aGUgZGVmYXVsdCBncmlkLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9IlRlYW0gTWVtYmVycyIKICAgICAgICAgIGhlYWRpbmcyPSJFbmdpbmVlcmluZyBEZXBhcnRtZW50IgogICAgICAgICAgLnNob3dHcmlkPSR7ITF9CiAgICAgICAgICAuZGF0YT0ke1t7bmFtZToiQWxpY2UgSm9obnNvbiIscm9sZToiTGVhZCBFbmdpbmVlciIsZW1haWw6ImFsaWNlQGNvbXBhbnkuY29tIixsb2NhdGlvbjoiU2FuIEZyYW5jaXNjbyIsam9pbmVkOiIyMDIwLTAzLTE1In0se25hbWU6IkJvYiBTbWl0aCIscm9sZToiU2VuaW9yIERldmVsb3BlciIsZW1haWw6ImJvYkBjb21wYW55LmNvbSIsbG9jYXRpb246Ik5ldyBZb3JrIixqb2luZWQ6IjIwMTktMDctMjIifSx7bmFtZToiQ2hhcmxpZSBEYXZpcyIscm9sZToiRGV2T3BzIEVuZ2luZWVyIixlbWFpbDoiY2hhcmxpZUBjb21wYW55LmNvbSIsbG9jYXRpb246IkxvbmRvbiIsam9pbmVkOiIyMDIxLTAxLTEwIn0se25hbWU6IkRpYW5hIE1hcnRpbmV6Iixyb2xlOiJGcm9udGVuZCBEZXZlbG9wZXIiLGVtYWlsOiJkaWFuYUBjb21wYW55LmNvbSIsbG9jYXRpb246IkJhcmNlbG9uYSIsam9pbmVkOiIyMDIyLTA1LTE4In1dfQogICAgICAgICAgZGF0YU5hbWU9InRlYW0gbWVtYmVycyIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5UYWJsZSB3aXRoIEN1c3RvbSBEaXNwbGF5IEZ1bmN0aW9uPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+VHJhbnNmb3JtIGRhdGEgZm9yIGRpc3BsYXkgdXNpbmcgY3VzdG9tIGZvcm1hdHRpbmcuPC9wPgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBoZWFkaW5nMT0iU2FsZXMgUmVwb3J0IgogICAgICAgICAgaGVhZGluZzI9IlE0IDIwMjMgUGVyZm9ybWFuY2UiCiAgICAgICAgICAuZGF0YT0ke1t7cHJvZHVjdDoiRW50ZXJwcmlzZSBMaWNlbnNlIix1bml0czo0NSxyZXZlbnVlOjIyNWUzLGdyb3d0aDouMjMsZm9yZWNhc3Q6MjhlNH0se3Byb2R1Y3Q6IlByb2Zlc3Npb25hbCBMaWNlbnNlIix1bml0czoxMjgscmV2ZW51ZToxMjhlMyxncm93dGg6LjE1LGZvcmVjYXN0OjE0N2UzfSx7cHJvZHVjdDoiU3RhcnRlciBMaWNlbnNlIix1bml0czozNDIscmV2ZW51ZTo2ODQwMCxncm93dGg6LjQyLGZvcmVjYXN0Ojk3ZTN9XX0KICAgICAgICAgIC5kaXNwbGF5RnVuY3Rpb249JHthPT4oe1Byb2R1Y3Q6YS5wcm9kdWN0LCJVbml0cyBTb2xkIjphLnVuaXRzLnRvTG9jYWxlU3RyaW5nKCksUmV2ZW51ZToiJCIrYS5yZXZlbnVlLnRvTG9jYWxlU3RyaW5nKCksR3Jvd3RoOihhLmdyb3d0aCoxMDApLnRvRml4ZWQoMSkrIiUiLCJRMSAyMDI0IEZvcmVjYXN0IjoiJCIrYS5mb3JlY2FzdC50b0xvY2FsZVN0cmluZygpfSl9CiAgICAgICAgICBkYXRhTmFtZT0icHJvZHVjdHMiCiAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+RW1wdHkgVGFibGUgU3RhdGU8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5Ib3cgdGhlIHRhYmxlIGxvb2tzIHdoZW4gbm8gZGF0YSBpcyBhdmFpbGFibGUuPC9wPgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBoZWFkaW5nMT0iTm8gRGF0YSBBdmFpbGFibGUiCiAgICAgICAgICBoZWFkaW5nMj0iVGhpcyB0YWJsZSBpcyBjdXJyZW50bHkgZW1wdHkiCiAgICAgICAgICAuZGF0YT0ke1tdfQogICAgICAgICAgZGF0YU5hbWU9Iml0ZW1zIgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlNjaGVtYS1GaXJzdCBDb2x1bW5zIChOZXcpPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+RGVmaW5lcyBjb2x1bW5zIGV4cGxpY2l0bHkgYW5kIHJlbmRlcnMgdmlhIHNjaGVtYS4gTm8gZGlzcGxheUZ1bmN0aW9uIG5lZWRlZC48L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJVc2VycyAoU2NoZW1hLUZpcnN0KSIKICAgICAgICAgIGhlYWRpbmcyPSJDb2x1bW5zIGRlZmluZSByZW5kZXJpbmcgYW5kIG9yZGVyIgogICAgICAgICAgLmNvbHVtbnM9JHtbe2tleToibmFtZSIsaGVhZGVyOiJOYW1lIixzb3J0YWJsZTohMH0se2tleToiZW1haWwiLGhlYWRlcjoiRW1haWwiLHJlbmRlcmVyOnMoYT0+d2A8ZGVlcy1iYWRnZT4ke2F9PC9kZWVzLWJhZGdlPmAsInJlbmRlcmVyIil9LHtrZXk6ImpvaW5lZEF0IixoZWFkZXI6IkpvaW5lZCIscmVuZGVyZXI6cyhhPT5uZXcgRGF0ZShhKS50b0xvY2FsZURhdGVTdHJpbmcoKSwicmVuZGVyZXIiKX1dfQogICAgICAgICAgLmRhdGE9JHtbe25hbWU6IkFsaWNlIixlbWFpbDoiYWxpY2VAZXhhbXBsZS5jb20iLGpvaW5lZEF0OiIyMDIyLTA4LTAxIn0se25hbWU6IkJvYiIsZW1haWw6ImJvYkBleGFtcGxlLmNvbSIsam9pbmVkQXQ6IjIwMjEtMTItMTEifSx7bmFtZToiQ2Fyb2wiLGVtYWlsOiJjYXJvbEBleGFtcGxlLmNvbSIsam9pbmVkQXQ6IjIwMjMtMDMtMjIifV19CiAgICAgICAgICBkYXRhTmFtZT0idXNlcnMiCiAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+UGFydGlhbCBTY2hlbWEgKyBBdWdtZW50IChOZXcpPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+UHJvdmlkZXMgb25seSB0aGUgaW1wb3J0YW50IGNvbHVtbnM7IHRoZSByZXN0IGFyZSBtZXJnZWQgaW4gZnJvbSBkaXNwbGF5RnVuY3Rpb24uPC9wPgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBoZWFkaW5nMT0iVXNlcnMgKFBhcnRpYWwgKyBBdWdtZW50KSIKICAgICAgICAgIGhlYWRpbmcyPSJNaXNzaW5nIGNvbHVtbnMgYXJlIGRlcml2ZWQiCiAgICAgICAgICAuY29sdW1ucz0ke1t7a2V5OiJuYW1lIixoZWFkZXI6Ik5hbWUiLHNvcnRhYmxlOiEwfV19CiAgICAgICAgICAuZGlzcGxheUZ1bmN0aW9uPSR7YT0+KHtuYW1lOmEubmFtZSxlbWFpbDphLmVtYWlsLHJvbGU6YS5yb2xlfSl9CiAgICAgICAgICAuYXVnbWVudEZyb21EaXNwbGF5RnVuY3Rpb249JHshMH0KICAgICAgICAgIC5kYXRhPSR7W3tuYW1lOiJFcmluIixlbWFpbDoiZXJpbkBleGFtcGxlLmNvbSIscm9sZToiQWRtaW4ifSx7bmFtZToiRmlubiIsZW1haWw6ImZpbm5AZXhhbXBsZS5jb20iLHJvbGU6IlVzZXIifSx7bmFtZToiR2luYSIsZW1haWw6ImdpbmFAZXhhbXBsZS5jb20iLHJvbGU6IlVzZXIifV19CiAgICAgICAgICBkYXRhTmFtZT0idXNlcnMiCiAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iIAogICAgICAgICAgIEBzZWxlY3Rpb25DaGFuZ2U9JHthPT57Y29uc29sZS5sb2coIlNlbGVjdGlvbiBjaGFuZ2VkIixhLmRldGFpbCl9fQogICAgICAgICAgIEBzZWFyY2gtY2hhbmdlZD0ke2E9PntsZXQgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFibGVGaWx0ZXJTZWxlY3REZW1vIik7ZSYmZS5zZXRGaWx0ZXJUZXh0KGEuZGV0YWlsLnZhbHVlKX19CiAgICAgICAgICAgQHNlYXJjaC1zdWJtaXQ9JHthPT57bGV0IGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhYmxlRmlsdGVyU2VsZWN0RGVtbyIpO2UmJmUuc2V0RmlsdGVyVGV4dChhLmRldGFpbC52YWx1ZSl9fQogICAgICA+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5GaWx0ZXJpbmcgKyBNdWx0aS1TZWxlY3Rpb24gKE5ldyk8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5Vc2UgdGhlIHNlYXJjaCBiYXIgdG8gZmlsdGVyIHJvd3M7IHRvZ2dsZSBzZWxlY3Rpb24gdmlhIGNoZWNrYm94ZXMuIENsaWNrIGhlYWRlcnMgdG8gc29ydC48L3A+CiAgICAgICAgPGRlZXMtc2VhcmNoYmFyPjwvZGVlcy1zZWFyY2hiYXI+CiAgICAgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAxMnB4Ij48L2Rpdj4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaWQ9InRhYmxlRmlsdGVyU2VsZWN0RGVtbyIKICAgICAgICAgIGhlYWRpbmcxPSJJbnZlbnRvcnkgKEZpbHRlciArIFNlbGVjdCkiCiAgICAgICAgICBoZWFkaW5nMj0iVHJ5IHR5cGluZyB0byBmaWx0ZXIgYW5kIHNlbGVjdGluZyBtdWx0aXBsZSByb3dzIgogICAgICAgICAgLnNlbGVjdGlvbk1vZGU9JHsibXVsdGkifQogICAgICAgICAgLnJvd0tleT0keyJza3UifQogICAgICAgICAgLmNvbHVtbnM9JHtbe2tleToic2t1IixoZWFkZXI6IlNLVSIsc29ydGFibGU6ITB9LHtrZXk6Im5hbWUiLGhlYWRlcjoiTmFtZSIsc29ydGFibGU6ITB9LHtrZXk6InN0b2NrIixoZWFkZXI6IlN0b2NrIixzb3J0YWJsZTohMH1dfQogICAgICAgICAgLmRhdGE9JHtbe3NrdToiQS0xMDAiLG5hbWU6IlVTQi1DIENhYmxlIixzdG9jazoxMjB9LHtza3U6IkEtMTAxIixuYW1lOiJXaXJlbGVzcyBNb3VzZSIsc3RvY2s6NTV9LHtza3U6IkEtMTAyIixuYW1lOiJMYXB0b3AgU3RhbmQiLHN0b2NrOjE4fSx7c2t1OiJCLTIwMCIsbmFtZToiS2V5Ym9hcmQgKElTTykiLHN0b2NrOjg5fSx7c2t1OiJCLTIwMSIsbmFtZToiSERNSSBBZGFwdGVyIixzdG9jazowfSx7c2t1OiJDLTMwMCIsbmFtZToiV2ViY2FtIDEwODBwIixzdG9jazo0Mn1dfQogICAgICAgICAgZGF0YU5hbWU9Iml0ZW1zIgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPkNvbHVtbiBGaWx0ZXJzICsgU3RpY2t5IEhlYWRlciAoTmV3KTwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPlBlci1jb2x1bW4gcXVpY2sgZmlsdGVycyBhbmQgc3RpY2t5IGhlYWRlciB3aXRoIGludGVybmFsIHNjcm9sbC4gVHJ5IGZpbHRlcmluZyB0aGUgTmFtZSBjb2x1bW4uIFVzZXMgLS10YWJsZS1tYXgtaGVpZ2h0IHZhci48L3A+CiAgICAgICAgPHN0eWxlPgogICAgICAgICAgZGVlcy10YWJsZVtmaXhlZC1oZWlnaHRdIHsgLS10YWJsZS1tYXgtaGVpZ2h0OiAyMjBweDsgfQogICAgICAgIDwvc3R5bGU+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJFbXBsb3llZXMiCiAgICAgICAgICBoZWFkaW5nMj0iUXVpY2sgZmlsdGVyIHBlciBjb2x1bW4gKyBzdGlja3kgaGVhZGVyIgogICAgICAgICAgLnNob3dDb2x1bW5GaWx0ZXJzPSR7ITB9CiAgICAgICAgICAuZml4ZWRIZWlnaHQ9JHshMH0KICAgICAgICAgIC5jb2x1bW5zPSR7W3trZXk6Im5hbWUiLGhlYWRlcjoiTmFtZSIsc29ydGFibGU6ITB9LHtrZXk6ImVtYWlsIixoZWFkZXI6IkVtYWlsIixzb3J0YWJsZTohMH0se2tleToiZGVwYXJ0bWVudCIsaGVhZGVyOiJEZXBhcnRtZW50Iixzb3J0YWJsZTohMH1dfQogICAgICAgICAgLmRhdGE9JHtbe25hbWU6IkFsaWNlIEpvaG5zb24iLGVtYWlsOiJhbGljZUBjb3JwLmNvbSIsZGVwYXJ0bWVudDoiRW5naW5lZXJpbmcifSx7bmFtZToiQm9iIFNtaXRoIixlbWFpbDoiYm9iQGNvcnAuY29tIixkZXBhcnRtZW50OiJTYWxlcyJ9LHtuYW1lOiJDaGFybGllIERhdmlzIixlbWFpbDoiY2hhcmxpZUBjb3JwLmNvbSIsZGVwYXJ0bWVudDoiSFIifSx7bmFtZToiRGlhbmEgTWFydGluZXoiLGVtYWlsOiJkaWFuYUBjb3JwLmNvbSIsZGVwYXJ0bWVudDoiRW5naW5lZXJpbmcifSx7bmFtZToiRXRoYW4gQnJvd24iLGVtYWlsOiJldGhhbkBjb3JwLmNvbSIsZGVwYXJ0bWVudDoiRmluYW5jZSJ9LHtuYW1lOiJGaW9uYSBDbGFyayIsZW1haWw6ImZpb25hQGNvcnAuY29tIixkZXBhcnRtZW50OiJTYWxlcyJ9LHtuYW1lOiJHcmFjZSBMZWUiLGVtYWlsOiJncmFjZUBjb3JwLmNvbSIsZGVwYXJ0bWVudDoiRW5naW5lZXJpbmcifSx7bmFtZToiSGVucnkgV2lsc29uIixlbWFpbDoiaGVucnlAY29ycC5jb20iLGRlcGFydG1lbnQ6Ik1hcmtldGluZyJ9LHtuYW1lOiJJcmVuZSBXYWxrZXIiLGVtYWlsOiJpcmVuZUBjb3JwLmNvbSIsZGVwYXJ0bWVudDoiRmluYW5jZSJ9LHtuYW1lOiJKYWNrIFR1cm5lciIsZW1haWw6ImphY2tAY29ycC5jb20iLGRlcGFydG1lbnQ6IlN1cHBvcnQifV19CiAgICAgICAgICBkYXRhTmFtZT0iZW1wbG95ZWVzIgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIgogICAgICAgIEBzZWFyY2hSZXF1ZXN0PSR7YXN5bmMgYT0+e2xldHtxdWVyeTplfT1hLmRldGFpbHx8e3F1ZXJ5OiIifSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXJ2ZXJTZWFyY2hEZW1vIikscj1be2lkOjEsbmFtZToiQWxpY2UiLGNpdHk6IkJlcmxpbiIsdGl0bGU6IkVuZ2luZWVyIn0se2lkOjIsbmFtZToiQm9iIixjaXR5OiJQYXJpcyIsdGl0bGU6IkRlc2lnbmVyIn0se2lkOjMsbmFtZToiQ2hhcmxpZSIsY2l0eToiTG9uZG9uIix0aXRsZToiTWFuYWdlciJ9LHtpZDo0LG5hbWU6IkRpYW5hIixjaXR5OiJNYWRyaWQiLHRpdGxlOiJFbmdpbmVlciJ9LHtpZDo1LG5hbWU6IkV0aGFuIixjaXR5OiJSb21lIix0aXRsZToiU3VwcG9ydCJ9XTthd2FpdCBuZXcgUHJvbWlzZShuPT5zZXRUaW1lb3V0KG4sMzAwKSk7bGV0IGk9U3RyaW5nKGV8fCIiKS50b0xvd2VyQ2FzZSgpLG89aT9yLmZpbHRlcihuPT5PYmplY3QudmFsdWVzKG4pLnNvbWUobD0+U3RyaW5nKGwpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaSkpKTpyO3QuZGF0YT1vfX0KICAgICAgPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+U2VydmVyIFNlYXJjaCAoTmV3KTwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPlNlbGVjdCBTZXJ2ZXIgbW9kZSwgdHlwZSBhIHF1ZXJ5LCBhbmQgd2F0Y2ggdGhlIHRhYmxlIGZldGNoIHNpbXVsYXRlZCByZXN1bHRzLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaWQ9InNlcnZlclNlYXJjaERlbW8iCiAgICAgICAgICBoZWFkaW5nMT0iUGVvcGxlIChTZXJ2ZXIgU2VhcmNoKSIKICAgICAgICAgIGhlYWRpbmcyPSJDbGljayBTZWFyY2gsIGNob29zZSBTZXJ2ZXIgbW9kZSwgYW5kIHR5cGUiCiAgICAgICAgICAuY29sdW1ucz0ke1t7a2V5OiJuYW1lIixoZWFkZXI6Ik5hbWUifSx7a2V5OiJjaXR5IixoZWFkZXI6IkNpdHkifSx7a2V5OiJ0aXRsZSIsaGVhZGVyOiJUaXRsZSJ9XX0KICAgICAgICAgIC5kYXRhPSR7W3tpZDoxLG5hbWU6IkFsaWNlIixjaXR5OiJCZXJsaW4iLHRpdGxlOiJFbmdpbmVlciJ9LHtpZDoyLG5hbWU6IkJvYiIsY2l0eToiUGFyaXMiLHRpdGxlOiJEZXNpZ25lciJ9LHtpZDozLG5hbWU6IkNoYXJsaWUiLGNpdHk6IkxvbmRvbiIsdGl0bGU6Ik1hbmFnZXIifSx7aWQ6NCxuYW1lOiJEaWFuYSIsY2l0eToiTWFkcmlkIix0aXRsZToiRW5naW5lZXIifSx7aWQ6NSxuYW1lOiJFdGhhbiIsY2l0eToiUm9tZSIsdGl0bGU6IlN1cHBvcnQifV19CiAgICAgICAgICBkYXRhTmFtZT0icGVvcGxlIgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPk11bHRpLUNvbHVtbiBTb3J0PC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDbGljayBhbnkgY29sdW1uIGhlYWRlciBmb3IgYSBzaW5nbGUtY29sdW1uIHNvcnQuIEhvbGQgU2hpZnQgd2hpbGUgY2xpY2tpbmcgdG8gYWRkIHRoZQogICAgICAgICAgY29sdW1uIHRvIGEgbXVsdGktc29ydCBjYXNjYWRlIChvciBjeWNsZSBpdHMgZGlyZWN0aW9uKS4gUmlnaHQtY2xpY2sgYW55IHNvcnRhYmxlIGhlYWRlcgogICAgICAgICAgdG8gb3BlbiBhIG1lbnUgd2hlcmUgeW91IGNhbiBwaW4gYSBjb2x1bW4gdG8gYSBzcGVjaWZpYyBwcmlvcml0eSBzbG90LCByZW1vdmUgaXQsIG9yCiAgICAgICAgICBjbGVhciB0aGUgY2FzY2FkZS4KICAgICAgICA8L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJQZW9wbGUgRGlyZWN0b3J5IgogICAgICAgICAgaGVhZGluZzI9IlByZS1zZWVkZWQgd2l0aCBkZXBhcnRtZW50IOKWsiAxLCBuYW1lIOKWsiAyIgogICAgICAgICAgLnNvcnRCeT0ke1t7a2V5OiJkZXBhcnRtZW50IixkaXI6ImFzYyJ9LHtrZXk6Im5hbWUiLGRpcjoiYXNjIn1dfQogICAgICAgICAgLmNvbHVtbnM9JHtbe2tleToiZGVwYXJ0bWVudCIsaGVhZGVyOiJEZXBhcnRtZW50Iixzb3J0YWJsZTohMH0se2tleToibmFtZSIsaGVhZGVyOiJOYW1lIixzb3J0YWJsZTohMH0se2tleToicm9sZSIsaGVhZGVyOiJSb2xlIixzb3J0YWJsZTohMH0se2tleToiY3JlYXRlZEF0IixoZWFkZXI6IkNyZWF0ZWQiLHNvcnRhYmxlOiEwfSx7a2V5OiJsb2NhdGlvbiIsaGVhZGVyOiJMb2NhdGlvbiIsc29ydGFibGU6ITB9LHtrZXk6InN0YXR1cyIsaGVhZGVyOiJTdGF0dXMiLHNvcnRhYmxlOiEwfV19CiAgICAgICAgICAuZGF0YT0ke1t7ZGVwYXJ0bWVudDoiUiZEIixuYW1lOiJBbGljZSBKb2huc29uIixyb2xlOiJFbmdpbmVlciIsY3JlYXRlZEF0OiIyMDIzLTAxLTEyIixsb2NhdGlvbjoiQmVybGluIixzdGF0dXM6IkFjdGl2ZSJ9LHtkZXBhcnRtZW50OiJSJkQiLG5hbWU6IkRpYW5hIE1hcnRpbmV6Iixyb2xlOiJFbmdpbmVlciIsY3JlYXRlZEF0OiIyMDIwLTA2LTMwIixsb2NhdGlvbjoiTWFkcmlkIixzdGF0dXM6IkFjdGl2ZSJ9LHtkZXBhcnRtZW50OiJSJkQiLG5hbWU6Ik1hcmsgTGVlIixyb2xlOiJFbmdpbmVlciIsY3JlYXRlZEF0OiIyMDI0LTAzLTA0Iixsb2NhdGlvbjoiQmVybGluIixzdGF0dXM6IkFjdGl2ZSJ9LHtkZXBhcnRtZW50OiJEZXNpZ24iLG5hbWU6IkJvYiBTbWl0aCIscm9sZToiRGVzaWduZXIiLGNyZWF0ZWRBdDoiMjAyMi0xMS0wNSIsbG9jYXRpb246IlBhcmlzIixzdGF0dXM6IkFjdGl2ZSJ9LHtkZXBhcnRtZW50OiJEZXNpZ24iLG5hbWU6IlNhcmEgS2ltIixyb2xlOiJEZXNpZ25lciIsY3JlYXRlZEF0OiIyMDIxLTA4LTE5Iixsb2NhdGlvbjoiUGFyaXMiLHN0YXR1czoiT24gTGVhdmUifSx7ZGVwYXJ0bWVudDoiT3BzIixuYW1lOiJDaGFybGllIERhdmlzIixyb2xlOiJNYW5hZ2VyIixjcmVhdGVkQXQ6IjIwMjEtMDQtMjEiLGxvY2F0aW9uOiJMb25kb24iLHN0YXR1czoiT24gTGVhdmUifSx7ZGVwYXJ0bWVudDoiT3BzIixuYW1lOiJIZWxlbmEgVm9zcyIscm9sZToiU1JFIixjcmVhdGVkQXQ6IjIwMjMtMDctMjIiLGxvY2F0aW9uOiJMb25kb24iLHN0YXR1czoiQWN0aXZlIn0se2RlcGFydG1lbnQ6IlFBIixuYW1lOiJGaW9uYSBDbGFyayIscm9sZToiUUEiLGNyZWF0ZWRBdDoiMjAyMi0wMy0xNCIsbG9jYXRpb246IlZpZW5uYSIsc3RhdHVzOiJBY3RpdmUifSx7ZGVwYXJ0bWVudDoiUUEiLG5hbWU6IlRvbVx4RTFzIFJpdmVyYSIscm9sZToiUUEiLGNyZWF0ZWRBdDoiMjAyNC0wMS0wOSIsbG9jYXRpb246Ik1hZHJpZCIsc3RhdHVzOiJBY3RpdmUifSx7ZGVwYXJ0bWVudDoiQ1MiLG5hbWU6IkV0aGFuIEJyb3duIixyb2xlOiJTdXBwb3J0IixjcmVhdGVkQXQ6IjIwMTktMDktMTgiLGxvY2F0aW9uOiJSb21lIixzdGF0dXM6IkluYWN0aXZlIn1dfQogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPldpZGUgUHJvcGVydGllcyArIE1hbnkgQWN0aW9uczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPkEgdGFibGUgd2l0aCBtYW55IGNvbHVtbnMgYW5kIHJpY2ggYWN0aW9ucyB0byBzdHJlc3MgdGVzdCBsYXlvdXQgYW5kIHN0aWNreSBBY3Rpb25zLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9IlBlb3BsZSBEaXJlY3RvcnkiCiAgICAgICAgICBoZWFkaW5nMj0iTWFueSBwcm9wZXJ0aWVzIGFuZCBhY3Rpb25zIgogICAgICAgICAgLmNvbHVtbnM9JHtbe2tleToiaWQiLGhlYWRlcjoiSUQiLHNvcnRhYmxlOiEwfSx7a2V5OiJuYW1lIixoZWFkZXI6Ik5hbWUiLHNvcnRhYmxlOiEwfSx7a2V5OiJyb2xlIixoZWFkZXI6IlJvbGUiLHNvcnRhYmxlOiEwfSx7a2V5OiJkZXBhcnRtZW50IixoZWFkZXI6IkRlcGFydG1lbnQiLHNvcnRhYmxlOiEwfSx7a2V5OiJlbWFpbCIsaGVhZGVyOiJFbWFpbCJ9LHtrZXk6InBob25lIixoZWFkZXI6IlBob25lIn0se2tleToibG9jYXRpb24iLGhlYWRlcjoiTG9jYXRpb24iLHNvcnRhYmxlOiEwfSx7a2V5OiJzdGF0dXMiLGhlYWRlcjoiU3RhdHVzIixzb3J0YWJsZTohMH0se2tleToiY3JlYXRlZEF0IixoZWFkZXI6IkNyZWF0ZWQiLHNvcnRhYmxlOiEwfSx7a2V5OiJ1cGRhdGVkQXQiLGhlYWRlcjoiVXBkYXRlZCIsc29ydGFibGU6ITB9LHtrZXk6Imxhc3RMb2dpbiIsaGVhZGVyOiJMYXN0IExvZ2luIixzb3J0YWJsZTohMH0se2tleToicHJvamVjdHMiLGhlYWRlcjoiUHJvamVjdHMifSx7a2V5OiJ0YWdzIixoZWFkZXI6IlRhZ3MifSx7a2V5OiJub3RlcyIsaGVhZGVyOiJOb3RlcyJ9XX0KICAgICAgICAgIC5kYXRhPSR7W3tpZDoxLG5hbWU6IkFsaWNlIEpvaG5zb24iLHJvbGU6IkVuZ2luZWVyIixkZXBhcnRtZW50OiJSJkQiLGVtYWlsOiJhbGljZUBjb3JwLmNvbSIscGhvbmU6IisxIDIwMiA1NTUgMDExMSIsbG9jYXRpb246IkJlcmxpbiIsc3RhdHVzOiJBY3RpdmUiLGNyZWF0ZWRBdDoiMjAyMy0wMS0xMiIsdXBkYXRlZEF0OiIyMDI0LTA1LTAzIixsYXN0TG9naW46IjIwMjQtMTAtMDEiLHByb2plY3RzOjUsdGFnczoidHlwZXNjcmlwdCwgdWkiLG5vdGVzOiJNZW50b3IifSx7aWQ6MixuYW1lOiJCb2IgU21pdGgiLHJvbGU6IkRlc2lnbmVyIixkZXBhcnRtZW50OiJEZXNpZ24iLGVtYWlsOiJib2JAY29ycC5jb20iLHBob25lOiIrMSAyMDIgNTU1IDAxMTIiLGxvY2F0aW9uOiJQYXJpcyIsc3RhdHVzOiJBY3RpdmUiLGNyZWF0ZWRBdDoiMjAyMi0xMS0wNSIsdXBkYXRlZEF0OiIyMDI0LTA0LTEwIixsYXN0TG9naW46IjIwMjQtMDktMjgiLHByb2plY3RzOjgsdGFnczoiZmlnbWEsIGJyYW5kIixub3RlczoiUGFydC10aW1lIn0se2lkOjMsbmFtZToiQ2hhcmxpZSBEYXZpcyIscm9sZToiTWFuYWdlciIsZGVwYXJ0bWVudDoiT3BzIixlbWFpbDoiY2hhcmxpZUBjb3JwLmNvbSIscGhvbmU6IisxIDIwMiA1NTUgMDExMyIsbG9jYXRpb246IkxvbmRvbiIsc3RhdHVzOiJPbiBMZWF2ZSIsY3JlYXRlZEF0OiIyMDIxLTA0LTIxIix1cGRhdGVkQXQ6IjIwMjQtMDItMTUiLGxhc3RMb2dpbjoiMjAyNC0wOC0xMiIscHJvamVjdHM6Myx0YWdzOiJzcmUsIGxlYWRlcnNoaXAiLG5vdGVzOiIifSx7aWQ6NCxuYW1lOiJEaWFuYSBNYXJ0aW5leiIscm9sZToiRW5naW5lZXIiLGRlcGFydG1lbnQ6IlBsYXRmb3JtIixlbWFpbDoiZGlhbmFAY29ycC5jb20iLHBob25lOiIrMSAyMDIgNTU1IDAxMTQiLGxvY2F0aW9uOiJNYWRyaWQiLHN0YXR1czoiQWN0aXZlIixjcmVhdGVkQXQ6IjIwMjAtMDYtMzAiLHVwZGF0ZWRBdDoiMjAyNC0wNi0yNSIsbGFzdExvZ2luOiIyMDI0LTEwLTAyIixwcm9qZWN0czo2LHRhZ3M6Im5vZGUsIGFwaSIsbm90ZXM6Ik9uLWNhbGwifSx7aWQ6NSxuYW1lOiJFdGhhbiBCcm93biIscm9sZToiU3VwcG9ydCIsZGVwYXJ0bWVudDoiQ1MiLGVtYWlsOiJldGhhbkBjb3JwLmNvbSIscGhvbmU6IisxIDIwMiA1NTUgMDExNSIsbG9jYXRpb246IlJvbWUiLHN0YXR1czoiSW5hY3RpdmUiLGNyZWF0ZWRBdDoiMjAxOS0wOS0xOCIsdXBkYXRlZEF0OiIyMDI0LTAzLTA5IixsYXN0TG9naW46IjIwMjQtMDYtMTkiLHByb2plY3RzOjIsdGFnczoiemVuZGVzayIsbm90ZXM6IlJlaGlyZSJ9LHtpZDo2LG5hbWU6IkZpb25hIENsYXJrIixyb2xlOiJRQSIsZGVwYXJ0bWVudDoiUUEiLGVtYWlsOiJmaW9uYUBjb3JwLmNvbSIscGhvbmU6IisxIDIwMiA1NTUgMDExNiIsbG9jYXRpb246IlZpZW5uYSIsc3RhdHVzOiJBY3RpdmUiLGNyZWF0ZWRBdDoiMjAyMi0wMy0xNCIsdXBkYXRlZEF0OiIyMDI0LTAzLTAxIixsYXN0TG9naW46IjIwMjQtMDktMDciLHByb2plY3RzOjcsdGFnczoicGxheXdyaWdodCIsbm90ZXM6IiJ9XX0KICAgICAgICAgIC5kYXRhQWN0aW9ucz0ke1t7bmFtZToiVmlldyIsaWNvbk5hbWU6Imx1Y2lkZTpleWUiLHR5cGU6WyJpblJvdyIsImNvbnRleHRtZW51Il0sYWN0aW9uRnVuYzpzKGFzeW5jKHtpdGVtOmF9KT0+e2NvbnNvbGUubG9nKCJ2aWV3IixhKX0sImFjdGlvbkZ1bmMiKX0se25hbWU6IkVkaXQiLGljb25OYW1lOiJsdWNpZGU6ZWRpdCIsdHlwZTpbImluUm93IiwiY29udGV4dG1lbnUiXSxhY3Rpb25GdW5jOnMoYXN5bmMoe2l0ZW06YX0pPT57Y29uc29sZS5sb2coImVkaXQiLGEpfSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiRGVsZXRlIixpY29uTmFtZToibHVjaWRlOnRyYXNoIix0eXBlOlsiaW5Sb3ciLCJjb250ZXh0bWVudSJdLGFjdGlvbkZ1bmM6cyhhc3luYyh7aXRlbTphfSk9Pntjb25zb2xlLmxvZygiZGVsZXRlIixhKX0sImFjdGlvbkZ1bmMiKX0se25hbWU6Ik1lc3NhZ2UiLGljb25OYW1lOiJsdWNpZGU6bWVzc2FnZS1zcXVhcmUiLHR5cGU6WyJpblJvdyJdLGFjdGlvbkZ1bmM6cyhhc3luYyh7aXRlbTphfSk9Pntjb25zb2xlLmxvZygibWVzc2FnZSIsYSl9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJIaXN0b3J5IixpY29uTmFtZToibHVjaWRlOmNsb2NrIix0eXBlOlsiaW5Sb3ciXSxhY3Rpb25GdW5jOnMoYXN5bmMoe2l0ZW06YX0pPT57Y29uc29sZS5sb2coImhpc3RvcnkiLGEpfSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiQWRkIE5ldyIsaWNvbk5hbWU6Imx1Y2lkZTpwbHVzIix0eXBlOlsiaGVhZGVyIl0sYWN0aW9uRnVuYzpzKGFzeW5jKHt0YWJsZTphfSk9Pntjb25zb2xlLmxvZygiYWRkIil9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJFeHBvcnQgQ1NWIixpY29uTmFtZToibHVjaWRlOmRvd25sb2FkIix0eXBlOlsiaGVhZGVyIl0sYWN0aW9uRnVuYzpzKGFzeW5jKHt0YWJsZTphfSk9Pntjb25zb2xlLmxvZygiZXhwb3J0Iil9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJCdWxrIERlbGV0ZSIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaC0yIix0eXBlOlsiZm9vdGVyIl0sYWN0aW9uRnVuYzpzKGFzeW5jKHt0YWJsZTphfSk9Pntjb25zb2xlLmxvZygiYnVsayBkZWxldGUiKX0sImFjdGlvbkZ1bmMiKX1dfQogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlNjcm9sbGFibGUgU21hbGwgSGVpZ2h0PC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+U2FtZSBhcyBhYm92ZSwgYnV0IHdpdGggbWFueSBpdGVtcyBhbmQgYSBzbWFsbCBmaXhlZCBoZWlnaHQgdG8gZm9yY2UgdmVydGljYWwgc2Nyb2xsaW5nIGluc2lkZSB0aGUgdGFibGUuIEFjdGlvbnMgcmVtYWluIHZpc2libGUgb24gdGhlIHJpZ2h0OyBob3Jpem9udGFsIHNjcm9sbCBhcHBlYXJzIGlmIG5lZWRlZC48L3A+CiAgICAgICAgPHN0eWxlPgogICAgICAgICAgI3Njcm9sbFNtYWxsSGVpZ2h0IHsgLS10YWJsZS1tYXgtaGVpZ2h0OiAyNDBweDsgfQogICAgICAgIDwvc3R5bGU+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGlkPSJzY3JvbGxTbWFsbEhlaWdodCIKICAgICAgICAgIC5maXhlZEhlaWdodD0keyEwfQogICAgICAgICAgLnZpcnR1YWxpemVkPSR7ITB9CiAgICAgICAgICBoZWFkaW5nMT0iUGVvcGxlIERpcmVjdG9yeSAoU2Nyb2xsYWJsZSwgVmlydHVhbGl6ZWQpIgogICAgICAgICAgaGVhZGluZzI9IkZvcmNlZCBzY3JvbGxpbmcgd2l0aCBtYW55IGl0ZW1zIgogICAgICAgICAgLmNvbHVtbnM9JHtbe2tleToiaWQiLGhlYWRlcjoiSUQiLHNvcnRhYmxlOiEwfSx7a2V5OiJuYW1lIixoZWFkZXI6Ik5hbWUiLHNvcnRhYmxlOiEwfSx7a2V5OiJyb2xlIixoZWFkZXI6IlJvbGUiLHNvcnRhYmxlOiEwfSx7a2V5OiJkZXBhcnRtZW50IixoZWFkZXI6IkRlcGFydG1lbnQiLHNvcnRhYmxlOiEwfSx7a2V5OiJlbWFpbCIsaGVhZGVyOiJFbWFpbCJ9LHtrZXk6InBob25lIixoZWFkZXI6IlBob25lIn0se2tleToibG9jYXRpb24iLGhlYWRlcjoiTG9jYXRpb24iLHNvcnRhYmxlOiEwfSx7a2V5OiJzdGF0dXMiLGhlYWRlcjoiU3RhdHVzIixzb3J0YWJsZTohMH0se2tleToiY3JlYXRlZEF0IixoZWFkZXI6IkNyZWF0ZWQiLHNvcnRhYmxlOiEwfSx7a2V5OiJ1cGRhdGVkQXQiLGhlYWRlcjoiVXBkYXRlZCIsc29ydGFibGU6ITB9LHtrZXk6Imxhc3RMb2dpbiIsaGVhZGVyOiJMYXN0IExvZ2luIixzb3J0YWJsZTohMH0se2tleToicHJvamVjdHMiLGhlYWRlcjoiUHJvamVjdHMifSx7a2V5OiJ0YWdzIixoZWFkZXI6IlRhZ3MifSx7a2V5OiJub3RlcyIsaGVhZGVyOiJOb3RlcyJ9XX0KICAgICAgICAgIC5kYXRhPSR7QXJyYXkuZnJvbSh7bGVuZ3RoOjEwMH0sKGEsZSk9Pih7aWQ6ZSsxLG5hbWU6YFVzZXIgJHtlKzF9YCxyb2xlOlsiRW5naW5lZXIiLCJEZXNpZ25lciIsIk1hbmFnZXIiLCJRQSIsIlN1cHBvcnQiXVtlJTVdLGRlcGFydG1lbnQ6WyJSJkQiLCJEZXNpZ24iLCJPcHMiLCJRQSIsIkNTIl1bZSU1XSxlbWFpbDpgdXNlciR7ZSsxfUBjb3JwLmNvbWAscGhvbmU6YCsxIDIwMiA1NTUgJHtTdHJpbmcoMWUzK2UpLnNsaWNlKC00KX1gLGxvY2F0aW9uOlsiQmVybGluIiwiUGFyaXMiLCJMb25kb24iLCJNYWRyaWQiLCJSb21lIl1bZSU1XSxzdGF0dXM6WyJBY3RpdmUiLCJJbmFjdGl2ZSIsIk9uIExlYXZlIl1bZSUzXSxjcmVhdGVkQXQ6YDIwMjMtJHtTdHJpbmcoZSUxMisxKS5wYWRTdGFydCgyLCIwIil9LSR7U3RyaW5nKGUlMjgrMSkucGFkU3RhcnQoMiwiMCIpfWAsdXBkYXRlZEF0OmAyMDI0LSR7U3RyaW5nKChlKzMpJTEyKzEpLnBhZFN0YXJ0KDIsIjAiKX0tJHtTdHJpbmcoKGUrNyklMjgrMSkucGFkU3RhcnQoMiwiMCIpfWAsbGFzdExvZ2luOmAyMDI0LSR7U3RyaW5nKChlKzYpJTEyKzEpLnBhZFN0YXJ0KDIsIjAiKX0tJHtTdHJpbmcoKGUrMTApJTI4KzEpLnBhZFN0YXJ0KDIsIjAiKX1gLHByb2plY3RzOmUlMTIsdGFnczplJTI/InR5cGVzY3JpcHQiOiJkZXNpZ24iLG5vdGVzOmUlMz8iIjoiTm90ZSJ9KSl9CiAgICAgICAgICAuZGF0YUFjdGlvbnM9JHtbe25hbWU6IlZpZXciLGljb25OYW1lOiJsdWNpZGU6ZXllIix0eXBlOlsiaW5Sb3ciXSxhY3Rpb25GdW5jOnMoYXN5bmMoe2l0ZW06YX0pPT57fSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiRWRpdCIsaWNvbk5hbWU6Imx1Y2lkZTplZGl0Iix0eXBlOlsiaW5Sb3ciXSxhY3Rpb25GdW5jOnMoYXN5bmMoe2l0ZW06YX0pPT57fSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiRGVsZXRlIixpY29uTmFtZToibHVjaWRlOnRyYXNoIix0eXBlOlsiaW5Sb3ciXSxhY3Rpb25GdW5jOnMoYXN5bmMoe2l0ZW06YX0pPT57fSwiYWN0aW9uRnVuYyIpfV19CiAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgPC9kaXY+CgogICAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCIjZGVtb0xpdmVGbGFzaCIpO2lmKCFlKXJldHVybjtlLl9fbGl2ZUZsYXNoVGltZXJJZCYmd2luZG93LmNsZWFySW50ZXJ2YWwoZS5fX2xpdmVGbGFzaFRpbWVySWQpO2xldCB0PXMoKCk9PntpZighQXJyYXkuaXNBcnJheShlLmRhdGEpfHxlLmRhdGEubGVuZ3RoPT09MClyZXR1cm47bGV0IHI9ZS5kYXRhLm1hcChvPT4oey4uLm99KSksaT0xK01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSozKTtmb3IobGV0IG89MDtvPGk7bysrKXtsZXQgbj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqci5sZW5ndGgpLGw9KygoTWF0aC5yYW5kb20oKSoyLTEpKjMpLnRvRml4ZWQoMiksZD1NYXRoLm1heCgxLCsocltuXS5wcmljZStsKS50b0ZpeGVkKDIpKTtyW25dPXsuLi5yW25dLHByaWNlOmQsY2hhbmdlOmwsdXBkYXRlZEF0Om5ldyBEYXRlKCkudG9Mb2NhbGVUaW1lU3RyaW5nKCl9fWUuZGF0YT1yfSwidGljayIpO2UuX19saXZlRmxhc2hUaW1lcklkPXdpbmRvdy5zZXRJbnRlcnZhbCh0LDE1MDApfX0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+TGl2ZSBVcGRhdGVzIHdpdGggRmxhc2ggSGlnaGxpZ2h0aW5nPC9oMj4KICAgICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj4KICAgICAgICAgICAgT3B0LWluIGNlbGwtZmxhc2ggdmlhIDxjb2RlPmhpZ2hsaWdodC11cGRhdGVzPSJmbGFzaCI8L2NvZGU+LiBUaGUgdGlja2VyIGJlbG93IG11dGF0ZXMKICAgICAgICAgICAgcmFuZG9tIHJvd3MgZXZlcnkgMS41cyBhbmQgcmVhc3NpZ25zIDxjb2RlPi5kYXRhPC9jb2RlPi4gVXBkYXRlZCBjZWxscyBicmllZmx5IGZsYXNoCiAgICAgICAgICAgIGFtYmVyIGFuZCBmYWRlIG91dC4gUmVxdWlyZXMgPGNvZGU+cm93S2V5PC9jb2RlPiAoaGVyZSA8Y29kZT4ic3ltYm9sIjwvY29kZT4pLiBIb25vcnMKICAgICAgICAgICAgPGNvZGU+cHJlZmVycy1yZWR1Y2VkLW1vdGlvbjwvY29kZT4uIFJvdyBzZWxlY3Rpb24gcGVyc2lzdHMgYWNyb3NzIHVwZGF0ZXMg4oCUIGNsaWNrIGEKICAgICAgICAgICAgcm93LCB0aGVuIHdhdGNoIGl0IHN0YXkgc2VsZWN0ZWQgYXMgdGhlIGRhdGEgY2h1cm5zLgogICAgICAgICAgPC9wPgogICAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgICAgaWQ9ImRlbW9MaXZlRmxhc2giCiAgICAgICAgICAgIC5yb3dLZXk9JHsic3ltYm9sIn0KICAgICAgICAgICAgaGlnaGxpZ2h0LXVwZGF0ZXM9ImZsYXNoIgogICAgICAgICAgICAuc2VsZWN0aW9uTW9kZT0keyJtdWx0aSJ9CiAgICAgICAgICAgIGhlYWRpbmcxPSJMaXZlIE1hcmtldCBGZWVkIgogICAgICAgICAgICBoZWFkaW5nMj0iRmxhc2hpbmcgY2VsbHMgaW5kaWNhdGUgdXBkYXRlZCB2YWx1ZXMiCiAgICAgICAgICAgIC5jb2x1bW5zPSR7W3trZXk6InN5bWJvbCIsaGVhZGVyOiJTeW1ib2wiLHNvcnRhYmxlOiEwfSx7a2V5OiJwcmljZSIsaGVhZGVyOiJQcmljZSIsc29ydGFibGU6ITB9LHtrZXk6ImNoYW5nZSIsaGVhZGVyOiJcdTAzOTQiLHNvcnRhYmxlOiEwfSx7a2V5OiJ1cGRhdGVkQXQiLGhlYWRlcjoiVXBkYXRlZCJ9XX0KICAgICAgICAgICAgLmRhdGE9JHtbe3N5bWJvbDoiQUFQTCIscHJpY2U6MTgyLjUyLGNoYW5nZTowLHVwZGF0ZWRBdDoiXHUyMDE0In0se3N5bWJvbDoiTVNGVCIscHJpY2U6NDE0LjE4LGNoYW5nZTowLHVwZGF0ZWRBdDoiXHUyMDE0In0se3N5bWJvbDoiR09PRyIscHJpY2U6MTY4Ljc0LGNoYW5nZTowLHVwZGF0ZWRBdDoiXHUyMDE0In0se3N5bWJvbDoiQU1aTiIscHJpY2U6MTg2LjEzLGNoYW5nZTowLHVwZGF0ZWRBdDoiXHUyMDE0In0se3N5bWJvbDoiVFNMQSIscHJpY2U6MjQ4LjUsY2hhbmdlOjAsdXBkYXRlZEF0OiJcdTIwMTQifSx7c3ltYm9sOiJOVkRBIixwcmljZTo4NzcuMzUsY2hhbmdlOjAsdXBkYXRlZEF0OiJcdTIwMTQifSx7c3ltYm9sOiJNRVRBIixwcmljZTo0OTIuOTYsY2hhbmdlOjAsdXBkYXRlZEF0OiJcdTIwMTQifSx7c3ltYm9sOiJORkxYIixwcmljZTo2MDUuODgsY2hhbmdlOjAsdXBkYXRlZEF0OiJcdTIwMTQifSx7c3ltYm9sOiJBTUQiLHByaWNlOjE2NS4yNCxjaGFuZ2U6MCx1cGRhdGVkQXQ6Ilx1MjAxNCJ9LHtzeW1ib2w6IklOVEMiLHByaWNlOjQyLjE1LGNoYW5nZTowLHVwZGF0ZWRBdDoiXHUyMDE0In1dfQogICAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgeGxhLHlsYT1mKCgpPT57bGUoKTtmcygpO1FlKCk7eGxhPVtFZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICBkZWVzLXRpbGUgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7cGF9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICB9CgogICAgICAuaGVhZGluZ0NvbnRhaW5lciB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgfQoKICAgICAgLmhlYWRpbmcgewogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICB9CgogICAgICAuaGVhZGluZzEgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLmhlYWRpbmcyIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsKICAgICAgfQoKICAgICAgLmhlYWRpbmdTZXBhcmF0aW9uIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAuaGVhZGVyQWN0aW9ucyB7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CiAgICAgIAogICAgICAuaGVhZGVyQWN0aW9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmhlYWRlckFjdGlvbjpob3ZlciB7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CiAgICAgIH0KCiAgICAgIC5oZWFkZXJBY3Rpb24gZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5zZWFyY2hHcmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtZ2FwOiAxNnB4OwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIG1heC1jb250ZW50OwogICAgICAgIHBhZGRpbmc6IDE2cHggMjRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXNlY29uZGFyeSk7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgewogICAgICAgIC5zZWFyY2hHcmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyogbGV0IHNlYXJjaCBtb2RlIHNpemUgdG8gY29udGVudCAobm8gZm9yY2VkIHdpZHRoKSAqLwoKICAgICAgLnNlYXJjaEdyaWQuaGlkZGVuIHsKICAgICAgICBoZWlnaHQ6IDBweDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcGFkZGluZzogMHB4IDI0cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4OwogICAgICB9CgogICAgICAvKiBEZWZhdWx0IG1vZGUgKE1vZGUgQiwgcGFnZSBzdGlja3kpOiBob3Jpem9udGFsIHNjcm9sbCBsaXZlcyBvbgogICAgICAgICAudGFibGVTY3JvbGwgKHNvIHdpZGUgdGFibGVzIGRvbid0IGdldCBjbGlwcGVkIGJ5IGFuIGFuY2VzdG9yCiAgICAgICAgIG92ZXJmbG93OmhpZGRlbiBzdWNoIGFzIGRlZXMtdGlsZSkuIFZlcnRpY2FsIHN0aWNreSBpcyBoYW5kbGVkIGJ5CiAgICAgICAgIGEgSlMtbWFuYWdlZCBmbG9hdGluZyBoZWFkZXIgKC5mbG9hdGluZ0hlYWRlciwgcG9zaXRpb246Zml4ZWQpLAogICAgICAgICB3aGljaCBpcyB1bmFmZmVjdGVkIGJ5IGFuY2VzdG9yIG92ZXJmbG93LiAqLwogICAgICAudGFibGVTY3JvbGwgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7CiAgICAgICAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlOwogICAgICB9CiAgICAgIC8qIE1vZGUgQSwgaW50ZXJuYWwgc2Nyb2xsOiBvcHQtaW4gdmlhIGZpeGVkLWhlaWdodCBhdHRyaWJ1dGUuCiAgICAgICAgIFRoZSB0YWJsZSBzY3JvbGxzIGluc2lkZSBpdHMgb3duIGJveCBhbmQgdGhlIGhlYWRlciBzdGlja3MgdmlhIHBsYWluIENTUyBzdGlja3kuICovCiAgICAgIDpob3N0KFtmaXhlZC1oZWlnaHRdKSAudGFibGVTY3JvbGwgewogICAgICAgIG1heC1oZWlnaHQ6IHZhcigtLXRhYmxlLW1heC1oZWlnaHQsIDM2MHB4KTsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICBzY3JvbGxiYXItZ3V0dGVyOiBzdGFibGUgYm90aC1lZGdlczsKICAgICAgfQogICAgICA6aG9zdChbZml4ZWQtaGVpZ2h0XSkgLnRhYmxlU2Nyb2xsOjotd2Via2l0LXNjcm9sbGJhcjpob3Jpem9udGFsIHsKICAgICAgICBoZWlnaHQ6IDBweDsKICAgICAgfQoKICAgICAgLyogRmxvYXRpbmcgaGVhZGVyIG92ZXJsYXkgKE1vZGUgQikuIFBvc2l0aW9uIGlzIG1hbmFnZWQgYnkgSlMgc28gaXQKICAgICAgICAgZXNjYXBlcyBhbnkgYW5jZXN0b3Igb3ZlcmZsb3c6aGlkZGVuIChwb3NpdGlvbjpmaXhlZCBpcyBub3QgY2xpcHBlZAogICAgICAgICBieSBvdmVyZmxvdyBhbmNlc3RvcnMpLiAqLwogICAgICAuZmxvYXRpbmdIZWFkZXIgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB6LWluZGV4OiAxMDA7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KICAgICAgLmZsb2F0aW5nSGVhZGVyLmFjdGl2ZSB7CiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKICAgICAgfQogICAgICAuZmxvYXRpbmdIZWFkZXIgdGFibGUgewogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQogICAgICAuZmxvYXRpbmdIZWFkZXIgdGggewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICB9CgogICAgICB0YWJsZSB7CiAgICAgICAgLyogYWxsb3cgdGFibGUgdG8gZ3JvdyB3aWRlciB0aGFuIGNvbnRhaW5lciBzbyBhY3Rpb25zIGNvbHVtbiBjYW4gc3RpY2sgKi8KICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7CiAgICAgICAgbWluLXdpZHRoOiAxMDAlOwogICAgICAgIGNhcHRpb24tc2lkZTogYm90dG9tOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOwogICAgICAgIGJvcmRlci1zcGFjaW5nOiAwOwogICAgICB9CiAgICAgIAogICAgICAubm9EYXRhU2V0IHsKICAgICAgICBwYWRkaW5nOiA0OHB4IDI0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICB9CiAgICAgIAogICAgICB0aGVhZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3Ryb25nKTsKICAgICAgfQogICAgICAvKiB0aCBuZWVkcyBpdHMgb3duIGJhY2tncm91bmQgc28gc3RpY2t5IGNlbGxzIHBhaW50IG92ZXIgc2Nyb2xsZWQgcm93cwogICAgICAgICAoYnJvd3NlcnMgZG9uJ3QgcGFpbnQgdGhlIDx0aGVhZD4gYm94IGJlaGluZCBhIHN0aWNreSA8dGg+KS4gKi8KICAgICAgdGggewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgIH0KICAgICAgLyogTW9kZSBBIOKAlCBpbnRlcm5hbCBzY3JvbGwgc3RpY2t5ICovCiAgICAgIDpob3N0KFtmaXhlZC1oZWlnaHRdKSB0aGVhZCB0aCB7CiAgICAgICAgcG9zaXRpb246IHN0aWNreTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgei1pbmRleDogMjsKICAgICAgfQogICAgICA6aG9zdChbZml4ZWQtaGVpZ2h0XSkgdGhlYWQgdHIuZmlsdGVyc1JvdyB0aCB7CiAgICAgICAgdG9wOiAzNnB4OyAvKiBtYXRjaGVzIHRoIHsgaGVpZ2h0OiAzNnB4IH0gYmVsb3cgKi8KICAgICAgfQogICAgICAKICAgICAgdGJvZHkgdHIgewogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIERlZmF1bHQgaG9yaXpvbnRhbCBsaW5lcyAoYm90dG9tIGJvcmRlciBvbmx5KSAqLwogICAgICB0Ym9keSB0ciB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICB9CiAgICAgIAogICAgICB0Ym9keSB0cjpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CiAgICAgIAogICAgICAvKiBGdWxsIGhvcml6b250YWwgbGluZXMgd2hlbiBlbmFibGVkICovCiAgICAgIDpob3N0KFtzaG93LWhvcml6b250YWwtbGluZXNdKSB0Ym9keSB0ciB7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW3Nob3ctaG9yaXpvbnRhbC1saW5lc10pIHRib2R5IHRyOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItdG9wOiBub25lOwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbc2hvdy1ob3Jpem9udGFsLWxpbmVzXSkgdGJvZHkgdHI6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICB9CiAgICAgIAogICAgICB0Ym9keSB0cjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSAvIDAuMDYpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4wOCkiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIENvbHVtbiBob3ZlciBlZmZlY3QgZm9yIGJldHRlciB0cmFjZWFiaWxpdHkgKi8KICAgICAgdGQgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQogICAgICAKICAgICAgdGQ6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjA0KSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMDUpIil9OwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlOwogICAgICAgIHotaW5kZXg6IC0xOwogICAgICB9CiAgICAgIAogICAgICB0ZDpob3Zlcjo6YWZ0ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEdyaWQgbW9kZSAtIHNob3dzIGJvdGggdmVydGljYWwgYW5kIGhvcml6b250YWwgbGluZXMgKi8KICAgICAgOmhvc3QoW3Nob3ctZ3JpZF0pIHRoIHsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItbGVmdDogbm9uZTsKICAgICAgICBib3JkZXItdG9wOiBub25lOwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbc2hvdy1ncmlkXSkgdGQgewogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgICAgIGJvcmRlci10b3A6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtzaG93LWdyaWRdKSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCB7CiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTsKICAgICAgfQoKICAgICAgLyogUmVtb3ZlIGVkZ2UgYm9yZGVycyB0aGF0IHdvdWxkIGRvdWJsZSB3aXRoIHRpbGUgZnJhbWUgKi8KICAgICAgOmhvc3QoW3Nob3ctZ3JpZF0pIHRoOmxhc3QtY2hpbGQsCiAgICAgIDpob3N0KFtzaG93LWdyaWRdKSB0ZDpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7CiAgICAgIH0KICAgICAgOmhvc3QoW3Nob3ctZ3JpZF0pIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIFN0aWNreSBBY3Rpb25zIGNvbHVtbiAocmlnaHQgcGlubmVkKSAqLwogICAgICB0aGVhZCB0aC5hY3Rpb25zQ29sLAogICAgICB0Ym9keSB0ZC5hY3Rpb25zQ29sIHsKICAgICAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctcHJpbWFyeSk7CiAgICAgIH0KICAgICAgdGhlYWQgdGguYWN0aW9uc0NvbCB7IHotaW5kZXg6IDM7IH0KICAgICAgdGJvZHkgdGQuYWN0aW9uc0NvbCB7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgICBib3gtc2hhZG93OiAtMXB4IDAgMCAwIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICB9CiAgICAgIAogICAgICB0Ym9keSB0ci5zZWxlY3RlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSAvIDAuMSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjEyKSIpfTsKICAgICAgfQoKICAgICAgdGJvZHkgdHIuaGFzQXR0YWNobWVudCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSAvIDAuMSkiLCJoc2woMTQyLjEgNzYuMiUgMzYuMyUgLyAwLjEpIil9OwogICAgICB9CgogICAgICB0aCB7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIHRoW3JvbGU9J2NvbHVtbmhlYWRlciddOmhvdmVyIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICB0aCAuc29ydEFycm93IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgIH0KCiAgICAgIHRoIC5zb3J0QmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBtYXJnaW4tbGVmdDogM3B4OwogICAgICAgIHBhZGRpbmc6IDFweCA1cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgMzAlKSIsImhzbCgyMTcuMiA5MS4yJSA3NSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjEyKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMTgpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtzaG93LXZlcnRpY2FsLWxpbmVzXSkgdGggewogICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICB9CiAgICAgIAogICAgICB0ZCB7CiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW3Nob3ctdmVydGljYWwtbGluZXNdKSB0ZCB7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgIH0KICAgICAgCiAgICAgIHRoOmZpcnN0LWNoaWxkLAogICAgICB0ZDpmaXJzdC1jaGlsZCB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4OwogICAgICB9CiAgICAgIAogICAgICB0aDpsYXN0LWNoaWxkLAogICAgICB0ZDpsYXN0LWNoaWxkIHsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbc2hvdy12ZXJ0aWNhbC1saW5lc10pIHRoOmxhc3QtY2hpbGQsCiAgICAgIDpob3N0KFtzaG93LXZlcnRpY2FsLWxpbmVzXSkgdGQ6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOwogICAgICB9CgogICAgICAvKiBEZWZhdWx0IGJvdHRvbSBib3JkZXIgb24gbGFzdCByb3cgcmVtb3ZlZCDigJQgdGlsZSBmcmFtZSBoYW5kbGVzIGl0ICovCiAgICAgIDpob3N0KDpub3QoW3Nob3ctaG9yaXpvbnRhbC1saW5lc10pKSB0Ym9keSB0cjpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CiAgICAgIAogICAgICAuaW5uZXJDZWxsQ29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWluLWhlaWdodDogMjRweDsKICAgICAgICBsaW5lLWhlaWdodDogMjRweDsKICAgICAgfQoKICAgICAgLyogLS0tLSBDZWxsIGZsYXNoIGhpZ2hsaWdodGluZyAob3B0LWluIHZpYSBoaWdobGlnaHQtdXBkYXRlcz0iZmxhc2giKSAtLS0tCiAgICAgICAgIEJsb29tYmVyZy9UcmFkaW5nVmlldy1zdHlsZTogdGhlIHRleHQgaXRzZWxmIGJyaWVmbHkgdGFrZXMgYW4gYWNjZW50CiAgICAgICAgIGNvbG9yIHRoZW4gZmFkZXMgYmFjayB0byB0aGUgZGVmYXVsdC4gTm8gYmFja2dyb3VuZCB0aW50LCBubyBsYXlvdXQKICAgICAgICAgc2hpZnQsIG5vIHdlaWdodCBjaGFuZ2UuIFJlYWRhYmxlLCBtb2Rlcm4sIHN1YnRsZS4KICAgICAgICAgQ29uc3VtZXJzIGNhbiBvdmVycmlkZSBwZXIgaW5zdGFuY2U6CiAgICAgICAgICAgZGVlcy10YWJsZSNteVRhYmxlIHsgLS1kZWVzLXRhYmxlLWZsYXNoLWNvbG9yOiBoc2woMTQyIDc2JSA0MCUpOyB9CiAgICAgICovCiAgICAgIDpob3N0IHsKICAgICAgICAtLWRlZXMtdGFibGUtZmxhc2gtY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMzIgOTUlIDQ0JSkiLCJoc2woNDUgOTMlIDYyJSkiKX07CiAgICAgICAgLS1kZWVzLXRhYmxlLWZsYXNoLWVhc2luZzogY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpOwogICAgICB9CgogICAgICAuaW5uZXJDZWxsQ29udGFpbmVyLmZsYXNoaW5nIHsKICAgICAgICBhbmltYXRpb246IGRlZXMtdGFibGUtY2VsbC1mbGFzaAogICAgICAgICAgICAgICAgICAgdmFyKC0tZGVlcy10YWJsZS1mbGFzaC1kdXJhdGlvbiwgOTAwbXMpCiAgICAgICAgICAgICAgICAgICB2YXIoLS1kZWVzLXRhYmxlLWZsYXNoLWVhc2luZyk7CiAgICAgIH0KCiAgICAgIC8qIEhvbGQgdGhlIGFjY2VudCBjb2xvciBicmllZmx5LCB0aGVuIGZhZGUgYmFjayB0byB0aGUgdGhlbWUncyBkZWZhdWx0CiAgICAgICAgIHRleHQgY29sb3IuIEluaGVyaXRzIHRvIGNoaWxkIHRleHQgYW5kIHRvIFNWRyBpY29ucyB0aGF0IHVzZQogICAgICAgICBjdXJyZW50Q29sb3IuIENlbGxzIHdpdGggZXhwbGljaXQgY29sb3Igb3ZlcnJpZGVzIGluIHJlbmRlcmVycyBhcmUKICAgICAgICAgaW50ZW50aW9uYWxseSB1bmFmZmVjdGVkLiAqLwogICAgICBAa2V5ZnJhbWVzIGRlZXMtdGFibGUtY2VsbC1mbGFzaCB7CiAgICAgICAgMCUsCiAgICAgICAgMzUlIHsgY29sb3I6IHZhcigtLWRlZXMtdGFibGUtZmxhc2gtY29sb3IpOyB9CiAgICAgICAgMTAwJSB7IGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7IH0KICAgICAgfQoKICAgICAgLyogQm9yZGVyL2JhY2tncm91bmQgZmxhc2ggdmFyaWFudCBmb3IgY2VsbHMgd2l0aCBzdHlsZWQgY29udGVudAogICAgICAgICAoYmFkZ2VzLCBpY29ucywgY3VzdG9tIGNvbXBvbmVudHMpIHdoZXJlIGEgdGV4dC1jb2xvciBhbmltYXRpb24KICAgICAgICAgd291bGQgYmUgaW52aXNpYmxlLiBBY3RpdmF0ZWQgdmlhIGZsYXNoQm9yZGVyIG9uIENvbHVtbi4gKi8KICAgICAgLmlubmVyQ2VsbENvbnRhaW5lci5mbGFzaGluZy1ib3JkZXIgewogICAgICAgIGFuaW1hdGlvbjogZGVlcy10YWJsZS1jZWxsLWZsYXNoLWJvcmRlcgogICAgICAgICAgICAgICAgICAgdmFyKC0tZGVlcy10YWJsZS1mbGFzaC1kdXJhdGlvbiwgOTAwbXMpCiAgICAgICAgICAgICAgICAgICB2YXIoLS1kZWVzLXRhYmxlLWZsYXNoLWVhc2luZyk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGRlZXMtdGFibGUtY2VsbC1mbGFzaC1ib3JkZXIgewogICAgICAgIDAlLAogICAgICAgIDM1JSB7CiAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxLjVweCB2YXIoLS1kZWVzLXRhYmxlLWZsYXNoLWNvbG9yKTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woNDUgOTMlIDYyJSAvIDAuMTApIiwiaHNsKDQ1IDkzJSA2MiUgLyAwLjA4KSIpfTsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxLjVweCB0cmFuc3BhcmVudDsKICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIH0KICAgICAgfQoKICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHsKICAgICAgICAuaW5uZXJDZWxsQ29udGFpbmVyLmZsYXNoaW5nIHsKICAgICAgICAgIGFuaW1hdGlvbjogbm9uZTsKICAgICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLXRhYmxlLWZsYXNoLWNvbG9yKTsKICAgICAgICB9CiAgICAgICAgLmlubmVyQ2VsbENvbnRhaW5lci5mbGFzaGluZy1ib3JkZXIgewogICAgICAgICAgYW5pbWF0aW9uOiBub25lOwogICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMS41cHggdmFyKC0tZGVlcy10YWJsZS1mbGFzaC1jb2xvcik7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDQ1IDkzJSA2MiUgLyAwLjEwKSIsImhzbCg0NSA5MyUgNjIlIC8gMC4wOCkiKX07CiAgICAgICAgfQogICAgICB9CgogICAgICAvKiBEZXYtdGltZSB3YXJuaW5nIGJhbm5lciBzaG93biB3aGVuIGhpZ2hsaWdodC11cGRhdGVzPSJmbGFzaCIgYnV0CiAgICAgICAgIHJvd0tleSBpcyBtaXNzaW5nLiBDb25zdW1lcnMgc2hvdWxkIG5ldmVyIHNoaXAgdGhpcyB0byBwcm9kdWN0aW9uLiAqLwogICAgICAuZmxhc2hDb25maWdXYXJuaW5nIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWFyZ2luOiA4cHggMTZweCAwOwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgzOCA5MiUgNTAlKSIsImhzbCg0OCA5NiUgNjMlKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDQ4IDk2JSA4OSUgLyAwLjYpIiwiaHNsKDQ4IDk2JSAzMCUgLyAwLjE1KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgzMiA4MSUgMjklKSIsImhzbCg0OCA5NiUgODAlKSIpfTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIH0KICAgICAgLmZsYXNoQ29uZmlnV2FybmluZyBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgICBmbGV4OiAwIDAgYXV0bzsKICAgICAgfQogICAgICAuZmxhc2hDb25maWdXYXJuaW5nIGNvZGUgewogICAgICAgIHBhZGRpbmc6IDFweCA0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlIC8gMC42KSIsImhzbCgwIDAlIDAlIC8gMC4zKSIpfTsKICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICB9CgogICAgICAvKiBFZGl0YWJsZSBjZWxsIGFmZm9yZGFuY2VzICovCiAgICAgIHRkLmVkaXRhYmxlIHsKICAgICAgICBjdXJzb3I6IHRleHQ7CiAgICAgIH0KICAgICAgdGQuZm9jdXNlZCB7CiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjYpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC42KSIpfTsKICAgICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsKICAgICAgfQogICAgICB0ZC5lZGl0aW5nQ2VsbCB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSAvIDAuNikiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjYpIil9OwogICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OwogICAgICB9CiAgICAgIHRkLmVkaXRpbmdDZWxsIC5pbm5lckNlbGxDb250YWluZXIgewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICAgICAgfQogICAgICB0ZC5lZGl0aW5nQ2VsbCBkZWVzLWlucHV0LXRleHQsCiAgICAgIHRkLmVkaXRpbmdDZWxsIGRlZXMtaW5wdXQtY2hlY2tib3gsCiAgICAgIHRkLmVkaXRpbmdDZWxsIGRlZXMtaW5wdXQtZHJvcGRvd24sCiAgICAgIHRkLmVkaXRpbmdDZWxsIGRlZXMtaW5wdXQtZGF0ZXBpY2tlciwKICAgICAgdGQuZWRpdGluZ0NlbGwgZGVlcy1pbnB1dC10YWdzIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLyogZmlsdGVyIHJvdyAqLwogICAgICB0aGVhZCB0ci5maWx0ZXJzUm93IHRoIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweCAxMnB4IDEycHg7CiAgICAgIH0KICAgICAgdGhlYWQgdHIuZmlsdGVyc1JvdyB0aCBpbnB1dFt0eXBlPSd0ZXh0J10gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgcGFkZGluZzogNnB4IDhweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CiAgICAgIC5hY3Rpb25zQ29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5hY3Rpb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmFjdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb246YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDAgMCUgMTEuOCUpIil9OwogICAgICB9CiAgICAgIAogICAgICAuYWN0aW9uIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICB9CgogICAgICAuZm9vdGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC50YWJsZVN0YXRpc3RpY3MgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5mb290ZXJBY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuZm9vdGVyQWN0aW9ucyAuZm9vdGVyQWN0aW9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuZm9vdGVyQWN0aW9ucyAuZm9vdGVyQWN0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgfQoKICAgICAgLmZvb3RlckFjdGlvbnMgLmZvb3RlckFjdGlvbiBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQogIGBdfSk7dmFyIG5RZT1mKCgpPT57dTQoKX0pO3ZhciBsUWU9ZigoKT0+e2VhZSgpfSk7dmFyIGNRZT1mKCgpPT57bWFlKCk7alllKCl9KTt2YXIgZFFlPWYoKCk9PntyS2UoKX0pO2Z1bmN0aW9uIHVRZShhLGUpe2lmKCFlfHxlLmxlbmd0aD09PTApcmV0dXJuW107bGV0IHQ9YShlWzBdKTtyZXR1cm4gT2JqZWN0LmtleXModCkubWFwKGk9Pih7a2V5OmksaGVhZGVyOmksdmFsdWU6cyhvPT5hKG8pW2ldLCJ2YWx1ZSIpfSkpfWZ1bmN0aW9uIHdsYShhLGUsdCxyKXtsZXQgaT0oYXx8W10pLnNsaWNlKCk7aWYoIWUpcmV0dXJuIGk7bGV0IG89dVFlKHQsciksbj1uZXcgU2V0KGkubWFwKGw9PlN0cmluZyhsLmtleSkpKTtmb3IobGV0IGwgb2YgbyluLmhhcyhTdHJpbmcobC5rZXkpKXx8aS5wdXNoKGwpO3JldHVybiBpfWZ1bmN0aW9uICQ0KGEsZSx0KXtyZXR1cm4gZS52YWx1ZT9lLnZhbHVlKGEpOmFbZS5rZXldfWZ1bmN0aW9uIEtJYShhLGUpe2lmKGE9PW51bGwmJmU9PW51bGwpcmV0dXJuIDA7aWYoYT09bnVsbClyZXR1cm4tMTtpZihlPT1udWxsKXJldHVybiAxO2lmKHR5cGVvZiBhPT0ibnVtYmVyIiYmdHlwZW9mIGU9PSJudW1iZXIiKXJldHVybiBhPGU/LTE6YT5lPzE6MDtsZXQgdD1TdHJpbmcoYSkudG9Mb3dlckNhc2UoKSxyPVN0cmluZyhlKS50b0xvd2VyQ2FzZSgpO3JldHVybiB0PHI/LTE6dD5yPzE6MH1mdW5jdGlvbiBNbGEoYSxlLHQscixpLG89InRhYmxlIixuKXtsZXQgbD1hLnNsaWNlKCksZD0ocnx8IiIpLnRyaW0oKS50b0xvd2VyQ2FzZSgpLGM9aXx8e30scD1PYmplY3Qua2V5cyhjKS5maWx0ZXIobT0+KGNbbV0/PyIiKS50cmltKCkubGVuZ3RoPjApO2lmKChkfHxwLmxlbmd0aD4wKSYmKGw9bC5maWx0ZXIobT0+e2ZvcihsZXQgdiBvZiBwKWlmKG89PT0iZGF0YSIpe2xldCB4PW1bdl0sYj1TdHJpbmcoeD8/IiIpLnRvTG93ZXJDYXNlKCksZz1TdHJpbmcoY1t2XSkudG9Mb3dlckNhc2UoKTtpZighYi5pbmNsdWRlcyhnKSlyZXR1cm4hMX1lbHNle2xldCB4PWUuZmluZChrPT5TdHJpbmcoay5rZXkpPT09dik7aWYoIXh8fHguaGlkZGVufHx4LmZpbHRlcmFibGU9PT0hMSljb250aW51ZTtsZXQgYj0kNChtLHgpLGc9U3RyaW5nKGI/PyIiKS50b0xvd2VyQ2FzZSgpLHk9U3RyaW5nKGNbdl0pLnRvTG93ZXJDYXNlKCk7aWYoIWcuaW5jbHVkZXMoeSkpcmV0dXJuITF9aWYoZCl7aWYobilyZXR1cm4hIW4obSk7bGV0IHY9ITE7aWYobz09PSJkYXRhIil7Zm9yKGxldCB4IG9mIE9iamVjdC52YWx1ZXMobSkpaWYoU3RyaW5nKHg/PyIiKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGQpKXt2PSEwO2JyZWFrfX1lbHNlIGZvcihsZXQgeCBvZiBlKXtpZih4LmhpZGRlbiljb250aW51ZTtsZXQgYj0kNChtLHgpO2lmKFN0cmluZyhiPz8iIikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhkKSl7dj0hMDticmVha319aWYoIXYpcmV0dXJuITF9cmV0dXJuITB9KSksIXR8fHQubGVuZ3RoPT09MClyZXR1cm4gbDtsZXQgdT10Lm1hcChtPT4oe2Rlc2M6bSxjb2w6ZS5maW5kKHY9PlN0cmluZyh2LmtleSk9PT1tLmtleSl9KSkuZmlsdGVyKG09PiEhbS5jb2wpO3JldHVybiB1Lmxlbmd0aD09PTB8fGwuc29ydCgobSx2KT0+e2ZvcihsZXR7ZGVzYzp4LGNvbDpifW9mIHUpe2xldCBnPUtJYSgkNChtLGIpLCQ0KHYsYikpO2lmKGchPT0wKXJldHVybiB4LmRpcj09PSJhc2MiP2c6LWd9cmV0dXJuIDB9KSxsfXZhciBrbGE9ZigoKT0+e3ModVFlLCJjb21wdXRlQ29sdW1uc0Zyb21EaXNwbGF5RnVuY3Rpb24iKTtzKHdsYSwiY29tcHV0ZUVmZmVjdGl2ZUNvbHVtbnMiKTtzKCQ0LCJnZXRDZWxsVmFsdWUiKTtzKEtJYSwiY29tcGFyZUNlbGxWYWx1ZXMiKTtzKE1sYSwiZ2V0Vmlld0RhdGEiKX0pO2Z1bmN0aW9uIFVzZShhKXtyZXR1cm4gYS5zdGFydHNXaXRoKCciJykmJmEuZW5kc1dpdGgoJyInKXx8YS5zdGFydHNXaXRoKCInIikmJmEuZW5kc1dpdGgoIiciKT9hLnNsaWNlKDEsLTEpOmF9ZnVuY3Rpb24gWklhKGEpe3JldHVybiBhLnNwbGl0KC9ccytPUlxzKy9pKS5tYXAoZT0+ZS50cmltKCkpLmZpbHRlcihCb29sZWFuKX1mdW5jdGlvbiBYSWEoYSl7cmV0dXJuIGEuc3BsaXQoL1xzK0FORFxzKy9pKS5tYXAoZT0+ZS50cmltKCkpLmZpbHRlcihCb29sZWFuKX1mdW5jdGlvbiBRSWEoYSl7aWYoIWEpcmV0dXJuIG51bGw7bGV0IGU9ITEsdD1hLm1hdGNoKC9eXHMqKE5PVFxzK3wtKVxzKiguKikkL2kpO3QmJihlPSEwLGE9dFsyXSk7bGV0IHI9YS5tYXRjaCgvXihbXjpcc10rKVxzKjpccypcWyguKj8pXHMrVE9ccysoLio/KVxdJC9pKTtpZihyKXJldHVybntmaWVsZDpyWzFdLG5lZ2F0ZTplLHJhbmdlOntsb3dlcjpVc2UoclsyXSkudG9Mb3dlckNhc2UoKSx1cHBlcjpVc2UoclszXSkudG9Mb3dlckNhc2UoKSxpbmNsdXNpdmU6ITB9fTtsZXQgaT1hLm1hdGNoKC9eKFteOlxzXSspXHMqOlxzKigiW14iXSoifCdbXiddKid8W14iJ1xzXSspJC8pO3JldHVybiBpP3tmaWVsZDppWzFdLHZhbHVlOlVzZShpWzJdKS50b0xvd2VyQ2FzZSgpLG5lZ2F0ZTplfTphLmxlbmd0aD4wP3t2YWx1ZTpVc2UoYSkudG9Mb3dlckNhc2UoKSxuZWdhdGU6ZX06bnVsbH1mdW5jdGlvbiBKSWEoYSl7aWYoIWEpcmV0dXJuIG51bGw7bGV0IGU9WklhKGEpLm1hcCh0PT4oe3Rlcm1zOlhJYSh0KS5tYXAoUUlhKS5maWx0ZXIoaT0+ISFpJiYhIWkudmFsdWUpfSkpLmZpbHRlcih0PT50LnRlcm1zLmxlbmd0aD4wKTtyZXR1cm4gZS5sZW5ndGg9PT0wP251bGw6e2NsYXVzZXM6ZX19ZnVuY3Rpb24gU2xhKGEsZSx0KXtsZXQgcj1KSWEoYSk7aWYoIXIpcmV0dXJuIG51bGw7bGV0IGk9bmV3IE1hcCh0Lm1hcChkPT5bU3RyaW5nKGQua2V5KSxkXSkpLG89cygoZCxjKT0+ZDxjPy0xOmQ+Yz8xOjAsImNtcCIpLG49cyhkPT57bGV0IGM9U3RyaW5nKGQ/PyIiKS50b0xvd2VyQ2FzZSgpLHA9TnVtYmVyKGMpLHU9RGF0ZS5wYXJzZShjKTtyZXR1cm4hTnVtYmVyLmlzTmFOKHApJiZjLnRyaW0oKSE9PSIiP3t0OiJuIix2OnB9Ok51bWJlci5pc05hTih1KT97dDoicyIsdjpjfTp7dDoiZCIsdjp1fX0sImNvZXJjZSIpLGw9cygoZCxjLHApPT57bGV0IHU9bihkKSxtPW4oYyksdj1uKHApO2lmKHUudD09PSJzIiYmbS50PT09InMiJiZ2LnQ9PT0icyIpe2xldCBiPXUudjtyZXR1cm4gbyhiLG0udik+PTAmJm8oYix2LnYpPD0wfWlmKHUudD09PSJuIiYmbS50PT09Im4iJiZ2LnQ9PT0ibiIpe2xldCBiPXUudjtyZXR1cm4gYj49bS52JiZiPD12LnZ9aWYodS50PT09ImQiJiZtLnQ9PT0iZCImJnYudD09PSJkIil7bGV0IGI9dS52O3JldHVybiBiPj1tLnYmJmI8PXYudn1sZXQgeD1TdHJpbmcoZD8/IiIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIG8oeCxjKT49MCYmbyh4LHApPD0wfSwiaW5SYW5nZSIpO3JldHVybiBkPT57Zm9yKGxldCBjIG9mIHIuY2xhdXNlcyl7bGV0IHA9ITA7Zm9yKGxldCB1IG9mIGMudGVybXMpe2xldCBtPSExO2lmKHUucmFuZ2UmJnUuZmllbGQpaWYoZT09PSJkYXRhIiltPWwoZFt1LmZpZWxkXSx1LnJhbmdlLmxvd2VyLHUucmFuZ2UudXBwZXIpO2Vsc2V7bGV0IHY9aS5nZXQodS5maWVsZCk7aWYoIXZ8fHYuaGlkZGVuKW09ITE7ZWxzZXtsZXQgeD12LnZhbHVlP3YudmFsdWUoZCk6ZFt2LmtleV07bT1sKHgsdS5yYW5nZS5sb3dlcix1LnJhbmdlLnVwcGVyKX19ZWxzZSBpZih1LmZpZWxkJiZ1LnZhbHVlIT1udWxsKWlmKGU9PT0iZGF0YSIpbT1TdHJpbmcoZFt1LmZpZWxkXT8/IiIpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModS52YWx1ZSk7ZWxzZXtsZXQgdj1pLmdldCh1LmZpZWxkKTtpZighdnx8di5oaWRkZW49PT0hMCltPSExO2Vsc2V7bGV0IHg9di52YWx1ZT92LnZhbHVlKGQpOmRbdi5rZXldO209U3RyaW5nKHg/PyIiKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHUudmFsdWUpfX1lbHNlIHUudmFsdWUhPW51bGwmJihlPT09ImRhdGEiP209T2JqZWN0LnZhbHVlcyhkKS5zb21lKHY9PlN0cmluZyh2Pz8iIikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh1LnZhbHVlKSk6bT10LnNvbWUodj0+e2lmKHYuaGlkZGVuKXJldHVybiExO2xldCB4PXYudmFsdWU/di52YWx1ZShkKTpkW3Yua2V5XTtyZXR1cm4gU3RyaW5nKHg/PyIiKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHUudmFsdWUpfSkpO2lmKHUubmVnYXRlJiYobT0hbSksIW0pe3A9ITE7YnJlYWt9fWlmKHApcmV0dXJuITB9cmV0dXJuITF9fXZhciB6bGE9ZigoKT0+e3MoVXNlLCJzdHJpcFF1b3RlcyIpO3MoWklhLCJzcGxpdEJ5T3IiKTtzKFhJYSwic3BsaXRCeUFuZCIpO3MoUUlhLCJwYXJzZVRlcm0iKTtzKEpJYSwicGFyc2VMdWNlbmUiKTtzKFNsYSwiY29tcGlsZUx1Y2VuZVByZWRpY2F0ZSIpfSk7ZnVuY3Rpb24gZU5hKGEpe2xldCBlPVsidGgiLCJzdCIsIm5kIiwicmQiXSx0PWElMTAwO3JldHVybiBhKyhlWyh0LTIwKSUxMF18fGVbdF18fGVbMF0pfXZhciBmYSxvdCxXc2Usb1FlPWYoKCk9PntWcygpO3ZsYSgpO2xlKCk7WnIoKTtoYygpO2VhKCk7dmEoKTt5bGEoKTtuUWUoKTtsUWUoKTtjUWUoKTtuYWUoKTtkUWUoKTtrbGEoKTt6bGEoKTtRZSgpO1hyKCk7ZmE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LG90PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfTtzKGVOYSwib3JkaW5hbExhYmVsIik7V3NlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy10YWJsZSIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdLFAsQT1bXSxGPVtdLFcsaj1bXSxHPVtdLGhlLFI9W10sVT1bXSxtZSxJPVtdLHE9W10sY2UsdWU9W10sWT1bXSxRLEo9W10sWj1bXSxnZSxhZT1bXSxyZT1bXSx5ZSxWPVtdLEg9W10sb2Usc2U9W10sdGU9W10semUsT2U9W10scWU9W10sY3QsJGU9W10sQ2U9W10sTWUsZGU9W10sdmU9W10sQWUsWmU9W10sbHQ9W10senQsVGU9W10sd2U9W10sUmUsZmU9W10sYmU9W10sUGUsZnQ9W10sbXQ9W10sTnQsUWE9W10sZXI9W10seXMsamU9W10sdXQ9W10sSmEsTXI9W10sJHI9W10sVnIsRHI9W10sbW89W10sZ28sTGU9W10sU2U9W10sQmUsaWE9W10sd3M9W10sYmwseGU9W10sbmU9W10sX2UsVWU9W10sa3Q9W10sTXMsanI9W10sT2k9W10sWm4sbjI9W10sdmw9W10sWG4sdDM9W10sXzc9W10sVDcsTDc9W10sJDc9W10sRDcsQTc9W10sRTc9W107dmFyIFA3PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzVGFibGUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgRD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOkFycmF5fSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLHk9WyQoe3R5cGU6U3RyaW5nfSldLE49WyQoe3R5cGU6Qm9vbGVhbn0pXSxPPVskKHt0eXBlOkJvb2xlYW59KV0sQj1bJCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSxQPVskKHt0eXBlOkJvb2xlYW59KV0sVz1bJCh7dHlwZTpBcnJheX0pXSxoZT1bJCh7YXR0cmlidXRlOiExfSldLG1lPVskKHthdHRyaWJ1dGU6ITF9KV0sY2U9WyQoe3R5cGU6Qm9vbGVhbn0pXSxRPVskKHthdHRyaWJ1dGU6ITF9KV0sZ2U9WyQoe2F0dHJpYnV0ZTohMX0pXSx5ZT1bJCh7dHlwZTpPYmplY3R9KV0sb2U9WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwLGF0dHJpYnV0ZToic2hvdy12ZXJ0aWNhbC1saW5lcyJ9KV0semU9WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwLGF0dHJpYnV0ZToic2hvdy1ob3Jpem9udGFsLWxpbmVzIn0pXSxjdD1bJCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITAsYXR0cmlidXRlOiJzaG93LWdyaWQifSldLE1lPVskKHthdHRyaWJ1dGU6ITF9KV0sQWU9WyQoe3R5cGU6U3RyaW5nfSldLHp0PVskKHthdHRyaWJ1dGU6ITF9KV0sUmU9WyQoe3R5cGU6Qm9vbGVhbixhdHRyaWJ1dGU6InNob3ctY29sdW1uLWZpbHRlcnMifSldLFBlPVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMCxhdHRyaWJ1dGU6InNob3ctc2VsZWN0aW9uLWNoZWNrYm94In0pXSxOdD1bJCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITAsYXR0cmlidXRlOiJ2aXJ0dWFsaXplZCJ9KV0seXM9WyQoe3R5cGU6TnVtYmVyLGF0dHJpYnV0ZToidmlydHVhbC1vdmVyc2NhbiJ9KV0sSmE9WyQoe3R5cGU6U3RyaW5nLGF0dHJpYnV0ZToiaGlnaGxpZ2h0LXVwZGF0ZXMifSldLFZyPVskKHt0eXBlOk51bWJlcixhdHRyaWJ1dGU6ImhpZ2hsaWdodC1kdXJhdGlvbiJ9KV0sZ289WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwLGF0dHJpYnV0ZToiZml4ZWQtaGVpZ2h0In0pXSxCZT1bJCh7dHlwZTpTdHJpbmd9KV0sYmw9WyQoe3R5cGU6U3RyaW5nfSldLF9lPVskKHthdHRyaWJ1dGU6ITF9KV0sTXM9W0soKV0sWm49W0soKV0sWG49W0soKV0sVDc9W0soKV0sRDc9W0soKV0sZmEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoZWFkaW5nMSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iaGVhZGluZzEiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5oZWFkaW5nMSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5oZWFkaW5nMT1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxuLGwpLGZhKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGVhZGluZzIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImhlYWRpbmcyImluIEwsImhhcyIpLGdldDpzKEw9PkwuaGVhZGluZzIsImdldCIpLHNldDpzKChMLGVlKT0+e0wuaGVhZGluZzI9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sYyxwKSxmYSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRhdGEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImRhdGEiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5kYXRhLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmRhdGE9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sbSx2KSxmYSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImtleSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ia2V5ImluIEwsImhhcyIpLGdldDpzKEw9Pkwua2V5LCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmtleT1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxiLGcpLGZhKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImxhYmVsImluIEwsImhhcyIpLGdldDpzKEw9PkwubGFiZWwsImdldCIpLHNldDpzKChMLGVlKT0+e0wubGFiZWw9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sayxDKSxmYSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRpc2FibGVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJkaXNhYmxlZCJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmRpc2FibGVkLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmRpc2FibGVkPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LF8seiksZmEodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZXF1aXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4icmVxdWlyZWQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5yZXF1aXJlZCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5yZXF1aXJlZD1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxULEUpLGZhKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0YU5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImRhdGFOYW1lImluIEwsImhhcyIpLGdldDpzKEw9PkwuZGF0YU5hbWUsImdldCIpLHNldDpzKChMLGVlKT0+e0wuZGF0YU5hbWU9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sTSxTKSxmYSh0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlYXJjaGFibGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InNlYXJjaGFibGUiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5zZWFyY2hhYmxlLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnNlYXJjaGFibGU9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sQSxGKSxmYSh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRhdGFBY3Rpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJkYXRhQWN0aW9ucyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmRhdGFBY3Rpb25zLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmRhdGFBY3Rpb25zPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGosRyksZmEodGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sdW1ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iY29sdW1ucyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmNvbHVtbnMsImdldCIpLHNldDpzKChMLGVlKT0+e0wuY29sdW1ucz1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxSLFUpLGZhKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJvd0tleSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4icm93S2V5ImluIEwsImhhcyIpLGdldDpzKEw9Pkwucm93S2V5LCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnJvd0tleT1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxJLHEpLGZhKHRoaXMsbnVsbCxjZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImF1Z21lbnRGcm9tRGlzcGxheUZ1bmN0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJhdWdtZW50RnJvbURpc3BsYXlGdW5jdGlvbiJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmF1Z21lbnRGcm9tRGlzcGxheUZ1bmN0aW9uLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmF1Z21lbnRGcm9tRGlzcGxheUZ1bmN0aW9uPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LHVlLFkpLGZhKHRoaXMsbnVsbCxRLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGlzcGxheUZ1bmN0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJkaXNwbGF5RnVuY3Rpb24iaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5kaXNwbGF5RnVuY3Rpb24sImdldCIpLHNldDpzKChMLGVlKT0+e0wuZGlzcGxheUZ1bmN0aW9uPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LEosWiksZmEodGhpcyxudWxsLGdlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmV2ZXJzZURpc3BsYXlGdW5jdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4icmV2ZXJzZURpc3BsYXlGdW5jdGlvbiJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnJldmVyc2VEaXNwbGF5RnVuY3Rpb24sImdldCIpLHNldDpzKChMLGVlKT0+e0wucmV2ZXJzZURpc3BsYXlGdW5jdGlvbj1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxhZSxyZSksZmEodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWREYXRhUm93IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzZWxlY3RlZERhdGFSb3ciaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5zZWxlY3RlZERhdGFSb3csImdldCIpLHNldDpzKChMLGVlKT0+e0wuc2VsZWN0ZWREYXRhUm93PWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFYsSCksZmEodGhpcyxudWxsLG9lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1ZlcnRpY2FsTGluZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InNob3dWZXJ0aWNhbExpbmVzImluIEwsImhhcyIpLGdldDpzKEw9Pkwuc2hvd1ZlcnRpY2FsTGluZXMsImdldCIpLHNldDpzKChMLGVlKT0+e0wuc2hvd1ZlcnRpY2FsTGluZXM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sc2UsdGUpLGZhKHRoaXMsbnVsbCx6ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dIb3Jpem9udGFsTGluZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InNob3dIb3Jpem9udGFsTGluZXMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5zaG93SG9yaXpvbnRhbExpbmVzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnNob3dIb3Jpem9udGFsTGluZXM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sT2UscWUpLGZhKHRoaXMsbnVsbCxjdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dHcmlkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzaG93R3JpZCJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNob3dHcmlkLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnNob3dHcmlkPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LCRlLENlKSxmYSh0aGlzLG51bGwsTWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzb3J0QnkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InNvcnRCeSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNvcnRCeSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5zb3J0Qnk9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sZGUsdmUpLGZhKHRoaXMsbnVsbCxBZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpbHRlclRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImZpbHRlclRleHQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5maWx0ZXJUZXh0LCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmZpbHRlclRleHQ9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sWmUsbHQpLGZhKHRoaXMsbnVsbCx6dCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbHVtbkZpbHRlcnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImNvbHVtbkZpbHRlcnMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5jb2x1bW5GaWx0ZXJzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmNvbHVtbkZpbHRlcnM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sVGUsd2UpLGZhKHRoaXMsbnVsbCxSZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dDb2x1bW5GaWx0ZXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzaG93Q29sdW1uRmlsdGVycyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNob3dDb2x1bW5GaWx0ZXJzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnNob3dDb2x1bW5GaWx0ZXJzPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGZlLGJlKSxmYSh0aGlzLG51bGwsUGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93U2VsZWN0aW9uQ2hlY2tib3giLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InNob3dTZWxlY3Rpb25DaGVja2JveCJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNob3dTZWxlY3Rpb25DaGVja2JveCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5zaG93U2VsZWN0aW9uQ2hlY2tib3g9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sZnQsbXQpLGZhKHRoaXMsbnVsbCxOdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZpcnR1YWxpemVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJ2aXJ0dWFsaXplZCJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnZpcnR1YWxpemVkLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnZpcnR1YWxpemVkPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFFhLGVyKSxmYSh0aGlzLG51bGwseXMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aXJ0dWFsT3ZlcnNjYW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InZpcnR1YWxPdmVyc2NhbiJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnZpcnR1YWxPdmVyc2NhbiwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC52aXJ0dWFsT3ZlcnNjYW49ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0samUsdXQpLGZhKHRoaXMsbnVsbCxKYSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhpZ2hsaWdodFVwZGF0ZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImhpZ2hsaWdodFVwZGF0ZXMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5oaWdobGlnaHRVcGRhdGVzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmhpZ2hsaWdodFVwZGF0ZXM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sTXIsJHIpLGZhKHRoaXMsbnVsbCxWcix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhpZ2hsaWdodER1cmF0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJoaWdobGlnaHREdXJhdGlvbiJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmhpZ2hsaWdodER1cmF0aW9uLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmhpZ2hsaWdodER1cmF0aW9uPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LERyLG1vKSxmYSh0aGlzLG51bGwsZ28se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaXhlZEhlaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iZml4ZWRIZWlnaHQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5maXhlZEhlaWdodCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5maXhlZEhlaWdodD1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxMZSxTZSksZmEodGhpcyxudWxsLEJlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VhcmNoTW9kZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ic2VhcmNoTW9kZSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNlYXJjaE1vZGUsImdldCIpLHNldDpzKChMLGVlKT0+e0wuc2VhcmNoTW9kZT1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxpYSx3cyksZmEodGhpcyxudWxsLGJsLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0aW9uTW9kZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ic2VsZWN0aW9uTW9kZSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNlbGVjdGlvbk1vZGUsImdldCIpLHNldDpzKChMLGVlKT0+e0wuc2VsZWN0aW9uTW9kZT1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSx4ZSxuZSksZmEodGhpcyxudWxsLF9lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRJZHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InNlbGVjdGVkSWRzImluIEwsImhhcyIpLGdldDpzKEw9Pkwuc2VsZWN0ZWRJZHMsImdldCIpLHNldDpzKChMLGVlKT0+e0wuc2VsZWN0ZWRJZHM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sVWUsa3QpLGZhKHRoaXMsbnVsbCxNcyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Il9fZm9jdXNlZENlbGwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+Il9fZm9jdXNlZENlbGwiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5fX2ZvY3VzZWRDZWxsLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLl9fZm9jdXNlZENlbGw9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sanIsT2kpLGZhKHRoaXMsbnVsbCxabix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Il9fZWRpdGluZ0NlbGwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+Il9fZWRpdGluZ0NlbGwiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5fX2VkaXRpbmdDZWxsLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLl9fZWRpdGluZ0NlbGw9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sbjIsdmwpLGZhKHRoaXMsbnVsbCxYbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Il9fZmxvYXRpbmdBY3RpdmUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+Il9fZmxvYXRpbmdBY3RpdmUiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5fX2Zsb2F0aW5nQWN0aXZlLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLl9fZmxvYXRpbmdBY3RpdmU9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sdDMsXzcpLGZhKHRoaXMsbnVsbCxUNyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Il9fZmxhc2hpbmdDZWxscyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iX19mbGFzaGluZ0NlbGxzImluIEwsImhhcyIpLGdldDpzKEw9PkwuX19mbGFzaGluZ0NlbGxzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLl9fZmxhc2hpbmdDZWxscz1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxMNywkNyksZmEodGhpcyxudWxsLEQ3LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiX192aXJ0dWFsUmFuZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+Il9fdmlydHVhbFJhbmdlImluIEwsImhhcyIpLGdldDpzKEw9PkwuX192aXJ0dWFsUmFuZ2UsImdldCIpLHNldDpzKChMLGVlKT0+e0wuX192aXJ0dWFsUmFuZ2U9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sQTcsRTcpLGZhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOkR9LG51bGwsdCksUDc9cj1lLnZhbHVlLEQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6RH0pfXN0YXRpYyBkZW1vPWJsYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhdGEgVmlldyJdOyNlPW90KHRoaXMsbiwiaGVhZGluZyAxIik7Z2V0IGhlYWRpbmcxKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGhlYWRpbmcxKEQpe3RoaXMuI2U9RH0jdD0ob3QodGhpcyxsKSxvdCh0aGlzLGMsImhlYWRpbmcgMiIpKTtnZXQgaGVhZGluZzIoKXtyZXR1cm4gdGhpcy4jdH1zZXQgaGVhZGluZzIoRCl7dGhpcy4jdD1EfSNhPShvdCh0aGlzLHApLG90KHRoaXMsbSxbXSkpO2dldCBkYXRhKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGRhdGEoRCl7dGhpcy4jYT1EfSNyPShvdCh0aGlzLHYpLG90KHRoaXMsYix2b2lkIDApKTtnZXQga2V5KCl7cmV0dXJuIHRoaXMuI3J9c2V0IGtleShEKXt0aGlzLiNyPUR9I3M9KG90KHRoaXMsZyksb3QodGhpcyxrLHZvaWQgMCkpO2dldCBsYWJlbCgpe3JldHVybiB0aGlzLiNzfXNldCBsYWJlbChEKXt0aGlzLiNzPUR9I2k9KG90KHRoaXMsQyksb3QodGhpcyxfLCExKSk7Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGRpc2FibGVkKEQpe3RoaXMuI2k9RH0jbz0ob3QodGhpcyx6KSxvdCh0aGlzLFQsITEpKTtnZXQgcmVxdWlyZWQoKXtyZXR1cm4gdGhpcy4jb31zZXQgcmVxdWlyZWQoRCl7dGhpcy4jbz1EfWdldCB2YWx1ZSgpe3JldHVybiB0aGlzLmRhdGF9c2V0IHZhbHVlKEQpe31jaGFuZ2VTdWJqZWN0PShvdCh0aGlzLEUpLG5ldyBIdC5zbWFydHJ4LnJ4anMuU3ViamVjdCk7I249b3QodGhpcyxNLHZvaWQgMCk7Z2V0IGRhdGFOYW1lKCl7cmV0dXJuIHRoaXMuI259c2V0IGRhdGFOYW1lKEQpe3RoaXMuI249RH0jbD0ob3QodGhpcyxTKSxvdCh0aGlzLEEsITApKTtnZXQgc2VhcmNoYWJsZSgpe3JldHVybiB0aGlzLiNsfXNldCBzZWFyY2hhYmxlKEQpe3RoaXMuI2w9RH0jYz0ob3QodGhpcyxGKSxvdCh0aGlzLGosW10pKTtnZXQgZGF0YUFjdGlvbnMoKXtyZXR1cm4gdGhpcy4jY31zZXQgZGF0YUFjdGlvbnMoRCl7dGhpcy4jYz1EfSNkPShvdCh0aGlzLEcpLG90KHRoaXMsUixbXSkpO2dldCBjb2x1bW5zKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGNvbHVtbnMoRCl7dGhpcy4jZD1EfSN1PShvdCh0aGlzLFUpLG90KHRoaXMsSSx2b2lkIDApKTtnZXQgcm93S2V5KCl7cmV0dXJuIHRoaXMuI3V9c2V0IHJvd0tleShEKXt0aGlzLiN1PUR9I3A9KG90KHRoaXMscSksb3QodGhpcyx1ZSwhMSkpO2dldCBhdWdtZW50RnJvbURpc3BsYXlGdW5jdGlvbigpe3JldHVybiB0aGlzLiNwfXNldCBhdWdtZW50RnJvbURpc3BsYXlGdW5jdGlvbihEKXt0aGlzLiNwPUR9I2Y9KG90KHRoaXMsWSksb3QodGhpcyxKLEQ9PkQpKTtnZXQgZGlzcGxheUZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IGRpc3BsYXlGdW5jdGlvbihEKXt0aGlzLiNmPUR9I2g9KG90KHRoaXMsWiksb3QodGhpcyxhZSxEPT5EKSk7Z2V0IHJldmVyc2VEaXNwbGF5RnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4jaH1zZXQgcmV2ZXJzZURpc3BsYXlGdW5jdGlvbihEKXt0aGlzLiNoPUR9I209KG90KHRoaXMscmUpLG90KHRoaXMsVix2b2lkIDApKTtnZXQgc2VsZWN0ZWREYXRhUm93KCl7cmV0dXJuIHRoaXMuI219c2V0IHNlbGVjdGVkRGF0YVJvdyhEKXt0aGlzLiNtPUR9I2c9KG90KHRoaXMsSCksb3QodGhpcyxzZSwhMSkpO2dldCBzaG93VmVydGljYWxMaW5lcygpe3JldHVybiB0aGlzLiNnfXNldCBzaG93VmVydGljYWxMaW5lcyhEKXt0aGlzLiNnPUR9I2I9KG90KHRoaXMsdGUpLG90KHRoaXMsT2UsITEpKTtnZXQgc2hvd0hvcml6b250YWxMaW5lcygpe3JldHVybiB0aGlzLiNifXNldCBzaG93SG9yaXpvbnRhbExpbmVzKEQpe3RoaXMuI2I9RH0jdj0ob3QodGhpcyxxZSksb3QodGhpcywkZSwhMCkpO2dldCBzaG93R3JpZCgpe3JldHVybiB0aGlzLiN2fXNldCBzaG93R3JpZChEKXt0aGlzLiN2PUR9ZmlsZXM9KG90KHRoaXMsQ2UpLFtdKTtmaWxlV2Vha01hcD1uZXcgV2Vha01hcDtkYXRhQ2hhbmdlU3ViamVjdD1uZXcgSHQuc21hcnRyeC5yeGpzLlN1YmplY3Q7I3g9b3QodGhpcyxkZSxbXSk7Z2V0IHNvcnRCeSgpe3JldHVybiB0aGlzLiN4fXNldCBzb3J0QnkoRCl7dGhpcy4jeD1EfSN5PShvdCh0aGlzLHZlKSxvdCh0aGlzLFplLCIiKSk7Z2V0IGZpbHRlclRleHQoKXtyZXR1cm4gdGhpcy4jeX1zZXQgZmlsdGVyVGV4dChEKXt0aGlzLiN5PUR9I3c9KG90KHRoaXMsbHQpLG90KHRoaXMsVGUse30pKTtnZXQgY29sdW1uRmlsdGVycygpe3JldHVybiB0aGlzLiN3fXNldCBjb2x1bW5GaWx0ZXJzKEQpe3RoaXMuI3c9RH0jTT0ob3QodGhpcyx3ZSksb3QodGhpcyxmZSwhMSkpO2dldCBzaG93Q29sdW1uRmlsdGVycygpe3JldHVybiB0aGlzLiNNfXNldCBzaG93Q29sdW1uRmlsdGVycyhEKXt0aGlzLiNNPUR9I2s9KG90KHRoaXMsYmUpLG90KHRoaXMsZnQsITEpKTtnZXQgc2hvd1NlbGVjdGlvbkNoZWNrYm94KCl7cmV0dXJuIHRoaXMuI2t9c2V0IHNob3dTZWxlY3Rpb25DaGVja2JveChEKXt0aGlzLiNrPUR9I1M9KG90KHRoaXMsbXQpLG90KHRoaXMsUWEsITEpKTtnZXQgdmlydHVhbGl6ZWQoKXtyZXR1cm4gdGhpcy4jU31zZXQgdmlydHVhbGl6ZWQoRCl7dGhpcy4jUz1EfSN6PShvdCh0aGlzLGVyKSxvdCh0aGlzLGplLDgpKTtnZXQgdmlydHVhbE92ZXJzY2FuKCl7cmV0dXJuIHRoaXMuI3p9c2V0IHZpcnR1YWxPdmVyc2NhbihEKXt0aGlzLiN6PUR9I0M9KG90KHRoaXMsdXQpLG90KHRoaXMsTXIsIm5vbmUiKSk7Z2V0IGhpZ2hsaWdodFVwZGF0ZXMoKXtyZXR1cm4gdGhpcy4jQ31zZXQgaGlnaGxpZ2h0VXBkYXRlcyhEKXt0aGlzLiNDPUR9I189KG90KHRoaXMsJHIpLG90KHRoaXMsRHIsOTAwKSk7Z2V0IGhpZ2hsaWdodER1cmF0aW9uKCl7cmV0dXJuIHRoaXMuI199c2V0IGhpZ2hsaWdodER1cmF0aW9uKEQpe3RoaXMuI189RH0jVD0ob3QodGhpcyxtbyksb3QodGhpcyxMZSwhMSkpO2dldCBmaXhlZEhlaWdodCgpe3JldHVybiB0aGlzLiNUfXNldCBmaXhlZEhlaWdodChEKXt0aGlzLiNUPUR9I0w9KG90KHRoaXMsU2UpLG90KHRoaXMsaWEsInRhYmxlIikpO2dldCBzZWFyY2hNb2RlKCl7cmV0dXJuIHRoaXMuI0x9c2V0IHNlYXJjaE1vZGUoRCl7dGhpcy4jTD1EfV9fc2VhcmNoVGV4dFN1Yj1vdCh0aGlzLHdzKTtfX3NlYXJjaE1vZGVTdWI7IyQ9b3QodGhpcyx4ZSwibm9uZSIpO2dldCBzZWxlY3Rpb25Nb2RlKCl7cmV0dXJuIHRoaXMuIyR9c2V0IHNlbGVjdGlvbk1vZGUoRCl7dGhpcy4jJD1EfSNEPShvdCh0aGlzLG5lKSxvdCh0aGlzLFVlLG5ldyBTZXQpKTtnZXQgc2VsZWN0ZWRJZHMoKXtyZXR1cm4gdGhpcy4jRH1zZXQgc2VsZWN0ZWRJZHMoRCl7dGhpcy4jRD1EfV9yb3dJZE1hcD0ob3QodGhpcyxrdCksbmV3IFdlYWtNYXApO19yb3dJZENvdW50ZXI9MDtfX3NlbGVjdGlvbkFuY2hvcklkOyNBPW90KHRoaXMsanIsdm9pZCAwKTtnZXQgX19mb2N1c2VkQ2VsbCgpe3JldHVybiB0aGlzLiNBfXNldCBfX2ZvY3VzZWRDZWxsKEQpe3RoaXMuI0E9RH0jRT0ob3QodGhpcyxPaSksb3QodGhpcyxuMix2b2lkIDApKTtnZXQgX19lZGl0aW5nQ2VsbCgpe3JldHVybiB0aGlzLiNFfXNldCBfX2VkaXRpbmdDZWxsKEQpe3RoaXMuI0U9RH0jUD0ob3QodGhpcyx2bCksb3QodGhpcyx0MywhMSkpO2dldCBfX2Zsb2F0aW5nQWN0aXZlKCl7cmV0dXJuIHRoaXMuI1B9c2V0IF9fZmxvYXRpbmdBY3RpdmUoRCl7dGhpcy4jUD1EfSNJPShvdCh0aGlzLF83KSxvdCh0aGlzLEw3LG5ldyBNYXApKTtnZXQgX19mbGFzaGluZ0NlbGxzKCl7cmV0dXJuIHRoaXMuI0l9c2V0IF9fZmxhc2hpbmdDZWxscyhEKXt0aGlzLiNJPUR9X19wcmV2U25hcHNob3Q9b3QodGhpcywkNyk7X19mbGFzaENsZWFyVGltZXI7X19mbGFzaFRpY2s9MDtfX2ZsYXNoV2FybmVkTm9Sb3dLZXk9ITE7X19tZW1vRWZmZWN0aXZlQ29scztfX21lbW9WaWV3RGF0YTtfX2NvbHVtbnNTaXplZEZvcjtfX3Jvd0hlaWdodD0zNjtfX3Jvd0hlaWdodE1lYXN1cmVkPSExOyNOPW90KHRoaXMsQTcse3N0YXJ0OjAsZW5kOjB9KTtnZXQgX192aXJ0dWFsUmFuZ2UoKXtyZXR1cm4gdGhpcy4jTn1zZXQgX192aXJ0dWFsUmFuZ2UoRCl7dGhpcy4jTj1EfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmhhc0F0dHJpYnV0ZSgidGFiaW5kZXgiKXx8dGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiMCIpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5fX2hhbmRsZUhvc3RLZXlkb3duKX1fX2hhbmRsZUhvc3RLZXlkb3duPShvdCh0aGlzLEU3KSxEPT57bGV0IEw9RC5jb21wb3NlZFBhdGg/LigpfHxbXSxlZT0hMTtmb3IobGV0IEllIG9mIEwpe2xldCBXZT1JZT8udGFnTmFtZTtpZihXZT09PSJJTlBVVCJ8fFdlPT09IlRFWFRBUkVBInx8SWU/LmlzQ29udGVudEVkaXRhYmxlKXtlZT0hMDticmVha319aWYoKEQubWV0YUtleXx8RC5jdHJsS2V5KSYmKEQua2V5PT09ImMifHxELmtleT09PSJDIikpe2lmKGVlKXJldHVybjtsZXQgSWU9W107aWYodGhpcy5zZWxlY3RlZElkcy5zaXplPjApZm9yKGxldCBXZSBvZiB0aGlzLmRhdGEpdGhpcy5zZWxlY3RlZElkcy5oYXModGhpcy5nZXRSb3dJZChXZSkpJiZJZS5wdXNoKFdlKTtlbHNlIHRoaXMuc2VsZWN0ZWREYXRhUm93JiZJZS5wdXNoKHRoaXMuc2VsZWN0ZWREYXRhUm93KTtpZihJZS5sZW5ndGg9PT0wKXJldHVybjtELnByZXZlbnREZWZhdWx0KCksdGhpcy5fX3dyaXRlUm93c0FzSnNvbihJZSk7cmV0dXJufWlmKCEoZWV8fHRoaXMuX19lZGl0aW5nQ2VsbCkpc3dpdGNoKEQua2V5KXtjYXNlIkFycm93TGVmdCI6RC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMubW92ZUZvY3VzZWRDZWxsKC0xLDAsITEpO3JldHVybjtjYXNlIkFycm93UmlnaHQiOkQucHJldmVudERlZmF1bHQoKSx0aGlzLm1vdmVGb2N1c2VkQ2VsbCgxLDAsITEpO3JldHVybjtjYXNlIkFycm93VXAiOkQucHJldmVudERlZmF1bHQoKSx0aGlzLm1vdmVGb2N1c2VkQ2VsbCgwLC0xLCExKTtyZXR1cm47Y2FzZSJBcnJvd0Rvd24iOkQucHJldmVudERlZmF1bHQoKSx0aGlzLm1vdmVGb2N1c2VkQ2VsbCgwLDEsITEpO3JldHVybjtjYXNlIkVudGVyIjpjYXNlIkYyIjp7aWYoIXRoaXMuX19mb2N1c2VkQ2VsbClyZXR1cm47bGV0IFdlPSh0aGlzLl9sYXN0Vmlld0RhdGE/P1tdKS5maW5kKHh0PT50aGlzLmdldFJvd0lkKHh0KT09PXRoaXMuX19mb2N1c2VkQ2VsbC5yb3dJZCk7aWYoIVdlKXJldHVybjtsZXQgYXQ9dGhpcy5fX2dldEVmZmVjdGl2ZUNvbHVtbnMoKS5maW5kKHh0PT5TdHJpbmcoeHQua2V5KT09PXRoaXMuX19mb2N1c2VkQ2VsbC5jb2xLZXkpO2lmKCFhdHx8IXRoaXMuX19pc0NvbHVtbkVkaXRhYmxlKGF0KSlyZXR1cm47RC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc3RhcnRFZGl0aW5nKFdlLGF0KTtyZXR1cm59Y2FzZSJFc2NhcGUiOnRoaXMuX19mb2N1c2VkQ2VsbCYmKHRoaXMuX19mb2N1c2VkQ2VsbD12b2lkIDAsdGhpcy5yZXF1ZXN0VXBkYXRlKCkpO3JldHVybjtkZWZhdWx0OnJldHVybn19KTtjb3B5U2VsZWN0aW9uQXNKc29uKEQpe2xldCBMPVtdO2lmKHRoaXMuc2VsZWN0ZWRJZHMuc2l6ZT4wKWZvcihsZXQgZWUgb2YgdGhpcy5kYXRhKXRoaXMuc2VsZWN0ZWRJZHMuaGFzKHRoaXMuZ2V0Um93SWQoZWUpKSYmTC5wdXNoKGVlKTtlbHNlIEQ/TC5wdXNoKEQpOnRoaXMuc2VsZWN0ZWREYXRhUm93JiZMLnB1c2godGhpcy5zZWxlY3RlZERhdGFSb3cpO0wubGVuZ3RoIT09MCYmdGhpcy5fX3dyaXRlUm93c0FzSnNvbihMKX1fX3dyaXRlUm93c0FzSnNvbihEKXt0cnl7bGV0IEw9SlNPTi5zdHJpbmdpZnkoRCxudWxsLDIpO25hdmlnYXRvci5jbGlwYm9hcmQ/LndyaXRlVGV4dChMKX1jYXRjaHt9fXN0YXRpYyBzdHlsZXM9eGxhO19fZ2V0RGlzcGxheUZ1bmN0aW9uU2hhcGVLZXkoKXtpZighdGhpcy5kYXRhfHx0aGlzLmRhdGEubGVuZ3RoPT09MClyZXR1cm4iIjtsZXQgRD10aGlzLmRpc3BsYXlGdW5jdGlvbih0aGlzLmRhdGFbMF0pPz97fTtyZXR1cm4gT2JqZWN0LmtleXMoRCkuam9pbigiXDAiKX1fX2dldEVmZmVjdGl2ZUNvbHVtbnMoKXtsZXQgRD1BcnJheS5pc0FycmF5KHRoaXMuY29sdW1ucykmJnRoaXMuY29sdW1ucy5sZW5ndGg+MCxMPSFEfHx0aGlzLmF1Z21lbnRGcm9tRGlzcGxheUZ1bmN0aW9uP3RoaXMuX19nZXREaXNwbGF5RnVuY3Rpb25TaGFwZUtleSgpOiIiLGVlPXRoaXMuX19tZW1vRWZmZWN0aXZlQ29scztpZihlZSYmZWUuY29sdW1ucz09PXRoaXMuY29sdW1ucyYmZWUuYXVnbWVudD09PXRoaXMuYXVnbWVudEZyb21EaXNwbGF5RnVuY3Rpb24mJmVlLmRpc3BsYXlGdW5jdGlvbj09PXRoaXMuZGlzcGxheUZ1bmN0aW9uJiZlZS5kaXNwbGF5U2hhcGVLZXk9PT1MKXJldHVybiBlZS5vdXQ7bGV0IERlPUQ/d2xhKHRoaXMuY29sdW1ucyx0aGlzLmF1Z21lbnRGcm9tRGlzcGxheUZ1bmN0aW9uLHRoaXMuZGlzcGxheUZ1bmN0aW9uLHRoaXMuZGF0YSk6dVFlKHRoaXMuZGlzcGxheUZ1bmN0aW9uLHRoaXMuZGF0YSk7cmV0dXJuIHRoaXMuX19tZW1vRWZmZWN0aXZlQ29scz17Y29sdW1uczp0aGlzLmNvbHVtbnMsYXVnbWVudDp0aGlzLmF1Z21lbnRGcm9tRGlzcGxheUZ1bmN0aW9uLGRpc3BsYXlGdW5jdGlvbjp0aGlzLmRpc3BsYXlGdW5jdGlvbixkaXNwbGF5U2hhcGVLZXk6TCxvdXQ6RGV9LERlfV9fZ2V0Vmlld0RhdGEoRCl7bGV0IEw9dGhpcy5zZWFyY2hNb2RlPT09ImRhdGEiPyJkYXRhIjoidGFibGUiLGVlPXRoaXMuX19tZW1vVmlld0RhdGE7aWYoZWUmJmVlLmRhdGE9PT10aGlzLmRhdGEmJmVlLnNvcnRCeT09PXRoaXMuc29ydEJ5JiZlZS5maWx0ZXJUZXh0PT09dGhpcy5maWx0ZXJUZXh0JiZlZS5jb2x1bW5GaWx0ZXJzPT09dGhpcy5jb2x1bW5GaWx0ZXJzJiZlZS5zZWFyY2hNb2RlPT09TCYmZWUuZWZmZWN0aXZlQ29sdW1ucz09PUQpcmV0dXJuIGVlLm91dDtsZXQgRGU9U2xhKHRoaXMuZmlsdGVyVGV4dCxMLEQpLEllPU1sYSh0aGlzLmRhdGEsRCx0aGlzLnNvcnRCeSx0aGlzLmZpbHRlclRleHQsdGhpcy5jb2x1bW5GaWx0ZXJzLEwsRGV8fHZvaWQgMCk7cmV0dXJuIHRoaXMuX19tZW1vVmlld0RhdGE9e2RhdGE6dGhpcy5kYXRhLHNvcnRCeTp0aGlzLnNvcnRCeSxmaWx0ZXJUZXh0OnRoaXMuZmlsdGVyVGV4dCxjb2x1bW5GaWx0ZXJzOnRoaXMuY29sdW1uRmlsdGVycyxzZWFyY2hNb2RlOkwsZWZmZWN0aXZlQ29sdW1uczpELG91dDpJZX0sSWV9cmVuZGVyKCl7bGV0IEQ9dGhpcy5fX2dldEVmZmVjdGl2ZUNvbHVtbnMoKSxMPXRoaXMuX19nZXRWaWV3RGF0YShEKSxlZT10aGlzLmdldEFjdGlvbnNGb3JUeXBlKCJoZWFkZXIiKSxEZT10aGlzLmdldEFjdGlvbnNGb3JUeXBlKCJmb290ZXIiKSxJZT10aGlzLmdldEFjdGlvbnNGb3JUeXBlKCJpblJvdyIpO3RoaXMuX2xhc3RWaWV3RGF0YT1MO2xldCBXZT10aGlzLnZpcnR1YWxpemVkJiZMLmxlbmd0aD4wLHR0PUwsYXQ9MCx4dD0wLGdhPTA7aWYoV2Upe2xldCB5dD10aGlzLl9fdmlydHVhbFJhbmdlLHNzPU1hdGgubWF4KDAseXQuc3RhcnQpLGJvPU1hdGgubWluKEwubGVuZ3RoLHl0LmVuZHx8MCksVXI9Ym8+MD9ibzpNYXRoLm1pbihMLmxlbmd0aCx0aGlzLnZpcnR1YWxPdmVyc2NhbioyKzE2KTthdD1zcyx0dD1MLnNsaWNlKHNzLFVyKSx4dD1zcyp0aGlzLl9fcm93SGVpZ2h0LGdhPU1hdGgubWF4KDAsTC5sZW5ndGgtVXIpKnRoaXMuX19yb3dIZWlnaHR9cmV0dXJuIHdgCiAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZ0NvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmcgaGVhZGluZzEiPiR7dGhpcy5sYWJlbHx8dGhpcy5oZWFkaW5nMX08L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZyBoZWFkaW5nMiI+JHt0aGlzLmhlYWRpbmcyfTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXJBY3Rpb25zIj4KICAgICAgICAgICAgJHtlZS5tYXAoeXQ9PndgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9ImhlYWRlckFjdGlvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT57eXQuYWN0aW9uRnVuYyh7aXRlbTp0aGlzLnNlbGVjdGVkRGF0YVJvdyx0YWJsZTp0aGlzfSl9fQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICR7eXQuaWNvbk5hbWU/d2A8ZGVlcy1pY29uIC5pY29uU2l6ZT0kezE0fSAuaWNvbj0ke3l0Lmljb25OYW1lfT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICAgICR7eXQubmFtZX1gOnl0Lm5hbWV9CiAgICAgICAgICAgICAgPC9kaXY+YCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nU2VwYXJhdGlvbiI+PC9kaXY+CiAgICAgICAgJHt0aGlzLmhpZ2hsaWdodFVwZGF0ZXM9PT0iZmxhc2giJiYhdGhpcy5yb3dLZXk/d2A8ZGl2IGNsYXNzPSJmbGFzaENvbmZpZ1dhcm5pbmciIHJvbGU9ImFsZXJ0Ij4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTp0cmlhbmdsZUFsZXJ0In0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICA8Y29kZT5oaWdobGlnaHQtdXBkYXRlcz0iZmxhc2giPC9jb2RlPiByZXF1aXJlcwogICAgICAgICAgICAgICAgPGNvZGU+cm93S2V5PC9jb2RlPiB0byBiZSBzZXQuIEZsYXNoIGlzIGRpc2FibGVkLgogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+YDp3YGB9CiAgICAgICAgPGRpdiBjbGFzcz0ic2VhcmNoR3JpZCBoaWRkZW4iPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsibHVjZW5lIHN5bnRheCBzZWFyY2gifQogICAgICAgICAgICAuaW5mb1RleHQ9JHtgCiAgICAgICAgICAgICAgWW91IGNhbiB1c2UgdGhlIGx1Y2VuZSBzeW50YXggdG8gc2VhcmNoIGZvciBkYXRhLCBlLmcuOgoKICAgICAgICAgICAgICBcYFxgXGAKICAgICAgICAgICAgICBuYW1lOiAiam9obiIgQU5EIGFnZTogMTgKICAgICAgICAgICAgICBcYFxgXGAKCiAgICAgICAgICAgIGB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsic2VhcmNoIG1vZGUifQogICAgICAgICAgICAub3B0aW9ucz0ke1sidGFibGUiLCJkYXRhIiwic2VydmVyIl19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJ0YWJsZSJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0ke2AKICAgICAgICAgICAgICBUaGVyZSBhcmUgdGhyZWUgYmFzaWMgbW9kZXM6CgogICAgICAgICAgICAgICogdGFibGU6IG9ubHkgc2VhcmNoZXMgZGF0YSBhbHJlYWR5IGluIHRoZSB0YWJsZQogICAgICAgICAgICAgICogZGF0YTogc2VhcmNoZXMgb3JpZ2luYWwgZGF0YSwgaWdub3JpbmcgdGFibGUgdHJhbnNmb3JtcwogICAgICAgICAgICAgICogc2VydmVyOiBzZWFyY2hlcyBkYXRhIG9uIHRoZSBzZXJ2ZXIKCiAgICAgICAgICAgIGB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIHRoZSBhY3R1YWwgdGFibGUgLS0+CiAgICAgICAgPHN0eWxlPjwvc3R5bGU+CiAgICAgICAgJHt0aGlzLmRhdGEubGVuZ3RoPjA/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZVNjcm9sbCI+CiAgICAgICAgICAgICAgPHRhYmxlPgogICAgICAgICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgICAgICAke3RoaXMucmVuZGVySGVhZGVyUm93cyhEKX0KICAgICAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgICAgICA8dGJvZHkKICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5fX29uVGJvZHlDbGlja30KICAgICAgICAgICAgICAgICAgQGRibGNsaWNrPSR7dGhpcy5fX29uVGJvZHlEYmxjbGlja30KICAgICAgICAgICAgICAgICAgQG1vdXNlZG93bj0ke3RoaXMuX19vblRib2R5TW91c2Vkb3dufQogICAgICAgICAgICAgICAgICBAY29udGV4dG1lbnU9JHt0aGlzLl9fb25UYm9keUNvbnRleHRtZW51fQogICAgICAgICAgICAgICAgICBAZHJhZ2VudGVyPSR7dGhpcy5fX29uVGJvZHlEcmFnZW50ZXJ9CiAgICAgICAgICAgICAgICAgIEBkcmFnbGVhdmU9JHt0aGlzLl9fb25UYm9keURyYWdsZWF2ZX0KICAgICAgICAgICAgICAgICAgQGRyYWdvdmVyPSR7dGhpcy5fX29uVGJvZHlEcmFnb3Zlcn0KICAgICAgICAgICAgICAgICAgQGRyb3A9JHt0aGlzLl9fb25UYm9keURyb3B9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICR7V2UmJnh0PjA/d2A8dHIgYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJoZWlnaHQ6JHt4dH1weCI+PHRkPjwvdGQ+PC90cj5gOndgYH0KICAgICAgICAgICAgICAgICAgJHtaby5yZXBlYXQodHQseXQ9PnRoaXMuZ2V0Um93SWQoeXQpLCh5dCxzcyk9PntsZXQgYm89YXQrc3MsVXI9dGhpcy5nZXRSb3dJZCh5dCksT289dGhpcy5fX2ZsYXNoaW5nQ2VsbHMuZ2V0KFVyKTtyZXR1cm4gd2AKICAgICAgICAgICAgICAgICAgICAgIDx0cgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXJvdy1pZHg9JHtib30KICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9IiR7eXQ9PT10aGlzLnNlbGVjdGVkRGF0YVJvd3x8dGhpcy5pc1Jvd1NlbGVjdGVkKHl0KT8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgJHt0aGlzLnNob3dTZWxlY3Rpb25DaGVja2JveD93YDx0ZCBzdHlsZT0id2lkdGg6NDJweDsgdGV4dC1hbGlnbjpjZW50ZXI7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLmlzUm93U2VsZWN0ZWQoeXQpfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBuZXdWYWx1ZT0ke1F0PT57UXQuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5zZXRSb3dTZWxlY3RlZCh5dCxRdC5kZXRhaWw9PT0hMCl9fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5gOndgYH0KICAgICAgICAgICAgICAgICAgICAgICAgJHtELmZpbHRlcihRdD0+IVF0LmhpZGRlbikubWFwKChRdCxsMik9PntsZXQgRmk9JDQoeXQsUXQsdGhpcy5kaXNwbGF5RnVuY3Rpb24pLGhpPVF0LnJlbmRlcmVyP1F0LnJlbmRlcmVyKEZpLHl0LHtyb3dJbmRleDpibyxjb2xJbmRleDpsMixjb2x1bW46UXR9KTpGaSxRbj1TdHJpbmcoUXQua2V5KSxaaGE9ISEoUXQuZWRpdGFibGV8fFF0LmVkaXRvciksWGhhPXRoaXMuX19mb2N1c2VkQ2VsbD8ucm93SWQ9PT1VciYmdGhpcy5fX2ZvY3VzZWRDZWxsPy5jb2xLZXk9PT1RbixLaWU9dGhpcy5fX2VkaXRpbmdDZWxsPy5yb3dJZD09PVVyJiZ0aGlzLl9fZWRpdGluZ0NlbGw/LmNvbEtleT09PVFuLHNhdD1Pbz8uZ2V0KFFuKSxaaWU9c2F0IT09dm9pZCAwLFFoYT1aaWUmJiEhUXQuZmxhc2hCb3JkZXIsSmhhPVtaaGE/ImVkaXRhYmxlIjoiIixYaGEmJiFLaWU/ImZvY3VzZWQiOiIiLEtpZT8iZWRpdGluZ0NlbGwiOiIiXS5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpLGlhdD13YDxkaXYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9JHtaaWU/UWhhPyJpbm5lckNlbGxDb250YWluZXIgZmxhc2hpbmctYm9yZGVyIjoiaW5uZXJDZWxsQ29udGFpbmVyIGZsYXNoaW5nIjoiaW5uZXJDZWxsQ29udGFpbmVyIn0KICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtLaWU/dGhpcy5yZW5kZXJDZWxsRWRpdG9yKHl0LFF0KTpoaX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PmA7cmV0dXJuIHdgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSR7SmhhfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtY29sLWtleT0ke1FufQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtaaWU/Wm8ua2V5ZWQoYCR7VXJ9OiR7UW59OiR7c2F0fWAsaWF0KTppYXR9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfSl9CiAgICAgICAgICAgICAgICAgICAgICAgICR7KCgpPT57aWYoSWUubGVuZ3RoPjApcmV0dXJuIHdgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iYWN0aW9uc0NvbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9uc0NvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke0llLm1hcChRdD0+d2AKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYWN0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PlF0LmFjdGlvbkZ1bmMoe2l0ZW06eXQsdGFibGU6dGhpc30pfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7UXQuaWNvbk5hbWU/d2AgPGRlZXMtaWNvbiAuaWNvbj0ke1F0Lmljb25OYW1lfT48L2RlZXMtaWNvbj4gYDpRdC5uYW1lfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9KSgpfQogICAgICAgICAgICAgICAgICAgICAgPC90cj5gfSl9CiAgICAgICAgICAgICAgICAgICR7V2UmJmdhPjA/d2A8dHIgYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJoZWlnaHQ6JHtnYX1weCI+PHRkPjwvdGQ+PC90cj5gOndgYH0KICAgICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbG9hdGluZ0hlYWRlciIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgICAgICAgICAgJHt0aGlzLl9fZmxvYXRpbmdBY3RpdmU/d2A8dGFibGU+CiAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICAgICR7dGhpcy5yZW5kZXJIZWFkZXJSb3dzKEQpfQogICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPmA6d2BgfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOndgIDxkaXYgY2xhc3M9Im5vRGF0YVNldCI+Tm8gZGF0YSBzZXQhPC9kaXY+IGB9CiAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJmb290ZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGFibGVTdGF0aXN0aWNzIj4KICAgICAgICAgICAgJHt0aGlzLmRhdGEubGVuZ3RofSAke3RoaXMuZGF0YU5hbWV8fCJkYXRhIHJvd3MifSAodG90YWwpIHwKICAgICAgICAgICAgJHt0aGlzLnNlbGVjdGVkRGF0YVJvdz9gIyAke3RoaXMuZGF0YS5pbmRleE9mKHRoaXMuc2VsZWN0ZWREYXRhUm93KSsxfWA6Ik5vIn0KICAgICAgICAgICAgc2VsZWN0ZWQKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyQWN0aW9ucyI+CiAgICAgICAgICAgICR7RGUubWFwKHl0PT53YDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSJmb290ZXJBY3Rpb24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+e3l0LmFjdGlvbkZ1bmMoe2l0ZW06dGhpcy5zZWxlY3RlZERhdGFSb3csdGFibGU6dGhpc30pfX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke3l0Lmljb25OYW1lP3dgPGRlZXMtaWNvbiAuaWNvblNpemU9JHsxNH0gLmljb249JHt5dC5pY29uTmFtZX0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgICAke3l0Lm5hbWV9YDp5dC5uYW1lfQogICAgICAgICAgICAgIDwvZGl2PmApfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy10aWxlPgogICAgYH1yZW5kZXJIZWFkZXJSb3dzKEQpe3JldHVybiB3YAogICAgICA8dHI+CiAgICAgICAgJHt0aGlzLnNob3dTZWxlY3Rpb25DaGVja2JveD93YAogICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6NDJweDsgdGV4dC1hbGlnbjpjZW50ZXI7Ij4KICAgICAgICAgICAgICAgICR7dGhpcy5zZWxlY3Rpb25Nb2RlPT09Im11bHRpIj93YAogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5hcmVBbGxWaXNpYmxlU2VsZWN0ZWQoKX0KICAgICAgICAgICAgICAgICAgICAgICAgLmluZGV0ZXJtaW5hdGU9JHt0aGlzLmlzVmlzaWJsZVNlbGVjdGlvbkluZGV0ZXJtaW5hdGUoKX0KICAgICAgICAgICAgICAgICAgICAgICAgQG5ld1ZhbHVlPSR7TD0+e0wuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5zZXRTZWxlY3RWaXNpYmxlKEwuZGV0YWlsPT09ITApfX0KICAgICAgICAgICAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICAgICAgICAgICAgYDp3YGB9CiAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgYDp3YGB9CiAgICAgICAgJHtELmZpbHRlcihMPT4hTC5oaWRkZW4pLm1hcChMPT57bGV0IGVlPUwuc29ydGFibGUhPT0hMSxEZT10aGlzLmdldEFyaWFTb3J0KEwpO3JldHVybiB3YAogICAgICAgICAgICAgIDx0aAogICAgICAgICAgICAgICAgcm9sZT0iY29sdW1uaGVhZGVyIgogICAgICAgICAgICAgICAgYXJpYS1zb3J0PSR7RGV9CiAgICAgICAgICAgICAgICBzdHlsZT0iJHtlZT8iY3Vyc29yOiBwb2ludGVyOyI6IiJ9IgogICAgICAgICAgICAgICAgQGNsaWNrPSR7SWU9PmVlP3RoaXMuaGFuZGxlSGVhZGVyQ2xpY2soSWUsTCxEKTpudWxsfQogICAgICAgICAgICAgICAgQGNvbnRleHRtZW51PSR7SWU9PmVlP3RoaXMub3BlbkhlYWRlckNvbnRleHRNZW51KEllLEwsRCk6bnVsbH0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke0wuaGVhZGVyPz9MLmtleX0KICAgICAgICAgICAgICAgICR7dGhpcy5yZW5kZXJTb3J0SW5kaWNhdG9yKEwpfQogICAgICAgICAgICAgIDwvdGg+YH0pfQogICAgICAgICR7dGhpcy5kYXRhQWN0aW9ucyYmdGhpcy5kYXRhQWN0aW9ucy5sZW5ndGg+MD93YDx0aCBjbGFzcz0iYWN0aW9uc0NvbCI+QWN0aW9uczwvdGg+YDp3YGB9CiAgICAgIDwvdHI+CiAgICAgICR7dGhpcy5zaG93Q29sdW1uRmlsdGVycz93YDx0ciBjbGFzcz0iZmlsdGVyc1JvdyI+CiAgICAgICAgICAgICR7dGhpcy5zaG93U2VsZWN0aW9uQ2hlY2tib3g/d2A8dGggc3R5bGU9IndpZHRoOjQycHg7Ij48L3RoPmA6d2BgfQogICAgICAgICAgICAke0QuZmlsdGVyKEw9PiFMLmhpZGRlbikubWFwKEw9PntsZXQgZWU9U3RyaW5nKEwua2V5KTtyZXR1cm4gTC5maWx0ZXJhYmxlPT09ITE/d2A8dGg+PC90aD5gOndgPHRoPgogICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkZpbHRlci4uLiIgZGF0YS1jb2wta2V5PSR7ZWV9IC52YWx1ZT0ke3RoaXMuY29sdW1uRmlsdGVyc1tlZV18fCIifQogICAgICAgICAgICAgICAgICAgIEBpbnB1dD0ke0RlPT50aGlzLnNldENvbHVtbkZpbHRlcihlZSxEZS50YXJnZXQudmFsdWUpfSAvPgogICAgICAgICAgICAgICAgPC90aD5gfSl9CiAgICAgICAgICAgICR7dGhpcy5kYXRhQWN0aW9ucyYmdGhpcy5kYXRhQWN0aW9ucy5sZW5ndGg+MD93YDx0aD48L3RoPmA6d2BgfQogICAgICAgICAgPC90cj5gOndgYH0KICAgIGB9X19mbG9hdGluZ1Jlc2l6ZU9ic2VydmVyO19fZmxvYXRpbmdTY3JvbGxIYW5kbGVyO19fc2Nyb2xsQW5jZXN0b3JzPVtdO2dldCBfX2Zsb2F0aW5nSGVhZGVyRWwoKXtyZXR1cm4gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZmxvYXRpbmdIZWFkZXIiKT8/bnVsbH1nZXQgX19yZWFsVGFibGVFbCgpe3JldHVybiB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50YWJsZVNjcm9sbCA+IHRhYmxlIik/P251bGx9Z2V0IF9fZmxvYXRpbmdUYWJsZUVsKCl7cmV0dXJuIHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmZsb2F0aW5nSGVhZGVyID4gdGFibGUiKT8/bnVsbH1fX2NvbGxlY3RTY3JvbGxBbmNlc3RvcnMoKXtsZXQgRD1bXSxMPXRoaXMsZWU9cyhEZT0+RGU9PT0iYXV0byJ8fERlPT09InNjcm9sbCJ8fERlPT09Im92ZXJsYXkiLCJzY3JvbGxpc2giKTtmb3IoO0w7KXtpZihMIGluc3RhbmNlb2YgRWxlbWVudCl7bGV0IEllPWdldENvbXB1dGVkU3R5bGUoTCksV2U9ZWUoSWUub3ZlcmZsb3dZKSx0dD1lZShJZS5vdmVyZmxvd1gpOyhXZXx8dHQpJiZELnB1c2goe3RhcmdldDpMLHNjcm9sbHNZOldlLHNjcm9sbHNYOnR0fSl9bGV0IERlPUwuYXNzaWduZWRTbG90P0wuYXNzaWduZWRTbG90OkwucGFyZW50Tm9kZTtEZT9MPURlOkwuaG9zdD9MPUwuaG9zdDpMPW51bGx9cmV0dXJuIEQucHVzaCh7dGFyZ2V0OndpbmRvdyxzY3JvbGxzWTohMCxzY3JvbGxzWDohMH0pLER9X19nZXRTdGlja0NvbnRleHQoKXtsZXQgRD0wLEw9MCxlZT13aW5kb3cuaW5uZXJXaWR0aDtmb3IobGV0IERlIG9mIHRoaXMuX19zY3JvbGxBbmNlc3RvcnMpe2lmKERlLnRhcmdldD09PXdpbmRvdyljb250aW51ZTtsZXQgSWU9RGUudGFyZ2V0LFdlPUllLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHR0PWdldENvbXB1dGVkU3R5bGUoSWUpO2lmKERlLnNjcm9sbHNZKXtsZXQgYXQ9cGFyc2VGbG9hdCh0dC5ib3JkZXJUb3BXaWR0aCl8fDA7RD1NYXRoLm1heChELFdlLnRvcCthdCl9aWYoRGUuc2Nyb2xsc1gpe2xldCBhdD1wYXJzZUZsb2F0KHR0LmJvcmRlckxlZnRXaWR0aCl8fDAseHQ9cGFyc2VGbG9hdCh0dC5ib3JkZXJSaWdodFdpZHRoKXx8MDtMPU1hdGgubWF4KEwsV2UubGVmdCthdCksZWU9TWF0aC5taW4oZWUsV2UucmlnaHQteHQpfX1yZXR1cm57dG9wOkQsbGVmdDpMLHJpZ2h0OmVlfX1zZXR1cEZsb2F0aW5nSGVhZGVyKCl7aWYodGhpcy50ZWFyZG93bkZsb2F0aW5nSGVhZGVyKCksdGhpcy5maXhlZEhlaWdodCYmIXRoaXMudmlydHVhbGl6ZWQpcmV0dXJuO2xldCBEPXRoaXMuX19yZWFsVGFibGVFbDtpZighRClyZXR1cm47dGhpcy5fX3Njcm9sbEFuY2VzdG9ycz10aGlzLl9fY29sbGVjdFNjcm9sbEFuY2VzdG9ycygpO2xldCBMPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnRhYmxlU2Nyb2xsIik7TCYmdGhpcy5fX3Njcm9sbEFuY2VzdG9ycy51bnNoaWZ0KHt0YXJnZXQ6TCxzY3JvbGxzWTp0aGlzLmZpeGVkSGVpZ2h0LHNjcm9sbHNYOiEwfSksdGhpcy5fX2Zsb2F0aW5nUmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKCgpPT57dGhpcy5maXhlZEhlaWdodHx8dGhpcy5fX3N5bmNGbG9hdGluZ0hlYWRlcigpLHRoaXMudmlydHVhbGl6ZWQmJnRoaXMuX19jb21wdXRlVmlydHVhbFJhbmdlKCl9KSx0aGlzLl9fZmxvYXRpbmdSZXNpemVPYnNlcnZlci5vYnNlcnZlKEQpLHRoaXMuX19mbG9hdGluZ1Njcm9sbEhhbmRsZXI9KCk9Pnt0aGlzLmZpeGVkSGVpZ2h0fHx0aGlzLl9fc3luY0Zsb2F0aW5nSGVhZGVyKCksdGhpcy52aXJ0dWFsaXplZCYmdGhpcy5fX2NvbXB1dGVWaXJ0dWFsUmFuZ2UoKX07Zm9yKGxldCBlZSBvZiB0aGlzLl9fc2Nyb2xsQW5jZXN0b3JzKWVlLnRhcmdldC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuX19mbG9hdGluZ1Njcm9sbEhhbmRsZXIse3Bhc3NpdmU6ITB9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9fZmxvYXRpbmdTY3JvbGxIYW5kbGVyLHtwYXNzaXZlOiEwfSksdGhpcy5maXhlZEhlaWdodHx8dGhpcy5fX3N5bmNGbG9hdGluZ0hlYWRlcigpLHRoaXMudmlydHVhbGl6ZWQmJnRoaXMuX19jb21wdXRlVmlydHVhbFJhbmdlKCl9dGVhcmRvd25GbG9hdGluZ0hlYWRlcigpe2lmKHRoaXMuX19mbG9hdGluZ1Jlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCksdGhpcy5fX2Zsb2F0aW5nUmVzaXplT2JzZXJ2ZXI9dm9pZCAwLHRoaXMuX19mbG9hdGluZ1Njcm9sbEhhbmRsZXIpe2ZvcihsZXQgTCBvZiB0aGlzLl9fc2Nyb2xsQW5jZXN0b3JzKUwudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5fX2Zsb2F0aW5nU2Nyb2xsSGFuZGxlcik7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fX2Zsb2F0aW5nU2Nyb2xsSGFuZGxlciksdGhpcy5fX2Zsb2F0aW5nU2Nyb2xsSGFuZGxlcj12b2lkIDB9dGhpcy5fX3Njcm9sbEFuY2VzdG9ycz1bXSx0aGlzLl9fZmxvYXRpbmdBY3RpdmU9ITE7bGV0IEQ9dGhpcy5fX2Zsb2F0aW5nSGVhZGVyRWw7RCYmRC5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKX1fX3RyYW5zZmVyRm9jdXNUb1JlYWxIZWFkZXIoKXtsZXQgRD10aGlzLl9fZmxvYXRpbmdIZWFkZXJFbDtpZighRClyZXR1cm47bGV0IEw9dGhpcy5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50O2lmKCFMfHwhRC5jb250YWlucyhMKSlyZXR1cm47bGV0IGVlPUwuZ2V0QXR0cmlidXRlKCJkYXRhLWNvbC1rZXkiKTtpZighZWUpcmV0dXJuO2xldCBEZT1MLEllPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgLnRhYmxlU2Nyb2xsID4gdGFibGUgPiB0aGVhZCBpbnB1dFtkYXRhLWNvbC1rZXk9IiR7Q1NTLmVzY2FwZShlZSl9Il1gKTtpZighSWV8fEllPT09RGUpcmV0dXJuO2xldCBXZT1EZS5zZWxlY3Rpb25TdGFydCx0dD1EZS5zZWxlY3Rpb25FbmQsYXQ9RGUuc2VsZWN0aW9uRGlyZWN0aW9uO0llLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSk7dHJ5e1dlIT1udWxsJiZ0dCE9bnVsbCYmSWUuc2V0U2VsZWN0aW9uUmFuZ2UoV2UsdHQsYXR8fHZvaWQgMCl9Y2F0Y2h7fX1fX3RyYW5zZmVyRm9jdXNUb0Zsb2F0aW5nSGVhZGVyKCl7bGV0IEQ9dGhpcy5fX2Zsb2F0aW5nSGVhZGVyRWw7aWYoIUR8fCF0aGlzLl9fZmxvYXRpbmdBY3RpdmUpcmV0dXJuO2xldCBMPXRoaXMuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudDtpZighTClyZXR1cm47bGV0IGVlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnRhYmxlU2Nyb2xsID4gdGFibGUgPiB0aGVhZCIpO2lmKCFlZXx8IWVlLmNvbnRhaW5zKEwpKXJldHVybjtsZXQgRGU9TC5nZXRBdHRyaWJ1dGUoImRhdGEtY29sLWtleSIpO2lmKCFEZSlyZXR1cm47bGV0IEllPUwsV2U9RC5xdWVyeVNlbGVjdG9yKGBpbnB1dFtkYXRhLWNvbC1rZXk9IiR7Q1NTLmVzY2FwZShEZSl9Il1gKTtpZighV2V8fFdlPT09SWUpcmV0dXJuO2xldCB0dD1JZS5zZWxlY3Rpb25TdGFydCxhdD1JZS5zZWxlY3Rpb25FbmQseHQ9SWUuc2VsZWN0aW9uRGlyZWN0aW9uO1dlLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSk7dHJ5e3R0IT1udWxsJiZhdCE9bnVsbCYmV2Uuc2V0U2VsZWN0aW9uUmFuZ2UodHQsYXQseHR8fHZvaWQgMCl9Y2F0Y2h7fX1fX2NvbXB1dGVWaXJ0dWFsUmFuZ2UoKXtpZighdGhpcy52aXJ0dWFsaXplZClyZXR1cm47bGV0IEw9KHRoaXMuX2xhc3RWaWV3RGF0YT8/W10pLmxlbmd0aDtpZihMPT09MCl7KHRoaXMuX192aXJ0dWFsUmFuZ2Uuc3RhcnQhPT0wfHx0aGlzLl9fdmlydHVhbFJhbmdlLmVuZCE9PTApJiYodGhpcy5fX3ZpcnR1YWxSYW5nZT17c3RhcnQ6MCxlbmQ6MH0pO3JldHVybn1sZXQgZWU9dGhpcy5fX3JlYWxUYWJsZUVsO2lmKCFlZSlyZXR1cm47bGV0IERlPWVlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEllPTAsV2U9d2luZG93LmlubmVySGVpZ2h0O2ZvcihsZXQgUXQgb2YgdGhpcy5fX3Njcm9sbEFuY2VzdG9ycyl7aWYoUXQudGFyZ2V0PT09d2luZG93fHwhUXQuc2Nyb2xsc1kpY29udGludWU7bGV0IGwyPVF0LnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxGaT1nZXRDb21wdXRlZFN0eWxlKFF0LnRhcmdldCksaGk9cGFyc2VGbG9hdChGaS5ib3JkZXJUb3BXaWR0aCl8fDAsUW49cGFyc2VGbG9hdChGaS5ib3JkZXJCb3R0b21XaWR0aCl8fDA7SWU9TWF0aC5tYXgoSWUsbDIudG9wK2hpKSxXZT1NYXRoLm1pbihXZSxsMi5ib3R0b20tUW4pfWxldCB0dD1NYXRoLm1heCgxLHRoaXMuX19yb3dIZWlnaHQpLGF0PWVlLnRIZWFkPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ/PzAseHQ9RGUudG9wK2F0LGdhPU1hdGgubWF4KDAsSWUteHQpLHl0PU1hdGgubWF4KDAsV2UtTWF0aC5tYXgoSWUseHQpKSxzcz1NYXRoLmZsb29yKGdhL3R0KSxibz1NYXRoLmNlaWwoeXQvdHQpKzEsVXI9TWF0aC5tYXgoMCxzcy10aGlzLnZpcnR1YWxPdmVyc2NhbiksT289TWF0aC5taW4oTCxzcytibyt0aGlzLnZpcnR1YWxPdmVyc2Nhbik7KFVyIT09dGhpcy5fX3ZpcnR1YWxSYW5nZS5zdGFydHx8T28hPT10aGlzLl9fdmlydHVhbFJhbmdlLmVuZCkmJih0aGlzLl9fdmlydHVhbFJhbmdlPXtzdGFydDpVcixlbmQ6T299KX1fX21lYXN1cmVSb3dIZWlnaHQoKXtpZighdGhpcy52aXJ0dWFsaXplZHx8dGhpcy5fX3Jvd0hlaWdodE1lYXN1cmVkKXJldHVybjtsZXQgRD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoInRib2R5Iik7aWYoIUQpcmV0dXJuO2xldCBMPUFycmF5LmZyb20oRC5yb3dzKS5maW5kKERlPT5EZS5oYXNBdHRyaWJ1dGUoImRhdGEtcm93LWlkeCIpKTtpZighTClyZXR1cm47bGV0IGVlPUwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O2VlPjAmJih0aGlzLl9fcm93SGVpZ2h0PWVlLHRoaXMuX19yb3dIZWlnaHRNZWFzdXJlZD0hMCl9X19zeW5jRmxvYXRpbmdIZWFkZXIoKXtsZXQgRD10aGlzLl9fZmxvYXRpbmdIZWFkZXJFbCxMPXRoaXMuX19yZWFsVGFibGVFbDtpZighRHx8IUwpcmV0dXJuO2xldCBlZT1MLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLERlPXRoaXMuX19nZXRTdGlja0NvbnRleHQoKSxJZT1MLnRIZWFkPy5yb3dzLFdlPTA7aWYoSWUpZm9yKGxldCBRdD0wO1F0PEllLmxlbmd0aDtRdCsrKVdlKz1JZVtRdF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O2xldCB0dD1lZS5ib3R0b20tRGUudG9wLGF0PWVlLnRvcDxEZS50b3AmJnR0PjA7aWYoYXQhPT10aGlzLl9fZmxvYXRpbmdBY3RpdmUpe2lmKGF0fHx0aGlzLl9fdHJhbnNmZXJGb2N1c1RvUmVhbEhlYWRlcigpLHRoaXMuX19mbG9hdGluZ0FjdGl2ZT1hdCxELmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIsYXQpLCFhdCl7RC5zdHlsZS5oZWlnaHQ9IiI7bGV0IFF0PXRoaXMuX19mbG9hdGluZ1RhYmxlRWw7UXQmJihRdC5zdHlsZS50cmFuc2Zvcm09IiIpfWlmKGF0KXt0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9Pnt0aGlzLl9fc3luY0Zsb2F0aW5nSGVhZGVyKCksdGhpcy5fX3RyYW5zZmVyRm9jdXNUb0Zsb2F0aW5nSGVhZGVyKCl9KTtyZXR1cm59fWlmKCFhdClyZXR1cm47bGV0IHh0PXRoaXMuX19mbG9hdGluZ1RhYmxlRWw7aWYoIXh0KXJldHVybjt4dC5zdHlsZS50YWJsZUxheW91dD1MLnN0eWxlLnRhYmxlTGF5b3V0fHwiYXV0byI7bGV0IGdhPXh0LnRIZWFkPy5yb3dzO2lmKEllJiZnYSlmb3IobGV0IFF0PTA7UXQ8SWUubGVuZ3RoJiZRdDxnYS5sZW5ndGg7UXQrKyl7bGV0IGwyPUllW1F0XS5jZWxscyxGaT1nYVtRdF0uY2VsbHM7Zm9yKGxldCBoaT0wO2hpPGwyLmxlbmd0aCYmaGk8RmkubGVuZ3RoO2hpKyspe2xldCBRbj1sMltoaV0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7RmlbaGldLnN0eWxlLndpZHRoPWAke1FufXB4YCxGaVtoaV0uc3R5bGUubWluV2lkdGg9YCR7UW59cHhgLEZpW2hpXS5zdHlsZS5tYXhXaWR0aD1gJHtRbn1weGB9fWxldCB5dD1NYXRoLm1heChlZS5sZWZ0LERlLmxlZnQpLHNzPU1hdGgubWluKGVlLnJpZ2h0LERlLnJpZ2h0KSxibz1NYXRoLm1heCgwLHNzLXl0KTtELnN0eWxlLnRvcD1gJHtEZS50b3B9cHhgLEQuc3R5bGUubGVmdD1gJHt5dH1weGAsRC5zdHlsZS53aWR0aD1gJHtib31weGA7bGV0IFVyPU1hdGgubWluKFdlLHR0KSxPbz1XZS1VcjtELnN0eWxlLmhlaWdodD1gJHtVcn1weGAseHQuc3R5bGUud2lkdGg9YCR7ZWUud2lkdGh9cHhgLHh0LnN0eWxlLm1hcmdpbkxlZnQ9YCR7ZWUubGVmdC15dH1weGAseHQuc3R5bGUudHJhbnNmb3JtPU9vPjA/YHRyYW5zbGF0ZVkoLSR7T299cHgpYDoiIn1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy50ZWFyZG93bkZsb2F0aW5nSGVhZGVyKCksdGhpcy5fX2ZsYXNoQ2xlYXJUaW1lciYmKGNsZWFyVGltZW91dCh0aGlzLl9fZmxhc2hDbGVhclRpbWVyKSx0aGlzLl9fZmxhc2hDbGVhclRpbWVyPXZvaWQgMCl9YXN5bmMgZmlyc3RVcGRhdGVkKCl7fXdpbGxVcGRhdGUoRCl7aWYoRC5oYXMoImRhdGEiKSYmdGhpcy5zZWxlY3RlZERhdGFSb3cmJnRoaXMucm93S2V5KXtsZXQgZ2E9dGhpcy5nZXRSb3dJZCh0aGlzLnNlbGVjdGVkRGF0YVJvdykseXQ7Zm9yKGxldCBzcyBvZiB0aGlzLmRhdGEpaWYodGhpcy5nZXRSb3dJZChzcyk9PT1nYSl7eXQ9c3M7YnJlYWt9eXQ/eXQhPT10aGlzLnNlbGVjdGVkRGF0YVJvdyYmKHRoaXMuc2VsZWN0ZWREYXRhUm93PXl0KTp0aGlzLnNlbGVjdGVkRGF0YVJvdz12b2lkIDB9aWYodGhpcy5oaWdobGlnaHRVcGRhdGVzIT09ImZsYXNoIil7KHRoaXMuX19wcmV2U25hcHNob3R8fHRoaXMuX19mbGFzaGluZ0NlbGxzLnNpemU+MCkmJih0aGlzLl9fcHJldlNuYXBzaG90PXZvaWQgMCx0aGlzLl9fZmxhc2hpbmdDZWxscy5zaXplPjAmJih0aGlzLl9fZmxhc2hpbmdDZWxscz1uZXcgTWFwKSx0aGlzLl9fZmxhc2hDbGVhclRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMuX19mbGFzaENsZWFyVGltZXIpLHRoaXMuX19mbGFzaENsZWFyVGltZXI9dm9pZCAwKSk7cmV0dXJufWlmKCF0aGlzLnJvd0tleSl7dGhpcy5fX2ZsYXNoV2FybmVkTm9Sb3dLZXl8fCh0aGlzLl9fZmxhc2hXYXJuZWROb1Jvd0tleT0hMCxjb25zb2xlLndhcm4oJ1tkZWVzLXRhYmxlXSBoaWdobGlnaHRVcGRhdGVzPSJmbGFzaCIgcmVxdWlyZXMgYHJvd0tleWAgdG8gYmUgc2V0LiBGbGFzaCBpcyBkaXNhYmxlZC4gU2V0IHRoZSByb3dLZXkgcHJvcGVydHkvYXR0cmlidXRlIHRvIGEgc3RhYmxlIGlkZW50aWZpZXIgb24geW91ciByb3cgZGF0YSAoZS5nLiBgcm93S2V5PSJpZCJgKS4nKSk7cmV0dXJufWlmKCFELmhhcygiZGF0YSIpKXJldHVybjtsZXQgZWU9dGhpcy5fX2dldEVmZmVjdGl2ZUNvbHVtbnMoKS5maWx0ZXIoZ2E9PiFnYS5oaWRkZW4pLERlPW5ldyBNYXAoZWUubWFwKGdhPT5bU3RyaW5nKGdhLmtleSksZ2FdKSksSWU9bmV3IE1hcCxXZT1uZXcgTWFwO2ZvcihsZXQgZ2Egb2YgdGhpcy5kYXRhKXtsZXQgeXQ9dGhpcy5nZXRSb3dJZChnYSksc3M9bmV3IE1hcDtmb3IobGV0IFVyIG9mIGVlKXNzLnNldChTdHJpbmcoVXIua2V5KSwkNChnYSxVcix0aGlzLmRpc3BsYXlGdW5jdGlvbikpO0llLnNldCh5dCxzcyk7bGV0IGJvPXRoaXMuX19wcmV2U25hcHNob3Q/LmdldCh5dCk7aWYoYm8pZm9yKGxldFtVcixPb11vZiBzcyl7bGV0IFF0PWJvLmdldChVciksbDI9RGUuZ2V0KFVyKSxGaTtpZihsMj8uZmxhc2hDb21wYXJlP0ZpPWwyLmZsYXNoQ29tcGFyZShRdCxPbyk6T28hPW51bGwmJnR5cGVvZiBPbz09Im9iamVjdCI/Rmk9ITE6Rmk9UXQhPT1PbyxGaSl7aWYodGhpcy5fX2VkaXRpbmdDZWxsJiZ0aGlzLl9fZWRpdGluZ0NlbGwucm93SWQ9PT15dCYmdGhpcy5fX2VkaXRpbmdDZWxsLmNvbEtleT09PVVyKWNvbnRpbnVlO2xldCBoaT1XZS5nZXQoeXQpO2hpfHwoaGk9bmV3IFNldCxXZS5zZXQoeXQsaGkpKSxoaS5hZGQoVXIpfX19bGV0IHR0PSEhdGhpcy5fX3ByZXZTbmFwc2hvdDtpZih0aGlzLl9fcHJldlNuYXBzaG90PUllLCF0dHx8V2Uuc2l6ZT09PTApcmV0dXJuO2xldCBhdD0rK3RoaXMuX19mbGFzaFRpY2sseHQ9bmV3IE1hcCh0aGlzLl9fZmxhc2hpbmdDZWxscyk7Zm9yKGxldFtnYSx5dF1vZiBXZSl7bGV0IHNzPW5ldyBNYXAoeHQuZ2V0KGdhKT8/W10pO2ZvcihsZXQgYm8gb2YgeXQpc3Muc2V0KGJvLGF0KTt4dC5zZXQoZ2Esc3MpfXRoaXMuX19mbGFzaGluZ0NlbGxzPXh0LHRoaXMuX19mbGFzaENsZWFyVGltZXImJmNsZWFyVGltZW91dCh0aGlzLl9fZmxhc2hDbGVhclRpbWVyKSx0aGlzLl9fZmxhc2hDbGVhclRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0aGlzLl9fZmxhc2hpbmdDZWxscz1uZXcgTWFwLHRoaXMuX19mbGFzaENsZWFyVGltZXI9dm9pZCAwfSxNYXRoLm1heCgwLHRoaXMuaGlnaGxpZ2h0RHVyYXRpb24pKX1hc3luYyB1cGRhdGVkKEQpe3N1cGVyLnVwZGF0ZWQoRCk7bGV0IEw9dGhpcy5fX2dldEVmZmVjdGl2ZUNvbHVtbnMoKSxlZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoInRhYmxlIik/P251bGwsRGU9dGhpcy5nZXRBY3Rpb25zRm9yVHlwZSgiaW5Sb3ciKS5sZW5ndGg7RC5oYXMoImhpZ2hsaWdodER1cmF0aW9uIikmJnRoaXMuc3R5bGUuc2V0UHJvcGVydHkoIi0tZGVlcy10YWJsZS1mbGFzaC1kdXJhdGlvbiIsYCR7dGhpcy5oaWdobGlnaHREdXJhdGlvbn1tc2ApO2xldCBJZT0hIWVlJiYoIXRoaXMuX19jb2x1bW5zU2l6ZWRGb3J8fHRoaXMuX19jb2x1bW5zU2l6ZWRGb3IuZWZmZWN0aXZlQ29sdW1ucyE9PUx8fHRoaXMuX19jb2x1bW5zU2l6ZWRGb3Iuc2hvd1NlbGVjdGlvbkNoZWNrYm94IT09dGhpcy5zaG93U2VsZWN0aW9uQ2hlY2tib3h8fHRoaXMuX19jb2x1bW5zU2l6ZWRGb3IuaW5Sb3dBY3Rpb25Db3VudCE9PURlfHx0aGlzLl9fY29sdW1uc1NpemVkRm9yLnRhYmxlIT09ZWUpO2VlJiZJZSYmKHRoaXMuX19jb2x1bW5zU2l6ZWRGb3I9e2VmZmVjdGl2ZUNvbHVtbnM6TCxzaG93U2VsZWN0aW9uQ2hlY2tib3g6dGhpcy5zaG93U2VsZWN0aW9uQ2hlY2tib3gsaW5Sb3dBY3Rpb25Db3VudDpEZSx0YWJsZTplZX0sdGhpcy5kZXRlcm1pbmVDb2x1bW5XaWR0aHMoKSx0aGlzLl9fcm93SGVpZ2h0TWVhc3VyZWQ9ITEpLHRoaXMudmlydHVhbGl6ZWQmJih0aGlzLl9fbWVhc3VyZVJvd0hlaWdodCgpLHRoaXMuX19jb21wdXRlVmlydHVhbFJhbmdlKCkpLChELmhhcygiZml4ZWRIZWlnaHQiKXx8RC5oYXMoInZpcnR1YWxpemVkIil8fEQuaGFzKCJkYXRhIil8fEQuaGFzKCJjb2x1bW5zIil8fCF0aGlzLl9fZmxvYXRpbmdTY3JvbGxIYW5kbGVyKSYmKCghdGhpcy5maXhlZEhlaWdodHx8dGhpcy52aXJ0dWFsaXplZCkmJnRoaXMuZGF0YS5sZW5ndGg+MD90aGlzLnNldHVwRmxvYXRpbmdIZWFkZXIoKTp0aGlzLnRlYXJkb3duRmxvYXRpbmdIZWFkZXIoKSksIXRoaXMuZml4ZWRIZWlnaHQmJnRoaXMuZGF0YS5sZW5ndGg+MCYmKHRoaXMuX19mbG9hdGluZ0FjdGl2ZXx8SWUpJiZ0aGlzLl9fc3luY0Zsb2F0aW5nSGVhZGVyKCksdGhpcy5zZWFyY2hhYmxlJiYodGhpcy5kYXRhQWN0aW9ucy5maW5kKHR0PT50dC50eXBlPy5pbmNsdWRlcygiaGVhZGVyIikmJnR0Lm5hbWU9PT0iU2VhcmNoIil8fCh0aGlzLmRhdGFBY3Rpb25zLnVuc2hpZnQoe25hbWU6IlNlYXJjaCIsaWNvbk5hbWU6Imx1Y2lkZTpTZWFyY2giLHR5cGU6WyJoZWFkZXIiXSxhY3Rpb25GdW5jOnMoYXN5bmMoKT0+e2NvbnNvbGUubG9nKCJvcGVuIHNlYXJjaCIpLHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuc2VhcmNoR3JpZCIpLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIpfSwiYWN0aW9uRnVuYyIpfSksY29uc29sZS5sb2codGhpcy5kYXRhQWN0aW9ucyksdGhpcy5yZXF1ZXN0VXBkYXRlKCkpLHRoaXMud2lyZVNlYXJjaElucHV0cygpKX1fX2RlYm91bmNlVGltZXI7ZGVib3VuY2VSdW4oRCxMPTIwMCl7dGhpcy5fX2RlYm91bmNlVGltZXImJmNsZWFyVGltZW91dCh0aGlzLl9fZGVib3VuY2VUaW1lciksdGhpcy5fX2RlYm91bmNlVGltZXI9c2V0VGltZW91dChELEwpfXdpcmVTZWFyY2hJbnB1dHMoKXtsZXQgRD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5zZWFyY2hHcmlkIGRlZXMtaW5wdXQtdGV4dCIpLEw9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuc2VhcmNoR3JpZCBkZWVzLWlucHV0LW11bHRpdG9nZ2xlIik7RCYmIXRoaXMuX19zZWFyY2hUZXh0U3ViJiYodGhpcy5fX3NlYXJjaFRleHRTdWI9RC5jaGFuZ2VTdWJqZWN0LnN1YnNjcmliZShlZT0+e2xldCBEZT1lZT8udmFsdWU/PyIiO3RoaXMuZGVib3VuY2VSdW4oKCk9Pnt0aGlzLnNlYXJjaE1vZGU9PT0ic2VydmVyIj90aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWFyY2hSZXF1ZXN0Iix7ZGV0YWlsOntxdWVyeTpEZSxtb2RlOiJzZXJ2ZXIifSxidWJibGVzOiEwfSkpOnRoaXMuc2V0RmlsdGVyVGV4dChEZSl9KX0pKSxMJiYhdGhpcy5fX3NlYXJjaE1vZGVTdWImJih0aGlzLl9fc2VhcmNoTW9kZVN1Yj1MLmNoYW5nZVN1YmplY3Quc3Vic2NyaWJlKGVlPT57bGV0IERlPWVlPy5zZWxlY3RlZE9wdGlvbnx8ZWU/LnZhbHVlfHwidGFibGUiO2lmKERlPT09InRhYmxlInx8RGU9PT0iZGF0YSJ8fERlPT09InNlcnZlciIpe3RoaXMuc2VhcmNoTW9kZT1EZTtsZXQgSWU9RD8udmFsdWU/PyIiO3RoaXMuZGVib3VuY2VSdW4oKCk9Pnt0aGlzLnNlYXJjaE1vZGU9PT0ic2VydmVyIj90aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWFyY2hSZXF1ZXN0Iix7ZGV0YWlsOntxdWVyeTpJZSxtb2RlOiJzZXJ2ZXIifSxidWJibGVzOiEwfSkpOnRoaXMuc2V0RmlsdGVyVGV4dChJZSl9KX19KSl9YXN5bmMgZGV0ZXJtaW5lQ29sdW1uV2lkdGhzKCl7YXdhaXQoYXdhaXQgdGhpcy5kb210b29sc1Byb21pc2UpLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMCk7bGV0IEw9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoInRhYmxlIik7aWYoIUwpcmV0dXJuO2xldCBlZT1MLnJvd3NbMF0uY2VsbHMsRGU9cyhhc3luYyhJZSxXZT0hMSk9PntsZXQgdHQ9ZXQuZGVmZXIoKSxhdD1lZVtJZV0seHQ9d2luZG93LmdldENvbXB1dGVkU3R5bGUoYXQpLndpZHRoO2lmKGF0LnRleHRDb250ZW50LmluY2x1ZGVzKCJBY3Rpb25zIikpe2xldCBnYT10aGlzLmRhdGFBY3Rpb25zLmZpbHRlcih5dD0+eXQudHlwZT8uaW5jbHVkZXMoImluUm93IikpLmxlbmd0aCozNjthdC5zdHlsZS53aWR0aD1gJHtNYXRoLm1heChnYSw2OCl9cHhgfWVsc2UgYXQuc3R5bGUud2lkdGg9eHQ7V2UmJihyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0dC5yZXNvbHZlKCl9KSxhd2FpdCB0dC5wcm9taXNlKX0sImhhbmRsZUNvbHVtbkJ5SW5kZXgiKTtlZVtlZS5sZW5ndGgtMV0udGV4dENvbnRlbnQuaW5jbHVkZXMoIkFjdGlvbnMiKSYmYXdhaXQgRGUoZWUubGVuZ3RoLTEsITApO2ZvcihsZXQgSWU9MDtJZTxlZS5sZW5ndGg7SWUrKyllZVtJZV0udGV4dENvbnRlbnQuaW5jbHVkZXMoIkFjdGlvbnMiKXx8YXdhaXQgRGUoSWUpO0wuc3R5bGUudGFibGVMYXlvdXQ9ImZpeGVkIn1nZXRTb3J0RGVzY3JpcHRvcihEKXtyZXR1cm4gdGhpcy5zb3J0QnkuZmluZChMPT5MLmtleT09PUQpfWdldFNvcnRQcmlvcml0eShEKXtyZXR1cm4gdGhpcy5zb3J0QnkuZmluZEluZGV4KEw9Pkwua2V5PT09RCl9c2V0U29ydChELEwpe3RoaXMuc29ydEJ5PVt7a2V5OkQsZGlyOkx9XSx0aGlzLmVtaXRTb3J0Q2hhbmdlKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCl9YWRkU29ydEF0KEQsTCxlZSl7bGV0IERlPXRoaXMuc29ydEJ5LmZpbHRlcihXZT0+V2Uua2V5IT09RCksSWU9TWF0aC5tYXgoMCxNYXRoLm1pbihMLERlLmxlbmd0aCkpO0RlLnNwbGljZShJZSwwLHtrZXk6RCxkaXI6ZWV9KSx0aGlzLnNvcnRCeT1EZSx0aGlzLmVtaXRTb3J0Q2hhbmdlKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCl9YXBwZW5kU29ydChELEwpe2xldCBlZT10aGlzLnNvcnRCeS5maWx0ZXIoRGU9PkRlLmtleSE9PUQpO2VlLnB1c2goe2tleTpELGRpcjpMfSksdGhpcy5zb3J0Qnk9ZWUsdGhpcy5lbWl0U29ydENoYW5nZSgpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfXJlbW92ZVNvcnQoRCl7dGhpcy5zb3J0Qnkuc29tZShMPT5MLmtleT09PUQpJiYodGhpcy5zb3J0Qnk9dGhpcy5zb3J0QnkuZmlsdGVyKEw9Pkwua2V5IT09RCksdGhpcy5lbWl0U29ydENoYW5nZSgpLHRoaXMucmVxdWVzdFVwZGF0ZSgpKX1jbGVhclNvcnRzKCl7dGhpcy5zb3J0QnkubGVuZ3RoIT09MCYmKHRoaXMuc29ydEJ5PVtdLHRoaXMuZW1pdFNvcnRDaGFuZ2UoKSx0aGlzLnJlcXVlc3RVcGRhdGUoKSl9ZW1pdFNvcnRDaGFuZ2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzb3J0Q2hhbmdlIix7ZGV0YWlsOntzb3J0Qnk6dGhpcy5zb3J0QnkubWFwKEQ9Pih7Li4uRH0pKX0sYnViYmxlczohMH0pKX1hc3luYyBoYW5kbGVIZWFkZXJDbGljayhELEwsZWUpe2lmKEQuc2hpZnRLZXkpe3RoaXMuaGFuZGxlSGVhZGVyU2hpZnRDbGljayhMKTtyZXR1cm59YXdhaXQgdGhpcy5jb25maXJtUmVwbGFjZUNhc2NhZGUoTCkmJnRoaXMuY3ljbGVTaW5nbGVTb3J0KEwpfWN5Y2xlU2luZ2xlU29ydChEKXtsZXQgTD1TdHJpbmcoRC5rZXkpLGVlPXRoaXMuc29ydEJ5Lmxlbmd0aD09PTEmJnRoaXMuc29ydEJ5WzBdLmtleT09PUw/dGhpcy5zb3J0QnlbMF0uZGlyOm51bGw7ZWU9PT0iYXNjIj90aGlzLnNldFNvcnQoTCwiZGVzYyIpOmVlPT09ImRlc2MiP3RoaXMuY2xlYXJTb3J0cygpOnRoaXMuc2V0U29ydChMLCJhc2MiKX1oYW5kbGVIZWFkZXJTaGlmdENsaWNrKEQpe2xldCBMPVN0cmluZyhELmtleSksZWU9dGhpcy5nZXRTb3J0RGVzY3JpcHRvcihMKTtlZT9lZS5kaXI9PT0iYXNjIj8odGhpcy5zb3J0Qnk9dGhpcy5zb3J0QnkubWFwKERlPT5EZS5rZXk9PT1MP3trZXk6TCxkaXI6ImRlc2MifTpEZSksdGhpcy5lbWl0U29ydENoYW5nZSgpLHRoaXMucmVxdWVzdFVwZGF0ZSgpKTp0aGlzLnJlbW92ZVNvcnQoTCk6dGhpcy5hcHBlbmRTb3J0KEwsImFzYyIpfWNvbmZpcm1SZXBsYWNlQ2FzY2FkZShEKXtyZXR1cm4gdGhpcy5zb3J0QnkubGVuZ3RoPD0xP1Byb21pc2UucmVzb2x2ZSghMCk6bmV3IFByb21pc2UoTD0+e2xldCBlZT0hMSxEZT1zKFdlPT57ZWV8fChlZT0hMCxMKFdlKSl9LCJzZXR0bGUiKSxJZT10aGlzLnNvcnRCeS5tYXAoKFdlLHR0KT0+e2xldCB4dD10aGlzLl9sb29rdXBDb2x1bW5CeUtleT8uKFdlLmtleSk/LmhlYWRlcj8/V2Uua2V5O3JldHVybiB3YDxsaT4ke3R0KzF9LiAke3h0fSAke1dlLmRpcj09PSJhc2MiPyJcdTI1QjIiOiJcdTI1QkMifTwvbGk+YH0pO3dhLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IlJlcGxhY2UgbXVsdGktY29sdW1uIHNvcnQ/Iix3aWR0aDoic21hbGwiLHNob3dDbG9zZUJ1dHRvbjohMCxjb250ZW50OndgCiAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTNweDsgbGluZS1oZWlnaHQ6MS41NTsiPgogICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luOjAgMCA4cHg7Ij4KICAgICAgICAgICAgICBZb3UgY3VycmVudGx5IGhhdmUgYSAke3RoaXMuc29ydEJ5Lmxlbmd0aH0tY29sdW1uIHNvcnQgYWN0aXZlOgogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luOjAgMCAxMnB4OyBwYWRkaW5nLWxlZnQ6MThweDsiPiR7SWV9PC91bD4KICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbjowOyI+CiAgICAgICAgICAgICAgQ29udGludWluZyB3aWxsIGRpc2NhcmQgdGhlIGNhc2NhZGUgYW5kIHJlcGxhY2UgaXQgd2l0aCBhIHNpbmdsZSBzb3J0IG9uCiAgICAgICAgICAgICAgPHN0cm9uZz4ke0QuaGVhZGVyPz9TdHJpbmcoRC5rZXkpfTwvc3Ryb25nPi4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNhbmNlbCIsaWNvbk5hbWU6Imx1Y2lkZTp4IixhY3Rpb246cyhhc3luYyBXZT0+KERlKCExKSxhd2FpdCBXZS5kZXN0cm95KCksbnVsbCksImFjdGlvbiIpfSx7bmFtZToiUmVwbGFjZSIsaWNvbk5hbWU6Imx1Y2lkZTpjaGVjayIsYWN0aW9uOnMoYXN5bmMgV2U9PihEZSghMCksYXdhaXQgV2UuZGVzdHJveSgpLG51bGwpLCJhY3Rpb24iKX1dfSl9KX1fbG9va3VwQ29sdW1uQnlLZXkoRCl7cmV0dXJuIHRoaXMuX19nZXRFZmZlY3RpdmVDb2x1bW5zKCkuZmluZChlZT0+U3RyaW5nKGVlLmtleSk9PT1EKX1vcGVuSGVhZGVyQ29udGV4dE1lbnUoRCxMLGVlKXtsZXQgRGU9dGhpcy5idWlsZEhlYWRlck1lbnVJdGVtcyhMLGVlKTt0YS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhELERlKX1idWlsZEhlYWRlck1lbnVJdGVtcyhELEwpe2xldCBlZT1TdHJpbmcoRC5rZXkpLERlPXRoaXMuZ2V0U29ydERlc2NyaXB0b3IoZWUpLEllPXRoaXMuc29ydEJ5Lmxlbmd0aCxXZT1MLmZpbHRlcih4dD0+eHQuc29ydGFibGUhPT0hMSkubGVuZ3RoLHR0PU1hdGgubWluKE1hdGgubWF4KEllKyhEZT8wOjEpLDEpLE1hdGgubWF4KFdlLDEpKSxhdD1bXTthdC5wdXNoKHtuYW1lOiJTb3J0IEFzY2VuZGluZyIsaWNvbk5hbWU6SWU9PT0xJiZEZT8uZGlyPT09ImFzYyI/Imx1Y2lkZTpjaGVjayI6Imx1Y2lkZTphcnJvd1VwIixhY3Rpb246cyhhc3luYygpPT4oYXdhaXQgdGhpcy5jb25maXJtUmVwbGFjZUNhc2NhZGUoRCkmJnRoaXMuc2V0U29ydChlZSwiYXNjIiksbnVsbCksImFjdGlvbiIpfSksYXQucHVzaCh7bmFtZToiU29ydCBEZXNjZW5kaW5nIixpY29uTmFtZTpJZT09PTEmJkRlPy5kaXI9PT0iZGVzYyI/Imx1Y2lkZTpjaGVjayI6Imx1Y2lkZTphcnJvd0Rvd24iLGFjdGlvbjpzKGFzeW5jKCk9Pihhd2FpdCB0aGlzLmNvbmZpcm1SZXBsYWNlQ2FzY2FkZShEKSYmdGhpcy5zZXRTb3J0KGVlLCJkZXNjIiksbnVsbCksImFjdGlvbiIpfSksYXQucHVzaCh7ZGl2aWRlcjohMH0pO2ZvcihsZXQgeHQ9MTt4dDw9dHQ7eHQrKyl7bGV0IGdhPWVOYSh4dCkseXQ9RGUmJnRoaXMuZ2V0U29ydFByaW9yaXR5KGVlKT09PXh0LTE7YXQucHVzaCh7bmFtZTpgU2V0IGFzICR7Z2F9IHNvcnRgLGljb25OYW1lOnl0PyJsdWNpZGU6Y2hlY2siOiJsdWNpZGU6bGlzdE9yZGVyZWQiLHN1Ym1lbnU6W3tuYW1lOiJBc2NlbmRpbmciLGljb25OYW1lOiJsdWNpZGU6YXJyb3dVcCIsYWN0aW9uOnMoYXN5bmMoKT0+KHRoaXMuYWRkU29ydEF0KGVlLHh0LTEsImFzYyIpLG51bGwpLCJhY3Rpb24iKX0se25hbWU6IkRlc2NlbmRpbmciLGljb25OYW1lOiJsdWNpZGU6YXJyb3dEb3duIixhY3Rpb246cyhhc3luYygpPT4odGhpcy5hZGRTb3J0QXQoZWUseHQtMSwiZGVzYyIpLG51bGwpLCJhY3Rpb24iKX1dfSl9cmV0dXJuIGF0LnB1c2goe2RpdmlkZXI6ITB9KSxhdC5wdXNoKHtuYW1lOiJBcHBlbmQgdG8gc29ydCIsaWNvbk5hbWU6Imx1Y2lkZTpwbHVzIixzdWJtZW51Olt7bmFtZToiQXNjZW5kaW5nIixpY29uTmFtZToibHVjaWRlOmFycm93VXAiLGFjdGlvbjpzKGFzeW5jKCk9Pih0aGlzLmFwcGVuZFNvcnQoZWUsImFzYyIpLG51bGwpLCJhY3Rpb24iKX0se25hbWU6IkRlc2NlbmRpbmciLGljb25OYW1lOiJsdWNpZGU6YXJyb3dEb3duIixhY3Rpb246cyhhc3luYygpPT4odGhpcy5hcHBlbmRTb3J0KGVlLCJkZXNjIiksbnVsbCksImFjdGlvbiIpfV19KSxEZSYmKGF0LnB1c2goe2RpdmlkZXI6ITB9KSxhdC5wdXNoKHtuYW1lOiJSZW1vdmUgZnJvbSBzb3J0IixpY29uTmFtZToibHVjaWRlOm1pbnVzIixhY3Rpb246cyhhc3luYygpPT4odGhpcy5yZW1vdmVTb3J0KGVlKSxudWxsKSwiYWN0aW9uIil9KSksSWU+MCYmKERlfHxhdC5wdXNoKHtkaXZpZGVyOiEwfSksYXQucHVzaCh7bmFtZToiQ2xlYXIgYWxsIHNvcnRzIixpY29uTmFtZToibHVjaWRlOnRyYXNoIixhY3Rpb246cyhhc3luYygpPT4odGhpcy5jbGVhclNvcnRzKCksbnVsbCksImFjdGlvbiIpfSkpLGF0LnB1c2goe2RpdmlkZXI6ITB9KSxhdC5wdXNoKHtuYW1lOnRoaXMuc2hvd0NvbHVtbkZpbHRlcnM/IkhpZGUgY29sdW1uIGZpbHRlcnMiOiJTaG93IGNvbHVtbiBmaWx0ZXJzIixpY29uTmFtZTp0aGlzLnNob3dDb2x1bW5GaWx0ZXJzPyJsdWNpZGU6ZmlsdGVyWCI6Imx1Y2lkZTpmaWx0ZXIiLGFjdGlvbjpzKGFzeW5jKCk9Pih0aGlzLnNob3dDb2x1bW5GaWx0ZXJzPSF0aGlzLnNob3dDb2x1bW5GaWx0ZXJzLHRoaXMucmVxdWVzdFVwZGF0ZSgpLG51bGwpLCJhY3Rpb24iKX0pLGF0fWdldEFyaWFTb3J0KEQpe2xldCBMPXRoaXMuc29ydEJ5WzBdO3JldHVybiFMfHxMLmtleSE9PVN0cmluZyhELmtleSk/Im5vbmUiOkwuZGlyPT09ImFzYyI/ImFzY2VuZGluZyI6ImRlc2NlbmRpbmcifXJlbmRlclNvcnRJbmRpY2F0b3IoRCl7bGV0IEw9dGhpcy5nZXRTb3J0UHJpb3JpdHkoU3RyaW5nKEQua2V5KSk7aWYoTDwwKXJldHVybiB3YGA7bGV0IERlPXRoaXMuc29ydEJ5W0xdLmRpcj09PSJhc2MiPyJcdTI1QjIiOiJcdTI1QkMiO3JldHVybiB0aGlzLnNvcnRCeS5sZW5ndGg9PT0xP3dgPHNwYW4gY2xhc3M9InNvcnRBcnJvdyI+JHtEZX08L3NwYW4+YDp3YDxzcGFuIGNsYXNzPSJzb3J0QXJyb3ciPiR7RGV9PC9zcGFuPjxzcGFuIGNsYXNzPSJzb3J0QmFkZ2UiPiR7TCsxfTwvc3Bhbj5gfXNldEZpbHRlclRleHQoRCl7bGV0IEw9dGhpcy5maWx0ZXJUZXh0O3RoaXMuZmlsdGVyVGV4dD1EPz8iIixMIT09dGhpcy5maWx0ZXJUZXh0JiYodGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZmlsdGVyQ2hhbmdlIix7ZGV0YWlsOnt0ZXh0OnRoaXMuZmlsdGVyVGV4dCxjb2x1bW5zOnsuLi50aGlzLmNvbHVtbkZpbHRlcnN9fSxidWJibGVzOiEwfSkpLHRoaXMucmVxdWVzdFVwZGF0ZSgpKX1zZXRDb2x1bW5GaWx0ZXIoRCxMKXt0aGlzLmNvbHVtbkZpbHRlcnM9ey4uLnRoaXMuY29sdW1uRmlsdGVycyxbRF06TH0sdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZmlsdGVyQ2hhbmdlIix7ZGV0YWlsOnt0ZXh0OnRoaXMuZmlsdGVyVGV4dCxjb2x1bW5zOnsuLi50aGlzLmNvbHVtbkZpbHRlcnN9fSxidWJibGVzOiEwfSkpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfWdldFJvd0lkKEQpe2lmKHRoaXMucm93S2V5KXJldHVybiB0eXBlb2YgdGhpcy5yb3dLZXk9PSJmdW5jdGlvbiI/dGhpcy5yb3dLZXkoRCk6U3RyaW5nKERbdGhpcy5yb3dLZXldKTtsZXQgTD1EO3JldHVybiB0aGlzLl9yb3dJZE1hcC5oYXMoTCl8fHRoaXMuX3Jvd0lkTWFwLnNldChMLFN0cmluZygrK3RoaXMuX3Jvd0lkQ291bnRlcikpLHRoaXMuX3Jvd0lkTWFwLmdldChMKX1pc1Jvd1NlbGVjdGVkKEQpe3JldHVybiB0aGlzLnNlbGVjdGVkSWRzLmhhcyh0aGlzLmdldFJvd0lkKEQpKX10b2dnbGVSb3dTZWxlY3RlZChEKXtsZXQgTD10aGlzLmdldFJvd0lkKEQpO3RoaXMuc2VsZWN0aW9uTW9kZT09PSJzaW5nbGUiPyh0aGlzLnNlbGVjdGVkSWRzLmNsZWFyKCksdGhpcy5zZWxlY3RlZElkcy5hZGQoTCkpOnRoaXMuc2VsZWN0aW9uTW9kZT09PSJtdWx0aSImJih0aGlzLnNlbGVjdGVkSWRzLmhhcyhMKT90aGlzLnNlbGVjdGVkSWRzLmRlbGV0ZShMKTp0aGlzLnNlbGVjdGVkSWRzLmFkZChMKSksdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCl9X19yZXNvbHZlUm93KEQpe2xldCBMPUQuY29tcG9zZWRQYXRoPy4oKXx8W10sZWU9bnVsbDtmb3IobGV0IHR0IG9mIEwpe2xldCBhdD10dDtpZihhdD8udGFnTmFtZT09PSJUUiImJmF0Lmhhc0F0dHJpYnV0ZSgiZGF0YS1yb3ctaWR4Iikpe2VlPWF0O2JyZWFrfX1pZighZWUpcmV0dXJuIG51bGw7bGV0IERlPU51bWJlcihlZS5nZXRBdHRyaWJ1dGUoImRhdGEtcm93LWlkeCIpKSxXZT0odGhpcy5fbGFzdFZpZXdEYXRhPz9bXSlbRGVdO3JldHVybiBXZT97aXRlbTpXZSxyb3dJZHg6RGV9Om51bGx9X19yZXNvbHZlQ2VsbChEKXtsZXQgTD10aGlzLl9fcmVzb2x2ZVJvdyhEKTtpZighTClyZXR1cm4gbnVsbDtsZXQgZWU9RC5jb21wb3NlZFBhdGg/LigpfHxbXSxEZT1udWxsO2ZvcihsZXQgYXQgb2YgZWUpe2xldCB4dD1hdDtpZih4dD8udGFnTmFtZT09PSJURCImJnh0Lmhhc0F0dHJpYnV0ZSgiZGF0YS1jb2wta2V5Iikpe0RlPXh0O2JyZWFrfX1pZighRGUpcmV0dXJuIG51bGw7bGV0IEllPURlLmdldEF0dHJpYnV0ZSgiZGF0YS1jb2wta2V5IiksdHQ9dGhpcy5fX2dldEVmZmVjdGl2ZUNvbHVtbnMoKS5maW5kKGF0PT5TdHJpbmcoYXQua2V5KT09PUllKTtyZXR1cm4gdHQ/e2l0ZW06TC5pdGVtLHJvd0lkeDpMLnJvd0lkeCxjb2w6dHR9Om51bGx9X19pc0luQWN0aW9uc0NvbChEKXtsZXQgTD1ELmNvbXBvc2VkUGF0aD8uKCl8fFtdO2ZvcihsZXQgZWUgb2YgTClpZihlZT8uY2xhc3NMaXN0Py5jb250YWlucygiYWN0aW9uc0NvbCIpKXJldHVybiEwO3JldHVybiExfV9faXNJbkVkaXRvcihEKXtsZXQgTD1ELmNvbXBvc2VkUGF0aD8uKCl8fFtdO2ZvcihsZXQgZWUgb2YgTCl7bGV0IERlPWVlLEllPURlPy50YWdOYW1lO2lmKEllPT09IklOUFVUInx8SWU9PT0iVEVYVEFSRUEifHxEZT8uaXNDb250ZW50RWRpdGFibGV8fEllJiZJZS5zdGFydHNXaXRoKCJERUVTLUlOUFVULSIpKXJldHVybiEwfXJldHVybiExfV9fb25UYm9keUNsaWNrPXMoRD0+e2lmKHRoaXMuX19pc0luRWRpdG9yKEQpfHx0aGlzLl9faXNJbkFjdGlvbnNDb2woRCkpcmV0dXJuO2xldCBMPXRoaXMuX19yZXNvbHZlQ2VsbChEKTtpZighTClyZXR1cm47bGV0IGVlPXRoaXMuX2xhc3RWaWV3RGF0YT8/W107KEwuY29sLmVkaXRhYmxlfHxMLmNvbC5lZGl0b3IpJiYodGhpcy5fX2ZvY3VzZWRDZWxsPXtyb3dJZDp0aGlzLmdldFJvd0lkKEwuaXRlbSksY29sS2V5OlN0cmluZyhMLmNvbC5rZXkpfSksdGhpcy5oYW5kbGVSb3dDbGljayhELEwuaXRlbSxMLnJvd0lkeCxlZSl9LCJfX29uVGJvZHlDbGljayIpO19fb25UYm9keURibGNsaWNrPXMoRD0+e2lmKHRoaXMuX19pc0luRWRpdG9yKEQpfHx0aGlzLl9faXNJbkFjdGlvbnNDb2woRCkpcmV0dXJuO2xldCBMPXRoaXMuX19yZXNvbHZlQ2VsbChEKTtpZighTClyZXR1cm47aWYoISEoTC5jb2wuZWRpdGFibGV8fEwuY29sLmVkaXRvcikpe0Quc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5zdGFydEVkaXRpbmcoTC5pdGVtLEwuY29sKTtyZXR1cm59bGV0IERlPXRoaXMuZGF0YUFjdGlvbnMuZmluZChJZT0+SWUudHlwZT8uaW5jbHVkZXMoImRvdWJsZUNsaWNrIikpO0RlJiZEZS5hY3Rpb25GdW5jKHtpdGVtOkwuaXRlbSx0YWJsZTp0aGlzfSl9LCJfX29uVGJvZHlEYmxjbGljayIpO19fb25UYm9keU1vdXNlZG93bj1zKEQ9PntELnNoaWZ0S2V5JiZ0aGlzLnNlbGVjdGlvbk1vZGUhPT0ic2luZ2xlIiYmRC5wcmV2ZW50RGVmYXVsdCgpfSwiX19vblRib2R5TW91c2Vkb3duIik7X19vblRib2R5Q29udGV4dG1lbnU9cyhEPT57aWYodGhpcy5fX2lzSW5BY3Rpb25zQ29sKEQpKXJldHVybjtsZXQgTD10aGlzLl9fcmVzb2x2ZVJvdyhEKTtpZighTClyZXR1cm47bGV0IGVlPUwuaXRlbTt0aGlzLmlzUm93U2VsZWN0ZWQoZWUpfHwodGhpcy5zZWxlY3RlZERhdGFSb3c9ZWUsdGhpcy5zZWxlY3RlZElkcy5jbGVhcigpLHRoaXMuc2VsZWN0ZWRJZHMuYWRkKHRoaXMuZ2V0Um93SWQoZWUpKSx0aGlzLl9fc2VsZWN0aW9uQW5jaG9ySWQ9dGhpcy5nZXRSb3dJZChlZSksdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCkpO2xldCBEZT10aGlzLmdldEFjdGlvbnNGb3JUeXBlKCJjb250ZXh0bWVudSIpLm1hcChXZT0+KHtuYW1lOldlLm5hbWUsaWNvbk5hbWU6V2UuaWNvbk5hbWUsYWN0aW9uOnMoYXN5bmMoKT0+KGF3YWl0IFdlLmFjdGlvbkZ1bmMoe2l0ZW06ZWUsdGFibGU6dGhpc30pLG51bGwpLCJhY3Rpb24iKX0pKSxJZT1be25hbWU6dGhpcy5zZWxlY3RlZElkcy5zaXplPjE/YENvcHkgJHt0aGlzLnNlbGVjdGVkSWRzLnNpemV9IHJvd3MgYXMgSlNPTmA6IkNvcHkgcm93IGFzIEpTT04iLGljb25OYW1lOiJsdWNpZGU6Q29weSIsYWN0aW9uOnMoYXN5bmMoKT0+KHRoaXMuY29weVNlbGVjdGlvbkFzSnNvbihlZSksbnVsbCksImFjdGlvbiIpfV07dGEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoRCxbLi4uRGUsLi4uSWVdKX0sIl9fb25UYm9keUNvbnRleHRtZW51Iik7X19vblRib2R5RHJhZ2VudGVyPXMoRD0+e2lmKEQucHJldmVudERlZmF1bHQoKSxELnN0b3BQcm9wYWdhdGlvbigpLCF0aGlzLl9fcmVzb2x2ZVJvdyhEKSlyZXR1cm47bGV0IGVlPShELmNvbXBvc2VkUGF0aD8uKCl8fFtdKS5maW5kKERlPT5EZT8udGFnTmFtZT09PSJUUiIpO2VlJiZzZXRUaW1lb3V0KCgpPT5lZS5jbGFzc0xpc3QuYWRkKCJoYXNBdHRhY2htZW50IiksMCl9LCJfX29uVGJvZHlEcmFnZW50ZXIiKTtfX29uVGJvZHlEcmFnbGVhdmU9cyhEPT57RC5wcmV2ZW50RGVmYXVsdCgpLEQuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IEw9KEQuY29tcG9zZWRQYXRoPy4oKXx8W10pLmZpbmQoZWU9PmVlPy50YWdOYW1lPT09IlRSIik7TCYmTC5jbGFzc0xpc3QucmVtb3ZlKCJoYXNBdHRhY2htZW50Iil9LCJfX29uVGJvZHlEcmFnbGVhdmUiKTtfX29uVGJvZHlEcmFnb3Zlcj1zKEQ9PntELnByZXZlbnREZWZhdWx0KCl9LCJfX29uVGJvZHlEcmFnb3ZlciIpO19fb25UYm9keURyb3A9cyhhc3luYyBEPT57RC5wcmV2ZW50RGVmYXVsdCgpO2xldCBMPXRoaXMuX19yZXNvbHZlUm93KEQpO2lmKCFMKXJldHVybjtsZXQgZWU9TC5pdGVtLERlPVtdO2ZvcihsZXQgV2Ugb2YgQXJyYXkuZnJvbShELmRhdGFUcmFuc2Zlci5maWxlcykpdGhpcy5maWxlcy5wdXNoKFdlKSxEZS5wdXNoKFdlKSx0aGlzLnJlcXVlc3RVcGRhdGUoKTtsZXQgSWU9dGhpcy5maWxlV2Vha01hcC5nZXQoZWUpO0llP0llLnB1c2goLi4uRGUpOnRoaXMuZmlsZVdlYWtNYXAuc2V0KGVlLERlKX0sIl9fb25UYm9keURyb3AiKTtoYW5kbGVSb3dDbGljayhELEwsZWUsRGUpe2xldCBJZT10aGlzLmdldFJvd0lkKEwpO2lmKHRoaXMuc2VsZWN0aW9uTW9kZT09PSJzaW5nbGUiKXt0aGlzLnNlbGVjdGVkRGF0YVJvdz1MLHRoaXMuc2VsZWN0ZWRJZHMuY2xlYXIoKSx0aGlzLnNlbGVjdGVkSWRzLmFkZChJZSksdGhpcy5fX3NlbGVjdGlvbkFuY2hvcklkPUllLHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZSgpLHRoaXMucmVxdWVzdFVwZGF0ZSgpO3JldHVybn1sZXQgV2U9RC5tZXRhS2V5fHxELmN0cmxLZXk7aWYoRC5zaGlmdEtleSYmdGhpcy5fX3NlbGVjdGlvbkFuY2hvcklkIT09dm9pZCAwKXt3aW5kb3cuZ2V0U2VsZWN0aW9uPy4oKT8ucmVtb3ZlQWxsUmFuZ2VzKCk7bGV0IGF0PURlLmZpbmRJbmRleCh4dD0+dGhpcy5nZXRSb3dJZCh4dCk9PT10aGlzLl9fc2VsZWN0aW9uQW5jaG9ySWQpO2lmKGF0Pj0wKXtsZXRbeHQsZ2FdPWF0PD1lZT9bYXQsZWVdOltlZSxhdF07dGhpcy5zZWxlY3RlZElkcy5jbGVhcigpO2ZvcihsZXQgeXQ9eHQ7eXQ8PWdhO3l0KyspdGhpcy5zZWxlY3RlZElkcy5hZGQodGhpcy5nZXRSb3dJZChEZVt5dF0pKX1lbHNlIHRoaXMuc2VsZWN0ZWRJZHMuY2xlYXIoKSx0aGlzLnNlbGVjdGVkSWRzLmFkZChJZSksdGhpcy5fX3NlbGVjdGlvbkFuY2hvcklkPUllO3RoaXMuc2VsZWN0ZWREYXRhUm93PUx9ZWxzZSBpZihXZSl7aWYodGhpcy5zZWxlY3RlZElkcy5oYXMoSWUpKXtpZih0aGlzLnNlbGVjdGVkSWRzLmRlbGV0ZShJZSksdGhpcy5zZWxlY3RlZERhdGFSb3c9PT1MKXtsZXQgeHQ9RGUuZmluZChnYT0+dGhpcy5zZWxlY3RlZElkcy5oYXModGhpcy5nZXRSb3dJZChnYSkpKTt0aGlzLnNlbGVjdGVkRGF0YVJvdz14dH19ZWxzZSB0aGlzLnNlbGVjdGVkSWRzLmFkZChJZSksdGhpcy5zZWxlY3RlZERhdGFSb3c9TDt0aGlzLl9fc2VsZWN0aW9uQW5jaG9ySWQ9SWV9ZWxzZSB0aGlzLnNlbGVjdGVkRGF0YVJvdz1MLHRoaXMuc2VsZWN0ZWRJZHMuY2xlYXIoKSx0aGlzLnNlbGVjdGVkSWRzLmFkZChJZSksdGhpcy5fX3NlbGVjdGlvbkFuY2hvcklkPUllO3RoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZSgpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfXNldFJvd1NlbGVjdGVkKEQsTCl7bGV0IGVlPXRoaXMuZ2V0Um93SWQoRCk7dGhpcy5zZWxlY3Rpb25Nb2RlPT09InNpbmdsZSI/KHRoaXMuc2VsZWN0ZWRJZHMuY2xlYXIoKSxMJiZ0aGlzLnNlbGVjdGVkSWRzLmFkZChlZSkpOnRoaXMuc2VsZWN0aW9uTW9kZT09PSJtdWx0aSImJihMP3RoaXMuc2VsZWN0ZWRJZHMuYWRkKGVlKTp0aGlzLnNlbGVjdGVkSWRzLmRlbGV0ZShlZSkpLHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZSgpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfWFyZUFsbFZpc2libGVTZWxlY3RlZCgpe2xldCBEPXRoaXMuX2xhc3RWaWV3RGF0YXx8W107aWYoRC5sZW5ndGg9PT0wKXJldHVybiExO2ZvcihsZXQgTCBvZiBEKWlmKCF0aGlzLnNlbGVjdGVkSWRzLmhhcyh0aGlzLmdldFJvd0lkKEwpKSlyZXR1cm4hMTtyZXR1cm4hMH1pc1Zpc2libGVTZWxlY3Rpb25JbmRldGVybWluYXRlKCl7bGV0IEQ9dGhpcy5fbGFzdFZpZXdEYXRhfHxbXTtpZihELmxlbmd0aD09PTApcmV0dXJuITE7bGV0IEw9MDtmb3IobGV0IGVlIG9mIEQpdGhpcy5zZWxlY3RlZElkcy5oYXModGhpcy5nZXRSb3dJZChlZSkpJiZMKys7cmV0dXJuIEw+MCYmTDxELmxlbmd0aH1zZXRTZWxlY3RWaXNpYmxlKEQpe2xldCBMPXRoaXMuX2xhc3RWaWV3RGF0YXx8W107aWYoRClmb3IobGV0IGVlIG9mIEwpdGhpcy5zZWxlY3RlZElkcy5hZGQodGhpcy5nZXRSb3dJZChlZSkpO2Vsc2UgZm9yKGxldCBlZSBvZiBMKXRoaXMuc2VsZWN0ZWRJZHMuZGVsZXRlKHRoaXMuZ2V0Um93SWQoZWUpKTt0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2UoKSx0aGlzLnJlcXVlc3RVcGRhdGUoKX1lbWl0U2VsZWN0aW9uQ2hhbmdlKCl7bGV0IEQ9QXJyYXkuZnJvbSh0aGlzLnNlbGVjdGVkSWRzKSxMPXRoaXMuZGF0YS5maWx0ZXIoZWU9PnRoaXMuc2VsZWN0ZWRJZHMuaGFzKHRoaXMuZ2V0Um93SWQoZWUpKSk7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VsZWN0aW9uQ2hhbmdlIix7ZGV0YWlsOntzZWxlY3RlZElkczpELHNlbGVjdGVkUm93czpMfSxidWJibGVzOiEwfSkpfWdldEFjdGlvbnNGb3JUeXBlKEQpe2xldCBMPVtdO2ZvcihsZXQgZWUgb2YgdGhpcy5kYXRhQWN0aW9ucyllZS50eXBlPy5pbmNsdWRlcyhEKSYmTC5wdXNoKGVlKTtyZXR1cm4gTH1fX2lzQ29sdW1uRWRpdGFibGUoRCl7cmV0dXJuISEoRC5lZGl0YWJsZXx8RC5lZGl0b3IpfV9fZWRpdGFibGVDb2x1bW5zKEQpe3JldHVybiBELmZpbHRlcihMPT4hTC5oaWRkZW4mJnRoaXMuX19pc0NvbHVtbkVkaXRhYmxlKEwpKX1zdGFydEVkaXRpbmcoRCxMKXtpZighdGhpcy5fX2lzQ29sdW1uRWRpdGFibGUoTCkpcmV0dXJuO2xldCBlZT10aGlzLmdldFJvd0lkKEQpLERlPVN0cmluZyhMLmtleSk7dGhpcy5fX2ZvY3VzZWRDZWxsPXtyb3dJZDplZSxjb2xLZXk6RGV9LHRoaXMuX19lZGl0aW5nQ2VsbD17cm93SWQ6ZWUsY29sS2V5OkRlfSx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PntsZXQgSWU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZWRpdGluZ0NlbGwgZGVlcy1pbnB1dC10ZXh0LCAuZWRpdGluZ0NlbGwgZGVlcy1pbnB1dC1jaGVja2JveCwgLmVkaXRpbmdDZWxsIGRlZXMtaW5wdXQtZHJvcGRvd24sIC5lZGl0aW5nQ2VsbCBkZWVzLWlucHV0LWRhdGVwaWNrZXIsIC5lZGl0aW5nQ2VsbCBkZWVzLWlucHV0LXRhZ3MiKTtJZT8uZm9jdXM/LigpLEllPy50YWdOYW1lPT09IkRFRVMtSU5QVVQtRFJPUERPV04iJiZJZS51cGRhdGVDb21wbGV0ZT8udGhlbigoKT0+SWUudG9nZ2xlU2VsZWN0aW9uQm94Py4oKSl9KX1jYW5jZWxDZWxsRWRpdCgpe3RoaXMuX19lZGl0aW5nQ2VsbD12b2lkIDAsdGhpcy5yZXF1ZXN0VXBkYXRlKCl9Y29tbWl0Q2VsbEVkaXQoRCxMLGVlKXtsZXQgRGU9U3RyaW5nKEwua2V5KSxJZT1EW0wua2V5XSxXZT1MLnBhcnNlP0wucGFyc2UoZWUsRCk6ZWU7aWYoTC52YWxpZGF0ZSl7bGV0IHR0PUwudmFsaWRhdGUoV2UsRCk7aWYodHlwZW9mIHR0PT0ic3RyaW5nIil7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2VsbEVkaXRFcnJvciIse2RldGFpbDp7cm93OkQsa2V5OkRlLHZhbHVlOldlLG1lc3NhZ2U6dHR9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSk7cmV0dXJufX1XZSE9PUllJiYoRFtMLmtleV09V2UsdGhpcy5fX3JlY29yZENlbGxJblNuYXBzaG90KEQsTCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2VsbEVkaXQiLHtkZXRhaWw6e3JvdzpELGtleTpEZSxvbGRWYWx1ZTpJZSxuZXdWYWx1ZTpXZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSksdGhpcy5fX2VkaXRpbmdDZWxsPXZvaWQgMCx0aGlzLnJlcXVlc3RVcGRhdGUoKX1fX3JlY29yZENlbGxJblNuYXBzaG90KEQsTCl7aWYodGhpcy5oaWdobGlnaHRVcGRhdGVzIT09ImZsYXNoInx8IXRoaXMuX19wcmV2U25hcHNob3R8fCF0aGlzLnJvd0tleSlyZXR1cm47bGV0IGVlPXRoaXMuZ2V0Um93SWQoRCksRGU9dGhpcy5fX3ByZXZTbmFwc2hvdC5nZXQoZWUpO0RlfHwoRGU9bmV3IE1hcCx0aGlzLl9fcHJldlNuYXBzaG90LnNldChlZSxEZSkpLERlLnNldChTdHJpbmcoTC5rZXkpLCQ0KEQsTCx0aGlzLmRpc3BsYXlGdW5jdGlvbikpfXJlbmRlckNlbGxFZGl0b3IoRCxMKXtsZXQgZWU9RFtMLmtleV0sRGU9TC5mb3JtYXQ/TC5mb3JtYXQoZWUsRCk6ZWUsSWU9TC5lZGl0b3I/PyJ0ZXh0IixXZT1zKHR0PT50aGlzLmNvbW1pdENlbGxFZGl0KEQsTCx0dC52YWx1ZSksIm9uVGV4dENvbW1pdCIpO3N3aXRjaChJZSl7Y2FzZSJjaGVja2JveCI6cmV0dXJuIHdgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgIC52YWx1ZT0keyEhRGV9CiAgICAgICAgICBAbmV3VmFsdWU9JHt0dD0+e3R0LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuY29tbWl0Q2VsbEVkaXQoRCxMLHR0LmRldGFpbCl9fQogICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+YDtjYXNlImRyb3Bkb3duIjp7bGV0IHR0PUwuZWRpdG9yT3B0aW9ucz8ub3B0aW9ucz8/W10sYXQ9dHQuZmluZCh4dD0+eHQ9PW51bGw/ITE6dHlwZW9mIHh0PT0ic3RyaW5nIj94dD09PWVlOnh0LmtleT09PWVlfHx4dC5vcHRpb249PT1lZSk/P251bGw7cmV0dXJuIHdgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgIC52aW50ZWdyYXRlZD0keyEwfQogICAgICAgICAgLm9wdGlvbnM9JHt0dH0KICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0ke2F0fQogICAgICAgICAgQHNlbGVjdGVkT3B0aW9uPSR7eHQ9Pnt4dC5zdG9wUHJvcGFnYXRpb24oKTtsZXQgZ2E9eHQuZGV0YWlsLHl0PWdhPy5vcHRpb24/P2dhPy5rZXk/P2dhO3RoaXMuY29tbWl0Q2VsbEVkaXQoRCxMLHl0KX19CiAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj5gfWNhc2UiZGF0ZSI6cmV0dXJuIHdgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgLnZhbHVlPSR7RGV9CiAgICAgICAgICBAZm9jdXNvdXQ9JHt0dD0+V2UodHQudGFyZ2V0KX0KICAgICAgICAgIEBrZXlkb3duPSR7dHQ9PnRoaXMuX19oYW5kbGVFZGl0b3JLZXkodHQsRCxMKX0KICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+YDtjYXNlInRhZ3MiOnJldHVybiB3YDxkZWVzLWlucHV0LXRhZ3MKICAgICAgICAgIC52YWx1ZT0ke0RlPz9bXX0KICAgICAgICAgIEBmb2N1c291dD0ke3R0PT5XZSh0dC50YXJnZXQpfQogICAgICAgICAgQGtleWRvd249JHt0dD0+dGhpcy5fX2hhbmRsZUVkaXRvcktleSh0dCxELEwpfQogICAgICAgID48L2RlZXMtaW5wdXQtdGFncz5gO2RlZmF1bHQ6cmV0dXJuIHdgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgLnZpbnRlZ3JhdGVkPSR7ITB9CiAgICAgICAgICAudmFsdWU9JHtEZT09bnVsbD8iIjpTdHJpbmcoRGUpfQogICAgICAgICAgQGZvY3Vzb3V0PSR7dHQ9PldlKHR0LnRhcmdldCl9CiAgICAgICAgICBAa2V5ZG93bj0ke3R0PT50aGlzLl9faGFuZGxlRWRpdG9yS2V5KHR0LEQsTCl9CiAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PmB9fV9faGFuZGxlRWRpdG9yS2V5KEQsTCxlZSl7aWYoRC5rZXk9PT0iRXNjYXBlIilELnByZXZlbnREZWZhdWx0KCksRC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmNhbmNlbENlbGxFZGl0KCksdGhpcy5mb2N1cygpO2Vsc2UgaWYoRC5rZXk9PT0iRW50ZXIiKXtELnByZXZlbnREZWZhdWx0KCksRC5zdG9wUHJvcGFnYXRpb24oKTtsZXQgRGU9RC50YXJnZXQ7dGhpcy5jb21taXRDZWxsRWRpdChMLGVlLERlLnZhbHVlKSx0aGlzLm1vdmVGb2N1c2VkQ2VsbCgwLDEsITApfWVsc2UgaWYoRC5rZXk9PT0iVGFiIil7RC5wcmV2ZW50RGVmYXVsdCgpLEQuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IERlPUQudGFyZ2V0O3RoaXMuY29tbWl0Q2VsbEVkaXQoTCxlZSxEZS52YWx1ZSksdGhpcy5tb3ZlRm9jdXNlZENlbGwoRC5zaGlmdEtleT8tMToxLDAsITApfX1tb3ZlRm9jdXNlZENlbGwoRCxMLGVlKXtsZXQgRGU9dGhpcy5fbGFzdFZpZXdEYXRhPz9bXTtpZihEZS5sZW5ndGg9PT0wKXJldHVybjtsZXQgSWU9dGhpcy5fX2dldEVmZmVjdGl2ZUNvbHVtbnMoKSxXZT10aGlzLl9fZWRpdGFibGVDb2x1bW5zKEllKTtpZihXZS5sZW5ndGg9PT0wKXJldHVybjtsZXQgdHQ9MCxhdD0wO2lmKHRoaXMuX19mb2N1c2VkQ2VsbCYmKHR0PURlLmZpbmRJbmRleCh5dD0+dGhpcy5nZXRSb3dJZCh5dCk9PT10aGlzLl9fZm9jdXNlZENlbGwucm93SWQpLGF0PVdlLmZpbmRJbmRleCh5dD0+U3RyaW5nKHl0LmtleSk9PT10aGlzLl9fZm9jdXNlZENlbGwuY29sS2V5KSx0dDwwJiYodHQ9MCksYXQ8MCYmKGF0PTApKSxEIT09MCl7Zm9yKGF0Kz1EO2F0Pj1XZS5sZW5ndGg7KWF0LT1XZS5sZW5ndGgsdHQrPTE7Zm9yKDthdDwwOylhdCs9V2UubGVuZ3RoLHR0LT0xfWlmKEwhPT0wJiYodHQrPUwpLHR0PDB8fHR0Pj1EZS5sZW5ndGgpe3RoaXMuY2FuY2VsQ2VsbEVkaXQoKTtyZXR1cm59bGV0IHh0PURlW3R0XSxnYT1XZVthdF07dGhpcy5fX2ZvY3VzZWRDZWxsPXtyb3dJZDp0aGlzLmdldFJvd0lkKHh0KSxjb2xLZXk6U3RyaW5nKGdhLmtleSl9LGVlP3RoaXMuc3RhcnRFZGl0aW5nKHh0LGdhKTp0aGlzLnJlcXVlc3RVcGRhdGUoKX1zdGF0aWN7b3Qocix0KX19O3JldHVybiBQNz1yfSkoKX0pO3ZhciBwUWU9ZigoKT0+e29RZSgpfSk7dmFyIENsYSxfbGE9ZigoKT0+e2xlKCk7TmEoKTtDbGE9cygoKT0+d2AKICA8c3R5bGU+CiAgICAke1hgCiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5mb3JtLW91dHB1dCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgICB9CiAgICAgIAogICAgICAuc3RhdHVzLW1lc3NhZ2UgewogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CiAgICAgIAogICAgICAuc3RhdHVzLW1lc3NhZ2Uuc3VjY2VzcyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3MC42JSA0NS4zJSAvIDAuMSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUgLyAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDE0Mi4xIDcwLjYlIDM1LjMlKSIsImhzbCgxNDIuMSA3MC42JSA2NS4zJSkiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5zdGF0dXMtbWVzc2FnZS5lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlIC8gMC4xKSIsImhzbCgwIDcyLjIlIDUwLjYlIC8gMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDQwLjYlKSIsImhzbCgwIDcyLjIlIDYwLjYlKSIpfTsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpLHQ9YS5xdWVyeVNlbGVjdG9yKCIuZm9ybS1vdXRwdXQiKTtlJiZ0JiYoZS5hZGRFdmVudExpc3RlbmVyKCJmb3JtRGF0YSIsKGFzeW5jIGk9PntsZXQgbz1pLmRldGFpbC5kYXRhO2NvbnNvbGUubG9nKCJGb3JtIHN1Ym1pdHRlZCB3aXRoIGRhdGE6IixvKSxlLnNldFN0YXR1cygicGVuZGluZyIsIlByb2Nlc3NpbmcgeW91ciByZWdpc3RyYXRpb24uLi4iKSx0LmlubmVySFRNTD1gPHN0cm9uZz5TdWJtaXR0ZWQgRGF0YTo8L3N0cm9uZz4KJHtKU09OLnN0cmluZ2lmeShvLG51bGwsMil9YCxhd2FpdCBFdC5wbHVnaW5zLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMmUzKSxlLnNldFN0YXR1cygic3VjY2VzcyIsIlJlZ2lzdHJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5ISIpLGF3YWl0IEV0LnBsdWdpbnMuc21hcnRkZWxheS5kZWxheUZvcigyZTMpLGUucmVzZXQoKSx0LmlubmVySFRNTD0iPGVtPkZvcm0gaGFzIGJlZW4gcmVzZXQ8L2VtPiJ9KSksZS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWlucHV0LXRleHQsIGRlZXMtaW5wdXQtZHJvcGRvd24sIGRlZXMtaW5wdXQtY2hlY2tib3giKS5mb3JFYWNoKGk9PntpLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZVN1YmplY3QiLCgpPT57Y29uc29sZS5sb2coIkZpZWxkIGNoYW5nZWQ6IixpLmdldEF0dHJpYnV0ZSgia2V5IikpfSl9KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLmhlYWRpbmc9IkNvbXBsZXRlIEZvcm0gRXhhbXBsZSIgLmRlc2NyaXB0aW9uPSJBIGNvbXByZWhlbnNpdmUgZm9ybSB3aXRoIHZhcmlvdXMgaW5wdXQgdHlwZXMsIHZhbGlkYXRpb24sIGFuZCBmb3JtIHN1Ym1pc3Npb24gaGFuZGxpbmciPgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0gCiAgICAgICAgICAgIGtleT0iZmlyc3ROYW1lIiAKICAgICAgICAgICAgbGFiZWw9IkZpcnN0IE5hbWUiCiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJZb3VyIGdpdmVuIG5hbWUifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0gCiAgICAgICAgICAgIGtleT0ibGFzdE5hbWUiIAogICAgICAgICAgICBsYWJlbD0iTGFzdCBOYW1lIgogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0gCiAgICAgICAgICAgIGtleT0iZW1haWwiIAogICAgICAgICAgICBsYWJlbD0iRW1haWwgQWRkcmVzcyIKICAgICAgICAgICAgLmluZm9UZXh0PSR7IldlIHdpbGwgdXNlIHRoaXMgdG8gY29udGFjdCB5b3UifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAga2V5PSJjb3VudHJ5IgogICAgICAgICAgICAubGFiZWw9JHsiQ291bnRyeSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IlVuaXRlZCBTdGF0ZXMiLGtleToidXMifSx7b3B0aW9uOiJDYW5hZGEiLGtleToiY2EifSx7b3B0aW9uOiJHZXJtYW55IixrZXk6ImRlIn0se29wdGlvbjoiRnJhbmNlIixrZXk6ImZyIn0se29wdGlvbjoiVW5pdGVkIEtpbmdkb20iLGtleToidWsifV19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICBrZXk9InBhc3N3b3JkIgogICAgICAgICAgICBsYWJlbD0iUGFzc3dvcmQiCiAgICAgICAgICAgIGlzUGFzc3dvcmRCb29sCiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJNaW5pbXVtIDggY2hhcmFjdGVycyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICBrZXk9InRlcm1zIgogICAgICAgICAgICBsYWJlbD0iSSBhZ3JlZSB0byB0aGUgVGVybXMgYW5kIENvbmRpdGlvbnMiCiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICBrZXk9Im5ld3NsZXR0ZXIiCiAgICAgICAgICAgIGxhYmVsPSJTZW5kIG1lIHByb21vdGlvbmFsIGVtYWlscyIKICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdD5DcmVhdGUgQWNjb3VudDwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLW91dHB1dCI+CiAgICAgICAgICA8ZW0+U3VibWl0IHRoZSBmb3JtIHRvIHNlZSB0aGUgY29sbGVjdGVkIGRhdGEuLi48L2VtPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpO2UmJihjb25zb2xlLmxvZygiSG9yaXpvbnRhbCBmb3JtIGxheW91dCBhY3RpdmUiKSxlLmFkZEV2ZW50TGlzdGVuZXIoImZvcm1EYXRhIiwocj0+e2xldCBpPXIuZGV0YWlsLmRhdGE7Y29uc29sZS5sb2coIkZpbHRlciBhcHBsaWVkOiIsaSk7bGV0IG89TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMTtjb25zb2xlLmxvZyhgRm91bmQgJHtvfSByZXN1bHRzIHdpdGggZmlsdGVyczpgLGkpfSkpLGUucXVlcnlTZWxlY3RvckFsbCgiW2tleV0iKS5mb3JFYWNoKHI9PntyLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZVN1YmplY3QiLGFzeW5jKCk9PntsZXQgaT1hd2FpdCBlLmNvbGxlY3RGb3JtRGF0YSgpO2NvbnNvbGUubG9nKCJMaXZlIGZpbHRlciB1cGRhdGU6IixpKX0pfSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC5oZWFkaW5nPSJIb3Jpem9udGFsIEZvcm0gTGF5b3V0IiAuZGVzY3JpcHRpb249IkNvbXBhY3QgZm9ybSB3aXRoIGlucHV0cyBhcnJhbmdlZCBob3Jpem9udGFsbHkgLSBwZXJmZWN0IGZvciBmaWx0ZXJzIGFuZCBxdWljayBmb3JtcyI+CiAgICAgICAgPGRlZXMtZm9ybSBob3Jpem9udGFsLWxheW91dD4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgCiAgICAgICAgICAgIGtleT0ic2VhcmNoIiAKICAgICAgICAgICAgbGFiZWw9IlNlYXJjaCIKICAgICAgICAgICAgcGxhY2Vob2xkZXI9IkVudGVyIGtleXdvcmRzLi4uIgogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICBrZXk9ImNhdGVnb3J5IgogICAgICAgICAgICAubGFiZWw9JHsiQ2F0ZWdvcnkifQogICAgICAgICAgICAuZW5hYmxlU2VhcmNoPSR7ITF9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkFsbCIsa2V5OiJhbGwifSx7b3B0aW9uOiJQcm9kdWN0cyIsa2V5OiJwcm9kdWN0cyJ9LHtvcHRpb246IlNlcnZpY2VzIixrZXk6InNlcnZpY2VzIn0se29wdGlvbjoiU3VwcG9ydCIsa2V5OiJzdXBwb3J0In1dfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAga2V5PSJzb3J0IgogICAgICAgICAgICAubGFiZWw9JHsiU29ydCBCeSJ9CiAgICAgICAgICAgIC5lbmFibGVTZWFyY2g9JHshMX0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiTmV3ZXN0IixrZXk6Im5ld2VzdCJ9LHtvcHRpb246IlBvcHVsYXIiLGtleToicG9wdWxhciJ9LHtvcHRpb246IlByaWNlOiBMb3cgdG8gSGlnaCIsa2V5OiJwcmljZV9hc2MifSx7b3B0aW9uOiJQcmljZTogSGlnaCB0byBMb3ciLGtleToicHJpY2VfZGVzYyJ9XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgIGtleT0iaW5TdG9jayIKICAgICAgICAgICAgbGFiZWw9IkluIFN0b2NrIE9ubHkiCiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCJkZWVzLWZvcm0iKSx0PWEucXVlcnlTZWxlY3RvcigiI3N0YXR1cy1kaXNwbGF5Iik7aWYoZSl7ZS5hZGRFdmVudExpc3RlbmVyKCJmb3JtRGF0YSIsKGFzeW5jIGk9PntsZXQgbz1pLmRldGFpbC5kYXRhO2NvbnNvbGUubG9nKCJBZHZhbmNlZCBmb3JtIGRhdGE6IixvKSxlLnNldFN0YXR1cygicGVuZGluZyIsIlZhbGlkYXRpbmcgeW91ciBpbmZvcm1hdGlvbi4uLiIpLGF3YWl0IEV0LnBsdWdpbnMuc21hcnRkZWxheS5kZWxheUZvcigxNTAwKSxvLmliYW4mJm8uaWJhbi5sZW5ndGg+MTU/KGUuc2V0U3RhdHVzKCJzdWNjZXNzIiwiQXBwbGljYXRpb24gc3VibWl0dGVkIHN1Y2Nlc3NmdWxseSEiKSx0JiYodC5jbGFzc05hbWU9InN0YXR1cy1tZXNzYWdlIHN1Y2Nlc3MiLHQudGV4dENvbnRlbnQ9Ilx1MjcxMyBZb3VyIGFwcGxpY2F0aW9uIGhhcyBiZWVuIHN1Ym1pdHRlZC4gV2Ugd2lsbCBjb250YWN0IHlvdSBzb29uLiIpKTooZS5zZXRTdGF0dXMoImVycm9yIiwiUGxlYXNlIGNoZWNrIHlvdXIgSUJBTiIpLHQmJih0LmNsYXNzTmFtZT0ic3RhdHVzLW1lc3NhZ2UgZXJyb3IiLHQudGV4dENvbnRlbnQ9Ilx1MjcxNyBJbnZhbGlkIElCQU4gZm9ybWF0LiBQbGVhc2UgY2hlY2sgYW5kIHRyeSBhZ2Fpbi4iKSksY29uc29sZS5sb2coIkZvcm0gZGF0YSBsb2dnZWQ6IixvKX0pKTtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZmlsZXVwbG9hZCIpO3ImJnIuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixpPT57bGV0IG89aS5kZXRhaWw/LmZpbGVzfHxbXTtjb25zb2xlLmxvZyhgJHtvLmxlbmd0aH0gZmlsZShzKSBzZWxlY3RlZCBmb3IgdXBsb2FkYCl9KX19fT4KICAgICAgPGRlZXMtcGFuZWwgLmhlYWRpbmc9IkFkdmFuY2VkIEZvcm0gRmVhdHVyZXMiIC5kZXNjcmlwdGlvbj0iRm9ybSB3aXRoIHNwZWNpYWxpemVkIGlucHV0IHR5cGVzIGFuZCBjb21wbGV4IHZhbGlkYXRpb24iPgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1pYmFuIAogICAgICAgICAgICBrZXk9ImliYW4iCiAgICAgICAgICAgIGxhYmVsPSJJQkFOIgogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtaWJhbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtcGhvbmUKICAgICAgICAgICAga2V5PSJwaG9uZSIKICAgICAgICAgICAgbGFiZWw9IlBob25lIE51bWJlciIKICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXBob25lPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgICBrZXk9InByZWZlcmVuY2VzIgogICAgICAgICAgICAubGFiZWw9JHsiTm90aWZpY2F0aW9uIFByZWZlcmVuY2VzIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIkVtYWlsIiwiU01TIiwiUHVzaCIsIkluLUFwcCJdfQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiRW1haWwifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGlzZWxlY3QKICAgICAgICAgICAga2V5PSJpbnRlcmVzdHMiCiAgICAgICAgICAgIC5sYWJlbD0keyJBcmVhcyBvZiBJbnRlcmVzdCJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IlRlY2hub2xvZ3kiLGtleToidGVjaCJ9LHtvcHRpb246IkRlc2lnbiIsa2V5OiJkZXNpZ24ifSx7b3B0aW9uOiJCdXNpbmVzcyIsa2V5OiJidXNpbmVzcyJ9LHtvcHRpb246Ik1hcmtldGluZyIsa2V5OiJtYXJrZXRpbmcifSx7b3B0aW9uOiJTYWxlcyIsa2V5OiJzYWxlcyJ9XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGlzZWxlY3Q+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWZpbGV1cGxvYWQKICAgICAgICAgICAga2V5PSJkb2N1bWVudHMiCiAgICAgICAgICAgIC5sYWJlbD0keyJVcGxvYWQgRG9jdW1lbnRzIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IlBERiwgRE9DLCBvciBET0NYIGZpbGVzIHVwIHRvIDEwTUIifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1maWxldXBsb2FkPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdD5TdWJtaXQgQXBwbGljYXRpb248L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgCiAgICAgICAgPGRpdiBpZD0ic3RhdHVzLWRpc3BsYXkiPjwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgVGxhLGZRZSxMbGEsJGxhLHBtPWYoKCk9PntsZSgpO2VhKCk7ZWFlKCk7T1llKCk7bmFlKCk7dTQoKTtWWWUoKTt1YWUoKTttYWUoKTtXWWUoKTtaWWUoKTtYWWUoKTtRWWUoKTtlS2UoKTthS2UoKTtyS2UoKTtzS2UoKTtxc2UoKTtWc2UoKTtJZigpO3BRZSgpO19sYSgpO1RsYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sZlFlPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxMbGE9W0p0ZSxzYWUsb2FlLGhhZSxnYWUseWFlLHdhZSxrYWUsY2FlLGRhZSxsYWUsU2FlLHphZSxDYWUsX2FlLFpXLGpzZSxXc2VdLCRsYT0oKCk9PntsZXQgYT1baWUoImRlZXMtZm9ybSIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzRm9ybSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBjPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwLGF0dHJpYnV0ZToiaG9yaXpvbnRhbC1sYXlvdXQifSldLFRsYSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imhvcml6b250YWxMYXlvdXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+Imhvcml6b250YWxMYXlvdXQiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5ob3Jpem9udGFsTGF5b3V0LCJnZXQiKSxzZXQ6cygocCx1KT0+e3AuaG9yaXpvbnRhbExheW91dD11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksVGxhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9c3RhdGljIGRlbW89Q2xhO3N0YXRpYyBkZW1vR3JvdXBzPVsiRm9ybSJdO25hbWU9Im15Zm9ybSI7Y2hhbmdlU3ViamVjdD1uZXcgSHQuc21hcnRyeC5yeGpzLlN1YmplY3Q7cmVhZHlEZWZlcnJlZD1IdC5zbWFydHByb21pc2UuZGVmZXIoKTsjZT1mUWUodGhpcyxuLCExKTtnZXQgaG9yaXpvbnRhbExheW91dCgpe3JldHVybiB0aGlzLiNlfXNldCBob3Jpem9udGFsTGF5b3V0KGMpe3RoaXMuI2U9Y31zdGF0aWMgc3R5bGVzPVtYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQoKICAgICAgOmhvc3QoW2hvcml6b250YWwtbGF5b3V0XSkgewogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzbG90Pjwvc2xvdD4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7bGV0IGM9dGhpcy5nZXRGb3JtRWxlbWVudHMoKTt0aGlzLnVwZGF0ZVJlcXVpcmVkU3RhdHVzKCksdGhpcy51cGRhdGVDaGlsZHJlbkxheW91dE1vZGUoKTtmb3IobGV0IHAgb2YgYylwLmNoYW5nZVN1YmplY3Quc3Vic2NyaWJlKGFzeW5jKCk9PntsZXQgdT1hd2FpdCB0aGlzLmNvbGxlY3RGb3JtRGF0YSgpO3RoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHUpLGNvbnNvbGUubG9nKHUpLHRoaXMudXBkYXRlUmVxdWlyZWRTdGF0dXMoKX0pO2F3YWl0IHRoaXMuYWRkQmVoYXZpb3VycygpLHRoaXMucmVhZHlEZWZlcnJlZC5yZXNvbHZlKCl9Z2V0Rm9ybUVsZW1lbnRzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsKCIqIikpLmZpbHRlcihjPT5MbGEuaW5jbHVkZXMoYy5jb25zdHJ1Y3RvcikpfWdldFN1Ym1pdEJ1dHRvbigpe3JldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbCgiKiIpKS5maW5kKGM9PmMgaW5zdGFuY2VvZiBwYWUpfWFzeW5jIHVwZGF0ZVJlcXVpcmVkU3RhdHVzKCl7Y29uc29sZS5sb2coImNoZWNraW5nIHRoZSByZXF1aXJlZCBzdGF0dXMuIik7bGV0IGM9ITA7Zm9yKGxldCB1IG9mIHRoaXMuZ2V0Rm9ybUVsZW1lbnRzKCkpdS5yZXF1aXJlZCYmIXUudmFsdWUmJihjPSExKTtsZXQgcD10aGlzLmdldFN1Ym1pdEJ1dHRvbigpO3AmJihwLmRpc2FibGVkPSFjKX1hc3luYyBjb2xsZWN0Rm9ybURhdGEoKXtsZXQgYz10aGlzLmdldEZvcm1FbGVtZW50cygpLHA9e307Zm9yKGxldCB1IG9mIGMpe2lmKCF1LmtleSl7Y29uc29sZS5sb2coYGZvcm0gZWxlbWVudCB3aXRoIGxhYmVsICIke3UubGFiZWx9IiBoYXMgbm8ga2V5LiBza2lwcGluZy5gKTtjb250aW51ZX1wW3Uua2V5XT11LnZhbHVlfXJldHVybiBwfWFzeW5jIGdhdGhlckFuZERpc3BhdGNoKCl7bGV0IGM9YXdhaXQgdGhpcy5jb2xsZWN0Rm9ybURhdGEoKSxwPW5ldyBDdXN0b21FdmVudCgiZm9ybURhdGEiLHtkZXRhaWw6e2RhdGE6Y30sYnViYmxlczohMH0pO3RoaXMuZGlzcGF0Y2hFdmVudChwKSxjb25zb2xlLmxvZygiZGlzcGF0Y2hlZCBkYXRhOiIpLGNvbnNvbGUubG9nKGMpfXNldFN0YXR1cyhjLHApe2xldCB1PXRoaXMuZ2V0Rm9ybUVsZW1lbnRzKCksbT10aGlzLmdldFN1Ym1pdEJ1dHRvbigpO2lmKG0pe3N3aXRjaChjKXtjYXNlIm5vcm1hbCI6bS5kaXNhYmxlZD0hMSxtLnN0YXR1cz0ibm9ybWFsIjtmb3IobGV0IHYgb2YgdSl2LmRpc2FibGVkPSExO2JyZWFrO2Nhc2UicGVuZGluZyI6bS5kaXNhYmxlZD0hMCxtLnN0YXR1cz0icGVuZGluZyI7Zm9yKGxldCB2IG9mIHUpdi5kaXNhYmxlZD0hMDticmVhaztjYXNlInN1Y2Nlc3MiOm0uZGlzYWJsZWQ9ITAsbS5zdGF0dXM9InN1Y2Nlc3MiO2ZvcihsZXQgdiBvZiB1KXYuZGlzYWJsZWQ9ITA7YnJlYWs7Y2FzZSJlcnJvciI6bS5kaXNhYmxlZD0hMCxtLnN0YXR1cz0iZXJyb3IiO2ZvcihsZXQgdiBvZiB1KXYuZGlzYWJsZWQ9ITA7YnJlYWt9bS50ZXh0PXB9fXJlc2V0KCl7bGV0IGM9dGhpcy5nZXRGb3JtRWxlbWVudHMoKTtmb3IobGV0IHAgb2YgYylwLnZhbHVlPW51bGw7dGhpcy5zZXRTdGF0dXMoIm5vcm1hbCIsIlN1Ym1pdCIpfWFzeW5jIGFkZEJlaGF2aW91cnMoKXt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGM9PntsZXQgcD1jLnRhcmdldDtpZihMbGEuaW5jbHVkZXMocC5jb25zdHJ1Y3RvcikmJmMua2V5PT09IkVudGVyIil7bGV0IHU9dGhpcy5nZXRGb3JtRWxlbWVudHMoKSxtPXUuaW5kZXhPZihwKTttPHUubGVuZ3RoLTE/dVttKzFdLmZvY3VzKCk6KHAuYmx1cigpLHRoaXMuZ2V0U3VibWl0QnV0dG9uKCk/LmZvY3VzKCkpfX0pfXVwZGF0ZUNoaWxkcmVuTGF5b3V0TW9kZSgpe2xldCBjPXRoaXMuZ2V0Rm9ybUVsZW1lbnRzKCk7Zm9yKGxldCBwIG9mIGMpImxheW91dE1vZGUiaW4gcCYmKHAubGF5b3V0TW9kZT0iYXV0byIpfXVwZGF0ZWQoYyl7c3VwZXIudXBkYXRlZChjKSxjLmhhcygiaG9yaXpvbnRhbExheW91dCIpJiZ0aGlzLnVwZGF0ZUNoaWxkcmVuTGF5b3V0TW9kZSgpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxmUWUodGhpcyxsKX1zdGF0aWN7ZlFlKHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciBEbGEsQWxhPWYoKCk9PntsZSgpO05hKCk7VXMoKTtwbSgpO0lmKCk7dTQoKTt2YSgpO0RsYT1zKCgpPT53YAogIDxzdHlsZT4KICAgICR7WGAKICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWwgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH0KICAgICAgCiAgICAgIC52ZXJ0aWNhbC1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1heC13aWR0aDogMzAwcHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5ob3Jpem9udGFsLWdyb3VwIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgfQogICAgICAKICAgICAgLmRlbW8tb3V0cHV0IHsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICB9CiAgICAgIAogICAgICAuaWNvbi1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgbWFyZ2luOiA4cHggMDsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtc25pcHBldCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTEuOCUpIil9OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgbWFyZ2luOiA0cHggMDsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PnthLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaCh0PT57dC5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2xldCByPXQuZ2V0QXR0cmlidXRlKCJ0eXBlIil8fCJkZWZhdWx0Ijtjb25zb2xlLmxvZyhgQnV0dG9uIHZhcmlhbnQgY2xpY2tlZDogJHtyfWApfSl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMS4gQnV0dG9uIFZhcmlhbnRzIn0gLnN1YnRpdGxlPSR7IkRpZmZlcmVudCB2aXN1YWwgc3R5bGVzIGZvciB2YXJpb3VzIHVzZSBjYXNlcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGVmYXVsdCI+RGVmYXVsdDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic2Vjb25kYXJ5Ij5TZWNvbmRhcnk8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRlc3RydWN0aXZlIj5EZXN0cnVjdGl2ZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ib3V0bGluZSI+T3V0bGluZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZ2hvc3QiPkdob3N0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJsaW5rIj5MaW5rIEJ1dHRvbjwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2EucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1idXR0b24iKS5mb3JFYWNoKHQ9Pnt0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrZWQiLCgpPT57bGV0IHI9dC5nZXRBdHRyaWJ1dGUoInNpemUiKXx8ImRlZmF1bHQiO2NvbnNvbGUubG9nKGBCdXR0b24gc2l6ZTogJHtyfWApfSl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMi4gQnV0dG9uIFNpemVzIn0gLnN1YnRpdGxlPSR7Ik11bHRpcGxlIHNpemVzIGZvciBkaWZmZXJlbnQgY29udGV4dHMgYW5kIHVzZSBjYXNlcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0ic20iPlNtYWxsIEJ1dHRvbjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iZGVmYXVsdCI+RGVmYXVsdCBTaXplPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJsZyI+TGFyZ2UgQnV0dG9uPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJvdXRsaW5lIiAudGV4dD0keyJcdXsxRjY4MH0ifT48L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCIgc3R5bGU9Im1hcmdpbi10b3A6IDE2cHg7Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJzbSIgdHlwZT0ic2Vjb25kYXJ5Ij5TbWFsbCBTZWNvbmRhcnk8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHNpemU9ImRlZmF1bHQiIHR5cGU9ImRlc3RydWN0aXZlIj5EZWZhdWx0IERlc3RydWN0aXZlPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJsZyIgdHlwZT0ib3V0bGluZSI+TGFyZ2UgT3V0bGluZTwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2EucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1idXR0b24iKS5mb3JFYWNoKHQ9Pnt0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrZWQiLCgpPT57bGV0IHI9dC5xdWVyeVNlbGVjdG9yKCJkZWVzLWljb24iKTtpZihyKXtsZXQgaT1yLmdldEF0dHJpYnV0ZSgiaWNvbkZBIil8fCJ1bmtub3duIjtjb25zb2xlLmxvZyhgSWNvbiBidXR0b24gY2xpY2tlZDogJHtpfWApfX0pfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjMuIEJ1dHRvbnMgd2l0aCBJY29ucyJ9IC5zdWJ0aXRsZT0keyJDb21iaW5pbmcgaWNvbnMgd2l0aCB0ZXh0IGZvciBlbmhhbmNlZCB2aXN1YWwgY29tbXVuaWNhdGlvbiJ9PgogICAgICAgIDxkaXYgY2xhc3M9Imljb24tcm93Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJmYTpwbHVzIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgQWRkIEl0ZW0KICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGVzdHJ1Y3RpdmUiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249ImZhOnRyYXNoIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgRGVsZXRlCiAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Im91dGxpbmUiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpEb3dubG9hZCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIERvd25sb2FkCiAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLXJvdyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic2Vjb25kYXJ5IiBzaXplPSJzbSI+CiAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0iZmE6Z2VhciI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIFNldHRpbmdzCiAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Imdob3N0Ij4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJmYTpjYXJldExlZnQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICBCYWNrCiAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Imdob3N0Ij4KICAgICAgICAgICAgTmV4dAogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249ImZhOmNhcmV0UmlnaHQiPjwvZGVlcy1pY29uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1yb3ciPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHNpemU9Imljb24iIHR5cGU9ImRlZmF1bHQiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249ImZhOnBsdXMiPjwvZGVlcy1pY29uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJzZWNvbmRhcnkiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249ImZhOmdlYXIiPjwvZGVlcy1pY29uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJvdXRsaW5lIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6U2VhcmNoIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0iZ2hvc3QiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpNb3JlVmVydGljYWwiPjwvZGVlcy1pY29uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJkZXN0cnVjdGl2ZSI+CiAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0iZmE6dHJhc2giPjwvZGVlcy1pY29uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PnthLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaCh0PT57dC5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2xldCByPXQuZ2V0QXR0cmlidXRlKCJpY29uIil8fCJub25lIixpPXQuZ2V0QXR0cmlidXRlKCJpY29uUG9zaXRpb24iKXx8ImxlZnQiO2NvbnNvbGUubG9nKGBJY29uIHByb3BlcnR5IGJ1dHRvbjogaWNvbj0ke3J9LCBwb3NpdGlvbj0ke2l9YCl9KX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI0LiBJY29ucyB2aWEgUHJvcGVydHkifSAuc3VidGl0bGU9JHsiU2ltcGxpZmllZCBpY29uIHN5bnRheCB1c2luZyB0aGUgaWNvbiBwcm9wZXJ0eSJ9PgogICAgICAgIDxkaXYgY2xhc3M9Imljb24tcm93Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBpY29uPSJmYTpwbHVzIj5BZGQgSXRlbTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGVzdHJ1Y3RpdmUiIGljb249ImZhOnRyYXNoIj5EZWxldGU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Im91dGxpbmUiIGljb249Imx1Y2lkZTpEb3dubG9hZCI+RG93bmxvYWQ8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLXJvdyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic2Vjb25kYXJ5IiBzaXplPSJzbSIgaWNvbj0iZmE6Z2VhciI+U2V0dGluZ3M8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Imdob3N0IiBpY29uPSJmYTpjYXJldExlZnQiPkJhY2s8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Imdob3N0IiBpY29uPSJmYTpjYXJldFJpZ2h0IiBpY29uUG9zaXRpb249InJpZ2h0Ij5OZXh0PC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1yb3ciPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHNpemU9Imljb24iIHR5cGU9ImRlZmF1bHQiIGljb249ImZhOnBsdXMiPjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0ic2Vjb25kYXJ5IiBpY29uPSJsdWNpZGU6U2V0dGluZ3MiPjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0ib3V0bGluZSIgaWNvbj0ibHVjaWRlOlNlYXJjaCI+PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJnaG9zdCIgaWNvbj0ibHVjaWRlOk1vcmVWZXJ0aWNhbCI+PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJkZXN0cnVjdGl2ZSIgaWNvbj0iZmE6dHJhc2giPjwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6IDE2cHg7Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtc25pcHBldCI+CiAgICAgICAgICAgICZsdDtkZWVzLWJ1dHRvbiBpY29uPSJmYTpwbHVzIiZndDtBZGQgSXRlbSZsdDsvZGVlcy1idXR0b24mZ3Q7PGJyPgogICAgICAgICAgICAmbHQ7ZGVlcy1idXR0b24gaWNvbj0iZmE6Y2FyZXRSaWdodCIgaWNvblBvc2l0aW9uPSJyaWdodCImZ3Q7TmV4dCZsdDsvZGVlcy1idXR0b24mZ3Q7CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtYnV0dG9uW3N0YXR1cz0icGVuZGluZyJdJyksdD1hLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtYnV0dG9uW3N0YXR1cz0ic3VjY2VzcyJdJykscj1hLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtYnV0dG9uW3N0YXR1cz0iZXJyb3IiXScpO2UmJnNldFRpbWVvdXQoKCk9Pntjb25zb2xlLmxvZygiUGVuZGluZyBidXR0b24gaXMgc2hvd2luZyBsb2FkaW5nIHN0YXRlIil9LDFlMyksdCYmdC5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2NvbnNvbGUubG9nKCJTdWNjZXNzIHN0YXRlIGJ1dHRvbiBjbGlja2VkIil9KSxyJiZyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrZWQiLCgpPT57Y29uc29sZS5sb2coIkVycm9yIHN0YXRlIGJ1dHRvbiBjbGlja2VkIil9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNS4gQnV0dG9uIFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgc3RhdGVzIHRvIGluZGljYXRlIGJ1dHRvbiBzdGF0dXMgYW5kIGxvYWRpbmcgY29uZGl0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc3RhdHVzPSJub3JtYWwiPk5vcm1hbDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc3RhdHVzPSJwZW5kaW5nIj5Qcm9jZXNzaW5nLi4uPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzdGF0dXM9InN1Y2Nlc3MiPlN1Y2Nlc3MhPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzdGF0dXM9ImVycm9yIj5FcnJvciE8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIGRpc2FibGVkPkRpc2FibGVkPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiIHN0eWxlPSJtYXJnaW4tdG9wOiAxNnB4OyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic2Vjb25kYXJ5IiBzdGF0dXM9InBlbmRpbmciIHNpemU9InNtIj5TbWFsbCBMb2FkaW5nPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJvdXRsaW5lIiBzdGF0dXM9InBlbmRpbmciPkRlZmF1bHQgTG9hZGluZzwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGVzdHJ1Y3RpdmUiIHN0YXR1cz0icGVuZGluZyIgc2l6ZT0ibGciPkxhcmdlIExvYWRpbmc8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoIiNjbGljay1vdXRwdXQiKSx0PWEucXVlcnlTZWxlY3RvcigiZGVlcy1idXR0b246Zmlyc3Qtb2YtdHlwZSIpLHI9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWJ1dHRvblt0eXBlPSJzZWNvbmRhcnkiXScpLGk9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWJ1dHRvblt0eXBlPSJkZXN0cnVjdGl2ZSJdJyk7dCYmZSYmdC5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2UudGV4dENvbnRlbnQ9YENsaWNrZWQ6IERlZmF1bHQgYnV0dG9uIGF0ICR7bmV3IERhdGUoKS50b0xvY2FsZVRpbWVTdHJpbmcoKX1gfSksciYmZSYmci5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIixvPT57ZS50ZXh0Q29udGVudD1gQ2xpY2tlZDogU2Vjb25kYXJ5IGJ1dHRvbiB3aXRoIGRhdGE6ICR7by5kZXRhaWwuZGF0YX1gfSksaSYmZSYmaS5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIixhc3luYygpPT57ZS50ZXh0Q29udGVudD0iUHJvY2Vzc2luZy4uLiIsYXdhaXQgRXQucGx1Z2lucy5zbWFydGRlbGF5LmRlbGF5Rm9yKDJlMyksZS50ZXh0Q29udGVudD0iQWN0aW9uIGNvbXBsZXRlZCEifSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjYuIEV2ZW50IEhhbmRsaW5nIn0gLnN1YnRpdGxlPSR7IkludGVyYWN0aXZlIGV4YW1wbGVzIHdpdGggY2xpY2sgZXZlbnQgaGFuZGxpbmcifT4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGRlZXMtYnV0dG9uPkNsaWNrIE1lPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJzZWNvbmRhcnkiIC5ldmVudERldGFpbERhdGE9JHsiY3VzdG9tLWRhdGEtMTIzIn0+CiAgICAgICAgICAgIENsaWNrIHdpdGggRGF0YQogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJkZXN0cnVjdGl2ZSI+QXN5bmMgQWN0aW9uPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGlkPSJjbGljay1vdXRwdXQiIGNsYXNzPSJkZW1vLW91dHB1dCI+CiAgICAgICAgICA8ZW0+Q2xpY2sgYSBidXR0b24gdG8gc2VlIHRoZSByZXN1bHQuLi48L2VtPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpLHQ9YS5xdWVyeVNlbGVjdG9yKCIjZm9ybS1vdXRwdXQiKTtlJiZ0JiZlLmFkZEV2ZW50TGlzdGVuZXIoImZvcm1EYXRhIixvPT57dC5pbm5lckhUTUw9IjxzdHJvbmc+Rm9ybSBzdWJtaXR0ZWQgd2l0aCBkYXRhOjwvc3Ryb25nPjxicj4iK0pTT04uc3RyaW5naWZ5KG8uZGV0YWlsLmRhdGEsbnVsbCwyKX0pO2xldCByPWEucXVlcnlTZWxlY3RvcignZGVlcy1idXR0b25bdHlwZT0ic2Vjb25kYXJ5Il0nKSxpPWEucXVlcnlTZWxlY3RvcignZGVlcy1idXR0b25bdHlwZT0iZ2hvc3QiXScpO3ImJnIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2tlZCIsKCk9Pntjb25zb2xlLmxvZygiU2F2ZSBEcmFmdCBjbGlja2VkIil9KSxpJiZpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrZWQiLCgpPT57Y29uc29sZS5sb2coIkNhbmNlbCBjbGlja2VkIil9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNy4gRm9ybSBJbnRlZ3JhdGlvbiJ9IC5zdWJ0aXRsZT0keyJCdXR0b25zIHdvcmtpbmcgd2l0aGluIGZvcm1zIHdpdGggYXV0b21hdGljIHNwYWNpbmcifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBsYWJlbD0iTmFtZSIga2V5PSJuYW1lIiByZXF1aXJlZD48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgbGFiZWw9IkVtYWlsIiBrZXk9ImVtYWlsIiB0eXBlPSJlbWFpbCIgcmVxdWlyZWQ+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGxhYmVsPSJNZXNzYWdlIiBrZXk9Im1lc3NhZ2UiIGlzTXVsdGlsaW5lPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic2Vjb25kYXJ5Ij5TYXZlIERyYWZ0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJnaG9zdCI+Q2FuY2VsPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PlN1Ym1pdCBGb3JtPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICAgIAogICAgICAgIDxkaXYgaWQ9ImZvcm0tb3V0cHV0IiBjbGFzcz0iZGVtby1vdXRwdXQiIHN0eWxlPSJ3aGl0ZS1zcGFjZTogcHJlLXdyYXA7Ij4KICAgICAgICAgIDxlbT5TdWJtaXQgdGhlIGZvcm0gdG8gc2VlIHRoZSBkYXRhLi4uPC9lbT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57YS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2godD0+e2xldCByPXQuZ2V0QXR0cmlidXRlKCJ0eXBlIik7ciYmY29uc29sZS5sb2coYExlZ2FjeSB0eXBlICIke3J9IiBpcyBzdXBwb3J0ZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlgKX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI4LiBCYWNrd2FyZCBDb21wYXRpYmlsaXR5In0gLnN1YnRpdGxlPSR7Ik9sZCBidXR0b24gdHlwZXMgYXJlIGF1dG9tYXRpY2FsbHkgbWFwcGVkIHRvIG5ldyB2YXJpYW50cyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ibm9ybWFsIj5Ob3JtYWwg4oaSIERlZmF1bHQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImhpZ2hsaWdodGVkIj5IaWdobGlnaHRlZCDihpIgRGVzdHJ1Y3RpdmU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRpc2NyZWV0Ij5EaXNjcmVldCDihpIgT3V0bGluZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iYmlnIj5CaWcg4oaSIExhcmdlIFNpemU8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tdG9wOiAxNnB4OyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OyI+CiAgICAgICAgICBUaGVzZSBsZWdhY3kgdHlwZSB2YWx1ZXMgYXJlIG1haW50YWluZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgYnV0IHdlIHJlY29tbWVuZCB1c2luZyB0aGUgbmV3IHZhcmlhbnQgc3lzdGVtLgogICAgICAgIDwvcD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yQWxsKCIudmVydGljYWwtZ3JvdXAiKVswXSx0PWEucXVlcnlTZWxlY3RvckFsbCgiLnZlcnRpY2FsLWdyb3VwIilbMV07ZSYmZS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2goKGksbyk9PntpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrZWQiLCgpPT57bGV0IG49WyJTYXZlIENoYW5nZXMiLCJEaXNjYXJkIiwiSGVscCJdW29dO2NvbnNvbGUubG9nKGBBY3Rpb24gZ3JvdXA6ICR7bn0gY2xpY2tlZGApfSl9KSx0JiZ0LnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaCgoaSxvKT0+e2kuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2tlZCIsKCk9PntsZXQgbj1bIkRlbGV0ZSBBY2NvdW50IiwiQXJjaGl2ZSBEYXRhIiwiTm90IEF2YWlsYWJsZSJdW29dO28hPT0yJiZjb25zb2xlLmxvZyhgRGFuZ2VyIHpvbmU6ICR7bn0gY2xpY2tlZGApfSl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiOS4gQWR2YW5jZWQgRXhhbXBsZXMifSAuc3VidGl0bGU9JHsiQ29tcGxleCBidXR0b24gY29uZmlndXJhdGlvbnMgYW5kIHJlYWwtd29ybGQgdXNlIGNhc2VzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1ncm91cCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2ZXJ0aWNhbC1ncm91cCI+CiAgICAgICAgICAgIDxoNCBzdHlsZT0ibWFyZ2luOiAwIDAgOHB4IDA7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDUwMDsiPkFjdGlvbiBHcm91cDwvaDQ+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJkZWZhdWx0IiBzaXplPSJzbSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6U2F2ZSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgU2F2ZSBDaGFuZ2VzCiAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJzZWNvbmRhcnkiIHNpemU9InNtIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpVbmRvMiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgRGlzY2FyZAogICAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZ2hvc3QiIHNpemU9InNtIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpIZWxwQ2lyY2xlIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICBIZWxwCiAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2ZXJ0aWNhbC1ncm91cCI+CiAgICAgICAgICAgIDxoNCBzdHlsZT0ibWFyZ2luOiAwIDAgOHB4IDA7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDUwMDsiPkRhbmdlciBab25lPC9oND4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRlc3RydWN0aXZlIiBzaXplPSJzbSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJmYTp0cmFzaCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgRGVsZXRlIEFjY291bnQKICAgICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Im91dGxpbmUiIHNpemU9InNtIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpBcmNoaXZlIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICBBcmNoaXZlIERhdGEKICAgICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Imdob3N0IiBzaXplPSJzbSIgZGlzYWJsZWQ+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6QmFuIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICBOb3QgQXZhaWxhYmxlCiAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAyNHB4OyI+CiAgICAgICAgICA8aDQgc3R5bGU9Im1hcmdpbjogMCAwIDhweCAwOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7Ij5Db2RlIEV4YW1wbGU6PC9oND4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtc25pcHBldCI+CiAgICAgICAgICAgICZsdDtkZWVzLWJ1dHRvbiB0eXBlPSJkZWZhdWx0IiBzaXplPSJzbSIgaWNvbj0ibHVjaWRlOlNhdmUiIEBjbGlja2VkPSJcJHtoYW5kbGVDbGlja30iJmd0Ozxicj4KICAgICAgICAgICAgJm5ic3A7Jm5ic3A7U2F2ZSBDaGFuZ2VzPGJyPgogICAgICAgICAgICAmbHQ7L2RlZXMtYnV0dG9uJmd0OwogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBIMSx0cyxFbGEsJGY9ZigoKT0+e2xlKCk7ZWEoKTtBbGEoKTtRZSgpO0gxPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSx0cz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sRWxhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1idXR0b24iKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXTt2YXIgaGU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNCdXR0b24iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgUj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHtyZWZsZWN0OiEwLGhhc0NoYW5nZWQoKXtyZXR1cm4hMH19KV0sZD1bJCgpXSx1PVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSx4PVskKHt0eXBlOkJvb2xlYW59KV0seT1bJCh7dHlwZTpTdHJpbmd9KV0sTj1bJCh7dHlwZTpTdHJpbmd9KV0sTz1bJCh7dHlwZTpTdHJpbmd9KV0sQj1bJCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITB9KV0sUD1bJCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSxXPVskKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLEgxKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4idGV4dCJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnRleHQsImdldCIpLHNldDpzKChVLG1lKT0+e1UudGV4dD1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxuLGwpLEgxKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXZlbnREZXRhaWxEYXRhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJldmVudERldGFpbERhdGEiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5ldmVudERldGFpbERhdGEsImdldCIpLHNldDpzKChVLG1lKT0+e1UuZXZlbnREZXRhaWxEYXRhPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGMscCksSDEodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXNhYmxlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4iZGlzYWJsZWQiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5kaXNhYmxlZCwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5kaXNhYmxlZD1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxtLHYpLEgxKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNIaWRkZW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+ImlzSGlkZGVuImluIFUsImhhcyIpLGdldDpzKFU9PlUuaXNIaWRkZW4sImdldCIpLHNldDpzKChVLG1lKT0+e1UuaXNIaWRkZW49bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sYixnKSxIMSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InR5cGUiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS50eXBlLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnR5cGU9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sayxDKSxIMSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InNpemUiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5zaXplLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnNpemU9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sXyx6KSxIMSh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0YXR1cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4ic3RhdHVzImluIFUsImhhcyIpLGdldDpzKFU9PlUuc3RhdHVzLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnN0YXR1cz1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxULEUpLEgxKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5zaWRlRm9ybSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4iaW5zaWRlRm9ybSJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLmluc2lkZUZvcm0sImdldCIpLHNldDpzKChVLG1lKT0+e1UuaW5zaWRlRm9ybT1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxNLFMpLEgxKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaWNvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4iaWNvbiJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLmljb24sImdldCIpLHNldDpzKChVLG1lKT0+e1UuaWNvbj1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxBLEYpLEgxKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaWNvblBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJpY29uUG9zaXRpb24iaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5pY29uUG9zaXRpb24sImdldCIpLHNldDpzKChVLG1lKT0+e1UuaWNvblBvc2l0aW9uPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGosRyksSDEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Un0sbnVsbCx0KSxoZT1yPWUudmFsdWUsUiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpSfSl9c3RhdGljIGRlbW89RGxhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQnV0dG9uIl07I2U9dHModGhpcyxuLHZvaWQgMCk7Z2V0IHRleHQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdGV4dChSKXt0aGlzLiNlPVJ9I3Q9KHRzKHRoaXMsbCksdHModGhpcyxjLHZvaWQgMCkpO2dldCBldmVudERldGFpbERhdGEoKXtyZXR1cm4gdGhpcy4jdH1zZXQgZXZlbnREZXRhaWxEYXRhKFIpe3RoaXMuI3Q9Un0jYT0odHModGhpcyxwKSx0cyh0aGlzLG0sITEpKTtnZXQgZGlzYWJsZWQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZGlzYWJsZWQoUil7dGhpcy4jYT1SfSNyPSh0cyh0aGlzLHYpLHRzKHRoaXMsYiwhMSkpO2dldCBpc0hpZGRlbigpe3JldHVybiB0aGlzLiNyfXNldCBpc0hpZGRlbihSKXt0aGlzLiNyPVJ9I3M9KHRzKHRoaXMsZyksdHModGhpcyxrLCJkZWZhdWx0IikpO2dldCB0eXBlKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHR5cGUoUil7dGhpcy4jcz1SfSNpPSh0cyh0aGlzLEMpLHRzKHRoaXMsXywiZGVmYXVsdCIpKTtnZXQgc2l6ZSgpe3JldHVybiB0aGlzLiNpfXNldCBzaXplKFIpe3RoaXMuI2k9Un0jbz0odHModGhpcyx6KSx0cyh0aGlzLFQsIm5vcm1hbCIpKTtnZXQgc3RhdHVzKCl7cmV0dXJuIHRoaXMuI299c2V0IHN0YXR1cyhSKXt0aGlzLiNvPVJ9I249KHRzKHRoaXMsRSksdHModGhpcyxNLCExKSk7Z2V0IGluc2lkZUZvcm0oKXtyZXR1cm4gdGhpcy4jbn1zZXQgaW5zaWRlRm9ybShSKXt0aGlzLiNuPVJ9I2w9KHRzKHRoaXMsUyksdHModGhpcyxBLHZvaWQgMCkpO2dldCBpY29uKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGljb24oUil7dGhpcy4jbD1SfSNjPSh0cyh0aGlzLEYpLHRzKHRoaXMsaiwibGVmdCIpKTtnZXQgaWNvblBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGljb25Qb3NpdGlvbihSKXt0aGlzLiNjPVJ9Y29uc3RydWN0b3IoKXtzdXBlcigpLHRzKHRoaXMsRyl9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLCF0aGlzLmluc2lkZUZvcm0mJnRoaXMuY2xvc2VzdCgiZGVlcy1mb3JtIikmJih0aGlzLmluc2lkZUZvcm09ITApfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgIH0KICAgICAgOmhvc3QoW2hpZGRlbl0pIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAvKiBGb3JtIHNwYWNpbmcgc3R5bGVzICovCiAgICAgIDpob3N0KFtpbnNpZGUtZm9ybV0pIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbaW5zaWRlLWZvcm1dOmxhc3QtY2hpbGQpIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CiAgICAgIAogICAgICBkZWVzLWZvcm1baG9yaXpvbnRhbC1sYXlvdXRdIDpob3N0KFtpbnNpZGUtZm9ybV0pIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtZm9ybVtob3Jpem9udGFsLWxheW91dF0gOmhvc3QoW2luc2lkZS1mb3JtXTpsYXN0LWNoaWxkKSB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOwogICAgICB9CgogICAgICAuYnV0dG9uIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAvKiBTaXplIHZhcmlhbnRzICovCiAgICAgIC5idXR0b24uc2l6ZS1kZWZhdWx0IHsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5zaXplLXNtIHsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5zaXplLWxnIHsKICAgICAgICBoZWlnaHQ6IDQ0cHg7CiAgICAgICAgcGFkZGluZzogMCAyNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5zaXplLWljb24gewogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICAvKiBEZWZhdWx0IHZhcmlhbnQgKi8KICAgICAgLmJ1dHRvbi5kZWZhdWx0IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgcmdiKDAgMCAwIC8gMC4wNSk7CiAgICAgIH0KCiAgICAgIC5idXR0b24uZGVmYXVsdDpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTAuMiUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA4NSUpIiwiaHNsKDIxNSAyMC4yJSAyMCUpIil9OwogICAgICB9CgogICAgICAuYnV0dG9uLmRlZmF1bHQ6YWN0aXZlOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTUgMjAuMiUgOSUpIil9OwogICAgICB9CgogICAgICAvKiBEZXN0cnVjdGl2ZSB2YXJpYW50ICovCiAgICAgIC5idXR0b24uZGVzdHJ1Y3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6IGhzbCgwIDg0LjIlIDYwLjIlKTsKICAgICAgICBjb2xvcjogaHNsKDAgMCUgOTglKTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5kZXN0cnVjdGl2ZTpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDAgODQuMiUgNTYuMiUpOwogICAgICB9CgogICAgICAuYnV0dG9uLmRlc3RydWN0aXZlOmFjdGl2ZTpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDAgODQuMiUgNTIuMiUpOwogICAgICB9CgogICAgICAvKiBPdXRsaW5lIHZhcmlhbnQgKi8KICAgICAgLmJ1dHRvbi5vdXRsaW5lIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAyMS44JSkiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24ub3V0bGluZTpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA4NSUpIiwiaHNsKDIxNSAyMC4yJSAyNi44JSkiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24ub3V0bGluZTphY3RpdmU6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAxMy44JSkiKX07CiAgICAgIH0KCiAgICAgIC8qIFNlY29uZGFyeSB2YXJpYW50ICovCiAgICAgIC5idXR0b24uc2Vjb25kYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXI6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAxMy44JSkiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24uc2Vjb25kYXJ5OmFjdGl2ZTpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA4NSUpIiwiaHNsKDIxNSAyMC4yJSAxMS44JSkiKX07CiAgICAgIH0KCiAgICAgIC8qIEdob3N0IHZhcmlhbnQgKi8KICAgICAgLmJ1dHRvbi5naG9zdCB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5naG9zdDpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICB9CgogICAgICAuYnV0dG9uLmdob3N0OmFjdGl2ZTpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE1IDIwLjIlIDEzLjglKSIpfTsKICAgICAgfQoKICAgICAgLyogTGluayB2YXJpYW50ICovCiAgICAgIC5idXR0b24ubGluayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5saW5rOmhvdmVyOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGN1cnJlbnRDb2xvcjsKICAgICAgfQoKICAgICAgLyogU3RhdHVzIHN0YXRlcyAqLwogICAgICAuYnV0dG9uLnBlbmRpbmcsCiAgICAgIC5idXR0b24uc3VjY2VzcywKICAgICAgLmJ1dHRvbi5lcnJvciB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNnB4OyAvKiBTcGFjZSBmb3Igc3Bpbm5lciAqLwogICAgICB9CiAgICAgIAogICAgICAuYnV0dG9uLnNpemUtc20ucGVuZGluZywKICAgICAgLmJ1dHRvbi5zaXplLXNtLnN1Y2Nlc3MsCiAgICAgIC5idXR0b24uc2l6ZS1zbS5lcnJvciB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4OwogICAgICB9CiAgICAgIAogICAgICAuYnV0dG9uLnNpemUtbGcucGVuZGluZywKICAgICAgLmJ1dHRvbi5zaXplLWxnLnN1Y2Nlc3MsCiAgICAgIC5idXR0b24uc2l6ZS1sZy5lcnJvciB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiA0NHB4OwogICAgICB9CgogICAgICAuYnV0dG9uLnBlbmRpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5zdWNjZXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSAvIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5idXR0b24uZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA4NC4yJSA2MC4yJSkiLCJoc2woMCA2Mi44JSA3MC42JSAvIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDYyLjglIDcwLjYlKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLyogRGlzYWJsZWQgc3RhdGUgKi8KICAgICAgLmJ1dHRvbi5kaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIEhpZGRlbiBzdGF0ZSAqLwogICAgICAuYnV0dG9uLmhpZGRlbiB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogRm9jdXMgc3RhdGUgKi8KICAgICAgLmJ1dHRvbjpmb2N1cy12aXNpYmxlIHsKICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7CiAgICAgIH0KCiAgICAgIC8qIExvYWRpbmcgc3Bpbm5lciAqLwogICAgICBkZWVzLXNwaW5uZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAxMHB4OwogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi5zaXplLXNtIGRlZXMtc3Bpbm5lciB7CiAgICAgICAgbGVmdDogOHB4OwogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi5zaXplLWxnIGRlZXMtc3Bpbm5lciB7CiAgICAgICAgbGVmdDogMTRweDsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEljb24gc2l6aW5nIHdpdGhpbiBidXR0b25zICovCiAgICAgIC5idXR0b24gZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5idXR0b24uc2l6ZS1zbSBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi5zaXplLWxnIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICB9CgogICAgICAvKiBUZXh0IGFsaWdubWVudCAqLwogICAgICAudGV4dGJveCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgYF07ZXh0cmFjdExpZ2h0RG9tKCl7bGV0IFI9dGhpcy5xdWVyeVNlbGVjdG9yKCJkZWVzLWljb24iKSxVPUFycmF5LmZyb20odGhpcy5jaGlsZE5vZGVzKS5maWx0ZXIobWU9Pm1lLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpLm1hcChtZT0+bWUudGV4dENvbnRlbnQ/LnRyaW0oKSkuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiAiKTtpZihVJiYhdGhpcy50ZXh0JiYodGhpcy50ZXh0PVUpLFIpe2xldCBtZT1SLmljb258fFIuZ2V0QXR0cmlidXRlKCJpY29uIil8fChSLmljb25GQT9gZmE6JHtSLmljb25GQX1gOm51bGwpO2lmKG1lKXtsZXQgST1BcnJheS5mcm9tKHRoaXMuY2hpbGROb2RlcykscT1JLmluZGV4T2YoUiksY2U9SS5maWx0ZXIodWU9PnVlLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUmJnVlLnRleHRDb250ZW50Py50cmltKCkpO2lmKGNlLmxlbmd0aD4wKXtsZXQgdWU9SS5pbmRleE9mKGNlWzBdKTt0aGlzLmljb25Qb3NpdGlvbj1xPHVlPyJsZWZ0IjoicmlnaHQifXRoaXMuaWNvbj1tZX1SLnJlbW92ZSgpfXRoaXMuaW5uZXJIVE1MPSIifXJlbmRlcigpe2xldCBVPXtub3JtYWw6ImRlZmF1bHQiLGhpZ2hsaWdodGVkOiJkZXN0cnVjdGl2ZSIsZGlzY3JlZXQ6Im91dGxpbmUiLGJpZzoiZGVmYXVsdCJ9W3RoaXMudHlwZV18fHRoaXMudHlwZSxtZT10aGlzLnR5cGU9PT0iYmlnIj8ibGciOnRoaXMuc2l6ZSxJPXRoaXMuaWNvblBvc2l0aW9uPT09ImxlZnQiJiZ0aGlzLmljb24/d2A8ZGVlcy1pY29uIC5pY29uPSR7dGhpcy5pY29ufT48L2RlZXMtaWNvbj5gOiIiLHE9dGhpcy5pY29uUG9zaXRpb249PT0icmlnaHQiJiZ0aGlzLmljb24/d2A8ZGVlcy1pY29uIC5pY29uPSR7dGhpcy5pY29ufT48L2RlZXMtaWNvbj5gOiIiLGNlPW1lPT09Imljb24iJiZ0aGlzLmljb247cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0iYnV0dG9uICR7dGhpcy5pc0hpZGRlbj8iaGlkZGVuIjoiIn0gJHtVfSBzaXplLSR7bWV9ICR7dGhpcy5zdGF0dXN9ICR7dGhpcy5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSIKICAgICAgICBAY2xpY2s9IiR7dGhpcy5kaXNwYXRjaENsaWNrfSIKICAgICAgPgogICAgICAgICR7dGhpcy5zdGF0dXM9PT0ibm9ybWFsIj93YGA6d2AKICAgICAgICAgIDxkZWVzLXNwaW5uZXIKICAgICAgICAgICAgLmJudz0keyEwfQogICAgICAgICAgICBzdGF0dXM9IiR7dGhpcy5zdGF0dXN9IgogICAgICAgICAgICBzaXplPSIke21lPT09InNtIj8xNDptZT09PSJsZyI/MTg6MTZ9IgogICAgICAgICAgPjwvZGVlcy1zcGlubmVyPgogICAgICAgIGB9CiAgICAgICAgJHtJfQogICAgICAgICR7Y2U/IiI6d2A8ZGl2IGNsYXNzPSJ0ZXh0Ym94Ij4ke3RoaXMudGV4dHx8IkJ1dHRvbiJ9PC9kaXY+YH0KICAgICAgICAke3F9CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBkaXNwYXRjaENsaWNrKCl7dGhpcy5kaXNhYmxlZHx8dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2xpY2tlZCIse2RldGFpbDp7ZGF0YTp0aGlzLmV2ZW50RGV0YWlsRGF0YX0sYnViYmxlczohMH0pKX1hc3luYyBmaXJzdFVwZGF0ZWQoKXt0aGlzLmV4dHJhY3RMaWdodERvbSgpfXN0YXRpY3t0cyhyLHQpfX07cmV0dXJuIGhlPXJ9KSgpfSk7dmFyIEQ0LEppLFBsYSxHc2U9ZigoKT0+e2ZzYSgpO1ZzKCk7ZnMoKTtsZSgpO3ZhKCk7WnIoKTskZigpO1FlKCk7WHIoKTtEND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sSmk9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFBsYT0oKCk9PntsZXQgYT1bR0ooKSxpZSgiZGVlcy1zdGF0c2dyaWQiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXTt2YXIgQj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1N0YXRzR3JpZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBNPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpOdW1iZXJ9KV0sdT1bJCh7dHlwZTpOdW1iZXJ9KV0seD1bJCh7dHlwZTpBcnJheX0pXSx5PVtLKCldLE49W0soKV0sTz1bSygpXSxENCh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRpbGVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJ0aWxlcyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnRpbGVzLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MudGlsZXM9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxuLGwpLEQ0KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWluVGlsZVdpZHRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJtaW5UaWxlV2lkdGgiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5taW5UaWxlV2lkdGgsImdldCIpLHNldDpzKChTLFApPT57Uy5taW5UaWxlV2lkdGg9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxjLHApLEQ0KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZ2FwIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJnYXAiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5nYXAsImdldCIpLHNldDpzKChTLFApPT57Uy5nYXA9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxtLHYpLEQ0KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZ3JpZEFjdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImdyaWRBY3Rpb25zImluIFMsImhhcyIpLGdldDpzKFM9PlMuZ3JpZEFjdGlvbnMsImdldCIpLHNldDpzKChTLFApPT57Uy5ncmlkQWN0aW9ucz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LGIsZyksRDQodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZXh0TWVudVZpc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImNvbnRleHRNZW51VmlzaWJsZSJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmNvbnRleHRNZW51VmlzaWJsZSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmNvbnRleHRNZW51VmlzaWJsZT1QfSwic2V0Iil9LG1ldGFkYXRhOk19LGssQyksRDQodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZXh0TWVudVBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJjb250ZXh0TWVudVBvc2l0aW9uImluIFMsImhhcyIpLGdldDpzKFM9PlMuY29udGV4dE1lbnVQb3NpdGlvbiwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmNvbnRleHRNZW51UG9zaXRpb249UH0sInNldCIpfSxtZXRhZGF0YTpNfSxfLHopLEQ0KHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGV4dE1lbnVBY3Rpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJjb250ZXh0TWVudUFjdGlvbnMiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5jb250ZXh0TWVudUFjdGlvbnMsImdldCIpLHNldDpzKChTLFApPT57Uy5jb250ZXh0TWVudUFjdGlvbnM9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxULEUpLEQ0KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOk19LG51bGwsdCksQj1yPWUudmFsdWUsTSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpNfSl9c3RhdGljIGRlbW89cHNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGF0YSBWaWV3Il07I2U9SmkodGhpcyxuLFtdKTtnZXQgdGlsZXMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdGlsZXMoTSl7dGhpcy4jZT1NfSN0PShKaSh0aGlzLGwpLEppKHRoaXMsYywyNTApKTtnZXQgbWluVGlsZVdpZHRoKCl7cmV0dXJuIHRoaXMuI3R9c2V0IG1pblRpbGVXaWR0aChNKXt0aGlzLiN0PU19I2E9KEppKHRoaXMscCksSmkodGhpcyxtLDE2KSk7Z2V0IGdhcCgpe3JldHVybiB0aGlzLiNhfXNldCBnYXAoTSl7dGhpcy4jYT1NfSNyPShKaSh0aGlzLHYpLEppKHRoaXMsYixbXSkpO2dldCBncmlkQWN0aW9ucygpe3JldHVybiB0aGlzLiNyfXNldCBncmlkQWN0aW9ucyhNKXt0aGlzLiNyPU19I3M9KEppKHRoaXMsZyksSmkodGhpcyxrLCExKSk7Z2V0IGNvbnRleHRNZW51VmlzaWJsZSgpe3JldHVybiB0aGlzLiNzfXNldCBjb250ZXh0TWVudVZpc2libGUoTSl7dGhpcy4jcz1NfSNpPShKaSh0aGlzLEMpLEppKHRoaXMsXyx7eDowLHk6MH0pKTtnZXQgY29udGV4dE1lbnVQb3NpdGlvbigpe3JldHVybiB0aGlzLiNpfXNldCBjb250ZXh0TWVudVBvc2l0aW9uKE0pe3RoaXMuI2k9TX0jbz0oSmkodGhpcyx6KSxKaSh0aGlzLFQsW10pKTtnZXQgY29udGV4dE1lbnVBY3Rpb25zKCl7cmV0dXJuIHRoaXMuI299c2V0IGNvbnRleHRNZW51QWN0aW9ucyhNKXt0aGlzLiNvPU19c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgIH0KCiAgICAgIC8qIENTUyBWYXJpYWJsZXMgZm9yIGNvbnNpc3RlbnQgc3BhY2luZyBhbmQgc2l6aW5nICovCiAgICAgIDpob3N0IHsKICAgICAgICAtLWdyaWQtZ2FwOiAxMnB4OwogICAgICAgIC0tdGlsZS1wYWRkaW5nOiAxNnB4OwogICAgICAgIC0taGVhZGVyLXNwYWNpbmc6IDEycHg7CiAgICAgICAgLS1jb250ZW50LW1pbi1oZWlnaHQ6IDQwcHg7CiAgICAgICAgLS12YWx1ZS1mb250LXNpemU6IDI2cHg7CiAgICAgICAgLS11bml0LWZvbnQtc2l6ZTogMTRweDsKICAgICAgICAtLWxhYmVsLWZvbnQtc2l6ZTogMTJweDsKICAgICAgICAtLXRpdGxlLWZvbnQtc2l6ZTogMTNweDsKICAgICAgICAtLWRlc2NyaXB0aW9uLXNwYWNpbmc6IDhweDsKICAgICAgICAtLWJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAtLXRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzOwogICAgICB9CgogICAgICAvKiBHcmlkIExheW91dCAqLwogICAgICAuZ3JpZC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1ncmlkLWdhcCkgKiAxLjUpOwogICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7CiAgICAgIH0KCiAgICAgIC5ncmlkLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICB9CgogICAgICAuZ3JpZC1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAuZ3JpZC1hY3Rpb25zIGRlZXMtYnV0dG9uIHsKICAgICAgICBmb250LXNpemU6IHZhcigtLWxhYmVsLWZvbnQtc2l6ZSk7CiAgICAgIH0KCiAgICAgIC5zdGF0cy1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoJHtvYSgyNTApfXB4LCAxZnIpKTsKICAgICAgICBnYXA6ICR7b2EoMTYpfXB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAvKiBUaWxlIEJhc2UgU3R5bGVzIOKAlCBmcmFtZSBwcm92aWRlZCBieSBkZWVzLXRpbGUsIGhvdmVyIHZpYSA6OnBhcnQgKi8KICAgICAgLnN0YXRzLXRpbGU6OnBhcnQob3V0ZXIpIHsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbikgZWFzZTsKICAgICAgfQoKICAgICAgLnN0YXRzLXRpbGU6aG92ZXI6OnBhcnQob3V0ZXIpIHsKICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CiAgICAgIH0KCiAgICAgIC5zdGF0cy10aWxlLmNsaWNrYWJsZSB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAuc3RhdHMtdGlsZS5jbGlja2FibGU6aG92ZXI6OnBhcnQob3V0ZXIpIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7CiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNnB4ICR7aC5iZFRoZW1lKCJyZ2JhKDAsMCwwLDAuMDMpIiwicmdiYSgwLDAsMCwwLjE1KSIpfTsKICAgICAgfQoKICAgICAgLyogVGlsZSBIZWFkZXIg4oCUIHNsb3R0ZWQgaW50byBkZWVzLXRpbGUgaGVhZGVyICovCiAgICAgIC50aWxlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAudGlsZS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS10aXRsZS1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICAgIH0KCiAgICAgIC50aWxlLWljb24gewogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC8qIFRpbGUgQ29udGVudCDigJQgc2xvdHRlZCBpbnRvIGRlZXMtdGlsZSBjb250ZW50IGFyZWEgKi8KICAgICAgLnRpbGUtY29udGVudCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgbWluLWhlaWdodDogdmFyKC0tY29udGVudC1taW4taGVpZ2h0KTsKICAgICAgfQoKICAgICAgLnRpbGUtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdmFsdWUtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgIH0KCiAgICAgIC50aWxlLXVuaXQgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdW5pdC1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC50aWxlLWRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IHZhcigtLWxhYmVsLWZvbnQtc2l6ZSk7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBsaW5lLWhlaWdodDogMjRweDsKICAgICAgfQoKICAgICAgLyogR2F1Z2UgU3R5bGVzICovCiAgICAgIC5nYXVnZS13cmFwcGVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5nYXVnZS1jb250YWluZXIgewogICAgICAgIHdpZHRoOiAxMjBweDsKICAgICAgICBoZWlnaHQ6IDcwcHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1hcmdpbi10b3A6IC04cHg7CiAgICAgIH0KCiAgICAgIC5nYXVnZS1zdmcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmdhdWdlLWJhY2tncm91bmQgewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgICAgc3Ryb2tlOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBzdHJva2Utd2lkdGg6IDY7CiAgICAgIH0KCiAgICAgIC5nYXVnZS1maWxsIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICAgIHN0cm9rZS13aWR0aDogNjsKICAgICAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7CiAgICAgICAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgMC42cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOwogICAgICB9CgogICAgICAuZ2F1Z2UtdGV4dCB7CiAgICAgICAgZmlsbDogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgICBmb250LXNpemU6IHZhcigtLXZhbHVlLWZvbnQtc2l6ZSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LWFuY2hvcjogbWlkZGxlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTsKICAgICAgfQogICAgICAKICAgICAgLmdhdWdlLXVuaXQgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdW5pdC1mb250LXNpemUpOwogICAgICAgIGZpbGw6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgIH0KCiAgICAgIC8qIFBlcmNlbnRhZ2UgU3R5bGVzICovCiAgICAgIC5wZXJjZW50YWdlLXdyYXBwZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLnBlcmNlbnRhZ2UtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdmFsdWUtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAucGVyY2VudGFnZS1iYXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogNnB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIG1hcmdpbi10b3A6IGF1dG87CiAgICAgIH0KCiAgICAgIC5wZXJjZW50YWdlLWZpbGwgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KCiAgICAgIC8qIE11bHRpIFBlcmNlbnRhZ2UgU3R5bGVzICovCiAgICAgIC5tdWx0aS1wZXJjZW50YWdlLXdyYXBwZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAubXVsdGktcGVyY2VudGFnZS1pdGVtcyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBtYXJnaW4tdG9wOiBhdXRvOwogICAgICB9CgogICAgICAubXVsdGktcGVyY2VudGFnZS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5tdWx0aS1wZXJjZW50YWdlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICB9CgogICAgICAubXVsdGktcGVyY2VudGFnZS1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC5tdWx0aS1wZXJjZW50YWdlLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICB9CgogICAgICAubXVsdGktcGVyY2VudGFnZS1iYXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAubXVsdGktcGVyY2VudGFnZS1maWxsIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICB9CgogICAgICAvKiBDUFUgQ29yZXMgU3R5bGVzICovCiAgICAgIC5jcHUtY29yZXMtd3JhcHBlciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLWhlaWdodDogODBweDsKICAgICAgfQoKICAgICAgLmNwdS1jb3Jlcy1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZXMtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdmFsdWUtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZXMtdW5pdCB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS11bml0LWZvbnQtc2l6ZSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLmNwdS1jb3Jlcy1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1sYWJlbC1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZXMtYmFycyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7CiAgICAgICAgZ2FwOiAzcHg7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4taGVpZ2h0OiA2MHB4OwogICAgICAgIHBhZGRpbmc6IDRweCAwOwogICAgICB9CgogICAgICAuY3B1LWNvcmVzLWJhcnMuY2VudGVyZWQgewogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAuY3B1LWNvcmUtYmFyLWNvbnRhaW5lciB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDZweDsKICAgICAgICBtYXgtd2lkdGg6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuY3B1LWNvcmUtYmFyLXdyYXBwZXIgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZS1iYXItZmlsbCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2U7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4IDJweCAwIDA7CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZS1iYXItZmlsbC5sb3cgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYWNjZW50LXN1Y2Nlc3MpOwogICAgICB9CgogICAgICAuY3B1LWNvcmUtYmFyLWZpbGwubWVkaXVtIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWFjY2VudC13YXJuaW5nKTsKICAgICAgfQoKICAgICAgLmNwdS1jb3JlLWJhci1maWxsLmhpZ2ggewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYWNjZW50LWVycm9yKTsKICAgICAgfQoKICAgICAgLmNwdS1jb3JlLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDlweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAvKiBQYXJ0aXRpb24gU3R5bGVzICovCiAgICAgIC5wYXJ0aXRpb24td3JhcHBlciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24taGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1wZXJjZW50YWdlIHsKICAgICAgICBmb250LXNpemU6IHZhcigtLXZhbHVlLWZvbnQtc2l6ZSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOwogICAgICB9CgogICAgICAucGFydGl0aW9uLWJhciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24tYmFyLWZpbGwgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24tYmFyLWZpbGwud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1hY2NlbnQtd2FybmluZyk7CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24tYmFyLWZpbGwuY3JpdGljYWwgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYWNjZW50LWVycm9yKTsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1zdGF0cyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tdG9wOiBhdXRvOwogICAgICB9CgogICAgICAucGFydGl0aW9uLXN0YXQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1zdGF0LWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24tc3RhdC12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1tZXRhIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICB9CgogICAgICAucGFydGl0aW9uLWZpbGVzeXN0ZW0gewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1tb3VudHBvaW50IHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgIH0KCiAgICAgIC8qIERpc2sgU3R5bGVzICovCiAgICAgIC5kaXNrLXdyYXBwZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuZGlzay1jYXBhY2l0eSB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS12YWx1ZS1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBsaW5lLWhlaWdodDogMS4xOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTsKICAgICAgfQoKICAgICAgLmRpc2stbW9kZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgIH0KCiAgICAgIC5kaXNrLXR5cGUtYmFkZ2UgewogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICAuZGlzay1tZXRyaWNzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWFyZ2luLXRvcDogYXV0bzsKICAgICAgfQoKICAgICAgLmRpc2staW9wcyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmRpc2staW9wcy1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmRpc2staW9wcy1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgfQoKICAgICAgLmRpc2staW9wcy12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgfQoKICAgICAgLmRpc2staGVhbHRoIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5kaXNrLWhlYWx0aC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgfQoKICAgICAgLmRpc2staGVhbHRoLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICB9CgogICAgICAuZGlzay1oZWFsdGgtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgIH0KCiAgICAgIC5kaXNrLWhlYWx0aC1iYXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuZGlzay1oZWFsdGgtZmlsbCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgIH0KCiAgICAgIC5kaXNrLWhlYWx0aC1maWxsLmdvb2QgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSIpfTsKICAgICAgfQoKICAgICAgLmRpc2staGVhbHRoLWZpbGwud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCg0NS40IDkzLjQlIDQ3LjUlKSIsImhzbCg0NS40IDkzLjQlIDQ3LjUlKSIpfTsKICAgICAgfQoKICAgICAgLmRpc2staGVhbHRoLWZpbGwuY3JpdGljYWwgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA4NC4yJSA2MC4yJSkiLCJoc2woMCA4NC4yJSA2MC4yJSkiKX07CiAgICAgIH0KCiAgICAgIC8qIFRyZW5kIFN0eWxlcyAqLwogICAgICAudHJlbmQtY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLnRyZW5kLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC50cmVuZC12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS12YWx1ZS1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBsaW5lLWhlaWdodDogMS4xOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTsKICAgICAgfQoKICAgICAgLnRyZW5kLXVuaXQgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdW5pdC1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC50cmVuZC1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1sYWJlbC1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgIH0KCiAgICAgIC50cmVuZC1ncmFwaCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW4tdG9wOiBhdXRvOwogICAgICB9CgogICAgICAudHJlbmQtc3ZnIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC50cmVuZC1saW5lIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICAgIHN0cm9rZTogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBzdHJva2Utd2lkdGg6IDEuNTsKICAgICAgICBzdHJva2UtbGluZWpvaW46IHJvdW5kOwogICAgICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDsKICAgICAgfQoKICAgICAgLnRyZW5kLWFyZWEgewogICAgICAgIGZpbGw6ICR7aC5iZFRoZW1lKCJyZ2JhKDE1MCwgMTUwLCAxNTAsIDAuMDgpIiwicmdiYSgxMDAsIDEwMCwgMTAwLCAwLjA4KSIpfTsKICAgICAgfQoKICAgICAgLyogVGV4dCBWYWx1ZSBTdHlsZXMgKi8KICAgICAgLnRleHQtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdmFsdWUtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgIH0KCiAgICAgIC8qIENvbnRleHQgTWVudSAqLwogICAgICBkZWVzLWNvbnRleHRtZW51IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgei1pbmRleDogMTAwMDsKICAgICAgfQogICAgYCxoLmNzc0ZvclRhYmxldChYYAogICAgICAuc3RhdHMtZ3JpZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsKICAgICAgfQogICAgYCxyKSxoLmNzc0ZvclBoYWJsZXQoWGAKICAgICAgOmhvc3QgewogICAgICAgIC0tdGlsZS1wYWRkaW5nOiAxMnB4OwogICAgICAgIC0tdmFsdWUtZm9udC1zaXplOiAyMnB4OwogICAgICAgIC0tdGl0bGUtZm9udC1zaXplOiAxMnB4OwogICAgICAgIC0tZ3JpZC1nYXA6IDhweDsKICAgICAgfQogICAgICAuc3RhdHMtZ3JpZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KICAgICAgLnN0YXRzLXRpbGUgewogICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDEgIWltcG9ydGFudDsKICAgICAgfQogICAgYCxyKSxoLmNzc0ZvclBob25lKFhgCiAgICAgIDpob3N0IHsKICAgICAgICAtLXRpbGUtcGFkZGluZzogMTBweDsKICAgICAgICAtLXZhbHVlLWZvbnQtc2l6ZTogMjBweDsKICAgICAgICAtLWhlYWRlci1zcGFjaW5nOiA4cHg7CiAgICAgIH0KICAgICAgLnN0YXRzLWdyaWQgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CiAgICBgLHIpXTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksSmkodGhpcyxFKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgJHt0aGlzLmdyaWRBY3Rpb25zLmxlbmd0aD4wP3dgCiAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC10aXRsZSI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWFjdGlvbnMiPgogICAgICAgICAgICAke3RoaXMuZ3JpZEFjdGlvbnMubWFwKE09PndgCiAgICAgICAgICAgICAgPGRlZXMtYnV0dG9uIAogICAgICAgICAgICAgICAgQGNsaWNrZWQ9JHsoKT0+dGhpcy5oYW5kbGVHcmlkQWN0aW9uKE0pfQogICAgICAgICAgICAgICAgdHlwZT0ib3V0bGluZSIKICAgICAgICAgICAgICAgIHNpemU9InNtIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICR7TS5pY29uTmFtZT93YDxkZWVzLWljb24gLmljb249JHtNLmljb25OYW1lfSBzaXplPSJzbWFsbCI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICAgICAgICAgICR7TS5uYW1lfQogICAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJzdGF0cy1ncmlkIiBzdHlsZT0iZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgke3RoaXMubWluVGlsZVdpZHRofXB4LCAxZnIpKTsgZ2FwOiAke3RoaXMuZ2FwfXB4OyI+CiAgICAgICAgJHt0aGlzLnRpbGVzLm1hcChNPT50aGlzLnJlbmRlclRpbGUoTSkpfQogICAgICA8L2Rpdj4KCiAgICAgICR7dGhpcy5jb250ZXh0TWVudVZpc2libGU/d2AKICAgICAgICA8ZGVlcy1jb250ZXh0bWVudQogICAgICAgICAgLng9JHt0aGlzLmNvbnRleHRNZW51UG9zaXRpb24ueH0KICAgICAgICAgIC55PSR7dGhpcy5jb250ZXh0TWVudVBvc2l0aW9uLnl9CiAgICAgICAgICAubWVudUl0ZW1zPSR7dGhpcy5jb250ZXh0TWVudUFjdGlvbnN9CiAgICAgICAgICBAY2xpY2tlZD0keygpPT50aGlzLmNvbnRleHRNZW51VmlzaWJsZT0hMX0KICAgICAgICA+PC9kZWVzLWNvbnRleHRtZW51PgogICAgICBgOiIifQogICAgYH1yZW5kZXJUaWxlKE0pe2xldCBTPU0uYWN0aW9ucyYmTS5hY3Rpb25zLmxlbmd0aD4wLFA9UyYmTS5hY3Rpb25zLmxlbmd0aD09PTEsQT1NLmNvbHVtblNwYW4mJk0uY29sdW1uU3Bhbj4xP00uY29sdW1uU3Bhbjp2b2lkIDA7cmV0dXJuIHdgCiAgICAgIDxkZWVzLXRpbGUKICAgICAgICBjbGFzcz0ic3RhdHMtdGlsZSAke1A/ImNsaWNrYWJsZSI6IiJ9IgogICAgICAgIHN0eWxlPSIke0E/YGdyaWQtY29sdW1uOiBzcGFuICR7QX1gOiIifSIKICAgICAgICBAY2xpY2s9JHtQPygpPT50aGlzLmhhbmRsZVRpbGVBY3Rpb24oTS5hY3Rpb25zWzBdLE0pOnZvaWQgMH0KICAgICAgICBAY29udGV4dG1lbnU9JHtTP0Y9PnRoaXMuc2hvd0NvbnRleHRNZW51KEYsTSk6dm9pZCAwfQogICAgICA+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJ0aWxlLWhlYWRlciI+CiAgICAgICAgICA8aDMgY2xhc3M9InRpbGUtdGl0bGUiPiR7TS50aXRsZX08L2gzPgogICAgICAgICAgJHtNLmljb24/d2AKICAgICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0idGlsZS1pY29uIiAuaWNvbj0ke00uaWNvbn0gc2l6ZT0ic21hbGwiPjwvZGVlcy1pY29uPgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1jb250ZW50Ij4KICAgICAgICAgICR7dGhpcy5yZW5kZXJUaWxlQ29udGVudChNKX0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgJHtNLmRlc2NyaXB0aW9uJiZNLnR5cGUhPT0idHJlbmQiP3dgCiAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9InRpbGUtZGVzY3JpcHRpb24iPiR7TS5kZXNjcmlwdGlvbn08L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2RlZXMtdGlsZT4KICAgIGB9cmVuZGVyVGlsZUNvbnRlbnQoTSl7c3dpdGNoKE0udHlwZSl7Y2FzZSJudW1iZXIiOnJldHVybiB3YAogICAgICAgICAgPGRpdiBjbGFzcz0idGlsZS12YWx1ZSIgc3R5bGU9IiR7TS5jb2xvcj9gY29sb3I6ICR7TS5jb2xvcn1gOiIifSI+CiAgICAgICAgICAgIDxzcGFuPiR7TS52YWx1ZX08L3NwYW4+CiAgICAgICAgICAgICR7TS51bml0P3dgPHNwYW4gY2xhc3M9InRpbGUtdW5pdCI+JHtNLnVuaXR9PC9zcGFuPmA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgO2Nhc2UiZ2F1Z2UiOnJldHVybiB0aGlzLnJlbmRlckdhdWdlKE0pO2Nhc2UicGVyY2VudGFnZSI6cmV0dXJuIHRoaXMucmVuZGVyUGVyY2VudGFnZShNKTtjYXNlInRyZW5kIjpyZXR1cm4gdGhpcy5yZW5kZXJUcmVuZChNKTtjYXNlIm11bHRpUGVyY2VudGFnZSI6cmV0dXJuIHRoaXMucmVuZGVyTXVsdGlQZXJjZW50YWdlKE0pO2Nhc2UiY3B1Q29yZXMiOnJldHVybiB0aGlzLnJlbmRlckNwdUNvcmVzKE0pO2Nhc2UicGFydGl0aW9uIjpyZXR1cm4gdGhpcy5yZW5kZXJQYXJ0aXRpb24oTSk7Y2FzZSJkaXNrIjpyZXR1cm4gdGhpcy5yZW5kZXJEaXNrKE0pO2Nhc2UidGV4dCI6cmV0dXJuIHdgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXZhbHVlIiBzdHlsZT0iJHtNLmNvbG9yP2Bjb2xvcjogJHtNLmNvbG9yfWA6IiJ9Ij4KICAgICAgICAgICAgJHtNLnZhbHVlfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDtkZWZhdWx0OnJldHVybiB3YDxkaXYgY2xhc3M9InRpbGUtdmFsdWUiPiR7TS52YWx1ZX08L2Rpdj5gfX1yZW5kZXJHYXVnZShNKXtsZXQgUz10eXBlb2YgTS52YWx1ZT09Im51bWJlciI/TS52YWx1ZTpwYXJzZUZsb2F0KE0udmFsdWUpLFA9TS5nYXVnZU9wdGlvbnN8fHttaW46MCxtYXg6MTAwfSxBPShTLVAubWluKS8oUC5tYXgtUC5taW4pKjEwMCxGPTEyMCxXPTcwLEc9Ni8yKzIsaGU9NDAsUj1GLzIsVT1XLUcsbWU9Ui1oZSxJPVUscT1SK2hlLHVlPWBNICR7bWV9ICR7SX0gQSAke2hlfSAke2hlfSAwIDAgMSAke3F9ICR7VX1gLFk9TWF0aC5QSSpoZSxRPVktWSpBLzEwMCxKPU0uY29sb3J8fGguYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyOC44JSkiLCJoc2woMjEwIDQwJSA3OCUpIik7aWYoUC50aHJlc2hvbGRzKXtsZXQgWj1bLi4uUC50aHJlc2hvbGRzXS5zb3J0KChnZSxhZSk9PmFlLnZhbHVlLWdlLnZhbHVlKTtmb3IobGV0IGdlIG9mIFopaWYoUz49Z2UudmFsdWUpe0o9Z2UuY29sb3I7YnJlYWt9fXJldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJnYXVnZS13cmFwcGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJnYXVnZS1jb250YWluZXIiPgogICAgICAgICAgPHN2ZyBjbGFzcz0iZ2F1Z2Utc3ZnIiB2aWV3Qm94PSIwIDAgJHtGfSAke1d9IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KICAgICAgICAgICAgPCEtLSBCYWNrZ3JvdW5kIGFyYyAtLT4KICAgICAgICAgICAgPHBhdGgKICAgICAgICAgICAgICBjbGFzcz0iZ2F1Z2UtYmFja2dyb3VuZCIKICAgICAgICAgICAgICBkPSIke3VlfSIKICAgICAgICAgICAgLz4KICAgICAgICAgICAgPCEtLSBGaWxsZWQgYXJjIC0tPgogICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgIGNsYXNzPSJnYXVnZS1maWxsIgogICAgICAgICAgICAgIGQ9IiR7dWV9IgogICAgICAgICAgICAgIHN0cm9rZT0iJHtKfSIKICAgICAgICAgICAgICBzdHJva2UtZGFzaGFycmF5PSIke1l9IgogICAgICAgICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0PSIke1F9IgogICAgICAgICAgICAvPgogICAgICAgICAgICA8IS0tIFZhbHVlIHRleHQgLS0+CiAgICAgICAgICAgIDx0ZXh0IGNsYXNzPSJnYXVnZS10ZXh0IiB4PSIke1J9IiB5PSIke1UtOH0iIGRvbWluYW50LWJhc2VsaW5lPSJtaWRkbGUiPgogICAgICAgICAgICAgIDx0c3Bhbj4ke1N9PC90c3Bhbj4ke00udW5pdD93YDx0c3BhbiBjbGFzcz0iZ2F1Z2UtdW5pdCIgZHg9IjIiIGR5PSIwIj4ke00udW5pdH08L3RzcGFuPmA6IiJ9CiAgICAgICAgICAgIDwvdGV4dD4KICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyUGVyY2VudGFnZShNKXtsZXQgUz10eXBlb2YgTS52YWx1ZT09Im51bWJlciI/TS52YWx1ZTpwYXJzZUZsb2F0KE0udmFsdWUpLFA9TWF0aC5taW4oMTAwLE1hdGgubWF4KDAsUykpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJwZXJjZW50YWdlLXdyYXBwZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InBlcmNlbnRhZ2UtdmFsdWUiPiR7UH0lPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icGVyY2VudGFnZS1iYXIiPgogICAgICAgICAgPGRpdiAKICAgICAgICAgICAgY2xhc3M9InBlcmNlbnRhZ2UtZmlsbCIgCiAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogJHtQfSU7ICR7TS5jb2xvcj9gYmFja2dyb3VuZDogJHtNLmNvbG9yfWA6IiJ9IgogICAgICAgICAgPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyVHJlbmQoTSl7aWYoIU0udHJlbmREYXRhfHxNLnRyZW5kRGF0YS5sZW5ndGg8MilyZXR1cm4gd2A8ZGl2IGNsYXNzPSJ0aWxlLXZhbHVlIj4ke00udmFsdWV9PC9kaXY+YDtsZXQgUz1NLnRyZW5kRGF0YSxQPU1hdGgubWF4KC4uLlMpLEE9TWF0aC5taW4oLi4uUyksRj1QLUF8fDEsVz0zMDAsaj0zMixHPTIsaGU9Uy5tYXAoKFUsbWUpPT57bGV0IEk9bWUvKFMubGVuZ3RoLTEpKlcscT1HKyhqLTIqRyktKFUtQSkvRiooai0yKkcpO3JldHVybmAke0l9LCR7cX1gfSkuam9pbigiICIpLFI9YDAsJHtqfSAke2hlfSAke1d9LCR7an1gO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJ0cmVuZC1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InRyZW5kLWhlYWRlciI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idHJlbmQtdmFsdWUiPiR7TS52YWx1ZX08L3NwYW4+CiAgICAgICAgICAke00udW5pdD93YDxzcGFuIGNsYXNzPSJ0cmVuZC11bml0Ij4ke00udW5pdH08L3NwYW4+YDoiIn0KICAgICAgICAgICR7TS5kZXNjcmlwdGlvbj93YDxzcGFuIGNsYXNzPSJ0cmVuZC1sYWJlbCI+JHtNLmRlc2NyaXB0aW9ufTwvc3Bhbj5gOiIifQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRyZW5kLWdyYXBoIj4KICAgICAgICAgIDxzdmcgY2xhc3M9InRyZW5kLXN2ZyIgdmlld0JveD0iMCAwICR7V30gJHtqfSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgICAgICAgICAgIDxwb2x5Z29uIGNsYXNzPSJ0cmVuZC1hcmVhIiBwb2ludHM9IiR7Un0iIC8+CiAgICAgICAgICAgIDxwb2x5bGluZSBjbGFzcz0idHJlbmQtbGluZSIgcG9pbnRzPSIke2hlfSIgLz4KICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyTXVsdGlQZXJjZW50YWdlKE0pe2lmKCFNLnBlcmNlbnRhZ2VzfHxNLnBlcmNlbnRhZ2VzLmxlbmd0aD09PTApcmV0dXJuIHdgPGRpdiBjbGFzcz0idGlsZS12YWx1ZSI+JHtNLnZhbHVlfTwvZGl2PmA7bGV0IFM9TS5wZXJjZW50YWdlcy5zbGljZSgwLDMpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtdWx0aS1wZXJjZW50YWdlLXdyYXBwZXIiPgogICAgICAgIDxkaXYgY2xhc3M9Im11bHRpLXBlcmNlbnRhZ2UtaXRlbXMiPgogICAgICAgICAgJHtTLm1hcChQPT57bGV0IEE9TWF0aC5taW4oMTAwLE1hdGgubWF4KDAsUC52YWx1ZSkpO3JldHVybiB3YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im11bHRpLXBlcmNlbnRhZ2UtaXRlbSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdWx0aS1wZXJjZW50YWdlLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtdWx0aS1wZXJjZW50YWdlLWxhYmVsIj4ke1AubGFiZWx9PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibXVsdGktcGVyY2VudGFnZS12YWx1ZSI+JHtBfSU8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im11bHRpLXBlcmNlbnRhZ2UtYmFyIj4KICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJtdWx0aS1wZXJjZW50YWdlLWZpbGwiCiAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAke0F9JTsgJHtQLmNvbG9yP2BiYWNrZ3JvdW5kOiAke1AuY29sb3J9YDoiIn0iCiAgICAgICAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgfSl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJDcHVDb3JlcyhNKXtpZighTS5jb3Jlc0RhdGF8fE0uY29yZXNEYXRhLmxlbmd0aD09PTApcmV0dXJuIHdgPGRpdiBjbGFzcz0idGlsZS12YWx1ZSI+JHtNLnZhbHVlfTwvZGl2PmA7bGV0IFM9TS5jb3Jlc0RhdGEsUD1NYXRoLnJvdW5kKFMucmVkdWNlKChoZSxSKT0+aGUrUi51c2FnZSwwKS9TLmxlbmd0aCksQT1zKGhlPT5oZTw1MD8ibG93IjpoZTw4MD8ibWVkaXVtIjoiaGlnaCIsImdldENvbG9yQ2xhc3MiKSxGPVMubGVuZ3RoKjI0KyhTLmxlbmd0aC0xKSozLFc9TS5jb2x1bW5TcGFufHwxLGo9dGhpcy5taW5UaWxlV2lkdGgqVysoVy0xKSp0aGlzLmdhcC0zMixHPUY8aiouNjY2O3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJjcHUtY29yZXMtd3JhcHBlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY3B1LWNvcmVzLWhlYWRlciI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B1LWNvcmVzLXZhbHVlIj4ke1B9PC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdS1jb3Jlcy11bml0Ij4lPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdS1jb3Jlcy1sYWJlbCI+JHtTLmxlbmd0aH0gY29yZXM8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY3B1LWNvcmVzLWJhcnMgJHtHPyJjZW50ZXJlZCI6IiJ9Ij4KICAgICAgICAgICR7Uy5tYXAoaGU9PntsZXQgUj1NYXRoLm1pbigxMDAsTWF0aC5tYXgoMCxoZS51c2FnZSkpLFU9QShSKTtyZXR1cm4gd2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHUtY29yZS1iYXItY29udGFpbmVyIiB0aXRsZT0iQ29yZSAke2hlLmxhYmVsfHxoZS5pZH06ICR7Un0lIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdS1jb3JlLWJhci13cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjcHUtY29yZS1iYXItZmlsbCAke1V9IgogICAgICAgICAgICAgICAgICAgIHN0eWxlPSJoZWlnaHQ6ICR7Un0lIgogICAgICAgICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICR7Uy5sZW5ndGg8PTE2P3dgCiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHUtY29yZS1sYWJlbCI+JHtoZS5sYWJlbHx8aGUuaWR9PC9zcGFuPgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYH0pfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Zm9ybWF0Qnl0ZXMoTSl7aWYoTT09PTApcmV0dXJuIjAgQiI7bGV0IFM9MTAyNCxQPVsiQiIsIktCIiwiTUIiLCJHQiIsIlRCIiwiUEIiXSxBPU1hdGguZmxvb3IoTWF0aC5sb2coTSkvTWF0aC5sb2coUykpO3JldHVybiBwYXJzZUZsb2F0KChNL01hdGgucG93KFMsQSkpLnRvRml4ZWQoMSkpKyIgIitQW0FdfXJlbmRlclBhcnRpdGlvbihNKXtpZighTS5wYXJ0aXRpb25EYXRhKXJldHVybiB3YDxkaXYgY2xhc3M9InRpbGUtdmFsdWUiPiR7TS52YWx1ZX08L2Rpdj5gO2xldHt1c2VkOlMsdG90YWw6UCxmaWxlc3lzdGVtOkEsbW91bnRQb2ludDpGfT1NLnBhcnRpdGlvbkRhdGEsVz1NYXRoLm1pbigxMDAsTWF0aC5tYXgoMCxTL1AqMTAwKSksaj1QLVMsRz1zKCgpPT5XPj05MD8iY3JpdGljYWwiOlc+PTc1PyJ3YXJuaW5nIjoiIiwiZ2V0Q29sb3JDbGFzcyIpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJwYXJ0aXRpb24td3JhcHBlciI+CiAgICAgICAgPGRpdiBjbGFzcz0icGFydGl0aW9uLWhlYWRlciI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0icGFydGl0aW9uLXBlcmNlbnRhZ2UiPiR7TWF0aC5yb3VuZChXKX0lPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBhcnRpdGlvbi1iYXIiPgogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0icGFydGl0aW9uLWJhci1maWxsICR7RygpfSIKICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAke1d9JSIKICAgICAgICAgID48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwYXJ0aXRpb24tc3RhdHMiPgogICAgICAgICAgPGRpdiBjbGFzcz0icGFydGl0aW9uLXN0YXQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icGFydGl0aW9uLXN0YXQtbGFiZWwiPlVzZWQ8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYXJ0aXRpb24tc3RhdC12YWx1ZSI+JHt0aGlzLmZvcm1hdEJ5dGVzKFMpfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icGFydGl0aW9uLXN0YXQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icGFydGl0aW9uLXN0YXQtbGFiZWwiPkZyZWU8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYXJ0aXRpb24tc3RhdC12YWx1ZSI+JHt0aGlzLmZvcm1hdEJ5dGVzKGopfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBhcnRpdGlvbi1tZXRhIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYXJ0aXRpb24tZmlsZXN5c3RlbSI+JHtBfTwvc3Bhbj4KICAgICAgICAgICR7Rj93YDxzcGFuIGNsYXNzPSJwYXJ0aXRpb24tbW91bnRwb2ludCI+JHtGfTwvc3Bhbj5gOiIifQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRGlzayhNKXtpZighTS5kaXNrRGF0YSlyZXR1cm4gd2A8ZGl2IGNsYXNzPSJ0aWxlLXZhbHVlIj4ke00udmFsdWV9PC9kaXY+YDtsZXR7Y2FwYWNpdHk6Uyxtb2RlbDpQLHR5cGU6QSxpb3BzOkYsaGVhbHRoOld9PU0uZGlza0RhdGEsaj1zKEc9Pkc+PTcwPyJnb29kIjpHPj0zMD8id2FybmluZyI6ImNyaXRpY2FsIiwiZ2V0SGVhbHRoQ2xhc3MiKTtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZGlzay13cmFwcGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkaXNrLWNhcGFjaXR5Ij4ke3RoaXMuZm9ybWF0Qnl0ZXMoUyl9PC9kaXY+CiAgICAgICAgJHtQfHxBP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXNrLW1vZGVsIj4KICAgICAgICAgICAgJHtQP3dgPHNwYW4+JHtQfTwvc3Bhbj5gOiIifQogICAgICAgICAgICAke0E/d2A8c3BhbiBjbGFzcz0iZGlzay10eXBlLWJhZGdlIj4ke0F9PC9zcGFuPmA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICAgIDxkaXYgY2xhc3M9ImRpc2stbWV0cmljcyI+CiAgICAgICAgICAke0Y/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlzay1pb3BzIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXNrLWlvcHMtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGlzay1pb3BzLWxhYmVsIj5SZWFkPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRpc2staW9wcy12YWx1ZSI+JHtGLnJlYWQudG9Mb2NhbGVTdHJpbmcoKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlzay1pb3BzLWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRpc2staW9wcy1sYWJlbCI+V3JpdGU8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGlzay1pb3BzLXZhbHVlIj4ke0Yud3JpdGUudG9Mb2NhbGVTdHJpbmcoKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICAgICR7VyE9PXZvaWQgMD93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXNrLWhlYWx0aCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlzay1oZWFsdGgtaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkaXNrLWhlYWx0aC1sYWJlbCI+SGVhbHRoPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRpc2staGVhbHRoLXZhbHVlIj4ke1d9JTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXNrLWhlYWx0aC1iYXIiPgogICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICBjbGFzcz0iZGlzay1oZWFsdGgtZmlsbCAke2ooVyl9IgogICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6ICR7V30lIgogICAgICAgICAgICAgICAgPjwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBoYW5kbGVHcmlkQWN0aW9uKE0pe00uYWN0aW9uJiZhd2FpdCBNLmFjdGlvbigpfWFzeW5jIGhhbmRsZVRpbGVBY3Rpb24oTSxTKXtNLmFjdGlvbiYmYXdhaXQgTS5hY3Rpb24oKX1zaG93Q29udGV4dE1lbnUoTSxTKXtpZighUy5hY3Rpb25zfHxTLmFjdGlvbnMubGVuZ3RoPT09MClyZXR1cm47TS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY29udGV4dE1lbnVQb3NpdGlvbj17eDpNLmNsaWVudFgseTpNLmNsaWVudFl9LHRoaXMuY29udGV4dE1lbnVBY3Rpb25zPVMuYWN0aW9ucyx0aGlzLmNvbnRleHRNZW51VmlzaWJsZT0hMDtsZXQgUD1zKCgpPT57dGhpcy5jb250ZXh0TWVudVZpc2libGU9ITEsZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLFApfSwiY2xvc2VIYW5kbGVyIik7c2V0VGltZW91dCgoKT0+e2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixQKX0sMTAwKX1zdGF0aWN7Smkocix0KX19O3JldHVybiBCPXJ9KSgpfSk7dmFyIGg1LGNsLGJLaSx2S2kseEtpLHlLaSxJbGEsTmxhPWYoKCk9PntsZSgpO05hKCk7R3NlKCk7aDU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGNsPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxiS2k9KCgpPT57bGV0IGE9W2llKCJkZW1vLWRhc2hib2FyZC12aWV3IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlbW9EYXNoYm9hcmRWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bSygpXSxoNSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2YXRlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4iYWN0aXZhdGVkImluIHAsImhhcyIpLGdldDpzKHA9PnAuYWN0aXZhdGVkLCJnZXQiKSxzZXQ6cygocCx1KT0+e3AuYWN0aXZhdGVkPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSxoNShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pLGNsKHIsdCl9I2U9Y2wodGhpcyxuLCExKTtnZXQgYWN0aXZhdGVkKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGFjdGl2YXRlZChjKXt0aGlzLiNlPWN9Y3R4PWNsKHRoaXMsbCk7c3RhdHNUaWxlcz1be2lkOiJ1c2VycyIsdGl0bGU6IkFjdGl2ZSBVc2VycyIsdmFsdWU6MTIzNCx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTp1c2VycyIsZGVzY3JpcHRpb246Ik9ubGluZSBub3ciLGNvbG9yOiIjMjJjNTVlIn0se2lkOiJhcGktY2FsbHMiLHRpdGxlOiJBUEkgQ2FsbHMiLHZhbHVlOjQ1MjAwLHR5cGU6InRyZW5kIixpY29uOiJsdWNpZGU6YWN0aXZpdHkiLGRlc2NyaXB0aW9uOiIrMTIlIGZyb20gbGFzdCBob3VyIixjb2xvcjoiIzNiODJmNiIsdHJlbmREYXRhOlszMmUzLDM1ZTMsMzhlMyw0MWUzLDM5ZTMsNDJlMyw0NTIwMF19LHtpZDoiaGVhbHRoIix0aXRsZToiU3lzdGVtIEhlYWx0aCIsdmFsdWU6OTkuOSx1bml0OiIlIix0eXBlOiJnYXVnZSIsaWNvbjoibHVjaWRlOmhlYXJ0LXB1bHNlIixkZXNjcmlwdGlvbjoiQWxsIHN5c3RlbXMgb3BlcmF0aW9uYWwiLGNvbG9yOiIjMTBiOTgxIixnYXVnZU9wdGlvbnM6e21pbjowLG1heDoxMDAsdGhyZXNob2xkczpbe3ZhbHVlOjgwLGNvbG9yOiIjZWY0NDQ0In0se3ZhbHVlOjk1LGNvbG9yOiIjZjU5ZTBiIn0se3ZhbHVlOjEwMCxjb2xvcjoiIzEwYjk4MSJ9XX19LHtpZDoicmVzcG9uc2UiLHRpdGxlOiJBdmcgUmVzcG9uc2UiLHZhbHVlOjEyNyx1bml0OiJtcyIsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6dGltZXIiLGRlc2NyaXB0aW9uOiItMTVtcyBmcm9tIHllc3RlcmRheSIsY29sb3I6IiM4YjVjZjYifSx7aWQ6InJlc291cmNlcyIsdGl0bGU6IlJlc291cmNlIFVzYWdlIix2YWx1ZToiIix0eXBlOiJtdWx0aVBlcmNlbnRhZ2UiLGljb246Imx1Y2lkZTpzZXJ2ZXIiLHBlcmNlbnRhZ2VzOlt7bGFiZWw6IkNQVSIsdmFsdWU6NjcsY29sb3I6IiMzYjgyZjYifSx7bGFiZWw6Ik1lbW9yeSIsdmFsdWU6ODQsY29sb3I6IiM4YjVjZjYifSx7bGFiZWw6IkRpc2siLHZhbHVlOjQ1LGNvbG9yOiIjMTBiOTgxIn1dfSx7aWQ6InJlcXVlc3RzIix0aXRsZToiUmVxdWVzdHMvc2VjIix2YWx1ZToxODUwLHR5cGU6InRyZW5kIixpY29uOiJsdWNpZGU6emFwIixkZXNjcmlwdGlvbjoiQ3VycmVudCB0aHJvdWdocHV0Iixjb2xvcjoiIzA2YjZkNCIsdHJlbmREYXRhOlsxMjAwLDE0MDAsMTM1MCwxNjAwLDE3NTAsMTY4MCwxODUwXX1dO29uQWN0aXZhdGUoYyl7dGhpcy5jdHg9Yyx0aGlzLmFjdGl2YXRlZD0hMCxjb25zb2xlLmxvZygiRGFzaGJvYXJkIGFjdGl2YXRlZCB3aXRoIGNvbnRleHQ6IixjKSxjLmFwcHVpLnNldFNlY29uZGFyeU1lbnUoe2hlYWRpbmc6IkRhc2hib2FyZCIsZ3JvdXBzOlt7bmFtZToiUXVpY2sgQWNjZXNzIixpY29uTmFtZToibHVjaWRlOnphcCIsaXRlbXM6W3trZXk6Ik92ZXJ2aWV3IixpY29uTmFtZToibGF5b3V0RGFzaGJvYXJkIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIk92ZXJ2aWV3IiksImFjdGlvbiIpfSx7a2V5OiJSZWNlbnQiLGljb25OYW1lOiJjbG9jayIsYmFkZ2U6NSxhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlJlY2VudCIpLCJhY3Rpb24iKX0se3R5cGU6ImRpdmlkZXIifSx7dHlwZToiYWN0aW9uIixrZXk6IlJlZnJlc2ggRGF0YSIsaWNvbk5hbWU6Imx1Y2lkZTpyZWZyZXNoQ3ciLGFjdGlvbjpzKCgpPT5hbGVydCgiUmVmcmVzaGluZyBkYXNoYm9hcmQgZGF0YS4uLiIpLCJhY3Rpb24iKX1dfSx7bmFtZToiRmlsdGVycyIsaWNvbk5hbWU6Imx1Y2lkZTpmaWx0ZXIiLGl0ZW1zOlt7dHlwZToiaGVhZGVyIixsYWJlbDoiVGltZSBSYW5nZSJ9LHt0eXBlOiJmaWx0ZXIiLGtleToiTGl2ZSBVcGRhdGVzIixpY29uTmFtZToibHVjaWRlOnJhZGlvIixhY3RpdmU6ITAsb25Ub2dnbGU6cyhwPT5jb25zb2xlLmxvZygiTGl2ZSB1cGRhdGVzOiIscCksIm9uVG9nZ2xlIil9LHt0eXBlOiJmaWx0ZXIiLGtleToiU2hvdyBBcmNoaXZlZCIsaWNvbk5hbWU6Imx1Y2lkZTphcmNoaXZlIixhY3RpdmU6ITEsb25Ub2dnbGU6cyhwPT5jb25zb2xlLmxvZygiU2hvdyBhcmNoaXZlZDoiLHApLCJvblRvZ2dsZSIpfSx7dHlwZToiZGl2aWRlciJ9LHt0eXBlOiJtdWx0aUZpbHRlciIsa2V5OiJEYXRhIFNvdXJjZXMiLGljb25OYW1lOiJsdWNpZGU6ZGF0YWJhc2UiLG9wdGlvbnM6W3trZXk6ImFwaSIsbGFiZWw6IkFQSSBTZXJ2ZXIiLGNoZWNrZWQ6ITAsaWNvbk5hbWU6Imx1Y2lkZTpzZXJ2ZXIifSx7a2V5OiJ3ZWIiLGxhYmVsOiJXZWIgVHJhZmZpYyIsY2hlY2tlZDohMCxpY29uTmFtZToibHVjaWRlOmdsb2JlIn0se2tleToibW9iaWxlIixsYWJlbDoiTW9iaWxlIEFwcCIsY2hlY2tlZDohMSxpY29uTmFtZToibHVjaWRlOnNtYXJ0cGhvbmUifV0sb25DaGFuZ2U6cyhwPT5jb25zb2xlLmxvZygiRGF0YSBzb3VyY2VzOiIscCksIm9uQ2hhbmdlIil9XX0se25hbWU6IkFuYWx5dGljcyIsaWNvbk5hbWU6Imx1Y2lkZTpiYXJDaGFydDMiLGl0ZW1zOlt7a2V5OiJNZXRyaWNzIixpY29uTmFtZToiYWN0aXZpdHkiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiTWV0cmljcyIpLCJhY3Rpb24iKX0se2tleToiUmVwb3J0cyIsaWNvbk5hbWU6ImZpbGVUZXh0IixiYWRnZToibmV3IixiYWRnZVZhcmlhbnQ6InN1Y2Nlc3MiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiUmVwb3J0cyIpLCJhY3Rpb24iKX0se3R5cGU6ImRpdmlkZXIifSx7dHlwZToibGluayIsa2V5OiJBbmFseXRpY3MgRG9jcyIsaWNvbk5hbWU6Imx1Y2lkZTpleHRlcm5hbExpbmsiLGhyZWY6Imh0dHBzOi8vZG9jcy5leGFtcGxlLmNvbS9hbmFseXRpY3MifV19XX0pLGMuYXBwdWkuc2V0Q29udGVudFRhYnMoW3trZXk6Ik92ZXJ2aWV3IixpY29uTmFtZToibHVjaWRlOmxheW91dERhc2hib2FyZCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJPdmVydmlldyB0YWIiKSwiYWN0aW9uIil9LHtrZXk6IkFuYWx5dGljcyIsaWNvbk5hbWU6Imx1Y2lkZTpiYXJDaGFydCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJBbmFseXRpY3MgdGFiIiksImFjdGlvbiIpfSx7a2V5OiJSZXBvcnRzIixpY29uTmFtZToibHVjaWRlOmZpbGVUZXh0IixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlJlcG9ydHMgdGFiIiksImFjdGlvbiIpfV0pfW9uRGVhY3RpdmF0ZSgpe3RoaXMuYWN0aXZhdGVkPSExLGNvbnNvbGUubG9nKCJEYXNoYm9hcmQgZGVhY3RpdmF0ZWQiKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgIGNvbG9yOiAjYTNhM2EzOwogICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjsKICAgICAgICB9CiAgICAgICAgaDEgeyBjb2xvcjogI2ZhZmFmYTsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAyNHB4OyBtYXJnaW4tYm90dG9tOiA4cHg7IH0KICAgICAgICBwIHsgY29sb3I6ICM3MzczNzM7IG1hcmdpbi1ib3R0b206IDMycHg7IH0KICAgICAgICBkZWVzLXN0YXRzZ3JpZCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OwogICAgICAgIH0KCiAgICAgICAgLmN0eC1hY3Rpb25zIHsKICAgICAgICAgIG1hcmdpbi10b3A6IDMycHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjAyKTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wOCk7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgfQogICAgICAgIC5jdHgtYWN0aW9ucyBoMiB7IGNvbG9yOiAjZmFmYWZhOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IG1hcmdpbi1ib3R0b206IDE2cHg7IH0KICAgICAgICAuYnV0dG9uLWdyaWQgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgIH0KICAgICAgICAuY3R4LWJ0biB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpOwogICAgICAgICAgY29sb3I6ICM2MGE1ZmE7CiAgICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIH0KICAgICAgICAuY3R4LWJ0bjpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1OSwgMTMwLCAyNDYsIDAuNSk7CiAgICAgICAgfQogICAgICAgIC5jdHgtYnRuLmRhbmdlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpOwogICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpOwogICAgICAgICAgY29sb3I6ICNmODcxNzE7CiAgICAgICAgfQogICAgICAgIC5jdHgtYnRuLmRhbmdlcjpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjIpOwogICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjUpOwogICAgICAgIH0KICAgICAgICAuY3R4LWJ0bi5zdWNjZXNzIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMSk7CiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDE5NywgOTQsIDAuMyk7CiAgICAgICAgICBjb2xvcjogIzRhZGU4MDsKICAgICAgICB9CiAgICAgICAgLmN0eC1idG4uc3VjY2Vzczpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjIpOwogICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjUpOwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGgxPkRhc2hib2FyZDwvaDE+CiAgICAgIDxwPldlbGNvbWUgYmFjayEgSGVyZSdzIGFuIG92ZXJ2aWV3IG9mIHlvdXIgc3lzdGVtLjwvcD4KICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgLnRpbGVzPSR7dGhpcy5zdGF0c1RpbGVzfQogICAgICAgIEB0aWxlLWFjdGlvbj0ke2M9PmNvbnNvbGUubG9nKCJUaWxlIGFjdGlvbjoiLGMuZGV0YWlsKX0KICAgICAgPjwvZGVlcy1zdGF0c2dyaWQ+CgogICAgICA8ZGl2IGNsYXNzPSJjdHgtYWN0aW9ucyI+CiAgICAgICAgPGgyPkNvbnRleHQgQWN0aW9ucyAoY3R4LmFwcHVpKTwvaDI+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRNYWluTWVudVZpc2libGUoITEpfT5IaWRlIE1haW4gTWVudTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biBzdWNjZXNzIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldE1haW5NZW51VmlzaWJsZSghMCl9PlNob3cgTWFpbiBNZW51PC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldFNlY29uZGFyeU1lbnVWaXNpYmxlKCExKX0+SGlkZSBTZWNvbmRhcnkgTWVudTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biBzdWNjZXNzIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldFNlY29uZGFyeU1lbnVWaXNpYmxlKCEwKX0+U2hvdyBTZWNvbmRhcnkgTWVudTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRDb250ZW50VGFic1Zpc2libGUoITEpfT5IaWRlIENvbnRlbnQgVGFiczwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biBzdWNjZXNzIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldENvbnRlbnRUYWJzVmlzaWJsZSghMCl9PlNob3cgQ29udGVudCBUYWJzPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldE1haW5NZW51Q29sbGFwc2VkKCEwKX0+Q29sbGFwc2UgTWFpbiBNZW51PC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIHN1Y2Nlc3MiIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuc2V0TWFpbk1lbnVDb2xsYXBzZWQoITEpfT5FeHBhbmQgTWFpbiBNZW51PC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldEJyZWFkY3J1bWJzKFsiRGFzaGJvYXJkIiwiT3ZlcnZpZXciLCJTdGF0cyJdKX0+U2V0IEJyZWFkY3J1bWJzPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLm5hdmlnYXRlVG9WaWV3KCJwcm9qZWN0cyIpfT5HbyB0byBQcm9qZWN0czwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5uYXZpZ2F0ZVRvVmlldygic2V0dGluZ3MiLHtzZWN0aW9uOiJzZWN1cml0eSJ9KX0+R28gdG8gU2V0dGluZ3MvU2VjdXJpdHk8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4iIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuYWN0aXZpdHlMb2cuYWRkKHt0eXBlOiJjdXN0b20iLHVzZXI6IkRlbW8gVXNlciIsbWVzc2FnZToiQnV0dG9uIGNsaWNrZWQgZnJvbSBjdHghIixpY29uTmFtZToibHVjaWRlOm1vdXNlLXBvaW50ZXItY2xpY2sifSl9PkFkZCBBY3Rpdml0eSBFbnRyeTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRNYWluTWVudUJhZGdlKCJ0YXNrcyIsOTkpfT5TZXQgVGFza3MgQmFkZ2UgdG8gOTk8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4gZGFuZ2VyIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLmNsZWFyTWFpbk1lbnVCYWRnZSgidGFza3MiKX0+Q2xlYXIgVGFza3MgQmFkZ2U8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4iIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuc2V0Q29udGVudFRhYnNBdXRvSGlkZSghMCwxKX0+QXV0by1oaWRlIFRhYnMgKOKJpDEpPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIGRhbmdlciIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRDb250ZW50VGFic0F1dG9IaWRlKCExKX0+RGlzYWJsZSBBdXRvLWhpZGU8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4gc3VjY2VzcyIgQGNsaWNrPSR7KCk9PnRoaXMuYWRkQ2xvc2VhYmxlVGFiKCl9PkFkZCBDbG9zZWFibGUgVGFiPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH10YWJDb3VudGVyPTA7YWRkQ2xvc2VhYmxlVGFiKCl7aWYoIXRoaXMuY3R4KXJldHVybjt0aGlzLnRhYkNvdW50ZXIrKztsZXQgYz1gVGFiICR7dGhpcy50YWJDb3VudGVyfWA7dGhpcy5jdHguYXBwdWkuYWRkQ29udGVudFRhYih7a2V5OmMsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coYFNlbGVjdGVkICR7Y31gKSwiYWN0aW9uIiksY2xvc2VhYmxlOiEwLG9uQ2xvc2U6cygoKT0+e3RoaXMuY3R4Py5hcHB1aS5yZW1vdmVDb250ZW50VGFiKGMpfSwib25DbG9zZSIpfSl9fTtyZXR1cm4gZD1yfSkoKSx2S2k9KCgpPT57bGV0IGE9W2llKCJkZW1vLXNldHRpbmdzLXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVtb1NldHRpbmdzVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZD1bSygpXSxoNSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlY3Rpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InNlY3Rpb24iaW4gdiwiaGFzIiksZ2V0OnModj0+di5zZWN0aW9uLCJnZXQiKSxzZXQ6cygodix4KT0+e3Yuc2VjdGlvbj14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksaDUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoYXNDaGFuZ2VzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJoYXNDaGFuZ2VzImluIHYsImhhcyIpLGdldDpzKHY9PnYuaGFzQ2hhbmdlcywiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2Lmhhc0NoYW5nZXM9eH0sInNldCIpfSxtZXRhZGF0YTptfSxjLHApLGg1KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSksY2wocix0KX0jZT1jbCh0aGlzLG4sImdlbmVyYWwiKTtnZXQgc2VjdGlvbigpe3JldHVybiB0aGlzLiNlfXNldCBzZWN0aW9uKG0pe3RoaXMuI2U9bX0jdD0oY2wodGhpcyxsKSxjbCh0aGlzLGMsITEpKTtnZXQgaGFzQ2hhbmdlcygpe3JldHVybiB0aGlzLiN0fXNldCBoYXNDaGFuZ2VzKG0pe3RoaXMuI3Q9bX1hcHB1aT1jbCh0aGlzLHApO29uQWN0aXZhdGUobSl7dGhpcy5hcHB1aT1tLmFwcHVpLGNvbnNvbGUubG9nKCJTZXR0aW5ncyBhY3RpdmF0ZWQgd2l0aCBwYXJhbXM6IixtLnBhcmFtcyksbS5wYXJhbXM/LnNlY3Rpb24mJih0aGlzLnNlY3Rpb249bS5wYXJhbXMuc2VjdGlvbiksbS5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJTZXR0aW5ncyIsZ3JvdXBzOlt7bmFtZToiQWNjb3VudCIsaWNvbk5hbWU6Imx1Y2lkZTp1c2VyIixpdGVtczpbe2tleToiZ2VuZXJhbCIsaWNvbk5hbWU6InNldHRpbmdzIixhY3Rpb246cygoKT0+dGhpcy5zaG93U2VjdGlvbigiZ2VuZXJhbCIpLCJhY3Rpb24iKX0se2tleToicHJvZmlsZSIsaWNvbk5hbWU6InVzZXIiLGFjdGlvbjpzKCgpPT50aGlzLnNob3dTZWN0aW9uKCJwcm9maWxlIiksImFjdGlvbiIpfSx7a2V5OiJzZWN1cml0eSIsaWNvbk5hbWU6InNoaWVsZCIsYWN0aW9uOnMoKCk9PnRoaXMuc2hvd1NlY3Rpb24oInNlY3VyaXR5IiksImFjdGlvbiIpfV19LHtuYW1lOiJQcmVmZXJlbmNlcyIsaWNvbk5hbWU6Imx1Y2lkZTpzbGlkZXJzIixpdGVtczpbe2tleToibm90aWZpY2F0aW9ucyIsaWNvbk5hbWU6ImJlbGwiLGJhZGdlOjMsYWN0aW9uOnMoKCk9PnRoaXMuc2hvd1NlY3Rpb24oIm5vdGlmaWNhdGlvbnMiKSwiYWN0aW9uIil9LHtrZXk6ImFwcGVhcmFuY2UiLGljb25OYW1lOiJwYWxldHRlIixhY3Rpb246cygoKT0+dGhpcy5zaG93U2VjdGlvbigiYXBwZWFyYW5jZSIpLCJhY3Rpb24iKX1dfV19KSxtLmFwcHVpLnNldFNlY29uZGFyeU1lbnVTZWxlY3Rpb24odGhpcy5zZWN0aW9uKSxtLmFwcHVpLnNldENvbnRlbnRUYWJzKFtdKX1vbkRlYWN0aXZhdGUoKXtjb25zb2xlLmxvZygiU2V0dGluZ3MgZGVhY3RpdmF0ZWQiKSx0aGlzLmhhc0NoYW5nZXM9ITF9Y2FuRGVhY3RpdmF0ZSgpe3JldHVybiB0aGlzLmhhc0NoYW5nZXM/IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcy4gTGVhdmUgYW55d2F5PyI6ITB9c2hvd1NlY3Rpb24obSl7dGhpcy5zZWN0aW9uPW0sdGhpcy5hcHB1aT8uc2V0U2Vjb25kYXJ5TWVudVNlbGVjdGlvbihtKX1zaW11bGF0ZUNoYW5nZSgpe3RoaXMuaGFzQ2hhbmdlcz0hMH1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgIGNvbG9yOiAjYTNhM2EzOwogICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjsKICAgICAgICB9CiAgICAgICAgaDEgeyBjb2xvcjogI2ZhZmFmYTsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAyNHB4OyBtYXJnaW4tYm90dG9tOiA4cHg7IH0KICAgICAgICBwIHsgY29sb3I6ICM3MzczNzM7IG1hcmdpbi1ib3R0b206IDI0cHg7IH0KICAgICAgICAuc2VjdGlvbi1uYW1lIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wNSk7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgICAgY29sb3I6ICNmYWZhZmE7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIH0KICAgICAgICAuYWN0aW9ucyB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIH0KICAgICAgICBidXR0b24gewogICAgICAgICAgYmFja2dyb3VuZDogIzNiODJmNjsKICAgICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIH0KICAgICAgICBidXR0b246aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogIzI1NjNlYjsKICAgICAgICB9CiAgICAgICAgLndhcm5pbmcgewogICAgICAgICAgY29sb3I6ICNmYmJmMjQ7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGgxPlNldHRpbmdzPC9oMT4KICAgICAgPHA+TWFuYWdlIHlvdXIgYWNjb3VudCBhbmQgYXBwbGljYXRpb24gcHJlZmVyZW5jZXMuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLW5hbWUiPgogICAgICAgIEN1cnJlbnQgc2VjdGlvbjogPHN0cm9uZz4ke3RoaXMuc2VjdGlvbn08L3N0cm9uZz4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbnMiPgogICAgICAgIDxidXR0b24gQGNsaWNrPSR7KCk9PnRoaXMuc2ltdWxhdGVDaGFuZ2UoKX0+TWFrZSBDaGFuZ2VzPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICAke3RoaXMuaGFzQ2hhbmdlcz93YDxwIGNsYXNzPSJ3YXJuaW5nIj5Zb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMuIE5hdmlnYXRpb24gd2lsbCBwcm9tcHQgZm9yIGNvbmZpcm1hdGlvbi48L3A+YDoiIn0KICAgIGB9fTtyZXR1cm4gdT1yfSkoKSx4S2k9KCgpPT57bGV0IGE9W2llKCJkZW1vLXByb2plY3RzLXZpZXciKV0sZSx0PVtdLHIsaT1wZTt2YXIgbz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVtb1Byb2plY3RzVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBuPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO2g1KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm59LG51bGwsdCksbz1yPWUudmFsdWUsbiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpufSksY2wocix0KX1vbkFjdGl2YXRlKG4pe24uYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiUHJvamVjdHMiLGdyb3Vwczpbe25hbWU6Ik15IFByb2plY3RzIixpY29uTmFtZToibHVjaWRlOmZvbGRlciIsaXRlbXM6W3trZXk6IkFjdGl2ZSIsaWNvbk5hbWU6ImZvbGRlciIsYmFkZ2U6MyxhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkFjdGl2ZSIpLCJhY3Rpb24iKX0se2tleToiQXJjaGl2ZWQiLGljb25OYW1lOiJhcmNoaXZlIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkFyY2hpdmVkIiksImFjdGlvbiIpfSx7a2V5OiJTaGFyZWQiLGljb25OYW1lOiJ1c2VycyIsYmFkZ2U6MixiYWRnZVZhcmlhbnQ6Indhcm5pbmciLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiU2hhcmVkIiksImFjdGlvbiIpfV19LHtuYW1lOiJRdWljayBBY3Rpb25zIixpY29uTmFtZToibHVjaWRlOnphcCIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiTmV3IFByb2plY3QiLGljb25OYW1lOiJsdWNpZGU6Zm9sZGVyUGx1cyIsYWN0aW9uOnMoKCk9PmFsZXJ0KCJDcmVhdGUgbmV3IHByb2plY3QiKSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiSW1wb3J0IixpY29uTmFtZToibHVjaWRlOmRvd25sb2FkIixhY3Rpb246cygoKT0+YWxlcnQoIkltcG9ydCBwcm9qZWN0IiksImFjdGlvbiIpfSx7dHlwZToiZGl2aWRlciJ9LHt0eXBlOiJsaW5rIixrZXk6IlRlbXBsYXRlcyIsaWNvbk5hbWU6Imx1Y2lkZTpsYXlvdXRUZW1wbGF0ZSIsaHJlZjoiaHR0cHM6Ly90ZW1wbGF0ZXMuZXhhbXBsZS5jb20ifV19XX0pLG4uYXBwdWkuc2V0Q29udGVudFRhYnMoW3trZXk6IkdyaWQiLGljb25OYW1lOiJsdWNpZGU6Z3JpZCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJHcmlkIHZpZXciKSwiYWN0aW9uIil9LHtrZXk6Ikxpc3QiLGljb25OYW1lOiJsdWNpZGU6bGlzdCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJMaXN0IHZpZXciKSwiYWN0aW9uIil9LHtrZXk6IkJvYXJkIixpY29uTmFtZToibHVjaWRlOmthbmJhbiIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJCb2FyZCB2aWV3IiksImFjdGlvbiIpfV0pfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8c3R5bGU+CiAgICAgICAgOmhvc3QgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgY29sb3I6ICNhM2EzYTM7CiAgICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCAnSW50ZXInLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmOwogICAgICAgIH0KICAgICAgICBoMSB7IGNvbG9yOiAjZmFmYWZhOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDI0cHg7IG1hcmdpbi1ib3R0b206IDI0cHg7IH0KICAgICAgICAucHJvamVjdHMgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgfQogICAgICAgIC5wcm9qZWN0IHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wMyk7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzOwogICAgICAgIH0KICAgICAgICAucHJvamVjdDpob3ZlciB7CiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4yKTsKICAgICAgICB9CiAgICAgICAgLnByb2plY3QgaDMgeyBjb2xvcjogI2ZhZmFmYTsgbWFyZ2luOiAwIDAgOHB4IDA7IGZvbnQtc2l6ZTogMTZweDsgfQogICAgICAgIC5wcm9qZWN0IHAgeyBjb2xvcjogIzczNzM3MzsgbWFyZ2luOiAwOyBmb250LXNpemU6IDEzcHg7IH0KICAgICAgICAuYmFkZ2UgewogICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgICAgYmFja2dyb3VuZDogIzE0NTMyZDsKICAgICAgICAgIGNvbG9yOiAjNGFkZTgwOwogICAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDlweDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8aDE+UHJvamVjdHM8L2gxPgogICAgICA8ZGl2IGNsYXNzPSJwcm9qZWN0cyI+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvamVjdCI+CiAgICAgICAgICA8aDM+RnJvbnRlbmQgQXBwIDxzcGFuIGNsYXNzPSJiYWRnZSI+QWN0aXZlPC9zcGFuPjwvaDM+CiAgICAgICAgICA8cD5SZWFjdC1iYXNlZCBkYXNoYm9hcmQgYXBwbGljYXRpb248L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvamVjdCI+CiAgICAgICAgICA8aDM+QVBJIFNlcnZlciA8c3BhbiBjbGFzcz0iYmFkZ2UiPkFjdGl2ZTwvc3Bhbj48L2gzPgogICAgICAgICAgPHA+Tm9kZS5qcyBSRVNUIEFQSSBiYWNrZW5kPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InByb2plY3QiPgogICAgICAgICAgPGgzPk1vYmlsZSBBcHAgPHNwYW4gY2xhc3M9ImJhZGdlIj5BY3RpdmU8L3NwYW4+PC9oMz4KICAgICAgICAgIDxwPlJlYWN0IE5hdGl2ZSBpT1MvQW5kcm9pZCBhcHA8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvamVjdCI+CiAgICAgICAgICA8aDM+RG9jdW1lbnRhdGlvbjwvaDM+CiAgICAgICAgICA8cD5UZWNobmljYWwgZG9jdW1lbnRhdGlvbiBzaXRlPC9wPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9fTtyZXR1cm4gbz1yfSkoKSx5S2k9KCgpPT57bGV0IGE9W2llKCJkZW1vLXRhc2tzLXZpZXciKV0sZSx0PVtdLHIsaT1wZTt2YXIgbz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVtb1Rhc2tzVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBuPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO2g1KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm59LG51bGwsdCksbz1yPWUudmFsdWUsbiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpufSksY2wocix0KX1vbkFjdGl2YXRlKG4pe24uYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiVGFza3MiLGdyb3Vwczpbe25hbWU6IlZpZXdzIixpY29uTmFtZToibHVjaWRlOmV5ZSIsaXRlbXM6W3trZXk6IkFsbCBUYXNrcyIsaWNvbk5hbWU6Imxpc3QiLGJhZGdlOjEyLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiQWxsIiksImFjdGlvbiIpfSx7a2V5OiJUb2RheSIsaWNvbk5hbWU6ImNhbGVuZGFyIixiYWRnZTozLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiVG9kYXkiKSwiYWN0aW9uIil9LHtrZXk6IlVwY29taW5nIixpY29uTmFtZToiY2xvY2siLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiVXBjb21pbmciKSwiYWN0aW9uIil9LHtrZXk6IkNvbXBsZXRlZCIsaWNvbk5hbWU6ImNoZWNrQ2lyY2xlIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkNvbXBsZXRlZCIpLCJhY3Rpb24iKX1dfSx7bmFtZToiRmlsdGVycyIsaWNvbk5hbWU6Imx1Y2lkZTpmaWx0ZXIiLGl0ZW1zOlt7dHlwZToiaGVhZGVyIixsYWJlbDoiUHJpb3JpdHkifSx7dHlwZToibXVsdGlGaWx0ZXIiLGtleToiUHJpb3JpdHkiLGljb25OYW1lOiJsdWNpZGU6ZmxhZyIsb3B0aW9uczpbe2tleToiaGlnaCIsbGFiZWw6IkhpZ2giLGNoZWNrZWQ6ITAsaWNvbk5hbWU6Imx1Y2lkZTphbGVydENpcmNsZSJ9LHtrZXk6Im1lZGl1bSIsbGFiZWw6Ik1lZGl1bSIsY2hlY2tlZDohMCxpY29uTmFtZToibHVjaWRlOm1pbnVzQ2lyY2xlIn0se2tleToibG93IixsYWJlbDoiTG93IixjaGVja2VkOiExLGljb25OYW1lOiJsdWNpZGU6Y2lyY2xlIn1dLG9uQ2hhbmdlOnMobD0+Y29uc29sZS5sb2coIlByaW9yaXR5IGZpbHRlcjoiLGwpLCJvbkNoYW5nZSIpfSx7dHlwZToiZGl2aWRlciJ9LHt0eXBlOiJoZWFkZXIiLGxhYmVsOiJPcHRpb25zIn0se3R5cGU6ImZpbHRlciIsa2V5OiJTaG93IFN1YnRhc2tzIixpY29uTmFtZToibHVjaWRlOmxpc3RUcmVlIixhY3RpdmU6ITAsb25Ub2dnbGU6cyhsPT5jb25zb2xlLmxvZygiU2hvdyBzdWJ0YXNrczoiLGwpLCJvblRvZ2dsZSIpfSx7dHlwZToiZmlsdGVyIixrZXk6IlNob3cgQ29tcGxldGVkIixpY29uTmFtZToibHVjaWRlOmNoZWNrU3F1YXJlIixhY3RpdmU6ITEsb25Ub2dnbGU6cyhsPT5jb25zb2xlLmxvZygiU2hvdyBjb21wbGV0ZWQ6IixsKSwib25Ub2dnbGUiKX1dfSx7bmFtZToiQWN0aW9ucyIsaWNvbk5hbWU6Imx1Y2lkZTp6YXAiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IkFkZCBUYXNrIixpY29uTmFtZToibHVjaWRlOnBsdXMiLGFjdGlvbjpzKCgpPT5hbGVydCgiQWRkIG5ldyB0YXNrIiksImFjdGlvbiIpfSx7dHlwZToiYWN0aW9uIixrZXk6IkltcG9ydCBUYXNrcyIsaWNvbk5hbWU6Imx1Y2lkZTp1cGxvYWQiLGFjdGlvbjpzKCgpPT5hbGVydCgiSW1wb3J0IHRhc2tzIiksImFjdGlvbiIpfSx7dHlwZToiZGl2aWRlciJ9LHt0eXBlOiJhY3Rpb24iLGtleToiQ2xlYXIgQ29tcGxldGVkIixpY29uTmFtZToibHVjaWRlOnRyYXNoMiIsdmFyaWFudDoiZGFuZ2VyIixjb25maXJtTWVzc2FnZToiRGVsZXRlIGFsbCBjb21wbGV0ZWQgdGFza3M/IixhY3Rpb246cygoKT0+YWxlcnQoIkNsZWFyZWQgY29tcGxldGVkIHRhc2tzIiksImFjdGlvbiIpfV19XX0pLG4uYXBwdWkuc2V0Q29udGVudFRhYnMoW3trZXk6Ikxpc3QiLGljb25OYW1lOiJsdWNpZGU6bGlzdCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJMaXN0IiksImFjdGlvbiIpfSx7a2V5OiJDYWxlbmRhciIsaWNvbk5hbWU6Imx1Y2lkZTpjYWxlbmRhciIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJDYWxlbmRhciIpLCJhY3Rpb24iKX1dKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgIGNvbG9yOiAjYTNhM2EzOwogICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjsKICAgICAgICB9CiAgICAgICAgaDEgeyBjb2xvcjogI2ZhZmFmYTsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAyNHB4OyBtYXJnaW4tYm90dG9tOiAyNHB4OyB9CiAgICAgICAgLnRhc2stbGlzdCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgIH0KICAgICAgICAudGFzayB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wMyk7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIH0KICAgICAgICAuY2hlY2tib3ggewogICAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjNTI1MjUyOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIH0KICAgICAgICAudGFzay10ZXh0IHsgY29sb3I6ICNmYWZhZmE7IGZsZXg6IDE7IH0KICAgICAgICAuZHVlLWRhdGUgeyBjb2xvcjogIzczNzM3MzsgZm9udC1zaXplOiAxMnB4OyB9CiAgICAgICAgLnByaW9yaXR5IHsKICAgICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgfQogICAgICAgIC5wcmlvcml0eS5oaWdoIHsgYmFja2dyb3VuZDogIzQ1MGEwYTsgY29sb3I6ICNmODcxNzE7IH0KICAgICAgICAucHJpb3JpdHkubWVkaXVtIHsgYmFja2dyb3VuZDogIzQ1MWEwMzsgY29sb3I6ICNmYmJmMjQ7IH0KICAgICAgPC9zdHlsZT4KICAgICAgPGgxPlRhc2tzPC9oMT4KICAgICAgPGRpdiBjbGFzcz0idGFzay1saXN0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YXNrIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNoZWNrYm94Ij48L2Rpdj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YXNrLXRleHQiPlJldmlldyBwdWxsIHJlcXVlc3QgIzQyPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImR1ZS1kYXRlIj5Ub2RheTwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmlvcml0eSBoaWdoIj5IaWdoPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRhc2siPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2hlY2tib3giPjwvZGl2PgogICAgICAgICAgPHNwYW4gY2xhc3M9InRhc2stdGV4dCI+VXBkYXRlIGRvY3VtZW50YXRpb248L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iZHVlLWRhdGUiPlRvbW9ycm93PC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9InByaW9yaXR5IG1lZGl1bSI+TWVkaXVtPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRhc2siPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2hlY2tib3giPjwvZGl2PgogICAgICAgICAgPHNwYW4gY2xhc3M9InRhc2stdGV4dCI+V3JpdGUgdW5pdCB0ZXN0czwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJkdWUtZGF0ZSI+RGVjIDIwPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9fTtyZXR1cm4gbz1yfSkoKSxJbGE9cygoKT0+e2xldCBhPXticmFuZGluZzp7bG9nb0ljb246Imx1Y2lkZTpib3giLGxvZ29UZXh0OiJBY21lIEFwcCJ9LGFwcEJhcjp7bWVudUl0ZW1zOlt7bmFtZToiRmlsZSIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJOZXcgUHJvamVjdCIsc2hvcnRjdXQ6IkNtZCtOIixpY29uTmFtZToiZmlsZVBsdXMiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJOZXciKSwiYWN0aW9uIil9LHtuYW1lOiJPcGVuLi4uIixzaG9ydGN1dDoiQ21kK08iLGljb25OYW1lOiJmb2xkZXJPcGVuIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiIpLCJhY3Rpb24iKX0se25hbWU6IlJlY2VudCBQcm9qZWN0cyIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJteS1hcHAiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIG15LWFwcCIpLCJhY3Rpb24iKX0se25hbWU6ImNvbXBvbmVudC1saWIiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIGNvbXBvbmVudC1saWIiKSwiYWN0aW9uIil9XX0se2RpdmlkZXI6ITB9LHtuYW1lOiJTYXZlIEFsbCIsc2hvcnRjdXQ6IkNtZCtTIixpY29uTmFtZToic2F2ZSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlNhdmUiKSwiYWN0aW9uIil9XX0se25hbWU6IkVkaXQiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiVW5kbyIsc2hvcnRjdXQ6IkNtZCtaIixpY29uTmFtZToidW5kbyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlVuZG8iKSwiYWN0aW9uIil9LHtuYW1lOiJSZWRvIixzaG9ydGN1dDoiQ21kK1NoaWZ0K1oiLGljb25OYW1lOiJyZWRvIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiUmVkbyIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJDdXQiLHNob3J0Y3V0OiJDbWQrWCIsaWNvbk5hbWU6InNjaXNzb3JzIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQ3V0IiksImFjdGlvbiIpfSx7bmFtZToiQ29weSIsc2hvcnRjdXQ6IkNtZCtDIixpY29uTmFtZToiY29weSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkNvcHkiKSwiYWN0aW9uIil9LHtuYW1lOiJQYXN0ZSIsc2hvcnRjdXQ6IkNtZCtWIixpY29uTmFtZToiY2xpcGJvYXJkIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiUGFzdGUiKSwiYWN0aW9uIil9XX0se25hbWU6IlZpZXciLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiVG9nZ2xlIFNpZGViYXIiLHNob3J0Y3V0OiJDbWQrQiIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlRvZ2dsZSBzaWRlYmFyIiksImFjdGlvbiIpfSx7bmFtZToiVG9nZ2xlIEFjdGl2aXR5IExvZyIsc2hvcnRjdXQ6IkNtZCtTaGlmdCtBIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiVG9nZ2xlIGFjdGl2aXR5IiksImFjdGlvbiIpfV19LHtuYW1lOiJIZWxwIixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IkRvY3VtZW50YXRpb24iLGljb25OYW1lOiJib29rIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRG9jcyIpLCJhY3Rpb24iKX0se25hbWU6IktleWJvYXJkIFNob3J0Y3V0cyIsaWNvbk5hbWU6ImtleWJvYXJkIixzaG9ydGN1dDoiQ21kKy8iLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJTaG9ydGN1dHMiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiQWJvdXQiLGljb25OYW1lOiJpbmZvIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQWJvdXQiKSwiYWN0aW9uIil9XX1dLGJyZWFkY3J1bWJzOiJEYXNoYm9hcmQiLHNob3dXaW5kb3dDb250cm9sczohMCxzaG93U2VhcmNoOiEwLHVzZXI6e25hbWU6IkphbmUgU21pdGgiLGVtYWlsOiJqYW5lLnNtaXRoQGV4YW1wbGUuY29tIixzdGF0dXM6Im9ubGluZSJ9LHByb2ZpbGVNZW51SXRlbXM6W3tuYW1lOiJQcm9maWxlIixpY29uTmFtZToidXNlciIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlByb2ZpbGUiKSwiYWN0aW9uIil9LHtuYW1lOiJBY2NvdW50IFNldHRpbmdzIixpY29uTmFtZToic2V0dGluZ3MiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJTZXR0aW5ncyIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJIZWxwICYgU3VwcG9ydCIsaWNvbk5hbWU6ImhlbHBDaXJjbGUiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJIZWxwIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IlNpZ24gT3V0IixpY29uTmFtZToibG9nT3V0IixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiU2lnbiBvdXQiKSwiYWN0aW9uIil9XX0sdmlld3M6W3tpZDoiZGFzaGJvYXJkIixuYW1lOiJEYXNoYm9hcmQiLGljb25OYW1lOiJsdWNpZGU6aG9tZSIsY29udGVudDoiZGVtby1kYXNoYm9hcmQtdmlldyIscm91dGU6ImRhc2hib2FyZCJ9LHtpZDoicHJvamVjdHMiLG5hbWU6IlByb2plY3RzIixpY29uTmFtZToibHVjaWRlOmZvbGRlciIsY29udGVudDoiZGVtby1wcm9qZWN0cy12aWV3Iixyb3V0ZToicHJvamVjdHMiLGJhZGdlOjN9LHtpZDoidGFza3MiLG5hbWU6IlRhc2tzIixpY29uTmFtZToibHVjaWRlOmNoZWNrU3F1YXJlIixjb250ZW50OiJkZW1vLXRhc2tzLXZpZXciLHJvdXRlOiJ0YXNrcyIsYmFkZ2U6MTJ9LHtpZDoic2V0dGluZ3MiLG5hbWU6IlNldHRpbmdzIixpY29uTmFtZToibHVjaWRlOnNldHRpbmdzIixjb250ZW50OiJkZW1vLXNldHRpbmdzLXZpZXciLHJvdXRlOiJzZXR0aW5ncy86c2VjdGlvbj8ifV0sbWFpbk1lbnU6e3NlY3Rpb25zOlt7bmFtZToiTWFpbiIsdmlld3M6WyJkYXNoYm9hcmQiXX0se25hbWU6IldvcmtzcGFjZSIsdmlld3M6WyJwcm9qZWN0cyIsInRhc2tzIl19XSxib3R0b21JdGVtczpbInNldHRpbmdzIl19LGRlZmF1bHRWaWV3OiJkYXNoYm9hcmQiLGJvdHRvbUJhcjp7dmlzaWJsZTohMCx3aWRnZXRzOlt7aWQ6InN0YXR1cyIsaWNvbk5hbWU6Imx1Y2lkZTphY3Rpdml0eSIsbGFiZWw6IlN5c3RlbSBPbmxpbmUiLHN0YXR1czoic3VjY2VzcyIsdG9vbHRpcDoiQWxsIHN5c3RlbXMgb3BlcmF0aW9uYWwiLG9uQ2xpY2s6cygoKT0+Y29uc29sZS5sb2coIlN0YXR1cyBjbGlja2VkIiksIm9uQ2xpY2siKX0se2lkOiJub3RpZmljYXRpb25zIixpY29uTmFtZToibHVjaWRlOmJlbGwiLGxhYmVsOiIzIG5vdGlmaWNhdGlvbnMiLHN0YXR1czoid2FybmluZyIsdG9vbHRpcDoiWW91IGhhdmUgdW5yZWFkIG5vdGlmaWNhdGlvbnMiLG9uQ2xpY2s6cygoKT0+Y29uc29sZS5sb2coIk5vdGlmaWNhdGlvbnMgY2xpY2tlZCIpLCJvbkNsaWNrIil9LHtpZDoidmVyc2lvbiIsaWNvbk5hbWU6Imx1Y2lkZTpnaXRCcmFuY2giLGxhYmVsOiJ2MS4yLjMiLHBvc2l0aW9uOiJyaWdodCIsdG9vbHRpcDoiQ3VycmVudCB2ZXJzaW9uIn1dLGFjdGlvbnM6W3tpZDoidGVybWluYWwiLGljb25OYW1lOiJsdWNpZGU6dGVybWluYWwiLHRvb2x0aXA6Ik9wZW4gVGVybWluYWwiLHBvc2l0aW9uOiJyaWdodCIsb25DbGljazpzKCgpPT5jb25zb2xlLmxvZygiVGVybWluYWwgY2xpY2tlZCIpLCJvbkNsaWNrIil9XX0sb25WaWV3Q2hhbmdlOnMoKHIsaSk9Pntjb25zb2xlLmxvZyhgVmlldyBjaGFuZ2VkIHRvOiAke3J9ICgke2kubmFtZX0pYCl9LCJvblZpZXdDaGFuZ2UiKSxvblNlYXJjaDpzKHI9Pntjb25zb2xlLmxvZygiU2VhcmNoIHF1ZXJ5OiIscil9LCJvblNlYXJjaCIpfSxlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2UuY2xhc3NOYW1lPSJkZW1vLWNvbnRhaW5lciIsZS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgb3ZlcmZsb3c6IGhpZGRlbjsiO2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRlZXMtYXBwdWkiKTtyZXR1cm4gZS5hcHBlbmRDaGlsZCh0KSxzZXRUaW1lb3V0KGFzeW5jKCk9Pnthd2FpdCB0LnVwZGF0ZUNvbXBsZXRlLHQuY29uZmlndXJlKGEpLHNldFRpbWVvdXQoKCk9Pnt0LmFjdGl2aXR5TG9nLmFkZE1hbnkoW3t0eXBlOiJsb2dpbiIsdXNlcjoiSmFuZSBTbWl0aCIsbWVzc2FnZToibG9nZ2VkIGluIGZyb20gQ2hyb21lIG9uIG1hY09TIn0se3R5cGU6ImNyZWF0ZSIsdXNlcjoiSmFuZSBTbWl0aCIsbWVzc2FnZTonY3JlYXRlZCBwcm9qZWN0ICJGcm9udGVuZCBBcHAiJ30se3R5cGU6InVwZGF0ZSIsdXNlcjoiSm9obiBEb2UiLG1lc3NhZ2U6InVwZGF0ZWQgQVBJIGRvY3VtZW50YXRpb24ifSx7dHlwZToidmlldyIsdXNlcjoiSmFuZSBTbWl0aCIsbWVzc2FnZToidmlld2VkIGRhc2hib2FyZCBhbmFseXRpY3MifSx7dHlwZToiZGVsZXRlIix1c2VyOiJBZG1pbiIsbWVzc2FnZToicmVtb3ZlZCBkZXByZWNhdGVkIGVuZHBvaW50In0se3R5cGU6ImN1c3RvbSIsdXNlcjoiU3lzdGVtIixtZXNzYWdlOiJzY2hlZHVsZWQgYmFja3VwIGNvbXBsZXRlZCIsaWNvbk5hbWU6Imx1Y2lkZTpkYXRhYmFzZSJ9XSl9LDUwMCksdC52aWV3Q2hhbmdlZCQuc3Vic2NyaWJlKHI9Pntjb25zb2xlLmxvZygiVmlldyBjaGFuZ2VkIGV2ZW50OiIsciksdC5zZXRCcmVhZGNydW1icyhyLnZpZXcubmFtZSl9KSx0LnZpZXdMaWZlY3ljbGUkLnN1YnNjcmliZShyPT57Y29uc29sZS5sb2coIkxpZmVjeWNsZSBldmVudDoiLHIudHlwZSxyLnZpZXdJZCl9KSxzZXRUaW1lb3V0KCgpPT57dC5zZXRNYWluTWVudUJhZGdlKCJ0YXNrcyIsMTUpLHQuYWN0aXZpdHlMb2cuYWRkKHt0eXBlOiJ1cGRhdGUiLHVzZXI6IlN5c3RlbSIsbWVzc2FnZToibmV3IHRhc2tzIGFkZGVkIn0pfSw1ZTMpfSwwKSx3YAogICAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICAgICR7ZX0KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICBgfSwiZGVtb0Z1bmMiKX0pO3ZhciBYVyxoUWU9ZigoKT0+e2xlKCk7WFc9Y2xhc3N7c3RhdGlje3ModGhpcywiVmlld1JlZ2lzdHJ5Iil9dmlld3M9bmV3IE1hcDtpbnN0YW5jZXM9bmV3IE1hcDtjdXJyZW50Vmlld0lkPW51bGw7YXBwdWk9bnVsbDtzZXRBcHB1aVJlZihlKXt0aGlzLmFwcHVpPWV9cmVnaXN0ZXIoZSl7dGhpcy52aWV3cy5oYXMoZS5pZCkmJmNvbnNvbGUud2FybihgVmlldyB3aXRoIGlkICIke2UuaWR9IiBhbHJlYWR5IHJlZ2lzdGVyZWQuIE92ZXJ3cml0aW5nLmApLHRoaXMudmlld3Muc2V0KGUuaWQsZSl9cmVnaXN0ZXJBbGwoZSl7ZS5mb3JFYWNoKHQ9PnRoaXMucmVnaXN0ZXIodCkpfWdldChlKXtyZXR1cm4gdGhpcy52aWV3cy5nZXQoZSl9Z2V0Vmlld0lkcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMudmlld3Mua2V5cygpKX1nZXRBbGwoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnZpZXdzLnZhbHVlcygpKX1nZXRSb3V0ZShlKXtsZXQgdD10aGlzLnZpZXdzLmdldChlKTtyZXR1cm4gdD8ucm91dGV8fHQ/LmlkfHwiIn1maW5kQnlSb3V0ZShlKXtmb3IobGV0IHQgb2YgdGhpcy52aWV3cy52YWx1ZXMoKSl7bGV0IHI9dC5yb3V0ZXx8dC5pZCxpPXRoaXMubWF0Y2hSb3V0ZShyLGUpO2lmKGkhPT1udWxsKXJldHVybnt2aWV3OnQscGFyYW1zOml9fX1tYXRjaFJvdXRlKGUsdCl7bGV0IHI9ZS5zcGxpdCgiLyIpLGk9dC5zcGxpdCgiLyIpO2lmKHIubGVuZ3RoPjAmJnJbci5sZW5ndGgtMV0uZW5kc1dpdGgoIj8iKSl7aWYoaS5sZW5ndGg8ci5sZW5ndGgtMXx8aS5sZW5ndGg+ci5sZW5ndGgpcmV0dXJuIG51bGx9ZWxzZSBpZihyLmxlbmd0aCE9PWkubGVuZ3RoKXJldHVybiBudWxsO2xldCBuPXt9O2ZvcihsZXQgbD0wO2w8ci5sZW5ndGg7bCsrKXtsZXQgZD1yW2xdLGM9ZC5lbmRzV2l0aCgiPyIpO2lmKGMmJihkPWQuc2xpY2UoMCwtMSkpLGQuc3RhcnRzV2l0aCgiOiIpKXtsZXQgcD1kLnNsaWNlKDEpO2lmKGlbbF0hPT12b2lkIDApbltwXT1pW2xdO2Vsc2UgaWYoIWMpcmV0dXJuIG51bGx9ZWxzZSBpZihpW2xdIT09ZClyZXR1cm4gbnVsbH1yZXR1cm4gbn1hc3luYyBjYW5MZWF2ZUN1cnJlbnRWaWV3KCl7aWYoIXRoaXMuY3VycmVudFZpZXdJZClyZXR1cm4hMDtsZXQgZT10aGlzLmluc3RhbmNlcy5nZXQodGhpcy5jdXJyZW50Vmlld0lkKTtpZighZSlyZXR1cm4hMDtsZXQgdD1lO3JldHVybiB0eXBlb2YgdC5jYW5EZWFjdGl2YXRlPT0iZnVuY3Rpb24iP2F3YWl0IHQuY2FuRGVhY3RpdmF0ZSgpOiEwfWFzeW5jIGFjdGl2YXRlVmlldyhlLHQscil7bGV0IGk9dGhpcy52aWV3cy5nZXQoZSk7aWYoIWkpcmV0dXJuIGNvbnNvbGUuZXJyb3IoYFZpZXcgIiR7ZX0iIG5vdCBmb3VuZCBpbiByZWdpc3RyeWApLG51bGw7bGV0IG89aS5jYWNoZSE9PSExO3RoaXMuY3VycmVudFZpZXdJZCYmdGhpcy5jdXJyZW50Vmlld0lkIT09ZSYmYXdhaXQgdGhpcy5kZWFjdGl2YXRlVmlldyh0aGlzLmN1cnJlbnRWaWV3SWQpO2xldCBuPW8/dGhpcy5pbnN0YW5jZXMuZ2V0KGUpOnZvaWQgMDtpZihuKW4uc3R5bGUuZGlzcGxheT0iIjtlbHNle2lmKG49YXdhaXQgdGhpcy5jcmVhdGVWaWV3RWxlbWVudChpKSwhbilyZXR1cm4gY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGNyZWF0ZSBlbGVtZW50IGZvciB2aWV3ICIke2V9ImApLG51bGw7dC5hcHBlbmRDaGlsZChuKSxvJiZ0aGlzLmluc3RhbmNlcy5zZXQoZSxuKX1yZXR1cm4gdGhpcy5jdXJyZW50Vmlld0lkPWUsYXdhaXQgdGhpcy5jYWxsT25BY3RpdmF0ZShuLGUsciksbn1hc3luYyBkZWFjdGl2YXRlVmlldyhlKXtsZXQgdD10aGlzLmluc3RhbmNlcy5nZXQoZSk7aWYoIXQpcmV0dXJuO2xldCByPXQ7dHlwZW9mIHIub25EZWFjdGl2YXRlPT0iZnVuY3Rpb24iJiZhd2FpdCByLm9uRGVhY3RpdmF0ZSgpLHQuc3R5bGUuZGlzcGxheT0ibm9uZSJ9YXN5bmMgY3JlYXRlVmlld0VsZW1lbnQoZSl7bGV0IHQ9ZS5jb250ZW50O2lmKHR5cGVvZiB0PT0iZnVuY3Rpb24iJiYhKHQucHJvdG90eXBlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpJiZ0LmNvbnN0cnVjdG9yLm5hbWU9PT0iQXN5bmNGdW5jdGlvbiIpdHJ5e3Q9YXdhaXQgdCgpfWNhdGNoKGkpe3JldHVybiBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gbG9hZCBhc3luYyBjb250ZW50IGZvciB2aWV3ICIke2UuaWR9IjpgLGkpLG51bGx9bGV0IHI7aWYodHlwZW9mIHQ9PSJzdHJpbmciKXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0KTtlbHNlIGlmKHR5cGVvZiB0PT0iZnVuY3Rpb24iKWlmKHQucHJvdG90eXBlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpcj1uZXcgdDtlbHNle2xldCBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2kuY2xhc3NOYW1lPSJ2aWV3LWNvbnRlbnQtd3JhcHBlciIsaS5zdHlsZS5jc3NUZXh0PSJkaXNwbGF5OiBjb250ZW50czsiO2xldCBvPXQoKTt0MChvLGkpLHI9aX1lbHNlIHJldHVybiBjb25zb2xlLmVycm9yKGBJbnZhbGlkIGNvbnRlbnQgdHlwZSBmb3IgdmlldyAiJHtlLmlkfSJgKSxudWxsO3JldHVybiByLmRhdGFzZXQudmlld0lkPWUuaWQscn1hc3luYyBjYWxsT25BY3RpdmF0ZShlLHQscil7bGV0IGk9ZTtpZih0eXBlb2YgaS5vbkFjdGl2YXRlPT0iZnVuY3Rpb24iKXtsZXQgbz17YXBwdWk6dGhpcy5hcHB1aSx2aWV3SWQ6dCxwYXJhbXM6cn07YXdhaXQgaS5vbkFjdGl2YXRlKG8pfX1yZW5kZXJWaWV3KGUsdCl7bGV0IHI9dGhpcy52aWV3cy5nZXQoZSk7aWYoIXIpcmV0dXJuIGNvbnNvbGUuZXJyb3IoYFZpZXcgIiR7ZX0iIG5vdCBmb3VuZCBpbiByZWdpc3RyeWApLG51bGw7dC5pbm5lckhUTUw9IiI7bGV0IGksbz1yLmNvbnRlbnQ7aWYodHlwZW9mIG89PSJzdHJpbmciKWk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChvKTtlbHNlIGlmKHR5cGVvZiBvPT0iZnVuY3Rpb24iKWlmKG8ucHJvdG90eXBlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpaT1uZXcgbztlbHNle2xldCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO24uY2xhc3NOYW1lPSJ2aWV3LWNvbnRlbnQtd3JhcHBlciIsbi5zdHlsZS5jc3NUZXh0PSJkaXNwbGF5OiBjb250ZW50czsiO2xldCBsPW8oKTt0MChsLG4pLGk9bn1lbHNlIHJldHVybiBjb25zb2xlLmVycm9yKGBJbnZhbGlkIGNvbnRlbnQgdHlwZSBmb3IgdmlldyAiJHtlfSJgKSxudWxsO3JldHVybiB0LmFwcGVuZENoaWxkKGkpLHRoaXMuaW5zdGFuY2VzLnNldChlLGkpLHRoaXMuY3VycmVudFZpZXdJZD1lLGl9Z2V0Q3VycmVudFZpZXdJZCgpe3JldHVybiB0aGlzLmN1cnJlbnRWaWV3SWR9Z2V0SW5zdGFuY2UoZSl7cmV0dXJuIHRoaXMuaW5zdGFuY2VzLmdldChlKX1jbGVhckluc3RhbmNlKGUpe2xldCB0PXRoaXMuaW5zdGFuY2VzLmdldChlKTt0JiZ0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSx0aGlzLmluc3RhbmNlcy5kZWxldGUoZSksdGhpcy5jdXJyZW50Vmlld0lkPT09ZSYmKHRoaXMuY3VycmVudFZpZXdJZD1udWxsKX1jbGVhckluc3RhbmNlcygpe2ZvcihsZXRbZSx0XW9mIHRoaXMuaW5zdGFuY2VzKXQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpO3RoaXMuaW5zdGFuY2VzLmNsZWFyKCksdGhpcy5jdXJyZW50Vmlld0lkPW51bGx9dW5yZWdpc3RlcihlKXtyZXR1cm4gdGhpcy5jbGVhckluc3RhbmNlKGUpLHRoaXMudmlld3MuZGVsZXRlKGUpfWNsZWFyKCl7dGhpcy52aWV3cy5jbGVhcigpLHRoaXMuY2xlYXJJbnN0YW5jZXMoKX1oYXMoZSl7cmV0dXJuIHRoaXMudmlld3MuaGFzKGUpfWdldCBzaXplKCl7cmV0dXJuIHRoaXMudmlld3Muc2l6ZX19fSk7dmFyIFJsYSxPbGE9ZigoKT0+e2xlKCk7UmxhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgLmRlbW8tbWFpbm1lbnUtY29udGFpbmVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBiYWNrZ3JvdW5kOiAjMWExYTFhOwogICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICB9CiAgICAuZGVtby1tYWlubWVudS1jb250YWluZXIgLnNwYWNlciB7CiAgICAgIGZsZXg6IDE7CiAgICAgIGJhY2tncm91bmQ6ICMwZjBmMGY7CiAgICB9CiAgPC9zdHlsZT4KICA8ZGl2IGNsYXNzPSJkZW1vLW1haW5tZW51LWNvbnRhaW5lciI+CiAgICA8ZGVlcy1hcHB1aS1tYWlubWVudQogICAgICAubG9nb0ljb249JHsibHVjaWRlOmJveCJ9CiAgICAgIC5sb2dvVGV4dD0keyJBY21lIEFwcCJ9CiAgICAgIC5tZW51R3JvdXBzPSR7W3t0YWJzOlt7a2V5OiJEYXNoYm9hcmQiLGljb25OYW1lOiJsdWNpZGU6aG9tZSIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJEYXNoYm9hcmQiKSwiYWN0aW9uIil9LHtrZXk6IkluYm94IixpY29uTmFtZToibHVjaWRlOmluYm94IixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkluYm94IiksImFjdGlvbiIpfV19LHtuYW1lOiJXb3Jrc3BhY2UiLHRhYnM6W3trZXk6IlByb2plY3RzIixpY29uTmFtZToibHVjaWRlOmZvbGRlciIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJQcm9qZWN0cyIpLCJhY3Rpb24iKX0se2tleToiVGFza3MiLGljb25OYW1lOiJsdWNpZGU6Y2hlY2tTcXVhcmUiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiVGFza3MiKSwiYWN0aW9uIil9LHtrZXk6IkRvY3VtZW50cyIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlVGV4dCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJEb2N1bWVudHMiKSwiYWN0aW9uIil9XX0se25hbWU6IkFuYWx5dGljcyIsdGFiczpbe2tleToiUmVwb3J0cyIsaWNvbk5hbWU6Imx1Y2lkZTpiYXJDaGFydDMiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiUmVwb3J0cyIpLCJhY3Rpb24iKX0se2tleToiSW5zaWdodHMiLGljb25OYW1lOiJsdWNpZGU6bGlnaHRidWxiIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkluc2lnaHRzIiksImFjdGlvbiIpfV19XX0KICAgICAgLmJvdHRvbVRhYnM9JHtbe2tleToiU2V0dGluZ3MiLGljb25OYW1lOiJsdWNpZGU6c2V0dGluZ3MiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiU2V0dGluZ3MiKSwiYWN0aW9uIil9LHtrZXk6IkhlbHAiLGljb25OYW1lOiJsdWNpZGU6aGVscENpcmNsZSIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJIZWxwIiksImFjdGlvbiIpfV19CiAgICA+PC9kZWVzLWFwcHVpLW1haW5tZW51PgogICAgPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBBNCxlbyxGbGEsbVFlPWYoKCk9PntWcygpO240KCk7VWkoKTtsZSgpO1pyKCk7T2xhKCk7UWUoKTtBND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sZW89ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEZsYT0oKCk9PntsZXQgYT1baWUoImRlZXMtYXBwdWktbWFpbm1lbnUiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXTt2YXIgQj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0FwcHVpTWFpbm1lbnUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOkFycmF5fSldLHg9WyQoe3R5cGU6QXJyYXl9KV0seT1bJCh7dHlwZTpBcnJheX0pXSxOPVskKCldLE89WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLEE0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9nb0ljb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImxvZ29JY29uImluIFMsImhhcyIpLGdldDpzKFM9PlMubG9nb0ljb24sImdldCIpLHNldDpzKChTLFApPT57Uy5sb2dvSWNvbj1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG4sbCksQTQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2dvVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ibG9nb1RleHQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5sb2dvVGV4dCwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmxvZ29UZXh0PVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYyxwKSxBNCh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1lbnVHcm91cHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+Im1lbnVHcm91cHMiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5tZW51R3JvdXBzLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MubWVudUdyb3Vwcz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG0sdiksQTQodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJib3R0b21UYWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJib3R0b21UYWJzImluIFMsImhhcyIpLGdldDpzKFM9PlMuYm90dG9tVGFicywiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmJvdHRvbVRhYnM9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLEE0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idGFicyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnRhYnMsImdldCIpLHNldDpzKChTLFApPT57Uy50YWJzPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sayxDKSxBNCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkVGFiIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJzZWxlY3RlZFRhYiJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnNlbGVjdGVkVGFiLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1Muc2VsZWN0ZWRUYWI9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxfLHopLEE0KHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sbGFwc2VkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJjb2xsYXBzZWQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5jb2xsYXBzZWQsImdldCIpLHNldDpzKChTLFApPT57Uy5jb2xsYXBzZWQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxULEUpLEE0KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOk19LG51bGwsdCksQj1yPWUudmFsdWUsTSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpNfSl9c3RhdGljIGRlbW89UmxhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07I2U9ZW8odGhpcyxuLCIiKTtnZXQgbG9nb0ljb24oKXtyZXR1cm4gdGhpcy4jZX1zZXQgbG9nb0ljb24oTSl7dGhpcy4jZT1NfSN0PShlbyh0aGlzLGwpLGVvKHRoaXMsYywiIikpO2dldCBsb2dvVGV4dCgpe3JldHVybiB0aGlzLiN0fXNldCBsb2dvVGV4dChNKXt0aGlzLiN0PU19I2E9KGVvKHRoaXMscCksZW8odGhpcyxtLFtdKSk7Z2V0IG1lbnVHcm91cHMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgbWVudUdyb3VwcyhNKXt0aGlzLiNhPU19I3I9KGVvKHRoaXMsdiksZW8odGhpcyxiLFtdKSk7Z2V0IGJvdHRvbVRhYnMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgYm90dG9tVGFicyhNKXt0aGlzLiNyPU19I3M9KGVvKHRoaXMsZyksZW8odGhpcyxrLFtdKSk7Z2V0IHRhYnMoKXtyZXR1cm4gdGhpcy4jc31zZXQgdGFicyhNKXt0aGlzLiNzPU19I2k9KGVvKHRoaXMsQyksZW8odGhpcyxfLHZvaWQgMCkpO2dldCBzZWxlY3RlZFRhYigpe3JldHVybiB0aGlzLiNpfXNldCBzZWxlY3RlZFRhYihNKXt0aGlzLiNpPU19I289KGVvKHRoaXMseiksZW8odGhpcyxULCExKSk7Z2V0IGNvbGxhcHNlZCgpe3JldHVybiB0aGlzLiNvfXNldCBjb2xsYXBzZWQoTSl7dGhpcy4jbz1NfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgLS1tZW51LXdpZHRoLWV4cGFuZGVkOiAyMDBweDsKICAgICAgICAtLW1lbnUtd2lkdGgtY29sbGFwc2VkOiA1NnB4OwogICAgICAgIC0tdG9vbHRpcC1iZzogdmFyKC0tZGVlcy1jb2xvci10b29sdGlwLWJnKTsKICAgICAgICAtLXRvb2x0aXAtZmc6IHZhcigtLWRlZXMtY29sb3ItdG9vbHRpcC1mZyk7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLm1haW5Db250YWluZXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICB6LWluZGV4OiAke0RzLmZpeGVkLmFwcEJhcn07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogdmFyKC0tbWVudS13aWR0aC1leHBhbmRlZCk7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctc2Vjb25kYXJ5KTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsICdJbnRlcicsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgc2Fucy1zZXJpZjsKICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjI1cyBlYXNlOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm1haW5Db250YWluZXIgewogICAgICAgIHdpZHRoOiB2YXIoLS1tZW51LXdpZHRoLWNvbGxhcHNlZCk7CiAgICAgIH0KCiAgICAgIC8qIEZsb2F0aW5nIGNvbGxhcHNlIHRvZ2dsZSBidXR0b24gKi8KICAgICAgLmNvbGxhcHNlLXRvZ2dsZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAtMTJweDsKICAgICAgICB0b3A6IDI0cHg7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIHdpZHRoOiAyNHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpOwogICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHotaW5kZXg6IDEwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLmNvbGxhcHNlLXRvZ2dsZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy10ZXJ0aWFyeSk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgOmhvc3QoOmhvdmVyKSAuY29sbGFwc2UtdG9nZ2xlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAuY29sbGFwc2UtdG9nZ2xlIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CgogICAgICAvKiBMb2dvIFNlY3Rpb24gKi8KICAgICAgLmxvZ29TZWN0aW9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICBwYWRkaW5nOiAwIDE0cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmxvZ29TZWN0aW9uIC5sb2dvSWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAyMnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5sb2dvU2VjdGlvbiAubG9nb1RleHQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHdpZHRoIDAuMjVzIGVhc2U7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubG9nb1NlY3Rpb24gewogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgZ2FwOiAwOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLmxvZ29TZWN0aW9uIC5sb2dvVGV4dCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogTWlkZGxlIFNlY3Rpb24gKHNjcm9sbGFibGUpICovCiAgICAgIC5tZW51U2VjdGlvbiB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICB9CgogICAgICAubWVudVNlY3Rpb246Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICB9CgogICAgICAubWVudVNlY3Rpb246Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLm1lbnVTZWN0aW9uOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1zY3JvbGxiYXItdGh1bWIpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLm1lbnVTZWN0aW9uOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1zY3JvbGxiYXItdGh1bWItaG92ZXIpOwogICAgICB9CgogICAgICAvKiBNZW51IEdyb3VwICovCiAgICAgIC5tZW51R3JvdXAgewogICAgICAgIHBhZGRpbmc6IDAgOHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLm1lbnVHcm91cDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAuZ3JvdXBIZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4IDZweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIG1heC1oZWlnaHQgMC4yNXMgZWFzZTsKICAgICAgICBtYXgtaGVpZ2h0OiAzMHB4OwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLmdyb3VwSGVhZGVyIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIG1heC1oZWlnaHQ6IDA7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC5ncm91cFRhYnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tZW51R3JvdXAgewogICAgICAgIHBhZGRpbmc6IDAgNHB4OwogICAgICB9CgogICAgICAvKiBUYWIgSXRlbSAqLwogICAgICAudGFiIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgIH0KCiAgICAgIC50YWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI2MjYyNiIsIiNlNWU1ZTUiKX07CiAgICAgIH0KCiAgICAgIC50YWI6YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWFjdGl2ZSk7CiAgICAgIH0KCiAgICAgIC50YWIuc2VsZWN0ZWRUYWIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYWN0aXZlKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAudGFiLnNlbGVjdGVkVGFiOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICB3aWR0aDogM3B4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAycHggMnB4IDA7CiAgICAgIH0KCiAgICAgIC50YWIgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgb3BhY2l0eTogMC44NTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnRhYi5zZWxlY3RlZFRhYiBkZWVzLWljb24gewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC50YWIgLnRhYkxhYmVsIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgd2lkdGggMC4yNXMgZWFzZTsKICAgICAgfQoKICAgICAgLyogQ29sbGFwc2VkIHRhYiBzdHlsZXMgKi8KICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC50YWIgewogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgICAgZ2FwOiAwOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLnRhYiAudGFiTGFiZWwgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgd2lkdGg6IDA7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLnRhYi5zZWxlY3RlZFRhYjo6YmVmb3JlIHsKICAgICAgICBsZWZ0OiAtNHB4OwogICAgICB9CgogICAgICAvKiBUb29sdGlwIGZvciBjb2xsYXBzZWQgc3RhdGUgKi8KICAgICAgLnRhYi10b29sdGlwIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMTAwJTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdG9vbHRpcC1iZyk7CiAgICAgICAgY29sb3I6IHZhcigtLXRvb2x0aXAtZmcpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlOwogICAgICAgIHotaW5kZXg6IDEwMDA7CiAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgIH0KCiAgICAgIC50YWItdG9vbHRpcDo6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogLTRweDsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS10b29sdGlwLWJnKTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC50YWI6aG92ZXIgLnRhYi10b29sdGlwIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDFzOwogICAgICB9CgogICAgICAvKiBCYWRnZSBzdHlsZXMgKi8KICAgICAgLmJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG1pbi13aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgcGFkZGluZzogMCA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOXB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICB9CgogICAgICAuYmFkZ2UuZGVmYXVsdCB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iYWRnZS1kZWZhdWx0LWJnKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci1iYWRnZS1kZWZhdWx0LWZnKTsKICAgICAgfQoKICAgICAgLmJhZGdlLnN1Y2Nlc3MgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmFkZ2Utc3VjY2Vzcy1iZyk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYmFkZ2Utc3VjY2Vzcy1mZyk7CiAgICAgIH0KCiAgICAgIC5iYWRnZS53YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJhZGdlLXdhcm5pbmctYmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWJhZGdlLXdhcm5pbmctZmcpOwogICAgICB9CgogICAgICAuYmFkZ2UuZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmFkZ2UtZXJyb3ItYmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWJhZGdlLWVycm9yLWZnKTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogQm90dG9tIFNlY3Rpb24gKi8KICAgICAgLmJvdHRvbVNlY3Rpb24gewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAycHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAuYm90dG9tU2VjdGlvbiB7CiAgICAgICAgcGFkZGluZzogOHB4IDRweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IE09dGhpcy5nZXRBbGxUYWJzKCk7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9Im1haW5Db250YWluZXIiIEBjb250ZXh0bWVudT0ke1M9Pnt0YS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhTLFt7bmFtZToiYXBwIHNldHRpbmdzIixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksaWNvbk5hbWU6ImdlYXIifV0pfX0+CiAgICAgICAgJHt0aGlzLmxvZ29JY29ufHx0aGlzLmxvZ29UZXh0P3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dvU2VjdGlvbiI+CiAgICAgICAgICAgICR7dGhpcy5sb2dvSWNvbj93YDxkZWVzLWljb24gY2xhc3M9ImxvZ29JY29uIiAuaWNvbj0iJHt0aGlzLmxvZ29JY29ufSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICAgICAgJHt0aGlzLmxvZ29UZXh0P3dgPHNwYW4gY2xhc3M9ImxvZ29UZXh0Ij4ke3RoaXMubG9nb1RleHR9PC9zcGFuPmA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQoKICAgICAgICA8ZGl2IGNsYXNzPSJtZW51U2VjdGlvbiI+CiAgICAgICAgICAke3RoaXMubWVudUdyb3Vwcy5sZW5ndGg+MD90aGlzLnJlbmRlck1lbnVHcm91cHMoKTp0aGlzLnJlbmRlckxlZ2FjeVRhYnMoKX0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgJHt0aGlzLmJvdHRvbVRhYnMubGVuZ3RoPjA/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9ImJvdHRvbVNlY3Rpb24iPgogICAgICAgICAgICAke3RoaXMuYm90dG9tVGFicy5tYXAoUz0+dGhpcy5yZW5kZXJUYWIoUykpfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICAgIDxidXR0b24gY2xhc3M9ImNvbGxhcHNlLXRvZ2dsZSIgQGNsaWNrPSIkeygpPT50aGlzLnRvZ2dsZUNvbGxhcHNlKCl9Ij4KICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSIke3RoaXMuY29sbGFwc2VkPyJsdWNpZGU6Y2hldnJvblJpZ2h0IjoibHVjaWRlOmNoZXZyb25MZWZ0In0iPjwvZGVlcy1pY29uPgogICAgICA8L2J1dHRvbj4KICAgIGB9cmVuZGVyTWVudUdyb3Vwcygpe3JldHVybiB3YAogICAgICAke3RoaXMubWVudUdyb3Vwcy5tYXAoTT0+d2AKICAgICAgICA8ZGl2IGNsYXNzPSJtZW51R3JvdXAiPgogICAgICAgICAgJHtNLm5hbWU/d2A8ZGl2IGNsYXNzPSJncm91cEhlYWRlciI+JHtNLm5hbWV9PC9kaXY+YDoiIn0KICAgICAgICAgIDxkaXYgY2xhc3M9Imdyb3VwVGFicyI+CiAgICAgICAgICAgICR7TS5pdGVtcy5tYXAoUz0+dGhpcy5yZW5kZXJUYWIoUykpfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGApfQogICAgYH1yZW5kZXJMZWdhY3lUYWJzKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9Im1lbnVHcm91cCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3JvdXBUYWJzIj4KICAgICAgICAgICR7dGhpcy50YWJzLm1hcChNPT50aGlzLnJlbmRlclRhYihNKSl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJUYWIoTSl7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0idGFiICR7TT09PXRoaXMuc2VsZWN0ZWRUYWI/InNlbGVjdGVkVGFiIjoiIn0iCiAgICAgICAgQGNsaWNrPSIkeygpPT57dGhpcy51cGRhdGVUYWIoTSl9fSIKICAgICAgPgogICAgICAgIDxkZWVzLWljb24gLmljb249IiR7TS5pY29uTmFtZXx8IiJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICA8c3BhbiBjbGFzcz0idGFiTGFiZWwiPiR7TS5rZXl9PC9zcGFuPgogICAgICAgICR7TS5iYWRnZSE9PXZvaWQgMD93YAogICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlICR7TS5iYWRnZVZhcmlhbnR8fCJkZWZhdWx0In0iPiR7TS5iYWRnZX08L3NwYW4+CiAgICAgICAgYDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0idGFiLXRvb2x0aXAiPiR7TS5rZXl9PC9zcGFuPgogICAgICA8L2Rpdj4KICAgIGB9Z2V0QWxsVGFicygpe3JldHVybiB0aGlzLm1lbnVHcm91cHMubGVuZ3RoPjA/Wy4uLnRoaXMubWVudUdyb3Vwcy5mbGF0TWFwKFM9PlMuaXRlbXMpLC4uLnRoaXMuYm90dG9tVGFic106Wy4uLnRoaXMudGFicywuLi50aGlzLmJvdHRvbVRhYnNdfXVwZGF0ZVRhYihNKXt0aGlzLnNlbGVjdGVkVGFiPU0sdGhpcy5zZWxlY3RlZFRhYi5hY3Rpb24oKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItc2VsZWN0Iix7ZGV0YWlsOnt0YWI6TX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1maXJzdFVwZGF0ZWQoKXtsZXQgTT10aGlzLmdldEFsbFRhYnMoKTtNLmxlbmd0aD4wJiZ0aGlzLnVwZGF0ZVRhYihNWzBdKX10b2dnbGVDb2xsYXBzZSgpe3RoaXMuY29sbGFwc2VkPSF0aGlzLmNvbGxhcHNlZCx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb2xsYXBzZS1jaGFuZ2UiLHtkZXRhaWw6e2NvbGxhcHNlZDp0aGlzLmNvbGxhcHNlZH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksZW8odGhpcyxFKX1zdGF0aWN7ZW8ocix0KX19O3JldHVybiBCPXJ9KSgpfSk7dmFyIEJsYSxIbGE9ZigoKT0+e2xlKCk7QmxhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgLmRlbW8tc2Vjb25kYXJ5bWVudS1jb250YWluZXIgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIGJhY2tncm91bmQ6ICMxYTFhMWE7CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgIH0KICAgIC5kZW1vLXNlY29uZGFyeW1lbnUtY29udGFpbmVyIC5zcGFjZXIgewogICAgICBmbGV4OiAxOwogICAgICBiYWNrZ3JvdW5kOiAjMGYwZjBmOwogICAgICBwYWRkaW5nOiAyMHB4OwogICAgICBjb2xvcjogI2EzYTNhMzsKICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgIH0KICAgIC5kZW1vLXNlY29uZGFyeW1lbnUtY29udGFpbmVyIC5zcGFjZXIgaDMgewogICAgICBjb2xvcjogI2ZhZmFmYTsKICAgICAgbWFyZ2luLXRvcDogMDsKICAgIH0KICAgIC5kZW1vLXNlY29uZGFyeW1lbnUtY29udGFpbmVyIC5zcGFjZXIgY29kZSB7CiAgICAgIGJhY2tncm91bmQ6ICMyNzI3MmE7CiAgICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgfQogICAgLmRlbW8tc2Vjb25kYXJ5bWVudS1jb250YWluZXIgLnNwYWNlciB1bCB7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICB9CiAgPC9zdHlsZT4KICA8ZGl2IGNsYXNzPSJkZW1vLXNlY29uZGFyeW1lbnUtY29udGFpbmVyIj4KICAgIDxkZWVzLWFwcHVpLXNlY29uZGFyeW1lbnUKICAgICAgLmhlYWRpbmc9JHsiUHJvamVjdHMifQogICAgICAuZ3JvdXBzPSR7W3tuYW1lOiJOYXZpZ2F0aW9uIixpY29uTmFtZToibHVjaWRlOmNvbXBhc3MiLGl0ZW1zOlt7a2V5OiJEYXNoYm9hcmQiLGljb25OYW1lOiJsdWNpZGU6bGF5b3V0RGFzaGJvYXJkIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkRhc2hib2FyZCBjbGlja2VkIiksImFjdGlvbiIpLGJhZGdlOjMsYmFkZ2VWYXJpYW50OiJ3YXJuaW5nIn0se2tleToiUHJvamVjdHMiLGljb25OYW1lOiJsdWNpZGU6Zm9sZGVyIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlByb2plY3RzIGNsaWNrZWQiKSwiYWN0aW9uIiksYmFkZ2U6Im5ldyIsYmFkZ2VWYXJpYW50OiJzdWNjZXNzIn0se2tleToiQW5hbHl0aWNzIixpY29uTmFtZToibHVjaWRlOmJhckNoYXJ0MiIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJBbmFseXRpY3MgY2xpY2tlZCIpLCJhY3Rpb24iKX1dfSx7bmFtZToiQWN0aW9ucyIsaWNvbk5hbWU6Imx1Y2lkZTp6YXAiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IkNyZWF0ZSBOZXciLGljb25OYW1lOiJsdWNpZGU6cGx1cyIsYWN0aW9uOnMoKCk9PmFsZXJ0KCJDcmVhdGUgTmV3IGNsaWNrZWQhIiksImFjdGlvbiIpfSx7dHlwZToiYWN0aW9uIixrZXk6IkltcG9ydCBEYXRhIixpY29uTmFtZToibHVjaWRlOnVwbG9hZCIsYWN0aW9uOnMoKCk9PmFsZXJ0KCJJbXBvcnQgRGF0YSBjbGlja2VkISIpLCJhY3Rpb24iKX0se3R5cGU6ImRpdmlkZXIifSx7dHlwZToiYWN0aW9uIixrZXk6IkRlbGV0ZSBBbGwiLGljb25OYW1lOiJsdWNpZGU6dHJhc2gyIix2YXJpYW50OiJkYW5nZXIiLGNvbmZpcm1NZXNzYWdlOiJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIGFsbCBpdGVtcz8iLGFjdGlvbjpzKCgpPT5hbGVydCgiRGVsZXRlZCEiKSwiYWN0aW9uIil9XX0se25hbWU6IkZpbHRlcnMiLGljb25OYW1lOiJsdWNpZGU6ZmlsdGVyIixpdGVtczpbe3R5cGU6ImhlYWRlciIsbGFiZWw6IlN0YXR1cyJ9LHt0eXBlOiJmaWx0ZXIiLGtleToiU2hvdyBBY3RpdmUiLGljb25OYW1lOiJsdWNpZGU6Y2hlY2tDaXJjbGUiLGFjdGl2ZTohMCxvblRvZ2dsZTpzKGE9PmNvbnNvbGUubG9nKCJTaG93IEFjdGl2ZToiLGEpLCJvblRvZ2dsZSIpfSx7dHlwZToiZmlsdGVyIixrZXk6IlNob3cgQXJjaGl2ZWQiLGljb25OYW1lOiJsdWNpZGU6YXJjaGl2ZSIsYWN0aXZlOiExLG9uVG9nZ2xlOnMoYT0+Y29uc29sZS5sb2coIlNob3cgQXJjaGl2ZWQ6IixhKSwib25Ub2dnbGUiKX0se3R5cGU6ImRpdmlkZXIifSx7dHlwZToibXVsdGlGaWx0ZXIiLGtleToiQ2F0ZWdvcmllcyIsaWNvbk5hbWU6Imx1Y2lkZTp0YWciLGNvbGxhcHNlZDohMSxvcHRpb25zOlt7a2V5OiJmcm9udGVuZCIsbGFiZWw6IkZyb250ZW5kIixjaGVja2VkOiEwLGljb25OYW1lOiJsdWNpZGU6bW9uaXRvciJ9LHtrZXk6ImJhY2tlbmQiLGxhYmVsOiJCYWNrZW5kIixjaGVja2VkOiEwLGljb25OYW1lOiJsdWNpZGU6c2VydmVyIn0se2tleToiZGV2b3BzIixsYWJlbDoiRGV2T3BzIixjaGVja2VkOiExLGljb25OYW1lOiJsdWNpZGU6Y2xvdWQifSx7a2V5OiJkZXNpZ24iLGxhYmVsOiJEZXNpZ24iLGNoZWNrZWQ6ITEsaWNvbk5hbWU6Imx1Y2lkZTpwYWxldHRlIn1dLG9uQ2hhbmdlOnMoYT0+Y29uc29sZS5sb2coIlNlbGVjdGVkIGNhdGVnb3JpZXM6IixhKSwib25DaGFuZ2UiKX1dfSx7bmFtZToiUmVzb3VyY2VzIixpY29uTmFtZToibHVjaWRlOmJvb2tPcGVuIixjb2xsYXBzZWQ6ITAsaXRlbXM6W3t0eXBlOiJoZWFkZXIiLGxhYmVsOiJEb2N1bWVudGF0aW9uIn0se3R5cGU6ImxpbmsiLGtleToiQVBJIFJlZmVyZW5jZSIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlVGV4dCIsaHJlZjoiaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vZG9jcyJ9LHt0eXBlOiJsaW5rIixrZXk6IlVzZXIgR3VpZGUiLGljb25OYW1lOiJsdWNpZGU6Ym9vayIsaHJlZjoiaHR0cHM6Ly9kb2NzLmV4YW1wbGUuY29tL2d1aWRlIn0se3R5cGU6ImRpdmlkZXIifSx7dHlwZToiaGVhZGVyIixsYWJlbDoiU3VwcG9ydCJ9LHt0eXBlOiJsaW5rIixrZXk6IkhlbHAgQ2VudGVyIixpY29uTmFtZToibHVjaWRlOmhlbHBDaXJjbGUiLGhyZWY6Ii9oZWxwIixleHRlcm5hbDohMX0se3R5cGU6ImxpbmsiLGtleToiR2l0SHViIElzc3VlcyIsaWNvbk5hbWU6Imx1Y2lkZTpnaXRodWIiLGhyZWY6Imh0dHBzOi8vZ2l0aHViLmNvbS9leGFtcGxlL2lzc3VlcyJ9XX1dfQogICAgICBAaXRlbS1zZWxlY3Q9JHthPT5jb25zb2xlLmxvZygiVGFiIHNlbGVjdGVkOiIsYS5kZXRhaWwpfQogICAgICBAYWN0aW9uLWNsaWNrPSR7YT0+Y29uc29sZS5sb2coIkFjdGlvbiBjbGlja2VkOiIsYS5kZXRhaWwpfQogICAgICBAZmlsdGVyLXRvZ2dsZT0ke2E9PmNvbnNvbGUubG9nKCJGaWx0ZXIgdG9nZ2xlZDoiLGEuZGV0YWlsKX0KICAgICAgQG11bHRpZmlsdGVyLWNoYW5nZT0ke2E9PmNvbnNvbGUubG9nKCJNdWx0aS1maWx0ZXIgY2hhbmdlZDoiLGEuZGV0YWlsKX0KICAgICAgQGxpbmstY2xpY2s9JHthPT5jb25zb2xlLmxvZygiTGluayBjbGlja2VkOiIsYS5kZXRhaWwpfQogICAgPjwvZGVlcy1hcHB1aS1zZWNvbmRhcnltZW51PgogICAgPGRpdiBjbGFzcz0ic3BhY2VyIj4KICAgICAgPGgzPlNlY29uZGFyeSBNZW51IERlbW88L2gzPgogICAgICA8cD5UaGlzIGRlbW8gc2hvd2Nhc2VzIGFsbCA4IGl0ZW0gdHlwZXM6PC9wPgogICAgICA8dWw+CiAgICAgICAgPGxpPjxjb2RlPnRhYjwvY29kZT4gLSBTZWxlY3RhYmxlIGl0ZW1zIChOYXZpZ2F0aW9uIGdyb3VwKTwvbGk+CiAgICAgICAgPGxpPjxjb2RlPmFjdGlvbjwvY29kZT4gLSBCbHVlIGFjdGlvbnMgKEFjdGlvbnMgZ3JvdXApPC9saT4KICAgICAgICA8bGk+PGNvZGU+YWN0aW9uPC9jb2RlPiB3aXRoIDxjb2RlPnZhcmlhbnQ6ICdkYW5nZXInPC9jb2RlPiAtIFJlZCBkYW5nZXIgYWN0aW9uPC9saT4KICAgICAgICA8bGk+PGNvZGU+ZmlsdGVyPC9jb2RlPiAtIENoZWNrYm94IHRvZ2dsZXMgKEZpbHRlcnMgZ3JvdXApPC9saT4KICAgICAgICA8bGk+PGNvZGU+bXVsdGlGaWx0ZXI8L2NvZGU+IC0gQ29sbGFwc2libGUgbXVsdGktc2VsZWN0IChDYXRlZ29yaWVzKTwvbGk+CiAgICAgICAgPGxpPjxjb2RlPmRpdmlkZXI8L2NvZGU+IC0gVmlzdWFsIHNlcGFyYXRvcnM8L2xpPgogICAgICAgIDxsaT48Y29kZT5oZWFkZXI8L2NvZGU+IC0gU2VjdGlvbiBsYWJlbHM8L2xpPgogICAgICAgIDxsaT48Y29kZT5saW5rPC9jb2RlPiAtIEV4dGVybmFsL2ludGVybmFsIGxpbmtzIChSZXNvdXJjZXMgZ3JvdXApPC9saT4KICAgICAgPC91bD4KICAgICAgPHA+VHJ5IHRoZSBjb2xsYXBzZSB0b2dnbGUgb24gdGhlIGxlZnQgZWRnZSE8L3A+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBEYyxsaSxxbGEsZ1FlPWYoKCk9PntWcygpO240KCk7WnIoKTt2YSgpO2xlKCk7SGxhKCk7UWUoKTtEYz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sbGk9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHFsYT0oKCk9PntsZXQgYT1baWUoImRlZXMtYXBwdWktc2Vjb25kYXJ5bWVudSIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdO3ZhciBQPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQXBwdWlTZWNvbmRhcnltZW51Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IEE9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpBcnJheX0pXSx1PVskKHt0eXBlOkFycmF5fSldLHg9WyQoe3R5cGU6T2JqZWN0fSldLHk9W0soKV0sTj1bSygpXSxPPVtLKCldLEI9WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLERjKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGVhZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4iaGVhZGluZyJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLmhlYWRpbmcsImdldCIpLHNldDpzKChGLFcpPT57Ri5oZWFkaW5nPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sbixsKSxEYyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imdyb3VwcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4iZ3JvdXBzImluIEYsImhhcyIpLGdldDpzKEY9PkYuZ3JvdXBzLCJnZXQiKSxzZXQ6cygoRixXKT0+e0YuZ3JvdXBzPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sYyxwKSxEYyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGlvbk9wdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+InNlbGVjdGlvbk9wdGlvbnMiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5zZWxlY3Rpb25PcHRpb25zLCJnZXQiKSxzZXQ6cygoRixXKT0+e0Yuc2VsZWN0aW9uT3B0aW9ucz1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LG0sdiksRGModGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZEl0ZW0iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+InNlbGVjdGVkSXRlbSJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnNlbGVjdGVkSXRlbSwiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnNlbGVjdGVkSXRlbT1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LGIsZyksRGModGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb2xsYXBzZWRHcm91cHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+ImNvbGxhcHNlZEdyb3VwcyJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLmNvbGxhcHNlZEdyb3VwcywiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLmNvbGxhcHNlZEdyb3Vwcz1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LGssQyksRGModGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb2xsYXBzZWRNdWx0aUZpbHRlcnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+ImNvbGxhcHNlZE11bHRpRmlsdGVycyJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLmNvbGxhcHNlZE11bHRpRmlsdGVycywiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLmNvbGxhcHNlZE11bHRpRmlsdGVycz1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LF8seiksRGModGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZW5kZXJDb3VudGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJyZW5kZXJDb3VudGVyImluIEYsImhhcyIpLGdldDpzKEY9PkYucmVuZGVyQ291bnRlciwiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnJlbmRlckNvdW50ZXI9V30sInNldCIpfSxtZXRhZGF0YTpBfSxULEUpLERjKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sbGFwc2VkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJjb2xsYXBzZWQiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5jb2xsYXBzZWQsImdldCIpLHNldDpzKChGLFcpPT57Ri5jb2xsYXBzZWQ9V30sInNldCIpfSxtZXRhZGF0YTpBfSxNLFMpLERjKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOkF9LG51bGwsdCksUD1yPWUudmFsdWUsQSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpBfSl9c3RhdGljIGRlbW89QmxhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07I2U9bGkodGhpcyxuLCJNZW51Iik7Z2V0IGhlYWRpbmcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgaGVhZGluZyhBKXt0aGlzLiNlPUF9I3Q9KGxpKHRoaXMsbCksbGkodGhpcyxjLFtdKSk7Z2V0IGdyb3Vwcygpe3JldHVybiB0aGlzLiN0fXNldCBncm91cHMoQSl7dGhpcy4jdD1BfSNhPShsaSh0aGlzLHApLGxpKHRoaXMsbSxbXSkpO2dldCBzZWxlY3Rpb25PcHRpb25zKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNlbGVjdGlvbk9wdGlvbnMoQSl7dGhpcy4jYT1BfSNyPShsaSh0aGlzLHYpLGxpKHRoaXMsYixudWxsKSk7Z2V0IHNlbGVjdGVkSXRlbSgpe3JldHVybiB0aGlzLiNyfXNldCBzZWxlY3RlZEl0ZW0oQSl7dGhpcy4jcj1BfSNzPShsaSh0aGlzLGcpLGxpKHRoaXMsayxuZXcgU2V0KSk7Z2V0IGNvbGxhcHNlZEdyb3Vwcygpe3JldHVybiB0aGlzLiNzfXNldCBjb2xsYXBzZWRHcm91cHMoQSl7dGhpcy4jcz1BfSNpPShsaSh0aGlzLEMpLGxpKHRoaXMsXyxuZXcgU2V0KSk7Z2V0IGNvbGxhcHNlZE11bHRpRmlsdGVycygpe3JldHVybiB0aGlzLiNpfXNldCBjb2xsYXBzZWRNdWx0aUZpbHRlcnMoQSl7dGhpcy4jaT1BfSNvPShsaSh0aGlzLHopLGxpKHRoaXMsVCwwKSk7Z2V0IHJlbmRlckNvdW50ZXIoKXtyZXR1cm4gdGhpcy4jb31zZXQgcmVuZGVyQ291bnRlcihBKXt0aGlzLiNvPUF9I249KGxpKHRoaXMsRSksbGkodGhpcyxNLCExKSk7Z2V0IGNvbGxhcHNlZCgpe3JldHVybiB0aGlzLiNufXNldCBjb2xsYXBzZWQoQSl7dGhpcy4jbj1BfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgLS1zaWRlYmFyLXdpZHRoLWV4cGFuZGVkOiAyNDBweDsKICAgICAgICAtLXNpZGViYXItd2lkdGgtY29sbGFwc2VkOiA1NnB4OwogICAgICAgIC0tc2lkZWJhci1iZzogdmFyKC0tZGVlcy1jb2xvci1iZy1zZWNvbmRhcnkpOwogICAgICAgIC0tc2lkZWJhci1mZzogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgLS1zaWRlYmFyLWZnLW11dGVkOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIC0tc2lkZWJhci1mZy1hY3RpdmU6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgICAtLXNpZGViYXItYm9yZGVyOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIC0tc2lkZWJhci1ob3ZlcjogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgLS1zaWRlYmFyLWFjdGl2ZTogdmFyKC0tZGVlcy1jb2xvci1hY3RpdmUpOwogICAgICAgIC0tc2lkZWJhci1hY2NlbnQ6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgICAtLXRvb2x0aXAtYmc6IHZhcigtLWRlZXMtY29sb3ItdG9vbHRpcC1iZyk7CiAgICAgICAgLS10b29sdGlwLWZnOiB2YXIoLS1kZWVzLWNvbG9yLXRvb2x0aXAtZmcpOwoKICAgICAgICAvKiBCYWRnZSBjb2xvcnMgKi8KICAgICAgICAtLWJhZGdlLWRlZmF1bHQtYmc6IHZhcigtLWRlZXMtY29sb3ItYmFkZ2UtZGVmYXVsdC1iZyk7CiAgICAgICAgLS1iYWRnZS1kZWZhdWx0LWZnOiB2YXIoLS1kZWVzLWNvbG9yLWJhZGdlLWRlZmF1bHQtZmcpOwogICAgICAgIC0tYmFkZ2Utc3VjY2Vzcy1iZzogdmFyKC0tZGVlcy1jb2xvci1iYWRnZS1zdWNjZXNzLWJnKTsKICAgICAgICAtLWJhZGdlLXN1Y2Nlc3MtZmc6IHZhcigtLWRlZXMtY29sb3ItYmFkZ2Utc3VjY2Vzcy1mZyk7CiAgICAgICAgLS1iYWRnZS13YXJuaW5nLWJnOiB2YXIoLS1kZWVzLWNvbG9yLWJhZGdlLXdhcm5pbmctYmcpOwogICAgICAgIC0tYmFkZ2Utd2FybmluZy1mZzogdmFyKC0tZGVlcy1jb2xvci1iYWRnZS13YXJuaW5nLWZnKTsKICAgICAgICAtLWJhZGdlLWVycm9yLWJnOiB2YXIoLS1kZWVzLWNvbG9yLWJhZGdlLWVycm9yLWJnKTsKICAgICAgICAtLWJhZGdlLWVycm9yLWZnOiB2YXIoLS1kZWVzLWNvbG9yLWJhZGdlLWVycm9yLWZnKTsKCiAgICAgICAgLyogQWN0aW9uIGNvbG9ycyAqLwogICAgICAgIC0tYWN0aW9uLXByaW1hcnk6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzNiODJmNiIpfTsKICAgICAgICAtLWFjdGlvbi1wcmltYXJ5LWhvdmVyOiAke2guYmRUaGVtZSgiIzFkNGVkOCIsIiM2MGE1ZmEiKX07CiAgICAgICAgLS1hY3Rpb24tZGFuZ2VyOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgLS1hY3Rpb24tZGFuZ2VyLWhvdmVyOiAke2guYmRUaGVtZSgiI2I5MWMxYyIsIiNmODcxNzEiKX07CgogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IHZhcigtLXNpZGViYXItd2lkdGgtZXhwYW5kZWQpOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItYmcpOwogICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXNpZGViYXItYm9yZGVyKTsKICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCAnSW50ZXInLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIHNhbnMtc2VyaWY7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgZWFzZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIHsKICAgICAgICB3aWR0aDogdmFyKC0tc2lkZWJhci13aWR0aC1jb2xsYXBzZWQpOwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLyogRmxvYXRpbmcgY29sbGFwc2UgdG9nZ2xlIGJ1dHRvbiAqLwogICAgICAuY29sbGFwc2UtdG9nZ2xlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IC0xMnB4OwogICAgICAgIHRvcDogMjRweDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgd2lkdGg6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXByaW1hcnkpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICAuY29sbGFwc2UtdG9nZ2xlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXRlcnRpYXJ5KTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICA6aG9zdCg6aG92ZXIpIC5jb2xsYXBzZS10b2dnbGUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5jb2xsYXBzZS10b2dnbGUgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIC8qIEhlYWRlciBTZWN0aW9uICovCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tc2lkZWJhci1ib3JkZXIpOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgLmhlYWRpbmcgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctYWN0aXZlKTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHdpZHRoIDAuMjVzIGVhc2U7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAuaGVhZGVyIHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5oZWFkZXIgLmhlYWRpbmcgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgd2lkdGg6IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLyogU2Nyb2xsYWJsZSBNZW51IFNlY3Rpb24gKi8KICAgICAgLm1lbnVTZWN0aW9uIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAgICAgcGFkZGluZzogOHB4IDA7CiAgICAgIH0KCiAgICAgIC5tZW51U2VjdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICAgIHdpZHRoOiA2cHg7CiAgICAgIH0KCiAgICAgIC5tZW51U2VjdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAubWVudVNlY3Rpb246Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLXNjcm9sbGJhci10aHVtYik7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICAubWVudVNlY3Rpb246Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLXNjcm9sbGJhci10aHVtYi1ob3Zlcik7CiAgICAgIH0KCiAgICAgIC8qIE1lbnUgR3JvdXAgKi8KICAgICAgLm1lbnVHcm91cCB7CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm1lbnVHcm91cCB7CiAgICAgICAgcGFkZGluZzogMCA0cHg7CiAgICAgIH0KCiAgICAgIC5ncm91cEhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2UsIG1heC1oZWlnaHQgMC4yNXMgZWFzZTsKICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4OwogICAgICB9CgogICAgICAuZ3JvdXBIZWFkZXI6aG92ZXIgewogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJyZ2JhKDE0MCwgMTIwLCAxMDAsIDAuMDYpIiwicmdiYSgxODAsIDE2MCwgMTQwLCAwLjA4KSIpfTsKICAgICAgICBwYWRkaW5nOiA3cHggMTFweDsKICAgICAgfQoKICAgICAgLmdyb3VwSGVhZGVyOm5vdCguY29sbGFwc2VkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMTQwLCAxMjAsIDEwMCwgMC4wNikiLCJyZ2JhKDE4MCwgMTYwLCAxNDAsIDAuMDgpIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgfQoKICAgICAgLmdyb3VwSGVhZGVyIC5ncm91cFRpdGxlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC13YXJtKTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5ncm91cEhlYWRlciAuZ3JvdXBUaXRsZSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXdhcm0pOwogICAgICB9CgogICAgICAuZ3JvdXBIZWFkZXIgLmNoZXZyb24gewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtd2FybSk7CiAgICAgIH0KCiAgICAgIC5ncm91cEhlYWRlci5jb2xsYXBzZWQgLmNoZXZyb24gewogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7CiAgICAgIH0KCiAgICAgIC8qIEhpZGUgZ3JvdXAgaGVhZGVycyB3aGVuIGhvcml6b250YWxseSBjb2xsYXBzZWQgKi8KICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5ncm91cEhlYWRlciB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBtYXgtaGVpZ2h0OiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAvKiBHcm91cCBJdGVtcyBDb250YWluZXIgKi8KICAgICAgLmdyb3VwSXRlbXMgewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjI1cyBlYXNlLCBvcGFjaXR5IDAuMnMgZWFzZSwgbWFyZ2luIDAuMjVzIGVhc2U7CiAgICAgICAgbWF4LWhlaWdodDogMTAwMHB4OwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgfQoKICAgICAgLmdyb3VwSXRlbXMuY29sbGFwc2VkIHsKICAgICAgICBtYXgtaGVpZ2h0OiAwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLyogQWx3YXlzIHNob3cgaXRlbXMgd2hlbiBob3Jpem9udGFsbHkgY29sbGFwc2VkIChyZWdhcmRsZXNzIG9mIGdyb3VwIGNvbGxhcHNlIHN0YXRlKSAqLwogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLmdyb3VwSXRlbXMgewogICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLyogTWVudSBJdGVtIEJhc2UgKi8KICAgICAgLm1lbnVJdGVtIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBtYXJnaW46IDJweCAwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNDUwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmcpOwogICAgICB9CgogICAgICAubWVudUl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1zaWRlYmFyLWZnLWFjdGl2ZSk7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbTphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItYWN0aXZlKTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlYmFyLWFjdGl2ZSk7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctYWN0aXZlKTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAubWVudUl0ZW0uc2VsZWN0ZWQ6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIHdpZHRoOiAzcHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItYWNjZW50KTsKICAgICAgICBib3JkZXItcmFkaXVzOiAwIDJweCAycHggMDsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLnNlbGVjdGVkIGRlZXMtaWNvbiB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtIC5pdGVtTGFiZWwgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB3aWR0aCAwLjI1cyBlYXNlOwogICAgICB9CgogICAgICAvKiBBY3Rpb24gSXRlbSBTdHlsZXMgKi8KICAgICAgLm1lbnVJdGVtLmFjdGlvbi1wcmltYXJ5IHsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aW9uLXByaW1hcnkpOwogICAgICB9CgogICAgICAubWVudUl0ZW0uYWN0aW9uLXByaW1hcnk6aG92ZXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpb24tcHJpbWFyeS1ob3Zlcik7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMzcsIDk5LCAyMzUsIDAuMDgpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTIpIil9OwogICAgICB9CgogICAgICAubWVudUl0ZW0uYWN0aW9uLXByaW1hcnkgZGVlcy1pY29uIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAubWVudUl0ZW0uYWN0aW9uLWRhbmdlciB7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGlvbi1kYW5nZXIpOwogICAgICB9CgogICAgICAubWVudUl0ZW0uYWN0aW9uLWRhbmdlcjpob3ZlciB7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGlvbi1kYW5nZXItaG92ZXIpOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDIyMCwgMzgsIDM4LCAwLjA4KSIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMTIpIil9OwogICAgICB9CgogICAgICAubWVudUl0ZW0uYWN0aW9uLWRhbmdlciBkZWVzLWljb24gewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC8qIEZpbHRlciBJdGVtIFN0eWxlcyAqLwogICAgICAubWVudUl0ZW0uZmlsdGVyIHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbS5maWx0ZXIgLmZpbHRlci1jaGVja2JveCB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZDRkNGQ0IiwiIzUyNTI1MiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAubWVudUl0ZW0uZmlsdGVyIC5maWx0ZXItY2hlY2tib3guY2hlY2tlZCB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZWJhci1hY2NlbnQpOwogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tc2lkZWJhci1hY2NlbnQpOwogICAgICB9CgogICAgICAubWVudUl0ZW0uZmlsdGVyIC5maWx0ZXItY2hlY2tib3ggZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAubWVudUl0ZW0uZmlsdGVyLmFjdGl2ZSB7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctYWN0aXZlKTsKICAgICAgfQoKICAgICAgLyogTXVsdGktRmlsdGVyIENvbnRhaW5lciAqLwogICAgICAubXVsdGlGaWx0ZXIgewogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc2lkZWJhci1ib3JkZXIpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDIpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAyKSIpfTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLWhlYWRlcjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZWJhci1ob3Zlcik7CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1oZWFkZXIgLm11bHRpRmlsdGVyLXRpdGxlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctYWN0aXZlKTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLWhlYWRlciAubXVsdGlGaWx0ZXItdGl0bGUgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItaGVhZGVyIC5tdWx0aUZpbHRlci1jb3VudCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1zaWRlYmFyLWZnLW11dGVkKTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWRnZS1kZWZhdWx0LWJnKTsKICAgICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLWhlYWRlciAuY2hldnJvbiB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctbXV0ZWQpOwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItaGVhZGVyLmNvbGxhcHNlZCAuY2hldnJvbiB7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLW9wdGlvbnMgewogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1zaWRlYmFyLWJvcmRlcik7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMjVzIGVhc2UsIG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4OwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1vcHRpb25zLmNvbGxhcHNlZCB7CiAgICAgICAgbWF4LWhlaWdodDogMDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIGJvcmRlci10b3A6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1vcHRpb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmcpOwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItb3B0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlYmFyLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tc2lkZWJhci1mZy1hY3RpdmUpOwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItb3B0aW9uIC5vcHRpb24tY2hlY2tib3ggewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAke2guYmRUaGVtZSgiI2Q0ZDRkNCIsIiM1MjUyNTIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLW9wdGlvbiAub3B0aW9uLWNoZWNrYm94LmNoZWNrZWQgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItYWNjZW50KTsKICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXNpZGViYXItYWNjZW50KTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLW9wdGlvbiAub3B0aW9uLWNoZWNrYm94IGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMwYTBhMGEiKX07CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1vcHRpb24gZGVlcy1pY29uLm9wdGlvbi1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgogICAgICAvKiBEaXZpZGVyICovCiAgICAgIC5tZW51RGl2aWRlciB7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZWJhci1ib3JkZXIpOwogICAgICAgIG1hcmdpbjogOHB4IDEycHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubWVudURpdmlkZXIgewogICAgICAgIG1hcmdpbjogOHB4IDRweDsKICAgICAgfQoKICAgICAgLyogSGVhZGVyL0xhYmVsICovCiAgICAgIC5tZW51SGVhZGVyIHsKICAgICAgICBwYWRkaW5nOiAxMnB4IDEycHggNHB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctbXV0ZWQpOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm1lbnVIZWFkZXIgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIExpbmsgSXRlbSAqLwogICAgICAubWVudUl0ZW0ubGluayAuZXh0ZXJuYWwtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgfQoKICAgICAgLyogQ29sbGFwc2VkIG1lbnUgaXRlbSBzdHlsZXMgKi8KICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tZW51SXRlbSB7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIGdhcDogMDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tZW51SXRlbSAuaXRlbUxhYmVsIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tZW51SXRlbS5zZWxlY3RlZDo6YmVmb3JlIHsKICAgICAgICBsZWZ0OiAtNHB4OwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm1lbnVJdGVtIC5maWx0ZXItY2hlY2tib3gsCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubWVudUl0ZW0gLmV4dGVybmFsLWljb24gewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubXVsdGlGaWx0ZXIgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIFRvb2x0aXAgZm9yIGNvbGxhcHNlZCBzdGF0ZSAqLwogICAgICAuaXRlbS10b29sdGlwIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMTAwJTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdG9vbHRpcC1iZyk7CiAgICAgICAgY29sb3I6IHZhcigtLXRvb2x0aXAtZmcpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlOwogICAgICAgIHotaW5kZXg6IDEwMDA7CiAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgIH0KCiAgICAgIC5pdGVtLXRvb2x0aXA6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IC00cHg7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tdG9vbHRpcC1iZyk7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubWVudUl0ZW06aG92ZXIgLml0ZW0tdG9vbHRpcCB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAxczsKICAgICAgfQoKICAgICAgLyogQmFkZ2UgU3R5bGVzICovCiAgICAgIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBtaW4td2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIHBhZGRpbmc6IDAgNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDlweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmJhZGdlLmRlZmF1bHQgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJhZGdlLWRlZmF1bHQtYmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS1iYWRnZS1kZWZhdWx0LWZnKTsKICAgICAgfQoKICAgICAgLmJhZGdlLnN1Y2Nlc3MgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJhZGdlLXN1Y2Nlc3MtYmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS1iYWRnZS1zdWNjZXNzLWZnKTsKICAgICAgfQoKICAgICAgLmJhZGdlLndhcm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJhZGdlLXdhcm5pbmctYmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS1iYWRnZS13YXJuaW5nLWZnKTsKICAgICAgfQoKICAgICAgLmJhZGdlLmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWRnZS1lcnJvci1iZyk7CiAgICAgICAgY29sb3I6IHZhcigtLWJhZGdlLWVycm9yLWZnKTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogTGVnYWN5IG9wdGlvbnMgY29udGFpbmVyICovCiAgICAgIC5sZWdhY3lPcHRpb25zIHsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgfQoKICAgICAgLyogRGl2aWRlciAobGVnYWN5KSAqLwogICAgICAuZGl2aWRlciB7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZWJhci1ib3JkZXIpOwogICAgICAgIG1hcmdpbjogOHB4IDEycHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtYWluY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImhlYWRpbmciPiR7dGhpcy5oZWFkaW5nfTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtZW51U2VjdGlvbiI+CiAgICAgICAgICAke3RoaXMuZ3JvdXBzLmxlbmd0aD4wP3RoaXMucmVuZGVyR3JvdXBzKCk6dGhpcy5yZW5kZXJMZWdhY3lPcHRpb25zKCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8YnV0dG9uIGNsYXNzPSJjb2xsYXBzZS10b2dnbGUiIEBjbGljaz0iJHsoKT0+dGhpcy50b2dnbGVDb2xsYXBzZSgpfSI+CiAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHt0aGlzLmNvbGxhcHNlZD8ibHVjaWRlOmNoZXZyb25SaWdodCI6Imx1Y2lkZTpjaGV2cm9uTGVmdCJ9Ij48L2RlZXMtaWNvbj4KICAgICAgPC9idXR0b24+CiAgICBgfXJlbmRlckdyb3Vwcygpe3JldHVybiB3YAogICAgICAke3RoaXMuZ3JvdXBzLm1hcChBPT53YAogICAgICAgIDxkaXYgY2xhc3M9Im1lbnVHcm91cCI+CiAgICAgICAgICA8ZGl2CiAgICAgICAgICAgIGNsYXNzPSJncm91cEhlYWRlciAke3RoaXMuY29sbGFwc2VkR3JvdXBzLmhhcyhBLm5hbWUpPyJjb2xsYXBzZWQiOiIifSIKICAgICAgICAgICAgQGNsaWNrPSIkeygpPT50aGlzLnRvZ2dsZUdyb3VwKEEubmFtZSl9IgogICAgICAgICAgPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JvdXBUaXRsZSI+CiAgICAgICAgICAgICAgJHtBLmljb25OYW1lP3dgPGRlZXMtaWNvbiAuaWNvbj0iJHt0aGlzLm5vcm1hbGl6ZUljb24oQS5pY29uTmFtZSl9Ij48L2RlZXMtaWNvbj5gOiIifQogICAgICAgICAgICAgICR7QS5uYW1lfQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9ImNoZXZyb24iIC5pY29uPSIkeyJsdWNpZGU6Y2hldnJvbkRvd24ifSI+PC9kZWVzLWljb24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Imdyb3VwSXRlbXMgJHt0aGlzLmNvbGxhcHNlZEdyb3Vwcy5oYXMoQS5uYW1lKT8iY29sbGFwc2VkIjoiIn0iPgogICAgICAgICAgICAke0EuaXRlbXMubWFwKEY9PnRoaXMucmVuZGVySXRlbShGLEEpKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgKX0KICAgIGB9cmVuZGVySXRlbShBLEYpe2lmKCJoaWRkZW4iaW4gQSYmQS5oaWRkZW4pcmV0dXJuIHdgYDtzd2l0Y2goInR5cGUiaW4gQT9BLnR5cGU6InRhYiIpe2Nhc2UiYWN0aW9uIjpyZXR1cm4gdGhpcy5yZW5kZXJBY3Rpb25JdGVtKEEpO2Nhc2UiZmlsdGVyIjpyZXR1cm4gdGhpcy5yZW5kZXJGaWx0ZXJJdGVtKEEpO2Nhc2UibXVsdGlGaWx0ZXIiOnJldHVybiB0aGlzLnJlbmRlck11bHRpRmlsdGVySXRlbShBKTtjYXNlImRpdmlkZXIiOnJldHVybiB0aGlzLnJlbmRlckRpdmlkZXIoKTtjYXNlImhlYWRlciI6cmV0dXJuIHRoaXMucmVuZGVySGVhZGVyKEEpO2Nhc2UibGluayI6cmV0dXJuIHRoaXMucmVuZGVyTGlua0l0ZW0oQSk7ZGVmYXVsdDpyZXR1cm4gdGhpcy5yZW5kZXJUYWJJdGVtKEEsRil9fXJlbmRlclRhYkl0ZW0oQSxGKXtsZXQgVz10aGlzLnNlbGVjdGVkSXRlbT8ua2V5PT09QS5rZXksaj1BLmRpc2FibGVkPT09ITA7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0ibWVudUl0ZW0gJHtXPyJzZWxlY3RlZCI6IiJ9ICR7aj8iZGlzYWJsZWQiOiIifSIKICAgICAgICBAY2xpY2s9IiR7KCk9PiFqJiZ0aGlzLnNlbGVjdFRhYkl0ZW0oQSxGKX0iCiAgICAgICAgQGNvbnRleHRtZW51PSIke0c9PnRoaXMuaGFuZGxlQ29udGV4dE1lbnUoRyxBKX0iCiAgICAgID4KICAgICAgICAke0EuaWNvbk5hbWU/d2A8ZGVlcy1pY29uIC5pY29uPSIke3RoaXMubm9ybWFsaXplSWNvbihBLmljb25OYW1lKX0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW1MYWJlbCI+JHtBLmtleX08L3NwYW4+CiAgICAgICAgJHtBLmJhZGdlIT09dm9pZCAwP3dgCiAgICAgICAgICA8c3BhbiBjbGFzcz0iYmFkZ2UgJHtBLmJhZGdlVmFyaWFudHx8ImRlZmF1bHQifSI+JHtBLmJhZGdlfTwvc3Bhbj4KICAgICAgICBgOiIifQogICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXRvb2x0aXAiPiR7QS5rZXl9PC9zcGFuPgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyQWN0aW9uSXRlbShBKXtsZXQgRj1BLnZhcmlhbnR8fCJwcmltYXJ5IixXPUEuZGlzYWJsZWQ9PT0hMDtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJtZW51SXRlbSBhY3Rpb24tJHtGfSAke1c/ImRpc2FibGVkIjoiIn0iCiAgICAgICAgQGNsaWNrPSIkeygpPT4hVyYmdGhpcy5oYW5kbGVBY3Rpb25DbGljayhBKX0iCiAgICAgID4KICAgICAgICAke0EuaWNvbk5hbWU/d2A8ZGVlcy1pY29uIC5pY29uPSIke3RoaXMubm9ybWFsaXplSWNvbihBLmljb25OYW1lKX0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW1MYWJlbCI+JHtBLmtleX08L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tdG9vbHRpcCI+JHtBLmtleX08L3NwYW4+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJGaWx0ZXJJdGVtKEEpe2xldCBGPUEuZGlzYWJsZWQ9PT0hMDtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJtZW51SXRlbSBmaWx0ZXIgJHtBLmFjdGl2ZT8iYWN0aXZlIjoiIn0gJHtGPyJkaXNhYmxlZCI6IiJ9IgogICAgICAgIEBjbGljaz0iJHsoKT0+IUYmJnRoaXMuaGFuZGxlRmlsdGVyVG9nZ2xlKEEpfSIKICAgICAgPgogICAgICAgICR7QS5pY29uTmFtZT93YDxkZWVzLWljb24gLmljb249IiR7dGhpcy5ub3JtYWxpemVJY29uKEEuaWNvbk5hbWUpfSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbUxhYmVsIj4ke0Eua2V5fTwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWx0ZXItY2hlY2tib3ggJHtBLmFjdGl2ZT8iY2hlY2tlZCI6IiJ9Ij4KICAgICAgICAgICR7QS5hY3RpdmU/d2A8ZGVlcy1pY29uIC5pY29uPSIkeyJsdWNpZGU6Y2hlY2sifSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS10b29sdGlwIj4ke0Eua2V5fTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlck11bHRpRmlsdGVySXRlbShBKXtsZXQgRj10aGlzLmNvbGxhcHNlZE11bHRpRmlsdGVycy5oYXMoQS5rZXkpLFc9QS5vcHRpb25zLmZpbHRlcihqPT5qLmNoZWNrZWQpLmxlbmd0aDtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibXVsdGlGaWx0ZXIiPgogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJtdWx0aUZpbHRlci1oZWFkZXIgJHtGPyJjb2xsYXBzZWQiOiIifSIKICAgICAgICAgIEBjbGljaz0iJHsoKT0+dGhpcy50b2dnbGVNdWx0aUZpbHRlcihBLmtleSl9IgogICAgICAgID4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJtdWx0aUZpbHRlci10aXRsZSI+CiAgICAgICAgICAgICR7QS5pY29uTmFtZT93YDxkZWVzLWljb24gLmljb249IiR7dGhpcy5ub3JtYWxpemVJY29uKEEuaWNvbk5hbWUpfSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICAgICAgJHtBLmtleX0KICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICR7Vz4wP3dgPHNwYW4gY2xhc3M9Im11bHRpRmlsdGVyLWNvdW50Ij4ke1d9PC9zcGFuPmA6IiJ9CiAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJjaGV2cm9uIiAuaWNvbj0iJHsibHVjaWRlOmNoZXZyb25Eb3duIn0iPjwvZGVlcy1pY29uPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im11bHRpRmlsdGVyLW9wdGlvbnMgJHtGPyJjb2xsYXBzZWQiOiIifSI+CiAgICAgICAgICAke0Eub3B0aW9ucy5tYXAoaj0+d2AKICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgIGNsYXNzPSJtdWx0aUZpbHRlci1vcHRpb24iCiAgICAgICAgICAgICAgQGNsaWNrPSIkeygpPT50aGlzLmhhbmRsZU11bHRpRmlsdGVyT3B0aW9uVG9nZ2xlKEEsai5rZXkpfSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wdGlvbi1jaGVja2JveCAke2ouY2hlY2tlZD8iY2hlY2tlZCI6IiJ9Ij4KICAgICAgICAgICAgICAgICR7ai5jaGVja2VkP3dgPGRlZXMtaWNvbiAuaWNvbj0iJHsibHVjaWRlOmNoZWNrIn0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgJHtqLmljb25OYW1lP3dgPGRlZXMtaWNvbiBjbGFzcz0ib3B0aW9uLWljb24iIC5pY29uPSIke3RoaXMubm9ybWFsaXplSWNvbihqLmljb25OYW1lKX0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgICAgICAgPHNwYW4+JHtqLmxhYmVsfTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckRpdmlkZXIoKXtyZXR1cm4gd2A8ZGl2IGNsYXNzPSJtZW51RGl2aWRlciI+PC9kaXY+YH1yZW5kZXJIZWFkZXIoQSl7cmV0dXJuIHdgPGRpdiBjbGFzcz0ibWVudUhlYWRlciI+JHtBLmxhYmVsfTwvZGl2PmB9cmVuZGVyTGlua0l0ZW0oQSl7bGV0IEY9QS5leHRlcm5hbD8/QS5ocmVmLnN0YXJ0c1dpdGgoImh0dHAiKSxXPUEuZGlzYWJsZWQ9PT0hMDtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJtZW51SXRlbSBsaW5rICR7Vz8iZGlzYWJsZWQiOiIifSIKICAgICAgICBAY2xpY2s9IiR7KCk9PiFXJiZ0aGlzLmhhbmRsZUxpbmtDbGljayhBKX0iCiAgICAgID4KICAgICAgICAke0EuaWNvbk5hbWU/d2A8ZGVlcy1pY29uIC5pY29uPSIke3RoaXMubm9ybWFsaXplSWNvbihBLmljb25OYW1lKX0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW1MYWJlbCI+JHtBLmtleX08L3NwYW4+CiAgICAgICAgJHtGP3dgPGRlZXMtaWNvbiBjbGFzcz0iZXh0ZXJuYWwtaWNvbiIgLmljb249IiR7Imx1Y2lkZTpleHRlcm5hbExpbmsifSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS10b29sdGlwIj4ke0Eua2V5fTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckxlZ2FjeU9wdGlvbnMoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibGVnYWN5T3B0aW9ucyI+CiAgICAgICAgJHt0aGlzLnNlbGVjdGlvbk9wdGlvbnMubWFwKEE9PntpZigiZGl2aWRlciJpbiBBJiZBLmRpdmlkZXIpcmV0dXJuIHdgPGRpdiBjbGFzcz0iZGl2aWRlciI+PC9kaXY+YDtsZXQgRj1BLFc9e2tleTpGLmtleSxpY29uTmFtZTpGLmljb25OYW1lLGFjdGlvbjpGLmFjdGlvbixiYWRnZTpGLmJhZGdlLGJhZGdlVmFyaWFudDpGLmJhZGdlVmFyaWFudH07cmV0dXJuIHRoaXMucmVuZGVyVGFiSXRlbShXKX0pfQogICAgICA8L2Rpdj4KICAgIGB9bm9ybWFsaXplSWNvbihBKXtyZXR1cm4gQS5zdGFydHNXaXRoKCJsdWNpZGU6Iik/QTpgbHVjaWRlOiR7QX1gfXRvZ2dsZUdyb3VwKEEpe2xldCBGPW5ldyBTZXQodGhpcy5jb2xsYXBzZWRHcm91cHMpO0YuaGFzKEEpP0YuZGVsZXRlKEEpOkYuYWRkKEEpLHRoaXMuY29sbGFwc2VkR3JvdXBzPUZ9dG9nZ2xlTXVsdGlGaWx0ZXIoQSl7bGV0IEY9bmV3IFNldCh0aGlzLmNvbGxhcHNlZE11bHRpRmlsdGVycyk7Ri5oYXMoQSk/Ri5kZWxldGUoQSk6Ri5hZGQoQSksdGhpcy5jb2xsYXBzZWRNdWx0aUZpbHRlcnM9Rn10b2dnbGVDb2xsYXBzZSgpe3RoaXMuY29sbGFwc2VkPSF0aGlzLmNvbGxhcHNlZCx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb2xsYXBzZS1jaGFuZ2UiLHtkZXRhaWw6e2NvbGxhcHNlZDp0aGlzLmNvbGxhcHNlZH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1zZWxlY3RUYWJJdGVtKEEsRil7dGhpcy5zZWxlY3RlZEl0ZW09QSxBLmFjdGlvbigpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIml0ZW0tc2VsZWN0Iix7ZGV0YWlsOntpdGVtOkEsZ3JvdXA6Rn0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1hc3luYyBoYW5kbGVBY3Rpb25DbGljayhBKXtBLmNvbmZpcm1NZXNzYWdlJiYhd2luZG93LmNvbmZpcm0oQS5jb25maXJtTWVzc2FnZSl8fChhd2FpdCBBLmFjdGlvbigpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFjdGlvbi1jbGljayIse2RldGFpbDp7aXRlbTpBfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKX1oYW5kbGVGaWx0ZXJUb2dnbGUoQSl7bGV0IEY9IUEuYWN0aXZlO0EuYWN0aXZlPUYsQS5vblRvZ2dsZShGKSx0aGlzLnJlbmRlckNvdW50ZXIrKyx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJmaWx0ZXItdG9nZ2xlIix7ZGV0YWlsOntpdGVtOkEsYWN0aXZlOkZ9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlTXVsdGlGaWx0ZXJPcHRpb25Ub2dnbGUoQSxGKXtsZXQgVz1BLm9wdGlvbnMuZmluZChHPT5HLmtleT09PUYpO1cmJihXLmNoZWNrZWQ9IVcuY2hlY2tlZCk7bGV0IGo9QS5vcHRpb25zLmZpbHRlcihHPT5HLmNoZWNrZWQpLm1hcChHPT5HLmtleSk7QS5vbkNoYW5nZShqKSx0aGlzLnJlbmRlckNvdW50ZXIrKyx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJtdWx0aWZpbHRlci1jaGFuZ2UiLHtkZXRhaWw6e2l0ZW06QSxzZWxlY3RlZEtleXM6an0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVMaW5rQ2xpY2soQSl7QS5leHRlcm5hbD8/QS5ocmVmLnN0YXJ0c1dpdGgoImh0dHAiKT93aW5kb3cub3BlbihBLmhyZWYsIl9ibGFuayIsIm5vb3BlbmVyLG5vcmVmZXJyZXIiKTp3aW5kb3cubG9jYXRpb24uaHJlZj1BLmhyZWYsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibGluay1jbGljayIse2RldGFpbDp7aXRlbTpBfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUNvbnRleHRNZW51KEEsRil7dGEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoQSxbe25hbWU6IlZpZXcgZGV0YWlscyIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLGljb25OYW1lOiJsdWNpZGU6ZXllIn0se25hbWU6IkVkaXQiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxpY29uTmFtZToibHVjaWRlOnBlbmNpbCJ9XSl9YXN5bmMgZmlyc3RVcGRhdGVkKEEpe2lmKGF3YWl0IHN1cGVyLmZpcnN0VXBkYXRlZChBKSx0aGlzLmdyb3Vwcy5sZW5ndGg+MCl7bGV0IEY9bmV3IFNldCxXPW5ldyBTZXQ7aWYodGhpcy5ncm91cHMuZm9yRWFjaChqPT57ai5jb2xsYXBzZWQmJkYuYWRkKGoubmFtZSksai5pdGVtcy5mb3JFYWNoKEc9PntpZigidHlwZSJpbiBHJiZHLnR5cGU9PT0ibXVsdGlGaWx0ZXIiKXtsZXQgaGU9RztoZS5jb2xsYXBzZWQmJlcuYWRkKGhlLmtleSl9fSl9KSx0aGlzLmNvbGxhcHNlZEdyb3Vwcz1GLHRoaXMuY29sbGFwc2VkTXVsdGlGaWx0ZXJzPVcsIXRoaXMuc2VsZWN0ZWRJdGVtKWZvcihsZXQgaiBvZiB0aGlzLmdyb3Vwcylmb3IobGV0IEcgb2Ygai5pdGVtcyl7bGV0IGhlPSJ0eXBlImluIEc/Ry50eXBlOiJ0YWIiO2lmKGhlPT09InRhYiJ8fGhlPT09dm9pZCAwKXtsZXQgUj1HO2lmKCFSLmRpc2FibGVkKXt0aGlzLnNlbGVjdFRhYkl0ZW0oUixqKTtyZXR1cm59fX19ZWxzZSBpZih0aGlzLnNlbGVjdGlvbk9wdGlvbnMubGVuZ3RoPjApe2xldCBGPXRoaXMuc2VsZWN0aW9uT3B0aW9ucy5maW5kKFc9PiEoImRpdmlkZXIiaW4gVykpO2lmKEYmJiF0aGlzLnNlbGVjdGVkSXRlbSl7bGV0IFc9e2tleTpGLmtleSxpY29uTmFtZTpGLmljb25OYW1lLGFjdGlvbjpGLmFjdGlvbn07dGhpcy5zZWxlY3RUYWJJdGVtKFcpfX19Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGxpKHRoaXMsUyl9c3RhdGlje2xpKHIsdCl9fTtyZXR1cm4gUD1yfSkoKX0pO3ZhciBtNSxCbixpWmksb1ppLFZsYSxqbGE9ZigoKT0+e2xlKCk7bjQoKTttNT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sQm49ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGlaaT0oKCk9PntsZXQgYT1baWUoImRlbW8tY2xvc2VhYmxlLXRhYnMiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVtb0Nsb3NlYWJsZVRhYnMiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVtLKCldLGQ9W0soKV0sbTUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJ0YWJzImluIHYsImhhcyIpLGdldDpzKHY9PnYudGFicywiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnRhYnM9eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLG01KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFiQ291bnRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4idGFiQ291bnRlciJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LnRhYkNvdW50ZXIsImdldCIpLHNldDpzKCh2LHgpPT57di50YWJDb3VudGVyPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxtNShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pfSNlPUJuKHRoaXMsbixbe2tleToiTWFpbiIsaWNvbk5hbWU6Imx1Y2lkZTpob21lIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIk1haW4gY2xpY2tlZCIpLCJhY3Rpb24iKX1dKTtnZXQgdGFicygpe3JldHVybiB0aGlzLiNlfXNldCB0YWJzKG0pe3RoaXMuI2U9bX0jdD0oQm4odGhpcyxsKSxCbih0aGlzLGMsMCkpO2dldCB0YWJDb3VudGVyKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHRhYkNvdW50ZXIobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W1hgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICAuaW5mbyB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4wMikiLCJyZ2JhKDI1NSwyNTUsMjU1LDAuMDIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07YWRkVGFiKCl7dGhpcy50YWJDb3VudGVyKys7bGV0IG09YERvY3VtZW50ICR7dGhpcy50YWJDb3VudGVyfWA7dGhpcy50YWJzPVsuLi50aGlzLnRhYnMse2tleTptLGljb25OYW1lOiJsdWNpZGU6ZmlsZSIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKGAke219IGNsaWNrZWRgKSwiYWN0aW9uIiksY2xvc2VhYmxlOiEwLG9uQ2xvc2U6cygoKT0+dGhpcy5yZW1vdmVUYWIobSksIm9uQ2xvc2UiKX1dfXJlbW92ZVRhYihtKXt0aGlzLnRhYnM9dGhpcy50YWJzLmZpbHRlcih2PT52LmtleSE9PW0pfWNsZWFyQWxsKCl7dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtYXBwdWktdGFicyIpPy5jbGVhcigpLHRoaXMudGFicz1bXSx0aGlzLnRhYkNvdW50ZXI9MH1yZW5kZXIoKXtsZXQgbT1be2lkOiJhZGQiLGljb25OYW1lOiJsdWNpZGU6cGx1cyIsYWN0aW9uOnMoKCk9PnRoaXMuYWRkVGFiKCksImFjdGlvbiIpLHRvb2x0aXA6Ik5ldyBUYWIifSx7aWQ6ImNsZWFyIixpY29uTmFtZToibHVjaWRlOnRyYXNoMiIsYWN0aW9uOnMoKCk9PnRoaXMuY2xlYXJBbGwoKSwiYWN0aW9uIiksdG9vbHRpcDoiQ2xlYXIgQWxsIFRhYnMifV07cmV0dXJuIHdgCiAgICAgIDxkZWVzLWFwcHVpLXRhYnMKICAgICAgICAudGFicz0ke3RoaXMudGFic30KICAgICAgICAuYWN0aW9uc1JpZ2h0PSR7bX0KICAgICAgICBAdGFiLWNsb3NlPSR7dj0+dGhpcy5yZW1vdmVUYWIodi5kZXRhaWwudGFiLmtleSl9CiAgICAgID48L2RlZXMtYXBwdWktdGFicz4KICAgICAgPGRpdiBjbGFzcz0iaW5mbyI+CiAgICAgICAgQ2xpY2sgdGhlIFggYnV0dG9uIG9uIHRhYnMgdG8gY2xvc2UgdGhlbS4gVXNlIHRoZSArIGJ1dHRvbiB0byBhZGQgdGFicyBhbmQgdGhlIHRyYXNoIGJ1dHRvbiB0byBjbGVhciBhbGwuCiAgICAgICAgPGJyPkN1cnJlbnQgdGFiczogJHt0aGlzLnRhYnMubGVuZ3RofQogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLEJuKHRoaXMscCl9c3RhdGlje0JuKHIsdCl9fTtyZXR1cm4gdT1yfSkoKSxvWmk9KCgpPT57bGV0IGE9W2llKCJkZW1vLWF1dG9oaWRlLXRhYnMiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVtb0F1dG9IaWRlVGFicyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZD1bSygpXSx1PVtLKCldLG01KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4idGFicyJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLnRhYnMsImdldCIpLHNldDpzKChnLHkpPT57Zy50YWJzPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbixsKSxtNSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImF1dG9IaWRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJhdXRvSGlkZSJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLmF1dG9IaWRlLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuYXV0b0hpZGU9eX0sInNldCIpfSxtZXRhZGF0YTpifSxjLHApLG01KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGhyZXNob2xkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJ0aHJlc2hvbGQiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy50aHJlc2hvbGQsImdldCIpLHNldDpzKChnLHkpPT57Zy50aHJlc2hvbGQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSxtLHYpLG01KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsdCkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9I2U9Qm4odGhpcyxuLFt7a2V5OiJUYWIgMSIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlRhYiAxIiksImFjdGlvbiIpfSx7a2V5OiJUYWIgMiIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlRhYiAyIiksImFjdGlvbiIpfV0pO2dldCB0YWJzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHRhYnMoYil7dGhpcy4jZT1ifSN0PShCbih0aGlzLGwpLEJuKHRoaXMsYywhMCkpO2dldCBhdXRvSGlkZSgpe3JldHVybiB0aGlzLiN0fXNldCBhdXRvSGlkZShiKXt0aGlzLiN0PWJ9I2E9KEJuKHRoaXMscCksQm4odGhpcyxtLDEpKTtnZXQgdGhyZXNob2xkKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHRocmVzaG9sZChiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1bWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICAgIC50YWJzLWNvbnRhaW5lciB7CiAgICAgICAgbWluLWhlaWdodDogNjBweDsKICAgICAgICBib3JkZXI6IDFweCBkYXNoZWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KICAgICAgLnRhYnMtY29udGFpbmVyIGRlZXMtYXBwdWktdGFicyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgICAgLnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNzE3MTdhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KICAgICAgLmNvbnRyb2xzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CiAgICAgIGJ1dHRvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMykiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQogICAgICBidXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICB9CiAgICAgIGJ1dHRvbi5kYW5nZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjEpIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIiwicmdiYSgyMzksIDY4LCA2OCwgMC4zKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZjg3MTcxIil9OwogICAgICB9CiAgICAgIGJ1dHRvbi5kYW5nZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgfQogICAgICAuaW5mbyB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4wMikiLCJyZ2JhKDI1NSwyNTUsMjU1LDAuMDIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07dGFiQ291bnRlcj0oQm4odGhpcyx2KSwyKTthZGRUYWIoKXt0aGlzLnRhYkNvdW50ZXIrKyx0aGlzLnRhYnM9Wy4uLnRoaXMudGFicyx7a2V5OmBUYWIgJHt0aGlzLnRhYkNvdW50ZXJ9YCxpY29uTmFtZToibHVjaWRlOmZpbGUiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZyhgVGFiICR7dGhpcy50YWJDb3VudGVyfWApLCJhY3Rpb24iKX1dfXJlbW92ZUxhc3RUYWIoKXt0aGlzLnRhYnMubGVuZ3RoPjAmJih0aGlzLnRhYnM9dGhpcy50YWJzLnNsaWNlKDAsLTEpKX1jbGVhclRhYnMoKXt0aGlzLnRhYnM9W119cmVuZGVyKCl7bGV0IGI9dGhpcy5hdXRvSGlkZSYmdGhpcy50YWJzLmxlbmd0aDw9dGhpcy50aHJlc2hvbGQ7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InRhYnMtY29udGFpbmVyIj4KICAgICAgICAke2I/d2A8c3BhbiBjbGFzcz0icGxhY2Vob2xkZXIiPlRhYnMgaGlkZGVuICgke3RoaXMudGFicy5sZW5ndGh9IHRhYnMg4omkIHRocmVzaG9sZCAke3RoaXMudGhyZXNob2xkfSk8L3NwYW4+YDp3YDxkZWVzLWFwcHVpLXRhYnMKICAgICAgICAgICAgICAudGFicz0ke3RoaXMudGFic30KICAgICAgICAgICAgICAuYXV0b0hpZGU9JHt0aGlzLmF1dG9IaWRlfQogICAgICAgICAgICAgIC5hdXRvSGlkZVRocmVzaG9sZD0ke3RoaXMudGhyZXNob2xkfQogICAgICAgICAgICA+PC9kZWVzLWFwcHVpLXRhYnM+YH0KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzIj4KICAgICAgICA8YnV0dG9uIEBjbGljaz0keygpPT50aGlzLmFkZFRhYigpfT4rIEFkZCBUYWI8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJkYW5nZXIiIEBjbGljaz0keygpPT50aGlzLnJlbW92ZUxhc3RUYWIoKX0+LSBSZW1vdmUgVGFiPC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGFuZ2VyIiBAY2xpY2s9JHsoKT0+dGhpcy5jbGVhclRhYnMoKX0+Q2xlYXIgQWxsPC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBAY2xpY2s9JHsoKT0+e3RoaXMudGhyZXNob2xkPTB9fT5UaHJlc2hvbGQ6IDA8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIEBjbGljaz0keygpPT57dGhpcy50aHJlc2hvbGQ9MX19PlRocmVzaG9sZDogMTwvYnV0dG9uPgogICAgICAgIDxidXR0b24gQGNsaWNrPSR7KCk9Pnt0aGlzLnRocmVzaG9sZD0yfX0+VGhyZXNob2xkOiAyPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpbmZvIj4KICAgICAgICBBdXRvLWhpZGU6ICR7dGhpcy5hdXRvSGlkZT8iT04iOiJPRkYifSB8IFRocmVzaG9sZDogJHt0aGlzLnRocmVzaG9sZH0gfCBUYWJzOiAke3RoaXMudGFicy5sZW5ndGh9CiAgICAgICAgPGJyPlRhYnMgd2lsbCBoaWRlIHdoZW4gY291bnQg4omkIHRocmVzaG9sZC4KICAgICAgPC9kaXY+CiAgICBgfXN0YXRpY3tCbihyLHQpfX07cmV0dXJuIHg9cn0pKCksVmxhPXMoKCk9PntsZXQgYT1be2tleToiSG9tZSIsaWNvbk5hbWU6Imx1Y2lkZTpob21lIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkhvbWUgY2xpY2tlZCIpLCJhY3Rpb24iKX0se2tleToiQW5hbHl0aWNzIERhc2hib2FyZCIsaWNvbk5hbWU6Imx1Y2lkZTpsaW5lQ2hhcnQiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiQW5hbHl0aWNzIGNsaWNrZWQiKSwiYWN0aW9uIil9LHtrZXk6IlJlcG9ydHMiLGljb25OYW1lOiJsdWNpZGU6ZmlsZVRleHQiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiUmVwb3J0cyBjbGlja2VkIiksImFjdGlvbiIpfSx7a2V5OiJVc2VyIFNldHRpbmdzIixpY29uTmFtZToibHVjaWRlOnNldHRpbmdzIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlNldHRpbmdzIGNsaWNrZWQiKSwiYWN0aW9uIil9LHtrZXk6IkhlbHAiLGljb25OYW1lOiJsdWNpZGU6aGVscENpcmNsZSIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJIZWxwIGNsaWNrZWQiKSwiYWN0aW9uIil9XSxlPVt7a2V5OiJQcm9maWxlIixpY29uTmFtZToibHVjaWRlOnVzZXIiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiUHJvZmlsZSBjbGlja2VkIiksImFjdGlvbiIpfSx7a2V5OiJTZWN1cml0eSIsaWNvbk5hbWU6Imx1Y2lkZTpzaGllbGQiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiU2VjdXJpdHkgY2xpY2tlZCIpLCJhY3Rpb24iKX0se2tleToiTm90aWZpY2F0aW9ucyIsaWNvbk5hbWU6Imx1Y2lkZTpiZWxsIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIk5vdGlmaWNhdGlvbnMgY2xpY2tlZCIpLCJhY3Rpb24iKX0se2tleToiSW50ZWdyYXRpb25zIixpY29uTmFtZToibHVjaWRlOmxpbmsiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiSW50ZWdyYXRpb25zIGNsaWNrZWQiKSwiYWN0aW9uIil9LHtrZXk6IkFkdmFuY2VkIixpY29uTmFtZToibHVjaWRlOmNvZGUiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiQWR2YW5jZWQgY2xpY2tlZCIpLCJhY3Rpb24iKX1dLHQ9W3trZXk6IkFsbCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJBbGwgY2xpY2tlZCIpLCJhY3Rpb24iKX0se2tleToiQWN0aXZlIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkFjdGl2ZSBjbGlja2VkIiksImFjdGlvbiIpfSx7a2V5OiJDb21wbGV0ZWQiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiQ29tcGxldGVkIGNsaWNrZWQiKSwiYWN0aW9uIil9LHtrZXk6IkFyY2hpdmVkIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkFyY2hpdmVkIGNsaWNrZWQiKSwiYWN0aW9uIil9XSxyPVt7aWQ6ImJhY2siLGljb25OYW1lOiJsdWNpZGU6YXJyb3dMZWZ0IixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkJhY2siKSwiYWN0aW9uIiksdG9vbHRpcDoiR28gQmFjayJ9XSxpPVt7aWQ6ImFkZCIsaWNvbk5hbWU6Imx1Y2lkZTpwbHVzIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkFkZCB0YWIiKSwiYWN0aW9uIiksdG9vbHRpcDoiTmV3IFRhYiJ9LHtpZDoic2VhcmNoIixpY29uTmFtZToibHVjaWRlOnNlYXJjaCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJTZWFyY2giKSwiYWN0aW9uIiksdG9vbHRpcDoiU2VhcmNoIFRhYnMifSx7aWQ6ImRpc2FibGVkIixpY29uTmFtZToibHVjaWRlOmxvY2siLGFjdGlvbjpzKCgpPT57fSwiYWN0aW9uIiksdG9vbHRpcDoiRGlzYWJsZWQgQWN0aW9uIixkaXNhYmxlZDohMH1dLG89cyhuPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsiPgogICAgICAke259CiAgICA8L2Rpdj4KICBgLCJkZW1vQ29udGVudCIpO3JldHVybiB3YAogICAgPHN0eWxlPgogICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDMycHg7CiAgICAgICAgcGFkZGluZzogNDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC50d28tY29sdW1uIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjAwcHggMWZyOwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkhvcml6b250YWwgVGFicyB3aXRoIEFuaW1hdGVkIEluZGljYXRvcjwvZGl2PgogICAgICAgIDxkZWVzLWFwcHVpLXRhYnMgLnRhYnM9JHthfT48L2RlZXMtYXBwdWktdGFicz4KICAgICAgICAke28oIlNlbGVjdCBhIHRhYiB0byBzZWUgdGhlIHNtb290aCBzbGlkaW5nIGFuaW1hdGlvbiBvZiB0aGUgaW5kaWNhdG9yLiBUaGUgaW5kaWNhdG9yIGF1dG9tYXRpY2FsbHkgYWRqdXN0cyBpdHMgd2lkdGggdG8gbWF0Y2ggdGhlIHRhYiBjb250ZW50IHdpdGggbWluaW1hbCBwYWRkaW5nLiIpfQogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlRhYnMgd2l0aCBBY3Rpb24gQnV0dG9uczwvZGl2PgogICAgICAgIDxkZWVzLWFwcHVpLXRhYnMKICAgICAgICAgIC50YWJzPSR7YX0KICAgICAgICAgIC5hY3Rpb25zTGVmdD0ke3J9CiAgICAgICAgICAuYWN0aW9uc1JpZ2h0PSR7aX0KICAgICAgICA+PC9kZWVzLWFwcHVpLXRhYnM+CiAgICAgICAgJHtvKCJBY3Rpb24gYnV0dG9ucyBjYW4gYmUgcGxhY2VkIG9uIGVpdGhlciBzaWRlIG9mIHRoZSB0YWIgYmFyLiBUaGV5IHJlbWFpbiBmaXhlZCB3aGlsZSB0YWJzIHNjcm9sbC4gVGhlIGxvY2sgaWNvbiBzaG93cyBhIGRpc2FibGVkIGFjdGlvbi4iKX0KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5DbG9zZWFibGUgVGFicyB3aXRoIEFjdGlvbnM8L2Rpdj4KICAgICAgICA8ZGVtby1jbG9zZWFibGUtdGFicz48L2RlbW8tY2xvc2VhYmxlLXRhYnM+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QXV0by1oaWRlIFRhYnM8L2Rpdj4KICAgICAgICA8ZGVtby1hdXRvaGlkZS10YWJzPjwvZGVtby1hdXRvaGlkZS10YWJzPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlZlcnRpY2FsIFRhYnMgTGF5b3V0PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idHdvLWNvbHVtbiI+CiAgICAgICAgICA8ZGVlcy1hcHB1aS10YWJzIC50YWJTdHlsZT0keyJ2ZXJ0aWNhbCJ9IC50YWJzPSR7ZX0+PC9kZWVzLWFwcHVpLXRhYnM+CiAgICAgICAgICAke28oIlZlcnRpY2FsIHRhYnMgd29yayBncmVhdCBmb3Igc2V0dGluZ3MgcGFnZXMgYW5kIG5hdmlnYXRpb24gbWVudXMuIFRoZSBhbmltYXRlZCBpbmRpY2F0b3Igc21vb3RobHkgdHJhbnNpdGlvbnMgYmV0d2VlbiBzZWxlY3Rpb25zLiIpfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPldpdGhvdXQgSW5kaWNhdG9yPC9kaXY+CiAgICAgICAgPGRlZXMtYXBwdWktdGFicyAuc2hvd1RhYkluZGljYXRvcj0keyExfSAudGFicz0ke3R9PjwvZGVlcy1hcHB1aS10YWJzPgogICAgICAgICR7bygiVGFicyBjYW4gYWxzbyBiZSB1c2VkIHdpdGhvdXQgdGhlIGFuaW1hdGVkIGluZGljYXRvciBieSBzZXR0aW5nIHNob3dUYWJJbmRpY2F0b3IgdG8gZmFsc2UuIil9CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYH0sImRlbW9GdW5jIil9KTt2YXIgcTEsYXMsVWxhLGJRZT1mKCgpPT57bjQoKTtsZSgpO2VhKCk7amxhKCk7UWUoKTtxMT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sYXM9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFVsYT0oKCk9PntsZXQgYT1baWUoImRlZXMtYXBwdWktdGFicyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdLFAsQT1bXSxGPVtdLFcsaj1bXSxHPVtdO3ZhciBoZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0FwcHVpVGFicyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBSPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpPYmplY3R9KV0sdT1bJCh7dHlwZTpCb29sZWFufSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLHk9WyQoe3R5cGU6Qm9vbGVhbn0pXSxOPVskKHt0eXBlOk51bWJlcn0pXSxPPVskKHt0eXBlOkFycmF5fSldLEI9WyQoe3R5cGU6QXJyYXl9KV0sUD1bSygpXSxXPVtLKCldLHExKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4idGFicyJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnRhYnMsImdldCIpLHNldDpzKChVLG1lKT0+e1UudGFicz1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxuLGwpLHExKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRUYWIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InNlbGVjdGVkVGFiImluIFUsImhhcyIpLGdldDpzKFU9PlUuc2VsZWN0ZWRUYWIsImdldCIpLHNldDpzKChVLG1lKT0+e1Uuc2VsZWN0ZWRUYWI9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sYyxwKSxxMSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dUYWJJbmRpY2F0b3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InNob3dUYWJJbmRpY2F0b3IiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5zaG93VGFiSW5kaWNhdG9yLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnNob3dUYWJJbmRpY2F0b3I9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sbSx2KSxxMSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYlN0eWxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJ0YWJTdHlsZSJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnRhYlN0eWxlLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnRhYlN0eWxlPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGIsZykscTEodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhdXRvSGlkZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4iYXV0b0hpZGUiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5hdXRvSGlkZSwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5hdXRvSGlkZT1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxrLEMpLHExKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXV0b0hpZGVUaHJlc2hvbGQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+ImF1dG9IaWRlVGhyZXNob2xkImluIFUsImhhcyIpLGdldDpzKFU9PlUuYXV0b0hpZGVUaHJlc2hvbGQsImdldCIpLHNldDpzKChVLG1lKT0+e1UuYXV0b0hpZGVUaHJlc2hvbGQ9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sXyx6KSxxMSh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGlvbnNMZWZ0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJhY3Rpb25zTGVmdCJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLmFjdGlvbnNMZWZ0LCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLmFjdGlvbnNMZWZ0PW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LFQsRSkscTEodGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpb25zUmlnaHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+ImFjdGlvbnNSaWdodCJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLmFjdGlvbnNSaWdodCwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5hY3Rpb25zUmlnaHQ9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sTSxTKSxxMSh0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNhblNjcm9sbExlZnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+ImNhblNjcm9sbExlZnQiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5jYW5TY3JvbGxMZWZ0LCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLmNhblNjcm9sbExlZnQ9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sQSxGKSxxMSh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNhblNjcm9sbFJpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJjYW5TY3JvbGxSaWdodCJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLmNhblNjcm9sbFJpZ2h0LCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLmNhblNjcm9sbFJpZ2h0PW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGosRykscTEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Un0sbnVsbCx0KSxoZT1yPWUudmFsdWUsUiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpSfSl9c3RhdGljIGRlbW89VmxhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07I2U9YXModGhpcyxuLFtdKTtnZXQgdGFicygpe3JldHVybiB0aGlzLiNlfXNldCB0YWJzKFIpe3RoaXMuI2U9Un0jdD0oYXModGhpcyxsKSxhcyh0aGlzLGMsbnVsbCkpO2dldCBzZWxlY3RlZFRhYigpe3JldHVybiB0aGlzLiN0fXNldCBzZWxlY3RlZFRhYihSKXt0aGlzLiN0PVJ9I2E9KGFzKHRoaXMscCksYXModGhpcyxtLCEwKSk7Z2V0IHNob3dUYWJJbmRpY2F0b3IoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2hvd1RhYkluZGljYXRvcihSKXt0aGlzLiNhPVJ9I3I9KGFzKHRoaXMsdiksYXModGhpcyxiLCJob3Jpem9udGFsIikpO2dldCB0YWJTdHlsZSgpe3JldHVybiB0aGlzLiNyfXNldCB0YWJTdHlsZShSKXt0aGlzLiNyPVJ9I3M9KGFzKHRoaXMsZyksYXModGhpcyxrLCExKSk7Z2V0IGF1dG9IaWRlKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGF1dG9IaWRlKFIpe3RoaXMuI3M9Un0jaT0oYXModGhpcyxDKSxhcyh0aGlzLF8sMCkpO2dldCBhdXRvSGlkZVRocmVzaG9sZCgpe3JldHVybiB0aGlzLiNpfXNldCBhdXRvSGlkZVRocmVzaG9sZChSKXt0aGlzLiNpPVJ9I289KGFzKHRoaXMseiksYXModGhpcyxULFtdKSk7Z2V0IGFjdGlvbnNMZWZ0KCl7cmV0dXJuIHRoaXMuI299c2V0IGFjdGlvbnNMZWZ0KFIpe3RoaXMuI289Un0jbj0oYXModGhpcyxFKSxhcyh0aGlzLE0sW10pKTtnZXQgYWN0aW9uc1JpZ2h0KCl7cmV0dXJuIHRoaXMuI259c2V0IGFjdGlvbnNSaWdodChSKXt0aGlzLiNuPVJ9I2w9KGFzKHRoaXMsUyksYXModGhpcyxBLCExKSk7Z2V0IGNhblNjcm9sbExlZnQoKXtyZXR1cm4gdGhpcy4jbH1zZXQgY2FuU2Nyb2xsTGVmdChSKXt0aGlzLiNsPVJ9I2M9KGFzKHRoaXMsRiksYXModGhpcyxqLCExKSk7Z2V0IGNhblNjcm9sbFJpZ2h0KCl7cmV0dXJuIHRoaXMuI2N9c2V0IGNhblNjcm9sbFJpZ2h0KFIpe3RoaXMuI2M9Un1yZXNpemVPYnNlcnZlcj0oYXModGhpcyxHKSxudWxsKTtzdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnRhYnMtd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLnRhYnMtd3JhcHBlci5ob3Jpem9udGFsLXdyYXBwZXIgewogICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7CiAgICAgIH0KCiAgICAgIC8qIFNjcm9sbCBmYWRlIGluZGljYXRvcnMgKi8KICAgICAgLnNjcm9sbC1mYWRlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMXB4OwogICAgICAgIHdpZHRoOiA0OHB4OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgIH0KCiAgICAgIC5zY3JvbGwtZmFkZS1sZWZ0IHsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwKICAgICAgICAgICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzE2MTYxNiIpfSAwJSwKICAgICAgICAgICR7aC5iZFRoZW1lKCJyZ2JhKDI1NSwyNTUsMjU1LDApIiwicmdiYSgyMiwyMiwyMiwwKSIpfSAxMDAlKTsKICAgICAgfQoKICAgICAgLnNjcm9sbC1mYWRlLXJpZ2h0IHsKICAgICAgICByaWdodDogMDsKICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwKICAgICAgICAgICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzE2MTYxNiIpfSAwJSwKICAgICAgICAgICR7aC5iZFRoZW1lKCJyZ2JhKDI1NSwyNTUsMjU1LDApIiwicmdiYSgyMiwyMiwyMiwwKSIpfSAxMDAlKTsKICAgICAgfQoKICAgICAgLnNjcm9sbC1mYWRlLnZpc2libGUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5zY3JvbGwtYXJlYSB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQoKICAgICAgLyogVGFiIGFjdGlvbiBidXR0b25zICovCiAgICAgIC50YWItYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHBhZGRpbmc6IDAgNHB4OwogICAgICB9CgogICAgICAudGFiLWFjdGlvbnMubGVmdCB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgfQoKICAgICAgLnRhYi1hY3Rpb25zLnJpZ2h0IHsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OwogICAgICAgIHBhZGRpbmctbGVmdDogOHB4OwogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgIH0KCiAgICAgIC50YWItYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZSwgY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnRhYi1hY3Rpb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWFjdGl2ZSk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLnRhYi1hY3Rpb24tYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1wcmVzc2VkKTsKICAgICAgfQoKICAgICAgLnRhYi1hY3Rpb24tYnV0dG9uLmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjQ7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLnRhYi1hY3Rpb24tYnV0dG9uLmRpc2FibGVkOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQoKICAgICAgLnRhYi1hY3Rpb24tYnV0dG9uIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICB9CgogICAgICAudGFic0NvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjsKICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjsKICAgICAgICBzY3JvbGxiYXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC8qIFNob3cgc2Nyb2xsYmFyIG9uIGhvdmVyICovCiAgICAgIC50YWJzLXdyYXBwZXI6aG92ZXIgLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbCwKICAgICAgLnNjcm9sbC1hcmVhOmhvdmVyIC50YWJzQ29udGFpbmVyLmhvcml6b250YWwgewogICAgICAgIHNjcm9sbGJhci1jb2xvcjogJHtoLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4yKSIsInJnYmEoMjU1LDI1NSwyNTUsMC4yKSIpfSB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbDo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICAgIGhlaWdodDogNHB4OwogICAgICB9CgogICAgICAudGFic0NvbnRhaW5lci5ob3Jpem9udGFsOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC50YWJzQ29udGFpbmVyLmhvcml6b250YWw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWJzLXdyYXBwZXI6aG92ZXIgLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsCiAgICAgIC5zY3JvbGwtYXJlYTpob3ZlciAudGFic0NvbnRhaW5lci5ob3Jpem9udGFsOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4yKSIsInJnYmEoMjU1LDI1NSwyNTUsMC4yKSIpfTsKICAgICAgfQoKICAgICAgLnRhYnMtd3JhcHBlcjpob3ZlciAudGFic0NvbnRhaW5lci5ob3Jpem9udGFsOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciwKICAgICAgLnNjcm9sbC1hcmVhOmhvdmVyIC50YWJzQ29udGFpbmVyLmhvcml6b250YWw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLDAsMCwwLjM1KSIsInJnYmEoMjU1LDI1NSwyNTUsMC4zNSkiKX07CiAgICAgIH0KCiAgICAgIC50YWJzQ29udGFpbmVyLnZlcnRpY2FsIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBnYXA6IDJweDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy10ZXJ0aWFyeSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICB9CgogICAgICAudGFiIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHotaW5kZXg6IDI7CiAgICAgIH0KCiAgICAgIC5ob3Jpem9udGFsIC50YWIgewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4IDZweCAwIDA7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlOwogICAgICB9CiAgICAgIAogICAgICAuaG9yaXpvbnRhbCAudGFiOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IC0ycHg7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICB3aWR0aDogMXB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQogICAgICAKICAgICAgLmhvcml6b250YWwgLnRhYiAudGFiLWNvbnRlbnQgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC52ZXJ0aWNhbCAudGFiIHsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYjpob3ZlciB7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQogICAgICAKICAgICAgLmhvcml6b250YWwgLnRhYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgIH0KICAgICAgCiAgICAgIC5ob3Jpem9udGFsIC50YWI6aG92ZXI6OmFmdGVyLAogICAgICAuaG9yaXpvbnRhbCAudGFiOmhvdmVyICsgLnRhYjo6YWZ0ZXIgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgIH0KCiAgICAgIC52ZXJ0aWNhbCAudGFiOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgyNDQsIDI0NCwgMjQ1LCAwLjUpIiwicmdiYSgzOSwgMzksIDQyLCAwLjUpIil9OwogICAgICB9CgogICAgICAuaG9yaXpvbnRhbCAudGFiLnNlbGVjdGVkVGFiIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CiAgICAgIAogICAgICAuaG9yaXpvbnRhbCAudGFiLnNlbGVjdGVkVGFiOjphZnRlciwKICAgICAgLmhvcml6b250YWwgLnRhYi5zZWxlY3RlZFRhYiArIC50YWI6OmFmdGVyIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAudmVydGljYWwgLnRhYi5zZWxlY3RlZFRhYiB7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLnRhYiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgfQoKICAgICAgLnRhYkluZGljYXRvciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgfQogICAgICAKICAgICAgLnRhYkluZGljYXRvci5uby10cmFuc2l0aW9uIHsKICAgICAgICB0cmFuc2l0aW9uOiBub25lOwogICAgICB9CgogICAgICAudGFicy13cmFwcGVyIC50YWJJbmRpY2F0b3IgewogICAgICAgIGhlaWdodDogM3B4OwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWFjY2VudC1wcmltYXJ5KTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHggM3B4IDAgMDsKICAgICAgICB6LWluZGV4OiAzOwogICAgICB9CgogICAgICAudmVydGljYWwtd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAudmVydGljYWwtd3JhcHBlciAudGFiSW5kaWNhdG9yIHsKICAgICAgICBsZWZ0OiA4cHg7CiAgICAgICAgcmlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICB6LWluZGV4OiAxOwogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDgpOwogICAgICB9CgogICAgICAvKiBDbG9zZSBidXR0b24gKi8KICAgICAgLnRhYi1jbG9zZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgb3BhY2l0eTogMC40OwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMsIGJhY2tncm91bmQgMC4xNXM7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgIH0KCiAgICAgIC50YWI6aG92ZXIgLnRhYi1jbG9zZSB7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgogICAgICAudGFiLWNsb3NlOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItcHJlc3NlZCk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYWNjZW50LWVycm9yKTsKICAgICAgfQoKICAgICAgLnRhYi5zZWxlY3RlZFRhYiAudGFiLWNsb3NlIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC50YWIuc2VsZWN0ZWRUYWI6aG92ZXIgLnRhYi1jbG9zZSB7CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICB9CgogICAgICAudGFiLnNlbGVjdGVkVGFiIC50YWItY2xvc2U6aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB0aGlzLmF1dG9IaWRlJiZ0aGlzLnRhYnMubGVuZ3RoPD10aGlzLmF1dG9IaWRlVGhyZXNob2xkP3dgYDp3YAogICAgICAke3RoaXMucmVuZGVyVGFic1dyYXBwZXIoKX0KICAgIGB9cmVuZGVyVGFic1dyYXBwZXIoKXtsZXQgUj10aGlzLnRhYlN0eWxlPT09Imhvcml6b250YWwiLFU9Uj8idGFicy13cmFwcGVyIGhvcml6b250YWwtd3JhcHBlciI6InZlcnRpY2FsLXdyYXBwZXIiLG1lPWB0YWJzQ29udGFpbmVyICR7dGhpcy50YWJTdHlsZX1gO2lmKFIpe2xldCBJPXRoaXMuYWN0aW9uc0xlZnQmJnRoaXMuYWN0aW9uc0xlZnQubGVuZ3RoPjAscT10aGlzLmFjdGlvbnNSaWdodCYmdGhpcy5hY3Rpb25zUmlnaHQubGVuZ3RoPjA7cmV0dXJuIHdgCiAgICAgICAgPGRpdiBjbGFzcz0iJHtVfSI+CiAgICAgICAgICAke0k/dGhpcy5yZW5kZXJBY3Rpb25zKHRoaXMuYWN0aW9uc0xlZnQsImxlZnQiKToiIn0KICAgICAgICAgIDxkaXYgY2xhc3M9InNjcm9sbC1hcmVhIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2Nyb2xsLWZhZGUgc2Nyb2xsLWZhZGUtbGVmdCAke3RoaXMuY2FuU2Nyb2xsTGVmdD8idmlzaWJsZSI6IiJ9Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iJHttZX0iIEBzY3JvbGw9JHt0aGlzLmhhbmRsZVNjcm9sbH0+CiAgICAgICAgICAgICAgJHt0aGlzLnRhYnMubWFwKGNlPT50aGlzLnJlbmRlclRhYihjZSxSKSl9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzY3JvbGwtZmFkZSBzY3JvbGwtZmFkZS1yaWdodCAke3RoaXMuY2FuU2Nyb2xsUmlnaHQ/InZpc2libGUiOiIifSI+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7cT90aGlzLnJlbmRlckFjdGlvbnModGhpcy5hY3Rpb25zUmlnaHQsInJpZ2h0Iik6IiJ9CiAgICAgICAgICAke3RoaXMuc2hvd1RhYkluZGljYXRvcj93YDxkaXYgY2xhc3M9InRhYkluZGljYXRvciI+PC9kaXY+YDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgYH1yZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iJHtVfSI+CiAgICAgICAgPGRpdiBjbGFzcz0iJHttZX0iPgogICAgICAgICAgJHt0aGlzLnRhYnMubWFwKEk9PnRoaXMucmVuZGVyVGFiKEksUikpfQogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5zaG93VGFiSW5kaWNhdG9yP3dgPGRpdiBjbGFzcz0idGFiSW5kaWNhdG9yIj48L2Rpdj5gOiIifQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyQWN0aW9ucyhSLFUpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJ0YWItYWN0aW9ucyAke1V9Ij4KICAgICAgICAke1IubWFwKG1lPT53YAogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0idGFiLWFjdGlvbi1idXR0b24gJHttZS5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSIKICAgICAgICAgICAgdGl0bGU9IiR7bWUudG9vbHRpcHx8bWUuaWR9IgogICAgICAgICAgICBAY2xpY2s9JHsoKT0+IW1lLmRpc2FibGVkJiZtZS5hY3Rpb24oKX0KICAgICAgICAgID4KICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke21lLmljb25OYW1lfT48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGApfQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyVGFiKFIsVSl7bGV0IEk9YHRhYiAke1I9PT10aGlzLnNlbGVjdGVkVGFiPyJzZWxlY3RlZFRhYiI6IiJ9YCxxPVIuY2xvc2VhYmxlP3dgCiAgICAgIDxzcGFuIGNsYXNzPSJ0YWItY2xvc2UiIEBjbGljaz0iJHt1ZT0+dGhpcy5jbG9zZVRhYih1ZSxSKX0iPgogICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOngifSBzdHlsZT0iZm9udC1zaXplOiAxMnB4OyI+PC9kZWVzLWljb24+CiAgICAgIDwvc3Bhbj4KICAgIGA6IiIsY2U9VT93YAogICAgICA8c3BhbiBjbGFzcz0idGFiLWNvbnRlbnQiPgogICAgICAgICR7dGhpcy5yZW5kZXJUYWJJY29uKFIpfQogICAgICAgICR7Ui5rZXl9CiAgICAgIDwvc3Bhbj4KICAgICAgJHtxfQogICAgYDp3YAogICAgICAke3RoaXMucmVuZGVyVGFiSWNvbihSKX0KICAgICAgJHtSLmtleX0KICAgICAgJHtxfQogICAgYDtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSIke0l9IgogICAgICAgIEBjbGljaz0iJHsoKT0+dGhpcy5zZWxlY3RUYWIoUil9IgogICAgICA+CiAgICAgICAgJHtjZX0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclRhYkljb24oUil7cmV0dXJuIFIuaWNvbk5hbWU/d2A8ZGVlcy1pY29uIC5pY29uPSR7Ui5pY29uTmFtZX0+PC9kZWVzLWljb24+YDoiIn1zZWxlY3RUYWIoUil7dGhpcy5zZWxlY3RlZFRhYj1SLFIuYWN0aW9uKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5zY3JvbGxUYWJJbnRvVmlldyhSKX0pLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInRhYi1zZWxlY3QiLHtkZXRhaWw6e3RhYjpSfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNsZWFyKCl7dGhpcy50YWJzPVtdLHRoaXMuc2VsZWN0ZWRUYWI9bnVsbH1jbG9zZVRhYihSLFUpe1Iuc3RvcFByb3BhZ2F0aW9uKCksVS5vbkNsb3NlJiZVLm9uQ2xvc2UoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItY2xvc2UiLHtkZXRhaWw6e3RhYjpVfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWZpcnN0VXBkYXRlZCgpe3RoaXMuc2V0dXBSZXNpemVPYnNlcnZlcigpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMudXBkYXRlU2Nyb2xsU3RhdGUoKX0pfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnJlc2l6ZU9ic2VydmVyJiYodGhpcy5yZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCksdGhpcy5yZXNpemVPYnNlcnZlcj1udWxsKX1zZXR1cFJlc2l6ZU9ic2VydmVyKCl7aWYodGhpcy50YWJTdHlsZSE9PSJob3Jpem9udGFsIilyZXR1cm47dGhpcy5yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKCk9Pnt0aGlzLnVwZGF0ZVNjcm9sbFN0YXRlKCl9KTtsZXQgUj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50YWJzQ29udGFpbmVyLmhvcml6b250YWwiKTtSJiZ0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUoUil9aGFuZGxlU2Nyb2xsPXMoKCk9Pnt0aGlzLnVwZGF0ZVNjcm9sbFN0YXRlKCl9LCJoYW5kbGVTY3JvbGwiKTt1cGRhdGVTY3JvbGxTdGF0ZSgpe2xldCBSPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbCIpO2lmKCFSKXJldHVybjtsZXQgVT1SLnNjcm9sbExlZnQsbWU9Ui5zY3JvbGxXaWR0aCxJPVIuY2xpZW50V2lkdGgscT0yO3RoaXMuY2FuU2Nyb2xsTGVmdD1VPnEsdGhpcy5jYW5TY3JvbGxSaWdodD1VPG1lLUktcX1zY3JvbGxUYWJJbnRvVmlldyhSKXtpZih0aGlzLnRhYlN0eWxlIT09Imhvcml6b250YWwiKXJldHVybjtsZXQgVT10aGlzLnRhYnMuaW5kZXhPZihSKTtpZihVPT09LTEpcmV0dXJuO2xldCBtZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50YWJzQ29udGFpbmVyLmhvcml6b250YWwiKSxJPW1lPy5xdWVyeVNlbGVjdG9yKGAudGFiOm50aC1jaGlsZCgke1UrMX0pYCk7aWYoSSYmbWUpe2xldCBxPW1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGNlPUkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Y2UubGVmdD49cS5sZWZ0JiZjZS5yaWdodDw9cS5yaWdodHx8SS5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6InNtb290aCIsYmxvY2s6Im5lYXJlc3QiLGlubGluZToibmVhcmVzdCJ9KX19YXN5bmMgdXBkYXRlZChSKXtzdXBlci51cGRhdGVkKFIpLFIuaGFzKCJ0YWJzIikmJighdGhpcy50YWJzfHx0aGlzLnRhYnMubGVuZ3RoPT09MD90aGlzLnNlbGVjdGVkVGFiIT09bnVsbCYmKHRoaXMuc2VsZWN0ZWRUYWI9bnVsbCx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItc2VsZWN0Iix7ZGV0YWlsOnt0YWI6bnVsbH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSk6dGhpcy5zZWxlY3RlZFRhYiYmIXRoaXMudGFicy5pbmNsdWRlcyh0aGlzLnNlbGVjdGVkVGFiKT90aGlzLnNlbGVjdFRhYih0aGlzLnRhYnNbMF0pOnRoaXMuc2VsZWN0ZWRUYWJ8fHRoaXMuc2VsZWN0VGFiKHRoaXMudGFic1swXSkpLChSLmhhcygic2VsZWN0ZWRUYWIiKXx8Ui5oYXMoInRhYnMiKSkmJihhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLCF0aGlzLmluZGljYXRvckluaXRpYWxpemVkJiZkb2N1bWVudC5mb250cyYmYXdhaXQgZG9jdW1lbnQuZm9udHMucmVhZHkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy51cGRhdGVUYWJJbmRpY2F0b3IoKSx0aGlzLnVwZGF0ZVNjcm9sbFN0YXRlKCl9KSl9aW5kaWNhdG9ySW5pdGlhbGl6ZWQ9ITE7dXBkYXRlVGFiSW5kaWNhdG9yKCl7aWYoIXRoaXMuc2hvdWxkU2hvd0luZGljYXRvcigpKXJldHVybjtsZXQgUj10aGlzLmdldFNlbGVjdGVkVGFiRWxlbWVudCgpO2lmKCFSKXJldHVybjtsZXQgVT10aGlzLmdldEluZGljYXRvckVsZW1lbnQoKTtVJiYodGhpcy5oYW5kbGVJbml0aWFsVHJhbnNpdGlvbihVKSx0aGlzLnRhYlN0eWxlPT09Imhvcml6b250YWwiP3RoaXMudXBkYXRlSG9yaXpvbnRhbEluZGljYXRvcihVLFIpOnRoaXMudXBkYXRlVmVydGljYWxJbmRpY2F0b3IoVSxSKSxVLnN0eWxlLm9wYWNpdHk9IjEiKX1zaG91bGRTaG93SW5kaWNhdG9yKCl7cmV0dXJuISF0aGlzLnNlbGVjdGVkVGFiJiZ0aGlzLnNob3dUYWJJbmRpY2F0b3ImJnRoaXMudGFicy5pbmNsdWRlcyh0aGlzLnNlbGVjdGVkVGFiKX1nZXRTZWxlY3RlZFRhYkVsZW1lbnQoKXtsZXQgUj10aGlzLnRhYnMuaW5kZXhPZih0aGlzLnNlbGVjdGVkVGFiKSxtZT10aGlzLnRhYlN0eWxlPT09Imhvcml6b250YWwiP2AudGFicy13cmFwcGVyIC50YWJzQ29udGFpbmVyIC50YWI6bnRoLWNoaWxkKCR7UisxfSlgOmAudmVydGljYWwtd3JhcHBlciAudGFic0NvbnRhaW5lciAudGFiOm50aC1jaGlsZCgke1IrMX0pYDtyZXR1cm4gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IobWUpfWdldEluZGljYXRvckVsZW1lbnQoKXtyZXR1cm4gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi50YWJJbmRpY2F0b3IiKX1oYW5kbGVJbml0aWFsVHJhbnNpdGlvbihSKXt0aGlzLmluZGljYXRvckluaXRpYWxpemVkfHwoUi5jbGFzc0xpc3QuYWRkKCJuby10cmFuc2l0aW9uIiksdGhpcy5pbmRpY2F0b3JJbml0aWFsaXplZD0hMCxzZXRUaW1lb3V0KCgpPT57Ui5jbGFzc0xpc3QucmVtb3ZlKCJuby10cmFuc2l0aW9uIil9LDUwKSl9dXBkYXRlSG9yaXpvbnRhbEluZGljYXRvcihSLFUpe2xldCBtZT1VLnF1ZXJ5U2VsZWN0b3IoIi50YWItY29udGVudCIpO2lmKCFtZSlyZXR1cm47bGV0IEk9Ui5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHE9bWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksY2U9cS5sZWZ0LUkubGVmdCx1ZT1xLndpZHRoKzgsWT1jZS00O1Iuc3R5bGUud2lkdGg9YCR7dWV9cHhgLFIuc3R5bGUubGVmdD1gJHtZfXB4YH11cGRhdGVWZXJ0aWNhbEluZGljYXRvcihSLFUpe2xldCBtZT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnZlcnRpY2FsLXdyYXBwZXIgLnRhYnNDb250YWluZXIiKTttZSYmKFIuc3R5bGUudG9wPWAke1Uub2Zmc2V0VG9wK21lLm9mZnNldFRvcH1weGAsUi5zdHlsZS5oZWlnaHQ9YCR7VS5jbGllbnRIZWlnaHR9cHhgKX1zdGF0aWN7YXMocix0KX19O3JldHVybiBoZT1yfSkoKX0pO3ZhciBFNCx0byxXbGEsdlFlPWYoKCk9PntuNCgpO2xlKCk7ZWEoKTtiUWUoKTtRZSgpO0U0PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSx0bz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sV2xhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1hcHB1aS1tYWluY29udGVudCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdO3ZhciBCPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQXBwdWlNYWluY29udGVudCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBNPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpPYmplY3R9KV0sdT1bJCh7dHlwZTpCb29sZWFufSldLHg9WyQoe3R5cGU6Qm9vbGVhbn0pXSx5PVskKHt0eXBlOk51bWJlcn0pXSxOPVskKHt0eXBlOkFycmF5fSldLE89WyQoe3R5cGU6QXJyYXl9KV0sRTQodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJ0YWJzImluIFMsImhhcyIpLGdldDpzKFM9PlMudGFicywiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnRhYnM9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxuLGwpLEU0KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRUYWIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InNlbGVjdGVkVGFiImluIFMsImhhcyIpLGdldDpzKFM9PlMuc2VsZWN0ZWRUYWIsImdldCIpLHNldDpzKChTLFApPT57Uy5zZWxlY3RlZFRhYj1QfSwic2V0Iil9LG1ldGFkYXRhOk19LGMscCksRTQodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93VGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ic2hvd1RhYnMiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5zaG93VGFicywiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnNob3dUYWJzPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbSx2KSxFNCh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYnNBdXRvSGlkZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idGFic0F1dG9IaWRlImluIFMsImhhcyIpLGdldDpzKFM9PlMudGFic0F1dG9IaWRlLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MudGFic0F1dG9IaWRlPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYixnKSxFNCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYnNBdXRvSGlkZVRocmVzaG9sZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idGFic0F1dG9IaWRlVGhyZXNob2xkImluIFMsImhhcyIpLGdldDpzKFM9PlMudGFic0F1dG9IaWRlVGhyZXNob2xkLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MudGFic0F1dG9IaWRlVGhyZXNob2xkPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sayxDKSxFNCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYkFjdGlvbnNMZWZ0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJ0YWJBY3Rpb25zTGVmdCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnRhYkFjdGlvbnNMZWZ0LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MudGFiQWN0aW9uc0xlZnQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxfLHopLEU0KHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFiQWN0aW9uc1JpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJ0YWJBY3Rpb25zUmlnaHQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy50YWJBY3Rpb25zUmlnaHQsImdldCIpLHNldDpzKChTLFApPT57Uy50YWJBY3Rpb25zUmlnaHQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxULEUpLEU0KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOk19LG51bGwsdCksQj1yPWUudmFsdWUsTSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpNfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkZWVzLWFwcHVpLW1haW5jb250ZW50CiAgICAgIC50YWJzPSR7W3trZXk6Ik92ZXJ2aWV3IixpY29uTmFtZToibHVjaWRlOmhvbWUiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiT3ZlcnZpZXciKSwiYWN0aW9uIil9LHtrZXk6IkRldGFpbHMiLGljb25OYW1lOiJsdWNpZGU6ZmlsZSIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJEZXRhaWxzIiksImFjdGlvbiIpfSx7a2V5OiJTZXR0aW5ncyIsaWNvbk5hbWU6Imx1Y2lkZTpzZXR0aW5ncyIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJTZXR0aW5ncyIpLCJhY3Rpb24iKX1dfQogICAgPgogICAgICA8ZGl2IHNsb3Q9ImNvbnRlbnQiIHN0eWxlPSJwYWRkaW5nOiA0MHB4OyBjb2xvcjogI2NjYzsiPgogICAgICAgIDxoMT5NYWluIENvbnRlbnQgQXJlYTwvaDE+CiAgICAgICAgPHA+VGhpcyBpcyB3aGVyZSB5b3VyIGFwcGxpY2F0aW9uIGNvbnRlbnQgZ29lcy48L3A+CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLWFwcHVpLW1haW5jb250ZW50PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkFwcCBVSSJdOyNlPXRvKHRoaXMsbixbe2tleToiXHUyNkEwXHVGRTBGIFBsZWFzZSBzZXQgdGFicyIsYWN0aW9uOnMoKCk9PmNvbnNvbGUud2FybigiTm8gdGFicyBjb25maWd1cmVkIGZvciBtYWluY29udGVudCIpLCJhY3Rpb24iKX1dKTtnZXQgdGFicygpe3JldHVybiB0aGlzLiNlfXNldCB0YWJzKE0pe3RoaXMuI2U9TX0jdD0odG8odGhpcyxsKSx0byh0aGlzLGMsbnVsbCkpO2dldCBzZWxlY3RlZFRhYigpe3JldHVybiB0aGlzLiN0fXNldCBzZWxlY3RlZFRhYihNKXt0aGlzLiN0PU19I2E9KHRvKHRoaXMscCksdG8odGhpcyxtLCEwKSk7Z2V0IHNob3dUYWJzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNob3dUYWJzKE0pe3RoaXMuI2E9TX0jcj0odG8odGhpcyx2KSx0byh0aGlzLGIsITEpKTtnZXQgdGFic0F1dG9IaWRlKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHRhYnNBdXRvSGlkZShNKXt0aGlzLiNyPU19I3M9KHRvKHRoaXMsZyksdG8odGhpcyxrLDApKTtnZXQgdGFic0F1dG9IaWRlVGhyZXNob2xkKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHRhYnNBdXRvSGlkZVRocmVzaG9sZChNKXt0aGlzLiNzPU19I2k9KHRvKHRoaXMsQyksdG8odGhpcyxfLFtdKSk7Z2V0IHRhYkFjdGlvbnNMZWZ0KCl7cmV0dXJuIHRoaXMuI2l9c2V0IHRhYkFjdGlvbnNMZWZ0KE0pe3RoaXMuI2k9TX0jbz0odG8odGhpcyx6KSx0byh0aGlzLFQsW10pKTtnZXQgdGFiQWN0aW9uc1JpZ2h0KCl7cmV0dXJuIHRoaXMuI299c2V0IHRhYkFjdGlvbnNSaWdodChNKXt0aGlzLiNvPU19c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXNlY29uZGFyeSk7CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBjb250ZW50czsKICAgICAgfQoKICAgICAgLnRvcGJhciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGdyaWQtdGVtcGxhdGUtcm93cyAwLjNzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b3BiYXIgPiAqIHsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICB9CgogICAgICAuY29udGVudC1hcmVhIHsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAgIH0KCiAgICAgIDpob3N0KFtub3RhYnNdKSAudG9wYmFyIHsKICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDBmcjsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InRvcGJhciI+CiAgICAgICAgICA8ZGVlcy1hcHB1aS10YWJzCiAgICAgICAgICAgIC50YWJzPSR7dGhpcy50YWJzfQogICAgICAgICAgICAuc2VsZWN0ZWRUYWI9JHt0aGlzLnNlbGVjdGVkVGFifQogICAgICAgICAgICAuc2hvd1RhYkluZGljYXRvcj0keyEwfQogICAgICAgICAgICAudGFiU3R5bGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC5hdXRvSGlkZT0ke3RoaXMudGFic0F1dG9IaWRlfQogICAgICAgICAgICAuYXV0b0hpZGVUaHJlc2hvbGQ9JHt0aGlzLnRhYnNBdXRvSGlkZVRocmVzaG9sZH0KICAgICAgICAgICAgLmFjdGlvbnNMZWZ0PSR7dGhpcy50YWJBY3Rpb25zTGVmdH0KICAgICAgICAgICAgLmFjdGlvbnNSaWdodD0ke3RoaXMudGFiQWN0aW9uc1JpZ2h0fQogICAgICAgICAgICBAdGFiLXNlbGVjdD0ke009PnRoaXMuaGFuZGxlVGFiU2VsZWN0KE0pfQogICAgICAgICAgICBAdGFiLWNsb3NlPSR7TT0+dGhpcy5oYW5kbGVUYWJDbG9zZShNKX0KICAgICAgICAgID48L2RlZXMtYXBwdWktdGFicz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50LWFyZWEiPgogICAgICAgICAgPHNsb3Q+PC9zbG90PgogICAgICAgICAgPHNsb3QgbmFtZT0iY29udGVudCI+PC9zbG90PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlVGFiU2VsZWN0KE0pe3RoaXMuc2VsZWN0ZWRUYWI9TS5kZXRhaWwudGFiLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInRhYi1zZWxlY3QiLHtkZXRhaWw6TS5kZXRhaWwsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVUYWJDbG9zZShNKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItY2xvc2UiLHtkZXRhaWw6TS5kZXRhaWwsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX11cGRhdGVkKE0pe3N1cGVyLnVwZGF0ZWQoTSksTS5oYXMoInNob3dUYWJzIikmJih0aGlzLnNob3dUYWJzP3RoaXMucmVtb3ZlQXR0cmlidXRlKCJub3RhYnMiKTp0aGlzLnNldEF0dHJpYnV0ZSgibm90YWJzIiwiIikpfWFzeW5jIGZpcnN0VXBkYXRlZChNKXthd2FpdCBzdXBlci5maXJzdFVwZGF0ZWQoTSksdGhpcy5zaG93VGFic3x8dGhpcy5zZXRBdHRyaWJ1dGUoIm5vdGFicyIsIiIpO2xldCBTPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLWFwcHVpLXRhYnMiKTtTJiZhd2FpdCBTLnVwZGF0ZUNvbXBsZXRlfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0byh0aGlzLEUpfXN0YXRpY3t0byhyLHQpfX07cmV0dXJuIEI9cn0pKCl9KTt2YXIgaGEsbnQsR2xhLFlsYT1mKCgpPT57bGUoKTtlYSgpO240KCk7TmxhKCk7UWUoKTtoUWUoKTtEWWUoKTtFWWUoKTttUWUoKTtnUWUoKTt2UWUoKTtDWWUoKTtoYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sbnQ9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEdsYT0oKCk9PntsZXQgYT1baWUoImRlZXMtYXBwdWkiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdLGNlLHVlPVtdLFk9W10sUSxKPVtdLFo9W10sZ2UsYWU9W10scmU9W10seWUsVj1bXSxIPVtdLG9lLHNlPVtdLHRlPVtdLHplLE9lPVtdLHFlPVtdLGN0LCRlPVtdLENlPVtdLE1lLGRlPVtdLHZlPVtdLEFlLFplPVtdLGx0PVtdLHp0LFRlPVtdLHdlPVtdLFJlLGZlPVtdLGJlPVtdLFBlLGZ0PVtdLG10PVtdLE50LFFhPVtdLGVyPVtdLHlzLGplPVtdLHV0PVtdLEphLE1yPVtdLCRyPVtdLFZyLERyPVtdLG1vPVtdLGdvLExlPVtdLFNlPVtdLEJlLGlhPVtdLHdzPVtdLGJsLHhlPVtdLG5lPVtdLF9lLFVlPVtdLGt0PVtdLE1zLGpyPVtdLE9pPVtdLFpuLG4yPVtdLHZsPVtdLFhuLHQzPVtdLF83PVtdLFQ3LEw3PVtdLCQ3PVtdLEQ3LEE3PVtdLEU3PVtdO3ZhciBQNz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0FwcHVpIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IEQ9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOkJvb2xlYW59KV0seT1bJCh7dHlwZTpPYmplY3R9KV0sTj1bJCh7dHlwZTpBcnJheX0pXSxPPVskKHt0eXBlOkJvb2xlYW59KV0sQj1bJCh7dHlwZTpTdHJpbmd9KV0sUD1bJCh7dHlwZTpTdHJpbmd9KV0sVz1bJCh7dHlwZTpBcnJheX0pXSxoZT1bJCh7dHlwZTpBcnJheX0pXSxtZT1bJCh7dHlwZTpBcnJheX0pXSxjZT1bJCh7dHlwZTpPYmplY3R9KV0sUT1bJCh7dHlwZTpTdHJpbmd9KV0sZ2U9WyQoe3R5cGU6QXJyYXl9KV0seWU9WyQoe3R5cGU6T2JqZWN0fSldLG9lPVskKHt0eXBlOkJvb2xlYW59KV0semU9WyQoe3R5cGU6Qm9vbGVhbn0pXSxjdD1bJCh7dHlwZTpCb29sZWFufSldLE1lPVskKHt0eXBlOkJvb2xlYW59KV0sQWU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx6dD1bJCh7dHlwZTpCb29sZWFufSldLFJlPVskKHt0eXBlOk51bWJlcn0pXSxQZT1bSygpXSxOdD1bSygpXSx5cz1bJCh7dHlwZTpBcnJheX0pXSxKYT1bJCh7dHlwZTpPYmplY3R9KV0sVnI9WyQoe3R5cGU6QXJyYXl9KV0sZ289WyQoe3R5cGU6QXJyYXl9KV0sQmU9W0soKV0sYmw9W0soKV0sX2U9W0soKV0sTXM9W0soKV0sWm49W0soKV0sWG49W0soKV0sVDc9W0soKV0sRDc9W0soKV0saGEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhcHBiYXJNZW51SXRlbXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImFwcGJhck1lbnVJdGVtcyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmFwcGJhck1lbnVJdGVtcywiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5hcHBiYXJNZW51SXRlbXM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sbixsKSxoYSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFwcGJhckJyZWFkY3J1bWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJhcHBiYXJCcmVhZGNydW1icyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmFwcGJhckJyZWFkY3J1bWJzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmFwcGJhckJyZWFkY3J1bWJzPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGMscCksaGEodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJhcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yImluIEwsImhhcyIpLGdldDpzKEw9PkwuYXBwYmFyQnJlYWRjcnVtYlNlcGFyYXRvciwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5hcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LG0sdiksaGEodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhcHBiYXJTaG93V2luZG93Q29udHJvbHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImFwcGJhclNob3dXaW5kb3dDb250cm9scyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmFwcGJhclNob3dXaW5kb3dDb250cm9scywiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5hcHBiYXJTaG93V2luZG93Q29udHJvbHM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sYixnKSxoYSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFwcGJhclVzZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImFwcGJhclVzZXIiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5hcHBiYXJVc2VyLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmFwcGJhclVzZXI9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sayxDKSxoYSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFwcGJhclByb2ZpbGVNZW51SXRlbXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImFwcGJhclByb2ZpbGVNZW51SXRlbXMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5hcHBiYXJQcm9maWxlTWVudUl0ZW1zLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmFwcGJhclByb2ZpbGVNZW51SXRlbXM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sXyx6KSxoYSh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFwcGJhclNob3dTZWFyY2giLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImFwcGJhclNob3dTZWFyY2giaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5hcHBiYXJTaG93U2VhcmNoLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmFwcGJhclNob3dTZWFyY2g9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sVCxFKSxoYSh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5tZW51TG9nb0ljb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+Im1haW5tZW51TG9nb0ljb24iaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5tYWlubWVudUxvZ29JY29uLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLm1haW5tZW51TG9nb0ljb249ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sTSxTKSxoYSh0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5tZW51TG9nb1RleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+Im1haW5tZW51TG9nb1RleHQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5tYWlubWVudUxvZ29UZXh0LCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLm1haW5tZW51TG9nb1RleHQ9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sQSxGKSxoYSh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5tZW51R3JvdXBzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJtYWlubWVudUdyb3VwcyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLm1haW5tZW51R3JvdXBzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLm1haW5tZW51R3JvdXBzPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGosRyksaGEodGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbm1lbnVCb3R0b21UYWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJtYWlubWVudUJvdHRvbVRhYnMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5tYWlubWVudUJvdHRvbVRhYnMsImdldCIpLHNldDpzKChMLGVlKT0+e0wubWFpbm1lbnVCb3R0b21UYWJzPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFIsVSksaGEodGhpcyxudWxsLG1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbm1lbnVUYWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJtYWlubWVudVRhYnMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5tYWlubWVudVRhYnMsImdldCIpLHNldDpzKChMLGVlKT0+e0wubWFpbm1lbnVUYWJzPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LEkscSksaGEodGhpcyxudWxsLGNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbm1lbnVTZWxlY3RlZFRhYiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ibWFpbm1lbnVTZWxlY3RlZFRhYiJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLm1haW5tZW51U2VsZWN0ZWRUYWIsImdldCIpLHNldDpzKChMLGVlKT0+e0wubWFpbm1lbnVTZWxlY3RlZFRhYj1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSx1ZSxZKSxoYSh0aGlzLG51bGwsUSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlY29uZGFyeW1lbnVIZWFkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzZWNvbmRhcnltZW51SGVhZGluZyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNlY29uZGFyeW1lbnVIZWFkaW5nLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnNlY29uZGFyeW1lbnVIZWFkaW5nPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LEosWiksaGEodGhpcyxudWxsLGdlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2Vjb25kYXJ5bWVudUdyb3VwcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ic2Vjb25kYXJ5bWVudUdyb3VwcyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNlY29uZGFyeW1lbnVHcm91cHMsImdldCIpLHNldDpzKChMLGVlKT0+e0wuc2Vjb25kYXJ5bWVudUdyb3Vwcz1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxhZSxyZSksaGEodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2Vjb25kYXJ5bWVudVNlbGVjdGVkSXRlbSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ic2Vjb25kYXJ5bWVudVNlbGVjdGVkSXRlbSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNlY29uZGFyeW1lbnVTZWxlY3RlZEl0ZW0sImdldCIpLHNldDpzKChMLGVlKT0+e0wuc2Vjb25kYXJ5bWVudVNlbGVjdGVkSXRlbT1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxWLEgpLGhhKHRoaXMsbnVsbCxvZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5tZW51Q29sbGFwc2VkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJtYWlubWVudUNvbGxhcHNlZCJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLm1haW5tZW51Q29sbGFwc2VkLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLm1haW5tZW51Q29sbGFwc2VkPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LHNlLHRlKSxoYSh0aGlzLG51bGwsemUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWNvbmRhcnltZW51Q29sbGFwc2VkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzZWNvbmRhcnltZW51Q29sbGFwc2VkImluIEwsImhhcyIpLGdldDpzKEw9Pkwuc2Vjb25kYXJ5bWVudUNvbGxhcHNlZCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5zZWNvbmRhcnltZW51Q29sbGFwc2VkPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LE9lLHFlKSxoYSh0aGlzLG51bGwsY3Qse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWlubWVudVZpc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+Im1haW5tZW51VmlzaWJsZSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLm1haW5tZW51VmlzaWJsZSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5tYWlubWVudVZpc2libGU9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sJGUsQ2UpLGhhKHRoaXMsbnVsbCxNZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlY29uZGFyeW1lbnVWaXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzZWNvbmRhcnltZW51VmlzaWJsZSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNlY29uZGFyeW1lbnVWaXNpYmxlLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnNlY29uZGFyeW1lbnVWaXNpYmxlPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGRlLHZlKSxoYSh0aGlzLG51bGwsQWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWluY29udGVudFRhYnNWaXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJtYWluY29udGVudFRhYnNWaXNpYmxlImluIEwsImhhcyIpLGdldDpzKEw9PkwubWFpbmNvbnRlbnRUYWJzVmlzaWJsZSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5tYWluY29udGVudFRhYnNWaXNpYmxlPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFplLGx0KSxoYSh0aGlzLG51bGwsenQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50VGFic0F1dG9IaWRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJjb250ZW50VGFic0F1dG9IaWRlImluIEwsImhhcyIpLGdldDpzKEw9PkwuY29udGVudFRhYnNBdXRvSGlkZSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5jb250ZW50VGFic0F1dG9IaWRlPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFRlLHdlKSxoYSh0aGlzLG51bGwsUmUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50VGFic0F1dG9IaWRlVGhyZXNob2xkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJjb250ZW50VGFic0F1dG9IaWRlVGhyZXNob2xkImluIEwsImhhcyIpLGdldDpzKEw9PkwuY29udGVudFRhYnNBdXRvSGlkZVRocmVzaG9sZCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5jb250ZW50VGFic0F1dG9IaWRlVGhyZXNob2xkPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGZlLGJlKSxoYSh0aGlzLG51bGwsUGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpdml0eUxvZ1Zpc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImFjdGl2aXR5TG9nVmlzaWJsZSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmFjdGl2aXR5TG9nVmlzaWJsZSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5hY3Rpdml0eUxvZ1Zpc2libGU9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sZnQsbXQpLGhhKHRoaXMsbnVsbCxOdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2aXR5TG9nQ291bnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImFjdGl2aXR5TG9nQ291bnQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5hY3Rpdml0eUxvZ0NvdW50LCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmFjdGl2aXR5TG9nQ291bnQ9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sUWEsZXIpLGhhKHRoaXMsbnVsbCx5cyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5jb250ZW50VGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ibWFpbmNvbnRlbnRUYWJzImluIEwsImhhcyIpLGdldDpzKEw9PkwubWFpbmNvbnRlbnRUYWJzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLm1haW5jb250ZW50VGFicz1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxqZSx1dCksaGEodGhpcyxudWxsLEphLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbmNvbnRlbnRTZWxlY3RlZFRhYiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ibWFpbmNvbnRlbnRTZWxlY3RlZFRhYiJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLm1haW5jb250ZW50U2VsZWN0ZWRUYWIsImdldCIpLHNldDpzKChMLGVlKT0+e0wubWFpbmNvbnRlbnRTZWxlY3RlZFRhYj1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxNciwkciksaGEodGhpcyxudWxsLFZyLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudFRhYkFjdGlvbnNMZWZ0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJjb250ZW50VGFiQWN0aW9uc0xlZnQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5jb250ZW50VGFiQWN0aW9uc0xlZnQsImdldCIpLHNldDpzKChMLGVlKT0+e0wuY29udGVudFRhYkFjdGlvbnNMZWZ0PWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LERyLG1vKSxoYSh0aGlzLG51bGwsZ28se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50VGFiQWN0aW9uc1JpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJjb250ZW50VGFiQWN0aW9uc1JpZ2h0ImluIEwsImhhcyIpLGdldDpzKEw9PkwuY29udGVudFRhYkFjdGlvbnNSaWdodCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5jb250ZW50VGFiQWN0aW9uc1JpZ2h0PWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LExlLFNlKSxoYSh0aGlzLG51bGwsQmUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhcHBiYXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImFwcGJhciJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmFwcGJhciwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5hcHBiYXI9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0saWEsd3MpLGhhKHRoaXMsbnVsbCxibCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5tZW51IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJtYWlubWVudSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLm1haW5tZW51LCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLm1haW5tZW51PWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LHhlLG5lKSxoYSh0aGlzLG51bGwsX2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWNvbmRhcnltZW51IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzZWNvbmRhcnltZW51ImluIEwsImhhcyIpLGdldDpzKEw9Pkwuc2Vjb25kYXJ5bWVudSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5zZWNvbmRhcnltZW51PWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFVlLGt0KSxoYSh0aGlzLG51bGwsTXMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWluY29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ibWFpbmNvbnRlbnQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5tYWluY29udGVudCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5tYWluY29udGVudD1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxqcixPaSksaGEodGhpcyxudWxsLFpuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aXZpdHlsb2dFbGVtZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJhY3Rpdml0eWxvZ0VsZW1lbnQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5hY3Rpdml0eWxvZ0VsZW1lbnQsImdldCIpLHNldDpzKChMLGVlKT0+e0wuYWN0aXZpdHlsb2dFbGVtZW50PWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LG4yLHZsKSxoYSh0aGlzLG51bGwsWG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJib3R0b21iYXJFbGVtZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJib3R0b21iYXJFbGVtZW50ImluIEwsImhhcyIpLGdldDpzKEw9PkwuYm90dG9tYmFyRWxlbWVudCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5ib3R0b21iYXJFbGVtZW50PWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LHQzLF83KSxoYSh0aGlzLG51bGwsVDcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJib3R0b21iYXJWaXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJib3R0b21iYXJWaXNpYmxlImluIEwsImhhcyIpLGdldDpzKEw9PkwuYm90dG9tYmFyVmlzaWJsZSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5ib3R0b21iYXJWaXNpYmxlPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LEw3LCQ3KSxoYSh0aGlzLG51bGwsRDcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VmlldyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iY3VycmVudFZpZXciaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5jdXJyZW50VmlldywiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5jdXJyZW50Vmlldz1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxBNyxFNyksaGEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6RH0sbnVsbCx0KSxQNz1yPWUudmFsdWUsRCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpEfSl9c3RhdGljIGRlbW89SWxhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07dmlld0xpZmVjeWNsZSQ9bmV3IEh0LnNtYXJ0cngucnhqcy5TdWJqZWN0O3ZpZXdDaGFuZ2VkJD1uZXcgSHQuc21hcnRyeC5yeGpzLlN1YmplY3Q7I2U9bnQodGhpcyxuLFtdKTtnZXQgYXBwYmFyTWVudUl0ZW1zKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGFwcGJhck1lbnVJdGVtcyhEKXt0aGlzLiNlPUR9I3Q9KG50KHRoaXMsbCksbnQodGhpcyxjLCIiKSk7Z2V0IGFwcGJhckJyZWFkY3J1bWJzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGFwcGJhckJyZWFkY3J1bWJzKEQpe3RoaXMuI3Q9RH0jYT0obnQodGhpcyxwKSxudCh0aGlzLG0sIiA+ICIpKTtnZXQgYXBwYmFyQnJlYWRjcnVtYlNlcGFyYXRvcigpe3JldHVybiB0aGlzLiNhfXNldCBhcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yKEQpe3RoaXMuI2E9RH0jcj0obnQodGhpcyx2KSxudCh0aGlzLGIsITApKTtnZXQgYXBwYmFyU2hvd1dpbmRvd0NvbnRyb2xzKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGFwcGJhclNob3dXaW5kb3dDb250cm9scyhEKXt0aGlzLiNyPUR9I3M9KG50KHRoaXMsZyksbnQodGhpcyxrLHZvaWQgMCkpO2dldCBhcHBiYXJVc2VyKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGFwcGJhclVzZXIoRCl7dGhpcy4jcz1EfSNpPShudCh0aGlzLEMpLG50KHRoaXMsXyxbXSkpO2dldCBhcHBiYXJQcm9maWxlTWVudUl0ZW1zKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGFwcGJhclByb2ZpbGVNZW51SXRlbXMoRCl7dGhpcy4jaT1EfSNvPShudCh0aGlzLHopLG50KHRoaXMsVCwhMSkpO2dldCBhcHBiYXJTaG93U2VhcmNoKCl7cmV0dXJuIHRoaXMuI299c2V0IGFwcGJhclNob3dTZWFyY2goRCl7dGhpcy4jbz1EfSNuPShudCh0aGlzLEUpLG50KHRoaXMsTSwiIikpO2dldCBtYWlubWVudUxvZ29JY29uKCl7cmV0dXJuIHRoaXMuI259c2V0IG1haW5tZW51TG9nb0ljb24oRCl7dGhpcy4jbj1EfSNsPShudCh0aGlzLFMpLG50KHRoaXMsQSwiIikpO2dldCBtYWlubWVudUxvZ29UZXh0KCl7cmV0dXJuIHRoaXMuI2x9c2V0IG1haW5tZW51TG9nb1RleHQoRCl7dGhpcy4jbD1EfSNjPShudCh0aGlzLEYpLG50KHRoaXMsaixbXSkpO2dldCBtYWlubWVudUdyb3Vwcygpe3JldHVybiB0aGlzLiNjfXNldCBtYWlubWVudUdyb3VwcyhEKXt0aGlzLiNjPUR9I2Q9KG50KHRoaXMsRyksbnQodGhpcyxSLFtdKSk7Z2V0IG1haW5tZW51Qm90dG9tVGFicygpe3JldHVybiB0aGlzLiNkfXNldCBtYWlubWVudUJvdHRvbVRhYnMoRCl7dGhpcy4jZD1EfSN1PShudCh0aGlzLFUpLG50KHRoaXMsSSxbXSkpO2dldCBtYWlubWVudVRhYnMoKXtyZXR1cm4gdGhpcy4jdX1zZXQgbWFpbm1lbnVUYWJzKEQpe3RoaXMuI3U9RH0jcD0obnQodGhpcyxxKSxudCh0aGlzLHVlLHZvaWQgMCkpO2dldCBtYWlubWVudVNlbGVjdGVkVGFiKCl7cmV0dXJuIHRoaXMuI3B9c2V0IG1haW5tZW51U2VsZWN0ZWRUYWIoRCl7dGhpcy4jcD1EfSNmPShudCh0aGlzLFkpLG50KHRoaXMsSiwiIikpO2dldCBzZWNvbmRhcnltZW51SGVhZGluZygpe3JldHVybiB0aGlzLiNmfXNldCBzZWNvbmRhcnltZW51SGVhZGluZyhEKXt0aGlzLiNmPUR9I2g9KG50KHRoaXMsWiksbnQodGhpcyxhZSxbXSkpO2dldCBzZWNvbmRhcnltZW51R3JvdXBzKCl7cmV0dXJuIHRoaXMuI2h9c2V0IHNlY29uZGFyeW1lbnVHcm91cHMoRCl7dGhpcy4jaD1EfSNtPShudCh0aGlzLHJlKSxudCh0aGlzLFYsdm9pZCAwKSk7Z2V0IHNlY29uZGFyeW1lbnVTZWxlY3RlZEl0ZW0oKXtyZXR1cm4gdGhpcy4jbX1zZXQgc2Vjb25kYXJ5bWVudVNlbGVjdGVkSXRlbShEKXt0aGlzLiNtPUR9I2c9KG50KHRoaXMsSCksbnQodGhpcyxzZSwhMSkpO2dldCBtYWlubWVudUNvbGxhcHNlZCgpe3JldHVybiB0aGlzLiNnfXNldCBtYWlubWVudUNvbGxhcHNlZChEKXt0aGlzLiNnPUR9I2I9KG50KHRoaXMsdGUpLG50KHRoaXMsT2UsITEpKTtnZXQgc2Vjb25kYXJ5bWVudUNvbGxhcHNlZCgpe3JldHVybiB0aGlzLiNifXNldCBzZWNvbmRhcnltZW51Q29sbGFwc2VkKEQpe3RoaXMuI2I9RH0jdj0obnQodGhpcyxxZSksbnQodGhpcywkZSwhMCkpO2dldCBtYWlubWVudVZpc2libGUoKXtyZXR1cm4gdGhpcy4jdn1zZXQgbWFpbm1lbnVWaXNpYmxlKEQpe3RoaXMuI3Y9RH0jeD0obnQodGhpcyxDZSksbnQodGhpcyxkZSwhMCkpO2dldCBzZWNvbmRhcnltZW51VmlzaWJsZSgpe3JldHVybiB0aGlzLiN4fXNldCBzZWNvbmRhcnltZW51VmlzaWJsZShEKXt0aGlzLiN4PUR9I3k9KG50KHRoaXMsdmUpLG50KHRoaXMsWmUsITApKTtnZXQgbWFpbmNvbnRlbnRUYWJzVmlzaWJsZSgpe3JldHVybiB0aGlzLiN5fXNldCBtYWluY29udGVudFRhYnNWaXNpYmxlKEQpe3RoaXMuI3k9RH0jdz0obnQodGhpcyxsdCksbnQodGhpcyxUZSwhMSkpO2dldCBjb250ZW50VGFic0F1dG9IaWRlKCl7cmV0dXJuIHRoaXMuI3d9c2V0IGNvbnRlbnRUYWJzQXV0b0hpZGUoRCl7dGhpcy4jdz1EfSNNPShudCh0aGlzLHdlKSxudCh0aGlzLGZlLDApKTtnZXQgY29udGVudFRhYnNBdXRvSGlkZVRocmVzaG9sZCgpe3JldHVybiB0aGlzLiNNfXNldCBjb250ZW50VGFic0F1dG9IaWRlVGhyZXNob2xkKEQpe3RoaXMuI009RH0jaz0obnQodGhpcyxiZSksbnQodGhpcyxmdCwhMSkpO2dldCBhY3Rpdml0eUxvZ1Zpc2libGUoKXtyZXR1cm4gdGhpcy4ja31zZXQgYWN0aXZpdHlMb2dWaXNpYmxlKEQpe3RoaXMuI2s9RH0jUz0obnQodGhpcyxtdCksbnQodGhpcyxRYSwwKSk7Z2V0IGFjdGl2aXR5TG9nQ291bnQoKXtyZXR1cm4gdGhpcy4jU31zZXQgYWN0aXZpdHlMb2dDb3VudChEKXt0aGlzLiNTPUR9I3o9KG50KHRoaXMsZXIpLG50KHRoaXMsamUsW10pKTtnZXQgbWFpbmNvbnRlbnRUYWJzKCl7cmV0dXJuIHRoaXMuI3p9c2V0IG1haW5jb250ZW50VGFicyhEKXt0aGlzLiN6PUR9I0M9KG50KHRoaXMsdXQpLG50KHRoaXMsTXIsdm9pZCAwKSk7Z2V0IG1haW5jb250ZW50U2VsZWN0ZWRUYWIoKXtyZXR1cm4gdGhpcy4jQ31zZXQgbWFpbmNvbnRlbnRTZWxlY3RlZFRhYihEKXt0aGlzLiNDPUR9I189KG50KHRoaXMsJHIpLG50KHRoaXMsRHIsW10pKTtnZXQgY29udGVudFRhYkFjdGlvbnNMZWZ0KCl7cmV0dXJuIHRoaXMuI199c2V0IGNvbnRlbnRUYWJBY3Rpb25zTGVmdChEKXt0aGlzLiNfPUR9I1Q9KG50KHRoaXMsbW8pLG50KHRoaXMsTGUsW10pKTtnZXQgY29udGVudFRhYkFjdGlvbnNSaWdodCgpe3JldHVybiB0aGlzLiNUfXNldCBjb250ZW50VGFiQWN0aW9uc1JpZ2h0KEQpe3RoaXMuI1Q9RH0jTD0obnQodGhpcyxTZSksbnQodGhpcyxpYSx2b2lkIDApKTtnZXQgYXBwYmFyKCl7cmV0dXJuIHRoaXMuI0x9c2V0IGFwcGJhcihEKXt0aGlzLiNMPUR9IyQ9KG50KHRoaXMsd3MpLG50KHRoaXMseGUsdm9pZCAwKSk7Z2V0IG1haW5tZW51KCl7cmV0dXJuIHRoaXMuIyR9c2V0IG1haW5tZW51KEQpe3RoaXMuIyQ9RH0jRD0obnQodGhpcyxuZSksbnQodGhpcyxVZSx2b2lkIDApKTtnZXQgc2Vjb25kYXJ5bWVudSgpe3JldHVybiB0aGlzLiNEfXNldCBzZWNvbmRhcnltZW51KEQpe3RoaXMuI0Q9RH0jQT0obnQodGhpcyxrdCksbnQodGhpcyxqcix2b2lkIDApKTtnZXQgbWFpbmNvbnRlbnQoKXtyZXR1cm4gdGhpcy4jQX1zZXQgbWFpbmNvbnRlbnQoRCl7dGhpcy4jQT1EfSNFPShudCh0aGlzLE9pKSxudCh0aGlzLG4yLHZvaWQgMCkpO2dldCBhY3Rpdml0eWxvZ0VsZW1lbnQoKXtyZXR1cm4gdGhpcy4jRX1zZXQgYWN0aXZpdHlsb2dFbGVtZW50KEQpe3RoaXMuI0U9RH0jUD0obnQodGhpcyx2bCksbnQodGhpcyx0Myx2b2lkIDApKTtnZXQgYm90dG9tYmFyRWxlbWVudCgpe3JldHVybiB0aGlzLiNQfXNldCBib3R0b21iYXJFbGVtZW50KEQpe3RoaXMuI1A9RH0jST0obnQodGhpcyxfNyksbnQodGhpcyxMNywhMCkpO2dldCBib3R0b21iYXJWaXNpYmxlKCl7cmV0dXJuIHRoaXMuI0l9c2V0IGJvdHRvbWJhclZpc2libGUoRCl7dGhpcy4jST1EfSNOPShudCh0aGlzLCQ3KSxudCh0aGlzLEE3LHZvaWQgMCkpO2dldCBjdXJyZW50Vmlldygpe3JldHVybiB0aGlzLiNOfXNldCBjdXJyZW50VmlldyhEKXt0aGlzLiNOPUR9dmlld1JlZ2lzdHJ5PShudCh0aGlzLEU3KSxuZXcgWFcpO3JvdXRlckNsZWFudXA9bnVsbDtzZWFyY2hDYWxsYmFjaz1udWxsO3N0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXRlcnRpYXJ5KTsKICAgICAgfQogICAgICAubWFpbmdyaWQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDQwcHg7CiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0MHB4IC0gMjRweCk7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAvKiBncmlkLXRlbXBsYXRlLWNvbHVtbnMgc2V0IGR5bmFtaWNhbGx5IGluIHRlbXBsYXRlICovCiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7CiAgICAgICAgdHJhbnNpdGlvbjogZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zIDAuM3MgZWFzZSwgaGVpZ2h0IDAuM3MgZWFzZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICA6aG9zdChbYm90dG9tYmFyLWhpZGRlbl0pIC5tYWluZ3JpZCB7CiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0MHB4KTsKICAgICAgfQoKICAgICAgZGVlcy1hcHB1aS1ib3R0b21iYXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICB6LWluZGV4OiA0OwogICAgICB9CgogICAgICAvKiBaLWluZGV4IGxheWVyaW5nIGZvciBwcm9wZXIgc3RhY2tpbmcgKi8KICAgICAgLm1haW5ncmlkID4gZGVlcy1hcHB1aS1tYWlubWVudSB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHotaW5kZXg6IDM7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgfQoKICAgICAgLm1haW5ncmlkID4gZGVlcy1hcHB1aS1zZWNvbmRhcnltZW51IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgei1pbmRleDogMjsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICB9CgogICAgICAubWFpbmdyaWQgPiBkZWVzLWFwcHVpLW1haW5jb250ZW50IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICB9CgogICAgICAubWFpbmdyaWQgPiBkZWVzLWFwcHVpLWFjdGl2aXR5bG9nIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCB0cmFuc2Zvcm0gMC4zcyBlYXNlOwogICAgICB9CgogICAgICAubWFpbmdyaWQgPiBkZWVzLWFwcHVpLWFjdGl2aXR5bG9nLmhpZGRlbiB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5tYWluZ3JpZCA+IGRlZXMtYXBwdWktYWN0aXZpdHlsb2cudmlzaWJsZSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICAgIH0KCiAgICAgIC8qIFZpZXcgY29udGFpbmVyIGZvciBkeW5hbWljYWxseSBsb2FkZWQgdmlld3MgKi8KICAgICAgLnZpZXctY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBjb250ZW50czsKICAgICAgfQoKICAgICAgLnZpZXctY29udGFpbmVyOmVtcHR5IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRlZXMtYXBwdWktYXBwYmFyCiAgICAgICAgLm1lbnVJdGVtcz0ke3RoaXMuYXBwYmFyTWVudUl0ZW1zfQogICAgICAgIC5icmVhZGNydW1icz0ke3RoaXMuYXBwYmFyQnJlYWRjcnVtYnN9CiAgICAgICAgLmJyZWFkY3J1bWJTZXBhcmF0b3I9JHt0aGlzLmFwcGJhckJyZWFkY3J1bWJTZXBhcmF0b3J9CiAgICAgICAgLnNob3dXaW5kb3dDb250cm9scz0ke3RoaXMuYXBwYmFyU2hvd1dpbmRvd0NvbnRyb2xzfQogICAgICAgIC51c2VyPSR7dGhpcy5hcHBiYXJVc2VyfQogICAgICAgIC5wcm9maWxlTWVudUl0ZW1zPSR7dGhpcy5hcHBiYXJQcm9maWxlTWVudUl0ZW1zfQogICAgICAgIC5zaG93U2VhcmNoPSR7dGhpcy5hcHBiYXJTaG93U2VhcmNofQogICAgICAgIC5zaG93QWN0aXZpdHlMb2dUb2dnbGU9JHshMH0KICAgICAgICAuYWN0aXZpdHlMb2dDb3VudD0ke3RoaXMuYWN0aXZpdHlMb2dDb3VudH0KICAgICAgICAuYWN0aXZpdHlMb2dBY3RpdmU9JHt0aGlzLmFjdGl2aXR5TG9nVmlzaWJsZX0KICAgICAgICBAbWVudS1zZWxlY3Q9JHtEPT50aGlzLmhhbmRsZUFwcGJhck1lbnVTZWxlY3QoRCl9CiAgICAgICAgQGJyZWFkY3J1bWItbmF2aWdhdGU9JHtEPT50aGlzLmhhbmRsZUFwcGJhckJyZWFkY3J1bWJOYXZpZ2F0ZShEKX0KICAgICAgICBAc2VhcmNoLWNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQXBwYmFyU2VhcmNoQ2xpY2soKX0KICAgICAgICBAc2VhcmNoLXF1ZXJ5PSR7RD0+dGhpcy5oYW5kbGVBcHBiYXJTZWFyY2hRdWVyeShEKX0KICAgICAgICBAdXNlci1tZW51LW9wZW49JHsoKT0+dGhpcy5oYW5kbGVBcHBiYXJVc2VyTWVudU9wZW4oKX0KICAgICAgICBAcHJvZmlsZS1tZW51LXNlbGVjdD0ke0Q9PnRoaXMuaGFuZGxlQXBwYmFyUHJvZmlsZU1lbnVTZWxlY3QoRCl9CiAgICAgICAgQGFjdGl2aXR5LXRvZ2dsZT0keygpPT50aGlzLnRvZ2dsZUFjdGl2aXR5TG9nKCl9CiAgICAgID48L2RlZXMtYXBwdWktYXBwYmFyPgogICAgICA8ZGl2IGNsYXNzPSJtYWluZ3JpZCIgc3R5bGU9ImdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvIDFmciAke3RoaXMuYWN0aXZpdHlMb2dWaXNpYmxlPyIyODBweCI6IjBweCJ9OyI+CiAgICAgICAgJHt0aGlzLm1haW5tZW51VmlzaWJsZT93YAogICAgICAgICAgPGRlZXMtYXBwdWktbWFpbm1lbnUKICAgICAgICAgICAgLmxvZ29JY29uPSR7dGhpcy5tYWlubWVudUxvZ29JY29ufQogICAgICAgICAgICAubG9nb1RleHQ9JHt0aGlzLm1haW5tZW51TG9nb1RleHR9CiAgICAgICAgICAgIC5tZW51R3JvdXBzPSR7dGhpcy5tYWlubWVudUdyb3Vwc30KICAgICAgICAgICAgLmJvdHRvbVRhYnM9JHt0aGlzLm1haW5tZW51Qm90dG9tVGFic30KICAgICAgICAgICAgLnRhYnM9JHt0aGlzLm1haW5tZW51VGFic30KICAgICAgICAgICAgLnNlbGVjdGVkVGFiPSR7dGhpcy5tYWlubWVudVNlbGVjdGVkVGFifQogICAgICAgICAgICAuY29sbGFwc2VkPSR7dGhpcy5tYWlubWVudUNvbGxhcHNlZH0KICAgICAgICAgICAgQHRhYi1zZWxlY3Q9JHtEPT50aGlzLmhhbmRsZU1haW5tZW51VGFiU2VsZWN0KEQpfQogICAgICAgICAgICBAY29sbGFwc2UtY2hhbmdlPSR7RD0+dGhpcy5oYW5kbGVNYWlubWVudUNvbGxhcHNlQ2hhbmdlKEQpfQogICAgICAgICAgPjwvZGVlcy1hcHB1aS1tYWlubWVudT4KICAgICAgICBgOiIifQogICAgICAgICR7dGhpcy5zZWNvbmRhcnltZW51VmlzaWJsZT93YAogICAgICAgICAgPGRlZXMtYXBwdWktc2Vjb25kYXJ5bWVudQogICAgICAgICAgICAuaGVhZGluZz0ke3RoaXMuc2Vjb25kYXJ5bWVudUhlYWRpbmd9CiAgICAgICAgICAgIC5ncm91cHM9JHt0aGlzLnNlY29uZGFyeW1lbnVHcm91cHN9CiAgICAgICAgICAgIC5zZWxlY3RlZEl0ZW09JHt0aGlzLnNlY29uZGFyeW1lbnVTZWxlY3RlZEl0ZW19CiAgICAgICAgICAgIC5jb2xsYXBzZWQ9JHt0aGlzLnNlY29uZGFyeW1lbnVDb2xsYXBzZWR9CiAgICAgICAgICAgIEBpdGVtLXNlbGVjdD0ke0Q9PnRoaXMuaGFuZGxlU2Vjb25kYXJ5bWVudUl0ZW1TZWxlY3QoRCl9CiAgICAgICAgICAgIEBjb2xsYXBzZS1jaGFuZ2U9JHtEPT50aGlzLmhhbmRsZVNlY29uZGFyeW1lbnVDb2xsYXBzZUNoYW5nZShEKX0KICAgICAgICAgID48L2RlZXMtYXBwdWktc2Vjb25kYXJ5bWVudT4KICAgICAgICBgOiIifQogICAgICAgIDxkZWVzLWFwcHVpLW1haW5jb250ZW50CiAgICAgICAgICAudGFicz0ke3RoaXMubWFpbmNvbnRlbnRUYWJzfQogICAgICAgICAgLnNlbGVjdGVkVGFiPSR7dGhpcy5tYWluY29udGVudFNlbGVjdGVkVGFifQogICAgICAgICAgLnNob3dUYWJzPSR7dGhpcy5tYWluY29udGVudFRhYnNWaXNpYmxlfQogICAgICAgICAgLnRhYnNBdXRvSGlkZT0ke3RoaXMuY29udGVudFRhYnNBdXRvSGlkZX0KICAgICAgICAgIC50YWJzQXV0b0hpZGVUaHJlc2hvbGQ9JHt0aGlzLmNvbnRlbnRUYWJzQXV0b0hpZGVUaHJlc2hvbGR9CiAgICAgICAgICAudGFiQWN0aW9uc0xlZnQ9JHt0aGlzLmNvbnRlbnRUYWJBY3Rpb25zTGVmdH0KICAgICAgICAgIC50YWJBY3Rpb25zUmlnaHQ9JHt0aGlzLmNvbnRlbnRUYWJBY3Rpb25zUmlnaHR9CiAgICAgICAgICBAdGFiLXNlbGVjdD0ke0Q9PnRoaXMuaGFuZGxlQ29udGVudFRhYlNlbGVjdChEKX0KICAgICAgICAgIEB0YWItY2xvc2U9JHtEPT50aGlzLmhhbmRsZUNvbnRlbnRUYWJDbG9zZShEKX0KICAgICAgICA+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWV3LWNvbnRhaW5lciI+PC9kaXY+CiAgICAgICAgICA8c2xvdCBuYW1lPSJtYWluY29udGVudCI+PC9zbG90PgogICAgICAgIDwvZGVlcy1hcHB1aS1tYWluY29udGVudD4KICAgICAgICA8ZGVlcy1hcHB1aS1hY3Rpdml0eWxvZwogICAgICAgICAgY2xhc3M9IiR7dGhpcy5hY3Rpdml0eUxvZ1Zpc2libGU/InZpc2libGUiOiJoaWRkZW4ifSIKICAgICAgICA+PC9kZWVzLWFwcHVpLWFjdGl2aXR5bG9nPgogICAgICA8L2Rpdj4KICAgICAgJHt0aGlzLmJvdHRvbWJhclZpc2libGU/d2AKICAgICAgICA8ZGVlcy1hcHB1aS1ib3R0b21iYXI+PC9kZWVzLWFwcHVpLWJvdHRvbWJhcj4KICAgICAgYDoiIn0KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7dGhpcy5hcHBiYXI9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtYXBwdWktYXBwYmFyIiksdGhpcy5tYWlubWVudT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1hcHB1aS1tYWlubWVudSIpLHRoaXMuc2Vjb25kYXJ5bWVudT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1hcHB1aS1zZWNvbmRhcnltZW51IiksdGhpcy5tYWluY29udGVudD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1hcHB1aS1tYWluY29udGVudCIpLHRoaXMuYWN0aXZpdHlsb2dFbGVtZW50PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLWFwcHVpLWFjdGl2aXR5bG9nIiksdGhpcy5ib3R0b21iYXJFbGVtZW50PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLWFwcHVpLWJvdHRvbWJhciIpLHRoaXMuYWN0aXZpdHlsb2dFbGVtZW50JiZ0aGlzLmFjdGl2aXR5bG9nRWxlbWVudC5lbnRyaWVzJC5zdWJzY3JpYmUoRD0+e3RoaXMuYWN0aXZpdHlMb2dDb3VudD1ELmxlbmd0aH0pLHRoaXMudmlld1JlZ2lzdHJ5LnNldEFwcHVpUmVmKHRoaXMpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnJvdXRlckNsZWFudXAmJih0aGlzLnJvdXRlckNsZWFudXAoKSx0aGlzLnJvdXRlckNsZWFudXA9bnVsbCksdGhpcy52aWV3TGlmZWN5Y2xlJC5jb21wbGV0ZSgpLHRoaXMudmlld0NoYW5nZWQkLmNvbXBsZXRlKCl9c2V0QXBwQmFyTWVudXMoRCl7dGhpcy5hcHBiYXJNZW51SXRlbXM9Wy4uLkRdfXVwZGF0ZUFwcEJhck1lbnUoRCxMKXt0aGlzLmFwcGJhck1lbnVJdGVtcz10aGlzLmFwcGJhck1lbnVJdGVtcy5tYXAoZWU9PiJuYW1lImluIGVlJiZlZS5uYW1lPT09RD97Li4uZWUsLi4uTH06ZWUpfXNldEJyZWFkY3J1bWJzKEQpe0FycmF5LmlzQXJyYXkoRCk/dGhpcy5hcHBiYXJCcmVhZGNydW1icz1ELmpvaW4odGhpcy5hcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yKTp0aGlzLmFwcGJhckJyZWFkY3J1bWJzPUR9c2V0VXNlcihEKXt0aGlzLmFwcGJhclVzZXI9RH1zZXRQcm9maWxlTWVudUl0ZW1zKEQpe3RoaXMuYXBwYmFyUHJvZmlsZU1lbnVJdGVtcz1bLi4uRF19c2V0U2VhcmNoVmlzaWJsZShEKXt0aGlzLmFwcGJhclNob3dTZWFyY2g9RH1zZXRXaW5kb3dDb250cm9sc1Zpc2libGUoRCl7dGhpcy5hcHBiYXJTaG93V2luZG93Q29udHJvbHM9RH1vblNlYXJjaChEKXt0aGlzLnNlYXJjaENhbGxiYWNrPUR9c2V0TWFpbk1lbnUoRCl7RC5sb2dvSWNvbiE9PXZvaWQgMCYmKHRoaXMubWFpbm1lbnVMb2dvSWNvbj1ELmxvZ29JY29uKSxELmxvZ29UZXh0IT09dm9pZCAwJiYodGhpcy5tYWlubWVudUxvZ29UZXh0PUQubG9nb1RleHQpLEQuZ3JvdXBzIT09dm9pZCAwJiYodGhpcy5tYWlubWVudUdyb3Vwcz1bLi4uRC5ncm91cHNdKSxELmJvdHRvbVRhYnMhPT12b2lkIDAmJih0aGlzLm1haW5tZW51Qm90dG9tVGFicz1bLi4uRC5ib3R0b21UYWJzXSl9dXBkYXRlTWFpbk1lbnVHcm91cChELEwpe3RoaXMubWFpbm1lbnVHcm91cHM9dGhpcy5tYWlubWVudUdyb3Vwcy5tYXAoZWU9PmVlLm5hbWU9PT1EP3suLi5lZSwuLi5MfTplZSl9YWRkTWFpbk1lbnVJdGVtKEQsTCl7dGhpcy5tYWlubWVudUdyb3Vwcz10aGlzLm1haW5tZW51R3JvdXBzLm1hcChlZT0+ZWUubmFtZT09PUQ/ey4uLmVlLGl0ZW1zOlsuLi5lZS5pdGVtc3x8W10sTF19OmVlKX1yZW1vdmVNYWluTWVudUl0ZW0oRCxMKXt0aGlzLm1haW5tZW51R3JvdXBzPXRoaXMubWFpbm1lbnVHcm91cHMubWFwKGVlPT5lZS5uYW1lPT09RD97Li4uZWUsaXRlbXM6KGVlLml0ZW1zfHxbXSkuZmlsdGVyKERlPT5EZS5rZXkhPT1MKX06ZWUpfXNldE1haW5NZW51U2VsZWN0aW9uKEQpe2ZvcihsZXQgZWUgb2YgdGhpcy5tYWlubWVudUdyb3Vwcyl7bGV0IERlPWVlLml0ZW1zPy5maW5kKEllPT5JZS5rZXk9PT1EKTtpZihEZSl7dGhpcy5tYWlubWVudVNlbGVjdGVkVGFiPURlO3JldHVybn19bGV0IEw9dGhpcy5tYWlubWVudUJvdHRvbVRhYnMuZmluZChlZT0+ZWUua2V5PT09RCk7TCYmKHRoaXMubWFpbm1lbnVTZWxlY3RlZFRhYj1MKX1zZXRNYWluTWVudUNvbGxhcHNlZChEKXt0aGlzLm1haW5tZW51Q29sbGFwc2VkPUR9c2V0TWFpbk1lbnVWaXNpYmxlKEQpe3RoaXMubWFpbm1lbnVWaXNpYmxlPUR9c2V0U2Vjb25kYXJ5TWVudUNvbGxhcHNlZChEKXt0aGlzLnNlY29uZGFyeW1lbnVDb2xsYXBzZWQ9RH1zZXRTZWNvbmRhcnlNZW51VmlzaWJsZShEKXt0aGlzLnNlY29uZGFyeW1lbnVWaXNpYmxlPUR9c2V0Q29udGVudFRhYnNWaXNpYmxlKEQpe3RoaXMubWFpbmNvbnRlbnRUYWJzVmlzaWJsZT1EfXNldENvbnRlbnRUYWJzQXV0b0hpZGUoRCxMPTApe3RoaXMuY29udGVudFRhYnNBdXRvSGlkZT1ELHRoaXMuY29udGVudFRhYnNBdXRvSGlkZVRocmVzaG9sZD1MfXNldE1haW5NZW51QmFkZ2UoRCxMKXt0aGlzLm1haW5tZW51R3JvdXBzPXRoaXMubWFpbm1lbnVHcm91cHMubWFwKGVlPT4oey4uLmVlLGl0ZW1zOihlZS5pdGVtc3x8W10pLm1hcChEZT0+RGUua2V5PT09RD97Li4uRGUsYmFkZ2U6TH06RGUpfSkpLHRoaXMubWFpbm1lbnVCb3R0b21UYWJzPXRoaXMubWFpbm1lbnVCb3R0b21UYWJzLm1hcChlZT0+ZWUua2V5PT09RD97Li4uZWUsYmFkZ2U6TH06ZWUpfWNsZWFyTWFpbk1lbnVCYWRnZShEKXt0aGlzLm1haW5tZW51R3JvdXBzPXRoaXMubWFpbm1lbnVHcm91cHMubWFwKEw9Pih7Li4uTCxpdGVtczooTC5pdGVtc3x8W10pLm1hcChlZT0+e2lmKGVlLmtleT09PUQpe2xldHtiYWRnZTpEZSwuLi5JZX09ZWU7cmV0dXJuIEllfXJldHVybiBlZX0pfSkpLHRoaXMubWFpbm1lbnVCb3R0b21UYWJzPXRoaXMubWFpbm1lbnVCb3R0b21UYWJzLm1hcChMPT57aWYoTC5rZXk9PT1EKXtsZXR7YmFkZ2U6ZWUsLi4uRGV9PUw7cmV0dXJuIERlfXJldHVybiBMfSl9c2V0U2Vjb25kYXJ5TWVudShEKXtELmhlYWRpbmchPT12b2lkIDAmJih0aGlzLnNlY29uZGFyeW1lbnVIZWFkaW5nPUQuaGVhZGluZyksdGhpcy5zZWNvbmRhcnltZW51R3JvdXBzPVsuLi5ELmdyb3Vwc119dXBkYXRlU2Vjb25kYXJ5TWVudUdyb3VwKEQsTCl7dGhpcy5zZWNvbmRhcnltZW51R3JvdXBzPXRoaXMuc2Vjb25kYXJ5bWVudUdyb3Vwcy5tYXAoZWU9PmVlLm5hbWU9PT1EP3suLi5lZSwuLi5MfTplZSl9YWRkU2Vjb25kYXJ5TWVudUl0ZW0oRCxMKXt0aGlzLnNlY29uZGFyeW1lbnVHcm91cHM9dGhpcy5zZWNvbmRhcnltZW51R3JvdXBzLm1hcChlZT0+ZWUubmFtZT09PUQ/ey4uLmVlLGl0ZW1zOlsuLi5lZS5pdGVtcyxMXX06ZWUpfXNldFNlY29uZGFyeU1lbnVTZWxlY3Rpb24oRCl7Zm9yKGxldCBMIG9mIHRoaXMuc2Vjb25kYXJ5bWVudUdyb3Vwcyl7bGV0IGVlPUwuaXRlbXMuZmluZChEZT0+ImtleSJpbiBEZSYmRGUua2V5PT09RCk7aWYoZWUmJighKCJ0eXBlImluIGVlKXx8ZWUudHlwZT09PSJ0YWIifHxlZS50eXBlPT09dm9pZCAwKSl7dGhpcy5zZWNvbmRhcnltZW51U2VsZWN0ZWRJdGVtPWVlO3JldHVybn19fWNsZWFyU2Vjb25kYXJ5TWVudSgpe3RoaXMuc2Vjb25kYXJ5bWVudUhlYWRpbmc9IiIsdGhpcy5zZWNvbmRhcnltZW51R3JvdXBzPVtdLHRoaXMuc2Vjb25kYXJ5bWVudVNlbGVjdGVkSXRlbT12b2lkIDB9c2V0Q29udGVudFRhYnMoRCl7dGhpcy5tYWluY29udGVudFRhYnM9Wy4uLkRdLEQubGVuZ3RoPjAmJiF0aGlzLm1haW5jb250ZW50U2VsZWN0ZWRUYWImJih0aGlzLm1haW5jb250ZW50U2VsZWN0ZWRUYWI9RFswXSl9YWRkQ29udGVudFRhYihEKXt0aGlzLm1haW5jb250ZW50VGFicz1bLi4udGhpcy5tYWluY29udGVudFRhYnMsRF19cmVtb3ZlQ29udGVudFRhYihEKXt0aGlzLm1haW5jb250ZW50VGFicz10aGlzLm1haW5jb250ZW50VGFicy5maWx0ZXIoTD0+TC5rZXkhPT1EKSx0aGlzLm1haW5jb250ZW50U2VsZWN0ZWRUYWI/LmtleT09PUQmJih0aGlzLm1haW5jb250ZW50U2VsZWN0ZWRUYWI9dGhpcy5tYWluY29udGVudFRhYnNbMF0pfXNlbGVjdENvbnRlbnRUYWIoRCl7bGV0IEw9dGhpcy5tYWluY29udGVudFRhYnMuZmluZChlZT0+ZWUua2V5PT09RCk7TCYmKHRoaXMubWFpbmNvbnRlbnRTZWxlY3RlZFRhYj1MKX1nZXRTZWxlY3RlZENvbnRlbnRUYWIoKXtyZXR1cm4gdGhpcy5tYWluY29udGVudFNlbGVjdGVkVGFifXNldENvbnRlbnRUYWJBY3Rpb25zTGVmdChEKXt0aGlzLmNvbnRlbnRUYWJBY3Rpb25zTGVmdD1bLi4uRF19c2V0Q29udGVudFRhYkFjdGlvbnNSaWdodChEKXt0aGlzLmNvbnRlbnRUYWJBY3Rpb25zUmlnaHQ9Wy4uLkRdfWdldCBhY3Rpdml0eUxvZygpe3JldHVybiB0aGlzLmFjdGl2aXR5bG9nRWxlbWVudD97YWRkOnMoRD0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQuYWRkKEQpLCJhZGQiKSxhZGRNYW55OnMoRD0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQuYWRkTWFueShEKSwiYWRkTWFueSIpLGNsZWFyOnMoKCk9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50LmNsZWFyKCksImNsZWFyIiksZ2V0RW50cmllczpzKCgpPT50aGlzLmFjdGl2aXR5bG9nRWxlbWVudC5nZXRFbnRyaWVzKCksImdldEVudHJpZXMiKSxmaWx0ZXI6cyhEPT50aGlzLmFjdGl2aXR5bG9nRWxlbWVudC5maWx0ZXIoRCksImZpbHRlciIpLHNlYXJjaDpzKEQ9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50LnNlYXJjaChEKSwic2VhcmNoIil9OnthZGQ6cyhEPT57dGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLmFjdGl2aXR5bG9nRWxlbWVudD8uYWRkKEQpKX0sImFkZCIpLGFkZE1hbnk6cyhEPT57dGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLmFjdGl2aXR5bG9nRWxlbWVudD8uYWRkTWFueShEKSl9LCJhZGRNYW55IiksY2xlYXI6cygoKT0+e3RoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQ/LmNsZWFyKCkpfSwiY2xlYXIiKSxnZXRFbnRyaWVzOnMoKCk9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50Py5nZXRFbnRyaWVzKCl8fFtdLCJnZXRFbnRyaWVzIiksZmlsdGVyOnMoRD0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQ/LmZpbHRlcihEKXx8W10sImZpbHRlciIpLHNlYXJjaDpzKEQ9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50Py5zZWFyY2goRCl8fFtdLCJzZWFyY2giKX19c2V0QWN0aXZpdHlMb2dWaXNpYmxlKEQpe3RoaXMuYWN0aXZpdHlMb2dWaXNpYmxlPUR9dG9nZ2xlQWN0aXZpdHlMb2coKXt0aGlzLmFjdGl2aXR5TG9nVmlzaWJsZT0hdGhpcy5hY3Rpdml0eUxvZ1Zpc2libGV9Z2V0QWN0aXZpdHlMb2dWaXNpYmxlKCl7cmV0dXJuIHRoaXMuYWN0aXZpdHlMb2dWaXNpYmxlfWdldCBib3R0b21CYXIoKXtyZXR1cm4gdGhpcy5ib3R0b21iYXJFbGVtZW50P3thZGRXaWRnZXQ6cyhEPT50aGlzLmJvdHRvbWJhckVsZW1lbnQuYWRkV2lkZ2V0KEQpLCJhZGRXaWRnZXQiKSx1cGRhdGVXaWRnZXQ6cygoRCxMKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50LnVwZGF0ZVdpZGdldChELEwpLCJ1cGRhdGVXaWRnZXQiKSxyZW1vdmVXaWRnZXQ6cyhEPT50aGlzLmJvdHRvbWJhckVsZW1lbnQucmVtb3ZlV2lkZ2V0KEQpLCJyZW1vdmVXaWRnZXQiKSxnZXRXaWRnZXQ6cyhEPT50aGlzLmJvdHRvbWJhckVsZW1lbnQuZ2V0V2lkZ2V0KEQpLCJnZXRXaWRnZXQiKSxjbGVhcldpZGdldHM6cygoKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50LmNsZWFyV2lkZ2V0cygpLCJjbGVhcldpZGdldHMiKSxhZGRBY3Rpb246cyhEPT50aGlzLmJvdHRvbWJhckVsZW1lbnQuYWRkQWN0aW9uKEQpLCJhZGRBY3Rpb24iKSxyZW1vdmVBY3Rpb246cyhEPT50aGlzLmJvdHRvbWJhckVsZW1lbnQucmVtb3ZlQWN0aW9uKEQpLCJyZW1vdmVBY3Rpb24iKSxjbGVhckFjdGlvbnM6cygoKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50LmNsZWFyQWN0aW9ucygpLCJjbGVhckFjdGlvbnMiKX06e2FkZFdpZGdldDpzKEQ9Pnt0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PnRoaXMuYm90dG9tYmFyRWxlbWVudD8uYWRkV2lkZ2V0KEQpKX0sImFkZFdpZGdldCIpLHVwZGF0ZVdpZGdldDpzKChELEwpPT57dGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLmJvdHRvbWJhckVsZW1lbnQ/LnVwZGF0ZVdpZGdldChELEwpKX0sInVwZGF0ZVdpZGdldCIpLHJlbW92ZVdpZGdldDpzKEQ9Pnt0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PnRoaXMuYm90dG9tYmFyRWxlbWVudD8ucmVtb3ZlV2lkZ2V0KEQpKX0sInJlbW92ZVdpZGdldCIpLGdldFdpZGdldDpzKEQ9PnRoaXMuYm90dG9tYmFyRWxlbWVudD8uZ2V0V2lkZ2V0KEQpLCJnZXRXaWRnZXQiKSxjbGVhcldpZGdldHM6cygoKT0+e3RoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50Py5jbGVhcldpZGdldHMoKSl9LCJjbGVhcldpZGdldHMiKSxhZGRBY3Rpb246cyhEPT57dGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLmJvdHRvbWJhckVsZW1lbnQ/LmFkZEFjdGlvbihEKSl9LCJhZGRBY3Rpb24iKSxyZW1vdmVBY3Rpb246cyhEPT57dGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLmJvdHRvbWJhckVsZW1lbnQ/LnJlbW92ZUFjdGlvbihEKSl9LCJyZW1vdmVBY3Rpb24iKSxjbGVhckFjdGlvbnM6cygoKT0+e3RoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50Py5jbGVhckFjdGlvbnMoKSl9LCJjbGVhckFjdGlvbnMiKX19c2V0Qm90dG9tQmFyVmlzaWJsZShEKXt0aGlzLmJvdHRvbWJhclZpc2libGU9RCxEP3RoaXMucmVtb3ZlQXR0cmlidXRlKCJib3R0b21iYXItaGlkZGVuIik6dGhpcy5zZXRBdHRyaWJ1dGUoImJvdHRvbWJhci1oaWRkZW4iLCIiKX1nZXRCb3R0b21CYXJWaXNpYmxlKCl7cmV0dXJuIHRoaXMuYm90dG9tYmFyVmlzaWJsZX1hc3luYyBuYXZpZ2F0ZVRvVmlldyhELEwpe2xldCBlZT10aGlzLnZpZXdSZWdpc3RyeS5nZXQoRCk7aWYoIWVlKXJldHVybiBjb25zb2xlLndhcm4oYENhbm5vdCBuYXZpZ2F0ZSB0byB1bmtub3duIHZpZXc6ICR7RH1gKSwhMTtsZXQgRGU9YXdhaXQgdGhpcy52aWV3UmVnaXN0cnkuY2FuTGVhdmVDdXJyZW50VmlldygpO2lmKERlIT09ITApaWYodHlwZW9mIERlPT0ic3RyaW5nIil7aWYoIXdpbmRvdy5jb25maXJtKERlKSlyZXR1cm4hMX1lbHNlIHJldHVybiExO3RoaXMudmlld0xpZmVjeWNsZSQubmV4dCh7dHlwZToibG9hZGluZyIsdmlld0lkOkR9KTt0cnl7YXdhaXQgdGhpcy5sb2FkVmlldyhlZSxMKTtsZXQgSWU9ZWUucm91dGV8fEQ7aWYoTClmb3IobGV0W3R0LGF0XW9mIE9iamVjdC5lbnRyaWVzKEwpKUllPUllLnJlcGxhY2UoYDoke3R0fWAsYXQpO2xldCBXZT1gIyR7SWV9YDtyZXR1cm4gd2luZG93LmxvY2F0aW9uLmhhc2ghPT1XZSYmd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKHt2aWV3SWQ6RH0sIiIsV2UpLCEwfWNhdGNoKEllKXtyZXR1cm4gdGhpcy52aWV3TGlmZWN5Y2xlJC5uZXh0KHt0eXBlOiJsb2FkRXJyb3IiLHZpZXdJZDpELGVycm9yOkllfSksITF9fWdldEN1cnJlbnRWaWV3KCl7cmV0dXJuIHRoaXMuY3VycmVudFZpZXd9Z2V0Vmlld1JlZ2lzdHJ5KCl7cmV0dXJuIHRoaXMudmlld1JlZ2lzdHJ5fWNvbmZpZ3VyZShEKXtELnZpZXdzJiYodGhpcy52aWV3UmVnaXN0cnkuY2xlYXIoKSx0aGlzLnZpZXdSZWdpc3RyeS5yZWdpc3RlckFsbChELnZpZXdzKSksRC5icmFuZGluZyYmKHRoaXMubWFpbm1lbnVMb2dvSWNvbj1ELmJyYW5kaW5nLmxvZ29JY29ufHwiIix0aGlzLm1haW5tZW51TG9nb1RleHQ9RC5icmFuZGluZy5sb2dvVGV4dHx8IiIpLEQuYXBwQmFyJiYodGhpcy5hcHBiYXJNZW51SXRlbXM9RC5hcHBCYXIubWVudUl0ZW1zfHxbXSx0aGlzLmFwcGJhckJyZWFkY3J1bWJzPUQuYXBwQmFyLmJyZWFkY3J1bWJzfHwiIix0aGlzLmFwcGJhckJyZWFkY3J1bWJTZXBhcmF0b3I9RC5hcHBCYXIuYnJlYWRjcnVtYlNlcGFyYXRvcnx8IiA+ICIsdGhpcy5hcHBiYXJTaG93V2luZG93Q29udHJvbHM9RC5hcHBCYXIuc2hvd1dpbmRvd0NvbnRyb2xzPz8hMCx0aGlzLmFwcGJhclNob3dTZWFyY2g9RC5hcHBCYXIuc2hvd1NlYXJjaD8/ITEsdGhpcy5hcHBiYXJVc2VyPUQuYXBwQmFyLnVzZXIsdGhpcy5hcHBiYXJQcm9maWxlTWVudUl0ZW1zPUQuYXBwQmFyLnByb2ZpbGVNZW51SXRlbXN8fFtdKSxELm1haW5NZW51JiYoRC5tYWluTWVudS5zZWN0aW9ucz90aGlzLm1haW5tZW51R3JvdXBzPXRoaXMuYnVpbGRNYWluTWVudUZyb21TZWN0aW9ucyhEKTpELm1haW5NZW51Lmdyb3VwcyYmKHRoaXMubWFpbm1lbnVHcm91cHM9RC5tYWluTWVudS5ncm91cHMpLEQubWFpbk1lbnUubG9nb0ljb24mJih0aGlzLm1haW5tZW51TG9nb0ljb249RC5tYWluTWVudS5sb2dvSWNvbiksRC5tYWluTWVudS5sb2dvVGV4dCYmKHRoaXMubWFpbm1lbnVMb2dvVGV4dD1ELm1haW5NZW51LmxvZ29UZXh0KSxELm1haW5NZW51LmJvdHRvbVRhYnM/dGhpcy5tYWlubWVudUJvdHRvbVRhYnM9RC5tYWluTWVudS5ib3R0b21UYWJzOkQubWFpbk1lbnUuYm90dG9tSXRlbXMmJih0aGlzLm1haW5tZW51Qm90dG9tVGFicz10aGlzLmJ1aWxkQm90dG9tVGFic0Zyb21JdGVtcyhELm1haW5NZW51LmJvdHRvbUl0ZW1zKSkpLEQuYm90dG9tQmFyJiYodGhpcy5zZXRCb3R0b21CYXJWaXNpYmxlKEQuYm90dG9tQmFyLnZpc2libGU/PyEwKSxELmJvdHRvbUJhci53aWRnZXRzJiZELmJvdHRvbUJhci53aWRnZXRzLmZvckVhY2goTD0+e3RoaXMuYm90dG9tQmFyLmFkZFdpZGdldChMKX0pLEQuYm90dG9tQmFyLmFjdGlvbnMmJkQuYm90dG9tQmFyLmFjdGlvbnMuZm9yRWFjaChMPT57dGhpcy5ib3R0b21CYXIuYWRkQWN0aW9uKEwpfSkpLHRoaXMuc2V0dXBSb3V0ZXJJbnRlZ3JhdGlvbihEKSxELm9uVmlld0NoYW5nZSYmdGhpcy52aWV3Q2hhbmdlZCQuc3Vic2NyaWJlKEw9PntELm9uVmlld0NoYW5nZShMLnZpZXdJZCxMLnZpZXcpfSksRC5vblNlYXJjaCYmKHRoaXMuc2VhcmNoQ2FsbGJhY2s9RC5vblNlYXJjaCksRC5kZWZhdWx0VmlldyYmdGhpcy5uYXZpZ2F0ZVRvVmlldyhELmRlZmF1bHRWaWV3KX1zZXR1cFJvdXRlckludGVncmF0aW9uKEQpe2xldCBMPXMoKCk9PntsZXQgRGU9d2luZG93LmxvY2F0aW9uLmhhc2guc2xpY2UoMSk7aWYoIURlKXJldHVybjtsZXQgSWU9dGhpcy52aWV3UmVnaXN0cnkuZmluZEJ5Um91dGUoRGUpO0llJiZ0aGlzLm5hdmlnYXRlVG9WaWV3KEllLnZpZXcuaWQsSWUucGFyYW1zKX0sImhhbmRsZUhhc2hDaGFuZ2UiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsTCksdGhpcy5yb3V0ZXJDbGVhbnVwPSgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLEwpfTtsZXQgZWU9d2luZG93LmxvY2F0aW9uLmhhc2guc2xpY2UoMSk7aWYoZWUpe2xldCBEZT10aGlzLnZpZXdSZWdpc3RyeS5maW5kQnlSb3V0ZShlZSk7RGUmJnNldFRpbWVvdXQoKCk9PnRoaXMubmF2aWdhdGVUb1ZpZXcoRGUudmlldy5pZCxEZS5wYXJhbXMpLDApfX1idWlsZE1haW5NZW51RnJvbVNlY3Rpb25zKEQpe3JldHVybiBELm1haW5NZW51Py5zZWN0aW9ucz9ELm1haW5NZW51LnNlY3Rpb25zLm1hcChMPT4oe25hbWU6TC5uYW1lfHwiIixpdGVtczpMLnZpZXdzLm1hcChlZT0+e2xldCBEZT10aGlzLnZpZXdSZWdpc3RyeS5nZXQoZWUpO3JldHVybiBEZT97a2V5OkRlLmlkLGljb25OYW1lOkRlLmljb25OYW1lLGFjdGlvbjpzKCgpPT50aGlzLm5hdmlnYXRlVG9WaWV3KGVlKSwiYWN0aW9uIiksYmFkZ2U6RGUuYmFkZ2V9Oihjb25zb2xlLndhcm4oYFZpZXcgIiR7ZWV9IiBub3QgZm91bmQgaW4gcmVnaXN0cnlgKSxudWxsKX0pLmZpbHRlcihCb29sZWFuKX0pKTpbXX1idWlsZEJvdHRvbVRhYnNGcm9tSXRlbXMoRCl7cmV0dXJuIEQubWFwKEw9PntsZXQgZWU9dGhpcy52aWV3UmVnaXN0cnkuZ2V0KEwpO3JldHVybiBlZT97a2V5OmVlLmlkLGljb25OYW1lOmVlLmljb25OYW1lLGFjdGlvbjpzKCgpPT50aGlzLm5hdmlnYXRlVG9WaWV3KEwpLCJhY3Rpb24iKX06KGNvbnNvbGUud2FybihgVmlldyAiJHtMfSIgbm90IGZvdW5kIGluIHJlZ2lzdHJ5YCksbnVsbCl9KS5maWx0ZXIoQm9vbGVhbil9YXN5bmMgbG9hZFZpZXcoRCxMKXtsZXQgZWU9dGhpcy5jdXJyZW50Vmlldzt0aGlzLmN1cnJlbnRWaWV3PUQ7bGV0IERlPXRoaXMubWFpbmNvbnRlbnQ/LnF1ZXJ5U2VsZWN0b3IoIi52aWV3LWNvbnRhaW5lciIpfHx0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi52aWV3LWNvbnRhaW5lciIpO2lmKERlKXtsZXQgV2U9YXdhaXQgdGhpcy52aWV3UmVnaXN0cnkuYWN0aXZhdGVWaWV3KEQuaWQsRGUsTCk7V2UmJnRoaXMudmlld0xpZmVjeWNsZSQubmV4dCh7dHlwZToiYWN0aXZhdGVkIix2aWV3SWQ6RC5pZCxlbGVtZW50OldlLHBhcmFtczpMfSl9RC5zZWNvbmRhcnlNZW51JiYodGhpcy5zZWNvbmRhcnltZW51R3JvdXBzPUQuc2Vjb25kYXJ5TWVudSx0aGlzLnNlY29uZGFyeW1lbnVIZWFkaW5nPUQubmFtZSksRC5jb250ZW50VGFicyYmKHRoaXMubWFpbmNvbnRlbnRUYWJzPUQuY29udGVudFRhYnMpLHRoaXMuc2V0TWFpbk1lbnVTZWxlY3Rpb24oRC5pZCk7bGV0IEllPXt2aWV3SWQ6RC5pZCx2aWV3OkQscHJldmlvdXNWaWV3OmVlLHBhcmFtczpMfTt0aGlzLnZpZXdDaGFuZ2VkJC5uZXh0KEllKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ2aWV3LWNoYW5nZSIse2RldGFpbDpJZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUFwcGJhck1lbnVTZWxlY3QoRCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYXBwYmFyLW1lbnUtc2VsZWN0Iix7ZGV0YWlsOkQuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQXBwYmFyQnJlYWRjcnVtYk5hdmlnYXRlKEQpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFwcGJhci1icmVhZGNydW1iLW5hdmlnYXRlIix7ZGV0YWlsOkQuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQXBwYmFyU2VhcmNoQ2xpY2soKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJhcHBiYXItc2VhcmNoLWNsaWNrIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVBcHBiYXJTZWFyY2hRdWVyeShEKXt0aGlzLnNlYXJjaENhbGxiYWNrJiZ0aGlzLnNlYXJjaENhbGxiYWNrKEQuZGV0YWlsLnF1ZXJ5KSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWFyY2gtcXVlcnkiLHtkZXRhaWw6RC5kZXRhaWwsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVBcHBiYXJVc2VyTWVudU9wZW4oKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJhcHBiYXItdXNlci1tZW51LW9wZW4iLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUFwcGJhclByb2ZpbGVNZW51U2VsZWN0KEQpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFwcGJhci1wcm9maWxlLW1lbnUtc2VsZWN0Iix7ZGV0YWlsOkQuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlTWFpbm1lbnVUYWJTZWxlY3QoRCl7dGhpcy5tYWlubWVudVNlbGVjdGVkVGFiPUQuZGV0YWlsLnRhYix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJtYWlubWVudS10YWItc2VsZWN0Iix7ZGV0YWlsOkQuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlU2Vjb25kYXJ5bWVudUl0ZW1TZWxlY3QoRCl7dGhpcy5zZWNvbmRhcnltZW51U2VsZWN0ZWRJdGVtPUQuZGV0YWlsLml0ZW0sdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2Vjb25kYXJ5bWVudS1pdGVtLXNlbGVjdCIse2RldGFpbDpELmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZU1haW5tZW51Q29sbGFwc2VDaGFuZ2UoRCl7dGhpcy5tYWlubWVudUNvbGxhcHNlZD1ELmRldGFpbC5jb2xsYXBzZWQsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibWFpbm1lbnUtY29sbGFwc2UtY2hhbmdlIix7ZGV0YWlsOkQuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlU2Vjb25kYXJ5bWVudUNvbGxhcHNlQ2hhbmdlKEQpe3RoaXMuc2Vjb25kYXJ5bWVudUNvbGxhcHNlZD1ELmRldGFpbC5jb2xsYXBzZWQsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2Vjb25kYXJ5bWVudS1jb2xsYXBzZS1jaGFuZ2UiLHtkZXRhaWw6RC5kZXRhaWwsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVDb250ZW50VGFiU2VsZWN0KEQpe3RoaXMubWFpbmNvbnRlbnRTZWxlY3RlZFRhYj1ELmRldGFpbC50YWIsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29udGVudC10YWItc2VsZWN0Iix7ZGV0YWlsOkQuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ29udGVudFRhYkNsb3NlKEQpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNvbnRlbnQtdGFiLWNsb3NlIix7ZGV0YWlsOkQuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9c3RhdGlje250KHIsdCl9fTtyZXR1cm4gUDc9cn0pKCl9KTt2YXIgS2xhPWYoKCk9PntZbGEoKTtoUWUoKX0pO3ZhciBabGE9ZigoKT0+e3ZRZSgpfSk7dmFyIFhsYT1mKCgpPT57bVFlKCl9KTt2YXIgUWxhPWYoKCk9PntnUWUoKX0pO3ZhciBKbGE9ZigoKT0+eyRZZSgpfSk7dmFyIGVjYT1mKCgpPT57YlFlKCl9KTt2YXIgWXNlLGc1LHRjYSxhY2E9ZigoKT0+e1ZzKCk7VWkoKTtmcygpO2xlKCk7TTEoKTt2YSgpO1FlKCk7WXNlPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxnNT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sdGNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1tb2JpbGVuYXZpZ2F0aW9uIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNNb2JpbGVuYXZpZ2F0aW9uIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpBcnJheX0pXSx1PVtLKCldLFlzZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhlYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImhlYWRpbmciaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5oZWFkaW5nLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuaGVhZGluZz15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCksWXNlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVudUl0ZW1zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJtZW51SXRlbXMiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5tZW51SXRlbXMsImdldCIpLHNldDpzKChnLHkpPT57Zy5tZW51SXRlbXM9eX0sInNldCIpfSxtZXRhZGF0YTpifSxjLHApLFlzZSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vYmlsZU5hdlpJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4ibW9iaWxlTmF2WkluZGV4ImluIGcsImhhcyIpLGdldDpzKGc9PmcubW9iaWxlTmF2WkluZGV4LCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cubW9iaWxlTmF2WkluZGV4PXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSxZc2UobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtb0dyb3Vwcz1bIkFwcCBVSSJdO3N0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt4LmNyZWF0ZUFuZFNob3coW3tuYW1lOiJEYXNoYm9hcmQiLGljb25OYW1lOiJsdWNpZGU6bGF5b3V0LWRhc2hib2FyZCIsYWN0aW9uOnMoYXN5bmMgYj0+KGNvbnNvbGUubG9nKCJOYXZpZ2F0ZSB0byBkYXNoYm9hcmQiKSxudWxsKSwiYWN0aW9uIil9LHtuYW1lOiJQcm9maWxlIixpY29uTmFtZToibHVjaWRlOnVzZXIiLGFjdGlvbjpzKGFzeW5jIGI9Pihjb25zb2xlLmxvZygiTmF2aWdhdGUgdG8gcHJvZmlsZSIpLG51bGwpLCJhY3Rpb24iKX0se25hbWU6IlNldHRpbmdzIixpY29uTmFtZToibHVjaWRlOnNldHRpbmdzIixhY3Rpb246cyhhc3luYyBiPT4oY29uc29sZS5sb2coIk5hdmlnYXRlIHRvIHNldHRpbmdzIiksbnVsbCksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkhlbHAiLGljb25OYW1lOiJsdWNpZGU6aGVscC1jaXJjbGUiLGFjdGlvbjpzKGFzeW5jIGI9Pihjb25zb2xlLmxvZygiU2hvdyBoZWxwIiksbnVsbCksImFjdGlvbiIpfSx7bmFtZToiU2lnbiBPdXQiLGljb25OYW1lOiJsdWNpZGU6bG9nLW91dCIsYWN0aW9uOnMoYXN5bmMgYj0+KGNvbnNvbGUubG9nKCJTaWduIG91dCIpLG51bGwpLCJhY3Rpb24iKX1dKX19Pk9wZW4gTW9iaWxlIE5hdmlnYXRpb248L2RlZXMtYnV0dG9uPgogIGAsImRlbW8iKTtzdGF0aWMgc2luZ2xldG9uUmVmO3N0YXRpYyBhc3luYyBjcmVhdGVBbmRTaG93KGIpe3JldHVybiB0aGlzLnNpbmdsZXRvblJlZnx8KHRoaXMuc2luZ2xldG9uUmVmPW5ldyB4LGRvY3VtZW50LmJvZHkuYXBwZW5kKHRoaXMuc2luZ2xldG9uUmVmKSxhd2FpdCB0aGlzLnNpbmdsZXRvblJlZi5pbml0KCkpLHRoaXMuc2luZ2xldG9uUmVmLm1lbnVJdGVtcz1iLGF3YWl0IHRoaXMuc2luZ2xldG9uUmVmLnJlYWR5RGVmZXJyZWQucHJvbWlzZSx0aGlzLnNpbmdsZXRvblJlZi5zaG93KCksdGhpcy5zaW5nbGV0b25SZWZ9I2U9ZzUodGhpcyxuLCJNZW51Iik7Z2V0IGhlYWRpbmcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgaGVhZGluZyhiKXt0aGlzLiNlPWJ9I3Q9KGc1KHRoaXMsbCksZzUodGhpcyxjLFtdKSk7Z2V0IG1lbnVJdGVtcygpe3JldHVybiB0aGlzLiN0fXNldCBtZW51SXRlbXMoYil7dGhpcy4jdD1ifSNhPShnNSh0aGlzLHApLGc1KHRoaXMsbSwxZTMpKTtnZXQgbW9iaWxlTmF2WkluZGV4KCl7cmV0dXJuIHRoaXMuI2F9c2V0IG1vYmlsZU5hdlpJbmRleChiKXt0aGlzLiNhPWJ9cmVhZHlEZWZlcnJlZD0oZzUodGhpcyx2KSxFdC5wbHVnaW5zLnNtYXJ0cHJvbWlzZS5kZWZlcigpKTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9YXN5bmMgaW5pdCgpe2F3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5yZWFkeURlZmVycmVkLnJlc29sdmUoKX1zdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgfQoKICAgICAgLm1haW4gewogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgaGVpZ2h0OiAxMDB2aDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXgtd2lkdGg6IDMyMHB4OwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgpOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgcmlnaHQ6IDBweDsKICAgICAgICB0b3A6IDBweDsKICAgICAgICBib3R0b206IDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgYm94LXNoYWRvdzogJHtoLmJkVGhlbWUoIi0yMHB4IDAgMjVweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgLTEwcHggMCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjA0KSIsIi0yMHB4IDAgMjVweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4zKSwgLTEwcHggMCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgfQoKICAgICAgLm1haW4uc2hvdyB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQoKICAgICAgLm1lbnUtY29udGFpbmVyIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICB9CgogICAgICAubWVudUl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAubWVudUl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAubWVudUl0ZW06YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzZjNmNDYiKX07CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtIGRlZXMtaWNvbiB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAubWVudUl0ZW06aG92ZXIgZGVlcy1pY29uIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAubWVudUl0ZW0tdGV4dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLWRpdmlkZXIgewogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICBtYXJnaW46IDhweCAxNnB4OwogICAgICB9CgogICAgICAvKiBNb2JpbGUgcmVzcG9uc2l2ZW5lc3MgKi8KICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSB7CiAgICAgICAgLm1haW4gewogICAgICAgICAgbWF4LXdpZHRoOiAxMDB2dzsKICAgICAgICAgIHdpZHRoOiA4NXZ3OwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyogQW5pbWF0aW9uIGZvciBtZW51IGl0ZW1zICovCiAgICAgIEBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7CiAgICAgICAgfQogICAgICAgIHRvIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAubWFpbi5zaG93IC5tZW51SXRlbSB7CiAgICAgICAgYW5pbWF0aW9uOiBzbGlkZUluUmlnaHQgMC4zcyBlYXNlLW91dCBmb3J3YXJkczsKICAgICAgICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0taXRlbS1pbmRleCwgMCkgKiAwLjA1cyk7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgfQoKICAgICAgLyogU2Nyb2xsYmFyIHN0eWxpbmcgKi8KICAgICAgLm1lbnUtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgfQoKICAgICAgLm1lbnUtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5tZW51LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzNmM2Y0NiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KCiAgICAgIC5tZW51LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZDFkNWRiIiwiIzUyNTI1YiIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICAubWFpbiB7CiAgICAgICAgICAtLXotaW5kZXg6ICR7dGhpcy5tb2JpbGVOYXZaSW5kZXh9OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0ibWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgIDxoMiBjbGFzcz0iaGVhZGluZyI+JHt0aGlzLmhlYWRpbmd9PC9oMj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtZW51LWNvbnRhaW5lciI+CiAgICAgICAgICAke3RoaXMubWVudUl0ZW1zLm1hcCgoYixnKT0+ImRpdmlkZXIiaW4gYiYmYi5kaXZpZGVyP3dgPGRpdiBjbGFzcz0ibWVudUl0ZW0tZGl2aWRlciI+PC9kaXY+YDp3YAogICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSJtZW51SXRlbSIKICAgICAgICAgICAgICAgIHN0eWxlPSItLWl0ZW0taW5kZXg6ICR7Z30iCiAgICAgICAgICAgICAgICBAY2xpY2s9IiR7KCk9Pnt0aGlzLmhpZGUoKSxiLmFjdGlvbih0aGlzKX19IgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICR7Yi5pY29uTmFtZT93YAogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Yi5pY29uTmFtZX0gc2l6ZT0iMjAiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZW51SXRlbS10ZXh0Ij4ke2IubmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9d2luZG93TGF5ZXI7YXN5bmMgc2hvdygpe2xldCBiPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLGc9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5tYWluIik7dGhpcy53aW5kb3dMYXllcj8oZG9jdW1lbnQuYm9keS5hcHBlbmQodGhpcy53aW5kb3dMYXllciksYXdhaXQgdGhpcy53aW5kb3dMYXllci5zaG93KCkpOih0aGlzLndpbmRvd0xheWVyPWF3YWl0IGpzLmNyZWF0ZUFuZFNob3coe2JsdXI6ITB9KSx0aGlzLndpbmRvd0xheWVyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3RoaXMuaGlkZSgpfSkpLHRoaXMubW9iaWxlTmF2WkluZGV4PVp0LmdldE5leHRaSW5kZXgoKSxadC5yZWdpc3Rlcih0aGlzLHRoaXMubW9iaWxlTmF2WkluZGV4KSxhd2FpdCBiLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMTApLGcuY2xhc3NMaXN0LmFkZCgic2hvdyIpfWFzeW5jIGhpZGUoKXtsZXQgYj1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZTt0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm1haW4iKS5jbGFzc0xpc3QucmVtb3ZlKCJzaG93IiksWnQudW5yZWdpc3Rlcih0aGlzKSx0aGlzLndpbmRvd0xheWVyJiZhd2FpdCB0aGlzLndpbmRvd0xheWVyLmRlc3Ryb3koKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksWnQudW5yZWdpc3Rlcih0aGlzKSx0aGlzLndpbmRvd0xheWVyJiZhd2FpdCB0aGlzLndpbmRvd0xheWVyLmRlc3Ryb3koKX1zdGF0aWN7ZzUocix0KX19O3JldHVybiB4PXJ9KSgpfSk7dmFyIHJjYT1mKCgpPT57YWNhKCl9KTt2YXIgc2NhPWYoKCk9PntIcmEoKTtEWWUoKTtvc2EoKTtLbGEoKTtabGEoKTtYbGEoKTtRbGEoKTtKbGEoKTtlY2EoKTtyY2EoKX0pO3ZhciBpY2E9ZigoKT0+eyRmKCl9KTt2YXIgb2NhLHhRZSxuY2EsbGNhPWYoKCk9PntsZSgpO29jYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0seFFlPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxuY2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLWJ1dHRvbi1leGl0IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNCdXR0b25FeGl0Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpOdW1iZXJ9KV0sb2NhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4ic2l6ZSJpbiBwLCJoYXMiKSxnZXQ6cyhwPT5wLnNpemUsImdldCIpLHNldDpzKChwLHUpPT57cC5zaXplPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSxvY2EobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRlZXMtYnV0dG9uLWV4aXQ+PC9kZWVzLWJ1dHRvbi1leGl0PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkJ1dHRvbiJdOyNlPXhRZSh0aGlzLG4sMjQpO2dldCBzaXplKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNpemUoYyl7dGhpcy4jZT1jfXN0eWxlcz0oeFFlKHRoaXMsbCksW2guZGVmYXVsdFN0eWxlcyxYYAoKICAgIGBdKTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIHdpZHRoOiAke3RoaXMuc2l6ZX1weDsKICAgICAgICAgIGhlaWdodDogJHt0aGlzLnNpemV9cHg7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJtYWluY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdExpbmUiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY29uZExpbmUiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje3hRZShyLHQpfX07cmV0dXJuIGQ9cn0pKCl9KTt2YXIgY2NhPWYoKCk9PntsY2EoKX0pO3ZhciBkY2EsdWNhPWYoKCk9PntsZSgpO2RjYT1zKCgpPT53YAogICAgPHN0eWxlPgogICAgICAke1hgCiAgICAgICAgLmRlbW9Cb3ggewogICAgICAgICAgYmFja2dyb3VuZDogIzAwMDAwMDsKICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgfQoKICAgICAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgfQoKICAgICAgICAuZGVtby10aXRsZSB7CiAgICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICB9CgogICAgICAgIC5kZW1vLWRlc2NyaXB0aW9uIHsKICAgICAgICAgIGNvbG9yOiAjOTk5OwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIDxkaXYgY2xhc3M9ImRlbW9Cb3giPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+QmFzaWMgQnV0dG9uIEdyb3VwczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPkJ1dHRvbiBncm91cHMgd2l0aG91dCBsYWJlbHMgZm9yIHNpbXBsZSBncm91cGluZzwvcD4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgICA8ZGVlcy1idXR0b24+T3B0aW9uIDE8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uPk9wdGlvbiAyPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5PcHRpb24gMzwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+TGFiZWxlZCBCdXR0b24gR3JvdXBzPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+QnV0dG9uIGdyb3VwcyB3aXRoIGRlc2NyaXB0aXZlIGxhYmVsczwvcD4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IlZpZXcgTW9kZToiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImhpZ2hsaWdodGVkIj5HcmlkPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5MaXN0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5DYXJkczwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+TXVsdGlwbGUgR3JvdXBzPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+TXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB1c2VkIHRvZ2V0aGVyPC9wPgogICAgICAgIAogICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGdhcDogMTZweDsgZmxleC13cmFwOiB3cmFwOyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IkRhdGFzZXQ6Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImhpZ2hsaWdodGVkIj5TeXN0ZW08L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+TmV0d29yazwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5TYWxlczwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IlRpbWUgUmFuZ2U6Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPjFIPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImhpZ2hsaWdodGVkIj4yNEg8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+N0Q8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+MzBEPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iQWN0aW9uczoiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+UmVmcmVzaDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5FeHBvcnQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+VmVydGljYWwgQnV0dG9uIEdyb3VwczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPkJ1dHRvbiBncm91cHMgd2l0aCB2ZXJ0aWNhbCBsYXlvdXQ8L3A+CiAgICAgICAgCiAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZ2FwOiAyNHB4OyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgZGlyZWN0aW9uPSJ2ZXJ0aWNhbCIgbGFiZWw9Ik5hdmlnYXRpb246Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkRhc2hib2FyZDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJoaWdobGlnaHRlZCI+QW5hbHl0aWNzPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlJlcG9ydHM8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+U2V0dGluZ3M8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGRpcmVjdGlvbj0idmVydGljYWwiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+QWRkIEl0ZW08L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+RWRpdCBJdGVtPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkRlbGV0ZSBJdGVtPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPk1peGVkIEJ1dHRvbiBUeXBlczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPkRpZmZlcmVudCBidXR0b24gdHlwZXMgd2l0aGluIGdyb3VwczwvcD4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IlN0YXR1czoiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9InN1Y2Nlc3MiPkFjdGl2ZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+UGVuZGluZzwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGFuZ2VyIj5JbmFjdGl2ZTwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICBgLCJkZW1vRnVuYyIpfSk7dmFyIHlRZSxRVyxwY2EsZmNhPWYoKCk9PntsZSgpO2VhKCk7dWNhKCk7UWUoKTt5UWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFFXPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxwY2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLWJ1dHRvbi1ncm91cCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQnV0dG9uR3JvdXAiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKCldLGQ9WyQoKV0seVFlKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+ImxhYmVsImluIHYsImhhcyIpLGdldDpzKHY9PnYubGFiZWwsImdldCIpLHNldDpzKCh2LHgpPT57di5sYWJlbD14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCkseVFlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGlyZWN0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJkaXJlY3Rpb24iaW4gdiwiaGFzIiksZ2V0OnModj0+di5kaXJlY3Rpb24sImdldCIpLHNldDpzKCh2LHgpPT57di5kaXJlY3Rpb249eH0sInNldCIpfSxtZXRhZGF0YTptfSxjLHApLHlRZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pfXN0YXRpYyBkZW1vPWRjYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkJ1dHRvbiJdOyNlPVFXKHRoaXMsbiwiIik7Z2V0IGxhYmVsKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGxhYmVsKG0pe3RoaXMuI2U9bX0jdD0oUVcodGhpcyxsKSxRVyh0aGlzLGMsImhvcml6b250YWwiKSk7Z2V0IGRpcmVjdGlvbigpe3JldHVybiB0aGlzLiN0fXNldCBkaXJlY3Rpb24obSl7dGhpcy4jdD1tfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSxRVyh0aGlzLHApLGFyLnNldHVwKCl9c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KCiAgICAgIC5idXR0b24tZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi1ncm91cC52ZXJ0aWNhbCB7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgfQoKICAgICAgLmxhYmVsIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2NjYiLCIjOTk5Iil9OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgIG1hcmdpbi1yaWdodDogOHB4OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5idXR0b24tZ3JvdXAudmVydGljYWwgLmxhYmVsIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICA6OnNsb3R0ZWQoKikgewogICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyb3VwICR7dGhpcy5kaXJlY3Rpb259Ij4KICAgICAgICAke3RoaXMubGFiZWw/d2A8c3BhbiBjbGFzcz0ibGFiZWwiPiR7dGhpcy5sYWJlbH08L3NwYW4+YDoiIn0KICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgIDwvZGl2PgogICAgYH1zdGF0aWN7UVcocix0KX19O3JldHVybiB1PXJ9KSgpfSk7dmFyIGhjYT1mKCgpPT57ZmNhKCl9KTt2YXIgbWNhPWYoKCk9PntpY2EoKTtjY2EoKTtoY2EoKX0pO3ZhciBnY2EsYmNhPWYoKCk9PntsZSgpO05hKCk7d1FlKCk7Z2NhPXMoKCk9PntsZXQgYT17c3lzdGVtOntsYWJlbDoiU3lzdGVtIFVzYWdlICglKSIsc2VyaWVzOlt7bmFtZToiQ1BVIixkYXRhOlt7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTNlNSkudG9JU09TdHJpbmcoKSx5OjI1fSx7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTI0ZTQpLnRvSVNPU3RyaW5nKCkseTozMH0se3g6bmV3IERhdGUoRGF0ZS5ub3coKS0xOGU0KS50b0lTT1N0cmluZygpLHk6Mjh9LHt4Om5ldyBEYXRlKERhdGUubm93KCktMTJlNCkudG9JU09TdHJpbmcoKSx5OjM1fSx7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTZlNCkudG9JU09TdHJpbmcoKSx5OjMyfSx7eDpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkseTozOH1dfSx7bmFtZToiTWVtb3J5IixkYXRhOlt7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTNlNSkudG9JU09TdHJpbmcoKSx5OjQ1fSx7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTI0ZTQpLnRvSVNPU3RyaW5nKCkseTo0OH0se3g6bmV3IERhdGUoRGF0ZS5ub3coKS0xOGU0KS50b0lTT1N0cmluZygpLHk6NDZ9LHt4Om5ldyBEYXRlKERhdGUubm93KCktMTJlNCkudG9JU09TdHJpbmcoKSx5OjUyfSx7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTZlNCkudG9JU09TdHJpbmcoKSx5OjUwfSx7eDpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkseTo1NX1dfV19fSxlPXtzeXN0ZW06cyh0PT5gJHt0fSVgLCJzeXN0ZW0iKX07cmV0dXJuIHdgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57bGV0IHI9dC5xdWVyeVNlbGVjdG9yKCIjbWFpbi1jaGFydCIpLGk9dC5xdWVyeVNlbGVjdG9yKCIjY29ubmVjdGlvbnMtY2hhcnQiKSxvLG4sbD0ic3lzdGVtIixkPXtzeXN0ZW06cyhCPT5gJHtCfSVgLCJzeXN0ZW0iKSxuZXR3b3JrOnMoQj0+YCR7Qn0gTWJwc2AsIm5ldHdvcmsiKSxzYWxlczpzKEI9PmAkJHtCLnRvTG9jYWxlU3RyaW5nKCl9YCwic2FsZXMiKX0sYz0xMjAqMWUzLHA9MWUzLHU9NWUzLG09e2NwdTozMCxtZW1vcnk6NTAsZG93bmxvYWQ6MTUwLHVwbG9hZDozMCxjb25uZWN0aW9uczoxNTB9LHY9cygoQixNLFM9dSk9PntsZXQgUD1bXSxBPURhdGUubm93KCksRj1NYXRoLmZsb29yKGMvUyk7Zm9yKGxldCBXPUY7Vz49MDtXLS0pe2xldCBqPW5ldyBEYXRlKEEtVypTKS50b0lTT1N0cmluZygpLEc9QisoTWF0aC5yYW5kb20oKS0uNSkqTTtQLnB1c2goe3g6aix5Ok1hdGgucm91bmQoRyl9KX1yZXR1cm4gUH0sImdlbmVyYXRlSW5pdGlhbERhdGEiKSx4PXtzeXN0ZW06e2xhYmVsOiJTeXN0ZW0gVXNhZ2UgKCUpIixzZXJpZXM6W3tuYW1lOiJDUFUiLGRhdGE6dihtLmNwdSwxMCl9LHtuYW1lOiJNZW1vcnkiLGRhdGE6dihtLm1lbW9yeSw4KX1dfSxuZXR3b3JrOntsYWJlbDoiTmV0d29yayBUcmFmZmljIChNYnBzKSIsc2VyaWVzOlt7bmFtZToiRG93bmxvYWQiLGRhdGE6dihtLmRvd25sb2FkLDMwKX0se25hbWU6IlVwbG9hZCIsZGF0YTp2KG0udXBsb2FkLDEwKX1dfSxzYWxlczp7bGFiZWw6IlNhbGVzIEFuYWx5dGljcyIsc2VyaWVzOlt7bmFtZToiUmV2ZW51ZSIsZGF0YTpbe3g6IjIwMjUtMDEtMDEiLHk6NDVlM30se3g6IjIwMjUtMDEtMDIiLHk6NTJlM30se3g6IjIwMjUtMDEtMDMiLHk6NDhlM30se3g6IjIwMjUtMDEtMDQiLHk6NjFlM30se3g6IjIwMjUtMDEtMDUiLHk6NThlM30se3g6IjIwMjUtMDEtMDYiLHk6NjVlM31dfSx7bmFtZToiUHJvZml0IixkYXRhOlt7eDoiMjAyNS0wMS0wMSIseToxMmUzfSx7eDoiMjAyNS0wMS0wMiIseToxNGUzfSx7eDoiMjAyNS0wMS0wMyIseToxMWUzfSx7eDoiMjAyNS0wMS0wNCIseToxOGUzfSx7eDoiMjAyNS0wMS0wNSIseToxNmUzfSx7eDoiMjAyNS0wMS0wNiIseToyZTR9XX1dfX0sYj1zKChCLE0sUyxQPTUpPT57bGV0IEE9KE1hdGgucmFuZG9tKCktLjUpKlAqMixGPUIrQSxqPSgoTStTKS8yLUYpKi4xO3JldHVybiBGKz1qLEY9TWF0aC5tYXgoTSxNYXRoLm1pbihTLEYpKSxNYXRoLnJvdW5kKEYpfSwiZ2V0TmV4dFZhbHVlIiksZz1EYXRlLm5vdygpLHk9RGF0ZS5ub3coKSxrPXMoKCk9PntpZighcilyZXR1cm47bGV0IEI9RGF0ZS5ub3coKTtpZihCLWc+PXUpe2c9QjtsZXQgUz1uZXcgRGF0ZShCKS50b0lTT1N0cmluZygpO2lmKGw9PT0ic3lzdGVtIil7bS5jcHU9YihtLmNwdSwyMCw1MCwzKSxtLm1lbW9yeT1iKG0ubWVtb3J5LDQwLDcwLDIpO2xldCBQPXIuY2hhcnRTZXJpZXMubWFwKChBLEYpPT4oe25hbWU6QS5uYW1lLGRhdGE6Wy4uLkEuZGF0YSxGPT09MD97eDpTLHk6bS5jcHV9Ont4OlMseTptLm1lbW9yeX1dfSkpO3IudXBkYXRlU2VyaWVzKFAsITEpfWVsc2UgaWYobD09PSJuZXR3b3JrIil7bS5kb3dubG9hZD1iKG0uZG93bmxvYWQsMTAwLDIwMCwxMCksbS51cGxvYWQ9YihtLnVwbG9hZCwyMCw1MCw1KTtsZXQgUD1yLmNoYXJ0U2VyaWVzLm1hcCgoQSxGKT0+KHtuYW1lOkEubmFtZSxkYXRhOlsuLi5BLmRhdGEsRj09PTA/e3g6Uyx5Om0uZG93bmxvYWR9Ont4OlMseTptLnVwbG9hZH1dfSkpO3IudXBkYXRlU2VyaWVzKFAsITEpfX19LCJhZGRSZWFsdGltZURhdGEiKSxDPXMoKCk9PntpZighaSlyZXR1cm47bGV0IEI9RGF0ZS5ub3coKSxNPW5ldyBEYXRlKEIpLnRvSVNPU3RyaW5nKCksUz1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjEpLTEwO20uY29ubmVjdGlvbnM9TWF0aC5tYXgoNTAsTWF0aC5taW4oMzAwLG0uY29ubmVjdGlvbnMrUykpO2xldCBQPWkuY2hhcnRTZXJpZXMsQT1be25hbWU6UFswXT8ubmFtZXx8IkNvbm5lY3Rpb25zIixkYXRhOlsuLi5QWzBdPy5kYXRhfHxbXSx7eDpNLHk6bS5jb25uZWN0aW9uc31dfV07aS51cGRhdGVTZXJpZXMoQSwhMSl9LCJ1cGRhdGVDb25uZWN0aW9ucyIpLE49cyhCPT57bD1CO2xldCBNPXhbQl07ci5sYWJlbD1NLmxhYmVsLHIuc2VyaWVzPU0uc2VyaWVzLHIueUF4aXNGb3JtYXR0ZXI9ZFtCXSxCPT09InN5c3RlbSI/KHIueUF4aXNTY2FsaW5nPSJwZXJjZW50YWdlIixyLnlBeGlzTWF4PTEwMCk6ci55QXhpc1NjYWxpbmc9ImR5bmFtaWMiLGc9RGF0ZS5ub3coKS11fSwic3dpdGNoRGF0YXNldCIpLF89cygoKT0+eyFvJiYobD09PSJzeXN0ZW0ifHxsPT09Im5ldHdvcmsiKSYmKHIucmVhbHRpbWVNb2RlPSEwLG89d2luZG93LnNldEludGVydmFsKCgpPT5rKCksdSkpLG58fChpLnJlYWx0aW1lTW9kZT0hMCxuPXdpbmRvdy5zZXRJbnRlcnZhbCgoKT0+QygpLHApKX0sInN0YXJ0UmVhbHRpbWUiKSx6PXMoKCk9PntvJiYod2luZG93LmNsZWFySW50ZXJ2YWwobyksbz1udWxsLHIucmVhbHRpbWVNb2RlPSExKSxuJiYod2luZG93LmNsZWFySW50ZXJ2YWwobiksbj1udWxsLGkucmVhbHRpbWVNb2RlPSExKX0sInN0b3BSZWFsdGltZSIpLE89cygoKT0+e2w9PT0ic3lzdGVtIj8obS5jcHU9TWF0aC5yYW5kb20oKT4uNT84NToyNSxtLm1lbW9yeT1NYXRoLnJhbmRvbSgpPi41PzgwOjQ1KTpsPT09Im5ldHdvcmsiJiYobS5kb3dubG9hZD1NYXRoLnJhbmRvbSgpPi41PzI1MDoxMDAsbS51cGxvYWQ9TWF0aC5yYW5kb20oKT4uNT84MDoyMCksbS5jb25uZWN0aW9ucz1NYXRoLnJhbmRvbSgpPi41PzI4MDo4MCxnPTAseT0wfSwicmFuZG9taXplRGF0YSIpLFQ9cygoKT0+e3QucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1idXR0b24iKS5mb3JFYWNoKE09PntsZXQgUz1NLnRleHQ/LnRyaW0oKTtTPT09IlN5c3RlbSBVc2FnZSI/TS50eXBlPWw9PT0ic3lzdGVtIj8iaGlnaGxpZ2h0ZWQiOiJub3JtYWwiOlM9PT0iTmV0d29yayBUcmFmZmljIj9NLnR5cGU9bD09PSJuZXR3b3JrIj8iaGlnaGxpZ2h0ZWQiOiJub3JtYWwiOlM9PT0iU2FsZXMgRGF0YSImJihNLnR5cGU9bD09PSJzYWxlcyI/ImhpZ2hsaWdodGVkIjoibm9ybWFsIil9KX0sInVwZGF0ZUJ1dHRvblN0YXRlcyIpO2lmKHQucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1idXR0b24iKS5mb3JFYWNoKEI9PntsZXQgTT1CLnRleHQ/LnRyaW0oKTtNPT09IlN5c3RlbSBVc2FnZSI/Qi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntOKCJzeXN0ZW0iKSxUKCl9KTpNPT09Ik5ldHdvcmsgVHJhZmZpYyI/Qi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntOKCJuZXR3b3JrIiksVCgpfSk6TT09PSJTYWxlcyBEYXRhIj9CLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e04oInNhbGVzIiksVCgpfSk6TT09PSJTdGFydCBMaXZlIj9CLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+XygpKTpNPT09IlN0b3AgTGl2ZSI/Qi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PnooKSk6TT09PSJTcGlrZSBWYWx1ZXMiJiZCLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+TygpKX0pLHIucm9sbGluZ1dpbmRvdz1jLHIucmVhbHRpbWVNb2RlPSExLHIueUF4aXNTY2FsaW5nPSJwZXJjZW50YWdlIixyLnlBeGlzTWF4PTEwMCxyLmF1dG9TY3JvbGxJbnRlcnZhbD0xZTMsc2V0VGltZW91dCgoKT0+e3IudXBkYXRlVGltZVdpbmRvdygpfSwxMDApLGkpe2xldCBCPXYobS5jb25uZWN0aW9ucywzMCxwKTtpLnNlcmllcz1be25hbWU6IkNvbm5lY3Rpb25zIixkYXRhOkJ9XSxpLnJvbGxpbmdXaW5kb3c9YyxpLnJlYWx0aW1lTW9kZT0hMSxpLnlBeGlzU2NhbGluZz0iZml4ZWQiLGkueUF4aXNNYXg9MzUwLGkuYXV0b1Njcm9sbEludGVydmFsPTFlMyxzZXRUaW1lb3V0KCgpPT57aS51cGRhdGVUaW1lV2luZG93KCl9LDEwMCl9fX0+CiAgICAgIDxzdHlsZT4KICAgICAgICAke1hgCiAgICAgICAgLmRlbW9Cb3ggewogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5jb250cm9scyB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY2hhcnQtY29udGFpbmVyIHsKICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgICBtaW4taGVpZ2h0OiA0MDBweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmluZm8gewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIDxkaXYgY2xhc3M9ImRlbW9Cb3giPgogICAgICA8ZGl2IGNsYXNzPSJjb250cm9scyI+CiAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJEYXRhc2V0OiI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iaGlnaGxpZ2h0ZWQiPlN5c3RlbSBVc2FnZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+TmV0d29yayBUcmFmZmljPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5TYWxlcyBEYXRhPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iUmVhbC10aW1lOiI+CiAgICAgICAgICA8ZGVlcy1idXR0b24+U3RhcnQgTGl2ZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+U3RvcCBMaXZlPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iQWN0aW9uczoiPgogICAgICAgICAgPGRlZXMtYnV0dG9uPlNwaWtlIFZhbHVlczwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIiPgogICAgICAgIDxkZWVzLWNoYXJ0LWFyZWEKICAgICAgICAgIGlkPSJtYWluLWNoYXJ0IgogICAgICAgICAgLmxhYmVsPSR7YS5zeXN0ZW0ubGFiZWx9CiAgICAgICAgICAuc2VyaWVzPSR7YS5zeXN0ZW0uc2VyaWVzfQogICAgICAgICAgLnlBeGlzRm9ybWF0dGVyPSR7ZS5zeXN0ZW19CiAgICAgICAgPjwvZGVlcy1jaGFydC1hcmVhPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0LWNvbnRhaW5lciIgc3R5bGU9Im1hcmdpbi10b3A6IDIwcHg7Ij4KICAgICAgICA8ZGVlcy1jaGFydC1hcmVhCiAgICAgICAgICBpZD0iY29ubmVjdGlvbnMtY2hhcnQiCiAgICAgICAgICAubGFiZWw9JHsiQWN0aXZlIENvbm5lY3Rpb25zIn0KICAgICAgICAgIC5zZXJpZXM9JHtbe25hbWU6IkNvbm5lY3Rpb25zIixkYXRhOltdfV19CiAgICAgICAgICAueUF4aXNGb3JtYXR0ZXI9JHt0PT5gJHt0fWB9CiAgICAgICAgPjwvZGVlcy1jaGFydC1hcmVhPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImluZm8iPgogICAgICAgIFJlYWwtdGltZSBtb25pdG9yaW5nIHdpdGggMi1taW51dGUgcm9sbGluZyB3aW5kb3cg4oCiIAogICAgICAgIFVwZGF0ZXMgZXZlcnkgc2Vjb25kIHdpdGggc21vb3RoIHZhbHVlIHRyYW5zaXRpb25zIOKAoiAKICAgICAgICBDbGljayAnU3Bpa2UgVmFsdWVzJyB0byBzaW11bGF0ZSBsb2FkIHNwaWtlcwogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGB9LCJkZW1vRnVuYyIpfSk7dmFyIHZjYSx4Y2E9ZigoKT0+e2xlKCk7UWUoKTt2Y2E9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiA0MDBweDsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnUm9ib3RvJywgc2Fucy1zZXJpZjsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQogICAgICBkZWVzLXRpbGUgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQogICAgICAuY2hhcnRIZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogMCA4cHggMCAxNnB4OwogICAgICB9CiAgICAgIC5jaGFydExhYmVsIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgfQogICAgICAuZXhwYW5kQnRuIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDI4cHg7CiAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KICAgICAgLmV4cGFuZEJ0bjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICB9CiAgICAgIC5jaGFydENvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGluc2V0OiAwIDAgNHB4IDA7CiAgICAgIH0KICAgICAgLnN0YXRzQmFyIHsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQogICAgICAuc3RhdHNTZXJpZXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQogICAgICAuc3RhdHNTZXJpZXMgKyAuc3RhdHNTZXJpZXMgewogICAgICAgIHBhZGRpbmctbGVmdDogMjRweDsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICB9CiAgICAgIC5zdGF0c0NvbG9yIHsKICAgICAgICB3aWR0aDogOHB4OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQogICAgICAuc3RhdHNOYW1lIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7CiAgICAgIH0KICAgICAgLnN0YXRzSXRlbSB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CiAgICAgIC5zdGF0c0l0ZW0gc3Ryb25nIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CiAgICAgIC5sdy10b29sdGlwIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgei1pbmRleDogMTAwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkOwogICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIHNhbnMtc2VyaWY7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgICAgbWluLXdpZHRoOiAxNDBweDsKICAgICAgfQogICAgYF19KTt2YXIgeWNhLHdjYT1mKCgpPT57bGUoKTt2YSgpO3ljYT1zKGE9PndgCiAgICAgICAgPGRlZXMtdGlsZT4KICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2hhcnRIZWFkZXIiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2hhcnRMYWJlbCI+JHthLmxhYmVsfTwvc3Bhbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZXhwYW5kQnRuIiBAY2xpY2s9JHsoKT0+YS50b2dnbGVGdWxsUGFnZSgpfSB0aXRsZT0iJHthLmlzRnVsbFBhZ2U/IkV4aXQgZnVsbCBwYWdlIjoiRnVsbCBwYWdlIn0iPgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHthLmlzRnVsbFBhZ2U/Imx1Y2lkZTpNaW5pbWl6ZTIiOiJsdWNpZGU6TWF4aW1pemUyIn0gLmljb25TaXplPSR7MTR9PjwvZGVlcy1pY29uPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnRDb250YWluZXIiPjwvZGl2PgogICAgICAgICAgJHthLnNlcmllc1N0YXRzLmxlbmd0aD4wP3dgCiAgICAgICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0ic3RhdHNCYXIiPgogICAgICAgICAgICAgICR7YS5zZXJpZXNTdGF0cy5tYXAoZT0+d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXRzU2VyaWVzIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXRzQ29sb3IiIHN0eWxlPSJiYWNrZ3JvdW5kOiR7ZS5jb2xvcn0iPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXRzTmFtZSI+JHtlLm5hbWV9PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHNJdGVtIj5sYXRlc3QgPHN0cm9uZz4ke2EueUF4aXNGb3JtYXR0ZXIoZS5sYXRlc3QpfTwvc3Ryb25nPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXRzSXRlbSI+bWluIDxzdHJvbmc+JHthLnlBeGlzRm9ybWF0dGVyKGUubWluKX08L3N0cm9uZz48L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0c0l0ZW0iPm1heCA8c3Ryb25nPiR7YS55QXhpc0Zvcm1hdHRlcihlLm1heCl9PC9zdHJvbmc+PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHNJdGVtIj5hdmcgPHN0cm9uZz4ke2EueUF4aXNGb3JtYXR0ZXIoZS5hdmcpfTwvc3Ryb25nPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGApfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kZWVzLXRpbGU+CiAgICAgIGAsInJlbmRlckNoYXJ0QXJlYSIpfSk7dmFyIEhuLHpyLE1jYSx3UWU9ZigoKT0+e2xlKCk7ZWEoKTtiY2EoKTt4Y2EoKTt3Y2EoKTtMYygpO1hyKCk7SG49ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHpyPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxNY2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLWNoYXJ0LWFyZWEiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W107dmFyIG1lPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQ2hhcnRBcmVhIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IEk9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bSygpXSxkPVtLKCldLHU9W0soKV0seD1bJCgpXSx5PVskKHt0eXBlOkFycmF5fSldLE49WyQoe2F0dHJpYnV0ZTohMX0pXSxPPVskKHt0eXBlOk51bWJlcn0pXSxCPVskKHt0eXBlOkJvb2xlYW59KV0sUD1bJCh7dHlwZTpTdHJpbmd9KV0sVz1bJCh7dHlwZTpOdW1iZXJ9KV0saGU9WyQoe3R5cGU6TnVtYmVyfSldLEhuKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2hhcnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImNoYXJ0ImluIHEsImhhcyIpLGdldDpzKHE9PnEuY2hhcnQsImdldCIpLHNldDpzKChxLGNlKT0+e3EuY2hhcnQ9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sbixsKSxIbih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlcmllc1N0YXRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJzZXJpZXNTdGF0cyJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLnNlcmllc1N0YXRzLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLnNlcmllc1N0YXRzPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LGMscCksSG4odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0Z1bGxQYWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJpc0Z1bGxQYWdlImluIHEsImhhcyIpLGdldDpzKHE9PnEuaXNGdWxsUGFnZSwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5pc0Z1bGxQYWdlPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LG0sdiksSG4odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYWJlbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4ibGFiZWwiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5sYWJlbCwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5sYWJlbD1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxiLGcpLEhuKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VyaWVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJzZXJpZXMiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5zZXJpZXMsImdldCIpLHNldDpzKChxLGNlKT0+e3Euc2VyaWVzPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LGssQyksSG4odGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ5QXhpc0Zvcm1hdHRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4ieUF4aXNGb3JtYXR0ZXIiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS55QXhpc0Zvcm1hdHRlciwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS55QXhpc0Zvcm1hdHRlcj1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxfLHopLEhuKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicm9sbGluZ1dpbmRvdyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4icm9sbGluZ1dpbmRvdyJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLnJvbGxpbmdXaW5kb3csImdldCIpLHNldDpzKChxLGNlKT0+e3Eucm9sbGluZ1dpbmRvdz1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxULEUpLEhuKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVhbHRpbWVNb2RlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJyZWFsdGltZU1vZGUiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5yZWFsdGltZU1vZGUsImdldCIpLHNldDpzKChxLGNlKT0+e3EucmVhbHRpbWVNb2RlPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LE0sUyksSG4odGhpcyxudWxsLFAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ5QXhpc1NjYWxpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+InlBeGlzU2NhbGluZyJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLnlBeGlzU2NhbGluZywiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS55QXhpc1NjYWxpbmc9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sQSxGKSxIbih0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InlBeGlzTWF4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJ5QXhpc01heCJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLnlBeGlzTWF4LCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLnlBeGlzTWF4PWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LGosRyksSG4odGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXV0b1Njcm9sbEludGVydmFsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJhdXRvU2Nyb2xsSW50ZXJ2YWwiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5hdXRvU2Nyb2xsSW50ZXJ2YWwsImdldCIpLHNldDpzKChxLGNlKT0+e3EuYXV0b1Njcm9sbEludGVydmFsPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LFIsVSksSG4obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6SX0sbnVsbCx0KSxtZT1yPWUudmFsdWUsSSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpJfSl9c3RhdGljIGRlbW89Z2NhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQ2hhcnQiXTsjZT16cih0aGlzLG4sbnVsbCk7Z2V0IGNoYXJ0KCl7cmV0dXJuIHRoaXMuI2V9c2V0IGNoYXJ0KEkpe3RoaXMuI2U9SX0jdD0oenIodGhpcyxsKSx6cih0aGlzLGMsW10pKTtnZXQgc2VyaWVzU3RhdHMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VyaWVzU3RhdHMoSSl7dGhpcy4jdD1JfSNhPSh6cih0aGlzLHApLHpyKHRoaXMsbSwhMSkpO2dldCBpc0Z1bGxQYWdlKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGlzRnVsbFBhZ2UoSSl7dGhpcy4jYT1JfSNyPSh6cih0aGlzLHYpLHpyKHRoaXMsYiwiVW50aXRsZWQgQ2hhcnQiKSk7Z2V0IGxhYmVsKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGxhYmVsKEkpe3RoaXMuI3I9SX0jcz0oenIodGhpcyxnKSx6cih0aGlzLGssW10pKTtnZXQgc2VyaWVzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNlcmllcyhJKXt0aGlzLiNzPUl9Z2V0IGNoYXJ0U2VyaWVzKCl7cmV0dXJuIHRoaXMuaW50ZXJuYWxDaGFydERhdGEubGVuZ3RoPjA/dGhpcy5pbnRlcm5hbENoYXJ0RGF0YTp0aGlzLnNlcmllc30jaT0oenIodGhpcyxDKSx6cih0aGlzLF8sST0+YCR7SX0gTWJwc2ApKTtnZXQgeUF4aXNGb3JtYXR0ZXIoKXtyZXR1cm4gdGhpcy4jaX1zZXQgeUF4aXNGb3JtYXR0ZXIoSSl7dGhpcy4jaT1JfSNvPSh6cih0aGlzLHopLHpyKHRoaXMsVCwwKSk7Z2V0IHJvbGxpbmdXaW5kb3coKXtyZXR1cm4gdGhpcy4jb31zZXQgcm9sbGluZ1dpbmRvdyhJKXt0aGlzLiNvPUl9I249KHpyKHRoaXMsRSksenIodGhpcyxNLCExKSk7Z2V0IHJlYWx0aW1lTW9kZSgpe3JldHVybiB0aGlzLiNufXNldCByZWFsdGltZU1vZGUoSSl7dGhpcy4jbj1JfSNsPSh6cih0aGlzLFMpLHpyKHRoaXMsQSwiZHluYW1pYyIpKTtnZXQgeUF4aXNTY2FsaW5nKCl7cmV0dXJuIHRoaXMuI2x9c2V0IHlBeGlzU2NhbGluZyhJKXt0aGlzLiNsPUl9I2M9KHpyKHRoaXMsRiksenIodGhpcyxqLDEwMCkpO2dldCB5QXhpc01heCgpe3JldHVybiB0aGlzLiNjfXNldCB5QXhpc01heChJKXt0aGlzLiNjPUl9I2Q9KHpyKHRoaXMsRyksenIodGhpcyxSLDFlMykpO2dldCBhdXRvU2Nyb2xsSW50ZXJ2YWwoKXtyZXR1cm4gdGhpcy4jZH1zZXQgYXV0b1Njcm9sbEludGVydmFsKEkpe3RoaXMuI2Q9SX1pbnRlcm5hbENoYXJ0RGF0YT0oenIodGhpcyxVKSxbXSk7YXV0b1Njcm9sbFRpbWVyPW51bGw7bGNCdW5kbGU9bnVsbDtzZXJpZXNBcGlzPW5ldyBNYXA7cHJpY2VMaW5lcz1uZXcgTWFwO3Rvb2x0aXBFbD1udWxsO0NIQVJUX0NPTE9SUz17ZGFyazpbImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMTczLjQgODAuNCUgNDAlKSIsImhzbCgyODAuMyA4Ny40JSA2Ni43JSkiLCJoc2woMjQuNiA5NSUgNTMuMSUpIl0sbGlnaHQ6WyJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIsImhzbCgyODAuMyA0Ny43JSA1MC4yJSkiLCJoc2woMjAuNSA5MC4yJSA0OC4yJSkiXX07Y29uc3RydWN0b3IoKXtzdXBlcigpLGFyLnNldHVwKCksdGhpcy5yZWdpc3RlckdhcmJhZ2VGdW5jdGlvbihhc3luYygpPT57aWYodGhpcy5zdG9wQXV0b1Njcm9sbCgpLHRoaXMuY2hhcnQpdHJ5e3RoaXMuY2hhcnQucmVtb3ZlKCksdGhpcy5jaGFydD1udWxsLHRoaXMuc2VyaWVzQXBpcy5jbGVhcigpLHRoaXMucHJpY2VMaW5lcy5jbGVhcigpfWNhdGNoKEkpe2NvbnNvbGUuZXJyb3IoIkVycm9yIGRlc3Ryb3lpbmcgY2hhcnQ6IixJKX19KX1zdGF0aWMgc3R5bGVzPXZjYTtyZW5kZXIoKXtyZXR1cm4geWNhKHRoaXMpfWNvbnZlcnREYXRhVG9MQyhJKXtyZXR1cm4gSS5tYXAocT0+e2xldCBjZT10eXBlb2YgcS54PT0ibnVtYmVyIj9xLng6bmV3IERhdGUocS54KS5nZXRUaW1lKCk7cmV0dXJue3RpbWU6TWF0aC5mbG9vcihjZS8xZTMpLHZhbHVlOnEueX19KS5zb3J0KChxLGNlKT0+cS50aW1lLWNlLnRpbWUpfWhzbFRvUmdiYShJLHEpe2xldCBjZT1JLm1hdGNoKC9oc2xcKChbXildKylcKS8pO2lmKCFjZSlyZXR1cm4gSTtsZXQgdWU9Y2VbMV0udHJpbSgpLnNwbGl0KC9ccysvKTtpZih1ZS5sZW5ndGg8MylyZXR1cm4gSTtsZXQgWT1wYXJzZUZsb2F0KHVlWzBdKS8zNjAsUT1wYXJzZUZsb2F0KHVlWzFdKS8xMDAsSj1wYXJzZUZsb2F0KHVlWzJdKS8xMDAsWixnZSxhZTtpZihRPT09MClaPWdlPWFlPUo7ZWxzZXtsZXQgcmU9cygoSCxvZSxzZSk9PihzZTwwJiYoc2UrPTEpLHNlPjEmJihzZS09MSksc2U8LjE2NjY2NjY2NjY2NjY2NjY2P0grKG9lLUgpKjYqc2U6c2U8LjU/b2U6c2U8LjY2NjY2NjY2NjY2NjY2NjY/SCsob2UtSCkqKC42NjY2NjY2NjY2NjY2NjY2LXNlKSo2OkgpLCJodWUycmdiIikseWU9SjwuNT9KKigxK1EpOkorUS1KKlEsVj0yKkoteWU7Wj1yZShWLHllLFkrMS8zKSxnZT1yZShWLHllLFkpLGFlPXJlKFYseWUsWS0xLzMpfXJldHVybmByZ2JhKCR7TWF0aC5yb3VuZChaKjI1NSl9LCAke01hdGgucm91bmQoZ2UqMjU1KX0sICR7TWF0aC5yb3VuZChhZSoyNTUpfSwgJHtxfSlgfWdldFNlcmllc0NvbG9ycyhJKXtyZXR1cm4gST90aGlzLkNIQVJUX0NPTE9SUy5kYXJrOnRoaXMuQ0hBUlRfQ09MT1JTLmxpZ2h0fWFwcGx5VGhlbWUoKXtpZighdGhpcy5jaGFydHx8IXRoaXMubGNCdW5kbGUpcmV0dXJuO2xldCBJPSF0aGlzLmdvQnJpZ2h0LHE9dGhpcy5nZXRTZXJpZXNDb2xvcnMoSSk7dGhpcy5jaGFydC5hcHBseU9wdGlvbnMoe2xheW91dDp7YmFja2dyb3VuZDp7dHlwZTp0aGlzLmxjQnVuZGxlLkNvbG9yVHlwZS5Tb2xpZCxjb2xvcjoidHJhbnNwYXJlbnQifSx0ZXh0Q29sb3I6ST8iaHNsKDAgMCUgNjMuOSUpIjoiaHNsKDAgMCUgMjAlKSIsYXR0cmlidXRpb25Mb2dvOiExfSxncmlkOnt2ZXJ0TGluZXM6e2NvbG9yOkk/ImhzbCgwIDAlIDguNSUpIjoiaHNsKDAgMCUgOTUuNSUpIn0saG9yekxpbmVzOntjb2xvcjpJPyJoc2woMCAwJSA4LjUlKSI6ImhzbCgwIDAlIDk1LjUlKSJ9fX0pO2xldCBjZT0wO2ZvcihsZXRbLHVlXW9mIHRoaXMuc2VyaWVzQXBpcyl7bGV0IFk9cVtjZSVxLmxlbmd0aF07dWUuYXBwbHlPcHRpb25zKHt0b3BDb2xvcjp0aGlzLmhzbFRvUmdiYShZLEk/LjQ6LjUpLGJvdHRvbUNvbG9yOnRoaXMuaHNsVG9SZ2JhKFksMCksbGluZUNvbG9yOll9KSxjZSsrfX1yZWNyZWF0ZVNlcmllcyhJKXtpZighdGhpcy5jaGFydHx8IXRoaXMubGNCdW5kbGUpcmV0dXJuO2xldCBxPSF0aGlzLmdvQnJpZ2h0LGNlPXRoaXMuZ2V0U2VyaWVzQ29sb3JzKHEpO2ZvcihsZXRbLHVlXW9mIHRoaXMuc2VyaWVzQXBpcyl0aGlzLmNoYXJ0LnJlbW92ZVNlcmllcyh1ZSk7dGhpcy5zZXJpZXNBcGlzLmNsZWFyKCksdGhpcy5wcmljZUxpbmVzLmNsZWFyKCksSS5mb3JFYWNoKCh1ZSxZKT0+e2xldCBRPWNlW1klY2UubGVuZ3RoXSxKPXRoaXMuY2hhcnQuYWRkU2VyaWVzKHRoaXMubGNCdW5kbGUuQXJlYVNlcmllcyx7dG9wQ29sb3I6dGhpcy5oc2xUb1JnYmEoUSxxPy40Oi41KSxib3R0b21Db2xvcjp0aGlzLmhzbFRvUmdiYShRLDApLGxpbmVDb2xvcjpRLGxpbmVXaWR0aDoyLGxpbmVUeXBlOnRoaXMubGNCdW5kbGUuTGluZVR5cGUuQ3VydmVkLGxhc3RWYWx1ZVZpc2libGU6ITEscHJpY2VMaW5lVmlzaWJsZTohMSxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiEwLGNyb3NzaGFpck1hcmtlclJhZGl1czo0fSk7Si5zZXREYXRhKHRoaXMuY29udmVydERhdGFUb0xDKHVlLmRhdGEpKSx0aGlzLnVwZGF0ZVByaWNlTGluZXModWUubmFtZXx8YHNlcmllcy0ke1l9YCxKLHVlLmRhdGEsUSksdGhpcy55QXhpc1NjYWxpbmchPT0iZHluYW1pYyImJkouYXBwbHlPcHRpb25zKHthdXRvc2NhbGVJbmZvUHJvdmlkZXI6cygoKT0+KHtwcmljZVJhbmdlOnttaW5WYWx1ZTowLG1heFZhbHVlOnRoaXMueUF4aXNNYXh9fSksImF1dG9zY2FsZUluZm9Qcm92aWRlciIpfSksdGhpcy5zZXJpZXNBcGlzLnNldCh1ZS5uYW1lfHxgc2VyaWVzLSR7WX1gLEopfSksdGhpcy5jb21wdXRlU3RhdHMoSSl9Y29tcHV0ZVN0YXRzKEkpe2xldCBxPSF0aGlzLmdvQnJpZ2h0LGNlPXRoaXMuZ2V0U2VyaWVzQ29sb3JzKHEpO3RoaXMuc2VyaWVzU3RhdHM9SS5tYXAoKHVlLFkpPT57bGV0IFE9dWUuZGF0YS5tYXAocmU9PnJlLnkpO2lmKFEubGVuZ3RoPT09MClyZXR1cm57bmFtZTp1ZS5uYW1lfHxgc2VyaWVzLSR7WX1gLGxhdGVzdDowLG1pbjowLG1heDowLGF2ZzowLGNvbG9yOmNlW1klY2UubGVuZ3RoXX07bGV0IEo9UVtRLmxlbmd0aC0xXSxaPU1hdGgubWluKC4uLlEpLGdlPU1hdGgubWF4KC4uLlEpLGFlPU1hdGgucm91bmQoUS5yZWR1Y2UoKHJlLHllKT0+cmUreWUsMCkvUS5sZW5ndGgqMTAwKS8xMDA7cmV0dXJue25hbWU6dWUubmFtZXx8YHNlcmllcy0ke1l9YCxsYXRlc3Q6SixtaW46WixtYXg6Z2UsYXZnOmFlLGNvbG9yOmNlW1klY2UubGVuZ3RoXX19KX11cGRhdGVQcmljZUxpbmVzKEkscSxjZSx1ZSl7bGV0IFk9dGhpcy5wcmljZUxpbmVzLmdldChJKTtpZihZKWZvcihsZXQgYWUgb2YgWSlxLnJlbW92ZVByaWNlTGluZShhZSk7aWYoY2UubGVuZ3RoPT09MCl7dGhpcy5wcmljZUxpbmVzLnNldChJLFtdKTtyZXR1cm59bGV0IFE9Y2UubWFwKGFlPT5hZS55KSxKPVEucmVkdWNlKChhZSxyZSk9PmFlK3JlLDApL1EubGVuZ3RoLFo9TWF0aC5tYXgoLi4uUSksZ2U9W107Z2UucHVzaChxLmNyZWF0ZVByaWNlTGluZSh7cHJpY2U6TWF0aC5yb3VuZChKKjEwMCkvMTAwLGNvbG9yOnRoaXMuaHNsVG9SZ2JhKHVlLC41KSxsaW5lV2lkdGg6MSxsaW5lU3R5bGU6MixheGlzTGFiZWxWaXNpYmxlOiEwLHRpdGxlOiJhdmcifSkpLEo+MCYmKFotSikvSj4uMSYmZ2UucHVzaChxLmNyZWF0ZVByaWNlTGluZSh7cHJpY2U6Wixjb2xvcjp0aGlzLmhzbFRvUmdiYSh1ZSwuOCksbGluZVdpZHRoOjEsbGluZVN0eWxlOjEsYXhpc0xhYmVsVmlzaWJsZTohMCx0aXRsZToibWF4In0pKSx0aGlzLnByaWNlTGluZXMuc2V0KEksZ2UpfXNldHVwVG9vbHRpcCgpe3RoaXMuY2hhcnQmJih0aGlzLnRvb2x0aXBFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLnRvb2x0aXBFbC5jbGFzc05hbWU9Imx3LXRvb2x0aXAiLHRoaXMudG9vbHRpcEVsLnN0eWxlLmRpc3BsYXk9Im5vbmUiLHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY2hhcnRDb250YWluZXIiKT8uYXBwZW5kQ2hpbGQodGhpcy50b29sdGlwRWwpLHRoaXMuY2hhcnQuc3Vic2NyaWJlQ3Jvc3NoYWlyTW92ZShJPT57aWYoIXRoaXMudG9vbHRpcEVsKXJldHVybjtpZighSS5wb2ludHx8IUkudGltZXx8SS5wb2ludC54PDB8fEkucG9pbnQueTwwKXt0aGlzLnRvb2x0aXBFbC5zdHlsZS5kaXNwbGF5PSJub25lIjtyZXR1cm59bGV0IHE9IXRoaXMuZ29CcmlnaHQsY2U9cT8iaHNsKDAgMCUgOSUpIjoiaHNsKDAgMCUgMTAwJSkiLHVlPXE/ImhzbCgwIDAlIDk1JSkiOiJoc2woMCAwJSA5JSkiLFk9cT8iaHNsKDAgMCUgMTQuOSUpIjoiaHNsKDAgMCUgODkuOCUpIixRPXRoaXMuZ2V0U2VyaWVzQ29sb3JzKHEpLEo9IiIsWj0wLGdlPSExO2ZvcihsZXRbeWUsVl1vZiB0aGlzLnNlcmllc0FwaXMpe2xldCBIPUkuc2VyaWVzRGF0YS5nZXQoVik7aWYoSCYmInZhbHVlImluIEgmJkgudmFsdWUhPT12b2lkIDApe2dlPSEwO2xldCBvZT1RW1olUS5sZW5ndGhdLHNlPXRoaXMueUF4aXNGb3JtYXR0ZXIoSC52YWx1ZSk7Sis9YDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDttYXJnaW46JHtaPjA/IjZweCI6IjAifSAwOyI+CiAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O2JhY2tncm91bmQ6JHtvZX07Ym9yZGVyLXJhZGl1czoycHg7Ij48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDo1MDA7Ij4ke3llfTo8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJtYXJnaW4tbGVmdDphdXRvO2ZvbnQtd2VpZ2h0OjYwMDsiPiR7c2V9PC9zcGFuPgogICAgICAgICAgPC9kaXY+YH1aKyt9aWYoIWdlKXt0aGlzLnRvb2x0aXBFbC5zdHlsZS5kaXNwbGF5PSJub25lIjtyZXR1cm59dGhpcy50b29sdGlwRWwuaW5uZXJIVE1MPUosT2JqZWN0LmFzc2lnbih0aGlzLnRvb2x0aXBFbC5zdHlsZSx7ZGlzcGxheToiYmxvY2siLGJhY2tncm91bmQ6Y2UsY29sb3I6dWUsYm9yZGVyQ29sb3I6WX0pO2xldCBhZT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmNoYXJ0Q29udGFpbmVyIikuY2xpZW50V2lkdGgscmU9SS5wb2ludC54KzE2O3JlKzIwMD5hZSYmKHJlPUkucG9pbnQueC0yMTYpLHRoaXMudG9vbHRpcEVsLnN0eWxlLmxlZnQ9YCR7cmV9cHhgLHRoaXMudG9vbHRpcEVsLnN0eWxlLnRvcD1gJHtJLnBvaW50LnktMTZ9cHhgfSkpfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2F3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLHRoaXMubGNCdW5kbGU9YXdhaXQgTnMuZ2V0SW5zdGFuY2UoKS5sb2FkTGlnaHR3ZWlnaHRDaGFydHMoKSxhd2FpdCBuZXcgUHJvbWlzZShjZT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGNlKSk7bGV0IEk9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5jaGFydENvbnRhaW5lciIpO2lmKCFJKXJldHVybjtsZXQgcT0hdGhpcy5nb0JyaWdodDt0cnl7dGhpcy5jaGFydD10aGlzLmxjQnVuZGxlLmNyZWF0ZUNoYXJ0KEkse2F1dG9TaXplOiEwLGxheW91dDp7YmFja2dyb3VuZDp7dHlwZTp0aGlzLmxjQnVuZGxlLkNvbG9yVHlwZS5Tb2xpZCxjb2xvcjoidHJhbnNwYXJlbnQifSx0ZXh0Q29sb3I6cT8iaHNsKDAgMCUgNjMuOSUpIjoiaHNsKDAgMCUgMjAlKSIsZm9udEZhbWlseTonLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCBzYW5zLXNlcmlmJyxmb250U2l6ZToxMixhdHRyaWJ1dGlvbkxvZ286ITF9LGdyaWQ6e3ZlcnRMaW5lczp7Y29sb3I6cT8iaHNsKDAgMCUgOC41JSkiOiJoc2woMCAwJSA5NS41JSkifSxob3J6TGluZXM6e2NvbG9yOnE/ImhzbCgwIDAlIDguNSUpIjoiaHNsKDAgMCUgOTUuNSUpIn19LHJpZ2h0UHJpY2VTY2FsZTp7Ym9yZGVyVmlzaWJsZTohMSxzY2FsZU1hcmdpbnM6e3RvcDouMSxib3R0b206LjF9fSx0aW1lU2NhbGU6e2JvcmRlclZpc2libGU6ITEsdGltZVZpc2libGU6ITAsc2Vjb25kc1Zpc2libGU6ITB9LGNyb3NzaGFpcjp7bW9kZTp0aGlzLmxjQnVuZGxlLkNyb3NzaGFpck1vZGUuTWFnbmV0fSxoYW5kbGVTY3JvbGw6ITEsaGFuZGxlU2NhbGU6ITF9KTtsZXQgY2U9dGhpcy5zZXJpZXMubGVuZ3RoPjA/dGhpcy5zZXJpZXM6W3tuYW1lOiJjcHUiLGRhdGE6W3t4OiIyMDI1LTAxLTE1VDAzOjAwOjAwIix5OjI1fSx7eDoiMjAyNS0wMS0xNVQwNzowMDowMCIseTozMH0se3g6IjIwMjUtMDEtMTVUMTE6MDA6MDAiLHk6MjB9LHt4OiIyMDI1LTAxLTE1VDE1OjAwOjAwIix5OjM1fSx7eDoiMjAyNS0wMS0xNVQxOTowMDowMCIseToyNX1dfSx7bmFtZToibWVtb3J5IixkYXRhOlt7eDoiMjAyNS0wMS0xNVQwMzowMDowMCIseToxMH0se3g6IjIwMjUtMDEtMTVUMDc6MDA6MDAiLHk6MTJ9LHt4OiIyMDI1LTAxLTE1VDExOjAwOjAwIix5OjEwfSx7eDoiMjAyNS0wMS0xNVQxNTowMDowMCIseTozMH0se3g6IjIwMjUtMDEtMTVUMTk6MDA6MDAiLHk6NDB9XX1dO3RoaXMuaW50ZXJuYWxDaGFydERhdGE9Y2UsdGhpcy5yZWNyZWF0ZVNlcmllcyhjZSksdGhpcy5zZXR1cFRvb2x0aXAoKX1jYXRjaChjZSl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGluaXRpYWxpemUgY2hhcnQ6IixjZSl9fWFzeW5jIHVwZGF0ZWQoSSl7aWYoc3VwZXIudXBkYXRlZChJKSxJLmhhcygiZ29CcmlnaHQiKSYmdGhpcy5jaGFydCYmdGhpcy5hcHBseVRoZW1lKCksSS5oYXMoInNlcmllcyIpJiZ0aGlzLmNoYXJ0JiZ0aGlzLnNlcmllcy5sZW5ndGg+MCYmYXdhaXQgdGhpcy51cGRhdGVTZXJpZXModGhpcy5zZXJpZXMpLEkuaGFzKCJ5QXhpc0Zvcm1hdHRlciIpJiZ0aGlzLmNoYXJ0LEkuaGFzKCJyZWFsdGltZU1vZGUiKSYmdGhpcy5jaGFydCYmKHRoaXMucmVhbHRpbWVNb2RlJiZ0aGlzLnJvbGxpbmdXaW5kb3c+MCYmdGhpcy5hdXRvU2Nyb2xsSW50ZXJ2YWw+MD90aGlzLnN0YXJ0QXV0b1Njcm9sbCgpOnRoaXMuc3RvcEF1dG9TY3JvbGwoKSksSS5oYXMoImF1dG9TY3JvbGxJbnRlcnZhbCIpJiZ0aGlzLmNoYXJ0JiYodGhpcy5zdG9wQXV0b1Njcm9sbCgpLHRoaXMucmVhbHRpbWVNb2RlJiZ0aGlzLnJvbGxpbmdXaW5kb3c+MCYmdGhpcy5hdXRvU2Nyb2xsSW50ZXJ2YWw+MCYmdGhpcy5zdGFydEF1dG9TY3JvbGwoKSksKEkuaGFzKCJ5QXhpc1NjYWxpbmciKXx8SS5oYXMoInlBeGlzTWF4IikpJiZ0aGlzLmNoYXJ0KWZvcihsZXRbLHFdb2YgdGhpcy5zZXJpZXNBcGlzKXRoaXMueUF4aXNTY2FsaW5nPT09ImR5bmFtaWMiP3EuYXBwbHlPcHRpb25zKHthdXRvc2NhbGVJbmZvUHJvdmlkZXI6dm9pZCAwfSk6cS5hcHBseU9wdGlvbnMoe2F1dG9zY2FsZUluZm9Qcm92aWRlcjpzKCgpPT4oe3ByaWNlUmFuZ2U6e21pblZhbHVlOjAsbWF4VmFsdWU6dGhpcy55QXhpc01heH19KSwiYXV0b3NjYWxlSW5mb1Byb3ZpZGVyIil9KX1hc3luYyB1cGRhdGVTZXJpZXMoSSxxPSEwKXtpZih0aGlzLmNoYXJ0KXRyeXtpZih0aGlzLmludGVybmFsQ2hhcnREYXRhPUksdGhpcy5yb2xsaW5nV2luZG93PjAmJnRoaXMucmVhbHRpbWVNb2RlKXtsZXQgY2U9RGF0ZS5ub3coKSx1ZT1jZS10aGlzLnJvbGxpbmdXaW5kb3c7aWYoSS5sZW5ndGghPT10aGlzLnNlcmllc0FwaXMuc2l6ZSl0aGlzLnJlY3JlYXRlU2VyaWVzKEkpO2Vsc2V7bGV0IFk9dGhpcy5nZXRTZXJpZXNDb2xvcnMoIXRoaXMuZ29CcmlnaHQpO0kuZm9yRWFjaCgoUSxKKT0+e2xldCBaPVEubmFtZXx8YHNlcmllcy0ke0p9YCxnZT10aGlzLnNlcmllc0FwaXMuZ2V0KFopO2lmKCFnZSlyZXR1cm47bGV0IGFlPVEuZGF0YS5maWx0ZXIocmU9Pih0eXBlb2YgcmUueD09Im51bWJlciI/cmUueDpuZXcgRGF0ZShyZS54KS5nZXRUaW1lKCkpPnVlKTtnZS5zZXREYXRhKHRoaXMuY29udmVydERhdGFUb0xDKGFlKSksdGhpcy51cGRhdGVQcmljZUxpbmVzKFosZ2UsYWUsWVtKJVkubGVuZ3RoXSl9KSx0aGlzLmNvbXB1dGVTdGF0cyhJKX10cnl7dGhpcy5jaGFydC50aW1lU2NhbGUoKS5zZXRWaXNpYmxlUmFuZ2Uoe2Zyb206TWF0aC5mbG9vcih1ZS8xZTMpLHRvOk1hdGguZmxvb3IoY2UvMWUzKX0pfWNhdGNoe31pZih0aGlzLnlBeGlzU2NhbGluZz09PSJkeW5hbWljIil7bGV0IFk9SS5mbGF0TWFwKFE9PlEuZGF0YS5maWx0ZXIoSj0+KHR5cGVvZiBKLng9PSJudW1iZXIiP0oueDpuZXcgRGF0ZShKLngpLmdldFRpbWUoKSk+dWUpLm1hcChKPT5KLnkpKTtpZihZLmxlbmd0aD4wKXtsZXQgUT1NYXRoLmNlaWwoTWF0aC5tYXgoLi4uWSkqMS4xKTtmb3IobGV0WyxKXW9mIHRoaXMuc2VyaWVzQXBpcylKLmFwcGx5T3B0aW9ucyh7YXV0b3NjYWxlSW5mb1Byb3ZpZGVyOnMoKCk9Pih7cHJpY2VSYW5nZTp7bWluVmFsdWU6MCxtYXhWYWx1ZTpRfX0pLCJhdXRvc2NhbGVJbmZvUHJvdmlkZXIiKX0pfX19ZWxzZSBpZihJLmxlbmd0aCE9PXRoaXMuc2VyaWVzQXBpcy5zaXplKXRoaXMucmVjcmVhdGVTZXJpZXMoSSk7ZWxzZXtsZXQgY2U9dGhpcy5nZXRTZXJpZXNDb2xvcnMoIXRoaXMuZ29CcmlnaHQpO0kuZm9yRWFjaCgodWUsWSk9PntsZXQgUT11ZS5uYW1lfHxgc2VyaWVzLSR7WX1gLEo9dGhpcy5zZXJpZXNBcGlzLmdldChRKTtKJiYoSi5zZXREYXRhKHRoaXMuY29udmVydERhdGFUb0xDKHVlLmRhdGEpKSx0aGlzLnVwZGF0ZVByaWNlTGluZXMoUSxKLHVlLmRhdGEsY2VbWSVjZS5sZW5ndGhdKSl9KSx0aGlzLmNvbXB1dGVTdGF0cyhJKX19Y2F0Y2goY2Upe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byB1cGRhdGUgY2hhcnQgc2VyaWVzOiIsY2UpfX1hc3luYyB1cGRhdGVUaW1lV2luZG93KCl7aWYoIXRoaXMuY2hhcnR8fHRoaXMucm9sbGluZ1dpbmRvdzw9MClyZXR1cm47bGV0IEk9RGF0ZS5ub3coKSxxPUktdGhpcy5yb2xsaW5nV2luZG93O3RyeXt0aGlzLmNoYXJ0LnRpbWVTY2FsZSgpLnNldFZpc2libGVSYW5nZSh7ZnJvbTpNYXRoLmZsb29yKHEvMWUzKSx0bzpNYXRoLmZsb29yKEkvMWUzKX0pfWNhdGNoe319YXN5bmMgYXBwZW5kRGF0YShJKXt0aGlzLmNoYXJ0JiZJLmZvckVhY2goKHEsY2UpPT57bGV0IHVlPXEubmFtZXx8YHNlcmllcy0ke2NlfWAsWT10aGlzLnNlcmllc0FwaXMuZ2V0KHVlKTtpZighKCFZfHxxLmRhdGEubGVuZ3RoPT09MCkpZm9yKGxldCBRIG9mIHEuZGF0YSl7bGV0IEo9dGhpcy5jb252ZXJ0RGF0YVRvTEMoW1FdKTtKLmxlbmd0aD4wJiZZLnVwZGF0ZShKWzBdKX19KX1hc3luYyB1cGRhdGVPcHRpb25zKEkpe3RoaXMuY2hhcnQmJnRoaXMuY2hhcnQuYXBwbHlPcHRpb25zKEkpfWFzeW5jIHJlc2l6ZUNoYXJ0KCl7dGhpcy5jaGFydCYmdGhpcy5jaGFydC50aW1lU2NhbGUoKS5maXRDb250ZW50KCl9YXN5bmMgZm9yY2VSZXNpemUoKXthd2FpdCB0aGlzLnJlc2l6ZUNoYXJ0KCl9dG9nZ2xlRnVsbFBhZ2UoKXt0aGlzLmlzRnVsbFBhZ2U9IXRoaXMuaXNGdWxsUGFnZSx0aGlzLmlzRnVsbFBhZ2U/KHRoaXMuc3R5bGUucG9zaXRpb249ImZpeGVkIix0aGlzLnN0eWxlLmluc2V0PSIwIix0aGlzLnN0eWxlLnpJbmRleD0iMTAwMDAiLHRoaXMuc3R5bGUuaGVpZ2h0PSIxMDB2aCIsdGhpcy5zdHlsZS5wYWRkaW5nPSIwIixkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iKToodGhpcy5zdHlsZS5wb3NpdGlvbj0iIix0aGlzLnN0eWxlLmluc2V0PSIiLHRoaXMuc3R5bGUuekluZGV4PSIiLHRoaXMuc3R5bGUuaGVpZ2h0PSIiLHRoaXMuc3R5bGUucGFkZGluZz0iIixkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93PSIiKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLmNoYXJ0Py50aW1lU2NhbGUoKS5maXRDb250ZW50KCl9KX1zdGFydEF1dG9TY3JvbGwoKXt0aGlzLmF1dG9TY3JvbGxUaW1lcnx8KHRoaXMuYXV0b1Njcm9sbFRpbWVyPXdpbmRvdy5zZXRJbnRlcnZhbCgoKT0+e3RoaXMudXBkYXRlVGltZVdpbmRvdygpfSx0aGlzLmF1dG9TY3JvbGxJbnRlcnZhbCkpfXN0b3BBdXRvU2Nyb2xsKCl7dGhpcy5hdXRvU2Nyb2xsVGltZXImJih3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLmF1dG9TY3JvbGxUaW1lciksdGhpcy5hdXRvU2Nyb2xsVGltZXI9bnVsbCl9c3RhdGlje3pyKHIsdCl9fTtyZXR1cm4gbWU9cn0pKCl9KTt2YXIga2NhPWYoKCk9Pnt3UWUoKX0pO2Z1bmN0aW9uIFA0KGEpe3JldHVybiBhP0NjYS5saWdodDpDY2EuZGFya31mdW5jdGlvbiBJNChhLGUpe2xldCB0PXBhcnNlSW50KGEuc2xpY2UoMSwzKSwxNikscj1wYXJzZUludChhLnNsaWNlKDMsNSksMTYpLGk9cGFyc2VJbnQoYS5zbGljZSg1LDcpLDE2KTtyZXR1cm5gcmdiYSgke3R9LCAke3J9LCAke2l9LCAke2V9KWB9ZnVuY3Rpb24gX2NhKGEpe2xldCBlPWE/U2NhOnpjYTtyZXR1cm57YmFja2dyb3VuZENvbG9yOiJ0cmFuc3BhcmVudCIsdGV4dFN0eWxlOntjb2xvcjplLnRleHRTZWNvbmRhcnksZm9udEZhbWlseTonLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCBzYW5zLXNlcmlmJyxmb250U2l6ZToxMn0sdG9vbHRpcDp7YmFja2dyb3VuZENvbG9yOmUuYmdQcmltYXJ5LGJvcmRlckNvbG9yOmUuYm9yZGVyRGVmYXVsdCx0ZXh0U3R5bGU6e2NvbG9yOmUudGV4dFByaW1hcnksZm9udFNpemU6MTJ9LGNvbmZpbmU6ITB9LGxlZ2VuZDp7dGV4dFN0eWxlOntjb2xvcjplLnRleHRTZWNvbmRhcnksZm9udFNpemU6MTJ9fX19ZnVuY3Rpb24gTjQoYSl7cmV0dXJuIGE/U2NhOnpjYX12YXIgU2NhLHpjYSxDY2EsWm09ZigoKT0+e1FlKCk7U2NhPVhvLmNvbG9ycy5saWdodCx6Y2E9WG8uY29sb3JzLmRhcmssQ2NhPXtkYXJrOlsiIzYwYTVmYSIsIiMyZGQ0YmYiLCIjYTc4YmZhIiwiI2ZiYmYyNCIsIiMzNGQzOTkiLCIjZmI3MTg1Il0sbGlnaHQ6WyIjM2I4MmY2IiwiIzE0YjhhNiIsIiM4YjVjZjYiLCIjZjU5ZTBiIiwiIzEwYjk4MSIsIiNmNDNmNWUiXX07cyhQNCwiZ2V0RWNoYXJ0c1Nlcmllc0NvbG9ycyIpO3MoSTQsImhleFRvUmdiYSIpO3MoX2NhLCJnZXRFY2hhcnRzVGhlbWVPcHRpb25zIik7cyhONCwiZ2V0VGhlbWVDb2xvcnMiKX0pO3ZhciB0TmEsVGNhLEFjLEpXPWYoKCk9PntsZSgpO2VhKCk7TGMoKTtabSgpO1hyKCk7dE5hPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxUY2E9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEFjPSgoKT0+e2xldCBhPXBlLGUsdD1bXSxyPVtdO3JldHVybiBjbGFzcyBleHRlbmRzIGF7c3RhdGlje3ModGhpcywiRGVlc0NoYXJ0RWNoYXJ0c0Jhc2UiKX1zdGF0aWN7bGV0IG89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoYVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7ZT1bJCgpXSx0TmEodGhpcyxudWxsLGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYWJlbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuPT4ibGFiZWwiaW4gbiwiaGFzIiksZ2V0OnMobj0+bi5sYWJlbCwiZ2V0Iiksc2V0OnMoKG4sbCk9PntuLmxhYmVsPWx9LCJzZXQiKX0sbWV0YWRhdGE6b30sdCxyKSxvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm99KX0jZT1UY2EodGhpcyx0LCJVbnRpdGxlZCBDaGFydCIpO2dldCBsYWJlbCgpe3JldHVybiB0aGlzLiNlfXNldCBsYWJlbChvKXt0aGlzLiNlPW99Y2hhcnRJbnN0YW5jZT0oVGNhKHRoaXMsciksbnVsbCk7ZWNoYXJ0c0J1bmRsZT1udWxsO3Jlc2l6ZU9ic2VydmVyPW51bGw7Y29uc3RydWN0b3IoKXtzdXBlcigpLGFyLnNldHVwKCksdGhpcy5yZWdpc3RlckdhcmJhZ2VGdW5jdGlvbihhc3luYygpPT57aWYodGhpcy5yZXNpemVPYnNlcnZlciYmKHRoaXMucmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI9bnVsbCksdGhpcy5jaGFydEluc3RhbmNlKXRyeXt0aGlzLmNoYXJ0SW5zdGFuY2UuZGlzcG9zZSgpLHRoaXMuY2hhcnRJbnN0YW5jZT1udWxsfWNhdGNoKG8pe2NvbnNvbGUuZXJyb3IoIkVycm9yIGRpc3Bvc2luZyBFQ2hhcnRzIGluc3RhbmNlOiIsbyl9fSl9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJjaGFydEhlYWRlciI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY2hhcnRMYWJlbCI+JHt0aGlzLmxhYmVsfTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydENvbnRhaW5lciI+PC9kaXY+CiAgICAgIDwvZGVlcy10aWxlPgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXthd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZSx0aGlzLmVjaGFydHNCdW5kbGU9YXdhaXQgTnMuZ2V0SW5zdGFuY2UoKS5sb2FkRWNoYXJ0cygpLGF3YWl0IG5ldyBQcm9taXNlKG49PnJlcXVlc3RBbmltYXRpb25GcmFtZShuKSk7bGV0IG89dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5jaGFydENvbnRhaW5lciIpO2lmKG8pdHJ5e3RoaXMuY2hhcnRJbnN0YW5jZT10aGlzLmVjaGFydHNCdW5kbGUuaW5pdChvLG51bGwse3JlbmRlcmVyOiJzdmcifSksdGhpcy51cGRhdGVDaGFydCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKCgpPT57dGhpcy5jaGFydEluc3RhbmNlPy5yZXNpemUoKX0pLHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShvKX1jYXRjaChuKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBFQ2hhcnRzOiIsbil9fWFzeW5jIHVwZGF0ZWQobyl7c3VwZXIudXBkYXRlZChvKSxvLmhhcygiZ29CcmlnaHQiKSYmdGhpcy5jaGFydEluc3RhbmNlJiZ0aGlzLmFwcGx5VGhlbWUoKX11cGRhdGVDaGFydCgpe2lmKCF0aGlzLmNoYXJ0SW5zdGFuY2UpcmV0dXJuO2xldCBvPV9jYSh0aGlzLmdvQnJpZ2h0KSxuPXRoaXMuYnVpbGRPcHRpb24oKSxsPXsuLi5vLC4uLm4sdGV4dFN0eWxlOnsuLi5vLnRleHRTdHlsZSwuLi5uLnRleHRTdHlsZXx8e319LHRvb2x0aXA6ey4uLm8udG9vbHRpcCwuLi5uLnRvb2x0aXB8fHt9fSxsZWdlbmQ6ey4uLm8ubGVnZW5kLC4uLm4ubGVnZW5kfHx7fSx0ZXh0U3R5bGU6ey4uLm8ubGVnZW5kPy50ZXh0U3R5bGV8fHt9LC4uLm4ubGVnZW5kPy50ZXh0U3R5bGV8fHt9fX19O3RoaXMuY2hhcnRJbnN0YW5jZS5zZXRPcHRpb24obCwhMCl9YXBwbHlUaGVtZSgpe3RoaXMudXBkYXRlQ2hhcnQoKX1hc3luYyBmb3JjZVJlc2l6ZSgpe3RoaXMuY2hhcnRJbnN0YW5jZT8ucmVzaXplKCl9fX0pKCl9KTt2YXIgTGNhLCRjYT1mKCgpPT57bGUoKTtOYSgpO01RZSgpO0xjYT1zKCgpPT57bGV0IGE9WyIvYXBpL3VzZXJzIiwiL2FwaS9vcmRlcnMiLCIvYXBpL3Byb2R1Y3RzIiwiL2FwaS9hdXRoIiwiL2FwaS9zZWFyY2giXSxlPVt7bmFtZToiR0VUIixkYXRhOlsxMjQwLDg5MCw3MjAsMjEwMCw1NjBdfSx7bmFtZToiUE9TVCIsZGF0YTpbMzIwLDQ1MCwxODAsODkwLDQwXX0se25hbWU6IlBVVCIsZGF0YTpbOTAsMjEwLDE1MCwzMCwxMF19XSx0PVsiVVMtRWFzdCIsIlVTLVdlc3QiLCJFVSIsIkFzaWEiLCJPdGhlciJdLHI9W3tuYW1lOiJSZXF1ZXN0cyIsZGF0YTpbNDUwMCwzMjAwLDI4MDAsMTkwMCw2MDBdfV07cmV0dXJuIHdgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBpPT57bGV0IG89aS5xdWVyeVNlbGVjdG9yKCIjdmVydC1jaGFydCIpLG49aS5xdWVyeVNlbGVjdG9yKCIjaG9yaXotY2hhcnQiKSxsPWkucXVlcnlTZWxlY3RvcigiI3N0YWNrLWNoYXJ0Iik7aS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2goYz0+e2MudGV4dD8udHJpbSgpPT09IlJhbmRvbWl6ZSImJmMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57by5zZXJpZXM9ZS5tYXAodT0+KHsuLi51LGRhdGE6dS5kYXRhLm1hcChtPT5NYXRoLnJvdW5kKG0qKC41K01hdGgucmFuZG9tKCkpKSl9KSksbi5zZXJpZXM9ci5tYXAodT0+KHsuLi51LGRhdGE6dS5kYXRhLm1hcChtPT5NYXRoLnJvdW5kKG0qKC41K01hdGgucmFuZG9tKCkpKSl9KSksbC5zZXJpZXM9ZS5tYXAodT0+KHsuLi51LGRhdGE6dS5kYXRhLm1hcChtPT5NYXRoLnJvdW5kKG0qKC41K01hdGgucmFuZG9tKCkpKSl9KSl9KX0pfX0+CiAgICAgIDxzdHlsZT4KICAgICAgICAke1hgCiAgICAgICAgICAuZGVtb0JveCB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIH0KICAgICAgICAgIC5jaGFydFJvdyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgfQogICAgICAgICAgLmNvbnRyb2xzIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgICB9CiAgICAgICAgICAuaW5mbyB7CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgICB9CiAgICAgICAgYH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iZGVtb0JveCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbHMiPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJBY3Rpb25zOiI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5SYW5kb21pemU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnRSb3ciPgogICAgICAgICAgPGRlZXMtY2hhcnQtYmFyCiAgICAgICAgICAgIGlkPSJ2ZXJ0LWNoYXJ0IgogICAgICAgICAgICAubGFiZWw9JHsiUmVxdWVzdHMgYnkgRW5kcG9pbnQifQogICAgICAgICAgICAuY2F0ZWdvcmllcz0ke2F9CiAgICAgICAgICAgIC5zZXJpZXM9JHtlfQogICAgICAgICAgICAudmFsdWVGb3JtYXR0ZXI9JHtpPT5gJHtpfSByZXFgfQogICAgICAgICAgPjwvZGVlcy1jaGFydC1iYXI+CgogICAgICAgICAgPGRlZXMtY2hhcnQtYmFyCiAgICAgICAgICAgIGlkPSJob3Jpei1jaGFydCIKICAgICAgICAgICAgLmxhYmVsPSR7IlRyYWZmaWMgYnkgUmVnaW9uIn0KICAgICAgICAgICAgLmNhdGVnb3JpZXM9JHt0fQogICAgICAgICAgICAuc2VyaWVzPSR7cn0KICAgICAgICAgICAgLmhvcml6b250YWw9JHshMH0KICAgICAgICAgICAgLnZhbHVlRm9ybWF0dGVyPSR7aT0+YCR7KGkvMWUzKS50b0ZpeGVkKDEpfWtgfQogICAgICAgICAgPjwvZGVlcy1jaGFydC1iYXI+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkZWVzLWNoYXJ0LWJhcgogICAgICAgICAgaWQ9InN0YWNrLWNoYXJ0IgogICAgICAgICAgLmxhYmVsPSR7IlN0YWNrZWQ6IFJlcXVlc3RzIGJ5IEVuZHBvaW50In0KICAgICAgICAgIC5jYXRlZ29yaWVzPSR7YX0KICAgICAgICAgIC5zZXJpZXM9JHtlfQogICAgICAgICAgLnN0YWNrZWQ9JHshMH0KICAgICAgICAgIC52YWx1ZUZvcm1hdHRlcj0ke2k9PmAke2l9IHJlcWB9CiAgICAgICAgPjwvZGVlcy1jaGFydC1iYXI+CgogICAgICAgIDxkaXYgY2xhc3M9ImluZm8iPgogICAgICAgICAgQmFyIGNoYXJ0IHdpdGggdmVydGljYWwsIGhvcml6b250YWwsIGFuZCBzdGFja2VkIG1vZGVzIOKAogogICAgICAgICAgQ2xpY2sgJ1JhbmRvbWl6ZScgdG8gdXBkYXRlIGRhdGEgd2l0aCBhbmltYXRpb24KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgYH0sImRlbW9GdW5jIil9KTt2YXIgUjQsZUc9ZigoKT0+e2xlKCk7UWUoKTtSND1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICA6aG9zdCB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBoZWlnaHQ6IDQwMHB4OwogICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnUm9ib3RvJywgc2Fucy1zZXJpZjsKICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgfQogICAgZGVlcy10aWxlIHsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgfQogICAgLmNoYXJ0SGVhZGVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICBwYWRkaW5nOiAwIDhweCAwIDE2cHg7CiAgICB9CiAgICAuY2hhcnRMYWJlbCB7CiAgICAgIGZsZXg6IDE7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgIH0KICAgIC5jaGFydENvbnRhaW5lciB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgaW5zZXQ6IDA7CiAgICB9CiAgYF19KTt2YXIgRGNhLEFjYT1mKCgpPT57bGUoKTtlRygpO0RjYT1bLi4uUjQsWGBgXX0pO3ZhciBFY2EsUGNhPWYoKCk9PntsZSgpO0VjYT1zKGE9PndgCiAgICA8ZGVlcy10aWxlPgogICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImNoYXJ0SGVhZGVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2hhcnRMYWJlbCI+JHthLmxhYmVsfTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0Q29udGFpbmVyIj48L2Rpdj4KICAgIDwvZGVlcy10aWxlPgogIGAsInJlbmRlckNoYXJ0QmFyIil9KTt2YXIgYjUscm4sSWNhLE1RZT1mKCgpPT57bGUoKTtKVygpOyRjYSgpO0FjYSgpO1BjYSgpO1ptKCk7YjU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHJuPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxJY2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLWNoYXJ0LWJhciIpXSxlLHQ9W10scixpPUFjLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdO3ZhciBPPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQ2hhcnRCYXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgVD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLGQ9WyQoe3R5cGU6QXJyYXl9KV0sdT1bJCh7dHlwZTpCb29sZWFufSldLHg9WyQoe3R5cGU6Qm9vbGVhbn0pXSx5PVskKHt0eXBlOkJvb2xlYW59KV0sTj1bJCh7YXR0cmlidXRlOiExfSldLGI1KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2F0ZWdvcmllcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4iY2F0ZWdvcmllcyJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLmNhdGVnb3JpZXMsImdldCIpLHNldDpzKChFLEIpPT57RS5jYXRlZ29yaWVzPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sbixsKSxiNSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlcmllcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4ic2VyaWVzImluIEUsImhhcyIpLGdldDpzKEU9PkUuc2VyaWVzLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0Uuc2VyaWVzPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sYyxwKSxiNSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imhvcml6b250YWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+Imhvcml6b250YWwiaW4gRSwiaGFzIiksZ2V0OnMoRT0+RS5ob3Jpem9udGFsLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UuaG9yaXpvbnRhbD1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LG0sdiksYjUodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGFja2VkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJzdGFja2VkImluIEUsImhhcyIpLGdldDpzKEU9PkUuc3RhY2tlZCwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLnN0YWNrZWQ9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxiLGcpLGI1KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0xlZ2VuZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4ic2hvd0xlZ2VuZCJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLnNob3dMZWdlbmQsImdldCIpLHNldDpzKChFLEIpPT57RS5zaG93TGVnZW5kPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sayxDKSxiNSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlRm9ybWF0dGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJ2YWx1ZUZvcm1hdHRlciJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLnZhbHVlRm9ybWF0dGVyLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UudmFsdWVGb3JtYXR0ZXI9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxfLHopLGI1KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlR9LG51bGwsdCksTz1yPWUudmFsdWUsVCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpUfSl9c3RhdGljIGRlbW89TGNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQ2hhcnQiXTsjZT1ybih0aGlzLG4sW10pO2dldCBjYXRlZ29yaWVzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGNhdGVnb3JpZXMoVCl7dGhpcy4jZT1UfSN0PShybih0aGlzLGwpLHJuKHRoaXMsYyxbXSkpO2dldCBzZXJpZXMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VyaWVzKFQpe3RoaXMuI3Q9VH0jYT0ocm4odGhpcyxwKSxybih0aGlzLG0sITEpKTtnZXQgaG9yaXpvbnRhbCgpe3JldHVybiB0aGlzLiNhfXNldCBob3Jpem9udGFsKFQpe3RoaXMuI2E9VH0jcj0ocm4odGhpcyx2KSxybih0aGlzLGIsITEpKTtnZXQgc3RhY2tlZCgpe3JldHVybiB0aGlzLiNyfXNldCBzdGFja2VkKFQpe3RoaXMuI3I9VH0jcz0ocm4odGhpcyxnKSxybih0aGlzLGssITApKTtnZXQgc2hvd0xlZ2VuZCgpe3JldHVybiB0aGlzLiNzfXNldCBzaG93TGVnZW5kKFQpe3RoaXMuI3M9VH0jaT0ocm4odGhpcyxDKSxybih0aGlzLF8sVD0+YCR7VH1gKSk7Z2V0IHZhbHVlRm9ybWF0dGVyKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHZhbHVlRm9ybWF0dGVyKFQpe3RoaXMuI2k9VH1zdGF0aWMgc3R5bGVzPURjYTtyZW5kZXIoKXtyZXR1cm4gRWNhKHRoaXMpfWFzeW5jIHVwZGF0ZWQoVCl7c3VwZXIudXBkYXRlZChUKSx0aGlzLmNoYXJ0SW5zdGFuY2UmJihULmhhcygiY2F0ZWdvcmllcyIpfHxULmhhcygic2VyaWVzIil8fFQuaGFzKCJob3Jpem9udGFsIil8fFQuaGFzKCJzdGFja2VkIil8fFQuaGFzKCJzaG93TGVnZW5kIikpJiZ0aGlzLnVwZGF0ZUNoYXJ0KCl9YnVpbGRPcHRpb24oKXtsZXQgVD1ONCh0aGlzLmdvQnJpZ2h0KSxFPVA0KHRoaXMuZ29CcmlnaHQpLEI9dGhpcy52YWx1ZUZvcm1hdHRlcixNPXt0eXBlOiJjYXRlZ29yeSIsZGF0YTp0aGlzLmNhdGVnb3JpZXMsYXhpc0xpbmU6e2xpbmVTdHlsZTp7Y29sb3I6VC5ib3JkZXJTdHJvbmd9fSxheGlzTGFiZWw6e2NvbG9yOlQudGV4dE11dGVkfX0sUz17dHlwZToidmFsdWUiLGF4aXNMaW5lOntzaG93OiExfSxheGlzTGFiZWw6e2NvbG9yOlQudGV4dE11dGVkLGZvcm1hdHRlcjpzKEc9PkIoRyksImZvcm1hdHRlciIpfSxzcGxpdExpbmU6e2xpbmVTdHlsZTp7Y29sb3I6VC5ib3JkZXJTdWJ0bGV9fX0sUD10aGlzLmdvQnJpZ2h0Py4xNTouMjUsQT10aGlzLmhvcml6b250YWw/WzAsNCw0LDBdOls0LDQsMCwwXSxGPVswLDAsMCwwXSxXPVtdLGo9dGhpcy5zZXJpZXMubWFwKChHLGhlKT0+e2xldCBSPUcuY29sb3J8fEVbaGUlRS5sZW5ndGhdO3JldHVybiBXLnB1c2goe25hbWU6Ry5uYW1lLGl0ZW1TdHlsZTp7Y29sb3I6Un19KSx7bmFtZTpHLm5hbWUsdHlwZToiYmFyIixkYXRhOkcuZGF0YSxzdGFjazp0aGlzLnN0YWNrZWQ/InRvdGFsIjp2b2lkIDAsaXRlbVN0eWxlOntjb2xvcjpJNChSLFApLGJvcmRlckNvbG9yOlIsYm9yZGVyV2lkdGg6MSxib3JkZXJSYWRpdXM6dGhpcy5zdGFja2VkP0Y6QX0sYmFyTWF4V2lkdGg6NDAsYmFyR2FwOiIyMCUiLGVtcGhhc2lzOntpdGVtU3R5bGU6e2NvbG9yOkk0KFIsUCsuMTUpLGJvcmRlckNvbG9yOlIsYm9yZGVyV2lkdGg6MS41fX19fSk7aWYodGhpcy5zdGFja2VkJiZqLmxlbmd0aD4wKXtsZXQgRz1qW2oubGVuZ3RoLTFdO0cuaXRlbVN0eWxlLmJvcmRlclJhZGl1cz1BfXJldHVybnt0b29sdGlwOnt0cmlnZ2VyOiJheGlzIixheGlzUG9pbnRlcjp7dHlwZToic2hhZG93In0sZm9ybWF0dGVyOnMoRz0+e2xldCBoZT1BcnJheS5pc0FycmF5KEcpP0c6W0ddLFI9YDxzdHJvbmc+JHtoZVswXS5heGlzVmFsdWVMYWJlbH08L3N0cm9uZz48YnIvPmA7Zm9yKGxldCBVIG9mIGhlKXtsZXQgST1gPHNwYW4gc3R5bGU9ImRpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMHB4O3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7YmFja2dyb3VuZC1jb2xvcjoke1UuYm9yZGVyQ29sb3J8fFUuY29sb3J9OyI+PC9zcGFuPmA7Uis9YCR7SX0ke1Uuc2VyaWVzTmFtZX06IDxzdHJvbmc+JHtCKFUudmFsdWUpfTwvc3Ryb25nPjxici8+YH1yZXR1cm4gUn0sImZvcm1hdHRlciIpfSxsZWdlbmQ6dGhpcy5zaG93TGVnZW5kJiZ0aGlzLnNlcmllcy5sZW5ndGg+MT97Ym90dG9tOjgsaXRlbVdpZHRoOjEwLGl0ZW1IZWlnaHQ6MTAsZGF0YTpXfTp7c2hvdzohMX0sZ3JpZDp7bGVmdDoxNixyaWdodDoxNix0b3A6MTYsYm90dG9tOnRoaXMuc2hvd0xlZ2VuZCYmdGhpcy5zZXJpZXMubGVuZ3RoPjE/NDA6MTYsY29udGFpbkxhYmVsOiEwfSx4QXhpczp0aGlzLmhvcml6b250YWw/UzpNLHlBeGlzOnRoaXMuaG9yaXpvbnRhbD9NOlMsc2VyaWVzOmp9fWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxybih0aGlzLHopfXN0YXRpY3tybihyLHQpfX07cmV0dXJuIE89cn0pKCl9KTt2YXIgTmNhPWYoKCk9PntNUWUoKX0pO3ZhciBSY2EsT2NhPWYoKCk9PntsZSgpO05hKCk7a1FlKCk7UmNhPXMoKCk9PntsZXQgYT1be25hbWU6IkRvY3VtZW50cyIsdmFsdWU6NDJ9LHtuYW1lOiJNZWRpYSIsdmFsdWU6Mjh9LHtuYW1lOiJBcHBsaWNhdGlvbnMiLHZhbHVlOjE1fSx7bmFtZToiU3lzdGVtIix2YWx1ZToxMH0se25hbWU6Ik90aGVyIix2YWx1ZTo1fV0sZT1be25hbWU6IkhlYWx0aHkiLHZhbHVlOjE1Nn0se25hbWU6Ildhcm5pbmciLHZhbHVlOjIzfSx7bmFtZToiQ3JpdGljYWwiLHZhbHVlOjh9LHtuYW1lOiJVbmtub3duIix2YWx1ZTozfV0sdD1be25hbWU6IkFQSSIsdmFsdWU6NDUyMDB9LHtuYW1lOiJTdGF0aWMgQXNzZXRzIix2YWx1ZToyMzEwMH0se25hbWU6IldlYlNvY2tldCIsdmFsdWU6MTI4MDB9LHtuYW1lOiJHcmFwaFFMIix2YWx1ZTo4OTAwfV07cmV0dXJuIHdgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyByPT57bGV0IGk9ci5xdWVyeVNlbGVjdG9yKCIjZGlzay1jaGFydCIpLG89ci5xdWVyeVNlbGVjdG9yKCIjc3RhdHVzLWNoYXJ0Iiksbj1yLnF1ZXJ5U2VsZWN0b3IoIiN0cmFmZmljLWNoYXJ0Iik7ci5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2goZD0+e2QudGV4dD8udHJpbSgpPT09IlJhbmRvbWl6ZSImJmQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57aS5kYXRhPWEubWFwKHA9Pih7Li4ucCx2YWx1ZTpNYXRoLnJvdW5kKHAudmFsdWUqKC41K01hdGgucmFuZG9tKCkpKX0pKSxvLmRhdGE9ZS5tYXAocD0+KHsuLi5wLHZhbHVlOk1hdGgucm91bmQocC52YWx1ZSooLjMrTWF0aC5yYW5kb20oKSoxLjQpKX0pKSxuLmRhdGE9dC5tYXAocD0+KHsuLi5wLHZhbHVlOk1hdGgucm91bmQocC52YWx1ZSooLjUrTWF0aC5yYW5kb20oKSkpfSkpfSl9KX19PgogICAgICA8c3R5bGU+CiAgICAgICAgJHtYYAogICAgICAgICAgLmRlbW9Cb3ggewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICB9CiAgICAgICAgICAuY2hhcnRSb3cgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIH0KICAgICAgICAgIC5jb250cm9scyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgfQogICAgICAgICAgLmluZm8gewogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICAgICAgfQogICAgICAgIGB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW9Cb3giPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iQWN0aW9uczoiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+UmFuZG9taXplPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0Um93Ij4KICAgICAgICAgIDxkZWVzLWNoYXJ0LWRvbnV0CiAgICAgICAgICAgIGlkPSJkaXNrLWNoYXJ0IgogICAgICAgICAgICAubGFiZWw9JHsiRGlzayBVc2FnZSAoR0IpIn0KICAgICAgICAgICAgLmRhdGE9JHthfQogICAgICAgICAgICAudmFsdWVGb3JtYXR0ZXI9JHtyPT5gJHtyfSBHQmB9CiAgICAgICAgICA+PC9kZWVzLWNoYXJ0LWRvbnV0PgoKICAgICAgICAgIDxkZWVzLWNoYXJ0LWRvbnV0CiAgICAgICAgICAgIGlkPSJzdGF0dXMtY2hhcnQiCiAgICAgICAgICAgIC5sYWJlbD0keyJTZXJ2aWNlIFN0YXR1cyJ9CiAgICAgICAgICAgIC5kYXRhPSR7ZX0KICAgICAgICAgICAgLnZhbHVlRm9ybWF0dGVyPSR7cj0+YCR7cn0gc2VydmljZXNgfQogICAgICAgICAgICAuaW5uZXJSYWRpdXNQZXJjZW50PSR7IjAlIn0KICAgICAgICAgID48L2RlZXMtY2hhcnQtZG9udXQ+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkZWVzLWNoYXJ0LWRvbnV0CiAgICAgICAgICBpZD0idHJhZmZpYy1jaGFydCIKICAgICAgICAgIC5sYWJlbD0keyJUcmFmZmljIERpc3RyaWJ1dGlvbiJ9CiAgICAgICAgICAuZGF0YT0ke3R9CiAgICAgICAgICAudmFsdWVGb3JtYXR0ZXI9JHtyPT5gJHsoci8xZTMpLnRvRml4ZWQoMSl9ayByZXFgfQogICAgICAgID48L2RlZXMtY2hhcnQtZG9udXQ+CgogICAgICAgIDxkaXYgY2xhc3M9ImluZm8iPgogICAgICAgICAgRG9udXQgY2hhcnQgd2l0aCBjb25maWd1cmFibGUgaW5uZXIgcmFkaXVzIChzZXQgdG8gMCUgZm9yIGZ1bGwgcGllKSDigKIKICAgICAgICAgIENsaWNrICdSYW5kb21pemUnIHRvIHVwZGF0ZSBkYXRhIHdpdGggYW5pbWF0aW9uCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGB9LCJkZW1vRnVuYyIpfSk7dmFyIEZjYSxCY2E9ZigoKT0+e2xlKCk7ZUcoKTtGY2E9Wy4uLlI0LFhgCiAgICA6aG9zdCB7CiAgICAgIGhlaWdodDogMzYwcHg7CiAgICB9CiAgICAuY2hhcnRDb250YWluZXIgewogICAgICBpbnNldDogMTJweCAwOwogICAgfQogIGBdfSk7dmFyIEhjYSxxY2E9ZigoKT0+e2xlKCk7SGNhPXMoYT0+d2AKICAgIDxkZWVzLXRpbGU+CiAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2hhcnRIZWFkZXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJjaGFydExhYmVsIj4ke2EubGFiZWx9PC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY2hhcnRDb250YWluZXIiPjwvZGl2PgogICAgPC9kZWVzLXRpbGU+CiAgYCwicmVuZGVyQ2hhcnREb251dCIpfSk7dmFyIFhtLFYxLFZjYSxrUWU9ZigoKT0+e2xlKCk7SlcoKTtPY2EoKTtCY2EoKTtxY2EoKTtabSgpO1htPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxWMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sVmNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1jaGFydC1kb251dCIpXSxlLHQ9W10scixpPUFjLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdO3ZhciBOPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQ2hhcnREb251dCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBfPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpCb29sZWFufSldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHthdHRyaWJ1dGU6ITF9KV0sWG0odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkYXRhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJkYXRhImluIHosImhhcyIpLGdldDpzKHo9PnouZGF0YSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmRhdGE9T30sInNldCIpfSxtZXRhZGF0YTpffSxuLGwpLFhtKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0xlZ2VuZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4ic2hvd0xlZ2VuZCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnNob3dMZWdlbmQsImdldCIpLHNldDpzKCh6LE8pPT57ei5zaG93TGVnZW5kPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYyxwKSxYbSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dMYWJlbHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNob3dMYWJlbHMiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5zaG93TGFiZWxzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc2hvd0xhYmVscz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG0sdiksWG0odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbm5lclJhZGl1c1BlcmNlbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImlubmVyUmFkaXVzUGVyY2VudCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmlubmVyUmFkaXVzUGVyY2VudCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmlubmVyUmFkaXVzUGVyY2VudD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGIsZyksWG0odGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZUZvcm1hdHRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4idmFsdWVGb3JtYXR0ZXIiaW4geiwiaGFzIiksZ2V0OnMoej0+ei52YWx1ZUZvcm1hdHRlciwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnZhbHVlRm9ybWF0dGVyPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sayxDKSxYbShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpffSxudWxsLHQpLE49cj1lLnZhbHVlLF8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6X30pfXN0YXRpYyBkZW1vPVJjYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkNoYXJ0Il07I2U9VjEodGhpcyxuLFtdKTtnZXQgZGF0YSgpe3JldHVybiB0aGlzLiNlfXNldCBkYXRhKF8pe3RoaXMuI2U9X30jdD0oVjEodGhpcyxsKSxWMSh0aGlzLGMsITApKTtnZXQgc2hvd0xlZ2VuZCgpe3JldHVybiB0aGlzLiN0fXNldCBzaG93TGVnZW5kKF8pe3RoaXMuI3Q9X30jYT0oVjEodGhpcyxwKSxWMSh0aGlzLG0sITApKTtnZXQgc2hvd0xhYmVscygpe3JldHVybiB0aGlzLiNhfXNldCBzaG93TGFiZWxzKF8pe3RoaXMuI2E9X30jcj0oVjEodGhpcyx2KSxWMSh0aGlzLGIsIjU1JSIpKTtnZXQgaW5uZXJSYWRpdXNQZXJjZW50KCl7cmV0dXJuIHRoaXMuI3J9c2V0IGlubmVyUmFkaXVzUGVyY2VudChfKXt0aGlzLiNyPV99I3M9KFYxKHRoaXMsZyksVjEodGhpcyxrLF89PmAke199YCkpO2dldCB2YWx1ZUZvcm1hdHRlcigpe3JldHVybiB0aGlzLiNzfXNldCB2YWx1ZUZvcm1hdHRlcihfKXt0aGlzLiNzPV99c3RhdGljIHN0eWxlcz1GY2E7cmVuZGVyKCl7cmV0dXJuIEhjYSh0aGlzKX1hc3luYyB1cGRhdGVkKF8pe3N1cGVyLnVwZGF0ZWQoXyksdGhpcy5jaGFydEluc3RhbmNlJiYoXy5oYXMoImRhdGEiKXx8Xy5oYXMoInNob3dMZWdlbmQiKXx8Xy5oYXMoInNob3dMYWJlbHMiKXx8Xy5oYXMoImlubmVyUmFkaXVzUGVyY2VudCIpKSYmdGhpcy51cGRhdGVDaGFydCgpfWJ1aWxkT3B0aW9uKCl7bGV0IF89TjQodGhpcy5nb0JyaWdodCksej1QNCh0aGlzLmdvQnJpZ2h0KSxPPXRoaXMuZ29CcmlnaHQ/LjE1Oi4yLFQ9W10sRT10aGlzLmRhdGEubWFwKChNLFMpPT57bGV0IFA9TS5jb2xvcnx8eltTJXoubGVuZ3RoXTtyZXR1cm4gVC5wdXNoKHtuYW1lOk0ubmFtZSxpdGVtU3R5bGU6e2NvbG9yOlB9fSkse25hbWU6TS5uYW1lLHZhbHVlOk0udmFsdWUsaXRlbVN0eWxlOntjb2xvcjpJNChQLE8pLGJvcmRlckNvbG9yOlAsYm9yZGVyV2lkdGg6MX0sZW1waGFzaXM6e2l0ZW1TdHlsZTp7Y29sb3I6STQoUCxPKy4xNSksYm9yZGVyQ29sb3I6UCxib3JkZXJXaWR0aDoxLjV9fX19KSxCPXRoaXMudmFsdWVGb3JtYXR0ZXI7cmV0dXJue3Rvb2x0aXA6e3RyaWdnZXI6Iml0ZW0iLGZvcm1hdHRlcjpzKE09PmAke2A8c3BhbiBzdHlsZT0iZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXJpZ2h0OjRweDtib3JkZXItcmFkaXVzOjEwcHg7d2lkdGg6MTBweDtoZWlnaHQ6MTBweDtiYWNrZ3JvdW5kLWNvbG9yOiR7TS5kYXRhPy5pdGVtU3R5bGU/LmJvcmRlckNvbG9yfHxNLmNvbG9yfTsiPjwvc3Bhbj5gfSR7TS5uYW1lfTogPHN0cm9uZz4ke0IoTS52YWx1ZSl9PC9zdHJvbmc+ICgke00ucGVyY2VudH0lKWAsImZvcm1hdHRlciIpfSxsZWdlbmQ6dGhpcy5zaG93TGVnZW5kP3tvcmllbnQ6InZlcnRpY2FsIixyaWdodDoxNix0b3A6ImNlbnRlciIsaXRlbVdpZHRoOjEwLGl0ZW1IZWlnaHQ6MTAsaXRlbUdhcDoxMixkYXRhOlQsZm9ybWF0dGVyOnMoTT0+e2xldCBTPXRoaXMuZGF0YS5maW5kKFA9PlAubmFtZT09PU0pO3JldHVybiBTP2Ake019ICAke0IoUy52YWx1ZSl9YDpNfSwiZm9ybWF0dGVyIil9OntzaG93OiExfSxzZXJpZXM6W3t0eXBlOiJwaWUiLHJhZGl1czpbdGhpcy5pbm5lclJhZGl1c1BlcmNlbnQsIjg1JSJdLGNlbnRlcjp0aGlzLnNob3dMZWdlbmQ/WyIzNSUiLCI1MCUiXTpbIjUwJSIsIjUwJSJdLGF2b2lkTGFiZWxPdmVybGFwOiEwLHBhZEFuZ2xlOjIsaXRlbVN0eWxlOntib3JkZXJSYWRpdXM6NH0sbGFiZWw6dGhpcy5zaG93TGFiZWxzP3tzaG93OiEwLGZvcm1hdHRlcjoie2J9OiB7ZH0lIixmb250U2l6ZToxMSxjb2xvcjpfLnRleHRTZWNvbmRhcnksdGV4dEJvcmRlckNvbG9yOiJ0cmFuc3BhcmVudCJ9OntzaG93OiExfSxkYXRhOkV9XX19Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFYxKHRoaXMsQyl9c3RhdGlje1YxKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBqY2E9ZigoKT0+e2tRZSgpfSk7dmFyIFVjYSxXY2E9ZigoKT0+e2xlKCk7TmEoKTtTUWUoKTtVY2E9cygoKT0+e2xldCBhPVt7dmFsdWU6NjAsY29sb3I6ImhzbCgxNDIgNzYlIDM2JSkifSx7dmFsdWU6ODAsY29sb3I6ImhzbCgzOCA5MiUgNTAlKSJ9LHt2YWx1ZToxMDAsY29sb3I6ImhzbCgwIDcyJSA1MCUpIn1dO3JldHVybiB3YAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2xldCB0PWUucXVlcnlTZWxlY3RvcigiI2NwdS1nYXVnZSIpLHI9ZS5xdWVyeVNlbGVjdG9yKCIjbWVtLWdhdWdlIiksaT1lLnF1ZXJ5U2VsZWN0b3IoIiNzbGEtZ2F1Z2UiKSxvPW51bGw7ZS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2gobD0+e2xldCBkPWwudGV4dD8udHJpbSgpO2Q9PT0iQW5pbWF0ZSI/bC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntvfHwobz13aW5kb3cuc2V0SW50ZXJ2YWwoKCk9Pnt0LnZhbHVlPU1hdGgucm91bmQoMzArTWF0aC5yYW5kb20oKSo2MCksci52YWx1ZT1NYXRoLnJvdW5kKDQwK01hdGgucmFuZG9tKCkqNTApLGkudmFsdWU9TWF0aC5yb3VuZCgoOTUrTWF0aC5yYW5kb20oKSo1KSoxMDApLzEwMH0sMmUzKSl9KTpkPT09IlN0b3AiP2wuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57byYmKHdpbmRvdy5jbGVhckludGVydmFsKG8pLG89bnVsbCl9KTpkPT09IlNwaWtlIiYmbC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pnt0LnZhbHVlPTk1LHIudmFsdWU9ODgsaS52YWx1ZT05Ni41fSl9KX19PgogICAgICA8c3R5bGU+CiAgICAgICAgJHtYYAogICAgICAgICAgLmRlbW9Cb3ggewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICB9CiAgICAgICAgICAuZ2F1Z2VSb3cgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyOwogICAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICB9CiAgICAgICAgICAuY29udHJvbHMgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICAgIH0KICAgICAgICAgIC5pbmZvIHsKICAgICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgICAgIH0KICAgICAgICBgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vQm94Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9scyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IkFjdGlvbnM6Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkFuaW1hdGU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+U3RvcDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5TcGlrZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJnYXVnZVJvdyI+CiAgICAgICAgICA8ZGVlcy1jaGFydC1nYXVnZQogICAgICAgICAgICBpZD0iY3B1LWdhdWdlIgogICAgICAgICAgICAubGFiZWw9JHsiQ1BVIFVzYWdlIn0KICAgICAgICAgICAgLnZhbHVlPSR7NDJ9CiAgICAgICAgICAgIC51bml0PSR7IiUifQogICAgICAgICAgICAudGhyZXNob2xkcz0ke2F9CiAgICAgICAgICA+PC9kZWVzLWNoYXJ0LWdhdWdlPgoKICAgICAgICAgIDxkZWVzLWNoYXJ0LWdhdWdlCiAgICAgICAgICAgIGlkPSJtZW0tZ2F1Z2UiCiAgICAgICAgICAgIC5sYWJlbD0keyJNZW1vcnkgVXNhZ2UifQogICAgICAgICAgICAudmFsdWU9JHs2N30KICAgICAgICAgICAgLnVuaXQ9JHsiJSJ9CiAgICAgICAgICAgIC50aHJlc2hvbGRzPSR7YX0KICAgICAgICAgID48L2RlZXMtY2hhcnQtZ2F1Z2U+CgogICAgICAgICAgPGRlZXMtY2hhcnQtZ2F1Z2UKICAgICAgICAgICAgaWQ9InNsYS1nYXVnZSIKICAgICAgICAgICAgLmxhYmVsPSR7IlNMQSBVcHRpbWUifQogICAgICAgICAgICAudmFsdWU9JHs5OS44fQogICAgICAgICAgICAubWluPSR7OTV9CiAgICAgICAgICAgIC5tYXg9JHsxMDB9CiAgICAgICAgICAgIC51bml0PSR7IiUifQogICAgICAgICAgICAuc2hvd1RpY2tzPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWNoYXJ0LWdhdWdlPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvIj4KICAgICAgICAgIEdhdWdlIGNoYXJ0IHdpdGggYW5pbWF0ZWQgdmFsdWUgdHJhbnNpdGlvbnMgYW5kIHRocmVzaG9sZCBjb2xvcmluZyDigKIKICAgICAgICAgIENsaWNrICdBbmltYXRlJyBmb3IgbGl2ZSB1cGRhdGVzLCAnU3Bpa2UnIHRvIHNpbXVsYXRlIGhpZ2ggbG9hZAogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICBgfSwiZGVtb0Z1bmMiKX0pO3ZhciBHY2EsWWNhPWYoKCk9PntsZSgpO2VHKCk7R2NhPVsuLi5SNCxYYAogICAgOmhvc3QgewogICAgICBoZWlnaHQ6IDMyMHB4OwogICAgfQogIGBdfSk7dmFyIEtjYSxaY2E9ZigoKT0+e2xlKCk7S2NhPXMoYT0+d2AKICAgIDxkZWVzLXRpbGU+CiAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2hhcnRIZWFkZXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJjaGFydExhYmVsIj4ke2EubGFiZWx9PC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY2hhcnRDb250YWluZXIiPjwvZGl2PgogICAgPC9kZWVzLXRpbGU+CiAgYCwicmVuZGVyQ2hhcnRHYXVnZSIpfSk7dmFyIHY1LHNuLFhjYSxTUWU9ZigoKT0+e2xlKCk7SlcoKTtXY2EoKTtZY2EoKTtaY2EoKTtabSgpO3Y1PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxzbj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sWGNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1jaGFydC1nYXVnZSIpXSxlLHQ9W10scixpPUFjLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdO3ZhciBPPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQ2hhcnRHYXVnZSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBUPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6TnVtYmVyfSldLGQ9WyQoe3R5cGU6TnVtYmVyfSldLHU9WyQoe3R5cGU6TnVtYmVyfSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLHk9WyQoe3R5cGU6QXJyYXl9KV0sTj1bJCh7dHlwZTpCb29sZWFufSldLHY1KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+InZhbHVlImluIEUsImhhcyIpLGdldDpzKEU9PkUudmFsdWUsImdldCIpLHNldDpzKChFLEIpPT57RS52YWx1ZT1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LG4sbCksdjUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtaW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+Im1pbiJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLm1pbiwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLm1pbj1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LGMscCksdjUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+Im1heCJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLm1heCwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLm1heD1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LG0sdiksdjUodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ1bml0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJ1bml0ImluIEUsImhhcyIpLGdldDpzKEU9PkUudW5pdCwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLnVuaXQ9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxiLGcpLHY1KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGhyZXNob2xkcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4idGhyZXNob2xkcyJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLnRocmVzaG9sZHMsImdldCIpLHNldDpzKChFLEIpPT57RS50aHJlc2hvbGRzPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sayxDKSx2NSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dUaWNrcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4ic2hvd1RpY2tzImluIEUsImhhcyIpLGdldDpzKEU9PkUuc2hvd1RpY2tzLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0Uuc2hvd1RpY2tzPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sXyx6KSx2NShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpUfSxudWxsLHQpLE89cj1lLnZhbHVlLFQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6VH0pfXN0YXRpYyBkZW1vPVVjYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkNoYXJ0Il07I2U9c24odGhpcyxuLDApO2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLiNlfXNldCB2YWx1ZShUKXt0aGlzLiNlPVR9I3Q9KHNuKHRoaXMsbCksc24odGhpcyxjLDApKTtnZXQgbWluKCl7cmV0dXJuIHRoaXMuI3R9c2V0IG1pbihUKXt0aGlzLiN0PVR9I2E9KHNuKHRoaXMscCksc24odGhpcyxtLDEwMCkpO2dldCBtYXgoKXtyZXR1cm4gdGhpcy4jYX1zZXQgbWF4KFQpe3RoaXMuI2E9VH0jcj0oc24odGhpcyx2KSxzbih0aGlzLGIsIiUiKSk7Z2V0IHVuaXQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdW5pdChUKXt0aGlzLiNyPVR9I3M9KHNuKHRoaXMsZyksc24odGhpcyxrLFtdKSk7Z2V0IHRocmVzaG9sZHMoKXtyZXR1cm4gdGhpcy4jc31zZXQgdGhyZXNob2xkcyhUKXt0aGlzLiNzPVR9I2k9KHNuKHRoaXMsQyksc24odGhpcyxfLCEwKSk7Z2V0IHNob3dUaWNrcygpe3JldHVybiB0aGlzLiNpfXNldCBzaG93VGlja3MoVCl7dGhpcy4jaT1UfXN0YXRpYyBzdHlsZXM9R2NhO3JlbmRlcigpe3JldHVybiBLY2EodGhpcyl9YXN5bmMgdXBkYXRlZChUKXtzdXBlci51cGRhdGVkKFQpLHRoaXMuY2hhcnRJbnN0YW5jZSYmKFQuaGFzKCJ2YWx1ZSIpfHxULmhhcygibWluIil8fFQuaGFzKCJtYXgiKXx8VC5oYXMoInVuaXQiKXx8VC5oYXMoInRocmVzaG9sZHMiKXx8VC5oYXMoInNob3dUaWNrcyIpKSYmdGhpcy51cGRhdGVDaGFydCgpfWJ1aWxkT3B0aW9uKCl7bGV0IFQ9TjQodGhpcy5nb0JyaWdodCksQj1QNCh0aGlzLmdvQnJpZ2h0KVswXSxNO2lmKHRoaXMudGhyZXNob2xkcy5sZW5ndGg+MCl7bGV0IFM9Wy4uLnRoaXMudGhyZXNob2xkc10uc29ydCgoUCxBKT0+UC52YWx1ZS1BLnZhbHVlKTtNPVMubWFwKFA9PlsoUC52YWx1ZS10aGlzLm1pbikvKHRoaXMubWF4LXRoaXMubWluKSxQLmNvbG9yXSksTVtNLmxlbmd0aC0xXVswXTwxJiZNLnB1c2goWzEsU1tTLmxlbmd0aC0xXS5jb2xvcl0pfWVsc2UgTT1bWzEsQl1dO3JldHVybntzZXJpZXM6W3t0eXBlOiJnYXVnZSIsbWluOnRoaXMubWluLG1heDp0aGlzLm1heCxzdGFydEFuZ2xlOjIyMCxlbmRBbmdsZTotNDAscHJvZ3Jlc3M6e3Nob3c6ITAsd2lkdGg6MTQscm91bmRDYXA6ITB9LHBvaW50ZXI6e3Nob3c6ITAsbGVuZ3RoOiI2MCUiLHdpZHRoOjUsaXRlbVN0eWxlOntjb2xvcjoiYXV0byJ9fSxheGlzTGluZTp7bGluZVN0eWxlOnt3aWR0aDoxNCxjb2xvcjpNLG9wYWNpdHk6LjN9fSxheGlzVGljazp7c2hvdzp0aGlzLnNob3dUaWNrcyxkaXN0YW5jZTotMjAsbGVuZ3RoOjYsbGluZVN0eWxlOntjb2xvcjpULmJvcmRlclN0cm9uZyx3aWR0aDoxfX0sc3BsaXRMaW5lOntzaG93OnRoaXMuc2hvd1RpY2tzLGRpc3RhbmNlOi0yNCxsZW5ndGg6MTAsbGluZVN0eWxlOntjb2xvcjpULnRleHRNdXRlZCx3aWR0aDoyfX0sYXhpc0xhYmVsOntzaG93OnRoaXMuc2hvd1RpY2tzLGRpc3RhbmNlOjMwLGNvbG9yOlQudGV4dE11dGVkLGZvbnRTaXplOjExfSxkZXRhaWw6e3ZhbHVlQW5pbWF0aW9uOiEwLGZvbnRTaXplOjI4LGZvbnRXZWlnaHQ6NjAwLG9mZnNldENlbnRlcjpbMCwiNjUlIl0sY29sb3I6VC50ZXh0UHJpbWFyeSxmb3JtYXR0ZXI6YHt2YWx1ZX0ke3RoaXMudW5pdH1gfSx0aXRsZTp7c2hvdzohMX0sZGF0YTpbe3ZhbHVlOnRoaXMudmFsdWV9XX1dfX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksc24odGhpcyx6KX1zdGF0aWN7c24ocix0KX19O3JldHVybiBPPXJ9KSgpfSk7dmFyIFFjYT1mKCgpPT57U1FlKCl9KTt2YXIgSmNhLGUwYT1mKCgpPT57bGUoKTtOYSgpO0pjYT1zKCgpPT53YAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcigiI3N0cnVjdHVyZWQtbG9nIiksdD1hLnF1ZXJ5U2VsZWN0b3IoIiNyYXctbG9nIikscixpLG89WyJTZXJ2ZXIiLCJEYXRhYmFzZSIsIkFQSSIsIkF1dGgiLCJDYWNoZSIsIlF1ZXVlIiwiV2ViU29ja2V0IiwiU2NoZWR1bGVyIl0sbj17ZGVidWc6WyJMb2FkaW5nIG1vZHVsZToge3ttb2R1bGV9fSIsIkNhY2hlIGhpdCBmb3Iga2V5OiB7e2tleX19IiwiU1FMIHF1ZXJ5IGV4ZWN1dGVkIGluIHt7dGltZX19bXMiLCJSZXF1ZXN0IGhlYWRlcnM6IHt7aGVhZGVyc319IiwiRW52aXJvbm1lbnQgdmFyaWFibGUgbG9hZGVkOiB7e3Zhcn19Il0saW5mbzpbIlJlcXVlc3QgcmVjZWl2ZWQ6IHt7bWV0aG9kfX0ge3twYXRofX0iLCJVc2VyIHt7dXNlcklkfX0gYXV0aGVudGljYXRlZCBzdWNjZXNzZnVsbHkiLCJQcm9jZXNzaW5nIGpvYiB7e2pvYklkfX0gZnJvbSBxdWV1ZSIsJ1NjaGVkdWxlZCB0YXNrICJ7e3Rhc2t9fSIgc3RhcnRlZCcsIldlYlNvY2tldCBjb25uZWN0aW9uIGVzdGFibGlzaGVkIGZyb20ge3tpcH19Il0sd2FybjpbIlNsb3cgcXVlcnkgZGV0ZWN0ZWQ6IHt7cXVlcnl9fSAoe3t0aW1lfX1tcykiLCJNZW1vcnkgdXNhZ2UgYXQge3twZXJjZW50fX0lIiwiUmF0ZSBsaW1pdCBhcHByb2FjaGluZyBmb3IgSVAge3tpcH19IiwiRGVwcmVjYXRlZCBBUEkgZW5kcG9pbnQgY2FsbGVkOiB7e2VuZHBvaW50fX0iLCJDZXJ0aWZpY2F0ZSBleHBpcmVzIGluIHt7ZGF5c319IGRheXMiXSxlcnJvcjpbIkRhdGFiYXNlIGNvbm5lY3Rpb24gbG9zdDoge3tlcnJvcn19IiwiRmFpbGVkIHRvIHByb2Nlc3MgcmVxdWVzdDoge3tlcnJvcn19IiwiQXV0aGVudGljYXRpb24gZmFpbGVkIGZvciB1c2VyIHt7dXNlcn19IiwiRmlsZSBub3QgZm91bmQ6IHt7cGF0aH19IiwiU2VydmljZSB1bmF2YWlsYWJsZToge3tzZXJ2aWNlfX0iXSxzdWNjZXNzOlsiU2VydmVyIHN0YXJ0ZWQgc3VjY2Vzc2Z1bGx5IG9uIHBvcnQge3twb3J0fX0iLCJEYXRhYmFzZSBtaWdyYXRpb24gY29tcGxldGVkIiwiQmFja3VwIGNvbXBsZXRlZDoge3tzaXplfX0gTUIiLCJTU0wgY2VydGlmaWNhdGUgcmVuZXdlZCIsIkhlYWx0aCBjaGVjayBwYXNzZWQ6IGFsbCBzeXN0ZW1zIG9wZXJhdGlvbmFsIl19LGw9WyJceDFCWzkwbTIwMjQtMDEtMTVUMTA6MjM6NDUuMTIzWlx4MUJbMG0gXHgxQlszNm1JTkZPXHgxQlswbSAgW25naW54XSBHRVQgL2FwaS9oZWFsdGggMjAwIC0gMm1zIiwiXHgxQls5MG0yMDI0LTAxLTE1VDEwOjIzOjQ1LjQ1NlpceDFCWzBtIFx4MUJbMzNtV0FSTlx4MUJbMG0gIFtyZWRpc10gQ29ubmVjdGlvbiBwb29sIHJ1bm5pbmcgbG93OiAzLzEwIiwiXHgxQls5MG0yMDI0LTAxLTE1VDEwOjIzOjQ1Ljc4OVpceDFCWzBtIFx4MUJbMzFtRVJST1JceDFCWzBtIFttb25nb2RiXSBRdWVyeSB0aW1lb3V0IGFmdGVyIDMwMDAwbXMiLCJceDFCWzkwbTIwMjQtMDEtMTVUMTA6MjM6NDYuMDEyWlx4MUJbMG0gXHgxQlszNm1JTkZPXHgxQlswbSAgW2FwcF0gUHJvY2Vzc2luZyBiYXRjaCBqb2IgI3t7am9iSWR9fSIsIlx4MUJbOTBtMjAyNC0wMS0xNVQxMDoyMzo0Ni4zNDVaXHgxQlswbSBceDFCWzMybU9LXHgxQlswbSAgICBbaGVhbHRoXSBBbGwgc2VydmljZXMgaGVhbHRoeSIsIlx4MUJbOTBtMjAyNC0wMS0xNVQxMDoyMzo0Ni42NzhaXHgxQlswbSBceDFCWzM2bUlORk9ceDFCWzBtICBba2Fma2FdIE1lc3NhZ2UgY29uc3VtZWQgZnJvbSB0b3BpYzogZXZlbnRzIiwiXHgxQls5MG0yMDI0LTAxLTE1VDEwOjIzOjQ3LjAwMVpceDFCWzBtIFx4MUJbMzVtREVCVUdceDFCWzBtIFtncnBjXSBSZXF1ZXN0IHJlY2VpdmVkOiBHZXRVc2VyKGlkPXt7dXNlcklkfX0pIiwiXHgxQls5MG0yMDI0LTAxLTE1VDEwOjIzOjQ3LjIzNFpceDFCWzBtIFx4MUJbMzFtRVJST1JceDFCWzBtIFthdXRoXSBUb2tlbiB2YWxpZGF0aW9uIGZhaWxlZDogZXhwaXJlZCIsIlx4MUJbOTBtMjAyNC0wMS0xNVQxMDoyMzo0Ny41NjdaXHgxQlswbSBceDFCWzMzbVdBUk5ceDFCWzBtICBbcmF0ZS1saW1pdF0gSVAge3tpcH19IGFwcHJvYWNoaW5nIHJhdGUgbGltaXQiLCJceDFCWzkwbTIwMjQtMDEtMTVUMTA6MjM6NDcuODkwWlx4MUJbMG0gXHgxQlszNm1JTkZPXHgxQlswbSAgW3dlYnNvY2tldF0gQ2xpZW50IGNvbm5lY3RlZDogc2Vzc2lvbj17e3Nlc3Npb259fSIsYFx4MUJbMzFtRXJyb3I6IENvbm5lY3Rpb24gcmVmdXNlZFx4MUJbMG0KICAgIGF0IFRjcENvbm5lY3Rpb24uY29ubmVjdCAoL2FwcC9ub2RlX21vZHVsZXMvcGcvbGliL2Nvbm5lY3Rpb24uanM6MTI6MTUpCiAgICBhdCBQb29sLmNvbm5lY3QgKC9hcHAvbm9kZV9tb2R1bGVzL3BnL2xpYi9wb29sLmpzOjQ1OjIzKQogICAgYXQgYXN5bmMgRGF0YWJhc2VTZXJ2aWNlLnF1ZXJ5ICgvYXBwL3NyYy9kYi9zZXJ2aWNlLnRzOjg5OjEyKWBdLGQ9cygoKT0+e2xldCBiPVsiZGVidWciLCJpbmZvIiwid2FybiIsImVycm9yIiwic3VjY2VzcyJdLGc9Wy4yLC41LC4xNSwuMSwuMDVdLHk9TWF0aC5yYW5kb20oKSxrPTAsQz0iaW5mbyI7Zm9yKGxldCBUPTA7VDxnLmxlbmd0aDtUKyspaWYoays9Z1tUXSx5PGspe0M9YltUXTticmVha31sZXQgTj1vW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSpvLmxlbmd0aCldLF89bltDXSxPPV9bTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKl8ubGVuZ3RoKV0ucmVwbGFjZSgie3ttb2R1bGV9fSIsWyJleHByZXNzIiwibW9uZ29vc2UiLCJyZWRpcyIsInNvY2tldC5pbyJdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo0KV0pLnJlcGxhY2UoInt7a2V5fX0iLCJ1c2VyOiIrTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjFlMykpLnJlcGxhY2UoInt7dGltZX19IixTdHJpbmcoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjUwMCkrNTApKS5yZXBsYWNlKCJ7e2hlYWRlcnN9fSIsIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiwgQXV0aG9yaXphdGlvbjogQmVhcmVyIC4uLiIpLnJlcGxhY2UoInt7dmFyfX0iLFsiTk9ERV9FTlYiLCJEQVRBQkFTRV9VUkwiLCJBUElfS0VZIiwiUE9SVCJdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo0KV0pLnJlcGxhY2UoInt7bWV0aG9kfX0iLFsiR0VUIiwiUE9TVCIsIlBVVCIsIkRFTEVURSJdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo0KV0pLnJlcGxhY2UoInt7cGF0aH19IixbIi9hcGkvdXNlcnMiLCIvYXBpL2F1dGgvbG9naW4iLCIvYXBpL3Byb2R1Y3RzIiwiL2hlYWx0aCJdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo0KV0pLnJlcGxhY2UoInt7dXNlcklkfX0iLFN0cmluZyhNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMWU0KSkpLnJlcGxhY2UoInt7am9iSWR9fSIsImpvYl8iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDExKSkucmVwbGFjZSgie3t0YXNrfX0iLFsiY2xlYW51cCIsImJhY2t1cCIsInJlcG9ydC1nZW5lcmF0aW9uIiwiY2FjaGUtcmVmcmVzaCJdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo0KV0pLnJlcGxhY2UoInt7aXB9fSIsYDE5Mi4xNjguMS4ke01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyNTUpfWApLnJlcGxhY2UoInt7cXVlcnl9fSIsIlNFTEVDVCAqIEZST00gdXNlcnMgV0hFUkUgLi4uIikucmVwbGFjZSgie3twZXJjZW50fX0iLFN0cmluZyhNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMzApKzcwKSkucmVwbGFjZSgie3tlbmRwb2ludH19IiwiL2FwaS92MS9sZWdhY3kiKS5yZXBsYWNlKCJ7e2RheXN9fSIsU3RyaW5nKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSozMCkrMSkpLnJlcGxhY2UoInt7ZXJyb3J9fSIsWyJFQ09OTlJFRlVTRUQiLCJFVElNRURPVVQiLCJFTk9URk9VTkQiXVtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMyldKS5yZXBsYWNlKCJ7e3VzZXJ9fSIsInVzZXJfIitNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMWUzKSkucmVwbGFjZSgie3tzZXJ2aWNlfX0iLFsiUmVkaXMiLCJNb25nb0RCIiwiRWxhc3RpY1NlYXJjaCJdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSozKV0pLnJlcGxhY2UoInt7cG9ydH19IixTdHJpbmcoM2UzK01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoxMCkpKS5yZXBsYWNlKCJ7e3NpemV9fSIsU3RyaW5nKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo1MDApKzEwMCkpO2UuYWRkTG9nKEMsTyxOKX0sImdlbmVyYXRlUmFuZG9tTG9nIiksYz1zKCgpPT57bGV0IGI9bFtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqbC5sZW5ndGgpXSxnPW5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSx5PWIucmVwbGFjZSgvMjAyNC0wMS0xNVQxMDoyMzpcZHsyfVwuXGR7M31aL2csZykucmVwbGFjZSgie3tqb2JJZH19IixTdHJpbmcoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjFlNCkpKS5yZXBsYWNlKCJ7e3VzZXJJZH19IixTdHJpbmcoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjFlNCkpKS5yZXBsYWNlKCJ7e2lwfX0iLGAxOTIuMTY4LjEuJHtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjU1KX1gKS5yZXBsYWNlKCJ7e3Nlc3Npb259fSIsTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsMTEpKTt0LndyaXRlbG5SYXcoeSl9LCJnZW5lcmF0ZURvY2tlckxvZyIpLHA9cygoKT0+e2lmKCFyKXtsZXQgYj1zKCgpPT57ZCgpO2xldCBnPU1hdGgucmFuZG9tKCkqMmUzKzUwMDtyPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57ciYmYigpfSxnKX0sInNjaGVkdWxlTmV4dCIpO2IoKX19LCJzdGFydFN0cnVjdHVyZWRTaW11bGF0aW9uIiksdT1zKCgpPT57ciYmKHdpbmRvdy5jbGVhclRpbWVvdXQocikscj1udWxsKX0sInN0b3BTdHJ1Y3R1cmVkU2ltdWxhdGlvbiIpLG09cygoKT0+e2lmKCFpKXtsZXQgYj1zKCgpPT57YygpO2xldCBnPU1hdGgucmFuZG9tKCkqMWUzKzIwMDtpPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57aSYmYigpfSxnKX0sInNjaGVkdWxlTmV4dCIpO2IoKX19LCJzdGFydFJhd1NpbXVsYXRpb24iKSx2PXMoKCk9PntpJiYod2luZG93LmNsZWFyVGltZW91dChpKSxpPW51bGwpfSwic3RvcFJhd1NpbXVsYXRpb24iKTthLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaChiPT57c3dpdGNoKGIudGV4dD8udHJpbSgpKXtjYXNlIkFkZCBTdHJ1Y3R1cmVkIExvZyI6Yi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PmQoKSk7YnJlYWs7Y2FzZSJTdGFydCBTdHJ1Y3R1cmVkIjpiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+cCgpKTticmVhaztjYXNlIlN0b3AgU3RydWN0dXJlZCI6Yi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PnUoKSk7YnJlYWs7Y2FzZSJBZGQgRG9ja2VyIExvZyI6Yi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PmMoKSk7YnJlYWs7Y2FzZSJTdGFydCBEb2NrZXIiOmIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT5tKCkpO2JyZWFrO2Nhc2UiU3RvcCBEb2NrZXIiOmIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT52KCkpO2JyZWFrfX0pfX0+CiAgICAgIDxzdHlsZT4KICAgICAgICAke1hgCiAgICAgICAgICAuZGVtb0JveCB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSA1JSkiKX07CiAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIH0KICAgICAgICAgIC5zZWN0aW9uIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgfQogICAgICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICAgIH0KICAgICAgICAgIC5zZWN0aW9uLWRlc2NyaXB0aW9uIHsKICAgICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICAgIH0KICAgICAgICAgIC5jb250cm9scyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGdhcDogMTBweDsKICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgICAgfQogICAgICAgIGB9CiAgICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJkZW1vQm94Ij4KICAgICAgPCEtLSBTdHJ1Y3R1cmVkIExvZ3MgU2VjdGlvbiAtLT4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+U3RydWN0dXJlZCBMb2dzIChJTG9nRW50cnkpPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBTdHJ1Y3R1cmVkIGxvZyBlbnRyaWVzIHdpdGggbGV2ZWwsIG1lc3NhZ2UsIGFuZCBzb3VyY2UuIFN1cHBvcnRzIHNlYXJjaCBhbmQga2V5d29yZCBoaWdobGlnaHRpbmcuCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbHMiPgogICAgICAgICAgPGRlZXMtYnV0dG9uPkFkZCBTdHJ1Y3R1cmVkIExvZzwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+U3RhcnQgU3RydWN0dXJlZDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+U3RvcCBTdHJ1Y3R1cmVkPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGVlcy1jaGFydC1sb2cKICAgICAgICAgIGlkPSJzdHJ1Y3R1cmVkLWxvZyIKICAgICAgICAgIC5sYWJlbD0keyJQcm9kdWN0aW9uIFNlcnZlciBMb2dzIn0KICAgICAgICAgIC5oaWdobGlnaHRLZXl3b3Jkcz0ke1siZXJyb3IiLCJmYWlsZWQiLCJ0aW1lb3V0Il19CiAgICAgICAgICAuc2hvd01ldHJpY3M9JHshMH0KICAgICAgICA+PC9kZWVzLWNoYXJ0LWxvZz4KICAgICAgPC9kaXY+CgogICAgICA8IS0tIFJhdyBMb2dzIFNlY3Rpb24gLS0+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlJhdyBMb2dzIChEb2NrZXIvQ29udGFpbmVyIFN0eWxlKTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPgogICAgICAgICAgUmF3IGxvZyBvdXRwdXQgd2l0aCBBTlNJIGVzY2FwZSBzZXF1ZW5jZXMgZm9yIHJlYWwgRG9ja2VyL2NvbnRhaW5lciBsb2dzLgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5BZGQgRG9ja2VyIExvZzwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+U3RhcnQgRG9ja2VyPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5TdG9wIERvY2tlcjwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRlZXMtY2hhcnQtbG9nCiAgICAgICAgICBpZD0icmF3LWxvZyIKICAgICAgICAgIC5sYWJlbD0keyJEb2NrZXIgQ29udGFpbmVyIExvZ3MifQogICAgICAgICAgLm1vZGU9JHsicmF3In0KICAgICAgICAgIC5zaG93TWV0cmljcz0keyExfQogICAgICAgID48L2RlZXMtY2hhcnQtbG9nPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGAsImRlbW9GdW5jIil9KTt2YXIgcW4sQ3IsdDBhLGEwYT1mKCgpPT57bGUoKTtlYSgpO2UwYSgpO1FlKCk7TGMoKTtYcigpO3FuPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxDcj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sdDBhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1jaGFydC1sb2ciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W107dmFyIG1lPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQ2hhcnRMb2ciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgST10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKCldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6QXJyYXl9KV0seD1bJCh7dHlwZTpCb29sZWFufSldLHk9WyQoe3R5cGU6TnVtYmVyfSldLE49WyQoe3R5cGU6QXJyYXl9KV0sTz1bJCh7dHlwZTpCb29sZWFufSldLEI9W0soKV0sUD1bSygpXSxXPVtLKCldLGhlPVtLKCldLHFuKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImxhYmVsImluIHEsImhhcyIpLGdldDpzKHE9PnEubGFiZWwsImdldCIpLHNldDpzKChxLGNlKT0+e3EubGFiZWw9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sbixsKSxxbih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vZGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+Im1vZGUiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5tb2RlLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLm1vZGU9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sYyxwKSxxbih0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvZ0VudHJpZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImxvZ0VudHJpZXMiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5sb2dFbnRyaWVzLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmxvZ0VudHJpZXM9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sbSx2KSxxbih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImF1dG9TY3JvbGwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImF1dG9TY3JvbGwiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5hdXRvU2Nyb2xsLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmF1dG9TY3JvbGw9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sYixnKSxxbih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1heEVudHJpZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+Im1heEVudHJpZXMiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5tYXhFbnRyaWVzLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLm1heEVudHJpZXM9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sayxDKSxxbih0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhpZ2hsaWdodEtleXdvcmRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJoaWdobGlnaHRLZXl3b3JkcyJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLmhpZ2hsaWdodEtleXdvcmRzLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmhpZ2hsaWdodEtleXdvcmRzPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LF8seikscW4odGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93TWV0cmljcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4ic2hvd01ldHJpY3MiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5zaG93TWV0cmljcywiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5zaG93TWV0cmljcz1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxULEUpLHFuKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VhcmNoUXVlcnkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+InNlYXJjaFF1ZXJ5ImluIHEsImhhcyIpLGdldDpzKHE9PnEuc2VhcmNoUXVlcnksImdldCIpLHNldDpzKChxLGNlKT0+e3Euc2VhcmNoUXVlcnk9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sTSxTKSxxbih0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpbHRlck1vZGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImZpbHRlck1vZGUiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5maWx0ZXJNb2RlLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmZpbHRlck1vZGU9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sQSxGKSxxbih0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1ldHJpY3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+Im1ldHJpY3MiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5tZXRyaWNzLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLm1ldHJpY3M9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0saixHKSxxbih0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0ZXJtaW5hbFJlYWR5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJ0ZXJtaW5hbFJlYWR5ImluIHEsImhhcyIpLGdldDpzKHE9PnEudGVybWluYWxSZWFkeSwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS50ZXJtaW5hbFJlYWR5PWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LFIsVSkscW4obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6SX0sbnVsbCx0KSxtZT1yPWUudmFsdWUsSSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpJfSl9c3RhdGljIGRlbW89SmNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQ2hhcnQiLCJXb3Jrc3BhY2UiXTsjZT1Dcih0aGlzLG4sIlNlcnZlciBMb2dzIik7Z2V0IGxhYmVsKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGxhYmVsKEkpe3RoaXMuI2U9SX0jdD0oQ3IodGhpcyxsKSxDcih0aGlzLGMsInN0cnVjdHVyZWQiKSk7Z2V0IG1vZGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbW9kZShJKXt0aGlzLiN0PUl9I2E9KENyKHRoaXMscCksQ3IodGhpcyxtLFtdKSk7Z2V0IGxvZ0VudHJpZXMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgbG9nRW50cmllcyhJKXt0aGlzLiNhPUl9I3I9KENyKHRoaXMsdiksQ3IodGhpcyxiLCEwKSk7Z2V0IGF1dG9TY3JvbGwoKXtyZXR1cm4gdGhpcy4jcn1zZXQgYXV0b1Njcm9sbChJKXt0aGlzLiNyPUl9I3M9KENyKHRoaXMsZyksQ3IodGhpcyxrLDFlNCkpO2dldCBtYXhFbnRyaWVzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IG1heEVudHJpZXMoSSl7dGhpcy4jcz1JfSNpPShDcih0aGlzLEMpLENyKHRoaXMsXyxbXSkpO2dldCBoaWdobGlnaHRLZXl3b3Jkcygpe3JldHVybiB0aGlzLiNpfXNldCBoaWdobGlnaHRLZXl3b3JkcyhJKXt0aGlzLiNpPUl9I289KENyKHRoaXMseiksQ3IodGhpcyxULCEwKSk7Z2V0IHNob3dNZXRyaWNzKCl7cmV0dXJuIHRoaXMuI299c2V0IHNob3dNZXRyaWNzKEkpe3RoaXMuI289SX0jbj0oQ3IodGhpcyxFKSxDcih0aGlzLE0sIiIpKTtnZXQgc2VhcmNoUXVlcnkoKXtyZXR1cm4gdGhpcy4jbn1zZXQgc2VhcmNoUXVlcnkoSSl7dGhpcy4jbj1JfSNsPShDcih0aGlzLFMpLENyKHRoaXMsQSwhMSkpO2dldCBmaWx0ZXJNb2RlKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGZpbHRlck1vZGUoSSl7dGhpcy4jbD1JfSNjPShDcih0aGlzLEYpLENyKHRoaXMsaix7ZGVidWc6MCxpbmZvOjAsd2FybjowLGVycm9yOjAsc3VjY2VzczowLHRvdGFsOjAscmF0ZTowfSkpO2dldCBtZXRyaWNzKCl7cmV0dXJuIHRoaXMuI2N9c2V0IG1ldHJpY3MoSSl7dGhpcy4jYz1JfSNkPShDcih0aGlzLEcpLENyKHRoaXMsUiwhMSkpO2dldCB0ZXJtaW5hbFJlYWR5KCl7cmV0dXJuIHRoaXMuI2R9c2V0IHRlcm1pbmFsUmVhZHkoSSl7dGhpcy4jZD1JfWxvZ0J1ZmZlcj0oQ3IodGhpcyxVKSxbXSk7dHJhaWxpbmdIaWRkZW5Db3VudD0wO3Rlcm1pbmFsPW51bGw7Zml0QWRkb249bnVsbDtzZWFyY2hBZGRvbj1udWxsO3Jlc2l6ZU9ic2VydmVyPW51bGw7dGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbj1udWxsO2RvbXRvb2xzSW5zdGFuY2U9bnVsbDtyYXRlQnVmZmVyPVtdO3JhdGVJbnRlcnZhbD1udWxsO3N0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiA0MDBweDsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBzYW5zLXNlcmlmOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZSB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgfQoKICAgICAgLnRpdGxlIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtYm94IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDE1MHB4OwogICAgICAgIG1heC13aWR0aDogMzAwcHg7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtYm94IGlucHV0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXByaW1hcnkpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQoKICAgICAgLnNlYXJjaC1ib3ggaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICB9CgogICAgICAuc2VhcmNoLWJveCBpbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CgogICAgICAuc2VhcmNoLW5hdiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLnNlYXJjaC1uYXYgYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA0cHggNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXByaW1hcnkpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtbmF2IGJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLmZpbHRlci10b2dnbGUgewogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1czsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuZmlsdGVyLXRvZ2dsZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLmZpbHRlci10b2dnbGUuYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDQ1IDkzJSA0NyUpIiwiaHNsKDQ1IDkzJSA0NyUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCg0NSA5MyUgNDclKSIsImhzbCg0NSA5MyUgNDclKSIpfTsKICAgICAgICBjb2xvcjogaHNsKDAgMCUgOSUpOwogICAgICB9CgogICAgICAuY29udHJvbHMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgIH0KCiAgICAgIC5jb250cm9sLWJ1dHRvbiB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1czsKICAgICAgfQoKICAgICAgLmNvbnRyb2wtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLmNvbnRyb2wtYnV0dG9uLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGluc2V0OiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICB9CgogICAgICAudGVybWluYWwtY29udGFpbmVyIC54dGVybSB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAubG9hZGluZy1zdGF0ZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAubWV0cmljcy1iYXIgewogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAubWV0cmljIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5tZXRyaWM6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMuZXJyb3I6OmJlZm9yZSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDAgODQuMiUgNjAuMiUpOwogICAgICB9CgogICAgICAubWV0cmljLndhcm46OmJlZm9yZSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDI1IDk1JSA1MyUpOwogICAgICB9CgogICAgICAubWV0cmljLmluZm86OmJlZm9yZSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKTsKICAgICAgfQoKICAgICAgLm1ldHJpYy5zdWNjZXNzOjpiZWZvcmUgewogICAgICAgIGJhY2tncm91bmQ6IGhzbCgxNDIuMSA3Ni4yJSAzNi4zJSk7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMuZGVidWc6OmJlZm9yZSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDAgMCUgNjMuOSUpOwogICAgICB9CgogICAgICAubWV0cmljLnJhdGUgewogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CgogICAgICAubWV0cmljLnJhdGU6OmJlZm9yZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgYF07Y29uc3RydWN0b3IoKXtzdXBlcigpLGFyLnNldHVwKCl9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkZWVzLXRpbGUgLmhlYWRpbmc9JHt0aGlzLmxhYmVsfT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+JHt0aGlzLmxhYmVsfTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VhcmNoLWJveCI+CiAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IlNlYXJjaCBsb2dzLi4uIgogICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuc2VhcmNoUXVlcnl9CiAgICAgICAgICAgICAgQGlucHV0PSR7ST0+dGhpcy5oYW5kbGVTZWFyY2hJbnB1dChJKX0KICAgICAgICAgICAgICBAa2V5ZG93bj0ke0k9PnRoaXMuaGFuZGxlU2VhcmNoS2V5ZG93bihJKX0KICAgICAgICAgICAgLz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VhcmNoLW5hdiI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBAY2xpY2s9JHsoKT0+dGhpcy5zZWFyY2hQcmV2aW91cygpfSB0aXRsZT0iUHJldmlvdXMgbWF0Y2giPuKGkTwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gQGNsaWNrPSR7KCk9PnRoaXMuc2VhcmNoTmV4dCgpfSB0aXRsZT0iTmV4dCBtYXRjaCI+4oaTPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgY2xhc3M9ImZpbHRlci10b2dnbGUgJHt0aGlzLmZpbHRlck1vZGU/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLnRvZ2dsZUZpbHRlck1vZGUoKX0KICAgICAgICAgICAgICB0aXRsZT0iJHt0aGlzLmZpbHRlck1vZGU/IlN3aXRjaCB0byBoaWdobGlnaHQgbW9kZSI6IlN3aXRjaCB0byBmaWx0ZXIgbW9kZSJ9IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgJHt0aGlzLmZpbHRlck1vZGU/IkZpbHRlciI6IkhpZ2hsaWdodCJ9CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9scyI+CiAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICBjbGFzcz0iY29udHJvbC1idXR0b24gJHt0aGlzLmF1dG9TY3JvbGw/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLnRvZ2dsZUF1dG9TY3JvbGwoKX0KICAgICAgICAgICAgPgogICAgICAgICAgICAgIEF1dG8gU2Nyb2xsCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjb250cm9sLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY2xlYXJMb2dzKCl9PgogICAgICAgICAgICAgIENsZWFyCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRlcm1pbmFsLWNvbnRhaW5lciI+CiAgICAgICAgICAke3RoaXMudGVybWluYWxSZWFkeT8iIjp3YDxkaXYgY2xhc3M9ImxvYWRpbmctc3RhdGUiPkxvYWRpbmcgdGVybWluYWwuLi48L2Rpdj5gfQogICAgICAgIDwvZGl2PgoKICAgICAgICAke3RoaXMuc2hvd01ldHJpY3M/d2AKICAgICAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9Im1ldHJpY3MtYmFyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMgZXJyb3IiPmVycm9yczogJHt0aGlzLm1ldHJpY3MuZXJyb3J9PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYyB3YXJuIj53YXJuczogJHt0aGlzLm1ldHJpY3Mud2Fybn08L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljIGluZm8iPmluZm86ICR7dGhpcy5tZXRyaWNzLmluZm99PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYyBzdWNjZXNzIj5zdWNjZXNzOiAke3RoaXMubWV0cmljcy5zdWNjZXNzfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMgZGVidWciPmRlYnVnOiAke3RoaXMubWV0cmljcy5kZWJ1Z308L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljIHJhdGUiPiR7dGhpcy5tZXRyaWNzLnJhdGUudG9GaXhlZCgxKX0gbG9ncy9zZWM8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgIDwvZGVlcy10aWxlPgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXtpZih0aGlzLmRvbXRvb2xzSW5zdGFuY2U9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2UsYXdhaXQgdGhpcy5pbml0aWFsaXplVGVybWluYWwoKSx0aGlzLmxvZ0VudHJpZXMubGVuZ3RoPjAmJnRoaXMubG9nQnVmZmVyLmxlbmd0aD09PTApe3RoaXMubG9nQnVmZmVyPVsuLi50aGlzLmxvZ0VudHJpZXNdO2ZvcihsZXQgSSBvZiB0aGlzLmxvZ0VudHJpZXMpdGhpcy51cGRhdGVNZXRyaWNzKEkubGV2ZWwpLHRoaXMud3JpdGVMb2dFbnRyeShJKX1lbHNlIGlmKHRoaXMubG9nRW50cmllcy5sZW5ndGg+MCYmdGhpcy5sb2dCdWZmZXIubGVuZ3RoPjApe2xldCBJPW5ldyBTZXQodGhpcy5sb2dCdWZmZXIubWFwKHE9PmAke3EudGltZXN0YW1wfXwke3EubWVzc2FnZX1gKSk7Zm9yKGxldCBxIG9mIHRoaXMubG9nRW50cmllcylJLmhhcyhgJHtxLnRpbWVzdGFtcH18JHtxLm1lc3NhZ2V9YCl8fCh0aGlzLmxvZ0J1ZmZlci5wdXNoKHEpLHRoaXMudXBkYXRlTWV0cmljcyhxLmxldmVsKSx0aGlzLndyaXRlTG9nRW50cnkocSkpfX1hc3luYyBpbml0aWFsaXplVGVybWluYWwoKXtsZXQgST1Ocy5nZXRJbnN0YW5jZSgpLFtxLGNlLHVlXT1hd2FpdCBQcm9taXNlLmFsbChbSS5sb2FkWHRlcm0oKSxJLmxvYWRYdGVybUZpdEFkZG9uKCksSS5sb2FkWHRlcm1TZWFyY2hBZGRvbigpXSk7YXdhaXQgdGhpcy5pbmplY3RYdGVybVN0eWxlc0ludG9TaGFkb3coKSx0aGlzLnRlcm1pbmFsPW5ldyBxLlRlcm1pbmFsKHtjdXJzb3JCbGluazohMSxkaXNhYmxlU3RkaW46ITAsZm9udFNpemU6MTIsZm9udEZhbWlseToiJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0NvbnNvbGFzJywgJ0xpYmVyYXRpb24gTW9ubycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZSIsdGhlbWU6dGhpcy5nZXRUZXJtaW5hbFRoZW1lKCksc2Nyb2xsYmFjazp0aGlzLm1heEVudHJpZXMsY29udmVydEVvbDohMH0pLHRoaXMuZml0QWRkb249bmV3IGNlLkZpdEFkZG9uLHRoaXMuc2VhcmNoQWRkb249bmV3IHVlLlNlYXJjaEFkZG9uLHRoaXMudGVybWluYWwubG9hZEFkZG9uKHRoaXMuZml0QWRkb24pLHRoaXMudGVybWluYWwubG9hZEFkZG9uKHRoaXMuc2VhcmNoQWRkb24pO2xldCBZPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIudGVybWluYWwtY29udGFpbmVyIik7dGhpcy50ZXJtaW5hbC5vcGVuKFkpLGF3YWl0IG5ldyBQcm9taXNlKFE9PnJlcXVlc3RBbmltYXRpb25GcmFtZShRKSksdGhpcy5maXRBZGRvbi5maXQoKSx0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMuZml0QWRkb24/LmZpdCgpfSksdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKFkpLHRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbj10aGlzLmRvbXRvb2xzSW5zdGFuY2UudGhlbWVNYW5hZ2VyLnRoZW1lT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKCk9Pnt0aGlzLnRlcm1pbmFsJiYodGhpcy50ZXJtaW5hbC5vcHRpb25zLnRoZW1lPXRoaXMuZ2V0VGVybWluYWxUaGVtZSgpKX0pLHRoaXMucmF0ZUludGVydmFsPXNldEludGVydmFsKCgpPT50aGlzLmNhbGN1bGF0ZVJhdGUoKSwxZTMpLHRoaXMudGVybWluYWxSZWFkeT0hMDtmb3IobGV0IFEgb2YgdGhpcy5sb2dCdWZmZXIpdGhpcy53cml0ZUxvZ0VudHJ5KFEpfXVwZGF0ZWQoSSl7aWYoc3VwZXIudXBkYXRlZChJKSxJLmhhcygiZ29CcmlnaHQiKSYmdGhpcy50ZXJtaW5hbCYmKHRoaXMudGVybWluYWwub3B0aW9ucy50aGVtZT10aGlzLmdldFRlcm1pbmFsVGhlbWUoKSksSS5oYXMoImxvZ0VudHJpZXMiKSYmdGhpcy50ZXJtaW5hbFJlYWR5JiZ0aGlzLmxvZ0VudHJpZXMubGVuZ3RoPjApe2xldCBxPUkuZ2V0KCJsb2dFbnRyaWVzIil8fFtdLGNlPXRoaXMubG9nRW50cmllcztpZihxLmxlbmd0aD09PWNlLmxlbmd0aCYmcS5sZW5ndGg+MCYmcVtxLmxlbmd0aC0xXS50aW1lc3RhbXA9PT1jZVtjZS5sZW5ndGgtMV0udGltZXN0YW1wJiZxW3EubGVuZ3RoLTFdLm1lc3NhZ2U9PT1jZVtjZS5sZW5ndGgtMV0ubWVzc2FnZSlyZXR1cm47aWYoY2UubGVuZ3RoPnEubGVuZ3RoJiZxLmxlbmd0aD4wJiZxW3EubGVuZ3RoLTFdLnRpbWVzdGFtcD09PWNlW3EubGVuZ3RoLTFdLnRpbWVzdGFtcCYmcVtxLmxlbmd0aC0xXS5tZXNzYWdlPT09Y2VbcS5sZW5ndGgtMV0ubWVzc2FnZSl7bGV0IHVlPWNlLnNsaWNlKHEubGVuZ3RoKTtmb3IobGV0IFkgb2YgdWUpdGhpcy5sb2dCdWZmZXIucHVzaChZKSx0aGlzLnVwZGF0ZU1ldHJpY3MoWS5sZXZlbCksdGhpcy5sb2dCdWZmZXIubGVuZ3RoPnRoaXMubWF4RW50cmllcyYmdGhpcy5sb2dCdWZmZXIuc2hpZnQoKSwoIXRoaXMuZmlsdGVyTW9kZXx8IXRoaXMuc2VhcmNoUXVlcnl8fHRoaXMuZW50cnlNYXRjaGVzRmlsdGVyKFkpKSYmdGhpcy53cml0ZUxvZ0VudHJ5KFkpO3JldHVybn10aGlzLmxvZ0J1ZmZlcj1bLi4uY2VdLHRoaXMucmVSZW5kZXJGaWx0ZXJlZExvZ3MoKX19Z2V0VGVybWluYWxUaGVtZSgpe3JldHVybiF0aGlzLmdvQnJpZ2h0P3tiYWNrZ3JvdW5kOiIjMGEwYTBhIixmb3JlZ3JvdW5kOiIjZTBlMGUwIixjdXJzb3I6IiNlMGUwZTAiLHNlbGVjdGlvbkJhY2tncm91bmQ6IiM0MDQwNDAiLGJsYWNrOiIjMDAwMDAwIixyZWQ6IiNmZjU1NTUiLGdyZWVuOiIjNTBmYTdiIix5ZWxsb3c6IiNmMWZhOGMiLGJsdWU6IiM2MjcyYTQiLG1hZ2VudGE6IiNmZjc5YzYiLGN5YW46IiM4YmU5ZmQiLHdoaXRlOiIjZjhmOGYyIixicmlnaHRCbGFjazoiIzYyNzJhNCIsYnJpZ2h0UmVkOiIjZmY2ZTZlIixicmlnaHRHcmVlbjoiIzY5ZmY5NCIsYnJpZ2h0WWVsbG93OiIjZmZmZmE1IixicmlnaHRCbHVlOiIjZDZhY2ZmIixicmlnaHRNYWdlbnRhOiIjZmY5MmRmIixicmlnaHRDeWFuOiIjYTRmZmZmIixicmlnaHRXaGl0ZToiI2ZmZmZmZiJ9OntiYWNrZ3JvdW5kOiIjZmZmZmZmIixmb3JlZ3JvdW5kOiIjMzMzMzMzIixjdXJzb3I6IiMzMzMzMzMiLHNlbGVjdGlvbkJhY2tncm91bmQ6IiNhZGQ2ZmYiLGJsYWNrOiIjMDAwMDAwIixyZWQ6IiNjZDMxMzEiLGdyZWVuOiIjMDBiYzAwIix5ZWxsb3c6IiM5NDk4MDAiLGJsdWU6IiMwNDUxYTUiLG1hZ2VudGE6IiNiYzA1YmMiLGN5YW46IiMwNTk4YmMiLHdoaXRlOiIjNTU1NTU1IixicmlnaHRCbGFjazoiIzY2NjY2NiIsYnJpZ2h0UmVkOiIjY2QzMTMxIixicmlnaHRHcmVlbjoiIzE0Y2UxNCIsYnJpZ2h0WWVsbG93OiIjYjViYTAwIixicmlnaHRCbHVlOiIjMDQ1MWE1IixicmlnaHRNYWdlbnRhOiIjYmMwNWJjIixicmlnaHRDeWFuOiIjMDU5OGJjIixicmlnaHRXaGl0ZToiI2E1YTVhNSJ9fWFzeW5jIGluamVjdFh0ZXJtU3R5bGVzSW50b1NoYWRvdygpe2xldCBJPSJ4dGVybS1zaGFkb3ctc3R5bGVzIjtpZih0aGlzLnNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoSSkpcmV0dXJuO2xldCBxPWAke0IxfS94dGVybUAke0YxLnh0ZXJtfS9jc3MveHRlcm0uY3NzYCx1ZT1hd2FpdChhd2FpdCBmZXRjaChxKSkudGV4dCgpLFk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtZLmlkPUksWS50ZXh0Q29udGVudD11ZSx0aGlzLnNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoWSl9YWRkTG9nKEkscSxjZSl7bGV0IHVlPXt0aW1lc3RhbXA6bmV3IERhdGUoKS50b0lTT1N0cmluZygpLGxldmVsOkksbWVzc2FnZTpxLHNvdXJjZTpjZX07dGhpcy5sb2dCdWZmZXIucHVzaCh1ZSksdGhpcy5sb2dCdWZmZXIubGVuZ3RoPnRoaXMubWF4RW50cmllcyYmdGhpcy5sb2dCdWZmZXIuc2hpZnQoKSwhdGhpcy5maWx0ZXJNb2RlfHwhdGhpcy5zZWFyY2hRdWVyeT90aGlzLndyaXRlTG9nRW50cnkodWUpOnRoaXMuZW50cnlNYXRjaGVzRmlsdGVyKHVlKT8odGhpcy50cmFpbGluZ0hpZGRlbkNvdW50PTAsdGhpcy53cml0ZUxvZ0VudHJ5KHVlKSk6dGhpcy51cGRhdGVUcmFpbGluZ1BsYWNlaG9sZGVyKCksdGhpcy51cGRhdGVNZXRyaWNzKHVlLmxldmVsKX11cGRhdGVMb2coSSl7aWYoSSlmb3IobGV0IHEgb2YgSSl0aGlzLmxvZ0J1ZmZlci5wdXNoKHEpLHRoaXMubG9nQnVmZmVyLmxlbmd0aD50aGlzLm1heEVudHJpZXMmJnRoaXMubG9nQnVmZmVyLnNoaWZ0KCksIXRoaXMuZmlsdGVyTW9kZXx8IXRoaXMuc2VhcmNoUXVlcnk/dGhpcy53cml0ZUxvZ0VudHJ5KHEpOnRoaXMuZW50cnlNYXRjaGVzRmlsdGVyKHEpPyh0aGlzLnRyYWlsaW5nSGlkZGVuQ291bnQ9MCx0aGlzLndyaXRlTG9nRW50cnkocSkpOnRoaXMudXBkYXRlVHJhaWxpbmdQbGFjZWhvbGRlcigpLHRoaXMudXBkYXRlTWV0cmljcyhxLmxldmVsKX11cGRhdGVUcmFpbGluZ1BsYWNlaG9sZGVyKCl7dGhpcy50ZXJtaW5hbCYmKHRoaXMudHJhaWxpbmdIaWRkZW5Db3VudD4wJiZ0aGlzLnRlcm1pbmFsLndyaXRlKCJceDFCWzFBXHgxQlsyS1xyIiksdGhpcy50cmFpbGluZ0hpZGRlbkNvdW50KyssdGhpcy53cml0ZUhpZGRlblBsYWNlaG9sZGVyKHRoaXMudHJhaWxpbmdIaWRkZW5Db3VudCksdGhpcy5hdXRvU2Nyb2xsJiZ0aGlzLnRlcm1pbmFsLnNjcm9sbFRvQm90dG9tKCkpfWVudHJ5TWF0Y2hlc0ZpbHRlcihJKXtpZighdGhpcy5zZWFyY2hRdWVyeSlyZXR1cm4hMDtsZXQgcT10aGlzLnNlYXJjaFF1ZXJ5LnRvTG93ZXJDYXNlKCk7cmV0dXJuIEkubWVzc2FnZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHEpfHxJLmxldmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocSl8fChJLnNvdXJjZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxKT8/ITEpfXdyaXRlTG9nRW50cnkoSSl7aWYoIXRoaXMudGVybWluYWwpcmV0dXJuO2xldCBxPXRoaXMuZm9ybWF0TG9nRW50cnkoSSk7dGhpcy50ZXJtaW5hbC53cml0ZWxuKHEpLHRoaXMuYXV0b1Njcm9sbCYmdGhpcy50ZXJtaW5hbC5zY3JvbGxUb0JvdHRvbSgpfWZvcm1hdExvZ0VudHJ5KEkpe2xldCBxPXRoaXMuZm9ybWF0VGltZXN0YW1wKEkudGltZXN0YW1wKSxjZT17ZGVidWc6Ilx4MUJbOTBtIixpbmZvOiJceDFCWzM2bSIsd2FybjoiXHgxQlszM20iLGVycm9yOiJceDFCWzMxbSIsc3VjY2VzczoiXHgxQlszMm0ifSx1ZT0iXHgxQlswbSIsWT0iXHgxQlsybSIsUT1gJHtjZVtJLmxldmVsXX1bJHtJLmxldmVsLnRvVXBwZXJDYXNlKCkucGFkRW5kKDcpfV0ke3VlfWAsSj1JLnNvdXJjZT9gJHtZfVske0kuc291cmNlfV0ke3VlfSBgOiIiLFo9dGhpcy5hcHBseUhpZ2hsaWdodHMoSS5tZXNzYWdlKTtyZXR1cm5gJHtZfSR7cX0ke3VlfSAke1F9ICR7Sn0ke1p9YH1mb3JtYXRUaW1lc3RhbXAoSSl7cmV0dXJuIG5ldyBEYXRlKEkpLnRvTG9jYWxlVGltZVN0cmluZygiZW4tVVMiLHtob3VyMTI6ITEsaG91cjoiMi1kaWdpdCIsbWludXRlOiIyLWRpZ2l0IixzZWNvbmQ6IjItZGlnaXQiLGZyYWN0aW9uYWxTZWNvbmREaWdpdHM6M30pfWFwcGx5SGlnaGxpZ2h0cyhJKXtsZXQgcT1bLi4udGhpcy5oaWdobGlnaHRLZXl3b3Jkc107aWYodGhpcy5maWx0ZXJNb2RlJiZ0aGlzLnNlYXJjaFF1ZXJ5JiZxLnB1c2godGhpcy5zZWFyY2hRdWVyeSkscS5sZW5ndGg9PT0wKXJldHVybiBJO2xldCBjZT1JO2ZvcihsZXQgdWUgb2YgcSl7bGV0IFk9dWUucmVwbGFjZSgvWy4qKz9eJHt9KCl8W1xdXFxdL2csIlxcJCYiKSxRPW5ldyBSZWdFeHAoYCgke1l9KWAsImdpIik7Y2U9Y2UucmVwbGFjZShRLCJceDFCWzQzbVx4MUJbMzBtJDFceDFCWzBtIil9cmV0dXJuIGNlfXdyaXRlUmF3KEkpe3RoaXMudGVybWluYWwmJih0aGlzLnRlcm1pbmFsLndyaXRlKEkpLHRoaXMucmVjb3JkTG9nRXZlbnQoKSx0aGlzLmF1dG9TY3JvbGwmJnRoaXMudGVybWluYWwuc2Nyb2xsVG9Cb3R0b20oKSl9d3JpdGVsblJhdyhJKXt0aGlzLnRlcm1pbmFsJiYodGhpcy50ZXJtaW5hbC53cml0ZWxuKEkpLHRoaXMucmVjb3JkTG9nRXZlbnQoKSx0aGlzLmF1dG9TY3JvbGwmJnRoaXMudGVybWluYWwuc2Nyb2xsVG9Cb3R0b20oKSl9aGFuZGxlU2VhcmNoSW5wdXQoSSl7bGV0IGNlPUkudGFyZ2V0LnZhbHVlLHVlPXRoaXMuc2VhcmNoUXVlcnkhPT1jZTt0aGlzLnNlYXJjaFF1ZXJ5PWNlLHRoaXMuZmlsdGVyTW9kZSYmdWU/dGhpcy5yZVJlbmRlckZpbHRlcmVkTG9ncygpOnRoaXMuc2VhcmNoUXVlcnkmJnRoaXMuc2VhcmNoQWRkb24/LmZpbmROZXh0KHRoaXMuc2VhcmNoUXVlcnkpfWhhbmRsZVNlYXJjaEtleWRvd24oSSl7SS5rZXk9PT0iRW50ZXIiP0kuc2hpZnRLZXk/dGhpcy5zZWFyY2hQcmV2aW91cygpOnRoaXMuc2VhcmNoTmV4dCgpOkkua2V5PT09IkVzY2FwZSImJih0aGlzLnNlYXJjaFF1ZXJ5PSIiLEkudGFyZ2V0LnZhbHVlPSIiKX1zZWFyY2goSSl7dGhpcy5zZWFyY2hRdWVyeT1JLHRoaXMuc2VhcmNoQWRkb24/LmZpbmROZXh0KEkpfXNlYXJjaE5leHQoKXt0aGlzLnNlYXJjaFF1ZXJ5JiZ0aGlzLnNlYXJjaEFkZG9uPy5maW5kTmV4dCh0aGlzLnNlYXJjaFF1ZXJ5KX1zZWFyY2hQcmV2aW91cygpe3RoaXMuc2VhcmNoUXVlcnkmJnRoaXMuc2VhcmNoQWRkb24/LmZpbmRQcmV2aW91cyh0aGlzLnNlYXJjaFF1ZXJ5KX10b2dnbGVBdXRvU2Nyb2xsKCl7dGhpcy5hdXRvU2Nyb2xsPSF0aGlzLmF1dG9TY3JvbGwsdGhpcy5hdXRvU2Nyb2xsJiZ0aGlzLnRlcm1pbmFsJiZ0aGlzLnRlcm1pbmFsLnNjcm9sbFRvQm90dG9tKCl9dG9nZ2xlRmlsdGVyTW9kZSgpe3RoaXMuZmlsdGVyTW9kZT0hdGhpcy5maWx0ZXJNb2RlLHRoaXMucmVSZW5kZXJGaWx0ZXJlZExvZ3MoKX1yZVJlbmRlckZpbHRlcmVkTG9ncygpe2lmKHRoaXMudGVybWluYWwpe2lmKHRoaXMudGVybWluYWwuY2xlYXIoKSx0aGlzLnRyYWlsaW5nSGlkZGVuQ291bnQ9MCwhdGhpcy5maWx0ZXJNb2RlfHwhdGhpcy5zZWFyY2hRdWVyeSlmb3IobGV0IEkgb2YgdGhpcy5sb2dCdWZmZXIpe2xldCBxPXRoaXMuZm9ybWF0TG9nRW50cnkoSSk7dGhpcy50ZXJtaW5hbC53cml0ZWxuKHEpfWVsc2V7bGV0IEk9MDtmb3IobGV0IHEgb2YgdGhpcy5sb2dCdWZmZXIpaWYodGhpcy5lbnRyeU1hdGNoZXNGaWx0ZXIocSkpe0k+MCYmKHRoaXMud3JpdGVIaWRkZW5QbGFjZWhvbGRlcihJKSxJPTApO2xldCBjZT10aGlzLmZvcm1hdExvZ0VudHJ5KHEpO3RoaXMudGVybWluYWwud3JpdGVsbihjZSl9ZWxzZSBJKys7ST4wJiYodGhpcy53cml0ZUhpZGRlblBsYWNlaG9sZGVyKEkpLHRoaXMudHJhaWxpbmdIaWRkZW5Db3VudD1JKX10aGlzLmF1dG9TY3JvbGwmJnRoaXMudGVybWluYWwuc2Nyb2xsVG9Cb3R0b20oKX19d3JpdGVIaWRkZW5QbGFjZWhvbGRlcihJKXtsZXQgcT0iXHgxQlsybSIsY2U9Ilx4MUJbMG0iLHVlPUk9PT0xPyJbMSBsb2cgbGluZSBoaWRkZW4gYnkgZmlsdGVyIC4uLl0iOmBbJHtJfSBsb2cgbGluZXMgaGlkZGVuIGJ5IGZpbHRlciAuLi5dYDt0aGlzLnRlcm1pbmFsPy53cml0ZWxuKGAke3F9JHt1ZX0ke2NlfWApfWNsZWFyTG9ncygpe3RoaXMudGVybWluYWw/LmNsZWFyKCksdGhpcy5sb2dCdWZmZXI9W10sdGhpcy50cmFpbGluZ0hpZGRlbkNvdW50PTAsdGhpcy5yZXNldE1ldHJpY3MoKX1zY3JvbGxUb0JvdHRvbSgpe3RoaXMudGVybWluYWw/LnNjcm9sbFRvQm90dG9tKCl9dXBkYXRlTWV0cmljcyhJKXt0aGlzLm1ldHJpY3M9ey4uLnRoaXMubWV0cmljcyxbSV06dGhpcy5tZXRyaWNzW0ldKzEsdG90YWw6dGhpcy5tZXRyaWNzLnRvdGFsKzF9LHRoaXMucmVjb3JkTG9nRXZlbnQoKX1yZWNvcmRMb2dFdmVudCgpe3RoaXMucmF0ZUJ1ZmZlci5wdXNoKERhdGUubm93KCkpfWNhbGN1bGF0ZVJhdGUoKXtsZXQgST1EYXRlLm5vdygpO3RoaXMucmF0ZUJ1ZmZlcj10aGlzLnJhdGVCdWZmZXIuZmlsdGVyKGNlPT5JLWNlPDFlNCk7bGV0IHE9dGhpcy5yYXRlQnVmZmVyLmxlbmd0aC8xMDtxIT09dGhpcy5tZXRyaWNzLnJhdGUmJih0aGlzLm1ldHJpY3M9ey4uLnRoaXMubWV0cmljcyxyYXRlOnF9KX1yZXNldE1ldHJpY3MoKXt0aGlzLm1ldHJpY3M9e2RlYnVnOjAsaW5mbzowLHdhcm46MCxlcnJvcjowLHN1Y2Nlc3M6MCx0b3RhbDowLHJhdGU6MH0sdGhpcy5yYXRlQnVmZmVyPVtdfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnJlc2l6ZU9ic2VydmVyJiZ0aGlzLnJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKSx0aGlzLnRlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb24mJnRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMucmF0ZUludGVydmFsJiZjbGVhckludGVydmFsKHRoaXMucmF0ZUludGVydmFsKSx0aGlzLnRlcm1pbmFsJiZ0aGlzLnRlcm1pbmFsLmRpc3Bvc2UoKX1zdGF0aWN7Q3Iocix0KX19O3JldHVybiBtZT1yfSkoKX0pO3ZhciByMGE9ZigoKT0+e2EwYSgpfSk7dmFyIHMwYSxpMGE9ZigoKT0+e2xlKCk7TmEoKTt6UWUoKTtzMGE9cygoKT0+e2xldCBhPVt7bmFtZToiTGF0ZW5jeSIsbWF4OjEwMH0se25hbWU6IlRocm91Z2hwdXQiLG1heDoxMDB9LHtuYW1lOiJBdmFpbGFiaWxpdHkiLG1heDoxMDB9LHtuYW1lOiJFcnJvciBSYXRlIixtYXg6MTAwfSx7bmFtZToiU2F0dXJhdGlvbiIsbWF4OjEwMH0se25hbWU6IlNlY3VyaXR5IixtYXg6MTAwfV0sZT1be25hbWU6IlNlcnZpY2UgQSIsdmFsdWVzOls4NSw5MCw5OSwxMiw0NSw3OF19LHtuYW1lOiJTZXJ2aWNlIEIiLHZhbHVlczpbNzAsNjUsOTUsMjgsNjAsOTBdfV0sdD1be25hbWU6IlNwZWVkIixtYXg6MTB9LHtuYW1lOiJSZWxpYWJpbGl0eSIsbWF4OjEwfSx7bmFtZToiQ29tZm9ydCIsbWF4OjEwfSx7bmFtZToiU2FmZXR5IixtYXg6MTB9LHtuYW1lOiJDb3N0IixtYXg6MTB9XSxyPVt7bmFtZToiUmF0aW5nIix2YWx1ZXM6WzguNSw5LjIsNyw5LjUsNl19XTtyZXR1cm4gd2AKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGk9PntsZXQgbz1pLnF1ZXJ5U2VsZWN0b3IoIiNjb21wYXJpc29uLWNoYXJ0Iiksbj1pLnF1ZXJ5U2VsZWN0b3IoIiNzaW5nbGUtY2hhcnQiKTtpLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaChkPT57ZC50ZXh0Py50cmltKCk9PT0iUmFuZG9taXplIiYmZC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntvLnNlcmllcz1lLm1hcChwPT4oey4uLnAsdmFsdWVzOnAudmFsdWVzLm1hcCgoKT0+TWF0aC5yb3VuZCgyMCtNYXRoLnJhbmRvbSgpKjgwKSl9KSksbi5zZXJpZXM9ci5tYXAocD0+KHsuLi5wLHZhbHVlczpwLnZhbHVlcy5tYXAoKCk9Pk1hdGgucm91bmQoKDIrTWF0aC5yYW5kb20oKSo4KSoxMCkvMTApfSkpfSl9KX19PgogICAgICA8c3R5bGU+CiAgICAgICAgJHtYYAogICAgICAgICAgLmRlbW9Cb3ggewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICB9CiAgICAgICAgICAuY2hhcnRSb3cgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIH0KICAgICAgICAgIC5jb250cm9scyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgfQogICAgICAgICAgLmluZm8gewogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICAgICAgfQogICAgICAgIGB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW9Cb3giPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iQWN0aW9uczoiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+UmFuZG9taXplPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0Um93Ij4KICAgICAgICAgIDxkZWVzLWNoYXJ0LXJhZGFyCiAgICAgICAgICAgIGlkPSJjb21wYXJpc29uLWNoYXJ0IgogICAgICAgICAgICAubGFiZWw9JHsiU2VydmljZSBIZWFsdGggQ29tcGFyaXNvbiJ9CiAgICAgICAgICAgIC5pbmRpY2F0b3JzPSR7YX0KICAgICAgICAgICAgLnNlcmllcz0ke2V9CiAgICAgICAgICA+PC9kZWVzLWNoYXJ0LXJhZGFyPgoKICAgICAgICAgIDxkZWVzLWNoYXJ0LXJhZGFyCiAgICAgICAgICAgIGlkPSJzaW5nbGUtY2hhcnQiCiAgICAgICAgICAgIC5sYWJlbD0keyJQcm9kdWN0IFJhdGluZyJ9CiAgICAgICAgICAgIC5pbmRpY2F0b3JzPSR7dH0KICAgICAgICAgICAgLnNlcmllcz0ke3J9CiAgICAgICAgICAgIC5maWxsQXJlYT0keyEwfQogICAgICAgICAgPjwvZGVlcy1jaGFydC1yYWRhcj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaW5mbyI+CiAgICAgICAgICBSYWRhciBjaGFydCBmb3IgbXVsdGktZGltZW5zaW9uYWwgY29tcGFyaXNvbiDigKIKICAgICAgICAgIFN1cHBvcnRzIG11bHRpcGxlIG92ZXJsYXkgc2VyaWVzIGFuZCBjb25maWd1cmFibGUgZmlsbCDigKIKICAgICAgICAgIENsaWNrICdSYW5kb21pemUnIHRvIHVwZGF0ZSBkYXRhCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGB9LCJkZW1vRnVuYyIpfSk7dmFyIG8wYSxuMGE9ZigoKT0+e2xlKCk7ZUcoKTtvMGE9Wy4uLlI0LFhgYF19KTt2YXIgbDBhLGMwYT1mKCgpPT57bGUoKTtsMGE9cyhhPT53YAogICAgPGRlZXMtdGlsZT4KICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJjaGFydEhlYWRlciI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNoYXJ0TGFiZWwiPiR7YS5sYWJlbH08L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjaGFydENvbnRhaW5lciI+PC9kaXY+CiAgICA8L2RlZXMtdGlsZT4KICBgLCJyZW5kZXJDaGFydFJhZGFyIil9KTt2YXIgdEcsRWMsZDBhLHpRZT1mKCgpPT57bGUoKTtKVygpO2kwYSgpO24wYSgpO2MwYSgpO1ptKCk7dEc9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEVjPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxkMGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWNoYXJ0LXJhZGFyIildLGUsdD1bXSxyLGk9QWMsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNDaGFydFJhZGFyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGs9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVskKHt0eXBlOkFycmF5fSldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx4PVskKHt0eXBlOkJvb2xlYW59KV0sdEcodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbmRpY2F0b3JzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJpbmRpY2F0b3JzImluIEMsImhhcyIpLGdldDpzKEM9PkMuaW5kaWNhdG9ycywiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmluZGljYXRvcnM9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxuLGwpLHRHKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VyaWVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJzZXJpZXMiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5zZXJpZXMsImdldCIpLHNldDpzKChDLE4pPT57Qy5zZXJpZXM9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxjLHApLHRHKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0xlZ2VuZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4ic2hvd0xlZ2VuZCJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnNob3dMZWdlbmQsImdldCIpLHNldDpzKChDLE4pPT57Qy5zaG93TGVnZW5kPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbSx2KSx0Ryh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpbGxBcmVhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJmaWxsQXJlYSJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmZpbGxBcmVhLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuZmlsbEFyZWE9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxiLGcpLHRHKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmt9LG51bGwsdCkseT1yPWUudmFsdWUsayYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTprfSl9c3RhdGljIGRlbW89czBhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQ2hhcnQiXTsjZT1FYyh0aGlzLG4sW10pO2dldCBpbmRpY2F0b3JzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGluZGljYXRvcnMoayl7dGhpcy4jZT1rfSN0PShFYyh0aGlzLGwpLEVjKHRoaXMsYyxbXSkpO2dldCBzZXJpZXMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VyaWVzKGspe3RoaXMuI3Q9a30jYT0oRWModGhpcyxwKSxFYyh0aGlzLG0sITApKTtnZXQgc2hvd0xlZ2VuZCgpe3JldHVybiB0aGlzLiNhfXNldCBzaG93TGVnZW5kKGspe3RoaXMuI2E9a30jcj0oRWModGhpcyx2KSxFYyh0aGlzLGIsITApKTtnZXQgZmlsbEFyZWEoKXtyZXR1cm4gdGhpcy4jcn1zZXQgZmlsbEFyZWEoayl7dGhpcy4jcj1rfXN0YXRpYyBzdHlsZXM9bzBhO3JlbmRlcigpe3JldHVybiBsMGEodGhpcyl9YXN5bmMgdXBkYXRlZChrKXtzdXBlci51cGRhdGVkKGspLHRoaXMuY2hhcnRJbnN0YW5jZSYmKGsuaGFzKCJpbmRpY2F0b3JzIil8fGsuaGFzKCJzZXJpZXMiKXx8ay5oYXMoInNob3dMZWdlbmQiKXx8ay5oYXMoImZpbGxBcmVhIikpJiZ0aGlzLnVwZGF0ZUNoYXJ0KCl9YnVpbGRPcHRpb24oKXtsZXQgaz1ONCh0aGlzLmdvQnJpZ2h0KSxDPVA0KHRoaXMuZ29CcmlnaHQpLE49dGhpcy5nb0JyaWdodD8uMTouMTUsXz10aGlzLnNlcmllcy5tYXAoKHosTyk9PntsZXQgVD16LmNvbG9yfHxDW08lQy5sZW5ndGhdO3JldHVybntuYW1lOnoubmFtZSx2YWx1ZTp6LnZhbHVlcyxpdGVtU3R5bGU6e2NvbG9yOlQsYm9yZGVyQ29sb3I6VCxib3JkZXJXaWR0aDoxfSxsaW5lU3R5bGU6e2NvbG9yOlQsd2lkdGg6MS41fSxhcmVhU3R5bGU6dGhpcy5maWxsQXJlYT97Y29sb3I6STQoVCxOKX06dm9pZCAwLHN5bWJvbDoiY2lyY2xlIixzeW1ib2xTaXplOjV9fSk7cmV0dXJue3Rvb2x0aXA6e3RyaWdnZXI6Iml0ZW0ifSxsZWdlbmQ6dGhpcy5zaG93TGVnZW5kJiZ0aGlzLnNlcmllcy5sZW5ndGg+MT97Ym90dG9tOjgsaXRlbVdpZHRoOjEwLGl0ZW1IZWlnaHQ6MTB9OntzaG93OiExfSxyYWRhcjp7aW5kaWNhdG9yOnRoaXMuaW5kaWNhdG9ycy5tYXAoej0+KHtuYW1lOnoubmFtZSxtYXg6ei5tYXh9KSksc2hhcGU6InBvbHlnb24iLHNwbGl0TnVtYmVyOjQsYXhpc05hbWU6e2NvbG9yOmsudGV4dFNlY29uZGFyeSxmb250U2l6ZToxMX0sc3BsaXRBcmVhOnthcmVhU3R5bGU6e2NvbG9yOltrLmJnVGVydGlhcnksay5iZ1NlY29uZGFyeV19fSxzcGxpdExpbmU6e2xpbmVTdHlsZTp7Y29sb3I6ay5ib3JkZXJEZWZhdWx0fX0sYXhpc0xpbmU6e2xpbmVTdHlsZTp7Y29sb3I6ay5ib3JkZXJEZWZhdWx0fX19LHNlcmllczpbe3R5cGU6InJhZGFyIixkYXRhOl8sZW1waGFzaXM6e2xpbmVTdHlsZTp7d2lkdGg6M319fV19fWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxFYyh0aGlzLGcpfXN0YXRpY3tFYyhyLHQpfX07cmV0dXJuIHk9cn0pKCl9KTt2YXIgdTBhPWYoKCk9Pnt6UWUoKX0pO3ZhciBwMGE9ZigoKT0+e2tjYSgpO05jYSgpO2pjYSgpO1FjYSgpO3IwYSgpO3UwYSgpfSk7dmFyIGYwYSxoMGE9ZigoKT0+e2xlKCk7ZjBhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgLmRlbW9XcmFwcGVyIHsKICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB3aWR0aDogMTAwJTsKICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgIHBhZGRpbmc6IDQ4cHg7CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjhmOWZhIiwiIzBhMGEwYSIpfTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAzMnB4OwogICAgfQogICAgCiAgICAuc2VjdGlvbiB7CiAgICAgIG1heC13aWR0aDogOTAwcHg7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgIH0KICAgIAogICAgLnNlY3Rpb24tdGl0bGUgewogICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICB9CiAgICAKICAgIC5zZWN0aW9uLWRlc2NyaXB0aW9uIHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtb1dyYXBwZXIiPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlR5cGVTY3JpcHQgQ29kZSBFeGFtcGxlPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkEgY29tcHJlaGVuc2l2ZSBUeXBlU2NyaXB0IGNvZGUgZXhhbXBsZSB3aXRoIHZhcmlvdXMgc3ludGF4IGhpZ2hsaWdodGluZy48L2Rpdj4KICAgICAgPGRlZXMtZGF0YXZpZXctY29kZWJveCBwcm9nbGFuZz0idHlwZXNjcmlwdCI+CmludGVyZmFjZSBVc2VyIHsKICBpZDogbnVtYmVyOwogIG5hbWU6IHN0cmluZzsKICBlbWFpbDogc3RyaW5nOwogIGlzQWN0aXZlOiBib29sZWFuOwp9CgpjbGFzcyBVc2VyU2VydmljZSB7CiAgcHJpdmF0ZSB1c2VyczogVXNlcltdID0gW107CiAgCiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcGlVcmw6IHN0cmluZykgewogICAgY29uc29sZS5sb2coJ1VzZXJTZXJ2aWNlIGluaXRpYWxpemVkJyk7CiAgfQogIAogIGFzeW5jIGdldFVzZXJzKCk6IFByb21pc2U8VXNlcltdPiB7CiAgICB0cnkgewogICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHRoaXMuYXBpVXJsKTsKICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTsKICAgICAgcmV0dXJuIGRhdGEudXNlcnM7CiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggdXNlcnM6JywgZXJyb3IpOwogICAgICByZXR1cm4gW107CiAgICB9CiAgfQogIAogIGFkZFVzZXIodXNlcjogVXNlcik6IHZvaWQgewogICAgdGhpcy51c2Vycy5wdXNoKHVzZXIpOwogIH0KfQoKLy8gVXNhZ2UgZXhhbXBsZQpjb25zdCBzZXJ2aWNlID0gbmV3IFVzZXJTZXJ2aWNlKCdodHRwczovL2FwaS5leGFtcGxlLmNvbS91c2VycycpOwpjb25zdCB1c2VycyA9IGF3YWl0IHNlcnZpY2UuZ2V0VXNlcnMoKTsKY29uc29sZS5sb2coJ0ZvdW5kIHVzZXJzOicsIHVzZXJzLmxlbmd0aCk7CiAgICAgIDwvZGVlcy1kYXRhdmlldy1jb2RlYm94PgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5KYXZhU2NyaXB0IEV4YW1wbGU8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+TW9kZXJuIEphdmFTY3JpcHQgd2l0aCBFUzYrIGZlYXR1cmVzLjwvZGl2PgogICAgICA8ZGVlcy1kYXRhdmlldy1jb2RlYm94IHByb2dsYW5nPSJqYXZhc2NyaXB0Ij4KLy8gQXJyYXkgbWFuaXB1bGF0aW9uIGV4YW1wbGVzCmNvbnN0IG51bWJlcnMgPSBbMSwgMiwgMywgNCwgNV07CmNvbnN0IGRvdWJsZWQgPSBudW1iZXJzLm1hcChuID0+IG4gKiAyKTsKY29uc3QgZmlsdGVyZWQgPSBudW1iZXJzLmZpbHRlcihuID0+IG4gPiAzKTsKCi8vIE9iamVjdCBkZXN0cnVjdHVyaW5nCmNvbnN0IHVzZXIgPSB7IG5hbWU6ICdKb2huJywgYWdlOiAzMCwgY2l0eTogJ05ldyBZb3JrJyB9Owpjb25zdCB7IG5hbWUsIGFnZSB9ID0gdXNlcjsKCi8vIFByb21pc2UgaGFuZGxpbmcKY29uc3QgZmV0Y2hEYXRhID0gYXN5bmMgKHVybCkgPT4gewogIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsKTsKICByZXR1cm4gcmVzcG9uc2UuanNvbigpOwp9OwoKLy8gTW9kZXJuIHN5bnRheApjb25zdCBncmVldCA9IChuYW1lID0gJ1dvcmxkJykgPT4gXGBIZWxsbywgXCR7bmFtZX0hXGA7CmNvbnNvbGUubG9nKGdyZWV0KCdTaGFkQ04nKSk7CiAgICAgIDwvZGVlcy1kYXRhdmlldy1jb2RlYm94PgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5QeXRob24gRXhhbXBsZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5QeXRob24gY29kZSB3aXRoIGNsYXNzZXMgYW5kIHR5cGUgaGludHMuPC9kaXY+CiAgICAgIDxkZWVzLWRhdGF2aWV3LWNvZGVib3ggcHJvZ2xhbmc9InB5dGhvbiI+CmZyb20gdHlwaW5nIGltcG9ydCBMaXN0LCBPcHRpb25hbAppbXBvcnQgYXN5bmNpbwoKY2xhc3MgRGF0YVByb2Nlc3NvcjoKICAgICIiIkEgc2ltcGxlIGRhdGEgcHJvY2Vzc29yIGNsYXNzIiIiCiAgICAKICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lOiBzdHIpOgogICAgICAgIHNlbGYubmFtZSA9IG5hbWUKICAgICAgICBzZWxmLmRhdGE6IExpc3RbZGljdF0gPSBbXQogICAgCiAgICBhc3luYyBkZWYgcHJvY2Vzc19kYXRhKHNlbGYsIGl0ZW1zOiBMaXN0W2RpY3RdKSAtPiBMaXN0W2RpY3RdOgogICAgICAgICIiIlByb2Nlc3MgZGF0YSBpdGVtcyBhc3luY2hyb25vdXNseSIiIgogICAgICAgIHJlc3VsdHMgPSBbXQogICAgICAgIGZvciBpdGVtIGluIGl0ZW1zOgogICAgICAgICAgICAjIFNpbXVsYXRlIGFzeW5jIHByb2Nlc3NpbmcKICAgICAgICAgICAgYXdhaXQgYXN5bmNpby5zbGVlcCgwLjEpCiAgICAgICAgICAgIHJlc3VsdHMuYXBwZW5kKHsKICAgICAgICAgICAgICAgICdpZCc6IGl0ZW0uZ2V0KCdpZCcpLAogICAgICAgICAgICAgICAgJ3Byb2Nlc3NlZCc6IFRydWUsCiAgICAgICAgICAgICAgICAncHJvY2Vzc29yJzogc2VsZi5uYW1lCiAgICAgICAgICAgIH0pCiAgICAgICAgcmV0dXJuIHJlc3VsdHMKICAgIAogICAgZGVmIGdldF9zdW1tYXJ5KHNlbGYpIC0+IGRpY3Q6CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgJ3Byb2Nlc3Nvcic6IHNlbGYubmFtZSwKICAgICAgICAgICAgJ2l0ZW1zX3Byb2Nlc3NlZCc6IGxlbihzZWxmLmRhdGEpCiAgICAgICAgfQoKIyBVc2FnZQpwcm9jZXNzb3IgPSBEYXRhUHJvY2Vzc29yKCJNYWluIikKZGF0YSA9IGF3YWl0IHByb2Nlc3Nvci5wcm9jZXNzX2RhdGEoW3snaWQnOiAxfSwgeydpZCc6IDJ9XSkKICAgICAgPC9kZWVzLWRhdGF2aWV3LWNvZGVib3g+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkNTUyBFeGFtcGxlPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPk1vZGVybiBDU1Mgd2l0aCBjdXN0b20gcHJvcGVydGllcyBhbmQgYW5pbWF0aW9ucy4gTm90ZSB0aGUgc2hvcnRlciBsYW5ndWFnZSBsYWJlbC48L2Rpdj4KICAgICAgPGRlZXMtZGF0YXZpZXctY29kZWJveCBwcm9nbGFuZz0iY3NzIj4KLyogTW9kZXJuIENTUyB3aXRoIGN1c3RvbSBwcm9wZXJ0aWVzICovCjpyb290IHsKICAtLXByaW1hcnktY29sb3I6ICMzYjgyZjY7CiAgLS1zZWNvbmRhcnktY29sb3I6ICMxMGI5ODE7CiAgLS1iYWNrZ3JvdW5kOiAjZmZmZmZmOwogIC0tdGV4dC1jb2xvcjogIzA5MDkwYjsKICAtLWJvcmRlci1yYWRpdXM6IDZweDsKfQoKLmNhcmQgewogIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQpOwogIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7CiAgcGFkZGluZzogMjRweDsKICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7Cn0KCi5jYXJkOmhvdmVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7CiAgYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKfQoKQGtleWZyYW1lcyBmYWRlSW4gewogIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH0KICB0byB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQp9CiAgICAgIDwvZGVlcy1kYXRhdmlldy1jb2RlYm94PgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5KU09OIEV4YW1wbGU8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+SlNPTiBjb25maWd1cmF0aW9uIHdpdGggcHJvcGVyIGZvcm1hdHRpbmcuPC9kaXY+CiAgICAgIDxkZWVzLWRhdGF2aWV3LWNvZGVib3ggcHJvZ2xhbmc9Impzb24iPgp7CiAgIm5hbWUiOiAiQGRlc2lnbi5lc3RhdGUvZGVlcy1jYXRhbG9nIiwKICAidmVyc2lvbiI6ICIxLjEwLjciLAogICJkZXNjcmlwdGlvbiI6ICJBIGNvbXByZWhlbnNpdmUgY2F0YWxvZyBvZiB3ZWIgY29tcG9uZW50cyIsCiAgIm1haW4iOiAiZGlzdF90c193ZWIvaW5kZXguanMiLAogICJ0eXBlIjogIm1vZHVsZSIsCiAgInNjcmlwdHMiOiB7CiAgICAiYnVpbGQiOiAidHNidWlsZCB0c2ZvbGRlcnMgLS1hbGxvd2ltcGxpY2l0YW55ICYmIHRzYnVuZGxlIGVsZW1lbnQgLS1wcm9kdWN0aW9uIiwKICAgICJ3YXRjaCI6ICJ0c3dhdGNoIGVsZW1lbnQiLAogICAgInRlc3QiOiAidHN0ZXN0IHRlc3QvIC0td2ViIC0tdmVyYm9zZSIKICB9LAogICJkZXBlbmRlbmNpZXMiOiB7CiAgICAiQGRlc2lnbi5lc3RhdGUvZGVlcy1lbGVtZW50IjogIl4yLjAuNDUiLAogICAgImhpZ2hsaWdodC5qcyI6ICJeMTEuOS4wIgogIH0KfQogICAgICA8L2RlZXMtZGF0YXZpZXctY29kZWJveD4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIENRZSxhRyxtMGEsX1FlPWYoKCk9PntoMGEoKTtsZSgpO2ZzKCk7UWUoKTtqaCgpO2VhKCk7WnIoKTtMYygpO1hyKCk7Q1FlPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxhRz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sbTBhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1kYXRhdmlldy1jb2RlYm94IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNEYXRhdmlld0NvZGVib3giKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKCldLGQ9WyQoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sQ1FlKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicHJvZ0xhbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InByb2dMYW5nImluIHYsImhhcyIpLGdldDpzKHY9PnYucHJvZ0xhbmcsImdldCIpLHNldDpzKCh2LHgpPT57di5wcm9nTGFuZz14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksQ1FlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29kZVRvRGlzcGxheSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iY29kZVRvRGlzcGxheSJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmNvZGVUb0Rpc3BsYXksImdldCIpLHNldDpzKCh2LHgpPT57di5jb2RlVG9EaXNwbGF5PXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxDUWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1mMGE7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXRhIFZpZXciLCJXb3Jrc3BhY2UiXTsjZT1hRyh0aGlzLG4sInR5cGVzY3JpcHQiKTtnZXQgcHJvZ0xhbmcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcHJvZ0xhbmcobSl7dGhpcy4jZT1tfSN0PShhRyh0aGlzLGwpLGFHKHRoaXMsYywiIikpO2dldCBjb2RlVG9EaXNwbGF5KCl7cmV0dXJuIHRoaXMuI3R9c2V0IGNvZGVUb0Rpc3BsYXkobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlc107Y29uc3RydWN0b3IoKXtzdXBlcigpfXJlbmRlcigpe3JldHVybiB3YAogICAgICAke2FyLnN0eWxlc30KICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgfQogICAgICAgIGRlZXMtdGlsZSB7CiAgICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIH0KCiAgICAgICAgLmFwcGJhciB7CiAgICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICB9CgogICAgICAgIC5hcHBiYXIgLmZpbGVOYW1lIHsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0OwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgZmxleDogMTsKICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICB9CgogICAgICAgIC5ib3R0b21CYXIgewogICAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgICBsaW5lLWhlaWdodDogMjhweDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICB9CgogICAgICAgIC5zcGFjZXNMYWJlbCB7CiAgICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB9CgogICAgICAgIC5sYW5ndWFnZUxhYmVsIHsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBsaW5lLWhlaWdodDogMjhweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIil9OwogICAgICAgICAgcGFkZGluZzogMHB4IDE2cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgfQoKICAgICAgICAuaGxqcy1rZXl3b3JkIHsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgICAgfQoKICAgICAgICAuY29kZWdyaWQgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTBweCBhdXRvOwogICAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgfQoKICAgICAgICAubGluZU51bWJlcnMgewogICAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4IDE2cHggMHB4IDBweDsKICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgfQoKICAgICAgICAubGluZUNvdW50ZXI6bGFzdC1jaGlsZCB7CiAgICAgICAgICBvcGFjaXR5OiA1MCU7CiAgICAgICAgfQoKICAgICAgICBwcmUgewogICAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgICAgIG1hcmdpbjogMHB4OwogICAgICAgICAgcGFkZGluZzogMjRweCAyNHB4OwogICAgICAgIH0KCiAgICAgICAgY29kZSB7CiAgICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgICAgcGFkZGluZzogMHB4OwogICAgICAgICAgbWFyZ2luOiAwcHg7CiAgICAgICAgfQoKICAgICAgICBjb2RlLAogICAgICAgIGNvZGUgKiwKICAgICAgICAubGluZU51bWJlcnMgewogICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtOwogICAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAke0xmfTsKICAgICAgICB9CgogICAgICAgIC5obGpzLXN0cmluZyB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwNTk2NjkiLCIjMTBiOTgxIil9OwogICAgICAgIH0KCiAgICAgICAgLmhsanMtYnVpbHRfaW4gewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjOGI1Y2Y2IiwiI2E3OGJmYSIpfTsKICAgICAgICB9CgogICAgICAgIC5obGpzLWZ1bmN0aW9uIHsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgfQoKICAgICAgICAuaGxqcy1wYXJhbXMgewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDg5MWIyIiwiIzA2YjZkNCIpfTsKICAgICAgICB9CgogICAgICAgIC5obGpzLWNvbW1lbnQgewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgICAgICB9CgogICAgICAgIC5obGpzLW51bWJlciB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNlYTU4MGMiLCIjZmI5MjNjIil9OwogICAgICAgIH0KCiAgICAgICAgLmhsanMtbGl0ZXJhbCB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZjg3MTcxIil9OwogICAgICAgIH0KCiAgICAgICAgLmhsanMtYXR0ciB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM4YjVjZjYiLCIjYTc4YmZhIil9OwogICAgICAgIH0KCiAgICAgICAgLmhsanMtdmFyaWFibGUgewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkZWVzLXRpbGUKICAgICAgICBAY29udGV4dG1lbnU9IiR7bT0+e3RhLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKG0sW3tuYW1lOiJBYm91dCIsaWNvbk5hbWU6ImNpcmNsZUluZm8iLGFjdGlvbjpzKGFzeW5jKCk9Pm51bGwsImFjdGlvbiIpfV0pfX0iCiAgICAgID4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImFwcGJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlTmFtZSI+aW5kZXgudHM8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlZ3JpZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5lTnVtYmVycyI+CiAgICAgICAgICAgICR7KCgpPT57bGV0IG09MDtyZXR1cm4gdGhpcy5jb2RlVG9EaXNwbGF5LnNwbGl0KGAKYCkubWFwKHY9PihtKyssd2A8ZGl2IGNsYXNzPSJsaW5lQ291bnRlciI+JHttfTwvZGl2PmApKX0pKCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxwcmU+PGNvZGU+PC9jb2RlPjwvcHJlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0iYm90dG9tQmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNlc0xhYmVsIj5TcGFjZXM6IDI8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Imxhbmd1YWdlTGFiZWwiPiR7dGhpcy5wcm9nTGFuZ308L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXRpbGU+CiAgICBgfWNvZGVUb0Rpc3BsYXlTdG9yZT0oYUcodGhpcyxwKSwiIik7aGlnaGxpZ2h0SnM9bnVsbDthc3luYyB1cGRhdGVkKG0pe3N1cGVyLnVwZGF0ZWQobSksY29uc29sZS5sb2coImhpZ2hsaWdodGluZyBub3ciKSxjb25zb2xlLmxvZyh0aGlzLmNoaWxkTm9kZXMpO2xldCB2PVtdO3RoaXMuY2hpbGROb2Rlcy5mb3JFYWNoKGc9PntnLm5vZGVOYW1lPT09IiN0ZXh0IiYmdi5wdXNoKGcpfSksdGhpcy5jb2RlVG9EaXNwbGF5JiZ0aGlzLmNvZGVUb0Rpc3BsYXkhPT10aGlzLmNvZGVUb0Rpc3BsYXlTdG9yZSYmKHRoaXMuY29kZVRvRGlzcGxheVN0b3JlPSQzLm5vcm1hbGl6ZSh0aGlzLmNvZGVUb0Rpc3BsYXkpLnRyaW1TdGFydCgpKSx2WzBdJiZ2WzBdLndob2xlVGV4dCYmIXRoaXMuY29kZVRvRGlzcGxheSYmKHRoaXMuY29kZVRvRGlzcGxheVN0b3JlPSQzLm5vcm1hbGl6ZSh2WzBdLndob2xlVGV4dCkudHJpbVN0YXJ0KCksdGhpcy5jb2RlVG9EaXNwbGF5PXRoaXMuY29kZVRvRGlzcGxheVN0b3JlKSxhd2FpdCBIdC5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLHRoaXMuaGlnaGxpZ2h0SnN8fCh0aGlzLmhpZ2hsaWdodEpzPWF3YWl0IE5zLmdldEluc3RhbmNlKCkubG9hZEhpZ2hsaWdodEpzKCkpO2xldCB4PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJjb2RlIiksYj10aGlzLmhpZ2hsaWdodEpzLmhpZ2hsaWdodCh0aGlzLmNvZGVUb0Rpc3BsYXlTdG9yZSx7bGFuZ3VhZ2U6dGhpcy5wcm9nTGFuZyxpZ25vcmVJbGxlZ2FsczohMH0pO3guaW5uZXJIVE1MPWIudmFsdWV9c3RhdGlje2FHKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBnMGE9ZigoKT0+e19RZSgpfSk7dmFyIGIwYSx2MGE9ZigoKT0+e2xlKCk7X24oKTtiMGE9cygoKT0+d2AgPHN0eWxlPgogICAgLmRlbW8gewogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y1ZjVmNSIsIiMwYTBhMGEiKX07CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBjb250ZW50OiAnJzsKICAgICAgcGFkZGluZzogNDBweDsKICAgIH0KICAgIAogICAgLmRlbW8tZ3JpZCB7CiAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgIGdhcDogMjRweDsKICAgICAgbWF4LXdpZHRoOiA4MDBweDsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICB9CiAgICAKICAgIC5kZW1vLXNlY3Rpb24gewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBnYXA6IDE2cHg7CiAgICB9CiAgICAKICAgIC5kZW1vLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBzYW5zLXNlcmlmOwogICAgfQogICAgCiAgICAuZGVtby1ub3RlIHsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIHNhbnMtc2VyaWY7CiAgICB9CiAgPC9zdHlsZT4KICA8ZGl2IGNsYXNzPSJkZW1vIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tbm90ZSI+CiAgICAgIFJpZ2h0LWNsaWNrIG9uIGFueSBkZXRhaWwgcm93IHRvIGNvcHkgdGhlIHZhbHVlLCBrZXksIG9yIGtleTp2YWx1ZSBjb21iaW5hdGlvbgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLWdyaWQiPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tdGl0bGUiPlNlcnZpY2UgSGVhbHRoIFN0YXR1czwvZGl2PgogICAgICAgIDxkZWVzLWRhdGF2aWV3LXN0YXR1c29iamVjdAogICAgICAgICAgLnN0YXR1c09iamVjdD0ke3tpZDoiMSIsbmFtZToiQVBJIEdhdGV3YXkgU2VydmljZSIsbGFzdFVwZGF0ZWQ6RGF0ZS5ub3coKSxjb21iaW5lZFN0YXR1czoib2siLGNvbWJpbmVkU3RhdHVzVGV4dDoiQWxsIHN5c3RlbXMgb3BlcmF0aW9uYWwiLGRldGFpbHM6W3tuYW1lOiJSZXNwb25zZSBUaW1lIix2YWx1ZToiNDVtcyAoYXZnKSIsc3RhdHVzOiJvayIsc3RhdHVzVGV4dDoiV2l0aGluIG5vcm1hbCByYW5nZSJ9LHtuYW1lOiJVcHRpbWUiLHZhbHVlOiI5OS45OSUgKDMwIGRheXMpIixzdGF0dXM6Im9rIixzdGF0dXNUZXh0OiJFeGNlbGxlbnQgdXB0aW1lIn0se25hbWU6IkFjdGl2ZSBDb25uZWN0aW9ucyIsdmFsdWU6IjEsMjM0IC8gMTAsMDAwIixzdGF0dXM6Im9rIixzdGF0dXNUZXh0OiJOb3JtYWwgbG9hZCJ9LHtuYW1lOiJTU0wgQ2VydGlmaWNhdGUiLHZhbHVlOiJWYWxpZCB1bnRpbCAyMDI0LTEyLTMxIixzdGF0dXM6Im9rIixzdGF0dXNUZXh0OiJDZXJ0aWZpY2F0ZSB2YWxpZCJ9XX19CiAgICAgICAgPgogICAgICAgIDwvZGVlcy1kYXRhdmlldy1zdGF0dXNvYmplY3Q+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLXRpdGxlIj5EYXRhYmFzZSBDbHVzdGVyIFN0YXR1czwvZGl2PgogICAgICAgIDxkZWVzLWRhdGF2aWV3LXN0YXR1c29iamVjdAogICAgICAgICAgLnN0YXR1c09iamVjdD0ke3tpZDoiMiIsbmFtZToiUG9zdGdyZVNRTCBDbHVzdGVyIixsYXN0VXBkYXRlZDpEYXRlLm5vdygpLTM2ZTUsY29tYmluZWRTdGF0dXM6InBhcnRseV9vayIsY29tYmluZWRTdGF0dXNUZXh0OiJNaW5vciBpc3N1ZXMgZGV0ZWN0ZWQiLGRldGFpbHM6W3tuYW1lOiJQcmltYXJ5IE5vZGUiLHZhbHVlOiJkYi1wcmltYXJ5LTAxIChoZWFsdGh5KSIsc3RhdHVzOiJvayIsc3RhdHVzVGV4dDoiT3BlcmF0aW5nIG5vcm1hbGx5In0se25hbWU6IlJlcGxpY2EgTGFnIix2YWx1ZToiMi41IHNlY29uZHMiLHN0YXR1czoicGFydGx5X29rIixzdGF0dXNUZXh0OiJTbGlnaHRseSBlbGV2YXRlZCJ9LHtuYW1lOiJEaXNrIFVzYWdlIix2YWx1ZToiNzglICgzMTJHQiAvIDQwMEdCKSIsc3RhdHVzOiJwYXJ0bHlfb2siLHN0YXR1c1RleHQ6IkFwcHJvYWNoaW5nIHRocmVzaG9sZCJ9LHtuYW1lOiJDb25uZWN0aW9uIFBvb2wiLHZhbHVlOiI4OSAvIDEwMCBjb25uZWN0aW9ucyIsc3RhdHVzOiJvayIsc3RhdHVzVGV4dDoiV2l0aGluIGxpbWl0cyJ9XX19CiAgICAgICAgPgogICAgICAgIDwvZGVlcy1kYXRhdmlldy1zdGF0dXNvYmplY3Q+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLXRpdGxlIj5CdWlsZCBQaXBlbGluZSBTdGF0dXM8L2Rpdj4KICAgICAgICA8ZGVlcy1kYXRhdmlldy1zdGF0dXNvYmplY3QKICAgICAgICAgIC5zdGF0dXNPYmplY3Q9JHt7aWQ6IjMiLG5hbWU6IkNJL0NEIFBpcGVsaW5lIixsYXN0VXBkYXRlZDpEYXRlLm5vdygpLTg2NGU1LGNvbWJpbmVkU3RhdHVzOiJub3Rfb2siLGNvbWJpbmVkU3RhdHVzVGV4dDoiQnVpbGQgZmFpbHVyZSIsZGV0YWlsczpbe25hbWU6Ikxhc3QgQnVpbGQiLHZhbHVlOiJCdWlsZCAjMTIzNCAtIEZhaWxlZCIsc3RhdHVzOiJub3Rfb2siLHN0YXR1c1RleHQ6IlRlc3QgZmFpbHVyZXMifSx7bmFtZToiRmFpbGVkIFRlc3RzIix2YWx1ZToiMyB0ZXN0cyBmYWlsZWQ6IGF1dGguc3BlYy50cywgdXNlci5zcGVjLnRzLCBhcGkuc3BlYy50cyIsc3RhdHVzOiJub3Rfb2siLHN0YXR1c1RleHQ6IlVuaXQgdGVzdCBmYWlsdXJlcyJ9LHtuYW1lOiJDb2RlIENvdmVyYWdlIix2YWx1ZToiODIuNSUgKHRhcmdldDogODUlKSIsc3RhdHVzOiJwYXJ0bHlfb2siLHN0YXR1c1RleHQ6IkJlbG93IHRhcmdldCJ9LHtuYW1lOiJCdWlsZCBEdXJhdGlvbiIsdmFsdWU6IjEybSAzNHMiLHN0YXR1czoib2siLHN0YXR1c1RleHQ6Ik5vcm1hbCBkdXJhdGlvbiJ9XX19CiAgICAgICAgPgogICAgICAgIDwvZGVlcy1kYXRhdmlldy1zdGF0dXNvYmplY3Q+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+YCwiZGVtb0Z1bmMiKX0pO3ZhciB4MGEsVFFlLHkwYSx3MGE9ZigoKT0+e0wxKCk7VnMoKTt2MGEoKTtsZSgpO19uKCk7WnIoKTtRZSgpO1hyKCk7eDBhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxUUWU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHkwYT0oKCk9PntsZXQgYT1baWUoImRlZXMtZGF0YXZpZXctc3RhdHVzb2JqZWN0IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNEYXRhdmlld1N0YXR1c29iamVjdCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBjPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLHgwYSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0YXR1c09iamVjdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4ic3RhdHVzT2JqZWN0ImluIHAsImhhcyIpLGdldDpzKHA9PnAuc3RhdHVzT2JqZWN0LCJnZXQiKSxzZXQ6cygocCx1KT0+e3Auc3RhdHVzT2JqZWN0PXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSx4MGEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1iMGE7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXRhIFZpZXciXTsjZT1UUWUodGhpcyxuLHZvaWQgMCk7Z2V0IHN0YXR1c09iamVjdCgpe3JldHVybiB0aGlzLiNlfXNldCBzdGF0dXNPYmplY3QoYyl7dGhpcy4jZT1jfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZSB7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgfQoKICAgICAgaDEgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAuc3RhdHVzZG90IHsKICAgICAgICBoZWlnaHQ6IDEwcHg7CiAgICAgICAgd2lkdGg6IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA2My45JSkiLCJoc2woMCAwJSA0NS4xJSkiKX07CiAgICAgICAgbWFyZ2luOiBhdXRvOwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke2guYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUgLyAwLjIpIiwiaHNsKDAgMCUgNDUuMSUgLyAwLjIpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5jb3B5TWFpbiB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmNvcHlNYWluOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLmNvcHlNYWluOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDkxJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsKICAgICAgfQoKICAgICAgLnN0YXR1c2RvdC5vayB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke2guYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlIC8gMC4yKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSAvIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXNkb3Qubm90X29rIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgODQuMiUgNjAuMiUpIiwiaHNsKDAgNzIuMiUgNTAuNiUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke2guYmRUaGVtZSgiaHNsKDAgODQuMiUgNjAuMiUgLyAwLjIpIiwiaHNsKDAgNzIuMiUgNTAuNiUgLyAwLjIpIil9OwogICAgICB9CgogICAgICAuc3RhdHVzZG90LnBhcnRseV9vayB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyNSA5NSUgNTMlKSIsImhzbCgyNSA5NSUgNjMlKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtoLmJkVGhlbWUoImhzbCgyNSA5NSUgNTMlIC8gMC4yKSIsImhzbCgyNSA5NSUgNjMlIC8gMC4yKSIpfTsKICAgICAgfQoKICAgICAgLmRldGFpbCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICBjdXJzb3I6IGNvbnRleHQtbWVudTsKICAgICAgfQoKICAgICAgLmRldGFpbDpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CgogICAgICAuZGV0YWlsOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4wNCkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjA2KSIpfTsKICAgICAgfQoKICAgICAgLmRldGFpbCAuc3RhdHVzZG90IHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwgLmRldGFpbHNUZXh0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLmRldGFpbCAuZGV0YWlsc1RleHQgLmxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZGV0YWlsIC5kZXRhaWxzVGV4dCAudmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LWZhbWlseTogJ0ludGVsIE9uZSBNb25vJywgJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CYXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGhlaWdodDogMjhweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CYXIgLnN0YXR1c0xhYmVsIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImhlYWRpbmciPgogICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzZG90ICR7dGhpcy5zdGF0dXNPYmplY3Q/LmNvbWJpbmVkU3RhdHVzfSI+PC9kaXY+CiAgICAgICAgICA8aDE+JHt0aGlzLnN0YXR1c09iamVjdD8ubmFtZXx8Ik5vIHN0YXR1cyBvYmplY3QgYXNzaWduZWQifTwvaDE+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb3B5TWFpbiIgQGNsaWNrPSR7dGhpcy5oYW5kbGVDb3B5QXNKc29ufT5Db3B5IEpTT048L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuc3RhdHVzT2JqZWN0Py5kZXRhaWxzPy5tYXAoYz0+d2AKICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgIGNsYXNzPSJkZXRhaWwiCiAgICAgICAgICAgICAgQGNvbnRleHRtZW51PSR7cD0+e3AucHJldmVudERlZmF1bHQoKSx0YS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhwLFt7bmFtZToiQ29weSBWYWx1ZSIsaWNvbk5hbWU6Imx1Y2lkZTpjb3B5IixhY3Rpb246cyhhc3luYygpPT57YXdhaXQgdGhpcy5jb3B5VG9DbGlwYm9hcmQoYy52YWx1ZSwiVmFsdWUiKX0sImFjdGlvbiIpfSx7bmFtZToiQ29weSBLZXkiLGljb25OYW1lOiJsdWNpZGU6a2V5IixhY3Rpb246cyhhc3luYygpPT57YXdhaXQgdGhpcy5jb3B5VG9DbGlwYm9hcmQoYy5uYW1lLCJLZXkiKX0sImFjdGlvbiIpfSx7bmFtZToiQ29weSBLZXk6VmFsdWUiLGljb25OYW1lOiJsdWNpZGU6Y29weS1wbHVzIixhY3Rpb246cyhhc3luYygpPT57YXdhaXQgdGhpcy5jb3B5VG9DbGlwYm9hcmQoYCR7Yy5uYW1lfTogJHtjLnZhbHVlfWAsIktleTpWYWx1ZSIpfSwiYWN0aW9uIil9XSl9fQogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzZG90ICR7Yy5zdGF0dXN9Ij48L2Rpdj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsc1RleHQiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhYmVsIj4ke2MubmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idmFsdWUiPiR7Yy52YWx1ZX08L3NwYW4+CiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0iYm90dG9tQmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1c0xhYmVsIj4ke3RoaXMuc3RhdHVzT2JqZWN0Py5sYXN0VXBkYXRlZD9gTGFzdCB1cGRhdGVkOiAke25ldyBEYXRlKHRoaXMuc3RhdHVzT2JqZWN0Lmxhc3RVcGRhdGVkKS50b0xvY2FsZVN0cmluZygpfWA6IiJ9PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy10aWxlPgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXt9YXN5bmMgY29weVRvQ2xpcGJvYXJkKGMscD0iVGV4dCIpe3RyeXthd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChjKSxjb25zb2xlLmxvZyhgJHtwfSBjb3BpZWQgdG8gY2xpcGJvYXJkYCl9Y2F0Y2godSl7Y29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGNvcHkgJHtwfTpgLHUpfX1hc3luYyBoYW5kbGVDb3B5QXNKc29uKCl7aWYodGhpcy5zdGF0dXNPYmplY3QpdHJ5e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KEpTT04uc3RyaW5naWZ5KHRoaXMuc3RhdHVzT2JqZWN0LG51bGwsMikpO2xldCBjPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY29weU1haW4iKSxwPWMudGV4dENvbnRlbnQ7Yy50ZXh0Q29udGVudD0iQ29waWVkISI7bGV0IHU9IXRoaXMuZ29CcmlnaHQ7Yy5zdHlsZS5iYWNrZ3JvdW5kPXU/ImhzbCgxNDIuMSA3MC42JSA0NS4zJSAvIDAuMSkiOiJoc2woMTQyLjEgNzYuMiUgMzYuMyUgLyAwLjEpIixjLnN0eWxlLmJvcmRlckNvbG9yPXU/ImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiOiJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIixjLnN0eWxlLmNvbG9yPXU/ImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiOiJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIixzZXRUaW1lb3V0KCgpPT57Yy50ZXh0Q29udGVudD1wLGMuc3R5bGUuYmFja2dyb3VuZD0iIixjLnN0eWxlLmJvcmRlckNvbG9yPSIiLGMuc3R5bGUuY29sb3I9IiJ9LDE1MDApfWNhdGNoKGMpe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjb3B5OiIsYyl9fWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxUUWUodGhpcyxsKX1zdGF0aWN7VFFlKHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciBNMGE9ZigoKT0+e3cwYSgpfSk7dmFyIGswYT1mKCgpPT57R3NlKCl9KTt2YXIgTFFlLFMwYSx6MGE9ZigoKT0+e2xlKCk7JFFlKCk7TFFlPWNsYXNze3N0YXRpY3tzKHRoaXMsIk1vY2tTdG9yYWdlRGF0YVByb3ZpZGVyIil9b2JqZWN0cz1uZXcgTWFwO2NvbnN0cnVjdG9yKCl7bGV0IGU9bmV3IERhdGUoKS50b0lTT1N0cmluZygpO3RoaXMub2JqZWN0cy5zZXQoImRvY3VtZW50cy9yZWFkbWUubWQiLHtjb250ZW50OmJ0b2EoYCMgV2VsY29tZQoKVGhpcyBpcyBhIGRlbW8gU3RvcmFnZSBicm93c2VyLgpgKSxjb250ZW50VHlwZToidGV4dC9tYXJrZG93biIsc2l6ZTo0MixsYXN0TW9kaWZpZWQ6ZX0pLHRoaXMub2JqZWN0cy5zZXQoImRvY3VtZW50cy9jb25maWcuanNvbiIse2NvbnRlbnQ6YnRvYShgewogICJuYW1lIjogImRlbW8iLAogICJ2ZXJzaW9uIjogIjEuMC4wIgp9YCksY29udGVudFR5cGU6ImFwcGxpY2F0aW9uL2pzb24iLHNpemU6NDgsbGFzdE1vZGlmaWVkOmV9KSx0aGlzLm9iamVjdHMuc2V0KCJkb2N1bWVudHMvbm90ZXMvdG9kby50eHQiLHtjb250ZW50OmJ0b2EoYEJ1eSBtaWxrCkZpeCBidWcgIzQyCkRlcGxveSB0byBwcm9kdWN0aW9uYCksY29udGVudFR5cGU6InRleHQvcGxhaW4iLHNpemU6NDUsbGFzdE1vZGlmaWVkOmV9KSx0aGlzLm9iamVjdHMuc2V0KCJpbWFnZXMvbG9nby5wbmciLHtjb250ZW50OmJ0b2EoImZha2UtcG5nLWRhdGEiKSxjb250ZW50VHlwZToiaW1hZ2UvcG5nIixzaXplOjI0NTAwLGxhc3RNb2RpZmllZDplfSksdGhpcy5vYmplY3RzLnNldCgiaW1hZ2VzL2Jhbm5lci5qcGciLHtjb250ZW50OmJ0b2EoImZha2UtanBnLWRhdGEiKSxjb250ZW50VHlwZToiaW1hZ2UvanBlZyIsc2l6ZToxNTZlMyxsYXN0TW9kaWZpZWQ6ZX0pLHRoaXMub2JqZWN0cy5zZXQoInNjcmlwdHMvZGVwbG95LnNoIix7Y29udGVudDpidG9hKGAjIS9iaW4vYmFzaAplY2hvICJEZXBsb3lpbmcuLi4iCmApLGNvbnRlbnRUeXBlOiJ0ZXh0L3BsYWluIixzaXplOjM0LGxhc3RNb2RpZmllZDplfSksdGhpcy5vYmplY3RzLnNldCgiaW5kZXguaHRtbCIse2NvbnRlbnQ6YnRvYShgPCFET0NUWVBFIGh0bWw+CjxodG1sPgo8Ym9keT4KICA8aDE+SGVsbG8gV29ybGQ8L2gxPgo8L2JvZHk+CjwvaHRtbD5gKSxjb250ZW50VHlwZToidGV4dC9odG1sIixzaXplOjcyLGxhc3RNb2RpZmllZDplfSksdGhpcy5vYmplY3RzLnNldCgic3R5bGVzLmNzcyIse2NvbnRlbnQ6YnRvYSgiYm9keSB7IG1hcmdpbjogMDsgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IH0iKSxjb250ZW50VHlwZToidGV4dC9jc3MiLHNpemU6NDQsbGFzdE1vZGlmaWVkOmV9KX1hc3luYyBsaXN0T2JqZWN0cyhlLHQscil7bGV0IGk9dHx8IiIsbz1bXSxuPW5ldyBTZXQ7Zm9yKGxldFtsLGRdb2YgdGhpcy5vYmplY3RzKXtpZighbC5zdGFydHNXaXRoKGkpKWNvbnRpbnVlO2xldCBjPWwuc2xpY2UoaS5sZW5ndGgpO2lmKHIpe2xldCBwPWMuaW5kZXhPZihyKTtwPj0wP24uYWRkKGkrYy5zbGljZSgwLHArMSkpOm8ucHVzaCh7a2V5Omwsc2l6ZTpkLnNpemUsbGFzdE1vZGlmaWVkOmQubGFzdE1vZGlmaWVkfSl9ZWxzZSBvLnB1c2goe2tleTpsLHNpemU6ZC5zaXplLGxhc3RNb2RpZmllZDpkLmxhc3RNb2RpZmllZH0pfXJldHVybntvYmplY3RzOm8scHJlZml4ZXM6QXJyYXkuZnJvbShuKS5zb3J0KCl9fWFzeW5jIGdldE9iamVjdChlLHQpe2xldCByPXRoaXMub2JqZWN0cy5nZXQodCk7aWYoIXIpdGhyb3cgbmV3IEVycm9yKCJOb3QgZm91bmQiKTtyZXR1cm57Li4ucn19YXN5bmMgcHV0T2JqZWN0KGUsdCxyLGkpe3JldHVybiB0aGlzLm9iamVjdHMuc2V0KHQse2NvbnRlbnQ6cixjb250ZW50VHlwZTppLHNpemU6YXRvYihyKS5sZW5ndGgsbGFzdE1vZGlmaWVkOm5ldyBEYXRlKCkudG9JU09TdHJpbmcoKX0pLCEwfWFzeW5jIGRlbGV0ZU9iamVjdChlLHQpe3JldHVybiB0aGlzLm9iamVjdHMuZGVsZXRlKHQpfWFzeW5jIGRlbGV0ZVByZWZpeChlLHQpe2ZvcihsZXQgciBvZiB0aGlzLm9iamVjdHMua2V5cygpKXIuc3RhcnRzV2l0aCh0KSYmdGhpcy5vYmplY3RzLmRlbGV0ZShyKTtyZXR1cm4hMH1hc3luYyBnZXRPYmplY3RVcmwoZSx0KXtsZXQgcj10aGlzLm9iamVjdHMuZ2V0KHQpO2lmKCFyKXJldHVybiIiO2xldCBpPW5ldyBCbG9iKFtVaW50OEFycmF5LmZyb20oYXRvYihyLmNvbnRlbnQpLG89Pm8uY2hhckNvZGVBdCgwKSldLHt0eXBlOnIuY29udGVudFR5cGV9KTtyZXR1cm4gVVJMLmNyZWF0ZU9iamVjdFVSTChpKX1hc3luYyBtb3ZlT2JqZWN0KGUsdCxyKXtsZXQgaT10aGlzLm9iamVjdHMuZ2V0KHQpO3JldHVybiBpPyh0aGlzLm9iamVjdHMuc2V0KHIsey4uLmksbGFzdE1vZGlmaWVkOm5ldyBEYXRlKCkudG9JU09TdHJpbmcoKX0pLHRoaXMub2JqZWN0cy5kZWxldGUodCkse3N1Y2Nlc3M6ITB9KTp7c3VjY2VzczohMSxlcnJvcjoiU291cmNlIG5vdCBmb3VuZCJ9fWFzeW5jIG1vdmVQcmVmaXgoZSx0LHIpe2xldCBpPTAsbz1BcnJheS5mcm9tKHRoaXMub2JqZWN0cy5lbnRyaWVzKCkpLmZpbHRlcigoW25dKT0+bi5zdGFydHNXaXRoKHQpKTtmb3IobGV0W24sbF1vZiBvKXtsZXQgZD1yK24uc2xpY2UodC5sZW5ndGgpO3RoaXMub2JqZWN0cy5zZXQoZCx7Li4ubCxsYXN0TW9kaWZpZWQ6bmV3IERhdGUoKS50b0lTT1N0cmluZygpfSksdGhpcy5vYmplY3RzLmRlbGV0ZShuKSxpKyt9cmV0dXJue3N1Y2Nlc3M6ITAsbW92ZWRDb3VudDppfX19LFMwYT1zKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIGhlaWdodDogNjAwcHg7CiAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICB9CiAgPC9zdHlsZT4KICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGVlcy1zdG9yYWdlLWJyb3dzZXIKICAgICAgLmRhdGFQcm92aWRlcj0ke25ldyBMUWV9CiAgICAgIC5idWNrZXROYW1lPSR7ImRlbW8tYnVja2V0In0KICAgID48L2RlZXMtc3RvcmFnZS1icm93c2VyPgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7ZnVuY3Rpb24gUW0oYSl7aWYoYT09bnVsbClyZXR1cm4iLSI7aWYoYT09PTApcmV0dXJuIjAgQiI7bGV0IGU9WyJCIiwiS0IiLCJNQiIsIkdCIiwiVEIiXSx0PWEscj0wO2Zvcig7dD49MTAyNCYmcjxlLmxlbmd0aC0xOyl0Lz0xMDI0LHIrKztyZXR1cm5gJHt0LnRvRml4ZWQocj4wPzE6MCl9ICR7ZVtyXX1gfWZ1bmN0aW9uIEMwYShhKXtyZXR1cm4gYT09bnVsbD8iIjphPj0xZTY/YCR7KGEvMWU2KS50b0ZpeGVkKDEpfU1gOmE+PTFlMz9gJHsoYS8xZTMpLnRvRml4ZWQoMSl9S2A6YS50b1N0cmluZygpfWZ1bmN0aW9uIG1hKGEpe2xldCBlPWEucmVwbGFjZSgvXC8kLywiIikuc3BsaXQoIi8iKTtyZXR1cm4gZVtlLmxlbmd0aC0xXXx8YX1mdW5jdGlvbiBKbShhLGUpe3JldHVybiBhLmVuZHNXaXRoKCIvIikmJmUuc3RhcnRzV2l0aChhKT97dmFsaWQ6ITEsZXJyb3I6IkNhbm5vdCBtb3ZlIGEgZm9sZGVyIGludG8gaXRzZWxmIn06ajEoYSk9PT1lP3t2YWxpZDohMSxlcnJvcjoiSXRlbSBpcyBhbHJlYWR5IGluIHRoaXMgbG9jYXRpb24ifTp7dmFsaWQ6ITB9fWZ1bmN0aW9uIGoxKGEpe2xldCBlPWEuZW5kc1dpdGgoIi8iKT9hLnNsaWNlKDAsLTEpOmEsdD1lLmxhc3RJbmRleE9mKCIvIik7cmV0dXJuIHQ+PTA/ZS5zdWJzdHJpbmcoMCx0KzEpOiIifWZ1bmN0aW9uIE80KGEpe3JldHVybntqc29uOiJhcHBsaWNhdGlvbi9qc29uIix0eHQ6InRleHQvcGxhaW4iLGh0bWw6InRleHQvaHRtbCIsY3NzOiJ0ZXh0L2NzcyIsanM6ImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiLHRzOiJ0ZXh0L3R5cGVzY3JpcHQiLG1kOiJ0ZXh0L21hcmtkb3duIix4bWw6ImFwcGxpY2F0aW9uL3htbCIseWFtbDoidGV4dC95YW1sIix5bWw6InRleHQveWFtbCIsY3N2OiJ0ZXh0L2NzdiJ9W2FdfHwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIn1mdW5jdGlvbiBlNyhhKXtyZXR1cm57anNvbjpgewogIAp9YCxodG1sOmA8IURPQ1RZUEUgaHRtbD4KPGh0bWw+CjxoZWFkPgogIDx0aXRsZT48L3RpdGxlPgo8L2hlYWQ+Cjxib2R5PgogIAo8L2JvZHk+CjwvaHRtbD5gLG1kOmAjIFRpdGxlCgpgLHR4dDoiIn1bYV18fCIifWZ1bmN0aW9uIHg1KGEpe2lmKCFhKXJldHVybltdO2xldCBlPWEuc3BsaXQoIi8iKS5maWx0ZXIoaT0+aSksdD1bXSxyPSIiO2ZvcihsZXQgaSBvZiBlKXIrPWkrIi8iLHQucHVzaChyKTtyZXR1cm4gdH12YXIgckc9ZigoKT0+e3MoUW0sImZvcm1hdFNpemUiKTtzKEMwYSwiZm9ybWF0Q291bnQiKTtzKG1hLCJnZXRGaWxlTmFtZSIpO3MoSm0sInZhbGlkYXRlTW92ZSIpO3MoajEsImdldFBhcmVudFByZWZpeCIpO3MoTzQsImdldENvbnRlbnRUeXBlIik7cyhlNywiZ2V0RGVmYXVsdENvbnRlbnQiKTtzKHg1LCJnZXRQYXRoU2VnbWVudHMiKX0pO3ZhciBPYSx2dCxfMGEsRFFlPWYoKCk9PntsZSgpO1pyKCk7UWUoKTtyRygpO09hPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSx2dD1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sXzBhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1zdG9yYWdlLWNvbHVtbnMiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdLGNlLHVlPVtdLFk9W10sUSxKPVtdLFo9W10sZ2UsYWU9W10scmU9W10seWUsVj1bXSxIPVtdLG9lLHNlPVtdLHRlPVtdLHplLE9lPVtdLHFlPVtdLGN0LCRlPVtdLENlPVtdLE1lLGRlPVtdLHZlPVtdLEFlLFplPVtdLGx0PVtdLHp0LFRlPVtdLHdlPVtdLFJlLGZlPVtdLGJlPVtdLFBlLGZ0PVtdLG10PVtdLE50LFFhPVtdLGVyPVtdLHlzLGplPVtdLHV0PVtdLEphLE1yPVtdLCRyPVtdLFZyLERyPVtdLG1vPVtdLGdvLExlPVtdLFNlPVtdLEJlLGlhPVtdLHdzPVtdO3ZhciBibD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1N0b3JhZ2VDb2x1bW5zIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IHhlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9WyQoe3R5cGU6TnVtYmVyfSldLHk9W0soKV0sTj1bSygpXSxPPVtLKCldLEI9W0soKV0sUD1bSygpXSxXPVtLKCldLGhlPVtLKCldLG1lPVtLKCldLGNlPVtLKCldLFE9W0soKV0sZ2U9W0soKV0seWU9W0soKV0sb2U9W0soKV0semU9W0soKV0sY3Q9W0soKV0sTWU9W0soKV0sQWU9W0soKV0senQ9W0soKV0sUmU9W0soKV0sUGU9W0soKV0sTnQ9W0soKV0seXM9W0soKV0sSmE9W0soKV0sVnI9W0soKV0sZ289W0soKV0sQmU9W0soKV0sT2EodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkYXRhUHJvdmlkZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJkYXRhUHJvdmlkZXIiaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5kYXRhUHJvdmlkZXIsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5kYXRhUHJvdmlkZXI9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LG4sbCksT2EodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJidWNrZXROYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4iYnVja2V0TmFtZSJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLmJ1Y2tldE5hbWUsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5idWNrZXROYW1lPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxjLHApLE9hKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFByZWZpeCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+ImN1cnJlbnRQcmVmaXgiaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5jdXJyZW50UHJlZml4LCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUuY3VycmVudFByZWZpeD1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sbSx2KSxPYSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlZnJlc2hLZXkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJyZWZyZXNoS2V5ImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUucmVmcmVzaEtleSwiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLnJlZnJlc2hLZXk9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LGIsZyksT2EodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb2x1bW5zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4iY29sdW1ucyJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLmNvbHVtbnMsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5jb2x1bW5zPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxrLEMpLE9hKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+ImxvYWRpbmciaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5sb2FkaW5nLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUubG9hZGluZz1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sXyx6KSxPYSh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dDcmVhdGVEaWFsb2ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJzaG93Q3JlYXRlRGlhbG9nImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUuc2hvd0NyZWF0ZURpYWxvZywiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLnNob3dDcmVhdGVEaWFsb2c9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LFQsRSksT2EodGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjcmVhdGVEaWFsb2dUeXBlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4iY3JlYXRlRGlhbG9nVHlwZSJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLmNyZWF0ZURpYWxvZ1R5cGUsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5jcmVhdGVEaWFsb2dUeXBlPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxNLFMpLE9hKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3JlYXRlRGlhbG9nUHJlZml4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4iY3JlYXRlRGlhbG9nUHJlZml4ImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUuY3JlYXRlRGlhbG9nUHJlZml4LCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUuY3JlYXRlRGlhbG9nUHJlZml4PV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxBLEYpLE9hKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3JlYXRlRGlhbG9nTmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+ImNyZWF0ZURpYWxvZ05hbWUiaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5jcmVhdGVEaWFsb2dOYW1lLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUuY3JlYXRlRGlhbG9nTmFtZT1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0saixHKSxPYSh0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkcmFnT3ZlckNvbHVtbkluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4iZHJhZ092ZXJDb2x1bW5JbmRleCJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLmRyYWdPdmVyQ29sdW1uSW5kZXgsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5kcmFnT3ZlckNvbHVtbkluZGV4PV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxSLFUpLE9hKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRyYWdPdmVyRm9sZGVyUHJlZml4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4iZHJhZ092ZXJGb2xkZXJQcmVmaXgiaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5kcmFnT3ZlckZvbGRlclByZWZpeCwiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLmRyYWdPdmVyRm9sZGVyUHJlZml4PV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxJLHEpLE9hKHRoaXMsbnVsbCxjZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InVwbG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+InVwbG9hZGluZyJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLnVwbG9hZGluZywiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLnVwbG9hZGluZz1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sdWUsWSksT2EodGhpcyxudWxsLFEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ1cGxvYWRQcm9ncmVzcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+InVwbG9hZFByb2dyZXNzImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUudXBsb2FkUHJvZ3Jlc3MsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS51cGxvYWRQcm9ncmVzcz1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sSixaKSxPYSh0aGlzLG51bGwsZ2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93TW92ZURpYWxvZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+InNob3dNb3ZlRGlhbG9nImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUuc2hvd01vdmVEaWFsb2csImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5zaG93TW92ZURpYWxvZz1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sYWUscmUpLE9hKHRoaXMsbnVsbCx5ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vdmVTb3VyY2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJtb3ZlU291cmNlImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUubW92ZVNvdXJjZSwiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLm1vdmVTb3VyY2U9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LFYsSCksT2EodGhpcyxudWxsLG9lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZURlc3RpbmF0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4ibW92ZURlc3RpbmF0aW9uImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUubW92ZURlc3RpbmF0aW9uLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUubW92ZURlc3RpbmF0aW9uPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxzZSx0ZSksT2EodGhpcyxudWxsLHplLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZUluUHJvZ3Jlc3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJtb3ZlSW5Qcm9ncmVzcyJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLm1vdmVJblByb2dyZXNzLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUubW92ZUluUHJvZ3Jlc3M9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LE9lLHFlKSxPYSh0aGlzLG51bGwsY3Qse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlRXJyb3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJtb3ZlRXJyb3IiaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5tb3ZlRXJyb3IsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5tb3ZlRXJyb3I9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LCRlLENlKSxPYSh0aGlzLG51bGwsTWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93TW92ZVBpY2tlckRpYWxvZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+InNob3dNb3ZlUGlja2VyRGlhbG9nImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUuc2hvd01vdmVQaWNrZXJEaWFsb2csImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5zaG93TW92ZVBpY2tlckRpYWxvZz1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sZGUsdmUpLE9hKHRoaXMsbnVsbCxBZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vdmVQaWNrZXJTb3VyY2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJtb3ZlUGlja2VyU291cmNlImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUubW92ZVBpY2tlclNvdXJjZSwiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLm1vdmVQaWNrZXJTb3VyY2U9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LFplLGx0KSxPYSh0aGlzLG51bGwsenQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlUGlja2VyQ3VycmVudFByZWZpeCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+Im1vdmVQaWNrZXJDdXJyZW50UHJlZml4ImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUubW92ZVBpY2tlckN1cnJlbnRQcmVmaXgsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5tb3ZlUGlja2VyQ3VycmVudFByZWZpeD1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sVGUsd2UpLE9hKHRoaXMsbnVsbCxSZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vdmVQaWNrZXJQcmVmaXhlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+Im1vdmVQaWNrZXJQcmVmaXhlcyJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLm1vdmVQaWNrZXJQcmVmaXhlcywiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLm1vdmVQaWNrZXJQcmVmaXhlcz1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sZmUsYmUpLE9hKHRoaXMsbnVsbCxQZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vdmVQaWNrZXJMb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4ibW92ZVBpY2tlckxvYWRpbmciaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5tb3ZlUGlja2VyTG9hZGluZywiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLm1vdmVQaWNrZXJMb2FkaW5nPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxmdCxtdCksT2EodGhpcyxudWxsLE50LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1JlbmFtZURpYWxvZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+InNob3dSZW5hbWVEaWFsb2ciaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5zaG93UmVuYW1lRGlhbG9nLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUuc2hvd1JlbmFtZURpYWxvZz1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sUWEsZXIpLE9hKHRoaXMsbnVsbCx5cyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlbmFtZVNvdXJjZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+InJlbmFtZVNvdXJjZSJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLnJlbmFtZVNvdXJjZSwiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLnJlbmFtZVNvdXJjZT1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0samUsdXQpLE9hKHRoaXMsbnVsbCxKYSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlbmFtZU5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJyZW5hbWVOYW1lImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUucmVuYW1lTmFtZSwiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLnJlbmFtZU5hbWU9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LE1yLCRyKSxPYSh0aGlzLG51bGwsVnIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZW5hbWVJblByb2dyZXNzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4icmVuYW1lSW5Qcm9ncmVzcyJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLnJlbmFtZUluUHJvZ3Jlc3MsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5yZW5hbWVJblByb2dyZXNzPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxEcixtbyksT2EodGhpcyxudWxsLGdvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVuYW1lRXJyb3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJyZW5hbWVFcnJvciJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLnJlbmFtZUVycm9yLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUucmVuYW1lRXJyb3I9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LExlLFNlKSxPYSh0aGlzLG51bGwsQmUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkcmFnZ2VkSXRlbSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+ImRyYWdnZWRJdGVtImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUuZHJhZ2dlZEl0ZW0sImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5kcmFnZ2VkSXRlbT1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0saWEsd3MpLE9hKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOnhlfSxudWxsLHQpLGJsPXI9ZS52YWx1ZSx4ZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp4ZX0pfSNlPXZ0KHRoaXMsbixudWxsKTtnZXQgZGF0YVByb3ZpZGVyKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGRhdGFQcm92aWRlcih4ZSl7dGhpcy4jZT14ZX0jdD0odnQodGhpcyxsKSx2dCh0aGlzLGMsIiIpKTtnZXQgYnVja2V0TmFtZSgpe3JldHVybiB0aGlzLiN0fXNldCBidWNrZXROYW1lKHhlKXt0aGlzLiN0PXhlfSNhPSh2dCh0aGlzLHApLHZ0KHRoaXMsbSwiIikpO2dldCBjdXJyZW50UHJlZml4KCl7cmV0dXJuIHRoaXMuI2F9c2V0IGN1cnJlbnRQcmVmaXgoeGUpe3RoaXMuI2E9eGV9I3I9KHZ0KHRoaXMsdiksdnQodGhpcyxiLDApKTtnZXQgcmVmcmVzaEtleSgpe3JldHVybiB0aGlzLiNyfXNldCByZWZyZXNoS2V5KHhlKXt0aGlzLiNyPXhlfSNzPSh2dCh0aGlzLGcpLHZ0KHRoaXMsayxbXSkpO2dldCBjb2x1bW5zKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGNvbHVtbnMoeGUpe3RoaXMuI3M9eGV9I2k9KHZ0KHRoaXMsQyksdnQodGhpcyxfLCExKSk7Z2V0IGxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jaX1zZXQgbG9hZGluZyh4ZSl7dGhpcy4jaT14ZX0jbz0odnQodGhpcyx6KSx2dCh0aGlzLFQsITEpKTtnZXQgc2hvd0NyZWF0ZURpYWxvZygpe3JldHVybiB0aGlzLiNvfXNldCBzaG93Q3JlYXRlRGlhbG9nKHhlKXt0aGlzLiNvPXhlfSNuPSh2dCh0aGlzLEUpLHZ0KHRoaXMsTSwiZm9sZGVyIikpO2dldCBjcmVhdGVEaWFsb2dUeXBlKCl7cmV0dXJuIHRoaXMuI259c2V0IGNyZWF0ZURpYWxvZ1R5cGUoeGUpe3RoaXMuI249eGV9I2w9KHZ0KHRoaXMsUyksdnQodGhpcyxBLCIiKSk7Z2V0IGNyZWF0ZURpYWxvZ1ByZWZpeCgpe3JldHVybiB0aGlzLiNsfXNldCBjcmVhdGVEaWFsb2dQcmVmaXgoeGUpe3RoaXMuI2w9eGV9I2M9KHZ0KHRoaXMsRiksdnQodGhpcyxqLCIiKSk7Z2V0IGNyZWF0ZURpYWxvZ05hbWUoKXtyZXR1cm4gdGhpcy4jY31zZXQgY3JlYXRlRGlhbG9nTmFtZSh4ZSl7dGhpcy4jYz14ZX0jZD0odnQodGhpcyxHKSx2dCh0aGlzLFIsLTEpKTtnZXQgZHJhZ092ZXJDb2x1bW5JbmRleCgpe3JldHVybiB0aGlzLiNkfXNldCBkcmFnT3ZlckNvbHVtbkluZGV4KHhlKXt0aGlzLiNkPXhlfSN1PSh2dCh0aGlzLFUpLHZ0KHRoaXMsSSxudWxsKSk7Z2V0IGRyYWdPdmVyRm9sZGVyUHJlZml4KCl7cmV0dXJuIHRoaXMuI3V9c2V0IGRyYWdPdmVyRm9sZGVyUHJlZml4KHhlKXt0aGlzLiN1PXhlfSNwPSh2dCh0aGlzLHEpLHZ0KHRoaXMsdWUsITEpKTtnZXQgdXBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI3B9c2V0IHVwbG9hZGluZyh4ZSl7dGhpcy4jcD14ZX0jZj0odnQodGhpcyxZKSx2dCh0aGlzLEosbnVsbCkpO2dldCB1cGxvYWRQcm9ncmVzcygpe3JldHVybiB0aGlzLiNmfXNldCB1cGxvYWRQcm9ncmVzcyh4ZSl7dGhpcy4jZj14ZX0jaD0odnQodGhpcyxaKSx2dCh0aGlzLGFlLCExKSk7Z2V0IHNob3dNb3ZlRGlhbG9nKCl7cmV0dXJuIHRoaXMuI2h9c2V0IHNob3dNb3ZlRGlhbG9nKHhlKXt0aGlzLiNoPXhlfSNtPSh2dCh0aGlzLHJlKSx2dCh0aGlzLFYsbnVsbCkpO2dldCBtb3ZlU291cmNlKCl7cmV0dXJuIHRoaXMuI219c2V0IG1vdmVTb3VyY2UoeGUpe3RoaXMuI209eGV9I2c9KHZ0KHRoaXMsSCksdnQodGhpcyxzZSwiIikpO2dldCBtb3ZlRGVzdGluYXRpb24oKXtyZXR1cm4gdGhpcy4jZ31zZXQgbW92ZURlc3RpbmF0aW9uKHhlKXt0aGlzLiNnPXhlfSNiPSh2dCh0aGlzLHRlKSx2dCh0aGlzLE9lLCExKSk7Z2V0IG1vdmVJblByb2dyZXNzKCl7cmV0dXJuIHRoaXMuI2J9c2V0IG1vdmVJblByb2dyZXNzKHhlKXt0aGlzLiNiPXhlfSN2PSh2dCh0aGlzLHFlKSx2dCh0aGlzLCRlLG51bGwpKTtnZXQgbW92ZUVycm9yKCl7cmV0dXJuIHRoaXMuI3Z9c2V0IG1vdmVFcnJvcih4ZSl7dGhpcy4jdj14ZX0jeD0odnQodGhpcyxDZSksdnQodGhpcyxkZSwhMSkpO2dldCBzaG93TW92ZVBpY2tlckRpYWxvZygpe3JldHVybiB0aGlzLiN4fXNldCBzaG93TW92ZVBpY2tlckRpYWxvZyh4ZSl7dGhpcy4jeD14ZX0jeT0odnQodGhpcyx2ZSksdnQodGhpcyxaZSxudWxsKSk7Z2V0IG1vdmVQaWNrZXJTb3VyY2UoKXtyZXR1cm4gdGhpcy4jeX1zZXQgbW92ZVBpY2tlclNvdXJjZSh4ZSl7dGhpcy4jeT14ZX0jdz0odnQodGhpcyxsdCksdnQodGhpcyxUZSwiIikpO2dldCBtb3ZlUGlja2VyQ3VycmVudFByZWZpeCgpe3JldHVybiB0aGlzLiN3fXNldCBtb3ZlUGlja2VyQ3VycmVudFByZWZpeCh4ZSl7dGhpcy4jdz14ZX0jTT0odnQodGhpcyx3ZSksdnQodGhpcyxmZSxbXSkpO2dldCBtb3ZlUGlja2VyUHJlZml4ZXMoKXtyZXR1cm4gdGhpcy4jTX1zZXQgbW92ZVBpY2tlclByZWZpeGVzKHhlKXt0aGlzLiNNPXhlfSNrPSh2dCh0aGlzLGJlKSx2dCh0aGlzLGZ0LCExKSk7Z2V0IG1vdmVQaWNrZXJMb2FkaW5nKCl7cmV0dXJuIHRoaXMuI2t9c2V0IG1vdmVQaWNrZXJMb2FkaW5nKHhlKXt0aGlzLiNrPXhlfSNTPSh2dCh0aGlzLG10KSx2dCh0aGlzLFFhLCExKSk7Z2V0IHNob3dSZW5hbWVEaWFsb2coKXtyZXR1cm4gdGhpcy4jU31zZXQgc2hvd1JlbmFtZURpYWxvZyh4ZSl7dGhpcy4jUz14ZX0jej0odnQodGhpcyxlciksdnQodGhpcyxqZSxudWxsKSk7Z2V0IHJlbmFtZVNvdXJjZSgpe3JldHVybiB0aGlzLiN6fXNldCByZW5hbWVTb3VyY2UoeGUpe3RoaXMuI3o9eGV9I0M9KHZ0KHRoaXMsdXQpLHZ0KHRoaXMsTXIsIiIpKTtnZXQgcmVuYW1lTmFtZSgpe3JldHVybiB0aGlzLiNDfXNldCByZW5hbWVOYW1lKHhlKXt0aGlzLiNDPXhlfSNfPSh2dCh0aGlzLCRyKSx2dCh0aGlzLERyLCExKSk7Z2V0IHJlbmFtZUluUHJvZ3Jlc3MoKXtyZXR1cm4gdGhpcy4jX31zZXQgcmVuYW1lSW5Qcm9ncmVzcyh4ZSl7dGhpcy4jXz14ZX0jVD0odnQodGhpcyxtbyksdnQodGhpcyxMZSxudWxsKSk7Z2V0IHJlbmFtZUVycm9yKCl7cmV0dXJuIHRoaXMuI1R9c2V0IHJlbmFtZUVycm9yKHhlKXt0aGlzLiNUPXhlfSNMPSh2dCh0aGlzLFNlKSx2dCh0aGlzLGlhLG51bGwpKTtnZXQgZHJhZ2dlZEl0ZW0oKXtyZXR1cm4gdGhpcy4jTH1zZXQgZHJhZ2dlZEl0ZW0oeGUpe3RoaXMuI0w9eGV9cmVzaXppbmc9KHZ0KHRoaXMsd3MpLG51bGwpO0RFRkFVTFRfQ09MVU1OX1dJRFRIPTI1MDtNSU5fQ09MVU1OX1dJRFRIPTE1MDtNQVhfQ09MVU1OX1dJRFRIPTUwMDtkcmFnQ291bnRlcnM9bmV3IE1hcDtmb2xkZXJIb3ZlclRpbWVyPW51bGw7ZmlsZUlucHV0RWxlbWVudD1udWxsO2ZvbGRlcklucHV0RWxlbWVudD1udWxsO3N0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxFZSxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuOwogICAgICB9CgogICAgICAuY29sdW1ucy1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7CiAgICAgIH0KCiAgICAgIC5jb2x1bW4td3JhcHBlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5jb2x1bW4gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlIHsKICAgICAgICB3aWR0aDogNXB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjdXJzb3I6IGNvbC1yZXNpemU7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZTo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMnB4OwogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzMzMyIpfTsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGU6aG92ZXI6OmFmdGVyLAogICAgICAucmVzaXplLWhhbmRsZS5hY3RpdmU6OmFmdGVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM0MDQwNDAiKX07CiAgICAgICAgd2lkdGg6IDJweDsKICAgICAgICBsZWZ0OiAxcHg7CiAgICAgIH0KCiAgICAgIC5jb2x1bW4td3JhcHBlcjpsYXN0LWNoaWxkIC5yZXNpemUtaGFuZGxlIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAuY29sdW1uLWhlYWRlciB7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzY2NiIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAyKSIsInJnYmEoMCwgMCwgMCwgMC4yKSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzMzIil9OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtcyB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogNnB4IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzOwogICAgICB9CgogICAgICAuY29sdW1uLWl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDQpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSIpfTsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMWQ0ZWQ4IiwiI2UwZTBlMCIpfTsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtLmZvbGRlciB7CiAgICAgICAgY29sb3I6ICNmYmJmMjQ7CiAgICAgIH0KCiAgICAgIC5jb2x1bW4taXRlbSAuaWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuY29sdW1uLWl0ZW0gLm5hbWUgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAuY29sdW1uLWl0ZW0gLmNoZXZyb24gewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjNTU1Iil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM2NjYiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAubG9hZGluZyB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzY2NiIpfTsKICAgICAgfQoKICAgICAgLmNvbHVtbi5kcmFnLW92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjA4KTsKICAgICAgICBvdXRsaW5lOiAycHggZGFzaGVkIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjQpOwogICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OwogICAgICB9CgogICAgICAuY29sdW1uLWl0ZW0uZm9sZGVyLmRyYWctdGFyZ2V0IHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSAhaW1wb3J0YW50OwogICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC41KTsKICAgICAgfQoKICAgICAgLnVwbG9hZC1vdmVybGF5IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIH0KCiAgICAgIC51cGxvYWQtb3ZlcmxheSAudXBsb2FkLXRleHQgewogICAgICAgIGNvbG9yOiAjZTBlMGUwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLnVwbG9hZC1vdmVybGF5IC51cGxvYWQtcHJvZ3Jlc3MgewogICAgICAgIGNvbG9yOiAjODg4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgfQoKICAgICAgLmRyYWctaGludCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogOHB4OwogICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAyNDYsIDAuOSk7CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICB6LWluZGV4OiA1OwogICAgICB9CgogICAgICAuZGlhbG9nLW92ZXJsYXkgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB6LWluZGV4OiAxMDAwOwogICAgICB9CgogICAgICAuZGlhbG9nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMxZTFlMWUiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1pbi13aWR0aDogNDAwcHg7CiAgICAgICAgYm94LXNoYWRvdzogMCAyMHB4IDQwcHggcmdiYSgwLCAwLCAwLCAwLjUpOwogICAgICB9CgogICAgICAuZGlhbG9nLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctbG9jYXRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjODg4Iil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1pbnB1dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE0MTQxNCIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzMzMiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuZGlhbG9nLWlucHV0OmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjZTBlMGUwIil9OwogICAgICB9CgogICAgICAuZGlhbG9nLWhpbnQgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNjY2Iil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgfQoKICAgICAgLmRpYWxvZy1idG4gewogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOwogICAgICB9CgogICAgICAuZGlhbG9nLWJ0bi1jYW5jZWwgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzQ0NCIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYWFhIil9OwogICAgICB9CgogICAgICAuZGlhbG9nLWJ0bi1jYW5jZWw6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDMpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmZmIil9OwogICAgICB9CgogICAgICAuZGlhbG9nLWJ0bi1jcmVhdGUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzQwNDA0MCIpfTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZmZiIpfTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1idG4tY3JlYXRlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiM1MDUwNTAiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctYnRuLWNyZWF0ZTpkaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC8qIE1vdmUgZGlhbG9nIHN0eWxlcyAqLwogICAgICAubW92ZS1zdW1tYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAzKSIsInJnYmEoMCwgMCwgMCwgMC4yKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAubW92ZS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLm1vdmUtaXRlbTpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAubW92ZS1sYWJlbCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzg4OCIpfTsKICAgICAgICBtaW4td2lkdGg6IDQwcHg7CiAgICAgIH0KCiAgICAgIC5tb3ZlLXBhdGggewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNmM2Y0NiIsIiNlMGUwZTAiKX07CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOwogICAgICB9CgogICAgICAubW92ZS1lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xNSk7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzksIDY4LCA2OCwgMC4zKTsKICAgICAgICBjb2xvcjogI2Y4NzE3MTsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAvKiBNb3ZlIHBpY2tlciBkaWFsb2cgc3R5bGVzICovCiAgICAgIC5tb3ZlLXBpY2tlci1kaWFsb2cgewogICAgICAgIG1pbi13aWR0aDogNDUwcHg7CiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7CiAgICAgIH0KCiAgICAgIC5waWNrZXItYnJlYWRjcnVtYiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDMpIiwicmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICB9CgogICAgICAucGlja2VyLWNydW1iIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjODg4Iil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAucGlja2VyLWNydW1iOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmZmIil9OwogICAgICB9CgogICAgICAucGlja2VyLXNlcGFyYXRvciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzU1NSIpfTsKICAgICAgfQoKICAgICAgLnBpY2tlci1saXN0IHsKICAgICAgICBtYXgtaGVpZ2h0OiAyODBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzMzMyIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBtaW4taGVpZ2h0OiAxMDBweDsKICAgICAgfQoKICAgICAgLnBpY2tlci1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiAjZmJiZjI0OwogICAgICB9CgogICAgICAucGlja2VyLWl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDMpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSIpfTsKICAgICAgfQoKICAgICAgLnBpY2tlci1pdGVtIC5pY29uIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5waWNrZXItaXRlbSAubmFtZSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5waWNrZXItZW1wdHkgewogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM2NjYiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAuY29sdW1uLWl0ZW0uZHJhZ2dpbmcgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtLmRyb3AtdGFyZ2V0IHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4xNSkgIWltcG9ydGFudDsKICAgICAgICBvdXRsaW5lOiAxcHggZGFzaGVkIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjUpOwogICAgICB9CgogICAgICAuY29sdW1uLWl0ZW0uZHJvcC1pbnZhbGlkIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpICFpbXBvcnRhbnQ7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQogICAgYF07YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGF3YWl0IHRoaXMubG9hZEluaXRpYWxDb2x1bW4oKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5jbGVhckZvbGRlckhvdmVyKCksdGhpcy5kcmFnQ291bnRlcnMuY2xlYXIoKSx0aGlzLmZpbGVJbnB1dEVsZW1lbnQmJih0aGlzLmZpbGVJbnB1dEVsZW1lbnQucmVtb3ZlKCksdGhpcy5maWxlSW5wdXRFbGVtZW50PW51bGwpLHRoaXMuZm9sZGVySW5wdXRFbGVtZW50JiYodGhpcy5mb2xkZXJJbnB1dEVsZW1lbnQucmVtb3ZlKCksdGhpcy5mb2xkZXJJbnB1dEVsZW1lbnQ9bnVsbCl9dXBkYXRlZCh4ZSl7eGUuaGFzKCJidWNrZXROYW1lIil8fHhlLmhhcygiY3VycmVudFByZWZpeCIpP3RoaXMubG9hZEluaXRpYWxDb2x1bW4oKTp4ZS5oYXMoInJlZnJlc2hLZXkiKSYmdGhpcy5yZWZyZXNoQWxsQ29sdW1ucygpfWFzeW5jIGxvYWRJbml0aWFsQ29sdW1uKCl7aWYodGhpcy5kYXRhUHJvdmlkZXIpe3RoaXMubG9hZGluZz0hMDt0cnl7bGV0IHhlPXg1KHRoaXMuY3VycmVudFByZWZpeCksbmU9WyIiLC4uLnhlXSxfZT1hd2FpdCBQcm9taXNlLmFsbChuZS5tYXAoVWU9PnRoaXMuZGF0YVByb3ZpZGVyLmxpc3RPYmplY3RzKHRoaXMuYnVja2V0TmFtZSxVZSwiLyIpKSk7dGhpcy5jb2x1bW5zPV9lLm1hcCgoVWUsa3QpPT57bGV0IE1zPW5lW2t0XSxqcj1rdDx4ZS5sZW5ndGg/eGVba3RdOm51bGw7cmV0dXJue3ByZWZpeDpNcyxvYmplY3RzOlVlLm9iamVjdHMscHJlZml4ZXM6VWUucHJlZml4ZXMsc2VsZWN0ZWRJdGVtOmpyLHdpZHRoOnRoaXMuREVGQVVMVF9DT0xVTU5fV0lEVEh9fSksdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLnNjcm9sbFRvRW5kKCkpfWNhdGNoKHhlKXtjb25zb2xlLmVycm9yKCJFcnJvciBsb2FkaW5nIG9iamVjdHM6Iix4ZSksdGhpcy5jb2x1bW5zPVtdfXRoaXMubG9hZGluZz0hMX19YXN5bmMgcmVmcmVzaEFsbENvbHVtbnMoKXtpZighdGhpcy5kYXRhUHJvdmlkZXIpcmV0dXJuO2xldCB4ZT1hd2FpdCBQcm9taXNlLmFsbCh0aGlzLmNvbHVtbnMubWFwKGFzeW5jIG5lPT57dHJ5e2xldCBfZT1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5saXN0T2JqZWN0cyh0aGlzLmJ1Y2tldE5hbWUsbmUucHJlZml4LCIvIik7cmV0dXJuey4uLm5lLG9iamVjdHM6X2Uub2JqZWN0cyxwcmVmaXhlczpfZS5wcmVmaXhlc319Y2F0Y2h7cmV0dXJuIG5lfX0pKTt0aGlzLmNvbHVtbnM9eGV9YXN5bmMgc2VsZWN0Rm9sZGVyKHhlLG5lKXtpZih0aGlzLmRhdGFQcm92aWRlcil7dGhpcy5jb2x1bW5zPXRoaXMuY29sdW1ucy5tYXAoKF9lLFVlKT0+VWU9PT14ZT97Li4uX2Usc2VsZWN0ZWRJdGVtOm5lfTpfZSksdGhpcy5jb2x1bW5zPXRoaXMuY29sdW1ucy5zbGljZSgwLHhlKzEpO3RyeXtsZXQgX2U9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubGlzdE9iamVjdHModGhpcy5idWNrZXROYW1lLG5lLCIvIik7dGhpcy5jb2x1bW5zPVsuLi50aGlzLmNvbHVtbnMse3ByZWZpeDpuZSxvYmplY3RzOl9lLm9iamVjdHMscHJlZml4ZXM6X2UucHJlZml4ZXMsc2VsZWN0ZWRJdGVtOm51bGwsd2lkdGg6dGhpcy5ERUZBVUxUX0NPTFVNTl9XSURUSH1dLHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+dGhpcy5zY3JvbGxUb0VuZCgpKX1jYXRjaChfZSl7Y29uc29sZS5lcnJvcigiRXJyb3IgbG9hZGluZyBmb2xkZXI6IixfZSl9fX1zY3JvbGxUb0VuZCgpe3RoaXMuc2Nyb2xsTGVmdD10aGlzLnNjcm9sbFdpZHRoLXRoaXMuY2xpZW50V2lkdGh9c3RhcnRSZXNpemUoeGUsbmUpe3hlLnByZXZlbnREZWZhdWx0KCksdGhpcy5yZXNpemluZz17Y29sdW1uSW5kZXg6bmUsc3RhcnRYOnhlLmNsaWVudFgsc3RhcnRXaWR0aDp0aGlzLmNvbHVtbnNbbmVdLndpZHRofSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlUmVzaXplKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLnN0b3BSZXNpemUpLGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yPSJjb2wtcmVzaXplIixkb2N1bWVudC5ib2R5LnN0eWxlLnVzZXJTZWxlY3Q9Im5vbmUifWhhbmRsZVJlc2l6ZT1zKHhlPT57aWYoIXRoaXMucmVzaXppbmcpcmV0dXJuO2xldCBuZT14ZS5jbGllbnRYLXRoaXMucmVzaXppbmcuc3RhcnRYLF9lPU1hdGgubWluKHRoaXMuTUFYX0NPTFVNTl9XSURUSCxNYXRoLm1heCh0aGlzLk1JTl9DT0xVTU5fV0lEVEgsdGhpcy5yZXNpemluZy5zdGFydFdpZHRoK25lKSk7dGhpcy5jb2x1bW5zPXRoaXMuY29sdW1ucy5tYXAoKFVlLGt0KT0+a3Q9PT10aGlzLnJlc2l6aW5nLmNvbHVtbkluZGV4P3suLi5VZSx3aWR0aDpfZX06VWUpfSwiaGFuZGxlUmVzaXplIik7c3RvcFJlc2l6ZT1zKCgpPT57dGhpcy5yZXNpemluZz1udWxsLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVSZXNpemUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuc3RvcFJlc2l6ZSksZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3I9IiIsZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0PSIifSwic3RvcFJlc2l6ZSIpO3NlbGVjdEZpbGUoeGUsbmUpe3RoaXMuY29sdW1ucz10aGlzLmNvbHVtbnMubWFwKChfZSxVZSk9PlVlPT09eGU/ey4uLl9lLHNlbGVjdGVkSXRlbTpuZX06X2UpLHRoaXMuY29sdW1ucz10aGlzLmNvbHVtbnMuc2xpY2UoMCx4ZSsxKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJrZXktc2VsZWN0ZWQiLHtkZXRhaWw6e2tleTpuZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1nZXRGaWxlSWNvbih4ZSl7bGV0IG5lPXhlLnNwbGl0KCIuIikucG9wKCk/LnRvTG93ZXJDYXNlKCl8fCIiO3JldHVybntqc29uOiJNMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjh6Iix0eHQ6Ik0xNCAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWOHoiLHBuZzoiTTUgM2gxNGEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMnoiLGpwZzoiTTUgM2gxNGEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMnoiLGpwZWc6Ik01IDNoMTRhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJ6IixnaWY6Ik01IDNoMTRhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJ6IixwZGY6Ik0xNCAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWOHoifVtuZV18fCJNMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjh6In1oYW5kbGVGb2xkZXJDb250ZXh0TWVudSh4ZSxuZSxfZSl7dGhpcy5kYXRhUHJvdmlkZXImJih4ZS5wcmV2ZW50RGVmYXVsdCgpLHRhLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKHhlLFt7bmFtZToiT3BlbiIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJPcGVuIixhY3Rpb246cyhhc3luYygpPT57dGhpcy5zZWxlY3RGb2xkZXIobmUsX2UpfSwiYWN0aW9uIil9LHtuYW1lOiJDb3B5IFBhdGgiLGljb25OYW1lOiJsdWNpZGU6Y29weSIsYWN0aW9uOnMoYXN5bmMoKT0+e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KF9lKX0sImFjdGlvbiIpfSx7bmFtZToiUmVuYW1lIixpY29uTmFtZToibHVjaWRlOnBlbmNpbCIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuUmVuYW1lRGlhbG9nKF9lLCEwKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiTW92ZSB0by4uLiIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJJbnB1dCIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuTW92ZVBpY2tlckRpYWxvZyhfZSwhMCksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6Ik5ldyBGb2xkZXIgSW5zaWRlIixpY29uTmFtZToibHVjaWRlOmZvbGRlclBsdXMiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMub3BlbkNyZWF0ZURpYWxvZygiZm9sZGVyIixfZSksImFjdGlvbiIpfSx7bmFtZToiTmV3IEZpbGUgSW5zaWRlIixpY29uTmFtZToibHVjaWRlOmZpbGVQbHVzIixhY3Rpb246cyhhc3luYygpPT50aGlzLm9wZW5DcmVhdGVEaWFsb2coImZpbGUiLF9lKSwiYWN0aW9uIil9LHtuYW1lOiJVcGxvYWQgRmlsZXMuLi4iLGljb25OYW1lOiJsdWNpZGU6ZmlsZSIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy50cmlnZ2VyRmlsZVVwbG9hZChfZSwiZmlsZXMiKSwiYWN0aW9uIil9LHtuYW1lOiJVcGxvYWQgRm9sZGVyLi4uIixpY29uTmFtZToibHVjaWRlOmZvbGRlclVwIixhY3Rpb246cyhhc3luYygpPT50aGlzLnRyaWdnZXJGaWxlVXBsb2FkKF9lLCJmb2xkZXIiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiRGVsZXRlIEZvbGRlciIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaDIiLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25maXJtKGBEZWxldGUgZm9sZGVyICIke21hKF9lKX0iIGFuZCBhbGwgaXRzIGNvbnRlbnRzP2ApJiZhd2FpdCB0aGlzLmRhdGFQcm92aWRlci5kZWxldGVQcmVmaXgodGhpcy5idWNrZXROYW1lLF9lKSYmKHRoaXMuY29sdW1ucz10aGlzLmNvbHVtbnMuc2xpY2UoMCxuZSsxKSx0aGlzLmNvbHVtbnM9dGhpcy5jb2x1bW5zLm1hcCgoa3QsTXMpPT5Ncz09PW5lP3suLi5rdCxzZWxlY3RlZEl0ZW06bnVsbH06a3QpLGF3YWl0IHRoaXMucmVmcmVzaENvbHVtbkJ5UHJlZml4KHRoaXMuY29sdW1uc1tuZV0ucHJlZml4KSl9LCJhY3Rpb24iKX1dKSl9aGFuZGxlRmlsZUNvbnRleHRNZW51KHhlLG5lLF9lKXt0aGlzLmRhdGFQcm92aWRlciYmKHhlLnByZXZlbnREZWZhdWx0KCksdGEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoeGUsW3tuYW1lOiJQcmV2aWV3IixpY29uTmFtZToibHVjaWRlOmV5ZSIsYWN0aW9uOnMoYXN5bmMoKT0+e3RoaXMuc2VsZWN0RmlsZShuZSxfZSl9LCJhY3Rpb24iKX0se25hbWU6IkRvd25sb2FkIixpY29uTmFtZToibHVjaWRlOmRvd25sb2FkIixhY3Rpb246cyhhc3luYygpPT57bGV0IFVlPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmdldE9iamVjdFVybCh0aGlzLmJ1Y2tldE5hbWUsX2UpLGt0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtrdC5ocmVmPVVlLGt0LmRvd25sb2FkPW1hKF9lKSxrdC5jbGljaygpfSwiYWN0aW9uIil9LHtuYW1lOiJDb3B5IFBhdGgiLGljb25OYW1lOiJsdWNpZGU6Y29weSIsYWN0aW9uOnMoYXN5bmMoKT0+e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KF9lKX0sImFjdGlvbiIpfSx7bmFtZToiUmVuYW1lIixpY29uTmFtZToibHVjaWRlOnBlbmNpbCIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuUmVuYW1lRGlhbG9nKF9lLCExKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiTW92ZSB0by4uLiIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJJbnB1dCIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuTW92ZVBpY2tlckRpYWxvZyhfZSwhMSksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkRlbGV0ZSIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaDIiLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25maXJtKGBEZWxldGUgZmlsZSAiJHttYShfZSl9Ij9gKSYmYXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIuZGVsZXRlT2JqZWN0KHRoaXMuYnVja2V0TmFtZSxfZSkmJmF3YWl0IHRoaXMucmVmcmVzaENvbHVtbkJ5UHJlZml4KHRoaXMuY29sdW1uc1tuZV0ucHJlZml4KX0sImFjdGlvbiIpfV0pKX1oYW5kbGVFbXB0eVNwYWNlQ29udGV4dE1lbnUoeGUsbmUpe2lmKHhlLnRhcmdldCE9PXhlLmN1cnJlbnRUYXJnZXQpcmV0dXJuO3hlLnByZXZlbnREZWZhdWx0KCk7bGV0IF9lPXRoaXMuY29sdW1uc1tuZV0ucHJlZml4O3RhLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKHhlLFt7bmFtZToiTmV3IEZvbGRlciIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJQbHVzIixhY3Rpb246cyhhc3luYygpPT50aGlzLm9wZW5DcmVhdGVEaWFsb2coImZvbGRlciIsX2UpLCJhY3Rpb24iKX0se25hbWU6Ik5ldyBGaWxlIixpY29uTmFtZToibHVjaWRlOmZpbGVQbHVzIixhY3Rpb246cyhhc3luYygpPT50aGlzLm9wZW5DcmVhdGVEaWFsb2coImZpbGUiLF9lKSwiYWN0aW9uIil9LHtuYW1lOiJVcGxvYWQgRmlsZXMuLi4iLGljb25OYW1lOiJsdWNpZGU6ZmlsZSIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy50cmlnZ2VyRmlsZVVwbG9hZChfZSwiZmlsZXMiKSwiYWN0aW9uIil9LHtuYW1lOiJVcGxvYWQgRm9sZGVyLi4uIixpY29uTmFtZToibHVjaWRlOmZvbGRlclVwIixhY3Rpb246cyhhc3luYygpPT50aGlzLnRyaWdnZXJGaWxlVXBsb2FkKF9lLCJmb2xkZXIiKSwiYWN0aW9uIil9XSl9b3BlbkNyZWF0ZURpYWxvZyh4ZSxuZSl7dGhpcy5jcmVhdGVEaWFsb2dUeXBlPXhlLHRoaXMuY3JlYXRlRGlhbG9nUHJlZml4PW5lLHRoaXMuY3JlYXRlRGlhbG9nTmFtZT0iIix0aGlzLnNob3dDcmVhdGVEaWFsb2c9ITB9ZW5zdXJlRmlsZUlucHV0cygpe3RoaXMuZmlsZUlucHV0RWxlbWVudHx8KHRoaXMuZmlsZUlucHV0RWxlbWVudD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLHRoaXMuZmlsZUlucHV0RWxlbWVudC50eXBlPSJmaWxlIix0aGlzLmZpbGVJbnB1dEVsZW1lbnQubXVsdGlwbGU9ITAsdGhpcy5maWxlSW5wdXRFbGVtZW50LnN0eWxlLmRpc3BsYXk9Im5vbmUiLHRoaXMuc2hhZG93Um9vdC5hcHBlbmRDaGlsZCh0aGlzLmZpbGVJbnB1dEVsZW1lbnQpKSx0aGlzLmZvbGRlcklucHV0RWxlbWVudHx8KHRoaXMuZm9sZGVySW5wdXRFbGVtZW50PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0IiksdGhpcy5mb2xkZXJJbnB1dEVsZW1lbnQudHlwZT0iZmlsZSIsdGhpcy5mb2xkZXJJbnB1dEVsZW1lbnQubXVsdGlwbGU9ITAsdGhpcy5mb2xkZXJJbnB1dEVsZW1lbnQud2Via2l0ZGlyZWN0b3J5PSEwLHRoaXMuZm9sZGVySW5wdXRFbGVtZW50LnN0eWxlLmRpc3BsYXk9Im5vbmUiLHRoaXMuc2hhZG93Um9vdC5hcHBlbmRDaGlsZCh0aGlzLmZvbGRlcklucHV0RWxlbWVudCkpfXRyaWdnZXJGaWxlVXBsb2FkKHhlLG5lKXt0aGlzLmVuc3VyZUZpbGVJbnB1dHMoKTtsZXQgX2U9bmU9PT0iZm9sZGVyIj90aGlzLmZvbGRlcklucHV0RWxlbWVudDp0aGlzLmZpbGVJbnB1dEVsZW1lbnQ7X2UudmFsdWU9IiI7bGV0IFVlPXMoYXN5bmMoKT0+e19lLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsVWUpLF9lLmZpbGVzJiZfZS5maWxlcy5sZW5ndGg+MCYmYXdhaXQgdGhpcy51cGxvYWRGaWxlcyhBcnJheS5mcm9tKF9lLmZpbGVzKSx4ZSl9LCJoYW5kbGVyIik7X2UuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixVZSksX2UuY2xpY2soKX1hc3luYyB1cGxvYWRGaWxlcyh4ZSxuZSl7aWYodGhpcy5kYXRhUHJvdmlkZXIpe3RoaXMudXBsb2FkaW5nPSEwLHRoaXMudXBsb2FkUHJvZ3Jlc3M9e2N1cnJlbnQ6MCx0b3RhbDp4ZS5sZW5ndGh9O2ZvcihsZXQgX2U9MDtfZTx4ZS5sZW5ndGg7X2UrKyl7bGV0IFVlPXhlW19lXTt0aGlzLnVwbG9hZFByb2dyZXNzPXtjdXJyZW50Ol9lKzEsdG90YWw6eGUubGVuZ3RofTt0cnl7bGV0IGt0PWF3YWl0IHRoaXMucmVhZEZpbGVBc0Jhc2U2NChVZSksTXM9VWUud2Via2l0UmVsYXRpdmVQYXRofHxVZS5uYW1lLGpyPW5lK01zLE9pPVVlLnR5cGV8fE80KFVlLm5hbWUuc3BsaXQoIi4iKS5wb3AoKT8udG9Mb3dlckNhc2UoKXx8IiIpO2F3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLnB1dE9iamVjdCh0aGlzLmJ1Y2tldE5hbWUsanIsa3QsT2kpfWNhdGNoKGt0KXtjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gdXBsb2FkICR7VWUubmFtZX06YCxrdCl9fXRoaXMudXBsb2FkaW5nPSExLHRoaXMudXBsb2FkUHJvZ3Jlc3M9bnVsbCxhd2FpdCB0aGlzLnJlZnJlc2hDb2x1bW5CeVByZWZpeChuZSl9fWFzeW5jIHVwbG9hZEZpbGVzV2l0aFBhdGhzKHhlLG5lKXtpZih0aGlzLmRhdGFQcm92aWRlcil7dGhpcy51cGxvYWRpbmc9ITAsdGhpcy51cGxvYWRQcm9ncmVzcz17Y3VycmVudDowLHRvdGFsOnhlLmxlbmd0aH07Zm9yKGxldCBfZT0wO19lPHhlLmxlbmd0aDtfZSsrKXtsZXR7ZmlsZTpVZSxyZWxhdGl2ZVBhdGg6a3R9PXhlW19lXTt0aGlzLnVwbG9hZFByb2dyZXNzPXtjdXJyZW50Ol9lKzEsdG90YWw6eGUubGVuZ3RofTt0cnl7bGV0IE1zPWF3YWl0IHRoaXMucmVhZEZpbGVBc0Jhc2U2NChVZSksanI9bmUra3QsT2k9VWUudHlwZXx8TzQoVWUubmFtZS5zcGxpdCgiLiIpLnBvcCgpPy50b0xvd2VyQ2FzZSgpfHwiIik7YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIucHV0T2JqZWN0KHRoaXMuYnVja2V0TmFtZSxqcixNcyxPaSl9Y2F0Y2goTXMpe2NvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byB1cGxvYWQgJHtrdH06YCxNcyl9fXRoaXMudXBsb2FkaW5nPSExLHRoaXMudXBsb2FkUHJvZ3Jlc3M9bnVsbCxhd2FpdCB0aGlzLnJlZnJlc2hDb2x1bW5CeVByZWZpeChuZSl9fXJlYWRGaWxlQXNCYXNlNjQoeGUpe3JldHVybiBuZXcgUHJvbWlzZSgobmUsX2UpPT57bGV0IFVlPW5ldyBGaWxlUmVhZGVyO1VlLm9ubG9hZD0oKT0+e2xldCBrdD1VZS5yZXN1bHQ7bmUoa3Quc3BsaXQoIiwiKVsxXXx8IiIpfSxVZS5vbmVycm9yPSgpPT5fZShVZS5lcnJvciksVWUucmVhZEFzRGF0YVVSTCh4ZSl9KX1hc3luYyByZWZyZXNoQ29sdW1uQnlQcmVmaXgoeGUpe2lmKCF0aGlzLmRhdGFQcm92aWRlcilyZXR1cm47bGV0IG5lPXRoaXMuY29sdW1ucy5maW5kSW5kZXgoX2U9Pl9lLnByZWZpeD09PXhlKTtpZihuZT09PS0xKXthd2FpdCB0aGlzLnJlZnJlc2hBbGxDb2x1bW5zKCk7cmV0dXJufXRyeXtsZXQgX2U9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubGlzdE9iamVjdHModGhpcy5idWNrZXROYW1lLHhlLCIvIik7dGhpcy5jb2x1bW5zPXRoaXMuY29sdW1ucy5tYXAoKFVlLGt0KT0+a3Q9PT1uZT97Li4uVWUsb2JqZWN0czpfZS5vYmplY3RzLHByZWZpeGVzOl9lLnByZWZpeGVzfTpVZSl9Y2F0Y2h7YXdhaXQgdGhpcy5yZWZyZXNoQWxsQ29sdW1ucygpfX1oYW5kbGVDb2x1bW5EcmFnRW50ZXIoeGUsbmUpe3hlLnByZXZlbnREZWZhdWx0KCkseGUuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IF9lPSh0aGlzLmRyYWdDb3VudGVycy5nZXQobmUpfHwwKSsxO3RoaXMuZHJhZ0NvdW50ZXJzLnNldChuZSxfZSksdGhpcy5kcmFnT3ZlckNvbHVtbkluZGV4PW5lfWhhbmRsZUNvbHVtbkRyYWdPdmVyKHhlKXt4ZS5wcmV2ZW50RGVmYXVsdCgpLHhlLnN0b3BQcm9wYWdhdGlvbigpLHhlLmRhdGFUcmFuc2ZlciYmKHhlLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0PXRoaXMuZHJhZ2dlZEl0ZW0/Im1vdmUiOiJjb3B5Iil9aGFuZGxlQ29sdW1uRHJhZ0xlYXZlKHhlLG5lKXt4ZS5zdG9wUHJvcGFnYXRpb24oKTtsZXQgX2U9KHRoaXMuZHJhZ0NvdW50ZXJzLmdldChuZSl8fDEpLTE7dGhpcy5kcmFnQ291bnRlcnMuc2V0KG5lLF9lKSxfZTw9MCYmKHRoaXMuZHJhZ0NvdW50ZXJzLmRlbGV0ZShuZSksdGhpcy5kcmFnT3ZlckNvbHVtbkluZGV4PT09bmUmJih0aGlzLmRyYWdPdmVyQ29sdW1uSW5kZXg9LTEpLHRoaXMuY2xlYXJGb2xkZXJIb3ZlcigpKX1hc3luYyBoYW5kbGVDb2x1bW5Ecm9wKHhlLG5lKXt4ZS5wcmV2ZW50RGVmYXVsdCgpLHhlLnN0b3BQcm9wYWdhdGlvbigpO2xldCBfZT10aGlzLmRyYWdPdmVyRm9sZGVyUHJlZml4Pz90aGlzLmNvbHVtbnNbbmVdLnByZWZpeDtpZih0aGlzLmRyYWdnZWRJdGVtKXt0aGlzLmluaXRpYXRlTW92ZSh0aGlzLmRyYWdnZWRJdGVtLmtleSx0aGlzLmRyYWdnZWRJdGVtLmlzRm9sZGVyLF9lKSx0aGlzLmRyYWdnZWRJdGVtPW51bGwsdGhpcy5jbGVhckZvbGRlckhvdmVyKCksdGhpcy5kcmFnQ291bnRlcnMuY2xlYXIoKSx0aGlzLmRyYWdPdmVyQ29sdW1uSW5kZXg9LTE7cmV0dXJufXRoaXMuZHJhZ0NvdW50ZXJzLmNsZWFyKCksdGhpcy5kcmFnT3ZlckNvbHVtbkluZGV4PS0xO2xldCBVZT14ZS5kYXRhVHJhbnNmZXI/Lml0ZW1zO2lmKCFVZXx8VWUubGVuZ3RoPT09MClyZXR1cm47dGhpcy5jbGVhckZvbGRlckhvdmVyKCk7bGV0IGt0PVtdLE1zPXMoYXN5bmMoanIsT2kpPT57aWYoanIuaXNGaWxlKXtsZXQgWm49anIsbjI9YXdhaXQgbmV3IFByb21pc2UoKHZsLFhuKT0+e1puLmZpbGUodmwsWG4pfSk7a3QucHVzaCh7ZmlsZTpuMixyZWxhdGl2ZVBhdGg6T2krbjIubmFtZX0pfWVsc2UgaWYoanIuaXNEaXJlY3Rvcnkpe2xldCBuMj1qci5jcmVhdGVSZWFkZXIoKSx2bD1hd2FpdCBuZXcgUHJvbWlzZSgoWG4sdDMpPT57bjIucmVhZEVudHJpZXMoWG4sdDMpfSk7Zm9yKGxldCBYbiBvZiB2bClhd2FpdCBNcyhYbixPaStqci5uYW1lKyIvIil9fSwicHJvY2Vzc0VudHJ5Iik7Zm9yKGxldCBqcj0wO2pyPFVlLmxlbmd0aDtqcisrKXtsZXQgT2k9VWVbanJdO2lmKE9pLmtpbmQ9PT0iZmlsZSIpe2xldCBabj1PaS53ZWJraXRHZXRBc0VudHJ5KCk7Wm4mJmF3YWl0IE1zKFpuLCIiKX19a3QubGVuZ3RoPjAmJmF3YWl0IHRoaXMudXBsb2FkRmlsZXNXaXRoUGF0aHMoa3QsX2UpfWhhbmRsZUZvbGRlckRyYWdFbnRlcih4ZSxuZSl7eGUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5jbGVhckZvbGRlckhvdmVyKCksdGhpcy5mb2xkZXJIb3ZlclRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0aGlzLmRyYWdPdmVyRm9sZGVyUHJlZml4PW5lfSw1MDApfWhhbmRsZUZvbGRlckRyYWdMZWF2ZSh4ZSxuZSl7eGUuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IF9lPXhlLmN1cnJlbnRUYXJnZXQsVWU9eGUucmVsYXRlZFRhcmdldDtVZSYmX2UuY29udGFpbnMoVWUpfHwodGhpcy5kcmFnT3ZlckZvbGRlclByZWZpeD09PW5lJiYodGhpcy5kcmFnT3ZlckZvbGRlclByZWZpeD1udWxsKSx0aGlzLmZvbGRlckhvdmVyVGltZXImJihjbGVhclRpbWVvdXQodGhpcy5mb2xkZXJIb3ZlclRpbWVyKSx0aGlzLmZvbGRlckhvdmVyVGltZXI9bnVsbCkpfWhhbmRsZUZvbGRlckRyYWdPdmVyKHhlKXt4ZS5wcmV2ZW50RGVmYXVsdCgpLHhlLnN0b3BQcm9wYWdhdGlvbigpLHhlLmRhdGFUcmFuc2ZlciYmKHhlLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0PXRoaXMuZHJhZ2dlZEl0ZW0/Im1vdmUiOiJjb3B5Iil9Y2xlYXJGb2xkZXJIb3Zlcigpe3RoaXMuZm9sZGVySG92ZXJUaW1lciYmKGNsZWFyVGltZW91dCh0aGlzLmZvbGRlckhvdmVyVGltZXIpLHRoaXMuZm9sZGVySG92ZXJUaW1lcj1udWxsKSx0aGlzLmRyYWdPdmVyRm9sZGVyUHJlZml4PW51bGx9aGFuZGxlSXRlbURyYWdTdGFydCh4ZSxuZSxfZSl7dGhpcy5kcmFnZ2VkSXRlbT17a2V5Om5lLGlzRm9sZGVyOl9lfSx4ZS5kYXRhVHJhbnNmZXI/LnNldERhdGEoInRleHQvcGxhaW4iLG5lKSx4ZS5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZD0iY29weU1vdmUiLHhlLnRhcmdldC5jbGFzc0xpc3QuYWRkKCJkcmFnZ2luZyIpfWhhbmRsZUl0ZW1EcmFnRW5kKHhlKXt0aGlzLmRyYWdnZWRJdGVtPW51bGwseGUudGFyZ2V0LmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIil9YXN5bmMgb3Blbk1vdmVQaWNrZXJEaWFsb2coeGUsbmUpe3RoaXMubW92ZVBpY2tlclNvdXJjZT17a2V5OnhlLGlzRm9sZGVyOm5lfSx0aGlzLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4PSIiLHRoaXMuc2hvd01vdmVQaWNrZXJEaWFsb2c9ITAsYXdhaXQgdGhpcy5sb2FkTW92ZVBpY2tlclByZWZpeGVzKCIiKX1hc3luYyBuYXZpZ2F0ZU1vdmVQaWNrZXIoeGUpe3RoaXMubW92ZVBpY2tlckN1cnJlbnRQcmVmaXg9eGUsYXdhaXQgdGhpcy5sb2FkTW92ZVBpY2tlclByZWZpeGVzKHhlKX1hc3luYyBsb2FkTW92ZVBpY2tlclByZWZpeGVzKHhlKXtpZih0aGlzLmRhdGFQcm92aWRlcil7dGhpcy5tb3ZlUGlja2VyTG9hZGluZz0hMDt0cnl7bGV0IG5lPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmxpc3RPYmplY3RzKHRoaXMuYnVja2V0TmFtZSx4ZSwiLyIpO3RoaXMubW92ZVBpY2tlclByZWZpeGVzPW5lLnByZWZpeGVzfWNhdGNoe3RoaXMubW92ZVBpY2tlclByZWZpeGVzPVtdfXRoaXMubW92ZVBpY2tlckxvYWRpbmc9ITF9fXNlbGVjdE1vdmVEZXN0aW5hdGlvbih4ZSl7dGhpcy5tb3ZlUGlja2VyU291cmNlJiYodGhpcy5jbG9zZU1vdmVQaWNrZXJEaWFsb2coKSx0aGlzLmluaXRpYXRlTW92ZSh0aGlzLm1vdmVQaWNrZXJTb3VyY2Uua2V5LHRoaXMubW92ZVBpY2tlclNvdXJjZS5pc0ZvbGRlcix4ZSkpfWNsb3NlTW92ZVBpY2tlckRpYWxvZygpe3RoaXMuc2hvd01vdmVQaWNrZXJEaWFsb2c9ITEsdGhpcy5tb3ZlUGlja2VyU291cmNlPW51bGwsdGhpcy5tb3ZlUGlja2VyQ3VycmVudFByZWZpeD0iIix0aGlzLm1vdmVQaWNrZXJQcmVmaXhlcz1bXX1pbml0aWF0ZU1vdmUoeGUsbmUsX2Upe2xldCBVZT1KbSh4ZSxfZSk7aWYoIVVlLnZhbGlkKXt0aGlzLm1vdmVTb3VyY2U9e2tleTp4ZSxpc0ZvbGRlcjpuZX0sdGhpcy5tb3ZlRGVzdGluYXRpb249X2UsdGhpcy5tb3ZlRXJyb3I9VWUuZXJyb3IsdGhpcy5zaG93TW92ZURpYWxvZz0hMDtyZXR1cm59dGhpcy5tb3ZlU291cmNlPXtrZXk6eGUsaXNGb2xkZXI6bmV9LHRoaXMubW92ZURlc3RpbmF0aW9uPV9lLHRoaXMubW92ZUVycm9yPW51bGwsdGhpcy5zaG93TW92ZURpYWxvZz0hMH1hc3luYyBleGVjdXRlTW92ZSgpe2lmKCEoIXRoaXMubW92ZVNvdXJjZXx8IXRoaXMuZGF0YVByb3ZpZGVyKSl7dGhpcy5tb3ZlSW5Qcm9ncmVzcz0hMDt0cnl7bGV0IHhlPW1hKHRoaXMubW92ZVNvdXJjZS5rZXkpLG5lPXRoaXMubW92ZURlc3RpbmF0aW9uK3hlKyh0aGlzLm1vdmVTb3VyY2UuaXNGb2xkZXI/Ii8iOiIiKSxfZTt0aGlzLm1vdmVTb3VyY2UuaXNGb2xkZXI/X2U9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubW92ZVByZWZpeCh0aGlzLmJ1Y2tldE5hbWUsdGhpcy5tb3ZlU291cmNlLmtleSxuZSk6X2U9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubW92ZU9iamVjdCh0aGlzLmJ1Y2tldE5hbWUsdGhpcy5tb3ZlU291cmNlLmtleSxuZSksX2Uuc3VjY2Vzcz8odGhpcy5jbG9zZU1vdmVEaWFsb2coKSxhd2FpdCB0aGlzLnJlZnJlc2hBbGxDb2x1bW5zKCkpOnRoaXMubW92ZUVycm9yPV9lLmVycm9yfHwiTW92ZSBvcGVyYXRpb24gZmFpbGVkIn1jYXRjaCh4ZSl7dGhpcy5tb3ZlRXJyb3I9YEVycm9yOiAke3hlfWB9dGhpcy5tb3ZlSW5Qcm9ncmVzcz0hMX19Y2xvc2VNb3ZlRGlhbG9nKCl7dGhpcy5zaG93TW92ZURpYWxvZz0hMSx0aGlzLm1vdmVTb3VyY2U9bnVsbCx0aGlzLm1vdmVEZXN0aW5hdGlvbj0iIix0aGlzLm1vdmVFcnJvcj1udWxsLHRoaXMubW92ZUluUHJvZ3Jlc3M9ITF9b3BlblJlbmFtZURpYWxvZyh4ZSxuZSl7dGhpcy5yZW5hbWVTb3VyY2U9e2tleTp4ZSxpc0ZvbGRlcjpuZX0sdGhpcy5yZW5hbWVOYW1lPW1hKHhlKSx0aGlzLnJlbmFtZUVycm9yPW51bGwsdGhpcy5zaG93UmVuYW1lRGlhbG9nPSEwLHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+e2xldCBfZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5yZW5hbWUtZGlhbG9nLWlucHV0Iik7aWYoX2UpaWYoX2UuZm9jdXMoKSxuZSlfZS5zZWxlY3QoKTtlbHNle2xldCBVZT10aGlzLnJlbmFtZU5hbWUubGFzdEluZGV4T2YoIi4iKTtVZT4wP19lLnNldFNlbGVjdGlvblJhbmdlKDAsVWUpOl9lLnNlbGVjdCgpfX0pfWFzeW5jIGV4ZWN1dGVSZW5hbWUoKXtpZighdGhpcy5yZW5hbWVTb3VyY2V8fCF0aGlzLnJlbmFtZU5hbWUudHJpbSgpfHwhdGhpcy5kYXRhUHJvdmlkZXIpcmV0dXJuO2xldCB4ZT10aGlzLnJlbmFtZU5hbWUudHJpbSgpLG5lPW1hKHRoaXMucmVuYW1lU291cmNlLmtleSk7aWYoeGU9PT1uZSl7dGhpcy5yZW5hbWVFcnJvcj0iTmFtZSBpcyB0aGUgc2FtZSBhcyBjdXJyZW50IjtyZXR1cm59aWYoIXhlKXt0aGlzLnJlbmFtZUVycm9yPSJOYW1lIGNhbm5vdCBiZSBlbXB0eSI7cmV0dXJufWlmKHhlLmluY2x1ZGVzKCIvIikpe3RoaXMucmVuYW1lRXJyb3I9J05hbWUgY2Fubm90IGNvbnRhaW4gIi8iJztyZXR1cm59dGhpcy5yZW5hbWVJblByb2dyZXNzPSEwLHRoaXMucmVuYW1lRXJyb3I9bnVsbDt0cnl7bGV0IFVlPWoxKHRoaXMucmVuYW1lU291cmNlLmtleSkreGUrKHRoaXMucmVuYW1lU291cmNlLmlzRm9sZGVyPyIvIjoiIiksa3Q7dGhpcy5yZW5hbWVTb3VyY2UuaXNGb2xkZXI/a3Q9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubW92ZVByZWZpeCh0aGlzLmJ1Y2tldE5hbWUsdGhpcy5yZW5hbWVTb3VyY2Uua2V5LFVlKTprdD1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5tb3ZlT2JqZWN0KHRoaXMuYnVja2V0TmFtZSx0aGlzLnJlbmFtZVNvdXJjZS5rZXksVWUpLGt0LnN1Y2Nlc3M/KHRoaXMuY2xvc2VSZW5hbWVEaWFsb2coKSxhd2FpdCB0aGlzLnJlZnJlc2hBbGxDb2x1bW5zKCkpOnRoaXMucmVuYW1lRXJyb3I9a3QuZXJyb3J8fCJSZW5hbWUgZmFpbGVkIn1jYXRjaChfZSl7dGhpcy5yZW5hbWVFcnJvcj1gRXJyb3I6ICR7X2V9YH10aGlzLnJlbmFtZUluUHJvZ3Jlc3M9ITF9Y2xvc2VSZW5hbWVEaWFsb2coKXt0aGlzLnNob3dSZW5hbWVEaWFsb2c9ITEsdGhpcy5yZW5hbWVTb3VyY2U9bnVsbCx0aGlzLnJlbmFtZU5hbWU9IiIsdGhpcy5yZW5hbWVFcnJvcj1udWxsLHRoaXMucmVuYW1lSW5Qcm9ncmVzcz0hMX1yZW5kZXJSZW5hbWVEaWFsb2coKXtpZighdGhpcy5zaG93UmVuYW1lRGlhbG9nfHwhdGhpcy5yZW5hbWVTb3VyY2UpcmV0dXJuIiI7bGV0IHhlPXRoaXMucmVuYW1lU291cmNlLmlzRm9sZGVyO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctb3ZlcmxheSIgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2VSZW5hbWVEaWFsb2coKX0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nIiBAY2xpY2s9JHtfZT0+X2Uuc3RvcFByb3BhZ2F0aW9uKCl9PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLXRpdGxlIj4ke3hlPyJSZW5hbWUgRm9sZGVyIjoiUmVuYW1lIEZpbGUifTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWxvY2F0aW9uIj4KICAgICAgICAgICAgTG9jYXRpb246ICR7dGhpcy5idWNrZXROYW1lfS8ke2oxKHRoaXMucmVuYW1lU291cmNlLmtleSl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7dGhpcy5yZW5hbWVFcnJvcj93YDxkaXYgY2xhc3M9Im1vdmUtZXJyb3IiPiR7dGhpcy5yZW5hbWVFcnJvcn08L2Rpdj5gOiIifQogICAgICAgICAgPGlucHV0CiAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgIGNsYXNzPSJkaWFsb2ctaW5wdXQgcmVuYW1lLWRpYWxvZy1pbnB1dCIKICAgICAgICAgICAgcGxhY2Vob2xkZXI9JHt4ZT8iZm9sZGVyLW5hbWUiOiJmaWxlbmFtZS5leHQifQogICAgICAgICAgICAudmFsdWU9JHt0aGlzLnJlbmFtZU5hbWV9CiAgICAgICAgICAgIEBpbnB1dD0ke19lPT57dGhpcy5yZW5hbWVOYW1lPV9lLnRhcmdldC52YWx1ZSx0aGlzLnJlbmFtZUVycm9yPW51bGx9fQogICAgICAgICAgICBAa2V5ZG93bj0ke19lPT57X2Uua2V5PT09IkVudGVyIiYmdGhpcy5leGVjdXRlUmVuYW1lKCksX2Uua2V5PT09IkVzY2FwZSImJnRoaXMuY2xvc2VSZW5hbWVEaWFsb2coKX19CiAgICAgICAgICAvPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWFjdGlvbnMiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY2FuY2VsIgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmNsb3NlUmVuYW1lRGlhbG9nKCl9CiAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5yZW5hbWVJblByb2dyZXNzfT5DYW5jZWw8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5leGVjdXRlUmVuYW1lKCl9CiAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5yZW5hbWVJblByb2dyZXNzfHwhdGhpcy5yZW5hbWVOYW1lLnRyaW0oKX0+CiAgICAgICAgICAgICAgJHt0aGlzLnJlbmFtZUluUHJvZ3Jlc3M/IlJlbmFtaW5nLi4uIjoiUmVuYW1lIn0KICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlck1vdmVEaWFsb2coKXtpZighdGhpcy5zaG93TW92ZURpYWxvZ3x8IXRoaXMubW92ZVNvdXJjZSlyZXR1cm4iIjtsZXQgeGU9bWEodGhpcy5tb3ZlU291cmNlLmtleSk7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1vdmVybGF5IiBAY2xpY2s9JHsoKT0+dGhpcy5jbG9zZU1vdmVEaWFsb2coKX0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nIiBAY2xpY2s9JHtuZT0+bmUuc3RvcFByb3BhZ2F0aW9uKCl9PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLXRpdGxlIj5Nb3ZlICR7dGhpcy5tb3ZlU291cmNlLmlzRm9sZGVyPyJGb2xkZXIiOiJGaWxlIn08L2Rpdj4KCiAgICAgICAgICAke3RoaXMubW92ZUVycm9yP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vdmUtZXJyb3IiPiR7dGhpcy5tb3ZlRXJyb3J9PC9kaXY+CiAgICAgICAgICBgOndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vdmUtc3VtbWFyeSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW92ZS1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtb3ZlLWxhYmVsIj5Gcm9tOjwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtb3ZlLXBhdGgiPiR7dGhpcy5tb3ZlU291cmNlLmtleX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW92ZS1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtb3ZlLWxhYmVsIj5Ubzo8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibW92ZS1wYXRoIj4ke3RoaXMubW92ZURlc3RpbmF0aW9ufSR7eGV9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGB9CgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWFjdGlvbnMiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY2FuY2VsIgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmNsb3NlTW92ZURpYWxvZygpfQogICAgICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMubW92ZUluUHJvZ3Jlc3N9PgogICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgJHt0aGlzLm1vdmVFcnJvcj8iIjp3YAogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRpYWxvZy1idG4gZGlhbG9nLWJ0bi1jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5leGVjdXRlTW92ZSgpfQogICAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5tb3ZlSW5Qcm9ncmVzc30+CiAgICAgICAgICAgICAgICAke3RoaXMubW92ZUluUHJvZ3Jlc3M/Ik1vdmluZy4uLiI6Ik1vdmUifQogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICBgfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJNb3ZlUGlja2VyRGlhbG9nKCl7aWYoIXRoaXMuc2hvd01vdmVQaWNrZXJEaWFsb2d8fCF0aGlzLm1vdmVQaWNrZXJTb3VyY2UpcmV0dXJuIiI7bGV0IHhlPW1hKHRoaXMubW92ZVBpY2tlclNvdXJjZS5rZXkpLG5lPWoxKHRoaXMubW92ZVBpY2tlclNvdXJjZS5rZXkpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctb3ZlcmxheSIgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2VNb3ZlUGlja2VyRGlhbG9nKCl9PgogICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZyBtb3ZlLXBpY2tlci1kaWFsb2ciIEBjbGljaz0ke19lPT5fZS5zdG9wUHJvcGFnYXRpb24oKX0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctdGl0bGUiPk1vdmUgIiR7eGV9IiB0by4uLjwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9InBpY2tlci1icmVhZGNydW1iIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBpY2tlci1jcnVtYiIgQGNsaWNrPSR7KCk9PnRoaXMubmF2aWdhdGVNb3ZlUGlja2VyKCIiKX0+CiAgICAgICAgICAgICAgJHt0aGlzLmJ1Y2tldE5hbWV9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgJHt4NSh0aGlzLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4KS5tYXAoX2U9PndgCiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBpY2tlci1zZXBhcmF0b3IiPi88L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBpY2tlci1jcnVtYiIgQGNsaWNrPSR7KCk9PnRoaXMubmF2aWdhdGVNb3ZlUGlja2VyKF9lKX0+CiAgICAgICAgICAgICAgICAke21hKF9lKX0KICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0icGlja2VyLWxpc3QiPgogICAgICAgICAgICAke3RoaXMubW92ZVBpY2tlckxvYWRpbmc/d2A8ZGl2IGNsYXNzPSJwaWNrZXItZW1wdHkiPkxvYWRpbmcuLi48L2Rpdj5gOiIifQogICAgICAgICAgICAkeyF0aGlzLm1vdmVQaWNrZXJMb2FkaW5nJiZ0aGlzLm1vdmVQaWNrZXJQcmVmaXhlcy5maWx0ZXIoX2U9Pl9lIT09dGhpcy5tb3ZlUGlja2VyU291cmNlLmtleSkubGVuZ3RoPT09MD93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpY2tlci1lbXB0eSI+Tm8gc3ViZm9sZGVyczwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgICAke3RoaXMubW92ZVBpY2tlclByZWZpeGVzLmZpbHRlcihfZT0+X2UhPT10aGlzLm1vdmVQaWNrZXJTb3VyY2Uua2V5KS5tYXAoX2U9PndgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWNrZXItaXRlbSIKICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMubmF2aWdhdGVNb3ZlUGlja2VyKF9lKX0KICAgICAgICAgICAgICAgICAgICAgQGRibGNsaWNrPSR7KCk9PnRoaXMuc2VsZWN0TW92ZURlc3RpbmF0aW9uKF9lKX0+CiAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Imljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjIgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDVsMiAzaDlhMiAyIDAgMCAxIDIgMnoiLz4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJuYW1lIj4ke21hKF9lKX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgKX0KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1hY3Rpb25zIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNhbmNlbCIgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2VNb3ZlUGlja2VyRGlhbG9nKCl9PgogICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zZWxlY3RNb3ZlRGVzdGluYXRpb24odGhpcy5tb3ZlUGlja2VyQ3VycmVudFByZWZpeCl9CiAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5tb3ZlUGlja2VyQ3VycmVudFByZWZpeD09PW5lfT4KICAgICAgICAgICAgICBNb3ZlIEhlcmUKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGhhbmRsZUNyZWF0ZSgpe2lmKCF0aGlzLmNyZWF0ZURpYWxvZ05hbWUudHJpbSgpfHwhdGhpcy5kYXRhUHJvdmlkZXIpcmV0dXJuO2xldCB4ZT10aGlzLmNyZWF0ZURpYWxvZ05hbWUudHJpbSgpLG5lO3RoaXMuY3JlYXRlRGlhbG9nVHlwZT09PSJmb2xkZXIiP25lPXRoaXMuY3JlYXRlRGlhbG9nUHJlZml4K3hlKyIvLmtlZXAiOm5lPXRoaXMuY3JlYXRlRGlhbG9nUHJlZml4K3hlO2xldCBfZT14ZS5zcGxpdCgiLiIpLnBvcCgpPy50b0xvd2VyQ2FzZSgpfHwiIixVZT10aGlzLmNyZWF0ZURpYWxvZ1R5cGU9PT0iZmlsZSI/TzQoX2UpOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLGt0PXRoaXMuY3JlYXRlRGlhbG9nVHlwZT09PSJmaWxlIj9lNyhfZSk6IiI7YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIucHV0T2JqZWN0KHRoaXMuYnVja2V0TmFtZSxuZSxidG9hKGt0KSxVZSkmJih0aGlzLnNob3dDcmVhdGVEaWFsb2c9ITEsYXdhaXQgdGhpcy5yZWZyZXNoQ29sdW1uQnlQcmVmaXgodGhpcy5jcmVhdGVEaWFsb2dQcmVmaXgpKX1yZW5kZXJDcmVhdGVEaWFsb2coKXtpZighdGhpcy5zaG93Q3JlYXRlRGlhbG9nKXJldHVybiIiO2xldCB4ZT10aGlzLmNyZWF0ZURpYWxvZ1R5cGU9PT0iZm9sZGVyIixuZT14ZT8iQ3JlYXRlIE5ldyBGb2xkZXIiOiJDcmVhdGUgTmV3IEZpbGUiLF9lPXhlPyJmb2xkZXItbmFtZSBvciBwYXRoL3RvL2ZvbGRlciI6ImZpbGVuYW1lLnR4dCBvciBwYXRoL3RvL2ZpbGUudHh0IjtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLW92ZXJsYXkiIEBjbGljaz0keygpPT50aGlzLnNob3dDcmVhdGVEaWFsb2c9ITF9PgogICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZyIgQGNsaWNrPSR7VWU9PlVlLnN0b3BQcm9wYWdhdGlvbigpfT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy10aXRsZSI+JHtuZX08L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1sb2NhdGlvbiI+CiAgICAgICAgICAgIExvY2F0aW9uOiAke3RoaXMuYnVja2V0TmFtZX0vJHt0aGlzLmNyZWF0ZURpYWxvZ1ByZWZpeH0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGlucHV0CiAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgIGNsYXNzPSJkaWFsb2ctaW5wdXQiCiAgICAgICAgICAgIHBsYWNlaG9sZGVyPSR7X2V9CiAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuY3JlYXRlRGlhbG9nTmFtZX0KICAgICAgICAgICAgQGlucHV0PSR7VWU9PnRoaXMuY3JlYXRlRGlhbG9nTmFtZT1VZS50YXJnZXQudmFsdWV9CiAgICAgICAgICAgIEBrZXlkb3duPSR7VWU9PlVlLmtleT09PSJFbnRlciImJnRoaXMuaGFuZGxlQ3JlYXRlKCl9CiAgICAgICAgICAvPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWhpbnQiPgogICAgICAgICAgICBVc2UgIi8iIHRvIGNyZWF0ZSBuZXN0ZWQgJHt4ZT8iZm9sZGVycyI6InBhdGgifSAoZS5nLiwgJHt4ZT8icGFyZW50L2NoaWxkIjoiZm9sZGVyL2ZpbGUudHh0In0pCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1hY3Rpb25zIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNhbmNlbCIgQGNsaWNrPSR7KCk9PnRoaXMuc2hvd0NyZWF0ZURpYWxvZz0hMX0+CiAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgY2xhc3M9ImRpYWxvZy1idG4gZGlhbG9nLWJ0bi1jcmVhdGUiCiAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7IXRoaXMuY3JlYXRlRGlhbG9nTmFtZS50cmltKCl9CiAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ3JlYXRlKCl9CiAgICAgICAgICAgID4KICAgICAgICAgICAgICBDcmVhdGUKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlcigpe3JldHVybiB0aGlzLmxvYWRpbmcmJnRoaXMuY29sdW1ucy5sZW5ndGg9PT0wP3dgPGRpdiBjbGFzcz0ibG9hZGluZyI+TG9hZGluZy4uLjwvZGl2PmA6d2AKICAgICAgPGRpdiBjbGFzcz0iY29sdW1ucy1jb250YWluZXIiPgogICAgICAgICR7dGhpcy5jb2x1bW5zLm1hcCgoeGUsbmUpPT50aGlzLnJlbmRlckNvbHVtbldyYXBwZXIoeGUsbmUpKX0KICAgICAgPC9kaXY+CiAgICAgICR7dGhpcy5yZW5kZXJDcmVhdGVEaWFsb2coKX0KICAgICAgJHt0aGlzLnJlbmRlck1vdmVEaWFsb2coKX0KICAgICAgJHt0aGlzLnJlbmRlck1vdmVQaWNrZXJEaWFsb2coKX0KICAgICAgJHt0aGlzLnJlbmRlclJlbmFtZURpYWxvZygpfQogICAgYH1yZW5kZXJDb2x1bW5XcmFwcGVyKHhlLG5lKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iY29sdW1uLXdyYXBwZXIiPgogICAgICAgICR7dGhpcy5yZW5kZXJDb2x1bW4oeGUsbmUpfQogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJyZXNpemUtaGFuZGxlICR7dGhpcy5yZXNpemluZz8uY29sdW1uSW5kZXg9PT1uZT8iYWN0aXZlIjoiIn0iCiAgICAgICAgICBAbW91c2Vkb3duPSR7X2U9PnRoaXMuc3RhcnRSZXNpemUoX2UsbmUpfQogICAgICAgID48L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckNvbHVtbih4ZSxuZSl7bGV0IF9lPXhlLnByZWZpeD9tYSh4ZS5wcmVmaXgpOnRoaXMuYnVja2V0TmFtZTtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJjb2x1bW4gJHt0aGlzLmRyYWdPdmVyQ29sdW1uSW5kZXg9PT1uZT8iZHJhZy1vdmVyIjoiIn0iCiAgICAgICAgc3R5bGU9IndpZHRoOiAke3hlLndpZHRofXB4IgogICAgICAgIEBkcmFnZW50ZXI9JHtVZT0+dGhpcy5oYW5kbGVDb2x1bW5EcmFnRW50ZXIoVWUsbmUpfQogICAgICAgIEBkcmFnb3Zlcj0ke1VlPT50aGlzLmhhbmRsZUNvbHVtbkRyYWdPdmVyKFVlKX0KICAgICAgICBAZHJhZ2xlYXZlPSR7VWU9PnRoaXMuaGFuZGxlQ29sdW1uRHJhZ0xlYXZlKFVlLG5lKX0KICAgICAgICBAZHJvcD0ke1VlPT50aGlzLmhhbmRsZUNvbHVtbkRyb3AoVWUsbmUpfQogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sdW1uLWhlYWRlciIgdGl0bGU9JHt4ZS5wcmVmaXh8fHRoaXMuYnVja2V0TmFtZX0+CiAgICAgICAgICAke19lfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNvbHVtbi1pdGVtcyIgQGNvbnRleHRtZW51PSR7VWU9PnRoaXMuaGFuZGxlRW1wdHlTcGFjZUNvbnRleHRNZW51KFVlLG5lKX0+CiAgICAgICAgICAke3hlLnByZWZpeGVzLmxlbmd0aD09PTAmJnhlLm9iamVjdHMubGVuZ3RoPT09MD93YDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj5FbXB0eSBmb2xkZXI8L2Rpdj5gOiIifQogICAgICAgICAgJHt4ZS5wcmVmaXhlcy5tYXAoVWU9PndgCiAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9ImNvbHVtbi1pdGVtIGZvbGRlciAke3hlLnNlbGVjdGVkSXRlbT09PVVlPyJzZWxlY3RlZCI6IiJ9ICR7dGhpcy5kcmFnT3ZlckZvbGRlclByZWZpeD09PVVlPyJkcmFnLXRhcmdldCI6IiJ9IgogICAgICAgICAgICAgICAgZHJhZ2dhYmxlPSJ0cnVlIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuc2VsZWN0Rm9sZGVyKG5lLFVlKX0KICAgICAgICAgICAgICAgIEBjb250ZXh0bWVudT0ke2t0PT50aGlzLmhhbmRsZUZvbGRlckNvbnRleHRNZW51KGt0LG5lLFVlKX0KICAgICAgICAgICAgICAgIEBkcmFnc3RhcnQ9JHtrdD0+dGhpcy5oYW5kbGVJdGVtRHJhZ1N0YXJ0KGt0LFVlLCEwKX0KICAgICAgICAgICAgICAgIEBkcmFnZW5kPSR7a3Q9PnRoaXMuaGFuZGxlSXRlbURyYWdFbmQoa3QpfQogICAgICAgICAgICAgICAgQGRyYWdlbnRlcj0ke2t0PT50aGlzLmhhbmRsZUZvbGRlckRyYWdFbnRlcihrdCxVZSl9CiAgICAgICAgICAgICAgICBAZHJhZ292ZXI9JHtrdD0+dGhpcy5oYW5kbGVGb2xkZXJEcmFnT3ZlcihrdCl9CiAgICAgICAgICAgICAgICBAZHJhZ2xlYXZlPSR7a3Q9PnRoaXMuaGFuZGxlRm9sZGVyRHJhZ0xlYXZlKGt0LFVlKX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMiAxOWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNWwyIDNoOWEyIDIgMCAwIDEgMiAyeiIgLz4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5hbWUiPiR7bWEoVWUpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImNoZXZyb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjkgMTggMTUgMTIgOSA2Ij48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfQogICAgICAgICAgJHt4ZS5vYmplY3RzLm1hcChVZT0+d2AKICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICBjbGFzcz0iY29sdW1uLWl0ZW0gJHt4ZS5zZWxlY3RlZEl0ZW09PT1VZS5rZXk/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgICAgICAgICBkcmFnZ2FibGU9InRydWUiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zZWxlY3RGaWxlKG5lLFVlLmtleSl9CiAgICAgICAgICAgICAgICBAY29udGV4dG1lbnU9JHtrdD0+dGhpcy5oYW5kbGVGaWxlQ29udGV4dE1lbnUoa3QsbmUsVWUua2V5KX0KICAgICAgICAgICAgICAgIEBkcmFnc3RhcnQ9JHtrdD0+dGhpcy5oYW5kbGVJdGVtRHJhZ1N0YXJ0KGt0LFVlLmtleSwhMSl9CiAgICAgICAgICAgICAgICBAZHJhZ2VuZD0ke2t0PT50aGlzLmhhbmRsZUl0ZW1EcmFnRW5kKGt0KX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICA8cGF0aCBkPSIke3RoaXMuZ2V0RmlsZUljb24oVWUua2V5KX0iIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJuYW1lIj4ke21hKFVlLmtleSl9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuZHJhZ092ZXJDb2x1bW5JbmRleD09PW5lP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJkcmFnLWhpbnQiPgogICAgICAgICAgICAke3RoaXMuZHJhZ2dlZEl0ZW0/dGhpcy5kcmFnT3ZlckZvbGRlclByZWZpeD9gTW92ZSB0byAke21hKHRoaXMuZHJhZ092ZXJGb2xkZXJQcmVmaXgpfWA6Ik1vdmUgaGVyZSI6dGhpcy5kcmFnT3ZlckZvbGRlclByZWZpeD9gRHJvcCB0byB1cGxvYWQgaW50byAke21hKHRoaXMuZHJhZ092ZXJGb2xkZXJQcmVmaXgpfWA6IkRyb3AgdG8gdXBsb2FkIGhlcmUifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgICAke3RoaXMudXBsb2FkaW5nP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ1cGxvYWQtb3ZlcmxheSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InVwbG9hZC10ZXh0Ij5VcGxvYWRpbmcuLi48L2Rpdj4KICAgICAgICAgICAgJHt0aGlzLnVwbG9hZFByb2dyZXNzP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idXBsb2FkLXByb2dyZXNzIj4ke3RoaXMudXBsb2FkUHJvZ3Jlc3MuY3VycmVudH0gLyAke3RoaXMudXBsb2FkUHJvZ3Jlc3MudG90YWx9IGZpbGVzPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje3Z0KHIsdCl9fTtyZXR1cm4gYmw9cn0pKCl9KTt2YXIgS2EsX3QsVDBhLEFRZT1mKCgpPT57bGUoKTtacigpO1FlKCk7ckcoKTtLYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sX3Q9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFQwYT0oKCk9PntsZXQgYT1baWUoImRlZXMtc3RvcmFnZS1rZXlzIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W10sQixNPVtdLFM9W10sUCxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdLFEsSj1bXSxaPVtdLGdlLGFlPVtdLHJlPVtdLHllLFY9W10sSD1bXSxvZSxzZT1bXSx0ZT1bXSx6ZSxPZT1bXSxxZT1bXSxjdCwkZT1bXSxDZT1bXSxNZSxkZT1bXSx2ZT1bXSxBZSxaZT1bXSxsdD1bXSx6dCxUZT1bXSx3ZT1bXSxSZSxmZT1bXSxiZT1bXSxQZSxmdD1bXSxtdD1bXSxOdCxRYT1bXSxlcj1bXSx5cyxqZT1bXSx1dD1bXSxKYSxNcj1bXSwkcj1bXSxWcixEcj1bXSxtbz1bXTt2YXIgZ289Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNTdG9yYWdlS2V5cyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBMZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOk51bWJlcn0pXSx5PVtLKCldLE49W0soKV0sTz1bSygpXSxCPVtLKCldLFA9W0soKV0sVz1bSygpXSxoZT1bSygpXSxtZT1bSygpXSxjZT1bSygpXSxRPVtLKCldLGdlPVtLKCldLHllPVtLKCldLG9lPVtLKCldLHplPVtLKCldLGN0PVtLKCldLE1lPVtLKCldLEFlPVtLKCldLHp0PVtLKCldLFJlPVtLKCldLFBlPVtLKCldLE50PVtLKCldLHlzPVtLKCldLEphPVtLKCldLFZyPVtLKCldLEthKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0YVByb3ZpZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4iZGF0YVByb3ZpZGVyImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UuZGF0YVByb3ZpZGVyLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UuZGF0YVByb3ZpZGVyPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxuLGwpLEthKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYnVja2V0TmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+ImJ1Y2tldE5hbWUiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5idWNrZXROYW1lLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UuYnVja2V0TmFtZT1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sYyxwKSxLYSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRQcmVmaXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJjdXJyZW50UHJlZml4ImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UuY3VycmVudFByZWZpeCwiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLmN1cnJlbnRQcmVmaXg9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LG0sdiksS2EodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZWZyZXNoS2V5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4icmVmcmVzaEtleSJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLnJlZnJlc2hLZXksImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5yZWZyZXNoS2V5PUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxiLGcpLEthKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWxsS2V5cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+ImFsbEtleXMiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5hbGxLZXlzLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UuYWxsS2V5cz1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sayxDKSxLYSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InByZWZpeGVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4icHJlZml4ZXMiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5wcmVmaXhlcywiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLnByZWZpeGVzPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxfLHopLEthKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+ImxvYWRpbmciaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5sb2FkaW5nLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UubG9hZGluZz1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sVCxFKSxLYSh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkS2V5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4ic2VsZWN0ZWRLZXkiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5zZWxlY3RlZEtleSwiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLnNlbGVjdGVkS2V5PUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxNLFMpLEthKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsdGVyVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+ImZpbHRlclRleHQiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5maWx0ZXJUZXh0LCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UuZmlsdGVyVGV4dD1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sQSxGKSxLYSh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dDcmVhdGVEaWFsb2ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJzaG93Q3JlYXRlRGlhbG9nImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2Uuc2hvd0NyZWF0ZURpYWxvZywiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLnNob3dDcmVhdGVEaWFsb2c9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LGosRyksS2EodGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3JlYXRlRGlhbG9nVHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+ImNyZWF0ZURpYWxvZ1R5cGUiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5jcmVhdGVEaWFsb2dUeXBlLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UuY3JlYXRlRGlhbG9nVHlwZT1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sUixVKSxLYSh0aGlzLG51bGwsbWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjcmVhdGVEaWFsb2dQcmVmaXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJjcmVhdGVEaWFsb2dQcmVmaXgiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5jcmVhdGVEaWFsb2dQcmVmaXgsImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5jcmVhdGVEaWFsb2dQcmVmaXg9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LEkscSksS2EodGhpcyxudWxsLGNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3JlYXRlRGlhbG9nTmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+ImNyZWF0ZURpYWxvZ05hbWUiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5jcmVhdGVEaWFsb2dOYW1lLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UuY3JlYXRlRGlhbG9nTmFtZT1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sdWUsWSksS2EodGhpcyxudWxsLFEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93TW92ZURpYWxvZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+InNob3dNb3ZlRGlhbG9nImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2Uuc2hvd01vdmVEaWFsb2csImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5zaG93TW92ZURpYWxvZz1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sSixaKSxLYSh0aGlzLG51bGwsZ2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlU291cmNlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4ibW92ZVNvdXJjZSJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLm1vdmVTb3VyY2UsImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5tb3ZlU291cmNlPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxhZSxyZSksS2EodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZURlc3RpbmF0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4ibW92ZURlc3RpbmF0aW9uImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UubW92ZURlc3RpbmF0aW9uLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UubW92ZURlc3RpbmF0aW9uPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxWLEgpLEthKHRoaXMsbnVsbCxvZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vdmVJblByb2dyZXNzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4ibW92ZUluUHJvZ3Jlc3MiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5tb3ZlSW5Qcm9ncmVzcywiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLm1vdmVJblByb2dyZXNzPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxzZSx0ZSksS2EodGhpcyxudWxsLHplLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZUVycm9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4ibW92ZUVycm9yImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UubW92ZUVycm9yLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UubW92ZUVycm9yPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxPZSxxZSksS2EodGhpcyxudWxsLGN0LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd01vdmVQaWNrZXJEaWFsb2ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJzaG93TW92ZVBpY2tlckRpYWxvZyJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLnNob3dNb3ZlUGlja2VyRGlhbG9nLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2Uuc2hvd01vdmVQaWNrZXJEaWFsb2c9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LCRlLENlKSxLYSh0aGlzLG51bGwsTWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlUGlja2VyU291cmNlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4ibW92ZVBpY2tlclNvdXJjZSJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLm1vdmVQaWNrZXJTb3VyY2UsImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5tb3ZlUGlja2VyU291cmNlPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxkZSx2ZSksS2EodGhpcyxudWxsLEFlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZVBpY2tlckN1cnJlbnRQcmVmaXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJtb3ZlUGlja2VyQ3VycmVudFByZWZpeCJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4LCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UubW92ZVBpY2tlckN1cnJlbnRQcmVmaXg9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LFplLGx0KSxLYSh0aGlzLG51bGwsenQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlUGlja2VyUHJlZml4ZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJtb3ZlUGlja2VyUHJlZml4ZXMiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5tb3ZlUGlja2VyUHJlZml4ZXMsImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5tb3ZlUGlja2VyUHJlZml4ZXM9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LFRlLHdlKSxLYSh0aGlzLG51bGwsUmUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlUGlja2VyTG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+Im1vdmVQaWNrZXJMb2FkaW5nImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UubW92ZVBpY2tlckxvYWRpbmcsImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5tb3ZlUGlja2VyTG9hZGluZz1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sZmUsYmUpLEthKHRoaXMsbnVsbCxQZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dSZW5hbWVEaWFsb2ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJzaG93UmVuYW1lRGlhbG9nImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2Uuc2hvd1JlbmFtZURpYWxvZywiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLnNob3dSZW5hbWVEaWFsb2c9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LGZ0LG10KSxLYSh0aGlzLG51bGwsTnQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZW5hbWVTb3VyY2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJyZW5hbWVTb3VyY2UiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5yZW5hbWVTb3VyY2UsImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5yZW5hbWVTb3VyY2U9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LFFhLGVyKSxLYSh0aGlzLG51bGwseXMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZW5hbWVOYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4icmVuYW1lTmFtZSJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLnJlbmFtZU5hbWUsImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5yZW5hbWVOYW1lPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxqZSx1dCksS2EodGhpcyxudWxsLEphLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVuYW1lSW5Qcm9ncmVzcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+InJlbmFtZUluUHJvZ3Jlc3MiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5yZW5hbWVJblByb2dyZXNzLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UucmVuYW1lSW5Qcm9ncmVzcz1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sTXIsJHIpLEthKHRoaXMsbnVsbCxWcix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlbmFtZUVycm9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4icmVuYW1lRXJyb3IiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5yZW5hbWVFcnJvciwiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLnJlbmFtZUVycm9yPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxEcixtbyksS2EobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TGV9LG51bGwsdCksZ289cj1lLnZhbHVlLExlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkxlfSl9I2U9X3QodGhpcyxuLG51bGwpO2dldCBkYXRhUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZGF0YVByb3ZpZGVyKExlKXt0aGlzLiNlPUxlfSN0PShfdCh0aGlzLGwpLF90KHRoaXMsYywiIikpO2dldCBidWNrZXROYW1lKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGJ1Y2tldE5hbWUoTGUpe3RoaXMuI3Q9TGV9I2E9KF90KHRoaXMscCksX3QodGhpcyxtLCIiKSk7Z2V0IGN1cnJlbnRQcmVmaXgoKXtyZXR1cm4gdGhpcy4jYX1zZXQgY3VycmVudFByZWZpeChMZSl7dGhpcy4jYT1MZX0jcj0oX3QodGhpcyx2KSxfdCh0aGlzLGIsMCkpO2dldCByZWZyZXNoS2V5KCl7cmV0dXJuIHRoaXMuI3J9c2V0IHJlZnJlc2hLZXkoTGUpe3RoaXMuI3I9TGV9I3M9KF90KHRoaXMsZyksX3QodGhpcyxrLFtdKSk7Z2V0IGFsbEtleXMoKXtyZXR1cm4gdGhpcy4jc31zZXQgYWxsS2V5cyhMZSl7dGhpcy4jcz1MZX0jaT0oX3QodGhpcyxDKSxfdCh0aGlzLF8sW10pKTtnZXQgcHJlZml4ZXMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgcHJlZml4ZXMoTGUpe3RoaXMuI2k9TGV9I289KF90KHRoaXMseiksX3QodGhpcyxULCExKSk7Z2V0IGxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jb31zZXQgbG9hZGluZyhMZSl7dGhpcy4jbz1MZX0jbj0oX3QodGhpcyxFKSxfdCh0aGlzLE0sIiIpKTtnZXQgc2VsZWN0ZWRLZXkoKXtyZXR1cm4gdGhpcy4jbn1zZXQgc2VsZWN0ZWRLZXkoTGUpe3RoaXMuI249TGV9I2w9KF90KHRoaXMsUyksX3QodGhpcyxBLCIiKSk7Z2V0IGZpbHRlclRleHQoKXtyZXR1cm4gdGhpcy4jbH1zZXQgZmlsdGVyVGV4dChMZSl7dGhpcy4jbD1MZX0jYz0oX3QodGhpcyxGKSxfdCh0aGlzLGosITEpKTtnZXQgc2hvd0NyZWF0ZURpYWxvZygpe3JldHVybiB0aGlzLiNjfXNldCBzaG93Q3JlYXRlRGlhbG9nKExlKXt0aGlzLiNjPUxlfSNkPShfdCh0aGlzLEcpLF90KHRoaXMsUiwiZm9sZGVyIikpO2dldCBjcmVhdGVEaWFsb2dUeXBlKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGNyZWF0ZURpYWxvZ1R5cGUoTGUpe3RoaXMuI2Q9TGV9I3U9KF90KHRoaXMsVSksX3QodGhpcyxJLCIiKSk7Z2V0IGNyZWF0ZURpYWxvZ1ByZWZpeCgpe3JldHVybiB0aGlzLiN1fXNldCBjcmVhdGVEaWFsb2dQcmVmaXgoTGUpe3RoaXMuI3U9TGV9I3A9KF90KHRoaXMscSksX3QodGhpcyx1ZSwiIikpO2dldCBjcmVhdGVEaWFsb2dOYW1lKCl7cmV0dXJuIHRoaXMuI3B9c2V0IGNyZWF0ZURpYWxvZ05hbWUoTGUpe3RoaXMuI3A9TGV9I2Y9KF90KHRoaXMsWSksX3QodGhpcyxKLCExKSk7Z2V0IHNob3dNb3ZlRGlhbG9nKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IHNob3dNb3ZlRGlhbG9nKExlKXt0aGlzLiNmPUxlfSNoPShfdCh0aGlzLFopLF90KHRoaXMsYWUsbnVsbCkpO2dldCBtb3ZlU291cmNlKCl7cmV0dXJuIHRoaXMuI2h9c2V0IG1vdmVTb3VyY2UoTGUpe3RoaXMuI2g9TGV9I209KF90KHRoaXMscmUpLF90KHRoaXMsViwiIikpO2dldCBtb3ZlRGVzdGluYXRpb24oKXtyZXR1cm4gdGhpcy4jbX1zZXQgbW92ZURlc3RpbmF0aW9uKExlKXt0aGlzLiNtPUxlfSNnPShfdCh0aGlzLEgpLF90KHRoaXMsc2UsITEpKTtnZXQgbW92ZUluUHJvZ3Jlc3MoKXtyZXR1cm4gdGhpcy4jZ31zZXQgbW92ZUluUHJvZ3Jlc3MoTGUpe3RoaXMuI2c9TGV9I2I9KF90KHRoaXMsdGUpLF90KHRoaXMsT2UsbnVsbCkpO2dldCBtb3ZlRXJyb3IoKXtyZXR1cm4gdGhpcy4jYn1zZXQgbW92ZUVycm9yKExlKXt0aGlzLiNiPUxlfSN2PShfdCh0aGlzLHFlKSxfdCh0aGlzLCRlLCExKSk7Z2V0IHNob3dNb3ZlUGlja2VyRGlhbG9nKCl7cmV0dXJuIHRoaXMuI3Z9c2V0IHNob3dNb3ZlUGlja2VyRGlhbG9nKExlKXt0aGlzLiN2PUxlfSN4PShfdCh0aGlzLENlKSxfdCh0aGlzLGRlLG51bGwpKTtnZXQgbW92ZVBpY2tlclNvdXJjZSgpe3JldHVybiB0aGlzLiN4fXNldCBtb3ZlUGlja2VyU291cmNlKExlKXt0aGlzLiN4PUxlfSN5PShfdCh0aGlzLHZlKSxfdCh0aGlzLFplLCIiKSk7Z2V0IG1vdmVQaWNrZXJDdXJyZW50UHJlZml4KCl7cmV0dXJuIHRoaXMuI3l9c2V0IG1vdmVQaWNrZXJDdXJyZW50UHJlZml4KExlKXt0aGlzLiN5PUxlfSN3PShfdCh0aGlzLGx0KSxfdCh0aGlzLFRlLFtdKSk7Z2V0IG1vdmVQaWNrZXJQcmVmaXhlcygpe3JldHVybiB0aGlzLiN3fXNldCBtb3ZlUGlja2VyUHJlZml4ZXMoTGUpe3RoaXMuI3c9TGV9I009KF90KHRoaXMsd2UpLF90KHRoaXMsZmUsITEpKTtnZXQgbW92ZVBpY2tlckxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jTX1zZXQgbW92ZVBpY2tlckxvYWRpbmcoTGUpe3RoaXMuI009TGV9I2s9KF90KHRoaXMsYmUpLF90KHRoaXMsZnQsITEpKTtnZXQgc2hvd1JlbmFtZURpYWxvZygpe3JldHVybiB0aGlzLiNrfXNldCBzaG93UmVuYW1lRGlhbG9nKExlKXt0aGlzLiNrPUxlfSNTPShfdCh0aGlzLG10KSxfdCh0aGlzLFFhLG51bGwpKTtnZXQgcmVuYW1lU291cmNlKCl7cmV0dXJuIHRoaXMuI1N9c2V0IHJlbmFtZVNvdXJjZShMZSl7dGhpcy4jUz1MZX0jej0oX3QodGhpcyxlciksX3QodGhpcyxqZSwiIikpO2dldCByZW5hbWVOYW1lKCl7cmV0dXJuIHRoaXMuI3p9c2V0IHJlbmFtZU5hbWUoTGUpe3RoaXMuI3o9TGV9I0M9KF90KHRoaXMsdXQpLF90KHRoaXMsTXIsITEpKTtnZXQgcmVuYW1lSW5Qcm9ncmVzcygpe3JldHVybiB0aGlzLiNDfXNldCByZW5hbWVJblByb2dyZXNzKExlKXt0aGlzLiNDPUxlfSNfPShfdCh0aGlzLCRyKSxfdCh0aGlzLERyLG51bGwpKTtnZXQgcmVuYW1lRXJyb3IoKXtyZXR1cm4gdGhpcy4jX31zZXQgcmVuYW1lRXJyb3IoTGUpe3RoaXMuI189TGV9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLEVlLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmtleXMtY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuZmlsdGVyLWJhciB7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzMzIil9OwogICAgICB9CgogICAgICAuZmlsdGVyLWlucHV0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAzKSIsInJnYmEoMCwgMCwgMCwgMC4zKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiM0NDQiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CgogICAgICAuZmlsdGVyLWlucHV0OmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNDA0MDQwIil9OwogICAgICB9CgogICAgICAuZmlsdGVyLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzY2NiIpfTsKICAgICAgfQoKICAgICAgLmtleXMtbGlzdCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CgogICAgICB0YWJsZSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICAgICAgfQoKICAgICAgdGhlYWQgewogICAgICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzFhMWExYSIpfTsKICAgICAgICB6LWluZGV4OiAxOwogICAgICB9CgogICAgICB0aCB7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzY2NiIpfTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzMzMiKX07CiAgICAgIH0KCiAgICAgIHRkIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzJhMmEzZSIpfTsKICAgICAgfQoKICAgICAgdHI6aG92ZXIgdGQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDIpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzKSIpfTsKICAgICAgfQoKICAgICAgdHIuc2VsZWN0ZWQgdGQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4wOCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgICB9CgogICAgICAua2V5LWNlbGwgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5rZXktaWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZm9sZGVyLWljb24gewogICAgICAgIGNvbG9yOiAjZmJiZjI0OwogICAgICB9CgogICAgICAua2V5LW5hbWUgewogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLnNpemUtY2VsbCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzg4OCIpfTsKICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDMycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM2NjYiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctb3ZlcmxheSB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHotaW5kZXg6IDEwMDA7CiAgICAgIH0KCiAgICAgIC5kaWFsb2cgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzFlMWUxZSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWluLXdpZHRoOiA0MDBweDsKICAgICAgICBib3gtc2hhZG93OiAwIDIwcHggNDBweCByZ2JhKDAsIDAsIDAsIDAuNSk7CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZmZiIpfTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1sb2NhdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM4ODgiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICB9CgogICAgICAuZGlhbG9nLWlucHV0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTQxNDE0Iil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzMzMyIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZmZiIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctaW5wdXQ6Zm9jdXMgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiNlMGUwZTAiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctaGludCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM2NjYiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmRpYWxvZy1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICB9CgogICAgICAuZGlhbG9nLWJ0biB7CiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctYnRuLWNhbmNlbCB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjNDQ0Iil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhYWEiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctYnRuLWNhbmNlbDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wMykiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctYnRuLWNyZWF0ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjNDA0MDQwIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmZmIil9OwogICAgICB9CgogICAgICAuZGlhbG9nLWJ0bi1jcmVhdGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzUwNTA1MCIpfTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1idG4tY3JlYXRlOmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLyogTW92ZSBkaWFsb2cgc3R5bGVzICovCiAgICAgIC5tb3ZlLXN1bW1hcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDMpIiwicmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5tb3ZlLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAubW92ZS1pdGVtOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC5tb3ZlLWxhYmVsIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjODg4Iil9OwogICAgICAgIG1pbi13aWR0aDogNDBweDsKICAgICAgfQoKICAgICAgLm1vdmUtcGF0aCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2YzZjQ2IiwiI2UwZTBlMCIpfTsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7CiAgICAgIH0KCiAgICAgIC5tb3ZlLWVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjE1KTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpOwogICAgICAgIGNvbG9yOiAjZjg3MTcxOwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KCiAgICAgIC8qIE1vdmUgcGlja2VyIGRpYWxvZyBzdHlsZXMgKi8KICAgICAgLm1vdmUtcGlja2VyLWRpYWxvZyB7CiAgICAgICAgbWluLXdpZHRoOiA0NTBweDsKICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDsKICAgICAgfQoKICAgICAgLnBpY2tlci1icmVhZGNydW1iIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wMykiLCJyZ2JhKDAsIDAsIDAsIDAuMikiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgIH0KCiAgICAgIC5waWNrZXItY3J1bWIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM4ODgiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5waWNrZXItY3J1bWI6aG92ZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgIH0KCiAgICAgIC5waWNrZXItc2VwYXJhdG9yIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjNTU1Iil9OwogICAgICB9CgogICAgICAucGlja2VyLWxpc3QgewogICAgICAgIG1heC1oZWlnaHQ6IDI4MHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzMzIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIG1pbi1oZWlnaHQ6IDEwMHB4OwogICAgICB9CgogICAgICAucGlja2VyLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgY29sb3I6ICNmYmJmMjQ7CiAgICAgIH0KCiAgICAgIC5waWNrZXItaXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wMykiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpIil9OwogICAgICB9CgogICAgICAucGlja2VyLWl0ZW0gLmljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnBpY2tlci1pdGVtIC5uYW1lIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLnBpY2tlci1lbXB0eSB7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzY2NiIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KICAgIGBdO2FzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxhd2FpdCB0aGlzLmxvYWRPYmplY3RzKCl9dXBkYXRlZChMZSl7KExlLmhhcygiYnVja2V0TmFtZSIpfHxMZS5oYXMoImN1cnJlbnRQcmVmaXgiKXx8TGUuaGFzKCJyZWZyZXNoS2V5IikpJiZ0aGlzLmxvYWRPYmplY3RzKCl9YXN5bmMgbG9hZE9iamVjdHMoKXtpZih0aGlzLmRhdGFQcm92aWRlcil7dGhpcy5sb2FkaW5nPSEwO3RyeXtsZXQgTGU9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubGlzdE9iamVjdHModGhpcy5idWNrZXROYW1lLHRoaXMuY3VycmVudFByZWZpeCwiLyIpO3RoaXMuYWxsS2V5cz1MZS5vYmplY3RzLHRoaXMucHJlZml4ZXM9TGUucHJlZml4ZXN9Y2F0Y2goTGUpe2NvbnNvbGUuZXJyb3IoIkVycm9yIGxvYWRpbmcgb2JqZWN0czoiLExlKSx0aGlzLmFsbEtleXM9W10sdGhpcy5wcmVmaXhlcz1bXX10aGlzLmxvYWRpbmc9ITF9fWhhbmRsZUZpbHRlcklucHV0KExlKXt0aGlzLmZpbHRlclRleHQ9TGUudGFyZ2V0LnZhbHVlfXNlbGVjdEtleShMZSxTZSl7dGhpcy5zZWxlY3RlZEtleT1MZSxTZT90aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJuYXZpZ2F0ZSIse2RldGFpbDp7cHJlZml4OkxlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpOnRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImtleS1zZWxlY3RlZCIse2RldGFpbDp7a2V5OkxlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWdldCBmaWx0ZXJlZEl0ZW1zKCl7bGV0IExlPXRoaXMuZmlsdGVyVGV4dC50b0xvd2VyQ2FzZSgpLFNlPXRoaXMucHJlZml4ZXMuZmlsdGVyKGlhPT4hTGV8fG1hKGlhKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKExlKSkubWFwKGlhPT4oe2tleTppYSxpc0ZvbGRlcjohMCxzaXplOnZvaWQgMH0pKSxCZT10aGlzLmFsbEtleXMuZmlsdGVyKGlhPT4hTGV8fG1hKGlhLmtleSkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhMZSkpLm1hcChpYT0+KHtrZXk6aWEua2V5LGlzRm9sZGVyOiExLHNpemU6aWEuc2l6ZX0pKTtyZXR1cm5bLi4uU2UsLi4uQmVdfWhhbmRsZUl0ZW1Db250ZXh0TWVudShMZSxTZSxCZSl7dGhpcy5kYXRhUHJvdmlkZXImJihMZS5wcmV2ZW50RGVmYXVsdCgpLEJlP3RhLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKExlLFt7bmFtZToiT3BlbiIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJPcGVuIixhY3Rpb246cyhhc3luYygpPT57dGhpcy5zZWxlY3RLZXkoU2UsITApfSwiYWN0aW9uIil9LHtuYW1lOiJDb3B5IFBhdGgiLGljb25OYW1lOiJsdWNpZGU6Y29weSIsYWN0aW9uOnMoYXN5bmMoKT0+e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KFNlKX0sImFjdGlvbiIpfSx7bmFtZToiUmVuYW1lIixpY29uTmFtZToibHVjaWRlOnBlbmNpbCIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuUmVuYW1lRGlhbG9nKFNlLCEwKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiTW92ZSB0by4uLiIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJJbnB1dCIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuTW92ZVBpY2tlckRpYWxvZyhTZSwhMCksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6Ik5ldyBGb2xkZXIgSW5zaWRlIixpY29uTmFtZToibHVjaWRlOmZvbGRlclBsdXMiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMub3BlbkNyZWF0ZURpYWxvZygiZm9sZGVyIixTZSksImFjdGlvbiIpfSx7bmFtZToiTmV3IEZpbGUgSW5zaWRlIixpY29uTmFtZToibHVjaWRlOmZpbGVQbHVzIixhY3Rpb246cyhhc3luYygpPT50aGlzLm9wZW5DcmVhdGVEaWFsb2coImZpbGUiLFNlKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiRGVsZXRlIEZvbGRlciIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaDIiLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25maXJtKGBEZWxldGUgZm9sZGVyICIke21hKFNlKX0iIGFuZCBhbGwgaXRzIGNvbnRlbnRzP2ApJiZhd2FpdCB0aGlzLmRhdGFQcm92aWRlci5kZWxldGVQcmVmaXgodGhpcy5idWNrZXROYW1lLFNlKSYmYXdhaXQgdGhpcy5sb2FkT2JqZWN0cygpfSwiYWN0aW9uIil9XSk6dGEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoTGUsW3tuYW1lOiJQcmV2aWV3IixpY29uTmFtZToibHVjaWRlOmV5ZSIsYWN0aW9uOnMoYXN5bmMoKT0+e3RoaXMuc2VsZWN0S2V5KFNlLCExKX0sImFjdGlvbiIpfSx7bmFtZToiRG93bmxvYWQiLGljb25OYW1lOiJsdWNpZGU6ZG93bmxvYWQiLGFjdGlvbjpzKGFzeW5jKCk9PntsZXQgaWE9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIuZ2V0T2JqZWN0VXJsKHRoaXMuYnVja2V0TmFtZSxTZSksd3M9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO3dzLmhyZWY9aWEsd3MuZG93bmxvYWQ9bWEoU2UpLHdzLmNsaWNrKCl9LCJhY3Rpb24iKX0se25hbWU6IkNvcHkgUGF0aCIsaWNvbk5hbWU6Imx1Y2lkZTpjb3B5IixhY3Rpb246cyhhc3luYygpPT57YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoU2UpfSwiYWN0aW9uIil9LHtuYW1lOiJSZW5hbWUiLGljb25OYW1lOiJsdWNpZGU6cGVuY2lsIixhY3Rpb246cyhhc3luYygpPT50aGlzLm9wZW5SZW5hbWVEaWFsb2coU2UsITEpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJNb3ZlIHRvLi4uIixpY29uTmFtZToibHVjaWRlOmZvbGRlcklucHV0IixhY3Rpb246cyhhc3luYygpPT50aGlzLm9wZW5Nb3ZlUGlja2VyRGlhbG9nKFNlLCExKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiRGVsZXRlIixpY29uTmFtZToibHVjaWRlOnRyYXNoMiIsYWN0aW9uOnMoYXN5bmMoKT0+e2NvbmZpcm0oYERlbGV0ZSBmaWxlICIke21hKFNlKX0iP2ApJiZhd2FpdCB0aGlzLmRhdGFQcm92aWRlci5kZWxldGVPYmplY3QodGhpcy5idWNrZXROYW1lLFNlKSYmYXdhaXQgdGhpcy5sb2FkT2JqZWN0cygpfSwiYWN0aW9uIil9XSkpfWhhbmRsZUVtcHR5U3BhY2VDb250ZXh0TWVudShMZSl7TGUudGFyZ2V0LmNsb3Nlc3QoInRyIil8fChMZS5wcmV2ZW50RGVmYXVsdCgpLHRhLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKExlLFt7bmFtZToiTmV3IEZvbGRlciIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJQbHVzIixhY3Rpb246cyhhc3luYygpPT50aGlzLm9wZW5DcmVhdGVEaWFsb2coImZvbGRlciIsdGhpcy5jdXJyZW50UHJlZml4KSwiYWN0aW9uIil9LHtuYW1lOiJOZXcgRmlsZSIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlUGx1cyIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuQ3JlYXRlRGlhbG9nKCJmaWxlIix0aGlzLmN1cnJlbnRQcmVmaXgpLCJhY3Rpb24iKX1dKSl9b3BlbkNyZWF0ZURpYWxvZyhMZSxTZSl7dGhpcy5jcmVhdGVEaWFsb2dUeXBlPUxlLHRoaXMuY3JlYXRlRGlhbG9nUHJlZml4PVNlLHRoaXMuY3JlYXRlRGlhbG9nTmFtZT0iIix0aGlzLnNob3dDcmVhdGVEaWFsb2c9ITB9YXN5bmMgaGFuZGxlQ3JlYXRlKCl7aWYoIXRoaXMuY3JlYXRlRGlhbG9nTmFtZS50cmltKCl8fCF0aGlzLmRhdGFQcm92aWRlcilyZXR1cm47bGV0IExlPXRoaXMuY3JlYXRlRGlhbG9nTmFtZS50cmltKCksU2U7dGhpcy5jcmVhdGVEaWFsb2dUeXBlPT09ImZvbGRlciI/U2U9dGhpcy5jcmVhdGVEaWFsb2dQcmVmaXgrTGUrIi8ua2VlcCI6U2U9dGhpcy5jcmVhdGVEaWFsb2dQcmVmaXgrTGU7bGV0IEJlPUxlLnNwbGl0KCIuIikucG9wKCk/LnRvTG93ZXJDYXNlKCl8fCIiLGlhPXRoaXMuY3JlYXRlRGlhbG9nVHlwZT09PSJmaWxlIj9PNChCZSk6ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIsd3M9dGhpcy5jcmVhdGVEaWFsb2dUeXBlPT09ImZpbGUiP2U3KEJlKToiIjthd2FpdCB0aGlzLmRhdGFQcm92aWRlci5wdXRPYmplY3QodGhpcy5idWNrZXROYW1lLFNlLGJ0b2Eod3MpLGlhKSYmKHRoaXMuc2hvd0NyZWF0ZURpYWxvZz0hMSxhd2FpdCB0aGlzLmxvYWRPYmplY3RzKCkpfXJlbmRlckNyZWF0ZURpYWxvZygpe2lmKCF0aGlzLnNob3dDcmVhdGVEaWFsb2cpcmV0dXJuIiI7bGV0IExlPXRoaXMuY3JlYXRlRGlhbG9nVHlwZT09PSJmb2xkZXIiLFNlPUxlPyJDcmVhdGUgTmV3IEZvbGRlciI6IkNyZWF0ZSBOZXcgRmlsZSIsQmU9TGU/ImZvbGRlci1uYW1lIG9yIHBhdGgvdG8vZm9sZGVyIjoiZmlsZW5hbWUudHh0IG9yIHBhdGgvdG8vZmlsZS50eHQiO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctb3ZlcmxheSIgQGNsaWNrPSR7KCk9PnRoaXMuc2hvd0NyZWF0ZURpYWxvZz0hMX0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nIiBAY2xpY2s9JHtpYT0+aWEuc3RvcFByb3BhZ2F0aW9uKCl9PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLXRpdGxlIj4ke1NlfTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWxvY2F0aW9uIj4KICAgICAgICAgICAgTG9jYXRpb246ICR7dGhpcy5idWNrZXROYW1lfS8ke3RoaXMuY3JlYXRlRGlhbG9nUHJlZml4fQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgY2xhc3M9ImRpYWxvZy1pbnB1dCIKICAgICAgICAgICAgcGxhY2Vob2xkZXI9JHtCZX0KICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5jcmVhdGVEaWFsb2dOYW1lfQogICAgICAgICAgICBAaW5wdXQ9JHtpYT0+dGhpcy5jcmVhdGVEaWFsb2dOYW1lPWlhLnRhcmdldC52YWx1ZX0KICAgICAgICAgICAgQGtleWRvd249JHtpYT0+aWEua2V5PT09IkVudGVyIiYmdGhpcy5oYW5kbGVDcmVhdGUoKX0KICAgICAgICAgIC8+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctaGludCI+CiAgICAgICAgICAgIFVzZSAiLyIgdG8gY3JlYXRlIG5lc3RlZCAke0xlPyJmb2xkZXJzIjoicGF0aCJ9IChlLmcuLCAke0xlPyJwYXJlbnQvY2hpbGQiOiJmb2xkZXIvZmlsZS50eHQifSkKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWFjdGlvbnMiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY2FuY2VsIiBAY2xpY2s9JHsoKT0+dGhpcy5zaG93Q3JlYXRlRGlhbG9nPSExfT4KICAgICAgICAgICAgICBDYW5jZWwKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNyZWF0ZSIKICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHshdGhpcy5jcmVhdGVEaWFsb2dOYW1lLnRyaW0oKX0KICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDcmVhdGUoKX0KICAgICAgICAgICAgPgogICAgICAgICAgICAgIENyZWF0ZQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgb3Blbk1vdmVQaWNrZXJEaWFsb2coTGUsU2Upe3RoaXMubW92ZVBpY2tlclNvdXJjZT17a2V5OkxlLGlzRm9sZGVyOlNlfSx0aGlzLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4PSIiLHRoaXMuc2hvd01vdmVQaWNrZXJEaWFsb2c9ITAsYXdhaXQgdGhpcy5sb2FkTW92ZVBpY2tlclByZWZpeGVzKCIiKX1hc3luYyBuYXZpZ2F0ZU1vdmVQaWNrZXIoTGUpe3RoaXMubW92ZVBpY2tlckN1cnJlbnRQcmVmaXg9TGUsYXdhaXQgdGhpcy5sb2FkTW92ZVBpY2tlclByZWZpeGVzKExlKX1hc3luYyBsb2FkTW92ZVBpY2tlclByZWZpeGVzKExlKXtpZih0aGlzLmRhdGFQcm92aWRlcil7dGhpcy5tb3ZlUGlja2VyTG9hZGluZz0hMDt0cnl7bGV0IFNlPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmxpc3RPYmplY3RzKHRoaXMuYnVja2V0TmFtZSxMZSwiLyIpO3RoaXMubW92ZVBpY2tlclByZWZpeGVzPVNlLnByZWZpeGVzfWNhdGNoe3RoaXMubW92ZVBpY2tlclByZWZpeGVzPVtdfXRoaXMubW92ZVBpY2tlckxvYWRpbmc9ITF9fXNlbGVjdE1vdmVEZXN0aW5hdGlvbihMZSl7dGhpcy5tb3ZlUGlja2VyU291cmNlJiYodGhpcy5jbG9zZU1vdmVQaWNrZXJEaWFsb2coKSx0aGlzLmluaXRpYXRlTW92ZSh0aGlzLm1vdmVQaWNrZXJTb3VyY2Uua2V5LHRoaXMubW92ZVBpY2tlclNvdXJjZS5pc0ZvbGRlcixMZSkpfWNsb3NlTW92ZVBpY2tlckRpYWxvZygpe3RoaXMuc2hvd01vdmVQaWNrZXJEaWFsb2c9ITEsdGhpcy5tb3ZlUGlja2VyU291cmNlPW51bGwsdGhpcy5tb3ZlUGlja2VyQ3VycmVudFByZWZpeD0iIix0aGlzLm1vdmVQaWNrZXJQcmVmaXhlcz1bXX1pbml0aWF0ZU1vdmUoTGUsU2UsQmUpe2xldCBpYT1KbShMZSxCZSk7aWYoIWlhLnZhbGlkKXt0aGlzLm1vdmVTb3VyY2U9e2tleTpMZSxpc0ZvbGRlcjpTZX0sdGhpcy5tb3ZlRGVzdGluYXRpb249QmUsdGhpcy5tb3ZlRXJyb3I9aWEuZXJyb3IsdGhpcy5zaG93TW92ZURpYWxvZz0hMDtyZXR1cm59dGhpcy5tb3ZlU291cmNlPXtrZXk6TGUsaXNGb2xkZXI6U2V9LHRoaXMubW92ZURlc3RpbmF0aW9uPUJlLHRoaXMubW92ZUVycm9yPW51bGwsdGhpcy5zaG93TW92ZURpYWxvZz0hMH1hc3luYyBleGVjdXRlTW92ZSgpe2lmKCEoIXRoaXMubW92ZVNvdXJjZXx8IXRoaXMuZGF0YVByb3ZpZGVyKSl7dGhpcy5tb3ZlSW5Qcm9ncmVzcz0hMDt0cnl7bGV0IExlPW1hKHRoaXMubW92ZVNvdXJjZS5rZXkpLFNlPXRoaXMubW92ZURlc3RpbmF0aW9uK0xlLEJlO3RoaXMubW92ZVNvdXJjZS5pc0ZvbGRlcj9CZT1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5tb3ZlUHJlZml4KHRoaXMuYnVja2V0TmFtZSx0aGlzLm1vdmVTb3VyY2Uua2V5LFNlKTpCZT1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5tb3ZlT2JqZWN0KHRoaXMuYnVja2V0TmFtZSx0aGlzLm1vdmVTb3VyY2Uua2V5LFNlKSxCZS5zdWNjZXNzPyh0aGlzLmNsb3NlTW92ZURpYWxvZygpLGF3YWl0IHRoaXMubG9hZE9iamVjdHMoKSk6dGhpcy5tb3ZlRXJyb3I9QmUuZXJyb3J8fCJNb3ZlIG9wZXJhdGlvbiBmYWlsZWQifWNhdGNoKExlKXt0aGlzLm1vdmVFcnJvcj1gRXJyb3I6ICR7TGV9YH10aGlzLm1vdmVJblByb2dyZXNzPSExfX1jbG9zZU1vdmVEaWFsb2coKXt0aGlzLnNob3dNb3ZlRGlhbG9nPSExLHRoaXMubW92ZVNvdXJjZT1udWxsLHRoaXMubW92ZURlc3RpbmF0aW9uPSIiLHRoaXMubW92ZUVycm9yPW51bGwsdGhpcy5tb3ZlSW5Qcm9ncmVzcz0hMX1vcGVuUmVuYW1lRGlhbG9nKExlLFNlKXt0aGlzLnJlbmFtZVNvdXJjZT17a2V5OkxlLGlzRm9sZGVyOlNlfSx0aGlzLnJlbmFtZU5hbWU9bWEoTGUpLHRoaXMucmVuYW1lRXJyb3I9bnVsbCx0aGlzLnNob3dSZW5hbWVEaWFsb2c9ITAsdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT57bGV0IEJlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnJlbmFtZS1kaWFsb2ctaW5wdXQiKTtpZihCZSlpZihCZS5mb2N1cygpLFNlKUJlLnNlbGVjdCgpO2Vsc2V7bGV0IGlhPXRoaXMucmVuYW1lTmFtZS5sYXN0SW5kZXhPZigiLiIpO2lhPjA/QmUuc2V0U2VsZWN0aW9uUmFuZ2UoMCxpYSk6QmUuc2VsZWN0KCl9fSl9YXN5bmMgZXhlY3V0ZVJlbmFtZSgpe2lmKCF0aGlzLnJlbmFtZVNvdXJjZXx8IXRoaXMucmVuYW1lTmFtZS50cmltKCl8fCF0aGlzLmRhdGFQcm92aWRlcilyZXR1cm47bGV0IExlPXRoaXMucmVuYW1lTmFtZS50cmltKCksU2U9bWEodGhpcy5yZW5hbWVTb3VyY2Uua2V5KTtpZihMZT09PVNlKXt0aGlzLnJlbmFtZUVycm9yPSJOYW1lIGlzIHRoZSBzYW1lIGFzIGN1cnJlbnQiO3JldHVybn1pZighTGUpe3RoaXMucmVuYW1lRXJyb3I9Ik5hbWUgY2Fubm90IGJlIGVtcHR5IjtyZXR1cm59aWYoTGUuaW5jbHVkZXMoIi8iKSl7dGhpcy5yZW5hbWVFcnJvcj0nTmFtZSBjYW5ub3QgY29udGFpbiAiLyInO3JldHVybn10aGlzLnJlbmFtZUluUHJvZ3Jlc3M9ITAsdGhpcy5yZW5hbWVFcnJvcj1udWxsO3RyeXtsZXQgaWE9ajEodGhpcy5yZW5hbWVTb3VyY2Uua2V5KStMZSsodGhpcy5yZW5hbWVTb3VyY2UuaXNGb2xkZXI/Ii8iOiIiKSx3czt0aGlzLnJlbmFtZVNvdXJjZS5pc0ZvbGRlcj93cz1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5tb3ZlUHJlZml4KHRoaXMuYnVja2V0TmFtZSx0aGlzLnJlbmFtZVNvdXJjZS5rZXksaWEpOndzPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLm1vdmVPYmplY3QodGhpcy5idWNrZXROYW1lLHRoaXMucmVuYW1lU291cmNlLmtleSxpYSksd3Muc3VjY2Vzcz8odGhpcy5jbG9zZVJlbmFtZURpYWxvZygpLGF3YWl0IHRoaXMubG9hZE9iamVjdHMoKSk6dGhpcy5yZW5hbWVFcnJvcj13cy5lcnJvcnx8IlJlbmFtZSBmYWlsZWQifWNhdGNoKEJlKXt0aGlzLnJlbmFtZUVycm9yPWBFcnJvcjogJHtCZX1gfXRoaXMucmVuYW1lSW5Qcm9ncmVzcz0hMX1jbG9zZVJlbmFtZURpYWxvZygpe3RoaXMuc2hvd1JlbmFtZURpYWxvZz0hMSx0aGlzLnJlbmFtZVNvdXJjZT1udWxsLHRoaXMucmVuYW1lTmFtZT0iIix0aGlzLnJlbmFtZUVycm9yPW51bGwsdGhpcy5yZW5hbWVJblByb2dyZXNzPSExfXJlbmRlclJlbmFtZURpYWxvZygpe2lmKCF0aGlzLnNob3dSZW5hbWVEaWFsb2d8fCF0aGlzLnJlbmFtZVNvdXJjZSlyZXR1cm4iIjtsZXQgTGU9dGhpcy5yZW5hbWVTb3VyY2UuaXNGb2xkZXI7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1vdmVybGF5IiBAY2xpY2s9JHsoKT0+dGhpcy5jbG9zZVJlbmFtZURpYWxvZygpfT4KICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ciIEBjbGljaz0ke0JlPT5CZS5zdG9wUHJvcGFnYXRpb24oKX0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctdGl0bGUiPiR7TGU/IlJlbmFtZSBGb2xkZXIiOiJSZW5hbWUgRmlsZSJ9PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctbG9jYXRpb24iPgogICAgICAgICAgICBMb2NhdGlvbjogJHt0aGlzLmJ1Y2tldE5hbWV9LyR7ajEodGhpcy5yZW5hbWVTb3VyY2Uua2V5KX0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgJHt0aGlzLnJlbmFtZUVycm9yP3dgPGRpdiBjbGFzcz0ibW92ZS1lcnJvciI+JHt0aGlzLnJlbmFtZUVycm9yfTwvZGl2PmA6IiJ9CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgY2xhc3M9ImRpYWxvZy1pbnB1dCByZW5hbWUtZGlhbG9nLWlucHV0IgogICAgICAgICAgICBwbGFjZWhvbGRlcj0ke0xlPyJmb2xkZXItbmFtZSI6ImZpbGVuYW1lLmV4dCJ9CiAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMucmVuYW1lTmFtZX0KICAgICAgICAgICAgQGlucHV0PSR7QmU9Pnt0aGlzLnJlbmFtZU5hbWU9QmUudGFyZ2V0LnZhbHVlLHRoaXMucmVuYW1lRXJyb3I9bnVsbH19CiAgICAgICAgICAgIEBrZXlkb3duPSR7QmU9PntCZS5rZXk9PT0iRW50ZXIiJiZ0aGlzLmV4ZWN1dGVSZW5hbWUoKSxCZS5rZXk9PT0iRXNjYXBlIiYmdGhpcy5jbG9zZVJlbmFtZURpYWxvZygpfX0KICAgICAgICAgIC8+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctYWN0aW9ucyI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRpYWxvZy1idG4gZGlhbG9nLWJ0bi1jYW5jZWwiCiAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2VSZW5hbWVEaWFsb2coKX0KICAgICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLnJlbmFtZUluUHJvZ3Jlc3N9PkNhbmNlbDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY3JlYXRlIgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmV4ZWN1dGVSZW5hbWUoKX0KICAgICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLnJlbmFtZUluUHJvZ3Jlc3N8fCF0aGlzLnJlbmFtZU5hbWUudHJpbSgpfT4KICAgICAgICAgICAgICAke3RoaXMucmVuYW1lSW5Qcm9ncmVzcz8iUmVuYW1pbmcuLi4iOiJSZW5hbWUifQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyTW92ZURpYWxvZygpe2lmKCF0aGlzLnNob3dNb3ZlRGlhbG9nfHwhdGhpcy5tb3ZlU291cmNlKXJldHVybiIiO2xldCBMZT1tYSh0aGlzLm1vdmVTb3VyY2Uua2V5KTtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLW92ZXJsYXkiIEBjbGljaz0keygpPT50aGlzLmNsb3NlTW92ZURpYWxvZygpfT4KICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ciIEBjbGljaz0ke1NlPT5TZS5zdG9wUHJvcGFnYXRpb24oKX0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctdGl0bGUiPk1vdmUgJHt0aGlzLm1vdmVTb3VyY2UuaXNGb2xkZXI/IkZvbGRlciI6IkZpbGUifTwvZGl2PgoKICAgICAgICAgICR7dGhpcy5tb3ZlRXJyb3I/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW92ZS1lcnJvciI+JHt0aGlzLm1vdmVFcnJvcn08L2Rpdj4KICAgICAgICAgIGA6d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW92ZS1zdW1tYXJ5Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb3ZlLWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1vdmUtbGFiZWwiPkZyb206PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1vdmUtcGF0aCI+JHt0aGlzLm1vdmVTb3VyY2Uua2V5fTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb3ZlLWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1vdmUtbGFiZWwiPlRvOjwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtb3ZlLXBhdGgiPiR7dGhpcy5tb3ZlRGVzdGluYXRpb259JHtMZX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYH0KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctYWN0aW9ucyI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRpYWxvZy1idG4gZGlhbG9nLWJ0bi1jYW5jZWwiCiAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2VNb3ZlRGlhbG9nKCl9CiAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5tb3ZlSW5Qcm9ncmVzc30+CiAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAke3RoaXMubW92ZUVycm9yPyIiOndgCiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmV4ZWN1dGVNb3ZlKCl9CiAgICAgICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLm1vdmVJblByb2dyZXNzfT4KICAgICAgICAgICAgICAgICR7dGhpcy5tb3ZlSW5Qcm9ncmVzcz8iTW92aW5nLi4uIjoiTW92ZSJ9CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIGB9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlck1vdmVQaWNrZXJEaWFsb2coKXtpZighdGhpcy5zaG93TW92ZVBpY2tlckRpYWxvZ3x8IXRoaXMubW92ZVBpY2tlclNvdXJjZSlyZXR1cm4iIjtsZXQgTGU9bWEodGhpcy5tb3ZlUGlja2VyU291cmNlLmtleSksU2U9ajEodGhpcy5tb3ZlUGlja2VyU291cmNlLmtleSk7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1vdmVybGF5IiBAY2xpY2s9JHsoKT0+dGhpcy5jbG9zZU1vdmVQaWNrZXJEaWFsb2coKX0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nIG1vdmUtcGlja2VyLWRpYWxvZyIgQGNsaWNrPSR7QmU9PkJlLnN0b3BQcm9wYWdhdGlvbigpfT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy10aXRsZSI+TW92ZSAiJHtMZX0iIHRvLi4uPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0icGlja2VyLWJyZWFkY3J1bWIiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icGlja2VyLWNydW1iIiBAY2xpY2s9JHsoKT0+dGhpcy5uYXZpZ2F0ZU1vdmVQaWNrZXIoIiIpfT4KICAgICAgICAgICAgICAke3RoaXMuYnVja2V0TmFtZX0KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAke3g1KHRoaXMubW92ZVBpY2tlckN1cnJlbnRQcmVmaXgpLm1hcChCZT0+d2AKICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGlja2VyLXNlcGFyYXRvciI+Lzwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGlja2VyLWNydW1iIiBAY2xpY2s9JHsoKT0+dGhpcy5uYXZpZ2F0ZU1vdmVQaWNrZXIoQmUpfT4KICAgICAgICAgICAgICAgICR7bWEoQmUpfQogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgYCl9CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWNrZXItbGlzdCI+CiAgICAgICAgICAgICR7dGhpcy5tb3ZlUGlja2VyTG9hZGluZz93YDxkaXYgY2xhc3M9InBpY2tlci1lbXB0eSI+TG9hZGluZy4uLjwvZGl2PmA6IiJ9CiAgICAgICAgICAgICR7IXRoaXMubW92ZVBpY2tlckxvYWRpbmcmJnRoaXMubW92ZVBpY2tlclByZWZpeGVzLmZpbHRlcihCZT0+QmUhPT10aGlzLm1vdmVQaWNrZXJTb3VyY2Uua2V5KS5sZW5ndGg9PT0wP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlja2VyLWVtcHR5Ij5ObyBzdWJmb2xkZXJzPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICR7dGhpcy5tb3ZlUGlja2VyUHJlZml4ZXMuZmlsdGVyKEJlPT5CZSE9PXRoaXMubW92ZVBpY2tlclNvdXJjZS5rZXkpLm1hcChCZT0+d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpY2tlci1pdGVtIgogICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5uYXZpZ2F0ZU1vdmVQaWNrZXIoQmUpfQogICAgICAgICAgICAgICAgICAgICBAZGJsY2xpY2s9JHsoKT0+dGhpcy5zZWxlY3RNb3ZlRGVzdGluYXRpb24oQmUpfT4KICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMiAxOWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNWwyIDNoOWEyIDIgMCAwIDEgMiAyeiIvPgogICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5hbWUiPiR7bWEoQmUpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWFjdGlvbnMiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY2FuY2VsIiBAY2xpY2s9JHsoKT0+dGhpcy5jbG9zZU1vdmVQaWNrZXJEaWFsb2coKX0+CiAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY3JlYXRlIgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLnNlbGVjdE1vdmVEZXN0aW5hdGlvbih0aGlzLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4KX0KICAgICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4PT09U2V9PgogICAgICAgICAgICAgIE1vdmUgSGVyZQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImtleXMtY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWx0ZXItYmFyIj4KICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICBjbGFzcz0iZmlsdGVyLWlucHV0IgogICAgICAgICAgICBwbGFjZWhvbGRlcj0iRmlsdGVyIGZpbGVzLi4uIgogICAgICAgICAgICAudmFsdWU9JHt0aGlzLmZpbHRlclRleHR9CiAgICAgICAgICAgIEBpbnB1dD0ke3RoaXMuaGFuZGxlRmlsdGVySW5wdXR9CiAgICAgICAgICAvPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJrZXlzLWxpc3QiIEBjb250ZXh0bWVudT0ke0xlPT50aGlzLmhhbmRsZUVtcHR5U3BhY2VDb250ZXh0TWVudShMZSl9PgogICAgICAgICAgJHt0aGlzLmxvYWRpbmc/d2A8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+TG9hZGluZy4uLjwvZGl2PmA6dGhpcy5maWx0ZXJlZEl0ZW1zLmxlbmd0aD09PTA/d2A8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+Tm8gb2JqZWN0cyBmb3VuZDwvZGl2PmA6d2AKICAgICAgICAgICAgICAgICAgPHRhYmxlPgogICAgICAgICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk5hbWU8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOiAxMDBweDsiPlNpemU8L3RoPgogICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgICAgICAgICAgICR7dGhpcy5maWx0ZXJlZEl0ZW1zLm1hcChMZT0+d2AKICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSIke3RoaXMuc2VsZWN0ZWRLZXk9PT1MZS5rZXk/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zZWxlY3RLZXkoTGUua2V5LExlLmlzRm9sZGVyKX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjb250ZXh0bWVudT0ke1NlPT50aGlzLmhhbmRsZUl0ZW1Db250ZXh0TWVudShTZSxMZS5rZXksTGUuaXNGb2xkZXIpfQogICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ia2V5LWNlbGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7TGUuaXNGb2xkZXI/d2AKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJrZXktaWNvbiBmb2xkZXItaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIyIDE5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg1bDIgM2g5YTIgMiAwIDAgMSAyIDJ6IiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ia2V5LWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjh6IiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrZXktbmFtZSI+JHttYShMZS5rZXkpfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJzaXplLWNlbGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke0xlLmlzRm9sZGVyPyItIjpRbShMZS5zaXplKX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgIGB9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAke3RoaXMucmVuZGVyQ3JlYXRlRGlhbG9nKCl9CiAgICAgICR7dGhpcy5yZW5kZXJNb3ZlRGlhbG9nKCl9CiAgICAgICR7dGhpcy5yZW5kZXJNb3ZlUGlja2VyRGlhbG9nKCl9CiAgICAgICR7dGhpcy5yZW5kZXJSZW5hbWVEaWFsb2coKX0KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLF90KHRoaXMsbW8pfXN0YXRpY3tfdChyLHQpfX07cmV0dXJuIGdvPXJ9KSgpfSk7dmFyIElvLHNyLEwwYSxFUWU9ZigoKT0+e2xlKCk7UWUoKTtyRygpO0lvPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxzcj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sTDBhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1zdG9yYWdlLXByZXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdLGNlLHVlPVtdLFk9W107dmFyIFE9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNTdG9yYWdlUHJldmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBKPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9W0soKV0seT1bSygpXSxOPVtLKCldLE89W0soKV0sQj1bSygpXSxQPVtLKCldLFc9W0soKV0saGU9W0soKV0sbWU9W0soKV0sY2U9W0soKV0sSW8odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkYXRhUHJvdmlkZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+ImRhdGFQcm92aWRlciJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLmRhdGFQcm92aWRlciwiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5kYXRhUHJvdmlkZXI9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sbixsKSxJbyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJ1Y2tldE5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+ImJ1Y2tldE5hbWUiaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5idWNrZXROYW1lLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLmJ1Y2tldE5hbWU9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sYyxwKSxJbyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9iamVjdEtleSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4ib2JqZWN0S2V5ImluIFosImhhcyIpLGdldDpzKFo9Ploub2JqZWN0S2V5LCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLm9iamVjdEtleT1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxtLHYpLElvKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4ibG9hZGluZyJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLmxvYWRpbmcsImdldCIpLHNldDpzKChaLGdlKT0+e1oubG9hZGluZz1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxiLGcpLElvKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2F2aW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJzYXZpbmciaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5zYXZpbmcsImdldCIpLHNldDpzKChaLGdlKT0+e1ouc2F2aW5nPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LGssQyksSW8odGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJjb250ZW50ImluIFosImhhcyIpLGdldDpzKFo9PlouY29udGVudCwiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5jb250ZW50PWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LF8seiksSW8odGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcmlnaW5hbFRleHRDb250ZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJvcmlnaW5hbFRleHRDb250ZW50ImluIFosImhhcyIpLGdldDpzKFo9Ploub3JpZ2luYWxUZXh0Q29udGVudCwiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5vcmlnaW5hbFRleHRDb250ZW50PWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LFQsRSksSW8odGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoYXNDaGFuZ2VzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJoYXNDaGFuZ2VzImluIFosImhhcyIpLGdldDpzKFo9PlouaGFzQ2hhbmdlcywiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5oYXNDaGFuZ2VzPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LE0sUyksSW8odGhpcyxudWxsLFAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlZGl0aW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJlZGl0aW5nImluIFosImhhcyIpLGdldDpzKFo9PlouZWRpdGluZywiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5lZGl0aW5nPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LEEsRiksSW8odGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50VHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4iY29udGVudFR5cGUiaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5jb250ZW50VHlwZSwiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5jb250ZW50VHlwZT1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxqLEcpLElvKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpbGVTaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJmaWxlU2l6ZSJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLmZpbGVTaXplLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLmZpbGVTaXplPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LFIsVSksSW8odGhpcyxudWxsLG1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFzdE1vZGlmaWVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJsYXN0TW9kaWZpZWQiaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5sYXN0TW9kaWZpZWQsImdldCIpLHNldDpzKChaLGdlKT0+e1oubGFzdE1vZGlmaWVkPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LEkscSksSW8odGhpcyxudWxsLGNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXJyb3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+ImVycm9yImluIFosImhhcyIpLGdldDpzKFo9PlouZXJyb3IsImdldCIpLHNldDpzKChaLGdlKT0+e1ouZXJyb3I9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sdWUsWSksSW8obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Sn0sbnVsbCx0KSxRPXI9ZS52YWx1ZSxKJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkp9KX0jZT1zcih0aGlzLG4sbnVsbCk7Z2V0IGRhdGFQcm92aWRlcigpe3JldHVybiB0aGlzLiNlfXNldCBkYXRhUHJvdmlkZXIoSil7dGhpcy4jZT1KfSN0PShzcih0aGlzLGwpLHNyKHRoaXMsYywiIikpO2dldCBidWNrZXROYW1lKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGJ1Y2tldE5hbWUoSil7dGhpcy4jdD1KfSNhPShzcih0aGlzLHApLHNyKHRoaXMsbSwiIikpO2dldCBvYmplY3RLZXkoKXtyZXR1cm4gdGhpcy4jYX1zZXQgb2JqZWN0S2V5KEope3RoaXMuI2E9Sn0jcj0oc3IodGhpcyx2KSxzcih0aGlzLGIsITEpKTtnZXQgbG9hZGluZygpe3JldHVybiB0aGlzLiNyfXNldCBsb2FkaW5nKEope3RoaXMuI3I9Sn0jcz0oc3IodGhpcyxnKSxzcih0aGlzLGssITEpKTtnZXQgc2F2aW5nKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNhdmluZyhKKXt0aGlzLiNzPUp9I2k9KHNyKHRoaXMsQyksc3IodGhpcyxfLCIiKSk7Z2V0IGNvbnRlbnQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgY29udGVudChKKXt0aGlzLiNpPUp9I289KHNyKHRoaXMseiksc3IodGhpcyxULCIiKSk7Z2V0IG9yaWdpbmFsVGV4dENvbnRlbnQoKXtyZXR1cm4gdGhpcy4jb31zZXQgb3JpZ2luYWxUZXh0Q29udGVudChKKXt0aGlzLiNvPUp9I249KHNyKHRoaXMsRSksc3IodGhpcyxNLCExKSk7Z2V0IGhhc0NoYW5nZXMoKXtyZXR1cm4gdGhpcy4jbn1zZXQgaGFzQ2hhbmdlcyhKKXt0aGlzLiNuPUp9I2w9KHNyKHRoaXMsUyksc3IodGhpcyxBLCExKSk7Z2V0IGVkaXRpbmcoKXtyZXR1cm4gdGhpcy4jbH1zZXQgZWRpdGluZyhKKXt0aGlzLiNsPUp9I2M9KHNyKHRoaXMsRiksc3IodGhpcyxqLCIiKSk7Z2V0IGNvbnRlbnRUeXBlKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGNvbnRlbnRUeXBlKEope3RoaXMuI2M9Sn0jZD0oc3IodGhpcyxHKSxzcih0aGlzLFIsMCkpO2dldCBmaWxlU2l6ZSgpe3JldHVybiB0aGlzLiNkfXNldCBmaWxlU2l6ZShKKXt0aGlzLiNkPUp9I3U9KHNyKHRoaXMsVSksc3IodGhpcyxJLCIiKSk7Z2V0IGxhc3RNb2RpZmllZCgpe3JldHVybiB0aGlzLiN1fXNldCBsYXN0TW9kaWZpZWQoSil7dGhpcy4jdT1KfSNwPShzcih0aGlzLHEpLHNyKHRoaXMsdWUsIiIpKTtnZXQgZXJyb3IoKXtyZXR1cm4gdGhpcy4jcH1zZXQgZXJyb3IoSil7dGhpcy4jcD1KfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxFZSxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAucHJldmlldy1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWhlYWRlciB7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzMzIil9OwogICAgICB9CgogICAgICAucHJldmlldy10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgfQoKICAgICAgLnByZXZpZXctbWV0YSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjODg4Iil9OwogICAgICB9CgogICAgICAubWV0YS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWNvbnRlbnQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnByZXZpZXctY29udGVudCBkZWVzLXByZXZpZXcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLnByZXZpZXctY29udGVudC5jb2RlLWVkaXRvciB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAucHJldmlldy1jb250ZW50LmNvZGUtZWRpdG9yIGRlZXMtaW5wdXQtY29kZSB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAucHJldmlldy1hY3Rpb25zIHsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzMzMiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idG4gewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjNDA0MDQwIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNmM2Y0NiIsIiNlMGUwZTAiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ0bjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wOCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ0bi5kYW5nZXIgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMik7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWY0NDQ0OwogICAgICAgIGNvbG9yOiAjZjg3MTcxOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ0bi5kYW5nZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMyk7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnRuLnByaW1hcnkgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpOwogICAgICAgIGJvcmRlci1jb2xvcjogIzNiODJmNjsKICAgICAgICBjb2xvcjogIzYwYTVmYTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idG4ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAyNDYsIDAuNCk7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnRuLnByaW1hcnk6ZGlzYWJsZWQgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ0bi5zZWNvbmRhcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDMpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzU1NSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYWFhIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ0bi5zZWNvbmRhcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDYpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgIH0KCiAgICAgIC51bnNhdmVkLWluZGljYXRvciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMHB4OwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjUxLCAxOTEsIDM2LCAwLjEpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjUxLCAxOTEsIDM2LCAwLjMpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICNmYmJmMjQ7CiAgICAgIH0KCiAgICAgIC51bnNhdmVkLWRvdCB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogI2ZiYmYyNDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzY2NiIpfTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHN2ZyB7CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAubG9hZGluZy1zdGF0ZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjODg4Iil9OwogICAgICB9CgogICAgICAuZXJyb3Itc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgY29sb3I6ICNmODcxNzE7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CiAgICBgXTt1cGRhdGVkKEopeyhKLmhhcygib2JqZWN0S2V5Iil8fEouaGFzKCJidWNrZXROYW1lIikpJiYodGhpcy5vYmplY3RLZXk/dGhpcy5sb2FkT2JqZWN0KCk6KHRoaXMuY29udGVudD0iIix0aGlzLmNvbnRlbnRUeXBlPSIiLHRoaXMuZXJyb3I9IiIsdGhpcy5vcmlnaW5hbFRleHRDb250ZW50PSIiLHRoaXMuaGFzQ2hhbmdlcz0hMSx0aGlzLmVkaXRpbmc9ITEpKX1hc3luYyBsb2FkT2JqZWN0KCl7aWYoISghdGhpcy5vYmplY3RLZXl8fCF0aGlzLmJ1Y2tldE5hbWV8fCF0aGlzLmRhdGFQcm92aWRlcikpe3RoaXMubG9hZGluZz0hMCx0aGlzLmVycm9yPSIiLHRoaXMuaGFzQ2hhbmdlcz0hMSx0aGlzLmVkaXRpbmc9ITE7dHJ5e2xldCBKPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmdldE9iamVjdCh0aGlzLmJ1Y2tldE5hbWUsdGhpcy5vYmplY3RLZXkpO2lmKCFKKXt0aGlzLmVycm9yPSJPYmplY3Qgbm90IGZvdW5kIix0aGlzLmxvYWRpbmc9ITE7cmV0dXJufXRoaXMuY29udGVudD1KLmNvbnRlbnR8fCIiLHRoaXMuY29udGVudFR5cGU9Si5jb250ZW50VHlwZXx8IiIsdGhpcy5maWxlU2l6ZT1KLnNpemV8fDAsdGhpcy5sYXN0TW9kaWZpZWQ9Si5sYXN0TW9kaWZpZWR8fCIiLHRoaXMuaXNUZXh0KCkmJih0aGlzLm9yaWdpbmFsVGV4dENvbnRlbnQ9dGhpcy5nZXRUZXh0Q29udGVudCgpKX1jYXRjaChKKXtjb25zb2xlLmVycm9yKCJFcnJvciBsb2FkaW5nIG9iamVjdDoiLEopLHRoaXMuZXJyb3I9IkZhaWxlZCB0byBsb2FkIG9iamVjdCJ9dGhpcy5sb2FkaW5nPSExfX1mb3JtYXREYXRlKEope3JldHVybiBKP25ldyBEYXRlKEopLnRvTG9jYWxlU3RyaW5nKCk6Ii0ifWlzSW1hZ2UoKXtyZXR1cm4gdGhpcy5jb250ZW50VHlwZS5zdGFydHNXaXRoKCJpbWFnZS8iKX1pc1RleHQoKXtyZXR1cm4gdGhpcy5jb250ZW50VHlwZS5zdGFydHNXaXRoKCJ0ZXh0LyIpfHx0aGlzLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL2pzb24ifHx0aGlzLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL3htbCJ8fHRoaXMuY29udGVudFR5cGU9PT0iYXBwbGljYXRpb24vamF2YXNjcmlwdCJ9Z2V0VGV4dENvbnRlbnQoKXt0cnl7bGV0IEo9YXRvYih0aGlzLmNvbnRlbnQpLFo9bmV3IFVpbnQ4QXJyYXkoSi5sZW5ndGgpO2ZvcihsZXQgZ2U9MDtnZTxKLmxlbmd0aDtnZSsrKVpbZ2VdPUouY2hhckNvZGVBdChnZSk7cmV0dXJuIG5ldyBUZXh0RGVjb2RlcigidXRmLTgiKS5kZWNvZGUoWil9Y2F0Y2h7cmV0dXJuIlVuYWJsZSB0byBkZWNvZGUgY29udGVudCJ9fWFzeW5jIGhhbmRsZURvd25sb2FkKCl7dHJ5e2xldCBKPW5ldyBCbG9iKFtVaW50OEFycmF5LmZyb20oYXRvYih0aGlzLmNvbnRlbnQpLGFlPT5hZS5jaGFyQ29kZUF0KDApKV0se3R5cGU6dGhpcy5jb250ZW50VHlwZX0pLFo9VVJMLmNyZWF0ZU9iamVjdFVSTChKKSxnZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7Z2UuaHJlZj1aLGdlLmRvd25sb2FkPW1hKHRoaXMub2JqZWN0S2V5KSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGdlKSxnZS5jbGljaygpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZ2UpLFVSTC5yZXZva2VPYmplY3RVUkwoWil9Y2F0Y2goSil7Y29uc29sZS5lcnJvcigiRXJyb3IgZG93bmxvYWRpbmc6IixKKX19YXN5bmMgaGFuZGxlRGVsZXRlKCl7aWYodGhpcy5kYXRhUHJvdmlkZXImJmNvbmZpcm0oYERlbGV0ZSAiJHttYSh0aGlzLm9iamVjdEtleSl9Ij9gKSl0cnl7YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIuZGVsZXRlT2JqZWN0KHRoaXMuYnVja2V0TmFtZSx0aGlzLm9iamVjdEtleSksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgib2JqZWN0LWRlbGV0ZWQiLHtkZXRhaWw6e2tleTp0aGlzLm9iamVjdEtleX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jYXRjaChKKXtjb25zb2xlLmVycm9yKCJFcnJvciBkZWxldGluZyBvYmplY3Q6IixKKX19Z2V0TGFuZ3VhZ2UoKXtsZXQgSj10aGlzLm9iamVjdEtleS5zcGxpdCgiLiIpLnBvcCgpPy50b0xvd2VyQ2FzZSgpfHwiIjtyZXR1cm57dHM6InR5cGVzY3JpcHQiLHRzeDoidHlwZXNjcmlwdCIsanM6ImphdmFzY3JpcHQiLGpzeDoiamF2YXNjcmlwdCIsbWpzOiJqYXZhc2NyaXB0IixjanM6ImphdmFzY3JpcHQiLGpzb246Impzb24iLGh0bWw6Imh0bWwiLGh0bToiaHRtbCIsY3NzOiJjc3MiLHNjc3M6InNjc3MiLHNhc3M6InNjc3MiLGxlc3M6Imxlc3MiLG1kOiJtYXJrZG93biIsbWFya2Rvd246Im1hcmtkb3duIix4bWw6InhtbCIseWFtbDoieWFtbCIseW1sOiJ5YW1sIixweToicHl0aG9uIixyYjoicnVieSIsZ286ImdvIixyczoicnVzdCIsamF2YToiamF2YSIsYzoiYyIsY3BwOiJjcHAiLGg6ImMiLGhwcDoiY3BwIixjczoiY3NoYXJwIixwaHA6InBocCIsc2g6InNoZWxsIixiYXNoOiJzaGVsbCIsenNoOiJzaGVsbCIsc3FsOiJzcWwiLGdyYXBocWw6ImdyYXBocWwiLGdxbDoiZ3JhcGhxbCIsZG9ja2VyZmlsZToiZG9ja2VyZmlsZSIsdHh0OiJwbGFpbnRleHQifVtKXXx8InBsYWludGV4dCJ9aGFuZGxlQ29udGVudENoYW5nZShKKXtsZXQgWj1KLmRldGFpbDt0aGlzLmhhc0NoYW5nZXM9WiE9PXRoaXMub3JpZ2luYWxUZXh0Q29udGVudH1oYW5kbGVFZGl0KCl7dGhpcy5lZGl0aW5nPSEwfWhhbmRsZURpc2NhcmQoKXtsZXQgSj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtY29kZSIpO0omJihKLnZhbHVlPXRoaXMub3JpZ2luYWxUZXh0Q29udGVudCksdGhpcy5oYXNDaGFuZ2VzPSExLHRoaXMuZWRpdGluZz0hMX1hc3luYyBoYW5kbGVTYXZlKCl7aWYoISghdGhpcy5oYXNDaGFuZ2VzfHx0aGlzLnNhdmluZ3x8IXRoaXMuZGF0YVByb3ZpZGVyKSl7dGhpcy5zYXZpbmc9ITA7dHJ5e2xldCBaPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1jb2RlIik/LnZhbHVlPz8iIixhZT1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoWikscmU9YnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlKC4uLmFlKSk7YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIucHV0T2JqZWN0KHRoaXMuYnVja2V0TmFtZSx0aGlzLm9iamVjdEtleSxyZSx0aGlzLmNvbnRlbnRUeXBlKSYmKHRoaXMub3JpZ2luYWxUZXh0Q29udGVudD1aLHRoaXMuaGFzQ2hhbmdlcz0hMSx0aGlzLmVkaXRpbmc9ITEsdGhpcy5jb250ZW50PXJlKX1jYXRjaChKKXtjb25zb2xlLmVycm9yKCJFcnJvciBzYXZpbmcgb2JqZWN0OiIsSil9dGhpcy5zYXZpbmc9ITF9fXJlbmRlcigpe3JldHVybiB0aGlzLm9iamVjdEtleT90aGlzLmxvYWRpbmc/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LWNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXN0YXRlIj5Mb2FkaW5nLi4uPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6dGhpcy5lcnJvcj93YAogICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctY29udGFpbmVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImVycm9yLXN0YXRlIj4ke3RoaXMuZXJyb3J9PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6d2AKICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctdGl0bGUiPiR7bWEodGhpcy5vYmplY3RLZXkpfTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1tZXRhIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldGEtaXRlbSI+JHt0aGlzLmNvbnRlbnRUeXBlfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldGEtaXRlbSI+JHtRbSh0aGlzLmZpbGVTaXplKX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRhLWl0ZW0iPiR7dGhpcy5mb3JtYXREYXRlKHRoaXMubGFzdE1vZGlmaWVkKX08L3NwYW4+CiAgICAgICAgICAgICR7dGhpcy5oYXNDaGFuZ2VzP3dgCiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuc2F2ZWQtaW5kaWNhdG9yIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bnNhdmVkLWRvdCI+PC9zcGFuPgogICAgICAgICAgICAgICAgVW5zYXZlZCBjaGFuZ2VzCiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctY29udGVudCAke3RoaXMuZWRpdGluZz8iY29kZS1lZGl0b3IiOiIifSI+CiAgICAgICAgICAke3RoaXMuZWRpdGluZz93YAogICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtY29kZQogICAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLm9yaWdpbmFsVGV4dENvbnRlbnR9CiAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZT0ke3RoaXMuZ2V0TGFuZ3VhZ2UoKX0KICAgICAgICAgICAgICAgICAgaGVpZ2h0PSIxMDAlIgogICAgICAgICAgICAgICAgICBAY29udGVudC1jaGFuZ2U9JHtKPT50aGlzLmhhbmRsZUNvbnRlbnRDaGFuZ2UoSil9CiAgICAgICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNvZGU+CiAgICAgICAgICAgICAgYDp0aGlzLmlzVGV4dCgpP3dgCiAgICAgICAgICAgICAgICAgIDxkZWVzLXByZXZpZXcKICAgICAgICAgICAgICAgICAgICAudGV4dENvbnRlbnQ9JHt0aGlzLm9yaWdpbmFsVGV4dENvbnRlbnR9CiAgICAgICAgICAgICAgICAgICAgLmZpbGVuYW1lPSR7bWEodGhpcy5vYmplY3RLZXkpfQogICAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZT0ke3RoaXMuZ2V0TGFuZ3VhZ2UoKX0KICAgICAgICAgICAgICAgICAgICAuc2hvd1Rvb2xiYXI9JHshMH0KICAgICAgICAgICAgICAgICAgICAuc2hvd0ZpbGVuYW1lPSR7ITF9CiAgICAgICAgICAgICAgICAgID48L2RlZXMtcHJldmlldz4KICAgICAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICAgICAgPGRlZXMtcHJldmlldwogICAgICAgICAgICAgICAgICAgIC5iYXNlNjQ9JHt0aGlzLmNvbnRlbnR9CiAgICAgICAgICAgICAgICAgICAgLm1pbWVUeXBlPSR7dGhpcy5jb250ZW50VHlwZX0KICAgICAgICAgICAgICAgICAgICAuZmlsZW5hbWU9JHttYSh0aGlzLm9iamVjdEtleSl9CiAgICAgICAgICAgICAgICAgICAgLnNob3dUb29sYmFyPSR7ITB9CiAgICAgICAgICAgICAgICAgICAgLnNob3dGaWxlbmFtZT0keyExfQogICAgICAgICAgICAgICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICAgICAgICAgICAgICBgfQogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LWFjdGlvbnMiPgogICAgICAgICAgJHt0aGlzLmVkaXRpbmc/d2AKICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idG4gc2Vjb25kYXJ5IiBAY2xpY2s9JHt0aGlzLmhhbmRsZURpc2NhcmR9PgogICAgICAgICAgICAgICAgICAke3RoaXMuaGFzQ2hhbmdlcz8iRGlzY2FyZCI6IkNhbmNlbCJ9CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgY2xhc3M9ImFjdGlvbi1idG4gcHJpbWFyeSIKICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVTYXZlfQogICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLnNhdmluZ3x8IXRoaXMuaGFzQ2hhbmdlc30KICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgJHt0aGlzLnNhdmluZz8iU2F2aW5nLi4uIjoiU2F2ZSJ9CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAke3RoaXMuaXNUZXh0KCk/d2A8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnRuIiBAY2xpY2s9JHt0aGlzLmhhbmRsZUVkaXR9PkVkaXQ8L2J1dHRvbj5gOiIifQogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ0biIgQGNsaWNrPSR7dGhpcy5oYW5kbGVEb3dubG9hZH0+RG93bmxvYWQ8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idG4gZGFuZ2VyIiBAY2xpY2s9JHt0aGlzLmhhbmRsZURlbGV0ZX0+RGVsZXRlPC9idXR0b24+CiAgICAgICAgICAgICAgYH0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgOndgCiAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1jb250YWluZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4eiIgLz4KICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNCAyIDE0IDggMjAgOCIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIDxwPlNlbGVjdCBhIGZpbGUgdG8gcHJldmlldzwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxzcih0aGlzLFkpfXN0YXRpY3tzcihyLHQpfX07cmV0dXJuIFE9cn0pKCl9KTt2YXIgVm4sX3IsJDBhLCRRZT1mKCgpPT57bGUoKTtRZSgpO3owYSgpO0RRZSgpO0FRZSgpO0VRZSgpO1ZuPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxfcj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sJDBhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1zdG9yYWdlLWJyb3dzZXIiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W107dmFyIG1lPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzU3RvcmFnZUJyb3dzZXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgST10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOk9iamVjdH0pXSx4PVtLKCldLHk9W0soKV0sTj1bSygpXSxPPVtLKCldLEI9W0soKV0sUD1bSygpXSxXPVtLKCldLGhlPVtLKCldLFZuKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0YVByb3ZpZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJkYXRhUHJvdmlkZXIiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5kYXRhUHJvdmlkZXIsImdldCIpLHNldDpzKChxLGNlKT0+e3EuZGF0YVByb3ZpZGVyPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LG4sbCksVm4odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJidWNrZXROYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJidWNrZXROYW1lImluIHEsImhhcyIpLGdldDpzKHE9PnEuYnVja2V0TmFtZSwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5idWNrZXROYW1lPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LGMscCksVm4odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvbkNoYW5nZUV2ZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJvbkNoYW5nZUV2ZW50ImluIHEsImhhcyIpLGdldDpzKHE9PnEub25DaGFuZ2VFdmVudCwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5vbkNoYW5nZUV2ZW50PWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LG0sdiksVm4odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aWV3VHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4idmlld1R5cGUiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS52aWV3VHlwZSwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS52aWV3VHlwZT1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxiLGcpLFZuKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFByZWZpeCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4iY3VycmVudFByZWZpeCJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLmN1cnJlbnRQcmVmaXgsImdldCIpLHNldDpzKChxLGNlKT0+e3EuY3VycmVudFByZWZpeD1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxrLEMpLFZuKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRLZXkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+InNlbGVjdGVkS2V5ImluIHEsImhhcyIpLGdldDpzKHE9PnEuc2VsZWN0ZWRLZXksImdldCIpLHNldDpzKChxLGNlKT0+e3Euc2VsZWN0ZWRLZXk9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sXyx6KSxWbih0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlZnJlc2hLZXkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+InJlZnJlc2hLZXkiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5yZWZyZXNoS2V5LCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLnJlZnJlc2hLZXk9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sVCxFKSxWbih0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InByZXZpZXdXaWR0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4icHJldmlld1dpZHRoImluIHEsImhhcyIpLGdldDpzKHE9PnEucHJldmlld1dpZHRoLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLnByZXZpZXdXaWR0aD1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxNLFMpLFZuKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNSZXNpemluZ1ByZXZpZXciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImlzUmVzaXppbmdQcmV2aWV3ImluIHEsImhhcyIpLGdldDpzKHE9PnEuaXNSZXNpemluZ1ByZXZpZXcsImdldCIpLHNldDpzKChxLGNlKT0+e3EuaXNSZXNpemluZ1ByZXZpZXc9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sQSxGKSxWbih0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlY2VudENoYW5nZUNvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJyZWNlbnRDaGFuZ2VDb3VudCJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLnJlY2VudENoYW5nZUNvdW50LCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLnJlY2VudENoYW5nZUNvdW50PWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LGosRyksVm4odGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNTdHJlYW1Db25uZWN0ZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImlzU3RyZWFtQ29ubmVjdGVkImluIHEsImhhcyIpLGdldDpzKHE9PnEuaXNTdHJlYW1Db25uZWN0ZWQsImdldCIpLHNldDpzKChxLGNlKT0+e3EuaXNTdHJlYW1Db25uZWN0ZWQ9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sUixVKSxWbihudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpJfSxudWxsLHQpLG1lPXI9ZS52YWx1ZSxJJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkl9KX1zdGF0aWMgZGVtbz1TMGE7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXRhIFZpZXciXTsjZT1fcih0aGlzLG4sbnVsbCk7Z2V0IGRhdGFQcm92aWRlcigpe3JldHVybiB0aGlzLiNlfXNldCBkYXRhUHJvdmlkZXIoSSl7dGhpcy4jZT1JfSN0PShfcih0aGlzLGwpLF9yKHRoaXMsYywiIikpO2dldCBidWNrZXROYW1lKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGJ1Y2tldE5hbWUoSSl7dGhpcy4jdD1JfSNhPShfcih0aGlzLHApLF9yKHRoaXMsbSxudWxsKSk7Z2V0IG9uQ2hhbmdlRXZlbnQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgb25DaGFuZ2VFdmVudChJKXt0aGlzLiNhPUl9I3I9KF9yKHRoaXMsdiksX3IodGhpcyxiLCJjb2x1bW5zIikpO2dldCB2aWV3VHlwZSgpe3JldHVybiB0aGlzLiNyfXNldCB2aWV3VHlwZShJKXt0aGlzLiNyPUl9I3M9KF9yKHRoaXMsZyksX3IodGhpcyxrLCIiKSk7Z2V0IGN1cnJlbnRQcmVmaXgoKXtyZXR1cm4gdGhpcy4jc31zZXQgY3VycmVudFByZWZpeChJKXt0aGlzLiNzPUl9I2k9KF9yKHRoaXMsQyksX3IodGhpcyxfLCIiKSk7Z2V0IHNlbGVjdGVkS2V5KCl7cmV0dXJuIHRoaXMuI2l9c2V0IHNlbGVjdGVkS2V5KEkpe3RoaXMuI2k9SX0jbz0oX3IodGhpcyx6KSxfcih0aGlzLFQsMCkpO2dldCByZWZyZXNoS2V5KCl7cmV0dXJuIHRoaXMuI299c2V0IHJlZnJlc2hLZXkoSSl7dGhpcy4jbz1JfSNuPShfcih0aGlzLEUpLF9yKHRoaXMsTSw3MDApKTtnZXQgcHJldmlld1dpZHRoKCl7cmV0dXJuIHRoaXMuI259c2V0IHByZXZpZXdXaWR0aChJKXt0aGlzLiNuPUl9I2w9KF9yKHRoaXMsUyksX3IodGhpcyxBLCExKSk7Z2V0IGlzUmVzaXppbmdQcmV2aWV3KCl7cmV0dXJuIHRoaXMuI2x9c2V0IGlzUmVzaXppbmdQcmV2aWV3KEkpe3RoaXMuI2w9SX0jYz0oX3IodGhpcyxGKSxfcih0aGlzLGosMCkpO2dldCByZWNlbnRDaGFuZ2VDb3VudCgpe3JldHVybiB0aGlzLiNjfXNldCByZWNlbnRDaGFuZ2VDb3VudChJKXt0aGlzLiNjPUl9I2Q9KF9yKHRoaXMsRyksX3IodGhpcyxSLCExKSk7Z2V0IGlzU3RyZWFtQ29ubmVjdGVkKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGlzU3RyZWFtQ29ubmVjdGVkKEkpe3RoaXMuI2Q9SX1jaGFuZ2VVbnN1YnNjcmliZT0oX3IodGhpcyxVKSxudWxsKTtzdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsRWUsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmJyb3dzZXItY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAudG9vbGJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDMpIiwicmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuYnJlYWRjcnVtYiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM5OTkiKX07CiAgICAgIH0KCiAgICAgIC5icmVhZGNydW1iLWl0ZW0gewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzOwogICAgICB9CgogICAgICAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA1KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmZmIil9OwogICAgICB9CgogICAgICAuYnJlYWRjcnVtYi1zZXBhcmF0b3IgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiM1NTUiKX07CiAgICAgIH0KCiAgICAgIC52aWV3LXRvZ2dsZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLnZpZXctYnRuIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiM0NDQiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzg4OCIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7CiAgICAgIH0KCiAgICAgIC52aWV3LWJ0bjpob3ZlciB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM2NjYiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2YzZjQ2IiwiI2FhYSIpfTsKICAgICAgfQoKICAgICAgLnZpZXctYnRuLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM0MDQwNDAiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2UwZTBlMCIpfTsKICAgICAgfQoKICAgICAgLmNvbnRlbnQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICBnYXA6IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmNvbnRlbnQuaGFzLXByZXZpZXcgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDRweCB2YXIoLS1wcmV2aWV3LXdpZHRoLCA3MDBweCk7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtZGl2aWRlciB7CiAgICAgICAgd2lkdGg6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjdXJzb3I6IGNvbC1yZXNpemU7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzOwogICAgICB9CgogICAgICAucmVzaXplLWRpdmlkZXI6aG92ZXIsCiAgICAgIC5yZXNpemUtZGl2aWRlci5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5tYWluLXZpZXcgewogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDIpIiwicmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgfQoKICAgICAgLnByZXZpZXctcGFuZWwgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDIpIiwicmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4OwogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7CiAgICAgICAgLmNvbnRlbnQsCiAgICAgICAgLmNvbnRlbnQuaGFzLXByZXZpZXcgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgfQoKICAgICAgICAucHJldmlldy1wYW5lbCwKICAgICAgICAucmVzaXplLWRpdmlkZXIgewogICAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5zdHJlYW0tc3RhdHVzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM4ODgiKX07CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OwogICAgICB9CgogICAgICAuc3RyZWFtLWRvdCB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjODg4Iil9OwogICAgICB9CgogICAgICAuc3RyZWFtLWRvdC5jb25uZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICMyMmM1NWU7CiAgICAgIH0KCiAgICAgIC5jaGFuZ2UtaW5kaWNhdG9yIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwgMTU4LCAxMSwgMC4yKTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAjZjU5ZTBiOwogICAgICAgIG1hcmdpbi1yaWdodDogMTJweDsKICAgICAgfQoKICAgICAgLmNoYW5nZS1pbmRpY2F0b3IucHVsc2UgewogICAgICAgIGFuaW1hdGlvbjogcHVsc2Utb3JhbmdlIDFzIGVhc2UtaW4tb3V0OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHB1bHNlLW9yYW5nZSB7CiAgICAgICAgMCUgeyBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwgMTU4LCAxMSwgMC40KTsgfQogICAgICAgIDEwMCUgeyBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwgMTU4LCAxMSwgMC4yKTsgfQogICAgICB9CiAgICBgXTthc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5zdWJzY3JpYmVUb0NoYW5nZXMoKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy51bnN1YnNjcmliZUZyb21DaGFuZ2VzKCl9cmVmcmVzaCgpe3RoaXMucmVmcmVzaEtleSsrfXNldFZpZXdUeXBlKEkpe3RoaXMudmlld1R5cGU9SX1uYXZpZ2F0ZVRvUHJlZml4KEkpe3RoaXMuY3VycmVudFByZWZpeD1JLHRoaXMuc2VsZWN0ZWRLZXk9IiJ9aGFuZGxlS2V5U2VsZWN0ZWQoSSl7dGhpcy5zZWxlY3RlZEtleT1JLmRldGFpbC5rZXl9aGFuZGxlTmF2aWdhdGUoSSl7dGhpcy5uYXZpZ2F0ZVRvUHJlZml4KEkuZGV0YWlsLnByZWZpeCl9aGFuZGxlT2JqZWN0RGVsZXRlZChJKXt0aGlzLnNlbGVjdGVkS2V5PSIiLHRoaXMucmVmcmVzaEtleSsrfXVwZGF0ZWQoSSl7SS5oYXMoImJ1Y2tldE5hbWUiKSYmKHRoaXMuc2VsZWN0ZWRLZXk9IiIsdGhpcy5jdXJyZW50UHJlZml4PSIiLHRoaXMucmVjZW50Q2hhbmdlQ291bnQ9MCx0aGlzLnVuc3Vic2NyaWJlRnJvbUNoYW5nZXMoKSx0aGlzLnN1YnNjcmliZVRvQ2hhbmdlcygpKSxJLmhhcygib25DaGFuZ2VFdmVudCIpJiYodGhpcy51bnN1YnNjcmliZUZyb21DaGFuZ2VzKCksdGhpcy5zdWJzY3JpYmVUb0NoYW5nZXMoKSl9c3Vic2NyaWJlVG9DaGFuZ2VzKCl7aWYoIXRoaXMub25DaGFuZ2VFdmVudCl7dGhpcy5pc1N0cmVhbUNvbm5lY3RlZD0hMTtyZXR1cm59dHJ5e3RoaXMuY2hhbmdlVW5zdWJzY3JpYmU9dGhpcy5vbkNoYW5nZUV2ZW50KEk9Pnt0aGlzLmhhbmRsZUNoYW5nZShJKX0pLHRoaXMuaXNTdHJlYW1Db25uZWN0ZWQ9ITB9Y2F0Y2goSSl7Y29uc29sZS53YXJuKCJbU3RvcmFnZUJyb3dzZXJdIEZhaWxlZCB0byBzdWJzY3JpYmUgdG8gY2hhbmdlczoiLEkpLHRoaXMuaXNTdHJlYW1Db25uZWN0ZWQ9ITF9fXVuc3Vic2NyaWJlRnJvbUNoYW5nZXMoKXt0aGlzLmNoYW5nZVVuc3Vic2NyaWJlJiYodGhpcy5jaGFuZ2VVbnN1YnNjcmliZSgpLHRoaXMuY2hhbmdlVW5zdWJzY3JpYmU9bnVsbCksdGhpcy5pc1N0cmVhbUNvbm5lY3RlZD0hMX1oYW5kbGVDaGFuZ2UoSSl7dGhpcy5yZWNlbnRDaGFuZ2VDb3VudCsrLHRoaXMucmVmcmVzaEtleSsrfXN0YXJ0UHJldmlld1Jlc2l6ZT1zKEk9PntJLnByZXZlbnREZWZhdWx0KCksdGhpcy5pc1Jlc2l6aW5nUHJldmlldz0hMCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlUHJldmlld1Jlc2l6ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5lbmRQcmV2aWV3UmVzaXplKX0sInN0YXJ0UHJldmlld1Jlc2l6ZSIpO2hhbmRsZVByZXZpZXdSZXNpemU9cyhJPT57aWYoIXRoaXMuaXNSZXNpemluZ1ByZXZpZXcpcmV0dXJuO2xldCBxPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmNvbnRlbnQiKTtpZighcSlyZXR1cm47bGV0IGNlPXEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdWU9TWF0aC5taW4oTWF0aC5tYXgoY2UucmlnaHQtSS5jbGllbnRYLDI1MCksMWUzKTt0aGlzLnByZXZpZXdXaWR0aD11ZX0sImhhbmRsZVByZXZpZXdSZXNpemUiKTtlbmRQcmV2aWV3UmVzaXplPXMoKCk9Pnt0aGlzLmlzUmVzaXppbmdQcmV2aWV3PSExLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVQcmV2aWV3UmVzaXplKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLmVuZFByZXZpZXdSZXNpemUpfSwiZW5kUHJldmlld1Jlc2l6ZSIpO3JlbmRlcigpe2xldCBJPXRoaXMuY3VycmVudFByZWZpeD90aGlzLmN1cnJlbnRQcmVmaXguc3BsaXQoIi8iKS5maWx0ZXIoQm9vbGVhbik6W107cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImJyb3dzZXItY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJyZWFkY3J1bWIiPgogICAgICAgICAgICA8c3BhbgogICAgICAgICAgICAgIGNsYXNzPSJicmVhZGNydW1iLWl0ZW0iCiAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMubmF2aWdhdGVUb1ByZWZpeCgiIil9CiAgICAgICAgICAgID4KICAgICAgICAgICAgICAke3RoaXMuYnVja2V0TmFtZX0KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAke0kubWFwKChxLGNlKT0+e2xldCB1ZT1JLnNsaWNlKDAsY2UrMSkuam9pbigiLyIpKyIvIjtyZXR1cm4gd2AKICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJicmVhZGNydW1iLXNlcGFyYXRvciI+Lzwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJicmVhZGNydW1iLWl0ZW0iCiAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLm5hdmlnYXRlVG9QcmVmaXgodWUpfQogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAke3F9CiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgYH0pfQogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgJHt0aGlzLm9uQ2hhbmdlRXZlbnQ/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RyZWFtLXN0YXR1cyI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0cmVhbS1kb3QgJHt0aGlzLmlzU3RyZWFtQ29ubmVjdGVkPyJjb25uZWN0ZWQiOiIifSI+PC9zcGFuPgogICAgICAgICAgICAgICR7dGhpcy5pc1N0cmVhbUNvbm5lY3RlZD8iTGl2ZSI6Ik9mZmxpbmUifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke3RoaXMucmVjZW50Q2hhbmdlQ291bnQ+MD93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hhbmdlLWluZGljYXRvciBwdWxzZSI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5yZWNlbnRDaGFuZ2VDb3VudH0gY2hhbmdlJHt0aGlzLnJlY2VudENoYW5nZUNvdW50PjE/InMiOiIifQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDxkaXYgY2xhc3M9InZpZXctdG9nZ2xlIj4KICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgIGNsYXNzPSJ2aWV3LWJ0biAke3RoaXMudmlld1R5cGU9PT0iY29sdW1ucyI/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLnNldFZpZXdUeXBlKCJjb2x1bW5zIil9CiAgICAgICAgICAgID4KICAgICAgICAgICAgICBDb2x1bW5zCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgY2xhc3M9InZpZXctYnRuICR7dGhpcy52aWV3VHlwZT09PSJrZXlzIj8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuc2V0Vmlld1R5cGUoImtleXMiKX0KICAgICAgICAgICAgPgogICAgICAgICAgICAgIExpc3QKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudCAke3RoaXMuc2VsZWN0ZWRLZXk/Imhhcy1wcmV2aWV3IjoiIn0iIHN0eWxlPSItLXByZXZpZXctd2lkdGg6ICR7dGhpcy5wcmV2aWV3V2lkdGh9cHgiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibWFpbi12aWV3Ij4KICAgICAgICAgICAgJHt0aGlzLnZpZXdUeXBlPT09ImNvbHVtbnMiP3dgCiAgICAgICAgICAgICAgICAgIDxkZWVzLXN0b3JhZ2UtY29sdW1ucwogICAgICAgICAgICAgICAgICAgIC5kYXRhUHJvdmlkZXI9JHt0aGlzLmRhdGFQcm92aWRlcn0KICAgICAgICAgICAgICAgICAgICAuYnVja2V0TmFtZT0ke3RoaXMuYnVja2V0TmFtZX0KICAgICAgICAgICAgICAgICAgICAuY3VycmVudFByZWZpeD0ke3RoaXMuY3VycmVudFByZWZpeH0KICAgICAgICAgICAgICAgICAgICAucmVmcmVzaEtleT0ke3RoaXMucmVmcmVzaEtleX0KICAgICAgICAgICAgICAgICAgICBAa2V5LXNlbGVjdGVkPSR7dGhpcy5oYW5kbGVLZXlTZWxlY3RlZH0KICAgICAgICAgICAgICAgICAgICBAbmF2aWdhdGU9JHt0aGlzLmhhbmRsZU5hdmlnYXRlfQogICAgICAgICAgICAgICAgICA+PC9kZWVzLXN0b3JhZ2UtY29sdW1ucz4KICAgICAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICAgICAgPGRlZXMtc3RvcmFnZS1rZXlzCiAgICAgICAgICAgICAgICAgICAgLmRhdGFQcm92aWRlcj0ke3RoaXMuZGF0YVByb3ZpZGVyfQogICAgICAgICAgICAgICAgICAgIC5idWNrZXROYW1lPSR7dGhpcy5idWNrZXROYW1lfQogICAgICAgICAgICAgICAgICAgIC5jdXJyZW50UHJlZml4PSR7dGhpcy5jdXJyZW50UHJlZml4fQogICAgICAgICAgICAgICAgICAgIC5yZWZyZXNoS2V5PSR7dGhpcy5yZWZyZXNoS2V5fQogICAgICAgICAgICAgICAgICAgIEBrZXktc2VsZWN0ZWQ9JHt0aGlzLmhhbmRsZUtleVNlbGVjdGVkfQogICAgICAgICAgICAgICAgICAgIEBuYXZpZ2F0ZT0ke3RoaXMuaGFuZGxlTmF2aWdhdGV9CiAgICAgICAgICAgICAgICAgID48L2RlZXMtc3RvcmFnZS1rZXlzPgogICAgICAgICAgICAgICAgYH0KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICR7dGhpcy5zZWxlY3RlZEtleT93YAogICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICBjbGFzcz0icmVzaXplLWRpdmlkZXIgJHt0aGlzLmlzUmVzaXppbmdQcmV2aWV3PyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICAgICAgQG1vdXNlZG93bj0ke3RoaXMuc3RhcnRQcmV2aWV3UmVzaXplfQogICAgICAgICAgICAgICAgPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1wYW5lbCI+CiAgICAgICAgICAgICAgICAgIDxkZWVzLXN0b3JhZ2UtcHJldmlldwogICAgICAgICAgICAgICAgICAgIC5kYXRhUHJvdmlkZXI9JHt0aGlzLmRhdGFQcm92aWRlcn0KICAgICAgICAgICAgICAgICAgICAuYnVja2V0TmFtZT0ke3RoaXMuYnVja2V0TmFtZX0KICAgICAgICAgICAgICAgICAgICAub2JqZWN0S2V5PSR7dGhpcy5zZWxlY3RlZEtleX0KICAgICAgICAgICAgICAgICAgICBAb2JqZWN0LWRlbGV0ZWQ9JHt0aGlzLmhhbmRsZU9iamVjdERlbGV0ZWR9CiAgICAgICAgICAgICAgICAgID48L2RlZXMtc3RvcmFnZS1wcmV2aWV3PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXN0YXRpY3tfcihyLHQpfX07cmV0dXJuIG1lPXJ9KSgpfSk7dmFyIEQwYT1mKCgpPT57fSk7dmFyIEEwYT1mKCgpPT57JFFlKCk7RFFlKCk7QVFlKCk7RVFlKCk7RDBhKCk7ckcoKX0pO3ZhciBFMGE9ZigoKT0+e2cwYSgpO00wYSgpO3BRZSgpO2swYSgpO0EwYSgpfSk7dmFyIHNHLFBjLFAwYSxLc2U9ZigoKT0+e2xlKCk7UWUoKTt2YSgpO3NHPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxQYz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sUDBhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1hY3Rpb25iYXIiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0FjdGlvbmJhciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBrPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZD1bSygpXSx1PVtLKCldLHg9W0soKV0sc0codGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50QmFyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJjdXJyZW50QmFyImluIEMsImhhcyIpLGdldDpzKEM9PkMuY3VycmVudEJhciwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmN1cnJlbnRCYXI9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxuLGwpLHNHKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGltZVJlbWFpbmluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4idGltZVJlbWFpbmluZyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnRpbWVSZW1haW5pbmcsImdldCIpLHNldDpzKChDLE4pPT57Qy50aW1lUmVtYWluaW5nPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYyxwKSxzRyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InByb2dyZXNzUGVyY2VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4icHJvZ3Jlc3NQZXJjZW50ImluIEMsImhhcyIpLGdldDpzKEM9PkMucHJvZ3Jlc3NQZXJjZW50LCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MucHJvZ3Jlc3NQZXJjZW50PU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbSx2KSxzRyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzVmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iaXNWaXNpYmxlImluIEMsImhhcyIpLGdldDpzKEM9PkMuaXNWaXNpYmxlLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuaXNWaXNpYmxlPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYixnKSxzRyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTprfSxudWxsLHQpLHk9cj1lLnZhbHVlLGsmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6a30pfXN0YXRpYyBkZW1vR3JvdXBzPVsiRmVlZGJhY2siLCJPdmVybGF5Il07c3RhdGljIGRlbW89cygoKT0+e2xldCBrPXMoej0+ei5jdXJyZW50VGFyZ2V0LmNsb3Nlc3QoIi5kZW1vLWNvbnRhaW5lciIpPy5xdWVyeVNlbGVjdG9yKCJkZWVzLWFjdGlvbmJhciIpLCJnZXRBY3Rpb25iYXIiKTtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGhlaWdodDogMzAwcHg7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB9CiAgICAgICAgLmRlbW8tY29udGVudCB7CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGVudCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7cyhhc3luYyB6PT57bGV0IE89ayh6KTtpZighTylyZXR1cm47bGV0IFQ9YXdhaXQgTy5zaG93KHttZXNzYWdlOiJGaWxlIGNoYW5nZWQgZXh0ZXJuYWxseS4gUmVsb2FkPyIsdHlwZToid2FybmluZyIsaWNvbjoibHVjaWRlOmFsZXJ0VHJpYW5nbGUiLGFjdGlvbnM6W3tpZDoicmVsb2FkIixsYWJlbDoiUmVsb2FkIixwcmltYXJ5OiEwfSx7aWQ6Imlnbm9yZSIsbGFiZWw6Iklnbm9yZSJ9XSx0aW1lb3V0OntkdXJhdGlvbjo1ZTMsZGVmYXVsdEFjdGlvbklkOiJyZWxvYWQifSxkaXNtaXNzaWJsZTohMH0pO2NvbnNvbGUubG9nKCJBY3Rpb24gYmFyIHJlc3VsdDoiLFQpfSwic2hvd0FjdGlvbkJhciIpfT5XYXJuaW5nPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHtzKGFzeW5jIHo9PntsZXQgTz1rKHopO2lmKCFPKXJldHVybjtsZXQgVD1hd2FpdCBPLnNob3coe21lc3NhZ2U6IlByb2Nlc3MgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEiLHR5cGU6ImVycm9yIixpY29uOiJsdWNpZGU6eENpcmNsZSIsYWN0aW9uczpbe2lkOiJyZXRyeSIsbGFiZWw6IlJldHJ5IixwcmltYXJ5OiEwfSx7aWQ6ImRpc21pc3MiLGxhYmVsOiJEaXNtaXNzIn1dLHRpbWVvdXQ6e2R1cmF0aW9uOjFlNCxkZWZhdWx0QWN0aW9uSWQ6ImRpc21pc3MifX0pO2NvbnNvbGUubG9nKCJFcnJvciBiYXIgcmVzdWx0OiIsVCl9LCJzaG93RXJyb3JCYXIiKX0+RXJyb3I8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0ke3MoYXN5bmMgej0+e2xldCBPPWsoeik7aWYoIU8pcmV0dXJuO2xldCBUPWF3YWl0IE8uc2hvdyh7bWVzc2FnZToiU2F2ZSBjaGFuZ2VzIGJlZm9yZSBjbG9zaW5nPyIsdHlwZToicXVlc3Rpb24iLGljb246Imx1Y2lkZTpoZWxwQ2lyY2xlIixhY3Rpb25zOlt7aWQ6InNhdmUiLGxhYmVsOiJTYXZlIixwcmltYXJ5OiEwfSx7aWQ6ImRpc2NhcmQiLGxhYmVsOiJEaXNjYXJkIn0se2lkOiJjYW5jZWwiLGxhYmVsOiJDYW5jZWwifV19KTtjb25zb2xlLmxvZygiUXVlc3Rpb24gYmFyIHJlc3VsdDoiLFQpfSwic2hvd1F1ZXN0aW9uQmFyIil9PlF1ZXN0aW9uPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGVlcy1hY3Rpb25iYXI+PC9kZWVzLWFjdGlvbmJhcj4KICAgICAgPC9kaXY+CiAgICBgfSwiZGVtbyIpO3F1ZXVlPVtdOyNlPVBjKHRoaXMsbixudWxsKTtnZXQgY3VycmVudEJhcigpe3JldHVybiB0aGlzLiNlfXNldCBjdXJyZW50QmFyKGspe3RoaXMuI2U9a30jdD0oUGModGhpcyxsKSxQYyh0aGlzLGMsMCkpO2dldCB0aW1lUmVtYWluaW5nKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHRpbWVSZW1haW5pbmcoayl7dGhpcy4jdD1rfSNhPShQYyh0aGlzLHApLFBjKHRoaXMsbSwxMDApKTtnZXQgcHJvZ3Jlc3NQZXJjZW50KCl7cmV0dXJuIHRoaXMuI2F9c2V0IHByb2dyZXNzUGVyY2VudChrKXt0aGlzLiNhPWt9I3I9KFBjKHRoaXMsdiksUGModGhpcyxiLCExKSk7Z2V0IGlzVmlzaWJsZSgpe3JldHVybiB0aGlzLiNyfXNldCBpc1Zpc2libGUoayl7dGhpcy4jcj1rfXRpbWVvdXRJbnRlcnZhbD0oUGModGhpcyxnKSxudWxsKTtjdXJyZW50UmVzb2x2ZT1udWxsO3N0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5hY3Rpb25iYXItaXRlbSB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDBmcjsKICAgICAgICB0cmFuc2l0aW9uOiBncmlkLXRlbXBsYXRlLXJvd3MgMC4ycyBlYXNlLW91dDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTYlKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OCUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgfQoKICAgICAgOmhvc3QoLnZpc2libGUpIC5hY3Rpb25iYXItaXRlbSB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7CiAgICAgIH0KCiAgICAgIC5hY3Rpb25iYXItY29udGVudCB7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0OwogICAgICB9CgogICAgICA6aG9zdCgudmlzaWJsZSkgLmFjdGlvbmJhci1jb250ZW50IHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtYmFyIHsKICAgICAgICBoZWlnaHQ6IDNweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTAlKSIsImhzbCgwIDAlIDE4JSkiKX07CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWJhci1maWxsIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA1MCUpIiwiaHNsKDIxMCAxMDAlIDYwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4xcyBsaW5lYXI7CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzcy1iYXItZmlsbC53YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDM4IDkyJSA1MCUpIiwiaHNsKDM4IDkyJSA1NSUpIil9OwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtYmFyLWZpbGwuZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgNTAlKSIsImhzbCgwIDcwJSA1NSUpIil9OwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtYmFyLWZpbGwucXVlc3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjcwIDcwJSA1MCUpIiwiaHNsKDI3MCA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLmNvbnRlbnQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgbWluLWhlaWdodDogMzJweDsKICAgICAgfQoKICAgICAgLm1lc3NhZ2Utc2VjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAubWVzc2FnZS1pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAubWVzc2FnZS1pY29uLmluZm8gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDQ1JSkiLCJoc2woMjEwIDEwMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2UtaWNvbi53YXJuaW5nIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgzOCA5MiUgNDUlKSIsImhzbCgzOCA5MiUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2UtaWNvbi5lcnJvciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgNTAlKSIsImhzbCgwIDcwJSA1NSUpIil9OwogICAgICB9CgogICAgICAubWVzc2FnZS1pY29uLnF1ZXN0aW9uIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyNzAgNzAlIDUwJSkiLCJoc2woMjcwIDcwJSA2MCUpIil9OwogICAgICB9CgogICAgICAubWVzc2FnZS10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAyMCUpIiwiaHNsKDAgMCUgODUlKSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5hY3Rpb25zLXNlY3Rpb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiA0cHggMTBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnNlY29uZGFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAzMCUpIiwiaHNsKDAgMCUgNzAlKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4MCUpIiwiaHNsKDAgMCUgMzAlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uc2Vjb25kYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTIlKSIsImhzbCgwIDAlIDE4JSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnByaW1hcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDEwMCUgNTAlKSIsImhzbCgyMTAgMTAwJSA1NSUpIil9OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA0NSUpIiwiaHNsKDIxMCAxMDAlIDUwJSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnByaW1hcnkud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgzOCA5MiUgNDUlKSIsImhzbCgzOCA5MiUgNTAlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeS53YXJuaW5nOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDM4IDkyJSA0MCUpIiwiaHNsKDM4IDkyJSA0NSUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5wcmltYXJ5LmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgNzAlIDUwJSkiLCJoc2woMCA3MCUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeS5lcnJvcjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDcwJSA0NSUpIiwiaHNsKDAgNzAlIDUwJSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnByaW1hcnkucXVlc3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjcwIDcwJSA1MCUpIiwiaHNsKDI3MCA3MCUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeS5xdWVzdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyNzAgNzAlIDQ1JSkiLCJoc2woMjcwIDcwJSA1MCUpIil9OwogICAgICB9CgogICAgICAuY291bnRkb3duIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7CiAgICAgIH0KCiAgICAgIC5kaXNtaXNzLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDUwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5kaXNtaXNzLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg4JSkiLCJoc2woMCAwJSAyMiUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMzAlKSIsImhzbCgwIDAlIDcwJSkiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCBrPXRoaXMuY3VycmVudEJhcixDPWs/LnR5cGV8fCJpbmZvIixOPWs/LnRpbWVvdXQmJnRoaXMudGltZVJlbWFpbmluZz4wO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25iYXItaXRlbSI+CiAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9uYmFyLWNvbnRlbnQiPgogICAgICAgICAgJHtrP3dgCiAgICAgICAgICAgICR7Tj93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciI+CiAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcm9ncmVzcy1iYXItZmlsbCAke0N9IgogICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6ICR7dGhpcy5wcm9ncmVzc1BlcmNlbnR9JSIKICAgICAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVzc2FnZS1zZWN0aW9uIj4KICAgICAgICAgICAgICAgICR7ay5pY29uP3dgCiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24KICAgICAgICAgICAgICAgICAgICBjbGFzcz0ibWVzc2FnZS1pY29uICR7Q30iCiAgICAgICAgICAgICAgICAgICAgLmljb249JHtrLmljb259CiAgICAgICAgICAgICAgICAgICAgaWNvblNpemU9IjE2IgogICAgICAgICAgICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1lc3NhZ2UtdGV4dCI+JHtrLm1lc3NhZ2V9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbnMtc2VjdGlvbiI+CiAgICAgICAgICAgICAgICAke2suYWN0aW9ucy5tYXAoXz0+dGhpcy5yZW5kZXJBY3Rpb25CdXR0b24oXyxrLE4pKX0KICAgICAgICAgICAgICAgICR7ay5kaXNtaXNzaWJsZT93YAogICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImRpc21pc3MtYnV0dG9uIgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURpc21pc3MoKX0KICAgICAgICAgICAgICAgICAgICB0aXRsZT0iRGlzbWlzcyIKICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOngifSBpY29uU2l6ZT0iMTQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckFjdGlvbkJ1dHRvbihrLEMsTil7bGV0IF89ay5wcmltYXJ5LHo9Qy50eXBlfHwiaW5mbyIsTz1DLnRpbWVvdXQ/LmRlZmF1bHRBY3Rpb25JZD09PWsuaWQsVD1OJiZPLEU9TWF0aC5jZWlsKHRoaXMudGltZVJlbWFpbmluZy8xZTMpO3JldHVybiB3YAogICAgICA8YnV0dG9uCiAgICAgICAgY2xhc3M9ImFjdGlvbi1idXR0b24gJHtfP2BwcmltYXJ5ICR7en1gOiJzZWNvbmRhcnkifSIKICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBY3Rpb24oay5pZCwhMSl9CiAgICAgID4KICAgICAgICAke2suaWNvbj93YAogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke2suaWNvbn0gaWNvblNpemU9IjEyIj48L2RlZXMtaWNvbj4KICAgICAgICBgOiIifQogICAgICAgIDxzcGFuPiR7ay5sYWJlbH08L3NwYW4+CiAgICAgICAgJHtUP3dgCiAgICAgICAgICA8c3BhbiBjbGFzcz0iY291bnRkb3duIj4oJHtFfXMpPC9zcGFuPgogICAgICAgIGA6IiJ9CiAgICAgIDwvYnV0dG9uPgogICAgYH1hc3luYyBzaG93KGspe3JldHVybiBuZXcgUHJvbWlzZShDPT57dGhpcy5xdWV1ZS5wdXNoKHtvcHRpb25zOmsscmVzb2x2ZTpDfSksdGhpcy5jdXJyZW50QmFyfHx0aGlzLnByb2Nlc3NRdWV1ZSgpfSl9ZGlzbWlzcygpe3RoaXMuaGFuZGxlRGlzbWlzcygpfWNsZWFyUXVldWUoKXtmb3IobGV0IGsgb2YgdGhpcy5xdWV1ZSlrLnJlc29sdmUoe2FjdGlvbklkOiJkaXNtaXNzZWQiLHRpbWVkT3V0OiExfSk7dGhpcy5xdWV1ZT1bXX1hc3luYyBoaWRlQ3VycmVudEJhcigpe3RoaXMuY2xhc3NMaXN0LnJlbW92ZSgidmlzaWJsZSIpLHRoaXMuaXNWaXNpYmxlPSExLGF3YWl0IG5ldyBQcm9taXNlKGs9PnNldFRpbWVvdXQoaywyMjApKSx0aGlzLmN1cnJlbnRCYXI9bnVsbCx0aGlzLmN1cnJlbnRSZXNvbHZlPW51bGx9YXN5bmMgcHJvY2Vzc1F1ZXVlKCl7aWYodGhpcy5xdWV1ZS5sZW5ndGg9PT0wKXt0aGlzLmhpZGVDdXJyZW50QmFyKCk7cmV0dXJufWxldCBrPXRoaXMucXVldWUuc2hpZnQoKTt0aGlzLmN1cnJlbnRCYXI9ay5vcHRpb25zLHRoaXMuY3VycmVudFJlc29sdmU9ay5yZXNvbHZlLHRoaXMuaXNWaXNpYmxlPSEwLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5jbGFzc0xpc3QuYWRkKCJ2aXNpYmxlIil9KSxrLm9wdGlvbnMudGltZW91dCYmdGhpcy5zdGFydFRpbWVvdXQoay5vcHRpb25zLnRpbWVvdXQuZHVyYXRpb24say5vcHRpb25zLnRpbWVvdXQuZGVmYXVsdEFjdGlvbklkKX1zdGFydFRpbWVvdXQoayxDKXt0aGlzLnRpbWVSZW1haW5pbmc9ayx0aGlzLnByb2dyZXNzUGVyY2VudD0xMDA7bGV0IE49RGF0ZS5ub3coKSxfPTUwO3RoaXMudGltZW91dEludGVydmFsPXNldEludGVydmFsKCgpPT57bGV0IHo9RGF0ZS5ub3coKS1OO3RoaXMudGltZVJlbWFpbmluZz1NYXRoLm1heCgwLGsteiksdGhpcy5wcm9ncmVzc1BlcmNlbnQ9dGhpcy50aW1lUmVtYWluaW5nL2sqMTAwLHRoaXMudGltZVJlbWFpbmluZzw9MCYmKHRoaXMuY2xlYXJUaW1lb3V0SW50ZXJ2YWwoKSx0aGlzLmhhbmRsZUFjdGlvbihDLCEwKSl9LF8pfWNsZWFyVGltZW91dEludGVydmFsKCl7dGhpcy50aW1lb3V0SW50ZXJ2YWwmJihjbGVhckludGVydmFsKHRoaXMudGltZW91dEludGVydmFsKSx0aGlzLnRpbWVvdXRJbnRlcnZhbD1udWxsKX1oYW5kbGVBY3Rpb24oayxDKXt0aGlzLmNsZWFyVGltZW91dEludGVydmFsKCksdGhpcy5jdXJyZW50UmVzb2x2ZSYmdGhpcy5jdXJyZW50UmVzb2x2ZSh7YWN0aW9uSWQ6ayx0aW1lZE91dDpDfSksdGhpcy5wcm9jZXNzUXVldWUoKX1oYW5kbGVEaXNtaXNzKCl7dGhpcy5oYW5kbGVBY3Rpb24oImRpc21pc3NlZCIsITEpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmNsZWFyVGltZW91dEludGVydmFsKCl9c3RhdGlje1BjKHIsdCl9fTtyZXR1cm4geT1yfSkoKX0pO3ZhciBJMGE9ZigoKT0+e30pO3ZhciBOMGE9ZigoKT0+e0tzZSgpO0kwYSgpfSk7dmFyIFIwYSxPMGE9ZigoKT0+e2xlKCk7UjBhPXMoKCk9PndgCiAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZ2FwOiA4cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7Ij4KICAgIDxkZWVzLWJhZGdlIC50ZXh0PSR7IkRlZmF1bHQifT48L2RlZXMtYmFkZ2U+CiAgICA8ZGVlcy1iYWRnZSAudHlwZT0keyJwcmltYXJ5In0gLnRleHQ9JHsiUHJpbWFyeSJ9PjwvZGVlcy1iYWRnZT4KICAgIDxkZWVzLWJhZGdlIC50eXBlPSR7InN1Y2Nlc3MifSAudGV4dD0keyJTdWNjZXNzIn0+PC9kZWVzLWJhZGdlPgogICAgPGRlZXMtYmFkZ2UgLnR5cGU9JHsid2FybmluZyJ9IC50ZXh0PSR7Ildhcm5pbmcifT48L2RlZXMtYmFkZ2U+CiAgICA8ZGVlcy1iYWRnZSAudHlwZT0keyJlcnJvciJ9IC50ZXh0PSR7IkVycm9yIn0+PC9kZWVzLWJhZGdlPgogICAgPGRlZXMtYmFkZ2UgLnR5cGU9JHsicHJpbWFyeSJ9IC5yb3VuZGVkPSR7ITB9IC50ZXh0PSR7IlJvdW5kZWQifT48L2RlZXMtYmFkZ2U+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgWnNlLHk1LEYwYSxCMGE9ZigoKT0+e2xlKCk7ZWEoKTtPMGEoKTtRZSgpO1pzZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0seTU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEYwYT0oKCk9PntsZXQgYT1baWUoImRlZXMtYmFkZ2UiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0JhZGdlIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpCb29sZWFufSldLFpzZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InR5cGUiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy50eXBlLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cudHlwZT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCksWnNlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4idGV4dCJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLnRleHQsImdldCIpLHNldDpzKChnLHkpPT57Zy50ZXh0PXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sYyxwKSxac2UodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyb3VuZGVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJyb3VuZGVkImluIGcsImhhcyIpLGdldDpzKGc9Pmcucm91bmRlZCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnJvdW5kZWQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSxtLHYpLFpzZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLHQpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vPVIwYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkZlZWRiYWNrIl07I2U9eTUodGhpcyxuLCJkZWZhdWx0Iik7Z2V0IHR5cGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdHlwZShiKXt0aGlzLiNlPWJ9I3Q9KHk1KHRoaXMsbCkseTUodGhpcyxjLCIiKSk7Z2V0IHRleHQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgdGV4dChiKXt0aGlzLiN0PWJ9I2E9KHk1KHRoaXMscCkseTUodGhpcyxtLCExKSk7Z2V0IHJvdW5kZWQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgcm91bmRlZChiKXt0aGlzLiNhPWJ9Y29uc3RydWN0b3IoKXtzdXBlcigpLHk1KHRoaXMsdiksYXIuc2V0dXAoKX1zdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQoKICAgICAgLmJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmJhZGdlLnJvdW5kZWQgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgIH0KCiAgICAgIC5iYWRnZS5kZWZhdWx0IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y1ZjVmNSIsIiMzMzMiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNjY2IiwiI2NjYyIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlLnByaW1hcnkgewogICAgICAgIGJhY2tncm91bmQ6ICMwMDUwYjk7CiAgICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgIH0KCiAgICAgIC5iYWRnZS5zdWNjZXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMmU3ZDMyOwogICAgICAgIGNvbG9yOiAjZmZmZmZmOwogICAgICB9CgogICAgICAuYmFkZ2Uud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogI2VkNmMwMjsKICAgICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgfQoKICAgICAgLmJhZGdlLmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZTQwMDJiOwogICAgICAgIGNvbG9yOiAjZmZmZmZmOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iYmFkZ2UgJHt0aGlzLnR5cGV9ICR7dGhpcy5yb3VuZGVkPyJyb3VuZGVkIjoiIn0iPgogICAgICAgICR7dGhpcy50ZXh0fQogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje3k1KHIsdCl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciBIMGE9ZigoKT0+e0IwYSgpfSk7dmFyIHEwYSxWMGE9ZigoKT0+e2xlKCk7cTBhPXMoKCk9PndgCiAgPGRlZXMtaGludD48L2RlZXMtaGludD4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBqMGEsUFFlLFUwYSxXMGE9ZigoKT0+e2xlKCk7ZWEoKTtWMGEoKTtRZSgpO2owYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sUFFlPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxVMGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWhpbnQiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0hpbnQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxqMGEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0eXBlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJ0eXBlImluIHAsImhhcyIpLGdldDpzKHA9PnAudHlwZSwiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLnR5cGU9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLGowYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfXN0YXRpYyBkZW1vPXEwYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkZlZWRiYWNrIl07I2U9UFFlKHRoaXMsbiwiaW5mbyIpO2dldCB0eXBlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHR5cGUoYyl7dGhpcy4jZT1jfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSxQUWUodGhpcyxsKSxhci5zZXR1cCgpfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgIDxkaXYgY2xhc3M9Im1haW5ib3giPjwvZGl2PiBgfXN0YXRpY3tQUWUocix0KX19O3JldHVybiBkPXJ9KSgpfSk7dmFyIEcwYT1mKCgpPT57VzBhKCl9KTt2YXIgWTBhLEswYT1mKCgpPT57bGUoKTtOYSgpO1kwYT1zKCgpPT57bGV0IGE9W1siUmVzb2x2aW5nIHdvcmtzcGFjZSBwYWNrYWdlcyJdLFsiUmVzb2x2aW5nIHdvcmtzcGFjZSBwYWNrYWdlcyIsIkRvd25sb2FkaW5nIHVpLWFzc2V0cy50YXIuZ3oiXSxbIlJlc29sdmluZyB3b3Jrc3BhY2UgcGFja2FnZXMiLCJEb3dubG9hZGluZyB1aS1hc3NldHMudGFyLmd6IiwiVmVyaWZ5aW5nIGNoZWNrc3VtIl0sWyJSZXNvbHZpbmcgd29ya3NwYWNlIHBhY2thZ2VzIiwiRG93bmxvYWRpbmcgdWktYXNzZXRzLnRhci5neiIsIlZlcmlmeWluZyBjaGVja3N1bSIsIkV4dHJhY3RpbmcgcmVsZWFzZSBidW5kbGUiXSxbIlJlc29sdmluZyB3b3Jrc3BhY2UgcGFja2FnZXMiLCJEb3dubG9hZGluZyB1aS1hc3NldHMudGFyLmd6IiwiVmVyaWZ5aW5nIGNoZWNrc3VtIiwiRXh0cmFjdGluZyByZWxlYXNlIGJ1bmRsZSIsIlJlc3RhcnRpbmcgYXBwbGljYXRpb24iXV0sZT1zKHQ9PnQ+PTEwMD8iVXBsb2FkIGNvbXBsZXRlLiBGaW5hbGl6aW5nIHBhY2thZ2UgbWFuaWZlc3QuLi4iOnQ+PTgyPyJWZXJpZnlpbmcgY2hlY2tzdW1zIGJlZm9yZSBoYW5kb2ZmLi4uIjp0Pj01NT8iVXBsb2FkaW5nIHRodW1ibmFpbHMgdG8gZWRnZSBjYWNoZS4uLiI6dD49MjU/IlN0cmVhbWluZyBzb3VyY2UgZmlsZXMgdG8gdGhlIHJlbW90ZSB3b3JrZXIuLi4iOiJQcmVwYXJpbmcgYXJjaGl2ZSBhbmQgZGVwZW5kZW5jeSBncmFwaC4uLiIsImdldFVwbG9hZFN0YXR1cyIpO3JldHVybiB3YAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgdD0+e2xldCByPXQucXVlcnlTZWxlY3RvcigiI2xpdmUtcHJvZ3Jlc3MiKSxpPXQucXVlcnlTZWxlY3RvcigiI3Rlcm1pbmFsLXByb2dyZXNzIiksbz10O2lmKCFyfHwhaSlyZXR1cm47by5fX3Byb2dyZXNzYmFyRGVtb0ludGVydmFsSWQmJndpbmRvdy5jbGVhckludGVydmFsKG8uX19wcm9ncmVzc2JhckRlbW9JbnRlcnZhbElkKTtsZXQgbj0xMixsPTAsZD1zKCgpPT57ci5wZXJjZW50YWdlPW4sci5zdGF0dXNUZXh0PWUobiksaS50ZXJtaW5hbExpbmVzPVsuLi5hW2xdXSxpLnBlcmNlbnRhZ2U9TWF0aC5taW4oMTAwLChsKzEpKjIwKSxpLmluZGV0ZXJtaW5hdGU9bDxhLmxlbmd0aC0xLG49bj49MTAwPzEyOk1hdGgubWluKDEwMCxuKzExKSxsPWw+PWEubGVuZ3RoLTE/MDpsKzF9LCJ1cGRhdGVEZW1vIik7ZCgpLG8uX19wcm9ncmVzc2JhckRlbW9JbnRlcnZhbElkPXdpbmRvdy5zZXRJbnRlcnZhbChkLDE0MDApfX0+CiAgICAgIDxzdHlsZT4KICAgICAgICAke1hgCiAgICAgICAgICAuZGVtb0JveCB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIH0KCiAgICAgICAgICAuZGVtb0ludHJvIHsKICAgICAgICAgICAgbWF4LXdpZHRoOiA3MjBweDsKICAgICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDIwJSAzMCUpIiwiaHNsKDIxNSAxOCUgNzYlKSIpfTsKICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgICAgfQoKICAgICAgICAgIC5zaG93Y2FzZUdyaWQgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI4MHB4LCAxZnIpKTsKICAgICAgICAgICAgZ2FwOiAxOHB4OwogICAgICAgICAgfQoKICAgICAgICAgIC5zaG93Y2FzZUNhcmQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgyNTUsMjU1LDI1NSwwLjc4KSIsInJnYmEoMjU1LDI1NSwyNTUsMC4wNCkiKX07CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjEwIDIyJSA4NiUpIiwiaHNsKDIxMCAxMCUgMTglKSIpfTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDsKICAgICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTsKICAgICAgICAgIH0KCiAgICAgICAgICAuc2hvd2Nhc2VDYXJkLndpZGUgewogICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyOwogICAgICAgICAgfQoKICAgICAgICAgIC5zaG93Y2FzZUNhcmQgaDMgewogICAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgIH0KCiAgICAgICAgICAuc2hvd2Nhc2VDYXJkIHAgewogICAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNCUgNDAlKSIsImhzbCgyMTUgMTAlIDY2JSkiKX07CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTU7CiAgICAgICAgICB9CgogICAgICAgICAgLnByb2dyZXNzU3RhY2sgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBnYXA6IDE0cHg7CiAgICAgICAgICB9CgogICAgICAgICAgLmNvZGVMYWJlbCB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNCUgNDQlKSIsImhzbCgyMTUgMTAlIDcwJSkiKX07CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICB9CgogICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7CiAgICAgICAgICAgIC5kZW1vQm94IHsKICAgICAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgICB9CgogICAgICAgICAgICAuc2hvd2Nhc2VDYXJkLndpZGUgewogICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICBgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vQm94Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vSW50cm8iPgogICAgICAgICAgPGNvZGU+ZGVlcy1wcm9ncmVzc2JhcjwvY29kZT4gY2FuIG5vdyBwYWlyIGEgY2xhc3NpYyBwcm9ncmVzcyBiYXIgd2l0aCBhIGZpeGVkLWhlaWdodCBzdGF0dXMgYXJlYS4gVXNlIHNpbXBsZSBzdGF0dXMgdGV4dCBmb3IgY2xlYXIgdXNlci1mYWNpbmcgdXBkYXRlcyBvciBzd2l0Y2ggdG8gdGVybWluYWwtbGlrZSBsaW5lcyB3aGVuIHlvdSB3YW50IHJlY2VudCBzdGVwcyB0byBzdGF5IHZpc2libGUgd2l0aG91dCBjYXVzaW5nIGxheW91dCBqdW1wcy4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaG93Y2FzZUdyaWQiPgogICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNob3djYXNlQ2FyZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGVMYWJlbCI+RGV0ZXJtaW5hdGU8L2Rpdj4KICAgICAgICAgICAgPGgzPlBlcmNlbnRhZ2UgcGx1cyBjdXJyZW50IHRhc2s8L2gzPgogICAgICAgICAgICA8cD5Vc2UgYSBsYWJlbCwgYSBwZXJjZW50YWdlLCBhbmQgb25lIHNob3J0IHN0YXR1cyBsaW5lIHdoZW4gdGhlIHdvcmsgaXMgbWVhc3VyYWJsZS48L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzU3RhY2siPgogICAgICAgICAgICAgIDxkZWVzLXByb2dyZXNzYmFyCiAgICAgICAgICAgICAgICBsYWJlbD0iTWVkaWEgdXBsb2FkIgogICAgICAgICAgICAgICAgLnBlcmNlbnRhZ2U9JHs2OH0KICAgICAgICAgICAgICAgIHN0YXR1c1RleHQ9IlVwbG9hZGluZyB0aHVtYm5haWxzIHRvIGVkZ2UgY2FjaGUuLi4iCiAgICAgICAgICAgICAgICAuc3RhdHVzUm93cz0kezJ9CiAgICAgICAgICAgICAgPjwvZGVlcy1wcm9ncmVzc2Jhcj4KICAgICAgICAgICAgICA8ZGVlcy1wcm9ncmVzc2JhcgogICAgICAgICAgICAgICAgbGFiZWw9IkFzc2V0IHN5bmMiCiAgICAgICAgICAgICAgICAucGVyY2VudGFnZT0kezEwMH0KICAgICAgICAgICAgICAgIHN0YXR1c1RleHQ9IkFsbCBmaWxlcyBhcmUgc3luY2VkIGFuZCBhdmFpbGFibGUuIgogICAgICAgICAgICAgICAgLnN0YXR1c1Jvd3M9JHsyfQogICAgICAgICAgICAgID48L2RlZXMtcHJvZ3Jlc3NiYXI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzaG93Y2FzZUNhcmQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlTGFiZWwiPkluZGV0ZXJtaW5hdGU8L2Rpdj4KICAgICAgICAgICAgPGgzPlNwaW5uZXItc3R5bGUgdGV4dCBpbmRpY2F0b3I8L2gzPgogICAgICAgICAgICA8cD5XaGVuIHRoZXJlIGlzIG5vIHRydXN0d29ydGh5IHBlcmNlbnRhZ2UgeWV0LCBrZWVwIHRoZSBiYXIgbW92aW5nIGFuZCBsZXQgdGhlIHRleHQgZXhwbGFpbiB3aGF0IGlzIGhhcHBlbmluZy48L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzU3RhY2siPgogICAgICAgICAgICAgIDxkZWVzLXByb2dyZXNzYmFyCiAgICAgICAgICAgICAgICBsYWJlbD0iRGVwZW5kZW5jeSBpbnN0YWxsIgogICAgICAgICAgICAgICAgLmluZGV0ZXJtaW5hdGU9JHshMH0KICAgICAgICAgICAgICAgIHN0YXR1c1RleHQ9IkRvd25sb2FkaW5nIHBhY2thZ2UgbWV0YWRhdGEuLi4iCiAgICAgICAgICAgICAgICAuc3RhdHVzUm93cz0kezJ9CiAgICAgICAgICAgICAgPjwvZGVlcy1wcm9ncmVzc2Jhcj4KICAgICAgICAgICAgICA8ZGVlcy1wcm9ncmVzc2JhcgogICAgICAgICAgICAgICAgbGFiZWw9IlF1ZXVlZCBqb2IiCiAgICAgICAgICAgICAgICAucGVyY2VudGFnZT0kezMyfQogICAgICAgICAgICAgICAgLnNob3dQZXJjZW50YWdlPSR7ITF9CiAgICAgICAgICAgICAgICBzdGF0dXNUZXh0PSJXYWl0aW5nIGZvciBhIHdvcmtlciBzbG90IHRvIGJlY29tZSBhdmFpbGFibGUuLi4iCiAgICAgICAgICAgICAgICAuc3RhdHVzUm93cz0kezJ9CiAgICAgICAgICAgICAgPjwvZGVlcy1wcm9ncmVzc2Jhcj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNob3djYXNlQ2FyZCB3aWRlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZUxhYmVsIj5UZXJtaW5hbCBMaW5lczwvZGl2PgogICAgICAgICAgICA8aDM+Rml4ZWQtaGVpZ2h0IHRlcm1pbmFsLXN0eWxlIHN0YXR1cyBvdXRwdXQ8L2gzPgogICAgICAgICAgICA8cD5UaGUgcGFuZWwgc3RheXMgdGhlIHNhbWUgaGVpZ2h0IHdoaWxlIHRoZSBsYXRlc3Qgc3RlcCBzdGF5cyB2aXNpYmxlLiBUaGlzIGlzIHVzZWZ1bCBmb3IgdXBkYXRlIGZsb3dzLCBkb3dubG9hZHMsIGFuZCBzdGFnZWQgYmFja2dyb3VuZCB3b3JrLjwvcD4KICAgICAgICAgICAgPGRlZXMtcHJvZ3Jlc3NiYXIKICAgICAgICAgICAgICBpZD0idGVybWluYWwtcHJvZ3Jlc3MiCiAgICAgICAgICAgICAgbGFiZWw9IlJlbGVhc2UgYnVuZGxlIgogICAgICAgICAgICAgIC5wZXJjZW50YWdlPSR7MjB9CiAgICAgICAgICAgICAgLmluZGV0ZXJtaW5hdGU9JHshMH0KICAgICAgICAgICAgICAuc3RhdHVzUm93cz0kezR9CiAgICAgICAgICAgICAgLnRlcm1pbmFsTGluZXM9JHthWzBdfQogICAgICAgICAgICA+PC9kZWVzLXByb2dyZXNzYmFyPgogICAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzaG93Y2FzZUNhcmQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlTGFiZWwiPkxpdmUgRGVtbzwvZGl2PgogICAgICAgICAgICA8aDM+VXBkYXRpbmcgcGVyY2VudGFnZSBhbmQgdGV4dCB0b2dldGhlcjwvaDM+CiAgICAgICAgICAgIDxwPkEgc2luZ2xlIGNvbXBvbmVudCBjYW4gZXhwcmVzcyBib3RoIGhvdyBmYXIgdGhlIGpvYiBpcyBhbmQgd2hpY2ggcGhhc2UgaXMgY3VycmVudGx5IGFjdGl2ZS48L3A+CiAgICAgICAgICAgIDxkZWVzLXByb2dyZXNzYmFyCiAgICAgICAgICAgICAgaWQ9ImxpdmUtcHJvZ3Jlc3MiCiAgICAgICAgICAgICAgbGFiZWw9IkN1c3RvbWVyIGV4cG9ydCIKICAgICAgICAgICAgICAucGVyY2VudGFnZT0kezEyfQogICAgICAgICAgICAgIHN0YXR1c1RleHQ9IlByZXBhcmluZyBhcmNoaXZlIGFuZCBkZXBlbmRlbmN5IGdyYXBoLi4uIgogICAgICAgICAgICAgIC5zdGF0dXNSb3dzPSR7Mn0KICAgICAgICAgICAgPjwvZGVlcy1wcm9ncmVzc2Jhcj4KICAgICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic2hvd2Nhc2VDYXJkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZUxhYmVsIj5Db21wYXRpYmlsaXR5PC9kaXY+CiAgICAgICAgICAgIDxoMz5MZWdhY3kgPGNvZGU+dmFsdWU8L2NvZGU+IGFuZCA8Y29kZT5wcm9ncmVzczwvY29kZT4gaW5wdXRzPC9oMz4KICAgICAgICAgICAgPHA+RXhpc3RpbmcgdXNhZ2VzIGNhbiBrZWVwIHBhc3NpbmcgcGVyY2VudGFnZXMgZGlyZWN0bHkgb3Igbm9ybWFsaXplZCBwcm9ncmVzcyB2YWx1ZXMgZnJvbSAwIHRvIDEuPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzc1N0YWNrIj4KICAgICAgICAgICAgICA8ZGVlcy1wcm9ncmVzc2JhcgogICAgICAgICAgICAgICAgbGFiZWw9IkZyb20gdmFsdWUiCiAgICAgICAgICAgICAgICAudmFsdWU9JHs3NX0KICAgICAgICAgICAgICAgIHN0YXR1c1RleHQ9Ik1pZ3JhdGluZyBleGlzdGluZyByZWFkbWUtc3R5bGUgdXNhZ2UuLi4iCiAgICAgICAgICAgICAgICAuc3RhdHVzUm93cz0kezJ9CiAgICAgICAgICAgICAgPjwvZGVlcy1wcm9ncmVzc2Jhcj4KICAgICAgICAgICAgICA8ZGVlcy1wcm9ncmVzc2JhcgogICAgICAgICAgICAgICAgbGFiZWw9IkZyb20gcHJvZ3Jlc3MiCiAgICAgICAgICAgICAgICAucHJvZ3Jlc3M9JHsuNDJ9CiAgICAgICAgICAgICAgICAuc2hvd1BlcmNlbnRhZ2U9JHshMX0KICAgICAgICAgICAgICAgIHN0YXR1c1RleHQ9IlJlbmRlcmluZyBub3JtYWxpemVkIHByb2dyZXNzIGlucHV0Li4uIgogICAgICAgICAgICAgICAgLnN0YXR1c1Jvd3M9JHsyfQogICAgICAgICAgICAgID48L2RlZXMtcHJvZ3Jlc3NiYXI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICBgfSwiZGVtb0Z1bmMiKX0pO3ZhciBVMSxycyxaMGEsSVFlPWYoKCk9PntMMSgpO0swYSgpO2xlKCk7UWUoKTtVMT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0scnM9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFowYT0oKCk9PntsZXQgYT1baWUoImRlZXMtcHJvZ3Jlc3NiYXIiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXTt2YXIgaGU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNQcm9ncmVzc2JhciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBSPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6TnVtYmVyfSldLGQ9WyQoe3R5cGU6TnVtYmVyfSldLHU9WyQoe3R5cGU6TnVtYmVyfSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLHk9WyQoe3R5cGU6U3RyaW5nfSldLE49WyQoe3R5cGU6QXJyYXl9KV0sTz1bJCh7dHlwZTpOdW1iZXJ9KV0sQj1bJCh7dHlwZTpCb29sZWFufSldLFA9WyQoe3R5cGU6Qm9vbGVhbn0pXSxXPVtLKCldLFUxKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGVyY2VudGFnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4icGVyY2VudGFnZSJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnBlcmNlbnRhZ2UsImdldCIpLHNldDpzKChVLG1lKT0+e1UucGVyY2VudGFnZT1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxuLGwpLFUxKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InZhbHVlImluIFUsImhhcyIpLGdldDpzKFU9PlUudmFsdWUsImdldCIpLHNldDpzKChVLG1lKT0+e1UudmFsdWU9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sYyxwKSxVMSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InByb2dyZXNzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJwcm9ncmVzcyJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnByb2dyZXNzLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnByb2dyZXNzPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LG0sdiksVTEodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYWJlbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4ibGFiZWwiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5sYWJlbCwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5sYWJlbD1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxiLGcpLFUxKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RhdHVzVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4ic3RhdHVzVGV4dCJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnN0YXR1c1RleHQsImdldCIpLHNldDpzKChVLG1lKT0+e1Uuc3RhdHVzVGV4dD1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxrLEMpLFUxKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGVybWluYWxMaW5lcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4idGVybWluYWxMaW5lcyJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnRlcm1pbmFsTGluZXMsImdldCIpLHNldDpzKChVLG1lKT0+e1UudGVybWluYWxMaW5lcz1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxfLHopLFUxKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RhdHVzUm93cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4ic3RhdHVzUm93cyJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnN0YXR1c1Jvd3MsImdldCIpLHNldDpzKChVLG1lKT0+e1Uuc3RhdHVzUm93cz1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxULEUpLFUxKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5kZXRlcm1pbmF0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4iaW5kZXRlcm1pbmF0ZSJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLmluZGV0ZXJtaW5hdGUsImdldCIpLHNldDpzKChVLG1lKT0+e1UuaW5kZXRlcm1pbmF0ZT1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxNLFMpLFUxKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1BlcmNlbnRhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InNob3dQZXJjZW50YWdlImluIFUsImhhcyIpLGdldDpzKFU9PlUuc2hvd1BlcmNlbnRhZ2UsImdldCIpLHNldDpzKChVLG1lKT0+e1Uuc2hvd1BlcmNlbnRhZ2U9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sQSxGKSxVMSh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2ZVNwaW5uZXJGcmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4iYWN0aXZlU3Bpbm5lckZyYW1lImluIFUsImhhcyIpLGdldDpzKFU9PlUuYWN0aXZlU3Bpbm5lckZyYW1lLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLmFjdGl2ZVNwaW5uZXJGcmFtZT1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxqLEcpLFUxKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlJ9LG51bGwsdCksaGU9cj1lLnZhbHVlLFImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Un0pfXN0YXRpYyBkZW1vPVkwYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkZlZWRiYWNrIl07I2U9cnModGhpcyxuLDApO2dldCBwZXJjZW50YWdlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHBlcmNlbnRhZ2UoUil7dGhpcy4jZT1SfSN0PShycyh0aGlzLGwpLHJzKHRoaXMsYyxudWxsKSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHZhbHVlKFIpe3RoaXMuI3Q9Un0jYT0ocnModGhpcyxwKSxycyh0aGlzLG0sbnVsbCkpO2dldCBwcm9ncmVzcygpe3JldHVybiB0aGlzLiNhfXNldCBwcm9ncmVzcyhSKXt0aGlzLiNhPVJ9I3I9KHJzKHRoaXMsdikscnModGhpcyxiLCIiKSk7Z2V0IGxhYmVsKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGxhYmVsKFIpe3RoaXMuI3I9Un0jcz0ocnModGhpcyxnKSxycyh0aGlzLGssIiIpKTtnZXQgc3RhdHVzVGV4dCgpe3JldHVybiB0aGlzLiNzfXNldCBzdGF0dXNUZXh0KFIpe3RoaXMuI3M9Un0jaT0ocnModGhpcyxDKSxycyh0aGlzLF8sW10pKTtnZXQgdGVybWluYWxMaW5lcygpe3JldHVybiB0aGlzLiNpfXNldCB0ZXJtaW5hbExpbmVzKFIpe3RoaXMuI2k9Un0jbz0ocnModGhpcyx6KSxycyh0aGlzLFQsMykpO2dldCBzdGF0dXNSb3dzKCl7cmV0dXJuIHRoaXMuI299c2V0IHN0YXR1c1Jvd3MoUil7dGhpcy4jbz1SfSNuPShycyh0aGlzLEUpLHJzKHRoaXMsTSwhMSkpO2dldCBpbmRldGVybWluYXRlKCl7cmV0dXJuIHRoaXMuI259c2V0IGluZGV0ZXJtaW5hdGUoUil7dGhpcy4jbj1SfSNsPShycyh0aGlzLFMpLHJzKHRoaXMsQSwhMCkpO2dldCBzaG93UGVyY2VudGFnZSgpe3JldHVybiB0aGlzLiNsfXNldCBzaG93UGVyY2VudGFnZShSKXt0aGlzLiNsPVJ9I2M9KHJzKHRoaXMsRikscnModGhpcyxqLDApKTtnZXQgYWN0aXZlU3Bpbm5lckZyYW1lKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGFjdGl2ZVNwaW5uZXJGcmFtZShSKXt0aGlzLiNjPVJ9c3Bpbm5lckludGVydmFsSWQ9KHJzKHRoaXMsRyksbnVsbCk7c3Bpbm5lckZyYW1lcz1bInwiLCIvIiwiLSIsIlxcIl07c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoZDQudGV4dCxjNC50ZXh0KX07CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzc0JhckNvbnRhaW5lciB7CiAgICAgICAgbWluLXdpZHRoOiAyMDBweDsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnByb2dyZXNzSGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLnByb2dyZXNzTGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzc1ZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTUlIDQwJSkiLCJoc2woMjE1IDE1JSA3MCUpIil9OwogICAgICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICB9CgogICAgICAucHJvZ3Jlc3NCYXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWVlZWViIiwiIzQ0NCIpfTsKICAgICAgICBib3JkZXItdG9wOiAwLjVweCBzb2xpZCAke2guYmRUaGVtZSgidHJhbnNwYXJlbnQiLCIjNTU1Iil9OwogICAgICB9CgogICAgICAucHJvZ3Jlc3NCYXJGaWxsIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZShjNC5ibHVlQWN0aXZlLGQ0LmJsdWVBY3RpdmUpfTsKICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzc0JhckZpbGwuaW5kZXRlcm1pbmF0ZSB7CiAgICAgICAgd2lkdGg6IDM0JTsKICAgICAgICB0cmFuc2l0aW9uOiBub25lOwogICAgICAgIGFuaW1hdGlvbjogaW5kZXRlcm1pbmF0ZVNsaWRlIDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIC5zdGF0dXNQYW5lbCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKICAgICAgICBoZWlnaHQ6IGNhbGModmFyKC0tc3RhdHVzLXJvd3MsIDMpICogMS4zNWVtICsgMTZweCk7CiAgICAgICAgbWluLWhlaWdodDogY2FsYyh2YXIoLS1zdGF0dXMtcm93cywgMykgKiAxLjM1ZW0gKyAxNnB4KTsKICAgICAgICBwYWRkaW5nOiA4cHggMTBweDsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxMCAyMCUgODYlKSIsImhzbCgyMTAgMTAlIDI2JSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMzMlIDk4JSkiLCJoc2woMjIwIDIwJSAxMCUpIil9OwogICAgICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBsaW5lLWhlaWdodDogMS4zNTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuc3RhdHVzVGV4dFJvdywKICAgICAgLnRlcm1pbmFsTGluZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtaW4taGVpZ2h0OiAxLjM1ZW07CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbFNjcm9sbGVyIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbFNjcm9sbGVyOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsU2Nyb2xsZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxOCUgNzglKSIsImhzbCgyMTUgMTAlIDM0JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbFNjcm9sbGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5saW5lUHJlZml4IHsKICAgICAgICB3aWR0aDogMWNoOwogICAgICAgIGZsZXg6IDAgMCAxY2g7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKGM0LmJsdWVBY3RpdmUsZDQuYmx1ZUFjdGl2ZSl9OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmxpbmVUZXh0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjAgMTUlIDI1JSkiLCJoc2woMjEwIDE1JSA4NiUpIil9OwogICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOwogICAgICB9CgogICAgICAudGVybWluYWxMaW5lOm5vdCguY3VycmVudCkgLmxpbmVUZXh0IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTIlIDQyJSkiLCJoc2woMjE1IDEyJSA2MyUpIil9OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGluZGV0ZXJtaW5hdGVTbGlkZSB7CiAgICAgICAgMCUgewogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMjAlKTsKICAgICAgICB9CgogICAgICAgIDEwMCUgewogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMyMCUpOwogICAgICAgIH0KICAgICAgfQogICAgYF07YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuc3luY1NwaW5uZXJTdGF0ZSgpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dGhpcy5zdG9wU3Bpbm5lcigpLGF3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCl9dXBkYXRlZChSKXtzdXBlci51cGRhdGVkKFIpLHRoaXMuc3luY1NwaW5uZXJTdGF0ZSgpLFIuaGFzKCJ0ZXJtaW5hbExpbmVzIikmJnRoaXMudGVybWluYWxMaW5lcy5sZW5ndGg+MCYmdGhpcy5zY3JvbGxUZXJtaW5hbFRvQm90dG9tKCl9cmVuZGVyKCl7bGV0IFI9dGhpcy5nZXRFZmZlY3RpdmVQZXJjZW50YWdlKCksVT0hIXRoaXMubGFiZWx8fHRoaXMuc2hvd1BlcmNlbnRhZ2UmJiF0aGlzLmluZGV0ZXJtaW5hdGUsbWU9dGhpcy50ZXJtaW5hbExpbmVzLmxlbmd0aD4wLEk9bWV8fHRoaXMuc3RhdHVzVGV4dC50cmltKCkubGVuZ3RoPjAscT10aGlzLmdldFJlbmRlcmVkU3RhdHVzUm93cygpLGNlPXRoaXMuc3Bpbm5lckZyYW1lc1t0aGlzLmFjdGl2ZVNwaW5uZXJGcmFtZV0/P3RoaXMuc3Bpbm5lckZyYW1lc1swXTtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3NCYXJDb250YWluZXIiPgogICAgICAgICR7VT93YAogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3NIZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzc0xhYmVsIj4ke3RoaXMubGFiZWx9PC9kaXY+CiAgICAgICAgICAgICR7dGhpcy5zaG93UGVyY2VudGFnZSYmIXRoaXMuaW5kZXRlcm1pbmF0ZT93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzVmFsdWUiPiR7dGhpcy5mb3JtYXRQZXJjZW50YWdlKFIpfSU8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3NCYXIiPgogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0icHJvZ3Jlc3NCYXJGaWxsICR7dGhpcy5pbmRldGVybWluYXRlPyJpbmRldGVybWluYXRlIjoiIn0iCiAgICAgICAgICAgIHN0eWxlPSIke3RoaXMuaW5kZXRlcm1pbmF0ZT8iIjpgd2lkdGg6ICR7Un0lO2B9IgogICAgICAgICAgPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgICR7ST93YAogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0ic3RhdHVzUGFuZWwiCiAgICAgICAgICAgIHN0eWxlPSItLXN0YXR1cy1yb3dzOiAke3F9OyIKICAgICAgICAgICAgYXJpYS1saXZlPSJwb2xpdGUiCiAgICAgICAgICAgIGFyaWEtYXRvbWljPSJ0cnVlIgogICAgICAgICAgPgogICAgICAgICAgICAke21lP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVybWluYWxTY3JvbGxlciI+CiAgICAgICAgICAgICAgICAke3RoaXMudGVybWluYWxMaW5lcy5tYXAoKHVlLFkpPT57bGV0IFE9WT09PXRoaXMudGVybWluYWxMaW5lcy5sZW5ndGgtMSxKPXRoaXMuaW5kZXRlcm1pbmF0ZSYmUT9jZToiPiI7cmV0dXJuIHdgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVybWluYWxMaW5lICR7UT8iY3VycmVudCI6IiJ9Ij4KICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsaW5lUHJlZml4Ij4ke0p9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxpbmVUZXh0Ij4ke3VlfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgYH0pfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzVGV4dFJvdyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGluZVByZWZpeCI+JHt0aGlzLmluZGV0ZXJtaW5hdGU/Y2U6Ij4ifTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsaW5lVGV4dCI+JHt0aGlzLnN0YXR1c1RleHR9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWdldEVmZmVjdGl2ZVBlcmNlbnRhZ2UoKXtpZih0eXBlb2YgdGhpcy52YWx1ZT09Im51bWJlciImJk51bWJlci5pc0Zpbml0ZSh0aGlzLnZhbHVlKSlyZXR1cm4gdGhpcy5jbGFtcFBlcmNlbnRhZ2UodGhpcy52YWx1ZSk7aWYodHlwZW9mIHRoaXMucHJvZ3Jlc3M9PSJudW1iZXIiJiZOdW1iZXIuaXNGaW5pdGUodGhpcy5wcm9ncmVzcykpe2xldCBSPXRoaXMucHJvZ3Jlc3M+PTAmJnRoaXMucHJvZ3Jlc3M8PTE/dGhpcy5wcm9ncmVzcyoxMDA6dGhpcy5wcm9ncmVzcztyZXR1cm4gdGhpcy5jbGFtcFBlcmNlbnRhZ2UoUil9cmV0dXJuIHRoaXMuY2xhbXBQZXJjZW50YWdlKHRoaXMucGVyY2VudGFnZSl9Z2V0UmVuZGVyZWRTdGF0dXNSb3dzKCl7bGV0IFI9TnVtYmVyLmlzRmluaXRlKHRoaXMuc3RhdHVzUm93cyk/TWF0aC5mbG9vcih0aGlzLnN0YXR1c1Jvd3MpOjM7cmV0dXJuIE1hdGgubWF4KDEsUil9Y2xhbXBQZXJjZW50YWdlKFIpe3JldHVybiBNYXRoLm1heCgwLE1hdGgubWluKDEwMCxSKSl9Zm9ybWF0UGVyY2VudGFnZShSKXtyZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihSKT9gJHtSfWA6Ui50b0ZpeGVkKDEpLnJlcGxhY2UoL1wuMCQvLCIiKX1zeW5jU3Bpbm5lclN0YXRlKCl7bGV0IFI9dGhpcy5pbmRldGVybWluYXRlJiYodGhpcy5zdGF0dXNUZXh0LnRyaW0oKS5sZW5ndGg+MHx8dGhpcy50ZXJtaW5hbExpbmVzLmxlbmd0aD4wKTtpZihSJiZ0aGlzLnNwaW5uZXJJbnRlcnZhbElkPT09bnVsbCl7dGhpcy5zcGlubmVySW50ZXJ2YWxJZD13aW5kb3cuc2V0SW50ZXJ2YWwoKCk9Pnt0aGlzLmFjdGl2ZVNwaW5uZXJGcmFtZT0odGhpcy5hY3RpdmVTcGlubmVyRnJhbWUrMSkldGhpcy5zcGlubmVyRnJhbWVzLmxlbmd0aH0sMTIwKTtyZXR1cm59Unx8dGhpcy5zdG9wU3Bpbm5lcigpfXN0b3BTcGlubmVyKCl7dGhpcy5zcGlubmVySW50ZXJ2YWxJZCE9PW51bGwmJih3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLnNwaW5uZXJJbnRlcnZhbElkKSx0aGlzLnNwaW5uZXJJbnRlcnZhbElkPW51bGwpLHRoaXMuYWN0aXZlU3Bpbm5lckZyYW1lPTB9c2Nyb2xsVGVybWluYWxUb0JvdHRvbSgpe2xldCBSPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnRlcm1pbmFsU2Nyb2xsZXIiKTtSJiZ3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Ui5zY3JvbGxUb3A9Ui5zY3JvbGxIZWlnaHR9KX1zdGF0aWN7cnMocix0KX19O3JldHVybiBoZT1yfSkoKX0pO3ZhciBYMGE9ZigoKT0+e0lRZSgpfSk7dmFyIFhzZSx3NSxRMGEsSjBhPWYoKCk9PntsZSgpO2VhKCk7UWUoKTtYc2U9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHc1PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxRMGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXNwaW5uZXIiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1NwaW5uZXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk51bWJlcn0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKCldLFhzZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InNpemUiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5zaXplLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuc2l6ZT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCksWHNlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYm53IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJibnciaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5ibncsImdldCIpLHNldDpzKChnLHkpPT57Zy5ibnc9eX0sInNldCIpfSxtZXRhZGF0YTpifSxjLHApLFhzZSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0YXR1cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4ic3RhdHVzImluIGcsImhhcyIpLGdldDpzKGc9Pmcuc3RhdHVzLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuc3RhdHVzPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSxYc2UobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtb0dyb3Vwcz1bIkZlZWRiYWNrIl07c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkZWVzLXNwaW5uZXI+PC9kZWVzLXNwaW5uZXI+CiAgICA8ZGVlcy1zcGlubmVyIHN0YXR1cz0ic3VjY2VzcyI+PC9kZWVzLXNwaW5uZXI+CiAgICA8ZGVlcy1zcGlubmVyIHN0YXR1cz0iZXJyb3IiPjwvZGVlcy1zcGlubmVyPgogICAgPGRlZXMtc3Bpbm5lciBzaXplPSR7NjR9IHN0YXR1cz0ic3VjY2VzcyI+PC9kZWVzLXNwaW5uZXI+CiAgICA8ZGVlcy1zcGlubmVyIC5zaXplPSR7NjR9IHN0YXR1cz0iZXJyb3IiPjwvZGVlcy1zcGlubmVyPgogIGAsImRlbW8iKTsjZT13NSh0aGlzLG4sMjApO2dldCBzaXplKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNpemUoYil7dGhpcy4jZT1ifSN0PSh3NSh0aGlzLGwpLHc1KHRoaXMsYywhMSkpO2dldCBibncoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYm53KGIpe3RoaXMuI3Q9Yn0jYT0odzUodGhpcyxwKSx3NSh0aGlzLG0sIm5vcm1hbCIpKTtnZXQgc3RhdHVzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHN0YXR1cyhiKXt0aGlzLiNhPWJ9Y29uc3RydWN0b3IoKXtzdXBlcigpLHc1KHRoaXMsdil9c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgI2xvYWRpbmcgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB0cmFuc2l0aW9uOiBub25lOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyOwogICAgICAgIGJhY2tncm91bmQ6ICM4YmMzNGEwMDsKICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjEpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke2guYmRUaGVtZSgiIzMzMyIsIiNmZmYiKX07CiAgICAgICAgYW5pbWF0aW9uOiBzcGluIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzcGluIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlOwogICAgICB9CgogICAgICAjbG9hZGluZy5zdWNjZXNzIHsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGFuaW1hdGlvbjogbm9uZTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgI2xvYWRpbmcuZXJyb3IgewogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYW5pbWF0aW9uOiBub25lOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBub25lOwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgIHRvIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4gewogICAgICAgIHRvIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGRlZXMtaWNvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICAjbG9hZGluZyB7CiAgICAgICAgICB3aWR0aDogJHt0aGlzLnNpemV9cHg7CiAgICAgICAgICBoZWlnaHQ6ICR7dGhpcy5zaXplfXB4OwogICAgICAgIH0KICAgICAgICAjbG9hZGluZy5zdWNjZXNzIHsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSh0aGlzLmJudz8iIzMzMyI6IiM4YmMzNGEiLHRoaXMuYm53PyIjZmZmIjoiIzhiYzM0YSIpfTsKICAgICAgICAgIAogICAgICAgIH0KICAgICAgICAjbG9hZGluZy5lcnJvciB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUodGhpcy5ibnc/IiMzMzMiOiIjZTY0YTE5Iix0aGlzLmJudz8iI2ZmZiI6IiNlNjRhMTkiKX07CiAgICAgICAgfQogICAgICAgIGRlZXMtaWNvbiB7CiAgICAgICAgICBmb250LXNpemU6ICR7dGhpcy5zaXplfXB4OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iJHt0aGlzLnN0YXR1c30iIGlkPSJsb2FkaW5nIj4KICAgICAgICAkeygoKT0+e2lmKHRoaXMuc3RhdHVzPT09InN1Y2Nlc3MiKXJldHVybiB3YDxkZWVzLWljb24gc3R5bGU9InRyYW5zZm9ybTogdHJhbnNsYXRlWCgxJSkgdHJhbnNsYXRlWSgzJSk7IiAuaWNvbj0keyJmYTpjaXJjbGUtY2hlY2sifT48L2RlZXMtaWNvbj5gO2lmKHRoaXMuc3RhdHVzPT09ImVycm9yIilyZXR1cm4gd2A8ZGVlcy1pY29uIC5pY29uPSR7ImZhOmNpcmNsZS14bWFyayJ9PjwvZGVlcy1pY29uPmB9KSgpfQogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje3c1KHIsdCl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciBlNGE9ZigoKT0+e0owYSgpfSk7dmFyIHQ0YSxhNGE9ZigoKT0+e2xlKCk7TlFlKCk7JGYoKTt0NGE9cygoKT0+d2AKICAgIDxzdHlsZT4KICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nOiAzMnB4OwogICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjhmOWZhIiwiIzBhMGEwYSIpfTsKICAgICAgfQoKICAgICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDsKICAgICAgfQoKICAgICAgLmRlbW8tdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzMzIiwiI2ZmZiIpfTsKICAgICAgfQoKICAgICAgLmRlbW8tZGVzY3JpcHRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2NjYiLCIjYWFhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5idXR0b24tZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsKICAgICAgfQoKICAgICAgLnRoZW1lLXRvZ2dsZSB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHRvcDogMTZweDsKICAgICAgICByaWdodDogMTZweDsKICAgICAgICB6LWluZGV4OiAxMDA7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1idXR0b24gY2xhc3M9InRoZW1lLXRvZ2dsZSIgQGNsaWNrZWQ9JHsoKT0+e2RvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnRvZ2dsZSgiYnJpZ2h0Iil9fT5Ub2dnbGUgVGhlbWU8L2RlZXMtYnV0dG9uPgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlRvYXN0IFR5cGVzPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBEaWZmZXJlbnQgdG9hc3QgdHlwZXMgZm9yIHZhcmlvdXMgbm90aWZpY2F0aW9uIHNjZW5hcmlvcy4gQ2xpY2sgYW55IGJ1dHRvbiB0byBzaG93IGEgdG9hc3QuCiAgICAgICAgPC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncmlkIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57RGEuaW5mbygiVGhpcyBpcyBhbiBpbmZvcm1hdGlvbmFsIG1lc3NhZ2UiKX19PkluZm8gVG9hc3Q8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iaGlnaGxpZ2h0ZWQiIEBjbGlja2VkPSR7KCk9PntEYS5zdWNjZXNzKCJPcGVyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseSEiKX19PlN1Y2Nlc3MgVG9hc3Q8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e0RhLndhcm5pbmcoIlBsZWFzZSByZXZpZXcgYmVmb3JlIHByb2NlZWRpbmciKX19Pldhcm5pbmcgVG9hc3Q8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e0RhLmVycm9yKCJBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIil9fT5FcnJvciBUb2FzdDwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlRvYXN0IFBvc2l0aW9uczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPgogICAgICAgICAgVG9hc3RzIGNhbiBhcHBlYXIgaW4gZGlmZmVyZW50IHBvc2l0aW9ucyBvbiB0aGUgc2NyZWVuLgogICAgICAgIDwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e0RhLnNob3coe21lc3NhZ2U6IlRvcCBSaWdodCBQb3NpdGlvbiIsdHlwZToiaW5mbyIscG9zaXRpb246InRvcC1yaWdodCJ9KX19PlRvcCBSaWdodDwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57RGEuc2hvdyh7bWVzc2FnZToiVG9wIExlZnQgUG9zaXRpb24iLHR5cGU6ImluZm8iLHBvc2l0aW9uOiJ0b3AtbGVmdCJ9KX19PlRvcCBMZWZ0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntEYS5zaG93KHttZXNzYWdlOiJCb3R0b20gUmlnaHQgUG9zaXRpb24iLHR5cGU6ImluZm8iLHBvc2l0aW9uOiJib3R0b20tcmlnaHQifSl9fT5Cb3R0b20gUmlnaHQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e0RhLnNob3coe21lc3NhZ2U6IkJvdHRvbSBMZWZ0IFBvc2l0aW9uIix0eXBlOiJpbmZvIixwb3NpdGlvbjoiYm90dG9tLWxlZnQifSl9fT5Cb3R0b20gTGVmdDwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57RGEuc2hvdyh7bWVzc2FnZToiVG9wIENlbnRlciBQb3NpdGlvbiIsdHlwZToiaW5mbyIscG9zaXRpb246InRvcC1jZW50ZXIifSl9fT5Ub3AgQ2VudGVyPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntEYS5zaG93KHttZXNzYWdlOiJCb3R0b20gQ2VudGVyIFBvc2l0aW9uIix0eXBlOiJpbmZvIixwb3NpdGlvbjoiYm90dG9tLWNlbnRlciJ9KX19PkJvdHRvbSBDZW50ZXI8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5EdXJhdGlvbiBPcHRpb25zPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDb250cm9sIGhvdyBsb25nIHRvYXN0cyBzdGF5IHZpc2libGUuIER1cmF0aW9uIGluIG1pbGxpc2Vjb25kcy4KICAgICAgICA8L3A+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntEYS5zaG93KHttZXNzYWdlOiJRdWljayB0b2FzdCAoMSBzZWNvbmQpIix0eXBlOiJpbmZvIixkdXJhdGlvbjoxZTN9KX19PjEgU2Vjb25kPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntEYS5zaG93KHttZXNzYWdlOiJTdGFuZGFyZCB0b2FzdCAoMyBzZWNvbmRzKSIsdHlwZToiaW5mbyIsZHVyYXRpb246M2UzfSl9fT4zIFNlY29uZHMgKERlZmF1bHQpPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntEYS5zaG93KHttZXNzYWdlOiJMb25nIHRvYXN0ICg1IHNlY29uZHMpIix0eXBlOiJpbmZvIixkdXJhdGlvbjo1ZTN9KX19PjUgU2Vjb25kczwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57RGEuc2hvdyh7bWVzc2FnZToiTWFudWFsIGRpc21pc3Mgb25seSAoY2xpY2sgdG8gY2xvc2UpIix0eXBlOiJ3YXJuaW5nIixkdXJhdGlvbjowfSl9fT5ObyBBdXRvLURpc21pc3M8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5NdWx0aXBsZSBUb2FzdHM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIE11bHRpcGxlIHRvYXN0cyBzdGFjayBhdXRvbWF0aWNhbGx5LiBUaGV5IG1haW50YWluIHRoZWlyIG9yZGVyIGFuZCBhbmltYXRlIHNtb290aGx5LgogICAgICAgIDwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e0RhLmluZm8oIkZpcnN0IG5vdGlmaWNhdGlvbiIpLHNldFRpbWVvdXQoKCk9PkRhLnN1Y2Nlc3MoIlNlY29uZCBub3RpZmljYXRpb24iKSwyMDApLHNldFRpbWVvdXQoKCk9PkRhLndhcm5pbmcoIlRoaXJkIG5vdGlmaWNhdGlvbiIpLDQwMCksc2V0VGltZW91dCgoKT0+RGEuZXJyb3IoIkZvdXJ0aCBub3RpZmljYXRpb24iKSw2MDApfX0+U2hvdyBNdWx0aXBsZTwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57Zm9yKGxldCBhPTE7YTw9NTthKyspc2V0VGltZW91dCgoKT0+e0RhLnNob3coe21lc3NhZ2U6YE5vdGlmaWNhdGlvbiAjJHthfWAsdHlwZTphJTI9PT0wPyJzdWNjZXNzIjoiaW5mbyIsZHVyYXRpb246MmUzK2EqNTAwfSl9LGEqMTAwKX19PlJhcGlkIEZpcmU8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5SZWFsLVdvcmxkIEV4YW1wbGVzPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDb21tb24gdXNlIGNhc2VzIGZvciB0b2FzdCBub3RpZmljYXRpb25zIGluIGFwcGxpY2F0aW9ucy4KICAgICAgICA8L3A+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7YXN5bmMoKT0+e2xldCBhPWF3YWl0IERhLnNob3coe21lc3NhZ2U6IlNhdmluZyBjaGFuZ2VzLi4uIix0eXBlOiJpbmZvIixkdXJhdGlvbjowfSk7c2V0VGltZW91dCgoKT0+e2EuZGlzbWlzcygpLERhLnN1Y2Nlc3MoIkNoYW5nZXMgc2F2ZWQgc3VjY2Vzc2Z1bGx5ISIpfSwyZTMpfX0+U2F2ZSBPcGVyYXRpb248L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e0RhLmVycm9yKCJGYWlsZWQgdG8gY29ubmVjdCB0byBzZXJ2ZXIuIFBsZWFzZSBjaGVjayB5b3VyIGludGVybmV0IGNvbm5lY3Rpb24uIil9fT5OZXR3b3JrIEVycm9yPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntEYS53YXJuaW5nKCJZb3VyIHNlc3Npb24gd2lsbCBleHBpcmUgaW4gNSBtaW51dGVzIil9fT5TZXNzaW9uIFdhcm5pbmc8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e0RhLnN1Y2Nlc3MoIkZpbGUgdXBsb2FkZWQgc3VjY2Vzc2Z1bGx5ISIpfX0+VXBsb2FkIENvbXBsZXRlPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+UHJvZ3JhbW1hdGljIENvbnRyb2w8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIEFkdmFuY2VkIGNvbnRyb2wgb3ZlciB0b2FzdCBiZWhhdmlvci4KICAgICAgICA8L3A+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7YXN5bmMoKT0+e2xldCBhPWF3YWl0IERhLnNob3coe21lc3NhZ2U6IlRoaXMgdG9hc3QgY2FuIGJlIGRpc21pc3NlZCBwcm9ncmFtbWF0aWNhbGx5Iix0eXBlOiJpbmZvIixkdXJhdGlvbjowfSk7c2V0VGltZW91dCgoKT0+e2EuZGlzbWlzcygpLERhLnN1Y2Nlc3MoIlRvYXN0IGRpc21pc3NlZCBhZnRlciAyIHNlY29uZHMiKX0sMmUzKX19PlByb2dyYW1tYXRpYyBEaXNtaXNzPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntEYS5pbmZvKCJJbmZvIG1lc3NhZ2UiLDJlMyksc2V0VGltZW91dCgoKT0+RGEuc3VjY2VzcygiU3VjY2VzcyBtZXNzYWdlIiwyZTMpLDUwMCksc2V0VGltZW91dCgoKT0+RGEud2FybmluZygiV2FybmluZyBtZXNzYWdlIiwyZTMpLDFlMyksc2V0VGltZW91dCgoKT0+RGEuZXJyb3IoIkVycm9yIG1lc3NhZ2UiLDJlMyksMTUwMCl9fT5Db252ZW5pZW5jZSBNZXRob2RzPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICBgLCJkZW1vRnVuYyIpfSk7dmFyIGlHLEljLERhLE5RZT1mKCgpPT57bGUoKTtlYSgpO1VpKCk7YTRhKCk7ZnMoKTtRZSgpO2lHPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxJYz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sRGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXRvYXN0IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNUb2FzdCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBrPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6TnVtYmVyfSldLHg9WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLGlHKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVzc2FnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4ibWVzc2FnZSJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLm1lc3NhZ2UsImdldCIpLHNldDpzKChDLE4pPT57Qy5tZXNzYWdlPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbixsKSxpRyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+InR5cGUiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy50eXBlLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MudHlwZT1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGMscCksaUcodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkdXJhdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iZHVyYXRpb24iaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5kdXJhdGlvbiwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmR1cmF0aW9uPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbSx2KSxpRyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzVmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iaXNWaXNpYmxlImluIEMsImhhcyIpLGdldDpzKEM9PkMuaXNWaXNpYmxlLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuaXNWaXNpYmxlPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYixnKSxpRyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTprfSxudWxsLHQpLHk9cj1lLnZhbHVlLGsmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6a30pfXN0YXRpYyBkZW1vPXQ0YTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkZlZWRiYWNrIiwiT3ZlcmxheSJdO3N0YXRpYyB0b2FzdENvbnRhaW5lcnM9bmV3IE1hcDtzdGF0aWMgZ2V0T3JDcmVhdGVDb250YWluZXIoayl7aWYoIXRoaXMudG9hc3RDb250YWluZXJzLmhhcyhrKSl7bGV0IEM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7c3dpdGNoKEMuY2xhc3NOYW1lPWB0b2FzdC1jb250YWluZXIgdG9hc3QtY29udGFpbmVyLSR7a31gLEMuc3R5bGUuY3NzVGV4dD1gCiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHotaW5kZXg6ICR7RHMub3ZlcmxheS50b2FzdH07CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIGAsayl7Y2FzZSJ0b3AtcmlnaHQiOkMuc3R5bGUudG9wPSIwIixDLnN0eWxlLnJpZ2h0PSIwIjticmVhaztjYXNlInRvcC1sZWZ0IjpDLnN0eWxlLnRvcD0iMCIsQy5zdHlsZS5sZWZ0PSIwIjticmVhaztjYXNlImJvdHRvbS1yaWdodCI6Qy5zdHlsZS5ib3R0b209IjAiLEMuc3R5bGUucmlnaHQ9IjAiO2JyZWFrO2Nhc2UiYm90dG9tLWxlZnQiOkMuc3R5bGUuYm90dG9tPSIwIixDLnN0eWxlLmxlZnQ9IjAiO2JyZWFrO2Nhc2UidG9wLWNlbnRlciI6Qy5zdHlsZS50b3A9IjAiLEMuc3R5bGUubGVmdD0iNTAlIixDLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWCgtNTAlKSI7YnJlYWs7Y2FzZSJib3R0b20tY2VudGVyIjpDLnN0eWxlLmJvdHRvbT0iMCIsQy5zdHlsZS5sZWZ0PSI1MCUiLEMuc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGVYKC01MCUpIjticmVha31kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKEMpLHRoaXMudG9hc3RDb250YWluZXJzLnNldChrLEMpfXJldHVybiB0aGlzLnRvYXN0Q29udGFpbmVycy5nZXQoayl9c3RhdGljIGFzeW5jIHNob3coayl7bGV0IEM9dHlwZW9mIGs9PSJzdHJpbmciP3ttZXNzYWdlOmt9OmssTj1uZXcgeTtyZXR1cm4gTi5tZXNzYWdlPUMubWVzc2FnZSxOLnR5cGU9Qy50eXBlfHwiaW5mbyIsTi5kdXJhdGlvbj1DLmR1cmF0aW9ufHwzZTMsdGhpcy5nZXRPckNyZWF0ZUNvbnRhaW5lcihDLnBvc2l0aW9ufHwidG9wLXJpZ2h0IikuYXBwZW5kQ2hpbGQoTiksYXdhaXQgTi51cGRhdGVDb21wbGV0ZSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntOLmlzVmlzaWJsZT0hMH0pLE4uZHVyYXRpb24+MCYmc2V0VGltZW91dCgoKT0+e04uZGlzbWlzcygpfSxOLmR1cmF0aW9uKSxOfXN0YXRpYyBhc3luYyBjcmVhdGVBbmRTaG93KGspe3JldHVybiB0aGlzLnNob3coayl9c3RhdGljIGluZm8oayxDKXtyZXR1cm4gdGhpcy5zaG93KHttZXNzYWdlOmssdHlwZToiaW5mbyIsZHVyYXRpb246Q30pfXN0YXRpYyBzdWNjZXNzKGssQyl7cmV0dXJuIHRoaXMuc2hvdyh7bWVzc2FnZTprLHR5cGU6InN1Y2Nlc3MiLGR1cmF0aW9uOkN9KX1zdGF0aWMgd2FybmluZyhrLEMpe3JldHVybiB0aGlzLnNob3coe21lc3NhZ2U6ayx0eXBlOiJ3YXJuaW5nIixkdXJhdGlvbjpDfSl9c3RhdGljIGVycm9yKGssQyl7cmV0dXJuIHRoaXMuc2hvdyh7bWVzc2FnZTprLHR5cGU6ImVycm9yIixkdXJhdGlvbjpDfSl9I2U9SWModGhpcyxuLCIiKTtnZXQgbWVzc2FnZSgpe3JldHVybiB0aGlzLiNlfXNldCBtZXNzYWdlKGspe3RoaXMuI2U9a30jdD0oSWModGhpcyxsKSxJYyh0aGlzLGMsImluZm8iKSk7Z2V0IHR5cGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgdHlwZShrKXt0aGlzLiN0PWt9I2E9KEljKHRoaXMscCksSWModGhpcyxtLDNlMykpO2dldCBkdXJhdGlvbigpe3JldHVybiB0aGlzLiNhfXNldCBkdXJhdGlvbihrKXt0aGlzLiNhPWt9I3I9KEljKHRoaXMsdiksSWModGhpcyxiLCExKSk7Z2V0IGlzVmlzaWJsZSgpe3JldHVybiB0aGlzLiNyfXNldCBpc1Zpc2libGUoayl7dGhpcy4jcj1rfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSxJYyh0aGlzLGcpLGFyLnNldHVwKCl9c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgIH0KCiAgICAgIDpob3N0KFtpc3Zpc2libGVdKSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgIH0KCiAgICAgIC50b2FzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiAxNnB4IDIwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmIiwiIzIyMiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2UwZTBlMCIsIiMzMzMiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCAke2guYmRUaGVtZSgicmdiYSgwLDAsMCwwLjEpIiwicmdiYSgwLDAsMCwwLjMpIil9OwogICAgICAgIG1pbi13aWR0aDogMzAwcHg7CiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC50b2FzdDpob3ZlciB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTsKICAgICAgfQoKICAgICAgLmljb24gewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5pY29uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAubWVzc2FnZSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzMzMiLCIjZmZmIil9OwogICAgICB9CgogICAgICAuY2xvc2UgewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yczsKICAgICAgfQoKICAgICAgLmNsb3NlOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAuY2xvc2Ugc3ZnIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZmlsbDogY3VycmVudENvbG9yOwogICAgICB9CgogICAgICAvKiBUeXBlLXNwZWNpZmljIHN0eWxlcyAqLwogICAgICA6aG9zdChbdHlwZT0iaW5mbyJdKSAuaWNvbiB7CiAgICAgICAgY29sb3I6ICMwMDg0ZmY7CiAgICAgIH0KCiAgICAgIDpob3N0KFt0eXBlPSJzdWNjZXNzIl0pIC5pY29uIHsKICAgICAgICBjb2xvcjogIzIyYzU1ZTsKICAgICAgfQoKICAgICAgOmhvc3QoW3R5cGU9Indhcm5pbmciXSkgLmljb24gewogICAgICAgIGNvbG9yOiAjZjU5ZTBiOwogICAgICB9CgogICAgICA6aG9zdChbdHlwZT0iZXJyb3IiXSkgLmljb24gewogICAgICAgIGNvbG9yOiAjZWY0NDQ0OwogICAgICB9CgogICAgICAvKiBQcm9ncmVzcyBiYXIgKi8KICAgICAgLnByb2dyZXNzIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgaGVpZ2h0OiAzcHg7CiAgICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yOwogICAgICAgIG9wYWNpdHk6IDAuMjsKICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgOHB4IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtYmFyIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yOwogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0OwogICAgICAgIGFuaW1hdGlvbjogcHJvZ3Jlc3MgbGluZWFyIGZvcndhcmRzOwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHByb2dyZXNzIHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpOwogICAgICAgIH0KICAgICAgICB0byB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCBrPXtpbmZvOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAgMThhOCA4IDAgMTAwLTE2IDggOCAwIDAwMCAxNnptMS0xMWExIDEgMCAxMC0yIDB2Mkg3YTEgMSAwIDEwMCAyaDJ2MmExIDEgMCAxMDIgMHYtMmgyYTEgMSAwIDEwMC0yaC0yVjd6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPC9zdmc+YCxzdWNjZXNzOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAgMThhOCA4IDAgMTAwLTE2IDggOCAwIDAwMCAxNnptMy43MDctOS4yOTNhMSAxIDAgMDAtMS40MTQtMS40MTRMOSAxMC41ODYgNy43MDcgOS4yOTNhMSAxIDAgMDAtMS40MTQgMS40MTRsMiAyYTEgMSAwIDAwMS40MTQgMGw0LTR6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPC9zdmc+YCx3YXJuaW5nOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOC4yNTcgMy4wOTljLjc2NS0xLjM2IDIuNzIyLTEuMzYgMy40ODYgMGw1LjU4IDkuOTJjLjc1IDEuMzM0LS4yMTMgMi45OC0xLjc0MiAyLjk4SDQuNDJjLTEuNTMgMC0yLjQ5My0xLjY0Ni0xLjc0My0yLjk4bDUuNTgtOS45MnpNMTEgMTNhMSAxIDAgMTEtMiAwIDEgMSAwIDAxMiAwem0tMS04YTEgMSAwIDAwLTEgMXYzYTEgMSAwIDAwMiAwVjZhMSAxIDAgMDAtMS0xeiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDwvc3ZnPmAsZXJyb3I6d2A8c3ZnIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxOGE4IDggMCAxMDAtMTYgOCA4IDAgMDAwIDE2ek04LjcwNyA3LjI5M2ExIDEgMCAwMC0xLjQxNCAxLjQxNEw4LjU4NiAxMGwtMS4yOTMgMS4yOTNhMSAxIDAgMTAxLjQxNCAxLjQxNEwxMCAxMS40MTRsMS4yOTMgMS4yOTNhMSAxIDAgMDAxLjQxNC0xLjQxNEwxMS40MTQgMTBsMS4yOTMtMS4yOTNhMSAxIDAgMDAtMS40MTQtMS40MTRMMTAgOC41ODYgOC43MDcgNy4yOTN6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPC9zdmc+YH07cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InRvYXN0IiBAY2xpY2s9JHt0aGlzLmRpc21pc3N9PgogICAgICAgIDxkaXYgY2xhc3M9Imljb24iPgogICAgICAgICAgJHtrW3RoaXMudHlwZV19CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVzc2FnZSI+JHt0aGlzLm1lc3NhZ2V9PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY2xvc2UiPgogICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik00LjY0NiA0LjY0NmEuNS41IDAgMCAxIC43MDggMEw4IDcuMjkzbDIuNjQ2LTIuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhMOC43MDcgOGwyLjY0NyAyLjY0NmEuNS41IDAgMCAxLS43MDguNzA4TDggOC43MDdsLTIuNjQ2IDIuNjQ3YS41LjUgMCAwIDEtLjcwOC0uNzA4TDcuMjkzIDggNC42NDYgNS4zNTRhLjUuNSAwIDAgMSAwLS43MDh6Ii8+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuZHVyYXRpb24+MD93YAogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiIHN0eWxlPSJhbmltYXRpb24tZHVyYXRpb246ICR7dGhpcy5kdXJhdGlvbn1tcyI+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZGlzbWlzcygpe3RoaXMuaXNWaXNpYmxlPSExLGF3YWl0IG5ldyBQcm9taXNlKEM9PnNldFRpbWVvdXQoQywzMDApKSx0aGlzLnJlbW92ZSgpO2xldCBrPXRoaXMucGFyZW50RWxlbWVudDtpZihrJiZrLmNoaWxkcmVuLmxlbmd0aD09PTApe2sucmVtb3ZlKCk7Zm9yKGxldFtDLE5db2YgeS50b2FzdENvbnRhaW5lcnMuZW50cmllcygpKWlmKE49PT1rKXt5LnRvYXN0Q29udGFpbmVycy5kZWxldGUoQyk7YnJlYWt9fX1maXJzdFVwZGF0ZWQoKXt0aGlzLnNldEF0dHJpYnV0ZSgidHlwZSIsdGhpcy50eXBlKX1zdGF0aWN7SWMocix0KX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIHI0YT1mKCgpPT57TlFlKCl9KTt2YXIgczRhPWYoKCk9PntOMGEoKTtIMGEoKTtHMGEoKTtYMGEoKTtlNGEoKTtyNGEoKX0pO3ZhciBpNGE9ZigoKT0+e3BtKCl9KTt2YXIgbzRhPWYoKCk9PntJZigpfSk7dmFyIG40YT1mKCgpPT57aTRhKCk7bzRhKCl9KTt2YXIgbDRhPWYoKCk9PntTcigpfSk7dmFyIGM0YT1mKCgpPT57T1llKCl9KTt2YXIgZDRhPWYoKCk9PntaWWUoKX0pO3ZhciB1NGE9ZigoKT0+e3NLZSgpfSk7dmFyIHA0YT1mKCgpPT57WFllKCl9KTt2YXIgZjRhPWYoKCk9PntRWWUoKX0pO3ZhciBoNGE9ZigoKT0+e1ZZZSgpfSk7dmFyIG00YT1mKCgpPT57dWFlKCl9KTt2YXIgZzRhPWYoKCk9PntWc2UoKX0pO3ZhciBiNGE9ZigoKT0+e30pO3ZhciB2NGE9ZigoKT0+e2I0YSgpfSk7dmFyIHg0YT1mKCgpPT57ZUtlKCl9KTt2YXIgeTRhPWYoKCk9PnthS2UoKX0pO3ZhciB3NGE9ZigoKT0+e3FzZSgpO2lRZSgpfSk7dmFyIFFzZSxNNGE9ZigoKT0+e1FzZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJJbWFnZUNyb3BwZXIiKX1vcHRpb25zO2NhbnZhcztjdHg7aW1nO292ZXJsYXlDYW52YXM7b3ZlcmxheUN0eDtjcm9wWD0wO2Nyb3BZPTA7Y3JvcFNpemU9MjAwO21pbkNyb3BTaXplPTUwO2lzRHJhZ2dpbmc9ITE7aXNSZXNpemluZz0hMTtkcmFnU3RhcnRYPTA7ZHJhZ1N0YXJ0WT0wO3Jlc2l6ZUhhbmRsZT0iIjtpbWFnZVNjYWxlPTE7aW1hZ2VPZmZzZXRYPTA7aW1hZ2VPZmZzZXRZPTA7Y29uc3RydWN0b3IoZSl7dGhpcy5vcHRpb25zPXttaW5TaXplOjUwLG91dHB1dFNpemU6ODAwLG91dHB1dFF1YWxpdHk6Ljk1LC4uLmV9LHRoaXMuY2FudmFzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLHRoaXMuY3R4PXRoaXMuY2FudmFzLmdldENvbnRleHQoIjJkIiksdGhpcy5vdmVybGF5Q2FudmFzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLHRoaXMub3ZlcmxheUN0eD10aGlzLm92ZXJsYXlDYW52YXMuZ2V0Q29udGV4dCgiMmQiKSx0aGlzLmltZz1uZXcgSW1hZ2V9YXN5bmMgaW5pdGlhbGl6ZSgpe2F3YWl0IHRoaXMubG9hZEltYWdlKCksdGhpcy5zZXR1cENhbnZhc2VzKCksdGhpcy5zZXR1cEV2ZW50TGlzdGVuZXJzKCksdGhpcy5yZW5kZXIoKX1hc3luYyBsb2FkSW1hZ2UoKXtyZXR1cm4gbmV3IFByb21pc2UoKGUsdCk9Pnt0aGlzLmltZy5vbmxvYWQ9KCk9PmUoKSx0aGlzLmltZy5vbmVycm9yPXQsdGhpcy5pbWcuc3JjPXRoaXMub3B0aW9ucy5pbWFnZX0pfXNldHVwQ2FudmFzZXMoKXtsZXQgZT10aGlzLm9wdGlvbnMuY29udGFpbmVyLHQ9TWF0aC5taW4oZS5jbGllbnRXaWR0aCxlLmNsaWVudEhlaWdodCk7dGhpcy5jYW52YXMud2lkdGg9dCx0aGlzLmNhbnZhcy5oZWlnaHQ9dCx0aGlzLmNhbnZhcy5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5jYW52YXMuc3R5bGUuaGVpZ2h0PSIxMDAlIix0aGlzLmNhbnZhcy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHRoaXMuY2FudmFzLnN0eWxlLnRvcD0iMCIsdGhpcy5jYW52YXMuc3R5bGUubGVmdD0iMCIsdGhpcy5vdmVybGF5Q2FudmFzLndpZHRoPXQsdGhpcy5vdmVybGF5Q2FudmFzLmhlaWdodD10LHRoaXMub3ZlcmxheUNhbnZhcy5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5vdmVybGF5Q2FudmFzLnN0eWxlLmhlaWdodD0iMTAwJSIsdGhpcy5vdmVybGF5Q2FudmFzLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdGhpcy5vdmVybGF5Q2FudmFzLnN0eWxlLnRvcD0iMCIsdGhpcy5vdmVybGF5Q2FudmFzLnN0eWxlLmxlZnQ9IjAiLHRoaXMub3ZlcmxheUNhbnZhcy5zdHlsZS5jdXJzb3I9Im1vdmUiLGUuYXBwZW5kQ2hpbGQodGhpcy5jYW52YXMpLGUuYXBwZW5kQ2hpbGQodGhpcy5vdmVybGF5Q2FudmFzKTtsZXQgcj1NYXRoLm1pbih0L3RoaXMuaW1nLndpZHRoLHQvdGhpcy5pbWcuaGVpZ2h0KTt0aGlzLmltYWdlU2NhbGU9cix0aGlzLmltYWdlT2Zmc2V0WD0odC10aGlzLmltZy53aWR0aCpyKS8yLHRoaXMuaW1hZ2VPZmZzZXRZPSh0LXRoaXMuaW1nLmhlaWdodCpyKS8yO2xldCBpPXRoaXMuaW1nLndpZHRoKnIsbz10aGlzLmltZy5oZWlnaHQqcixuPU1hdGgubWluKGksbyx0Ki44KTt0aGlzLmNyb3BTaXplPW4qLjgsdGhpcy5jcm9wWD0odC10aGlzLmNyb3BTaXplKS8yLHRoaXMuY3JvcFk9KHQtdGhpcy5jcm9wU2l6ZSkvMn1zZXR1cEV2ZW50TGlzdGVuZXJzKCl7dGhpcy5vdmVybGF5Q2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5oYW5kbGVNb3VzZURvd24uYmluZCh0aGlzKSksdGhpcy5vdmVybGF5Q2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVNb3VzZU1vdmUuYmluZCh0aGlzKSksdGhpcy5vdmVybGF5Q2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlTW91c2VVcC5iaW5kKHRoaXMpKSx0aGlzLm92ZXJsYXlDYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5oYW5kbGVNb3VzZVVwLmJpbmQodGhpcykpLHRoaXMub3ZlcmxheUNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLmhhbmRsZVRvdWNoU3RhcnQuYmluZCh0aGlzKSksdGhpcy5vdmVybGF5Q2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5oYW5kbGVUb3VjaE1vdmUuYmluZCh0aGlzKSksdGhpcy5vdmVybGF5Q2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLmhhbmRsZVRvdWNoRW5kLmJpbmQodGhpcykpfWhhbmRsZU1vdXNlRG93bihlKXtsZXQgdD10aGlzLm92ZXJsYXlDYW52YXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscj0oZS5jbGllbnRYLXQubGVmdCkqKHRoaXMub3ZlcmxheUNhbnZhcy53aWR0aC90LndpZHRoKSxpPShlLmNsaWVudFktdC50b3ApKih0aGlzLm92ZXJsYXlDYW52YXMuaGVpZ2h0L3QuaGVpZ2h0KSxvPXRoaXMuZ2V0UmVzaXplSGFuZGxlKHIsaSk7bz8odGhpcy5pc1Jlc2l6aW5nPSEwLHRoaXMucmVzaXplSGFuZGxlPW8pOnRoaXMuaXNJbnNpZGVDcm9wQXJlYShyLGkpJiYodGhpcy5pc0RyYWdnaW5nPSEwKSx0aGlzLmRyYWdTdGFydFg9cix0aGlzLmRyYWdTdGFydFk9aX1oYW5kbGVNb3VzZU1vdmUoZSl7bGV0IHQ9dGhpcy5vdmVybGF5Q2FudmFzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHI9KGUuY2xpZW50WC10LmxlZnQpKih0aGlzLm92ZXJsYXlDYW52YXMud2lkdGgvdC53aWR0aCksaT0oZS5jbGllbnRZLXQudG9wKSoodGhpcy5vdmVybGF5Q2FudmFzLmhlaWdodC90LmhlaWdodCksbz10aGlzLmdldFJlc2l6ZUhhbmRsZShyLGkpO2lmKG8/dGhpcy5vdmVybGF5Q2FudmFzLnN0eWxlLmN1cnNvcj10aGlzLmdldFJlc2l6ZUN1cnNvcihvKTp0aGlzLmlzSW5zaWRlQ3JvcEFyZWEocixpKT90aGlzLm92ZXJsYXlDYW52YXMuc3R5bGUuY3Vyc29yPSJtb3ZlIjp0aGlzLm92ZXJsYXlDYW52YXMuc3R5bGUuY3Vyc29yPSJkZWZhdWx0Iix0aGlzLmlzRHJhZ2dpbmcpe2xldCBuPXItdGhpcy5kcmFnU3RhcnRYLGw9aS10aGlzLmRyYWdTdGFydFksZD10aGlzLmltYWdlT2Zmc2V0WCxjPXRoaXMuaW1hZ2VPZmZzZXRYK3RoaXMuaW1nLndpZHRoKnRoaXMuaW1hZ2VTY2FsZS10aGlzLmNyb3BTaXplLHA9dGhpcy5pbWFnZU9mZnNldFksdT10aGlzLmltYWdlT2Zmc2V0WSt0aGlzLmltZy5oZWlnaHQqdGhpcy5pbWFnZVNjYWxlLXRoaXMuY3JvcFNpemU7dGhpcy5jcm9wWD1NYXRoLm1heChkLE1hdGgubWluKGMsdGhpcy5jcm9wWCtuKSksdGhpcy5jcm9wWT1NYXRoLm1heChwLE1hdGgubWluKHUsdGhpcy5jcm9wWStsKSksdGhpcy5kcmFnU3RhcnRYPXIsdGhpcy5kcmFnU3RhcnRZPWksdGhpcy5yZW5kZXIoKX10aGlzLmlzUmVzaXppbmcmJih0aGlzLmhhbmRsZVJlc2l6ZShyLGkpLHRoaXMuZHJhZ1N0YXJ0WD1yLHRoaXMuZHJhZ1N0YXJ0WT1pLHRoaXMucmVuZGVyKCkpfWhhbmRsZU1vdXNlVXAoKXt0aGlzLmlzRHJhZ2dpbmc9ITEsdGhpcy5pc1Jlc2l6aW5nPSExLHRoaXMucmVzaXplSGFuZGxlPSIifWhhbmRsZVRvdWNoU3RhcnQoZSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCB0PWUudG91Y2hlc1swXSxyPW5ldyBNb3VzZUV2ZW50KCJtb3VzZWRvd24iLHtjbGllbnRYOnQuY2xpZW50WCxjbGllbnRZOnQuY2xpZW50WX0pO3RoaXMuaGFuZGxlTW91c2VEb3duKHIpfWhhbmRsZVRvdWNoTW92ZShlKXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IHQ9ZS50b3VjaGVzWzBdLHI9bmV3IE1vdXNlRXZlbnQoIm1vdXNlbW92ZSIse2NsaWVudFg6dC5jbGllbnRYLGNsaWVudFk6dC5jbGllbnRZfSk7dGhpcy5oYW5kbGVNb3VzZU1vdmUocil9aGFuZGxlVG91Y2hFbmQoZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaGFuZGxlTW91c2VVcCgpfWdldFJlc2l6ZUhhbmRsZShlLHQpe2xldCBpPXtudzp7eDp0aGlzLmNyb3BYLHk6dGhpcy5jcm9wWX0sbmU6e3g6dGhpcy5jcm9wWCt0aGlzLmNyb3BTaXplLHk6dGhpcy5jcm9wWX0sc3c6e3g6dGhpcy5jcm9wWCx5OnRoaXMuY3JvcFkrdGhpcy5jcm9wU2l6ZX0sc2U6e3g6dGhpcy5jcm9wWCt0aGlzLmNyb3BTaXplLHk6dGhpcy5jcm9wWSt0aGlzLmNyb3BTaXplfX07Zm9yKGxldFtvLG5db2YgT2JqZWN0LmVudHJpZXMoaSkpaWYoTWF0aC5hYnMoZS1uLngpPDIwJiZNYXRoLmFicyh0LW4ueSk8MjApcmV0dXJuIG87cmV0dXJuIiJ9Z2V0UmVzaXplQ3Vyc29yKGUpe3JldHVybntudzoibnctcmVzaXplIixuZToibmUtcmVzaXplIixzdzoic3ctcmVzaXplIixzZToic2UtcmVzaXplIn1bZV18fCJkZWZhdWx0In1pc0luc2lkZUNyb3BBcmVhKGUsdCl7cmV0dXJuIGU+PXRoaXMuY3JvcFgmJmU8PXRoaXMuY3JvcFgrdGhpcy5jcm9wU2l6ZSYmdD49dGhpcy5jcm9wWSYmdDw9dGhpcy5jcm9wWSt0aGlzLmNyb3BTaXplfWhhbmRsZVJlc2l6ZShlLHQpe2xldCByPWUtdGhpcy5kcmFnU3RhcnRYLGk9dC10aGlzLmRyYWdTdGFydFksbz10aGlzLmltYWdlT2Zmc2V0WCxuPXRoaXMuaW1hZ2VPZmZzZXRZLGw9dGhpcy5pbWFnZU9mZnNldFgrdGhpcy5pbWcud2lkdGgqdGhpcy5pbWFnZVNjYWxlLGQ9dGhpcy5pbWFnZU9mZnNldFkrdGhpcy5pbWcuaGVpZ2h0KnRoaXMuaW1hZ2VTY2FsZTtzd2l0Y2godGhpcy5yZXNpemVIYW5kbGUpe2Nhc2Uic2UiOnRoaXMuY3JvcFNpemU9TWF0aC5tYXgodGhpcy5taW5Dcm9wU2l6ZSxNYXRoLm1pbih0aGlzLmNyb3BTaXplK01hdGgubWF4KHIsaSksTWF0aC5taW4obC10aGlzLmNyb3BYLGQtdGhpcy5jcm9wWSkpKTticmVhaztjYXNlIm53IjpsZXQgYz1NYXRoLm1heCh0aGlzLm1pbkNyb3BTaXplLHRoaXMuY3JvcFNpemUtTWF0aC5tYXgocixpKSkscD10aGlzLmNyb3BTaXplLWMsdT10aGlzLmNyb3BYK3AsbT10aGlzLmNyb3BZK3A7dT49byYmbT49biYmKHRoaXMuY3JvcFg9dSx0aGlzLmNyb3BZPW0sdGhpcy5jcm9wU2l6ZT1jKTticmVhaztjYXNlIm5lIjpsZXQgdj1NYXRoLm1heChyLC1pKSx4PU1hdGgubWF4KHRoaXMubWluQ3JvcFNpemUsdGhpcy5jcm9wU2l6ZSt2KSxiPXgtdGhpcy5jcm9wU2l6ZSxnPXRoaXMuY3JvcFktYjtnPj1uJiZ0aGlzLmNyb3BYK3g8PWwmJih0aGlzLmNyb3BZPWcsdGhpcy5jcm9wU2l6ZT14KTticmVhaztjYXNlInN3IjpsZXQgeT1NYXRoLm1heCgtcixpKSxrPU1hdGgubWF4KHRoaXMubWluQ3JvcFNpemUsdGhpcy5jcm9wU2l6ZSt5KSxDPWstdGhpcy5jcm9wU2l6ZSxOPXRoaXMuY3JvcFgtQztOPj1vJiZ0aGlzLmNyb3BZK2s8PWQmJih0aGlzLmNyb3BYPU4sdGhpcy5jcm9wU2l6ZT1rKTticmVha319cmVuZGVyKCl7dGhpcy5jdHguY2xlYXJSZWN0KDAsMCx0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHQpLHRoaXMub3ZlcmxheUN0eC5jbGVhclJlY3QoMCwwLHRoaXMub3ZlcmxheUNhbnZhcy53aWR0aCx0aGlzLm92ZXJsYXlDYW52YXMuaGVpZ2h0KSx0aGlzLmN0eC5maWxsU3R5bGU9IiMwMDAwMDAiLHRoaXMuY3R4LmZpbGxSZWN0KDAsMCx0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHQpLHRoaXMuY3R4LmRyYXdJbWFnZSh0aGlzLmltZyx0aGlzLmltYWdlT2Zmc2V0WCx0aGlzLmltYWdlT2Zmc2V0WSx0aGlzLmltZy53aWR0aCp0aGlzLmltYWdlU2NhbGUsdGhpcy5pbWcuaGVpZ2h0KnRoaXMuaW1hZ2VTY2FsZSksdGhpcy5vdmVybGF5Q3R4LmZpbGxTdHlsZT0icmdiYSgwLCAwLCAwLCAwLjUpIix0aGlzLm92ZXJsYXlDdHguZmlsbFJlY3QodGhpcy5pbWFnZU9mZnNldFgsdGhpcy5pbWFnZU9mZnNldFksdGhpcy5pbWcud2lkdGgqdGhpcy5pbWFnZVNjYWxlLHRoaXMuaW1nLmhlaWdodCp0aGlzLmltYWdlU2NhbGUpLHRoaXMub3ZlcmxheUN0eC5zYXZlKCksdGhpcy5vcHRpb25zLnNoYXBlPT09InJvdW5kIj8odGhpcy5vdmVybGF5Q3R4LmJlZ2luUGF0aCgpLHRoaXMub3ZlcmxheUN0eC5hcmModGhpcy5jcm9wWCt0aGlzLmNyb3BTaXplLzIsdGhpcy5jcm9wWSt0aGlzLmNyb3BTaXplLzIsdGhpcy5jcm9wU2l6ZS8yLDAsTWF0aC5QSSoyKSx0aGlzLm92ZXJsYXlDdHguY2xpcCgpKToodGhpcy5vdmVybGF5Q3R4LmJlZ2luUGF0aCgpLHRoaXMub3ZlcmxheUN0eC5yZWN0KHRoaXMuY3JvcFgsdGhpcy5jcm9wWSx0aGlzLmNyb3BTaXplLHRoaXMuY3JvcFNpemUpLHRoaXMub3ZlcmxheUN0eC5jbGlwKCkpLHRoaXMub3ZlcmxheUN0eC5jbGVhclJlY3QoMCwwLHRoaXMub3ZlcmxheUNhbnZhcy53aWR0aCx0aGlzLm92ZXJsYXlDYW52YXMuaGVpZ2h0KSx0aGlzLm92ZXJsYXlDdHgucmVzdG9yZSgpLHRoaXMub3ZlcmxheUN0eC5zdHJva2VTdHlsZT0id2hpdGUiLHRoaXMub3ZlcmxheUN0eC5saW5lV2lkdGg9Mix0aGlzLm9wdGlvbnMuc2hhcGU9PT0icm91bmQiPyh0aGlzLm92ZXJsYXlDdHguYmVnaW5QYXRoKCksdGhpcy5vdmVybGF5Q3R4LmFyYyh0aGlzLmNyb3BYK3RoaXMuY3JvcFNpemUvMix0aGlzLmNyb3BZK3RoaXMuY3JvcFNpemUvMix0aGlzLmNyb3BTaXplLzIsMCxNYXRoLlBJKjIpLHRoaXMub3ZlcmxheUN0eC5zdHJva2UoKSk6dGhpcy5vdmVybGF5Q3R4LnN0cm9rZVJlY3QodGhpcy5jcm9wWCx0aGlzLmNyb3BZLHRoaXMuY3JvcFNpemUsdGhpcy5jcm9wU2l6ZSksdGhpcy5kcmF3UmVzaXplSGFuZGxlcygpfWRyYXdSZXNpemVIYW5kbGVzKCl7bGV0IHQ9W3t4OnRoaXMuY3JvcFgseTp0aGlzLmNyb3BZfSx7eDp0aGlzLmNyb3BYK3RoaXMuY3JvcFNpemUseTp0aGlzLmNyb3BZfSx7eDp0aGlzLmNyb3BYLHk6dGhpcy5jcm9wWSt0aGlzLmNyb3BTaXplfSx7eDp0aGlzLmNyb3BYK3RoaXMuY3JvcFNpemUseTp0aGlzLmNyb3BZK3RoaXMuY3JvcFNpemV9XTt0aGlzLm92ZXJsYXlDdHguZmlsbFN0eWxlPSJ3aGl0ZSIsdC5mb3JFYWNoKHI9Pnt0aGlzLm92ZXJsYXlDdHguYmVnaW5QYXRoKCksdGhpcy5vdmVybGF5Q3R4LmFyYyhyLngsci55LDgsMCxNYXRoLlBJKjIpLHRoaXMub3ZlcmxheUN0eC5maWxsKCl9KX1hc3luYyBnZXRDcm9wcGVkSW1hZ2UoKXtsZXQgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSx0PWUuZ2V0Q29udGV4dCgiMmQiKSxyPTEvdGhpcy5pbWFnZVNjYWxlLGk9dGhpcy5jcm9wU2l6ZSpyLG89dGhpcy5vcHRpb25zLm91dHB1dFNpemU7bz5pJiZjb25zb2xlLmluZm8oYFByb2ZpbGUgcGljdHVyZTogVXBzY2FsaW5nIGZyb20gJHtNYXRoLnJvdW5kKGkpfXB4IHRvICR7b31weGApLGUud2lkdGg9byxlLmhlaWdodD1vO2xldCBuPSh0aGlzLmNyb3BYLXRoaXMuaW1hZ2VPZmZzZXRYKSpyLGw9KHRoaXMuY3JvcFktdGhpcy5pbWFnZU9mZnNldFkpKnIsZD10aGlzLmNyb3BTaXplKnI7dGhpcy5vcHRpb25zLnNoYXBlPT09InJvdW5kIiYmKHQuYmVnaW5QYXRoKCksdC5hcmMoby8yLG8vMixvLzIsMCxNYXRoLlBJKjIpLHQuY2xpcCgpKSx0LmltYWdlU21vb3RoaW5nRW5hYmxlZD0hMCx0LmltYWdlU21vb3RoaW5nUXVhbGl0eT0iaGlnaCIsdC5kcmF3SW1hZ2UodGhpcy5pbWcsbixsLGQsZCwwLDAsbyxvKTtsZXQgcD10aGlzLm9wdGlvbnMuaW1hZ2UuaW5jbHVkZXMoImltYWdlL3BuZyIpPyJpbWFnZS9wbmciOiJpbWFnZS9qcGVnIjtyZXR1cm4gZS50b0RhdGFVUkwocCx0aGlzLm9wdGlvbnMub3V0cHV0UXVhbGl0eSl9ZGVzdHJveSgpe3RoaXMuY2FudmFzLnJlbW92ZSgpLHRoaXMub3ZlcmxheUNhbnZhcy5yZW1vdmUoKX19fSk7dmFyIEY0LGFvLFJRZSxrNGE9ZigoKT0+e2xlKCk7TDEoKTtmcygpO1VpKCk7dmEoKTskZigpO00xKCk7TTEoKTtNNGEoKTtRZSgpO0Y0PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxhbz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sUlFlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1wcm9maWxlcGljdHVyZS1tb2RhbCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdO3ZhciBCPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJQcm9maWxlUGljdHVyZU1vZGFsIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IE09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpOdW1iZXJ9KV0seD1bJCh7dHlwZTpOdW1iZXJ9KV0seT1bSygpXSxOPVtLKCldLE89W0soKV0sRjQodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbml0aWFsSW1hZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImluaXRpYWxJbWFnZSJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmluaXRpYWxJbWFnZSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmluaXRpYWxJbWFnZT1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG4sbCksRjQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaGFwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ic2hhcGUiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5zaGFwZSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnNoYXBlPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYyxwKSxGNCh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im91dHB1dFNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+Im91dHB1dFNpemUiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5vdXRwdXRTaXplLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1Mub3V0cHV0U2l6ZT1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG0sdiksRjQodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvdXRwdXRRdWFsaXR5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJvdXRwdXRRdWFsaXR5ImluIFMsImhhcyIpLGdldDpzKFM9PlMub3V0cHV0UXVhbGl0eSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLm91dHB1dFF1YWxpdHk9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLEY0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFN0ZXAiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImN1cnJlbnRTdGVwImluIFMsImhhcyIpLGdldDpzKFM9PlMuY3VycmVudFN0ZXAsImdldCIpLHNldDpzKChTLFApPT57Uy5jdXJyZW50U3RlcD1QfSwic2V0Iil9LG1ldGFkYXRhOk19LGssQyksRjQodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjcm9wcGVkSW1hZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImNyb3BwZWRJbWFnZSJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmNyb3BwZWRJbWFnZSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmNyb3BwZWRJbWFnZT1QfSwic2V0Iil9LG1ldGFkYXRhOk19LF8seiksRjQodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc1Byb2Nlc3NpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImlzUHJvY2Vzc2luZyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmlzUHJvY2Vzc2luZywiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmlzUHJvY2Vzc2luZz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LFQsRSksRjQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCx0KSxCPXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX0jZT1hbyh0aGlzLG4sIiIpO2dldCBpbml0aWFsSW1hZ2UoKXtyZXR1cm4gdGhpcy4jZX1zZXQgaW5pdGlhbEltYWdlKE0pe3RoaXMuI2U9TX0jdD0oYW8odGhpcyxsKSxhbyh0aGlzLGMsInJvdW5kIikpO2dldCBzaGFwZSgpe3JldHVybiB0aGlzLiN0fXNldCBzaGFwZShNKXt0aGlzLiN0PU19I2E9KGFvKHRoaXMscCksYW8odGhpcyxtLDgwMCkpO2dldCBvdXRwdXRTaXplKCl7cmV0dXJuIHRoaXMuI2F9c2V0IG91dHB1dFNpemUoTSl7dGhpcy4jYT1NfSNyPShhbyh0aGlzLHYpLGFvKHRoaXMsYiwuOTUpKTtnZXQgb3V0cHV0UXVhbGl0eSgpe3JldHVybiB0aGlzLiNyfXNldCBvdXRwdXRRdWFsaXR5KE0pe3RoaXMuI3I9TX0jcz0oYW8odGhpcyxnKSxhbyh0aGlzLGssImNyb3AiKSk7Z2V0IGN1cnJlbnRTdGVwKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGN1cnJlbnRTdGVwKE0pe3RoaXMuI3M9TX0jaT0oYW8odGhpcyxDKSxhbyh0aGlzLF8sIiIpKTtnZXQgY3JvcHBlZEltYWdlKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGNyb3BwZWRJbWFnZShNKXt0aGlzLiNpPU19I289KGFvKHRoaXMseiksYW8odGhpcyxULCExKSk7Z2V0IGlzUHJvY2Vzc2luZygpe3JldHVybiB0aGlzLiNvfXNldCBpc1Byb2Nlc3NpbmcoTSl7dGhpcy4jbz1NfWNyb3BwZXI9KGFvKHRoaXMsRSksbnVsbCk7d2luZG93TGF5ZXI7ekluZGV4PTA7c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzMzIiwiI2ZmZiIpfTsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4KTsKICAgICAgfQoKICAgICAgLm1vZGFsLWNvbnRhaW5lciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMGEwYTBhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wOCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgICAgIGJveC1zaGFkb3c6ICR7aC5iZFRoZW1lKCIwIDIwcHggMjVweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAxMHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMDQpIiwiMCAyMHB4IDI1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMyksIDAgMTBweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIHdpZHRoOiA0ODBweDsKICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAzMnB4KTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCkgc2NhbGUoMC45OCk7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBhbmltYXRpb246IG1vZGFsU2hvdyAwLjI1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIGZvcndhcmRzOwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIG1vZGFsU2hvdyB7CiAgICAgICAgdG8gewogICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDEpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLm1vZGFsLWhlYWRlciB7CiAgICAgICAgaGVpZ2h0OiA1MnB4OwogICAgICAgIHBhZGRpbmc6IDAgMjBweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNikiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5tb2RhbC10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLmNsb3NlLWJ1dHRvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAxMHB4OwogICAgICAgIHRvcDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5jbG9zZS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDUpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuY2xvc2UtYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wOCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgICB9CgogICAgICAubW9kYWwtYm9keSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAyMHB4OwogICAgICB9CgogICAgICAuY3JvcHBlci1jb250YWluZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG1heC13aWR0aDogMzYwcHg7CiAgICAgICAgYXNwZWN0LXJhdGlvOiAxOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzAwMDAwMCIsIiMwMDAwMDAiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJveC1zaGFkb3c6ICR7aC5iZFRoZW1lKCJpbnNldCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA2KSIsImluc2V0IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAyMHB4OwogICAgICB9CgogICAgICAucHJldmlldy1pbWFnZSB7CiAgICAgICAgd2lkdGg6IDE4MHB4OwogICAgICAgIGhlaWdodDogMTgwcHg7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTgxODFiIil9OwogICAgICAgIGJveC1zaGFkb3c6ICR7aC5iZFRoZW1lKCIwIDEwcHggMTVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCA0cHggNnB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjA1KSIsIjAgMTBweCAxNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjMpLCAwIDRweCA2cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWltYWdlLnJvdW5kIHsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWltYWdlLnNxdWFyZSB7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDsKICAgICAgfQoKICAgICAgLnN1Y2Nlc3MtbWVzc2FnZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxMGI5ODEiLCIjMTBiOTgxIil9OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBhbmltYXRpb246IHN1Y2Nlc3NQdWxzZSAwLjRzIGVhc2Utb3V0OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHN1Y2Nlc3NQdWxzZSB7CiAgICAgICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7IG9wYWNpdHk6IDA7IH0KICAgICAgICA1MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpOyB9CiAgICAgICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IG9wYWNpdHk6IDE7IH0KICAgICAgfQoKICAgICAgLm1vZGFsLWZvb3RlciB7CiAgICAgICAgcGFkZGluZzogMjBweCAyNHB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA2KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNikiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgfQoKICAgICAgLmluc3RydWN0aW9ucyB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgbWF4LXdpZHRoOiAzMjBweDsKICAgICAgfQoKICAgICAgLmxvYWRpbmctc3Bpbm5lciB7CiAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBhbmltYXRpb246IHNwaW4gMC42cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgdG8gewogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgIC5tb2RhbC1jb250YWluZXIgewogICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAzMnB4KTsKICAgICAgICAgIG1hcmdpbjogMTZweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLm1vZGFsLWJvZHkgewogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO2FzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLndpbmRvd0xheWVyPWF3YWl0IGpzLmNyZWF0ZUFuZFNob3coe2JsdXI6ITB9KSx0aGlzLndpbmRvd0xheWVyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+dGhpcy5jbG9zZSgpKSx0aGlzLnpJbmRleD1adC5nZXROZXh0WkluZGV4KCksdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgiLS16LWluZGV4Iix0aGlzLnpJbmRleC50b1N0cmluZygpKSxadC5yZWdpc3Rlcih0aGlzLHRoaXMuekluZGV4KX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5jcm9wcGVyJiZ0aGlzLmNyb3BwZXIuZGVzdHJveSgpLHRoaXMud2luZG93TGF5ZXImJmF3YWl0IHRoaXMud2luZG93TGF5ZXIuZGVzdHJveSgpLFp0LnVucmVnaXN0ZXIodGhpcyl9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWNvbnRhaW5lciIgQGNsaWNrPSR7TT0+TS5zdG9wUHJvcGFnYXRpb24oKX0+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj4KICAgICAgICAgIDxoMyBjbGFzcz0ibW9kYWwtdGl0bGUiPgogICAgICAgICAgICAke3RoaXMuY3VycmVudFN0ZXA9PT0iY3JvcCI/IkFkanVzdCBJbWFnZSI6IlN1Y2Nlc3MifQogICAgICAgICAgPC9oMz4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImNsb3NlLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy5jbG9zZX0gdGl0bGU9IkNsb3NlIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6eCIgaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPgogICAgICAgICAgJHt0aGlzLmN1cnJlbnRTdGVwPT09ImNyb3AiP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Imluc3RydWN0aW9ucyI+CiAgICAgICAgICAgICAgUG9zaXRpb24gYW5kIHJlc2l6ZSB0aGUgc3F1YXJlIHRvIHNlbGVjdCB5b3VyIHByb2ZpbGUgYXJlYQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3JvcHBlci1jb250YWluZXIiIGlkPSJjcm9wcGVyQ29udGFpbmVyIj48L2Rpdj4KICAgICAgICAgIGA6d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1jb250YWluZXIiPgogICAgICAgICAgICAgICR7dGhpcy5pc1Byb2Nlc3Npbmc/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnN0cnVjdGlvbnMiPlNhdmluZy4uLjwvZGl2PgogICAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICAgIDxpbWcgCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcmV2aWV3LWltYWdlICR7dGhpcy5zaGFwZX0iIAogICAgICAgICAgICAgICAgICBzcmM9IiR7dGhpcy5jcm9wcGVkSW1hZ2V9IiAKICAgICAgICAgICAgICAgICAgYWx0PSJDcm9wcGVkIHByZXZpZXciCiAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VjY2Vzcy1tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6Y2hlY2siIGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgIDxzcGFuPkxvb2tpbmcgZ29vZCE8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGB9CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtZm9vdGVyIj4KICAgICAgICAgICR7dGhpcy5jdXJyZW50U3RlcD09PSJjcm9wIj93YAogICAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGVzdHJ1Y3RpdmUiIHNpemU9InNtIiBAY2xpY2s9JHt0aGlzLmNsb3NlfT4KICAgICAgICAgICAgICBDYW5jZWwKICAgICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRlZmF1bHQiIHNpemU9InNtIiBAY2xpY2s9JHt0aGlzLmhhbmRsZUNyb3B9PgogICAgICAgICAgICAgIFNhdmUKICAgICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXt0aGlzLmN1cnJlbnRTdGVwPT09ImNyb3AiJiZhd2FpdCB0aGlzLmluaXRpYWxpemVDcm9wcGVyKCl9YXN5bmMgaW5pdGlhbGl6ZUNyb3BwZXIoKXthd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlO2xldCBNPXRoaXMuc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgiY3JvcHBlckNvbnRhaW5lciIpO00mJih0aGlzLmNyb3BwZXI9bmV3IFFzZSh7Y29udGFpbmVyOk0saW1hZ2U6dGhpcy5pbml0aWFsSW1hZ2Usc2hhcGU6dGhpcy5zaGFwZSxhc3BlY3RSYXRpbzoxLG91dHB1dFNpemU6dGhpcy5vdXRwdXRTaXplLG91dHB1dFF1YWxpdHk6dGhpcy5vdXRwdXRRdWFsaXR5fSksYXdhaXQgdGhpcy5jcm9wcGVyLmluaXRpYWxpemUoKSl9YXN5bmMgaGFuZGxlQ3JvcCgpe2lmKHRoaXMuY3JvcHBlcil0cnl7dGhpcy5pc1Byb2Nlc3Npbmc9ITAsdGhpcy5jdXJyZW50U3RlcD0icHJldmlldyIsYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtsZXQgTT1hd2FpdCB0aGlzLmNyb3BwZXIuZ2V0Q3JvcHBlZEltYWdlKCk7dGhpcy5jcm9wcGVkSW1hZ2U9TSxhd2FpdCBuZXcgUHJvbWlzZShTPT5zZXRUaW1lb3V0KFMsODAwKSksdGhpcy5pc1Byb2Nlc3Npbmc9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2F2ZSIse2RldGFpbDp7Y3JvcHBlZEltYWdlOnRoaXMuY3JvcHBlZEltYWdlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpLHNldFRpbWVvdXQoKCk9Pnt0aGlzLmNsb3NlKCl9LDE1MDApfWNhdGNoKE0pe2NvbnNvbGUuZXJyb3IoIkVycm9yIGNyb3BwaW5nIGltYWdlOiIsTSksdGhpcy5pc1Byb2Nlc3Npbmc9ITF9fWNsb3NlKCl7dGhpcy5yZW1vdmUoKX1zdGF0aWN7YW8ocix0KX19O3JldHVybiBCPXJ9KSgpfSk7dmFyIFM0YSx6NGE9ZigoKT0+e2xlKCk7TmEoKTtVcygpO09RZSgpO1M0YT1zKCgpPT53YAogIDxzdHlsZT4KICAgICR7WGAKICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWwgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDQ4cHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLW91dHB1dCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTA1LCAyNDIsIDAuMSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CiAgICAgIAogICAgICAuZmVhdHVyZS1saXN0IHsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsKICAgICAgfQogICAgICAKICAgICAgLmZlYXR1cmUtbGlzdCBsaSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CiAgICBgfQogIDwvc3R5bGU+CiAgCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZVtzaGFwZT0icm91bmQiXScpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwodD0+e2xldCByPXQudGFyZ2V0O2NvbnNvbGUubG9nKCJSb3VuZCBwcm9maWxlIHBpY3R1cmUgY2hhbmdlZDoiLHIudmFsdWU/LnN1YnN0cmluZygwLDUwKSsiLi4uIil9KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlByb2ZpbGUgUGljdHVyZSBJbnB1dCJ9IC5zdWJ0aXRsZT0keyJCYXNpYyB1c2FnZSB3aXRoIHJvdW5kIGFuZCBzcXVhcmUgc2hhcGVzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1yb3ciPgogICAgICAgICAgPGRlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmUKICAgICAgICAgICAgbGFiZWw9IlByb2ZpbGUgUGljdHVyZSAoUm91bmQpIgogICAgICAgICAgICBkZXNjcmlwdGlvbj0iQ2xpY2sgdG8gdXBsb2FkIG9yIGRyYWcgJiBkcm9wIGFuIGltYWdlIgogICAgICAgICAgICBzaGFwZT0icm91bmQiCiAgICAgICAgICAgIHNpemU9IjEyMCIKICAgICAgICAgID48L2RlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmU+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlCiAgICAgICAgICAgIGxhYmVsPSJQcm9maWxlIFBpY3R1cmUgKFNxdWFyZSkiCiAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJTdXBwb3J0cyBKUEVHLCBQTkcsIGFuZCBXZWJQIGZvcm1hdHMiCiAgICAgICAgICAgIHNoYXBlPSJzcXVhcmUiCiAgICAgICAgICAgIHNpemU9IjEyMCIKICAgICAgICAgID48L2RlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57YS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlIikuZm9yRWFjaCh0PT57dC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLChyPT57bGV0IGk9ci50YXJnZXQ7Y29uc29sZS5sb2coYFByb2ZpbGUgKHNpemUgJHtpLnNpemV9KSBjaGFuZ2VkYCl9KSl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiU2l6ZSBWYXJpYXRpb25zIn0gLnN1YnRpdGxlPSR7IlByb2ZpbGUgcGljdHVyZXMgaW4gZGlmZmVyZW50IHNpemVzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1yb3ciPgogICAgICAgICAgPGRlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmUKICAgICAgICAgICAgbGFiZWw9IlNtYWxsICg4MHB4KSIKICAgICAgICAgICAgc2hhcGU9InJvdW5kIgogICAgICAgICAgICBzaXplPSI4MCIKICAgICAgICAgID48L2RlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmU+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlCiAgICAgICAgICAgIGxhYmVsPSJNZWRpdW0gKDEyMHB4KSIKICAgICAgICAgICAgc2hhcGU9InJvdW5kIgogICAgICAgICAgICBzaXplPSIxMjAiCiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZQogICAgICAgICAgICBsYWJlbD0iTGFyZ2UgKDE2MHB4KSIKICAgICAgICAgICAgc2hhcGU9InJvdW5kIgogICAgICAgICAgICBzaXplPSIxNjAiCiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNakF3SWlCb1pXbG5hSFE5SWpJd01DSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNEtJQ0E4WkdWbWN6NEtJQ0FnSUR4c2FXNWxZWEpIY21Ga2FXVnVkQ0JwWkQwaVozSmhaR2xsYm5RaUlIZ3hQU0l3SlNJZ2VURTlJakFsSWlCNE1qMGlNVEF3SlNJZ2VUSTlJakV3TUNVaVBnb2dJQ0FnSUNBOGMzUnZjQ0J2Wm1aelpYUTlJakFsSWlCemRHOXdMV052Ykc5eVBTSWpOalkzWldWaElpQXZQZ29nSUNBZ0lDQThjM1J2Y0NCdlptWnpaWFE5SWpFd01DVWlJSE4wYjNBdFkyOXNiM0k5SWlNM05qUmlZVElpSUM4K0NpQWdJQ0E4TDJ4cGJtVmhja2R5WVdScFpXNTBQZ29nSUR3dlpHVm1jejRLSUNBOGNtVmpkQ0IzYVdSMGFEMGlNakF3SWlCb1pXbG5hSFE5SWpJd01DSWdabWxzYkQwaWRYSnNLQ05uY21Ga2FXVnVkQ2tpSUM4K0NpQWdQSFJsZUhRZ2VEMGlOVEFsSWlCNVBTSTFNQ1VpSUdSdmJXbHVZVzUwTFdKaGMyVnNhVzVsUFNKdGFXUmtiR1VpSUhSbGVIUXRZVzVqYUc5eVBTSnRhV1JrYkdVaUlHWnZiblF0Wm1GdGFXeDVQU0pCY21saGJDSWdabTl1ZEMxemFYcGxQU0k0TUNJZ1ptbHNiRDBpZDJocGRHVWlQa3BFUEM5MFpYaDBQZ284TDNOMlp6ND0iLHQ9YS5xdWVyeVNlbGVjdG9yKCIjcHJlZmlsbGVkLXByb2ZpbGUiKTt0JiYodC52YWx1ZT1lLHQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwocj0+e2xldCBpPXIudGFyZ2V0LG89YS5xdWVyeVNlbGVjdG9yKCIjcHJlZmlsbGVkLW91dHB1dCIpO28mJihvLnRleHRDb250ZW50PWkudmFsdWU/YEltYWdlIGRhdGE6ICR7aS52YWx1ZS5zdWJzdHJpbmcoMCw4MCl9Li4uYDoiTm8gaW1hZ2Ugc2VsZWN0ZWQiKX0pKSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlByZS1maWxsZWQgYW5kIFZhbHVlIEJpbmRpbmcifSAuc3VidGl0bGU9JHsiUHJvZmlsZSBwaWN0dXJlIHdpdGggaW5pdGlhbCB2YWx1ZSBhbmQgY2hhbmdlIHRyYWNraW5nIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmUKICAgICAgICAgIGlkPSJwcmVmaWxsZWQtcHJvZmlsZSIKICAgICAgICAgIGxhYmVsPSJFZGl0IEV4aXN0aW5nIFByb2ZpbGUiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iQ2xpY2sgdGhlIGVkaXQgYnV0dG9uIHRvIGNoYW5nZSBvciBkZWxldGUgdG8gcmVtb3ZlIgogICAgICAgICAgc2hhcGU9InJvdW5kIgogICAgICAgICAgc2l6ZT0iMTUwIgogICAgICAgID48L2RlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmU+CiAgICAgICAgCiAgICAgICAgPGRpdiBpZD0icHJlZmlsbGVkLW91dHB1dCIgY2xhc3M9ImRlbW8tb3V0cHV0Ij4KICAgICAgICAgIEltYWdlIGRhdGEgd2lsbCBhcHBlYXIgaGVyZSB3aGVuIGNoYW5nZWQKICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoIiNkaXNhYmxlZC1wcm9maWxlIik7ZSYmKGUudmFsdWU9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1qQXdJaUJvWldsbmFIUTlJakl3TUNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S0lDQThjbVZqZENCM2FXUjBhRDBpTWpBd0lpQm9aV2xuYUhROUlqSXdNQ0lnWm1sc2JEMGlJMk5qWTJOall5SWdMejRLSUNBOGRHVjRkQ0I0UFNJMU1DVWlJSGs5SWpVd0pTSWdaRzl0YVc1aGJuUXRZbUZ6Wld4cGJtVTlJbTFwWkdSc1pTSWdkR1Y0ZEMxaGJtTm9iM0k5SW0xcFpHUnNaU0lnWm05dWRDMW1ZVzFwYkhrOUlrRnlhV0ZzSWlCbWIyNTBMWE5wZW1VOUlqWXdJaUJtYVd4c1BTSjNhR2wwWlNJK1RrRThMM1JsZUhRK0Nqd3ZjM1puUGc9PSIpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGb3JtIFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgc3RhdGVzIGFuZCBjb25maWd1cmF0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tcm93Ij4KICAgICAgICAgIDxkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlCiAgICAgICAgICAgIGxhYmVsPSJSZXF1aXJlZCBGaWVsZCIKICAgICAgICAgICAgZGVzY3JpcHRpb249IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQiCiAgICAgICAgICAgIHNoYXBlPSJyb3VuZCIKICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZQogICAgICAgICAgICBpZD0iZGlzYWJsZWQtcHJvZmlsZSIKICAgICAgICAgICAgbGFiZWw9IkRpc2FibGVkIFN0YXRlIgogICAgICAgICAgICBkZXNjcmlwdGlvbj0iQ2Fubm90IGJlIGVkaXRlZCIKICAgICAgICAgICAgc2hhcGU9InNxdWFyZSIKICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZQogICAgICAgICAgICBsYWJlbD0iVXBsb2FkIE9ubHkiCiAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJEZWxldGUgbm90IGFsbG93ZWQiCiAgICAgICAgICAgIHNoYXBlPSJyb3VuZCIKICAgICAgICAgICAgLmFsbG93RGVsZXRlPSR7ITF9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGZWF0dXJlcyJ9IC5zdWJ0aXRsZT0keyJDb21wbGV0ZSBmZWF0dXJlIHNldCBvZiB0aGUgcHJvZmlsZSBwaWN0dXJlIGlucHV0In0+CiAgICAgICAgPHVsIGNsYXNzPSJmZWF0dXJlLWxpc3QiPgogICAgICAgICAgPGxpPjxzdHJvbmc+SW1hZ2UgVXBsb2FkOjwvc3Ryb25nPiBDbGljayB0byB1cGxvYWQgb3IgZHJhZyAmIGRyb3AgaW1hZ2VzPC9saT4KICAgICAgICAgIDxsaT48c3Ryb25nPkltYWdlIENyb3BwaW5nOjwvc3Ryb25nPiBJbnRlcmFjdGl2ZSBjcm9wIHRvb2wgd2l0aCByZXNpemUgaGFuZGxlczwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5TaGFwZSBTdXBwb3J0Ojwvc3Ryb25nPiBSb3VuZCBvciBzcXVhcmUgcHJvZmlsZSBwaWN0dXJlczwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5TaXplIEN1c3RvbWl6YXRpb246PC9zdHJvbmc+IEFkanVzdGFibGUgZGltZW5zaW9uczwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5QcmV2aWV3ICYgRWRpdDo8L3N0cm9uZz4gSG92ZXIgb3ZlcmxheSB3aXRoIGVkaXQgYW5kIGRlbGV0ZSBvcHRpb25zPC9saT4KICAgICAgICAgIDxsaT48c3Ryb25nPkZpbGUgVmFsaWRhdGlvbjo8L3N0cm9uZz4gRm9ybWF0IGFuZCBzaXplIHJlc3RyaWN0aW9uczwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5SZXNwb25zaXZlIERlc2lnbjo8L3N0cm9uZz4gV29ya3Mgb24gZGVza3RvcCBhbmQgbW9iaWxlIGRldmljZXM8L2xpPgogICAgICAgICAgPGxpPjxzdHJvbmc+Rm9ybSBJbnRlZ3JhdGlvbjo8L3N0cm9uZz4gU3RhbmRhcmQgZm9ybSB2YWx1ZSBiaW5kaW5nIGFuZCB2YWxpZGF0aW9uPC9saT4KICAgICAgICAgIDxsaT48c3Ryb25nPkFjY2Vzc2liaWxpdHk6PC9zdHJvbmc+IEtleWJvYXJkIG5hdmlnYXRpb24gYW5kIHNjcmVlbiByZWFkZXIgc3VwcG9ydDwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5aLUluZGV4IE1hbmFnZW1lbnQ6PC9zdHJvbmc+IFByb3BlciBtb2RhbCBzdGFja2luZyB3aXRoIHJlZ2lzdHJ5PC9saT4KICAgICAgICA8L3VsPgogICAgICAgIAogICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6IDI0cHg7Ij4KICAgICAgICAgIDxzdHJvbmc+U3VwcG9ydGVkIEZvcm1hdHM6PC9zdHJvbmc+IEpQRUcsIFBORywgV2ViUDxicj4KICAgICAgICAgIDxzdHJvbmc+TWF4IEZpbGUgU2l6ZTo8L3N0cm9uZz4gNU1CIChjb25maWd1cmFibGUpPGJyPgogICAgICAgICAgPHN0cm9uZz5PdXRwdXQgRm9ybWF0Ojwvc3Ryb25nPiBCYXNlNjQgZW5jb2RlZCBKUEVHCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBObyxpcixDNGEsT1FlPWYoKCk9PntsZSgpO1NyKCk7dmEoKTtjbSgpO2s0YSgpO3o0YSgpO1FlKCk7Tm89ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGlyPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxDNGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlIildLGUsdD1bXSxyLGk9d3QsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W10sQixNPVtdLFM9W10sUCxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdO3ZhciBRPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRQcm9maWxlUGljdHVyZSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBKPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6TnVtYmVyfSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLHk9WyQoe3R5cGU6Qm9vbGVhbn0pXSxOPVskKHt0eXBlOkJvb2xlYW59KV0sTz1bJCh7dHlwZTpOdW1iZXJ9KV0sQj1bJCh7dHlwZTpBcnJheX0pXSxQPVskKHt0eXBlOk51bWJlcn0pXSxXPVskKHt0eXBlOk51bWJlcn0pXSxoZT1bSygpXSxtZT1bSygpXSxjZT1bSygpXSxObyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJ2YWx1ZSJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLnZhbHVlLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLnZhbHVlPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LG4sbCksTm8odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaGFwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4ic2hhcGUiaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5zaGFwZSwiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5zaGFwZT1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxjLHApLE5vKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4ic2l6ZSJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLnNpemUsImdldCIpLHNldDpzKChaLGdlKT0+e1ouc2l6ZT1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxtLHYpLE5vKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGxhY2Vob2xkZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+InBsYWNlaG9sZGVyImluIFosImhhcyIpLGdldDpzKFo9PloucGxhY2Vob2xkZXIsImdldCIpLHNldDpzKChaLGdlKT0+e1oucGxhY2Vob2xkZXI9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sYixnKSxObyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFsbG93VXBsb2FkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJhbGxvd1VwbG9hZCJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLmFsbG93VXBsb2FkLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLmFsbG93VXBsb2FkPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LGssQyksTm8odGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhbGxvd0RlbGV0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4iYWxsb3dEZWxldGUiaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5hbGxvd0RlbGV0ZSwiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5hbGxvd0RlbGV0ZT1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxfLHopLE5vKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWF4RmlsZVNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+Im1heEZpbGVTaXplImluIFosImhhcyIpLGdldDpzKFo9PloubWF4RmlsZVNpemUsImdldCIpLHNldDpzKChaLGdlKT0+e1oubWF4RmlsZVNpemU9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sVCxFKSxObyh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjY2VwdGVkRm9ybWF0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4iYWNjZXB0ZWRGb3JtYXRzImluIFosImhhcyIpLGdldDpzKFo9PlouYWNjZXB0ZWRGb3JtYXRzLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLmFjY2VwdGVkRm9ybWF0cz1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxNLFMpLE5vKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3V0cHV0U2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4ib3V0cHV0U2l6ZSJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLm91dHB1dFNpemUsImdldCIpLHNldDpzKChaLGdlKT0+e1oub3V0cHV0U2l6ZT1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxBLEYpLE5vKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3V0cHV0UXVhbGl0eSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4ib3V0cHV0UXVhbGl0eSJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLm91dHB1dFF1YWxpdHksImdldCIpLHNldDpzKChaLGdlKT0+e1oub3V0cHV0UXVhbGl0eT1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxqLEcpLE5vKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzSG92ZXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4iaXNIb3ZlcmVkImluIFosImhhcyIpLGdldDpzKFo9PlouaXNIb3ZlcmVkLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLmlzSG92ZXJlZD1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxSLFUpLE5vKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzRHJhZ2dpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+ImlzRHJhZ2dpbmciaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5pc0RyYWdnaW5nLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLmlzRHJhZ2dpbmc9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sSSxxKSxObyh0aGlzLG51bGwsY2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0xvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+ImlzTG9hZGluZyJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLmlzTG9hZGluZywiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5pc0xvYWRpbmc9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sdWUsWSksTm8obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Sn0sbnVsbCx0KSxRPXI9ZS52YWx1ZSxKJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkp9KX1zdGF0aWMgZGVtbz1TNGE7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPWlyKHRoaXMsbiwiIik7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKEope3RoaXMuI2U9Sn0jdD0oaXIodGhpcyxsKSxpcih0aGlzLGMsInJvdW5kIikpO2dldCBzaGFwZSgpe3JldHVybiB0aGlzLiN0fXNldCBzaGFwZShKKXt0aGlzLiN0PUp9I2E9KGlyKHRoaXMscCksaXIodGhpcyxtLDEyMCkpO2dldCBzaXplKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNpemUoSil7dGhpcy4jYT1KfSNyPShpcih0aGlzLHYpLGlyKHRoaXMsYiwiIikpO2dldCBwbGFjZWhvbGRlcigpe3JldHVybiB0aGlzLiNyfXNldCBwbGFjZWhvbGRlcihKKXt0aGlzLiNyPUp9I3M9KGlyKHRoaXMsZyksaXIodGhpcyxrLCEwKSk7Z2V0IGFsbG93VXBsb2FkKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGFsbG93VXBsb2FkKEope3RoaXMuI3M9Sn0jaT0oaXIodGhpcyxDKSxpcih0aGlzLF8sITApKTtnZXQgYWxsb3dEZWxldGUoKXtyZXR1cm4gdGhpcy4jaX1zZXQgYWxsb3dEZWxldGUoSil7dGhpcy4jaT1KfSNvPShpcih0aGlzLHopLGlyKHRoaXMsVCw1KjEwMjQqMTAyNCkpO2dldCBtYXhGaWxlU2l6ZSgpe3JldHVybiB0aGlzLiNvfXNldCBtYXhGaWxlU2l6ZShKKXt0aGlzLiNvPUp9I249KGlyKHRoaXMsRSksaXIodGhpcyxNLFsiaW1hZ2UvanBlZyIsImltYWdlL3BuZyIsImltYWdlL3dlYnAiXSkpO2dldCBhY2NlcHRlZEZvcm1hdHMoKXtyZXR1cm4gdGhpcy4jbn1zZXQgYWNjZXB0ZWRGb3JtYXRzKEope3RoaXMuI249Sn0jbD0oaXIodGhpcyxTKSxpcih0aGlzLEEsODAwKSk7Z2V0IG91dHB1dFNpemUoKXtyZXR1cm4gdGhpcy4jbH1zZXQgb3V0cHV0U2l6ZShKKXt0aGlzLiNsPUp9I2M9KGlyKHRoaXMsRiksaXIodGhpcyxqLC45NSkpO2dldCBvdXRwdXRRdWFsaXR5KCl7cmV0dXJuIHRoaXMuI2N9c2V0IG91dHB1dFF1YWxpdHkoSil7dGhpcy4jYz1KfSNkPShpcih0aGlzLEcpLGlyKHRoaXMsUiwhMSkpO2dldCBpc0hvdmVyZWQoKXtyZXR1cm4gdGhpcy4jZH1zZXQgaXNIb3ZlcmVkKEope3RoaXMuI2Q9Sn0jdT0oaXIodGhpcyxVKSxpcih0aGlzLEksITEpKTtnZXQgaXNEcmFnZ2luZygpe3JldHVybiB0aGlzLiN1fXNldCBpc0RyYWdnaW5nKEope3RoaXMuI3U9Sn0jcD0oaXIodGhpcyxxKSxpcih0aGlzLHVlLCExKSk7Z2V0IGlzTG9hZGluZygpe3JldHVybiB0aGlzLiNwfXNldCBpc0xvYWRpbmcoSil7dGhpcy4jcD1KfW1vZGFsSW5zdGFuY2U9KGlyKHRoaXMsWSksbnVsbCk7c3RhdGljIHN0eWxlcz1bRWUsLi4ud3QuYmFzZVN0eWxlcyxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmlucHV0LXdyYXBwZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgfQoKICAgICAgLnByb2ZpbGUtY29udGFpbmVyOmhvdmVyIHsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpOwogICAgICB9CgogICAgICAucHJvZmlsZS1waWN0dXJlIHsKICAgICAgICB3aWR0aDogdmFyKC0tc2l6ZSwgMTIwcHgpOwogICAgICAgIGhlaWdodDogdmFyKC0tc2l6ZSwgMTIwcHgpOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjVmNWY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLXBpY3R1cmUucm91bmQgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgfQoKICAgICAgLnByb2ZpbGUtcGljdHVyZS5zcXVhcmUgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLXBpY3R1cmUuZHJhZ2dpbmcgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpIiwicmdiYSg5NiwgMTY1LCAyNTAsIDAuMTUpIil9OwogICAgICB9CgogICAgICAucHJvZmlsZS1waWN0dXJlOmhvdmVyIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgfQoKICAgICAgLnByb2ZpbGUtcGljdHVyZTpkaXNhYmxlZCB7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLWltYWdlIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgIH0KCiAgICAgIC5wbGFjZWhvbGRlci1pY29uIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAub3ZlcmxheSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLWNvbnRhaW5lcjpob3ZlciAub3ZlcmxheSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLm92ZXJsYXktY29udGVudCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5vdmVybGF5LWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KSIsInJnYmEoMzksIDM5LCA0MiwgMC45NSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgICB9CgogICAgICAub3ZlcmxheS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzNmM2Y0NiIpfTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgIH0KCiAgICAgIC5vdmVybGF5LWJ1dHRvbi5kZWxldGUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjkpIiwicmdiYSgyMjAsIDM4LCAzOCwgMC45KSIpfTsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLm92ZXJsYXktYnV0dG9uLmRlbGV0ZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZGMyNjI2Iil9OwogICAgICB9CgogICAgICAuZHJvcC16b25lLXRleHQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAuaGlkZGVuLWlucHV0IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAvKiBMb2FkaW5nIGFuaW1hdGlvbiAqLwogICAgICAubG9hZGluZy1vdmVybGF5IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkiLCJyZ2JhKDAsIDAsIDAsIDAuOCkiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsKICAgICAgfQoKICAgICAgLmxvYWRpbmctb3ZlcmxheS5zaG93IHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICB9CgogICAgICAubG9hZGluZy1zcGlubmVyIHsKICAgICAgICB3aWR0aDogNDBweDsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICB0byB7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBwdWxzZSB7CiAgICAgICAgMCUgewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgfQogICAgICAgIDUwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwogICAgICAgICAgb3BhY2l0eTogMC44OwogICAgICAgIH0KICAgICAgICAxMDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLnByb2ZpbGUtcGljdHVyZS5jbGlja2luZyB7CiAgICAgICAgYW5pbWF0aW9uOiBwdWxzZSAwLjNzIGVhc2Utb3V0OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7dGhpcy5sYWJlbH0gLmluZm9UZXh0PSR7dGhpcy5pbmZvVGV4dH0gLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0+PC9kZWVzLWxhYmVsPgogICAgICAgIAogICAgICAgIDxkaXYgCiAgICAgICAgICBjbGFzcz0icHJvZmlsZS1jb250YWluZXIiCiAgICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZUNsaWNrfQogICAgICAgICAgQGRyYWdvdmVyPSR7dGhpcy5oYW5kbGVEcmFnT3Zlcn0KICAgICAgICAgIEBkcmFnbGVhdmU9JHt0aGlzLmhhbmRsZURyYWdMZWF2ZX0KICAgICAgICAgIEBkcm9wPSR7dGhpcy5oYW5kbGVEcm9wfQogICAgICAgICAgc3R5bGU9Ii0tc2l6ZTogJHt0aGlzLnNpemV9cHgiCiAgICAgICAgPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZmlsZS1waWN0dXJlICR7dGhpcy5zaGFwZX0gJHt0aGlzLmlzRHJhZ2dpbmc/ImRyYWdnaW5nIjoiIn0gJHt0aGlzLmlzTG9hZGluZyYmIXRoaXMudmFsdWU/ImNsaWNraW5nIjoiIn0iPgogICAgICAgICAgICAke3RoaXMudmFsdWU/d2AKICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJwcm9maWxlLWltYWdlIiBzcmM9IiR7dGhpcy52YWx1ZX0iIGFsdD0iUHJvZmlsZSBwaWN0dXJlIiAvPgogICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0icGxhY2Vob2xkZXItaWNvbiIgaWNvbj0ibHVjaWRlOnVzZXIiIGljb25TaXplPSIke3RoaXMuc2l6ZSouNX0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICBgfQogICAgICAgICAgICAKICAgICAgICAgICAgJHt0aGlzLmlzRHJhZ2dpbmc/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVybGF5IiBzdHlsZT0ib3BhY2l0eTogMSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wLXpvbmUtdGV4dCI+CiAgICAgICAgICAgICAgICAgIERyb3AgaW1hZ2UgaGVyZQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIAogICAgICAgICAgICAke3RoaXMudmFsdWUmJiF0aGlzLmRpc2FibGVkP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3ZlcmxheSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVybGF5LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAke3RoaXMuYWxsb3dVcGxvYWQ/d2AKICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJvdmVybGF5LWJ1dHRvbiIgQGNsaWNrPSR7Sj0+e0ouc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5vcGVuTW9kYWwoKX19IHRpdGxlPSJDaGFuZ2UgcGljdHVyZSI+CiAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpwZW5jaWwiIGljb25TaXplPSIyMCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAgICR7dGhpcy5hbGxvd0RlbGV0ZT93YAogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im92ZXJsYXktYnV0dG9uIGRlbGV0ZSIgQGNsaWNrPSR7Sj0+e0ouc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kZWxldGVQaWN0dXJlKCl9fSB0aXRsZT0iRGVsZXRlIHBpY3R1cmUiPgogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6dHJhc2gyIiBpY29uU2l6ZT0iMjAiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIAogICAgICAgICAgICAke3RoaXMuaXNMb2FkaW5nJiYhdGhpcy52YWx1ZT93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctb3ZlcmxheSBzaG93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8aW5wdXQKICAgICAgICAgIHR5cGU9ImZpbGUiCiAgICAgICAgICBjbGFzcz0iaGlkZGVuLWlucHV0IgogICAgICAgICAgYWNjZXB0PSIke3RoaXMuYWNjZXB0ZWRGb3JtYXRzLmpvaW4oIiwiKX0iCiAgICAgICAgICBAY2hhbmdlPSR7dGhpcy5oYW5kbGVGaWxlU2VsZWN0fQogICAgICAgIC8+CiAgICAgICAgJHt0aGlzLnJlbmRlckRlc2NyaXB0aW9uKCl9CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVDbGljaygpe2lmKCEodGhpcy5kaXNhYmxlZHx8IXRoaXMuYWxsb3dVcGxvYWQpJiYhdGhpcy52YWx1ZSl7dGhpcy5pc0xvYWRpbmc9ITA7bGV0IEo9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5oaWRkZW4taW5wdXQiKSxaPXMoKCk9PntzZXRUaW1lb3V0KCgpPT57KCFKLmZpbGVzfHxKLmZpbGVzLmxlbmd0aD09PTApJiYodGhpcy5pc0xvYWRpbmc9ITEpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsWil9LDMwMCl9LCJoYW5kbGVGb2N1cyIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsWiksSi5jbGljaygpfX1oYW5kbGVGaWxlU2VsZWN0KEope2xldCBaPUoudGFyZ2V0LGdlPVouZmlsZXM/LlswXTt0aGlzLmlzTG9hZGluZz0hMSxnZSYmdGhpcy5wcm9jZXNzRmlsZShnZSksWi52YWx1ZT0iIn1oYW5kbGVEcmFnT3ZlcihKKXtKLnByZXZlbnREZWZhdWx0KCksIXRoaXMuZGlzYWJsZWQmJnRoaXMuYWxsb3dVcGxvYWQmJih0aGlzLmlzRHJhZ2dpbmc9ITApfWhhbmRsZURyYWdMZWF2ZSgpe3RoaXMuaXNEcmFnZ2luZz0hMX1oYW5kbGVEcm9wKEope2lmKEoucHJldmVudERlZmF1bHQoKSx0aGlzLmlzRHJhZ2dpbmc9ITEsdGhpcy5kaXNhYmxlZHx8IXRoaXMuYWxsb3dVcGxvYWQpcmV0dXJuO2xldCBaPUouZGF0YVRyYW5zZmVyPy5maWxlc1swXTtaJiZ0aGlzLnByb2Nlc3NGaWxlKFopfWFzeW5jIHByb2Nlc3NGaWxlKEope2lmKCF0aGlzLmFjY2VwdGVkRm9ybWF0cy5pbmNsdWRlcyhKLnR5cGUpKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGZpbGUgdHlwZToiLEoudHlwZSk7cmV0dXJufWlmKEouc2l6ZT50aGlzLm1heEZpbGVTaXplKXtjb25zb2xlLmVycm9yKCJGaWxlIHRvbyBsYXJnZToiLEouc2l6ZSk7cmV0dXJufWxldCBaPW5ldyBGaWxlUmVhZGVyO1oub25sb2FkPWFzeW5jIGdlPT57bGV0IGFlPWdlLnRhcmdldD8ucmVzdWx0O2F3YWl0IHRoaXMub3Blbk1vZGFsKGFlKX0sWi5yZWFkQXNEYXRhVVJMKEopfWFzeW5jIG9wZW5Nb2RhbChKKXtsZXQgWj1KfHx0aGlzLnZhbHVlO2lmKCFaKXt0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmhpZGRlbi1pbnB1dCIpLmNsaWNrKCk7cmV0dXJufXRoaXMubW9kYWxJbnN0YW5jZT1uZXcgUlFlLHRoaXMubW9kYWxJbnN0YW5jZS5zaGFwZT10aGlzLnNoYXBlLHRoaXMubW9kYWxJbnN0YW5jZS5pbml0aWFsSW1hZ2U9Wix0aGlzLm1vZGFsSW5zdGFuY2Uub3V0cHV0U2l6ZT10aGlzLm91dHB1dFNpemUsdGhpcy5tb2RhbEluc3RhbmNlLm91dHB1dFF1YWxpdHk9dGhpcy5vdXRwdXRRdWFsaXR5LHRoaXMubW9kYWxJbnN0YW5jZS5hZGRFdmVudExpc3RlbmVyKCJzYXZlIiwoZ2U9Pnt0aGlzLnZhbHVlPWdlLmRldGFpbC5jcm9wcGVkSW1hZ2UsdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9KSksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLm1vZGFsSW5zdGFuY2UpfWRlbGV0ZVBpY3R1cmUoKXt0aGlzLnZhbHVlPSIiLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoSil7dGhpcy52YWx1ZT1KfXN0YXRpY3tpcihyLHQpfX07cmV0dXJuIFE9cn0pKCl9KTt2YXIgXzRhPWYoKCk9PntsNGEoKTtsUWUoKTtjNGEoKTtuYWUoKTtjUWUoKTtXWWUoKTtkNGEoKTt1NGEoKTtwNGEoKTtmNGEoKTtoNGEoKTttNGEoKTtnNGEoKTt2NGEoKTtkUWUoKTtuUWUoKTt4NGEoKTt5NGEoKTt3NGEoKTtPUWUoKX0pO3ZhciBUNGEsTDRhPWYoKCk9PntsZSgpO1Q0YT1zKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vQ29udGFpbmVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAzMnB4OwogICAgICBwYWRkaW5nOiA0OHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgfQogICAgCiAgICAuc2VjdGlvbiB7CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzE4MTgxYiIpfTsKICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICB9CiAgICAKICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgfQogICAgCiAgICAuc2VjdGlvbi1kZXNjcmlwdGlvbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgIH0KICA8L3N0eWxlPgogIDxkaXYgY2xhc3M9ImRlbW9Db250YWluZXIiPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPk5vbi1TZWxlY3RhYmxlIENoaXBzPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkJhc2ljIGNoaXBzIHdpdGhvdXQgc2VsZWN0aW9uIGNhcGFiaWxpdHkuIFVzZSBmb3IgZGlzcGxheS1vbmx5IHRhZ3MuPC9kaXY+CiAgICAgIDxkZWVzLWNoaXBzCiAgICAgICAgc2VsZWN0aW9uTW9kZT0ibm9uZSIKICAgICAgICAuc2VsZWN0YWJsZUNoaXBzPSR7W3trZXk6InN0YXR1cyIsdmFsdWU6IkFjdGl2ZSJ9LHtrZXk6InRpZXIiLHZhbHVlOiJQcmVtaXVtIn0se2tleToicmVnaW9uIix2YWx1ZToiRVUtV2VzdCJ9LHtrZXk6InR5cGUiLHZhbHVlOiJFbnRlcnByaXNlIn1dfQogICAgICA+PC9kZWVzLWNoaXBzPgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TaW5nbGUgU2VsZWN0aW9uIENoaXBzPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkNsaWNrIHRvIHNlbGVjdCBvbmUgY2hpcCBhdCBhIHRpbWUuIFVzZWZ1bCBmb3IgZmlsdGVycyBhbmQgb3B0aW9ucy48L2Rpdj4KICAgICAgPGRlZXMtY2hpcHMKICAgICAgICBzZWxlY3Rpb25Nb2RlPSJzaW5nbGUiCiAgICAgICAgLnNlbGVjdGFibGVDaGlwcz0ke1t7a2V5OiJhbGwiLHZhbHVlOiJBbGwgUHJvamVjdHMifSx7a2V5OiJhY3RpdmUiLHZhbHVlOiJBY3RpdmUifSx7a2V5OiJhcmNoaXZlZCIsdmFsdWU6IkFyY2hpdmVkIn0se2tleToiZHJhZnRzIix2YWx1ZToiRHJhZnRzIn1dfQogICAgICA+PC9kZWVzLWNoaXBzPgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5NdWx0aXBsZSBTZWxlY3Rpb24gQ2hpcHM8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+U2VsZWN0IG11bHRpcGxlIGNoaXBzIHNpbXVsdGFuZW91c2x5LiBHcmVhdCBmb3IgdGFnIHNlbGVjdGlvbi48L2Rpdj4KICAgICAgPGRlZXMtY2hpcHMKICAgICAgICBzZWxlY3Rpb25Nb2RlPSJtdWx0aXBsZSIKICAgICAgICAuc2VsZWN0YWJsZUNoaXBzPSR7W3trZXk6ImpzIix2YWx1ZToiSmF2YVNjcmlwdCJ9LHtrZXk6InRzIix2YWx1ZToiVHlwZVNjcmlwdCJ9LHtrZXk6InJlYWN0Iix2YWx1ZToiUmVhY3QifSx7a2V5OiJ2dWUiLHZhbHVlOiJWdWUifSx7a2V5OiJhbmd1bGFyIix2YWx1ZToiQW5ndWxhciJ9LHtrZXk6Im5vZGUiLHZhbHVlOiJOb2RlLmpzIn1dfQogICAgICA+PC9kZWVzLWNoaXBzPgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5SZW1vdmFibGUgQ2hpcHMgd2l0aCBLZXlzPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkNoaXBzIHdpdGggcmVtb3ZlIGJ1dHRvbnMgYW5kIGtleS12YWx1ZSBwYWlycy4gUGVyZmVjdCBmb3IgZHluYW1pYyBsaXN0cy48L2Rpdj4KICAgICAgPGRlZXMtY2hpcHMKICAgICAgICBzZWxlY3Rpb25Nb2RlPSJzaW5nbGUiCiAgICAgICAgY2hpcHNBcmVSZW1vdmFibGUKICAgICAgICAuc2VsZWN0YWJsZUNoaXBzPSR7W3trZXk6ImVudiIsdmFsdWU6IlByb2R1Y3Rpb24ifSx7a2V5OiJ2ZXJzaW9uIix2YWx1ZToiMi40LjEifSx7a2V5OiJicmFuY2giLHZhbHVlOiJtYWluIn0se2tleToiYXV0aG9yIix2YWx1ZToiSm9obiBEb2UifV19CiAgICAgID48L2RlZXMtY2hpcHM+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPk1peGVkIENvbnRlbnQgRXhhbXBsZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5Db21iaW5pbmcgZGlmZmVyZW50IGNoaXAgdHlwZXMgZm9yIGNvbXBsZXggVUlzLjwvZGl2PgogICAgICA8ZGVlcy1jaGlwcwogICAgICAgIHNlbGVjdGlvbk1vZGU9Im11bHRpcGxlIgogICAgICAgIGNoaXBzQXJlUmVtb3ZhYmxlCiAgICAgICAgLnNlbGVjdGFibGVDaGlwcz0ke1t7a2V5OiJwcmlvcml0eSIsdmFsdWU6IkhpZ2gifSx7a2V5OiJzdGF0dXMiLHZhbHVlOiJJbiBQcm9ncmVzcyJ9LHtrZXk6ImJ1ZyIsdmFsdWU6IkJ1ZyJ9LHtrZXk6ImZlYXR1cmUiLHZhbHVlOiJGZWF0dXJlIn0se2tleToic3ByaW50Iix2YWx1ZToiU3ByaW50IDIzIn0se2tleToiYXNzaWduZWUiLHZhbHVlOiJBbGljZSJ9XX0KICAgICAgPjwvZGVlcy1jaGlwcz4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIHQ3LFcxLCQ0YSxENGE9ZigoKT0+e2xlKCk7ZWEoKTtMNGEoKTtRZSgpO3Q3PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxXMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sJDRhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1jaGlwcyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdO3ZhciBOPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQ2hpcHMiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKCldLGQ9WyQoe3R5cGU6Qm9vbGVhbn0pXSx1PVskKHt0eXBlOkFycmF5fSldLHg9WyQoKV0seT1bJCh7dHlwZTpBcnJheX0pXSx0Nyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGlvbk1vZGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNlbGVjdGlvbk1vZGUiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5zZWxlY3Rpb25Nb2RlLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc2VsZWN0aW9uTW9kZT1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG4sbCksdDcodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjaGlwc0FyZVJlbW92YWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iY2hpcHNBcmVSZW1vdmFibGUiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5jaGlwc0FyZVJlbW92YWJsZSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmNoaXBzQXJlUmVtb3ZhYmxlPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYyxwKSx0Nyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGFibGVDaGlwcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4ic2VsZWN0YWJsZUNoaXBzImluIHosImhhcyIpLGdldDpzKHo9Pnouc2VsZWN0YWJsZUNoaXBzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc2VsZWN0YWJsZUNoaXBzPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbSx2KSx0Nyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkQ2hpcCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4ic2VsZWN0ZWRDaGlwImluIHosImhhcyIpLGdldDpzKHo9Pnouc2VsZWN0ZWRDaGlwLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc2VsZWN0ZWRDaGlwPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYixnKSx0Nyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkQ2hpcHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNlbGVjdGVkQ2hpcHMiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5zZWxlY3RlZENoaXBzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc2VsZWN0ZWRDaGlwcz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGssQyksdDcobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X30sbnVsbCx0KSxOPXI9ZS52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgZGVtbz1UNGE7c3RhdGljIGRlbW9Hcm91cHM9WyJMYXlvdXQiXTsjZT1XMSh0aGlzLG4sInNpbmdsZSIpO2dldCBzZWxlY3Rpb25Nb2RlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNlbGVjdGlvbk1vZGUoXyl7dGhpcy4jZT1ffSN0PShXMSh0aGlzLGwpLFcxKHRoaXMsYywhMSkpO2dldCBjaGlwc0FyZVJlbW92YWJsZSgpe3JldHVybiB0aGlzLiN0fXNldCBjaGlwc0FyZVJlbW92YWJsZShfKXt0aGlzLiN0PV99I2E9KFcxKHRoaXMscCksVzEodGhpcyxtLFtdKSk7Z2V0IHNlbGVjdGFibGVDaGlwcygpe3JldHVybiB0aGlzLiNhfXNldCBzZWxlY3RhYmxlQ2hpcHMoXyl7dGhpcy4jYT1ffSNyPShXMSh0aGlzLHYpLFcxKHRoaXMsYixudWxsKSk7Z2V0IHNlbGVjdGVkQ2hpcCgpe3JldHVybiB0aGlzLiNyfXNldCBzZWxlY3RlZENoaXAoXyl7dGhpcy4jcj1ffSNzPShXMSh0aGlzLGcpLFcxKHRoaXMsayxbXSkpO2dldCBzZWxlY3RlZENoaXBzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNlbGVjdGVkQ2hpcHMoXyl7dGhpcy4jcz1ffWNvbnN0cnVjdG9yKCl7c3VwZXIoKSxXMSh0aGlzLEMpfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLm1haW5ib3ggewogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuY2hpcCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzNmM2Y0NiIpfTsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBwYWRkaW5nOiAwcHggMTJweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7CiAgICAgIH0KCiAgICAgIC5jaGlwOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzZjNmNDYiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2QxZDVkYiIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5jaGlwOmFjdGl2ZSB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsKICAgICAgfQoKICAgICAgLmNoaXAuc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgfQoKICAgICAgLmNoaXAuc2VsZWN0ZWQ6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzI1NjNlYiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzI1NjNlYiIpfTsKICAgICAgfQoKICAgICAgLmNoaXBLZXkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDYpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIil9OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBsaW5lLWhlaWdodDogMjBweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIG1hcmdpbi1sZWZ0OiAtOHB4OwogICAgICAgIHBhZGRpbmc6IDBweCA4cHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5jaGlwLnNlbGVjdGVkIC5jaGlwS2V5IHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7CiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsKICAgICAgfQoKICAgICAgZGVlcy1pY29uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuY2hpcC5zZWxlY3RlZCBkZWVzLWljb24gewogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7CiAgICAgIH0KCiAgICAgIGRlZXMtaWNvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuY2hpcC5zZWxlY3RlZCBkZWVzLWljb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsKICAgICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9Im1haW5ib3giPgogICAgICAgICR7dGhpcy5zZWxlY3RhYmxlQ2hpcHMubWFwKF89PndgCiAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zZWxlY3RDaGlwKF8pfQogICAgICAgICAgICAgIGNsYXNzPSJjaGlwICR7dGhpcy5pc1NlbGVjdGVkKF8pPyJzZWxlY3RlZCI6IiJ9IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgJHtfLmtleT93YDxkaXYgY2xhc3M9ImNoaXBLZXkiPiR7Xy5rZXl9PC9kaXY+YDp3YGB9ICR7Xy52YWx1ZX0KICAgICAgICAgICAgICAke3RoaXMuY2hpcHNBcmVSZW1vdmFibGU/d2AKICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uCiAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHt6PT57ei5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnJlbW92ZUNoaXAoXyl9fQogICAgICAgICAgICAgICAgICAgICAgLmljb249JHsiZmE6eG1hcmsifQogICAgICAgICAgICAgICAgICAgID48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgYDp3YGB9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXt9aXNTZWxlY3RlZChfKXtyZXR1cm4gdGhpcy5zZWxlY3Rpb25Nb2RlPT09InNpbmdsZSI/dGhpcy5zZWxlY3RlZENoaXA/dGhpcy5pc1NhbWVDaGlwKHRoaXMuc2VsZWN0ZWRDaGlwLF8pOiExOnRoaXMuc2VsZWN0ZWRDaGlwcy5zb21lKHo9PnRoaXMuaXNTYW1lQ2hpcCh6LF8pKX1pc1NhbWVDaGlwKF8seil7cmV0dXJuKF8ua2V5JiZ6LmtleXx8Xy52YWx1ZT09PXoudmFsdWUpJiZfLmtleT09PXoua2V5fWFzeW5jIHNlbGVjdENoaXAoXyl7dGhpcy5zZWxlY3Rpb25Nb2RlIT09Im5vbmUiJiYodGhpcy5zZWxlY3Rpb25Nb2RlPT09InNpbmdsZSI/dGhpcy5pc1NlbGVjdGVkKF8pPyh0aGlzLnNlbGVjdGVkQ2hpcD1udWxsLHRoaXMuc2VsZWN0ZWRDaGlwcz1bXSk6KHRoaXMuc2VsZWN0ZWRDaGlwPV8sdGhpcy5zZWxlY3RlZENoaXBzPVtfXSk6dGhpcy5zZWxlY3Rpb25Nb2RlPT09Im11bHRpcGxlIiYmKHRoaXMuaXNTZWxlY3RlZChfKT90aGlzLnNlbGVjdGVkQ2hpcHM9dGhpcy5zZWxlY3RlZENoaXBzLmZpbHRlcih6PT4hdGhpcy5pc1NhbWVDaGlwKHosXykpOnRoaXMuc2VsZWN0ZWRDaGlwcz1bLi4udGhpcy5zZWxlY3RlZENoaXBzLF9dLHRoaXMucmVxdWVzdFVwZGF0ZSgpKSxjb25zb2xlLmxvZyh0aGlzLnNlbGVjdGVkQ2hpcHMpKX1yZW1vdmVDaGlwKF8pe3RoaXMuc2VsZWN0YWJsZUNoaXBzPXRoaXMuc2VsZWN0YWJsZUNoaXBzLmZpbHRlcih6PT4hdGhpcy5pc1NhbWVDaGlwKHosXykpLHRoaXMuc2VsZWN0ZWRDaGlwcz10aGlzLnNlbGVjdGVkQ2hpcHMuZmlsdGVyKHo9PiF0aGlzLmlzU2FtZUNoaXAoeixfKSksdGhpcy5zZWxlY3RlZENoaXAmJnRoaXMuaXNTYW1lQ2hpcCh0aGlzLnNlbGVjdGVkQ2hpcCxfKSYmKHRoaXMuc2VsZWN0ZWRDaGlwPW51bGwpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfXN0YXRpY3tXMShyLHQpfX07cmV0dXJuIE49cn0pKCl9KTt2YXIgQTRhPWYoKCk9PntENGEoKX0pO3ZhciBFNGEsUDRhPWYoKCk9PntsZSgpO05hKCk7RTRhPXMoKCk9PndgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCIjZGFzaGJvYXJkR3JpZCIpLHQ9W3tpZDoibWV0cmljczEiLHg6MCx5OjAsdzozLGg6Mix0aXRsZToiUmV2ZW51ZSIsaWNvbjoibHVjaWRlOmRvbGxhclNpZ24iLGNvbnRlbnQ6d2AKICAgICAgICAgICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjBweDsiPgogICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMzJweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsiPiQxMjQsNTYzPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iY29sb3I6ICMyMmM1NWU7IGZvbnQtc2l6ZTogMTRweDsgbWFyZ2luLXRvcDogOHB4OyI+4oaRIDEyLjUlIGZyb20gbGFzdCBtb250aDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGB9LHtpZDoibWV0cmljczIiLHg6Myx5OjAsdzozLGg6Mix0aXRsZToiVXNlcnMiLGljb246Imx1Y2lkZTp1c2VycyIsY29udGVudDp3YAogICAgICAgICAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyMHB4OyI+CiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAzMnB4OyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OyI+OCwyMzQ8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJjb2xvcjogIzNiODJmNjsgZm9udC1zaXplOiAxNHB4OyBtYXJnaW4tdG9wOiA4cHg7Ij7ihpEgNS4yJSBmcm9tIGxhc3Qgd2VlazwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGB9LHtpZDoiY2hhcnQxIix4OjYseTowLHc6NixoOjQsdGl0bGU6IkFuYWx5dGljcyIsaWNvbjoibHVjaWRlOmxpbmVDaGFydCIsY29udGVudDp3YAogICAgICAgICAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyMHB4OyBoZWlnaHQ6IDEwMCU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyI+CiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogIzcxNzE3YTsiPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6bGluZUNoYXJ0In0gc3R5bGU9ImZvbnQtc2l6ZTogNDhweDsgbWFyZ2luLWJvdHRvbTogMTZweDsiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPGRpdj5DaGFydCB2aXN1YWxpemF0aW9uIGFyZWE8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfV07ZS53aWRnZXRzPXQubWFwKHk9Pih7Li4ueX0pKSxlLmNlbGxIZWlnaHQ9ODAsZS5tYXJnaW49e3RvcDoxMCxyaWdodDoxMCxib3R0b206MTAsbGVmdDoxMH0sZS5lbmFibGVBbmltYXRpb249ITAsZS5zaG93R3JpZExpbmVzPSExO2xldCByPWUuZ2V0TGF5b3V0KCkubWFwKHk9Pih7Li4ueX0pKSxpPWUud2lkZ2V0cy5tYXAoKHksayk9Pih7aWQ6eS5pZCx4OjAseTprPT09MD8wOmUud2lkZ2V0cy5zbGljZSgwLGspLnJlZHVjZSgoQyxOKT0+QytOLmgsMCksdzplLmNvbHVtbnMsaDp5Lmh9KSk7ZS5sYXlvdXRzPXtiYXNlOnIsbW9iaWxlOml9O2xldCBvPWEucXVlcnlTZWxlY3RvcigiI2Rhc2hib2FyZExheW91dFN0YXR1cyIpLG49cygoKT0+e2xldCB5PWUuZ2V0TGF5b3V0KCk7by50ZXh0Q29udGVudD1gQWN0aXZlIGJyZWFrcG9pbnQ6ICR7ZS5hY3RpdmVCcmVha3BvaW50fSBcdTIwMjIgVGlsZXM6ICR7eS5sZW5ndGh9YH0sInVwZGF0ZVN0YXR1cyIpLGw9d2luZG93Lm1hdGNoTWVkaWEoIihtYXgtd2lkdGg6IDc2OHB4KSIpLGQ9cygoKT0+e2xldCB5PWwubWF0Y2hlcz8ibW9iaWxlIjoiYmFzZSI7ZS5hcHBseUJyZWFrcG9pbnRMYXlvdXQoeSksbigpfSwiaGFuZGxlQnJlYWtwb2ludCIpO3R5cGVvZiBsLmFkZEV2ZW50TGlzdGVuZXI9PSJmdW5jdGlvbiI/bC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGQpOmwuYWRkTGlzdGVuZXI/LihkKSxkKCk7bGV0IGM9NDthLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaCh5PT57c3dpdGNoKHkudGV4dD8udHJpbSgpKXtjYXNlIlRvZ2dsZSBBbmltYXRpb24iOnkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ZS5lbmFibGVBbmltYXRpb249IWUuZW5hYmxlQW5pbWF0aW9ufSk7YnJlYWs7Y2FzZSJUb2dnbGUgR3JpZCBMaW5lcyI6eS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntlLnNob3dHcmlkTGluZXM9IWUuc2hvd0dyaWRMaW5lc30pO2JyZWFrO2Nhc2UiQWRkIFdpZGdldCI6eS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntsZXQgQz17aWQ6YHdpZGdldCR7YysrfWAseDowLHk6MCx3OjMsaDoyLGF1dG9Qb3NpdGlvbjohMCx0aXRsZTpgV2lkZ2V0ICR7Yy0xfWAsaWNvbjoibHVjaWRlOnBhY2thZ2UiLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjBweDsgdGV4dC1hbGlnbjogY2VudGVyOyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iY29sb3I6ICM3MTcxN2E7Ij5OZXcgd2lkZ2V0IGNvbnRlbnQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiA4cHg7IGZvbnQtc2l6ZTogMjRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsiPiR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjFlMyl9PC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYH07ZS5hZGRXaWRnZXQoQywhMCl9KTticmVhaztjYXNlIkNvbXBhY3QgR3JpZCI6eS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntlLmNvbXBhY3QoKX0pO2JyZWFrO2Nhc2UiVG9nZ2xlIEVkaXQgTW9kZSI6eS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntlLmVkaXRhYmxlPSFlLmVkaXRhYmxlLHkudGV4dD1lLmVkaXRhYmxlPyJMb2NrIEdyaWQiOiJVbmxvY2sgR3JpZCJ9KTticmVhaztjYXNlIlJlc2V0IExheW91dCI6eS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntlLmFwcGx5QnJlYWtwb2ludExheW91dChlLmFjdGl2ZUJyZWFrcG9pbnQpfSk7YnJlYWs7ZGVmYXVsdDpicmVha319KTtsZXQgdT1udWxsLG09MCx2PXMoKHksayk9PntsZXQgQz1lLmdldExheW91dCgpO2NvbnNvbGUuZ3JvdXAoYFx1ezFGNTA0fSAke3l9IFtFdmVudCAjJHsrK219XWApLGNvbnNvbGUubG9nKCJUaW1lc3RhbXA6IixuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpLGNvbnNvbGUubG9nKCJHcmlkIENvbmZpZ3VyYXRpb246Iix7Y29sdW1uczplLmNvbHVtbnMsY2VsbEhlaWdodDplLmNlbGxIZWlnaHQsbWFyZ2luOmUubWFyZ2luLGVkaXRhYmxlOmUuZWRpdGFibGUsYWN0aXZlQnJlYWtwb2ludDplLmFjdGl2ZUJyZWFrcG9pbnR9KSxjb25zb2xlLmxvZygiQ3VycmVudCBMYXlvdXQ6IixDKSxjb25zb2xlLmxvZygiV2lkZ2V0IENvdW50OiIsQy5sZW5ndGgpLGNvbnNvbGUubG9nKCJHcmlkIEJvdW5kczoiLHt0b3RhbFdpZGdldHM6ZS53aWRnZXRzLmxlbmd0aCxtYXhZOk1hdGgubWF4KC4uLkMubWFwKE49Pk4ueStOLmgpKSxvY2N1cGllZDpDLm1hcChOPT5gJHtOLmlkfTogKCR7Ti54fSwke04ueX0pICR7Ti53fXgke04uaH1gKS5qb2luKCIsICIpfSksayYmY29uc29sZS5sb2coIkV2ZW50IERldGFpbHM6IixrKSxjb25zb2xlLmdyb3VwRW5kKCl9LCJsb2dHcmlkU3RhdGUiKSx4PW5ldyBNdXRhdGlvbk9ic2VydmVyKCgpPT57bGV0IHk9ZS5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIucGxhY2Vob2xkZXIiKTtpZih5KXtsZXQgaz17bGVmdDp5LnN0eWxlLmxlZnQsdG9wOnkuc3R5bGUudG9wLHdpZHRoOnkuc3R5bGUud2lkdGgsaGVpZ2h0Onkuc3R5bGUuaGVpZ2h0fTtpZihKU09OLnN0cmluZ2lmeShrKSE9PUpTT04uc3RyaW5naWZ5KHUpKXtjb25zb2xlLmdyb3VwKCJcdXsxRjRDRH0gUGxhY2Vob2xkZXIgUG9zaXRpb24gQ2hhbmdlZCIpLGNvbnNvbGUubG9nKCJQcmV2aW91czoiLHUpLGNvbnNvbGUubG9nKCJDdXJyZW50OiIsayk7bGV0IEM9ZS5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZ3JpZC1jb250YWluZXIiKTtDJiZjb25zb2xlLmxvZygiR3JpZCBDb250YWluZXIgRGltZW5zaW9uczoiLHt3aWR0aDpDLmNsaWVudFdpZHRoLGhlaWdodDpDLmNsaWVudEhlaWdodH0pLGNvbnNvbGUuZ3JvdXBFbmQoKSx1PWt9fX0pO2Uuc2hhZG93Um9vdCYmeC5vYnNlcnZlKGUuc2hhZG93Um9vdCx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITAsYXR0cmlidXRlczohMCxhdHRyaWJ1dGVGaWx0ZXI6WyJzdHlsZSJdfSksdigiSW5pdGlhbCBHcmlkIFN0YXRlIiksZS5hZGRFdmVudExpc3RlbmVyKCJ3aWRnZXQtbW92ZSIseT0+e2xldCBrPXkuZGV0YWlsO3YoIldpZGdldCBNb3ZlIix7d2lkZ2V0Omsud2lkZ2V0LGRpc3BsYWNlZDprLmRpc3BsYWNlZCxzd2FwcGVkV2l0aDprLnN3YXBwZWRXaXRofSl9KSxlLmFkZEV2ZW50TGlzdGVuZXIoIndpZGdldC1yZXNpemUiLHk9PntsZXQgaz15LmRldGFpbDt2KCJXaWRnZXQgUmVzaXplIix7d2lkZ2V0Omsud2lkZ2V0LGRpc3BsYWNlZDprLmRpc3BsYWNlZCxzd2FwcGVkV2l0aDprLnN3YXBwZWRXaXRofSl9KSxlLmFkZEV2ZW50TGlzdGVuZXIoIndpZGdldC1yZW1vdmUiLHk9PntsZXQgaz15LmRldGFpbDt2KCJXaWRnZXQgUmVtb3ZlIix7cmVtb3ZlZFdpZGdldDprLndpZGdldH0pLG4oKX0pLGUuYWRkRXZlbnRMaXN0ZW5lcigibGF5b3V0LWNoYW5nZSIsKCk9Pnt2KCJMYXlvdXQgQ2hhbmdlIiksbigpfSksZS5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIseT0+e2xldCBrPXkudGFyZ2V0LmNsb3Nlc3QoIi53aWRnZXQtaGVhZGVyIiksQz15LnRhcmdldC5jbG9zZXN0KCIucmVzaXplLWhhbmRsZSIpO2lmKGt8fEMpe2NvbnNvbGUuZ3JvdXAoYFx1ezFGM0FGfSBJbnRlcmFjdGlvbiBTdGFydGVkOiAke2s/IkRyYWciOiJSZXNpemUifWApLGNvbnNvbGUubG9nKCJUYXJnZXQgV2lkZ2V0OiIseS50YXJnZXQuY2xvc2VzdCgiLndpZGdldCIpPy5nZXRBdHRyaWJ1dGUoImRhdGEtd2lkZ2V0LWlkIikpLGNvbnNvbGUubG9nKCJQb2ludGVyIFBvc2l0aW9uOiIse3g6eS5jbGllbnRYLHk6eS5jbGllbnRZfSksY29uc29sZS5ncm91cEVuZCgpO2xldCBOPXMoej0+e2xldCBPPXkudGFyZ2V0LmNsb3Nlc3QoIi53aWRnZXQiKTtPJiZjb25zb2xlLmxvZygiXHUyMTk0XHVGRTBGIFBvaW50ZXIgTW92ZToiLHt3aWRnZXRJZDpPLmdldEF0dHJpYnV0ZSgiZGF0YS13aWRnZXQtaWQiKSxwb3NpdGlvbjp7eDp6LmNsaWVudFgseTp6LmNsaWVudFl9LGRlbHRhOnt4OnouY2xpZW50WC15LmNsaWVudFgseTp6LmNsaWVudFkteS5jbGllbnRZfX0pfSwiaGFuZGxlUG9pbnRlck1vdmUiKSxfPXMoKCk9Pntjb25zb2xlLmdyb3VwKCJcdXsxRjNDMX0gSW50ZXJhY3Rpb24gRW5kZWQiKSx2KCJGaW5hbCBTdGF0ZSBBZnRlciBJbnRlcmFjdGlvbiIpLGNvbnNvbGUuZ3JvdXBFbmQoKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsTiksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixfKX0sImhhbmRsZVBvaW50ZXJVcCIpO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIixOKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLF8pfX0pO2xldCBiPWUuYWRkV2lkZ2V0LmJpbmQoZSk7ZS5hZGRXaWRnZXQ9KHksayk9Pntjb25zb2xlLmdyb3VwKCJcdTI3OTUgQWRkaW5nIFdpZGdldCIpLGNvbnNvbGUubG9nKCJOZXcgV2lkZ2V0OiIseSksY29uc29sZS5sb2coIkF1dG8gUG9zaXRpb246IixrKTtsZXQgQz1iKHksayk7cmV0dXJuIHYoIkFmdGVyIFdpZGdldCBBZGRlZCIpLGNvbnNvbGUuZ3JvdXBFbmQoKSxDfTtsZXQgZz1lLmNvbXBhY3QuYmluZChlKTtlLmNvbXBhY3Q9eT0+e2NvbnNvbGUuZ3JvdXAoIlx1ezFGNURDfVx1RkUwRiBDb21wYWN0aW5nIEdyaWQiKSxjb25zb2xlLmxvZygiRGlyZWN0aW9uOiIseXx8InZlcnRpY2FsIiksdigiQmVmb3JlIENvbXBhY3QiKTtsZXQgaz1nKHkpO3JldHVybiB2KCJBZnRlciBDb21wYWN0IiksY29uc29sZS5ncm91cEVuZCgpLGt9LG4oKX19PgogICAgICA8c3R5bGU+CiAgICAgICAgJHtYYAogICAgICAgICAgLmRlbW9Cb3ggewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzA5MDkwYiIpfTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgfQoKICAgICAgICAgIC5kZW1vLWNvbnRyb2xzIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgICB9CgogICAgICAgICAgLmRlbW8tY29udHJvbHMgZGVlcy1idXR0b24gewogICAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICAgIH0KCiAgICAgICAgICAuZ3JpZC1jb250YWluZXItd3JhcHBlciB7CiAgICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYwMHB4OwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICB9CgogICAgICAgICAgLmluZm8gewogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgICB9CgogICAgICAgICAgI2Rhc2hib2FyZExheW91dFN0YXR1cyB7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgICB9CiAgICAgICAgYH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iZGVtb0JveCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1jb250cm9scyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IkFuaW1hdGlvbjoiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+VG9nZ2xlIEFuaW1hdGlvbjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgoKICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iRGlzcGxheToiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+VG9nZ2xlIEdyaWQgTGluZXM8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KCiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IkFjdGlvbnM6Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkFkZCBXaWRnZXQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+Q29tcGFjdCBHcmlkPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlJlc2V0IExheW91dDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgoKICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iTW9kZToiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+VG9nZ2xlIEVkaXQgTW9kZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWNvbnRhaW5lci13cmFwcGVyIj4KICAgICAgICAgIDxkZWVzLWRhc2hib2FyZGdyaWQgaWQ9ImRhc2hib2FyZEdyaWQiPjwvZGVlcy1kYXNoYm9hcmRncmlkPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvIj4KICAgICAgICAgIDxkaXY+RHJhZyB0byByZXBvc2l0aW9uLCByZXNpemUgZnJvbSBoYW5kbGVzLCBvciByaWdodC1jbGljayBhIGhlYWRlciB0byBkZWxldGUgYSB0aWxlLjwvZGl2PgogICAgICAgICAgPGRpdiBpZD0iZGFzaGJvYXJkTGF5b3V0U3RhdHVzIj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgYCwiZGVtb0Z1bmMiKX0pO3ZhciBJNGEsTjRhPWYoKCk9PntsZSgpO0k0YT1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAuZ3JpZC1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtaW4taGVpZ2h0OiA0MDBweDsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuZ3JpZC13aWRnZXQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB3aWxsLWNoYW5nZTogYXV0bzsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW2VuYWJsZWFuaW1hdGlvbl0pIC5ncmlkLXdpZGdldCB7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfQoKICAgICAgLmdyaWQtd2lkZ2V0LmRyYWdnaW5nIHsKICAgICAgICB6LWluZGV4OiAxMDAwOwogICAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgICAgY3Vyc29yOiBncmFiYmluZzsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICB9CiAgICAgIAogICAgICAuZ3JpZC13aWRnZXQucGxhY2Vob2xkZXIgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHotaW5kZXg6IDE7CiAgICAgIH0KICAgICAgCiAgICAgIC5ncmlkLXdpZGdldC5wbGFjZWhvbGRlciAud2lkZ2V0LWNvbnRlbnQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIil9OwogICAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsKICAgICAgfQoKICAgICAgLmdyaWQtd2lkZ2V0LnJlc2l6aW5nIHsKICAgICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC53aWRnZXQtY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGJveC1zaGFkb3c6ICR7aC5iZFRoZW1lKCIwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpIiwiMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4zKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnMgZWFzZTsKICAgICAgfQoKICAgICAgLmdyaWQtd2lkZ2V0OmhvdmVyIC53aWRnZXQtY29udGVudCB7CiAgICAgICAgYm94LXNoYWRvdzogJHtoLmJkVGhlbWUoIjAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KSIsIjAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjQpIil9OwogICAgICB9CgogICAgICAuZ3JpZC13aWRnZXQuZHJhZ2dpbmcgLndpZGdldC1jb250ZW50IHsKICAgICAgICBib3gtc2hhZG93OiAke2guYmRUaGVtZSgiMCAxNnB4IDQ4cHggcmdiYSgwLCAwLCAwLCAwLjI1KSIsIjAgMTZweCA0OHB4IHJnYmEoMCwgMCwgMCwgMC42KSIpfTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwogICAgICB9CgogICAgICAud2lkZ2V0LWhlYWRlciB7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOWZhZmIiLCIjMGEwYTBhIil9OwogICAgICAgIGN1cnNvcjogZ3JhYjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLndpZGdldC1oZWFkZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLndpZGdldC1oZWFkZXI6YWN0aXZlIHsKICAgICAgICBjdXJzb3I6IGdyYWJiaW5nOwogICAgICB9CgogICAgICAud2lkZ2V0LWhlYWRlci5sb2NrZWQgewogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgfQogICAgICAKICAgICAgLndpZGdldC1oZWFkZXIubG9ja2VkOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMwYTBhMGEiKX07CiAgICAgIH0KCiAgICAgIC53aWRnZXQtaGVhZGVyIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgIH0KCiAgICAgIC53aWRnZXQtYm9keSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAud2lkZ2V0LWJvZHkuaGFzLWhlYWRlciB7CiAgICAgICAgdG9wOiA0NXB4OwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIHotaW5kZXg6IDEwOwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICAgIG9wYWNpdHk6IDAuMzsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUtZSB7CiAgICAgICAgY3Vyc29yOiBldy1yZXNpemU7CiAgICAgICAgd2lkdGg6IDEycHg7CiAgICAgICAgcmlnaHQ6IC02cHg7CiAgICAgICAgdG9wOiAxMCU7CiAgICAgICAgaGVpZ2h0OiA4MCU7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLXMgewogICAgICAgIGN1cnNvcjogbnMtcmVzaXplOwogICAgICAgIGhlaWdodDogMTJweDsKICAgICAgICB3aWR0aDogODAlOwogICAgICAgIGJvdHRvbTogLTZweDsKICAgICAgICBsZWZ0OiAxMCU7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLXNlIHsKICAgICAgICBjdXJzb3I6IHNlLXJlc2l6ZTsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgcmlnaHQ6IC0ycHg7CiAgICAgICAgYm90dG9tOiAtMnB4OwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7CiAgICAgIH0KICAgICAgCiAgICAgIC5yZXNpemUtaGFuZGxlLXNlOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiA0cHg7CiAgICAgICAgYm90dG9tOiA0cHg7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgICAgfQoKICAgICAgLmdyaWQtd2lkZ2V0OmhvdmVyIC5yZXNpemUtaGFuZGxlLXNlIHsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLXNlOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgICAgCiAgICAgIC5yZXNpemUtaGFuZGxlLXNlOmhvdmVyOjphZnRlciB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgIH0KCiAgICAgIC5ncmlkLXBsYWNlaG9sZGVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICAgIG9wYWNpdHk6IDAuMTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgYm9yZGVyOiAycHggZGFzaGVkICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogNDAwcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMzJweDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiA0OHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CiAgICAgIAogICAgICAuZ3JpZC1saW5lcyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB6LWluZGV4OiAtMTsKICAgICAgfQogICAgICAKICAgICAgLmdyaWQtbGluZS12ZXJ0aWNhbCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgb3BhY2l0eTogMC4zOwogICAgICB9CiAgICAgIAogICAgICAuZ3JpZC1saW5lLWhvcml6b250YWwgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICBvcGFjaXR5OiAwLjM7CiAgICAgIH0KICBgXX0pO3ZhciB6aW8sRlFlLEY0YSxCNGEsUjRhLG9HLE80YSxhTmEsck5hLEJRZSxCNCxINGEscTRhLFY0YT1mKCgpPT57emlvPTEwLEZRZT1zKGE9PntpZih0eXBlb2YgYT09Im51bWJlciIpcmV0dXJue2hvcml6b250YWw6YSx2ZXJ0aWNhbDphLHRvcDphLHJpZ2h0OmEsYm90dG9tOmEsbGVmdDphfTtsZXQgZT17dG9wOmEudG9wPz8xMCxyaWdodDphLnJpZ2h0Pz8xMCxib3R0b206YS5ib3R0b20/PzEwLGxlZnQ6YS5sZWZ0Pz8xMH07cmV0dXJuey4uLmUsaG9yaXpvbnRhbDooZS5sZWZ0K2UucmlnaHQpLzIsdmVydGljYWw6KGUudG9wK2UuYm90dG9tKS8yfX0sInJlc29sdmVNYXJnaW5zIiksRjRhPXMoKGEsZSx0LHIsaSk9PntsZXQgbz10Lmhvcml6b250YWwqKGUrMSksbj1NYXRoLm1heChhLW8sMCksbD1lPjA/bi9lOjAsZD1pPT09ImF1dG8iP2w6cjtyZXR1cm57Y29udGFpbmVyV2lkdGg6YSxjZWxsV2lkdGhQeDpsLG1hcmdpbkhvcml6b250YWxQeDp0Lmhvcml6b250YWwsY2VsbEhlaWdodFB4OmQsbWFyZ2luVmVydGljYWxQeDp0LnZlcnRpY2FsfX0sImNhbGN1bGF0ZUNlbGxNZXRyaWNzIiksQjRhPXMoKGEsZSx0KT0+e2lmKGEubGVuZ3RoPT09MClyZXR1cm4gMDtsZXQgcj1NYXRoLm1heCguLi5hLm1hcChpPT5pLnkraS5oKSwwKTtyZXR1cm4gcip0KyhyKzEpKmUudmVydGljYWx9LCJjYWxjdWxhdGVHcmlkSGVpZ2h0IiksUjRhPXMoKGEsZSx0LHIsaSk9PmU8YS54K2EudyYmZStyPmEueCYmdDxhLnkrYS5oJiZ0K2k+YS55LCJvdmVybGFwcyIpLG9HPXMoKGEsZSx0LHIsaT1lLncsbz1lLmgpPT5hLmZpbHRlcihuPT5uLmlkPT09ZS5pZD8hMTpSNGEobix0LHIsaSxvKSksImNvbGxlY3RDb2xsaXNpb25zIiksTzRhPXMoKGEsZSx0LHIpPT5vRyhhLGUsdCxyKS5sZW5ndGg+MCwiY2hlY2tDb2xsaXNpb24iKSxhTmE9cyhhPT4oey4uLmF9KSwiY2xvbmVXaWRnZXQiKSxyTmE9cyhhPT5hLm1hcChhTmEpLCJjbG9uZVdpZGdldHMiKSxCUWU9cygoYSxlLHQscik9Pntmb3IobGV0IG89MDtvPDIwMDtvKyspZm9yKGxldCBuPTA7bjw9ci1lO24rKylpZighYS5zb21lKGQ9PlI0YShkLG4sbyxlLHQpKSlyZXR1cm57eDpuLHk6b307cmV0dXJue3g6MCx5OmEucmVkdWNlKChvLG4pPT5NYXRoLm1heChvLG4ueStuLmgpLDApfX0sImZpbmRBdmFpbGFibGVQb3NpdGlvbiIpLEI0PXMoKGEsZSx0LHIsaSk9PntsZXQgbz1yTmEoYSksbj1vLmZpbmQobT0+bS5pZD09PWUpLGw9YS5maW5kKG09Pm0uaWQ9PT1lKTtpZighbnx8IWwpcmV0dXJuIG51bGw7bGV0IGQ9e3g6dC54LHk6dC55LHc6dC53Pz9uLncsaDp0Lmg/P24uaH07bi54PWQueCxuLnk9ZC55LG4udz1kLncsbi5oPWQuaDtsZXQgYz1vRyhvLG4sZC54LGQueSxkLncsZC5oKTtpZihjLmxlbmd0aD09PTApcmV0dXJue3dpZGdldHM6byxtb3ZlZFdpZGdldHM6W24uaWRdfTtpZihjLmxlbmd0aD09PTEpe2xldCBtPWNbMF07aWYoIW0ubG9ja2VkJiYhbS5ub01vdmUmJm0udz09PW4udyYmbS5oPT09bi5oKXtsZXQgdj1vLmZpbmQoeD0+eC5pZD09PW0uaWQpO2lmKHYpe2xldCB4PWwsYj17eDp2LngseTp2Lnl9O2lmKHYueD14Lngsdi55PXgueSxvRyhvLG4sbi54LG4ueSxuLncsbi5oKS5sZW5ndGg9PT0wJiZvRyhvLHYsdi54LHYueSx2Lncsdi5oKS5sZW5ndGg9PT0wKXJldHVybnt3aWRnZXRzOm8sbW92ZWRXaWRnZXRzOltuLmlkLHYuaWRdLHN3YXBwZWRXaXRoOnYuaWR9O3YueD1iLngsdi55PWIueX19fWxldCBwPW5ldyBTZXQoW24uaWRdKTtmb3IobGV0IG0gb2YgYyl7aWYobS5sb2NrZWR8fG0ubm9Nb3ZlKXJldHVybiBudWxsO2xldCB2PW8uZmluZChnPT5nLmlkPT09bS5pZCk7aWYoIXYpY29udGludWU7bGV0IHg9by5maWx0ZXIoZz0+Zy5pZCE9PW0uaWQpLGI9QlFlKHgsdi53LHYuaCxyKTt2Lng9Yi54LHYueT1iLnkscC5hZGQodi5pZCl9cmV0dXJuIG9HKG8sbixuLngsbi55LG4udyxuLmgpLmxlbmd0aD4wP251bGw6e3dpZGdldHM6byxtb3ZlZFdpZGdldHM6QXJyYXkuZnJvbShwKX19LCJyZXNvbHZlV2lkZ2V0UGxhY2VtZW50IiksSDRhPXMoKGEsZT0idmVydGljYWwiKT0+e2xldCB0PVsuLi5hXS5zb3J0KChyLGkpPT5lPT09InZlcnRpY2FsIj9yLnkhPT1pLnk/ci55LWkueTpyLngtaS54OnIueCE9PWkueD9yLngtaS54OnIueS1pLnkpO2ZvcihsZXQgciBvZiB0KWlmKCEoci5sb2NrZWR8fHIubm9Nb3ZlKSlpZihlPT09InZlcnRpY2FsIilmb3IoO3IueT4wJiYhTzRhKGEscixyLngsci55LTEpOylyLnktPTE7ZWxzZSBmb3IoO3IueD4wJiYhTzRhKGEscixyLngtMSxyLnkpOylyLngtPTF9LCJjb21wYWN0TGF5b3V0IikscTRhPXMoKGEsZSk9PmEubWFwKHQ9PntsZXQgcj1lLmZpbmQoaT0+aS5pZD09PXQuaWQpO3JldHVybiByP3suLi50LC4uLnJ9OnR9KSwiYXBwbHlMYXlvdXQiKX0pO3ZhciBqNGEsVTRhLFc0YT1mKCgpPT57ajRhPXMoKHtwb2ludGVyOmEsY29udGFpbmVyUmVjdDplLG1ldHJpY3M6dCxjb2x1bW5zOnIsd2lkZ2V0OmkscnRsOm8sZHJhZ09mZnNldFg6bj0wLGRyYWdPZmZzZXRZOmw9MH0pPT57bGV0IGQ9YS5jbGllbnRYLWUubGVmdC1uLGM9YS5jbGllbnRZLWUudG9wLWwscD10Lm1hcmdpbkhvcml6b250YWxQeCx1PXQubWFyZ2luVmVydGljYWxQeCxtPXQuY2VsbFdpZHRoUHgsdj10LmNlbGxIZWlnaHRQeCx4PXMoKF8seixPKT0+TWF0aC5tYXgoeixNYXRoLm1pbihPLF8pKSwiY2xhbXAiKSxiPXgoZC1wLDAsZS53aWR0aC1wKSxnPXgoYy11LDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSx5PW0rcCxrPXYrdSxDPU1hdGgucm91bmQoYi95KTtvJiYoQz1yLWkudy1DKSxDPXgoQywwLHItaS53KTtsZXQgTj14KE1hdGgucm91bmQoZy9rKSwwLE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKTtyZXR1cm57eDpDLHk6Tn19LCJjb21wdXRlR3JpZENvb3JkaW5hdGVzIiksVTRhPXMoKHtwb2ludGVyOmEsY29udGFpbmVyUmVjdDplLG1ldHJpY3M6dCxzdGFydFdpZHRoOnIsc3RhcnRIZWlnaHQ6aSxzdGFydFBvaW50ZXI6byxoYW5kbGVyOm4sd2lkZ2V0OmwsY29sdW1uczpkfSk9PntsZXQgYz1hLmNsaWVudFgtby5jbGllbnRYLHA9YS5jbGllbnRZLW8uY2xpZW50WSx1PXIsbT1pLHY9dC5jZWxsV2lkdGhQeCt0Lm1hcmdpbkhvcml6b250YWxQeCx4PXQuY2VsbEhlaWdodFB4K3QubWFyZ2luVmVydGljYWxQeDtpZihuLmluY2x1ZGVzKCJlIikpe2xldCB5PU1hdGgucm91bmQoYy92KTt1PXIreX1pZihuLmluY2x1ZGVzKCJzIikpe2xldCB5PU1hdGgucm91bmQocC94KTttPWkreX1sZXQgYj1NYXRoLm1heChsLm1pbld8fDEsTWF0aC5taW4odSxsLm1heFd8fGQtbC54KSksZz1NYXRoLm1heChsLm1pbkh8fDEsTWF0aC5taW4obSxsLm1heEh8fE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSk7cmV0dXJue3dpZHRoOmIsaGVpZ2h0Omd9fSwiY29tcHV0ZVJlc2l6ZURpbWVuc2lvbnMiKX0pO3ZhciBHNGEsWTRhPWYoKCk9PntacigpO1ZzKCk7RzRhPXMoKHt3aWRnZXQ6YSxob3N0OmUsZXZlbnQ6dH0pPT57bGV0IHI9W3tuYW1lOiJEZWxldGUgdGlsZSIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaDIiLGFjdGlvbjpzKGFzeW5jKCk9PihlLnJlbW92ZVdpZGdldChhLmlkKSxudWxsKSwiYWN0aW9uIil9XTt0YS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyh0LHIpfSwib3BlbldpZGdldENvbnRleHRNZW51Iil9KTt2YXIgSWksRmEsSzRhLFo0YT1mKCgpPT57bGUoKTt2YSgpO1pyKCk7UDRhKCk7TjRhKCk7VjRhKCk7VzRhKCk7WTRhKCk7SWk9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEZhPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxLNGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWRhc2hib2FyZGdyaWQiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdLGNlLHVlPVtdLFk9W10sUSxKPVtdLFo9W10sZ2UsYWU9W10scmU9W107dmFyIHllPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzRGFzaGJvYXJkZ3JpZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBWPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpOdW1iZXJ9KV0sdT1bJCh7dHlwZTpPYmplY3R9KV0seD1bJCh7dHlwZTpOdW1iZXJ9KV0seT1bJCh7dHlwZTpCb29sZWFufSldLE49WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLE89WyQoe3R5cGU6U3RyaW5nfSldLEI9WyQoe3R5cGU6Qm9vbGVhbn0pXSxQPVskKHt0eXBlOkJvb2xlYW59KV0sVz1bJCh7YXR0cmlidXRlOiExfSldLGhlPVskKHt0eXBlOlN0cmluZ30pXSxtZT1bSygpXSxjZT1bSygpXSxRPVtLKCldLGdlPVtLKCldLElpKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToid2lkZ2V0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4id2lkZ2V0cyJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILndpZGdldHMsImdldCIpLHNldDpzKChILG9lKT0+e0gud2lkZ2V0cz1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxuLGwpLElpKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2VsbEhlaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iY2VsbEhlaWdodCJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmNlbGxIZWlnaHQsImdldCIpLHNldDpzKChILG9lKT0+e0guY2VsbEhlaWdodD1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxjLHApLElpKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFyZ2luIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJtYXJnaW4iaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5tYXJnaW4sImdldCIpLHNldDpzKChILG9lKT0+e0gubWFyZ2luPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LG0sdiksSWkodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb2x1bW5zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJjb2x1bW5zImluIEgsImhhcyIpLGdldDpzKEg9PkguY29sdW1ucywiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5jb2x1bW5zPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LGIsZyksSWkodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlZGl0YWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iZWRpdGFibGUiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5lZGl0YWJsZSwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5lZGl0YWJsZT1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxrLEMpLElpKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW5hYmxlQW5pbWF0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJlbmFibGVBbmltYXRpb24iaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5lbmFibGVBbmltYXRpb24sImdldCIpLHNldDpzKChILG9lKT0+e0guZW5hYmxlQW5pbWF0aW9uPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LF8seiksSWkodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjZWxsSGVpZ2h0VW5pdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iY2VsbEhlaWdodFVuaXQiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5jZWxsSGVpZ2h0VW5pdCwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5jZWxsSGVpZ2h0VW5pdD1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxULEUpLElpKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicnRsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJydGwiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5ydGwsImdldCIpLHNldDpzKChILG9lKT0+e0gucnRsPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LE0sUyksSWkodGhpcyxudWxsLFAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93R3JpZExpbmVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJzaG93R3JpZExpbmVzImluIEgsImhhcyIpLGdldDpzKEg9Pkguc2hvd0dyaWRMaW5lcywiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5zaG93R3JpZExpbmVzPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LEEsRiksSWkodGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYXlvdXRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJsYXlvdXRzImluIEgsImhhcyIpLGdldDpzKEg9PkgubGF5b3V0cywiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5sYXlvdXRzPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LGosRyksSWkodGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aXZlQnJlYWtwb2ludCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iYWN0aXZlQnJlYWtwb2ludCJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmFjdGl2ZUJyZWFrcG9pbnQsImdldCIpLHNldDpzKChILG9lKT0+e0guYWN0aXZlQnJlYWtwb2ludD1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxSLFUpLElpKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYWNlaG9sZGVyUG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+InBsYWNlaG9sZGVyUG9zaXRpb24iaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5wbGFjZWhvbGRlclBvc2l0aW9uLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILnBsYWNlaG9sZGVyUG9zaXRpb249b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sSSxxKSxJaSh0aGlzLG51bGwsY2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZXRyaWNzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJtZXRyaWNzImluIEgsImhhcyIpLGdldDpzKEg9PkgubWV0cmljcywiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5tZXRyaWNzPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LHVlLFkpLElpKHRoaXMsbnVsbCxRLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVzb2x2ZWRNYXJnaW5zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJyZXNvbHZlZE1hcmdpbnMiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5yZXNvbHZlZE1hcmdpbnMsImdldCIpLHNldDpzKChILG9lKT0+e0gucmVzb2x2ZWRNYXJnaW5zPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LEosWiksSWkodGhpcyxudWxsLGdlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicHJldmlld1dpZGdldHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+InByZXZpZXdXaWRnZXRzImluIEgsImhhcyIpLGdldDpzKEg9PkgucHJldmlld1dpZGdldHMsImdldCIpLHNldDpzKChILG9lKT0+e0gucHJldmlld1dpZGdldHM9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sYWUscmUpLElpKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlZ9LG51bGwsdCkseWU9cj1lLnZhbHVlLFYmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Vn0pfXN0YXRpYyBkZW1vPUU0YTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkxheW91dCJdO3N0YXRpYyBzdHlsZXM9STRhOyNlPUZhKHRoaXMsbixbXSk7Z2V0IHdpZGdldHMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgd2lkZ2V0cyhWKXt0aGlzLiNlPVZ9I3Q9KEZhKHRoaXMsbCksRmEodGhpcyxjLDgwKSk7Z2V0IGNlbGxIZWlnaHQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgY2VsbEhlaWdodChWKXt0aGlzLiN0PVZ9I2E9KEZhKHRoaXMscCksRmEodGhpcyxtLDEwKSk7Z2V0IG1hcmdpbigpe3JldHVybiB0aGlzLiNhfXNldCBtYXJnaW4oVil7dGhpcy4jYT1WfSNyPShGYSh0aGlzLHYpLEZhKHRoaXMsYiwxMikpO2dldCBjb2x1bW5zKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGNvbHVtbnMoVil7dGhpcy4jcj1WfSNzPShGYSh0aGlzLGcpLEZhKHRoaXMsaywhMCkpO2dldCBlZGl0YWJsZSgpe3JldHVybiB0aGlzLiNzfXNldCBlZGl0YWJsZShWKXt0aGlzLiNzPVZ9I2k9KEZhKHRoaXMsQyksRmEodGhpcyxfLCEwKSk7Z2V0IGVuYWJsZUFuaW1hdGlvbigpe3JldHVybiB0aGlzLiNpfXNldCBlbmFibGVBbmltYXRpb24oVil7dGhpcy4jaT1WfSNvPShGYSh0aGlzLHopLEZhKHRoaXMsVCwicHgiKSk7Z2V0IGNlbGxIZWlnaHRVbml0KCl7cmV0dXJuIHRoaXMuI299c2V0IGNlbGxIZWlnaHRVbml0KFYpe3RoaXMuI289Vn0jbj0oRmEodGhpcyxFKSxGYSh0aGlzLE0sITEpKTtnZXQgcnRsKCl7cmV0dXJuIHRoaXMuI259c2V0IHJ0bChWKXt0aGlzLiNuPVZ9I2w9KEZhKHRoaXMsUyksRmEodGhpcyxBLCExKSk7Z2V0IHNob3dHcmlkTGluZXMoKXtyZXR1cm4gdGhpcy4jbH1zZXQgc2hvd0dyaWRMaW5lcyhWKXt0aGlzLiNsPVZ9I2M9KEZhKHRoaXMsRiksRmEodGhpcyxqLHZvaWQgMCkpO2dldCBsYXlvdXRzKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGxheW91dHMoVil7dGhpcy4jYz1WfSNkPShGYSh0aGlzLEcpLEZhKHRoaXMsUiwiYmFzZSIpKTtnZXQgYWN0aXZlQnJlYWtwb2ludCgpe3JldHVybiB0aGlzLiNkfXNldCBhY3RpdmVCcmVha3BvaW50KFYpe3RoaXMuI2Q9Vn0jdT0oRmEodGhpcyxVKSxGYSh0aGlzLEksbnVsbCkpO2dldCBwbGFjZWhvbGRlclBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI3V9c2V0IHBsYWNlaG9sZGVyUG9zaXRpb24oVil7dGhpcy4jdT1WfSNwPShGYSh0aGlzLHEpLEZhKHRoaXMsdWUsbnVsbCkpO2dldCBtZXRyaWNzKCl7cmV0dXJuIHRoaXMuI3B9c2V0IG1ldHJpY3MoVil7dGhpcy4jcD1WfSNmPShGYSh0aGlzLFkpLEZhKHRoaXMsSixudWxsKSk7Z2V0IHJlc29sdmVkTWFyZ2lucygpe3JldHVybiB0aGlzLiNmfXNldCByZXNvbHZlZE1hcmdpbnMoVil7dGhpcy4jZj1WfSNoPShGYSh0aGlzLFopLEZhKHRoaXMsYWUsbnVsbCkpO2dldCBwcmV2aWV3V2lkZ2V0cygpe3JldHVybiB0aGlzLiNofXNldCBwcmV2aWV3V2lkZ2V0cyhWKXt0aGlzLiNoPVZ9Y29udGFpbmVyQm91bmRzPShGYSh0aGlzLHJlKSxudWxsKTtkcmFnU3RhdGU9bnVsbDtyZXNpemVTdGF0ZT1udWxsO3Jlc2l6ZU9ic2VydmVyO2ludGVyYWN0aW9uQWN0aXZlPSExO2FzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmNvbXB1dGVNZXRyaWNzKCksdGhpcy5vYnNlcnZlUmVzaXplKCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuZGlzY29ubmVjdFJlc2l6ZU9ic2VydmVyKCksdGhpcy5yZWxlYXNlUG9pbnRlckV2ZW50cygpfXVwZGF0ZWQoVil7KFYuaGFzKCJtYXJnaW4iKXx8Vi5oYXMoImNvbHVtbnMiKXx8Vi5oYXMoImNlbGxIZWlnaHQiKXx8Vi5oYXMoImNlbGxIZWlnaHRVbml0IikpJiZ0aGlzLmNvbXB1dGVNZXRyaWNzKCksVi5oYXMoIndpZGdldHMiKSYmIXRoaXMuaW50ZXJhY3Rpb25BY3RpdmUmJnRoaXMubm90aWZ5TGF5b3V0Q2hhbmdlKCl9cmVuZGVyKCl7bGV0IFY9dGhpcy53aWRnZXRzO2lmKFYubGVuZ3RoPT09MClyZXR1cm4gd2AKICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+CiAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpsYXlvdXRHcmlkIn0+PC9kZWVzLWljb24+CiAgICAgICAgICA8ZGl2Pk5vIHdpZGdldHMgY29uZmlndXJlZDwvZGl2PgogICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxNHB4OyBtYXJnaW4tdG9wOiA4cHg7Ij5BZGQgd2lkZ2V0cyB0byBwb3B1bGF0ZSB0aGUgZGFzaGJvYXJkPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGA7bGV0IEg9dGhpcy5lbnN1cmVNZXRyaWNzKCksb2U9dGhpcy5yZXNvbHZlZE1hcmdpbnM/P0ZRZSh0aGlzLm1hcmdpbiksc2U9SC5jZWxsSGVpZ2h0UHgsdGU9dGhpcy5wcmV2aWV3V2lkZ2V0cz8/dGhpcy53aWRnZXRzLHplPUI0YSh0ZSxvZSxzZSksT2U9dGhpcy5wcmV2aWV3V2lkZ2V0cz9uZXcgTWFwKHRoaXMucHJldmlld1dpZGdldHMubWFwKHFlPT5bcWUuaWQscWVdKSk6bnVsbDtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1jb250YWluZXIiIHN0eWxlPSJoZWlnaHQ6ICR7emV9cHg7Ij4KICAgICAgICAke3RoaXMuc2hvd0dyaWRMaW5lcz90aGlzLnJlbmRlckdyaWRMaW5lcyhILHplKTpudWxsfQogICAgICAgICR7Vi5tYXAocWU9PnRoaXMucmVuZGVyV2lkZ2V0KHFlLEgsb2UsT2UpKX0KICAgICAgICAke3RoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj90aGlzLnJlbmRlclBsYWNlaG9sZGVyKEgsb2UpOm51bGx9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJHcmlkTGluZXMoVixIKXtsZXQgb2U9W10sc2U9W10sdGU9Vi5jZWxsV2lkdGhQeCtWLm1hcmdpbkhvcml6b250YWxQeCx6ZT1WLmNlbGxIZWlnaHRQeCtWLm1hcmdpblZlcnRpY2FsUHg7Zm9yKGxldCBxZT0wO3FlPD10aGlzLmNvbHVtbnM7cWUrKyl7bGV0IGN0PXFlKnRlK1YubWFyZ2luSG9yaXpvbnRhbFB4LCRlPXRoaXMucHhUb1BlcmNlbnQoY3QsVi5jb250YWluZXJXaWR0aCk7b2UucHVzaCh3YDxkaXYgY2xhc3M9ImdyaWQtbGluZS12ZXJ0aWNhbCIgc3R5bGU9ImxlZnQ6ICR7JGV9JTsiPjwvZGl2PmApfWxldCBPZT1NYXRoLmNlaWwoSC96ZSk7Zm9yKGxldCBxZT0wO3FlPD1PZTtxZSsrKXtsZXQgY3Q9cWUqemU7c2UucHVzaCh3YDxkaXYgY2xhc3M9ImdyaWQtbGluZS1ob3Jpem9udGFsIiBzdHlsZT0idG9wOiAke2N0fXB4OyI+PC9kaXY+YCl9cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQtbGluZXMiPgogICAgICAgICR7b2V9CiAgICAgICAgJHtzZX0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlcldpZGdldChWLEgsb2Usc2Upe2xldCB0ZT10aGlzLmRyYWdTdGF0ZT8ud2lkZ2V0SWQ9PT1WLmlkLHplPXRoaXMucmVzaXplU3RhdGU/LndpZGdldElkPT09Vi5pZCxPZT1WLmxvY2tlZHx8IXRoaXMuZWRpdGFibGUscWU9c2U/LmdldChWLmlkKT8/bnVsbCxjdD10ZT9WOnFlPz9WLCRlPXRoaXMuY29tcHV0ZVdpZGdldFJlY3QoY3QsSCxvZSksQ2U9dGhpcy5ydGw/InJpZ2h0IjoibGVmdCIsTWU9dGhpcy5weFRvUGVyY2VudCgkZS5sZWZ0LEguY29udGFpbmVyV2lkdGgpLGRlPXRoaXMucHhUb1BlcmNlbnQoJGUud2lkdGgsSC5jb250YWluZXJXaWR0aCksdmU9IiI7aWYodGUmJnRoaXMuZHJhZ1N0YXRlPy5jdXJyZW50UG9pbnRlcil7bGV0IEFlPXRoaXMuZHJhZ1N0YXRlLmN1cnJlbnRQb2ludGVyLFplPXRoaXMuY29udGFpbmVyQm91bmRzPz90aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGx0PUFlLmNsaWVudFgtWmUubGVmdC10aGlzLmRyYWdTdGF0ZS5vZmZzZXRYLSRlLmxlZnQsenQ9QWUuY2xpZW50WS1aZS50b3AtdGhpcy5kcmFnU3RhdGUub2Zmc2V0WS0kZS50b3A7dmU9YHRyYW5zZm9ybTogdHJhbnNsYXRlKCR7bHR9cHgsICR7enR9cHgpO2B9cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0iZ3JpZC13aWRnZXQgJHt0ZT8iZHJhZ2dpbmciOiIifSAke3plPyJyZXNpemluZyI6IiJ9IgogICAgICAgIHN0eWxlPSIKICAgICAgICAgICR7Q2V9OiAke01lfSU7CiAgICAgICAgICB0b3A6ICR7JGUudG9wfXB4OwogICAgICAgICAgd2lkdGg6ICR7ZGV9JTsKICAgICAgICAgIGhlaWdodDogJHskZS5oZWlnaHR9cHg7CiAgICAgICAgICAke3ZlfQogICAgICAgICIKICAgICAgICBkYXRhLXdpZGdldC1pZD0ke1YuaWR9CiAgICAgID4KICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQtY29udGVudCI+CiAgICAgICAgICAke1YudGl0bGU/d2AKICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgY2xhc3M9IndpZGdldC1oZWFkZXIgJHtPZT8ibG9ja2VkIjoiIn0iCiAgICAgICAgICAgICAgICAgIEBwb2ludGVyZG93bj0keyFPZSYmIVYubm9Nb3ZlP0FlPT50aGlzLnN0YXJ0RHJhZyhBZSxWKTpudWxsfQogICAgICAgICAgICAgICAgICBAY29udGV4dG1lbnU9JHtBZT0+dGhpcy5oYW5kbGVXaWRnZXRDb250ZXh0TWVudShBZSxWKX0KICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9JHshT2UmJiFWLm5vTW92ZT8wOi0xfQogICAgICAgICAgICAgICAgICBAa2V5ZG93bj0ke0FlPT50aGlzLmhhbmRsZUhlYWRlcktleWRvd24oQWUsVil9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICR7Vi5pY29uP3dgPGRlZXMtaWNvbiAuaWNvbj0ke1YuaWNvbn0+PC9kZWVzLWljb24+YDpudWxsfQogICAgICAgICAgICAgICAgICAke1YudGl0bGV9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOm51bGx9CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQtYm9keSAke1YudGl0bGU/Imhhcy1oZWFkZXIiOiIifSI+CiAgICAgICAgICAgICR7Vi5jb250ZW50fQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAkeyFPZSYmIVYubm9SZXNpemU/d2AKICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgY2xhc3M9InJlc2l6ZS1oYW5kbGUgcmVzaXplLWhhbmRsZS1lIgogICAgICAgICAgICAgICAgICBAcG9pbnRlcmRvd249JHtBZT0+dGhpcy5zdGFydFJlc2l6ZShBZSxWLCJlIil9CiAgICAgICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgIGNsYXNzPSJyZXNpemUtaGFuZGxlIHJlc2l6ZS1oYW5kbGUtcyIKICAgICAgICAgICAgICAgICAgQHBvaW50ZXJkb3duPSR7QWU9PnRoaXMuc3RhcnRSZXNpemUoQWUsViwicyIpfQogICAgICAgICAgICAgICAgPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICBjbGFzcz0icmVzaXplLWhhbmRsZSByZXNpemUtaGFuZGxlLXNlIgogICAgICAgICAgICAgICAgICBAcG9pbnRlcmRvd249JHtBZT0+dGhpcy5zdGFydFJlc2l6ZShBZSxWLCJzZSIpfQogICAgICAgICAgICAgICAgPjwvZGl2PgogICAgICAgICAgICAgIGA6bnVsbH0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclBsYWNlaG9sZGVyKFYsSCl7aWYoIXRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbilyZXR1cm4gd2BgO2xldCBvZT10aGlzLmNvbXB1dGVXaWRnZXRSZWN0KHRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbixWLEgpLHNlPXRoaXMucnRsPyJyaWdodCI6ImxlZnQiLHRlPXRoaXMucHhUb1BlcmNlbnQob2UubGVmdCxWLmNvbnRhaW5lcldpZHRoKSx6ZT10aGlzLnB4VG9QZXJjZW50KG9lLndpZHRoLFYuY29udGFpbmVyV2lkdGgpO3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImdyaWQtd2lkZ2V0IHBsYWNlaG9sZGVyIgogICAgICAgIHN0eWxlPSIKICAgICAgICAgICR7c2V9OiAke3RlfSU7CiAgICAgICAgICB0b3A6ICR7b2UudG9wfXB4OwogICAgICAgICAgd2lkdGg6ICR7emV9JTsKICAgICAgICAgIGhlaWdodDogJHtvZS5oZWlnaHR9cHg7CiAgICAgICAgIgogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0LWNvbnRlbnQiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9c3RhcnREcmFnKFYsSCl7aWYoIXRoaXMuZWRpdGFibGV8fEgubm9Nb3ZlfHxILmxvY2tlZClyZXR1cm47Vi5wcmV2ZW50RGVmYXVsdCgpLFYuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IG9lPVYuY3VycmVudFRhcmdldC5jbG9zZXN0KCIuZ3JpZC13aWRnZXQiKTtpZighb2UpcmV0dXJuO2xldCBzZT1vZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLmNvbnRhaW5lckJvdW5kcz10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHRoaXMuZW5zdXJlTWV0cmljcygpLHRoaXMuZHJhZ1N0YXRlPXt3aWRnZXRJZDpILmlkLHBvaW50ZXJJZDpWLnBvaW50ZXJJZCxvZmZzZXRYOlYuY2xpZW50WC1zZS5sZWZ0LG9mZnNldFk6Vi5jbGllbnRZLXNlLnRvcCxzdGFydDp7aWQ6SC5pZCx4OkgueCx5OkgueSx3OkgudyxoOkguaH0scHJldmlvdXNQb3NpdGlvbjp7aWQ6SC5pZCx4OkgueCx5OkgueSx3OkgudyxoOkguaH0sY3VycmVudFBvaW50ZXI6e2NsaWVudFg6Vi5jbGllbnRYLGNsaWVudFk6Vi5jbGllbnRZfSxsYXN0UGxhY2VtZW50Om51bGx9LHRoaXMuaW50ZXJhY3Rpb25BY3RpdmU9ITAsVi5jdXJyZW50VGFyZ2V0LnNldFBvaW50ZXJDYXB0dXJlKFYucG9pbnRlcklkKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsdGhpcy5oYW5kbGVEcmFnTW92ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIix0aGlzLmhhbmRsZURyYWdFbmQpLHRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj17aWQ6SC5pZCx4OkgueCx5OkgueSx3OkgudyxoOkguaH19aGFuZGxlRHJhZ01vdmU9cyhWPT57aWYoIXRoaXMuZHJhZ1N0YXRlKXJldHVybjtsZXQgSD10aGlzLmVuc3VyZU1ldHJpY3MoKSxvZT10aGlzLndpZGdldHMsc2U9b2UuZmluZChxZT0+cWUuaWQ9PT10aGlzLmRyYWdTdGF0ZS53aWRnZXRJZCk7aWYoIXNlKXJldHVybjtWLnByZXZlbnREZWZhdWx0KCk7bGV0IHRlPXRoaXMuZHJhZ1N0YXRlLnByZXZpb3VzUG9zaXRpb24semU9ajRhKHtwb2ludGVyOntjbGllbnRYOlYuY2xpZW50WCxjbGllbnRZOlYuY2xpZW50WX0sY29udGFpbmVyUmVjdDp0aGlzLmNvbnRhaW5lckJvdW5kcz8/dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxtZXRyaWNzOkgsY29sdW1uczp0aGlzLmNvbHVtbnMsd2lkZ2V0OnNlLHJ0bDp0aGlzLnJ0bCxkcmFnT2Zmc2V0WDp0aGlzLmRyYWdTdGF0ZS5vZmZzZXRYLGRyYWdPZmZzZXRZOnRoaXMuZHJhZ1N0YXRlLm9mZnNldFl9KSxPZT1CNChvZSxzZS5pZCx7eDp6ZS54LHk6emUueX0sdGhpcy5jb2x1bW5zLHRlKTtpZihPZSl7bGV0IHFlPU9lLndpZGdldHMuZmluZCgkZT0+JGUuaWQ9PT1zZS5pZCk7dGhpcy5kcmFnU3RhdGU9ey4uLnRoaXMuZHJhZ1N0YXRlLGN1cnJlbnRQb2ludGVyOntjbGllbnRYOlYuY2xpZW50WCxjbGllbnRZOlYuY2xpZW50WX0sbGFzdFBsYWNlbWVudDpPZSxwcmV2aW91c1Bvc2l0aW9uOnFlP3tpZDpxZS5pZCx4OnFlLngseTpxZS55LHc6cWUudyxoOnFlLmh9OntpZDpzZS5pZCx4OnplLngseTp6ZS55LHc6c2UudyxoOnNlLmh9fSx0aGlzLnByZXZpZXdXaWRnZXRzPU9lLndpZGdldHM7bGV0IGN0PU9lLndpZGdldHMuZmluZCgkZT0+JGUuaWQ9PT1zZS5pZCk7Y3Q/dGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPXtpZDpjdC5pZCx4OmN0LngseTpjdC55LHc6Y3QudyxoOmN0Lmh9OnRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj17aWQ6c2UuaWQseDp6ZS54LHk6emUueSx3OnNlLncsaDpzZS5ofX1lbHNlIHRoaXMucHJldmlld1dpZGdldHM9bnVsbCx0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb249bnVsbDt0aGlzLnJlcXVlc3RVcGRhdGUoKX0sImhhbmRsZURyYWdNb3ZlIik7aGFuZGxlRHJhZ0VuZD1zKFY9PntsZXQgSD10aGlzLmRyYWdTdGF0ZTtpZighSHx8Vi5wb2ludGVySWQhPT1ILnBvaW50ZXJJZClyZXR1cm47bGV0IG9lPXRoaXMud2lkZ2V0czt0aGlzLnByZXZpZXdXaWRnZXRzPW51bGw7bGV0IHNlPXRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj8/SC5zdGFydCx0ZT1CNChvZSxILndpZGdldElkLHt4OnNlLngseTpzZS55fSx0aGlzLmNvbHVtbnMsSC5wcmV2aW91c1Bvc2l0aW9uKTtpZih0ZSl7bGV0IHplPXRlLndpZGdldHMuZmluZChPZT0+T2UuaWQ9PT1ILndpZGdldElkKTt6ZSYmKHRlLndpZGdldHMuc29tZShxZT0+cWUuaWQ9PT1ILndpZGdldElkPyExOnplLng8cWUueCtxZS53JiZ6ZS54K3plLnc+cWUueCYmemUueTxxZS55K3FlLmgmJnplLnkremUuaD5xZS55KT90aGlzLndpZGdldHM9dGhpcy53aWRnZXRzLm1hcChxZT0+cWUuaWQ9PT1ILndpZGdldElkP3suLi5xZSx4Okguc3RhcnQueCx5Okguc3RhcnQueX06cWUpOnRoaXMuY29tbWl0UGxhY2VtZW50KHRlLEgud2lkZ2V0SWQsIndpZGdldC1tb3ZlIikpfWVsc2UgdGhpcy53aWRnZXRzPXRoaXMud2lkZ2V0cy5tYXAoemU9PnplLmlkPT09SC53aWRnZXRJZD97Li4uemUseDpILnN0YXJ0LngseTpILnN0YXJ0Lnl9OnplKTt0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb249bnVsbCx0aGlzLmRyYWdTdGF0ZT1udWxsLHRoaXMuaW50ZXJhY3Rpb25BY3RpdmU9ITEsdGhpcy5yZWxlYXNlUG9pbnRlckV2ZW50cygpfSwiaGFuZGxlRHJhZ0VuZCIpO3N0YXJ0UmVzaXplKFYsSCxvZSl7IXRoaXMuZWRpdGFibGV8fEgubm9SZXNpemV8fEgubG9ja2VkfHwoVi5wcmV2ZW50RGVmYXVsdCgpLFYuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5lbnN1cmVNZXRyaWNzKCksdGhpcy5yZXNpemVTdGF0ZT17d2lkZ2V0SWQ6SC5pZCxwb2ludGVySWQ6Vi5wb2ludGVySWQsaGFuZGxlcjpvZSxzdGFydFBvaW50ZXI6e2NsaWVudFg6Vi5jbGllbnRYLGNsaWVudFk6Vi5jbGllbnRZfSxzdGFydDp7aWQ6SC5pZCx4OkgueCx5OkgueSx3OkgudyxoOkguaH0sc3RhcnRXaWR0aDpILncsc3RhcnRIZWlnaHQ6SC5oLGxhc3RQbGFjZW1lbnQ6bnVsbH0sdGhpcy5pbnRlcmFjdGlvbkFjdGl2ZT0hMCxWLmN1cnJlbnRUYXJnZXQuc2V0UG9pbnRlckNhcHR1cmUoVi5wb2ludGVySWQpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIix0aGlzLmhhbmRsZVJlc2l6ZU1vdmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsdGhpcy5oYW5kbGVSZXNpemVFbmQpLHRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj17aWQ6SC5pZCx4OkgueCx5OkgueSx3OkgudyxoOkguaH0pfWhhbmRsZVJlc2l6ZU1vdmU9cyhWPT57aWYoIXRoaXMucmVzaXplU3RhdGUpcmV0dXJuO2xldCBIPXRoaXMuZW5zdXJlTWV0cmljcygpLG9lPXRoaXMud2lkZ2V0cyxzZT1vZS5maW5kKE9lPT5PZS5pZD09PXRoaXMucmVzaXplU3RhdGUud2lkZ2V0SWQpO2lmKCFzZSlyZXR1cm47Vi5wcmV2ZW50RGVmYXVsdCgpO2xldCB0ZT1VNGEoe3BvaW50ZXI6e2NsaWVudFg6Vi5jbGllbnRYLGNsaWVudFk6Vi5jbGllbnRZfSxjb250YWluZXJSZWN0OnRoaXMuY29udGFpbmVyQm91bmRzPz90aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG1ldHJpY3M6SCxzdGFydFdpZHRoOnRoaXMucmVzaXplU3RhdGUuc3RhcnRXaWR0aCxzdGFydEhlaWdodDp0aGlzLnJlc2l6ZVN0YXRlLnN0YXJ0SGVpZ2h0LHN0YXJ0UG9pbnRlcjp0aGlzLnJlc2l6ZVN0YXRlLnN0YXJ0UG9pbnRlcixoYW5kbGVyOnRoaXMucmVzaXplU3RhdGUuaGFuZGxlcix3aWRnZXQ6c2UsY29sdW1uczp0aGlzLmNvbHVtbnN9KSx6ZT1CNChvZSxzZS5pZCx7eDpzZS54LHk6c2UueSx3OnRlLndpZHRoLGg6dGUuaGVpZ2h0fSx0aGlzLmNvbHVtbnMsdGhpcy5yZXNpemVTdGF0ZS5zdGFydCk7aWYoemUpe3RoaXMucmVzaXplU3RhdGU9ey4uLnRoaXMucmVzaXplU3RhdGUsbGFzdFBsYWNlbWVudDp6ZX0sdGhpcy5wcmV2aWV3V2lkZ2V0cz16ZS53aWRnZXRzO2xldCBPZT16ZS53aWRnZXRzLmZpbmQocWU9PnFlLmlkPT09c2UuaWQpO09lP3RoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj17aWQ6T2UuaWQseDpPZS54LHk6T2UueSx3Ok9lLncsaDpPZS5ofTp0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb249e2lkOnNlLmlkLHg6c2UueCx5OnNlLnksdzp0ZS53aWR0aCxoOnRlLmhlaWdodH19ZWxzZSB0aGlzLnByZXZpZXdXaWRnZXRzPW51bGwsdGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPW51bGw7dGhpcy5yZXF1ZXN0VXBkYXRlKCl9LCJoYW5kbGVSZXNpemVNb3ZlIik7aGFuZGxlUmVzaXplRW5kPXMoVj0+e2xldCBIPXRoaXMucmVzaXplU3RhdGU7aWYoIUh8fFYucG9pbnRlcklkIT09SC5wb2ludGVySWQpcmV0dXJuO2xldCBvZT10aGlzLndpZGdldHM7dGhpcy5wcmV2aWV3V2lkZ2V0cz1udWxsO2xldCBzZT1ILmxhc3RQbGFjZW1lbnQ/P0I0KG9lLEgud2lkZ2V0SWQse3g6dGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPy54Pz9ILnN0YXJ0LngseTp0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb24/Lnk/P0guc3RhcnQueSx3OnRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj8udz8/SC5zdGFydC53LGg6dGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPy5oPz9ILnN0YXJ0Lmh9LHRoaXMuY29sdW1ucyxILnN0YXJ0KTtzZT90aGlzLmNvbW1pdFBsYWNlbWVudChzZSxILndpZGdldElkLCJ3aWRnZXQtcmVzaXplIik6dGhpcy53aWRnZXRzPXRoaXMud2lkZ2V0cy5tYXAodGU9PnRlLmlkPT09SC53aWRnZXRJZD97Li4udGUsdzpILnN0YXJ0LncsaDpILnN0YXJ0Lmh9OnRlKSx0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb249bnVsbCx0aGlzLnJlc2l6ZVN0YXRlPW51bGwsdGhpcy5pbnRlcmFjdGlvbkFjdGl2ZT0hMSx0aGlzLnJlbGVhc2VQb2ludGVyRXZlbnRzKCl9LCJoYW5kbGVSZXNpemVFbmQiKTtoYW5kbGVIZWFkZXJLZXlkb3duKFYsSCl7aWYoIXRoaXMuZWRpdGFibGV8fEgubm9Nb3ZlfHxILmxvY2tlZClyZXR1cm47bGV0IG9lPVYua2V5LHNlPVYuc2hpZnRLZXksdGU9bnVsbDtpZihzZSYmWyJBcnJvd0xlZnQiLCJBcnJvd1JpZ2h0IiwiQXJyb3dVcCIsIkFycm93RG93biJdLmluY2x1ZGVzKG9lKSl7Vi5wcmV2ZW50RGVmYXVsdCgpO2xldCAkZT1vZT09PSJBcnJvd1JpZ2h0Inx8b2U9PT0iQXJyb3dEb3duIj8xOi0xO2lmKG9lPT09IkFycm93TGVmdCJ8fG9lPT09IkFycm93UmlnaHQiKXtsZXQgQ2U9SC5tYXhXPz90aGlzLmNvbHVtbnMtSC54LE1lPU1hdGgubWF4KEgubWluVz8/MSxNYXRoLm1pbihDZSxILncrJGUpKTt0ZT1CNCh0aGlzLndpZGdldHMsSC5pZCx7eDpILngseTpILnksdzpNZSxoOkguaH0sdGhpcy5jb2x1bW5zKX1lbHNle2xldCBDZT1ILm1heEg/P051bWJlci5QT1NJVElWRV9JTkZJTklUWSxNZT1NYXRoLm1heChILm1pbkg/PzEsTWF0aC5taW4oQ2UsSC5oKyRlKSk7dGU9QjQodGhpcy53aWRnZXRzLEguaWQse3g6SC54LHk6SC55LHc6SC53LGg6TWV9LHRoaXMuY29sdW1ucyl9dGUmJnRoaXMuY29tbWl0UGxhY2VtZW50KHRlLEguaWQsIndpZGdldC1yZXNpemUiKTtyZXR1cm59bGV0IE9lPXtBcnJvd0xlZnQ6e2R4Oi0xLGR5OjB9LEFycm93UmlnaHQ6e2R4OjEsZHk6MH0sQXJyb3dVcDp7ZHg6MCxkeTotMX0sQXJyb3dEb3duOntkeDowLGR5OjF9fVtvZV07aWYoIU9lKXJldHVybjtWLnByZXZlbnREZWZhdWx0KCk7bGV0IHFlPU1hdGgubWF4KDAsTWF0aC5taW4odGhpcy5jb2x1bW5zLUgudyxILngrT2UuZHgpKSxjdD1NYXRoLm1heCgwLEgueStPZS5keSk7dGU9QjQodGhpcy53aWRnZXRzLEguaWQse3g6cWUseTpjdH0sdGhpcy5jb2x1bW5zKSx0ZSYmdGhpcy5jb21taXRQbGFjZW1lbnQodGUsSC5pZCwid2lkZ2V0LW1vdmUiKX1oYW5kbGVXaWRnZXRDb250ZXh0TWVudShWLEgpe1YucHJldmVudERlZmF1bHQoKSxWLnN0b3BQcm9wYWdhdGlvbigpLEc0YSh7d2lkZ2V0OkgsaG9zdDp0aGlzLGV2ZW50OlZ9KX1jb21taXRQbGFjZW1lbnQoVixILG9lKXt0aGlzLnByZXZpZXdXaWRnZXRzPW51bGwsdGhpcy53aWRnZXRzPVYud2lkZ2V0cztsZXQgc2U9dGhpcy53aWRnZXRzLmZpbmQodGU9PnRlLmlkPT09SCk7c2UmJnRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQob2Use2RldGFpbDp7d2lkZ2V0OnNlLGRpc3BsYWNlZDpWLm1vdmVkV2lkZ2V0cy5maWx0ZXIodGU9PnRlIT09SCksc3dhcHBlZFdpdGg6Vi5zd2FwcGVkV2l0aH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1yZW1vdmVXaWRnZXQoVil7bGV0IEg9dGhpcy53aWRnZXRzLmZpbmQob2U9Pm9lLmlkPT09Vik7SCYmKHRoaXMud2lkZ2V0cz10aGlzLndpZGdldHMuZmlsdGVyKG9lPT5vZS5pZCE9PVYpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIndpZGdldC1yZW1vdmUiLHtkZXRhaWw6e3dpZGdldDpIfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKX11cGRhdGVXaWRnZXQoVixIKXt0aGlzLndpZGdldHM9dGhpcy53aWRnZXRzLm1hcChvZT0+b2UuaWQ9PT1WP3suLi5vZSwuLi5IfTpvZSl9Z2V0TGF5b3V0KCl7cmV0dXJuIHRoaXMud2lkZ2V0cy5tYXAoKHtpZDpWLHg6SCx5Om9lLHc6c2UsaDp0ZX0pPT4oe2lkOlYseDpILHk6b2UsdzpzZSxoOnRlfSkpfXNldExheW91dChWKXt0aGlzLndpZGdldHM9cTRhKHRoaXMud2lkZ2V0cyxWKX1sb2NrR3JpZCgpe3RoaXMuZWRpdGFibGU9ITF9dW5sb2NrR3JpZCgpe3RoaXMuZWRpdGFibGU9ITB9YWRkV2lkZ2V0KFYsSD0hMSl7bGV0IG9lPXsuLi5WfTtpZihIfHxvZS5hdXRvUG9zaXRpb24pe2xldCBzZT1CUWUodGhpcy53aWRnZXRzLG9lLncsb2UuaCx0aGlzLmNvbHVtbnMpO29lLng9c2UueCxvZS55PXNlLnl9dGhpcy53aWRnZXRzPVsuLi50aGlzLndpZGdldHMsb2VdfWNvbXBhY3QoVj0idmVydGljYWwiKXtsZXQgSD10aGlzLndpZGdldHMubWFwKG9lPT4oey4uLm9lfSkpO0g0YShILFYpLHRoaXMud2lkZ2V0cz1IfWFwcGx5QnJlYWtwb2ludExheW91dChWKXt0aGlzLmFjdGl2ZUJyZWFrcG9pbnQ9VjtsZXQgSD10aGlzLmxheW91dHM/LltWXTtIJiZ0aGlzLnNldExheW91dChIKX1ub3RpZnlMYXlvdXRDaGFuZ2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJsYXlvdXQtY2hhbmdlIix7ZGV0YWlsOntsYXlvdXQ6dGhpcy5nZXRMYXlvdXQoKX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1lbnN1cmVNZXRyaWNzKCl7cmV0dXJuIHRoaXMubWV0cmljc3x8dGhpcy5jb21wdXRlTWV0cmljcygpLHRoaXMubWV0cmljc31jb21wdXRlTWV0cmljcygpe2lmKCF0aGlzLmlzQ29ubmVjdGVkKXJldHVybjtsZXQgVj10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuY29udGFpbmVyQm91bmRzPVY7bGV0IEg9RlFlKHRoaXMubWFyZ2luKTt0aGlzLnJlc29sdmVkTWFyZ2lucz1ILHRoaXMubWV0cmljcz1GNGEoVi53aWR0aCx0aGlzLmNvbHVtbnMsSCx0aGlzLmNlbGxIZWlnaHQsdGhpcy5jZWxsSGVpZ2h0VW5pdCl9b2JzZXJ2ZVJlc2l6ZSgpe3RoaXMucmVzaXplT2JzZXJ2ZXJ8fCh0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMuY29tcHV0ZU1ldHJpY3MoKX0pLHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzKSl9ZGlzY29ubmVjdFJlc2l6ZU9ic2VydmVyKCl7dGhpcy5yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI9dm9pZCAwfXJlbGVhc2VQb2ludGVyRXZlbnRzKCl7ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLHRoaXMuaGFuZGxlRHJhZ01vdmUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsdGhpcy5oYW5kbGVEcmFnRW5kKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsdGhpcy5oYW5kbGVSZXNpemVNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLHRoaXMuaGFuZGxlUmVzaXplRW5kKX1weFRvUGVyY2VudChWLEgpe3JldHVybiBIP051bWJlcigoVi9IKjEwMCkudG9GaXhlZCg0KSk6MH1jb21wdXRlV2lkZ2V0UmVjdChWLEgsb2Upe2xldCBzZT1ILmNlbGxXaWR0aFB4LHRlPUguY2VsbEhlaWdodFB4LHplPVYueCooc2Urb2UuaG9yaXpvbnRhbCkrb2UuaG9yaXpvbnRhbCxPZT1WLnkqKHRlK29lLnZlcnRpY2FsKStvZS52ZXJ0aWNhbCxxZT1WLncqc2UrTWF0aC5tYXgoMCxWLnctMSkqb2UuaG9yaXpvbnRhbCxjdD1WLmgqdGUrTWF0aC5tYXgoMCxWLmgtMSkqb2UudmVydGljYWw7cmV0dXJue2xlZnQ6emUsdG9wOk9lLHdpZHRoOnFlLGhlaWdodDpjdH19c3RhdGlje0ZhKHIsdCl9fTtyZXR1cm4geWU9cn0pKCl9KTt2YXIgWDRhPWYoKCk9PntaNGEoKX0pO2Z1bmN0aW9uIFE0YSgpe3JldHVybiB3YAogICAgPGRlZXMtaGVhZGluZyBsZXZlbD0iMSI+VGhpcyBpcyBhIEgxIGhlYWRpbmc8L2RlZXMtaGVhZGluZz4KICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9IjIiPlRoaXMgaXMgYSBIMiBoZWFkaW5nPC9kZWVzLWhlYWRpbmc+CiAgICA8ZGVlcy1oZWFkaW5nIGxldmVsPSIzIj5UaGlzIGlzIGEgSDMgaGVhZGluZzwvZGVlcy1oZWFkaW5nPgogICAgPGRlZXMtaGVhZGluZyBsZXZlbD0iNCI+VGhpcyBpcyBhIEg0IGhlYWRpbmc8L2RlZXMtaGVhZGluZz4KICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9IjUiPlRoaXMgaXMgYSBINSBoZWFkaW5nPC9kZWVzLWhlYWRpbmc+CiAgICA8ZGVlcy1oZWFkaW5nIGxldmVsPSI2Ij5UaGlzIGlzIGEgSDYgaGVhZGluZzwvZGVlcy1oZWFkaW5nPgogICAgPGRlZXMtaGVhZGluZyBsZXZlbD0iaHIiPlRoaXMgaXMgYW4gaHIgaGVhZGluZyAobGV2ZWw9ImhyIik8L2RlZXMtaGVhZGluZz4KICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9IjciPlRoaXMgaXMgYW4gaHIgaGVhZGluZyAobGV2ZWw9IjciKTwvZGVlcy1oZWFkaW5nPgogICAgPGRlZXMtaGVhZGluZyBsZXZlbD0iaHItc21hbGwiPlRoaXMgaXMgYW4gaHItc21hbGwgaGVhZGluZyAobGV2ZWw9ImhyLXNtYWxsIik8L2RlZXMtaGVhZGluZz4KICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9IjgiPlRoaXMgaXMgYW4gaHItc21hbGwgaGVhZGluZyAobGV2ZWw9IjgiKTwvZGVlcy1oZWFkaW5nPgogIGB9dmFyIEo0YT1mKCgpPT57bGUoKTtzKFE0YSwiZGVtb0Z1bmMiKX0pO3ZhciBlM2EsSFFlLHQzYSxhM2E9ZigoKT0+e2xlKCk7SjRhKCk7ZnMoKTtRZSgpO2UzYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sSFFlPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSx0M2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLWhlYWRpbmciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0hlYWRpbmciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLGUzYSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxldmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJsZXZlbCJpbiBwLCJoYXMiKSxnZXQ6cyhwPT5wLmxldmVsLCJnZXQiKSxzZXQ6cygocCx1KT0+e3AubGV2ZWw9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLGUzYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfXN0YXRpYyBkZW1vPVE0YTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkxheW91dCJdOyNlPUhRZSh0aGlzLG4sIjEiKTtnZXQgbGV2ZWwoKXtyZXR1cm4gdGhpcy4jZX1zZXQgbGV2ZWwoYyl7dGhpcy4jZT1jfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC8qIEhlYWRpbmcgc3R5bGVzLgogICAgICAgKiBDb2xvciBoaWVyYXJjaHk6IGgxLWgyIHN0YXkgcHJvbWluZW50IHdpdGggdGV4dC1wcmltYXJ5OyBoMy1oNiBzdGVwCiAgICAgICAqIGRvd24gdG8gdGV4dC1zZWNvbmRhcnkgc28gdGhleSByZWFkIGFzIHN1YmhlYWRpbmdzIGluc3RlYWQgb2YKICAgICAgICogbWluaS1oMXMuIEtlZXBzIHRoZSB2aXN1YWwgbG91ZG5lc3Mgb3V0IG9mIHNtYWxsZXIgaGVhZGluZ3MuICovCiAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgewogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KICAgICAgaDEsIGgyIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CiAgICAgIGgzLCBoNCwgaDUsIGg2IHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgIH0KCiAgICAgIC8qIFBlci1sZXZlbCB0eXBvZ3JhcGh5ICsgc3BhY2luZy4KICAgICAgICogTWFyZ2luIHNjYWxlcyB3aXRoIGltcG9ydGFuY2U6IGgxIGdldHMgdGhlIG1vc3QgYnJlYXRoaW5nIHJvb20sCiAgICAgICAqIGg2IHRoZSBsZWFzdC4gVG9wIG1hcmdpbiA+IGJvdHRvbSBtYXJnaW4gc28gaGVhZGluZ3MgZ3JvdXAgd2l0aAogICAgICAgKiB0aGUgY29udGVudCB0aGF0IGZvbGxvd3MgdGhlbS4gKi8KICAgICAgaDEgewogICAgICAgIC8qIGgxIHVzZXMgd2VpZ2h0IDUwMCwgbm90IDYwMDogdGhlIENhbCBTYW5zIGRpc3BsYXkgZm9udCBpcwogICAgICAgICAqIGFscmVhZHkgc3R5bGl6ZWQgZW5vdWdoIHRoYXQgYm9sZCArIG1heCBjb250cmFzdCArIDMycHggc3RhY2tzCiAgICAgICAgICogdG9vIG11Y2ggZW1waGFzaXMuIDUwMCBrZWVwcyB0aGUgdHlwb2dyYXBoaWMgaW1wYWN0IHdpdGhvdXQKICAgICAgICAgKiBzaG91dGluZy4gKi8KICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMzJweDsKICAgICAgICBmb250LWZhbWlseTogJHtjc2F9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOwogICAgICAgIG1hcmdpbjogdmFyKC0tZGVlcy1zcGFjaW5nLTJ4bCkgMCB2YXIoLS1kZWVzLXNwYWNpbmctbGcpOwogICAgICB9CiAgICAgIGgyIHsKICAgICAgICBmb250LXNpemU6IDI4cHg7CiAgICAgICAgbWFyZ2luOiB2YXIoLS1kZWVzLXNwYWNpbmcteGwpIDAgdmFyKC0tZGVlcy1zcGFjaW5nLW1kKTsKICAgICAgfQogICAgICBoMyB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIG1hcmdpbjogdmFyKC0tZGVlcy1zcGFjaW5nLXhsKSAwIHZhcigtLWRlZXMtc3BhY2luZy1tZCk7CiAgICAgIH0KICAgICAgaDQgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBtYXJnaW46IHZhcigtLWRlZXMtc3BhY2luZy1sZykgMCB2YXIoLS1kZWVzLXNwYWNpbmctc20pOwogICAgICB9CiAgICAgIGg1IHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgbWFyZ2luOiB2YXIoLS1kZWVzLXNwYWNpbmctbWQpIDAgdmFyKC0tZGVlcy1zcGFjaW5nLXNtKTsKICAgICAgfQogICAgICBoNiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1hcmdpbjogdmFyKC0tZGVlcy1zcGFjaW5nLW1kKSAwIHZhcigtLWRlZXMtc3BhY2luZy14cyk7CiAgICAgIH0KCiAgICAgIC8qIEhvcml6b250YWwgcnVsZSBzdHlsZSBoZWFkaW5nICovCiAgICAgIC5oZWFkaW5nLWhyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIG1hcmdpbjogdmFyKC0tZGVlcy1zcGFjaW5nLWxnKSAwOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CiAgICAgIC8qIEZhZGUgbGluZXMgdG93YXJkIGFuZCBhd2F5IGZyb20gdGV4dCBmb3IgaHIgc3R5bGUgKi8KICAgICAgLmhlYWRpbmctaHI6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgZmxleDogMTsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50LCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpKTsKICAgICAgICBtYXJnaW46IDAgdmFyKC0tZGVlcy1zcGFjaW5nLXNtKTsKICAgICAgfQogICAgICAuaGVhZGluZy1ocjo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpLCB0cmFuc3BhcmVudCk7CiAgICAgICAgbWFyZ2luOiAwIHZhcigtLWRlZXMtc3BhY2luZy1zbSk7CiAgICAgIH0KICAgICAgLyogU21hbGwgaHIgdmFyaWFudCB3aXRoIHJlZHVjZWQgbWFyZ2lucyAqLwogICAgICAuaGVhZGluZy1oci5oZWFkaW5nLWhyLXNtYWxsIHsKICAgICAgICBtYXJnaW46IHZhcigtLWRlZXMtc3BhY2luZy1zbSkgMDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIH0KICAgICAgLmhlYWRpbmctaHIuaGVhZGluZy1oci1zbWFsbDo6YmVmb3JlLAogICAgICAuaGVhZGluZy1oci5oZWFkaW5nLWhyLXNtYWxsOjphZnRlciB7CiAgICAgICAgbWFyZ2luOiAwIHZhcigtLWRlZXMtc3BhY2luZy1zbSk7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3N3aXRjaCh0aGlzLmxldmVsKXtjYXNlIjEiOnJldHVybiB3YDxoMT48c2xvdD48L3Nsb3Q+PC9oMT5gO2Nhc2UiMiI6cmV0dXJuIHdgPGgyPjxzbG90Pjwvc2xvdD48L2gyPmA7Y2FzZSIzIjpyZXR1cm4gd2A8aDM+PHNsb3Q+PC9zbG90PjwvaDM+YDtjYXNlIjQiOnJldHVybiB3YDxoND48c2xvdD48L3Nsb3Q+PC9oND5gO2Nhc2UiNSI6cmV0dXJuIHdgPGg1PjxzbG90Pjwvc2xvdD48L2g1PmA7Y2FzZSI2IjpyZXR1cm4gd2A8aDY+PHNsb3Q+PC9zbG90PjwvaDY+YDtjYXNlIjciOmNhc2UiaHIiOnJldHVybiB3YDxkaXYgY2xhc3M9ImhlYWRpbmctaHIiPjxzbG90Pjwvc2xvdD48L2Rpdj5gO2Nhc2UiOCI6Y2FzZSJoci1zbWFsbCI6cmV0dXJuIHdgPGRpdiBjbGFzcz0iaGVhZGluZy1ociBoZWFkaW5nLWhyLXNtYWxsIj48c2xvdD48L3Nsb3Q+PC9kaXY+YDtkZWZhdWx0OnJldHVybiB3YDxoMT48c2xvdD48L3Nsb3Q+PC9oMT5gfX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksSFFlKHRoaXMsbCl9c3RhdGlje0hRZShyLHQpfX07cmV0dXJuIGQ9cn0pKCl9KTt2YXIgcjNhPWYoKCk9PnthM2EoKX0pO3ZhciBzM2E9ZigoKT0+e2NtKCl9KTt2YXIgaTNhLG8zYT1mKCgpPT57bGUoKTtpM2E9cygoKT0+d2AKICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDE2cHg7Ij4KICAgIDwhLS0gU21hbGwgc2V0IG9mIHBhZ2VzIC0tPgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA0cHg7Ij4KICAgICAgPHNwYW4+NSBwYWdlcywgc3RhcnRpbmcgYXQgMTo8L3NwYW4+CiAgICAgIDxkZWVzLXBhZ2luYXRpb24KICAgICAgICAudG90YWw9JHs1fQogICAgICAgIC5wYWdlPSR7MX0KICAgICAgICBAcGFnZS1jaGFuZ2U9JHthPT5jb25zb2xlLmxvZygiUGFnZSBjaGFuZ2VkIHRvIixhLmRldGFpbC5wYWdlKX0KICAgICAgPjwvZGVlcy1wYWdpbmF0aW9uPgogICAgPC9kaXY+CgogICAgPCEtLSBMYXJnZXIgc2V0IG9mIHBhZ2VzIC0tPgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA0cHg7Ij4KICAgICAgPHNwYW4+MTUgcGFnZXMsIHN0YXJ0aW5nIGF0IDg6PC9zcGFuPgogICAgICA8ZGVlcy1wYWdpbmF0aW9uCiAgICAgICAgLnRvdGFsPSR7MTV9CiAgICAgICAgLnBhZ2U9JHs4fQogICAgICAgIEBwYWdlLWNoYW5nZT0ke2E9PmNvbnNvbGUubG9nKCJQYWdlIGNoYW5nZWQgdG8iLGEuZGV0YWlsLnBhZ2UpfQogICAgICA+PC9kZWVzLXBhZ2luYXRpb24+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBxUWUsbkcsbjNhLGwzYT1mKCgpPT57bGUoKTtvM2EoKTtRZSgpO3FRZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sbkc9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LG4zYT0oKCk9PntsZXQgYT1baWUoImRlZXMtcGFnaW5hdGlvbiIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzUGFnaW5hdGlvbiIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6TnVtYmVyLHJlZmxlY3Q6ITB9KV0sZD1bJCh7dHlwZTpOdW1iZXIscmVmbGVjdDohMH0pXSxxUWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwYWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJwYWdlImluIHYsImhhcyIpLGdldDpzKHY9PnYucGFnZSwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnBhZ2U9eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLHFRZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRvdGFsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJ0b3RhbCJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LnRvdGFsLCJnZXQiKSxzZXQ6cygodix4KT0+e3YudG90YWw9eH0sInNldCIpfSxtZXRhZGF0YTptfSxjLHApLHFRZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pfXN0YXRpYyBkZW1vPWkzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkxheW91dCJdOyNlPW5HKHRoaXMsbiwxKTtnZXQgcGFnZSgpe3JldHVybiB0aGlzLiNlfXNldCBwYWdlKG0pe3RoaXMuI2U9bX0jdD0obkcodGhpcyxsKSxuRyh0aGlzLGMsMSkpO2dldCB0b3RhbCgpe3JldHVybiB0aGlzLiN0fXNldCB0b3RhbChtKXt0aGlzLiN0PW19c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CiAgICAgIGJ1dHRvbiB7CiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgbWFyZ2luOiAwIDJweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzMzMyIsIiNjY2MiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yczsKICAgICAgfQogICAgICBidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWVlIiwiIzQ0NCIpfTsKICAgICAgfQogICAgICBidXR0b246ZGlzYWJsZWQgewogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhYWEiLCIjNjY2Iil9OwogICAgICB9CiAgICAgIGJ1dHRvbi5jdXJyZW50IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMDA1MGI5OwogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgfQogICAgICBzcGFuLmVsbGlwc2lzIHsKICAgICAgICBtYXJnaW46IDAgNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzMzMyIsIiNjY2MiKX07CiAgICAgIH0KICAgIGBdO2dldCBwYWdlcygpe2xldCBtPVtdLHY9dGhpcy50b3RhbCx4PXRoaXMucGFnZTtpZih2PD03KWZvcihsZXQgYj0xO2I8PXY7YisrKW0ucHVzaChiKTtlbHNle20ucHVzaCgxKSx4PjQmJm0ucHVzaCgiLi4uIik7bGV0IGI9TWF0aC5tYXgoMix4LTIpLGc9TWF0aC5taW4odi0xLHgrMik7Zm9yKGxldCB5PWI7eTw9Zzt5KyspbS5wdXNoKHkpO3g8di0zJiZtLnB1c2goIi4uLiIpLG0ucHVzaCh2KX1yZXR1cm4gbX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGJ1dHRvbgogICAgICAgIEBjbGljaz0keygpPT50aGlzLmNoYW5nZVBhZ2UodGhpcy5wYWdlLTEpfQogICAgICAgID9kaXNhYmxlZD0ke3RoaXMucGFnZTw9MX0KICAgICAgICBhcmlhLWxhYmVsPSJQcmV2aW91cyBwYWdlIgogICAgICA+CiAgICAgICAg4oC5CiAgICAgIDwvYnV0dG9uPgogICAgICAke3RoaXMucGFnZXMubWFwKG09Pm09PT0iLi4uIj93YDxzcGFuIGNsYXNzPSJlbGxpcHNpcyI+4oCmPC9zcGFuPmA6d2AKICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0iJHttPT09dGhpcy5wYWdlPyJjdXJyZW50IjoiIn0iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5jaGFuZ2VQYWdlKG0pfQogICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7bT09PXRoaXMucGFnZX0KICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9IlBhZ2UgJHttfSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke219CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIGApfQogICAgICA8YnV0dG9uCiAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuY2hhbmdlUGFnZSh0aGlzLnBhZ2UrMSl9CiAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5wYWdlPj10aGlzLnRvdGFsfQogICAgICAgIGFyaWEtbGFiZWw9Ik5leHQgcGFnZSIKICAgICAgPgogICAgICAgIOKAugogICAgICA8L2J1dHRvbj4KICAgIGB9Y2hhbmdlUGFnZShtKXttPDF8fG0+dGhpcy50b3RhbHx8bT09PXRoaXMucGFnZXx8KHRoaXMucGFnZT1tLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInBhZ2UtY2hhbmdlIix7ZGV0YWlsOntwYWdlOnRoaXMucGFnZX0sYnViYmxlczohMH0pKSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLG5HKHRoaXMscCl9c3RhdGlje25HKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBjM2E9ZigoKT0+e2wzYSgpfSk7dmFyIGQzYT1mKCgpPT57VXMoKX0pO3ZhciB1M2EscDNhPWYoKCk9PntsZSgpO1ZRZSgpO3UzYT1zKCgpPT57bGV0IGE9W3trZXk6ImVtYWlsIixsYWJlbDoiQWNjb3VudCBlbWFpbCIsdmFsdWU6ImFkbWluQGV4YW1wbGUuY29tIn0se2tleToic3RhdHVzIixsYWJlbDoiU3RhdHVzIix2YWx1ZToiZW5hYmxlZCJ9LHtrZXk6Im1vZGUiLGxhYmVsOiJNb2RlIix2YWx1ZToicHJvZHVjdGlvbiJ9LHtrZXk6ImF1dG9SZW5ldyIsbGFiZWw6IkF1dG8tcmVuZXciLHZhbHVlOiJvbiJ9LHtrZXk6InRocmVzaG9sZCIsbGFiZWw6IlJlbmV3YWwgdGhyZXNob2xkIix2YWx1ZToiMzAgZGF5cyJ9XSxlPVt7bmFtZToiRWRpdCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJFZGl0IGNsaWNrZWQiKSwiYWN0aW9uIil9XSx0PVt7bmFtZToiQ29uZmlndXJlIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkNvbmZpZ3VyZSBjbGlja2VkIiksImFjdGlvbiIpfV0scj1be25hbWU6IlJlc2V0IixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlJlc2V0IGNsaWNrZWQiKSwiYWN0aW9uIil9LHtuYW1lOiJFZGl0IixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkVkaXQgY2xpY2tlZCIpLCJhY3Rpb24iKX1dO3JldHVybiB3YAogICAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICAgIDxzdHlsZT4KICAgICAgICAke1hgCiAgICAgICAgICAuZGVtb0JveCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7CiAgICAgICAgICB9CiAgICAgICAgYH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iZGVtb0JveCI+CiAgICAgICAgPGRlZXMtc2V0dGluZ3MKICAgICAgICAgIC5oZWFkaW5nPSR7IkFDTUUgU2V0dGluZ3MifQogICAgICAgICAgLnNldHRpbmdzRmllbGRzPSR7YX0KICAgICAgICAgIC5hY3Rpb25zPSR7ZX0KICAgICAgICA+PC9kZWVzLXNldHRpbmdzPgoKICAgICAgICA8ZGVlcy1zZXR0aW5ncwogICAgICAgICAgLmhlYWRpbmc9JHsiQUNNRSBTZXR0aW5ncyJ9CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiTm8gQUNNRSBjb25maWd1cmF0aW9uIHlldC4gQ2xpY2sgQ29uZmlndXJlIHRvIHNldCB1cCBhdXRvbWF0ZWQgVExTIGNlcnRpZmljYXRlIGlzc3VhbmNlLiJ9CiAgICAgICAgICAuYWN0aW9ucz0ke3R9CiAgICAgICAgPjwvZGVlcy1zZXR0aW5ncz4KCiAgICAgICAgPGRlZXMtc2V0dGluZ3MKICAgICAgICAgIC5oZWFkaW5nPSR7IlNlcnZlciBDb25maWcifQogICAgICAgICAgLnNldHRpbmdzRmllbGRzPSR7W3trZXk6Imhvc3QiLGxhYmVsOiJIb3N0bmFtZSIsdmFsdWU6InByb3h5LmV4YW1wbGUuY29tIn0se2tleToicG9ydCIsbGFiZWw6IlBvcnQiLHZhbHVlOiI0NDMifV19CiAgICAgICAgICAuYWN0aW9ucz0ke3J9CiAgICAgICAgPjwvZGVlcy1zZXR0aW5ncz4KICAgICAgPC9kaXY+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgYH0sImRlbW9GdW5jIil9KTt2YXIgbEcsTmMsZjNhLFZRZT1mKCgpPT57bGUoKTtwM2EoKTtmcygpO1FlKCk7WHIoKTtsRz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sTmM9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGYzYT0oKCk9PntsZXQgYT1baWUoImRlZXMtc2V0dGluZ3MiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1NldHRpbmdzIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGs9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7YXR0cmlidXRlOiExfSldLHg9WyQoe2F0dHJpYnV0ZTohMX0pXSxsRyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhlYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImhlYWRpbmciaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5oZWFkaW5nLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuaGVhZGluZz1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG4sbCksbEcodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkZXNjcmlwdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iZGVzY3JpcHRpb24iaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5kZXNjcmlwdGlvbiwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmRlc2NyaXB0aW9uPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYyxwKSxsRyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNldHRpbmdzRmllbGRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJzZXR0aW5nc0ZpZWxkcyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnNldHRpbmdzRmllbGRzLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0Muc2V0dGluZ3NGaWVsZHM9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxtLHYpLGxHKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iYWN0aW9ucyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmFjdGlvbnMsImdldCIpLHNldDpzKChDLE4pPT57Qy5hY3Rpb25zPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYixnKSxsRyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTprfSxudWxsLHQpLHk9cj1lLnZhbHVlLGsmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6a30pfXN0YXRpYyBkZW1vPXUzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkxheW91dCJdOyNlPU5jKHRoaXMsbiwiIik7Z2V0IGhlYWRpbmcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgaGVhZGluZyhrKXt0aGlzLiNlPWt9I3Q9KE5jKHRoaXMsbCksTmModGhpcyxjLCIiKSk7Z2V0IGRlc2NyaXB0aW9uKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGRlc2NyaXB0aW9uKGspe3RoaXMuI3Q9a30jYT0oTmModGhpcyxwKSxOYyh0aGlzLG0sW10pKTtnZXQgc2V0dGluZ3NGaWVsZHMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2V0dGluZ3NGaWVsZHMoayl7dGhpcy4jYT1rfSNyPShOYyh0aGlzLHYpLE5jKHRoaXMsYixbXSkpO2dldCBhY3Rpb25zKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGFjdGlvbnMoayl7dGhpcy4jcj1rfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7cGF9OwogICAgICB9CgogICAgICAuc2V0dGluZ3NHcmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTgwcHgsIDFmcikpOwogICAgICAgIGdhcDogMTJweCAyNHB4OwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5zZXR0aW5nc0ZpZWxkIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAycHg7CiAgICAgIH0KCiAgICAgIC5maWVsZExhYmVsIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CgogICAgICAuZmllbGRWYWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC5zZXR0aW5nc0Rlc2NyaXB0aW9uIHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CgogICAgICAuYm90dG9tQnV0dG9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDA7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b24gewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItbGVmdDogbm9uZTsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbjphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5MiUpIiwiaHNsKDAgMCUgMTMlKSIpfTsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMDgpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4wOCkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTAlKSIsImhzbCgyMTMuMSA5My45JSA3NSUpIil9OwogICAgICB9CgogICAgICAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uLnByaW1hcnk6YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xNSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUgLyAwLjE1KSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IGs9dGhpcy5zZXR0aW5nc0ZpZWxkcy5sZW5ndGg+MCxDPXRoaXMuYWN0aW9ucy5sZW5ndGg+MDtyZXR1cm4gd2AKICAgICAgPGRlZXMtdGlsZSAuaGVhZGluZz0ke3RoaXMuaGVhZGluZ30+CiAgICAgICAgJHtrP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3NHcmlkIj4KICAgICAgICAgICAgICAgICR7dGhpcy5zZXR0aW5nc0ZpZWxkcy5tYXAoTj0+d2AKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5nc0ZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZExhYmVsIj4ke04ubGFiZWx9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkVmFsdWUiPiR7Ti52YWx1ZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3NEZXNjcmlwdGlvbiI+JHt0aGlzLmRlc2NyaXB0aW9ufTwvZGl2PgogICAgICAgICAgICBgfQogICAgICAgICR7Qz93YAogICAgICAgICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0iYm90dG9tQnV0dG9ucyI+CiAgICAgICAgICAgICAgICAke3RoaXMuYWN0aW9ucy5tYXAoKE4sXyk9PndgCiAgICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImJvdHRvbUJ1dHRvbiAke189PT10aGlzLmFjdGlvbnMubGVuZ3RoLTE/InByaW1hcnkiOiIifSIKICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT5OLmFjdGlvbigpfQogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICR7Ti5uYW1lfQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgPC9kZWVzLXRpbGU+CiAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxOYyh0aGlzLGcpfXN0YXRpY3tOYyhyLHQpfX07cmV0dXJuIHk9cn0pKCl9KTt2YXIgaDNhPWYoKCk9PntWUWUoKX0pO3ZhciBtM2EsY0csZzNhLGIzYSx2M2E9ZigoKT0+e2xlKCk7SnNlKCk7bTNhPXMoYXN5bmMoYSxlKT0+bmV3IFByb21pc2UodD0+e2xldCByPSExLGk9cyhsPT57cnx8KHI9ITAsZSYmZS5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIsbyksdChsKSl9LCJmaW5pc2giKSxvPXMoKCk9Pnt3aW5kb3cuY2xlYXJUaW1lb3V0KG4pLGkoITEpfSwiaGFuZGxlQWJvcnQiKSxuPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57aSghMCl9LGEpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLG8se29uY2U6ITB9KX0pLCJ3YWl0Rm9yUHJvZ3Jlc3NUaWNrIiksY0c9cygoYT0iQ29udGludWUiKT0+W3tuYW1lOmEsYWN0aW9uOnMoYXN5bmMgZT0+ZT8uZ29OZXh0KCksImFjdGlvbiIpfV0sImNyZWF0ZUNvbnRpbnVlTWVudU9wdGlvbnMiKSxnM2E9cygoKT0+W3t0aXRsZToiQWNjb3VudCBTZXR1cCIsY29udGVudDp3YAogICAgICA8ZGVlcy1mb3JtPgogICAgICAgIDxkZWVzLWlucHV0LXRleHQga2V5PSJlbWFpbCIgbGFiZWw9IldvcmsgRW1haWwiIHJlcXVpcmVkPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgIDxkZWVzLWlucHV0LXRleHQga2V5PSJwYXNzd29yZCIgbGFiZWw9IkNyZWF0ZSBQYXNzd29yZCIgdHlwZT0icGFzc3dvcmQiIHJlcXVpcmVkPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICA8L2RlZXMtZm9ybT4KICAgIGAsbWVudU9wdGlvbnM6Y0coKX0se3RpdGxlOiJQcm9maWxlIERldGFpbHMiLGNvbnRlbnQ6d2AKICAgICAgPGRlZXMtZm9ybT4KICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGtleT0iZmlyc3ROYW1lIiBsYWJlbD0iRmlyc3QgTmFtZSIgcmVxdWlyZWQ+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBrZXk9Imxhc3ROYW1lIiBsYWJlbD0iTGFzdCBOYW1lIiByZXF1aXJlZD48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgPC9kZWVzLWZvcm0+CiAgICBgLG1lbnVPcHRpb25zOmNHKCl9LHt0aXRsZToiQ29udGFjdCBJbmZvcm1hdGlvbiIsY29udGVudDp3YAogICAgICA8ZGVlcy1mb3JtPgogICAgICAgIDxkZWVzLWlucHV0LXBob25lIGtleT0icGhvbmUiIGxhYmVsPSJNb2JpbGUgTnVtYmVyIiByZXF1aXJlZD48L2RlZXMtaW5wdXQtcGhvbmU+CiAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBrZXk9ImNvbXBhbnkiIGxhYmVsPSJDb21wYW55Ij48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgPC9kZWVzLWZvcm0+CiAgICBgLG1lbnVPcHRpb25zOmNHKCl9LHt0aXRsZToiUHJvdmlzaW9uIFdvcmtzcGFjZSIsY29udGVudDp3YAogICAgICA8ZGVlcy1wYW5lbD4KICAgICAgICA8cD4KICAgICAgICAgIFdlIGFyZSBjcmVhdGluZyB5b3VyIHN0YXJ0ZXIgd29ya3NwYWNlLCBhcHBseWluZyB5b3VyIG9uYm9hcmRpbmcgY2hvaWNlcywKICAgICAgICAgIGFuZCBwcmVwYXJpbmcgYSBsaXZlIHByZXZpZXcuIFRoaXMgc3RlcCBtb3ZlcyBmb3J3YXJkIGF1dG9tYXRpY2FsbHkgd2hlbgogICAgICAgICAgdGhlIGVudmlyb25tZW50IGlzIHJlYWR5LgogICAgICAgIDwvcD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgYCxwcm9ncmVzc1N0ZXA6e2xhYmVsOiJXb3Jrc3BhY2Ugc2V0dXAiLHBlcmNlbnRhZ2U6OCxpbmRldGVybWluYXRlOiEwLHN0YXR1c1Jvd3M6NCxzdGF0dXNUZXh0OiJBbGxvY2F0aW5nIGEgY2xlYW4gd29ya3NwYWNlLi4uIix0ZXJtaW5hbExpbmVzOlsiQWxsb2NhdGluZyBhIGNsZWFuIHdvcmtzcGFjZSJdfSx2YWxpZGF0aW9uRnVuYzpzKGFzeW5jKGEsZSx0KT0+e2xldCByPVt7bGluZToiQWxsb2NhdGluZyBhIGNsZWFuIHdvcmtzcGFjZSIscGVyY2VudGFnZTo4LGRlbGF5OjUwMH0se2xpbmU6IlN5bmNpbmcgYWNjb3VudCBwcmVmZXJlbmNlcyIscGVyY2VudGFnZToyNCxkZWxheTo2NTB9LHtsaW5lOiJJbnN0YWxsaW5nIHNlbGVjdGVkIGludGVncmF0aW9ucyIscGVyY2VudGFnZTo0NyxkZWxheTo3MDB9LHtsaW5lOiJHZW5lcmF0aW5nIHN0YXJ0ZXIgcHJvamVjdCBmaWxlcyIscGVyY2VudGFnZTo3MSxkZWxheTo2NTB9LHtsaW5lOiJCb290aW5nIHRoZSBsaXZlIHByZXZpZXcgZW52aXJvbm1lbnQiLHBlcmNlbnRhZ2U6OTIsZGVsYXk6NzAwfV07YS5yZXNldFByb2dyZXNzU3RlcCgpO2ZvcihsZXRbaSxvXW9mIHIuZW50cmllcygpKWlmKHQ/LmFib3J0ZWR8fChpPT09MD9hLnVwZGF0ZVByb2dyZXNzU3RlcCh7cGVyY2VudGFnZTpvLnBlcmNlbnRhZ2UsaW5kZXRlcm1pbmF0ZTohMCxzdGF0dXNUZXh0OmAke28ubGluZX0uLi5gLHRlcm1pbmFsTGluZXM6W28ubGluZV19KTooYS5hcHBlbmRQcm9ncmVzc1N0ZXBMaW5lKG8ubGluZSksYS51cGRhdGVQcm9ncmVzc1N0ZXAoe3BlcmNlbnRhZ2U6by5wZXJjZW50YWdlLGluZGV0ZXJtaW5hdGU6ITAsc3RhdHVzVGV4dDpgJHtvLmxpbmV9Li4uYH0pKSwhYXdhaXQgbTNhKG8uZGVsYXksdCkpKXJldHVybjthLmFwcGVuZFByb2dyZXNzU3RlcExpbmUoIldvcmtzcGFjZSByZWFkeSIpLGEudXBkYXRlUHJvZ3Jlc3NTdGVwKHtwZXJjZW50YWdlOjEwMCxpbmRldGVybWluYXRlOiExLHN0YXR1c1RleHQ6IldvcmtzcGFjZSByZWFkeS4ifSksYXdhaXQgbTNhKDM1MCx0KX0sInZhbGlkYXRpb25GdW5jIil9LHt0aXRsZToiVGVhbSBTaXplIixjb250ZW50OndgCiAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgIGtleT0idGVhbVNpemUiCiAgICAgICAgICBsYWJlbD0iSG93IGJpZyBpcyB5b3VyIHRlYW0/IgogICAgICAgICAgLm9wdGlvbnM9JHtbe2xhYmVsOiIxLTUiLHZhbHVlOiIxLTUifSx7bGFiZWw6IjYtMjAiLHZhbHVlOiI2LTIwIn0se2xhYmVsOiIyMS01MCIsdmFsdWU6IjIxLTUwIn0se2xhYmVsOiI1MSsiLHZhbHVlOiI1MSsifV19CiAgICAgICAgICByZXF1aXJlZAogICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgIDwvZGVlcy1mb3JtPgogICAgYCxtZW51T3B0aW9uczpjRygpfSx7dGl0bGU6IkdvYWxzIixjb250ZW50OndgCiAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgIGtleT0iZ29hbCIKICAgICAgICAgIGxhYmVsPSJNYWluIG9iamVjdGl2ZSIKICAgICAgICAgIC5vcHRpb25zPSR7W3tsYWJlbDoiT25ib2FyZGluZyIsdmFsdWU6Im9uYm9hcmRpbmcifSx7bGFiZWw6IkFuYWx5dGljcyIsdmFsdWU6ImFuYWx5dGljcyJ9LHtsYWJlbDoiQXV0b21hdGlvbiIsdmFsdWU6ImF1dG9tYXRpb24ifV19CiAgICAgICAgICByZXF1aXJlZAogICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CiAgICAgIDwvZGVlcy1mb3JtPgogICAgYCxtZW51T3B0aW9uczpjRygpfSx7dGl0bGU6IlJldmlldyAmIExhdW5jaCIsY29udGVudDp3YAogICAgICA8ZGVlcy1wYW5lbD4KICAgICAgICA8cD4KICAgICAgICAgIFlvdXIgd29ya3NwYWNlIGlzIHJlYWR5LiBSZXZpZXcgdGhlIGNvbGxlY3RlZCBkZXRhaWxzIGFuZCBsYXVuY2ggd2hlbgogICAgICAgICAgeW91IGFyZSByZWFkeSB0byBzdGFydC4KICAgICAgICA8L3A+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJMYXVuY2giLGFjdGlvbjpzKGFzeW5jIGE9PnthPy5vdmVybGF5JiZhd2FpdCBhLmRlc3Ryb3koKX0sImFjdGlvbiIpfV19XSwiY3JlYXRlRGVtb1N0ZXBzIiksYjNhPXMoKCk9PndgCiAgPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsiPgogICAgPGRpdgogICAgICBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDE2cHg7IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB6LWluZGV4OiAxMDsiCiAgICA+CiAgICAgIDxkZWVzLWJ1dHRvbgogICAgICAgIEBjbGljaz0ke2FzeW5jKCk9Pnthd2FpdCBhNy5jcmVhdGVBbmRTaG93KHtzdGVwczpnM2EoKX0pfX0KICAgICAgPk9wZW4gc3RlcHBlciBhcyBvdmVybGF5PC9kZWVzLWJ1dHRvbj4KICAgIDwvZGl2PgogICAgPGRlZXMtc3RlcHBlciAuc3RlcHM9JHtnM2EoKX0+PC9kZWVzLXN0ZXBwZXI+CiAgPC9kaXY+CmAsInN0ZXBwZXJEZW1vIil9KTt2YXIgSDQscm8sYTcsSnNlPWYoKCk9PntWcygpO2xlKCk7ZWEoKTt2M2EoKTtRZSgpO2ZzKCk7VWkoKTtNMSgpO2hjKCk7SVFlKCk7WHIoKTtIND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0scm89ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGE3PSgoKT0+e2xldCBhPVtpZSgiZGVlcy1zdGVwcGVyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W107dmFyIEI9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNTdGVwcGVyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IE09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVskKHt0eXBlOk9iamVjdH0pXSx1PVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSx4PVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSx5PVskKHt0eXBlOk51bWJlcixhdHRyaWJ1dGU6ITF9KV0sTj1bJCh7dHlwZTpPYmplY3QsYXR0cmlidXRlOiExfSldLE89WyQoe3R5cGU6Qm9vbGVhbixhdHRyaWJ1dGU6ITF9KV0sSDQodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGVwcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ic3RlcHMiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5zdGVwcywiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnN0ZXBzPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbixsKSxINCh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkU3RlcCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ic2VsZWN0ZWRTdGVwImluIFMsImhhcyIpLGdldDpzKFM9PlMuc2VsZWN0ZWRTdGVwLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1Muc2VsZWN0ZWRTdGVwPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYyxwKSxINCh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im92ZXJsYXkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+Im92ZXJsYXkiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5vdmVybGF5LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1Mub3ZlcmxheT1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG0sdiksSDQodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjYW5jZWxhYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJjYW5jZWxhYmxlImluIFMsImhhcyIpLGdldDpzKFM9PlMuY2FuY2VsYWJsZSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmNhbmNlbGFibGU9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLEg0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RlcHBlclpJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ic3RlcHBlclpJbmRleCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnN0ZXBwZXJaSW5kZXgsImdldCIpLHNldDpzKChTLFApPT57Uy5zdGVwcGVyWkluZGV4PVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sayxDKSxINCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2ZUZvcm0iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImFjdGl2ZUZvcm0iaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5hY3RpdmVGb3JtLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuYWN0aXZlRm9ybT1QfSwic2V0Iil9LG1ldGFkYXRhOk19LF8seiksSDQodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3RpdmVGb3JtVmFsaWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImFjdGl2ZUZvcm1WYWxpZCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmFjdGl2ZUZvcm1WYWxpZCwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmFjdGl2ZUZvcm1WYWxpZD1QfSwic2V0Iil9LG1ldGFkYXRhOk19LFQsRSksSDQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCx0KSxCPXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1zdGF0aWMgZGVtbz1iM2E7c3RhdGljIGRlbW9Hcm91cHM9WyJMYXlvdXQiLCJGb3JtIl07c3RhdGljIGFzeW5jIGNyZWF0ZUFuZFNob3coTSl7bGV0IFM9ZG9jdW1lbnQuYm9keSxQPW5ldyBCO3JldHVybiBQLnN0ZXBzPU0uc3RlcHMsUC5vdmVybGF5PSEwLE0uY2FuY2VsYWJsZSE9PXZvaWQgMCYmKFAuY2FuY2VsYWJsZT1NLmNhbmNlbGFibGUpLFAud2luZG93TGF5ZXI9YXdhaXQganMuY3JlYXRlQW5kU2hvdyh7Ymx1cjohMH0pLFMuYXBwZW5kKFAud2luZG93TGF5ZXIpLFMuYXBwZW5kKFApLFAuc3RlcHBlclpJbmRleD1adC5nZXROZXh0WkluZGV4KCksWnQucmVnaXN0ZXIoUCxQLnN0ZXBwZXJaSW5kZXgpLFB9I2U9cm8odGhpcyxuLFtdKTtnZXQgc3RlcHMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc3RlcHMoTSl7dGhpcy4jZT1NfSN0PShybyh0aGlzLGwpLHJvKHRoaXMsYyx2b2lkIDApKTtnZXQgc2VsZWN0ZWRTdGVwKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlbGVjdGVkU3RlcChNKXt0aGlzLiN0PU19I2E9KHJvKHRoaXMscCkscm8odGhpcyxtLCExKSk7Z2V0IG92ZXJsYXkoKXtyZXR1cm4gdGhpcy4jYX1zZXQgb3ZlcmxheShNKXt0aGlzLiNhPU19I3I9KHJvKHRoaXMsdikscm8odGhpcyxiLCEwKSk7Z2V0IGNhbmNlbGFibGUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgY2FuY2VsYWJsZShNKXt0aGlzLiNyPU19I3M9KHJvKHRoaXMsZykscm8odGhpcyxrLDFlMykpO2dldCBzdGVwcGVyWkluZGV4KCl7cmV0dXJuIHRoaXMuI3N9c2V0IHN0ZXBwZXJaSW5kZXgoTSl7dGhpcy4jcz1NfSNpPShybyh0aGlzLEMpLHJvKHRoaXMsXyxudWxsKSk7Z2V0IGFjdGl2ZUZvcm0oKXtyZXR1cm4gdGhpcy4jaX1zZXQgYWN0aXZlRm9ybShNKXt0aGlzLiNpPU19I289KHJvKHRoaXMseikscm8odGhpcyxULCEwKSk7Z2V0IGFjdGl2ZUZvcm1WYWxpZCgpe3JldHVybiB0aGlzLiNvfXNldCBhY3RpdmVGb3JtVmFsaWQoTSl7dGhpcy4jbz1NfWFjdGl2ZUZvcm1TdWJzY3JpcHRpb249cm8odGhpcyxFKTt3aW5kb3dMYXllcjtjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAvKgogICAgICAgKiBJbiBvdmVybGF5IG1vZGUgdGhlIGhvc3QgaXMgInRyYW5zcGFyZW50IiB0byBsYXlvdXQg4oCUIHRoZSBpbm5lcgogICAgICAgKiAuc3RlcHBlckNvbnRhaW5lci5vdmVybGF5IGlzIHdoYXQgcGlucyB0byB0aGUgdmlld3BvcnQgYW5kIGNhcnJpZXMgdGhlCiAgICAgICAqIHotaW5kZXguIEtlZXBpbmcgOmhvc3QgdW5wb3NpdGlvbmVkIGF2b2lkcyBuZXN0aW5nIHRoZSBzdGFja2luZyBjb250ZXh0CiAgICAgICAqIHVuZGVyIGFuIGF1dG8tei1pbmRleCBwYXJlbnQgKHdoaWNoIHdhcyB0cmFwcGluZyAuc3RlcHBlckNvbnRhaW5lcgogICAgICAgKiBiZWxvdyBEZWVzV2luZG93TGF5ZXIncyBzaWJsaW5nIGxheWVycykuIFRoaXMgbWlycm9ycyBob3cgZGVlcy1tb2RhbAogICAgICAgKiBrZWVwcyBpdHMgb3duIDpob3N0IHVucG9zaXRpb25lZCBhbmQgbGV0cyAubW9kYWxDb250YWluZXIgZHJpdmUgbGF5b3V0LgogICAgICAgKi8KICAgICAgOmhvc3QoW292ZXJsYXldKSB7CiAgICAgICAgcG9zaXRpb246IHN0YXRpYzsKICAgICAgICB3aWR0aDogMDsKICAgICAgICBoZWlnaHQ6IDA7CiAgICAgIH0KCiAgICAgIC5zdGVwcGVyQ29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5zdGVwcGVyQ29udGFpbmVyLm92ZXJsYXkgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB3aWR0aDogMTAwdnc7CiAgICAgICAgaGVpZ2h0OiAxMDB2aDsKICAgICAgfQoKICAgICAgLyogRXhpdCBhbmltYXRpb24g4oCUIHJldmVyc2Ugb2YgdGhlIGVudHJ5LiBUaWxlcyBzbGlkZSBET1dOICsgZmFkZSBvdXQsCiAgICAgICAgIG1pcnJvcmluZyB0aGUgLmVudHJhbmNlIHNsaWRlLXVwLiBUaGUgdHJhbnNpdGlvbiBvdmVycmlkZSBpcyBuZWVkZWQKICAgICAgICAgYmVjYXVzZSBkZWVzLXRpbGUuc3RlcCBoYXMgaXRzIG93biAwLjdzIHRyYW5zaXRpb24gZm9yIHN0ZXAgc2VsZWN0aW9uCiAgICAgICAgIHdoaWNoIHdvdWxkIG90aGVyd2lzZSBtYWtlIHRoZSBleGl0IHNsdWdnaXNoLiAqLwogICAgICAuc3RlcHBlckNvbnRhaW5lci5wcmVkZXN0cm95IGRlZXMtdGlsZS5zdGVwIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7CiAgICAgICAgZmlsdGVyOiBvcGFjaXR5KDApOwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cywgZmlsdGVyIDAuMnM7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZS5zdGVwIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDsKICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDsKICAgICAgICBtYXJnaW46IGF1dG87CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICBmaWx0ZXI6IG9wYWNpdHkoMC41NSkgc2F0dXJhdGUoMC44NSk7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuN3MgY3ViaWMtYmV6aWVyKDAuODcsIDAsIDAuMTMsIDEpLCBmaWx0ZXIgMC43cyBjdWJpYy1iZXppZXIoMC44NywgMCwgMC4xMywgMSk7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZS5zdGVwLnNlbGVjdGVkIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsOwogICAgICAgIGZpbHRlcjogb3BhY2l0eSgxKSBzYXR1cmF0ZSgxKTsKICAgICAgICB1c2VyLXNlbGVjdDogYXV0bzsKICAgICAgfQoKICAgICAgZGVlcy10aWxlLnN0ZXAuaGlkZGVuU3RlcCB7CiAgICAgICAgZmlsdGVyOiBvcGFjaXR5KDApOwogICAgICB9CgogICAgICBkZWVzLXRpbGUuc3RlcC5lbnRyYW5jZSB7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzVzIGVhc2UsIGZpbHRlciAwLjM1cyBlYXNlOwogICAgICB9CgogICAgICBkZWVzLXRpbGUuc3RlcC5lbnRyYW5jZS5oaWRkZW5TdGVwIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZS5zdGVwOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHZoOwogICAgICB9CgogICAgICAuc3RlcHBlckNvbnRhaW5lci5vdmVybGF5IGRlZXMtdGlsZS5zdGVwOjpwYXJ0KG91dGVyKSB7CiAgICAgICAgYm94LXNoYWRvdzoKICAgICAgICAgIDAgMCAwIDFweCAke2guYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjAzKSIsImhzbCgwIDAlIDEwMCUgLyAwLjAzKSIpfSwKICAgICAgICAgIDAgOHB4IDQwcHggJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4xMikiLCJoc2woMCAwJSAwJSAvIDAuNSkiKX0sCiAgICAgICAgICAwIDJweCA4cHggJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wNikiLCJoc2woMCAwJSAwJSAvIDAuMjUpIil9OwogICAgICB9CgogICAgICAuc3RlcC1oZWFkZXIgewogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHBhZGRpbmc6IDAgOHB4IDAgMTJweDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5nb0JhY2stc3BhY2VyIHsKICAgICAgICB3aWR0aDogMXB4OwogICAgICB9CgogICAgICAuc3RlcC1oZWFkZXIgLmdvQmFjayB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlLCBjb2xvciAwLjE1cyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlOwogICAgICB9CgogICAgICAuc3RlcC1oZWFkZXIgLmdvQmFjazpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KTsKICAgICAgfQoKICAgICAgLnN0ZXAtaGVhZGVyIC5nb0JhY2s6YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTAlKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgIH0KCiAgICAgIC5zdGVwLWhlYWRlciAuZ29CYWNrIHNwYW4gewogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICAuc3RlcC1oZWFkZXIgLmdvQmFjazpob3ZlciBzcGFuIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7CiAgICAgIH0KCiAgICAgIC5zdGVwLWhlYWRlciAuc3RlcENvdW50ZXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIHBhZGRpbmc6IDAgOHB4OwogICAgICB9CgogICAgICAuc3RlcC1ib2R5IC50aXRsZSB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmctdG9wOiAzMnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgY29sb3I6IGluaGVyaXQ7CiAgICAgIH0KCiAgICAgIC5zdGVwLWJvZHkgLmNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDMycHg7CiAgICAgIH0KCiAgICAgIC5zdGVwLWJvZHkgLmNvbnRlbnQud2l0aFByb2dyZXNzU3RlcCB7CiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzc1N0ZXAgewogICAgICAgIHBhZGRpbmc6IDAgMjRweDsKICAgICAgfQoKICAgICAgLyogLS0tIEZvb3RlcjogbW9kYWwtc3R5bGUgYm90dG9tIGJ1dHRvbnMgLS0tICovCiAgICAgIC5ib3R0b21CdXR0b25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLyogQm9yZGVyLWxlZnQgc2VwYXJhdG9yIG9uIGV2ZXJ5IGJ1dHRvbiBFWENFUFQgdGhlIGZpcnN0IG9uZS4KICAgICAgICAgVXNlcyBnZW5lcmFsIHNpYmxpbmcgc28gdGhlIHN0ZXBIaW50IChpZiByZW5kZXJlZCBvbiB0aGUgbGVmdCkgZG9lcwogICAgICAgICBub3Qgc2hpZnQgd2hpY2ggYnV0dG9uIGNvdW50cyBhcyAiZmlyc3QiIGFuZCBjcmVhdGUgYSBwaGFudG9tIGJvcmRlci4gKi8KICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbiB+IC5ib3R0b21CdXR0b24gewogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbjphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5MiUpIiwiaHNsKDAgMCUgMTMlKSIpfTsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMDgpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4wOCkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTAlKSIsImhzbCgyMTMuMSA5My45JSA3NSUpIil9OwogICAgICB9CgogICAgICAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uLnByaW1hcnk6YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xMikiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUgLyAwLjEyKSIpfTsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbi5kaXNhYmxlZCB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgb3BhY2l0eTogMC40OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b24uZGlzYWJsZWQ6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CgogICAgICAvKiBIaW50IHNob3duIG9uIHRoZSBsZWZ0IG9mIHRoZSBmb290ZXIgd2hlbiB0aGUgYWN0aXZlIHN0ZXAncyBmb3JtIGhhcwogICAgICAgICB1bmZpbGxlZCByZXF1aXJlZCBmaWVsZHMuIFVzZXMgbWFyZ2luLXJpZ2h0OiBhdXRvIHRvIHB1c2ggcmlnaHQtYWxpZ25lZAogICAgICAgICBidXR0b25zIHRvIHRoZSByaWdodCB3aGlsZSBrZWVwaW5nIHRoZSBoaW50IGZsdXNoLWxlZnQuICovCiAgICAgIC5ib3R0b21CdXR0b25zIC5zdGVwSGludCB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJzdGVwcGVyQ29udGFpbmVyICR7dGhpcy5vdmVybGF5PyJvdmVybGF5IjoiIn0iCiAgICAgICAgc3R5bGU9JHt0aGlzLm92ZXJsYXk/YHotaW5kZXg6ICR7dGhpcy5zdGVwcGVyWkluZGV4fTtgOiIifQogICAgICAgIEBjbGljaz0ke3RoaXMuaGFuZGxlT3V0c2lkZUNsaWNrfQogICAgICA+CiAgICAgICAgJHt0aGlzLnN0ZXBzLm1hcCgoTSxTKT0+e2xldCBQPU09PT10aGlzLnNlbGVjdGVkU3RlcCxBPXRoaXMuZ2V0SW5kZXhPZlN0ZXAoTSk+dGhpcy5nZXRJbmRleE9mU3RlcCh0aGlzLnNlbGVjdGVkU3RlcCksRj1TPT09MCxXPU0ucHJvZ3Jlc3NTdGVwP3RoaXMuZ2V0UHJvZ3Jlc3NTdGVwU3RhdGUoTSk6bnVsbDtyZXR1cm4gd2A8ZGVlcy10aWxlCiAgICAgICAgICAgIGNsYXNzPSJzdGVwICR7UD8ic2VsZWN0ZWQiOiIifSAke0E/ImhpZGRlblN0ZXAiOiIifSAke0Y/ImVudHJhbmNlIjoiIn0iCiAgICAgICAgICA+CiAgICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0ic3RlcC1oZWFkZXIiPgogICAgICAgICAgICAgICR7Rj93YDxkaXYgY2xhc3M9ImdvQmFjay1zcGFjZXIiPjwvZGl2PmA6d2A8ZGl2IGNsYXNzPSJnb0JhY2siIEBjbGljaz0ke3RoaXMuZ29CYWNrfT4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEludGVyIj48LTwvc3Bhbj4gZ28gdG8gcHJldmlvdXMgc3RlcAogICAgICAgICAgICAgICAgICA8L2Rpdj5gfQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXBDb3VudGVyIj4KICAgICAgICAgICAgICAgIFN0ZXAgJHtTKzF9IG9mICR7dGhpcy5zdGVwcy5sZW5ndGh9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwLWJvZHkiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj4ke00udGl0bGV9PC9kaXY+CiAgICAgICAgICAgICAgJHtNLnByb2dyZXNzU3RlcCYmVz93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3NTdGVwIj4KICAgICAgICAgICAgICAgICAgPGRlZXMtcHJvZ3Jlc3NiYXIKICAgICAgICAgICAgICAgICAgICAubGFiZWw9JHtXLmxhYmVsPz9NLnRpdGxlfQogICAgICAgICAgICAgICAgICAgIC5wZXJjZW50YWdlPSR7Vy5wZXJjZW50YWdlPz8wfQogICAgICAgICAgICAgICAgICAgIC5pbmRldGVybWluYXRlPSR7Vy5pbmRldGVybWluYXRlPz8hMX0KICAgICAgICAgICAgICAgICAgICAuc2hvd1BlcmNlbnRhZ2U9JHtXLnNob3dQZXJjZW50YWdlPz8hMH0KICAgICAgICAgICAgICAgICAgICAuc3RhdHVzVGV4dD0ke1cuc3RhdHVzVGV4dD8/IiJ9CiAgICAgICAgICAgICAgICAgICAgLnRlcm1pbmFsTGluZXM9JHtXLnRlcm1pbmFsTGluZXM/P1tdfQogICAgICAgICAgICAgICAgICAgIC5zdGF0dXNSb3dzPSR7Vy5zdGF0dXNSb3dzPz8zfQogICAgICAgICAgICAgICAgICA+PC9kZWVzLXByb2dyZXNzYmFyPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50ICR7TS5wcm9ncmVzc1N0ZXA/IndpdGhQcm9ncmVzc1N0ZXAiOiIifSI+JHtNLmNvbnRlbnR9PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImJvdHRvbUJ1dHRvbnMiPgogICAgICAgICAgICAgICR7UCYmdGhpcy5hY3RpdmVGb3JtIT09bnVsbCYmIXRoaXMuYWN0aXZlRm9ybVZhbGlkP3dgPGRpdiBjbGFzcz0ic3RlcEhpbnQiPkNvbXBsZXRlIGZvcm0gdG8gY29udGludWU8L2Rpdj5gOiIifQogICAgICAgICAgICAgICR7dGhpcy5jYW5jZWxhYmxlP3dgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJib3R0b21CdXR0b24iCiAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ2FuY2VsUmVxdWVzdCgpfQogICAgICAgICAgICAgICAgICA+Q2FuY2VsPC9kaXY+YDoiIn0KICAgICAgICAgICAgICAke00ubWVudU9wdGlvbnM/Lm1hcCgoaixHKT0+e2xldCBoZT1HPT09TS5tZW51T3B0aW9ucy5sZW5ndGgtMSxSPWhlJiZ0aGlzLmFjdGl2ZUZvcm0hPT1udWxsJiYhdGhpcy5hY3RpdmVGb3JtVmFsaWQ7cmV0dXJuIHdgCiAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYm90dG9tQnV0dG9uICR7aGU/InByaW1hcnkiOiIifSAke1I/ImRpc2FibGVkIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlTWVudU9wdGlvbkNsaWNrKGosaGUpfQogICAgICAgICAgICAgICAgICA+JHtqLm5hbWV9PC9kaXY+CiAgICAgICAgICAgICAgICBgfSk/PyIifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGVlcy10aWxlPmB9KX0KICAgICAgPC9kaXY+CiAgICBgfWdldEluZGV4T2ZTdGVwPXMoTT0+dGhpcy5zdGVwcy5maW5kSW5kZXgoUz0+TT09PVMpLCJnZXRJbmRleE9mU3RlcCIpO2FzeW5jIGZpcnN0VXBkYXRlZCgpe2F3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLGF3YWl0IHRoaXMuZG9tdG9vbHMuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigwKSx0aGlzLnN0ZXBzLmxlbmd0aCYmKHRoaXMucHJlcGFyZVN0ZXBGb3JBY3RpdmF0aW9uKHRoaXMuc3RlcHNbMF0pLHRoaXMuc2VsZWN0ZWRTdGVwPXRoaXMuc3RlcHNbMF0sYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSxhd2FpdCB0aGlzLnNldFNjcm9sbFN0YXR1cygpLGF3YWl0IHRoaXMuZG9tdG9vbHMuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigzNTApLHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuc3RlcC5lbnRyYW5jZSIpPy5jbGFzc0xpc3QucmVtb3ZlKCJlbnRyYW5jZSIpKX1hc3luYyB1cGRhdGVkKE0peyFNLmhhcygic2VsZWN0ZWRTdGVwIikmJiFNLmhhcygic3RlcHMiKXx8YXdhaXQgdGhpcy5zZXRTY3JvbGxTdGF0dXMoKX1zY3JvbGxlcjthc3luYyBzZXRTY3JvbGxTdGF0dXMoKXtsZXQgTT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnN0ZXBwZXJDb250YWluZXIiKSxTPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuc2VsZWN0ZWQiKTtpZighUylyZXR1cm47dGhpcy5zY2FuQWN0aXZlRm9ybShTKSxNLnN0eWxlLnBhZGRpbmdUb3B8fChNLnN0eWxlLnBhZGRpbmdUb3A9YCR7TS5vZmZzZXRIZWlnaHQvMi1TLm9mZnNldEhlaWdodC8yfXB4YCk7bGV0IFA9Uy5vZmZzZXRUb3AtTS5vZmZzZXRIZWlnaHQvMitTLm9mZnNldEhlaWdodC8yO2F3YWl0IF9pLnNldHVwRG9tVG9vbHMoKSx0aGlzLnNjcm9sbGVyfHwodGhpcy5zY3JvbGxlcj1uZXcgSHQuU3dlZXRTY3JvbGwoe3ZlcnRpY2FsOiEwLGhvcml6b250YWw6ITEsZWFzaW5nOiJlYXNlSW5PdXRFeHBvIixkdXJhdGlvbjo3MDB9LE0pKSwhdGhpcy5zZWxlY3RlZFN0ZXAudmFsaWRhdGlvbkZ1bmNDYWxsZWQmJnRoaXMuc2VsZWN0ZWRTdGVwLnZhbGlkYXRpb25GdW5jJiYodGhpcy5zZWxlY3RlZFN0ZXAuYWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsdGhpcy5zZWxlY3RlZFN0ZXAudmFsaWRhdGlvbkZ1bmNDYWxsZWQ9ITAsdGhpcy5ydW5TdGVwVmFsaWRhdGlvbih0aGlzLnNlbGVjdGVkU3RlcCxTLHRoaXMuc2VsZWN0ZWRTdGVwLmFib3J0Q29udHJvbGxlci5zaWduYWwpKSx0aGlzLnNjcm9sbGVyLnRvKFApfWFzeW5jIGdvQmFjaygpe2xldCBNPXRoaXMuc3RlcHMuZmluZEluZGV4KEE9PkE9PT10aGlzLnNlbGVjdGVkU3RlcCk7aWYoTTw9MClyZXR1cm47dGhpcy5zZWxlY3RlZFN0ZXAuYWJvcnRDb250cm9sbGVyJiZ0aGlzLnNlbGVjdGVkU3RlcC5hYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtsZXQgUz10aGlzLnN0ZXBzW01dO1MudmFsaWRhdGlvbkZ1bmNDYWxsZWQ9ITE7bGV0IFA9dGhpcy5zdGVwc1tNLTFdO1AudmFsaWRhdGlvbkZ1bmNDYWxsZWQ9ITEsdGhpcy5wcmVwYXJlU3RlcEZvckFjdGl2YXRpb24oUCksdGhpcy5zZWxlY3RlZFN0ZXA9UCxhd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZSxhd2FpdCB0aGlzLmRvbXRvb2xzLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMTAwKSx0aGlzLnNlbGVjdGVkU3RlcC5vblJldHVyblRvU3RlcEZ1bmM/Lih0aGlzLHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuc2VsZWN0ZWQiKSl9Z29OZXh0KCl7bGV0IE09dGhpcy5zdGVwcy5maW5kSW5kZXgoQT0+QT09PXRoaXMuc2VsZWN0ZWRTdGVwKTtpZihNPDB8fE0+PXRoaXMuc3RlcHMubGVuZ3RoLTEpcmV0dXJuO3RoaXMuc2VsZWN0ZWRTdGVwLmFib3J0Q29udHJvbGxlciYmdGhpcy5zZWxlY3RlZFN0ZXAuYWJvcnRDb250cm9sbGVyLmFib3J0KCk7bGV0IFM9dGhpcy5zdGVwc1tNXTtTLnZhbGlkYXRpb25GdW5jQ2FsbGVkPSExO2xldCBQPXRoaXMuc3RlcHNbTSsxXTtQLnZhbGlkYXRpb25GdW5jQ2FsbGVkPSExLHRoaXMucHJlcGFyZVN0ZXBGb3JBY3RpdmF0aW9uKFApLHRoaXMuc2VsZWN0ZWRTdGVwPVB9cmVzZXRQcm9ncmVzc1N0ZXAoTT10aGlzLnNlbGVjdGVkU3RlcCl7TT8ucHJvZ3Jlc3NTdGVwJiYoTS5wcm9ncmVzc1N0ZXBTdGF0ZT10aGlzLmNyZWF0ZUluaXRpYWxQcm9ncmVzc1N0ZXBTdGF0ZShNKSx0aGlzLnJlcXVlc3RVcGRhdGUoKSl9dXBkYXRlUHJvZ3Jlc3NTdGVwKE0sUz10aGlzLnNlbGVjdGVkU3RlcCl7aWYoIVM/LnByb2dyZXNzU3RlcClyZXR1cm47bGV0IFA9dGhpcy5nZXRQcm9ncmVzc1N0ZXBTdGF0ZShTKTtTLnByb2dyZXNzU3RlcFN0YXRlPXsuLi5QLC4uLk0sdGVybWluYWxMaW5lczpNLnRlcm1pbmFsTGluZXM/Wy4uLk0udGVybWluYWxMaW5lc106Wy4uLlAudGVybWluYWxMaW5lcz8/W11dfSx0aGlzLnJlcXVlc3RVcGRhdGUoKX1hcHBlbmRQcm9ncmVzc1N0ZXBMaW5lKE0sUz10aGlzLnNlbGVjdGVkU3RlcCl7aWYoIVM/LnByb2dyZXNzU3RlcClyZXR1cm47bGV0IFA9dGhpcy5nZXRQcm9ncmVzc1N0ZXBTdGF0ZShTKTt0aGlzLnVwZGF0ZVByb2dyZXNzU3RlcCh7dGVybWluYWxMaW5lczpbLi4uUC50ZXJtaW5hbExpbmVzPz9bXSxNXX0sUyl9c2NhbkFjdGl2ZUZvcm0oTSl7bGV0IFM9TS5xdWVyeVNlbGVjdG9yKCJkZWVzLWZvcm0iKTtpZihTPT09dGhpcy5hY3RpdmVGb3JtKXt0aGlzLnJlY29tcHV0ZUZvcm1WYWxpZCgpO3JldHVybn1pZih0aGlzLmFjdGl2ZUZvcm1TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCksdGhpcy5hY3RpdmVGb3JtU3Vic2NyaXB0aW9uPXZvaWQgMCx0aGlzLmFjdGl2ZUZvcm09UywhUyl7dGhpcy5hY3RpdmVGb3JtVmFsaWQ9ITA7cmV0dXJufXRoaXMucmVjb21wdXRlRm9ybVZhbGlkKCksdGhpcy5hY3RpdmVGb3JtU3Vic2NyaXB0aW9uPVMuY2hhbmdlU3ViamVjdC5zdWJzY3JpYmUoKCk9Pnt0aGlzLnJlY29tcHV0ZUZvcm1WYWxpZCgpfSl9cmVjb21wdXRlRm9ybVZhbGlkKCl7bGV0IE09dGhpcy5hY3RpdmVGb3JtO2lmKCFNKXt0aGlzLmFjdGl2ZUZvcm1WYWxpZD0hMDtyZXR1cm59bGV0IFM9TS5nZXRGb3JtRWxlbWVudHMoKTt0aGlzLmFjdGl2ZUZvcm1WYWxpZD1TLmV2ZXJ5KFA9PiFQLnJlcXVpcmVkfHxQLnZhbHVlIT09bnVsbCYmUC52YWx1ZSE9PXZvaWQgMCYmUC52YWx1ZSE9PSIiKX1hc3luYyBoYW5kbGVNZW51T3B0aW9uQ2xpY2soTSxTKXtsZXQgUD10aGlzLmFjdGl2ZUZvcm07aWYoUyYmUCl7aWYoIXRoaXMuYWN0aXZlRm9ybVZhbGlkKXJldHVybjthd2FpdCBuZXcgUHJvbWlzZShBPT57UC5hZGRFdmVudExpc3RlbmVyKCJmb3JtRGF0YSIsKCk9PkEoKSx7b25jZTohMH0pLFAuZ2F0aGVyQW5kRGlzcGF0Y2goKX0pfWF3YWl0IE0uYWN0aW9uKHRoaXMpfWdldFByb2dyZXNzU3RlcFN0YXRlKE0pe3JldHVybiBNLnByb2dyZXNzU3RlcD8oTS5wcm9ncmVzc1N0ZXBTdGF0ZXx8KE0ucHJvZ3Jlc3NTdGVwU3RhdGU9dGhpcy5jcmVhdGVJbml0aWFsUHJvZ3Jlc3NTdGVwU3RhdGUoTSkpLE0ucHJvZ3Jlc3NTdGVwU3RhdGUpOnt9fWNyZWF0ZUluaXRpYWxQcm9ncmVzc1N0ZXBTdGF0ZShNKXtyZXR1cm57bGFiZWw6TS5wcm9ncmVzc1N0ZXA/LmxhYmVsPz9NLnRpdGxlLHBlcmNlbnRhZ2U6TS5wcm9ncmVzc1N0ZXA/LnBlcmNlbnRhZ2U/PzAsaW5kZXRlcm1pbmF0ZTpNLnByb2dyZXNzU3RlcD8uaW5kZXRlcm1pbmF0ZT8/ITEsc2hvd1BlcmNlbnRhZ2U6TS5wcm9ncmVzc1N0ZXA/LnNob3dQZXJjZW50YWdlPz8hMCxzdGF0dXNUZXh0Ok0ucHJvZ3Jlc3NTdGVwPy5zdGF0dXNUZXh0Pz8iIix0ZXJtaW5hbExpbmVzOlsuLi5NLnByb2dyZXNzU3RlcD8udGVybWluYWxMaW5lcz8/W11dLHN0YXR1c1Jvd3M6TS5wcm9ncmVzc1N0ZXA/LnN0YXR1c1Jvd3M/PzN9fXByZXBhcmVTdGVwRm9yQWN0aXZhdGlvbihNKXtNPy5wcm9ncmVzc1N0ZXAmJihNLnByb2dyZXNzU3RlcFN0YXRlPXRoaXMuY3JlYXRlSW5pdGlhbFByb2dyZXNzU3RlcFN0YXRlKE0pKX1hc3luYyBydW5TdGVwVmFsaWRhdGlvbihNLFMsUCl7dHJ5e2lmKGF3YWl0IE0udmFsaWRhdGlvbkZ1bmM/Lih0aGlzLFMsUCksUC5hYm9ydGVkKXJldHVybjtNLnByb2dyZXNzU3RlcCYmTS5wcm9ncmVzc1N0ZXAuYXV0b0FkdmFuY2UhPT0hMSYmdGhpcy5zZWxlY3RlZFN0ZXA9PT1NJiZ0aGlzLmdvTmV4dCgpfWNhdGNoKEEpe2lmKFAuYWJvcnRlZClyZXR1cm47aWYoTS5wcm9ncmVzc1N0ZXApe2xldCBGPUEgaW5zdGFuY2VvZiBFcnJvcj9BLm1lc3NhZ2U6IlVuZXhwZWN0ZWQgZXJyb3IiO3RoaXMuYXBwZW5kUHJvZ3Jlc3NTdGVwTGluZShgRXJyb3I6ICR7Rn1gLE0pLHRoaXMudXBkYXRlUHJvZ3Jlc3NTdGVwKHtpbmRldGVybWluYXRlOiExLHN0YXR1c1RleHQ6Rn0sTSl9Y29uc29sZS5lcnJvcihBKX19Y2FuY2VsQ29uZmlybU1vZGFsO2hhbmRsZU91dHNpZGVDbGljayhNKXtpZighdGhpcy5vdmVybGF5fHwhdGhpcy5jYW5jZWxhYmxlKXJldHVybjtNLnN0b3BQcm9wYWdhdGlvbigpO2xldCBTPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuc3RlcHBlckNvbnRhaW5lciIpO00udGFyZ2V0PT09UyYmdGhpcy5oYW5kbGVDYW5jZWxSZXF1ZXN0KCl9YXN5bmMgaGFuZGxlQ2FuY2VsUmVxdWVzdCgpe3RoaXMuY2FuY2VsYWJsZSYmKHRoaXMuY2FuY2VsQ29uZmlybU1vZGFsJiZ0aGlzLmNhbmNlbENvbmZpcm1Nb2RhbC5pc0Nvbm5lY3RlZHx8KHRoaXMuY2FuY2VsQ29uZmlybU1vZGFsPXZvaWQgMCx0aGlzLmNhbmNlbENvbmZpcm1Nb2RhbD1hd2FpdCB3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJDYW5jZWwgc2V0dXA/Iix3aWR0aDoic21hbGwiLGNvbnRlbnQ6d2AKICAgICAgICA8cCBzdHlsZT0ibWFyZ2luOiAwOyI+CiAgICAgICAgICBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2FuY2VsPyBBbnkgcHJvZ3Jlc3Mgb24gdGhlIGN1cnJlbnQgc3RlcCB3aWxsIGJlIGxvc3QuCiAgICAgICAgPC9wPgogICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ29udGludWUgc2V0dXAiLGFjdGlvbjpzKGFzeW5jIE09Pnt0aGlzLmNhbmNlbENvbmZpcm1Nb2RhbD12b2lkIDAsYXdhaXQgTS5kZXN0cm95KCl9LCJhY3Rpb24iKX0se25hbWU6IlllcywgY2FuY2VsIixhY3Rpb246cyhhc3luYyBNPT57dGhpcy5jYW5jZWxDb25maXJtTW9kYWw9dm9pZCAwLE0uZGVzdHJveSgpLGF3YWl0KGF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlKS5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDEwMCksYXdhaXQgdGhpcy5kZXN0cm95KCl9LCJhY3Rpb24iKX1dfSkpKX1hc3luYyBkZXN0cm95KCl7bGV0IE09YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2UsUz10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnN0ZXBwZXJDb250YWluZXIiKTt0aGlzLnNlbGVjdGVkU3RlcD8uYWJvcnRDb250cm9sbGVyJiZ0aGlzLnNlbGVjdGVkU3RlcC5hYm9ydENvbnRyb2xsZXIuYWJvcnQoKSxTPy5jbGFzc0xpc3QuYWRkKCJwcmVkZXN0cm95IiksYXdhaXQgTS5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDI1MCksdGhpcy5wYXJlbnRFbGVtZW50JiZ0aGlzLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcyksdGhpcy53aW5kb3dMYXllciYmYXdhaXQgdGhpcy53aW5kb3dMYXllci5kZXN0cm95KCksdGhpcy5hY3RpdmVGb3JtU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpLHRoaXMuYWN0aXZlRm9ybVN1YnNjcmlwdGlvbj12b2lkIDAsdGhpcy5hY3RpdmVGb3JtPW51bGwsWnQudW5yZWdpc3Rlcih0aGlzKX1zdGF0aWN7cm8ocix0KX19O3JldHVybiBCPXJ9KSgpfSk7dmFyIHgzYT1mKCgpPT57SnNlKCl9KTt2YXIgeTNhPWYoKCk9PntYcigpfSk7dmFyIHczYT1mKCgpPT57QTRhKCk7WDRhKCk7cjNhKCk7czNhKCk7YzNhKCk7ZDNhKCk7aDNhKCk7eDNhKCk7eTNhKCl9KTt2YXIgTTNhLGszYT1mKCgpPT57bGUoKTtNM2E9cygoKT0+d2AKICA8c3R5bGU+CiAgICAuZGVtby1jb250YWluZXIgewogICAgICBwYWRkaW5nOiA0OHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogMzJweDsKICAgIH0KCiAgICAuc2VjdGlvbiB7CiAgICAgIG1heC13aWR0aDogOTAwcHg7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgIH0KCiAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgfQoKICAgIC5zZWN0aW9uLWRlc2NyaXB0aW9uIHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgfQoKICAgIGRlZXMtaW1hZ2Utdmlld2VyIHsKICAgICAgaGVpZ2h0OiA0MDBweDsKICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CgogICAgLmNvbXBhY3QgewogICAgICBoZWlnaHQ6IDI1MHB4OwogICAgfQogIDwvc3R5bGU+CgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5KUEVHIEltYWdlIHdpdGggVG9vbGJhcjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5BIGxhbmRzY2FwZSBwaG90byB3aXRoIHpvb20sIHBhbiwgZml0LCBhbmQgZG93bmxvYWQgY29udHJvbHMuPC9kaXY+CiAgICAgIDxkZWVzLWltYWdlLXZpZXdlcgogICAgICAgIHNyYz0iaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1MDY3NDQwMzgxMzYtNDYyNzM4MzRiM2ZiP3c9MTIwMCIKICAgICAgICBhbHQ9Ik1vdW50YWluIGxhbmRzY2FwZSIKICAgICAgPjwvZGVlcy1pbWFnZS12aWV3ZXI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UE5HIHdpdGggVHJhbnNwYXJlbmN5PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPlRyYW5zcGFyZW50IFBORyBkaXNwbGF5ZWQgb24gYSBjaGVja2VyYm9hcmQgYmFja2dyb3VuZC48L2Rpdj4KICAgICAgPGRlZXMtaW1hZ2Utdmlld2VyCiAgICAgICAgc3JjPSJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zLzQvNDcvUE5HX3RyYW5zcGFyZW5jeV9kZW1vbnN0cmF0aW9uXzEucG5nIgogICAgICAgIGFsdD0iUE5HIHRyYW5zcGFyZW5jeSBkZW1vIgogICAgICA+PC9kZWVzLWltYWdlLXZpZXdlcj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TVkcgSW1hZ2U8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+U2NhbGFibGUgdmVjdG9yIGdyYXBoaWMuPC9kaXY+CiAgICAgIDxkZWVzLWltYWdlLXZpZXdlcgogICAgICAgIHNyYz0iaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy8wLzAyL1NWR19sb2dvLnN2ZyIKICAgICAgICBhbHQ9IlNWRyBsb2dvIgogICAgICAgIGZpdD0iY29udGFpbiIKICAgICAgPjwvZGVlcy1pbWFnZS12aWV3ZXI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Tm8gVG9vbGJhciBWYXJpYW50PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkltYWdlIHZpZXdlciB3aXRoIHRoZSB0b29sYmFyIGhpZGRlbi48L2Rpdj4KICAgICAgPGRlZXMtaW1hZ2Utdmlld2VyCiAgICAgICAgY2xhc3M9ImNvbXBhY3QiCiAgICAgICAgc3JjPSJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTQ2OTQ3NDk2ODAyOC01NjYyM2YwMmU0MmU/dz04MDAiCiAgICAgICAgYWx0PSJOYXR1cmUgc2NlbmUiCiAgICAgICAgLnNob3dUb29sYmFyPSR7ITF9CiAgICAgID48L2RlZXMtaW1hZ2Utdmlld2VyPgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW8iKX0pO3ZhciBvbix2cixTM2EsalFlPWYoKCk9PntsZSgpO3ZhKCk7azNhKCk7b249ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHZyPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxTM2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLWltYWdlLXZpZXdlciIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdLFAsQT1bXSxGPVtdLFcsaj1bXSxHPVtdLGhlLFI9W10sVT1bXSxtZSxJPVtdLHE9W107dmFyIGNlPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW1hZ2VWaWV3ZXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgdWU9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxkPVskKCldLHU9WyQoKV0seD1bJCh7dHlwZTpCb29sZWFufSldLHk9W0soKV0sTj1bSygpXSxPPVtLKCldLEI9W0soKV0sUD1bSygpXSxXPVtLKCldLGhlPVtLKCldLG1lPVtLKCldLG9uKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3JjIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJzcmMiaW4gWSwiaGFzIiksZ2V0OnMoWT0+WS5zcmMsImdldCIpLHNldDpzKChZLFEpPT57WS5zcmM9UX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sbixsKSxvbih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFsdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4iYWx0ImluIFksImhhcyIpLGdldDpzKFk9PlkuYWx0LCJnZXQiKSxzZXQ6cygoWSxRKT0+e1kuYWx0PVF9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LGMscCksb24odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+ImZpdCJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLmZpdCwiZ2V0Iiksc2V0OnMoKFksUSk9PntZLmZpdD1RfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxtLHYpLG9uKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1Rvb2xiYXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+InNob3dUb29sYmFyImluIFksImhhcyIpLGdldDpzKFk9Plkuc2hvd1Rvb2xiYXIsImdldCIpLHNldDpzKChZLFEpPT57WS5zaG93VG9vbGJhcj1RfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxiLGcpLG9uKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiem9vbSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4iem9vbSJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLnpvb20sImdldCIpLHNldDpzKChZLFEpPT57WS56b29tPVF9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LGssQyksb24odGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwYW5YIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJwYW5YImluIFksImhhcyIpLGdldDpzKFk9PlkucGFuWCwiZ2V0Iiksc2V0OnMoKFksUSk9PntZLnBhblg9UX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sXyx6KSxvbih0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBhblkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+InBhblkiaW4gWSwiaGFzIiksZ2V0OnMoWT0+WS5wYW5ZLCJnZXQiKSxzZXQ6cygoWSxRKT0+e1kucGFuWT1RfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxULEUpLG9uKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNEcmFnZ2luZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4iaXNEcmFnZ2luZyJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLmlzRHJhZ2dpbmcsImdldCIpLHNldDpzKChZLFEpPT57WS5pc0RyYWdnaW5nPVF9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LE0sUyksb24odGhpcyxudWxsLFAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJsb2FkaW5nImluIFksImhhcyIpLGdldDpzKFk9PlkubG9hZGluZywiZ2V0Iiksc2V0OnMoKFksUSk9PntZLmxvYWRpbmc9UX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sQSxGKSxvbih0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVycm9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJlcnJvciJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLmVycm9yLCJnZXQiKSxzZXQ6cygoWSxRKT0+e1kuZXJyb3I9UX0sInNldCIpfSxtZXRhZGF0YTp1ZX0saixHKSxvbih0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbWFnZU5hdHVyYWxXaWR0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4iaW1hZ2VOYXR1cmFsV2lkdGgiaW4gWSwiaGFzIiksZ2V0OnMoWT0+WS5pbWFnZU5hdHVyYWxXaWR0aCwiZ2V0Iiksc2V0OnMoKFksUSk9PntZLmltYWdlTmF0dXJhbFdpZHRoPVF9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LFIsVSksb24odGhpcyxudWxsLG1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW1hZ2VOYXR1cmFsSGVpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJpbWFnZU5hdHVyYWxIZWlnaHQiaW4gWSwiaGFzIiksZ2V0OnMoWT0+WS5pbWFnZU5hdHVyYWxIZWlnaHQsImdldCIpLHNldDpzKChZLFEpPT57WS5pbWFnZU5hdHVyYWxIZWlnaHQ9UX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sSSxxKSxvbihudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTp1ZX0sbnVsbCx0KSxjZT1yPWUudmFsdWUsdWUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dWV9KX1zdGF0aWMgZGVtbz1NM2E7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSJdOyNlPXZyKHRoaXMsbiwiIik7Z2V0IHNyYygpe3JldHVybiB0aGlzLiNlfXNldCBzcmModWUpe3RoaXMuI2U9dWV9I3Q9KHZyKHRoaXMsbCksdnIodGhpcyxjLCIiKSk7Z2V0IGFsdCgpe3JldHVybiB0aGlzLiN0fXNldCBhbHQodWUpe3RoaXMuI3Q9dWV9I2E9KHZyKHRoaXMscCksdnIodGhpcyxtLCJjb250YWluIikpO2dldCBmaXQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZml0KHVlKXt0aGlzLiNhPXVlfSNyPSh2cih0aGlzLHYpLHZyKHRoaXMsYiwhMCkpO2dldCBzaG93VG9vbGJhcigpe3JldHVybiB0aGlzLiNyfXNldCBzaG93VG9vbGJhcih1ZSl7dGhpcy4jcj11ZX0jcz0odnIodGhpcyxnKSx2cih0aGlzLGssMSkpO2dldCB6b29tKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHpvb20odWUpe3RoaXMuI3M9dWV9I2k9KHZyKHRoaXMsQyksdnIodGhpcyxfLDApKTtnZXQgcGFuWCgpe3JldHVybiB0aGlzLiNpfXNldCBwYW5YKHVlKXt0aGlzLiNpPXVlfSNvPSh2cih0aGlzLHopLHZyKHRoaXMsVCwwKSk7Z2V0IHBhblkoKXtyZXR1cm4gdGhpcy4jb31zZXQgcGFuWSh1ZSl7dGhpcy4jbz11ZX0jbj0odnIodGhpcyxFKSx2cih0aGlzLE0sITEpKTtnZXQgaXNEcmFnZ2luZygpe3JldHVybiB0aGlzLiNufXNldCBpc0RyYWdnaW5nKHVlKXt0aGlzLiNuPXVlfSNsPSh2cih0aGlzLFMpLHZyKHRoaXMsQSwhMCkpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGxvYWRpbmcodWUpe3RoaXMuI2w9dWV9I2M9KHZyKHRoaXMsRiksdnIodGhpcyxqLCIiKSk7Z2V0IGVycm9yKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGVycm9yKHVlKXt0aGlzLiNjPXVlfSNkPSh2cih0aGlzLEcpLHZyKHRoaXMsUiwwKSk7Z2V0IGltYWdlTmF0dXJhbFdpZHRoKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGltYWdlTmF0dXJhbFdpZHRoKHVlKXt0aGlzLiNkPXVlfSN1PSh2cih0aGlzLFUpLHZyKHRoaXMsSSwwKSk7Z2V0IGltYWdlTmF0dXJhbEhlaWdodCgpe3JldHVybiB0aGlzLiN1fXNldCBpbWFnZU5hdHVyYWxIZWlnaHQodWUpe3RoaXMuI3U9dWV9ZHJhZ1N0YXJ0WD0odnIodGhpcyxxKSwwKTtkcmFnU3RhcnRZPTA7ZHJhZ1N0YXJ0UGFuWD0wO2RyYWdTdGFydFBhblk9MDtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBzYW5zLXNlcmlmOwogICAgICAgIH0KCiAgICAgICAgLnZpZXdlci1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTclKSIsImhzbCgyMTUgMjAlIDEwJSkiKX07CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCJoc2woMjE1IDIwJSAxNSUpIil9OwogICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiaHNsKDIxNyAyNSUgMjIlKSIpfTsKICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDRweDsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWJ1dHRvbiB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWJ1dHRvbiBkZWVzLWljb24gewogICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItYnV0dG9uOmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE0IDMxJSA5MiUpIiwiaHNsKDIxNyAyNSUgMjIlKSIpfTsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhci1idXR0b246YWN0aXZlIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzNmM2Y0NiIpfTsKICAgICAgICB9CgogICAgICAgIC56b29tLWxldmVsIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICBtaW4td2lkdGg6IDQ4cHg7CiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIH0KCiAgICAgICAgLmltYWdlLWFyZWEgewogICAgICAgICAgZmxleDogMTsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICBjdXJzb3I6ICR7dGhpcy56b29tPjE/dGhpcy5pc0RyYWdnaW5nPyJncmFiYmluZyI6ImdyYWIiOiJkZWZhdWx0In07CiAgICAgICAgfQoKICAgICAgICAuY2hlY2tlcmJvYXJkIHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgYmFja2dyb3VuZC1pbWFnZToKICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAke2guYmRUaGVtZSgiI2YwZjBmMCIsIiMxYTFhMWEiKX0gMjUlLCB0cmFuc3BhcmVudCAyNSUpLAogICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAke2guYmRUaGVtZSgiI2YwZjBmMCIsIiMxYTFhMWEiKX0gMjUlLCB0cmFuc3BhcmVudCAyNSUpLAogICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50IDc1JSwgJHtoLmJkVGhlbWUoIiNmMGYwZjAiLCIjMWExYTFhIil9IDc1JSksCiAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHRyYW5zcGFyZW50IDc1JSwgJHtoLmJkVGhlbWUoIiNmMGYwZjAiLCIjMWExYTFhIil9IDc1JSk7CiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDsKICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMCwgMCA4cHgsIDhweCAtOHB4LCAtOHB4IDBweDsKICAgICAgICAgIG9wYWNpdHk6IDAuMzsKICAgICAgICB9CgogICAgICAgIC5pbWFnZS13cmFwcGVyIHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR7dGhpcy5wYW5YfXB4LCAke3RoaXMucGFuWX1weCkgc2NhbGUoJHt0aGlzLnpvb219KTsKICAgICAgICAgIHRyYW5zaXRpb246ICR7dGhpcy5pc0RyYWdnaW5nPyJub25lIjoidHJhbnNmb3JtIDAuMnMgZWFzZSJ9OwogICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgICB9CgogICAgICAgIC5pbWFnZS13cmFwcGVyIGltZyB7CiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlOwogICAgICAgICAgb2JqZWN0LWZpdDogJHt0aGlzLmZpdH07CiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAgIC13ZWJraXQtdXNlci1kcmFnOiBub25lOwogICAgICAgIH0KCiAgICAgICAgLmltYWdlLXdyYXBwZXIgaW1nLmFjdHVhbCB7CiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7CiAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lOwogICAgICAgICAgb2JqZWN0LWZpdDogbm9uZTsKICAgICAgICB9CgogICAgICAgIC5sb2FkaW5nLW92ZXJsYXkgewogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgaW5zZXQ6IDA7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMjU1LDI1NSwyNTUsMC44KSIsInJnYmEoMCwwLDAsMC42KSIpfTsKICAgICAgICB9CgogICAgICAgIC5sb2FkaW5nLXNwaW5uZXIgewogICAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzZjNmNDYiKX07CiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9CiAgICAgICAgfQoKICAgICAgICAuZXJyb3Itb3ZlcmxheSB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICBpbnNldDogMDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIH0KCiAgICAgICAgLmVycm9yLW92ZXJsYXkgLmVycm9yLWljb24gewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDsKICAgICAgICB9CgogICAgICAgIC5lcnJvci10ZXh0IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICB9CgogICAgICAgIC5pbWFnZS1pbmZvIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM3MTcxN2EiKX07CiAgICAgICAgICBwYWRkaW5nOiAwIDRweDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CgogICAgICA8ZGl2IGNsYXNzPSJ2aWV3ZXItY29udGFpbmVyIj4KICAgICAgICAke3RoaXMuc2hvd1Rvb2xiYXI/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWdyb3VwIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy56b29tT3V0fSB0aXRsZT0iWm9vbSBvdXQiPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6Wm9vbU91dCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24iIEBjbGljaz0ke3RoaXMucmVzZXRab29tfT4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ6b29tLWxldmVsIj4ke01hdGgucm91bmQodGhpcy56b29tKjEwMCl9JTwvc3Bhbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy56b29tSW59IHRpdGxlPSJab29tIGluIj4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlpvb21JbiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWdyb3VwIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy5maXRUb1NjcmVlbn0gdGl0bGU9IkZpdCB0byBzY3JlZW4iPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6TWF4aW1pemUiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRvb2xiYXItYnV0dG9uIiBAY2xpY2s9JHt0aGlzLmFjdHVhbFNpemV9IHRpdGxlPSJBY3R1YWwgc2l6ZSAoMTAwJSkiPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6U2NhbiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWdyb3VwIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy5kb3dubG9hZH0gdGl0bGU9IkRvd25sb2FkIj4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkRvd25sb2FkIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICR7dGhpcy5pbWFnZU5hdHVyYWxXaWR0aD4wP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1ncm91cCI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW1hZ2UtaW5mbyI+JHt0aGlzLmltYWdlTmF0dXJhbFdpZHRofSB4ICR7dGhpcy5pbWFnZU5hdHVyYWxIZWlnaHR9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KCiAgICAgICAgPGRpdgogICAgICAgICAgY2xhc3M9ImltYWdlLWFyZWEiCiAgICAgICAgICBAd2hlZWw9JHt0aGlzLmhhbmRsZVdoZWVsfQogICAgICAgICAgQG1vdXNlZG93bj0ke3RoaXMuaGFuZGxlTW91c2VEb3dufQogICAgICAgICAgQG1vdXNlbW92ZT0ke3RoaXMuaGFuZGxlTW91c2VNb3ZlfQogICAgICAgICAgQG1vdXNldXA9JHt0aGlzLmhhbmRsZU1vdXNlVXB9CiAgICAgICAgICBAbW91c2VsZWF2ZT0ke3RoaXMuaGFuZGxlTW91c2VVcH0KICAgICAgICAgIEBkYmxjbGljaz0ke3RoaXMuaGFuZGxlRG91YmxlQ2xpY2t9CiAgICAgICAgPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2hlY2tlcmJvYXJkIj48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImltYWdlLXdyYXBwZXIiPgogICAgICAgICAgICAke3RoaXMuc3JjP3dgCiAgICAgICAgICAgICAgPGltZwogICAgICAgICAgICAgICAgY2xhc3M9IiR7dGhpcy5maXQ9PT0iYWN0dWFsIj8iYWN0dWFsIjoiIn0iCiAgICAgICAgICAgICAgICBzcmM9IiR7dGhpcy5zcmN9IgogICAgICAgICAgICAgICAgYWx0PSIke3RoaXMuYWx0fSIKICAgICAgICAgICAgICAgIEBsb2FkPSR7dGhpcy5oYW5kbGVJbWFnZUxvYWR9CiAgICAgICAgICAgICAgICBAZXJyb3I9JHt0aGlzLmhhbmRsZUltYWdlRXJyb3J9CiAgICAgICAgICAgICAgICBkcmFnZ2FibGU9ImZhbHNlIgogICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7dGhpcy5sb2FkaW5nJiZ0aGlzLnNyYz93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLW92ZXJsYXkiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICAgICR7dGhpcy5lcnJvcj93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcnJvci1vdmVybGF5Ij4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJlcnJvci1pY29uIiBpY29uPSJsdWNpZGU6SW1hZ2VPZmYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlcnJvci10ZXh0Ij4ke3RoaXMuZXJyb3J9PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH16b29tSW4oKXt0aGlzLnpvb209TWF0aC5taW4oMTAsdGhpcy56b29tKjEuMjUpfXpvb21PdXQoKXt0aGlzLnpvb209TWF0aC5tYXgoLjEsdGhpcy56b29tLzEuMjUpLHRoaXMuem9vbTw9MSYmKHRoaXMucGFuWD0wLHRoaXMucGFuWT0wKX1yZXNldFpvb20oKXt0aGlzLnpvb209MSx0aGlzLnBhblg9MCx0aGlzLnBhblk9MH1maXRUb1NjcmVlbigpe3RoaXMuem9vbT0xLHRoaXMucGFuWD0wLHRoaXMucGFuWT0wLHRoaXMuZml0PSJjb250YWluIn1hY3R1YWxTaXplKCl7dGhpcy56b29tPTEsdGhpcy5wYW5YPTAsdGhpcy5wYW5ZPTAsdGhpcy5maXQ9ImFjdHVhbCJ9ZG93bmxvYWQoKXtpZighdGhpcy5zcmMpcmV0dXJuO2xldCB1ZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7dWUuaHJlZj10aGlzLnNyYyx1ZS5kb3dubG9hZD10aGlzLnNyYy5zcGxpdCgiLyIpLnBvcCgpfHwiaW1hZ2UiLHVlLmNsaWNrKCl9aGFuZGxlSW1hZ2VMb2FkKHVlKXtsZXQgWT11ZS50YXJnZXQ7dGhpcy5sb2FkaW5nPSExLHRoaXMuZXJyb3I9IiIsdGhpcy5pbWFnZU5hdHVyYWxXaWR0aD1ZLm5hdHVyYWxXaWR0aCx0aGlzLmltYWdlTmF0dXJhbEhlaWdodD1ZLm5hdHVyYWxIZWlnaHR9aGFuZGxlSW1hZ2VFcnJvcigpe3RoaXMubG9hZGluZz0hMSx0aGlzLmVycm9yPSJGYWlsZWQgdG8gbG9hZCBpbWFnZSJ9aGFuZGxlV2hlZWwodWUpe3VlLnByZXZlbnREZWZhdWx0KCk7bGV0IFk9dWUuZGVsdGFZPjA/Ljk6MS4xLFE9TWF0aC5taW4oMTAsTWF0aC5tYXgoLjEsdGhpcy56b29tKlkpKTt0aGlzLnpvb209USx0aGlzLnpvb208PTEmJih0aGlzLnBhblg9MCx0aGlzLnBhblk9MCl9aGFuZGxlTW91c2VEb3duKHVlKXt0aGlzLnpvb208PTF8fCh0aGlzLmlzRHJhZ2dpbmc9ITAsdGhpcy5kcmFnU3RhcnRYPXVlLmNsaWVudFgsdGhpcy5kcmFnU3RhcnRZPXVlLmNsaWVudFksdGhpcy5kcmFnU3RhcnRQYW5YPXRoaXMucGFuWCx0aGlzLmRyYWdTdGFydFBhblk9dGhpcy5wYW5ZKX1oYW5kbGVNb3VzZU1vdmUodWUpe3RoaXMuaXNEcmFnZ2luZyYmKHRoaXMucGFuWD10aGlzLmRyYWdTdGFydFBhblgrKHVlLmNsaWVudFgtdGhpcy5kcmFnU3RhcnRYKSx0aGlzLnBhblk9dGhpcy5kcmFnU3RhcnRQYW5ZKyh1ZS5jbGllbnRZLXRoaXMuZHJhZ1N0YXJ0WSkpfWhhbmRsZU1vdXNlVXAoKXt0aGlzLmlzRHJhZ2dpbmc9ITF9aGFuZGxlRG91YmxlQ2xpY2soKXt0aGlzLnpvb209PT0xP3RoaXMuem9vbT0yOih0aGlzLnpvb209MSx0aGlzLnBhblg9MCx0aGlzLnBhblk9MCl9dXBkYXRlZCh1ZSl7c3VwZXIudXBkYXRlZCh1ZSksdWUuaGFzKCJzcmMiKSYmKHRoaXMubG9hZGluZz0hMCx0aGlzLmVycm9yPSIiLHRoaXMuem9vbT0xLHRoaXMucGFuWD0wLHRoaXMucGFuWT0wLHRoaXMuaW1hZ2VOYXR1cmFsV2lkdGg9MCx0aGlzLmltYWdlTmF0dXJhbEhlaWdodD0wKX1zdGF0aWN7dnIocix0KX19O3JldHVybiBjZT1yfSkoKX0pO3ZhciB6M2E9ZigoKT0+e2pRZSgpfSk7dmFyIEMzYSxfM2E9ZigoKT0+e2xlKCk7QzNhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgcGFkZGluZzogNDhweDsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOGY5ZmEiLCIjMGEwYTBhIil9OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBnYXA6IDMycHg7CiAgICB9CgogICAgLnNlY3Rpb24gewogICAgICBtYXgtd2lkdGg6IDYwMHB4OwogICAgICB3aWR0aDogMTAwJTsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICB9CgogICAgLnNlY3Rpb24tdGl0bGUgewogICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgIH0KCiAgICAuc2VjdGlvbi1kZXNjcmlwdGlvbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgIH0KCiAgICBkZWVzLWF1ZGlvLXZpZXdlciB7CiAgICAgIGhlaWdodDogMjAwcHg7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgfQogIDwvc3R5bGU+CgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5BdWRpbyB3aXRoIFdhdmVmb3JtPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkF1ZGlvIHBsYXllciB3aXRoIHdhdmVmb3JtIHZpc3VhbGl6YXRpb24gYW5kIGZ1bGwgdHJhbnNwb3J0IGNvbnRyb2xzLjwvZGl2PgogICAgICA8ZGVlcy1hdWRpby12aWV3ZXIKICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LnNvdW5kaGVsaXguY29tL2V4YW1wbGVzL21wMy9Tb3VuZEhlbGl4LVNvbmctMS5tcDMiCiAgICAgICAgdGl0bGU9IlNvdW5kSGVsaXggU29uZyAxIgogICAgICAgIGFydGlzdD0iVC4gU2NodWVyZ2VyIgogICAgICA+PC9kZWVzLWF1ZGlvLXZpZXdlcj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5BdWRpbyB3aXRob3V0IFdhdmVmb3JtPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPlNpbXBsZSBhdWRpbyBwbGF5ZXIgd2l0aCBhIHNlZWtiYXIgaW5zdGVhZCBvZiBhIHdhdmVmb3JtLjwvZGl2PgogICAgICA8ZGVlcy1hdWRpby12aWV3ZXIKICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LnNvdW5kaGVsaXguY29tL2V4YW1wbGVzL21wMy9Tb3VuZEhlbGl4LVNvbmctMi5tcDMiCiAgICAgICAgdGl0bGU9IlNvdW5kSGVsaXggU29uZyAyIgogICAgICAgIC5zaG93V2F2ZWZvcm09JHshMX0KICAgICAgPjwvZGVlcy1hdWRpby12aWV3ZXI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TWluaW1hbCBBdWRpbyBQbGF5ZXI8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+Tm8gdGl0bGUgb3IgYXJ0aXN0IG1ldGFkYXRhIOKAlCBqdXN0IHRoZSBwbGF5ZXIuPC9kaXY+CiAgICAgIDxkZWVzLWF1ZGlvLXZpZXdlcgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuc291bmRoZWxpeC5jb20vZXhhbXBsZXMvbXAzL1NvdW5kSGVsaXgtU29uZy0zLm1wMyIKICAgICAgPjwvZGVlcy1hdWRpby12aWV3ZXI+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtbyIpfSk7dmFyIE5pLEJhLFQzYSxVUWU9ZigoKT0+e2xlKCk7dmEoKTtfM2EoKTtOaT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sQmE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFQzYT0oKCk9PntsZXQgYT1baWUoImRlZXMtYXVkaW8tdmlld2VyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W10sQixNPVtdLFM9W10sUCxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdLFEsSj1bXSxaPVtdLGdlLGFlPVtdLHJlPVtdO3ZhciB5ZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0F1ZGlvVmlld2VyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFY9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxkPVskKCldLHU9WyQoKV0seD1bJCh7dHlwZTpCb29sZWFufSldLHk9WyQoe3R5cGU6Qm9vbGVhbn0pXSxOPVskKHt0eXBlOkJvb2xlYW59KV0sTz1bSygpXSxCPVtLKCldLFA9W0soKV0sVz1bSygpXSxoZT1bSygpXSxtZT1bSygpXSxjZT1bSygpXSxRPVtLKCldLGdlPVtLKCldLE5pKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3JjIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJzcmMiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5zcmMsImdldCIpLHNldDpzKChILG9lKT0+e0guc3JjPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LG4sbCksTmkodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aXRsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4idGl0bGUiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC50aXRsZSwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC50aXRsZT1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxjLHApLE5pKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXJ0aXN0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJhcnRpc3QiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5hcnRpc3QsImdldCIpLHNldDpzKChILG9lKT0+e0guYXJ0aXN0PW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LG0sdiksTmkodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93V2F2ZWZvcm0iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+InNob3dXYXZlZm9ybSJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILnNob3dXYXZlZm9ybSwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5zaG93V2F2ZWZvcm09b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sYixnKSxOaSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImF1dG9wbGF5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJhdXRvcGxheSJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmF1dG9wbGF5LCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILmF1dG9wbGF5PW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LGssQyksTmkodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb29wIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJsb29wImluIEgsImhhcyIpLGdldDpzKEg9PkgubG9vcCwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5sb29wPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LF8seiksTmkodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc1BsYXlpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImlzUGxheWluZyJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmlzUGxheWluZywiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5pc1BsYXlpbmc9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sVCxFKSxOaSh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRUaW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJjdXJyZW50VGltZSJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmN1cnJlbnRUaW1lLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILmN1cnJlbnRUaW1lPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LE0sUyksTmkodGhpcyxudWxsLFAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkdXJhdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iZHVyYXRpb24iaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5kdXJhdGlvbiwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5kdXJhdGlvbj1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxBLEYpLE5pKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidm9sdW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJ2b2x1bWUiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC52b2x1bWUsImdldCIpLHNldDpzKChILG9lKT0+e0gudm9sdW1lPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LGosRyksTmkodGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNNdXRlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iaXNNdXRlZCJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmlzTXV0ZWQsImdldCIpLHNldDpzKChILG9lKT0+e0guaXNNdXRlZD1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxSLFUpLE5pKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImxvYWRpbmciaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5sb2FkaW5nLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILmxvYWRpbmc9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sSSxxKSxOaSh0aGlzLG51bGwsY2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlcnJvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iZXJyb3IiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5lcnJvciwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5lcnJvcj1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSx1ZSxZKSxOaSh0aGlzLG51bGwsUSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndhdmVmb3JtRGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4id2F2ZWZvcm1EYXRhImluIEgsImhhcyIpLGdldDpzKEg9Pkgud2F2ZWZvcm1EYXRhLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILndhdmVmb3JtRGF0YT1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxKLFopLE5pKHRoaXMsbnVsbCxnZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndhdmVmb3JtUmVhZHkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+IndhdmVmb3JtUmVhZHkiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC53YXZlZm9ybVJlYWR5LCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILndhdmVmb3JtUmVhZHk9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sYWUscmUpLE5pKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlZ9LG51bGwsdCkseWU9cj1lLnZhbHVlLFYmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Vn0pfXN0YXRpYyBkZW1vPUMzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1lZGlhIl07I2U9QmEodGhpcyxuLCIiKTtnZXQgc3JjKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNyYyhWKXt0aGlzLiNlPVZ9I3Q9KEJhKHRoaXMsbCksQmEodGhpcyxjLCIiKSk7Z2V0IHRpdGxlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHRpdGxlKFYpe3RoaXMuI3Q9Vn0jYT0oQmEodGhpcyxwKSxCYSh0aGlzLG0sIiIpKTtnZXQgYXJ0aXN0KCl7cmV0dXJuIHRoaXMuI2F9c2V0IGFydGlzdChWKXt0aGlzLiNhPVZ9I3I9KEJhKHRoaXMsdiksQmEodGhpcyxiLCEwKSk7Z2V0IHNob3dXYXZlZm9ybSgpe3JldHVybiB0aGlzLiNyfXNldCBzaG93V2F2ZWZvcm0oVil7dGhpcy4jcj1WfSNzPShCYSh0aGlzLGcpLEJhKHRoaXMsaywhMSkpO2dldCBhdXRvcGxheSgpe3JldHVybiB0aGlzLiNzfXNldCBhdXRvcGxheShWKXt0aGlzLiNzPVZ9I2k9KEJhKHRoaXMsQyksQmEodGhpcyxfLCExKSk7Z2V0IGxvb3AoKXtyZXR1cm4gdGhpcy4jaX1zZXQgbG9vcChWKXt0aGlzLiNpPVZ9I289KEJhKHRoaXMseiksQmEodGhpcyxULCExKSk7Z2V0IGlzUGxheWluZygpe3JldHVybiB0aGlzLiNvfXNldCBpc1BsYXlpbmcoVil7dGhpcy4jbz1WfSNuPShCYSh0aGlzLEUpLEJhKHRoaXMsTSwwKSk7Z2V0IGN1cnJlbnRUaW1lKCl7cmV0dXJuIHRoaXMuI259c2V0IGN1cnJlbnRUaW1lKFYpe3RoaXMuI249Vn0jbD0oQmEodGhpcyxTKSxCYSh0aGlzLEEsMCkpO2dldCBkdXJhdGlvbigpe3JldHVybiB0aGlzLiNsfXNldCBkdXJhdGlvbihWKXt0aGlzLiNsPVZ9I2M9KEJhKHRoaXMsRiksQmEodGhpcyxqLDEpKTtnZXQgdm9sdW1lKCl7cmV0dXJuIHRoaXMuI2N9c2V0IHZvbHVtZShWKXt0aGlzLiNjPVZ9I2Q9KEJhKHRoaXMsRyksQmEodGhpcyxSLCExKSk7Z2V0IGlzTXV0ZWQoKXtyZXR1cm4gdGhpcy4jZH1zZXQgaXNNdXRlZChWKXt0aGlzLiNkPVZ9I3U9KEJhKHRoaXMsVSksQmEodGhpcyxJLCExKSk7Z2V0IGxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jdX1zZXQgbG9hZGluZyhWKXt0aGlzLiN1PVZ9I3A9KEJhKHRoaXMscSksQmEodGhpcyx1ZSwiIikpO2dldCBlcnJvcigpe3JldHVybiB0aGlzLiNwfXNldCBlcnJvcihWKXt0aGlzLiNwPVZ9I2Y9KEJhKHRoaXMsWSksQmEodGhpcyxKLFtdKSk7Z2V0IHdhdmVmb3JtRGF0YSgpe3JldHVybiB0aGlzLiNmfXNldCB3YXZlZm9ybURhdGEoVil7dGhpcy4jZj1WfSNoPShCYSh0aGlzLFopLEJhKHRoaXMsYWUsITEpKTtnZXQgd2F2ZWZvcm1SZWFkeSgpe3JldHVybiB0aGlzLiNofXNldCB3YXZlZm9ybVJlYWR5KFYpe3RoaXMuI2g9Vn1hdWRpb0VsZW1lbnQ9KEJhKHRoaXMscmUpLG51bGwpO2NhbnZhc0VsZW1lbnQ9bnVsbDthbmltRnJhbWVJZD0wO3ZvbHVtZUJlZm9yZU11dGU9MTtyZW5kZXIoKXtsZXQgVj10aGlzLnRpdGxlJiZ0aGlzLmFydGlzdD9gJHt0aGlzLnRpdGxlfSBcdTIwMTQgJHt0aGlzLmFydGlzdH1gOnRoaXMudGl0bGV8fHRoaXMuYXJ0aXN0fHwiIjtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBzYW5zLXNlcmlmOwogICAgICAgIH0KCiAgICAgICAgLnZpZXdlci1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTclKSIsImhzbCgyMTUgMjAlIDEwJSkiKX07CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGdhcDogMTZweDsKICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiaHNsKDIxNSAyMCUgMTUlKSIpfTsKICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhci1ncm91cC0tZW5kIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWJ1dHRvbiB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItYnV0dG9uIGRlZXMtaWNvbiB7CiAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhci1idXR0b246aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTQgMzElIDkyJSkiLCJoc2woMjE3IDI1JSAyMiUpIil9OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWJ1dHRvbjphY3RpdmUgewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjM2YzZjQ2Iil9OwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItYnV0dG9uLmFjdGl2ZSB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItdGl0bGUgewogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICAgIH0KCiAgICAgICAgLnRpbWUtZGlzcGxheSB7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICAgICAgICBtaW4td2lkdGg6IDkwcHg7CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDRweDsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtc2xpZGVyIHsKICAgICAgICAgIHdpZHRoOiA3MHB4OwogICAgICAgICAgaGVpZ2h0OiA0cHg7CiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lOwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTQgMzElIDkxJSkiLCJoc2woMjE3IDI1JSAyMiUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYiB7CiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgICAgICAgICB3aWR0aDogMTJweDsKICAgICAgICAgIGhlaWdodDogMTJweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtc2xpZGVyOjotbW96LXJhbmdlLXRodW1iIHsKICAgICAgICAgIHdpZHRoOiAxMnB4OwogICAgICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIH0KCiAgICAgICAgLmNvbnRlbnQtYXJlYSB7CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgfQoKICAgICAgICAud2F2ZWZvcm0tY29udGFpbmVyIHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC53YXZlZm9ybS1jb250YWluZXIgY2FudmFzIHsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgfQoKICAgICAgICAuc2Vla2Jhci1jb250YWluZXIgewogICAgICAgICAgd2lkdGg6IDgwJTsKICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7CiAgICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE0IDMxJSA5MSUpIiwiaHNsKDIxNyAyNSUgMjIlKSIpfTsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQoKICAgICAgICAuc2Vla2Jhci1maWxsIHsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgbGluZWFyOwogICAgICAgIH0KCiAgICAgICAgLmVycm9yLW92ZXJsYXkgewogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgaW5zZXQ6IDA7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICB9CgogICAgICAgIC5lcnJvci1vdmVybGF5IC5lcnJvci1pY29uIHsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgICAgICBmb250LXNpemU6IDMycHg7CiAgICAgICAgfQoKICAgICAgICAuZXJyb3ItdGV4dCB7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgfQoKICAgICAgICAubG9hZGluZy1vdmVybGF5IHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB9CgogICAgICAgIC5sb2FkaW5nLXNwaW5uZXIgewogICAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNCAzMSUgODYlKSIsImhzbCgyMTcgMjUlIDI4JSkiKX07CiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNyA5MSUgNjAlKSIsImhzbCgyMTMgOTMlIDY4JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9CiAgICAgICAgfQogICAgICA8L3N0eWxlPgoKICAgICAgPGRpdiBjbGFzcz0idmlld2VyLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWdyb3VwIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24iIEBjbGljaz0ke3RoaXMudG9nZ2xlUGxheX0+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6JHt0aGlzLmlzUGxheWluZz8iUGF1c2UiOiJQbGF5In0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpbWUtZGlzcGxheSI+CiAgICAgICAgICAgICAgJHt0aGlzLmZvcm1hdFRpbWUodGhpcy5jdXJyZW50VGltZSl9IC8gJHt0aGlzLmZvcm1hdFRpbWUodGhpcy5kdXJhdGlvbil9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICR7Vj93YAogICAgICAgICAgICA8c3BhbiBjbGFzcz0idG9vbGJhci10aXRsZSI+JHtWfTwvc3Bhbj4KICAgICAgICAgIGA6IiJ9CgogICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1ncm91cC0tZW5kIj4KICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiAke3RoaXMubG9vcD8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy50b2dnbGVMb29wfQogICAgICAgICAgICAgIHRpdGxlPSJMb29wIgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6UmVwZWF0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9idXR0b24+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2b2x1bWUtZ3JvdXAiPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRvb2xiYXItYnV0dG9uIiBAY2xpY2s9JHt0aGlzLnRvZ2dsZU11dGV9IHRpdGxlPSIke3RoaXMuaXNNdXRlZD8iVW5tdXRlIjoiTXV0ZSJ9Ij4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOiR7dGhpcy5pc011dGVkfHx0aGlzLnZvbHVtZT09PTA/IlZvbHVtZVgiOnRoaXMudm9sdW1lPC41PyJWb2x1bWUxIjoiVm9sdW1lMiJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIGNsYXNzPSJ2b2x1bWUtc2xpZGVyIgogICAgICAgICAgICAgICAgdHlwZT0icmFuZ2UiCiAgICAgICAgICAgICAgICBtaW49IjAiCiAgICAgICAgICAgICAgICBtYXg9IjEiCiAgICAgICAgICAgICAgICBzdGVwPSIwLjAxIgogICAgICAgICAgICAgICAgLnZhbHVlPSR7U3RyaW5nKHRoaXMuaXNNdXRlZD8wOnRoaXMudm9sdW1lKX0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke3RoaXMuaGFuZGxlVm9sdW1lQ2hhbmdlfQogICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtYXJlYSI+CiAgICAgICAgICAke3RoaXMuZXJyb3I/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXJyb3Itb3ZlcmxheSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0iZXJyb3ItaWNvbiIgaWNvbj0ibHVjaWRlOk11c2ljT2ZmIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZXJyb3ItdGV4dCI+JHt0aGlzLmVycm9yfTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOnRoaXMubG9hZGluZz93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLW92ZXJsYXkiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDp0aGlzLnNob3dXYXZlZm9ybT93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3YXZlZm9ybS1jb250YWluZXIiIEBjbGljaz0ke3RoaXMuaGFuZGxlV2F2ZWZvcm1DbGlja30+CiAgICAgICAgICAgICAgPGNhbnZhcz48L2NhbnZhcz4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlZWtiYXItY29udGFpbmVyIiBAY2xpY2s9JHt0aGlzLmhhbmRsZVNlZWtiYXJDbGlja30+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2Vla2Jhci1maWxsIiBzdHlsZT0id2lkdGg6ICR7dGhpcy5kdXJhdGlvbj90aGlzLmN1cnJlbnRUaW1lL3RoaXMuZHVyYXRpb24qMTAwOjB9JSI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYH0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnNyYyYmdGhpcy5pbml0QXVkaW8oKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5jbGVhbnVwKCl9YXN5bmMgdXBkYXRlZChWKXtzdXBlci51cGRhdGVkKFYpLFYuaGFzKCJzcmMiKSYmdGhpcy5zcmMmJih0aGlzLmNsZWFudXAoKSx0aGlzLmluaXRBdWRpbygpKSwoVi5oYXMoIndhdmVmb3JtRGF0YSIpfHxWLmhhcygiY3VycmVudFRpbWUiKSkmJnRoaXMuZHJhd1dhdmVmb3JtKCl9cGxheSgpe3RoaXMuYXVkaW9FbGVtZW50Py5wbGF5KCl9cGF1c2UoKXt0aGlzLmF1ZGlvRWxlbWVudD8ucGF1c2UoKX10b2dnbGVQbGF5KCl7dGhpcy5pc1BsYXlpbmc/dGhpcy5wYXVzZSgpOnRoaXMucGxheSgpfXNlZWsoVil7dGhpcy5hdWRpb0VsZW1lbnQmJih0aGlzLmF1ZGlvRWxlbWVudC5jdXJyZW50VGltZT1WKX1zZXRWb2x1bWUoVil7dGhpcy52b2x1bWU9TWF0aC5tYXgoMCxNYXRoLm1pbigxLFYpKSx0aGlzLmF1ZGlvRWxlbWVudCYmKHRoaXMuYXVkaW9FbGVtZW50LnZvbHVtZT10aGlzLnZvbHVtZSksdGhpcy52b2x1bWU+MCYmKHRoaXMuaXNNdXRlZD0hMSl9dG9nZ2xlTXV0ZSgpe3RoaXMuaXNNdXRlZD8odGhpcy5pc011dGVkPSExLHRoaXMudm9sdW1lPXRoaXMudm9sdW1lQmVmb3JlTXV0ZXx8LjUsdGhpcy5hdWRpb0VsZW1lbnQmJih0aGlzLmF1ZGlvRWxlbWVudC52b2x1bWU9dGhpcy52b2x1bWUpKToodGhpcy52b2x1bWVCZWZvcmVNdXRlPXRoaXMudm9sdW1lLHRoaXMuaXNNdXRlZD0hMCx0aGlzLmF1ZGlvRWxlbWVudCYmKHRoaXMuYXVkaW9FbGVtZW50LnZvbHVtZT0wKSl9dG9nZ2xlTG9vcCgpe3RoaXMubG9vcD0hdGhpcy5sb29wLHRoaXMuYXVkaW9FbGVtZW50JiYodGhpcy5hdWRpb0VsZW1lbnQubG9vcD10aGlzLmxvb3ApfWluaXRBdWRpbygpe3RoaXMuYXVkaW9FbGVtZW50PW5ldyBBdWRpbyx0aGlzLmF1ZGlvRWxlbWVudC5jcm9zc09yaWdpbj0iYW5vbnltb3VzIix0aGlzLmF1ZGlvRWxlbWVudC5zcmM9dGhpcy5zcmMsdGhpcy5hdWRpb0VsZW1lbnQudm9sdW1lPXRoaXMuaXNNdXRlZD8wOnRoaXMudm9sdW1lLHRoaXMuYXVkaW9FbGVtZW50Lmxvb3A9dGhpcy5sb29wLHRoaXMuYXVkaW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZG1ldGFkYXRhIiwoKT0+e3RoaXMuZHVyYXRpb249dGhpcy5hdWRpb0VsZW1lbnQuZHVyYXRpb24sdGhpcy5sb2FkaW5nPSExfSksdGhpcy5hdWRpb0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicGxheSIsKCk9Pnt0aGlzLmlzUGxheWluZz0hMCx0aGlzLnN0YXJ0VGltZVVwZGF0ZSgpfSksdGhpcy5hdWRpb0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicGF1c2UiLCgpPT57dGhpcy5pc1BsYXlpbmc9ITEsdGhpcy5zdG9wVGltZVVwZGF0ZSgpfSksdGhpcy5hdWRpb0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZW5kZWQiLCgpPT57dGhpcy5pc1BsYXlpbmc9ITEsdGhpcy5zdG9wVGltZVVwZGF0ZSgpfSksdGhpcy5hdWRpb0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCgpPT57dGhpcy5lcnJvcj0iRmFpbGVkIHRvIGxvYWQgYXVkaW8iLHRoaXMubG9hZGluZz0hMX0pLHRoaXMuYXVkaW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRpbWV1cGRhdGUiLCgpPT57dGhpcy5jdXJyZW50VGltZT10aGlzLmF1ZGlvRWxlbWVudC5jdXJyZW50VGltZX0pLHRoaXMuYXV0b3BsYXkmJnRoaXMuYXVkaW9FbGVtZW50LnBsYXkoKS5jYXRjaCgoKT0+e30pLHRoaXMuc2hvd1dhdmVmb3JtJiZ0aGlzLmxvYWRXYXZlZm9ybSgpfWFzeW5jIGxvYWRXYXZlZm9ybSgpe3RyeXt0aGlzLmxvYWRpbmc9ITA7bGV0IEg9YXdhaXQoYXdhaXQgZmV0Y2godGhpcy5zcmMpKS5hcnJheUJ1ZmZlcigpLG9lPW5ldyBBdWRpb0NvbnRleHQsdGU9KGF3YWl0IG9lLmRlY29kZUF1ZGlvRGF0YShIKSkuZ2V0Q2hhbm5lbERhdGEoMCksemU9MjAwLE9lPU1hdGguZmxvb3IodGUubGVuZ3RoL3plKSxxZT1bXTtmb3IobGV0ICRlPTA7JGU8emU7JGUrKyl7bGV0IENlPTA7Zm9yKGxldCBNZT0wO01lPE9lO01lKyspQ2UrPU1hdGguYWJzKHRlWyRlKk9lK01lXSk7cWUucHVzaChDZS9PZSl9bGV0IGN0PU1hdGgubWF4KC4uLnFlKTt0aGlzLndhdmVmb3JtRGF0YT1xZS5tYXAoJGU9PmN0PjA/JGUvY3Q6MCksdGhpcy53YXZlZm9ybVJlYWR5PSEwLHRoaXMubG9hZGluZz0hMSxhd2FpdCBvZS5jbG9zZSgpfWNhdGNoe3RoaXMud2F2ZWZvcm1SZWFkeT0hMSx0aGlzLmxvYWRpbmc9ITF9fWRyYXdXYXZlZm9ybSgpe2lmKCF0aGlzLnNob3dXYXZlZm9ybXx8IXRoaXMud2F2ZWZvcm1SZWFkeSlyZXR1cm47bGV0IFY9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJjYW52YXMiKTtpZighVilyZXR1cm47dGhpcy5jYW52YXNFbGVtZW50PVY7bGV0IEg9Vi5wYXJlbnRFbGVtZW50LG9lPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxLHNlPUguY2xpZW50V2lkdGgsdGU9SC5jbGllbnRIZWlnaHQ7Vi53aWR0aD1zZSpvZSxWLmhlaWdodD10ZSpvZTtsZXQgemU9Vi5nZXRDb250ZXh0KCIyZCIpO2lmKCF6ZSlyZXR1cm47emUuc2NhbGUob2Usb2UpLHplLmNsZWFyUmVjdCgwLDAsc2UsdGUpO2xldCBPZT10aGlzLndhdmVmb3JtRGF0YS5sZW5ndGg7aWYoT2U9PT0wKXJldHVybjtsZXQgcWU9c2UvT2UsY3Q9dGhpcy5kdXJhdGlvbj4wP3RoaXMuY3VycmVudFRpbWUvdGhpcy5kdXJhdGlvbjowLCRlPU1hdGguZmxvb3IoY3QqT2UpLENlPWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0aGVtZS1kYXJrIil8fHdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcyxNZT1DZT8iaHNsKDIxMyA5MyUgNjglKSI6ImhzbCgyMTcgOTElIDYwJSkiLGRlPUNlPyJoc2woMjE3IDI1JSAyMiUpIjoiaHNsKDIxNCAzMSUgODYlKSI7Zm9yKGxldCB2ZT0wO3ZlPE9lO3ZlKyspe2xldCBBZT10aGlzLndhdmVmb3JtRGF0YVt2ZV0sWmU9TWF0aC5tYXgoMixBZSoodGUtNCkpLGx0PXZlKnFlLHp0PSh0ZS1aZSkvMjt6ZS5maWxsU3R5bGU9dmU8JGU/TWU6ZGUsemUuZmlsbFJlY3QobHQrLjUsenQscWUtMSxaZSl9fWhhbmRsZVdhdmVmb3JtQ2xpY2soVil7bGV0IEg9Vi5jdXJyZW50VGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG9lPShWLmNsaWVudFgtSC5sZWZ0KS9ILndpZHRoO3RoaXMuc2VlayhvZSp0aGlzLmR1cmF0aW9uKX1oYW5kbGVTZWVrYmFyQ2xpY2soVil7bGV0IEg9Vi5jdXJyZW50VGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG9lPShWLmNsaWVudFgtSC5sZWZ0KS9ILndpZHRoO3RoaXMuc2VlayhvZSp0aGlzLmR1cmF0aW9uKX1oYW5kbGVWb2x1bWVDaGFuZ2UoVil7bGV0IEg9cGFyc2VGbG9hdChWLnRhcmdldC52YWx1ZSk7dGhpcy5zZXRWb2x1bWUoSCl9c3RhcnRUaW1lVXBkYXRlKCl7dGhpcy5zdG9wVGltZVVwZGF0ZSgpO2xldCBWPXMoKCk9Pnt0aGlzLmF1ZGlvRWxlbWVudCYmdGhpcy5pc1BsYXlpbmcmJih0aGlzLmN1cnJlbnRUaW1lPXRoaXMuYXVkaW9FbGVtZW50LmN1cnJlbnRUaW1lLHRoaXMuYW5pbUZyYW1lSWQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKFYpKX0sInVwZGF0ZSIpO3RoaXMuYW5pbUZyYW1lSWQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKFYpfXN0b3BUaW1lVXBkYXRlKCl7dGhpcy5hbmltRnJhbWVJZCYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuYW5pbUZyYW1lSWQpLHRoaXMuYW5pbUZyYW1lSWQ9MCl9Zm9ybWF0VGltZShWKXtpZighaXNGaW5pdGUoVil8fFY8MClyZXR1cm4iMDowMCI7bGV0IEg9TWF0aC5mbG9vcihWLzYwKSxvZT1NYXRoLmZsb29yKFYlNjApO3JldHVybmAke0h9OiR7b2UudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YH1jbGVhbnVwKCl7dGhpcy5zdG9wVGltZVVwZGF0ZSgpLHRoaXMuYXVkaW9FbGVtZW50JiYodGhpcy5hdWRpb0VsZW1lbnQucGF1c2UoKSx0aGlzLmF1ZGlvRWxlbWVudC5zcmM9IiIsdGhpcy5hdWRpb0VsZW1lbnQ9bnVsbCksdGhpcy5pc1BsYXlpbmc9ITEsdGhpcy5jdXJyZW50VGltZT0wLHRoaXMuZHVyYXRpb249MCx0aGlzLndhdmVmb3JtRGF0YT1bXSx0aGlzLndhdmVmb3JtUmVhZHk9ITF9c3RhdGlje0JhKHIsdCl9fTtyZXR1cm4geWU9cn0pKCl9KTt2YXIgTDNhPWYoKCk9PntVUWUoKX0pO3ZhciAkM2EsRDNhPWYoKCk9PntsZSgpOyQzYT1zKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHBhZGRpbmc6IDQ4cHg7CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjhmOWZhIiwiIzBhMGEwYSIpfTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAzMnB4OwogICAgfQoKICAgIC5zZWN0aW9uIHsKICAgICAgbWF4LXdpZHRoOiA4MDBweDsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgfQoKICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICB9CgogICAgLnNlY3Rpb24tZGVzY3JpcHRpb24gewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICB9CiAgPC9zdHlsZT4KCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlZpZGVvIHdpdGggQ3VzdG9tIENvbnRyb2xzPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkEgdmlkZW8gcGxheWVyIHdpdGggb3ZlcmxheSBjb250cm9scywgc2Vla2luZywgYW5kIHZvbHVtZSBhZGp1c3RtZW50LjwvZGl2PgogICAgICA8ZGVlcy12aWRlby12aWV3ZXIKICAgICAgICBzcmM9Imh0dHBzOi8vY29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vZ3R2LXZpZGVvcy1idWNrZXQvc2FtcGxlL0JpZ0J1Y2tCdW5ueS5tcDQiCiAgICAgICAgcG9zdGVyPSJodHRwczovL2NvbW1vbmRhdGFzdG9yYWdlLmdvb2dsZWFwaXMuY29tL2d0di12aWRlb3MtYnVja2V0L3NhbXBsZS9pbWFnZXMvQmlnQnVja0J1bm55LmpwZyIKICAgICAgPjwvZGVlcy12aWRlby12aWV3ZXI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QXV0b3BsYXkgTXV0ZWQ8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+VmlkZW8gdGhhdCBhdXRvcGxheXMgbXV0ZWQsIGNvbW1vbmx5IHVzZWQgZm9yIHByZXZpZXdzLjwvZGl2PgogICAgICA8ZGVlcy12aWRlby12aWV3ZXIKICAgICAgICBzcmM9Imh0dHBzOi8vY29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vZ3R2LXZpZGVvcy1idWNrZXQvc2FtcGxlL0VsZXBoYW50c0RyZWFtLm1wNCIKICAgICAgICBwb3N0ZXI9Imh0dHBzOi8vY29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vZ3R2LXZpZGVvcy1idWNrZXQvc2FtcGxlL2ltYWdlcy9FbGVwaGFudHNEcmVhbS5qcGciCiAgICAgICAgLmF1dG9wbGF5PSR7ITB9CiAgICAgICAgLm11dGVkPSR7ITB9CiAgICAgID48L2RlZXMtdmlkZW8tdmlld2VyPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPk5hdGl2ZSBDb250cm9sczwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5WaWRlbyB1c2luZyBicm93c2VyLW5hdGl2ZSBjb250cm9scyBpbnN0ZWFkIG9mIGN1c3RvbSBvdmVybGF5LjwvZGl2PgogICAgICA8ZGVlcy12aWRlby12aWV3ZXIKICAgICAgICBzcmM9Imh0dHBzOi8vY29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vZ3R2LXZpZGVvcy1idWNrZXQvc2FtcGxlL0ZvckJpZ2dlckJsYXplcy5tcDQiCiAgICAgICAgLnNob3dDb250cm9scz0keyExfQogICAgICA+PC9kZWVzLXZpZGVvLXZpZXdlcj4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vIil9KTt2YXIgc28sWmEsQTNhLFdRZT1mKCgpPT57bGUoKTt2YSgpO0QzYSgpO3NvPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxaYT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sQTNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy12aWRlby12aWV3ZXIiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdLGNlLHVlPVtdLFk9W10sUSxKPVtdLFo9W107dmFyIGdlPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzVmlkZW9WaWV3ZXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYWU9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxkPVskKCldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx4PVskKHt0eXBlOkJvb2xlYW59KV0seT1bJCh7dHlwZTpCb29sZWFufSldLE49WyQoe3R5cGU6Qm9vbGVhbn0pXSxPPVtLKCldLEI9W0soKV0sUD1bSygpXSxXPVtLKCldLGhlPVtLKCldLG1lPVtLKCldLGNlPVtLKCldLFE9W0soKV0sc28odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzcmMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJzcmMiaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5zcmMsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5zcmM9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LG4sbCksc28odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwb3N0ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJwb3N0ZXIiaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5wb3N0ZXIsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5wb3N0ZXI9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LGMscCksc28odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93Q29udHJvbHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJzaG93Q29udHJvbHMiaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5zaG93Q29udHJvbHMsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5zaG93Q29udHJvbHM9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LG0sdiksc28odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhdXRvcGxheSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+ImF1dG9wbGF5ImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUuYXV0b3BsYXksImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5hdXRvcGxheT15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sYixnKSxzbyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imxvb3AiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJsb29wImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUubG9vcCwiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLmxvb3A9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LGssQyksc28odGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtdXRlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+Im11dGVkImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUubXV0ZWQsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5tdXRlZD15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sXyx6KSxzbyh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzUGxheWluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+ImlzUGxheWluZyJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLmlzUGxheWluZywiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLmlzUGxheWluZz15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sVCxFKSxzbyh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRUaW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4iY3VycmVudFRpbWUiaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5jdXJyZW50VGltZSwiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLmN1cnJlbnRUaW1lPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxNLFMpLHNvKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHVyYXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJkdXJhdGlvbiJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLmR1cmF0aW9uLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUuZHVyYXRpb249eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LEEsRiksc28odGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2b2x1bWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJ2b2x1bWUiaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS52b2x1bWUsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS52b2x1bWU9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LGosRyksc28odGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+ImxvYWRpbmciaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5sb2FkaW5nLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUubG9hZGluZz15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sUixVKSxzbyh0aGlzLG51bGwsbWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlcnJvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+ImVycm9yImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUuZXJyb3IsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5lcnJvcj15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sSSxxKSxzbyh0aGlzLG51bGwsY2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0Z1bGxzY3JlZW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJpc0Z1bGxzY3JlZW4iaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5pc0Z1bGxzY3JlZW4sImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5pc0Z1bGxzY3JlZW49eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LHVlLFkpLHNvKHRoaXMsbnVsbCxRLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udHJvbHNWaXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4iY29udHJvbHNWaXNpYmxlImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUuY29udHJvbHNWaXNpYmxlLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUuY29udHJvbHNWaXNpYmxlPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxKLFopLHNvKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmFlfSxudWxsLHQpLGdlPXI9ZS52YWx1ZSxhZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTphZX0pfXN0YXRpYyBkZW1vPSQzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1lZGlhIl07I2U9WmEodGhpcyxuLCIiKTtnZXQgc3JjKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNyYyhhZSl7dGhpcy4jZT1hZX0jdD0oWmEodGhpcyxsKSxaYSh0aGlzLGMsIiIpKTtnZXQgcG9zdGVyKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHBvc3RlcihhZSl7dGhpcy4jdD1hZX0jYT0oWmEodGhpcyxwKSxaYSh0aGlzLG0sITApKTtnZXQgc2hvd0NvbnRyb2xzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNob3dDb250cm9scyhhZSl7dGhpcy4jYT1hZX0jcj0oWmEodGhpcyx2KSxaYSh0aGlzLGIsITEpKTtnZXQgYXV0b3BsYXkoKXtyZXR1cm4gdGhpcy4jcn1zZXQgYXV0b3BsYXkoYWUpe3RoaXMuI3I9YWV9I3M9KFphKHRoaXMsZyksWmEodGhpcyxrLCExKSk7Z2V0IGxvb3AoKXtyZXR1cm4gdGhpcy4jc31zZXQgbG9vcChhZSl7dGhpcy4jcz1hZX0jaT0oWmEodGhpcyxDKSxaYSh0aGlzLF8sITEpKTtnZXQgbXV0ZWQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgbXV0ZWQoYWUpe3RoaXMuI2k9YWV9I289KFphKHRoaXMseiksWmEodGhpcyxULCExKSk7Z2V0IGlzUGxheWluZygpe3JldHVybiB0aGlzLiNvfXNldCBpc1BsYXlpbmcoYWUpe3RoaXMuI289YWV9I249KFphKHRoaXMsRSksWmEodGhpcyxNLDApKTtnZXQgY3VycmVudFRpbWUoKXtyZXR1cm4gdGhpcy4jbn1zZXQgY3VycmVudFRpbWUoYWUpe3RoaXMuI249YWV9I2w9KFphKHRoaXMsUyksWmEodGhpcyxBLDApKTtnZXQgZHVyYXRpb24oKXtyZXR1cm4gdGhpcy4jbH1zZXQgZHVyYXRpb24oYWUpe3RoaXMuI2w9YWV9I2M9KFphKHRoaXMsRiksWmEodGhpcyxqLDEpKTtnZXQgdm9sdW1lKCl7cmV0dXJuIHRoaXMuI2N9c2V0IHZvbHVtZShhZSl7dGhpcy4jYz1hZX0jZD0oWmEodGhpcyxHKSxaYSh0aGlzLFIsITApKTtnZXQgbG9hZGluZygpe3JldHVybiB0aGlzLiNkfXNldCBsb2FkaW5nKGFlKXt0aGlzLiNkPWFlfSN1PShaYSh0aGlzLFUpLFphKHRoaXMsSSwiIikpO2dldCBlcnJvcigpe3JldHVybiB0aGlzLiN1fXNldCBlcnJvcihhZSl7dGhpcy4jdT1hZX0jcD0oWmEodGhpcyxxKSxaYSh0aGlzLHVlLCExKSk7Z2V0IGlzRnVsbHNjcmVlbigpe3JldHVybiB0aGlzLiNwfXNldCBpc0Z1bGxzY3JlZW4oYWUpe3RoaXMuI3A9YWV9I2Y9KFphKHRoaXMsWSksWmEodGhpcyxKLCEwKSk7Z2V0IGNvbnRyb2xzVmlzaWJsZSgpe3JldHVybiB0aGlzLiNmfXNldCBjb250cm9sc1Zpc2libGUoYWUpe3RoaXMuI2Y9YWV9aGlkZUNvbnRyb2xzVGltZXI9KFphKHRoaXMsWiksbnVsbCk7dmlkZW9FbGVtZW50PW51bGw7cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICA6aG9zdCB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjsKICAgICAgICB9CgogICAgICAgIC52aWRlby1jb250YWluZXIgewogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTsKICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIH0KCiAgICAgICAgdmlkZW8gewogICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluOwogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgfQoKICAgICAgICAub3ZlcmxheSB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICBpbnNldDogMDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC5jZW50ZXItcGxheSB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICB0b3A6IDUwJTsKICAgICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgICAgICAgd2lkdGg6IDY0cHg7CiAgICAgICAgICBoZWlnaHQ6IDY0cHg7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTsKICAgICAgICAgIG9wYWNpdHk6ICR7dGhpcy5pc1BsYXlpbmc/MDoxfTsKICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiAke3RoaXMuaXNQbGF5aW5nPyJub25lIjoiYXV0byJ9OwogICAgICAgIH0KCiAgICAgICAgLmNlbnRlci1wbGF5IGRlZXMtaWNvbiB7CiAgICAgICAgICBmb250LXNpemU6IDI4cHg7CiAgICAgICAgfQoKICAgICAgICAuY2VudGVyLXBsYXk6aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS4xKTsKICAgICAgICB9CgogICAgICAgIC5jb250cm9scy1iYXIgewogICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuNykpOwogICAgICAgICAgcGFkZGluZzogMjRweCAxMnB4IDEycHg7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgb3BhY2l0eTogJHt0aGlzLmNvbnRyb2xzVmlzaWJsZXx8IXRoaXMuaXNQbGF5aW5nPzE6MH07CiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTsKICAgICAgICB9CgogICAgICAgIC5zZWVrYmFyLXJvdyB7CiAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgIGhlaWdodDogNHB4OwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIH0KCiAgICAgICAgLnNlZWtiYXItcm93OmhvdmVyIHsKICAgICAgICAgIGhlaWdodDogNnB4OwogICAgICAgIH0KCiAgICAgICAgLnNlZWtiYXItcHJvZ3Jlc3MgewogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuY29udHJvbHMtcm93IHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgfQoKICAgICAgICAuY3RybC1idXR0b24gewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIH0KCiAgICAgICAgLmN0cmwtYnV0dG9uIGRlZXMtaWNvbiB7CiAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgfQoKICAgICAgICAuY3RybC1idXR0b246aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTsKICAgICAgICB9CgogICAgICAgIC50aW1lLWRpc3BsYXkgewogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsKICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7CiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIH0KCiAgICAgICAgLnNwYWNlciB7CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgIH0KCiAgICAgICAgLnZvbHVtZS1ncm91cCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGdhcDogNHB4OwogICAgICAgIH0KCiAgICAgICAgLnZvbHVtZS1zbGlkZXIgewogICAgICAgICAgd2lkdGg6IDYwcHg7CiAgICAgICAgICBoZWlnaHQ6IDRweDsKICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIH0KCiAgICAgICAgLnZvbHVtZS1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsKICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAgICAgICAgIHdpZHRoOiAxMnB4OwogICAgICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtc2xpZGVyOjotbW96LXJhbmdlLXRodW1iIHsKICAgICAgICAgIHdpZHRoOiAxMnB4OwogICAgICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjsKICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC5sb2FkaW5nLW92ZXJsYXkgewogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgaW5zZXQ6IDA7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpOwogICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAubG9hZGluZy1zcGlubmVyIHsKICAgICAgICAgIHdpZHRoOiA0MHB4OwogICAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOwogICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZmZmZjsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0KICAgICAgICB9CgogICAgICAgIC5lcnJvci1vdmVybGF5IHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICAgICAgfQoKICAgICAgICAuZXJyb3Itb3ZlcmxheSBkZWVzLWljb24gewogICAgICAgICAgY29sb3I6ICNmODcxNzE7CiAgICAgICAgICBmb250LXNpemU6IDMycHg7CiAgICAgICAgfQoKICAgICAgICAuZXJyb3ItdGV4dCB7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgoKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJ2aWRlby1jb250YWluZXIiCiAgICAgICAgQG1vdXNlbW92ZT0ke3RoaXMuaGFuZGxlTW91c2VNb3ZlfQogICAgICAgIEBtb3VzZWxlYXZlPSR7dGhpcy5oYW5kbGVNb3VzZUxlYXZlfQogICAgICA+CiAgICAgICAgPHZpZGVvCiAgICAgICAgICAuc3JjPSR7dGhpcy5zcmN9CiAgICAgICAgICAucG9zdGVyPSR7dGhpcy5wb3N0ZXJ9CiAgICAgICAgICAubXV0ZWQ9JHt0aGlzLm11dGVkfQogICAgICAgICAgLmxvb3A9JHt0aGlzLmxvb3B9CiAgICAgICAgICA/YXV0b3BsYXk9JHt0aGlzLmF1dG9wbGF5fQogICAgICAgICAgP2NvbnRyb2xzPSR7IXRoaXMuc2hvd0NvbnRyb2xzfQogICAgICAgICAgcGxheXNpbmxpbmUKICAgICAgICAgIEBsb2FkZWRtZXRhZGF0YT0ke3RoaXMuaGFuZGxlTG9hZGVkTWV0YWRhdGF9CiAgICAgICAgICBAcGxheT0ke3RoaXMuaGFuZGxlUGxheX0KICAgICAgICAgIEBwYXVzZT0ke3RoaXMuaGFuZGxlUGF1c2V9CiAgICAgICAgICBAZW5kZWQ9JHt0aGlzLmhhbmRsZUVuZGVkfQogICAgICAgICAgQHRpbWV1cGRhdGU9JHt0aGlzLmhhbmRsZVRpbWVVcGRhdGV9CiAgICAgICAgICBAZXJyb3I9JHt0aGlzLmhhbmRsZUVycm9yfQogICAgICAgICAgQHdhaXRpbmc9JHsoKT0+e3RoaXMubG9hZGluZz0hMH19CiAgICAgICAgICBAY2FucGxheT0keygpPT57dGhpcy5sb2FkaW5nPSExfX0KICAgICAgICA+PC92aWRlbz4KCiAgICAgICAgJHt0aGlzLnNob3dDb250cm9scz93YAogICAgICAgICAgPGRpdiBjbGFzcz0ib3ZlcmxheSIgQGNsaWNrPSR7dGhpcy5oYW5kbGVPdmVybGF5Q2xpY2t9PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZW50ZXItcGxheSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6UGxheSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbHMtYmFyIiBAY2xpY2s9JHthZT0+YWUuc3RvcFByb3BhZ2F0aW9uKCl9PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlZWtiYXItcm93IiBAY2xpY2s9JHt0aGlzLmhhbmRsZVNlZWt9PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2Vla2Jhci1wcm9ncmVzcyIgc3R5bGU9IndpZHRoOiAke3RoaXMuZHVyYXRpb24/dGhpcy5jdXJyZW50VGltZS90aGlzLmR1cmF0aW9uKjEwMDowfSUiPjwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9scy1yb3ciPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3RybC1idXR0b24iIEBjbGljaz0ke3RoaXMudG9nZ2xlUGxheX0+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOiR7dGhpcy5pc1BsYXlpbmc/IlBhdXNlIjoiUGxheSJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aW1lLWRpc3BsYXkiPgogICAgICAgICAgICAgICAgICAke3RoaXMuZm9ybWF0VGltZSh0aGlzLmN1cnJlbnRUaW1lKX0gLyAke3RoaXMuZm9ybWF0VGltZSh0aGlzLmR1cmF0aW9uKX0KICAgICAgICAgICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BhY2VyIj48L3NwYW4+CgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idm9sdW1lLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3RybC1idXR0b24iIEBjbGljaz0ke3RoaXMudG9nZ2xlTXV0ZX0+CiAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6JHt0aGlzLm11dGVkfHx0aGlzLnZvbHVtZT09PTA/IlZvbHVtZVgiOnRoaXMudm9sdW1lPC41PyJWb2x1bWUxIjoiVm9sdW1lMiJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ2b2x1bWUtc2xpZGVyIgogICAgICAgICAgICAgICAgICAgIHR5cGU9InJhbmdlIgogICAgICAgICAgICAgICAgICAgIG1pbj0iMCIKICAgICAgICAgICAgICAgICAgICBtYXg9IjEiCiAgICAgICAgICAgICAgICAgICAgc3RlcD0iMC4wMSIKICAgICAgICAgICAgICAgICAgICAudmFsdWU9JHtTdHJpbmcodGhpcy5tdXRlZD8wOnRoaXMudm9sdW1lKX0KICAgICAgICAgICAgICAgICAgICBAaW5wdXQ9JHt0aGlzLmhhbmRsZVZvbHVtZUNoYW5nZX0KICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0cmwtYnV0dG9uIiBAY2xpY2s9JHt0aGlzLnRvZ2dsZUZ1bGxzY3JlZW59IHRpdGxlPSJGdWxsc2NyZWVuIj4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6JHt0aGlzLmlzRnVsbHNjcmVlbj8iTWluaW1pemUiOiJNYXhpbWl6ZSJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgICR7dGhpcy5sb2FkaW5nJiYhdGhpcy5lcnJvcj93YAogICAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy1vdmVybGF5Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy1zcGlubmVyIj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgICR7dGhpcy5lcnJvcj93YAogICAgICAgICAgPGRpdiBjbGFzcz0iZXJyb3Itb3ZlcmxheSI+CiAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlZpZGVvT2ZmIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVycm9yLXRleHQiPiR7dGhpcy5lcnJvcn08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7dGhpcy52aWRlb0VsZW1lbnQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJ2aWRlbyIpfHxudWxsLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZ1bGxzY3JlZW5jaGFuZ2UiLHRoaXMuaGFuZGxlRnVsbHNjcmVlbkNoYW5nZSl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZ1bGxzY3JlZW5jaGFuZ2UiLHRoaXMuaGFuZGxlRnVsbHNjcmVlbkNoYW5nZSksdGhpcy5oaWRlQ29udHJvbHNUaW1lciYmY2xlYXJUaW1lb3V0KHRoaXMuaGlkZUNvbnRyb2xzVGltZXIpfXBsYXkoKXt0aGlzLnZpZGVvRWxlbWVudD8ucGxheSgpfXBhdXNlKCl7dGhpcy52aWRlb0VsZW1lbnQ/LnBhdXNlKCl9dG9nZ2xlUGxheSgpe3RoaXMuaXNQbGF5aW5nP3RoaXMucGF1c2UoKTp0aGlzLnBsYXkoKX1zZWVrKGFlKXt0aGlzLnZpZGVvRWxlbWVudCYmKHRoaXMudmlkZW9FbGVtZW50LmN1cnJlbnRUaW1lPWFlKX1zZXRWb2x1bWUoYWUpe3RoaXMudm9sdW1lPU1hdGgubWF4KDAsTWF0aC5taW4oMSxhZSkpLHRoaXMudmlkZW9FbGVtZW50JiYodGhpcy52aWRlb0VsZW1lbnQudm9sdW1lPXRoaXMudm9sdW1lKX10b2dnbGVGdWxsc2NyZWVuKCl7bGV0IGFlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnZpZGVvLWNvbnRhaW5lciIpO2FlJiYodGhpcy5pc0Z1bGxzY3JlZW4/ZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4/LigpOmFlLnJlcXVlc3RGdWxsc2NyZWVuPy4oKSl9aGFuZGxlTG9hZGVkTWV0YWRhdGEoKXt0aGlzLnZpZGVvRWxlbWVudCYmKHRoaXMuZHVyYXRpb249dGhpcy52aWRlb0VsZW1lbnQuZHVyYXRpb24sdGhpcy5sb2FkaW5nPSExKX1oYW5kbGVQbGF5KCl7dGhpcy5pc1BsYXlpbmc9ITAsdGhpcy5zY2hlZHVsZUhpZGVDb250cm9scygpfWhhbmRsZVBhdXNlKCl7dGhpcy5pc1BsYXlpbmc9ITEsdGhpcy5jb250cm9sc1Zpc2libGU9ITB9aGFuZGxlRW5kZWQoKXt0aGlzLmlzUGxheWluZz0hMSx0aGlzLmNvbnRyb2xzVmlzaWJsZT0hMH1oYW5kbGVUaW1lVXBkYXRlKCl7dGhpcy52aWRlb0VsZW1lbnQmJih0aGlzLmN1cnJlbnRUaW1lPXRoaXMudmlkZW9FbGVtZW50LmN1cnJlbnRUaW1lKX1oYW5kbGVFcnJvcigpe3RoaXMuZXJyb3I9IkZhaWxlZCB0byBsb2FkIHZpZGVvIix0aGlzLmxvYWRpbmc9ITF9aGFuZGxlT3ZlcmxheUNsaWNrKCl7dGhpcy50b2dnbGVQbGF5KCl9aGFuZGxlU2VlayhhZSl7bGV0IHJlPWFlLmN1cnJlbnRUYXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkseWU9KGFlLmNsaWVudFgtcmUubGVmdCkvcmUud2lkdGg7dGhpcy5zZWVrKHllKnRoaXMuZHVyYXRpb24pfWhhbmRsZVZvbHVtZUNoYW5nZShhZSl7bGV0IHJlPXBhcnNlRmxvYXQoYWUudGFyZ2V0LnZhbHVlKTt0aGlzLnNldFZvbHVtZShyZSksdGhpcy5tdXRlZD1yZT09PTB9dG9nZ2xlTXV0ZSgpe3RoaXMubXV0ZWQ9IXRoaXMubXV0ZWQsdGhpcy52aWRlb0VsZW1lbnQmJih0aGlzLnZpZGVvRWxlbWVudC5tdXRlZD10aGlzLm11dGVkKX1oYW5kbGVNb3VzZU1vdmUoKXt0aGlzLmNvbnRyb2xzVmlzaWJsZT0hMCx0aGlzLnNjaGVkdWxlSGlkZUNvbnRyb2xzKCl9aGFuZGxlTW91c2VMZWF2ZSgpe3RoaXMuaXNQbGF5aW5nJiYodGhpcy5jb250cm9sc1Zpc2libGU9ITEpfXNjaGVkdWxlSGlkZUNvbnRyb2xzKCl7dGhpcy5oaWRlQ29udHJvbHNUaW1lciYmY2xlYXJUaW1lb3V0KHRoaXMuaGlkZUNvbnRyb2xzVGltZXIpLHRoaXMuaXNQbGF5aW5nJiYodGhpcy5oaWRlQ29udHJvbHNUaW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy5jb250cm9sc1Zpc2libGU9ITF9LDNlMykpfWhhbmRsZUZ1bGxzY3JlZW5DaGFuZ2U9cygoKT0+e3RoaXMuaXNGdWxsc2NyZWVuPSEhZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnR9LCJoYW5kbGVGdWxsc2NyZWVuQ2hhbmdlIik7Zm9ybWF0VGltZShhZSl7aWYoIWlzRmluaXRlKGFlKXx8YWU8MClyZXR1cm4iMDowMCI7bGV0IHJlPU1hdGguZmxvb3IoYWUvNjApLHllPU1hdGguZmxvb3IoYWUlNjApO3JldHVybmAke3JlfToke3llLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfWB9c3RhdGlje1phKHIsdCl9fTtyZXR1cm4gZ2U9cn0pKCl9KTt2YXIgRTNhPWYoKCk9PntXUWUoKX0pO3ZhciBkbCxlaWU9ZigoKT0+e2xlKCk7ZGw9Y2xhc3N7c3RhdGlje3ModGhpcywiUGRmTWFuYWdlciIpfXN0YXRpYyBwZGZqc0xpYjtzdGF0aWMgaW5pdGlhbGl6ZWQ9ITE7c3RhdGljIGFzeW5jIGluaXRpYWxpemUoKXt0aGlzLmluaXRpYWxpemVkfHwodGhpcy5wZGZqc0xpYj1hd2FpdCBpbXBvcnQoImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vcGRmanMtZGlzdEA0LjAuMzc5Lytlc20iKSx0aGlzLnBkZmpzTGliLkdsb2JhbFdvcmtlck9wdGlvbnMud29ya2VyU3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3BkZmpzLWRpc3RANC4wLjM3OS9idWlsZC9wZGYud29ya2VyLm1qcyIsdGhpcy5pbml0aWFsaXplZD0hMCl9c3RhdGljIGFzeW5jIGxvYWREb2N1bWVudChlKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0aWFsaXplKCksYXdhaXQgdGhpcy5wZGZqc0xpYi5nZXREb2N1bWVudChlKS5wcm9taXNlfXN0YXRpYyByZWxlYXNlRG9jdW1lbnQoZSl7fX19KTt2YXIgUDNhLEkzYT1mKCgpPT57bGUoKTtRZSgpO1AzYT1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICA6aG9zdCB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiA2MDBweDsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICBjb250YWluOiBsYXlvdXQgc3R5bGU7CiAgICB9CgogICAgZGVlcy10aWxlIHsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgfQoKICAgIC52aWV3ZXItY29udGFpbmVyOjpiZWZvcmUsCiAgICAudmlld2VyLWNvbnRhaW5lcjo6YWZ0ZXIgewogICAgICBjb250ZW50OiAnJzsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBsZWZ0OiAwOwogICAgICByaWdodDogMDsKICAgICAgaGVpZ2h0OiA4cHg7CiAgICAgIHotaW5kZXg6IDU7CiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgfQoKICAgIC52aWV3ZXItY29udGFpbmVyOjpiZWZvcmUgewogICAgICB0b3A6IDA7CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgKICAgICAgICB0byBib3R0b20sCiAgICAgICAgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wOCkiLCJoc2woMCAwJSAwJSAvIDAuNCkiKX0sCiAgICAgICAgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wMykiLCJoc2woMCAwJSAwJSAvIDAuMTIpIil9LAogICAgICAgIHRyYW5zcGFyZW50CiAgICAgICk7CiAgICB9CgogICAgLnZpZXdlci1jb250YWluZXI6OmFmdGVyIHsKICAgICAgYm90dG9tOiAwOwogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgdG8gdG9wLAogICAgICAgICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDgpIiwiaHNsKDAgMCUgMCUgLyAwLjQpIil9LAogICAgICAgICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDMpIiwiaHNsKDAgMCUgMCUgLyAwLjEyKSIpfSwKICAgICAgICB0cmFuc3BhcmVudAogICAgICApOwogICAgfQoKICAgIC50b29sYmFyIHsKICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgIGdhcDogMTJweDsKICAgIH0KCiAgICAudG9vbGJhci1ncm91cCB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGdhcDogNHB4OwogICAgfQoKICAgIC50b29sYmFyLWdyb3VwLS1lbmQgewogICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgIH0KCiAgICAudG9vbGJhci1idXR0b24gewogICAgICB3aWR0aDogMzJweDsKICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICBib3JkZXI6IG5vbmU7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDE2JSA0NSUpIiwiaHNsKDIxNSAxNiUgNzUlKSIpfTsKICAgIH0KCiAgICAudG9vbGJhci1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgewogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNCAzMSUgOTIlKSIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICB9CgogICAgLnRvb2xiYXItYnV0dG9uOmRpc2FibGVkIHsKICAgICAgb3BhY2l0eTogMC40OwogICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgfQoKICAgIC50b29sYmFyLWJ1dHRvbiBkZWVzLWljb24gewogICAgICBmb250LXNpemU6IDE2cHg7CiAgICB9CgogICAgLnBhZ2UtaW5mbyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGdhcDogOHB4OwogICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgfQoKICAgIC5wYWdlLWlucHV0IHsKICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgIGhlaWdodDogMjhweDsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNCAzMSUgODYlKSIsImhzbCgyMTcgMjUlIDI4JSkiKX07CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMTUgMjAlIDEyJSkiKX07CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMiA0NyUgMTElKSIsImhzbCgyMTAgMjAlIDk2JSkiKX07CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgb3V0bGluZTogbm9uZTsKICAgIH0KCiAgICAucGFnZS1pbnB1dDpmb2N1cyB7CiAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgfQoKICAgIC5wYWdlLXNlcGFyYXRvciB7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNiUgNjAlKSIsImhzbCgyMTUgMTYlIDUwJSkiKX07CiAgICB9CgogICAgLnpvb20tbGV2ZWwgewogICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIG1pbi13aWR0aDogNDhweDsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKICAgIC52aWV3ZXItY29udGFpbmVyIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBpbnNldDogMDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KCiAgICAuc2lkZWJhciB7CiAgICAgIHdpZHRoOiAyMDBweDsKICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0IDMxJSA5MSUpIiwiaHNsKDIxNyAyNSUgMjIlKSIpfTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICBvcmRlcjogMDsKICAgIH0KCiAgICAuc2lkZWJhci1yaWdodCAuc2lkZWJhciB7CiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsKICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNCAzMSUgOTElKSIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICAgIG9yZGVyOiAxOwogICAgfQoKICAgIC5zaWRlYmFyLWhlYWRlciB7CiAgICAgIGhlaWdodDogNDBweDsKICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNCAzMSUgOTElKSIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDE2JSA0NSUpIiwiaHNsKDIxNSAxNiUgNzUlKSIpfTsKICAgIH0KCiAgICAuc2lkZWJhci1jbG9zZSB7CiAgICAgIHdpZHRoOiAyNHB4OwogICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDE2JSA0NSUpIiwiaHNsKDIxNSAxNiUgNzUlKSIpfTsKICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgfQoKICAgIC5zaWRlYmFyLWNsb3NlOmhvdmVyIHsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTQgMzElIDkyJSkiLCJoc2woMjE3IDI1JSAyMiUpIil9OwogICAgfQoKICAgIC5zaWRlYmFyLWNsb3NlIGRlZXMtaWNvbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIH0KCiAgICAuc2lkZWJhci1jb250ZW50IHsKICAgICAgZmxleDogMTsKICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICBwYWRkaW5nOiAxMnB4OwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsKICAgICAgbWluLWhlaWdodDogMDsKICAgIH0KCiAgICAudGh1bWJuYWlsIHsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlOwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgyMTUgMjAlIDE4JSkiKX07CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB3aWR0aDogMTAwJTsKICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgLyogRGVmYXVsdCBBNCBhc3BlY3QgcmF0aW8gKDI5N21tIC8gMjEwbW0g4omIIDEuNDE0KSAqLwogICAgICBtaW4taGVpZ2h0OiBjYWxjKDE3NnB4ICogMS40MTQpOwogICAgfQoKICAgIC50aHVtYm5haWw6bGFzdC1jaGlsZCB7CiAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICB9CgogICAgLnRodW1ibmFpbDpob3ZlciB7CiAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTQgMzElIDg2JSkiLCJoc2woMjE3IDI1JSAzNSUpIil9OwogICAgfQoKICAgIC50aHVtYm5haWwuYWN0aXZlIHsKICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNyA5MSUgNjAlKSIsImhzbCgyMTMgOTMlIDY4JSkiKX07CiAgICB9CgogICAgLnRodW1ibmFpbC1jYW52YXMgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogYXV0bzsKICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0OwogICAgICBpbWFnZS1yZW5kZXJpbmc6IGNyaXNwLWVkZ2VzOwogICAgfQoKICAgIC50aHVtYm5haWwtbnVtYmVyIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBib3R0b206IDRweDsKICAgICAgcmlnaHQ6IDRweDsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC43KSIsInJnYmEoMCwgMCwgMCwgMC44KSIpfTsKICAgICAgY29sb3I6IHdoaXRlOwogICAgICBmb250LXNpemU6IDExcHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIH0KCiAgICAudmlld2VyLW1haW4gewogICAgICBmbGV4OiAxOwogICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoOwogICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICBtaW4taGVpZ2h0OiAwOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB9CgogICAgLmxvYWRpbmctY29udGFpbmVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgZ2FwOiAxNnB4OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgfQoKICAgIC5sb2FkaW5nLXNwaW5uZXIgewogICAgICB3aWR0aDogMzJweDsKICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0IDMxJSA4NiUpIiwiaHNsKDIxNyAyNSUgMjglKSIpfTsKICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7CiAgICB9CgogICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgdG8gewogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgIH0KICAgIH0KCiAgICAubG9hZGluZy10ZXh0IHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgfQoKICAgIC5wYWdlcy1jb250YWluZXIgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBnYXA6IDIwcHg7CiAgICB9CgogICAgLnBhZ2Utd3JhcHBlciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAuY2FudmFzLWNvbnRhaW5lciB7CiAgICAgIGJhY2tncm91bmQ6IHdoaXRlOwogICAgICBib3gtc2hhZG93OiAwIDJweCAxMnB4ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMSkiLCJyZ2JhKDAsIDAsIDAsIDAuMykiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB9CgogICAgLnBhZ2UtY2FudmFzIHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDsKICAgICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlczsKICAgIH0KCiAgICAvKiBUZXh0IGxheWVyIGZvciBzZWxlY3Rpb24gKi8KICAgIC50ZXh0LWxheWVyIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBpbnNldDogMDsKICAgICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICB0ZXh0LXNpemUtYWRqdXN0OiBub25lOwogICAgICBmb3JjZWQtY29sb3ItYWRqdXN0OiBub25lOwogICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7CiAgICAgIHotaW5kZXg6IDE7CiAgICAgIHVzZXItc2VsZWN0OiB0ZXh0OwogICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiB0ZXh0OwogICAgfQoKICAgIC50ZXh0LWxheWVyIHNwYW4sCiAgICAudGV4dC1sYXllciBiciB7CiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB3aGl0ZS1zcGFjZTogcHJlOwogICAgICBjdXJzb3I6IHRleHQ7CiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDAlOwogICAgICB1c2VyLXNlbGVjdDogdGV4dDsKICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogdGV4dDsKICAgIH0KCiAgICAudGV4dC1sYXllciA6OnNlbGVjdGlvbiB7CiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTAwLCAyMDAsIDAuMyk7CiAgICB9CgogICAgLnRleHQtbGF5ZXIgYnI6OnNlbGVjdGlvbiB7CiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgfQoKICAgIC50ZXh0LWxheWVyIC5lbmRPZkNvbnRlbnQgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBpbnNldDogMTAwJSAwIDA7CiAgICAgIHotaW5kZXg6IDA7CiAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICB9CgogICAgLnRleHQtbGF5ZXIuc2VsZWN0aW5nIC5lbmRPZkNvbnRlbnQgewogICAgICB0b3A6IDA7CiAgICB9CgogICAgLnBkZi12aWV3ZXIud2l0aC1zaWRlYmFyIC52aWV3ZXItbWFpbiB7CiAgICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgfQoKICAgIC5wZGYtZm9vdGVyIHsKICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB9CgogICAgLnBkZi1mb290ZXItbGVmdCB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGdhcDogMTJweDsKICAgIH0KCiAgICAucGRmLWZvb3Rlci1sZWZ0IC5wZGYtZm9vdGVyLWl0ZW0gKyAucGRmLWZvb3Rlci1pdGVtIHsKICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4OwogICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgfQoKICAgIC5wZGYtZm9vdGVyLWNlbnRlciB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgbGVmdDogNTAlOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIHRyYW5zaXRpb246IG1hcmdpbi1sZWZ0IDAuMTVzIGVhc2U7CiAgICB9CgogICAgLnBkZi1mb290ZXItcmlnaHQgewogICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgIH0KCiAgICAucGRmLWZvb3Rlci1pdGVtIHsKICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIH0KCiAgICAucGRmLWZvb3Rlci1maWxlbmFtZSB7CiAgICAgIGZvbnQtZmFtaWx5OiAnSW50ZWwgT25lIE1vbm8nLCAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsKICAgICAgb3BhY2l0eTogMC43OwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIH0KICBgXX0pO3ZhciBOM2EsUjNhPWYoKCk9PntsZSgpO04zYT1zKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7CiAgICB9CgogICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgICB9CgogICAgaDMgewogICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIGNvbG9yOiAjZmFmYWZhOwogICAgfQoKICAgIGRlZXMtcGRmLXZpZXdlciB7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KCiAgICAudmlld2VyLXRhbGwgewogICAgICBoZWlnaHQ6IDgwMHB4OwogICAgfQoKICAgIC52aWV3ZXItY29tcGFjdCB7CiAgICAgIGhlaWdodDogNTAwcHg7CiAgICB9CiAgPC9zdHlsZT4KCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkZ1bGwgRmVhdHVyZWQgUERGIFZpZXdlciB3aXRoIFRvb2xiYXI8L2gzPgogICAgICA8ZGVlcy1wZGYtdmlld2VyCiAgICAgICAgY2xhc3M9InZpZXdlci10YWxsIgogICAgICAgIHBkZlVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL3dlYi9jb21wcmVzc2VkLnRyYWNlbW9ua2V5LXBsZGktMDkucGRmIgogICAgICAgIHNob3dUb29sYmFyPSJ0cnVlIgogICAgICAgIHNob3dTaWRlYmFyPSJmYWxzZSIKICAgICAgICBpbml0aWFsWm9vbT0icGFnZS1maXQiCiAgICAgID48L2RlZXMtcGRmLXZpZXdlcj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5QREYgVmlld2VyIHdpdGggU2lkZWJhciBOYXZpZ2F0aW9uPC9oMz4KICAgICAgPGRlZXMtcGRmLXZpZXdlcgogICAgICAgIGNsYXNzPSJ2aWV3ZXItdGFsbCIKICAgICAgICBwZGZVcmw9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS93ZWIvY29tcHJlc3NlZC50cmFjZW1vbmtleS1wbGRpLTA5LnBkZiIKICAgICAgICBzaG93VG9vbGJhcj0idHJ1ZSIKICAgICAgICBzaG93U2lkZWJhcj0idHJ1ZSIKICAgICAgICBpbml0aWFsWm9vbT0icGFnZS13aWR0aCIKICAgICAgPjwvZGVlcy1wZGYtdmlld2VyPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkNvbXBhY3QgVmlld2VyIHdpdGhvdXQgQ29udHJvbHM8L2gzPgogICAgICA8ZGVlcy1wZGYtdmlld2VyCiAgICAgICAgY2xhc3M9InZpZXdlci1jb21wYWN0IgogICAgICAgIHBkZlVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL2V4YW1wbGVzL2xlYXJuaW5nL2hlbGxvd29ybGQucGRmIgogICAgICAgIHNob3dUb29sYmFyPSJmYWxzZSIKICAgICAgICBzaG93U2lkZWJhcj0iZmFsc2UiCiAgICAgICAgaW5pdGlhbFpvb209ImF1dG8iCiAgICAgID48L2RlZXMtcGRmLXZpZXdlcj4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vIil9KTt2YXIgaW8sWGEsTzNhLEdRZT1mKCgpPT57bGUoKTtlaWUoKTtJM2EoKTtSM2EoKTt2YSgpO1hyKCk7aW89ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFhhPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxPM2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLXBkZi12aWV3ZXIiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdLGNlLHVlPVtdLFk9W10sUSxKPVtdLFo9W107dmFyIGdlPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzUGRmVmlld2VyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGFlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6TnVtYmVyfSldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9WyQoe3R5cGU6Qm9vbGVhbn0pXSx5PVskKHt0eXBlOkJvb2xlYW59KV0sTj1bJCh7dHlwZTpTdHJpbmd9KV0sTz1bJCh7dHlwZTpOdW1iZXJ9KV0sQj1bJCh7dHlwZTpOdW1iZXJ9KV0sUD1bJCh7dHlwZTpOdW1iZXJ9KV0sVz1bJCh7dHlwZTpCb29sZWFufSldLGhlPVskKHt0eXBlOlN0cmluZ30pXSxtZT1bJCh7dHlwZTpBcnJheX0pXSxjZT1bJCh7dHlwZTpBcnJheX0pXSxRPVskKHt0eXBlOk51bWJlcn0pXSxpbyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBkZlVybCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+InBkZlVybCJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLnBkZlVybCwiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLnBkZlVybD15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sbixsKSxpbyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImluaXRpYWxQYWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4iaW5pdGlhbFBhZ2UiaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5pbml0aWFsUGFnZSwiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLmluaXRpYWxQYWdlPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxjLHApLGlvKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5pdGlhbFpvb20iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJpbml0aWFsWm9vbSJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLmluaXRpYWxab29tLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUuaW5pdGlhbFpvb209eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LG0sdiksaW8odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93VG9vbGJhciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+InNob3dUb29sYmFyImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUuc2hvd1Rvb2xiYXIsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5zaG93VG9vbGJhcj15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sYixnKSxpbyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dTaWRlYmFyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4ic2hvd1NpZGViYXIiaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5zaG93U2lkZWJhciwiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLnNob3dTaWRlYmFyPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxrLEMpLGlvKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2lkZWJhclBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4ic2lkZWJhclBvc2l0aW9uImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUuc2lkZWJhclBvc2l0aW9uLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUuc2lkZWJhclBvc2l0aW9uPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxfLHopLGlvKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFBhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJjdXJyZW50UGFnZSJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLmN1cnJlbnRQYWdlLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUuY3VycmVudFBhZ2U9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LFQsRSksaW8odGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0b3RhbFBhZ2VzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4idG90YWxQYWdlcyJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLnRvdGFsUGFnZXMsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS50b3RhbFBhZ2VzPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxNLFMpLGlvKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFpvb20iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJjdXJyZW50Wm9vbSJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLmN1cnJlbnRab29tLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUuY3VycmVudFpvb209eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LEEsRiksaW8odGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4ibG9hZGluZyJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLmxvYWRpbmcsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5sb2FkaW5nPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxqLEcpLGlvKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRvY3VtZW50SWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJkb2N1bWVudElkImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUuZG9jdW1lbnRJZCwiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLmRvY3VtZW50SWQ9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LFIsVSksaW8odGhpcyxudWxsLG1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGh1bWJuYWlsRGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+InRodW1ibmFpbERhdGEiaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS50aHVtYm5haWxEYXRhLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUudGh1bWJuYWlsRGF0YT15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sSSxxKSxpbyh0aGlzLG51bGwsY2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwYWdlRGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+InBhZ2VEYXRhImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUucGFnZURhdGEsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5wYWdlRGF0YT15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sdWUsWSksaW8odGhpcyxudWxsLFEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwZGZGaWxlU2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+InBkZkZpbGVTaXplImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUucGRmRmlsZVNpemUsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5wZGZGaWxlU2l6ZT15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sSixaKSxpbyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTphZX0sbnVsbCx0KSxnZT1yPWUudmFsdWUsYWUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6YWV9KX1zdGF0aWMgZGVtbz1OM2E7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSIsIlBERiJdO3N0YXRpYyBzdHlsZXM9UDNhOyNlPVhhKHRoaXMsbiwiIik7Z2V0IHBkZlVybCgpe3JldHVybiB0aGlzLiNlfXNldCBwZGZVcmwoYWUpe3RoaXMuI2U9YWV9I3Q9KFhhKHRoaXMsbCksWGEodGhpcyxjLDEpKTtnZXQgaW5pdGlhbFBhZ2UoKXtyZXR1cm4gdGhpcy4jdH1zZXQgaW5pdGlhbFBhZ2UoYWUpe3RoaXMuI3Q9YWV9I2E9KFhhKHRoaXMscCksWGEodGhpcyxtLCJhdXRvIikpO2dldCBpbml0aWFsWm9vbSgpe3JldHVybiB0aGlzLiNhfXNldCBpbml0aWFsWm9vbShhZSl7dGhpcy4jYT1hZX0jcj0oWGEodGhpcyx2KSxYYSh0aGlzLGIsITApKTtnZXQgc2hvd1Rvb2xiYXIoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc2hvd1Rvb2xiYXIoYWUpe3RoaXMuI3I9YWV9I3M9KFhhKHRoaXMsZyksWGEodGhpcyxrLCExKSk7Z2V0IHNob3dTaWRlYmFyKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNob3dTaWRlYmFyKGFlKXt0aGlzLiNzPWFlfSNpPShYYSh0aGlzLEMpLFhhKHRoaXMsXywibGVmdCIpKTtnZXQgc2lkZWJhclBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHNpZGViYXJQb3NpdGlvbihhZSl7dGhpcy4jaT1hZX0jbz0oWGEodGhpcyx6KSxYYSh0aGlzLFQsMSkpO2dldCBjdXJyZW50UGFnZSgpe3JldHVybiB0aGlzLiNvfXNldCBjdXJyZW50UGFnZShhZSl7dGhpcy4jbz1hZX0jbj0oWGEodGhpcyxFKSxYYSh0aGlzLE0sMSkpO2dldCB0b3RhbFBhZ2VzKCl7cmV0dXJuIHRoaXMuI259c2V0IHRvdGFsUGFnZXMoYWUpe3RoaXMuI249YWV9I2w9KFhhKHRoaXMsUyksWGEodGhpcyxBLDEpKTtnZXQgY3VycmVudFpvb20oKXtyZXR1cm4gdGhpcy4jbH1zZXQgY3VycmVudFpvb20oYWUpe3RoaXMuI2w9YWV9I2M9KFhhKHRoaXMsRiksWGEodGhpcyxqLCExKSk7Z2V0IGxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jY31zZXQgbG9hZGluZyhhZSl7dGhpcy4jYz1hZX0jZD0oWGEodGhpcyxHKSxYYSh0aGlzLFIsIiIpKTtnZXQgZG9jdW1lbnRJZCgpe3JldHVybiB0aGlzLiNkfXNldCBkb2N1bWVudElkKGFlKXt0aGlzLiNkPWFlfSN1PShYYSh0aGlzLFUpLFhhKHRoaXMsSSxbXSkpO2dldCB0aHVtYm5haWxEYXRhKCl7cmV0dXJuIHRoaXMuI3V9c2V0IHRodW1ibmFpbERhdGEoYWUpe3RoaXMuI3U9YWV9I3A9KFhhKHRoaXMscSksWGEodGhpcyx1ZSxbXSkpO2dldCBwYWdlRGF0YSgpe3JldHVybiB0aGlzLiNwfXNldCBwYWdlRGF0YShhZSl7dGhpcy4jcD1hZX0jZj0oWGEodGhpcyxZKSxYYSh0aGlzLEosMCkpO2dldCBwZGZGaWxlU2l6ZSgpe3JldHVybiB0aGlzLiNmfXNldCBwZGZGaWxlU2l6ZShhZSl7dGhpcy4jZj1hZX1wZGZEb2N1bWVudD1YYSh0aGlzLFopO3JlbmRlclN0YXRlPSJpZGxlIjtyZW5kZXJBYm9ydENvbnRyb2xsZXI9bnVsbDtwYWdlUmVuZGVyaW5nPSExO3BhZ2VOdW1QZW5kaW5nPW51bGw7Y3VycmVudFJlbmRlclRhc2s9bnVsbDtjdXJyZW50UmVuZGVyUHJvbWlzZT1udWxsO3RodW1ibmFpbFJlbmRlclRhc2tzPVtdO3BhZ2VSZW5kZXJUYXNrcz1uZXcgTWFwO3RleHRMYXllclJlbmRlclRhc2tzPW5ldyBNYXA7Y2FudmFzO2N0eDt2aWV3ZXJNYWluPW51bGw7cmVzaXplT2JzZXJ2ZXI7aW50ZXJzZWN0aW9uT2JzZXJ2ZXI7c2Nyb2xsVGhyb3R0bGVUaW1lb3V0O3ZpZXdwb3J0RGltZW5zaW9ucz17d2lkdGg6MCxoZWlnaHQ6MH07dmlld3BvcnRNb2RlPSJhdXRvIjtNQU5VQUxfTUlOX1pPT009LjU7TUFOVUFMX01BWF9aT09NPTM7QUJTT0xVVEVfTUlOX1pPT009LjE7QUJTT0xVVEVfTUFYX1pPT009NDtQQUdFX0dBUD0yMDtSRU5ERVJfQlVGRkVSPTM7Y29uc3RydWN0b3IoKXtzdXBlcigpfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGVlcy10aWxlIGNsYXNzPSIke3RoaXMuc2hvd1NpZGViYXI/IndpdGgtc2lkZWJhciI6IiJ9IHNpZGViYXItJHt0aGlzLnNpZGViYXJQb3NpdGlvbn0iPgogICAgICAgICR7dGhpcy5zaG93VG9vbGJhcj93YAogICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJ0b29sYmFyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1ncm91cCI+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5wcmV2aW91c1BhZ2V9CiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmN1cnJlbnRQYWdlPD0xfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkNoZXZyb25MZWZ0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlLWluZm8iPgogICAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICAgIHR5cGU9Im51bWJlciIKICAgICAgICAgICAgICAgICAgbWluPSIxIgogICAgICAgICAgICAgICAgICBtYXg9IiR7dGhpcy50b3RhbFBhZ2VzfSIKICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7U3RyaW5nKHRoaXMuY3VycmVudFBhZ2UpfQogICAgICAgICAgICAgICAgICBAY2hhbmdlPSR7dGhpcy5oYW5kbGVQYWdlSW5wdXR9CiAgICAgICAgICAgICAgICAgIGNsYXNzPSJwYWdlLWlucHV0IgogICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYWdlLXNlcGFyYXRvciI+Lzwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYWdlLXRvdGFsIj4ke3RoaXMudG90YWxQYWdlc308L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5uZXh0UGFnZX0KICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuY3VycmVudFBhZ2U+PXRoaXMudG90YWxQYWdlc30KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpDaGV2cm9uUmlnaHQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItZ3JvdXAiPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuem9vbU91dH0KICAgICAgICAgICAgICAgID9kaXNhYmxlZD0keyF0aGlzLmNhblpvb21PdXR9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6Wm9vbU91dCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5yZXNldFpvb219CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Inpvb20tbGV2ZWwiPiR7TWF0aC5yb3VuZCh0aGlzLmN1cnJlbnRab29tKjEwMCl9JTwvc3Bhbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLnpvb21Jbn0KICAgICAgICAgICAgICAgID9kaXNhYmxlZD0keyF0aGlzLmNhblpvb21Jbn0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpab29tSW4iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItZ3JvdXAiPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuZml0VG9QYWdlfQogICAgICAgICAgICAgICAgdGl0bGU9IkZpdCB0byBwYWdlIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOk1heGltaXplIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmZpdFRvV2lkdGh9CiAgICAgICAgICAgICAgICB0aXRsZT0iRml0IHRvIHdpZHRoIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkFycm93TGVmdFJpZ2h0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWdyb3VwIHRvb2xiYXItZ3JvdXAtLWVuZCI+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuc2hvd1NpZGViYXI9IXRoaXMuc2hvd1NpZGViYXJ9CiAgICAgICAgICAgICAgICB0aXRsZT0iJHt0aGlzLnNob3dTaWRlYmFyPyJIaWRlIHRodW1ibmFpbHMiOiJTaG93IHRodW1ibmFpbHMifSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249IiR7dGhpcy5zaG93U2lkZWJhcj8ibHVjaWRlOlNpZGViYXJDbG9zZSI6Imx1Y2lkZTpTaWRlYmFyIn0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuZG93bmxvYWRQZGZ9CiAgICAgICAgICAgICAgICB0aXRsZT0iRG93bmxvYWQiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6RG93bmxvYWQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMucHJpbnRQZGZ9CiAgICAgICAgICAgICAgICB0aXRsZT0iUHJpbnQiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6UHJpbnRlciI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KCiAgICAgICAgPGRpdiBjbGFzcz0idmlld2VyLWNvbnRhaW5lciI+CiAgICAgICAgICAke3RoaXMuc2hvd1NpZGViYXI/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4+UGFnZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJzaWRlYmFyLWNsb3NlIgogICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zaG93U2lkZWJhcj0hMX0KICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6WCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgJHtaby5rZXllZCh0aGlzLmRvY3VtZW50SWQsd2AKICAgICAgICAgICAgICAgICAgJHtaby5yZXBlYXQodGhpcy50aHVtYm5haWxEYXRhLGFlPT5hZS5wYWdlLGFlPT53YAogICAgICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGh1bWJuYWlsICR7dGhpcy5jdXJyZW50UGFnZT09PWFlLnBhZ2U/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZ2U9IiR7YWUucGFnZX0iCiAgICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuaGFuZGxlVGh1bWJuYWlsQ2xpY2t9CiAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjYW52YXMgY2xhc3M9InRodW1ibmFpbC1jYW52YXMiIGRhdGEtcGFnZT0iJHthZS5wYWdlfSI+PC9jYW52YXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aHVtYm5haWwtbnVtYmVyIj4ke2FlLnBhZ2V9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQoKICAgICAgICAgIDxkaXYgY2xhc3M9InZpZXdlci1tYWluIiBAc2Nyb2xsPSR7dGhpcy5oYW5kbGVTY3JvbGx9PgogICAgICAgICAgICAke3RoaXMubG9hZGluZz93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXRleHQiPkxvYWRpbmcgUERGLi4uPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlcy1jb250YWluZXIiPgogICAgICAgICAgICAgICAgJHtaby5yZXBlYXQodGhpcy5wYWdlRGF0YSxhZT0+YWUucGFnZSxhZT0+d2AKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlLXdyYXBwZXIiIGRhdGEtcGFnZT0iJHthZS5wYWdlfSI+CiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYW52YXMtY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGNhbnZhcyBjbGFzcz0icGFnZS1jYW52YXMiIGRhdGEtcGFnZT0iJHthZS5wYWdlfSI+PC9jYW52YXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtbGF5ZXIiIGRhdGEtcGFnZT0iJHthZS5wYWdlfSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGB9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9InBkZi1mb290ZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0icGRmLWZvb3Rlci1sZWZ0Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBkZi1mb290ZXItaXRlbSI+Wm9vbSAke01hdGgucm91bmQodGhpcy5jdXJyZW50Wm9vbSoxMDApfSU8L3NwYW4+CiAgICAgICAgICAgICR7dGhpcy5wZGZGaWxlU2l6ZT4wP3dgCiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBkZi1mb290ZXItaXRlbSI+JHt0aGlzLmZvcm1hdEZpbGVTaXplKHRoaXMucGRmRmlsZVNpemUpfTwvc3Bhbj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icGRmLWZvb3Rlci1jZW50ZXIiIHN0eWxlPSJtYXJnaW4tbGVmdDogJHt0aGlzLnNob3dTaWRlYmFyJiZ0aGlzLnNpZGViYXJQb3NpdGlvbj09PSJsZWZ0Ij8iMTAwcHgiOnRoaXMuc2hvd1NpZGViYXImJnRoaXMuc2lkZWJhclBvc2l0aW9uPT09InJpZ2h0Ij8iLTEwMHB4IjoiMCJ9Ij4KICAgICAgICAgICAgPHNwYW4+UGFnZSAke3RoaXMuY3VycmVudFBhZ2V9IG9mICR7dGhpcy50b3RhbFBhZ2VzfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icGRmLWZvb3Rlci1yaWdodCI+CiAgICAgICAgICAgICR7dGhpcy5wZGZVcmw/d2AKICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGRmLWZvb3Rlci1maWxlbmFtZSI+JHt0aGlzLnBkZlVybC5zcGxpdCgiLyIpLnBvcCgpfTwvc3Bhbj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtdGlsZT4KICAgIGB9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5lbnN1cmVWaWV3ZXJSZWZzKCksdGhpcy5wZGZVcmwmJih0aGlzLmRvY3VtZW50SWQ9YCR7dGhpcy5wZGZVcmx9LSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpfWAsYXdhaXQgdGhpcy5sb2FkUGRmKCkpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCksdGhpcy5yZXNpemVPYnNlcnZlcj12b2lkIDAsdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlcj8uZGlzY29ubmVjdCgpLHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXI9dm9pZCAwLHRoaXMuc2Nyb2xsVGhyb3R0bGVUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuc2Nyb2xsVGhyb3R0bGVUaW1lb3V0KSx0aGlzLnNjcm9sbFRocm90dGxlVGltZW91dD12b2lkIDApLHRoaXMucmVuZGVyU3RhdGU9ImRpc3Bvc2VkIixhd2FpdCB0aGlzLmNsZWFudXBEb2N1bWVudCgpLHRoaXMuY2FudmFzPXZvaWQgMCx0aGlzLmN0eD12b2lkIDB9YXN5bmMgdXBkYXRlZChhZSl7aWYoc3VwZXIudXBkYXRlZChhZSksYWUuaGFzKCJwZGZVcmwiKSYmdGhpcy5wZGZVcmwpe2xldCByZT1hZS5nZXQoInBkZlVybCIpO3JlJiZkbC5yZWxlYXNlRG9jdW1lbnQocmUpLHRoaXMuZG9jdW1lbnRJZD1gJHt0aGlzLnBkZlVybH0tJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCl9YCxhd2FpdCB0aGlzLmxvYWRQZGYoKX1hZS5oYXMoInNob3dTaWRlYmFyIikmJnRoaXMuc2hvd1NpZGViYXImJnRoaXMucGRmRG9jdW1lbnQmJihhd2FpdCBuZXcgUHJvbWlzZShyZT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJlKSksdGhpcy50aHVtYm5haWxEYXRhLmZvckVhY2gocmU9PnJlLnJlbmRlcmVkPSExKSxhd2FpdCB0aGlzLnJlbmRlclRodW1ibmFpbHMoKSx0aGlzLnNldHVwSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKSx0aGlzLnNjcm9sbFRodW1ibmFpbEludG9WaWV3KHRoaXMuY3VycmVudFBhZ2UpKX1mb3JtYXRGaWxlU2l6ZShhZSl7cmV0dXJuIGFlPDEwMjQ/YCR7YWV9IEJgOmFlPDEwMjQqMTAyND9gJHsoYWUvMTAyNCkudG9GaXhlZCgxKX0gS0JgOmAkeyhhZS8oMTAyNCoxMDI0KSkudG9GaXhlZCgxKX0gTUJgfWFzeW5jIGxvYWRQZGYoKXt0aGlzLmxvYWRpbmc9ITAsdGhpcy5yZW5kZXJTdGF0ZT0ibG9hZGluZyI7dHJ5e2F3YWl0IHRoaXMuY2xlYW51cERvY3VtZW50KCksdGhpcy5yZW5kZXJBYm9ydENvbnRyb2xsZXI9bmV3IEFib3J0Q29udHJvbGxlcjtsZXQgYWU9dGhpcy5yZW5kZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsO2lmKHRoaXMucGRmRG9jdW1lbnQ9YXdhaXQgZGwubG9hZERvY3VtZW50KHRoaXMucGRmVXJsKSxhZS5hYm9ydGVkKXJldHVybjt0aGlzLnRvdGFsUGFnZXM9dGhpcy5wZGZEb2N1bWVudC5udW1QYWdlcyx0aGlzLmN1cnJlbnRQYWdlPXRoaXMuaW5pdGlhbFBhZ2UsdGhpcy5yZXNvbHZlSW5pdGlhbFZpZXdwb3J0TW9kZSgpO3RyeXtsZXQgcmU9YXdhaXQgdGhpcy5wZGZEb2N1bWVudC5nZXREYXRhKCk7dGhpcy5wZGZGaWxlU2l6ZT1yZS5sZW5ndGh9Y2F0Y2h7dGhpcy5wZGZGaWxlU2l6ZT0wfWlmKHRoaXMudGh1bWJuYWlsRGF0YT1BcnJheS5mcm9tKHtsZW5ndGg6dGhpcy50b3RhbFBhZ2VzfSwocmUseWUpPT4oe3BhZ2U6eWUrMSxyZW5kZXJlZDohMX0pKSx0aGlzLnBhZ2VEYXRhPUFycmF5LmZyb20oe2xlbmd0aDp0aGlzLnRvdGFsUGFnZXN9LChyZSx5ZSk9Pih7cGFnZTp5ZSsxLHJlbmRlcmVkOiExLHJlbmRlcmluZzohMSx0ZXh0TGF5ZXJSZW5kZXJlZDohMX0pKSx0aGlzLmxvYWRpbmc9ITEsYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSx0aGlzLmVuc3VyZVZpZXdlclJlZnMoKSx0aGlzLnNldHVwSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKSxhd2FpdCBuZXcgUHJvbWlzZShyZT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJlKSksYWUuYWJvcnRlZHx8KHRoaXMucmVuZGVyU3RhdGU9InJlbmRlcmluZy1tYWluIixhd2FpdCB0aGlzLnJlbmRlclZpc2libGVQYWdlcygpLGFlLmFib3J0ZWQpfHwodGhpcy5pbml0aWFsUGFnZT4xJiZhd2FpdCB0aGlzLnNjcm9sbFRvUGFnZSh0aGlzLmluaXRpYWxQYWdlLCExKSx0aGlzLnNob3dTaWRlYmFyJiYoYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSxhd2FpdCBuZXcgUHJvbWlzZShyZT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJlKSksYWUuYWJvcnRlZHx8KGF3YWl0IHRoaXMucmVuZGVyVGh1bWJuYWlscygpLGFlLmFib3J0ZWQpKSkpcmV0dXJuO3RoaXMucmVuZGVyU3RhdGU9InJlbmRlcmVkIn1jYXRjaChhZSl7Y29uc29sZS5lcnJvcigiRXJyb3IgbG9hZGluZyBQREY6IixhZSksdGhpcy5sb2FkaW5nPSExLHRoaXMucmVuZGVyU3RhdGU9ImVycm9yIn19c2V0dXBJbnRlcnNlY3Rpb25PYnNlcnZlcigpe3RoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXImJnRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXI9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKHJlPT57Zm9yKGxldCB5ZSBvZiByZSl7bGV0IFY9eWUudGFyZ2V0LEg9cGFyc2VJbnQoVi5kYXRhc2V0LnBhZ2V8fCIxIik7eWUuaXNJbnRlcnNlY3RpbmcmJnRoaXMucmVuZGVyUGFnZUlmTmVlZGVkKEgpfX0se3Jvb3Q6dGhpcy52aWV3ZXJNYWluLHJvb3RNYXJnaW46YCR7dGhpcy5SRU5ERVJfQlVGRkVSKjEwMH1weCAwcHhgLHRocmVzaG9sZDouMDF9KTtsZXQgYWU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yQWxsKCIucGFnZS13cmFwcGVyIik7YWUmJmFlLmZvckVhY2gocmU9Pnt0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyPy5vYnNlcnZlKHJlKX0pfWFzeW5jIHJlbmRlclZpc2libGVQYWdlcygpe2lmKCF0aGlzLnZpZXdlck1haW4pcmV0dXJuO2xldCBhZT10aGlzLnZpZXdlck1haW4uY2xpZW50SGVpZ2h0O2ZvcihsZXQgcmUgb2YgdGhpcy5wYWdlRGF0YSl7bGV0IHllPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgLnBhZ2Utd3JhcHBlcltkYXRhLXBhZ2U9IiR7cmUucGFnZX0iXWApO2lmKCF5ZSljb250aW51ZTtsZXQgVj15ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxIPXRoaXMudmlld2VyTWFpbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvZT1WLnRvcC1ILnRvcCxzZT1vZStWLmhlaWdodCx0ZT10aGlzLlJFTkRFUl9CVUZGRVIqYWU7c2U+PS10ZSYmb2U8PWFlK3RlJiZhd2FpdCB0aGlzLnJlbmRlclBhZ2VJZk5lZWRlZChyZS5wYWdlKX19YXN5bmMgcmVuZGVyUGFnZUlmTmVlZGVkKGFlKXtsZXQgcmU9dGhpcy5wYWdlRGF0YS5maW5kKHllPT55ZS5wYWdlPT09YWUpO2lmKCEoIXJlfHxyZS5yZW5kZXJlZHx8cmUucmVuZGVyaW5nKSl7cmUucmVuZGVyaW5nPSEwO3RyeXtsZXQgeWU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGAucGFnZS1jYW52YXNbZGF0YS1wYWdlPSIke2FlfSJdYCk7aWYoIXllKXtyZS5yZW5kZXJpbmc9ITE7cmV0dXJufWxldCBWPWF3YWl0IHRoaXMucGRmRG9jdW1lbnQuZ2V0UGFnZShhZSksSD10aGlzLmNvbXB1dGVWaWV3cG9ydChWKSxvZT13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTt5ZS53aWR0aD1NYXRoLmZsb29yKEgud2lkdGgqb2UpLHllLmhlaWdodD1NYXRoLmZsb29yKEguaGVpZ2h0Km9lKSx5ZS5zdHlsZS53aWR0aD1gJHtILndpZHRofXB4YCx5ZS5zdHlsZS5oZWlnaHQ9YCR7SC5oZWlnaHR9cHhgO2xldCBzZT15ZS5nZXRDb250ZXh0KCIyZCIpO2lmKCFzZSl7Vi5jbGVhbnVwPy4oKSxyZS5yZW5kZXJpbmc9ITE7cmV0dXJufXNlLnNjYWxlKG9lLG9lKTtsZXQgdGU9e2NhbnZhc0NvbnRleHQ6c2Usdmlld3BvcnQ6SH0semU9Vi5yZW5kZXIodGUpO3RoaXMucGFnZVJlbmRlclRhc2tzLnNldChhZSx6ZSksYXdhaXQgemUucHJvbWlzZSxWLmNsZWFudXA/LigpLHJlLnJlbmRlcmVkPSEwLHJlLnJlbmRlcmluZz0hMSx0aGlzLnBhZ2VSZW5kZXJUYXNrcy5kZWxldGUoYWUpLGF3YWl0IHRoaXMucmVuZGVyVGV4dExheWVyKGFlKSx0aGlzLnJlcXVlc3RVcGRhdGUoInBhZ2VEYXRhIil9Y2F0Y2goeWUpe3llPy5uYW1lIT09IlJlbmRlcmluZ0NhbmNlbGxlZEV4Y2VwdGlvbiImJmNvbnNvbGUuZXJyb3IoYEVycm9yIHJlbmRlcmluZyBwYWdlICR7YWV9OmAseWUpLHJlLnJlbmRlcmluZz0hMSx0aGlzLnBhZ2VSZW5kZXJUYXNrcy5kZWxldGUoYWUpfX19YXN5bmMgcmVuZGVyVGV4dExheWVyKGFlKXtsZXQgcmU9dGhpcy5wYWdlRGF0YS5maW5kKHllPT55ZS5wYWdlPT09YWUpO2lmKCEoIXJlfHxyZS50ZXh0TGF5ZXJSZW5kZXJlZCkpdHJ5e2xldCB5ZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYC50ZXh0LWxheWVyW2RhdGEtcGFnZT0iJHthZX0iXWApO2lmKCF5ZSlyZXR1cm47eWUuaW5uZXJIVE1MPSIiO2xldCBWPWF3YWl0IHRoaXMucGRmRG9jdW1lbnQuZ2V0UGFnZShhZSksSD1hd2FpdCBWLmdldFRleHRDb250ZW50KCksb2U9dGhpcy5jb21wdXRlVmlld3BvcnQoViksc2U9YXdhaXQgaW1wb3J0KCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3BkZmpzLWRpc3RANC4wLjM3OS8rZXNtIik7eWUuc3R5bGUud2lkdGg9YCR7b2Uud2lkdGh9cHhgLHllLnN0eWxlLmhlaWdodD1gJHtvZS5oZWlnaHR9cHhgLHllLnN0eWxlLnNldFByb3BlcnR5KCItLXNjYWxlLWZhY3RvciIsU3RyaW5nKG9lLnNjYWxlKSk7bGV0IHRlPXNlLnJlbmRlclRleHRMYXllcih7dGV4dENvbnRlbnRTb3VyY2U6SCxjb250YWluZXI6eWUsdmlld3BvcnQ6b2V9KTt0aGlzLnRleHRMYXllclJlbmRlclRhc2tzLnNldChhZSx0ZSksYXdhaXQgdGUucHJvbWlzZTtsZXQgemU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7emUuY2xhc3NOYW1lPSJlbmRPZkNvbnRlbnQiLHllLmFwcGVuZENoaWxkKHplKTtsZXQgT2U9ITEscWU9bnVsbCxjdD0wLCRlPXMoKGRlLHZlKT0+e2xldCBBZT1BcnJheS5mcm9tKHllLnF1ZXJ5U2VsZWN0b3JBbGwoInNwYW4iKSk7Zm9yKGxldCBaZSBvZiBBZSl7bGV0IGx0PVplLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGRlPj1sdC5sZWZ0JiZkZTw9bHQucmlnaHQmJnZlPj1sdC50b3AmJnZlPD1sdC5ib3R0b20pe2xldCB6dD1aZS5maXJzdENoaWxkO2lmKHp0JiZ6dC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKXtsZXQgVGU9enQudGV4dENvbnRlbnR8fCIiLHdlPWx0LndpZHRoL1RlLmxlbmd0aCxSZT1kZS1sdC5sZWZ0LGZlPU1hdGgubWluKE1hdGgucm91bmQoUmUvd2UpLFRlLmxlbmd0aCk7cmV0dXJue25vZGU6enQsb2Zmc2V0OmZlfX19fXJldHVybiBudWxsfSwiZ2V0VGV4dFBvc2l0aW9uRnJvbVBvaW50IiksQ2U9cygoKT0+e09lJiYoT2U9ITEscWU9bnVsbCx5ZS5jbGFzc0xpc3QucmVtb3ZlKCJzZWxlY3RpbmciKSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsQ2UpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsTWUpfSwiaGFuZGxlTW91c2VVcCIpLE1lPXMoZGU9PntpZighT2V8fCFxZSlyZXR1cm47ZGUucHJldmVudERlZmF1bHQoKTtsZXQgdmU9JGUoZGUuY2xpZW50WCxkZS5jbGllbnRZKTtpZih2ZSl7bGV0IEFlPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihBZSl0cnl7QWUuc2V0QmFzZUFuZEV4dGVudChxZSxjdCx2ZS5ub2RlLHZlLm9mZnNldCl9Y2F0Y2h7fX19LCJoYW5kbGVNb3VzZU1vdmUiKTt5ZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGRlPT57aWYoZGUuYnV0dG9uIT09MClyZXR1cm47bGV0IHZlPSRlKGRlLmNsaWVudFgsZGUuY2xpZW50WSk7dmUmJihkZS5wcmV2ZW50RGVmYXVsdCgpLE9lPSEwLHFlPXZlLm5vZGUsY3Q9dmUub2Zmc2V0LHllLmNsYXNzTGlzdC5hZGQoInNlbGVjdGluZyIpLHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8ucmVtb3ZlQWxsUmFuZ2VzKCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixNZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsQ2UpKX0pLHJlLnRleHRMYXllclJlbmRlcmVkPSEwLFYuY2xlYW51cD8uKCksdGhpcy50ZXh0TGF5ZXJSZW5kZXJUYXNrcy5kZWxldGUoYWUpfWNhdGNoKHllKXt5ZT8ubmFtZSE9PSJSZW5kZXJpbmdDYW5jZWxsZWRFeGNlcHRpb24iJiZjb25zb2xlLmVycm9yKGBFcnJvciByZW5kZXJpbmcgdGV4dCBsYXllciBmb3IgcGFnZSAke2FlfTpgLHllKSx0aGlzLnRleHRMYXllclJlbmRlclRhc2tzLmRlbGV0ZShhZSl9fWhhbmRsZVNjcm9sbD1zKCgpPT57dGhpcy5zY3JvbGxUaHJvdHRsZVRpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLnNjcm9sbFRocm90dGxlVGltZW91dCksdGhpcy5zY3JvbGxUaHJvdHRsZVRpbWVvdXQ9d2luZG93LnNldFRpbWVvdXQoKCk9Pnt0aGlzLnVwZGF0ZUN1cnJlbnRQYWdlKCksdGhpcy5yZW5kZXJWaXNpYmxlUGFnZXMoKX0sNTApfSwiaGFuZGxlU2Nyb2xsIik7dXBkYXRlQ3VycmVudFBhZ2UoKXtpZighdGhpcy52aWV3ZXJNYWluKXJldHVybjtsZXQgYWU9dGhpcy52aWV3ZXJNYWluLnNjcm9sbFRvcCxyZT10aGlzLnZpZXdlck1haW4uY2xpZW50SGVpZ2h0LHllPWFlK3JlLzI7Zm9yKGxldCBWPTA7Vjx0aGlzLnBhZ2VEYXRhLmxlbmd0aDtWKyspe2xldCBIPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgLnBhZ2Utd3JhcHBlcltkYXRhLXBhZ2U9IiR7VisxfSJdYCk7aWYoIUgpY29udGludWU7bGV0IG9lPUguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksc2U9dGhpcy52aWV3ZXJNYWluLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHRlPW9lLnRvcC1zZS50b3ArYWUsemU9dGUrb2UuaGVpZ2h0O2lmKHllPj10ZSYmeWU8PXplKXt0aGlzLmN1cnJlbnRQYWdlIT09VisxJiYodGhpcy5jdXJyZW50UGFnZT1WKzEsdGhpcy5zaG93U2lkZWJhciYmdGhpcy5zY3JvbGxUaHVtYm5haWxJbnRvVmlldyhWKzEpKTticmVha319fXNjcm9sbFRodW1ibmFpbEludG9WaWV3KGFlKXtsZXQgcmU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGAudGh1bWJuYWlsW2RhdGEtcGFnZT0iJHthZX0iXWApLHllPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnNpZGViYXItY29udGVudCIpO2lmKHJlJiZ5ZSl7bGV0IFY9cmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksSD15ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvZT1WLnRvcDxILnRvcCxzZT1WLmJvdHRvbT5ILmJvdHRvbTtpZihvZXx8c2Upe2xldCB0ZT1yZS5vZmZzZXRUb3AsemU9cmUub2Zmc2V0SGVpZ2h0LE9lPXllLmNsaWVudEhlaWdodCxxZT10ZS1PZS8yK3plLzI7eWUuc2Nyb2xsVG8oe3RvcDpNYXRoLm1heCgwLHFlKSxiZWhhdmlvcjoic21vb3RoIn0pfX19YXN5bmMgc2Nyb2xsVG9QYWdlKGFlLHJlPSEwKXthd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlO2xldCB5ZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYC5wYWdlLXdyYXBwZXJbZGF0YS1wYWdlPSIke2FlfSJdYCk7aWYoeWUmJnRoaXMudmlld2VyTWFpbil7bGV0IFY9eWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksSD10aGlzLnZpZXdlck1haW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksc2U9dGhpcy52aWV3ZXJNYWluLnNjcm9sbFRvcCsoVi50b3AtSC50b3ApLXRoaXMudmlld2VyTWFpbi5jbGllbnRUb3AtMTY7cmU/dGhpcy52aWV3ZXJNYWluLnNjcm9sbFRvKHt0b3A6c2UsYmVoYXZpb3I6InNtb290aCJ9KTp0aGlzLnZpZXdlck1haW4uc2Nyb2xsVG9wPXNlLHRoaXMuY3VycmVudFBhZ2U9YWUsdGhpcy5zaG93U2lkZWJhciYmdGhpcy5zY3JvbGxUaHVtYm5haWxJbnRvVmlldyhhZSksYXdhaXQgdGhpcy5yZW5kZXJQYWdlSWZOZWVkZWQoYWUpfX1hc3luYyByZW5kZXJUaHVtYm5haWxzKCl7aWYoIXRoaXMucGRmRG9jdW1lbnR8fHRoaXMudGh1bWJuYWlsRGF0YS5sZW5ndGg+MCYmdGhpcy50aHVtYm5haWxEYXRhLmV2ZXJ5KHJlPT5yZS5yZW5kZXJlZCl8fHRoaXMucmVuZGVyQWJvcnRDb250cm9sbGVyPy5zaWduYWwuYWJvcnRlZClyZXR1cm47bGV0IGFlPXRoaXMucmVuZGVyQWJvcnRDb250cm9sbGVyPy5zaWduYWw7dGhpcy5yZW5kZXJTdGF0ZT0icmVuZGVyaW5nLXRodW1icyI7Zm9yKGxldCByZSBvZiB0aGlzLnRodW1ibmFpbFJlbmRlclRhc2tzKXRyeXtyZS5jYW5jZWwoKX1jYXRjaHt9dGhpcy50aHVtYm5haWxSZW5kZXJUYXNrcz1bXTt0cnl7YXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtsZXQgcmU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yQWxsKCIudGh1bWJuYWlsIikseWU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yQWxsKCIudGh1bWJuYWlsLWNhbnZhcyIpLFY9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuc2lkZWJhci1jb250ZW50IiksSD13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShWKSxzZT0yMDAtKHBhcnNlRmxvYXQoSC5wYWRkaW5nTGVmdCkrcGFyc2VGbG9hdChILnBhZGRpbmdSaWdodCkpLTQ7Zm9yKGxldCB0ZSBvZiBBcnJheS5mcm9tKHllKSl7bGV0IHplPXRlLmdldENvbnRleHQoIjJkIik7emUmJnplLmNsZWFyUmVjdCgwLDAsdGUud2lkdGgsdGUuaGVpZ2h0KX1mb3IobGV0IHRlPTA7dGU8eWUubGVuZ3RoO3RlKyspe2lmKGFlPy5hYm9ydGVkKXJldHVybjtsZXQgemU9eWVbdGVdLE9lPXJlW3RlXSxxZT1wYXJzZUludCh6ZS5kYXRhc2V0LnBhZ2V8fCIxIiksY3Q9YXdhaXQgdGhpcy5wZGZEb2N1bWVudC5nZXRQYWdlKHFlKSwkZT1jdC5nZXRWaWV3cG9ydCh7c2NhbGU6MX0pLENlPXNlLyRlLndpZHRoLE1lPWN0LmdldFZpZXdwb3J0KHtzY2FsZTpDZX0pLGRlPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxO3plLndpZHRoPU1hdGguZmxvb3IoTWUud2lkdGgqZGUpLHplLmhlaWdodD1NYXRoLmZsb29yKE1lLmhlaWdodCpkZSksemUuc3R5bGUud2lkdGg9YCR7TWUud2lkdGh9cHhgLHplLnN0eWxlLmhlaWdodD1gJHtNZS5oZWlnaHR9cHhgLE9lLnN0eWxlLmhlaWdodD1gJHtNZS5oZWlnaHR9cHhgLE9lLnN0eWxlLm1pbkhlaWdodD1gJHtNZS5oZWlnaHR9cHhgO2xldCB2ZT16ZS5nZXRDb250ZXh0KCIyZCIpO2lmKCF2ZSl7Y3QuY2xlYW51cD8uKCk7Y29udGludWV9dmUuc2NhbGUoZGUsZGUpO2xldCBBZT17Y2FudmFzQ29udGV4dDp2ZSx2aWV3cG9ydDpNZX0sWmU9Y3QucmVuZGVyKEFlKTt0aGlzLnRodW1ibmFpbFJlbmRlclRhc2tzLnB1c2goWmUpLGF3YWl0IFplLnByb21pc2UsY3QuY2xlYW51cD8uKCk7bGV0IGx0PXRoaXMudGh1bWJuYWlsRGF0YS5maW5kKHp0PT56dC5wYWdlPT09cWUpO2x0JiYobHQucmVuZGVyZWQ9ITApfXRoaXMucmVxdWVzdFVwZGF0ZSgidGh1bWJuYWlsRGF0YSIpfWNhdGNoKHJlKXtyZT8ubmFtZSE9PSJSZW5kZXJpbmdDYW5jZWxsZWRFeGNlcHRpb24iJiZjb25zb2xlLmVycm9yKCJFcnJvciByZW5kZXJpbmcgdGh1bWJuYWlsczoiLHJlKX1maW5hbGx5e3RoaXMudGh1bWJuYWlsUmVuZGVyVGFza3M9W119fXByZXZpb3VzUGFnZSgpe3RoaXMuY3VycmVudFBhZ2U+MSYmdGhpcy5zY3JvbGxUb1BhZ2UodGhpcy5jdXJyZW50UGFnZS0xKX1uZXh0UGFnZSgpe3RoaXMuY3VycmVudFBhZ2U8dGhpcy50b3RhbFBhZ2VzJiZ0aGlzLnNjcm9sbFRvUGFnZSh0aGlzLmN1cnJlbnRQYWdlKzEpfWhhbmRsZVRodW1ibmFpbENsaWNrKGFlKXtsZXQgcmU9YWUuY3VycmVudFRhcmdldCx5ZT1wYXJzZUludChyZS5kYXRhc2V0LnBhZ2V8fCIxIik7dGhpcy5zY3JvbGxUb1BhZ2UoeWUpfWhhbmRsZVBhZ2VJbnB1dChhZSl7bGV0IHJlPWFlLnRhcmdldCx5ZT1wYXJzZUludChyZS52YWx1ZSk7dGhpcy5zY3JvbGxUb1BhZ2UoeWUpfXpvb21Jbigpe2xldCBhZT1NYXRoLm1pbih0aGlzLk1BTlVBTF9NQVhfWk9PTSx0aGlzLmN1cnJlbnRab29tKjEuMik7dGhpcy52aWV3cG9ydE1vZGU9ImN1c3RvbSIsYWUhPT10aGlzLmN1cnJlbnRab29tJiYodGhpcy5jdXJyZW50Wm9vbT1hZSx0aGlzLnJlUmVuZGVyQWxsUGFnZXMoKSl9em9vbU91dCgpe2xldCBhZT1NYXRoLm1heCh0aGlzLk1BTlVBTF9NSU5fWk9PTSx0aGlzLmN1cnJlbnRab29tLzEuMik7dGhpcy52aWV3cG9ydE1vZGU9ImN1c3RvbSIsYWUhPT10aGlzLmN1cnJlbnRab29tJiYodGhpcy5jdXJyZW50Wm9vbT1hZSx0aGlzLnJlUmVuZGVyQWxsUGFnZXMoKSl9cmVzZXRab29tKCl7dGhpcy52aWV3cG9ydE1vZGU9ImN1c3RvbSIsdGhpcy5jdXJyZW50Wm9vbT0xLHRoaXMucmVSZW5kZXJBbGxQYWdlcygpfWZpdFRvUGFnZSgpe3RoaXMudmlld3BvcnRNb2RlPSJwYWdlLWZpdCIsdGhpcy5yZVJlbmRlckFsbFBhZ2VzKCl9Zml0VG9XaWR0aCgpe3RoaXMudmlld3BvcnRNb2RlPSJwYWdlLXdpZHRoIix0aGlzLnJlUmVuZGVyQWxsUGFnZXMoKX1yZVJlbmRlckFsbFBhZ2VzKCl7dGhpcy5wYWdlRGF0YS5mb3JFYWNoKGFlPT57YWUucmVuZGVyZWQ9ITEsYWUucmVuZGVyaW5nPSExLGFlLnRleHRMYXllclJlbmRlcmVkPSExfSksdGhpcy5wYWdlUmVuZGVyVGFza3MuZm9yRWFjaChhZT0+e3RyeXthZS5jYW5jZWwoKX1jYXRjaHt9fSksdGhpcy5wYWdlUmVuZGVyVGFza3MuY2xlYXIoKSx0aGlzLnRleHRMYXllclJlbmRlclRhc2tzLmZvckVhY2goYWU9Pnt0cnl7YWUuY2FuY2VsPy4oKX1jYXRjaHt9fSksdGhpcy50ZXh0TGF5ZXJSZW5kZXJUYXNrcy5jbGVhcigpLHRoaXMucmVxdWVzdFVwZGF0ZSgpLHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+e3RoaXMucmVuZGVyVmlzaWJsZVBhZ2VzKCl9KX1hc3luYyBkb3dubG9hZFBkZigpe2lmKHRoaXMucGRmRG9jdW1lbnQpdHJ5e2xldCBhZT1hd2FpdCB0aGlzLnBkZkRvY3VtZW50LmdldERhdGEoKSxyZT1uZXcgQmxvYihbYWUuYnVmZmVyXSx7dHlwZToiYXBwbGljYXRpb24vcGRmIn0pLHllPVVSTC5jcmVhdGVPYmplY3RVUkwocmUpLFY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO1YuaHJlZj15ZSxWLmRvd25sb2FkPXRoaXMucGRmVXJsJiZ0aGlzLnBkZlVybC5zcGxpdCgiLyIpLnBvcCgpfHwiZG9jdW1lbnQucGRmIixWLmNsaWNrKCksc2V0VGltZW91dCgoKT0+VVJMLnJldm9rZU9iamVjdFVSTCh5ZSksMWUzKX1jYXRjaChhZSl7Y29uc29sZS5lcnJvcigiRXJyb3IgZG93bmxvYWRpbmcgUERGOiIsYWUpfX1hc3luYyBwcmludFBkZigpe2lmKHRoaXMucGRmRG9jdW1lbnQpdHJ5e2xldCBhZT1hd2FpdCB0aGlzLnBkZkRvY3VtZW50LmdldERhdGEoKSxyZT1uZXcgQmxvYihbYWUuYnVmZmVyXSx7dHlwZToiYXBwbGljYXRpb24vcGRmIn0pLHllPVVSTC5jcmVhdGVPYmplY3RVUkwocmUpLFY9YAogICAgICAgIDwhRE9DVFlQRSBodG1sPgogICAgICAgIDxodG1sPgogICAgICAgIDxoZWFkPgogICAgICAgICAgPHRpdGxlPlByaW50IFBERjwvdGl0bGU+CiAgICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgICogeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH0KICAgICAgICAgICAgaHRtbCwgYm9keSB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG92ZXJmbG93OiBoaWRkZW47IH0KICAgICAgICAgICAgaWZyYW1lIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgYm9yZGVyOiBub25lOyB9CiAgICAgICAgICAgIEBtZWRpYSBwcmludCB7CiAgICAgICAgICAgICAgaHRtbCwgYm9keSwgaWZyYW1lIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgfQogICAgICAgICAgICB9CiAgICAgICAgICA8L3N0eWxlPgogICAgICAgIDwvaGVhZD4KICAgICAgICA8Ym9keT4KICAgICAgICAgIDxpZnJhbWUgc3JjPSIke3llfSIgdHlwZT0iYXBwbGljYXRpb24vcGRmIj48L2lmcmFtZT4KICAgICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmZvY3VzKCk7CiAgICAgICAgICAgICAgICB3aW5kb3cucHJpbnQoKTsKICAgICAgICAgICAgICB9LCA1MDApOwogICAgICAgICAgICB9OwogICAgICAgICAgICB3aW5kb3cub25hZnRlcnByaW50ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgd2luZG93LmNsb3NlKCk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIC8vIFNhZmV0eSBjbG9zZSBhZnRlciAyIG1pbnV0ZXMKICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LmNsb3NlKCk7IH0sIDEyMDAwMCk7CiAgICAgICAgICA8XC9zY3JpcHQ+CiAgICAgICAgPC9ib2R5PgogICAgICAgIDwvaHRtbD4KICAgICAgYCxIPW5ldyBCbG9iKFtWXSx7dHlwZToidGV4dC9odG1sIn0pLG9lPVVSTC5jcmVhdGVPYmplY3RVUkwoSCksc2U9d2luZG93Lm9wZW4ob2UsIl9ibGFuayIsIndpZHRoPTgwMCxoZWlnaHQ9NjAwIik7aWYoc2Upe2xldCB0ZT1zZXRJbnRlcnZhbCgoKT0+e3NlLmNsb3NlZCYmKGNsZWFySW50ZXJ2YWwodGUpLFVSTC5yZXZva2VPYmplY3RVUkwoeWUpLFVSTC5yZXZva2VPYmplY3RVUkwob2UpKX0sNTAwKTtzZXRUaW1lb3V0KCgpPT57Y2xlYXJJbnRlcnZhbCh0ZSksVVJMLnJldm9rZU9iamVjdFVSTCh5ZSksVVJMLnJldm9rZU9iamVjdFVSTChvZSl9LDEyZTQpfWVsc2Ugd2luZG93Lm9wZW4oeWUsIl9ibGFuayIpLHNldFRpbWVvdXQoKCk9PlVSTC5yZXZva2VPYmplY3RVUkwoeWUpLDZlNCksVVJMLnJldm9rZU9iamVjdFVSTChvZSl9Y2F0Y2goYWUpe2NvbnNvbGUuZXJyb3IoIkVycm9yIHByaW50aW5nIFBERjoiLGFlKX19Z2V0Q29udGV4dE1lbnVJdGVtcygpe2xldCBhZT1bXSx5ZT13aW5kb3cuZ2V0U2VsZWN0aW9uKCk/LnRvU3RyaW5nKCl8fCIiO3JldHVybiB5ZSYmKGFlLnB1c2goe25hbWU6IkNvcHkiLGljb25OYW1lOiJsdWNpZGU6Q29weSIsYWN0aW9uOnMoYXN5bmMoKT0+e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHllKX0sImFjdGlvbiIpfSksYWUucHVzaCh7ZGl2aWRlcjohMH0pKSxhZS5wdXNoKHtuYW1lOiJEb3dubG9hZCBQREYiLGljb25OYW1lOiJsdWNpZGU6RG93bmxvYWQiLGFjdGlvbjpzKGFzeW5jKCk9Pnthd2FpdCB0aGlzLmRvd25sb2FkUGRmKCl9LCJhY3Rpb24iKX0se25hbWU6IlByaW50IFBERiIsaWNvbk5hbWU6Imx1Y2lkZTpQcmludGVyIixhY3Rpb246cyhhc3luYygpPT57YXdhaXQgdGhpcy5wcmludFBkZigpfSwiYWN0aW9uIil9KSxhZX1nZXQgY2FuWm9vbUluKCl7cmV0dXJuIHRoaXMudmlld3BvcnRNb2RlIT09ImN1c3RvbSJ8fHRoaXMuY3VycmVudFpvb208dGhpcy5NQU5VQUxfTUFYX1pPT019Z2V0IGNhblpvb21PdXQoKXtyZXR1cm4gdGhpcy52aWV3cG9ydE1vZGUhPT0iY3VzdG9tInx8dGhpcy5jdXJyZW50Wm9vbT50aGlzLk1BTlVBTF9NSU5fWk9PTX1lbnN1cmVWaWV3ZXJSZWZzKCl7dGhpcy52aWV3ZXJNYWlufHwodGhpcy52aWV3ZXJNYWluPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnZpZXdlci1tYWluIikpLHRoaXMudmlld2VyTWFpbiYmIXRoaXMucmVzaXplT2JzZXJ2ZXImJih0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMubWVhc3VyZVZpZXdwb3J0RGltZW5zaW9ucygpLHRoaXMucGRmRG9jdW1lbnQmJnRoaXMucmVSZW5kZXJBbGxQYWdlcygpfSksdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMudmlld2VyTWFpbiksdGhpcy5tZWFzdXJlVmlld3BvcnREaW1lbnNpb25zKCksdGhpcy52aWV3ZXJNYWluLmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixhZT0+e2xldCByZT1hZS5jdXJyZW50VGFyZ2V0LHllPXJlLnNjcm9sbFRvcCxWPXJlLnNjcm9sbEhlaWdodCxIPXJlLmNsaWVudEhlaWdodCxvZT1hZS5kZWx0YVksc2U9eWU9PT0wLHRlPU1hdGguYWJzKHllK0gtVik8MTtvZTwwJiYhc2V8fG9lPjAmJiF0ZT9hZS5zdG9wUHJvcGFnYXRpb24oKToob2U8MCYmc2V8fG9lPjAmJnRlKSYmKGFlLnByZXZlbnREZWZhdWx0KCksYWUuc3RvcFByb3BhZ2F0aW9uKCkpfSx7cGFzc2l2ZTohMX0pKX1tZWFzdXJlVmlld3BvcnREaW1lbnNpb25zKCl7aWYoIXRoaXMudmlld2VyTWFpbil7dGhpcy52aWV3cG9ydERpbWVuc2lvbnM9e3dpZHRoOjAsaGVpZ2h0OjB9O3JldHVybn1sZXQgYWU9Z2V0Q29tcHV0ZWRTdHlsZSh0aGlzLnZpZXdlck1haW4pLHJlPXBhcnNlRmxvYXQoYWUucGFkZGluZ0xlZnR8fCIwIikrcGFyc2VGbG9hdChhZS5wYWRkaW5nUmlnaHR8fCIwIikseWU9cGFyc2VGbG9hdChhZS5wYWRkaW5nVG9wfHwiMCIpK3BhcnNlRmxvYXQoYWUucGFkZGluZ0JvdHRvbXx8IjAiKSxWPU1hdGgubWF4KHRoaXMudmlld2VyTWFpbi5jbGllbnRXaWR0aC1yZSwwKSxIPU1hdGgubWF4KHRoaXMudmlld2VyTWFpbi5jbGllbnRIZWlnaHQteWUsMCk7dGhpcy52aWV3cG9ydERpbWVuc2lvbnM9e3dpZHRoOlYsaGVpZ2h0Okh9fXJlc29sdmVJbml0aWFsVmlld3BvcnRNb2RlKCl7dHlwZW9mIHRoaXMuaW5pdGlhbFpvb209PSJudW1iZXIiPyh0aGlzLnZpZXdwb3J0TW9kZT0iY3VzdG9tIix0aGlzLmN1cnJlbnRab29tPXRoaXMubm9ybWFsaXplWm9vbSh0aGlzLmluaXRpYWxab29tLCEwKSk6dGhpcy5pbml0aWFsWm9vbT09PSJwYWdlLXdpZHRoIj90aGlzLnZpZXdwb3J0TW9kZT0icGFnZS13aWR0aCI6dGhpcy5pbml0aWFsWm9vbT09PSJwYWdlLWZpdCJ8fHRoaXMuaW5pdGlhbFpvb209PT0iYXV0byI/dGhpcy52aWV3cG9ydE1vZGU9InBhZ2UtZml0Ijp0aGlzLnZpZXdwb3J0TW9kZT0iYXV0byIsdGhpcy52aWV3cG9ydE1vZGUhPT0iY3VzdG9tIiYmKHRoaXMuY3VycmVudFpvb209MSl9Y29tcHV0ZVZpZXdwb3J0KGFlKXt0aGlzLm1lYXN1cmVWaWV3cG9ydERpbWVuc2lvbnMoKTtsZXQgcmU9YWUuZ2V0Vmlld3BvcnQoe3NjYWxlOjF9KSx5ZTtzd2l0Y2godGhpcy52aWV3cG9ydE1vZGUpe2Nhc2UicGFnZS13aWR0aCI6e3llPSh0aGlzLnZpZXdwb3J0RGltZW5zaW9ucy53aWR0aHx8cmUud2lkdGgpL3JlLndpZHRoO2JyZWFrfWNhc2UicGFnZS1maXQiOmNhc2UiYXV0byI6e2xldCBIPXRoaXMudmlld3BvcnREaW1lbnNpb25zLndpZHRofHxyZS53aWR0aCxvZT10aGlzLnZpZXdwb3J0RGltZW5zaW9ucy5oZWlnaHR8fHJlLmhlaWdodCxzZT1IL3JlLndpZHRoLHRlPW9lL3JlLmhlaWdodDt5ZT1NYXRoLm1pbihzZSx0ZSk7YnJlYWt9ZGVmYXVsdDp7eWU9dGhpcy5ub3JtYWxpemVab29tKHRoaXMuY3VycmVudFpvb218fDEsITEpO2JyZWFrfX0oIU51bWJlci5pc0Zpbml0ZSh5ZSl8fHllPD0wKSYmKHllPTEpO2xldCBWPXRoaXMudmlld3BvcnRNb2RlPT09ImN1c3RvbSI/dGhpcy5ub3JtYWxpemVab29tKHllLCEwKTp0aGlzLm5vcm1hbGl6ZVpvb20oeWUsITEpO3JldHVybiB0aGlzLnZpZXdwb3J0TW9kZSE9PSJjdXN0b20iJiYodGhpcy5jdXJyZW50Wm9vbT1WKSxhZS5nZXRWaWV3cG9ydCh7c2NhbGU6Vn0pfW5vcm1hbGl6ZVpvb20oYWUscmUpe2xldCB5ZT1yZT90aGlzLk1BTlVBTF9NSU5fWk9PTTp0aGlzLkFCU09MVVRFX01JTl9aT09NLFY9cmU/dGhpcy5NQU5VQUxfTUFYX1pPT006dGhpcy5BQlNPTFVURV9NQVhfWk9PTTtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoYWUseWUpLFYpfWFzeW5jIGNsZWFudXBEb2N1bWVudCgpe2lmKHRoaXMucmVuZGVyQWJvcnRDb250cm9sbGVyJiYodGhpcy5yZW5kZXJBYm9ydENvbnRyb2xsZXIuYWJvcnQoKSx0aGlzLnJlbmRlckFib3J0Q29udHJvbGxlcj1udWxsKSx0aGlzLmN1cnJlbnRSZW5kZXJQcm9taXNlKXt0cnl7YXdhaXQgdGhpcy5jdXJyZW50UmVuZGVyUHJvbWlzZX1jYXRjaHt9dGhpcy5jdXJyZW50UmVuZGVyUHJvbWlzZT1udWxsfXRoaXMuY3VycmVudFJlbmRlclRhc2s9bnVsbCx0aGlzLnBhZ2VSZW5kZXJUYXNrcy5mb3JFYWNoKGFlPT57dHJ5e2FlLmNhbmNlbCgpfWNhdGNoe319KSx0aGlzLnBhZ2VSZW5kZXJUYXNrcy5jbGVhcigpLHRoaXMudGV4dExheWVyUmVuZGVyVGFza3MuZm9yRWFjaChhZT0+e3RyeXthZS5jYW5jZWw/LigpfWNhdGNoe319KSx0aGlzLnRleHRMYXllclJlbmRlclRhc2tzLmNsZWFyKCk7Zm9yKGxldCBhZSBvZiB0aGlzLnRodW1ibmFpbFJlbmRlclRhc2tzfHxbXSl0cnl7YWUuY2FuY2VsKCl9Y2F0Y2h7fWlmKHRoaXMudGh1bWJuYWlsUmVuZGVyVGFza3M9W10sdGhpcy5yZW5kZXJTdGF0ZT0iaWRsZSIsdGhpcy5wYWdlUmVuZGVyaW5nPSExLHRoaXMucGFnZU51bVBlbmRpbmc9bnVsbCx0aGlzLnRodW1ibmFpbERhdGE9W10sdGhpcy5wYWdlRGF0YT1bXSx0aGlzLmRvY3VtZW50SWQ9IiIsdGhpcy5jYW52YXMmJnRoaXMuY3R4JiZ0aGlzLmN0eC5jbGVhclJlY3QoMCwwLHRoaXMuY2FudmFzLndpZHRoLHRoaXMuY2FudmFzLmhlaWdodCksdGhpcy5wZGZEb2N1bWVudCl0cnl7dGhpcy5wZGZEb2N1bWVudC5kZXN0cm95KCl9Y2F0Y2goYWUpe2NvbnNvbGUuZXJyb3IoIkVycm9yIGRlc3Ryb3lpbmcgUERGIGRvY3VtZW50OiIsYWUpfXRoaXMucGRmRG9jdW1lbnQ9bnVsbCx0aGlzLnJlcXVlc3RVcGRhdGUoKX1zdGF0aWN7WGEocix0KX19O3JldHVybiBnZT1yfSkoKX0pO3ZhciBGM2EsQjNhPWYoKCk9PntsZSgpO0YzYT1zKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHBhZGRpbmc6IDQ4cHg7CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjhmOWZhIiwiIzBhMGEwYSIpfTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiA0MHB4OwogICAgfQoKICAgIC5zZWN0aW9uIHsKICAgICAgbWF4LXdpZHRoOiA5MDBweDsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgfQoKICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICB9CgogICAgLnNlY3Rpb24tZGVzY3JpcHRpb24gewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICB9CgogICAgLnByZXZpZXctaW1hZ2UgewogICAgICBoZWlnaHQ6IDQwMHB4OwogICAgfQoKICAgIC5wcmV2aWV3LXBkZiB7CiAgICAgIGhlaWdodDogNjAwcHg7CiAgICB9CiAgPC9zdHlsZT4KCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkltYWdlIFByZXZpZXcgKFVSTCk8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+QXV0by1kZXRlY3RzIGltYWdlIGZyb20gVVJMIGV4dGVuc2lvbiBhbmQgcmVuZGVycyB3aXRoIHRoZSBpbWFnZSB2aWV3ZXIuPC9kaXY+CiAgICAgIDxkZWVzLXByZXZpZXcKICAgICAgICBjbGFzcz0icHJldmlldy1pbWFnZSIKICAgICAgICB1cmw9Imh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNTA2NzQ0MDM4MTM2LTQ2MjczODM0YjNmYj93PTEyMDAiCiAgICAgICAgZmlsZW5hbWU9ImxhbmRzY2FwZS5qcGciCiAgICAgID48L2RlZXMtcHJldmlldz4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5QREYgUHJldmlldyAoVVJMKTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5BdXRvLWRldGVjdHMgUERGIGFuZCBkaXNwbGF5cyB3aXRoIHRoZSBQREYgdmlld2VyIGluY2x1ZGluZyB0b29sYmFyLjwvZGl2PgogICAgICA8ZGVlcy1wcmV2aWV3CiAgICAgICAgY2xhc3M9InByZXZpZXctcGRmIgogICAgICAgIHVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL3dlYi9jb21wcmVzc2VkLnRyYWNlbW9ua2V5LXBsZGktMDkucGRmIgogICAgICAgIGZpbGVuYW1lPSJyZXNlYXJjaC1wYXBlci5wZGYiCiAgICAgID48L2RlZXMtcHJldmlldz4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Db2RlIFByZXZpZXcgKFRleHQgQ29udGVudCk8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+VHlwZVNjcmlwdCBjb2RlIGRpc3BsYXllZCB3aXRoIHN5bnRheCBoaWdobGlnaHRpbmcgdmlhIHRoZSBjb2RlYm94LjwvZGl2PgogICAgICA8ZGVlcy1wcmV2aWV3CiAgICAgICAgZmlsZW5hbWU9ImV4YW1wbGUudHMiCiAgICAgICAgbGFuZ3VhZ2U9InR5cGVzY3JpcHQiCiAgICAgICAgLnRleHRDb250ZW50PSR7YGltcG9ydCB7IGh0bWwsIGNzcyB9IGZyb20gJ2xpdCc7CgpleHBvcnQgY2xhc3MgTXlDb21wb25lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHsKICBzdGF0aWMgc3R5bGVzID0gY3NzXGAKICAgIDpob3N0IHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICB9CiAgXGA7CgogIHJlbmRlcigpIHsKICAgIHJldHVybiBodG1sXGA8aDE+SGVsbG8gV29ybGQ8L2gxPlxgOwogIH0KfWB9CiAgICAgID48L2RlZXMtcHJldmlldz4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5BdWRpbyBQcmV2aWV3IChVUkwpPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkF1ZGlvIGZpbGUgZGV0ZWN0ZWQgYnkgZXh0ZW5zaW9uLCBzaG93biB3aXRoIHdhdmVmb3JtIHBsYXllci48L2Rpdj4KICAgICAgPGRlZXMtcHJldmlldwogICAgICAgIHVybD0iaHR0cHM6Ly93d3cuc291bmRoZWxpeC5jb20vZXhhbXBsZXMvbXAzL1NvdW5kSGVsaXgtU29uZy0xLm1wMyIKICAgICAgICBmaWxlbmFtZT0ic29uZy5tcDMiCiAgICAgID48L2RlZXMtcHJldmlldz4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5WaWRlbyBQcmV2aWV3IChVUkwpPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPlZpZGVvIGZpbGUgZGV0ZWN0ZWQgZnJvbSBVUkwsIHJlbmRlcmVkIHdpdGggY3VzdG9tIHZpZGVvIGNvbnRyb2xzLjwvZGl2PgogICAgICA8ZGVlcy1wcmV2aWV3CiAgICAgICAgdXJsPSJodHRwczovL2NvbW1vbmRhdGFzdG9yYWdlLmdvb2dsZWFwaXMuY29tL2d0di12aWRlb3MtYnVja2V0L3NhbXBsZS9CaWdCdWNrQnVubnkubXA0IgogICAgICAgIGZpbGVuYW1lPSJiaWctYnVjay1idW5ueS5tcDQiCiAgICAgID48L2RlZXMtcHJldmlldz4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5FeHBsaWNpdCBUeXBlIE92ZXJyaWRlPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkZvcmNlIGNvbnRlbnQgdHlwZSB0byAndGV4dCcgZXZlbiB0aG91Z2ggdGhlIFVSTCBoYXMgbm8gZXh0ZW5zaW9uLjwvZGl2PgogICAgICA8ZGVlcy1wcmV2aWV3CiAgICAgICAgY29udGVudFR5cGU9InRleHQiCiAgICAgICAgLnRleHRDb250ZW50PSR7YFRoaXMgaXMgcGxhaW4gdGV4dCBjb250ZW50LgpJdCBwcmVzZXJ2ZXMgd2hpdGVzcGFjZSBhbmQgbGluZSBicmVha3MuCgpVc2VmdWwgZm9yIGxvZyBmaWxlcywgUkVBRE1FcywgZXRjLmB9CiAgICAgICAgZmlsZW5hbWU9Im5vdGVzLnR4dCIKICAgICAgPjwvZGVlcy1wcmV2aWV3PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlVua25vd24gVHlwZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5XaGVuIGNvbnRlbnQgdHlwZSBjYW5ub3QgYmUgZGV0ZWN0ZWQsIHNob3dzIGEgcGxhY2Vob2xkZXIuPC9kaXY+CiAgICAgIDxkZWVzLXByZXZpZXcKICAgICAgICBmaWxlbmFtZT0iZGF0YS5iaW4iCiAgICAgICAgY29udGVudFR5cGU9InVua25vd24iCiAgICAgID48L2RlZXMtcHJldmlldz4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIGNpLEFhLEgzYSxzTmEsaU5hLG9OYSxxM2EsVjNhPWYoKCk9PntsZSgpO2pRZSgpO1VRZSgpO1dRZSgpO19RZSgpO0dRZSgpO3ZhKCk7QjNhKCk7Y2k9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEFhPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxIM2E9e2pwZzoiaW1hZ2UiLGpwZWc6ImltYWdlIixwbmc6ImltYWdlIixnaWY6ImltYWdlIix3ZWJwOiJpbWFnZSIsc3ZnOiJpbWFnZSIsYm1wOiJpbWFnZSIsYXZpZjoiaW1hZ2UiLGljbzoiaW1hZ2UiLHBkZjoicGRmIixtcDM6ImF1ZGlvIix3YXY6ImF1ZGlvIixvZ2c6ImF1ZGlvIixmbGFjOiJhdWRpbyIsYWFjOiJhdWRpbyIsbTRhOiJhdWRpbyIsb3B1czoiYXVkaW8iLHdlYmE6ImF1ZGlvIixtcDQ6InZpZGVvIix3ZWJtOiJ2aWRlbyIsbW92OiJ2aWRlbyIsYXZpOiJ2aWRlbyIsbWt2OiJ2aWRlbyIsb2d2OiJ2aWRlbyIsdHM6ImNvZGUiLGpzOiJjb2RlIixqc3g6ImNvZGUiLHRzeDoiY29kZSIsanNvbjoiY29kZSIsaHRtbDoiY29kZSIsY3NzOiJjb2RlIixzY3NzOiJjb2RlIixsZXNzOiJjb2RlIixweToiY29kZSIsamF2YToiY29kZSIsZ286ImNvZGUiLHJzOiJjb2RlIix5YW1sOiJjb2RlIix5bWw6ImNvZGUiLHhtbDoiY29kZSIsc3FsOiJjb2RlIixzaDoiY29kZSIsYmFzaDoiY29kZSIsenNoOiJjb2RlIixtZDoiY29kZSIsYzoiY29kZSIsY3BwOiJjb2RlIixoOiJjb2RlIixocHA6ImNvZGUiLHJiOiJjb2RlIixwaHA6ImNvZGUiLHN3aWZ0OiJjb2RlIixrdDoiY29kZSIsdHh0OiJ0ZXh0Iixsb2c6InRleHQiLGNzdjoidGV4dCIsZW52OiJ0ZXh0In0sc05hPXsiaW1hZ2UvIjoiaW1hZ2UiLCJhdWRpby8iOiJhdWRpbyIsInZpZGVvLyI6InZpZGVvIiwiYXBwbGljYXRpb24vcGRmIjoicGRmIn0saU5hPXt0czoidHlwZXNjcmlwdCIsdHN4OiJ0eXBlc2NyaXB0IixqczoiamF2YXNjcmlwdCIsanN4OiJqYXZhc2NyaXB0Iixqc29uOiJqc29uIixodG1sOiJ4bWwiLHhtbDoieG1sIixjc3M6ImNzcyIsc2Nzczoic2NzcyIsbGVzczoibGVzcyIscHk6InB5dGhvbiIsamF2YToiamF2YSIsZ286ImdvIixyczoicnVzdCIseWFtbDoieWFtbCIseW1sOiJ5YW1sIixzcWw6InNxbCIsc2g6ImJhc2giLGJhc2g6ImJhc2giLHpzaDoiYmFzaCIsYzoiYyIsY3BwOiJjcHAiLGg6ImMiLGhwcDoiY3BwIixyYjoicnVieSIscGhwOiJwaHAiLHN3aWZ0OiJzd2lmdCIsa3Q6ImtvdGxpbiIsbWQ6Im1hcmtkb3duIn0sb05hPXtpbWFnZToibHVjaWRlOkltYWdlIixwZGY6Imx1Y2lkZTpGaWxlVGV4dCIsYXVkaW86Imx1Y2lkZTpNdXNpYyIsdmlkZW86Imx1Y2lkZTpWaWRlbyIsY29kZToibHVjaWRlOkNvZGUiLHRleHQ6Imx1Y2lkZTpGaWxlVGV4dCIsdW5rbm93bjoibHVjaWRlOkZpbGUifSxxM2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLXByZXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdLGNlLHVlPVtdLFk9W10sUSxKPVtdLFo9W10sZ2UsYWU9W10scmU9W10seWUsVj1bXSxIPVtdO3ZhciBvZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1ByZXZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgc2U9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxkPVskKHthdHRyaWJ1dGU6ITF9KV0sdT1bJCgpXSx4PVskKCldLHk9WyQoKV0sTj1bJCgpXSxPPVskKCldLEI9WyQoKV0sUD1bJCh7dHlwZTpCb29sZWFufSldLFc9WyQoe3R5cGU6Qm9vbGVhbn0pXSxoZT1bSygpXSxtZT1bSygpXSxjZT1bSygpXSxRPVtLKCldLGdlPVtLKCldLHllPVtLKCldLGNpKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidXJsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4idXJsImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUudXJsLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUudXJsPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxuLGwpLGNpKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+ImZpbGUiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5maWxlLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUuZmlsZT16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sYyxwKSxjaSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJhc2U2NCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+ImJhc2U2NCJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLmJhc2U2NCwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLmJhc2U2ND16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sbSx2KSxjaSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRleHRDb250ZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4idGV4dENvbnRlbnQiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS50ZXh0Q29udGVudCwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLnRleHRDb250ZW50PXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxiLGcpLGNpKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudFR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJjb250ZW50VHlwZSJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLmNvbnRlbnRUeXBlLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUuY29udGVudFR5cGU9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LGssQyksY2kodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYW5ndWFnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+Imxhbmd1YWdlImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUubGFuZ3VhZ2UsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5sYW5ndWFnZT16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sXyx6KSxjaSh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1pbWVUeXBlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4ibWltZVR5cGUiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5taW1lVHlwZSwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLm1pbWVUeXBlPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxULEUpLGNpKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsZW5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJmaWxlbmFtZSJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLmZpbGVuYW1lLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUuZmlsZW5hbWU9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LE0sUyksY2kodGhpcyxudWxsLFAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93VG9vbGJhciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+InNob3dUb29sYmFyImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUuc2hvd1Rvb2xiYXIsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5zaG93VG9vbGJhcj16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sQSxGKSxjaSh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dGaWxlbmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+InNob3dGaWxlbmFtZSJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLnNob3dGaWxlbmFtZSwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLnNob3dGaWxlbmFtZT16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0saixHKSxjaSh0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZXNvbHZlZFR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJyZXNvbHZlZFR5cGUiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5yZXNvbHZlZFR5cGUsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5yZXNvbHZlZFR5cGU9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LFIsVSksY2kodGhpcyxudWxsLG1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVzb2x2ZWRTcmMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJyZXNvbHZlZFNyYyJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLnJlc29sdmVkU3JjLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUucmVzb2x2ZWRTcmM9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LEkscSksY2kodGhpcyxudWxsLGNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVzb2x2ZWRUZXh0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4icmVzb2x2ZWRUZXh0ImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUucmVzb2x2ZWRUZXh0LCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUucmVzb2x2ZWRUZXh0PXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSx1ZSxZKSxjaSh0aGlzLG51bGwsUSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlc29sdmVkTGFuZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+InJlc29sdmVkTGFuZyJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLnJlc29sdmVkTGFuZywiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLnJlc29sdmVkTGFuZz16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sSixaKSxjaSh0aGlzLG51bGwsZ2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4ibG9hZGluZyJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLmxvYWRpbmcsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5sb2FkaW5nPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxhZSxyZSksY2kodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXJyb3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJlcnJvciJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLmVycm9yLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUuZXJyb3I9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LFYsSCksY2kobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6c2V9LG51bGwsdCksb2U9cj1lLnZhbHVlLHNlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnNlfSl9c3RhdGljIGRlbW89RjNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiTWVkaWEiLCJEYXRhIFZpZXciXTsjZT1BYSh0aGlzLG4sIiIpO2dldCB1cmwoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdXJsKHNlKXt0aGlzLiNlPXNlfSN0PShBYSh0aGlzLGwpLEFhKHRoaXMsYyx2b2lkIDApKTtnZXQgZmlsZSgpe3JldHVybiB0aGlzLiN0fXNldCBmaWxlKHNlKXt0aGlzLiN0PXNlfSNhPShBYSh0aGlzLHApLEFhKHRoaXMsbSwiIikpO2dldCBiYXNlNjQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgYmFzZTY0KHNlKXt0aGlzLiNhPXNlfSNyPShBYSh0aGlzLHYpLEFhKHRoaXMsYiwiIikpO2dldCB0ZXh0Q29udGVudCgpe3JldHVybiB0aGlzLiNyfXNldCB0ZXh0Q29udGVudChzZSl7dGhpcy4jcj1zZX0jcz0oQWEodGhpcyxnKSxBYSh0aGlzLGssdm9pZCAwKSk7Z2V0IGNvbnRlbnRUeXBlKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGNvbnRlbnRUeXBlKHNlKXt0aGlzLiNzPXNlfSNpPShBYSh0aGlzLEMpLEFhKHRoaXMsXywiIikpO2dldCBsYW5ndWFnZSgpe3JldHVybiB0aGlzLiNpfXNldCBsYW5ndWFnZShzZSl7dGhpcy4jaT1zZX0jbz0oQWEodGhpcyx6KSxBYSh0aGlzLFQsIiIpKTtnZXQgbWltZVR5cGUoKXtyZXR1cm4gdGhpcy4jb31zZXQgbWltZVR5cGUoc2Upe3RoaXMuI289c2V9I249KEFhKHRoaXMsRSksQWEodGhpcyxNLCIiKSk7Z2V0IGZpbGVuYW1lKCl7cmV0dXJuIHRoaXMuI259c2V0IGZpbGVuYW1lKHNlKXt0aGlzLiNuPXNlfSNsPShBYSh0aGlzLFMpLEFhKHRoaXMsQSwhMCkpO2dldCBzaG93VG9vbGJhcigpe3JldHVybiB0aGlzLiNsfXNldCBzaG93VG9vbGJhcihzZSl7dGhpcy4jbD1zZX0jYz0oQWEodGhpcyxGKSxBYSh0aGlzLGosITApKTtnZXQgc2hvd0ZpbGVuYW1lKCl7cmV0dXJuIHRoaXMuI2N9c2V0IHNob3dGaWxlbmFtZShzZSl7dGhpcy4jYz1zZX0jZD0oQWEodGhpcyxHKSxBYSh0aGlzLFIsInVua25vd24iKSk7Z2V0IHJlc29sdmVkVHlwZSgpe3JldHVybiB0aGlzLiNkfXNldCByZXNvbHZlZFR5cGUoc2Upe3RoaXMuI2Q9c2V9I3U9KEFhKHRoaXMsVSksQWEodGhpcyxJLCIiKSk7Z2V0IHJlc29sdmVkU3JjKCl7cmV0dXJuIHRoaXMuI3V9c2V0IHJlc29sdmVkU3JjKHNlKXt0aGlzLiN1PXNlfSNwPShBYSh0aGlzLHEpLEFhKHRoaXMsdWUsIiIpKTtnZXQgcmVzb2x2ZWRUZXh0KCl7cmV0dXJuIHRoaXMuI3B9c2V0IHJlc29sdmVkVGV4dChzZSl7dGhpcy4jcD1zZX0jZj0oQWEodGhpcyxZKSxBYSh0aGlzLEosInRleHQiKSk7Z2V0IHJlc29sdmVkTGFuZygpe3JldHVybiB0aGlzLiNmfXNldCByZXNvbHZlZExhbmcoc2Upe3RoaXMuI2Y9c2V9I2g9KEFhKHRoaXMsWiksQWEodGhpcyxhZSwhMSkpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI2h9c2V0IGxvYWRpbmcoc2Upe3RoaXMuI2g9c2V9I209KEFhKHRoaXMscmUpLEFhKHRoaXMsViwiIikpO2dldCBlcnJvcigpe3JldHVybiB0aGlzLiNtfXNldCBlcnJvcihzZSl7dGhpcy4jbT1zZX1vYmplY3RVcmw9KEFhKHRoaXMsSCksIiIpO3JlbmRlcigpe2xldCBzZT10aGlzLmZpbGVuYW1lfHx0aGlzLmZpbGU/Lm5hbWV8fHRoaXMuZ2V0RmlsZW5hbWVGcm9tVXJsKCl8fCIiO3JldHVybiB3YAogICAgICA8c3R5bGU+CiAgICAgICAgOmhvc3QgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7CiAgICAgICAgfQoKICAgICAgICAucHJldmlldy1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIH0KCiAgICAgICAgLmhlYWRlci1iYXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjlmYWZiIiwiaHNsKDIxNSAyMCUgMTUlKSIpfTsKICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC5oZWFkZXItaWNvbiB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgfQoKICAgICAgICAuaGVhZGVyLWZpbGVuYW1lIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgfQoKICAgICAgICAuaGVhZGVyLWJhZGdlIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpIil9OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC5jb250ZW50LWFyZWEgewogICAgICAgICAgZmxleDogMTsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDsKICAgICAgICB9CgogICAgICAgIC5jb250ZW50LWFyZWEgPiAqIHsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIH0KCiAgICAgICAgZGVlcy1pbWFnZS12aWV3ZXIgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgfQoKICAgICAgICBkZWVzLXBkZi12aWV3ZXIgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgfQoKICAgICAgICBkZWVzLXZpZGVvLXZpZXdlciB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB9CgogICAgICAgIGRlZXMtYXVkaW8tdmlld2VyIHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIH0KCiAgICAgICAgZGVlcy1kYXRhdmlldy1jb2RlYm94IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLnRleHQtdmlld2VyIHsKICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIG1vbm9zcGFjZTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIH0KCiAgICAgICAgLnBsYWNlaG9sZGVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgbWluLWhlaWdodDogMjAwcHg7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNzE3MTdhIil9OwogICAgICAgIH0KCiAgICAgICAgLnBsYWNlaG9sZGVyIGRlZXMtaWNvbiB7CiAgICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgICBmb250LXNpemU6IDMycHg7CiAgICAgICAgfQoKICAgICAgICAucGxhY2Vob2xkZXItdGV4dCB7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgfQoKICAgICAgICAubG9hZGluZy1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4OwogICAgICAgIH0KCiAgICAgICAgLmxvYWRpbmctc3Bpbm5lciB7CiAgICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzNmM2Y0NiIpfTsKICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0KICAgICAgICB9CgogICAgICAgIC5lcnJvci1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgICB9CgogICAgICAgIC5lcnJvci1jb250YWluZXIgZGVlcy1pY29uIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDsKICAgICAgICB9CgogICAgICAgIC5lcnJvci10ZXh0IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CgogICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LWNvbnRhaW5lciI+CiAgICAgICAgJHt0aGlzLnNob3dGaWxlbmFtZSYmc2U/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1iYXIiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJoZWFkZXItaWNvbiIgaWNvbj0iJHtvTmFbdGhpcy5yZXNvbHZlZFR5cGVdfSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJoZWFkZXItZmlsZW5hbWUiPiR7c2V9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaGVhZGVyLWJhZGdlIj4ke3RoaXMucmVzb2x2ZWRUeXBlfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtYXJlYSI+CiAgICAgICAgICAke3RoaXMuZXJyb3I/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXJyb3ItY29udGFpbmVyIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpBbGVydFRyaWFuZ2xlIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZXJyb3ItdGV4dCI+JHt0aGlzLmVycm9yfTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOnRoaXMubG9hZGluZz93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy1zcGlubmVyIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOnRoaXMucmVuZGVyQ29udGVudCgpfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyQ29udGVudCgpe3N3aXRjaCh0aGlzLnJlc29sdmVkVHlwZSl7Y2FzZSJpbWFnZSI6cmV0dXJuIHdgCiAgICAgICAgICA8ZGVlcy1pbWFnZS12aWV3ZXIKICAgICAgICAgICAgLnNyYz0ke3RoaXMucmVzb2x2ZWRTcmN9CiAgICAgICAgICAgIC5zaG93VG9vbGJhcj0ke3RoaXMuc2hvd1Rvb2xiYXJ9CiAgICAgICAgICAgIGFsdD0iJHt0aGlzLmZpbGVuYW1lfHwiIn0iCiAgICAgICAgICA+PC9kZWVzLWltYWdlLXZpZXdlcj4KICAgICAgICBgO2Nhc2UicGRmIjpyZXR1cm4gd2AKICAgICAgICAgIDxkZWVzLXBkZi12aWV3ZXIKICAgICAgICAgICAgLnBkZlVybD0ke3RoaXMucmVzb2x2ZWRTcmN9CiAgICAgICAgICAgIC5zaG93VG9vbGJhcj0ke3RoaXMuc2hvd1Rvb2xiYXJ9CiAgICAgICAgICAgIGluaXRpYWxab29tPSJwYWdlLWZpdCIKICAgICAgICAgID48L2RlZXMtcGRmLXZpZXdlcj4KICAgICAgICBgO2Nhc2UiYXVkaW8iOnJldHVybiB3YAogICAgICAgICAgPGRlZXMtYXVkaW8tdmlld2VyCiAgICAgICAgICAgIC5zcmM9JHt0aGlzLnJlc29sdmVkU3JjfQogICAgICAgICAgICAudGl0bGU9JHt0aGlzLmZpbGVuYW1lfHx0aGlzLmZpbGU/Lm5hbWV8fCIifQogICAgICAgICAgPjwvZGVlcy1hdWRpby12aWV3ZXI+CiAgICAgICAgYDtjYXNlInZpZGVvIjpyZXR1cm4gd2AKICAgICAgICAgIDxkZWVzLXZpZGVvLXZpZXdlcgogICAgICAgICAgICAuc3JjPSR7dGhpcy5yZXNvbHZlZFNyY30KICAgICAgICAgID48L2RlZXMtdmlkZW8tdmlld2VyPgogICAgICAgIGA7Y2FzZSJjb2RlIjpyZXR1cm4gd2AKICAgICAgICAgIDxkZWVzLWRhdGF2aWV3LWNvZGVib3gKICAgICAgICAgICAgLnByb2dMYW5nPSR7dGhpcy5yZXNvbHZlZExhbmd9CiAgICAgICAgICAgIC5jb2RlVG9EaXNwbGF5PSR7dGhpcy5yZXNvbHZlZFRleHR9CiAgICAgICAgICA+PC9kZWVzLWRhdGF2aWV3LWNvZGVib3g+CiAgICAgICAgYDtjYXNlInRleHQiOnJldHVybiB3YDxwcmUgY2xhc3M9InRleHQtdmlld2VyIj4ke3RoaXMucmVzb2x2ZWRUZXh0fTwvcHJlPmA7ZGVmYXVsdDpyZXR1cm4gd2AKICAgICAgICAgIDxkaXYgY2xhc3M9InBsYWNlaG9sZGVyIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6RmlsZVF1ZXN0aW9uIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBsYWNlaG9sZGVyLXRleHQiPlByZXZpZXcgbm90IGF2YWlsYWJsZTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGB9fWFzeW5jIHVwZGF0ZWQoc2Upe3N1cGVyLnVwZGF0ZWQoc2UpLFsidXJsIiwiZmlsZSIsImJhc2U2NCIsInRleHRDb250ZW50IiwiY29udGVudFR5cGUiLCJsYW5ndWFnZSIsIm1pbWVUeXBlIiwiZmlsZW5hbWUiXS5zb21lKE9lPT5zZS5oYXMoT2UpKSYmYXdhaXQgdGhpcy5yZXNvbHZlQ29udGVudCgpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnJldm9rZU9iamVjdFVybCgpfWFzeW5jIHJlc29sdmVDb250ZW50KCl7dGhpcy5lcnJvcj0iIix0aGlzLnJldm9rZU9iamVjdFVybCgpLHRoaXMucmVzb2x2ZWRUeXBlPXRoaXMuZGV0ZWN0VHlwZSgpO3RyeXtpZih0aGlzLnVybCl7aWYodGhpcy5yZXNvbHZlZFNyYz10aGlzLnVybCx0aGlzLnJlc29sdmVkVHlwZT09PSJjb2RlInx8dGhpcy5yZXNvbHZlZFR5cGU9PT0idGV4dCIpaWYodGhpcy50ZXh0Q29udGVudCl0aGlzLnJlc29sdmVkVGV4dD10aGlzLnRleHRDb250ZW50O2Vsc2V7dGhpcy5sb2FkaW5nPSEwO2xldCBzZT1hd2FpdCBmZXRjaCh0aGlzLnVybCk7dGhpcy5yZXNvbHZlZFRleHQ9YXdhaXQgc2UudGV4dCgpLHRoaXMubG9hZGluZz0hMX19ZWxzZSBpZih0aGlzLmZpbGUpdGhpcy5vYmplY3RVcmw9VVJMLmNyZWF0ZU9iamVjdFVSTCh0aGlzLmZpbGUpLHRoaXMucmVzb2x2ZWRTcmM9dGhpcy5vYmplY3RVcmwsKHRoaXMucmVzb2x2ZWRUeXBlPT09ImNvZGUifHx0aGlzLnJlc29sdmVkVHlwZT09PSJ0ZXh0IikmJih0aGlzLmxvYWRpbmc9ITAsdGhpcy5yZXNvbHZlZFRleHQ9YXdhaXQgdGhpcy5maWxlLnRleHQoKSx0aGlzLmxvYWRpbmc9ITEpO2Vsc2UgaWYodGhpcy5iYXNlNjQpe2xldCBzZT10aGlzLm1pbWVUeXBlfHwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIjt0aGlzLnJlc29sdmVkU3JjPWBkYXRhOiR7c2V9O2Jhc2U2NCwke3RoaXMuYmFzZTY0fWB9ZWxzZSB0aGlzLnRleHRDb250ZW50JiYodGhpcy5yZXNvbHZlZFRleHQ9dGhpcy50ZXh0Q29udGVudCl9Y2F0Y2h7dGhpcy5lcnJvcj0iRmFpbGVkIHRvIGxvYWQgY29udGVudCIsdGhpcy5sb2FkaW5nPSExfXRoaXMucmVzb2x2ZWRMYW5nPXRoaXMucmVzb2x2ZUxhbmd1YWdlKCl9ZGV0ZWN0VHlwZSgpe2lmKHRoaXMuY29udGVudFR5cGUpcmV0dXJuIHRoaXMuY29udGVudFR5cGU7bGV0IHNlPXRoaXMubWltZVR5cGV8fHRoaXMuZmlsZT8udHlwZXx8IiI7aWYoc2Upe2lmKHNlPT09ImFwcGxpY2F0aW9uL3BkZiIpcmV0dXJuInBkZiI7Zm9yKGxldFt6ZSxPZV1vZiBPYmplY3QuZW50cmllcyhzTmEpKWlmKHNlLnN0YXJ0c1dpdGgoemUpKXJldHVybiBPZTtpZihzZS5zdGFydHNXaXRoKCJ0ZXh0LyIpKXJldHVybiJ0ZXh0In1sZXQgdGU9dGhpcy5nZXRFeHRlbnNpb24oKTtyZXR1cm4gdGUmJkgzYVt0ZV0/SDNhW3RlXTp0aGlzLnRleHRDb250ZW50P3RoaXMubGFuZ3VhZ2U/ImNvZGUiOiJ0ZXh0IjoidW5rbm93biJ9Z2V0RXh0ZW5zaW9uKCl7bGV0IHNlPXRoaXMuZmlsZW5hbWV8fHRoaXMuZmlsZT8ubmFtZXx8IiI7aWYoc2Upe2xldCB0ZT1zZS5zcGxpdCgiLiIpO2lmKHRlLmxlbmd0aD4xKXJldHVybiB0ZS5wb3AoKS50b0xvd2VyQ2FzZSgpfWlmKHRoaXMudXJsKXRyeXtsZXQgemU9bmV3IFVSTCh0aGlzLnVybCwiaHR0cHM6Ly9wbGFjZWhvbGRlci5jb20iKS5wYXRobmFtZS5zcGxpdCgiLiIpO2lmKHplLmxlbmd0aD4xKXJldHVybiB6ZS5wb3AoKS50b0xvd2VyQ2FzZSgpfWNhdGNoe31yZXR1cm4iIn1nZXRGaWxlbmFtZUZyb21VcmwoKXtpZighdGhpcy51cmwpcmV0dXJuIiI7dHJ5e3JldHVybiBuZXcgVVJMKHRoaXMudXJsLCJodHRwczovL3BsYWNlaG9sZGVyLmNvbSIpLnBhdGhuYW1lLnNwbGl0KCIvIikucG9wKCl8fCIifWNhdGNoe3JldHVybiIifX1yZXNvbHZlTGFuZ3VhZ2UoKXtpZih0aGlzLmxhbmd1YWdlKXJldHVybiB0aGlzLmxhbmd1YWdlO2xldCBzZT10aGlzLmdldEV4dGVuc2lvbigpO3JldHVybiBpTmFbc2VdfHwidGV4dCJ9cmV2b2tlT2JqZWN0VXJsKCl7dGhpcy5vYmplY3RVcmwmJihVUkwucmV2b2tlT2JqZWN0VVJMKHRoaXMub2JqZWN0VXJsKSx0aGlzLm9iamVjdFVybD0iIil9c3RhdGlje0FhKHIsdCl9fTtyZXR1cm4gb2U9cn0pKCl9KTt2YXIgajNhPWYoKCk9PntWM2EoKX0pO3ZhciByNyxZUWU9ZigoKT0+e3I3PWNsYXNze3N0YXRpY3tzKHRoaXMsIkNhbnZhc1Bvb2wiKX1zdGF0aWMgcG9vbD1bXTtzdGF0aWMgbWF4UG9vbFNpemU9MjA7c3RhdGljIE1JTl9DQU5WQVNfU0laRT0yNTY7c3RhdGljIE1BWF9DQU5WQVNfU0laRT00MDk2O3N0YXRpYyBhY3F1aXJlKGUsdCl7bGV0IHI9dGhpcy5wb29sLmZpbmQobD0+IWwuaW5Vc2UmJmwuY2FudmFzLndpZHRoPj1lJiZsLmNhbnZhcy5oZWlnaHQ+PXQmJmwuY2FudmFzLndpZHRoPD1lKjEuNSYmbC5jYW52YXMuaGVpZ2h0PD10KjEuNSk7aWYocilyZXR1cm4gci5pblVzZT0hMCxyLmxhc3RVc2VkPURhdGUubm93KCksci5jYW52YXMud2lkdGg9ZSxyLmNhbnZhcy5oZWlnaHQ9dCxyLmN0eC5jbGVhclJlY3QoMCwwLGUsdCkscjtpZih0aGlzLnBvb2wubGVuZ3RoPHRoaXMubWF4UG9vbFNpemUpe2xldCBsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLGQ9bC5nZXRDb250ZXh0KCIyZCIse2FscGhhOiEwLGRlc3luY2hyb25pemVkOiEwfSk7bC53aWR0aD1NYXRoLm1pbihNYXRoLm1heChlLHRoaXMuTUlOX0NBTlZBU19TSVpFKSx0aGlzLk1BWF9DQU5WQVNfU0laRSksbC5oZWlnaHQ9TWF0aC5taW4oTWF0aC5tYXgodCx0aGlzLk1JTl9DQU5WQVNfU0laRSksdGhpcy5NQVhfQ0FOVkFTX1NJWkUpO2xldCBjPXtjYW52YXM6bCxjdHg6ZCxpblVzZTohMCxsYXN0VXNlZDpEYXRlLm5vdygpfTtyZXR1cm4gdGhpcy5wb29sLnB1c2goYyksY31sZXQgaT10aGlzLnBvb2wuZmlsdGVyKGw9PiFsLmluVXNlKS5zb3J0KChsLGQpPT5sLmxhc3RVc2VkLWQubGFzdFVzZWQpWzBdO2lmKGkpcmV0dXJuIGkuY2FudmFzLndpZHRoPWUsaS5jYW52YXMuaGVpZ2h0PXQsaS5jdHguY2xlYXJSZWN0KDAsMCxlLHQpLGkuaW5Vc2U9ITAsaS5sYXN0VXNlZD1EYXRlLm5vdygpLGk7bGV0IG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksbj1vLmdldENvbnRleHQoIjJkIik7cmV0dXJuIG8ud2lkdGg9ZSxvLmhlaWdodD10LHtjYW52YXM6byxjdHg6bixpblVzZTohMCxsYXN0VXNlZDpEYXRlLm5vdygpfX1zdGF0aWMgcmVsZWFzZShlKXt0aGlzLnBvb2wuaW5jbHVkZXMoZSkmJihlLmluVXNlPSExLGUuY3R4LmNsZWFyUmVjdCgwLDAsZS5jYW52YXMud2lkdGgsZS5jYW52YXMuaGVpZ2h0KSl9c3RhdGljIHJlbGVhc2VBbGwoKXtmb3IobGV0IGUgb2YgdGhpcy5wb29sKWUuaW5Vc2U9ITEsZS5jdHguY2xlYXJSZWN0KDAsMCxlLmNhbnZhcy53aWR0aCxlLmNhbnZhcy5oZWlnaHQpfXN0YXRpYyBkZXN0cm95KCl7Zm9yKGxldCBlIG9mIHRoaXMucG9vbCllLmNhbnZhcy53aWR0aD0wLGUuY2FudmFzLmhlaWdodD0wO3RoaXMucG9vbD1bXX1zdGF0aWMgZ2V0U3RhdHMoKXtyZXR1cm57cG9vbFNpemU6dGhpcy5wb29sLmxlbmd0aCxtYXhQb29sU2l6ZTp0aGlzLm1heFBvb2xTaXplLGluVXNlOnRoaXMucG9vbC5maWx0ZXIoZT0+ZS5pblVzZSkubGVuZ3RoLGF2YWlsYWJsZTp0aGlzLnBvb2wuZmlsdGVyKGU9PiFlLmluVXNlKS5sZW5ndGh9fXN0YXRpYyBhZGp1c3RQb29sU2l6ZShlKXtpZihlPHRoaXMucG9vbC5sZW5ndGgpe2xldCB0PXRoaXMucG9vbC5sZW5ndGgtZSxyPXRoaXMucG9vbC5maWx0ZXIoaT0+IWkuaW5Vc2UpLnNsaWNlKDAsdCk7Zm9yKGxldCBpIG9mIHIpe2xldCBvPXRoaXMucG9vbC5pbmRleE9mKGkpO28+LTEmJnRoaXMucG9vbC5zcGxpY2UobywxKX19dGhpcy5tYXhQb29sU2l6ZT1lfX19KTtmdW5jdGlvbiBuTmEoYSxlKXtsZXQgdDtyZXR1cm4gcyhmdW5jdGlvbiguLi5pKXtsZXQgbz1zKCgpPT57Y2xlYXJUaW1lb3V0KHQpLGEoLi4uaSl9LCJsYXRlciIpO2NsZWFyVGltZW91dCh0KSx0PXdpbmRvdy5zZXRUaW1lb3V0KG8sZSl9LCJleGVjdXRlZEZ1bmN0aW9uIil9ZnVuY3Rpb24gbE5hKGEsZSl7bGV0IHQ7cmV0dXJuKC4uLnIpPT57dHx8KGEoLi4uciksdD0hMCxzZXRUaW1lb3V0KCgpPT50PSExLGUpKX19ZnVuY3Rpb24gS1FlKGEpe2lmKGE9PT0wKXJldHVybiIwIEJ5dGVzIjtsZXQgZT0xMDI0LHQ9WyJCeXRlcyIsIktCIiwiTUIiLCJHQiJdLHI9TWF0aC5mbG9vcihNYXRoLmxvZyhhKS9NYXRoLmxvZyhlKSk7cmV0dXJuIE1hdGgucm91bmQoYS9NYXRoLnBvdyhlLHIpKjEwMCkvMTAwKyIgIit0W3JdfWZ1bmN0aW9uIGNOYShhLGU9MCl7bGV0IHQ9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gdC50b3A+PS1lJiZ0LmxlZnQ+PS1lJiZ0LmJvdHRvbTw9KHdpbmRvdy5pbm5lckhlaWdodHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCkrZSYmdC5yaWdodDw9KHdpbmRvdy5pbm5lcldpZHRofHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpK2V9dmFyIHM3LFpRZT1mKCgpPT57cyhuTmEsImRlYm91bmNlIik7cyhsTmEsInRocm90dGxlIik7cyhLUWUsImZvcm1hdEZpbGVTaXplIik7cyhjTmEsImlzSW5WaWV3cG9ydCIpO3M3PWNsYXNze3N0YXRpY3tzKHRoaXMsIlBlcmZvcm1hbmNlTW9uaXRvciIpfXN0YXRpYyBtYXJrcz1uZXcgTWFwO3N0YXRpYyBtZWFzdXJlcz1bXTtzdGF0aWMgbWFyayhlKXt0aGlzLm1hcmtzLnNldChlLHBlcmZvcm1hbmNlLm5vdygpKX1zdGF0aWMgbWVhc3VyZShlLHQpe2xldCByPXRoaXMubWFya3MuZ2V0KHQpO2lmKHIpe2xldCBpPXBlcmZvcm1hbmNlLm5vdygpLXI7cmV0dXJuIHRoaXMubWVhc3VyZXMucHVzaCh7bmFtZTplLGR1cmF0aW9uOml9KSx0aGlzLm1hcmtzLmRlbGV0ZSh0KSxpfXJldHVybiAwfXN0YXRpYyBnZXRSZXBvcnQoKXtsZXQgZT17bWVhc3VyZXM6Wy4uLnRoaXMubWVhc3VyZXNdLGF2ZXJhZ2VzOnt9fSx0PW5ldyBNYXA7Zm9yKGxldCByIG9mIHRoaXMubWVhc3VyZXMpdC5oYXMoci5uYW1lKXx8dC5zZXQoci5uYW1lLFtdKSx0LmdldChyLm5hbWUpLnB1c2goci5kdXJhdGlvbik7Zm9yKGxldFtyLGldb2YgdCllLmF2ZXJhZ2VzW3JdPWkucmVkdWNlKChvLG4pPT5vK24sMCkvaS5sZW5ndGg7cmV0dXJuIGV9c3RhdGljIGNsZWFyKCl7dGhpcy5tYXJrcy5jbGVhcigpLHRoaXMubWVhc3VyZXM9W119fX0pO3ZhciBVM2E9ZigoKT0+e1lRZSgpO2VpZSgpO1pRZSgpfSk7dmFyIFczYT1mKCgpPT57R1FlKCl9KTt2YXIgUmksUmM9ZigoKT0+e2xlKCk7Umk9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgOmhvc3QgewogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIH0KCiAgICAudGlsZS1jb250YWluZXIgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIHdpZHRoOiAyMDBweDsKICAgICAgaGVpZ2h0OiAyNjBweDsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk4JSkiLCJoc2woMjE1IDIwJSAxNCUpIil9OwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycyBlYXNlOwogICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xMikiLCJyZ2JhKDAsIDAsIDAsIDAuMjQpIil9OwoKICAgIH0KCiAgICAudGlsZS1jb250YWluZXIuY2xpY2thYmxlIHsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgfQoKICAgIC50aWxlLWNvbnRhaW5lci5jbGlja2FibGU6aG92ZXIgewogICAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMTIpIiwicmdiYSgwLCAwLCAwLCAwLjMpIil9OwogICAgfQoKICAgIC50aWxlLWNvbnRhaW5lci5jbGlja2FibGU6aG92ZXIgLnRpbGUtb3ZlcmxheSB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICB9CgogICAgLnRpbGUtY29udGVudCB7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CgogICAgLnRpbGUtb3ZlcmxheSB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwOwogICAgICBsZWZ0OiAwOwogICAgICByaWdodDogMDsKICAgICAgYm90dG9tOiAwOwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjcpIiwicmdiYSgwLCAwLCAwLCAwLjgpIil9OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgZ2FwOiA4cHg7CiAgICAgIG9wYWNpdHk6IDA7CiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICB6LWluZGV4OiAyMDsKICAgIH0KCiAgICAudGlsZS1vdmVybGF5IGRlZXMtaWNvbiB7CiAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgY29sb3I6IHdoaXRlOwogICAgfQoKICAgIC50aWxlLW92ZXJsYXkgc3BhbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgY29sb3I6IHdoaXRlOwogICAgfQoKICAgIC50aWxlLWluZm8tYmFyIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBib3R0b206IDA7CiAgICAgIGxlZnQ6IDA7CiAgICAgIHJpZ2h0OiAwOwogICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSAvIDAuOTUpIiwiaHNsKDIxNSAyMCUgMTIlIC8gMC45NSkiKX07CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGdhcDogNnB4OwogICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTsKICAgICAgei1pbmRleDogMjU7CiAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgICB9CgogICAgLmluZm8tbGFiZWwgewogICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgbWluLXdpZHRoOiAwOwogICAgfQoKICAgIC5pbmZvLXNwYWNlciB7CiAgICAgIGZsZXg6IDE7CiAgICB9CgogICAgLmluZm8tZGV0YWlsIHsKICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgb3BhY2l0eTogMC43OwogICAgICBmbGV4LXNocmluazogMDsKICAgIH0KCiAgICAudGlsZS1sb2FkaW5nLAogICAgLnRpbGUtZXJyb3IgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogMDsKICAgICAgbGVmdDogMDsKICAgICAgcmlnaHQ6IDA7CiAgICAgIGJvdHRvbTogMDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGdhcDogMTJweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDE2JSA0NSUpIiwiaHNsKDIxNSAxNiUgNzUlKSIpfTsKICAgIH0KCiAgICAudGlsZS1sb2FkaW5nIHsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk5JSkiLCJoc2woMjE1IDIwJSAxNCUpIil9OwogICAgfQoKICAgIC50aWxlLWVycm9yIHsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDcyJSA5OCUpIiwiaHNsKDAgNjIlIDIwJSkiKX07CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgNzIlIDQwJSkiLCJoc2woMCA3MCUgNjglKSIpfTsKICAgIH0KCiAgICAudGlsZS1lcnJvciBkZWVzLWljb24gewogICAgICBmb250LXNpemU6IDMycHg7CiAgICB9CgogICAgLnRpbGUtc3Bpbm5lciB7CiAgICAgIHdpZHRoOiAyNHB4OwogICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgYm9yZGVyOiAycHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTQgMzElIDg2JSkiLCJoc2woMjE3IDI1JSAyOCUpIil9OwogICAgICBib3JkZXItdG9wLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNyA5MSUgNjAlKSIsImhzbCgyMTMgOTMlIDY4JSkiKX07CiAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTsKICAgIH0KCiAgICAudGlsZS1sb2FkaW5nLXRleHQsCiAgICAudGlsZS1lcnJvci10ZXh0IHsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgfQoKICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgIHRvIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogICAgICB9CiAgICB9CgogICAgLyogU2l6ZSB2YXJpYW50cyAqLwogICAgOmhvc3QoW3NpemU9InNtYWxsIl0pIC50aWxlLWNvbnRhaW5lciB7CiAgICAgIHdpZHRoOiAxNTBweDsKICAgICAgaGVpZ2h0OiAxOTVweDsKICAgIH0KCiAgICA6aG9zdChbc2l6ZT0ibGFyZ2UiXSkgLnRpbGUtY29udGFpbmVyIHsKICAgICAgd2lkdGg6IDI1MHB4OwogICAgICBoZWlnaHQ6IDMyNXB4OwogICAgfQoKICAgIC8qIEdyaWQgb3B0aW1pemF0aW9ucyAqLwogICAgOmhvc3QoW2dyaWQtbW9kZV0pIC50aWxlLWNvbnRhaW5lciB7CiAgICAgIHdpbGwtY2hhbmdlOiBhdXRvOwogICAgfQogIGBdfSk7dmFyIGRHLHVsLG9vLHE0PWYoKCk9PntsZSgpO1JjKCk7dmEoKTtkRz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sdWw9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LG9vPSgoKT0+e2xldCBhPXBlLGUsdD1bXSxyPVtdLGksbz1bXSxuPVtdLGwsZD1bXSxjPVtdLHAsdT1bXSxtPVtdLHYseD1bXSxiPVtdO3JldHVybiBjbGFzcyBleHRlbmRzIGF7c3RhdGlje3ModGhpcywiRGVlc1RodW1ibmFpbEJhc2UiKX1zdGF0aWN7bGV0IHk9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoYVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7ZT1bJCh7dHlwZTpCb29sZWFufSldLGk9WyQoe3R5cGU6Qm9vbGVhbn0pXSxsPVskKHt0eXBlOkJvb2xlYW59KV0scD1bJCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSx2PVskKHt0eXBlOlN0cmluZ30pXSxkRyh0aGlzLG51bGwsZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNsaWNrYWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhrPT4iY2xpY2thYmxlImluIGssImhhcyIpLGdldDpzKGs9PmsuY2xpY2thYmxlLCJnZXQiKSxzZXQ6cygoayxDKT0+e2suY2xpY2thYmxlPUN9LCJzZXQiKX0sbWV0YWRhdGE6eX0sdCxyKSxkRyh0aGlzLG51bGwsaSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoaz0+ImxvYWRpbmciaW4gaywiaGFzIiksZ2V0OnMoaz0+ay5sb2FkaW5nLCJnZXQiKSxzZXQ6cygoayxDKT0+e2subG9hZGluZz1DfSwic2V0Iil9LG1ldGFkYXRhOnl9LG8sbiksZEcodGhpcyxudWxsLGwse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlcnJvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhrPT4iZXJyb3IiaW4gaywiaGFzIiksZ2V0OnMoaz0+ay5lcnJvciwiZ2V0Iiksc2V0OnMoKGssQyk9PntrLmVycm9yPUN9LCJzZXQiKX0sbWV0YWRhdGE6eX0sZCxjKSxkRyh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoaz0+InNpemUiaW4gaywiaGFzIiksZ2V0OnMoaz0+ay5zaXplLCJnZXQiKSxzZXQ6cygoayxDKT0+e2suc2l6ZT1DfSwic2V0Iil9LG1ldGFkYXRhOnl9LHUsbSksZEcodGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYWJlbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhrPT4ibGFiZWwiaW4gaywiaGFzIiksZ2V0OnMoaz0+ay5sYWJlbCwiZ2V0Iiksc2V0OnMoKGssQyk9PntrLmxhYmVsPUN9LCJzZXQiKX0sbWV0YWRhdGE6eX0seCxiKSx5JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnl9KX1zdGF0aWMgc3R5bGVzPVJpOyNlPXVsKHRoaXMsdCwhMCk7Z2V0IGNsaWNrYWJsZSgpe3JldHVybiB0aGlzLiNlfXNldCBjbGlja2FibGUoeSl7dGhpcy4jZT15fSN0PSh1bCh0aGlzLHIpLHVsKHRoaXMsbywhMSkpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGxvYWRpbmcoeSl7dGhpcy4jdD15fSNhPSh1bCh0aGlzLG4pLHVsKHRoaXMsZCwhMSkpO2dldCBlcnJvcigpe3JldHVybiB0aGlzLiNhfXNldCBlcnJvcih5KXt0aGlzLiNhPXl9I3I9KHVsKHRoaXMsYyksdWwodGhpcyx1LCJkZWZhdWx0IikpO2dldCBzaXplKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHNpemUoeSl7dGhpcy4jcj15fSNzPSh1bCh0aGlzLG0pLHVsKHRoaXMseCwiIikpO2dldCBsYWJlbCgpe3JldHVybiB0aGlzLiNzfXNldCBsYWJlbCh5KXt0aGlzLiNzPXl9b2JzZXJ2ZXI9dWwodGhpcyxiKTtfdmlzaWJsZT0hMTtnZXQgaXNWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX3Zpc2libGV9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0idGlsZS1jb250YWluZXIgJHt0aGlzLmNsaWNrYWJsZT8iY2xpY2thYmxlIjoiIn0gJHt0aGlzLmxvYWRpbmc/ImxvYWRpbmciOiIifSAke3RoaXMuZXJyb3I/ImVycm9yIjoiIn0iCiAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVUaWxlQ2xpY2t9CiAgICAgICAgQG1vdXNlZW50ZXI9JHt0aGlzLm9uVGlsZU1vdXNlRW50ZXJ9CiAgICAgICAgQG1vdXNlbGVhdmU9JHt0aGlzLm9uVGlsZU1vdXNlTGVhdmV9CiAgICAgICAgQG1vdXNlbW92ZT0ke3RoaXMub25UaWxlTW91c2VNb3ZlfQogICAgICA+CiAgICAgICAgJHt0aGlzLmxvYWRpbmc/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtbG9hZGluZyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtbG9hZGluZy10ZXh0Ij5Mb2FkaW5nLi4uPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQoKICAgICAgICAke3RoaXMuZXJyb3I/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtZXJyb3IiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpBbGVydFRyaWFuZ2xlIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1lcnJvci10ZXh0Ij5GYWlsZWQgdG8gbG9hZDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KCiAgICAgICAgJHshdGhpcy5sb2FkaW5nJiYhdGhpcy5lcnJvcj90aGlzLnJlbmRlclRpbGVDb250ZW50KCk6IiJ9CgogICAgICAgICR7dGhpcy5yZW5kZXJCb3R0b21CYXIoKX0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckJvdHRvbUJhcigpe3JldHVybiIifWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnNldHVwSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5vYnNlcnZlciYmKHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMub2JzZXJ2ZXI9dm9pZCAwKX1zZXR1cEludGVyc2VjdGlvbk9ic2VydmVyKCl7dGhpcy5vYnNlcnZlcj1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoeT0+e2ZvcihsZXQgayBvZiB5KXtsZXQgQz10aGlzLl92aXNpYmxlO3RoaXMuX3Zpc2libGU9ay5pc0ludGVyc2VjdGluZyx0aGlzLl92aXNpYmxlJiYhQyYmdGhpcy5vbkJlY2FtZVZpc2libGUoKX19LHtyb290Om51bGwscm9vdE1hcmdpbjoiMjAwcHgiLHRocmVzaG9sZDouMDF9KSx0aGlzLm9ic2VydmVyLm9ic2VydmUodGhpcyl9b25CZWNhbWVWaXNpYmxlKCl7fW9uVGlsZU1vdXNlRW50ZXIoKXt9b25UaWxlTW91c2VMZWF2ZSgpe31vblRpbGVNb3VzZU1vdmUoeSl7fWhhbmRsZVRpbGVDbGljaygpe3RoaXMuY2xpY2thYmxlJiZ0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0aWxlLWNsaWNrIix7ZGV0YWlsOnRoaXMuZ2V0VGlsZUNsaWNrRGV0YWlsKCksYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1nZXRUaWxlQ2xpY2tEZXRhaWwoKXtyZXR1cm57fX19fSkoKX0pO3ZhciBHM2E9ZigoKT0+e3E0KCk7UmMoKX0pO3ZhciBZM2EsSzNhPWYoKCk9PntsZSgpO1kzYT1YYAogIC5wcmV2aWV3LXN0YWNrIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgcGFkZGluZzogOHB4IDhweCAyOHB4IDhweDsKICB9CgogIC5wcmV2aWV3LXN0YWNrLm5vbi1hNCB7CiAgICBwYWRkaW5nOiAxMnB4IDEycHggMjhweCAxMnB4OwogIH0KCiAgLnByZXZpZXctY2FudmFzIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGJhY2tncm91bmQ6IHdoaXRlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICBtYXgtaGVpZ2h0OiAxMDAlOwogICAgd2lkdGg6IGF1dG87CiAgICBoZWlnaHQ6IGF1dG87CiAgICBvYmplY3QtZml0OiBjb250YWluOwogICAgaW1hZ2UtcmVuZGVyaW5nOiBhdXRvOwogICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xKSIsInJnYmEoMCwgMCwgMCwgMC4zKSIpfTsKICB9CgogIC5ub24tYTQgLnByZXZpZXctY2FudmFzIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0IDMxJSA5MiUpIiwiaHNsKDIxNyAyNSUgMjQlKSIpfTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICB9CgogIC8qIEdyaWQgb3B0aW1pemF0aW9ucyAqLwogIDpob3N0KFtncmlkLW1vZGVdKSAucHJldmlldy1jYW52YXMgewogICAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0OwogICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlczsKICB9CmB9KTt2YXIgWjNhLFgzYT1mKCgpPT57bGUoKTtaM2E9cygoKT0+e2xldCBhPVsiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL2V4YW1wbGVzL2xlYXJuaW5nL2hlbGxvd29ybGQucGRmIiwiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL3dlYi9jb21wcmVzc2VkLnRyYWNlbW9ua2V5LXBsZGktMDkucGRmIl0sZT1zKHQ9PntsZXQgcj1bXTtmb3IobGV0IGk9MDtpPHQ7aSsrKXtsZXQgbz1hW2klYS5sZW5ndGhdO3IucHVzaCh3YAogICAgICAgIDxkZWVzLXRodW1ibmFpbC1wZGYKICAgICAgICAgIHBkZlVybD0iJHtvfSIKICAgICAgICAgIGNsaWNrYWJsZT0idHJ1ZSIKICAgICAgICAgIGdyaWQtbW9kZQogICAgICAgICAgQHRpbGUtY2xpY2s9JHtuPT57Y29uc29sZS5sb2coIlBERiBUaWxlIGNsaWNrZWQ6IixuLmRldGFpbCksYWxlcnQoYFBERiBjbGlja2VkOiAke24uZGV0YWlsLnBhZ2VDb3VudH0gcGFnZXNgKX19CiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtcGRmPgogICAgICBgKX1yZXR1cm4gcn0sImdlbmVyYXRlR3JpZEl0ZW1zIik7cmV0dXJuIHdgCiAgICA8c3R5bGU+CiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y1ZjVmNSIsIiMwYTBhMGEiKX07CiAgICAgIH0KCiAgICAgIC5kZW1vLXNlY3Rpb24gewogICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7CiAgICAgIH0KCiAgICAgIGgzIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjAwcHgsIDFmcikpOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQoKICAgICAgLnByZXZpZXctcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBtaW4td2lkdGg6IDEwMHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5TaW5nbGUgUERGIFRpbGU8L2gzPgogICAgICAgIDxkZWVzLXRodW1ibmFpbC1wZGYKICAgICAgICAgIHBkZlVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL3dlYi9jb21wcmVzc2VkLnRyYWNlbW9ua2V5LXBsZGktMDkucGRmIgogICAgICAgICAgY2xpY2thYmxlPSJ0cnVlIgogICAgICAgID48L2RlZXMtdGh1bWJuYWlsLXBkZj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5EaWZmZXJlbnQgU2l6ZXM8L2gzPgogICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctcm93Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctbGFiZWwiPlNtYWxsOjwvZGl2PgogICAgICAgICAgPGRlZXMtdGh1bWJuYWlsLXBkZgogICAgICAgICAgICBzaXplPSJzbWFsbCIKICAgICAgICAgICAgcGRmVXJsPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbW96aWxsYS9wZGYuanMvYmEyZWRlYWUvZXhhbXBsZXMvbGVhcm5pbmcvaGVsbG93b3JsZC5wZGYiCiAgICAgICAgICAgIGNsaWNrYWJsZT0idHJ1ZSIKICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLXBkZj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1yb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1sYWJlbCI+RGVmYXVsdDo8L2Rpdj4KICAgICAgICAgIDxkZWVzLXRodW1ibmFpbC1wZGYKICAgICAgICAgICAgcGRmVXJsPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbW96aWxsYS9wZGYuanMvYmEyZWRlYWUvZXhhbXBsZXMvbGVhcm5pbmcvaGVsbG93b3JsZC5wZGYiCiAgICAgICAgICAgIGNsaWNrYWJsZT0idHJ1ZSIKICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLXBkZj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1yb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1sYWJlbCI+TGFyZ2U6PC9kaXY+CiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtcGRmCiAgICAgICAgICAgIHNpemU9ImxhcmdlIgogICAgICAgICAgICBwZGZVcmw9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS9leGFtcGxlcy9sZWFybmluZy9oZWxsb3dvcmxkLnBkZiIKICAgICAgICAgICAgY2xpY2thYmxlPSJ0cnVlIgogICAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtcGRmPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgzPldpdGggTGFiZWw8L2gzPgogICAgICAgIDxkZWVzLXRodW1ibmFpbC1wZGYKICAgICAgICAgIHBkZlVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL3dlYi9jb21wcmVzc2VkLnRyYWNlbW9ua2V5LXBsZGktMDkucGRmIgogICAgICAgICAgY2xpY2thYmxlPSJ0cnVlIgogICAgICAgICAgbGFiZWw9IlJlc2VhcmNoIFBhcGVyLnBkZiIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1wZGY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDM+Tm9uLUNsaWNrYWJsZTwvaDM+CiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLXBkZgogICAgICAgICAgcGRmVXJsPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbW96aWxsYS9wZGYuanMvYmEyZWRlYWUvZXhhbXBsZXMvbGVhcm5pbmcvaGVsbG93b3JsZC5wZGYiCiAgICAgICAgICBjbGlja2FibGU9ImZhbHNlIgogICAgICAgID48L2RlZXMtdGh1bWJuYWlsLXBkZj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5HcmlkIC0gMjAgUERGcyB3aXRoIExhenkgTG9hZGluZzwvaDM+CiAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1ncmlkIj4KICAgICAgICAgICR7ZSgyMCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYH0sImRlbW8iKX0pO3ZhciBWNCxubyxRM2EsSjNhPWYoKCk9PntsZSgpO3E0KCk7UmMoKTtlaWUoKTtZUWUoKTtaUWUoKTtLM2EoKTtYM2EoKTtWND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sbm89ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFEzYT0oKCk9PntsZXQgYT1baWUoImRlZXMtdGh1bWJuYWlsLXBkZiIpXSxlLHQ9W10scixpPW9vLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdO3ZhciBCPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzVGh1bWJuYWlsUGRmIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IE09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpOdW1iZXJ9KV0sdT1bJCh7dHlwZTpOdW1iZXJ9KV0seD1bJCh7dHlwZTpCb29sZWFufSldLHk9WyQoe3R5cGU6Qm9vbGVhbn0pXSxOPVskKHt0eXBlOkJvb2xlYW59KV0sTz1bSygpXSxWNCh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBkZlVybCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4icGRmVXJsImluIFMsImhhcyIpLGdldDpzKFM9PlMucGRmVXJsLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MucGRmVXJsPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbixsKSxWNCh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRQcmV2aWV3UGFnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iY3VycmVudFByZXZpZXdQYWdlImluIFMsImhhcyIpLGdldDpzKFM9PlMuY3VycmVudFByZXZpZXdQYWdlLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuY3VycmVudFByZXZpZXdQYWdlPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYyxwKSxWNCh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBhZ2VDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4icGFnZUNvdW50ImluIFMsImhhcyIpLGdldDpzKFM9PlMucGFnZUNvdW50LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MucGFnZUNvdW50PVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbSx2KSxWNCh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlbmRlcmVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJyZW5kZXJlZCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnJlbmRlcmVkLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MucmVuZGVyZWQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLFY0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNIb3ZlcmluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iaXNIb3ZlcmluZyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmlzSG92ZXJpbmcsImdldCIpLHNldDpzKChTLFApPT57Uy5pc0hvdmVyaW5nPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sayxDKSxWNCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzQTRGb3JtYXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImlzQTRGb3JtYXQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5pc0E0Rm9ybWF0LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuaXNBNEZvcm1hdD1QfSwic2V0Iil9LG1ldGFkYXRhOk19LF8seiksVjQodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWxlU2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iZmlsZVNpemUiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5maWxlU2l6ZSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmZpbGVTaXplPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sVCxFKSxWNChudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpNfSxudWxsLHQpLEI9cj1lLnZhbHVlLE0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6TX0pfXN0YXRpYyBkZW1vPVozYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1lZGlhIiwiUERGIl07c3RhdGljIHN0eWxlcz1bLi4uUmksWTNhXTsjZT1ubyh0aGlzLG4sIiIpO2dldCBwZGZVcmwoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcGRmVXJsKE0pe3RoaXMuI2U9TX0jdD0obm8odGhpcyxsKSxubyh0aGlzLGMsMSkpO2dldCBjdXJyZW50UHJldmlld1BhZ2UoKXtyZXR1cm4gdGhpcy4jdH1zZXQgY3VycmVudFByZXZpZXdQYWdlKE0pe3RoaXMuI3Q9TX0jYT0obm8odGhpcyxwKSxubyh0aGlzLG0sMCkpO2dldCBwYWdlQ291bnQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgcGFnZUNvdW50KE0pe3RoaXMuI2E9TX0jcj0obm8odGhpcyx2KSxubyh0aGlzLGIsITEpKTtnZXQgcmVuZGVyZWQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgcmVuZGVyZWQoTSl7dGhpcy4jcj1NfSNzPShubyh0aGlzLGcpLG5vKHRoaXMsaywhMSkpO2dldCBpc0hvdmVyaW5nKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGlzSG92ZXJpbmcoTSl7dGhpcy4jcz1NfSNpPShubyh0aGlzLEMpLG5vKHRoaXMsXywhMCkpO2dldCBpc0E0Rm9ybWF0KCl7cmV0dXJuIHRoaXMuI2l9c2V0IGlzQTRGb3JtYXQoTSl7dGhpcy4jaT1NfSNvPShubyh0aGlzLHopLG5vKHRoaXMsVCwwKSk7Z2V0IGZpbGVTaXplKCl7cmV0dXJuIHRoaXMuI299c2V0IGZpbGVTaXplKE0pe3RoaXMuI289TX1yZW5kZXJQYWdlc1Rhc2s9KG5vKHRoaXMsRSksbnVsbCk7cmVuZGVyUGFnZXNRdWV1ZWQ9ITE7cGRmRG9jdW1lbnQ7Y2FudmFzZXM9W107cmVzaXplT2JzZXJ2ZXI7c3RhY2tFbGVtZW50PW51bGw7bG9hZGVkUGRmVXJsPW51bGw7cmVuZGVyVGlsZUNvbnRlbnQoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1zdGFjayAke3RoaXMuaXNBNEZvcm1hdD8iIjoibm9uLWE0In0iPgogICAgICAgIDxjYW52YXMKICAgICAgICAgIGNsYXNzPSJwcmV2aWV3LWNhbnZhcyIKICAgICAgICAgIGRhdGEtcGFnZT0iJHt0aGlzLmN1cnJlbnRQcmV2aWV3UGFnZX0iCiAgICAgICAgPjwvY2FudmFzPgogICAgICA8L2Rpdj4KCiAgICAgICR7dGhpcy5jbGlja2FibGU/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLW92ZXJsYXkiPgogICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6RXllIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDxzcGFuPlZpZXcgUERGPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgYH1yZW5kZXJCb3R0b21CYXIoKXtyZXR1cm4hdGhpcy5wYWdlQ291bnQmJiF0aGlzLmxhYmVsPyIiOndgCiAgICAgIDxkaXYgY2xhc3M9InRpbGUtaW5mby1iYXIiPgogICAgICAgICR7dGhpcy5sYWJlbD93YDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIiB0aXRsZT0iJHt0aGlzLmxhYmVsfSI+JHt0aGlzLmxhYmVsfTwvc3Bhbj5gOiIifQogICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXNwYWNlciI+PC9zcGFuPgogICAgICAgICR7dGhpcy5wYWdlQ291bnQ+MSYmdGhpcy5pc0hvdmVyaW5nP3dgPHNwYW4gY2xhc3M9ImluZm8tZGV0YWlsIj4ke3RoaXMuY3VycmVudFByZXZpZXdQYWdlfS8ke3RoaXMucGFnZUNvdW50fTwvc3Bhbj5gOnRoaXMucGFnZUNvdW50PjA/d2A8c3BhbiBjbGFzcz0iaW5mby1kZXRhaWwiPiR7dGhpcy5wYWdlQ291bnR9IHBnPC9zcGFuPmA6IiJ9CiAgICAgICAgJHt0aGlzLmZpbGVTaXplPjA/d2A8c3BhbiBjbGFzcz0iaW5mby1kZXRhaWwiPiR7S1FlKHRoaXMuZmlsZVNpemUpfTwvc3Bhbj5gOiIifQogICAgICA8L2Rpdj4KICAgIGB9Z2V0VGlsZUNsaWNrRGV0YWlsKCl7cmV0dXJue3BkZlVybDp0aGlzLnBkZlVybCxwYWdlQ291bnQ6dGhpcy5wYWdlQ291bnR9fW9uQmVjYW1lVmlzaWJsZSgpeyF0aGlzLnJlbmRlcmVkJiZ0aGlzLnBkZlVybCYmdGhpcy5sb2FkQW5kUmVuZGVyUHJldmlldygpfW9uVGlsZU1vdXNlRW50ZXIoKXt0aGlzLmlzSG92ZXJpbmc9ITB9b25UaWxlTW91c2VMZWF2ZSgpe3RoaXMuaXNIb3ZlcmluZz0hMSx0aGlzLmN1cnJlbnRQcmV2aWV3UGFnZSE9PTEmJih0aGlzLmN1cnJlbnRQcmV2aWV3UGFnZT0xLHRoaXMuc2NoZWR1bGVSZW5kZXJQYWdlcygpKX1vblRpbGVNb3VzZU1vdmUoTSl7aWYoIXRoaXMuaXNIb3ZlcmluZ3x8dGhpcy5wYWdlQ291bnQ8PTEpcmV0dXJuO2xldCBTPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksUD1NLmNsaWVudFgtUy5sZWZ0LEE9Uy53aWR0aCxGPU1hdGgubWF4KDAsTWF0aC5taW4oMSxQL0EpKSxXPU1hdGguY2VpbChGKnRoaXMucGFnZUNvdW50KXx8MTtXIT09dGhpcy5jdXJyZW50UHJldmlld1BhZ2UmJih0aGlzLmN1cnJlbnRQcmV2aWV3UGFnZT1XLHRoaXMuc2NoZWR1bGVSZW5kZXJQYWdlcygpKX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSx0aGlzLmNhY2hlRWxlbWVudHMoKSx0aGlzLnNldHVwUmVzaXplT2JzZXJ2ZXIoKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5jbGVhbnVwKCksdGhpcy5yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI9dm9pZCAwfWFzeW5jIGxvYWRBbmRSZW5kZXJQcmV2aWV3KCl7aWYoISh0aGlzLnJlbmRlcmVkfHx0aGlzLmxvYWRpbmcpKXt0aGlzLmxvYWRpbmc9ITAsdGhpcy5lcnJvcj0hMSxzNy5tYXJrKGBwcmV2aWV3LWxvYWQtJHt0aGlzLnBkZlVybH1gKTt0cnl7dGhpcy5wZGZEb2N1bWVudD1hd2FpdCBkbC5sb2FkRG9jdW1lbnQodGhpcy5wZGZVcmwpLHRoaXMucGFnZUNvdW50PXRoaXMucGRmRG9jdW1lbnQubnVtUGFnZXMsdGhpcy5jdXJyZW50UHJldmlld1BhZ2U9MTt0cnl7bGV0IFM9YXdhaXQgdGhpcy5wZGZEb2N1bWVudC5nZXREb3dubG9hZEluZm8oKTt0aGlzLmZpbGVTaXplPVMubGVuZ3RofWNhdGNoe310aGlzLmxvYWRlZFBkZlVybD10aGlzLnBkZlVybCx0aGlzLmxvYWRpbmc9ITEsYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSx0aGlzLmNhY2hlRWxlbWVudHMoKSxhd2FpdCB0aGlzLnNjaGVkdWxlUmVuZGVyUGFnZXMoKSx0aGlzLnJlbmRlcmVkPSEwO2xldCBNPXM3Lm1lYXN1cmUoYHByZXZpZXctcmVuZGVyLSR7dGhpcy5wZGZVcmx9YCxgcHJldmlldy1sb2FkLSR7dGhpcy5wZGZVcmx9YCk7Y29uc29sZS5sb2coYFBERiB0aWxlIHJlbmRlcmVkIGluICR7TX1tc2ApfWNhdGNoKE0pe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBsb2FkIFBERiB0aWxlOiIsTSksdGhpcy5lcnJvcj0hMCx0aGlzLmxvYWRpbmc9ITF9fX1zY2hlZHVsZVJlbmRlclBhZ2VzKCl7cmV0dXJuIHRoaXMucGRmRG9jdW1lbnQ/dGhpcy5yZW5kZXJQYWdlc1Rhc2s/KHRoaXMucmVuZGVyUGFnZXNRdWV1ZWQ9ITAsdGhpcy5yZW5kZXJQYWdlc1Rhc2spOih0aGlzLnJlbmRlclBhZ2VzVGFzaz0oYXN5bmMoKT0+e3RyeXthd2FpdCB0aGlzLnBlcmZvcm1SZW5kZXJQYWdlcygpfWNhdGNoKE0pe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byByZW5kZXIgUERGIHRpbGUgcGFnZXM6IixNKX19KSgpLmZpbmFsbHkoKCk9Pnt0aGlzLnJlbmRlclBhZ2VzVGFzaz1udWxsLHRoaXMucmVuZGVyUGFnZXNRdWV1ZWQmJih0aGlzLnJlbmRlclBhZ2VzUXVldWVkPSExLHRoaXMuc2NoZWR1bGVSZW5kZXJQYWdlcygpKX0pLHRoaXMucmVuZGVyUGFnZXNUYXNrKTpQcm9taXNlLnJlc29sdmUoKX1hc3luYyBwZXJmb3JtUmVuZGVyUGFnZXMoKXtpZighdGhpcy5wZGZEb2N1bWVudClyZXR1cm47YXdhaXQgbmV3IFByb21pc2UoQT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKEEpKTtsZXQgTT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5wcmV2aWV3LWNhbnZhcyIpO2lmKCFNKXJldHVybjt0aGlzLmNsZWFyQ2FudmFzZXMoKSx0aGlzLmNhY2hlRWxlbWVudHMoKTtsZXR7YXZhaWxhYmxlV2lkdGg6UyxhdmFpbGFibGVIZWlnaHQ6UH09dGhpcy5nZXRBdmFpbGFibGVTaXplKCk7dHJ5e2xldCBBPXRoaXMuY3VycmVudFByZXZpZXdQYWdlLEY9YXdhaXQgdGhpcy5wZGZEb2N1bWVudC5nZXRQYWdlKEEpLFc9Ri5nZXRWaWV3cG9ydCh7c2NhbGU6MX0pLGo9Vy5oZWlnaHQvVy53aWR0aCxHPTEuNDE0LGhlPS43MDcsUj0xLjI5NCxVPS43NzMsbWU9LjA1LEk9TWF0aC5hYnMoai1HKTxHKm1lLHE9TWF0aC5hYnMoai1oZSk8aGUqbWUsY2U9TWF0aC5hYnMoai1SKTxSKm1lLHVlPU1hdGguYWJzKGotVSk8VSptZTt0aGlzLmlzQTRGb3JtYXQ9SXx8cXx8Y2V8fHVlO2xldCBZPXRoaXMuaXNBNEZvcm1hdD9TOlMtMjQsUT10aGlzLmlzQTRGb3JtYXQ/UDpQLTI0LEo9WT4wP1kvVy53aWR0aDowLFo9UT4wP1EvVy5oZWlnaHQ6MCxnZT1NYXRoLm1pbihKfHwuNSxafHxKfHwuNSksYWU9TWF0aC5taW4oZ2UqMiwzKTtpZighTnVtYmVyLmlzRmluaXRlKGFlKXx8YWU8PTApe0YuY2xlYW51cD8uKCk7cmV0dXJufWxldCByZT1GLmdldFZpZXdwb3J0KHtzY2FsZTphZX0pLHllPXI3LmFjcXVpcmUocmUud2lkdGgscmUuaGVpZ2h0KTt0aGlzLmNhbnZhc2VzLnB1c2goeWUpO2xldCBWPXtjYW52YXNDb250ZXh0OnllLmN0eCx2aWV3cG9ydDpyZX07YXdhaXQgRi5yZW5kZXIoVikucHJvbWlzZSxNLndpZHRoPXJlLndpZHRoLE0uaGVpZ2h0PXJlLmhlaWdodDtsZXQgSD1ZLG9lPXJlLmhlaWdodC9yZS53aWR0aCpZO2lmKG9lPlEpe2xldCB0ZT1RLHplPXJlLndpZHRoL3JlLmhlaWdodCpRO00uc3R5bGUud2lkdGg9YCR7emV9cHhgLE0uc3R5bGUuaGVpZ2h0PWAke3RlfXB4YH1lbHNlIE0uc3R5bGUud2lkdGg9YCR7SH1weGAsTS5zdHlsZS5oZWlnaHQ9YCR7b2V9cHhgO2xldCBzZT1NLmdldENvbnRleHQoIjJkIik7c2UmJihzZS5pbWFnZVNtb290aGluZ0VuYWJsZWQ9ITAsc2UuaW1hZ2VTbW9vdGhpbmdRdWFsaXR5PSJoaWdoIixzZS5kcmF3SW1hZ2UoeWUuY2FudmFzLDAsMCkpLEYuY2xlYW51cCgpfWNhdGNoKEEpe2NvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byByZW5kZXIgcGFnZSAke3RoaXMuY3VycmVudFByZXZpZXdQYWdlfTpgLEEpfX1jbGVhckNhbnZhc2VzKCl7Zm9yKGxldCBNIG9mIHRoaXMuY2FudmFzZXMpcjcucmVsZWFzZShNKTt0aGlzLmNhbnZhc2VzPVtdfWNsZWFudXAoKXt0aGlzLmNsZWFyQ2FudmFzZXMoKSx0aGlzLnBkZkRvY3VtZW50JiYoZGwucmVsZWFzZURvY3VtZW50KHRoaXMubG9hZGVkUGRmVXJsPz90aGlzLnBkZlVybCksdGhpcy5wZGZEb2N1bWVudD1udWxsKSx0aGlzLnJlbmRlclBhZ2VzUXVldWVkPSExLHRoaXMucGFnZUNvdW50PTAsdGhpcy5jdXJyZW50UHJldmlld1BhZ2U9MSx0aGlzLmlzSG92ZXJpbmc9ITEsdGhpcy5pc0E0Rm9ybWF0PSEwLHRoaXMuc3RhY2tFbGVtZW50PW51bGwsdGhpcy5sb2FkZWRQZGZVcmw9bnVsbCx0aGlzLnJlbmRlcmVkPSExLHRoaXMubG9hZGluZz0hMSx0aGlzLmVycm9yPSExfWFzeW5jIHVwZGF0ZWQoTSl7aWYoc3VwZXIudXBkYXRlZChNKSxNLmhhcygicGRmVXJsIikmJnRoaXMucGRmVXJsKXtsZXQgUz1NLmdldCgicGRmVXJsIik7UyYmZGwucmVsZWFzZURvY3VtZW50KFMpLHRoaXMuY2xlYW51cCgpLHRoaXMucmVuZGVyZWQ9ITEsdGhpcy5jdXJyZW50UHJldmlld1BhZ2U9MTtsZXQgUD10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1AudG9wPHdpbmRvdy5pbm5lckhlaWdodCYmUC5ib3R0b20+MCYmdGhpcy5sb2FkQW5kUmVuZGVyUHJldmlldygpfU0uaGFzKCJjdXJyZW50UHJldmlld1BhZ2UiKSYmdGhpcy5yZW5kZXJlZCYmYXdhaXQgdGhpcy5zY2hlZHVsZVJlbmRlclBhZ2VzKCl9Z2V0Q29udGV4dE1lbnVJdGVtcygpe2xldCBNPVtdO3JldHVybiB0aGlzLmNsaWNrYWJsZSYmKE0ucHVzaCh7bmFtZToiVmlldyBQREYiLGljb25OYW1lOiJsdWNpZGU6RXllIixhY3Rpb246cyhhc3luYygpPT57dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGlsZS1jbGljayIse2RldGFpbDp0aGlzLmdldFRpbGVDbGlja0RldGFpbCgpLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9LCJhY3Rpb24iKX0pLE0ucHVzaCh7ZGl2aWRlcjohMH0pKSxNLnB1c2goe25hbWU6Ik9wZW4gUERGIGluIE5ldyBUYWIiLGljb25OYW1lOiJsdWNpZGU6RXh0ZXJuYWxMaW5rIixhY3Rpb246cyhhc3luYygpPT57d2luZG93Lm9wZW4odGhpcy5wZGZVcmwsIl9ibGFuayIpfSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiQ29weSBQREYgVVJMIixpY29uTmFtZToibHVjaWRlOkNvcHkiLGFjdGlvbjpzKGFzeW5jKCk9Pnthd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0aGlzLnBkZlVybCl9LCJhY3Rpb24iKX0se25hbWU6IkRvd25sb2FkIFBERiIsaWNvbk5hbWU6Imx1Y2lkZTpEb3dubG9hZCIsYWN0aW9uOnMoYXN5bmMoKT0+e2xldCBTPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtTLmhyZWY9dGhpcy5wZGZVcmwsUy5kb3dubG9hZD10aGlzLnBkZlVybC5zcGxpdCgiLyIpLnBvcCgpfHwiZG9jdW1lbnQucGRmIixTLmNsaWNrKCl9LCJhY3Rpb24iKX0pLHRoaXMucGFnZUNvdW50PjAmJk0ucHVzaCh7ZGl2aWRlcjohMH0se25hbWU6YCR7dGhpcy5wYWdlQ291bnR9IHBhZ2Uke3RoaXMucGFnZUNvdW50PjE/InMiOiIifWAsaWNvbk5hbWU6Imx1Y2lkZTpGaWxlVGV4dCIsZGlzYWJsZWQ6ITAsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpfSksTX1jYWNoZUVsZW1lbnRzKCl7dGhpcy5zdGFja0VsZW1lbnR8fCh0aGlzLnN0YWNrRWxlbWVudD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5wcmV2aWV3LXN0YWNrIikpfXNldHVwUmVzaXplT2JzZXJ2ZXIoKXt0aGlzLnJlc2l6ZU9ic2VydmVyfHwodGhpcy5yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKCk9Pnt0aGlzLnJlbmRlcmVkJiZ0aGlzLnBkZkRvY3VtZW50JiYhdGhpcy5sb2FkaW5nJiZ0aGlzLnNjaGVkdWxlUmVuZGVyUGFnZXMoKX0pLHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzKSl9Z2V0QXZhaWxhYmxlU2l6ZSgpe2lmKHRoaXMuc3RhY2tFbGVtZW50fHwodGhpcy5zdGFja0VsZW1lbnQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIucHJldmlldy1zdGFjayIpKSwhdGhpcy5zdGFja0VsZW1lbnQpcmV0dXJue2F2YWlsYWJsZVdpZHRoOjIwMCxhdmFpbGFibGVIZWlnaHQ6MjYwfTtsZXQgTT10aGlzLnN0YWNrRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxTPU1hdGgubWF4KE0ud2lkdGgsMCl8fDIwMCxQPU1hdGgubWF4KE0uaGVpZ2h0LDApfHwyNjA7cmV0dXJue2F2YWlsYWJsZVdpZHRoOlMsYXZhaWxhYmxlSGVpZ2h0OlB9fXN0YXRpY3tubyhyLHQpfX07cmV0dXJuIEI9cn0pKCl9KTt2YXIgZWRhPWYoKCk9PntKM2EoKX0pO3ZhciB0ZGEsYWRhPWYoKCk9PntsZSgpO3RkYT1zKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7CiAgICB9CiAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICAgIH0KICAgIGgzIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgfQogICAgLnRpbGUtcm93IHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZ2FwOiAyNHB4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgfQogIDwvc3R5bGU+CgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5JbWFnZSBUaWxlczwvaDM+CiAgICAgIDxkaXYgY2xhc3M9InRpbGUtcm93Ij4KICAgICAgICA8ZGVlcy10aHVtYm5haWwtaW1hZ2UKICAgICAgICAgIHNyYz0iaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzgwMC82MDAiCiAgICAgICAgICBhbHQ9IkxhbmRzY2FwZSBwaG90byIKICAgICAgICAgIGxhYmVsPSJsYW5kc2NhcGUuanBnIgogICAgICAgICAgQHRpbGUtY2xpY2s9JHthPT5jb25zb2xlLmxvZygiSW1hZ2UgY2xpY2tlZDoiLGEuZGV0YWlsKX0KICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1pbWFnZT4KCiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWltYWdlCiAgICAgICAgICBzcmM9Imh0dHBzOi8vcGljc3VtLnBob3Rvcy80MDAvNDAwIgogICAgICAgICAgYWx0PSJTcXVhcmUgcGhvdG8iCiAgICAgICAgICBsYWJlbD0ic3F1YXJlLnBuZyIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1pbWFnZT4KCiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWltYWdlCiAgICAgICAgICBzcmM9Imh0dHBzOi8vcGljc3VtLnBob3Rvcy8zMDAvOTAwIgogICAgICAgICAgYWx0PSJQb3J0cmFpdCBwaG90byIKICAgICAgICAgIGxhYmVsPSJwb3J0cmFpdC53ZWJwIgogICAgICAgID48L2RlZXMtdGh1bWJuYWlsLWltYWdlPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5TaXplIFZhcmlhbnRzPC9oMz4KICAgICAgPGRpdiBjbGFzcz0idGlsZS1yb3ciPgogICAgICAgIDxkZWVzLXRodW1ibmFpbC1pbWFnZQogICAgICAgICAgc2l6ZT0ic21hbGwiCiAgICAgICAgICBzcmM9Imh0dHBzOi8vcGljc3VtLnBob3Rvcy8yMDAvMjAwIgogICAgICAgICAgYWx0PSJTbWFsbCIKICAgICAgICAgIGxhYmVsPSJzbWFsbC5qcGciCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtaW1hZ2U+CgogICAgICAgIDxkZWVzLXRodW1ibmFpbC1pbWFnZQogICAgICAgICAgc3JjPSJodHRwczovL3BpY3N1bS5waG90b3MvNjAwLzQwMCIKICAgICAgICAgIGFsdD0iRGVmYXVsdCIKICAgICAgICAgIGxhYmVsPSJkZWZhdWx0LmpwZyIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1pbWFnZT4KCiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWltYWdlCiAgICAgICAgICBzaXplPSJsYXJnZSIKICAgICAgICAgIHNyYz0iaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzEyMDAvODAwIgogICAgICAgICAgYWx0PSJMYXJnZSIKICAgICAgICAgIGxhYmVsPSJsYXJnZS5qcGciCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtaW1hZ2U+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkVycm9yIFN0YXRlIChicm9rZW4gVVJMKTwvaDM+CiAgICAgIDxkZWVzLXRodW1ibmFpbC1pbWFnZQogICAgICAgIHNyYz0iaHR0cHM6Ly9pbnZhbGlkLXVybC10aGF0LWRvZXMtbm90LWV4aXN0LmV4YW1wbGUvaW1hZ2UucG5nIgogICAgICAgIGFsdD0iQnJva2VuIgogICAgICAgIGxhYmVsPSJicm9rZW4ucG5nIgogICAgICA+PC9kZWVzLXRodW1ibmFpbC1pbWFnZT4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vIil9KTt2YXIgaTcsRzEscmRhLHNkYT1mKCgpPT57bGUoKTtxNCgpO1JjKCk7YWRhKCk7aTc9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEcxPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxyZGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXRodW1ibmFpbC1pbWFnZSIpXSxlLHQ9W10scixpPW9vLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdO3ZhciBOPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzVGh1bWJuYWlsSW1hZ2UiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVtLKCldLHg9W0soKV0seT1bSygpXSxpNyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNyYyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4ic3JjImluIHosImhhcyIpLGdldDpzKHo9Pnouc3JjLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc3JjPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbixsKSxpNyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFsdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iYWx0ImluIHosImhhcyIpLGdldDpzKHo9PnouYWx0LCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouYWx0PU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYyxwKSxpNyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImltYWdlTG9hZGVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJpbWFnZUxvYWRlZCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmltYWdlTG9hZGVkLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouaW1hZ2VMb2FkZWQ9T30sInNldCIpfSxtZXRhZGF0YTpffSxtLHYpLGk3KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW1hZ2VXaWR0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iaW1hZ2VXaWR0aCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmltYWdlV2lkdGgsImdldCIpLHNldDpzKCh6LE8pPT57ei5pbWFnZVdpZHRoPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYixnKSxpNyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImltYWdlSGVpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJpbWFnZUhlaWdodCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmltYWdlSGVpZ2h0LCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouaW1hZ2VIZWlnaHQ9T30sInNldCIpfSxtZXRhZGF0YTpffSxrLEMpLGk3KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsdCksTj1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89dGRhO3N0YXRpYyBkZW1vR3JvdXBzPVsiTWVkaWEiXTtzdGF0aWMgc3R5bGVzPVsuLi5SaSxYYAogICAgICAuaW1hZ2Utd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmVwZWF0aW5nLWNvbmljLWdyYWRpZW50KCNlOGU4ZTggMCUgMjUlLCB3aGl0ZSAwJSA1MCUpIDUwJSAvIDE2cHggMTZweCIsInJlcGVhdGluZy1jb25pYy1ncmFkaWVudChoc2woMjE1IDIwJSAxOCUpIDAlIDI1JSwgaHNsKDIxNSAyMCUgMTQlKSAwJSA1MCUpIDUwJSAvIDE2cHggMTZweCIpfTsKICAgICAgfQoKICAgICAgLmltYWdlLXdyYXBwZXIgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5pbWFnZS13cmFwcGVyIGltZy5sb2FkZWQgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5pbWFnZS13cmFwcGVyIGltZy5sb2FkaW5nIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgYF07I2U9RzEodGhpcyxuLCIiKTtnZXQgc3JjKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNyYyhfKXt0aGlzLiNlPV99I3Q9KEcxKHRoaXMsbCksRzEodGhpcyxjLCIiKSk7Z2V0IGFsdCgpe3JldHVybiB0aGlzLiN0fXNldCBhbHQoXyl7dGhpcy4jdD1ffSNhPShHMSh0aGlzLHApLEcxKHRoaXMsbSwhMSkpO2dldCBpbWFnZUxvYWRlZCgpe3JldHVybiB0aGlzLiNhfXNldCBpbWFnZUxvYWRlZChfKXt0aGlzLiNhPV99I3I9KEcxKHRoaXMsdiksRzEodGhpcyxiLDApKTtnZXQgaW1hZ2VXaWR0aCgpe3JldHVybiB0aGlzLiNyfXNldCBpbWFnZVdpZHRoKF8pe3RoaXMuI3I9X30jcz0oRzEodGhpcyxnKSxHMSh0aGlzLGssMCkpO2dldCBpbWFnZUhlaWdodCgpe3JldHVybiB0aGlzLiNzfXNldCBpbWFnZUhlaWdodChfKXt0aGlzLiNzPV99aGFzU3RhcnRlZExvYWRpbmc9KEcxKHRoaXMsQyksITEpO3JlbmRlclRpbGVDb250ZW50KCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImltYWdlLXdyYXBwZXIiPgogICAgICAgICR7dGhpcy5oYXNTdGFydGVkTG9hZGluZz93YAogICAgICAgICAgPGltZwogICAgICAgICAgICBjbGFzcz0iJHt0aGlzLmltYWdlTG9hZGVkPyJsb2FkZWQiOiJsb2FkaW5nIn0iCiAgICAgICAgICAgIHNyYz0iJHt0aGlzLnNyY30iCiAgICAgICAgICAgIGFsdD0iJHt0aGlzLmFsdH0iCiAgICAgICAgICAgIEBsb2FkPSR7dGhpcy5oYW5kbGVJbWFnZUxvYWR9CiAgICAgICAgICAgIEBlcnJvcj0ke3RoaXMuaGFuZGxlSW1hZ2VFcnJvcn0KICAgICAgICAgIC8+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CgogICAgICAke3RoaXMuY2xpY2thYmxlP3dgCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1vdmVybGF5Ij4KICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkV5ZSI+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj5WaWV3IEltYWdlPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgYH1yZW5kZXJCb3R0b21CYXIoKXtyZXR1cm4hdGhpcy5sYWJlbCYmISh0aGlzLmltYWdlV2lkdGg+MCk/IiI6d2AKICAgICAgPGRpdiBjbGFzcz0idGlsZS1pbmZvLWJhciI+CiAgICAgICAgJHt0aGlzLmxhYmVsP3dgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiIHRpdGxlPSIke3RoaXMubGFiZWx9Ij4ke3RoaXMubGFiZWx9PC9zcGFuPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tc3BhY2VyIj48L3NwYW4+CiAgICAgICAgJHt0aGlzLmltYWdlV2lkdGg+MCYmdGhpcy5pbWFnZUhlaWdodD4wP3dgPHNwYW4gY2xhc3M9ImluZm8tZGV0YWlsIj4ke3RoaXMuaW1hZ2VXaWR0aH0gw5cgJHt0aGlzLmltYWdlSGVpZ2h0fTwvc3Bhbj5gOiIifQogICAgICA8L2Rpdj4KICAgIGB9Z2V0VGlsZUNsaWNrRGV0YWlsKCl7cmV0dXJue3NyYzp0aGlzLnNyYyxhbHQ6dGhpcy5hbHQsd2lkdGg6dGhpcy5pbWFnZVdpZHRoLGhlaWdodDp0aGlzLmltYWdlSGVpZ2h0fX1vbkJlY2FtZVZpc2libGUoKXshdGhpcy5oYXNTdGFydGVkTG9hZGluZyYmdGhpcy5zcmMmJih0aGlzLmhhc1N0YXJ0ZWRMb2FkaW5nPSEwLHRoaXMubG9hZGluZz0hMCx0aGlzLnJlcXVlc3RVcGRhdGUoKSl9aGFuZGxlSW1hZ2VMb2FkKF8pe2xldCB6PV8udGFyZ2V0O3RoaXMuaW1hZ2VXaWR0aD16Lm5hdHVyYWxXaWR0aCx0aGlzLmltYWdlSGVpZ2h0PXoubmF0dXJhbEhlaWdodCx0aGlzLmltYWdlTG9hZGVkPSEwLHRoaXMubG9hZGluZz0hMX1oYW5kbGVJbWFnZUVycm9yKCl7dGhpcy5lcnJvcj0hMCx0aGlzLmxvYWRpbmc9ITF9YXN5bmMgdXBkYXRlZChfKXtzdXBlci51cGRhdGVkKF8pLF8uaGFzKCJzcmMiKSYmdGhpcy5zcmMmJnRoaXMuaXNWaXNpYmxlJiYodGhpcy5oYXNTdGFydGVkTG9hZGluZz0hMCx0aGlzLmltYWdlTG9hZGVkPSExLHRoaXMubG9hZGluZz0hMCl9c3RhdGlje0cxKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBpZGE9ZigoKT0+e3NkYSgpfSk7dmFyIG9kYSxuZGE9ZigoKT0+e2xlKCk7b2RhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgcGFkZGluZzogNDBweDsKICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTsKICAgIH0KICAgIC5kZW1vLXNlY3Rpb24gewogICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OwogICAgfQogICAgaDMgewogICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICB9CiAgICAudGlsZS1yb3cgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBnYXA6IDI0cHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICB9CiAgPC9zdHlsZT4KCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkF1ZGlvIFRpbGVzPC9oMz4KICAgICAgPGRpdiBjbGFzcz0idGlsZS1yb3ciPgogICAgICAgIDxkZWVzLXRodW1ibmFpbC1hdWRpbwogICAgICAgICAgc3JjPSJodHRwczovL3d3dy5zb3VuZGhlbGl4LmNvbS9leGFtcGxlcy9tcDMvU291bmRIZWxpeC1Tb25nLTEubXAzIgogICAgICAgICAgdGl0bGU9IlNvdW5kSGVsaXggU29uZyAxIgogICAgICAgICAgYXJ0aXN0PSJULiBTY2h1ZXJnZXIiCiAgICAgICAgICBsYWJlbD0ic291bmRoZWxpeC0xLm1wMyIKICAgICAgICAgIEB0aWxlLWNsaWNrPSR7YT0+Y29uc29sZS5sb2coIkF1ZGlvIGNsaWNrZWQ6IixhLmRldGFpbCl9CiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtYXVkaW8+CgogICAgICAgIDxkZWVzLXRodW1ibmFpbC1hdWRpbwogICAgICAgICAgc3JjPSJodHRwczovL3d3dy5zb3VuZGhlbGl4LmNvbS9leGFtcGxlcy9tcDMvU291bmRIZWxpeC1Tb25nLTIubXAzIgogICAgICAgICAgdGl0bGU9IlNvdW5kSGVsaXggU29uZyAyIgogICAgICAgICAgYXJ0aXN0PSJULiBTY2h1ZXJnZXIiCiAgICAgICAgICBsYWJlbD0ic291bmRoZWxpeC0yLm1wMyIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1hdWRpbz4KCiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWF1ZGlvCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LnNvdW5kaGVsaXguY29tL2V4YW1wbGVzL21wMy9Tb3VuZEhlbGl4LVNvbmctMy5tcDMiCiAgICAgICAgICB0aXRsZT0iU291bmRIZWxpeCBTb25nIDMiCiAgICAgICAgICBsYWJlbD0ic291bmRoZWxpeC0zLm1wMyIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1hdWRpbz4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+U2l6ZSBWYXJpYW50czwvaDM+CiAgICAgIDxkaXYgY2xhc3M9InRpbGUtcm93Ij4KICAgICAgICA8ZGVlcy10aHVtYm5haWwtYXVkaW8KICAgICAgICAgIHNpemU9InNtYWxsIgogICAgICAgICAgc3JjPSJodHRwczovL3d3dy5zb3VuZGhlbGl4LmNvbS9leGFtcGxlcy9tcDMvU291bmRIZWxpeC1Tb25nLTEubXAzIgogICAgICAgICAgdGl0bGU9IlNtYWxsIgogICAgICAgICAgbGFiZWw9InNtYWxsLm1wMyIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1hdWRpbz4KCiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWF1ZGlvCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LnNvdW5kaGVsaXguY29tL2V4YW1wbGVzL21wMy9Tb3VuZEhlbGl4LVNvbmctMS5tcDMiCiAgICAgICAgICB0aXRsZT0iRGVmYXVsdCIKICAgICAgICAgIGxhYmVsPSJkZWZhdWx0Lm1wMyIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1hdWRpbz4KCiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWF1ZGlvCiAgICAgICAgICBzaXplPSJsYXJnZSIKICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuc291bmRoZWxpeC5jb20vZXhhbXBsZXMvbXAzL1NvdW5kSGVsaXgtU29uZy0xLm1wMyIKICAgICAgICAgIHRpdGxlPSJMYXJnZSIKICAgICAgICAgIGxhYmVsPSJsYXJnZS5tcDMiCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtYXVkaW8+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW8iKX0pO3ZhciBqNCxsbyxsZGEsY2RhPWYoKCk9PntsZSgpO3E0KCk7UmMoKTtuZGEoKTtqND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sbG89ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGxkYT0oKCk9PntsZXQgYT1baWUoImRlZXMtdGh1bWJuYWlsLWF1ZGlvIildLGUsdD1bXSxyLGk9b28sbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W107dmFyIEI9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNUaHVtYm5haWxBdWRpbyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBNPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9W0soKV0seT1bSygpXSxOPVtLKCldLE89W0soKV0sajQodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzcmMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InNyYyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnNyYywiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnNyYz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG4sbCksajQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aXRsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idGl0bGUiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy50aXRsZSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnRpdGxlPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYyxwKSxqNCh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFydGlzdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iYXJ0aXN0ImluIFMsImhhcyIpLGdldDpzKFM9PlMuYXJ0aXN0LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuYXJ0aXN0PVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbSx2KSxqNCh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImR1cmF0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJkdXJhdGlvbiJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmR1cmF0aW9uLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuZHVyYXRpb249UH0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLGo0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToid2F2ZWZvcm1EYXRhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJ3YXZlZm9ybURhdGEiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy53YXZlZm9ybURhdGEsImdldCIpLHNldDpzKChTLFApPT57Uy53YXZlZm9ybURhdGE9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxrLEMpLGo0KHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToid2F2ZWZvcm1SZWFkeSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4id2F2ZWZvcm1SZWFkeSJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLndhdmVmb3JtUmVhZHksImdldCIpLHNldDpzKChTLFApPT57Uy53YXZlZm9ybVJlYWR5PVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sXyx6KSxqNCh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzUHJldmlld1BsYXlpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImlzUHJldmlld1BsYXlpbmciaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5pc1ByZXZpZXdQbGF5aW5nLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuaXNQcmV2aWV3UGxheWluZz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LFQsRSksajQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCx0KSxCPXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1zdGF0aWMgZGVtbz1vZGE7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSJdO3N0YXRpYyBzdHlsZXM9Wy4uLlJpLFhgCiAgICAgIC5hdWRpby1jb250ZW50IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgibGluZWFyLWdyYWRpZW50KDEzNWRlZywgaHNsKDI1MCA0MCUgOTYlKSwgaHNsKDI4MCAzMCUgOTQlKSkiLCJsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCBoc2woMjUwIDMwJSAxNiUpLCBoc2woMjgwIDI1JSAxNCUpKSIpfTsKICAgICAgfQoKICAgICAgLm11c2ljLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogNDhweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyNTAgNjAlIDY1JSkiLCJoc2woMjUwIDYwJSA3MCUpIil9OwogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgfQoKICAgICAgLmF1ZGlvLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyNTAgMjAlIDM1JSkiLCJoc2woMjUwIDIwJSA4MCUpIil9OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmF1ZGlvLWFydGlzdCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjUwIDE1JSA1MCUpIiwiaHNsKDI1MCAxNSUgNjUlKSIpfTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIG1hcmdpbi10b3A6IC0xMnB4OwogICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC53YXZlZm9ybS1jb250YWluZXIgewogICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMnB4KTsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC53YXZlZm9ybS1jb250YWluZXIgY2FudmFzIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCgogICAgICAucGxheS1vdmVybGF5IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICAgIHotaW5kZXg6IDE4OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAudGlsZS1jb250YWluZXIuY2xpY2thYmxlOmhvdmVyIC5wbGF5LW92ZXJsYXkgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5wbGF5LWNpcmNsZSB7CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpOwogICAgICB9CgogICAgICAucGxheS1jaXJjbGUgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICB9CiAgICBgXTsjZT1sbyh0aGlzLG4sIiIpO2dldCBzcmMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc3JjKE0pe3RoaXMuI2U9TX0jdD0obG8odGhpcyxsKSxsbyh0aGlzLGMsIiIpKTtnZXQgdGl0bGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgdGl0bGUoTSl7dGhpcy4jdD1NfSNhPShsbyh0aGlzLHApLGxvKHRoaXMsbSwiIikpO2dldCBhcnRpc3QoKXtyZXR1cm4gdGhpcy4jYX1zZXQgYXJ0aXN0KE0pe3RoaXMuI2E9TX0jcj0obG8odGhpcyx2KSxsbyh0aGlzLGIsMCkpO2dldCBkdXJhdGlvbigpe3JldHVybiB0aGlzLiNyfXNldCBkdXJhdGlvbihNKXt0aGlzLiNyPU19I3M9KGxvKHRoaXMsZyksbG8odGhpcyxrLFtdKSk7Z2V0IHdhdmVmb3JtRGF0YSgpe3JldHVybiB0aGlzLiNzfXNldCB3YXZlZm9ybURhdGEoTSl7dGhpcy4jcz1NfSNpPShsbyh0aGlzLEMpLGxvKHRoaXMsXywhMSkpO2dldCB3YXZlZm9ybVJlYWR5KCl7cmV0dXJuIHRoaXMuI2l9c2V0IHdhdmVmb3JtUmVhZHkoTSl7dGhpcy4jaT1NfSNvPShsbyh0aGlzLHopLGxvKHRoaXMsVCwhMSkpO2dldCBpc1ByZXZpZXdQbGF5aW5nKCl7cmV0dXJuIHRoaXMuI299c2V0IGlzUHJldmlld1BsYXlpbmcoTSl7dGhpcy4jbz1NfWF1ZGlvRWxlbWVudD0obG8odGhpcyxFKSxudWxsKTtwcmV2aWV3VGltZW91dD1udWxsO2hhc0xvYWRlZFdhdmVmb3JtPSExO3JlbmRlclRpbGVDb250ZW50KCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImF1ZGlvLWNvbnRlbnQiPgogICAgICAgIDxkZWVzLWljb24gY2xhc3M9Im11c2ljLWljb24iIGljb249Imx1Y2lkZTpNdXNpYyI+PC9kZWVzLWljb24+CgogICAgICAgICR7dGhpcy50aXRsZT93YDxkaXYgY2xhc3M9ImF1ZGlvLXRpdGxlIj4ke3RoaXMudGl0bGV9PC9kaXY+YDoiIn0KICAgICAgICAke3RoaXMuYXJ0aXN0P3dgPGRpdiBjbGFzcz0iYXVkaW8tYXJ0aXN0Ij4ke3RoaXMuYXJ0aXN0fTwvZGl2PmA6IiJ9CgogICAgICAgICR7dGhpcy53YXZlZm9ybVJlYWR5P3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ3YXZlZm9ybS1jb250YWluZXIiPgogICAgICAgICAgICA8Y2FudmFzPjwvY2FudmFzPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJwbGF5LW92ZXJsYXkiPgogICAgICAgIDxkaXYgY2xhc3M9InBsYXktY2lyY2xlIj4KICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlBsYXkiPjwvZGVlcy1pY29uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgICR7dGhpcy5jbGlja2FibGU/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLW92ZXJsYXkiPgogICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6SGVhZHBob25lcyI+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj5QbGF5IEF1ZGlvPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgYH1yZW5kZXJCb3R0b21CYXIoKXtyZXR1cm4hdGhpcy5sYWJlbCYmIXRoaXMuZHVyYXRpb24/IiI6d2AKICAgICAgPGRpdiBjbGFzcz0idGlsZS1pbmZvLWJhciI+CiAgICAgICAgJHt0aGlzLmxhYmVsP3dgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiIHRpdGxlPSIke3RoaXMubGFiZWx9Ij4ke3RoaXMubGFiZWx9PC9zcGFuPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tc3BhY2VyIj48L3NwYW4+CiAgICAgICAgJHt0aGlzLmR1cmF0aW9uPjA/d2A8c3BhbiBjbGFzcz0iaW5mby1kZXRhaWwiPiR7dGhpcy5mb3JtYXRUaW1lKHRoaXMuZHVyYXRpb24pfTwvc3Bhbj5gOiIifQogICAgICA8L2Rpdj4KICAgIGB9Z2V0VGlsZUNsaWNrRGV0YWlsKCl7cmV0dXJue3NyYzp0aGlzLnNyYyx0aXRsZTp0aGlzLnRpdGxlLGFydGlzdDp0aGlzLmFydGlzdCxkdXJhdGlvbjp0aGlzLmR1cmF0aW9ufX1vbkJlY2FtZVZpc2libGUoKXshdGhpcy5oYXNMb2FkZWRXYXZlZm9ybSYmdGhpcy5zcmMmJih0aGlzLmhhc0xvYWRlZFdhdmVmb3JtPSEwLHRoaXMubG9hZEF1ZGlvTWV0YSgpKX1hc3luYyBsb2FkQXVkaW9NZXRhKCl7dGhpcy5sb2FkaW5nPSEwO3RyeXtsZXQgTT1uZXcgQXVkaW87TS5jcm9zc09yaWdpbj0iYW5vbnltb3VzIixNLnByZWxvYWQ9Im1ldGFkYXRhIixhd2FpdCBuZXcgUHJvbWlzZSgoUyxQKT0+e00uYWRkRXZlbnRMaXN0ZW5lcigibG9hZGVkbWV0YWRhdGEiLCgpPT57dGhpcy5kdXJhdGlvbj1NLmR1cmF0aW9uLFMoKX0se29uY2U6ITB9KSxNLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+UChuZXcgRXJyb3IoIkZhaWxlZCB0byBsb2FkIGF1ZGlvIikpLHtvbmNlOiEwfSksTS5zcmM9dGhpcy5zcmN9KSxhd2FpdCB0aGlzLmxvYWRXYXZlZm9ybSgpLHRoaXMubG9hZGluZz0hMX1jYXRjaHt0aGlzLmxvYWRpbmc9ITF9fWFzeW5jIGxvYWRXYXZlZm9ybSgpe3RyeXtsZXQgUz1hd2FpdChhd2FpdCBmZXRjaCh0aGlzLnNyYykpLmFycmF5QnVmZmVyKCksUD1uZXcgQXVkaW9Db250ZXh0LEY9KGF3YWl0IFAuZGVjb2RlQXVkaW9EYXRhKFMpKS5nZXRDaGFubmVsRGF0YSgwKSxXPTgwLGo9TWF0aC5mbG9vcihGLmxlbmd0aC9XKSxHPVtdO2ZvcihsZXQgUj0wO1I8VztSKyspe2xldCBVPTA7Zm9yKGxldCBtZT0wO21lPGo7bWUrKylVKz1NYXRoLmFicyhGW1IqaittZV0pO0cucHVzaChVL2opfWxldCBoZT1NYXRoLm1heCguLi5HKTt0aGlzLndhdmVmb3JtRGF0YT1HLm1hcChSPT5oZT4wP1IvaGU6MCksdGhpcy53YXZlZm9ybVJlYWR5PSEwLGF3YWl0IFAuY2xvc2UoKSxhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMuZHJhd1dhdmVmb3JtKCl9Y2F0Y2h7dGhpcy53YXZlZm9ybVJlYWR5PSExfX1kcmF3V2F2ZWZvcm0oKXtpZighdGhpcy53YXZlZm9ybVJlYWR5KXJldHVybjtsZXQgTT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi53YXZlZm9ybS1jb250YWluZXIgY2FudmFzIik7aWYoIU0pcmV0dXJuO2xldCBTPU0ucGFyZW50RWxlbWVudCxQPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxLEE9Uy5jbGllbnRXaWR0aCxGPVMuY2xpZW50SGVpZ2h0O00ud2lkdGg9QSpQLE0uaGVpZ2h0PUYqUDtsZXQgVz1NLmdldENvbnRleHQoIjJkIik7aWYoIVcpcmV0dXJuO1cuc2NhbGUoUCxQKSxXLmNsZWFyUmVjdCgwLDAsQSxGKTtsZXQgaj10aGlzLndhdmVmb3JtRGF0YS5sZW5ndGg7aWYoaj09PTApcmV0dXJuO2xldCBHPUEvaixSPWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0aGVtZS1kYXJrIil8fHdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcz8iaHNsKDI1MCA1MCUgNjAlKSI6ImhzbCgyNTAgNTAlIDcwJSkiO1cuZmlsbFN0eWxlPVI7Zm9yKGxldCBVPTA7VTxqO1UrKyl7bGV0IG1lPXRoaXMud2F2ZWZvcm1EYXRhW1VdLEk9TWF0aC5tYXgoMixtZSooRi00KSkscT1VKkcsY2U9KEYtSSkvMjtXLmZpbGxSZWN0KHErLjUsY2UsRy0xLEkpfX1hc3luYyB1cGRhdGVkKE0pe3N1cGVyLnVwZGF0ZWQoTSksTS5oYXMoInNyYyIpJiZ0aGlzLnNyYyYmdGhpcy5pc1Zpc2libGUmJih0aGlzLmhhc0xvYWRlZFdhdmVmb3JtPSEwLHRoaXMud2F2ZWZvcm1SZWFkeT0hMSx0aGlzLmR1cmF0aW9uPTAsdGhpcy5sb2FkQXVkaW9NZXRhKCkpLE0uaGFzKCJ3YXZlZm9ybVJlYWR5IikmJnRoaXMud2F2ZWZvcm1SZWFkeSYmKGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5kcmF3V2F2ZWZvcm0oKSl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMucHJldmlld1RpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLnByZXZpZXdUaW1lb3V0KSx0aGlzLmF1ZGlvRWxlbWVudCYmKHRoaXMuYXVkaW9FbGVtZW50LnBhdXNlKCksdGhpcy5hdWRpb0VsZW1lbnQuc3JjPSIiLHRoaXMuYXVkaW9FbGVtZW50PW51bGwpfWZvcm1hdFRpbWUoTSl7aWYoIWlzRmluaXRlKE0pfHxNPDApcmV0dXJuIjA6MDAiO2xldCBTPU1hdGguZmxvb3IoTS82MCksUD1NYXRoLmZsb29yKE0lNjApO3JldHVybmAke1N9OiR7UC50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gfXN0YXRpY3tsbyhyLHQpfX07cmV0dXJuIEI9cn0pKCl9KTt2YXIgZGRhPWYoKCk9PntjZGEoKX0pO3ZhciB1ZGEscGRhPWYoKCk9PntsZSgpO3VkYT1zKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7CiAgICB9CiAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICAgIH0KICAgIGgzIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgfQogICAgLnRpbGUtcm93IHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZ2FwOiAyNHB4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgfQogIDwvc3R5bGU+CgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5WaWRlbyBUaWxlczwvaDM+CiAgICAgIDxkaXYgY2xhc3M9InRpbGUtcm93Ij4KICAgICAgICA8ZGVlcy10aHVtYm5haWwtdmlkZW8KICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9odG1sL21vdl9iYmIubXA0IgogICAgICAgICAgbGFiZWw9ImJ1bm55Lm1wNCIKICAgICAgICAgIEB0aWxlLWNsaWNrPSR7YT0+Y29uc29sZS5sb2coIlZpZGVvIGNsaWNrZWQ6IixhLmRldGFpbCl9CiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtdmlkZW8+CgogICAgICAgIDxkZWVzLXRodW1ibmFpbC12aWRlbwogICAgICAgICAgc3JjPSJodHRwczovL3d3dy53M3NjaG9vbHMuY29tL2h0bWwvbW92aWUubXA0IgogICAgICAgICAgcG9zdGVyPSJodHRwczovL3BpY3N1bS5waG90b3MvNDAwLzMwMCIKICAgICAgICAgIGxhYmVsPSJtb3ZpZS5tcDQiCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtdmlkZW8+CgogICAgICAgIDxkZWVzLXRodW1ibmFpbC12aWRlbwogICAgICAgICAgc3JjPSJodHRwczovL3d3dy53M3NjaG9vbHMuY29tL2h0bWwvbW92X2JiYi5tcDQiCiAgICAgICAgICBsYWJlbD0iYW5vdGhlci12aWRlby5tcDQiCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtdmlkZW8+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPlNpemUgVmFyaWFudHM8L2gzPgogICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLXZpZGVvCiAgICAgICAgICBzaXplPSJzbWFsbCIKICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9odG1sL21vdl9iYmIubXA0IgogICAgICAgICAgbGFiZWw9InNtYWxsLm1wNCIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC12aWRlbz4KCiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLXZpZGVvCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vaHRtbC9tb3ZfYmJiLm1wNCIKICAgICAgICAgIGxhYmVsPSJkZWZhdWx0Lm1wNCIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC12aWRlbz4KCiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLXZpZGVvCiAgICAgICAgICBzaXplPSJsYXJnZSIKICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9odG1sL21vdl9iYmIubXA0IgogICAgICAgICAgbGFiZWw9ImxhcmdlLm1wNCIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC12aWRlbz4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+V2l0aCBQb3N0ZXIgSW1hZ2U8L2gzPgogICAgICA8ZGVlcy10aHVtYm5haWwtdmlkZW8KICAgICAgICBzcmM9Imh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vaHRtbC9tb3ZpZS5tcDQiCiAgICAgICAgcG9zdGVyPSJodHRwczovL3BpY3N1bS5waG90b3MvNjAwLzQwMCIKICAgICAgICBsYWJlbD0icG9zdGVyLXZpZGVvLm1wNCIKICAgICAgPjwvZGVlcy10aHVtYm5haWwtdmlkZW8+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtbyIpfSk7dmFyIG83LFkxLGZkYSxoZGE9ZigoKT0+e2xlKCk7cTQoKTtSYygpO3BkYSgpO283PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxZMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sZmRhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy10aHVtYm5haWwtdmlkZW8iKV0sZSx0PVtdLHIsaT1vbyxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXTt2YXIgTj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1RodW1ibmFpbFZpZGVvIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bSygpXSx4PVtLKCldLHk9W0soKV0sbzcodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzcmMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNyYyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnNyYywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnNyYz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG4sbCksbzcodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwb3N0ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InBvc3RlciJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnBvc3RlciwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnBvc3Rlcj1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGMscCksbzcodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkdXJhdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iZHVyYXRpb24iaW4geiwiaGFzIiksZ2V0OnMoej0+ei5kdXJhdGlvbiwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmR1cmF0aW9uPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbSx2KSxvNyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRodW1ibmFpbENhcHR1cmVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJ0aHVtYm5haWxDYXB0dXJlZCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnRodW1ibmFpbENhcHR1cmVkLCJnZXQiKSxzZXQ6cygoeixPKT0+e3oudGh1bWJuYWlsQ2FwdHVyZWQ9T30sInNldCIpfSxtZXRhZGF0YTpffSxiLGcpLG83KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNIb3ZlcmluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iaXNIb3ZlcmluZyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmlzSG92ZXJpbmcsImdldCIpLHNldDpzKCh6LE8pPT57ei5pc0hvdmVyaW5nPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sayxDKSxvNyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpffSxudWxsLHQpLE49cj1lLnZhbHVlLF8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6X30pfXN0YXRpYyBkZW1vPXVkYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1lZGlhIl07c3RhdGljIHN0eWxlcz1bLi4uUmksWGAKICAgICAgLnZpZGVvLXdyYXBwZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwOwogICAgICB9CgogICAgICAudmlkZW8td3JhcHBlciB2aWRlbyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAudmlkZW8td3JhcHBlciBjYW52YXMgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLnBvc3Rlci1pbWFnZSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgoKICAgICAgLnBsYXktb3ZlcmxheSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogNTAlOwogICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgICB3aWR0aDogNDhweDsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgei1pbmRleDogMTU7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5wbGF5LW92ZXJsYXkgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICB9CgogICAgICAudGlsZS1jb250YWluZXIuY2xpY2thYmxlOmhvdmVyIC5wbGF5LW92ZXJsYXkgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgIH0KCiAgICAgIC52aWRlby1ob3Zlci1wcmV2aWV3IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgICAgIHotaW5kZXg6IDU7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTsKICAgICAgfQoKICAgICAgLnZpZGVvLWhvdmVyLXByZXZpZXcuYWN0aXZlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CiAgICBgXTsjZT1ZMSh0aGlzLG4sIiIpO2dldCBzcmMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc3JjKF8pe3RoaXMuI2U9X30jdD0oWTEodGhpcyxsKSxZMSh0aGlzLGMsIiIpKTtnZXQgcG9zdGVyKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHBvc3RlcihfKXt0aGlzLiN0PV99I2E9KFkxKHRoaXMscCksWTEodGhpcyxtLDApKTtnZXQgZHVyYXRpb24oKXtyZXR1cm4gdGhpcy4jYX1zZXQgZHVyYXRpb24oXyl7dGhpcy4jYT1ffSNyPShZMSh0aGlzLHYpLFkxKHRoaXMsYiwhMSkpO2dldCB0aHVtYm5haWxDYXB0dXJlZCgpe3JldHVybiB0aGlzLiNyfXNldCB0aHVtYm5haWxDYXB0dXJlZChfKXt0aGlzLiNyPV99I3M9KFkxKHRoaXMsZyksWTEodGhpcyxrLCExKSk7Z2V0IGlzSG92ZXJpbmcoKXtyZXR1cm4gdGhpcy4jc31zZXQgaXNIb3ZlcmluZyhfKXt0aGlzLiNzPV99dGh1bWJuYWlsQ2FudmFzPShZMSh0aGlzLEMpLG51bGwpO2hvdmVyVmlkZW89bnVsbDtoYXNTdGFydGVkTG9hZGluZz0hMTtyZW5kZXJUaWxlQ29udGVudCgpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJ2aWRlby13cmFwcGVyIj4KICAgICAgICAke3RoaXMucG9zdGVyP3dgCiAgICAgICAgICA8aW1nIGNsYXNzPSJwb3N0ZXItaW1hZ2UiIHNyYz0iJHt0aGlzLnBvc3Rlcn0iIGFsdD0iIiAvPgogICAgICAgIGA6dGhpcy50aHVtYm5haWxDYXB0dXJlZD93YAogICAgICAgICAgPGNhbnZhcz48L2NhbnZhcz4KICAgICAgICBgOndgCiAgICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBiYWNrZ3JvdW5kOiAjMDAwOyI+PC9kaXY+CiAgICAgICAgYH0KCiAgICAgICAgJHt0aGlzLmlzSG92ZXJpbmcmJnRoaXMuc3JjP3dgCiAgICAgICAgICA8dmlkZW8KICAgICAgICAgICAgY2xhc3M9InZpZGVvLWhvdmVyLXByZXZpZXcgJHt0aGlzLmlzSG92ZXJpbmc/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAuc3JjPSR7dGhpcy5zcmN9CiAgICAgICAgICAgIG11dGVkCiAgICAgICAgICAgIHBsYXlzaW5saW5lCiAgICAgICAgICAgIEBsb2FkZWRkYXRhPSR7dGhpcy5oYW5kbGVIb3ZlclZpZGVvTG9hZGVkfQogICAgICAgICAgPjwvdmlkZW8+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CgogICAgICAke3RoaXMuaXNIb3ZlcmluZz8iIjp3YAogICAgICAgIDxkaXYgY2xhc3M9InBsYXktb3ZlcmxheSI+CiAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpQbGF5Ij48L2RlZXMtaWNvbj4KICAgICAgICA8L2Rpdj4KICAgICAgYH0KCiAgICAgICR7dGhpcy5jbGlja2FibGU/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLW92ZXJsYXkiPgogICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6UGxheSI+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj5QbGF5IFZpZGVvPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgYH1yZW5kZXJCb3R0b21CYXIoKXtyZXR1cm4hdGhpcy5sYWJlbCYmIXRoaXMuZHVyYXRpb24/IiI6d2AKICAgICAgPGRpdiBjbGFzcz0idGlsZS1pbmZvLWJhciI+CiAgICAgICAgJHt0aGlzLmxhYmVsP3dgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiIHRpdGxlPSIke3RoaXMubGFiZWx9Ij4ke3RoaXMubGFiZWx9PC9zcGFuPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tc3BhY2VyIj48L3NwYW4+CiAgICAgICAgJHt0aGlzLmR1cmF0aW9uPjA/d2A8c3BhbiBjbGFzcz0iaW5mby1kZXRhaWwiPiR7dGhpcy5mb3JtYXRUaW1lKHRoaXMuZHVyYXRpb24pfTwvc3Bhbj5gOiIifQogICAgICA8L2Rpdj4KICAgIGB9Z2V0VGlsZUNsaWNrRGV0YWlsKCl7cmV0dXJue3NyYzp0aGlzLnNyYyxwb3N0ZXI6dGhpcy5wb3N0ZXIsZHVyYXRpb246dGhpcy5kdXJhdGlvbn19b25CZWNhbWVWaXNpYmxlKCl7IXRoaXMuaGFzU3RhcnRlZExvYWRpbmcmJnRoaXMuc3JjJiYodGhpcy5oYXNTdGFydGVkTG9hZGluZz0hMCx0aGlzLmNhcHR1cmVGaXJzdEZyYW1lKCkpfWFzeW5jIGNhcHR1cmVGaXJzdEZyYW1lKCl7aWYodGhpcy5wb3N0ZXIpe3RoaXMubG9hZER1cmF0aW9uKCk7cmV0dXJufXRoaXMubG9hZGluZz0hMDt0cnl7bGV0IF89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmlkZW8iKTtfLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiLF8ubXV0ZWQ9ITAsXy5wcmVsb2FkPSJtZXRhZGF0YSIsYXdhaXQgbmV3IFByb21pc2UoKHosTyk9PntfLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZGRhdGEiLCgpPT57dGhpcy5kdXJhdGlvbj1fLmR1cmF0aW9uLF8uY3VycmVudFRpbWU9LjEsXy5hZGRFdmVudExpc3RlbmVyKCJzZWVrZWQiLCgpPT57bGV0IFQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7VC53aWR0aD1fLnZpZGVvV2lkdGgsVC5oZWlnaHQ9Xy52aWRlb0hlaWdodDtsZXQgRT1ULmdldENvbnRleHQoIjJkIik7RSYmKEUuZHJhd0ltYWdlKF8sMCwwKSx0aGlzLnRodW1ibmFpbENhbnZhcz1ULHRoaXMudGh1bWJuYWlsQ2FwdHVyZWQ9ITApLF8uc3JjPSIiLF8ubG9hZCgpLHooKX0se29uY2U6ITB9KX0se29uY2U6ITB9KSxfLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+TyhuZXcgRXJyb3IoIkZhaWxlZCB0byBsb2FkIHZpZGVvIikpLHtvbmNlOiEwfSksXy5zcmM9dGhpcy5zcmN9KSx0aGlzLmxvYWRpbmc9ITEsYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSx0aGlzLmNvcHlUaHVtYm5haWxUb0NhbnZhcygpfWNhdGNoe3RoaXMubG9hZGluZz0hMSx0aGlzLmxvYWREdXJhdGlvbigpfX1sb2FkRHVyYXRpb24oKXtsZXQgXz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ2aWRlbyIpO18ucHJlbG9hZD0ibWV0YWRhdGEiLF8uYWRkRXZlbnRMaXN0ZW5lcigibG9hZGVkbWV0YWRhdGEiLCgpPT57dGhpcy5kdXJhdGlvbj1fLmR1cmF0aW9uLF8uc3JjPSIiLF8ubG9hZCgpfSksXy5zcmM9dGhpcy5zcmN9Y29weVRodW1ibmFpbFRvQ2FudmFzKCl7aWYoIXRoaXMudGh1bWJuYWlsQ2FudmFzKXJldHVybjtsZXQgXz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi52aWRlby13cmFwcGVyIGNhbnZhcyIpO2lmKCFfKXJldHVybjtfLndpZHRoPXRoaXMudGh1bWJuYWlsQ2FudmFzLndpZHRoLF8uaGVpZ2h0PXRoaXMudGh1bWJuYWlsQ2FudmFzLmhlaWdodDtsZXQgej1fLmdldENvbnRleHQoIjJkIik7eiYmei5kcmF3SW1hZ2UodGhpcy50aHVtYm5haWxDYW52YXMsMCwwKX1vblRpbGVNb3VzZUVudGVyKCl7dGhpcy5pc0hvdmVyaW5nPSEwfW9uVGlsZU1vdXNlTGVhdmUoKXt0aGlzLmlzSG92ZXJpbmc9ITEsdGhpcy5ob3ZlclZpZGVvPW51bGx9aGFuZGxlSG92ZXJWaWRlb0xvYWRlZChfKXt0aGlzLmhvdmVyVmlkZW89Xy50YXJnZXQsdGhpcy5ob3ZlclZpZGVvLnBsYXkoKS5jYXRjaCgoKT0+e30pfWFzeW5jIHVwZGF0ZWQoXyl7c3VwZXIudXBkYXRlZChfKSxfLmhhcygic3JjIikmJnRoaXMuc3JjJiZ0aGlzLmlzVmlzaWJsZSYmKHRoaXMuaGFzU3RhcnRlZExvYWRpbmc9ITAsdGhpcy50aHVtYm5haWxDYXB0dXJlZD0hMSx0aGlzLmR1cmF0aW9uPTAsdGhpcy5jYXB0dXJlRmlyc3RGcmFtZSgpKSxfLmhhcygidGh1bWJuYWlsQ2FwdHVyZWQiKSYmdGhpcy50aHVtYm5haWxDYXB0dXJlZCYmKGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5jb3B5VGh1bWJuYWlsVG9DYW52YXMoKSl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuaG92ZXJWaWRlbyYmKHRoaXMuaG92ZXJWaWRlby5wYXVzZSgpLHRoaXMuaG92ZXJWaWRlby5zcmM9IiIsdGhpcy5ob3ZlclZpZGVvPW51bGwpLHRoaXMudGh1bWJuYWlsQ2FudmFzPW51bGx9Zm9ybWF0VGltZShfKXtpZighaXNGaW5pdGUoXyl8fF88MClyZXR1cm4iMDowMCI7bGV0IHo9TWF0aC5mbG9vcihfLzYwKSxPPU1hdGguZmxvb3IoXyU2MCk7cmV0dXJuYCR7en06JHtPLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfWB9c3RhdGlje1kxKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBtZGE9ZigoKT0+e2hkYSgpfSk7dmFyIGdkYSxiZGE9ZigoKT0+e2xlKCk7Z2RhPXMoKCk9PntsZXQgYT1gaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdCc7CgpleHBvcnQgY2xhc3MgTXlDb21wb25lbnQgewogIHByaXZhdGUgaXRlbXM6IHN0cmluZ1tdID0gW107CgogIHJlbmRlcigpIHsKICAgIHJldHVybiBodG1sXGAKICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICBcJHt0aGlzLml0ZW1zLm1hcChpdGVtID0+IGh0bWxcYAogICAgICAgICAgPHNwYW4+XCR7aXRlbX08L3NwYW4+CiAgICAgICAgXGApfQogICAgICA8L2Rpdj4KICAgIFxgOwogIH0KfWAsZT1gTWVldGluZyBOb3RlcyAtIFE0IFBsYW5uaW5nCkRhdGU6IEphbnVhcnkgMTUsIDIwMjYKQXR0ZW5kZWVzOiBBbGljZSwgQm9iLCBDaGFybGllCgpLZXkgRGVjaXNpb25zOgoxLiBMYXVuY2ggbmV3IGZlYXR1cmUgYnkgTWFyY2gKMi4gSGlyZSAyIG1vcmUgZW5naW5lZXJzCjMuIE1pZ3JhdGUgdG8gbmV3IENJL0NEIHBpcGVsaW5lCjQuIFVwZGF0ZSBkZXNpZ24gc3lzdGVtIHRvIHYzCgpBY3Rpb24gSXRlbXM6Ci0gQWxpY2U6IERyYWZ0IFBSRCBieSBuZXh0IHdlZWsKLSBCb2I6IFNldCB1cCBpbnRlcnZpZXcgcGlwZWxpbmUKLSBDaGFybGllOiBFdmFsdWF0ZSBKZW5raW5zIHZzIEdpdEh1YiBBY3Rpb25zYDtyZXR1cm4gd2AKICAgIDxzdHlsZT4KICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7CiAgICAgIH0KICAgICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICAgICAgfQogICAgICBoMyB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgfQogICAgICAudGlsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgzPk5vdGUgVGlsZXM8L2gzPgogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtcm93Ij4KICAgICAgICAgIDxkZWVzLXRodW1ibmFpbC1ub3RlCiAgICAgICAgICAgIHRpdGxlPSJjb21wb25lbnQudHMiCiAgICAgICAgICAgIC5jb250ZW50PSR7YX0KICAgICAgICAgICAgbGFuZ3VhZ2U9InR5cGVzY3JpcHQiCiAgICAgICAgICAgIGxhYmVsPSJjb21wb25lbnQudHMiCiAgICAgICAgICAgIEB0aWxlLWNsaWNrPSR7cj0+Y29uc29sZS5sb2coIk5vdGUgY2xpY2tlZDoiLHIuZGV0YWlsKX0KICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLW5vdGU+CgogICAgICAgICAgPGRlZXMtdGh1bWJuYWlsLW5vdGUKICAgICAgICAgICAgdGl0bGU9Ik1lZXRpbmcgTm90ZXMiCiAgICAgICAgICAgIC5jb250ZW50PSR7ZX0KICAgICAgICAgICAgbGFiZWw9Im1lZXRpbmctbm90ZXMudHh0IgogICAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtbm90ZT4KCiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtbm90ZQogICAgICAgICAgICB0aXRsZT0icGFja2FnZS5qc29uIgogICAgICAgICAgICAuY29udGVudD0ke2B7CiAgIm5hbWUiOiAiQGRlc2lnbi5lc3RhdGUvZGVlcy1jYXRhbG9nIiwKICAidmVyc2lvbiI6ICIzLjM4LjAiLAogICJkZXNjcmlwdGlvbiI6ICJEZXNpZ24gY29tcG9uZW50IGNhdGFsb2ciLAogICJkZXBlbmRlbmNpZXMiOiB7CiAgICAiQGRlc2lnbi5lc3RhdGUvZGVlcy1lbGVtZW50IjogIl4yLjAuMCIsCiAgICAibGl0IjogIl4zLjEuMCIKICB9LAogICJzY3JpcHRzIjogewogICAgImJ1aWxkIjogInRzYnVpbGQiLAogICAgInRlc3QiOiAidHN0ZXN0IgogIH0KfWB9CiAgICAgICAgICAgIGxhbmd1YWdlPSJqc29uIgogICAgICAgICAgICBsYWJlbD0icGFja2FnZS5qc29uIgogICAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtbm90ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5TaXplIFZhcmlhbnRzPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtbm90ZQogICAgICAgICAgICBzaXplPSJzbWFsbCIKICAgICAgICAgICAgdGl0bGU9InNtYWxsLnRzIgogICAgICAgICAgICAuY29udGVudD0ke2F9CiAgICAgICAgICAgIGxhbmd1YWdlPSJ0cyIKICAgICAgICAgICAgbGFiZWw9InNtYWxsLnRzIgogICAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtbm90ZT4KCiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtbm90ZQogICAgICAgICAgICB0aXRsZT0iZGVmYXVsdC50cyIKICAgICAgICAgICAgLmNvbnRlbnQ9JHthfQogICAgICAgICAgICBsYW5ndWFnZT0idHMiCiAgICAgICAgICAgIGxhYmVsPSJkZWZhdWx0LnRzIgogICAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtbm90ZT4KCiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtbm90ZQogICAgICAgICAgICBzaXplPSJsYXJnZSIKICAgICAgICAgICAgdGl0bGU9ImxhcmdlLnRzIgogICAgICAgICAgICAuY29udGVudD0ke2F9CiAgICAgICAgICAgIGxhbmd1YWdlPSJ0cyIKICAgICAgICAgICAgbGFiZWw9ImxhcmdlLnRzIgogICAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtbm90ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5XaXRob3V0IFRpdGxlPC9oMz4KICAgICAgICA8ZGVlcy10aHVtYm5haWwtbm90ZQogICAgICAgICAgLmNvbnRlbnQ9JHtlfQogICAgICAgICAgbGFiZWw9InVudGl0bGVkLnR4dCIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1ub3RlPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIGB9LCJkZW1vIil9KTt2YXIgdUcsT2MsdmRhLHhkYT1mKCgpPT57bGUoKTtxNCgpO1JjKCk7YmRhKCk7dUc9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LE9jPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSx2ZGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXRodW1ibmFpbC1ub3RlIildLGUsdD1bXSxyLGk9b28sbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNUaHVtYm5haWxOb3RlIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGs9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpTdHJpbmd9KV0seD1bSygpXSx1Ryh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRpdGxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJ0aXRsZSJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnRpdGxlLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MudGl0bGU9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxuLGwpLHVHKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iY29udGVudCJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmNvbnRlbnQsImdldCIpLHNldDpzKChDLE4pPT57Qy5jb250ZW50PU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYyxwKSx1Ryh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imxhbmd1YWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJsYW5ndWFnZSJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmxhbmd1YWdlLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MubGFuZ3VhZ2U9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxtLHYpLHVHKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNIb3ZlcmluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iaXNIb3ZlcmluZyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmlzSG92ZXJpbmcsImdldCIpLHNldDpzKChDLE4pPT57Qy5pc0hvdmVyaW5nPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYixnKSx1RyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTprfSxudWxsLHQpLHk9cj1lLnZhbHVlLGsmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6a30pfXN0YXRpYyBkZW1vPWdkYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1lZGlhIl07c3RhdGljIHN0eWxlcz1bLi4uUmksWGAKICAgICAgLm5vdGUtY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCJoc2woNjAgNSUgOTYlKSIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAubm90ZS1oZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDEycHggMTRweCA4cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5ub3RlLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMjAlIDIwJSkiLCJoc2woMjE1IDIwJSAyMCUpIil9OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICBsaW5lLWhlaWdodDogMS4zOwogICAgICB9CgogICAgICAubm90ZS1ib2R5IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHBhZGRpbmc6IDAgMTRweCAxNHB4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAubm90ZS10ZXh0IHsKICAgICAgICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTAlIDQwJSkiLCJoc2woMjE1IDEwJSAzNSUpIil9OwogICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC5ub3RlLWZhZGUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBoZWlnaHQ6IDYwcHg7CiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KAogICAgICAgICAgdHJhbnNwYXJlbnQsCiAgICAgICAgICAke2guYmRUaGVtZSgiI2ZmZmZmZiIsImhzbCg2MCA1JSA5NiUpIil9CiAgICAgICAgKTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLm5vdGUtbGluZXMgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgd2lkdGg6IDM0cHg7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDcwJSA4NSUpIiwiaHNsKDAgNTAlIDgwJSkiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4OwogICAgICB9CgogICAgICAubGluZS1udW1iZXIgewogICAgICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogOXB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4OyAvKiBtYXRjaGVzIDEwcHggKiAxLjUgbGluZS1oZWlnaHQgKi8KICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTAlIDc1JSkiLCJoc2woMjE1IDEwJSA3MCUpIil9OwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDsKICAgICAgfQoKICAgIGBdOyNlPU9jKHRoaXMsbiwiIik7Z2V0IHRpdGxlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHRpdGxlKGspe3RoaXMuI2U9a30jdD0oT2ModGhpcyxsKSxPYyh0aGlzLGMsIiIpKTtnZXQgY29udGVudCgpe3JldHVybiB0aGlzLiN0fXNldCBjb250ZW50KGspe3RoaXMuI3Q9a30jYT0oT2ModGhpcyxwKSxPYyh0aGlzLG0sIiIpKTtnZXQgbGFuZ3VhZ2UoKXtyZXR1cm4gdGhpcy4jYX1zZXQgbGFuZ3VhZ2Uoayl7dGhpcy4jYT1rfSNyPShPYyh0aGlzLHYpLE9jKHRoaXMsYiwhMSkpO2dldCBpc0hvdmVyaW5nKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGlzSG92ZXJpbmcoayl7dGhpcy4jcj1rfW5vdGVCb2R5RWxlbWVudD0oT2ModGhpcyxnKSxudWxsKTtyZW5kZXJUaWxlQ29udGVudCgpe2xldCBrPXRoaXMuY29udGVudC5zcGxpdChgCmApO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJub3RlLWNvbnRlbnQiPgogICAgICAgICR7dGhpcy50aXRsZT93YAogICAgICAgICAgPGRpdiBjbGFzcz0ibm90ZS1oZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJub3RlLXRpdGxlIj4ke3RoaXMudGl0bGV9PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQoKICAgICAgICA8ZGl2IGNsYXNzPSJub3RlLWJvZHkiPgogICAgICAgICAgPHByZSBjbGFzcz0ibm90ZS10ZXh0Ij4ke2suam9pbihgCmApfTwvcHJlPgogICAgICAgICAgJHt0aGlzLmlzSG92ZXJpbmc/IiI6d2A8ZGl2IGNsYXNzPSJub3RlLWZhZGUiPjwvZGl2PmB9CiAgICAgICAgPC9kaXY+CgogICAgICA8L2Rpdj4KCiAgICAgICR7dGhpcy5jbGlja2FibGU/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLW92ZXJsYXkiPgogICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6RmlsZVRleHQiPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+T3BlbiBOb3RlPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgYH1yZW5kZXJCb3R0b21CYXIoKXtsZXQgaz10aGlzLmNvbnRlbnQuc3BsaXQoYApgKTtyZXR1cm4hdGhpcy5sYWJlbCYmIXRoaXMubGFuZ3VhZ2UmJiFrLmxlbmd0aD8iIjp3YAogICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWluZm8tYmFyIj4KICAgICAgICAke3RoaXMubGFiZWw/d2A8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCIgdGl0bGU9IiR7dGhpcy5sYWJlbH0iPiR7dGhpcy5sYWJlbH08L3NwYW4+YDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1zcGFjZXIiPjwvc3Bhbj4KICAgICAgICAke3RoaXMubGFuZ3VhZ2U/d2A8c3BhbiBjbGFzcz0iaW5mby1kZXRhaWwiPiR7dGhpcy5sYW5ndWFnZS50b1VwcGVyQ2FzZSgpfTwvc3Bhbj5gOiIifQogICAgICAgICR7dGhpcy5pc0hvdmVyaW5nJiZrLmxlbmd0aD4xMj93YDxzcGFuIGNsYXNzPSJpbmZvLWRldGFpbCI+TGluZSAke3RoaXMuZ2V0VmlzaWJsZUxpbmVSYW5nZShrLmxlbmd0aCl9PC9zcGFuPmA6d2A8c3BhbiBjbGFzcz0iaW5mby1kZXRhaWwiPiR7ay5sZW5ndGh9IGxpbmVzPC9zcGFuPmB9CiAgICAgIDwvZGl2PgogICAgYH1nZXRUaWxlQ2xpY2tEZXRhaWwoKXtyZXR1cm57dGl0bGU6dGhpcy50aXRsZSxjb250ZW50OnRoaXMuY29udGVudCxsYW5ndWFnZTp0aGlzLmxhbmd1YWdlfX1vblRpbGVNb3VzZUVudGVyKCl7dGhpcy5pc0hvdmVyaW5nPSEwLHRoaXMubm90ZUJvZHlFbGVtZW50fHwodGhpcy5ub3RlQm9keUVsZW1lbnQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIubm90ZS1ib2R5IikpfW9uVGlsZU1vdXNlTGVhdmUoKXt0aGlzLmlzSG92ZXJpbmc9ITEsdGhpcy5ub3RlQm9keUVsZW1lbnQmJih0aGlzLm5vdGVCb2R5RWxlbWVudC5zY3JvbGxUb3A9MCl9b25UaWxlTW91c2VNb3ZlKGspe2lmKCF0aGlzLmlzSG92ZXJpbmd8fCF0aGlzLm5vdGVCb2R5RWxlbWVudHx8dGhpcy5jb250ZW50LnNwbGl0KGAKYCkubGVuZ3RoPD0xMilyZXR1cm47bGV0IE49dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxfPWsuY2xpZW50WC1OLmxlZnQsej1NYXRoLm1heCgwLE1hdGgubWluKDEsXy9OLndpZHRoKSksTz10aGlzLm5vdGVCb2R5RWxlbWVudC5zY3JvbGxIZWlnaHQtdGhpcy5ub3RlQm9keUVsZW1lbnQuY2xpZW50SGVpZ2h0O3RoaXMubm90ZUJvZHlFbGVtZW50LnNjcm9sbFRvcD16Kk99Z2V0VmlzaWJsZUxpbmVSYW5nZShrKXtpZighdGhpcy5ub3RlQm9keUVsZW1lbnQpcmV0dXJuYDFcdTIwMTMxMiBvZiAke2t9YDtsZXQgQz0xNSxOPU1hdGguZmxvb3IodGhpcy5ub3RlQm9keUVsZW1lbnQuc2Nyb2xsVG9wL0MpKzEsXz1NYXRoLmZsb29yKHRoaXMubm90ZUJvZHlFbGVtZW50LmNsaWVudEhlaWdodC9DKSx6PU1hdGgubWluKE4rXy0xLGspO3JldHVybmAke059XHUyMDEzJHt6fSBvZiAke2t9YH1zdGF0aWN7T2Mocix0KX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIHlkYT1mKCgpPT57eGRhKCl9KTt2YXIgd2RhLE1kYT1mKCgpPT57bGUoKTt3ZGE9cygoKT0+e2xldCBhPVt7dHlwZToiaW1hZ2UiLG5hbWU6InN1bnNldC5qcGciLHRodW1ibmFpbFNyYzoiaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzIwMC8yMDA/cmFuZG9tPTEifSx7dHlwZToiaW1hZ2UiLG5hbWU6Im1vdW50YWluLmpwZyIsdGh1bWJuYWlsU3JjOiJodHRwczovL3BpY3N1bS5waG90b3MvMjAwLzIwMD9yYW5kb209MiJ9LHt0eXBlOiJpbWFnZSIsbmFtZToib2NlYW4uanBnIix0aHVtYm5haWxTcmM6Imh0dHBzOi8vcGljc3VtLnBob3Rvcy8yMDAvMjAwP3JhbmRvbT0zIn0se3R5cGU6ImltYWdlIixuYW1lOiJmb3Jlc3QuanBnIix0aHVtYm5haWxTcmM6Imh0dHBzOi8vcGljc3VtLnBob3Rvcy8yMDAvMjAwP3JhbmRvbT00In0se3R5cGU6ImltYWdlIixuYW1lOiJjaXR5LmpwZyIsdGh1bWJuYWlsU3JjOiJodHRwczovL3BpY3N1bS5waG90b3MvMjAwLzIwMD9yYW5kb209NSJ9LHt0eXBlOiJpbWFnZSIsbmFtZToiZGVzZXJ0LmpwZyIsdGh1bWJuYWlsU3JjOiJodHRwczovL3BpY3N1bS5waG90b3MvMjAwLzIwMD9yYW5kb209NiJ9XTtyZXR1cm4gd2AKICAgIDxzdHlsZT4KICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7CiAgICAgIH0KICAgICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICAgICAgfQogICAgICBoMyB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgfQogICAgICAudGlsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgzPkZvbGRlciBUaWxlczwvaDM+CiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1yb3ciPgogICAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWZvbGRlcgogICAgICAgICAgICBuYW1lPSJQaG90b3MiCiAgICAgICAgICAgIC5pdGVtcz0ke2F9CiAgICAgICAgICAgIGxhYmVsPSI2IHBob3RvcyIKICAgICAgICAgICAgQHRpbGUtY2xpY2s9JHtvPT5jb25zb2xlLmxvZygiRm9sZGVyIGNsaWNrZWQ6IixvLmRldGFpbCl9CiAgICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1mb2xkZXI+CgogICAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWZvbGRlcgogICAgICAgICAgICBuYW1lPSJteS1wcm9qZWN0IgogICAgICAgICAgICAuaXRlbXM9JHtbe3R5cGU6Im5vdGUiLG5hbWU6IlJFQURNRS5tZCJ9LHt0eXBlOiJub3RlIixuYW1lOiJwYWNrYWdlLmpzb24ifSx7dHlwZToiZm9sZGVyIixuYW1lOiJzcmMifSx7dHlwZToiZm9sZGVyIixuYW1lOiJ0ZXN0In0se3R5cGU6Im5vdGUiLG5hbWU6InRzY29uZmlnLmpzb24ifSx7dHlwZToicGRmIixuYW1lOiJkb2NzLnBkZiJ9LHt0eXBlOiJpbWFnZSIsbmFtZToibG9nby5wbmciLHRodW1ibmFpbFNyYzoiaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzEwMC8xMDA/cmFuZG9tPTEwIn1dfQogICAgICAgICAgICBsYWJlbD0iUHJvamVjdCBmaWxlcyIKICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLWZvbGRlcj4KCiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtZm9sZGVyCiAgICAgICAgICAgIG5hbWU9Ik1lZGlhIEFzc2V0cyIKICAgICAgICAgICAgLml0ZW1zPSR7W3t0eXBlOiJ2aWRlbyIsbmFtZToiaW50cm8ubXA0In0se3R5cGU6ImF1ZGlvIixuYW1lOiJiYWNrZ3JvdW5kLm1wMyJ9LHt0eXBlOiJpbWFnZSIsbmFtZToidGh1bWJuYWlsLmpwZyIsdGh1bWJuYWlsU3JjOiJodHRwczovL3BpY3N1bS5waG90b3MvMjAwLzIwMD9yYW5kb209MjAifSx7dHlwZToicGRmIixuYW1lOiJzdG9yeWJvYXJkLnBkZiJ9XX0KICAgICAgICAgICAgbGFiZWw9Ik1peGVkIG1lZGlhIgogICAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtZm9sZGVyPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgzPkVkZ2UgQ2FzZXM8L2gzPgogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtcm93Ij4KICAgICAgICAgIDxkZWVzLXRodW1ibmFpbC1mb2xkZXIKICAgICAgICAgICAgbmFtZT0iRW1wdHkgRm9sZGVyIgogICAgICAgICAgICAuaXRlbXM9JHtbXX0KICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLWZvbGRlcj4KCiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtZm9sZGVyCiAgICAgICAgICAgIG5hbWU9IlNpbmdsZSBJdGVtIgogICAgICAgICAgICAuaXRlbXM9JHtbe3R5cGU6InBkZiIsbmFtZToicmVwb3J0LnBkZiJ9XX0KICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLWZvbGRlcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5TaXplIFZhcmlhbnRzPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtZm9sZGVyCiAgICAgICAgICAgIHNpemU9InNtYWxsIgogICAgICAgICAgICBuYW1lPSJTbWFsbCIKICAgICAgICAgICAgLml0ZW1zPSR7YX0KICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLWZvbGRlcj4KCiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtZm9sZGVyCiAgICAgICAgICAgIG5hbWU9IkRlZmF1bHQiCiAgICAgICAgICAgIC5pdGVtcz0ke2F9CiAgICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1mb2xkZXI+CgogICAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWZvbGRlcgogICAgICAgICAgICBzaXplPSJsYXJnZSIKICAgICAgICAgICAgbmFtZT0iTGFyZ2UiCiAgICAgICAgICAgIC5pdGVtcz0ke2F9CiAgICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1mb2xkZXI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYH0sImRlbW8iKX0pO3ZhciBYUWUscEcsa2RhLFNkYSx6ZGE9ZigoKT0+e2xlKCk7cTQoKTtSYygpO01kYSgpO1hRZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0scEc9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGtkYT17cGRmOiJsdWNpZGU6RmlsZVRleHQiLGltYWdlOiJsdWNpZGU6SW1hZ2UiLGF1ZGlvOiJsdWNpZGU6TXVzaWMiLHZpZGVvOiJsdWNpZGU6VmlkZW8iLG5vdGU6Imx1Y2lkZTpGaWxlQ29kZSIsZm9sZGVyOiJsdWNpZGU6Rm9sZGVyIix1bmtub3duOiJsdWNpZGU6RmlsZSJ9LFNkYT0oKCk9PntsZXQgYT1baWUoImRlZXMtdGh1bWJuYWlsLWZvbGRlciIpXSxlLHQ9W10scixpPW9vLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzVGh1bWJuYWlsRm9sZGVyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7YXR0cmlidXRlOiExfSldLFhRZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+Im5hbWUiaW4gdiwiaGFzIiksZ2V0OnModj0+di5uYW1lLCJnZXQiKSxzZXQ6cygodix4KT0+e3YubmFtZT14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksWFFlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXRlbXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+Iml0ZW1zImluIHYsImhhcyIpLGdldDpzKHY9PnYuaXRlbXMsImdldCIpLHNldDpzKCh2LHgpPT57di5pdGVtcz14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCksWFFlKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSl9c3RhdGljIGRlbW89d2RhO3N0YXRpYyBkZW1vR3JvdXBzPVsiTWVkaWEiXTtzdGF0aWMgc3R5bGVzPVsuLi5SaSxYYAogICAgICAuZm9sZGVyLWNvbnRlbnQgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woNDAgMzAlIDk3JSkiLCJoc2woMjE1IDIwJSAxNCUpIil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5mb2xkZXItaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNHB4IDhweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmZvbGRlci1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woNDAgODAlIDUwJSkiLCJoc2woNDAgNzAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5mb2xkZXItbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDIwJSAyMCUpIiwiaHNsKDIxNSAxNiUgODAlKSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLnByZXZpZXctZ3JpZCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxZnI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogMCAxNHB4IDE0cHg7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgfQoKICAgICAgLmdyaWQtY2VsbCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDIwJSA5NCUpIiwiaHNsKDIxNSAyMCUgMTglKSIpfTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5ncmlkLWNlbGwgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5ncmlkLWNlbGwgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDE2JSA2MCUpIiwiaHNsKDIxNSAxNiUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLmdyaWQtY2VsbC1lbXB0eSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTUlIDk2JSkiLCJoc2woMjE1IDIwJSAxNiUpIil9OwogICAgICB9CgogICAgYF07I2U9cEcodGhpcyxuLCIiKTtnZXQgbmFtZSgpe3JldHVybiB0aGlzLiNlfXNldCBuYW1lKG0pe3RoaXMuI2U9bX0jdD0ocEcodGhpcyxsKSxwRyh0aGlzLGMsW10pKTtnZXQgaXRlbXMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgaXRlbXMobSl7dGhpcy4jdD1tfXJlbmRlclRpbGVDb250ZW50KCl7bGV0IG09dGhpcy5pdGVtcy5zbGljZSgwLDQpLHY9NC1tLmxlbmd0aDtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZm9sZGVyLWNvbnRlbnQiPgogICAgICAgIDxkaXYgY2xhc3M9ImZvbGRlci1oZWFkZXIiPgogICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0iZm9sZGVyLWljb24iIGljb249Imx1Y2lkZTpGb2xkZXIiPjwvZGVlcy1pY29uPgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9sZGVyLW5hbWUiPiR7dGhpcy5uYW1lfHwiVW50aXRsZWQgRm9sZGVyIn08L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1ncmlkIj4KICAgICAgICAgICR7bS5tYXAoeD0+d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1jZWxsIj4KICAgICAgICAgICAgICAke3gudGh1bWJuYWlsU3JjP3dgCiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iJHt4LnRodW1ibmFpbFNyY30iIGFsdD0iJHt4Lm5hbWV9IiAvPgogICAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0iJHtrZGFbeC50eXBlXXx8a2RhLnVua25vd259Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICBgfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgICAgJHtBcnJheS5mcm9tKHtsZW5ndGg6dn0pLm1hcCgoKT0+d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1jZWxsIGdyaWQtY2VsbC1lbXB0eSI+PC9kaXY+CiAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICAke3RoaXMuY2xpY2thYmxlP3dgCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1vdmVybGF5Ij4KICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkZvbGRlck9wZW4iPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+T3BlbiBGb2xkZXI8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CiAgICBgfXJlbmRlckJvdHRvbUJhcigpe3JldHVybiF0aGlzLmxhYmVsJiYhdGhpcy5pdGVtcy5sZW5ndGg/IiI6d2AKICAgICAgPGRpdiBjbGFzcz0idGlsZS1pbmZvLWJhciI+CiAgICAgICAgJHt0aGlzLmxhYmVsP3dgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiIHRpdGxlPSIke3RoaXMubGFiZWx9Ij4ke3RoaXMubGFiZWx9PC9zcGFuPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tc3BhY2VyIj48L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tZGV0YWlsIj4ke3RoaXMuaXRlbXMubGVuZ3RofSBpdGVtJHt0aGlzLml0ZW1zLmxlbmd0aCE9PTE/InMiOiIifTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICBgfWdldFRpbGVDbGlja0RldGFpbCgpe3JldHVybntuYW1lOnRoaXMubmFtZSxpdGVtQ291bnQ6dGhpcy5pdGVtcy5sZW5ndGgsaXRlbXM6dGhpcy5pdGVtc319Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHBHKHRoaXMscCl9c3RhdGlje3BHKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBDZGE9ZigoKT0+e3pkYSgpfSk7dmFyIF9kYT1mKCgpPT57ejNhKCk7TDNhKCk7RTNhKCk7ajNhKCk7VTNhKCk7VzNhKCk7RzNhKCk7ZWRhKCk7aWRhKCk7ZGRhKCk7bWRhKCk7eWRhKCk7Q2RhKCl9KTt2YXIgVGRhPWYoKCk9PntacigpfSk7dmFyIExkYT1mKCgpPT57aGMoKX0pO3ZhciAkZGEsRGRhPWYoKCk9PntsZSgpOyRkYT1zKCgpPT53YAogICAgPHN0eWxlPgogICAgICAucmVmMSB7CiAgICAgICAgbWFyZ2luOiAyMHB4OwogICAgICAgIHdpZHRoOiAxMHB4OwogICAgICAgIGhlaWdodDogMTBweDsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJyZWYxIj48L2Rpdj4KICAgIDxkZWVzLXNwZWVjaGJ1YmJsZSAudGV4dD0ke2AKICAgICAgKipUaGlzIGlzIGEgbG9uZ2VyIG1hcmtkb3duIHRleHQgdGhhdCAgY2FuIGJlIHVzZWQgdGhlIHdyaXRlKiogIAogICAgICBhIGxvbmdlciBkZXNjcmlwdGlvbiBhYm91dCB3aGF0cyBnb2luZyBvbiB0aGUgYXBwICAKICAKICAgICAgKipUaGlzIGlzIGEgc3ViaGVhZGVyKioKICAgICAgYW5kIGFub3RoZXIgdGV4dAogICAgCiAgICBgfT48L2RlZXMtc3BlZWNoYnViYmxlPgogIGAsImRlbW9GdW5jIil9KTt2YXIgbjcsSzEsQWRhLEVkYT1mKCgpPT57TDEoKTtWcygpO0RkYSgpO2xlKCk7TTEoKTtRZSgpO243PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxLMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sQWRhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1zcGVlY2hidWJibGUiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXTt2YXIgTj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1NwZWVjaGJ1YmJsZSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBfPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sdT1bJCh7dHlwZTpCb29sZWFufSldLHg9WyQoe3R5cGU6Qm9vbGVhbn0pXSx5PVskKHt0eXBlOlN0cmluZ30pXSxuNyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlZmZlZEVsZW1lbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InJlZmZlZEVsZW1lbnQiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5yZWZmZWRFbGVtZW50LCJnZXQiKSxzZXQ6cygoeixPKT0+e3oucmVmZmVkRWxlbWVudD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG4sbCksbjcodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0ZXh0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJ0ZXh0ImluIHosImhhcyIpLGdldDpzKHo9PnoudGV4dCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnRleHQ9T30sInNldCIpfSxtZXRhZGF0YTpffSxjLHApLG43KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToid2F2ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4id2F2ZSJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LndhdmUsImdldCIpLHNldDpzKCh6LE8pPT57ei53YXZlPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbSx2KSxuNyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1hbmlmZXN0ZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Im1hbmlmZXN0ZWQiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5tYW5pZmVzdGVkLCJnZXQiKSxzZXQ6cygoeixPKT0+e3oubWFuaWZlc3RlZD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGIsZyksbjcodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0dXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InN0YXR1cyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnN0YXR1cywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnN0YXR1cz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGssQyksbjcobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X30sbnVsbCx0KSxOPXI9ZS52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgZGVtbz0kZGE7c3RhdGljIGRlbW9Hcm91cHM9WyJPdmVybGF5Il07c3RhdGljIGFzeW5jIGNyZWF0ZUFuZFNob3coXyx6KXtsZXQgTz1hd2FpdCBqcy5jcmVhdGVBbmRTaG93KHtibHVyOiExfSksVD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkZWVzLXNwZWVjaGJ1YmJsZSIpO3JldHVybiBULndpbmRvd0xheWVyPU8sVC5yZWZmZWRFbGVtZW50PV8sVC50ZXh0PXosVC5tYW5pZmVzdGVkPSEwLE8uYXBwZW5kQ2hpbGQoVCksTy5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixPLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLndpbmRvd092ZXJsYXkiKS5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixUfSNlPUsxKHRoaXMsbix2b2lkIDApO2dldCByZWZmZWRFbGVtZW50KCl7cmV0dXJuIHRoaXMuI2V9c2V0IHJlZmZlZEVsZW1lbnQoXyl7dGhpcy4jZT1ffSN0PShLMSh0aGlzLGwpLEsxKHRoaXMsYyx2b2lkIDApKTtnZXQgdGV4dCgpe3JldHVybiB0aGlzLiN0fXNldCB0ZXh0KF8pe3RoaXMuI3Q9X30jYT0oSzEodGhpcyxwKSxLMSh0aGlzLG0sITEpKTtnZXQgd2F2ZSgpe3JldHVybiB0aGlzLiNhfXNldCB3YXZlKF8pe3RoaXMuI2E9X30jcj0oSzEodGhpcyx2KSxLMSh0aGlzLGIsITEpKTtnZXQgbWFuaWZlc3RlZCgpe3JldHVybiB0aGlzLiNyfXNldCBtYW5pZmVzdGVkKF8pe3RoaXMuI3I9X30jcz0oSzEodGhpcyxnKSxLMSh0aGlzLGssIm5vcm1hbCIpKTtnZXQgc3RhdHVzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHN0YXR1cyhfKXt0aGlzLiNzPV99d2luZG93TGF5ZXI9SzEodGhpcyxDKTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzMzMyIsIiNmZmYiKX07CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yczsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yczsKICAgICAgICBtYXJnaW4tbGVmdDogMHB4OwogICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDBweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpKTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOwogICAgICB9CgogICAgICAuYXJyb3cgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmYiLCIjMzMzIil9OwogICAgICAgIGhlaWdodDogMTVweDsKICAgICAgICB3aWR0aDogMTVweDsKICAgICAgICBsZWZ0OiAycHg7CiAgICAgICAgdG9wOiAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLnNwZWVjaGJ1YmJsZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmYiLCIjMzMzIil9OwogICAgICAgIHBhZGRpbmc6IDBweCAxNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbWluLXdpZHRoOiAyNDBweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgbGVmdDogOHB4OwogICAgICB9CgogICAgICAud2F2ZSB7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHdhdmUtYW5pbWF0aW9uOyAvKiBSZWZlcnMgdG8gdGhlIG5hbWUgb2YgeW91ciBAa2V5ZnJhbWVzIGVsZW1lbnQgYmVsb3cgKi8KICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDIuNXM7IC8qIENoYW5nZSB0byBzcGVlZCB1cCBvciBzbG93IGRvd24gKi8KICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgLyogTmV2ZXIgc3RvcCB3YXZpbmcgOikgKi8KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA3MCUgNzAlOyAvKiBQaXZvdCBhcm91bmQgdGhlIGJvdHRvbS1sZWZ0IHBhbG0gKi8KICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgd2F2ZS1hbmltYXRpb24gewogICAgICAgIDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgICAgIH0KICAgICAgICAxMCUgewogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTRkZWcpOwogICAgICAgIH0gLyogVGhlIGZvbGxvd2luZyBmaXZlIHZhbHVlcyBjYW4gYmUgcGxheWVkIHdpdGggdG8gbWFrZSB0aGUgd2F2aW5nIG1vcmUgb3IgbGVzcyBleHRyZW1lICovCiAgICAgICAgMjAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC04ZGVnKTsKICAgICAgICB9CiAgICAgICAgMzAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE0ZGVnKTsKICAgICAgICB9CiAgICAgICAgNDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00ZGVnKTsKICAgICAgICB9CiAgICAgICAgNTAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEwZGVnKTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgICAgIH0gLyogUmVzZXQgZm9yIHRoZSBsYXN0IGhhbGYgdG8gcGF1c2UgKi8KICAgICAgICAxMDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgICAgIH0KICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgICR7dGhpcy5tYW5pZmVzdGVkP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIiIEBjbGljaz0ke3RoaXMuaGFuZGxlQ2xpY2t9PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGVlY2hidWJibGUiPgogICAgICAgICAgICAgICAgJHt0aGlzLndhdmU/d2A8c3BhbiBjbGFzcz0id2F2ZSI+8J+Rizwvc3Bhbj5gOndgYH0KICAgICAgICAgICAgICAgICR7Wm8ucmVzb2x2ZSh0aGlzLmdldEh0bWwoKSl9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDp3YGB9CiAgICBgfWFzeW5jIGhhbmRsZUNsaWNrKCl7Y29uc29sZS5sb2coInNwZWVjaGJ1YmJsZSBnb3QgY2xpY2tlZC4iKX1hc3luYyBmaXJzdFVwZGF0ZWQoKXtpZih0aGlzLnJlZmZlZEVsZW1lbnR8fCh0aGlzLnJlZmZlZEVsZW1lbnQ9dGhpcy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKSx0aGlzLm1hbmlmZXN0ZWQpYXdhaXQgdGhpcy51cGRhdGVQb3NpdGlvbigpLHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIubWFpbmNvbnRhaW5lciIpLnN0eWxlLm9wYWNpdHk9IjEiO2Vsc2V7bGV0IF87dGhpcy5yZWZmZWRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGFzeW5jKCk9PntfPWF3YWl0IE4uY3JlYXRlQW5kU2hvdyh0aGlzLnJlZmZlZEVsZW1lbnQsdGhpcy50ZXh0KX0pLHRoaXMucmVmZmVkRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwoKT0+e18uZGVzdHJveSgpfSl9fWFzeW5jIHVwZGF0ZVBvc2l0aW9uKCl7bGV0IF89dGhpcy5yZWZmZWRFbGVtZW50LHo9Xy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsdGhpcy5zdHlsZS50b3A9YCR7ei50b3AtMTN9cHhgLHRoaXMuc3R5bGUubGVmdD1gJHt6LmxlZnQrXy5jbGllbnRXaWR0aCs0fXB4YCx6LnJpZ2h0PjI1MCYmKHRoaXMuc3R5bGUud2lkdGg9IjI1MHB4Iil9YXN5bmMgZ2V0SHRtbCgpe2lmKCF0aGlzLnRleHQpcmV0dXJuIiI7bGV0IF89RXQucGx1Z2lucy5zbWFydHN0cmluZy5ub3JtYWxpemUuc3RhbmRhcmQodGhpcy50ZXh0KSx6PWF3YWl0IEV0LnBsdWdpbnMuc21hcnRtYXJrZG93bi5TbWFydE1hcmtkb3duLmVhc3lNYXJrZG93blRvSHRtbChfKTtyZXR1cm4ga2Ioeil9YXN5bmMgc2hvdygpe31hc3luYyBkZXN0cm95KCl7dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5tYWluY29udGFpbmVyIikuc3R5bGUub3BhY2l0eT0iMCIsdGhpcy53aW5kb3dMYXllci5kZXN0cm95KCl9c3RhdGlje0sxKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBQZGE9ZigoKT0+e0VkYSgpfSk7dmFyIElkYT1mKCgpPT57TTEoKX0pO3ZhciBOZGE9ZigoKT0+e1RkYSgpO0xkYSgpO1BkYSgpO0lkYSgpfSk7dmFyIFJkYT1mKCgpPT57fSk7dmFyIE9kYT1mKCgpPT57UmRhKCl9KTt2YXIgRmRhLHRpZSxhaWUsUVFlLEJkYSxyaWUsc2llLGlpZSxvaWU9ZigoKT0+e0ZkYT0iaHR0cHM6Ly9zdGFja2JsaXR6LmNvbSIsdGllPSJjb2RlIixhaWU9ImVycm9yIixRUWU9ImVycm9yX2Rlc2NyaXB0aW9uIixCZGE9Il9fd2NfYXBpX2JjX18iLHJpZT0iX193Y19hcGlfdG9rZW5zX18iLHNpZT0iX193Y19hcGlfdmVyaWZpZXJfXyIsaWllPSJfX3djX2FwaV9wb3B1cF9fIn0pO3ZhciBNNSxKUWU9ZigoKT0+e001PWNsYXNze3N0YXRpY3tzKHRoaXMsIlR5cGVkRXZlbnRUYXJnZXQiKX1fYnVzPW5ldyBFdmVudFRhcmdldDtsaXN0ZW4oZSl7ZnVuY3Rpb24gdChyKXtlKHIuZGF0YSl9cmV0dXJuIHModCwid3JhcHBlZExpc3RlbmVyIiksdGhpcy5fYnVzLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHQpLCgpPT50aGlzLl9idXMucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdCl9ZmlyZUV2ZW50KGUpe3RoaXMuX2J1cy5kaXNwYXRjaEV2ZW50KG5ldyBNZXNzYWdlRXZlbnQoIm1lc3NhZ2UiLHtkYXRhOmV9KSl9fX0pO2Z1bmN0aW9uIG5pZSgpe2xvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHJpZSl9ZnVuY3Rpb24gVWRhKGEpe3JldHVybiBxZGEubGlzdGVuKGEpfWZ1bmN0aW9uIGROYSgpe2xldCBhPWxvY2FsU3RvcmFnZS5nZXRJdGVtKHJpZSk7aWYoIWEpcmV0dXJuIG51bGw7dHJ5e3JldHVybiBKU09OLnBhcnNlKGEpfWNhdGNoe3JldHVybiBudWxsfX1mdW5jdGlvbiB1TmEoYSl7bG9jYWxTdG9yYWdlLnNldEl0ZW0ocmllLEpTT04uc3RyaW5naWZ5KGEpKX1mdW5jdGlvbiBWZGEoe2NyZWF0ZWRfYXQ6YSxleHBpcmVzX2luOmV9KXtyZXR1cm4oYStlKSoxZTN9ZnVuY3Rpb24gamRhKGEpe2lmKHR5cGVvZiBhIT0ib2JqZWN0Inx8IWEpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIFRva2VuIFJlc3BvbnNlIik7aWYodHlwZW9mIGEuYWNjZXNzX3Rva2VuIT0ic3RyaW5nInx8dHlwZW9mIGEucmVmcmVzaF90b2tlbiE9InN0cmluZyJ8fHR5cGVvZiBhLmNyZWF0ZWRfYXQhPSJudW1iZXIifHx0eXBlb2YgYS5leHBpcmVzX2luIT0ibnVtYmVyIil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgVG9rZW4gUmVzcG9uc2UiKX1mdW5jdGlvbiBwTmEoYSl7cmV0dXJuIG5ldyBQcm9taXNlKGU9PnNldFRpbWVvdXQoZSxhKSl9ZnVuY3Rpb24gZk5hKGEpe3FkYS5maXJlRXZlbnQoYSl9dmFyIEhkYSxxZGEsbDcsZUplPWYoKCk9PntvaWUoKTtKUWUoKTtIZGE9bmV3IEVycm9yO0hkYS5zdGFjaz0iIjtxZGE9bmV3IE01LGw3PWNsYXNzIGF7c3RhdGlje3ModGhpcywiVG9rZW5zIil9b3JpZ2luO3JlZnJlc2g7YWNjZXNzO2V4cGlyZXM7X3Jldm9rZWQ9bmV3IEFib3J0Q29udHJvbGxlcjtjb25zdHJ1Y3RvcihlLHQscixpKXt0aGlzLm9yaWdpbj1lLHRoaXMucmVmcmVzaD10LHRoaXMuYWNjZXNzPXIsdGhpcy5leHBpcmVzPWl9YXN5bmMgYWN0aXZhdGUoZSl7aWYodGhpcy5fcmV2b2tlZC5zaWduYWwuYWJvcnRlZCl0aHJvdyBuZXcgRXJyb3IoIlRva2VuIHJldm9rZWQiKTtyZXR1cm4gdGhpcy5leHBpcmVzPERhdGUubm93KCkmJiFhd2FpdCB0aGlzLl9mZXRjaE5ld0FjY2Vzc1Rva2VuKCk/ITE6KHRoaXMuX3N5bmMoKSx0aGlzLl9zdGFydFJlZnJlc2hUb2tlbnNMb29wKGUpLCEwKX1hc3luYyByZXZva2UoZSx0KXt0aGlzLl9yZXZva2VkLmFib3J0KCk7dHJ5e2lmKCEoYXdhaXQgZmV0Y2goYCR7dGhpcy5vcmlnaW59L29hdXRoL3Jldm9rZWAse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCJ9LGJvZHk6bmV3IFVSTFNlYXJjaFBhcmFtcyh7dG9rZW46dGhpcy5yZWZyZXNoLHRva2VuX3R5cGVfaGludDoicmVmcmVzaF90b2tlbiIsY2xpZW50X2lkOmV9KSxtb2RlOiJjb3JzIn0pKS5vayl0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBsb2dvdXQiKX1jYXRjaChyKXtpZighdCl0aHJvdyByfW5pZSgpfXN0YXRpYyBmcm9tU3RvcmFnZSgpe2xldCBlPWROYSgpO3JldHVybiBlP25ldyBhKGUub3JpZ2luLGUucmVmcmVzaCxlLmFjY2VzcyxlLmV4cGlyZXMpOm51bGx9c3RhdGljIGFzeW5jIGZyb21BdXRoQ29kZSh7ZWRpdG9yT3JpZ2luOmUsY2xpZW50SWQ6dCxjb2RlVmVyaWZpZXI6cixhdXRoQ29kZTppLHJlZGlyZWN0VXJpOm99KXtsZXQgbj1hd2FpdCBmZXRjaChgJHtlfS9vYXV0aC90b2tlbmAse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCJ9LGJvZHk6bmV3IFVSTFNlYXJjaFBhcmFtcyh7Y2xpZW50X2lkOnQsY29kZTppLGNvZGVfdmVyaWZpZXI6cixncmFudF90eXBlOiJhdXRob3JpemF0aW9uX2NvZGUiLHJlZGlyZWN0X3VyaTpvfSksbW9kZToiY29ycyJ9KTtpZighbi5vayl0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBmZXRjaCB0b2tlbjogJHtuLnN0YXR1c31gKTtsZXQgbD1hd2FpdCBuLmpzb24oKTtqZGEobCk7bGV0e2FjY2Vzc190b2tlbjpkLHJlZnJlc2hfdG9rZW46Y309bCxwPVZkYShsKTtyZXR1cm4gbmV3IGEoZSxjLGQscCl9YXN5bmMgX2ZldGNoTmV3QWNjZXNzVG9rZW4oKXt0cnl7bGV0IGU9YXdhaXQgZmV0Y2goYCR7dGhpcy5vcmlnaW59L29hdXRoL3Rva2VuYCx7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIn0sYm9keTpuZXcgVVJMU2VhcmNoUGFyYW1zKHtncmFudF90eXBlOiJyZWZyZXNoX3Rva2VuIixyZWZyZXNoX3Rva2VuOnRoaXMucmVmcmVzaH0pLG1vZGU6ImNvcnMiLHNpZ25hbDp0aGlzLl9yZXZva2VkLnNpZ25hbH0pO2lmKCFlLm9rKXRocm93IEhkYTtsZXQgdD1hd2FpdCBlLmpzb24oKTtqZGEodCk7bGV0e2FjY2Vzc190b2tlbjpyLHJlZnJlc2hfdG9rZW46aX09dCxvPVZkYSh0KTtyZXR1cm4gdGhpcy5hY2Nlc3M9cix0aGlzLmV4cGlyZXM9byx0aGlzLnJlZnJlc2g9aSwhMH1jYXRjaHtyZXR1cm4gbmllKCksITF9fV9zeW5jKCl7dU5hKHRoaXMpLGZOYSh0aGlzLmFjY2Vzcyl9YXN5bmMgX3N0YXJ0UmVmcmVzaFRva2Vuc0xvb3AoZSl7Zm9yKDs7KXtsZXQgdD10aGlzLmV4cGlyZXMtRGF0ZS5ub3coKS0xZTM7aWYoYXdhaXQgcE5hKE1hdGgubWF4KHQsMWUzKSksdGhpcy5fcmV2b2tlZC5zaWduYWwuYWJvcnRlZClyZXR1cm47aWYoIXRoaXMuX2ZldGNoTmV3QWNjZXNzVG9rZW4oKSl7ZSgpO3JldHVybn10aGlzLl9zeW5jKCl9fX07cyhuaWUsImNsZWFyVG9rZW5zSW5TdG9yYWdlIik7cyhVZGEsImFkZEFjY2Vzc1Rva2VuQ2hhbmdlZExpc3RlbmVyIik7cyhkTmEsInJlYWRUb2tlbnNGcm9tU3RvcmFnZSIpO3ModU5hLCJwZXJzaXN0VG9rZW5zSW5TdG9yYWdlIik7cyhWZGEsImdldEV4cGlyZXNGcm9tVG9rZW5SZXNwb25zZSIpO3MoamRhLCJhc3NlcnRUb2tlblJlc3BvbnNlIik7cyhwTmEsIndhaXQiKTtzKGZOYSwiZmlyZUFjY2Vzc1Rva2VuQ2hhbmdlZCIpfSk7dmFyIHRKZSxsaWUsRmMsYUplPWYoKCk9PntvaWUoKTt0SmU9e30sbGllPW51bGwsRmM9e2dldCBlZGl0b3JPcmlnaW4oKXtyZXR1cm4gbGllPT1udWxsJiYobGllPW5ldyBVUkwoZ2xvYmFsVGhpcy5XRUJDT05UQUlORVJfQVBJX0lGUkFNRV9VUkw/P0ZkYSkub3JpZ2luKSxsaWV9LHNldCBlZGl0b3JPcmlnaW4oYSl7bGllPW5ldyBVUkwoYSkub3JpZ2lufSxzZXRRdWVyeVBhcmFtKGEsZSl7dEplW2FdPWV9LGdldCB1cmwoKXtsZXQgYT1uZXcgVVJMKHRoaXMuZWRpdG9yT3JpZ2luKTthLnBhdGhuYW1lPSIvaGVhZGxlc3MiO2ZvcihsZXQgZSBpbiB0SmUpYS5zZWFyY2hQYXJhbXMuc2V0KGUsdEplW2VdKTtyZXR1cm4gYS5zZWFyY2hQYXJhbXMuc2V0KCJ2ZXJzaW9uIiwiMS42LjEiKSxhfX19KTthc3luYyBmdW5jdGlvbiBXZGEoYSl7bGV0IGU9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGEpLHQ9bmV3IFVpbnQ4QXJyYXkoYXdhaXQgY3J5cHRvLnN1YnRsZS5kaWdlc3QoIlNIQS0yNTYiLGUpKTtyZXR1cm4gYnRvYSh0LnJlZHVjZSgocixpKT0+citTdHJpbmcuZnJvbUNvZGVQb2ludChpKSwiIikpLnJlcGxhY2UoL1wrL2csIi0iKS5yZXBsYWNlKC9cLy9nLCJfIikucmVwbGFjZSgvPSskLywiIil9ZnVuY3Rpb24gR2RhKCl7bGV0IGE9bmV3IFVpbnQ4QXJyYXkoOTYpO2NyeXB0by5nZXRSYW5kb21WYWx1ZXMoYSk7bGV0IGU9IiI7Zm9yKGxldCB0PTA7dDwzMjsrK3QpZSs9aE5hKGFbMyp0KzBdLGFbMyp0KzFdLGFbMyp0KzJdKTtyZXR1cm4gZX1mdW5jdGlvbiBoTmEoYSxlLHQpe2xldCByPWE+PjIsaT0oYSYzKTw8NHxlPj40LG89ZSYxNXwodCYxOTIpPj4yLG49dCY2MztyZXR1cm5bcixpLG8sbl0ubWFwKG1OYSkuam9pbigiIil9ZnVuY3Rpb24gbU5hKGEpe2xldCBlO3JldHVybiBhPDI2P2U9YSs2NTphPDUyP2U9YS0yNis5NzphPDYyP2U9YS01Mis0ODplPWE9PT02Mj8zMDo0NSxTdHJpbmcuZnJvbUNoYXJDb2RlKGUpfXZhciBZZGE9ZigoKT0+e3MoV2RhLCJTMjU2Iik7cyhHZGEsIm5ld0NvZGVWZXJpZmllciIpO3MoaE5hLCJuZXh0Rm91ckNoYXJzIik7cyhtTmEsInVucmVzZXJ2ZWRDaGFyYWN0ZXJzIil9KTtmdW5jdGlvbiBLZGEoKXtsZXQgYSxlO2Z1bmN0aW9uIHQoKXtlPW5ldyBQcm9taXNlKHI9PmE9cil9cmV0dXJuIHModCwicmVzZXQiKSx0KCkse2dldCBwcm9taXNlKCl7cmV0dXJuIGV9LHJlc29sdmUocil7cmV0dXJuIGEocil9LHJlc2V0OnR9fXZhciBaZGE9ZigoKT0+e3MoS2RhLCJyZXNldHRhYmxlUHJvbWlzZSIpfSk7ZnVuY3Rpb24gZkcoYSl7S3QuYnJvYWRjYXN0Q2hhbm5lbCYmKEt0LmJyb2FkY2FzdENoYW5uZWwucG9zdE1lc3NhZ2UoYSksbG9jYWxTdG9yYWdlLmdldEl0ZW0oaWllKT09PSJ0cnVlIiYmYS50eXBlIT09ImF1dGgtbG9nb3V0IiYmKGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGlpZSksc2V0VGltZW91dCgoKT0+e3dpbmRvdy5jbG9zZSgpfSkpKX1mdW5jdGlvbiBySmUoKXtrNS5maXJlRXZlbnQoKSxmRyh7dHlwZToiYXV0aC1sb2dvdXQifSl9ZnVuY3Rpb24gUWRhKCl7cmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5ocmVmfWFzeW5jIGZ1bmN0aW9uIEpkYSgpe2xldCBhPUdkYSgpO2xvY2FsU3RvcmFnZS5zZXRJdGVtKHNpZSxhKTtsZXQgZT1hd2FpdCBXZGEoYSksdD1uZXcgVVJMKCIvb2F1dGgvYXV0aG9yaXplIixLdC5lZGl0b3JPcmlnaW4pLHtzZWFyY2hQYXJhbXM6cn09dDtyZXR1cm4gci5hcHBlbmQoInJlc3BvbnNlX3R5cGUiLCJjb2RlIiksci5hcHBlbmQoImNsaWVudF9pZCIsS3QuY2xpZW50SWQpLHIuYXBwZW5kKCJyZWRpcmVjdF91cmkiLFFkYSgpKSxyLmFwcGVuZCgic2NvcGUiLEt0Lm9hdXRoU2NvcGUpLHIuYXBwZW5kKCJjb2RlX2NoYWxsZW5nZSIsZSksci5hcHBlbmQoImNvZGVfY2hhbGxlbmdlX21ldGhvZCIsIlMyNTYiKSx0LnRvU3RyaW5nKCl9ZnVuY3Rpb24gc0plKGEpe2lmKCFhKXRocm93IG5ldyBFcnJvcigiT29wcyEgVG9rZW5zIGlzIG5vdCBkZWZpbmVkIHdoZW4gaXQgYWx3YXlzIHNob3VsZCBiZS4iKX12YXIgS3QsWGRhLGs1LGU2YSxpSmU9ZigoKT0+e2VKZSgpO29pZSgpO2FKZSgpO1lkYSgpO1pkYSgpO0pRZSgpO0t0PXtpbml0aWFsaXplZDohMSxib290Q2FsbGVkOiExLGF1dGhDb21wbGV0ZTpLZGEoKSxjbGllbnRJZDoiIixvYXV0aFNjb3BlOiIiLGJyb2FkY2FzdENoYW5uZWw6bnVsbCxnZXQgZWRpdG9yT3JpZ2luKCl7cmV0dXJuIEZjLmVkaXRvck9yaWdpbn0sdG9rZW5zOm51bGx9LFhkYT1uZXcgTTUsazU9bmV3IE01O3MoZkcsImJyb2FkY2FzdE1lc3NhZ2UiKTtlNmE9e2luaXQoe2VkaXRvck9yaWdpbjphLGNsaWVudElkOmUsc2NvcGU6dH0pe2lmKEt0LmluaXRpYWxpemVkKXRocm93IG5ldyBFcnJvcigiSW5pdCBzaG91bGQgb25seSBiZSBjYWxsZWQgb25jZSIpO2lmKCEwJiZLdC5ib290Q2FsbGVkKXRocm93IG5ldyBFcnJvcigiYGF1dGguaW5pdGAgc2hvdWxkIGFsd2F5cyBiZSBjYWxsZWQgYmVmb3JlIGBXZWJDb250YWluZXIuYm9vdGAiKTtLdC5pbml0aWFsaXplZD0hMCxLdC50b2tlbnM9bDcuZnJvbVN0b3JhZ2UoKSxLdC5jbGllbnRJZD1lLEt0Lm9hdXRoU2NvcGU9dCxLdC5icm9hZGNhc3RDaGFubmVsPW5ldyBCcm9hZGNhc3RDaGFubmVsKEJkYSksRmMuc2V0UXVlcnlQYXJhbSgiY2xpZW50X2lkIixlKSxhJiYoRmMuZWRpdG9yT3JpZ2luPW5ldyBVUkwoYSkub3JpZ2luKSxrNS5saXN0ZW4oKCk9Pkt0LmF1dGhDb21wbGV0ZS5yZXNldCgpKSxLdC5icm9hZGNhc3RDaGFubmVsLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGkpO2FzeW5jIGZ1bmN0aW9uIGkoZCl7bGV0IGM9ZC5kYXRhO2lmKGMudHlwZT09PSJhdXRoLWNvbXBsZXRlIil7S3QudG9rZW5zPWw3LmZyb21TdG9yYWdlKCksYXdhaXQgS3QudG9rZW5zLmFjdGl2YXRlKHJKZSksS3QuYXV0aENvbXBsZXRlLnJlc29sdmUoKTtyZXR1cm59aWYoYy50eXBlPT09ImF1dGgtZmFpbGVkIil7WGRhLmZpcmVFdmVudChjKTtyZXR1cm59aWYoYy50eXBlPT09ImF1dGgtbG9nb3V0Iil7azUuZmlyZUV2ZW50KCk7cmV0dXJufX1pZihzKGksIm9uQ2hhbm5lbE1lc3NhZ2UiKSxLdC50b2tlbnMpe2xldCBkPUt0LnRva2VucztpZihkLm9yaWdpbj09PUt0LmVkaXRvck9yaWdpbilyZXR1cm4oYXN5bmMoKT0+e2lmKCFhd2FpdCBkLmFjdGl2YXRlKHJKZSkpe2lmKEt0LnRva2VucyE9PWQpcmV0dXJuO2s1LmZpcmVFdmVudCgpO3JldHVybn1LdC5hdXRoQ29tcGxldGUucmVzb2x2ZSgpfSkoKSx7c3RhdHVzOiJhdXRob3JpemVkIn07bmllKCksS3QudG9rZW5zPW51bGx9bGV0IG89bmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZikse3NlYXJjaFBhcmFtczpufT1vLGw9cygoKT0+d2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKHt9LGRvY3VtZW50LnRpdGxlLG8pLCJ1cGRhdGVVUkwiKTtpZihuLmhhcyhhaWUpKXtsZXQgZD1uLmdldChhaWUpLGM9bi5nZXQoUVFlKTtyZXR1cm4gbi5kZWxldGUoYWllKSxuLmRlbGV0ZShRUWUpLGwoKSxmRyh7dHlwZToiYXV0aC1mYWlsZWQiLGVycm9yOmQsZGVzY3JpcHRpb246Y30pLHtzdGF0dXM6ImF1dGgtZmFpbGVkIixlcnJvcjpkLGRlc2NyaXB0aW9uOmN9fWlmKG4uaGFzKHRpZSkpe2xldCBkPW4uZ2V0KHRpZSksYz1LdC5lZGl0b3JPcmlnaW47bi5kZWxldGUodGllKSxsKCk7bGV0IHA9bG9jYWxTdG9yYWdlLmdldEl0ZW0oc2llKTtyZXR1cm4gcD8obG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oc2llKSxsNy5mcm9tQXV0aENvZGUoe2VkaXRvck9yaWdpbjpjLGNsaWVudElkOkt0LmNsaWVudElkLGF1dGhDb2RlOmQsY29kZVZlcmlmaWVyOnAscmVkaXJlY3RVcmk6UWRhKCl9KS50aGVuKGFzeW5jIHU9PntpZihLdC50b2tlbnM9dSxzSmUoS3QudG9rZW5zKSwhYXdhaXQgS3QudG9rZW5zLmFjdGl2YXRlKHJKZSkpdGhyb3cgbmV3IEVycm9yO0t0LmF1dGhDb21wbGV0ZS5yZXNvbHZlKCksZkcoe3R5cGU6ImF1dGgtY29tcGxldGUifSl9KS5jYXRjaCh1PT57Y29uc29sZS5lcnJvcih1KSxrNS5maXJlRXZlbnQoKSxmRyh7dHlwZToiYXV0aC1sb2dvdXQifSl9KSx7c3RhdHVzOiJhdXRob3JpemVkIn0pOntzdGF0dXM6Im5lZWQtYXV0aCJ9fXJldHVybntzdGF0dXM6Im5lZWQtYXV0aCJ9fSxhc3luYyBzdGFydEF1dGhGbG93KHtwb3B1cDphfT17fSl7aWYoIUt0LmluaXRpYWxpemVkKXRocm93IG5ldyBFcnJvcigiYXV0aC5pbml0IG11c3QgYmUgY2FsbGVkIGZpcnN0Iik7aWYoYSl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oaWllLCJ0cnVlIik7bGV0IGU9NTAwLHQ9NjIwLHI9d2luZG93LnNjcmVlbkxlZnQrKHdpbmRvdy5vdXRlcldpZHRoLXQpLzIsaT13aW5kb3cuc2NyZWVuVG9wKyh3aW5kb3cub3V0ZXJIZWlnaHQtZSkvMjt3aW5kb3cub3Blbihhd2FpdCBKZGEoKSwiX2JsYW5rIixgcG9wdXAsd2lkdGg9JHt0fSxoZWlnaHQ9JHtlfSxsZWZ0PSR7cn0sdG9wPSR7aX1gKX1lbHNlIHdpbmRvdy5sb2NhdGlvbi5ocmVmPWF3YWl0IEpkYSgpfSxhc3luYyBsb2dvdXQoe2lnbm9yZVJldm9rZUVycm9yOmF9PXt9KXthd2FpdCBLdC50b2tlbnM/LnJldm9rZShLdC5jbGllbnRJZCxhPz8hMSksazUuZmlyZUV2ZW50KCksZkcoe3R5cGU6ImF1dGgtbG9nb3V0In0pfSxsb2dnZWRJbigpe3JldHVybiBLdC5hdXRoQ29tcGxldGUucHJvbWlzZX0sb24oYSxlKXtzd2l0Y2goYSl7Y2FzZSJhdXRoLWZhaWxlZCI6cmV0dXJuIFhkYS5saXN0ZW4oZSk7Y2FzZSJsb2dnZWQtb3V0IjpyZXR1cm4gazUubGlzdGVuKGUpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBldmVudCB0eXBlICcke2F9Jy5gKX19fTtzKHJKZSwib25GYWlsZWRUb2tlblJlZnJlc2giKTtzKFFkYSwiZGVmYXVsdFJlZGlyZWN0VXJpIik7cyhKZGEsImdlbmVyYXRlT0F1dGhSZXF1ZXN0Iik7cyhzSmUsImFzc2VydEF1dGhUb2tlbnMiKX0pO3ZhciBCYyxjaWU9ZigoKT0+eyhmdW5jdGlvbihhKXthLlVuY2F1Z2h0RXhjZXB0aW9uPSJQUkVWSUVXX1VOQ0FVR0hUX0VYQ0VQVElPTiIsYS5VbmhhbmRsZWRSZWplY3Rpb249IlBSRVZJRVdfVU5IQU5ETEVEX1JFSkVDVElPTiIsYS5Db25zb2xlRXJyb3I9IlBSRVZJRVdfQ09OU09MRV9FUlJPUiJ9KShCY3x8KEJjPXt9KSl9KTtmdW5jdGlvbiBjSmUoYSxlPXNlbGYpe2UuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscyhmdW5jdGlvbiB0KHIpe2lmKCFyfHwhci5kYXRhKXJldHVybjtsZXR7aWQ6aSx0eXBlOm8scGF0aDpufT1PYmplY3QuYXNzaWduKHtwYXRoOltdfSxyLmRhdGEpLGw9KHIuZGF0YS5hcmd1bWVudExpc3R8fFtdKS5tYXAoUzUpLGQ7dHJ5e2xldCBjPW4uc2xpY2UoMCwtMSkucmVkdWNlKCh1LG0pPT51W21dLGEpLHA9bi5yZWR1Y2UoKHUsbSk9PnVbbV0sYSk7c3dpdGNoKG8pe2Nhc2UgMDpkPXA7YnJlYWs7Y2FzZSAxOmNbbi5zbGljZSgtMSlbMF1dPVM1KHIuZGF0YS52YWx1ZSksZD0hMDticmVhaztjYXNlIDI6ZD1wLmFwcGx5KGMsbCk7YnJlYWs7Y2FzZSAzOntsZXQgdT1uZXcgcCguLi5sKTtkPWM2YSh1KX1icmVhaztjYXNlIDQ6e2xldHtwb3J0MTp1LHBvcnQyOm19PW5ldyBNZXNzYWdlQ2hhbm5lbDtjSmUoYSxtKSxkPWw2YSh1LFt1XSl9YnJlYWs7Y2FzZSA1OmQ9dm9pZCAwO2JyZWFrfX1jYXRjaChjKXtkPXt2YWx1ZTpjLFtuSmVdOjB9fVByb21pc2UucmVzb2x2ZShkKS5jYXRjaChjPT4oe3ZhbHVlOmMsW25KZV06MH0pKS50aGVuKGM9PntsZXRbcCx1XT11SmUoYyk7ZS5wb3N0TWVzc2FnZShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scCkse2lkOml9KSx1KSxvPT09NSYmKGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdCksczZhKGUpKX0pfSwiY2FsbGJhY2siKSksZS5zdGFydCYmZS5zdGFydCgpfWZ1bmN0aW9uIHlOYShhKXtyZXR1cm4gYS5jb25zdHJ1Y3Rvci5uYW1lPT09Ik1lc3NhZ2VQb3J0In1mdW5jdGlvbiBzNmEoYSl7eU5hKGEpJiZhLmNsb3NlKCl9ZnVuY3Rpb24gaTZhKGEsZSl7cmV0dXJuIGRKZShhLFtdLGUpfWZ1bmN0aW9uIGRpZShhKXtpZihhKXRocm93IG5ldyBFcnJvcigiUHJveHkgaGFzIGJlZW4gcmVsZWFzZWQgYW5kIGlzIG5vdCB1c2VhYmxlIil9ZnVuY3Rpb24gZEplKGEsZT1bXSx0PWZ1bmN0aW9uKCl7fSl7bGV0IHI9ITEsaT1uZXcgUHJveHkodCx7Z2V0KG8sbil7aWYoZGllKHIpLG49PT1hNmEpcmV0dXJuKCk9PmM3KGEse3R5cGU6NSxwYXRoOmUubWFwKGw9PmwudG9TdHJpbmcoKSl9KS50aGVuKCgpPT57czZhKGEpLHI9ITB9KTtpZihuPT09InRoZW4iKXtpZihlLmxlbmd0aD09PTApcmV0dXJue3RoZW46cygoKT0+aSwidGhlbiIpfTtsZXQgbD1jNyhhLHt0eXBlOjAscGF0aDplLm1hcChkPT5kLnRvU3RyaW5nKCkpfSkudGhlbihTNSk7cmV0dXJuIGwudGhlbi5iaW5kKGwpfXJldHVybiBkSmUoYSxbLi4uZSxuXSl9LHNldChvLG4sbCl7ZGllKHIpO2xldFtkLGNdPXVKZShsKTtyZXR1cm4gYzcoYSx7dHlwZToxLHBhdGg6Wy4uLmUsbl0ubWFwKHA9PnAudG9TdHJpbmcoKSksdmFsdWU6ZH0sYykudGhlbihTNSl9LGFwcGx5KG8sbixsKXtkaWUocik7bGV0IGQ9ZVtlLmxlbmd0aC0xXTtpZihkPT09dDZhKXJldHVybiBjNyhhLHt0eXBlOjR9KS50aGVuKFM1KTtpZihkPT09ImJpbmQiKXJldHVybiBkSmUoYSxlLnNsaWNlKDAsLTEpKTtsZXRbYyxwXT1vNmEobCk7cmV0dXJuIGM3KGEse3R5cGU6MixwYXRoOmUubWFwKHU9PnUudG9TdHJpbmcoKSksYXJndW1lbnRMaXN0OmN9LHApLnRoZW4oUzUpfSxjb25zdHJ1Y3QobyxuKXtkaWUocik7bGV0W2wsZF09bzZhKG4pO3JldHVybiBjNyhhLHt0eXBlOjMscGF0aDplLm1hcChjPT5jLnRvU3RyaW5nKCkpLGFyZ3VtZW50TGlzdDpsfSxkKS50aGVuKFM1KX19KTtyZXR1cm4gaX1mdW5jdGlvbiB3TmEoYSl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sYSl9ZnVuY3Rpb24gbzZhKGEpe2xldCBlPWEubWFwKHVKZSk7cmV0dXJuW2UubWFwKHQ9PnRbMF0pLHdOYShlLm1hcCh0PT50WzFdKSldfWZ1bmN0aW9uIGw2YShhLGUpe3JldHVybiBuNmEuc2V0KGEsZSksYX1mdW5jdGlvbiBjNmEoYSl7cmV0dXJuIE9iamVjdC5hc3NpZ24oYSx7W29KZV06ITB9KX1mdW5jdGlvbiBNTmEoYSxlPXNlbGYsdD0iKiIpe3JldHVybntwb3N0TWVzc2FnZTpzKChyLGkpPT5hLnBvc3RNZXNzYWdlKHIsdCxpKSwicG9zdE1lc3NhZ2UiKSxhZGRFdmVudExpc3RlbmVyOmUuYWRkRXZlbnRMaXN0ZW5lci5iaW5kKGUpLHJlbW92ZUV2ZW50TGlzdGVuZXI6ZS5yZW1vdmVFdmVudExpc3RlbmVyLmJpbmQoZSl9fWZ1bmN0aW9uIHVKZShhKXtmb3IobGV0W2UsdF1vZiBsSmUpaWYodC5jYW5IYW5kbGUoYSkpe2xldFtyLGldPXQuc2VyaWFsaXplKGEpO3JldHVyblt7dHlwZTozLG5hbWU6ZSx2YWx1ZTpyfSxpXX1yZXR1cm5be3R5cGU6MCx2YWx1ZTphfSxuNmEuZ2V0KGEpfHxbXV19ZnVuY3Rpb24gUzUoYSl7c3dpdGNoKGEudHlwZSl7Y2FzZSAzOnJldHVybiBsSmUuZ2V0KGEubmFtZSkuZGVzZXJpYWxpemUoYS52YWx1ZSk7Y2FzZSAwOnJldHVybiBhLnZhbHVlfX1mdW5jdGlvbiBjNyhhLGUsdCl7cmV0dXJuIG5ldyBQcm9taXNlKHI9PntsZXQgaT1rTmEoKTthLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHMoZnVuY3Rpb24gbyhuKXshbi5kYXRhfHwhbi5kYXRhLmlkfHxuLmRhdGEuaWQhPT1pfHwoYS5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIixvKSxyKG4uZGF0YSkpfSwibCIpKSxhLnN0YXJ0JiZhLnN0YXJ0KCksYS5wb3N0TWVzc2FnZShPYmplY3QuYXNzaWduKHtpZDppfSxlKSx0KX0pfWZ1bmN0aW9uIGtOYSgpe3JldHVybiBuZXcgQXJyYXkoNCkuZmlsbCgwKS5tYXAoKCk9Pk1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSpOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikudG9TdHJpbmcoMTYpKS5qb2luKCItIil9dmFyIGdOYSxiTmEsam4sb0plLHQ2YSxhNmEsbkplLHI2YSx2TmEseE5hLGxKZSxuNmEsZDZhPWYoKCk9PntnTmE9T2JqZWN0LmRlZmluZVByb3BlcnR5LGJOYT1zKChhLGUpPT57Zm9yKHZhciB0IGluIGUpZ05hKGEsdCx7Z2V0OmVbdF0sZW51bWVyYWJsZTohMH0pfSwiX19leHBvcnQiKSxqbj17fTtiTmEoam4se2NyZWF0ZUVuZHBvaW50OnMoKCk9PnQ2YSwiY3JlYXRlRW5kcG9pbnQiKSxleHBvc2U6cygoKT0+Y0plLCJleHBvc2UiKSxwcm94eTpzKCgpPT5jNmEsInByb3h5IikscHJveHlNYXJrZXI6cygoKT0+b0plLCJwcm94eU1hcmtlciIpLHJlbGVhc2VQcm94eTpzKCgpPT5hNmEsInJlbGVhc2VQcm94eSIpLHRyYW5zZmVyOnMoKCk9Pmw2YSwidHJhbnNmZXIiKSx0cmFuc2ZlckhhbmRsZXJzOnMoKCk9PmxKZSwidHJhbnNmZXJIYW5kbGVycyIpLHdpbmRvd0VuZHBvaW50OnMoKCk9Pk1OYSwid2luZG93RW5kcG9pbnQiKSx3cmFwOnMoKCk9Pmk2YSwid3JhcCIpfSk7b0plPVN5bWJvbCgiQ29tbGluay5wcm94eSIpLHQ2YT1TeW1ib2woIkNvbWxpbmsuZW5kcG9pbnQiKSxhNmE9U3ltYm9sKCJDb21saW5rLnJlbGVhc2VQcm94eSIpLG5KZT1TeW1ib2woIkNvbWxpbmsudGhyb3duIikscjZhPXMoYT0+dHlwZW9mIGE9PSJvYmplY3QiJiZhIT09bnVsbHx8dHlwZW9mIGE9PSJmdW5jdGlvbiIsImlzT2JqZWN0Iiksdk5hPXtjYW5IYW5kbGU6cyhhPT5yNmEoYSkmJmFbb0plXSwiY2FuSGFuZGxlIiksc2VyaWFsaXplKGEpe2xldHtwb3J0MTplLHBvcnQyOnR9PW5ldyBNZXNzYWdlQ2hhbm5lbDtyZXR1cm4gY0plKGEsZSksW3QsW3RdXX0sZGVzZXJpYWxpemUoYSl7cmV0dXJuIGEuc3RhcnQoKSxpNmEoYSl9fSx4TmE9e2NhbkhhbmRsZTpzKGE9PnI2YShhKSYmbkplIGluIGEsImNhbkhhbmRsZSIpLHNlcmlhbGl6ZSh7dmFsdWU6YX0pe2xldCBlO3JldHVybiBhIGluc3RhbmNlb2YgRXJyb3I/ZT17aXNFcnJvcjohMCx2YWx1ZTp7bWVzc2FnZTphLm1lc3NhZ2UsbmFtZTphLm5hbWUsc3RhY2s6YS5zdGFja319OmU9e2lzRXJyb3I6ITEsdmFsdWU6YX0sW2UsW11dfSxkZXNlcmlhbGl6ZShhKXt0aHJvdyBhLmlzRXJyb3I/T2JqZWN0LmFzc2lnbihuZXcgRXJyb3IoYS52YWx1ZS5tZXNzYWdlKSxhLnZhbHVlKTphLnZhbHVlfX0sbEplPW5ldyBNYXAoW1sicHJveHkiLHZOYV0sWyJ0aHJvdyIseE5hXV0pO3MoY0plLCJleHBvc2UiKTtzKHlOYSwiaXNNZXNzYWdlUG9ydCIpO3MoczZhLCJjbG9zZUVuZFBvaW50Iik7cyhpNmEsIndyYXAiKTtzKGRpZSwidGhyb3dJZlByb3h5UmVsZWFzZWQiKTtzKGRKZSwiY3JlYXRlUHJveHkiKTtzKHdOYSwibXlGbGF0Iik7cyhvNmEsInByb2Nlc3NBcmd1bWVudHMiKTtuNmE9bmV3IFdlYWtNYXA7cyhsNmEsInRyYW5zZmVyIik7cyhjNmEsInByb3h5Iik7cyhNTmEsIndpbmRvd0VuZHBvaW50Iik7cyh1SmUsInRvV2lyZVZhbHVlIik7cyhTNSwiZnJvbVdpcmVWYWx1ZSIpO3MoYzcsInJlcXVlc3RSZXNwb25zZU1lc3NhZ2UiKTtzKGtOYSwiZ2VuZXJhdGVVVUlEIil9KTt2YXIgdTZhPWYoKCk9Pnt9KTtmdW5jdGlvbiBwSmUoYSl7cmV0dXJuIShhPT1udWxsfHx0eXBlb2YgYSE9Im9iamVjdCJ8fCEoInR5cGUiaW4gYSl8fCFTTmEuaW5jbHVkZXMoYS50eXBlKSl9dmFyIFNOYSxwNmE9ZigoKT0+e2NpZSgpO1NOYT1bQmMuQ29uc29sZUVycm9yLEJjLlVuY2F1Z2h0RXhjZXB0aW9uLEJjLlVuaGFuZGxlZFJlamVjdGlvbl07cyhwSmUsImlzUHJldmlld01lc3NhZ2UiKX0pO3ZhciBmSmU9ZigoKT0+e3U2YSgpO2NpZSgpO3A2YSgpfSk7ZnVuY3Rpb24gejUoYSl7bGV0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gYT9PYmplY3QuYXNzaWduKGUsYSk6ZX12YXIgZjZhPWYoKCk9PntzKHo1LCJudWxsUHJvdG90eXBlIil9KTtmdW5jdGlvbiBoSmUoYSl7bGV0IGU9e2Q6e319O2ZvcihsZXQgdCBvZiBPYmplY3Qua2V5cyhhKSl7bGV0IHI9YVt0XTtpZigiZmlsZSJpbiByKXtpZigic3ltbGluayJpbiByLmZpbGUpe2UuZFt0XT17Zjp7bDpyLmZpbGUuc3ltbGlua319O2NvbnRpbnVlfWxldCBvPXIuZmlsZS5jb250ZW50cyxuPXR5cGVvZiBvPT0ic3RyaW5nIj9vOnpOYS5kZWNvZGUobyksbD10eXBlb2Ygbz09InN0cmluZyI/e306e2I6ITB9O2UuZFt0XT17Zjp7YzpuLC4uLmx9fTtjb250aW51ZX1sZXQgaT1oSmUoci5kaXJlY3RvcnkpO2UuZFt0XT1pfXJldHVybiBlfWZ1bmN0aW9uIG1KZShhKXtsZXQgZT16NSgpO2lmKCJmImluIGEpdGhyb3cgbmV3IEVycm9yKCJJdCBpcyBub3QgcG9zc2libGUgdG8gZXhwb3J0IGEgc2luZ2xlIGZpbGUgaW4gdGhlIEpTT04gZm9ybWF0LiIpO2lmKCJkImluIGEpZm9yKGxldCB0IG9mIE9iamVjdC5rZXlzKGEuZCkpe2xldCByPWEuZFt0XTsiZCJpbiByP2VbdF09ejUoe2RpcmVjdG9yeTptSmUocil9KToiZiJpbiByJiYoImMiaW4gci5mP2VbdF09ejUoe2ZpbGU6ejUoe2NvbnRlbnRzOnIuZi5iP0NOYShyLmYuYyk6ci5mLmN9KX0pOiJsImluIHIuZiYmKGVbdF09ejUoe2ZpbGU6ejUoe3N5bWxpbms6ci5mLmx9KX0pKSl9cmV0dXJuIGV9ZnVuY3Rpb24gQ05hKGEpe2xldCBlPW5ldyBVaW50OEFycmF5KGEubGVuZ3RoKTtmb3IobGV0IHQ9MDt0PGEubGVuZ3RoO3QrKyllW3RdPWFbdF0uY2hhckNvZGVBdCgwKTtyZXR1cm4gZX12YXIgek5hLGg2YT1mKCgpPT57ZjZhKCk7ek5hPW5ldyBUZXh0RGVjb2RlcigibGF0aW4xIik7cyhoSmUsInRvSW50ZXJuYWxGaWxlU3lzdGVtVHJlZSIpO3MobUplLCJ0b0V4dGVybmFsRmlsZVN5c3RlbVRyZWUiKTtzKENOYSwiZnJvbUJpbmFyeVN0cmluZyIpfSk7ZnVuY3Rpb24gZTBvKGEpe2lmKEt0LmJvb3RDYWxsZWQpdGhyb3cgbmV3IEVycm9yKCJgY29uZmlndXJlQVBJS2V5YCBzaG91bGQgYWx3YXlzIGJlIGNhbGxlZCBiZWZvcmUgYFdlYkNvbnRhaW5lci5ib290YCIpO0ZjLnNldFF1ZXJ5UGFyYW0oImNsaWVudF9pZCIsYSl9YXN5bmMgZnVuY3Rpb24gJE5hKGEpe2xldHtzZXJ2ZXJQcm9taXNlOmV9PUROYShhKSxyPWF3YWl0KGF3YWl0IGUpLmJ1aWxkKHtob3N0OndpbmRvdy5sb2NhdGlvbi5ob3N0LHZlcnNpb246IjEuNi4xIix3b3JrZGlyTmFtZTphLndvcmtkaXJOYW1lLGZvcndhcmRQcmV2aWV3RXJyb3JzOmEuZm9yd2FyZFByZXZpZXdFcnJvcnN9KSxbaSxvLG5dPWF3YWl0IFByb21pc2UuYWxsKFtyLmZzKCksci5wcmV2aWV3U2NyaXB0KCksci5ydW50aW1lSW5mbygpXSk7cmV0dXJuIG5ldyBoRyhyLGksbyxuKX1mdW5jdGlvbiB3SmUoYSl7aWYoYSE9bnVsbClyZXR1cm4gZT0+e2UgaW5zdGFuY2VvZiBVaW50OEFycmF5P2EobTZhLmRlY29kZShlKSk6ZT09bnVsbCYmYShudWxsKX19ZnVuY3Rpb24gZmllKGEpe2lmKGEhPW51bGwpcmV0dXJuIGpuLnByb3h5KGEpfWZ1bmN0aW9uIEROYShhKXtpZihwaWUhPW51bGwpcmV0dXJuIGEuY29lcCE9PWdKZS5jb2VwJiYoY29uc29sZS53YXJuKGBBdHRlbXB0aW5nIHRvIGJvb3QgV2ViQ29udGFpbmVyIHdpdGggJ2NvZXA6ICR7YS5jb2VwfSdgKSxjb25zb2xlLndhcm4oYEZpcnN0IGJvb3QgaGFkICdjb2VwOiAke2dKZS5jb2VwfScsIG5ldyBzZXR0aW5ncyB3aWxsIG5vdCB0YWtlIGVmZmVjdCFgKSkse3NlcnZlclByb21pc2U6cGllfTthLmNvZXAmJkZjLnNldFF1ZXJ5UGFyYW0oImNvZXAiLGEuY29lcCksYS5leHBlcmltZW50YWxOb2RlJiZGYy5zZXRRdWVyeVBhcmFtKCJleHBlcmltZW50YWxfbm9kZSIsIjEiKTtsZXQgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtlLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGUuc2V0QXR0cmlidXRlKCJhbGxvdyIsImNyb3NzLW9yaWdpbi1pc29sYXRlZCIpO2xldCB0PUZjLnVybDtlLnNyYz10LnRvU3RyaW5nKCk7bGV0e29yaWdpbjpyfT10O3JldHVybiBnSmU9ey4uLmF9LHBpZT1uZXcgUHJvbWlzZShpPT57bGV0IG89cyhuPT57aWYobi5vcmlnaW4hPT1yKXJldHVybjtsZXR7ZGF0YTpsfT1uO2lmKGwudHlwZT09PSJpbml0Iil7aShqbi53cmFwKG4ucG9ydHNbMF0pKTtyZXR1cm59aWYobC50eXBlPT09Indhcm5pbmciKXtjb25zb2xlW2wubGV2ZWxdLmNhbGwoY29uc29sZSxsLm1lc3NhZ2UpO3JldHVybn19LCJvbk1lc3NhZ2UiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbyl9KSxkb2N1bWVudC5ib2R5Lmluc2VydEJlZm9yZShlLG51bGwpLHtzZXJ2ZXJQcm9taXNlOnBpZX19ZnVuY3Rpb24gQU5hKGEpe3JldHVybiB0eXBlb2YgYVswXT09InN0cmluZyJ9ZnVuY3Rpb24gRU5hKGEpe3JldHVybiBhWzBdaW5zdGFuY2VvZiBVaW50OEFycmF5fWZ1bmN0aW9uIFBOYSgpe2xldCBhPW51bGw7cmV0dXJue3N0cmVhbTpuZXcgUmVhZGFibGVTdHJlYW0oe3N0YXJ0KHIpe2E9cn19KSxwdXNoOnMocj0+e3IhPW51bGw/YT8uZW5xdWV1ZShyKTooYT8uY2xvc2UoKSxhPW51bGwpfSwicHVzaCIpfX1mdW5jdGlvbiBJTmEoYSl7bGV0IGU9ITEsdD1zKCgpPT57fSwidW5zdWJzY3JpYmUiKTtyZXR1cm57c3Vic2NyaWJlKGkpe3JldHVybiBpLnRoZW4obz0+e3Q9byxlJiZ0KCl9KSwoKT0+e2U9ITAsdCgpfX0sbGlzdGVuZXI6cygoKC4uLmkpPT57ZXx8YSguLi5pKX0pLCJ3cmFwcGVkIil9fXZhciBKY28sdWllLHBpZSxnSmUsbTZhLF9OYSxoRyxUTmEsTE5hLGJKZSx2SmUseEplLHlKZSxnNmE9ZigoKT0+e2lKZSgpO2NpZSgpO2Q2YSgpO2lKZSgpO2VKZSgpO2FKZSgpO2ZKZSgpO2g2YSgpO2ZKZSgpO0pjbz1lNmEsdWllPW51bGwscGllPW51bGwsZ0plPXt9LG02YT1uZXcgVGV4dERlY29kZXIsX05hPW5ldyBUZXh0RW5jb2RlcixoRz1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIldlYkNvbnRhaW5lciIpfV9pbnN0YW5jZTtfcnVudGltZUluZm87ZnM7c3RhdGljIF9pbnN0YW5jZT1udWxsO3N0YXRpYyBfdGVhcmRvd25Qcm9taXNlPW51bGw7X3Rvcm5Eb3duPSExO191bnN1YnNjcmliZUZyb21Ub2tlbkNoYW5nZWRMaXN0ZW5lcj1zKCgpPT57fSwiX3Vuc3Vic2NyaWJlRnJvbVRva2VuQ2hhbmdlZExpc3RlbmVyIik7Y29uc3RydWN0b3IoZSx0LHIsaSl7dGhpcy5faW5zdGFuY2U9ZSx0aGlzLl9ydW50aW1lSW5mbz1pLHRoaXMuZnM9bmV3IHlKZSh0KSxLdC5pbml0aWFsaXplZCYmKHRoaXMuX3Vuc3Vic2NyaWJlRnJvbVRva2VuQ2hhbmdlZExpc3RlbmVyPVVkYShvPT57dGhpcy5faW5zdGFuY2Uuc2V0Q3JlZGVudGlhbHMoe2FjY2Vzc1Rva2VuOm8sZWRpdG9yT3JpZ2luOkt0LmVkaXRvck9yaWdpbn0pfSksKGFzeW5jKCk9Pnthd2FpdCBLdC5hdXRoQ29tcGxldGUucHJvbWlzZSwhdGhpcy5fdG9ybkRvd24mJihzSmUoS3QudG9rZW5zKSxhd2FpdCB0aGlzLl9pbnN0YW5jZS5zZXRDcmVkZW50aWFscyh7YWNjZXNzVG9rZW46S3QudG9rZW5zLmFjY2VzcyxlZGl0b3JPcmlnaW46S3QuZWRpdG9yT3JpZ2lufSkpfSkoKS5jYXRjaChvPT57Y29uc29sZS5lcnJvcihvKX0pKX1hc3luYyBzcGF3bihlLHQscil7bGV0IGk9W107QXJyYXkuaXNBcnJheSh0KT9pPXQ6cj10O2xldCBvLG49bmV3IFJlYWRhYmxlU3RyZWFtO2lmKHI/Lm91dHB1dCE9PSExKXtsZXQgYj1QTmEoKTtvPWIucHVzaCxuPWIuc3RyZWFtfWxldCBsLGQsYyxwLHU9ZmllKHdKZShvKSksbT1maWUod0plKGwpKSx2PWZpZSh3SmUoYykpLHg9YXdhaXQgdGhpcy5faW5zdGFuY2UucnVuKHtjb21tYW5kOmUsYXJnczppLGN3ZDpyPy5jd2QsZW52OnI/LmVudix0ZXJtaW5hbDpyPy50ZXJtaW5hbH0sbSx2LHUpO3JldHVybiBuZXcgeEplKHgsbixkLHApfWFzeW5jIGV4cG9ydChlLHQpe2xldCByPXtmb3JtYXQ6dD8uZm9ybWF0Pz8ianNvbiIsaW5jbHVkZXM6dD8uaW5jbHVkZXMsZXhjbHVkZXM6dD8uZXhjbHVkZXMsZXh0ZXJuYWw6ITB9LGk9YXdhaXQgdGhpcy5faW5zdGFuY2Uuc2VyaWFsaXplKGUscik7aWYoci5mb3JtYXQ9PT0ianNvbiIpe2xldCBvPUpTT04ucGFyc2UobTZhLmRlY29kZShpKSk7cmV0dXJuIG1KZShvKX1yZXR1cm4gaX1vbihlLHQpe2lmKGU9PT0icHJldmlldy1tZXNzYWdlIil7bGV0IG89dDt0PXMoKG49PntwSmUobikmJm8obil9KSwibGlzdGVuZXIiKX1sZXR7bGlzdGVuZXI6cixzdWJzY3JpYmU6aX09SU5hKHQpO3JldHVybiBpKHRoaXMuX2luc3RhbmNlLm9uKGUsam4ucHJveHkocikpKX1tb3VudChlLHQpe2xldCByPWUgaW5zdGFuY2VvZiBVaW50OEFycmF5P2U6ZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyP25ldyBVaW50OEFycmF5KGUpOl9OYS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoaEplKGUpKSk7cmV0dXJuIHRoaXMuX2luc3RhbmNlLmxvYWRGaWxlcyhqbi50cmFuc2ZlcihyLFtyLmJ1ZmZlcl0pLHttb3VudFBvaW50czp0Py5tb3VudFBvaW50fSl9c2V0UHJldmlld1NjcmlwdChlLHQpe3JldHVybiB0aGlzLl9pbnN0YW5jZS5zZXRQcmV2aWV3U2NyaXB0KGUsdCl9Z2V0IHBhdGgoKXtyZXR1cm4gdGhpcy5fcnVudGltZUluZm8ucGF0aH1nZXQgd29ya2Rpcigpe3JldHVybiB0aGlzLl9ydW50aW1lSW5mby5jd2R9dGVhcmRvd24oKXtpZih0aGlzLl90b3JuRG93bil0aHJvdyBuZXcgRXJyb3IoIldlYkNvbnRhaW5lciBhbHJlYWR5IHRvcm4gZG93biIpO3RoaXMuX3Rvcm5Eb3duPSEwLHRoaXMuX3Vuc3Vic2NyaWJlRnJvbVRva2VuQ2hhbmdlZExpc3RlbmVyKCk7bGV0IGU9cyhhc3luYygpPT57dHJ5e2F3YWl0IHRoaXMuZnMuX3RlYXJkb3duKCksYXdhaXQgdGhpcy5faW5zdGFuY2UudGVhcmRvd24oKX1maW5hbGx5e3RoaXMuX2luc3RhbmNlW2puLnJlbGVhc2VQcm94eV0oKSxhLl9pbnN0YW5jZT09PXRoaXMmJihhLl9pbnN0YW5jZT1udWxsKX19LCJ0ZWFyZG93bkZuIik7YS5fdGVhcmRvd25Qcm9taXNlPWUoKX1zdGF0aWMgYXN5bmMgYm9vdChlPXt9KXthd2FpdCB0aGlzLl90ZWFyZG93blByb21pc2UsYS5fdGVhcmRvd25Qcm9taXNlPW51bGw7bGV0e3dvcmtkaXJOYW1lOnR9PWU7aWYod2luZG93LmNyb3NzT3JpZ2luSXNvbGF0ZWQmJmUuY29lcD09PSJub25lIiYmY29uc29sZS53YXJuKGBBIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kgaGVhZGVyIGlzIHJlcXVpcmVkIGluIGNyb3NzIG9yaWdpbiBpc29sYXRlZCBlbnZpcm9ubWVudHMuClNldCB0aGUgJ2NvZXAnIG9wdGlvbiB0byAncmVxdWlyZS1jb3JwJy5gKSx0Py5pbmNsdWRlcygiLyIpfHx0PT09Ii4uInx8dD09PSIuIil0aHJvdyBuZXcgRXJyb3IoIndvcmtkaXJOYW1lIHNob3VsZCBiZSBhIHZhbGlkIGZvbGRlciBuYW1lIik7Zm9yKEt0LmJvb3RDYWxsZWQ9ITA7dWllOylhd2FpdCB1aWU7aWYoYS5faW5zdGFuY2UpdGhyb3cgbmV3IEVycm9yKCJPbmx5IGEgc2luZ2xlIFdlYkNvbnRhaW5lciBpbnN0YW5jZSBjYW4gYmUgYm9vdGVkIik7bGV0IHI9JE5hKGUpO3VpZT1yLmNhdGNoKCgpPT57fSk7dHJ5e2xldCBpPWF3YWl0IHI7cmV0dXJuIGEuX2luc3RhbmNlPWksaX1maW5hbGx5e3VpZT1udWxsfX19O3MoZTBvLCJjb25maWd1cmVBUElLZXkiKTtUTmE9MSxMTmE9MixiSmU9Y2xhc3N7c3RhdGlje3ModGhpcywiRGlyRW50SW1wbCIpfW5hbWU7X3R5cGU7Y29uc3RydWN0b3IoZSx0KXt0aGlzLm5hbWU9ZSx0aGlzLl90eXBlPXR9aXNGaWxlKCl7cmV0dXJuIHRoaXMuX3R5cGU9PT1UTmF9aXNEaXJlY3RvcnkoKXtyZXR1cm4gdGhpcy5fdHlwZT09PUxOYX19LHZKZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJGU1dhdGNoZXIiKX1fYXBpQ2xpZW50O19wYXRoO19vcHRpb25zO19saXN0ZW5lcjtfd3JhcHBlZExpc3RlbmVyO193YXRjaGVyO19jbG9zZWQ9ITE7Y29uc3RydWN0b3IoZSx0LHIsaSl7dGhpcy5fYXBpQ2xpZW50PWUsdGhpcy5fcGF0aD10LHRoaXMuX29wdGlvbnM9cix0aGlzLl9saXN0ZW5lcj1pLHRoaXMuX2FwaUNsaWVudC5fd2F0Y2hlcnMuYWRkKHRoaXMpLHRoaXMuX3dyYXBwZWRMaXN0ZW5lcj0obyxuKT0+e3RoaXMuX2xpc3RlbmVyJiYhdGhpcy5fY2xvc2VkJiZ0aGlzLl9saXN0ZW5lcihvLG4pfSx0aGlzLl9hcGlDbGllbnQuX2ZzLndhdGNoKHRoaXMuX3BhdGgsdGhpcy5fb3B0aW9ucyxmaWUodGhpcy5fd3JhcHBlZExpc3RlbmVyKSkudGhlbihvPT57aWYodGhpcy5fd2F0Y2hlcj1vLHRoaXMuX2Nsb3NlZClyZXR1cm4gdGhpcy5fdGVhcmRvd24oKX0pLmNhdGNoKGNvbnNvbGUuZXJyb3IpfWFzeW5jIGNsb3NlKCl7dGhpcy5fY2xvc2VkfHwodGhpcy5fY2xvc2VkPSEwLHRoaXMuX2FwaUNsaWVudC5fd2F0Y2hlcnMuZGVsZXRlKHRoaXMpLGF3YWl0IHRoaXMuX3RlYXJkb3duKCkpfWFzeW5jIF90ZWFyZG93bigpe2F3YWl0IHRoaXMuX3dhdGNoZXI/LmNsb3NlKCkuZmluYWxseSgoKT0+e3RoaXMuX3dhdGNoZXI/Lltqbi5yZWxlYXNlUHJveHldKCl9KX19LHhKZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJXZWJDb250YWluZXJQcm9jZXNzSW1wbCIpfW91dHB1dDtpbnB1dDtleGl0O19wcm9jZXNzO3N0ZG91dDtzdGRlcnI7Y29uc3RydWN0b3IoZSx0LHIsaSl7dGhpcy5vdXRwdXQ9dCx0aGlzLl9wcm9jZXNzPWUsdGhpcy5pbnB1dD1uZXcgV3JpdGFibGVTdHJlYW0oe3dyaXRlOnMobz0+e3RoaXMuX2dldFByb2Nlc3MoKT8ud3JpdGUobykuY2F0Y2goKCk9Pnt9KX0sIndyaXRlIil9KSx0aGlzLmV4aXQ9dGhpcy5fb25FeGl0KCksdGhpcy5zdGRvdXQ9cix0aGlzLnN0ZGVycj1pfWtpbGwoKXt0aGlzLl9wcm9jZXNzPy5raWxsKCl9cmVzaXplKGUpe3RoaXMuX2dldFByb2Nlc3MoKT8ucmVzaXplKGUpfWFzeW5jIF9vbkV4aXQoKXt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuX3Byb2Nlc3Mub25FeGl0fWZpbmFsbHl7dGhpcy5fcHJvY2Vzcz8uW2puLnJlbGVhc2VQcm94eV0oKSx0aGlzLl9wcm9jZXNzPW51bGx9fV9nZXRQcm9jZXNzKCl7cmV0dXJuIHRoaXMuX3Byb2Nlc3M9PW51bGwmJmNvbnNvbGUud2FybigiVGhpcyBwcm9jZXNzIGFscmVhZHkgZXhpdGVkIiksdGhpcy5fcHJvY2Vzc319LHlKZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJGaWxlU3lzdGVtQVBJQ2xpZW50Iil9X2ZzO193YXRjaGVycz1uZXcgU2V0KFtdKTtjb25zdHJ1Y3RvcihlKXt0aGlzLl9mcz1lfXJtKC4uLmUpe3JldHVybiB0aGlzLl9mcy5ybSguLi5lKX1hc3luYyByZWFkRmlsZShlLHQpe3JldHVybiBhd2FpdCB0aGlzLl9mcy5yZWFkRmlsZShlLHQpfWFzeW5jIHJlbmFtZShlLHQpe3JldHVybiBhd2FpdCB0aGlzLl9mcy5yZW5hbWUoZSx0KX1hc3luYyB3cml0ZUZpbGUoZSx0LHIpe2lmKHQgaW5zdGFuY2VvZiBVaW50OEFycmF5KXtsZXQgaT10LmJ1ZmZlci5zbGljZSh0LmJ5dGVPZmZzZXQsdC5ieXRlT2Zmc2V0K3QuYnl0ZUxlbmd0aCk7dD1qbi50cmFuc2ZlcihuZXcgVWludDhBcnJheShpKSxbaV0pfWF3YWl0IHRoaXMuX2ZzLndyaXRlRmlsZShlLHQscil9YXN5bmMgcmVhZGRpcihlLHQpe2xldCByPWF3YWl0IHRoaXMuX2ZzLnJlYWRkaXIoZSx0KTtyZXR1cm4gQU5hKHIpfHxFTmEocik/cjpyLm1hcChvPT5uZXcgYkplKG8ubmFtZSxvWyJTeW1ib2wodHlwZSkiXSkpfWFzeW5jIG1rZGlyKGUsdCl7cmV0dXJuIGF3YWl0IHRoaXMuX2ZzLm1rZGlyKGUsdCl9d2F0Y2goZSx0LHIpe3JldHVybiB0eXBlb2YgdD09ImZ1bmN0aW9uIiYmKHI9dCx0PW51bGwpLG5ldyB2SmUodGhpcyxlLHQscil9YXN5bmMgX3RlYXJkb3duKCl7dGhpcy5fZnNbam4ucmVsZWFzZVByb3h5XSgpLGF3YWl0IFByb21pc2UuYWxsKFsuLi50aGlzLl93YXRjaGVyc10ubWFwKGU9PmUuY2xvc2UoKSkpfX07cygkTmEsInVuc3luY2hyb25pemVkQm9vdCIpO3Mod0plLCJiaW5hcnlMaXN0ZW5lciIpO3MoZmllLCJwcm94eUxpc3RlbmVyIik7cyhETmEsInNlcnZlckZhY3RvcnkiKTtzKEFOYSwiaXNTdHJpbmdBcnJheSIpO3MoRU5hLCJpc1R5cGVkQXJyYXlDb2xsZWN0aW9uIik7cyhQTmEsInN0cmVhbVdpdGhQdXNoIik7cyhJTmEsInN5bmNTdWJzY3JpcHRpb24iKX0pO3ZhciBDNSxiNmE9ZigoKT0+e2c2YSgpO0M1PWNsYXNzIGF7c3RhdGlje3ModGhpcywiV2ViQ29udGFpbmVyRW52aXJvbm1lbnQiKX1zdGF0aWMgc2hhcmVkQ29udGFpbmVyPW51bGw7c3RhdGljIGJvb3RQcm9taXNlPW51bGw7X3JlYWR5PSExO3R5cGU9IndlYmNvbnRhaW5lciI7Z2V0IHJlYWR5KCl7cmV0dXJuIHRoaXMuX3JlYWR5fWdldCBjb250YWluZXIoKXtyZXR1cm4gYS5zaGFyZWRDb250YWluZXJ9YXN5bmMgaW5pdCgpe2lmKCEodGhpcy5fcmVhZHkmJmEuc2hhcmVkQ29udGFpbmVyKSl7aWYoYS5ib290UHJvbWlzZSl7YXdhaXQgYS5ib290UHJvbWlzZSx0aGlzLl9yZWFkeT0hMDtyZXR1cm59aWYoYS5zaGFyZWRDb250YWluZXIpe3RoaXMuX3JlYWR5PSEwO3JldHVybn1pZih0eXBlb2YgU2hhcmVkQXJyYXlCdWZmZXI+InUiKXRocm93IG5ldyBFcnJvcihgV2ViQ29udGFpbmVyIHJlcXVpcmVzIFNoYXJlZEFycmF5QnVmZmVyIHdoaWNoIGlzIG5vdCBhdmFpbGFibGUuIEVuc3VyZSB5b3VyIHNlcnZlciBzZW5kcyB0aGVzZSBoZWFkZXJzOgogIENyb3NzLU9yaWdpbi1PcGVuZXItUG9saWN5OiBzYW1lLW9yaWdpbgogIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3k6IHJlcXVpcmUtY29ycGApO2EuYm9vdFByb21pc2U9aEcuYm9vdCgpO3RyeXthLnNoYXJlZENvbnRhaW5lcj1hd2FpdCBhLmJvb3RQcm9taXNlLHRoaXMuX3JlYWR5PSEwfWNhdGNoKGUpe3Rocm93IGEuYm9vdFByb21pc2U9bnVsbCxlfX19YXN5bmMgZGVzdHJveSgpe2Euc2hhcmVkQ29udGFpbmVyJiYoYS5zaGFyZWRDb250YWluZXIudGVhcmRvd24oKSxhLnNoYXJlZENvbnRhaW5lcj1udWxsLGEuYm9vdFByb21pc2U9bnVsbCx0aGlzLl9yZWFkeT0hMSl9YXN5bmMgcmVhZEZpbGUoZSl7cmV0dXJuIHRoaXMuZW5zdXJlUmVhZHkoKSxhd2FpdCB0aGlzLmNvbnRhaW5lci5mcy5yZWFkRmlsZShlLCJ1dGYtOCIpfWFzeW5jIHdyaXRlRmlsZShlLHQpe3RoaXMuZW5zdXJlUmVhZHkoKSxhd2FpdCB0aGlzLmNvbnRhaW5lci5mcy53cml0ZUZpbGUoZSx0LCJ1dGYtOCIpfWFzeW5jIHJlYWREaXIoZSl7cmV0dXJuIHRoaXMuZW5zdXJlUmVhZHkoKSwoYXdhaXQgdGhpcy5jb250YWluZXIuZnMucmVhZGRpcihlLHt3aXRoRmlsZVR5cGVzOiEwfSkpLm1hcChyPT4oe3R5cGU6ci5pc0RpcmVjdG9yeSgpPyJkaXJlY3RvcnkiOiJmaWxlIixuYW1lOnIubmFtZSxwYXRoOmU9PT0iLyI/YC8ke3IubmFtZX1gOmAke2V9LyR7ci5uYW1lfWB9KSl9YXN5bmMgbWtkaXIoZSl7dGhpcy5lbnN1cmVSZWFkeSgpLGF3YWl0IHRoaXMuY29udGFpbmVyLmZzLm1rZGlyKGUse3JlY3Vyc2l2ZTohMH0pfWFzeW5jIHJtKGUsdCl7dGhpcy5lbnN1cmVSZWFkeSgpLGF3YWl0IHRoaXMuY29udGFpbmVyLmZzLnJtKGUse3JlY3Vyc2l2ZTp0Py5yZWN1cnNpdmU/PyExfSl9YXN5bmMgZXhpc3RzKGUpe3RoaXMuZW5zdXJlUmVhZHkoKTt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuY29udGFpbmVyLmZzLnJlYWRGaWxlKGUpLCEwfWNhdGNoe3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5jb250YWluZXIuZnMucmVhZGRpcihlKSwhMH1jYXRjaHtyZXR1cm4hMX19fXdhdGNoKGUsdCxyKXt0aGlzLmVuc3VyZVJlYWR5KCk7bGV0IGk9dGhpcy5jb250YWluZXIuZnMud2F0Y2goZSx7cmVjdXJzaXZlOnI/LnJlY3Vyc2l2ZT8/ITF9LHQpO3JldHVybntzdG9wOnMoKCk9PmkuY2xvc2UoKSwic3RvcCIpfX1hc3luYyBzcGF3bihlLHQ9W10pe3RoaXMuZW5zdXJlUmVhZHkoKTtsZXQgcj1hd2FpdCB0aGlzLmNvbnRhaW5lci5zcGF3bihlLHQpO3JldHVybntvdXRwdXQ6ci5vdXRwdXQsaW5wdXQ6ci5pbnB1dCxleGl0OnIuZXhpdCxraWxsOnMoKCk9PnIua2lsbCgpLCJraWxsIil9fWFzeW5jIG1vdW50KGUpe3RoaXMuZW5zdXJlUmVhZHkoKSxhd2FpdCB0aGlzLmNvbnRhaW5lci5tb3VudChlKX1nZXRDb250YWluZXIoKXtyZXR1cm4gdGhpcy5lbnN1cmVSZWFkeSgpLHRoaXMuY29udGFpbmVyfWVuc3VyZVJlYWR5KCl7aWYoIXRoaXMuX3JlYWR5fHwhdGhpcy5jb250YWluZXIpdGhyb3cgbmV3IEVycm9yKCJXZWJDb250YWluZXJFbnZpcm9ubWVudCBub3QgaW5pdGlhbGl6ZWQuIENhbGwgaW5pdCgpIGZpcnN0LiIpfX19KTt2YXIgdjZhPWYoKCk9PntiNmEoKX0pO3ZhciBoaWU9ZigoKT0+e09kYSgpO3Y2YSgpfSk7dmFyIHg2YT1mKCgpPT57SFllKCl9KTt2YXIgbUcsTUplPWYoKCk9PnttRz1jbGFzc3tzdGF0aWN7cyh0aGlzLCJUZXJtaW5hbFRhYk1hbmFnZXIiKX10YWJzPW5ldyBNYXA7dGFiQ291bnRlcj0wO3h0ZXJtQnVuZGxlPW51bGw7eHRlcm1GaXRBZGRvbkJ1bmRsZT1udWxsO3NldFh0ZXJtTW9kdWxlcyhlLHQpe3RoaXMueHRlcm1CdW5kbGU9ZSx0aGlzLnh0ZXJtRml0QWRkb25CdW5kbGU9dH1nZW5lcmF0ZVRhYklkKCl7cmV0dXJuIHRoaXMudGFiQ291bnRlcisrLGB0ZXJtaW5hbC0ke3RoaXMudGFiQ291bnRlcn0tJHtEYXRlLm5vdygpfWB9Z2V0RGVmYXVsdExhYmVsKGUsdCl7c3dpdGNoKGUpe2Nhc2Uic2hlbGwiOnJldHVybiJiYXNoIjtjYXNlInNjcmlwdCI6cmV0dXJuIHQ/LnNjcmlwdE5hbWV8fCJzY3JpcHQiO2Nhc2UicGFja2FnZS11cGRhdGUiOnJldHVybiB0Py5wYWNrYWdlTmFtZT9gdXBkYXRlICR7dC5wYWNrYWdlTmFtZX1gOiJ1cGRhdGUiO2Nhc2UiY3VzdG9tIjpyZXR1cm4gdD8uY29tbWFuZHx8InByb2Nlc3MiO2RlZmF1bHQ6cmV0dXJuInRlcm1pbmFsIn19Z2V0RGVmYXVsdEljb24oZSl7c3dpdGNoKGUpe2Nhc2Uic2hlbGwiOnJldHVybiJsdWNpZGU6dGVybWluYWwiO2Nhc2Uic2NyaXB0IjpyZXR1cm4ibHVjaWRlOnBsYXkiO2Nhc2UicGFja2FnZS11cGRhdGUiOnJldHVybiJsdWNpZGU6cGFja2FnZUNoZWNrIjtjYXNlImN1c3RvbSI6cmV0dXJuImx1Y2lkZTpjb2RlIjtkZWZhdWx0OnJldHVybiJsdWNpZGU6dGVybWluYWwifX1nZXRUZXJtaW5hbFRoZW1lKGUpe3JldHVybiBlP3tiYWNrZ3JvdW5kOiIjZmZmZmZmIixmb3JlZ3JvdW5kOiIjMzMzMzMzIixjdXJzb3I6IiMzMzMzMzMiLGN1cnNvckFjY2VudDoiI2ZmZmZmZiIsc2VsZWN0aW9uOiJyZ2JhKDAsIDAsIDAsIDAuMikiLGJsYWNrOiIjMDAwMDAwIixyZWQ6IiNjZDMxMzEiLGdyZWVuOiIjMDBiYzAwIix5ZWxsb3c6IiM5NDk4MDAiLGJsdWU6IiMwNDUxYTUiLG1hZ2VudGE6IiNiYzA1YmMiLGN5YW46IiMwNTk4YmMiLHdoaXRlOiIjNTU1NTU1IixicmlnaHRCbGFjazoiIzY2NjY2NiIsYnJpZ2h0UmVkOiIjY2QzMTMxIixicmlnaHRHcmVlbjoiIzE0Y2UxNCIsYnJpZ2h0WWVsbG93OiIjYjViYTAwIixicmlnaHRCbHVlOiIjMDQ1MWE1IixicmlnaHRNYWdlbnRhOiIjYmMwNWJjIixicmlnaHRDeWFuOiIjMDU5OGJjIixicmlnaHRXaGl0ZToiI2E1YTVhNSJ9OntiYWNrZ3JvdW5kOiIjMDAwMDAwIixmb3JlZ3JvdW5kOiIjZmZmZmZmIixjdXJzb3I6IiNmZmZmZmYiLGN1cnNvckFjY2VudDoiIzAwMDAwMCIsc2VsZWN0aW9uOiJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikifX1jcmVhdGVUYWIoZSx0KXtpZighdGhpcy54dGVybUJ1bmRsZXx8IXRoaXMueHRlcm1GaXRBZGRvbkJ1bmRsZSl0aHJvdyBuZXcgRXJyb3IoIlRlcm1pbmFsVGFiTWFuYWdlcjogeHRlcm0gbW9kdWxlcyBub3QgaW5pdGlhbGl6ZWQuIENhbGwgc2V0WHRlcm1Nb2R1bGVzKCkgZmlyc3QuIik7bGV0IHI9dGhpcy5nZW5lcmF0ZVRhYklkKCksaT1lLnR5cGUsbz1uZXcgdGhpcy54dGVybUJ1bmRsZS5UZXJtaW5hbCh7Y29udmVydEVvbDohMCxjdXJzb3JCbGluazohMCx0aGVtZTp0aGlzLmdldFRlcm1pbmFsVGhlbWUodCksZm9udEZhbWlseTonTWVubG8sIE1vbmFjbywgIkNvdXJpZXIgTmV3IiwgbW9ub3NwYWNlJyxmb250U2l6ZToxMyxsaW5lSGVpZ2h0OjEuMn0pLG49bmV3IHRoaXMueHRlcm1GaXRBZGRvbkJ1bmRsZS5GaXRBZGRvbjtvLmxvYWRBZGRvbihuKTtsZXQgbD17aWQ6cixsYWJlbDplLmxhYmVsfHx0aGlzLmdldERlZmF1bHRMYWJlbChpLGUubWV0YWRhdGEpLGljb25OYW1lOmUuaWNvbk5hbWV8fHRoaXMuZ2V0RGVmYXVsdEljb24oaSksdHlwZTppLGNsb3NlYWJsZTplLmNsb3NlYWJsZT8/aSE9PSJzaGVsbCIsdGVybWluYWw6byxmaXRBZGRvbjpuLHByb2Nlc3M6bnVsbCxpbnB1dFdyaXRlcjpudWxsLGV4aXRlZDohMSxleGl0Q29kZTpudWxsLGNyZWF0ZWRBdDpEYXRlLm5vdygpLG1ldGFkYXRhOmUubWV0YWRhdGF9O3JldHVybiB0aGlzLnRhYnMuc2V0KHIsbCksbH1nZXRUYWIoZSl7cmV0dXJuIHRoaXMudGFicy5nZXQoZSl9Z2V0QWxsVGFicygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMudGFicy52YWx1ZXMoKSkuc29ydCgoZSx0KT0+ZS5jcmVhdGVkQXQtdC5jcmVhdGVkQXQpfWdldFRhYkNvdW50KCl7cmV0dXJuIHRoaXMudGFicy5zaXplfWhhc1RhYihlKXtyZXR1cm4gdGhpcy50YWJzLmhhcyhlKX1jbG9zZVRhYihlKXtsZXQgdD10aGlzLnRhYnMuZ2V0KGUpO2lmKCF0KXJldHVybiExO2lmKHQucHJvY2VzcyYmIXQuZXhpdGVkKXRyeXt0LnByb2Nlc3Mua2lsbCgpfWNhdGNoKHIpe2NvbnNvbGUud2FybigiRmFpbGVkIHRvIGtpbGwgcHJvY2VzczoiLHIpfXRyeXt0LnRlcm1pbmFsLmRpc3Bvc2UoKX1jYXRjaChyKXtjb25zb2xlLndhcm4oIkZhaWxlZCB0byBkaXNwb3NlIHRlcm1pbmFsOiIscil9cmV0dXJuIHRoaXMudGFicy5kZWxldGUoZSksITB9cmVuYW1lVGFiKGUsdCl7bGV0IHI9dGhpcy50YWJzLmdldChlKTtyZXR1cm4gcj8oci5sYWJlbD10LCEwKTohMX1tYXJrVGFiRXhpdGVkKGUsdCl7bGV0IHI9dGhpcy50YWJzLmdldChlKTtyJiYoci5leGl0ZWQ9ITAsci5leGl0Q29kZT10KX1zZXRUYWJQcm9jZXNzKGUsdCxyKXtsZXQgaT10aGlzLnRhYnMuZ2V0KGUpO2kmJihpLnByb2Nlc3M9dCxpLmlucHV0V3JpdGVyPXIpfXVwZGF0ZUFsbFRoZW1lcyhlKXtsZXQgdD10aGlzLmdldFRlcm1pbmFsVGhlbWUoZSk7Zm9yKGxldCByIG9mIHRoaXMudGFicy52YWx1ZXMoKSlyLnRlcm1pbmFsLm9wdGlvbnMudGhlbWU9dH1kaXNwb3NlQWxsKCl7Zm9yKGxldFtlXW9mIHRoaXMudGFicyl0aGlzLmNsb3NlVGFiKGUpO3RoaXMudGFicy5jbGVhcigpfX19KTt2YXIgeTZhPXt9O3J0KHk2YSx7RGVlc1dvcmtzcGFjZVRlcm1pbmFsOigpPT5rSmV9KTt2YXIgVTQsY28sa0plLGdHPWYoKCk9PntsZSgpO2VhKCk7UWUoKTtoaWUoKTt2YSgpO0tzZSgpO01KZSgpO0xjKCk7VTQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGNvPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxrSmU9KCgpPT57bGV0IGE9W2llKCJkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdO3ZhciBCPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzV29ya3NwYWNlVGVybWluYWwiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKCldLHU9WyQoKV0seD1bJCh7dHlwZTpOdW1iZXJ9KV0seT1bJCh7dHlwZTpCb29sZWFufSldLE49W0soKV0sTz1bSygpXSxVNCh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImV4ZWN1dGlvbkVudmlyb25tZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJleGVjdXRpb25FbnZpcm9ubWVudCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmV4ZWN1dGlvbkVudmlyb25tZW50LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuZXhlY3V0aW9uRW52aXJvbm1lbnQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxuLGwpLFU0KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2V0dXBDb21tYW5kIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJzZXR1cENvbW1hbmQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5zZXR1cENvbW1hbmQsImdldCIpLHNldDpzKChTLFApPT57Uy5zZXR1cENvbW1hbmQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxjLHApLFU0KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW52aXJvbm1lbnRWYXJpYWJsZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImVudmlyb25tZW50VmFyaWFibGVzImluIFMsImhhcyIpLGdldDpzKFM9PlMuZW52aXJvbm1lbnRWYXJpYWJsZXMsImdldCIpLHNldDpzKChTLFApPT57Uy5lbnZpcm9ubWVudFZhcmlhYmxlcz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG0sdiksVTQodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJCYXJXaWR0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idGFiQmFyV2lkdGgiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy50YWJCYXJXaWR0aCwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnRhYkJhcldpZHRoPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYixnKSxVNCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dUYWJCYXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InNob3dUYWJCYXIiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5zaG93VGFiQmFyLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1Muc2hvd1RhYkJhcj1QfSwic2V0Iil9LG1ldGFkYXRhOk19LGssQyksVTQodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJ0YWJzImluIFMsImhhcyIpLGdldDpzKFM9PlMudGFicywiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnRhYnM9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxfLHopLFU0KHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aXZlVGFiSWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImFjdGl2ZVRhYklkImluIFMsImhhcyIpLGdldDpzKFM9PlMuYWN0aXZlVGFiSWQsImdldCIpLHNldDpzKChTLFApPT57Uy5hY3RpdmVUYWJJZD1QfSwic2V0Iil9LG1ldGFkYXRhOk19LFQsRSksVTQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCx0KSxCPXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1zdGF0aWMgZGVtbz1zKCgpPT57bGV0IE09bmV3IEM1O3JldHVybiB3YDxkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbCAuZXhlY3V0aW9uRW52aXJvbm1lbnQ9JHtNfT48L2RlZXMtd29ya3NwYWNlLXRlcm1pbmFsPmB9LCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJXb3Jrc3BhY2UiXTtyZXNpemVPYnNlcnZlcjt0YWJNYW5hZ2VyOyNlPWNvKHRoaXMsbixudWxsKTtnZXQgZXhlY3V0aW9uRW52aXJvbm1lbnQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZXhlY3V0aW9uRW52aXJvbm1lbnQoTSl7dGhpcy4jZT1NfSN0PShjbyh0aGlzLGwpLGNvKHRoaXMsYywiIikpO2dldCBzZXR1cENvbW1hbmQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2V0dXBDb21tYW5kKE0pe3RoaXMuI3Q9TX0jYT0oY28odGhpcyxwKSxjbyh0aGlzLG0se30pKTtnZXQgZW52aXJvbm1lbnRWYXJpYWJsZXMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZW52aXJvbm1lbnRWYXJpYWJsZXMoTSl7dGhpcy4jYT1NfSNyPShjbyh0aGlzLHYpLGNvKHRoaXMsYiwxNjApKTtnZXQgdGFiQmFyV2lkdGgoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdGFiQmFyV2lkdGgoTSl7dGhpcy4jcj1NfSNzPShjbyh0aGlzLGcpLGNvKHRoaXMsaywhMCkpO2dldCBzaG93VGFiQmFyKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNob3dUYWJCYXIoTSl7dGhpcy4jcz1NfSNpPShjbyh0aGlzLEMpLGNvKHRoaXMsXyxbXSkpO2dldCB0YWJzKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHRhYnMoTSl7dGhpcy4jaT1NfSNvPShjbyh0aGlzLHopLGNvKHRoaXMsVCxudWxsKSk7Z2V0IGFjdGl2ZVRhYklkKCl7cmV0dXJuIHRoaXMuI299c2V0IGFjdGl2ZVRhYklkKE0pe3RoaXMuI289TX10ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uPShjbyh0aGlzLEUpLG51bGwpO2lzQnJpZ2h0PSExO3Rlcm1pbmFsQWN0aW9uYmFyPW51bGw7ZW52aXJvbm1lbnREZWZlcnJlZD1uZXcgSHQuc21hcnRwcm9taXNlLkRlZmVycmVkO2Vudmlyb25tZW50UHJvbWlzZT10aGlzLmVudmlyb25tZW50RGVmZXJyZWQucHJvbWlzZTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy50YWJNYW5hZ2VyPW5ldyBtRyx0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMuaGFuZGxlUmVzaXplKCl9KX1zdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICogewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1jb250ZW50IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgfQoKICAgICAgI2FjdGl2ZS10ZXJtaW5hbC1jb250YWluZXIgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1pbi1oZWlnaHQ6IDA7CiAgICAgICAgbWFyZ2luOiAyMHB4OwogICAgICB9CgogICAgICAudGVybWluYWwtY29udGVudCBkZWVzLWFjdGlvbmJhciB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC8qIFRhYiBiYXIgb24gdGhlIHJpZ2h0IHNpZGUgKi8KICAgICAgLnRhYi1iYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTYlKSIsImhzbCgwIDAlIDclKSIpfTsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAudGFiLWJhci1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OCUpIiwiaHNsKDAgMCUgMTIlKSIpfTsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQ1JSkiLCJoc2woMCAwJSA1NSUpIil9OwogICAgICB9CgogICAgICAudGFiLWJhci10aXRsZSB7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAudGFiLWJhci1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAudGFiLWFjdGlvbiB7CiAgICAgICAgd2lkdGg6IDIycHg7CiAgICAgICAgaGVpZ2h0OiAyMnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWItYWN0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODglKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAzMCUpIiwiaHNsKDAgMCUgODAlKSIpfTsKICAgICAgfQoKICAgICAgLnRhYi1saXN0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICB9CgogICAgICAudGVybWluYWwtdGFiIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC10YWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5MCUpIiwiaHNsKDAgMCUgMTIlKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDI1JSkiLCJoc2woMCAwJSA4MCUpIil9OwogICAgICB9CgogICAgICAudGVybWluYWwtdGFiLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA5NSUpIiwiaHNsKDIxMCAzMCUgMTUlKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA0MCUpIiwiaHNsKDIxMCAxMDAlIDcwJSkiKX07CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC10YWIuZXhpdGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgIH0KCiAgICAgIC50YWItaWNvbiB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC50YWItaWNvbi5ydW5uaW5nIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIgNzAlIDQwJSkiLCJoc2woMTQyIDcwJSA1NSUpIil9OwogICAgICB9CgogICAgICAudGFiLWxhYmVsIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmV4aXQtYmFkZ2UgewogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBwYWRkaW5nOiAxcHggNXB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZXhpdC1iYWRnZS5zdWNjZXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDE0MiA3MCUgOTAlKSIsImhzbCgxNDIgMzAlIDIwJSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMTQyIDcwJSAzNSUpIiwiaHNsKDE0MiA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLmV4aXQtYmFkZ2UuZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgOTMlKSIsImhzbCgwIDMwJSAyMCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgNzAlIDQ1JSkiLCJoc2woMCA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLnRhYi1jbG9zZSB7CiAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLXRhYjpob3ZlciAudGFiLWNsb3NlIHsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgIH0KCiAgICAgIC50YWItY2xvc2U6aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODUlKSIsImhzbCgwIDAlIDI1JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgNTAlKSIsImhzbCgwIDcwJSA2MCUpIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA1MCUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLyogeHRlcm0uanMgc3R5bGVzICovCiAgICAgIC54dGVybSB7CiAgICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYScgMDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC54dGVybS5mb2N1cywKICAgICAgLnh0ZXJtOmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLWhlbHBlcnMgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgei1pbmRleDogNTsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS1oZWxwZXItdGV4dGFyZWEgewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgYm9yZGVyOiAwOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBsZWZ0OiAtOTk5OWVtOwogICAgICAgIHRvcDogMDsKICAgICAgICB3aWR0aDogMDsKICAgICAgICBoZWlnaHQ6IDA7CiAgICAgICAgei1pbmRleDogLTU7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHJlc2l6ZTogbm9uZTsKICAgICAgfQoKICAgICAgLnh0ZXJtIC5jb21wb3NpdGlvbi12aWV3IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwMDAwMDAiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzMzMzMzIiwiI2ZmZmZmZiIpfTsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIHotaW5kZXg6IDE7CiAgICAgIH0KCiAgICAgIC54dGVybSAuY29tcG9zaXRpb24tdmlldy5hY3RpdmUgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLXZpZXdwb3J0IHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwMDAwMDAiKX07CiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLXNjcmVlbiB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLXNjcmVlbiBjYW52YXMgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogMDsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS1zY3JvbGwtYXJlYSB7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICB9CgogICAgICAueHRlcm0tY2hhci1tZWFzdXJlLWVsZW1lbnQgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAtOTk5OWVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7CiAgICAgIH0KCiAgICAgIC54dGVybSB7CiAgICAgICAgY3Vyc29yOiB0ZXh0OwogICAgICB9CgogICAgICAueHRlcm0uZW5hYmxlLW1vdXNlLWV2ZW50cyB7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB9CgogICAgICAueHRlcm0ueHRlcm0tY3Vyc29yLXBvaW50ZXIgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLnh0ZXJtLmNvbHVtbi1zZWxlY3QuZm9jdXMgewogICAgICAgIGN1cnNvcjogY3Jvc3NoYWlyOwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLWFjY2Vzc2liaWxpdHksCiAgICAgIC54dGVybSAueHRlcm0tbWVzc2FnZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC54dGVybSAubGl2ZS1yZWdpb24gewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAtOTk5OXB4OwogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnh0ZXJtLWRpbSB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAueHRlcm0tdW5kZXJsaW5lIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IE09dGhpcy5hY3RpdmVUYWJJZD90aGlzLnRhYk1hbmFnZXIuZ2V0VGFiKHRoaXMuYWN0aXZlVGFiSWQpOm51bGw7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InRlcm1pbmFsLWNvbnRhaW5lciI+CiAgICAgICAgPCEtLSBNYWluIHRlcm1pbmFsIGFyZWEgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0idGVybWluYWwtY29udGVudCI+CiAgICAgICAgICAke00/d2AKICAgICAgICAgICAgPGRpdiBpZD0iYWN0aXZlLXRlcm1pbmFsLWNvbnRhaW5lciI+PC9kaXY+CiAgICAgICAgICBgOndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTp0ZXJtaW5hbCJ9IGljb25TaXplPSIzMiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPHNwYW4+Tm8gdGVybWluYWwgb3Blbjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfQogICAgICAgICAgPGRlZXMtYWN0aW9uYmFyPjwvZGVlcy1hY3Rpb25iYXI+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gVmVydGljYWwgdGFiIGJhciBvbiB0aGUgcmlnaHQgLS0+CiAgICAgICAgJHt0aGlzLnNob3dUYWJCYXI/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1iYXIiIHN0eWxlPSJ3aWR0aDogJHt0aGlzLnRhYkJhcldpZHRofXB4Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWJhci1oZWFkZXIiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWItYmFyLXRpdGxlIj5UZXJtaW5hbHM8L3NwYW4+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWJhci1hY3Rpb25zIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1hY3Rpb24iIEBjbGljaz0ke3RoaXMuaGFuZGxlQWRkVGFifSB0aXRsZT0iTmV3IFRlcm1pbmFsIj4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6cGx1cyJ9IGljb25TaXplPSIxNCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItbGlzdCI+CiAgICAgICAgICAgICAgJHt0aGlzLnRhYnMubWFwKFM9PndgCiAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0ZXJtaW5hbC10YWIgJHtTLmlkPT09dGhpcy5hY3RpdmVUYWJJZD8iYWN0aXZlIjoiIn0gJHtTLmV4aXRlZD8iZXhpdGVkIjoiIn0iCiAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLnN3aXRjaFRvVGFiKFMuaWQpfQogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uCiAgICAgICAgICAgICAgICAgICAgLmljb249JHtTLmljb25OYW1lfQogICAgICAgICAgICAgICAgICAgIGljb25TaXplPSIxNCIKICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGFiLWljb24gJHtTLnByb2Nlc3MmJiFTLmV4aXRlZD8icnVubmluZyI6IiJ9IgogICAgICAgICAgICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWItbGFiZWwiPiR7Uy5sYWJlbH08L3NwYW4+CiAgICAgICAgICAgICAgICAgICR7Uy5leGl0ZWQ/d2AKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZXhpdC1iYWRnZSAke1MuZXhpdENvZGU9PT0wPyJzdWNjZXNzIjoiZXJyb3IifSI+CiAgICAgICAgICAgICAgICAgICAgICAke1MuZXhpdENvZGV9CiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgICAke1MuY2xvc2VhYmxlP3dgCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhYi1jbG9zZSIgQGNsaWNrPSR7UD0+dGhpcy5oYW5kbGVUYWJDbG9zZShQLFMuaWQpfT4KICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOngifSBpY29uU2l6ZT0iMTIiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGApfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXtsZXQgTT1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZTt0aGlzLmlzQnJpZ2h0PU0udGhlbWVNYW5hZ2VyLmdvQnJpZ2h0Qm9vbGVhbix0aGlzLnRlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb249TS50aGVtZU1hbmFnZXIudGhlbWVPYnNlcnZhYmxlLnN1YnNjcmliZShGPT57dGhpcy5pc0JyaWdodD1GLHRoaXMudGFiTWFuYWdlci51cGRhdGVBbGxUaGVtZXMoRil9KTtsZXQgUz1Ocy5nZXRJbnN0YW5jZSgpLFtQLEFdPWF3YWl0IFByb21pc2UuYWxsKFtTLmxvYWRYdGVybSgpLFMubG9hZFh0ZXJtRml0QWRkb24oKV0pO3RoaXMudGFiTWFuYWdlci5zZXRYdGVybU1vZHVsZXMoUCxBKSxhd2FpdCB0aGlzLmNyZWF0ZVNoZWxsVGFiKCl9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7bGV0IE09dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgiYWN0aXZlLXRlcm1pbmFsLWNvbnRhaW5lciIpO00mJnRoaXMucmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKE0pLHRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbiYmKHRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbj1udWxsKSx0aGlzLnRhYk1hbmFnZXIuZGlzcG9zZUFsbCgpLGF3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCl9YXN5bmMgaGFuZGxlQWRkVGFiKCl7YXdhaXQgdGhpcy5jcmVhdGVTaGVsbFRhYigpfWhhbmRsZVRhYkNsb3NlKE0sUyl7TS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmNsb3NlVGFiKFMpfXN3aXRjaFRvVGFiKE0pe2lmKE09PT10aGlzLmFjdGl2ZVRhYklkKXJldHVybjtsZXQgUz10aGlzLnRhYk1hbmFnZXIuZ2V0VGFiKE0pO2lmKCFTKXJldHVybjtsZXQgUD10aGlzLmFjdGl2ZVRhYklkO3RoaXMuYWN0aXZlVGFiSWQmJnRoaXMuZGV0YWNoQWN0aXZlVGVybWluYWwoKSx0aGlzLmFjdGl2ZVRhYklkPU0sdGhpcy50YWJzPXRoaXMudGFiTWFuYWdlci5nZXRBbGxUYWJzKCksdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT57dGhpcy5hdHRhY2hUZXJtaW5hbFRvQ29udGFpbmVyKFMpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInRhYi1zd2l0Y2hlZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt0YWJJZDpNLHByZXZpb3VzVGFiSWQ6UH19KSl9KX1kZXRhY2hBY3RpdmVUZXJtaW5hbCgpe2xldCBNPXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoImFjdGl2ZS10ZXJtaW5hbC1jb250YWluZXIiKTtNJiYoTS5pbm5lckhUTUw9IiIpfWF0dGFjaFRlcm1pbmFsVG9Db250YWluZXIoTSl7bGV0IFM9dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgiYWN0aXZlLXRlcm1pbmFsLWNvbnRhaW5lciIpO1MmJih0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUoUyksUy5pbm5lckhUTUw9IiIsTS50ZXJtaW5hbC5vcGVuKFMpLE0uZml0QWRkb24uZml0KCksTS50ZXJtaW5hbC5mb2N1cygpKX1oYW5kbGVSZXNpemUoKXtpZih0aGlzLmFjdGl2ZVRhYklkKXtsZXQgTT10aGlzLnRhYk1hbmFnZXIuZ2V0VGFiKHRoaXMuYWN0aXZlVGFiSWQpO00mJk0uZml0QWRkb24uZml0KCl9fWFzeW5jIHNwYXduUHJvY2Vzc0ZvclRhYihNLFMsUD1bXSl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpe00udGVybWluYWwud3JpdGUoIlx4MUJbMzFtIiksTS50ZXJtaW5hbC53cml0ZShgXHUyNzRDIE5vIGV4ZWN1dGlvbiBlbnZpcm9ubWVudCBhdmFpbGFibGUuXHIKYCksTS50ZXJtaW5hbC53cml0ZSgiXHgxQlswbSIpO3JldHVybn10cnl7dGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkeXx8KE0udGVybWluYWwud3JpdGUoYEluaXRpYWxpemluZyBlbnZpcm9ubWVudC4uLlxyCmApLGF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuaW5pdCgpKTtsZXQgQT1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnNwYXduKFMsUCk7QS5vdXRwdXQucGlwZVRvKG5ldyBXcml0YWJsZVN0cmVhbSh7d3JpdGU6cyhXPT57TS50ZXJtaW5hbC53cml0ZShXKX0sIndyaXRlIil9KSk7bGV0IEY9QS5pbnB1dC5nZXRXcml0ZXIoKTtNLnRlcm1pbmFsLm9uRGF0YShXPT57Ri53cml0ZShXKX0pLHRoaXMudGFiTWFuYWdlci5zZXRUYWJQcm9jZXNzKE0uaWQsQSxGKSx0aGlzLnRhYnM9dGhpcy50YWJNYW5hZ2VyLmdldEFsbFRhYnMoKSxBLmV4aXQudGhlbihXPT57dGhpcy5oYW5kbGVQcm9jZXNzRXhpdChNLmlkLFcpfSl9Y2F0Y2goQSl7TS50ZXJtaW5hbC53cml0ZSgiXHgxQlszMW0iKSxNLnRlcm1pbmFsLndyaXRlKGBcdTI3NEMgRmFpbGVkIHRvIHNwYXduIHByb2Nlc3M6ICR7QX1ccgpgKSxNLnRlcm1pbmFsLndyaXRlKCJceDFCWzBtIiksY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHNwYXduIHByb2Nlc3M6IixBKX19aGFuZGxlUHJvY2Vzc0V4aXQoTSxTKXtsZXQgUD10aGlzLnRhYk1hbmFnZXIuZ2V0VGFiKE0pO2lmKCFQKXJldHVybjt0aGlzLnRhYk1hbmFnZXIubWFya1RhYkV4aXRlZChNLFMpO2xldCBBPVM9PT0wP2BccgpceDFCWzMybVtQcm9jZXNzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHldXHgxQlswbVxyCmA6YFxyClx4MUJbMzFtW1Byb2Nlc3MgZXhpdGVkIHdpdGggY29kZSAke1N9XVx4MUJbMG1ccgpgO1AudGVybWluYWwud3JpdGUoQSksdGhpcy50YWJzPXRoaXMudGFiTWFuYWdlci5nZXRBbGxUYWJzKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicHJvY2Vzcy1jb21wbGV0ZSIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt0YWJJZDpNLGV4aXRDb2RlOlN9fSkpLFAuY2xvc2VhYmxlJiZ0aGlzLnNob3dFeGl0ZWRUYWJBY3Rpb25iYXIoTSxQLmxhYmVsLFMpfWFzeW5jIHNob3dFeGl0ZWRUYWJBY3Rpb25iYXIoTSxTLFApe2xldCBBPVA9PT0wOyhhd2FpdCB0aGlzLnNob3dBY3Rpb25iYXIoe21lc3NhZ2U6QT9gIiR7U30iIGNvbXBsZXRlZC4gQ2xvc2UgdGFiP2A6YCIke1N9IiBleGl0ZWQgKGNvZGUgJHtQfSkuIENsb3NlIHRhYj9gLHR5cGU6QT8iaW5mbyI6Indhcm5pbmciLGljb246QT8ibHVjaWRlOmNoZWNrQ2lyY2xlIjoibHVjaWRlOmFsZXJ0VHJpYW5nbGUiLGFjdGlvbnM6W3tpZDoiY2xvc2UiLGxhYmVsOiJDbG9zZSBUYWIiLHByaW1hcnk6ITB9LHtpZDoia2VlcCIsbGFiZWw6IktlZXAgT3BlbiJ9XSx0aW1lb3V0OntkdXJhdGlvbjoxZTQsZGVmYXVsdEFjdGlvbklkOiJjbG9zZSJ9LGRpc21pc3NpYmxlOiEwfSkpLmFjdGlvbklkPT09ImNsb3NlIiYmdGhpcy5jbG9zZVRhYihNKX1hc3luYyBjcmVhdGVTaGVsbFRhYihNKXtsZXQgUz10aGlzLnRhYk1hbmFnZXIuY3JlYXRlVGFiKHt0eXBlOiJzaGVsbCIsbGFiZWw6TXx8YGJhc2ggJHt0aGlzLnRhYk1hbmFnZXIuZ2V0VGFiQ291bnQoKSsxfWAsY2xvc2VhYmxlOnRoaXMudGFiTWFuYWdlci5nZXRUYWJDb3VudCgpPjB9LHRoaXMuaXNCcmlnaHQpO3JldHVybiB0aGlzLnRhYnM9dGhpcy50YWJNYW5hZ2VyLmdldEFsbFRhYnMoKSx0aGlzLnN3aXRjaFRvVGFiKFMuaWQpLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsYXdhaXQgdGhpcy5zcGF3blByb2Nlc3NGb3JUYWIoUywianNoIiksdGhpcy50YWJNYW5hZ2VyLmdldFRhYkNvdW50KCk9PT0xJiZ0aGlzLnNldHVwQ29tbWFuZCYmKGF3YWl0IHRoaXMud2FpdEZvclByb21wdChTLnRlcm1pbmFsLCJ+LyIpLFMuaW5wdXRXcml0ZXImJlMuaW5wdXRXcml0ZXIud3JpdGUodGhpcy5zZXR1cENvbW1hbmQpKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItY3JlYXRlZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt0YWJJZDpTLmlkfX0pKSxTLmlkfWFzeW5jIGNyZWF0ZVByb2Nlc3NUYWIoTSl7bGV0IFM9dGhpcy50YWJNYW5hZ2VyLmNyZWF0ZVRhYihNLHRoaXMuaXNCcmlnaHQpO3JldHVybiB0aGlzLnRhYnM9dGhpcy50YWJNYW5hZ2VyLmdldEFsbFRhYnMoKSxNLnN3aXRjaFRvVGFiIT09ITEmJnRoaXMuc3dpdGNoVG9UYWIoUy5pZCksYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSxNLmNvbW1hbmQmJmF3YWl0IHRoaXMuc3Bhd25Qcm9jZXNzRm9yVGFiKFMsTS5jb21tYW5kLE0uYXJncyksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGFiLWNyZWF0ZWQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwLGRldGFpbDp7dGFiSWQ6Uy5pZH19KSksUy5pZH1nZXRBY3RpdmVUYWIoKXtyZXR1cm4gdGhpcy5hY3RpdmVUYWJJZCYmdGhpcy50YWJNYW5hZ2VyLmdldFRhYih0aGlzLmFjdGl2ZVRhYklkKXx8bnVsbH1nZXRUYWJzKCl7cmV0dXJuIHRoaXMudGFiTWFuYWdlci5nZXRBbGxUYWJzKCl9c2VsZWN0VGFiKE0pe3JldHVybiB0aGlzLnRhYk1hbmFnZXIuaGFzVGFiKE0pPyh0aGlzLnN3aXRjaFRvVGFiKE0pLCEwKTohMX1jbG9zZVRhYihNKXtsZXQgUz10aGlzLnRhYk1hbmFnZXIuZ2V0VGFiKE0pO2lmKCFTfHwhUy5jbG9zZWFibGUpcmV0dXJuITE7aWYoTT09PXRoaXMuYWN0aXZlVGFiSWQpe2xldCBQPXRoaXMudGFiTWFuYWdlci5nZXRBbGxUYWJzKCksQT1QLmZpbmRJbmRleChXPT5XLmlkPT09TSksRj1QW0ErMV18fFBbQS0xXTtGP3RoaXMuc3dpdGNoVG9UYWIoRi5pZCk6KHRoaXMuYWN0aXZlVGFiSWQ9bnVsbCx0aGlzLmRldGFjaEFjdGl2ZVRlcm1pbmFsKCkpfXJldHVybiB0aGlzLnRhYk1hbmFnZXIuY2xvc2VUYWIoTSksdGhpcy50YWJzPXRoaXMudGFiTWFuYWdlci5nZXRBbGxUYWJzKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGFiLWNsb3NlZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt0YWJJZDpNfX0pKSwhMH13cml0ZVRvVGFiKE0sUyl7bGV0IFA9dGhpcy50YWJNYW5hZ2VyLmdldFRhYihNKTtyZXR1cm4gUD8oUC50ZXJtaW5hbC53cml0ZShTKSwhMCk6ITF9c2VuZElucHV0VG9UYWIoTSxTKXtsZXQgUD10aGlzLnRhYk1hbmFnZXIuZ2V0VGFiKE0pO3JldHVybiFQfHwhUC5pbnB1dFdyaXRlcj8hMTooUC5pbnB1dFdyaXRlci53cml0ZShTKSwhMCl9YXN5bmMgc2hvd0FjdGlvbmJhcihNKXtyZXR1cm4gdGhpcy50ZXJtaW5hbEFjdGlvbmJhcnx8KHRoaXMudGVybWluYWxBY3Rpb25iYXI9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLWFjdGlvbmJhciIpKSx0aGlzLnRlcm1pbmFsQWN0aW9uYmFyPy5zaG93KE0pfWFzeW5jIHdhaXRGb3JQcm9tcHQoTSxTKXtyZXR1cm4gbmV3IFByb21pc2UoUD0+e2xldCBBPXMoKCk9PntsZXQgRj1NLmJ1ZmZlci5hY3RpdmU7Zm9yKGxldCBXPTA7VzxGLmxlbmd0aDtXKyspe2xldCBqPUYuZ2V0TGluZShXKTtpZihqJiZqLnRyYW5zbGF0ZVRvU3RyaW5nKCkuaW5jbHVkZXMoUykpe3NldFRpbWVvdXQoKCk9PntQKCl9LDEwMCk7cmV0dXJufX1zZXRUaW1lb3V0KEEsMTAwKX0sImNoZWNrUHJvbXB0Iik7QSgpfSl9YXN5bmMgc2V0RW52aXJvbm1lbnRWYXJpYWJsZXMoTSl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpdGhyb3cgbmV3IEVycm9yKCJObyBleGVjdXRpb24gZW52aXJvbm1lbnQgYXZhaWxhYmxlIik7bGV0IFM9IiI7Zm9yKGxldCBQIGluIE0pUys9YGV4cG9ydCAke1B9PSIke01bUF19IgpgO2F3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud3JpdGVGaWxlKCIvc291cmNlLmVudiIsUyl9Z2V0RXhlY3V0aW9uRW52aXJvbm1lbnQoKXtyZXR1cm4gdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudH1zdGF0aWN7Y28ocix0KX19O3JldHVybiBCPXJ9KSgpfSk7dmFyIFNKZSx6SmUsdzZhLE02YSxrNmEsUzZhLHo2YT1mKCgpPT57bGUoKTtwbSgpO3U0KCk7ZWFlKCk7bWFlKCk7dWFlKCk7SWYoKTtHc2UoKTtTSmU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHpKZT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sdzZhPSgoKT0+e2xldCBhPVtpZSgiZGVtby12aWV3LWRhc2hib2FyZCIpXSxlLHQ9W10scixpPXBlO3ZhciBvPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZW1vVmlld0Rhc2hib2FyZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBuPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO1NKZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpufSxudWxsLHQpLG89cj1lLnZhbHVlLG4mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgfQogICAgICBoMSB7CiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMCIsIiNmZmYiKX07CiAgICAgIH0KICAgICAgZGVlcy1zdGF0c2dyaWQgewogICAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICAgIH0KICAgIGBdO3N0YXRzVGlsZXM9W3tpZDoidXNlcnMiLHRpdGxlOiJBY3RpdmUgVXNlcnMiLHZhbHVlOjEyMzQsdHlwZToibnVtYmVyIixpY29uOiJmYVVzZXJzIixkZXNjcmlwdGlvbjoiKzE1JSBmcm9tIGxhc3Qgd2VlayIsY29sb3I6IiMyMmM1NWUifSx7aWQ6InBhZ2V2aWV3cyIsdGl0bGU6IlBhZ2UgVmlld3MiLHZhbHVlOjU2NzAwLHR5cGU6Im51bWJlciIsaWNvbjoiZmFFeWUiLGRlc2NyaXB0aW9uOiI1Ni43ayB0b3RhbCB2aWV3cyIsY29sb3I6IiMzYjgyZjYifSx7aWQ6InVwdGltZSIsdGl0bGU6IlN5c3RlbSBVcHRpbWUiLHZhbHVlOjg5LHVuaXQ6IiUiLHR5cGU6ImdhdWdlIixpY29uOiJmYVNlcnZlciIsZGVzY3JpcHRpb246Ikxhc3QgMzAgZGF5cyIsY29sb3I6IiMxMGI5ODEiLGdhdWdlT3B0aW9uczp7bWluOjAsbWF4OjEwMCx0aHJlc2hvbGRzOlt7dmFsdWU6ODAsY29sb3I6IiNlZjQ0NDQifSx7dmFsdWU6OTAsY29sb3I6IiNmNTllMGIifSx7dmFsdWU6MTAwLGNvbG9yOiIjMTBiOTgxIn1dfX0se2lkOiJyZXNwb25zZSIsdGl0bGU6IkF2ZyBSZXNwb25zZSBUaW1lIix2YWx1ZTozLjIsdW5pdDoicyIsdHlwZToibnVtYmVyIixpY29uOiJmYUNsb2NrIixkZXNjcmlwdGlvbjoiLTAuNXMgaW1wcm92ZW1lbnQiLGNvbG9yOiIjZjU5ZTBiIn0se2lkOiJyZXZlbnVlIix0aXRsZToiTW9udGhseSBSZXZlbnVlIix2YWx1ZTo0ODUyMCx1bml0OiIkIix0eXBlOiJ0cmVuZCIsaWNvbjoiZmFEb2xsYXJTaWduIixkZXNjcmlwdGlvbjoiKzguMiUgZ3Jvd3RoIixjb2xvcjoiIzIyYzU1ZSIsdHJlbmREYXRhOlszNWUzLDM4ZTMsMzc1MDAsNDFlMywzOTgwMCw0MmUzLDQ0MTAwLDQzMjAwLDQ1NjAwLDQ3MTAwLDQ2ODAwLDQ4NTIwXX0se2lkOiJ0cmFmZmljIix0aXRsZToiVHJhZmZpYyBUcmVuZCIsdmFsdWU6MTY4MCx0eXBlOiJ0cmVuZCIsaWNvbjoiZmFDaGFydExpbmUiLGRlc2NyaXB0aW9uOiJMYXN0IDcgZGF5cyIsY29sb3I6IiMzYjgyZjYiLHRyZW5kRGF0YTpbMTIwMCwxMzUwLDExMDAsMTQ1MCwxNjAwLDE1NTAsMTY4MF19XTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGgxPkRhc2hib2FyZDwvaDE+CiAgICAgIDxwPldlbGNvbWUgdG8geW91ciBhcHBsaWNhdGlvbiBkYXNoYm9hcmQuIEhlcmUncyBhbiBvdmVydmlldyBvZiB5b3VyIG1ldHJpY3M6PC9wPgogICAgICA8ZGVlcy1zdGF0c2dyaWQKICAgICAgICAudGlsZXM9JHt0aGlzLnN0YXRzVGlsZXN9CiAgICAgICAgQHRpbGUtYWN0aW9uPSR7bj0+e2NvbnNvbGUubG9nKCJUaWxlIGFjdGlvbjoiLG4uZGV0YWlsKX19CiAgICAgID48L2RlZXMtc3RhdHNncmlkPgoKICAgICAgPGgyIHN0eWxlPSJtYXJnaW4tdG9wOiA0MHB4OyI+UmVjZW50IEFjdGl2aXR5PC9oMj4KICAgICAgPHA+QmVsb3cgaXMgYSBsb2cgb2YgcmVjZW50IHN5c3RlbSBldmVudHMgYW5kIHVzZXIgYWN0aXZpdHkgdG8gZGVtb25zdHJhdGUgc2Nyb2xsYWJsZSBjb250ZW50LjwvcD4KCiAgICAgICR7W3t0aW1lOiIyIG1pbiBhZ28iLGV2ZW50OiJVc2VyIGpvaG5AZXhhbXBsZS5jb20gbG9nZ2VkIGluIGZyb20gMTkyLjE2OC4xLjQyIix0eXBlOiJpbmZvIn0se3RpbWU6IjUgbWluIGFnbyIsZXZlbnQ6IkRlcGxveW1lbnQgdjMuNTIuMSBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5IG9uIHByb2R1Y3Rpb24iLHR5cGU6InN1Y2Nlc3MifSx7dGltZToiMTIgbWluIGFnbyIsZXZlbnQ6IkRhdGFiYXNlIGJhY2t1cCBmaW5pc2hlZCBcdTIwMTQgMi40IEdCIGNvbXByZXNzZWQiLHR5cGU6ImluZm8ifSx7dGltZToiMTggbWluIGFnbyIsZXZlbnQ6IlNTTCBjZXJ0aWZpY2F0ZSByZW5ld2VkIGZvciBhcGkuZXhhbXBsZS5jb20gKGV4cGlyZXMgMjAyNy0wNC0wMykiLHR5cGU6InN1Y2Nlc3MifSx7dGltZToiMjUgbWluIGFnbyIsZXZlbnQ6Ik1lbW9yeSB1c2FnZSBzcGlrZSBvbiB3b3JrZXItMDMgKDkyJSkgXHUyMDE0IGF1dG8tc2NhbGVkIHRvIDQgaW5zdGFuY2VzIix0eXBlOiJ3YXJuaW5nIn0se3RpbWU6IjMxIG1pbiBhZ28iLGV2ZW50OiJOZXcgdXNlciByZWdpc3RyYXRpb246IHNhcmFoQGNvbXBhbnkuaW8iLHR5cGU6ImluZm8ifSx7dGltZToiNDUgbWluIGFnbyIsZXZlbnQ6J1NjaGVkdWxlZCBqb2IgImNsZWFudXAtdGVtcC1maWxlcyIgY29tcGxldGVkIFx1MjAxNCByZW1vdmVkIDEsMjQ3IGZpbGVzJyx0eXBlOiJpbmZvIn0se3RpbWU6IjEgaG91ciBhZ28iLGV2ZW50OiJBUEkgcmF0ZSBsaW1pdCByZWFjaGVkIGZvciBjbGllbnQgYXBwLW1vYmlsZS1pb3MgKDQyOSByZXNwb25zZXMpIix0eXBlOiJ3YXJuaW5nIn0se3RpbWU6IjEuNSBob3VycyBhZ28iLGV2ZW50OiJDRE4gY2FjaGUgcHVyZ2VkIGZvciAvYXNzZXRzLyogXHUyMDE0IDM0MCBvYmplY3RzIGludmFsaWRhdGVkIix0eXBlOiJpbmZvIn0se3RpbWU6IjIgaG91cnMgYWdvIixldmVudDoiRmFpbGVkIGxvZ2luIGF0dGVtcHQgZm9yIGFkbWluQGV4YW1wbGUuY29tIGZyb20gMjAzLjAuMTEzLjUwIChibG9ja2VkKSIsdHlwZToiZXJyb3IifSx7dGltZToiMi41IGhvdXJzIGFnbyIsZXZlbnQ6IldlYmhvb2sgZGVsaXZlcnkgdG8gaHR0cHM6Ly9ob29rcy5zbGFjay5jb20gc3VjY2VlZGVkICgyMDAgT0spIix0eXBlOiJpbmZvIn0se3RpbWU6IjMgaG91cnMgYWdvIixldmVudDonQ3JvbiBqb2IgImdlbmVyYXRlLXJlcG9ydHMiIHN0YXJ0ZWQgXHUyMDE0IHByb2Nlc3NpbmcgUTEgMjAyNiBkYXRhJyx0eXBlOiJpbmZvIn0se3RpbWU6IjMuNSBob3VycyBhZ28iLGV2ZW50OiJMb2FkIGJhbGFuY2VyIGhlYWx0aCBjaGVjazogYWxsIDggbm9kZXMgaGVhbHRoeSIsdHlwZToic3VjY2VzcyJ9LHt0aW1lOiI0IGhvdXJzIGFnbyIsZXZlbnQ6IkROUyBwcm9wYWdhdGlvbiBjb21wbGV0ZSBmb3IgbmV3IHN1YmRvbWFpbiBzdGFnaW5nLmV4YW1wbGUuY29tIix0eXBlOiJzdWNjZXNzIn1dLm1hcChuPT53YAogICAgICAgIDxkaXYgc3R5bGU9IgogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDsKICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTAlKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgIj4KICAgICAgICAgIDxzcGFuIHN0eWxlPSIKICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDU1JSkiLCJoc2woMCAwJSA0NSUpIil9OwogICAgICAgICAgIj4ke24udGltZX08L3NwYW4+CiAgICAgICAgICA8c3BhbiBzdHlsZT0iCiAgICAgICAgICAgIGNvbG9yOiAke24udHlwZT09PSJlcnJvciI/aC5iZFRoZW1lKCJoc2woMCA3MiUgNTAlKSIsImhzbCgwIDcyJSA2NSUpIik6bi50eXBlPT09Indhcm5pbmciP2guYmRUaGVtZSgiaHNsKDI1IDk1JSA1MCUpIiwiaHNsKDI1IDk1JSA2MyUpIik6bi50eXBlPT09InN1Y2Nlc3MiP2guYmRUaGVtZSgiaHNsKDE0MiA3MCUgNDAlKSIsImhzbCgxNDIgNzAlIDU1JSkiKTpoLmJkVGhlbWUoImhzbCgwIDAlIDMwJSkiLCJoc2woMCAwJSA3NSUpIil9OwogICAgICAgICAgIj4ke24uZXZlbnR9PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICBgKX0KICAgIGB9c3RhdGlje3pKZShyLHQpfX07cmV0dXJuIG89cn0pKCksTTZhPSgoKT0+e2xldCBhPVtpZSgiZGVtby12aWV3LWFuYWx5dGljcyIpXSxlLHQ9W10scixpPXBlO3ZhciBvPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZW1vVmlld0FuYWx5dGljcyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBuPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO1NKZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpufSxudWxsLHQpLG89cj1lLnZhbHVlLG4mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgfQogICAgICBoMSB7CiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMCIsIiNmZmYiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8aDE+QW5hbHl0aWNzPC9oMT4KICAgICAgPHA+VGhpcyBpcyB0aGUgYW5hbHl0aWNzIHZpZXcuIFlvdSBjYW4gYWRkIGNoYXJ0cyBhbmQgbWV0cmljcyBoZXJlLjwvcD4KICAgIGB9c3RhdGlje3pKZShyLHQpfX07cmV0dXJuIG89cn0pKCksazZhPSgoKT0+e2xldCBhPVtpZSgiZGVtby12aWV3LXNldHRpbmdzIildLGUsdD1bXSxyLGk9cGU7dmFyIG89Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlbW9WaWV3U2V0dGluZ3MiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtTSmUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bn0sbnVsbCx0KSxvPXI9ZS52YWx1ZSxuJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KX1zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgIH0KICAgICAgaDEgewogICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAiLCIjZmZmIil9OwogICAgICB9CiAgICAgIC5zZXR0aW5ncy1zZWN0aW9uIHsKICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgICB9CiAgICAgIC5zZXR0aW5ncy1zZWN0aW9uIGgyIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzMzMyIsIiNjY2MiKX07CiAgICAgIH0KICAgICAgLmhvcml6b250YWwtZm9ybS1zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y1ZjVmNSIsIiMxYTFhMWEiKX07CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgbWFyZ2luOiAxNXB4IDA7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8aDE+U2V0dGluZ3M8L2gxPgogICAgICA8cD5Db25maWd1cmUgeW91ciBhcHBsaWNhdGlvbiBzZXR0aW5ncyBiZWxvdzo8L3A+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uIj4KICAgICAgICA8aDI+R2VuZXJhbCBTZXR0aW5nczwvaDI+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQga2V5PSJhcHBOYW1lIiBsYWJlbD0iQXBwbGljYXRpb24gTmFtZSIgdmFsdWU9Ik15IEFwcCI+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGtleT0iYXBpRW5kcG9pbnQiIGxhYmVsPSJBUEkgRW5kcG9pbnQiIHZhbHVlPSJodHRwczovL2FwaS5leGFtcGxlLmNvbSI+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICBrZXk9ImVudmlyb25tZW50IgogICAgICAgICAgICBsYWJlbD0iRW52aXJvbm1lbnQiCiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkRldmVsb3BtZW50IixrZXk6ImRldiJ9LHtvcHRpb246IlN0YWdpbmciLGtleToic3RhZ2luZyJ9LHtvcHRpb246IlByb2R1Y3Rpb24iLGtleToicHJvZCJ9XX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7e29wdGlvbjoiUHJvZHVjdGlvbiIsa2V5OiJwcm9kIn19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gga2V5PSJlbmFibGVOb3RpZmljYXRpb25zIiBsYWJlbD0iRW5hYmxlIE5vdGlmaWNhdGlvbnMiIHZhbHVlPSJ0cnVlIj48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCBrZXk9ImVuYWJsZUFuYWx5dGljcyIgbGFiZWw9IkVuYWJsZSBBbmFseXRpY3MiIHZhbHVlPSJmYWxzZSI+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+U2F2ZSBHZW5lcmFsIFNldHRpbmdzPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24iPgogICAgICAgIDxoMj5EaXNwbGF5IFByZWZlcmVuY2VzPC9oMj4KICAgICAgICA8ZGl2IGNsYXNzPSJob3Jpem9udGFsLWZvcm0tc2VjdGlvbiI+CiAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMTZweDsiPlF1aWNrIGRpc3BsYXkgc2V0dGluZ3MgdXNpbmcgaG9yaXpvbnRhbCBsYXlvdXQ6PC9wPgogICAgICAgICAgPGRlZXMtZm9ybSBob3Jpem9udGFsLWxheW91dD4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgICBrZXk9InRoZW1lIgogICAgICAgICAgICAgIGxhYmVsPSJUaGVtZSIKICAgICAgICAgICAgICAuZW5hYmxlU2VhcmNoPSR7ITF9CiAgICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiTGlnaHQiLGtleToibGlnaHQifSx7b3B0aW9uOiJEYXJrIixrZXk6ImRhcmsifSx7b3B0aW9uOiJBdXRvIixrZXk6ImF1dG8ifV19CiAgICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7e29wdGlvbjoiRGFyayIsa2V5OiJkYXJrIn19CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgICAga2V5PSJsYW5ndWFnZSIKICAgICAgICAgICAgICBsYWJlbD0iTGFuZ3VhZ2UiCiAgICAgICAgICAgICAgLmVuYWJsZVNlYXJjaD0keyExfQogICAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkVuZ2xpc2giLGtleToiZW4ifSx7b3B0aW9uOiJHZXJtYW4iLGtleToiZGUifSx7b3B0aW9uOiJTcGFuaXNoIixrZXk6ImVzIn0se29wdGlvbjoiRnJlbmNoIixrZXk6ImZyIn1dfQogICAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0ke3tvcHRpb246IkVuZ2xpc2giLGtleToiZW4ifX0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gga2V5PSJjb21wYWN0TW9kZSIgbGFiZWw9IkNvbXBhY3QgTW9kZSI+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbiI+CiAgICAgICAgPGgyPk5vdGlmaWNhdGlvbiBTZXR0aW5nczwvaDI+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IkVtYWlsIEZyZXF1ZW5jeSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJSZWFsLXRpbWUiLCJEYWlseSBEaWdlc3QiLCJXZWVrbHkgU3VtbWFyeSIsIk5ldmVyIl19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJSZWFsLXRpbWUifQogICAgICAgICAgICAua2V5PSR7ImVtYWlsRnJlcXVlbmN5In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IGtleT0icHVzaE5vdGlmaWNhdGlvbnMiIGxhYmVsPSJFbmFibGUgUHVzaCBOb3RpZmljYXRpb25zIiB2YWx1ZT0idHJ1ZSI+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gga2V5PSJzb3VuZEFsZXJ0cyIgbGFiZWw9IlBsYXkgU291bmQgZm9yIEFsZXJ0cyIgdmFsdWU9InRydWUiPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PlVwZGF0ZSBOb3RpZmljYXRpb25zPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje3pKZShyLHQpfX07cmV0dXJuIG89cn0pKCksUzZhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgYm9keSB7CiAgICAgIG1hcmdpbjogMDsKICAgICAgcGFkZGluZzogMDsKICAgIH0KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwOwogICAgICBsZWZ0OiAwOwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtc2ltcGxlLWFwcGRhc2gKICAgICAgbmFtZT0iTXkgQXBwbGljYXRpb24iCiAgICAgIHRlcm1pbmFsU2V0dXBDb21tYW5kPSJlY2hvICdXZWxjb21lIHRvIHRoZSB0ZXJtaW5hbCEnIgogICAgICAuZ2xvYmFsTWVzc2FnZXM9JHtbe2lkOiJ1cGRhdGUiLHR5cGU6ImluZm8iLG1lc3NhZ2U6IkEgbmV3IHZlcnNpb24gKHYzLjUwLjApIGlzIGF2YWlsYWJsZSB3aXRoIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cyBhbmQgYnVnIGZpeGVzLiIsZGlzbWlzc2libGU6ITAsYWN0aW9uczpbe25hbWU6IlVwZGF0ZSBOb3ciLGljb25OYW1lOiJsdWNpZGU6ZG93bmxvYWQiLGFjdGlvbjpzKCgpPT5hbGVydCgiVXBkYXRpbmcuLi4iKSwiYWN0aW9uIil9LHtuYW1lOiJSZWxlYXNlIE5vdGVzIixhY3Rpb246cygoKT0+YWxlcnQoIk9wZW5pbmcgcmVsZWFzZSBub3Rlcy4uLiIpLCJhY3Rpb24iKX1dfSx7aWQ6Im1haW50ZW5hbmNlIix0eXBlOiJ3YXJuaW5nIixtZXNzYWdlOiJTY2hlZHVsZWQgbWFpbnRlbmFuY2Ugd2luZG93OiBBcHJpbCA1LCAyMDI2IDAyOjAwXHUyMDEzMDY6MDAgVVRDLiBTb21lIHNlcnZpY2VzIG1heSBiZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZS4iLGRpc21pc3NpYmxlOiEwfSx7aWQ6ImNyaXRpY2FsIix0eXBlOiJlcnJvciIsbWVzc2FnZToiWW91ciBTU0wgY2VydGlmaWNhdGUgZXhwaXJlcyBpbiAzIGRheXMuIFJlbmV3IG5vdyB0byBhdm9pZCBzZXJ2aWNlIGRpc3J1cHRpb24uIixkaXNtaXNzaWJsZTohMSxhY3Rpb25zOlt7bmFtZToiUmVuZXcgQ2VydGlmaWNhdGUiLGljb25OYW1lOiJsdWNpZGU6c2hpZWxkQ2hlY2siLGFjdGlvbjpzKCgpPT5hbGVydCgiUmVuZXdpbmcgY2VydGlmaWNhdGUuLi4iKSwiYWN0aW9uIil9XX1dfQogICAgICAudmlld1RhYnM9JHtbe25hbWU6IkRhc2hib2FyZCIsaWNvbk5hbWU6Imx1Y2lkZTpob21lIixlbGVtZW50Onc2YX0se25hbWU6IkFuYWx5dGljcyIsaWNvbk5hbWU6Imx1Y2lkZTpsaW5lQ2hhcnQiLGVsZW1lbnQ6TTZhLHN1YlZpZXdzOlt7bmFtZToiT3ZlcnZpZXciLGljb25OYW1lOiJsdWNpZGU6YWN0aXZpdHkiLGVsZW1lbnQ6TTZhfSx7bmFtZToiUmVwb3J0cyIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlVGV4dCIsZWxlbWVudDp3NmF9XX0se25hbWU6IlNldHRpbmdzIixpY29uTmFtZToibHVjaWRlOnNldHRpbmdzIixzdWJWaWV3czpbe25hbWU6IlByb2ZpbGUiLGljb25OYW1lOiJsdWNpZGU6dXNlciIsZWxlbWVudDprNmF9LHtuYW1lOiJCaWxsaW5nIixpY29uTmFtZToibHVjaWRlOmNyZWRpdENhcmQiLGVsZW1lbnQ6azZhfV19XX0KICAgICAgQGxvZ291dD0keygpPT57Y29uc29sZS5sb2coIkxvZ291dCBldmVudCB0cmlnZ2VyZWQiKSxhbGVydCgiTG9nb3V0IGNsaWNrZWQhIil9fQogICAgICBAdmlldy1zZWxlY3Q9JHthPT57Y29uc29sZS5sb2coIlZpZXcgc2VsZWN0ZWQ6IixhLmRldGFpbC52aWV3Lm5hbWUpfX0KICAgID48L2RlZXMtc2ltcGxlLWFwcGRhc2g+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgXzUsbm4sQzZhLF82YT1mKCgpPT57ejZhKCk7bGUoKTt2YSgpO1FlKCk7XzU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LG5uPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxDNmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXNpbXBsZS1hcHBkYXNoIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W107dmFyIE89Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNTaW1wbGVBcHBEYXNoIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFQ9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxkPVskKHt0eXBlOkFycmF5fSldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9WyQoe3R5cGU6QXJyYXl9KV0seT1bSygpXSxOPVtLKCldLF81KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4ibmFtZSJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLm5hbWUsImdldCIpLHNldDpzKChFLEIpPT57RS5uYW1lPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sbixsKSxfNSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZpZXdUYWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJ2aWV3VGFicyJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLnZpZXdUYWJzLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0Uudmlld1RhYnM9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxjLHApLF81KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGVybWluYWxTZXR1cENvbW1hbmQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+InRlcm1pbmFsU2V0dXBDb21tYW5kImluIEUsImhhcyIpLGdldDpzKEU9PkUudGVybWluYWxTZXR1cENvbW1hbmQsImdldCIpLHNldDpzKChFLEIpPT57RS50ZXJtaW5hbFNldHVwQ29tbWFuZD1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LG0sdiksXzUodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJnbG9iYWxNZXNzYWdlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4iZ2xvYmFsTWVzc2FnZXMiaW4gRSwiaGFzIiksZ2V0OnMoRT0+RS5nbG9iYWxNZXNzYWdlcywiZ2V0Iiksc2V0OnMoKEUsQik9PntFLmdsb2JhbE1lc3NhZ2VzPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sYixnKSxfNSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkVmlldyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4ic2VsZWN0ZWRWaWV3ImluIEUsImhhcyIpLGdldDpzKEU9PkUuc2VsZWN0ZWRWaWV3LCJnZXQiKSxzZXQ6cygoRSxCKT0+e0Uuc2VsZWN0ZWRWaWV3PUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sayxDKSxfNSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Il9hY3RpdmVNZXNzYWdlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4iX2FjdGl2ZU1lc3NhZ2VzImluIEUsImhhcyIpLGdldDpzKEU9PkUuX2FjdGl2ZU1lc3NhZ2VzLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UuX2FjdGl2ZU1lc3NhZ2VzPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sXyx6KSxfNShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpUfSxudWxsLHQpLE89cj1lLnZhbHVlLFQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6VH0pfXN0YXRpYyBkZW1vPVM2YTtzdGF0aWMgZGVtb0dyb3Vwcz1bIlNpbXBsZSJdOyNlPW5uKHRoaXMsbiwiQXBwbGljYXRpb24gRGFzaGJvYXJkIik7Z2V0IG5hbWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgbmFtZShUKXt0aGlzLiNlPVR9I3Q9KG5uKHRoaXMsbCksbm4odGhpcyxjLFtdKSk7Z2V0IHZpZXdUYWJzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHZpZXdUYWJzKFQpe3RoaXMuI3Q9VH0jYT0obm4odGhpcyxwKSxubih0aGlzLG0sJ2VjaG8gIlRlcm1pbmFsIHJlYWR5IicpKTtnZXQgdGVybWluYWxTZXR1cENvbW1hbmQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgdGVybWluYWxTZXR1cENvbW1hbmQoVCl7dGhpcy4jYT1UfSNyPShubih0aGlzLHYpLG5uKHRoaXMsYixbXSkpO2dldCBnbG9iYWxNZXNzYWdlcygpe3JldHVybiB0aGlzLiNyfXNldCBnbG9iYWxNZXNzYWdlcyhUKXt0aGlzLiNyPVR9I3M9KG5uKHRoaXMsZyksbm4odGhpcyxrLHZvaWQgMCkpO2dldCBzZWxlY3RlZFZpZXcoKXtyZXR1cm4gdGhpcy4jc31zZXQgc2VsZWN0ZWRWaWV3KFQpe3RoaXMuI3M9VH0jaT0obm4odGhpcyxDKSxubih0aGlzLF8sW10pKTtnZXQgX2FjdGl2ZU1lc3NhZ2VzKCl7cmV0dXJuIHRoaXMuI2l9c2V0IF9hY3RpdmVNZXNzYWdlcyhUKXt0aGlzLiNpPVR9c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDBweDsKICAgICAgICBsZWZ0OiAwcHg7CiAgICAgICAgcmlnaHQ6IDBweDsKICAgICAgICBib3R0b206IDBweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuYXBwYmFyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgbGVmdDogMHB4OwogICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjRweCk7CiAgICAgICAgd2lkdGg6IDI0MHB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctc2Vjb25kYXJ5KTsKICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICB6LWluZGV4OiAyOwogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmciBtaW4tY29udGVudDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuc2lkZWJhci1oZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDIwcHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmhlYWRlci1pY29uLXdyYXBwZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXRlcnRpYXJ5KTsKICAgICAgICBib3gtc2hhZG93OiAke2guYmRUaGVtZSgiMCAxcHggMnB4IHJnYigwIDAgMCAvIDAuMDUpIiwiMCAxcHggMnB4IHJnYigwIDAgMCAvIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkZXItaWNvbi13cmFwcGVyIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC5hcHBOYW1lIHsKICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsKICAgICAgfQoKICAgICAgLnZpZXdUYWJzLWNvbnRhaW5lciB7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBwYWRkaW5nOiAxMnB4IDhweDsKICAgICAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47CiAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXNjcm9sbGJhci10aHVtYikgdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC52aWV3VGFicy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICB9CgogICAgICAudmlld1RhYnMtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC52aWV3VGFicy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLXNjcm9sbGJhci10aHVtYik7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICAudmlld1RhYnMtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1zY3JvbGxiYXItdGh1bWItaG92ZXIpOwogICAgICB9CgogICAgICAuc2VjdGlvbi1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICAgIC52aWV3VGFicyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAudmlld1RhYiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICB9CgogICAgICAudmlld1RhYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjYyNjI2IiwiI2U1ZTVlNSIpfTsKICAgICAgfQoKICAgICAgLnZpZXdUYWI6YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWFjdGl2ZSk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5KTsKICAgICAgfQoKICAgICAgLnZpZXdUYWIuc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYWN0aXZlKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLnNlbGVjdGVkOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogOHB4OwogICAgICAgIGJvdHRvbTogOHB4OwogICAgICAgIHdpZHRoOiAzcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAycHggMnB4IDA7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAudmlld1RhYiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBvcGFjaXR5OiAwLjU1OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAudmlld1RhYjpob3ZlciBkZWVzLWljb24gewogICAgICAgIG9wYWNpdHk6IDAuNzU7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLnNlbGVjdGVkIGRlZXMtaWNvbiB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAudmlld1RhYiBzcGFuIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLnZpZXdUYWIgLmNoZXZyb24gewogICAgICAgIGZsZXg6IDAgMCBhdXRvOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBvcGFjaXR5IDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLmhhc1N1YnM6aG92ZXIgLmNoZXZyb24gewogICAgICAgIG9wYWNpdHk6IDAuNzU7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLmhhc1N1YnMuZ3JvdXBBY3RpdmUgLmNoZXZyb24gewogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgfQoKICAgICAgLnN1YlZpZXdzIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMGZyOwogICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB0cmFuc2l0aW9uOgogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksCiAgICAgICAgICBtYXJnaW4tdG9wIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksCiAgICAgICAgICBtYXJnaW4tYm90dG9tIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgIH0KCiAgICAgIC5zdWJWaWV3cy5leHBhbmRlZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQoKICAgICAgLnN1YlZpZXdzOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogNHB4OwogICAgICAgIGJvdHRvbTogNHB4OwogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsKICAgICAgfQoKICAgICAgLnN1YlZpZXdzLmV4cGFuZGVkOjpiZWZvcmUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5zdWJWaWV3cy1pbm5lciB7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLnN1YiB7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICB9CgogICAgICAudmlld1RhYi5zdWIgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLnN1Yi5zZWxlY3RlZDo6YmVmb3JlIHsKICAgICAgICBsZWZ0OiAtMTJweDsKICAgICAgfQoKICAgICAgLmFwcEFjdGlvbnMgewogICAgICAgIHBhZGRpbmc6IDEycHggOHB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgfQoKICAgICAgLmFjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgIH0KCiAgICAgIC5hY3Rpb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA4NCUgNjAlIC8gMC4wOCkiLCJoc2woMCA4NCUgNjAlIC8gMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA4NCUgNDUlKSIsImhzbCgwIDg0JSA2NSUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIG9wYWNpdHk6IDAuNjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmFjdGlvbjpob3ZlciBkZWVzLWljb24gewogICAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDg0JSA0NSUpIiwiaHNsKDAgODQlIDY1JSkiKX07CiAgICAgIH0KCiAgICAgIC5hcHBjb250ZW50IHsKICAgICAgICB6LWluZGV4OiAxOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDBweDsKICAgICAgICByaWdodDogMHB4OwogICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjRweCk7CiAgICAgICAgYm90dG9tOiAyNHB4OwogICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNDBweCk7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1zZWNvbmRhcnkpOwogICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAgIH0KCiAgICAgIC5hcHBjb250ZW50OjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogLThweDsKICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgICB0byBib3R0b20sCiAgICAgICAgICAke2guYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjA4KSIsImhzbCgwIDAlIDAlIC8gMC40KSIpfSwKICAgICAgICAgICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDMpIiwiaHNsKDAgMCUgMCUgLyAwLjEyKSIpfSwKICAgICAgICAgIHRyYW5zcGFyZW50CiAgICAgICAgKTsKICAgICAgfQoKICAgICAgLmNvbnRyb2xiYXI6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogLThweDsKICAgICAgICBsZWZ0OiAyNDBweDsKICAgICAgICByaWdodDogMDsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgICB0byB0b3AsCiAgICAgICAgICAke2guYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjA4KSIsImhzbCgwIDAlIDAlIC8gMC40KSIpfSwKICAgICAgICAgICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDMpIiwiaHNsKDAgMCUgMCUgLyAwLjEyKSIpfSwKICAgICAgICAgIHRyYW5zcGFyZW50CiAgICAgICAgKTsKICAgICAgfQoKICAgICAgLmNvbnRyb2xiYXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDBweDsKICAgICAgICBsZWZ0OiAwcHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctdGVydGlhcnkpOwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICB6LWluZGV4OiAxMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07CiAgICAgIH0KCiAgICAgIC5jb250cm9sIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CgogICAgICB9CgogICAgICAuY29udHJvbDpmaXJzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5jb250cm9sOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAuY29udHJvbCBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLmNvbnRyb2wuc3RhdHVzLWNvbm5lY3RlZCBkZWVzLWljb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDE0MiA3MCUgMzUlKSIsImhzbCgxNDIgNzAlIDUwJSkiKX07CiAgICAgIH0KCiAgICAgIC5jb250cm9sLnN0YXR1cy10ZXJtaW5hbCBkZWVzLWljb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDM4IDkyJSA0NSUpIiwiaHNsKDM4IDkyJSA1NSUpIil9OwogICAgICB9CgogICAgICAvKiBHbG9iYWwgTWVzc2FnZSBCYW5uZXJzICovCiAgICAgIC5tZXNzYWdlQmFubmVyQXJlYSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAyNDBweDsKICAgICAgICByaWdodDogMDsKICAgICAgICB6LWluZGV4OiAzOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4yNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2VCYW5uZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTBweCAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGFuaW1hdGlvbjogYmFubmVyU2xpZGVEb3duIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkgZm9yd2FyZHM7CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlQmFubmVyLmRpc21pc3NpbmcgewogICAgICAgIGFuaW1hdGlvbjogYmFubmVyU2xpZGVVcCAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkgZm9yd2FyZHM7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgYmFubmVyU2xpZGVEb3duIHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOwogICAgICAgIH0KICAgICAgICB0byB7CiAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBiYW5uZXJTbGlkZVVwIHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgfQogICAgICAgIHRvIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLm1lc3NhZ2VCYW5uZXIgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlQmFubmVyLXRleHQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAubWVzc2FnZUJhbm5lci1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlQmFubmVyLWFjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDgpIiwiaHNsKDAgMCUgMTAwJSAvIDAuMSkiKX07CiAgICAgICAgY29sb3I6IGluaGVyaXQ7CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlQmFubmVyLWFjdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4xNSkiLCJoc2woMCAwJSAxMDAlIC8gMC4xOCkiKX07CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlQmFubmVyLWFjdGlvbjphY3RpdmUgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45Nyk7CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlQmFubmVyLWFjdGlvbiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLm1lc3NhZ2VCYW5uZXItZGlzbWlzcyB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAyNHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2VCYW5uZXItZGlzbWlzczpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICBiYWNrZ3JvdW5kOiBoc2woMCAwJSAwJSAvIDAuMSk7CiAgICAgIH0KCiAgICAgIC8qIE1lc3NhZ2UgdHlwZTogaW5mbyAqLwogICAgICAubWVzc2FnZUJhbm5lci1pbmZvIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDk3JSkiLCJoc2woMjEwIDUwJSAxMCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxMCA3MCUgMzAlKSIsImhzbCgyMTAgNzAlIDgwJSkiKX07CiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMDA4NGZmOwogICAgICB9CiAgICAgIC5tZXNzYWdlQmFubmVyLWluZm8gZGVlcy1pY29uIHsKICAgICAgICBjb2xvcjogIzAwODRmZjsKICAgICAgfQoKICAgICAgLyogTWVzc2FnZSB0eXBlOiBzdWNjZXNzICovCiAgICAgIC5tZXNzYWdlQmFubmVyLXN1Y2Nlc3MgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMTQyIDcwJSA5NyUpIiwiaHNsKDE0MiAzMCUgMTAlKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIgNTAlIDI1JSkiLCJoc2woMTQyIDUwJSA4MCUpIil9OwogICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzIyYzU1ZTsKICAgICAgfQogICAgICAubWVzc2FnZUJhbm5lci1zdWNjZXNzIGRlZXMtaWNvbiB7CiAgICAgICAgY29sb3I6ICMyMmM1NWU7CiAgICAgIH0KCiAgICAgIC8qIE1lc3NhZ2UgdHlwZTogd2FybmluZyAqLwogICAgICAubWVzc2FnZUJhbm5lci13YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDM4IDkwJSA5NyUpIiwiaHNsKDM4IDQwJSAxMCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDM4IDYwJSAyNSUpIiwiaHNsKDM4IDYwJSA4MCUpIil9OwogICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2Y1OWUwYjsKICAgICAgfQogICAgICAubWVzc2FnZUJhbm5lci13YXJuaW5nIGRlZXMtaWNvbiB7CiAgICAgICAgY29sb3I6ICNmNTllMGI7CiAgICAgIH0KCiAgICAgIC8qIE1lc3NhZ2UgdHlwZTogZXJyb3IgKi8KICAgICAgLm1lc3NhZ2VCYW5uZXItZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgOTclKSIsImhzbCgwIDQwJSAxMCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgNjAlIDMwJSkiLCJoc2woMCA2MCUgODAlKSIpfTsKICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNlZjQ0NDQ7CiAgICAgIH0KICAgICAgLm1lc3NhZ2VCYW5uZXItZXJyb3IgZGVlcy1pY29uIHsKICAgICAgICBjb2xvcjogI2VmNDQ0NDsKICAgICAgfQoKICAgICAgLm1lc3NhZ2VCYW5uZXItZGlzbWlzczpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wOCkiLCJoc2woMCAwJSAxMDAlIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgLmFwcGNvbnRlbnQgewogICAgICAgIHRvcDogdmFyKC0tYmFubmVyLWFyZWEtaGVpZ2h0LCAwcHgpOwogICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjRweCAtIHZhcigtLWJhbm5lci1hcmVhLWhlaWdodCwgMHB4KSk7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtYWluY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJhcHBiYXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1oZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItaWNvbi13cmFwcGVyIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSIkeyJsdWNpZGU6bGF5b3V0R3JpZCJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFwcE5hbWUiPiR7dGhpcy5uYW1lfTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWV3VGFicy1jb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5OYXZpZ2F0aW9uPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZXdUYWJzIj4KICAgICAgICAgICAgICAke3RoaXMudmlld1RhYnMubWFwKFQ9PntsZXQgRT0hIVQuc3ViVmlld3M/Lmxlbmd0aCxCPUUmJnRoaXMuaXNHcm91cEFjdGl2ZShUKTtyZXR1cm4gd2AKICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ2aWV3VGFiICR7dGhpcy5zZWxlY3RlZFZpZXc9PT1UPyJzZWxlY3RlZCI6IiJ9ICR7RT8iaGFzU3VicyI6IiJ9ICR7Qj8iZ3JvdXBBY3RpdmUiOiIifSIKICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5sb2FkVmlldyhUKX0KICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICR7VC5pY29uTmFtZT93YAogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHtULmljb25OYW1lLmluY2x1ZGVzKCI6Iik/VC5pY29uTmFtZTpgbHVjaWRlOiR7VC5pY29uTmFtZX1gfSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHsibHVjaWRlOmZpbGUifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ke1QubmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgJHtFP3dgCiAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJjaGV2cm9uIiAuaWNvbj0iJHsibHVjaWRlOmNoZXZyb25Eb3duIn0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAke0U/d2AKICAgICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3ViVmlld3MgJHtCPyJleHBhbmRlZCI6IiJ9IgogICAgICAgICAgICAgICAgICAgICAgP2luZXJ0PSR7IUJ9CiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3ViVmlld3MtaW5uZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAke1Quc3ViVmlld3MubWFwKE09PndgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ2aWV3VGFiIHN1YiAke3RoaXMuc2VsZWN0ZWRWaWV3PT09TT8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7Uz0+e1Muc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5sb2FkVmlldyhNKX19CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7TS5pY29uTmFtZT93YAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249IiR7TS5pY29uTmFtZS5pbmNsdWRlcygiOiIpP00uaWNvbk5hbWU6YGx1Y2lkZToke00uaWNvbk5hbWV9YH0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHsibHVjaWRlOmRvdCJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+JHtNLm5hbWV9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgIGB9KX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImFwcEFjdGlvbnMiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb24iIEBjbGljaz0keygpPT57dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibG9nb3V0Iix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX19PgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249IiR7Imx1Y2lkZTpsb2dPdXQifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPHNwYW4+U2lnbiBvdXQ8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLl9hY3RpdmVNZXNzYWdlcy5sZW5ndGg+MD93YAogICAgICAgIDxkaXYgY2xhc3M9Im1lc3NhZ2VCYW5uZXJBcmVhIj4KICAgICAgICAgICR7dGhpcy5fYWN0aXZlTWVzc2FnZXMubWFwKFQ9PndgCiAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICBjbGFzcz0ibWVzc2FnZUJhbm5lciBtZXNzYWdlQmFubmVyLSR7VC50eXBlfSIKICAgICAgICAgICAgICBkYXRhLW1lc3NhZ2UtaWQ9IiR7VC5pZH0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSIke3RoaXMuZ2V0TWVzc2FnZUljb24oVCl9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWVzc2FnZUJhbm5lci10ZXh0Ij4ke1QubWVzc2FnZX08L3NwYW4+CiAgICAgICAgICAgICAgJHtULmFjdGlvbnM/Lmxlbmd0aD93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVzc2FnZUJhbm5lci1hY3Rpb25zIj4KICAgICAgICAgICAgICAgICAgJHtULmFjdGlvbnMubWFwKEU9PndgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVzc2FnZUJhbm5lci1hY3Rpb24iIEBjbGljaz0keygpPT5FLmFjdGlvbigpfT4KICAgICAgICAgICAgICAgICAgICAgICR7RS5pY29uTmFtZT93YDxkZWVzLWljb24gLmljb249IiR7RS5pY29uTmFtZS5pbmNsdWRlcygiOiIpP0UuaWNvbk5hbWU6YGx1Y2lkZToke0UuaWNvbk5hbWV9YH0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ke0UubmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAke1QuZGlzbWlzc2libGUhPT0hMT93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVzc2FnZUJhbm5lci1kaXNtaXNzIiBAY2xpY2s9JHsoKT0+dGhpcy5yZW1vdmVNZXNzYWdlKFQuaWQpfT4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHsibHVjaWRlOngifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgICAgIDxkaXYgY2xhc3M9ImFwcGNvbnRlbnQiPgogICAgICAgICAgPCEtLSBDb250ZW50IGdvZXMgaGVyZSAtLT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9sYmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wgc3RhdHVzLWNvbm5lY3RlZCI+CiAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249IiR7Imx1Y2lkZTp3aWZpIn0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8c3Bhbj5Db25uZWN0ZWQ8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wgc3RhdHVzLXRlcm1pbmFsIiBAY2xpY2s9JHt0aGlzLmxhdW5jaFRlcm1pbmFsfT4KICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHsibHVjaWRlOnRlcm1pbmFsIn0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8c3Bhbj5UZXJtaW5hbDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKFQpe2xldCBFPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlO2lmKHN1cGVyLmZpcnN0VXBkYXRlZChUKSx0aGlzLnZpZXdUYWJzJiZ0aGlzLnZpZXdUYWJzLmxlbmd0aD4wKXtsZXQgQj10aGlzLnNlbGVjdGVkVmlld3x8dGhpcy52aWV3VGFic1swXTthd2FpdCB0aGlzLmxvYWRWaWV3KEIpfX13aWxsVXBkYXRlKFQpe2lmKFQuaGFzKCJnbG9iYWxNZXNzYWdlcyIpKXtsZXQgRT1uZXcgU2V0KHRoaXMuZ2xvYmFsTWVzc2FnZXMubWFwKEY9PkYuaWQpKSxCPW5ldyBTZXQodGhpcy5fYWN0aXZlTWVzc2FnZXMubWFwKEY9PkYuaWQpKSxNPXRoaXMuZ2xvYmFsTWVzc2FnZXMuZmlsdGVyKEY9PiFCLmhhcyhGLmlkKSksUz1ULmdldCgiZ2xvYmFsTWVzc2FnZXMiKXx8W10sUD1uZXcgU2V0KFMubWFwKEY9PkYuaWQpKSxBPW5ldyBTZXQoWy4uLlBdLmZpbHRlcihGPT4hRS5oYXMoRikpKTt0aGlzLl9hY3RpdmVNZXNzYWdlcz1bLi4udGhpcy5fYWN0aXZlTWVzc2FnZXMuZmlsdGVyKEY9PiFBLmhhcyhGLmlkKSksLi4uTV19fXVwZGF0ZWQoVCl7c3VwZXIudXBkYXRlZChUKSx0aGlzLnVwZGF0ZUJhbm5lck9mZnNldCgpfXVwZGF0ZUJhbm5lck9mZnNldCgpe3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2xldCBUPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLm1lc3NhZ2VCYW5uZXJBcmVhIiksRT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5tYWluY29udGFpbmVyIiksQj1UP1Qub2Zmc2V0SGVpZ2h0OjA7RT8uc3R5bGUuc2V0UHJvcGVydHkoIi0tYmFubmVyLWFyZWEtaGVpZ2h0IixgJHtCfXB4YCl9KX1nZXRNZXNzYWdlSWNvbihUKXtyZXR1cm4gVC5pY29uP1QuaWNvbjp7aW5mbzoibHVjaWRlOmluZm8iLHN1Y2Nlc3M6Imx1Y2lkZTpjaXJjbGVDaGVjayIsd2FybmluZzoibHVjaWRlOnRyaWFuZ2xlQWxlcnQiLGVycm9yOiJsdWNpZGU6Y2lyY2xlWCJ9W1QudHlwZV19YWRkTWVzc2FnZShUKXtsZXQgRT1ULmlkfHxgbXNnLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMiw5KX1gLEI9e2Rpc21pc3NpYmxlOiEwLC4uLlQsaWQ6RX07cmV0dXJuIHRoaXMuX2FjdGl2ZU1lc3NhZ2VzPVsuLi50aGlzLl9hY3RpdmVNZXNzYWdlcyxCXSxFfXJlbW92ZU1lc3NhZ2UoVCl7bGV0IEU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1tZXNzYWdlLWlkPSIke1R9Il1gKTtFPyhFLmNsYXNzTGlzdC5hZGQoImRpc21pc3NpbmciKSxFLmFkZEV2ZW50TGlzdGVuZXIoImFuaW1hdGlvbmVuZCIsKCk9Pnt0aGlzLl9hY3RpdmVNZXNzYWdlcz10aGlzLl9hY3RpdmVNZXNzYWdlcy5maWx0ZXIoQj0+Qi5pZCE9PVQpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm1lc3NhZ2UtZGlzbWlzcyIse2RldGFpbDp7aWQ6VH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX0se29uY2U6ITB9KSk6dGhpcy5fYWN0aXZlTWVzc2FnZXM9dGhpcy5fYWN0aXZlTWVzc2FnZXMuZmlsdGVyKEI9PkIuaWQhPT1UKX1jbGVhck1lc3NhZ2VzKCl7dGhpcy5fYWN0aXZlTWVzc2FnZXM9W119Y3VycmVudFRlcm1pbmFsPShubih0aGlzLHopLG51bGwpO2FzeW5jIGxhdW5jaFRlcm1pbmFsKCl7bGV0IFQ9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2U7aWYodGhpcy5jdXJyZW50VGVybWluYWwpe2F3YWl0IHRoaXMuY2xvc2VUZXJtaW5hbCgpO3JldHVybn1sZXQgRT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm1haW5jb250YWluZXIiKSx7RGVlc1dvcmtzcGFjZVRlcm1pbmFsOkJ9PWF3YWl0IFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihnRygpLHk2YSkpLE09bmV3IEI7cmV0dXJuIE0uc2V0dXBDb21tYW5kPXRoaXMudGVybWluYWxTZXR1cENvbW1hbmQsdGhpcy5jdXJyZW50VGVybWluYWw9TSxFLmFwcGVuZENoaWxkKE0pLE0uc3R5bGUucG9zaXRpb249ImFic29sdXRlIixNLnN0eWxlLnpJbmRleD0iMTAiLE0uc3R5bGUudG9wPSJ2YXIoLS1iYW5uZXItYXJlYS1oZWlnaHQsIDBweCkiLE0uc3R5bGUubGVmdD0iMjQwcHgiLE0uc3R5bGUucmlnaHQ9IjBweCIsTS5zdHlsZS5oZWlnaHQ9ImF1dG8iLE0uc3R5bGUuYm90dG9tPSIyNHB4IixNLnN0eWxlLm9wYWNpdHk9IjAiLE0uc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGVZKDhweCkgc2NhbGUoMC45OSkiLE0uc3R5bGUudHJhbnNpdGlvbj0iYWxsIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkiLE0uc3R5bGUuYm94U2hhZG93PSIwIDI1cHggNTBweCAtMTJweCByZ2IoMCAwIDAgLyAwLjUpLCAwIDAgMCAxcHggcmdiKDI1NSAyNTUgMjU1IC8gMC4wNSkiLE0uYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCgpPT50aGlzLmNsb3NlVGVybWluYWwoKSksYXdhaXQgVC5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLE0uc3R5bGUub3BhY2l0eT0iMSIsTS5zdHlsZS50cmFuc2Zvcm09InRyYW5zbGF0ZVkoMCkgc2NhbGUoMSkiLE19YXN5bmMgY2xvc2VUZXJtaW5hbCgpe2xldCBUPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlO3RoaXMuY3VycmVudFRlcm1pbmFsJiYodGhpcy5jdXJyZW50VGVybWluYWwuc3R5bGUub3BhY2l0eT0iMCIsdGhpcy5jdXJyZW50VGVybWluYWwuc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGVZKDhweCkgc2NhbGUoMC45OSkiLGF3YWl0IFQuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigyNTApLHRoaXMuY3VycmVudFRlcm1pbmFsLnJlbW92ZSgpLHRoaXMuY3VycmVudFRlcm1pbmFsPW51bGwpfWlzR3JvdXBBY3RpdmUoVCl7cmV0dXJuIHRoaXMuc2VsZWN0ZWRWaWV3PT09VD8hMDpULnN1YlZpZXdzPy5zb21lKEU9PkU9PT10aGlzLnNlbGVjdGVkVmlldyk/PyExfWN1cnJlbnRWaWV3O2FzeW5jIGxvYWRWaWV3KFQpe2lmKCFULmVsZW1lbnQmJlQuc3ViVmlld3M/Lmxlbmd0aCl7bGV0IE09VC5zdWJWaWV3cy5maW5kKFM9PlMuZWxlbWVudCk7cmV0dXJuIE0/dGhpcy5sb2FkVmlldyhNKTp2b2lkIDB9aWYoIVQuZWxlbWVudClyZXR1cm47bGV0IEU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5hcHBjb250ZW50IiksQj1uZXcgVC5lbGVtZW50O3RoaXMuY3VycmVudFZpZXcmJnRoaXMuY3VycmVudFZpZXcucmVtb3ZlKCksRS5hcHBlbmRDaGlsZChCKSx0aGlzLmN1cnJlbnRWaWV3PUIsdGhpcy5zZWxlY3RlZFZpZXc9VCx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ2aWV3LXNlbGVjdCIse2RldGFpbDp7dmlldzpUfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfXN0YXRpY3tubihyLHQpfX07cmV0dXJuIE89cn0pKCl9KTt2YXIgVDZhPWYoKCk9PntfNmEoKX0pO3ZhciBMNmEsJDZhPWYoKCk9PntsZSgpO0w2YT1zKCgpPT53YAogIDxzdHlsZT4KICAgIGJvZHkgewogICAgICBtYXJnaW46IDA7CiAgICAgIHBhZGRpbmc6IDA7CiAgICB9CiAgICAuZGVtby1jb250YWluZXIgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogMDsKICAgICAgbGVmdDogMDsKICAgIH0KICA8L3N0eWxlPgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkZWVzLXNpbXBsZS1sb2dpbiAKICAgICAgbmFtZT0iTXkgQXBwbGljYXRpb24iCiAgICAgIEBsb2dpbj0ke2E9Pntjb25zb2xlLmxvZygiTG9naW4gZXZlbnQgcmVjZWl2ZWQ6IixhLmRldGFpbCk7bGV0IGU9YS5kZXRhaWw/LmRhdGF8fGEuZGV0YWlsO2U/LnVzZXJuYW1lJiZlPy5wYXNzd29yZD9hbGVydChgTG9naW4gYXR0ZW1wdGVkIHdpdGg6ClVzZXJuYW1lOiAke2UudXNlcm5hbWV9ClBhc3N3b3JkOiAke2UucGFzc3dvcmR9YCk6Y29uc29sZS5lcnJvcigiSW52YWxpZCBsb2dpbiBkYXRhIHN0cnVjdHVyZToiLGEuZGV0YWlsKX19CiAgICA+CiAgICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDQwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPgogICAgICAgIDxoMT5XZWxjb21lITwvaDE+CiAgICAgICAgPHA+VGhpcyBpcyB0aGUgc2xvdHRlZCBjb250ZW50IHRoYXQgYXBwZWFycyBhZnRlciBsb2dpbi48L3A+CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLXNpbXBsZS1sb2dpbj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBENmEsQ0plLEE2YSxFNmE9ZigoKT0+eyQ2YSgpO2xlKCk7UWUoKTtYcigpO0Q2YT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sQ0plPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxBNmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXNpbXBsZS1sb2dpbiIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzU2ltcGxlTG9naW4iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKCldLEQ2YSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+Im5hbWUiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5uYW1lLCJnZXQiKSxzZXQ6cygocCx1KT0+e3AubmFtZT11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksRDZhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9c3RhdGljIGRlbW89TDZhO3N0YXRpYyBkZW1vR3JvdXBzPVsiU2ltcGxlIl07I2U9Q0plKHRoaXMsbiwiQXBwbGljYXRpb24iKTtnZXQgbmFtZSgpe3JldHVybiB0aGlzLiNlfXNldCBuYW1lKGMpe3RoaXMuI2U9Y31zdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC5sb2dpbkNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLnNsb3RDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLmxvZ2luIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXgtd2lkdGg6IDM2MHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5sb2dpbi1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAuc3ViaGVhZGVyIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZTo6cGFydChjb250ZW50KSB7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIGRlZXMtZm9ybSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIGRlZXMtaW5wdXQtdGV4dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZSBkZWVzLWZvcm0tc3VibWl0IHsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJsb2dpbkNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9naW4iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibG9naW4taGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj5TaWduIGluPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1YmhlYWRlciI+RW50ZXIgeW91ciBjcmVkZW50aWFscyB0byBhY2Nlc3MgJHt0aGlzLm5hbWV9PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkZWVzLXRpbGUgLmhlYWRpbmc9JHsiQ3JlZGVudGlhbHMifT4KICAgICAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGtleT0idXNlcm5hbWUiIGxhYmVsPSJVc2VybmFtZSIgcmVxdWlyZWQ+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBrZXk9InBhc3N3b3JkIiBsYWJlbD0iUGFzc3dvcmQiIGlzUGFzc3dvcmRCb29sIHJlcXVpcmVkPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PlNpZ24gaW48L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgICAgIDwvZGVlcy1mb3JtPgogICAgICAgICAgPC9kZWVzLXRpbGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzbG90Q29udGFpbmVyIj4KICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoYyl7c3VwZXIuZmlyc3RVcGRhdGVkKGMpO2xldCBwPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLWZvcm0iKTtwJiZwLmFkZEV2ZW50TGlzdGVuZXIoImZvcm1EYXRhIiwodT0+e3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImxvZ2luIix7ZGV0YWlsOnUuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9KSl9YXN5bmMgc3dpdGNoVG9TbG90dGVkQ29udGVudCgpe2xldCBjPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLHA9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5sb2dpbiIpLHU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5sb2dpbkNvbnRhaW5lciIpLG09dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5zbG90Q29udGFpbmVyIik7cC5zdHlsZS5vcGFjaXR5PSIwIixwLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgyMHB4KSIsdS5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixtLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgyMHB4KSIsYXdhaXQgYy5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDMwMCksbS5zdHlsZS5vcGFjaXR5PSIxIixtLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgwcHgpIixhd2FpdCBjLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMzAwKSxtLnN0eWxlLnBvaW50ZXJFdmVudHM9ImFsbCJ9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLENKZSh0aGlzLGwpfXN0YXRpY3tDSmUocix0KX19O3JldHVybiBkPXJ9KSgpfSk7dmFyIFA2YT1mKCgpPT57RTZhKCl9KTt2YXIgSTZhPWYoKCk9Pnt4NmEoKTtUNmEoKTtQNmEoKX0pO3ZhciBONmE9ZigoKT0+e3ZhKCl9KTt2YXIgUjZhLE82YT1mKCgpPT57bGUoKTtSNmE9cygoKT0+d2AKICAgIDxzdHlsZT4KICAgICAgLmRlbW9XcmFwcGVyIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgCiAgICAgICAgYmFja2dyb3VuZDogIzg4ODg4ODsKICAgICAgfQogICAgICAubG9ncyB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICB3aWR0aDogNjAwcHg7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgfQogICAgICAubG9ncyBkaXYgewogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJkZW1vV3JhcHBlciI+CiAgICAgIDxkZWVzLXNlYXJjaGJhcgogICAgICAgIEBzZWFyY2gtY2hhbmdlZD0ke3ModD0+e2xldCBpPXQudGFyZ2V0LmNsb3Nlc3QoIi5kZW1vV3JhcHBlciIpPy5xdWVyeVNlbGVjdG9yKCIjY2hhbmdlZCIpO2kmJihpLnRleHRDb250ZW50PWBzZWFyY2gtY2hhbmdlZDogJHt0LmRldGFpbC52YWx1ZX1gKX0sIm9uQ2hhbmdlZCIpfQogICAgICAgIEBzZWFyY2gtc3VibWl0PSR7cyh0PT57bGV0IGk9dC50YXJnZXQuY2xvc2VzdCgiLmRlbW9XcmFwcGVyIik/LnF1ZXJ5U2VsZWN0b3IoIiNzdWJtaXR0ZWQiKTtpJiYoaS50ZXh0Q29udGVudD1gc2VhcmNoLXN1Ym1pdDogJHt0LmRldGFpbC52YWx1ZX1gKX0sIm9uU3VibWl0Iil9CiAgICAgID48L2RlZXMtc2VhcmNoYmFyPgogICAgICA8ZGl2IGNsYXNzPSJsb2dzIj4KICAgICAgICA8ZGl2IGlkPSJjaGFuZ2VkIj5zZWFyY2gtY2hhbmdlZDo8L2Rpdj4KICAgICAgICA8ZGl2IGlkPSJzdWJtaXR0ZWQiPnNlYXJjaC1zdWJtaXQ6PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYCwiZGVtb0Z1bmMiKX0pO3ZhciBGNmEsX0plLEI2YSxINmE9ZigoKT0+e2xlKCk7TDEoKTtPNmEoKTtRZSgpO0Y2YT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sX0plPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxCNmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXNlYXJjaGJhciIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzU2VhcmNoYmFyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxGNmEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWx0ZXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJmaWx0ZXJzImluIHAsImhhcyIpLGdldDpzKHA9PnAuZmlsdGVycywiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLmZpbHRlcnM9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLEY2YShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfXN0YXRpYyBkZW1vPVI2YTtzdGF0aWMgZGVtb0dyb3Vwcz1bIlV0aWxpdHkiXTtzdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgZm9udC1mYW1pbHk6IERlZXMgU2FuczsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2VlZWVlYiIsIiMwMDAwMDAiKX07CiAgICAgIH0KCiAgICAgIC5zZWFyY2hib3hDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW46IGF1dG87CiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzAwMDAwMDE1IiwiI2ZmZmZmZjE1Iil9OwogICAgICAgIC0tYm94SGVpZ2h0OiA2MHB4OwogICAgICAgIGhlaWdodDogdmFyKC0tYm94SGVpZ2h0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3hIZWlnaHQpOwogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMTQwcHg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiMwMDAwMDAxNSIsIiNmZmZmZmYyMCIpfTsKICAgICAgfQoKICAgICAgaW5wdXQgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZWVlZWViIil9OwogICAgICAgIHBhZGRpbmctbGVmdDogMjVweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IC04cHg7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5zZWFyY2hCdXR0b24gewogICAgICAgIC0tYnV0dG9uUGFkZGluZzogOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWVlZWViIiwiIzAwMDAwMCIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZWVlZWViIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiBjYWxjKHZhcigtLWJveEhlaWdodCkgLSAodmFyKC0tYnV0dG9uUGFkZGluZykgKiAyKSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm94SGVpZ2h0KTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIDsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcywgYmFja2dyb3VuZCAwLjFzOwogICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tYnV0dG9uUGFkZGluZyk7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5zZWFyY2hCdXR0b246aG92ZXIgewogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKGQ0LmJsdWUsYzQuYmx1ZSl9OwogICAgICB9CgogICAgICAuc2VhcmNoQnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoZDQuYmx1ZUFjdGl2ZSxjNC5ibHVlQWN0aXZlKX07CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsKICAgICAgfQoKICAgICAgLmZpbHRlcnMgewogICAgICAgIG1hcmdpbjogYXV0bzsKICAgICAgICBtYXgtd2lkdGg6IDgwMHB4OwogICAgICB9CiAgICBgXTsjZT1fSmUodGhpcyxuLFtdKTtnZXQgZmlsdGVycygpe3JldHVybiB0aGlzLiNlfXNldCBmaWx0ZXJzKGMpe3RoaXMuI2U9Y31zZWFyY2hJbnB1dD1fSmUodGhpcyxsKTtzZWFyY2hCdXR0b247Y29uc3RydWN0b3IoKXtzdXBlcigpfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJzZWFyY2hib3hDb250YWluZXIiPgogICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iWW91ciBTa2lsbHMgKGUuZy4gVHlwZVNjcmlwdCwgUnVzdCwgUHJvamVjdG1hbmFnZW1lbnQpIiAvPgogICAgICAgIDxkaXYgY2xhc3M9InNlYXJjaEJ1dHRvbiI+U2VhcmNoIC0+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAke3RoaXMuZmlsdGVycy5sZW5ndGg+MD93YAogICAgICAgIDxkaXYgY2xhc3M9ImZpbHRlcnMiPgogICAgICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9ImhyLXNtYWxsIj5GaWx0ZXJzPC9kZWVzLWhlYWRpbmc+CiAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24gLmxhYmVsPSR7ImxvY2F0aW9uIn0+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICA8L2Rpdj4gIAogICAgICBgOndgYH0KICAgIGB9Zmlyc3RVcGRhdGVkKCl7dGhpcy5zZWFyY2hJbnB1dC5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWFyY2gtY2hhbmdlZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt2YWx1ZTp0aGlzLnNlYXJjaElucHV0LnZhbHVlfX0pKX0pLHRoaXMuc2VhcmNoSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYz0+e2Mua2V5PT09IkVudGVyIiYmdGhpcy5fZGlzcGF0Y2hTdWJtaXQoKX0pLHRoaXMuc2VhcmNoQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+dGhpcy5fZGlzcGF0Y2hTdWJtaXQoKSl9X2Rpc3BhdGNoU3VibWl0KCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VhcmNoLXN1Ym1pdCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt2YWx1ZTp0aGlzLnNlYXJjaElucHV0LnZhbHVlfX0pKX1zdGF0aWN7X0plKHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciBxNmE9ZigoKT0+e0g2YSgpfSk7dmFyIFY2YSxqNmE9ZigoKT0+e2xlKCk7VjZhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAzMnB4OwogICAgICBwYWRkaW5nOiA0OHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgfQoKICAgIC5zZWN0aW9uIHsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTgxODFiIil9OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgcGFkZGluZzogMjRweDsKICAgIH0KCiAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgIH0KCiAgICAuc2VjdGlvbi1kZXNjcmlwdGlvbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgIH0KCiAgICAudG9rZW4tZ3JpZCB7CiAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIwMHB4LCAxZnIpKTsKICAgICAgZ2FwOiAxNnB4OwogICAgfQoKICAgIC50b2tlbi1pdGVtIHsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICB9CgogICAgLnRva2VuLW5hbWUgewogICAgICBmb250LWZhbWlseTogJ0ludGVsIE9uZSBNb25vJywgbW9ub3NwYWNlOwogICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgIH0KCiAgICAudG9rZW4tdmFsdWUgewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICB9CgogICAgLnNwYWNpbmctZGVtbyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgICAgZ2FwOiA4cHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIH0KCiAgICAuc3BhY2luZy1ib3ggewogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIH0KCiAgICAucmFkaXVzLWRlbW8gewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBnYXA6IDE2cHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIH0KCiAgICAucmFkaXVzLWJveCB7CiAgICAgIHdpZHRoOiA2MHB4OwogICAgICBoZWlnaHQ6IDYwcHg7CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgfQoKICAgIC5zaGFkb3ctZGVtbyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGdhcDogMjRweDsKICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgfQoKICAgIC5zaGFkb3ctYm94IHsKICAgICAgd2lkdGg6IDEwMHB4OwogICAgICBoZWlnaHQ6IDEwMHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMyNzI3MmEiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgIH0KCiAgICAuaGVpZ2h0LWRlbW8gewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBnYXA6IDE2cHg7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgfQoKICAgIC5oZWlnaHQtYm94IHsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICB3aWR0aDogMTIwcHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtdGhlbWU+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlNwYWNpbmcgU2NhbGU8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIENTUyB2YXJpYWJsZXM6IC0tZGVlcy1zcGFjaW5nLXhzIHRocm91Z2ggLS1kZWVzLXNwYWNpbmctM3hsCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2luZy1kZW1vIj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNpbmctYm94IiBzdHlsZT0id2lkdGg6IHZhcigtLWRlZXMtc3BhY2luZy14cyk7IGhlaWdodDogdmFyKC0tZGVlcy1zcGFjaW5nLXhzKTsiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj54cyAoNHB4KTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjaW5nLWJveCIgc3R5bGU9IndpZHRoOiB2YXIoLS1kZWVzLXNwYWNpbmctc20pOyBoZWlnaHQ6IHZhcigtLWRlZXMtc3BhY2luZy1zbSk7Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+c20gKDhweCk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2luZy1ib3giIHN0eWxlPSJ3aWR0aDogdmFyKC0tZGVlcy1zcGFjaW5nLW1kKTsgaGVpZ2h0OiB2YXIoLS1kZWVzLXNwYWNpbmctbWQpOyI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPm1kICgxMnB4KTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjaW5nLWJveCIgc3R5bGU9IndpZHRoOiB2YXIoLS1kZWVzLXNwYWNpbmctbGcpOyBoZWlnaHQ6IHZhcigtLWRlZXMtc3BhY2luZy1sZyk7Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+bGcgKDE2cHgpPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNpbmctYm94IiBzdHlsZT0id2lkdGg6IHZhcigtLWRlZXMtc3BhY2luZy14bCk7IGhlaWdodDogdmFyKC0tZGVlcy1zcGFjaW5nLXhsKTsiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj54bCAoMjRweCk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2luZy1ib3giIHN0eWxlPSJ3aWR0aDogdmFyKC0tZGVlcy1zcGFjaW5nLTJ4bCk7IGhlaWdodDogdmFyKC0tZGVlcy1zcGFjaW5nLTJ4bCk7Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+MnhsICgzMnB4KTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjaW5nLWJveCIgc3R5bGU9IndpZHRoOiB2YXIoLS1kZWVzLXNwYWNpbmctM3hsKTsgaGVpZ2h0OiB2YXIoLS1kZWVzLXNwYWNpbmctM3hsKTsiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4zeGwgKDQ4cHgpPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Cb3JkZXIgUmFkaXVzIFNjYWxlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDU1MgdmFyaWFibGVzOiAtLWRlZXMtcmFkaXVzLXhzIHRocm91Z2ggLS1kZWVzLXJhZGl1cy1mdWxsCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icmFkaXVzLWRlbW8iPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmFkaXVzLWJveCIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IHZhcigtLWRlZXMtcmFkaXVzLXhzKTsiPnhzPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjJweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYWRpdXMtYm94IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMtc20pOyI+c208L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+NHB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJhZGl1cy1ib3giIHN0eWxlPSJib3JkZXItcmFkaXVzOiB2YXIoLS1kZWVzLXJhZGl1cy1tZCk7Ij5tZDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj42cHg8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmFkaXVzLWJveCIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IHZhcigtLWRlZXMtcmFkaXVzLWxnKTsiPmxnPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjhweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYWRpdXMtYm94IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMteGwpOyI+eGw8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+MTJweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYWRpdXMtYm94IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMtZnVsbCk7Ij5mdWxsPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjk5OXB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TaGFkb3cgRWxldmF0aW9uIFNjYWxlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDU1MgdmFyaWFibGVzOiAtLWRlZXMtc2hhZG93LXhzIHRocm91Z2ggLS1kZWVzLXNoYWRvdy1sZwogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNoYWRvdy1kZW1vIj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRvdy1ib3giIHN0eWxlPSJib3gtc2hhZG93OiB2YXIoLS1kZWVzLXNoYWRvdy14cyk7Ij54czwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj5taW5pbWFsPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRvdy1ib3giIHN0eWxlPSJib3gtc2hhZG93OiB2YXIoLS1kZWVzLXNoYWRvdy1zbSk7Ij5zbTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj5zdWJ0bGU8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hhZG93LWJveCIgc3R5bGU9ImJveC1zaGFkb3c6IHZhcigtLWRlZXMtc2hhZG93LW1kKTsiPm1kPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPm1lZGl1bTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaGFkb3ctYm94IiBzdHlsZT0iYm94LXNoYWRvdzogdmFyKC0tZGVlcy1zaGFkb3ctbGcpOyI+bGc8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+cHJvbWluZW50PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Db250cm9sIEhlaWdodCBTY2FsZTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPgogICAgICAgICAgQ1NTIHZhcmlhYmxlczogLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LXNtIHRocm91Z2ggLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LXhsCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVpZ2h0LWRlbW8iPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVpZ2h0LWJveCIgc3R5bGU9ImhlaWdodDogdmFyKC0tZGVlcy1jb250cm9sLWhlaWdodC1zbSk7Ij5zbTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4zMnB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlaWdodC1ib3giIHN0eWxlPSJoZWlnaHQ6IHZhcigtLWRlZXMtY29udHJvbC1oZWlnaHQtbWQpOyI+bWQ8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+MzZweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWlnaHQtYm94IiBzdHlsZT0iaGVpZ2h0OiB2YXIoLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LWxnKTsiPmxnPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjQwcHg8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVpZ2h0LWJveCIgc3R5bGU9ImhlaWdodDogdmFyKC0tZGVlcy1jb250cm9sLWhlaWdodC14bCk7Ij54bDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj40OHB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5UcmFuc2l0aW9uIER1cmF0aW9uczwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPgogICAgICAgICAgQ1NTIHZhcmlhYmxlczogLS1kZWVzLXRyYW5zaXRpb24tZmFzdCB0aHJvdWdoIC0tZGVlcy10cmFuc2l0aW9uLXNsb3dlcgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWdyaWQiPgogICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4taXRlbSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPi0tZGVlcy10cmFuc2l0aW9uLWZhc3Q8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tdmFsdWUiPjAuMXM8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4taXRlbSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPi0tZGVlcy10cmFuc2l0aW9uLWRlZmF1bHQ8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tdmFsdWUiPjAuMTVzPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWl0ZW0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4tLWRlZXMtdHJhbnNpdGlvbi1zbG93PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLXZhbHVlIj4wLjJzPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWl0ZW0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4tLWRlZXMtdHJhbnNpdGlvbi1zbG93ZXI8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tdmFsdWUiPjAuM3M8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGVlcy10aGVtZT4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBkNyxaMSxVNmEsVzZhPWYoKCk9PntsZSgpO1FlKCk7ajZhKCk7ZDc9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFoxPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxVNmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXRoZW1lIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W107dmFyIE49Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNUaGVtZSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBfPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6T2JqZWN0fSldLHU9WyQoe3R5cGU6T2JqZWN0fSldLHg9WyQoe3R5cGU6T2JqZWN0fSldLHk9WyQoe3R5cGU6T2JqZWN0fSldLGQ3KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VzdG9tU3BhY2luZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iY3VzdG9tU3BhY2luZyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmN1c3RvbVNwYWNpbmcsImdldCIpLHNldDpzKCh6LE8pPT57ei5jdXN0b21TcGFjaW5nPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbixsKSxkNyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1c3RvbVJhZGl1cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iY3VzdG9tUmFkaXVzImluIHosImhhcyIpLGdldDpzKHo9PnouY3VzdG9tUmFkaXVzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouY3VzdG9tUmFkaXVzPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYyxwKSxkNyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1c3RvbVNoYWRvd3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImN1c3RvbVNoYWRvd3MiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5jdXN0b21TaGFkb3dzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouY3VzdG9tU2hhZG93cz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG0sdiksZDcodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXN0b21UcmFuc2l0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iY3VzdG9tVHJhbnNpdGlvbnMiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5jdXN0b21UcmFuc2l0aW9ucywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmN1c3RvbVRyYW5zaXRpb25zPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYixnKSxkNyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1c3RvbUNvbnRyb2xIZWlnaHRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJjdXN0b21Db250cm9sSGVpZ2h0cyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmN1c3RvbUNvbnRyb2xIZWlnaHRzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouY3VzdG9tQ29udHJvbEhlaWdodHM9T30sInNldCIpfSxtZXRhZGF0YTpffSxrLEMpLGQ3KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsdCksTj1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89VjZhO3N0YXRpYyBkZW1vR3JvdXBzPVsiVXRpbGl0eSJdOyNlPVoxKHRoaXMsbixudWxsKTtnZXQgY3VzdG9tU3BhY2luZygpe3JldHVybiB0aGlzLiNlfXNldCBjdXN0b21TcGFjaW5nKF8pe3RoaXMuI2U9X30jdD0oWjEodGhpcyxsKSxaMSh0aGlzLGMsbnVsbCkpO2dldCBjdXN0b21SYWRpdXMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgY3VzdG9tUmFkaXVzKF8pe3RoaXMuI3Q9X30jYT0oWjEodGhpcyxwKSxaMSh0aGlzLG0sbnVsbCkpO2dldCBjdXN0b21TaGFkb3dzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGN1c3RvbVNoYWRvd3MoXyl7dGhpcy4jYT1ffSNyPShaMSh0aGlzLHYpLFoxKHRoaXMsYixudWxsKSk7Z2V0IGN1c3RvbVRyYW5zaXRpb25zKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGN1c3RvbVRyYW5zaXRpb25zKF8pe3RoaXMuI3I9X30jcz0oWjEodGhpcyxnKSxaMSh0aGlzLGssbnVsbCkpO2dldCBjdXN0b21Db250cm9sSGVpZ2h0cygpe3JldHVybiB0aGlzLiNzfXNldCBjdXN0b21Db250cm9sSGVpZ2h0cyhfKXt0aGlzLiNzPV99c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBjb250ZW50czsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICAke3RoaXMuZ2VuZXJhdGVDdXN0b21TdHlsZXMoKX0KICAgICAgPC9zdHlsZT4KICAgICAgPHNsb3Q+PC9zbG90PgogICAgYH1nZW5lcmF0ZUN1c3RvbVN0eWxlcygpe2xldCBfPVsiOmhvc3QgeyJdO2lmKHRoaXMuY3VzdG9tU3BhY2luZylmb3IobGV0W3osT11vZiBPYmplY3QuZW50cmllcyh0aGlzLmN1c3RvbVNwYWNpbmcpKU8mJl8ucHVzaChgICAtLWRlZXMtc3BhY2luZy0ke3p9OiAke099O2ApO2lmKHRoaXMuY3VzdG9tUmFkaXVzKWZvcihsZXRbeixPXW9mIE9iamVjdC5lbnRyaWVzKHRoaXMuY3VzdG9tUmFkaXVzKSlPJiZfLnB1c2goYCAgLS1kZWVzLXJhZGl1cy0ke3p9OiAke099O2ApO2lmKHRoaXMuY3VzdG9tU2hhZG93cylmb3IobGV0W3osT11vZiBPYmplY3QuZW50cmllcyh0aGlzLmN1c3RvbVNoYWRvd3MpKU8mJl8ucHVzaChgICAtLWRlZXMtc2hhZG93LSR7en06ICR7T307YCk7aWYodGhpcy5jdXN0b21UcmFuc2l0aW9ucyl7Zm9yKGxldFt6LE9db2YgT2JqZWN0LmVudHJpZXModGhpcy5jdXN0b21UcmFuc2l0aW9ucykpaWYoTyl7bGV0IFQ9ej09PSJkZWZhdWx0Ij8iZGVmYXVsdCI6ejtfLnB1c2goYCAgLS1kZWVzLXRyYW5zaXRpb24tJHtUfTogJHtPfTtgKX19aWYodGhpcy5jdXN0b21Db250cm9sSGVpZ2h0cylmb3IobGV0W3osT11vZiBPYmplY3QuZW50cmllcyh0aGlzLmN1c3RvbUNvbnRyb2xIZWlnaHRzKSlPJiZfLnB1c2goYCAgLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LSR7en06ICR7T307YCk7cmV0dXJuIF8ucHVzaCgifSIpLF8uam9pbihgCmApfXNldFNwYWNpbmcoXyx6KXt0aGlzLmN1c3RvbVNwYWNpbmc9ey4uLnRoaXMuY3VzdG9tU3BhY2luZyxbX106en19c2V0UmFkaXVzKF8seil7dGhpcy5jdXN0b21SYWRpdXM9ey4uLnRoaXMuY3VzdG9tUmFkaXVzLFtfXTp6fX1zZXRTaGFkb3coXyx6KXt0aGlzLmN1c3RvbVNoYWRvd3M9ey4uLnRoaXMuY3VzdG9tU2hhZG93cyxbX106en19c2V0VHJhbnNpdGlvbihfLHope3RoaXMuY3VzdG9tVHJhbnNpdGlvbnM9ey4uLnRoaXMuY3VzdG9tVHJhbnNpdGlvbnMsW19dOnp9fXNldENvbnRyb2xIZWlnaHQoXyx6KXt0aGlzLmN1c3RvbUNvbnRyb2xIZWlnaHRzPXsuLi50aGlzLmN1c3RvbUNvbnRyb2xIZWlnaHRzLFtfXTp6fX1nZXRUaGVtZSgpe3JldHVybntjb2xvcnM6WG8uY29sb3JzLHNwYWNpbmc6ey4uLlhvLnNwYWNpbmcsLi4udGhpcy5jdXN0b21TcGFjaW5nfSxyYWRpdXM6ey4uLlhvLnJhZGl1cywuLi50aGlzLmN1c3RvbVJhZGl1c30sc2hhZG93czp7Li4uWG8uc2hhZG93cywuLi50aGlzLmN1c3RvbVNoYWRvd3N9LHRyYW5zaXRpb25zOnsuLi5Yby50cmFuc2l0aW9ucywuLi50aGlzLmN1c3RvbVRyYW5zaXRpb25zfSxjb250cm9sSGVpZ2h0czp7Li4uWG8uY29udHJvbEhlaWdodHMsLi4udGhpcy5jdXN0b21Db250cm9sSGVpZ2h0c319fXJlc2V0VG9EZWZhdWx0cygpe3RoaXMuY3VzdG9tU3BhY2luZz1udWxsLHRoaXMuY3VzdG9tUmFkaXVzPW51bGwsdGhpcy5jdXN0b21TaGFkb3dzPW51bGwsdGhpcy5jdXN0b21UcmFuc2l0aW9ucz1udWxsLHRoaXMuY3VzdG9tQ29udHJvbEhlaWdodHM9bnVsbH1hcHBseVRoZW1lKF8pe18uc3BhY2luZyYmKHRoaXMuY3VzdG9tU3BhY2luZz1fLnNwYWNpbmcpLF8ucmFkaXVzJiYodGhpcy5jdXN0b21SYWRpdXM9Xy5yYWRpdXMpLF8uc2hhZG93cyYmKHRoaXMuY3VzdG9tU2hhZG93cz1fLnNoYWRvd3MpLF8udHJhbnNpdGlvbnMmJih0aGlzLmN1c3RvbVRyYW5zaXRpb25zPV8udHJhbnNpdGlvbnMpLF8uY29udHJvbEhlaWdodHMmJih0aGlzLmN1c3RvbUNvbnRyb2xIZWlnaHRzPV8uY29udHJvbEhlaWdodHMpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxaMSh0aGlzLEMpfXN0YXRpY3taMShyLHQpfX07cmV0dXJuIE49cn0pKCl9KTt2YXIgRzZhPWYoKCk9PntXNmEoKX0pO3ZhciBZNmEsSzZhLFo2YT1mKCgpPT57bGUoKTtUSmUoKTtZNmE9cyhhc3luYyBhPT57YXdhaXQgbmV3IFByb21pc2UoZT0+e3dpbmRvdy5zZXRUaW1lb3V0KCgpPT5lKCksYSl9KX0sIndhaXRGb3JEZW1vU3RlcCIpLEs2YT1zKCgpPT57bGV0IGE9ITE7cmV0dXJuIHdgCiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBncmlkOyBnYXA6IDE2cHg7IHBsYWNlLWl0ZW1zOiBjZW50ZXI7IHBhZGRpbmc6IDMycHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPgogICAgICA8cCBzdHlsZT0ibWFyZ2luOiAwOyBtYXgtd2lkdGg6IDU0MHB4OyBsaW5lLWhlaWdodDogMS42OyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7Ij4KICAgICAgICBMYXVuY2hlcyB0aGUgdXBkYXRlciBhcyBhIHN0ZXBwZXIgZmxvdy4gVGhlIGZpcnN0IHN0ZXAgc3RyZWFtcyB0ZXJtaW5hbC1zdHlsZQogICAgICAgIHByb2dyZXNzIHVwZGF0ZXMgYW5kIHRoZW4gbW92ZXMgYXV0b21hdGljYWxseSB0byB0aGUgcmVhZHkgc3RlcC4KICAgICAgPC9wPgogICAgICA8ZGVlcy1idXR0b24KICAgICAgICBAY2xpY2s9JHthc3luYygpPT57aWYoIWEpe2E9ITA7dHJ5e2xldCBlPWF3YWl0IG1pZS5jcmVhdGVBbmRTaG93KHtjdXJyZW50VmVyc2lvbjoiMy43OS4wIix1cGRhdGVkVmVyc2lvbjoiMy44MC4wIixtb3JlSW5mb1VybDoiaHR0cHM6Ly9jb2RlLmZvc3MuZ2xvYmFsL2Rlc2lnbi5lc3RhdGUvZGVlcy1jYXRhbG9nIixjaGFuZ2Vsb2dVcmw6Imh0dHBzOi8vY29kZS5mb3NzLmdsb2JhbC9kZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZy8tL2Jsb2IvbWFpbi9jaGFuZ2Vsb2cubWQiLHN1Y2Nlc3NBY3Rpb246ImNsb3NlIixzdWNjZXNzRGVsYXlNczoxZTR9KSx0PVt7bGluZToiQ2hlY2tpbmcgcmVsZWFzZSBtYW5pZmVzdCIscGVyY2VudGFnZToxMixkZWxheTo1NTB9LHtsaW5lOiJEb3dubG9hZGluZyBzaWduZWQgYnVuZGxlIixwZXJjZW50YWdlOjMzLGRlbGF5OjcwMH0se2xpbmU6IlZlcmlmeWluZyBjaGVja3N1bSIscGVyY2VudGFnZTo1MSxkZWxheTo2NTB9LHtsaW5lOiJBcHBseWluZyB1cGRhdGUgZmlsZXMiLHBlcmNlbnRhZ2U6NzQsZGVsYXk6ODAwfSx7bGluZToiQ2xlYW5pbmcgdXAgcHJldmlvdXMgcmVsZWFzZSIscGVyY2VudGFnZTo5MSxkZWxheTo2MDB9XTtlLnVwZGF0ZVByb2dyZXNzKHtzdGF0dXNUZXh0OiJDaGVja2luZyByZWxlYXNlIG1hbmlmZXN0Li4uIix0ZXJtaW5hbExpbmVzOlsiQ2hlY2tpbmcgcmVsZWFzZSBtYW5pZmVzdCJdLHBlcmNlbnRhZ2U6MTIsaW5kZXRlcm1pbmF0ZTohMH0pO2ZvcihsZXRbcixpXW9mIHQuZW50cmllcygpKXI+MCYmKGUuYXBwZW5kUHJvZ3Jlc3NMaW5lKGkubGluZSksZS51cGRhdGVQcm9ncmVzcyh7cGVyY2VudGFnZTppLnBlcmNlbnRhZ2Usc3RhdHVzVGV4dDpgJHtpLmxpbmV9Li4uYH0pKSxhd2FpdCBZNmEoaS5kZWxheSk7YXdhaXQgZS5tYXJrVXBkYXRlUmVhZHkoKSxhd2FpdCBZNmEoMTA1MDApfWZpbmFsbHl7YT0hMX19fX0KICAgICAgPlNob3cgdXBkYXRlciBmbG93PC9kZWVzLWJ1dHRvbj4KICAgIDwvZGl2PgogIGB9LCJkZW1vRnVuYyIpfSk7dmFyIFc0LHVvLG1pZSxUSmU9ZigoKT0+e2xlKCk7WjZhKCk7SnNlKCk7ZnMoKTtXND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sdW89ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LG1pZT0oKCk9PntsZXQgYT1baWUoImRlZXMtdXBkYXRlciIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdO3ZhciBCPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzVXBkYXRlciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBNPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLHk9WyQoe3R5cGU6U3RyaW5nfSldLE49WyQoe3R5cGU6TnVtYmVyfSldLE89WyQoe3R5cGU6U3RyaW5nfSldLFc0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFZlcnNpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImN1cnJlbnRWZXJzaW9uImluIFMsImhhcyIpLGdldDpzKFM9PlMuY3VycmVudFZlcnNpb24sImdldCIpLHNldDpzKChTLFApPT57Uy5jdXJyZW50VmVyc2lvbj1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG4sbCksVzQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ1cGRhdGVkVmVyc2lvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idXBkYXRlZFZlcnNpb24iaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy51cGRhdGVkVmVyc2lvbiwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnVwZGF0ZWRWZXJzaW9uPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYyxwKSxXNCh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vcmVJbmZvVXJsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJtb3JlSW5mb1VybCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLm1vcmVJbmZvVXJsLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MubW9yZUluZm9Vcmw9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxtLHYpLFc0KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2hhbmdlbG9nVXJsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJjaGFuZ2Vsb2dVcmwiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5jaGFuZ2Vsb2dVcmwsImdldCIpLHNldDpzKChTLFApPT57Uy5jaGFuZ2Vsb2dVcmw9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLFc0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3VjY2Vzc0FjdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ic3VjY2Vzc0FjdGlvbiJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnN1Y2Nlc3NBY3Rpb24sImdldCIpLHNldDpzKChTLFApPT57Uy5zdWNjZXNzQWN0aW9uPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sayxDKSxXNCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN1Y2Nlc3NEZWxheU1zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJzdWNjZXNzRGVsYXlNcyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnN1Y2Nlc3NEZWxheU1zLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1Muc3VjY2Vzc0RlbGF5TXM9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxfLHopLFc0KHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3VjY2Vzc0FjdGlvbkxhYmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJzdWNjZXNzQWN0aW9uTGFiZWwiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5zdWNjZXNzQWN0aW9uTGFiZWwsImdldCIpLHNldDpzKChTLFApPT57Uy5zdWNjZXNzQWN0aW9uTGFiZWw9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxULEUpLFc0KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOk19LG51bGwsdCksQj1yPWUudmFsdWUsTSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpNfSl9c3RhdGljIGRlbW89SzZhO3N0YXRpYyBkZW1vR3JvdXBzPVsiVXRpbGl0eSJdO3N0YXRpYyBhc3luYyBjcmVhdGVBbmRTaG93KE09e30pe2xldCBTPW5ldyBCO3JldHVybiBTLmN1cnJlbnRWZXJzaW9uPU0uY3VycmVudFZlcnNpb24/PyIiLFMudXBkYXRlZFZlcnNpb249TS51cGRhdGVkVmVyc2lvbj8/IiIsUy5tb3JlSW5mb1VybD1NLm1vcmVJbmZvVXJsPz8iIixTLmNoYW5nZWxvZ1VybD1NLmNoYW5nZWxvZ1VybD8/IiIsUy5zdWNjZXNzQWN0aW9uPU0uc3VjY2Vzc0FjdGlvbj8/ImNsb3NlIixTLnN1Y2Nlc3NEZWxheU1zPU0uc3VjY2Vzc0RlbGF5TXM/PzFlNCxTLnN1Y2Nlc3NBY3Rpb25MYWJlbD1NLnN1Y2Nlc3NBY3Rpb25MYWJlbD8/IiIsUy5vblN1Y2Nlc3NBY3Rpb249TS5vblN1Y2Nlc3NBY3Rpb24/P251bGwsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChTKSxhd2FpdCBTLnNob3coKSxTfSNlPXVvKHRoaXMsbiwiIik7Z2V0IGN1cnJlbnRWZXJzaW9uKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGN1cnJlbnRWZXJzaW9uKE0pe3RoaXMuI2U9TX0jdD0odW8odGhpcyxsKSx1byh0aGlzLGMsIiIpKTtnZXQgdXBkYXRlZFZlcnNpb24oKXtyZXR1cm4gdGhpcy4jdH1zZXQgdXBkYXRlZFZlcnNpb24oTSl7dGhpcy4jdD1NfSNhPSh1byh0aGlzLHApLHVvKHRoaXMsbSwiIikpO2dldCBtb3JlSW5mb1VybCgpe3JldHVybiB0aGlzLiNhfXNldCBtb3JlSW5mb1VybChNKXt0aGlzLiNhPU19I3I9KHVvKHRoaXMsdiksdW8odGhpcyxiLCIiKSk7Z2V0IGNoYW5nZWxvZ1VybCgpe3JldHVybiB0aGlzLiNyfXNldCBjaGFuZ2Vsb2dVcmwoTSl7dGhpcy4jcj1NfSNzPSh1byh0aGlzLGcpLHVvKHRoaXMsaywiY2xvc2UiKSk7Z2V0IHN1Y2Nlc3NBY3Rpb24oKXtyZXR1cm4gdGhpcy4jc31zZXQgc3VjY2Vzc0FjdGlvbihNKXt0aGlzLiNzPU19I2k9KHVvKHRoaXMsQyksdW8odGhpcyxfLDFlNCkpO2dldCBzdWNjZXNzRGVsYXlNcygpe3JldHVybiB0aGlzLiNpfXNldCBzdWNjZXNzRGVsYXlNcyhNKXt0aGlzLiNpPU19I289KHVvKHRoaXMseiksdW8odGhpcyxULCIiKSk7Z2V0IHN1Y2Nlc3NBY3Rpb25MYWJlbCgpe3JldHVybiB0aGlzLiNvfXNldCBzdWNjZXNzQWN0aW9uTGFiZWwoTSl7dGhpcy4jbz1NfXN0ZXBwZXI9KHVvKHRoaXMsRSksbnVsbCk7cHJvZ3Jlc3NTdGVwPW51bGw7c2hvd1Byb21pc2U9bnVsbDtvblN1Y2Nlc3NBY3Rpb249bnVsbDtzdGF0aWMgc3R5bGVzPVtYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgYH1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5zaG93KCl9YXN5bmMgc2hvdygpe2lmKCF0aGlzLnN0ZXBwZXI/LmlzQ29ubmVjdGVkKXtpZih0aGlzLnNob3dQcm9taXNlKXJldHVybiB0aGlzLnNob3dQcm9taXNlO3RoaXMuc2hvd1Byb21pc2U9dGhpcy5vcGVuU3RlcHBlckZsb3coKTt0cnl7YXdhaXQgdGhpcy5zaG93UHJvbWlzZX1maW5hbGx5e3RoaXMuc2hvd1Byb21pc2U9bnVsbH19fXVwZGF0ZVByb2dyZXNzKE0peyF0aGlzLnN0ZXBwZXJ8fCF0aGlzLnByb2dyZXNzU3RlcHx8dGhpcy5zdGVwcGVyLnVwZGF0ZVByb2dyZXNzU3RlcChNLHRoaXMucHJvZ3Jlc3NTdGVwKX1hcHBlbmRQcm9ncmVzc0xpbmUoTSl7IXRoaXMuc3RlcHBlcnx8IXRoaXMucHJvZ3Jlc3NTdGVwfHx0aGlzLnN0ZXBwZXIuYXBwZW5kUHJvZ3Jlc3NTdGVwTGluZShNLHRoaXMucHJvZ3Jlc3NTdGVwKX1tYXJrVXBkYXRlRXJyb3IoTSl7dGhpcy5hcHBlbmRQcm9ncmVzc0xpbmUoYEVycm9yOiAke019YCksdGhpcy51cGRhdGVQcm9ncmVzcyh7aW5kZXRlcm1pbmF0ZTohMSxzdGF0dXNUZXh0Ok19KX1hc3luYyBtYXJrVXBkYXRlUmVhZHkoKXshdGhpcy5zdGVwcGVyfHwhdGhpcy5wcm9ncmVzc1N0ZXB8fCh0aGlzLnN0ZXBwZXIudXBkYXRlUHJvZ3Jlc3NTdGVwKHtwZXJjZW50YWdlOjEwMCxpbmRldGVybWluYXRlOiExLHN0YXR1c1RleHQ6IlVwZGF0ZSByZWFkeS4ifSx0aGlzLnByb2dyZXNzU3RlcCksdGhpcy5zdGVwcGVyLmFwcGVuZFByb2dyZXNzU3RlcExpbmUoIlVwZGF0ZSByZWFkeSIsdGhpcy5wcm9ncmVzc1N0ZXApLHRoaXMuc3RlcHBlci5zZWxlY3RlZFN0ZXA9PT10aGlzLnByb2dyZXNzU3RlcCYmdGhpcy5zdGVwcGVyLmdvTmV4dCgpKX1hc3luYyBkZXN0cm95KCl7bGV0IE09dGhpcy5zdGVwcGVyO3RoaXMuc3RlcHBlcj1udWxsLHRoaXMucHJvZ3Jlc3NTdGVwPW51bGwsTT8uaXNDb25uZWN0ZWQmJmF3YWl0IE0uZGVzdHJveSgpLHRoaXMucGFyZW50RWxlbWVudCYmdGhpcy5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMpfWFzeW5jIG9wZW5TdGVwcGVyRmxvdygpe2xldHtzdGVwczpNLHByb2dyZXNzU3RlcDpTfT10aGlzLmNyZWF0ZVVwZGF0ZXJTdGVwcygpO3RoaXMucHJvZ3Jlc3NTdGVwPVMsdGhpcy5zdGVwcGVyPWF3YWl0IGE3LmNyZWF0ZUFuZFNob3coe3N0ZXBzOk0sY2FuY2VsYWJsZTohMX0pfWNyZWF0ZVVwZGF0ZXJTdGVwcygpe2xldCBNPXRoaXMuZ2V0TGlua01lbnVPcHRpb25zKCksUz17dGl0bGU6IlVwZGF0aW5nIHRoZSBhcHBsaWNhdGlvbiIsY29udGVudDp0aGlzLnJlbmRlclByb2dyZXNzQ29udGVudCgpLHByb2dyZXNzU3RlcDp7bGFiZWw6dGhpcy5nZXRQcm9ncmVzc0xhYmVsKCkscGVyY2VudGFnZTo1LGluZGV0ZXJtaW5hdGU6ITAsc3RhdHVzUm93czo0LHN0YXR1c1RleHQ6IlByZXBhcmluZyB1cGRhdGUuLi4iLHRlcm1pbmFsTGluZXM6WyJQcmVwYXJpbmcgdXBkYXRlIl19LG1lbnVPcHRpb25zOk0ubGVuZ3RoPjA/TTp2b2lkIDB9LFA9e3RpdGxlOnRoaXMudXBkYXRlZFZlcnNpb24/YFZlcnNpb24gJHt0aGlzLnVwZGF0ZWRWZXJzaW9ufSByZWFkeWA6IlVwZGF0ZSByZWFkeSIsY29udGVudDp0aGlzLnJlbmRlclJlYWR5Q29udGVudCgpLHByb2dyZXNzU3RlcDp7bGFiZWw6dGhpcy5nZXRTdWNjZXNzQ291bnRkb3duTGFiZWwodGhpcy5nZXRTdWNjZXNzRGVsYXlTZWNvbmRzKCkpLHBlcmNlbnRhZ2U6MCxpbmRldGVybWluYXRlOiExLHNob3dQZXJjZW50YWdlOiExLHN0YXR1c1Jvd3M6MixzdGF0dXNUZXh0OnRoaXMuZ2V0U3VjY2Vzc0NvdW50ZG93blN0YXR1cyh0aGlzLmdldFN1Y2Nlc3NEZWxheVNlY29uZHMoKSl9LHZhbGlkYXRpb25GdW5jOnMoYXN5bmMoQSxGLFcpPT57YXdhaXQgdGhpcy5ydW5TdWNjZXNzQ291bnRkb3duKEEsUCxXKX0sInZhbGlkYXRpb25GdW5jIil9O3JldHVybntzdGVwczpbUyxQXSxwcm9ncmVzc1N0ZXA6U319Z2V0UHJvZ3Jlc3NMYWJlbCgpe3JldHVybiB0aGlzLmN1cnJlbnRWZXJzaW9uJiZ0aGlzLnVwZGF0ZWRWZXJzaW9uP2Ake3RoaXMuY3VycmVudFZlcnNpb259IC0+ICR7dGhpcy51cGRhdGVkVmVyc2lvbn1gOnRoaXMudXBkYXRlZFZlcnNpb24/YFByZXBhcmluZyAke3RoaXMudXBkYXRlZFZlcnNpb259YDoiQXBwbGljYXRpb24gdXBkYXRlIn1nZXRTdWNjZXNzRGVsYXlTZWNvbmRzKCl7cmV0dXJuIE1hdGgubWF4KDEsTWF0aC5jZWlsKHRoaXMuc3VjY2Vzc0RlbGF5TXMvMWUzKSl9Z2V0U3VjY2Vzc0FjdGlvbkRpc3BsYXlMYWJlbCgpe3JldHVybiB0aGlzLnN1Y2Nlc3NBY3Rpb25MYWJlbD90aGlzLnN1Y2Nlc3NBY3Rpb25MYWJlbDp0aGlzLm9uU3VjY2Vzc0FjdGlvbj8iQ29udGludWluZyBhdXRvbWF0aWNhbGx5Ijp0aGlzLnN1Y2Nlc3NBY3Rpb249PT0icmVsb2FkIj8iUmVsb2FkaW5nIGFwcGxpY2F0aW9uIjoiQ2xvc2luZyB1cGRhdGVyIn1nZXRTdWNjZXNzQ291bnRkb3duTGFiZWwoTSl7cmV0dXJuYCR7dGhpcy5nZXRTdWNjZXNzQWN0aW9uRGlzcGxheUxhYmVsKCl9IGluICR7TX1zYH1nZXRTdWNjZXNzQ291bnRkb3duU3RhdHVzKE0pe2xldCBTPU09PT0xPyJzZWNvbmQiOiJzZWNvbmRzIjtyZXR1cm5gJHt0aGlzLmdldFN1Y2Nlc3NBY3Rpb25EaXNwbGF5TGFiZWwoKX0gaW4gJHtNfSAke1N9LmB9Z2V0U3VjY2Vzc0FjdGlvbk5vd0xhYmVsKCl7cmV0dXJuYCR7dGhpcy5nZXRTdWNjZXNzQWN0aW9uRGlzcGxheUxhYmVsKCl9IG5vdy4uLmB9Z2V0TGlua01lbnVPcHRpb25zKCl7bGV0IE09W107cmV0dXJuIHRoaXMubW9yZUluZm9VcmwmJk0ucHVzaCh7bmFtZToiTW9yZSBpbmZvIixhY3Rpb246cyhhc3luYygpPT57dGhpcy5vcGVuRXh0ZXJuYWxVcmwodGhpcy5tb3JlSW5mb1VybCl9LCJhY3Rpb24iKX0pLHRoaXMuY2hhbmdlbG9nVXJsJiZNLnB1c2goe25hbWU6IkNoYW5nZWxvZyIsYWN0aW9uOnMoYXN5bmMoKT0+e3RoaXMub3BlbkV4dGVybmFsVXJsKHRoaXMuY2hhbmdlbG9nVXJsKX0sImFjdGlvbiIpfSksTX1yZW5kZXJWZXJzaW9uTWV0YShNLFMpe3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgc3R5bGU9ImRpc3BsYXk6IGdyaWQ7IGdhcDogNHB4OyBtaW4td2lkdGg6IDEzMnB4OyBwYWRkaW5nOiAxMnB4IDE0cHg7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7IGJvcmRlci1yYWRpdXM6IDhweDsgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7IgogICAgICA+CiAgICAgICAgPGRpdgogICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC13ZWlnaHQ6IDYwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7IgogICAgICAgID4KICAgICAgICAgICR7TX0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2CiAgICAgICAgICBzdHlsZT0ke2Bmb250LWZhbWlseTogJHtRdGV9OyBmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpO2B9CiAgICAgICAgPgogICAgICAgICAgJHtTfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyUHJvZ3Jlc3NDb250ZW50KCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGdyaWQ7IGdhcDogMThweDsgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOyI+CiAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZ3JpZDsgZ2FwOiA2cHg7Ij4KICAgICAgICAgIDxkaXYKICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC13ZWlnaHQ6IDYwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7IgogICAgICAgICAgPgogICAgICAgICAgICBBcHBsaWNhdGlvbiB1cGRhdGUKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdgogICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMS4zNTsgZm9udC13ZWlnaHQ6IDYwMDsgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7IgogICAgICAgICAgPgogICAgICAgICAgICBEb3dubG9hZGluZyBhbmQgYXBwbHlpbmcgdGhlIGxhdGVzdCByZWxlYXNlLgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luOiAwOyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjY1OyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7Ij4KICAgICAgICAgICAgJHt0aGlzLmN1cnJlbnRWZXJzaW9uJiZ0aGlzLnVwZGF0ZWRWZXJzaW9uP3dgTW92aW5nIGZyb20gPHN0cm9uZz4ke3RoaXMuY3VycmVudFZlcnNpb259PC9zdHJvbmc+IHRvIDxzdHJvbmc+JHt0aGlzLnVwZGF0ZWRWZXJzaW9ufTwvc3Ryb25nPi5gOnRoaXMudXBkYXRlZFZlcnNpb24/d2BQcmVwYXJpbmcgPHN0cm9uZz4ke3RoaXMudXBkYXRlZFZlcnNpb259PC9zdHJvbmc+IGZvciBpbnN0YWxsYXRpb24uYDoiVGhlIHVwZGF0ZXIgaXMgZmV0Y2hpbmcgdGhlIG5ld2VzdCBidWlsZCBhbmQgcHJlcGFyaW5nIGl0IGZvciBpbnN0YWxsYXRpb24uIn0KICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgJHt0aGlzLmN1cnJlbnRWZXJzaW9ufHx0aGlzLnVwZGF0ZWRWZXJzaW9uP3dgCiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDEwcHg7Ij4KICAgICAgICAgICAgICAgICR7dGhpcy5jdXJyZW50VmVyc2lvbj90aGlzLnJlbmRlclZlcnNpb25NZXRhKCJDdXJyZW50IHZlcnNpb24iLHRoaXMuY3VycmVudFZlcnNpb24pOiIifQogICAgICAgICAgICAgICAgJHt0aGlzLnVwZGF0ZWRWZXJzaW9uP3RoaXMucmVuZGVyVmVyc2lvbk1ldGEoIkluY29taW5nIHZlcnNpb24iLHRoaXMudXBkYXRlZFZlcnNpb24pOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQoKICAgICAgICA8ZGl2CiAgICAgICAgICBzdHlsZT0iZGlzcGxheTogZ3JpZDsgZ2FwOiA0cHg7IHBhZGRpbmc6IDE0cHggMTZweDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsgYm9yZGVyLXJhZGl1czogOHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsiCiAgICAgICAgPgogICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOyI+CiAgICAgICAgICAgIEF1dG9tYXRpYyBmbG93CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTNweDsgbGluZS1oZWlnaHQ6IDEuNjsgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7Ij4KICAgICAgICAgICAgVGhlIHVwZGF0ZXIgY29udGludWVzIG9uIGl0cyBvd24gb25jZSB0aGUgbmV3IGJ1aWxkIGlzIGluc3RhbGxlZCBhbmQgdmVyaWZpZWQuCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclJlYWR5Q29udGVudCgpe2xldCBNPXRoaXMuZ2V0U3VjY2Vzc0RlbGF5U2Vjb25kcygpO3JldHVybiB3YAogICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBncmlkOyBnYXA6IDE4cHg7IGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsiPgogICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGdyaWQ7IGdhcDogNnB4OyI+CiAgICAgICAgICA8ZGl2CiAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAwLjA4ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOyIKICAgICAgICAgID4KICAgICAgICAgICAgVXBkYXRlIGNvbXBsZXRlCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYKICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDEuMzU7IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOyIKICAgICAgICAgID4KICAgICAgICAgICAgJHt0aGlzLnVwZGF0ZWRWZXJzaW9uP3dgVmVyc2lvbiA8c3BhbiBzdHlsZT0ke2Bmb250LWZhbWlseTogJHtRdGV9OyBmb250LXNpemU6IDAuOTVlbTtgfT4ke3RoaXMudXBkYXRlZFZlcnNpb259PC9zcGFuPiBpcyByZWFkeSB0byB1c2UuYDoiVGhlIG5ldyB2ZXJzaW9uIGlzIHJlYWR5IHRvIHVzZS4ifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luOiAwOyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjY1OyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7Ij4KICAgICAgICAgICAgVGhlIG5ldyBidWlsZCBoYXMgYmVlbiBpbnN0YWxsZWQgYW5kIHZlcmlmaWVkLiBZb3UgY2FuIHJldmlldyByZWxlYXNlIGRldGFpbHMgYmVsb3cgd2hpbGUgdGhlIG5leHQgYWN0aW9uIHJ1bnMgYXV0b21hdGljYWxseS4KICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgJHt0aGlzLnVwZGF0ZWRWZXJzaW9uP3dgCiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDEwcHg7Ij4KICAgICAgICAgICAgICAgICR7dGhpcy5yZW5kZXJWZXJzaW9uTWV0YSgiSW5zdGFsbGVkIHZlcnNpb24iLHRoaXMudXBkYXRlZFZlcnNpb24pfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQoKICAgICAgICA8ZGl2CiAgICAgICAgICBzdHlsZT0iZGlzcGxheTogZ3JpZDsgZ2FwOiA0cHg7IHBhZGRpbmc6IDE0cHggMTZweDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsgYm9yZGVyLXJhZGl1czogOHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsiCiAgICAgICAgPgogICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOyI+CiAgICAgICAgICAgIE5leHQgYWN0aW9uCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDEuNTsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsiPgogICAgICAgICAgICAke3RoaXMuZ2V0U3VjY2Vzc0FjdGlvbkRpc3BsYXlMYWJlbCgpfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEzcHg7IGxpbmUtaGVpZ2h0OiAxLjY7IGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOyI+CiAgICAgICAgICAgIFJ1bnMgYXV0b21hdGljYWxseSBpbiAke019IHNlY29uZHMuCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIHJ1blN1Y2Nlc3NDb3VudGRvd24oTSxTLFApe2xldCBBPU1hdGgubWF4KDFlMyx0aGlzLnN1Y2Nlc3NEZWxheU1zKSxGPURhdGUubm93KCk7Zm9yKDshUD8uYWJvcnRlZDspe2xldCBXPU1hdGgubWluKEEsRGF0ZS5ub3coKS1GKSxqPU1hdGgubWF4KDAsQS1XKSxHPU1hdGgubWF4KDAsTWF0aC5jZWlsKGovMWUzKSk7aWYoTS51cGRhdGVQcm9ncmVzc1N0ZXAoe2xhYmVsOmo+MD90aGlzLmdldFN1Y2Nlc3NDb3VudGRvd25MYWJlbChHKTp0aGlzLmdldFN1Y2Nlc3NBY3Rpb25Ob3dMYWJlbCgpLHBlcmNlbnRhZ2U6Vy9BKjEwMCxpbmRldGVybWluYXRlOiExLHNob3dQZXJjZW50YWdlOiExLHN0YXR1c1RleHQ6aj4wP3RoaXMuZ2V0U3VjY2Vzc0NvdW50ZG93blN0YXR1cyhHKTp0aGlzLmdldFN1Y2Nlc3NBY3Rpb25Ob3dMYWJlbCgpfSxTKSxqPD0wKWJyZWFrO2lmKCFhd2FpdCB0aGlzLndhaXRGb3JDb3VudGRvd25UaWNrKDEwMCxQKSlyZXR1cm59YXdhaXQgdGhpcy5ydW5Db25maWd1cmVkU3VjY2Vzc0FjdGlvbigpfWFzeW5jIHdhaXRGb3JDb3VudGRvd25UaWNrKE0sUyl7cmV0dXJuIG5ldyBQcm9taXNlKFA9PntsZXQgQT0hMSxGPXMoRz0+e0F8fChBPSEwLFMmJlMucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLFcpLFAoRykpfSwiZmluaXNoIiksVz1zKCgpPT57d2luZG93LmNsZWFyVGltZW91dChqKSxGKCExKX0sImhhbmRsZUFib3J0Iiksaj13aW5kb3cuc2V0VGltZW91dCgoKT0+e0YoITApfSxNKTtTJiZTLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixXLHtvbmNlOiEwfSl9KX1hc3luYyBydW5Db25maWd1cmVkU3VjY2Vzc0FjdGlvbigpe2lmKHRoaXMub25TdWNjZXNzQWN0aW9uKXthd2FpdCB0aGlzLm9uU3VjY2Vzc0FjdGlvbigpO3JldHVybn1pZih0aGlzLnN1Y2Nlc3NBY3Rpb249PT0icmVsb2FkIil7YXdhaXQgdGhpcy5kZXN0cm95KCksd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO3JldHVybn1hd2FpdCB0aGlzLmRlc3Ryb3koKX1vcGVuRXh0ZXJuYWxVcmwoTSl7d2luZG93Lm9wZW4oTSwiX2JsYW5rIiwibm9vcGVuZXIsbm9yZWZlcnJlciIpfXN0YXRpY3t1byhyLHQpfX07cmV0dXJuIEI9cn0pKCl9KTt2YXIgWDZhPWYoKCk9PntUSmUoKX0pO3ZhciBRNmE9ZigoKT0+e0xZZSgpfSk7dmFyIEo2YT1mKCgpPT57TjZhKCk7cTZhKCk7RzZhKCk7WDZhKCk7UTZhKCl9KTt2YXIgVDUsbG4sZXVhLGdpZT1mKCgpPT57bGUoKTtlYSgpO1FlKCk7dmEoKTtacigpO1pyKCk7aGMoKTt1NCgpO3U0KCk7VDU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGxuPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxldWE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXdvcmtzcGFjZS1maWxldHJlZSIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdO3ZhciBPPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzV29ya3NwYWNlRmlsZXRyZWUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgVD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVtLKCldLHk9W0soKV0sTj1bSygpXSxUNSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImV4ZWN1dGlvbkVudmlyb25tZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJleGVjdXRpb25FbnZpcm9ubWVudCJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLmV4ZWN1dGlvbkVudmlyb25tZW50LCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UuZXhlY3V0aW9uRW52aXJvbm1lbnQ9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxuLGwpLFQ1KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicm9vdFBhdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+InJvb3RQYXRoImluIEUsImhhcyIpLGdldDpzKEU9PkUucm9vdFBhdGgsImdldCIpLHNldDpzKChFLEIpPT57RS5yb290UGF0aD1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LGMscCksVDUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFBhdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+InNlbGVjdGVkUGF0aCJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLnNlbGVjdGVkUGF0aCwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLnNlbGVjdGVkUGF0aD1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LG0sdiksVDUodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0cmVlRGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4idHJlZURhdGEiaW4gRSwiaGFzIiksZ2V0OnMoRT0+RS50cmVlRGF0YSwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLnRyZWVEYXRhPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sYixnKSxUNSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzTG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4iaXNMb2FkaW5nImluIEUsImhhcyIpLGdldDpzKEU9PkUuaXNMb2FkaW5nLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UuaXNMb2FkaW5nPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sayxDKSxUNSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVycm9yTWVzc2FnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4iZXJyb3JNZXNzYWdlImluIEUsImhhcyIpLGdldDpzKEU9PkUuZXJyb3JNZXNzYWdlLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UuZXJyb3JNZXNzYWdlPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sXyx6KSxUNShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpUfSxudWxsLHQpLE89cj1lLnZhbHVlLFQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6VH0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzAwcHg7IGhlaWdodDogNDAwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsiPgogICAgICA8ZGVlcy13b3Jrc3BhY2UtZmlsZXRyZWU+PC9kZWVzLXdvcmtzcGFjZS1maWxldHJlZT4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIldvcmtzcGFjZSJdOyNlPWxuKHRoaXMsbixudWxsKTtnZXQgZXhlY3V0aW9uRW52aXJvbm1lbnQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZXhlY3V0aW9uRW52aXJvbm1lbnQoVCl7dGhpcy4jZT1UfSN0PShsbih0aGlzLGwpLGxuKHRoaXMsYywiLyIpKTtnZXQgcm9vdFBhdGgoKXtyZXR1cm4gdGhpcy4jdH1zZXQgcm9vdFBhdGgoVCl7dGhpcy4jdD1UfSNhPShsbih0aGlzLHApLGxuKHRoaXMsbSwiIikpO2dldCBzZWxlY3RlZFBhdGgoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2VsZWN0ZWRQYXRoKFQpe3RoaXMuI2E9VH0jcj0obG4odGhpcyx2KSxsbih0aGlzLGIsW10pKTtnZXQgdHJlZURhdGEoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdHJlZURhdGEoVCl7dGhpcy4jcj1UfSNzPShsbih0aGlzLGcpLGxuKHRoaXMsaywhMSkpO2dldCBpc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy4jc31zZXQgaXNMb2FkaW5nKFQpe3RoaXMuI3M9VH0jaT0obG4odGhpcyxDKSxsbih0aGlzLF8sIiIpKTtnZXQgZXJyb3JNZXNzYWdlKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGVycm9yTWVzc2FnZShUKXt0aGlzLiNpPVR9ZXhwYW5kZWRQYXRocz0obG4odGhpcyx6KSxuZXcgU2V0KTtsb2FkVHJlZVN0YXJ0ZWQ9ITE7Y2xpcGJvYXJkUGF0aD1udWxsO2NsaXBib2FyZE9wZXJhdGlvbj1udWxsO2ZpbGVXYXRjaGVyPW51bGw7cmVmcmVzaERlYm91bmNlVGltZW91dD1udWxsO2xhc3RFeGVjdXRpb25FbnZpcm9ubWVudD1udWxsO3N0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTglKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAudHJlZS1jb250YWluZXIgewogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICB9CgogICAgICAudHJlZS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG1hcmdpbjogMXB4IDRweDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRyZWUtaXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDkzJSkiLCJoc2woMCAwJSAxNCUpIil9OwogICAgICB9CgogICAgICAudHJlZS1pdGVtLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDk1JSkiLCJoc2woMjEwIDUwJSAyMCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDQwJSkiLCJoc2woMjEwIDEwMCUgNzAlKSIpfTsKICAgICAgfQoKICAgICAgLnRyZWUtaXRlbS5zZWxlY3RlZDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA5MiUpIiwiaHNsKDIxMCA1MCUgMjUlKSIpfTsKICAgICAgfQoKICAgICAgLmluZGVudCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZXhwYW5kLWljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmV4cGFuZC1pY29uLmV4cGFuZGVkIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7CiAgICAgIH0KCiAgICAgIC5leHBhbmQtaWNvbi5oaWRkZW4gewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIG1hcmdpbi1yaWdodDogNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbiBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbi5mb2xkZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDQ1IDgwJSA0NSUpIiwiaHNsKDQ1IDcwJSA1NSUpIil9OwogICAgICB9CgogICAgICAuZmlsZS1pY29uLmZpbGUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5maWxlLWljb24udHlwZXNjcmlwdCB7CiAgICAgICAgY29sb3I6IGhzbCgyMTEgNjAlIDQ4JSk7CiAgICAgIH0KCiAgICAgIC5maWxlLWljb24uamF2YXNjcmlwdCB7CiAgICAgICAgY29sb3I6IGhzbCg1MyA5MyUgNTQlKTsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbi5qc29uIHsKICAgICAgICBjb2xvcjogaHNsKDQ1IDgwJSA1MCUpOwogICAgICB9CgogICAgICAuZmlsZS1pY29uLmh0bWwgewogICAgICAgIGNvbG9yOiBoc2woMTQgNzclIDUyJSk7CiAgICAgIH0KCiAgICAgIC5maWxlLWljb24uY3NzIHsKICAgICAgICBjb2xvcjogaHNsKDIyOCA3NyUgNTklKTsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbi5tYXJrZG93biB7CiAgICAgICAgY29sb3I6IGhzbCgwIDAlIDUwJSk7CiAgICAgIH0KCiAgICAgIC5maWxlLW5hbWUgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDg1JSkiKX07CiAgICAgIH0KCiAgICAgIC5sb2FkaW5nIHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAuZXJyb3IgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiBoc2woMCA3MCUgNTAlKTsKICAgICAgfQoKICAgICAgLmVtcHR5IHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQoKICAgICAgLmZpbGV0cmVlLXRvb2xiYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NiUpIiwiaHNsKDAgMCUgOCUpIil9OwogICAgICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICAgICAgdG9wOiAwOwogICAgICAgIHotaW5kZXg6IDE7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAudG9vbGJhci1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzLCBiYWNrZ3JvdW5kIDAuMTVzOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDMwJSkiLCJoc2woMCAwJSA3MCUpIil9OwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b246aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wOCkiLCJoc2woMCAwJSAxMDAlIC8gMC4xKSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQ/dGhpcy5pc0xvYWRpbmc/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nIj4KICAgICAgICAgIExvYWRpbmcgZmlsZXMuLi4KICAgICAgICA8L2Rpdj4KICAgICAgYDp0aGlzLmVycm9yTWVzc2FnZT93YAogICAgICAgIDxkaXYgY2xhc3M9ImVycm9yIj4KICAgICAgICAgICR7dGhpcy5lcnJvck1lc3NhZ2V9CiAgICAgICAgPC9kaXY+CiAgICAgIGA6d2AKICAgICAgPGRpdiBjbGFzcz0iZmlsZXRyZWUtdG9vbGJhciI+CiAgICAgICAgPHNwYW4gY2xhc3M9InRvb2xiYXItdGl0bGUiPkV4cGxvcmVyPC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItYWN0aW9ucyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY3JlYXRlTmV3RmlsZSgiLyIpfSB0aXRsZT0iTmV3IEZpbGUiPgogICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpmaWxlUGx1cyJ9IGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jcmVhdGVOZXdGb2xkZXIoIi8iKX0gdGl0bGU9Ik5ldyBGb2xkZXIiPgogICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpmb2xkZXJQbHVzIn0gaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgJHt0aGlzLnRyZWVEYXRhLmxlbmd0aD09PTA/d2A8ZGl2IGNsYXNzPSJlbXB0eSI+Tm8gZmlsZXMgZm91bmQuPC9kaXY+YDp3YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cmVlLWNvbnRhaW5lciIgQGNvbnRleHRtZW51PSR7dGhpcy5oYW5kbGVFbXB0eVNwYWNlQ29udGV4dE1lbnV9PgogICAgICAgICAgICAgICR7dGhpcy5yZW5kZXJUcmVlKHRoaXMudHJlZURhdGEpfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGB9CiAgICBgOndgCiAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHkiPgogICAgICAgICAgTm8gZXhlY3V0aW9uIGVudmlyb25tZW50IHByb3ZpZGVkLgogICAgICAgIDwvZGl2PgogICAgICBgfXJlbmRlclRyZWUoVCl7cmV0dXJuIFQubWFwKEU9PnRoaXMucmVuZGVyTm9kZShFKSl9cmVuZGVyTm9kZShUKXtsZXQgRT1ULnR5cGU9PT0iZGlyZWN0b3J5IixCPXRoaXMuZXhwYW5kZWRQYXRocy5oYXMoVC5wYXRoKSxNPVQucGF0aD09PXRoaXMuc2VsZWN0ZWRQYXRoLFM9dGhpcy5nZXRGaWxlSWNvbkNsYXNzKFQpO3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9InRyZWUtaXRlbSAke00/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgc3R5bGU9InBhZGRpbmctbGVmdDogJHs4K1QubGV2ZWwqMTZ9cHgiCiAgICAgICAgQGNsaWNrPSR7UD0+dGhpcy5oYW5kbGVJdGVtQ2xpY2soUCxUKX0KICAgICAgICBAY29udGV4dG1lbnU9JHtQPT50aGlzLmhhbmRsZUNvbnRleHRNZW51KFAsVCl9CiAgICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0iZXhwYW5kLWljb24gJHtCPyJleHBhbmRlZCI6IiJ9ICR7RT8iIjoiaGlkZGVuIn0iPgogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Y2hldnJvblJpZ2h0In0gaWNvblNpemU9IjEyIj48L2RlZXMtaWNvbj4KICAgICAgICA8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImZpbGUtaWNvbiAke1N9Ij4KICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHt0aGlzLmdldEZpbGVJY29uKFQpfSBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgIDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZmlsZS1uYW1lIj4ke1QubmFtZX08L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICAke0UmJkImJlQuY2hpbGRyZW4/dGhpcy5yZW5kZXJUcmVlKFQuY2hpbGRyZW4pOiIifQogICAgYH1nZXRGaWxlSWNvbihUKXtpZihULnR5cGU9PT0iZGlyZWN0b3J5IilyZXR1cm4gdGhpcy5leHBhbmRlZFBhdGhzLmhhcyhULnBhdGgpPyJsdWNpZGU6Zm9sZGVyT3BlbiI6Imx1Y2lkZTpmb2xkZXIiO3N3aXRjaChULm5hbWUuc3BsaXQoIi4iKS5wb3AoKT8udG9Mb3dlckNhc2UoKSl7Y2FzZSJ0cyI6Y2FzZSJ0c3giOnJldHVybiJsdWNpZGU6ZmlsZUNvZGUiO2Nhc2UianMiOmNhc2UianN4IjpyZXR1cm4ibHVjaWRlOmZpbGVDb2RlIjtjYXNlImpzb24iOnJldHVybiJsdWNpZGU6ZmlsZUpzb24iO2Nhc2UiaHRtbCI6cmV0dXJuImx1Y2lkZTpmaWxlQ29kZSI7Y2FzZSJjc3MiOmNhc2Uic2NzcyI6Y2FzZSJsZXNzIjpyZXR1cm4ibHVjaWRlOmZpbGVDb2RlIjtjYXNlIm1kIjpyZXR1cm4ibHVjaWRlOmZpbGVUZXh0IjtjYXNlInBuZyI6Y2FzZSJqcGciOmNhc2UianBlZyI6Y2FzZSJnaWYiOmNhc2Uic3ZnIjpyZXR1cm4ibHVjaWRlOmltYWdlIjtkZWZhdWx0OnJldHVybiJsdWNpZGU6ZmlsZSJ9fWdldEZpbGVJY29uQ2xhc3MoVCl7aWYoVC50eXBlPT09ImRpcmVjdG9yeSIpcmV0dXJuImZvbGRlciI7c3dpdGNoKFQubmFtZS5zcGxpdCgiLiIpLnBvcCgpPy50b0xvd2VyQ2FzZSgpKXtjYXNlInRzIjpjYXNlInRzeCI6cmV0dXJuInR5cGVzY3JpcHQiO2Nhc2UianMiOmNhc2UianN4IjpyZXR1cm4iamF2YXNjcmlwdCI7Y2FzZSJqc29uIjpyZXR1cm4ianNvbiI7Y2FzZSJodG1sIjpyZXR1cm4iaHRtbCI7Y2FzZSJjc3MiOmNhc2Uic2NzcyI6Y2FzZSJsZXNzIjpyZXR1cm4iY3NzIjtjYXNlIm1kIjpyZXR1cm4ibWFya2Rvd24iO2RlZmF1bHQ6cmV0dXJuImZpbGUifX1hc3luYyBoYW5kbGVJdGVtQ2xpY2soVCxFKXtULnN0b3BQcm9wYWdhdGlvbigpLEUudHlwZT09PSJkaXJlY3RvcnkiP2F3YWl0IHRoaXMudG9nZ2xlRGlyZWN0b3J5KEUpOih0aGlzLnNlbGVjdGVkUGF0aD1FLnBhdGgsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZmlsZS1zZWxlY3QiLHtkZXRhaWw6e3BhdGg6RS5wYXRoLG5hbWU6RS5uYW1lfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKX1hc3luYyB0b2dnbGVEaXJlY3RvcnkoVCl7dGhpcy5leHBhbmRlZFBhdGhzLmhhcyhULnBhdGgpP3RoaXMuZXhwYW5kZWRQYXRocy5kZWxldGUoVC5wYXRoKToodGhpcy5leHBhbmRlZFBhdGhzLmFkZChULnBhdGgpLCghVC5jaGlsZHJlbnx8VC5jaGlsZHJlbi5sZW5ndGg9PT0wKSYmYXdhaXQgdGhpcy5sb2FkRGlyZWN0b3J5Q29udGVudHMoVCkpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfWFzeW5jIGxvYWREaXJlY3RvcnlDb250ZW50cyhUKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXRyeXtsZXQgRT1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWREaXIoVC5wYXRoKTtULmNoaWxkcmVuPXRoaXMuc29ydEVudHJpZXMoRSkubWFwKEI9Pih7Li4uQixsZXZlbDpULmxldmVsKzEsZXhwYW5kZWQ6ITEsY2hpbGRyZW46Qi50eXBlPT09ImRpcmVjdG9yeSI/W106dm9pZCAwfSkpfWNhdGNoKEUpe2NvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBsb2FkIGRpcmVjdG9yeSAke1QucGF0aH06YCxFKX19YXN5bmMgaGFuZGxlQ29udGV4dE1lbnUoVCxFKXtULnByZXZlbnREZWZhdWx0KCksVC5zdG9wUHJvcGFnYXRpb24oKTtsZXQgQj1bXTtFLnR5cGU9PT0iZGlyZWN0b3J5IiYmQi5wdXNoKHtuYW1lOiJOZXcgRmlsZSIsaWNvbk5hbWU6ImZpbGVQbHVzIixhY3Rpb246cyhhc3luYygpPT50aGlzLmNyZWF0ZU5ld0ZpbGUoRS5wYXRoKSwiYWN0aW9uIil9LHtuYW1lOiJOZXcgRm9sZGVyIixpY29uTmFtZToiZm9sZGVyUGx1cyIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5jcmVhdGVOZXdGb2xkZXIoRS5wYXRoKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSksQi5wdXNoKHtuYW1lOiJSZW5hbWUiLGljb25OYW1lOiJwZW5jaWwiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMucmVuYW1lSXRlbShFKSwiYWN0aW9uIil9LHtuYW1lOiJEdXBsaWNhdGUiLGljb25OYW1lOiJmaWxlcyIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5kdXBsaWNhdGVJdGVtKEUpLCJhY3Rpb24iKX0se25hbWU6IkNvcHkiLGljb25OYW1lOiJjb3B5IixhY3Rpb246cyhhc3luYygpPT50aGlzLmNvcHlJdGVtKEUpLCJhY3Rpb24iKX0pLEUudHlwZT09PSJkaXJlY3RvcnkiJiZ0aGlzLmNsaXBib2FyZFBhdGgmJkIucHVzaCh7bmFtZToiUGFzdGUiLGljb25OYW1lOiJjbGlwYm9hcmQiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMucGFzdGVJdGVtKEUucGF0aCksImFjdGlvbiIpfSksQi5wdXNoKHtkaXZpZGVyOiEwfSx7bmFtZToiRGVsZXRlIixpY29uTmFtZToidHJhc2gyIixhY3Rpb246cyhhc3luYygpPT50aGlzLmRlbGV0ZUl0ZW0oRSksImFjdGlvbiIpfSksYXdhaXQgdGEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoVCxCKX1hc3luYyBoYW5kbGVFbXB0eVNwYWNlQ29udGV4dE1lbnUoVCl7aWYoVC50YXJnZXQuY2xvc2VzdCgiLnRyZWUtaXRlbSIpKXJldHVybjtULnByZXZlbnREZWZhdWx0KCksVC5zdG9wUHJvcGFnYXRpb24oKTtsZXQgQj1be25hbWU6Ik5ldyBGaWxlIixpY29uTmFtZToiZmlsZVBsdXMiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMuY3JlYXRlTmV3RmlsZSgiLyIpLCJhY3Rpb24iKX0se25hbWU6Ik5ldyBGb2xkZXIiLGljb25OYW1lOiJmb2xkZXJQbHVzIixhY3Rpb246cyhhc3luYygpPT50aGlzLmNyZWF0ZU5ld0ZvbGRlcigiLyIpLCJhY3Rpb24iKX1dO3RoaXMuY2xpcGJvYXJkUGF0aCYmQi5wdXNoKHtkaXZpZGVyOiEwfSx7bmFtZToiUGFzdGUiLGljb25OYW1lOiJjbGlwYm9hcmQiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMucGFzdGVJdGVtKCIvIiksImFjdGlvbiIpfSksYXdhaXQgdGEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoVCxCKX1hc3luYyBzaG93SW5wdXRNb2RhbChUKXtyZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgRT0+e2xldCBCPWF3YWl0IHdhLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6VC5oZWFkaW5nLHdpZHRoOiJzbWFsbCIsY29udGVudDp3YAogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHtULmxhYmVsfQogICAgICAgICAgICAudmFsdWU9JHtULnZhbHVlfHwiIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2FuY2VsIixhY3Rpb246cyhhc3luYyBTPT57YXdhaXQgUy5kZXN0cm95KCksRShudWxsKX0sImFjdGlvbiIpfSx7bmFtZTpULmJ1dHRvbk5hbWV8fCJDcmVhdGUiLGFjdGlvbjpzKGFzeW5jIFM9PntsZXQgRj1TLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5tb2RhbCAuY29udGVudCIpPy5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LXRleHQiKT8udmFsdWU/LnRyaW0oKXx8IiI7YXdhaXQgUy5kZXN0cm95KCksRShGfHxudWxsKX0sImFjdGlvbiIpfV19KTthd2FpdCBCLnVwZGF0ZUNvbXBsZXRlO2xldCBNPUIuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLm1vZGFsIC5jb250ZW50Iik7aWYoTSl7bGV0IFM9TS5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LXRleHQiKTtTJiYoYXdhaXQgUy51cGRhdGVDb21wbGV0ZSxTLmZvY3VzKCkpfX0pfWFzeW5jIGNyZWF0ZU5ld0ZpbGUoVCl7bGV0IEU9YXdhaXQgdGhpcy5zaG93SW5wdXRNb2RhbCh7aGVhZGluZzoiTmV3IEZpbGUiLGxhYmVsOiJGaWxlIG5hbWUifSk7aWYoIUV8fCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXJldHVybjtsZXQgQj1UPT09Ii8iP2AvJHtFfWA6YCR7VH0vJHtFfWA7dHJ5e2F3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud3JpdGVGaWxlKEIsIiIpLGF3YWl0IHRoaXMucmVmcmVzaCgpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImZpbGUtY3JlYXRlZCIse2RldGFpbDp7cGF0aDpCfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNhdGNoKE0pe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgZmlsZToiLE0pfX1hc3luYyBjcmVhdGVOZXdGb2xkZXIoVCl7bGV0IEU9YXdhaXQgdGhpcy5zaG93SW5wdXRNb2RhbCh7aGVhZGluZzoiTmV3IEZvbGRlciIsbGFiZWw6IkZvbGRlciBuYW1lIn0pO2lmKCFFfHwhdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudClyZXR1cm47bGV0IEI9VD09PSIvIj9gLyR7RX1gOmAke1R9LyR7RX1gO3RyeXthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50Lm1rZGlyKEIpLGF3YWl0IHRoaXMucmVmcmVzaCgpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImZvbGRlci1jcmVhdGVkIix7ZGV0YWlsOntwYXRoOkJ9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y2F0Y2goTSl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBmb2xkZXI6IixNKX19YXN5bmMgZGVsZXRlSXRlbShUKXtpZighKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fHwhY29uZmlybShgRGVsZXRlICR7VC5uYW1lfT9gKSkpdHJ5e2F3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucm0oVC5wYXRoLHtyZWN1cnNpdmU6VC50eXBlPT09ImRpcmVjdG9yeSJ9KSxhd2FpdCB0aGlzLnJlZnJlc2goKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpdGVtLWRlbGV0ZWQiLHtkZXRhaWw6e3BhdGg6VC5wYXRoLHR5cGU6VC50eXBlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNhdGNoKEIpe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBkZWxldGUgaXRlbToiLEIpfX1hc3luYyByZW5hbWVJdGVtKFQpe2lmKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXJldHVybjtsZXQgRT1hd2FpdCB0aGlzLnNob3dJbnB1dE1vZGFsKHtoZWFkaW5nOiJSZW5hbWUiLGxhYmVsOiJOZXcgbmFtZSIsdmFsdWU6VC5uYW1lLGJ1dHRvbk5hbWU6IlJlbmFtZSJ9KTtpZighRXx8RT09PVQubmFtZSlyZXR1cm47bGV0IEI9VC5wYXRoLnN1YnN0cmluZygwLFQucGF0aC5sYXN0SW5kZXhPZigiLyIpKXx8Ii8iLE09Qj09PSIvIj9gLyR7RX1gOmAke0J9LyR7RX1gO3RyeXtpZihULnR5cGU9PT0iZmlsZSIpe2xldCBTPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUoVC5wYXRoKTthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShNLFMpLGF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucm0oVC5wYXRoKX1lbHNlIGF3YWl0IHRoaXMuY29weURpcmVjdG9yeUNvbnRlbnRzKFQucGF0aCxNKSxhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJtKFQucGF0aCx7cmVjdXJzaXZlOiEwfSk7YXdhaXQgdGhpcy5yZWZyZXNoKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiaXRlbS1yZW5hbWVkIix7ZGV0YWlsOntvbGRQYXRoOlQucGF0aCxuZXdQYXRoOk0sdHlwZTpULnR5cGV9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y2F0Y2goUyl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHJlbmFtZSBpdGVtOiIsUyl9fWFzeW5jIGR1cGxpY2F0ZUl0ZW0oVCl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpcmV0dXJuO2xldCBFPVQucGF0aC5zdWJzdHJpbmcoMCxULnBhdGgubGFzdEluZGV4T2YoIi8iKSl8fCIvIixCO2lmKFQudHlwZT09PSJmaWxlIil7bGV0IFM9VC5uYW1lLmxhc3RJbmRleE9mKCIuIik7aWYoUz4wKXtsZXQgUD1ULm5hbWUuc3Vic3RyaW5nKDAsUyksQT1ULm5hbWUuc3Vic3RyaW5nKFMpO0I9YCR7UH1fY29weSR7QX1gfWVsc2UgQj1gJHtULm5hbWV9X2NvcHlgfWVsc2UgQj1gJHtULm5hbWV9X2NvcHlgO2xldCBNPUU9PT0iLyI/YC8ke0J9YDpgJHtFfS8ke0J9YDt0cnl7aWYoVC50eXBlPT09ImZpbGUiKXtsZXQgUz1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWRGaWxlKFQucGF0aCk7YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC53cml0ZUZpbGUoTSxTKX1lbHNlIGF3YWl0IHRoaXMuY29weURpcmVjdG9yeUNvbnRlbnRzKFQucGF0aCxNKTthd2FpdCB0aGlzLnJlZnJlc2goKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpdGVtLWR1cGxpY2F0ZWQiLHtkZXRhaWw6e3NvdXJjZVBhdGg6VC5wYXRoLG5ld1BhdGg6TSx0eXBlOlQudHlwZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jYXRjaChTKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZHVwbGljYXRlIGl0ZW06IixTKX19YXN5bmMgY29weUl0ZW0oVCl7dGhpcy5jbGlwYm9hcmRQYXRoPVQucGF0aCx0aGlzLmNsaXBib2FyZE9wZXJhdGlvbj0iY29weSJ9YXN5bmMgcGFzdGVJdGVtKFQpe2lmKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fHwhdGhpcy5jbGlwYm9hcmRQYXRoKXJldHVybjtsZXQgRT10aGlzLmNsaXBib2FyZFBhdGguc3BsaXQoIi8iKS5wb3AoKXx8InBhc3RlZCIsQj1UPT09Ii8iP2AvJHtFfWA6YCR7VH0vJHtFfWA7dHJ5e2lmKCFhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmV4aXN0cyh0aGlzLmNsaXBib2FyZFBhdGgpKXtjb25zb2xlLmVycm9yKCJTb3VyY2UgZmlsZSBubyBsb25nZXIgZXhpc3RzIiksdGhpcy5jbGlwYm9hcmRQYXRoPW51bGwsdGhpcy5jbGlwYm9hcmRPcGVyYXRpb249bnVsbDtyZXR1cm59dHJ5e2xldCBNPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUodGhpcy5jbGlwYm9hcmRQYXRoKTthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShCLE0pfWNhdGNoe2F3YWl0IHRoaXMuY29weURpcmVjdG9yeUNvbnRlbnRzKHRoaXMuY2xpcGJvYXJkUGF0aCxCKX1hd2FpdCB0aGlzLnJlZnJlc2goKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpdGVtLXBhc3RlZCIse2RldGFpbDp7c291cmNlUGF0aDp0aGlzLmNsaXBib2FyZFBhdGgsdGFyZ2V0UGF0aDpCfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpLHRoaXMuY2xpcGJvYXJkUGF0aD1udWxsLHRoaXMuY2xpcGJvYXJkT3BlcmF0aW9uPW51bGx9Y2F0Y2goTSl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHBhc3RlIGl0ZW06IixNKX19YXN5bmMgY29weURpcmVjdG9yeUNvbnRlbnRzKFQsRSl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpcmV0dXJuO2F3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQubWtkaXIoRSk7bGV0IEI9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRGlyKFQpO2ZvcihsZXQgTSBvZiBCKXtsZXQgUz1UPT09Ii8iP2AvJHtNLm5hbWV9YDpgJHtUfS8ke00ubmFtZX1gLFA9RT09PSIvIj9gLyR7TS5uYW1lfWA6YCR7RX0vJHtNLm5hbWV9YDtpZihNLnR5cGU9PT0iZGlyZWN0b3J5Iilhd2FpdCB0aGlzLmNvcHlEaXJlY3RvcnlDb250ZW50cyhTLFApO2Vsc2V7bGV0IEE9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRmlsZShTKTthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShQLEEpfX19YXN5bmMgZmlyc3RVcGRhdGVkKCl7YXdhaXQgdGhpcy5sb2FkVHJlZSgpfWFzeW5jIHVwZGF0ZWQoVCl7VC5oYXMoImV4ZWN1dGlvbkVudmlyb25tZW50IikmJih0aGlzLmxhc3RFeGVjdXRpb25FbnZpcm9ubWVudCE9PXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQmJih0aGlzLnN0b3BGaWxlV2F0Y2hlcigpLHRoaXMubGFzdEV4ZWN1dGlvbkVudmlyb25tZW50PXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpLHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQmJihhd2FpdCB0aGlzLmxvYWRUcmVlKCksdGhpcy5zdGFydEZpbGVXYXRjaGVyKCkpKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5zdG9wRmlsZVdhdGNoZXIoKSx0aGlzLnJlZnJlc2hEZWJvdW5jZVRpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5yZWZyZXNoRGVib3VuY2VUaW1lb3V0KSx0aGlzLnJlZnJlc2hEZWJvdW5jZVRpbWVvdXQ9bnVsbCl9c3RhcnRGaWxlV2F0Y2hlcigpe2lmKCEoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR8fHRoaXMuZmlsZVdhdGNoZXIpKXRyeXt0aGlzLmZpbGVXYXRjaGVyPXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud2F0Y2goIi8iLChULEUpPT57dGhpcy5yZWZyZXNoRGVib3VuY2VUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5yZWZyZXNoRGVib3VuY2VUaW1lb3V0KSx0aGlzLnJlZnJlc2hEZWJvdW5jZVRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMucmVmcmVzaCgpfSwzMDApfSx7cmVjdXJzaXZlOiEwfSl9Y2F0Y2goVCl7Y29uc29sZS53YXJuKCJGaWxlIHdhdGNoaW5nIG5vdCBzdXBwb3J0ZWQ6IixUKX19c3RvcEZpbGVXYXRjaGVyKCl7dGhpcy5maWxlV2F0Y2hlciYmKHRoaXMuZmlsZVdhdGNoZXIuc3RvcCgpLHRoaXMuZmlsZVdhdGNoZXI9bnVsbCl9YXN5bmMgbG9hZFRyZWUoKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50JiYhdGhpcy5sb2FkVHJlZVN0YXJ0ZWQpe3RoaXMubG9hZFRyZWVTdGFydGVkPSEwLHRoaXMuaXNMb2FkaW5nPSEwLHRoaXMuZXJyb3JNZXNzYWdlPSIiO3RyeXt0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWR5fHxhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmluaXQoKTtsZXQgVD1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWREaXIodGhpcy5yb290UGF0aCk7dGhpcy50cmVlRGF0YT10aGlzLnNvcnRFbnRyaWVzKFQpLm1hcChFPT4oey4uLkUsbGV2ZWw6MCxleHBhbmRlZDohMSxjaGlsZHJlbjpFLnR5cGU9PT0iZGlyZWN0b3J5Ij9bXTp2b2lkIDB9KSl9Y2F0Y2goVCl7dGhpcy5lcnJvck1lc3NhZ2U9YEZhaWxlZCB0byBsb2FkIGZpbGVzOiAke1R9YCxjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gbG9hZCBmaWxlIHRyZWU6IixUKSx0aGlzLmxvYWRUcmVlU3RhcnRlZD0hMX1maW5hbGx5e3RoaXMuaXNMb2FkaW5nPSExfX19c29ydEVudHJpZXMoVCl7cmV0dXJuIFQuc29ydCgoRSxCKT0+RS50eXBlIT09Qi50eXBlP0UudHlwZT09PSJkaXJlY3RvcnkiPy0xOjE6RS5uYW1lLmxvY2FsZUNvbXBhcmUoQi5uYW1lKSl9YXN5bmMgcmVmcmVzaCgpe3RoaXMuZXhwYW5kZWRQYXRocy5jbGVhcigpLHRoaXMubG9hZFRyZWVTdGFydGVkPSExLGF3YWl0IHRoaXMubG9hZFRyZWUoKX1zZWxlY3RGaWxlKFQpe3RoaXMuc2VsZWN0ZWRQYXRoPVR9c3RhdGlje2xuKHIsdCl9fTtyZXR1cm4gTz1yfSkoKX0pO3ZhciBMSmUsYkcsdHVhLCRKZT1mKCgpPT57bGUoKTtRZSgpO0xjKCk7WHIoKTtMSmU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGJHPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSx0dWE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbC1wcmV2aWV3IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNXb3Jrc3BhY2VUZXJtaW5hbFByZXZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOkFycmF5fSldLExKZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbW1hbmQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+ImNvbW1hbmQiaW4gdiwiaGFzIiksZ2V0OnModj0+di5jb21tYW5kLCJnZXQiKSxzZXQ6cygodix4KT0+e3YuY29tbWFuZD14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksTEplKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGluZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+ImxpbmVzImluIHYsImhhcyIpLGdldDpzKHY9PnYubGluZXMsImdldCIpLHNldDpzKCh2LHgpPT57di5saW5lcz14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCksTEplKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbC1wcmV2aWV3CiAgICAgIC5jb21tYW5kPSR7InBucG0gaW5zdGFsbCJ9CiAgICAgIC5saW5lcz0ke1siUGFja2FnZXM6ICs0MiIsIlByb2dyZXNzOiByZXNvbHZlZCAxNDIsIHJldXNlZCAxNDAsIGRvd25sb2FkZWQgMiwgYWRkZWQgNDIsIGRvbmUiLCIiLCJkZXBlbmRlbmNpZXM6IiwiKyBAcHVzaC5yb2Nrcy9zbWFydHByb21pc2UgNC4yLjMiLCIrIHR5cGVzY3JpcHQgNS4zLjMiLCIiLCJEb25lIGluIDIuM3MiXX0KICAgID48L2RlZXMtd29ya3NwYWNlLXRlcm1pbmFsLXByZXZpZXc+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiV29ya3NwYWNlIl07I2U9YkcodGhpcyxuLCIiKTtnZXQgY29tbWFuZCgpe3JldHVybiB0aGlzLiNlfXNldCBjb21tYW5kKG0pe3RoaXMuI2U9bX0jdD0oYkcodGhpcyxsKSxiRyh0aGlzLGMsW10pKTtnZXQgbGluZXMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbGluZXMobSl7dGhpcy4jdD1tfXRlcm1pbmFsPShiRyh0aGlzLHApLG51bGwpO2ZpdEFkZG9uPW51bGw7bGFzdExpbmVDb3VudD0wO3Jlc2l6ZU9ic2VydmVyPW51bGw7dGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbj1udWxsO3N0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAyMDBweDsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0luY29uc29sYXRhJywgJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWhlYWRlci1pY29uIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWhlYWRlci1jb21tYW5kIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGluc2V0OiAwOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgfQoKICAgICAgI3h0ZXJtLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogOHB4OwogICAgICAgIGxlZnQ6IDhweDsKICAgICAgICByaWdodDogOHB4OwogICAgICAgIGJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAvKiB4dGVybS5qcyBzdHlsZXMgKi8KICAgICAgLnh0ZXJtIHsKICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJyAwOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLnh0ZXJtLmZvY3VzLAogICAgICAueHRlcm06Zm9jdXMgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0taGVscGVycyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICB6LWluZGV4OiA1OwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLWhlbHBlci10ZXh0YXJlYSB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBib3JkZXI6IDA7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIGxlZnQ6IC05OTk5ZW07CiAgICAgICAgdG9wOiAwOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIGhlaWdodDogMDsKICAgICAgICB6LWluZGV4OiAtNTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcmVzaXplOiBub25lOwogICAgICB9CgogICAgICAueHRlcm0gLmNvbXBvc2l0aW9uLXZpZXcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzMzMzMzMiLCIjZmZmZmZmIil9OwogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgfQoKICAgICAgLnh0ZXJtIC5jb21wb3NpdGlvbi12aWV3LmFjdGl2ZSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tdmlld3BvcnQgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tc2NyZWVuIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tc2NyZWVuIGNhbnZhcyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgdG9wOiAwOwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLXNjcm9sbC1hcmVhIHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC54dGVybS1jaGFyLW1lYXN1cmUtZWxlbWVudCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IC05OTk5ZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICAgICAgfQoKICAgICAgLnh0ZXJtIHsKICAgICAgICBjdXJzb3I6IHRleHQ7CiAgICAgIH0KCiAgICAgIC54dGVybS5lbmFibGUtbW91c2UtZXZlbnRzIHsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgIC54dGVybS54dGVybS1jdXJzb3ItcG9pbnRlciB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAueHRlcm0uY29sdW1uLXNlbGVjdC5mb2N1cyB7CiAgICAgICAgY3Vyc29yOiBjcm9zc2hhaXI7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tYWNjZXNzaWJpbGl0eSwKICAgICAgLnh0ZXJtIC54dGVybS1tZXNzYWdlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIHotaW5kZXg6IDEwOwogICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLnh0ZXJtIC5saXZlLXJlZ2lvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IC05OTk5cHg7CiAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAueHRlcm0tZGltIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC54dGVybS11bmRlcmxpbmUgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAvKiBDdXN0b20gc2Nyb2xsYmFyIGZvciB4dGVybSB2aWV3cG9ydCAqLwogICAgICAueHRlcm0gLnh0ZXJtLXZpZXdwb3J0Ojotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS12aWV3cG9ydDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NiUpIiwiaHNsKDAgMCUgOCUpIil9OwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLXZpZXdwb3J0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1zY3JvbGxiYXItdGh1bWIpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS12aWV3cG9ydDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWhvdmVyKTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJ0ZXJtaW5hbC1oZWFkZXIiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InRlcm1pbmFsLWhlYWRlci1pY29uIj4kPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9InRlcm1pbmFsLWhlYWRlci1jb21tYW5kIj4ke3RoaXMuY29tbWFuZHx8IldhaXRpbmcuLi4ifTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXJtaW5hbC1jb250YWluZXIiPgogICAgICAgICAgPGRpdiBpZD0ieHRlcm0tY29udGFpbmVyIj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXRpbGU+CiAgICBgfWdldFRlcm1pbmFsVGhlbWUobSl7cmV0dXJuIG0/e2JhY2tncm91bmQ6IiNmZmZmZmYiLGZvcmVncm91bmQ6IiMzMzMzMzMiLGN1cnNvcjoiIzMzMzMzMyIsY3Vyc29yQWNjZW50OiIjZmZmZmZmIixzZWxlY3Rpb25CYWNrZ3JvdW5kOiJyZ2JhKDAsIDAsIDAsIDAuMikifTp7YmFja2dyb3VuZDoiIzAwMDAwMCIsZm9yZWdyb3VuZDoiI2NjY2NjYyIsY3Vyc29yOiIjY2NjY2NjIixjdXJzb3JBY2NlbnQ6IiMwMDAwMDAiLHNlbGVjdGlvbkJhY2tncm91bmQ6InJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSJ9fWFzeW5jIGZpcnN0VXBkYXRlZChtKXtzdXBlci5maXJzdFVwZGF0ZWQobSk7bGV0IHY9dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgieHRlcm0tY29udGFpbmVyIik7aWYoIXYpcmV0dXJuO2xldCB4PWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLGI9eC50aGVtZU1hbmFnZXIuZ29CcmlnaHRCb29sZWFuLGc9TnMuZ2V0SW5zdGFuY2UoKSxbeSxrXT1hd2FpdCBQcm9taXNlLmFsbChbZy5sb2FkWHRlcm0oKSxnLmxvYWRYdGVybUZpdEFkZG9uKCldKTt0aGlzLnRlcm1pbmFsPW5ldyB5LlRlcm1pbmFsKHtjb252ZXJ0RW9sOiEwLGN1cnNvckJsaW5rOiExLGRpc2FibGVTdGRpbjohMCxmb250U2l6ZToxMixmb250RmFtaWx5OiInU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlIix0aGVtZTp0aGlzLmdldFRlcm1pbmFsVGhlbWUoYiksc2Nyb2xsYmFjazoxZTN9KSx0aGlzLnRlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb249eC50aGVtZU1hbmFnZXIudGhlbWVPYnNlcnZhYmxlLnN1YnNjcmliZShDPT57dGhpcy50ZXJtaW5hbCYmKHRoaXMudGVybWluYWwub3B0aW9ucy50aGVtZT10aGlzLmdldFRlcm1pbmFsVGhlbWUoQykpfSksdGhpcy5maXRBZGRvbj1uZXcgay5GaXRBZGRvbix0aGlzLnRlcm1pbmFsLmxvYWRBZGRvbih0aGlzLmZpdEFkZG9uKSx0aGlzLnRlcm1pbmFsLm9wZW4odiksdGhpcy5maXRBZGRvbi5maXQoKSx0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMuZml0QWRkb24mJnRoaXMuZml0QWRkb24uZml0KCl9KSx0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUodiksdGhpcy53cml0ZU5ld0xpbmVzKCl9YXN5bmMgdXBkYXRlZChtKXtzdXBlci51cGRhdGVkKG0pLG0uaGFzKCJsaW5lcyIpJiZ0aGlzLndyaXRlTmV3TGluZXMoKX13cml0ZU5ld0xpbmVzKCl7aWYoIXRoaXMudGVybWluYWwpcmV0dXJuO2xldCBtPXRoaXMubGluZXMuc2xpY2UodGhpcy5sYXN0TGluZUNvdW50KTtmb3IobGV0IHYgb2YgbSl0aGlzLnRlcm1pbmFsLndyaXRlbG4odik7dGhpcy5sYXN0TGluZUNvdW50PXRoaXMubGluZXMubGVuZ3RofWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dGhpcy5yZXNpemVPYnNlcnZlciYmKHRoaXMucmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI9bnVsbCksdGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uJiYodGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uPW51bGwpLHRoaXMudGVybWluYWwmJih0aGlzLnRlcm1pbmFsLmRpc3Bvc2UoKSx0aGlzLnRlcm1pbmFsPW51bGwpLGF3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCl9YWRkTGluZShtKXt0aGlzLmxpbmVzPVsuLi50aGlzLmxpbmVzLG1dfWNsZWFyKCl7dGhpcy5saW5lcz1bXSx0aGlzLmxhc3RMaW5lQ291bnQ9MCx0aGlzLnRlcm1pbmFsJiZ0aGlzLnRlcm1pbmFsLmNsZWFyKCl9c3RhdGlje2JHKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciB1NyxYMSxhdWEsREplPWYoKCk9PntsZSgpO1FlKCk7dmEoKTtacigpO3U3PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxYMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sYXVhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy13b3Jrc3BhY2UtYm90dG9tYmFyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W107dmFyIE49Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNXb3Jrc3BhY2VCb3R0b21iYXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVtLKCldLHU9W0soKV0seD1bSygpXSx5PVtLKCldLHU3KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXhlY3V0aW9uRW52aXJvbm1lbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImV4ZWN1dGlvbkVudmlyb25tZW50ImluIHosImhhcyIpLGdldDpzKHo9PnouZXhlY3V0aW9uRW52aXJvbm1lbnQsImdldCIpLHNldDpzKCh6LE8pPT57ei5leGVjdXRpb25FbnZpcm9ubWVudD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG4sbCksdTcodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzY3JpcHRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzY3JpcHRzImluIHosImhhcyIpLGdldDpzKHo9Pnouc2NyaXB0cywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnNjcmlwdHM9T30sInNldCIpfSxtZXRhZGF0YTpffSxjLHApLHU3KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGFja2FnZVN0YXR1cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4icGFja2FnZVN0YXR1cyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnBhY2thZ2VTdGF0dXMsImdldCIpLHNldDpzKCh6LE8pPT57ei5wYWNrYWdlU3RhdHVzPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbSx2KSx1Nyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im91dGRhdGVkUGFja2FnZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Im91dGRhdGVkUGFja2FnZXMiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5vdXRkYXRlZFBhY2thZ2VzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3oub3V0ZGF0ZWRQYWNrYWdlcz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGIsZyksdTcodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0NoZWNraW5nUGFja2FnZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImlzQ2hlY2tpbmdQYWNrYWdlcyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmlzQ2hlY2tpbmdQYWNrYWdlcywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmlzQ2hlY2tpbmdQYWNrYWdlcz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGssQyksdTcobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X30sbnVsbCx0KSxOPXI9ZS52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX0jZT1YMSh0aGlzLG4sbnVsbCk7Z2V0IGV4ZWN1dGlvbkVudmlyb25tZW50KCl7cmV0dXJuIHRoaXMuI2V9c2V0IGV4ZWN1dGlvbkVudmlyb25tZW50KF8pe3RoaXMuI2U9X30jdD0oWDEodGhpcyxsKSxYMSh0aGlzLGMse30pKTtnZXQgc2NyaXB0cygpe3JldHVybiB0aGlzLiN0fXNldCBzY3JpcHRzKF8pe3RoaXMuI3Q9X30jYT0oWDEodGhpcyxwKSxYMSh0aGlzLG0sImlkbGUiKSk7Z2V0IHBhY2thZ2VTdGF0dXMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgcGFja2FnZVN0YXR1cyhfKXt0aGlzLiNhPV99I3I9KFgxKHRoaXMsdiksWDEodGhpcyxiLFtdKSk7Z2V0IG91dGRhdGVkUGFja2FnZXMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgb3V0ZGF0ZWRQYWNrYWdlcyhfKXt0aGlzLiNyPV99I3M9KFgxKHRoaXMsZyksWDEodGhpcyxrLCExKSk7Z2V0IGlzQ2hlY2tpbmdQYWNrYWdlcygpe3JldHVybiB0aGlzLiNzfXNldCBpc0NoZWNraW5nUGFja2FnZXMoXyl7dGhpcy4jcz1ffXBlbmRpbmdQYWNrYWdlVXBkYXRlPShYMSh0aGlzLEMpLCExKTtoYW5kbGVQcm9jZXNzQ29tcGxldGU9cyhfPT57dGhpcy5wZW5kaW5nUGFja2FnZVVwZGF0ZSYmKHRoaXMucGVuZGluZ1BhY2thZ2VVcGRhdGU9ITEsc2V0VGltZW91dCgoKT0+dGhpcy5jaGVja1BhY2thZ2VzKCksNTAwKSl9LCJoYW5kbGVQcm9jZXNzQ29tcGxldGUiKTtzdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmJvdHRvbS1iYXIgewogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk0JSkiLCJoc2woMCAwJSA2JSkiKX07CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLndpZGdldDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg4JSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDgwJSkiKX07CiAgICAgIH0KCiAgICAgIC53aWRnZXQgZGVlcy1pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLndpZGdldC1zZXBhcmF0b3IgewogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4MCUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICBtYXJnaW46IDAgNHB4OwogICAgICB9CgogICAgICAud2lkZ2V0LnJ1bm5pbmcgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDQ1JSkiLCJoc2woMjEwIDEwMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldC51cC10by1kYXRlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIgNzAlIDM1JSkiLCJoc2woMTQyIDcwJSA1MCUpIil9OwogICAgICB9CgogICAgICAud2lkZ2V0LnVwZGF0ZXMtYXZhaWxhYmxlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgzOCA5MiUgNDUlKSIsImhzbCgzOCA5MiUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldC5lcnJvciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgNTAlKSIsImhzbCgwIDcwJSA2MCUpIil9OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgIGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfQogICAgICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQogICAgICB9CgogICAgICAuc3Bpbm5pbmcgewogICAgICAgIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIC5zcGFjZXIgewogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJib3R0b20tYmFyIj4KICAgICAgICA8IS0tIFNjcmlwdCBSdW5uZXIgV2lkZ2V0IC0tPgogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJ3aWRnZXQiCiAgICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZVNjcmlwdENsaWNrfQogICAgICAgICAgdGl0bGU9IlJ1biBzY3JpcHQiCiAgICAgICAgPgogICAgICAgICAgPGRlZXMtaWNvbgogICAgICAgICAgICAuaWNvbj0keyJsdWNpZGU6cGxheSJ9CiAgICAgICAgICAgIGljb25TaXplPSIxMiIKICAgICAgICAgID48L2RlZXMtaWNvbj4KICAgICAgICAgIDxzcGFuPlNjcmlwdHM8L3NwYW4+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9IndpZGdldC1zZXBhcmF0b3IiPjwvZGl2PgoKICAgICAgICA8IS0tIFBhY2thZ2UgQ2hlY2tlciBXaWRnZXQgLS0+CiAgICAgICAgPGRpdgogICAgICAgICAgY2xhc3M9IndpZGdldCAke3RoaXMuZ2V0UGFja2FnZVN0YXR1c0NsYXNzKCl9IgogICAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVQYWNrYWdlQ2xpY2t9CiAgICAgICAgICB0aXRsZT0iJHt0aGlzLmdldFBhY2thZ2VUb29sdGlwKCl9IgogICAgICAgID4KICAgICAgICAgIDxkZWVzLWljb24KICAgICAgICAgICAgLmljb249JHt0aGlzLmdldFBhY2thZ2VJY29uKCl9CiAgICAgICAgICAgIGljb25TaXplPSIxMiIKICAgICAgICAgICAgY2xhc3M9IiR7dGhpcy5pc0NoZWNraW5nUGFja2FnZXM/InNwaW5uaW5nIjoiIn0iCiAgICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj4ke3RoaXMuZ2V0UGFja2FnZVN0YXR1c1RleHQoKX08L3NwYW4+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CgogICAgICAgIDwhLS0gRnV0dXJlIHdpZGdldHMgY2FuIGJlIGFkZGVkIGhlcmUgLS0+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInByb2Nlc3MtY29tcGxldGUiLHRoaXMuaGFuZGxlUHJvY2Vzc0NvbXBsZXRlKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInByb2Nlc3MtY29tcGxldGUiLHRoaXMuaGFuZGxlUHJvY2Vzc0NvbXBsZXRlKX1hc3luYyBmaXJzdFVwZGF0ZWQoKXthd2FpdCB0aGlzLmxvYWRTY3JpcHRzKCksYXdhaXQgdGhpcy5jaGVja1BhY2thZ2VzKCl9YXN5bmMgdXBkYXRlZChfKXtfLmhhcygiZXhlY3V0aW9uRW52aXJvbm1lbnQiKSYmdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCYmKGF3YWl0IHRoaXMubG9hZFNjcmlwdHMoKSxhd2FpdCB0aGlzLmNoZWNrUGFja2FnZXMoKSl9YXN5bmMgbG9hZFNjcmlwdHMoKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXRyeXtpZighYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5leGlzdHMoIi9wYWNrYWdlLmpzb24iKSl7dGhpcy5zY3JpcHRzPXt9O3JldHVybn1sZXQgej1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWRGaWxlKCIvcGFja2FnZS5qc29uIiksTz1KU09OLnBhcnNlKHopO3RoaXMuc2NyaXB0cz1PLnNjcmlwdHN8fHt9fWNhdGNoKF8pe2NvbnNvbGUud2FybigiRmFpbGVkIHRvIGxvYWQgc2NyaXB0cyBmcm9tIHBhY2thZ2UuanNvbjoiLF8pLHRoaXMuc2NyaXB0cz17fX19YXN5bmMgaGFuZGxlU2NyaXB0Q2xpY2soXyl7Xy5zdG9wUHJvcGFnYXRpb24oKTtsZXQgej1PYmplY3Qua2V5cyh0aGlzLnNjcmlwdHMpO2lmKHoubGVuZ3RoPT09MClyZXR1cm47bGV0IE89ei5tYXAoVD0+KHtuYW1lOlQsaWNvbk5hbWU6Imx1Y2lkZTp0ZXJtaW5hbCIsYWN0aW9uOnMoYXN5bmMoKT0+e2F3YWl0IHRoaXMucnVuU2NyaXB0KFQpfSwiYWN0aW9uIil9KSk7YXdhaXQgdGEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoXyxPKX1hc3luYyBydW5TY3JpcHQoXyl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpcmV0dXJuO2xldCB6PXt0eXBlOiJzY3JpcHQiLGxhYmVsOl8sY29tbWFuZDoicG5wbSIsYXJnczpbInJ1biIsX10sbWV0YWRhdGE6e3NjcmlwdE5hbWU6X319O3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJ1bi1wcm9jZXNzIix7YnViYmxlczohMCxjb21wb3NlZDohMCxkZXRhaWw6en0pKX1hc3luYyBjaGVja1BhY2thZ2VzKCl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpe3RoaXMucGFja2FnZVN0YXR1cz0iaWRsZSI7cmV0dXJufXRyeXtpZighYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5leGlzdHMoIi9wYWNrYWdlLmpzb24iKSl7dGhpcy5wYWNrYWdlU3RhdHVzPSJpZGxlIjtyZXR1cm59dGhpcy5wYWNrYWdlU3RhdHVzPSJjaGVja2luZyIsdGhpcy5pc0NoZWNraW5nUGFja2FnZXM9ITA7bGV0IHo9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5zcGF3bigicG5wbSIsWyJvdXRkYXRlZCIsIi0tanNvbiJdKSxPPSIiLFQ9ei5vdXRwdXQuZ2V0UmVhZGVyKCk7cyhhc3luYygpPT57dHJ5e2Zvcig7Oyl7bGV0e2RvbmU6TSx2YWx1ZTpTfT1hd2FpdCBULnJlYWQoKTtpZihNKWJyZWFrO08rPVN9fWNhdGNoe319LCJyZWFkT3V0cHV0IikoKTtsZXQgQj1hd2FpdCBQcm9taXNlLnJhY2UoW3ouZXhpdCxuZXcgUHJvbWlzZShNPT5zZXRUaW1lb3V0KCgpPT5NKC0xKSwxZTQpKV0pO3RyeXthd2FpdCBULmNhbmNlbCgpfWNhdGNoe31pZihCPT09LTEpe2NvbnNvbGUud2FybigiUGFja2FnZSBjaGVjayB0aW1lZCBvdXQiKSx0aGlzLnBhY2thZ2VTdGF0dXM9ImVycm9yIjtyZXR1cm59aWYoQj09PTApdGhpcy5wYWNrYWdlU3RhdHVzPSJ1cC10by1kYXRlIix0aGlzLm91dGRhdGVkUGFja2FnZXM9W107ZWxzZSB0cnl7bGV0IE09SlNPTi5wYXJzZShPKTt0aGlzLm91dGRhdGVkUGFja2FnZXM9dGhpcy5wYXJzZU91dGRhdGVkUGFja2FnZXMoTSksdGhpcy5wYWNrYWdlU3RhdHVzPXRoaXMub3V0ZGF0ZWRQYWNrYWdlcy5sZW5ndGg+MD8idXBkYXRlcy1hdmFpbGFibGUiOiJ1cC10by1kYXRlIn1jYXRjaHt0aGlzLnBhY2thZ2VTdGF0dXM9InVwZGF0ZXMtYXZhaWxhYmxlIix0aGlzLm91dGRhdGVkUGFja2FnZXM9W119fWNhdGNoKF8pe2NvbnNvbGUud2FybigiRmFpbGVkIHRvIGNoZWNrIGZvciBwYWNrYWdlIHVwZGF0ZXM6IixfKSx0aGlzLnBhY2thZ2VTdGF0dXM9ImVycm9yIn1maW5hbGx5e3RoaXMuaXNDaGVja2luZ1BhY2thZ2VzPSExfX1wYXJzZU91dGRhdGVkUGFja2FnZXMoXyl7bGV0IHo9W107aWYodHlwZW9mIF89PSJvYmplY3QiJiZfIT09bnVsbClmb3IobGV0W08sVF1vZiBPYmplY3QuZW50cmllcyhfKSl7bGV0IEU9VDt6LnB1c2goe25hbWU6TyxjdXJyZW50OkUuY3VycmVudHx8InVua25vd24iLHdhbnRlZDpFLndhbnRlZHx8RS5jdXJyZW50fHwidW5rbm93biIsbGF0ZXN0OkUubGF0ZXN0fHxFLndhbnRlZHx8InVua25vd24iLHR5cGU6RS5kZXBlbmRlbmN5VHlwZT09PSJkZXZEZXBlbmRlbmNpZXMiPyJkZXZEZXBlbmRlbmNpZXMiOiJkZXBlbmRlbmNpZXMifSl9cmV0dXJuIHp9YXN5bmMgaGFuZGxlUGFja2FnZUNsaWNrKF8pe18uc3RvcFByb3BhZ2F0aW9uKCk7bGV0IHo9W107aWYoei5wdXNoKHtuYW1lOnRoaXMuaXNDaGVja2luZ1BhY2thZ2VzPyJDaGVja2luZy4uLiI6IkNoZWNrIGZvciB1cGRhdGVzIixpY29uTmFtZToibHVjaWRlOnJlZnJlc2hDdyIsYWN0aW9uOnMoYXN5bmMoKT0+e2lmKHRoaXMuaXNDaGVja2luZ1BhY2thZ2VzKXJldHVybjtsZXQgTz17dHlwZToicGFja2FnZS11cGRhdGUiLGxhYmVsOiJjaGVjayBwYWNrYWdlcyIsY29tbWFuZDoicG5wbSIsYXJnczpbIm91dGRhdGVkIl19O3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJ1bi1wcm9jZXNzIix7YnViYmxlczohMCxjb21wb3NlZDohMCxkZXRhaWw6T30pKSxzZXRUaW1lb3V0KCgpPT50aGlzLmNoZWNrUGFja2FnZXMoKSwzZTMpfSwiYWN0aW9uIil9KSx0aGlzLm91dGRhdGVkUGFja2FnZXMubGVuZ3RoPjApe3oucHVzaCh7ZGl2aWRlcjohMH0pO2xldCBPPXRoaXMub3V0ZGF0ZWRQYWNrYWdlcy5zbGljZSgwLDEwKTtmb3IobGV0IFQgb2YgTyl6LnB1c2goe25hbWU6YCR7VC5uYW1lfTogJHtULmN1cnJlbnR9IFx1MjE5MiAke1QubGF0ZXN0fWAsaWNvbk5hbWU6Imx1Y2lkZTpwYWNrYWdlIixhY3Rpb246cyhhc3luYygpPT57YXdhaXQgdGhpcy51cGRhdGVQYWNrYWdlKFQubmFtZSl9LCJhY3Rpb24iKX0pO3RoaXMub3V0ZGF0ZWRQYWNrYWdlcy5sZW5ndGg+MTAmJnoucHVzaCh7bmFtZTpgLi4uIGFuZCAke3RoaXMub3V0ZGF0ZWRQYWNrYWdlcy5sZW5ndGgtMTB9IG1vcmVgLGljb25OYW1lOiJsdWNpZGU6bW9yZUhvcml6b250YWwiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKX0pLHoucHVzaCh7ZGl2aWRlcjohMH0pLHoucHVzaCh7bmFtZToiVXBkYXRlIGFsbCBwYWNrYWdlcyIsaWNvbk5hbWU6Imx1Y2lkZTphcnJvd1VwQ2lyY2xlIixhY3Rpb246cyhhc3luYygpPT57YXdhaXQgdGhpcy51cGRhdGVBbGxQYWNrYWdlcygpfSwiYWN0aW9uIil9KX1hd2FpdCB0YS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhfLHopfWFzeW5jIHVwZGF0ZVBhY2thZ2UoXyl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpcmV0dXJuO3RoaXMucGVuZGluZ1BhY2thZ2VVcGRhdGU9ITA7bGV0IHo9e3R5cGU6InBhY2thZ2UtdXBkYXRlIixsYWJlbDpgdXBkYXRlICR7X31gLGNvbW1hbmQ6InBucG0iLGFyZ3M6WyJ1cGRhdGUiLCItLWxhdGVzdCIsX10sbWV0YWRhdGE6e3BhY2thZ2VOYW1lOl99fTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJydW4tcHJvY2VzcyIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnp9KSl9YXN5bmMgdXBkYXRlQWxsUGFja2FnZXMoKXtpZighdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudClyZXR1cm47dGhpcy5wZW5kaW5nUGFja2FnZVVwZGF0ZT0hMDtsZXQgXz17dHlwZToicGFja2FnZS11cGRhdGUiLGxhYmVsOiJ1cGRhdGUgYWxsIixjb21tYW5kOiJwbnBtIixhcmdzOlsidXBkYXRlIiwiLS1sYXRlc3QiXX07dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicnVuLXByb2Nlc3MiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwLGRldGFpbDpffSkpfWdldFBhY2thZ2VTdGF0dXNDbGFzcygpe3JldHVybiB0aGlzLmlzQ2hlY2tpbmdQYWNrYWdlcz8iIjp0aGlzLnBhY2thZ2VTdGF0dXN9Z2V0UGFja2FnZUljb24oKXtpZih0aGlzLmlzQ2hlY2tpbmdQYWNrYWdlcylyZXR1cm4ibHVjaWRlOmxvYWRlcjIiO3N3aXRjaCh0aGlzLnBhY2thZ2VTdGF0dXMpe2Nhc2UidXAtdG8tZGF0ZSI6cmV0dXJuImx1Y2lkZTpjaGVja0NpcmNsZSI7Y2FzZSJ1cGRhdGVzLWF2YWlsYWJsZSI6cmV0dXJuImx1Y2lkZTphbGVydENpcmNsZSI7Y2FzZSJlcnJvciI6cmV0dXJuImx1Y2lkZTp4Q2lyY2xlIjtkZWZhdWx0OnJldHVybiJsdWNpZGU6cGFja2FnZSJ9fWdldFBhY2thZ2VTdGF0dXNUZXh0KCl7aWYodGhpcy5pc0NoZWNraW5nUGFja2FnZXMpcmV0dXJuIkNoZWNraW5nLi4uIjtzd2l0Y2godGhpcy5wYWNrYWdlU3RhdHVzKXtjYXNlInVwLXRvLWRhdGUiOnJldHVybiJVcCB0byBkYXRlIjtjYXNlInVwZGF0ZXMtYXZhaWxhYmxlIjpyZXR1cm5gJHt0aGlzLm91dGRhdGVkUGFja2FnZXMubGVuZ3RofSB1cGRhdGUke3RoaXMub3V0ZGF0ZWRQYWNrYWdlcy5sZW5ndGghPT0xPyJzIjoiIn1gO2Nhc2UiZXJyb3IiOnJldHVybiJDaGVjayBmYWlsZWQiO2RlZmF1bHQ6cmV0dXJuIlBhY2thZ2VzIn19Z2V0UGFja2FnZVRvb2x0aXAoKXtpZih0aGlzLmlzQ2hlY2tpbmdQYWNrYWdlcylyZXR1cm4iQ2hlY2tpbmcgZm9yIHBhY2thZ2UgdXBkYXRlcy4uLiI7c3dpdGNoKHRoaXMucGFja2FnZVN0YXR1cyl7Y2FzZSJ1cC10by1kYXRlIjpyZXR1cm4iQWxsIHBhY2thZ2VzIGFyZSB1cCB0byBkYXRlIjtjYXNlInVwZGF0ZXMtYXZhaWxhYmxlIjpyZXR1cm5gJHt0aGlzLm91dGRhdGVkUGFja2FnZXMubGVuZ3RofSBwYWNrYWdlIHVwZGF0ZSR7dGhpcy5vdXRkYXRlZFBhY2thZ2VzLmxlbmd0aCE9PTE/InMiOiIifSBhdmFpbGFibGVgO2Nhc2UiZXJyb3IiOnJldHVybiJGYWlsZWQgdG8gY2hlY2sgZm9yIHVwZGF0ZXMuIENsaWNrIHRvIHJldHJ5LiI7ZGVmYXVsdDpyZXR1cm4iQ2xpY2sgdG8gY2hlY2sgZm9yIHBhY2thZ2UgdXBkYXRlcyJ9fWFzeW5jIHJlZnJlc2hQYWNrYWdlU3RhdHVzKCl7YXdhaXQgdGhpcy5jaGVja1BhY2thZ2VzKCl9YXN5bmMgcmVmcmVzaFNjcmlwdHMoKXthd2FpdCB0aGlzLmxvYWRTY3JpcHRzKCl9c3RhdGlje1gxKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciB2RyxBSmU9ZigoKT0+e3ZHPWNsYXNze3N0YXRpY3tzKHRoaXMsIlR5cGVTY3JpcHRJbnRlbGxpU2Vuc2VNYW5hZ2VyIil9bG9hZGVkTGlicz1uZXcgU2V0O25vdEZvdW5kUGFja2FnZXM9bmV3IFNldDttb25hY29JbnN0YW5jZT1udWxsO2V4ZWN1dGlvbkVudmlyb25tZW50PW51bGw7ZmlsZUNhY2hlPW5ldyBNYXA7YWRkZWRFeHRyYUxpYnM9bmV3IE1hcDtnZXQgdHNBcGkoKXtyZXR1cm4gdGhpcy5tb25hY29JbnN0YW5jZT90aGlzLm1vbmFjb0luc3RhbmNlLmxhbmd1YWdlcy50eXBlc2NyaXB0Om51bGx9YXN5bmMgaW5pdChlLHQpe3RoaXMubW9uYWNvSW5zdGFuY2U9ZSx0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50PXQsdGhpcy5jb25maWd1cmVDb21waWxlck9wdGlvbnMoKSxhd2FpdCB0aGlzLmxvYWRBbGxQcm9qZWN0RmlsZXMoKX1hc3luYyBsb2FkQWxsUHJvamVjdEZpbGVzKCl7dGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCYmYXdhaXQgdGhpcy5sb2FkRmlsZXNGcm9tRGlyZWN0b3J5KCIvIil9YXN5bmMgbG9hZEZpbGVzRnJvbURpcmVjdG9yeShlKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXRyeXtsZXQgdD1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWREaXIoZSk7Zm9yKGxldCByIG9mIHQpe2xldCBpPWU9PT0iLyI/YC8ke3IubmFtZX1gOmAke2V9LyR7ci5uYW1lfWA7aWYoci5uYW1lIT09Im5vZGVfbW9kdWxlcyIpe2lmKHIudHlwZT09PSJkaXJlY3RvcnkiKWF3YWl0IHRoaXMubG9hZEZpbGVzRnJvbURpcmVjdG9yeShpKTtlbHNlIGlmKHIudHlwZT09PSJmaWxlIil7bGV0IG89ci5uYW1lLnNwbGl0KCIuIikucG9wKCk/LnRvTG93ZXJDYXNlKCk7aWYobz09PSJ0cyJ8fG89PT0idHN4Inx8bz09PSJqcyJ8fG89PT0ianN4Iil0cnl7bGV0IG49YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRmlsZShpKTt0aGlzLmFkZEZpbGVNb2RlbChpLG4pfWNhdGNoe319fX19Y2F0Y2h7fX1jb25maWd1cmVDb21waWxlck9wdGlvbnMoKXtsZXQgZT10aGlzLnRzQXBpO2UmJihlLnR5cGVzY3JpcHREZWZhdWx0cy5zZXRDb21waWxlck9wdGlvbnMoe3RhcmdldDplLlNjcmlwdFRhcmdldC5FUzIwMjAsbW9kdWxlOmUuTW9kdWxlS2luZC5FU05leHQsbW9kdWxlUmVzb2x1dGlvbjplLk1vZHVsZVJlc29sdXRpb25LaW5kLkJ1bmRsZXI/P2UuTW9kdWxlUmVzb2x1dGlvbktpbmQuTm9kZUpzLGFsbG93U3ludGhldGljRGVmYXVsdEltcG9ydHM6ITAsZXNNb2R1bGVJbnRlcm9wOiEwLHN0cmljdDohMCxub0VtaXQ6ITAsYWxsb3dKczohMCxjaGVja0pzOiExLGFsbG93Tm9uVHNFeHRlbnNpb25zOiEwLGxpYjpbImVzMjAyMCIsImRvbSIsImRvbS5pdGVyYWJsZSJdLGJhc2VVcmw6Ii8iLGFsbG93SW1wb3J0aW5nVHNFeHRlbnNpb25zOiEwLHJlc29sdmVKc29uTW9kdWxlOiEwfSksZS50eXBlc2NyaXB0RGVmYXVsdHMuc2V0RGlhZ25vc3RpY3NPcHRpb25zKHtub1NlbWFudGljVmFsaWRhdGlvbjohMSxub1N5bnRheFZhbGlkYXRpb246ITF9KSxlLnR5cGVzY3JpcHREZWZhdWx0cy5zZXRFYWdlck1vZGVsU3luYyghMCkpfXBhcnNlSW1wb3J0cyhlKXtsZXQgdD1bXSxyPS9pbXBvcnRccysoPzpbXHcqe31ccyxdK2Zyb21ccyspP1snIl0oW14nIl0rKVsnIl0vZyxpO2Zvcig7KGk9ci5leGVjKGUpKSE9PW51bGw7KXtsZXQgbj1pWzFdO2lmKCFuLnN0YXJ0c1dpdGgoIi4iKSYmIW4uc3RhcnRzV2l0aCgiLyIpKXtsZXQgbD1uLnN0YXJ0c1dpdGgoIkAiKT9uLnNwbGl0KCIvIikuc2xpY2UoMCwyKS5qb2luKCIvIik6bi5zcGxpdCgiLyIpWzBdO3QucHVzaChsKX19bGV0IG89L3JlcXVpcmVccypcKFxzKlsnIl0oW14nIl0rKVsnIl1ccypcKS9nO2Zvcig7KGk9by5leGVjKGUpKSE9PW51bGw7KXtsZXQgbj1pWzFdO2lmKCFuLnN0YXJ0c1dpdGgoIi4iKSYmIW4uc3RhcnRzV2l0aCgiLyIpKXtsZXQgbD1uLnN0YXJ0c1dpdGgoIkAiKT9uLnNwbGl0KCIvIikuc2xpY2UoMCwyKS5qb2luKCIvIik6bi5zcGxpdCgiLyIpWzBdO3QucHVzaChsKX19cmV0dXJuWy4uLm5ldyBTZXQodCldfWFzeW5jIGxvYWRUeXBlc0ZvclBhY2thZ2UoZSl7aWYoISghdGhpcy5tb25hY29JbnN0YW5jZXx8IXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpJiYhdGhpcy5sb2FkZWRMaWJzLmhhcyhlKSYmIXRoaXMubm90Rm91bmRQYWNrYWdlcy5oYXMoZSkpdHJ5e2xldCB0PWF3YWl0IHRoaXMudHJ5TG9hZFBhY2thZ2VUeXBlcyhlKTt0fHwodD1hd2FpdCB0aGlzLnRyeUxvYWRBdFR5cGVzUGFja2FnZShlKSksdD90aGlzLmxvYWRlZExpYnMuYWRkKGUpOnRoaXMubm90Rm91bmRQYWNrYWdlcy5hZGQoZSl9Y2F0Y2godCl7Y29uc29sZS53YXJuKGBGYWlsZWQgdG8gbG9hZCB0eXBlcyBmb3IgJHtlfTpgLHQpfX1hc3luYyB0cnlMb2FkUGFja2FnZVR5cGVzKGUpe2xldCB0PXRoaXMudHNBcGk7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR8fCF0KXJldHVybiExO2xldCByPWAvbm9kZV9tb2R1bGVzLyR7ZX1gO3RyeXtsZXQgaT1gJHtyfS9wYWNrYWdlLmpzb25gO2lmKGF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuZXhpc3RzKGkpKXtsZXQgbD1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWRGaWxlKGkpLGQ9SlNPTi5wYXJzZShsKTtpZih0LnR5cGVzY3JpcHREZWZhdWx0cy5hZGRFeHRyYUxpYihsLGBmaWxlOi8vJHtpfWApLGQudHlwZXN8fGQudHlwaW5ncylyZXR1cm4gYXdhaXQgdGhpcy5sb2FkQWxsRHRzRmlsZXNGcm9tUGFja2FnZShyKSwhMH1sZXQgbj1bYCR7cn0vaW5kZXguZC50c2AsYCR7cn0vZGlzdC9pbmRleC5kLnRzYCxgJHtyfS9saWIvaW5kZXguZC50c2BdO2ZvcihsZXQgbCBvZiBuKWlmKGF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuZXhpc3RzKGwpKXJldHVybiBhd2FpdCB0aGlzLmxvYWRBbGxEdHNGaWxlc0Zyb21QYWNrYWdlKHIpLCEwO3JldHVybiExfWNhdGNoKGkpe3JldHVybiBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gbG9hZCBwYWNrYWdlIHR5cGVzIGZvciAke2V9OmAsaSksITF9fWFzeW5jIGxvYWRBbGxEdHNGaWxlc0Zyb21QYWNrYWdlKGUpe2xldCB0PXRoaXMudHNBcGk7IXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR8fCF0fHxhd2FpdCB0aGlzLmxvYWREdHNGaWxlc0Zyb21EaXJlY3RvcnkoZSl9YXN5bmMgbG9hZER0c0ZpbGVzRnJvbURpcmVjdG9yeShlKXtsZXQgdD10aGlzLnRzQXBpO2lmKCEoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR8fCF0KSl0cnl7bGV0IHI9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRGlyKGUpO2ZvcihsZXQgaSBvZiByKXtsZXQgbz1lPT09Ii8iP2AvJHtpLm5hbWV9YDpgJHtlfS8ke2kubmFtZX1gO2lmKGkubmFtZSE9PSJub2RlX21vZHVsZXMiKXtpZihpLnR5cGU9PT0iZGlyZWN0b3J5Iilhd2FpdCB0aGlzLmxvYWREdHNGaWxlc0Zyb21EaXJlY3Rvcnkobyk7ZWxzZSBpZihpLnR5cGU9PT0iZmlsZSImJmkubmFtZS5lbmRzV2l0aCgiLmQudHMiKSl0cnl7bGV0IG49YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRmlsZShvKTt0LnR5cGVzY3JpcHREZWZhdWx0cy5hZGRFeHRyYUxpYihuLGBmaWxlOi8vJHtvfWApfWNhdGNoe319fX1jYXRjaHt9fWFzeW5jIHRyeUxvYWRBdFR5cGVzUGFja2FnZShlKXtpZighdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudClyZXR1cm4hMTtsZXQgcj1gL25vZGVfbW9kdWxlcy8ke2Uuc3RhcnRzV2l0aCgiQCIpP2BAdHlwZXMvJHtlLnNsaWNlKDEpLnJlcGxhY2UoIi8iLCJfXyIpfWA6YEB0eXBlcy8ke2V9YH1gO3RyeXtsZXQgaT1gJHtyfS9pbmRleC5kLnRzYDtyZXR1cm4gYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5leGlzdHMoaSk/KGF3YWl0IHRoaXMubG9hZEFsbER0c0ZpbGVzRnJvbVBhY2thZ2UociksITApOiExfWNhdGNoe3JldHVybiExfX1hc3luYyBwcm9jZXNzQ29udGVudENoYW5nZShlKXtsZXQgdD10aGlzLnBhcnNlSW1wb3J0cyhlKTtmb3IobGV0IHIgb2YgdCl0aGlzLmxvYWRlZExpYnMuaGFzKHIpfHxhd2FpdCB0aGlzLmxvYWRUeXBlc0ZvclBhY2thZ2Uocil9YXN5bmMgc2NhbkFuZExvYWROZXdQYWNrYWdlVHlwZXMoKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXt0aGlzLm5vdEZvdW5kUGFja2FnZXMuY2xlYXIoKTt0cnl7aWYoIWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuZXhpc3RzKCIvbm9kZV9tb2R1bGVzIikpcmV0dXJuO2xldCBlPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZERpcigiL25vZGVfbW9kdWxlcyIpO2ZvcihsZXQgdCBvZiBlKWlmKHQudHlwZT09PSJkaXJlY3RvcnkiKWlmKHQubmFtZS5zdGFydHNXaXRoKCJAIikpdHJ5e2xldCByPWAvbm9kZV9tb2R1bGVzLyR7dC5uYW1lfWAsaT1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWREaXIocik7Zm9yKGxldCBvIG9mIGkpaWYoby50eXBlPT09ImRpcmVjdG9yeSIpe2xldCBuPWAke3QubmFtZX0vJHtvLm5hbWV9YDthd2FpdCB0aGlzLmxvYWRUeXBlc0ZvclBhY2thZ2Uobil9fWNhdGNoe31lbHNlIHQubmFtZS5zdGFydHNXaXRoKCIuIil8fGF3YWl0IHRoaXMubG9hZFR5cGVzRm9yUGFja2FnZSh0Lm5hbWUpfWNhdGNoKGUpe2NvbnNvbGUud2FybigiRmFpbGVkIHRvIHNjYW4gbm9kZV9tb2R1bGVzOiIsZSl9fX1hZGRGaWxlTW9kZWwoZSx0KXtpZighdGhpcy5tb25hY29JbnN0YW5jZSlyZXR1cm47dGhpcy5maWxlQ2FjaGUuc2V0KGUsdCk7bGV0IHI9dGhpcy5tb25hY29JbnN0YW5jZS5VcmkucGFyc2UoYGZpbGU6Ly8ke2V9YCksaT10aGlzLm1vbmFjb0luc3RhbmNlLmVkaXRvci5nZXRNb2RlbChyKTtpZihpKWkuZ2V0VmFsdWUoKSE9PXQmJmkuc2V0VmFsdWUodCk7ZWxzZXtsZXQgbz10aGlzLmdldExhbmd1YWdlRnJvbVBhdGgoZSk7dGhpcy5tb25hY29JbnN0YW5jZS5lZGl0b3IuY3JlYXRlTW9kZWwodCxvLHIpfXRoaXMuYWRkRmlsZUFzRXh0cmFMaWIoZSx0KX1hZGRGaWxlQXNFeHRyYUxpYihlLHQpe2xldCByPXRoaXMudHNBcGk7aWYoIXIpcmV0dXJuO2xldCBpPXRoaXMuYWRkZWRFeHRyYUxpYnMuZ2V0KGUpO2kmJmkuZGlzcG9zZSgpO2xldCBvPWBmaWxlOi8vJHtlfWAsbj1yLnR5cGVzY3JpcHREZWZhdWx0cy5hZGRFeHRyYUxpYih0LG8pO2lmKHRoaXMuYWRkZWRFeHRyYUxpYnMuc2V0KGUsbiksZS5lbmRzV2l0aCgiLnRzIikmJiFlLmVuZHNXaXRoKCIuZC50cyIpKXtsZXQgbD1lLnJlcGxhY2UoL1wudHMkLywiLmpzIiksZD1gZmlsZTovLyR7bH1gLGM9ci50eXBlc2NyaXB0RGVmYXVsdHMuYWRkRXh0cmFMaWIodCxkKTt0aGlzLmFkZGVkRXh0cmFMaWJzLnNldChsLGMpLHRoaXMuZmlsZUNhY2hlLnNldChsLHQpfWVsc2UgaWYoZS5lbmRzV2l0aCgiLnRzeCIpKXtsZXQgbD1lLnJlcGxhY2UoL1wudHN4JC8sIi5qc3giKSxkPWBmaWxlOi8vJHtsfWAsYz1yLnR5cGVzY3JpcHREZWZhdWx0cy5hZGRFeHRyYUxpYih0LGQpO3RoaXMuYWRkZWRFeHRyYUxpYnMuc2V0KGwsYyksdGhpcy5maWxlQ2FjaGUuc2V0KGwsdCl9fWdldEZpbGVDb250ZW50KGUpe3JldHVybiB0aGlzLmZpbGVDYWNoZS5nZXQoZSl9Z2V0TGFuZ3VhZ2VGcm9tUGF0aChlKXtzd2l0Y2goZS5zcGxpdCgiLiIpLnBvcCgpPy50b0xvd2VyQ2FzZSgpKXtjYXNlInRzIjpjYXNlInRzeCI6cmV0dXJuInR5cGVzY3JpcHQiO2Nhc2UianMiOmNhc2UianN4IjpyZXR1cm4iamF2YXNjcmlwdCI7Y2FzZSJqc29uIjpyZXR1cm4ianNvbiI7ZGVmYXVsdDpyZXR1cm4icGxhaW50ZXh0In19fX0pO3ZhciBMNSxjbixydWEsRUplPWYoKCk9PntsZSgpO2VhKCk7UlllKCk7UWUoKTskZigpO0w1PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxjbj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0scnVhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy13b3Jrc3BhY2UtZGlmZi1lZGl0b3IiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXTt2YXIgTz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1dvcmtzcGFjZURpZmZFZGl0b3IiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgVD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHt0eXBlOlN0cmluZ30pXSxOPVskKHt0eXBlOlN0cmluZ30pXSxMNSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9yaWdpbmFsQ29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4ib3JpZ2luYWxDb250ZW50ImluIEUsImhhcyIpLGdldDpzKEU9PkUub3JpZ2luYWxDb250ZW50LCJnZXQiKSxzZXQ6cygoRSxCKT0+e0Uub3JpZ2luYWxDb250ZW50PUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sbixsKSxMNSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vZGlmaWVkQ29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4ibW9kaWZpZWRDb250ZW50ImluIEUsImhhcyIpLGdldDpzKEU9PkUubW9kaWZpZWRDb250ZW50LCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UubW9kaWZpZWRDb250ZW50PUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sYyxwKSxMNSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9yaWdpbmFsTGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+Im9yaWdpbmFsTGFiZWwiaW4gRSwiaGFzIiksZ2V0OnMoRT0+RS5vcmlnaW5hbExhYmVsLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0Uub3JpZ2luYWxMYWJlbD1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LG0sdiksTDUodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb2RpZmllZExhYmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJtb2RpZmllZExhYmVsImluIEUsImhhcyIpLGdldDpzKEU9PkUubW9kaWZpZWRMYWJlbCwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLm1vZGlmaWVkTGFiZWw9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxiLGcpLEw1KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFuZ3VhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+Imxhbmd1YWdlImluIEUsImhhcyIpLGdldDpzKEU9PkUubGFuZ3VhZ2UsImdldCIpLHNldDpzKChFLEIpPT57RS5sYW5ndWFnZT1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LGssQyksTDUodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWxlUGF0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4iZmlsZVBhdGgiaW4gRSwiaGFzIiksZ2V0OnMoRT0+RS5maWxlUGF0aCwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLmZpbGVQYXRoPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sXyx6KSxMNShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpUfSxudWxsLHQpLE89cj1lLnZhbHVlLFQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6VH0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGVlcy13b3Jrc3BhY2UtZGlmZi1lZGl0b3IKICAgICAgLm9yaWdpbmFsQ29udGVudD0ke2BmdW5jdGlvbiBoZWxsbygpIHsKICBjb25zb2xlLmxvZygiSGVsbG8iKTsKfWB9CiAgICAgIC5tb2RpZmllZENvbnRlbnQ9JHtgZnVuY3Rpb24gaGVsbG8oKSB7CiAgY29uc29sZS5sb2coIkhlbGxvIFdvcmxkISIpOwogIHJldHVybiB0cnVlOwp9YH0KICAgICAgLmxhbmd1YWdlPSR7InR5cGVzY3JpcHQifQogICAgICAuZmlsZVBhdGg9JHsiL2RlbW8vZXhhbXBsZS50cyJ9CiAgICA+PC9kZWVzLXdvcmtzcGFjZS1kaWZmLWVkaXRvcj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJXb3Jrc3BhY2UiXTtkaWZmRWRpdG9yRGVmZXJyZWQ9SHQuc21hcnRwcm9taXNlLmRlZmVyKCk7I2U9Y24odGhpcyxuLCIiKTtnZXQgb3JpZ2luYWxDb250ZW50KCl7cmV0dXJuIHRoaXMuI2V9c2V0IG9yaWdpbmFsQ29udGVudChUKXt0aGlzLiNlPVR9I3Q9KGNuKHRoaXMsbCksY24odGhpcyxjLCIiKSk7Z2V0IG1vZGlmaWVkQ29udGVudCgpe3JldHVybiB0aGlzLiN0fXNldCBtb2RpZmllZENvbnRlbnQoVCl7dGhpcy4jdD1UfSNhPShjbih0aGlzLHApLGNuKHRoaXMsbSwiRGlzayBWZXJzaW9uIikpO2dldCBvcmlnaW5hbExhYmVsKCl7cmV0dXJuIHRoaXMuI2F9c2V0IG9yaWdpbmFsTGFiZWwoVCl7dGhpcy4jYT1UfSNyPShjbih0aGlzLHYpLGNuKHRoaXMsYiwiTG9jYWwgVmVyc2lvbiIpKTtnZXQgbW9kaWZpZWRMYWJlbCgpe3JldHVybiB0aGlzLiNyfXNldCBtb2RpZmllZExhYmVsKFQpe3RoaXMuI3I9VH0jcz0oY24odGhpcyxnKSxjbih0aGlzLGssInR5cGVzY3JpcHQiKSk7Z2V0IGxhbmd1YWdlKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGxhbmd1YWdlKFQpe3RoaXMuI3M9VH0jaT0oY24odGhpcyxDKSxjbih0aGlzLF8sIiIpKTtnZXQgZmlsZVBhdGgoKXtyZXR1cm4gdGhpcy4jaX1zZXQgZmlsZVBhdGgoVCl7dGhpcy4jaT1UfWRpZmZFZGl0b3I9KGNuKHRoaXMseiksbnVsbCk7bW9uYWNvVGhlbWVTdWJzY3JpcHRpb249bnVsbDtvcmlnaW5hbE1vZGVsPW51bGw7bW9kaWZpZWRNb2RlbD1udWxsO2NvbnN0cnVjdG9yKCl7c3VwZXIoKSxfaS5zZXR1cERvbVRvb2xzKCl9c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICB9CgogICAgICAqIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuZGlmZi13cmFwcGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAuZGlmZi10b29sYmFyIHsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk2JSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODUlKSIsImhzbCgwIDAlIDIwJSkiKX07CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5kaWZmLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMzAlKSIsImhzbCgwIDAlIDgwJSkiKX07CiAgICAgIH0KCiAgICAgIC5kaWZmLWZpbGVuYW1lIHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgIH0KCiAgICAgIC5kaWZmLWxhYmVscyB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5kaWZmLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmRpZmYtY29udGFpbmVyIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi1oZWlnaHQ6IDA7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5uYXYtYnV0dG9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgVD10aGlzLmZpbGVQYXRoLnNwbGl0KCIvIikucG9wKCl8fCJmaWxlIjtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZGlmZi13cmFwcGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkaWZmLXRvb2xiYXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlmZi1pbmZvIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRpZmYtZmlsZW5hbWUiPiR7VH08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkaWZmLWxhYmVscyI+JHt0aGlzLm9yaWdpbmFsTGFiZWx9IOKGlCAke3RoaXMubW9kaWZpZWRMYWJlbH08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpZmYtYWN0aW9ucyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdi1idXR0b25zIj4KICAgICAgICAgICAgICA8ZGVlcy1idXR0b24KICAgICAgICAgICAgICAgIHR5cGU9Im91dGxpbmUiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmdvVG9QcmV2aW91c0RpZmZ9CiAgICAgICAgICAgICAgPlByZXZpb3VzPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgICA8ZGVlcy1idXR0b24KICAgICAgICAgICAgICAgIHR5cGU9Im91dGxpbmUiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmdvVG9OZXh0RGlmZn0KICAgICAgICAgICAgICA+TmV4dDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb24tYnV0dG9ucyI+CiAgICAgICAgICAgICAgPGRlZXMtYnV0dG9uCiAgICAgICAgICAgICAgICB0eXBlPSJoaWdobGlnaHRlZCIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuYWNjZXB0TG9jYWx9CiAgICAgICAgICAgICAgPlVzZSBMb2NhbDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgICAgPGRlZXMtYnV0dG9uCiAgICAgICAgICAgICAgICB0eXBlPSJvdXRsaW5lIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5hY2NlcHREaXNrfQogICAgICAgICAgICAgID5Vc2UgRGlzazwvZGVlcy1idXR0b24+CiAgICAgICAgICAgICAgPGRlZXMtYnV0dG9uCiAgICAgICAgICAgICAgICB0eXBlPSJvdXRsaW5lIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5jbG9zZX0KICAgICAgICAgICAgICA+Q2xvc2U8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImRpZmYtY29udGFpbmVyIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2F3YWl0IHN1cGVyLmZpcnN0VXBkYXRlZChuZXcgTWFwKSxhd2FpdCB0aGlzLmluaXREaWZmRWRpdG9yKCl9YXN5bmMgaW5pdERpZmZFZGl0b3IoKXtsZXQgVD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5kaWZmLWNvbnRhaW5lciIpO2lmKCFUKXJldHVybjtsZXQgRT1gaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9tb25hY28tZWRpdG9yQCR7cmFlfWAsQj13aW5kb3cubW9uYWNvO0J8fChhd2FpdCBuZXcgUHJvbWlzZShHPT57bGV0IGhlPXNldEludGVydmFsKCgpPT57d2luZG93Lm1vbmFjbyYmKGNsZWFySW50ZXJ2YWwoaGUpLEcoKSl9LDEwMCl9KSxCPXdpbmRvdy5tb25hY28pO2xldCBNPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLFA9TS50aGVtZU1hbmFnZXIuZ29CcmlnaHRCb29sZWFuPyJ2cyI6InZzLWRhcmsiLEE9RGF0ZS5ub3coKSxGPUIuVXJpLnBhcnNlKGBkaWZmOi8vb3JpZ2luYWwvJHtBfSR7dGhpcy5maWxlUGF0aH1gKSxXPUIuVXJpLnBhcnNlKGBkaWZmOi8vbW9kaWZpZWQvJHtBfSR7dGhpcy5maWxlUGF0aH1gKTt0aGlzLm9yaWdpbmFsTW9kZWw9Qi5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy5vcmlnaW5hbENvbnRlbnQsdGhpcy5sYW5ndWFnZSxGKSx0aGlzLm1vZGlmaWVkTW9kZWw9Qi5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy5tb2RpZmllZENvbnRlbnQsdGhpcy5sYW5ndWFnZSxXKSx0aGlzLmRpZmZFZGl0b3I9Qi5lZGl0b3IuY3JlYXRlRGlmZkVkaXRvcihULHthdXRvbWF0aWNMYXlvdXQ6ITAscmVhZE9ubHk6ITEsb3JpZ2luYWxFZGl0YWJsZTohMSxyZW5kZXJTaWRlQnlTaWRlOiEwLGlnbm9yZVRyaW1XaGl0ZXNwYWNlOiExLGZvbnRTaXplOjE0LG1pbmltYXA6e2VuYWJsZWQ6ITF9fSksQi5lZGl0b3Iuc2V0VGhlbWUoUCksdGhpcy5kaWZmRWRpdG9yLnNldE1vZGVsKHtvcmlnaW5hbDp0aGlzLm9yaWdpbmFsTW9kZWwsbW9kaWZpZWQ6dGhpcy5tb2RpZmllZE1vZGVsfSksdGhpcy5tb25hY29UaGVtZVN1YnNjcmlwdGlvbj1NLnRoZW1lTWFuYWdlci50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKEc9PntsZXQgaGU9Rz8idnMiOiJ2cy1kYXJrIjtCLmVkaXRvci5zZXRUaGVtZShoZSl9KTtsZXQgaj0ibW9uYWNvLWRpZmYtZWRpdG9yLWNzcyI7aWYoIXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoaikpe2xldCBoZT1hd2FpdChhd2FpdCBmZXRjaChgJHtFfS9taW4vdnMvZWRpdG9yL2VkaXRvci5tYWluLmNzc2ApKS50ZXh0KCksUj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO1IuaWQ9aixSLnRleHRDb250ZW50PWhlLHRoaXMuc2hhZG93Um9vdD8uYXBwZW5kKFIpfXNldFRpbWVvdXQoKCk9Pnt0cnl7dGhpcy5kaWZmRWRpdG9yPy5yZXZlYWxGaXJzdERpZmYoKX1jYXRjaHt9fSwxMDApLHRoaXMuZGlmZkVkaXRvckRlZmVycmVkLnJlc29sdmUodGhpcy5kaWZmRWRpdG9yKX1nb1RvTmV4dERpZmYoKXt0cnl7dGhpcy5kaWZmRWRpdG9yPy5nb1RvRGlmZigibmV4dCIpfWNhdGNoe319Z29Ub1ByZXZpb3VzRGlmZigpe3RyeXt0aGlzLmRpZmZFZGl0b3I/LmdvVG9EaWZmKCJwcmV2aW91cyIpfWNhdGNoe319YWNjZXB0TG9jYWwoKXtsZXQgVD10aGlzLmRpZmZFZGl0b3I/LmdldE1vZGlmaWVkRWRpdG9yKCkuZ2V0VmFsdWUoKXx8dGhpcy5tb2RpZmllZENvbnRlbnQ7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGlmZi1yZXNvbHZlZCIse2RldGFpbDp7YWN0aW9uOiJ1c2UtbG9jYWwiLGNvbnRlbnQ6VH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1hY2NlcHREaXNrKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGlmZi1yZXNvbHZlZCIse2RldGFpbDp7YWN0aW9uOiJ1c2UtZGlzayIsY29udGVudDp0aGlzLm9yaWdpbmFsQ29udGVudH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jbG9zZSgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRpZmYtY2xvc2VkIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5tb25hY29UaGVtZVN1YnNjcmlwdGlvbiYmKHRoaXMubW9uYWNvVGhlbWVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLm1vbmFjb1RoZW1lU3Vic2NyaXB0aW9uPW51bGwpLHRoaXMub3JpZ2luYWxNb2RlbCYmKHRoaXMub3JpZ2luYWxNb2RlbC5kaXNwb3NlKCksdGhpcy5vcmlnaW5hbE1vZGVsPW51bGwpLHRoaXMubW9kaWZpZWRNb2RlbCYmKHRoaXMubW9kaWZpZWRNb2RlbC5kaXNwb3NlKCksdGhpcy5tb2RpZmllZE1vZGVsPW51bGwpLHRoaXMuZGlmZkVkaXRvciYmKHRoaXMuZGlmZkVkaXRvci5kaXNwb3NlKCksdGhpcy5kaWZmRWRpdG9yPW51bGwpfXN0YXRpY3tjbihyLHQpfX07cmV0dXJuIE89cn0pKCl9KTt2YXIgVHIscXQsc3VhLGl1YT1mKCgpPT57bGUoKTtlYSgpO1FlKCk7aGllKCk7RWYoKTtnaWUoKTtnaWUoKTtnRygpO2dHKCk7JEplKCk7REplKCk7dmEoKTtFZigpO0FKZSgpO1pyKCk7TmEoKTtLc2UoKTtFSmUoKTtUcj1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0scXQ9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHN1YT0oKCk9PntsZXQgYT1baWUoImRlZXMtd29ya3NwYWNlIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W10sQixNPVtdLFM9W10sUCxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdLFEsSj1bXSxaPVtdLGdlLGFlPVtdLHJlPVtdLHllLFY9W10sSD1bXSxvZSxzZT1bXSx0ZT1bXSx6ZSxPZT1bXSxxZT1bXSxjdCwkZT1bXSxDZT1bXSxNZSxkZT1bXSx2ZT1bXSxBZSxaZT1bXSxsdD1bXSx6dCxUZT1bXSx3ZT1bXTt2YXIgUmU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNXb3Jrc3BhY2UiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgZmU9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpPYmplY3R9KV0sZD1bJCh7YXR0cmlidXRlOiExfSldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx4PVskKHt0eXBlOkJvb2xlYW59KV0seT1bJCh7dHlwZTpOdW1iZXJ9KV0sTj1bJCh7dHlwZTpOdW1iZXJ9KV0sTz1bSygpXSxCPVtLKCldLFA9W0soKV0sVz1bSygpXSxoZT1bSygpXSxtZT1bSygpXSxjZT1bSygpXSxRPVtLKCldLGdlPVtLKCldLHllPVtLKCldLG9lPVtLKCldLHplPVtLKCldLGN0PVtLKCldLE1lPVtLKCldLEFlPVtLKCldLHp0PVtLKCldLFRyKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXhlY3V0aW9uRW52aXJvbm1lbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJleGVjdXRpb25FbnZpcm9ubWVudCJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLmV4ZWN1dGlvbkVudmlyb25tZW50LCJnZXQiKSxzZXQ6cygoYmUsUGUpPT57YmUuZXhlY3V0aW9uRW52aXJvbm1lbnQ9UGV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LG4sbCksVHIodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbml0aWFsaXphdGlvblByb21pc2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJpbml0aWFsaXphdGlvblByb21pc2UiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5pbml0aWFsaXphdGlvblByb21pc2UsImdldCIpLHNldDpzKChiZSxQZSk9PntiZS5pbml0aWFsaXphdGlvblByb21pc2U9UGV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LGMscCksVHIodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93RmlsZVRyZWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJzaG93RmlsZVRyZWUiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5zaG93RmlsZVRyZWUsImdldCIpLHNldDpzKChiZSxQZSk9PntiZS5zaG93RmlsZVRyZWU9UGV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LG0sdiksVHIodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93VGVybWluYWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJzaG93VGVybWluYWwiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5zaG93VGVybWluYWwsImdldCIpLHNldDpzKChiZSxQZSk9PntiZS5zaG93VGVybWluYWw9UGV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LGIsZyksVHIodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWxlVHJlZVdpZHRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iZmlsZVRyZWVXaWR0aCJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLmZpbGVUcmVlV2lkdGgsImdldCIpLHNldDpzKChiZSxQZSk9PntiZS5maWxlVHJlZVdpZHRoPVBlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxrLEMpLFRyKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGVybWluYWxIZWlnaHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJ0ZXJtaW5hbEhlaWdodCJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLnRlcm1pbmFsSGVpZ2h0LCJnZXQiKSxzZXQ6cygoYmUsUGUpPT57YmUudGVybWluYWxIZWlnaHQ9UGV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LF8seiksVHIodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcGVuRmlsZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJvcGVuRmlsZXMiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5vcGVuRmlsZXMsImdldCIpLHNldDpzKChiZSxQZSk9PntiZS5vcGVuRmlsZXM9UGV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LFQsRSksVHIodGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3RpdmVGaWxlUGF0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+ImFjdGl2ZUZpbGVQYXRoImluIGJlLCJoYXMiKSxnZXQ6cyhiZT0+YmUuYWN0aXZlRmlsZVBhdGgsImdldCIpLHNldDpzKChiZSxQZSk9PntiZS5hY3RpdmVGaWxlUGF0aD1QZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sTSxTKSxUcih0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzVGVybWluYWxDb2xsYXBzZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJpc1Rlcm1pbmFsQ29sbGFwc2VkImluIGJlLCJoYXMiKSxnZXQ6cyhiZT0+YmUuaXNUZXJtaW5hbENvbGxhcHNlZCwiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmlzVGVybWluYWxDb2xsYXBzZWQ9UGV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LEEsRiksVHIodGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0ZpbGVUcmVlQ29sbGFwc2VkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iaXNGaWxlVHJlZUNvbGxhcHNlZCJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLmlzRmlsZVRyZWVDb2xsYXBzZWQsImdldCIpLHNldDpzKChiZSxQZSk9PntiZS5pc0ZpbGVUcmVlQ29sbGFwc2VkPVBlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxqLEcpLFRyKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzSW5pdGlhbGl6aW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iaXNJbml0aWFsaXppbmciaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5pc0luaXRpYWxpemluZywiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmlzSW5pdGlhbGl6aW5nPVBlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxSLFUpLFRyKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2ZUJvdHRvbVBhbmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iYWN0aXZlQm90dG9tUGFuZWwiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5hY3RpdmVCb3R0b21QYW5lbCwiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmFjdGl2ZUJvdHRvbVBhbmVsPVBlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxJLHEpLFRyKHRoaXMsbnVsbCxjZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRpYWdub3N0aWNNYXJrZXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iZGlhZ25vc3RpY01hcmtlcnMiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5kaWFnbm9zdGljTWFya2VycywiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmRpYWdub3N0aWNNYXJrZXJzPVBlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSx1ZSxZKSxUcih0aGlzLG51bGwsUSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImF1dG9TYXZlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iYXV0b1NhdmUiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5hdXRvU2F2ZSwiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmF1dG9TYXZlPVBlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxKLFopLFRyKHRoaXMsbnVsbCxnZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImluaXRDb21tYW5kIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iaW5pdENvbW1hbmQiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5pbml0Q29tbWFuZCwiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmluaXRDb21tYW5kPVBlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxhZSxyZSksVHIodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5pdE91dHB1dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+ImluaXRPdXRwdXQiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5pbml0T3V0cHV0LCJnZXQiKSxzZXQ6cygoYmUsUGUpPT57YmUuaW5pdE91dHB1dD1QZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sVixIKSxUcih0aGlzLG51bGwsb2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50RmlsZVRyZWVXaWR0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+ImN1cnJlbnRGaWxlVHJlZVdpZHRoImluIGJlLCJoYXMiKSxnZXQ6cyhiZT0+YmUuY3VycmVudEZpbGVUcmVlV2lkdGgsImdldCIpLHNldDpzKChiZSxQZSk9PntiZS5jdXJyZW50RmlsZVRyZWVXaWR0aD1QZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sc2UsdGUpLFRyKHRoaXMsbnVsbCx6ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRUZXJtaW5hbEhlaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+ImN1cnJlbnRUZXJtaW5hbEhlaWdodCJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLmN1cnJlbnRUZXJtaW5hbEhlaWdodCwiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmN1cnJlbnRUZXJtaW5hbEhlaWdodD1QZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sT2UscWUpLFRyKHRoaXMsbnVsbCxjdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzRHJhZ2dpbmdGaWxlVHJlZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+ImlzRHJhZ2dpbmdGaWxlVHJlZSJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLmlzRHJhZ2dpbmdGaWxlVHJlZSwiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmlzRHJhZ2dpbmdGaWxlVHJlZT1QZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sJGUsQ2UpLFRyKHRoaXMsbnVsbCxNZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzRHJhZ2dpbmdUZXJtaW5hbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+ImlzRHJhZ2dpbmdUZXJtaW5hbCJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLmlzRHJhZ2dpbmdUZXJtaW5hbCwiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmlzRHJhZ2dpbmdUZXJtaW5hbD1QZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sZGUsdmUpLFRyKHRoaXMsbnVsbCxBZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dEaWZmVmlldyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+InNob3dEaWZmVmlldyJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLnNob3dEaWZmVmlldywiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLnNob3dEaWZmVmlldz1QZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sWmUsbHQpLFRyKHRoaXMsbnVsbCx6dCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRpZmZWaWV3Q29uZmlnIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iZGlmZlZpZXdDb25maWciaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5kaWZmVmlld0NvbmZpZywiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmRpZmZWaWV3Q29uZmlnPVBlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxUZSx3ZSksVHIobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6ZmV9LG51bGwsdCksUmU9cj1lLnZhbHVlLGZlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZlfSl9c3RhdGljIGRlbW89cygoKT0+e2xldCBmZT1uZXcgQzUsYmU9KGFzeW5jKCk9Pnthd2FpdCBmZS5pbml0KCk7bGV0IG10PXsicGFja2FnZS5qc29uIjp7ZmlsZTp7Y29udGVudHM6SlNPTi5zdHJpbmdpZnkoe25hbWU6ImRlbW8tcHJvamVjdCIsdmVyc2lvbjoiMS4wLjAiLHR5cGU6Im1vZHVsZSIsc2NyaXB0czp7YnVpbGQ6InRzYyIsZGV2OiJ0c2MgLS13YXRjaCJ9LGRlcGVuZGVuY2llczp7IkBwdXNoLnJvY2tzL3NtYXJ0cHJvbWlzZSI6Il40LjIuMyJ9LGRldkRlcGVuZGVuY2llczp7IkB0eXBlcy9ub2RlIjoiXjIyLjAuMCIsdHlwZXNjcmlwdDoiXjUuMC4wIn19LG51bGwsMil9fSwibnBtZXh0cmEuanNvbiI6e2ZpbGU6e2NvbnRlbnRzOkpTT04uc3RyaW5naWZ5KHtkZWVzRWRpdG9yV29ya3NwYWNlOntvbkluaXQ6InBucG0gaW5zdGFsbCJ9fSxudWxsLDIpfX0sInRzY29uZmlnLmpzb24iOntmaWxlOntjb250ZW50czpKU09OLnN0cmluZ2lmeSh7Y29tcGlsZXJPcHRpb25zOnt0YXJnZXQ6IkVTMjAyMiIsbW9kdWxlOiJOb2RlTmV4dCIsbW9kdWxlUmVzb2x1dGlvbjoiTm9kZU5leHQiLHN0cmljdDohMCxvdXREaXI6Ii4vZGlzdCIscm9vdERpcjoiLi9zcmMiLGRlY2xhcmF0aW9uOiEwfSxpbmNsdWRlOlsic3JjLyoqLyoiXX0sbnVsbCwyKX19LHNyYzp7ZGlyZWN0b3J5OnsiaW5kZXgudHMiOntmaWxlOntjb250ZW50czpgLy8gTWFpbiBlbnRyeSBwb2ludAppbXBvcnQgeyBncmVldCwgZm9ybWF0TmFtZSB9IGZyb20gJy4vdXRpbHMuanMnOwoKY29uc3QgbmFtZSA9IGZvcm1hdE5hbWUoJ1dvcmxkJyk7CmNvbnNvbGUubG9nKGdyZWV0KG5hbWUpKTsKCi8vIEV4YW1wbGUgYXN5bmMgZnVuY3Rpb24KYXN5bmMgZnVuY3Rpb24gbWFpbigpIHsKICBjb25zdCByZXN1bHQgPSBhd2FpdCBQcm9taXNlLnJlc29sdmUoJ0hlbGxvIGZyb20gYXN5bmMhJyk7CiAgY29uc29sZS5sb2cocmVzdWx0KTsKfQoKbWFpbigpOwpgfX0sInV0aWxzLnRzIjp7ZmlsZTp7Y29udGVudHM6YC8vIFV0aWxpdHkgZnVuY3Rpb25zCgpleHBvcnQgaW50ZXJmYWNlIElVc2VyIHsKICBmaXJzdE5hbWU6IHN0cmluZzsKICBsYXN0TmFtZTogc3RyaW5nOwp9CgpleHBvcnQgZnVuY3Rpb24gZ3JlZXQobmFtZTogc3RyaW5nKTogc3RyaW5nIHsKICByZXR1cm4gXGBIZWxsbywgXCR7bmFtZX0hXGA7Cn0KCmV4cG9ydCBmdW5jdGlvbiBmb3JtYXROYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7CiAgcmV0dXJuIG5hbWUudHJpbSgpLnRvVXBwZXJDYXNlKCk7Cn0KCmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVc2VyKGZpcnN0TmFtZTogc3RyaW5nLCBsYXN0TmFtZTogc3RyaW5nKTogSVVzZXIgewogIHJldHVybiB7IGZpcnN0TmFtZSwgbGFzdE5hbWUgfTsKfQpgfX0sImltcG9ydHRlc3QudHMiOntmaWxlOntjb250ZW50czpgLy8gVGVzdCBucG0gcGFja2FnZSBpbXBvcnRzCmltcG9ydCAqIGFzIHNtYXJ0cHJvbWlzZSBmcm9tICdAcHVzaC5yb2Nrcy9zbWFydHByb21pc2UnOwoKLy8gVGhpcyBzaG91bGQgaGF2ZSBJbnRlbGxpU2Vuc2Ugc2hvd2luZyBkZWZlcigpIG1ldGhvZApjb25zdCBkZWZlcnJlZCA9IHNtYXJ0cHJvbWlzZS5kZWZlcjxzdHJpbmc+KCk7CgovLyBUZXN0IHVzaW5nIHRoZSBkZWZlcnJlZCBwcm9taXNlCmFzeW5jIGZ1bmN0aW9uIHRlc3RTbWFydFByb21pc2UoKSB7CiAgc2V0VGltZW91dCgoKSA9PiB7CiAgICBkZWZlcnJlZC5yZXNvbHZlKCdIZWxsbyBmcm9tIHNtYXJ0cHJvbWlzZSEnKTsKICB9LCAxMDApOwoKICBjb25zdCByZXN1bHQgPSBhd2FpdCBkZWZlcnJlZC5wcm9taXNlOwogIGNvbnNvbGUubG9nKHJlc3VsdCk7Cn0KCnRlc3RTbWFydFByb21pc2UoKTsKYH19fX19O2F3YWl0IGZlLm1vdW50KG10KX0pKCksUGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7UGUuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IG92ZXJmbG93OiBoaWRkZW47IjtsZXQgZnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGVlcy13b3Jrc3BhY2UiKTtyZXR1cm4gZnQuZXhlY3V0aW9uRW52aXJvbm1lbnQ9ZmUsZnQuaW5pdGlhbGl6YXRpb25Qcm9taXNlPWJlLFBlLmFwcGVuZENoaWxkKGZ0KSx3YAogICAgICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgICAgICAke1BlfQogICAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICBgfSwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiV29ya3NwYWNlIl07I2U9cXQodGhpcyxuLG51bGwpO2dldCBleGVjdXRpb25FbnZpcm9ubWVudCgpe3JldHVybiB0aGlzLiNlfXNldCBleGVjdXRpb25FbnZpcm9ubWVudChmZSl7dGhpcy4jZT1mZX0jdD0ocXQodGhpcyxsKSxxdCh0aGlzLGMsbnVsbCkpO2dldCBpbml0aWFsaXphdGlvblByb21pc2UoKXtyZXR1cm4gdGhpcy4jdH1zZXQgaW5pdGlhbGl6YXRpb25Qcm9taXNlKGZlKXt0aGlzLiN0PWZlfSNhPShxdCh0aGlzLHApLHF0KHRoaXMsbSwhMCkpO2dldCBzaG93RmlsZVRyZWUoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2hvd0ZpbGVUcmVlKGZlKXt0aGlzLiNhPWZlfSNyPShxdCh0aGlzLHYpLHF0KHRoaXMsYiwhMCkpO2dldCBzaG93VGVybWluYWwoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc2hvd1Rlcm1pbmFsKGZlKXt0aGlzLiNyPWZlfSNzPShxdCh0aGlzLGcpLHF0KHRoaXMsaywyNTApKTtnZXQgZmlsZVRyZWVXaWR0aCgpe3JldHVybiB0aGlzLiNzfXNldCBmaWxlVHJlZVdpZHRoKGZlKXt0aGlzLiNzPWZlfSNpPShxdCh0aGlzLEMpLHF0KHRoaXMsXywyMDApKTtnZXQgdGVybWluYWxIZWlnaHQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgdGVybWluYWxIZWlnaHQoZmUpe3RoaXMuI2k9ZmV9I289KHF0KHRoaXMseikscXQodGhpcyxULFtdKSk7Z2V0IG9wZW5GaWxlcygpe3JldHVybiB0aGlzLiNvfXNldCBvcGVuRmlsZXMoZmUpe3RoaXMuI289ZmV9I249KHF0KHRoaXMsRSkscXQodGhpcyxNLCIiKSk7Z2V0IGFjdGl2ZUZpbGVQYXRoKCl7cmV0dXJuIHRoaXMuI259c2V0IGFjdGl2ZUZpbGVQYXRoKGZlKXt0aGlzLiNuPWZlfSNsPShxdCh0aGlzLFMpLHF0KHRoaXMsQSwhMSkpO2dldCBpc1Rlcm1pbmFsQ29sbGFwc2VkKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGlzVGVybWluYWxDb2xsYXBzZWQoZmUpe3RoaXMuI2w9ZmV9I2M9KHF0KHRoaXMsRikscXQodGhpcyxqLCExKSk7Z2V0IGlzRmlsZVRyZWVDb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy4jY31zZXQgaXNGaWxlVHJlZUNvbGxhcHNlZChmZSl7dGhpcy4jYz1mZX0jZD0ocXQodGhpcyxHKSxxdCh0aGlzLFIsITApKTtnZXQgaXNJbml0aWFsaXppbmcoKXtyZXR1cm4gdGhpcy4jZH1zZXQgaXNJbml0aWFsaXppbmcoZmUpe3RoaXMuI2Q9ZmV9I3U9KHF0KHRoaXMsVSkscXQodGhpcyxJLCJ0ZXJtaW5hbCIpKTtnZXQgYWN0aXZlQm90dG9tUGFuZWwoKXtyZXR1cm4gdGhpcy4jdX1zZXQgYWN0aXZlQm90dG9tUGFuZWwoZmUpe3RoaXMuI3U9ZmV9I3A9KHF0KHRoaXMscSkscXQodGhpcyx1ZSxbXSkpO2dldCBkaWFnbm9zdGljTWFya2Vycygpe3JldHVybiB0aGlzLiNwfXNldCBkaWFnbm9zdGljTWFya2VycyhmZSl7dGhpcy4jcD1mZX1lZGl0b3JFbGVtZW50PShxdCh0aGlzLFkpLG51bGwpO2luaXRpYWxpemF0aW9uU3RhcnRlZD0hMTtpbnRlbGxpU2Vuc2VNYW5hZ2VyPW51bGw7aW50ZWxsaVNlbnNlSW5pdGlhbGl6ZWQ9ITE7bm9kZU1vZHVsZXNXYXRjaGVyPW51bGw7bm9kZU1vZHVsZXNEZWJvdW5jZVRpbWVvdXQ9bnVsbDtpbnRlbGxpU2Vuc2VEZWJvdW5jZVRpbWVvdXQ9bnVsbDtvcGVuRmlsZVdhdGNoZXJzPW5ldyBNYXA7ZmlsZUNoYW5nZURlYm91bmNlPW5ldyBNYXA7YWN0aW9uYmFyRWxlbWVudD1udWxsOyNmPXF0KHRoaXMsSiwhMSk7Z2V0IGF1dG9TYXZlKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IGF1dG9TYXZlKGZlKXt0aGlzLiNmPWZlfWF1dG9TYXZlSW50ZXJ2YWw9KHF0KHRoaXMsWiksbnVsbCk7I2g9cXQodGhpcyxhZSwiIik7Z2V0IGluaXRDb21tYW5kKCl7cmV0dXJuIHRoaXMuI2h9c2V0IGluaXRDb21tYW5kKGZlKXt0aGlzLiNoPWZlfSNtPShxdCh0aGlzLHJlKSxxdCh0aGlzLFYsW10pKTtnZXQgaW5pdE91dHB1dCgpe3JldHVybiB0aGlzLiNtfXNldCBpbml0T3V0cHV0KGZlKXt0aGlzLiNtPWZlfSNnPShxdCh0aGlzLEgpLHF0KHRoaXMsc2UsMjUwKSk7Z2V0IGN1cnJlbnRGaWxlVHJlZVdpZHRoKCl7cmV0dXJuIHRoaXMuI2d9c2V0IGN1cnJlbnRGaWxlVHJlZVdpZHRoKGZlKXt0aGlzLiNnPWZlfSNiPShxdCh0aGlzLHRlKSxxdCh0aGlzLE9lLDIwMCkpO2dldCBjdXJyZW50VGVybWluYWxIZWlnaHQoKXtyZXR1cm4gdGhpcy4jYn1zZXQgY3VycmVudFRlcm1pbmFsSGVpZ2h0KGZlKXt0aGlzLiNiPWZlfSN2PShxdCh0aGlzLHFlKSxxdCh0aGlzLCRlLCExKSk7Z2V0IGlzRHJhZ2dpbmdGaWxlVHJlZSgpe3JldHVybiB0aGlzLiN2fXNldCBpc0RyYWdnaW5nRmlsZVRyZWUoZmUpe3RoaXMuI3Y9ZmV9I3g9KHF0KHRoaXMsQ2UpLHF0KHRoaXMsZGUsITEpKTtnZXQgaXNEcmFnZ2luZ1Rlcm1pbmFsKCl7cmV0dXJuIHRoaXMuI3h9c2V0IGlzRHJhZ2dpbmdUZXJtaW5hbChmZSl7dGhpcy4jeD1mZX0jeT0ocXQodGhpcyx2ZSkscXQodGhpcyxaZSwhMSkpO2dldCBzaG93RGlmZlZpZXcoKXtyZXR1cm4gdGhpcy4jeX1zZXQgc2hvd0RpZmZWaWV3KGZlKXt0aGlzLiN5PWZlfSN3PShxdCh0aGlzLGx0KSxxdCh0aGlzLFRlLG51bGwpKTtnZXQgZGlmZlZpZXdDb25maWcoKXtyZXR1cm4gdGhpcy4jd31zZXQgZGlmZlZpZXdDb25maWcoZmUpe3RoaXMuI3c9ZmV9a2V5ZG93bkhhbmRsZXI9KHF0KHRoaXMsd2UpLGZlPT57KGZlLm1ldGFLZXl8fGZlLmN0cmxLZXkpJiZmZS5rZXk9PT0icyImJiFmZS5zaGlmdEtleSYmKGZlLnByZXZlbnREZWZhdWx0KCksdGhpcy5zYXZlQWN0aXZlRmlsZSgpKSwoZmUubWV0YUtleXx8ZmUuY3RybEtleSkmJmZlLnNoaWZ0S2V5JiZmZS5rZXkudG9Mb3dlckNhc2UoKT09PSJzIiYmKGZlLnByZXZlbnREZWZhdWx0KCksdGhpcy5zYXZlQWxsRmlsZXMoKSl9KTtoYW5kbGVGaWxlVHJlZU1vdXNlRG93bj1zKGZlPT57ZmUucHJldmVudERlZmF1bHQoKSx0aGlzLmlzRHJhZ2dpbmdGaWxlVHJlZT0hMCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlRmlsZVRyZWVNb3VzZU1vdmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlRmlsZVRyZWVNb3VzZVVwKX0sImhhbmRsZUZpbGVUcmVlTW91c2VEb3duIik7aGFuZGxlRmlsZVRyZWVNb3VzZU1vdmU9cyhmZT0+e2lmKCF0aGlzLmlzRHJhZ2dpbmdGaWxlVHJlZSlyZXR1cm47bGV0IGJlPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksUGU9ZmUuY2xpZW50WC1iZS5sZWZ0LGZ0PTE1MCxtdD1iZS53aWR0aCouNSxOdD1NYXRoLm1heChmdCxNYXRoLm1pbihtdCxQZSkpO3RoaXMuY3VycmVudEZpbGVUcmVlV2lkdGg9TnR9LCJoYW5kbGVGaWxlVHJlZU1vdXNlTW92ZSIpO2hhbmRsZUZpbGVUcmVlTW91c2VVcD1zKCgpPT57dGhpcy5pc0RyYWdnaW5nRmlsZVRyZWU9ITEsZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLmhhbmRsZUZpbGVUcmVlTW91c2VNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLmhhbmRsZUZpbGVUcmVlTW91c2VVcCksd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJyZXNpemUiKSl9LCJoYW5kbGVGaWxlVHJlZU1vdXNlVXAiKTtoYW5kbGVUZXJtaW5hbE1vdXNlRG93bj1zKGZlPT57ZmUucHJldmVudERlZmF1bHQoKSx0aGlzLmlzRHJhZ2dpbmdUZXJtaW5hbD0hMCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZU1vdmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZVVwKX0sImhhbmRsZVRlcm1pbmFsTW91c2VEb3duIik7aGFuZGxlVGVybWluYWxNb3VzZU1vdmU9cyhmZT0+e2lmKCF0aGlzLmlzRHJhZ2dpbmdUZXJtaW5hbClyZXR1cm47bGV0IGJlPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksUGU9ZmUuY2xpZW50WS1iZS50b3AsZnQ9YmUuaGVpZ2h0LVBlLG10PTEwMCxOdD1iZS5oZWlnaHQqLjcsUWE9TWF0aC5tYXgobXQsTWF0aC5taW4oTnQsZnQpKTt0aGlzLmN1cnJlbnRUZXJtaW5hbEhlaWdodD1RYX0sImhhbmRsZVRlcm1pbmFsTW91c2VNb3ZlIik7aGFuZGxlVGVybWluYWxNb3VzZVVwPXMoKCk9Pnt0aGlzLmlzRHJhZ2dpbmdUZXJtaW5hbD0hMSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZU1vdmUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZVVwKSx3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoInJlc2l6ZSIpKX0sImhhbmRsZVRlcm1pbmFsTW91c2VVcCIpO3N0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTYlKSIsImhzbCgwIDAlIDclKSIpfTsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2Utb3V0ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2UtY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAuZWRpdG9yLWFyZWEgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuZmlsZXRyZWUtcGFuZWwgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZmlsZXRyZWUtcGFuZWwuY29sbGFwc2VkIHsKICAgICAgICB3aWR0aDogMCAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuZWRpdG9yLXBhbmVsIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAyMDBweDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLXBhbmVsIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAudGVybWluYWwtcGFuZWwuY29sbGFwc2VkIHsKICAgICAgICBoZWlnaHQ6IDMycHggIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLnBhbmVsLWhlYWRlciB7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSA4JSkiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAucGFuZWwtaGVhZGVyLXRpdGxlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgIH0KCiAgICAgIC5wYW5lbC1oZWFkZXItYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAucGFuZWwtYWN0aW9uIHsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnBhbmVsLWFjdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg4JSkiLCJoc2woMCAwJSAxOCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMzAlKSIsImhzbCgwIDAlIDgwJSkiKX07CiAgICAgIH0KCiAgICAgIC50YWJzLWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk2JSkiLCJoc2woMCAwJSA4JSkiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICB9CgogICAgICAudGFiIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIG1pbi13aWR0aDogMTIwcHg7CiAgICAgICAgbWF4LXdpZHRoOiAyMDBweDsKICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODglKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NCUpIiwiaHNsKDAgMCUgMTAlKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDkyJSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICB9CgogICAgICAudGFiLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjEwIDEwMCUgNTAlKSIsImhzbCgyMTAgMTAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAudGFiLW5hbWUgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAudGFiLWNsb3NlIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAudGFiOmhvdmVyIC50YWItY2xvc2UgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC50YWItY2xvc2U6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjUlKSIpfTsKICAgICAgfQoKICAgICAgLnRhYi1tb2RpZmllZCB7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAudGFicy1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICB9CgogICAgICAuZWRpdG9yLW1lbnUtYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggOHB4OwogICAgICAgIG1hcmdpbi1yaWdodDogNHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMsIGJhY2tncm91bmQgMC4xNXM7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAuZWRpdG9yLW1lbnUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDgpIiwiaHNsKDAgMCUgMTAwJSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1jb250ZW50IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAzMnB4OwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICB9CgogICAgICAucHJvYmxlbXMtY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMzJweDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgfQoKICAgICAgLnBhbmVsLXRhYnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDA7CiAgICAgIH0KCiAgICAgIC5wYW5lbC10YWIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA1NSUpIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnBhbmVsLXRhYjpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAzMCUpIiwiaHNsKDAgMCUgNzUlKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTAlKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgIH0KCiAgICAgIC5wYW5lbC10YWIuYWN0aXZlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDEwMCUgNTAlKSIsImhzbCgyMTAgMTAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAucGFuZWwtdGFiLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG1pbi13aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgcGFkZGluZzogMCA1cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgNTAlKSIsImhzbCgwIDcwJSA0NSUpIil9OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLnBhbmVsLXRhYi1iYWRnZS53YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDQwIDcwJSA1MCUpIiwiaHNsKDQwIDcwJSA0NSUpIil9OwogICAgICB9CgogICAgICAucGFuZWwtdGFiLWJhZGdlLm5vbmUgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtcy1saXN0IHsKICAgICAgICBwYWRkaW5nOiA0cHggMDsKICAgICAgfQoKICAgICAgLnByb2JsZW0taXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAzMCUpIiwiaHNsKDAgMCUgODAlKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZTsKICAgICAgfQoKICAgICAgLnByb2JsZW0taXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICB9CgogICAgICAucHJvYmxlbS1pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtLWljb24uZXJyb3IgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgNzAlIDUwJSkiLCJoc2woMCA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLnByb2JsZW0taWNvbi53YXJuaW5nIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCg0MCA3MCUgNTAlKSIsImhzbCg0MCA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLnByb2JsZW0tZGV0YWlscyB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtLW1lc3NhZ2UgewogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtLWxvY2F0aW9uIHsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDU1JSkiKX07CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtcy1lbXB0eSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTUlKSIsImhzbCgwIDAlIDUwJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA1MCUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICBmcm9tIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0KICAgICAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0KICAgICAgfQoKICAgICAgLmluaXRpYWxpemluZyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmluaXRpYWxpemluZyBkZWVzLWljb24gewogICAgICAgIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIC5pbml0aWFsaXppbmcgZGVlcy13b3Jrc3BhY2UtdGVybWluYWwtcHJldmlldyB7CiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsKICAgICAgICB3aWR0aDogODAlOwogICAgICAgIG1heC13aWR0aDogNjAwcHg7CiAgICAgICAgaGVpZ2h0OiAyMDBweDsKICAgICAgfQoKICAgICAgZGVlcy13b3Jrc3BhY2UtZmlsZXRyZWUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgIH0KCiAgICAgIGRlZXMtd29ya3NwYWNlLW1vbmFjbyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgfQoKICAgICAgZGVlcy13b3Jrc3BhY2UtdGVybWluYWwgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC8qIFJlc2l6ZSBoYW5kbGVzICovCiAgICAgIC5yZXNpemUtaGFuZGxlLXZlcnRpY2FsIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICAgIGN1cnNvcjogY29sLXJlc2l6ZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHotaW5kZXg6IDEwOwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZS12ZXJ0aWNhbDpob3ZlciwKICAgICAgLnJlc2l6ZS1oYW5kbGUtdmVydGljYWwuZHJhZ2dpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzU4YTZmZiIpfTsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUtdmVydGljYWw6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgbGVmdDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgICAgIHdpZHRoOiAycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZlNzY4MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLXZlcnRpY2FsOmhvdmVyOjphZnRlciwKICAgICAgLnJlc2l6ZS1oYW5kbGUtdmVydGljYWwuZHJhZ2dpbmc6OmFmdGVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiI2ZmZmZmZiIpfTsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUtaG9yaXpvbnRhbCB7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgY3Vyc29yOiByb3ctcmVzaXplOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLWhvcml6b250YWw6aG92ZXIsCiAgICAgIC5yZXNpemUtaGFuZGxlLWhvcml6b250YWwuZHJhZ2dpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzU4YTZmZiIpfTsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUtaG9yaXpvbnRhbDo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmU3NjgxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDFweDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUtaG9yaXpvbnRhbDpob3Zlcjo6YWZ0ZXIsCiAgICAgIC5yZXNpemUtaGFuZGxlLWhvcml6b250YWwuZHJhZ2dpbmc6OmFmdGVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiI2ZmZmZmZiIpfTsKICAgICAgfQoKICAgICAgLyogUHJldmVudCB0ZXh0IHNlbGVjdGlvbiB3aGlsZSBkcmFnZ2luZyAqLwogICAgICAud29ya3NwYWNlLWNvbnRhaW5lci5kcmFnZ2luZyB7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2UtY29udGFpbmVyLmRyYWdnaW5nIC5maWxldHJlZS1wYW5lbCwKICAgICAgLndvcmtzcGFjZS1jb250YWluZXIuZHJhZ2dpbmcgLmVkaXRvci1wYW5lbCwKICAgICAgLndvcmtzcGFjZS1jb250YWluZXIuZHJhZ2dpbmcgLnRlcm1pbmFsLXBhbmVsIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgIGBdO3JlbmRlcigpe2xldCBmZT1bIndvcmtzcGFjZS1jb250YWluZXIiLHRoaXMuaXNEcmFnZ2luZ0ZpbGVUcmVlfHx0aGlzLmlzRHJhZ2dpbmdUZXJtaW5hbD8iZHJhZ2dpbmciOiIiXS5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpO3JldHVybiB0aGlzLmlzSW5pdGlhbGl6aW5nP3dgCiAgICAgICAgPGRpdiBjbGFzcz0iaW5pdGlhbGl6aW5nIj4KICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmxvYWRlcjIifSBpY29uU2l6ZT0iMzIiPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+SW5pdGlhbGl6aW5nIHdvcmtzcGFjZS4uLjwvc3Bhbj4KICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbC1wcmV2aWV3CiAgICAgICAgICAgIC5jb21tYW5kPSR7dGhpcy5pbml0Q29tbWFuZHx8IiJ9CiAgICAgICAgICAgIC5saW5lcz0ke3RoaXMuaW5pdE91dHB1dH0KICAgICAgICAgID48L2RlZXMtd29ya3NwYWNlLXRlcm1pbmFsLXByZXZpZXc+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6d2AKICAgICAgPGRpdiBjbGFzcz0id29ya3NwYWNlLW91dGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSIke2ZlfSI+CiAgICAgICAgICA8IS0tIEZpbGV0cmVlIHBhbmVsIChmdWxsIGhlaWdodCkgLS0+CiAgICAgICAgICAke3RoaXMuc2hvd0ZpbGVUcmVlP3dgCiAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICBjbGFzcz0iZmlsZXRyZWUtcGFuZWwgJHt0aGlzLmlzRmlsZVRyZWVDb2xsYXBzZWQ/ImNvbGxhcHNlZCI6IiJ9IgogICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogJHt0aGlzLmlzRmlsZVRyZWVDb2xsYXBzZWQ/MDp0aGlzLmN1cnJlbnRGaWxlVHJlZVdpZHRofXB4IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGRlZXMtd29ya3NwYWNlLWZpbGV0cmVlCiAgICAgICAgICAgICAgICAuZXhlY3V0aW9uRW52aXJvbm1lbnQ9JHt0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fQogICAgICAgICAgICAgICAgLnNlbGVjdGVkUGF0aD0ke3RoaXMuYWN0aXZlRmlsZVBhdGh9CiAgICAgICAgICAgICAgICBAZmlsZS1zZWxlY3Q9JHt0aGlzLmhhbmRsZUZpbGVTZWxlY3R9CiAgICAgICAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtZmlsZXRyZWU+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAke3RoaXMuaXNGaWxlVHJlZUNvbGxhcHNlZD8iIjp3YAogICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSJyZXNpemUtaGFuZGxlLXZlcnRpY2FsICR7dGhpcy5pc0RyYWdnaW5nRmlsZVRyZWU/ImRyYWdnaW5nIjoiIn0iCiAgICAgICAgICAgICAgICBAbW91c2Vkb3duPSR7dGhpcy5oYW5kbGVGaWxlVHJlZU1vdXNlRG93bn0KICAgICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICAgIGB9CiAgICAgICAgICBgOiIifQoKICAgICAgICAgIDwhLS0gRWRpdG9yICsgVGVybWluYWwgYXJlYSAtLT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImVkaXRvci1hcmVhIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yLXBhbmVsIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJzLWJhciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJzLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5vcGVuRmlsZXMubWFwKGJlPT53YAogICAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0YWIgJHtiZS5wYXRoPT09dGhpcy5hY3RpdmVGaWxlUGF0aD8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5hY3RpdmF0ZUZpbGUoYmUucGF0aCl9CiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgJHtiZS5tb2RpZmllZD93YDxzcGFuIGNsYXNzPSJ0YWItbW9kaWZpZWQiPjwvc3Bhbj5gOiIifQogICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhYi1uYW1lIj4ke2JlLm5hbWV9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhYi1jbG9zZSIgQGNsaWNrPSR7UGU9PnRoaXMuY2xvc2VGaWxlKFBlLGJlLnBhdGgpfT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6eCJ9IGljb25TaXplPSIxMiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlZGl0b3ItbWVudS1idXR0b24iIEBjbGljaz0ke3RoaXMuc2hvd0VkaXRvck1lbnV9IHRpdGxlPSJFZGl0b3Igb3B0aW9ucyI+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOm1vcmVWZXJ0aWNhbCJ9IGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlZGl0b3ItY29udGVudCI+CiAgICAgICAgICAgICAgICAke3RoaXMuc2hvd0RpZmZWaWV3JiZ0aGlzLmRpZmZWaWV3Q29uZmlnP3dgCiAgICAgICAgICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS1kaWZmLWVkaXRvcgogICAgICAgICAgICAgICAgICAgIC5maWxlUGF0aD0ke3RoaXMuZGlmZlZpZXdDb25maWcuZmlsZVBhdGh9CiAgICAgICAgICAgICAgICAgICAgLm9yaWdpbmFsQ29udGVudD0ke3RoaXMuZGlmZlZpZXdDb25maWcub3JpZ2luYWxDb250ZW50fQogICAgICAgICAgICAgICAgICAgIC5tb2RpZmllZENvbnRlbnQ9JHt0aGlzLmRpZmZWaWV3Q29uZmlnLm1vZGlmaWVkQ29udGVudH0KICAgICAgICAgICAgICAgICAgICAubGFuZ3VhZ2U9JHt0aGlzLmRpZmZWaWV3Q29uZmlnLmxhbmd1YWdlfQogICAgICAgICAgICAgICAgICAgIEBkaWZmLXJlc29sdmVkPSR7dGhpcy5oYW5kbGVEaWZmUmVzb2x2ZWR9CiAgICAgICAgICAgICAgICAgICAgQGRpZmYtY2xvc2VkPSR7KCk9Pnt0aGlzLnNob3dEaWZmVmlldz0hMSx0aGlzLmRpZmZWaWV3Q29uZmlnPW51bGx9fQogICAgICAgICAgICAgICAgICA+PC9kZWVzLXdvcmtzcGFjZS1kaWZmLWVkaXRvcj4KICAgICAgICAgICAgICAgIGA6dGhpcy5vcGVuRmlsZXMubGVuZ3RoPT09MD93YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+CiAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6ZmlsZUNvZGUifSBpY29uU2l6ZT0iNDgiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPlNlbGVjdCBhIGZpbGUgdG8gZWRpdDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tb25hY28KICAgICAgICAgICAgICAgICAgICAuZmlsZVBhdGg9JHt0aGlzLmFjdGl2ZUZpbGVQYXRofQogICAgICAgICAgICAgICAgICAgIC5jb250ZW50PSR7dGhpcy5nZXRBY3RpdmVGaWxlQ29udGVudCgpfQogICAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZT0ke3RoaXMuZ2V0TGFuZ3VhZ2VGcm9tUGF0aCh0aGlzLmFjdGl2ZUZpbGVQYXRoKX0KICAgICAgICAgICAgICAgICAgICBAY29udGVudC1jaGFuZ2U9JHt0aGlzLmhhbmRsZUNvbnRlbnRDaGFuZ2V9CiAgICAgICAgICAgICAgICAgID48L2RlZXMtd29ya3NwYWNlLW1vbmFjbz4KICAgICAgICAgICAgICAgIGB9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRlZXMtYWN0aW9uYmFyPjwvZGVlcy1hY3Rpb25iYXI+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPCEtLSBIb3Jpem9udGFsIHJlc2l6ZSBoYW5kbGUgZm9yIHRlcm1pbmFsIC0tPgogICAgICAgICAgICAke3RoaXMuc2hvd1Rlcm1pbmFsJiYhdGhpcy5pc1Rlcm1pbmFsQ29sbGFwc2VkP3dgCiAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9InJlc2l6ZS1oYW5kbGUtaG9yaXpvbnRhbCAke3RoaXMuaXNEcmFnZ2luZ1Rlcm1pbmFsPyJkcmFnZ2luZyI6IiJ9IgogICAgICAgICAgICAgICAgQG1vdXNlZG93bj0ke3RoaXMuaGFuZGxlVGVybWluYWxNb3VzZURvd259CiAgICAgICAgICAgICAgPjwvZGl2PgogICAgICAgICAgICBgOiIifQoKICAgICAgICAgICAgPCEtLSBUZXJtaW5hbCBwYW5lbCAtLT4KICAgICAgICAgICAgJHt0aGlzLnNob3dUZXJtaW5hbD93YAogICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSJ0ZXJtaW5hbC1wYW5lbCAke3RoaXMuaXNUZXJtaW5hbENvbGxhcHNlZD8iY29sbGFwc2VkIjoiIn0iCiAgICAgICAgICAgICAgICBzdHlsZT0iaGVpZ2h0OiAke3RoaXMuaXNUZXJtaW5hbENvbGxhcHNlZD8zMjp0aGlzLmN1cnJlbnRUZXJtaW5hbEhlaWdodH1weCIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1oZWFkZXIiPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC10YWJzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icGFuZWwtdGFiICR7dGhpcy5hY3RpdmVCb3R0b21QYW5lbD09PSJ0ZXJtaW5hbCI/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuYWN0aXZlQm90dG9tUGFuZWw9InRlcm1pbmFsIn0KICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTp0ZXJtaW5hbCJ9IGljb25TaXplPSIxNCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgICBUZXJtaW5hbAogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwYW5lbC10YWIgJHt0aGlzLmFjdGl2ZUJvdHRvbVBhbmVsPT09InByb2JsZW1zIj8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5hY3RpdmVCb3R0b21QYW5lbD0icHJvYmxlbXMifQogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmNpcmNsZUFsZXJ0In0gaWNvblNpemU9IjE0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICAgIFByb2JsZW1zCiAgICAgICAgICAgICAgICAgICAgICAke3RoaXMuZGlhZ25vc3RpY01hcmtlcnMubGVuZ3RoPjA/d2AKICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBhbmVsLXRhYi1iYWRnZSAke3RoaXMuZ2V0RXJyb3JDb3VudCgpPT09MD8id2FybmluZyI6IiJ9Ij4ke3RoaXMuZGlhZ25vc3RpY01hcmtlcnMubGVuZ3RofTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1oZWFkZXItYWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtYWN0aW9uIiBAY2xpY2s9JHt0aGlzLnRvZ2dsZVRlcm1pbmFsfT4KICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24KICAgICAgICAgICAgICAgICAgICAgICAgLmljb249JHt0aGlzLmlzVGVybWluYWxDb2xsYXBzZWQ/Imx1Y2lkZTpjaGV2cm9uVXAiOiJsdWNpZGU6Y2hldnJvbkRvd24ifQogICAgICAgICAgICAgICAgICAgICAgICBpY29uU2l6ZT0iMTQiCiAgICAgICAgICAgICAgICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXJtaW5hbC1jb250ZW50IiBzdHlsZT0iZGlzcGxheTogJHt0aGlzLmFjdGl2ZUJvdHRvbVBhbmVsPT09InRlcm1pbmFsIj8iYmxvY2siOiJub25lIn0iPgogICAgICAgICAgICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtdGVybWluYWwKICAgICAgICAgICAgICAgICAgICAuZXhlY3V0aW9uRW52aXJvbm1lbnQ9JHt0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fQogICAgICAgICAgICAgICAgICAgIC5zZXR1cENvbW1hbmQ9JHsiIn0KICAgICAgICAgICAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtdGVybWluYWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2JsZW1zLWNvbnRlbnQiIHN0eWxlPSJkaXNwbGF5OiAke3RoaXMuYWN0aXZlQm90dG9tUGFuZWw9PT0icHJvYmxlbXMiPyJibG9jayI6Im5vbmUifSI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5yZW5kZXJQcm9ibGVtc1BhbmVsKCl9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIEJvdHRvbSBCYXIgKGZ1bGwgd2lkdGgpIC0tPgogICAgICAgIDxkZWVzLXdvcmtzcGFjZS1ib3R0b21iYXIKICAgICAgICAgIC5leGVjdXRpb25FbnZpcm9ubWVudD0ke3RoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR9CiAgICAgICAgICBAcnVuLXByb2Nlc3M9JHt0aGlzLmhhbmRsZVJ1blByb2Nlc3N9CiAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtYm90dG9tYmFyPgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMua2V5ZG93bkhhbmRsZXIpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLmtleWRvd25IYW5kbGVyKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlRmlsZVRyZWVNb3VzZU1vdmUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlRmlsZVRyZWVNb3VzZVVwKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZU1vdmUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZVVwKSx0aGlzLmF1dG9TYXZlSW50ZXJ2YWwmJihjbGVhckludGVydmFsKHRoaXMuYXV0b1NhdmVJbnRlcnZhbCksdGhpcy5hdXRvU2F2ZUludGVydmFsPW51bGwpLHRoaXMuc3RvcE5vZGVNb2R1bGVzV2F0Y2hlcigpLHRoaXMuc3RvcEFsbEZpbGVXYXRjaGVycygpfWFzeW5jIGZpcnN0VXBkYXRlZCgpe3RoaXMuY3VycmVudEZpbGVUcmVlV2lkdGg9dGhpcy5maWxlVHJlZVdpZHRoLHRoaXMuY3VycmVudFRlcm1pbmFsSGVpZ2h0PXRoaXMudGVybWluYWxIZWlnaHQsdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCYmYXdhaXQgdGhpcy5pbml0aWFsaXplV29ya3NwYWNlKCl9YXN5bmMgdXBkYXRlZChmZSl7ZmUuaGFzKCJleGVjdXRpb25FbnZpcm9ubWVudCIpJiZ0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50JiZhd2FpdCB0aGlzLmluaXRpYWxpemVXb3Jrc3BhY2UoKSx0aGlzLmFjdGlvbmJhckVsZW1lbnR8fCh0aGlzLmFjdGlvbmJhckVsZW1lbnQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZWRpdG9yLXBhbmVsIGRlZXMtYWN0aW9uYmFyIikpfWFzeW5jIGluaXRpYWxpemVXb3Jrc3BhY2UoKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50JiYhdGhpcy5pbml0aWFsaXphdGlvblN0YXJ0ZWQpe3RoaXMuaW5pdGlhbGl6YXRpb25TdGFydGVkPSEwLHRoaXMuaXNJbml0aWFsaXppbmc9ITA7dHJ5e3RoaXMuaW5pdGlhbGl6YXRpb25Qcm9taXNlP2F3YWl0IHRoaXMuaW5pdGlhbGl6YXRpb25Qcm9taXNlOnRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZHl8fGF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuaW5pdCgpLGF3YWl0IHRoaXMuZXhlY3V0ZU9uSW5pdENvbW1hbmQoKX1jYXRjaChmZSl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGluaXRpYWxpemUgd29ya3NwYWNlOiIsZmUpLHRoaXMuaW5pdGlhbGl6YXRpb25TdGFydGVkPSExfWZpbmFsbHl7dGhpcy5pc0luaXRpYWxpemluZz0hMX19fWFzeW5jIGV4ZWN1dGVPbkluaXRDb21tYW5kKCl7aWYodGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCl0cnl7aWYoYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5leGlzdHMoIi9ucG1leHRyYS5qc29uIikpe2xldCBmZT1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWRGaWxlKCIvbnBtZXh0cmEuanNvbiIpLFBlPUpTT04ucGFyc2UoZmUpPy5kZWVzRWRpdG9yV29ya3NwYWNlPy5vbkluaXQ7aWYoUGUmJnR5cGVvZiBQZT09InN0cmluZyIpe2NvbnNvbGUubG9nKCJFeGVjdXRpbmcgb25Jbml0IGNvbW1hbmQ6IixQZSksdGhpcy5pbml0Q29tbWFuZD1QZSx0aGlzLmluaXRPdXRwdXQ9W107bGV0W2Z0LC4uLm10XT1QZS5zcGxpdCgiICIpLE50PWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuc3Bhd24oZnQsbXQpO050Lm91dHB1dC5waXBlVG8obmV3IFdyaXRhYmxlU3RyZWFtKHt3cml0ZTpzKGVyPT57bGV0IHlzPWVyLnNwbGl0KGAKYCk7Zm9yKGxldCBqZSBvZiB5cylqZSYmKHRoaXMuaW5pdE91dHB1dD1bLi4udGhpcy5pbml0T3V0cHV0LGplXSl9LCJ3cml0ZSIpfSkpO2xldCBRYT1hd2FpdCBOdC5leGl0O2NvbnNvbGUubG9nKCJvbkluaXQgY29tbWFuZCBjb21wbGV0ZWQgd2l0aCBleGl0IGNvZGU6IixRYSksdGhpcy5pbml0T3V0cHV0PVsuLi50aGlzLmluaXRPdXRwdXQsIiIsYENvbW1hbmQgY29tcGxldGVkIHdpdGggZXhpdCBjb2RlOiAke1FhfWBdfX19Y2F0Y2goZmUpe2NvbnNvbGUud2FybigiRmFpbGVkIHRvIGV4ZWN1dGUgb25Jbml0IGNvbW1hbmQ6IixmZSl9fWFzeW5jIGluaXRpYWxpemVJbnRlbGxpU2Vuc2UoKXtpZighdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudHx8dGhpcy5pbnRlbGxpU2Vuc2VJbml0aWFsaXplZClyZXR1cm47bGV0IGZlPXdpbmRvdy5tb25hY287aWYoZmV8fChhd2FpdCBuZXcgUHJvbWlzZShiZT0+c2V0VGltZW91dChiZSwxMDApKSxmZT13aW5kb3cubW9uYWNvKSwhZmUpe2NvbnNvbGUud2FybigiTW9uYWNvIG5vdCB5ZXQgbG9hZGVkLCBJbnRlbGxpU2Vuc2Ugd2lsbCBiZSBpbml0aWFsaXplZCBsYXRlciIpO3JldHVybn10aGlzLmludGVsbGlTZW5zZUluaXRpYWxpemVkPSEwLHRoaXMuaW50ZWxsaVNlbnNlTWFuYWdlcj1uZXcgdkcsYXdhaXQgdGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyLmluaXQoZmUsdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCksdGhpcy5zZXR1cE1hcmtlckxpc3RlbmVyKCksdGhpcy5zdGFydE5vZGVNb2R1bGVzV2F0Y2hlcigpLGF3YWl0IHRoaXMuaW50ZWxsaVNlbnNlTWFuYWdlci5zY2FuQW5kTG9hZE5ld1BhY2thZ2VUeXBlcygpfXN0YXJ0Tm9kZU1vZHVsZXNXYXRjaGVyKCl7aWYoISghdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudHx8dGhpcy5ub2RlTW9kdWxlc1dhdGNoZXIpKXRyeXt0aGlzLm5vZGVNb2R1bGVzV2F0Y2hlcj10aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndhdGNoKCIvbm9kZV9tb2R1bGVzIiwoZmUsYmUpPT57dGhpcy5ub2RlTW9kdWxlc0RlYm91bmNlVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMubm9kZU1vZHVsZXNEZWJvdW5jZVRpbWVvdXQpLHRoaXMubm9kZU1vZHVsZXNEZWJvdW5jZVRpbWVvdXQ9c2V0VGltZW91dChhc3luYygpPT57dGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyJiZhd2FpdCB0aGlzLmludGVsbGlTZW5zZU1hbmFnZXIuc2NhbkFuZExvYWROZXdQYWNrYWdlVHlwZXMoKX0sMmUzKX0se3JlY3Vyc2l2ZTohMH0pfWNhdGNoKGZlKXtjb25zb2xlLndhcm4oIkNvdWxkIG5vdCB3YXRjaCBub2RlX21vZHVsZXM6IixmZSl9fXN0b3BOb2RlTW9kdWxlc1dhdGNoZXIoKXt0aGlzLm5vZGVNb2R1bGVzV2F0Y2hlciYmKHRoaXMubm9kZU1vZHVsZXNXYXRjaGVyLnN0b3AoKSx0aGlzLm5vZGVNb2R1bGVzV2F0Y2hlcj1udWxsKSx0aGlzLm5vZGVNb2R1bGVzRGVib3VuY2VUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMubm9kZU1vZHVsZXNEZWJvdW5jZVRpbWVvdXQpLHRoaXMubm9kZU1vZHVsZXNEZWJvdW5jZVRpbWVvdXQ9bnVsbCl9c3RhcnRXYXRjaGluZ0ZpbGUoZmUpe2lmKCEoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR8fHRoaXMub3BlbkZpbGVXYXRjaGVycy5oYXMoZmUpKSl0cnl7bGV0IGJlPXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud2F0Y2goZmUsKFBlLGZ0KT0+e2xldCBtdD10aGlzLmZpbGVDaGFuZ2VEZWJvdW5jZS5nZXQoZmUpO210JiZjbGVhclRpbWVvdXQobXQpO2xldCBOdD1zZXRUaW1lb3V0KCgpPT57dGhpcy5oYW5kbGVFeHRlcm5hbEZpbGVDaGFuZ2UoZmUpLHRoaXMuZmlsZUNoYW5nZURlYm91bmNlLmRlbGV0ZShmZSl9LDMwMCk7dGhpcy5maWxlQ2hhbmdlRGVib3VuY2Uuc2V0KGZlLE50KX0pO3RoaXMub3BlbkZpbGVXYXRjaGVycy5zZXQoZmUsYmUpfWNhdGNoKGJlKXtjb25zb2xlLndhcm4oYENvdWxkIG5vdCB3YXRjaCBmaWxlICR7ZmV9OmAsYmUpfX1zdG9wV2F0Y2hpbmdGaWxlKGZlKXtsZXQgYmU9dGhpcy5vcGVuRmlsZVdhdGNoZXJzLmdldChmZSk7YmUmJihiZS5zdG9wKCksdGhpcy5vcGVuRmlsZVdhdGNoZXJzLmRlbGV0ZShmZSkpO2xldCBQZT10aGlzLmZpbGVDaGFuZ2VEZWJvdW5jZS5nZXQoZmUpO1BlJiYoY2xlYXJUaW1lb3V0KFBlKSx0aGlzLmZpbGVDaGFuZ2VEZWJvdW5jZS5kZWxldGUoZmUpKX1zdG9wQWxsRmlsZVdhdGNoZXJzKCl7Zm9yKGxldCBmZSBvZiB0aGlzLm9wZW5GaWxlV2F0Y2hlcnMudmFsdWVzKCkpZmUuc3RvcCgpO3RoaXMub3BlbkZpbGVXYXRjaGVycy5jbGVhcigpO2ZvcihsZXQgZmUgb2YgdGhpcy5maWxlQ2hhbmdlRGVib3VuY2UudmFsdWVzKCkpY2xlYXJUaW1lb3V0KGZlKTt0aGlzLmZpbGVDaGFuZ2VEZWJvdW5jZS5jbGVhcigpfWFzeW5jIGhhbmRsZUV4dGVybmFsRmlsZUNoYW5nZShmZSl7bGV0IGJlPXRoaXMub3BlbkZpbGVzLmZpbmQoUGU9PlBlLnBhdGg9PT1mZSk7aWYoISghYmV8fCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KSl0cnl7bGV0IFBlPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUoZmUpO2lmKFBlPT09YmUuY29udGVudClyZXR1cm47aWYoYmUubW9kaWZpZWQpe2xldCBmdD1hd2FpdCB0aGlzLmFjdGlvbmJhckVsZW1lbnQ/LnNob3coe21lc3NhZ2U6YCIke2JlLm5hbWV9IiBjaGFuZ2VkIG9uIGRpc2suIFdoYXQgZG8geW91IHdhbnQgdG8gZG8/YCx0eXBlOiJxdWVzdGlvbiIsaWNvbjoibHVjaWRlOmdpdE1lcmdlIixhY3Rpb25zOlt7aWQ6ImxvYWQtZGlzayIsbGFiZWw6IkxvYWQgZnJvbSBEaXNrIixwcmltYXJ5OiEwfSx7aWQ6InNhdmUtbG9jYWwiLGxhYmVsOiJTYXZlIExvY2FsIHRvIERpc2sifSx7aWQ6ImNvbXBhcmUiLGxhYmVsOiJDb21wYXJlIn1dLHRpbWVvdXQ6e2R1cmF0aW9uOjE1ZTMsZGVmYXVsdEFjdGlvbklkOiJsb2FkLWRpc2sifSxkaXNtaXNzaWJsZTohMH0pO2Z0Py5hY3Rpb25JZD09PSJsb2FkLWRpc2siP2F3YWl0IHRoaXMudXBkYXRlRmlsZUNvbnRlbnQoZmUsUGUsITEpOmZ0Py5hY3Rpb25JZD09PSJzYXZlLWxvY2FsIj8oYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC53cml0ZUZpbGUoZmUsYmUuY29udGVudCksdGhpcy5vcGVuRmlsZXM9dGhpcy5vcGVuRmlsZXMubWFwKG10PT5tdC5wYXRoPT09ZmU/ey4uLm10LG1vZGlmaWVkOiExfTptdCkpOmZ0Py5hY3Rpb25JZD09PSJjb21wYXJlIiYmdGhpcy5vcGVuRGlmZlZpZXcoZmUsYmUuY29udGVudCxQZSl9ZWxzZSBhd2FpdCB0aGlzLnVwZGF0ZUZpbGVDb250ZW50KGZlLFBlLCEwKX1jYXRjaChQZSl7Y29uc29sZS53YXJuKGBGYWlsZWQgdG8gaGFuZGxlIGV4dGVybmFsIGNoYW5nZSBmb3IgJHtmZX06YCxQZSl9fWFzeW5jIHVwZGF0ZUZpbGVDb250ZW50KGZlLGJlLFBlKXtpZih0aGlzLm9wZW5GaWxlcz10aGlzLm9wZW5GaWxlcy5tYXAoZnQ9PmZ0LnBhdGg9PT1mZT97Li4uZnQsY29udGVudDpiZSxtb2RpZmllZDohMX06ZnQpLGZlPT09dGhpcy5hY3RpdmVGaWxlUGF0aCl7bGV0IGZ0PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy13b3Jrc3BhY2UtbW9uYWNvIik7ZnQmJmF3YWl0IGZ0LnNldENvbnRlbnRFeHRlcm5hbChiZSxQZSl9fW9wZW5EaWZmVmlldyhmZSxiZSxQZSl7dGhpcy5kaWZmVmlld0NvbmZpZz17ZmlsZVBhdGg6ZmUsb3JpZ2luYWxDb250ZW50OlBlLG1vZGlmaWVkQ29udGVudDpiZSxsYW5ndWFnZTp0aGlzLmdldExhbmd1YWdlRnJvbVBhdGgoZmUpfSx0aGlzLnNob3dEaWZmVmlldz0hMH1hc3luYyBoYW5kbGVEaWZmUmVzb2x2ZWQoZmUpe2xldHthY3Rpb246YmUsY29udGVudDpQZX09ZmUuZGV0YWlsLGZ0PXRoaXMuZGlmZlZpZXdDb25maWc/LmZpbGVQYXRoO2lmKCFmdHx8IXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpe3RoaXMuc2hvd0RpZmZWaWV3PSExLHRoaXMuZGlmZlZpZXdDb25maWc9bnVsbDtyZXR1cm59aWYoYmU9PT0idXNlLWxvY2FsIil7aWYoYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC53cml0ZUZpbGUoZnQsUGUpLHRoaXMub3BlbkZpbGVzPXRoaXMub3BlbkZpbGVzLm1hcChtdD0+bXQucGF0aD09PWZ0P3suLi5tdCxjb250ZW50OlBlLG1vZGlmaWVkOiExfTptdCksZnQ9PT10aGlzLmFjdGl2ZUZpbGVQYXRoKXtsZXQgbXQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tb25hY28iKTttdCYmYXdhaXQgbXQuc2V0Q29udGVudEV4dGVybmFsKFBlLCExKX19ZWxzZSBiZT09PSJ1c2UtZGlzayImJmF3YWl0IHRoaXMudXBkYXRlRmlsZUNvbnRlbnQoZnQsUGUsITEpO3RoaXMuc2hvd0RpZmZWaWV3PSExLHRoaXMuZGlmZlZpZXdDb25maWc9bnVsbH1hc3luYyBoYW5kbGVGaWxlU2VsZWN0KGZlKXtsZXR7cGF0aDpiZSxuYW1lOlBlfT1mZS5kZXRhaWw7YXdhaXQgdGhpcy5vcGVuRmlsZShiZSxQZSl9YXN5bmMgb3BlbkZpbGUoZmUsYmUpe2lmKHRoaXMub3BlbkZpbGVzLmZpbmQoZnQ9PmZ0LnBhdGg9PT1mZSkpe3RoaXMuYWN0aXZlRmlsZVBhdGg9ZmU7cmV0dXJufWlmKHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpdHJ5e2xldCBmdD1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWRGaWxlKGZlKTtpZih0aGlzLm9wZW5GaWxlcz1bLi4udGhpcy5vcGVuRmlsZXMse3BhdGg6ZmUsbmFtZTpiZSxjb250ZW50OmZ0LG1vZGlmaWVkOiExfV0sdGhpcy5hY3RpdmVGaWxlUGF0aD1mZSx0aGlzLnN0YXJ0V2F0Y2hpbmdGaWxlKGZlKSwhdGhpcy5pbnRlbGxpU2Vuc2VJbml0aWFsaXplZCl7YXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSxhd2FpdCBuZXcgUHJvbWlzZShOdD0+c2V0VGltZW91dChOdCw1MDApKSxhd2FpdCB0aGlzLmluaXRpYWxpemVJbnRlbGxpU2Vuc2UoKTtsZXQgbXQ9dGhpcy5nZXRMYW5ndWFnZUZyb21QYXRoKGZlKTt0aGlzLmludGVsbGlTZW5zZU1hbmFnZXImJihtdD09PSJ0eXBlc2NyaXB0Inx8bXQ9PT0iamF2YXNjcmlwdCIpJiZhd2FpdCB0aGlzLmludGVsbGlTZW5zZU1hbmFnZXIucHJvY2Vzc0NvbnRlbnRDaGFuZ2UoZnQpfX1jYXRjaChmdCl7Y29uc29sZS5lcnJvcihgRmFpbGVkIHRvIG9wZW4gZmlsZSAke2ZlfTpgLGZ0KX19YWN0aXZhdGVGaWxlKGZlKXt0aGlzLmFjdGl2ZUZpbGVQYXRoPWZlfWNsb3NlRmlsZShmZSxiZSl7ZmUuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IFBlPXRoaXMub3BlbkZpbGVzLmZpbmRJbmRleChtdD0+bXQucGF0aD09PWJlKTtpZihQZT09PS0xKXJldHVybjtsZXQgZnQ9dGhpcy5vcGVuRmlsZXNbUGVdO2lmKCEoZnQubW9kaWZpZWQmJiFjb25maXJtKGAke2Z0Lm5hbWV9IGhhcyB1bnNhdmVkIGNoYW5nZXMuIENsb3NlIGFueXdheT9gKSkmJih0aGlzLnN0b3BXYXRjaGluZ0ZpbGUoYmUpLHRoaXMub3BlbkZpbGVzPXRoaXMub3BlbkZpbGVzLmZpbHRlcihtdD0+bXQucGF0aCE9PWJlKSx0aGlzLmFjdGl2ZUZpbGVQYXRoPT09YmUpKWlmKHRoaXMub3BlbkZpbGVzLmxlbmd0aD4wKXtsZXQgbXQ9TWF0aC5taW4oUGUsdGhpcy5vcGVuRmlsZXMubGVuZ3RoLTEpO3RoaXMuYWN0aXZlRmlsZVBhdGg9dGhpcy5vcGVuRmlsZXNbbXRdLnBhdGh9ZWxzZSB0aGlzLmFjdGl2ZUZpbGVQYXRoPSIifWdldEFjdGl2ZUZpbGVDb250ZW50KCl7cmV0dXJuIHRoaXMub3BlbkZpbGVzLmZpbmQoYmU9PmJlLnBhdGg9PT10aGlzLmFjdGl2ZUZpbGVQYXRoKT8uY29udGVudHx8IiJ9aGFuZGxlQ29udGVudENoYW5nZShmZSl7bGV0IGJlPWZlLmRldGFpbCxQZT10aGlzLm9wZW5GaWxlcy5maW5kSW5kZXgobXQ9Pm10LnBhdGg9PT10aGlzLmFjdGl2ZUZpbGVQYXRoKTtpZihQZT09PS0xKXJldHVybjtsZXQgZnQ9dGhpcy5vcGVuRmlsZXNbUGVdO2lmKGZ0LmNvbnRlbnQhPT1iZSl7dGhpcy5vcGVuRmlsZXM9Wy4uLnRoaXMub3BlbkZpbGVzLnNsaWNlKDAsUGUpLHsuLi5mdCxjb250ZW50OmJlLG1vZGlmaWVkOiEwfSwuLi50aGlzLm9wZW5GaWxlcy5zbGljZShQZSsxKV07bGV0IG10PXRoaXMuZ2V0TGFuZ3VhZ2VGcm9tUGF0aCh0aGlzLmFjdGl2ZUZpbGVQYXRoKTt0aGlzLmludGVsbGlTZW5zZU1hbmFnZXImJihtdD09PSJ0eXBlc2NyaXB0Inx8bXQ9PT0iamF2YXNjcmlwdCIpJiYodGhpcy5pbnRlbGxpU2Vuc2VEZWJvdW5jZVRpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLmludGVsbGlTZW5zZURlYm91bmNlVGltZW91dCksdGhpcy5pbnRlbGxpU2Vuc2VEZWJvdW5jZVRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuaW50ZWxsaVNlbnNlTWFuYWdlcj8ucHJvY2Vzc0NvbnRlbnRDaGFuZ2UoYmUpfSw1MDApKX19Z2V0TGFuZ3VhZ2VGcm9tUGF0aChmZSl7bGV0IGJlPWZlLnNwbGl0KCIuIikucG9wKCk/LnRvTG93ZXJDYXNlKCk7cmV0dXJue3RzOiJ0eXBlc2NyaXB0Iix0c3g6InR5cGVzY3JpcHQiLGpzOiJqYXZhc2NyaXB0Iixqc3g6ImphdmFzY3JpcHQiLGpzb246Impzb24iLGh0bWw6Imh0bWwiLGNzczoiY3NzIixzY3NzOiJzY3NzIixsZXNzOiJsZXNzIixtZDoibWFya2Rvd24iLHlhbWw6InlhbWwiLHltbDoieWFtbCIseG1sOiJ4bWwiLHNxbDoic3FsIixweToicHl0aG9uIixzaDoic2hlbGwiLGJhc2g6InNoZWxsIn1bYmV8fCIiXXx8InBsYWludGV4dCJ9dG9nZ2xlVGVybWluYWwoKXt0aGlzLmlzVGVybWluYWxDb2xsYXBzZWQ9IXRoaXMuaXNUZXJtaW5hbENvbGxhcHNlZH1hc3luYyBzYXZlQWN0aXZlRmlsZSgpe2xldCBmZT10aGlzLm9wZW5GaWxlcy5maW5kKGJlPT5iZS5wYXRoPT09dGhpcy5hY3RpdmVGaWxlUGF0aCk7aWYoISghZmV8fCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KSl0cnl7YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC53cml0ZUZpbGUoZmUucGF0aCxmZS5jb250ZW50KSx0aGlzLm9wZW5GaWxlcz10aGlzLm9wZW5GaWxlcy5tYXAoYmU9PmJlLnBhdGg9PT1mZS5wYXRoP3suLi5iZSxtb2RpZmllZDohMX06YmUpLHRoaXMuaW50ZWxsaVNlbnNlTWFuYWdlciYmdGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyLmFkZEZpbGVNb2RlbChmZS5wYXRoLGZlLmNvbnRlbnQpfWNhdGNoKGJlKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc2F2ZSBmaWxlOiIsYmUpfX1hc3luYyBzYXZlQWxsRmlsZXMoKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXtmb3IobGV0IGZlIG9mIHRoaXMub3BlbkZpbGVzLmZpbHRlcihiZT0+YmUubW9kaWZpZWQpKXRyeXthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShmZS5wYXRoLGZlLmNvbnRlbnQpLHRoaXMuaW50ZWxsaVNlbnNlTWFuYWdlciYmdGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyLmFkZEZpbGVNb2RlbChmZS5wYXRoLGZlLmNvbnRlbnQpfWNhdGNoKGJlKXtjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gc2F2ZSAke2ZlLnBhdGh9OmAsYmUpfXRoaXMub3BlbkZpbGVzPXRoaXMub3BlbkZpbGVzLm1hcChmZT0+KHsuLi5mZSxtb2RpZmllZDohMX0pKX19YXN5bmMgc2hvd0VkaXRvck1lbnUoZmUpe2ZlLnN0b3BQcm9wYWdhdGlvbigpO2xldCBiZT1be25hbWU6dGhpcy5hdXRvU2F2ZT8iXHUyNzEzIEF1dG8gU2F2ZSI6IkF1dG8gU2F2ZSIsaWNvbk5hbWU6Imx1Y2lkZTpzYXZlIixhY3Rpb246cyhhc3luYygpPT50aGlzLnRvZ2dsZUF1dG9TYXZlKCksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IlNhdmUiLGljb25OYW1lOiJsdWNpZGU6c2F2ZSIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5zYXZlQWN0aXZlRmlsZSgpLCJhY3Rpb24iKX0se25hbWU6IlNhdmUgQWxsIixpY29uTmFtZToibHVjaWRlOnNhdmUiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMuc2F2ZUFsbEZpbGVzKCksImFjdGlvbiIpfV07YXdhaXQgdGEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoZmUsYmUpfXRvZ2dsZUF1dG9TYXZlKCl7dGhpcy5hdXRvU2F2ZT0hdGhpcy5hdXRvU2F2ZSx0aGlzLmF1dG9TYXZlP3RoaXMuYXV0b1NhdmVJbnRlcnZhbD1zZXRJbnRlcnZhbCgoKT0+e3RoaXMub3BlbkZpbGVzLnNvbWUoYmU9PmJlLm1vZGlmaWVkKSYmdGhpcy5zYXZlQWxsRmlsZXMoKX0sMmUzKTp0aGlzLmF1dG9TYXZlSW50ZXJ2YWwmJihjbGVhckludGVydmFsKHRoaXMuYXV0b1NhdmVJbnRlcnZhbCksdGhpcy5hdXRvU2F2ZUludGVydmFsPW51bGwpfWdldEVycm9yQ291bnQoKXtyZXR1cm4gdGhpcy5kaWFnbm9zdGljTWFya2Vycy5maWx0ZXIoZmU9PmZlLnNldmVyaXR5PT09OCkubGVuZ3RofXJlbmRlclByb2JsZW1zUGFuZWwoKXtyZXR1cm4gdGhpcy5kaWFnbm9zdGljTWFya2Vycy5sZW5ndGg9PT0wP3dgCiAgICAgICAgPGRpdiBjbGFzcz0icHJvYmxlbXMtZW1wdHkiPgogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Y2hlY2tDaXJjbGUifSBpY29uU2l6ZT0iMjQiPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+Tm8gcHJvYmxlbXMgZGV0ZWN0ZWQ8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6d2AKICAgICAgPGRpdiBjbGFzcz0icHJvYmxlbXMtbGlzdCI+CiAgICAgICAgJHt0aGlzLmRpYWdub3N0aWNNYXJrZXJzLm1hcChmZT0+d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InByb2JsZW0taXRlbSIgQGNsaWNrPSR7KCk9PnRoaXMubmF2aWdhdGVUb1Byb2JsZW0oZmUpfT4KICAgICAgICAgICAgPGRlZXMtaWNvbgogICAgICAgICAgICAgIGNsYXNzPSJwcm9ibGVtLWljb24gJHtmZS5zZXZlcml0eT09PTg/ImVycm9yIjoid2FybmluZyJ9IgogICAgICAgICAgICAgIC5pY29uPSR7ZmUuc2V2ZXJpdHk9PT04PyJsdWNpZGU6Y2lyY2xlWCI6Imx1Y2lkZTp0cmlhbmdsZUFsZXJ0In0KICAgICAgICAgICAgICBpY29uU2l6ZT0iMTQiCiAgICAgICAgICAgID48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvYmxlbS1kZXRhaWxzIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ibGVtLW1lc3NhZ2UiPiR7ZmUubWVzc2FnZX08L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ibGVtLWxvY2F0aW9uIj4KICAgICAgICAgICAgICAgICR7ZmUucmVzb3VyY2UucGF0aC5zcGxpdCgiLyIpLnBvcCgpfSAoJHtmZS5zdGFydExpbmVOdW1iZXJ9LCAke2ZlLnN0YXJ0Q29sdW1ufSkKICAgICAgICAgICAgICAgICR7ZmUuc291cmNlP2BbJHtmZS5zb3VyY2V9XWA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCl9CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBuYXZpZ2F0ZVRvUHJvYmxlbShmZSl7bGV0IGJlPWZlLnJlc291cmNlLnBhdGgsUGU9YmUuc3BsaXQoIi8iKS5wb3AoKXx8IiI7dGhpcy5vcGVuRmlsZXMuZmluZChOdD0+TnQucGF0aD09PWJlKT90aGlzLmFjdGl2ZUZpbGVQYXRoPWJlOmF3YWl0IHRoaXMub3BlbkZpbGUoYmUsUGUpLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7bGV0IG10PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy13b3Jrc3BhY2UtbW9uYWNvIik7aWYobXQpe2xldCBOdD1hd2FpdCBtdC5lZGl0b3JEZWZlcnJlZC5wcm9taXNlO050LnJldmVhbExpbmVJbkNlbnRlcihmZS5zdGFydExpbmVOdW1iZXIpLE50LnNldFBvc2l0aW9uKHtsaW5lTnVtYmVyOmZlLnN0YXJ0TGluZU51bWJlcixjb2x1bW46ZmUuc3RhcnRDb2x1bW59KSxOdC5mb2N1cygpfX1zZXR1cE1hcmtlckxpc3RlbmVyKCl7bGV0IGZlPXdpbmRvdy5tb25hY287ZmUmJihmZS5lZGl0b3Iub25EaWRDaGFuZ2VNYXJrZXJzKGJlPT57dGhpcy51cGRhdGVEaWFnbm9zdGljTWFya2VycygpfSksdGhpcy51cGRhdGVEaWFnbm9zdGljTWFya2VycygpKX11cGRhdGVEaWFnbm9zdGljTWFya2Vycygpe2xldCBmZT13aW5kb3cubW9uYWNvO2lmKCFmZSlyZXR1cm47bGV0IGJlPWZlLmVkaXRvci5nZXRNb2RlbE1hcmtlcnMoe30pO3RoaXMuZGlhZ25vc3RpY01hcmtlcnM9YmUubWFwKFBlPT4oe21lc3NhZ2U6UGUubWVzc2FnZSxzZXZlcml0eTpQZS5zZXZlcml0eSxzdGFydExpbmVOdW1iZXI6UGUuc3RhcnRMaW5lTnVtYmVyLHN0YXJ0Q29sdW1uOlBlLnN0YXJ0Q29sdW1uLGVuZExpbmVOdW1iZXI6UGUuZW5kTGluZU51bWJlcixlbmRDb2x1bW46UGUuZW5kQ29sdW1uLHNvdXJjZTpQZS5zb3VyY2UscmVzb3VyY2U6e3BhdGg6UGUucmVzb3VyY2UucGF0aH19KSl9YXN5bmMgaGFuZGxlUnVuUHJvY2VzcyhmZSl7bGV0IGJlPWZlLmRldGFpbCxQZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLXRlcm1pbmFsIik7aWYoIVBlKXtjb25zb2xlLndhcm4oIlRlcm1pbmFsIGNvbXBvbmVudCBub3QgZm91bmQiKTtyZXR1cm59dGhpcy5pc1Rlcm1pbmFsQ29sbGFwc2VkJiYodGhpcy5pc1Rlcm1pbmFsQ29sbGFwc2VkPSExKSx0aGlzLmFjdGl2ZUJvdHRvbVBhbmVsPSJ0ZXJtaW5hbCIsYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSxhd2FpdCBQZS5jcmVhdGVQcm9jZXNzVGFiKHt0eXBlOmJlLnR5cGUsbGFiZWw6YmUubGFiZWwsY29tbWFuZDpiZS5jb21tYW5kLGFyZ3M6YmUuYXJncyxtZXRhZGF0YTpiZS5tZXRhZGF0YSxzd2l0Y2hUb1RhYjohMH0pfXNldEZpbGVUcmVlV2lkdGgoZmUpe2xldCBQZT10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKi41O3RoaXMuY3VycmVudEZpbGVUcmVlV2lkdGg9TWF0aC5tYXgoMTUwLE1hdGgubWluKFBlLGZlKSksd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJyZXNpemUiKSl9c2V0VGVybWluYWxIZWlnaHQoZmUpe2xldCBQZT10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCouNzt0aGlzLmN1cnJlbnRUZXJtaW5hbEhlaWdodD1NYXRoLm1heCgxMDAsTWF0aC5taW4oUGUsZmUpKSx3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoInJlc2l6ZSIpKX1yZXNldExheW91dCgpe3RoaXMuY3VycmVudEZpbGVUcmVlV2lkdGg9dGhpcy5maWxlVHJlZVdpZHRoLHRoaXMuY3VycmVudFRlcm1pbmFsSGVpZ2h0PXRoaXMudGVybWluYWxIZWlnaHQsd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJyZXNpemUiKSl9c3RhdGlje3F0KHIsdCl9fTtyZXR1cm4gUmU9cn0pKCl9KTt2YXIgb3VhPWYoKCk9PntpdWEoKTtBSmUoKX0pO3ZhciBudWE9ZigoKT0+e0VmKCl9KTt2YXIgbHVhPWYoKCk9PntnaWUoKX0pO3ZhciBjdWE9ZigoKT0+e30pO3ZhciBkdWE9ZigoKT0+e2dHKCk7Y3VhKCk7TUplKCl9KTt2YXIgdXVhPWYoKCk9PnskSmUoKX0pO3ZhciB4RyxIYyxfZG8scHVhLGZ1YT1mKCgpPT57bGUoKTtRZSgpO0VmKCk7eEc9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEhjPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxfZG89RXQucGx1Z2lucy5zbWFydHByb21pc2UuZGVmZXIoKSxwdWE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXdvcmtzcGFjZS1tYXJrZG93biIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzV29ya3NwYWNlTWFya2Rvd24iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgaz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk51bWJlcn0pXSxkPVskKHt0eXBlOk51bWJlcn0pXSx1PVtLKCldLHg9W0soKV0seEcodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzcGxpdFJhdGlvIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJzcGxpdFJhdGlvImluIEMsImhhcyIpLGdldDpzKEM9PkMuc3BsaXRSYXRpbywiZ2V0Iiksc2V0OnMoKEMsTik9PntDLnNwbGl0UmF0aW89Tn0sInNldCIpfSxtZXRhZGF0YTprfSxuLGwpLHhHKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWluUGFuZWxTaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJtaW5QYW5lbFNpemUiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5taW5QYW5lbFNpemUsImdldCIpLHNldDpzKChDLE4pPT57Qy5taW5QYW5lbFNpemU9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxjLHApLHhHKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFNwbGl0UmF0aW8iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImN1cnJlbnRTcGxpdFJhdGlvImluIEMsImhhcyIpLGdldDpzKEM9PkMuY3VycmVudFNwbGl0UmF0aW8sImdldCIpLHNldDpzKChDLE4pPT57Qy5jdXJyZW50U3BsaXRSYXRpbz1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG0sdikseEcodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0RyYWdnaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJpc0RyYWdnaW5nImluIEMsImhhcyIpLGdldDpzKEM9PkMuaXNEcmFnZ2luZywiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmlzRHJhZ2dpbmc9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxiLGcpLHhHKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmt9LG51bGwsdCkseT1yPWUudmFsdWUsayYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTprfSl9c3RhdGljIGRlbW89cygoKT0+d2A8ZGVlcy13b3Jrc3BhY2UtbWFya2Rvd24+PC9kZWVzLXdvcmtzcGFjZS1tYXJrZG93bj5gLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJXb3Jrc3BhY2UiXTtzdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5zcGxpdENvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgIH0KCiAgICAgIC5lZGl0b3JDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgbWluLXdpZHRoOiAxMDBweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAucmVzaXplSGFuZGxlIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzMDM2M2QiKX07CiAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5yZXNpemVIYW5kbGU6aG92ZXIsCiAgICAgIC5yZXNpemVIYW5kbGUuZHJhZ2dpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzU4YTZmZiIpfTsKICAgICAgfQoKICAgICAgLnJlc2l6ZUhhbmRsZTo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgd2lkdGg6IDJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmU3NjgxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDFweDsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgIH0KCiAgICAgIC5yZXNpemVIYW5kbGU6aG92ZXI6OmFmdGVyLAogICAgICAucmVzaXplSGFuZGxlLmRyYWdnaW5nOjphZnRlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjZmZmZmZmIil9OwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5vdXRsZXRDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgbWluLXdpZHRoOiAxMDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwZDExMTciKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjQyOTJmIiwiI2U2ZWRmMyIpfTsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnTm90byBTYW5zJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLyogUHJldmVudCB0ZXh0IHNlbGVjdGlvbiB3aGlsZSBkcmFnZ2luZyAqLwogICAgICAuc3BsaXRDb250YWluZXIuZHJhZ2dpbmcgewogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAuc3BsaXRDb250YWluZXIuZHJhZ2dpbmcgLmVkaXRvckNvbnRhaW5lciwKICAgICAgLnNwbGl0Q29udGFpbmVyLmRyYWdnaW5nIC5vdXRsZXRDb250YWluZXIgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICBgXTsjZT1IYyh0aGlzLG4sNTApO2dldCBzcGxpdFJhdGlvKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNwbGl0UmF0aW8oayl7dGhpcy4jZT1rfSN0PShIYyh0aGlzLGwpLEhjKHRoaXMsYywxMCkpO2dldCBtaW5QYW5lbFNpemUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbWluUGFuZWxTaXplKGspe3RoaXMuI3Q9a30jYT0oSGModGhpcyxwKSxIYyh0aGlzLG0sNTApKTtnZXQgY3VycmVudFNwbGl0UmF0aW8oKXtyZXR1cm4gdGhpcy4jYX1zZXQgY3VycmVudFNwbGl0UmF0aW8oayl7dGhpcy4jYT1rfSNyPShIYyh0aGlzLHYpLEhjKHRoaXMsYiwhMSkpO2dldCBpc0RyYWdnaW5nKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGlzRHJhZ2dpbmcoayl7dGhpcy4jcj1rfXJlc2l6ZUhhbmRsZUVsZW1lbnQ9SGModGhpcyxnKTtjb250YWluZXJFbGVtZW50O3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJzcGxpdENvbnRhaW5lciAke3RoaXMuaXNEcmFnZ2luZz8iZHJhZ2dpbmciOiIifSI+CiAgICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yQ29udGFpbmVyIiBzdHlsZT0id2lkdGg6ICR7dGhpcy5jdXJyZW50U3BsaXRSYXRpb30lIj4KICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tb25hY28KICAgICAgICAgICAgLmxhbmd1YWdlPSR7Im1hcmtkb3duIn0KICAgICAgICAgICAgLmNvbnRlbnQ9JHtgIyBhIHRlc3QgY29udGVudAoKVGhpcyBpcyB0ZXN0IGNvbnRlbnQgdGhhdCBpcyBvZiBsb25nZXIgZm9ybSBhbiBob3BlZnVsbHkgc3RhcnRzIHRvIHdyYXAgd2hlbiBJIG5lZWQgaXQuIEFuZCB5ZXMsIGl0IGRvZXMgcGVyZmVjdGx5LiBuaWNlLgoKVGVzdCB8IEhlbGxvCi0tLSB8IC0tLQpZZWFoIHwgU28gZ29vZAoKVGhpcyBpcyByZWFsIGFzc2V0IEkgdGhpbmsuIFdoeSB3b3VsZCB3ZSB3YW50IHRvIGxlYXZlIHRoYXQgb24gdGhlIHRhYmxlPyBDYW4geW91IHRlbGwgbXkgdGhhdD8KCldoeSBhcmUgd2UgaGVyZT8KCkRvIHlvdSBrbm93PwoKPiBub3RlOgpUaGVyZSBpcyBzb21ldGhpbmcgZ29pbmcgb24uCgpcYFxgXGB0eXBlc2NyaXB0CmNvbnN0IGhlbGxvID0gJ3llcycKXGBcYFxgCmB9CiAgICAgICAgICAgIHdvcmRXcmFwPSJib3VuZGVkIgogICAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtbW9uYWNvPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJyZXNpemVIYW5kbGUgJHt0aGlzLmlzRHJhZ2dpbmc/ImRyYWdnaW5nIjoiIn0iCiAgICAgICAgICBAbW91c2Vkb3duPSR7dGhpcy5oYW5kbGVNb3VzZURvd259CiAgICAgICAgPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im91dGxldENvbnRhaW5lciIgc3R5bGU9IndpZHRoOiAkezEwMC10aGlzLmN1cnJlbnRTcGxpdFJhdGlvfSUiPgogICAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoayl7YXdhaXQgc3VwZXIuZmlyc3RVcGRhdGVkKGspLHRoaXMuY3VycmVudFNwbGl0UmF0aW89dGhpcy5zcGxpdFJhdGlvLHRoaXMuY29udGFpbmVyRWxlbWVudD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnNwbGl0Q29udGFpbmVyIiksdGhpcy5yZXNpemVIYW5kbGVFbGVtZW50PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIucmVzaXplSGFuZGxlIik7bGV0IEM9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1vbmFjbyIpLE49dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iiksej1hd2FpdCBuZXcgRXQucGx1Z2lucy5zbWFydG1hcmtkb3duLlNtYXJ0TWFya2Rvd24oKS5nZXRNZFBhcnNlZFJlc3VsdEZyb21NYXJrZG93bigibG9hZGluZy4uLiIpO0MuY29udGVudFN1YmplY3Quc3Vic2NyaWJlKGFzeW5jIE89Pnthd2FpdCB6LnVwZGF0ZUZyb21NYXJrZG93blN0cmluZyhPKTtsZXQgVD16Lmh0bWw7Ti51cGRhdGVIdG1sVGV4dChUKX0pfWhhbmRsZU1vdXNlRG93bj1zKGs9PntrLnByZXZlbnREZWZhdWx0KCksdGhpcy5pc0RyYWdnaW5nPSEwLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVNb3VzZU1vdmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlTW91c2VVcCl9LCJoYW5kbGVNb3VzZURvd24iKTtoYW5kbGVNb3VzZU1vdmU9cyhrPT57aWYoIXRoaXMuaXNEcmFnZ2luZ3x8IXRoaXMuY29udGFpbmVyRWxlbWVudClyZXR1cm47bGV0IEM9dGhpcy5jb250YWluZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLE49Qy53aWR0aCx6PShrLmNsaWVudFgtQy5sZWZ0KS9OKjEwMDt6PU1hdGgubWF4KHRoaXMubWluUGFuZWxTaXplLE1hdGgubWluKDEwMC10aGlzLm1pblBhbmVsU2l6ZSx6KSksdGhpcy5jdXJyZW50U3BsaXRSYXRpbz16fSwiaGFuZGxlTW91c2VNb3ZlIik7aGFuZGxlTW91c2VVcD1zKCgpPT57dGhpcy5pc0RyYWdnaW5nPSExLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVNb3VzZU1vdmUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlTW91c2VVcCksdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1vbmFjbyIpJiZ3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoInJlc2l6ZSIpKX0sImhhbmRsZU1vdXNlVXAiKTthc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLmhhbmRsZU1vdXNlTW92ZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5oYW5kbGVNb3VzZVVwKX1zZXRTcGxpdFJhdGlvKGspe3RoaXMuY3VycmVudFNwbGl0UmF0aW89TWF0aC5tYXgodGhpcy5taW5QYW5lbFNpemUsTWF0aC5taW4oMTAwLXRoaXMubWluUGFuZWxTaXplLGspKX1yZXNldFNwbGl0UmF0aW8oKXt0aGlzLmN1cnJlbnRTcGxpdFJhdGlvPXRoaXMuc3BsaXRSYXRpb31zdGF0aWN7SGMocix0KX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIGh1YT1mKCgpPT57ZnVhKCl9KTt2YXIgbXVhLGd1YT1mKCgpPT57bGUoKTtOYSgpO1VzKCk7bXVhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7WGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiA5MDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8IS0tIERlbW8gMTogSGVhZGluZ3MgLS0+CiAgICAgIDxkZWVzLXBhbmVsCiAgICAgICAgLnRpdGxlPSR7IkhlYWRpbmdzIn0KICAgICAgICAuc3VidGl0bGU9JHsiQWxsIGhlYWRpbmcgbGV2ZWxzIGZyb20gSDEgdG8gSDYifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9Pnthd2FpdCBhLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPGgxPkhlYWRpbmcgTGV2ZWwgMTwvaDE+CiAgICAgICAgICAgIDxoMj5IZWFkaW5nIExldmVsIDI8L2gyPgogICAgICAgICAgICA8aDM+SGVhZGluZyBMZXZlbCAzPC9oMz4KICAgICAgICAgICAgPGg0PkhlYWRpbmcgTGV2ZWwgNDwvaDQ+CiAgICAgICAgICAgIDxoNT5IZWFkaW5nIExldmVsIDU8L2g1PgogICAgICAgICAgICA8aDY+SGVhZGluZyBMZXZlbCA2PC9oNj4KICAgICAgICAgIGApfX0KICAgICAgPgogICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD48L2RlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8IS0tIERlbW8gMjogVGV4dCBGb3JtYXR0aW5nIC0tPgogICAgICA8ZGVlcy1wYW5lbAogICAgICAgIC50aXRsZT0keyJUZXh0IEZvcm1hdHRpbmcifQogICAgICAgIC5zdWJ0aXRsZT0keyJCb2xkLCBpdGFsaWMsIGxpbmtzLCBjb2RlLCBhbmQga2V5Ym9hcmQgaW5wdXQifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9Pnthd2FpdCBhLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPHA+VGhpcyBpcyBhIHBhcmFncmFwaCB3aXRoIDxzdHJvbmc+Ym9sZCB0ZXh0PC9zdHJvbmc+IGFuZCA8ZW0+aXRhbGljIHRleHQ8L2VtPi48L3A+CiAgICAgICAgICAgIDxwPllvdSBjYW4gYWxzbyB1c2UgPHN0cm9uZz48ZW0+Ym9sZCBpdGFsaWM8L2VtPjwvc3Ryb25nPiBmb3IgZW1waGFzaXMuPC9wPgogICAgICAgICAgICA8cD5IZXJlJ3MgYSA8YSBocmVmPSIjIj5saW5rIGV4YW1wbGU8L2E+IGFuZCBzb21lIDxjb2RlPmlubGluZSBjb2RlPC9jb2RlPi48L3A+CiAgICAgICAgICAgIDxwPlByZXNzIDxrYmQ+Q3RybDwva2JkPiArIDxrYmQ+Qzwva2JkPiB0byBjb3B5IHRleHQuPC9wPgogICAgICAgICAgICA8aHI+CiAgICAgICAgICAgIDxwPkFib3ZlIGlzIGEgaG9yaXpvbnRhbCBydWxlIHNlcGFyYXRvci48L3A+CiAgICAgICAgICBgKX19CiAgICAgID4KICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+PC9kZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPCEtLSBEZW1vIDM6IExpc3RzIC0tPgogICAgICA8ZGVlcy1wYW5lbAogICAgICAgIC50aXRsZT0keyJMaXN0cyJ9CiAgICAgICAgLnN1YnRpdGxlPSR7Ik9yZGVyZWQsIHVub3JkZXJlZCwgYW5kIHRhc2sgbGlzdHMifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9Pnthd2FpdCBhLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPGgzPlVub3JkZXJlZCBMaXN0PC9oMz4KICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgIDxsaT5GaXJzdCBpdGVtPC9saT4KICAgICAgICAgICAgICA8bGk+U2Vjb25kIGl0ZW0KICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgPGxpPk5lc3RlZCBpdGVtIDE8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+TmVzdGVkIGl0ZW0gMjwvbGk+CiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgPGxpPlRoaXJkIGl0ZW08L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgPGgzPk9yZGVyZWQgTGlzdDwvaDM+CiAgICAgICAgICAgIDxvbD4KICAgICAgICAgICAgICA8bGk+U3RlcCBvbmU8L2xpPgogICAgICAgICAgICAgIDxsaT5TdGVwIHR3bzwvbGk+CiAgICAgICAgICAgICAgPGxpPlN0ZXAgdGhyZWU8L2xpPgogICAgICAgICAgICA8L29sPgoKICAgICAgICAgICAgPGgzPlRhc2sgTGlzdDwvaDM+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGkgY2xhc3M9InRhc2stbGlzdC1pdGVtIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGNoZWNrZWQgZGlzYWJsZWQ+IENvbXBsZXRlZCB0YXNrPC9saT4KICAgICAgICAgICAgICA8bGkgY2xhc3M9InRhc2stbGlzdC1pdGVtIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGRpc2FibGVkPiBQZW5kaW5nIHRhc2s8L2xpPgogICAgICAgICAgICAgIDxsaSBjbGFzcz0idGFzay1saXN0LWl0ZW0iPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgZGlzYWJsZWQ+IEFub3RoZXIgdGFzazwvbGk+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICBgKX19CiAgICAgID4KICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+PC9kZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPCEtLSBEZW1vIDQ6IENvZGUgQmxvY2tzIC0tPgogICAgICA8ZGVlcy1wYW5lbAogICAgICAgIC50aXRsZT0keyJDb2RlIEJsb2NrcyJ9CiAgICAgICAgLnN1YnRpdGxlPSR7IlN5bnRheCBoaWdobGlnaHRlZCBjb2RlIGV4YW1wbGVzIn0KICAgICAgICAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57YXdhaXQgYS5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldCIpPy51cGRhdGVIdG1sVGV4dChgCiAgICAgICAgICAgIDxwPklubGluZSBjb2RlOiA8Y29kZT5jb25zdCBncmVldGluZyA9ICJIZWxsbywgV29ybGQhIjs8L2NvZGU+PC9wPgoKICAgICAgICAgICAgPGgzPlR5cGVTY3JpcHQgRXhhbXBsZTwvaDM+CiAgICAgICAgICAgIDxwcmU+PGNvZGU+PHNwYW4gY2xhc3M9ImhsanMta2V5d29yZCI+aW1wb3J0PC9zcGFuPiB7IGh0bWwsIGNzcyB9IDxzcGFuIGNsYXNzPSJobGpzLWtleXdvcmQiPmZyb208L3NwYW4+IDxzcGFuIGNsYXNzPSJobGpzLXN0cmluZyI+J0BkZXNpZ24uZXN0YXRlL2RlZXMtZWxlbWVudCc8L3NwYW4+OwoKPHNwYW4gY2xhc3M9ImhsanMta2V5d29yZCI+aW50ZXJmYWNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iaGxqcy10aXRsZSI+SVVzZXI8L3NwYW4+IHsKICA8c3BhbiBjbGFzcz0iaGxqcy1hdHRyIj5uYW1lPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtYnVpbHRfaW4iPnN0cmluZzwvc3Bhbj47CiAgPHNwYW4gY2xhc3M9ImhsanMtYXR0ciI+ZW1haWw8L3NwYW4+OiA8c3BhbiBjbGFzcz0iaGxqcy1idWlsdF9pbiI+c3RyaW5nPC9zcGFuPjsKICA8c3BhbiBjbGFzcz0iaGxqcy1hdHRyIj5hZ2U8L3NwYW4+PzogPHNwYW4gY2xhc3M9ImhsanMtYnVpbHRfaW4iPm51bWJlcjwvc3Bhbj47Cn0KCjxzcGFuIGNsYXNzPSJobGpzLWtleXdvcmQiPmNvbnN0PC9zcGFuPiA8c3BhbiBjbGFzcz0iaGxqcy10aXRsZSI+Z2V0VXNlcjwvc3Bhbj4gPSA8c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5hc3luYzwvc3Bhbj4gKDxzcGFuIGNsYXNzPSJobGpzLWF0dHIiPmlkPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtYnVpbHRfaW4iPnN0cmluZzwvc3Bhbj4pOiA8c3BhbiBjbGFzcz0iaGxqcy1idWlsdF9pbiI+UHJvbWlzZTwvc3Bhbj4mbHQ7SVVzZXImZ3Q7ID0mZ3Q7IHsKICA8c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5jb25zdDwvc3Bhbj4gcmVzcG9uc2UgPSA8c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5hd2FpdDwvc3Bhbj4gZmV0Y2goXGAvYXBpL3VzZXJzL1wke2lkfVxgKTsKICA8c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5yZXR1cm48L3NwYW4+IHJlc3BvbnNlLmpzb24oKTsKfTs8L2NvZGU+PC9wcmU+CgogICAgICAgICAgICA8aDM+SlNPTiBFeGFtcGxlPC9oMz4KICAgICAgICAgICAgPHByZT48Y29kZT57CiAgPHNwYW4gY2xhc3M9ImhsanMtYXR0ciI+Im5hbWUiPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtc3RyaW5nIj4iZGVlcy1jYXRhbG9nIjwvc3Bhbj4sCiAgPHNwYW4gY2xhc3M9ImhsanMtYXR0ciI+InZlcnNpb24iPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtc3RyaW5nIj4iMy4wLjAiPC9zcGFuPiwKICA8c3BhbiBjbGFzcz0iaGxqcy1hdHRyIj4iZGVwZW5kZW5jaWVzIjwvc3Bhbj46IHsKICAgIDxzcGFuIGNsYXNzPSJobGpzLWF0dHIiPiJAZGVzaWduLmVzdGF0ZS9kZWVzLWVsZW1lbnQiPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtc3RyaW5nIj4iXjIuMC4wIjwvc3Bhbj4KICB9Cn08L2NvZGU+PC9wcmU+CiAgICAgICAgICBgKX19CiAgICAgID4KICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+PC9kZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPCEtLSBEZW1vIDU6IFRhYmxlcyAtLT4KICAgICAgPGRlZXMtcGFuZWwKICAgICAgICAudGl0bGU9JHsiVGFibGVzIn0KICAgICAgICAuc3VidGl0bGU9JHsiU3R5bGVkIHRhYmxlcyB3aXRoIGFsdGVybmF0aW5nIHJvd3MifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9Pnthd2FpdCBhLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPHRhYmxlPgogICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRoPkZlYXR1cmU8L3RoPgogICAgICAgICAgICAgICAgICA8dGg+U3RhdHVzPC90aD4KICAgICAgICAgICAgICAgICAgPHRoPlByaW9yaXR5PC90aD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgIDx0ZD5EYXJrIG1vZGUgc3VwcG9ydDwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD5Db21wbGV0ZWQ8L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+SGlnaDwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICA8dGQ+UmVzcG9uc2l2ZSBkZXNpZ248L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+SW4gUHJvZ3Jlc3M8L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+TWVkaXVtPC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgIDx0ZD5BY2Nlc3NpYmlsaXR5PC90ZD4KICAgICAgICAgICAgICAgICAgPHRkPlBsYW5uZWQ8L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+SGlnaDwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICA8dGQ+RG9jdW1lbnRhdGlvbjwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD5JbiBQcm9ncmVzczwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD5Mb3c8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgYCl9fQogICAgICA+CiAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDwhLS0gRGVtbyA2OiBCbG9ja3F1b3RlcyAmIEFsZXJ0cyAtLT4KICAgICAgPGRlZXMtcGFuZWwKICAgICAgICAudGl0bGU9JHsiQmxvY2txdW90ZXMgJiBBbGVydHMifQogICAgICAgIC5zdWJ0aXRsZT0keyJRdW90ZXMgYW5kIEdpdEh1Yi1zdHlsZSBhbGVydHMifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9Pnthd2FpdCBhLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPGJsb2NrcXVvdGU+CiAgICAgICAgICAgICAgPHA+VGhpcyBpcyBhIHN0YW5kYXJkIGJsb2NrcXVvdGUuIEl0J3MgZ3JlYXQgZm9yIGhpZ2hsaWdodGluZyBpbXBvcnRhbnQgaW5mb3JtYXRpb24gb3IgcXVvdGVzIGZyb20gb3RoZXIgc291cmNlcy48L3A+CiAgICAgICAgICAgIDwvYmxvY2txdW90ZT4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWFsZXJ0IG1hcmtkb3duLWFsZXJ0LW5vdGUiPgogICAgICAgICAgICAgIDxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyBpcyBhbiBpbmZvcm1hdGlvbmFsIG5vdGUgdG8gZHJhdyBhdHRlbnRpb24gdG8gaW1wb3J0YW50IGRldGFpbHMuPC9wPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWFsZXJ0IG1hcmtkb3duLWFsZXJ0LXRpcCI+CiAgICAgICAgICAgICAgPHA+PHN0cm9uZz5UaXA6PC9zdHJvbmc+IEhlcmUncyBhIGhlbHBmdWwgdGlwIHRvIGltcHJvdmUgeW91ciB3b3JrZmxvdy48L3A+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tYWxlcnQgbWFya2Rvd24tYWxlcnQtaW1wb3J0YW50Ij4KICAgICAgICAgICAgICA8cD48c3Ryb25nPkltcG9ydGFudDo8L3N0cm9uZz4gVGhpcyBpbmZvcm1hdGlvbiBpcyBjcnVjaWFsIGZvciB1bmRlcnN0YW5kaW5nIHRoZSB0b3BpYy48L3A+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tYWxlcnQgbWFya2Rvd24tYWxlcnQtd2FybmluZyI+CiAgICAgICAgICAgICAgPHA+PHN0cm9uZz5XYXJuaW5nOjwvc3Ryb25nPiBCZSBjYXJlZnVsIHdoZW4gcGVyZm9ybWluZyB0aGlzIGFjdGlvbi48L3A+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tYWxlcnQgbWFya2Rvd24tYWxlcnQtY2F1dGlvbiI+CiAgICAgICAgICAgICAgPHA+PHN0cm9uZz5DYXV0aW9uOjwvc3Ryb25nPiBUaGlzIGFjdGlvbiBtYXkgaGF2ZSB1bmludGVuZGVkIGNvbnNlcXVlbmNlcy48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9fQogICAgICA+CiAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDwhLS0gRGVtbyA3OiBGdWxsIERvY3VtZW50IC0tPgogICAgICA8ZGVlcy1wYW5lbAogICAgICAgIC50aXRsZT0keyJGdWxsIERvY3VtZW50In0KICAgICAgICAuc3VidGl0bGU9JHsiQSBjb21wbGV0ZSBtYXJrZG93biBkb2N1bWVudCBleGFtcGxlIn0KICAgICAgICAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57YXdhaXQgYS5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldCIpPy51cGRhdGVIdG1sVGV4dChgCiAgICAgICAgICAgIDxoMT5HZXR0aW5nIFN0YXJ0ZWQgR3VpZGU8L2gxPgogICAgICAgICAgICA8cD5XZWxjb21lIHRvIHRoZSA8c3Ryb25nPmRlZXMtY2F0YWxvZzwvc3Ryb25nPiBjb21wb25lbnQgbGlicmFyeS4gVGhpcyBndWlkZSB3aWxsIGhlbHAgeW91IGdldCB1cCBhbmQgcnVubmluZyBxdWlja2x5LjwvcD4KCiAgICAgICAgICAgIDxoMj5JbnN0YWxsYXRpb248L2gyPgogICAgICAgICAgICA8cD5JbnN0YWxsIHRoZSBwYWNrYWdlIHVzaW5nIHlvdXIgcHJlZmVycmVkIHBhY2thZ2UgbWFuYWdlcjo8L3A+CiAgICAgICAgICAgIDxwcmU+PGNvZGU+PHNwYW4gY2xhc3M9ImhsanMtY29tbWVudCI+IyBVc2luZyBwbnBtIChyZWNvbW1lbmRlZCk8L3NwYW4+CnBucG0gYWRkIEBkZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZwoKPHNwYW4gY2xhc3M9ImhsanMtY29tbWVudCI+IyBVc2luZyBucG08L3NwYW4+Cm5wbSBpbnN0YWxsIEBkZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZzwvY29kZT48L3ByZT4KCiAgICAgICAgICAgIDxoMj5CYXNpYyBVc2FnZTwvaDI+CiAgICAgICAgICAgIDxwPkltcG9ydCBhbmQgdXNlIGNvbXBvbmVudHMgaW4geW91ciBUeXBlU2NyaXB0IGZpbGVzOjwvcD4KICAgICAgICAgICAgPHByZT48Y29kZT48c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5pbXBvcnQ8L3NwYW4+IHsgRGVlc0J1dHRvbiB9IDxzcGFuIGNsYXNzPSJobGpzLWtleXdvcmQiPmZyb208L3NwYW4+IDxzcGFuIGNsYXNzPSJobGpzLXN0cmluZyI+J0BkZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZyc8L3NwYW4+OwoKPHNwYW4gY2xhc3M9ImhsanMtY29tbWVudCI+Ly8gVXNlIGluIHlvdXIgdGVtcGxhdGVzPC9zcGFuPgpodG1sXGAmbHQ7ZGVlcy1idXR0b24mZ3Q7Q2xpY2sgbWUmbHQ7L2RlZXMtYnV0dG9uJmd0O1xgPC9jb2RlPjwvcHJlPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tYWxlcnQgbWFya2Rvd24tYWxlcnQtdGlwIj4KICAgICAgICAgICAgICA8cD48c3Ryb25nPlRpcDo8L3N0cm9uZz4gQ2hlY2sgdGhlIGRlbW8gc2hvd2Nhc2UgZm9yIGxpdmUgZXhhbXBsZXMgb2YgYWxsIGNvbXBvbmVudHMuPC9wPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxoMj5BdmFpbGFibGUgQ29tcG9uZW50czwvaDI+CiAgICAgICAgICAgIDx0YWJsZT4KICAgICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgIDx0aD5Db21wb25lbnQ8L3RoPgogICAgICAgICAgICAgICAgICA8dGg+RGVzY3JpcHRpb248L3RoPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRkPjxjb2RlPmRlZXMtYnV0dG9uPC9jb2RlPjwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD5QcmltYXJ5IGJ1dHRvbiBjb21wb25lbnQ8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRkPjxjb2RlPmRlZXMtaW5wdXQtdGV4dDwvY29kZT48L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+VGV4dCBpbnB1dCBmaWVsZDwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICA8dGQ+PGNvZGU+ZGVlcy10YWJsZTwvY29kZT48L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+RGF0YSB0YWJsZSB3aXRoIHNvcnRpbmc8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRkPjxjb2RlPmRlZXMtbW9kYWw8L2NvZGU+PC90ZD4KICAgICAgICAgICAgICAgICAgPHRkPk1vZGFsIGRpYWxvZzwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgIDwvdGFibGU+CgogICAgICAgICAgICA8aDI+TmV4dCBTdGVwczwvaDI+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGk+RXhwbG9yZSB0aGUgPGEgaHJlZj0iIyI+Y29tcG9uZW50IGRvY3VtZW50YXRpb248L2E+PC9saT4KICAgICAgICAgICAgICA8bGk+Q2hlY2sgb3V0IHRoZSA8YSBocmVmPSIjIj50aGVtaW5nIGd1aWRlPC9hPjwvbGk+CiAgICAgICAgICAgICAgPGxpPkpvaW4gb3VyIDxhIGhyZWY9IiMiPmNvbW11bml0eSBEaXNjb3JkPC9hPjwvbGk+CiAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICA8YmxvY2txdW90ZT4KICAgICAgICAgICAgICA8cD4iVGhlIGJlc3QgY29tcG9uZW50IGxpYnJhcnkgaXMgb25lIHRoYXQgZ2V0cyBvdXQgb2YgeW91ciB3YXkuIiBcdTIwMTQgRGVzaWduIFN5c3RlbXMgVGVhbTwvcD4KICAgICAgICAgICAgPC9ibG9ja3F1b3RlPgogICAgICAgICAgYCl9fQogICAgICA+CiAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBSTmEsT05hLGJ1YSx2dWE9ZigoKT0+e2xlKCk7UWUoKTtndWEoKTtSTmE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LE9OYT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sYnVhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQiKV0sZSx0PVtdLHIsaT1wZTt2YXIgbz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1dvcmtzcGFjZU1hcmtkb3dub3V0bGV0Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG49dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7Uk5hKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm59LG51bGwsdCksbz1yPWUudmFsdWUsbiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpufSl9c3RhdGljIGRlbW89bXVhO3N0YXRpYyBkZW1vR3JvdXBzPVsiV29ya3NwYWNlIl07c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnTm90byBTYW5zJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNDI5MmYiLCIjZTZlZGYzIil9OwogICAgICB9CgogICAgICAub3V0bGV0IHsKICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7CiAgICAgIH0KCiAgICAgIC8qIEhlYWRpbmdzICovCiAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgewogICAgICAgIG1hcmdpbi10b3A6IDI0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzFmMjMyOCIsIiNmMGY2ZmMiKX07CiAgICAgIH0KCiAgICAgIGgxIHsKICAgICAgICBmb250LXNpemU6IDJlbTsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4zZW07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZDFkOWUwIiwiIzMwMzYzZCIpfTsKICAgICAgfQoKICAgICAgaDIgewogICAgICAgIGZvbnQtc2l6ZTogMS41ZW07CiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuM2VtOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2QxZDllMCIsIiMzMDM2M2QiKX07CiAgICAgIH0KCiAgICAgIGgzIHsKICAgICAgICBmb250LXNpemU6IDEuMjVlbTsKICAgICAgfQoKICAgICAgaDQgewogICAgICAgIGZvbnQtc2l6ZTogMWVtOwogICAgICB9CgogICAgICBoNSB7CiAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtOwogICAgICB9CgogICAgICBoNiB7CiAgICAgICAgZm9udC1zaXplOiAwLjg1ZW07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNjU2ZDc2IiwiIzhiOTQ5ZSIpfTsKICAgICAgfQoKICAgICAgLyogUGFyYWdyYXBocyBhbmQgdGV4dCAqLwogICAgICBwIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC8qIExpbmtzICovCiAgICAgIGEgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5NjlkYSIsIiM1OGE2ZmYiKX07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICB9CgogICAgICBhOmhvdmVyIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQoKICAgICAgLyogU3Ryb25nIGFuZCBlbXBoYXNpcyAqLwogICAgICBzdHJvbmcgewogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMWYyMzI4IiwiI2YwZjZmYyIpfTsKICAgICAgfQoKICAgICAgZW0gewogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQoKICAgICAgLyogTGlzdHMgKi8KICAgICAgdWwsIG9sIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyZW07CiAgICAgIH0KCiAgICAgIGxpIHsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgIH0KCiAgICAgIGxpICsgbGkgewogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgfQoKICAgICAgdWwgdWwsIHVsIG9sLCBvbCB1bCwgb2wgb2wgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLyogQmxvY2txdW90ZXMgKi8KICAgICAgYmxvY2txdW90ZSB7CiAgICAgICAgbWFyZ2luOiAwIDAgMTZweCAwOwogICAgICAgIHBhZGRpbmc6IDAgMWVtOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzY1NmQ3NiIsIiM4Yjk0OWUiKX07CiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAke2guYmRUaGVtZSgiI2QxZDllMCIsIiMzMDM2M2QiKX07CiAgICAgIH0KCiAgICAgIGJsb2NrcXVvdGUgPiA6Zmlyc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgIH0KCiAgICAgIGJsb2NrcXVvdGUgPiA6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLyogSW5saW5lIGNvZGUgKi8KICAgICAgY29kZSB7CiAgICAgICAgcGFkZGluZzogMC4yZW0gMC40ZW07CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIGZvbnQtc2l6ZTogODUlOwogICAgICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCAnU0YgTW9ubycsIE1lbmxvLCBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIG1vbm9zcGFjZTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgicmdiYSgxNzUsIDE4NCwgMTkzLCAwLjIpIiwicmdiYSgxMTAsIDExOCwgMTI5LCAwLjQpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICB3aGl0ZS1zcGFjZTogYnJlYWstc3BhY2VzOwogICAgICB9CgogICAgICAvKiBDb2RlIGJsb2NrcyAqLwogICAgICBwcmUgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICAgIGZvbnQtc2l6ZTogODUlOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1OwogICAgICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCAnU0YgTW9ubycsIE1lbmxvLCBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIG1vbm9zcGFjZTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgiI2Y2ZjhmYSIsIiMxNjFiMjIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHdvcmQtd3JhcDogbm9ybWFsOwogICAgICB9CgogICAgICBwcmUgY29kZSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgICAgICAgd29yZC13cmFwOiBub3JtYWw7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAwOwogICAgICAgIGZvbnQtc2l6ZTogMTAwJTsKICAgICAgICB3aGl0ZS1zcGFjZTogcHJlOwogICAgICB9CgogICAgICAvKiBUYWJsZXMgKi8KICAgICAgdGFibGUgewogICAgICAgIHdpZHRoOiBtYXgtY29udGVudDsKICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGJvcmRlci1zcGFjaW5nOiAwOwogICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIHRhYmxlIHRoIHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHBhZGRpbmc6IDZweCAxM3B4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZDFkOWUwIiwiIzMwMzYzZCIpfTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgiI2Y2ZjhmYSIsIiMxNjFiMjIiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMWYyMzI4IiwiI2U2ZWRmMyIpfTsKICAgICAgfQoKICAgICAgdGFibGUgdGQgewogICAgICAgIHBhZGRpbmc6IDZweCAxM3B4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZDFkOWUwIiwiIzMwMzYzZCIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxZjIzMjgiLCIjZTZlZGYzIil9OwogICAgICB9CgogICAgICB0YWJsZSB0ciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMGQxMTE3Iil9OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2QxZDllMCIsIiMyMTI2MmQiKX07CiAgICAgIH0KCiAgICAgIHRhYmxlIHRyOm50aC1jaGlsZCgybikgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7aC5iZFRoZW1lKCIjZjZmOGZhIiwiIzE2MWIyMiIpfTsKICAgICAgfQoKICAgICAgLyogSG9yaXpvbnRhbCBydWxlcyAqLwogICAgICBociB7CiAgICAgICAgaGVpZ2h0OiA0cHg7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBtYXJnaW46IDI0cHggMDsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgiI2QxZDllMCIsIiMzMDM2M2QiKX07CiAgICAgICAgYm9yZGVyOiAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgfQoKICAgICAgLyogSW1hZ2VzICovCiAgICAgIGltZyB7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICB9CgogICAgICAvKiBUYXNrIGxpc3RzICovCiAgICAgIC50YXNrLWxpc3QtaXRlbSB7CiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOwogICAgICB9CgogICAgICAudGFzay1saXN0LWl0ZW0gaW5wdXQgewogICAgICAgIG1hcmdpbjogMCAwLjJlbSAwLjI1ZW0gLTEuNGVtOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgIH0KCiAgICAgIC8qIERlZmluaXRpb24gbGlzdHMgKi8KICAgICAgZGwgewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIGRsIGR0IHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxZW07CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIGRsIGRkIHsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLyogS2V5Ym9hcmQgaW5wdXQgKi8KICAgICAga2JkIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgcGFkZGluZzogM3B4IDVweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsICdTRiBNb25vJywgTWVubG8sIENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgbW9ub3NwYWNlOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzFmMjMyOCIsIiNlNmVkZjMiKX07CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgiI2Y2ZjhmYSIsIiMxNjFiMjIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNkMWQ5ZTAiLCIjMzAzNjNkIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCAke2guYmRUaGVtZSgiI2QxZDllMCIsIiMzMDM2M2QiKX07CiAgICAgIH0KCiAgICAgIC8qIEZvb3Rub3RlcyAqLwogICAgICAuZm9vdG5vdGVzIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNjU2ZDc2IiwiIzhiOTQ5ZSIpfTsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNkMWQ5ZTAiLCIjMzAzNjNkIil9OwogICAgICAgIHBhZGRpbmctdG9wOiAxNnB4OwogICAgICAgIG1hcmdpbi10b3A6IDMycHg7CiAgICAgIH0KCiAgICAgIC8qIEFsZXJ0cy9BZG1vbml0aW9ucyAqLwogICAgICAubWFya2Rvd24tYWxlcnQgewogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgIH0KCiAgICAgIC5tYXJrZG93bi1hbGVydC1ub3RlIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjMDk2OWRhIiwiIzU4YTZmZiIpfTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgicmdiYSg5LCAxMDUsIDIxOCwgMC4xKSIsInJnYmEoNTYsIDEzOSwgMjUzLCAwLjEpIil9OwogICAgICB9CgogICAgICAubWFya2Rvd24tYWxlcnQtd2FybmluZyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2JmODcwMCIsIiNkMjk5MjIiKX07CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtoLmJkVGhlbWUoInJnYmEoMTkxLCAxMzUsIDAsIDAuMSkiLCJyZ2JhKDE4NywgMTI4LCA5LCAwLjEpIil9OwogICAgICB9CgogICAgICAubWFya2Rvd24tYWxlcnQtaW1wb3J0YW50IHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjODI1MGRmIiwiI2EzNzFmNyIpfTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgicmdiYSgxMzAsIDgwLCAyMjMsIDAuMSkiLCJyZ2JhKDE2MywgMTEzLCAyNDcsIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5tYXJrZG93bi1hbGVydC1jYXV0aW9uIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjY2YyMjJlIiwiI2Y4NTE0OSIpfTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgicmdiYSgyMDcsIDM0LCA0NiwgMC4xKSIsInJnYmEoMjQ4LCA4MSwgNzMsIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5tYXJrZG93bi1hbGVydC10aXAgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiMxYTdmMzciLCIjM2ZiOTUwIil9OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7aC5iZFRoZW1lKCJyZ2JhKDI2LCAxMjcsIDU1LCAwLjEpIiwicmdiYSg0NiwgMTYwLCA2NywgMC4xKSIpfTsKICAgICAgfQoKICAgICAgLyogU3ludGF4IGhpZ2hsaWdodGluZyBmb3IgY29kZSBibG9ja3MgKi8KICAgICAgLmhsanMtY29tbWVudCwKICAgICAgLmhsanMtcXVvdGUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzZhNzM3ZCIsIiM4Yjk0OWUiKX07CiAgICAgIH0KCiAgICAgIC5obGpzLWtleXdvcmQsCiAgICAgIC5obGpzLXNlbGVjdG9yLXRhZywKICAgICAgLmhsanMtYWRkaXRpb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2Q3M2E0OSIsIiNmZjdiNzIiKX07CiAgICAgIH0KCiAgICAgIC5obGpzLW51bWJlciwKICAgICAgLmhsanMtc3RyaW5nLAogICAgICAuaGxqcy1tZXRhIC5obGpzLW1ldGEtc3RyaW5nLAogICAgICAuaGxqcy1saXRlcmFsLAogICAgICAuaGxqcy1kb2N0YWcsCiAgICAgIC5obGpzLXJlZ2V4cCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDMyZjYyIiwiI2E1ZDZmZiIpfTsKICAgICAgfQoKICAgICAgLmhsanMtdGl0bGUsCiAgICAgIC5obGpzLXNlY3Rpb24sCiAgICAgIC5obGpzLW5hbWUsCiAgICAgIC5obGpzLXNlbGVjdG9yLWlkLAogICAgICAuaGxqcy1zZWxlY3Rvci1jbGFzcyB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNmY0MmMxIiwiI2QyYThmZiIpfTsKICAgICAgfQoKICAgICAgLmhsanMtYXR0cmlidXRlLAogICAgICAuaGxqcy1hdHRyLAogICAgICAuaGxqcy12YXJpYWJsZSwKICAgICAgLmhsanMtdGVtcGxhdGUtdmFyaWFibGUsCiAgICAgIC5obGpzLWNsYXNzIC5obGpzLXRpdGxlLAogICAgICAuaGxqcy10eXBlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDVjYzUiLCIjNzljMGZmIil9OwogICAgICB9CgogICAgICAuaGxqcy1zeW1ib2wsCiAgICAgIC5obGpzLWJ1bGxldCwKICAgICAgLmhsanMtc3Vic3QsCiAgICAgIC5obGpzLW1ldGEsCiAgICAgIC5obGpzLW1ldGEgLmhsanMta2V5d29yZCwKICAgICAgLmhsanMtc2VsZWN0b3ItYXR0ciwKICAgICAgLmhsanMtc2VsZWN0b3ItcHNldWRvLAogICAgICAuaGxqcy1saW5rIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNlMzYyMDkiLCIjZmZhNjU3Iil9OwogICAgICB9CgogICAgICAuaGxqcy1idWlsdF9pbiwKICAgICAgLmhsanMtZGVsZXRpb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2IzMWQyOCIsIiNmZmExOTgiKX07CiAgICAgIH0KCiAgICAgIC5obGpzLWZvcm11bGEgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7aC5iZFRoZW1lKCIjZjZmOGZhIiwiIzE2MWIyMiIpfTsKICAgICAgfQoKICAgICAgLmhsanMtZW1waGFzaXMgewogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQoKICAgICAgLmhsanMtc3Ryb25nIHsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgfQogICAgYF07b3V0bGV0O3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJvdXRsZXQiPgogICAgICAgIDxoMT5NYXJrZG93biBQcmV2aWV3PC9oMT4KICAgICAgICA8cD5Db250ZW50IHdpbGwgYXBwZWFyIGhlcmUgd2hlbiBtYXJrZG93biBpcyBwYXJzZWQuPC9wPgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKG4pe2F3YWl0IHN1cGVyLmZpcnN0VXBkYXRlZChuKSx0aGlzLm91dGxldD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm91dGxldCIpfWFzeW5jIHVwZGF0ZUh0bWxUZXh0KG4pe2F3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5vdXRsZXR8fCh0aGlzLm91dGxldD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm91dGxldCIpKSx0aGlzLm91dGxldC5pbm5lckhUTUw9bn1zdGF0aWN7T05hKHIsdCl9fTtyZXR1cm4gbz1yfSkoKX0pO3ZhciB4dWE9ZigoKT0+e3Z1YSgpfSk7dmFyIHl1YT1mKCgpPT57REplKCl9KTt2YXIgd3VhPWYoKCk9PntFSmUoKX0pO3ZhciBNdWE9ZigoKT0+e291YSgpO251YSgpO2x1YSgpO2R1YSgpO3V1YSgpO2h1YSgpO3h1YSgpO3l1YSgpO3d1YSgpfSk7dmFyIGt1YT1mKCgpPT57fSk7dmFyIFN1YT1mKCgpPT57a3VhKCl9KTt2YXIgenVhPWYoKCk9PntsZSgpfSk7dmFyIEN1YT1mKCgpPT57enVhKCl9KTt2YXIgX3VhPWYoKCk9PntVaSgpO1FlKCk7c2NhKCk7bWNhKCk7cDBhKCk7RTBhKCk7czRhKCk7bjRhKCk7XzRhKCk7dzNhKCk7X2RhKCk7TmRhKCk7aGllKCk7STZhKCk7SjZhKCk7TXVhKCk7U3VhKCk7Q3VhKCl9KTt2YXIgVHVhLEx1YT1mKCgpPT57VHVhPXtuYW1lOiJAZGVzaWduLmVzdGF0ZS9kZWVzLWNhdGFsb2ciLHZlcnNpb246IjMuODEuMCIsZGVzY3JpcHRpb246IkEgY29tcHJlaGVuc2l2ZSBsaWJyYXJ5IHRoYXQgcHJvdmlkZXMgZHluYW1pYyB3ZWIgY29tcG9uZW50cyBmb3IgYnVpbGRpbmcgc29waGlzdGljYXRlZCBhbmQgbW9kZXJuIHdlYiBhcHBsaWNhdGlvbnMgdXNpbmcgSmF2YVNjcmlwdCBhbmQgVHlwZVNjcmlwdC4ifX0pO3ZhciBQSmU9e307cnQoUEplLHtDYW52YXNQb29sOigpPT5yNyxEZWVzQWN0aW9uYmFyOigpPT5QMGEsRGVlc0FwcHVpOigpPT5HbGEsRGVlc0FwcHVpQWN0aXZpdHlsb2c6KCk9PkJyYSxEZWVzQXBwdWlCYXI6KCk9PnRzYSxEZWVzQXBwdWlCb3R0b21iYXI6KCk9PmlzYSxEZWVzQXBwdWlNYWluY29udGVudDooKT0+V2xhLERlZXNBcHB1aU1haW5tZW51OigpPT5GbGEsRGVlc0FwcHVpUHJvZmlsZURyb3Bkb3duOigpPT5lc2EsRGVlc0FwcHVpU2Vjb25kYXJ5bWVudTooKT0+cWxhLERlZXNBcHB1aVRhYnM6KCk9PlVsYSxEZWVzQXVkaW9WaWV3ZXI6KCk9PlQzYSxEZWVzQmFkZ2U6KCk9PkYwYSxEZWVzQnV0dG9uOigpPT5FbGEsRGVlc0J1dHRvbkV4aXQ6KCk9Pm5jYSxEZWVzQnV0dG9uR3JvdXA6KCk9PnBjYSxEZWVzQ2hhcnRBcmVhOigpPT5NY2EsRGVlc0NoYXJ0QmFyOigpPT5JY2EsRGVlc0NoYXJ0RG9udXQ6KCk9PlZjYSxEZWVzQ2hhcnRHYXVnZTooKT0+WGNhLERlZXNDaGFydExvZzooKT0+dDBhLERlZXNDaGFydFJhZGFyOigpPT5kMGEsRGVlc0NoaXBzOigpPT4kNGEsRGVlc0NvbnRleHRtZW51OigpPT50YSxEZWVzRGFzaGJvYXJkZ3JpZDooKT0+SzRhLERlZXNEYXRhdmlld0NvZGVib3g6KCk9Pm0wYSxEZWVzRGF0YXZpZXdTdGF0dXNvYmplY3Q6KCk9PnkwYSxEZWVzRm9ybTooKT0+JGxhLERlZXNGb3JtU3VibWl0OigpPT5wYWUsRGVlc0Zvcm1hdHRpbmdNZW51OigpPT4kYWUsRGVlc0hlYWRpbmc6KCk9PnQzYSxEZWVzSGludDooKT0+VTBhLERlZXNJY29uOigpPT5QcmEsRGVlc0ltYWdlVmlld2VyOigpPT5TM2EsRGVlc0lucHV0QmFzZTooKT0+d3QsRGVlc0lucHV0Q2hlY2tib3g6KCk9Pkp0ZSxEZWVzSW5wdXRDb2RlOigpPT5zYWUsRGVlc0lucHV0RGF0ZXBpY2tlcjooKT0+b2FlLERlZXNJbnB1dERhdGVwaWNrZXJQb3B1cDooKT0+aWFlLERlZXNJbnB1dERyb3Bkb3duOigpPT5oYWUsRGVlc0lucHV0RHJvcGRvd25Qb3B1cDooKT0+ZmFlLERlZXNJbnB1dEZpbGV1cGxvYWQ6KCk9PmdhZSxEZWVzSW5wdXRJYmFuOigpPT55YWUsRGVlc0lucHV0TGlzdDooKT0+X2FlLERlZXNJbnB1dE11bHRpdG9nZ2xlOigpPT53YWUsRGVlc0lucHV0UGhvbmU6KCk9PmthZSxEZWVzSW5wdXRQcm9maWxlUGljdHVyZTooKT0+QzRhLERlZXNJbnB1dFF1YW50aXR5U2VsZWN0b3I6KCk9PmNhZSxEZWVzSW5wdXRSYWRpb2dyb3VwOigpPT5kYWUsRGVlc0lucHV0UmljaHRleHQ6KCk9PmpzZSxEZWVzSW5wdXRUYWdzOigpPT5DYWUsRGVlc0lucHV0VGV4dDooKT0+bGFlLERlZXNJbnB1dFRvZ2dsZTooKT0+U2FlLERlZXNJbnB1dFR5cGVsaXN0OigpPT56YWUsRGVlc0lucHV0V3lzaXd5ZzooKT0+WlcsRGVlc0xhYmVsOigpPT5rc2EsRGVlc01vYmlsZW5hdmlnYXRpb246KCk9PnRjYSxEZWVzTW9kYWw6KCk9PndhLERlZXNQYWdpbmF0aW9uOigpPT5uM2EsRGVlc1BhbmVsOigpPT5kc2EsRGVlc1BkZlZpZXdlcjooKT0+TzNhLERlZXNQcmV2aWV3OigpPT5xM2EsRGVlc1Byb2dyZXNzYmFyOigpPT5aMGEsRGVlc1NlYXJjaGJhcjooKT0+QjZhLERlZXNTZXR0aW5nczooKT0+ZjNhLERlZXNTaG9wcGluZ1Byb2R1Y3RjYXJkOigpPT5Jc2EsRGVlc1NpbXBsZUFwcERhc2g6KCk9PkM2YSxEZWVzU2ltcGxlTG9naW46KCk9PkE2YSxEZWVzU2xhc2hNZW51OigpPT5UYWUsRGVlc1NwZWVjaGJ1YmJsZTooKT0+QWRhLERlZXNTcGlubmVyOigpPT5RMGEsRGVlc1N0YXRzR3JpZDooKT0+UGxhLERlZXNTdGVwcGVyOigpPT5hNyxEZWVzU3RvcmFnZUJyb3dzZXI6KCk9PiQwYSxEZWVzU3RvcmFnZUNvbHVtbnM6KCk9Pl8wYSxEZWVzU3RvcmFnZUtleXM6KCk9PlQwYSxEZWVzU3RvcmFnZVByZXZpZXc6KCk9PkwwYSxEZWVzVGFibGU6KCk9PldzZSxEZWVzVGhlbWU6KCk9PlU2YSxEZWVzVGh1bWJuYWlsQXVkaW86KCk9PmxkYSxEZWVzVGh1bWJuYWlsQmFzZTooKT0+b28sRGVlc1RodW1ibmFpbEZvbGRlcjooKT0+U2RhLERlZXNUaHVtYm5haWxJbWFnZTooKT0+cmRhLERlZXNUaHVtYm5haWxOb3RlOigpPT52ZGEsRGVlc1RodW1ibmFpbFBkZjooKT0+UTNhLERlZXNUaHVtYm5haWxWaWRlbzooKT0+ZmRhLERlZXNUaWxlOigpPT55c2EsRGVlc1RvYXN0OigpPT5EYSxEZWVzVXBkYXRlcjooKT0+bWllLERlZXNWaWRlb1ZpZXdlcjooKT0+QTNhLERlZXNXaW5kb3dDb250cm9sczooKT0+SnJhLERlZXNXaW5kb3dMYXllcjooKT0+anMsRGVlc1dvcmtzcGFjZTooKT0+c3VhLERlZXNXb3Jrc3BhY2VCb3R0b21iYXI6KCk9PmF1YSxEZWVzV29ya3NwYWNlRGlmZkVkaXRvcjooKT0+cnVhLERlZXNXb3Jrc3BhY2VGaWxldHJlZTooKT0+ZXVhLERlZXNXb3Jrc3BhY2VNYXJrZG93bjooKT0+cHVhLERlZXNXb3Jrc3BhY2VNYXJrZG93bm91dGxldDooKT0+YnVhLERlZXNXb3Jrc3BhY2VNb25hY286KCk9PlNzYSxEZWVzV29ya3NwYWNlVGVybWluYWw6KCk9PmtKZSxEZWVzV29ya3NwYWNlVGVybWluYWxQcmV2aWV3OigpPT50dWEsRGVlc1d5c2l3eWdCbG9jazooKT0+Y2xhLFBST0dSQU1NSU5HX0xBTkdVQUdFUzooKT0+QlUsUGRmTWFuYWdlcjooKT0+ZGwsUGVyZm9ybWFuY2VNb25pdG9yOigpPT5zNyxUZXJtaW5hbFRhYk1hbmFnZXI6KCk9Pm1HLFR5cGVTY3JpcHRJbnRlbGxpU2Vuc2VNYW5hZ2VyOigpPT52RyxWaWV3UmVnaXN0cnk6KCk9PlhXLFdlYkNvbnRhaW5lckVudmlyb25tZW50OigpPT5DNSxXeXNpd3lnQmxvY2tPcGVyYXRpb25zOigpPT5IVSxXeXNpd3lnQmxvY2tzOigpPT5haSxXeXNpd3lnQ29udmVydGVyczooKT0+QW4sV3lzaXd5Z0RyYWdEcm9wSGFuZGxlcjooKT0+R1csV3lzaXd5Z0Zvcm1hdHRpbmc6KCk9PnZjLFd5c2l3eWdIaXN0b3J5OigpPT5ZVyxXeXNpd3lnSW5wdXRIYW5kbGVyOigpPT5VVyxXeXNpd3lnS2V5Ym9hcmRIYW5kbGVyOigpPT5XVyxXeXNpd3lnTW9kYWxNYW5hZ2VyOigpPT5qVyxXeXNpd3lnU2VsZWN0aW9uOigpPT5zdCxXeXNpd3lnU2hvcnRjdXRzOigpPT5KcixaSW5kZXhSZWdpc3RyeTooKT0+UUosY29sb3JzOigpPT5sbSxjb21taXRpbmZvOigpPT5UdWEsY29tcG9uZW50WkluZGV4OigpPT5HQ2EsZGVib3VuY2U6KCk9Pm5OYSxmb3JtYXRDb3VudDooKT0+QzBhLGZvcm1hdEZpbGVTaXplOigpPT5LUWUsZm9ybWF0U2l6ZTooKT0+UW0sZ2V0Q29udGVudFR5cGU6KCk9Pk80LGdldERlZmF1bHRDb250ZW50OigpPT5lNyxnZXRGaWxlTmFtZTooKT0+bWEsZ2V0UGFyZW50UHJlZml4OigpPT5qMSxnZXRQYXRoU2VnbWVudHM6KCk9Png1LGdldFpJbmRleDooKT0+V0NhLGljb25zOigpPT5adGUsaXNJblZpZXdwb3J0OigpPT5jTmEscmVnaXN0ZXJBbGxCbG9ja0hhbmRsZXJzOigpPT5zbGEsdGhlbWVEZWZhdWx0U3R5bGVzOigpPT5FZSx0aGVtZURlZmF1bHRzOigpPT5Ybyx0aHJvdHRsZTooKT0+bE5hLHRodW1ibmFpbEJhc2VTdHlsZXM6KCk9PlJpLHZhbGlkYXRlTW92ZTooKT0+Sm0sd3lzaXd5Z1N0eWxlczooKT0+bEtlLHpJbmRleExheWVyczooKT0+RHMsekluZGV4UmVnaXN0cnk6KCk9Plp0fSk7dmFyIElKZT1mKCgpPT57X3VhKCk7TDEoKTtMdWEoKX0pO3ZhciBOSmUseUcsRk5hLFJKZT1mKCgpPT57bGUoKTtOSmU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHlHPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxGTmE9KCgpPT57bGV0IGE9W2llKCJzei1yZXNvdXJjZS11c2FnZS1jYXJkIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6UmVzb3VyY2VVc2FnZUNhcmQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSxOSmUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkYXRhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJkYXRhImluIHYsImhhcyIpLGdldDpzKHY9PnYuZGF0YSwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LmRhdGE9eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLE5KZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlcnZpY2VDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4ic2VydmljZUNvdW50ImluIHYsImhhcyIpLGdldDpzKHY9PnYuc2VydmljZUNvdW50LCJnZXQiKSxzZXQ6cygodix4KT0+e3Yuc2VydmljZUNvdW50PXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxOSmUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA4MDBweDsiPgogICAgICA8c3otcmVzb3VyY2UtdXNhZ2UtY2FyZAogICAgICAgIC5kYXRhPSR7e2NwdTouNSxtZW1vcnlVc2VkOiIxOTEgTUIiLG1lbW9yeVRvdGFsOiI0MjkuMiBHQiIsbmV0d29ya0luOiIzOC45IEtCL3MiLG5ldHdvcmtPdXQ6IjEuNyBLQi9zIix0b3BDb25zdW1lcnM6W3tuYW1lOiJ0ZXN0LW5naW54IixtZW1vcnk6IjMyLjEgTUIifSx7bmFtZToidGVzdC12MiIsbWVtb3J5OiIzMS43IE1CIn1dfX0KICAgICAgICBzZXJ2aWNlQ291bnQ9IjciCiAgICAgID48L3N6LXJlc291cmNlLXVzYWdlLWNhcmQ+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXNoYm9hcmQiXTsjZT15Ryh0aGlzLG4se2NwdTowLG1lbW9yeVVzZWQ6IjAgTUIiLG1lbW9yeVRvdGFsOiIwIEdCIixuZXR3b3JrSW46IjAgS0IvcyIsbmV0d29ya091dDoiMCBLQi9zIix0b3BDb25zdW1lcnM6W119KTtnZXQgZGF0YSgpe3JldHVybiB0aGlzLiNlfXNldCBkYXRhKG0pe3RoaXMuI2U9bX0jdD0oeUcodGhpcyxsKSx5Ryh0aGlzLGMsIjAiKSk7Z2V0IHNlcnZpY2VDb3VudCgpe3JldHVybiB0aGlzLiN0fXNldCBzZXJ2aWNlQ291bnQobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuY2FyZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLnZpZXctYWxsIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAudmlldy1hbGw6aG92ZXIgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAubWV0cmljcyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQoKICAgICAgLm1ldHJpYy1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDZweDsKICAgICAgfQoKICAgICAgLm1ldHJpYy1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAubWV0cmljLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWJhciB7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtZmlsbCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMzAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLm5ldHdvcmstcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAubmV0d29yay1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5uZXR3b3JrLWljb24gewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQoKICAgICAgLm5ldHdvcmstaWNvbi5kb3duIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAubmV0d29yay1pY29uLnVwIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAudG9wLWNvbnN1bWVycyB7CiAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC5jb25zdW1lcnMtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDZweDsKICAgICAgfQoKICAgICAgLmNvbnN1bWVycy1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5jb25zdW1lci1pdGVtIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmNvbnN1bWVyLW5hbWUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPlJlc291cmNlIFVzYWdlPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj5BZ2dyZWdhdGVkIGFjcm9zcyAke3RoaXMuc2VydmljZUNvdW50fSBzZXJ2aWNlczwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8YSBjbGFzcz0idmlldy1hbGwiPlZpZXcgQWxsPC9hPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWNzIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy1yb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtaGVhZGVyIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLWxhYmVsIj5DUFU8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLmRhdGEuY3B1LnRvRml4ZWQoMSl9JTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtZmlsbCIgc3R5bGU9IndpZHRoOiAke01hdGgubWluKHRoaXMuZGF0YS5jcHUsMTAwKX0lIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtcm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLWhlYWRlciI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy1sYWJlbCI+TWVtb3J5PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtdmFsdWUiPiR7dGhpcy5kYXRhLm1lbW9yeVVzZWR9IC8gJHt0aGlzLmRhdGEubWVtb3J5VG90YWx9PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1maWxsIiBzdHlsZT0id2lkdGg6ICR7dGhpcy5jYWxjdWxhdGVNZW1vcnlQZXJjZW50KCl9JSI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLXJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy1oZWFkZXIiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtbGFiZWwiPk5ldHdvcms8L3NwYW4+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmV0d29yay1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5ldHdvcmstaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Im5ldHdvcmstaWNvbiBkb3duIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiA1djE0TTE5IDEybC03IDctNy03Ii8+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAke3RoaXMuZGF0YS5uZXR3b3JrSW59CiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibmV0d29yay1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmV0d29yay1pY29uIHVwIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxOVY1TTUgMTJsNy03IDcgNyIvPgogICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgJHt0aGlzLmRhdGEubmV0d29ya091dH0KICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgJHt0aGlzLmRhdGEudG9wQ29uc3VtZXJzLmxlbmd0aD4wP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3AtY29uc3VtZXJzIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29uc3VtZXJzLWxhYmVsIj5Ub3AgY29uc3VtZXJzPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnN1bWVycy1saXN0Ij4KICAgICAgICAgICAgICAke3RoaXMuZGF0YS50b3BDb25zdW1lcnMubWFwKG09PndgCiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb25zdW1lci1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29uc3VtZXItbmFtZSI+JHttLm5hbWV9Ojwvc3Bhbj4gJHttLm1lbW9yeX0KICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWNhbGN1bGF0ZU1lbW9yeVBlcmNlbnQoKXtsZXQgbT1wYXJzZUZsb2F0KHRoaXMuZGF0YS5tZW1vcnlVc2VkKSx2PXBhcnNlRmxvYXQodGhpcy5kYXRhLm1lbW9yeVRvdGFsKTtyZXR1cm4gdj09PTA/MDpNYXRoLm1pbihtL3YqMTAwLDEwMCl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHlHKHRoaXMscCl9c3RhdGlje3lHKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciAkdWEsT0plLEJOYSxGSmU9ZigoKT0+e2xlKCk7JHVhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxPSmU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEJOYT0oKCk9PntsZXQgYT1baWUoInN6LXRyYWZmaWMtY2FyZCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelRyYWZmaWNDYXJkIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpPYmplY3R9KV0sJHVhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4iZGF0YSJpbiBwLCJoYXMiKSxnZXQ6cyhwPT5wLmRhdGEsImdldCIpLHNldDpzKChwLHUpPT57cC5kYXRhPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSwkdWEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA1MDBweDsiPgogICAgICA8c3otdHJhZmZpYy1jYXJkCiAgICAgICAgLmRhdGE9JHt7cmVxdWVzdHM6MTI1MCxlcnJvcnM6MTUsZXJyb3JQZXJjZW50OjEuMixhdmdSZXNwb25zZToxNDUscmVxUGVyTWluOjIxLHN0YXR1czJ4eDo4NSxzdGF0dXMzeHg6NSxzdGF0dXM0eHg6OCxzdGF0dXM1eHg6Mn19CiAgICAgID48L3N6LXRyYWZmaWMtY2FyZD4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhc2hib2FyZCJdOyNlPU9KZSh0aGlzLG4se3JlcXVlc3RzOjAsZXJyb3JzOjAsZXJyb3JQZXJjZW50OjAsYXZnUmVzcG9uc2U6MCxyZXFQZXJNaW46MCxzdGF0dXMyeHg6MCxzdGF0dXMzeHg6MCxzdGF0dXM0eHg6MCxzdGF0dXM1eHg6MH0pO2dldCBkYXRhKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGRhdGEoYyl7dGhpcy4jZT1jfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuY2FyZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLm1ldHJpY3MgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLm1ldHJpYyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAubWV0cmljLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLm1ldHJpYy12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYXItY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nLXRvcDogMTJweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAuc3RhdHVzLXNlZ21lbnQgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAzMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuc3RhdHVzLTJ4eCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMyMmM1NWUiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLTN4eCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLTR4eCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmYWNjMTUiLCIjZmFjYzE1Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLTV4eCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWxlZ2VuZCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIH0KCiAgICAgIC5sZWdlbmQtaXRlbSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCBjPXRoaXMuZGF0YS5zdGF0dXMyeHgrdGhpcy5kYXRhLnN0YXR1czN4eCt0aGlzLmRhdGEuc3RhdHVzNHh4K3RoaXMuZGF0YS5zdGF0dXM1eHgscD1jPjA/dGhpcy5kYXRhLnN0YXR1czJ4eC9jKjEwMDowLHU9Yz4wP3RoaXMuZGF0YS5zdGF0dXMzeHgvYyoxMDA6MCxtPWM+MD90aGlzLmRhdGEuc3RhdHVzNHh4L2MqMTAwOjAsdj1jPjA/dGhpcy5kYXRhLnN0YXR1czV4eC9jKjEwMDowO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPlRyYWZmaWMgKExhc3QgSG91cik8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj5SZXF1ZXN0IG1ldHJpY3MgZnJvbSBhY2Nlc3MgbG9nczwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWNzIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtbGFiZWwiPlJlcXVlc3RzPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLXZhbHVlIj4ke3RoaXMuZm9ybWF0TnVtYmVyKHRoaXMuZGF0YS5yZXF1ZXN0cyl9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLWxhYmVsIj5FcnJvcnM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtdmFsdWUiPiR7dGhpcy5kYXRhLmVycm9yc30gKCR7dGhpcy5kYXRhLmVycm9yUGVyY2VudH0lKTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy1sYWJlbCI+QXZnIFJlc3BvbnNlPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLXZhbHVlIj4ke3RoaXMuZGF0YS5hdmdSZXNwb25zZX1tczwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy1sYWJlbCI+UmVxL21pbjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLmRhdGEucmVxUGVyTWlufTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMtYmFyLWNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMtYmFyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzLXNlZ21lbnQgc3RhdHVzLTJ4eCIgc3R5bGU9IndpZHRoOiAke3B9JSI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cy1zZWdtZW50IHN0YXR1cy0zeHgiIHN0eWxlPSJ3aWR0aDogJHt1fSUiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMtc2VnbWVudCBzdGF0dXMtNHh4IiBzdHlsZT0id2lkdGg6ICR7bX0lIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzLXNlZ21lbnQgc3RhdHVzLTV4eCIgc3R5bGU9IndpZHRoOiAke3Z9JSI+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cy1sZWdlbmQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGVnZW5kLWl0ZW0iPjJ4eDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxlZ2VuZC1pdGVtIj4zeHg8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsZWdlbmQtaXRlbSI+NHh4PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGVnZW5kLWl0ZW0iPjV4eDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Zm9ybWF0TnVtYmVyKGMpe3JldHVybiBjPj0xZTY/KGMvMWU2KS50b0ZpeGVkKDEpKyJNIjpjPj0xZTM/KGMvMWUzKS50b0ZpeGVkKDEpKyJLIjpjLnRvU3RyaW5nKCl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLE9KZSh0aGlzLGwpfXN0YXRpY3tPSmUocix0KX19O3JldHVybiBkPXJ9KSgpfSk7dmFyIER1YSxCSmUsSE5hLEhKZT1mKCgpPT57bGUoKTtEdWE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEJKZT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sSE5hPSgoKT0+e2xldCBhPVtpZSgic3otcGxhdGZvcm0tc2VydmljZXMtY2FyZCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelBsYXRmb3JtU2VydmljZXNDYXJkIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxEdWEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZXJ2aWNlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4ic2VydmljZXMiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5zZXJ2aWNlcywiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLnNlcnZpY2VzPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSxEdWEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA1MDBweDsiPgogICAgICA8c3otcGxhdGZvcm0tc2VydmljZXMtY2FyZAogICAgICAgIC5zZXJ2aWNlcz0ke1t7bmFtZToiTW9uZ29EQiIsc3RhdHVzOiIxIERCIixydW5uaW5nOiEwfSx7bmFtZToiUzMgU3RvcmFnZSAoTWluSU8pIixzdGF0dXM6IjEgYnVja2V0IixydW5uaW5nOiEwfSx7bmFtZToiQ2FkZHkgUmV2ZXJzZSBQcm94eSIsc3RhdHVzOiJSdW5uaW5nIixydW5uaW5nOiEwfSx7bmFtZToiQ2xpY2tIb3VzZSIsc3RhdHVzOiIxIERCIixydW5uaW5nOiEwfV19CiAgICAgID48L3N6LXBsYXRmb3JtLXNlcnZpY2VzLWNhcmQ+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJQbGF0Zm9ybSJdOyNlPUJKZSh0aGlzLG4sW10pO2dldCBzZXJ2aWNlcygpe3JldHVybiB0aGlzLiNlfXNldCBzZXJ2aWNlcyhjKXt0aGlzLiNlPWN9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAuc2VydmljZXMtbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLnNlcnZpY2UtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuc2VydmljZS1pdGVtOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLWxlZnQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtZG90IHsKICAgICAgICB3aWR0aDogOHB4OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1kb3QucnVubmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMyMmM1NWUiLCIjMjJjNTVlIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCA2cHggJHtoLmJkVGhlbWUoInJnYmEoMzQsIDE5NywgOTQsIDAuNCkiLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjQpIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWRvdC5zdG9wcGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2VmNDQ0NCIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLXN0YXR1cyB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPlBsYXRmb3JtIFNlcnZpY2VzPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+SW5mcmFzdHJ1Y3R1cmUgc3RhdHVzPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2VzLWxpc3QiPgogICAgICAgICAgJHt0aGlzLnNlcnZpY2VzLm1hcChjPT53YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtaXRlbSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlU2VydmljZUNsaWNrKGMpfT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtbGVmdCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cy1kb3QgJHtjLnJ1bm5pbmc/InJ1bm5pbmciOiJzdG9wcGVkIn0iPjwvZGl2PgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VydmljZS1uYW1lIj4ke2MubmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZXJ2aWNlLXN0YXR1cyI+JHtjLnN0YXR1c308L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlU2VydmljZUNsaWNrKGMpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlcnZpY2UtY2xpY2siLHtkZXRhaWw6YyxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxCSmUodGhpcyxsKX1zdGF0aWN7QkplKHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciBiaWUsJDUscU5hLHFKZT1mKCgpPT57bGUoKTtiaWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LCQ1PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxxTmE9KCgpPT57bGV0IGE9W2llKCJzei1jZXJ0aWZpY2F0ZXMtY2FyZCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekNlcnRpZmljYXRlc0NhcmQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk51bWJlcn0pXSxkPVskKHt0eXBlOk51bWJlcn0pXSx1PVskKHt0eXBlOk51bWJlcn0pXSxiaWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWxpZENvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJ2YWxpZENvdW50ImluIGcsImhhcyIpLGdldDpzKGc9PmcudmFsaWRDb3VudCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnZhbGlkQ291bnQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSxuLGwpLGJpZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImV4cGlyaW5nQ291bnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImV4cGlyaW5nQ291bnQiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5leHBpcmluZ0NvdW50LCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuZXhwaXJpbmdDb3VudD15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LGMscCksYmllKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXhwaXJlZENvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJleHBpcmVkQ291bnQiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5leHBpcmVkQ291bnQsImdldCIpLHNldDpzKChnLHkpPT57Zy5leHBpcmVkQ291bnQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSxtLHYpLGJpZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLHQpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBkaXNwbGF5OiBmbGV4OyBnYXA6IDE2cHg7IGZsZXgtd3JhcDogd3JhcDsiPgogICAgICA8c3otY2VydGlmaWNhdGVzLWNhcmQgdmFsaWRDb3VudD0iMiI+PC9zei1jZXJ0aWZpY2F0ZXMtY2FyZD4KICAgICAgPHN6LWNlcnRpZmljYXRlcy1jYXJkIHZhbGlkQ291bnQ9IjUiIGV4cGlyaW5nQ291bnQ9IjIiPjwvc3otY2VydGlmaWNhdGVzLWNhcmQ+CiAgICAgIDxzei1jZXJ0aWZpY2F0ZXMtY2FyZCB2YWxpZENvdW50PSIwIiBleHBpcmVkQ291bnQ9IjEiPjwvc3otY2VydGlmaWNhdGVzLWNhcmQ+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJOZXR3b3JrIl07I2U9JDUodGhpcyxuLDApO2dldCB2YWxpZENvdW50KCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbGlkQ291bnQoYil7dGhpcy4jZT1ifSN0PSgkNSh0aGlzLGwpLCQ1KHRoaXMsYywwKSk7Z2V0IGV4cGlyaW5nQ291bnQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgZXhwaXJpbmdDb3VudChiKXt0aGlzLiN0PWJ9I2E9KCQ1KHRoaXMscCksJDUodGhpcyxtLDApKTtnZXQgZXhwaXJlZENvdW50KCl7cmV0dXJuIHRoaXMuI2F9c2V0IGV4cGlyZWRDb3VudChiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtaW4td2lkdGg6IDIwMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmNhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC50aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1pY29uIHsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtaWNvbi52YWxpZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjJjNTVlIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1pY29uLndhcm5pbmcgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ZhY2MxNSIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtaWNvbi5lcnJvciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZWY0NDQ0IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPkNlcnRpZmljYXRlczwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3VidGl0bGUiPlNTTC9UTFMgY2VydGlmaWNhdGUgc3RhdHVzPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cy1saXN0Ij4KICAgICAgICAgICR7dGhpcy52YWxpZENvdW50PjA/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzIj4KICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJzdGF0dXMtaWNvbiB2YWxpZCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjIwIDYgOSAxNyA0IDEyIj48L3BvbHlsaW5lPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtdGV4dCI+JHt0aGlzLnZhbGlkQ291bnR9IHZhbGlkPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CgogICAgICAgICAgJHt0aGlzLmV4cGlyaW5nQ291bnQ+MD93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMiPgogICAgICAgICAgICAgIDxzdmcgY2xhc3M9InN0YXR1cy1pY29uIHdhcm5pbmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAuMjkgMy44NkwxLjgyIDE4YTIgMiAwIDAgMCAxLjcxIDNoMTYuOTRhMiAyIDAgMCAwIDEuNzEtM0wxMy43MSAzLjg2YTIgMiAwIDAgMC0zLjQyIDB6Ij48L3BhdGg+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI5IiB4Mj0iMTIiIHkyPSIxMyI+PC9saW5lPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMTciIHgyPSIxMi4wMSIgeTI9IjE3Ij48L2xpbmU+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy10ZXh0Ij4ke3RoaXMuZXhwaXJpbmdDb3VudH0gZXhwaXJpbmcgc29vbjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQoKICAgICAgICAgICR7dGhpcy5leHBpcmVkQ291bnQ+MD93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMiPgogICAgICAgICAgICAgIDxzdmcgY2xhc3M9InN0YXR1cy1pY29uIGVycm9yIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjE1IiB5MT0iOSIgeDI9IjkiIHkyPSIxNSI+PC9saW5lPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjkiIHkxPSI5IiB4Mj0iMTUiIHkyPSIxNSI+PC9saW5lPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtdGV4dCI+JHt0aGlzLmV4cGlyZWRDb3VudH0gZXhwaXJlZDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQoKICAgICAgICAgICR7dGhpcy52YWxpZENvdW50PT09MCYmdGhpcy5leHBpcmluZ0NvdW50PT09MCYmdGhpcy5leHBpcmVkQ291bnQ9PT0wP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cyI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy10ZXh0Ij5ObyBjZXJ0aWZpY2F0ZXM8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSwkNSh0aGlzLHYpfXN0YXRpY3skNShyLHQpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgcDcsUTEsVk5hLFZKZT1mKCgpPT57bGUoKTtwNz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sUTE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFZOYT0oKCk9PntsZXQgYT1baWUoInN6LXJldmVyc2UtcHJveHktY2FyZCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdO3ZhciBOPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelJldmVyc2VQcm94eUNhcmQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOkJvb2xlYW59KV0seD1bJCh7dHlwZTpCb29sZWFufSldLHk9WyQoe3R5cGU6U3RyaW5nfSldLHA3KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaHR0cFBvcnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Imh0dHBQb3J0ImluIHosImhhcyIpLGdldDpzKHo9PnouaHR0cFBvcnQsImdldCIpLHNldDpzKCh6LE8pPT57ei5odHRwUG9ydD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG4sbCkscDcodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJodHRwc1BvcnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Imh0dHBzUG9ydCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56Lmh0dHBzUG9ydCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6Lmh0dHBzUG9ydD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGMscCkscDcodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJodHRwQWN0aXZlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJodHRwQWN0aXZlImluIHosImhhcyIpLGdldDpzKHo9PnouaHR0cEFjdGl2ZSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6Lmh0dHBBY3RpdmU9T30sInNldCIpfSxtZXRhZGF0YTpffSxtLHYpLHA3KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaHR0cHNBY3RpdmUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Imh0dHBzQWN0aXZlImluIHosImhhcyIpLGdldDpzKHo9PnouaHR0cHNBY3RpdmUsImdldCIpLHNldDpzKCh6LE8pPT57ei5odHRwc0FjdGl2ZT1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGIsZykscDcodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyb3V0ZUNvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJyb3V0ZUNvdW50ImluIHosImhhcyIpLGdldDpzKHo9Pnoucm91dGVDb3VudCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnJvdXRlQ291bnQ9T30sInNldCIpfSxtZXRhZGF0YTpffSxrLEMpLHA3KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsdCksTj1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogNDAwcHg7Ij4KICAgICAgPHN6LXJldmVyc2UtcHJveHktY2FyZAogICAgICAgIGh0dHBQb3J0PSI4MDgwIgogICAgICAgIGh0dHBzUG9ydD0iODQ0MyIKICAgICAgICBodHRwQWN0aXZlCiAgICAgICAgaHR0cHNBY3RpdmUKICAgICAgICByb3V0ZUNvdW50PSIzIgogICAgICA+PC9zei1yZXZlcnNlLXByb3h5LWNhcmQ+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJOZXR3b3JrIl07I2U9UTEodGhpcyxuLCI4MCIpO2dldCBodHRwUG9ydCgpe3JldHVybiB0aGlzLiNlfXNldCBodHRwUG9ydChfKXt0aGlzLiNlPV99I3Q9KFExKHRoaXMsbCksUTEodGhpcyxjLCI0NDMiKSk7Z2V0IGh0dHBzUG9ydCgpe3JldHVybiB0aGlzLiN0fXNldCBodHRwc1BvcnQoXyl7dGhpcy4jdD1ffSNhPShRMSh0aGlzLHApLFExKHRoaXMsbSwhMSkpO2dldCBodHRwQWN0aXZlKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGh0dHBBY3RpdmUoXyl7dGhpcy4jYT1ffSNyPShRMSh0aGlzLHYpLFExKHRoaXMsYiwhMSkpO2dldCBodHRwc0FjdGl2ZSgpe3JldHVybiB0aGlzLiNyfXNldCBodHRwc0FjdGl2ZShfKXt0aGlzLiNyPV99I3M9KFExKHRoaXMsZyksUTEodGhpcyxrLCIwIikpO2dldCByb3V0ZUNvdW50KCl7cmV0dXJuIHRoaXMuI3N9c2V0IHJvdXRlQ291bnQoXyl7dGhpcy4jcz1ffXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuY2FyZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLml0ZW1zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICB9CgogICAgICAuaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLml0ZW0tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuaXRlbS12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggMTBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5iYWRnZS5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuYmFkZ2UuaW5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj5SZXZlcnNlIFByb3h5PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+SFRUUC9IVFRQUyBwcm94eSBzdGF0dXM8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaXRlbXMiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLWxhYmVsIj5IVFRQICgke3RoaXMuaHR0cFBvcnR9KTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlICR7dGhpcy5odHRwQWN0aXZlPyJhY3RpdmUiOiJpbmFjdGl2ZSJ9Ij4KICAgICAgICAgICAgICAke3RoaXMuaHR0cEFjdGl2ZT8iQWN0aXZlIjoiSW5hY3RpdmUifQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1sYWJlbCI+SFRUUFMgKCR7dGhpcy5odHRwc1BvcnR9KTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlICR7dGhpcy5odHRwc0FjdGl2ZT8iYWN0aXZlIjoiaW5hY3RpdmUifSI+CiAgICAgICAgICAgICAgJHt0aGlzLmh0dHBzQWN0aXZlPyJBY3RpdmUiOiJJbmFjdGl2ZSJ9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLWxhYmVsIj5Sb3V0ZXM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXZhbHVlIj4ke3RoaXMucm91dGVDb3VudH08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxRMSh0aGlzLEMpfXN0YXRpY3tRMShyLHQpfX07cmV0dXJuIE49cn0pKCl9KTt2YXIgakplLHdHLGpOYSxVSmU9ZigoKT0+e2xlKCk7akplPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSx3Rz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sak5hPSgoKT0+e2xldCBhPVtpZSgic3otZG5zLXNzbC1jYXJkIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6RG5zU3NsQ2FyZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6Qm9vbGVhbn0pXSxkPVskKHt0eXBlOkJvb2xlYW59KV0sakplKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZG5zQ29uZmlndXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iZG5zQ29uZmlndXJlZCJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmRuc0NvbmZpZ3VyZWQsImdldCIpLHNldDpzKCh2LHgpPT57di5kbnNDb25maWd1cmVkPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxqSmUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY21lQ29uZmlndXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iYWNtZUNvbmZpZ3VyZWQiaW4gdiwiaGFzIiksZ2V0OnModj0+di5hY21lQ29uZmlndXJlZCwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LmFjbWVDb25maWd1cmVkPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxqSmUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA0MDBweDsiPgogICAgICA8c3otZG5zLXNzbC1jYXJkCiAgICAgICAgZG5zQ29uZmlndXJlZAogICAgICAgIGFjbWVDb25maWd1cmVkCiAgICAgID48L3N6LWRucy1zc2wtY2FyZD4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk5ldHdvcmsiXTsjZT13Ryh0aGlzLG4sITEpO2dldCBkbnNDb25maWd1cmVkKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGRuc0NvbmZpZ3VyZWQobSl7dGhpcy4jZT1tfSN0PSh3Ryh0aGlzLGwpLHdHKHRoaXMsYywhMSkpO2dldCBhY21lQ29uZmlndXJlZCgpe3JldHVybiB0aGlzLiN0fXNldCBhY21lQ29uZmlndXJlZChtKXt0aGlzLiN0PW19c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAuaXRlbXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgIH0KCiAgICAgIC5pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAuaXRlbS1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggMTBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5iYWRnZS5jb25maWd1cmVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5iYWRnZS5ub3QtY29uZmlndXJlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPkROUyAmIFNTTDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3VidGl0bGUiPkNvbmZpZ3VyYXRpb24gc3RhdHVzPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9Iml0ZW1zIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1sYWJlbCI+Q2xvdWRmbGFyZSBETlM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZSAke3RoaXMuZG5zQ29uZmlndXJlZD8iY29uZmlndXJlZCI6Im5vdC1jb25maWd1cmVkIn0iPgogICAgICAgICAgICAgICR7dGhpcy5kbnNDb25maWd1cmVkPyJDb25maWd1cmVkIjoiTm90IGNvbmZpZ3VyZWQifQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1sYWJlbCI+QUNNRSAoTGV0J3MgRW5jcnlwdCk8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZSAke3RoaXMuYWNtZUNvbmZpZ3VyZWQ/ImNvbmZpZ3VyZWQiOiJub3QtY29uZmlndXJlZCJ9Ij4KICAgICAgICAgICAgICAke3RoaXMuYWNtZUNvbmZpZ3VyZWQ/IkNvbmZpZ3VyZWQiOiJOb3QgY29uZmlndXJlZCJ9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHdHKHRoaXMscCl9c3RhdGlje3dHKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBBdWEsV0plLFVOYSxHSmU9ZigoKT0+e2xlKCk7QXVhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxXSmU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFVOYT0oKCk9PntsZXQgYT1baWUoInN6LXF1aWNrLWFjdGlvbnMtY2FyZCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelF1aWNrQWN0aW9uc0NhcmQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLEF1YSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+ImFjdGlvbnMiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5hY3Rpb25zLCJnZXQiKSxzZXQ6cygocCx1KT0+e3AuYWN0aW9ucz11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksQXVhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogODAwcHg7Ij4KICAgICAgPHN6LXF1aWNrLWFjdGlvbnMtY2FyZAogICAgICAgIC5hY3Rpb25zPSR7W3tsYWJlbDoiRGVwbG95IFNlcnZpY2UiLGljb246InBsdXMiLHByaW1hcnk6ITB9LHtsYWJlbDoiVmlldyBBbGwgU2VydmljZXMifSx7bGFiZWw6IlBsYXRmb3JtIFNlcnZpY2VzIn0se2xhYmVsOiJNYW5hZ2UgRG9tYWlucyJ9XX0KICAgICAgPjwvc3otcXVpY2stYWN0aW9ucy1jYXJkPgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGFzaGJvYXJkIl07I2U9V0plKHRoaXMsbixbXSk7Z2V0IGFjdGlvbnMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgYWN0aW9ucyhjKXt0aGlzLiNlPWN9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAuYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjM2I4MmY2Iil9OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxZDRlZDgiLCIjMjU2M2ViIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5zZWNvbmRhcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uc2Vjb25kYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24taWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj5RdWljayBBY3Rpb25zPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+Q29tbW9uIHRhc2tzIGFuZCBzaG9ydGN1dHM8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9ucyI+CiAgICAgICAgICAke3RoaXMuYWN0aW9ucy5tYXAoYz0+d2AKICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0iYWN0aW9uLWJ1dHRvbiAke2MucHJpbWFyeT8icHJpbWFyeSI6InNlY29uZGFyeSJ9IgogICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uQ2xpY2soYyl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgJHtjLmljb249PT0icGx1cyI/d2AKICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iYWN0aW9uLWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAke2MubGFiZWx9CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlQWN0aW9uQ2xpY2soYyl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYWN0aW9uLWNsaWNrIix7ZGV0YWlsOmMsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksV0plKHRoaXMsbCl9c3RhdGlje1dKZShyLHQpfX07cmV0dXJuIGQ9cn0pKCl9KTt2YXIgRXVhLFlKZSxXTmEsS0plPWYoKCk9PntsZSgpO0V1YT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sWUplPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxXTmE9KCgpPT57bGV0IGE9W2llKCJzei1zdGF0dXMtZ3JpZC1jbHVzdGVyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6U3RhdHVzR3JpZENsdXN0ZXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxFdWEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4ic3RhdHMiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5zdGF0cywiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLnN0YXRzPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSxFdWEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA5MDBweDsiPgogICAgICA8c3otc3RhdHVzLWdyaWQtY2x1c3RlcgogICAgICAgIC5zdGF0cz0ke3t0b3RhbFNlcnZpY2VzOjcscnVubmluZzo3LHN0b3BwZWQ6MCxkb2NrZXJTdGF0dXM6InJ1bm5pbmcifX0KICAgICAgPjwvc3otc3RhdHVzLWdyaWQtY2x1c3Rlcj4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhc2hib2FyZCBHcmlkcyJdOyNlPVlKZSh0aGlzLG4se3RvdGFsU2VydmljZXM6MCxydW5uaW5nOjAsc3RvcHBlZDowLGRvY2tlclN0YXR1czoic3RvcHBlZCJ9KTtnZXQgc3RhdHMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc3RhdHMoYyl7dGhpcy4jZT1jfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KICAgIGBdO2dldCB0aWxlcygpe3JldHVyblt7aWQ6InRvdGFsIix0aXRsZToiVG90YWwgU2VydmljZXMiLHZhbHVlOnRoaXMuc3RhdHMudG90YWxTZXJ2aWNlcyx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTpzZXJ2ZXIifSx7aWQ6InJ1bm5pbmciLHRpdGxlOiJSdW5uaW5nIix2YWx1ZTp0aGlzLnN0YXRzLnJ1bm5pbmcsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6Y2hlY2siLGNvbG9yOiIjMjJjNTVlIn0se2lkOiJzdG9wcGVkIix0aXRsZToiU3RvcHBlZCIsdmFsdWU6dGhpcy5zdGF0cy5zdG9wcGVkLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOmNpcmNsZVN0b3AiLGNvbG9yOnRoaXMuc3RhdHMuc3RvcHBlZD4wPyIjZjU5ZTBiIjp2b2lkIDB9LHtpZDoiZG9ja2VyIix0aXRsZToiRG9ja2VyIix2YWx1ZTp0aGlzLnN0YXRzLmRvY2tlclN0YXR1cz09PSJydW5uaW5nIj8iUnVubmluZyI6IlN0b3BwZWQiLHR5cGU6InRleHQiLGljb246Imx1Y2lkZTpjb250YWluZXIiLGNvbG9yOnRoaXMuc3RhdHMuZG9ja2VyU3RhdHVzPT09InJ1bm5pbmciPyIjMjJjNTVlIjoiI2VmNDQ0NCJ9XX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgLnRpbGVzPSR7dGhpcy50aWxlc30KICAgICAgICAubWluVGlsZVdpZHRoPSR7MjAwfQogICAgICA+PC9kZWVzLXN0YXRzZ3JpZD4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFlKZSh0aGlzLGwpfXN0YXRpY3tZSmUocix0KX19O3JldHVybiBkPXJ9KSgpfSk7dmFyIFpKZSxNRyxHTmEsWEplPWYoKCk9PntsZSgpO1JKZSgpO0hKZSgpO1pKZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sTUc9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEdOYT0oKCk9PntsZXQgYT1baWUoInN6LXN0YXR1cy1ncmlkLXNlcnZpY2VzIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6U3RhdHVzR3JpZFNlcnZpY2VzIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpPYmplY3R9KV0sZD1bJCh7dHlwZTpBcnJheX0pXSxaSmUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZXNvdXJjZVVzYWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJyZXNvdXJjZVVzYWdlImluIHYsImhhcyIpLGdldDpzKHY9PnYucmVzb3VyY2VVc2FnZSwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnJlc291cmNlVXNhZ2U9eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLFpKZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYXRmb3JtU2VydmljZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InBsYXRmb3JtU2VydmljZXMiaW4gdiwiaGFzIiksZ2V0OnModj0+di5wbGF0Zm9ybVNlcnZpY2VzLCJnZXQiKSxzZXQ6cygodix4KT0+e3YucGxhdGZvcm1TZXJ2aWNlcz14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCksWkplKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTIwMHB4OyI+CiAgICAgIDxzei1zdGF0dXMtZ3JpZC1zZXJ2aWNlcwogICAgICAgIC5yZXNvdXJjZVVzYWdlPSR7e2NwdTo0NSxtZW1vcnlVc2VkOiI0Ljk2IEdCIixtZW1vcnlUb3RhbDoiOCBHQiIsbmV0d29ya0luOiIxLjIgTUIvcyIsbmV0d29ya091dDoiMC44IE1CL3MiLHRvcENvbnN1bWVyczpbe25hbWU6ImFwaS1zZXJ2aWNlIixtZW1vcnk6IjUxMiBNQiJ9LHtuYW1lOiJ3ZWItZnJvbnRlbmQiLG1lbW9yeToiMjU2IE1CIn0se25hbWU6IndvcmtlciIsbWVtb3J5OiIxMjggTUIifV19fQogICAgICAgIC5wbGF0Zm9ybVNlcnZpY2VzPSR7W3tuYW1lOiJNb25nb0RCIixzdGF0dXM6IjEgREIiLHJ1bm5pbmc6ITB9LHtuYW1lOiJTMyBTdG9yYWdlIixzdGF0dXM6IjEgYnVja2V0IixydW5uaW5nOiEwfSx7bmFtZToiQ2xpY2tIb3VzZSIsc3RhdHVzOiJTdG9wcGVkIixydW5uaW5nOiExfSx7bmFtZToiUmVkaXMgQ2FjaGUiLHN0YXR1czoiUnVubmluZyIscnVubmluZzohMH1dfQogICAgICA+PC9zei1zdGF0dXMtZ3JpZC1zZXJ2aWNlcz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhc2hib2FyZCBHcmlkcyJdOyNlPU1HKHRoaXMsbix7Y3B1OjAsbWVtb3J5VXNlZDoiMCBHQiIsbWVtb3J5VG90YWw6IjAgR0IiLG5ldHdvcmtJbjoiMCBNQi9zIixuZXR3b3JrT3V0OiIwIE1CL3MiLHRvcENvbnN1bWVyczpbXX0pO2dldCByZXNvdXJjZVVzYWdlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHJlc291cmNlVXNhZ2UobSl7dGhpcy4jZT1tfSN0PShNRyh0aGlzLGwpLE1HKHRoaXMsYyxbXSkpO2dldCBwbGF0Zm9ybVNlcnZpY2VzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHBsYXRmb3JtU2VydmljZXMobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgfQoKICAgICAgLmdyaWQgPiAqIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJncmlkIj4KICAgICAgICA8c3otcmVzb3VyY2UtdXNhZ2UtY2FyZAogICAgICAgICAgLnVzYWdlPSR7dGhpcy5yZXNvdXJjZVVzYWdlfQogICAgICAgID48L3N6LXJlc291cmNlLXVzYWdlLWNhcmQ+CiAgICAgICAgPHN6LXBsYXRmb3JtLXNlcnZpY2VzLWNhcmQKICAgICAgICAgIC5zZXJ2aWNlcz0ke3RoaXMucGxhdGZvcm1TZXJ2aWNlc30KICAgICAgICA+PC9zei1wbGF0Zm9ybS1zZXJ2aWNlcy1jYXJkPgogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLE1HKHRoaXMscCl9c3RhdGlje01HKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciB2aWUsRDUsWU5hLFFKZT1mKCgpPT57bGUoKTtGSmUoKTtWSmUoKTtxSmUoKTt2aWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEQ1PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxZTmE9KCgpPT57bGV0IGE9W2llKCJzei1zdGF0dXMtZ3JpZC1uZXR3b3JrIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6U3RhdHVzR3JpZE5ldHdvcmsiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOk9iamVjdH0pXSx1PVskKHt0eXBlOk9iamVjdH0pXSx2aWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0cmFmZmljIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJ0cmFmZmljImluIGcsImhhcyIpLGdldDpzKGc9PmcudHJhZmZpYywiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnRyYWZmaWM9eX0sInNldCIpfSxtZXRhZGF0YTpifSxuLGwpLHZpZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InByb3h5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJwcm94eSJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLnByb3h5LCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cucHJveHk9eX0sInNldCIpfSxtZXRhZGF0YTpifSxjLHApLHZpZSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNlcnRpZmljYXRlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iY2VydGlmaWNhdGVzImluIGcsImhhcyIpLGdldDpzKGc9PmcuY2VydGlmaWNhdGVzLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuY2VydGlmaWNhdGVzPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSx2aWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxNDAwcHg7Ij4KICAgICAgPHN6LXN0YXR1cy1ncmlkLW5ldHdvcmsKICAgICAgICAudHJhZmZpYz0ke3tyZXF1ZXN0czoxMjU0MjAsZXJyb3JzOjE1MCxlcnJvclBlcmNlbnQ6LjEyLGF2Z1Jlc3BvbnNlOjQ1LHJlcVBlck1pbjo4NDcsc3RhdHVzMnh4Ojk1LjIsc3RhdHVzM3h4OjIuMSxzdGF0dXM0eHg6Mi4zLHN0YXR1czV4eDouNH19CiAgICAgICAgLnByb3h5PSR7e2h0dHBQb3J0OiI4MCIsaHR0cHNQb3J0OiI0NDMiLGh0dHBBY3RpdmU6ITAsaHR0cHNBY3RpdmU6ITAscm91dGVDb3VudDoiMTIifX0KICAgICAgICAuY2VydGlmaWNhdGVzPSR7e3ZhbGlkOjgsZXhwaXJpbmc6MixleHBpcmVkOjB9fQogICAgICA+PC9zei1zdGF0dXMtZ3JpZC1uZXR3b3JrPgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGFzaGJvYXJkIEdyaWRzIl07I2U9RDUodGhpcyxuLHtyZXF1ZXN0czowLGVycm9yczowLGVycm9yUGVyY2VudDowLGF2Z1Jlc3BvbnNlOjAscmVxUGVyTWluOjAsc3RhdHVzMnh4OjAsc3RhdHVzM3h4OjAsc3RhdHVzNHh4OjAsc3RhdHVzNXh4OjB9KTtnZXQgdHJhZmZpYygpe3JldHVybiB0aGlzLiNlfXNldCB0cmFmZmljKGIpe3RoaXMuI2U9Yn0jdD0oRDUodGhpcyxsKSxENSh0aGlzLGMse2h0dHBQb3J0OiI4MCIsaHR0cHNQb3J0OiI0NDMiLGh0dHBBY3RpdmU6ITEsaHR0cHNBY3RpdmU6ITEscm91dGVDb3VudDoiMCJ9KSk7Z2V0IHByb3h5KCl7cmV0dXJuIHRoaXMuI3R9c2V0IHByb3h5KGIpe3RoaXMuI3Q9Yn0jYT0oRDUodGhpcyxwKSxENSh0aGlzLG0se3ZhbGlkOjAsZXhwaXJpbmc6MCxleHBpcmVkOjB9KSk7Z2V0IGNlcnRpZmljYXRlcygpe3JldHVybiB0aGlzLiNhfXNldCBjZXJ0aWZpY2F0ZXMoYil7dGhpcy4jYT1ifXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgfQoKICAgICAgLmdyaWQgPiAqIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHsKICAgICAgICAuZ3JpZCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnIgMWZyOwogICAgICAgIH0KICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQiPgogICAgICAgIDxzei10cmFmZmljLWNhcmQKICAgICAgICAgIC5kYXRhPSR7dGhpcy50cmFmZmljfQogICAgICAgID48L3N6LXRyYWZmaWMtY2FyZD4KICAgICAgICA8c3otcmV2ZXJzZS1wcm94eS1jYXJkCiAgICAgICAgICBodHRwUG9ydD0iJHt0aGlzLnByb3h5Lmh0dHBQb3J0fSIKICAgICAgICAgIGh0dHBzUG9ydD0iJHt0aGlzLnByb3h5Lmh0dHBzUG9ydH0iCiAgICAgICAgICA/aHR0cEFjdGl2ZT0ke3RoaXMucHJveHkuaHR0cEFjdGl2ZX0KICAgICAgICAgID9odHRwc0FjdGl2ZT0ke3RoaXMucHJveHkuaHR0cHNBY3RpdmV9CiAgICAgICAgICByb3V0ZUNvdW50PSIke3RoaXMucHJveHkucm91dGVDb3VudH0iCiAgICAgICAgPjwvc3otcmV2ZXJzZS1wcm94eS1jYXJkPgogICAgICAgIDxzei1jZXJ0aWZpY2F0ZXMtY2FyZAogICAgICAgICAgdmFsaWQ9IiR7dGhpcy5jZXJ0aWZpY2F0ZXMudmFsaWR9IgogICAgICAgICAgZXhwaXJpbmc9IiR7dGhpcy5jZXJ0aWZpY2F0ZXMuZXhwaXJpbmd9IgogICAgICAgICAgZXhwaXJlZD0iJHt0aGlzLmNlcnRpZmljYXRlcy5leHBpcmVkfSIKICAgICAgICA+PC9zei1jZXJ0aWZpY2F0ZXMtY2FyZD4KICAgICAgPC9kaXY+CiAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxENSh0aGlzLHYpfXN0YXRpY3tENShyLHQpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgeGllLEE1LEtOYSxKSmU9ZigoKT0+e2xlKCk7VUplKCk7R0plKCk7eGllPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxBNT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sS05hPSgoKT0+e2xldCBhPVtpZSgic3otc3RhdHVzLWdyaWQtaW5mcmEiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pTdGF0dXNHcmlkSW5mcmEiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkJvb2xlYW59KV0sZD1bJCh7dHlwZTpCb29sZWFufSldLHU9WyQoe3R5cGU6QXJyYXl9KV0seGllKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZG5zQ29uZmlndXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iZG5zQ29uZmlndXJlZCJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLmRuc0NvbmZpZ3VyZWQsImdldCIpLHNldDpzKChnLHkpPT57Zy5kbnNDb25maWd1cmVkPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbixsKSx4aWUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY21lQ29uZmlndXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iYWNtZUNvbmZpZ3VyZWQiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5hY21lQ29uZmlndXJlZCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLmFjbWVDb25maWd1cmVkPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sYyxwKSx4aWUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJhY3Rpb25zImluIGcsImhhcyIpLGdldDpzKGc9PmcuYWN0aW9ucywiZ2V0Iiksc2V0OnMoKGcseSk9PntnLmFjdGlvbnM9eX0sInNldCIpfSxtZXRhZGF0YTpifSxtLHYpLHhpZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLHQpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEyMDBweDsiPgogICAgICA8c3otc3RhdHVzLWdyaWQtaW5mcmEKICAgICAgICBkbnNDb25maWd1cmVkCiAgICAgICAgYWNtZUNvbmZpZ3VyZWQKICAgICAgICAuYWN0aW9ucz0ke1t7bGFiZWw6IkRlcGxveSBTZXJ2aWNlIixpY29uOiJwbHVzIixwcmltYXJ5OiEwfSx7bGFiZWw6IlZpZXcgQWxsIFNlcnZpY2VzIn0se2xhYmVsOiJQbGF0Zm9ybSBTZXJ2aWNlcyJ9LHtsYWJlbDoiTWFuYWdlIERvbWFpbnMifV19CiAgICAgID48L3N6LXN0YXR1cy1ncmlkLWluZnJhPgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGFzaGJvYXJkIEdyaWRzIl07I2U9QTUodGhpcyxuLCExKTtnZXQgZG5zQ29uZmlndXJlZCgpe3JldHVybiB0aGlzLiNlfXNldCBkbnNDb25maWd1cmVkKGIpe3RoaXMuI2U9Yn0jdD0oQTUodGhpcyxsKSxBNSh0aGlzLGMsITEpKTtnZXQgYWNtZUNvbmZpZ3VyZWQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYWNtZUNvbmZpZ3VyZWQoYil7dGhpcy4jdD1ifSNhPShBNSh0aGlzLHApLEE1KHRoaXMsbSxbXSkpO2dldCBhY3Rpb25zKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGFjdGlvbnMoYil7dGhpcy4jYT1ifXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgfQoKICAgICAgLmdyaWQgPiAqIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDJmcjsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJncmlkIj4KICAgICAgICA8c3otZG5zLXNzbC1jYXJkCiAgICAgICAgICA/ZG5zQ29uZmlndXJlZD0ke3RoaXMuZG5zQ29uZmlndXJlZH0KICAgICAgICAgID9hY21lQ29uZmlndXJlZD0ke3RoaXMuYWNtZUNvbmZpZ3VyZWR9CiAgICAgICAgPjwvc3otZG5zLXNzbC1jYXJkPgogICAgICAgIDxzei1xdWljay1hY3Rpb25zLWNhcmQKICAgICAgICAgIC5hY3Rpb25zPSR7dGhpcy5hY3Rpb25zfQogICAgICAgICAgQGFjdGlvbi1jbGljaz0ke2I9PnRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFjdGlvbi1jbGljayIse2RldGFpbDpiLmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfQogICAgICAgID48L3N6LXF1aWNrLWFjdGlvbnMtY2FyZD4KICAgICAgPC9kaXY+CiAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxBNSh0aGlzLHYpfXN0YXRpY3tBNShyLHQpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgUHVhLGVldCxaTmEsSXVhPWYoKCk9PntsZSgpO0tKZSgpO1hKZSgpO1FKZSgpO0pKZSgpO1B1YT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sZWV0PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxaTmE9KCgpPT57bGV0IGE9W2llKCJzei1kYXNoYm9hcmQtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekRhc2hib2FyZFZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxQdWEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkYXRhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJkYXRhImluIHAsImhhcyIpLGdldDpzKHA9PnAuZGF0YSwiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLmRhdGE9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLFB1YShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDE0MDBweDsiPgogICAgICA8c3otZGFzaGJvYXJkLXZpZXcKICAgICAgICAuZGF0YT0ke3tjbHVzdGVyOnt0b3RhbFNlcnZpY2VzOjcscnVubmluZzo3LHN0b3BwZWQ6MCxkb2NrZXJTdGF0dXM6InJ1bm5pbmcifSxyZXNvdXJjZVVzYWdlOntjcHU6LjUsbWVtb3J5VXNlZDoiMTkxIE1CIixtZW1vcnlUb3RhbDoiNDI5LjIgR0IiLG5ldHdvcmtJbjoiMzguOSBLQi9zIixuZXR3b3JrT3V0OiIxLjcgS0IvcyIsdG9wQ29uc3VtZXJzOlt7bmFtZToidGVzdC1uZ2lueCIsbWVtb3J5OiIzMi4xIE1CIn0se25hbWU6InRlc3QtdjIiLG1lbW9yeToiMzEuNyBNQiJ9XX0scGxhdGZvcm1TZXJ2aWNlczpbe25hbWU6Ik1vbmdvREIiLHN0YXR1czoiMSBEQiIscnVubmluZzohMH0se25hbWU6IlMzIFN0b3JhZ2UgKE1pbklPKSIsc3RhdHVzOiIxIGJ1Y2tldCIscnVubmluZzohMH0se25hbWU6IkNhZGR5IFJldmVyc2UgUHJveHkiLHN0YXR1czoiUnVubmluZyIscnVubmluZzohMH0se25hbWU6IkNsaWNrSG91c2UiLHN0YXR1czoiMSBEQiIscnVubmluZzohMH1dLHRyYWZmaWM6e3JlcXVlc3RzOjEyNTAsZXJyb3JzOjE1LGVycm9yUGVyY2VudDoxLjIsYXZnUmVzcG9uc2U6MTQ1LHJlcVBlck1pbjoyMSxzdGF0dXMyeHg6ODUsc3RhdHVzM3h4OjUsc3RhdHVzNHh4Ojgsc3RhdHVzNXh4OjJ9LHByb3h5OntodHRwUG9ydDoiODAiLGh0dHBzUG9ydDoiNDQzIixodHRwQWN0aXZlOiEwLGh0dHBzQWN0aXZlOiEwLHJvdXRlQ291bnQ6IjEyIn0sY2VydGlmaWNhdGVzOnt2YWxpZDo4LGV4cGlyaW5nOjIsZXhwaXJlZDowfSxkbnNDb25maWd1cmVkOiEwLGFjbWVDb25maWd1cmVkOiEwLHF1aWNrQWN0aW9uczpbe2xhYmVsOiJEZXBsb3kgU2VydmljZSIsaWNvbjoicGx1cyIscHJpbWFyeTohMH0se2xhYmVsOiJWaWV3IEFsbCBTZXJ2aWNlcyJ9LHtsYWJlbDoiUGxhdGZvcm0gU2VydmljZXMifSx7bGFiZWw6Ik1hbmFnZSBEb21haW5zIn1dfX0KICAgICAgPjwvc3otZGFzaGJvYXJkLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXNoYm9hcmQiXTsjZT1lZXQodGhpcyxuLHtjbHVzdGVyOnt0b3RhbFNlcnZpY2VzOjAscnVubmluZzowLHN0b3BwZWQ6MCxkb2NrZXJTdGF0dXM6InN0b3BwZWQifSxyZXNvdXJjZVVzYWdlOntjcHU6MCxtZW1vcnlVc2VkOiIwIE1CIixtZW1vcnlUb3RhbDoiMCBHQiIsbmV0d29ya0luOiIwIEtCL3MiLG5ldHdvcmtPdXQ6IjAgS0IvcyIsdG9wQ29uc3VtZXJzOltdfSxwbGF0Zm9ybVNlcnZpY2VzOltdLHRyYWZmaWM6e3JlcXVlc3RzOjAsZXJyb3JzOjAsZXJyb3JQZXJjZW50OjAsYXZnUmVzcG9uc2U6MCxyZXFQZXJNaW46MCxzdGF0dXMyeHg6MCxzdGF0dXMzeHg6MCxzdGF0dXM0eHg6MCxzdGF0dXM1eHg6MH0scHJveHk6e2h0dHBQb3J0OiI4MCIsaHR0cHNQb3J0OiI0NDMiLGh0dHBBY3RpdmU6ITEsaHR0cHNBY3RpdmU6ITEscm91dGVDb3VudDoiMCJ9LGNlcnRpZmljYXRlczp7dmFsaWQ6MCxleHBpcmluZzowLGV4cGlyZWQ6MH0sZG5zQ29uZmlndXJlZDohMSxhY21lQ29uZmlndXJlZDohMSxxdWlja0FjdGlvbnM6W119KTtnZXQgZGF0YSgpe3JldHVybiB0aGlzLiNlfXNldCBkYXRhKGMpe3RoaXMuI2U9Y31zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuZGFzaGJvYXJkIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICB9CgogICAgICAuc2VjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZGFzaGJvYXJkIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkNsdXN0ZXIgT3ZlcnZpZXc8L2gyPgogICAgICAgICAgPHN6LXN0YXR1cy1ncmlkLWNsdXN0ZXIKICAgICAgICAgICAgLnN0YXRzPSR7dGhpcy5kYXRhLmNsdXN0ZXJ9CiAgICAgICAgICA+PC9zei1zdGF0dXMtZ3JpZC1jbHVzdGVyPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24iPgogICAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TZXJ2aWNlcyAmIFJlc291cmNlczwvaDI+CiAgICAgICAgICA8c3otc3RhdHVzLWdyaWQtc2VydmljZXMKICAgICAgICAgICAgLnJlc291cmNlVXNhZ2U9JHt0aGlzLmRhdGEucmVzb3VyY2VVc2FnZX0KICAgICAgICAgICAgLnBsYXRmb3JtU2VydmljZXM9JHt0aGlzLmRhdGEucGxhdGZvcm1TZXJ2aWNlc30KICAgICAgICAgID48L3N6LXN0YXR1cy1ncmlkLXNlcnZpY2VzPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24iPgogICAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5OZXR3b3JrICYgVHJhZmZpYzwvaDI+CiAgICAgICAgICA8c3otc3RhdHVzLWdyaWQtbmV0d29yawogICAgICAgICAgICAudHJhZmZpYz0ke3RoaXMuZGF0YS50cmFmZmljfQogICAgICAgICAgICAucHJveHk9JHt0aGlzLmRhdGEucHJveHl9CiAgICAgICAgICAgIC5jZXJ0aWZpY2F0ZXM9JHt0aGlzLmRhdGEuY2VydGlmaWNhdGVzfQogICAgICAgICAgPjwvc3otc3RhdHVzLWdyaWQtbmV0d29yaz4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+SW5mcmFzdHJ1Y3R1cmU8L2gyPgogICAgICAgICAgPHN6LXN0YXR1cy1ncmlkLWluZnJhCiAgICAgICAgICAgID9kbnNDb25maWd1cmVkPSR7dGhpcy5kYXRhLmRuc0NvbmZpZ3VyZWR9CiAgICAgICAgICAgID9hY21lQ29uZmlndXJlZD0ke3RoaXMuZGF0YS5hY21lQ29uZmlndXJlZH0KICAgICAgICAgICAgLmFjdGlvbnM9JHt0aGlzLmRhdGEucXVpY2tBY3Rpb25zfQogICAgICAgICAgICBAYWN0aW9uLWNsaWNrPSR7Yz0+dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYWN0aW9uLWNsaWNrIix7ZGV0YWlsOmMuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9CiAgICAgICAgICA+PC9zei1zdGF0dXMtZ3JpZC1pbmZyYT4KICAgICAgICA8L3NlY3Rpb24+CiAgICAgIDwvZGl2PgogICAgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksZWV0KHRoaXMsbCl9c3RhdGlje2VldChyLHQpfX07cmV0dXJuIGQ9cn0pKCl9KTt2YXIgRzQscG8sWE5hLE51YT1mKCgpPT57bGUoKTtHND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0scG89ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFhOYT0oKCk9PntsZXQgYT1baWUoInN6LW5ldHdvcmstcHJveHktdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdO3ZhciBCPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTek5ldHdvcmtQcm94eVZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHt0eXBlOkFycmF5fSldLE49WyQoe3R5cGU6QXJyYXl9KV0sTz1bJCh7dHlwZTpCb29sZWFufSldLEc0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicHJveHlTdGF0dXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InByb3h5U3RhdHVzImluIFMsImhhcyIpLGdldDpzKFM9PlMucHJveHlTdGF0dXMsImdldCIpLHNldDpzKChTLFApPT57Uy5wcm94eVN0YXR1cz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG4sbCksRzQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyb3V0ZUNvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJyb3V0ZUNvdW50ImluIFMsImhhcyIpLGdldDpzKFM9PlMucm91dGVDb3VudCwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnJvdXRlQ291bnQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxjLHApLEc0KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2VydGlmaWNhdGVDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iY2VydGlmaWNhdGVDb3VudCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmNlcnRpZmljYXRlQ291bnQsImdldCIpLHNldDpzKChTLFApPT57Uy5jZXJ0aWZpY2F0ZUNvdW50PVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbSx2KSxHNCh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhcmdldENvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJ0YXJnZXRDb3VudCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnRhcmdldENvdW50LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MudGFyZ2V0Q291bnQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLEc0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFyZ2V0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idGFyZ2V0cyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnRhcmdldHMsImdldCIpLHNldDpzKChTLFApPT57Uy50YXJnZXRzPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sayxDKSxHNCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvZ3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImxvZ3MiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5sb2dzLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MubG9ncz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LF8seiksRzQodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdHJlYW1pbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InN0cmVhbWluZyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnN0cmVhbWluZywiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnN0cmVhbWluZz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LFQsRSksRzQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCx0KSxCPXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxNDAwcHg7Ij4KICAgICAgPHN6LW5ldHdvcmstcHJveHktdmlldwogICAgICAgIHByb3h5U3RhdHVzPSJydW5uaW5nIgogICAgICAgIHJvdXRlQ291bnQ9IjMiCiAgICAgICAgY2VydGlmaWNhdGVDb3VudD0iMiIKICAgICAgICB0YXJnZXRDb3VudD0iMTEiCiAgICAgICAgLnRhcmdldHM9JHtbe3R5cGU6InNlcnZpY2UiLG5hbWU6InRlc3QtbmdpbngiLGRvbWFpbjoiYXBwLmJsZXUuZGUiLHRhcmdldDoibG9jYWxob3N0OjgwODAiLHN0YXR1czoicnVubmluZyJ9LHt0eXBlOiJzZXJ2aWNlIixuYW1lOiJoZWxsby13b3JsZCIsZG9tYWluOiJoZWxsby50YXNrLnZjIix0YXJnZXQ6ImxvY2FsaG9zdDo4MDgxIixzdGF0dXM6InJ1bm5pbmcifSx7dHlwZToicmVnaXN0cnkiLG5hbWU6Im9uZWJveC1yZWdpc3RyeSIsZG9tYWluOm51bGwsdGFyZ2V0OiJsb2NhbGhvc3Q6NDAwMCIsc3RhdHVzOiJydW5uaW5nIn0se3R5cGU6InBsYXRmb3JtIixuYW1lOiJNb25nb0RCIixkb21haW46bnVsbCx0YXJnZXQ6ImxvY2FsaG9zdDoyNzAxNyIsc3RhdHVzOiJydW5uaW5nIn0se3R5cGU6InBsYXRmb3JtIixuYW1lOiJDbGlja0hvdXNlIixkb21haW46bnVsbCx0YXJnZXQ6ImxvY2FsaG9zdDo4MTIzIixzdGF0dXM6InJ1bm5pbmcifV19CiAgICAgICAgLmxvZ3M9JHtbe3RpbWVzdGFtcDoiMjAyNC0wMS0wMiAxMDoxNTozMiIsbWV0aG9kOiJHRVQiLHBhdGg6Ii9hcGkvc2VydmljZXMiLHN0YXR1czoyMDAsZHVyYXRpb246NDUsaXA6IjE5Mi4xNjguMS4xMDAifSx7dGltZXN0YW1wOiIyMDI0LTAxLTAyIDEwOjE1OjMwIixtZXRob2Q6IlBPU1QiLHBhdGg6Ii9hcGkvYXV0aC9sb2dpbiIsc3RhdHVzOjIwMCxkdXJhdGlvbjoxMjAsaXA6IjE5Mi4xNjguMS4xMDEifSx7dGltZXN0YW1wOiIyMDI0LTAxLTAyIDEwOjE1OjI4IixtZXRob2Q6IkdFVCIscGF0aDoiL3N0YXRpYy9idW5kbGUuanMiLHN0YXR1czozMDQsZHVyYXRpb246NSxpcDoiMTkyLjE2OC4xLjEwMCJ9XX0KICAgICAgPjwvc3otbmV0d29yay1wcm94eS12aWV3PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiTmV0d29yayJdOyNlPXBvKHRoaXMsbiwic3RvcHBlZCIpO2dldCBwcm94eVN0YXR1cygpe3JldHVybiB0aGlzLiNlfXNldCBwcm94eVN0YXR1cyhNKXt0aGlzLiNlPU19I3Q9KHBvKHRoaXMsbCkscG8odGhpcyxjLCIwIikpO2dldCByb3V0ZUNvdW50KCl7cmV0dXJuIHRoaXMuI3R9c2V0IHJvdXRlQ291bnQoTSl7dGhpcy4jdD1NfSNhPShwbyh0aGlzLHApLHBvKHRoaXMsbSwiMCIpKTtnZXQgY2VydGlmaWNhdGVDb3VudCgpe3JldHVybiB0aGlzLiNhfXNldCBjZXJ0aWZpY2F0ZUNvdW50KE0pe3RoaXMuI2E9TX0jcj0ocG8odGhpcyx2KSxwbyh0aGlzLGIsIjAiKSk7Z2V0IHRhcmdldENvdW50KCl7cmV0dXJuIHRoaXMuI3J9c2V0IHRhcmdldENvdW50KE0pe3RoaXMuI3I9TX0jcz0ocG8odGhpcyxnKSxwbyh0aGlzLGssW10pKTtnZXQgdGFyZ2V0cygpe3JldHVybiB0aGlzLiNzfXNldCB0YXJnZXRzKE0pe3RoaXMuI3M9TX0jaT0ocG8odGhpcyxDKSxwbyh0aGlzLF8sW10pKTtnZXQgbG9ncygpe3JldHVybiB0aGlzLiNpfXNldCBsb2dzKE0pe3RoaXMuI2k9TX0jbz0ocG8odGhpcyx6KSxwbyh0aGlzLFQsITEpKTtnZXQgc3RyZWFtaW5nKCl7cmV0dXJuIHRoaXMuI299c2V0IHN0cmVhbWluZyhNKXt0aGlzLiNvPU19c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAucmVmcmVzaC1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5yZWZyZXNoLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICBkZWVzLXN0YXRzZ3JpZCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuc2VjdGlvbi1oZWFkZXIgewogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWhlYWRpbmcgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWZvb3RlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDA7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbjpmaXJzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uLnByaW1hcnkgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSkiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uLnByaW1hcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjA4KSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSAvIDAuMDgpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDUwJSkiLCJoc2woMjEzLjEgOTMuOSUgNzUlKSIpfTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uLmRhbmdlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uLmRhbmdlcjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjEpIil9OwogICAgICB9CgogICAgICAudGFibGUtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogODBweCAxLjVmciAxLjVmciAxLjVmciA4MHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA4MHB4IDEuNWZyIDEuNWZyIDEuNWZyIDgwcHg7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAudHlwZS1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICB9CgogICAgICAudHlwZS1iYWRnZS5zZXJ2aWNlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC50eXBlLWJhZGdlLnJlZ2lzdHJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2YzZThmZiIsInJnYmEoMTY4LCA4NSwgMjQ3LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzkzMzNlYSIsIiNhODU1ZjciKX07CiAgICAgIH0KCiAgICAgIC50eXBlLWJhZGdlLnBsYXRmb3JtIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZjNjNyIsInJnYmEoMjQ1LCAxNTgsIDExLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2Q5NzcwNiIsIiNmNTllMGIiKX07CiAgICAgIH0KCiAgICAgIC50YXJnZXQtdmFsdWUgewogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5ydW5uaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5zdG9wcGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmxvZ3MtY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICB9CgogICAgICAubG9nLWVudHJ5IHsKICAgICAgICBwYWRkaW5nOiA0cHggMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAubG9nLXRpbWVzdGFtcCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLmxvZy1tZXRob2QgewogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmxvZy1zdGF0dXMtMnh4IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAubG9nLXN0YXR1cy0zeHggewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5sb2ctc3RhdHVzLTR4eCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjY2E4YTA0IiwiI2ZhY2MxNSIpfTsKICAgICAgfQoKICAgICAgLmxvZy1zdGF0dXMtNXh4IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuZW1wdHktbG9ncyB7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07Z2V0IHRpbGVzKCl7cmV0dXJuW3tpZDoicHJveHktc3RhdHVzIix0aXRsZToiUHJveHkgU3RhdHVzIix2YWx1ZTp0aGlzLnByb3h5U3RhdHVzPT09InJ1bm5pbmciPyJSdW5uaW5nIjoiU3RvcHBlZCIsdHlwZToidGV4dCIsaWNvbjoibHVjaWRlOnNlcnZlciIsY29sb3I6dGhpcy5wcm94eVN0YXR1cz09PSJydW5uaW5nIj8iIzIyYzU1ZSI6IiNlZjQ0NDQifSx7aWQ6InJvdXRlcyIsdGl0bGU6IlJvdXRlcyIsdmFsdWU6dGhpcy5yb3V0ZUNvdW50LHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOnNlcnZlciJ9LHtpZDoiY2VydGlmaWNhdGVzIix0aXRsZToiQ2VydGlmaWNhdGVzIix2YWx1ZTp0aGlzLmNlcnRpZmljYXRlQ291bnQsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6Y2hlY2sifSx7aWQ6InRhcmdldHMiLHRpdGxlOiJUYXJnZXRzIix2YWx1ZTp0aGlzLnRhcmdldENvdW50LHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOnNlcnZlciJ9XX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iYWN0aW9ucyI+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0icmVmcmVzaC1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVJlZnJlc2goKX0+UmVmcmVzaDwvYnV0dG9uPgogICAgICA8L2Rpdj4KCiAgICAgIDxkZWVzLXN0YXRzZ3JpZAogICAgICAgIC50aWxlcz0ke3RoaXMudGlsZXN9CiAgICAgICAgLm1pblRpbGVXaWR0aD0kezIwMH0KICAgICAgPjwvZGVlcy1zdGF0c2dyaWQ+CgogICAgICA8ZGVlcy10aWxlPgogICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tdGl0bGUiPlRyYWZmaWMgVGFyZ2V0czwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPlNlcnZpY2VzLCByZWdpc3RyeSwgYW5kIHBsYXRmb3JtIHNlcnZpY2VzIHdpdGggdGhlaXIgcm91dGluZyBpbmZvPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIj4KICAgICAgICAgIDxzcGFuPlR5cGU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5OYW1lPC9zcGFuPgogICAgICAgICAgPHNwYW4+RG9tYWluPC9zcGFuPgogICAgICAgICAgPHNwYW4+VGFyZ2V0PC9zcGFuPgogICAgICAgICAgPHNwYW4+U3RhdHVzPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy50YXJnZXRzLm1hcChNPT53YAogICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtcm93IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVUYXJnZXRDbGljayhNKX0+CiAgICAgICAgICAgIDxzcGFuPjxzcGFuIGNsYXNzPSJ0eXBlLWJhZGdlICR7TS50eXBlfSI+JHtNLnR5cGV9PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+JHtNLm5hbWV9PC9zcGFuPgogICAgICAgICAgICA8c3Bhbj4ke00uZG9tYWlufHwiLSJ9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0idGFyZ2V0LXZhbHVlIj4ke00udGFyZ2V0fTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+PHNwYW4gY2xhc3M9InN0YXR1cy1iYWRnZSAke00uc3RhdHVzfSI+JHtNLnN0YXR1c308L3NwYW4+PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCl9CiAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5BY2Nlc3MgTG9nczwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPlJlYWwtdGltZSBDYWRkeSBhY2Nlc3MgbG9nczwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImxvZ3MtY29udGFpbmVyIj4KICAgICAgICAgICR7dGhpcy5sb2dzLmxlbmd0aD4wP3RoaXMubG9ncy5tYXAoTT0+d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9nLWVudHJ5Ij4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibG9nLXRpbWVzdGFtcCI+JHtNLnRpbWVzdGFtcH08L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxvZy1tZXRob2QiPiR7TS5tZXRob2R9PC9zcGFuPgogICAgICAgICAgICAgICR7TS5wYXRofQogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSIke3RoaXMuZ2V0U3RhdHVzQ2xhc3MoTS5zdGF0dXMpfSI+JHtNLnN0YXR1c308L3NwYW4+CiAgICAgICAgICAgICAgJHtNLmR1cmF0aW9ufW1zCiAgICAgICAgICAgICAgJHtNLmlwfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApOndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LWxvZ3MiPkNsaWNrICJTdHJlYW0iIHRvIHN0YXJ0IGxpdmUgYWNjZXNzIGxvZyBzdHJlYW1pbmc8L2Rpdj4KICAgICAgICAgIGB9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJzZWN0aW9uLWZvb3RlciI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiAke3RoaXMuc3RyZWFtaW5nPyJkYW5nZXIiOiJwcmltYXJ5In0iIEBjbGljaz0keygpPT50aGlzLnRvZ2dsZVN0cmVhbWluZygpfT4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICAgICAgICAke3RoaXMuc3RyZWFtaW5nP3dgPHJlY3QgeD0iNiIgeT0iNiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiByeD0iMSIvPmA6d2A8cG9seWdvbiBwb2ludHM9IjUsMyAxOSwxMiA1LDIxIi8+YH0KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICR7dGhpcy5zdHJlYW1pbmc/IlN0b3AiOiJTdHJlYW0ifQogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ2xlYXJMb2dzKCl9PgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIzLDYgNSw2IDIxLDYiLz48cGF0aCBkPSJNMTksNnYxNGEyLDIsMCwwLDEtMiwySDdhMiwyLDAsMCwxLTItMlY2bTMsMFY0YTIsMiwwLDAsMSwyLTJoNGEyLDIsMCwwLDEsMiwydjIiLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIENsZWFyIGxvZ3MKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtdGlsZT4KICAgIGB9Z2V0U3RhdHVzQ2xhc3MoTSl7cmV0dXJuIE0+PTUwMD8ibG9nLXN0YXR1cy01eHgiOk0+PTQwMD8ibG9nLXN0YXR1cy00eHgiOk0+PTMwMD8ibG9nLXN0YXR1cy0zeHgiOiJsb2ctc3RhdHVzLTJ4eCJ9aGFuZGxlUmVmcmVzaCgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJlZnJlc2giLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVRhcmdldENsaWNrKE0pe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInRhcmdldC1jbGljayIse2RldGFpbDpNLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9dG9nZ2xlU3RyZWFtaW5nKCl7dGhpcy5zdHJlYW1pbmc9IXRoaXMuc3RyZWFtaW5nLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInN0cmVhbS10b2dnbGUiLHtkZXRhaWw6e3N0cmVhbWluZzp0aGlzLnN0cmVhbWluZ30sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVDbGVhckxvZ3MoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjbGVhci1sb2dzIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cykscG8odGhpcyxFKX1zdGF0aWN7cG8ocix0KX19O3JldHVybiBCPXJ9KSgpfSk7dmFyIFJ1YSx0ZXQsUU5hLE91YT1mKCgpPT57bGUoKTtSdWE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHRldD1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sUU5hPSgoKT0+e2xldCBhPVtpZSgic3otbmV0d29yay1kbnMtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTek5ldHdvcmtEbnNWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxSdWEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZWNvcmRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJyZWNvcmRzImluIHAsImhhcyIpLGdldDpzKHA9PnAucmVjb3JkcywiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLnJlY29yZHM9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLFJ1YShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEwMDBweDsiPgogICAgICA8c3otbmV0d29yay1kbnMtdmlldwogICAgICAgIC5yZWNvcmRzPSR7W3tkb21haW46InByLnRhc2sudmMiLHR5cGU6IkEiLHZhbHVlOiIxOTUuMjAxLjk4LjIzMiJ9LHtkb21haW46Im91dGxpbmUudGFzay52YyIsdHlwZToiQSIsdmFsdWU6IjE5NS4yMDEuOTguMjMyIn0se2RvbWFpbjoibnMxLnRhc2sudmMiLHR5cGU6IkEiLHZhbHVlOiIyMTIuOTUuOTkuMTMwIn0se2RvbWFpbjoiYmxldS5kZSIsdHlwZToiQSIsdmFsdWU6IjIxMi45NS45OS4xMzAifSx7ZG9tYWluOiJtYWlsLmJsZXUuZGUiLHR5cGU6Ik1YIix2YWx1ZToiMTAgbWFpbC5ibGV1LmRlIn1dfQogICAgICA+PC9zei1uZXR3b3JrLWRucy12aWV3PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiTmV0d29yayJdOyNlPXRldCh0aGlzLG4sW10pO2dldCByZWNvcmRzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHJlY29yZHMoYyl7dGhpcy4jZT1jfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnN5bmMtYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuc3luYy1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgfQoKICAgICAgLnRhYmxlLWNvbnRhaW5lciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnRhYmxlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciA4MHB4IDJmciAxMDBweDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAudGFibGUtcm93IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDgwcHggMmZyIDEwMHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuZG9tYWluIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAudHlwZS1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIC52YWx1ZSB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuZGVsZXRlLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5kZWxldGUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgcGFkZGluZzogNDhweCAyNHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0iZGVzY3JpcHRpb24iPk1hbmFnZSBETlMgcmVjb3JkcyBzeW5jZWQgd2l0aCBDbG91ZGZsYXJlPC9zcGFuPgogICAgICAgIDxidXR0b24gY2xhc3M9InN5bmMtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVTeW5jKCl9PgogICAgICAgICAgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxMmE5IDkgMCAwIDEtOSA5bTktOWE5IDkgMCAwIDAtOS05bTkgOUgzbTkgOWE5IDkgMCAwIDEtOS05bTkgOWMxLjY2IDAgMy00LjAzIDMtOXMtMS4zNC05LTMtOW0wIDE4Yy0xLjY2IDAtMy00LjAzLTMtOXMxLjM0LTkgMy05Ii8+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIFN5bmMgQ2xvdWRmbGFyZQogICAgICAgIDwvYnV0dG9uPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIj4KICAgICAgICAgIDxzcGFuPkRvbWFpbjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlR5cGU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5WYWx1ZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkFjdGlvbnM8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnJlY29yZHMubGVuZ3RoPjA/dGhpcy5yZWNvcmRzLm1hcChjPT53YAogICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtcm93Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRvbWFpbiI+JHtjLmRvbWFpbn08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPjxzcGFuIGNsYXNzPSJ0eXBlLWJhZGdlIj4ke2MudHlwZX08L3NwYW4+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0idmFsdWUiPiR7Yy52YWx1ZX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRlbGV0ZS1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlbGV0ZShjKX0+RGVsZXRlPC9idXR0b24+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGApOndgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+Tm8gRE5TIHJlY29yZHMgZm91bmQ8L2Rpdj4KICAgICAgICBgfQogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlU3luYygpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInN5bmMiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZURlbGV0ZShjKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWxldGUiLHtkZXRhaWw6YyxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0ZXQodGhpcyxsKX1zdGF0aWN7dGV0KHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciBhZXQsa0csSk5hLEZ1YT1mKCgpPT57bGUoKTthZXQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGtHPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxKTmE9KCgpPT57bGV0IGE9W2llKCJzei1uZXR3b3JrLWRvbWFpbnMtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTek5ldHdvcmtEb21haW5zVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpPYmplY3R9KV0sYWV0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZG9tYWlucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iZG9tYWlucyJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmRvbWFpbnMsImdldCIpLHNldDpzKCh2LHgpPT57di5kb21haW5zPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxhZXQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4ic3RhdHMiaW4gdiwiaGFzIiksZ2V0OnModj0+di5zdGF0cywiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnN0YXRzPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxhZXQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMjAwcHg7Ij4KICAgICAgPHN6LW5ldHdvcmstZG9tYWlucy12aWV3CiAgICAgICAgLmRvbWFpbnM9JHtbe2RvbWFpbjoiYmxldS5kZSIscHJvdmlkZXI6ImNsb3VkZmxhcmUiLHNlcnZpY2VDb3VudDoyLGNlcnRpZmljYXRlU3RhdHVzOiJ2YWxpZCIsZXhwaXJlc0luOiI1MiBkYXlzIn0se2RvbWFpbjoidGFzay52YyIscHJvdmlkZXI6ImNsb3VkZmxhcmUiLHNlcnZpY2VDb3VudDoxLGNlcnRpZmljYXRlU3RhdHVzOiJ2YWxpZCIsZXhwaXJlc0luOiI1MiBkYXlzIn0se2RvbWFpbjoiZXhhbXBsZS5jb20iLHByb3ZpZGVyOiJjbG91ZGZsYXJlIixzZXJ2aWNlQ291bnQ6MCxjZXJ0aWZpY2F0ZVN0YXR1czoiZXhwaXJpbmciLGV4cGlyZXNJbjoiNyBkYXlzIn1dfQogICAgICAgIC5zdGF0cz0ke3t0b3RhbDozLHZhbGlkOjIsZXhwaXJpbmc6MSxleHBpcmVkOjB9fQogICAgICA+PC9zei1uZXR3b3JrLWRvbWFpbnMtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk5ldHdvcmsiXTsjZT1rRyh0aGlzLG4sW10pO2dldCBkb21haW5zKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGRvbWFpbnMobSl7dGhpcy4jZT1tfSN0PShrRyh0aGlzLGwpLGtHKHRoaXMsYyx7dG90YWw6MCx2YWxpZDowLGV4cGlyaW5nOjAsZXhwaXJlZDowfSkpO2dldCBzdGF0cygpe3JldHVybiB0aGlzLiN0fXNldCBzdGF0cyhtKXt0aGlzLiN0PW19c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuZGVzY3JpcHRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuc3luYy1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zeW5jLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjM2YzZjQ2Iil9OwogICAgICB9CgogICAgICBkZWVzLXN0YXRzZ3JpZCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLnRhYmxlLWNvbnRhaW5lciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnRhYmxlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnIgODBweCAxMDBweCAxMDBweCA4MHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyIDgwcHggMTAwcHggMTAwcHggODBweDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuZG9tYWluLW5hbWUgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5wcm92aWRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS52YWxpZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZXhwaXJpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVmOWMzIiwicmdiYSgyNTAsIDIwNCwgMjEsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjY2E4YTA0IiwiI2ZhY2MxNSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5leHBpcmVkLAogICAgICAuc3RhdHVzLWJhZGdlLnBlbmRpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuZXhwaXJlcyB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnZpZXctYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC52aWV3LWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07Z2V0IHRpbGVzKCl7cmV0dXJuW3tpZDoidG90YWwiLHRpdGxlOiJUb3RhbCBEb21haW5zIix2YWx1ZTp0aGlzLnN0YXRzLnRvdGFsLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOmdsb2JlIn0se2lkOiJ2YWxpZCIsdGl0bGU6IlZhbGlkIENlcnRpZmljYXRlcyIsdmFsdWU6dGhpcy5zdGF0cy52YWxpZCx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTpzaGllbGRDaGVjayIsY29sb3I6IiMyMmM1NWUifSx7aWQ6ImV4cGlyaW5nIix0aXRsZToiRXhwaXJpbmcgU29vbiIsdmFsdWU6dGhpcy5zdGF0cy5leHBpcmluZyx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTpzaGllbGRBbGVydCIsY29sb3I6dGhpcy5zdGF0cy5leHBpcmluZz4wPyIjZjU5ZTBiIjp2b2lkIDB9LHtpZDoiZXhwaXJlZCIsdGl0bGU6IkV4cGlyZWQvUGVuZGluZyIsdmFsdWU6dGhpcy5zdGF0cy5leHBpcmVkLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOmNpcmNsZU9mZiIsY29sb3I6dGhpcy5zdGF0cy5leHBpcmVkPjA/IiNlZjQ0NDQiOnZvaWQgMH1dfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJkZXNjcmlwdGlvbiI+TWFuYWdlIGRvbWFpbnMgYW5kIFNTTCBjZXJ0aWZpY2F0ZXM8L3NwYW4+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0ic3luYy1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVN5bmMoKX0+U3luYyBDbG91ZGZsYXJlPC9idXR0b24+CiAgICAgIDwvZGl2PgoKICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgLnRpbGVzPSR7dGhpcy50aWxlc30KICAgICAgICAubWluVGlsZVdpZHRoPSR7MjAwfQogICAgICA+PC9kZWVzLXN0YXRzZ3JpZD4KCiAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIj4KICAgICAgICAgIDxzcGFuPkRvbWFpbjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlByb3ZpZGVyPC9zcGFuPgogICAgICAgICAgPHNwYW4+U2VydmljZXM8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5DZXJ0aWZpY2F0ZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkV4cGlyZXM8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5BY3Rpb25zPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5kb21haW5zLmxlbmd0aD4wP3RoaXMuZG9tYWlucy5tYXAobT0+d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLXJvdyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkb21haW4tbmFtZSI+JHttLmRvbWFpbn08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcm92aWRlciI+JHttLnByb3ZpZGVyfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+JHttLnNlcnZpY2VDb3VudH08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPjxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHttLmNlcnRpZmljYXRlU3RhdHVzfSI+JHttLmNlcnRpZmljYXRlU3RhdHVzfTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJleHBpcmVzIj4ke20uZXhwaXJlc0lufHwiLSJ9PC9zcGFuPgogICAgICAgICAgICA8c3Bhbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ2aWV3LWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlVmlldyhtKX0+VmlldzwvYnV0dG9uPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgKTp3YAogICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIGRvbWFpbnMgY29uZmlndXJlZDwvZGl2PgogICAgICAgIGB9CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVTeW5jKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic3luYyIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlVmlldyhtKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ2aWV3Iix7ZGV0YWlsOm0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksa0codGhpcyxwKX1zdGF0aWN7a0cocix0KX19O3JldHVybiB1PXJ9KSgpfSk7dmFyIHJldCxTRyxlUmEsQnVhPWYoKCk9PntsZSgpO3JldD1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sU0c9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGVSYT0oKCk9PntsZXQgYT1baWUoInN6LXJlZ2lzdHJ5LWFkdmVydGlzZW1lbnQiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pSZWdpc3RyeUFkdmVydGlzZW1lbnQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSxyZXQodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0dXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InN0YXR1cyJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LnN0YXR1cywiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnN0YXR1cz14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCkscmV0KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVnaXN0cnlVcmwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InJlZ2lzdHJ5VXJsImluIHYsImhhcyIpLGdldDpzKHY9PnYucmVnaXN0cnlVcmwsImdldCIpLHNldDpzKCh2LHgpPT57di5yZWdpc3RyeVVybD14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCkscmV0KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogODAwcHg7Ij4KICAgICAgPHN6LXJlZ2lzdHJ5LWFkdmVydGlzZW1lbnQKICAgICAgICBzdGF0dXM9InJ1bm5pbmciCiAgICAgICAgcmVnaXN0cnlVcmw9ImxvY2FsaG9zdDozMDAwL3YyIgogICAgICA+PC9zei1yZWdpc3RyeS1hZHZlcnRpc2VtZW50PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXV0aCAmIFNldHRpbmdzIl07I2U9U0codGhpcyxuLCJzdG9wcGVkIik7Z2V0IHN0YXR1cygpe3JldHVybiB0aGlzLiNlfXNldCBzdGF0dXMobSl7dGhpcy4jZT1tfSN0PShTRyh0aGlzLGwpLFNHKHRoaXMsYywiIikpO2dldCByZWdpc3RyeVVybCgpe3JldHVybiB0aGlzLiN0fXNldCByZWdpc3RyeVVybChtKXt0aGlzLiN0PW19c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmNhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5jYXJkLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC5yZWdpc3RyeS1pY29uIHsKICAgICAgICB3aWR0aDogNDBweDsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkZXItaW5mbyB7CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLmhlYWRlci10aXRsZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5kZWZhdWx0LWJhZGdlIHsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLmNhcmQtY29udGVudCB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgfQoKICAgICAgLmluZm8tZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmluZm8taXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuaW5mby1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgIH0KCiAgICAgIC5pbmZvLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5ydW5uaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5zdG9wcGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLm1hbmFnZS1saW5rIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5tYW5hZ2UtbGluazpob3ZlciB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC5xdWljay1zdGFydCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICB9CgogICAgICAucXVpY2stc3RhcnQtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAucXVpY2stc3RhcnQtZGVzYyB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgfQoKICAgICAgLmNvZGUtYmxvY2sgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiIzBhMGEwYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICB9CgogICAgICAuY29kZS1saW5lIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNzE3MTdhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQoKICAgICAgLmNvZGUtbGluZTpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAuY29kZS1jb21tZW50IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAuY29kZS1jb21tYW5kIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjZTRlNGU3Iil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0icmVnaXN0cnktaWNvbiI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxNlY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzNsNyA0YTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNnoiPjwvcGF0aD4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1pbmZvIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXRpdGxlIj4KICAgICAgICAgICAgICBSZWdpc3RyeSBBZHZlcnRpc2VtZW50CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRlZmF1bHQtYmFkZ2UiPkRlZmF1bHQ8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItc3VidGl0bGUiPkNvbnRhaW5lciByZWdpc3RyeSBmb3IgeW91ciBzZXJ2aWNlczwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWdyaWQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5TdGF0dXM8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tdmFsdWUiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1iYWRnZSAke3RoaXMuc3RhdHVzfSI+JHt0aGlzLnN0YXR1cz09PSJydW5uaW5nIj8iUnVubmluZyI6IlN0b3BwZWQifTwvc3Bhbj4KICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5SZWdpc3RyeSBVUkw8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tdmFsdWUiPiR7dGhpcy5yZWdpc3RyeVVybH08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5BdXRoZW50aWNhdGlvbjwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibWFuYWdlLWxpbmsiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZU1hbmFnZVRva2VucygpfT5NYW5hZ2UgVG9rZW5zPC9hPgogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJxdWljay1zdGFydCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InF1aWNrLXN0YXJ0LXRpdGxlIj5RdWljayBTdGFydDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJxdWljay1zdGFydC1kZXNjIj5UbyBwdXNoIGltYWdlcyB0byB0aGUgcmVnaXN0cnksIHVzZSBhIENJIG9yIEdsb2JhbCB0b2tlbjo8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1ibG9jayI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1saW5lIGNvZGUtY29tbWVudCI+IyBMb2dpbiB0byB0aGUgcmVnaXN0cnk8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWxpbmUgY29kZS1jb21tYW5kIj5kb2NrZXIgbG9naW4gJHt0aGlzLnJlZ2lzdHJ5VXJsLnNwbGl0KCIvIilbMF19IC11IHJlZ2lzdHJ5IC1wIFlPVVJfVE9LRU48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWxpbmUgY29kZS1jb21tZW50Ij4jIFRhZyBhbmQgcHVzaCB5b3VyIGltYWdlPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1saW5lIGNvZGUtY29tbWFuZCI+ZG9ja2VyIHRhZyBteWFwcCAke3RoaXMucmVnaXN0cnlVcmwuc3BsaXQoIi8iKVswXX0vbXlzZXJ2aWNlOmxhdGVzdDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtbGluZSBjb2RlLWNvbW1hbmQiPmRvY2tlciBwdXNoICR7dGhpcy5yZWdpc3RyeVVybC5zcGxpdCgiLyIpWzBdfS9teXNlcnZpY2U6bGF0ZXN0PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVNYW5hZ2VUb2tlbnMoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJtYW5hZ2UtdG9rZW5zIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksU0codGhpcyxwKX1zdGF0aWN7U0cocix0KX19O3JldHVybiB1PXJ9KSgpfSk7dmFyIEh1YSxzZXQsdFJhLHF1YT1mKCgpPT57bGUoKTtIdWE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHNldD1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sdFJhPSgoKT0+e2xldCBhPVtpZSgic3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelJlZ2lzdHJ5RXh0ZXJuYWxWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxIdWEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZWdpc3RyaWVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJyZWdpc3RyaWVzImluIHAsImhhcyIpLGdldDpzKHA9PnAucmVnaXN0cmllcywiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLnJlZ2lzdHJpZXM9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLEh1YShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDgwMHB4OyI+CiAgICAgIDxzei1yZWdpc3RyeS1leHRlcm5hbC12aWV3CiAgICAgICAgLnJlZ2lzdHJpZXM9JHtbe2lkOiIxIixuYW1lOiJEb2NrZXIgSHViIix1cmw6ImRvY2tlci5pbyIsdXNlcm5hbWU6Im15dXNlciIsdHlwZToiZG9ja2VyaHViIn0se2lkOiIyIixuYW1lOiJHaXRIdWIgQ29udGFpbmVyIFJlZ2lzdHJ5Iix1cmw6ImdoY3IuaW8iLHVzZXJuYW1lOiJteW9yZyIsdHlwZToiZ2hjciJ9XX0KICAgICAgPjwvc3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkF1dGggJiBTZXR0aW5ncyJdOyNlPXNldCh0aGlzLG4sW10pO2dldCByZWdpc3RyaWVzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHJlZ2lzdHJpZXMoYyl7dGhpcy4jZT1jfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItaW5mbyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuaGVhZGVyLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuaGVhZGVyLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmFkZC1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDE0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzE4MTgxYiIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5hZGQtYnV0dG9uOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAwLjk7CiAgICAgIH0KCiAgICAgIC5yZWdpc3RyeS1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAucmVnaXN0cnktaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICB9CgogICAgICAucmVnaXN0cnktaW5mbyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLnJlZ2lzdHJ5LWljb24gewogICAgICAgIHdpZHRoOiA0MHB4OwogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAucmVnaXN0cnktZGV0YWlscyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAucmVnaXN0cnktbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnJlZ2lzdHJ5LXVybCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnJlZ2lzdHJ5LWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kZWxldGUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRlbGV0ZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1pY29uIHsKICAgICAgICB3aWR0aDogNDhweDsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTZweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAuZW1wdHktdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAuZW1wdHktZGVzY3JpcHRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDE0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWluZm8iPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXRpdGxlIj5FeHRlcm5hbCBSZWdpc3RyaWVzPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItc3VidGl0bGUiPkFkZCBjcmVkZW50aWFscyBmb3IgcHJpdmF0ZSBEb2NrZXIgcmVnaXN0cmllczwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxidXR0b24gY2xhc3M9ImFkZC1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUFkZCgpfT5BZGQgUmVnaXN0cnk8L2J1dHRvbj4KICAgICAgPC9kaXY+CgogICAgICAke3RoaXMucmVnaXN0cmllcy5sZW5ndGg+MD93YAogICAgICAgIDxkaXYgY2xhc3M9InJlZ2lzdHJ5LWxpc3QiPgogICAgICAgICAgJHt0aGlzLnJlZ2lzdHJpZXMubWFwKGM9PndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lzdHJ5LWl0ZW0iPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lzdHJ5LWluZm8iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVnaXN0cnktaWNvbiI+CiAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxNlY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzNsNyA0YTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNnoiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lzdHJ5LWRldGFpbHMiPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpc3RyeS1uYW1lIj4ke2MubmFtZX08L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVnaXN0cnktdXJsIj4ke2MudXJsfSAoJHtjLnVzZXJuYW1lfSk8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lzdHJ5LWFjdGlvbnMiPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRWRpdChjKX0+RWRpdDwvYnV0dG9uPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBkZWxldGUiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlbGV0ZShjKX0+RGVsZXRlPC9idXR0b24+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgIGA6d2AKICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+CiAgICAgICAgICA8c3ZnIGNsYXNzPSJlbXB0eS1pY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxNlY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzNsNyA0YTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNnoiPjwvcGF0aD4KICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMy4yNyA2Ljk2IDEyIDEyLjAxIDIwLjczIDYuOTYiPjwvcG9seWxpbmU+CiAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjIyLjA4IiB4Mj0iMTIiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS10aXRsZSI+Tm8gZXh0ZXJuYWwgcmVnaXN0cmllczwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktZGVzY3JpcHRpb24iPkFkZCBjcmVkZW50aWFscyBmb3IgRG9ja2VyIEh1YiwgR2l0SHViIENvbnRhaW5lciBSZWdpc3RyeSwgb3Igb3RoZXIgcHJpdmF0ZSByZWdpc3RyaWVzLjwvZGl2PgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZW1wdHktYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBZGQoKX0+QWRkIEV4dGVybmFsIFJlZ2lzdHJ5PC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIGB9CiAgICBgfWhhbmRsZUFkZCgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFkZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRWRpdChjKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJlZGl0Iix7ZGV0YWlsOmMsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEZWxldGUoYyl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVsZXRlIix7ZGV0YWlsOmMsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksc2V0KHRoaXMsbCl9c3RhdGlje3NldChyLHQpfX07cmV0dXJuIGQ9cn0pKCl9KTt2YXIgVnVhLGlldCxhUmEsanVhPWYoKCk9PntsZSgpO1Z1YT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0saWV0PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxhUmE9KCgpPT57bGV0IGE9W2llKCJzei1zZXJ2aWNlcy1saXN0LXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pTZXJ2aWNlc0xpc3RWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxWdWEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZXJ2aWNlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4ic2VydmljZXMiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5zZXJ2aWNlcywiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLnNlcnZpY2VzPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSxWdWEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMjAwcHg7Ij4KICAgICAgPHN6LXNlcnZpY2VzLWxpc3QtdmlldwogICAgICAgIC5zZXJ2aWNlcz0ke1t7bmFtZToidGVzdC1uZ2lueCIsaW1hZ2U6Im5naW54OmFscGluZSIsZG9tYWluOiJhcHAuYmxldS5kZSIsc3RhdHVzOiJydW5uaW5nIn0se25hbWU6ImhlbGxvLXdvcmxkIixpbWFnZToibG9jYWxob3N0OjMwMDAvaGVsbG8td29ybGQ6bGF0ZXN0Iixkb21haW46ImhlbGxvLnRhc2sudmMiLHN0YXR1czoicnVubmluZyJ9LHtuYW1lOiJ0ZXN0LXYyIixpbWFnZToibG9jYWxob3N0OjMwMDAvdGVzdC1yZWdpc3RyeTp2MSIsZG9tYWluOm51bGwsc3RhdHVzOiJydW5uaW5nIn0se25hbWU6ImFwaS1zZXJ2aWNlIixpbWFnZToibm9kZToxOC1hbHBpbmUiLGRvbWFpbjoiYXBpLmV4YW1wbGUuY29tIixzdGF0dXM6InN0b3BwZWQifV19CiAgICAgID48L3N6LXNlcnZpY2VzLWxpc3Qtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIlNlcnZpY2VzIl07I2U9aWV0KHRoaXMsbixbXSk7Z2V0IHNlcnZpY2VzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNlcnZpY2VzKGMpe3RoaXMuI2U9Y31zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAudGFibGUtY29udGFpbmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAudGFibGUtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS41ZnIgMmZyIDEuNWZyIDEwMHB4IDIwMHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjVmciAyZnIgMS41ZnIgMTAwcHggMjAwcHg7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAudGFibGUtcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLnNlcnZpY2UtbmFtZSB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLnNlcnZpY2UtbmFtZTpob3ZlciB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC5pbWFnZSB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5kb21haW4tbGluayB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIH0KCiAgICAgIC5kb21haW4tbGluazpob3ZlciB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UucnVubmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2Uuc3RvcHBlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2Uuc3RhcnRpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVmOWMzIiwicmdiYSgyNTAsIDIwNCwgMjEsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjY2E4YTA0IiwiI2ZhY2MxNSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5zdG9wIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNjYThhMDQiLCIjZmFjYzE1Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNmZWY5YzMiLCJyZ2JhKDI1MCwgMjA0LCAyMSwgMC4zKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uc3RhcnQgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnJlc3RhcnQgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kZWxldGUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgcGFkZGluZzogNDhweCAyNHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0idGFibGUtY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1oZWFkZXIiPgogICAgICAgICAgPHNwYW4+TmFtZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkltYWdlPC9zcGFuPgogICAgICAgICAgPHNwYW4+RG9tYWluPC9zcGFuPgogICAgICAgICAgPHNwYW4+U3RhdHVzPC9zcGFuPgogICAgICAgICAgPHNwYW4+QWN0aW9uczwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuc2VydmljZXMubGVuZ3RoPjA/dGhpcy5zZXJ2aWNlcy5tYXAoYz0+d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLXJvdyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZXJ2aWNlLW5hbWUiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVNlcnZpY2VDbGljayhjKX0+JHtjLm5hbWV9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW1hZ2UiIHRpdGxlPSIke2MuaW1hZ2V9Ij4ke2MuaW1hZ2V9PC9zcGFuPgogICAgICAgICAgICA8c3Bhbj4KICAgICAgICAgICAgICAke2MuZG9tYWluP3dgPGEgY2xhc3M9ImRvbWFpbi1saW5rIiBocmVmPSJodHRwczovLyR7Yy5kb21haW59IiB0YXJnZXQ9Il9ibGFuayI+JHtjLmRvbWFpbn08L2E+YDoiLSJ9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+PHNwYW4gY2xhc3M9InN0YXR1cy1iYWRnZSAke2Muc3RhdHVzfSI+JHtjLnN0YXR1c308L3NwYW4+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWN0aW9ucyI+CiAgICAgICAgICAgICAgJHtjLnN0YXR1cz09PSJydW5uaW5nIj93YDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gc3RvcCIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKGMsInN0b3AiKX0+U3RvcDwvYnV0dG9uPmA6d2A8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIHN0YXJ0IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBY3Rpb24oYywic3RhcnQiKX0+U3RhcnQ8L2J1dHRvbj5gfQogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gcmVzdGFydCIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKGMsInJlc3RhcnQiKX0+UmVzdGFydDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gZGVsZXRlIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBY3Rpb24oYywiZGVsZXRlIil9PkRlbGV0ZTwvYnV0dG9uPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgKTp3YAogICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIHNlcnZpY2VzIGRlcGxveWVkPC9kaXY+CiAgICAgICAgYH0KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZVNlcnZpY2VDbGljayhjKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZXJ2aWNlLWNsaWNrIix7ZGV0YWlsOmMsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVBY3Rpb24oYyxwKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZXJ2aWNlLWFjdGlvbiIse2RldGFpbDp7c2VydmljZTpjLGFjdGlvbjpwfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxpZXQodGhpcyxsKX1zdGF0aWN7aWV0KHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciBvZXQsekcsclJhLFV1YT1mKCgpPT57bGUoKTtvZXQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHpHPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxyUmE9KCgpPT57bGV0IGE9W2llKCJzei1zZXJ2aWNlcy1iYWNrdXBzLXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pTZXJ2aWNlc0JhY2t1cHNWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVskKHt0eXBlOkFycmF5fSldLG9ldCh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNjaGVkdWxlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4ic2NoZWR1bGVzImluIHYsImhhcyIpLGdldDpzKHY9PnYuc2NoZWR1bGVzLCJnZXQiKSxzZXQ6cygodix4KT0+e3Yuc2NoZWR1bGVzPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxvZXQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJiYWNrdXBzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJiYWNrdXBzImluIHYsImhhcyIpLGdldDpzKHY9PnYuYmFja3VwcywiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LmJhY2t1cHM9eH0sInNldCIpfSxtZXRhZGF0YTptfSxjLHApLG9ldChudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEyMDBweDsiPgogICAgICA8c3otc2VydmljZXMtYmFja3Vwcy12aWV3CiAgICAgICAgLnNjaGVkdWxlcz0ke1t7aWQ6IjEiLHNjb3BlOiJBbGwgU2VydmljZXMiLHJldGVudGlvbjoiRDo3LCBXOjQsIE06MTIiLHNjaGVkdWxlOiIwIDIgKiAqICoiLGxhc3RSdW46IjEvMi8yMDI2LCAyOjAwOjAzIEFNIixuZXh0UnVuOiIxLzMvMjAyNiwgMjowMDowMCBBTSIsc3RhdHVzOiJhY3RpdmUifV19CiAgICAgICAgLmJhY2t1cHM9JHtbe2lkOiIxIixzZXJ2aWNlOiJ0ZXN0LW5naW54IixjcmVhdGVkQXQ6IjEvMi8yMDI2LCAyOjAwOjAzIEFNIixzaXplOiIyMi4wIE1CIixpbmNsdWRlczpbIkltYWdlIl19LHtpZDoiMiIsc2VydmljZToiaGVsbG8td29ybGQiLGNyZWF0ZWRBdDoiMS8yLzIwMjYsIDI6MDA6MDIgQU0iLHNpemU6IjIxLjUgTUIiLGluY2x1ZGVzOlsiSW1hZ2UiXX0se2lkOiIzIixzZXJ2aWNlOiJ0ZXN0LWNoLWZpbmFsIixjcmVhdGVkQXQ6IjEvMi8yMDI2LCAyOjAwOjAwIEFNIixzaXplOiIyMi4wIE1CIixpbmNsdWRlczpbIkltYWdlIiwiY2xpY2tob3VzZSJdfV19CiAgICAgID48L3N6LXNlcnZpY2VzLWJhY2t1cHMtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIlNlcnZpY2VzIl07I2U9ekcodGhpcyxuLFtdKTtnZXQgc2NoZWR1bGVzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNjaGVkdWxlcyhtKXt0aGlzLiNlPW19I3Q9KHpHKHRoaXMsbCksekcodGhpcyxjLFtdKSk7Z2V0IGJhY2t1cHMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYmFja3VwcyhtKXt0aGlzLiN0PW19c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuc2VjdGlvbi1oZWFkZXIgewogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWhlYWRpbmcgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWZvb3RlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDA7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbjpmaXJzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uLnByaW1hcnkgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSkiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uLnByaW1hcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjA4KSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSAvIDAuMDgpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDUwJSkiLCJoc2woMjEzLjEgOTMuOSUgNzUlKSIpfTsKICAgICAgfQoKICAgICAgLnRhYmxlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuc2NoZWR1bGVzLWhlYWRlciB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxLjVmciAxLjVmciA4MHB4IDEyMHB4OwogICAgICB9CgogICAgICAuYmFja3Vwcy1oZWFkZXIgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS41ZnIgMS41ZnIgMTAwcHggMWZyIDEyMHB4OwogICAgICB9CgogICAgICAudGFibGUtcm93IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAuc2NoZWR1bGVzLXJvdyB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxLjVmciAxLjVmciA4MHB4IDEyMHB4OwogICAgICB9CgogICAgICAuYmFja3Vwcy1yb3cgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS41ZnIgMS41ZnIgMTAwcHggMWZyIDEyMHB4OwogICAgICB9CgogICAgICAudGFibGUtcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmZhaWxlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZGlzYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAubWV0YS10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmluY2x1ZGVzLWxpc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuaW5jbHVkZS1iYWRnZSB7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAucm93LWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5pY29uLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5pY29uLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5pY29uLWJ1dHRvbi5kYW5nZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5CYWNrdXAgU2NoZWR1bGVzPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+Q29uZmlndXJlIGF1dG9tYXRlZCBiYWNrdXAgc2NoZWR1bGVzIGZvciB5b3VyIHNlcnZpY2VzPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIHNjaGVkdWxlcy1oZWFkZXIiPgogICAgICAgICAgPHNwYW4+U2NvcGU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5SZXRlbnRpb248L3NwYW4+CiAgICAgICAgICA8c3Bhbj5TY2hlZHVsZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkxhc3QgUnVuPC9zcGFuPgogICAgICAgICAgPHNwYW4+TmV4dCBSdW48L3NwYW4+CiAgICAgICAgICA8c3Bhbj5TdGF0dXM8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5BY3Rpb25zPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5zY2hlZHVsZXMubWFwKG09PndgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yb3cgc2NoZWR1bGVzLXJvdyI+CiAgICAgICAgICAgIDxzcGFuPiR7bS5zY29wZX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRhLXRleHQiIHRpdGxlPSJLZWVwOiAke20ucmV0ZW50aW9ufSI+JHttLnJldGVudGlvbn08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRhLXRleHQiPiR7bS5zY2hlZHVsZX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRhLXRleHQiPiR7bS5sYXN0UnVufHwiLSJ9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0YS10ZXh0Ij4ke20ubmV4dFJ1bnx8Ii0ifTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1iYWRnZSAke20uc3RhdHVzfSIgdGl0bGU9IiR7bS5lcnJvcnx8IiJ9Ij4KICAgICAgICAgICAgICAgICR7bS5zdGF0dXM9PT0iYWN0aXZlIj8iQWN0aXZlIjptLnN0YXR1cz09PSJmYWlsZWQiPyJGYWlsZWQiOiJEaXNhYmxlZCJ9CiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyb3ctYWN0aW9ucyI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iaWNvbi1idXR0b24iIHRpdGxlPSJSdW4gYmFja3VwIG5vdyIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlUnVuTm93KG0pfT4KICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBvbHlnb24gcG9pbnRzPSI1LDMgMTksMTIgNSwyMSIvPjwvc3ZnPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Imljb24tYnV0dG9uIiB0aXRsZT0iJHttLnN0YXR1cz09PSJkaXNhYmxlZCI/IkVuYWJsZSI6IkRpc2FibGUifSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlVG9nZ2xlKG0pfT4KICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAke20uc3RhdHVzPT09ImRpc2FibGVkIj93YDxwb2x5bGluZSBwb2ludHM9IjIwIDYgOSAxNyA0IDEyIj48L3BvbHlsaW5lPmA6d2A8cmVjdCB4PSI2IiB5PSI2IiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHJ4PSIxIi8+YH0KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Imljb24tYnV0dG9uIGRhbmdlciIgdGl0bGU9IkRlbGV0ZSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRGVsZXRlU2NoZWR1bGUobSl9PgogICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjMsNiA1LDYgMjEsNiIvPjxwYXRoIGQ9Ik0xOSw2djE0YTIsMiwwLDAsMS0yLDJIN2EyLDIsMCwwLDEtMi0yVjZtMywwVjRhMiwyLDAsMCwxLDItMmg0YTIsMiwwLDAsMSwyLDJ2MiIvPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGApfQogICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0ic2VjdGlvbi1mb290ZXIiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlsZS1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUltcG9ydCgpfT4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQiLz4KICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNyA4IDEyIDMgNyA4Ii8+CiAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMyIgeDI9IjEyIiB5Mj0iMTUiLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIEltcG9ydCBCYWNrdXAKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlsZS1idXR0b24gcHJpbWFyeSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ3JlYXRlU2NoZWR1bGUoKX0+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ij48L2xpbmU+CiAgICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIENyZWF0ZSBTY2hlZHVsZQogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5BbGwgQmFja3Vwczwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPkJyb3dzZSBhbmQgbWFuYWdlIGFsbCBiYWNrdXBzIGFjcm9zcyBzZXJ2aWNlczwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWhlYWRlciBiYWNrdXBzLWhlYWRlciI+CiAgICAgICAgICA8c3Bhbj5TZXJ2aWNlPC9zcGFuPgogICAgICAgICAgPHNwYW4+Q3JlYXRlZDwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlNpemU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5JbmNsdWRlczwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkFjdGlvbnM8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLmJhY2t1cHMubWFwKG09PndgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yb3cgYmFja3Vwcy1yb3ciPgogICAgICAgICAgICA8c3Bhbj4ke20uc2VydmljZX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRhLXRleHQiPiR7bS5jcmVhdGVkQXR9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0YS10ZXh0Ij4ke20uc2l6ZX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmNsdWRlcy1saXN0Ij4KICAgICAgICAgICAgICAke20uaW5jbHVkZXMubWFwKHY9PndgPHNwYW4gY2xhc3M9ImluY2x1ZGUtYmFkZ2UiPiR7dn08L3NwYW4+YCl9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJvdy1hY3Rpb25zIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiIgdGl0bGU9IkRvd25sb2FkIGJhY2t1cCIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRG93bmxvYWQobSl9PgogICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ii8+CiAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjcgMTAgMTIgMTUgMTcgMTAiLz4KICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMTUiIHgyPSIxMiIgeTI9IjMiLz4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Imljb24tYnV0dG9uIGRhbmdlciIgdGl0bGU9IkRlbGV0ZSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRGVsZXRlQmFja3VwKG0pfT4KICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIzLDYgNSw2IDIxLDYiLz48cGF0aCBkPSJNMTksNnYxNGEyLDIsMCwwLDEtMiwySDdhMiwyLDAsMCwxLTItMlY2bTMsMFY0YTIsMiwwLDAsMSwyLTJoNGEyLDIsMCwwLDEsMiwydjIiLz4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgKX0KICAgICAgPC9kZWVzLXRpbGU+CiAgICBgfWhhbmRsZUltcG9ydCgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImltcG9ydCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ3JlYXRlU2NoZWR1bGUoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjcmVhdGUtc2NoZWR1bGUiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVJ1bk5vdyhtKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJydW4tbm93Iix7ZGV0YWlsOm0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVUb2dnbGUobSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidG9nZ2xlLXNjaGVkdWxlIix7ZGV0YWlsOm0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEZWxldGVTY2hlZHVsZShtKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWxldGUtc2NoZWR1bGUiLHtkZXRhaWw6bSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZURvd25sb2FkKG0pe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRvd25sb2FkIix7ZGV0YWlsOm0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEZWxldGVCYWNrdXAobSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVsZXRlLWJhY2t1cCIse2RldGFpbDptLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHpHKHRoaXMscCl9c3RhdGlje3pHKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBxYyxkaSxzUmEsV3VhPWYoKCk9PntsZSgpO3FjPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxkaT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sc1JhPSgoKT0+e2xldCBhPVtpZSgic3otc2VydmljZS1kZXRhaWwtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdO3ZhciBQPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelNlcnZpY2VEZXRhaWxWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IEE9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpPYmplY3R9KV0sZD1bJCh7dHlwZTpPYmplY3R9KV0sdT1bJCh7dHlwZTpBcnJheX0pXSx4PVskKHt0eXBlOkFycmF5fSldLHk9WyQoe3R5cGU6Qm9vbGVhbn0pXSxOPVskKHt0eXBlOk9iamVjdH0pXSxPPVskKHt0eXBlOlN0cmluZ30pXSxCPVtLKCldLHFjKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VydmljZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4ic2VydmljZSJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnNlcnZpY2UsImdldCIpLHNldDpzKChGLFcpPT57Ri5zZXJ2aWNlPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sbixsKSxxYyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0YXRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJzdGF0cyJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnN0YXRzLCJnZXQiKSxzZXQ6cygoRixXKT0+e0Yuc3RhdHM9V30sInNldCIpfSxtZXRhZGF0YTpBfSxjLHApLHFjKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYmFja3VwcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4iYmFja3VwcyJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLmJhY2t1cHMsImdldCIpLHNldDpzKChGLFcpPT57Ri5iYWNrdXBzPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sbSx2KSxxYyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvZ3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+ImxvZ3MiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5sb2dzLCJnZXQiKSxzZXQ6cygoRixXKT0+e0YubG9ncz1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LGIsZykscWModGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdHJlYW1pbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+InN0cmVhbWluZyJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnN0cmVhbWluZywiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnN0cmVhbWluZz1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LGssQykscWModGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3b3Jrc3BhY2VFbnZpcm9ubWVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4id29ya3NwYWNlRW52aXJvbm1lbnQiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri53b3Jrc3BhY2VFbnZpcm9ubWVudCwiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLndvcmtzcGFjZUVudmlyb25tZW50PVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sXyx6KSxxYyh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndvcmtzcGFjZVBhdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+IndvcmtzcGFjZVBhdGgiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri53b3Jrc3BhY2VQYXRoLCJnZXQiKSxzZXQ6cygoRixXKT0+e0Yud29ya3NwYWNlUGF0aD1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LFQsRSkscWModGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VmlldyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4iY3VycmVudFZpZXciaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5jdXJyZW50VmlldywiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLmN1cnJlbnRWaWV3PVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sTSxTKSxxYyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpBfSxudWxsLHQpLFA9cj1lLnZhbHVlLEEmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6QX0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEyMDBweDsiPgogICAgICA8c3otc2VydmljZS1kZXRhaWwtdmlldwogICAgICAgIC5zZXJ2aWNlPSR7e25hbWU6InRlc3QtbmdpbngiLHN0YXR1czoicnVubmluZyIsaW1hZ2U6Im5naW54OmFscGluZSIscG9ydDo4MCxkb21haW46ImFwcC5ibGV1LmRlIixjb250YWluZXJJZDoicGNoYmJyOWZqcjRnIixjcmVhdGVkOiIxMS8xOC8yMDI1LCAyOjA2OjU1IFBNIix1cGRhdGVkOiIxMS8yNi8yMDI1LCA0OjA1OjQ2IFBNIixyZWdpc3RyeToiRG9ja2VyIEh1YiIscmVwb3NpdG9yeToibmdpbngiLHRhZzoiYWxwaW5lIn19CiAgICAgICAgLnN0YXRzPSR7e2NwdTouNSxtZW1vcnk6IjMyLjEgTUIiLG1lbW9yeUxpbWl0OiI2MS4zIEdCIixuZXR3b3JrSW46IjYuNCBLQiIsbmV0d29ya091dDoiMjUyIEIifX0KICAgICAgICAuYmFja3Vwcz0ke1t7aWQ6IjEiLGNyZWF0ZWRBdDoiMS8yLzIwMjYsIDI6MDA6MDMgQU0iLHNpemU6IjIxLjk2IE1CIix0eXBlOiJEb2NrZXIgSW1hZ2UifSx7aWQ6IjIiLGNyZWF0ZWRBdDoiMTEvMjcvMjAyNSwgMTo0MjoyNiBQTSIsc2l6ZToiNTEuNzYgTUIiLHR5cGU6IkRvY2tlciBJbWFnZSJ9XX0KICAgICAgICAubG9ncz0ke1t7dGltZXN0YW1wOiIyMDI0LTAxLTAyIDEwOjE1OjMyIixtZXNzYWdlOicxOTIuMTY4LjEuMTAwIC0gLSBbMDIvSmFuLzIwMjQ6MTA6MTU6MzIgKzAwMDBdICJHRVQgLyBIVFRQLzEuMSIgMjAwIDYxMid9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMDIgMTA6MTU6MzAiLG1lc3NhZ2U6JzE5Mi4xNjguMS4xMDAgLSAtIFswMi9KYW4vMjAyNDoxMDoxNTozMCArMDAwMF0gIkdFVCAvZmF2aWNvbi5pY28gSFRUUC8xLjEiIDQwNCAxNTMnfV19CiAgICAgID48L3N6LXNlcnZpY2UtZGV0YWlsLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJTZXJ2aWNlcyJdOyNlPWRpKHRoaXMsbix7bmFtZToiIixzdGF0dXM6InN0b3BwZWQiLGltYWdlOiIiLHBvcnQ6MCxkb21haW46bnVsbCxjb250YWluZXJJZDoiIixjcmVhdGVkOiIiLHVwZGF0ZWQ6IiIscmVnaXN0cnk6IiIscmVwb3NpdG9yeToiIix0YWc6IiJ9KTtnZXQgc2VydmljZSgpe3JldHVybiB0aGlzLiNlfXNldCBzZXJ2aWNlKEEpe3RoaXMuI2U9QX0jdD0oZGkodGhpcyxsKSxkaSh0aGlzLGMse2NwdTowLG1lbW9yeToiMCBNQiIsbWVtb3J5TGltaXQ6IjAgR0IiLG5ldHdvcmtJbjoiMCBCIixuZXR3b3JrT3V0OiIwIEIifSkpO2dldCBzdGF0cygpe3JldHVybiB0aGlzLiN0fXNldCBzdGF0cyhBKXt0aGlzLiN0PUF9I2E9KGRpKHRoaXMscCksZGkodGhpcyxtLFtdKSk7Z2V0IGJhY2t1cHMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgYmFja3VwcyhBKXt0aGlzLiNhPUF9I3I9KGRpKHRoaXMsdiksZGkodGhpcyxiLFtdKSk7Z2V0IGxvZ3MoKXtyZXR1cm4gdGhpcy4jcn1zZXQgbG9ncyhBKXt0aGlzLiNyPUF9I3M9KGRpKHRoaXMsZyksZGkodGhpcyxrLCExKSk7Z2V0IHN0cmVhbWluZygpe3JldHVybiB0aGlzLiNzfXNldCBzdHJlYW1pbmcoQSl7dGhpcy4jcz1BfSNpPShkaSh0aGlzLEMpLGRpKHRoaXMsXyxudWxsKSk7Z2V0IHdvcmtzcGFjZUVudmlyb25tZW50KCl7cmV0dXJuIHRoaXMuI2l9c2V0IHdvcmtzcGFjZUVudmlyb25tZW50KEEpe3RoaXMuI2k9QX0jbz0oZGkodGhpcyx6KSxkaSh0aGlzLFQsIi8iKSk7Z2V0IHdvcmtzcGFjZVBhdGgoKXtyZXR1cm4gdGhpcy4jb31zZXQgd29ya3NwYWNlUGF0aChBKXt0aGlzLiNvPUF9I249KGRpKHRoaXMsRSksZGkodGhpcyxNLCJkZXRhaWxzIikpO2dldCBjdXJyZW50Vmlldygpe3JldHVybiB0aGlzLiNufXNldCBjdXJyZW50VmlldyhBKXt0aGlzLiNuPUF9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuYmFjay1saW5rIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYmFjay1saW5rOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc2VydmljZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNHB4IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnJ1bm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnN0b3BwZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuY29udGVudCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHsKICAgICAgICAuY29udGVudCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnI7CiAgICAgICAgfQogICAgICB9CgogICAgICAubWFpbi1jb250ZW50IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CgogICAgICAuc2lkZWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQoKICAgICAgLmNhcmQtaGVhZGVyIHsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDAgOHB4IDAgMTZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuY2FyZC1oZWFkaW5nIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLmNhcmQtdGl0bGUgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5jYXJkLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAuY2FyZC1mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAwOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAudGlsZS1idXR0b246Zmlyc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgICB9CgogICAgICAudGlsZS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4wOCkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUgLyAwLjA4KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1MCUpIiwiaHNsKDIxMy4xIDkzLjklIDc1JSkiKX07CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5kYW5nZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5kYW5nZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xKSIpfTsKICAgICAgfQoKICAgICAgLmNhcmQtY29udGVudCB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgfQoKICAgICAgLmRldGFpbC1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuZGV0YWlsLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICB9CgogICAgICAuZGV0YWlsLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmRldGFpbC12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtdmFsdWUgYSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtdmFsdWUgYTpob3ZlciB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC5zdGF0cy1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuc3RhdC1pdGVtIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgIH0KCiAgICAgIC5zdGF0LWxhYmVsIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CgogICAgICAuc3RhdC12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXQtc3VidmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAuYWN0aW9ucy1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRhbmdlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4zKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGFuZ2VyOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5iYWNrdXAtbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuYmFja3VwLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICB9CgogICAgICAuYmFja3VwLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLmJhY2t1cC1kYXRlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmJhY2t1cC1tZXRhIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmJhY2t1cC1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuaWNvbi1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuaWNvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAudGFnLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIDpob3N0KC53b3Jrc3BhY2UtbW9kZSkgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2Utd3JhcHBlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLndvcmtzcGFjZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAud29ya3NwYWNlLWJhY2stbGluayB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAud29ya3NwYWNlLWJhY2stbGluazpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMWQ0ZWQ4IiwiIzkzYzVmZCIpfTsKICAgICAgfQoKICAgICAgLndvcmtzcGFjZS1zZXJ2aWNlLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2Utc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHdpZHRoOiA4cHg7CiAgICAgICAgaGVpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICB9CgogICAgICAud29ya3NwYWNlLXN0YXR1cy1iYWRnZS5ydW5uaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzIyYzU1ZSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2Utc3RhdHVzLWJhZGdlLnN0b3BwZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWY0NDQ0IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLndvcmtzcGFjZS1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi1oZWlnaHQ6IDA7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB0aGlzLmN1cnJlbnRWaWV3PT09IndvcmtzcGFjZSI/dGhpcy5yZW5kZXJXb3Jrc3BhY2VWaWV3KCk6dGhpcy5yZW5kZXJEZXRhaWxzVmlldygpfXJlbmRlcldvcmtzcGFjZVZpZXcoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0id29ya3NwYWNlLXdyYXBwZXIiPgogICAgICAgIDxkaXYgY2xhc3M9IndvcmtzcGFjZS1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0id29ya3NwYWNlLWJhY2stbGluayIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ2xvc2VXb3Jrc3BhY2UoKX0+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiI+PC9wb2x5bGluZT4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIEJhY2sgdG8gRGV0YWlscwogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8c3BhbiBjbGFzcz0id29ya3NwYWNlLXNlcnZpY2UtbmFtZSI+JHt0aGlzLnNlcnZpY2UubmFtZX08L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0id29ya3NwYWNlLXN0YXR1cy1iYWRnZSAke3RoaXMuc2VydmljZS5zdGF0dXN9Ij48L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0id29ya3NwYWNlLWNvbnRhaW5lciI+CiAgICAgICAgICA8ZGVlcy13b3Jrc3BhY2UgLmV4ZWN1dGlvbkVudmlyb25tZW50PSR7dGhpcy53b3Jrc3BhY2VFbnZpcm9ubWVudH0+PC9kZWVzLXdvcmtzcGFjZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckRldGFpbHNWaWV3KCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iYmFjay1saW5rIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVCYWNrKCl9PgogICAgICAgICAgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiI+PC9wb2x5bGluZT4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgQmFjayB0byBTZXJ2aWNlcwogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtaGVhZGVyIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMjRweDsiPgogICAgICAgIDxoMSBjbGFzcz0ic2VydmljZS1uYW1lIj4ke3RoaXMuc2VydmljZS5uYW1lfTwvaDE+CiAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1iYWRnZSAke3RoaXMuc2VydmljZS5zdGF0dXN9Ij4ke3RoaXMuc2VydmljZS5zdGF0dXN9PC9zcGFuPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPgogICAgICAgIDxkaXYgY2xhc3M9Im1haW4tY29udGVudCI+CiAgICAgICAgICA8ZGVlcy10aWxlPgogICAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRpbmciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtdGl0bGUiPlNlcnZpY2UgRGV0YWlsczwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWxpc3QiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5JbWFnZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHt0aGlzLnNlcnZpY2UuaW1hZ2V9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPlBvcnQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dGhpcy5zZXJ2aWNlLnBvcnR9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkRvbWFpbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgJHt0aGlzLnNlcnZpY2UuZG9tYWluP3dgPGEgaHJlZj0iaHR0cHM6Ly8ke3RoaXMuc2VydmljZS5kb21haW59IiB0YXJnZXQ9Il9ibGFuayI+JHt0aGlzLnNlcnZpY2UuZG9tYWlufTwvYT5gOiItIn0KICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkNvbnRhaW5lciBJRDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHt0aGlzLnNlcnZpY2UuY29udGFpbmVySWR9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkNyZWF0ZWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dGhpcy5zZXJ2aWNlLmNyZWF0ZWR9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPlVwZGF0ZWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dGhpcy5zZXJ2aWNlLnVwZGF0ZWR9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImNhcmQtZm9vdGVyIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiBwcmltYXJ5IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVFZGl0KCl9PkVkaXQ8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2RlZXMtdGlsZT4KCiAgICAgICAgICA8ZGVlcy1jaGFydC1sb2cKICAgICAgICAgICAgLmxhYmVsPSR7IlNlcnZpY2UgTG9ncyJ9CiAgICAgICAgICAgIC5sb2dFbnRyaWVzPSR7dGhpcy5sb2dzLm1hcChBPT4oe3RpbWVzdGFtcDpBLnRpbWVzdGFtcD8uaW5jbHVkZXM/LigiVCIpP0EudGltZXN0YW1wOm5ldyBEYXRlKEEudGltZXN0YW1wfHxEYXRlLm5vdygpKS50b0lTT1N0cmluZygpLGxldmVsOkEubGV2ZWx8fCJpbmZvIixtZXNzYWdlOkEubWVzc2FnZX0pKX0KICAgICAgICAgICAgLmF1dG9TY3JvbGw9JHshMH0KICAgICAgICAgICAgLm1heEVudHJpZXM9JHsyZTN9CiAgICAgICAgICAgIC5zaG93TWV0cmljcz0keyEwfQogICAgICAgICAgPjwvZGVlcy1jaGFydC1sb2c+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXIiPgogICAgICAgICAgPGRlZXMtdGlsZT4KICAgICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkaW5nIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLXRpdGxlIj5MaXZlIHN0YXRzPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0cy1ncmlkIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPkNQVTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LXZhbHVlIj4ke3RoaXMuc3RhdHMuY3B1LnRvRml4ZWQoMSl9JTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWl0ZW0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWxhYmVsIj5NZW1vcnk8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC12YWx1ZSI+JHt0aGlzLnN0YXRzLm1lbW9yeX08L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1zdWJ2YWx1ZSI+b2YgJHt0aGlzLnN0YXRzLm1lbW9yeUxpbWl0fTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWl0ZW0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWxhYmVsIj5OZXR3b3JrIEluPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtdmFsdWUiPiR7dGhpcy5zdGF0cy5uZXR3b3JrSW59PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPk5ldHdvcmsgT3V0PC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtdmFsdWUiPiR7dGhpcy5zdGF0cy5uZXR3b3JrT3V0fTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kZWVzLXRpbGU+CgogICAgICAgICAgPGRlZXMtdGlsZT4KICAgICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkaW5nIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLXRpdGxlIj5BY3Rpb25zPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtc3VidGl0bGUiPk1hbmFnZSBzZXJ2aWNlIHN0YXRlPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25zLWdyaWQiPgogICAgICAgICAgICAgICAgJHt0aGlzLnNlcnZpY2Uuc3RhdHVzPT09InJ1bm5pbmciP3dgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKCJzdG9wIil9PlN0b3AgU2VydmljZTwvYnV0dG9uPmA6d2A8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBY3Rpb24oInN0YXJ0Iil9PlN0YXJ0IFNlcnZpY2U8L2J1dHRvbj5gfQogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKCJyZXN0YXJ0Iil9PlJlc3RhcnQgU2VydmljZTwvYnV0dG9uPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlT3BlbldvcmtzcGFjZSgpfT4KICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3R5bGU9ImRpc3BsYXk6IGlubGluZTsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgbWFyZ2luLXJpZ2h0OiA0cHg7Ij4KICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSI0IDE3IDEwIDExIDQgNSI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIxOSIgeDI9IjIwIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgIE9wZW4gV29ya3NwYWNlCiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gZGFuZ2VyIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBY3Rpb24oImRlbGV0ZSIpfT5EZWxldGUgU2VydmljZTwvYnV0dG9uPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGluZyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC10aXRsZSI+SW1hZ2UgU291cmNlPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtc3VidGl0bGUiPiR7dGhpcy5zZXJ2aWNlLnJlZ2lzdHJ5PT09IkRvY2tlciBIdWIiPyJFeHRlcm5hbCBjb250YWluZXIgcmVnaXN0cnkiOiJPbmVib3ggcmVnaXN0cnkifTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWxpc3QiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5SZWdpc3RyeTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHt0aGlzLnNlcnZpY2UucmVnaXN0cnl9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPlJlcG9zaXRvcnk8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dGhpcy5zZXJ2aWNlLnJlcG9zaXRvcnl9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPlRhZzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+PHNwYW4gY2xhc3M9InRhZy1iYWRnZSI+JHt0aGlzLnNlcnZpY2UudGFnfTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2RlZXMtdGlsZT4KCiAgICAgICAgICA8ZGVlcy10aWxlPgogICAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRpbmciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtdGl0bGUiPkJhY2t1cHM8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC1zdWJ0aXRsZSI+Q3JlYXRlIGFuZCBtYW5hZ2Ugc2VydmljZSBiYWNrdXBzPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiYWNrdXAtbGlzdCI+CiAgICAgICAgICAgICAgICAke3RoaXMuYmFja3Vwcy5tYXAoQT0+d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmFja3VwLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJhY2t1cC1pbmZvIj4KICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJhY2t1cC1kYXRlIj4ke0EuY3JlYXRlZEF0fTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmFja3VwLW1ldGEiPiR7QS5zaXplfSDCtyAke0EudHlwZX08L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiYWNrdXAtYWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiIgdGl0bGU9IkRvd25sb2FkIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEb3dubG9hZEJhY2t1cChBKX0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iNyAxMCAxMiAxNSAxNyAxMCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjE1IiB4Mj0iMTIiIHkyPSIzIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiIgdGl0bGU9IlJlc3RvcmUiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVJlc3RvcmVCYWNrdXAoQSl9PgogICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxIDQgMSAxMCA3IDEwIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTMuNTEgMTVhOSA5IDAgMSAwIDIuMTMtOS4zNkwxIDEwIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiIgdGl0bGU9IkRlbGV0ZSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRGVsZXRlQmFja3VwKEEpfT4KICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMyw2IDUsNiAyMSw2Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTE5LDZ2MTRhMiwyLDAsMCwxLTIsMkg3YTIsMiwwLDAsMS0yLTJWNm0zLDBWNGEyLDIsMCwwLDEsMi0yaDRhMiwyLDAsMCwxLDIsMnYyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImNhcmQtZm9vdGVyIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiBwcmltYXJ5IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDcmVhdGVCYWNrdXAoKX0+CiAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgQ3JlYXRlIEJhY2t1cAogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGVlcy10aWxlPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlQmFjaygpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImJhY2siLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUVkaXQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJlZGl0Iix7ZGV0YWlsOnRoaXMuc2VydmljZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUFjdGlvbihBKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZXJ2aWNlLWFjdGlvbiIse2RldGFpbDp7c2VydmljZTp0aGlzLnNlcnZpY2UsYWN0aW9uOkF9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9dG9nZ2xlU3RyZWFtaW5nKCl7dGhpcy5zdHJlYW1pbmc9IXRoaXMuc3RyZWFtaW5nLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInN0cmVhbS10b2dnbGUiLHtkZXRhaWw6e3N0cmVhbWluZzp0aGlzLnN0cmVhbWluZ30sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVDbGVhckxvZ3MoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjbGVhci1sb2dzIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVDcmVhdGVCYWNrdXAoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjcmVhdGUtYmFja3VwIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEb3dubG9hZEJhY2t1cChBKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkb3dubG9hZC1iYWNrdXAiLHtkZXRhaWw6QSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVJlc3RvcmVCYWNrdXAoQSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicmVzdG9yZS1iYWNrdXAiLHtkZXRhaWw6QSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZURlbGV0ZUJhY2t1cChBKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWxldGUtYmFja3VwIix7ZGV0YWlsOkEsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVPcGVuV29ya3NwYWNlKCl7dGhpcy53b3Jrc3BhY2VFbnZpcm9ubWVudD8odGhpcy5jdXJyZW50Vmlldz0id29ya3NwYWNlIix0aGlzLmNsYXNzTGlzdC5hZGQoIndvcmtzcGFjZS1tb2RlIikpOnRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJlcXVlc3Qtd29ya3NwYWNlIix7ZGV0YWlsOntzZXJ2aWNlOnRoaXMuc2VydmljZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVDbG9zZVdvcmtzcGFjZSgpe3RoaXMuY3VycmVudFZpZXc9ImRldGFpbHMiLHRoaXMuY2xhc3NMaXN0LnJlbW92ZSgid29ya3NwYWNlLW1vZGUiKX11cGRhdGVkKEEpe3N1cGVyLnVwZGF0ZWQoQSksQS5oYXMoIndvcmtzcGFjZUVudmlyb25tZW50IikmJnRoaXMud29ya3NwYWNlRW52aXJvbm1lbnQmJnRoaXMuY3VycmVudFZpZXc9PT0iZGV0YWlscyImJih0aGlzLmN1cnJlbnRWaWV3PSJ3b3Jrc3BhY2UiLHRoaXMuY2xhc3NMaXN0LmFkZCgid29ya3NwYWNlLW1vZGUiKSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGRpKHRoaXMsUyl9c3RhdGlje2RpKHIsdCl9fTtyZXR1cm4gUD1yfSkoKX0pO3ZhciB5aWUsRTUsaVJhLEd1YT1mKCgpPT57bGUoKTt5aWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEU1PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxpUmE9KCgpPT57bGV0IGE9W2llKCJzei1hcHAtc3RvcmUtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekFwcFN0b3JlVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bSygpXSx1PVtLKCldLHlpZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFwcHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImFwcHMiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5hcHBzLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuYXBwcz15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCkseWllKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRDYXRlZ29yeSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4ic2VsZWN0ZWRDYXRlZ29yeSJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLnNlbGVjdGVkQ2F0ZWdvcnksImdldCIpLHNldDpzKChnLHkpPT57Zy5zZWxlY3RlZENhdGVnb3J5PXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sYyxwKSx5aWUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWFyY2hRdWVyeSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4ic2VhcmNoUXVlcnkiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5zZWFyY2hRdWVyeSwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnNlYXJjaFF1ZXJ5PXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSx5aWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMjAwcHg7Ij4KICAgICAgPHN6LWFwcC1zdG9yZS12aWV3CiAgICAgICAgLmFwcHM9JHtbe2lkOiJ3b3JkcHJlc3MiLG5hbWU6IldvcmRQcmVzcyIsZGVzY3JpcHRpb246IlRoZSB3b3JsZCdzIG1vc3QgcG9wdWxhciBvcGVuLXNvdXJjZSBjb250ZW50IG1hbmFnZW1lbnQgc3lzdGVtIGZvciBidWlsZGluZyB3ZWJzaXRlcyBhbmQgYmxvZ3MuIixjYXRlZ29yeToiQ01TIixpY29uTmFtZToiZmlsZS10ZXh0IixpbWFnZToid29yZHByZXNzOmxhdGVzdCIscG9ydDo4MCxlbnZWYXJzOlt7a2V5OiJXT1JEUFJFU1NfREJfSE9TVCIsdmFsdWU6IiIsZGVzY3JpcHRpb246IkRhdGFiYXNlIGhvc3QgYWRkcmVzcyIscmVxdWlyZWQ6ITB9LHtrZXk6IldPUkRQUkVTU19EQl9VU0VSIix2YWx1ZToid29yZHByZXNzIixkZXNjcmlwdGlvbjoiRGF0YWJhc2UgdXNlcm5hbWUiLHJlcXVpcmVkOiEwfSx7a2V5OiJXT1JEUFJFU1NfREJfUEFTU1dPUkQiLHZhbHVlOiIiLGRlc2NyaXB0aW9uOiJEYXRhYmFzZSBwYXNzd29yZCIscmVxdWlyZWQ6ITB9LHtrZXk6IldPUkRQUkVTU19EQl9OQU1FIix2YWx1ZToid29yZHByZXNzIixkZXNjcmlwdGlvbjoiRGF0YWJhc2UgbmFtZSIscmVxdWlyZWQ6ITB9XSx2b2x1bWVzOlsiL3Zhci93d3cvaHRtbCJdLGVuYWJsZU1vbmdvREI6ITEsZW5hYmxlUzM6ITF9LHtpZDoiZ2l0ZWEiLG5hbWU6IkdpdGVhIixkZXNjcmlwdGlvbjoiQSBsaWdodHdlaWdodCwgc2VsZi1ob3N0ZWQgR2l0IHNlcnZpY2UuIFBhaW5sZXNzIHNldHVwIGZvciB5b3VyIG93biBjb2RlIGhvc3RpbmcgcGxhdGZvcm0uIixjYXRlZ29yeToiRGV2ZWxvcG1lbnQiLGljb25OYW1lOiJnaXQtYnJhbmNoIixpbWFnZToiZ2l0ZWEvZ2l0ZWE6bGF0ZXN0Iixwb3J0OjNlMyxlbnZWYXJzOlt7a2V5OiJHSVRFQV9fZGF0YWJhc2VfX0RCX1RZUEUiLHZhbHVlOiJzcWxpdGUzIixkZXNjcmlwdGlvbjoiRGF0YWJhc2UgdHlwZSIscmVxdWlyZWQ6ITB9LHtrZXk6IkdJVEVBX19zZXJ2ZXJfX1JPT1RfVVJMIix2YWx1ZToiIixkZXNjcmlwdGlvbjoiUHVibGljIFVSTCBvZiB0aGUgR2l0ZWEgaW5zdGFuY2UiLHJlcXVpcmVkOiExfV0sdm9sdW1lczpbIi9kYXRhIl19LHtpZDoiZ2hvc3QiLG5hbWU6Ikdob3N0IixkZXNjcmlwdGlvbjoiQSBwb3dlcmZ1bCBvcGVuLXNvdXJjZSBwdWJsaXNoaW5nIHBsYXRmb3JtIGZvciBwcm9mZXNzaW9uYWwgYmxvZ2dlcnMgYW5kIGNvbnRlbnQgY3JlYXRvcnMuIixjYXRlZ29yeToiQ01TIixpY29uTmFtZToiYm9vay1vcGVuIixpbWFnZToiZ2hvc3Q6bGF0ZXN0Iixwb3J0OjIzNjgsZW52VmFyczpbe2tleToidXJsIix2YWx1ZToiIixkZXNjcmlwdGlvbjoiUHVibGljIFVSTCBmb3IgdGhlIEdob3N0IHNpdGUiLHJlcXVpcmVkOiEwfSx7a2V5OiJkYXRhYmFzZV9fY2xpZW50Iix2YWx1ZToic3FsaXRlMyIsZGVzY3JpcHRpb246IkRhdGFiYXNlIGNsaWVudCB0eXBlIixyZXF1aXJlZDohMX1dLHZvbHVtZXM6WyIvdmFyL2xpYi9naG9zdC9jb250ZW50Il19LHtpZDoibmdpbngiLG5hbWU6Ik5naW54IixkZXNjcmlwdGlvbjoiSGlnaC1wZXJmb3JtYW5jZSBIVFRQIHNlcnZlciBhbmQgcmV2ZXJzZSBwcm94eSB3aXRoIGxvdyByZXNvdXJjZSBjb25zdW1wdGlvbi4iLGNhdGVnb3J5OiJXZWIgU2VydmVyIixpY29uTmFtZToiZ2xvYmUiLGltYWdlOiJuZ2lueDphbHBpbmUiLHBvcnQ6ODAsdm9sdW1lczpbIi91c3Ivc2hhcmUvbmdpbngvaHRtbCIsIi9ldGMvbmdpbngvY29uZi5kIl19LHtpZDoicmVkaXMiLG5hbWU6IlJlZGlzIixkZXNjcmlwdGlvbjoiSW4tbWVtb3J5IGRhdGEgc3RvcmUgdXNlZCBhcyBhIGRhdGFiYXNlLCBjYWNoZSwgc3RyZWFtaW5nIGVuZ2luZSwgYW5kIG1lc3NhZ2UgYnJva2VyLiIsY2F0ZWdvcnk6IkRhdGFiYXNlIixpY29uTmFtZToiZGF0YWJhc2UiLGltYWdlOiJyZWRpczphbHBpbmUiLHBvcnQ6NjM3OX0se2lkOiJwb3N0Z3JlcyIsbmFtZToiUG9zdGdyZVNRTCIsZGVzY3JpcHRpb246IkFkdmFuY2VkIG9wZW4tc291cmNlIHJlbGF0aW9uYWwgZGF0YWJhc2Ugd2l0aCBzdHJvbmcgcmVsaWFiaWxpdHkgYW5kIGZlYXR1cmUgc2V0LiIsY2F0ZWdvcnk6IkRhdGFiYXNlIixpY29uTmFtZToiZGF0YWJhc2UiLGltYWdlOiJwb3N0Z3JlczoxNi1hbHBpbmUiLHBvcnQ6NTQzMixlbnZWYXJzOlt7a2V5OiJQT1NUR1JFU19VU0VSIix2YWx1ZToicG9zdGdyZXMiLGRlc2NyaXB0aW9uOiJTdXBlcnVzZXIgdXNlcm5hbWUiLHJlcXVpcmVkOiEwfSx7a2V5OiJQT1NUR1JFU19QQVNTV09SRCIsdmFsdWU6IiIsZGVzY3JpcHRpb246IlN1cGVydXNlciBwYXNzd29yZCIscmVxdWlyZWQ6ITB9LHtrZXk6IlBPU1RHUkVTX0RCIix2YWx1ZToicG9zdGdyZXMiLGRlc2NyaXB0aW9uOiJEZWZhdWx0IGRhdGFiYXNlIG5hbWUiLHJlcXVpcmVkOiExfV0sdm9sdW1lczpbIi92YXIvbGliL3Bvc3RncmVzcWwvZGF0YSJdfV19CiAgICAgID48L3N6LWFwcC1zdG9yZS12aWV3PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiU2VydmljZXMiXTsjZT1FNSh0aGlzLG4sW10pO2dldCBhcHBzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGFwcHMoYil7dGhpcy4jZT1ifSN0PShFNSh0aGlzLGwpLEU1KHRoaXMsYywiQWxsIikpO2dldCBzZWxlY3RlZENhdGVnb3J5KCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlbGVjdGVkQ2F0ZWdvcnkoYil7dGhpcy4jdD1ifSNhPShFNSh0aGlzLHApLEU1KHRoaXMsbSwiIikpO2dldCBzZWFyY2hRdWVyeSgpe3JldHVybiB0aGlzLiNhfXNldCBzZWFyY2hRdWVyeShiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmhlYWRlci10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmhlYWRlci1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICB9CgogICAgICAuZmlsdGVyLWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmNhdGVnb3J5LXBpbGxzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLmNhdGVnb3J5LXBpbGwgewogICAgICAgIHBhZGRpbmc6IDZweCAxNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5jYXRlZ29yeS1waWxsOmhvdmVyIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuY2F0ZWdvcnktcGlsbC5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc2VhcmNoLWlucHV0IHsKICAgICAgICB3aWR0aDogMjQwcHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHggOHB4IDM2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMjAwbXMgZWFzZTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuc2VhcmNoLWlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuc2VhcmNoLWljb24gewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAxMHB4OwogICAgICAgIHRvcDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLmFwcC1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7CiAgICAgICAgLmFwcC1ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7CiAgICAgICAgfQogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHsKICAgICAgICAuYXBwLWdyaWQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgfQoKICAgICAgICAuZmlsdGVyLWJhciB7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7CiAgICAgICAgfQoKICAgICAgICAuc2VhcmNoLWlucHV0IHsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLmFwcC1jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB9CgogICAgICAuYXBwLWNhcmQ6aG92ZXIgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjM2YzZjQ2Iil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggJHtoLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4wNSkiLCJyZ2JhKDAsMCwwLDAuMikiKX07CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOwogICAgICB9CgogICAgICAuY2FyZC10b3AgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgZ2FwOiAxNHB4OwogICAgICB9CgogICAgICAuYXBwLWljb24gewogICAgICAgIHdpZHRoOiA0NHB4OwogICAgICAgIGhlaWdodDogNDRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmFwcC1pY29uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDIycHg7CiAgICAgICAgaGVpZ2h0OiAyMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5hcHAtaWNvbiBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgfQoKICAgICAgLmFwcC1pY29uIC5sZXR0ZXItZmFsbGJhY2sgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5jYXJkLWluZm8gewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAuYXBwLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgfQoKICAgICAgLmNhdGVnb3J5LWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2VmZjZmZiIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjE1KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuYXBwLWRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjsKICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLmNhcmQtZm9vdGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxYTFhMWUiKX07CiAgICAgICAgbWFyZ2luLXRvcDogYXV0bzsKICAgICAgfQoKICAgICAgLmltYWdlLXRhZyB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgbWF4LXdpZHRoOiAxNjBweDsKICAgICAgfQoKICAgICAgLmRlcGxveS1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogN3B4IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMxODE4MWIiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmRlcGxveS1idXR0b246aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDAuODU7CiAgICAgIH0KCiAgICAgIC5kZXBsb3ktYnV0dG9uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB9CgogICAgICAuZGV0YWlscy1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogN3B4IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZGV0YWlscy1idXR0b246aG92ZXIgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjM2YzZjQ2Iil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5jYXJkLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xOwogICAgICAgIHBhZGRpbmc6IDY0cHggMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1pY29uIHsKICAgICAgICB3aWR0aDogNDhweDsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgICBtYXJnaW46IDAgYXV0byAxNnB4OwogICAgICB9CgogICAgICAuZW1wdHktdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CgogICAgICAuZW1wdHktZGVzY3JpcHRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CiAgICBgXTtnZXQgY2F0ZWdvcmllcygpe2xldCBiPW5ldyBTZXQodGhpcy5hcHBzLm1hcChnPT5nLmNhdGVnb3J5KSk7cmV0dXJuWyJBbGwiLC4uLkFycmF5LmZyb20oYikuc29ydCgpXX1nZXQgZmlsdGVyZWRBcHBzKCl7bGV0IGI9dGhpcy5hcHBzO2lmKHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSE9PSJBbGwiJiYoYj1iLmZpbHRlcihnPT5nLmNhdGVnb3J5PT09dGhpcy5zZWxlY3RlZENhdGVnb3J5KSksdGhpcy5zZWFyY2hRdWVyeS50cmltKCkpe2xldCBnPXRoaXMuc2VhcmNoUXVlcnkudHJpbSgpLnRvTG93ZXJDYXNlKCk7Yj1iLmZpbHRlcih5PT55Lm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhnKXx8eS5kZXNjcmlwdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGcpfHx5LmNhdGVnb3J5LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZykpfXJldHVybiBifXJlbmRlcigpe2xldCBiPXRoaXMuZmlsdGVyZWRBcHBzO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10aXRsZSI+QXBwIFN0b3JlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXN1YnRpdGxlIj5EZXBsb3kgcG9wdWxhciBhcHBsaWNhdGlvbnMgd2l0aCBvbmUgY2xpY2s8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJmaWx0ZXItYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXRlZ29yeS1waWxscyI+CiAgICAgICAgICAke3RoaXMuY2F0ZWdvcmllcy5tYXAoZz0+d2AKICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0iY2F0ZWdvcnktcGlsbCAke3RoaXMuc2VsZWN0ZWRDYXRlZ29yeT09PWc/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9Pnt0aGlzLnNlbGVjdGVkQ2F0ZWdvcnk9Z319CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgJHtnfQogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWFyY2gtd3JhcHBlciI+CiAgICAgICAgICA8c3ZnIGNsYXNzPSJzZWFyY2gtaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iOCI+PC9jaXJjbGU+CiAgICAgICAgICAgIDxsaW5lIHgxPSIyMSIgeTE9IjIxIiB4Mj0iMTYuNjUiIHkyPSIxNi42NSI+PC9saW5lPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgY2xhc3M9InNlYXJjaC1pbnB1dCIKICAgICAgICAgICAgcGxhY2Vob2xkZXI9IlNlYXJjaCBhcHBzLi4uIgogICAgICAgICAgICAudmFsdWU9JHt0aGlzLnNlYXJjaFF1ZXJ5fQogICAgICAgICAgICBAaW5wdXQ9JHtnPT57dGhpcy5zZWFyY2hRdWVyeT1nLnRhcmdldC52YWx1ZX19CiAgICAgICAgICA+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iYXBwLWdyaWQiPgogICAgICAgICR7Yi5sZW5ndGg+MD9iLm1hcChnPT50aGlzLnJlbmRlckFwcENhcmQoZykpOndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPgogICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iZW1wdHktaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiPgogICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4Ij48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjIxIiB5MT0iMjEiIHgyPSIxNi42NSIgeTI9IjE2LjY1Ij48L2xpbmU+CiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI4IiB5MT0iMTEiIHgyPSIxNCIgeTI9IjExIj48L2xpbmU+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXRpdGxlIj5ObyBhcHBzIGZvdW5kPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1kZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgICAgIFRyeSBhZGp1c3RpbmcgeW91ciBzZWFyY2ggb3IgZmlsdGVyIHRvIGZpbmQgd2hhdCB5b3UncmUgbG9va2luZyBmb3IuCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYH0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckFwcENhcmQoYil7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImFwcC1jYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLXRvcCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJhcHAtaWNvbiI+CiAgICAgICAgICAgICR7Yi5pY29uVXJsP3dgPGltZyBzcmM9IiR7Yi5pY29uVXJsfSIgYWx0PSIke2IubmFtZX0iPmA6Yi5pY29uTmFtZT90aGlzLnJlbmRlckljb25CeU5hbWUoYi5pY29uTmFtZSk6d2A8c3BhbiBjbGFzcz0ibGV0dGVyLWZhbGxiYWNrIj4ke2IubmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX08L3NwYW4+YH0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1pbmZvIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXBwLW5hbWUiPiR7Yi5uYW1lfTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXRlZ29yeS1iYWRnZSI+JHtiLmNhdGVnb3J5fTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYXBwLWRlc2NyaXB0aW9uIj4ke2IuZGVzY3JpcHRpb259PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1mb290ZXIiPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImltYWdlLXRhZyIgdGl0bGU9IiR7Yi5pbWFnZX0iPiR7Yi5pbWFnZX08L3NwYW4+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWFjdGlvbnMiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkZXRhaWxzLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlVmlld0RldGFpbHMoYil9PgogICAgICAgICAgICAgIFZpZXcgRGV0YWlscwogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGVwbG95LWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRGVwbG95KGIpfT4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIyMCAxMiAyMCAyMiA0IDIyIDQgMTIiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICA8cmVjdCB4PSIyIiB5PSI3IiB3aWR0aD0iMjAiIGhlaWdodD0iNSI+PC9yZWN0PgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMjIiIHgyPSIxMiIgeTI9IjciPjwvbGluZT4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiA3SDcuNWEyLjUgMi41IDAgMCAxIDAtNUMxMSAyIDEyIDcgMTIgN3oiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiA3aDQuNWEyLjUgMi41IDAgMCAwIDAtNUMxMyAyIDEyIDcgMTIgN3oiPjwvcGF0aD4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBEZXBsb3kKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckljb25CeU5hbWUoYil7cmV0dXJueyJmaWxlLXRleHQiOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik0xNCAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWOHoiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPSIxNCAyIDE0IDggMjAgOCI+PC9wb2x5bGluZT48bGluZSB4MT0iMTYiIHkxPSIxMyIgeDI9IjgiIHkyPSIxMyI+PC9saW5lPjxsaW5lIHgxPSIxNiIgeTE9IjE3IiB4Mj0iOCIgeTI9IjE3Ij48L2xpbmU+PHBvbHlsaW5lIHBvaW50cz0iMTAgOSA5IDkgOCA5Ij48L3BvbHlsaW5lPjwvc3ZnPmAsImdpdC1icmFuY2giOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxsaW5lIHgxPSI2IiB5MT0iMyIgeDI9IjYiIHkyPSIxNSI+PC9saW5lPjxjaXJjbGUgY3g9IjE4IiBjeT0iNiIgcj0iMyI+PC9jaXJjbGU+PGNpcmNsZSBjeD0iNiIgY3k9IjE4IiByPSIzIj48L2NpcmNsZT48cGF0aCBkPSJNMTggOWE5IDkgMCAwIDEtOSA5Ij48L3BhdGg+PC9zdmc+YCwiYm9vay1vcGVuIjp3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBkPSJNMiAzaDZhNCA0IDAgMCAxIDQgNHYxNGEzIDMgMCAwIDAtMy0zSDJ6Ij48L3BhdGg+PHBhdGggZD0iTTIyIDNoLTZhNCA0IDAgMCAwLTQgNHYxNGEzIDMgMCAwIDEgMy0zaDd6Ij48L3BhdGg+PC9zdmc+YCxnbG9iZTp3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+PGxpbmUgeDE9IjIiIHkxPSIxMiIgeDI9IjIyIiB5Mj0iMTIiPjwvbGluZT48cGF0aCBkPSJNMTIgMmExNS4zIDE1LjMgMCAwIDEgNCAxMCAxNS4zIDE1LjMgMCAwIDEtNCAxMCAxNS4zIDE1LjMgMCAwIDEtNC0xMCAxNS4zIDE1LjMgMCAwIDEgNC0xMHoiPjwvcGF0aD48L3N2Zz5gLGRhdGFiYXNlOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxlbGxpcHNlIGN4PSIxMiIgY3k9IjUiIHJ4PSI5IiByeT0iMyI+PC9lbGxpcHNlPjxwYXRoIGQ9Ik0yMSAxMmMwIDEuNjYtNCAzLTkgM3MtOS0xLjM0LTktMyI+PC9wYXRoPjxwYXRoIGQ9Ik0zIDV2MTRjMCAxLjY2IDQgMyA5IDNzOS0xLjM0IDktM1Y1Ij48L3BhdGg+PC9zdmc+YCxzZXJ2ZXI6d2A8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjIwIiBoZWlnaHQ9IjgiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PjxyZWN0IHg9IjIiIHk9IjE0IiB3aWR0aD0iMjAiIGhlaWdodD0iOCIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iNi4wMSIgeTI9IjYiPjwvbGluZT48bGluZSB4MT0iNiIgeTE9IjE4IiB4Mj0iNi4wMSIgeTI9IjE4Ij48L2xpbmU+PC9zdmc+YCxwYWNrYWdlOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxsaW5lIHgxPSIxNi41IiB5MT0iOS40IiB4Mj0iNy41IiB5Mj0iNC4yMSI+PC9saW5lPjxwYXRoIGQ9Ik0yMSAxNlY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzNsNyA0YTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNnoiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPSIzLjI3IDYuOTYgMTIgMTIuMDEgMjAuNzMgNi45NiI+PC9wb2x5bGluZT48bGluZSB4MT0iMTIiIHkxPSIyMi4wOCIgeDI9IjEyIiB5Mj0iMTIiPjwvbGluZT48L3N2Zz5gLG1haWw6d2A8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTQgNGgxNmMxLjEgMCAyIC45IDIgMnYxMmMwIDEuMS0uOSAyLTIgMkg0Yy0xLjEgMC0yLS45LTItMlY2YzAtMS4xLjktMiAyLTJ6Ij48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz0iMjIsNiAxMiwxMyAyLDYiPjwvcG9seWxpbmU+PC9zdmc+YCxzaGllbGQ6d2A8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTEyIDIyczgtNCA4LTEwVjVsLTgtMy04IDN2N2MwIDYgOCAxMCA4IDEweiI+PC9wYXRoPjwvc3ZnPmAsbW9uaXRvcjp3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cmVjdCB4PSIyIiB5PSIzIiB3aWR0aD0iMjAiIGhlaWdodD0iMTQiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PjxsaW5lIHgxPSI4IiB5MT0iMjEiIHgyPSIxNiIgeTI9IjIxIj48L2xpbmU+PGxpbmUgeDE9IjEyIiB5MT0iMTciIHgyPSIxMiIgeTI9IjIxIj48L2xpbmU+PC9zdmc+YH1bYl18fHdgPHNwYW4gY2xhc3M9ImxldHRlci1mYWxsYmFjayI+Pzwvc3Bhbj5gfWhhbmRsZVZpZXdEZXRhaWxzKGIpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInZpZXctYXBwIix7ZGV0YWlsOnthcHA6Yn0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEZXBsb3koYil7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVwbG95LWFwcCIse2RldGFpbDp7YXBwOmJ9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLEU1KHRoaXMsdil9c3RhdGlje0U1KHIsdCl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciBuZXQsQ0csb1JhLFl1YT1mKCgpPT57bGUoKTtuZXQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LENHPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxvUmE9KCgpPT57bGV0IGE9W2llKCJzei10b2tlbnMtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelRva2Vuc1ZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLGQ9WyQoe3R5cGU6QXJyYXl9KV0sbmV0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZ2xvYmFsVG9rZW5zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJnbG9iYWxUb2tlbnMiaW4gdiwiaGFzIiksZ2V0OnModj0+di5nbG9iYWxUb2tlbnMsImdldCIpLHNldDpzKCh2LHgpPT57di5nbG9iYWxUb2tlbnM9eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLG5ldCh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNpVG9rZW5zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJjaVRva2VucyJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmNpVG9rZW5zLCJnZXQiKSxzZXQ6cygodix4KT0+e3YuY2lUb2tlbnM9eH0sInNldCIpfSxtZXRhZGF0YTptfSxjLHApLG5ldChudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEwMDBweDsiPgogICAgICA8c3otdG9rZW5zLXZpZXcKICAgICAgICAuZ2xvYmFsVG9rZW5zPSR7W3tpZDoiMSIsbmFtZToiQ0kvQ0QgUGlwZWxpbmUiLHR5cGU6Imdsb2JhbCIsY3JlYXRlZEF0OiIyMDI0LTAxLTE1IixsYXN0VXNlZDoiMjAyNC0wMS0yMCJ9LHtpZDoiMiIsbmFtZToiRGV2ZWxvcG1lbnQiLHR5cGU6Imdsb2JhbCIsY3JlYXRlZEF0OiIyMDI0LTAxLTEwIn1dfQogICAgICAgIC5jaVRva2Vucz0ke1t7aWQ6IjMiLG5hbWU6ImhlbGxvLXdvcmxkLWNpIix0eXBlOiJjaSIsc2VydmljZToiaGVsbG8td29ybGQiLGNyZWF0ZWRBdDoiMjAyNC0wMS0xOCJ9LHtpZDoiNCIsbmFtZToiYXBpLXNlcnZpY2UtY2kiLHR5cGU6ImNpIixzZXJ2aWNlOiJhcGktc2VydmljZSIsY3JlYXRlZEF0OiIyMDI0LTAxLTEyIixsYXN0VXNlZDoiMjAyNC0wMS0xOSJ9XX0KICAgICAgPjwvc3otdG9rZW5zLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJBdXRoICYgU2V0dGluZ3MiXTsjZT1DRyh0aGlzLG4sW10pO2dldCBnbG9iYWxUb2tlbnMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZ2xvYmFsVG9rZW5zKG0pe3RoaXMuI2U9bX0jdD0oQ0codGhpcyxsKSxDRyh0aGlzLGMsW10pKTtnZXQgY2lUb2tlbnMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgY2lUb2tlbnMobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24taGVhZGVyIHsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuc2VjdGlvbi1oZWFkaW5nIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAuc2VjdGlvbi1mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAwOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAudGlsZS1idXR0b246Zmlyc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgICB9CgogICAgICAudGlsZS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4wOCkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUgLyAwLjA4KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1MCUpIiwiaHNsKDIxMy4xIDkzLjklIDc1JSkiKX07CiAgICAgIH0KCiAgICAgIC50b2tlbi1saXN0IHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICB9CgogICAgICAudG9rZW4taXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC50b2tlbi1pdGVtOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC50b2tlbi1pbmZvIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC50b2tlbi1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAudG9rZW4tbWV0YSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC50b2tlbi1zZXJ2aWNlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDsKICAgICAgfQoKICAgICAgLnRva2VuLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kZWxldGUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRlbGV0ZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDMycHggMTZweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5lbXB0eS10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRpbmciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+R2xvYmFsIFRva2Vuczwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPlRva2VucyB0aGF0IGNhbiBwdXNoIGltYWdlcyB0byBtdWx0aXBsZSBzZXJ2aWNlczwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5nbG9iYWxUb2tlbnMubGVuZ3RoPjA/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWxpc3QiPgogICAgICAgICAgICAke3RoaXMuZ2xvYmFsVG9rZW5zLm1hcChtPT50aGlzLnJlbmRlclRva2VuKG0pKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6d2AKICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktdGV4dCI+Tm8gZ2xvYmFsIHRva2VucyBjcmVhdGVkPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgfQogICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0ic2VjdGlvbi1mb290ZXIiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlsZS1idXR0b24gcHJpbWFyeSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ3JlYXRlKCJnbG9iYWwiKX0+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ij48L2xpbmU+CiAgICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIENyZWF0ZSBUb2tlbgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5DSSBUb2tlbnMgKFNlcnZpY2Utc3BlY2lmaWMpPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+VG9rZW5zIHRpZWQgdG8gaW5kaXZpZHVhbCBzZXJ2aWNlcyBmb3IgQ0kvQ0QgcGlwZWxpbmVzPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLmNpVG9rZW5zLmxlbmd0aD4wP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1saXN0Ij4KICAgICAgICAgICAgJHt0aGlzLmNpVG9rZW5zLm1hcChtPT50aGlzLnJlbmRlclRva2VuKG0pKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6d2AKICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktdGV4dCI+Tm8gQ0kgdG9rZW5zIGNyZWF0ZWQ8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGB9CiAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJzZWN0aW9uLWZvb3RlciI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiBwcmltYXJ5IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDcmVhdGUoImNpIil9PgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICAgIDxsaW5lIHgxPSI1IiB5MT0iMTIiIHgyPSIxOSIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBDcmVhdGUgVG9rZW4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtdGlsZT4KICAgIGB9cmVuZGVyVG9rZW4obSl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InRva2VuLWl0ZW0iPgogICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWluZm8iPgogICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+JHttLm5hbWV9PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1tZXRhIj4KICAgICAgICAgICAgJHttLnNlcnZpY2U/d2A8c3BhbiBjbGFzcz0idG9rZW4tc2VydmljZSI+JHttLnNlcnZpY2V9PC9zcGFuPmA6IiJ9CiAgICAgICAgICAgIENyZWF0ZWQgJHttLmNyZWF0ZWRBdH0KICAgICAgICAgICAgJHttLmxhc3RVc2VkP3dgIMK3IExhc3QgdXNlZCAke20ubGFzdFVzZWR9YDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWFjdGlvbnMiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ29weShtKX0+Q29weTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlUmVnZW5lcmF0ZShtKX0+UmVnZW5lcmF0ZTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBkZWxldGUiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlbGV0ZShtKX0+RGVsZXRlPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVDcmVhdGUobSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY3JlYXRlIix7ZGV0YWlsOnt0eXBlOm19LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ29weShtKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb3B5Iix7ZGV0YWlsOm0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVSZWdlbmVyYXRlKG0pe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJlZ2VuZXJhdGUiLHtkZXRhaWw6bSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZURlbGV0ZShtKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWxldGUiLHtkZXRhaWw6bSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxDRyh0aGlzLHApfXN0YXRpY3tDRyhyLHQpfX07cmV0dXJuIHU9cn0pKCl9KTt2YXIgY2V0LF9HLG5SYSxLdWE9ZigoKT0+e2xlKCk7Y2V0PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxfRz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sblJhPSgoKT0+e2xldCBhPVtpZSgic3otc2V0dGluZ3MtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelNldHRpbmdzVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLGNldCh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNldHRpbmdzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJzZXR0aW5ncyJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LnNldHRpbmdzLCJnZXQiKSxzZXQ6cygodix4KT0+e3Yuc2V0dGluZ3M9eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLGNldCh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRVc2VyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJjdXJyZW50VXNlciJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmN1cnJlbnRVc2VyLCJnZXQiKSxzZXQ6cygodix4KT0+e3YuY3VycmVudFVzZXI9eH0sInNldCIpfSxtZXRhZGF0YTptfSxjLHApLGNldChudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDgwMHB4OyI+CiAgICAgIDxzei1zZXR0aW5ncy12aWV3CiAgICAgICAgLnNldHRpbmdzPSR7e2RhcmtNb2RlOiEwLGNsb3VkZmxhcmVUb2tlbjoiIixjbG91ZGZsYXJlWm9uZUlkOiIiLGF1dG9SZW5ld0NlcnRzOiEwLHJlbmV3YWxUaHJlc2hvbGQ6MzAsYWNtZUVtYWlsOiJjZXJ0c0BleGFtcGxlLmNvbSIsaHR0cFBvcnQ6ODAsaHR0cHNQb3J0OjQ0Myxmb3JjZUh0dHBzOiEwfX0KICAgICAgICBjdXJyZW50VXNlcj0iYWRtaW4iCiAgICAgID48L3N6LXNldHRpbmdzLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJBdXRoICYgU2V0dGluZ3MiXTsjZT1fRyh0aGlzLG4se2RhcmtNb2RlOiExLGNsb3VkZmxhcmVUb2tlbjoiIixjbG91ZGZsYXJlWm9uZUlkOiIiLGF1dG9SZW5ld0NlcnRzOiEwLHJlbmV3YWxUaHJlc2hvbGQ6MzAsYWNtZUVtYWlsOiIiLGh0dHBQb3J0OjgwLGh0dHBzUG9ydDo0NDMsZm9yY2VIdHRwczohMH0pO2dldCBzZXR0aW5ncygpe3JldHVybiB0aGlzLiNlfXNldCBzZXR0aW5ncyhtKXt0aGlzLiNlPW19I3Q9KF9HKHRoaXMsbCksX0codGhpcyxjLCIiKSk7Z2V0IGN1cnJlbnRVc2VyKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGN1cnJlbnRVc2VyKG0pe3RoaXMuI3Q9bX1zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICBkZWVzLXRpbGUgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWhlYWRlciB7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24taGVhZGluZyB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAuc2VjdGlvbi1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tY29udGVudCB7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tZm9vdGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItbGVmdDogbm9uZTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAudGlsZS1idXR0b24ucHJpbWFyeSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICAudGlsZS1idXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMDgpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4wOCkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTAlKSIsImhzbCgyMTMuMSA5My45JSA3NSUpIil9OwogICAgICB9CgogICAgICAuZm9ybS1ncm91cCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmZvcm0tZ3JvdXA6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLmZvcm0tcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDEycHggMDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuZm9ybS1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLmZvcm0tbGFiZWwtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLmZvcm0tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLWhpbnQgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuaW5wdXQtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmlucHV0LXJvdyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICBpbnB1dFt0eXBlPSJ0ZXh0Il0sCiAgICAgIGlucHV0W3R5cGU9InBhc3N3b3JkIl0sCiAgICAgIGlucHV0W3R5cGU9ImVtYWlsIl0sCiAgICAgIGlucHV0W3R5cGU9Im51bWJlciJdIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyMDBtcyBlYXNlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIGlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAudG9nZ2xlLXN3aXRjaCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiA0NHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtc3dpdGNoLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjM2I4MmY2Iil9OwogICAgICB9CgogICAgICAudG9nZ2xlLXN3aXRjaDo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDJweDsKICAgICAgICBsZWZ0OiAycHg7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1zd2l0Y2guYWN0aXZlOjphZnRlciB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOwogICAgICB9CgogICAgICAucGFzc3dvcmQtc2VjdGlvbiB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nLXRvcDogMTZweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAucGFzc3dvcmQtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgfQoKICAgICAgLnBhc3N3b3JkLWZpZWxkcyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmZpZWxkLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5BcHBlYXJhbmNlPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+Q3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tcm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1sYWJlbC1ncm91cCI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvcm0tbGFiZWwiPkRhcmsgTW9kZTwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9ybS1oaW50Ij5Ub2dnbGUgZGFyayBtb2RlIG9uIG9yIG9mZjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvZ2dsZS1zd2l0Y2ggJHt0aGlzLnNldHRpbmdzLmRhcmtNb2RlPyJhY3RpdmUiOiIifSIgQGNsaWNrPSR7KCk9PnRoaXMudG9nZ2xlRGFya01vZGUoKX0+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXRpbGU+CgogICAgICA8ZGVlcy10aWxlPgogICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tdGl0bGUiPkNsb3VkZmxhcmUgSW50ZWdyYXRpb248L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj5Db25maWd1cmUgQ2xvdWRmbGFyZSBBUEkgZm9yIEROUyBtYW5hZ2VtZW50PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtbGFiZWwiPkFQSSBUb2tlbjwvZGl2PgogICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJwYXNzd29yZCIgcGxhY2Vob2xkZXI9IkVudGVyIENsb3VkZmxhcmUgQVBJIHRva2VuIiAudmFsdWU9JHt0aGlzLnNldHRpbmdzLmNsb3VkZmxhcmVUb2tlbn0gQGlucHV0PSR7bT0+dGhpcy51cGRhdGVTZXR0aW5nKCJjbG91ZGZsYXJlVG9rZW4iLG0udGFyZ2V0LnZhbHVlKX0+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+Wm9uZSBJRCAoT3B0aW9uYWwpPC9kaXY+CiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJEZWZhdWx0IHpvbmUgSUQiIC52YWx1ZT0ke3RoaXMuc2V0dGluZ3MuY2xvdWRmbGFyZVpvbmVJZH0gQGlucHV0PSR7bT0+dGhpcy51cGRhdGVTZXR0aW5nKCJjbG91ZGZsYXJlWm9uZUlkIixtLnRhcmdldC52YWx1ZSl9PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1oaW50Ij5HZXQgeW91ciBBUEkgdG9rZW4gZnJvbSB0aGUgQ2xvdWRmbGFyZSBkYXNoYm9hcmQgd2l0aCBETlMgZWRpdCBwZXJtaXNzaW9ucy48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtdGlsZT4KCiAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRpbmciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+U1NML1RMUyBTZXR0aW5nczwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPkNvbmZpZ3VyZSBjZXJ0aWZpY2F0ZSBtYW5hZ2VtZW50PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tcm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1sYWJlbC1ncm91cCI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvcm0tbGFiZWwiPkF1dG8tUmVuZXcgQ2VydGlmaWNhdGVzPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb3JtLWhpbnQiPkF1dG9tYXRpY2FsbHkgcmVuZXcgY2VydGlmaWNhdGVzIGJlZm9yZSBleHBpcnk8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2dnbGUtc3dpdGNoICR7dGhpcy5zZXR0aW5ncy5hdXRvUmVuZXdDZXJ0cz8iYWN0aXZlIjoiIn0iIEBjbGljaz0keygpPT50aGlzLnRvZ2dsZVNldHRpbmcoImF1dG9SZW5ld0NlcnRzIil9PjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIiBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+UmVuZXdhbCBUaHJlc2hvbGQgKGRheXMpPC9kaXY+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIC52YWx1ZT0ke1N0cmluZyh0aGlzLnNldHRpbmdzLnJlbmV3YWxUaHJlc2hvbGQpfSBAaW5wdXQ9JHttPT50aGlzLnVwZGF0ZVNldHRpbmcoInJlbmV3YWxUaHJlc2hvbGQiLHBhcnNlSW50KG0udGFyZ2V0LnZhbHVlKSl9PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiPlJlbmV3IGNlcnRpZmljYXRlcyB3aGVuIHRoZXkgaGF2ZSBmZXdlciB0aGFuIHRoaXMgbWFueSBkYXlzIHJlbWFpbmluZy48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLWxhYmVsIj5BQ01FIEVtYWlsPC9kaXY+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJlbWFpbCIgcGxhY2Vob2xkZXI9ImFkbWluQGV4YW1wbGUuY29tIiAudmFsdWU9JHt0aGlzLnNldHRpbmdzLmFjbWVFbWFpbH0gQGlucHV0PSR7bT0+dGhpcy51cGRhdGVTZXR0aW5nKCJhY21lRW1haWwiLG0udGFyZ2V0LnZhbHVlKX0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taGludCI+RW1haWwgYWRkcmVzcyBmb3IgTGV0J3MgRW5jcnlwdCBub3RpZmljYXRpb25zLjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5OZXR3b3JrIFNldHRpbmdzPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+Q29uZmlndXJlIG5ldHdvcmsgYW5kIHByb3h5IHNldHRpbmdzPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLWxhYmVsIj5IVFRQIFBvcnQ8L2Rpdj4KICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiAudmFsdWU9JHtTdHJpbmcodGhpcy5zZXR0aW5ncy5odHRwUG9ydCl9IEBpbnB1dD0ke209PnRoaXMudXBkYXRlU2V0dGluZygiaHR0cFBvcnQiLHBhcnNlSW50KG0udGFyZ2V0LnZhbHVlKSl9PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtbGFiZWwiPkhUVFBTIFBvcnQ8L2Rpdj4KICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiAudmFsdWU9JHtTdHJpbmcodGhpcy5zZXR0aW5ncy5odHRwc1BvcnQpfSBAaW5wdXQ9JHttPT50aGlzLnVwZGF0ZVNldHRpbmcoImh0dHBzUG9ydCIscGFyc2VJbnQobS50YXJnZXQudmFsdWUpKX0+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tbGFiZWwtZ3JvdXAiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb3JtLWxhYmVsIj5Gb3JjZSBIVFRQUzwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9ybS1oaW50Ij5SZWRpcmVjdCBhbGwgSFRUUCB0cmFmZmljIHRvIEhUVFBTPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9nZ2xlLXN3aXRjaCAke3RoaXMuc2V0dGluZ3MuZm9yY2VIdHRwcz8iYWN0aXZlIjoiIn0iIEBjbGljaz0keygpPT50aGlzLnRvZ2dsZVNldHRpbmcoImZvcmNlSHR0cHMiKX0+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXRpbGU+CgogICAgICA8ZGVlcy10aWxlPgogICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tdGl0bGUiPkFjY291bnQ8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj5NYW5hZ2UgeW91ciBhY2NvdW50IHNldHRpbmdzPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+Q3VycmVudCBVc2VyPC9kaXY+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTRweDsgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsiPiR7dGhpcy5jdXJyZW50VXNlcnx8IlVua25vd24ifTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwYXNzd29yZC1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFzc3dvcmQtdGl0bGUiPkNoYW5nZSBQYXNzd29yZDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYXNzd29yZC1maWVsZHMiPgogICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+Q3VycmVudCBQYXNzd29yZDwvZGl2PgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBpZD0iY3VycmVudFBhc3N3b3JkIj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtbGFiZWwiPk5ldyBQYXNzd29yZDwvZGl2PgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBpZD0ibmV3UGFzc3dvcmQiPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+Q29uZmlybSBQYXNzd29yZDwvZGl2PgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBpZD0iY29uZmlybVBhc3N3b3JkIj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9InNlY3Rpb24tZm9vdGVyIj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbGUtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDaGFuZ2VQYXNzd29yZCgpfT5VcGRhdGUgUGFzc3dvcmQ8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXRpbGU+CgogICAgICA8ZGVlcy10aWxlPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCIgc3R5bGU9InBhZGRpbmc6IDEycHggMTZweDsgdGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsgZm9udC1zaXplOiAxMnB4OyI+CiAgICAgICAgICBTYXZlIHlvdXIgY2hhbmdlcyBvciByZXNldCB0byBkZWZhdWx0cy4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9InNlY3Rpb24tZm9vdGVyIj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbGUtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVSZXNldCgpfT5SZXNldDwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlsZS1idXR0b24gcHJpbWFyeSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlU2F2ZSgpfT5TYXZlIFNldHRpbmdzPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy10aWxlPgogICAgYH10b2dnbGVEYXJrTW9kZSgpe3RoaXMuc2V0dGluZ3M9ey4uLnRoaXMuc2V0dGluZ3MsZGFya01vZGU6IXRoaXMuc2V0dGluZ3MuZGFya01vZGV9LHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNldHRpbmctY2hhbmdlIix7ZGV0YWlsOntrZXk6ImRhcmtNb2RlIix2YWx1ZTp0aGlzLnNldHRpbmdzLmRhcmtNb2RlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfXRvZ2dsZVNldHRpbmcobSl7dGhpcy5zZXR0aW5nc1ttXT0hdGhpcy5zZXR0aW5nc1ttXSx0aGlzLnNldHRpbmdzPXsuLi50aGlzLnNldHRpbmdzfX11cGRhdGVTZXR0aW5nKG0sdil7dGhpcy5zZXR0aW5nc1ttXT12LHRoaXMuc2V0dGluZ3M9ey4uLnRoaXMuc2V0dGluZ3N9fWhhbmRsZUNoYW5nZVBhc3N3b3JkKCl7bGV0IG09dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgiY3VycmVudFBhc3N3b3JkIik/LnZhbHVlLHY9dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgibmV3UGFzc3dvcmQiKT8udmFsdWUseD10aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCJjb25maXJtUGFzc3dvcmQiKT8udmFsdWU7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2hhbmdlLXBhc3N3b3JkIix7ZGV0YWlsOntjdXJyZW50UGFzc3dvcmQ6bSxuZXdQYXNzd29yZDp2LGNvbmZpcm1QYXNzd29yZDp4fSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVJlc2V0KCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicmVzZXQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVNhdmUoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzYXZlIix7ZGV0YWlsOnRoaXMuc2V0dGluZ3MsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksX0codGhpcyxwKX1zdGF0aWN7X0cocix0KX19O3JldHVybiB1PXJ9KSgpfSk7dmFyIFRHLFZjLGxSYSxadWE9ZigoKT0+e2xlKCk7VEc9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFZjPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxsUmE9KCgpPT57bGV0IGE9W2llKCJzei1sb2dpbi12aWV3IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6TG9naW5WaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGs9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpCb29sZWFufSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLFRHKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4ibG9hZGluZyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmxvYWRpbmcsImdldCIpLHNldDpzKChDLE4pPT57Qy5sb2FkaW5nPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbixsKSxURyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVycm9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJlcnJvciJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmVycm9yLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuZXJyb3I9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxjLHApLFRHKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGl0bGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+InRpdGxlImluIEMsImhhcyIpLGdldDpzKEM9PkMudGl0bGUsImdldCIpLHNldDpzKChDLE4pPT57Qy50aXRsZT1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG0sdiksVEcodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdWJ0aXRsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4ic3VidGl0bGUiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5zdWJ0aXRsZSwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLnN1YnRpdGxlPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYixnKSxURyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTprfSxudWxsLHQpLHk9cj1lLnZhbHVlLGsmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6a30pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDYwMHB4OyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYmFja2dyb3VuZDogIzA5MDkwYjsiPgogICAgICA8c3otbG9naW4tdmlldz48L3N6LWxvZ2luLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJBdXRoICYgU2V0dGluZ3MiXTsjZT1WYyh0aGlzLG4sITEpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGxvYWRpbmcoayl7dGhpcy4jZT1rfSN0PShWYyh0aGlzLGwpLFZjKHRoaXMsYywiIikpO2dldCBlcnJvcigpe3JldHVybiB0aGlzLiN0fXNldCBlcnJvcihrKXt0aGlzLiN0PWt9I2E9KFZjKHRoaXMscCksVmModGhpcyxtLCJzZXJ2ZS56b25lIikpO2dldCB0aXRsZSgpe3JldHVybiB0aGlzLiNhfXNldCB0aXRsZShrKXt0aGlzLiNhPWt9I3I9KFZjKHRoaXMsdiksVmModGhpcyxiLCJTaWduIGluIHRvIHlvdXIgb25lYm94IikpO2dldCBzdWJ0aXRsZSgpe3JldHVybiB0aGlzLiNyfXNldCBzdWJ0aXRsZShrKXt0aGlzLiNyPWt9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMDkwOTBiIil9OwogICAgICB9CgogICAgICAubG9naW4tY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXgtd2lkdGg6IDQwMHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5sb2dpbi1jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgcGFkZGluZzogMzJweDsKICAgICAgICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4wNik7CiAgICAgIH0KCiAgICAgIC5sb2dvLXNlY3Rpb24gewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OwogICAgICB9CgogICAgICAubG9nbyB7CiAgICAgICAgd2lkdGg6IDY0cHg7CiAgICAgICAgaGVpZ2h0OiA2NHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBtYXJnaW46IDAgYXV0byAxNnB4OwogICAgICB9CgogICAgICAubG9nbyBzdmcgewogICAgICAgIHdpZHRoOiAzNnB4OwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuZm9ybSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjBweDsKICAgICAgfQoKICAgICAgLmZvcm0tZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDZweDsKICAgICAgfQoKICAgICAgLmZvcm0tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLWlucHV0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMjAwbXMgZWFzZSwgYm94LXNoYWRvdyAyMDBtcyBlYXNlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5mb3JtLWlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIiwicmdiYSg5NiwgMTY1LCAyNTAsIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLmZvcm0taW5wdXQuZXJyb3IgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZjg3MTcxIil9OwogICAgICB9CgogICAgICAuZXJyb3ItbWVzc2FnZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZjJmMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmZWNhY2EiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgfQoKICAgICAgLmVycm9yLW1lc3NhZ2Ugc3ZnIHsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5zdWJtaXQtYnV0dG9uIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAxMnB4IDIwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzE4MTgxYiIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlLCB0cmFuc2Zvcm0gMjAwbXMgZWFzZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5zdWJtaXQtYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsKICAgICAgICBvcGFjaXR5OiAwLjk7CiAgICAgIH0KCiAgICAgIC5zdWJtaXQtYnV0dG9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsKICAgICAgfQoKICAgICAgLnN1Ym1pdC1idXR0b246ZGlzYWJsZWQgewogICAgICAgIG9wYWNpdHk6IDAuNjsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CgogICAgICAuc3Bpbm5lciB7CiAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci10b3AtY29sb3I6IGN1cnJlbnRDb2xvcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYW5pbWF0aW9uOiBzcGluIDAuOHMgbGluZWFyIGluZmluaXRlOwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgIHRvIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgfQogICAgICB9CgogICAgICAuZm9vdGVyIHsKICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmZvb3RlciBhIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgLmZvb3RlciBhOmhvdmVyIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImxvZ2luLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9naW4tY2FyZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dvLXNlY3Rpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dvIj4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxNlY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzNsNyA0YTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNnoiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjMuMjcgNi45NiAxMiAxMi4wMSAyMC43MyA2Ljk2Ij48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMjIuMDgiIHgyPSIxMiIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+JHt0aGlzLnRpdGxlfTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+JHt0aGlzLnN1YnRpdGxlfTwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGZvcm0gY2xhc3M9ImZvcm0iIEBzdWJtaXQ9JHt0aGlzLmhhbmRsZVN1Ym1pdH0+CiAgICAgICAgICAgICR7dGhpcy5lcnJvcj93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVycm9yLW1lc3NhZ2UiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjgiIHgyPSIxMiIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjE2IiB4Mj0iMTIuMDEiIHkyPSIxNiI+PC9saW5lPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAke3RoaXMuZXJyb3J9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0idXNlcm5hbWUiPlVzZXJuYW1lPC9sYWJlbD4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICBpZD0idXNlcm5hbWUiCiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCAke3RoaXMuZXJyb3I/ImVycm9yIjoiIn0iCiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iRW50ZXIgeW91ciB1c2VybmFtZSIKICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT0idXNlcm5hbWUiCiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmxvYWRpbmd9CiAgICAgICAgICAgICAgICByZXF1aXJlZAogICAgICAgICAgICAgID4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0icGFzc3dvcmQiPlBhc3N3b3JkPC9sYWJlbD4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9InBhc3N3b3JkIgogICAgICAgICAgICAgICAgaWQ9InBhc3N3b3JkIgogICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0taW5wdXQgJHt0aGlzLmVycm9yPyJlcnJvciI6IiJ9IgogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IkVudGVyIHlvdXIgcGFzc3dvcmQiCiAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9ImN1cnJlbnQtcGFzc3dvcmQiCiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmxvYWRpbmd9CiAgICAgICAgICAgICAgICByZXF1aXJlZAogICAgICAgICAgICAgID4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9InN1Ym1pdC1idXR0b24iID9kaXNhYmxlZD0ke3RoaXMubG9hZGluZ30+CiAgICAgICAgICAgICAgJHt0aGlzLmxvYWRpbmc/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwaW5uZXIiPjwvZGl2PgogICAgICAgICAgICAgICAgU2lnbmluZyBpbi4uLgogICAgICAgICAgICAgIGA6IlNpZ24gaW4ifQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZm9ybT4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXIiPgogICAgICAgICAgICBQb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHBzOi8vc2VydmUuem9uZSIgdGFyZ2V0PSJfYmxhbmsiPnNlcnZlLnpvbmU8L2E+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZVN1Ym1pdChrKXtrLnByZXZlbnREZWZhdWx0KCk7bGV0IEM9dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgidXNlcm5hbWUiKSxOPXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoInBhc3N3b3JkIik7aWYoIUN8fCFOKXJldHVybjtsZXQgXz1DLnZhbHVlLnRyaW0oKSx6PU4udmFsdWU7aWYoIV98fCF6KXt0aGlzLmVycm9yPSJQbGVhc2UgZW50ZXIgYm90aCB1c2VybmFtZSBhbmQgcGFzc3dvcmQiO3JldHVybn10aGlzLmVycm9yPSIiLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImxvZ2luIix7ZGV0YWlsOnt1c2VybmFtZTpfLHBhc3N3b3JkOnp9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y2xlYXJGb3JtKCl7bGV0IGs9dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgidXNlcm5hbWUiKSxDPXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoInBhc3N3b3JkIik7ayYmKGsudmFsdWU9IiIpLEMmJihDLnZhbHVlPSIiKSx0aGlzLmVycm9yPSIifWZvY3VzVXNlcm5hbWUoKXtsZXQgaz10aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCJ1c2VybmFtZSIpO2smJmsuZm9jdXMoKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksVmModGhpcyxnKX1zdGF0aWN7VmMocix0KX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIHVpLEVhLGNSYSxYdWE9ZigoKT0+e2xlKCk7dWk9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEVhPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxjUmE9KCgpPT57bGV0IGE9W2llKCJzei1zZXJ2aWNlLWNyZWF0ZS12aWV3IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W10sQixNPVtdLFM9W10sUCxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdLFEsSj1bXSxaPVtdLGdlLGFlPVtdLHJlPVtdLHllLFY9W10sSD1bXTt2YXIgb2U9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6U2VydmljZUNyZWF0ZVZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgc2U9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVskKHt0eXBlOkJvb2xlYW59KV0sdT1bSygpXSx4PVtLKCldLHk9W0soKV0sTj1bSygpXSxPPVtLKCldLEI9W0soKV0sUD1bSygpXSxXPVtLKCldLGhlPVtLKCldLG1lPVtLKCldLGNlPVtLKCldLFE9W0soKV0sZ2U9W0soKV0seWU9W0soKV0sdWkodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZWdpc3RyaWVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4icmVnaXN0cmllcyJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLnJlZ2lzdHJpZXMsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5yZWdpc3RyaWVzPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxuLGwpLHVpKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+ImxvYWRpbmciaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5sb2FkaW5nLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUubG9hZGluZz16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sYyxwKSx1aSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlcnZpY2VOYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4ic2VydmljZU5hbWUiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5zZXJ2aWNlTmFtZSwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLnNlcnZpY2VOYW1lPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxtLHYpLHVpKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW1hZ2VVcmwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJpbWFnZVVybCJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLmltYWdlVXJsLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUuaW1hZ2VVcmw9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LGIsZyksdWkodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFJlZ2lzdHJ5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4ic2VsZWN0ZWRSZWdpc3RyeSJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLnNlbGVjdGVkUmVnaXN0cnksImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5zZWxlY3RlZFJlZ2lzdHJ5PXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxrLEMpLHVpKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicG9ydHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJwb3J0cyJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLnBvcnRzLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUucG9ydHM9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LF8seiksdWkodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbnZWYXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4iZW52VmFycyJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLmVudlZhcnMsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5lbnZWYXJzPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxULEUpLHVpKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidm9sdW1lcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+InZvbHVtZXMiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS52b2x1bWVzLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUudm9sdW1lcz16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sTSxTKSx1aSh0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNwdUxpbWl0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4iY3B1TGltaXQiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5jcHVMaW1pdCwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLmNwdUxpbWl0PXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxBLEYpLHVpKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVtb3J5TGltaXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJtZW1vcnlMaW1pdCJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLm1lbW9yeUxpbWl0LCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUubWVtb3J5TGltaXQ9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LGosRyksdWkodGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVzdGFydFBvbGljeSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+InJlc3RhcnRQb2xpY3kiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5yZXN0YXJ0UG9saWN5LCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUucmVzdGFydFBvbGljeT16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sUixVKSx1aSh0aGlzLG51bGwsbWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJuZXR3b3JrTW9kZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+Im5ldHdvcmtNb2RlImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUubmV0d29ya01vZGUsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5uZXR3b3JrTW9kZT16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sSSxxKSx1aSh0aGlzLG51bGwsY2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93QWR2YW5jZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJzaG93QWR2YW5jZWQiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5zaG93QWR2YW5jZWQsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5zaG93QWR2YW5jZWQ9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LHVlLFkpLHVpKHRoaXMsbnVsbCxRLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW5hYmxlTW9uZ29EQiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+ImVuYWJsZU1vbmdvREIiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5lbmFibGVNb25nb0RCLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUuZW5hYmxlTW9uZ29EQj16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sSixaKSx1aSh0aGlzLG51bGwsZ2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbmFibGVTMyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+ImVuYWJsZVMzImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUuZW5hYmxlUzMsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5lbmFibGVTMz16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sYWUscmUpLHVpKHRoaXMsbnVsbCx5ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVuYWJsZUNsaWNrSG91c2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJlbmFibGVDbGlja0hvdXNlImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUuZW5hYmxlQ2xpY2tIb3VzZSwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLmVuYWJsZUNsaWNrSG91c2U9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LFYsSCksdWkobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6c2V9LG51bGwsdCksb2U9cj1lLnZhbHVlLHNlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnNlfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogODAwcHg7Ij4KICAgICAgPHN6LXNlcnZpY2UtY3JlYXRlLXZpZXcKICAgICAgICAucmVnaXN0cmllcz0ke1t7aWQ6IjEiLG5hbWU6Ik9uZWJveCBSZWdpc3RyeSIsdXJsOiJyZWdpc3RyeS5vbmVib3gubG9jYWwifSx7aWQ6IjIiLG5hbWU6IkRvY2tlciBIdWIiLHVybDoiZG9ja2VyLmlvIn1dfQogICAgICA+PC9zei1zZXJ2aWNlLWNyZWF0ZS12aWV3PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiU2VydmljZXMiXTsjZT1FYSh0aGlzLG4sW10pO2dldCByZWdpc3RyaWVzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHJlZ2lzdHJpZXMoc2Upe3RoaXMuI2U9c2V9I3Q9KEVhKHRoaXMsbCksRWEodGhpcyxjLCExKSk7Z2V0IGxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbG9hZGluZyhzZSl7dGhpcy4jdD1zZX0jYT0oRWEodGhpcyxwKSxFYSh0aGlzLG0sIiIpKTtnZXQgc2VydmljZU5hbWUoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2VydmljZU5hbWUoc2Upe3RoaXMuI2E9c2V9I3I9KEVhKHRoaXMsdiksRWEodGhpcyxiLCIiKSk7Z2V0IGltYWdlVXJsKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGltYWdlVXJsKHNlKXt0aGlzLiNyPXNlfSNzPShFYSh0aGlzLGcpLEVhKHRoaXMsaywiIikpO2dldCBzZWxlY3RlZFJlZ2lzdHJ5KCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNlbGVjdGVkUmVnaXN0cnkoc2Upe3RoaXMuI3M9c2V9I2k9KEVhKHRoaXMsQyksRWEodGhpcyxfLFt7aG9zdFBvcnQ6IiIsY29udGFpbmVyUG9ydDoiIixwcm90b2NvbDoidGNwIn1dKSk7Z2V0IHBvcnRzKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHBvcnRzKHNlKXt0aGlzLiNpPXNlfSNvPShFYSh0aGlzLHopLEVhKHRoaXMsVCxbe2tleToiIix2YWx1ZToiIn1dKSk7Z2V0IGVudlZhcnMoKXtyZXR1cm4gdGhpcy4jb31zZXQgZW52VmFycyhzZSl7dGhpcy4jbz1zZX0jbj0oRWEodGhpcyxFKSxFYSh0aGlzLE0sW10pKTtnZXQgdm9sdW1lcygpe3JldHVybiB0aGlzLiNufXNldCB2b2x1bWVzKHNlKXt0aGlzLiNuPXNlfSNsPShFYSh0aGlzLFMpLEVhKHRoaXMsQSwiIikpO2dldCBjcHVMaW1pdCgpe3JldHVybiB0aGlzLiNsfXNldCBjcHVMaW1pdChzZSl7dGhpcy4jbD1zZX0jYz0oRWEodGhpcyxGKSxFYSh0aGlzLGosIiIpKTtnZXQgbWVtb3J5TGltaXQoKXtyZXR1cm4gdGhpcy4jY31zZXQgbWVtb3J5TGltaXQoc2Upe3RoaXMuI2M9c2V9I2Q9KEVhKHRoaXMsRyksRWEodGhpcyxSLCJhbHdheXMiKSk7Z2V0IHJlc3RhcnRQb2xpY3koKXtyZXR1cm4gdGhpcy4jZH1zZXQgcmVzdGFydFBvbGljeShzZSl7dGhpcy4jZD1zZX0jdT0oRWEodGhpcyxVKSxFYSh0aGlzLEksImJyaWRnZSIpKTtnZXQgbmV0d29ya01vZGUoKXtyZXR1cm4gdGhpcy4jdX1zZXQgbmV0d29ya01vZGUoc2Upe3RoaXMuI3U9c2V9I3A9KEVhKHRoaXMscSksRWEodGhpcyx1ZSwhMSkpO2dldCBzaG93QWR2YW5jZWQoKXtyZXR1cm4gdGhpcy4jcH1zZXQgc2hvd0FkdmFuY2VkKHNlKXt0aGlzLiNwPXNlfSNmPShFYSh0aGlzLFkpLEVhKHRoaXMsSiwhMSkpO2dldCBlbmFibGVNb25nb0RCKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IGVuYWJsZU1vbmdvREIoc2Upe3RoaXMuI2Y9c2V9I2g9KEVhKHRoaXMsWiksRWEodGhpcyxhZSwhMSkpO2dldCBlbmFibGVTMygpe3JldHVybiB0aGlzLiNofXNldCBlbmFibGVTMyhzZSl7dGhpcy4jaD1zZX0jbT0oRWEodGhpcyxyZSksRWEodGhpcyxWLCExKSk7Z2V0IGVuYWJsZUNsaWNrSG91c2UoKXtyZXR1cm4gdGhpcy4jbX1zZXQgZW5hYmxlQ2xpY2tIb3VzZShzZSl7dGhpcy4jbT1zZX1zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkZXItc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXRpdGxlIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLXJvdyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5mb3JtLXJvdy5zaW5nbGUgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICB9CgogICAgICAuZm9ybS1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAuZm9ybS1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmZvcm0tbGFiZWwgLnJlcXVpcmVkIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZjg3MTcxIil9OwogICAgICB9CgogICAgICAuZm9ybS1oaW50IHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmZvcm0taW5wdXQsCiAgICAgIC5mb3JtLXNlbGVjdCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2U7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmZvcm0taW5wdXQ6Zm9jdXMsCiAgICAgIC5mb3JtLXNlbGVjdDpmb2N1cyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLmZvcm0tc2VsZWN0IHsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5keW5hbWljLWxpc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmR5bmFtaWMtcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICB9CgogICAgICAuZHluYW1pYy1yb3cgLmZvcm0taW5wdXQgewogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC5keW5hbWljLXJvdyAuZm9ybS1zZWxlY3QgewogICAgICAgIHdpZHRoOiA4MHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAucmVtb3ZlLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogMTBweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAucmVtb3ZlLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNmZWNhY2EiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5hZGQtYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgIH0KCiAgICAgIC5hZGQtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmFkZC1idXR0b24gc3ZnIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtYWR2YW5jZWQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDA7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtYWR2YW5jZWQgc3ZnIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtYWR2YW5jZWQub3BlbiBzdmcgewogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7CiAgICAgIH0KCiAgICAgIC5jaGVja2JveC1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmNoZWNrYm94IHsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgYWNjZW50LWNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5wbGF0Zm9ybS10b2dnbGUtbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLnBsYXRmb3JtLXRvZ2dsZS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnBsYXRmb3JtLXRvZ2dsZS1pdGVtOmhhcyhpbnB1dDpjaGVja2VkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlZmY2ZmYiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSIpfTsKICAgICAgfQoKICAgICAgLnBsYXRmb3JtLXRvZ2dsZS1pbmZvIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAucGxhdGZvcm0tdG9nZ2xlLWljb24gewogICAgICAgIHdpZHRoOiAzNnB4OwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMjcyNzJhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLnBsYXRmb3JtLXRvZ2dsZS1pY29uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5wbGF0Zm9ybS10b2dnbGUtbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnBsYXRmb3JtLXRvZ2dsZS1kZXNjIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtc3dpdGNoIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDQ0cHg7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAudG9nZ2xlLXN3aXRjaCBpbnB1dCB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB3aWR0aDogMDsKICAgICAgICBoZWlnaHQ6IDA7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtc2xpZGVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtc2xpZGVyOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgbGVmdDogM3B4OwogICAgICAgIGJvdHRvbTogM3B4OwogICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIC50b2dnbGUtc2xpZGVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC50b2dnbGUtc3dpdGNoIGlucHV0OmNoZWNrZWQgKyAudG9nZ2xlLXNsaWRlcjo6YmVmb3JlIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7CiAgICAgIH0KCiAgICAgIC5hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmctdG9wOiAxNnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICB9CgogICAgICAuYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuYnV0dG9uLnNlY29uZGFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuYnV0dG9uLnByaW1hcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsKICAgICAgICBvcGFjaXR5OiAwLjk7CiAgICAgIH0KCiAgICAgIC5idXR0b24ucHJpbWFyeTpkaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC5zcGlubmVyIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogY3VycmVudENvbG9yOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgdG8gewogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgIDxkaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItdGl0bGUiPkRlcGxveSBOZXcgU2VydmljZTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXN1YnRpdGxlIj5Db25maWd1cmUgYW5kIGRlcGxveSBhIG5ldyBEb2NrZXIgY29udGFpbmVyPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPCEtLSBCYXNpYyBJbmZvIFNlY3Rpb24gLS0+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICA8cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PgogICAgICAgICAgICA8bGluZSB4MT0iOSIgeTE9IjkiIHgyPSIxNSIgeTI9IjkiPjwvbGluZT4KICAgICAgICAgICAgPGxpbmUgeDE9IjkiIHkxPSIxNSIgeDI9IjE1IiB5Mj0iMTUiPjwvbGluZT4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgQmFzaWMgSW5mb3JtYXRpb24KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIj5TZXJ2aWNlIE5hbWUgPHNwYW4gY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgY2xhc3M9ImZvcm0taW5wdXQiCiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Im15LXNlcnZpY2UiCiAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5zZXJ2aWNlTmFtZX0KICAgICAgICAgICAgICBAaW5wdXQ9JHtzZT0+dGhpcy5zZXJ2aWNlTmFtZT1zZS50YXJnZXQudmFsdWV9CiAgICAgICAgICAgID4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1oaW50Ij5VbmlxdWUgbmFtZSBmb3IgdGhlIHNlcnZpY2UgKGFscGhhbnVtZXJpYyBhbmQgaHlwaGVucyk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCI+UmVnaXN0cnk8L2xhYmVsPgogICAgICAgICAgICA8c2VsZWN0CiAgICAgICAgICAgICAgY2xhc3M9ImZvcm0tc2VsZWN0IgogICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuc2VsZWN0ZWRSZWdpc3RyeX0KICAgICAgICAgICAgICBAY2hhbmdlPSR7c2U9PnRoaXMuc2VsZWN0ZWRSZWdpc3RyeT1zZS50YXJnZXQudmFsdWV9CiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIiPkN1c3RvbSBJbWFnZSBVUkw8L29wdGlvbj4KICAgICAgICAgICAgICAke3RoaXMucmVnaXN0cmllcy5tYXAoc2U9PndgCiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSR7c2UuaWR9PiR7c2UubmFtZX08L29wdGlvbj4KICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXJvdyBzaW5nbGUiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCI+SW1hZ2UgPHNwYW4gY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgY2xhc3M9ImZvcm0taW5wdXQiCiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Im5naW54OmxhdGVzdCBvciByZWdpc3RyeS5leGFtcGxlLmNvbS9pbWFnZTp0YWciCiAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5pbWFnZVVybH0KICAgICAgICAgICAgICBAaW5wdXQ9JHtzZT0+dGhpcy5pbWFnZVVybD1zZS50YXJnZXQudmFsdWV9CiAgICAgICAgICAgID4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1oaW50Ij5Eb2NrZXIgaW1hZ2UgdG8gZGVwbG95IChpbmNsdWRlIHRhZyk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDwhLS0gUG9ydCBDb25maWd1cmF0aW9uIC0tPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiPjwvY2lyY2xlPgogICAgICAgICAgICA8bGluZSB4MT0iMiIgeTE9IjEyIiB4Mj0iMjIiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIgMmExNS4zIDE1LjMgMCAwIDEgNCAxMCAxNS4zIDE1LjMgMCAwIDEtNCAxMCAxNS4zIDE1LjMgMCAwIDEtNC0xMCAxNS4zIDE1LjMgMCAwIDEgNC0xMHoiPjwvcGF0aD4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgUG9ydCBDb25maWd1cmF0aW9uCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZHluYW1pYy1saXN0Ij4KICAgICAgICAgICR7dGhpcy5wb3J0cy5tYXAoKHNlLHRlKT0+d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZHluYW1pYy1yb3ciPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Ikhvc3QgUG9ydCIKICAgICAgICAgICAgICAgIC52YWx1ZT0ke3NlLmhvc3RQb3J0fQogICAgICAgICAgICAgICAgQGlucHV0PSR7emU9PnRoaXMudXBkYXRlUG9ydCh0ZSwiaG9zdFBvcnQiLHplLnRhcmdldC52YWx1ZSl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IkNvbnRhaW5lciBQb3J0IgogICAgICAgICAgICAgICAgLnZhbHVlPSR7c2UuY29udGFpbmVyUG9ydH0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke3plPT50aGlzLnVwZGF0ZVBvcnQodGUsImNvbnRhaW5lclBvcnQiLHplLnRhcmdldC52YWx1ZSl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxzZWxlY3QKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLXNlbGVjdCIKICAgICAgICAgICAgICAgIC52YWx1ZT0ke3NlLnByb3RvY29sfQogICAgICAgICAgICAgICAgQGNoYW5nZT0ke3plPT50aGlzLnVwZGF0ZVBvcnQodGUsInByb3RvY29sIix6ZS50YXJnZXQudmFsdWUpfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InRjcCI+VENQPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJ1ZHAiPlVEUDwvb3B0aW9uPgogICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgICR7dGhpcy5wb3J0cy5sZW5ndGg+MT93YAogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0icmVtb3ZlLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMucmVtb3ZlUG9ydCh0ZSl9PgogICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTgiIHkxPSI2IiB4Mj0iNiIgeTI9IjE4Ij48L2xpbmU+CiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCI+PC9saW5lPgogICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWRkLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuYWRkUG9ydCgpfT4KICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgQWRkIFBvcnQgTWFwcGluZwogICAgICAgIDwvYnV0dG9uPgogICAgICA8L2Rpdj4KCiAgICAgIDwhLS0gRW52aXJvbm1lbnQgVmFyaWFibGVzIC0tPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iNCAxNyAxMCAxMSA0IDUiPjwvcG9seWxpbmU+CiAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjE5IiB4Mj0iMjAiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICBFbnZpcm9ubWVudCBWYXJpYWJsZXMKICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJkeW5hbWljLWxpc3QiPgogICAgICAgICAgJHt0aGlzLmVudlZhcnMubWFwKChzZSx0ZSk9PndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImR5bmFtaWMtcm93Ij4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJLRVkiCiAgICAgICAgICAgICAgICAudmFsdWU9JHtzZS5rZXl9CiAgICAgICAgICAgICAgICBAaW5wdXQ9JHt6ZT0+dGhpcy51cGRhdGVFbnZWYXIodGUsImtleSIsemUudGFyZ2V0LnZhbHVlKX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0taW5wdXQiCiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0idmFsdWUiCiAgICAgICAgICAgICAgICAudmFsdWU9JHtzZS52YWx1ZX0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke3plPT50aGlzLnVwZGF0ZUVudlZhcih0ZSwidmFsdWUiLHplLnRhcmdldC52YWx1ZSl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICR7dGhpcy5lbnZWYXJzLmxlbmd0aD4xP3dgCiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJyZW1vdmUtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5yZW1vdmVFbnZWYXIodGUpfT4KICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjE4IiB5MT0iNiIgeDI9IjYiIHkyPSIxOCI+PC9saW5lPgogICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICAgIDxidXR0b24gY2xhc3M9ImFkZC1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmFkZEVudlZhcigpfT4KICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgQWRkIEVudmlyb25tZW50IFZhcmlhYmxlCiAgICAgICAgPC9idXR0b24+CiAgICAgIDwvZGl2PgoKICAgICAgPCEtLSBQbGF0Zm9ybSBTZXJ2aWNlcyAtLT4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxyZWN0IHg9IjIiIHk9IjIiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIgcnk9IjIiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgeD0iMiIgeT0iMTQiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIgcnk9IjIiPjwvcmVjdD4KICAgICAgICAgICAgPGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iNi4wMSIgeTI9IjYiPjwvbGluZT4KICAgICAgICAgICAgPGxpbmUgeDE9IjYiIHkxPSIxOCIgeDI9IjYuMDEiIHkyPSIxOCI+PC9saW5lPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICBQbGF0Zm9ybSBTZXJ2aWNlcwogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taGludCIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDEycHg7Ij4KICAgICAgICAgIEVuYWJsZSBtYW5hZ2VkIGluZnJhc3RydWN0dXJlIHNlcnZpY2VzIGZvciB0aGlzIGRlcGxveW1lbnQuIFJlc291cmNlcyBhcmUgYXV0b21hdGljYWxseSBwcm92aXNpb25lZCBhbmQgY29ubmVjdGlvbiBkZXRhaWxzIGluamVjdGVkIGFzIGVudmlyb25tZW50IHZhcmlhYmxlcy4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtbGlzdCI+CiAgICAgICAgICA8bGFiZWwgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1pdGVtIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLWluZm8iPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1pY29uIj4KICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0tMSAxNy45M2MtMy45NS0uNDktNy0zLjg1LTctNy45MyAwLS42Mi4wOC0xLjIxLjIxLTEuNzlMOSAxNXYxYzAgMS4xLjkgMiAyIDJ2MS45M3ptNi45LTIuNTRjLS4yNi0uODEtMS0xLjM5LTEuOS0xLjM5aC0xdi0zYzAtLjU1LS40NS0xLTEtMUg4di0yaDJjLjU1IDAgMS0uNDUgMS0xVjdoMmMxLjEgMCAyLS45IDItMnYtLjQxYzIuOTMgMS4xOSA1IDQuMDYgNSA3LjQxIDAgMi4wOC0uOCAzLjk3LTIuMSA1LjM5eiIvPjwvc3ZnPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtbmFtZSI+TW9uZ29EQjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLWRlc2MiPkRvY3VtZW50IGRhdGFiYXNlIHdpdGggYXV0by1wcm92aXNpb25lZCBjcmVkZW50aWFsczwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9nZ2xlLXN3aXRjaCI+CiAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICB0eXBlPSJjaGVja2JveCIKICAgICAgICAgICAgICAgID9jaGVja2VkPSR7dGhpcy5lbmFibGVNb25nb0RCfQogICAgICAgICAgICAgICAgQGNoYW5nZT0ke3NlPT50aGlzLmVuYWJsZU1vbmdvREI9c2UudGFyZ2V0LmNoZWNrZWR9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0b2dnbGUtc2xpZGVyIj48L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgIDxsYWJlbCBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLWl0ZW0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtaW5mbyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLWljb24iPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTIxIDE2LjVjMCAuMzgtLjIxLjcxLS41My44OGwtNy45IDQuNDRjLS4xNi4xMi0uMzYuMTgtLjU3LjE4LS4yMSAwLS40MS0uMDYtLjU3LS4xOGwtNy45LTQuNDRBLjk5MS45OTEgMCAwIDEgMyAxNi41di05YzAtLjM4LjIxLS43MS41My0uODhsNy45LTQuNDRjLjE2LS4xMi4zNi0uMTguNTctLjE4LjIxIDAgLjQxLjA2LjU3LjE4bDcuOSA0LjQ0Yy4zMi4xNy41My41LjUzLjg4djl6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1uYW1lIj5TMyBTdG9yYWdlIChNaW5JTyk8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1kZXNjIj5PYmplY3Qgc3RvcmFnZSBidWNrZXQgd2l0aCBhdXRvLXByb3Zpc2lvbmVkIGFjY2VzcyBrZXlzPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2dnbGUtc3dpdGNoIj4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9ImNoZWNrYm94IgogICAgICAgICAgICAgICAgP2NoZWNrZWQ9JHt0aGlzLmVuYWJsZVMzfQogICAgICAgICAgICAgICAgQGNoYW5nZT0ke3NlPT50aGlzLmVuYWJsZVMzPXNlLnRhcmdldC5jaGVja2VkfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idG9nZ2xlLXNsaWRlciI+PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICA8bGFiZWwgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1pdGVtIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLWluZm8iPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1pY29uIj4KICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxyZWN0IHg9IjIiIHk9IjIiIHdpZHRoPSI2IiBoZWlnaHQ9IjIwIi8+PHJlY3QgeD0iOSIgeT0iNyIgd2lkdGg9IjYiIGhlaWdodD0iMTUiLz48cmVjdCB4PSIxNiIgeT0iMTIiIHdpZHRoPSI2IiBoZWlnaHQ9IjEwIi8+PC9zdmc+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1uYW1lIj5DbGlja0hvdXNlPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtZGVzYyI+QW5hbHl0aWNzIGRhdGFiYXNlIHdpdGggYXV0by1wcm92aXNpb25lZCBjcmVkZW50aWFsczwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9nZ2xlLXN3aXRjaCI+CiAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICB0eXBlPSJjaGVja2JveCIKICAgICAgICAgICAgICAgID9jaGVja2VkPSR7dGhpcy5lbmFibGVDbGlja0hvdXNlfQogICAgICAgICAgICAgICAgQGNoYW5nZT0ke3NlPT50aGlzLmVuYWJsZUNsaWNrSG91c2U9c2UudGFyZ2V0LmNoZWNrZWR9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0b2dnbGUtc2xpZGVyIj48L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9sYWJlbD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8IS0tIEFkdmFuY2VkIE9wdGlvbnMgVG9nZ2xlIC0tPgogICAgICA8YnV0dG9uCiAgICAgICAgY2xhc3M9InRvZ2dsZS1hZHZhbmNlZCAke3RoaXMuc2hvd0FkdmFuY2VkPyJvcGVuIjoiIn0iCiAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuc2hvd0FkdmFuY2VkPSF0aGlzLnNob3dBZHZhbmNlZH0KICAgICAgPgogICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjYgOSAxMiAxNSAxOCA5Ij48L3BvbHlsaW5lPgogICAgICAgIDwvc3ZnPgogICAgICAgIEFkdmFuY2VkIE9wdGlvbnMKICAgICAgPC9idXR0b24+CgogICAgICAke3RoaXMuc2hvd0FkdmFuY2VkP3dgCiAgICAgICAgPCEtLSBWb2x1bWVzIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMjIgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDVsMiAzaDlhMiAyIDAgMCAxIDIgMnoiPjwvcGF0aD4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIFZvbHVtZSBNb3VudHMKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZHluYW1pYy1saXN0Ij4KICAgICAgICAgICAgJHt0aGlzLnZvbHVtZXMubGVuZ3RoPT09MD93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taGludCI+Tm8gdm9sdW1lcyBjb25maWd1cmVkPC9kaXY+CiAgICAgICAgICAgIGA6dGhpcy52b2x1bWVzLm1hcCgoc2UsdGUpPT53YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImR5bmFtaWMtcm93Ij4KICAgICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCIKICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Ii9ob3N0L3BhdGgiCiAgICAgICAgICAgICAgICAgIC52YWx1ZT0ke3NlLmhvc3RQYXRofQogICAgICAgICAgICAgICAgICBAaW5wdXQ9JHt6ZT0+dGhpcy51cGRhdGVWb2x1bWUodGUsImhvc3RQYXRoIix6ZS50YXJnZXQudmFsdWUpfQogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iL2NvbnRhaW5lci9wYXRoIgogICAgICAgICAgICAgICAgICAudmFsdWU9JHtzZS5jb250YWluZXJQYXRofQogICAgICAgICAgICAgICAgICBAaW5wdXQ9JHt6ZT0+dGhpcy51cGRhdGVWb2x1bWUodGUsImNvbnRhaW5lclBhdGgiLHplLnRhcmdldC52YWx1ZSl9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGVja2JveC1yb3ciPgogICAgICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaGVja2JveCIKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY2hlY2tib3giCiAgICAgICAgICAgICAgICAgICAgP2NoZWNrZWQ9JHtzZS5yZWFkT25seX0KICAgICAgICAgICAgICAgICAgICBAY2hhbmdlPSR7emU9PnRoaXMudXBkYXRlVm9sdW1lKHRlLCJyZWFkT25seSIsemUudGFyZ2V0LmNoZWNrZWQpfQogICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb3JtLWhpbnQiPlJPPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJyZW1vdmUtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5yZW1vdmVWb2x1bWUodGUpfT4KICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjE4IiB5MT0iNiIgeDI9IjYiIHkyPSIxOCI+PC9saW5lPgogICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFkZC1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmFkZFZvbHVtZSgpfT4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ij48L2xpbmU+CiAgICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIEFkZCBWb2x1bWUgTW91bnQKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIFJlc291cmNlIExpbWl0cyAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPHJlY3QgeD0iMSIgeT0iNCIgd2lkdGg9IjIyIiBoZWlnaHQ9IjE2IiByeD0iMiIgcnk9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICA8bGluZSB4MT0iMSIgeTE9IjEwIiB4Mj0iMjMiIHkyPSIxMCI+PC9saW5lPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgUmVzb3VyY2UgTGltaXRzCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tcm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIj5DUFUgTGltaXQ8L2xhYmVsPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9ImUuZy4sIDEuMCBvciAwLjUiCiAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLmNwdUxpbWl0fQogICAgICAgICAgICAgICAgQGlucHV0PSR7c2U9PnRoaXMuY3B1TGltaXQ9c2UudGFyZ2V0LnZhbHVlfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiPk51bWJlciBvZiBDUFVzIChsZWF2ZSBlbXB0eSBmb3IgdW5saW1pdGVkKTwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIj5NZW1vcnkgTGltaXQ8L2xhYmVsPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9ImUuZy4sIDUxMm0gb3IgMWciCiAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLm1lbW9yeUxpbWl0fQogICAgICAgICAgICAgICAgQGlucHV0PSR7c2U9PnRoaXMubWVtb3J5TGltaXQ9c2UudGFyZ2V0LnZhbHVlfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiPk1lbW9yeSBsaW1pdCAobGVhdmUgZW1wdHkgZm9yIHVubGltaXRlZCk8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBSZXN0YXJ0IFBvbGljeSAmIE5ldHdvcmsgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiPjwvY2lyY2xlPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xOS40IDE1YTEuNjUgMS42NSAwIDAgMCAuMzMgMS44MmwuMDYuMDZhMiAyIDAgMCAxIDAgMi44MyAyIDIgMCAwIDEtMi44MyAwbC0uMDYtLjA2YTEuNjUgMS42NSAwIDAgMC0xLjgyLS4zMyAxLjY1IDEuNjUgMCAwIDAtMSAxLjUxVjIxYTIgMiAwIDAgMS0yIDIgMiAyIDAgMCAxLTItMnYtLjA5QTEuNjUgMS42NSAwIDAgMCA5IDE5LjRhMS42NSAxLjY1IDAgMCAwLTEuODIuMzNsLS4wNi4wNmEyIDIgMCAwIDEtMi44MyAwIDIgMiAwIDAgMSAwLTIuODNsLjA2LS4wNmExLjY1IDEuNjUgMCAwIDAgLjMzLTEuODIgMS42NSAxLjY1IDAgMCAwLTEuNTEtMUgzYTIgMiAwIDAgMS0yLTIgMiAyIDAgMCAxIDItMmguMDlBMS42NSAxLjY1IDAgMCAwIDQuNiA5YTEuNjUgMS42NSAwIDAgMC0uMzMtMS44MmwtLjA2LS4wNmEyIDIgMCAwIDEgMC0yLjgzIDIgMiAwIDAgMSAyLjgzIDBsLjA2LjA2YTEuNjUgMS42NSAwIDAgMCAxLjgyLjMzSDlhMS42NSAxLjY1IDAgMCAwIDEtMS41MVYzYTIgMiAwIDAgMSAyLTIgMiAyIDAgMCAxIDIgMnYuMDlhMS42NSAxLjY1IDAgMCAwIDEgMS41MSAxLjY1IDEuNjUgMCAwIDAgMS44Mi0uMzNsLjA2LS4wNmEyIDIgMCAwIDEgMi44MyAwIDIgMiAwIDAgMSAwIDIuODNsLS4wNi4wNmExLjY1IDEuNjUgMCAwIDAtLjMzIDEuODJWOWExLjY1IDEuNjUgMCAwIDAgMS41MSAxSDIxYTIgMiAwIDAgMSAyIDIgMiAyIDAgMCAxLTIgMmgtLjA5YTEuNjUgMS42NSAwIDAgMC0xLjUxIDF6Ij48L3BhdGg+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBDb250YWluZXIgU2V0dGluZ3MKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1yb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiPlJlc3RhcnQgUG9saWN5PC9sYWJlbD4KICAgICAgICAgICAgICA8c2VsZWN0CiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1zZWxlY3QiCiAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLnJlc3RhcnRQb2xpY3l9CiAgICAgICAgICAgICAgICBAY2hhbmdlPSR7c2U9PnRoaXMucmVzdGFydFBvbGljeT1zZS50YXJnZXQudmFsdWV9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iYWx3YXlzIj5BbHdheXM8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im9uLWZhaWx1cmUiPk9uIEZhaWx1cmU8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im5ldmVyIj5OZXZlcjwvb3B0aW9uPgogICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIj5OZXR3b3JrIE1vZGU8L2xhYmVsPgogICAgICAgICAgICAgIDxzZWxlY3QKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLXNlbGVjdCIKICAgICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMubmV0d29ya01vZGV9CiAgICAgICAgICAgICAgICBAY2hhbmdlPSR7c2U9PnRoaXMubmV0d29ya01vZGU9c2UudGFyZ2V0LnZhbHVlfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImJyaWRnZSI+QnJpZGdlPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJob3N0Ij5Ib3N0PC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJub25lIj5Ob25lPC9vcHRpb24+CiAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CgogICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gc2Vjb25kYXJ5IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDYW5jZWwoKX0+Q2FuY2VsPC9idXR0b24+CiAgICAgICAgPGJ1dHRvbgogICAgICAgICAgY2xhc3M9ImJ1dHRvbiBwcmltYXJ5IgogICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5sb2FkaW5nfHwhdGhpcy5pc1ZhbGlkKCl9CiAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDcmVhdGUoKX0KICAgICAgICA+CiAgICAgICAgICAke3RoaXMubG9hZGluZz93YDxkaXYgY2xhc3M9InNwaW5uZXIiPjwvZGl2PmA6IiJ9CiAgICAgICAgICAke3RoaXMubG9hZGluZz8iRGVwbG95aW5nLi4uIjoiRGVwbG95IFNlcnZpY2UifQogICAgICAgIDwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIGB9aXNWYWxpZCgpe3JldHVybiB0aGlzLnNlcnZpY2VOYW1lLnRyaW0oKSE9PSIiJiZ0aGlzLmltYWdlVXJsLnRyaW0oKSE9PSIifWFkZFBvcnQoKXt0aGlzLnBvcnRzPVsuLi50aGlzLnBvcnRzLHtob3N0UG9ydDoiIixjb250YWluZXJQb3J0OiIiLHByb3RvY29sOiJ0Y3AifV19cmVtb3ZlUG9ydChzZSl7dGhpcy5wb3J0cz10aGlzLnBvcnRzLmZpbHRlcigodGUsemUpPT56ZSE9PXNlKX11cGRhdGVQb3J0KHNlLHRlLHplKXtsZXQgT2U9Wy4uLnRoaXMucG9ydHNdO09lW3NlXVt0ZV09emUsdGhpcy5wb3J0cz1PZX1hZGRFbnZWYXIoKXt0aGlzLmVudlZhcnM9Wy4uLnRoaXMuZW52VmFycyx7a2V5OiIiLHZhbHVlOiIifV19cmVtb3ZlRW52VmFyKHNlKXt0aGlzLmVudlZhcnM9dGhpcy5lbnZWYXJzLmZpbHRlcigodGUsemUpPT56ZSE9PXNlKX11cGRhdGVFbnZWYXIoc2UsdGUsemUpe2xldCBPZT1bLi4udGhpcy5lbnZWYXJzXTtPZVtzZV1bdGVdPXplLHRoaXMuZW52VmFycz1PZX1hZGRWb2x1bWUoKXt0aGlzLnZvbHVtZXM9Wy4uLnRoaXMudm9sdW1lcyx7aG9zdFBhdGg6IiIsY29udGFpbmVyUGF0aDoiIixyZWFkT25seTohMX1dfXJlbW92ZVZvbHVtZShzZSl7dGhpcy52b2x1bWVzPXRoaXMudm9sdW1lcy5maWx0ZXIoKHRlLHplKT0+emUhPT1zZSl9dXBkYXRlVm9sdW1lKHNlLHRlLHplKXtsZXQgT2U9Wy4uLnRoaXMudm9sdW1lc107T2Vbc2VdW3RlXT16ZSx0aGlzLnZvbHVtZXM9T2V9aGFuZGxlQ2FuY2VsKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2FuY2VsIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVDcmVhdGUoKXtsZXQgc2U9e25hbWU6dGhpcy5zZXJ2aWNlTmFtZS50cmltKCksaW1hZ2U6dGhpcy5pbWFnZVVybC50cmltKCkscG9ydHM6dGhpcy5wb3J0cy5maWx0ZXIodGU9PnRlLmhvc3RQb3J0JiZ0ZS5jb250YWluZXJQb3J0KSxlbnZWYXJzOnRoaXMuZW52VmFycy5maWx0ZXIodGU9PnRlLmtleSksdm9sdW1lczp0aGlzLnZvbHVtZXMuZmlsdGVyKHRlPT50ZS5ob3N0UGF0aCYmdGUuY29udGFpbmVyUGF0aCksY3B1TGltaXQ6dGhpcy5jcHVMaW1pdCxtZW1vcnlMaW1pdDp0aGlzLm1lbW9yeUxpbWl0LHJlc3RhcnRQb2xpY3k6dGhpcy5yZXN0YXJ0UG9saWN5LG5ldHdvcmtNb2RlOnRoaXMubmV0d29ya01vZGUsZW5hYmxlTW9uZ29EQjp0aGlzLmVuYWJsZU1vbmdvREIsZW5hYmxlUzM6dGhpcy5lbmFibGVTMyxlbmFibGVDbGlja0hvdXNlOnRoaXMuZW5hYmxlQ2xpY2tIb3VzZX07dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY3JlYXRlLXNlcnZpY2UiLHtkZXRhaWw6c2UsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1yZXNldCgpe3RoaXMuc2VydmljZU5hbWU9IiIsdGhpcy5pbWFnZVVybD0iIix0aGlzLnNlbGVjdGVkUmVnaXN0cnk9IiIsdGhpcy5wb3J0cz1be2hvc3RQb3J0OiIiLGNvbnRhaW5lclBvcnQ6IiIscHJvdG9jb2w6InRjcCJ9XSx0aGlzLmVudlZhcnM9W3trZXk6IiIsdmFsdWU6IiJ9XSx0aGlzLnZvbHVtZXM9W10sdGhpcy5jcHVMaW1pdD0iIix0aGlzLm1lbW9yeUxpbWl0PSIiLHRoaXMucmVzdGFydFBvbGljeT0iYWx3YXlzIix0aGlzLm5ldHdvcmtNb2RlPSJicmlkZ2UiLHRoaXMuc2hvd0FkdmFuY2VkPSExLHRoaXMuZW5hYmxlTW9uZ29EQj0hMSx0aGlzLmVuYWJsZVMzPSExLHRoaXMuZW5hYmxlQ2xpY2tIb3VzZT0hMX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksRWEodGhpcyxIKX1zdGF0aWN7RWEocix0KX19O3JldHVybiBvZT1yfSkoKX0pO3ZhciB3aWUsUDUsZFJhLFF1YT1mKCgpPT57bGUoKTt3aWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFA1PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxkUmE9KCgpPT57bGV0IGE9W2llKCJzei1wbGF0Zm9ybS1zZXJ2aWNlLWRldGFpbC12aWV3IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6UGxhdGZvcm1TZXJ2aWNlRGV0YWlsVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6QXJyYXl9KV0sdT1bJCh7dHlwZTpCb29sZWFufSldLHdpZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlcnZpY2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InNlcnZpY2UiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5zZXJ2aWNlLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuc2VydmljZT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCksd2llKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9ncyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4ibG9ncyJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLmxvZ3MsImdldCIpLHNldDpzKChnLHkpPT57Zy5sb2dzPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sYyxwKSx3aWUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpb25Mb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJhY3Rpb25Mb2FkaW5nImluIGcsImhhcyIpLGdldDpzKGc9PmcuYWN0aW9uTG9hZGluZywiZ2V0Iiksc2V0OnMoKGcseSk9PntnLmFjdGlvbkxvYWRpbmc9eX0sInNldCIpfSxtZXRhZGF0YTpifSxtLHYpLHdpZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLHQpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEwMDBweDsiPgogICAgICA8c3otcGxhdGZvcm0tc2VydmljZS1kZXRhaWwtdmlldwogICAgICAgIC5zZXJ2aWNlPSR7e2lkOiIxIixuYW1lOiJNb25nb0RCIix0eXBlOiJtb25nb2RiIixzdGF0dXM6InJ1bm5pbmciLHZlcnNpb246IjcuMC40Iixob3N0OiJsb2NhbGhvc3QiLHBvcnQ6MjcwMTcsY3JlZGVudGlhbHM6e3VzZXJuYW1lOiJhZG1pbiIscGFzc3dvcmQ6Ilx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMiJ9LGNvbmZpZzp7cmVwbGljYVNldDoicnMwIixhdXRoRW5hYmxlZDohMH0sbWV0cmljczp7Y3B1OjEyLG1lbW9yeTo0NSxzdG9yYWdlOjIzLGNvbm5lY3Rpb25zOjh9fX0KICAgICAgICAubG9ncz0ke1t7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjIyIixsZXZlbDoiaW5mbyIsbWVzc2FnZToiQ29ubmVjdGlvbiBhY2NlcHRlZCBmcm9tIDEyNy4wLjAuMTo1NDMyMSJ9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MjAiLGxldmVsOiJpbmZvIixtZXNzYWdlOiJJbmRleCBidWlsZCBjb21wbGV0ZWQgb24gY29sbGVjdGlvbiB1c2VycyJ9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MTUiLGxldmVsOiJ3YXJuIixtZXNzYWdlOiJTbG93IHF1ZXJ5IGRldGVjdGVkOiAxLjJzIG9uIGNvbGxlY3Rpb24gb3JkZXJzIn0se3RpbWVzdGFtcDoiMjAyNC0wMS0yMCAxNDozMDoxMCIsbGV2ZWw6ImluZm8iLG1lc3NhZ2U6IkNoZWNrcG9pbnQgY29tcGxldGUifV19CiAgICAgID48L3N6LXBsYXRmb3JtLXNlcnZpY2UtZGV0YWlsLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJQbGF0Zm9ybSJdOyNlPVA1KHRoaXMsbixudWxsKTtnZXQgc2VydmljZSgpe3JldHVybiB0aGlzLiNlfXNldCBzZXJ2aWNlKGIpe3RoaXMuI2U9Yn0jdD0oUDUodGhpcyxsKSxQNSh0aGlzLGMsW10pKTtnZXQgbG9ncygpe3JldHVybiB0aGlzLiN0fXNldCBsb2dzKGIpe3RoaXMuI3Q9Yn0jYT0oUDUodGhpcyxwKSxQNSh0aGlzLG0sITEpKTtnZXQgYWN0aW9uTG9hZGluZygpe3JldHVybiB0aGlzLiNhfXNldCBhY3Rpb25Mb2FkaW5nKGIpe3RoaXMuI2E9Yn1zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuaGVhZGVyLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLWljb24gewogICAgICAgIHdpZHRoOiA1NnB4OwogICAgICAgIGhlaWdodDogNTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLWljb24gc3ZnIHsKICAgICAgICB3aWR0aDogMjhweDsKICAgICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnNlcnZpY2UtZGV0YWlscyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuc2VydmljZS1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDIycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc2VydmljZS1tZXRhIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5ydW5uaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5zdG9wcGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtZG90IHsKICAgICAgICB3aWR0aDogOHB4OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDE0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gc3ZnIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRhbmdlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4zKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGFuZ2VyOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAgICAgLmdyaWQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgfQogICAgICB9CgogICAgICBkZWVzLXRpbGUuZnVsbC13aWR0aCB7CiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24taGVhZGVyIHsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSBzdmcgewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5pbmZvLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxMHB4IDA7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLmluZm8tcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC5pbmZvLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmluZm8tdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5jb3B5LWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5jb3B5LWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5tZXRyaWNzLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkgewogICAgICAgIC5tZXRyaWNzLWdyaWQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5tZXRyaWMtY2FyZCB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgfQoKICAgICAgLm1ldHJpYy12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLm1ldHJpYy1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtYmFyIHsKICAgICAgICBoZWlnaHQ6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtZmlsbCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAzMDBtcyBlYXNlOwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtZmlsbC5sb3cgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMjJjNTVlIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWZpbGwubWVkaXVtIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2VhYjMwOCIsIiNlYWIzMDgiKX07CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzcy1maWxsLmhpZ2ggewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWY0NDQ0IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmNvbmZpZy1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuY29uZmlnLWl0ZW06bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLmNvbmZpZy1rZXkgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuY29uZmlnLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuY29uZmlnLXZhbHVlLnRydWUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5jb25maWctdmFsdWUuZmFsc2UgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDQwcHggMjBweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gdGhpcy5zZXJ2aWNlP3dgCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWluZm8iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS1pY29uIj4KICAgICAgICAgICAgJHt0aGlzLnJlbmRlclNlcnZpY2VJY29uKCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtZGV0YWlscyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtbmFtZSI+JHt0aGlzLnNlcnZpY2UubmFtZX08L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS1tZXRhIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLWJhZGdlICR7dGhpcy5zZXJ2aWNlLnN0YXR1c30iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1kb3QiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICR7dGhpcy5zZXJ2aWNlLnN0YXR1cy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0aGlzLnNlcnZpY2Uuc3RhdHVzLnNsaWNlKDEpfQogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICA8c3Bhbj5WZXJzaW9uICR7dGhpcy5zZXJ2aWNlLnZlcnNpb259PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1hY3Rpb25zIj4KICAgICAgICAgICR7dGhpcy5zZXJ2aWNlLnN0YXR1cz09PSJydW5uaW5nIj93YAogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIiA/ZGlzYWJsZWQ9JHt0aGlzLmFjdGlvbkxvYWRpbmd9IEBjbGljaz0keygpPT50aGlzLmhhbmRsZVJlc3RhcnQoKX0+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMjMgNCAyMyAxMCAxNyAxMCI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjEgMjAgMSAxNCA3IDE0Ij48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTMuNTEgOWE5IDkgMCAwIDEgMTQuODUtMy4zNkwyMyAxME0xIDE0bDQuNjQgNC4zNkE5IDkgMCAwIDAgMjAuNDkgMTUiPjwvcGF0aD4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBSZXN0YXJ0CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIGRhbmdlciIgP2Rpc2FibGVkPSR7dGhpcy5hY3Rpb25Mb2FkaW5nfSBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVTdG9wKCl9PgogICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgIDxyZWN0IHg9IjYiIHk9IjYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgcng9IjEiPjwvcmVjdD4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBTdG9wCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgYDp3YAogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIiA/ZGlzYWJsZWQ9JHt0aGlzLmFjdGlvbkxvYWRpbmd9IEBjbGljaz0keygpPT50aGlzLmhhbmRsZVN0YXJ0KCl9PgogICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgICAgICAgPHBvbHlnb24gcG9pbnRzPSI1LDMgMTksMTIgNSwyMSI+PC9wb2x5Z29uPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIFN0YXJ0CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgYH0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJncmlkIj4KICAgICAgICA8IS0tIENvbm5lY3Rpb24gSW5mbyAtLT4KICAgICAgICA8ZGVlcy10aWxlPgogICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMCAxM2E1IDUgMCAwIDAgNy41NC41NGwzLTNhNSA1IDAgMCAwLTcuMDctNy4wN2wtMS43MiAxLjcxIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTQgMTFhNSA1IDAgMCAwLTcuNTQtLjU0bC0zIDNhNSA1IDAgMCAwIDcuMDcgNy4wN2wxLjcxLTEuNzEiPjwvcGF0aD4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBDb25uZWN0aW9uCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRlbnQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLXJvdyI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPkhvc3Q8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tdmFsdWUiPgogICAgICAgICAgICAgICAgJHt0aGlzLnNlcnZpY2UuaG9zdH0KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImNvcHktYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jb3B5VG9DbGlwYm9hcmQodGhpcy5zZXJ2aWNlLmhvc3QpfT4KICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD0iOSIgeT0iOSIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIiByeD0iMiIgcnk9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNSAxNUg0YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDlhMiAyIDAgMCAxIDIgMnYxIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5Qb3J0PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXZhbHVlIj4ke3RoaXMuc2VydmljZS5wb3J0fTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICR7dGhpcy5zZXJ2aWNlLmNyZWRlbnRpYWxzPy51c2VybmFtZT93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8tcm93Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5Vc2VybmFtZTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXZhbHVlIj4KICAgICAgICAgICAgICAgICAgJHt0aGlzLnNlcnZpY2UuY3JlZGVudGlhbHMudXNlcm5hbWV9CiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImNvcHktYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jb3B5VG9DbGlwYm9hcmQodGhpcy5zZXJ2aWNlLmNyZWRlbnRpYWxzLnVzZXJuYW1lKX0+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PSI5IiB5PSI5IiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTUgMTVINGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg5YTIgMiAwIDAgMSAyIDJ2MSI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLXJvdyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+UGFzc3dvcmQ8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+4oCi4oCi4oCi4oCi4oCi4oCi4oCi4oCiPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgICAke3RoaXMuc2VydmljZS5jcmVkZW50aWFscz8uYWNjZXNzS2V5P3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPkFjY2VzcyBLZXk8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5zZXJ2aWNlLmNyZWRlbnRpYWxzLmFjY2Vzc0tleX0KICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY29weS1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmNvcHlUb0NsaXBib2FyZCh0aGlzLnNlcnZpY2UuY3JlZGVudGlhbHMuYWNjZXNzS2V5KX0+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PSI5IiB5PSI5IiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTUgMTVINGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg5YTIgMiAwIDAgMSAyIDJ2MSI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLXJvdyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+U2VjcmV0IEtleTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXZhbHVlIj7igKLigKLigKLigKLigKLigKLigKLigKI8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtdGlsZT4KCiAgICAgICAgPCEtLSBDb25maWd1cmF0aW9uIC0tPgogICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMyI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTkuNCAxNWExLjY1IDEuNjUgMCAwIDAgLjMzIDEuODJsLjA2LjA2YTIgMiAwIDAgMSAwIDIuODMgMiAyIDAgMCAxLTIuODMgMGwtLjA2LS4wNmExLjY1IDEuNjUgMCAwIDAtMS44Mi0uMzMgMS42NSAxLjY1IDAgMCAwLTEgMS41MVYyMWEyIDIgMCAwIDEtMiAyIDIgMiAwIDAgMS0yLTJ2LS4wOUExLjY1IDEuNjUgMCAwIDAgOSAxOS40YTEuNjUgMS42NSAwIDAgMC0xLjgyLjMzbC0uMDYuMDZhMiAyIDAgMCAxLTIuODMgMCAyIDIgMCAwIDEgMC0yLjgzbC4wNi0uMDZhMS42NSAxLjY1IDAgMCAwIC4zMy0xLjgyIDEuNjUgMS42NSAwIDAgMC0xLjUxLTFIM2EyIDIgMCAwIDEtMi0yIDIgMiAwIDAgMSAyLTJoLjA5QTEuNjUgMS42NSAwIDAgMCA0LjYgOWExLjY1IDEuNjUgMCAwIDAtLjMzLTEuODJsLS4wNi0uMDZhMiAyIDAgMCAxIDAtMi44MyAyIDIgMCAwIDEgMi44MyAwbC4wNi4wNmExLjY1IDEuNjUgMCAwIDAgMS44Mi4zM0g5YTEuNjUgMS42NSAwIDAgMCAxLTEuNTFWM2EyIDIgMCAwIDEgMi0yIDIgMiAwIDAgMSAyIDJ2LjA5YTEuNjUgMS42NSAwIDAgMCAxIDEuNTEgMS42NSAxLjY1IDAgMCAwIDEuODItLjMzbC4wNi0uMDZhMiAyIDAgMCAxIDIuODMgMCAyIDIgMCAwIDEgMCAyLjgzbC0uMDYuMDZhMS42NSAxLjY1IDAgMCAwLS4zMyAxLjgyVjlhMS42NSAxLjY1IDAgMCAwIDEuNTEgMUgyMWEyIDIgMCAwIDEgMiAyIDIgMiAwIDAgMS0yIDJoLS4wOWExLjY1IDEuNjUgMCAwIDAtMS41MSAxeiI+PC9wYXRoPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIENvbmZpZ3VyYXRpb24KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICAgICR7T2JqZWN0LmVudHJpZXModGhpcy5zZXJ2aWNlLmNvbmZpZykubWFwKChbYixnXSk9PndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29uZmlnLWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbmZpZy1rZXkiPiR7dGhpcy5mb3JtYXRDb25maWdLZXkoYil9PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbmZpZy12YWx1ZSAke3R5cGVvZiBnPT0iYm9vbGVhbiI/Zz8idHJ1ZSI6ImZhbHNlIjoiIn0iPiR7dGhpcy5mb3JtYXRDb25maWdWYWx1ZShnKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLXRpbGU+CgogICAgICAgIDwhLS0gTWV0cmljcyAtLT4KICAgICAgICAke3RoaXMuc2VydmljZS5tZXRyaWNzP3dgCiAgICAgICAgICA8ZGVlcy10aWxlIGNsYXNzPSJmdWxsLXdpZHRoIj4KICAgICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxOCIgeTE9IjIwIiB4Mj0iMTgiIHkyPSIxMCI+PC9saW5lPgogICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIyMCIgeDI9IjEyIiB5Mj0iNCI+PC9saW5lPgogICAgICAgICAgICAgICAgICA8bGluZSB4MT0iNiIgeTE9IjIwIiB4Mj0iNiIgeTI9IjE0Ij48L2xpbmU+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIFJlc291cmNlIFVzYWdlCiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRlbnQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpY3MtZ3JpZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtY2FyZCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLnNlcnZpY2UubWV0cmljcy5jcHV9JTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtbGFiZWwiPkNQVTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWZpbGwgJHt0aGlzLmdldFByb2dyZXNzQ2xhc3ModGhpcy5zZXJ2aWNlLm1ldHJpY3MuY3B1KX0iIHN0eWxlPSJ3aWR0aDogJHt0aGlzLnNlcnZpY2UubWV0cmljcy5jcHV9JSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtY2FyZCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLnNlcnZpY2UubWV0cmljcy5tZW1vcnl9JTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtbGFiZWwiPk1lbW9yeTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWZpbGwgJHt0aGlzLmdldFByb2dyZXNzQ2xhc3ModGhpcy5zZXJ2aWNlLm1ldHJpY3MubWVtb3J5KX0iIHN0eWxlPSJ3aWR0aDogJHt0aGlzLnNlcnZpY2UubWV0cmljcy5tZW1vcnl9JSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtY2FyZCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLnNlcnZpY2UubWV0cmljcy5zdG9yYWdlfSU8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLWxhYmVsIj5TdG9yYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtZmlsbCAke3RoaXMuZ2V0UHJvZ3Jlc3NDbGFzcyh0aGlzLnNlcnZpY2UubWV0cmljcy5zdG9yYWdlKX0iIHN0eWxlPSJ3aWR0aDogJHt0aGlzLnNlcnZpY2UubWV0cmljcy5zdG9yYWdlfSUiPjwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgJHt0aGlzLnNlcnZpY2UubWV0cmljcy5jb25uZWN0aW9ucyE9PXZvaWQgMD93YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtY2FyZCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLXZhbHVlIj4ke3RoaXMuc2VydmljZS5tZXRyaWNzLmNvbm5lY3Rpb25zfTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy1sYWJlbCI+Q29ubmVjdGlvbnM8L2Rpdj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGVlcy10aWxlPgogICAgICAgIGA6IiJ9CgogICAgICAgIDwhLS0gTG9ncyAtLT4KICAgICAgICA8ZGl2IHN0eWxlPSJncmlkLWNvbHVtbjogMSAvIC0xOyI+CiAgICAgICAgICA8ZGVlcy1jaGFydC1sb2cKICAgICAgICAgICAgLmxhYmVsPSR7IlNlcnZpY2UgTG9ncyJ9CiAgICAgICAgICAgIC5sb2dFbnRyaWVzPSR7dGhpcy5sb2dzLm1hcChiPT4oe3RpbWVzdGFtcDpiLnRpbWVzdGFtcC5pbmNsdWRlcygiVCIpP2IudGltZXN0YW1wOm5ldyBEYXRlKGIudGltZXN0YW1wKS50b0lTT1N0cmluZygpLGxldmVsOmIubGV2ZWwsbWVzc2FnZTpiLm1lc3NhZ2V9KSl9CiAgICAgICAgICAgIC5hdXRvU2Nyb2xsPSR7ITB9CiAgICAgICAgICAgIC5tYXhFbnRyaWVzPSR7MmUzfQogICAgICAgICAgICAuc2hvd01ldHJpY3M9JHshMH0KICAgICAgICAgID48L2RlZXMtY2hhcnQtbG9nPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGA6d2A8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+Tm8gc2VydmljZSBzZWxlY3RlZDwvZGl2PmB9cmVuZGVyU2VydmljZUljb24oKXtzd2l0Y2godGhpcy5zZXJ2aWNlPy50eXBlKXtjYXNlIm1vbmdvZGIiOnJldHVybiB3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0tMSAxNy45M2MtMy45NS0uNDktNy0zLjg1LTctNy45MyAwLS42Mi4wOC0xLjIxLjIxLTEuNzlMOSAxNXYxYzAgMS4xLjkgMiAyIDJ2MS45M3ptNi45LTIuNTRjLS4yNi0uODEtMS0xLjM5LTEuOS0xLjM5aC0xdi0zYzAtLjU1LS40NS0xLTEtMUg4di0yaDJjLjU1IDAgMS0uNDUgMS0xVjdoMmMxLjEgMCAyLS45IDItMnYtLjQxYzIuOTMgMS4xOSA1IDQuMDYgNSA3LjQxIDAgMi4wOC0uOCAzLjk3LTIuMSA1LjM5eiIvPjwvc3ZnPmA7Y2FzZSJtaW5pbyI6cmV0dXJuIHdgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTIxIDE2LjVjMCAuMzgtLjIxLjcxLS41My44OGwtNy45IDQuNDRjLS4xNi4xMi0uMzYuMTgtLjU3LjE4LS4yMSAwLS40MS0uMDYtLjU3LS4xOGwtNy45LTQuNDRBLjk5MS45OTEgMCAwIDEgMyAxNi41di05YzAtLjM4LjIxLS43MS41My0uODhsNy45LTQuNDRjLjE2LS4xMi4zNi0uMTguNTctLjE4LjIxIDAgLjQxLjA2LjU3LjE4bDcuOSA0LjQ0Yy4zMi4xNy41My41LjUzLjg4djl6Ii8+PC9zdmc+YDtjYXNlImNsaWNraG91c2UiOnJldHVybiB3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxyZWN0IHg9IjIiIHk9IjIiIHdpZHRoPSI2IiBoZWlnaHQ9IjIwIi8+PHJlY3QgeD0iOSIgeT0iNyIgd2lkdGg9IjYiIGhlaWdodD0iMTUiLz48cmVjdCB4PSIxNiIgeT0iMTIiIHdpZHRoPSI2IiBoZWlnaHQ9IjEwIi8+PC9zdmc+YDtjYXNlInJlZGlzIjpyZXR1cm4gd2A8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBkPSJNMTIgMkwyIDdsMTAgNSAxMC01LTEwLTV6TTIgMTdsMTAgNSAxMC01TTIgMTJsMTAgNSAxMC01Ii8+PC9zdmc+YDtkZWZhdWx0OnJldHVybiB3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cmVjdCB4PSIyIiB5PSIyIiB3aWR0aD0iMjAiIGhlaWdodD0iOCIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+PHJlY3QgeD0iMiIgeT0iMTQiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIgcnk9IjIiPjwvcmVjdD48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSI2LjAxIiB5Mj0iNiI+PC9saW5lPjxsaW5lIHgxPSI2IiB5MT0iMTgiIHgyPSI2LjAxIiB5Mj0iMTgiPjwvbGluZT48L3N2Zz5gfX1nZXRQcm9ncmVzc0NsYXNzKGIpe3JldHVybiBiPDUwPyJsb3ciOmI8ODA/Im1lZGl1bSI6ImhpZ2gifWZvcm1hdENvbmZpZ0tleShiKXtyZXR1cm4gYi5yZXBsYWNlKC8oW0EtWl0pL2csIiAkMSIpLnJlcGxhY2UoL14uLyxnPT5nLnRvVXBwZXJDYXNlKCkpfWZvcm1hdENvbmZpZ1ZhbHVlKGIpe3JldHVybiB0eXBlb2YgYj09ImJvb2xlYW4iP2I/IkVuYWJsZWQiOiJEaXNhYmxlZCI6U3RyaW5nKGIpfWNvcHlUb0NsaXBib2FyZChiKXtuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChiKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb3B5Iix7ZGV0YWlsOmIsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVTdGFydCgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInN0YXJ0Iix7ZGV0YWlsOnRoaXMuc2VydmljZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVN0b3AoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzdG9wIix7ZGV0YWlsOnRoaXMuc2VydmljZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVJlc3RhcnQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZXN0YXJ0Iix7ZGV0YWlsOnRoaXMuc2VydmljZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxQNSh0aGlzLHYpfXN0YXRpY3tQNShyLHQpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgTEcsamMsdVJhLEp1YT1mKCgpPT57bGUoKTtMRz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0samM9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHVSYT0oKCk9PntsZXQgYT1baWUoInN6LWRvbWFpbi1kZXRhaWwtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekRvbWFpbkRldGFpbFZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgaz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOk9iamVjdH0pXSx1PVskKHt0eXBlOkFycmF5fSldLHg9WyQoe3R5cGU6Qm9vbGVhbn0pXSxMRyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRvbWFpbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iZG9tYWluImluIEMsImhhcyIpLGdldDpzKEM9PkMuZG9tYWluLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuZG9tYWluPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbixsKSxMRyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNlcnRpZmljYXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJjZXJ0aWZpY2F0ZSJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmNlcnRpZmljYXRlLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuY2VydGlmaWNhdGU9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxjLHApLExHKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZG5zUmVjb3JkcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iZG5zUmVjb3JkcyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmRuc1JlY29yZHMsImdldCIpLHNldDpzKChDLE4pPT57Qy5kbnNSZWNvcmRzPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbSx2KSxMRyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGlvbkxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImFjdGlvbkxvYWRpbmciaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5hY3Rpb25Mb2FkaW5nLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuYWN0aW9uTG9hZGluZz1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGIsZyksTEcobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6a30sbnVsbCx0KSx5PXI9ZS52YWx1ZSxrJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmt9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMDAwcHg7Ij4KICAgICAgPHN6LWRvbWFpbi1kZXRhaWwtdmlldwogICAgICAgIC5kb21haW49JHt7aWQ6IjEiLG5hbWU6ImV4YW1wbGUuY29tIixzdGF0dXM6ImFjdGl2ZSIsdmVyaWZpZWQ6ITAsY3JlYXRlZEF0OiIyMDI0LTAxLTEwIixwcm94eVJvdXRlczpbIi9hcGkvKiIsIi9hcHAvKiJdfX0KICAgICAgICAuY2VydGlmaWNhdGU9JHt7aWQ6IjEiLGRvbWFpbjoiZXhhbXBsZS5jb20iLGlzc3VlcjoiTGV0J3MgRW5jcnlwdCIsdmFsaWRGcm9tOiIyMDI0LTAxLTEwIix2YWxpZFVudGlsOiIyMDI0LTA0LTEwIixkYXlzUmVtYWluaW5nOjQ1LHN0YXR1czoidmFsaWQiLGF1dG9SZW5ldzohMCxjaGFpbjpbIlIzIiwiSVNSRyBSb290IFgxIl19fQogICAgICAgIC5kbnNSZWNvcmRzPSR7W3tpZDoiMSIsdHlwZToiQSIsbmFtZToiQCIsdmFsdWU6IjE5Mi4xNjguMS4xMDAiLHR0bDozNjAwfSx7aWQ6IjIiLHR5cGU6IkNOQU1FIixuYW1lOiJ3d3ciLHZhbHVlOiJleGFtcGxlLmNvbSIsdHRsOjM2MDB9LHtpZDoiMyIsdHlwZToiTVgiLG5hbWU6IkAiLHZhbHVlOiJtYWlsLmV4YW1wbGUuY29tIix0dGw6MzYwMCxwcmlvcml0eToxMH0se2lkOiI0Iix0eXBlOiJUWFQiLG5hbWU6IkAiLHZhbHVlOiJ2PXNwZjEgaW5jbHVkZTpfc3BmLmV4YW1wbGUuY29tIH5hbGwiLHR0bDozNjAwfV19CiAgICAgID48L3N6LWRvbWFpbi1kZXRhaWwtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk5ldHdvcmsiXTsjZT1qYyh0aGlzLG4sbnVsbCk7Z2V0IGRvbWFpbigpe3JldHVybiB0aGlzLiNlfXNldCBkb21haW4oayl7dGhpcy4jZT1rfSN0PShqYyh0aGlzLGwpLGpjKHRoaXMsYyxudWxsKSk7Z2V0IGNlcnRpZmljYXRlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGNlcnRpZmljYXRlKGspe3RoaXMuI3Q9a30jYT0oamModGhpcyxwKSxqYyh0aGlzLG0sW10pKTtnZXQgZG5zUmVjb3Jkcygpe3JldHVybiB0aGlzLiNhfXNldCBkbnNSZWNvcmRzKGspe3RoaXMuI2E9a30jcj0oamModGhpcyx2KSxqYyh0aGlzLGIsITEpKTtnZXQgYWN0aW9uTG9hZGluZygpe3JldHVybiB0aGlzLiNyfXNldCBhY3Rpb25Mb2FkaW5nKGspe3RoaXMuI3I9a31zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuaGVhZGVyLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmRvbWFpbi1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UucGVuZGluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWYzYzciLCJyZ2JhKDI0NSwgMTU4LCAxMSwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkOTc3MDYiLCIjZjU5ZTBiIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1kb3QgewogICAgICAgIHdpZHRoOiA2cHg7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjsKICAgICAgfQoKICAgICAgLmRvbWFpbi1tZXRhIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAudmVyaWZpZWQtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnZlcmlmaWVkLWJhZGdlIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICB9CgogICAgICAuaGVhZGVyLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpkaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kYW5nZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRhbmdlcjpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICB9CgogICAgICAuZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIH0KICAgICAgfQoKICAgICAgZGVlcy10aWxlLmZ1bGwtd2lkdGggewogICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWhlYWRlciB7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgc3ZnIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICB9CgogICAgICAuc2VjdGlvbi1mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAwOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAudGlsZS1idXR0b246Zmlyc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgICB9CgogICAgICAudGlsZS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4wOCkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUgLyAwLjA4KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1MCUpIiwiaHNsKDIxMy4xIDkzLjklIDc1JSkiKX07CiAgICAgIH0KCgogICAgICAuc2VjdGlvbi1jb250ZW50IHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICB9CgogICAgICAuY2VydC1zdGF0dXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2YwZmRmNCIsInJnYmEoMzQsIDE5NywgOTQsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5jZXJ0LXN0YXR1cy5leHBpcmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZiZWIiLCJyZ2JhKDI0NSwgMTU4LCAxMSwgMC4xKSIpfTsKICAgICAgfQoKICAgICAgLmNlcnQtc3RhdHVzLmV4cGlyZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVmMmYyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xKSIpfTsKICAgICAgfQoKICAgICAgLmNlcnQtaWNvbiB7CiAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5jZXJ0LWljb24udmFsaWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuY2VydC1pY29uLmV4cGlyaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZjNjNyIsInJnYmEoMjQ1LCAxNTgsIDExLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2Q5NzcwNiIsIiNmNTllMGIiKX07CiAgICAgIH0KCiAgICAgIC5jZXJ0LWljb24uZXhwaXJlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5jZXJ0LWljb24gc3ZnIHsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5jZXJ0LWluZm8gewogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC5jZXJ0LXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuY2VydC1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAuY2VydC1kYXlzIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5jZXJ0LWRheXMudmFsaWQgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5jZXJ0LWRheXMuZXhwaXJpbmcgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2Q5NzcwNiIsIiNmNTllMGIiKX07CiAgICAgIH0KCiAgICAgIC5jZXJ0LWRheXMuZXhwaXJlZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmNlcnQtZGF5cy1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLmluZm8tcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDEwcHggMDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuaW5mby1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLmluZm8tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuaW5mby12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmluZm8tdmFsdWUuZW5hYmxlZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmNoYWluLWxpc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuY2hhaW4tYmFkZ2UgewogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmRucy10YWJsZSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5kbnMtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogODBweCAxZnIgMmZyIDgwcHggNjBweDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTBweCAwOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC5kbnMtcm93IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogODBweCAxZnIgMmZyIDgwcHggNjBweDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTJweCAwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmRucy1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLmRucy1yb3c6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBtYXJnaW46IDAgLTE2cHg7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5kbnMtdHlwZSB7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmRucy1uYW1lIHsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICB9CgogICAgICAuZG5zLXZhbHVlIHsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuZG5zLXR0bCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmRucy1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuaWNvbi1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuaWNvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuaWNvbi1idXR0b24uZGFuZ2VyOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmljb24tYnV0dG9uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB9CgogICAgICAucm91dGVzLWxpc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAucm91dGUtYmFkZ2UgewogICAgICAgIHBhZGRpbmc6IDZweCAxMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHRoaXMuZG9tYWluP3dgCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWluZm8iPgogICAgICAgICAgPGRpdiBjbGFzcz0iZG9tYWluLW5hbWUiPgogICAgICAgICAgICAke3RoaXMuZG9tYWluLm5hbWV9CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHt0aGlzLmRvbWFpbi5zdGF0dXN9Ij4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLWRvdCI+PC9zcGFuPgogICAgICAgICAgICAgICR7dGhpcy5kb21haW4uc3RhdHVzLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK3RoaXMuZG9tYWluLnN0YXR1cy5zbGljZSgxKX0KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkb21haW4tbWV0YSI+CiAgICAgICAgICAgICR7dGhpcy5kb21haW4udmVyaWZpZWQ/d2AKICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idmVyaWZpZWQtYmFkZ2UiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjIgMTEuMDhWMTJhMTAgMTAgMCAxIDEtNS45My05LjE0Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjIyIDQgMTIgMTQuMDEgOSAxMS4wMSI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgVmVyaWZpZWQKICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIGA6d2A8c3Bhbj5Ob3QgdmVyaWZpZWQ8L3NwYW4+YH0KICAgICAgICAgICAgPHNwYW4+QWRkZWQgJHt0aGlzLmRvbWFpbi5jcmVhdGVkQXR9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWFjdGlvbnMiPgogICAgICAgICAgJHt0aGlzLmRvbWFpbi52ZXJpZmllZD8iIjp3YAogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIiA/ZGlzYWJsZWQ9JHt0aGlzLmFjdGlvbkxvYWRpbmd9IEBjbGljaz0keygpPT50aGlzLmhhbmRsZVZlcmlmeSgpfT4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIyMCA2IDkgMTcgNCAxMiI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBWZXJpZnkgRG9tYWluCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgYH0KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gZGFuZ2VyIiA/ZGlzYWJsZWQ9JHt0aGlzLmFjdGlvbkxvYWRpbmd9IEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlbGV0ZSgpfT4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjMgNiA1IDYgMjEgNiI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTkgNnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2bTMgMFY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjIiPjwvcGF0aD4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIERlbGV0ZQogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZ3JpZCI+CiAgICAgICAgPCEtLSBDZXJ0aWZpY2F0ZSBTZWN0aW9uIC0tPgogICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPHJlY3QgeD0iMyIgeT0iMTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxMSIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNyAxMVY3YTUgNSAwIDAgMSAxMCAwdjQiPjwvcGF0aD4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBTU0wgQ2VydGlmaWNhdGUKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICAgICR7dGhpcy5jZXJ0aWZpY2F0ZT93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlcnQtc3RhdHVzICR7dGhpcy5jZXJ0aWZpY2F0ZS5zdGF0dXN9Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlcnQtaWNvbiAke3RoaXMuY2VydGlmaWNhdGUuc3RhdHVzfSI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5jZXJ0aWZpY2F0ZS5zdGF0dXM9PT0idmFsaWQiP3dgCiAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIyIDExLjA4VjEyYTEwIDEwIDAgMSAxLTUuOTMtOS4xNCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMjIgNCAxMiAxNC4wMSA5IDExLjAxIj48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICBgOnRoaXMuY2VydGlmaWNhdGUuc3RhdHVzPT09ImV4cGlyaW5nIj93YAogICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjgiIHgyPSIxMiIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIxNiIgeDI9IjEyLjAxIiB5Mj0iMTYiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxNSIgeTE9IjkiIHgyPSI5IiB5Mj0iMTUiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI5IiB5MT0iOSIgeDI9IjE1IiB5Mj0iMTUiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VydC1pbmZvIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VydC10aXRsZSI+JHt0aGlzLmNlcnRpZmljYXRlLnN0YXR1cz09PSJ2YWxpZCI/IkNlcnRpZmljYXRlIFZhbGlkIjp0aGlzLmNlcnRpZmljYXRlLnN0YXR1cz09PSJleHBpcmluZyI/IkNlcnRpZmljYXRlIEV4cGlyaW5nIFNvb24iOiJDZXJ0aWZpY2F0ZSBFeHBpcmVkIn08L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VydC1zdWJ0aXRsZSI+SXNzdWVkIGJ5ICR7dGhpcy5jZXJ0aWZpY2F0ZS5pc3N1ZXJ9PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlcnQtZGF5cyAke3RoaXMuY2VydGlmaWNhdGUuc3RhdHVzfSI+JHtNYXRoLmFicyh0aGlzLmNlcnRpZmljYXRlLmRheXNSZW1haW5pbmcpfTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZXJ0LWRheXMtbGFiZWwiPiR7dGhpcy5jZXJ0aWZpY2F0ZS5kYXlzUmVtYWluaW5nPj0wPyJkYXlzIGxlZnQiOiJkYXlzIGFnbyJ9PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPlZhbGlkIEZyb208L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+JHt0aGlzLmNlcnRpZmljYXRlLnZhbGlkRnJvbX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPlZhbGlkIFVudGlsPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tdmFsdWUiPiR7dGhpcy5jZXJ0aWZpY2F0ZS52YWxpZFVudGlsfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLXJvdyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+QXV0by1SZW5ldzwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXZhbHVlICR7dGhpcy5jZXJ0aWZpY2F0ZS5hdXRvUmVuZXc/ImVuYWJsZWQiOiIifSI+JHt0aGlzLmNlcnRpZmljYXRlLmF1dG9SZW5ldz8iRW5hYmxlZCI6IkRpc2FibGVkIn08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgJHt0aGlzLmNlcnRpZmljYXRlLmNoYWluJiZ0aGlzLmNlcnRpZmljYXRlLmNoYWluLmxlbmd0aD4wP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLXJvdyI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5DZXJ0aWZpY2F0ZSBDaGFpbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hhaW4tbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgJHt0aGlzLmNlcnRpZmljYXRlLmNoYWluLm1hcChrPT53YDxzcGFuIGNsYXNzPSJjaGFpbi1iYWRnZSI+JHtrfTwvc3Bhbj5gKX0KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIGNlcnRpZmljYXRlIGNvbmZpZ3VyZWQ8L2Rpdj4KICAgICAgICAgICAgYH0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgJHt0aGlzLmNlcnRpZmljYXRlP3dgCiAgICAgICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0ic2VjdGlvbi1mb290ZXIiPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbGUtYnV0dG9uIHByaW1hcnkiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVJlbmV3Q2VydGlmaWNhdGUoKX0+UmVuZXc8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgICA8IS0tIFByb3h5IFJvdXRlcyBTZWN0aW9uIC0tPgogICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMTYgMyAyMSAzIDIxIDgiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iNCIgeTE9IjIwIiB4Mj0iMjEiIHkyPSIzIj48L2xpbmU+CiAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIyMSAxNiAyMSAyMSAxNiAyMSI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxNSIgeTE9IjE1IiB4Mj0iMjEiIHkyPSIyMSI+PC9saW5lPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjQiIHkxPSI0IiB4Mj0iOSIgeTI9IjkiPjwvbGluZT4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBQcm94eSBSb3V0ZXMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICAgICR7dGhpcy5kb21haW4ucHJveHlSb3V0ZXMmJnRoaXMuZG9tYWluLnByb3h5Um91dGVzLmxlbmd0aD4wP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm91dGVzLWxpc3QiPgogICAgICAgICAgICAgICAgJHt0aGlzLmRvbWFpbi5wcm94eVJvdXRlcy5tYXAoaz0+d2AKICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJvdXRlLWJhZGdlIj4ke2t9PC9zcGFuPgogICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+Tm8gcHJveHkgcm91dGVzIGNvbmZpZ3VyZWQ8L2Rpdj4KICAgICAgICAgICAgYH0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgICA8IS0tIEROUyBSZWNvcmRzIFNlY3Rpb24gLS0+CiAgICAgICAgPGRlZXMtdGlsZSBjbGFzcz0iZnVsbC13aWR0aCI+CiAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjIiIHkxPSIxMiIgeDI9IjIyIiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAyYTE1LjMgMTUuMyAwIDAgMSA0IDEwIDE1LjMgMTUuMyAwIDAgMS00IDEwIDE1LjMgMTUuMyAwIDAgMS00LTEwIDE1LjMgMTUuMyAwIDAgMSA0LTEweiI+PC9wYXRoPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIEROUyBSZWNvcmRzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRlbnQiPgogICAgICAgICAgICAke3RoaXMuZG5zUmVjb3Jkcy5sZW5ndGg+MD93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRucy10YWJsZSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkbnMtaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgPHNwYW4+VHlwZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4+TmFtZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4+VmFsdWU8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuPlRUTDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAke3RoaXMuZG5zUmVjb3Jkcy5tYXAoaz0+d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG5zLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRucy10eXBlIj4ke2sudHlwZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRucy1uYW1lIj4ke2submFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRucy12YWx1ZSIgdGl0bGU9IiR7ay52YWx1ZX0iPiR7ay5wcmlvcml0eT9gJHtrLnByaW9yaXR5fSBgOiIifSR7ay52YWx1ZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRucy10dGwiPiR7ay50dGx9czwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZG5zLWFjdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iaWNvbi1idXR0b24iIHRpdGxlPSJFZGl0IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVFZGl0RG5zUmVjb3JkKGspfT4KICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMSA0SDRhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJ2LTciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTguNSAyLjVhMi4xMjEgMi4xMjEgMCAwIDEgMyAzTDEyIDE1bC00IDEgMS00IDkuNS05LjV6Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiBkYW5nZXIiIHRpdGxlPSJEZWxldGUiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlbGV0ZURuc1JlY29yZChrKX0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIzIDYgNSA2IDIxIDYiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTE5IDZ2MTRhMiAyIDAgMCAxLTIgMkg3YTIgMiAwIDAgMS0yLTJWNm0zIDBWNGEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYyIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIEROUyByZWNvcmRzIGNvbmZpZ3VyZWQ8L2Rpdj4KICAgICAgICAgICAgYH0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJzZWN0aW9uLWZvb3RlciI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbGUtYnV0dG9uIHByaW1hcnkiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUFkZERuc1JlY29yZCgpfT4KICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ij48L2xpbmU+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIEFkZCBSZWNvcmQKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtdGlsZT4KICAgICAgPC9kaXY+CiAgICBgOndgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIGRvbWFpbiBzZWxlY3RlZDwvZGl2PmB9aGFuZGxlVmVyaWZ5KCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidmVyaWZ5LWRvbWFpbiIse2RldGFpbDp0aGlzLmRvbWFpbixidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZURlbGV0ZSgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRlbGV0ZS1kb21haW4iLHtkZXRhaWw6dGhpcy5kb21haW4sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVSZW5ld0NlcnRpZmljYXRlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicmVuZXctY2VydGlmaWNhdGUiLHtkZXRhaWw6dGhpcy5jZXJ0aWZpY2F0ZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUFkZERuc1JlY29yZCgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFkZC1kbnMtcmVjb3JkIix7ZGV0YWlsOnRoaXMuZG9tYWluLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRWRpdERuc1JlY29yZChrKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJlZGl0LWRucy1yZWNvcmQiLHtkZXRhaWw6ayxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZURlbGV0ZURuc1JlY29yZChrKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWxldGUtZG5zLXJlY29yZCIse2RldGFpbDprLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGpjKHRoaXMsZyl9c3RhdGlje2pjKHIsdCl9fTtyZXR1cm4geT1yfSkoKX0pO3ZhciAkRyxVYyxwUmEsZXBhPWYoKCk9PntsZSgpOyRHPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxVYz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0scFJhPSgoKT0+e2xldCBhPVtpZSgic3otbXRhLWxpc3QtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTek10YUxpc3RWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGs9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVtLKCldLHU9W0soKV0seD1bSygpXSwkRyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVtYWlscyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iZW1haWxzImluIEMsImhhcyIpLGdldDpzKEM9PkMuZW1haWxzLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuZW1haWxzPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbixsKSwkRyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlYXJjaFF1ZXJ5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJzZWFyY2hRdWVyeSJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnNlYXJjaFF1ZXJ5LCJnZXQiKSxzZXQ6cygoQyxOKT0+e0Muc2VhcmNoUXVlcnk9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxjLHApLCRHKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RhdHVzRmlsdGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJzdGF0dXNGaWx0ZXIiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5zdGF0dXNGaWx0ZXIsImdldCIpLHNldDpzKChDLE4pPT57Qy5zdGF0dXNGaWx0ZXI9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxtLHYpLCRHKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGlyZWN0aW9uRmlsdGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJkaXJlY3Rpb25GaWx0ZXIiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5kaXJlY3Rpb25GaWx0ZXIsImdldCIpLHNldDpzKChDLE4pPT57Qy5kaXJlY3Rpb25GaWx0ZXI9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxiLGcpLCRHKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmt9LG51bGwsdCkseT1yPWUudmFsdWUsayYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTprfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTIwMHB4OyI+CiAgICAgIDxzei1tdGEtbGlzdC12aWV3CiAgICAgICAgLmVtYWlscz0ke1t7aWQ6IjEiLGRpcmVjdGlvbjoib3V0Ym91bmQiLHN0YXR1czoiZGVsaXZlcmVkIixmcm9tOiJub3JlcGx5QHNlcnZlLnpvbmUiLHRvOiJ1c2VyQGV4YW1wbGUuY29tIixzdWJqZWN0OiJXZWxjb21lIHRvIHNlcnZlLnpvbmUiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDozMDoyMiIsbWVzc2FnZUlkOiI8YWJjMTIzQHNlcnZlLnpvbmU+IixzaXplOiIxMi40IEtCIn0se2lkOiIyIixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImJvdW5jZWQiLGZyb206ImFsZXJ0c0BzZXJ2ZS56b25lIix0bzoiaW52YWxpZEBub3doZXJlLnRlc3QiLHN1YmplY3Q6IlNlcnZpY2UgQWxlcnQ6IENQVSBVc2FnZSBIaWdoIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6Mjg6MTAiLG1lc3NhZ2VJZDoiPGRlZjQ1NkBzZXJ2ZS56b25lPiIsc2l6ZToiOC4yIEtCIn0se2lkOiIzIixkaXJlY3Rpb246ImluYm91bmQiLHN0YXR1czoiZGVsaXZlcmVkIixmcm9tOiJzdXBwb3J0QGN1c3RvbWVyLmNvbSIsdG86ImFkbWluQHNlcnZlLnpvbmUiLHN1YmplY3Q6IlJlOiBJbmZyYXN0cnVjdHVyZSBSZXZpZXciLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoyNTowMCIsbWVzc2FnZUlkOiI8Z2hpNzg5QGN1c3RvbWVyLmNvbT4iLHNpemU6IjI0LjEgS0IifSx7aWQ6IjQiLGRpcmVjdGlvbjoib3V0Ym91bmQiLHN0YXR1czoicmVqZWN0ZWQiLGZyb206ImJpbGxpbmdAc2VydmUuem9uZSIsdG86ImJsb2NrZWRAc3BhbS1kb21haW4udGVzdCIsc3ViamVjdDoiSW52b2ljZSAjMjAyNC0wMDEiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoyMDo0NSIsbWVzc2FnZUlkOiI8amtsMDEyQHNlcnZlLnpvbmU+IixzaXplOiI0NS42IEtCIn0se2lkOiI1IixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImRlZmVycmVkIixmcm9tOiJub3JlcGx5QHNlcnZlLnpvbmUiLHRvOiJzbG93QHJlbW90ZS1zZXJ2ZXIudGVzdCIsc3ViamVjdDoiUGFzc3dvcmQgUmVzZXQgUmVxdWVzdCIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjE1OjMwIixtZXNzYWdlSWQ6Ijxtbm8zNDVAc2VydmUuem9uZT4iLHNpemU6IjYuOCBLQiJ9LHtpZDoiNiIsZGlyZWN0aW9uOiJpbmJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToiY2lAZ2l0aHViLmNvbSIsdG86ImRldm9wc0BzZXJ2ZS56b25lIixzdWJqZWN0OiJCdWlsZCAjNDUyMSBwYXNzZWQiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoxMDowMCIsbWVzc2FnZUlkOiI8cHFyNjc4QGdpdGh1Yi5jb20+IixzaXplOiIxNS4zIEtCIn0se2lkOiI3IixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6InBlbmRpbmciLGZyb206InJlcG9ydHNAc2VydmUuem9uZSIsdG86InRlYW1Ac2VydmUuem9uZSIsc3ViamVjdDoiV2Vla2x5IEluZnJhc3RydWN0dXJlIFJlcG9ydCIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjA1OjAwIixtZXNzYWdlSWQ6IjxzdHU5MDFAc2VydmUuem9uZT4iLHNpemU6IjEwMi43IEtCIn1dfQogICAgICA+PC9zei1tdGEtbGlzdC12aWV3PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiTVRBIl07I2U9VWModGhpcyxuLFtdKTtnZXQgZW1haWxzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGVtYWlscyhrKXt0aGlzLiNlPWt9I3Q9KFVjKHRoaXMsbCksVWModGhpcyxjLCIiKSk7Z2V0IHNlYXJjaFF1ZXJ5KCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlYXJjaFF1ZXJ5KGspe3RoaXMuI3Q9a30jYT0oVWModGhpcyxwKSxVYyh0aGlzLG0sImFsbCIpKTtnZXQgc3RhdHVzRmlsdGVyKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHN0YXR1c0ZpbHRlcihrKXt0aGlzLiNhPWt9I3I9KFVjKHRoaXMsdiksVWModGhpcyxiLCJhbGwiKSk7Z2V0IGRpcmVjdGlvbkZpbHRlcigpe3JldHVybiB0aGlzLiNyfXNldCBkaXJlY3Rpb25GaWx0ZXIoayl7dGhpcy4jcj1rfWdldCBmaWx0ZXJlZEVtYWlscygpe3JldHVybiB0aGlzLmVtYWlscy5maWx0ZXIoaz0+e2lmKHRoaXMuc3RhdHVzRmlsdGVyIT09ImFsbCImJmsuc3RhdHVzIT09dGhpcy5zdGF0dXNGaWx0ZXJ8fHRoaXMuZGlyZWN0aW9uRmlsdGVyIT09ImFsbCImJmsuZGlyZWN0aW9uIT09dGhpcy5kaXJlY3Rpb25GaWx0ZXIpcmV0dXJuITE7aWYodGhpcy5zZWFyY2hRdWVyeSl7bGV0IEM9dGhpcy5zZWFyY2hRdWVyeS50b0xvd2VyQ2FzZSgpO3JldHVybiBrLmZyb20udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhDKXx8ay50by50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKEMpfHxrLnN1YmplY3QudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhDKXx8ay5tZXNzYWdlSWQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhDKX1yZXR1cm4hMH0pfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5maWx0ZXItYmFyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuc2VhcmNoLWlucHV0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMjAwcHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjM2I4MmY2Iil9OwogICAgICB9CgogICAgICAuY2hpcC1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmNoaXAgewogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmNoaXA6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuY2hpcC5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAucmVzdWx0cy1jb3VudCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgfQoKICAgICAgLnRhYmxlLWNvbnRhaW5lciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnRhYmxlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQwcHggOTBweCAxLjVmciAxLjVmciAyZnIgMTQwcHg7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQwcHggOTBweCAxLjVmciAxLjVmciAyZnIgMTQwcHg7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CgogICAgICAudGFibGUtcm93OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5kaXJlY3Rpb24taWNvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAuZGlyZWN0aW9uLWljb24uaW5ib3VuZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmRpcmVjdGlvbi1pY29uLm91dGJvdW5kIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmRlbGl2ZXJlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuYm91bmNlZCwKICAgICAgLnN0YXR1cy1iYWRnZS5yZWplY3RlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZGVmZXJyZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVmOWMzIiwicmdiYSgyNTAsIDIwNCwgMjEsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjY2E4YTA0IiwiI2ZhY2MxNSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5wZW5kaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5lbWFpbC1mcm9tLAogICAgICAuZW1haWwtdG8gewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmVtYWlsLXN1YmplY3QgewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuZW1haWwtdGltZXN0YW1wIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IGs9dGhpcy5maWx0ZXJlZEVtYWlscztyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZmlsdGVyLWJhciI+CiAgICAgICAgPGlucHV0CiAgICAgICAgICBjbGFzcz0ic2VhcmNoLWlucHV0IgogICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgIHBsYWNlaG9sZGVyPSJTZWFyY2ggYnkgZnJvbSwgdG8sIHN1YmplY3QsIG9yIG1lc3NhZ2UgSUQuLi4iCiAgICAgICAgICAudmFsdWU9JHt0aGlzLnNlYXJjaFF1ZXJ5fQogICAgICAgICAgQGlucHV0PSR7Qz0+e3RoaXMuc2VhcmNoUXVlcnk9Qy50YXJnZXQudmFsdWV9fQogICAgICAgIC8+CiAgICAgICAgPGRpdiBjbGFzcz0iY2hpcC1ncm91cCI+CiAgICAgICAgICAke1siYWxsIiwiaW5ib3VuZCIsIm91dGJvdW5kIl0ubWFwKEM9PndgCiAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICBjbGFzcz0iY2hpcCAke3RoaXMuZGlyZWN0aW9uRmlsdGVyPT09Qz8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9Pnt0aGlzLmRpcmVjdGlvbkZpbHRlcj1DfX0KICAgICAgICAgICAgPiR7Qz09PSJhbGwiPyJBbGwiOkM9PT0iaW5ib3VuZCI/IkluYm91bmQiOiJPdXRib3VuZCJ9PC9idXR0b24+CiAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjaGlwLWdyb3VwIj4KICAgICAgICAgICR7WyJhbGwiLCJkZWxpdmVyZWQiLCJib3VuY2VkIiwicmVqZWN0ZWQiLCJkZWZlcnJlZCIsInBlbmRpbmciXS5tYXAoQz0+d2AKICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgIGNsYXNzPSJjaGlwICR7dGhpcy5zdGF0dXNGaWx0ZXI9PT1DPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+e3RoaXMuc3RhdHVzRmlsdGVyPUN9fQogICAgICAgICAgICA+JHtDPT09ImFsbCI/IkFsbCI6Qy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStDLnNsaWNlKDEpfTwvYnV0dG9uPgogICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0icmVzdWx0cy1jb3VudCI+U2hvd2luZyAke2subGVuZ3RofSBvZiAke3RoaXMuZW1haWxzLmxlbmd0aH0gZW1haWxzPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWhlYWRlciI+CiAgICAgICAgICA8c3Bhbj48L3NwYW4+CiAgICAgICAgICA8c3Bhbj5TdGF0dXM8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5Gcm9tPC9zcGFuPgogICAgICAgICAgPHNwYW4+VG88L3NwYW4+CiAgICAgICAgICA8c3Bhbj5TdWJqZWN0PC9zcGFuPgogICAgICAgICAgPHNwYW4+VGltZXN0YW1wPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgICR7ay5sZW5ndGg+MD9rLm1hcChDPT53YAogICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtcm93IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVFbWFpbENsaWNrKEMpfT4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRpcmVjdGlvbi1pY29uICR7Qy5kaXJlY3Rpb259Ij4KICAgICAgICAgICAgICAke0MuZGlyZWN0aW9uPT09ImluYm91bmQiP3dgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiLz48cG9seWxpbmUgcG9pbnRzPSIxOSAxMiAxMiAxOSA1IDEyIi8+PC9zdmc+YDp3YDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxsaW5lIHgxPSIxMiIgeTE9IjE5IiB4Mj0iMTIiIHkyPSI1Ii8+PHBvbHlsaW5lIHBvaW50cz0iNSAxMiAxMiA1IDE5IDEyIi8+PC9zdmc+YH0KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj48c3BhbiBjbGFzcz0ic3RhdHVzLWJhZGdlICR7Qy5zdGF0dXN9Ij4ke0Muc3RhdHVzfTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbWFpbC1mcm9tIiB0aXRsZT0iJHtDLmZyb219Ij4ke0MuZnJvbX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbWFpbC10byIgdGl0bGU9IiR7Qy50b30iPiR7Qy50b308L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbWFpbC1zdWJqZWN0IiB0aXRsZT0iJHtDLnN1YmplY3R9Ij4ke0Muc3ViamVjdH08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbWFpbC10aW1lc3RhbXAiPiR7Qy50aW1lc3RhbXB9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCk6d2AKICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj5ObyBlbWFpbHMgZm91bmQ8L2Rpdj4KICAgICAgICBgfQogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlRW1haWxDbGljayhrKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJlbWFpbC1jbGljayIse2RldGFpbDprLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFVjKHRoaXMsZyl9c3RhdGlje1VjKHIsdCl9fTtyZXR1cm4geT1yfSkoKX0pO3ZhciB0cGEsZGV0LGZSYSxhcGE9ZigoKT0+e2xlKCk7dHBhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxkZXQ9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGZSYT0oKCk9PntsZXQgYT1baWUoInN6LW10YS1kZXRhaWwtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTek10YURldGFpbFZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSx0cGEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbWFpbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4iZW1haWwiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5lbWFpbCwiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLmVtYWlsPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSx0cGEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMjAwcHg7Ij4KICAgICAgPHN6LW10YS1kZXRhaWwtdmlldwogICAgICAgIC5lbWFpbD0ke3tpZDoiMSIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJkZWxpdmVyZWQiLGZyb206Im5vcmVwbHlAc2VydmUuem9uZSIsdG86InVzZXJAZXhhbXBsZS5jb20iLHRvTGlzdDpbInVzZXJAZXhhbXBsZS5jb20iXSxzdWJqZWN0OiJXZWxjb21lIHRvIHNlcnZlLnpvbmUiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDozMDoyMiIsbWVzc2FnZUlkOiI8YWJjMTIzQHNlcnZlLnpvbmU+IixzaXplOiIxMi40IEtCIixzbXRwTG9nOlt7dGltZXN0YW1wOiIxNDozMDoyMCIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IkVITE8gbWFpbC5zZXJ2ZS56b25lIn0se3RpbWVzdGFtcDoiMTQ6MzA6MjAiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAtbWFpbC5leGFtcGxlLmNvbSBIZWxsbyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjAiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAtU1RBUlRUTFMiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIFNJWkUgNTI0Mjg4MDAiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIwIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiU1RBUlRUTFMifSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjIyMCBSZWFkeSB0byBzdGFydCBUTFMiLHJlc3BvbnNlQ29kZToyMjB9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiRUhMTyBtYWlsLnNlcnZlLnpvbmUifSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1tYWlsLmV4YW1wbGUuY29tIEhlbGxvIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1BVVRIIFBMQUlOIExPR0lOIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBTSVpFIDUyNDI4ODAwIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IkFVVEggUExBSU4gQUhWelpYSUFjR0Z6YzNkdmNtUT0ifSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjIzNSAyLjcuMCBBdXRoZW50aWNhdGlvbiBzdWNjZXNzZnVsIixyZXNwb25zZUNvZGU6MjM1fSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6Ik1BSUwgRlJPTTo8bm9yZXBseUBzZXJ2ZS56b25lPiJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIE9LIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IlJDUFQgVE86PHVzZXJAZXhhbXBsZS5jb20+In0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgQWNjZXB0ZWQiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiREFUQSJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDonMzU0IEVudGVyIG1lc3NhZ2UsIGVuZGluZyB3aXRoICIuIiBvbiBhIGxpbmUgYnkgaXRzZWxmJyxyZXNwb25zZUNvZGU6MzU0fSx7dGltZXN0YW1wOiIxNDozMDoyMiIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6Ii4ifSx7dGltZXN0YW1wOiIxNDozMDoyMiIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBPSyBpZD0xcFEyclMtMDAwM0FiLUM0IixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMiIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IlFVSVQifSx7dGltZXN0YW1wOiIxNDozMDoyMiIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjIyMSBtYWlsLmV4YW1wbGUuY29tIGNsb3NpbmcgY29ubmVjdGlvbiIscmVzcG9uc2VDb2RlOjIyMX1dLGNvbm5lY3Rpb25JbmZvOntzb3VyY2VJcDoiMTAuMC4xLjUwIixzb3VyY2VIb3N0bmFtZToibWFpbC5zZXJ2ZS56b25lIixkZXN0aW5hdGlvbklwOiI5My4xODQuMjE2LjM0IixkZXN0aW5hdGlvblBvcnQ6MjUsdGxzVmVyc2lvbjoiVExTdjEuMyIsdGxzQ2lwaGVyOiJUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IixhdXRoZW50aWNhdGVkOiEwLGF1dGhNZXRob2Q6IlBMQUlOIixhdXRoVXNlcjoibm9yZXBseUBzZXJ2ZS56b25lIn0sYXV0aGVudGljYXRpb25SZXN1bHRzOntzcGY6InBhc3MiLHNwZkRvbWFpbjoic2VydmUuem9uZSIsZGtpbToicGFzcyIsZGtpbURvbWFpbjoic2VydmUuem9uZSIsZG1hcmM6InBhc3MiLGRtYXJjUG9saWN5OiJyZWplY3QifSxoZWFkZXJzOntGcm9tOiJub3JlcGx5QHNlcnZlLnpvbmUiLFRvOiJ1c2VyQGV4YW1wbGUuY29tIixTdWJqZWN0OiJXZWxjb21lIHRvIHNlcnZlLnpvbmUiLERhdGU6Ik1vbiwgMTUgSmFuIDIwMjQgMTQ6MzA6MjIgKzAwMDAiLCJNSU1FLVZlcnNpb24iOiIxLjAiLCJDb250ZW50LVR5cGUiOiJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgifSxib2R5Oic8aHRtbD5cXG48aGVhZD48dGl0bGU+V2VsY29tZTwvdGl0bGU+PC9oZWFkPlxcbjxib2R5PlxcbiAgPGgxPldlbGNvbWUgdG8gc2VydmUuem9uZSE8L2gxPlxcbiAgPHA+WW91ciBhY2NvdW50IGhhcyBiZWVuIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LjwvcD5cXG4gIDxhIGhyZWY9Imh0dHBzOi8vc2VydmUuem9uZS9kYXNoYm9hcmQiPkdvIHRvIERhc2hib2FyZDwvYT5cXG48L2JvZHk+XFxuPC9odG1sPid9fQogICAgICA+PC9zei1tdGEtZGV0YWlsLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJNVEEiXTsjZT1kZXQodGhpcyxuLG51bGwpO2dldCBlbWFpbCgpe3JldHVybiB0aGlzLiNlfXNldCBlbWFpbChjKXt0aGlzLiNlPWN9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuYmFjay1saW5rIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYmFjay1saW5rOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuZW1haWwtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5lbWFpbC1zdWJqZWN0IHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQoKICAgICAgLmJhZGdlLWdyb3VwIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5kZWxpdmVyZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmJvdW5jZWQsCiAgICAgIC5zdGF0dXMtYmFkZ2UucmVqZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmRlZmVycmVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZjljMyIsInJnYmEoMjUwLCAyMDQsIDIxLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2NhOGEwNCIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UucGVuZGluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuZGlyZWN0aW9uLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmRpcmVjdGlvbi1iYWRnZS5pbmJvdW5kIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmRpcmVjdGlvbi1iYWRnZS5vdXRib3VuZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuY29udGVudCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHsKICAgICAgICAuY29udGVudCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnI7CiAgICAgICAgfQogICAgICB9CgogICAgICAubWFpbi1jb250ZW50IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CgogICAgICAuc2lkZWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQoKICAgICAgLmNhcmQtaGVhZGVyIHsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuY2FyZC1oZWFkaW5nIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLmNhcmQtdGl0bGUgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5jYXJkLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAuY2FyZC1mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAwOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAudGlsZS1idXR0b246Zmlyc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgICB9CgogICAgICAudGlsZS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4wOCkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUgLyAwLjA4KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1MCUpIiwiaHNsKDIxMy4xIDkzLjklIDc1JSkiKX07CiAgICAgIH0KCiAgICAgIC5jYXJkLWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmRldGFpbC1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgfQoKICAgICAgLmRldGFpbC1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgfQoKICAgICAgLnNtdHAtbG9nLWNvbnRhaW5lciB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCBNb25hY28sICdDYXNjYWRpYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47CiAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX0gdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5zbXRwLWxvZy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICB9CgogICAgICAuc210cC1sb2ctY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5zbXRwLWxvZy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICAvKiBQaGFzZSBzZXBhcmF0b3JzICovCiAgICAgIC5zbXRwLXBoYXNlLXNlcGFyYXRvciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiA0cHggMDsKICAgICAgICBtYXJnaW46IDRweCAwOwogICAgICB9CgogICAgICAuc210cC1waGFzZS1saW5lIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLnNtdHAtcGhhc2UtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLyogQ2hhdCBidWJibGVzICovCiAgICAgIC5zbXRwLWJ1YmJsZSB7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDEwcHggMTRweDsKICAgICAgICBtYXgtd2lkdGg6IDcwJTsKICAgICAgfQoKICAgICAgLnNtdHAtYnViYmxlLmNsaWVudCB7CiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMDgpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTIpIil9OwogICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsKICAgICAgfQoKICAgICAgLnNtdHAtYnViYmxlLnNlcnZlciB7CiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMzQsIDE5NywgOTQsIDAuMDYpIiwicmdiYSgzNCwgMTk3LCA5NCwgMC4xMCkiKX07CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgJHtoLmJkVGhlbWUoIiMyMmM1NWUiLCIjNGFkZTgwIil9OwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICB9CgogICAgICAuc210cC1idWJibGUtY29tbWFuZCB7CiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc210cC1idWJibGUtbWV0YSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLnNtdHAtYnViYmxlLnNlcnZlciAuc210cC1idWJibGUtbWV0YSB7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgfQoKICAgICAgLnNtdHAtZGlyZWN0aW9uLXRhZyB7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7CiAgICAgIH0KCiAgICAgIC5zbXRwLWRpcmVjdGlvbi10YWcuY2xpZW50IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuc210cC1kaXJlY3Rpb24tdGFnLnNlcnZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjJjNTVlIiwiIzRhZGU4MCIpfTsKICAgICAgfQoKICAgICAgLyogUmVzcG9uc2UgY29kZSBiYWRnZXMgKi8KICAgICAgLnJlc3BvbnNlLWNvZGUtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwYWRkaW5nOiAxcHggN3B4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgTW9uYWNvLCAnQ2FzY2FkaWEgQ29kZScsIG1vbm9zcGFjZTsKICAgICAgfQoKICAgICAgLnJlc3BvbnNlLWNvZGUtYmFkZ2UuY29kZS0yeHggewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjE1KSIsInJnYmEoMzQsIDE5NywgOTQsIDAuMjUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5yZXNwb25zZS1jb2RlLWJhZGdlLmNvZGUtM3h4IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMjUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5yZXNwb25zZS1jb2RlLWJhZGdlLmNvZGUtNHh4IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgyNTAsIDIwNCwgMjEsIDAuMTUpIiwicmdiYSgyNTAsIDIwNCwgMjEsIDAuMjUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2NhOGEwNCIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIC5yZXNwb25zZS1jb2RlLWJhZGdlLmNvZGUtNXh4IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgyMzksIDY4LCA2OCwgMC4xNSkiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjI1KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAvKiBTTVRQIG1ldGFkYXRhIGJhbm5lciDigJQgc2l0cyBpbnNpZGUgY29udGVudCwgYWJvdmUgdGhlIGxvZyAqLwogICAgICAuc210cC1oZWFkZXItc3VidGl0bGUgewogICAgICAgIHBhZGRpbmc6IDEwcHggMTZweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgfQoKICAgICAgLnNtdHAtZGlyZWN0aW9uLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4OwogICAgICB9CgogICAgICAuc210cC1kaXJlY3Rpb24tYmFkZ2UuaW5ib3VuZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMzQsIDE5NywgOTQsIDAuMTIpIiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc210cC1kaXJlY3Rpb24tYmFkZ2Uub3V0Ym91bmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xMikiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuZW1haWwtYm9keS1jb250YWluZXIgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMwYTBhMGEiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAudGxzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuYXV0aC1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogOHB4IDA7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLmF1dGgtcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC5hdXRoLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuYXV0aC1kb21haW4gewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgIH0KCiAgICAgIC5hdXRoLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuYXV0aC1iYWRnZS5wYXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmF1dGgtYmFkZ2UuZmFpbCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5hdXRoLWJhZGdlLnNvZnRmYWlsLAogICAgICAuYXV0aC1iYWRnZS5uZXV0cmFsLAogICAgICAuYXV0aC1iYWRnZS5ub25lIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZjljMyIsInJnYmEoMjUwLCAyMDQsIDIxLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2NhOGEwNCIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZS5yZWplY3Rpb24tY2FyZDo6cGFydChvdXRlcikgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNmZWNhY2EiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICB9CgogICAgICAucmVqZWN0aW9uLWNvbnRlbnQgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAucmVqZWN0aW9uLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICAgIC5yZWplY3Rpb24tdGV4dCB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWYyZjIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjEpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzk5MWIxYiIsIiNmY2E1YTUiKX07CiAgICAgIH0KCiAgICAgIC5yZWplY3Rpb24tdGV4dDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAubm8tZW1haWwgewogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7aWYoIXRoaXMuZW1haWwpcmV0dXJuIHdgPGRpdiBjbGFzcz0ibm8tZW1haWwiPk5vIGVtYWlsIHNlbGVjdGVkPC9kaXY+YDtsZXQgYz10aGlzLmVtYWlsO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImJhY2stbGluayIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQmFjaygpfT4KICAgICAgICAgIDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiPjwvcG9seWxpbmU+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIEJhY2sgdG8gRW1haWxzCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZW1haWwtaGVhZGVyIj4KICAgICAgICA8aDEgY2xhc3M9ImVtYWlsLXN1YmplY3QiPiR7Yy5zdWJqZWN0fTwvaDE+CiAgICAgICAgPGRpdiBjbGFzcz0iYmFkZ2UtZ3JvdXAiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1iYWRnZSAke2Muc3RhdHVzfSI+JHtjLnN0YXR1c308L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iZGlyZWN0aW9uLWJhZGdlICR7Yy5kaXJlY3Rpb259Ij4ke2MuZGlyZWN0aW9ufTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJtYWluLWNvbnRlbnQiPgogICAgICAgICAgPCEtLSBFbWFpbCBNZXRhZGF0YSAtLT4KICAgICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGluZyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC10aXRsZSI+RW1haWwgTWV0YWRhdGE8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1saXN0Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+RnJvbTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtjLmZyb219PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPlRvPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke2MudG9MaXN0LmpvaW4oIiwgIil9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAke2MuY2MmJmMuY2MubGVuZ3RoPjA/d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkNDPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7Yy5jYy5qb2luKCIsICIpfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5TdWJqZWN0PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke2Muc3ViamVjdH08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+RGF0ZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtjLnRpbWVzdGFtcH08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+TWVzc2FnZSBJRDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtjLm1lc3NhZ2VJZH08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+U2l6ZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtjLnNpemV9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kZWVzLXRpbGU+CgogICAgICAgICAgPCEtLSBTTVRQIFRyYW5zYWN0aW9uIExvZyAtLT4KICAgICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGluZyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC10aXRsZSI+U01UUCBUcmFuc2FjdGlvbiBMb2c8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic210cC1kaXJlY3Rpb24tYmFkZ2UgJHtjLmRpcmVjdGlvbn0iPiR7Yy5kaXJlY3Rpb259PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic210cC1oZWFkZXItc3VidGl0bGUiPgogICAgICAgICAgICAgICR7Yy5kaXJlY3Rpb249PT0ib3V0Ym91bmQiP2Ake2MuY29ubmVjdGlvbkluZm8uc291cmNlSG9zdG5hbWV9IFx1MjE5MiAke2MuY29ubmVjdGlvbkluZm8uZGVzdGluYXRpb25JcH06JHtjLmNvbm5lY3Rpb25JbmZvLmRlc3RpbmF0aW9uUG9ydH1gOmAke2MuY29ubmVjdGlvbkluZm8uc291cmNlSXB9IFx1MjE5MiAke2MuY29ubmVjdGlvbkluZm8uc291cmNlSG9zdG5hbWV9OiR7Yy5jb25uZWN0aW9uSW5mby5kZXN0aW5hdGlvblBvcnR9YH0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICR7dGhpcy5yZW5kZXJTbXRwTG9nKGMpfQogICAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImNhcmQtZm9vdGVyIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY29weVNtdHBMb2coKX0+CiAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICAgICAgICAgICAgICAgICA8cmVjdCB4PSI5IiB5PSI5IiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNSAxNUg0YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDlhMiAyIDAgMCAxIDIgMnYxIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIENvcHkgTG9nCiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kZWVzLXRpbGU+CgogICAgICAgICAgPCEtLSBFbWFpbCBCb2R5IC0tPgogICAgICAgICAgPGRlZXMtdGlsZT4KICAgICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkaW5nIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLXRpdGxlIj5FbWFpbCBCb2R5IChFc2NhcGVkKTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLXN1YnRpdGxlIj5SYXcgY29udGVudCDigJQgSFRNTCBpcyBub3QgcmVuZGVyZWQ8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8cHJlIGNsYXNzPSJlbWFpbC1ib2R5LWNvbnRhaW5lciI+JHtjLmJvZHl9PC9wcmU+CiAgICAgICAgICA8L2RlZXMtdGlsZT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhciI+CiAgICAgICAgICA8IS0tIENvbm5lY3Rpb24gSW5mbyAtLT4KICAgICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGluZyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC10aXRsZSI+Q29ubmVjdGlvbiBJbmZvPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtbGlzdCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPlNvdXJjZSBJUDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtjLmNvbm5lY3Rpb25JbmZvLnNvdXJjZUlwfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5Tb3VyY2UgSG9zdG5hbWU8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7Yy5jb25uZWN0aW9uSW5mby5zb3VyY2VIb3N0bmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+RGVzdGluYXRpb248L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7Yy5jb25uZWN0aW9uSW5mby5kZXN0aW5hdGlvbklwfToke2MuY29ubmVjdGlvbkluZm8uZGVzdGluYXRpb25Qb3J0fTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5UTFM8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPgogICAgICAgICAgICAgICAgICAgICR7Yy5jb25uZWN0aW9uSW5mby50bHNWZXJzaW9uP3dgPHNwYW4gY2xhc3M9InRscy1iYWRnZSI+JHtjLmNvbm5lY3Rpb25JbmZvLnRsc1ZlcnNpb259PC9zcGFuPmA6Ik5vbmUifQogICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICR7Yy5jb25uZWN0aW9uSW5mby50bHNDaXBoZXI/d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkNpcGhlcjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke2MuY29ubmVjdGlvbkluZm8udGxzQ2lwaGVyfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5BdXRoZW50aWNhdGVkPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke2MuY29ubmVjdGlvbkluZm8uYXV0aGVudGljYXRlZD8iWWVzIjoiTm8ifTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgJHtjLmNvbm5lY3Rpb25JbmZvLmF1dGhlbnRpY2F0ZWQ/d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkF1dGggTWV0aG9kPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7Yy5jb25uZWN0aW9uSW5mby5hdXRoTWV0aG9kfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5BdXRoIFVzZXI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtjLmNvbm5lY3Rpb25JbmZvLmF1dGhVc2VyfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgICAgIDwhLS0gQXV0aGVudGljYXRpb24gUmVzdWx0cyAtLT4KICAgICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGluZyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC10aXRsZSI+QXV0aGVudGljYXRpb24gUmVzdWx0czwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXV0aC1yb3ciPgogICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGgtbGFiZWwiPlNQRjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGgtZG9tYWluIj4ke2MuYXV0aGVudGljYXRpb25SZXN1bHRzLnNwZkRvbWFpbn08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRoLWJhZGdlICR7Yy5hdXRoZW50aWNhdGlvblJlc3VsdHMuc3BmfSI+JHtjLmF1dGhlbnRpY2F0aW9uUmVzdWx0cy5zcGZ9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF1dGgtcm93Ij4KICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRoLWxhYmVsIj5ES0lNPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aC1kb21haW4iPiR7Yy5hdXRoZW50aWNhdGlvblJlc3VsdHMuZGtpbURvbWFpbn08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRoLWJhZGdlICR7Yy5hdXRoZW50aWNhdGlvblJlc3VsdHMuZGtpbX0iPiR7Yy5hdXRoZW50aWNhdGlvblJlc3VsdHMuZGtpbX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXV0aC1yb3ciPgogICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGgtbGFiZWwiPkRNQVJDPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aC1kb21haW4iPnBvbGljeTogJHtjLmF1dGhlbnRpY2F0aW9uUmVzdWx0cy5kbWFyY1BvbGljeX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRoLWJhZGdlICR7Yy5hdXRoZW50aWNhdGlvblJlc3VsdHMuZG1hcmN9Ij4ke2MuYXV0aGVudGljYXRpb25SZXN1bHRzLmRtYXJjfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2RlZXMtdGlsZT4KCiAgICAgICAgICA8IS0tIFJlamVjdGlvbiBEZXRhaWxzIChjb25kaXRpb25hbCkgLS0+CiAgICAgICAgICAke2Muc3RhdHVzPT09InJlamVjdGVkInx8Yy5zdGF0dXM9PT0iYm91bmNlZCI/d2AKICAgICAgICAgICAgPGRlZXMtdGlsZSBjbGFzcz0icmVqZWN0aW9uLWNhcmQiPgogICAgICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtdGl0bGUiPlJlamVjdGlvbiBEZXRhaWxzPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICR7Yy5yZWplY3Rpb25SZWFzb24/d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVqZWN0aW9uLWxhYmVsIj5SZWplY3Rpb24gUmVhc29uPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlamVjdGlvbi10ZXh0Ij4ke2MucmVqZWN0aW9uUmVhc29ufTwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgICR7Yy5ib3VuY2VNZXNzYWdlP3dgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlamVjdGlvbi1sYWJlbCI+Qm91bmNlIE1lc3NhZ2U8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVqZWN0aW9uLXRleHQiPiR7Yy5ib3VuY2VNZXNzYWdlfTwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kZWVzLXRpbGU+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Z2V0UmVzcG9uc2VDb2RlQmFkZ2VDbGFzcyhjKXtyZXR1cm4gYz49NTAwPyJjb2RlLTV4eCI6Yz49NDAwPyJjb2RlLTR4eCI6Yz49MzAwPyJjb2RlLTN4eCI6ImNvZGUtMnh4In1nZXRTbXRwUGhhc2VzKGMpe2xldCBwPVtdLHU9IiIsbT0wO2ZvcihsZXQgdiBvZiBjKXtsZXQgeD12LmNvbW1hbmQudG9VcHBlckNhc2UoKSxiPXU7aWYodi5kaXJlY3Rpb249PT0iY2xpZW50IiYmKHguc3RhcnRzV2l0aCgiRUhMTyIpfHx4LnN0YXJ0c1dpdGgoIkhFTE8iKT8obSsrLG09PT0xP2I9ImNvbm5lY3Rpb24iOmI9InBvc3QtdGxzIik6eD09PSJTVEFSVFRMUyI/Yj0idGxzIjp4LnN0YXJ0c1dpdGgoIkFVVEgiKT9iPSJhdXRoIjp4LnN0YXJ0c1dpdGgoIk1BSUwgRlJPTSIpfHx4LnN0YXJ0c1dpdGgoIlJDUFQgVE8iKXx8eD09PSJEQVRBInx8eD09PSIuIj9iPSJ0cmFuc2ZlciI6eD09PSJRVUlUIiYmKGI9ImNsb3NpbmciKSksdi5kaXJlY3Rpb249PT0ic2VydmVyIiYmYj09PSIiJiYoYj11fHwiY29ubmVjdGlvbiIpLGI9PT0iIiYmKGI9ImNvbm5lY3Rpb24iKSxiIT09dSl7dT1iO2xldCBnPXtjb25uZWN0aW9uOiJDb25uZWN0aW9uIix0bHM6IlRMUyBOZWdvdGlhdGlvbiIsInBvc3QtdGxzIjoiUG9zdC1UTFMgSGFuZHNoYWtlIixhdXRoOiJBdXRoZW50aWNhdGlvbiIsdHJhbnNmZXI6Ik1haWwgVHJhbnNmZXIiLGNsb3Npbmc6IkNsb3NpbmcifTtwLnB1c2goe3BoYXNlOmIsbGFiZWw6Z1tiXXx8YixlbnRyaWVzOltdfSl9cC5sZW5ndGg9PT0wJiZwLnB1c2goe3BoYXNlOiJjb25uZWN0aW9uIixsYWJlbDoiQ29ubmVjdGlvbiIsZW50cmllczpbXX0pLHBbcC5sZW5ndGgtMV0uZW50cmllcy5wdXNoKHYpfXJldHVybiBwfXJlbmRlclNtdHBMb2coYyl7bGV0IHA9dGhpcy5nZXRTbXRwUGhhc2VzKGMuc210cExvZyk7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InNtdHAtbG9nLWNvbnRhaW5lciI+CiAgICAgICAgJHtwLm1hcCh1PT53YAogICAgICAgICAgPGRpdiBjbGFzcz0ic210cC1waGFzZS1zZXBhcmF0b3IiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbXRwLXBoYXNlLWxpbmUiPjwvZGl2PgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic210cC1waGFzZS1sYWJlbCI+JHt1LmxhYmVsfTwvc3Bhbj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic210cC1waGFzZS1saW5lIj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgJHt1LmVudHJpZXMubWFwKG09PndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNtdHAtYnViYmxlICR7bS5kaXJlY3Rpb259Ij4KICAgICAgICAgICAgICAke20uZGlyZWN0aW9uPT09InNlcnZlciImJm0ucmVzcG9uc2VDb2RlP3dgCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVzcG9uc2UtY29kZS1iYWRnZSAke3RoaXMuZ2V0UmVzcG9uc2VDb2RlQmFkZ2VDbGFzcyhtLnJlc3BvbnNlQ29kZSl9Ij4ke20ucmVzcG9uc2VDb2RlfTwvc3Bhbj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNtdHAtYnViYmxlLWNvbW1hbmQiPiR7bS5jb21tYW5kfTwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNtdHAtYnViYmxlLW1ldGEiPgogICAgICAgICAgICAgICAgPHNwYW4+JHttLnRpbWVzdGFtcH08L3NwYW4+CiAgICAgICAgICAgICAgICA8c3Bhbj7Ctzwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzbXRwLWRpcmVjdGlvbi10YWcgJHttLmRpcmVjdGlvbn0iPiR7bS5kaXJlY3Rpb249PT0iY2xpZW50Ij8iQ2xpZW50IjoiU2VydmVyIn08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9CiAgICAgICAgYCl9CiAgICAgIDwvZGl2PgogICAgYH1jb3B5U210cExvZygpe2lmKCF0aGlzLmVtYWlsKXJldHVybjtsZXQgYz10aGlzLmVtYWlsLnNtdHBMb2cubWFwKHA9PmBbJHtwLnRpbWVzdGFtcH1dICR7cC5kaXJlY3Rpb249PT0iY2xpZW50Ij8iQzoiOiJTOiJ9ICR7cC5jb21tYW5kfWApLmpvaW4oYApgKTtuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChjKX1oYW5kbGVCYWNrKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYmFjayIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGRldCh0aGlzLGwpfXN0YXRpY3tkZXQocix0KX19O3JldHVybiBkPXJ9KSgpfSk7ZnVuY3Rpb24gaFJhKGEpe3JldHVybiB0eXBlb2YgYT09Im51bWJlciI/U3RyaW5nKGEpOkFycmF5LmlzQXJyYXkoYSk/YS5tYXAoZT0+dHlwZW9mIGU9PSJudW1iZXIiP1N0cmluZyhlKTpgJHtlLmZyb219XHUyMDEzJHtlLnRvfWApLmpvaW4oIiwgIik6U3RyaW5nKGEpfWZ1bmN0aW9uIG1SYShhKXtsZXQgZT1bXTtmb3IobGV0IHQgb2YgYSl7bGV0IHI9QXJyYXkuaXNBcnJheSh0Lmhvc3QpP3QuaG9zdDpbdC5ob3N0XSxpPXQucG9ydD09PSJwcmVzZXJ2ZSI/IihwcmVzZXJ2ZSkiOlN0cmluZyh0LnBvcnQpO2ZvcihsZXQgbyBvZiByKWUucHVzaChgJHtvfToke2l9YCl9cmV0dXJuIGV9dmFyIHVldCxERyxnUmEscnBhPWYoKCk9PntsZSgpO3VldD1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sREc9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9O3MoaFJhLCJmb3JtYXRQb3J0cyIpO3MobVJhLCJmb3JtYXRUYXJnZXRzIik7Z1JhPSgoKT0+e2xldCBhPVtpZSgic3otcm91dGUtY2FyZCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelJvdXRlQ2FyZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6Qm9vbGVhbn0pXSx1ZXQodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyb3V0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4icm91dGUiaW4gdiwiaGFzIiksZ2V0OnModj0+di5yb3V0ZSwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnJvdXRlPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSx1ZXQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93QWN0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4ic2hvd0FjdGlvbnMiaW4gdiwiaGFzIiksZ2V0OnModj0+di5zaG93QWN0aW9ucywiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnNob3dBY3Rpb25zPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSx1ZXQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA1MjBweDsiPgogICAgICA8c3otcm91dGUtY2FyZAogICAgICAgIC5yb3V0ZT0ke3tuYW1lOiJBUEkgR2F0ZXdheSIsZGVzY3JpcHRpb246Ik1haW4gQVBJIGdhdGV3YXkgd2l0aCBUTFMgdGVybWluYXRpb24gYW5kIGxvYWQgYmFsYW5jaW5nIixlbmFibGVkOiEwLHByaW9yaXR5OjEwLHRhZ3M6WyJ3ZWIiLCJhcGkiLCJwcm9kdWN0aW9uIl0sbWF0Y2g6e3BvcnRzOls0NDMsODQ0M10sZG9tYWluczpbImFwaS5leGFtcGxlLmNvbSIsIiouYXBpLnNlcnZlLnpvbmUiXSxwYXRoOiIvYXBpLyoiLHByb3RvY29sOiJodHRwIixjbGllbnRJcDpbIjEwLjAuMC4wLzgiXX0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDpbIjEwLjAuMC4xIiwiMTAuMC4wLjIiXSxwb3J0OjgwODB9XSx0bHM6e21vZGU6InRlcm1pbmF0ZSIsY2VydGlmaWNhdGU6ImF1dG8ifSx3ZWJzb2NrZXQ6e2VuYWJsZWQ6ITB9LGxvYWRCYWxhbmNpbmc6e2FsZ29yaXRobToicm91bmQtcm9iaW4ifSxmb3J3YXJkaW5nRW5naW5lOiJuZnRhYmxlcyJ9LHNlY3VyaXR5OntpcEFsbG93TGlzdDpbIjEwLjAuMC4wLzgiXSxpcEJsb2NrTGlzdDpbIjE5Mi4xNjguMTAwLjAvMjQiXSxyYXRlTGltaXQ6e2VuYWJsZWQ6ITAsbWF4UmVxdWVzdHM6MTAwLHdpbmRvdzo2MH0sbWF4Q29ubmVjdGlvbnM6MWUzfSx2cG5Pbmx5OiEwLG1ldGFkYXRhOntzb3VyY2VQcm9maWxlTmFtZToiU1RBTkRBUkQiLG5ldHdvcmtUYXJnZXROYW1lOiJMT1NTTEVTU19JTkZSQSJ9fX0KICAgICAgPjwvc3otcm91dGUtY2FyZD4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIlJvdXRlcyJdOyNlPURHKHRoaXMsbixudWxsKTtnZXQgcm91dGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcm91dGUobSl7dGhpcy4jZT1tfSN0PShERyh0aGlzLGwpLERHKHRoaXMsYywhMSkpO2dldCBzaG93QWN0aW9ucygpe3JldHVybiB0aGlzLiN0fXNldCBzaG93QWN0aW9ucyhtKXt0aGlzLiN0PW19c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgZGVlcy10aWxlOjpwYXJ0KG91dGVyKSB7CiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgZGVlcy10aWxlOmhvdmVyOjpwYXJ0KG91dGVyKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpOwogICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCAke2guYmRUaGVtZSgicmdiYSgwLDAsMCwwLjA2KSIsInJnYmEoMCwwLDAsMC4yKSIpfTsKICAgICAgfQoKICAgICAgLyogSGVhZGVyICovCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmhlYWRlci1sZWZ0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtZG90IHsKICAgICAgICB3aWR0aDogOHB4OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1kb3QuZW5hYmxlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMyMmM1NWUiLCIjMjJjNTVlIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCA2cHggJHtoLmJkVGhlbWUoInJnYmEoMzQsMTk3LDk0LDAuNCkiLCJyZ2JhKDM0LDE5Nyw5NCwwLjMpIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWRvdC5kaXNhYmxlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAucm91dGUtbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLmhlYWRlci1iYWRnZXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuYmFkZ2UuZm9yd2FyZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuYmFkZ2Uuc29ja2V0LWhhbmRsZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWRlOWZlIiwicmdiYSgxMzksIDkyLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjN2MzYWVkIiwiI2E3OGJmYSIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlLmVuYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuYmFkZ2UuZGlzYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwicmdiYSgxMTMsIDExMywgMTIyLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5jYXJkLWJvZHkgewogICAgICAgIHBhZGRpbmc6IDE2cHggMjBweDsKICAgICAgfQoKICAgICAgLmRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsKICAgICAgfQoKICAgICAgLm1ldGEtcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAudGFncyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC50YWcgewogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM1MjUyNWIiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAucHJpb3JpdHkgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNzE3MTdhIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC8qIFNlY3Rpb25zICovCiAgICAgIC5zZWN0aW9uIHsKICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkOwogICAgICAgIHBhZGRpbmc6IDEwcHggMTRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgNnB4IDZweCAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzEwMTAxMCIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb246bGFzdC1vZi10eXBlIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAuc2VjdGlvbi5tYXRjaCB7CiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24uYWN0aW9uIHsKICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHtoLmJkVGhlbWUoIiMyMmM1NWUiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc2VjdGlvbi5zZWN1cml0eSB7CiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7aC5iZFRoZW1lKCIjZjU5ZTBiIiwiI2Y1OWUwYiIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24ubGlua2VkIHsKICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHtoLmJkVGhlbWUoIiM4YjVjZjYiLCIjOGI1Y2Y2Iil9OwogICAgICB9CgogICAgICAubGlua2VkLW5hbWUgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIHBhZGRpbmc6IDFweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlZGU5ZmUiLCJyZ2JhKDEzOSwgOTIsIDI0NiwgMC4xNSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNmQyOGQ5IiwiI2E3OGJmYSIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNzE3MTdhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLmZpZWxkLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgIH0KCiAgICAgIC5maWVsZC1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLmZpZWxkLWtleSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtaW4td2lkdGg6IDY0cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmZpZWxkLXZhbHVlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZTRlNGU3Iil9OwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgfQoKICAgICAgLmRvbWFpbi1jaGlwIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBwYWRkaW5nOiAxcHggNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWZmNmZmIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgfQoKICAgICAgLmRvbWFpbi1jaGlwLmdsb2IgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVmM2M3IiwicmdiYSgyNDUsIDE1OCwgMTEsIDAuMTUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzkyNDAwZSIsIiNmYmJmMjQiKX07CiAgICAgIH0KCiAgICAgIC5tb25vIHsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgfQoKICAgICAgLnByb3RvY29sLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBwYWRkaW5nOiAxcHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnByb3RvY29sLWJhZGdlLmh0dHAgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLnByb3RvY29sLWJhZGdlLnRjcCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC50bHMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIHBhZGRpbmc6IDFweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAudGxzLWJhZGdlLmF1dG8gewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAudGxzLWJhZGdlLmN1c3RvbSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmVkZDUiLCJyZ2JhKDI0OSwgMTE1LCAyMiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNjMjQxMGMiLCIjZmI5MjNjIil9OwogICAgICB9CgogICAgICAuZW5naW5lLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBwYWRkaW5nOiAxcHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZhZThmZiIsInJnYmEoMTY4LCA4NSwgMjQ3LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzdlMjJjZSIsIiNjMDg0ZmMiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkZXItcGFpciB7CiAgICAgICAgZGlzcGxheTogaW5saW5lOwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICB9CgogICAgICAvKiBGZWF0dXJlIGljb25zICovCiAgICAgIC5mZWF0dXJlcy1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBtYXJnaW4tdG9wOiAxNHB4OwogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxYTFhMWEiKX07CiAgICAgIH0KCiAgICAgIC5mZWF0dXJlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmZlYXR1cmUtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAubm8tcm91dGUgewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAuc2VjdGlvbi52cG4gewogICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2guYmRUaGVtZSgiIzA4OTFiMiIsIiMwNmI2ZDQiKX07CiAgICAgIH0KCiAgICAgIC52cG4tYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLnZwbi1iYWRnZS5tYW5kYXRvcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmN2VkIiwicmdiYSgyNDksIDExNSwgMjIsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYzI0MTBjIiwiI2ZiOTIzYyIpfTsKICAgICAgfQoKICAgICAgLnZwbi1iYWRnZS5vcHRpb25hbCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlY2ZkZjUiLCJyZ2JhKDE2LCAxODUsIDEyOSwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwNDc4NTciLCIjMzRkMzk5Iil9OwogICAgICB9CgogICAgICAudnBuLXRhZyB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgcGFkZGluZzogMXB4IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlY2ZlZmYiLCJyZ2JhKDYsIDE4MiwgMjEyLCAwLjE1KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwZTc0OTAiLCIjMjJkM2VlIil9OwogICAgICB9CgogICAgICAuY2FyZC1mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAwOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICB9CgogICAgICAudGlsZS1idXR0b246Zmlyc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgICB9CgogICAgICAudGlsZS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5lZGl0OmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24uZGVsZXRlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7aWYoIXRoaXMucm91dGUpcmV0dXJuIHdgCiAgICAgICAgPGRlZXMtdGlsZT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYm9keSI+PGRpdiBjbGFzcz0ibm8tcm91dGUiPk5vIHJvdXRlIGRhdGE8L2Rpdj48L2Rpdj4KICAgICAgICA8L2RlZXMtdGlsZT4KICAgICAgYDtsZXQgbT10aGlzLnJvdXRlLHY9bS5lbmFibGVkIT09ITEseD1tLm1hdGNoLGI9bS5hY3Rpb24sZz1tLnNlY3VyaXR5O3JldHVybiB3YAogICAgICA8ZGVlcy10aWxlPgogICAgICAgIDwhLS0gSGVhZGVyIC0tPgogICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1sZWZ0Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1kb3QgJHt2PyJlbmFibGVkIjoiZGlzYWJsZWQifSI+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icm91dGUtbmFtZSI+JHttLm5hbWV8fG0uaWR8fCJVbm5hbWVkIFJvdXRlIn08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1iYWRnZXMiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmFkZ2UgJHtiLnR5cGV9Ij4ke2IudHlwZX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZSAke3Y/ImVuYWJsZWQiOiJkaXNhYmxlZCJ9Ij4ke3Y/ImVuYWJsZWQiOiJkaXNhYmxlZCJ9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYm9keSI+CiAgICAgICAgICAke20uZGVzY3JpcHRpb24/d2A8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+JHttLmRlc2NyaXB0aW9ufTwvZGl2PmA6IiJ9CgogICAgICAgICAgPGRpdiBjbGFzcz0ibWV0YS1yb3ciPgogICAgICAgICAgICAke20udGFncyYmbS50YWdzLmxlbmd0aD4wP3dgPGRpdiBjbGFzcz0idGFncyI+JHttLnRhZ3MubWFwKHk9PndgPHNwYW4gY2xhc3M9InRhZyI+JHt5fTwvc3Bhbj5gKX08L2Rpdj5gOndgPGRpdj48L2Rpdj5gfQogICAgICAgICAgICAke20ucHJpb3JpdHkhPW51bGw/d2A8c3BhbiBjbGFzcz0icHJpb3JpdHkiPlByaW9yaXR5OiAke20ucHJpb3JpdHl9PC9zcGFuPmA6IiJ9CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8IS0tIE1hdGNoIFNlY3Rpb24gLS0+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiBtYXRjaCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5NYXRjaDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+UG9ydHM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSBtb25vIj4ke2hSYSh4LnBvcnRzKX08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7eC5kb21haW5zP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5Eb21haW5zPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPiR7dGhpcy5yZW5kZXJEb21haW5zKHguZG9tYWlucyl9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICR7eC5wYXRoP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5QYXRoPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUgbW9ubyI+JHt4LnBhdGh9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICR7eC5wcm90b2NvbD93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+UHJvdG9jb2w8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByb3RvY29sLWJhZGdlICR7eC5wcm90b2NvbH0iPiR7eC5wcm90b2NvbH08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke3guY2xpZW50SXAmJnguY2xpZW50SXAubGVuZ3RoPjA/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPkNsaWVudDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIG1vbm8iPiR7eC5jbGllbnRJcC5qb2luKCIsICIpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke3gudGxzVmVyc2lvbiYmeC50bHNWZXJzaW9uLmxlbmd0aD4wP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5UTFMgVmVyPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPiR7eC50bHNWZXJzaW9uLmpvaW4oIiwgIil9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICR7eC5oZWFkZXJzP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5IZWFkZXJzPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPgogICAgICAgICAgICAgICAgICAgICR7T2JqZWN0LmVudHJpZXMoeC5oZWFkZXJzKS5tYXAoKFt5LGtdKT0+d2A8c3BhbiBjbGFzcz0iaGVhZGVyLXBhaXIiPiR7eX09JHtrfTwvc3Bhbj4gYCl9CiAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gQWN0aW9uIFNlY3Rpb24gLS0+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiBhY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+QWN0aW9uPC9kaXY+CiAgICAgICAgICAke2IudGFyZ2V0cyYmYi50YXJnZXRzLmxlbmd0aD4wP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5UYXJnZXRzPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUgbW9ubyI+JHttUmEoYi50YXJnZXRzKS5qb2luKCIsICIpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke2IudGxzP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5UTFM8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgJHtiLnRscy5tb2RlfQogICAgICAgICAgICAgICAgICAgICR7Yi50bHMuY2VydGlmaWNhdGU/Yi50bHMuY2VydGlmaWNhdGU9PT0iYXV0byI/d2AgPHNwYW4gY2xhc3M9InRscy1iYWRnZSBhdXRvIj5hdXRvIGNlcnQ8L3NwYW4+YDp3YCA8c3BhbiBjbGFzcz0idGxzLWJhZGdlIGN1c3RvbSI+Y3VzdG9tIGNlcnQ8L3NwYW4+YDoiIn0KICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICR7Yi5mb3J3YXJkaW5nRW5naW5lP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5FbmdpbmU8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+PHNwYW4gY2xhc3M9ImVuZ2luZS1iYWRnZSI+JHtiLmZvcndhcmRpbmdFbmdpbmV9PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke2IubG9hZEJhbGFuY2luZz93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+TEI8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+JHtiLmxvYWRCYWxhbmNpbmcuYWxnb3JpdGhtfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke2Iud2Vic29ja2V0Py5lbmFibGVkP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5XUzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIj48c3BhbiBjbGFzcz0iYmFkZ2UgZW5hYmxlZCI+ZW5hYmxlZDwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIFNlY3VyaXR5IFNlY3Rpb24gLS0+CiAgICAgICAgJHtnP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiBzZWN1cml0eSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5TZWN1cml0eTwvZGl2PgogICAgICAgICAgICAgICAgJHtnLmlwQWxsb3dMaXN0JiZnLmlwQWxsb3dMaXN0Lmxlbmd0aD4wP3dgCiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5BbGxvdzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIG1vbm8iPiR7Zy5pcEFsbG93TGlzdC5qb2luKCIsICIpfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAke2cuaXBCbG9ja0xpc3QmJmcuaXBCbG9ja0xpc3QubGVuZ3RoPjA/d2AKICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPkJsb2NrPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUgbW9ubyI+JHtnLmlwQmxvY2tMaXN0LmpvaW4oIiwgIil9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgICR7Zy5yYXRlTGltaXQ/LmVuYWJsZWQ/d2AKICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPlJhdGU8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+JHtnLnJhdGVMaW1pdC5tYXhSZXF1ZXN0c30gcmVxIC8gJHtnLnJhdGVMaW1pdC53aW5kb3d9czwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAke2cubWF4Q29ubmVjdGlvbnM/d2AKICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPk1heCBDb25uPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPiR7Zy5tYXhDb25uZWN0aW9uc308L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQoKICAgICAgICAgIDwhLS0gVlBOIFNlY3Rpb24gLS0+CiAgICAgICAgICAke3RoaXMucmVuZGVyVnBuKCl9CgogICAgICAgICAgPCEtLSBMaW5rZWQgUmVmZXJlbmNlcyBTZWN0aW9uIC0tPgogICAgICAgICAgJHt0aGlzLnJlbmRlckxpbmtlZCgpfQoKICAgICAgICAgIDwhLS0gRmVhdHVyZSBJY29ucyBSb3cgLS0+CiAgICAgICAgICAke3RoaXMucmVuZGVyRmVhdHVyZXMoKX0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBBY3Rpb24gQnV0dG9ucyAtLT4KICAgICAgICAke3RoaXMuc2hvd0FjdGlvbnM/d2AKICAgICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0iY2FyZC1mb290ZXIiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiBlZGl0IiBAY2xpY2s9JHt5PT57eS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3V0ZS1lZGl0Iix7ZGV0YWlsOnRoaXMucm91dGUsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX19PkVkaXQ8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlsZS1idXR0b24gZGVsZXRlIiBAY2xpY2s9JHt5PT57eS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3V0ZS1kZWxldGUiLHtkZXRhaWw6dGhpcy5yb3V0ZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfX0+RGVsZXRlPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2RlZXMtdGlsZT4KICAgIGB9cmVuZGVyRG9tYWlucyhtKXtsZXQgdj1BcnJheS5pc0FycmF5KG0pP206W21dO3JldHVybiB3YCR7di5tYXAoeD0+d2A8c3BhbiBjbGFzcz0iZG9tYWluLWNoaXAgJHt4LmluY2x1ZGVzKCIqIik/Imdsb2IiOiIifSI+JHt4fTwvc3Bhbj5gKX1gfXJlbmRlclZwbigpe3JldHVybiB0aGlzLnJvdXRlPy52cG5Pbmx5P3dgCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24gdnBuIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5WUE4gQWNjZXNzPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPk1vZGU8L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0idnBuLWJhZGdlIG1hbmRhdG9yeSI+VlBOIE9ubHk8L3NwYW4+CiAgICAgICAgICA8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYDp3YGB9cmVuZGVyTGlua2VkKCl7bGV0IG09dGhpcy5yb3V0ZT8ubWV0YWRhdGE7aWYoIW0pcmV0dXJuIHdgYDtsZXQgdj0hIW0uc291cmNlUHJvZmlsZU5hbWUseD0hIW0ubmV0d29ya1RhcmdldE5hbWU7cmV0dXJuIXYmJiF4P3dgYDp3YAogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIGxpbmtlZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+TGlua2VkPC9kaXY+CiAgICAgICAgJHt2P3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPlByb2ZpbGU8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPjxzcGFuIGNsYXNzPSJsaW5rZWQtbmFtZSI+JHttLnNvdXJjZVByb2ZpbGVOYW1lfTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgJHt4P3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPlRhcmdldDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+PHNwYW4gY2xhc3M9ImxpbmtlZC1uYW1lIj4ke20ubmV0d29ya1RhcmdldE5hbWV9PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckZlYXR1cmVzKCl7aWYoIXRoaXMucm91dGUpcmV0dXJuIHdgYDtsZXQgbT1bXSx2PXRoaXMucm91dGUuYWN0aW9uLHg9dGhpcy5yb3V0ZS5zZWN1cml0eSxiPXRoaXMucm91dGUuaGVhZGVycyxnPXRoaXMucm91dGUubWV0YWRhdGE7cmV0dXJuIHYudGxzJiZtLnB1c2god2A8c3BhbiBjbGFzcz0iZmVhdHVyZSI+PHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+JiN4MWY1MTI7PC9zcGFuPlRMUzwvc3Bhbj5gKSx2LndlYnNvY2tldD8uZW5hYmxlZCYmbS5wdXNoKHdgPHNwYW4gY2xhc3M9ImZlYXR1cmUiPjxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPiYjeDIxOTQ7PC9zcGFuPldTPC9zcGFuPmApLHYubG9hZEJhbGFuY2luZyYmbS5wdXNoKHdgPHNwYW4gY2xhc3M9ImZlYXR1cmUiPjxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPiYjeDI2OTY7PC9zcGFuPkxCPC9zcGFuPmApLHgmJm0ucHVzaCh3YDxzcGFuIGNsYXNzPSJmZWF0dXJlIj48c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj4mI3gxZjZlMTs8L3NwYW4+U2VjdXJpdHk8L3NwYW4+YCksYiYmbS5wdXNoKHdgPHNwYW4gY2xhc3M9ImZlYXR1cmUiPjxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPiYjeDI2OTk7PC9zcGFuPkhlYWRlcnM8L3NwYW4+YCksdGhpcy5yb3V0ZT8udnBuT25seSYmbS5wdXNoKHdgPHNwYW4gY2xhc3M9ImZlYXR1cmUiPjxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPiYjeDFmNTEwOzwvc3Bhbj5WUE48L3NwYW4+YCksKGc/LnNvdXJjZVByb2ZpbGVOYW1lfHxnPy5uZXR3b3JrVGFyZ2V0TmFtZSkmJm0ucHVzaCh3YDxzcGFuIGNsYXNzPSJmZWF0dXJlIj48c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj4mI3gxZjUxNzs8L3NwYW4+TGlua2VkPC9zcGFuPmApLG0ubGVuZ3RoPT09MD93YGA6d2A8ZGl2IGNsYXNzPSJmZWF0dXJlcy1yb3ciPiR7bX08L2Rpdj5gfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxERyh0aGlzLHApfXN0YXRpY3tERyhyLHQpfX07cmV0dXJuIHU9cn0pKCl9KTt2YXIgZjcsSjEsYlJhLHNwYT1mKCgpPT57bGUoKTtmNz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sSjE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGJSYT0oKCk9PntsZXQgYT1baWUoInN6LXJvdXRlLWxpc3QtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdO3ZhciBOPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelJvdXRlTGlzdFZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLGQ9WyQoe2F0dHJpYnV0ZTohMX0pXSx1PVtLKCldLHg9W0soKV0seT1bSygpXSxmNyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJvdXRlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4icm91dGVzImluIHosImhhcyIpLGdldDpzKHo9Pnoucm91dGVzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3oucm91dGVzPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbixsKSxmNyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dBY3Rpb25zRmlsdGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzaG93QWN0aW9uc0ZpbHRlciJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnNob3dBY3Rpb25zRmlsdGVyLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc2hvd0FjdGlvbnNGaWx0ZXI9T30sInNldCIpfSxtZXRhZGF0YTpffSxjLHApLGY3KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VhcmNoUXVlcnkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNlYXJjaFF1ZXJ5ImluIHosImhhcyIpLGdldDpzKHo9Pnouc2VhcmNoUXVlcnksImdldCIpLHNldDpzKCh6LE8pPT57ei5zZWFyY2hRdWVyeT1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG0sdiksZjcodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpb25GaWx0ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImFjdGlvbkZpbHRlciJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmFjdGlvbkZpbHRlciwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmFjdGlvbkZpbHRlcj1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGIsZyksZjcodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbmFibGVkRmlsdGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJlbmFibGVkRmlsdGVyImluIHosImhhcyIpLGdldDpzKHo9PnouZW5hYmxlZEZpbHRlciwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmVuYWJsZWRGaWx0ZXI9T30sInNldCIpfSxtZXRhZGF0YTpffSxrLEMpLGY3KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsdCksTj1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTIwMHB4OyI+CiAgICAgIDxzei1yb3V0ZS1saXN0LXZpZXcKICAgICAgICAucm91dGVzPSR7W3tuYW1lOiJIVFRQUyBHYXRld2F5IixkZXNjcmlwdGlvbjoiTWFpbiB3ZWIgZ2F0ZXdheSB3aXRoIFRMUyB0ZXJtaW5hdGlvbiIsZW5hYmxlZDohMCx0YWdzOlsid2ViIiwiaHR0cHMiLCJwcm9kdWN0aW9uIl0sbWF0Y2g6e3BvcnRzOjQ0Myxkb21haW5zOlsiKi5leGFtcGxlLmNvbSIsInNlcnZlLnpvbmUiXSxwcm90b2NvbDoiaHR0cCJ9LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6IjEwLjAuMC4xIixwb3J0OjgwODB9XSx0bHM6e21vZGU6InRlcm1pbmF0ZSIsY2VydGlmaWNhdGU6ImF1dG8ifX19LHtuYW1lOiJTTVRQIEluYm91bmQiLGRlc2NyaXB0aW9uOiJFbWFpbCByZWxheSBmb3IgaW5jb21pbmcgbWFpbCIsZW5hYmxlZDohMCx0YWdzOlsiZW1haWwiLCJzbXRwIl0sbWF0Y2g6e3BvcnRzOjI1LGRvbWFpbnM6Im1haWwuc2VydmUuem9uZSJ9LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6IjEwLjAuMS41Iixwb3J0OjI1fV19fSx7bmFtZToiV2ViU29ja2V0IEFQSSIsZGVzY3JpcHRpb246IlJlYWwtdGltZSBXZWJTb2NrZXQgY29ubmVjdGlvbnMiLGVuYWJsZWQ6ITAsdGFnczpbIndlYiIsImFwaSJdLG1hdGNoOntwb3J0czo0NDMsZG9tYWluczoid3MuZXhhbXBsZS5jb20iLHBhdGg6Ii93cy8qIn0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDoiMTAuMC4wLjMiLHBvcnQ6OTA5MH1dLHdlYnNvY2tldDp7ZW5hYmxlZDohMH0sdGxzOnttb2RlOiJ0ZXJtaW5hdGUiLGNlcnRpZmljYXRlOiJhdXRvIn19fSx7bmFtZToiTWFpbnRlbmFuY2UgUGFnZSIsZW5hYmxlZDohMSx0YWdzOlsid2ViIl0sbWF0Y2g6e3BvcnRzOls4MCw0NDNdLGRvbWFpbnM6Im9sZC5leGFtcGxlLmNvbSJ9LGFjdGlvbjp7dHlwZToic29ja2V0LWhhbmRsZXIifX1dfQogICAgICA+PC9zei1yb3V0ZS1saXN0LXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJSb3V0ZXMiXTsjZT1KMSh0aGlzLG4sW10pO2dldCByb3V0ZXMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcm91dGVzKF8pe3RoaXMuI2U9X30jdD0oSjEodGhpcyxsKSxKMSh0aGlzLGMsbnVsbCkpO2dldCBzaG93QWN0aW9uc0ZpbHRlcigpe3JldHVybiB0aGlzLiN0fXNldCBzaG93QWN0aW9uc0ZpbHRlcihfKXt0aGlzLiN0PV99I2E9KEoxKHRoaXMscCksSjEodGhpcyxtLCIiKSk7Z2V0IHNlYXJjaFF1ZXJ5KCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNlYXJjaFF1ZXJ5KF8pe3RoaXMuI2E9X30jcj0oSjEodGhpcyx2KSxKMSh0aGlzLGIsImFsbCIpKTtnZXQgYWN0aW9uRmlsdGVyKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGFjdGlvbkZpbHRlcihfKXt0aGlzLiNyPV99I3M9KEoxKHRoaXMsZyksSjEodGhpcyxrLCJhbGwiKSk7Z2V0IGVuYWJsZWRGaWx0ZXIoKXtyZXR1cm4gdGhpcy4jc31zZXQgZW5hYmxlZEZpbHRlcihfKXt0aGlzLiNzPV99Z2V0IGZpbHRlcmVkUm91dGVzKCl7cmV0dXJuIHRoaXMucm91dGVzLmZpbHRlcihfPT57aWYodGhpcy5hY3Rpb25GaWx0ZXIhPT0iYWxsIiYmXy5hY3Rpb24udHlwZSE9PXRoaXMuYWN0aW9uRmlsdGVyfHx0aGlzLmVuYWJsZWRGaWx0ZXI9PT0iZW5hYmxlZCImJl8uZW5hYmxlZD09PSExfHx0aGlzLmVuYWJsZWRGaWx0ZXI9PT0iZGlzYWJsZWQiJiZfLmVuYWJsZWQhPT0hMSlyZXR1cm4hMTtpZih0aGlzLnNlYXJjaFF1ZXJ5KXtsZXQgej10aGlzLnNlYXJjaFF1ZXJ5LnRvTG93ZXJDYXNlKCk7cmV0dXJuIHRoaXMucm91dGVNYXRjaGVzU2VhcmNoKF8seil9cmV0dXJuITB9KX1yb3V0ZU1hdGNoZXNTZWFyY2goXyx6KXtpZihfLm5hbWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoeil8fF8uZGVzY3JpcHRpb24/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoeil8fF8ubWF0Y2guZG9tYWlucyYmKEFycmF5LmlzQXJyYXkoXy5tYXRjaC5kb21haW5zKT9fLm1hdGNoLmRvbWFpbnM6W18ubWF0Y2guZG9tYWluc10pLnNvbWUoRT0+RS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHopKXx8dGhpcy5mb3JtYXRQb3J0c0ZvclNlYXJjaChfLm1hdGNoLnBvcnRzKS5pbmNsdWRlcyh6KXx8Xy5tYXRjaC5wYXRoPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHopfHxfLm1hdGNoLmNsaWVudElwPy5zb21lKFQ9PlQuaW5jbHVkZXMoeikpKXJldHVybiEwO2lmKF8uYWN0aW9uLnRhcmdldHMpe2ZvcihsZXQgVCBvZiBfLmFjdGlvbi50YXJnZXRzKWlmKChBcnJheS5pc0FycmF5KFQuaG9zdCk/VC5ob3N0OltULmhvc3RdKS5zb21lKEI9PkIudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh6KSkpcmV0dXJuITB9cmV0dXJuISFfLnRhZ3M/LnNvbWUoVD0+VC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHopKX1mb3JtYXRQb3J0c0ZvclNlYXJjaChfKXtyZXR1cm4gdHlwZW9mIF89PSJudW1iZXIiP1N0cmluZyhfKTpBcnJheS5pc0FycmF5KF8pP18ubWFwKHo9PnR5cGVvZiB6PT0ibnVtYmVyIj9TdHJpbmcoeik6YCR7ei5mcm9tfS0ke3oudG99YCkuam9pbigiICIpOlN0cmluZyhfKX1zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuZmlsdGVyLWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pbnB1dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDIwMHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAuc2VhcmNoLWlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzNiODJmNiIpfTsKICAgICAgfQoKICAgICAgLmNoaXAtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5jaGlwIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5jaGlwOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmNoaXAuYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnJlc3VsdHMtY291bnQgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDQyMHB4LCAxZnIpKTsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5ncmlkIHN6LXJvdXRlLWNhcmQgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNDhweCAyNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAzMnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgXz10aGlzLmZpbHRlcmVkUm91dGVzO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJmaWx0ZXItYmFyIj4KICAgICAgICA8aW5wdXQKICAgICAgICAgIGNsYXNzPSJzZWFyY2gtaW5wdXQiCiAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgcGxhY2Vob2xkZXI9IlNlYXJjaCByb3V0ZXMgYnkgZG9tYWluLCBJUCwgcG9ydCwgcGF0aCwgb3IgdGFnLi4uIgogICAgICAgICAgLnZhbHVlPSR7dGhpcy5zZWFyY2hRdWVyeX0KICAgICAgICAgIEBpbnB1dD0ke3o9Pnt0aGlzLnNlYXJjaFF1ZXJ5PXoudGFyZ2V0LnZhbHVlfX0KICAgICAgICAvPgogICAgICAgIDxkaXYgY2xhc3M9ImNoaXAtZ3JvdXAiPgogICAgICAgICAgJHtbImFsbCIsImZvcndhcmQiLCJzb2NrZXQtaGFuZGxlciJdLm1hcCh6PT53YAogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJjaGlwICR7dGhpcy5hY3Rpb25GaWx0ZXI9PT16PyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT57dGhpcy5hY3Rpb25GaWx0ZXI9en19CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgJHt6PT09ImFsbCI/IkFsbCI6ej09PSJmb3J3YXJkIj8iRm9yd2FyZCI6IlNvY2tldCBIYW5kbGVyIn0KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY2hpcC1ncm91cCI+CiAgICAgICAgICAke1siYWxsIiwiZW5hYmxlZCIsImRpc2FibGVkIl0ubWFwKHo9PndgCiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9ImNoaXAgJHt0aGlzLmVuYWJsZWRGaWx0ZXI9PT16PyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT57dGhpcy5lbmFibGVkRmlsdGVyPXp9fQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICR7ei5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt6LnNsaWNlKDEpfQogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJyZXN1bHRzLWNvdW50Ij4KICAgICAgICBTaG93aW5nICR7Xy5sZW5ndGh9IG9mICR7dGhpcy5yb3V0ZXMubGVuZ3RofSByb3V0ZXMKICAgICAgPC9kaXY+CgogICAgICAke18ubGVuZ3RoPjA/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCI+CiAgICAgICAgICAgICAgJHtfLm1hcCh6PT53YAogICAgICAgICAgICAgICAgICA8c3otcm91dGUtY2FyZAogICAgICAgICAgICAgICAgICAgIC5yb3V0ZT0ke3p9CiAgICAgICAgICAgICAgICAgICAgLnNob3dBY3Rpb25zPSR7dGhpcy5zaG93QWN0aW9uc0ZpbHRlcj8uKHopPz8hMX0KICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVSb3V0ZUNsaWNrKHopfQogICAgICAgICAgICAgICAgICA+PC9zei1yb3V0ZS1jYXJkPgogICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDp3YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUtaWNvbiI+JiN4MWY1MGQ7PC9kaXY+CiAgICAgICAgICAgICAgPGRpdj5ObyByb3V0ZXMgbWF0Y2ggeW91ciBmaWx0ZXJzPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYH0KICAgIGB9aGFuZGxlUm91dGVDbGljayhfKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3V0ZS1jbGljayIse2RldGFpbDpfLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLEoxKHRoaXMsQyl9c3RhdGlje0oxKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBVbixMcix2UmEsaXBhPWYoKCk9PntsZSgpO1VuPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxMcj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sdlJhPSgoKT0+e2xldCBhPVtpZSgic3otY29uZmlnLXNlY3Rpb24iKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W107dmFyIG1lPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekNvbmZpZ1NlY3Rpb24iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgST10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHt0eXBlOkFycmF5fSldLE49WyQoe3R5cGU6QXJyYXl9KV0sTz1bJCh7dHlwZTpBcnJheX0pXSxCPVskKHt0eXBlOkJvb2xlYW59KV0sUD1bJCh7dHlwZTpCb29sZWFufSldLFc9W0soKV0saGU9W0soKV0sVW4odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aXRsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4idGl0bGUiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS50aXRsZSwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS50aXRsZT1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxuLGwpLFVuKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3VidGl0bGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+InN1YnRpdGxlImluIHEsImhhcyIpLGdldDpzKHE9PnEuc3VidGl0bGUsImdldCIpLHNldDpzKChxLGNlKT0+e3Euc3VidGl0bGU9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sYyxwKSxVbih0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imljb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+Imljb24iaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5pY29uLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmljb249Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sbSx2KSxVbih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0YXR1cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4ic3RhdHVzImluIHEsImhhcyIpLGdldDpzKHE9PnEuc3RhdHVzLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLnN0YXR1cz1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxiLGcpLFVuKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmllbGRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJmaWVsZHMiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5maWVsZHMsImdldCIpLHNldDpzKChxLGNlKT0+e3EuZmllbGRzPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LGssQyksVW4odGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJhY3Rpb25zImluIHEsImhhcyIpLGdldDpzKHE9PnEuYWN0aW9ucywiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5hY3Rpb25zPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LF8seiksVW4odGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsaW5rcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4ibGlua3MiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5saW5rcywiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5saW5rcz1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxULEUpLFVuKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sbGFwc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImNvbGxhcHNpYmxlImluIHEsImhhcyIpLGdldDpzKHE9PnEuY29sbGFwc2libGUsImdldCIpLHNldDpzKChxLGNlKT0+e3EuY29sbGFwc2libGU9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sTSxTKSxVbih0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbGxhcHNlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4iY29sbGFwc2VkImluIHEsImhhcyIpLGdldDpzKHE9PnEuY29sbGFwc2VkLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmNvbGxhcHNlZD1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxBLEYpLFVuKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNDb2xsYXBzZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImlzQ29sbGFwc2VkImluIHEsImhhcyIpLGdldDpzKHE9PnEuaXNDb2xsYXBzZWQsImdldCIpLHNldDpzKChxLGNlKT0+e3EuaXNDb2xsYXBzZWQ9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0saixHKSxVbih0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoYXNTbG90dGVkQ29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4iaGFzU2xvdHRlZENvbnRlbnQiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5oYXNTbG90dGVkQ29udGVudCwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5oYXNTbG90dGVkQ29udGVudD1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxSLFUpLFVuKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOkl9LG51bGwsdCksbWU9cj1lLnZhbHVlLEkmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6SX0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgdGl0bGU9IlNtYXJ0UHJveHkiCiAgICAgIHN1YnRpdGxlPSJIVFRQL0hUVFBTIGFuZCBUQ1AvU05JIHJldmVyc2UgcHJveHkiCiAgICAgIGljb249Imx1Y2lkZTpuZXR3b3JrIgogICAgICBzdGF0dXM9ImVuYWJsZWQiCiAgICAgIC5maWVsZHM9JHtbe2tleToiUm91dGUgQ291bnQiLHZhbHVlOjEyfSx7a2V5OiJBQ01FIEVuYWJsZWQiLHZhbHVlOiEwLHR5cGU6ImJvb2xlYW4ifSx7a2V5OiJBY2NvdW50IEVtYWlsIix2YWx1ZToiYWRtaW5AZXhhbXBsZS5jb20ifSx7a2V5OiJVc2UgUHJvZHVjdGlvbiIsdmFsdWU6ITAsdHlwZToiYm9vbGVhbiJ9LHtrZXk6IkF1dG8gUmVuZXciLHZhbHVlOiEwLHR5cGU6ImJvb2xlYW4ifSx7a2V5OiJSZW5ldyBUaHJlc2hvbGQiLHZhbHVlOiIzMCBkYXlzIn1dfQogICAgICAubGlua3M9JHtbe2xhYmVsOiJEb2NzIixocmVmOiJodHRwczovL2NvZGUuZm9zcy5nbG9iYWwvc2VydmUuem9uZS9zbWFydHByb3h5IixpY29uOiJsdWNpZGU6Ym9va09wZW4iLGV4dGVybmFsOiEwfV19CiAgICAgIC5hY3Rpb25zPSR7W3tsYWJlbDoiQ29uZmlndXJlIixpY29uOiJsdWNpZGU6c2V0dGluZ3MiLGV2ZW50OiJjb25maWd1cmUifV19CiAgICA+PC9zei1jb25maWctc2VjdGlvbj4KICAgIDxzei1jb25maWctc2VjdGlvbgogICAgICB0aXRsZT0iRW1haWwgU2VydmVyIgogICAgICBzdWJ0aXRsZT0iU01UUCBlbWFpbCBoYW5kbGluZyB3aXRoIHNtYXJ0bXRhIgogICAgICBpY29uPSJsdWNpZGU6bWFpbCIKICAgICAgc3RhdHVzPSJkaXNhYmxlZCIKICAgICAgLmZpZWxkcz0ke1t7a2V5OiJQb3J0cyIsdmFsdWU6WyIyNSIsIjQ2NSIsIjU4NyJdLHR5cGU6InBpbGxzIn0se2tleToiSG9zdG5hbWUiLHZhbHVlOm51bGx9LHtrZXk6IkRvbWFpbnMiLHZhbHVlOlsiZXhhbXBsZS5jb20iLCJtYWlsLmV4YW1wbGUuY29tIl0sdHlwZToicGlsbHMifV19CiAgICAgIC5saW5rcz0ke1t7bGFiZWw6IkRvY3MiLGhyZWY6Imh0dHBzOi8vY29kZS5mb3NzLmdsb2JhbC9zZXJ2ZS56b25lL3NtYXJ0bXRhIixpY29uOiJsdWNpZGU6Ym9va09wZW4iLGV4dGVybmFsOiEwfSx7bGFiZWw6IlNvdXJjZSIsaHJlZjoiaHR0cHM6Ly9jb2RlLmZvc3MuZ2xvYmFsL3NlcnZlLnpvbmUvc21hcnRtdGEiLGljb246Imx1Y2lkZTpnaXRodWIiLGV4dGVybmFsOiEwfV19CiAgICAgIC5hY3Rpb25zPSR7W3tsYWJlbDoiRW5hYmxlIixpY29uOiJsdWNpZGU6cG93ZXIiLGV2ZW50OiJlbmFibGUifV19CiAgICA+PC9zei1jb25maWctc2VjdGlvbj4KICAgIDxzei1jb25maWctc2VjdGlvbgogICAgICB0aXRsZT0iRE5TIFNlcnZlciIKICAgICAgc3VidGl0bGU9IkF1dGhvcml0YXRpdmUgRE5TIHdpdGggc21hcnRkbnMiCiAgICAgIGljb249Imx1Y2lkZTpnbG9iZSIKICAgICAgc3RhdHVzPSJub3QtY29uZmlndXJlZCIKICAgICAgY29sbGFwc2libGUKICAgICAgLmZpZWxkcz0ke1t7a2V5OiJQb3J0Iix2YWx1ZTo1M30se2tleToiTlMgRG9tYWlucyIsdmFsdWU6WyJuczEuZXhhbXBsZS5jb20iLCJuczIuZXhhbXBsZS5jb20iXSx0eXBlOiJwaWxscyJ9XX0KICAgICAgLmxpbmtzPSR7W3tsYWJlbDoiR2V0dGluZyBTdGFydGVkIixocmVmOiJodHRwczovL2RvY3MuZXhhbXBsZS5jb20vZG5zIixpY29uOiJsdWNpZGU6Ym9va09wZW4iLGV4dGVybmFsOiEwfV19CiAgICA+PC9zei1jb25maWctc2VjdGlvbj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJDb25maWd1cmF0aW9uIl07I2U9THIodGhpcyxuLCIiKTtnZXQgdGl0bGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdGl0bGUoSSl7dGhpcy4jZT1JfSN0PShMcih0aGlzLGwpLExyKHRoaXMsYywiIikpO2dldCBzdWJ0aXRsZSgpe3JldHVybiB0aGlzLiN0fXNldCBzdWJ0aXRsZShJKXt0aGlzLiN0PUl9I2E9KExyKHRoaXMscCksTHIodGhpcyxtLCIiKSk7Z2V0IGljb24oKXtyZXR1cm4gdGhpcy4jYX1zZXQgaWNvbihJKXt0aGlzLiNhPUl9I3I9KExyKHRoaXMsdiksTHIodGhpcyxiLCJlbmFibGVkIikpO2dldCBzdGF0dXMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc3RhdHVzKEkpe3RoaXMuI3I9SX0jcz0oTHIodGhpcyxnKSxMcih0aGlzLGssW10pKTtnZXQgZmllbGRzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGZpZWxkcyhJKXt0aGlzLiNzPUl9I2k9KExyKHRoaXMsQyksTHIodGhpcyxfLFtdKSk7Z2V0IGFjdGlvbnMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgYWN0aW9ucyhJKXt0aGlzLiNpPUl9I289KExyKHRoaXMseiksTHIodGhpcyxULFtdKSk7Z2V0IGxpbmtzKCl7cmV0dXJuIHRoaXMuI299c2V0IGxpbmtzKEkpe3RoaXMuI289SX0jbj0oTHIodGhpcyxFKSxMcih0aGlzLE0sITEpKTtnZXQgY29sbGFwc2libGUoKXtyZXR1cm4gdGhpcy4jbn1zZXQgY29sbGFwc2libGUoSSl7dGhpcy4jbj1JfSNsPShMcih0aGlzLFMpLExyKHRoaXMsQSwhMSkpO2dldCBjb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy4jbH1zZXQgY29sbGFwc2VkKEkpe3RoaXMuI2w9SX0jYz0oTHIodGhpcyxGKSxMcih0aGlzLGosITEpKTtnZXQgaXNDb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy4jY31zZXQgaXNDb2xsYXBzZWQoSSl7dGhpcy4jYz1JfSNkPShMcih0aGlzLEcpLExyKHRoaXMsUiwhMSkpO2dldCBoYXNTbG90dGVkQ29udGVudCgpe3JldHVybiB0aGlzLiNkfXNldCBoYXNTbG90dGVkQ29udGVudChJKXt0aGlzLiNkPUl9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICBkZWVzLXRpbGUgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgZGVlcy10aWxlOjpwYXJ0KGNvbnRlbnQpIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgZGVlcy10aWxlOjpwYXJ0KGZvb3RlcikgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDEwcHggMTZweDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzaWJsZV0pIC5zZWN0aW9uLWhlYWRlciB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2libGVdKSAuc2VjdGlvbi1oZWFkZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICB9CgogICAgICAuaGVhZGVyLWxlZnQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItaWNvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAyOHB4OwogICAgICAgIGhlaWdodDogMjhweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItaWNvbiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQoKICAgICAgLmhlYWRlci10ZXh0IHsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICBsaW5lLWhlaWdodDogMS4zOwogICAgICB9CgogICAgICAuaGVhZGVyLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgICBtYXJnaW4tdG9wOiAxcHg7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItcmlnaHQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC8qIFN0YXR1cyBiYWRnZSAqLwogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDNweCAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmVuYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwxOTcsOTQsMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmRpc2FibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LDY4LDY4LDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5ub3QtY29uZmlndXJlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCJyZ2JhKDExMywxMTMsMTIyLDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS53YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZjNjNyIsInJnYmEoMjQ1LDE1OCwxMSwwLjE1KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5MjQwMGUiLCIjZmJiZjI0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWRvdCB7CiAgICAgICAgd2lkdGg6IDdweDsKICAgICAgICBoZWlnaHQ6IDdweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZW5hYmxlZCAuc3RhdHVzLWRvdCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmRpc2FibGVkIC5zdGF0dXMtZG90IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2Uubm90LWNvbmZpZ3VyZWQgLnN0YXR1cy1kb3QgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS53YXJuaW5nIC5zdGF0dXMtZG90IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y1OWUwYiIsIiNmYmJmMjQiKX07CiAgICAgIH0KCiAgICAgIC8qIEZvb3RlciBhY3Rpb24gYnV0dG9ucyDigJQgY2Fub25pY2FsIGRlZXMtbW9kYWwgLyBkZWVzLXRpbGUgcGF0dGVybiAqLwogICAgICAuc2VjdGlvbi1mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAwOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItbGVmdDogbm9uZTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAudGlsZS1idXR0b24ucHJpbWFyeSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICAudGlsZS1idXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMDgpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4wOCkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTAlKSIsImhzbCgyMTMuMSA5My45JSA3NSUpIil9OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24gZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIH0KCiAgICAgIC8qIENoZXZyb24gKi8KICAgICAgLmNoZXZyb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmNoZXZyb24uY29sbGFwc2VkIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOwogICAgICB9CgogICAgICAuY2hldnJvbiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQoKICAgICAgLyogQ29udGVudCAqLwogICAgICAuc2VjdGlvbi1jb250ZW50IHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICAuZmllbGRzLWxpc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgfQoKICAgICAgLyogRmllbGQgcm93cyAqLwogICAgICAuZmllbGQtcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzFhMWExZSIpfTsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5maWVsZHMtbGlzdCAuZmllbGQtcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC5maWVsZC1rZXkgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgbWluLXdpZHRoOiAxNDBweDsKICAgICAgICBwYWRkaW5nLXRvcDogMXB4OwogICAgICB9CgogICAgICAuZmllbGQtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCBNb25hY28sICdDYXNjYWRpYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOwogICAgICB9CgogICAgICAuZmllbGQtdmFsdWUubnVsbC12YWx1ZSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgIH0KCiAgICAgIC8qIEJvb2xlYW4gZGlzcGxheSAqLwogICAgICAuYm9vbC12YWx1ZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDVweDsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmJvb2wtdmFsdWUudHJ1ZSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmJvb2wtdmFsdWUuZmFsc2UgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5ib29sLWRvdCB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIH0KCiAgICAgIC5ib29sLXZhbHVlLnRydWUgLmJvb2wtZG90IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5ib29sLXZhbHVlLmZhbHNlIC5ib29sLWRvdCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAvKiBQaWxscyAqLwogICAgICAucGlsbHMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogNXB4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgIH0KCiAgICAgIC5waWxsIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA5cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsIE1vbmFjbywgJ0Nhc2NhZGlhIENvZGUnLCBtb25vc3BhY2U7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlZmY2ZmYiLCJyZ2JhKDU5LDEzMCwyNDYsMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAvKiBDb2RlIHZhbHVlICovCiAgICAgIC5jb2RlLXZhbHVlIHsKICAgICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCBNb25hY28sICdDYXNjYWRpYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLyogTGluayB2YWx1ZSAqLwogICAgICAubGluay12YWx1ZSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLmxpbmstdmFsdWU6aG92ZXIgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAvKiBEZXNjcmlwdGlvbiBoaW50ICovCiAgICAgIC5maWVsZC1kZXNjcmlwdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgICAgbWFyZ2luLXRvcDogM3B4OwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICB9CgogICAgICAvKiBTbG90IGZvciBjdXN0b20gY29udGVudCAqLwogICAgICAuc2xvdC1jb250ZW50IHsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMWExYTFlIil9OwogICAgICB9CgogICAgICAuc2xvdC1jb250ZW50LmVtcHR5IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAvKiBCYWRnZSB0eXBlICovCiAgICAgIC5iYWRnZS12YWx1ZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOXB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNTI1MjViIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuaXNDb2xsYXBzZWQ9dGhpcy5jb2xsYXBzZWQsdGhpcy5jb2xsYXBzaWJsZSYmdGhpcy5zZXRBdHRyaWJ1dGUoImNvbGxhcHNpYmxlIiwiIil9dXBkYXRlZChJKXtzdXBlci51cGRhdGVkKEkpLEkuaGFzKCJpc0NvbGxhcHNlZCIpJiZ0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgiY29sbGFwc2VkIix0aGlzLmlzQ29sbGFwc2VkKX1vblNsb3RDaGFuZ2UoSSl7bGV0IHE9SS50YXJnZXQ7dGhpcy5oYXNTbG90dGVkQ29udGVudD1xLmFzc2lnbmVkTm9kZXMoe2ZsYXR0ZW46ITB9KS5sZW5ndGg+MH1yZW5kZXIoKXtsZXQgST17ZW5hYmxlZDoiRW5hYmxlZCIsZGlzYWJsZWQ6IkRpc2FibGVkIiwibm90LWNvbmZpZ3VyZWQiOiJOb3QgQ29uZmlndXJlZCIsd2FybmluZzoiV2FybmluZyJ9O3JldHVybiB3YAogICAgICA8ZGVlcy10aWxlPgogICAgICAgIDxkaXYKICAgICAgICAgIHNsb3Q9ImhlYWRlciIKICAgICAgICAgIGNsYXNzPSJzZWN0aW9uLWhlYWRlciIKICAgICAgICAgIEBjbGljaz0keygpPT57dGhpcy5jb2xsYXBzaWJsZSYmKHRoaXMuaXNDb2xsYXBzZWQ9IXRoaXMuaXNDb2xsYXBzZWQpfX0KICAgICAgICA+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItbGVmdCI+CiAgICAgICAgICAgICR7dGhpcy5pY29uP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWljb24iPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke3RoaXMuaWNvbn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10ZXh0Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItdGl0bGUiPiR7dGhpcy50aXRsZX08L2Rpdj4KICAgICAgICAgICAgICAke3RoaXMuc3VidGl0bGU/d2A8ZGl2IGNsYXNzPSJoZWFkZXItc3VidGl0bGUiPiR7dGhpcy5zdWJ0aXRsZX08L2Rpdj5gOiIifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXJpZ2h0Ij4KICAgICAgICAgICAgJHt0aGlzLnN0YXR1cz93YAogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHt0aGlzLnN0YXR1c30iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1kb3QiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICR7SVt0aGlzLnN0YXR1c118fHRoaXMuc3RhdHVzfQogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgJHt0aGlzLmNvbGxhcHNpYmxlP3dgCiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNoZXZyb24gJHt0aGlzLmlzQ29sbGFwc2VkPyJjb2xsYXBzZWQiOiIifSI+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpjaGV2cm9uRG93biJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICAke3RoaXMuZmllbGRzLmxlbmd0aD4wP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkcy1saXN0Ij4KICAgICAgICAgICAgICAke3RoaXMuZmllbGRzLm1hcChxPT50aGlzLnJlbmRlckZpZWxkKHEpKX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQogICAgICAgICAgPGRpdiBjbGFzcz0ic2xvdC1jb250ZW50ICR7dGhpcy5oYXNTbG90dGVkQ29udGVudD8iIjoiZW1wdHkifSI+CiAgICAgICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5vblNsb3RDaGFuZ2V9Pjwvc2xvdD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5saW5rcy5sZW5ndGg+MHx8dGhpcy5hY3Rpb25zLmxlbmd0aD4wP3dgCiAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9InNlY3Rpb24tZm9vdGVyIj4KICAgICAgICAgICAgJHt0aGlzLmxpbmtzLm1hcChxPT53YAogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBjbGFzcz0idGlsZS1idXR0b24iCiAgICAgICAgICAgICAgICBocmVmPSR7cS5ocmVmfQogICAgICAgICAgICAgICAgdGFyZ2V0PSR7cS5leHRlcm5hbD8iX2JsYW5rIjoiX3NlbGYifQogICAgICAgICAgICAgICAgcmVsPSR7cS5leHRlcm5hbD8ibm9vcGVuZXIgbm9yZWZlcnJlciI6IiJ9CiAgICAgICAgICAgICAgICBAY2xpY2s9JHtjZT0+Y2Uuc3RvcFByb3BhZ2F0aW9uKCl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgJHtxLmljb24/d2A8ZGVlcy1pY29uIC5pY29uPSR7cS5pY29ufT48L2RlZXMtaWNvbj5gOiIifQogICAgICAgICAgICAgICAgJHtxLmxhYmVsfQogICAgICAgICAgICAgICAgJHtxLmV4dGVybmFsP3dgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6ZXh0ZXJuYWxMaW5rIn0+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIGApfQogICAgICAgICAgICAke3RoaXMuYWN0aW9ucy5tYXAocT0+d2AKICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiBwcmltYXJ5IiBAY2xpY2s9JHtjZT0+e2NlLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQocS5ldmVudHx8ImFjdGlvbiIse2RldGFpbDpxLmRldGFpbHx8e2xhYmVsOnEubGFiZWx9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9fT4KICAgICAgICAgICAgICAgICR7cS5pY29uP3dgPGRlZXMtaWNvbiAuaWNvbj0ke3EuaWNvbn0+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICAgICAgICAgICR7cS5sYWJlbH0KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgYCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2RlZXMtdGlsZT4KICAgIGB9cmVuZGVyRmllbGQoSSl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQta2V5Ij4ke0kua2V5fTwvZGl2PgogICAgICAgIDxkaXY+CiAgICAgICAgICAke3RoaXMucmVuZGVyRmllbGRWYWx1ZShJKX0KICAgICAgICAgICR7SS5kZXNjcmlwdGlvbj93YDxkaXYgY2xhc3M9ImZpZWxkLWRlc2NyaXB0aW9uIj4ke0kuZGVzY3JpcHRpb259PC9kaXY+YDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckZpZWxkVmFsdWUoSSl7bGV0IHE9SS52YWx1ZSxjZT1JLnR5cGV8fHRoaXMuaW5mZXJUeXBlKHEpO2lmKHE9PW51bGwpcmV0dXJuIHdgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIG51bGwtdmFsdWUiPk5vdCBjb25maWd1cmVkPC9zcGFuPmA7c3dpdGNoKGNlKXtjYXNlImJvb2xlYW4iOnJldHVybiB3YAogICAgICAgICAgPHNwYW4gY2xhc3M9ImJvb2wtdmFsdWUgJHtxPyJ0cnVlIjoiZmFsc2UifSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJib29sLWRvdCI+PC9zcGFuPgogICAgICAgICAgICAke3E/IkVuYWJsZWQiOiJEaXNhYmxlZCJ9CiAgICAgICAgICA8L3NwYW4+CiAgICAgICAgYDtjYXNlInBpbGxzIjpyZXR1cm4gQXJyYXkuaXNBcnJheShxKSYmcS5sZW5ndGg9PT0wP3dgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIG51bGwtdmFsdWUiPk5vbmU8L3NwYW4+YDp3YAogICAgICAgICAgPGRpdiBjbGFzcz0icGlsbHMiPgogICAgICAgICAgICAke3EubWFwKHVlPT53YDxzcGFuIGNsYXNzPSJwaWxsIj4ke3VlfTwvc3Bhbj5gKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA7Y2FzZSJjb2RlIjpyZXR1cm4gd2A8c3BhbiBjbGFzcz0iY29kZS12YWx1ZSI+JHtTdHJpbmcocSl9PC9zcGFuPmA7Y2FzZSJiYWRnZSI6cmV0dXJuIHdgPHNwYW4gY2xhc3M9ImJhZGdlLXZhbHVlIj4ke1N0cmluZyhxKX08L3NwYW4+YDtjYXNlImxpbmsiOnJldHVybiB3YAogICAgICAgICAgPHNwYW4KICAgICAgICAgICAgY2xhc3M9ImxpbmstdmFsdWUiCiAgICAgICAgICAgIEBjbGljaz0keygpPT57SS5saW5rVG8mJnRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm5hdmlnYXRlIix7ZGV0YWlsOnt0YXJnZXQ6SS5saW5rVG99LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9fQogICAgICAgICAgPiR7U3RyaW5nKHEpfTwvc3Bhbj4KICAgICAgICBgO2RlZmF1bHQ6cmV0dXJuIHdgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIj4ke1N0cmluZyhxKX08L3NwYW4+YH19aW5mZXJUeXBlKEkpe3JldHVybiB0eXBlb2YgST09ImJvb2xlYW4iPyJib29sZWFuIjpBcnJheS5pc0FycmF5KEkpPyJwaWxscyI6InRleHQifWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxMcih0aGlzLFUpfXN0YXRpY3tMcihyLHQpfX07cmV0dXJuIG1lPXJ9KSgpfSk7dmFyIHBldCxBRyx4UmEsb3BhPWYoKCk9PntsZSgpO3BldD1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sQUc9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHhSYT0oKCk9PntsZXQgYT1baWUoInN6LWNvbmZpZy1vdmVydmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekNvbmZpZ092ZXJ2aWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0scGV0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGVhZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iaGVhZGluZyJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmhlYWRpbmcsImdldCIpLHNldDpzKCh2LHgpPT57di5oZWFkaW5nPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxwZXQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbmZvVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iaW5mb1RleHQiaW4gdiwiaGFzIiksZ2V0OnModj0+di5pbmZvVGV4dCwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LmluZm9UZXh0PXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxwZXQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1zKCgpPT53YDxzei1jb25maWctb3ZlcnZpZXcKICAgIGhlYWRpbmc9IkNvbmZpZ3VyYXRpb24iCiAgICBpbmZvVGV4dD0iVGhpcyBpcyBhIHJlYWQtb25seSB2aWV3IG9mIHRoZSBjdXJyZW50IHJ1bm5pbmcgY29uZmlndXJhdGlvbi4iCiAgPgogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogIzcxNzE3YTsgZm9udC1zaXplOiAxNHB4OyI+CiAgICAgIFBsYWNlICZsdDtzei1jb25maWctc2VjdGlvbiZndDsgZWxlbWVudHMgaGVyZQogICAgPC9kaXY+CiAgPC9zei1jb25maWctb3ZlcnZpZXc+YCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiQ29uZmlndXJhdGlvbiJdOyNlPUFHKHRoaXMsbiwiIik7Z2V0IGhlYWRpbmcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgaGVhZGluZyhtKXt0aGlzLiNlPW19I3Q9KEFHKHRoaXMsbCksQUcodGhpcyxjLCIiKSk7Z2V0IGluZm9UZXh0KCl7cmV0dXJuIHRoaXMuI3R9c2V0IGluZm9UZXh0KG0pe3RoaXMuI3Q9bX1zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuaGVhZGluZyB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuaW5mby1iYW5uZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDE0cHggMThweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2VmZjZmZiIsInJnYmEoNTksMTMwLDI0NiwwLjA4KSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2JmZGJmZSIsInJnYmEoNTksMTMwLDI0NiwwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzFlNDBhZiIsIiM5M2M1ZmQiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgIH0KCiAgICAgIC5pbmZvLWJhbm5lciBkZWVzLWljb24gewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBtYXJnaW4tdG9wOiAxcHg7CiAgICAgIH0KCiAgICAgIDo6c2xvdHRlZChzei1jb25maWctc2VjdGlvbikgewogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgIH0KCiAgICAgIDo6c2xvdHRlZChzei1jb25maWctc2VjdGlvbjpsYXN0LWNoaWxkKSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgICR7dGhpcy5oZWFkaW5nP3dgPGRpdiBjbGFzcz0iaGVhZGluZyI+JHt0aGlzLmhlYWRpbmd9PC9kaXY+YDoiIn0KICAgICAgJHt0aGlzLmluZm9UZXh0P3dgCiAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1iYW5uZXIiPgogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6aW5mbyJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+JHt0aGlzLmluZm9UZXh0fTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KICAgICAgPHNsb3Q+PC9zbG90PgogICAgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksQUcodGhpcyxwKX1zdGF0aWN7QUcocix0KX19O3JldHVybiB1PXJ9KSgpfSk7dmFyIHlSYSx3UmEsTVJhLG5wYT1mKCgpPT57bGUoKTtkbigpO3lSYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sd1JhPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxNUmE9KCgpPT57bGV0IGE9W2llKCJzei1kZW1vLXZpZXctZGFzaGJvYXJkIildLGUsdD1bXSxyLGk9cGU7dmFyIG89Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6RGVtb1ZpZXdEYXNoYm9hcmQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDt5UmEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bn0sbnVsbCx0KSxvPXI9ZS52YWx1ZSxuJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KX1hcHB1aT1udWxsO2FzeW5jIG9uQWN0aXZhdGUobil7dGhpcy5hcHB1aT1uLmFwcHVpLHRoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiRGFzaGJvYXJkIixncm91cHM6W3tuYW1lOiJRdWljayBBY3Rpb25zIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJEZXBsb3kgU2VydmljZSIsaWNvbk5hbWU6Imx1Y2lkZTpSb2NrZXQiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkRlcGxveSBzZXJ2aWNlIil9LCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJBZGQgRG9tYWluIixpY29uTmFtZToibHVjaWRlOkdsb2JlIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJBZGQgZG9tYWluIil9LCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJDcmVhdGUgVG9rZW4iLGljb25OYW1lOiJsdWNpZGU6S2V5IixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJDcmVhdGUgdG9rZW4iKX0sImFjdGlvbiIpfV19LHtuYW1lOiJTeXN0ZW0iLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IlJlZnJlc2ggU3RhdHMiLGljb25OYW1lOiJsdWNpZGU6UmVmcmVzaEN3IixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJSZWZyZXNoIil9LCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJWaWV3IExvZ3MiLGljb25OYW1lOiJsdWNpZGU6VGVybWluYWwiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIlZpZXcgbG9ncyIpfSwiYWN0aW9uIil9XX1dfSl9b25EZWFjdGl2YXRlKCl7fXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAucGFnZS1oZWFkZXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5wYWdlLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG1hcmdpbjogMCAwIDhweCAwOwogICAgICB9CgogICAgICAucGFnZS1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0icGFnZS1oZWFkZXIiPgogICAgICAgIDxoMSBjbGFzcz0icGFnZS10aXRsZSI+RGFzaGJvYXJkPC9oMT4KICAgICAgICA8cCBjbGFzcz0icGFnZS1zdWJ0aXRsZSI+T3ZlcnZpZXcgb2YgeW91ciBvbmVib3ggaW5mcmFzdHJ1Y3R1cmU8L3A+CiAgICAgIDwvZGl2PgoKICAgICAgPHN6LWRhc2hib2FyZC12aWV3CiAgICAgICAgLmNsdXN0ZXJTdGF0cz0ke3t0b3RhbFNlcnZpY2VzOjEyLHJ1bm5pbmc6OSxzdG9wcGVkOjMsZG9ja2VyU3RhdHVzOiJydW5uaW5nIn19CiAgICAgICAgLnJlc291cmNlVXNhZ2U9JHt7Y3B1OjQ1LG1lbW9yeVVzZWQ6IjYuMiBHQiIsbWVtb3J5VG90YWw6IjE2IEdCIixuZXR3b3JrSW46IjIuNSBNQi9zIixuZXR3b3JrT3V0OiIxLjIgTUIvcyIsdG9wQ29uc3VtZXJzOlt7bmFtZToibW9uZ29kYiIsbWVtb3J5OiIxLjIgR0IifSx7bmFtZToiY2xpY2tob3VzZSIsbWVtb3J5OiI5ODAgTUIifSx7bmFtZToibmdpbngtcHJveHkiLG1lbW9yeToiMjU2IE1CIn1dfX0KICAgICAgICAucGxhdGZvcm1TZXJ2aWNlcz0ke1t7bmFtZToiTW9uZ29EQiIsc3RhdHVzOiJydW5uaW5nIixpY29uOiJkYXRhYmFzZSJ9LHtuYW1lOiJTMyBTdG9yYWdlIixzdGF0dXM6InJ1bm5pbmciLGljb246InN0b3JhZ2UifSx7bmFtZToiQ2xpY2tIb3VzZSIsc3RhdHVzOiJzdG9wcGVkIixpY29uOiJhbmFseXRpY3MifSx7bmFtZToiUmVkaXMgQ2FjaGUiLHN0YXR1czoicnVubmluZyIsaWNvbjoiY2FjaGUifV19CiAgICAgICAgLnRyYWZmaWM9JHt7cmVxdWVzdHM6MTU0MjAsZXJyb3JzOjIzLGVycm9yUGVyY2VudDouMTUsYXZnUmVzcG9uc2U6MTQ1LHJlcVBlck1pbjo4NTYsc3RhdHVzMnh4OjE0ODUwLHN0YXR1czN4eDozMjAsc3RhdHVzNHh4OjIyNyxzdGF0dXM1eHg6MjN9fQogICAgICAgIC5wcm94eT0ke3todHRwUG9ydDoiODAiLGh0dHBzUG9ydDoiNDQzIixodHRwQWN0aXZlOiEwLGh0dHBzQWN0aXZlOiEwLHJvdXRlQ291bnQ6IjI0In19CiAgICAgICAgLmNlcnRpZmljYXRlcz0ke3t2YWxpZDoxOCxleHBpcmluZzoyLGV4cGlyZWQ6MH19CiAgICAgICAgLmRucz0ke3tyZWNvcmRzOjQ1LHpvbmVzOjgscGVuZGluZ0NoYW5nZXM6MH19CiAgICAgICAgLnNzbD0ke3thY3RpdmVDZXJ0czoyMCxhdXRvUmVuZXc6ITAscHJvdmlkZXI6IkxldCdzIEVuY3J5cHQifX0KICAgICAgICBAcXVpY2stYWN0aW9uPSR7bj0+Y29uc29sZS5sb2coIlF1aWNrIGFjdGlvbjoiLG4uZGV0YWlsKX0KICAgICAgPjwvc3otZGFzaGJvYXJkLXZpZXc+CiAgICBgfXN0YXRpY3t3UmEocix0KX19O3JldHVybiBvPXJ9KSgpfSk7dmFyIE1pZSxJNSxrUmEsbHBhPWYoKCk9PntsZSgpO2RuKCk7TWllPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxJNT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sa1JhPSgoKT0+e2xldCBhPVtpZSgic3otZGVtby12aWV3LXNlcnZpY2VzIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6RGVtb1ZpZXdTZXJ2aWNlcyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZD1bSygpXSx1PVtLKCldLE1pZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRWaWV3IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJjdXJyZW50VmlldyJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLmN1cnJlbnRWaWV3LCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuY3VycmVudFZpZXc9eX0sInNldCIpfSxtZXRhZGF0YTpifSxuLGwpLE1pZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkU2VydmljZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4ic2VsZWN0ZWRTZXJ2aWNlImluIGcsImhhcyIpLGdldDpzKGc9Pmcuc2VsZWN0ZWRTZXJ2aWNlLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuc2VsZWN0ZWRTZXJ2aWNlPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sYyxwKSxNaWUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFBsYXRmb3JtU2VydmljZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4ic2VsZWN0ZWRQbGF0Zm9ybVNlcnZpY2UiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5zZWxlY3RlZFBsYXRmb3JtU2VydmljZSwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnNlbGVjdGVkUGxhdGZvcm1TZXJ2aWNlPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSxNaWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1hcHB1aT1udWxsOyNlPUk1KHRoaXMsbiwibGlzdCIpO2dldCBjdXJyZW50Vmlldygpe3JldHVybiB0aGlzLiNlfXNldCBjdXJyZW50VmlldyhiKXt0aGlzLiNlPWJ9I3Q9KEk1KHRoaXMsbCksSTUodGhpcyxjLG51bGwpKTtnZXQgc2VsZWN0ZWRTZXJ2aWNlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlbGVjdGVkU2VydmljZShiKXt0aGlzLiN0PWJ9I2E9KEk1KHRoaXMscCksSTUodGhpcyxtLG51bGwpKTtnZXQgc2VsZWN0ZWRQbGF0Zm9ybVNlcnZpY2UoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2VsZWN0ZWRQbGF0Zm9ybVNlcnZpY2UoYil7dGhpcy4jYT1ifWRlbW9TZXJ2aWNlcz0oSTUodGhpcyx2KSxbe2lkOiIxIixuYW1lOiJuZ2lueC1wcm94eSIsaW1hZ2U6Im5naW54OmxhdGVzdCIsc3RhdHVzOiJydW5uaW5nIixjcHU6IjIuNSUiLG1lbW9yeToiMjU2IE1CIixwb3J0czoiODAsIDQ0MyIsdXB0aW1lOiI1ZCAxMmgifSx7aWQ6IjIiLG5hbWU6ImFwaS1nYXRld2F5IixpbWFnZToiYXBpLWdhdGV3YXk6djIuMS4wIixzdGF0dXM6InJ1bm5pbmciLGNwdToiOC4yJSIsbWVtb3J5OiI1MTIgTUIiLHBvcnRzOiIzMDAwIix1cHRpbWU6IjNkIDhoIn0se2lkOiIzIixuYW1lOiJ3b3JrZXItc2VydmljZSIsaW1hZ2U6IndvcmtlcjpsYXRlc3QiLHN0YXR1czoic3RvcHBlZCIsY3B1OiIwJSIsbWVtb3J5OiIwIE1CIixwb3J0czoiLSIsdXB0aW1lOiItIn0se2lkOiI0IixuYW1lOiJyZWRpcy1jYWNoZSIsaW1hZ2U6InJlZGlzOjctYWxwaW5lIixzdGF0dXM6InJ1bm5pbmciLGNwdToiMS4yJSIsbWVtb3J5OiIxMjggTUIiLHBvcnRzOiI2Mzc5Iix1cHRpbWU6IjEwZCA0aCJ9XSk7ZGVtb1BsYXRmb3JtU2VydmljZT17aWQ6IjEiLG5hbWU6Ik1vbmdvREIiLHR5cGU6Im1vbmdvZGIiLHN0YXR1czoicnVubmluZyIsdmVyc2lvbjoiNy4wLjQiLGhvc3Q6ImxvY2FsaG9zdCIscG9ydDoyNzAxNyxjcmVkZW50aWFsczp7dXNlcm5hbWU6ImFkbWluIixwYXNzd29yZDoiXHUyMDIyXHUyMDIyXHUyMDIyXHUyMDIyXHUyMDIyXHUyMDIyXHUyMDIyXHUyMDIyIn0sY29uZmlnOntyZXBsaWNhU2V0OiJyczAiLGF1dGhFbmFibGVkOiEwLGpvdXJuYWxpbmc6ITB9LG1ldHJpY3M6e2NwdToxMixtZW1vcnk6NDUsc3RvcmFnZToyMyxjb25uZWN0aW9uczo4fX07ZGVtb1BsYXRmb3JtTG9ncz1be3RpbWVzdGFtcDoiMjAyNC0wMS0yMCAxNDozMDoyMiIsbGV2ZWw6ImluZm8iLG1lc3NhZ2U6IkNvbm5lY3Rpb24gYWNjZXB0ZWQgZnJvbSAxMjcuMC4wLjE6NTQzMjEifSx7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjIwIixsZXZlbDoiaW5mbyIsbWVzc2FnZToiSW5kZXggYnVpbGQgY29tcGxldGVkIG9uIGNvbGxlY3Rpb24gdXNlcnMifSx7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjE1IixsZXZlbDoid2FybiIsbWVzc2FnZToiU2xvdyBxdWVyeSBkZXRlY3RlZDogMS4ycyBvbiBjb2xsZWN0aW9uIG9yZGVycyJ9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MTAiLGxldmVsOiJpbmZvIixtZXNzYWdlOiJDaGVja3BvaW50IGNvbXBsZXRlIn1dO2RlbW9CYWNrdXBTY2hlZHVsZXM9W3tpZDoiMSIsc2NvcGU6IkFsbCBTZXJ2aWNlcyIscmV0ZW50aW9uOiJEOjcsIFc6NCwgTToxMiIsc2NoZWR1bGU6IjAgMiAqICogKiIsbGFzdFJ1bjoiMS8yLzIwMjYsIDI6MDA6MDMgQU0iLG5leHRSdW46IjEvMy8yMDI2LCAyOjAwOjAwIEFNIixzdGF0dXM6ImFjdGl2ZSJ9XTtkZW1vQmFja3Vwcz1be2lkOiIxIixzZXJ2aWNlOiJuZ2lueC1wcm94eSIsY3JlYXRlZEF0OiIxLzIvMjAyNiwgMjowMDowMyBBTSIsc2l6ZToiMjIuMCBNQiIsaW5jbHVkZXM6WyJJbWFnZSJdfSx7aWQ6IjIiLHNlcnZpY2U6ImFwaS1nYXRld2F5IixjcmVhdGVkQXQ6IjEvMi8yMDI2LCAyOjAwOjAyIEFNIixzaXplOiIxNTYuNSBNQiIsaW5jbHVkZXM6WyJJbWFnZSIsIlZvbHVtZXMiXX0se2lkOiIzIixzZXJ2aWNlOiJyZWRpcy1jYWNoZSIsY3JlYXRlZEF0OiIxLzIvMjAyNiwgMjowMDowMCBBTSIsc2l6ZToiNDguMCBNQiIsaW5jbHVkZXM6WyJJbWFnZSIsIkRhdGEiXX1dO3N0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAucGFnZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItaW5mbyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAucGFnZS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC5wYWdlLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDE0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzE4MTgxYiIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAwLjk7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnNlY29uZGFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLnRhYnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIHBhZGRpbmctYm90dG9tOiAwOwogICAgICB9CgogICAgICAudGFiIHsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAudGFiOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAudGFiLmFjdGl2ZSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnRhYi5hY3RpdmU6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAtMXB4OwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgaGVpZ2h0OiAycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDFweCAxcHggMCAwOwogICAgICB9CgogICAgICAuYmFjay1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmJhY2stYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgICR7dGhpcy5jdXJyZW50Vmlldz09PSJsaXN0Ij90aGlzLnJlbmRlckxpc3RWaWV3KCk6IiJ9CiAgICAgICR7dGhpcy5jdXJyZW50Vmlldz09PSJjcmVhdGUiP3RoaXMucmVuZGVyQ3JlYXRlVmlldygpOiIifQogICAgICAke3RoaXMuY3VycmVudFZpZXc9PT0iZGV0YWlsIj90aGlzLnJlbmRlckRldGFpbFZpZXcoKToiIn0KICAgICAgJHt0aGlzLmN1cnJlbnRWaWV3PT09ImJhY2t1cHMiP3RoaXMucmVuZGVyQmFja3Vwc1ZpZXcoKToiIn0KICAgICAgJHt0aGlzLmN1cnJlbnRWaWV3PT09InBsYXRmb3JtLWRldGFpbCI/dGhpcy5yZW5kZXJQbGF0Zm9ybURldGFpbFZpZXcoKToiIn0KICAgIGB9cmVuZGVyTGlzdFZpZXcoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0icGFnZS1oZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1pbmZvIj4KICAgICAgICAgIDxoMSBjbGFzcz0icGFnZS10aXRsZSI+U2VydmljZXM8L2gxPgogICAgICAgICAgPHAgY2xhc3M9InBhZ2Utc3VidGl0bGUiPk1hbmFnZSB5b3VyIERvY2tlciBjb250YWluZXJzIGFuZCBwbGF0Zm9ybSBzZXJ2aWNlczwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItYWN0aW9ucyI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIHNlY29uZGFyeSIgQGNsaWNrPSR7KCk9PnRoaXMuY3VycmVudFZpZXc9ImJhY2t1cHMifT4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQiLz4KICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNyA4IDEyIDMgNyA4Ii8+CiAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMyIgeDI9IjEyIiB5Mj0iMTUiLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIEJhY2t1cHMKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY3VycmVudFZpZXc9ImNyZWF0ZSJ9PgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSIvPgogICAgICAgICAgICAgIDxsaW5lIHgxPSI1IiB5MT0iMTIiIHgyPSIxOSIgeTI9IjEyIi8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBEZXBsb3kgU2VydmljZQogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0idGFicyI+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGFiIGFjdGl2ZSI+RG9ja2VyIFNlcnZpY2VzPC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGFiIiBAY2xpY2s9JHsoKT0+e3RoaXMuc2VsZWN0ZWRQbGF0Zm9ybVNlcnZpY2U9dGhpcy5kZW1vUGxhdGZvcm1TZXJ2aWNlLHRoaXMuY3VycmVudFZpZXc9InBsYXRmb3JtLWRldGFpbCJ9fT5QbGF0Zm9ybSBTZXJ2aWNlczwvYnV0dG9uPgogICAgICA8L2Rpdj4KCiAgICAgIDxzei1zZXJ2aWNlcy1saXN0LXZpZXcKICAgICAgICAuc2VydmljZXM9JHt0aGlzLmRlbW9TZXJ2aWNlc30KICAgICAgICBAdmlldy1zZXJ2aWNlPSR7Yj0+e3RoaXMuc2VsZWN0ZWRTZXJ2aWNlPWIuZGV0YWlsLHRoaXMuY3VycmVudFZpZXc9ImRldGFpbCJ9fQogICAgICAgIEBzdGFydC1zZXJ2aWNlPSR7Yj0+Y29uc29sZS5sb2coIlN0YXJ0IHNlcnZpY2U6IixiLmRldGFpbCl9CiAgICAgICAgQHN0b3Atc2VydmljZT0ke2I9PmNvbnNvbGUubG9nKCJTdG9wIHNlcnZpY2U6IixiLmRldGFpbCl9CiAgICAgICAgQHJlc3RhcnQtc2VydmljZT0ke2I9PmNvbnNvbGUubG9nKCJSZXN0YXJ0IHNlcnZpY2U6IixiLmRldGFpbCl9CiAgICAgICAgQGRlbGV0ZS1zZXJ2aWNlPSR7Yj0+Y29uc29sZS5sb2coIkRlbGV0ZSBzZXJ2aWNlOiIsYi5kZXRhaWwpfQogICAgICA+PC9zei1zZXJ2aWNlcy1saXN0LXZpZXc+CiAgICBgfXJlbmRlckNyZWF0ZVZpZXcoKXtyZXR1cm4gd2AKICAgICAgPGJ1dHRvbiBjbGFzcz0iYmFjay1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmN1cnJlbnRWaWV3PSJsaXN0In0+CiAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiLz4KICAgICAgICA8L3N2Zz4KICAgICAgICBCYWNrIHRvIFNlcnZpY2VzCiAgICAgIDwvYnV0dG9uPgoKICAgICAgPHN6LXNlcnZpY2UtY3JlYXRlLXZpZXcKICAgICAgICAucmVnaXN0cmllcz0ke1t7aWQ6IjEiLG5hbWU6Ik9uZWJveCBSZWdpc3RyeSIsdXJsOiJyZWdpc3RyeS5vbmVib3gubG9jYWwifSx7aWQ6IjIiLG5hbWU6IkRvY2tlciBIdWIiLHVybDoiZG9ja2VyLmlvIn1dfQogICAgICAgIEBjcmVhdGUtc2VydmljZT0ke2I9Pntjb25zb2xlLmxvZygiQ3JlYXRlIHNlcnZpY2U6IixiLmRldGFpbCksdGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9fQogICAgICAgIEBjYW5jZWw9JHsoKT0+dGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9CiAgICAgID48L3N6LXNlcnZpY2UtY3JlYXRlLXZpZXc+CiAgICBgfXJlbmRlckRldGFpbFZpZXcoKXtyZXR1cm4gd2AKICAgICAgPGJ1dHRvbiBjbGFzcz0iYmFjay1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmN1cnJlbnRWaWV3PSJsaXN0In0+CiAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiLz4KICAgICAgICA8L3N2Zz4KICAgICAgICBCYWNrIHRvIFNlcnZpY2VzCiAgICAgIDwvYnV0dG9uPgoKICAgICAgPHN6LXNlcnZpY2UtZGV0YWlsLXZpZXcKICAgICAgICAuc2VydmljZT0ke3tpZDp0aGlzLnNlbGVjdGVkU2VydmljZT8uaWR8fCIxIixuYW1lOnRoaXMuc2VsZWN0ZWRTZXJ2aWNlPy5uYW1lfHwibmdpbngtcHJveHkiLGltYWdlOnRoaXMuc2VsZWN0ZWRTZXJ2aWNlPy5pbWFnZXx8Im5naW54OmxhdGVzdCIsc3RhdHVzOnRoaXMuc2VsZWN0ZWRTZXJ2aWNlPy5zdGF0dXN8fCJydW5uaW5nIixwb3J0czpbe2hvc3Q6IjgwIixjb250YWluZXI6IjgwIn0se2hvc3Q6IjQ0MyIsY29udGFpbmVyOiI0NDMifV0sZW52VmFyczpbe2tleToiTkdJTlhfSE9TVCIsdmFsdWU6ImxvY2FsaG9zdCJ9LHtrZXk6Ik5HSU5YX1BPUlQiLHZhbHVlOiI4MCJ9XSx2b2x1bWVzOlt7aG9zdDoiL2RhdGEvbmdpbngvY29uZiIsY29udGFpbmVyOiIvZXRjL25naW54L2NvbmYuZCJ9XSxjcmVhdGVkQXQ6IjIwMjQtMDEtMTUgMTA6MzA6MDAiLHJlc3RhcnRQb2xpY3k6ImFsd2F5cyJ9fQogICAgICAgIC5sb2dzPSR7W3t0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MjIiLGxldmVsOiJpbmZvIixtZXNzYWdlOicxMjcuMC4wLjEgLSAtIFsyMC9KYW4vMjAyNDoxNDozMDoyMiArMDAwMF0gIkdFVCAvIEhUVFAvMS4xIiAyMDAgNjEyJ30se3RpbWVzdGFtcDoiMjAyNC0wMS0yMCAxNDozMDoyMSIsbGV2ZWw6ImluZm8iLG1lc3NhZ2U6JzEyNy4wLjAuMSAtIC0gWzIwL0phbi8yMDI0OjE0OjMwOjIxICswMDAwXSAiR0VUIC9hcGkvaGVhbHRoIEhUVFAvMS4xIiAyMDAgMTUnfSx7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjIwIixsZXZlbDoid2FybiIsbWVzc2FnZToidXBzdHJlYW0gdGltZWQgb3V0ICgxMTA6IENvbm5lY3Rpb24gdGltZWQgb3V0KSJ9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MTkiLGxldmVsOiJpbmZvIixtZXNzYWdlOicxMjcuMC4wLjEgLSAtIFsyMC9KYW4vMjAyNDoxNDozMDoxOSArMDAwMF0gIlBPU1QgL2FwaS9kYXRhIEhUVFAvMS4xIiAyMDEgODknfV19CiAgICAgICAgQHN0YXJ0PSR7KCk9PmNvbnNvbGUubG9nKCJTdGFydCIpfQogICAgICAgIEBzdG9wPSR7KCk9PmNvbnNvbGUubG9nKCJTdG9wIil9CiAgICAgICAgQHJlc3RhcnQ9JHsoKT0+Y29uc29sZS5sb2coIlJlc3RhcnQiKX0KICAgICAgICBAcmVxdWVzdC13b3Jrc3BhY2U9JHtiPT5jb25zb2xlLmxvZygiV29ya3NwYWNlIHJlcXVlc3RlZCBmb3I6IixiLmRldGFpbC5zZXJ2aWNlLm5hbWUpfQogICAgICA+PC9zei1zZXJ2aWNlLWRldGFpbC12aWV3PgogICAgYH1yZW5kZXJCYWNrdXBzVmlldygpe3JldHVybiB3YAogICAgICA8YnV0dG9uIGNsYXNzPSJiYWNrLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY3VycmVudFZpZXc9Imxpc3QifT4KICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiIvPgogICAgICAgIDwvc3ZnPgogICAgICAgIEJhY2sgdG8gU2VydmljZXMKICAgICAgPC9idXR0b24+CgogICAgICA8ZGl2IGNsYXNzPSJwYWdlLWhlYWRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWluZm8iPgogICAgICAgICAgPGgxIGNsYXNzPSJwYWdlLXRpdGxlIj5CYWNrdXBzPC9oMT4KICAgICAgICAgIDxwIGNsYXNzPSJwYWdlLXN1YnRpdGxlIj5NYW5hZ2UgYmFja3VwIHNjaGVkdWxlcyBhbmQgcmVzdG9yZSBwb2ludHM8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPHN6LXNlcnZpY2VzLWJhY2t1cHMtdmlldwogICAgICAgIC5zY2hlZHVsZXM9JHt0aGlzLmRlbW9CYWNrdXBTY2hlZHVsZXN9CiAgICAgICAgLmJhY2t1cHM9JHt0aGlzLmRlbW9CYWNrdXBzfQogICAgICAgIEBjcmVhdGUtc2NoZWR1bGU9JHsoKT0+Y29uc29sZS5sb2coIkNyZWF0ZSBzY2hlZHVsZSIpfQogICAgICAgIEBydW4tbm93PSR7Yj0+Y29uc29sZS5sb2coIlJ1biBub3c6IixiLmRldGFpbCl9CiAgICAgICAgQGRvd25sb2FkPSR7Yj0+Y29uc29sZS5sb2coIkRvd25sb2FkOiIsYi5kZXRhaWwpfQogICAgICA+PC9zei1zZXJ2aWNlcy1iYWNrdXBzLXZpZXc+CiAgICBgfXJlbmRlclBsYXRmb3JtRGV0YWlsVmlldygpe3JldHVybiB3YAogICAgICA8YnV0dG9uIGNsYXNzPSJiYWNrLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY3VycmVudFZpZXc9Imxpc3QifT4KICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiIvPgogICAgICAgIDwvc3ZnPgogICAgICAgIEJhY2sgdG8gU2VydmljZXMKICAgICAgPC9idXR0b24+CgogICAgICA8c3otcGxhdGZvcm0tc2VydmljZS1kZXRhaWwtdmlldwogICAgICAgIC5zZXJ2aWNlPSR7dGhpcy5kZW1vUGxhdGZvcm1TZXJ2aWNlfQogICAgICAgIC5sb2dzPSR7dGhpcy5kZW1vUGxhdGZvcm1Mb2dzfQogICAgICAgIEBzdGFydD0keygpPT5jb25zb2xlLmxvZygiU3RhcnQiKX0KICAgICAgICBAc3RvcD0keygpPT5jb25zb2xlLmxvZygiU3RvcCIpfQogICAgICAgIEByZXN0YXJ0PSR7KCk9PmNvbnNvbGUubG9nKCJSZXN0YXJ0Iil9CiAgICAgID48L3N6LXBsYXRmb3JtLXNlcnZpY2UtZGV0YWlsLXZpZXc+CiAgICBgfWFzeW5jIG9uQWN0aXZhdGUoYil7dGhpcy5hcHB1aT1iLmFwcHVpLHRoaXMuYXBwdWkuc2V0Q29udGVudFRhYnMoW3trZXk6IkRvY2tlciBTZXJ2aWNlcyIsYWN0aW9uOnMoKCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJsaXN0Iix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfSx7a2V5OiJQbGF0Zm9ybSBTZXJ2aWNlcyIsYWN0aW9uOnMoKCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJwbGF0Zm9ybS1kZXRhaWwiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfSwiYWN0aW9uIil9LHtrZXk6IkJhY2t1cHMiLGFjdGlvbjpzKCgpPT57dGhpcy5jdXJyZW50Vmlldz0iYmFja3VwcyIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX1dKSx0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX11cGRhdGVTZWNvbmRhcnlNZW51KCl7dGhpcy5hcHB1aSYmdGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJTZXJ2aWNlcyIsZ3JvdXBzOlt7bmFtZToiQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiRGVwbG95IFNlcnZpY2UiLGljb25OYW1lOiJsdWNpZGU6UGx1cyIsYWN0aW9uOnMoKCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJjcmVhdGUifSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiUmVmcmVzaCIsaWNvbk5hbWU6Imx1Y2lkZTpSZWZyZXNoQ3ciLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIlJlZnJlc2giKX0sImFjdGlvbiIpfV19LHtuYW1lOiJRdWljayBGaWx0ZXJzIixpdGVtczpbe2tleToiUnVubmluZyIsaWNvbk5hbWU6Imx1Y2lkZTpQbGF5IixiYWRnZToiMyIsYmFkZ2VWYXJpYW50OiJzdWNjZXNzIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJGaWx0ZXIgcnVubmluZyIpfSwiYWN0aW9uIil9LHtrZXk6IlN0b3BwZWQiLGljb25OYW1lOiJsdWNpZGU6U3F1YXJlIixiYWRnZToiMSIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiRmlsdGVyIHN0b3BwZWQiKX0sImFjdGlvbiIpfV19XX0pfW9uRGVhY3RpdmF0ZSgpe31zdGF0aWN7STUocix0KX19O3JldHVybiB4PXJ9KSgpfSk7dmFyIGZldCxFRyxTUmEsY3BhPWYoKCk9PntsZSgpO2RuKCk7ZmV0PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxFRz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sU1JhPSgoKT0+e2xldCBhPVtpZSgic3otZGVtby12aWV3LW5ldHdvcmsiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pEZW1vVmlld05ldHdvcmsiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVtLKCldLGQ9W0soKV0sZmV0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFRhYiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iY3VycmVudFRhYiJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmN1cnJlbnRUYWIsImdldCIpLHNldDpzKCh2LHgpPT57di5jdXJyZW50VGFiPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxmZXQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZERvbWFpbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4ic2VsZWN0ZWREb21haW4iaW4gdiwiaGFzIiksZ2V0OnModj0+di5zZWxlY3RlZERvbWFpbiwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnNlbGVjdGVkRG9tYWluPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxmZXQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1hcHB1aT1udWxsOyNlPUVHKHRoaXMsbiwicHJveHkiKTtnZXQgY3VycmVudFRhYigpe3JldHVybiB0aGlzLiNlfXNldCBjdXJyZW50VGFiKG0pe3RoaXMuI2U9bX1hc3luYyBvbkFjdGl2YXRlKG0pe3RoaXMuYXBwdWk9bS5hcHB1aSx0aGlzLmFwcHVpLnNldENvbnRlbnRUYWJzKFt7a2V5OiJSZXZlcnNlIFByb3h5IixhY3Rpb246cygoKT0+e3RoaXMuY3VycmVudFRhYj0icHJveHkiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfSwiYWN0aW9uIil9LHtrZXk6IkROUyBSZWNvcmRzIixhY3Rpb246cygoKT0+e3RoaXMuY3VycmVudFRhYj0iZG5zIix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfSx7a2V5OiJEb21haW5zIixhY3Rpb246cygoKT0+e3RoaXMuY3VycmVudFRhYj0iZG9tYWlucyIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX1dKSx0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX11cGRhdGVTZWNvbmRhcnlNZW51KCl7dGhpcy5hcHB1aSYmKHRoaXMuY3VycmVudFRhYj09PSJwcm94eSI/dGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJSZXZlcnNlIFByb3h5Iixncm91cHM6W3tuYW1lOiJBY3Rpb25zIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJBZGQgUm91dGUiLGljb25OYW1lOiJsdWNpZGU6UGx1cyIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiQWRkIHJvdXRlIil9LCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJSZWZyZXNoIixpY29uTmFtZToibHVjaWRlOlJlZnJlc2hDdyIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiUmVmcmVzaCIpfSwiYWN0aW9uIil9XX0se25hbWU6IlN0YXRpc3RpY3MiLGl0ZW1zOlt7dHlwZToiaGVhZGVyIixsYWJlbDoiNDIgQWN0aXZlIENvbm5lY3Rpb25zIn0se3R5cGU6ImhlYWRlciIsbGFiZWw6IjE1LDQyMCBSZXF1ZXN0cyBUb2RheSJ9XX1dfSk6dGhpcy5jdXJyZW50VGFiPT09ImRucyI/dGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJETlMgUmVjb3JkcyIsZ3JvdXBzOlt7bmFtZToiQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiQWRkIFJlY29yZCIsaWNvbk5hbWU6Imx1Y2lkZTpQbHVzIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJBZGQgcmVjb3JkIil9LCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJJbXBvcnQgWm9uZSIsaWNvbk5hbWU6Imx1Y2lkZTpVcGxvYWQiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkltcG9ydCB6b25lIil9LCJhY3Rpb24iKX1dfSx7bmFtZToiWm9uZXMiLGl0ZW1zOlt7a2V5OiJleGFtcGxlLmNvbSIsaWNvbk5hbWU6Imx1Y2lkZTpHbG9iZSIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiU2VsZWN0IGV4YW1wbGUuY29tIil9LCJhY3Rpb24iKX0se2tleToiZXhhbXBsZS5uZXQiLGljb25OYW1lOiJsdWNpZGU6R2xvYmUiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIlNlbGVjdCBleGFtcGxlLm5ldCIpfSwiYWN0aW9uIil9LHtrZXk6Im15YXBwLmlvIixpY29uTmFtZToibHVjaWRlOkdsb2JlIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJTZWxlY3QgbXlhcHAuaW8iKX0sImFjdGlvbiIpfV19XX0pOih0aGlzLmN1cnJlbnRUYWI9PT0iZG9tYWlucyJ8fHRoaXMuY3VycmVudFRhYj09PSJkb21haW4tZGV0YWlsIikmJnRoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiRG9tYWlucyIsZ3JvdXBzOlt7bmFtZToiQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiQWRkIERvbWFpbiIsaWNvbk5hbWU6Imx1Y2lkZTpQbHVzIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJBZGQgZG9tYWluIil9LCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJWZXJpZnkgQWxsIixpY29uTmFtZToibHVjaWRlOkNoZWNrQ2lyY2xlIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJWZXJpZnkgYWxsIil9LCJhY3Rpb24iKX1dfSx7bmFtZToiQ2VydGlmaWNhdGVzIixpdGVtczpbe2tleToiVmFsaWQiLGljb25OYW1lOiJsdWNpZGU6U2hpZWxkQ2hlY2siLGJhZGdlOiIzIixiYWRnZVZhcmlhbnQ6InN1Y2Nlc3MiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkZpbHRlciB2YWxpZCIpfSwiYWN0aW9uIil9LHtrZXk6IkV4cGlyaW5nIFNvb24iLGljb25OYW1lOiJsdWNpZGU6QWxlcnRUcmlhbmdsZSIsYmFkZ2U6IjEiLGJhZGdlVmFyaWFudDoid2FybmluZyIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiRmlsdGVyIGV4cGlyaW5nIil9LCJhY3Rpb24iKX1dfV19KSl9b25EZWFjdGl2YXRlKCl7fSN0PShFRyh0aGlzLGwpLEVHKHRoaXMsYyxudWxsKSk7Z2V0IHNlbGVjdGVkRG9tYWluKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlbGVjdGVkRG9tYWluKG0pe3RoaXMuI3Q9bX1kZW1vUHJveHlSb3V0ZXM9KEVHKHRoaXMscCksW3tpZDoiMSIsZG9tYWluOiJhcGkuZXhhbXBsZS5jb20iLHRhcmdldDoiaHR0cDovL2FwaS1nYXRld2F5OjMwMDAiLHNzbDohMCxzdGF0dXM6ImFjdGl2ZSJ9LHtpZDoiMiIsZG9tYWluOiJhcHAuZXhhbXBsZS5jb20iLHRhcmdldDoiaHR0cDovL2Zyb250ZW5kOjgwODAiLHNzbDohMCxzdGF0dXM6ImFjdGl2ZSJ9LHtpZDoiMyIsZG9tYWluOiJhZG1pbi5leGFtcGxlLmNvbSIsdGFyZ2V0OiJodHRwOi8vYWRtaW4tcGFuZWw6NDAwMCIsc3NsOiEwLHN0YXR1czoiYWN0aXZlIn0se2lkOiI0Iixkb21haW46ImxlZ2FjeS5leGFtcGxlLmNvbSIsdGFyZ2V0OiJodHRwOi8vbGVnYWN5OjUwMDAiLHNzbDohMSxzdGF0dXM6ImluYWN0aXZlIn1dKTtkZW1vQWNjZXNzTG9ncz1be3RpbWVzdGFtcDoiMTQ6MzA6MjIiLG1ldGhvZDoiR0VUIixwYXRoOiIvYXBpL3VzZXJzIixzdGF0dXM6MjAwLGR1cmF0aW9uOiI0NW1zIixpcDoiMTkyLjE2OC4xLjEwMCJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixtZXRob2Q6IlBPU1QiLHBhdGg6Ii9hcGkvb3JkZXJzIixzdGF0dXM6MjAxLGR1cmF0aW9uOiIxMjBtcyIsaXA6IjE5Mi4xNjguMS4xMDUifSx7dGltZXN0YW1wOiIxNDozMDoyMCIsbWV0aG9kOiJHRVQiLHBhdGg6Ii9hcGkvcHJvZHVjdHMiLHN0YXR1czoyMDAsZHVyYXRpb246Ijg5bXMiLGlwOiIxOTIuMTY4LjEuMTAwIn0se3RpbWVzdGFtcDoiMTQ6MzA6MTkiLG1ldGhvZDoiREVMRVRFIixwYXRoOiIvYXBpL2NhY2hlIixzdGF0dXM6MjA0LGR1cmF0aW9uOiIxMm1zIixpcDoiMTkyLjE2OC4xLjUwIn0se3RpbWVzdGFtcDoiMTQ6MzA6MTgiLG1ldGhvZDoiR0VUIixwYXRoOiIvaGVhbHRoIixzdGF0dXM6MjAwLGR1cmF0aW9uOiI1bXMiLGlwOiIxMC4wLjAuMSJ9XTtkZW1vRG5zUmVjb3Jkcz1be2lkOiIxIix0eXBlOiJBIixuYW1lOiJAIix2YWx1ZToiMTkyLjE2OC4xLjEwMCIsdHRsOjM2MDAsem9uZToiZXhhbXBsZS5jb20ifSx7aWQ6IjIiLHR5cGU6IkEiLG5hbWU6ImFwaSIsdmFsdWU6IjE5Mi4xNjguMS4xMDAiLHR0bDozNjAwLHpvbmU6ImV4YW1wbGUuY29tIn0se2lkOiIzIix0eXBlOiJDTkFNRSIsbmFtZToid3d3Iix2YWx1ZToiZXhhbXBsZS5jb20iLHR0bDozNjAwLHpvbmU6ImV4YW1wbGUuY29tIn0se2lkOiI0Iix0eXBlOiJNWCIsbmFtZToiQCIsdmFsdWU6Im1haWwuZXhhbXBsZS5jb20iLHR0bDozNjAwLHpvbmU6ImV4YW1wbGUuY29tIixwcmlvcml0eToxMH0se2lkOiI1Iix0eXBlOiJUWFQiLG5hbWU6IkAiLHZhbHVlOiJ2PXNwZjEgaW5jbHVkZTpfc3BmLmV4YW1wbGUuY29tIH5hbGwiLHR0bDozNjAwLHpvbmU6ImV4YW1wbGUuY29tIn1dO2RlbW9Eb21haW5zPVt7aWQ6IjEiLG5hbWU6ImV4YW1wbGUuY29tIixzdGF0dXM6ImFjdGl2ZSIsc3NsOiEwLHNzbEV4cGlyeToiMjAyNC0wNC0xNSIsZG5zUHJvdmlkZXI6IkNsb3VkZmxhcmUiLHJlY29yZENvdW50OjEyfSx7aWQ6IjIiLG5hbWU6ImFwaS5leGFtcGxlLmNvbSIsc3RhdHVzOiJhY3RpdmUiLHNzbDohMCxzc2xFeHBpcnk6IjIwMjQtMDUtMjAiLGRuc1Byb3ZpZGVyOiJDbG91ZGZsYXJlIixyZWNvcmRDb3VudDozfSx7aWQ6IjMiLG5hbWU6InN0YWdpbmcuZXhhbXBsZS5jb20iLHN0YXR1czoicGVuZGluZyIsc3NsOiExLHNzbEV4cGlyeTpudWxsLGRuc1Byb3ZpZGVyOiJDbG91ZGZsYXJlIixyZWNvcmRDb3VudDoyfSx7aWQ6IjQiLG5hbWU6ImxlZ2FjeS5leGFtcGxlLm5ldCIsc3RhdHVzOiJhY3RpdmUiLHNzbDohMCxzc2xFeHBpcnk6IjIwMjQtMDItMTAiLGRuc1Byb3ZpZGVyOiJNYW51YWwiLHJlY29yZENvdW50OjV9XTtkZW1vRG9tYWluRGV0YWlsPXtpZDoiMSIsbmFtZToiZXhhbXBsZS5jb20iLHN0YXR1czoiYWN0aXZlIix2ZXJpZmllZDohMCxjcmVhdGVkQXQ6IjIwMjQtMDEtMTAiLHByb3h5Um91dGVzOlsiL2FwaS8qIiwiL2FwcC8qIiwiL2FkbWluLyoiXX07ZGVtb0NlcnRpZmljYXRlPXtpZDoiMSIsZG9tYWluOiJleGFtcGxlLmNvbSIsaXNzdWVyOiJMZXQncyBFbmNyeXB0Iix2YWxpZEZyb206IjIwMjQtMDEtMTAiLHZhbGlkVW50aWw6IjIwMjQtMDQtMTAiLGRheXNSZW1haW5pbmc6NDUsc3RhdHVzOiJ2YWxpZCIsYXV0b1JlbmV3OiEwLGNoYWluOlsiUjMiLCJJU1JHIFJvb3QgWDEiXX07ZGVtb0RvbWFpbkRuc1JlY29yZHM9W3tpZDoiMSIsdHlwZToiQSIsbmFtZToiQCIsdmFsdWU6IjE5Mi4xNjguMS4xMDAiLHR0bDozNjAwfSx7aWQ6IjIiLHR5cGU6IkNOQU1FIixuYW1lOiJ3d3ciLHZhbHVlOiJleGFtcGxlLmNvbSIsdHRsOjM2MDB9LHtpZDoiMyIsdHlwZToiTVgiLG5hbWU6IkAiLHZhbHVlOiJtYWlsLmV4YW1wbGUuY29tIix0dGw6MzYwMCxwcmlvcml0eToxMH0se2lkOiI0Iix0eXBlOiJUWFQiLG5hbWU6IkAiLHZhbHVlOiJ2PXNwZjEgaW5jbHVkZTpfc3BmLmV4YW1wbGUuY29tIH5hbGwiLHR0bDozNjAwfV07c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5wYWdlLWhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLnBhZ2UtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luOiAwIDAgOHB4IDA7CiAgICAgIH0KCiAgICAgIC5wYWdlLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC50YWJzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLnRhYiB7CiAgICAgICAgcGFkZGluZzogMTBweCAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYjpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnRhYi5hY3RpdmUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC50YWIuYWN0aXZlOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogLTFweDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGhlaWdodDogMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxcHggMXB4IDAgMDsKICAgICAgfQoKICAgICAgLmJhY2stYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5iYWNrLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB0aGlzLmN1cnJlbnRUYWI9PT0iZG9tYWluLWRldGFpbCI/dGhpcy5yZW5kZXJEb21haW5EZXRhaWwoKTp3YAogICAgICAke3RoaXMuY3VycmVudFRhYj09PSJwcm94eSI/dGhpcy5yZW5kZXJQcm94eVZpZXcoKToiIn0KICAgICAgJHt0aGlzLmN1cnJlbnRUYWI9PT0iZG5zIj90aGlzLnJlbmRlckRuc1ZpZXcoKToiIn0KICAgICAgJHt0aGlzLmN1cnJlbnRUYWI9PT0iZG9tYWlucyI/dGhpcy5yZW5kZXJEb21haW5zVmlldygpOiIifQogICAgYH1yZW5kZXJQcm94eVZpZXcoKXtyZXR1cm4gd2AKICAgICAgPHN6LW5ldHdvcmstcHJveHktdmlldwogICAgICAgIC5yb3V0ZXM9JHt0aGlzLmRlbW9Qcm94eVJvdXRlc30KICAgICAgICAuYWNjZXNzTG9ncz0ke3RoaXMuZGVtb0FjY2Vzc0xvZ3N9CiAgICAgICAgLnN0YXRzPSR7e2FjdGl2ZUNvbm5lY3Rpb25zOjQyLHJlcXVlc3RzVG9kYXk6MTU0MjAsYnl0ZXNUcmFuc2ZlcnJlZDoiMi40IEdCIn19CiAgICAgICAgQGFkZC1yb3V0ZT0keygpPT5jb25zb2xlLmxvZygiQWRkIHJvdXRlIil9CiAgICAgICAgQGVkaXQtcm91dGU9JHttPT5jb25zb2xlLmxvZygiRWRpdCByb3V0ZToiLG0uZGV0YWlsKX0KICAgICAgICBAZGVsZXRlLXJvdXRlPSR7bT0+Y29uc29sZS5sb2coIkRlbGV0ZSByb3V0ZToiLG0uZGV0YWlsKX0KICAgICAgPjwvc3otbmV0d29yay1wcm94eS12aWV3PgogICAgYH1yZW5kZXJEbnNWaWV3KCl7cmV0dXJuIHdgCiAgICAgIDxzei1uZXR3b3JrLWRucy12aWV3CiAgICAgICAgLnJlY29yZHM9JHt0aGlzLmRlbW9EbnNSZWNvcmRzfQogICAgICAgIC56b25lcz0ke1siZXhhbXBsZS5jb20iLCJleGFtcGxlLm5ldCIsIm15YXBwLmlvIl19CiAgICAgICAgLnNlbGVjdGVkWm9uZT0keyJleGFtcGxlLmNvbSJ9CiAgICAgICAgQGFkZC1yZWNvcmQ9JHsoKT0+Y29uc29sZS5sb2coIkFkZCByZWNvcmQiKX0KICAgICAgICBAZWRpdC1yZWNvcmQ9JHttPT5jb25zb2xlLmxvZygiRWRpdCByZWNvcmQ6IixtLmRldGFpbCl9CiAgICAgICAgQGRlbGV0ZS1yZWNvcmQ9JHttPT5jb25zb2xlLmxvZygiRGVsZXRlIHJlY29yZDoiLG0uZGV0YWlsKX0KICAgICAgICBAY2hhbmdlLXpvbmU9JHttPT5jb25zb2xlLmxvZygiQ2hhbmdlIHpvbmU6IixtLmRldGFpbCl9CiAgICAgID48L3N6LW5ldHdvcmstZG5zLXZpZXc+CiAgICBgfXJlbmRlckRvbWFpbnNWaWV3KCl7cmV0dXJuIHdgCiAgICAgIDxzei1uZXR3b3JrLWRvbWFpbnMtdmlldwogICAgICAgIC5kb21haW5zPSR7dGhpcy5kZW1vRG9tYWluc30KICAgICAgICBAYWRkLWRvbWFpbj0keygpPT5jb25zb2xlLmxvZygiQWRkIGRvbWFpbiIpfQogICAgICAgIEB2aWV3LWRvbWFpbj0ke209Pnt0aGlzLnNlbGVjdGVkRG9tYWluPW0uZGV0YWlsLHRoaXMuY3VycmVudFRhYj0iZG9tYWluLWRldGFpbCJ9fQogICAgICAgIEByZW5ldy1zc2w9JHttPT5jb25zb2xlLmxvZygiUmVuZXcgU1NMOiIsbS5kZXRhaWwpfQogICAgICAgIEBkZWxldGUtZG9tYWluPSR7bT0+Y29uc29sZS5sb2coIkRlbGV0ZSBkb21haW46IixtLmRldGFpbCl9CiAgICAgID48L3N6LW5ldHdvcmstZG9tYWlucy12aWV3PgogICAgYH1yZW5kZXJEb21haW5EZXRhaWwoKXtyZXR1cm4gd2AKICAgICAgPGJ1dHRvbiBjbGFzcz0iYmFjay1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmN1cnJlbnRUYWI9ImRvbWFpbnMifT4KICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiIvPgogICAgICAgIDwvc3ZnPgogICAgICAgIEJhY2sgdG8gRG9tYWlucwogICAgICA8L2J1dHRvbj4KCiAgICAgIDxzei1kb21haW4tZGV0YWlsLXZpZXcKICAgICAgICAuZG9tYWluPSR7dGhpcy5kZW1vRG9tYWluRGV0YWlsfQogICAgICAgIC5jZXJ0aWZpY2F0ZT0ke3RoaXMuZGVtb0NlcnRpZmljYXRlfQogICAgICAgIC5kbnNSZWNvcmRzPSR7dGhpcy5kZW1vRG9tYWluRG5zUmVjb3Jkc30KICAgICAgICBAdmVyaWZ5LWRvbWFpbj0keygpPT5jb25zb2xlLmxvZygiVmVyaWZ5IGRvbWFpbiIpfQogICAgICAgIEBkZWxldGUtZG9tYWluPSR7KCk9Pntjb25zb2xlLmxvZygiRGVsZXRlIGRvbWFpbiIpLHRoaXMuY3VycmVudFRhYj0iZG9tYWlucyJ9fQogICAgICAgIEByZW5ldy1jZXJ0aWZpY2F0ZT0keygpPT5jb25zb2xlLmxvZygiUmVuZXcgY2VydGlmaWNhdGUiKX0KICAgICAgICBAYWRkLWRucy1yZWNvcmQ9JHsoKT0+Y29uc29sZS5sb2coIkFkZCBETlMgcmVjb3JkIil9CiAgICAgICAgQGVkaXQtZG5zLXJlY29yZD0ke209PmNvbnNvbGUubG9nKCJFZGl0IEROUyByZWNvcmQ6IixtLmRldGFpbCl9CiAgICAgICAgQGRlbGV0ZS1kbnMtcmVjb3JkPSR7bT0+Y29uc29sZS5sb2coIkRlbGV0ZSBETlMgcmVjb3JkOiIsbS5kZXRhaWwpfQogICAgICA+PC9zei1kb21haW4tZGV0YWlsLXZpZXc+CiAgICBgfXN0YXRpY3tFRyhyLHQpfX07cmV0dXJuIHU9cn0pKCl9KTt2YXIgZHBhLGhldCx6UmEsdXBhPWYoKCk9PntsZSgpO2RuKCk7ZHBhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxoZXQ9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHpSYT0oKCk9PntsZXQgYT1baWUoInN6LWRlbW8tdmlldy1yZWdpc3RyaWVzIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6RGVtb1ZpZXdSZWdpc3RyaWVzIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bSygpXSxkcGEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VGFiIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJjdXJyZW50VGFiImluIHAsImhhcyIpLGdldDpzKHA9PnAuY3VycmVudFRhYiwiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLmN1cnJlbnRUYWI9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLGRwYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfWFwcHVpPW51bGw7I2U9aGV0KHRoaXMsbiwib25lYm94Iik7Z2V0IGN1cnJlbnRUYWIoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY3VycmVudFRhYihjKXt0aGlzLiNlPWN9YXN5bmMgb25BY3RpdmF0ZShjKXt0aGlzLmFwcHVpPWMuYXBwdWksdGhpcy5hcHB1aS5zZXRDb250ZW50VGFicyhbe2tleToiUmVnaXN0cnkgQWR2ZXJ0aXNlbWVudCIsYWN0aW9uOnMoKCk9Pnt0aGlzLmN1cnJlbnRUYWI9Im9uZWJveCIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX0se2tleToiRXh0ZXJuYWwgUmVnaXN0cmllcyIsYWN0aW9uOnMoKCk9Pnt0aGlzLmN1cnJlbnRUYWI9ImV4dGVybmFsIix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfV0pLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfXVwZGF0ZVNlY29uZGFyeU1lbnUoKXt0aGlzLmFwcHVpJiYodGhpcy5jdXJyZW50VGFiPT09Im9uZWJveCI/dGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJSZWdpc3RyeSBBZHZlcnRpc2VtZW50Iixncm91cHM6W3tuYW1lOiJBY3Rpb25zIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJQdXNoIEltYWdlIixpY29uTmFtZToibHVjaWRlOlVwbG9hZCIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiUHVzaCBpbWFnZSIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLHZhcmlhbnQ6ImRhbmdlciIsa2V5OiJHYXJiYWdlIENvbGxlY3QiLGljb25OYW1lOiJsdWNpZGU6VHJhc2gyIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJHQyIpfSwiYWN0aW9uIil9XX0se25hbWU6IlN0YXRpc3RpY3MiLGl0ZW1zOlt7dHlwZToiaGVhZGVyIixsYWJlbDoiNCBJbWFnZXMifSx7dHlwZToiaGVhZGVyIixsYWJlbDoiNjQwIE1CIFRvdGFsIn1dfV19KTp0aGlzLmFwcHVpLnNldFNlY29uZGFyeU1lbnUoe2hlYWRpbmc6IkV4dGVybmFsIFJlZ2lzdHJpZXMiLGdyb3Vwczpbe25hbWU6IkFjdGlvbnMiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IkFkZCBSZWdpc3RyeSIsaWNvbk5hbWU6Imx1Y2lkZTpQbHVzIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJBZGQgcmVnaXN0cnkiKX0sImFjdGlvbiIpfSx7dHlwZToiYWN0aW9uIixrZXk6IlRlc3QgQWxsIixpY29uTmFtZToibHVjaWRlOkNoZWNrQ2lyY2xlIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJUZXN0IGFsbCIpfSwiYWN0aW9uIil9XX0se25hbWU6IkNvbm5lY3RlZCIsaXRlbXM6W3trZXk6IkRvY2tlciBIdWIiLGljb25OYW1lOiJsdWNpZGU6Qm94IixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJEb2NrZXIgSHViIil9LCJhY3Rpb24iKX0se2tleToiR0hDUiIsaWNvbk5hbWU6Imx1Y2lkZTpHaXRodWIiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkdIQ1IiKX0sImFjdGlvbiIpfV19XX0pKX1vbkRlYWN0aXZhdGUoKXt9ZGVtb09uZWJveEltYWdlcz0oaGV0KHRoaXMsbCksW3tpZDoiMSIsbmFtZToiYXBpLWdhdGV3YXkiLHRhZ3M6WyJsYXRlc3QiLCJ2Mi4xLjAiLCJ2Mi4wLjAiXSxzaXplOiIyNTYgTUIiLHVwZGF0ZWQ6IjIwMjQtMDEtMjAiLHB1bGxzOjE0Mn0se2lkOiIyIixuYW1lOiJmcm9udGVuZCIsdGFnczpbImxhdGVzdCIsInYxLjUuMCJdLHNpemU6IjEyOCBNQiIsdXBkYXRlZDoiMjAyNC0wMS0xOSIscHVsbHM6ODl9LHtpZDoiMyIsbmFtZToid29ya2VyLXNlcnZpY2UiLHRhZ3M6WyJsYXRlc3QiXSxzaXplOiI2NCBNQiIsdXBkYXRlZDoiMjAyNC0wMS0xOCIscHVsbHM6NTZ9LHtpZDoiNCIsbmFtZToiYWRtaW4tcGFuZWwiLHRhZ3M6WyJsYXRlc3QiLCJ2My4wLjAiLCJ2Mi45LjAiXSxzaXplOiIxOTIgTUIiLHVwZGF0ZWQ6IjIwMjQtMDEtMTciLHB1bGxzOjM0fV0pO2RlbW9FeHRlcm5hbFJlZ2lzdHJpZXM9W3tpZDoiMSIsbmFtZToiRG9ja2VyIEh1YiIsdXJsOiJkb2NrZXIuaW8iLHN0YXR1czoiY29ubmVjdGVkIixpbWFnZXM6MTJ9LHtpZDoiMiIsbmFtZToiR2l0SHViIENvbnRhaW5lciBSZWdpc3RyeSIsdXJsOiJnaGNyLmlvIixzdGF0dXM6ImNvbm5lY3RlZCIsaW1hZ2VzOjh9LHtpZDoiMyIsbmFtZToiQVdTIEVDUiIsdXJsOiIxMjM0NTY3ODkuZGtyLmVjci51cy1lYXN0LTEuYW1hem9uYXdzLmNvbSIsc3RhdHVzOiJlcnJvciIsaW1hZ2VzOjB9XTtzdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnBhZ2UtaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAucGFnZS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW46IDAgMCA4cHggMDsKICAgICAgfQoKICAgICAgLnBhZ2Utc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQoKICAgICAgLnRhYnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAudGFiIHsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAudGFiOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAudGFiLmFjdGl2ZSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnRhYi5hY3RpdmU6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAtMXB4OwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgaGVpZ2h0OiAycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDFweCAxcHggMCAwOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgJHt0aGlzLmN1cnJlbnRUYWI9PT0ib25lYm94Ij93YAogICAgICAgIDxzei1yZWdpc3RyeS1hZHZlcnRpc2VtZW50CiAgICAgICAgICAuaW1hZ2VzPSR7dGhpcy5kZW1vT25lYm94SW1hZ2VzfQogICAgICAgICAgLnN0YXRzPSR7e3RvdGFsSW1hZ2VzOjQsdG90YWxTaXplOiI2NDAgTUIiLHRvdGFsUHVsbHM6MzIxfX0KICAgICAgICAgIEB2aWV3LWltYWdlPSR7Yz0+Y29uc29sZS5sb2coIlZpZXcgaW1hZ2U6IixjLmRldGFpbCl9CiAgICAgICAgICBAZGVsZXRlLWltYWdlPSR7Yz0+Y29uc29sZS5sb2coIkRlbGV0ZSBpbWFnZToiLGMuZGV0YWlsKX0KICAgICAgICAgIEBkZWxldGUtdGFnPSR7Yz0+Y29uc29sZS5sb2coIkRlbGV0ZSB0YWc6IixjLmRldGFpbCl9CiAgICAgICAgPjwvc3otcmVnaXN0cnktYWR2ZXJ0aXNlbWVudD4KICAgICAgYDp3YAogICAgICAgIDxzei1yZWdpc3RyeS1leHRlcm5hbC12aWV3CiAgICAgICAgICAucmVnaXN0cmllcz0ke3RoaXMuZGVtb0V4dGVybmFsUmVnaXN0cmllc30KICAgICAgICAgIEBhZGQtcmVnaXN0cnk9JHsoKT0+Y29uc29sZS5sb2coIkFkZCByZWdpc3RyeSIpfQogICAgICAgICAgQGVkaXQtcmVnaXN0cnk9JHtjPT5jb25zb2xlLmxvZygiRWRpdCByZWdpc3RyeToiLGMuZGV0YWlsKX0KICAgICAgICAgIEBkZWxldGUtcmVnaXN0cnk9JHtjPT5jb25zb2xlLmxvZygiRGVsZXRlIHJlZ2lzdHJ5OiIsYy5kZXRhaWwpfQogICAgICAgICAgQHRlc3QtY29ubmVjdGlvbj0ke2M9PmNvbnNvbGUubG9nKCJUZXN0IGNvbm5lY3Rpb246IixjLmRldGFpbCl9CiAgICAgICAgPjwvc3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldz4KICAgICAgYH0KICAgIGB9c3RhdGlje2hldChyLHQpfX07cmV0dXJuIGQ9cn0pKCl9KTt2YXIgQ1JhLF9SYSxUUmEscHBhPWYoKCk9PntsZSgpO2RuKCk7Q1JhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxfUmE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFRSYT0oKCk9PntsZXQgYT1baWUoInN6LWRlbW8tdmlldy10b2tlbnMiKV0sZSx0PVtdLHIsaT1wZTt2YXIgbz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pEZW1vVmlld1Rva2VucyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBuPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO0NSYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpufSxudWxsLHQpLG89cj1lLnZhbHVlLG4mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pfWFwcHVpPW51bGw7YXN5bmMgb25BY3RpdmF0ZShuKXt0aGlzLmFwcHVpPW4uYXBwdWksdGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJUb2tlbnMiLGdyb3Vwczpbe25hbWU6IkFjdGlvbnMiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IkNyZWF0ZSBHbG9iYWwgVG9rZW4iLGljb25OYW1lOiJsdWNpZGU6UGx1cyIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiQ3JlYXRlIGdsb2JhbCB0b2tlbiIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiQ3JlYXRlIENJIFRva2VuIixpY29uTmFtZToibHVjaWRlOkdpdEJyYW5jaCIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiQ3JlYXRlIENJIHRva2VuIil9LCJhY3Rpb24iKX1dfSx7bmFtZToiVG9rZW4gVHlwZXMiLGl0ZW1zOlt7a2V5OiJHbG9iYWwgVG9rZW5zIixpY29uTmFtZToibHVjaWRlOktleSIsYmFkZ2U6IjMiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkZpbHRlciBnbG9iYWwiKX0sImFjdGlvbiIpfSx7a2V5OiJDSSBUb2tlbnMiLGljb25OYW1lOiJsdWNpZGU6Q3B1IixiYWRnZToiMyIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiRmlsdGVyIENJIil9LCJhY3Rpb24iKX1dfV19KX1vbkRlYWN0aXZhdGUoKXt9ZGVtb0dsb2JhbFRva2Vucz1be2lkOiIxIixuYW1lOiJDSS9DRCBQaXBlbGluZSIsdHlwZToiZ2xvYmFsIixjcmVhdGVkQXQ6IjIwMjQtMDEtMTUiLGxhc3RVc2VkOiIyMDI0LTAxLTIwIn0se2lkOiIyIixuYW1lOiJEZXZlbG9wbWVudCIsdHlwZToiZ2xvYmFsIixjcmVhdGVkQXQ6IjIwMjQtMDEtMTAifSx7aWQ6IjMiLG5hbWU6IlByb2R1Y3Rpb24gRGVwbG95Iix0eXBlOiJnbG9iYWwiLGNyZWF0ZWRBdDoiMjAyNC0wMS0wNSIsbGFzdFVzZWQ6IjIwMjQtMDEtMTkifV07ZGVtb0NpVG9rZW5zPVt7aWQ6IjQiLG5hbWU6ImFwaS1nYXRld2F5LWNpIix0eXBlOiJjaSIsc2VydmljZToiYXBpLWdhdGV3YXkiLGNyZWF0ZWRBdDoiMjAyNC0wMS0xOCIsbGFzdFVzZWQ6IjIwMjQtMDEtMjAifSx7aWQ6IjUiLG5hbWU6ImZyb250ZW5kLWNpIix0eXBlOiJjaSIsc2VydmljZToiZnJvbnRlbmQiLGNyZWF0ZWRBdDoiMjAyNC0wMS0xMiIsbGFzdFVzZWQ6IjIwMjQtMDEtMTkifSx7aWQ6IjYiLG5hbWU6Indvcmtlci1zZXJ2aWNlLWNpIix0eXBlOiJjaSIsc2VydmljZToid29ya2VyLXNlcnZpY2UiLGNyZWF0ZWRBdDoiMjAyNC0wMS0wOCJ9XTtzdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnBhZ2UtaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAucGFnZS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW46IDAgMCA4cHggMDsKICAgICAgfQoKICAgICAgLnBhZ2Utc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InBhZ2UtaGVhZGVyIj4KICAgICAgICA8aDEgY2xhc3M9InBhZ2UtdGl0bGUiPlRva2VuczwvaDE+CiAgICAgICAgPHAgY2xhc3M9InBhZ2Utc3VidGl0bGUiPk1hbmFnZSByZWdpc3RyeSBhY2Nlc3MgdG9rZW5zIGZvciBDSS9DRCBwaXBlbGluZXM8L3A+CiAgICAgIDwvZGl2PgoKICAgICAgPHN6LXRva2Vucy12aWV3CiAgICAgICAgLmdsb2JhbFRva2Vucz0ke3RoaXMuZGVtb0dsb2JhbFRva2Vuc30KICAgICAgICAuY2lUb2tlbnM9JHt0aGlzLmRlbW9DaVRva2Vuc30KICAgICAgICBAY3JlYXRlPSR7bj0+Y29uc29sZS5sb2coIkNyZWF0ZSB0b2tlbjoiLG4uZGV0YWlsKX0KICAgICAgICBAY29weT0ke249PmNvbnNvbGUubG9nKCJDb3B5IHRva2VuOiIsbi5kZXRhaWwpfQogICAgICAgIEByZWdlbmVyYXRlPSR7bj0+Y29uc29sZS5sb2coIlJlZ2VuZXJhdGUgdG9rZW46IixuLmRldGFpbCl9CiAgICAgICAgQGRlbGV0ZT0ke249PmNvbnNvbGUubG9nKCJEZWxldGUgdG9rZW46IixuLmRldGFpbCl9CiAgICAgID48L3N6LXRva2Vucy12aWV3PgogICAgYH1zdGF0aWN7X1JhKHIsdCl9fTtyZXR1cm4gbz1yfSkoKX0pO3ZhciBMUmEsJFJhLERSYSxmcGE9ZigoKT0+e2xlKCk7ZG4oKTtMUmE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LCRSYT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sRFJhPSgoKT0+e2xldCBhPVtpZSgic3otZGVtby12aWV3LXNldHRpbmdzIildLGUsdD1bXSxyLGk9cGU7dmFyIG89Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6RGVtb1ZpZXdTZXR0aW5ncyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBuPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO0xSYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpufSxudWxsLHQpLG89cj1lLnZhbHVlLG4mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pfWFwcHVpPW51bGw7YXN5bmMgb25BY3RpdmF0ZShuKXt0aGlzLmFwcHVpPW4uYXBwdWksdGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJTZXR0aW5ncyIsZ3JvdXBzOlt7bmFtZToiQ2F0ZWdvcmllcyIsaXRlbXM6W3trZXk6IkdlbmVyYWwiLGljb25OYW1lOiJsdWNpZGU6U2V0dGluZ3MiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkdlbmVyYWwgc2V0dGluZ3MiKX0sImFjdGlvbiIpfSx7a2V5OiJOZXR3b3JrIixpY29uTmFtZToibHVjaWRlOk5ldHdvcmsiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIk5ldHdvcmsgc2V0dGluZ3MiKX0sImFjdGlvbiIpfSx7a2V5OiJTZWN1cml0eSIsaWNvbk5hbWU6Imx1Y2lkZTpTaGllbGQiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIlNlY3VyaXR5IHNldHRpbmdzIil9LCJhY3Rpb24iKX0se2tleToiQ2VydGlmaWNhdGVzIixpY29uTmFtZToibHVjaWRlOkZpbGVCYWRnZSIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiQ2VydGlmaWNhdGUgc2V0dGluZ3MiKX0sImFjdGlvbiIpfV19LHtuYW1lOiJBY3Rpb25zIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJFeHBvcnQgQ29uZmlnIixpY29uTmFtZToibHVjaWRlOkRvd25sb2FkIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJFeHBvcnQgY29uZmlnIil9LCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJJbXBvcnQgQ29uZmlnIixpY29uTmFtZToibHVjaWRlOlVwbG9hZCIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiSW1wb3J0IGNvbmZpZyIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLHZhcmlhbnQ6ImRhbmdlciIsa2V5OiJSZXNldCB0byBEZWZhdWx0IixpY29uTmFtZToibHVjaWRlOlJvdGF0ZUNjdyIsY29uZmlybU1lc3NhZ2U6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCBhbGwgc2V0dGluZ3MgdG8gZGVmYXVsdD8iLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIlJlc2V0IHNldHRpbmdzIil9LCJhY3Rpb24iKX1dfV19KX1vbkRlYWN0aXZhdGUoKXt9ZGVtb1NldHRpbmdzPXtkYXJrTW9kZTohMCxjbG91ZGZsYXJlVG9rZW46IiIsY2xvdWRmbGFyZVpvbmVJZDoiIixhdXRvUmVuZXdDZXJ0czohMCxyZW5ld2FsVGhyZXNob2xkOjMwLGFjbWVFbWFpbDoiYWRtaW5Ac2VydmUuem9uZSIsaHR0cFBvcnQ6ODAsaHR0cHNQb3J0OjQ0Myxmb3JjZUh0dHBzOiEwfTtzdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnBhZ2UtaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAucGFnZS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW46IDAgMCA4cHggMDsKICAgICAgfQoKICAgICAgLnBhZ2Utc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQoKICAgICAgLnNldHRpbmdzLWNvbnRhaW5lciB7CiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InBhZ2UtaGVhZGVyIj4KICAgICAgICA8aDEgY2xhc3M9InBhZ2UtdGl0bGUiPlNldHRpbmdzPC9oMT4KICAgICAgICA8cCBjbGFzcz0icGFnZS1zdWJ0aXRsZSI+Q29uZmlndXJlIHlvdXIgb25lYm94IGluc3RhbmNlPC9wPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLWNvbnRhaW5lciI+CiAgICAgICAgPHN6LXNldHRpbmdzLXZpZXcKICAgICAgICAgIC5zZXR0aW5ncz0ke3RoaXMuZGVtb1NldHRpbmdzfQogICAgICAgICAgY3VycmVudFVzZXI9ImFkbWluIgogICAgICAgICAgQHNldHRpbmctY2hhbmdlPSR7bj0+Y29uc29sZS5sb2coIlNldHRpbmcgY2hhbmdlOiIsbi5kZXRhaWwpfQogICAgICAgICAgQGNoYW5nZS1wYXNzd29yZD0ke249PmNvbnNvbGUubG9nKCJDaGFuZ2UgcGFzc3dvcmQ6IixuLmRldGFpbCl9CiAgICAgICAgICBAcmVzZXQ9JHsoKT0+Y29uc29sZS5sb2coIlJlc2V0IHNldHRpbmdzIil9CiAgICAgICAgICBAc2F2ZT0ke249PmNvbnNvbGUubG9nKCJTYXZlIHNldHRpbmdzOiIsbi5kZXRhaWwpfQogICAgICAgID48L3N6LXNldHRpbmdzLXZpZXc+CiAgICAgIDwvZGl2PgogICAgYH1zdGF0aWN7JFJhKHIsdCl9fTtyZXR1cm4gbz1yfSkoKX0pO3ZhciBraWUsTjUsQVJhLGhwYT1mKCgpPT57bGUoKTtkbigpO2tpZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sTjU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEFSYT0oKCk9PntsZXQgYT1baWUoInN6LWRlbW8tdmlldy1tdGEiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pEZW1vVmlld010YSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZD1bSygpXSx1PVtLKCldLGtpZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRWaWV3IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJjdXJyZW50VmlldyJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLmN1cnJlbnRWaWV3LCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuY3VycmVudFZpZXc9eX0sInNldCIpfSxtZXRhZGF0YTpifSxuLGwpLGtpZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkRW1haWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InNlbGVjdGVkRW1haWwiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5zZWxlY3RlZEVtYWlsLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuc2VsZWN0ZWRFbWFpbD15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LGMscCksa2llKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudERpcmVjdGlvbkZpbHRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iY3VycmVudERpcmVjdGlvbkZpbHRlciJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLmN1cnJlbnREaXJlY3Rpb25GaWx0ZXIsImdldCIpLHNldDpzKChnLHkpPT57Zy5jdXJyZW50RGlyZWN0aW9uRmlsdGVyPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSxraWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1hcHB1aT1udWxsOyNlPU41KHRoaXMsbiwibGlzdCIpO2dldCBjdXJyZW50Vmlldygpe3JldHVybiB0aGlzLiNlfXNldCBjdXJyZW50VmlldyhiKXt0aGlzLiNlPWJ9I3Q9KE41KHRoaXMsbCksTjUodGhpcyxjLG51bGwpKTtnZXQgc2VsZWN0ZWRFbWFpbCgpe3JldHVybiB0aGlzLiN0fXNldCBzZWxlY3RlZEVtYWlsKGIpe3RoaXMuI3Q9Yn0jYT0oTjUodGhpcyxwKSxONSh0aGlzLG0sImFsbCIpKTtnZXQgY3VycmVudERpcmVjdGlvbkZpbHRlcigpe3JldHVybiB0aGlzLiNhfXNldCBjdXJyZW50RGlyZWN0aW9uRmlsdGVyKGIpe3RoaXMuI2E9Yn1kZW1vRW1haWxzPShONSh0aGlzLHYpLFt7aWQ6IjEiLGRpcmVjdGlvbjoib3V0Ym91bmQiLHN0YXR1czoiZGVsaXZlcmVkIixmcm9tOiJub3JlcGx5QHNlcnZlLnpvbmUiLHRvOiJ1c2VyQGV4YW1wbGUuY29tIixzdWJqZWN0OiJXZWxjb21lIHRvIHNlcnZlLnpvbmUiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDozMDoyMiIsbWVzc2FnZUlkOiI8YWJjMTIzQHNlcnZlLnpvbmU+IixzaXplOiIxMi40IEtCIn0se2lkOiIyIixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImJvdW5jZWQiLGZyb206ImFsZXJ0c0BzZXJ2ZS56b25lIix0bzoiaW52YWxpZEBub3doZXJlLnRlc3QiLHN1YmplY3Q6IlNlcnZpY2UgQWxlcnQ6IENQVSBVc2FnZSBIaWdoIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6Mjg6MTAiLG1lc3NhZ2VJZDoiPGRlZjQ1NkBzZXJ2ZS56b25lPiIsc2l6ZToiOC4yIEtCIn0se2lkOiIzIixkaXJlY3Rpb246ImluYm91bmQiLHN0YXR1czoiZGVsaXZlcmVkIixmcm9tOiJzdXBwb3J0QGN1c3RvbWVyLmNvbSIsdG86ImFkbWluQHNlcnZlLnpvbmUiLHN1YmplY3Q6IlJlOiBJbmZyYXN0cnVjdHVyZSBSZXZpZXciLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoyNTowMCIsbWVzc2FnZUlkOiI8Z2hpNzg5QGN1c3RvbWVyLmNvbT4iLHNpemU6IjI0LjEgS0IifSx7aWQ6IjQiLGRpcmVjdGlvbjoib3V0Ym91bmQiLHN0YXR1czoicmVqZWN0ZWQiLGZyb206ImJpbGxpbmdAc2VydmUuem9uZSIsdG86ImJsb2NrZWRAc3BhbS1kb21haW4udGVzdCIsc3ViamVjdDoiSW52b2ljZSAjMjAyNC0wMDEiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoyMDo0NSIsbWVzc2FnZUlkOiI8amtsMDEyQHNlcnZlLnpvbmU+IixzaXplOiI0NS42IEtCIn0se2lkOiI1IixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImRlZmVycmVkIixmcm9tOiJub3JlcGx5QHNlcnZlLnpvbmUiLHRvOiJzbG93QHJlbW90ZS1zZXJ2ZXIudGVzdCIsc3ViamVjdDoiUGFzc3dvcmQgUmVzZXQgUmVxdWVzdCIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjE1OjMwIixtZXNzYWdlSWQ6Ijxtbm8zNDVAc2VydmUuem9uZT4iLHNpemU6IjYuOCBLQiJ9LHtpZDoiNiIsZGlyZWN0aW9uOiJpbmJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToiY2lAZ2l0aHViLmNvbSIsdG86ImRldm9wc0BzZXJ2ZS56b25lIixzdWJqZWN0OiJCdWlsZCAjNDUyMSBwYXNzZWQiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoxMDowMCIsbWVzc2FnZUlkOiI8cHFyNjc4QGdpdGh1Yi5jb20+IixzaXplOiIxNS4zIEtCIn0se2lkOiI3IixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6InBlbmRpbmciLGZyb206InJlcG9ydHNAc2VydmUuem9uZSIsdG86InRlYW1Ac2VydmUuem9uZSIsc3ViamVjdDoiV2Vla2x5IEluZnJhc3RydWN0dXJlIFJlcG9ydCIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjA1OjAwIixtZXNzYWdlSWQ6IjxzdHU5MDFAc2VydmUuem9uZT4iLHNpemU6IjEwMi43IEtCIn0se2lkOiI4IixkaXJlY3Rpb246ImluYm91bmQiLHN0YXR1czoiZGVsaXZlcmVkIixmcm9tOiJtb25pdG9yaW5nQHVwdGltZS5pbyIsdG86Im9wc0BzZXJ2ZS56b25lIixzdWJqZWN0OiJVcHRpbWUgUmVwb3J0OiA5OS45OCUiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxMzo1NTowMCIsbWVzc2FnZUlkOiI8dnd4MjM0QHVwdGltZS5pbz4iLHNpemU6IjkuMSBLQiJ9XSk7ZGVtb0VtYWlsRGV0YWlscz17MTp7aWQ6IjEiLGRpcmVjdGlvbjoib3V0Ym91bmQiLHN0YXR1czoiZGVsaXZlcmVkIixmcm9tOiJub3JlcGx5QHNlcnZlLnpvbmUiLHRvOiJ1c2VyQGV4YW1wbGUuY29tIix0b0xpc3Q6WyJ1c2VyQGV4YW1wbGUuY29tIl0sc3ViamVjdDoiV2VsY29tZSB0byBzZXJ2ZS56b25lIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MzA6MjIiLG1lc3NhZ2VJZDoiPGFiYzEyM0BzZXJ2ZS56b25lPiIsc2l6ZToiMTIuNCBLQiIsc210cExvZzpbe3RpbWVzdGFtcDoiMTQ6MzA6MjAiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJFSExPIG1haWwuc2VydmUuem9uZSJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwLW1haWwuZXhhbXBsZS5jb20gSGVsbG8iLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwLVNUQVJUVExTIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBTSVpFIDUyNDI4ODAwIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMCIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IlNUQVJUVExTIn0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyMjAgUmVhZHkgdG8gc3RhcnQgVExTIixyZXNwb25zZUNvZGU6MjIwfSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IkVITE8gbWFpbC5zZXJ2ZS56b25lIn0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAtbWFpbC5leGFtcGxlLmNvbSBIZWxsbyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAtQVVUSCBQTEFJTiBMT0dJTiIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgU0laRSA1MjQyODgwMCIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJBVVRIIFBMQUlOIEFIVnpaWElBY0dGemMzZHZjbVE9In0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyMzUgMi43LjAgQXV0aGVudGljYXRpb24gc3VjY2Vzc2Z1bCIscmVzcG9uc2VDb2RlOjIzNX0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJNQUlMIEZST006PG5vcmVwbHlAc2VydmUuem9uZT4ifSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBPSyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJSQ1BUIFRPOjx1c2VyQGV4YW1wbGUuY29tPiJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIEFjY2VwdGVkIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMiIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IkRBVEEifSx7dGltZXN0YW1wOiIxNDozMDoyMiIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6JzM1NCBFbnRlciBtZXNzYWdlLCBlbmRpbmcgd2l0aCAiLiIgb24gYSBsaW5lIGJ5IGl0c2VsZicscmVzcG9uc2VDb2RlOjM1NH0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiIuIn0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgT0sgaWQ9MXBRMnJTLTAwMDNBYi1DNCIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJRVUlUIn0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyMjEgbWFpbC5leGFtcGxlLmNvbSBjbG9zaW5nIGNvbm5lY3Rpb24iLHJlc3BvbnNlQ29kZToyMjF9XSxjb25uZWN0aW9uSW5mbzp7c291cmNlSXA6IjEwLjAuMS41MCIsc291cmNlSG9zdG5hbWU6Im1haWwuc2VydmUuem9uZSIsZGVzdGluYXRpb25JcDoiOTMuMTg0LjIxNi4zNCIsZGVzdGluYXRpb25Qb3J0OjI1LHRsc1ZlcnNpb246IlRMU3YxLjMiLHRsc0NpcGhlcjoiVExTX0FFU18yNTZfR0NNX1NIQTM4NCIsYXV0aGVudGljYXRlZDohMCxhdXRoTWV0aG9kOiJQTEFJTiIsYXV0aFVzZXI6Im5vcmVwbHlAc2VydmUuem9uZSJ9LGF1dGhlbnRpY2F0aW9uUmVzdWx0czp7c3BmOiJwYXNzIixzcGZEb21haW46InNlcnZlLnpvbmUiLGRraW06InBhc3MiLGRraW1Eb21haW46InNlcnZlLnpvbmUiLGRtYXJjOiJwYXNzIixkbWFyY1BvbGljeToicmVqZWN0In0saGVhZGVyczp7RnJvbToibm9yZXBseUBzZXJ2ZS56b25lIixUbzoidXNlckBleGFtcGxlLmNvbSIsU3ViamVjdDoiV2VsY29tZSB0byBzZXJ2ZS56b25lIixEYXRlOiJNb24sIDE1IEphbiAyMDI0IDE0OjMwOjIyICswMDAwIiwiTUlNRS1WZXJzaW9uIjoiMS4wIiwiQ29udGVudC1UeXBlIjoidGV4dC9odG1sOyBjaGFyc2V0PVVURi04In0sYm9keTpgPGh0bWw+CjxoZWFkPjx0aXRsZT5XZWxjb21lPC90aXRsZT48L2hlYWQ+Cjxib2R5PgogIDxoMT5XZWxjb21lIHRvIHNlcnZlLnpvbmUhPC9oMT4KICA8cD5Zb3VyIGFjY291bnQgaGFzIGJlZW4gY3JlYXRlZCBzdWNjZXNzZnVsbHkuPC9wPgogIDxwPkdldCBzdGFydGVkIGJ5IHZpc2l0aW5nIHlvdXIgPGEgaHJlZj0iaHR0cHM6Ly9zZXJ2ZS56b25lL2Rhc2hib2FyZCI+ZGFzaGJvYXJkPC9hPi48L3A+CjwvYm9keT4KPC9odG1sPmB9LDI6e2lkOiIyIixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImJvdW5jZWQiLGZyb206ImFsZXJ0c0BzZXJ2ZS56b25lIix0bzoiaW52YWxpZEBub3doZXJlLnRlc3QiLHRvTGlzdDpbImludmFsaWRAbm93aGVyZS50ZXN0Il0sc3ViamVjdDoiU2VydmljZSBBbGVydDogQ1BVIFVzYWdlIEhpZ2giLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoyODoxMCIsbWVzc2FnZUlkOiI8ZGVmNDU2QHNlcnZlLnpvbmU+IixzaXplOiI4LjIgS0IiLHJlamVjdGlvblJlYXNvbjoiNTUwIDUuMS4xIFRoZSBlbWFpbCBhY2NvdW50IHRoYXQgeW91IHRyaWVkIHRvIHJlYWNoIGRvZXMgbm90IGV4aXN0LiIsYm91bmNlTWVzc2FnZTpgRGVsaXZlcnkgdG8gdGhlIGZvbGxvd2luZyByZWNpcGllbnQgZmFpbGVkIHBlcm1hbmVudGx5OgoKICAgIGludmFsaWRAbm93aGVyZS50ZXN0CgpUZWNobmljYWwgZGV0YWlscyBvZiBwZXJtYW5lbnQgZmFpbHVyZToKR29vZ2xlIHRyaWVkIHRvIGRlbGl2ZXIgeW91ciBtZXNzYWdlLCBidXQgaXQgd2FzIHJlamVjdGVkIGJ5IHRoZSBzZXJ2ZXIgZm9yIHRoZSByZWNpcGllbnQgZG9tYWluIG5vd2hlcmUudGVzdC5gLHNtdHBMb2c6W3t0aW1lc3RhbXA6IjE0OjI4OjA4IixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiRUhMTyBtYWlsLnNlcnZlLnpvbmUifSx7dGltZXN0YW1wOiIxNDoyODowOCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1tYWlsLm5vd2hlcmUudGVzdCBIZWxsbyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6Mjg6MDgiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJNQUlMIEZST006PGFsZXJ0c0BzZXJ2ZS56b25lPiJ9LHt0aW1lc3RhbXA6IjE0OjI4OjA5IixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIE9LIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDoyODowOSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IlJDUFQgVE86PGludmFsaWRAbm93aGVyZS50ZXN0PiJ9LHt0aW1lc3RhbXA6IjE0OjI4OjEwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiNTUwIDUuMS4xIFRoZSBlbWFpbCBhY2NvdW50IHRoYXQgeW91IHRyaWVkIHRvIHJlYWNoIGRvZXMgbm90IGV4aXN0LiIscmVzcG9uc2VDb2RlOjU1MH0se3RpbWVzdGFtcDoiMTQ6Mjg6MTAiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJRVUlUIn0se3RpbWVzdGFtcDoiMTQ6Mjg6MTAiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyMjEgQnllIixyZXNwb25zZUNvZGU6MjIxfV0sY29ubmVjdGlvbkluZm86e3NvdXJjZUlwOiIxMC4wLjEuNTAiLHNvdXJjZUhvc3RuYW1lOiJtYWlsLnNlcnZlLnpvbmUiLGRlc3RpbmF0aW9uSXA6IjE5OC41MS4xMDAuMjUiLGRlc3RpbmF0aW9uUG9ydDoyNSx0bHNWZXJzaW9uOiJUTFN2MS4yIix0bHNDaXBoZXI6IkVDREhFLVJTQS1BRVMxMjgtR0NNLVNIQTI1NiIsYXV0aGVudGljYXRlZDohMCxhdXRoTWV0aG9kOiJQTEFJTiIsYXV0aFVzZXI6ImFsZXJ0c0BzZXJ2ZS56b25lIn0sYXV0aGVudGljYXRpb25SZXN1bHRzOntzcGY6InBhc3MiLHNwZkRvbWFpbjoic2VydmUuem9uZSIsZGtpbToicGFzcyIsZGtpbURvbWFpbjoic2VydmUuem9uZSIsZG1hcmM6InBhc3MiLGRtYXJjUG9saWN5OiJxdWFyYW50aW5lIn0saGVhZGVyczp7RnJvbToiYWxlcnRzQHNlcnZlLnpvbmUiLFRvOiJpbnZhbGlkQG5vd2hlcmUudGVzdCIsU3ViamVjdDoiU2VydmljZSBBbGVydDogQ1BVIFVzYWdlIEhpZ2giLERhdGU6Ik1vbiwgMTUgSmFuIDIwMjQgMTQ6Mjg6MTAgKzAwMDAiLCJNSU1FLVZlcnNpb24iOiIxLjAiLCJDb250ZW50LVR5cGUiOiJ0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04In0sYm9keTpgQUxFUlQ6IENQVSBVc2FnZSBIaWdoCgpTZXJ2aWNlOiBhcGktZ2F0ZXdheQpDdXJyZW50IFVzYWdlOiA5NC4yJQpUaHJlc2hvbGQ6IDkwJQpUaW1lc3RhbXA6IDIwMjQtMDEtMTUgMTQ6Mjg6MDAgVVRDCgpQbGVhc2UgaW52ZXN0aWdhdGUgaW1tZWRpYXRlbHkuYH0sMzp7aWQ6IjMiLGRpcmVjdGlvbjoiaW5ib3VuZCIsc3RhdHVzOiJkZWxpdmVyZWQiLGZyb206InN1cHBvcnRAY3VzdG9tZXIuY29tIix0bzoiYWRtaW5Ac2VydmUuem9uZSIsdG9MaXN0OlsiYWRtaW5Ac2VydmUuem9uZSJdLGNjOlsib3BzQHNlcnZlLnpvbmUiXSxzdWJqZWN0OiJSZTogSW5mcmFzdHJ1Y3R1cmUgUmV2aWV3Iix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MjU6MDAiLG1lc3NhZ2VJZDoiPGdoaTc4OUBjdXN0b21lci5jb20+IixzaXplOiIyNC4xIEtCIixzbXRwTG9nOlt7dGltZXN0YW1wOiIxNDoyNDo1OCIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IkVITE8gbWFpbC5jdXN0b21lci5jb20ifSx7dGltZXN0YW1wOiIxNDoyNDo1OCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1tYWlsLnNlcnZlLnpvbmUgSGVsbG8iLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjI0OjU4IixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwLVNUQVJUVExTIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDoyNDo1OCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBTSVpFIDUyNDI4ODAwIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDoyNDo1OSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IlNUQVJUVExTIn0se3RpbWVzdGFtcDoiMTQ6MjQ6NTkiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyMjAgUmVhZHkgdG8gc3RhcnQgVExTIixyZXNwb25zZUNvZGU6MjIwfSx7dGltZXN0YW1wOiIxNDoyNDo1OSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6Ik1BSUwgRlJPTTo8c3VwcG9ydEBjdXN0b21lci5jb20+In0se3RpbWVzdGFtcDoiMTQ6MjQ6NTkiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgT0siLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjI0OjU5IixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiUkNQVCBUTzo8YWRtaW5Ac2VydmUuem9uZT4ifSx7dGltZXN0YW1wOiIxNDoyNTowMCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBBY2NlcHRlZCIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MjU6MDAiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJEQVRBIn0se3RpbWVzdGFtcDoiMTQ6MjU6MDAiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIzNTQgRW50ZXIgbWVzc2FnZSIscmVzcG9uc2VDb2RlOjM1NH0se3RpbWVzdGFtcDoiMTQ6MjU6MDAiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiIuIn0se3RpbWVzdGFtcDoiMTQ6MjU6MDAiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgT0sgaWQ9MmJSM3NULTAwMDRDZC1FNSIscmVzcG9uc2VDb2RlOjI1MH1dLGNvbm5lY3Rpb25JbmZvOntzb3VyY2VJcDoiMjAzLjAuMTEzLjQ1Iixzb3VyY2VIb3N0bmFtZToibWFpbC5jdXN0b21lci5jb20iLGRlc3RpbmF0aW9uSXA6IjEwLjAuMS41MCIsZGVzdGluYXRpb25Qb3J0OjI1LHRsc1ZlcnNpb246IlRMU3YxLjMiLHRsc0NpcGhlcjoiVExTX0FFU18xMjhfR0NNX1NIQTI1NiIsYXV0aGVudGljYXRlZDohMSxhdXRoTWV0aG9kOiIiLGF1dGhVc2VyOiIifSxhdXRoZW50aWNhdGlvblJlc3VsdHM6e3NwZjoicGFzcyIsc3BmRG9tYWluOiJjdXN0b21lci5jb20iLGRraW06InBhc3MiLGRraW1Eb21haW46ImN1c3RvbWVyLmNvbSIsZG1hcmM6InBhc3MiLGRtYXJjUG9saWN5OiJub25lIn0saGVhZGVyczp7RnJvbToic3VwcG9ydEBjdXN0b21lci5jb20iLFRvOiJhZG1pbkBzZXJ2ZS56b25lIixDQzoib3BzQHNlcnZlLnpvbmUiLFN1YmplY3Q6IlJlOiBJbmZyYXN0cnVjdHVyZSBSZXZpZXciLERhdGU6Ik1vbiwgMTUgSmFuIDIwMjQgMTQ6MjU6MDAgKzAwMDAiLCJNSU1FLVZlcnNpb24iOiIxLjAiLCJDb250ZW50LVR5cGUiOiJ0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04IiwiSW4tUmVwbHktVG8iOiI8cHJldjEyM0BzZXJ2ZS56b25lPiJ9LGJvZHk6YEhpIEFkbWluLAoKVGhhbmsgeW91IGZvciB0aGUgZGV0YWlsZWQgaW5mcmFzdHJ1Y3R1cmUgcmV2aWV3IHJlcG9ydC4KCldlIGhhdmUgcmV2aWV3ZWQgdGhlIHJlY29tbWVuZGF0aW9ucyBhbmQgd291bGQgbGlrZSB0bwpwcm9jZWVkIHdpdGggdGhlIGZvbGxvd2luZzoKCjEuIFVwZ3JhZGUgdG8gdGhlIFBybyB0aWVyCjIuIEVuYWJsZSBhdXRvbWF0aWMgYmFja3VwcwozLiBTZXQgdXAgbW9uaXRvcmluZyBhbGVydHMKClBsZWFzZSBsZXQgdXMga25vdyB0aGUgdGltZWxpbmUgZm9yIHRoZXNlIGNoYW5nZXMuCgpCZXN0IHJlZ2FyZHMsCkN1c3RvbWVyIFN1cHBvcnQgVGVhbWB9fTthc3luYyBvbkFjdGl2YXRlKGIpe3RoaXMuYXBwdWk9Yi5hcHB1aSx0aGlzLmFwcHVpLnNldENvbnRlbnRUYWJzKFt7a2V5OiJBbGwgRW1haWxzIixhY3Rpb246cygoKT0+e3RoaXMuY3VycmVudERpcmVjdGlvbkZpbHRlcj0iYWxsIix0aGlzLmN1cnJlbnRWaWV3PSJsaXN0Iix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfSx7a2V5OiJJbmJvdW5kIixhY3Rpb246cygoKT0+e3RoaXMuY3VycmVudERpcmVjdGlvbkZpbHRlcj0iaW5ib3VuZCIsdGhpcy5jdXJyZW50Vmlldz0ibGlzdCIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX0se2tleToiT3V0Ym91bmQiLGFjdGlvbjpzKCgpPT57dGhpcy5jdXJyZW50RGlyZWN0aW9uRmlsdGVyPSJvdXRib3VuZCIsdGhpcy5jdXJyZW50Vmlldz0ibGlzdCIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX1dKSx0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX11cGRhdGVTZWNvbmRhcnlNZW51KCl7dGhpcy5hcHB1aSYmdGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJFbWFpbCAvIE1UQSIsZ3JvdXBzOlt7bmFtZToiQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiUmVmcmVzaCIsaWNvbk5hbWU6Imx1Y2lkZTpSZWZyZXNoQ3ciLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIlJlZnJlc2ggZW1haWxzIil9LCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJFeHBvcnQgTG9ncyIsaWNvbk5hbWU6Imx1Y2lkZTpEb3dubG9hZCIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiRXhwb3J0IGxvZ3MiKX0sImFjdGlvbiIpfV19LHtuYW1lOiJTdGF0dXMgRmlsdGVycyIsaXRlbXM6W3trZXk6IkRlbGl2ZXJlZCIsaWNvbk5hbWU6Imx1Y2lkZTpDaGVja0NpcmNsZSIsYmFkZ2U6IjUiLGJhZGdlVmFyaWFudDoic3VjY2VzcyIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiRmlsdGVyIGRlbGl2ZXJlZCIpfSwiYWN0aW9uIil9LHtrZXk6IkJvdW5jZWQiLGljb25OYW1lOiJsdWNpZGU6WENpcmNsZSIsYmFkZ2U6IjEiLGJhZGdlVmFyaWFudDoiZXJyb3IiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkZpbHRlciBib3VuY2VkIil9LCJhY3Rpb24iKX0se2tleToiRGVmZXJyZWQiLGljb25OYW1lOiJsdWNpZGU6Q2xvY2siLGJhZGdlOiIxIixiYWRnZVZhcmlhbnQ6Indhcm5pbmciLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkZpbHRlciBkZWZlcnJlZCIpfSwiYWN0aW9uIil9LHtrZXk6IlBlbmRpbmciLGljb25OYW1lOiJsdWNpZGU6TG9hZGVyIixiYWRnZToiMSIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiRmlsdGVyIHBlbmRpbmciKX0sImFjdGlvbiIpfV19LHtuYW1lOiJTdGF0aXN0aWNzIixpdGVtczpbe3R5cGU6ImhlYWRlciIsbGFiZWw6IjggVG90YWwgRW1haWxzIn0se3R5cGU6ImhlYWRlciIsbGFiZWw6IjYyLjUlIERlbGl2ZXJ5IFJhdGUifV19XX0pfW9uRGVhY3RpdmF0ZSgpe31zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHRoaXMuY3VycmVudFZpZXc9PT0iZGV0YWlsIiYmdGhpcy5zZWxlY3RlZEVtYWlsP3dgCiAgICAgICAgPHN6LW10YS1kZXRhaWwtdmlldwogICAgICAgICAgLmVtYWlsPSR7dGhpcy5zZWxlY3RlZEVtYWlsfQogICAgICAgICAgQGJhY2s9JHsoKT0+e3RoaXMuY3VycmVudFZpZXc9Imxpc3QiLHRoaXMuc2VsZWN0ZWRFbWFpbD1udWxsfX0KICAgICAgICA+PC9zei1tdGEtZGV0YWlsLXZpZXc+CiAgICAgIGA6d2AKICAgICAgPHN6LW10YS1saXN0LXZpZXcKICAgICAgICAuZW1haWxzPSR7dGhpcy5jdXJyZW50RGlyZWN0aW9uRmlsdGVyPT09ImFsbCI/dGhpcy5kZW1vRW1haWxzOnRoaXMuZGVtb0VtYWlscy5maWx0ZXIoYj0+Yi5kaXJlY3Rpb249PT10aGlzLmN1cnJlbnREaXJlY3Rpb25GaWx0ZXIpfQogICAgICAgIEBlbWFpbC1jbGljaz0ke2I9PnRoaXMuaGFuZGxlRW1haWxDbGljayhiLmRldGFpbCl9CiAgICAgID48L3N6LW10YS1saXN0LXZpZXc+CiAgICBgfWhhbmRsZUVtYWlsQ2xpY2soYil7bGV0IGc9dGhpcy5kZW1vRW1haWxEZXRhaWxzW2IuaWRdO2c/KHRoaXMuc2VsZWN0ZWRFbWFpbD1nLHRoaXMuY3VycmVudFZpZXc9ImRldGFpbCIpOmNvbnNvbGUubG9nKCJObyBkZXRhaWwgZGF0YSBhdmFpbGFibGUgZm9yIGVtYWlsOiIsYi5pZCl9c3RhdGlje041KHIsdCl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciBtcGEsbWV0LEVSYSxncGE9ZigoKT0+e2xlKCk7ZG4oKTttcGE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LG1ldD1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sRVJhPSgoKT0+e2xldCBhPVtpZSgic3otZGVtby12aWV3LXJvdXRlcyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekRlbW9WaWV3Um91dGVzIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bSygpXSxtcGEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VGFiIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJjdXJyZW50VGFiImluIHAsImhhcyIpLGdldDpzKHA9PnAuY3VycmVudFRhYiwiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLmN1cnJlbnRUYWI9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLG1wYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfWFwcHVpPW51bGw7I2U9bWV0KHRoaXMsbiwiYWxsIik7Z2V0IGN1cnJlbnRUYWIoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY3VycmVudFRhYihjKXt0aGlzLiNlPWN9ZGVtb1JvdXRlcz0obWV0KHRoaXMsbCksW3tpZDoicm91dGUtMSIsbmFtZToiV2ViIEZyb250ZW5kIixkZXNjcmlwdGlvbjoiTWFpbiB3ZWJzaXRlIHdpdGggVExTIHRlcm1pbmF0aW9uIGFuZCBhdXRvbWF0aWMgY2VydGlmaWNhdGVzIixlbmFibGVkOiEwLHByaW9yaXR5OjEwLHRhZ3M6WyJ3ZWIiLCJodHRwcyIsInByb2R1Y3Rpb24iXSxtYXRjaDp7cG9ydHM6NDQzLGRvbWFpbnM6WyJzZXJ2ZS56b25lIiwid3d3LnNlcnZlLnpvbmUiXSxwcm90b2NvbDoiaHR0cCJ9LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6IjEwLjAuMC4xMCIscG9ydDozZTN9XSx0bHM6e21vZGU6InRlcm1pbmF0ZSIsY2VydGlmaWNhdGU6ImF1dG8ifX19LHtpZDoicm91dGUtMiIsbmFtZToiSFRUUCBSZWRpcmVjdCIsZGVzY3JpcHRpb246IlJlZGlyZWN0cyBhbGwgSFRUUCB0cmFmZmljIHRvIEhUVFBTIixlbmFibGVkOiEwLHByaW9yaXR5OjEwMCx0YWdzOlsid2ViIiwiaHR0cCIsInJlZGlyZWN0Il0sbWF0Y2g6e3BvcnRzOjgwLGRvbWFpbnM6WyJzZXJ2ZS56b25lIiwid3d3LnNlcnZlLnpvbmUiXSxwcm90b2NvbDoiaHR0cCJ9LGFjdGlvbjp7dHlwZToic29ja2V0LWhhbmRsZXIifX0se2lkOiJyb3V0ZS0zIixuYW1lOiJTTVRQIEluYm91bmQiLGRlc2NyaXB0aW9uOiJJbmJvdW5kIGVtYWlsIHJlbGF5IGZvciBzZXJ2ZS56b25lIGRvbWFpbiIsZW5hYmxlZDohMCx0YWdzOlsiZW1haWwiLCJzbXRwIiwicHJvZHVjdGlvbiJdLG1hdGNoOntwb3J0czoyNSxkb21haW5zOiJtYWlsLnNlcnZlLnpvbmUifSxhY3Rpb246e3R5cGU6ImZvcndhcmQiLHRhcmdldHM6W3tob3N0OiIxMC4wLjEuNSIscG9ydDoyNX1dLHRsczp7bW9kZToidGVybWluYXRlIixjZXJ0aWZpY2F0ZToiYXV0byJ9fX0se2lkOiJyb3V0ZS00IixuYW1lOiJBUEkgR2F0ZXdheSIsZGVzY3JpcHRpb246IkFQSSBnYXRld2F5IHdpdGggcmF0ZSBsaW1pdGluZywgQ09SUyBoZWFkZXJzLCBhbmQgbG9hZCBiYWxhbmNpbmciLGVuYWJsZWQ6ITAscHJpb3JpdHk6MjAsdGFnczpbIndlYiIsImFwaSIsImh0dHBzIiwicHJvZHVjdGlvbiJdLG1hdGNoOntwb3J0czo0NDMsZG9tYWluczoiYXBpLnNlcnZlLnpvbmUiLHBhdGg6Ii92Mi8qIixwcm90b2NvbDoiaHR0cCJ9LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6WyIxMC4wLjAuMjAiLCIxMC4wLjAuMjEiLCIxMC4wLjAuMjIiXSxwb3J0OjgwODB9XSx0bHM6e21vZGU6InRlcm1pbmF0ZSIsY2VydGlmaWNhdGU6ImF1dG8ifSxsb2FkQmFsYW5jaW5nOnthbGdvcml0aG06InJvdW5kLXJvYmluIn19LHNlY3VyaXR5OntyYXRlTGltaXQ6e2VuYWJsZWQ6ITAsbWF4UmVxdWVzdHM6MjAwLHdpbmRvdzo2MH0sbWF4Q29ubmVjdGlvbnM6NWUzfSxoZWFkZXJzOntyZXNwb25zZTp7IkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiI6IioiLCJYLVJlcXVlc3QtSWQiOiJ7e3JlcXVlc3RJZH19In19fSx7aWQ6InJvdXRlLTUiLG5hbWU6IldlYlNvY2tldCBSZWFsdGltZSIsZGVzY3JpcHRpb246IlJlYWwtdGltZSBXZWJTb2NrZXQgY29ubmVjdGlvbnMgZm9yIGxpdmUgdXBkYXRlcyIsZW5hYmxlZDohMCx0YWdzOlsid2ViIiwiaHR0cHMiLCJ3ZWJzb2NrZXQiXSxtYXRjaDp7cG9ydHM6NDQzLGRvbWFpbnM6IndzLnNlcnZlLnpvbmUiLHBhdGg6Ii93cy8qIixwcm90b2NvbDoiaHR0cCJ9LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6IjEwLjAuMC4zMCIscG9ydDo5MDkwfV0sdGxzOnttb2RlOiJ0ZXJtaW5hdGUiLGNlcnRpZmljYXRlOiJhdXRvIn0sd2Vic29ja2V0OntlbmFibGVkOiEwfX19LHtpZDoicm91dGUtNiIsbmFtZToiVGVuYW50IFdpbGRjYXJkIixkZXNjcmlwdGlvbjoiTXVsdGktdGVuYW50IHdpbGRjYXJkIHJvdXRpbmcgZm9yIGN1c3RvbWVyIHN1YmRvbWFpbnMiLGVuYWJsZWQ6ITAscHJpb3JpdHk6NTAsdGFnczpbIndlYiIsImh0dHBzIiwibXVsdGktdGVuYW50Il0sbWF0Y2g6e3BvcnRzOjQ0Myxkb21haW5zOiIqLmN1c3RvbWVycy5zZXJ2ZS56b25lIixwcm90b2NvbDoiaHR0cCJ9LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6IjEwLjAuMC40MCIscG9ydDo4MDgwfV0sdGxzOnttb2RlOiJ0ZXJtaW5hdGUiLGNlcnRpZmljYXRlOiJhdXRvIn19LHNlY3VyaXR5OntpcEFsbG93TGlzdDpbIjEwLjAuMC4wLzgiLCIxNzIuMTYuMC4wLzEyIl19fSx7aWQ6InJvdXRlLTciLG5hbWU6Ik1pY3Jvc2VydmljZXMgTEIiLGRlc2NyaXB0aW9uOiJMb2FkLWJhbGFuY2VkIG1pY3Jvc2VydmljZXMgYmFja2VuZCB3aXRoIElQLWhhc2ggYWZmaW5pdHkiLGVuYWJsZWQ6ITAsdGFnczpbIndlYiIsImh0dHBzIiwicHJvZHVjdGlvbiJdLG1hdGNoOntwb3J0czpbNDQzLDg0NDNdLGRvbWFpbnM6InNlcnZpY2VzLnNlcnZlLnpvbmUiLHByb3RvY29sOiJodHRwIn0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDpbIjEwLjAuMi4xIiwiMTAuMC4yLjIiLCIxMC4wLjIuMyIsIjEwLjAuMi40Il0scG9ydDozZTN9XSx0bHM6e21vZGU6InRlcm1pbmF0ZS1hbmQtcmVlbmNyeXB0IixjZXJ0aWZpY2F0ZToiYXV0byJ9LGxvYWRCYWxhbmNpbmc6e2FsZ29yaXRobToiaXAtaGFzaCJ9fX0se2lkOiJyb3V0ZS04IixuYW1lOiJETlMgb3ZlciBIVFRQUyIsZGVzY3JpcHRpb246IkROUy1vdmVyLUhUVFBTIHJlc29sdmVyIGVuZHBvaW50IixlbmFibGVkOiEwLHRhZ3M6WyJkbnMiLCJodHRwcyJdLG1hdGNoOntwb3J0czo0NDMsZG9tYWluczoiZG5zLnNlcnZlLnpvbmUiLHBhdGg6Ii9kbnMtcXVlcnkiLHByb3RvY29sOiJodHRwIn0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDoiMTAuMC4zLjEiLHBvcnQ6ODA1M31dLHRsczp7bW9kZToidGVybWluYXRlIixjZXJ0aWZpY2F0ZToiYXV0byJ9fX0se2lkOiJyb3V0ZS05IixuYW1lOiJIaWdoLVBlcmYgVENQIFByb3h5IixkZXNjcmlwdGlvbjoiTkZUYWJsZXMtYWNjZWxlcmF0ZWQgVENQIHByb3h5IGZvciBnYW1lIHNlcnZlcnMiLGVuYWJsZWQ6ITAsdGFnczpbInRjcCIsIm5mdGFibGVzIiwicHJvZHVjdGlvbiJdLG1hdGNoOntwb3J0czpbe2Zyb206MjdlMyx0bzoyNzA1MH1dLHByb3RvY29sOiJ0Y3AifSxhY3Rpb246e3R5cGU6ImZvcndhcmQiLHRhcmdldHM6W3tob3N0OiIxMC4wLjQuMSIscG9ydDoicHJlc2VydmUifV0sZm9yd2FyZGluZ0VuZ2luZToibmZ0YWJsZXMifX0se2lkOiJyb3V0ZS0xMCIsbmFtZToiTGVnYWN5IEFkbWluIFBhbmVsIixkZXNjcmlwdGlvbjoiRGVwcmVjYXRlZCBhZG1pbiBwYW5lbCBcdTIwMTQgZGlzYWJsZWQgZm9yIG1haW50ZW5hbmNlIixlbmFibGVkOiExLHRhZ3M6WyJ3ZWIiLCJodHRwcyIsImRlcHJlY2F0ZWQiXSxtYXRjaDp7cG9ydHM6NDQzLGRvbWFpbnM6ImFkbWluLW9sZC5zZXJ2ZS56b25lIixwcm90b2NvbDoiaHR0cCJ9LGFjdGlvbjp7dHlwZToic29ja2V0LWhhbmRsZXIifSxzZWN1cml0eTp7aXBCbG9ja0xpc3Q6WyIwLjAuMC4wLzAiXX19XSk7Z2V0IGZpbHRlcmVkUm91dGVzKCl7cmV0dXJuIHRoaXMuY3VycmVudFRhYj09PSJhbGwiP3RoaXMuZGVtb1JvdXRlczp0aGlzLmN1cnJlbnRUYWI9PT0iaHR0cHMiP3RoaXMuZGVtb1JvdXRlcy5maWx0ZXIoYz0+Yy50YWdzPy5zb21lKHA9Plsid2ViIiwiaHR0cHMiLCJodHRwIl0uaW5jbHVkZXMocCkpKTp0aGlzLmN1cnJlbnRUYWI9PT0iZW1haWwiP3RoaXMuZGVtb1JvdXRlcy5maWx0ZXIoYz0+Yy50YWdzPy5zb21lKHA9PlsiZW1haWwiLCJzbXRwIl0uaW5jbHVkZXMocCkpKTp0aGlzLmN1cnJlbnRUYWI9PT0iZG5zIj90aGlzLmRlbW9Sb3V0ZXMuZmlsdGVyKGM9PmMudGFncz8uc29tZShwPT5bImRucyJdLmluY2x1ZGVzKHApKSk6dGhpcy5kZW1vUm91dGVzfWFzeW5jIG9uQWN0aXZhdGUoYyl7dGhpcy5hcHB1aT1jLmFwcHVpLHRoaXMuYXBwdWkuc2V0Q29udGVudFRhYnMoW3trZXk6IkFsbCBSb3V0ZXMiLGFjdGlvbjpzKCgpPT57dGhpcy5jdXJyZW50VGFiPSJhbGwiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfSwiYWN0aW9uIil9LHtrZXk6IkhUVFAvUyIsYWN0aW9uOnMoKCk9Pnt0aGlzLmN1cnJlbnRUYWI9Imh0dHBzIix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfSx7a2V5OiJFbWFpbCIsYWN0aW9uOnMoKCk9Pnt0aGlzLmN1cnJlbnRUYWI9ImVtYWlsIix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfSx7a2V5OiJETlMiLGFjdGlvbjpzKCgpPT57dGhpcy5jdXJyZW50VGFiPSJkbnMiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfSwiYWN0aW9uIil9XSksdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9dXBkYXRlU2Vjb25kYXJ5TWVudSgpe2lmKCF0aGlzLmFwcHVpKXJldHVybjtsZXQgYz10aGlzLmRlbW9Sb3V0ZXMubGVuZ3RoLHA9dGhpcy5kZW1vUm91dGVzLmZpbHRlcihtPT5tLmVuYWJsZWQhPT0hMSkubGVuZ3RoLHU9dGhpcy5kZW1vUm91dGVzLmZpbHRlcihtPT5tLmFjdGlvbi50eXBlPT09ImZvcndhcmQiKS5sZW5ndGg7dGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJSb3V0ZXMiLGdyb3Vwczpbe25hbWU6IkFjdGlvbnMiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IlJlZnJlc2giLGljb25OYW1lOiJsdWNpZGU6UmVmcmVzaEN3IixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJSZWZyZXNoIHJvdXRlcyIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiQWRkIFJvdXRlIixpY29uTmFtZToibHVjaWRlOlBsdXMiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkFkZCByb3V0ZSIpfSwiYWN0aW9uIil9XX0se25hbWU6IlN0YXRpc3RpY3MiLGl0ZW1zOlt7dHlwZToiaGVhZGVyIixsYWJlbDpgJHtjfSBUb3RhbCBSb3V0ZXNgfSx7dHlwZToiaGVhZGVyIixsYWJlbDpgJHtwfSBBY3RpdmVgfSx7dHlwZToiaGVhZGVyIixsYWJlbDpgJHt1fSBGb3J3YXJkYH0se3R5cGU6ImhlYWRlciIsbGFiZWw6YCR7Yy11fSBTb2NrZXQgSGFuZGxlcmB9XX1dfSl9b25EZWFjdGl2YXRlKCl7fXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHN6LXJvdXRlLWxpc3QtdmlldwogICAgICAgIC5yb3V0ZXM9JHt0aGlzLmZpbHRlcmVkUm91dGVzfQogICAgICAgIEByb3V0ZS1jbGljaz0ke2M9Pntjb25zb2xlLmxvZygiUm91dGUgY2xpY2tlZDoiLGMuZGV0YWlsLm5hbWUpfX0KICAgICAgPjwvc3otcm91dGUtbGlzdC12aWV3PgogICAgYH1zdGF0aWN7bWV0KHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciBQUmEsSVJhLE5SYSxicGE9ZigoKT0+e2xlKCk7ZG4oKTtQUmE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LElSYT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sTlJhPSgoKT0+e2xldCBhPVtpZSgic3otZGVtby12aWV3LWNvbmZpZyIpXSxlLHQ9W10scixpPXBlO3ZhciBvPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekRlbW9WaWV3Q29uZmlnIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG49dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7UFJhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm59LG51bGwsdCksbz1yPWUudmFsdWUsbiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpufSl9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8c3otY29uZmlnLW92ZXJ2aWV3CiAgICAgICAgaW5mb1RleHQ9IlRoaXMgdmlldyBkaXNwbGF5cyB0aGUgY3VycmVudCBydW5uaW5nIGNvbmZpZ3VyYXRpb24uIERjUm91dGVyIGlzIGNvbmZpZ3VyZWQgdGhyb3VnaCBjb2RlIG9yIHJlbW90ZSBtYW5hZ2VtZW50LiIKICAgICAgPgogICAgICAgIDxzei1jb25maWctc2VjdGlvbgogICAgICAgICAgdGl0bGU9IlN5c3RlbSIKICAgICAgICAgIHN1YnRpdGxlPSJCYXNlIHBhdGhzIGFuZCBpbmZyYXN0cnVjdHVyZSIKICAgICAgICAgIGljb249Imx1Y2lkZTpzZXJ2ZXIiCiAgICAgICAgICBzdGF0dXM9ImVuYWJsZWQiCiAgICAgICAgICAuZmllbGRzPSR7W3trZXk6IkJhc2UgRGlyZWN0b3J5Iix2YWx1ZToiL2hvbWUvdXNlci8uc2VydmUuem9uZS9kY3JvdXRlciJ9LHtrZXk6IkRhdGEgRGlyZWN0b3J5Iix2YWx1ZToiL2hvbWUvdXNlci8uc2VydmUuem9uZS9kY3JvdXRlci9kYXRhIn0se2tleToiUHVibGljIElQIix2YWx1ZToiMjAzLjAuMTEzLjUwIn0se2tleToiUHJveHkgSVBzIix2YWx1ZTpbIjIwMy4wLjExMy4xMCIsIjIwMy4wLjExMy4xMSJdLHR5cGU6InBpbGxzIn0se2tleToiVXB0aW1lIix2YWx1ZToiM2QgMTRoIDIybSJ9LHtrZXk6IlN0b3JhZ2UgQmFja2VuZCIsdmFsdWU6ImZpbGVzeXN0ZW0iLHR5cGU6ImJhZGdlIn1dfQogICAgICAgID48L3N6LWNvbmZpZy1zZWN0aW9uPgoKICAgICAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgICAgIHRpdGxlPSJTbWFydFByb3h5IgogICAgICAgICAgc3VidGl0bGU9IkhUVFAvSFRUUFMgYW5kIFRDUC9TTkkgcmV2ZXJzZSBwcm94eSIKICAgICAgICAgIGljb249Imx1Y2lkZTpuZXR3b3JrIgogICAgICAgICAgc3RhdHVzPSJlbmFibGVkIgogICAgICAgICAgLmZpZWxkcz0ke1t7a2V5OiJSb3V0ZSBDb3VudCIsdmFsdWU6MTJ9LHtrZXk6IkFDTUUgRW5hYmxlZCIsdmFsdWU6ITAsdHlwZToiYm9vbGVhbiJ9LHtrZXk6IkFjY291bnQgRW1haWwiLHZhbHVlOiJhZG1pbkBzZXJ2ZS56b25lIn0se2tleToiVXNlIFByb2R1Y3Rpb24iLHZhbHVlOiEwLHR5cGU6ImJvb2xlYW4ifSx7a2V5OiJBdXRvIFJlbmV3Iix2YWx1ZTohMCx0eXBlOiJib29sZWFuIn0se2tleToiUmVuZXcgVGhyZXNob2xkIix2YWx1ZToiMzAgZGF5cyJ9XX0KICAgICAgICAgIC5hY3Rpb25zPSR7W3tsYWJlbDoiVmlldyBSb3V0ZXMiLGljb246Imx1Y2lkZTphcnJvdy1yaWdodCIsZXZlbnQ6Im5hdmlnYXRlIixkZXRhaWw6e3ZpZXc6InJvdXRlcyJ9fV19CiAgICAgICAgPjwvc3otY29uZmlnLXNlY3Rpb24+CgogICAgICAgIDxzei1jb25maWctc2VjdGlvbgogICAgICAgICAgdGl0bGU9IkVtYWlsIFNlcnZlciIKICAgICAgICAgIHN1YnRpdGxlPSJTTVRQIGVtYWlsIGhhbmRsaW5nIHdpdGggc21hcnRtdGEiCiAgICAgICAgICBpY29uPSJsdWNpZGU6bWFpbCIKICAgICAgICAgIHN0YXR1cz0iZW5hYmxlZCIKICAgICAgICAgIC5maWVsZHM9JHtbe2tleToiUG9ydHMiLHZhbHVlOlsiMjUiLCI0NjUiLCI1ODciXSx0eXBlOiJwaWxscyJ9LHtrZXk6Ikhvc3RuYW1lIix2YWx1ZToibWFpbC5zZXJ2ZS56b25lIn0se2tleToiRG9tYWlucyIsdmFsdWU6WyJzZXJ2ZS56b25lIiwibWFpbC5zZXJ2ZS56b25lIl0sdHlwZToicGlsbHMifSx7a2V5OiJFbWFpbCBSb3V0ZXMiLHZhbHVlOjV9LHtrZXk6IlJlY2VpdmVkIFBhdGgiLHZhbHVlOiIvZGF0YS9lbWFpbHMifV19CiAgICAgICAgPjwvc3otY29uZmlnLXNlY3Rpb24+CgogICAgICAgIDxzei1jb25maWctc2VjdGlvbgogICAgICAgICAgdGl0bGU9IkROUyBTZXJ2ZXIiCiAgICAgICAgICBzdWJ0aXRsZT0iQXV0aG9yaXRhdGl2ZSBETlMgd2l0aCBzbWFydGRucyIKICAgICAgICAgIGljb249Imx1Y2lkZTpnbG9iZSIKICAgICAgICAgIHN0YXR1cz0iZW5hYmxlZCIKICAgICAgICAgIC5maWVsZHM9JHtbe2tleToiUG9ydCIsdmFsdWU6NTN9LHtrZXk6Ik5TIERvbWFpbnMiLHZhbHVlOlsibnMxLnNlcnZlLnpvbmUiLCJuczIuc2VydmUuem9uZSJdLHR5cGU6InBpbGxzIn0se2tleToiU2NvcGVzIix2YWx1ZTpbInNlcnZlLnpvbmUiLCJleGFtcGxlLmNvbSJdLHR5cGU6InBpbGxzIn0se2tleToiUmVjb3JkIENvdW50Iix2YWx1ZToyNH0se2tleToiRE5TIENoYWxsZW5nZSIsdmFsdWU6ITAsdHlwZToiYm9vbGVhbiJ9XX0KICAgICAgICA+PC9zei1jb25maWctc2VjdGlvbj4KCiAgICAgICAgPHN6LWNvbmZpZy1zZWN0aW9uCiAgICAgICAgICB0aXRsZT0iVExTIC8gQ2VydGlmaWNhdGVzIgogICAgICAgICAgc3VidGl0bGU9IkNlcnRpZmljYXRlIG1hbmFnZW1lbnQgYW5kIEFDTUUiCiAgICAgICAgICBpY29uPSJsdWNpZGU6c2hpZWxkLWNoZWNrIgogICAgICAgICAgc3RhdHVzPSJlbmFibGVkIgogICAgICAgICAgLmZpZWxkcz0ke1t7a2V5OiJDb250YWN0IEVtYWlsIix2YWx1ZToiYWRtaW5Ac2VydmUuem9uZSJ9LHtrZXk6IkRvbWFpbiIsdmFsdWU6InNlcnZlLnpvbmUifSx7a2V5OiJTb3VyY2UiLHZhbHVlOiJhY21lIix0eXBlOiJiYWRnZSJ9LHtrZXk6IkNlcnRpZmljYXRlIFBhdGgiLHZhbHVlOm51bGx9LHtrZXk6IktleSBQYXRoIix2YWx1ZTpudWxsfV19CiAgICAgICAgPjwvc3otY29uZmlnLXNlY3Rpb24+CgogICAgICAgIDxzei1jb25maWctc2VjdGlvbgogICAgICAgICAgdGl0bGU9IkNhY2hlIERhdGFiYXNlIgogICAgICAgICAgc3VidGl0bGU9IlBlcnNpc3RlbnQgY2FjaGluZyB3aXRoIHNtYXJ0ZGF0YSIKICAgICAgICAgIGljb249Imx1Y2lkZTpkYXRhYmFzZSIKICAgICAgICAgIHN0YXR1cz0iZW5hYmxlZCIKICAgICAgICAgIC5maWVsZHM9JHtbe2tleToiU3RvcmFnZSBQYXRoIix2YWx1ZToiL2hvbWUvdXNlci8uc2VydmUuem9uZS9kY3JvdXRlci90c21kYiJ9LHtrZXk6IkRCIE5hbWUiLHZhbHVlOiJkY3JvdXRlciJ9LHtrZXk6IkRlZmF1bHQgVFRMIix2YWx1ZToiMzAgZGF5cyJ9LHtrZXk6IkNsZWFudXAgSW50ZXJ2YWwiLHZhbHVlOiIxIGhvdXIifV19CiAgICAgICAgPjwvc3otY29uZmlnLXNlY3Rpb24+CgogICAgICAgIDxzei1jb25maWctc2VjdGlvbgogICAgICAgICAgdGl0bGU9IlJBRElVUyBTZXJ2ZXIiCiAgICAgICAgICBzdWJ0aXRsZT0iTmV0d29yayBhdXRoZW50aWNhdGlvbiBhbmQgVkxBTiBhc3NpZ25tZW50IgogICAgICAgICAgaWNvbj0ibHVjaWRlOndpZmkiCiAgICAgICAgICBzdGF0dXM9Im5vdC1jb25maWd1cmVkIgogICAgICAgICAgLmZpZWxkcz0ke1t7a2V5OiJBdXRoIFBvcnQiLHZhbHVlOm51bGx9LHtrZXk6IkFjY291bnRpbmcgUG9ydCIsdmFsdWU6bnVsbH1dfQogICAgICAgID48L3N6LWNvbmZpZy1zZWN0aW9uPgoKICAgICAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgICAgIHRpdGxlPSJSZW1vdGUgSW5ncmVzcyIKICAgICAgICAgIHN1YnRpdGxlPSJFZGdlIHR1bm5lbCBub2RlcyIKICAgICAgICAgIGljb249Imx1Y2lkZTpjbG91ZCIKICAgICAgICAgIHN0YXR1cz0iZW5hYmxlZCIKICAgICAgICAgIC5maWVsZHM9JHtbe2tleToiVHVubmVsIFBvcnQiLHZhbHVlOjg0NDN9LHtrZXk6Ikh1YiBEb21haW4iLHZhbHVlOiJodWIuc2VydmUuem9uZSJ9LHtrZXk6IlRMUyBDb25maWd1cmVkIix2YWx1ZTohMCx0eXBlOiJib29sZWFuIn1dfQogICAgICAgID48L3N6LWNvbmZpZy1zZWN0aW9uPgogICAgICA8L3N6LWNvbmZpZy1vdmVydmlldz4KICAgIGB9c3RhdGlje0lSYShyLHQpfX07cmV0dXJuIG89cn0pKCl9KTt2YXIgZG49ZigoKT0+e1JKZSgpO0ZKZSgpO0hKZSgpO3FKZSgpO1ZKZSgpO1VKZSgpO0dKZSgpO0tKZSgpO1hKZSgpO1FKZSgpO0pKZSgpO0l1YSgpO051YSgpO091YSgpO0Z1YSgpO0J1YSgpO3F1YSgpO2p1YSgpO1V1YSgpO1d1YSgpO0d1YSgpO1l1YSgpO0t1YSgpO1p1YSgpO1h1YSgpO1F1YSgpO0p1YSgpO2VwYSgpO2FwYSgpO3JwYSgpO3NwYSgpO2lwYSgpO29wYSgpO25wYSgpO2xwYSgpO2NwYSgpO3VwYSgpO3BwYSgpO2ZwYSgpO2hwYSgpO2dwYSgpO2JwYSgpfSk7dmFyIFk1byx2cGE9ZigoKT0+e2xlKCk7WTVvPXMoKCk9PndgCiAgPHN0eWxlPgogICAgYm9keSB7CiAgICAgIG1hcmdpbjogMDsKICAgICAgcGFkZGluZzogMDsKICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTsKICAgIH0KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgcGFkZGluZzogMjRweDsKICAgIH0KICAgIC5kZW1vLXNlY3Rpb24gewogICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgcGFkZGluZzogNDhweDsKICAgICAgYm94LXNoYWRvdzogMCA0cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICAgIG1heC13aWR0aDogNjAwcHg7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgfQogICAgaDEgewogICAgICBtYXJnaW46IDAgMCAzMnB4IDA7CiAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjsKICAgICAgZm9udC1zaXplOiAyOHB4OwogICAgICBjb2xvcjogIzFhMWExYTsKICAgIH0KICAgIC5jb21wb25lbnQtZGVtbyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogMTZweDsKICAgIH0KICA8L3N0eWxlPgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMT5TZXJ2ZS5ab25lIENhdGFsb2c8L2gxPgogICAgICA8ZGl2IGNsYXNzPSJjb21wb25lbnQtZGVtbyI+CiAgICAgICAgPHN6LWhlbGxvPjwvc3otaGVsbG8+CiAgICAgICAgPHN6LWhlbGxvIHRleHQ9IldlbGNvbWUgdG8gU2VydmUuWm9uZSEiPjwvc3otaGVsbG8+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CmAsIm1haW5wYWdlIil9KTt2YXIgSjVvLHhwYT1mKCgpPT57bGUoKTtkbigpO0o1bz1zKCgpPT53YAogIDxzdHlsZT4KICAgIGh0bWwsIGJvZHkgewogICAgICBtYXJnaW46IDA7CiAgICAgIHBhZGRpbmc6IDA7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CiAgICBzei1kZW1vLWFwcC1zaGVsbCB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICB3aWR0aDogMTAwdnc7CiAgICB9CiAgPC9zdHlsZT4KICA8c3otZGVtby1hcHAtc2hlbGw+PC9zei1kZW1vLWFwcC1zaGVsbD4KYCwic3pEZW1vQXBwIil9KTt2YXIgUlJhLE9SYSxGUmEseXBhPWYoKCk9PntsZSgpO0lKZSgpO2RuKCk7UlJhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxPUmE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEZSYT0oKCk9PntsZXQgYT1baWUoInN6LWRlbW8tYXBwLXNoZWxsIildLGUsdD1bXSxyLGk9cGU7dmFyIG89Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6RGVtb0FwcFNoZWxsIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG49dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7UlJhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm59LG51bGwsdCksbz1yPWUudmFsdWUsbiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpufSl9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIGRlZXMtYXBwdWkgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkZWVzLWFwcHVpPjwvZGVlcy1hcHB1aT4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7bGV0IG49dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLWFwcHVpIik7biYmKG4uY29uZmlndXJlKHticmFuZGluZzp7bG9nb0ljb246Imx1Y2lkZTpCb3giLGxvZ29UZXh0OiJzZXJ2ZS56b25lIn0sYXBwQmFyOntzaG93U2VhcmNoOiEwLGJyZWFkY3J1bWJzOiJzZXJ2ZS56b25lIixtZW51SXRlbXM6W3tuYW1lOiJGaWxlIixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6Ik5ldyBTZXJ2aWNlIixzaG9ydGN1dDoiQ21kK04iLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiTmV3IFNlcnZpY2UiKX0sImFjdGlvbiIpfSx7bmFtZToiSW1wb3J0IENvbmZpZ3VyYXRpb24iLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiSW1wb3J0Iil9LCJhY3Rpb24iKX0se25hbWU6IkV4cG9ydCBDb25maWd1cmF0aW9uIixhY3Rpb246cyhhc3luYygpPT57Y29uc29sZS5sb2coIkV4cG9ydCIpfSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiUHJlZmVyZW5jZXMiLHNob3J0Y3V0OiJDbWQrLCIsYWN0aW9uOnMoYXN5bmMoKT0+e24ubmF2aWdhdGVUb1ZpZXcoInNldHRpbmdzIil9LCJhY3Rpb24iKX1dfSx7bmFtZToiVmlldyIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJEYXNoYm9hcmQiLHNob3J0Y3V0OiJDbWQrMSIsYWN0aW9uOnMoYXN5bmMoKT0+e24ubmF2aWdhdGVUb1ZpZXcoImRhc2hib2FyZCIpfSwiYWN0aW9uIil9LHtuYW1lOiJTZXJ2aWNlcyIsc2hvcnRjdXQ6IkNtZCsyIixhY3Rpb246cyhhc3luYygpPT57bi5uYXZpZ2F0ZVRvVmlldygic2VydmljZXMiKX0sImFjdGlvbiIpfSx7bmFtZToiTmV0d29yayIsc2hvcnRjdXQ6IkNtZCszIixhY3Rpb246cyhhc3luYygpPT57bi5uYXZpZ2F0ZVRvVmlldygibmV0d29yayIpfSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiQWN0aXZpdHkgTG9nIixzaG9ydGN1dDoiQ21kK1NoaWZ0K0EiLGFjdGlvbjpzKGFzeW5jKCk9PntuLnRvZ2dsZUFjdGl2aXR5TG9nKCl9LCJhY3Rpb24iKX0se25hbWU6IlRvZ2dsZSBTaWRlYmFyIixzaG9ydGN1dDoiQ21kK0IiLGFjdGlvbjpzKGFzeW5jKCk9PntuLnNldE1haW5NZW51Q29sbGFwc2VkKCFuLm1haW5tZW51Q29sbGFwc2VkKX0sImFjdGlvbiIpfV19LHtuYW1lOiJTZXJ2aWNlcyIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJEZXBsb3kgTmV3IFNlcnZpY2UiLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiRGVwbG95Iil9LCJhY3Rpb24iKX0se25hbWU6IlN0YXJ0IEFsbCIsYWN0aW9uOnMoYXN5bmMoKT0+e2NvbnNvbGUubG9nKCJTdGFydCBhbGwiKX0sImFjdGlvbiIpfSx7bmFtZToiU3RvcCBBbGwiLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiU3RvcCBhbGwiKX0sImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkdhcmJhZ2UgQ29sbGVjdCIsYWN0aW9uOnMoYXN5bmMoKT0+e2NvbnNvbGUubG9nKCJHQyIpfSwiYWN0aW9uIil9XX0se25hbWU6IkhlbHAiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiRG9jdW1lbnRhdGlvbiIsYWN0aW9uOnMoYXN5bmMoKT0+e3dpbmRvdy5vcGVuKCJodHRwczovL2RvY3Muc2VydmUuem9uZSIsIl9ibGFuayIpfSwiYWN0aW9uIil9LHtuYW1lOiJSZWxlYXNlIE5vdGVzIixhY3Rpb246cyhhc3luYygpPT57Y29uc29sZS5sb2coIlJlbGVhc2Ugbm90ZXMiKX0sImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkFib3V0IHNlcnZlLnpvbmUiLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiQWJvdXQiKX0sImFjdGlvbiIpfV19XX0sdmlld3M6W3tpZDoiZGFzaGJvYXJkIixuYW1lOiJEYXNoYm9hcmQiLGljb25OYW1lOiJsdWNpZGU6TGF5b3V0RGFzaGJvYXJkIixjb250ZW50OiJzei1kZW1vLXZpZXctZGFzaGJvYXJkIn0se2lkOiJzZXJ2aWNlcyIsbmFtZToiU2VydmljZXMiLGljb25OYW1lOiJsdWNpZGU6U2VydmVyIixjb250ZW50OiJzei1kZW1vLXZpZXctc2VydmljZXMifSx7aWQ6Im5ldHdvcmsiLG5hbWU6Ik5ldHdvcmsiLGljb25OYW1lOiJsdWNpZGU6TmV0d29yayIsY29udGVudDoic3otZGVtby12aWV3LW5ldHdvcmsifSx7aWQ6InJlZ2lzdHJpZXMiLG5hbWU6IlJlZ2lzdHJpZXMiLGljb25OYW1lOiJsdWNpZGU6QXJjaGl2ZSIsY29udGVudDoic3otZGVtby12aWV3LXJlZ2lzdHJpZXMifSx7aWQ6InRva2VucyIsbmFtZToiVG9rZW5zIixpY29uTmFtZToibHVjaWRlOktleSIsY29udGVudDoic3otZGVtby12aWV3LXRva2VucyJ9LHtpZDoibXRhIixuYW1lOiJFbWFpbCAvIE1UQSIsaWNvbk5hbWU6Imx1Y2lkZTpNYWlsIixjb250ZW50OiJzei1kZW1vLXZpZXctbXRhIn0se2lkOiJyb3V0ZXMiLG5hbWU6IlJvdXRlcyIsaWNvbk5hbWU6Imx1Y2lkZTpSb3V0ZSIsY29udGVudDoic3otZGVtby12aWV3LXJvdXRlcyJ9LHtpZDoic2V0dGluZ3MiLG5hbWU6IlNldHRpbmdzIixpY29uTmFtZToibHVjaWRlOlNldHRpbmdzIixjb250ZW50OiJzei1kZW1vLXZpZXctc2V0dGluZ3MifV0sbWFpbk1lbnU6e3NlY3Rpb25zOlt7bmFtZToiT3ZlcnZpZXciLHZpZXdzOlsiZGFzaGJvYXJkIl19LHtuYW1lOiJJbmZyYXN0cnVjdHVyZSIsdmlld3M6WyJzZXJ2aWNlcyIsIm5ldHdvcmsiLCJyZWdpc3RyaWVzIiwibXRhIiwicm91dGVzIl19LHtuYW1lOiJBZG1pbmlzdHJhdGlvbiIsdmlld3M6WyJ0b2tlbnMiLCJzZXR0aW5ncyJdfV19LGRlZmF1bHRWaWV3OiJkYXNoYm9hcmQiLG9uVmlld0NoYW5nZTpzKChsLGQpPT57Y29uc29sZS5sb2coIlZpZXcgY2hhbmdlZCB0bzoiLGwsZCl9LCJvblZpZXdDaGFuZ2UiKX0pLG4uc2V0VXNlcih7bmFtZToiQWRtaW4gVXNlciIsZW1haWw6ImFkbWluQHNlcnZlLnpvbmUiLHN0YXR1czoib25saW5lIn0pLG4uc2V0UHJvZmlsZU1lbnVJdGVtcyhbe25hbWU6IlByb2ZpbGUiLGljb25OYW1lOiJsdWNpZGU6VXNlciIsYWN0aW9uOnMoYXN5bmMoKT0+e2NvbnNvbGUubG9nKCJQcm9maWxlIil9LCJhY3Rpb24iKX0se25hbWU6IlByZWZlcmVuY2VzIixpY29uTmFtZToibHVjaWRlOlNsaWRlcnNIb3Jpem9udGFsIixhY3Rpb246cyhhc3luYygpPT57Y29uc29sZS5sb2coIlByZWZlcmVuY2VzIil9LCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJTaWduIE91dCIsaWNvbk5hbWU6Imx1Y2lkZTpMb2dPdXQiLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiU2lnbiBPdXQiKX0sImFjdGlvbiIpfV0pKX1zdGF0aWN7T1JhKHIsdCl9fTtyZXR1cm4gbz1yfSkoKX0pO3ZhciB3cGE9ZigoKT0+e3ZwYSgpO3hwYSgpO3lwYSgpfSk7dmFyIE1wYT1mKCgpPT57ZG4oKTt3cGEoKX0pO3ZhciBZNCxLND1mKCgpPT57bTMoKTtZND1CaShVNygpLDEpO0ZoKCk7SGxlKCk7U2woKTtqbGUoKTtacygpO01YKCl9KTt2YXIgZTIsaDc9ZigoKT0+e0s0KCk7ZTI9Y2xhc3N7c3RhdGlje3ModGhpcywiVHlwZWRSZXNwb25zZUVycm9yIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLmVycm9yVGV4dD1lLHRoaXMuZXJyb3JEYXRhPXR9fX0pO3ZhciB6aWUsa3BhPWYoKCk9PntoNygpO0s0KCk7emllPWNsYXNze3N0YXRpY3tzKHRoaXMsIlR5cGVkVG9vbHMiKX1jb25zdHJ1Y3Rvcigpe3RoaXMubG9jYWxEYXRhPXt9fWFzeW5jIHBhc3NHdWFyZHMoZSx0KXtsZXQgcj1uZXcgQWwuR3VhcmRTZXQoZSk7aWYoIWF3YWl0IHIuYWxsR3VhcmRzUGFzcyh0KSl7bGV0IG89YXdhaXQgci5nZXRGYWlsZWRIaW50KHQpO3Rocm93IG5ldyBlMihgZ3VhcmQgZmFpbGVkOiAke299YCx7ZmFpbGVkSGludDpvfSl9fX19KTt2YXIgZ2V0LGJldD1mKCgpPT57SzQoKTtoNygpO2twYSgpO2dldD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJUeXBlZEhhbmRsZXIiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMubWV0aG9kPWUsdGhpcy5oYW5kbGVyRnVuY3Rpb249dH1hc3luYyBhZGRSZXNwb25zZShlKXtpZihlLm1ldGhvZCE9PXRoaXMubWV0aG9kKXRocm93IG5ldyBFcnJvcigidGhpcyBoYW5kbGVyIGhhcyBiZWVuIGdpdmVuIGEgd3JvbmcgbWV0aG9kIHRvIGFuc3dlciB0by4gUGxlYXNlIHVzZSBhIFR5cGVkUm91dGVyIHRvIGZpbHRlciByZXF1ZXN0cyIpO2xldCB0LHI9bmV3IHppZTtlLmxvY2FsRGF0YSYmKHIubG9jYWxEYXRhPWUubG9jYWxEYXRhKTtsZXQgaT1hd2FpdCB0aGlzLmhhbmRsZXJGdW5jdGlvbihlLnJlcXVlc3QscikuY2F0Y2gobz0+e28gaW5zdGFuY2VvZiBlMj90PW86Y29uc29sZS5sb2cobyl9KTtyZXR1cm4gdCYmKGUuZXJyb3I9e3RleHQ6dC5lcnJvclRleHQsZGF0YTp0LmVycm9yRGF0YX0pLGkmJihlLnJlc3BvbnNlPWkpLGU/LmNvcnJlbGF0aW9uPy5waGFzZSYmKGUuY29ycmVsYXRpb24ucGhhc2U9InJlc3BvbnNlIiksZX19fSk7dmFyIFI1LFBHPWYoKCk9PntLNCgpO0NpZSgpO2JldCgpO3ZldCgpO2g3KCk7UjU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJUeXBlZFJvdXRlciIpfWNvbnN0cnVjdG9yKCl7dGhpcy5ob29rcz17fSx0aGlzLnJvdXRlck1hcD1uZXcgR2EuT2JqZWN0TWFwLHRoaXMuaGFuZGxlck1hcD1uZXcgR2EuT2JqZWN0TWFwLHRoaXMucmVnaXN0ZXJlZFZpcnR1YWxTdHJlYW1zPW5ldyBHYS5PYmplY3RNYXAsdGhpcy5taWRkbGV3YXJlcz1bXSx0aGlzLmZpcmVFdmVudEludGVyZXN0TWFwPW5ldyBHYS5JbnRlcmVzdE1hcChlPT5lKX1zdGF0aWMgZ2V0IGdsb2JhbEhvb2tzKCl7cmV0dXJuIGdsb2JhbFRoaXMuX190eXBlZFJvdXRlckdsb2JhbEhvb2tzfHwoZ2xvYmFsVGhpcy5fX3R5cGVkUm91dGVyR2xvYmFsSG9va3M9e30pLGdsb2JhbFRoaXMuX190eXBlZFJvdXRlckdsb2JhbEhvb2tzfXN0YXRpYyBzZXQgZ2xvYmFsSG9va3MoZSl7Z2xvYmFsVGhpcy5fX3R5cGVkUm91dGVyR2xvYmFsSG9va3M9ZX1zdGF0aWMgc2V0R2xvYmFsSG9va3MoZSl7bGV0IHQ9YS5nbG9iYWxIb29rczthLmdsb2JhbEhvb2tzPXsuLi50LC4uLmV9fXN0YXRpYyBjbGVhckdsb2JhbEhvb2tzKCl7Z2xvYmFsVGhpcy5fX3R5cGVkUm91dGVyR2xvYmFsSG9va3M9e319c2V0SG9va3MoZSl7dGhpcy5ob29rcz17Li4udGhpcy5ob29rcywuLi5lfX1jYWxsSG9vayhlLHQpe3RyeXthLmdsb2JhbEhvb2tzW2VdPy4odCksdGhpcy5ob29rc1tlXT8uKHQpfWNhdGNoKHIpe2NvbnNvbGUuZXJyb3IoYFR5cGVkUm91dGVyIGhvb2sgZXJyb3IgKCR7ZX0pOmAscil9fWFkZE1pZGRsZXdhcmUoZSl7dGhpcy5taWRkbGV3YXJlcy5wdXNoKGUpfWFkZFR5cGVkSGFuZGxlcihlKXtpZih0aGlzLmdldFR5cGVkSGFuZGxlckZvck1ldGhvZChlLm1ldGhvZCkpdGhyb3cgbmV3IEVycm9yKGBhIFR5cGVkSGFuZGxlciBmb3IgJHtlLm1ldGhvZH0gYWxyZWR5IGV4aXN0cyEgQ2FuJ3QgYWRkIGFub3RoZXIgb25lLmApO3RoaXMuaGFuZGxlck1hcC5hZGQoZSl9YWRkVHlwZWRSb3V0ZXIoZSl7dGhpcy5yb3V0ZXJNYXAuZmluZFN5bmMocj0+cj09PWUpfHwodGhpcy5yb3V0ZXJNYXAuYWRkKGUpLGUuYWRkVHlwZWRSb3V0ZXIodGhpcykpfWNoZWNrRm9yVHlwZWRIYW5kbGVyKGUpe3JldHVybiEhdGhpcy5nZXRUeXBlZEhhbmRsZXJGb3JNZXRob2QoZSl9Z2V0VHlwZWRIYW5kbGVyRm9yTWV0aG9kKGUsdD1bXSl7dC5wdXNoKHRoaXMpO2xldCByO3JldHVybiByPXRoaXMuaGFuZGxlck1hcC5maW5kU3luYyhpPT5pLm1ldGhvZD09PWUpLHJ8fHRoaXMucm91dGVyTWFwLmdldEFycmF5KCkuZm9yRWFjaChpPT57IXImJiF0LmluY2x1ZGVzKGkpJiYocj1pLmdldFR5cGVkSGFuZGxlckZvck1ldGhvZChlLHQpKX0pLHJ9Z2V0VHlwZWRIYW5kbGVyQW5kUm91dGVyKGUsdD1bXSl7dC5wdXNoKHRoaXMpO2xldCByPXRoaXMuaGFuZGxlck1hcC5maW5kU3luYyhpPT5pLm1ldGhvZD09PWUpO2lmKHIpcmV0dXJue2hhbmRsZXI6cixyb3V0ZXI6dGhpc307Zm9yKGxldCBpIG9mIHRoaXMucm91dGVyTWFwLmdldEFycmF5KCkpaWYoIXQuaW5jbHVkZXMoaSkpe2xldCBvPWkuZ2V0VHlwZWRIYW5kbGVyQW5kUm91dGVyKGUsdCk7aWYobylyZXR1cm4gb31yZXR1cm4gbnVsbH1zdGF0aWN7dGhpcy5kZWZhdWx0Um91dGVPcHRpb25zPXtsb2NhbFJlcXVlc3Q6ITEsc2tpcEhvb2tzOiExfX1hc3luYyByb3V0ZUFuZEFkZFJlc3BvbnNlKGUsdD17fSl7bGV0IHI9ey4uLmEuZGVmYXVsdFJvdXRlT3B0aW9ucywuLi50fTtpZihlPXQyLmRlY29kZVBheWxvYWRGcm9tTmV0d29yayhlLHt0eXBlZHJvdXRlcjp0aGlzfSksZS5sb2NhbERhdGE9ZS5sb2NhbERhdGF8fHt9LGUubG9jYWxEYXRhLmZpcnN0VHlwZWRyb3V0ZXI9dGhpcyxlLm1ldGhvZD09PSIjI1ZpcnR1YWxTdHJlYW0jIyIpe2xldCBpPWF3YWl0IHRoaXMuaGFuZGxlU3RyZWFtVHlwZWRSZXF1ZXN0KGUpO3JldHVybiBpLmxvY2FsRGF0YT1udWxsLGl9aWYoZT8uY29ycmVsYXRpb24/LnBoYXNlPT09InJlcXVlc3QifHxyLmxvY2FsUmVxdWVzdCl7bGV0IGk9RGF0ZS5ub3coKTtyLnNraXBIb29rc3x8dGhpcy5jYWxsSG9vaygib25JbmNvbWluZ1JlcXVlc3QiLHtjb3JyZWxhdGlvbklkOmUuY29ycmVsYXRpb24/LmlkfHwidW5rbm93biIsbWV0aG9kOmUubWV0aG9kLGRpcmVjdGlvbjoiaW5jb21pbmciLHBoYXNlOiJyZXF1ZXN0Iix0aW1lc3RhbXA6aSxwYXlsb2FkOmUucmVxdWVzdH0pO2xldCBvPXRoaXMuZ2V0VHlwZWRIYW5kbGVyQW5kUm91dGVyKGUubWV0aG9kKTtpZighbylyZXR1cm4gY29uc29sZS5sb2coYENhbm5vdCBmaW5kIGhhbmRsZXIgZm9yIG1ldGhvZG5hbWUgJHtlLm1ldGhvZH1gKSxlLmVycm9yPXt0ZXh0OiJUaGVyZSBpcyBubyBhdmFpbGFibGUgbWV0aG9kIGZvciB0aGlzIGNhbGwgb24gdGhlIHNlcnZlciBzaWRlIixkYXRhOnt9fSxlLmNvcnJlbGF0aW9uLnBoYXNlPSJyZXNwb25zZSIsZS5sb2NhbERhdGE9bnVsbCxlPXQyLmVuY29kZVBheWxvYWRGb3JOZXR3b3JrKGUse3R5cGVkcm91dGVyOnRoaXN9KSxyLnNraXBIb29rc3x8dGhpcy5jYWxsSG9vaygib25PdXRnb2luZ1Jlc3BvbnNlIix7Y29ycmVsYXRpb25JZDplLmNvcnJlbGF0aW9uPy5pZHx8InVua25vd24iLG1ldGhvZDplLm1ldGhvZCxkaXJlY3Rpb246Im91dGdvaW5nIixwaGFzZToicmVzcG9uc2UiLHRpbWVzdGFtcDpEYXRlLm5vdygpLGR1cmF0aW9uTXM6RGF0ZS5ub3coKS1pLHBheWxvYWQ6ZS5yZXNwb25zZSxlcnJvcjplLmVycm9yPy50ZXh0fSksZTtsZXR7aGFuZGxlcjpuLHJvdXRlcjpsfT1vO2lmKGwubWlkZGxld2FyZXMubGVuZ3RoPjApdHJ5e2ZvcihsZXQgZCBvZiBsLm1pZGRsZXdhcmVzKWF3YWl0IGQoZSl9Y2F0Y2goZCl7cmV0dXJuIGQgaW5zdGFuY2VvZiBlMj9lLmVycm9yPXt0ZXh0OmQuZXJyb3JUZXh0LGRhdGE6ZC5lcnJvckRhdGF8fHt9fTplLmVycm9yPXt0ZXh0OmQubWVzc2FnZXx8Ik1pZGRsZXdhcmUgZXJyb3IiLGRhdGE6e319LGUuY29ycmVsYXRpb24ucGhhc2U9InJlc3BvbnNlIixlLmxvY2FsRGF0YT1udWxsLGU9dDIuZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsoZSx7dHlwZWRyb3V0ZXI6dGhpc30pLHIuc2tpcEhvb2tzfHx0aGlzLmNhbGxIb29rKCJvbk91dGdvaW5nUmVzcG9uc2UiLHtjb3JyZWxhdGlvbklkOmUuY29ycmVsYXRpb24/LmlkfHwidW5rbm93biIsbWV0aG9kOmUubWV0aG9kLGRpcmVjdGlvbjoib3V0Z29pbmciLHBoYXNlOiJyZXNwb25zZSIsdGltZXN0YW1wOkRhdGUubm93KCksZHVyYXRpb25NczpEYXRlLm5vdygpLWkscGF5bG9hZDplLnJlc3BvbnNlLGVycm9yOmUuZXJyb3I/LnRleHR9KSxlfXJldHVybiBlPWF3YWl0IG4uYWRkUmVzcG9uc2UoZSksZS5sb2NhbERhdGE9bnVsbCxlPXQyLmVuY29kZVBheWxvYWRGb3JOZXR3b3JrKGUse3R5cGVkcm91dGVyOnRoaXN9KSxyLnNraXBIb29rc3x8dGhpcy5jYWxsSG9vaygib25PdXRnb2luZ1Jlc3BvbnNlIix7Y29ycmVsYXRpb25JZDplLmNvcnJlbGF0aW9uPy5pZHx8InVua25vd24iLG1ldGhvZDplLm1ldGhvZCxkaXJlY3Rpb246Im91dGdvaW5nIixwaGFzZToicmVzcG9uc2UiLHRpbWVzdGFtcDpEYXRlLm5vdygpLGR1cmF0aW9uTXM6RGF0ZS5ub3coKS1pLHBheWxvYWQ6ZS5yZXNwb25zZSxlcnJvcjplLmVycm9yPy50ZXh0fSksZX1lbHNlIHJldHVybiBlPy5jb3JyZWxhdGlvbj8ucGhhc2U9PT0icmVzcG9uc2UiPyhyLnNraXBIb29rc3x8dGhpcy5jYWxsSG9vaygib25JbmNvbWluZ1Jlc3BvbnNlIix7Y29ycmVsYXRpb25JZDplLmNvcnJlbGF0aW9uPy5pZHx8InVua25vd24iLG1ldGhvZDplLm1ldGhvZCxkaXJlY3Rpb246ImluY29taW5nIixwaGFzZToicmVzcG9uc2UiLHRpbWVzdGFtcDpEYXRlLm5vdygpLHBheWxvYWQ6ZS5yZXNwb25zZSxlcnJvcjplLmVycm9yPy50ZXh0fSksdGhpcy5maXJlRXZlbnRJbnRlcmVzdE1hcC5maW5kSW50ZXJlc3QoZS5jb3JyZWxhdGlvbi5pZCk/LmZ1bGxmaWxsSW50ZXJlc3QoZSksbnVsbCk6KGNvbnNvbGUubG9nKCJyZWNlaXZlZCB3ZWlyZGx5IHNoYXBlZCByZXF1ZXN0IiksY29uc29sZS5sb2coZSksbnVsbCl9YXN5bmMgaGFuZGxlU3RyZWFtVHlwZWRSZXF1ZXN0KGUpe2xldCB0PWF3YWl0IHRoaXMucmVnaXN0ZXJlZFZpcnR1YWxTdHJlYW1zLmZpbmQoYXN5bmMgaT0+aS5zdHJlYW1JZD09PWUucmVxdWVzdC5zdHJlYW1JZCk7aWYodCljb25zb2xlLmxvZyhgc3VjY2VzczogZm91bmQgcmVsZXZhbnQgdmlydHVhbCBzdHJlYW0gd2l0aCBpZCAke2UucmVxdWVzdC5zdHJlYW1JZH1gKTtlbHNlIHJldHVybiBjb25zb2xlLmxvZyhgbm8gcmVsZXZhbnQgdmlydHVhbCBzdHJlYW0gZm91bmQgZm9yIHN0cmVhbSB3aXRoIGlkICR7ZS5yZXF1ZXN0LnN0cmVhbUlkfWApLGNvbnNvbGUubG9nKHRoaXMucmVnaXN0ZXJlZFZpcnR1YWxTdHJlYW1zLmdldEFycmF5KCkpLGU7cmV0dXJuIGF3YWl0IHQuaGFuZGxlU3RyZWFtVHIoZSl9fX0pO3ZhciBTcGEsdDIsQ2llPWYoKCk9PntLNCgpO1BHKCk7U3BhPSIjIyMjIyMjIyMjIyMjQ0xPU0lORyBCSVQjIyMjIyMjIyMjIyMjIix0Mj1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIlZpcnR1YWxTdHJlYW0iKX1zdGF0aWMgZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsoZSx0LHIsaT1bXSl7cmV0dXJuIWV8fGkxLmlzQnVmZmVyTGlrZShlKT9lOmUgaW5zdGFuY2VvZiBhPyghZS5zaWRlJiZ0LnNlbmRNZXRob2QmJihlLnNpZGU9InJlcXVlc3RpbmciLGUuc2VuZE1ldGhvZD10LnNlbmRNZXRob2QpLCFlLnNpZGUmJnQudHlwZWRyb3V0ZXImJihlLnNpZGU9InJlc3BvbmRpbmciLGUudHlwZWRyb3V0ZXI9dC50eXBlZHJvdXRlcix0LnR5cGVkcm91dGVyLnJlZ2lzdGVyZWRWaXJ0dWFsU3RyZWFtcy5hZGQoZSkpLCFyLnJlc3BvbnNlfHxpLmluY2x1ZGVzKCJyZXNwb25zZSIpPyhlLnN0YXJ0S2VlcEFsaXZlTG9vcCgpLHtfaXNWaXJ0dWFsU3RyZWFtOiEwLHN0cmVhbUlkOmUuc3RyZWFtSWR9KTp7X09CTUlUVEVEX1ZJUlRVQUxfU1RSRUFNOiEwLHJlYXNvbjoicGF0aCBpcyB1bmRlciAucmVxdWVzdDogb2JtaXR0ZWQgZm9yIGRlZHVwbGljYXRpb24gcmVhc29ucyBpbiByZXNwb25zZSBjeWNsZS4ifSk6QXJyYXkuaXNBcnJheShlKT9lLm1hcCgobyxuKT0+YS5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhvLHQscnx8ZSxpLmNvbmNhdChTdHJpbmcobikpKSk6ZSE9PW51bGwmJnR5cGVvZiBlPT0ib2JqZWN0Ij9PYmplY3QuZW50cmllcyhlKS5yZWR1Y2UoKG8sW24sbF0pPT57bGV0IGQ9aS5jb25jYXQobik7cmV0dXJuIG9bbl09YS5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhsLHQscnx8ZSxkKSxvfSx7fSk6ZX1zdGF0aWMgZGVjb2RlUGF5bG9hZEZyb21OZXR3b3JrKGUsdCl7aWYoaTEuaXNCdWZmZXJMaWtlKGUpfHxlIGluc3RhbmNlb2YgUjUpcmV0dXJuIGU7aWYoZSE9PW51bGwmJnR5cGVvZiBlPT0ib2JqZWN0Iil7aWYoZSBpbnN0YW5jZW9mIFNldHx8ZSBpbnN0YW5jZW9mIE1hcHx8ZSBpbnN0YW5jZW9mIERhdGV8fGUgaW5zdGFuY2VvZiBSZWdFeHB8fGUgaW5zdGFuY2VvZiBFcnJvcnx8ZSBpbnN0YW5jZW9mIFByb21pc2V8fHR5cGVvZiBlLnRoZW49PSJmdW5jdGlvbiIpcmV0dXJuIGU7aWYoZS5faXNWaXJ0dWFsU3RyZWFtKXtsZXQgcj1uZXcgYTtyZXR1cm4gci5zdHJlYW1JZD1lLnN0cmVhbUlkLCFyLnNpZGUmJnQuc2VuZE1ldGhvZCYmKHIuc2lkZT0icmVxdWVzdGluZyIsci5zZW5kTWV0aG9kPXQuc2VuZE1ldGhvZCksIXIuc2lkZSYmdC50eXBlZHJvdXRlciYmKHIuc2lkZT0icmVzcG9uZGluZyIsci50eXBlZHJvdXRlcj10LnR5cGVkcm91dGVyLHQudHlwZWRyb3V0ZXIucmVnaXN0ZXJlZFZpcnR1YWxTdHJlYW1zLmFkZChyKSksci5zdGFydEtlZXBBbGl2ZUxvb3AoKSxyfWVsc2UgaWYoQXJyYXkuaXNBcnJheShlKSl7bGV0IHI9W107Zm9yKGxldCBpIG9mIGUpci5wdXNoKGEuZGVjb2RlUGF5bG9hZEZyb21OZXR3b3JrKGksdCkpO3JldHVybiByfWVsc2UgcmV0dXJuIE9iamVjdC5rZXlzKGUpLnJlZHVjZSgocixpKT0+KHJbaV09YS5kZWNvZGVQYXlsb2FkRnJvbU5ldHdvcmsoZVtpXSx0KSxyKSx7fSl9ZWxzZSByZXR1cm4gZX1jb25zdHJ1Y3Rvcigpe3RoaXMuc3RyZWFtSWQ9WTQudW5pKCksdGhpcy5rZWVwQWxpdmU9ITAsdGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5PW5ldyBHYS5CYWNrcHJlc3N1cmVkQXJyYXkoMTYpLHRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheT1uZXcgR2EuQmFja3ByZXNzdXJlZEFycmF5KDE2KX1zdGF0aWMgcmVjb25zdGl0dXRlQmluYXJ5RGF0YShlKXtpZihlPT1udWxsfHxlIGluc3RhbmNlb2YgVWludDhBcnJheXx8dHlwZW9mIEJ1ZmZlcjwidSImJkJ1ZmZlci5pc0J1ZmZlcihlKSlyZXR1cm4gZTtpZih0eXBlb2YgZT09Im9iamVjdCIpe2lmKGUudHlwZT09PSJFbmNvZGVkQnVmZmVyIiYmdHlwZW9mIGUuZGF0YT09InN0cmluZyImJmUuZGF0YS5zdGFydHNXaXRoKCJiYXNlNjQ6Iikpe2xldCByPWUuZGF0YS5zbGljZSg3KTtpZih0eXBlb2YgQnVmZmVyPCJ1Iil7bGV0IGk9QnVmZmVyLmZyb20ociwiYmFzZTY0Iik7cmV0dXJuIG5ldyBVaW50OEFycmF5KGkuYnVmZmVyLGkuYnl0ZU9mZnNldCxpLmJ5dGVMZW5ndGgpfXJldHVybiBuZXcgVWludDhBcnJheShBcnJheS5mcm9tKGF0b2IocikpLm1hcChpPT5pLmNoYXJDb2RlQXQoMCkpKX1pZihlLnR5cGU9PT0iQnVmZmVyIiYmQXJyYXkuaXNBcnJheShlLmRhdGEpKXJldHVybiBuZXcgVWludDhBcnJheShlLmRhdGEpO2xldCB0PU9iamVjdC5rZXlzKGUpO2lmKHQubGVuZ3RoPjAmJnQuZXZlcnkocj0+L15cZCskLy50ZXN0KHIpKSl7bGV0IHI9bmV3IEFycmF5KHQubGVuZ3RoKTtmb3IobGV0IGkgb2YgdClyW051bWJlcihpKV09ZVtpXTtpZihyLmV2ZXJ5KGk9PnR5cGVvZiBpPT0ibnVtYmVyIikpcmV0dXJuIG5ldyBVaW50OEFycmF5KHIpfX1yZXR1cm4gZX1hc3luYyB3b3JrT25RdWV1ZSgpe2lmKHRoaXMud29ya2luZ0RlZmVycmVkKXJldHVybiB0aGlzLndvcmtpbmdEZWZlcnJlZC5wcm9taXNlO2lmKHRoaXMud29ya2luZ0RlZmVycmVkPWV0LmRlZmVyKCksdGhpcy5zaWRlPT09InJlcXVlc3RpbmciKXtsZXQgZT0hdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKSx0PSExLHI9ITEsaT1zKGFzeW5jKCk9PntsZXQgbz1hd2FpdCB0aGlzLnNlbmRNZXRob2Qoe21ldGhvZDoiIyNWaXJ0dWFsU3RyZWFtIyMiLHJlcXVlc3Q6e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDpZNC51bmkoKSxjeWNsZToicmVxdWVzdCIsbWFpblB1cnBvc2U6ImZlZWRiYWNrIixuZXh0OnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5kYXRhLmxlbmd0aD4wLGJhY2twcmVzc3VyZTohdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKX0scmVzcG9uc2U6bnVsbH0pLmNhdGNoKCgpPT57Y29uc29sZS5sb2coInN0cmVhbSBlbmRlZCBpbW1hdHVyZWx5IiksdGhpcy5rZWVwQWxpdmU9ITF9KTtvJiZvLnJlc3BvbnNlJiYocj1vLnJlc3BvbnNlLmJhY2twcmVzc3VyZSx0PW8ucmVzcG9uc2UubmV4dCl9LCJnZXRGZWVkYmFjayIpO2Zvcihhd2FpdCBpKCk7dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjB8fHQ7KXtpZihyKWZvcig7cjspY29uc29sZS5sb2coIndhaXRpbmcgZm9yIGZlZWRiYWNrIGJlY2F1c2Ugb2YgYmFja3ByZXNzdXJlLi4uIiksYXdhaXQgUHQuZGVsYXlGb3IoNTApLGF3YWl0IGkoKTtsZXQgbzt0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCYmKG89dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LnNoaWZ0KCkpO2xldCBuO249YXdhaXQgdGhpcy5zZW5kTWV0aG9kKHttZXRob2Q6IiMjVmlydHVhbFN0cmVhbSMjIixyZXF1ZXN0OntzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6WTQudW5pKCksY3ljbGU6InJlcXVlc3QiLG1haW5QdXJwb3NlOm8/ImNodW5rIjoicmVhZCIsYmFja3ByZXNzdXJlOmUsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCwuLi5vP3tjaHVua0RhdGE6b306e319LHJlc3BvbnNlOm51bGx9KS5jYXRjaCgoKT0+KGNvbnNvbGUubG9nKCJzdHJlYW0gZW5kZWQgaW1tYXR1cmVseSIpLHRoaXMua2VlcEFsaXZlPSExLG51bGwpKSxuJiZuLnJlc3BvbnNlJiZuLnJlc3BvbnNlLmNodW5rRGF0YSYmdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LnB1c2goYS5yZWNvbnN0aXR1dGVCaW5hcnlEYXRhKG4ucmVzcG9uc2UuY2h1bmtEYXRhKSkscj1uJiZuLnJlc3BvbnNlJiZuLnJlc3BvbnNlLmJhY2twcmVzc3VyZSxlPSF0aGlzLnJlY2VpdmVCYWNrcHJlc3N1cmVkQXJyYXkuY2hlY2tTcGFjZUF2YWlsYWJsZSgpLHQ9biYmbi5yZXNwb25zZSYmbi5yZXNwb25zZS5uZXh0fX10aGlzLndvcmtpbmdEZWZlcnJlZC5yZXNvbHZlKCksdGhpcy53b3JraW5nRGVmZXJyZWQ9bnVsbH1hc3luYyBoYW5kbGVTdHJlYW1UcihlKXtpZihlLnJlcXVlc3Qua2VlcEFsaXZlPT09ITAmJnRoaXMua2VlcEFsaXZlPT09ITA/dGhpcy5sYXN0S2VlcEFsaXZlRXZlbnQ9RGF0ZS5ub3coKTplLnJlcXVlc3Qua2VlcEFsaXZlPT09ITEmJih0aGlzLmtlZXBBbGl2ZT0hMSksZS5yZXF1ZXN0Lm1haW5QdXJwb3NlPT09ImtlZXBBbGl2ZSImJihlLnJlc3BvbnNlPXtzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6ZS5yZXF1ZXN0LmN5Y2xlSWQsY3ljbGU6InJlc3BvbnNlIixtYWluUHVycG9zZToia2VlcEFsaXZlIixrZWVwQWxpdmU6dGhpcy5rZWVwQWxpdmUsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCl9KSxlLnJlcXVlc3QubWFpblB1cnBvc2U9PT0iZmVlZGJhY2siJiYoZS5yZXNwb25zZT17c3RyZWFtSWQ6dGhpcy5zdHJlYW1JZCxjeWNsZUlkOmUucmVxdWVzdC5jeWNsZUlkLGN5Y2xlOiJyZXNwb25zZSIsbWFpblB1cnBvc2U6ImZlZWRiYWNrIixuZXh0OnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5kYXRhLmxlbmd0aD4wLGJhY2twcmVzc3VyZTohdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKX0pLGUucmVxdWVzdC5tYWluUHVycG9zZT09PSJjaHVuayIpe2lmKHRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5wdXNoKGEucmVjb25zdGl0dXRlQmluYXJ5RGF0YShlLnJlcXVlc3QuY2h1bmtEYXRhKSksdGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjAmJmUucmVzcG9uc2UuYmFja3ByZXNzdXJlPT09ITEpe2xldCB0PXRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5zaGlmdCgpO2UucmVzcG9uc2U9e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDplLnJlcXVlc3QuY3ljbGVJZCxjeWNsZToicmVzcG9uc2UiLG1haW5QdXJwb3NlOiJjaHVuayIsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MSxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCksY2h1bmtEYXRhOnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5zaGlmdCgpfX1lbHNlIGUucmVzcG9uc2U9e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDplLnJlcXVlc3QuY3ljbGVJZCxjeWNsZToicmVzcG9uc2UiLG1haW5QdXJwb3NlOiJmZWVkYmFjayIsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCl9O2UucmVxdWVzdD1udWxsfXJldHVybiBlfWFzeW5jIGNsZWFudXAoKXt0aGlzLnR5cGVkcm91dGVyJiZ0aGlzLnR5cGVkcm91dGVyLnJlZ2lzdGVyZWRWaXJ0dWFsU3RyZWFtcy5yZW1vdmUodGhpcyl9YXN5bmMgc3RhcnRLZWVwQWxpdmVMb29wKCl7aWYodGhpcy5zaWRlPT09InJlc3BvbmRpbmciKXJldHVybjthd2FpdCBQdC5kZWxheUZvcigwKSxjb25zb2xlLmxvZyhgc3RhcnRpbmcga2VlcGFsaXZlIGxvb3Agb24gc2lkZSAke3RoaXMuc2lkZX1gKTtsZXQgZT0wO2Zvcig7dGhpcy5rZWVwQWxpdmU7KWF3YWl0IHRoaXMudHJpZ2dlcktlZXBBbGl2ZSgpLGF3YWl0IFB0LmRlbGF5Rm9yKDFlMyk7YXdhaXQgUHQuZGVsYXlGb3IoMWUzKSxhd2FpdCB0aGlzLmNsZWFudXAoKSxjb25zb2xlLmxvZyhgY2xlYW5lZCB1cCBmb3Igc3RyZWFtICR7dGhpcy5zdHJlYW1JZH1gKX1hc3luYyB0cmlnZ2VyS2VlcEFsaXZlKCl7aWYodGhpcy5zaWRlPT09InJlcXVlc3RpbmciKXtjb25zb2xlLmxvZygia2VlcGFsaXZlIHNlbnQuIik7bGV0IGU9YXdhaXQgdGhpcy5zZW5kTWV0aG9kKHttZXRob2Q6IiMjVmlydHVhbFN0cmVhbSMjIixyZXF1ZXN0OntzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6WTQudW5pKCksY3ljbGU6InJlcXVlc3QiLG1haW5QdXJwb3NlOiJrZWVwQWxpdmUiLGtlZXBBbGl2ZTp0aGlzLmtlZXBBbGl2ZX0scmVzcG9uc2U6bnVsbH0pLmNhdGNoKCgpPT57dGhpcy5rZWVwQWxpdmU9ITF9KTtlJiZlLnJlc3BvbnNlJiZlLnJlc3BvbnNlLmtlZXBBbGl2ZT09PSExP3RoaXMua2VlcEFsaXZlPSExOnRoaXMubGFzdEtlZXBBbGl2ZUV2ZW50PURhdGUubm93KCksZSYmZS5yZXNwb25zZSYmZS5yZXNwb25zZS5uZXh0JiZ0aGlzLndvcmtPblF1ZXVlKCl9RGF0ZS5ub3coKS10aGlzLmxhc3RLZWVwQWxpdmVFdmVudD4xZTQmJihjb25zb2xlLmxvZyhgY2xvc2luZyBzdHJlYW0gZm9yICR7dGhpcy5zdHJlYW1JZH1gKSx0aGlzLmtlZXBBbGl2ZT0hMSl9YXN5bmMgc2VuZERhdGEoZSl7dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LnB1c2goZSksdGhpcy53b3JrT25RdWV1ZSgpLGF3YWl0IHRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS53YWl0Rm9yU3BhY2UoKX1hc3luYyBmZXRjaERhdGEoKXtyZXR1cm4gdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5Lmhhc1NwYWNlLGF3YWl0IHRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS53YWl0Rm9ySXRlbXMoKSx0aGlzLnJlY2VpdmVCYWNrcHJlc3N1cmVkQXJyYXkuc2hpZnQoKX1hc3luYyByZWFkRnJvbVdlYnN0cmVhbShlLHQ9ITApe2xldCByPWUuZ2V0UmVhZGVyKCksaT0hMTtmb3IoOyFpOyl7bGV0e3ZhbHVlOm8sZG9uZTpufT1hd2FpdCByLnJlYWQoKTtvJiZhd2FpdCB0aGlzLnNlbmREYXRhKG8pLGk9bn10JiZhd2FpdCB0aGlzLmNsb3NlKCEwKX1hc3luYyB3cml0ZVRvV2Vic3RyZWFtKGUpe2xldCB0PWUuZ2V0V3JpdGVyKCk7Zm9yKDt0aGlzLmtlZXBBbGl2ZXx8dGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrSGFzSXRlbXMoKTspe2xldCByPWF3YWl0IHRoaXMuZmV0Y2hEYXRhKCk7aWYocj09PVNwYSl7dC5yZWxlYXNlTG9jaygpLGF3YWl0IGUuY2xvc2UoKTticmVha31hd2FpdCB0LndyaXRlKHIpfX1hc3luYyBjbG9zZShlPSExKXtlJiZ0aGlzLnNlbmREYXRhKFNwYSksdGhpcy5rZWVwQWxpdmU9ITF9fX0pO3ZhciB4ZXQseWV0PWYoKCk9PntQRygpO0s0KCk7eGV0PWNsYXNze3N0YXRpY3tzKHRoaXMsIlR5cGVkVGFyZ2V0Iil9Y29uc3RydWN0b3IoZSl7aWYoZS5wb3N0TWV0aG9kV2l0aFR5cGVkUm91dGVyJiYhZS50eXBlZFJvdXRlclJlZil0aHJvdyBuZXcgRXJyb3IoInlvdSBoYXZlIHRvIHNwZWNpZnkgYSB0eXBlZHJvdXRlciB3aGVuIHVzaW5nIHBvc3RtZXRob2Qgd2l0aCB0eXBlZHJvdXRlciIpO3RoaXMub3B0aW9ucz1lfWFzeW5jIHBvc3QoZSl7bGV0IHQ7dGhpcy5vcHRpb25zLnR5cGVkUm91dGVyUmVmJiYodD1hd2FpdCB0aGlzLm9wdGlvbnMudHlwZWRSb3V0ZXJSZWYuZmlyZUV2ZW50SW50ZXJlc3RNYXAuYWRkSW50ZXJlc3QoZS5jb3JyZWxhdGlvbi5pZCxlKSk7bGV0IGk9YXdhaXQodGhpcy5vcHRpb25zLnBvc3RNZXRob2R8fHRoaXMub3B0aW9ucy5wb3N0TWV0aG9kV2l0aFR5cGVkUm91dGVyKShlKSxvO3JldHVybiB0P289YXdhaXQgdC5pbnRlcmVzdEZ1bGxmaWxsZWQ6aT9vPWk6bz1lLG99fX0pO2Z1bmN0aW9uIHpwYShhLGUpe3RyeXtSNS5nbG9iYWxIb29rc1thXT8uKGUpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IoYFR5cGVkUmVxdWVzdCBob29rIGVycm9yICgke2F9KTpgLHQpfX12YXIgQlJhLHdldCx2ZXQ9ZigoKT0+e0s0KCk7Q2llKCk7aDcoKTtQRygpO3lldCgpO0JSYT1uZXcgYzEuV2VicmVxdWVzdENsaWVudDtzKHpwYSwiY2FsbEdsb2JhbEhvb2siKTt3ZXQ9Y2xhc3N7c3RhdGlje3ModGhpcywiVHlwZWRSZXF1ZXN0Iil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLnNraXBIb29rcz0hMSx0eXBlb2YgZT09InN0cmluZyI/dGhpcy51cmxFbmRQb2ludD1lOnRoaXMudHlwZWRUYXJnZXQ9ZSx0aGlzLm1ldGhvZD10fWFzeW5jIGZpcmUoZSx0PSExKXtsZXQgcj1EYXRlLm5vdygpLGk9e21ldGhvZDp0aGlzLm1ldGhvZCxyZXF1ZXN0OmUscmVzcG9uc2U6bnVsbCxjb3JyZWxhdGlvbjp7aWQ6WTQudW5pKCkscGhhc2U6InJlcXVlc3QifX07aT10Mi5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhpLHtzZW5kTWV0aG9kOnMobj0+dGhpcy5wb3N0VHJPYmplY3QobiksInNlbmRNZXRob2QiKX0pLHRoaXMuc2tpcEhvb2tzfHx6cGEoIm9uT3V0Z29pbmdSZXF1ZXN0Iix7Y29ycmVsYXRpb25JZDppLmNvcnJlbGF0aW9uLmlkLG1ldGhvZDp0aGlzLm1ldGhvZCxkaXJlY3Rpb246Im91dGdvaW5nIixwaGFzZToicmVxdWVzdCIsdGltZXN0YW1wOnIscGF5bG9hZDplfSk7bGV0IG87cmV0dXJuIG89YXdhaXQgdGhpcy5wb3N0VHJPYmplY3QoaSx0KSxvPXQyLmRlY29kZVBheWxvYWRGcm9tTmV0d29yayhvLHtzZW5kTWV0aG9kOnMobj0+dGhpcy5wb3N0VHJPYmplY3QobiksInNlbmRNZXRob2QiKX0pLHRoaXMuc2tpcEhvb2tzfHx6cGEoIm9uSW5jb21pbmdSZXNwb25zZSIse2NvcnJlbGF0aW9uSWQ6aS5jb3JyZWxhdGlvbi5pZCxtZXRob2Q6dGhpcy5tZXRob2QsZGlyZWN0aW9uOiJpbmNvbWluZyIscGhhc2U6InJlc3BvbnNlIix0aW1lc3RhbXA6RGF0ZS5ub3coKSxkdXJhdGlvbk1zOkRhdGUubm93KCktcixwYXlsb2FkOm8/LnJlc3BvbnNlLGVycm9yOm8/LmVycm9yPy50ZXh0fSksby5yZXNwb25zZX1hc3luYyBwb3N0VHJPYmplY3QoZSx0PSExKXtsZXQgcjtpZih0aGlzLnVybEVuZFBvaW50P3I9YXdhaXQgQlJhLnBvc3RKc29uKHRoaXMudXJsRW5kUG9pbnQsZSx0P3tjYWNoZVN0cmF0ZWd5OiJjYWNoZS1maXJzdCJ9Ont9KTpyPWF3YWl0IHRoaXMudHlwZWRUYXJnZXQucG9zdChlKSxyLmVycm9yKXtpZihjb25zb2xlLmVycm9yKGBtZXRob2Q6ID4+JHt0aGlzLm1ldGhvZH08PCBnb3QgYW4gRVJST1I6ICIke3IuZXJyb3IudGV4dH0iIHdpdGggZGF0YSAke0pTT04uc3RyaW5naWZ5KHIuZXJyb3IuZGF0YSxudWxsLDIpfWApLCFyLnJldHJ5KXRocm93IG5ldyBlMihyLmVycm9yLnRleHQsci5lcnJvci5kYXRhKTtyZXR1cm4gbnVsbH1yZXR1cm4gci5yZXRyeSYmKGNvbnNvbGUubG9nKGBzZXJ2ZXIgcmVxdWVzdGVkIHJldHJ5IGZvciB0aGUgZm9sbG93aW5nIHJlYXNvbjogJHtyLnJldHJ5LnJlYXNvbn1gKSxhd2FpdCBQdC5kZWxheUZvcihyLnJldHJ5LndhaXRGb3JNcykscj1hd2FpdCB0aGlzLnBvc3RUck9iamVjdChlLHQpKSxyfX19KTt2YXIgWjQ9e307cnQoWjQse1R5cGVkSGFuZGxlcjooKT0+Z2V0LFR5cGVkUmVxdWVzdDooKT0+d2V0LFR5cGVkUmVzcG9uc2VFcnJvcjooKT0+ZTIsVHlwZWRSb3V0ZXI6KCk9PlI1LFR5cGVkVGFyZ2V0OigpPT54ZXQsVmlydHVhbFN0cmVhbTooKT0+dDJ9KTt2YXIgQ3BhPWYoKCk9Pnt2ZXQoKTtiZXQoKTtQRygpO2g3KCk7eWV0KCk7Q2llKCl9KTt2YXIgX3BhPXZvKHZzPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh2cywiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdnMuZ2V0Rmlyc3RUcnVlT3JGYWxzZT12cy50aW1lb3V0QW5kQ29udGludWU9dnMudGltZW91dFdyYXA9dnMubWFwPXZzLnJlamVjdGVkUHJvbWlzZT12cy5yZXNvbHZlZFByb21pc2U9dnMuZGVmZXI9dnMuRGVmZXJyZWQ9dm9pZCAwO3ZhciBfaWU9Y2xhc3N7c3RhdGlje3ModGhpcywiRGVmZXJyZWQiKX1jb25zdHJ1Y3Rvcigpe3RoaXMucHJvbWlzZT1uZXcgUHJvbWlzZSgoZSx0KT0+e3RoaXMucmVzb2x2ZT1yPT57dGhpcy5zdGF0dXM9ImZ1bGZpbGxlZCIsdGhpcy5zdG9wcGVkQXQ9RGF0ZS5ub3coKSxlKHIpfSx0aGlzLnJlamVjdD1yPT57dGhpcy5zdGF0dXM9InJlamVjdGVkIix0aGlzLnN0b3BwZWRBdD1EYXRlLm5vdygpLHQocil9LHRoaXMuc3RhcnRlZEF0PURhdGUubm93KCksdGhpcy5zdGF0dXM9InBlbmRpbmcifSl9Z2V0IGR1cmF0aW9uKCl7cmV0dXJuIHRoaXMuc3RvcHBlZEF0P3RoaXMuc3RvcHBlZEF0LXRoaXMuc3RhcnRlZEF0OkRhdGUubm93KCktdGhpcy5zdGFydGVkQXR9fTt2cy5EZWZlcnJlZD1faWUsdnMuZGVmZXI9KCk9Pm5ldyBfaWUsdnMucmVzb2x2ZWRQcm9taXNlPWE9PlByb21pc2UucmVzb2x2ZShhKSx2cy5yZWplY3RlZFByb21pc2U9YT0+UHJvbWlzZS5yZWplY3QoYSksdnMubWFwPWFzeW5jKGEsZSk9PntsZXQgdD1bXSxyPVtdO2ZvcihsZXQgaSBvZiBhKXtsZXQgbz1lKGkpO3QucHVzaChvKSxvLnRoZW4obj0+e3IucHVzaChuKX0pfXJldHVybiBhd2FpdCBQcm9taXNlLmFsbCh0KSxyfSx2cy50aW1lb3V0V3JhcD1hc3luYyhhLGUsdD0hMCk9Pm5ldyBQcm9taXNlKChyLGkpPT57c2V0VGltZW91dCgoKT0+e3Q/aShuZXcgRXJyb3IoInRpbWVvdXQiKSk6cihudWxsKX0sZSksYS50aGVuKHIsaSl9KSx2cy50aW1lb3V0QW5kQ29udGludWU9YXN5bmMoYSxlPTZlNCk9PnZzLnRpbWVvdXRXcmFwKGEsZSwhMSksdnMuZ2V0Rmlyc3RUcnVlT3JGYWxzZT1hc3luYyBhPT57bGV0IGU9dnMuZGVmZXIoKTtmb3IobGV0IHQgb2YgYSl0LnRoZW4ocj0+e3I9PT0hMCYmZS5yZXNvbHZlKCEwKX0pO3JldHVybiBQcm9taXNlLmFsbChhKS50aGVuKCgpPT57ZS5yZXNvbHZlKCExKX0pLGUucHJvbWlzZX19KTt2YXIgTWV0LFRwYT1mKCgpPT57TWV0PUJpKF9wYSgpLDEpfSk7dmFyIExwYT1mKCgpPT57fSk7dmFyIGtldCwkcGE9ZigoKT0+e1RwYSgpO0xwYSgpO2tldD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJTbWFydGVudiIpfWNvbnN0cnVjdG9yKCl7dGhpcy5sb2FkZWRTY3JpcHRzPVtdfWFzeW5jIGdldEVudkF3YXJlTW9kdWxlKGUpe2lmKHRoaXMuaXNOb2RlKXJldHVybiBhd2FpdCB0aGlzLmdldFNhZmVOb2RlTW9kdWxlKGUubm9kZU1vZHVsZU5hbWUpO2lmKHRoaXMuaXNCcm93c2VyKXJldHVybiBhd2FpdCB0aGlzLmdldFNhZmVXZWJNb2R1bGUoZS53ZWJVcmxBcmcsZS5nZXRGdW5jdGlvbik7Y29uc29sZS5lcnJvcigicGxhdGZvcm0gZm9yIGxvYWRpbmcgbm90IHN1cHBvcnRlZCBieSBzbWFydGVudiIpfWFzeW5jIGdldFNhZmVOb2RlTW9kdWxlKGUpe2lmKCF0aGlzLmlzTm9kZSl7Y29uc29sZS5lcnJvcihgWW91IHRyaWVkIHRvIGxvYWQgYSBub2RlIG1vZHVsZSBpbiBhIHdyb25nIGNvbnRleHQ6ICR7ZX1gKTtyZXR1cm59cmV0dXJuIG5ldyBGdW5jdGlvbihgcmV0dXJuIGltcG9ydCgnJHtlfScpYCkoKX1hc3luYyBnZXRTYWZlV2ViTW9kdWxlKGUsdCl7aWYoIXRoaXMuaXNCcm93c2VyKXtjb25zb2xlLmVycm9yKCJZb3UgdHJpZWQgdG8gbG9hZCBhIHdlYiBtb2R1bGUgaW4gYSB3cm9uZyBjb250ZXh0Iik7cmV0dXJufWlmKHRoaXMubG9hZGVkU2NyaXB0cy5pbmNsdWRlcyhlKSlyZXR1cm4gdCgpO3RoaXMubG9hZGVkU2NyaXB0cy5wdXNoKGUpO2xldCByPU1ldC5kZWZlcigpO2lmKGdsb2JhbFRoaXMuaW1wb3J0U2NyaXB0cylnbG9iYWxUaGlzLmltcG9ydFNjcmlwdHMoZSksci5yZXNvbHZlKCk7ZWxzZXtsZXQgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtpLm9ubG9hZD0oKT0+e3IucmVzb2x2ZSgpfSxpLnNyYz1lLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoaSl9cmV0dXJuIGF3YWl0IHIucHJvbWlzZSx0KCl9Z2V0IHJ1bnRpbWVFbnYoKXtyZXR1cm4gdHlwZW9mIHByb2Nlc3M8InUiPyJub2RlIjoiYnJvd3NlciJ9Z2V0IGlzQnJvd3Nlcigpe3JldHVybiF0aGlzLmlzTm9kZX1nZXQgdXNlckFnZW50KCl7cmV0dXJuIHRoaXMuaXNCcm93c2VyP25hdmlnYXRvci51c2VyQWdlbnQ6InVuZGVmaW5lZCJ9Z2V0IGlzTm9kZSgpe3JldHVybiB0aGlzLnJ1bnRpbWVFbnY9PT0ibm9kZSJ9Z2V0IG5vZGVWZXJzaW9uKCl7cmV0dXJuIHByb2Nlc3MudmVyc2lvbn1nZXQgaXNDSSgpe3JldHVybiB0aGlzLmlzTm9kZT8hIXByb2Nlc3MuZW52LkNJOiExfWFzeW5jIGlzTWFjQXN5bmMoKXtyZXR1cm4gdGhpcy5pc05vZGU/KGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUoIm9zIikpLnBsYXRmb3JtKCk9PT0iZGFyd2luIjohMX1hc3luYyBpc1dpbmRvd3NBc3luYygpe3JldHVybiB0aGlzLmlzTm9kZT8oYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZSgib3MiKSkucGxhdGZvcm0oKT09PSJ3aW4zMiI6ITF9YXN5bmMgaXNMaW51eEFzeW5jKCl7cmV0dXJuIHRoaXMuaXNOb2RlPyhhd2FpdCB0aGlzLmdldFNhZmVOb2RlTW9kdWxlKCJvcyIpKS5wbGF0Zm9ybSgpPT09ImxpbnV4IjohMX1hc3luYyBwcmludEVudigpe3RoaXMuaXNOb2RlPyhjb25zb2xlLmxvZygicnVubmluZyBvbiBOT0RFIiksY29uc29sZS5sb2coIm5vZGUgdmVyc2lvbiBpcyAiK3RoaXMubm9kZVZlcnNpb24pKTooY29uc29sZS5sb2coInJ1bm5pbmcgb24gQlJPV1NFUiIpLGNvbnNvbGUubG9nKCJicm93c2VyIGlzICIrdGhpcy51c2VyQWdlbnQpKX19fSk7dmFyIElHPXt9O3J0KElHLHtTbWFydGVudjooKT0+a2V0fSk7dmFyIERwYT1mKCgpPT57JHBhKCl9KTt2YXIgQXBhPWYoKCk9PntEcGEoKX0pO3ZhciB6ZXQ9e307cnQoemV0LHtzaGEyNTZGcm9tU3RyaW5nOigpPT5qUmF9KTt2YXIgVlJhLGpSYSxFcGE9ZigoKT0+e0FwYSgpO1ZSYT1zKGE9PntsZXQgZT1bXSx0PW5ldyBEYXRhVmlldyhhKTtmb3IobGV0IHI9MDtyPHQuYnl0ZUxlbmd0aDtyKz00KXtsZXQgbz10LmdldFVpbnQzMihyKS50b1N0cmluZygxNiksbj0iMDAwMDAwMDAiLGw9KG4rbykuc2xpY2UoLW4ubGVuZ3RoKTtlLnB1c2gobCl9cmV0dXJuIGUuam9pbigiIil9LCJoZXgiKSxqUmE9cyhhc3luYyBhPT57bGV0IGU9bmV3IElHLlNtYXJ0ZW52O2lmKGUuaXNCcm93c2VyKXtsZXQgdD1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoYSkscj1hd2FpdCBjcnlwdG8uc3VidGxlLmRpZ2VzdCgiU0hBLTI1NiIsdCk7cmV0dXJuIFZSYShyKX1lbHNlIGlmKGUuaXNOb2RlKXJldHVybiBhd2FpdChhd2FpdCBlLmdldFNhZmVOb2RlTW9kdWxlKCJAcHVzaHJvY2tzL3NtYXJ0aGFzaCIpKS5zaGEyNTZGcm9tU3RyaW5nKGEpfSwic2hhMjU2RnJvbVN0cmluZyIpfSk7dmFyIFBwYT1mKCgpPT57WnMoKX0pO3ZhciBJcGE9ZigoKT0+e30pO3ZhciBDZXQsTnBhPWYoKCk9PntQcGEoKTtJcGEoKTtDZXQ9Y2xhc3N7c3RhdGlje3ModGhpcywiU21hcnRlbnYiKX1jb25zdHJ1Y3Rvcigpe3RoaXMubG9hZGVkU2NyaXB0cz1bXX1hc3luYyBnZXRFbnZBd2FyZU1vZHVsZShlKXtpZih0aGlzLmlzTm9kZSlyZXR1cm4gYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZShlLm5vZGVNb2R1bGVOYW1lKTtpZih0aGlzLmlzQnJvd3NlcilyZXR1cm4gYXdhaXQgdGhpcy5nZXRTYWZlV2ViTW9kdWxlKGUud2ViVXJsQXJnLGUuZ2V0RnVuY3Rpb24pO2NvbnNvbGUuZXJyb3IoInBsYXRmb3JtIGZvciBsb2FkaW5nIG5vdCBzdXBwb3J0ZWQgYnkgc21hcnRlbnYiKX1hc3luYyBnZXRTYWZlTm9kZU1vZHVsZShlLHQpe2lmKCF0aGlzLmlzTm9kZSl7Y29uc29sZS5lcnJvcihgWW91IHRyaWVkIHRvIGxvYWQgYSBub2RlIG1vZHVsZSBpbiBhIHdyb25nIGNvbnRleHQ6ICR7ZX0uIFRoaXMgZG9lcyBub3QgdGhyb3cuYCk7cmV0dXJufWxldCByPWF3YWl0IG5ldyBGdW5jdGlvbihgcmV0dXJuIGltcG9ydCgnJHtlfScpYCkoKTtyZXR1cm4gdCYmYXdhaXQgdChyKSxyfWFzeW5jIGdldFNhZmVXZWJNb2R1bGUoZSx0KXtpZighdGhpcy5pc0Jyb3dzZXIpe2NvbnNvbGUuZXJyb3IoIllvdSB0cmllZCB0byBsb2FkIGEgd2ViIG1vZHVsZSBpbiBhIHdyb25nIGNvbnRleHQiKTtyZXR1cm59aWYodGhpcy5sb2FkZWRTY3JpcHRzLmluY2x1ZGVzKGUpKXJldHVybiB0KCk7dGhpcy5sb2FkZWRTY3JpcHRzLnB1c2goZSk7bGV0IHI9ZXQuZGVmZXIoKTtpZihnbG9iYWxUaGlzLmltcG9ydFNjcmlwdHMpZ2xvYmFsVGhpcy5pbXBvcnRTY3JpcHRzKGUpLHIucmVzb2x2ZSgpO2Vsc2V7bGV0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7aS5vbmxvYWQ9KCk9PntyLnJlc29sdmUoKX0saS5zcmM9ZSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGkpfXJldHVybiBhd2FpdCByLnByb21pc2UsdCgpfWdldCBydW50aW1lRW52KCl7cmV0dXJuIHR5cGVvZiBwcm9jZXNzPCJ1Ij8ibm9kZSI6ImJyb3dzZXIifWdldCBpc0Jyb3dzZXIoKXtyZXR1cm4hdGhpcy5pc05vZGV9Z2V0IHVzZXJBZ2VudCgpe3JldHVybiB0aGlzLmlzQnJvd3Nlcj9uYXZpZ2F0b3IudXNlckFnZW50OiJ1bmRlZmluZWQifWdldCBpc05vZGUoKXtyZXR1cm4gdGhpcy5ydW50aW1lRW52PT09Im5vZGUifWdldCBub2RlVmVyc2lvbigpe3JldHVybiBwcm9jZXNzLnZlcnNpb259Z2V0IGlzQ0koKXtyZXR1cm4gdGhpcy5pc05vZGU/ISFwcm9jZXNzLmVudi5DSTohMX1hc3luYyBpc01hY0FzeW5jKCl7cmV0dXJuIHRoaXMuaXNOb2RlPyhhd2FpdCB0aGlzLmdldFNhZmVOb2RlTW9kdWxlKCJvcyIpKS5wbGF0Zm9ybSgpPT09ImRhcndpbiI6ITF9YXN5bmMgaXNXaW5kb3dzQXN5bmMoKXtyZXR1cm4gdGhpcy5pc05vZGU/KGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUoIm9zIikpLnBsYXRmb3JtKCk9PT0id2luMzIiOiExfWFzeW5jIGlzTGludXhBc3luYygpe3JldHVybiB0aGlzLmlzTm9kZT8oYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZSgib3MiKSkucGxhdGZvcm0oKT09PSJsaW51eCI6ITF9YXN5bmMgcHJpbnRFbnYoKXt0aGlzLmlzTm9kZT8oY29uc29sZS5sb2coInJ1bm5pbmcgb24gTk9ERSIpLGNvbnNvbGUubG9nKCJub2RlIHZlcnNpb24gaXMgIit0aGlzLm5vZGVWZXJzaW9uKSk6KGNvbnNvbGUubG9nKCJydW5uaW5nIG9uIEJST1dTRVIiKSxjb25zb2xlLmxvZygiYnJvd3NlciBpcyAiK3RoaXMudXNlckFnZW50KSl9fX0pO3ZhciBfZXQ9e307cnQoX2V0LHtTbWFydGVudjooKT0+Q2V0fSk7dmFyIFJwYT1mKCgpPT57TnBhKCl9KTt2YXIgemZhPXZvKChPRyx2Nyk9Pnt2YXIgV1JhPTIwMCxPcGE9Il9fbG9kYXNoX2hhc2hfdW5kZWZpbmVkX18iLEZwYT05MDA3MTk5MjU0NzQwOTkxLFRldD0iW29iamVjdCBBcmd1bWVudHNdIixHUmE9IltvYmplY3QgQXJyYXldIixCcGE9IltvYmplY3QgQm9vbGVhbl0iLEhwYT0iW29iamVjdCBEYXRlXSIsWVJhPSJbb2JqZWN0IEVycm9yXSIsTGV0PSJbb2JqZWN0IEZ1bmN0aW9uXSIscXBhPSJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSIsVGllPSJbb2JqZWN0IE1hcF0iLFZwYT0iW29iamVjdCBOdW1iZXJdIiwkZXQ9IltvYmplY3QgT2JqZWN0XSIsanBhPSJbb2JqZWN0IFByb21pc2VdIixVcGE9IltvYmplY3QgUmVnRXhwXSIsTGllPSJbb2JqZWN0IFNldF0iLFdwYT0iW29iamVjdCBTdHJpbmddIixHcGE9IltvYmplY3QgU3ltYm9sXSIsRGV0PSJbb2JqZWN0IFdlYWtNYXBdIixZcGE9IltvYmplY3QgQXJyYXlCdWZmZXJdIiwkaWU9IltvYmplY3QgRGF0YVZpZXddIixLcGE9IltvYmplY3QgRmxvYXQzMkFycmF5XSIsWnBhPSJbb2JqZWN0IEZsb2F0NjRBcnJheV0iLFhwYT0iW29iamVjdCBJbnQ4QXJyYXldIixRcGE9IltvYmplY3QgSW50MTZBcnJheV0iLEpwYT0iW29iamVjdCBJbnQzMkFycmF5XSIsZWZhPSJbb2JqZWN0IFVpbnQ4QXJyYXldIix0ZmE9IltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIixhZmE9IltvYmplY3QgVWludDE2QXJyYXldIixyZmE9IltvYmplY3QgVWludDMyQXJyYXldIixLUmE9L1tcXF4kLiorPygpW1xde318XS9nLFpSYT0vXHcqJC8sWFJhPS9eXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXSQvLFFSYT0vXig/OjB8WzEtOV1cZCopJC8sbHI9e307bHJbVGV0XT1scltHUmFdPWxyW1lwYV09bHJbJGllXT1scltCcGFdPWxyW0hwYV09bHJbS3BhXT1scltacGFdPWxyW1hwYV09bHJbUXBhXT1scltKcGFdPWxyW1RpZV09bHJbVnBhXT1sclskZXRdPWxyW1VwYV09bHJbTGllXT1scltXcGFdPWxyW0dwYV09bHJbZWZhXT1sclt0ZmFdPWxyW2FmYV09bHJbcmZhXT0hMCxscltZUmFdPWxyW0xldF09bHJbRGV0XT0hMTt2YXIgSlJhPXR5cGVvZiBnbG9iYWw9PSJvYmplY3QiJiZnbG9iYWwmJmdsb2JhbC5PYmplY3Q9PT1PYmplY3QmJmdsb2JhbCxlT2E9dHlwZW9mIHNlbGY9PSJvYmplY3QiJiZzZWxmJiZzZWxmLk9iamVjdD09PU9iamVjdCYmc2VsZixXYz1KUmF8fGVPYXx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKSxzZmE9dHlwZW9mIE9HPT0ib2JqZWN0IiYmT0cmJiFPRy5ub2RlVHlwZSYmT0csaWZhPXNmYSYmdHlwZW9mIHY3PT0ib2JqZWN0IiYmdjcmJiF2Ny5ub2RlVHlwZSYmdjcsdE9hPWlmYSYmaWZhLmV4cG9ydHM9PT1zZmE7ZnVuY3Rpb24gYU9hKGEsZSl7cmV0dXJuIGEuc2V0KGVbMF0sZVsxXSksYX1zKGFPYSwiYWRkTWFwRW50cnkiKTtmdW5jdGlvbiByT2EoYSxlKXtyZXR1cm4gYS5hZGQoZSksYX1zKHJPYSwiYWRkU2V0RW50cnkiKTtmdW5jdGlvbiBzT2EoYSxlKXtmb3IodmFyIHQ9LTEscj1hP2EubGVuZ3RoOjA7Kyt0PHImJmUoYVt0XSx0LGEpIT09ITE7KTtyZXR1cm4gYX1zKHNPYSwiYXJyYXlFYWNoIik7ZnVuY3Rpb24gaU9hKGEsZSl7Zm9yKHZhciB0PS0xLHI9ZS5sZW5ndGgsaT1hLmxlbmd0aDsrK3Q8cjspYVtpK3RdPWVbdF07cmV0dXJuIGF9cyhpT2EsImFycmF5UHVzaCIpO2Z1bmN0aW9uIG9mYShhLGUsdCxyKXt2YXIgaT0tMSxvPWE/YS5sZW5ndGg6MDtmb3IociYmbyYmKHQ9YVsrK2ldKTsrK2k8bzspdD1lKHQsYVtpXSxpLGEpO3JldHVybiB0fXMob2ZhLCJhcnJheVJlZHVjZSIpO2Z1bmN0aW9uIG9PYShhLGUpe2Zvcih2YXIgdD0tMSxyPUFycmF5KGEpOysrdDxhOylyW3RdPWUodCk7cmV0dXJuIHJ9cyhvT2EsImJhc2VUaW1lcyIpO2Z1bmN0aW9uIG5PYShhLGUpe3JldHVybiBhPy5bZV19cyhuT2EsImdldFZhbHVlIik7ZnVuY3Rpb24gbmZhKGEpe3ZhciBlPSExO2lmKGEhPW51bGwmJnR5cGVvZiBhLnRvU3RyaW5nIT0iZnVuY3Rpb24iKXRyeXtlPSEhKGErIiIpfWNhdGNoe31yZXR1cm4gZX1zKG5mYSwiaXNIb3N0T2JqZWN0Iik7ZnVuY3Rpb24gbGZhKGEpe3ZhciBlPS0xLHQ9QXJyYXkoYS5zaXplKTtyZXR1cm4gYS5mb3JFYWNoKGZ1bmN0aW9uKHIsaSl7dFsrK2VdPVtpLHJdfSksdH1zKGxmYSwibWFwVG9BcnJheSIpO2Z1bmN0aW9uIEFldChhLGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gYShlKHQpKX19cyhBZXQsIm92ZXJBcmciKTtmdW5jdGlvbiBjZmEoYSl7dmFyIGU9LTEsdD1BcnJheShhLnNpemUpO3JldHVybiBhLmZvckVhY2goZnVuY3Rpb24ocil7dFsrK2VdPXJ9KSx0fXMoY2ZhLCJzZXRUb0FycmF5Iik7dmFyIGxPYT1BcnJheS5wcm90b3R5cGUsY09hPUZ1bmN0aW9uLnByb3RvdHlwZSxEaWU9T2JqZWN0LnByb3RvdHlwZSxFZXQ9V2NbIl9fY29yZS1qc19zaGFyZWRfXyJdLGRmYT0oZnVuY3Rpb24oKXt2YXIgYT0vW14uXSskLy5leGVjKEVldCYmRWV0LmtleXMmJkVldC5rZXlzLklFX1BST1RPfHwiIik7cmV0dXJuIGE/IlN5bWJvbChzcmMpXzEuIithOiIifSkoKSx1ZmE9Y09hLnRvU3RyaW5nLFg0PURpZS5oYXNPd25Qcm9wZXJ0eSxBaWU9RGllLnRvU3RyaW5nLGRPYT1SZWdFeHAoIl4iK3VmYS5jYWxsKFg0KS5yZXBsYWNlKEtSYSwiXFwkJiIpLnJlcGxhY2UoL2hhc093blByb3BlcnR5fChmdW5jdGlvbikuKj8oPz1cXFwoKXwgZm9yIC4rPyg/PVxcXF0pL2csIiQxLio/IikrIiQiKSxwZmE9dE9hP1djLkJ1ZmZlcjp2b2lkIDAsZmZhPVdjLlN5bWJvbCxoZmE9V2MuVWludDhBcnJheSx1T2E9QWV0KE9iamVjdC5nZXRQcm90b3R5cGVPZixPYmplY3QpLHBPYT1PYmplY3QuY3JlYXRlLGZPYT1EaWUucHJvcGVydHlJc0VudW1lcmFibGUsaE9hPWxPYS5zcGxpY2UsbWZhPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsbU9hPXBmYT9wZmEuaXNCdWZmZXI6dm9pZCAwLGdPYT1BZXQoT2JqZWN0LmtleXMsT2JqZWN0KSxQZXQ9YjcoV2MsIkRhdGFWaWV3IiksTkc9YjcoV2MsIk1hcCIpLElldD1iNyhXYywiUHJvbWlzZSIpLE5ldD1iNyhXYywiU2V0IiksUmV0PWI3KFdjLCJXZWFrTWFwIiksUkc9YjcoT2JqZWN0LCJjcmVhdGUiKSxiT2E9QjUoUGV0KSx2T2E9QjUoTkcpLHhPYT1CNShJZXQpLHlPYT1CNShOZXQpLHdPYT1CNShSZXQpLGdmYT1mZmE/ZmZhLnByb3RvdHlwZTp2b2lkIDAsYmZhPWdmYT9nZmEudmFsdWVPZjp2b2lkIDA7ZnVuY3Rpb24gTzUoYSl7dmFyIGU9LTEsdD1hP2EubGVuZ3RoOjA7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8dDspe3ZhciByPWFbZV07dGhpcy5zZXQoclswXSxyWzFdKX19cyhPNSwiSGFzaCIpO2Z1bmN0aW9uIE1PYSgpe3RoaXMuX19kYXRhX189Ukc/UkcobnVsbCk6e319cyhNT2EsImhhc2hDbGVhciIpO2Z1bmN0aW9uIGtPYShhKXtyZXR1cm4gdGhpcy5oYXMoYSkmJmRlbGV0ZSB0aGlzLl9fZGF0YV9fW2FdfXMoa09hLCJoYXNoRGVsZXRlIik7ZnVuY3Rpb24gU09hKGEpe3ZhciBlPXRoaXMuX19kYXRhX187aWYoUkcpe3ZhciB0PWVbYV07cmV0dXJuIHQ9PT1PcGE/dm9pZCAwOnR9cmV0dXJuIFg0LmNhbGwoZSxhKT9lW2FdOnZvaWQgMH1zKFNPYSwiaGFzaEdldCIpO2Z1bmN0aW9uIHpPYShhKXt2YXIgZT10aGlzLl9fZGF0YV9fO3JldHVybiBSRz9lW2FdIT09dm9pZCAwOlg0LmNhbGwoZSxhKX1zKHpPYSwiaGFzaEhhcyIpO2Z1bmN0aW9uIENPYShhLGUpe3ZhciB0PXRoaXMuX19kYXRhX187cmV0dXJuIHRbYV09UkcmJmU9PT12b2lkIDA/T3BhOmUsdGhpc31zKENPYSwiaGFzaFNldCIpLE81LnByb3RvdHlwZS5jbGVhcj1NT2EsTzUucHJvdG90eXBlLmRlbGV0ZT1rT2EsTzUucHJvdG90eXBlLmdldD1TT2EsTzUucHJvdG90eXBlLmhhcz16T2EsTzUucHJvdG90eXBlLnNldD1DT2E7ZnVuY3Rpb24gR2MoYSl7dmFyIGU9LTEsdD1hP2EubGVuZ3RoOjA7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8dDspe3ZhciByPWFbZV07dGhpcy5zZXQoclswXSxyWzFdKX19cyhHYywiTGlzdENhY2hlIik7ZnVuY3Rpb24gX09hKCl7dGhpcy5fX2RhdGFfXz1bXX1zKF9PYSwibGlzdENhY2hlQ2xlYXIiKTtmdW5jdGlvbiBUT2EoYSl7dmFyIGU9dGhpcy5fX2RhdGFfXyx0PUVpZShlLGEpO2lmKHQ8MClyZXR1cm4hMTt2YXIgcj1lLmxlbmd0aC0xO3JldHVybiB0PT1yP2UucG9wKCk6aE9hLmNhbGwoZSx0LDEpLCEwfXMoVE9hLCJsaXN0Q2FjaGVEZWxldGUiKTtmdW5jdGlvbiBMT2EoYSl7dmFyIGU9dGhpcy5fX2RhdGFfXyx0PUVpZShlLGEpO3JldHVybiB0PDA/dm9pZCAwOmVbdF1bMV19cyhMT2EsImxpc3RDYWNoZUdldCIpO2Z1bmN0aW9uICRPYShhKXtyZXR1cm4gRWllKHRoaXMuX19kYXRhX18sYSk+LTF9cygkT2EsImxpc3RDYWNoZUhhcyIpO2Z1bmN0aW9uIERPYShhLGUpe3ZhciB0PXRoaXMuX19kYXRhX18scj1FaWUodCxhKTtyZXR1cm4gcjwwP3QucHVzaChbYSxlXSk6dFtyXVsxXT1lLHRoaXN9cyhET2EsImxpc3RDYWNoZVNldCIpLEdjLnByb3RvdHlwZS5jbGVhcj1fT2EsR2MucHJvdG90eXBlLmRlbGV0ZT1UT2EsR2MucHJvdG90eXBlLmdldD1MT2EsR2MucHJvdG90eXBlLmhhcz0kT2EsR2MucHJvdG90eXBlLnNldD1ET2E7ZnVuY3Rpb24gbTcoYSl7dmFyIGU9LTEsdD1hP2EubGVuZ3RoOjA7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8dDspe3ZhciByPWFbZV07dGhpcy5zZXQoclswXSxyWzFdKX19cyhtNywiTWFwQ2FjaGUiKTtmdW5jdGlvbiBBT2EoKXt0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBPNSxtYXA6bmV3KE5HfHxHYyksc3RyaW5nOm5ldyBPNX19cyhBT2EsIm1hcENhY2hlQ2xlYXIiKTtmdW5jdGlvbiBFT2EoYSl7cmV0dXJuIFBpZSh0aGlzLGEpLmRlbGV0ZShhKX1zKEVPYSwibWFwQ2FjaGVEZWxldGUiKTtmdW5jdGlvbiBQT2EoYSl7cmV0dXJuIFBpZSh0aGlzLGEpLmdldChhKX1zKFBPYSwibWFwQ2FjaGVHZXQiKTtmdW5jdGlvbiBJT2EoYSl7cmV0dXJuIFBpZSh0aGlzLGEpLmhhcyhhKX1zKElPYSwibWFwQ2FjaGVIYXMiKTtmdW5jdGlvbiBOT2EoYSxlKXtyZXR1cm4gUGllKHRoaXMsYSkuc2V0KGEsZSksdGhpc31zKE5PYSwibWFwQ2FjaGVTZXQiKSxtNy5wcm90b3R5cGUuY2xlYXI9QU9hLG03LnByb3RvdHlwZS5kZWxldGU9RU9hLG03LnByb3RvdHlwZS5nZXQ9UE9hLG03LnByb3RvdHlwZS5oYXM9SU9hLG03LnByb3RvdHlwZS5zZXQ9Tk9hO2Z1bmN0aW9uIGc3KGEpe3RoaXMuX19kYXRhX189bmV3IEdjKGEpfXMoZzcsIlN0YWNrIik7ZnVuY3Rpb24gUk9hKCl7dGhpcy5fX2RhdGFfXz1uZXcgR2N9cyhST2EsInN0YWNrQ2xlYXIiKTtmdW5jdGlvbiBPT2EoYSl7cmV0dXJuIHRoaXMuX19kYXRhX18uZGVsZXRlKGEpfXMoT09hLCJzdGFja0RlbGV0ZSIpO2Z1bmN0aW9uIEZPYShhKXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5nZXQoYSl9cyhGT2EsInN0YWNrR2V0Iik7ZnVuY3Rpb24gQk9hKGEpe3JldHVybiB0aGlzLl9fZGF0YV9fLmhhcyhhKX1zKEJPYSwic3RhY2tIYXMiKTtmdW5jdGlvbiBIT2EoYSxlKXt2YXIgdD10aGlzLl9fZGF0YV9fO2lmKHQgaW5zdGFuY2VvZiBHYyl7dmFyIHI9dC5fX2RhdGFfXztpZighTkd8fHIubGVuZ3RoPFdSYS0xKXJldHVybiByLnB1c2goW2EsZV0pLHRoaXM7dD10aGlzLl9fZGF0YV9fPW5ldyBtNyhyKX1yZXR1cm4gdC5zZXQoYSxlKSx0aGlzfXMoSE9hLCJzdGFja1NldCIpLGc3LnByb3RvdHlwZS5jbGVhcj1ST2EsZzcucHJvdG90eXBlLmRlbGV0ZT1PT2EsZzcucHJvdG90eXBlLmdldD1GT2EsZzcucHJvdG90eXBlLmhhcz1CT2EsZzcucHJvdG90eXBlLnNldD1IT2E7ZnVuY3Rpb24gcU9hKGEsZSl7dmFyIHQ9QmV0KGEpfHxwRmEoYSk/b09hKGEubGVuZ3RoLFN0cmluZyk6W10scj10Lmxlbmd0aCxpPSEhcjtmb3IodmFyIG8gaW4gYSkoZXx8WDQuY2FsbChhLG8pKSYmIShpJiYobz09Imxlbmd0aCJ8fGxGYShvLHIpKSkmJnQucHVzaChvKTtyZXR1cm4gdH1zKHFPYSwiYXJyYXlMaWtlS2V5cyIpO2Z1bmN0aW9uIHZmYShhLGUsdCl7dmFyIHI9YVtlXTsoIShYNC5jYWxsKGEsZSkmJk1mYShyLHQpKXx8dD09PXZvaWQgMCYmIShlIGluIGEpKSYmKGFbZV09dCl9cyh2ZmEsImFzc2lnblZhbHVlIik7ZnVuY3Rpb24gRWllKGEsZSl7Zm9yKHZhciB0PWEubGVuZ3RoO3QtLTspaWYoTWZhKGFbdF1bMF0sZSkpcmV0dXJuIHQ7cmV0dXJuLTF9cyhFaWUsImFzc29jSW5kZXhPZiIpO2Z1bmN0aW9uIFZPYShhLGUpe3JldHVybiBhJiZ4ZmEoZSxIZXQoZSksYSl9cyhWT2EsImJhc2VBc3NpZ24iKTtmdW5jdGlvbiBPZXQoYSxlLHQscixpLG8sbil7dmFyIGw7aWYociYmKGw9bz9yKGEsaSxvLG4pOnIoYSkpLGwhPT12b2lkIDApcmV0dXJuIGw7aWYoIUlpZShhKSlyZXR1cm4gYTt2YXIgZD1CZXQoYSk7aWYoZCl7aWYobD1pRmEoYSksIWUpcmV0dXJuIGFGYShhLGwpfWVsc2V7dmFyIGM9RjUoYSkscD1jPT1MZXR8fGM9PXFwYTtpZihoRmEoYSkpcmV0dXJuIEtPYShhLGUpO2lmKGM9PSRldHx8Yz09VGV0fHxwJiYhbyl7aWYobmZhKGEpKXJldHVybiBvP2E6e307aWYobD1vRmEocD97fTphKSwhZSlyZXR1cm4gckZhKGEsVk9hKGwsYSkpfWVsc2V7aWYoIWxyW2NdKXJldHVybiBvP2E6e307bD1uRmEoYSxjLE9ldCxlKX19bnx8KG49bmV3IGc3KTt2YXIgdT1uLmdldChhKTtpZih1KXJldHVybiB1O2lmKG4uc2V0KGEsbCksIWQpdmFyIG09dD9zRmEoYSk6SGV0KGEpO3JldHVybiBzT2EobXx8YSxmdW5jdGlvbih2LHgpe20mJih4PXYsdj1hW3hdKSx2ZmEobCx4LE9ldCh2LGUsdCxyLHgsYSxuKSl9KSxsfXMoT2V0LCJiYXNlQ2xvbmUiKTtmdW5jdGlvbiBqT2EoYSl7cmV0dXJuIElpZShhKT9wT2EoYSk6e319cyhqT2EsImJhc2VDcmVhdGUiKTtmdW5jdGlvbiBVT2EoYSxlLHQpe3ZhciByPWUoYSk7cmV0dXJuIEJldChhKT9yOmlPYShyLHQoYSkpfXMoVU9hLCJiYXNlR2V0QWxsS2V5cyIpO2Z1bmN0aW9uIFdPYShhKXtyZXR1cm4gQWllLmNhbGwoYSl9cyhXT2EsImJhc2VHZXRUYWciKTtmdW5jdGlvbiBHT2EoYSl7aWYoIUlpZShhKXx8ZEZhKGEpKXJldHVybiExO3ZhciBlPVNmYShhKXx8bmZhKGEpP2RPYTpYUmE7cmV0dXJuIGUudGVzdChCNShhKSl9cyhHT2EsImJhc2VJc05hdGl2ZSIpO2Z1bmN0aW9uIFlPYShhKXtpZighd2ZhKGEpKXJldHVybiBnT2EoYSk7dmFyIGU9W107Zm9yKHZhciB0IGluIE9iamVjdChhKSlYNC5jYWxsKGEsdCkmJnQhPSJjb25zdHJ1Y3RvciImJmUucHVzaCh0KTtyZXR1cm4gZX1zKFlPYSwiYmFzZUtleXMiKTtmdW5jdGlvbiBLT2EoYSxlKXtpZihlKXJldHVybiBhLnNsaWNlKCk7dmFyIHQ9bmV3IGEuY29uc3RydWN0b3IoYS5sZW5ndGgpO3JldHVybiBhLmNvcHkodCksdH1zKEtPYSwiY2xvbmVCdWZmZXIiKTtmdW5jdGlvbiBGZXQoYSl7dmFyIGU9bmV3IGEuY29uc3RydWN0b3IoYS5ieXRlTGVuZ3RoKTtyZXR1cm4gbmV3IGhmYShlKS5zZXQobmV3IGhmYShhKSksZX1zKEZldCwiY2xvbmVBcnJheUJ1ZmZlciIpO2Z1bmN0aW9uIFpPYShhLGUpe3ZhciB0PWU/RmV0KGEuYnVmZmVyKTphLmJ1ZmZlcjtyZXR1cm4gbmV3IGEuY29uc3RydWN0b3IodCxhLmJ5dGVPZmZzZXQsYS5ieXRlTGVuZ3RoKX1zKFpPYSwiY2xvbmVEYXRhVmlldyIpO2Z1bmN0aW9uIFhPYShhLGUsdCl7dmFyIHI9ZT90KGxmYShhKSwhMCk6bGZhKGEpO3JldHVybiBvZmEocixhT2EsbmV3IGEuY29uc3RydWN0b3IpfXMoWE9hLCJjbG9uZU1hcCIpO2Z1bmN0aW9uIFFPYShhKXt2YXIgZT1uZXcgYS5jb25zdHJ1Y3RvcihhLnNvdXJjZSxaUmEuZXhlYyhhKSk7cmV0dXJuIGUubGFzdEluZGV4PWEubGFzdEluZGV4LGV9cyhRT2EsImNsb25lUmVnRXhwIik7ZnVuY3Rpb24gSk9hKGEsZSx0KXt2YXIgcj1lP3QoY2ZhKGEpLCEwKTpjZmEoYSk7cmV0dXJuIG9mYShyLHJPYSxuZXcgYS5jb25zdHJ1Y3Rvcil9cyhKT2EsImNsb25lU2V0Iik7ZnVuY3Rpb24gZUZhKGEpe3JldHVybiBiZmE/T2JqZWN0KGJmYS5jYWxsKGEpKTp7fX1zKGVGYSwiY2xvbmVTeW1ib2wiKTtmdW5jdGlvbiB0RmEoYSxlKXt2YXIgdD1lP0ZldChhLmJ1ZmZlcik6YS5idWZmZXI7cmV0dXJuIG5ldyBhLmNvbnN0cnVjdG9yKHQsYS5ieXRlT2Zmc2V0LGEubGVuZ3RoKX1zKHRGYSwiY2xvbmVUeXBlZEFycmF5Iik7ZnVuY3Rpb24gYUZhKGEsZSl7dmFyIHQ9LTEscj1hLmxlbmd0aDtmb3IoZXx8KGU9QXJyYXkocikpOysrdDxyOyllW3RdPWFbdF07cmV0dXJuIGV9cyhhRmEsImNvcHlBcnJheSIpO2Z1bmN0aW9uIHhmYShhLGUsdCxyKXt0fHwodD17fSk7Zm9yKHZhciBpPS0xLG89ZS5sZW5ndGg7KytpPG87KXt2YXIgbj1lW2ldLGw9cj9yKHRbbl0sYVtuXSxuLHQsYSk6dm9pZCAwO3ZmYSh0LG4sbD09PXZvaWQgMD9hW25dOmwpfXJldHVybiB0fXMoeGZhLCJjb3B5T2JqZWN0Iik7ZnVuY3Rpb24gckZhKGEsZSl7cmV0dXJuIHhmYShhLHlmYShhKSxlKX1zKHJGYSwiY29weVN5bWJvbHMiKTtmdW5jdGlvbiBzRmEoYSl7cmV0dXJuIFVPYShhLEhldCx5ZmEpfXMoc0ZhLCJnZXRBbGxLZXlzIik7ZnVuY3Rpb24gUGllKGEsZSl7dmFyIHQ9YS5fX2RhdGFfXztyZXR1cm4gY0ZhKGUpP3RbdHlwZW9mIGU9PSJzdHJpbmciPyJzdHJpbmciOiJoYXNoIl06dC5tYXB9cyhQaWUsImdldE1hcERhdGEiKTtmdW5jdGlvbiBiNyhhLGUpe3ZhciB0PW5PYShhLGUpO3JldHVybiBHT2EodCk/dDp2b2lkIDB9cyhiNywiZ2V0TmF0aXZlIik7dmFyIHlmYT1tZmE/QWV0KG1mYSxPYmplY3QpOmJGYSxGNT1XT2E7KFBldCYmRjUobmV3IFBldChuZXcgQXJyYXlCdWZmZXIoMSkpKSE9JGllfHxORyYmRjUobmV3IE5HKSE9VGllfHxJZXQmJkY1KElldC5yZXNvbHZlKCkpIT1qcGF8fE5ldCYmRjUobmV3IE5ldCkhPUxpZXx8UmV0JiZGNShuZXcgUmV0KSE9RGV0KSYmKEY1PXMoZnVuY3Rpb24oYSl7dmFyIGU9QWllLmNhbGwoYSksdD1lPT0kZXQ/YS5jb25zdHJ1Y3Rvcjp2b2lkIDAscj10P0I1KHQpOnZvaWQgMDtpZihyKXN3aXRjaChyKXtjYXNlIGJPYTpyZXR1cm4gJGllO2Nhc2Ugdk9hOnJldHVybiBUaWU7Y2FzZSB4T2E6cmV0dXJuIGpwYTtjYXNlIHlPYTpyZXR1cm4gTGllO2Nhc2Ugd09hOnJldHVybiBEZXR9cmV0dXJuIGV9LCJnZXRUYWciKSk7ZnVuY3Rpb24gaUZhKGEpe3ZhciBlPWEubGVuZ3RoLHQ9YS5jb25zdHJ1Y3RvcihlKTtyZXR1cm4gZSYmdHlwZW9mIGFbMF09PSJzdHJpbmciJiZYNC5jYWxsKGEsImluZGV4IikmJih0LmluZGV4PWEuaW5kZXgsdC5pbnB1dD1hLmlucHV0KSx0fXMoaUZhLCJpbml0Q2xvbmVBcnJheSIpO2Z1bmN0aW9uIG9GYShhKXtyZXR1cm4gdHlwZW9mIGEuY29uc3RydWN0b3I9PSJmdW5jdGlvbiImJiF3ZmEoYSk/ak9hKHVPYShhKSk6e319cyhvRmEsImluaXRDbG9uZU9iamVjdCIpO2Z1bmN0aW9uIG5GYShhLGUsdCxyKXt2YXIgaT1hLmNvbnN0cnVjdG9yO3N3aXRjaChlKXtjYXNlIFlwYTpyZXR1cm4gRmV0KGEpO2Nhc2UgQnBhOmNhc2UgSHBhOnJldHVybiBuZXcgaSgrYSk7Y2FzZSAkaWU6cmV0dXJuIFpPYShhLHIpO2Nhc2UgS3BhOmNhc2UgWnBhOmNhc2UgWHBhOmNhc2UgUXBhOmNhc2UgSnBhOmNhc2UgZWZhOmNhc2UgdGZhOmNhc2UgYWZhOmNhc2UgcmZhOnJldHVybiB0RmEoYSxyKTtjYXNlIFRpZTpyZXR1cm4gWE9hKGEscix0KTtjYXNlIFZwYTpjYXNlIFdwYTpyZXR1cm4gbmV3IGkoYSk7Y2FzZSBVcGE6cmV0dXJuIFFPYShhKTtjYXNlIExpZTpyZXR1cm4gSk9hKGEscix0KTtjYXNlIEdwYTpyZXR1cm4gZUZhKGEpfX1zKG5GYSwiaW5pdENsb25lQnlUYWciKTtmdW5jdGlvbiBsRmEoYSxlKXtyZXR1cm4gZT1lPz9GcGEsISFlJiYodHlwZW9mIGE9PSJudW1iZXIifHxRUmEudGVzdChhKSkmJmE+LTEmJmElMT09MCYmYTxlfXMobEZhLCJpc0luZGV4Iik7ZnVuY3Rpb24gY0ZhKGEpe3ZhciBlPXR5cGVvZiBhO3JldHVybiBlPT0ic3RyaW5nInx8ZT09Im51bWJlciJ8fGU9PSJzeW1ib2wifHxlPT0iYm9vbGVhbiI/YSE9PSJfX3Byb3RvX18iOmE9PT1udWxsfXMoY0ZhLCJpc0tleWFibGUiKTtmdW5jdGlvbiBkRmEoYSl7cmV0dXJuISFkZmEmJmRmYSBpbiBhfXMoZEZhLCJpc01hc2tlZCIpO2Z1bmN0aW9uIHdmYShhKXt2YXIgZT1hJiZhLmNvbnN0cnVjdG9yLHQ9dHlwZW9mIGU9PSJmdW5jdGlvbiImJmUucHJvdG90eXBlfHxEaWU7cmV0dXJuIGE9PT10fXMod2ZhLCJpc1Byb3RvdHlwZSIpO2Z1bmN0aW9uIEI1KGEpe2lmKGEhPW51bGwpe3RyeXtyZXR1cm4gdWZhLmNhbGwoYSl9Y2F0Y2h7fXRyeXtyZXR1cm4gYSsiIn1jYXRjaHt9fXJldHVybiIifXMoQjUsInRvU291cmNlIik7ZnVuY3Rpb24gdUZhKGEpe3JldHVybiBPZXQoYSwhMCwhMCl9cyh1RmEsImNsb25lRGVlcCIpO2Z1bmN0aW9uIE1mYShhLGUpe3JldHVybiBhPT09ZXx8YSE9PWEmJmUhPT1lfXMoTWZhLCJlcSIpO2Z1bmN0aW9uIHBGYShhKXtyZXR1cm4gZkZhKGEpJiZYNC5jYWxsKGEsImNhbGxlZSIpJiYoIWZPYS5jYWxsKGEsImNhbGxlZSIpfHxBaWUuY2FsbChhKT09VGV0KX1zKHBGYSwiaXNBcmd1bWVudHMiKTt2YXIgQmV0PUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24ga2ZhKGEpe3JldHVybiBhIT1udWxsJiZtRmEoYS5sZW5ndGgpJiYhU2ZhKGEpfXMoa2ZhLCJpc0FycmF5TGlrZSIpO2Z1bmN0aW9uIGZGYShhKXtyZXR1cm4gZ0ZhKGEpJiZrZmEoYSl9cyhmRmEsImlzQXJyYXlMaWtlT2JqZWN0Iik7dmFyIGhGYT1tT2F8fHZGYTtmdW5jdGlvbiBTZmEoYSl7dmFyIGU9SWllKGEpP0FpZS5jYWxsKGEpOiIiO3JldHVybiBlPT1MZXR8fGU9PXFwYX1zKFNmYSwiaXNGdW5jdGlvbiIpO2Z1bmN0aW9uIG1GYShhKXtyZXR1cm4gdHlwZW9mIGE9PSJudW1iZXIiJiZhPi0xJiZhJTE9PTAmJmE8PUZwYX1zKG1GYSwiaXNMZW5ndGgiKTtmdW5jdGlvbiBJaWUoYSl7dmFyIGU9dHlwZW9mIGE7cmV0dXJuISFhJiYoZT09Im9iamVjdCJ8fGU9PSJmdW5jdGlvbiIpfXMoSWllLCJpc09iamVjdCIpO2Z1bmN0aW9uIGdGYShhKXtyZXR1cm4hIWEmJnR5cGVvZiBhPT0ib2JqZWN0In1zKGdGYSwiaXNPYmplY3RMaWtlIik7ZnVuY3Rpb24gSGV0KGEpe3JldHVybiBrZmEoYSk/cU9hKGEpOllPYShhKX1zKEhldCwia2V5cyIpO2Z1bmN0aW9uIGJGYSgpe3JldHVybltdfXMoYkZhLCJzdHViQXJyYXkiKTtmdW5jdGlvbiB2RmEoKXtyZXR1cm4hMX1zKHZGYSwic3R1YkZhbHNlIiksdjcuZXhwb3J0cz11RmF9KTt2YXIgTmllLENmYSxSaWUscWV0PWYoKCk9PntScGEoKTtqaCgpO05pZT1CaSh6ZmEoKSwxKSxDZmE9QmkoUWxlKCksMSksUmllPUNmYS5kZWZhdWx0fSk7ZnVuY3Rpb24geUZhKGEpe3JldHVybiB0eXBlb2YgQnVmZmVyPCJ1Ij9CdWZmZXIuZnJvbShhKS50b1N0cmluZygiYmFzZTY0Iik6YnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlKC4uLmEpKX1mdW5jdGlvbiB3RmEoYSl7aWYodHlwZW9mIEJ1ZmZlcjwidSIpe2xldCBlPUJ1ZmZlci5mcm9tKGEsImJhc2U2NCIpO3JldHVybiBuZXcgVWludDhBcnJheShlLmJ1ZmZlcixlLmJ5dGVPZmZzZXQsZS5ieXRlTGVuZ3RoKX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoQXJyYXkuZnJvbShhdG9iKGEpKS5tYXAoZT0+ZS5jaGFyQ29kZUF0KDApKSl9ZnVuY3Rpb24gamV0KGEsZSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGEsT2llLGUpfWZ1bmN0aW9uIFVldChhKXtyZXR1cm4gSlNPTi5wYXJzZShhLF9mYSl9ZnVuY3Rpb24gTUZhKGEpe3JldHVybiBMZmEoYSkmJmEudHlwZT09PSJFbmNvZGVkQnVmZmVyIiYmVmV0KGEuZGF0YSl9ZnVuY3Rpb24ga0ZhKGEpe3JldHVybiBMZmEoYSkmJmEudHlwZT09PSJCdWZmZXIiJiYoVGZhKGEuZGF0YSl8fFZldChhLmRhdGEpKXx8YSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl9ZnVuY3Rpb24gVGZhKGEpe3JldHVybiBBcnJheS5pc0FycmF5KGEpfWZ1bmN0aW9uIFZldChhKXtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmcifWZ1bmN0aW9uIExmYShhKXtyZXR1cm4gdHlwZW9mIGE9PSJvYmplY3QiJiZhIT09bnVsbH12YXIgT2llLF9mYSwkZmE9ZigoKT0+e3FldCgpO3MoeUZhLCJiYXNlNjRFbmNvZGUiKTtzKHdGYSwiYmFzZTY0RGVjb2RlIik7cyhqZXQsInN0cmluZ2lmeSIpO3MoVWV0LCJwYXJzZSIpO09pZT1zKChhLGUpPT57aWYoa0ZhKGUpKXtsZXQgdDtpZigiZGF0YSJpbiBlJiZUZmEoZS5kYXRhKSl0PW5ldyBVaW50OEFycmF5KGUuZGF0YSk7ZWxzZSBpZihlIGluc3RhbmNlb2YgVWludDhBcnJheSl0PWU7ZWxzZSByZXR1cm4gZTtyZXR1cm57dHlwZToiRW5jb2RlZEJ1ZmZlciIsZGF0YToiYmFzZTY0OiIreUZhKHQpfX1yZXR1cm4gZX0sInJlcGxhY2VyIiksX2ZhPXMoKGEsZSk9PntpZihNRmEoZSkmJlZldChlLmRhdGEpJiZlLmRhdGEuc3RhcnRzV2l0aCgiYmFzZTY0OiIpKXtsZXQgdD1lLmRhdGEuc2xpY2UoNyk7cmV0dXJuIHdGYSh0KX1yZXR1cm4gZX0sInJldml2ZXIiKTtzKE1GYSwiaXNFbmNvZGVkQnVmZmVyIik7cyhrRmEsImlzQnVmZmVyTGlrZSIpO3MoVGZhLCJpc0FycmF5Iik7cyhWZXQsImlzU3RyaW5nIik7cyhMZmEsImlzT2JqZWN0Iil9KTt2YXIgcGw9e307cnQocGwse1NtYXJ0anNvbjooKT0+R2V0LGRlZXBFcXVhbEpzb25MU3RyaW5nczooKT0+REZhLGRlZXBFcXVhbE9iamVjdHM6KCk9PkRmYSxmb2xkRGVjOigpPT4kRmEscGFyc2U6KCk9PkZpZSxwYXJzZUJhc2U2NDooKT0+TEZhLHBhcnNlSnNvbkw6KCk9PldldCxzdGFibGVPbmVXYXlTdHJpbmdpZnk6KCk9PkNGYSxzdHJpbmdpZnk6KCk9Pkg1LHN0cmluZ2lmeUJhc2U2NDooKT0+VEZhLHN0cmluZ2lmeUpzb25MOigpPT56RmEsc3RyaW5naWZ5UHJldHR5OigpPT5fRmF9KTt2YXIgRmllLFdldCx6RmEsQ0ZhLEg1LF9GYSxURmEsTEZhLEdldCwkRmEsRGZhLERGYSxBZmE9ZigoKT0+e3FldCgpOyRmYSgpO0ZpZT1VZXQsV2V0PXMoYT0+YS5zcGxpdChgCmApLnJlZHVjZSgocixpKT0+e2xldCBvPWkudHJpbSgpO3JldHVybiBvLmxlbmd0aD4wJiZyLnB1c2goRmllKG8pKSxyfSxbXSksInBhcnNlSnNvbkwiKSx6RmE9cyhhPT5hLm1hcChlPT5INShlKSkuam9pbihgCmApLCJzdHJpbmdpZnlKc29uTCIpLENGYT1zKChhLGUsdD17fSk9PntsZXQgcj1uZXcgV2Vha1NldCxpPXMobD0+e2lmKGw9PT1udWxsfHx0eXBlb2YgbCE9Im9iamVjdCIpcmV0dXJuIGw7bGV0IGQ9T2llKCIiLGwpO2lmKGQmJmQudHlwZT09PSJFbmNvZGVkQnVmZmVyIiYmdHlwZW9mIGQuZGF0YT09InN0cmluZyIpcmV0dXJuIGQ7aWYoci5oYXMobCkpcmV0dXJuIl9fY3ljbGVfXyI7aWYoci5hZGQobCksQXJyYXkuaXNBcnJheShsKSlyZXR1cm4gbC5tYXAocD0+aShwKSk7bGV0IGM9e307Zm9yKGxldCBwIG9mIE9iamVjdC5rZXlzKGwpKXRyeXtjW3BdPWkobFtwXSl9Y2F0Y2h7Y1twXT0iX191bnNlcmlhbGl6YWJsZV9fIn1yZXR1cm4gY30sInNhbml0aXplIiksbz1pKGEpLG49ey4uLnQsY3ljbGVzOiEwfTtpZihlJiYhbi5jbXApe2xldCBsPW5ldyBNYXA7ZS5mb3JFYWNoKChkLGMpPT5sLnNldChkLGMpKSxuLmNtcD0oZCxjKT0+e2xldCBwPWwuaGFzKGQua2V5KT9sLmdldChkLmtleSk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHU9bC5oYXMoYy5rZXkpP2wuZ2V0KGMua2V5KTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7cmV0dXJuIHAhPT11P3AtdTpkLmtleTxjLmtleT8tMTpkLmtleT5jLmtleT8xOjB9fXJldHVybiBSaWUobyxuKX0sInN0YWJsZU9uZVdheVN0cmluZ2lmeSIpLEg1PXMoKGEsZSx0PXt9KT0+e2xldCByPWpldChhKTthPUpTT04ucGFyc2Uocik7bGV0IGk9ey4uLnR9O2lmKGUmJiFpLmNtcCl7bGV0IG49bmV3IE1hcDtlLmZvckVhY2goKGwsZCk9Pm4uc2V0KGwsZCkpLGkuY21wPShsLGQpPT57bGV0IGM9bi5oYXMobC5rZXkpP24uZ2V0KGwua2V5KTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkscD1uLmhhcyhkLmtleSk/bi5nZXQoZC5rZXkpOk51bWJlci5QT1NJVElWRV9JTkZJTklUWTtyZXR1cm4gYyE9PXA/Yy1wOmwua2V5PGQua2V5Py0xOmwua2V5PmQua2V5PzE6MH19cmV0dXJuIFJpZShhLGkpfSwic3RyaW5naWZ5IiksX0ZhPXMoYT0+e2xldCBlPUg1KGEpLHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCxudWxsLDIpfSwic3RyaW5naWZ5UHJldHR5IiksVEZhPXMoKC4uLmEpPT57bGV0IGU9SDUoLi4uYSk7cmV0dXJuIGxzLmJhc2U2NC5lbmNvZGVVcmkoZSl9LCJzdHJpbmdpZnlCYXNlNjQiKSxMRmE9cyhhPT57bGV0IGU9bHMuYmFzZTY0LHI9KGUuZGVjb2RlVXJpfHxlLmRlY29kZSkoYSk7cmV0dXJuIEZpZShyKX0sInBhcnNlQmFzZTY0IiksR2V0PWNsYXNzIGF7c3RhdGlje3ModGhpcywiU21hcnRqc29uIil9c3RhdGljIGVuZm9sZEZyb21PYmplY3QoZSl7bGV0IHQ9bmV3IHRoaXMscj10LnNhdmVhYmxlUHJvcGVydGllc3x8W107Zm9yKGxldCBpIGluIGUpci5pbmRleE9mKGkpIT09LTEmJih0W2ldPWVbaV0pO3JldHVybiB0fXN0YXRpYyBlbmZvbGRGcm9tSnNvbihlKXtsZXQgdD1GaWUoZSk7cmV0dXJuIHRoaXMuZW5mb2xkRnJvbU9iamVjdCh0KX1mb2xkVG9PYmplY3QoKXtsZXQgZT1uZXcgU2V0O3JldHVybiBlLmFkZCh0aGlzKSx0aGlzLmZvbGRUb09iamVjdEludGVybmFsKGUpfWZvbGRUb09iamVjdEludGVybmFsKGUpe2xldCB0PXt9LHI9cyhvPT57aWYobyBpbnN0YW5jZW9mIGEpe2lmKGUuaGFzKG8pKXRocm93IG5ldyBFcnJvcigiY3ljbGUgZGV0ZWN0ZWQiKTtyZXR1cm4gZS5hZGQobyksby5mb2xkVG9PYmplY3RJbnRlcm5hbChlKX1yZXR1cm4gQXJyYXkuaXNBcnJheShvKT9vLm1hcChuPT5yKG4pKTpOaWUuZGVmYXVsdChvKX0sImZvbGRWYWx1ZSIpLGk9dGhpcy5zYXZlYWJsZVByb3BlcnRpZXN8fFtdO2ZvcihsZXQgbyBvZiBpKXtsZXQgbj10aGlzW29dO3Rbb109cihuKX1yZXR1cm4gdH1mb2xkVG9Kc29uKCl7bGV0IGU9dGhpcy5mb2xkVG9PYmplY3QoKTtyZXR1cm4gSDUoZSl9fSwkRmE9cygoKT0+KGEsZSk9PnthLnNhdmVhYmxlUHJvcGVydGllc3x8KGEuc2F2ZWFibGVQcm9wZXJ0aWVzPVtdKSxhLnNhdmVhYmxlUHJvcGVydGllcy5wdXNoKGUpfSwiZm9sZERlYyIpLERmYT1zKChhLGUpPT57bGV0IHQ9SDUoYSkscj1INShlKTtyZXR1cm4gdD09PXJ9LCJkZWVwRXF1YWxPYmplY3RzIiksREZhPXMoKGEsZSk9PntsZXQgdD1XZXQoYSkscj1XZXQoZSk7cmV0dXJuIERmYSh0LHIpfSwiZGVlcEVxdWFsSnNvbkxTdHJpbmdzIil9KTt2YXIgRWZhPWYoKCk9PntDcGEoKTttMygpO0VwYSgpO1NsKCk7QWZhKCk7WnMoKTttMigpO2poKCk7SmRlKCl9KTtmdW5jdGlvbiBFRmEoYSl7cmV0dXJue3BlZXI6YSxhc3luYyBnZXRUYWdCeUlkKGUpe2lmKCFhLnRhZ3MuaGFzKGUpKXJldHVybjtsZXQgdD1hLmRhdGEuZ2V0KGAke1lldH0ke2V9YCk7cmV0dXJue2lkOmUscGF5bG9hZDp0fX19fXZhciBZZXQsS2V0LFBmYT1mKCgpPT57RWZhKCk7WWV0PSJfX3R5cGVkc29ja2V0X3RhZ19fIjtzKEVGYSwid3JhcFNtYXJ0U2VydmVQZWVyIik7S2V0PWNsYXNzIGF7c3RhdGlje3ModGhpcywiVHlwZWRTb2NrZXQiKX1zdGF0aWMgYXN5bmMgY3JlYXRlQ2xpZW50KGUsdCxyPXt9KXtsZXQgbz17Li4ue2F1dG9SZWNvbm5lY3Q6ITAsbWF4UmV0cmllczoxMDAsaW5pdGlhbEJhY2tvZmZNczoxZTMsbWF4QmFja29mZk1zOjZlNH0sLi4ucn0sbj1uZXcgYSgiY2xpZW50IixlKTtyZXR1cm4gbi5jbGllbnRPcHRpb25zPW8sbi5zZXJ2ZXJVcmw9dCxuLmN1cnJlbnRCYWNrb2ZmPW8uaW5pdGlhbEJhY2tvZmZNcyxhd2FpdCBuLmNvbm5lY3QoKSxufXN0YXRpY3t0aGlzLnVzZVdpbmRvd0xvY2F0aW9uT3JpZ2luVXJsPSgpPT55MS5TbWFydHVybC5jcmVhdGVGcm9tVXJsKGdsb2JhbFRoaXMubG9jYXRpb24ub3JpZ2luKS50b1N0cmluZygpfXN0YXRpYyBmcm9tU21hcnRTZXJ2ZShlLHQpe2xldCByPW5ldyBNYXA7YS5yZWdpc3RlclRhZ0hhbmRsZXJzKHQpO2xldCBpPW5ldyBhKCJzZXJ2ZXIiLHQpO3JldHVybiBpLnNtYXJ0U2VydmVSZWY9ZSxpLnNtYXJ0U2VydmVDb25uZWN0aW9uV3JhcHBlcnM9cixpfXN0YXRpYyByZWdpc3RlclRhZ0hhbmRsZXJzKGUpe2UuYWRkVHlwZWRIYW5kbGVyKG5ldyBaNC5UeXBlZEhhbmRsZXIoIl9fdHlwZWRzb2NrZXRfc2V0VGFnIixhc3luYyh0LHIpPT57bGV0IGk9cj8ubG9jYWxEYXRhPy5wZWVyO3JldHVybiBpPyhpLnRhZ3MuYWRkKHQubmFtZSksaS5kYXRhLnNldChgJHtZZXR9JHt0Lm5hbWV9YCx0LnBheWxvYWQpLHtzdWNjZXNzOiEwfSk6KGNvbnNvbGUud2Fybigic2V0VGFnOiBObyBwZWVyIGZvdW5kIGluIHJlcXVlc3QgY29udGV4dCIpLHtzdWNjZXNzOiExfSl9KSksZS5hZGRUeXBlZEhhbmRsZXIobmV3IFo0LlR5cGVkSGFuZGxlcigiX190eXBlZHNvY2tldF9yZW1vdmVUYWciLGFzeW5jKHQscik9PntsZXQgaT1yPy5sb2NhbERhdGE/LnBlZXI7cmV0dXJuIGk/KGkudGFncy5kZWxldGUodC5uYW1lKSxpLmRhdGEuZGVsZXRlKGAke1lldH0ke3QubmFtZX1gKSx7c3VjY2VzczohMH0pOihjb25zb2xlLndhcm4oInJlbW92ZVRhZzogTm8gcGVlciBmb3VuZCBpbiByZXF1ZXN0IGNvbnRleHQiKSx7c3VjY2VzczohMX0pfSkpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5zdGF0dXNTdWJqZWN0PW5ldyBDYS5yeGpzLlN1YmplY3QsdGhpcy5jb25uZWN0aW9uU3RhdHVzPSJuZXciLHRoaXMud2Vic29ja2V0PW51bGwsdGhpcy5jbGllbnRPcHRpb25zPW51bGwsdGhpcy5zZXJ2ZXJVcmw9IiIsdGhpcy5yZXRyeUNvdW50PTAsdGhpcy5jdXJyZW50QmFja29mZj0xZTMsdGhpcy5wZW5kaW5nUmVxdWVzdHM9bmV3IE1hcCx0aGlzLnNtYXJ0U2VydmVSZWY9bnVsbCx0aGlzLnNtYXJ0U2VydmVDb25uZWN0aW9uV3JhcHBlcnM9bmV3IE1hcCx0aGlzLnNpZGU9ZSx0aGlzLnR5cGVkcm91dGVyPXR9YXN5bmMgY29ubmVjdCgpe2xldCBlPWV0LmRlZmVyKCk7dGhpcy51cGRhdGVTdGF0dXMoImNvbm5lY3RpbmciKTtsZXQgdD10aGlzLnRvV2ViU29ja2V0VXJsKHRoaXMuc2VydmVyVXJsKTtjb25zb2xlLmxvZyhgVHlwZWRTb2NrZXQgY29ubmVjdGluZyB0byAke3R9Li4uYCksdGhpcy53ZWJzb2NrZXQ9bmV3IFdlYlNvY2tldCh0KTtsZXQgcj1zZXRUaW1lb3V0KCgpPT57dGhpcy5jb25uZWN0aW9uU3RhdHVzIT09ImNvbm5lY3RlZCImJihjb25zb2xlLndhcm4oIlR5cGVkU29ja2V0IGNvbm5lY3Rpb24gdGltZW91dCIpLHRoaXMud2Vic29ja2V0Py5jbG9zZSgpLGUucmVqZWN0KG5ldyBFcnJvcigiQ29ubmVjdGlvbiB0aW1lb3V0IikpKX0sMWU0KTt0aGlzLndlYnNvY2tldC5vbm9wZW49KCk9PntjbGVhclRpbWVvdXQociksY29uc29sZS5sb2coIlR5cGVkU29ja2V0IGNvbm5lY3RlZCEiKSx0aGlzLnVwZGF0ZVN0YXR1cygiY29ubmVjdGVkIiksdGhpcy5yZXRyeUNvdW50PTAsdGhpcy5jdXJyZW50QmFja29mZj10aGlzLmNsaWVudE9wdGlvbnM/LmluaXRpYWxCYWNrb2ZmTXM/PzFlMyxlLnJlc29sdmUoKX0sdGhpcy53ZWJzb2NrZXQub25tZXNzYWdlPWFzeW5jIGk9Pnthd2FpdCB0aGlzLmhhbmRsZU1lc3NhZ2UoaS5kYXRhKX0sdGhpcy53ZWJzb2NrZXQub25jbG9zZT0oKT0+e2NsZWFyVGltZW91dChyKSx0aGlzLmhhbmRsZURpc2Nvbm5lY3QoKX0sdGhpcy53ZWJzb2NrZXQub25lcnJvcj1pPT57Y29uc29sZS5lcnJvcigiVHlwZWRTb2NrZXQgV2ViU29ja2V0IGVycm9yOiIsaSl9O3RyeXthd2FpdCBlLnByb21pc2V9Y2F0Y2goaSl7aWYoY2xlYXJUaW1lb3V0KHIpLHRoaXMuY2xpZW50T3B0aW9ucz8uYXV0b1JlY29ubmVjdClhd2FpdCB0aGlzLnNjaGVkdWxlUmVjb25uZWN0KCk7ZWxzZSB0aHJvdyBpfX10b1dlYlNvY2tldFVybChlKXtsZXQgdD1uZXcgVVJMKGUpO3JldHVybmAke3QucHJvdG9jb2w9PT0iaHR0cHM6Ij8id3NzOiI6IndzOiJ9Ly8ke3QuaG9zdH0ke3QucGF0aG5hbWV9YH1hc3luYyBoYW5kbGVNZXNzYWdlKGUpe3RyeXtsZXQgdD10eXBlb2YgZT09InN0cmluZyI/ZTpuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoZSkscj1wbC5wYXJzZSh0KTtpZihyLmNvcnJlbGF0aW9uPy5pZCYmdGhpcy5wZW5kaW5nUmVxdWVzdHMuaGFzKHIuY29ycmVsYXRpb24uaWQpKXtsZXQgbz10aGlzLnBlbmRpbmdSZXF1ZXN0cy5nZXQoci5jb3JyZWxhdGlvbi5pZCk7dGhpcy5wZW5kaW5nUmVxdWVzdHMuZGVsZXRlKHIuY29ycmVsYXRpb24uaWQpLG8ucmVzb2x2ZShyKTtyZXR1cm59bGV0IGk9YXdhaXQgdGhpcy50eXBlZHJvdXRlci5yb3V0ZUFuZEFkZFJlc3BvbnNlKHIpO2kmJnRoaXMud2Vic29ja2V0Py5yZWFkeVN0YXRlPT09V2ViU29ja2V0Lk9QRU4mJnRoaXMud2Vic29ja2V0LnNlbmQocGwuc3RyaW5naWZ5KGkpKX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKCJUeXBlZFNvY2tldCBmYWlsZWQgdG8gcHJvY2VzcyBtZXNzYWdlOiIsdCl9fWhhbmRsZURpc2Nvbm5lY3QoKXtpZih0aGlzLmNvbm5lY3Rpb25TdGF0dXMhPT0iZGlzY29ubmVjdGVkIil7dGhpcy51cGRhdGVTdGF0dXMoImRpc2Nvbm5lY3RlZCIpO2ZvcihsZXRbZSx0XW9mIHRoaXMucGVuZGluZ1JlcXVlc3RzKXQucmVqZWN0KG5ldyBFcnJvcigiVHlwZWRTb2NrZXQgZGlzY29ubmVjdGVkIikpO3RoaXMucGVuZGluZ1JlcXVlc3RzLmNsZWFyKCksdGhpcy5jbGllbnRPcHRpb25zPy5hdXRvUmVjb25uZWN0JiZ0aGlzLnJldHJ5Q291bnQ8dGhpcy5jbGllbnRPcHRpb25zLm1heFJldHJpZXMmJnRoaXMuc2NoZWR1bGVSZWNvbm5lY3QoKX19YXN5bmMgc2NoZWR1bGVSZWNvbm5lY3QoKXtpZighdGhpcy5jbGllbnRPcHRpb25zKXJldHVybjt0aGlzLnVwZGF0ZVN0YXR1cygicmVjb25uZWN0aW5nIiksdGhpcy5yZXRyeUNvdW50Kys7bGV0IGU9dGhpcy5jdXJyZW50QmFja29mZiouMiooTWF0aC5yYW5kb20oKSoyLTEpLHQ9TWF0aC5taW4odGhpcy5jdXJyZW50QmFja29mZitlLHRoaXMuY2xpZW50T3B0aW9ucy5tYXhCYWNrb2ZmTXMpO2NvbnNvbGUubG9nKGBUeXBlZFNvY2tldCByZWNvbm5lY3RpbmcgaW4gJHtNYXRoLnJvdW5kKHQpfW1zIChhdHRlbXB0ICR7dGhpcy5yZXRyeUNvdW50fS8ke3RoaXMuY2xpZW50T3B0aW9ucy5tYXhSZXRyaWVzfSlgKSxhd2FpdCBQdC5kZWxheUZvcih0KSx0aGlzLmN1cnJlbnRCYWNrb2ZmPU1hdGgubWluKHRoaXMuY3VycmVudEJhY2tvZmYqMix0aGlzLmNsaWVudE9wdGlvbnMubWF4QmFja29mZk1zKTt0cnl7YXdhaXQgdGhpcy5jb25uZWN0KCl9Y2F0Y2gocil7Y29uc29sZS5lcnJvcigiVHlwZWRTb2NrZXQgcmVjb25uZWN0aW9uIGZhaWxlZDoiLHIpfX11cGRhdGVTdGF0dXMoZSl7dGhpcy5jb25uZWN0aW9uU3RhdHVzIT09ZSYmKHRoaXMuY29ubmVjdGlvblN0YXR1cz1lLHRoaXMuc3RhdHVzU3ViamVjdC5uZXh0KGUpKX1hc3luYyBzZW5kUmVxdWVzdChlKXtpZighdGhpcy53ZWJzb2NrZXR8fHRoaXMud2Vic29ja2V0LnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTil0aHJvdyBuZXcgRXJyb3IoIldlYlNvY2tldCBub3QgY29ubmVjdGVkIik7ZS5jb3JyZWxhdGlvbnx8PXtpZDpscy5jcmVhdGUuY3JlYXRlQ3J5cHRvUmFuZG9tU3RyaW5nKCkscGhhc2U6InJlcXVlc3QifTtsZXQgdD1lLmNvcnJlbGF0aW9uLmlkO3JldHVybiBuZXcgUHJvbWlzZSgocixpKT0+e2xldCBvPXNldFRpbWVvdXQoKCk9Pnt0aGlzLnBlbmRpbmdSZXF1ZXN0cy5kZWxldGUodCksaShuZXcgRXJyb3IoIlJlcXVlc3QgdGltZW91dCIpKX0sM2U0KTt0aGlzLnBlbmRpbmdSZXF1ZXN0cy5zZXQodCx7cmVzb2x2ZTpzKG49PntjbGVhclRpbWVvdXQobykscihuKX0sInJlc29sdmUiKSxyZWplY3Q6cyhuPT57Y2xlYXJUaW1lb3V0KG8pLGkobil9LCJyZWplY3QiKX0pLHRoaXMud2Vic29ja2V0LnNlbmQocGwuc3RyaW5naWZ5KGUpKX0pfWNyZWF0ZVR5cGVkUmVxdWVzdChlLHQpe2xldCByPXMoYXN5bmMgaT0+e2lmKHRoaXMuc2lkZT09PSJjbGllbnQiKXJldHVybiB0aGlzLnNlbmRSZXF1ZXN0KGkpO2lmKCF0aGlzLnNtYXJ0U2VydmVSZWYpdGhyb3cgbmV3IEVycm9yKCJTZXJ2ZXIgbm90IGluaXRpYWxpemVkIik7bGV0IG89dDtpZighbyl7bGV0IGw9dGhpcy5zbWFydFNlcnZlUmVmLmdldFdlYlNvY2tldENvbm5lY3Rpb25zKCk7aWYobC5sZW5ndGg9PT0xKXtsZXQgZD1sWzBdO289dGhpcy5nZXRPckNyZWF0ZVdyYXBwZXIoZCl9ZWxzZSB0aHJvdyBsLmxlbmd0aD09PTA/bmV3IEVycm9yKCJObyBXZWJTb2NrZXQgY29ubmVjdGlvbnMgYXZhaWxhYmxlIik6bmV3IEVycm9yKCJNdWx0aXBsZSBjb25uZWN0aW9ucyBhdmFpbGFibGUgLSBzcGVjaWZ5IHRhcmdldENvbm5lY3Rpb24iKX1sZXQgbj1hd2FpdCB0aGlzLnR5cGVkcm91dGVyLmZpcmVFdmVudEludGVyZXN0TWFwLmFkZEludGVyZXN0KGkuY29ycmVsYXRpb24uaWQsaSk7cmV0dXJuIG8ucGVlci5zZW5kKHBsLnN0cmluZ2lmeShpKSksYXdhaXQgbi5pbnRlcmVzdEZ1bGxmaWxsZWR9LCJwb3N0TWV0aG9kIik7cmV0dXJuIG5ldyBaNC5UeXBlZFJlcXVlc3QobmV3IFo0LlR5cGVkVGFyZ2V0KHtwb3N0TWV0aG9kOnJ9KSxlKX1nZXRTdGF0dXMoKXtyZXR1cm4gdGhpcy5jb25uZWN0aW9uU3RhdHVzfWFzeW5jIHN0b3AoKXt0aGlzLnNpZGU9PT0iY2xpZW50Ij8odGhpcy5jbGllbnRPcHRpb25zJiYodGhpcy5jbGllbnRPcHRpb25zLmF1dG9SZWNvbm5lY3Q9ITEpLHRoaXMud2Vic29ja2V0JiYodGhpcy53ZWJzb2NrZXQuY2xvc2UoKSx0aGlzLndlYnNvY2tldD1udWxsKSx0aGlzLnBlbmRpbmdSZXF1ZXN0cy5jbGVhcigpKTp0aGlzLnNtYXJ0U2VydmVDb25uZWN0aW9uV3JhcHBlcnMuY2xlYXIoKX1hc3luYyBzZXRUYWcoZSx0KXtpZih0aGlzLnNpZGUhPT0iY2xpZW50Iil0aHJvdyBuZXcgRXJyb3IoInNldFRhZyBpcyBvbmx5IGF2YWlsYWJsZSBvbiBjbGllbnRzIik7aWYoIShhd2FpdCB0aGlzLmNyZWF0ZVR5cGVkUmVxdWVzdCgiX190eXBlZHNvY2tldF9zZXRUYWciKS5maXJlKHtuYW1lOmUscGF5bG9hZDp0fSkpLnN1Y2Nlc3MpdGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gc2V0IHRhZyBvbiBzZXJ2ZXIiKX1hc3luYyByZW1vdmVUYWcoZSl7aWYodGhpcy5zaWRlIT09ImNsaWVudCIpdGhyb3cgbmV3IEVycm9yKCJyZW1vdmVUYWcgaXMgb25seSBhdmFpbGFibGUgb24gY2xpZW50cyIpO2lmKCEoYXdhaXQgdGhpcy5jcmVhdGVUeXBlZFJlcXVlc3QoIl9fdHlwZWRzb2NrZXRfcmVtb3ZlVGFnIikuZmlyZSh7bmFtZTplfSkpLnN1Y2Nlc3MpdGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gcmVtb3ZlIHRhZyBvbiBzZXJ2ZXIiKX1nZXRPckNyZWF0ZVdyYXBwZXIoZSl7bGV0IHQ9dGhpcy5zbWFydFNlcnZlQ29ubmVjdGlvbldyYXBwZXJzLmdldChlLmlkKTtyZXR1cm4gdHx8KHQ9RUZhKGUpLHRoaXMuc21hcnRTZXJ2ZUNvbm5lY3Rpb25XcmFwcGVycy5zZXQoZS5pZCx0KSksdH1hc3luYyBmaW5kQWxsVGFyZ2V0Q29ubmVjdGlvbnMoZSl7aWYodGhpcy5zaWRlIT09InNlcnZlciJ8fCF0aGlzLnNtYXJ0U2VydmVSZWYpdGhyb3cgbmV3IEVycm9yKCJmaW5kQWxsVGFyZ2V0Q29ubmVjdGlvbnMgaXMgb25seSBhdmFpbGFibGUgb24gc2VydmVycyIpO2xldCB0PVtdO2ZvcihsZXQgciBvZiB0aGlzLnNtYXJ0U2VydmVSZWYuZ2V0V2ViU29ja2V0Q29ubmVjdGlvbnMoKSl7bGV0IGk9dGhpcy5nZXRPckNyZWF0ZVdyYXBwZXIocik7YXdhaXQgZShpKSYmdC5wdXNoKGkpfXJldHVybiB0fWFzeW5jIGZpbmRUYXJnZXRDb25uZWN0aW9uKGUpe3JldHVybihhd2FpdCB0aGlzLmZpbmRBbGxUYXJnZXRDb25uZWN0aW9ucyhlKSlbMF19YXN5bmMgZmluZEFsbFRhcmdldENvbm5lY3Rpb25zQnlUYWcoZSx0KXtpZih0aGlzLnNpZGUhPT0ic2VydmVyInx8IXRoaXMuc21hcnRTZXJ2ZVJlZil0aHJvdyBuZXcgRXJyb3IoImZpbmRBbGxUYXJnZXRDb25uZWN0aW9uc0J5VGFnIGlzIG9ubHkgYXZhaWxhYmxlIG9uIHNlcnZlcnMiKTtsZXQgcj10aGlzLnNtYXJ0U2VydmVSZWYuZ2V0V2ViU29ja2V0Q29ubmVjdGlvbnNCeVRhZyhlKSxpPVtdO2ZvcihsZXQgbyBvZiByKXtsZXQgbj10aGlzLmdldE9yQ3JlYXRlV3JhcHBlcihvKTtpZih0IT09dm9pZCAwKXtsZXQgbD1hd2FpdCBuLmdldFRhZ0J5SWQoZSk7aWYocGwuc3RyaW5naWZ5KGw/LnBheWxvYWQpIT09cGwuc3RyaW5naWZ5KHQpKWNvbnRpbnVlfWkucHVzaChuKX1yZXR1cm4gaX1hc3luYyBmaW5kVGFyZ2V0Q29ubmVjdGlvbkJ5VGFnKGUsdCl7cmV0dXJuKGF3YWl0IHRoaXMuZmluZEFsbFRhcmdldENvbm5lY3Rpb25zQnlUYWcoZSx0KSlbMF19fX0pO3ZhciB4Nz17fTtydCh4Nyx7VHlwZWRTb2NrZXQ6KCk9PktldH0pO3ZhciBJZmE9ZigoKT0+e1BmYSgpfSk7dmFyIGR0LHVuPWYoKCk9PntsZSgpO0lKZSgpO01wYSgpO0lmYSgpO2R0PUV0fSk7dmFyIFlzLE5mYT1mKCgpPT57bGUoKTtZcz1YYAogIDpob3N0IHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWFyZ2luOiBhdXRvOwogICAgbWF4LXdpZHRoOiAxMjgwcHg7CiAgICBwYWRkaW5nOiAxNnB4IDE2cHg7CiAgfQpgfSk7dmFyIFJmYSxaZXQsUEZhLEZHLE9mYT1mKCgpPT57bGUoKTtSZmE9W2llKCJvYi1zZWN0aW9uaGVhZGluZyIpXTtGRz1jbGFzcyBleHRlbmRzKFBGYT1wZSl7c3RhdGlje3ModGhpcywiT2JTZWN0aW9uSGVhZGluZyIpfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQogICAgICAuaGVhZGluZyB7CiAgICAgICAgZm9udC1mYW1pbHk6ICdDYWwgU2FucycsICdJbnRlcicsIHNhbnMtc2VyaWY7CiAgICAgICAgZm9udC1zaXplOiAyOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTExIiwiI2ZmZiIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxoMSBjbGFzcz0iaGVhZGluZyI+CiAgICAgICAgPHNsb3Q+PC9zbG90PgogICAgICA8L2gxPgogICAgYH19O1pldD1BcihQRmEpLEZHPVN0KFpldCwwLCJPYlNlY3Rpb25IZWFkaW5nIixSZmEsRkcpLEdlKFpldCwxLEZHKX0pO3ZhciBhMj1mKCgpPT57TmZhKCk7T2ZhKCl9KTt2YXIgcGk9ZigoKT0+e20zKCl9KTt2YXIgRmZhPWYoKCk9Pnt9KTt2YXIgQmZhPWYoKCk9Pnt9KTt2YXIgSGZhPWYoKCk9Pnt9KTt2YXIgcWZhPWYoKCk9Pnt9KTt2YXIgVmZhPWYoKCk9Pnt9KTt2YXIgamZhPWYoKCk9Pnt9KTt2YXIgSUZhLFVmYT1mKCgpPT57SUZhPXtzdGFuZGFyZDp7aG91cmx5OjAsZGFpbHk6Nyx3ZWVrbHk6NCxtb250aGx5OjEyfSxmcmVxdWVudDp7aG91cmx5OjI0LGRhaWx5Ojcsd2Vla2x5OjQsbW9udGhseToxMn0sbWluaW1hbDp7aG91cmx5OjAsZGFpbHk6Myx3ZWVrbHk6Mixtb250aGx5OjZ9LGxvbmd0ZXJtOntob3VybHk6MCxkYWlseToxNCx3ZWVrbHk6OCxtb250aGx5OjI0fX19KTt2YXIgV2ZhPWYoKCk9Pnt9KTt2YXIgR2ZhPWYoKCk9Pnt9KTt2YXIgWGV0PXt9O3J0KFhldCx7UkVURU5USU9OX1BSRVNFVFM6KCk9PklGYX0pO3ZhciBmaT1mKCgpPT57RmZhKCk7QmZhKCk7SGZhKCk7cWZhKCk7VmZhKCk7amZhKCk7VWZhKCk7V2ZhKCk7R2ZhKCl9KTt2YXIgWWZhPWYoKCk9PntwaSgpO2ZpKCl9KTt2YXIgS2ZhPWYoKCk9PntwaSgpO2ZpKCl9KTt2YXIgWmZhPWYoKCk9PntwaSgpO2ZpKCl9KTt2YXIgWGZhPWYoKCk9PntwaSgpO2ZpKCl9KTt2YXIgUWZhPWYoKCk9PntwaSgpO2ZpKCl9KTt2YXIgSmZhPWYoKCk9PntwaSgpO2ZpKCl9KTt2YXIgZTVhPWYoKCk9PntwaSgpO2ZpKCl9KTt2YXIgdDVhPWYoKCk9PntwaSgpO2ZpKCl9KTt2YXIgYTVhPWYoKCk9PntwaSgpO2ZpKCl9KTt2YXIgcjVhPWYoKCk9PntwaSgpO2ZpKCl9KTt2YXIgczVhPWYoKCk9PntwaSgpO2ZpKCl9KTt2YXIgaTVhPWYoKCk9PntwaSgpO2ZpKCl9KTt2YXIgbzVhPWYoKCk9PntwaSgpO2ZpKCl9KTt2YXIgbjVhPWYoKCk9PntwaSgpO2ZpKCl9KTt2YXIgbDVhPWYoKCk9PntwaSgpO2ZpKCl9KTt2YXIgYzVhPXt9O3ZhciBkNWE9ZigoKT0+e1lmYSgpO0tmYSgpO1pmYSgpO1hmYSgpO1FmYSgpO0pmYSgpO2U1YSgpO3Q1YSgpO2E1YSgpO3I1YSgpO3M1YSgpO2k1YSgpO281YSgpO241YSgpO2w1YSgpfSk7dmFyIHc3PWYoKCk9PntwaSgpO2ZpKCk7ZDVhKCl9KTthc3luYyBmdW5jdGlvbiBPRmEoKXtpZighcTUpdHJ5e3E1PWF3YWl0IHg3LlR5cGVkU29ja2V0LmNyZWF0ZUNsaWVudChCaWUseDcuVHlwZWRTb2NrZXQudXNlV2luZG93TG9jYXRpb25PcmlnaW5VcmwoKSksYXdhaXQgcTUuc2V0VGFnKCJyb2xlIiwib3BzX2Rhc2hib2FyZCIpLGNvbnNvbGUubG9nKCJUeXBlZFNvY2tldCBkYXNoYm9hcmQgY29ubmVjdGlvbiBlc3RhYmxpc2hlZCIpfWNhdGNoKGEpe2NvbnNvbGUuZXJyb3IoIlR5cGVkU29ja2V0IGNvbm5lY3Rpb24gZmFpbGVkOiIsYSkscTU9bnVsbH19YXN5bmMgZnVuY3Rpb24gRkZhKCl7aWYocTUpe3RyeXthd2FpdCBxNS5kaXNjb25uZWN0KCl9Y2F0Y2h7fXE1PW51bGx9fXZhciBLYyx4cyxaYyxMdCxQYSxzMixyMixmbCxobCxXbixYdCx1NWEsSGllLGs3LEJHLEpldCxIRyxwNWEsZjVhLGg1YSxtNWEsZzVhLGI1YSxxaWUsZXR0LHR0dCxWaWUsdjVhLGF0dCxxRyx4NWEseTVhLHc1YSxydHQsTTVhLGs1YSxqaWUsUzVhLFVpZSx6NWEsQzVhLFBtbyxfNWEsSW1vLFQ1YSxObW8sTDVhLHN0dCxXaWUsUm1vLE9tbyxGbW8sTTcsTkZhLFFldCxxNSxCaWUsUkZhLCQ1YSxENWEsQTVhLEduPWYoYXN5bmMoKT0+e3VuKCk7dzcoKTtLYz1uZXcgZHQucGx1Z2lucy5zbWFydHN0YXRlLlNtYXJ0c3RhdGUseHM9YXdhaXQgS2MuZ2V0U3RhdGVQYXJ0KCJsb2dpbiIse2lkZW50aXR5Om51bGwsaXNMb2dnZWRJbjohMX0sInBlcnNpc3RlbnQiKSxaYz1hd2FpdCBLYy5nZXRTdGF0ZVBhcnQoInN5c3RlbSIse3N0YXR1czpudWxsfSwic29mdCIpLEx0PWF3YWl0IEtjLmdldFN0YXRlUGFydCgic2VydmljZXMiLHtzZXJ2aWNlczpbXSxjdXJyZW50U2VydmljZTpudWxsLGN1cnJlbnRTZXJ2aWNlTG9nczpbXSxjdXJyZW50U2VydmljZVN0YXRzOm51bGwscGxhdGZvcm1TZXJ2aWNlczpbXSxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlOm51bGwsY3VycmVudFBsYXRmb3JtU2VydmljZVN0YXRzOm51bGwsY3VycmVudFBsYXRmb3JtU2VydmljZUxvZ3M6W119LCJzb2Z0IiksUGE9YXdhaXQgS2MuZ2V0U3RhdGVQYXJ0KCJuZXR3b3JrIix7dGFyZ2V0czpbXSxzdGF0czpudWxsLHRyYWZmaWNTdGF0czpudWxsLGRuc1JlY29yZHM6W10sZG9tYWluczpbXSxnYXRld2F5RG9tYWluczpbXSxnYXRld2F5RG5zUmVjb3JkczpbXSxjZXJ0aWZpY2F0ZXM6W119LCJzb2Z0IiksczI9YXdhaXQgS2MuZ2V0U3RhdGVQYXJ0KCJyZWdpc3RyaWVzIix7dG9rZW5zOltdLHJlZ2lzdHJ5U3RhdHVzOm51bGx9LCJzb2Z0IikscjI9YXdhaXQgS2MuZ2V0U3RhdGVQYXJ0KCJiYWNrdXBzIix7YmFja3VwczpbXSxzY2hlZHVsZXM6W119LCJzb2Z0IiksZmw9YXdhaXQgS2MuZ2V0U3RhdGVQYXJ0KCJzZXR0aW5ncyIse3NldHRpbmdzOm51bGwsYmFja3VwUGFzc3dvcmRDb25maWd1cmVkOiExfSwic29mdCIpLGhsPWF3YWl0IEtjLmdldFN0YXRlUGFydCgiYXBwU3RvcmUiLHthcHBzOltdLHVwZ3JhZGVhYmxlU2VydmljZXM6W119LCJzb2Z0IiksV249YXdhaXQgS2MuZ2V0U3RhdGVQYXJ0KCJ1aSIse2FjdGl2ZVZpZXc6ImRhc2hib2FyZCIsYXV0b1JlZnJlc2g6ITAscmVmcmVzaEludGVydmFsOjNlNH0pLFh0PXMoKCk9Pih7aWRlbnRpdHk6eHMuZ2V0U3RhdGUoKS5pZGVudGl0eX0pLCJnZXRBY3Rpb25Db250ZXh0IiksdTVhPXhzLmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57dHJ5e3JldHVybntpZGVudGl0eTooYXdhaXQgbmV3IGR0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImFkbWluTG9naW5XaXRoVXNlcm5hbWVBbmRQYXNzd29yZCIpLmZpcmUoe3VzZXJuYW1lOmUudXNlcm5hbWUscGFzc3dvcmQ6ZS5wYXNzd29yZH0pKS5pZGVudGl0eSxpc0xvZ2dlZEluOiEwfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiTG9naW4gZmFpbGVkOiIsdCkse2lkZW50aXR5Om51bGwsaXNMb2dnZWRJbjohMX19fSksSGllPXhzLmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9WHQoKTt0cnl7ZS5pZGVudGl0eSYmYXdhaXQgbmV3IGR0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImFkbWluTG9nb3V0IikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IoIkxvZ291dCBlcnJvcjoiLHQpfXJldHVybntpZGVudGl0eTpudWxsLGlzTG9nZ2VkSW46ITF9fSksazc9WmMuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1YdCgpO3RyeXtyZXR1cm57c3RhdHVzOihhd2FpdCBuZXcgZHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0U3lzdGVtU3RhdHVzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pKS5zdGF0dXN9fWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggc3lzdGVtIHN0YXR1czoiLHQpLGEuZ2V0U3RhdGUoKX19KSxCRz1MdC5jcmVhdGVBY3Rpb24oYXN5bmMgYT0+e2xldCBlPVh0KCk7dHJ5e2xldCByPWF3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTZXJ2aWNlcyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLHNlcnZpY2VzOnIuc2VydmljZXN9fWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggc2VydmljZXM6Iix0KSxhLmdldFN0YXRlKCl9fSksSmV0PUx0LmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9WHQoKTt0cnl7bGV0IGk9YXdhaXQgbmV3IGR0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFNlcnZpY2UiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LHNlcnZpY2VOYW1lOmUubmFtZX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksY3VycmVudFNlcnZpY2U6aS5zZXJ2aWNlfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHNlcnZpY2U6IixyKSxhLmdldFN0YXRlKCl9fSksSEc9THQuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1YdCgpO3RyeXthd2FpdCBuZXcgZHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiY3JlYXRlU2VydmljZSIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2VydmljZUNvbmZpZzplLmNvbmZpZ30pO2xldCBvPWF3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTZXJ2aWNlcyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLHNlcnZpY2VzOm8uc2VydmljZXN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gY3JlYXRlIHNlcnZpY2U6IixyKSxhLmdldFN0YXRlKCl9fSkscDVhPUx0LmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9WHQoKTt0cnl7YXdhaXQgbmV3IGR0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImRlbGV0ZVNlcnZpY2UiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LHNlcnZpY2VOYW1lOmUubmFtZX0pO2xldCBpPWEuZ2V0U3RhdGUoKTtyZXR1cm57Li4uaSxzZXJ2aWNlczppLnNlcnZpY2VzLmZpbHRlcihvPT5vLm5hbWUhPT1lLm5hbWUpLGN1cnJlbnRTZXJ2aWNlOm51bGx9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZGVsZXRlIHNlcnZpY2U6IixyKSxhLmdldFN0YXRlKCl9fSksZjVhPUx0LmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9WHQoKTt0cnl7YXdhaXQgbmV3IGR0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsInN0YXJ0U2VydmljZSIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2VydmljZU5hbWU6ZS5uYW1lfSk7bGV0IG89YXdhaXQgbmV3IGR0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksc2VydmljZXM6by5zZXJ2aWNlc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBzdGFydCBzZXJ2aWNlOiIsciksYS5nZXRTdGF0ZSgpfX0pLGg1YT1MdC5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PVh0KCk7dHJ5e2F3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJzdG9wU2VydmljZSIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2VydmljZU5hbWU6ZS5uYW1lfSk7bGV0IG89YXdhaXQgbmV3IGR0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksc2VydmljZXM6by5zZXJ2aWNlc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBzdG9wIHNlcnZpY2U6IixyKSxhLmdldFN0YXRlKCl9fSksbTVhPUx0LmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9WHQoKTt0cnl7YXdhaXQgbmV3IGR0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsInJlc3RhcnRTZXJ2aWNlIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eSxzZXJ2aWNlTmFtZTplLm5hbWV9KTtsZXQgbz1hd2FpdCBuZXcgZHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0U2VydmljZXMiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxzZXJ2aWNlczpvLnNlcnZpY2VzfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHJlc3RhcnQgc2VydmljZToiLHIpLGEuZ2V0U3RhdGUoKX19KSxnNWE9THQuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1YdCgpO3RyeXtsZXQgaT1hd2FpdCBuZXcgZHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0U2VydmljZUxvZ3MiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LHNlcnZpY2VOYW1lOmUubmFtZSx0YWlsOmUubGluZXN8fDIwMH0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksY3VycmVudFNlcnZpY2VMb2dzOmkubG9nc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBzZXJ2aWNlIGxvZ3M6IixyKSxhLmdldFN0YXRlKCl9fSksYjVhPUx0LmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9WHQoKTt0cnl7bGV0IGk9YXdhaXQgbmV3IGR0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFNlcnZpY2VTdGF0cyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2VydmljZU5hbWU6ZS5uYW1lfSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxjdXJyZW50U2VydmljZVN0YXRzOmkuc3RhdHN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggc2VydmljZSBzdGF0czoiLHIpLGEuZ2V0U3RhdGUoKX19KSxxaWU9THQuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1YdCgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgZHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0UGxhdGZvcm1TZXJ2aWNlcyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLHBsYXRmb3JtU2VydmljZXM6ci5wbGF0Zm9ybVNlcnZpY2VzfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHBsYXRmb3JtIHNlcnZpY2VzOiIsdCksYS5nZXRTdGF0ZSgpfX0pLGV0dD1MdC5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PVh0KCk7dHJ5e2F3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJzdGFydFBsYXRmb3JtU2VydmljZSIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2VydmljZVR5cGU6ZS5zZXJ2aWNlVHlwZX0pO2xldCBvPWF3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRQbGF0Zm9ybVNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCkscGxhdGZvcm1TZXJ2aWNlczpvLnBsYXRmb3JtU2VydmljZXN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc3RhcnQgcGxhdGZvcm0gc2VydmljZToiLHIpLGEuZ2V0U3RhdGUoKX19KSx0dHQ9THQuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1YdCgpO3RyeXthd2FpdCBuZXcgZHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0Iiwic3RvcFBsYXRmb3JtU2VydmljZSIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2VydmljZVR5cGU6ZS5zZXJ2aWNlVHlwZX0pO2xldCBvPWF3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRQbGF0Zm9ybVNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCkscGxhdGZvcm1TZXJ2aWNlczpvLnBsYXRmb3JtU2VydmljZXN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc3RvcCBwbGF0Zm9ybSBzZXJ2aWNlOiIsciksYS5nZXRTdGF0ZSgpfX0pLFZpZT1MdC5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PVh0KCk7dHJ5e2xldCBpPWF3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRQbGF0Zm9ybVNlcnZpY2VTdGF0cyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2VydmljZVR5cGU6ZS5zZXJ2aWNlVHlwZX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksY3VycmVudFBsYXRmb3JtU2VydmljZVN0YXRzOmkuc3RhdHN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggcGxhdGZvcm0gc2VydmljZSBzdGF0czoiLHIpLHsuLi5hLmdldFN0YXRlKCksY3VycmVudFBsYXRmb3JtU2VydmljZVN0YXRzOm51bGx9fX0pLHY1YT1MdC5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PVh0KCk7dHJ5e2xldCBpPWF3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRQbGF0Zm9ybVNlcnZpY2VMb2dzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eSxzZXJ2aWNlVHlwZTplLnNlcnZpY2VUeXBlLHRhaWw6ZS50YWlsfHwxMDB9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLGN1cnJlbnRQbGF0Zm9ybVNlcnZpY2VMb2dzOmkubG9nc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBwbGF0Zm9ybSBzZXJ2aWNlIGxvZ3M6IixyKSx7Li4uYS5nZXRTdGF0ZSgpLGN1cnJlbnRQbGF0Zm9ybVNlcnZpY2VMb2dzOltdfX19KSxhdHQ9UGEuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1YdCgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgZHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0TmV0d29ya1RhcmdldHMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSx0YXJnZXRzOnIudGFyZ2V0c319Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBuZXR3b3JrIHRhcmdldHM6Iix0KSxhLmdldFN0YXRlKCl9fSkscUc9UGEuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1YdCgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgZHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0TmV0d29ya1N0YXRzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksc3RhdHM6ci5zdGF0c319Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBuZXR3b3JrIHN0YXRzOiIsdCksYS5nZXRTdGF0ZSgpfX0pLHg1YT1QYS5jcmVhdGVBY3Rpb24oYXN5bmMgYT0+e2xldCBlPVh0KCk7dHJ5e2xldCByPWF3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRUcmFmZmljU3RhdHMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSx0cmFmZmljU3RhdHM6ci5zdGF0c319Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCB0cmFmZmljIHN0YXRzOiIsdCksYS5nZXRTdGF0ZSgpfX0pLHk1YT1QYS5jcmVhdGVBY3Rpb24oYXN5bmMgYT0+e2xldCBlPVh0KCk7dHJ5e2xldCByPWF3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXREbnNSZWNvcmRzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksZG5zUmVjb3JkczpyLnJlY29yZHN9fWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggRE5TIHJlY29yZHM6Iix0KSxhLmdldFN0YXRlKCl9fSksdzVhPVBhLmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9WHQoKTt0cnl7YXdhaXQgbmV3IGR0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsInN5bmNEbnMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7bGV0IGk9YXdhaXQgbmV3IGR0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldERuc1JlY29yZHMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxkbnNSZWNvcmRzOmkucmVjb3Jkc319Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBzeW5jIEROUzoiLHQpLGEuZ2V0U3RhdGUoKX19KSxydHQ9UGEuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1YdCgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgZHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0RG9tYWlucyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLGRvbWFpbnM6ci5kb21haW5zfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIGRvbWFpbnM6Iix0KSxhLmdldFN0YXRlKCl9fSksTTVhPVBhLmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9WHQoKTt0cnl7bGV0IHI9YXdhaXQgbmV3IGR0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldEdhdGV3YXlEb21haW5zIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksZ2F0ZXdheURvbWFpbnM6ci5kb21haW5zfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIGdhdGV3YXkgZG9tYWluczoiLHQpLGEuZ2V0U3RhdGUoKX19KSxrNWE9UGEuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1YdCgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgZHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0R2F0ZXdheURuc1JlY29yZHMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxnYXRld2F5RG5zUmVjb3JkczpyLnJlY29yZHN9fWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggZ2F0ZXdheSBETlMgcmVjb3JkczoiLHQpLGEuZ2V0U3RhdGUoKX19KSxqaWU9UGEuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1YdCgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgZHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwibGlzdENlcnRpZmljYXRlcyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLGNlcnRpZmljYXRlczpyLmNlcnRpZmljYXRlc319Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBjZXJ0aWZpY2F0ZXM6Iix0KSxhLmdldFN0YXRlKCl9fSksUzVhPVBhLmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9WHQoKTt0cnl7YXdhaXQgbmV3IGR0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsInJlbmV3Q2VydGlmaWNhdGUiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LGRvbWFpbjplLmRvbWFpbn0pO2xldCBvPWF3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJsaXN0Q2VydGlmaWNhdGVzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksY2VydGlmaWNhdGVzOm8uY2VydGlmaWNhdGVzfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHJlbmV3IGNlcnRpZmljYXRlOiIsciksYS5nZXRTdGF0ZSgpfX0pLFVpZT1zMi5jcmVhdGVBY3Rpb24oYXN5bmMgYT0+e2xldCBlPVh0KCk7dHJ5e2xldCByPWF3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRSZWdpc3RyeVRva2VucyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLHRva2VuczpyLnRva2Vuc319Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCByZWdpc3RyeSB0b2tlbnM6Iix0KSxhLmdldFN0YXRlKCl9fSksejVhPXMyLmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9WHQoKTt0cnl7YXdhaXQgbmV3IGR0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImNyZWF0ZVJlZ2lzdHJ5VG9rZW4iKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LHRva2VuOmUudG9rZW59KTtsZXQgbz1hd2FpdCBuZXcgZHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0UmVnaXN0cnlUb2tlbnMiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSx0b2tlbnM6by50b2tlbnN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gY3JlYXRlIHJlZ2lzdHJ5IHRva2VuOiIsciksYS5nZXRTdGF0ZSgpfX0pLEM1YT1zMi5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PVh0KCk7dHJ5e2F3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJkZWxldGVSZWdpc3RyeVRva2VuIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eSx0b2tlbklkOmUudG9rZW5JZH0pO2xldCBpPWEuZ2V0U3RhdGUoKTtyZXR1cm57Li4uaSx0b2tlbnM6aS50b2tlbnMuZmlsdGVyKG89Pm8uaWQhPT1lLnRva2VuSWQpfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGRlbGV0ZSByZWdpc3RyeSB0b2tlbjoiLHIpLGEuZ2V0U3RhdGUoKX19KSxQbW89cjIuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1YdCgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgZHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0QmFja3VwcyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLGJhY2t1cHM6ci5iYWNrdXBzfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIGJhY2t1cHM6Iix0KSxhLmdldFN0YXRlKCl9fSksXzVhPXIyLmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9WHQoKTt0cnl7YXdhaXQgbmV3IGR0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImRlbGV0ZUJhY2t1cCIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksYmFja3VwSWQ6ZS5iYWNrdXBJZH0pO2xldCBpPWEuZ2V0U3RhdGUoKTtyZXR1cm57Li4uaSxiYWNrdXBzOmkuYmFja3Vwcy5maWx0ZXIobz0+by5pZCE9PWUuYmFja3VwSWQpfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGRlbGV0ZSBiYWNrdXA6IixyKSxhLmdldFN0YXRlKCl9fSksSW1vPXIyLmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9WHQoKTt0cnl7bGV0IHI9YXdhaXQgbmV3IGR0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldEJhY2t1cFNjaGVkdWxlcyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLHNjaGVkdWxlczpyLnNjaGVkdWxlc319Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBzY2hlZHVsZXM6Iix0KSxhLmdldFN0YXRlKCl9fSksVDVhPXIyLmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9WHQoKTt0cnl7YXdhaXQgbmV3IGR0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImNyZWF0ZUJhY2t1cFNjaGVkdWxlIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eSxzY2hlZHVsZUNvbmZpZzplLmNvbmZpZ30pO2xldCBvPWF3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRCYWNrdXBTY2hlZHVsZXMiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxzY2hlZHVsZXM6by5zY2hlZHVsZXN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gY3JlYXRlIHNjaGVkdWxlOiIsciksYS5nZXRTdGF0ZSgpfX0pLE5tbz1yMi5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PVh0KCk7dHJ5e2F3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJkZWxldGVCYWNrdXBTY2hlZHVsZSIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2NoZWR1bGVJZDplLnNjaGVkdWxlSWR9KTtsZXQgaT1hLmdldFN0YXRlKCk7cmV0dXJuey4uLmksc2NoZWR1bGVzOmkuc2NoZWR1bGVzLmZpbHRlcihvPT5vLmlkIT09ZS5zY2hlZHVsZUlkKX19Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBkZWxldGUgc2NoZWR1bGU6IixyKSxhLmdldFN0YXRlKCl9fSksTDVhPXIyLmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9WHQoKTt0cnl7YXdhaXQgbmV3IGR0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsInRyaWdnZXJCYWNrdXBTY2hlZHVsZSIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2NoZWR1bGVJZDplLnNjaGVkdWxlSWR9KTtsZXQgbz1hd2FpdCBuZXcgZHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0QmFja3VwcyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLGJhY2t1cHM6by5iYWNrdXBzfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHRyaWdnZXIgc2NoZWR1bGU6IixyKSxhLmdldFN0YXRlKCl9fSksc3R0PWZsLmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9WHQoKTt0cnl7bGV0W3Qscl09YXdhaXQgUHJvbWlzZS5hbGwoW25ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTZXR0aW5ncyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KSxuZXcgZHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0QmFja3VwUGFzc3dvcmRTdGF0dXMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSldKTtyZXR1cm57c2V0dGluZ3M6dC5zZXR0aW5ncyxiYWNrdXBQYXNzd29yZENvbmZpZ3VyZWQ6ci5zdGF0dXMuaXNDb25maWd1cmVkfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHNldHRpbmdzOiIsdCksYS5nZXRTdGF0ZSgpfX0pLFdpZT1mbC5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PVh0KCk7dHJ5e2xldCBpPWF3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJ1cGRhdGVTZXR0aW5ncyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2V0dGluZ3M6ZS5zZXR0aW5nc30pO3JldHVybnsuLi5hLmdldFN0YXRlKCksc2V0dGluZ3M6aS5zZXR0aW5nc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byB1cGRhdGUgc2V0dGluZ3M6IixyKSxhLmdldFN0YXRlKCl9fSksUm1vPWZsLmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9WHQoKTt0cnl7cmV0dXJuIGF3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJzZXRCYWNrdXBQYXNzd29yZCIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHkscGFzc3dvcmQ6ZS5wYXNzd29yZH0pLHsuLi5hLmdldFN0YXRlKCksYmFja3VwUGFzc3dvcmRDb25maWd1cmVkOiEwfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHNldCBiYWNrdXAgcGFzc3dvcmQ6IixyKSxhLmdldFN0YXRlKCl9fSksT21vPVduLmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9ZS52aWV3LnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXHMrL2csIi0iKTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLGFjdGl2ZVZpZXc6dH19KSxGbW89V24uY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1hLmdldFN0YXRlKCk7cmV0dXJuey4uLmUsYXV0b1JlZnJlc2g6IWUuYXV0b1JlZnJlc2h9fSksTTc9bnVsbCxORmE9cyhhc3luYygpPT57aWYoeHMuZ2V0U3RhdGUoKS5pc0xvZ2dlZEluKXRyeXthd2FpdCBaYy5kaXNwYXRjaEFjdGlvbihrNyxudWxsKX1jYXRjaHt9fSwiZGlzcGF0Y2hDb21iaW5lZFJlZnJlc2hBY3Rpb24iKSxRZXQ9cygoKT0+e2xldCBhPVduLmdldFN0YXRlKCksZT14cy5nZXRTdGF0ZSgpO2EuYXV0b1JlZnJlc2gmJmUuaXNMb2dnZWRJbj8oTTcmJmNsZWFySW50ZXJ2YWwoTTcpLE03PXNldEludGVydmFsKCgpPT57TkZhKCl9LGEucmVmcmVzaEludGVydmFsKSk6TTcmJihjbGVhckludGVydmFsKE03KSxNNz1udWxsKX0sInN0YXJ0QXV0b1JlZnJlc2giKTtXbi5zZWxlY3QoYT0+YSkuc3Vic2NyaWJlKCgpPT5RZXQoKSkseHMuc2VsZWN0KGE9PmEpLnN1YnNjcmliZSgoKT0+UWV0KCkpLFFldCgpO3E1PW51bGwsQmllPW5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJvdXRlcixSRmE9cygoYSxlKT0+e2xldCB0PWEuZmluZEluZGV4KGk9PmkubmFtZT09PWUubmFtZSk7aWYodD09PS0xKXJldHVyblsuLi5hLGVdO2xldCByPVsuLi5hXTtyZXR1cm4gclt0XT1lLHJ9LCJ1cHNlcnRTZXJ2aWNlIik7QmllLmFkZFR5cGVkSGFuZGxlcihuZXcgZHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRIYW5kbGVyKCJwdXNoU2VydmljZVVwZGF0ZSIsYXN5bmMgYT0+e2xldCBlPUx0LmdldFN0YXRlKCksdD1lLnNlcnZpY2VzLHI9ZS5jdXJyZW50U2VydmljZSxpPWUuY3VycmVudFNlcnZpY2VMb2dzLG89ZS5jdXJyZW50U2VydmljZVN0YXRzO3JldHVybiBhLmFjdGlvbj09PSJkZWxldGVkIj8odD10LmZpbHRlcihuPT5uLm5hbWUhPT1hLnNlcnZpY2VOYW1lKSxyPy5uYW1lPT09YS5zZXJ2aWNlTmFtZSYmKHI9bnVsbCxpPVtdLG89bnVsbCkpOmEuc2VydmljZSYmKHQ9UkZhKHQsYS5zZXJ2aWNlKSxyPy5uYW1lPT09YS5zZXJ2aWNlLm5hbWUmJihyPWEuc2VydmljZSkpLEx0LnNldFN0YXRlKHsuLi5lLHNlcnZpY2VzOnQsY3VycmVudFNlcnZpY2U6cixjdXJyZW50U2VydmljZUxvZ3M6aSxjdXJyZW50U2VydmljZVN0YXRzOm99KSx7fX0pKSxCaWUuYWRkVHlwZWRIYW5kbGVyKG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZEhhbmRsZXIoInB1c2hQbGF0Zm9ybVNlcnZpY2VMb2ciLGFzeW5jIGE9PntsZXQgZT1MdC5nZXRTdGF0ZSgpLHQ9e2lkOmUuY3VycmVudFBsYXRmb3JtU2VydmljZUxvZ3MubGVuZ3RoLHNlcnZpY2VJZDowLHRpbWVzdGFtcDpuZXcgRGF0ZShhLmVudHJ5LnRpbWVzdGFtcCkuZ2V0VGltZSgpLG1lc3NhZ2U6YS5lbnRyeS5tZXNzYWdlLGxldmVsOmEuZW50cnkubGV2ZWwsc291cmNlOiJzdGRvdXQifSxyPVsuLi5lLmN1cnJlbnRQbGF0Zm9ybVNlcnZpY2VMb2dzLHRdO3JldHVybiByLmxlbmd0aD4yZTMmJnIuc3BsaWNlKDAsci5sZW5ndGgtMmUzKSxMdC5zZXRTdGF0ZSh7Li4uZSxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlTG9nczpyfSkse319KSksQmllLmFkZFR5cGVkSGFuZGxlcihuZXcgZHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRIYW5kbGVyKCJwdXNoU2VydmljZUxvZyIsYXN5bmMgYT0+e2xldCBlPUx0LmdldFN0YXRlKCk7aWYoIWUuY3VycmVudFNlcnZpY2V8fGUuY3VycmVudFNlcnZpY2UubmFtZSE9PWEuc2VydmljZU5hbWUpcmV0dXJue307bGV0IHQ9e2lkOmUuY3VycmVudFNlcnZpY2VMb2dzLmxlbmd0aCxzZXJ2aWNlSWQ6MCx0aW1lc3RhbXA6bmV3IERhdGUoYS5lbnRyeS50aW1lc3RhbXApLmdldFRpbWUoKSxtZXNzYWdlOmEuZW50cnkubWVzc2FnZSxsZXZlbDphLmVudHJ5LmxldmVsLHNvdXJjZToic3Rkb3V0In0scj1bLi4uZS5jdXJyZW50U2VydmljZUxvZ3MsdF07cmV0dXJuIHIubGVuZ3RoPjJlMyYmci5zcGxpY2UoMCxyLmxlbmd0aC0yZTMpLEx0LnNldFN0YXRlKHsuLi5lLGN1cnJlbnRTZXJ2aWNlTG9nczpyfSkse319KSk7cyhPRmEsImNvbm5lY3RTb2NrZXQiKTtzKEZGYSwiZGlzY29ubmVjdFNvY2tldCIpOyQ1YT1obC5jcmVhdGVBY3Rpb24oYXN5bmMgYT0+e2xldCBlPVh0KCk7dHJ5e2xldCByPWF3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRBcHBUZW1wbGF0ZXMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxhcHBzOnIuYXBwc319Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBhcHAgdGVtcGxhdGVzOiIsdCksYS5nZXRTdGF0ZSgpfX0pLEQ1YT1obC5jcmVhdGVBY3Rpb24oYXN5bmMgYT0+e2xldCBlPVh0KCk7dHJ5e2xldCByPWF3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRVcGdyYWRlYWJsZVNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksdXBncmFkZWFibGVTZXJ2aWNlczpyLnNlcnZpY2VzfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHVwZ3JhZGVhYmxlIHNlcnZpY2VzOiIsdCksYS5nZXRTdGF0ZSgpfX0pLEE1YT1obC5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PVh0KCk7dHJ5e2F3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJ1cGdyYWRlU2VydmljZSIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2VydmljZU5hbWU6ZS5zZXJ2aWNlTmFtZSx0YXJnZXRWZXJzaW9uOmUudGFyZ2V0VmVyc2lvbn0pO2xldCBvPWF3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRVcGdyYWRlYWJsZVNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksdXBncmFkZWFibGVTZXJ2aWNlczpvLnNlcnZpY2VzfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHVwZ3JhZGUgc2VydmljZToiLHIpLGEuZ2V0U3RhdGUoKX19KTt4cy5zZWxlY3QoYT0+YSkuc3Vic2NyaWJlKGE9PnthLmlzTG9nZ2VkSW4/T0ZhKCk6RkZhKCl9KX0pO3ZhciBCRmEsaXR0LG90dCxSbyxWNT1mKGFzeW5jKCk9Pnt1bigpO2F3YWl0IEduKCk7QkZhPWR0LnBsdWdpbnMuc21hcnRyb3V0ZXIuU21hcnRSb3V0ZXIsaXR0PVsiZGFzaGJvYXJkIiwiYXBwLXN0b3JlIiwic2VydmljZXMiLCJkb21haW5zIiwiZG5zLXJlY29yZHMiLCJuZXR3b3JrIiwicmVnaXN0cmllcyIsInRva2VucyIsInNldHRpbmdzIl0sb3R0PWNsYXNze3N0YXRpY3tzKHRoaXMsIkFwcFJvdXRlciIpfXJvdXRlcjtpbml0aWFsaXplZD0hMTtzdXBwcmVzc1N0YXRlVXBkYXRlPSExO2NvbnN0cnVjdG9yKCl7dGhpcy5yb3V0ZXI9bmV3IEJGYSh7ZGVidWc6ITF9KX1pbml0KCl7dGhpcy5pbml0aWFsaXplZHx8KHRoaXMuc2V0dXBSb3V0ZXMoKSx0aGlzLnNldHVwU3RhdGVTeW5jKCksdGhpcy5oYW5kbGVJbml0aWFsUm91dGUoKSx0aGlzLmluaXRpYWxpemVkPSEwKX1zZXR1cFJvdXRlcygpe2ZvcihsZXQgZSBvZiBpdHQpdGhpcy5yb3V0ZXIub24oYC8ke2V9YCxhc3luYygpPT57dGhpcy51cGRhdGVWaWV3U3RhdGUoZSl9KTt0aGlzLnJvdXRlci5vbigiLyIsYXN5bmMoKT0+e3RoaXMubmF2aWdhdGVUbygiL2Rhc2hib2FyZCIpfSl9c2V0dXBTdGF0ZVN5bmMoKXtXbi5zZWxlY3QoZT0+ZS5hY3RpdmVWaWV3KS5zdWJzY3JpYmUoZT0+e2lmKHRoaXMuc3VwcHJlc3NTdGF0ZVVwZGF0ZSlyZXR1cm47bGV0IHQ9d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLHI9YC8ke2V9YDt0IT09ciYmKHRoaXMuc3VwcHJlc3NTdGF0ZVVwZGF0ZT0hMCx0aGlzLnJvdXRlci5wdXNoVXJsKHIpLHRoaXMuc3VwcHJlc3NTdGF0ZVVwZGF0ZT0hMSl9KX1oYW5kbGVJbml0aWFsUm91dGUoKXtsZXQgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7aWYoIWV8fGU9PT0iLyIpdGhpcy5yb3V0ZXIucHVzaFVybCgiL2Rhc2hib2FyZCIpO2Vsc2V7bGV0IHI9ZS5zcGxpdCgiLyIpLmZpbHRlcihCb29sZWFuKVswXTtpdHQuaW5jbHVkZXMocik/dGhpcy51cGRhdGVWaWV3U3RhdGUocik6dGhpcy5yb3V0ZXIucHVzaFVybCgiL2Rhc2hib2FyZCIpfX11cGRhdGVWaWV3U3RhdGUoZSl7dGhpcy5zdXBwcmVzc1N0YXRlVXBkYXRlPSEwO2xldCB0PVduLmdldFN0YXRlKCk7dC5hY3RpdmVWaWV3IT09ZSYmV24uc2V0U3RhdGUoey4uLnQsYWN0aXZlVmlldzplfSksdGhpcy5zdXBwcmVzc1N0YXRlVXBkYXRlPSExfW5hdmlnYXRlVG8oZSl7dGhpcy5yb3V0ZXIucHVzaFVybChlKX1uYXZpZ2F0ZVRvVmlldyhlKXtsZXQgdD1lLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXHMrL2csIi0iKTtpdHQuaW5jbHVkZXModCk/dGhpcy5uYXZpZ2F0ZVRvKGAvJHt0fWApOnRoaXMubmF2aWdhdGVUbygiL2Rhc2hib2FyZCIpfWdldEN1cnJlbnRWaWV3KCl7cmV0dXJuIFduLmdldFN0YXRlKCkuYWN0aXZlVmlld31kZXN0cm95KCl7dGhpcy5yb3V0ZXIuZGVzdHJveSgpLHRoaXMuaW5pdGlhbGl6ZWQ9ITF9fSxSbz1uZXcgb3R0fSk7dmFyIE81YT17fTtydChPNWEse09iVmlld0Rhc2hib2FyZDooKT0+ZHR0fSk7dmFyIEU1YSxQNWEsSTVhLE41YSxSNWEsWW4sbnR0LGx0dCxjdHQsbWwsZHR0LHV0dD1mKGFzeW5jKCk9Pnt1bigpO2EyKCk7YXdhaXQgR24oKTthd2FpdCBWNSgpO2xlKCk7UjVhPVtpZSgib2Itdmlldy1kYXNoYm9hcmQiKV07bWw9Y2xhc3MgbWwgZXh0ZW5kcyhONWE9cGUsSTVhPVtLKCldLFA1YT1bSygpXSxFNWE9W0soKV0sTjVhKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7T3QodGhpcyxudHQsR2UoWW4sOCx0aGlzLHtzdGF0dXM6bnVsbH0pKSxHZShZbiwxMSx0aGlzKTtPdCh0aGlzLGx0dCxHZShZbiwxMix0aGlzLHtzZXJ2aWNlczpbXSxjdXJyZW50U2VydmljZTpudWxsLGN1cnJlbnRTZXJ2aWNlTG9nczpbXSxjdXJyZW50U2VydmljZVN0YXRzOm51bGwscGxhdGZvcm1TZXJ2aWNlczpbXSxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlOm51bGwsY3VycmVudFBsYXRmb3JtU2VydmljZVN0YXRzOm51bGwsY3VycmVudFBsYXRmb3JtU2VydmljZUxvZ3M6W119KSksR2UoWW4sMTUsdGhpcyk7T3QodGhpcyxjdHQsR2UoWW4sMTYsdGhpcyx7dGFyZ2V0czpbXSxzdGF0czpudWxsLHRyYWZmaWNTdGF0czpudWxsLGRuc1JlY29yZHM6W10sZG9tYWluczpbXSxnYXRld2F5RG9tYWluczpbXSxnYXRld2F5RG5zUmVjb3JkczpbXSxjZXJ0aWZpY2F0ZXM6W119KSksR2UoWW4sMTksdGhpcyk7bGV0IHQ9WmMuc2VsZWN0KG89Pm8pLnN1YnNjcmliZShvPT57dGhpcy5zeXN0ZW1TdGF0ZT1vfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaCh0KTtsZXQgcj1MdC5zZWxlY3Qobz0+bykuc3Vic2NyaWJlKG89Pnt0aGlzLnNlcnZpY2VzU3RhdGU9b30pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2gocik7bGV0IGk9UGEuc2VsZWN0KG89Pm8pLnN1YnNjcmliZShvPT57dGhpcy5uZXR3b3JrU3RhdGU9b30pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2goaSl9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGF3YWl0IFByb21pc2UuYWxsKFtaYy5kaXNwYXRjaEFjdGlvbihrNyxudWxsKSxMdC5kaXNwYXRjaEFjdGlvbihCRyxudWxsKSxMdC5kaXNwYXRjaEFjdGlvbihxaWUsbnVsbCksUGEuZGlzcGF0Y2hBY3Rpb24ocUcsbnVsbCksUGEuZGlzcGF0Y2hBY3Rpb24oamllLG51bGwpXSl9cmVuZGVyKCl7bGV0IHQ9dGhpcy5zeXN0ZW1TdGF0ZS5zdGF0dXMscj10aGlzLnNlcnZpY2VzU3RhdGUuc2VydmljZXMsaT10aGlzLnNlcnZpY2VzU3RhdGUucGxhdGZvcm1TZXJ2aWNlcyxvPXRoaXMubmV0d29ya1N0YXRlLnN0YXRzLG49dGhpcy5uZXR3b3JrU3RhdGUuY2VydGlmaWNhdGVzLGw9ci5maWx0ZXIobT0+bS5zdGF0dXM9PT0icnVubmluZyIpLmxlbmd0aCxkPXIuZmlsdGVyKG09Pm0uc3RhdHVzPT09InN0b3BwZWQiKS5sZW5ndGgsYz1uLmZpbHRlcihtPT5tLmlzVmFsaWQpLmxlbmd0aCxwPW4uZmlsdGVyKG09Pm0uaXNWYWxpZCYmbS5leHBpcmVzQXQmJm0uZXhwaXJlc0F0LURhdGUubm93KCk8NzIwKjYwKjYwKjFlMykubGVuZ3RoLHU9bi5maWx0ZXIobT0+IW0uaXNWYWxpZCkubGVuZ3RoO3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+RGFzaGJvYXJkPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPHN6LWRhc2hib2FyZC12aWV3CiAgICAgICAgLmRhdGE9JHt7Y2x1c3Rlcjp7dG90YWxTZXJ2aWNlczpyLmxlbmd0aCxydW5uaW5nOmwsc3RvcHBlZDpkLGRvY2tlclN0YXR1czp0Py5kb2NrZXI/LnJ1bm5pbmc/InJ1bm5pbmciOiJzdG9wcGVkIn0scmVzb3VyY2VVc2FnZTp7Y3B1OnQ/LmRvY2tlcj8uY3B1VXNhZ2V8fDAsbWVtb3J5VXNlZDp0Py5kb2NrZXI/Lm1lbW9yeVVzYWdlfHwwLG1lbW9yeVRvdGFsOnQ/LmRvY2tlcj8ubWVtb3J5VG90YWx8fDAsbmV0d29ya0luOnQ/LmRvY2tlcj8ubmV0d29ya0lufHwwLG5ldHdvcmtPdXQ6dD8uZG9ja2VyPy5uZXR3b3JrT3V0fHwwLHRvcENvbnN1bWVyczpbXX0scGxhdGZvcm1TZXJ2aWNlczppLmZpbHRlcihtPT5tLnN0YXR1cz09PSJydW5uaW5nInx8bS5zdGF0dXM9PT0ic3RhcnRpbmcifHxtLnN0YXR1cz09PSJzdG9wcGluZyJ8fG0uaXNDb3JlKS5tYXAobT0+KHtuYW1lOm0uZGlzcGxheU5hbWUsc3RhdHVzOm0uc3RhdHVzPT09InJ1bm5pbmciPyJSdW5uaW5nIjptLnN0YXR1cz09PSJzdGFydGluZyI/IlN0YXJ0aW5nLi4uIjptLnN0YXR1cz09PSJzdG9wcGluZyI/IlN0b3BwaW5nLi4uIjoiU3RvcHBlZCIscnVubmluZzptLnN0YXR1cz09PSJydW5uaW5nIn0pKSx0cmFmZmljOntyZXF1ZXN0czowLGVycm9yczowLGVycm9yUGVyY2VudDowLGF2Z1Jlc3BvbnNlOjAscmVxUGVyTWluOjAsc3RhdHVzMnh4OjAsc3RhdHVzM3h4OjAsc3RhdHVzNHh4OjAsc3RhdHVzNXh4OjB9LHByb3h5OntodHRwUG9ydDpvPy5wcm94eT8uaHR0cFBvcnR8fDgwLGh0dHBzUG9ydDpvPy5wcm94eT8uaHR0cHNQb3J0fHw0NDMsaHR0cEFjdGl2ZTpvPy5wcm94eT8ucnVubmluZ3x8ITEsaHR0cHNBY3RpdmU6bz8ucHJveHk/LnJ1bm5pbmd8fCExLHJvdXRlQ291bnQ6bz8ucHJveHk/LnJvdXRlc3x8MH0sY2VydGlmaWNhdGVzOnt2YWxpZDpjLGV4cGlyaW5nOnAsZXhwaXJlZDp1fSxkbnNDb25maWd1cmVkOiEwLGFjbWVDb25maWd1cmVkOiEwLHF1aWNrQWN0aW9uczpbe2xhYmVsOiJEZXBsb3kgU2VydmljZSIsaWNvbjoibHVjaWRlOlBsdXMiLHByaW1hcnk6ITB9LHtsYWJlbDoiQWRkIERvbWFpbiIsaWNvbjoibHVjaWRlOkdsb2JlIn0se2xhYmVsOiJWaWV3IExvZ3MiLGljb246Imx1Y2lkZTpGaWxlVGV4dCJ9XX19CiAgICAgICAgQGFjdGlvbi1jbGljaz0ke209PnRoaXMuaGFuZGxlUXVpY2tBY3Rpb24obSl9CiAgICAgICAgQHNlcnZpY2UtY2xpY2s9JHttPT50aGlzLmhhbmRsZVBsYXRmb3JtU2VydmljZUNsaWNrKG0pfQogICAgICA+PC9zei1kYXNoYm9hcmQtdmlldz4KICAgIGB9aGFuZGxlUXVpY2tBY3Rpb24odCl7bGV0IHI9dC5kZXRhaWw/LmFjdGlvbnx8dC5kZXRhaWw/LmxhYmVsO3I9PT0iRGVwbG95IFNlcnZpY2UiP1JvLm5hdmlnYXRlVG9WaWV3KCJzZXJ2aWNlcyIpOnI9PT0iQWRkIERvbWFpbiImJlJvLm5hdmlnYXRlVG9WaWV3KCJuZXR3b3JrIil9aGFuZGxlUGxhdGZvcm1TZXJ2aWNlQ2xpY2sodCl7bGV0IHI9dC5kZXRhaWw/Lm5hbWUsaT10aGlzLnNlcnZpY2VzU3RhdGUucGxhdGZvcm1TZXJ2aWNlcy5maW5kKG89Pm8uZGlzcGxheU5hbWU9PT1yKTtpJiYoTHQuc2V0U3RhdGUoey4uLkx0LmdldFN0YXRlKCksY3VycmVudFBsYXRmb3JtU2VydmljZTppfSksUm8ubmF2aWdhdGVUb1ZpZXcoInNlcnZpY2VzIikpfX07WW49QXIoTjVhKSxudHQ9bmV3IFdlYWtNYXAsbHR0PW5ldyBXZWFrTWFwLGN0dD1uZXcgV2Vha01hcCxTdChZbiw0LCJzeXN0ZW1TdGF0ZSIsSTVhLG1sLG50dCksU3QoWW4sNCwic2VydmljZXNTdGF0ZSIsUDVhLG1sLGx0dCksU3QoWW4sNCwibmV0d29ya1N0YXRlIixFNWEsbWwsY3R0KSxtbD1TdChZbiwwLCJPYlZpZXdEYXNoYm9hcmQiLFI1YSxtbCkscyhtbCwiT2JWaWV3RGFzaGJvYXJkIiksRXIobWwsInN0eWxlcyIsW2guZGVmYXVsdFN0eWxlcyxZcyxYYGBdKSxHZShZbiwxLG1sKTtkdHQ9bWx9KTt2YXIgUTVhPXt9O3J0KFE1YSx7T2JWaWV3QXBwU3RvcmU6KCk9Pmt0dH0pO3ZhciBGNWEsQjVhLEg1YSxxNWEsVjVhLGo1YSxVNWEsVzVhLEc1YSxZNWEsSzVhLFo1YSxYNWEsTWEscHR0LGZ0dCxodHQsbXR0LGd0dCxidHQsdnR0LHh0dCx5dHQsd3R0LE10dCxLcyxrdHQsSjVhPWYoYXN5bmMoKT0+e3VuKCk7YTIoKTthd2FpdCBHbigpO3c3KCk7YXdhaXQgVjUoKTtsZSgpO1g1YT1baWUoIm9iLXZpZXctYXBwc3RvcmUiKV07S3M9Y2xhc3MgS3MgZXh0ZW5kcyhaNWE9cGUsSzVhPVtLKCldLFk1YT1bSygpXSxHNWE9W0soKV0sVzVhPVtLKCldLFU1YT1bSygpXSxqNWE9W0soKV0sVjVhPVtLKCldLHE1YT1bSygpXSxINWE9W0soKV0sQjVhPVtLKCldLEY1YT1bSygpXSxaNWEpe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTtPdCh0aGlzLHB0dCxHZShNYSw4LHRoaXMse2FwcHM6W10sdXBncmFkZWFibGVTZXJ2aWNlczpbXX0pKSxHZShNYSwxMSx0aGlzKTtPdCh0aGlzLGZ0dCxHZShNYSwxMix0aGlzLCJncmlkIikpLEdlKE1hLDE1LHRoaXMpO090KHRoaXMsaHR0LEdlKE1hLDE2LHRoaXMsbnVsbCkpLEdlKE1hLDE5LHRoaXMpO090KHRoaXMsbXR0LEdlKE1hLDIwLHRoaXMsbnVsbCkpLEdlKE1hLDIzLHRoaXMpO090KHRoaXMsZ3R0LEdlKE1hLDI0LHRoaXMsbnVsbCkpLEdlKE1hLDI3LHRoaXMpO090KHRoaXMsYnR0LEdlKE1hLDI4LHRoaXMsIiIpKSxHZShNYSwzMSx0aGlzKTtPdCh0aGlzLHZ0dCxHZShNYSwzMix0aGlzLFtdKSksR2UoTWEsMzUsdGhpcyk7T3QodGhpcyx4dHQsR2UoTWEsMzYsdGhpcywiIikpLEdlKE1hLDM5LHRoaXMpO090KHRoaXMseXR0LEdlKE1hLDQwLHRoaXMsIiIpKSxHZShNYSw0Myx0aGlzKTtPdCh0aGlzLHd0dCxHZShNYSw0NCx0aGlzLCExKSksR2UoTWEsNDcsdGhpcyk7T3QodGhpcyxNdHQsR2UoTWEsNDgsdGhpcywhMSkpLEdlKE1hLDUxLHRoaXMpO2xldCB0PWhsLnNlbGVjdChyPT5yKS5zdWJzY3JpYmUocj0+e3RoaXMuYXBwU3RvcmVTdGF0ZT1yfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaCh0KX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksYXdhaXQgaGwuZGlzcGF0Y2hBY3Rpb24oJDVhLG51bGwpfXJlbmRlcigpe3JldHVybiB0aGlzLmN1cnJlbnRWaWV3PT09ImRldGFpbCI/dGhpcy5yZW5kZXJEZXRhaWxWaWV3KCk6dGhpcy5yZW5kZXJHcmlkVmlldygpfXJlbmRlckdyaWRWaWV3KCl7bGV0IHQ9dGhpcy5hcHBTdG9yZVN0YXRlLmFwcHMubWFwKHI9Pih7aWQ6ci5pZCxuYW1lOnIubmFtZSxkZXNjcmlwdGlvbjpyLmRlc2NyaXB0aW9uLGNhdGVnb3J5OnIuY2F0ZWdvcnksaWNvbk5hbWU6ci5pY29uTmFtZSxpY29uVXJsOnIuaWNvblVybCxpbWFnZToiIixwb3J0OjB9KSk7cmV0dXJuIHdgCiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5BcHAgU3RvcmU8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICAke3QubGVuZ3RoPT09MD93YDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+TG9hZGluZyBhcHAgdGVtcGxhdGVzLi4uPC9kaXY+YDp3YAogICAgICAgICAgPHN6LWFwcC1zdG9yZS12aWV3CiAgICAgICAgICAgIC5hcHBzPSR7dH0KICAgICAgICAgICAgQHZpZXctYXBwPSR7cj0+dGhpcy5oYW5kbGVWaWV3RGV0YWlscyhyKX0KICAgICAgICAgICAgQGRlcGxveS1hcHA9JHtyPT50aGlzLmhhbmRsZUFwcENsaWNrKHIpfQogICAgICAgICAgPjwvc3otYXBwLXN0b3JlLXZpZXc+CiAgICAgICAgYH0KICAgIGB9cmVuZGVyRGV0YWlsVmlldygpe2lmKHRoaXMubG9hZGluZylyZXR1cm4gd2AKICAgICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+QXBwIFN0b3JlPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXNwaW5uZXIiPkxvYWRpbmcgYXBwIGRldGFpbHMuLi48L2Rpdj4KICAgICAgYDtsZXQgdD10aGlzLnNlbGVjdGVkQXBwLHI9dGhpcy5zZWxlY3RlZEFwcE1ldGEsaT10aGlzLnNlbGVjdGVkQXBwQ29uZmlnO2lmKCF0fHwhaSlyZXR1cm4gd2AKICAgICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+QXBwIFN0b3JlPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXNwaW5uZXIiPkFwcCBub3QgZm91bmQuPC9kaXY+CiAgICAgIGA7bGV0IG89aS5wbGF0Zm9ybVJlcXVpcmVtZW50c3x8e30sbj1PYmplY3QudmFsdWVzKG8pLnNvbWUoQm9vbGVhbiksbD17bW9uZ29kYjoiTW9uZ29EQiIsczM6IlMzIChNaW5JTykiLGNsaWNraG91c2U6IkNsaWNrSG91c2UiLHJlZGlzOiJSZWRpcyIsbWFyaWFkYjoiTWFyaWFEQiJ9O3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+QXBwIFN0b3JlPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkiIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAxNnB4OyIgQGNsaWNrPSR7KCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJncmlkIn19PgogICAgICAgICZsYXJyOyBCYWNrIHRvIEFwcCBTdG9yZQogICAgICA8L2J1dHRvbj4KCiAgICAgIDwhLS0gSGVhZGVyIC0tPgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaWNvbiI+JHsodC5uYW1lfHwiPyIpWzBdLnRvVXBwZXJDYXNlKCl9PC9kaXY+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmbGV4OiAxOyI+CiAgICAgICAgICAgIDxoMiBjbGFzcz0iZGV0YWlsLXRpdGxlIj4ke3QubmFtZX08L2gyPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWNhdGVnb3J5Ij4ke3QuY2F0ZWdvcnl9PC9zcGFuPgogICAgICAgICAgICA8cCBjbGFzcz0iZGV0YWlsLWRlc2NyaXB0aW9uIj4ke3QuZGVzY3JpcHRpb259PC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtbWV0YSI+CiAgICAgICAgICAgICAgJHtyPy5tYWludGFpbmVyP3dgPHNwYW4+TWFpbnRhaW5lcjogPHN0cm9uZz4ke3IubWFpbnRhaW5lcn08L3N0cm9uZz48L3NwYW4+YDoiIn0KICAgICAgICAgICAgICAke3I/LmxpbmtzP09iamVjdC5lbnRyaWVzKHIubGlua3MpLm1hcCgoW2QsY10pPT53YDxhIGhyZWY9IiR7Y30iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj4ke2R9PC9hPmApOiIifQogICAgICAgICAgICAgICR7dC50YWdzPy5sZW5ndGg/d2A8c3Bhbj5UYWdzOiAke3QudGFncy5qb2luKCIsICIpfTwvc3Bhbj5gOiIifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDwhLS0gUGxhdGZvcm0gU2VydmljZXMgLS0+CiAgICAgICR7bj93YAogICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1jYXJkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tbGFiZWwiPlBsYXRmb3JtIFNlcnZpY2VzPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAke09iamVjdC5lbnRyaWVzKG8pLmZpbHRlcigoW2QsY10pPT5jKS5tYXAoKFtkXSk9PndgPHNwYW4gY2xhc3M9ImJhZGdlIj4ke2xbZF18fGR9PC9zcGFuPmApfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEycHg7IGNvbG9yOiB2YXIoLS1jaS1zaGFkZS00LCAjNzE3MTdhKTsgbWFyZ2luLXRvcDogOHB4OyI+CiAgICAgICAgICAgIFRoZXNlIHBsYXRmb3JtIHNlcnZpY2VzIHdpbGwgYmUgYXV0b21hdGljYWxseSBwcm92aXNpb25lZCB3aGVuIHlvdSBkZXBsb3kuCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KCiAgICAgIDwhLS0gVmVyc2lvbiAmIEltYWdlIC0tPgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+VmVyc2lvbjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InZlcnNpb24tcm93Ij4KICAgICAgICAgIDxzZWxlY3QgY2xhc3M9InZlcnNpb24tc2VsZWN0IiBAY2hhbmdlPSR7ZD0+dGhpcy5oYW5kbGVWZXJzaW9uQ2hhbmdlKGQudGFyZ2V0LnZhbHVlKX0+CiAgICAgICAgICAgICR7KHI/LnZlcnNpb25zfHxbdGhpcy5zZWxlY3RlZFZlcnNpb25dKS5tYXAoZD0+d2A8b3B0aW9uIHZhbHVlPSIke2R9IiA/c2VsZWN0ZWQ9JHtkPT09dGhpcy5zZWxlY3RlZFZlcnNpb259PiR7ZH0ke2Q9PT10LmxhdGVzdFZlcnNpb24/IiAobGF0ZXN0KSI6IiJ9PC9vcHRpb24+YCl9CiAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbWFnZS10YWciPiR7aS5pbWFnZX08L3NwYW4+CiAgICAgICAgICAke2kubWluT25lYm94VmVyc2lvbj93YDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHg7IGNvbG9yOiB2YXIoLS1jaS1zaGFkZS00LCAjNzE3MTdhKTsiPlJlcXVpcmVzIG9uZWJveCAmZ2U7ICR7aS5taW5PbmVib3hWZXJzaW9ufTwvc3Bhbj5gOiIifQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDwhLS0gRW52aXJvbm1lbnQgVmFyaWFibGVzIC0tPgogICAgICAke3RoaXMuZWRpdGFibGVFbnZWYXJzLmxlbmd0aD4wP3dgCiAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWNhcmQiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+RW52aXJvbm1lbnQgVmFyaWFibGVzPC9kaXY+CiAgICAgICAgICA8dGFibGUgY2xhc3M9ImVudi10YWJsZSI+CiAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOiAzMCU7Ij5WYXJpYWJsZTwvdGg+CiAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOiA0MCU7Ij5WYWx1ZTwvdGg+CiAgICAgICAgICAgICAgICA8dGg+RGVzY3JpcHRpb248L3RoPgogICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgICAke3RoaXMuZWRpdGFibGVFbnZWYXJzLm1hcCgoZCxjKT0+d2AKICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbnYta2V5Ij4ke2Qua2V5fTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAke2QucmVxdWlyZWQ/d2A8c3BhbiBjbGFzcz0iZW52LWJhZGdlIHJlcXVpcmVkIj5yZXF1aXJlZDwvc3Bhbj5gOiIifQogICAgICAgICAgICAgICAgICAgICR7ZC5wbGF0Zm9ybUluamVjdGVkP3dgPHNwYW4gY2xhc3M9ImVudi1iYWRnZSBhdXRvIj5hdXRvPC9zcGFuPmA6IiJ9CiAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJlbnYtaW5wdXQiCiAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7ZC52YWx1ZX0KICAgICAgICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke2QucGxhdGZvcm1JbmplY3RlZHx8IXRoaXMuZGVwbG95TW9kZX0KICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSR7ZC5wbGF0Zm9ybUluamVjdGVkPyJBdXRvLWluamVjdGVkIGJ5IHBsYXRmb3JtIjoiRW50ZXIgdmFsdWUuLi4ifQogICAgICAgICAgICAgICAgICAgICAgQGlucHV0PSR7cD0+dGhpcy5oYW5kbGVFbnZWYXJDaGFuZ2UoYyxwLnRhcmdldC52YWx1ZSl9CiAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJlbnYtZGVzYyI+JHtkLmRlc2NyaXB0aW9ufHwiIn08L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQoKICAgICAgPCEtLSBEZXBsb3kgc2VjdGlvbiAob25seSBpbiBkZXBsb3kgbW9kZSkgb3IgYWN0aW9uIGJ1dHRvbiAodmlldyBtb2RlKSAtLT4KICAgICAgJHt0aGlzLmRlcGxveU1vZGU/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtY2FyZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5TZXJ2aWNlIE5hbWU8L2Rpdj4KICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICBjbGFzcz0ibmFtZS1pbnB1dCIKICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5zZXJ2aWNlTmFtZX0KICAgICAgICAgICAgcGxhY2Vob2xkZXI9ImUuZy4gbXktZ2hvc3QtYmxvZyIKICAgICAgICAgICAgQGlucHV0PSR7ZD0+e3RoaXMuc2VydmljZU5hbWU9ZC50YXJnZXQudmFsdWV9fQogICAgICAgICAgLz4KICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTQsICM3MTcxN2EpOyBtYXJnaW4tdG9wOiA2cHg7Ij4KICAgICAgICAgICAgTG93ZXJjYXNlIGxldHRlcnMsIG51bWJlcnMsIGFuZCBoeXBoZW5zIG9ubHkuCiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIiBzdHlsZT0ibWFyZ2luLXRvcDogMThweDsiPkRvbWFpbjwvZGl2PgogICAgICAgICAgPGlucHV0CiAgICAgICAgICAgIGNsYXNzPSJuYW1lLWlucHV0IgogICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAudmFsdWU9JHt0aGlzLnNlcnZpY2VEb21haW59CiAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJlLmcuIGNsb3VkbHkuZXhhbXBsZS5jb20iCiAgICAgICAgICAgIEBpbnB1dD0ke2Q9PnRoaXMuaGFuZGxlU2VydmljZURvbWFpbkNoYW5nZShkLnRhcmdldC52YWx1ZSl9CiAgICAgICAgICAvPgogICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNCwgIzcxNzE3YSk7IG1hcmdpbi10b3A6IDZweDsiPgogICAgICAgICAgICBPbmVib3ggcm91dGVzIHRoaXMgZG9tYWluIHRvIHRoZSBkZXBsb3llZCBhcHAuIFJlcXVpcmVkIHdoZW4gdGhlIGFwcCB1c2VzIFNFUlZJQ0VfRE9NQUlOLgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9ucy1yb3ciPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSIgQGNsaWNrPSR7KCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJncmlkIn19PkNhbmNlbDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlcGxveSgpfT4KICAgICAgICAgICAgICBEZXBsb3kgdiR7dGhpcy5zZWxlY3RlZFZlcnNpb259CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6d2AKICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25zLXJvdyIgc3R5bGU9Im1hcmdpbi10b3A6IDhweDsiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkiIEBjbGljaz0keygpPT57dGhpcy5jdXJyZW50Vmlldz0iZ3JpZCJ9fT4KICAgICAgICAgICAgJmxhcnI7IEJhY2sKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IiBAY2xpY2s9JHsoKT0+e3RoaXMuZGVwbG95TW9kZT0hMH19PgogICAgICAgICAgICBEZXBsb3kgdGhpcyBBcHAKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICBgfQogICAgYH1hc3luYyBoYW5kbGVWaWV3RGV0YWlscyh0KXtsZXQgcj10LmRldGFpbD8uYXBwO2lmKCFyKXJldHVybjtsZXQgaT10aGlzLmFwcFN0b3JlU3RhdGUuYXBwcy5maW5kKG89Pm8uaWQ9PT1yLmlkKTtpJiYodGhpcy5kZXBsb3lNb2RlPSExLHRoaXMuc2VsZWN0ZWRBcHA9aSx0aGlzLnNlbGVjdGVkVmVyc2lvbj1pLmxhdGVzdFZlcnNpb24sdGhpcy5zZXJ2aWNlTmFtZT1pLmlkLHRoaXMubG9hZGluZz0hMCx0aGlzLmN1cnJlbnRWaWV3PSJkZXRhaWwiLGF3YWl0IHRoaXMuZmV0Y2hWZXJzaW9uQ29uZmlnKGkuaWQsaS5sYXRlc3RWZXJzaW9uKSx0aGlzLmxvYWRpbmc9ITEpfWFzeW5jIGhhbmRsZUFwcENsaWNrKHQpe2xldCByPXQuZGV0YWlsPy5hcHA7aWYoIXIpcmV0dXJuO2xldCBpPXRoaXMuYXBwU3RvcmVTdGF0ZS5hcHBzLmZpbmQobz0+by5pZD09PXIuaWQpO2kmJih0aGlzLmRlcGxveU1vZGU9ITAsdGhpcy5zZWxlY3RlZEFwcD1pLHRoaXMuc2VsZWN0ZWRWZXJzaW9uPWkubGF0ZXN0VmVyc2lvbix0aGlzLnNlcnZpY2VOYW1lPWkuaWQsdGhpcy5sb2FkaW5nPSEwLHRoaXMuY3VycmVudFZpZXc9ImRldGFpbCIsYXdhaXQgdGhpcy5mZXRjaFZlcnNpb25Db25maWcoaS5pZCxpLmxhdGVzdFZlcnNpb24pLHRoaXMubG9hZGluZz0hMSl9YXN5bmMgaGFuZGxlVmVyc2lvbkNoYW5nZSh0KXshdGhpcy5zZWxlY3RlZEFwcHx8dD09PXRoaXMuc2VsZWN0ZWRWZXJzaW9ufHwodGhpcy5zZWxlY3RlZFZlcnNpb249dCx0aGlzLmxvYWRpbmc9ITAsYXdhaXQgdGhpcy5mZXRjaFZlcnNpb25Db25maWcodGhpcy5zZWxlY3RlZEFwcC5pZCx0KSx0aGlzLmxvYWRpbmc9ITEpfWFzeW5jIGZldGNoVmVyc2lvbkNvbmZpZyh0LHIpe3RyeXtsZXQgaT14cy5nZXRTdGF0ZSgpLmlkZW50aXR5O2lmKCFpKXJldHVybjtsZXQgbj1hd2FpdCBuZXcgZHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0QXBwQ29uZmlnIikuZmlyZSh7aWRlbnRpdHk6aSxhcHBJZDp0LHZlcnNpb246cn0pO3RoaXMuc2VsZWN0ZWRBcHBNZXRhPW4uYXBwTWV0YSx0aGlzLnNlbGVjdGVkQXBwQ29uZmlnPW4uY29uZmlnLHRoaXMuZWRpdGFibGVFbnZWYXJzPShuLmNvbmZpZy5lbnZWYXJzfHxbXSkubWFwKGw9Pih7a2V5Omwua2V5LHZhbHVlOmwudmFsdWV8fCIiLGRlc2NyaXB0aW9uOmwuZGVzY3JpcHRpb258fCIiLHJlcXVpcmVkOmwucmVxdWlyZWQscGxhdGZvcm1JbmplY3RlZDpsLnZhbHVlPy5pbmNsdWRlcygiJHsiKXx8ITF9KSksdGhpcy5zZXJ2aWNlRG9tYWluPSIifWNhdGNoKGkpe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBhcHAgY29uZmlnOiIsaSl9fWhhbmRsZUVudlZhckNoYW5nZSh0LHIpe2xldCBpPVsuLi50aGlzLmVkaXRhYmxlRW52VmFyc107aVt0XT17Li4uaVt0XSx2YWx1ZTpyfSx0aGlzLmVkaXRhYmxlRW52VmFycz1pfWhhbmRsZVNlcnZpY2VEb21haW5DaGFuZ2UodCl7dGhpcy5zZXJ2aWNlRG9tYWluPXRoaXMubm9ybWFsaXplRG9tYWluKHQpfW5vcm1hbGl6ZURvbWFpbih0KXtyZXR1cm4gdC50cmltKCkucmVwbGFjZSgvXmh0dHBzPzpcL1wvLywiIikucmVwbGFjZSgvXC8kLywiIil9YXN5bmMgaGFuZGxlRGVwbG95KCl7bGV0IHQ9dGhpcy5zZWxlY3RlZEFwcCxyPXRoaXMuc2VsZWN0ZWRBcHBDb25maWc7aWYoIXR8fCFyKXJldHVybjtsZXQgaT10aGlzLmVkaXRhYmxlRW52VmFycy5maWx0ZXIoYz0+Yy5yZXF1aXJlZCYmIWMucGxhdGZvcm1JbmplY3RlZCYmIWMudmFsdWUudHJpbSgpKTtpZihpLmxlbmd0aD4wKXtjb25zb2xlLmVycm9yKGBNaXNzaW5nIHJlcXVpcmVkIGVudmlyb25tZW50IHZhcmlhYmxlczogJHtpLm1hcChjPT5jLmtleSkuam9pbigiLCAiKX1gKTtyZXR1cm59aWYoKHIuZW52VmFyc3x8W10pLnNvbWUoYz0+Yy52YWx1ZT8uaW5jbHVkZXMoIiR7U0VSVklDRV9ET01BSU59IikpJiYhdGhpcy5zZXJ2aWNlRG9tYWluKXtjb25zb2xlLmVycm9yKCJBIGRvbWFpbiBpcyByZXF1aXJlZCBmb3IgdGhpcyBhcHAuIik7cmV0dXJufWxldCBuPXt9O2ZvcihsZXQgYyBvZiB0aGlzLmVkaXRhYmxlRW52VmFycyljLmtleSYmYy52YWx1ZSYmKG5bYy5rZXldPWMudmFsdWUpO2xldCBsPXIucGxhdGZvcm1SZXF1aXJlbWVudHN8fHt9LGQ9e25hbWU6dGhpcy5zZXJ2aWNlTmFtZXx8dC5pZCxpbWFnZTpyLmltYWdlLHBvcnQ6ci5wb3J0fHw4MCxkb21haW46dGhpcy5zZXJ2aWNlRG9tYWlufHx2b2lkIDAsZW52VmFyczpuLGVuYWJsZU1vbmdvREI6bC5tb25nb2RifHwhMSxlbmFibGVTMzpsLnMzfHwhMSxlbmFibGVDbGlja0hvdXNlOmwuY2xpY2tob3VzZXx8ITEsZW5hYmxlUmVkaXM6bC5yZWRpc3x8ITEsZW5hYmxlTWFyaWFEQjpsLm1hcmlhZGJ8fCExLGFwcFRlbXBsYXRlSWQ6dC5pZCxhcHBUZW1wbGF0ZVZlcnNpb246dGhpcy5zZWxlY3RlZFZlcnNpb259O3RyeXthd2FpdCBMdC5kaXNwYXRjaEFjdGlvbihIRyx7Y29uZmlnOmR9KSxzZXRUaW1lb3V0KCgpPT57Um8ubmF2aWdhdGVUb1ZpZXcoInNlcnZpY2VzIil9LDApfWNhdGNoKGMpe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBkZXBsb3kgZnJvbSBBcHAgU3RvcmU6IixjKX19fTtNYT1BcihaNWEpLHB0dD1uZXcgV2Vha01hcCxmdHQ9bmV3IFdlYWtNYXAsaHR0PW5ldyBXZWFrTWFwLG10dD1uZXcgV2Vha01hcCxndHQ9bmV3IFdlYWtNYXAsYnR0PW5ldyBXZWFrTWFwLHZ0dD1uZXcgV2Vha01hcCx4dHQ9bmV3IFdlYWtNYXAseXR0PW5ldyBXZWFrTWFwLHd0dD1uZXcgV2Vha01hcCxNdHQ9bmV3IFdlYWtNYXAsU3QoTWEsNCwiYXBwU3RvcmVTdGF0ZSIsSzVhLEtzLHB0dCksU3QoTWEsNCwiY3VycmVudFZpZXciLFk1YSxLcyxmdHQpLFN0KE1hLDQsInNlbGVjdGVkQXBwIixHNWEsS3MsaHR0KSxTdChNYSw0LCJzZWxlY3RlZEFwcE1ldGEiLFc1YSxLcyxtdHQpLFN0KE1hLDQsInNlbGVjdGVkQXBwQ29uZmlnIixVNWEsS3MsZ3R0KSxTdChNYSw0LCJzZWxlY3RlZFZlcnNpb24iLGo1YSxLcyxidHQpLFN0KE1hLDQsImVkaXRhYmxlRW52VmFycyIsVjVhLEtzLHZ0dCksU3QoTWEsNCwic2VydmljZU5hbWUiLHE1YSxLcyx4dHQpLFN0KE1hLDQsInNlcnZpY2VEb21haW4iLEg1YSxLcyx5dHQpLFN0KE1hLDQsImxvYWRpbmciLEI1YSxLcyx3dHQpLFN0KE1hLDQsImRlcGxveU1vZGUiLEY1YSxLcyxNdHQpLEtzPVN0KE1hLDAsIk9iVmlld0FwcFN0b3JlIixYNWEsS3MpLHMoS3MsIk9iVmlld0FwcFN0b3JlIiksRXIoS3MsInN0eWxlcyIsW2guZGVmYXVsdFN0eWxlcyxZcyxYYAogICAgICAuZGV0YWlsLWNhcmQgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNpLXNoYWRlLTEsICMwOTA5MGIpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNpLXNoYWRlLTIsICMyNzI3MmEpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuZGV0YWlsLWljb24gewogICAgICAgIHdpZHRoOiA2NHB4OwogICAgICAgIGhlaWdodDogNjRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNpLXNoYWRlLTIsICMyNzI3MmEpOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDI4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgI2ExYTFhYSk7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS03LCAjZTRlNGU3KTsKICAgICAgICBtYXJnaW46IDAgMCA0cHggMDsKICAgICAgfQoKICAgICAgLmRldGFpbC1jYXRlZ29yeSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHBhZGRpbmc6IDJweCAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaS1zaGFkZS0yLCAjMjcyNzJhKTsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgI2ExYTFhYSk7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAuZGV0YWlsLWRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTUsICNhMWExYWEpOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CgogICAgICAuZGV0YWlsLW1ldGEgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTQsICM3MTcxN2EpOwogICAgICB9CgogICAgICAuZGV0YWlsLW1ldGEgYSB7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTUsICNhMWExYWEpOwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgLmRldGFpbC1tZXRhIGE6aG92ZXIgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAuc2VjdGlvbi1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTUsICNhMWExYWEpOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICB9CgogICAgICAuYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjE1KTsKICAgICAgICBjb2xvcjogIzYwYTVmYTsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7CiAgICAgIH0KCiAgICAgIC52ZXJzaW9uLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQoKICAgICAgLnZlcnNpb24tc2VsZWN0IHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaS1zaGFkZS0yLCAjMjcyNzJhKTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaS1zaGFkZS0zLCAjM2YzZjQ2KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTcsICNlNGU0ZTcpOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5pbWFnZS10YWcgewogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS01LCAjYTFhMWFhKTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaS1zaGFkZS0yLCAjMjcyNzJhKTsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgfQoKICAgICAgLmVudi10YWJsZSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICAgICAgfQoKICAgICAgLmVudi10YWJsZSB0aCB7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNCwgIzcxNzE3YSk7CiAgICAgICAgcGFkZGluZzogOHB4IDhweCA4cHggMDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2ktc2hhZGUtMiwgIzI3MjcyYSk7CiAgICAgIH0KCiAgICAgIC5lbnYtdGFibGUgdGQgewogICAgICAgIHBhZGRpbmc6IDZweCA4cHggNnB4IDA7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgfQoKICAgICAgLmVudi1pbnB1dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2ktc2hhZGUtMiwgIzI3MjcyYSk7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2ktc2hhZGUtMywgIzNmM2Y0Nik7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIHBhZGRpbmc6IDZweCA4cHg7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTcsICNlNGU0ZTcpOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5lbnYtaW5wdXQ6ZGlzYWJsZWQgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CgogICAgICAuZW52LWtleSB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTYsICNkNGQ0ZDgpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5lbnYtZGVzYyB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS00LCAjNzE3MTdhKTsKICAgICAgfQoKICAgICAgLmVudi1iYWRnZSB7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIHBhZGRpbmc6IDFweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7CiAgICAgIH0KCiAgICAgIC5lbnYtYmFkZ2UucmVxdWlyZWQgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMTUpOwogICAgICAgIGNvbG9yOiAjZjg3MTcxOwogICAgICB9CgogICAgICAuZW52LWJhZGdlLmF1dG8gewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMTUpOwogICAgICAgIGNvbG9yOiAjNGFkZTgwOwogICAgICB9CgogICAgICAubmFtZS1pbnB1dCB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2ktc2hhZGUtMiwgIzI3MjcyYSk7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2ktc2hhZGUtMywgIzNmM2Y0Nik7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDEwcHggMTRweDsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNywgI2U0ZTRlNyk7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIHdpZHRoOiAzMDBweDsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuYWN0aW9ucy1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsKICAgICAgfQoKICAgICAgLmJ0biB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYnRuOmhvdmVyIHsgb3BhY2l0eTogMC45OyB9CgogICAgICAuYnRuLXByaW1hcnkgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNpLXNoYWRlLTcsICNlNGU0ZTcpOwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS0wLCAjMDkwOTBiKTsKICAgICAgfQoKICAgICAgLmJ0bi1zZWNvbmRhcnkgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNpLXNoYWRlLTIsICMyNzI3MmEpOwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS02LCAjZDRkNGQ4KTsKICAgICAgfQoKICAgICAgLmxvYWRpbmctc3Bpbm5lciB7CiAgICAgICAgcGFkZGluZzogMzJweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTQsICM3MTcxN2EpOwogICAgICB9CiAgICBgXSksR2UoTWEsMSxLcyk7a3R0PUtzfSk7dmFyIEhGYSxHaWUsZWhhPWYoKCk9Pnt1bigpO3c3KCk7SEZhPWhkLmRvbXRvb2xzLEdpZT1jbGFzc3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuc2VydmljZU5hbWU9ZTt0aGlzLmlkZW50aXR5PXR9c2VydmljZU5hbWU7c3RhdGlje3ModGhpcywiQmFja2VuZEV4ZWN1dGlvbkVudmlyb25tZW50Iil9dHlwZT0iYmFja2VuZCI7X3JlYWR5PSExO2lkZW50aXR5O2dldCByZWFkeSgpe3JldHVybiB0aGlzLl9yZWFkeX1hc3luYyBpbml0KCl7aWYoIShhd2FpdCB0aGlzLmZpcmVSZXF1ZXN0KCJ3b3Jrc3BhY2VFeGlzdHMiLHtwYXRoOiIvIn0pKS5leGlzdHMpdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgYWNjZXNzIGNvbnRhaW5lciBmaWxlc3lzdGVtIGZvciBzZXJ2aWNlOiAke3RoaXMuc2VydmljZU5hbWV9YCk7dGhpcy5fcmVhZHk9ITB9YXN5bmMgZGVzdHJveSgpe3RoaXMuX3JlYWR5PSExfWFzeW5jIHJlYWRGaWxlKGUpe3JldHVybihhd2FpdCB0aGlzLmZpcmVSZXF1ZXN0KCJ3b3Jrc3BhY2VSZWFkRmlsZSIse3BhdGg6ZX0pKS5jb250ZW50fWFzeW5jIHdyaXRlRmlsZShlLHQpe2F3YWl0IHRoaXMuZmlyZVJlcXVlc3QoIndvcmtzcGFjZVdyaXRlRmlsZSIse3BhdGg6ZSxjb250ZW50OnR9KX1hc3luYyByZWFkRGlyKGUpe3JldHVybihhd2FpdCB0aGlzLmZpcmVSZXF1ZXN0KCJ3b3Jrc3BhY2VSZWFkRGlyIix7cGF0aDplfSkpLmVudHJpZXN9YXN5bmMgbWtkaXIoZSl7YXdhaXQgdGhpcy5maXJlUmVxdWVzdCgid29ya3NwYWNlTWtkaXIiLHtwYXRoOmV9KX1hc3luYyBybShlLHQpe2F3YWl0IHRoaXMuZmlyZVJlcXVlc3QoIndvcmtzcGFjZVJtIix7cGF0aDplLHJlY3Vyc2l2ZTp0Py5yZWN1cnNpdmV9KX1hc3luYyBleGlzdHMoZSl7cmV0dXJuKGF3YWl0IHRoaXMuZmlyZVJlcXVlc3QoIndvcmtzcGFjZUV4aXN0cyIse3BhdGg6ZX0pKS5leGlzdHN9d2F0Y2goZSx0LHIpe3JldHVybntzdG9wOnMoKCk9Pnt9LCJzdG9wIil9fWFzeW5jIHNwYXduKGUsdCl7bGV0IHI9dD9bZSwuLi50XTpbZV0saT1yLmpvaW4oIiAiKSxvPWF3YWl0IHRoaXMuZmlyZVJlcXVlc3QoIndvcmtzcGFjZUV4ZWMiLHtjb21tYW5kOnJbMF0sYXJnczpyLnNsaWNlKDEpfSksbj1uZXcgUmVhZGFibGVTdHJlYW0oe3N0YXJ0KGQpe28uc3Rkb3V0JiZkLmVucXVldWUoby5zdGRvdXQpLG8uc3RkZXJyJiZkLmVucXVldWUoby5zdGRlcnIpLGQuY2xvc2UoKX19KSxsPW5ldyBXcml0YWJsZVN0cmVhbTtyZXR1cm57b3V0cHV0Om4saW5wdXQ6bCxleGl0OlByb21pc2UucmVzb2x2ZShvLmV4aXRDb2RlKSxraWxsOnMoKCk9Pnt9LCJraWxsIil9fWFzeW5jIGZpcmVSZXF1ZXN0KGUsdCl7cmV0dXJuIGF3YWl0IG5ldyBIRmEucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IixlKS5maXJlKHtpZGVudGl0eTp0aGlzLmlkZW50aXR5LHNlcnZpY2VOYW1lOnRoaXMuc2VydmljZU5hbWUsLi4udH0pfX19KTt2YXIgcGhhPXt9O3J0KHBoYSx7T2JWaWV3U2VydmljZXM6KCk9PkF0dH0pO2Z1bmN0aW9uIFlpZShhKXtpZighYXx8YT09PTApcmV0dXJuIjAgQiI7bGV0IGU9WyJCIiwiS0IiLCJNQiIsIkdCIiwiVEIiXSx0PTEwMjQscj1NYXRoLmZsb29yKE1hdGgubG9nKGEpL01hdGgubG9nKHQpKTtyZXR1cm5gJHsoYS9NYXRoLnBvdyh0LHIpKS50b0ZpeGVkKDEpfSAke2Vbcl19YH1mdW5jdGlvbiBxRmEoYSl7bGV0IGU9YS5sYXN0SW5kZXhPZigiOiIpLHQ9YS5sYXN0SW5kZXhPZigiLyIpO3JldHVybiBlPnQmJmU+MD97cmVwb3NpdG9yeTphLnN1YnN0cmluZygwLGUpLHRhZzphLnN1YnN0cmluZyhlKzEpfTp7cmVwb3NpdG9yeTphLHRhZzoibGF0ZXN0In19ZnVuY3Rpb24gdGhhKGEpe3N3aXRjaChhKXtjYXNlInJ1bm5pbmciOnJldHVybiJydW5uaW5nIjtjYXNlInN0YXJ0aW5nIjpyZXR1cm4ic3RhcnRpbmciO2Nhc2UiZmFpbGVkIjpyZXR1cm4iZXJyb3IiO2RlZmF1bHQ6cmV0dXJuInN0b3BwZWQifX1mdW5jdGlvbiBWRmEoYSl7bGV0IGU9cUZhKGEuaW1hZ2UpO3JldHVybntuYW1lOmEubmFtZSxzdGF0dXM6dGhhKGEuc3RhdHVzKSxpbWFnZTphLmltYWdlLHBvcnQ6YS5wb3J0LGRvbWFpbjphLmRvbWFpbnx8bnVsbCxjb250YWluZXJJZDphLmNvbnRhaW5lcklEfHwiIixjcmVhdGVkOmEuY3JlYXRlZEF0P25ldyBEYXRlKGEuY3JlYXRlZEF0KS50b0xvY2FsZVN0cmluZygpOiItIix1cGRhdGVkOmEudXBkYXRlZEF0P25ldyBEYXRlKGEudXBkYXRlZEF0KS50b0xvY2FsZVN0cmluZygpOiItIixyZWdpc3RyeTphLnVzZU9uZWJveFJlZ2lzdHJ5PyJPbmVib3ggUmVnaXN0cnkiOmEucmVnaXN0cnl8fCJEb2NrZXIgSHViIixyZXBvc2l0b3J5OmEucmVnaXN0cnlSZXBvc2l0b3J5fHxlLnJlcG9zaXRvcnksdGFnOmEucmVnaXN0cnlJbWFnZVRhZ3x8ZS50YWd9fWZ1bmN0aW9uIGpGYShhKXtyZXR1cm57Y3B1OmEuY3B1UGVyY2VudCxtZW1vcnk6WWllKGEubWVtb3J5VXNlZCksbWVtb3J5TGltaXQ6WWllKGEubWVtb3J5TGltaXQpLG5ldHdvcmtJbjpZaWUoYS5uZXR3b3JrUngpLG5ldHdvcmtPdXQ6WWllKGEubmV0d29ya1R4KX19ZnVuY3Rpb24gVUZhKGEpe3JldHVybiBBcnJheS5pc0FycmF5KGEpP2EubWFwKGU9PntsZXQgdD1lLnRpbWVzdGFtcD90eXBlb2YgZS50aW1lc3RhbXA9PSJudW1iZXIiP25ldyBEYXRlKGUudGltZXN0YW1wKS50b0lTT1N0cmluZygpOlN0cmluZyhlLnRpbWVzdGFtcCk6bmV3IERhdGUoKS50b0lTT1N0cmluZygpLHI9ZS5tZXNzYWdlfHxTdHJpbmcoZSksaT1lLmxldmVsfHwiaW5mbyI7cmV0dXJue3RpbWVzdGFtcDp0LG1lc3NhZ2U6cixsZXZlbDppfX0pOnR5cGVvZiBhPT0ic3RyaW5nIiYmYS50cmltKCk/YS5zcGxpdChgCmApLmZpbHRlcihlPT5lLnRyaW0oKSkubWFwKGU9PntsZXQgdD1lLm1hdGNoKC9eKFxkezR9LVxkezJ9LVxkezJ9VFtcZDouXStaPylccysoLiopLykscj10P3RbMV06bmV3IERhdGUoKS50b0lTT1N0cmluZygpLGk9dD90WzJdOmUsbz1pLnRvTG93ZXJDYXNlKCksbj1vLmluY2x1ZGVzKCJlcnJvciIpfHxvLmluY2x1ZGVzKCJmYXRhbCIpPyJlcnJvciI6by5pbmNsdWRlcygid2FybiIpPyJ3YXJuIjoiaW5mbyI7cmV0dXJue3RpbWVzdGFtcDpyLG1lc3NhZ2U6aSxsZXZlbDpufX0pOltdfXZhciBhaGEscmhhLHNoYSxpaGEsb2hhLG5oYSxsaGEsY2hhLGRoYSx1aGEsb3IsU3R0LHp0dCxDdHQsX3R0LFR0dCxMdHQsJHR0LER0dCxXRmEsZm8sQXR0LEV0dD1mKGFzeW5jKCk9Pnt1bigpO2EyKCk7YXdhaXQgR24oKTt3NygpO2VoYSgpO2xlKCk7cyhZaWUsImZvcm1hdEJ5dGVzIik7cyhxRmEsInBhcnNlSW1hZ2VTdHJpbmciKTtzKHRoYSwibWFwU3RhdHVzIik7cyhWRmEsInRvU2VydmljZURldGFpbCIpO3MoakZhLCJ0b1NlcnZpY2VTdGF0cyIpO3MoVUZhLCJwYXJzZUxvZ3MiKTtXRmE9e2NwdTowLG1lbW9yeToiMCBCIixtZW1vcnlMaW1pdDoiMCBCIixuZXR3b3JrSW46IjAgQiIsbmV0d29ya091dDoiMCBCIn07dWhhPVtpZSgib2Itdmlldy1zZXJ2aWNlcyIpXTtmbz1jbGFzcyBmbyBleHRlbmRzKGRoYT1wZSxjaGE9W0soKV0sbGhhPVtLKCldLG5oYT1bSygpXSxvaGE9W0soKV0saWhhPVtLKCldLHNoYT1bSygpXSxyaGE9W0soKV0sYWhhPVtLKCldLGRoYSl7Y29uc3RydWN0b3IoKXtzdXBlcigpO090KHRoaXMsU3R0LEdlKG9yLDgsdGhpcyx7c2VydmljZXM6W10sY3VycmVudFNlcnZpY2U6bnVsbCxjdXJyZW50U2VydmljZUxvZ3M6W10sY3VycmVudFNlcnZpY2VTdGF0czpudWxsLHBsYXRmb3JtU2VydmljZXM6W10sY3VycmVudFBsYXRmb3JtU2VydmljZTpudWxsLGN1cnJlbnRQbGF0Zm9ybVNlcnZpY2VTdGF0czpudWxsLGN1cnJlbnRQbGF0Zm9ybVNlcnZpY2VMb2dzOltdfSkpLEdlKG9yLDExLHRoaXMpO090KHRoaXMsenR0LEdlKG9yLDEyLHRoaXMse2JhY2t1cHM6W10sc2NoZWR1bGVzOltdfSkpLEdlKG9yLDE1LHRoaXMpO090KHRoaXMsQ3R0LEdlKG9yLDE2LHRoaXMsImxpc3QiKSksR2Uob3IsMTksdGhpcyk7T3QodGhpcyxfdHQsR2Uob3IsMjAsdGhpcywiIikpLEdlKG9yLDIzLHRoaXMpO090KHRoaXMsVHR0LEdlKG9yLDI0LHRoaXMsIiIpKSxHZShvciwyNyx0aGlzKTtPdCh0aGlzLEx0dCxHZShvciwyOCx0aGlzLCExKSksR2Uob3IsMzEsdGhpcyk7T3QodGhpcywkdHQsR2Uob3IsMzIsdGhpcyxudWxsKSksR2Uob3IsMzUsdGhpcyk7T3QodGhpcyxEdHQsR2Uob3IsMzYsdGhpcyx7YXBwczpbXSx1cGdyYWRlYWJsZVNlcnZpY2VzOltdfSkpLEdlKG9yLDM5LHRoaXMpO2xldCB0PUx0LnNlbGVjdChvPT5vKS5zdWJzY3JpYmUobz0+e3RoaXMuc2VydmljZXNTdGF0ZT1vfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaCh0KTtsZXQgcj1yMi5zZWxlY3Qobz0+bykuc3Vic2NyaWJlKG89Pnt0aGlzLmJhY2t1cHNTdGF0ZT1vfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaChyKTtsZXQgaT1obC5zZWxlY3Qobz0+bykuc3Vic2NyaWJlKG89Pnt0aGlzLmFwcFN0b3JlU3RhdGU9b30pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2goaSl9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGF3YWl0IFByb21pc2UuYWxsKFtMdC5kaXNwYXRjaEFjdGlvbihCRyxudWxsKSxMdC5kaXNwYXRjaEFjdGlvbihxaWUsbnVsbCksaGwuZGlzcGF0Y2hBY3Rpb24oRDVhLG51bGwpXSk7bGV0IHQ9THQuZ2V0U3RhdGUoKTtpZih0LmN1cnJlbnRQbGF0Zm9ybVNlcnZpY2Upe2xldCByPXQuY3VycmVudFBsYXRmb3JtU2VydmljZS50eXBlO0x0LnNldFN0YXRlKHsuLi5MdC5nZXRTdGF0ZSgpLGN1cnJlbnRQbGF0Zm9ybVNlcnZpY2U6bnVsbH0pLHRoaXMubmF2aWdhdGVUb1BsYXRmb3JtRGV0YWlsKHIpfX1yZW5kZXIoKXtzd2l0Y2godGhpcy5jdXJyZW50Vmlldyl7Y2FzZSJjcmVhdGUiOnJldHVybiB0aGlzLnJlbmRlckNyZWF0ZVZpZXcoKTtjYXNlImRldGFpbCI6cmV0dXJuIHRoaXMucmVuZGVyRGV0YWlsVmlldygpO2Nhc2UiYmFja3VwcyI6cmV0dXJuIHRoaXMucmVuZGVyQmFja3Vwc1ZpZXcoKTtjYXNlInBsYXRmb3JtLWRldGFpbCI6cmV0dXJuIHRoaXMucmVuZGVyUGxhdGZvcm1EZXRhaWxWaWV3KCk7ZGVmYXVsdDpyZXR1cm4gdGhpcy5yZW5kZXJMaXN0VmlldygpfX1yZW5kZXJMaXN0Vmlldygpe2xldCB0PXRoaXMuc2VydmljZXNTdGF0ZS5zZXJ2aWNlcy5tYXAobD0+KHtuYW1lOmwubmFtZSxpbWFnZTpsLmltYWdlLGRvbWFpbjpsLmRvbWFpbnx8bnVsbCxzdGF0dXM6dGhhKGwuc3RhdHVzKX0pKSxyPXMobD0+e3N3aXRjaChsKXtjYXNlInJ1bm5pbmciOnJldHVybiJSdW5uaW5nIjtjYXNlInN0b3BwZWQiOnJldHVybiJTdG9wcGVkIjtjYXNlInN0YXJ0aW5nIjpyZXR1cm4iU3RhcnRpbmcuLi4iO2Nhc2Uic3RvcHBpbmciOnJldHVybiJTdG9wcGluZy4uLiI7Y2FzZSJmYWlsZWQiOnJldHVybiJGYWlsZWQiO2Nhc2Uibm90LWRlcGxveWVkIjpyZXR1cm4iTm90IERlcGxveWVkIjtkZWZhdWx0OnJldHVybiBsfX0sImRpc3BsYXlTdGF0dXMiKSxpPXRoaXMuc2VydmljZXNTdGF0ZS5wbGF0Zm9ybVNlcnZpY2VzLmZpbHRlcihsPT5sLnN0YXR1cz09PSJydW5uaW5nInx8bC5zdGF0dXM9PT0ic3RhcnRpbmcifHxsLnN0YXR1cz09PSJzdG9wcGluZyJ8fGwuaXNDb3JlKSxvPXRoaXMuc2VydmljZXNTdGF0ZS5wbGF0Zm9ybVNlcnZpY2VzLmZpbHRlcihsPT4hbC5pc0NvcmUmJihsLnN0YXR1cz09PSJub3QtZGVwbG95ZWQifHxsLnN0YXR1cz09PSJzdG9wcGVkInx8bC5zdGF0dXM9PT0iZmFpbGVkIikpLG49aS5tYXAobD0+KHtuYW1lOmwuZGlzcGxheU5hbWUsc3RhdHVzOnIobC5zdGF0dXMpLHJ1bm5pbmc6bC5zdGF0dXM9PT0icnVubmluZyIsdHlwZTpsLnR5cGV9KSk7cmV0dXJuIHdgCiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5TZXJ2aWNlczwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgIDxkaXYgY2xhc3M9InBhZ2UtYWN0aW9ucyI+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGVwbG95LWJ1dHRvbiIgQGNsaWNrPSR7KCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJjcmVhdGUifX0+CiAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ij48L2xpbmU+CiAgICAgICAgICAgIDxsaW5lIHgxPSI1IiB5MT0iMTIiIHgyPSIxOSIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIERlcGxveSBTZXJ2aWNlCiAgICAgICAgPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICA8c3otc2VydmljZXMtbGlzdC12aWV3CiAgICAgICAgLnNlcnZpY2VzPSR7dH0KICAgICAgICBAc2VydmljZS1jbGljaz0ke2w9Pnt0aGlzLnNlbGVjdGVkU2VydmljZU5hbWU9bC5kZXRhaWwubmFtZXx8bC5kZXRhaWwuc2VydmljZT8ubmFtZSxMdC5kaXNwYXRjaEFjdGlvbihKZXQse25hbWU6dGhpcy5zZWxlY3RlZFNlcnZpY2VOYW1lfSksTHQuZGlzcGF0Y2hBY3Rpb24oZzVhLHtuYW1lOnRoaXMuc2VsZWN0ZWRTZXJ2aWNlTmFtZX0pLEx0LmRpc3BhdGNoQWN0aW9uKGI1YSx7bmFtZTp0aGlzLnNlbGVjdGVkU2VydmljZU5hbWV9KSx0aGlzLmN1cnJlbnRWaWV3PSJkZXRhaWwifX0KICAgICAgICBAc2VydmljZS1hY3Rpb249JHtsPT50aGlzLmhhbmRsZVNlcnZpY2VBY3Rpb24obCl9CiAgICAgID48L3N6LXNlcnZpY2VzLWxpc3Qtdmlldz4KICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nIHN0eWxlPSJtYXJnaW4tdG9wOiAzMnB4OyI+UGxhdGZvcm0gU2VydmljZXM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8ZGl2IHN0eWxlPSJtYXgtd2lkdGg6IDUwMHB4OyI+CiAgICAgICAgJHtuLmxlbmd0aD4wP3dgCiAgICAgICAgICA8c3otcGxhdGZvcm0tc2VydmljZXMtY2FyZAogICAgICAgICAgICAuc2VydmljZXM9JHtufQogICAgICAgICAgICBAc2VydmljZS1jbGljaz0ke2w9PntsZXQgZD1sLmRldGFpbC50eXBlfHx0aGlzLnNlcnZpY2VzU3RhdGUucGxhdGZvcm1TZXJ2aWNlcy5maW5kKGM9PmMuZGlzcGxheU5hbWU9PT1sLmRldGFpbC5uYW1lKT8udHlwZTtkJiZ0aGlzLm5hdmlnYXRlVG9QbGF0Zm9ybURldGFpbChkKX19CiAgICAgICAgICA+PC9zei1wbGF0Zm9ybS1zZXJ2aWNlcy1jYXJkPgogICAgICAgIGA6IiJ9CiAgICAgICAgJHtvLmxlbmd0aD4wP3dgCiAgICAgICAgICA8ZGl2IHN0eWxlPSIKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2ktc2hhZGUtMSwgIzA5MDkwYik7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNpLXNoYWRlLTIsICMyNzI3MmEpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7bi5sZW5ndGg+MD8iMTJweCI6IjAifTsKICAgICAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgICAgIj4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNCwgIzcxNzE3YSk7IG1hcmdpbi1ib3R0b206IDEycHg7Ij5BdmFpbGFibGUg4oCUIG5vdCBpbiB1c2U8L2Rpdj4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMnB4OyI+CiAgICAgICAgICAgICAgJHtvLm1hcChsPT53YAogICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICBzdHlsZT0iZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyOyBwYWRkaW5nOiA4cHggMDsgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGVhc2U7IgogICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5uYXZpZ2F0ZVRvUGxhdGZvcm1EZXRhaWwobC50eXBlKX0KICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0id2lkdGg6IDhweDsgaGVpZ2h0OiA4cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogdmFyKC0tY2ktc2hhZGUtMywgIzNmM2Y0Nik7IGZsZXgtc2hyaW5rOiAwOyI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDUwMDsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTQsICM3MTcxN2EpOyI+JHtsLmRpc3BsYXlOYW1lfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1jaS1zaGFkZS0zLCAjM2YzZjQ2KTsiPiR7cihsLnN0YXR1cyl9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGRlcGxveUZyb21UZW1wbGF0ZSh0KXtsZXQgcj10LmlkfHx0Lm5hbWUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bXmEtejAtOS1dL2csIi0iKSxpPXt9O2lmKHQuZW52VmFycylmb3IobGV0IG4gb2YgdC5lbnZWYXJzKW4ua2V5JiZuLnZhbHVlJiYoaVtuLmtleV09bi52YWx1ZSk7bGV0IG89e25hbWU6cixpbWFnZTp0LmltYWdlLHBvcnQ6dC5wb3J0fHw4MCxlbnZWYXJzOmksZW5hYmxlTW9uZ29EQjp0LmVuYWJsZU1vbmdvREJ8fCExLGVuYWJsZVMzOnQuZW5hYmxlUzN8fCExLGVuYWJsZUNsaWNrSG91c2U6dC5lbmFibGVDbGlja0hvdXNlfHwhMSxlbmFibGVSZWRpczp0LmVuYWJsZVJlZGlzfHwhMSxlbmFibGVNYXJpYURCOnQuZW5hYmxlTWFyaWFEQnx8ITF9O2F3YWl0IEx0LmRpc3BhdGNoQWN0aW9uKEhHLHtjb25maWc6b30pLHRoaXMucGVuZGluZ1RlbXBsYXRlPW51bGwsdGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9cmVuZGVyQ3JlYXRlVmlldygpe2lmKHRoaXMucGVuZGluZ1RlbXBsYXRlKXtsZXQgdD10aGlzLnBlbmRpbmdUZW1wbGF0ZTtyZXR1cm4gd2AKICAgICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+RGVwbG95ICR7dC5uYW1lfTwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgICAgPGRpdiBzdHlsZT0ibWF4LXdpZHRoOiA2MDBweDsgbWFyZ2luOiAwIGF1dG87Ij4KICAgICAgICAgIDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6IHZhcigtLWNpLXNoYWRlLTEsICMwOTA5MGIpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaS1zaGFkZS0yLCAjMjcyNzJhKTsgYm9yZGVyLXJhZGl1czogOHB4OyBwYWRkaW5nOiAyNHB4OyBtYXJnaW4tYm90dG9tOiAxNnB4OyI+CiAgICAgICAgICAgIDxoMyBzdHlsZT0ibWFyZ2luOiAwIDAgOHB4IDA7IGZvbnQtc2l6ZTogMThweDsiPiR7dC5uYW1lfTwvaDM+CiAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW46IDAgMCAxNnB4IDA7IGNvbG9yOiB2YXIoLS1jaS1zaGFkZS01LCAjYTFhMWFhKTsgZm9udC1zaXplOiAxNHB4OyI+JHt0LmRlc2NyaXB0aW9ufTwvcD4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDEycHg7IGZvbnQtc2l6ZTogMTNweDsiPgogICAgICAgICAgICAgIDxkaXY+PHNwYW4gc3R5bGU9ImNvbG9yOiB2YXIoLS1jaS1zaGFkZS01LCAjYTFhMWFhKTsiPkltYWdlOjwvc3Bhbj4gPHN0cm9uZz4ke3QuaW1hZ2V9PC9zdHJvbmc+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdj48c3BhbiBzdHlsZT0iY29sb3I6IHZhcigtLWNpLXNoYWRlLTUsICNhMWExYWEpOyI+UG9ydDo8L3NwYW4+IDxzdHJvbmc+JHt0LnBvcnR9PC9zdHJvbmc+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdj48c3BhbiBzdHlsZT0iY29sb3I6IHZhcigtLWNpLXNoYWRlLTUsICNhMWExYWEpOyI+U2VydmljZSBOYW1lOjwvc3Bhbj4gPHN0cm9uZz4ke3QuaWR9PC9zdHJvbmc+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdj48c3BhbiBzdHlsZT0iY29sb3I6IHZhcigtLWNpLXNoYWRlLTUsICNhMWExYWEpOyI+Q2F0ZWdvcnk6PC9zcGFuPiA8c3Ryb25nPiR7dC5jYXRlZ29yeX08L3N0cm9uZz48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICR7dC5lbmFibGVNb25nb0RCfHx0LmVuYWJsZVMzfHx0LmVuYWJsZUNsaWNrSG91c2V8fHQuZW5hYmxlUmVkaXN8fHQuZW5hYmxlTWFyaWFEQj93YAogICAgICAgICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6IDEycHg7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTUsICNhMWExYWEpOyI+CiAgICAgICAgICAgICAgICBQbGF0Zm9ybSBTZXJ2aWNlczoKICAgICAgICAgICAgICAgICR7dC5lbmFibGVNb25nb0RCP3dgPHNwYW4gc3R5bGU9Im1hcmdpbi1yaWdodDogOHB4OyI+TW9uZ29EQjwvc3Bhbj5gOiIifQogICAgICAgICAgICAgICAgJHt0LmVuYWJsZVMzP3dgPHNwYW4gc3R5bGU9Im1hcmdpbi1yaWdodDogOHB4OyI+UzM8L3NwYW4+YDoiIn0KICAgICAgICAgICAgICAgICR7dC5lbmFibGVDbGlja0hvdXNlP3dgPHNwYW4gc3R5bGU9Im1hcmdpbi1yaWdodDogOHB4OyI+Q2xpY2tIb3VzZTwvc3Bhbj5gOiIifQogICAgICAgICAgICAgICAgJHt0LmVuYWJsZVJlZGlzP3dgPHNwYW4gc3R5bGU9Im1hcmdpbi1yaWdodDogOHB4OyI+UmVkaXM8L3NwYW4+YDoiIn0KICAgICAgICAgICAgICAgICR7dC5lbmFibGVNYXJpYURCP3dgPHNwYW4gc3R5bGU9Im1hcmdpbi1yaWdodDogOHB4OyI+TWFyaWFEQjwvc3Bhbj5gOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBnYXA6IDEycHg7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGVwbG95LWJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaS1zaGFkZS0yLCAjMjcyNzJhKTsgY29sb3I6IGluaGVyaXQ7IiBAY2xpY2s9JHsoKT0+e3RoaXMucGVuZGluZ1RlbXBsYXRlPW51bGwsdGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9fT5DYW5jZWw8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGVwbG95LWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuZGVwbG95RnJvbVRlbXBsYXRlKHQpfT5EZXBsb3kgJHt0Lm5hbWV9PC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgYH1yZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkNyZWF0ZSBTZXJ2aWNlPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPHN6LXNlcnZpY2UtY3JlYXRlLXZpZXcKICAgICAgICAucmVnaXN0cmllcz0ke1tdfQogICAgICAgIEBjcmVhdGUtc2VydmljZT0ke2FzeW5jIHQ9PntsZXQgcj10LmRldGFpbCxpPXtuYW1lOnIubmFtZSxpbWFnZTpyLmltYWdlLHBvcnQ6ci5wb3J0cz8uWzBdPy5jb250YWluZXJQb3J0P3BhcnNlSW50KHIucG9ydHNbMF0uY29udGFpbmVyUG9ydCwxMCk6ODAsZW52VmFyczpyLmVudlZhcnM/LnJlZHVjZSgobyxuKT0+KG4ua2V5JiYob1tuLmtleV09bi52YWx1ZSksbykse30pLGVuYWJsZU1vbmdvREI6ci5lbmFibGVNb25nb0RCfHwhMSxlbmFibGVTMzpyLmVuYWJsZVMzfHwhMSxlbmFibGVDbGlja0hvdXNlOnIuZW5hYmxlQ2xpY2tIb3VzZXx8ITEsZW5hYmxlUmVkaXM6ci5lbmFibGVSZWRpc3x8ITEsZW5hYmxlTWFyaWFEQjpyLmVuYWJsZU1hcmlhREJ8fCExfTthd2FpdCBMdC5kaXNwYXRjaEFjdGlvbihIRyx7Y29uZmlnOml9KSx0aGlzLmN1cnJlbnRWaWV3PSJsaXN0In19CiAgICAgICAgQGNhbmNlbD0keygpPT57dGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9fQogICAgICA+PC9zei1zZXJ2aWNlLWNyZWF0ZS12aWV3PgogICAgYH1yZW5kZXJEZXRhaWxWaWV3KCl7bGV0IHQ9dGhpcy5zZXJ2aWNlc1N0YXRlLmN1cnJlbnRTZXJ2aWNlLHI9dD9WRmEodCk6bnVsbCxpPXRoaXMuc2VydmljZXNTdGF0ZS5jdXJyZW50U2VydmljZVN0YXRzP2pGYSh0aGlzLnNlcnZpY2VzU3RhdGUuY3VycmVudFNlcnZpY2VTdGF0cyk6V0ZhLG89VUZhKHRoaXMuc2VydmljZXNTdGF0ZS5jdXJyZW50U2VydmljZUxvZ3MpLG49dD90aGlzLmFwcFN0b3JlU3RhdGUudXBncmFkZWFibGVTZXJ2aWNlcy5maW5kKGw9Pmwuc2VydmljZU5hbWU9PT10Lm5hbWUpOm51bGw7cmV0dXJuIHdgCiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5TZXJ2aWNlIERldGFpbHM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICAke24/d2AKICAgICAgICA8ZGl2IHN0eWxlPSIKICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpLCByZ2JhKDEzOSwgOTIsIDI0NiwgMC4xKSk7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4zKTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgIj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTcsICNlNGU0ZTcpOyI+CiAgICAgICAgICAgICAgVXBkYXRlIGF2YWlsYWJsZTogdiR7bi5jdXJyZW50VmVyc2lvbn0gJnJhcnI7IHYke24ubGF0ZXN0VmVyc2lvbn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTQsICM3MTcxN2EpOyBtYXJnaW4tdG9wOiA0cHg7Ij4KICAgICAgICAgICAgICAke24uaGFzTWlncmF0aW9uPyJNaWdyYXRpb24gc2NyaXB0IGF2YWlsYWJsZSI6IkNvbmZpZy1vbmx5IHVwZ3JhZGUifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICBjbGFzcz0iZGVwbG95LWJ1dHRvbiIKICAgICAgICAgICAgc3R5bGU9InBhZGRpbmc6IDhweCAxNnB4OyBmb250LXNpemU6IDEzcHg7IgogICAgICAgICAgICBAY2xpY2s9JHthc3luYygpPT57YXdhaXQgaGwuZGlzcGF0Y2hBY3Rpb24oQTVhLHtzZXJ2aWNlTmFtZTpuLnNlcnZpY2VOYW1lLHRhcmdldFZlcnNpb246bi5sYXRlc3RWZXJzaW9ufSksTHQuZGlzcGF0Y2hBY3Rpb24oSmV0LHtuYW1lOm4uc2VydmljZU5hbWV9KSxMdC5kaXNwYXRjaEFjdGlvbihCRyxudWxsKX19CiAgICAgICAgICA+VXBncmFkZTwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgICA8c3otc2VydmljZS1kZXRhaWwtdmlldwogICAgICAgIC5zZXJ2aWNlPSR7cn0KICAgICAgICAubG9ncz0ke299CiAgICAgICAgLnN0YXRzPSR7aX0KICAgICAgICBAYmFjaz0keygpPT57dGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9fQogICAgICAgIEBzZXJ2aWNlLWFjdGlvbj0ke2w9PnRoaXMuaGFuZGxlU2VydmljZUFjdGlvbihsKX0KICAgICAgICBAcmVxdWVzdC13b3Jrc3BhY2U9JHthc3luYyBsPT57bGV0IGQ9bC5kZXRhaWw/LnNlcnZpY2U/Lm5hbWV8fHRoaXMuc2VsZWN0ZWRTZXJ2aWNlTmFtZSxjPXhzLmdldFN0YXRlKCkuaWRlbnRpdHk7aWYoISghZHx8IWMpKXRyeXtsZXQgcD1uZXcgR2llKGQsYyk7YXdhaXQgcC5pbml0KCk7bGV0IHU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJzei1zZXJ2aWNlLWRldGFpbC12aWV3Iik7dSYmKHUud29ya3NwYWNlRW52aXJvbm1lbnQ9cCksdGhpcy53b3Jrc3BhY2VPcGVuPSEwLHRoaXMuY2xhc3NMaXN0LmFkZCgid29ya3NwYWNlLW1vZGUiKX1jYXRjaChwKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gb3BlbiB3b3Jrc3BhY2U6IixwKX19fQogICAgICAgIEBiYWNrPSR7KCk9Pnt0aGlzLndvcmtzcGFjZU9wZW49ITEsdGhpcy5jbGFzc0xpc3QucmVtb3ZlKCJ3b3Jrc3BhY2UtbW9kZSIpLHRoaXMuY3VycmVudFZpZXc9Imxpc3QifX0KICAgICAgPjwvc3otc2VydmljZS1kZXRhaWwtdmlldz4KICAgIGB9cmVuZGVyQmFja3Vwc1ZpZXcoKXtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkJhY2t1cHM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otc2VydmljZXMtYmFja3Vwcy12aWV3CiAgICAgICAgLnNjaGVkdWxlcz0ke3RoaXMuYmFja3Vwc1N0YXRlLnNjaGVkdWxlc30KICAgICAgICAuYmFja3Vwcz0ke3RoaXMuYmFja3Vwc1N0YXRlLmJhY2t1cHN9CiAgICAgICAgQGNyZWF0ZS1zY2hlZHVsZT0ke3Q9PntyMi5kaXNwYXRjaEFjdGlvbihUNWEse2NvbmZpZzp0LmRldGFpbH0pfX0KICAgICAgICBAcnVuLW5vdz0ke3Q9PntyMi5kaXNwYXRjaEFjdGlvbihMNWEse3NjaGVkdWxlSWQ6dC5kZXRhaWwuc2NoZWR1bGVJZH0pfX0KICAgICAgICBAZGVsZXRlLWJhY2t1cD0ke3Q9PntyMi5kaXNwYXRjaEFjdGlvbihfNWEse2JhY2t1cElkOnQuZGV0YWlsLmJhY2t1cElkfSl9fQogICAgICA+PC9zei1zZXJ2aWNlcy1iYWNrdXBzLXZpZXc+CiAgICBgfW5hdmlnYXRlVG9QbGF0Zm9ybURldGFpbCh0KXt0aGlzLmN1cnJlbnRWaWV3PSJsaXN0Iix0aGlzLnNlbGVjdGVkUGxhdGZvcm1UeXBlPXQsTHQuc2V0U3RhdGUoey4uLkx0LmdldFN0YXRlKCksY3VycmVudFBsYXRmb3JtU2VydmljZVN0YXRzOm51bGwsY3VycmVudFBsYXRmb3JtU2VydmljZUxvZ3M6W119KTtsZXQgcj10O0x0LmRpc3BhdGNoQWN0aW9uKFZpZSx7c2VydmljZVR5cGU6cn0pLEx0LmRpc3BhdGNoQWN0aW9uKHY1YSx7c2VydmljZVR5cGU6cn0pLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMuY3VycmVudFZpZXc9InBsYXRmb3JtLWRldGFpbCJ9KX1yZW5kZXJQbGF0Zm9ybURldGFpbFZpZXcoKXtsZXQgdD10aGlzLnNlcnZpY2VzU3RhdGUucGxhdGZvcm1TZXJ2aWNlcy5maW5kKGQ9PmQudHlwZT09PXRoaXMuc2VsZWN0ZWRQbGF0Zm9ybVR5cGUpLHI9dGhpcy5zZXJ2aWNlc1N0YXRlLmN1cnJlbnRQbGF0Zm9ybVNlcnZpY2VTdGF0cyxpPXtjcHU6cj9NYXRoLnJvdW5kKHIuY3B1UGVyY2VudCk6MCxtZW1vcnk6cj9NYXRoLnJvdW5kKHIubWVtb3J5UGVyY2VudCk6MCxzdG9yYWdlOjAsY29ubmVjdGlvbnM6dm9pZCAwfSxuPXQ/e21vbmdvZGI6e2hvc3Q6Im9uZWJveC1tb25nb2RiIixwb3J0OjI3MDE3LHZlcnNpb246IjQuNCIsY29uZmlnOntlbmdpbmU6IldpcmVkVGlnZXIiLGF1dGhFbmFibGVkOiEwfX0sbWluaW86e2hvc3Q6Im9uZWJveC1taW5pbyIscG9ydDo5ZTMsdmVyc2lvbjoibGF0ZXN0Iixjb25maWc6e2NvbnNvbGVQb3J0OjkwMDEscmVnaW9uOiJ1cy1lYXN0LTEifX0sY2xpY2tob3VzZTp7aG9zdDoib25lYm94LWNsaWNraG91c2UiLHBvcnQ6ODEyMyx2ZXJzaW9uOiJsYXRlc3QiLGNvbmZpZzp7bmF0aXZlUG9ydDo5ZTMsaHR0cFBvcnQ6ODEyM319LHNtYXJ0cHJveHk6e2hvc3Q6Im9uZWJveC1zbWFydHByb3h5Iixwb3J0OjgwLHZlcnNpb246ImxhdGVzdCIsY29uZmlnOntodHRwc1BvcnQ6NDQzLGFkbWluQXBpOjIwMTl9fSxtYXJpYWRiOntob3N0OiJvbmVib3gtbWFyaWFkYiIscG9ydDozMzA2LHZlcnNpb246IjExIixjb25maWc6e2VuZ2luZToiSW5ub0RCIixhdXRoRW5hYmxlZDohMH19LHJlZGlzOntob3N0OiJvbmVib3gtcmVkaXMiLHBvcnQ6NjM3OSx2ZXJzaW9uOiI3LWFscGluZSIsY29uZmlnOnthcHBlbmRvbmx5OiEwLG1heERhdGFiYXNlczoxNn19fVt0LnR5cGVdfHx7aG9zdDoidW5rbm93biIscG9ydDowLHZlcnNpb246IiIsY29uZmlnOnt9fTp7aG9zdDoiIixwb3J0OjAsdmVyc2lvbjoiIixjb25maWc6e319LGw9cyhkPT57c3dpdGNoKGQpe2Nhc2UicnVubmluZyI6cmV0dXJuInJ1bm5pbmciO2Nhc2UiZmFpbGVkIjpyZXR1cm4iZXJyb3IiO2RlZmF1bHQ6cmV0dXJuInN0b3BwZWQifX0sIm1hcFBsYXRmb3JtU3RhdHVzIik7cmV0dXJuIHdgCiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5QbGF0Zm9ybSBTZXJ2aWNlPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPGRpdiBjbGFzcz0icGFnZS1hY3Rpb25zIiBzdHlsZT0ianVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyI+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGVwbG95LWJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaS1zaGFkZS0yLCAjMjcyNzJhKTsgY29sb3I6IGluaGVyaXQ7IiBAY2xpY2s9JHsoKT0+e3RoaXMuY3VycmVudFZpZXc9Imxpc3QifX0+CiAgICAgICAgICAmbGFycjsgQmFjayB0byBTZXJ2aWNlcwogICAgICAgIDwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgICAgPHN6LXBsYXRmb3JtLXNlcnZpY2UtZGV0YWlsLXZpZXcKICAgICAgICAuc2VydmljZT0ke3Q/e2lkOnQudHlwZSxuYW1lOnQuZGlzcGxheU5hbWUsdHlwZTp0LnR5cGUsc3RhdHVzOmwodC5zdGF0dXMpLHZlcnNpb246bi52ZXJzaW9uLGhvc3Q6bi5ob3N0LHBvcnQ6bi5wb3J0LGNvbmZpZzpuLmNvbmZpZyxtZXRyaWNzOml9Om51bGx9CiAgICAgICAgLmxvZ3M9JHt0aGlzLnNlcnZpY2VzU3RhdGUuY3VycmVudFBsYXRmb3JtU2VydmljZUxvZ3MubWFwKGQ9Pih7dGltZXN0YW1wOm5ldyBEYXRlKGQudGltZXN0YW1wKS50b0lTT1N0cmluZygpLGxldmVsOmQubGV2ZWwsbWVzc2FnZTpkLm1lc3NhZ2V9KSl9CiAgICAgICAgQGJhY2s9JHsoKT0+e3RoaXMuY3VycmVudFZpZXc9Imxpc3QifX0KICAgICAgICBAc3RhcnQ9JHthc3luYygpPT57YXdhaXQgTHQuZGlzcGF0Y2hBY3Rpb24oZXR0LHtzZXJ2aWNlVHlwZTp0aGlzLnNlbGVjdGVkUGxhdGZvcm1UeXBlfSksTHQuZGlzcGF0Y2hBY3Rpb24oVmllLHtzZXJ2aWNlVHlwZTp0aGlzLnNlbGVjdGVkUGxhdGZvcm1UeXBlfSl9fQogICAgICAgIEBzdG9wPSR7YXN5bmMoKT0+e2F3YWl0IEx0LmRpc3BhdGNoQWN0aW9uKHR0dCx7c2VydmljZVR5cGU6dGhpcy5zZWxlY3RlZFBsYXRmb3JtVHlwZX0pfX0KICAgICAgICBAcmVzdGFydD0ke2FzeW5jKCk9Pnthd2FpdCBMdC5kaXNwYXRjaEFjdGlvbih0dHQse3NlcnZpY2VUeXBlOnRoaXMuc2VsZWN0ZWRQbGF0Zm9ybVR5cGV9KSxhd2FpdCBMdC5kaXNwYXRjaEFjdGlvbihldHQse3NlcnZpY2VUeXBlOnRoaXMuc2VsZWN0ZWRQbGF0Zm9ybVR5cGV9KSxMdC5kaXNwYXRjaEFjdGlvbihWaWUse3NlcnZpY2VUeXBlOnRoaXMuc2VsZWN0ZWRQbGF0Zm9ybVR5cGV9KX19CiAgICAgID48L3N6LXBsYXRmb3JtLXNlcnZpY2UtZGV0YWlsLXZpZXc+CiAgICBgfWFzeW5jIGhhbmRsZVNlcnZpY2VBY3Rpb24odCl7bGV0IHI9dC5kZXRhaWwuYWN0aW9uLGk9dC5kZXRhaWwuc2VydmljZT8ubmFtZXx8dC5kZXRhaWwubmFtZXx8dGhpcy5zZWxlY3RlZFNlcnZpY2VOYW1lO3N3aXRjaChyKXtjYXNlInN0YXJ0Ijphd2FpdCBMdC5kaXNwYXRjaEFjdGlvbihmNWEse25hbWU6aX0pO2JyZWFrO2Nhc2Uic3RvcCI6YXdhaXQgTHQuZGlzcGF0Y2hBY3Rpb24oaDVhLHtuYW1lOml9KTticmVhaztjYXNlInJlc3RhcnQiOmF3YWl0IEx0LmRpc3BhdGNoQWN0aW9uKG01YSx7bmFtZTppfSk7YnJlYWs7Y2FzZSJkZWxldGUiOmF3YWl0IEx0LmRpc3BhdGNoQWN0aW9uKHA1YSx7bmFtZTppfSksdGhpcy5jdXJyZW50Vmlldz0ibGlzdCI7YnJlYWt9fX07b3I9QXIoZGhhKSxTdHQ9bmV3IFdlYWtNYXAsenR0PW5ldyBXZWFrTWFwLEN0dD1uZXcgV2Vha01hcCxfdHQ9bmV3IFdlYWtNYXAsVHR0PW5ldyBXZWFrTWFwLEx0dD1uZXcgV2Vha01hcCwkdHQ9bmV3IFdlYWtNYXAsRHR0PW5ldyBXZWFrTWFwLFN0KG9yLDQsInNlcnZpY2VzU3RhdGUiLGNoYSxmbyxTdHQpLFN0KG9yLDQsImJhY2t1cHNTdGF0ZSIsbGhhLGZvLHp0dCksU3Qob3IsNCwiY3VycmVudFZpZXciLG5oYSxmbyxDdHQpLFN0KG9yLDQsInNlbGVjdGVkU2VydmljZU5hbWUiLG9oYSxmbyxfdHQpLFN0KG9yLDQsInNlbGVjdGVkUGxhdGZvcm1UeXBlIixpaGEsZm8sVHR0KSxTdChvciw0LCJ3b3Jrc3BhY2VPcGVuIixzaGEsZm8sTHR0KSxTdChvciw0LCJwZW5kaW5nVGVtcGxhdGUiLHJoYSxmbywkdHQpLFN0KG9yLDQsImFwcFN0b3JlU3RhdGUiLGFoYSxmbyxEdHQpLGZvPVN0KG9yLDAsIk9iVmlld1NlcnZpY2VzIix1aGEsZm8pLHMoZm8sIk9iVmlld1NlcnZpY2VzIiksRXIoZm8sInN0eWxlcyIsW2guZGVmYXVsdFN0eWxlcyxZcyxYYAogICAgICAucGFnZS1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmRlcGxveS1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmRlcGxveS1idXR0b246aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgfQoKICAgICAgLmRlcGxveS1idXR0b24gc3ZnIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgIH0KCiAgICAgIDpob3N0KC53b3Jrc3BhY2UtbW9kZSkgewogICAgICAgIG1heC13aWR0aDogbm9uZTsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIH0KCiAgICAgIDpob3N0KC53b3Jrc3BhY2UtbW9kZSkgb2Itc2VjdGlvbmhlYWRpbmcgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KICAgIGBdKSxHZShvciwxLGZvKTtBdHQ9Zm99KTt2YXIgZ2hhPXt9O3J0KGdoYSx7T2JWaWV3RG9tYWluczooKT0+SXR0fSk7dmFyIGZoYSxoaGEsbWhhLFM3LFB0dCxRNCxJdHQsYmhhPWYoYXN5bmMoKT0+e2EyKCk7YXdhaXQgR24oKTtsZSgpO21oYT1baWUoIm9iLXZpZXctZG9tYWlucyIpXTtRND1jbGFzcyBRNCBleHRlbmRzKGhoYT1wZSxmaGE9W0soKV0saGhhKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7T3QodGhpcyxQdHQsR2UoUzcsOCx0aGlzLHt0YXJnZXRzOltdLHN0YXRzOm51bGwsdHJhZmZpY1N0YXRzOm51bGwsZG5zUmVjb3JkczpbXSxkb21haW5zOltdLGdhdGV3YXlEb21haW5zOltdLGdhdGV3YXlEbnNSZWNvcmRzOltdLGNlcnRpZmljYXRlczpbXX0pKSxHZShTNywxMSx0aGlzKTtsZXQgdD1QYS5zZWxlY3Qocj0+cikuc3Vic2NyaWJlKHI9Pnt0aGlzLm5ldHdvcmtTdGF0ZT1yfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaCh0KX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksYXdhaXQgUGEuZGlzcGF0Y2hBY3Rpb24oTTVhLG51bGwpfXJlbmRlcigpe2xldCB0PXRoaXMubmV0d29ya1N0YXRlLmdhdGV3YXlEb21haW5zO3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+RG9tYWluczwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgIDxkaXYgY2xhc3M9Im11dGVkIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMTZweDsiPgogICAgICAgIERvbWFpbnMgYXJlIG1hbmFnZWQgaW4gZGNyb3V0ZXIuIE9uZWJveCBzaG93cyBnYXRld2F5IHZpc2liaWxpdHkgZm9yIGRlcGxveWVkIHNlcnZpY2VzLgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idGFibGUiPgogICAgICAgIDxkaXYgY2xhc3M9InJvdyBoZWFkZXIiPgogICAgICAgICAgPHNwYW4+RG9tYWluPC9zcGFuPgogICAgICAgICAgPHNwYW4+U291cmNlPC9zcGFuPgogICAgICAgICAgPHNwYW4+QXV0aG9yaXRhdGl2ZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlNlcnZpY2VzPC9zcGFuPgogICAgICAgICAgPHNwYW4+QWN0aW9uczwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3QubGVuZ3RoP3QubWFwKHI9PndgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICA8c3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZG9tYWluIj4ke3IubmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgJHtyLnByb3ZpZGVySWQ/d2A8ZGl2IGNsYXNzPSJtdXRlZCI+UHJvdmlkZXI6ICR7ci5wcm92aWRlcklkfTwvZGl2PmA6IiJ9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+PHNwYW4gY2xhc3M9ImJhZGdlIj4ke3Iuc291cmNlfHwiZGNyb3V0ZXIifTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPiR7ci5hdXRob3JpdGF0aXZlPyJZZXMiOiJObyJ9PC9zcGFuPgogICAgICAgICAgICA8c3Bhbj4ke3Iuc2VydmljZUNvdW50fHwwfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+JHtyLm1hbmFnZVVybD93YDxhIGhyZWY9JHtyLm1hbmFnZVVybH0gdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPk1hbmFnZSBpbiBkY3JvdXRlcjwvYT5gOiItIn08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgKTp3YDxkaXYgY2xhc3M9ImVtcHR5Ij5ObyBnYXRld2F5IGRvbWFpbnMgZm91bmQuIENvbmZpZ3VyZSBhIGRjcm91dGVyIGdhdGV3YXkgaW4gU2V0dGluZ3MuPC9kaXY+YH0KICAgICAgPC9kaXY+CiAgICBgfX07Uzc9QXIoaGhhKSxQdHQ9bmV3IFdlYWtNYXAsU3QoUzcsNCwibmV0d29ya1N0YXRlIixmaGEsUTQsUHR0KSxRND1TdChTNywwLCJPYlZpZXdEb21haW5zIixtaGEsUTQpLHMoUTQsIk9iVmlld0RvbWFpbnMiKSxFcihRNCwic3R5bGVzIixbaC5kZWZhdWx0U3R5bGVzLFlzLFhgCiAgICAgIC50YWJsZSB7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2ktc2hhZGUtMiwgI2U0ZTRlNyk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CiAgICAgIC5yb3cgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyIDEyMHB4IDEyMHB4IDE0MHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDE0cHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2ktc2hhZGUtMiwgI2U0ZTRlNyk7CiAgICAgIH0KICAgICAgLnJvdzpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfQogICAgICAuaGVhZGVyIHsgZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogNzAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgIzcxNzE3YSk7IGJhY2tncm91bmQ6IHZhcigtLWNpLXNoYWRlLTEsICNmNGY0ZjUpOyB9CiAgICAgIC5kb21haW4geyBmb250LXdlaWdodDogNjAwOyB9CiAgICAgIC5tdXRlZCB7IGNvbG9yOiB2YXIoLS1jaS1zaGFkZS01LCAjNzE3MTdhKTsgZm9udC1zaXplOiAxM3B4OyB9CiAgICAgIC5iYWRnZSB7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBwYWRkaW5nOiAzcHggOHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1jaS1zaGFkZS0xLCAjZjRmNGY1KTsgZm9udC1zaXplOiAxMnB4OyB9CiAgICAgIGEgeyBjb2xvcjogdmFyKC0tY2ktcHJpbWFyeSwgIzI1NjNlYik7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQogICAgICAuZW1wdHkgeyBwYWRkaW5nOiAzMnB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGNvbG9yOiB2YXIoLS1jaS1zaGFkZS01LCAjNzE3MTdhKTsgfQogICAgYF0pLEdlKFM3LDEsUTQpO0l0dD1RNH0pO3ZhciB3aGE9e307cnQod2hhLHtPYlZpZXdEbnNSZWNvcmRzOigpPT5SdHR9KTt2YXIgdmhhLHhoYSx5aGEsejcsTnR0LEo0LFJ0dCxNaGE9Zihhc3luYygpPT57YTIoKTthd2FpdCBHbigpO2F3YWl0IFY1KCk7bGUoKTt5aGE9W2llKCJvYi12aWV3LWRucy1yZWNvcmRzIildO0o0PWNsYXNzIEo0IGV4dGVuZHMoeGhhPXBlLHZoYT1bSygpXSx4aGEpe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTtPdCh0aGlzLE50dCxHZSh6Nyw4LHRoaXMse3RhcmdldHM6W10sc3RhdHM6bnVsbCx0cmFmZmljU3RhdHM6bnVsbCxkbnNSZWNvcmRzOltdLGRvbWFpbnM6W10sZ2F0ZXdheURvbWFpbnM6W10sZ2F0ZXdheURuc1JlY29yZHM6W10sY2VydGlmaWNhdGVzOltdfSkpLEdlKHo3LDExLHRoaXMpO2xldCB0PVBhLnNlbGVjdChyPT5yKS5zdWJzY3JpYmUocj0+e3RoaXMubmV0d29ya1N0YXRlPXJ9KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKHQpfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxhd2FpdCBQYS5kaXNwYXRjaEFjdGlvbihrNWEsbnVsbCl9cmVuZGVyKCl7bGV0IHQ9dGhpcy5uZXR3b3JrU3RhdGUuZ2F0ZXdheURuc1JlY29yZHM7cmV0dXJuIHdgCiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5ETlMgUmVjb3Jkczwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgIDxkaXYgY2xhc3M9InRhYmxlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgaGVhZGVyIj4KICAgICAgICAgIDxzcGFuPk5hbWU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5UeXBlPC9zcGFuPgogICAgICAgICAgPHNwYW4+VmFsdWU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5TdGF0dXM8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5TZXJ2aWNlPC9zcGFuPgogICAgICAgICAgPHNwYW4+QWN0aW9uczwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3QubGVuZ3RoP3QubWFwKHI9PndgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgJHtyLnN0YXR1cz09PSJtaXNzaW5nIj8ibWlzc2luZyI6IiJ9Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5hbWUiPiR7ci5uYW1lfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+PHNwYW4gY2xhc3M9ImJhZGdlIj4ke3IudHlwZX08L3NwYW4+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0idmFsdWUiPiR7ci52YWx1ZXx8Ii0ifTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+JHtyLnN0YXR1c308L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPiR7ci5zZXJ2aWNlTmFtZXx8ci5hcHBJZH08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhY3Rpb25zIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJsaW5rIiBAY2xpY2s9JHsoKT0+Um8ubmF2aWdhdGVUb1ZpZXcoInNlcnZpY2VzIil9PlZpZXcgc2VydmljZTwvYnV0dG9uPgogICAgICAgICAgICAgICR7ci5tYW5hZ2VVcmw/d2A8YSBocmVmPSR7ci5tYW5hZ2VVcmx9IHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj5NYW5hZ2UgaW4gZGNyb3V0ZXI8L2E+YDoiIn0KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCk6d2A8ZGl2IGNsYXNzPSJlbXB0eSI+Tm8gZ2F0ZXdheSBETlMgcmVjb3JkcyBmb3VuZC4gQ29uZmlndXJlIGEgZGNyb3V0ZXIgZ2F0ZXdheSBpbiBTZXR0aW5ncy48L2Rpdj5gfQogICAgICA8L2Rpdj4KICAgIGB9fTt6Nz1Bcih4aGEpLE50dD1uZXcgV2Vha01hcCxTdCh6Nyw0LCJuZXR3b3JrU3RhdGUiLHZoYSxKNCxOdHQpLEo0PVN0KHo3LDAsIk9iVmlld0Ruc1JlY29yZHMiLHloYSxKNCkscyhKNCwiT2JWaWV3RG5zUmVjb3JkcyIpLEVyKEo0LCJzdHlsZXMiLFtoLmRlZmF1bHRTdHlsZXMsWXMsWGAKICAgICAgLnRhYmxlIHsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2ktc2hhZGUtMiwgI2U0ZTRlNyk7IGJvcmRlci1yYWRpdXM6IDEwcHg7IG92ZXJmbG93OiBoaWRkZW47IH0KICAgICAgLnJvdyB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDkwcHggMmZyIDkwcHggMTQwcHggMjIwcHg7IGdhcDogMTZweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcGFkZGluZzogMTRweCAxNnB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2ktc2hhZGUtMiwgI2U0ZTRlNyk7IH0KICAgICAgLnJvdzpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfQogICAgICAuaGVhZGVyIHsgZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogNzAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgIzcxNzE3YSk7IGJhY2tncm91bmQ6IHZhcigtLWNpLXNoYWRlLTEsICNmNGY0ZjUpOyB9CiAgICAgIC5uYW1lIHsgZm9udC13ZWlnaHQ6IDYwMDsgfQogICAgICAudmFsdWUgeyBmb250LWZhbWlseTogbW9ub3NwYWNlOyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgIzcxNzE3YSk7IG92ZXJmbG93LXdyYXA6IGFueXdoZXJlOyB9CiAgICAgIC5iYWRnZSB7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBwYWRkaW5nOiAzcHggOHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1jaS1zaGFkZS0xLCAjZjRmNGY1KTsgZm9udC1zaXplOiAxMnB4OyB9CiAgICAgIC5taXNzaW5nIHsgY29sb3I6ICNkYzI2MjY7IH0KICAgICAgYSwgYnV0dG9uLmxpbmsgeyBjb2xvcjogdmFyKC0tY2ktcHJpbWFyeSwgIzI1NjNlYik7IGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogbm9uZTsgcGFkZGluZzogMDsgY3Vyc29yOiBwb2ludGVyOyBmb250OiBpbmhlcml0OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KICAgICAgLmFjdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDEycHg7IH0KICAgICAgLmVtcHR5IHsgcGFkZGluZzogMzJweDsgdGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgIzcxNzE3YSk7IH0KICAgIGBdKSxHZSh6NywxLEo0KTtSdHQ9SjR9KTt2YXIgVGhhPXt9O3J0KFRoYSx7T2JWaWV3TmV0d29yazooKT0+SHR0fSk7dmFyIGtoYSxTaGEsemhhLENoYSxfaGEsS24sT3R0LEZ0dCxCdHQsZ2wsSHR0LHF0dD1mKGFzeW5jKCk9Pnt1bigpO2EyKCk7YXdhaXQgR24oKTtsZSgpO19oYT1baWUoIm9iLXZpZXctbmV0d29yayIpXTtnbD1jbGFzcyBnbCBleHRlbmRzKENoYT1wZSx6aGE9W0soKV0sU2hhPVtLKCldLGtoYT1bSygpXSxDaGEpe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTtPdCh0aGlzLE90dCxHZShLbiw4LHRoaXMse3RhcmdldHM6W10sc3RhdHM6bnVsbCx0cmFmZmljU3RhdHM6bnVsbCxkbnNSZWNvcmRzOltdLGRvbWFpbnM6W10sZ2F0ZXdheURvbWFpbnM6W10sZ2F0ZXdheURuc1JlY29yZHM6W10sY2VydGlmaWNhdGVzOltdfSkpLEdlKEtuLDExLHRoaXMpO090KHRoaXMsRnR0LEdlKEtuLDEyLHRoaXMsInByb3h5IikpLEdlKEtuLDE1LHRoaXMpO090KHRoaXMsQnR0LEdlKEtuLDE2LHRoaXMsIiIpKSxHZShLbiwxOSx0aGlzKTtsZXQgdD1QYS5zZWxlY3Qocj0+cikuc3Vic2NyaWJlKHI9Pnt0aGlzLm5ldHdvcmtTdGF0ZT1yfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaCh0KX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksYXdhaXQgUHJvbWlzZS5hbGwoW1BhLmRpc3BhdGNoQWN0aW9uKGF0dCxudWxsKSxQYS5kaXNwYXRjaEFjdGlvbihxRyxudWxsKSxQYS5kaXNwYXRjaEFjdGlvbih4NWEsbnVsbCksUGEuZGlzcGF0Y2hBY3Rpb24oeTVhLG51bGwpLFBhLmRpc3BhdGNoQWN0aW9uKHJ0dCxudWxsKSxQYS5kaXNwYXRjaEFjdGlvbihqaWUsbnVsbCldKX1yZW5kZXIoKXtzd2l0Y2godGhpcy5jdXJyZW50VGFiKXtjYXNlImRucyI6cmV0dXJuIHRoaXMucmVuZGVyRG5zVmlldygpO2Nhc2UiZG9tYWlucyI6cmV0dXJuIHRoaXMucmVuZGVyRG9tYWluc1ZpZXcoKTtjYXNlImRvbWFpbi1kZXRhaWwiOnJldHVybiB0aGlzLnJlbmRlckRvbWFpbkRldGFpbFZpZXcoKTtkZWZhdWx0OnJldHVybiB0aGlzLnJlbmRlclByb3h5VmlldygpfX1yZW5kZXJQcm94eVZpZXcoKXtsZXQgdD10aGlzLm5ldHdvcmtTdGF0ZS5zdGF0cztyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPk5ldHdvcms8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otbmV0d29yay1wcm94eS12aWV3CiAgICAgICAgLnByb3h5U3RhdHVzPSR7dD8ucHJveHk/LnJ1bm5pbmc/InJ1bm5pbmciOiJzdG9wcGVkIn0KICAgICAgICAucm91dGVDb3VudD0ke1N0cmluZyh0Py5wcm94eT8ucm91dGVzfHwwKX0KICAgICAgICAuY2VydGlmaWNhdGVDb3VudD0ke1N0cmluZyh0Py5wcm94eT8uY2VydGlmaWNhdGVzfHwwKX0KICAgICAgICAudGFyZ2V0Q291bnQ9JHtTdHJpbmcodGhpcy5uZXR3b3JrU3RhdGUudGFyZ2V0cy5sZW5ndGgpfQogICAgICAgIC50YXJnZXRzPSR7dGhpcy5uZXR3b3JrU3RhdGUudGFyZ2V0cy5tYXAocj0+KHt0eXBlOnIudHlwZSxuYW1lOnIubmFtZSxkb21haW46ci5kb21haW4sdGFyZ2V0OmAke3IudGFyZ2V0SG9zdH06JHtyLnRhcmdldFBvcnR9YCxzdGF0dXM6ci5zdGF0dXN9KSl9CiAgICAgICAgLmxvZ3M9JHtbXX0KICAgICAgICBAcmVmcmVzaD0keygpPT57UGEuZGlzcGF0Y2hBY3Rpb24oYXR0LG51bGwpLFBhLmRpc3BhdGNoQWN0aW9uKHFHLG51bGwpfX0KICAgICAgPjwvc3otbmV0d29yay1wcm94eS12aWV3PgogICAgYH1yZW5kZXJEbnNWaWV3KCl7cmV0dXJuIHdgCiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5ETlMgUmVjb3Jkczwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgIDxzei1uZXR3b3JrLWRucy12aWV3CiAgICAgICAgLnJlY29yZHM9JHt0aGlzLm5ldHdvcmtTdGF0ZS5kbnNSZWNvcmRzfQogICAgICAgIEBzeW5jPSR7KCk9PntQYS5kaXNwYXRjaEFjdGlvbih3NWEsbnVsbCl9fQogICAgICAgIEBkZWxldGU9JHt0PT57Y29uc29sZS5sb2coIkRlbGV0ZSBETlMgcmVjb3JkOiIsdC5kZXRhaWwpfX0KICAgICAgPjwvc3otbmV0d29yay1kbnMtdmlldz4KICAgIGB9cmVuZGVyRG9tYWluc1ZpZXcoKXtsZXQgdD10aGlzLm5ldHdvcmtTdGF0ZS5jZXJ0aWZpY2F0ZXM7cmV0dXJuIHdgCiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5Eb21haW5zPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPHN6LW5ldHdvcmstZG9tYWlucy12aWV3CiAgICAgICAgLmRvbWFpbnM9JHt0aGlzLm5ldHdvcmtTdGF0ZS5kb21haW5zLm1hcChyPT57bGV0IGk9dC5maW5kKG49Pm4uY2VydERvbWFpbj09PXIuZG9tYWluKSxvPSJwZW5kaW5nIjtyZXR1cm4gaSYmKGkuaXNWYWxpZD9pLmV4cGlyZXNBdCYmaS5leHBpcmVzQXQtRGF0ZS5ub3coKTw3MjAqNjAqNjAqMWUzP289ImV4cGlyaW5nIjpvPSJ2YWxpZCI6bz0iZXhwaXJlZCIpLHtkb21haW46ci5kb21haW4scHJvdmlkZXI6ImNsb3VkZmxhcmUiLHNlcnZpY2VDb3VudDpyLnNlcnZpY2VzPy5sZW5ndGh8fDAsY2VydGlmaWNhdGVTdGF0dXM6b319KX0KICAgICAgICBAc3luYz0keygpPT57UGEuZGlzcGF0Y2hBY3Rpb24ocnR0LG51bGwpfX0KICAgICAgICBAdmlldz0ke3I9Pnt0aGlzLnNlbGVjdGVkRG9tYWluPXIuZGV0YWlsLmRvbWFpbnx8ci5kZXRhaWwsdGhpcy5jdXJyZW50VGFiPSJkb21haW4tZGV0YWlsIn19CiAgICAgID48L3N6LW5ldHdvcmstZG9tYWlucy12aWV3PgogICAgYH1yZW5kZXJEb21haW5EZXRhaWxWaWV3KCl7bGV0IHQ9dGhpcy5uZXR3b3JrU3RhdGUuZG9tYWlucy5maW5kKGk9PmkuZG9tYWluPT09dGhpcy5zZWxlY3RlZERvbWFpbikscj10aGlzLm5ldHdvcmtTdGF0ZS5jZXJ0aWZpY2F0ZXMuZmluZChpPT5pLmNlcnREb21haW49PT10aGlzLnNlbGVjdGVkRG9tYWluKTtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkRvbWFpbiBEZXRhaWxzPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPHN6LWRvbWFpbi1kZXRhaWwtdmlldwogICAgICAgIC5kb21haW49JHt0P3tpZDp0aGlzLnNlbGVjdGVkRG9tYWluLG5hbWU6dGhpcy5zZWxlY3RlZERvbWFpbixzdGF0dXM6ImFjdGl2ZSIsdmVyaWZpZWQ6ITAsY3JlYXRlZEF0OiIifTpudWxsfQogICAgICAgIC5jZXJ0aWZpY2F0ZT0ke3I/e2lkOnIuZG9tYWluSWQsZG9tYWluOnIuY2VydERvbWFpbixpc3N1ZXI6IkxldCdzIEVuY3J5cHQiLHZhbGlkRnJvbTpyLmlzc3VlZEF0P25ldyBEYXRlKHIuaXNzdWVkQXQpLnRvSVNPU3RyaW5nKCk6IiIsdmFsaWRVbnRpbDpyLmV4cGlyZXNBdD9uZXcgRGF0ZShyLmV4cGlyZXNBdCkudG9JU09TdHJpbmcoKToiIixkYXlzUmVtYWluaW5nOnIuZXhwaXJlc0F0P01hdGguZmxvb3IoKHIuZXhwaXJlc0F0LURhdGUubm93KCkpLygxNDQwKjYwKjFlMykpOjAsc3RhdHVzOnIuaXNWYWxpZD8idmFsaWQiOiJleHBpcmVkIixhdXRvUmVuZXc6ITB9Om51bGx9CiAgICAgICAgLmRuc1JlY29yZHM9JHt0aGlzLm5ldHdvcmtTdGF0ZS5kbnNSZWNvcmRzLmZpbHRlcihpPT5pLmRvbWFpbj8uaW5jbHVkZXModGhpcy5zZWxlY3RlZERvbWFpbikpLm1hcChpPT4oe2lkOmkuaWR8fCIiLHR5cGU6aS50eXBlLG5hbWU6aS5kb21haW4sdmFsdWU6aS52YWx1ZSx0dGw6MzYwMH0pKX0KICAgICAgICBAcmVuZXctY2VydGlmaWNhdGU9JHsoKT0+e1BhLmRpc3BhdGNoQWN0aW9uKFM1YSx7ZG9tYWluOnRoaXMuc2VsZWN0ZWREb21haW59KX19CiAgICAgID48L3N6LWRvbWFpbi1kZXRhaWwtdmlldz4KICAgIGB9fTtLbj1BcihDaGEpLE90dD1uZXcgV2Vha01hcCxGdHQ9bmV3IFdlYWtNYXAsQnR0PW5ldyBXZWFrTWFwLFN0KEtuLDQsIm5ldHdvcmtTdGF0ZSIsemhhLGdsLE90dCksU3QoS24sNCwiY3VycmVudFRhYiIsU2hhLGdsLEZ0dCksU3QoS24sNCwic2VsZWN0ZWREb21haW4iLGtoYSxnbCxCdHQpLGdsPVN0KEtuLDAsIk9iVmlld05ldHdvcmsiLF9oYSxnbCkscyhnbCwiT2JWaWV3TmV0d29yayIpLEVyKGdsLCJzdHlsZXMiLFtoLmRlZmF1bHRTdHlsZXMsWXMsWGBgXSksR2UoS24sMSxnbCk7SHR0PWdsfSk7dmFyIEVoYT17fTtydChFaGEse09iVmlld1JlZ2lzdHJpZXM6KCk9PlV0dH0pO3ZhciBMaGEsJGhhLERoYSxBaGEsWGMsVnR0LGp0dCxRYyxVdHQsV3R0PWYoYXN5bmMoKT0+e3VuKCk7YTIoKTthd2FpdCBHbigpO2F3YWl0IFY1KCk7bGUoKTtBaGE9W2llKCJvYi12aWV3LXJlZ2lzdHJpZXMiKV07UWM9Y2xhc3MgUWMgZXh0ZW5kcyhEaGE9cGUsJGhhPVtLKCldLExoYT1bSygpXSxEaGEpe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTtPdCh0aGlzLFZ0dCxHZShYYyw4LHRoaXMse3Rva2VuczpbXSxyZWdpc3RyeVN0YXR1czpudWxsfSkpLEdlKFhjLDExLHRoaXMpO090KHRoaXMsanR0LEdlKFhjLDEyLHRoaXMsIm9uZWJveCIpKSxHZShYYywxNSx0aGlzKTtsZXQgdD1zMi5zZWxlY3Qocj0+cikuc3Vic2NyaWJlKHI9Pnt0aGlzLnJlZ2lzdHJpZXNTdGF0ZT1yfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaCh0KX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksYXdhaXQgczIuZGlzcGF0Y2hBY3Rpb24oVWllLG51bGwpfXJlbmRlcigpe3JldHVybiB0aGlzLmN1cnJlbnRUYWI9PT0iZXh0ZXJuYWwiP3RoaXMucmVuZGVyRXh0ZXJuYWxWaWV3KCk6dGhpcy5yZW5kZXJPbmVib3hWaWV3KCl9cmVuZGVyT25lYm94Vmlldygpe3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+UmVnaXN0cmllczwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgIDxzei1yZWdpc3RyeS1hZHZlcnRpc2VtZW50CiAgICAgICAgLnN0YXR1cz0keyJydW5uaW5nIn0KICAgICAgICAucmVnaXN0cnlVcmw9JHsibG9jYWxob3N0OjUwMDAifQogICAgICAgIEBtYW5hZ2UtdG9rZW5zPSR7KCk9PntSby5uYXZpZ2F0ZVRvVmlldygidG9rZW5zIil9fQogICAgICA+PC9zei1yZWdpc3RyeS1hZHZlcnRpc2VtZW50PgogICAgYH1yZW5kZXJFeHRlcm5hbFZpZXcoKXtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkV4dGVybmFsIFJlZ2lzdHJpZXM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldwogICAgICAgIC5yZWdpc3RyaWVzPSR7W119CiAgICAgICAgQGFkZD0ke3Q9Pntjb25zb2xlLmxvZygiQWRkIGV4dGVybmFsIHJlZ2lzdHJ5OiIsdC5kZXRhaWwpfX0KICAgICAgPjwvc3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldz4KICAgIGB9fTtYYz1BcihEaGEpLFZ0dD1uZXcgV2Vha01hcCxqdHQ9bmV3IFdlYWtNYXAsU3QoWGMsNCwicmVnaXN0cmllc1N0YXRlIiwkaGEsUWMsVnR0KSxTdChYYyw0LCJjdXJyZW50VGFiIixMaGEsUWMsanR0KSxRYz1TdChYYywwLCJPYlZpZXdSZWdpc3RyaWVzIixBaGEsUWMpLHMoUWMsIk9iVmlld1JlZ2lzdHJpZXMiKSxFcihRYywic3R5bGVzIixbaC5kZWZhdWx0U3R5bGVzLFlzLFhgYF0pLEdlKFhjLDEsUWMpO1V0dD1RY30pO3ZhciBSaGE9e307cnQoUmhhLHtPYlZpZXdUb2tlbnM6KCk9Pll0dH0pO3ZhciBQaGEsSWhhLE5oYSxDNyxHdHQsZTMsWXR0LEt0dD1mKGFzeW5jKCk9Pnt1bigpO2EyKCk7YXdhaXQgR24oKTtsZSgpO05oYT1baWUoIm9iLXZpZXctdG9rZW5zIildO2UzPWNsYXNzIGUzIGV4dGVuZHMoSWhhPXBlLFBoYT1bSygpXSxJaGEpe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTtPdCh0aGlzLEd0dCxHZShDNyw4LHRoaXMse3Rva2VuczpbXSxyZWdpc3RyeVN0YXR1czpudWxsfSkpLEdlKEM3LDExLHRoaXMpO2xldCB0PXMyLnNlbGVjdChyPT5yKS5zdWJzY3JpYmUocj0+e3RoaXMucmVnaXN0cmllc1N0YXRlPXJ9KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKHQpfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxhd2FpdCBzMi5kaXNwYXRjaEFjdGlvbihVaWUsbnVsbCl9cmVuZGVyKCl7bGV0IHQ9dGhpcy5yZWdpc3RyaWVzU3RhdGUudG9rZW5zLmZpbHRlcihpPT5pLnR5cGU9PT0iZ2xvYmFsIikscj10aGlzLnJlZ2lzdHJpZXNTdGF0ZS50b2tlbnMuZmlsdGVyKGk9PmkudHlwZT09PSJjaSIpO3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+VG9rZW5zPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPHN6LXRva2Vucy12aWV3CiAgICAgICAgLmdsb2JhbFRva2Vucz0ke3QubWFwKGk9Pih7aWQ6aS5pZCxuYW1lOmkubmFtZSx0eXBlOiJnbG9iYWwiLGNyZWF0ZWRBdDppLmNyZWF0ZWRBdCxsYXN0VXNlZDppLmxhc3RVc2VkfSkpfQogICAgICAgIC5jaVRva2Vucz0ke3IubWFwKGk9Pih7aWQ6aS5pZCxuYW1lOmkubmFtZSx0eXBlOiJjaSIsc2VydmljZTppLnNlcnZpY2UsY3JlYXRlZEF0OmkuY3JlYXRlZEF0LGxhc3RVc2VkOmkubGFzdFVzZWR9KSl9CiAgICAgICAgQGNyZWF0ZT0ke2k9PntzMi5kaXNwYXRjaEFjdGlvbih6NWEse3Rva2VuOntuYW1lOmBuZXctJHtpLmRldGFpbC50eXBlfS10b2tlbmAsdHlwZTppLmRldGFpbC50eXBlLHBlcm1pc3Npb25zOlsicHVsbCJdfX0pfX0KICAgICAgICBAZGVsZXRlPSR7aT0+e3MyLmRpc3BhdGNoQWN0aW9uKEM1YSx7dG9rZW5JZDppLmRldGFpbC5pZHx8aS5kZXRhaWwudG9rZW5JZH0pfX0KICAgICAgPjwvc3otdG9rZW5zLXZpZXc+CiAgICBgfX07Qzc9QXIoSWhhKSxHdHQ9bmV3IFdlYWtNYXAsU3QoQzcsNCwicmVnaXN0cmllc1N0YXRlIixQaGEsZTMsR3R0KSxlMz1TdChDNywwLCJPYlZpZXdUb2tlbnMiLE5oYSxlMykscyhlMywiT2JWaWV3VG9rZW5zIiksRXIoZTMsInN0eWxlcyIsW2guZGVmYXVsdFN0eWxlcyxZcyxYYGBdKSxHZShDNywxLGUzKTtZdHQ9ZTN9KTt2YXIgcWhhPXt9O3J0KHFoYSx7T2JWaWV3U2V0dGluZ3M6KCk9PlF0dH0pO3ZhciBPaGEsRmhhLEJoYSxIaGEsSmMsWnR0LFh0dCxlMCxRdHQsSnR0PWYoYXN5bmMoKT0+e3VuKCk7YTIoKTthd2FpdCBHbigpO2xlKCk7SGhhPVtpZSgib2Itdmlldy1zZXR0aW5ncyIpXTtlMD1jbGFzcyBlMCBleHRlbmRzKEJoYT1wZSxGaGE9W0soKV0sT2hhPVtLKCldLEJoYSl7Y29uc3RydWN0b3IoKXtzdXBlcigpO090KHRoaXMsWnR0LEdlKEpjLDgsdGhpcyx7c2V0dGluZ3M6bnVsbCxiYWNrdXBQYXNzd29yZENvbmZpZ3VyZWQ6ITF9KSksR2UoSmMsMTEsdGhpcyk7T3QodGhpcyxYdHQsR2UoSmMsMTIsdGhpcyx7aWRlbnRpdHk6bnVsbCxpc0xvZ2dlZEluOiExfSkpLEdlKEpjLDE1LHRoaXMpO2xldCB0PWZsLnNlbGVjdChpPT5pKS5zdWJzY3JpYmUoaT0+e3RoaXMuc2V0dGluZ3NTdGF0ZT1pfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaCh0KTtsZXQgcj14cy5zZWxlY3QoaT0+aSkuc3Vic2NyaWJlKGk9Pnt0aGlzLmxvZ2luU3RhdGU9aX0pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2gocil9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGF3YWl0IGZsLmRpc3BhdGNoQWN0aW9uKHN0dCxudWxsKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPlNldHRpbmdzPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgJHt0aGlzLnJlbmRlckV4dGVybmFsR2F0ZXdheVNldHRpbmdzKCl9CiAgICAgIDxzei1zZXR0aW5ncy12aWV3CiAgICAgICAgLnNldHRpbmdzPSR7dGhpcy5zZXR0aW5nc1N0YXRlLnNldHRpbmdzfHx7ZGFya01vZGU6ITAsY2xvdWRmbGFyZVRva2VuOiIiLGNsb3VkZmxhcmVab25lSWQ6IiIsZGNyb3V0ZXJHYXRld2F5Q2xpZW50SWQ6IiIsZGNyb3V0ZXJXb3JrSG9zdGVySWQ6IiIsYXV0b1JlbmV3Q2VydHM6ITEscmVuZXdhbFRocmVzaG9sZDozMCxhY21lRW1haWw6IiIsaHR0cFBvcnQ6ODAsaHR0cHNQb3J0OjQ0Myxmb3JjZUh0dHBzOiExfX0KICAgICAgICAuY3VycmVudFVzZXI9JHt0aGlzLmxvZ2luU3RhdGUuaWRlbnRpdHk/LnVzZXJuYW1lfHwiYWRtaW4ifQogICAgICAgIEBzZXR0aW5nLWNoYW5nZT0ke3Q9PntsZXR7a2V5OnIsdmFsdWU6aX09dC5kZXRhaWw7ZmwuZGlzcGF0Y2hBY3Rpb24oV2llLHtzZXR0aW5nczp7W3JdOml9fSl9fQogICAgICAgIEBzYXZlPSR7dD0+e2ZsLmRpc3BhdGNoQWN0aW9uKFdpZSx7c2V0dGluZ3M6dC5kZXRhaWx9KX19CiAgICAgICAgQGNoYW5nZS1wYXNzd29yZD0ke3Q9Pntjb25zb2xlLmxvZygiQ2hhbmdlIHBhc3N3b3JkIHJlcXVlc3RlZDoiLHQuZGV0YWlsKX19CiAgICAgICAgQHJlc2V0PSR7KCk9PntmbC5kaXNwYXRjaEFjdGlvbihzdHQsbnVsbCl9fQogICAgICA+PC9zei1zZXR0aW5ncy12aWV3PgogICAgYH1yZW5kZXJFeHRlcm5hbEdhdGV3YXlTZXR0aW5ncygpe2xldCB0PXRoaXMuc2V0dGluZ3NTdGF0ZS5zZXR0aW5ncztyZXR1cm4gd2AKICAgICAgPHNlY3Rpb24gY2xhc3M9ImdhdGV3YXktY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ2F0ZXdheS1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZ2F0ZXdheS10aXRsZSI+RGVsZWdhdGUgUm91dGluZzwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZ2F0ZXdheS1zdWJ0aXRsZSI+RGVsZWdhdGUgcHVibGljIGFwcCByb3V0aW5nLCBETlMsIGFuZCBjZXJ0aWZpY2F0ZXMgdG8gYSBkY3JvdXRlciBlZGdlIGF1dGhvcml0eS48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJnYXRld2F5LWNvbnRlbnQiPgogICAgICAgICAgJHt0aGlzLnJlbmRlckdhdGV3YXlJbnB1dCgiZGNyb3V0ZXJHYXRld2F5VXJsIiwiR2F0ZXdheSBVUkwiLHQ/LmRjcm91dGVyR2F0ZXdheVVybHx8IiIsIkJhc2UgVVJMIG9mIHRoZSBkY3JvdXRlciBPcHNTZXJ2ZXIuIil9CiAgICAgICAgICAke3RoaXMucmVuZGVyR2F0ZXdheUlucHV0KCJkY3JvdXRlckdhdGV3YXlBcGlUb2tlbiIsIkFQSSBUb2tlbiIsdD8uZGNyb3V0ZXJHYXRld2F5QXBpVG9rZW58fCIiLCJSZXF1aXJlcyBnYXRld2F5LWNsaWVudCBhY2Nlc3MgaW4gZGNyb3V0ZXIuIiwhMCl9CiAgICAgICAgICAke3RoaXMucmVuZGVyR2F0ZXdheUlucHV0KCJkY3JvdXRlckdhdGV3YXlDbGllbnRJZCIsIkdhdGV3YXkgQ2xpZW50IElEIix0Py5kY3JvdXRlckdhdGV3YXlDbGllbnRJZHx8dD8uZGNyb3V0ZXJXb3JrSG9zdGVySWR8fCIiLCJMZWF2ZSBlbXB0eSB0byBsZXQgT25lYm94IGNyZWF0ZSBhIHN0YWJsZSBJRC4iKX0KICAgICAgICAgICR7dGhpcy5yZW5kZXJHYXRld2F5SW5wdXQoImRjcm91dGVyVGFyZ2V0SG9zdCIsIlRhcmdldCBIb3N0Iix0Py5kY3JvdXRlclRhcmdldEhvc3R8fCIiLCJEZWZhdWx0cyB0byB0aGUgY29uZmlndXJlZCBzZXJ2ZXIgSVAgd2hlbiBlbXB0eS4iKX0KICAgICAgICAgICR7dGhpcy5yZW5kZXJHYXRld2F5SW5wdXQoImRjcm91dGVyVGFyZ2V0UG9ydCIsIlRhcmdldCBQb3J0IixTdHJpbmcodD8uZGNyb3V0ZXJUYXJnZXRQb3J0fHw4MCksIkludGVybmFsIEhUVFAgcG9ydCBkY3JvdXRlciBmb3J3YXJkcyB0by4iKX0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJnYXRld2F5LWZvb3RlciI+CiAgICAgICAgICA8ZGVlcy1idXR0b24KICAgICAgICAgICAgLnRleHQ9JHsiU2F2ZSBHYXRld2F5IFNldHRpbmdzIn0KICAgICAgICAgICAgLnR5cGU9JHsiZGVmYXVsdCJ9CiAgICAgICAgICAgIC5pY29uPSR7Imx1Y2lkZTpTYXZlIn0KICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuc2F2ZUV4dGVybmFsR2F0ZXdheVNldHRpbmdzKCl9CiAgICAgICAgICA+PC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9zZWN0aW9uPgogICAgYH1yZW5kZXJHYXRld2F5SW5wdXQodCxyLGksbyxuPSExKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZ2F0ZXdheS1maWVsZCAke3Q9PT0iZGNyb3V0ZXJHYXRld2F5VXJsIj8iZnVsbCI6IiJ9Ij4KICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAua2V5PSR7dH0KICAgICAgICAgIC5sYWJlbD0ke3J9CiAgICAgICAgICAudmFsdWU9JHtpfQogICAgICAgICAgLmRlc2NyaXB0aW9uPSR7b30KICAgICAgICAgIC5pc1Bhc3N3b3JkQm9vbD0ke259CiAgICAgICAgICBAaW5wdXQ9JHtsPT50aGlzLnVwZGF0ZUdhdGV3YXlEcmFmdCh0LGwudGFyZ2V0LnZhbHVlKX0KICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgIDwvZGl2PgogICAgYH11cGRhdGVHYXRld2F5RHJhZnQodCxyKXtsZXQgaT10aGlzLnNldHRpbmdzU3RhdGUuc2V0dGluZ3N8fHt9LG89dD09PSJkY3JvdXRlclRhcmdldFBvcnQiP051bWJlcihyKXx8MDpyO3RoaXMuc2V0dGluZ3NTdGF0ZT17Li4udGhpcy5zZXR0aW5nc1N0YXRlLHNldHRpbmdzOnsuLi5pLFt0XTpvfX19YXN5bmMgc2F2ZUV4dGVybmFsR2F0ZXdheVNldHRpbmdzKCl7bGV0IHQ9dGhpcy5zZXR0aW5nc1N0YXRlLnNldHRpbmdzO3QmJmF3YWl0IGZsLmRpc3BhdGNoQWN0aW9uKFdpZSx7c2V0dGluZ3M6e2Rjcm91dGVyR2F0ZXdheVVybDp0LmRjcm91dGVyR2F0ZXdheVVybHx8IiIsZGNyb3V0ZXJHYXRld2F5QXBpVG9rZW46dC5kY3JvdXRlckdhdGV3YXlBcGlUb2tlbnx8IiIsZGNyb3V0ZXJHYXRld2F5Q2xpZW50SWQ6dC5kY3JvdXRlckdhdGV3YXlDbGllbnRJZHx8dC5kY3JvdXRlcldvcmtIb3N0ZXJJZHx8IiIsZGNyb3V0ZXJUYXJnZXRIb3N0OnQuZGNyb3V0ZXJUYXJnZXRIb3N0fHwiIixkY3JvdXRlclRhcmdldFBvcnQ6TnVtYmVyKHQuZGNyb3V0ZXJUYXJnZXRQb3J0KXx8ODB9fSl9fTtKYz1BcihCaGEpLFp0dD1uZXcgV2Vha01hcCxYdHQ9bmV3IFdlYWtNYXAsU3QoSmMsNCwic2V0dGluZ3NTdGF0ZSIsRmhhLGUwLFp0dCksU3QoSmMsNCwibG9naW5TdGF0ZSIsT2hhLGUwLFh0dCksZTA9U3QoSmMsMCwiT2JWaWV3U2V0dGluZ3MiLEhoYSxlMCkscyhlMCwiT2JWaWV3U2V0dGluZ3MiKSxFcihlMCwic3R5bGVzIixbaC5kZWZhdWx0U3R5bGVzLFlzLFhgCiAgICAgIC5nYXRld2F5LWNhcmQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMnB4ICR7aC5iZFRoZW1lKCJyZ2JhKDAsMCwwLDAuMDQpIiwicmdiYSgwLDAsMCwwLjIpIil9OwogICAgICB9CgogICAgICAuZ2F0ZXdheS1oZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDE2cHggMjBweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzEwMTAxMyIpfTsKICAgICAgfQoKICAgICAgLmdhdGV3YXktdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5nYXRld2F5LXN1YnRpdGxlIHsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5nYXRld2F5LWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICAuZ2F0ZXdheS1maWVsZC5mdWxsIHsKICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xOwogICAgICB9CgogICAgICBkZWVzLWlucHV0LXRleHQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAuZ2F0ZXdheS1mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBwYWRkaW5nOiAwIDIwcHggMjBweDsKICAgICAgfQoKICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDcwMHB4KSB7CiAgICAgICAgLmdhdGV3YXktY29udGVudCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICB9CiAgICAgIH0KICAgIGBdKSxHZShKYywxLGUwKTtRdHQ9ZTB9KTt1bigpO2F3YWl0IEduKCk7dzcoKTthd2FpdCBWNSgpO2xlKCk7dmFyIGpoYSxVaGEsV2hhLEdoYSxZaGEsS2hhLGhvLGVhdCx0YXQsYWF0LHJhdDtLaGE9W2llKCJvYi1hcHAtc2hlbGwiKV07dmFyIG8yPWNsYXNzIG8yIGV4dGVuZHMoWWhhPXBlLEdoYT1bSygpXSxXaGE9W0soKV0sVWhhPVtLKCldLGpoYT1bSygpXSxZaGEpe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTtPdCh0aGlzLGVhdCxHZShobyw4LHRoaXMse2lkZW50aXR5Om51bGwsaXNMb2dnZWRJbjohMX0pKSxHZShobywxMSx0aGlzKTtPdCh0aGlzLHRhdCxHZShobywxMix0aGlzLHthY3RpdmVWaWV3OiJkYXNoYm9hcmQiLGF1dG9SZWZyZXNoOiEwLHJlZnJlc2hJbnRlcnZhbDozZTR9KSksR2UoaG8sMTUsdGhpcyk7T3QodGhpcyxhYXQsR2UoaG8sMTYsdGhpcywhMSkpLEdlKGhvLDE5LHRoaXMpO090KHRoaXMscmF0LEdlKGhvLDIwLHRoaXMsIiIpKSxHZShobywyMyx0aGlzKTtFcih0aGlzLCJ2aWV3VGFicyIsW3tuYW1lOiJEYXNoYm9hcmQiLGljb25OYW1lOiJsdWNpZGU6bGF5b3V0RGFzaGJvYXJkIixlbGVtZW50Oihhc3luYygpPT4oYXdhaXQgdXR0KCkudGhlbigoKT0+TzVhKSkuT2JWaWV3RGFzaGJvYXJkKSgpfSx7bmFtZToiQXBwIFN0b3JlIixpY29uTmFtZToibHVjaWRlOnN0b3JlIixlbGVtZW50Oihhc3luYygpPT4oYXdhaXQgSjVhKCkudGhlbigoKT0+UTVhKSkuT2JWaWV3QXBwU3RvcmUpKCl9LHtuYW1lOiJTZXJ2aWNlcyIsaWNvbk5hbWU6Imx1Y2lkZTpib3hlcyIsZWxlbWVudDooYXN5bmMoKT0+KGF3YWl0IEV0dCgpLnRoZW4oKCk9PnBoYSkpLk9iVmlld1NlcnZpY2VzKSgpfSx7bmFtZToiRG9tYWlucyIsaWNvbk5hbWU6Imx1Y2lkZTpnbG9iZSIsZWxlbWVudDooYXN5bmMoKT0+KGF3YWl0IGJoYSgpLnRoZW4oKCk9PmdoYSkpLk9iVmlld0RvbWFpbnMpKCl9LHtuYW1lOiJETlMgUmVjb3JkcyIsaWNvbk5hbWU6Imx1Y2lkZTpsaXN0VHJlZSIsZWxlbWVudDooYXN5bmMoKT0+KGF3YWl0IE1oYSgpLnRoZW4oKCk9PndoYSkpLk9iVmlld0Ruc1JlY29yZHMpKCl9LHtuYW1lOiJOZXR3b3JrIixpY29uTmFtZToibHVjaWRlOm5ldHdvcmsiLGVsZW1lbnQ6KGFzeW5jKCk9Pihhd2FpdCBxdHQoKS50aGVuKCgpPT5UaGEpKS5PYlZpZXdOZXR3b3JrKSgpfSx7bmFtZToiUmVnaXN0cmllcyIsaWNvbk5hbWU6Imx1Y2lkZTpwYWNrYWdlIixlbGVtZW50Oihhc3luYygpPT4oYXdhaXQgV3R0KCkudGhlbigoKT0+RWhhKSkuT2JWaWV3UmVnaXN0cmllcykoKX0se25hbWU6IlRva2VucyIsaWNvbk5hbWU6Imx1Y2lkZTprZXkiLGVsZW1lbnQ6KGFzeW5jKCk9Pihhd2FpdCBLdHQoKS50aGVuKCgpPT5SaGEpKS5PYlZpZXdUb2tlbnMpKCl9LHtuYW1lOiJTZXR0aW5ncyIsaWNvbk5hbWU6Imx1Y2lkZTpzZXR0aW5ncyIsZWxlbWVudDooYXN5bmMoKT0+KGF3YWl0IEp0dCgpLnRoZW4oKCk9PnFoYSkpLk9iVmlld1NldHRpbmdzKSgpfV0pO0VyKHRoaXMsInJlc29sdmVkVmlld1RhYnMiLFtdKTtkb2N1bWVudC50aXRsZT0iT25lYm94IjtsZXQgdD14cy5zZWxlY3QoaT0+aSkuc3Vic2NyaWJlKGk9Pnt0aGlzLmxvZ2luU3RhdGU9aSxpLmlzTG9nZ2VkSW4mJlpjLmRpc3BhdGNoQWN0aW9uKGs3LG51bGwpfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaCh0KTtsZXQgcj1Xbi5zZWxlY3QoaT0+aSkuc3Vic2NyaWJlKGk9Pnt0aGlzLnVpU3RhdGU9aSx0aGlzLnN5bmNBcHBkYXNoVmlldyhpLmFjdGl2ZVZpZXcpfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaChyKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciI+CiAgICAgICAgPGRlZXMtc2ltcGxlLWxvZ2luIG5hbWU9Ik9uZWJveCI+CiAgICAgICAgICA8ZGVlcy1zaW1wbGUtYXBwZGFzaAogICAgICAgICAgICBuYW1lPSJPbmVib3giCiAgICAgICAgICAgIC52aWV3VGFicz0ke3RoaXMucmVzb2x2ZWRWaWV3VGFic30KICAgICAgICAgICAgLnNlbGVjdGVkVmlldz0ke3RoaXMucmVzb2x2ZWRWaWV3VGFicy5maW5kKHQ9PnQubmFtZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xzKy9nLCItIik9PT10aGlzLnVpU3RhdGUuYWN0aXZlVmlldyl8fHRoaXMucmVzb2x2ZWRWaWV3VGFic1swXX0KICAgICAgICAgID4KICAgICAgICAgIDwvZGVlcy1zaW1wbGUtYXBwZGFzaD4KICAgICAgICA8L2RlZXMtc2ltcGxlLWxvZ2luPgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7dGhpcy5yZXNvbHZlZFZpZXdUYWJzPWF3YWl0IFByb21pc2UuYWxsKHRoaXMudmlld1RhYnMubWFwKGFzeW5jIG89Pih7bmFtZTpvLm5hbWUsaWNvbk5hbWU6by5pY29uTmFtZSxlbGVtZW50OmF3YWl0IG8uZWxlbWVudH0pKSksdGhpcy5yZXF1ZXN0VXBkYXRlKCksYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtsZXQgdD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1zaW1wbGUtbG9naW4iKTt0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoImxvZ2luIixvPT57dGhpcy5sb2dpbihvLmRldGFpbC5kYXRhLnVzZXJuYW1lLG8uZGV0YWlsLmRhdGEucGFzc3dvcmQpfSk7bGV0IHI9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtc2ltcGxlLWFwcGRhc2giKTtpZihyJiYoci5hZGRFdmVudExpc3RlbmVyKCJ2aWV3LXNlbGVjdCIsbz0+e2xldCBuPW8uZGV0YWlsLnZpZXcubmFtZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xzKy9nLCItIik7Um8ubmF2aWdhdGVUb1ZpZXcobil9KSxyLmFkZEV2ZW50TGlzdGVuZXIoImxvZ291dCIsYXN5bmMoKT0+e2F3YWl0IHhzLmRpc3BhdGNoQWN0aW9uKEhpZSxudWxsKX0pKSxyJiZ0aGlzLnJlc29sdmVkVmlld1RhYnMubGVuZ3RoPjApe2xldCBvPVduLmdldFN0YXRlKCkuYWN0aXZlVmlldyxuPXRoaXMucmVzb2x2ZWRWaWV3VGFicy5maW5kKGw9PmwubmFtZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xzKy9nLCItIik9PT1vKXx8dGhpcy5yZXNvbHZlZFZpZXdUYWJzWzBdO2F3YWl0IHIubG9hZFZpZXcobil9bGV0IGk9eHMuZ2V0U3RhdGUoKTtpZihpLmlkZW50aXR5Py5qd3QpaWYoaS5pZGVudGl0eS5leHBpcmVzQXQ+RGF0ZS5ub3coKSl7dGhpcy5sb2dpblN0YXRlPWksdCYmYXdhaXQgdC5zd2l0Y2hUb1Nsb3R0ZWRDb250ZW50KCk7dHJ5e2xldCBuPWF3YWl0IG5ldyBkdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTeXN0ZW1TdGF0dXMiKS5maXJlKHtpZGVudGl0eTppLmlkZW50aXR5fSk7WmMuc2V0U3RhdGUoe3N0YXR1czpuLnN0YXR1c30pfWNhdGNoKG8pe2NvbnNvbGUud2FybigiU3RvcmVkIHNlc3Npb24gaW52YWxpZCwgcmV0dXJuaW5nIHRvIGxvZ2luOiIsbyksYXdhaXQgeHMuZGlzcGF0Y2hBY3Rpb24oSGllLG51bGwpLHQmJndpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKX19ZWxzZSBhd2FpdCB4cy5kaXNwYXRjaEFjdGlvbihIaWUsbnVsbCl9YXN5bmMgbG9naW4odCxyKXtsZXQgaT1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZSxvPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLXNpbXBsZS1sb2dpbiIpLG49bz8uc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy1mb3JtIik7biYmbi5zZXRTdGF0dXMoInBlbmRpbmciLCJMb2dnaW5nIGluLi4uIiksKGF3YWl0IHhzLmRpc3BhdGNoQWN0aW9uKHU1YSx7dXNlcm5hbWU6dCxwYXNzd29yZDpyfSkpLmlkZW50aXR5PyhuJiZuLnNldFN0YXR1cygic3VjY2VzcyIsIkxvZ2dlZCBpbiEiKSxvJiZhd2FpdCBvLnN3aXRjaFRvU2xvdHRlZENvbnRlbnQoKSxhd2FpdCBaYy5kaXNwYXRjaEFjdGlvbihrNyxudWxsKSk6biYmKG4uc2V0U3RhdHVzKCJlcnJvciIsIkxvZ2luIGZhaWxlZCEiKSxhd2FpdCBpLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMmUzKSxuLnJlc2V0KCkpfXN5bmNBcHBkYXNoVmlldyh0KXtsZXQgcj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtc2ltcGxlLWFwcGRhc2giKTtpZighcnx8dGhpcy5yZXNvbHZlZFZpZXdUYWJzLmxlbmd0aD09PTApcmV0dXJuO2xldCBpPXRoaXMucmVzb2x2ZWRWaWV3VGFicy5maW5kKG89Pm8ubmFtZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xzKy9nLCItIik9PT10KTtpJiZyLmxvYWRWaWV3KGkpfX07aG89QXIoWWhhKSxlYXQ9bmV3IFdlYWtNYXAsdGF0PW5ldyBXZWFrTWFwLGFhdD1uZXcgV2Vha01hcCxyYXQ9bmV3IFdlYWtNYXAsU3QoaG8sNCwibG9naW5TdGF0ZSIsR2hhLG8yLGVhdCksU3QoaG8sNCwidWlTdGF0ZSIsV2hhLG8yLHRhdCksU3QoaG8sNCwibG9naW5Mb2FkaW5nIixVaGEsbzIsYWF0KSxTdChobyw0LCJsb2dpbkVycm9yIixqaGEsbzIscmF0KSxvMj1TdChobywwLCJPYkFwcFNoZWxsIixLaGEsbzIpLHMobzIsIk9iQXBwU2hlbGwiKSxFcihvMiwic3R5bGVzIixbaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KICAgICAgLm1haW5jb250YWluZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgIH0KICAgIGBdKSxHZShobywxLG8yKTt2YXIgVmhhPW8yO2EyKCk7dXR0KCk7RXR0KCk7cXR0KCk7V3R0KCk7S3R0KCk7SnR0KCk7dW4oKTtsZSgpO2F3YWl0IFY1KCk7Um8uaW5pdCgpLGhkLnJlbmRlcih3YAogIDxvYi1hcHAtc2hlbGw+PC9vYi1hcHAtc2hlbGw+CmAsZG9jdW1lbnQuYm9keSk7Ci8qISBCdW5kbGVkIGxpY2Vuc2UgaW5mb3JtYXRpb246CgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvY3NzLXRhZy5qczoKICAoKioKICAgKiBAbGljZW5zZQogICAqIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTEMKICAgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCiAgICopCgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvcmVhY3RpdmUtZWxlbWVudC5qczoKbGl0LWh0bWwvbGl0LWh0bWwuanM6CmxpdC1lbGVtZW50L2xpdC1lbGVtZW50LmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9wcm9wZXJ0eS5qczoKbGl0LWh0bWwvZGlyZWN0aXZlLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL3Vuc2FmZS1odG1sLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9jdXN0b20tZWxlbWVudC5qczoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvc3RhdGUuanM6CkBsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL2V2ZW50LW9wdGlvbnMuanM6CkBsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL2Jhc2UuanM6CkBsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL3F1ZXJ5LmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9xdWVyeS1hbGwuanM6CkBsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL3F1ZXJ5LWFzeW5jLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9xdWVyeS1hc3NpZ25lZC1ub2Rlcy5qczoKbGl0LWh0bWwvYXN5bmMtZGlyZWN0aXZlLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL3VudGlsLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL2FzeW5jLXJlcGxhY2UuanM6CmxpdC1odG1sL2RpcmVjdGl2ZXMvYXN5bmMtYXBwZW5kLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL3JlcGVhdC5qczoKICAoKioKICAgKiBAbGljZW5zZQogICAqIENvcHlyaWdodCAyMDE3IEdvb2dsZSBMTEMKICAgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCiAgICopCgpsaXQtaHRtbC9pcy1zZXJ2ZXIuanM6CiAgKCoqCiAgICogQGxpY2Vuc2UKICAgKiBDb3B5cmlnaHQgMjAyMiBHb29nbGUgTExDCiAgICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQogICAqKQoKc3dlZXQtc2Nyb2xsL3N3ZWV0LXNjcm9sbC5qczoKICAoKiEgQHByZXNlcnZlIHN3ZWV0LXNjcm9sbCB2NC4wLjAgLSB0c3V5b3NoaXdhZGEgfCBNSVQgTGljZW5zZSAqKQogICgqISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZQogICAgICB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZQogICAgICBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogIAogICAgICBUSElTIENPREUgSVMgUFJPVklERUQgT04gQU4gKkFTIElTKiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZCiAgICAgIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gQU5ZIElNUExJRUQKICAgICAgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwKICAgICAgTUVSQ0hBTlRBQkxJVFkgT1IgTk9OLUlORlJJTkdFTUVOVC4KICAKICAgICAgU2VlIHRoZSBBcGFjaGUgVmVyc2lvbiAyLjAgTGljZW5zZSBmb3Igc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zCiAgICAgIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKikKCmxpdC1odG1sL3N0YXRpYy5qczoKbGl0LWh0bWwvZGlyZWN0aXZlLWhlbHBlcnMuanM6CiAgKCoqCiAgICogQGxpY2Vuc2UKICAgKiBDb3B5cmlnaHQgMjAyMCBHb29nbGUgTExDCiAgICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQogICAqKQoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvcXVlcnktYXNzaWduZWQtZWxlbWVudHMuanM6CmxpdC1odG1sL2RpcmVjdGl2ZXMvcHJpdmF0ZS1hc3luYy1oZWxwZXJzLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL2tleWVkLmpzOgogICgqKgogICAqIEBsaWNlbnNlCiAgICogQ29weXJpZ2h0IDIwMjEgR29vZ2xlIExMQwogICAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKICAgKikKCkBmb3J0YXdlc29tZS9mb250YXdlc29tZS1zdmctY29yZS9pbmRleC5tanM6CkBmb3J0YXdlc29tZS9mcmVlLWJyYW5kcy1zdmctaWNvbnMvaW5kZXgubWpzOgpAZm9ydGF3ZXNvbWUvZnJlZS1yZWd1bGFyLXN2Zy1pY29ucy9pbmRleC5tanM6CkBmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucy9pbmRleC5tanM6CiAgKCohCiAgICogRm9udCBBd2Vzb21lIEZyZWUgNy4yLjAgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20KICAgKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKQogICAqIENvcHlyaWdodCAyMDI2IEZvbnRpY29ucywgSW5jLgogICAqKQoKbHVjaWRlL2Rpc3QvZXNtL2RlZmF1bHRBdHRyaWJ1dGVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2NyZWF0ZUVsZW1lbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vc2hhcmVkL3NyYy91dGlscy9oYXNBMTF5UHJvcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9zaGFyZWQvc3JjL3V0aWxzL21lcmdlQ2xhc3Nlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9zaGFyZWQvc3JjL3V0aWxzL3RvQ2FtZWxDYXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL3NoYXJlZC9zcmMvdXRpbHMvdG9QYXNjYWxDYXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL3JlcGxhY2VFbGVtZW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2EtYXJyb3ctZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hLWFycm93LXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2EtbGFyZ2Utc21hbGwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWNjZXNzaWJpbGl0eS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hY3Rpdml0eS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9haXItdmVudC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9haXJwbGF5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsYXJtLWNsb2NrLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsYXJtLWNsb2NrLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsYXJtLWNsb2NrLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGFybS1jbG9jay1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsYXJtLWNsb2NrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsYXJtLXNtb2tlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsYnVtLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLWNlbnRlci1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLWNlbnRlci12ZXJ0aWNhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi1lbmQtaG9yaXpvbnRhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi1ob3Jpem9udGFsLWRpc3RyaWJ1dGUtY2VudGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLWVuZC12ZXJ0aWNhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi1ob3Jpem9udGFsLWRpc3RyaWJ1dGUtZW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLWhvcml6b250YWwtZGlzdHJpYnV0ZS1zdGFydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi1ob3Jpem9udGFsLWp1c3RpZnktY2VudGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLWhvcml6b250YWwtanVzdGlmeS1lbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24taG9yaXpvbnRhbC1qdXN0aWZ5LXN0YXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLWhvcml6b250YWwtc3BhY2UtYXJvdW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLXN0YXJ0LWhvcml6b250YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24tc3RhcnQtdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24taG9yaXpvbnRhbC1zcGFjZS1iZXR3ZWVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLXZlcnRpY2FsLWRpc3RyaWJ1dGUtY2VudGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLXZlcnRpY2FsLWRpc3RyaWJ1dGUtZW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLXZlcnRpY2FsLWRpc3RyaWJ1dGUtc3RhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24tdmVydGljYWwtanVzdGlmeS1jZW50ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24tdmVydGljYWwtanVzdGlmeS1lbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24tdmVydGljYWwtanVzdGlmeS1zdGFydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi12ZXJ0aWNhbC1zcGFjZS1hcm91bmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24tdmVydGljYWwtc3BhY2UtYmV0d2Vlbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbWJ1bGFuY2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYW1wZXJzYW5kcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbXBlcnNhbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYW1waG9yYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbmNob3IubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYW5ncnkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYW5ub3llZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbnRlbm5hLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FudmlsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FwZXJ0dXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FwcC13aW5kb3ctbWFjLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FwcC13aW5kb3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJjaGl2ZS1yZXN0b3JlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FwcGxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FyY2hpdmUteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcm1jaGFpci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcmNoaXZlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWJpZy1kb3duLWRhc2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctYmlnLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctYmlnLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctYmlnLWxlZnQtZGFzaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1iaWctcmlnaHQtZGFzaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1iaWctcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctYmlnLXVwLWRhc2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctYmlnLXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWRvd24tMC0xLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWRvd24tMS0wLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWRvd24tZnJvbS1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWRvd24tYS16Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWRvd24tbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1kb3duLW5hcnJvdy13aWRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWRvd24tcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctZG93bi10by1kb3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctZG93bi11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1kb3duLXRvLWxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctZG93bi13aWRlLW5hcnJvdy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1kb3duLXotYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWxlZnQtZnJvbS1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWxlZnQtcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctbGVmdC10by1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXJpZ2h0LWZyb20tbGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXJpZ2h0LWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctcmlnaHQtdG8tbGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy11cC0xLTAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctdXAtMC0xLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLWEtei5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy11cC1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLWZyb20tZG90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLWZyb20tbGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy11cC1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLW5hcnJvdy13aWRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLXdpZGUtbmFycm93Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLXRvLWxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctdXAtei1hLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FzdGVyaXNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93cy11cC1mcm9tLWxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXN0cm9pZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hdC1zaWduLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2F0b20ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXVkaW8tbGluZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXVkaW8td2F2ZWZvcm0ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXdhcmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXhlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhYnkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXhpcy0zZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWNrcGFjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1hbGVydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1jZW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLWRvbGxhci1zaWduLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLWV1cm8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFkZ2UtaW5kaWFuLXJ1cGVlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLWluZm8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFkZ2UtamFwYW5lc2UteWVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLXBlcmNlbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFkZ2UtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1wb3VuZC1zdGVybGluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1xdWVzdGlvbi1tYXJrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLXN3aXNzLWZyYW5jLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLXJ1c3NpYW4tcnVibGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFkZ2UtdHVya2lzaC1saXJhLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFkZ2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFnZ2FnZS1jbGFpbS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFsbG9vbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYW5hbmEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFuZGFnZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYW5rbm90ZS1hcnJvdy11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYW5rbm90ZS1hcnJvdy1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jhbmtub3RlLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFua25vdGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFyY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYXJyZWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFzZWxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmF0aC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYXR0ZXJ5LWNoYXJnaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhdHRlcnktZnVsbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYXR0ZXJ5LWxvdy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYXR0ZXJ5LW1lZGl1bS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYXR0ZXJ5LXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmF0dGVyeS13YXJuaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhdHRlcnkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVhbi1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVha2VyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlZC1kb3VibGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVhbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWQtc2luZ2xlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlZWYtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWVmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlZXItb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVsbC1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWxsLWRvdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWxsLWVsZWN0cmljLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlbGwtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlbGwtbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVsbC1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlbGwtcmluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JldHdlZW4taG9yaXpvbnRhbC1lbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmV0d2Vlbi1ob3Jpem9udGFsLXN0YXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JldHdlZW4tdmVydGljYWwtZW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JldHdlZW4tdmVydGljYWwtc3RhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmljZXBzLWZsZXhlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iaWtlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JpbmFyeS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iaW5vY3VsYXJzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jpb2hhemFyZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iaXJkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JpcmRob3VzZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iaXRjb2luLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JsZW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JsaW5kcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ibG9ja3MubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmx1ZXRvb3RoLWNvbm5lY3RlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ibHVldG9vdGgtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JsdWV0b290aC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ibHVldG9vdGgtc2VhcmNoaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JvbGQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9tYi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib2x0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JvbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1hLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stYWxlcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1hdWRpby5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stY29weS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLWRhc2hlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1oZWFkcGhvbmVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2staGVhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1pbWFnZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLWtleS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLW1hcmtlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLWxvY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLW9wZW4tY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1vcGVuLXRleHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1zZWFyY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1vcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLXRleHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay11cC0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay10eXBlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stdXNlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rbWFyay1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rbWFyay1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rbWFyay1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9va21hcmstcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rbWFyay14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2ttYXJrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb20tYm94Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JvdC1tZXNzYWdlLXNxdWFyZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib3Qtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JvdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib3ctYXJyb3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm90dGxlLXdpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm94Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JveGVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JyYWNlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9icmFja2V0cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9icmFpbi1jaXJjdWl0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JyYWluLWNvZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9icmljay13YWxsLWZpcmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnJhaW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnJpY2std2FsbC1zaGllbGQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnJpY2std2FsbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9icmllZmNhc2UtYnVzaW5lc3MubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnJpZWZjYXNlLWNvbnZleW9yLWJlbHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnJpZWZjYXNlLW1lZGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnJpZWZjYXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JyaW5nLXRvLWZyb250Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JydXNoLWNsZWFuaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JydXNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2J1Zy1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnViYmxlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9idWctcGxheS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9idWcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnVpbGRpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnVpbGRpbmctMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9idXMtZnJvbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhYmxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhYmxlLWNhci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWtlLXNsaWNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nha2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItMS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxjdWxhdG9yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLWFycm93LWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItYXJyb3ctdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItY2hlY2stMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1jbG9jay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1jb2cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItZGF5cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1mb2xkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLW1pbnVzLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItaGVhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLXBsdXMtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1yYW5nZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLXNlYXJjaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1zeW5jLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLXgtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFycy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYW1lcmEtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbWVyYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYW5keS1jYW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbmR5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbmR5LW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYW5uYWJpcy1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FubmFiaXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FwdGlvbnMtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhcHRpb25zLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nhci1mcm9udC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FyLXRheGktZnJvbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FyYXZhbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXJkLXNpbS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXJyb3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FzZS1sb3dlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXNlLXNlbnNpdGl2ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXNlLXVwcGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nhc3NldHRlLXRhcGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FzdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXN0bGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2F0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NjdHYtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NjdHYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtYXJlYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1iYXItYmlnLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWJhci1kZWNyZWFzaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWJhci1pbmNyZWFzaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWJhci1zdGFja2VkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWJhci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1jYW5kbGVzdGljay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1jb2x1bW4tYmlnLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWNvbHVtbi1kZWNyZWFzaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWNvbHVtbi1pbmNyZWFzaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWNvbHVtbi1zdGFja2VkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWNvbHVtbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1nYW50dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LW5ldHdvcmsubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtbm8tYXhlcy1jb2x1bW4tZGVjcmVhc2luZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1uby1heGVzLWNvbHVtbi1pbmNyZWFzaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LW5vLWF4ZXMtY29sdW1uLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LW5vLWF4ZXMtY29tYmluZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtbm8tYXhlcy1nYW50dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1waWUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtc2NhdHRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1zcGxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlY2stY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlY2stbGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGVmLWhhdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGVycnkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlc3Mta2luZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGVzcy1iaXNob3AubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlc3Mta25pZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXNzLXBhd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlc3Mtcm9vay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9uLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlc3MtcXVlZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbi1maXJzdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9uLWxhc3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbi1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXZyb24tcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbi11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9ucy1kb3duLXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXZyb25zLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbnMtbGVmdC1yaWdodC1lbGxpcHNpcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9ucy1sZWZ0LXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXZyb25zLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbnMtcmlnaHQtbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9ucy1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9ucy11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9ucy11cC1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NodXJjaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaWdhcmV0dGUtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpZ2FyZXR0ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtYWxlcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWFycm93LWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWFycm93LWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWFycm93LW91dC1kb3duLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWFycm93LW91dC1kb3duLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1hcnJvdy1vdXQtdXAtbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtYXJyb3ctb3V0LXVwLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1hcnJvdy1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtYXJyb3ctdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWNoZWNrLWJpZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWNoZXZyb24tbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtY2hldnJvbi1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1jaGV2cm9uLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1jaGV2cm9uLXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1kYXNoZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWRpdmlkZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtZG9sbGFyLXNpZ24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWRvdC1kYXNoZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWVsbGlwc2lzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1kb3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWVxdWFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1mYWRpbmctYXJyb3ctdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWZhZGluZy1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1nYXVnZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtcGFya2luZy1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXBhcmtpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXBhdXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1wZXJjZW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1wbGF5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1waWxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1wb3VuZC1zdGVybGluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtcG93ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXF1ZXN0aW9uLW1hcmsubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXNsYXNoLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXNsYXNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1zbWFsbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtc3Rhci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtc3RvcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtdXNlci1yb3VuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtdXNlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY3VpdC1ib2FyZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXRydXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xhcHBlcmJvYXJkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NsaXBib2FyZC1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbGlwYm9hcmQtY2xvY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xpcGJvYXJkLWNvcHkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xpcGJvYXJkLWxpc3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xpcGJvYXJkLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NsaXBib2FyZC1wYXN0ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbGlwYm9hcmQtcGVuLWxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xpcGJvYXJkLXBlbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbGlwYm9hcmQtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbGlwYm9hcmQtdHlwZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbGlwYm9hcmQteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay0xLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NsaXBib2FyZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay0xMC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay0xMS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay0xMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb2NrLTMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stNC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay01Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb2NrLTYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stOC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay03Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb2NrLTkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stYWxlcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stYXJyb3ctZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay1hcnJvdy11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay1mYWRpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9zZWQtY2FwdGlvbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1hbGVydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1iYWNrdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtY29nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLWRvd25sb2FkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLWRyaXp6bGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtaGFpbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1mb2cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtbGlnaHRuaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLW1vb24tcmFpbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1tb29uLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLXJhaW4td2luZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtcmFpbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1zbm93Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLXN1bi1yYWluLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLXN5bmMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtc3VuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLXVwbG9hZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZHkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NsdWIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29kZS14bWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb2ZmZWUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvaW5zLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbHVtbnMtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb2x1bW5zLTMtY29nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbHVtbnMtMy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb2x1bW5zLTQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29tYmluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb21tYW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbXBhc3MubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29tcG9uZW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbXB1dGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbmNpZXJnZS1iZWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29uc3RydWN0aW9uLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbnRhY3Qtcm91bmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29udGFjdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb250YWluZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29udHJhc3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29va2llLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nvb2tpbmctcG90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvcHktY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29weS1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3B5LXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29weS1zbGFzaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3B5LXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29weS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3B5bGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3B5cmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29ybmVyLWRvd24tbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3JuZXItZG93bi1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3JuZXItbGVmdC1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nvcm5lci1sZWZ0LXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nvcm5lci1yaWdodC1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nvcm5lci1yaWdodC11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3JuZXItdXAtbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3JuZXItdXAtcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY3B1Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NyZWF0aXZlLWNvbW1vbnMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY3JlZGl0LWNhcmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY3JvaXNzYW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nyb3AubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY3Jvc3MubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY3Jvc3NoYWlyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nyb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2N1Ym9pZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jdXAtc29kYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jdXJyZW5jeS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jeWxpbmRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kYW0ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGF0YWJhc2UtYmFja3VwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RhdGFiYXNlLXphcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kYXRhYmFzZS1zZWFyY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGF0YWJhc2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGVjaW1hbHMtYXJyb3ctbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kZWNpbWFscy1hcnJvdy1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kZWxldGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGVzc2VydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWFtZXRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWFtb25kLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RpYW1vbmQtcGVyY2VudC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWFtb25kLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGlhbW9uZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWNlLTEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGljZS0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RpY2UtMy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWNlLTQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGljZS01Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RpY2UtNi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RpY2VzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Rpc2MtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaXNjLTMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGlzYy1hbGJ1bS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaXZpZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGlzYy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kbmEtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RuYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kb2NrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RvbGxhci1zaWduLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RvZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kb251dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kb29yLWNsb3NlZC1sb2NrZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZG9vci1jbG9zZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZG9vci1vcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RvdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kb3dubG9hZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kcmFmdGluZy1jb21wYXNzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RyaWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RyYW1hLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Ryb25lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Ryb3BsZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZHJvcGxldC1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZHJvcGxldHMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZHJ1bS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kcnVtc3RpY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZHVtYmJlbGwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZWFyLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9lYXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZWFydGgtbG9jay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9lYXJ0aC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9lY2xpcHNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VnZy1mcmllZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9lZ2cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZWdnLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9lbGxpcHNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VsbGlwc2lzLXZlcnRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VxdWFsLWFwcHJveGltYXRlbHkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZWxsaXBzaXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZXF1YWwtbm90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VxdWFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VyYXNlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ldGhlcm5ldC1wb3J0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2V1cm8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZXYtY2hhcmdlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9leHBhbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZXh0ZXJuYWwtbGluay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9leWUtY2xvc2VkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2V5ZS1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZXllLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZhY3RvcnkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmFuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zhc3QtZm9yd2FyZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mZWF0aGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZlcnJpcy13aGVlbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mZW5jZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWFyY2hpdmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1heGlzLTNkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtYmFkZ2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1ib3gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1icmFjZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1jaGFydC1jb2x1bW4taW5jcmVhc2luZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWJyYWNlcy1jb3JuZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1jaGFydC1jb2x1bW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1jaGFydC1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtY2hhcnQtcGllLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtY2hlY2stY29ybmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1jbG9jay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWNvZGUtY29ybmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWNvZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWRpZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1kaWdpdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1leGNsYW1hdGlvbi1wb2ludC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWhlYWRwaG9uZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWhlYXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtaW1hZ2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1pbnB1dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWtleS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWxvY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1taW51cy1jb3JuZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLW11c2ljLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtb3V0cHV0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtcGVuLWxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1wbGF5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtcGx1cy1jb3JuZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtcXVlc3Rpb24tbWFyay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXNjYW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1zZWFyY2gtY29ybmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtc2VhcmNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtc2lnbmFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtc2xpZGVycy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXNwcmVhZHNoZWV0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtc3ltbGluay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXN0YWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtdGVybWluYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS10ZXh0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtdHlwZS1jb3JuZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS10eXBlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS11c2VyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtdm9sdW1lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtdmlkZW8tY2FtZXJhLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUteC1jb3JuZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsbS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maW5nZXJwcmludC1wYXR0ZXJuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpcmUtZXh0aW5ndWlzaGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zpc2gtc3ltYm9sLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zpc2gtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zpc2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlzaGluZy1ob29rLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZsYWctb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zpc2hpbmctcm9kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZsYWctdHJpYW5nbGUtbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mbGFnLXRyaWFuZ2xlLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZsYWcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxhbWUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxhc2hsaWdodC1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxhbWUta2luZGxpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxhc2hsaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mbGFzay1jb25pY2FsLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mbGFzay1jb25pY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZsYXNrLXJvdW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZsaXAtaG9yaXpvbnRhbC0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZsaXAtdmVydGljYWwtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mbG93ZXItMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2N1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkLWhvcml6b250YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxvd2VyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1hcmNoaXZlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1ib29rbWFyay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkLXZlcnRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItY2xvc2VkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1jb2RlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1jb2cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLWNsb2NrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1kb3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLWdpdC0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1naXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLWhlYXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1rYW5iYW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLWtleS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItaW5wdXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLWxvY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLW9wZW4tZG90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1vcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItb3V0cHV0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1wZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLXJvb3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLXNlYXJjaC0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1zZWFyY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLXN5bWxpbmsubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLXRyZWUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLXN5bmMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXJzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zvb3RwcmludHMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9ya2xpZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9ybS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb3J3YXJkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZyYW1lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zyb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Z1ZWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZnVsbHNjcmVlbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mdW5uZWwtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mdW5uZWwteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nYWxsZXJ5LWhvcml6b250YWwtZW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Z1bm5lbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nYWxsZXJ5LWhvcml6b250YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2FsbGVyeS10aHVtYm5haWxzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dhbGxlcnktdmVydGljYWwtZW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dhbGxlcnktdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2FtZXBhZC0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dhbWVwYWQtZGlyZWN0aW9uYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2FtZXBhZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nYXVnZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nYXZlbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nZW0ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2hvc3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2VvcmdpYW4tbGFyaS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naXQtYnJhbmNoLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LWJyYW5jaC1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1icmFuY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LWNvbW1pdC1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1jb21taXQtdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LWNvbXBhcmUtYXJyb3dzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1jb21wYXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1mb3JrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1ncmFwaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naXQtbWVyZ2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LW1lcmdlLWNvbmZsaWN0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1wdWxsLXJlcXVlc3QtYXJyb3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LXB1bGwtcmVxdWVzdC1jbG9zZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LXB1bGwtcmVxdWVzdC1jcmVhdGUtYXJyb3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LXB1bGwtcmVxdWVzdC1jcmVhdGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LXB1bGwtcmVxdWVzdC1kcmFmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naXQtcHVsbC1yZXF1ZXN0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dsYXNzLXdhdGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dsYXNzZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2xvYmUtbG9jay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nbG9iZS14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dsb2JlLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nbG9iZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nb2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dwdS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ncmFkdWF0aW9uLWNhcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ncmFwZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ncmlkLTJ4Mi1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ncmlkLTJ4Mi1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dyaWQtMngyLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3JpZC0yeDIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3JpZC0zeDIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3JpZC0zeDMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3JpcC1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dyaXAtdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3JpcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ncm91cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ndWl0YXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFtLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhbWJ1cmdlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYW1tZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFuZC1jb2lucy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYW5kLWZpc3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFuZC1ncmFiLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhbmQtaGVhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFuZC1oZWxwaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhbmQtbWV0YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFuZC1wbGF0dGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFuZGJhZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYW5kc2hha2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFyZC1kcml2ZS1kb3dubG9hZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYXJkLWRyaXZlLXVwbG9hZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYXJkLWhhdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYXJkLWRyaXZlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhc2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGF0LWdsYXNzZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGF6ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZG1pLXBvcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhZGluZy0xLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlYWRpbmctMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFkaW5nLTMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhZGluZy00Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlYWRpbmctNS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFkaW5nLTYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhZGluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFkcGhvbmUtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlYWRzZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhZHBob25lcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFydC1jcmFjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFydC1oYW5kc2hha2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhcnQtbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhcnQtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlYXJ0LXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhcnQtcHVsc2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhcnQteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWF0ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVsaWNvcHRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZXhhZ29uLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hpZ2hsaWdodGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hpc3RvcnkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaG9wLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hvcC1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaG9zcGl0YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaG90ZWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaG91cmdsYXNzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hvdXNlLWhlYXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hvdXNlLXBsdWcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaG91c2Utd2lmaS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ob3VzZS1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hvdXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ljZS1jcmVhbS1ib3dsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ljZS1jcmVhbS1jb25lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2lkLWNhcmQtbGFueWFyZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pZC1jYXJkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ltYWdlLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaW1hZ2UtbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaW1hZ2Utb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ltYWdlLXBsYXkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaW1hZ2UtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pbWFnZS11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pbWFnZS11cHNjYWxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ltYWdlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ltYWdlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pbXBvcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaW5ib3gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaW5kaWFuLXJ1cGVlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2luZmluaXR5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2luZm8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaW5zcGVjdGlvbi1wYW5lbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pdGFsaWMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaXRlcmF0aW9uLWNjdy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pdGVyYXRpb24tY3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvamFwYW5lc2UteWVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2pveXN0aWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2thbmJhbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9rYXlhay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9rZXktc3F1YXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2tleS1yb3VuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9rZXkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMva2V5Ym9hcmQtbXVzaWMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMva2V5Ym9hcmQtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2tleWJvYXJkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xhbXAtY2VpbGluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYW1wLWRlc2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFtcC1mbG9vci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYW1wLXdhbGwtZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYW1wLXdhbGwtdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFtcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYW5kLXBsb3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFuZG1hcmsubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFuZ3VhZ2VzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xhcHRvcC1taW5pbWFsLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xhcHRvcC1taW5pbWFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xhcHRvcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYXNzby1zZWxlY3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGF1Z2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFzc28ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGF5ZXJzLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGF5ZXJzLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xheWVycy1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xheW91dC1kYXNoYm9hcmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGF5ZXJzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xheW91dC1ncmlkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xheW91dC1saXN0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xheW91dC1wYW5lbC1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xheW91dC10ZW1wbGF0ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYXlvdXQtcGFuZWwtdG9wLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xlYWYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGVhZnktZ3JlZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGVjdGVybi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sZW5zLWNvbmNhdmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGVucy1jb252ZXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlicmFyeS1iaWcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlicmFyeS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saWZlLWJ1b3kubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlnYXR1cmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlnaHRidWxiLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpZ2h0YnVsYi1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGluZS1kb3QtcmlnaHQtaG9yaXpvbnRhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saW5lLXN0eWxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpbmUtc3F1aWdnbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGluay0yLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saW5rLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGluay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtY2hlY2tzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtY2hldnJvbnMtZG93bi11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LWNoZXZyb25zLXVwLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC1jb2xsYXBzZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LWVuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LWZpbHRlci1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtZmlsdGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtaW5kZW50LWRlY3JlYXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtaW5kZW50LWluY3JlYXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC1tdXNpYy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LW9yZGVyZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtcmVzdGFydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LXN0YXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtdG9kby5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LXRyZWUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC12aWRlby5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sb2FkZXItY2lyY2xlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xvYWRlci1waW53aGVlbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sb2FkZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9jYXRlLWZpeGVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xvY2F0ZS1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9jYXRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xvY2sta2V5aG9sZS1vcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xvY2sta2V5aG9sZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sb2NrLW9wZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9jay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sb2ctaW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9nLW91dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sb2dzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xvbGxpcG9wLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2x1Z2dhZ2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFpbC1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYWduZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFpbC1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYWlsLW9wZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFpbC1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21haWwtcXVlc3Rpb24tbWFyay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYWlsLXNlYXJjaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYWlsLXdhcm5pbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFpbC14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21haWxib3gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFpbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYWlscy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAtbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi1jaGVjay1pbnNpZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAtcGluLWhvdXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1waW4tbWludXMtaW5zaWRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1waW4tbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi1wZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi1wbHVzLWluc2lkZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAtcGluLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi1zZWFyY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1waW4teC1pbnNpZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAtcGlubmVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXJzLXN0cm9rZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXJzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcnRpbmkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWF4aW1pemUtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXhpbWl6ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZWRhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZWdhcGhvbmUtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lZ2FwaG9uZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZWgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVtb3J5LXN0aWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lbnUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVyZ2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1jaXJjbGUtY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1jaXJjbGUtY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLWNpcmNsZS1kYXNoZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1jaXJjbGUtaGVhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1jaXJjbGUtbW9yZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLWNpcmNsZS1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1jaXJjbGUtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLWNpcmNsZS1xdWVzdGlvbi1tYXJrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2UtY2lyY2xlLXJlcGx5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2UtY2lyY2xlLXdhcm5pbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1jaXJjbGUteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLWNpcmNsZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS1jb2RlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLWRhc2hlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS1kaWZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLWRvdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS1oZWFydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS1sb2NrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLW1vcmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUtcXVvdGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUtcmVwbHkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUtc2hhcmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUtdGV4dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS13YXJuaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZXMtc3F1YXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21ldHJvbm9tZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9taWMtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pYy12b2NhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9taWMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWljcm9jaGlwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pY3Jvc2NvcGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWljcm93YXZlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pbGVzdG9uZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9taWxrLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9taWxrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pbmltaXplLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWluaW1pemUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWlycm9yLXJlY3Rhbmd1bGFyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pcnJvci1yb3VuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb25pdG9yLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3ItY2xvdWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9uaXRvci1jb2cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9uaXRvci1kb3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9uaXRvci1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9uaXRvci1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3ItcGF1c2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9uaXRvci1wbGF5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3Itc21hcnRwaG9uZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb25pdG9yLXNwZWFrZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9uaXRvci11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb25pdG9yLXN0b3AubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9uaXRvci14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3IubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9vbi1zdGFyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vb24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW90b3JiaWtlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdW50YWluLXNub3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW91bnRhaW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW91c2UtbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3VzZS1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW91c2UtcG9pbnRlci0yLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3VzZS1wb2ludGVyLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW91c2UtcG9pbnRlci1iYW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW91c2UtcG9pbnRlci1jbGljay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3VzZS1wb2ludGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdXNlLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtM2QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS1kaWFnb25hbC0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtZGlhZ29uYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS1kb3duLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS1kb3duLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3ZlLWhvcml6b250YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS11cC1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtdXAtcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3ZlLXZlcnRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbXVzaWMtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tdXNpYy00Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL211c2ljLTMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbXVzaWMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbmF2aWdhdGlvbi0yLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9uYXZpZ2F0aW9uLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbmF2aWdhdGlvbi1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbmF2aWdhdGlvbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9uZXR3b3JrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL25ld3NwYXBlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9uZmMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbm9uLWJpbmFyeS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ub3RlYm9vay1wZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbm90ZWJvb2stdGV4dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ub3RlYm9vay10YWJzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL25vdGVib29rLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL25vdGVwYWQtdGV4dC1kYXNoZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbm90ZXBhZC10ZXh0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL251dC1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbnV0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL29jdGFnb24tYWxlcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvb2N0YWdvbi1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9vY3RhZ29uLXBhdXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL29jdGFnb24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvb2N0YWdvbi14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL29tZWdhLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL29wdGlvbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9vcmJpdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9vcmlnYW1pLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhY2thZ2UtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYWNrYWdlLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhY2thZ2UtbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFja2FnZS1vcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhY2thZ2UtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYWNrYWdlLXNlYXJjaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYWNrYWdlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhY2thZ2UteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYWludC1idWNrZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFpbnQtcm9sbGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhaW50YnJ1c2gtdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFpbnRicnVzaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYWxldHRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLWJvdHRvbS1jbG9zZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5kYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1ib3R0b20tZGFzaGVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLWJvdHRvbS1vcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLWJvdHRvbS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1sZWZ0LWNsb3NlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLWxlZnQtZGFzaGVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLWxlZnQtb3Blbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1sZWZ0LXJpZ2h0LWRhc2hlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLXJpZ2h0LWNsb3NlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLXJpZ2h0LWRhc2hlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1yaWdodC1vcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLXRvcC1ib3R0b20tZGFzaGVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLXRvcC1jbG9zZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC10b3AtZGFzaGVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLXRvcC1vcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLXRvcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbHMtbGVmdC1ib3R0b20ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFuZWxzLXJpZ2h0LWJvdHRvbS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbHMtdG9wLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFwZXJjbGlwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhcmVudGhlc2VzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhcmtpbmctbWV0ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGF1c2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFydHktcG9wcGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Bhdy1wcmludC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYy1jYXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Blbi1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Blbi1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Blbi10b29sLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BlbmNpbC1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BlbmNpbC1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGVuY2lsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BlbmNpbC1ydWxlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wZW50YWdvbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wZXJjZW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BlcnNvbi1zdGFuZGluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waGlsaXBwaW5lLXBlc28ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGhvbmUtY2FsbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waG9uZS1mb3J3YXJkZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGhvbmUtaW5jb21pbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGhvbmUtbWlzc2VkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Bob25lLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waG9uZS1vdXRnb2luZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waG9uZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waWFuby5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waWNrYXhlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BpY3R1cmUtaW4tcGljdHVyZS0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BpY3R1cmUtaW4tcGljdHVyZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waWdneS1iYW5rLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BpbGNyb3ctbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waWxjcm93LXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BpbGNyb3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGlsbC1ib3R0bGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGluLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Bpbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waXBldHRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BpenphLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BsYW5lLWxhbmRpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGxhbmUtdGFrZW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wbGFuZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wbGF5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BsdWctMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wbHVnLXphcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wbHVnLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcG9ja2V0LWtuaWZlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BvZGNhc3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcG9pbnRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wb2ludGVyLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wb3Bjb3JuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BvcHNpY2xlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BvdW5kLXN0ZXJsaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Bvd2VyLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wb3dlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wcmVzZW50YXRpb24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcHJpbnRlci14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ByaW50ZXItY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcHJpbnRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wcm9wb3J0aW9ucy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wdXp6bGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcHJvamVjdG9yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3B5cmFtaWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcXVvdGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcXItY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yYWRhci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yYWJiaXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmFkaWF0aW9uLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhZGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmFkaW8tb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhZGlvLXJlY2VpdmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhZGlvLXRvd2VyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhZGlvLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhZGl1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yYWluYm93Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yYXRpby5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWNlaXB0LWNlbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjZWlwdC1ldXJvLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY2VpcHQtaW5kaWFuLXJ1cGVlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY2VpcHQtcG91bmQtc3RlcmxpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjZWlwdC1qYXBhbmVzZS15ZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjZWlwdC1ydXNzaWFuLXJ1YmxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY2VpcHQtdGV4dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWNlaXB0LXN3aXNzLWZyYW5jLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY2VpcHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjZWlwdC10dXJraXNoLWxpcmEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjdGFuZ2xlLWNpcmNsZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWN0YW5nbGUtZWxsaXBzaXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjdGFuZ2xlLWdvZ2dsZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjdGFuZ2xlLWhvcml6b250YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjdGFuZ2xlLXZlcnRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY3ljbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVkby0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlZG8tZG90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlZG8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVmcmVzaC1jY3ctZG90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlZnJlc2gtY2N3Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlZnJlc2gtY3ctb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlZnJlc2gtY3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVmcmlnZXJhdG9yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlZ2V4Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlbW92ZS1mb3JtYXR0aW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlcGVhdC0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlcGVhdC0xLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlcGVhdC1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVwZWF0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlcGxhY2UtYWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlcGxhY2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVwbHktYWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlcGx5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JpYmJvbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZXdpbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm9hZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb2NrZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm9ja2luZy1jaGFpci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb2xsZXItY29hc3Rlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb3NlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JvdGF0ZS0zZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb3RhdGUtY2N3LWtleS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb3RhdGUtY2N3LXNxdWFyZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb3RhdGUtY2N3Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JvdGF0ZS1jdy1zcXVhcmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm90YXRlLWN3Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JvdXRlLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb3V0ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb3V0ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm93cy0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Jvd3MtMy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb3dzLTQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcnNzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3J1bGVyLWRpbWVuc2lvbi1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3J1bGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3J1c3NpYW4tcnVibGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2FpbGJvYXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2FsYWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2FuZHdpY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2F0ZWxsaXRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NhdGVsbGl0ZS1kaXNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NhdWRpLXJpeWFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NhdmUtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NhdmUtYWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NhdmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2NhbGUtM2QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2NhbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nhbi1iYXJjb2RlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjYWxpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nhbi1leWUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nhbi1mYWNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjYW4taGVhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nhbi1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjYW4tcXItY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zY2FuLXNlYXJjaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zY2FuLXRleHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nhbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zY2hvb2wubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Npc3NvcnMtbGluZS1kYXNoZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Npc3NvcnMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nvb3Rlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zY3JlZW4tc2hhcmUtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjcmVlbi1zaGFyZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zY3JvbGwtdGV4dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zY3JvbGwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2VhcmNoLWFsZXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlYXJjaC1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZWFyY2gtY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZWFyY2gtc2xhc2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2VhcmNoLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2VhcmNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlY3Rpb24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2VuZC1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlbmQtdG8tYmFjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlcGFyYXRvci1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlcGFyYXRvci12ZXJ0aWNhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZXJ2ZXItY29nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlcnZlci1jcmFzaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZXJ2ZXItb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlcnZlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZXR0aW5ncy0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoYXBlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZXR0aW5ncy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGFyZS0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoYXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoZWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoZWV0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoZWx2aW5nLXVuaXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hpZWxkLWFsZXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1iYW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hpZWxkLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1jb2ctY29ybmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1lbGxpcHNpcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGllbGQtY29nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1oYWxmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGllbGQtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1xdWVzdGlvbi1tYXJrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC11c2VyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGlwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaXAtd2hlZWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hpcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hvcHBpbmctYmFnLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Nob3BwaW5nLWJhc2tldC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaG9wcGluZy1jYXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Nob3ZlbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaG93ZXItaGVhZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaHJlZGRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaHJpbmsubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hyaW1wLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NocnViLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NodWZmbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2lnbWEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2lnbmFsLWhpZ2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2lnbmFsLWxvdy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaWduYWwtbWVkaXVtLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NpZ25hbC16ZXJvLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NpZ25hbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaWduYXR1cmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2lnbnBvc3QtYmlnLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NpZ25wb3N0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NpcmVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NraXAtYmFjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9za2lwLWZvcndhcmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2t1bGwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2xhc2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2xpZGVycy1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NsaWNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NsaWRlcnMtdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc21hcnRwaG9uZS1jaGFyZ2luZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zbWFydHBob25lLW5mYy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zbWlsZS1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NtYXJ0cGhvbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc21pbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc25haWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc25vd2ZsYWtlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NvYXAtZGlzcGVuc2VyLWRyb3BsZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc29mYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zb2xhci1wYW5lbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zb3VwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NwYWNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NwYWRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NwYXJrbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3BhcmtsZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3BlYWtlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcGVlY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3BlbGwtY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3BlbGwtY2hlY2stMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcGxpbmUtcG9pbnRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcGxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3BsaXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3Bvb2wubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3BvcnQtc2hvZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcHJheS1jYW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3Byb3V0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Nwb3RsaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYWN0aXZpdHkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWFycm93LWRvd24tbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctZG93bi1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctb3V0LWRvd24tbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctb3V0LWRvd24tcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWFycm93LW91dC11cC1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1hcnJvdy1vdXQtdXAtcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWFycm93LXJpZ2h0LWVudGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1hcnJvdy1yaWdodC1leGl0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1hcnJvdy1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctdXAtbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctdXAtcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWFycm93LXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1hc3Rlcmlzay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYm90dG9tLWRhc2hlZC1zY2lzc29ycy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtY2VudGVybGluZS1kYXNoZWQtaG9yaXpvbnRhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtY2VudGVybGluZS1kYXNoZWQtdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWNoYXJ0LWdhbnR0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1jaGVjay1iaWcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1jaGV2cm9uLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWNoZXZyb24tbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtY2hldnJvbi1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtY2hldnJvbi11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtZGFzaGVkLWJvdHRvbS1jb2RlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1kYXNoZWQtYm90dG9tLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1kYXNoZWQta2FuYmFuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1kYXNoZWQtbW91c2UtcG9pbnRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtZGFzaGVkLXRleHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWRhc2hlZC10b3Atc29saWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWRhc2hlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtZG90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1kaXZpZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWVxdWFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1mdW5jdGlvbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtbGlicmFyeS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtbS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUta2FuYmFuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1tZW51Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtbW91c2UtcG9pbnRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtcGFya2luZy1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXBhcmtpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXBlbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtcGVyY2VudC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtcGF1c2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXBpLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1waWxjcm93Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1wbGF5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1wb3dlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtcmFkaWNhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtcm91bmQtY29ybmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1zaWdtYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtc2Npc3NvcnMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXNsYXNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1zcGxpdC1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1zcGxpdC12ZXJ0aWNhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtc3F1YXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1zdGFjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtc3Rhci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtc3RvcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtdGVybWluYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXVzZXItcm91bmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXVzZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZXMtZXhjbHVkZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmVzLWludGVyc2VjdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmVzLXN1YnRyYWN0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZXMtdW5pdGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1aXJjbGUtZGFzaGVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWlyY2xlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWlycmVsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N0YW1wLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N0YXItaGFsZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdGFyLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdGFyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N0ZXAtYmFjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdGVwLWZvcndhcmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3RpY2tlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdGV0aG9zY29wZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdGlja3ktbm90ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdG9yZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdHJldGNoLWhvcml6b250YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3RvbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3RyZXRjaC12ZXJ0aWNhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdHJpa2V0aHJvdWdoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N1YnNjcmlwdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdW4tZGltLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N1bi1tZWRpdW0ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3VuLW1vb24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3VuLXNub3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3VuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N1bnJpc2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3Vuc2V0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N1cGVyc2NyaXB0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N3YXRjaC1ib29rLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N3aXNzLWZyYW5jLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N3aXRjaC1jYW1lcmEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3dvcmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3dvcmRzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N5cmluZ2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFibGUtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWJsZS1jZWxscy1tZXJnZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWJsZS1jZWxscy1zcGxpdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWJsZS1jb2x1bW5zLXNwbGl0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhYmxlLW9mLWNvbnRlbnRzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhYmxlLXByb3BlcnRpZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFibGUtcm93cy1zcGxpdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWJsZXQtc21hcnRwaG9uZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWJsZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWJsZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFibGV0cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFncy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWxseS0xLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhbGx5LTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFsbHktMy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWxseS00Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhbmdlbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFsbHktNS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YXJnZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGVsZXNjb3BlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RlbnQtdHJlZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Rlcm1pbmFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Rlc3QtdHViZS1kaWFnb25hbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXN0LXR1YmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGV4dC1hbGlnbi1jZW50ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGVzdC10dWJlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXh0LWFsaWduLWVuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXh0LWFsaWduLWp1c3RpZnkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGV4dC1hbGlnbi1zdGFydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXh0LWN1cnNvci1pbnB1dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXh0LWN1cnNvci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXh0LWluaXRpYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGV4dC1xdW90ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXh0LXNlYXJjaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXh0LXdyYXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGhlYXRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aGVybW9tZXRlci1zbm93Zmxha2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGhlcm1vbWV0ZXItc3VuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RoZXJtb21ldGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RodW1icy1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RodW1icy11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aWNrZXQtY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGlja2V0LW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RpY2tldC1wZXJjZW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RpY2tldC1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RpY2tldC1zbGFzaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aWNrZXQteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aWNrZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGlja2V0cy1wbGFuZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aWNrZXRzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RpbWVsaW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RpbWVyLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aW1lci1yZXNldC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aW1lci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90b2lsZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdG9nZ2xlLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdG9nZ2xlLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Rvb2wtY2FzZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90b29sYm94Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RvcnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RvdWNocGFkLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90b3JuYWRvLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RvdWNocGFkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Rvd2VsLXJhY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdG93ZXItY29udHJvbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90b3ktYnJpY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJhY3Rvci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmFmZmljLWNvbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJhaW4tZnJvbnQtdHVubmVsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyYWluLWZyb250Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyYWluLXRyYWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyYW0tZnJvbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJhbnNnZW5kZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJhc2gtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmFzaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmVlLWRlY2lkdW91cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmVlLXBhbG0ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJlZS1waW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyZWVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyZW5kaW5nLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJlbmRpbmctdXAtZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmVuZGluZy11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmlhbmdsZS1hbGVydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmlhbmdsZS1kYXNoZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJpYW5nbGUtcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJpYW5nbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJvcGh5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RydWNrLWVsZWN0cmljLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RydWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3R1cmtpc2gtbGlyYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90dXJudGFibGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHVydGxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3R2LW1pbmltYWwtcGxheS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90di1taW5pbWFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3R2Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3R5cGUtb3V0bGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90eXBlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VtYnJlbGxhLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91bWJyZWxsYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91bmRlcmxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdW5kby0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VuZG8tZG90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VuZG8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdW5mb2xkLWhvcml6b250YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdW5mb2xkLXZlcnRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VuaXZlcnNpdHkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdW5ncm91cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91bmxpbmstMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91bnBsdWcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdW5saW5rLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VwbG9hZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2IubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLWNvZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLWtleS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLWxvY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXBlbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1yb3VuZC1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXJvdW5kLWNvZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXJvdW5kLWtleS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXJvdW5kLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VzZXItcm91bmQtcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VzZXItcm91bmQtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXJvdW5kLXNlYXJjaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXJvdW5kLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1yb3VuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXNlYXJjaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXN0YXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VzZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlcnMtcm91bmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlcnMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXRlbnNpbHMtY3Jvc3NlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91dGVuc2lscy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92YW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXRpbGl0eS1wb2xlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZhcmlhYmxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZhdWx0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZlY3Rvci1zcXVhcmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdmVnYW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdmVuZXRpYW4tbWFzay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92ZW51cy1hbmQtbWFycy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92ZW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92aWJyYXRlLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92aWJyYXRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZpZGVvLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92aWRlby5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92aWRlb3RhcGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdmlldy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92b2xsZXliYWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZvaWNlbWFpbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92b2x1bWUtMS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92b2x1bWUtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92b2x1bWUtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZvbHVtZS14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZvbHVtZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92b3RlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dhbGxldC1jYXJkcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93YWxsZXQtbWluaW1hbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93YWxsZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2FsbHBhcGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dhbmQtc3BhcmtsZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2FuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93YXJlaG91c2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2F0Y2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2FzaGluZy1tYWNoaW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dhdmVzLWFycm93LWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2F2ZXMtYXJyb3ctdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2F2ZXMtaG9yaXpvbnRhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93YXZlcy1sYWRkZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2F2ZXMtdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2F5cG9pbnRzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dlYmNhbS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93ZWJob29rLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93ZWJob29rLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dlaWdodC10aWxkZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93ZWlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2hlYXQtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3doZWF0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dob2xlLXdvcmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2lmaS1jb2cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2lmaS1oaWdoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dpZmktbG93Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dpZmktb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dpZmktcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dpZmktc3luYy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93aWZpLXplcm8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2luZC1hcnJvdy1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dpZmkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2luZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93aW5lLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93b3JtLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dvcmtmbG93Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd3JlbmNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3gtbGluZS10b3AubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMveC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96YXAtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3phcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtYXF1YXJpdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9kaWFjLWFyaWVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3pvZGlhYy1jYW5jZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9kaWFjLWNhcHJpY29ybi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtZ2VtaW5pLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3pvZGlhYy1sZW8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9kaWFjLWxpYnJhLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3pvZGlhYy1vcGhpdWNodXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9kaWFjLXBpc2Nlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtc2NvcnBpby5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtc2FnaXR0YXJpdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9kaWFjLXRhdXJ1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtdmlyZ28ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9vbS1pbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b29tLW91dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29uc0FuZEFsaWFzZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vbHVjaWRlLm1qczoKICAoKioKICAgKiBAbGljZW5zZSBsdWNpZGUgdjEuMTQuMCAtIElTQwogICAqCiAgICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAgICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAgICopCgppYmFudG9vbHMvanNuZXh0L2liYW50b29scy5qczoKICAoKiEKICAgKiBAbGljZW5zZQogICAqIENvcHlyaWdodCBTYcWhYSBKb3ZhbmnEhwogICAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNb3ppbGxhIFB1YmxpYyBMaWNlbnNlLCBWZXJzaW9uIDIuMCBvciB0aGUgTUlUIGxpY2Vuc2UsCiAgICogYXQgeW91ciBvcHRpb24uIFRoaXMgZmlsZSBtYXkgbm90IGJlIGNvcGllZCwgbW9kaWZpZWQsIG9yIGRpc3RyaWJ1dGVkCiAgICogZXhjZXB0IGFjY29yZGluZyB0byB0aG9zZSB0ZXJtcy4KICAgKiBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiBTYcWhYSBKb3ZhbmnEhwogICAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQgb3IgTVBMLzIuMAogICAqKQogICgqKgogICAqIFZhbGlkYXRpb24sIGV4dHJhY3Rpb24gYW5kIGNyZWF0aW9uIG9mIElCQU4sIEJCQU4sIEJJQy9TV0lGVCBudW1iZXJzIHBsdXMgc29tZSBvdGhlciBoZWxwZnVsIHN0dWZmCiAgICogQHBhY2thZ2UgRG9jdW1lbnRhdGlvbgogICAqIEBhdXRob3IgU2HFoWEgSm92YW5pxIcKICAgKiBAbW9kdWxlIGliYW50b29scwogICAqIEB2ZXJzaW9uIDQuNS40CiAgICogQGxpY2Vuc2UgTUlUIG9yIE1QTC0yLjAKICAgKiBAcHJlZmVycmVkCiAgICopCiovCi8vIyBzb3VyY2VNYXBwaW5nVVJMPWJ1bmRsZS5qcy5tYXAK" }, { "path": "index.html", "contentBase64": "PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICA8aGVhZD4KICAgIDxtZXRhCiAgICAgIG5hbWU9InZpZXdwb3J0IgogICAgICBjb250ZW50PSJ1c2VyLXNjYWxhYmxlPTAsIGluaXRpYWwtc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xLCBtaW5pbXVtLXNjYWxlPTEsIHdpZHRoPWRldmljZS13aWR0aCwgaGVpZ2h0PWRldmljZS1oZWlnaHQiCiAgICAvPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+CiAgICA8bWV0YSBuYW1lPSJ0aGVtZS1jb2xvciIgY29udGVudD0iIzAwMDAwMCIgLz4KICAgIDx0aXRsZT5PbmVib3g8L3RpdGxlPgogICAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2Fzc2V0YnJva2VyLmxvc3NsZXNzLm9uZS8iIGNyb3Nzb3JpZ2luPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Fzc2V0YnJva2VyLmxvc3NsZXNzLm9uZS9mb250cy9mb250cy5jc3MiPgogICAgPHN0eWxlPgogICAgICBodG1sIHsKICAgICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsKICAgICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgIH0KICAgICAgYm9keSB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICAgICAgbWFyZ2luOiAwcHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPG5vc2NyaXB0PgogICAgICA8cCBzdHlsZT0iY29sb3I6ICNmZmY7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDogMTAwcHg7Ij4KICAgICAgICBKYXZhU2NyaXB0IGlzIHJlcXVpcmVkIHRvIHJ1biB0aGUgT25lYm94IGRhc2hib2FyZC4KICAgICAgPC9wPgogICAgPC9ub3NjcmlwdD4KICA8L2JvZHk+CiAgPHNjcmlwdCBkZWZlciB0eXBlPSJtb2R1bGUiIHNyYz0iL2J1bmRsZS5qcyI+PC9zY3JpcHQ+CjwvaHRtbD4K" } ];